Difference between revisions of "Emulators"

From A complete guide to Super Metroid speedrunning
Jump to: navigation, search
(Clarifications and other information)
(Removing link to higan.dev, seems to be down, and wrong certificate.)
(5 intermediate revisions by 3 users not shown)
Line 19: Line 19:
 
* Difficult to run [[4%]] or [[12%]] due to crashing with the Block Shuffler glitch
 
* Difficult to run [[4%]] or [[12%]] due to crashing with the Block Shuffler glitch
 
|-
 
|-
! [https://byuu.org/bsnes/ bsnes]
+
! [https://github.com/bsnes-emu/bsnes bsnes]
 
|
 
|
 
* Low input lag
 
* Low input lag
Line 25: Line 25:
 
* Options for Run-Ahead and Overclocking: these are banned for runs on the leaderboard
 
* Options for Run-Ahead and Overclocking: these are banned for runs on the leaderboard
 
* Requires a modestly good computer; much lower system requirements than higan
 
* Requires a modestly good computer; much lower system requirements than higan
* Partially randomized RAM initialization that aims to model hardware behavior; can affect [[Out of Bounds]] movement
+
* Partially randomized [https://github.com/bsnes-emu/bsnes/issues/140 RAM initialization] that aims to model hardware behavior; can affect [[Out of Bounds]] movement
 
* As unstable as console when using [[Spacetime Beam]]
 
* As unstable as console when using [[Spacetime Beam]]
 
* For Super Metroid, no known accuracy disadvantage compared with higan
 
* For Super Metroid, no known accuracy disadvantage compared with higan
 
|-
 
|-
! [https://github.com/higan-emu/higan/releases higan/ares/byuu]
+
! byuu
 +
[https://github.com/higan-emu/higan/ higan]
 +
[https://ares-emu.net ares]
 
|
 
|
 
* Multi-system emulator built from bsnes
 
* Multi-system emulator built from bsnes
Line 35: Line 37:
 
* Requires a powerful computer
 
* Requires a powerful computer
 
* Starting with v107, the project gained a new complex interface in order to be able to support such complex hardware as the [https://www.reddit.com/r/retrogaming/comments/avznc8/nintendo_is_no_match_for_the_sega_tower_of_power/ Sega "Tower of Power"]
 
* Starting with v107, the project gained a new complex interface in order to be able to support such complex hardware as the [https://www.reddit.com/r/retrogaming/comments/avznc8/nintendo_is_no_match_for_the_sega_tower_of_power/ Sega "Tower of Power"]
* Partially randomized RAM initialization that aims to model hardware behavior; can affect [[Out of Bounds]] movement
+
* Partially randomized [https://github.com/bsnes-emu/bsnes/issues/140 RAM initialization] that aims to model hardware behavior; can affect [[Out of Bounds]] movement
 
* As unstable as console when using [[Spacetime Beam]]
 
* As unstable as console when using [[Spacetime Beam]]
 
* For Super Metroid, no known accuracy advantage compared with the new bsnes (v107+)
 
* For Super Metroid, no known accuracy advantage compared with the new bsnes (v107+)
Line 43: Line 45:
 
* Requires very little computer power, will run on just about any system
 
* Requires very little computer power, will run on just about any system
 
* Often has moderate input lag. Version 1.56.1 added a "Reduce input lag" option that helps some users
 
* Often has moderate input lag. Version 1.56.1 added a "Reduce input lag" option that helps some users
 +
* With high-refresh-rate monitors, some users only see 30fps displayed by the emulator
 
* Relatively stable when using [[Spacetime Beam]]
 
* Relatively stable when using [[Spacetime Beam]]
 
* Certain controllers require [[Control Schemes|manually setting up the dpad diagonal directions]]
 
* Certain controllers require [[Control Schemes|manually setting up the dpad diagonal directions]]
 
|-
 
|-
! RetroArch
+
! [http://tasvideos.org/Lsnes.html Lsnes]
 +
|
 +
* Commonly used for [[Tool Assisted Speedruns|TASes]]
 +
* Most [https://github.com/dan-tas/supermetroid-tas/blob/master/snes-supermetroid/src/test/resources/hitbox-viewer/lsnes-hitbox-viewer-32px.lua hitbox viewers] used to learn [[Out of Bounds]] navigation are written for lsnes
 +
* Uses the bsnes v085 "Compatibility" core by default
 +
* Moderate input lag
 +
* Moderate audio lag
 +
* Not recommended for real-time speedrunning
 +
* Powerful tool for TASing, but requires manual handling of savestates
 +
|-
 +
! [https://github.com/TASVideos/BizHawk#readme BizHawk]
 +
|
 +
* Commonly used for [[Tool Assisted Speedruns|TASes]]
 +
* Uses the Snes9x core by default, but the bsnes v087 core is available
 +
* Moderate input lag
 +
* Not recommended for real-time speedrunning
 +
* Easier to learn TASing than lsnes: the ".tasproj" format used by default contains savestates, so it's easier to jump back a few frames without manual handling of savestates
 +
|-
 +
! [https://www.retroarch.com/?page=platforms RetroArch]
 
|
 
|
 
* Emulator frontend that can use various "cores"
 
* Emulator frontend that can use various "cores"

Revision as of 08:26, 23 October 2022

All Emulators officially released by Nintendo (such as Wii VC, WiiU VC, 3DS VC, SNES Classic, and Switch) are acceptable for runs. Other emulators generally accepted by SpeedRunsLive are also accepted for runs here. Commonly recommended emulators are RetroArch (with bsnes or Snes9x core), bsnes, Higan, Snes9x. Older versions of Snes9x (v1.43 or older) as well as all versions of ZSNES are banned. These emulators do not properly emulate the game for speedrunning standards. Keyboard is allowed, but should have a setting enabled to prevent left+right (see below).

Emulator functions that are not available to console players using a standard controller are banned from use during runs. This includes but is not limited to: savestates, pressing two opposite direction inputs at the same time (left+right), turbo, fast forward/rewind, run ahead, and RAM watch. Auto-splitters that use RAM watch are generally accepted but should not give any advantage to the runner. See Leaderboard Submission Rules for more information.

The below table has a comparison of various common emulators; a more comprehensive list can be found here.

Emulator comparison
Comments
Virtual Console

(Wii, WiiU, New3DS, SNES Classic, Switch)

  • Low input lag (except WiiU)
  • Relatively stable when using Spacetime Beam
  • Unable to run 0% due to crashing on the Artificial Varia glitch
  • Difficult to run 4% or 12% due to crashing with the Block Shuffler glitch
bsnes
  • Low input lag
  • Options for GPU Sync and Adaptive Sync
  • Options for Run-Ahead and Overclocking: these are banned for runs on the leaderboard
  • Requires a modestly good computer; much lower system requirements than higan
  • Partially randomized RAM initialization that aims to model hardware behavior; can affect Out of Bounds movement
  • As unstable as console when using Spacetime Beam
  • For Super Metroid, no known accuracy disadvantage compared with higan
byuu

higan ares

  • Multi-system emulator built from bsnes
  • Designed for accuracy above all other considerations
  • Requires a powerful computer
  • Starting with v107, the project gained a new complex interface in order to be able to support such complex hardware as the Sega "Tower of Power"
  • Partially randomized RAM initialization that aims to model hardware behavior; can affect Out of Bounds movement
  • As unstable as console when using Spacetime Beam
  • For Super Metroid, no known accuracy advantage compared with the new bsnes (v107+)
Snes9x
  • Requires very little computer power, will run on just about any system
  • Often has moderate input lag. Version 1.56.1 added a "Reduce input lag" option that helps some users
  • With high-refresh-rate monitors, some users only see 30fps displayed by the emulator
  • Relatively stable when using Spacetime Beam
  • Certain controllers require manually setting up the dpad diagonal directions
Lsnes
  • Commonly used for TASes
  • Most hitbox viewers used to learn Out of Bounds navigation are written for lsnes
  • Uses the bsnes v085 "Compatibility" core by default
  • Moderate input lag
  • Moderate audio lag
  • Not recommended for real-time speedrunning
  • Powerful tool for TASing, but requires manual handling of savestates
BizHawk
  • Commonly used for TASes
  • Uses the Snes9x core by default, but the bsnes v087 core is available
  • Moderate input lag
  • Not recommended for real-time speedrunning
  • Easier to learn TASing than lsnes: the ".tasproj" format used by default contains savestates, so it's easier to jump back a few frames without manual handling of savestates
RetroArch
  • Emulator frontend that can use various "cores"
  • Recommended setup options can be found here
  • With the recommended setup, has low input lag
  • Snes9x cores prior to 2010 use Snes9x 1.43, and are banned from the leaderboards
  • Option for Run-Ahead: this is banned for runs on the leaderboard
Snes9x 1.43
  • This older version of Snes9x used to be common, but is commonly banned for speedrunning because it emulates lag incorrectly
ZSNES