Trials of Mana (SNES)/ROM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
No edit summary
 
(4 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<code><pre>
{{rommap|game=Seiken Densetsu 3}}
C239CA-C23CB8 decompression routine A (graphic sets)
C2418D-C2437A decompression routine B (tilesets)
C243DA-C2441C decompression routine C (solidity sets)
C24527-C24876 decompression routine D (tilemaps)


<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 level data @ CB73DC)
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 15: Line 39:
d6-d7 facing direction
d6-d7 facing direction
03,02 destination
03,02 destination
CB73DC-CB9F5F level data (by level index @ 7E6028, 1114 items, 10 bytes each)
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 22: Line 46:
05
05
07,06 exit field index pack (+ $CB0000)
07,06 exit field index pack (+ $CB0000)
09,08 monster set
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 level indexes?
...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 33: 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-CC60C0 solidity sets (compressed, 2 bytes per tile)
CC189A-CC6161 solidity sets (compressed, 2 bytes per tile)
00 d0 SE quadrant
00 d0 SE quadrant
d1 SW quadrant
d1 SW quadrant
Line 45: 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 59: 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 map packs (107 items, 7 bytes each)
 
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 72: 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)


D133D0 Monster base HPs (2 bytes each)
CFD720-CFE5AB tilemaps (compressed)
D134F2 Werewolf
D1F5E0-?????? monster XPs (3 bytes each)
D1F61C Dark Battum


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?? mold pack for Kevin (2 bytes each)
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)


F00000-F4FFFF level graphics (compressed)
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)
</pre></code>
 
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>
 
{{Internal Data}}

Latest revision as of 21:20, 28 January 2024

Chip tiny.png 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)