Recalbox Forum

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

    Solved Generic USB N64 controller config with mupen64plus

    Emulator Arcade/PC/Console
    generic usb config mupen64plus
    7
    10
    7551
    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.
    • mcdermd
      mcdermd last edited by

      I have been searching for the answer to this but I just can't seem to get my N64-style generic controllers.

      I first added the config to the /recalbox/share/system/config/mupen64/InputAutoCfg.ini . This of course resulted in the file being overwritten when the emulator was launched and the buttons were incorrect. Then I added n64.configfile=dummy to the /recalbox/share/system/recalbox.conf but that resulted in the controller not being seen at all. I can't simply make the file immutable since it's a fuse filesystem.

      Feeling rather stuck here ... any advice?

      Here are my two controllers:

      [Generic USB Joystick ]
      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(9)
      Z Trig = button(7)
      B Button = button(8)
      A Button = button(6)
      C Button R = button(1)
      C Button L = button(3)
      C Button D = button(2)
      C Button U = button(0)
      R Trig = button(5)
      L Trig = button(4)
      Mempak switch =
      Rumblepak switch =
      X Axis = axis(0-,0+)
      Y Axis = axis(1-,1+)

      [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(2)
      A Button = button(1)
      C Button R = button(8)
      C Button L = button(3)
      C Button D = button(0)
      C Button U = button(9)
      R Trig = button(5)
      L Trig = button(4)
      Mempak switch =
      Rumblepak switch =
      X Axis = axis(0-,0+)
      Y Axis = axis(1-,1+)

      Loysight35 1 Reply Last reply Reply Quote 0
      • acris
        acris last edited by

        Hello
        some bugs fix must be resolve in recalbox 7.0.1.

        available tonight 9.00 pm (France)

        Try update tonight and try again without n64configfile=dummy first.

        Sorry for my poor english.

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

          Hello

          Wait update 7.0.1 tonight,
          Make upgrade tonight and try again.
          If doesn't work.
          Delete this file :

          /recalbox/share/system/configs/mupen64/input.xml
          

          and reboot your recalbox, try again.

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

            With the n64.configfile=dummy method i can't use the libretro core's only the standanlone Mupen64plus.

            You have to edit the /recalbox/share/system/configs/mupen64/ mupen64plus.cfg file, and add in this file your controller config.

            After you have done this, your Controller should work fine.

            My file looks like this

            # Mupen64Plus Configuration File
            # This file is automatically read and written by the Mupen64Plus Core library
            
            [64DD]
            
            # Filename of the 64DD IPL ROM
            IPL-ROM = ""
            # 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
            # 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 = "J0B4/B9"
            # Joystick event string for switching between fullscreen/windowed modes
            Joy Mapping Fullscreen = ""
            # Joystick event string for saving the emulator state
            Joy Mapping Save State = "J0B4/B5"
            # Joystick event string for loading the emulator state
            Joy Mapping Load State = "J0B4/B7"
            # Joystick event string for advancing the save state slot
            Joy Mapping Increment Slot = "J0B4/H0V1"
            # 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 = "J0B4/H0V2"
            # Joystick event string for pressing the game shark button
            Joy Mapping Gameshark = ""
            # Joystick event string for resetting the emulator
            Joy Mapping Reset = "J0B4/B1"
            # 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 = 0
            # 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 = "DragonRise Inc.   Generic   USB  Joystick  "
            # 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 = "3.00,3.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 = "0,0"
            # 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 = "hat(0 Right)"
            DPad L = "hat(0 Left)"
            DPad D = "hat(0 Down)"
            DPad U = "hat(0 Up)"
            Start = "button(9)"
            Z Trig = "button(7)"
            B Button = "button(8)"
            A Button = "button(6)"
            C Button R = "button(1)"
            C Button L = "button(3)"
            C Button D = "button(2)"
            C Button U = "button(0)"
            R Trig = "button(5)"
            L Trig = "button(4)"
            Mempak switch = "button(10)"
            Rumblepak switch = "button(11)"
            # 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 = 0
            # 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 = "Generic   USB  Joystick  "
            # 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 = 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 = "128,128"
            # 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 = "hat(0 Right)"
            DPad L = "hat(0 Left)"
            DPad D = "hat(0 Down)"
            DPad U = "hat(0 Up)"
            Start = "button(9)"
            Z Trig = "button(7)"
            B Button = "button(8)"
            A Button = "button(6)"
            C Button R = "button(1)"
            C Button L = "button(3)"
            C Button D = "button(2)"
            C Button U = "button(0)"
            R Trig = "button(5)"
            L Trig = "button(4)"
            Mempak switch = "button(10)"
            Rumblepak switch = "button(11)"
            # 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 = ""hat(0 Right)""
            DPad L = ""hat(0 Left)""
            DPad D = ""hat(0 Down)""
            DPad U = ""hat(0 Up)""
            Start = ""button(9)""
            Z Trig = ""button(7)""
            B Button = ""button(8)""
            A Button = ""button(6)""
            C Button R = ""button(1)""
            C Button L = ""button(3)""
            C Button D = ""button(2)""
            C Button U = ""button(0)""
            R Trig = ""button(5)""
            L Trig = ""button(4)""
            Mempak switch = ""
            Rumblepak switch = ""
            # 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 = 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-gliden64.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
            
            
            

            In the lines between line 98 and 165, you can add hotkeys for saving, loading and exit.

            In line 175 you have to add the joystick number. in the controller menu in recalbox you can see which number your joystick have.
            In line 173 you have to add a 0

            I hope this helps.

            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
            • mcdermd
              mcdermd last edited by

              Thanks for all of your help. Unfortunately, I had all of that configured (controllers in the mupen64plus.cfg file with the mode and device number set, n64.configfile=dummy in recalbox.conf ) and the controllers are still not recognized within the mupen64plus emulation.

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

                I was able to get everything working with n64.configfile=dummy after the 7.0.1 update. Thank you for all of your suggestions!

                1 Reply Last reply Reply Quote 1
                • wastl11
                  wastl11 last edited by

                  @mcdermd
                  Hey guys, thanks for the wonderful software, which makes a lot of fun in the current situation. I bought one of those n64 controllers recently and have the same problem which is described above. So if I open the emulation the system pass back: SWITCH CO.,LTD. Controller (Dinput) not configured. I have no clue where I stuck.
                  Do you have any idea as you got it working a couple of days ago?

                  System:
                  RP4
                  RCB 701

                  What I did:
                  #1 I added "n64.configfile=dummy" to the end of recalbox.conf
                  #2 I added the correct controller configuratin to the mupen64plus.cfg

                  [SWITCH CO.,LTD. Controller (Dinput)]
                  version = 2
                  device = 0
                  mode = 0
                  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(2)"
                  A Button = "button(1)"
                  C Button R = "button(8)"
                  C Button L = "button(3)"
                  C Button D = "button(0)"
                  C Button U = "button(9)"
                  R Trig = "button(5)"
                  L Trig = "button(4)"
                  Mempak switch = ""
                  Rumblepak switch = ""
                  X Axis = "axis(0-,0+)"
                  Y Axis = "axis(1-,1+)"

                  Thanks,
                  wastl11

                  Labatyd 1 Reply Last reply Reply Quote 0
                  • Labatyd
                    Labatyd @wastl11 last edited by

                    @wastl11

                    I have the exact same setup and problem and feeling kinda stuck at this point. Most noteworthy I find that there is no InputAutoCfg.ini im my /share/system/configs/mupen64 which mcdermd appears to have also modified.

                    Does anyone have a tip what wastl11 and myself are doing wrong?

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

                      Same problem here. I also have SWITCH CO.,LTD. Controller (Dinput).
                      For me an InputAutoCfg.ini file was never create or overwritten after I created it myself.

                      1 Reply Last reply Reply Quote 0
                      • Loysight35
                        Loysight35 Banned @mcdermd last edited by

                        This post is deleted!
                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Want to support us ?

                        88
                        Online

                        98.7k
                        Users

                        28.1k
                        Topics

                        187.0k
                        Posts

                        Copyright © 2021 recalbox.com