Homepage Forums RetroPie Project New to RetroPie? Start Here! N64 Mario Kart, how's yours?

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #108779
    cyborguk
    Participant

    Hello,

    Has anyone got Mario Kart of the n64, running smoothly? If so can you share your settings?

    Also how do you change the shaders? I did read you need to set a hot key, but I’m not sure where or how I set this.

    Thanks in advance for your time.

    #108787
    dankcushions
    Participant

    runs pretty fine for me at 1080p – even 4 player! some slowdown on some stages (eg the desert one with the train), but it’s makes the sound stutter more than affect the gameplay, really.

    i use the mupen64plus emulator (NOT the retroarch version, which seems worse for me). the sound seems to have a slight amount of latency, but i’ve never managed to get to the bottom of that.

    i don’t use shaders since it’s running at a native 1080p – it looks really crisp.

    #108810
    cyborguk
    Participant

    What do you mean you don’t use the Retroarch one? I hit the X key on start and I have 4 emulators to choose from:

    Ir-Mupen64plus
    Mupen64plus-gles2n64
    Mupen64plus-glesrice
    Mupen64plusGLideN64

    Ir-Mupen64plus is the only one that plays sound, the other don’t but play smooth. At the start of Mario Kart the Nintendo logo comes up and spins with the sound of a car, but the sound is awful, hows yours?

    Retropi 3.2.1

    #108811
    dankcushions
    Participant

    Ir-Mupen64plus is the retroarch one. i’m pretty sure i use Mupen64plus-gles2n64 (gles2n64 is the graphics plugin). I don’t remember the sound being awful but i’ll try it tonight and post my config file :) i seem to remmeber it takes AGES to load, though.

    #108817
    cyborguk
    Participant

    Yeah no sound at all for some reason. Thanks by the way.

    #108888
    dankcushions
    Participant

    below is my mupen64plus.cfg. i’ve tried mario kart again and it’s fine

    # Mupen64Plus Configuration File
    # This file is automatically read and written by the Mupen64Plus Core library
    
    [Audio-OMX]
    
    # Mupen64Plus OMX Audio Plugin config parameter version number
    Version = 1
    # Frequency which is used if rom doesn't want to change it
    DEFAULT_FREQUENCY = 32000
    # Swaps left and right channels
    SWAP_CHANNELS = False
    # Audio output to go to (0) Analogue jack, (1) HDMI
    OUTPUT_PORT = 1
    # Audio Output Frequncy mode (when NATIVE_MODE=false): 0 = Rom Frequency, 1 ROM Frequency if supported (HDMI only), 2 = Standard frequency < Rom Frequency, 3 = Standard frequency > Rom Frequency, [N] Force output frequency
    DEFAULT_MODE = 0
    # Point OMX to the raw N64 audio data region instead of copying audio into buffer. Overrides SECONDARY_BUFFER_SIZE, DEFAULT_MODE and LATENCY
    NATIVE_MODE = False
    # Number of output samples per Audio callback. This is for hardware buffers.
    BUFFER_SIZE = 2048
    # Desired Latency in ms
    LATENCY = 300
    # Underrun Mode, 0 = Ignore, 1 = Report, 2 = repeat audio when latency < LATENCY/2
    UNDERRUN_MODE = 1
    
    [Core]
    
    # Mupen64Plus Core config parameter set version number.  Please don't change this version number.
    Version = 1.010000
    # Draw on-screen display if True, otherwise don't draw OSD
    OnScreenDisplay = False
    # Use Pure Interpreter if 0, Cached Interpreter if 1, or Dynamic Recompiler if 2 or more
    R4300Emulator = 2
    # Disable compiled jump commands in dynamic recompiler (should be set to False)
    NoCompiledJump = False
    # Disable 4MB expansion RAM pack. May be necessary for some games
    DisableExtraMem = False
    # Increment the save state slot after each save operation
    AutoStateSlotIncrement = False
    # Activate the R4300 debugger when ROM execution begins, if core was built with Debugger support
    EnableDebugger = False
    # Save state slot (0-9) to use when saving/loading the emulator state
    CurrentStateSlot = 0
    # Path to directory where screenshots are saved. If this is blank, the default value of ${UserConfigPath}/screenshot will be used
    ScreenshotPath = "/home/pi/RetroPie/roms/n64"
    # Path to directory where emulator save states (snapshots) are saved. If this is blank, the default value of ${UserConfigPath}/save will be used
    SaveStatePath = "/home/pi/RetroPie/roms/n64"
    # Path to directory where SRAM/EEPROM data (in-game saves) are stored. If this is blank, the default value of ${UserConfigPath}/save will be used
    SaveSRAMPath = "/home/pi/RetroPie/roms/n64"
    # Path to a directory to search when looking for shared data files
    SharedDataPath = "/opt/retropie/configs/n64"
    # Delay interrupt after DMA SI read/write
    DelaySI = True
    # Force number of cycles per emulated instruction
    CountPerOp = 0
    
    [CoreEvents]
    
    # Mupen64Plus CoreEvents config parameter set version number.  Please don't change this version number.
    Version = 1
    # SDL keysym for stopping the emulator
    Kbd Mapping Stop = 27
    # SDL keysym for switching between fullscreen/windowed modes
    Kbd Mapping Fullscreen = 0
    # SDL keysym for saving the emulator state
    Kbd Mapping Save State = 286
    # SDL keysym for loading the emulator state
    Kbd Mapping Load State = 288
    # SDL keysym for advancing the save state slot
    Kbd Mapping Increment Slot = 0
    # SDL keysym for resetting the emulator
    Kbd Mapping Reset = 290
    # SDL keysym for slowing down the emulator
    Kbd Mapping Speed Down = 291
    # SDL keysym for speeding up the emulator
    Kbd Mapping Speed Up = 292
    # SDL keysym for taking a screenshot
    Kbd Mapping Screenshot = 293
    # SDL keysym for pausing the emulator
    Kbd Mapping Pause = 112
    # SDL keysym for muting/unmuting the sound
    Kbd Mapping Mute = 109
    # SDL keysym for increasing the volume
    Kbd Mapping Increase Volume = 93
    # SDL keysym for decreasing the volume
    Kbd Mapping Decrease Volume = 91
    # SDL keysym for temporarily going really fast
    Kbd Mapping Fast Forward = 102
    # SDL keysym for advancing by one frame when paused
    Kbd Mapping Frame Advance = 47
    # SDL keysym for pressing the game shark button
    Kbd Mapping Gameshark = 103
    # Joystick event string for stopping the emulator
    Joy Mapping Stop = "J0B6"
    # Joystick event string for switching between fullscreen/windowed modes
    Joy Mapping Fullscreen = ""
    # Joystick event string for saving the emulator state
    Joy Mapping Save State = ""
    # Joystick event string for loading the emulator state
    Joy Mapping Load State = ""
    # Joystick event string for advancing the save state slot
    Joy Mapping Increment Slot = ""
    # Joystick event string for taking a screenshot
    Joy Mapping Screenshot = ""
    # Joystick event string for pausing the emulator
    Joy Mapping Pause = ""
    # Joystick event string for muting/unmuting the sound
    Joy Mapping Mute = ""
    # Joystick event string for increasing the volume
    Joy Mapping Increase Volume = ""
    # Joystick event string for decreasing the volume
    Joy Mapping Decrease Volume = ""
    # Joystick event string for fast-forward
    Joy Mapping Fast Forward = ""
    # Joystick event string for pressing the game shark button
    Joy Mapping Gameshark = ""
    
    [Input-SDL-Control1]
    
    # Mupen64Plus SDL Input Plugin config parameter version number.  Please don't change this version number.
    version = 2
    # Controller configuration mode: 0=Fully Manual, 1=Auto with named SDL Device, 2=Fully automatic
    mode = 2
    # Specifies which joystick is bound to this controller: -1=No joystick, 0 or more= SDL Joystick number
    device = 0
    # SDL joystick name (or Keyboard)
    name = "USB,2-axis 8-button gamepad  "
    # Specifies whether this controller is 'plugged in' to the simulated N64
    plugged = True
    # Specifies which type of expansion pak is in the controller: 1=None, 2=Mem pak, 5=Rumble pak
    plugin = 2
    # If True, then mouse buttons may be used with this controller
    mouse = False
    # Scaling factor for mouse movements.  For X, Y axes.
    MouseSensitivity = "2.00,2.00"
    # The minimum absolute value of the SDL analog joystick axis to move the N64 controller axis value from 0.  For X, Y axes.
    AnalogDeadzone = "4096,4096"
    # An absolute value of the SDL joystick axis >= AnalogPeak will saturate the N64 controller axis value (at 80).  For X, Y axes. For each axis, this must be greater than the corresponding AnalogDeadzone value
    AnalogPeak = "32768,32768"
    # Digital button configuration mappings
    DPad R = "axis(0+)"
    DPad L = "axis(0-)"
    DPad D = "axis(1+)"
    DPad U = "axis(1-)"
    Start = "button(7)"
    Z Trig = "button(4)"
    B Button = "button(1)"
    A Button = "button(0)"
    C Button R = "button(2)"
    C Button L = "button(99)"
    C Button D = "button(3)"
    C Button U = "button(99)"
    R Trig = "button(5)"
    L Trig = "button(99)"
    Mempak switch = "key(109)"
    Rumblepak switch = "key(114)"
    # Analog axis configuration mappings
    X Axis = "axis(0-,0+)"
    Y Axis = "axis(1-,1+)"
    
    [Input-SDL-Control2]
    
    # Mupen64Plus SDL Input Plugin config parameter version number.  Please don't change this version number.
    version = 2
    # Controller configuration mode: 0=Fully Manual, 1=Auto with named SDL Device, 2=Fully automatic
    mode = 2
    # Specifies which joystick is bound to this controller: -1=No joystick, 0 or more= SDL Joystick number
    device = 1
    # SDL joystick name (or Keyboard)
    name = "USB,2-axis 8-button gamepad  "
    # Specifies whether this controller is 'plugged in' to the simulated N64
    plugged = True
    # Specifies which type of expansion pak is in the controller: 1=None, 2=Mem pak, 5=Rumble pak
    plugin = 2
    # If True, then mouse buttons may be used with this controller
    mouse = False
    # Scaling factor for mouse movements.  For X, Y axes.
    MouseSensitivity = "2.00,2.00"
    # The minimum absolute value of the SDL analog joystick axis to move the N64 controller axis value from 0.  For X, Y axes.
    AnalogDeadzone = "4096,4096"
    # An absolute value of the SDL joystick axis >= AnalogPeak will saturate the N64 controller axis value (at 80).  For X, Y axes. For each axis, this must be greater than the corresponding AnalogDeadzone value
    AnalogPeak = "32768,32768"
    # Digital button configuration mappings
    DPad R = "axis(0+)"
    DPad L = "axis(0-)"
    DPad D = "axis(1+)"
    DPad U = "axis(1-)"
    Start = "button(7)"
    Z Trig = "button(4)"
    B Button = "button(1)"
    A Button = "button(0)"
    C Button R = "button(2)"
    C Button L = "button(99)"
    C Button D = "button(3)"
    C Button U = "button(99)"
    R Trig = "button(5)"
    L Trig = "button(99)"
    Mempak switch = "key(109)"
    Rumblepak switch = "key(114)"
    # Analog axis configuration mappings
    X Axis = "axis(0-,0+)"
    Y Axis = "axis(1-,1+)"
    
    [Input-SDL-Control3]
    
    # Mupen64Plus SDL Input Plugin config parameter version number.  Please don't change this version number.
    version = 2
    # Controller configuration mode: 0=Fully Manual, 1=Auto with named SDL Device, 2=Fully automatic
    mode = 2
    # Specifies which joystick is bound to this controller: -1=No joystick, 0 or more= SDL Joystick number
    device = -1
    # SDL joystick name (or Keyboard)
    name = ""
    # Specifies whether this controller is 'plugged in' to the simulated N64
    plugged = True
    # Specifies which type of expansion pak is in the controller: 1=None, 2=Mem pak, 5=Rumble pak
    plugin = 2
    # If True, then mouse buttons may be used with this controller
    mouse = False
    # Scaling factor for mouse movements.  For X, Y axes.
    MouseSensitivity = "2.00,2.00"
    # The minimum absolute value of the SDL analog joystick axis to move the N64 controller axis value from 0.  For X, Y axes.
    AnalogDeadzone = "4096,4096"
    # An absolute value of the SDL joystick axis >= AnalogPeak will saturate the N64 controller axis value (at 80).  For X, Y axes. For each axis, this must be greater than the corresponding AnalogDeadzone value
    AnalogPeak = "32768,32768"
    # Digital button configuration mappings
    DPad R = "axis(0+)"
    DPad L = "axis(0-)"
    DPad D = "axis(1+)"
    DPad U = "axis(1-)"
    Start = "button(7)"
    Z Trig = "button(4)"
    B Button = "button(1)"
    A Button = "button(0)"
    C Button R = "button(2)"
    C Button L = "button(99)"
    C Button D = "button(3)"
    C Button U = "button(99)"
    R Trig = "button(5)"
    L Trig = "button(99)"
    Mempak switch = "key(109)"
    Rumblepak switch = "key(114)"
    # Analog axis configuration mappings
    X Axis = "axis(0-,0+)"
    Y Axis = "axis(1-,1+)"
    
    [Input-SDL-Control4]
    
    # Mupen64Plus SDL Input Plugin config parameter version number.  Please don't change this version number.
    version = 2
    # Controller configuration mode: 0=Fully Manual, 1=Auto with named SDL Device, 2=Fully automatic
    mode = 2
    # Specifies which joystick is bound to this controller: -1=No joystick, 0 or more= SDL Joystick number
    device = -1
    # SDL joystick name (or Keyboard)
    name = ""
    # Specifies whether this controller is 'plugged in' to the simulated N64
    plugged = True
    # Specifies which type of expansion pak is in the controller: 1=None, 2=Mem pak, 5=Rumble pak
    plugin = 2
    # If True, then mouse buttons may be used with this controller
    mouse = False
    # Scaling factor for mouse movements.  For X, Y axes.
    MouseSensitivity = "2.00,2.00"
    # The minimum absolute value of the SDL analog joystick axis to move the N64 controller axis value from 0.  For X, Y axes.
    AnalogDeadzone = "4096,4096"
    # An absolute value of the SDL joystick axis >= AnalogPeak will saturate the N64 controller axis value (at 80).  For X, Y axes. For each axis, this must be greater than the corresponding AnalogDeadzone value
    AnalogPeak = "32768,32768"
    # Digital button configuration mappings
    DPad R = "axis(0+)"
    DPad L = "axis(0-)"
    DPad D = "axis(1+)"
    DPad U = "axis(1-)"
    Start = "button(7)"
    Z Trig = "button(4)"
    B Button = "button(1)"
    A Button = "button(0)"
    C Button R = "button(2)"
    C Button L = "button(99)"
    C Button D = "button(3)"
    C Button U = "button(99)"
    R Trig = "button(5)"
    L Trig = "button(99)"
    Mempak switch = "key(109)"
    Rumblepak switch = "key(114)"
    # Analog axis configuration mappings
    X Axis = "axis(0-,0+)"
    Y Axis = "axis(1-,1+)"
    
    [UI-Console]
    
    # Mupen64Plus UI-Console config parameter set version number.  Please don't change this version number.
    Version = 1
    # Directory in which to search for plugins
    PluginDir = "./"
    # Filename of video plugin
    VideoPlugin = "mupen64plus-video-n64.so"
    # Filename of audio plugin
    AudioPlugin = "mupen64plus-audio-omx.so"
    # Filename of input plugin
    InputPlugin = "mupen64plus-input-sdl.so"
    # Filename of RSP plugin
    RspPlugin = "mupen64plus-rsp-hle.so"
    
    [Video-General]
    
    Fullscreen = True
    # If true, prevent frame tearing by waiting for vsync before swapping
    VerticalSync = True
    # Width of output window or fullscreen width
    ScreenWidth = 640
    # Height of output window or fullscreen height
    ScreenHeight = 480
    # Rotate screen contents: 0=0 degree, 1=90 degree, 2 = 180 degree, 3=270 degree
    Rotate = 0
    
    [Video-Glide64mk2]
    
    # Wrapper FBO
    wrpFBO = False
    # Enable full-scene anti-aliasing by setting this to a value greater than 1
    wrpAntiAliasing = 0
    # Card ID
    card_id = 0
    # If true, use polygon offset values specified below
    force_polygon_offset = False
    # Specifies a scale factor that is used to create a variable depth offset for each polygon
    polygon_offset_factor = 0
    # Is multiplied by an implementation-specific value to create a constant depth offset
    polygon_offset_units = 0
    # Vertical sync
    vsync = True
    # TODO:ssformat
    ssformat = False
    # Display performance stats (add together desired flags): 1=FPS counter, 2=VI/s counter, 4=% speed, 8=FPS transparent
    show_fps = 0
    # Clock enabled
    clock = False
    # Clock is 24-hour
    clock_24_hr = True
    # Wrapper resolution
    wrpResolution = 0
    # Wrapper VRAM
    wrpVRAM = 0
    # Wrapper Anisotropic Filtering
    wrpAnisotropic = True
    # Texture Enhancement: Smooth/Sharpen Filters
    ghq_fltr = 0
    # Texture Compression: 0 for S3TC, 1 for FXT1
    ghq_cmpr = 0
    # Texture Enhancement: More filters
    ghq_enht = 0
    # Hi-res texture pack format (0 for none, 1 for Rice)
    ghq_hirs = 0
    # Compress texture cache with S3TC or FXT1
    ghq_enht_cmpr = False
    # Tile textures (saves memory but could cause issues)
    ghq_enht_tile = 0
    # Force 16bpp textures (saves ram but lower quality)
    ghq_enht_f16bpp = False
    # Compress texture cache
    ghq_enht_gz = True
    # Don't enhance textures for backgrounds
    ghq_enht_nobg = False
    # Enable S3TC and FXT1 compression
    ghq_hirs_cmpr = False
    # Tile hi-res textures (saves memory but could cause issues)
    ghq_hirs_tile = False
    # Force 16bpp hi-res textures (saves ram but lower quality)
    ghq_hirs_f16bpp = False
    # Compress hi-res texture cache
    ghq_hirs_gz = True
    # Alternative CRC calculation -- emulates Rice bug
    ghq_hirs_altcrc = True
    # Save tex cache to disk
    ghq_cache_save = True
    # Texture Cache Size (MB)
    ghq_cache_size = 128
    # Use full alpha channel -- could cause issues for some tex packs
    ghq_hirs_let_texartists_fly = False
    # Dump textures
    ghq_hirs_dump = False
    # Alternate texture size method: -1=Game default, 0=disable. 1=enable
    alt_tex_size = -1
    # Use first SETTILESIZE only: -1=Game default, 0=disable. 1=enable
    use_sts1_only = -1
    # Use spheric mapping only: -1=Game default, 0=disable. 1=enable
    force_calc_sphere = -1
    # Force positive viewport: -1=Game default, 0=disable. 1=enable
    correct_viewport = -1
    # Force texrect size to integral value: -1=Game default, 0=disable. 1=enable
    increase_texrect_edge = -1
    # Reduce fillrect size by 1: -1=Game default, 0=disable. 1=enable
    decrease_fillrect_edge = -1
    # Enable perspective texture correction emulation: -1=Game default, 0=disable. 1=enable
    texture_correction = -1
    # Set special scale for PAL games: -1=Game default, 0=disable. 1=enable
    pal230 = -1
    # 3DFX Dithered alpha emulation mode: -1=Game default, >=0=dithered alpha emulation mode
    stipple_mode = -1
    # 3DFX Dithered alpha pattern: -1=Game default, >=0=pattern used for dithered alpha emulation
    stipple_pattern = -1
    # Check microcode each frame: -1=Game default, 0=disable. 1=enable
    force_microcheck = -1
    # Force 0xb5 command to be quad, not line 3D: -1=Game default, 0=disable. 1=enable
    force_quad3d = -1
    # Enable near z clipping: -1=Game default, 0=disable. 1=enable
    clip_zmin = -1
    # Enable far plane clipping: -1=Game default, 0=disable. 1=enable
    clip_zmax = -1
    # Use fast CRC algorithm: -1=Game default, 0=disable. 1=enable
    fast_crc = -1
    # Adjust screen aspect for wide screen mode: -1=Game default, 0=disable. 1=enable
    adjust_aspect = -1
    # Force strict check in Depth buffer test: -1=Game default, 0=disable. 1=enable
    zmode_compare_less = -1
    # Apply alpha dither regardless of alpha_dither_mode: -1=Game default, 0=disable. 1=enable
    old_style_adither = -1
    # Scale vertex z value before writing to depth buffer: -1=Game default, 0=disable. 1=enable
    n64_z_scale = -1
    # Fast texrect rendering with hwfbe: -1=Game default, 0=disable. 1=enable
    optimize_texrect = -1
    # Do not copy auxiliary frame buffers: -1=Game default, 0=disable. 1=enable
    ignore_aux_copy = -1
    # Clear auxiliary texture frame buffers: -1=Game default, 0=disable. 1=enable
    hires_buf_clear = -1
    # Read alpha from framebuffer: -1=Game default, 0=disable. 1=enable
    fb_read_alpha = -1
    # Handle unchanged fb: -1=Game default, 0=disable. 1=enable
    useless_is_useless = -1
    # Set frambuffer CRC mode: -1=Game default, 0=disable CRC, 1=fast CRC, 2=safe CRC
    fb_crc_mode = -1
    # Filtering mode: -1=Game default, 0=automatic, 1=force bilinear, 2=force point sampled
    filtering = -1
    # Fog: -1=Game default, 0=disable. 1=enable
    fog = -1
    # Buffer clear on every frame: -1=Game default, 0=disable. 1=enable
    buff_clear = -1
    # Buffer swapping method: -1=Game default, 0=swap buffers when vertical interrupt has occurred, 1=swap buffers when set of conditions is satisfied. Prevents flicker on some games, 2=mix of first two methods
    swapmode = -1
    # Aspect ratio: -1=Game default, 0=Force 4:3, 1=Force 16:9, 2=Stretch, 3=Original
    aspect = -1
    # LOD calculation: -1=Game default, 0=disable. 1=fast, 2=precise
    lodmode = -1
    # Smart framebuffer: -1=Game default, 0=disable. 1=enable
    fb_smart = -1
    # Hardware frame buffer emulation: -1=Game default, 0=disable. 1=enable
    fb_hires = -1
    # Read framebuffer every frame (may be slow use only for effects that need it e.g. Banjo Kazooie, DK64 transitions): -1=Game default, 0=disable. 1=enable
    fb_read_always = -1
    # Render N64 frame buffer as texture: -1=Game default, 0=disable, 1=mode1, 2=mode2
    read_back_to_screen = -1
    # Show images written directly by CPU: -1=Game default, 0=disable. 1=enable
    detect_cpu_write = -1
    # Get frame buffer info: -1=Game default, 0=disable. 1=enable
    fb_get_info = -1
    # Enable software depth render: -1=Game default, 0=disable. 1=enable
    fb_render = -1
    
    [Video-Rice]
    
    # Control when the screen will be updated (0=ROM default, 1=VI origin update, 2=VI origin change, 3=CI change, 4=first CI change, 5=first primitive draw, 6=before screen clear, 7=after screen drawn)
    ScreenUpdateSetting = 7
    # Frequency to write back the frame buffer (0=every frame, 1=every other frame, etc)
    FrameBufferWriteBackControl = 1
    # If this option is enabled, the plugin will skip every other frame
    SkipFrame = False
    # If this option is enabled, the plugin will only draw every other screen update
    SkipScreenUpdate = False
    # Force to use texture filtering or not (0=auto: n64 choose, 1=force no filtering, 2=force filtering)
    ForceTextureFilter = 2
    # Primary texture enhancement filter (0=None, 1=2X, 2=2XSAI, 3=HQ2X, 4=LQ2X, 5=HQ4X, 6=Sharpen, 7=Sharpen More, 8=External, 9=Mirrored)
    TextureEnhancement = 6
    # Secondary texture enhancement filter (0 = none, 1-4 = filtered)
    TextureEnhancementControl = 0
    #109927
    edak
    Participant

    Cyborguk, if you still have sound issues you might be using an analog headphone output instead of HDMI sound? If so then in the mupen64plus config file you need to change the output port to 0.the setting is near the top of the file.

    I have Mario kart running well on my arcade system, not 100% but very close. Here is a picture of my cab.

    #110001
    dankcushions
    Participant

    wow that arcade cabinet is so nice!! amazing job!

Viewing 8 posts - 1 through 8 (of 8 total)
  • The forum ‘New to RetroPie? Start Here!’ is closed to new topics and replies.