Nintendo 64 (Mupen64Plus)

Contribute to this documentation

DOCUMENTATION IS A WORK IN PROGRESS

In order to propose improvements to this document, visit its corresponding source page on github. Changes are proposed using "Pull Requests."

There is a To-Do list for libretro/docs here

You can submit suggestions or issues regarding documentation at the libretro/docs issue tracker or in our forum thread.

Background

Mupen64Plus for libretro is the port of Mupen64Plus, a Nintendo 64 emulator. Mupen64Plus for libretro uses GLideN64 as graphic plugin.
The original Mupen64Plus can use one of the several available graphic plugins (Rice, Glide64, ect.).
By choosing one graphics plugin (GLideN64), it will be possible to keep the code in line with upstream, and maintaining the code will be much simpler.

For Android there are two versions of Mupen64Plus. One is designed to work with GLES 2.0 and another one with GLES 3.0.

How is this different from Parallel-N64?

Parallel-N64 implements multiple Graphics plugins amongst them the new Parallel plugin. There are also code modifications that make it different from the standalone Mupen64Plus.
The graphic plugin GLideN64 is not available in Parallel-N64.

Why use this core?

The GlideN64 video plugin is very capable. Outstanding support of Hires Textures. Multi-plugin support is in the making.

Authors

See also

N64

License

A summary of the licenses behind RetroArch and its cores have found here.

The Mupen64Plus core is licensed under

Extensions

Content that can be loaded by the Mupen64Plus core have the following file extensions:

Databases

RetroArch database(s) that are associated with the Mupen64Plus core:

Features

RetroArch-level settings or features that the Mupen64Plus core respects.

Feature Supported
Restart
Screenshots
Saves
States
Rewind
Netplay
Core Options
RetroAchievements
RetroArch Cheats
Native Cheats
Controls
Remapping
Multi-Mouse
Rumble
Sensors
Camera
Location
Subsystem
Softpatching
Disk Control
Username
Language
Crop Overscan

Directories

The Mupen64Plus core's directory name is 'Mupen64Plus OpenGL'

The Mupen64Plus core saves/loads to/from these directories.

RetroArch's Save directory

RetroArch's State directory

RetroArch's System directory

1
2
3
- Mupen64plus/
            - mupen64plus.ini
            - shaders/

Geometry and timing

Hires Textures

You can either use pre-compiled hires texture packs (.htc format, available for download) or compile your own hires texture packs from uncompressed Rice sources.

Pre-compiled hires textures in .htc format have to be put into Mupen64plus/cache. The name of the .htc file must match the system name of the game in the mupen64plus console. Pre-compiled hires packs will only work if the Retroarch core settings regarding textures are identical when compiled. This is why an own compilation of uncompressed textures is recommended.

Recommended Core Options for pre-compiled very popular .htc texture packs, such as those of Djipi or Mollymutt, are:
- mupen64plus-EnableTextureCache = "True"
- mupen64plus-txHiresEnable = "True"
- mupen64plus-txCacheCompression = "True"
- mupen64plus-txHiresFullAlphaChannel = "False"
- mupen64plus-EnableEnhancedTextureStorage = "False"
- mupen64plus-EnableEnhancedHighResStorage = "False"

For a compilation of your own hires texture pack, you need the high resolution textures in the uncompressed Rice format, and the folder name must match the system name of the game in the mupen64plus console. Put this folder into Mupen64plus/hires_texture. At the first start of the game, the .htc texture pack is created, which can take a while. After successful creation of the .htc file in the cache subdirectory, you can delete the uncompressed texture directory as it is no longer needed. If you want to re-use your newly created texture pack on a different system, you must enable the same core options on the new system that you used when you compiled the pack.
If you compile your own texture pack, you should be sure to enable the further three for Alpha Channel and Enhanced Storage, which will then produce a hires texture pack with the *.hts extension.
Compilation under Windows seems to be more complicated than under Linux or iOS. Rice texture packs must be converted to 32bit PNG.

Core options

The Mupen64Plus core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.

Settings with (Restart) means that core has to be closed for the new setting to be applied on next launch.

Controllers

Device types

The Mupen64Plus core supports the following device type(s) in the controls menu, bolded device types are the default for the specified user(s):

User 1 - 4 device types

Rumble support

Rumble only works in the Mupen64Plus core when

List of Nintendo 64 games with Rumble Pak support

Controller tables

Joypad and analog device type table

User 1 - 4 Remap descriptors RetroPad Inputs
A Button (C3)
B Button (C2)
START Button
Up (digital)
Down (digital)
Left (digital)
Right (digital)
(C1)
(C4)
L-Trigger
R-Trigger
Z-Trigger
C Buttons Mode
Control Stick X X
Control Stick Y Y
C Buttons X X
C Buttons Y Y

Compatibility

Awaiting description.