Recalbox Forum

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • recalbox.com
    • Gitlab repository
    • Documentation
    • Discord

    usb n64 controller setup

    GamePad/GPIO/USB encoder
    setup usb
    5
    12
    1962
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • c0l3
      c0l3 last edited by c0l3

      I have INNEXT n64 usb controllers. I configured them via the ui and got everything working except the c buttons.

      My question now is how to configure these? Searching online so far has given me several hours of trial and error configuring the controller via the muppen64plus.cfg or InputAutoCfg.ini without any progress.

      I have found several conflicting tutorials and forum post for old version of recalbox.

      What is the latest information for recalbox 7.1.1 regarding this topic?
      What exactly are the files muppen64plus.cfg, InputAutoCfg.ini, input.xml supposed to do which files do I really need to edit?

      I know the controllers input numbers.

      can somebody help me here?

      Zing sumat123juan 2 Replies Last reply Reply Quote 0
      • Zing
        Zing Global moderator Translator @c0l3 last edited by

        @c0l3 Maybe this help:
        https://forum.recalbox.com/topic/9016/a-lire-manettes-n64

        Se a minha resposta foi útil, por favor, dê um voto positivo, clicando na seta para cima logo abaixo da resposta, ao lado de "citar".
        If my answer was helpful, please give a positive feedback by clicking the up arrow below the answer, next to "quote".

        1 Reply Last reply Reply Quote 0
        • c0l3
          c0l3 last edited by

          yes I configured it like in this tutorial.
          When I'm starting the emulator I get an info that the controller is not configured. As if InputAutoCfg has no effect:
          PXL_20210122_085225644.MP.jpeg

          InputAutoCfg.ini

          [SWITCH CO.,LTD. Controller (Dinput)]
          plugged = True
          plugin = 2
          mouse = False
          AnalogDeadzone = 4096,4096
          AnalogPeak = 32768,32768
          DPad R = hat(0 Right)
          DPad L = hat(0 Left)
          DPad D = hat(0 Down)
          DPad U = hat(0 Up)
          Start = button(12)
          Z Trig = button(6)
          B Button = button(1)
          A Button = button(2)
          C Button R = button(8)
          C Button L = button(0)
          C Button D = button(3)
          C Button U = button(9)
          R Trig = button(5)
          L Trig = button(4)
          Mempak switch = key(44)
          Rumblepak switch = key(46)
          X Axis = axis(0-,0+)
          Y Axis = axis(1-,1+)
          

          muppen64plus.cfg

          # Mupen64Plus Configuration File
          # This file is automatically read and written by the Mupen64Plus Core library
          
          [64DD]
          
          # Filename of the 64DD IPL ROM
          IPL-ROM = "/recalbox/share/bios/64DD_IPL.bin"
          # Filename of the disk to load into Disk Drive
          Disk = ""
          
          
          [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
          # Point OMX to the raw N64 audio data region instead of copying audio int$
          NATIVE_MODE = False
          # Number of output samples per Audio callback. This is for hardware buffe$
          BUFFER_SIZE = 4096
          # Audio Output Frequncy mode (when NATIVE_MODE=false): 0 = Rom Frequency,$
          DEFAULT_MODE = 0
          # Desired Latency in ms
          LATENCY = 300
          # Underrun Mode, 0 = Ignore, 1 = Report, 2 = repeat audio when latency < $
          UNDERRUN_MODE = 0
          
          
          [Audio-SDL]
          
          # Mupen64Plus SDL Audio Plugin config parameter version number
          Version = 1
          # Frequency which is used if rom doesn't want to change it
          DEFAULT_FREQUENCY = 33600
          # Swaps left and right channels
          SWAP_CHANNELS = False
          # Size of primary buffer in output samples. This is where audio is loaded after it's extracted from n64's memory.
          PRIMARY_BUFFER_SIZE = 16384
          # Fullness level target for Primary audio buffer, in equivalent output samples
          PRIMARY_BUFFER_TARGET = 10240
          # Size of secondary buffer in output samples. This is SDL's hardware buffer.
          SECONDARY_BUFFER_SIZE = 2048
          # Audio resampling algorithm. src-sinc-best-quality, src-sinc-medium-quality, src-sinc-fastest, src-zero-order-hold, src-linear, speex-fixed-{10-0}, trivial
          RESAMPLE = "trivial"
          # Volume control type: 1 = SDL (only affects Mupen64Plus output)  2 = OSS mixer (adjusts master PC volume)
          VOLUME_CONTROL_TYPE = 1
          # Percentage change each time the volume is increased or decreased
          VOLUME_ADJUST = 5
          # Default volume when a game is started.  Only used if VOLUME_CONTROL_TYPE is 1
          VOLUME_DEFAULT = 80
          # Synchronize Video/Audio
          AUDIO_SYNC = False
          
          
          [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 = True
          # 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 deb&ast;&ast;&ast;&ast;r when ROM execution begins, if core was built with Deb&ast;&ast;&ast;&ast;r support
          EnableDeb&ast;&ast;&ast;&ast;r = 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 = "/recalbox/share/screenshots"
          # Path to directory where emulator save states (snapshots) are saved. If this is blank, the default value of ${UserConfigPath}/save will be used
          SaveStatePath = "/recalbox/share/saves/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 = "/recalbox/share/saves/n64"
          # Path to a directory to search when looking for shared data files
          SharedDataPath = "/recalbox/share/system/configs/mupen64/"
          # Delay interrupt after DMA SI read/write
          DelaySI = True
          # Force number of cycles per emulated instruction
          CountPerOp = 0
          # Randomize PI/SI Interrupt Timing
          RandomizeInterrupt = True
          # Duration of SI DMA (-1: use per game settings)
          SiDmaDuration = -1
          # Gameboy Camera Video Capture backend
          GbCameraVideoCaptureBackend1 = ""
          
          
          [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
          Joy Mapping Stop = "J0B5/B4"
          
          # 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 = "J1B0"
          # 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 = ""
          # Joystick event string for resetting the emulator
          Joy Mapping Reset = ""
          # Joystick event string for slowing down the emulator
          Joy Mapping Speed Down = ""
          # Joystick event string for speeding up the emulator
          Joy Mapping Speed Up = ""
          # Joystick event string for advancing by one frame when paused
          Joy Mapping Frame Advance = ""
          
          
          [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 = "PLAYSTATION(R)3 Controller (47:0D:91:86:A9:4A)"
          # 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 = "button(5)"
          DPad L = "button(7)"
          DPad D = "button(6)"
          DPad U = "button(4)"
          Start = "button(3)"
          Z Trig = "button(10)"
          B Button = "button(15)"
          A Button = "button(14)"
          C Button R = "axis(2+)"
          C Button L = "axis(2-)"
          C Button D = "axis(3+)"
          C Button U = "axis(3-)"
          R Trig = "button(11)"
          L Trig = "button(8)"
          Mempak switch = ""
          Rumblepak switch = ""
          # 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 = ""
          # Specifies whether this controller is 'plugged in' to the simulated N64
          plugged = False
          # Specifies which type of expansion pak is in the controller: 1=None, 2=Mem pak, 5=Rumble pak
          plugin = 1
          # 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 = ""
          DPad L = ""
          DPad D = ""
          DPad U = ""
          Start = ""
          Z Trig = ""
          B Button = ""
          A Button = ""
          C Button R = ""
          C Button L = ""
          C Button D = ""
          C Button U = ""
          R Trig = ""
          L Trig = ""
          Mempak switch = ""
          Rumblepak switch = ""
          # Analog axis configuration mappings
          X Axis = ""
          Y Axis = ""
          
          
          [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 = False
          # Specifies which type of expansion pak is in the controller: 1=None, 2=Mem pak, 5=Rumble pak
          plugin = 1
          # 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 = ""
          DPad L = ""
          DPad D = ""
          DPad U = ""
          Start = ""
          Z Trig = ""
          B Button = ""
          A Button = ""
          C Button R = ""
          C Button L = ""
          C Button D = ""
          C Button U = ""
          R Trig = ""
          L Trig = ""
          Mempak switch = ""
          Rumblepak switch = ""
          # Analog axis configuration mappings
          X Axis = ""
          Y Axis = ""
          
          
          [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 = False
          # Specifies which type of expansion pak is in the controller: 1=None, 2=Mem pak, 5=Rumble pak
          plugin = 1
          # 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 = ""
          DPad L = ""
          DPad D = ""
          DPad U = ""
          Start = ""
          Z Trig = ""
          B Button = ""
          A Button = ""
          C Button R = ""
          C Button L = ""
          C Button D = ""
          C Button U = ""
          R Trig = ""
          L Trig = ""
          Mempak switch = ""
          Rumblepak switch = ""
          # Analog axis configuration mappings
          X Axis = ""
          Y Axis = ""
          
          
          [Rsp-HLE]
          
          # Mupen64Plus RSP HLE Plugin config parameter version number
          Version = 1.000000
          # Path to a RSP plugin which will be used when encountering an unknown ucode.You can disable this by letting an empty string.
          RspFallback = ""
          # Send display lists to the graphics plugin
          DisplayListToGraphicsPlugin = True
          # Send audio lists to the audio plugin
          AudioListToAudioPlugin = False
          
          
          [Transferpak]
          
          # Filename of the GB ROM to load into transferpak 1
          GB-rom-1 = ""
          # Filename of the GB RAM to load into transferpak 1
          GB-ram-1 = ""
          # Filename of the GB ROM to load into transferpak 2
          GB-rom-2 = ""
          # Filename of the GB RAM to load into transferpak 2
          GB-ram-2 = ""
          # Filename of the GB ROM to load into transferpak 3
          GB-rom-3 = ""
          # Filename of the GB RAM to load into transferpak 3
          GB-ram-3 = ""
          # Filename of the GB ROM to load into transferpak 4
          GB-rom-4 = ""
          # Filename of the GB RAM to load into transferpak 4
          GB-ram-4 = ""
          
          
          [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 = "/usr/lib/mupen64plus/mupen64plus-video-n64.so"
          # Filename of audio plugin
          AudioPlugin = "mupen64plus-audio-sdl.so"
          # Filename of input plugin
          InputPlugin = "mupen64plus-input-sdl.so"
          # Filename of RSP plugin
          RspPlugin = "mupen64plus-rsp-hle.so"
          
          
          [Video-General]
          
          # Use fullscreen mode if True, or windowed mode if False
          Fullscreen = False
          # Width of output window or fullscreen width
          ScreenWidth = 640
          # Height of output window or fullscreen height
          ScreenHeight = 480
          # If true, use correct aspect ratio, if false, stretch to fullscreen
          AspectRatio = True
          # If true, activate the SDL_GL_SWAP_CONTROL attribute
          VerticalSync = False
          
          
          [Video-Glide64mk2]
          
          # 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 = 8
          # Clock enabled
          clock = False
          # Clock is 24-hour
          clock_24_hr = True
          # Wrapper resolution
          wrpResolution = 0
          # Wrapper VRAM
          wrpVRAM = 0
          # Wrapper FBO
          wrpFBO = True
          # 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-GLideN64]
          
          # Settings version. Don't touch it.
          configVersion = 16
          # Crop resulted image (0=disable, 1=auto crop, 2=user defined crop)
          CropMode = 1
          # Crop width pixels from left and right of resulted image (in native resolution)
          CropWidth = 0
          # Crop height pixels from top and bottom of resulted image (in native resolution)
          CropHeight = 0
          # Enable/Disable MultiSampling (0=off, 2,4,8,16=quality)
          MultiSampling = 0
          # Screen aspect ratio (0=stretch, 1=force 4:3, 2=force 16:9, 3=adjust)
          AspectRatio = 1
          # Swap frame buffers (0=On VI update call, 1=On VI origin change, 2=On buffer update)
          BufferSwapMode = 0
          # Frame buffer size is the factor of N64 native resolution.
          UseNativeResolutionFactor = 1
          # Bilinear filtering mode (0=N64 3point, 1=standard)
          bilinearMode = 1
          # Max level of Anisotropic Filtering, 0 for off
          MaxAnisotropy = False
          # Size of texture cache in megabytes. Good value is VRAM*3/4
          CacheSize = 100
          # Enable color noise emulation.
          EnableNoise = True
          # Enable LOD emulation.
          EnableLOD = True
          # Enable hardware per-pixel lighting.
          EnableHWLighting = False
          # Use persistent storage for compiled shaders.
          EnableShadersStorage = True
          # Make texrect coordinates continuous to avoid black lines between them. (0=Off, 1=Auto, 2=Force)
          CorrectTexrectCoords = 0
          # Render 2D texrects in native resolution to fix misalignment between parts of 2D image.
          EnableNativeResTexrects = False
          # Do not use shaders to emulate N64 blending modes. Works faster on slow GPU. Can cause glitches.
          EnableLegacyBlending = True
          # Enable frame and|or depth buffer emulation.
          EnableFBEmulation = False
          # Copy auxiliary buffers to RDRAM
          EnableCopyAuxiliaryToRDRAM = False
          # Enable N64 depth compare instead of OpenGL standard one. Experimental.
          EnableN64DepthCompare = False
          # Disable buffers read/write with FBInfo. Use for games, which do not work with FBInfo.
          DisableFBInfo = True
          # Read color buffer by 4kb chunks (strict follow to FBRead specification)
          FBInfoReadColorChunk = False
          # Read depth buffer by 4kb chunks (strict follow to FBRead specification)
          FBInfoReadDepthChunk = True
          # Enable color buffer copy to RDRAM (0=do not copy, 1=copy in sync mode, 2=copy in async mode)
          EnableCopyColorToRDRAM = 0
          # Enable depth buffer copy to RDRAM  (0=do not copy, 1=copy from video memory, 2=use software render)
          EnableCopyDepthToRDRAM = 2
          # Enable color buffer copy from RDRAM.
          EnableCopyColorFromRDRAM = False
          # Texture filter (0=none, 1=Smooth filtering 1, 2=Smooth filtering 2, 3=Smooth filtering 3, 4=Smooth filtering 4, 5=Sharp filtering 1, 6=Sharp filtering 2)
          txFilterMode = 0
          # Texture Enhancement (0=none, 1=store as is, 2=X2, 3=X2SAI, 4=HQ2X, 5=HQ2XS, 6=LQ2X, 7=LQ2XS, 8=HQ4X, 9=2xBRZ, 10=3xBRZ, 11=4xBRZ, 12=5xBRZ), 13=6xBRZ
          txEnhancementMode = 0
          # Deposterize texture before enhancement.
          txDeposterize = False
          # Don't filter background textures.
          txFilterIgnoreBG = False
          # Size of filtered textures cache in megabytes.
          txCacheSize = 100
          # Use high-resolution texture packs if available.
          txHiresEnable = False
          # Allow to use alpha channel of high-res texture fully.
          txHiresFullAlphaChannel = False
          # Use alternative method of paletted textures CRC calculation.
          txHresAltCRC = False
          # Enable dump of loaded N64 textures.
          txDump = False
          # Zip textures cache.
          txCacheCompression = True
          # Force use 16bit texture formats for HD textures.
          txForce16bpp = False
          # Save texture cache to hard disk.
          txSaveCache = True
          # Path to folder with hi-res texture packs.
          txPath = "/recalbox/share/system/configs/mupen64/hires_texture"
          # File name of True Type Font for text messages.
          fontName = "FreeSans.ttf"
          # Font size.
          fontSize = 18
          # Font color in RGB format.
          fontColor = "B5E61D"
          # Enable bloom filter
          EnableBloom = False
          # Brightness threshold level for bloom. Values [2, 6]
          bloomThresholdLevel = 4
          # Bloom blend mode (0=Strong, 1=Mild, 2=Light)
          bloomBlendMode = 0
          # Blur radius. Values [2, 10]
          blurAmount = 10
          # Blur strength. Values [10, 100]
          blurStrength = 20
          # Force gamma correction.
          ForceGammaCorrection = False
          # Gamma correction level.
          GammaCorrectionLevel = 2.000000
          # Show FPS counter.
          ShowFPS = False
          # Show VI/S counter.
          ShowVIS = False
          # Show percent counter.
          ShowPercent = False
          # Counters position (1=top left, 2=top center, 4=top right, 8=bottom left, 16=bottom center, 32=bottom right)
          CountersPos = 8
          
          
          [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
          # Mupen64Plus Rice Video Plugin config parameter version number
          Version = 1
          # Frame Buffer Emulation (0=ROM default, 1=disable)
          FrameBufferSetting = 0
          # Render-to-texture emulation (0=none, 1=ignore, 2=normal, 3=write back, 4=write back and reload)
          RenderToTexture = 0
          # Force to use normal alpha blender
          NormalAlphaBlender = False
          # Use a faster algorithm to speed up texture loading and CRC computation
          FastTextureLoading = False
          # Use different texture coordinate clamping code
          AccurateTextureMapping = True
          # Force emulated frame buffers to be in N64 native resolution
          InN64Resolution = False
          # Try to reduce Video RAM usage (should never be used)
          SaveVRAM = False
          # Enable this option to have better render-to-texture quality
          DoubleSizeForSmallTxtrBuf = False
          # Force to use normal color combiner
          DefaultCombinerDisable = False
          # Enable game-specific settings from INI file
          EnableHacks = True
          # If enabled, graphics will be drawn in WinFrame mode instead of solid and texture mode
          WinFrameMode = False
          # N64 Texture Memory Full Emulation (may fix some games, may break others)
          FullTMEMEmulation = False
          # Enable vertex clipper for fog operations
          OpenGLVertexClipper = False
          # Enable/Disable SSE optimizations for capable CPUs
          EnableSSE = True
          # If enabled, texture enhancement will be done only for TxtRect ucode
          TexRectOnly = False
          # If enabled, texture enhancement will be done only for textures width+height<=128
          SmallTextureOnly = False
          # Select hi-resolution textures based only on the CRC and ignore format+size information (Glide64 compatibility)
          LoadHiResCRCOnly = True
          # Enable hi-resolution texture file loading
          LoadHiResTextures = False
          # Enable texture dumping
          DumpTexturesToFiles = False
          # Display On-screen FPS
          ShowFPS = False
          # Use Mipmapping? 0=no, 1=nearest, 2=bilinear, 3=trilinear
          Mipmapping = 2
          # Enable, Disable or Force fog generation (0=Disable, 1=Enable n64 choose, 2=Force Fog)
          FogMethod = 1
          # Color bit depth to use for textures (0=default, 1=32 bits, 2=16 bits)
          TextureQuality = 0
          # Z-buffer depth (only 16 or 32)
          OpenGLDepthBufferSetting = 16
          # Enable/Disable MultiSampling (0=off, 2,4,8,16=quality)
          MultiSampling = 0
          # Color bit depth for rendering window (0=32 bits, 1=16 bits)
          ColorQuality = 0
          # OpenGL level to support (0=auto, 1=OGL_1.1, 2=OGL_1.4, 3=OGL_FRAGMENT_PROGRAM)
          OpenGLRenderSetting = 0
          # Enable/Disable Anisotropic Filtering for Mipmapping (0=no filtering, 2-16=quality). This is uneffective if Mipmapping is 0. If the given value is to high to be supported by your graphic card, the value will be the highest value your graphic card can support. Better result with Trilinear filtering
          AnisotropicFiltering = 0
          # If true, use polygon offset values specified below
          ForcePolygonOffset = False
          # Specifies a scale factor that is used to create a variable depth offset for each polygon
          PolygonOffsetFactor = 0
          # Is multiplied by an implementation-specific value to create a constant depth offset
          PolygonOffsetUnits = 0
          # Use GPU vertex shader
          EnableVertexShader = False
          # Widescreen hack
          WideScreenHack = False
          
          
          rollbrett 1 Reply Last reply Reply Quote 0
          • rollbrett
            rollbrett @c0l3 last edited by

            @c0l3 Hi, which Raspberry are you using? 4 or 3?

            SUPERPi CASE-J (new) RPi 3b+ Recalbox

            MEGAPi CASE RPi 3b Blast16

            NESPi 4 CASE RPi 4 Recalbox

            GPi CASE RPi Zero 2 W Recalbox

            My RetroArchivments

            1 Reply Last reply Reply Quote 0
            • c0l3
              c0l3 last edited by c0l3

              @rollbrett said in usb n64 controller setup:

              @c0l3 Hi, which Raspberry are you using? 4 or 3?

              I'm using 4. Does it make a difference?

              1 Reply Last reply Reply Quote 0
              • c0l3
                c0l3 last edited by c0l3

                currently I'm editing here:

                /recalbox/share/system/configs/mupen64
                

                is this the correct folder? I found some information using

                /usr/share/mupen64
                

                do I need to do something in? there is only a DEFAULT.cfg

                /recalbox/share/system/configs/retroarch/inputs
                
                # sdl2-jstest -l
                error: failed to read gamecontrollerdb.txt: Invalid RWops
                Found 2 joystick(s)
                
                Joystick Name:     'SWITCH CO.,LTD. Controller (Dinput)'
                Joystick Path:     '/dev/input/event0'
                Joystick GUID:     03000000632500007505000011010000
                Joystick Number:    0
                Number of Axes:     4
                Number of Buttons: 13
                Number of Hats:     1
                Number of B&ast;&ast;&ast;s:    0
                GameControllerConfig:
                  missing (see 'gamecontrollerdb.txt' or SDL_GAMECONTROLLERCONFIG)
                Axis code  0:    0
                Axis code  1:    1
                Axis code  2:    2
                Axis code  3:    5
                Button code  0:   304
                Button code  1:   305
                Button code  2:   306
                Button code  3:   307
                Button code  4:   308
                Button code  5:   309
                Button code  6:   310
                Button code  7:   311
                Button code  8:   312
                Button code  9:   313
                Button code 10:   314
                Button code 11:   315
                Button code 12:   316
                Hat code  0:   16
                
                Joystick Name:     'Sony Computer Entertainment Wireless Controller'
                Joystick Path:     '/dev/input/event3'
                Joystick GUID:     030000004c050000c405000011810000
                Joystick Number:    1
                Number of Axes:     6
                Number of Buttons: 13
                Number of Hats:     1
                Number of B&ast;&ast;&ast;s:    0
                GameControllerConfig:
                  Name:    'PS4 Controller'
                  Mapping: '030000004c050000c405000011810000,PS4 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2,'
                Axis code  0:    0
                Axis code  1:    1
                Axis code  2:    2
                Axis code  3:    3
                Axis code  4:    4
                Axis code  5:    5
                Button code  0:   304
                Button code  1:   305
                Button code  2:   307
                Button code  3:   308
                Button code  4:   310
                Button code  5:   311
                Button code  6:   312
                Button code  7:   313
                Button code  8:   314
                Button code  9:   315
                Button code 10:   316
                Button code 11:   317
                Button code 12:   318
                Hat code  0:   16
                
                Zing 1 Reply Last reply Reply Quote 0
                • Zing
                  Zing Global moderator Translator @c0l3 last edited by

                  @c0l3 Read this:
                  https://forum.recalbox.com/topic/21653/pi4-recalbox-7-x-mupen64plus-bug-enregistrement-du-mapping-dans-retroarch/65

                  Se a minha resposta foi útil, por favor, dê um voto positivo, clicando na seta para cima logo abaixo da resposta, ao lado de "citar".
                  If my answer was helpful, please give a positive feedback by clicking the up arrow below the answer, next to "quote".

                  1 Reply Last reply Reply Quote 0
                  • sumat123juan
                    sumat123juan @c0l3 last edited by

                    @c0l3 amigo, pudiste resolver? tengo el mismo problema con recalbox 6.1 necesito ayuda.

                    Zing 1 Reply Last reply Reply Quote 0
                    • Zing
                      Zing Global moderator Translator @sumat123juan last edited by

                      @sumat123juan

                      Please speak in English in the international part of the Forum.

                      recalbox 6.1

                      The forum does not support old versions of the system, upgrade to the latest version and follow the procedures mentioned above.

                      Por favor, hable en inglés en la parte internacional del Foro.

                      recalbox 6.1

                      El foro no admite versiones antiguas del sistema, actualice a la última versión y siga los procedimientos mencionados anteriormente.

                      Se a minha resposta foi útil, por favor, dê um voto positivo, clicando na seta para cima logo abaixo da resposta, ao lado de "citar".
                      If my answer was helpful, please give a positive feedback by clicking the up arrow below the answer, next to "quote".

                      1 Reply Last reply Reply Quote 0
                      • c0l3
                        c0l3 last edited by

                        @Zing with your suggenstion I got the controller to work by setting the n64.config="dummy" removing the input.xml and saving the custom controller config. Thank you.

                        But as result of this the normal n64 config provided by recalbox is not applied anymore. The most annoying result of this is that the bi linear filter is turned of by default and the n64 games look really ugly on modern tv. If I enable the filter via the retroarch menu it looks good, but I can not get this change persisted because I can not save the config because of the "dummy" location.

                        Is there any work around? Is it expected that this Sittuation will improve in future versions of recalbox?

                        1 Reply Last reply Reply Quote 0
                        • c0l3
                          c0l3 last edited by c0l3

                          I finally got it to work:

                          • removing the n64.config="dummy" from recalbox.conf (can be skipped when nothing was done before)
                          • readding input.xml (can be skipped when nothing was done before)
                          • configure n64 controller in recalbox (a button in menu is b button on controller, b button in menu is a button on controller, all other buttons as expected, skip hotkey)
                          • setting /recalbox/share/roms/n64/.retroarch.cfg to
                          input_autodetect_enable = true
                          input_menu_toggle_gamepad_combo = 7
                          
                          • enter game long hit start button (2 seconds) to enter retroarch quick menu
                          • hit b
                          • go to settings -> input -> Port 1 Controls
                          • configure controller
                          • hit save controller profile

                          this will save the controller profile for future starts.
                          exiting, saving etc. will work when long pressing start to enter retroarch menu.

                          I hopes this does help somebody with n64 usb controller, recalbox 7.1.1, rpi 4 raspberry 4

                          1 Reply Last reply Reply Quote 2
                          • btkieler
                            btkieler last edited by

                            Does this still work on the latest updates? I’m having a hard time right now with it, I’d love some assistance

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            Want to support us ?

                            116
                            Online

                            89.8k
                            Users

                            26.1k
                            Topics

                            181.0k
                            Posts

                            Copyright © 2021 recalbox.com