Trials of Mana (SNES)/ROM map

From Data Crystal
Jump to navigation Jump to search

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)