Metroid Fusion - Lowest Possible In-game Time with Memory Corruption

Опубликовано: 04 Июль 2026
на канале: biospark
45,643
724

This video is tool-assisted. http://tasvideos.org/

The in-game timer can be reset to 0 by using a trick that corrupts save data. This trick requires a specific setup.

The memory corruption works by getting out of bounds and laying power bombs. Whenever you lay a power bomb, the game checks which blocks are affected by the power bomb explosion. To be more specific, it reads the block's clipdata value (2 bytes) and changes it if necessary (usually to 0, especially for breakable blocks). The clipdata values for all of the blocks are stored in memory starting at address 0x2026000. When the power bomb explosion touches a block, it uses this formula to find the address of its clipdata value:

0x2026000 + ((Ypos / 64) * RoomWidth + (Xpos / 64)) * 2

However, if you go out of bounds, your X and Y position will be much higher than normal. This means that laying power bombs while out of bounds will access memory addresses that are way past the clipdata values. In particular, the save data for Slot A is stored starting at 0x2038200, which can be reached by using this trick.

This is where the setup comes in. I need the in-game timer to be a value that the power bomb explosion will interpret as a breakable block (and set to 0). This is how in-game timer values are laid out in memory:

0x20382E4: In-game hours
0x20382E5: In-game minutes
0x20382E6: In-game seconds
0x20382E7: In-game frames

I save the game with in-game seconds at 49 and in-game frames at 22, which creates a 2-byte value of 0x1631.
The power bomb explosion interprets this value as the corner of a 4x4 breakable block. Therefore, it will set the current two bytes and the previous two bytes to 0. In other words, all of the in-game timer values will be set to 0. This means the values for in-game hours and in-game minutes are irrelevant for setting up the trick.

Once the corruption is done, I have to reload the save by dying. If I were to reset the game, the save data would be reloaded from external memory and copy over the memory corruption. From here, I beat the game as quickly as possible. The final in-game time is 2 minutes and 24 seconds.