If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!
Notes:Wario Land II
Jump to navigation
Jump to search
This page contains notes for the game Wario Land II.
GB/GBC save data
This information applies to the GBC version of the game.
In the GBC version of the game, a save originating on a GBC can't be played on a GB or SGB, or vice versa.
- When the game is run on a GB/SGB, HRAM offset FFFE has the value 00. If run on a GBC, this offset has the value 01.
- SRAM offsets 0:A400-A403 is a 4-byte header that determines if a save is from a GBC or GB/SGB. The byte sequence is 19 64 05 07 if originated from a GB/SGB, or 1A 65 06 08 if originated on a GBC.
- When booting the game, a check is present at ROM offset 21:527F to read the header (see above). This check is run a few times while booting. If the game is run on a GB/SGB, the code at 21:5284-5297 is executed. If the game is run on a GBC, the code from 21:529D-52B0 is executed.
- If the game is run on the same system from what the save originated on, the from 21:5298-529A is executed, which clears the carry flag. The save file can be used without having to erase it.
- If the game is run on a different system from what the save originated on, the code from 21:529B-529C is executed, which sets the carry flag. This causes the warning message to appear that the save can't be loaded and prompts the user to erase the file.
- If this check is patched out to make it always clear the carry flag (i.e. scf -> ccf -> ret), a GB/SGB save can be run on a GBC or vice versa without any obvious issues! Saving a file from one system to another also replaces the 4-byte header based on the last system it is run on. With all of this, it is unclear why Nintendo added this check in the first place, especially when most other dual GB/GBC games don't have this restriction.
- One way to patch this out (there are other ways) is to fill the bytes 21:5284-5297 and 21:529D-52B0 with zeros.