Welcome to Data Crystal's new home! Data Crystal is now part of the TCRF family (sort of).
The wiki has recently moved; please report any issues in Discord. Pardon the dust.
The wiki has recently moved; please report any issues in Discord. Pardon the dust.
Trials of Mana (SNES)/ROM map: Difference between revisions
Jump to navigation
Jump to search
(Added rommap template) |
Giangurgolo (talk | contribs) No edit summary |
||
Line 2: | Line 2: | ||
<pre> | <pre> | ||
C05297-C052C6 decompression assembly (world map graphics) | |||
instructions are stored to RAM and executed there | |||
C052C7-C0537B decompression routine (world map graphics) | |||
C0EA03-C0FA42 dialogue script-related | |||
C0EA70 read event script pointer | |||
C0EA87 read event script bank | |||
C239CA-C23CB8 decompression routine (graphic sets) | |||
C2418D-C2437A decompression routine (tilesets) | |||
C243DA-C2441C decompression routine (solidity sets) | |||
C24527-C24876 decompression routine (tilemaps) | |||
C2AAF0-C2AC03 decompression routine (world map tilemap) | |||
C403A0 read action script opcode | |||
C42F5D-C4C4CD dialogue script-related routines | |||
C49561 load "Closed Garden" track for load game menu | |||
C51E90-C51F2A BRR sample pointers (52 samples, 3 bytes each) | |||
C51F2B-C52064 BRR sample relative volumes, pitches | |||
C52065-C52148 SPC data pointers (70 spcs, 3 bytes each) | |||
C53FC9-C735D9 SPC data | |||
C73903-C9A6DE BRR sample data | |||
CA0000-CA7FFF world map sub-map graphics (uncompressed) | |||
CAFA00-CAFFFF cursor graphics (uncompressed) | |||
CB040A-CB0B09 palette set pointers (7 pointers each = 14 bytes each) (bank $CD) | CB040A-CB0B09 palette set pointers (7 pointers each = 14 bytes each) (bank $CD) | ||
CB0B0A-CB49DB tilemap offsets, dynamic data (from 01,00 of | CB0B0A-CB49DB tilemap offsets, dynamic data (from 01,00 of location data @ CB73DC) | ||
3 bytes per offset, a string is terminated by FF | 3 bytes per offset, a string is terminated by FF | ||
2 string are read: 1st for tilemap L1, 2nd for tilemap L2 | 2 string are read: 1st for tilemap L1, 2nd for tilemap L2 | ||
Line 17: | Line 39: | ||
d6-d7 facing direction | d6-d7 facing direction | ||
03,02 destination | 03,02 destination | ||
CB73DC-CB9F5F | CB73DC-CB9F5F location data (by location index @ 7E6028, 1114 items, 10 bytes each) | ||
01,00 tilemap pack (+ $CB0000 = dynamic data, terminated by FF) | 01,00 tilemap pack (+ $CB0000 = dynamic data, terminated by FF) | ||
02 map pack (* 7 + $CD0750) | 02 map pack (* 7 + $CD0750) | ||
Line 24: | Line 46: | ||
05 | 05 | ||
07,06 exit field index pack (+ $CB0000) | 07,06 exit field index pack (+ $CB0000) | ||
09,08 | 09,08 NPC map pointer (+ $CC0000) | ||
CB9F60-CBFFBF exit field index packs (2 bytes per pointer, packs are dynamic size) | CB9F60-CBFFBF exit field index packs (2 bytes per pointer, packs are dynamic size) | ||
some pointers: & 0x7FF * 2 + $CB49DC = offset of exit field | some pointers: & 0x7FF * 2 + $CB49DC = offset of exit field | ||
...yet others (& 0x7FF) look like actual | ...yet others (& 0x7FF) look like actual location indexes? | ||
CBD9D2-CBE1C3 tilemaps (compressed) | |||
CBFFC0-CBFFFF priority sets (4 bytes each) | CBFFC0-CBFFFF priority sets (4 bytes each) | ||
00 d0-d4 enable mosaic | 00 d0-d4 enable mosaic | ||
Line 35: | Line 58: | ||
d6 half intensity | d6 half intensity | ||
d7 minus subscreen | d7 minus subscreen | ||
CC0000-CC05FF monster pack collection (256 items, 6 bytes each) | |||
* 4 + $CC0600 = monster pack | |||
CC0600-CC09FF monster packs (256 items, 4 bytes each) | |||
* 3 + $CC0A00/CC0D00 = monster/NPC pack | |||
CC0A00-CC0CFF monster packs (256 items, 3 bytes each) | |||
CC0D00-CC0FFF NPC packs (256 items, 3 bytes each) | |||
CC1000-CC1899 graphics packs (dynamic, each string terminated by FFFF) | CC1000-CC1899 graphics packs (dynamic, each string terminated by FFFF) | ||
* 3 + $CD02D0 = offset of pointer | * 3 + $CD02D0 = offset of pointer | ||
CC189A- | CC189A-CC6161 solidity sets (compressed, 2 bytes per tile) | ||
00 d0 SE quadrant | 00 d0 SE quadrant | ||
d1 SW quadrant | d1 SW quadrant | ||
Line 47: | Line 75: | ||
d6 W edge blocked | d6 W edge blocked | ||
01 d7 exit trigger enabled | 01 d7 exit trigger enabled | ||
CC6162-CCE20D NPC maps (dynamic lengths) | |||
CC67F4-CC6820 NPC map for location 0018 (Rabite Forest from Castle City Jad) | |||
CC6811 level of first 3 monsters | |||
CCE20E-CCF600 tilemaps (compressed) | |||
CCFC00-CCFC79 animation string pointers | CCFC00-CCFC79 animation string pointers | ||
CCFC7A-CCFFFF animation strings | CCFC7A-CCFFFF animation strings | ||
Line 61: | Line 92: | ||
CD0240-CD02CF solidity set L2 pointers (bank $CC)(72 items, 2 bytes each) | CD0240-CD02CF solidity set L2 pointers (bank $CC)(72 items, 2 bytes each) | ||
CD02D0-CD060B graphics pointers (276 items, 3 bytes each) | CD02D0-CD060B graphics pointers (276 items, 3 bytes each) | ||
CD0750-CD0A3C | |||
CD0750-CD0A3C tileset packs (107 items, 7 bytes each) | |||
00 tileset L1 (* 2 + $CD01B0 = offset of pointer) | 00 tileset L1 (* 2 + $CD01B0 = offset of pointer) | ||
01 tileset L2 (* 2 + $CD01B0 = offset of pointer) | 01 tileset L2 (* 2 + $CD01B0 = offset of pointer) | ||
Line 74: | Line 106: | ||
CD1EB7 palette for Kevin | CD1EB7 palette for Kevin | ||
CD3551-CDA314 palette sets (180 bytes each, 6 palettes p/set, 30 bytes p/palette) | CD3551-CDA314 palette sets (180 bytes each, 6 palettes p/set, 30 bytes p/palette) | ||
CDBFDF-CDC9A7 tilemaps (compressed) | |||
CE0000-CFD284 tilesets (compressed) | CE0000-CFD284 tilesets (compressed) | ||
CFD720-CFE5AB tilemaps (compressed) | |||
D10000-D111FF monster stats (128 items, 36 bytes each) | |||
00 sprite | |||
01 palette | |||
04-02 pointer to action script | |||
D12A40-D12B83 sprite mold pointers (2 bytes each, 162 items total) | D12A40-D12B83 sprite mold pointers (2 bytes each, 162 items total) | ||
* 4 + $D50000 = offset of mold pack | * 4 + $D50000 = offset of mold pack | ||
Duran, Kevin, Hawk, Angela, Carlie, Lise (the rest are NPCs) | Duran, Kevin, Hawk, Angela, Carlie, Lise (the rest are NPCs) | ||
D133D0-D1393F monster base HPs (696 items, 2 bytes each) | |||
D134F2 Werewolf | |||
(level - 1) * 14 | |||
D1F5E0-...... monster XPs (3 bytes each) | |||
D1F61C Dark Battum | |||
D22D92-D2F817 dialogue script-related | |||
D30A13-D3F301 dialogue script-related | |||
D50000-D72FFF mold packs and mold data for sprites | D50000-D72FFF mold packs and mold data for sprites | ||
D52581-D525 | D52581-D525.. mold pack for Kevin (2 bytes each) | ||
D7C400-D7D5FF sprite graphics, magic, etc. (uncompressed) | |||
D7DC00-D7E1FF graphics, Kevin, wolf head (uncompressed) | |||
D7F600-D7FA.. numeral graphics, etc. (uncompressed) | |||
D80000-E3DFFF sprite graphics (uncompressed) | D80000-E3DFFF sprite graphics (uncompressed) | ||
E60000-E7CBFF magic, attack effect graphics (uncompressed) | |||
// SD3 world map tilemaps are drawn on 8x8 tile basis | |||
E80000-E801FF pointers to world map tilemap chunks | |||
E80200-E803FF pointers to holy land tilemap chunks | |||
E80400-E88947 world map tilemap chunks (compressed) | |||
E88948-E8A598 holy land tilemap chunks (compressed) | |||
E8B000-E8BD83 tilemaps (compressed) | |||
E8E800-E8EFFF world map mini-map (uncompressed) | |||
E8F000-E8FFFF battle numerals, symbols (2bpp, uncompressed) | |||
// SD3 Mode7 GFX are drawn in 8bpp linear format | |||
E90000-E90001 pointer to holy land animated GFX | |||
E90002-E90003 pointer to world map animated GFX | |||
E90004-E9291E world map GFX (compressed) | |||
E9291F-E92E9B holy land animated GFX (compressed) | |||
E92E9C-...... world map animated GFX (compressed) | |||
E96080-...... world map palettes | |||
EA0000-EFFFFF tilemaps (compressed) | |||
F00000-F6FFFF location graphics (compressed) | |||
F70000-F77FFF animated graphics (uncompressed) | F70000-F77FFF animated graphics (uncompressed) | ||
F7E8C4-F7FC8F item effect graphics (uncompressed) | |||
F7FC90-F7FFFF tilemaps (compressed) | |||
F80000-FBECA1 event scripts | |||
F96D36 Karl attacks Kevin | |||
F81200-F869FF dialogue script-related | |||
F90200-F9B1F0 dialogue script-related | |||
F94000-F95FFF title screen BG clouds (uncompressed) | |||
FAB1F1-FAFFFF dialogue script-related | |||
FC0000-FCAE88 tilemaps (compressed) | |||
FCF500-FD41FF uncompressed graphics | |||
FE2E00-FE4DFF event script pointers | |||
FE2F00-FE8F7B letter characters, symbols (uncompressed) | |||
FE4E00-FE55FF event script bank indexes (+ $F8) | |||
FEA6F5-...... title screen FG graphics (compressed) | |||
FEFA60-...... title screen BG graphics (compressed) | |||
</pre> | </pre> |
Revision as of 00:28, 7 August 2013
The following article is a ROM map for Trials of Mana (SNES).
C05297-C052C6 decompression assembly (world map graphics) instructions are stored to RAM and executed there C052C7-C0537B decompression routine (world map graphics) C0EA03-C0FA42 dialogue script-related C0EA70 read event script pointer C0EA87 read event script bank C239CA-C23CB8 decompression routine (graphic sets) C2418D-C2437A decompression routine (tilesets) C243DA-C2441C decompression routine (solidity sets) C24527-C24876 decompression routine (tilemaps) C2AAF0-C2AC03 decompression routine (world map tilemap) C403A0 read action script opcode C42F5D-C4C4CD dialogue script-related routines C49561 load "Closed Garden" track for load game menu C51E90-C51F2A BRR sample pointers (52 samples, 3 bytes each) C51F2B-C52064 BRR sample relative volumes, pitches C52065-C52148 SPC data pointers (70 spcs, 3 bytes each) C53FC9-C735D9 SPC data C73903-C9A6DE BRR sample data CA0000-CA7FFF world map sub-map graphics (uncompressed) CAFA00-CAFFFF cursor graphics (uncompressed) CB040A-CB0B09 palette set pointers (7 pointers each = 14 bytes each) (bank $CD) CB0B0A-CB49DB tilemap offsets, dynamic data (from 01,00 of location data @ CB73DC) 3 bytes per offset, a string is terminated by FF 2 string are read: 1st for tilemap L1, 2nd for tilemap L2 1st pointer of a string points to the compressed tilemap, the rest are unknown CB49DC-CB73DB exit fields (4 bytes per field) 00 dest X coord 01 dest Y coord d6-d7 facing direction 03,02 destination CB73DC-CB9F5F location data (by location index @ 7E6028, 1114 items, 10 bytes each) 01,00 tilemap pack (+ $CB0000 = dynamic data, terminated by FF) 02 map pack (* 7 + $CD0750) 03 palette set 04 05 07,06 exit field index pack (+ $CB0000) 09,08 NPC map pointer (+ $CC0000) CB9F60-CBFFBF exit field index packs (2 bytes per pointer, packs are dynamic size) some pointers: & 0x7FF * 2 + $CB49DC = offset of exit field ...yet others (& 0x7FF) look like actual location indexes? CBD9D2-CBE1C3 tilemaps (compressed) CBFFC0-CBFFFF priority sets (4 bytes each) 00 d0-d4 enable mosaic 01 d0-d4 enable mainscreen 02 d0-d4 enable subscreen 03 d0-d4 color math d6 half intensity d7 minus subscreen CC0000-CC05FF monster pack collection (256 items, 6 bytes each) * 4 + $CC0600 = monster pack CC0600-CC09FF monster packs (256 items, 4 bytes each) * 3 + $CC0A00/CC0D00 = monster/NPC pack CC0A00-CC0CFF monster packs (256 items, 3 bytes each) CC0D00-CC0FFF NPC packs (256 items, 3 bytes each) CC1000-CC1899 graphics packs (dynamic, each string terminated by FFFF) * 3 + $CD02D0 = offset of pointer CC189A-CC6161 solidity sets (compressed, 2 bytes per tile) 00 d0 SE quadrant d1 SW quadrant d2 NE quadrant d3 NW quadrant d4 N edge blocked d5 can slide against d6 W edge blocked 01 d7 exit trigger enabled CC6162-CCE20D NPC maps (dynamic lengths) CC67F4-CC6820 NPC map for location 0018 (Rabite Forest from Castle City Jad) CC6811 level of first 3 monsters CCE20E-CCF600 tilemaps (compressed) CCFC00-CCFC79 animation string pointers CCFC7A-CCFFFF animation strings 00 d6,7 if clear, 4-byte length d6 unknown, 3-byte length if set d7 unknown, 1-byte length if set if d6/d7 clear: & 0x0F * 0x80 = offset of VRAM to draw to 01,02 unknown if 00,d6/d7 set 03,02 if d6/d7 clear: + $F70000 = offset of animation graphics CD0000-CD00D7 tileset L1 pointers (72 items, 3 bytes each) CD00D8-CD01AF tileset L2 pointers (72 items, 3 bytes each) CD01B0-CD023F solidity set L1 pointers (bank $CC)(72 items, 2 bytes each) CD0240-CD02CF solidity set L2 pointers (bank $CC)(72 items, 2 bytes each) CD02D0-CD060B graphics pointers (276 items, 3 bytes each) CD0750-CD0A3C tileset packs (107 items, 7 bytes each) 00 tileset L1 (* 2 + $CD01B0 = offset of pointer) 01 tileset L2 (* 2 + $CD01B0 = offset of pointer) 02 scrolling L2 d0-d2 speed d3 enable scrolling 03 & 0x0F = priority set 04 animation index * 2 + CCFC00 = pointer's offset 06,05 graphics pack (bank $CC) CD0A3D-CD3550 sprite palettes CD1EB7 palette for Kevin CD3551-CDA314 palette sets (180 bytes each, 6 palettes p/set, 30 bytes p/palette) CDBFDF-CDC9A7 tilemaps (compressed) CE0000-CFD284 tilesets (compressed) CFD720-CFE5AB tilemaps (compressed) D10000-D111FF monster stats (128 items, 36 bytes each) 00 sprite 01 palette 04-02 pointer to action script D12A40-D12B83 sprite mold pointers (2 bytes each, 162 items total) * 4 + $D50000 = offset of mold pack Duran, Kevin, Hawk, Angela, Carlie, Lise (the rest are NPCs) D133D0-D1393F monster base HPs (696 items, 2 bytes each) D134F2 Werewolf (level - 1) * 14 D1F5E0-...... monster XPs (3 bytes each) D1F61C Dark Battum D22D92-D2F817 dialogue script-related D30A13-D3F301 dialogue script-related D50000-D72FFF mold packs and mold data for sprites D52581-D525.. mold pack for Kevin (2 bytes each) D7C400-D7D5FF sprite graphics, magic, etc. (uncompressed) D7DC00-D7E1FF graphics, Kevin, wolf head (uncompressed) D7F600-D7FA.. numeral graphics, etc. (uncompressed) D80000-E3DFFF sprite graphics (uncompressed) E60000-E7CBFF magic, attack effect graphics (uncompressed) // SD3 world map tilemaps are drawn on 8x8 tile basis E80000-E801FF pointers to world map tilemap chunks E80200-E803FF pointers to holy land tilemap chunks E80400-E88947 world map tilemap chunks (compressed) E88948-E8A598 holy land tilemap chunks (compressed) E8B000-E8BD83 tilemaps (compressed) E8E800-E8EFFF world map mini-map (uncompressed) E8F000-E8FFFF battle numerals, symbols (2bpp, uncompressed) // SD3 Mode7 GFX are drawn in 8bpp linear format E90000-E90001 pointer to holy land animated GFX E90002-E90003 pointer to world map animated GFX E90004-E9291E world map GFX (compressed) E9291F-E92E9B holy land animated GFX (compressed) E92E9C-...... world map animated GFX (compressed) E96080-...... world map palettes EA0000-EFFFFF tilemaps (compressed) F00000-F6FFFF location graphics (compressed) F70000-F77FFF animated graphics (uncompressed) F7E8C4-F7FC8F item effect graphics (uncompressed) F7FC90-F7FFFF tilemaps (compressed) F80000-FBECA1 event scripts F96D36 Karl attacks Kevin F81200-F869FF dialogue script-related F90200-F9B1F0 dialogue script-related F94000-F95FFF title screen BG clouds (uncompressed) FAB1F1-FAFFFF dialogue script-related FC0000-FCAE88 tilemaps (compressed) FCF500-FD41FF uncompressed graphics FE2E00-FE4DFF event script pointers FE2F00-FE8F7B letter characters, symbols (uncompressed) FE4E00-FE55FF event script bank indexes (+ $F8) FEA6F5-...... title screen FG graphics (compressed) FEFA60-...... title screen BG graphics (compressed)