Skip to content

Nintendo 64


n64


The Nintendo 64 is a 5th generation gaming console released by Nintendo in 1996


Emulator Rom Folder Extension BIOS Controller Config
Mupen64Plus n64 .z64 .n64 .v64 none /opt/retropie/configs/n64/InputAutoCfg.ini and /opt/retropie/configs/n64/mupen64plus.cfg
lr-mupen64plus n64 .z64 .n64 .v64 .zip none /opt/retropie/configs/n64/retroarch.cfg

Emulators: Mupen64Plus, lr-mupen64plus, lr-mupen64plus-next

While the Libretro cores lr-mupen64plus and lr-mupen64plus-next have the convenience of RetroArch configurations and directly reading compressed zip files, standalone Mupen64Plus can be more performant. At least a Raspberry Pi 2 is required for viable Nintendo 64 performance, but performance is variable across all Pi hardware. High resolutions can impact performance greatly, so most emulators default internally to the low native N64 resolution.

lr-mupen64plus was abandoned some years ago, so is quite outdated. lr-mupen64plus-next is actively developed, but may be less performant as it has more accurate emulation.

For standalone Mupen64Plus you may choose between the video plugins available via the Runcommand menu. Different video plugins have different levels of performance and compatibility, but GLideN64 is the only one still under active development, and generally the most compatible. Raspberry Pi 0-3 have the option of mupen64plus-auto which automatically chooses a suitable plugin configuration for the current game.

ROMS

Accepted File Extensions: .z64 .n64 .v64 .zip

Note: Mupen64Plus standalone cannot directly load compressed zip files.

Place your Nintendo 64 ROMs in

/home/pi/RetroPie/roms/n64

Tweaks

Mupen64Plus

Auto-configuration

/opt/retropie/configs/all/autoconf.cfg
Option Description Value
mupen64plus_audio enable auto configuration of audio output path (0/1)
mupen64plus_hotkeys enable hotkey auto configuration (0/1)
mupen64plus_compatibility_check enable compatibility check which alters game-related settings (0/1)
8bitdo_hack enable 8bitdo controller mapping hack (0/1)
/opt/retropie/configs/n64/mupen64plus.cfg
Option Description Value
[Audio-OMX] OUTPUT_PORT Audio output path is Jack or HDMI. (will be overwritten if mupen64plus_audio is enabled) (0=Audio Jack / 1=HDMI)
[CoreEvents] Joy Mapping Stop Joystick exit button. (will be overwritten if mupen64plus_hotkeys is enabled) JXBY/BZ or JXBY
[CoreEvents] Joy Mapping Load State Joystick load state button. (will be overwritten if mupen64plus_hotkeys is enabled) JXBY/BZ or JXBY
[CoreEvents] Joy Mapping Save State Joystick save state button. (will be overwritten if mupen64plus_hotkeys is enabled) JXBY/BZ or JXBY
[Video-GLideN64] EnableFBEmulation Enable framebuffer emulation. Games like Mario Tennis need this option to render framebuffer effects. Some games have glitches if this option is enabled. (will be overwritten if compatibility_check is enabled) (True/False)
[Video-GLideN64] EnableLegacyBlending Use fixed-function pipeline instead of shaders for blending for speed. Some games have glitches if this option is enabled. (will be overwritten if compatibility_check is enabled) (True/False)

Scaling Mode

For Raspberry Pi 0-3, a bespoke SDL hint is used to scale a low resolution window up to full screen using the Pi's GPU.

SDL_VIDEO_RPI_SCALE_MODE=x

Value Description
0 Window resolution is desktop resolution. This is the behaviour of SDL <= 2.0.4. (default)
1 Requested video resolution will be scaled to desktop resolution. Aspect ratio of requested video resolution will be respected.
2 Requested video resolution will be scaled to desktop resolution.
3 Requested video resolution will be scaled to desktop resolution. Aspect ratio of requested video resolution will be respected. If possible output resolution will be integral multiple of video resolution.
/opt/retropie/configs/n64/emulators.cfg

You can use emulators.cfg to add custom resolution startup options. Default resolution options for Pi 0-3 are 320x240 and 640x480. Note that video plugin GLideN64 uses a native resolution scale factor parameter instead: --set Video-GLideN64[UseNativeResolutionFactor]\=x

Controls

lr-mupen64plus

lr-mupen64plus utilises RetroArch configurations

Add custom retroarch controls to the retroarch.cfg file in

/opt/retropie/configs/n64/retroarch.cfg

For more information on custom RetroArch controls see: RetroArch Configuration

nintendo_n64_diagram

Mupen64Plus

Mupen64Plus configurations are automatically generated when you configure your controller for the first time in EmulationStation. They differ from the RetroArch configs listed above.

nintendo_n64_mupen64plus_diagram There are two main configuration files that can be modified:

/opt/retropie/configs/n64/mupen64plus.cfg
/opt/retropie/configs/n64/InputAutoCfg.ini

Note: Some arcade Joysticks or non-analogue controllers may need the following tweak to the generated mapping:

X Axis = "hat(0 Left, 0 Right)"
Y Axis = "hat(0 Up, 0 Down)"

To

X Axis = "hat(0 Left Right)"
Y Axis = "hat(0 Up Down)"

Hotkey combinations and special buttons

Key Description
Hotkey + Start Exit emulator.
Hotkey + Left Shoulder Load state.
Hotkey + Right Shoulder Save state.
Left Thumb Enable memory expansion pak.
Right Thumb Enable rumble expansion pak.

Note: Hotkey and other buttons refers to those bound during Controller Configuration.

Video Tutorials

N64 Configuration Video | N64 Configuration Video