If you want to make your own tool that will implement this fix, then you can follow these steps:ġ.) Look through all of the levels scripts to find 0x17/0x18/0x1A commandsĢ.) Test if either the ROM start address or ROM end address is odd.ģa.) If both the start & end addresses are odd, then move the entire bank over by 1 byte.ģb.) If only the end address is odd, then just increment the end address by 1.ģc.) If only the start address is odd, then move the entire bank by 1 byte and also increment the end address by 1. Thankfully, some people have made tools to do this automatically like queueRAM's sm64compress tool. To fix this issue, we will have to look through the entire ROM file and adjust every 0x17/0x18/0x1A level script commands that have odd ROM address values. Segments 0x12 and 0圎 will load just fine, since the ROM address values are even. The segments 0x07, 0xB, and 0x09 will fail to load on console, since the ROM address values are odd.
![super wario 64 rom hack super wario 64 rom hack](https://n64squid.com/wp-content/uploads/2021/06/super-mario-bros-64-cheep-cheep.jpg)
This means that if the start/end ROM addresses within the 0x17/0x18/0x1A commands were odd, then copying data from ROM to RAM would fail. The N64 requires a 2-byte alignment for ROM addresses, and an 8-byte alignment for RAM addresses when copying data. The problem with early extender tools, like VL-Tone's original SM64 ROM extender, is that the addresses where the decompressed data was stored was in a bad alignment. Since ROM hackers don't really need to worry about file sizes (up to 64MB), we use ROM extenders to decompress the data into another place in the ROM file and convert all of the 0x18 level commands into 0x17 commands. The MIO0 compression was necessary to make SM64 fit within an 8MB cartridge. Level script command 0x17 is used from copying uncompressed data from the ROM into RAM, and the commands 0x18 & 0x1A are used to read compressed MIO0 data from the ROM and then decompress the data into RAM.
![super wario 64 rom hack super wario 64 rom hack](https://i.ebayimg.com/images/g/yS4AAOSwHfdfOec9/s-l300.jpg)
In SM64, the game will load up scripts & models using level script commands for each level.