| Both sides previous revision Previous revision Next revision | Previous revision |
| systems:n64 [2023/10/17 10:07] – [Table] mikhailzrick | systems:n64 [2025/10/27 20:25] (current) – wizzard |
|---|
| |
| ====== Nintendo 64 ====== | ====== Nintendo 64 ====== |
| |
| The Nintendo 64 is a 64-bit fifth-generation console released by Nintendo on June 23, 1996 in Japan; September 29, 1996 in America for $199.99 USD; March 1, 1997 for the rest of the world. One of the last major home consoles to use the cartridge format, unless you count the recent Nintendo Switch as a home console. Probably one of the most complicated pieces of hardware ever devised, utilizing a combination of 64-bit (hence its name) and 32-bit components. [[https://www.copetti.org/writings/consoles/nintendo-64/|Here's a fun article written by Rodrigo Copetti about it.]] | The Nintendo 64 is a 64-bit fifth-generation console released by Nintendo on June 23, 1996 in Japan; September 29, 1996 in America for $199.99 USD; March 1, 1997 for the rest of the world. One of the last major home consoles to use the cartridge format, unless you count the recent Nintendo Switch as a home console. Probably one of the most complicated pieces of hardware ever devised, utilizing a combination of 64-bit (hence its name) and 32-bit components. [[https://www.copetti.org/writings/consoles/nintendo-64/|Here's a fun article written by Rodrigo Copetti about it.]] |
| |
| |
| This system scrapes metadata for the "n64" group(s) and loads the ''n64'' set from the currently selected theme, if available. | This system scrapes metadata for the "n64" group(s) and loads the ''n64'' set from the currently selected theme, if available. |
| |
| </WRAP> | </WRAP> |
| |
| |
| ==== Quick reference ==== | ==== Quick reference ==== |
| | * **Accepted ROM formats:** ''.z64'' ''.n64'' ''.ndd'' ''.v64'' ''.zip'' ''.7z'' |
| * **Accepted ROM formats:** ''.z64'' ''.n64'' ''.v64'' ''.zip'' ''.7z'' | * **Folders:** ''/userdata/roms/n64'' |
| * **Folders:** ''/userdata/roms/n64'' ''/userdata/roms/n64dd'' | |
| |
| ^ Emulators ^ Accepted ROM formats ^ | ^ Emulators ^ Accepted ROM formats ^ |
| |
| ===== BIOS ===== | ===== BIOS ===== |
| |
| The N64 emulators don't need a BIOS to function. | The N64 emulators don't need a BIOS to function. |
| |
| However, if intending on playing [[#n64_disc_drive|N64DD]] games specifically, the following BIOS file is required: | |
| |
| ^ MD5 checksum ^ Share file path ^ Description ^ | |
| | FIXME | ''bios/Mupen64plus/IPL.n64'' | N64 Dynamic Disk Initial Program Loader | | |
| |
| ===== ROMs ===== | ===== ROMs ===== |
| |
| Place your Nintendo 64 and N64DD ROMs in ''/userdata/roms/n64/''. | Place your Nintendo 64 and N64DD ROMs in ''/userdata/roms/n64/''. |
| |
| |
| ===== Emulators ===== | ===== Emulators ===== |
| |
| ==== RetroArch ==== | ==== RetroArch ==== |
| |
| RetroArch has [[emulators:retroarch|its own page]]. | RetroArch has [[emulators:retroarch|its own page]]. |
| |
| === libretro: Mupen64Plus-Next === | === libretro: Mupen64Plus-Next === |
| |
| Mupen64Plus-Next is a N64 emulation library for the libretro API, based on Mupen64Plus. It is also the successor of the old Mupen64Plus libretro core. It's still experimental, but incorporates Retroarch's features, such as input remapping from its Quick Menu (''[HOTKEY]'' + {{:wiki:south.png?nolink&20|South button (B SNES)}}). | Mupen64Plus-Next is a N64 emulation library for the libretro API, based on Mupen64Plus. It is also the successor of the old Mupen64Plus libretro core. It's still experimental, but incorporates Retroarch's features, such as input remapping from its Quick Menu (''[HOTKEY]'' + {{:wiki:south.png?nolink&20|South button (B SNES)}}). |
| |
| |
| == libretro: Mupen64Plus-Next Configuration == | == libretro: Mupen64Plus-Next Configuration == |
| |
| Standardized features for this core: ''n64.autosave'', ''n64.cheevos'' | Standardized features for this core: ''n64.autosave'', ''n64.cheevos'' |
| |
| |
| === libretro: ParaLLel_N64 === | === libretro: ParaLLel_N64 === |
| |
| A low level emulator that incorporates the Angrylion RDP renderer and Vulkan APIs for hardware accelerated emulation. It is more accurate but lacks some enhancement options. | A low level emulator that incorporates the Angrylion RDP renderer and Vulkan APIs for hardware accelerated emulation. It is more accurate but lacks some enhancement options. |
| |
| == libretro: ParaLLel_N64 configuration == | == libretro: ParaLLel_N64 configuration == |
| |
| Standardized features for this core: ''n64.autosave'', ''n64.cheevos'' | Standardized features for this core: ''n64.autosave'', ''n64.cheevos'' |
| |
| |
| ==== Mupen64Plus ==== | ==== Mupen64Plus ==== |
| |
| A standalone N64 emulator. Can utilize multiple plugins for various aspects of its emulation. For Batocera's purposes, each "core" can also be a different video plugin of the same emulator. | A standalone N64 emulator. Can utilize multiple plugins for various aspects of its emulation. For Batocera's purposes, each "core" can also be a different video plugin of the same emulator. |
| |
| |
| === Mupen64Plus configuration === | === Mupen64Plus configuration === |
| |
| Standardized features available to all cores of this emulator: ''n64.videomode'', ''n64.videomode'', ''n64.bezel'', ''n64.bezel_stretch'', ''n64.hud'', ''n64.hud_corner'', ''n64.bezel.tattoo'', ''n64.bezel.tattoo_corner'', ''n64.bezel.tattoo_file'', ''n64.bezel.resize_tattoo'' | Standardized features available to all cores of this emulator: ''n64.videomode'', ''n64.videomode'', ''n64.bezel'', ''n64.bezel_stretch'', ''n64.hud'', ''n64.hud_corner'', ''n64.bezel.tattoo'', ''n64.bezel.tattoo_corner'', ''n64.bezel.tattoo_file'', ''n64.bezel.resize_tattoo'' |
| |
| ^ ES setting name ''batocera.conf_key'' ^ Description => ES option ''key_value'' ^ | ^ ES setting name ''batocera.conf_key'' ^ Description => ES option ''key_value'' ^ |
| ^ Settings that apply to most video plugins of this emulator (exceptions noted) || | ^ Settings that apply to most video plugins of this emulator (exceptions noted) || |
| | **GAME ASPECT RATIO ''n64.mupen64plus_ratio''** | \\ => 4:3 ''4/3'', 16:9 ''16/9''. | | | **GAME ASPECT RATIO ''n64.mupen64plus_ratio''** | \\ => 4:3 ''4/3'', 16:9 ''16/9''. | |
| | **FRAMESKIP (GL64MK2 ONLY) ''n64.mupen64plus_frameskip''** | Skip frames to improve performance (smoothness).\\ => Off ''0'', Autodetect ''automatic'', 1 ''1'', 2 ''2'', 3 ''3'', 4 ''4'', 5 ''5''. | | | **FRAMESKIP (GL64MK2 ONLY) ''n64.mupen64plus_frameskip''** | Skip frames to improve performance (smoothness).\\ => Off ''0'', Autodetect ''automatic'', 1 ''1'', 2 ''2'', 3 ''3'', 4 ''4'', 5 ''5''. | |
| | **AUDIO SYNC ''n64.mupen64plus_AudioSync''** | Enable second audio limiter. Improves audio quality at the cost of performance.\\ => Off ''False'', On ''True''. | | | **AUDIO SYNC ''n64.mupen64plus_AudioSync''** | Enable second audio limiter. Improves audio quality at the cost of performance.\\ => Off ''False'', On ''True''. | |
| | **AUDIO BUFFER (SAMPLES) ''n64.mupen64plus_AudioBuffer''** | Lower values reduce audio latency and improve performance, but can cause audio issues.\\ => Very High ''Very High'', High ''High'', Medium ''Medium'', Low ''Low''. | | | **AUDIO BUFFER (SAMPLES) ''n64.mupen64plus_AudioBuffer''** | Lower values reduce audio latency and improve performance, but can cause audio issues.\\ => Very High ''Very High'', High ''High'', Medium ''Medium'', Low ''Low''. | |
| | **TEXTURE MIP-MAPPING (BLUR) ''n64.mupen64plus_Mipmapping''** | Enhancement. Enables [[:anti-aliasing#mip-mapping|mip-mapping]] to smooth out textures on distant 3D objects based on distance and angle. Should be used in conjunction with ''n64.mupen64plus_Anisotropic''. Has a minimal performance cost. Refer to [[https://wiki.batocera.org/anti-aliasing#n64_3d_enhancement|this page]] for details. Generally advised to leave this on (some N64 games actually used mip-mapping for graphical effects eg. the Peach painting in Super Mario 64), but some users may prefer the 'hardness' of distant objects with it off, especially at increased rendering resolutions.\\ => Off ''0'', nearest ''1'', bilinear ''2'', trilinear ''3''. | | | **TEXTURE MIP-MAPPING (BLUR) ''n64.mupen64plus_Mipmapping''** | Enhancement. Enables [[:anti-aliasing#mip-mapping|mip-mapping]] to smooth out textures on distant 3D objects based on distance and angle. Should be used in conjunction with ''n64.mupen64plus_Anisotropic''. Has a minimal performance cost. Refer to [[https://wiki.batocera.org/anti-aliasing#n64_3d_enhancement|this page]] for details. Generally advised to leave this on (some N64 games actually used mip-mapping for graphical effects eg. the Peach painting in Super Mario 64), but some users may prefer the 'hardness' of distant objects with it off, especially at increased rendering resolutions.\\ => Off ''0'', nearest ''1'', bilinear ''2'', trilinear ''3''. | |
| | **ANISOTROPIC FILTERING ''n64.mupen64plus_Anisotropic''** | Enables [[:anti-aliasing#anisotropic_filtering|anisotropic filtering]] to enhance perspective textures. Dramatically improves the clarity of distant objects when mip-mapping is turned on. Has a small performance impact. Refer to [[https://wiki.batocera.org/anti-aliasing#n64_3d_enhancement|this page]] for details. Recommended to set it as high as you can go. If not using mip-mapping, it is recommended to leave this off as it can make UI elements unnecessarily blurry.\\ => Off ''0'', 2x ''2'', 4x ''4'', 8x ''8'', 16x ''16''. | | | **ANISOTROPIC FILTERING ''n64.mupen64plus_Anisotropic''** | Enables [[:anti-aliasing#anisotropic_filtering|anisotropic filtering]] to enhance perspective textures. Dramatically improves the clarity of distant objects when mip-mapping is turned on. Has a small performance impact. Refer to [[https://wiki.batocera.org/anti-aliasing#n64_3d_enhancement|this page]] for details. Recommended to set it as high as you can go. If not using mip-mapping, it is recommended to leave this off as it can make UI elements unnecessarily blurry.\\ => Off ''0'', 2x ''2'', 4x ''4'', 8x ''8'', 16x ''16''. | |
| | **ANTI-ALIASING (MSAA) ''n64.mupen64plus_AntiAliasing''** | Enhancement. Applies [[:anti-aliasing#multi-sample_anti-aliasing|MSAA]] to smooth out jagged edges on 3D object polygons. Most noticeable at lower resolutions. Does not affect textures. Has a significant performance impact. 4x for powerful enough hardware. Higher values give diminishing returns at an exponential performance cost. Should only be disabled if running at native resolution for a more authentic experience.\\ => Off ''0'', 2x ''2'', 4x ''4'', 8x ''8'', 16x ''16''. | | | **ANTI-ALIASING (MSAA) ''n64.mupen64plus_AntiAliasing''** | Enhancement. Applies [[:anti-aliasing#multi-sample_anti-aliasing|MSAA]] to smooth out jagged edges on 3D object polygons. Most noticeable at lower resolutions. Does not affect textures. Has a significant performance impact. 4x for powerful enough hardware. Higher values give diminishing returns at an exponential performance cost. Should only be disabled if running at native resolution for a more authentic experience.\\ => Off ''0'', 2x ''2'', 4x ''4'', 8x ''8'', 16x ''16''. | |
| | **TEXTURE UPSCALING (RICE ONLY) ''n64.mupen64plus_TextureEnhancement''** | Enhancement. Uses [[:anti-aliasing#upscaling|upscalers/resamplers]] on textures to improve their clarity. Improvements are subjective.\\ => Off ''0'', 2X ''1'', 2XSAI ''2'', HQ2X ''3'', LQ2X ''4'', HQ4X ''5'', Sharpen ''6'', Sharpen More ''7'', External ''8'', Mirrored ''9''. | | | **TEXTURE UPSCALING (RICE ONLY) ''n64.mupen64plus_TextureEnhancement''** | Enhancement. Uses [[:anti-aliasing#upscaling|upscalers/resamplers]] on textures to improve their clarity. Improvements are subjective.\\ => Off ''0'', 2X ''1'', 2XSAI ''2'', HQ2X ''3'', LQ2X ''4'', HQ4X ''5'', Sharpen ''6'', Sharpen More ''7'', External ''8'', Mirrored ''9''. | |
| | **LOAD CUSTOM TEXTURES ''n64.mupen64plus_LoadHiResTextures''** | Uses the [[#hi-res_texture_packs|hi-res texture pack]] for the game, if any. Only confirmed for the Rice and GLideN64 video plugins. No harm leaving on ''True'' if there aren't any files present anyway.\\ => Off ''False'', On ''True''. | | | **LOAD CUSTOM TEXTURES ''n64.mupen64plus_LoadHiResTextures''** | Uses the [[#hi-res_texture_packs|hi-res texture pack]] for the game, if any. Only confirmed for the Rice and GLideN64 video plugins. No harm leaving on ''True'' if there aren't any files present anyway.\\ => Off ''False'', On ''True''. | |
| | **DISABLE 4MB EXPANSION RAM PACK ''n64.mupen64plus_DisableExtraMem''** | Disables the expansion pack required for some games. Polarity for this setting is reversed for EmulationStation's user-facing setting. Emulation of this can cause issues in games that don't require it, so it is suggested to leave disabled unless needed.\\ => Off ''False'', On ''True''. | | | **DISABLE 4MB EXPANSION RAM PACK ''n64.mupen64plus_DisableExtraMem''** | Disables the expansion pack required for some games. Polarity for this setting is reversed for EmulationStation's user-facing setting. Emulation of this can cause issues in games that don't require it, so it is suggested to leave disabled unless needed.\\ => Off ''False'', On ''True''. | |
| | **READ FRAMEBUFFER EVERY FRAME (GLIDE64MK2) ''n64.mupen64plus_fb_read_always''** | Required for some effects in-game (Banjo Kazooie and DK64 transitions), can cause slowdown.\\ => Game default ''-1'', Disable ''0'', Enable ''1''. | | | **READ FRAMEBUFFER EVERY FRAME (GLIDE64MK2) ''n64.mupen64plus_fb_read_always''** | Required for some effects in-game (Banjo Kazooie and DK64 transitions), can cause slowdown.\\ => Game default ''-1'', Disable ''0'', Enable ''1''. | |
| | | **CONTROLLER TYPE 1 ''n64.mupen64-controller1''** | Useful for N64 style controllers. Limited hotkeys for controllers without dedicated hotkey.\\ => RetroPad (Default) ''retropad'', N64 ''n64'', N64 (Limited Hotkeys) ''n64limited''. | |
| | | **CONTROLLER TYPE 2 ''n64.mupen64-controller2''** | Useful for N64 style controllers.\\ => RetroPad (Default) ''retropad'', N64 ''n64''. | |
| | | **CONTROLLER TYPE 3 ''n64.mupen64-controller3''** | Useful for N64 style controllers.\\ => RetroPad (Default) ''retropad'', N64 ''n64''. | |
| | | **CONTROLLER TYPE 4 ''n64.mupen64-controller4''** | Useful for N64 style controllers.\\ => RetroPad (Default) ''retropad'', N64 ''n64''. | |
| | | **CONTROLLER SENSITIVITY 1 ''n64.mupen64-sensitivity1''** | Set the sensitivity of the joystick analog sticks.\\ => 50% ''50'', 60% ''60'', 70% ''70'', 80% ''80'', 90% ''90'', 100% (Default) ''100'', 110% ''110'', 120% ''120'', 130% ''130'', 140% ''140'', 150% ''150''. | |
| | | **CONTROLLER SENSITIVITY 2 ''n64.mupen64-sensitivity2''** | Set the sensitivity of the joystick analog sticks.\\ => 50% ''50'', 60% ''60'', 70% ''70'', 80% ''80'', 90% ''90'', 100% (Default) ''100'', 110% ''110'', 120% ''120'', 130% ''130'', 140% ''140'', 150% ''150''. | |
| | | **CONTROLLER SENSITIVITY 3 ''n64.mupen64-sensitivity3''** | Set the sensitivity of the joystick analog sticks.\\ => 50% ''50'', 60% ''60'', 70% ''70'', 80% ''80'', 90% ''90'', 100% (Default) ''100'', 110% ''110'', 120% ''120'', 130% ''130'', 140% ''140'', 150% ''150''. | |
| | | **CONTROLLER SENSITIVITY 4 ''n64.mupen64-sensitivity4''** | Set the sensitivity of the joystick analog sticks.\\ => 50% ''50'', 60% ''60'', 70% ''70'', 80% ''80'', 90% ''90'', 100% (Default) ''100'', 110% ''110'', 120% ''120'', 130% ''130'', 140% ''140'', 150% ''150''. | |
| | | **CONTROLLER DEADZONE 1 ''n64.mupen64-deadzone1''** | Set the deadzone of the joystick analog sticks.\\ => 0% ''0'', 5% (Default) ''5'', 10% ''10'', 15% ''15'', 20% ''20'', 25% ''25'', 30% ''30''. | |
| | | **CONTROLLER DEADZONE 2 ''n64.mupen64-deadzone2''** | Set the deadzone of the joystick analog sticks.\\ => 0% ''0'', 5% (Default) ''5'', 10% ''10'', 15% ''15'', 20% ''20'', 25% ''25'', 30% ''30''. | |
| | | **CONTROLLER DEADZONE 3 ''n64.mupen64-deadzone3''** | Set the deadzone of the joystick analog sticks.\\ => 0% ''0'', 5% (Default) ''5'', 10% ''10'', 15% ''15'', 20% ''20'', 25% ''25'', 30% ''30''. | |
| | | **CONTROLLER DEADZONE 4 ''n64.mupen64-deadzone4''** | Set the deadzone of the joystick analog sticks.\\ => 0% ''0'', 5% (Default) ''5'', 10% ''10'', 15% ''15'', 20% ''20'', 25% ''25'', 30% ''30''. | |
| |
| <WRAP center round tip> | <WRAP center round tip> |
| |
| ===== Hi-res texture packs ===== | ===== Hi-res texture packs ===== |
| |
| Hi-res texture packs replace the textures in a game with other (typically higher resolution) textures. Support for this has been baked into Mupen64 ever since textures could be extracted from the game itself and naturally Batocera supports their use. The "MUPEN64PLUS / GLIDE64MK2", "MUPEN64PLUS / RICE" and FIXME "LIBRETRO / MUPEN64PLUS-NEXT" emulators support this feature. | Hi-res texture packs replace the textures in a game with other (typically higher resolution) textures. Support for this has been baked into Mupen64 ever since textures could be extracted from the game itself and naturally Batocera supports their use. The "MUPEN64PLUS / GLIDE64MK2", "MUPEN64PLUS / RICE" and FIXME "LIBRETRO / MUPEN64PLUS-NEXT" emulators support this feature. |
| |
| |
| ===== N64 Disc Drive ===== | ===== N64 Disc Drive ===== |
| | N64 Disc Drive has its own page at [[systems:n64dd]] |
| <WRAP group> | |
| <WRAP twothirds column> | |
| {{ https://raw.githubusercontent.com/fabricecaruso/es-theme-carbon/master/art/logos/n64dd.svg?nolink&420 }} | |
| | |
| Better known as the N64DD, this was an expansion available for the original N64 that would allow for the loading from discs instead of cartridges. | |
| | |
| Largely a commercial failure, never left Japan. But the few titles that were developed and released for it were incredible. | |
| | |
| To replay these gems: | |
| - Place your N64DD cartridge ROMs in ''/userdata/roms/n64dd''. They should have the extension ''.z64''. | |
| - Place your N64DD disk ROMs in the same ''/userdata/roms/n64dd''. They should have the extension ''.z64.ndd''. | |
| - While hovering over the game in the gamelist, press ''[SELECT]'' and set the emulator to [[#libretro:_mupen64plus-next|libretro: Mupen64Plus-Next]]. | |
| | |
| Emulators/configuration are the same as the regular N64 emulators. | |
| </WRAP> | |
| | |
| <WRAP third column> | |
| {{ https://raw.githubusercontent.com/fabricecaruso/es-theme-carbon/master/art/consoles/n64dd.png?nolink&350|}} | |
| </WRAP> | |
| </WRAP> | |
| |
| ===== Controls ===== | ===== Controls ===== |
| | As of V38 many N64 style controllers are already mapped for you out of the box. If your controller is not refer to the information below to map inputs according to your controller type. |
| |
| Batocera requires a controller with a (real or not) right analogue stick if the C-buttons are needed. If configured via the UI in Batocera, they are automatically bound to the appropriate positive/negative values of the right stick axis. | For V37 and older if using a N64 style controller you'll have to manually map inputs in ES and then remap in Retroarch and save a core remap and/or manually edit the Mupen64Plus input.xml file. |
| | |
| <WRAP center round important> | |
| Batocera infers right-stick down and right-stick right as the opposite axis values to the ones you assign in the controller configuration screen. If you've assigned buttons to these controls instead, you'll only be able to use the buttons you have assigned (no C-down or C-left)! | |
| </WRAP> | |
| | |
| If using a controller that doesn't have a traditional right analogue stick (such as a USB N64 controller), you can work around this limitation by editing the ''/userdata/system/configs/emulationstation/es_input.cfg'' manually. Add the following lines to your ''es_input.cfg'' file to have Batocera recognize them: | |
| | |
| --> Manually configured controller configs# | |
| | |
| * [[https://retrofighters.com/our-collection/brawler64-usb/|RetroFighter's Brawler64]] | |
| <file xml es_input.cfg> | |
| <inputConfig type="joystick" deviceName="Brawler64 USB Gamepad" deviceGUID="030000000d0f0000c100000011010000"> | |
| <input name="a" type="button" id="10" value="1" code="314" /> | |
| <input name="b" type="button" id="2" value="1" code="306" /> | |
| <input name="down" type="hat" id="0" value="4" /> | |
| <input name="hotkey" type="button" id="8" value="1" code="312" /> | |
| <input name="joystick1left" type="axis" id="0" value="-1" code="0" /> | |
| <input name="joystick1up" type="axis" id="1" value="-1" code="1" /> | |
| <input name="joystick2down" type="button" id="3" value="1" code="307" /> | |
| <input name="joystick2left" type="button" id="0" value="1" code="304" /> | |
| <input name="l2" type="button" id="6" value="1" code="310" /> | |
| <input name="left" type="hat" id="0" value="8" /> | |
| <input name="pagedown" type="button" id="5" value="1" code="309" /> | |
| <input name="pageup" type="button" id="4" value="1" code="308" /> | |
| <input name="right" type="hat" id="0" value="2" /> | |
| <input name="select" type="button" id="8" value="1" code="312" /> | |
| <input name="start" type="button" id="9" value="1" code="313" /> | |
| <input name="up" type="hat" id="0" value="1" /> | |
| <input name="x" type="button" id="11" value="1" code="315" /> | |
| <input name="y" type="button" id="1" value="1" code="305" /> | |
| </inputConfig> | |
| </file> | |
| * [[http://retro-bit.com/tribute64|Retro-bit Tribute64 Controller - USB® Port]] (X-input mode) | |
| <file xml es_input.cfg> | |
| <inputConfig type="joystick" deviceName="Microsoft X-Box 360 pad" deviceGUID="030000005e0400008e02000072050000"> | |
| <input name="a" type="button" id="9" value="1" code="317" /> | |
| <input name="b" type="button" id="0" value="1" code="304" /> | |
| <input name="down" type="hat" id="0" value="4" /> | |
| <input name="hotkey" type="button" id="6" value="1" code="314" /> | |
| <input name="joystick1left" type="axis" id="0" value="-1" code="0" /> | |
| <input name="joystick1up" type="axis" id="1" value="-1" code="1" /> | |
| <input name="joystick2left" type="button" id="3" value="1" code="308" /> | |
| <input name="joystick2down" type="button" id="2" value="1" code="307" /> | |
| <input name="l2" type="axis" id="2" value="1" code="2" /> | |
| <input name="left" type="hat" id="0" value="8" /> | |
| <input name="pagedown" type="button" id="5" value="1" code="311" /> | |
| <input name="pageup" type="button" id="4" value="1" code="310" /> | |
| <input name="r2" type="axis" id="5" value="1" code="5" /> | |
| <input name="right" type="hat" id="0" value="2" /> | |
| <input name="select" type="button" id="6" value="1" code="314" /> | |
| <input name="start" type="button" id="7" value="1" code="315" /> | |
| <input name="up" type="hat" id="0" value="1" /> | |
| <input name="x" type="button" id="10" value="1" code="318" /> | |
| <input name="y" type="button" id="1" value="1" code="305" /> | |
| </inputConfig> | |
| </file> | |
| | |
| * The official Nintendo Switch's N64 USB controller. | |
| <file xml es_input.cfg> | |
| <inputConfig type="joystick" deviceName="N64 Controller" deviceGUID="050000007e0500001920000001000000"> | |
| <input name="a" type="button" id="1" value="1" code="305" /> | |
| <input name="b" type="button" id="0" value="1" code="304" /> | |
| <input name="down" type="hat" id="0" value="4" /> | |
| <input name="hotkey" type="button" id="10" value="1" code="314" /> | |
| <input name="joystick1left" type="axis" id="0" value="-1" code="0" /> | |
| <input name="joystick1up" type="axis" id="1" value="-1" code="1" /> | |
| <input name="l2" type="button" id="7" value="1" code="311" /> | |
| <input name="left" type="hat" id="0" value="8" /> | |
| <input name="pagedown" type="button" id="5" value="1" code="309" /> | |
| <input name="pageup" type="button" id="4" value="1" code="308" /> | |
| <input name="r2" type="button" id="8" value="1" code="312" /> | |
| <input name="right" type="hat" id="0" value="2" /> | |
| <input name="select" type="button" id="6" value="1" code="310" /> | |
| <input name="start" type="button" id="9" value="1" code="313" /> | |
| <input name="up" type="hat" id="0" value="1" /> | |
| <input name="x" type="button" id="2" value="1" code="306" /> | |
| <input name="y" type="button" id="3" value="1" code="307" /> | |
| </inputConfig> | |
| </file> | |
| |
| Then simply [[:remapping_controls_per_emulator#libretro_cores|remap the controls as necessary]] in RetroArch's Quick Menu: | [[:remapping_controls_per_emulator#libretro_cores|Remapping the controls as necessary]] in RetroArch's Quick Menu: |
| |
| {{:systems:batocera-n64.jpg|}} | {{ :systems:n64_controller_mapping_es.png?direct |}} |
| |
| <WRAP center round tip> | <WRAP center round tip> |
| Beware, if doing this manual remap Batocera will use C-right as the "Back" button. | If using V38 and using a N64 controller without a dedicated hotkey button, use "N64 (Limited Hotkeys)" as the controller type. This will prevent unintended hotkey activation. Otherwise use "N64" controller type for all N64 style controllers. \\ |
| | If using V37 or older it's recommended to either map L + Hotkey to "L" and then disable all hotkeys except "Exit", or simply do not map L and only use it for the Hotkey. (Few N64 games require the use of the "L" button). |
| </WRAP> | </WRAP> |
| |
| <-- | |
| |
| Here are the default Nintendo 64's controls shown on a [[:configure_a_controller|Batocera Retropad]] for libretro cores: | Here are the default Nintendo 64's controls shown on a [[:configure_a_controller|Batocera Retropad]] for libretro cores: |
| |
| ===== Troubleshooting ===== | ===== Troubleshooting ===== |
| |
| ==== 2D graphics are appearing with gaps/lines in them ==== | ==== 2D graphics are appearing with gaps/lines in them ==== |
| |
| Turn off any upscaling settings such as increasing the rendering resolution. By default, Batocera will not be using any upscaling settings. | Turn off any upscaling settings such as increasing the rendering resolution. By default, Batocera will not be using any upscaling settings. |
| |
| ==== The RetroArch Quick Menu is graphically bugged ==== | ==== The RetroArch Quick Menu is graphically bugged ==== |
| |
| This issue affects Batocera **v35** on RK3326-based images such as the Odroid Go Advance. | This issue affects Batocera **v35** on RK3326-based images such as the Odroid Go Advance. |
| |
| |
| ==== Further troubleshooting ==== | ==== Further troubleshooting ==== |
| |
| For further troubleshooting, refer to the [[:support|generic support pages]]. | For further troubleshooting, refer to the [[:support|generic support pages]]. |
| |