This hack converts Gradius 3 Memory Map Mode 20 (Lorom) to Memory Map Mode 21 (Hirom). Memory Map Mode 20 (Lorom) is limited to the upper half of the banks. Memory Map Mode 21 (Hirom) can use the full banks or just the upper half of the banks just like Memory Map Mode 20 (Lorom). All asm code runs in the full banks, and all compressed data is uploaded from the full banks. Some data is loaded and stored to wram using the upper half of the banks just like Memory Map Mode 20 (Lorom). Having the data used in this way its like having Memory Map Mode 21 (Hirom) and Memory Map Mode 20 (Lorom) all in on rom. This is just how Memory Map Mode 21 (Hirom) works but the rom data has to be used a certain way to fully use all of these features. A lot of the data was moved around in order to get this to work to best utilize all of the features that Memory Map Mode 21 (Hirom) supports. All asm is in 1 bank (C0:0000-C0:FFFF) instead of the original 2 banks (00:8000-00:FFFF) (02:8000-02:FFFF). All long jumps (over 2,000) have been changed to short jumps and all long returns have also been changed to short returns. Over 0x700 bytes have been freed up in the asm bank due to using the shorter jumps. This patch also adds fastrom that has around 5.6% less slowdowns than my Snes Gradius 3 fastrom hack but this hack is independent of my fastrom hack.
CRC-32: cd973979
SHA-1: 7e62203a4198e9404eb7b076802c09786e5a63f4