Mupen64

Revision as of 18:41, 10 March 2024 by Aurumaker72 (talk | contribs) (Add clock speed control feature info)

Mupen64 is a Nintendo 64 emulator useful for its TASing capabilities.

There are many forks of Mupen64, the primary community-maintained one being mupen64-rr-lua, which is nearly universally used for TASing Super Mario 64

Mupen64plus

Mupen64plus (stylized as mupen64plus) is an emulator used for real-time gameplay.

It is generally preferred in this regard over Mupen64. Mupen64plus, as well as m64p-based frontends such as OpenEMU, are also allowed for Super Mario 64 speedrunning.

mupen64-rr-lua

mupen64-rr-lua is an emulator used for TASing and is most commonly used to record and play back TAS movies.

It is a fork of Mupen64-RR-lua which is actively maintained by the community. It introduces the lua scripting extension, QoL features, and security patches

Recording movies

  1. Navigate to the `Movie` menu and select `Start Movie Recording`...
  2. Click "Save As" to pick the movie save location
  3. Select a start type.
    • Start: The movie will start from a console reset
    • Savestate: The movie will start from a savestate created upon confirming the dialog
    • Existing Savestate: The movie will start from the savestate picked by the user upon confirming the dialog
    • EEPROM: The movie will start from a console reset, but with unreset EEPROM
  4. (optional) Type your name and a description into the respective fields
  5. Confirm the dialog

Continuing Movies

  1. Make sure a movie is playing back
  2. Disable read-only mode
  3. Create a savestate
  4. Load the savestate
  5. The recording has begun from the frame the savestate was created at

Features

Lua

mupen64-rr-lua supports Lua scripting, which gives it much more power for testing and brute forcing[1]. It is used for TASing, as well as for testing and preparing.

Emulate Float Crashes

mupen64-rr-lua supports crashing during certain float-to-short exceptions just like the Nintendo 64 console does. This is a useful alternative to console verification, but not as reliable, because there are still some unknown crashes.

Clock Speed Control

mupen64-rr-lua supports changing the emulated CPU's clock speed with a multiplier.

WiiVC Rounding

mupen64-rr-lua supports emulating the Wii VC Round-To-Zero oversight[2]. It has been used, among other things, by pannenkoek2012 to TAS the Bowser in the Fire Sea 0x A presses run[3].

References