Crash
A Crash, Freeze, or Hardlock is what happens when Super Mario 64's code encounters an error, such as a division-by-zero, that causes the game to stop running and rendering frames. The audio may still play. This is in contrast to a softlock, where the game does still run but is stuck in an indefinite state or a loop where no controller input can change it.
Ways to crash the game
Cause | Exception Type | Notes |
---|---|---|
Exceed the object limit | Infinite Loop | Can be done via a variety of methods including cloning, hat duplication, build-up of monty-mole pellets, or money-bag duplication. Enters an intentional while(1) loop. |
Have too many objects at once on the screen | ||
Send the camera into a PU | Floating-Point Exception | |
Walking at PU speed for only a portion of the 4 quarter steps on a frame | ||
Moving at PU speed with no joystick input for all 4 quarter steps on a frame | ||
Moving 16384 distance into a wall (Often a PU Crash) | ||
Walking with a speed greater than or equal to 2^31 / 170 (~12.632M) | Floating-Point Exception | |
Turning during a walking action such that speed times change in yaw is greater than or equal to 2^31 * 12 (~12.583M with dyaw = 2048) | Floating-Point Exception | |
Bully Knockback dividing-by-zero | Floating-Point Exception | |
Failed Bully/Bob-omb angle double-to-int conversion | Floating-Point Exception | |
Deleting a non-existent file on the File Select Screen[1] | Go to "Copy" right when you get to the file select, then press "Score", press on any file without save data, go to Erase, and click on yes. | |
Moving a shadow above surface 12 while it's over OOB | ||
Killing a Monty Mole remotely | Address Error Exception | |
Killing an uninitialized Monty Mole | Address Error Exception | |
Going out of bounds in a room with a painting | Address Error Exception | |
Being pushed off of a hangable ceiling while in the idle hanging or start hanging action | Address Error Exception | |
Sound glitch (J only) | Address Error Exception | |
Moving the camera immediately when entering VCutM | ||
Getting infinite speed | Floating-Point Exception | |
Going near a painting after getting game corruption | Not possible on console, due to the way Emulators and Virtual Console handle addresses. | |
BitS entry sound glitch | 8 known instances, not been reproduced. Not J only. | |
Teleporting while passing over a loading zone | Address Error Exception | |
Warping out of a level while passing over a loading zone | Maybe possible in DDD using the Sub Gate warp and whirlpool cloning to reach the instant loading zone. Not yet achieved in Vanilla. | |
Passing a boo over surface 12 over NULL | Possibly a non-existant crash if the shadow crashes the game first. Not yet achieved in Vanilla. | |
Loading Wiggler's Cave (DD Only) | Floating-Point Exception (Invalid Float) | Wiggler indexes out of range and reads a denorm as his health, which doesn't exist on console. |