This is an old revision of the document!
Address | Decimal | Width | Height | Description |
---|---|---|---|---|
0x2007000 | xxxxxxx | xx | x | Hatch Transition Tilemap RAM, uncompressed[1] |
0x8364F80 | 3559296 | xx | x | Hatch Transition Tilemap (ROM, RLE compressed)[1] |
0x83655A0 | 3560864 | 32 | ? | Hatch Animation Tilemap[2] |
0x85D940C | 6132748 | 32 | 4 | Generic BG GFX (Zebes) |
0x85DA40C | 6136844 | 32 | 4 | Generic BG GFX (Mothership) |
0x85D980C | 6133772 | 17 | 1 | Zebes Hatch Open Animation |
0x85DA80C | 6137868 | 17 | 1 | Mothership Hatch Open Animation |
0x85DFE20 | 6159904 | Palette | 1 Row | Generic BG Tiles Palette |
0x85DFE40 | 6159936 | Palette | 1 Row | Generic BG Hatch Palette |
0x85E0420 | 6161440 | Palette | 6 Rows | Zebes Hatch Unlock Palette |
0x85E0220 | 6160928 | Palette | 6 Rows | Mothership Hatch Unlock Palette |
[1]: to edit:
1) open ROM in nocash and set a breakpoint for [0x2007000]?! during a transition.
2) resume the game when it breaks until 0x2007000 starts with 60 and there's a bunch of data after.
3) dump 4096 (0x1000 bytes) using no$ → window → “binary dump to .bin file”
4) export generic BG GFX as raw (do not use a file extension/do not give it a file type)
5) pad the exported generic BG with 2048 (0x800) bytes of 00
6) MAGE → tools → compression → lz77 compress file… exported generic BG and dumped tilemap
7) append both files to the end of ROM using a hex editor. Take note of the offset before you paste in the bytes of the first and second file.
8) reload rom in MAGE, then tile table editor → offset tab → punch in compressed tile table, compressed generic bg, and generic bg palette.
9) make desired edits, then export raw. rename file to “tt.bin” then grab This C code.
10) go to jdoodle and paste in the code.
11) upload tt.bin, then run the code. you should get tt.rle.
12) copy the contents of tt.rle in a hex editor and paste-write over 0x8364F80 (Ctrl+B)
[2]: To view in MAGE, add tileset (blank), open tileset editor, substract two from offset (0x836559E) and write it to new tileset's tiletable pointer, apply. then open tile table editor to new tileset.