Mupen64
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 standard gameplay. It is generally preferred in this regard over Mupen64. Mupen64plus (and OpenEMU, a multiconsole emulator that uses the Mupen64plus core) is also allowed for Super Mario 64 speedrunning.
Mupen64-RR
Mupen64-RR (stylized as mupen64-rr) is an emulator used for TASing. It is most commonly used to record TAS movies. The file type used for the movies are: ".m64" and ".st", m64 is the movie, which can be launched if you go to "Playback Movie" but if you have started from snapshot, you will need a .st file in order to make the movie work, otherwise the movie will not start.
TASing with Mupen64-RR
Open a Super Mario 64 ROM in Mupen64. Go to Utilities --> Movie --> Start Movie Recording. Type in a name, author, and/or description if you wish. You can also choose to start from the start (when you boot it up), or you can choose the star from a snapshot you have made. Click on OK, and your TAS will start. Press - or + to speed up or down whilst recording. You can also press \ (the slash usually above RETURN) to advance a single frame. To unpause/pause, press Pause. If you don't have a Pause button on your keyboard, go to the settings, and change the hotkey from Pause to something else. To continue from a TAS, put the movie settings in "read only" mode. Then when the TAS stops at the time you want to continue, then turn off the "read only" mode. After that, save a state and reload it to continue a TAS.
Hacked versions of Mupen64-RR
Because Mupen64 does not have perfect emulation accuracy, there are several hacked versions of Mupen to deal with this, as well as to allow for additional functionality.
Mupen64-Lua
Mupen64-Lua supports Lua scripting, which gives Mupen64-rr much more power for testing and brute forcing[1]. It is used for TASing, as well as for testing and preparing.
Mupen64-PUs
Mupen64-PUs is a modified version of Mupen that crashes 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.
Mupen64-WiiVC-RTZ
Mupen64-WiiVC-RTZ is a version of Mupen that emulates 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].
mupen64-rr-lua
mupen64-rr-lua is a fork of Mupen64-RR which is actively maintained by the community. It introduces the lua scripting extension, QoL features, and security patches.