Discussion
A hot-start or cold-start cannot be reliably determined solely based upon the contents of memory. Using osResetType will prevent a game from locking up due to assumption of hot-start conditions.
Discussion
If the video mode registers have been altered in any non-standard way, these registers must also be set back to their original values in the PRENMI routine. Failure to reset these values may cause lockups on NMI.
Discussion
When the reset button is pressed, a PRENMI signal is generated which should be processed by the game. This PRENMI signal is guaranteed to come at least 0.5 seconds before the NMI which resets the N64 hardware. In this 0.5 seconds, a number of operations must be performed in order to prepare the machine for the NMI. If these operations are not performed, the RSP may not function properly after system reset.
These operations are:
Because at least 0.5 seconds will elapse between the PRENMI signal and NMI generation, the game has a small amount of time to reset gracefully. Examples of things which can be performed in this amount of time include ramping the audio down gradually and slowly dimming the screen to black.