Seiken Densetsu 3 / Secret of Mana 2

RAM Map

Address Description
7E1C10 Current Music
7E6018 Last Level
7E6028 Current Level
7E8700-7E897F Solidity Set L1
7E8980-7E8BFF Solidity Set L2
7FCCF2 Monster HP Current
7FE32C Music For Loaded Game
7FEDF2 HP Current
7FEE02 HP Max
7FFA13 Monster Index
7FFEEC Current Level

ROM Map

Address Description
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)
CB49DC-CB73DB Exit Fields
CB73DC-CB9F5F Location Data
CB9F60-CBFFBF Exit Field Index Packs
CBD9D2-CBE1C3 Tilemaps (Compressed)
CBFFC0-CBFFFF Priority Sets
CC0000-CC05FF Monster Pack Collection
CC0600-CC09FF Monster Packs
CC0A00-CC0CFF Monster Packs
CC0D00-CC0FFF NPC Packs (256 items, 3 bytes each)
CC1000-CC1899 Graphics Packs
CC189A-CC6161 Solidity Sets (Compressed)
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
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
CD0A3D-CD3550 Sprite Palettes
CD1EB7 Kevin's Palette
CD3551-CDA314 Palette Sets
CDBFDF-CDC9A7 Tilemaps (Compressed)
CE0000-CFD284 Tilesets (Compressed)
CFD720-CFE5AB Tilemaps (Compressed)
D10000-D111FF Monster Stats
D12A40-D12B83 Sprite Mold Pointers
D133D0-D1393F Monster Base HPs
D134F2 Werewolf Base HP
D1F5E0-...... Monster XPs
D1F61C Dark Battum XP
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)
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)
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-F811FF Event Scripts
F81200-F869FF Dialogue Script-Related
F90200-F9B1F0 Dialogue Script-Related
F94000-F95FFF Title Screen BG Clouds (Uncompressed)
F96D36 Event Scripts: Karl attacks Kevin
FAB1F1-FAFFFF Dialogue Script-Related
FB0000-FBECA1 Event Scripts
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)

Data Structures

Tilemap Offsets

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

Exit Fields

(4 bytes per field

00      dest X coord
01      dest Y coord
        d6-d7   facing direction
03,02   destination

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)

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?

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

Monster Pack Collection

256 items, 6 bytes each

* 4 + $CC0600 = monster pack

Monster Packs

CC0600-CC09FF: 256 items, 4 bytes each

* 3 + $CC0A00/CC0D00 = monster/NPC pack

CC0A00-CC0CFF: 256 items, 3 bytes each

Graphics Packs

Dynamic, each string terminated by FFFF

* 3 + $CD02D0 = offset of pointer

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

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

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)

Palette Sets

180 bytes each, 6 palettes per set, 30 bytes per palette

Monster Stats

128 items, 36 bytes each

00      sprite
01      palette
04-02   pointer to action script

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)

Monster Base HPs

696 items, 2 bytes each

(level - 1) * 14

Monster XPs

3 bytes each

00 ?
01 ?
02 ?

Data Tables

Monsters

There's a total of 128 monsters.

Index Set Name
00 Monster Shell Hunter
01 Monster Myconid
02 Monster Darth Matango
03 Monster Goblin
04 Monster Goblin Lord
05 Monster Beast Master
06 Monster Poron
07 Monster Porobin Hood
08 Monster Porobin Leader
09 Monster Duck Soldier
0A Monster Duck General
0B Monster Armor Knight
0C Monster Silver Knight
0D Monster Sword Master
0E Monster Dark Lord
0F Monster Ninja
10 Monster Ninja Master
11 Monster Night Blade
12 Monster Gal Bee
13 Monster Lady Bee
14 Monster Queen Bee
15 Monster Magician
16 Monster Wizard
17 Monster High Wizard
18 Monster Dark Priest
19 Monster Necro-mancer
1A Monster Evil Shaman
1B Monster Slime
1C Monster Slime Prince
1D Monster Grell
1E Monster Grell Mage
1F Monster Shape-shifter
20 Monster Shadow-zero
21 Monster Rabite
22 Monster Rabilion
23 Monster King Rabite
24 Monster Great Rabite
25 Monster Molebear
26 Monster Needlion
27 Monster Pakkun Lizard
28 Monster Pakkun Dragon
29 Monster Firedrake
2A Monster Basilisk
2B Monster Machine Golem
2C Monster Guardian
2D Monster Death Machine
2E Monster Ogre Box
2F Monster Kaiser Mimic
30 Monster Unicorn Head
31 Monster Gold Unicorn
32 Monster Evil Sword
33 Monster Element Sword
34 Monster Assassin Bug
35 Monster Ruster Bug
36 Monster Mega Crawler
37 Monster Giga Crawler
38 Monster Cocka-trice
39 Monster Needle-bird
3A Monster Cockabird
3B Monster Werewolf
3C Monster Black Fang
3D Monster Silver Wolf
3E Monster Bloody Wolf
3F Monster Wolf Devil
40 Monster Harpy
41 Monster Siren
42 Monster Bound Wolf
43 Monster Kerberos
44 Monster Bulette
45 Monster Gold Bulette
46 Monster Specter
47 Monster Ghost
48 Monster Poto
49 Monster Mama Poto
4A Monster Papa Poto
4B Monster Petit Dragon
4C Monster Frost Dragon
4D Monster Petit Tiamat
4E Monster Dragon Zombie
4F Monster Chibi-Devil
50 Monster Gremlin
51 Monster Lesser Demon
52 Monster Great Demon
53 Monster Pakkun Baby
54 Monster Pakkuri Baby
55 Monster Zombie
56 Monster Ghoul
57 Monster Carmilla
58 Monster Carmilla Queen
59 Monster Sahagin
5A Monster Petit Poseidon
5B Monster Sea Serpent
5C Monster Sea Dragon
5D Monster Battum
5E Monster Dark Battum
5F Monster Boulder
60 Monster Power Boulder
61 Bosses Machine Golems
62 Bosses Genova
63 Bosses Bill and Ben
64 Bosses Full Metal Hagger
65 Bosses Jewel Eater
66 Bosses Tzenker
67 Bosses Gorva
68 Bosses Black Rabite
69 Bosses Lugar
6A Bosses (unknown)
6B Bosses Gildervine
6C Bosses Beast King
6D Bosses Flamekhan
6E Bosses Queen of Reason
6F Bosses Koren
70 Bosses Deathjester
71 Bosses Jagan
72 Bosses Bigeau
73 Bosses Darkshine Knight
74 Bosses Heath
75 Bosses God-Beast Fiegmund
76 Bosses God-Beast Xan Bie
77 Bosses God-Beast Land Umber
78 Bosses God-Beast Dangaard
79 Bosses God-Beast Lightgazer
7A Bosses God-Beast Zable-Fahr
7B Bosses God-Beast Dolan
7C Bosses God-Beast Mispolm
7D Bosses Dragon Emperor
7E Bosses Dark Lich
7F Bosses Archdemon
00 NPC Set Ninja Master
01 NPC Set Night Blade
02 NPC Set Gal Bee
03 NPC Set Lady Bee
04 NPC Set Queen Bee
05 NPC Set Magician
06 NPC Set Wizard
07 NPC Set High Wizard
08 NPC Set Dark Priest
09 NPC Set Necromancer
0A NPC Set Evil Shaman
0B NPC Set Slime
0C NPC Set Slime Prince
0D NPC Set Grell
0E NPC Set Grell Mage
0F NPC Set Shape-Shifter
10 NPC Set Rabite
11 NPC Set Battum
12 NPC Set Bound Wolf
13 NPC Set Battum, Zombie
14 NPC Set Battum, Molebear
15 NPC Set Molebear
16 NPC Set Rabite, Myconid
17 NPC Set Magician, Machine Golem
18 NPC Set Assassin Bug, Poron
19 NPC Set Assassin Bug, Gal Bee
1A NPC Set Assassin Bug, Gal Bee
1B NPC Set Rabilion
1C NPC Set Needle Bird, Chibi-Devil
1D NPC Set Chibi-Devil, Harpy
1E NPC Set Harpy, Armor Knight
1F NPC Set Chibi-Devil, Evil Sword
00      mem addr (+ $7E2F00)
01      compare value @ mem addr, skip NPC if not within range
        d0-3    max value
        d4-7    min value
02      NPC pack
03      NPC type
        d0-3    if == 15, monster(s)
        d7      enable event trigger?
05,04   event script pointer

if not monster(s)...
06      X coord
07      Y coord
08      sprite index

else...
06      level of monsters
07,08   X,Y coord of 1st monster
09,0A   X,Y coord of 2nd monster
0B,0C   X,Y coord of 3rd monster

2nd and 3rd monsters are optional; terminated by 0xFF

LEVEL 18 (Rabite Forest, from CCJ)

32 03 10 
8F 00 0E 
01 
04 08 
8D 0D 
49 1F 

32 03 10 
8F 00 0E 
01 
88 2C 
FF      terminate npc string

32      
4F      d0-3
        d4-7
16      NPC set (* 6 + $CC0000 = NPC set)
8F      d0-3
        d4-7
00 0E 
08      level of monsters
04 08   X,Y coord of NPC 0
8D 0D   X,Y coord of NPC 1
49 1F   X,Y coord of NPC 2

32 4F 16 
8F 00 0E 
08      level of monsters
88 2C   X,Y coord of NPC 3
FF      terminate npc string

FF      terminate map string


LEVEL 811 (Castle City Jad, Weapon/Armor)

38      mem addr (+ $7E2F00)
00      d0-3    if mem addr >=, skip NPC
        d4-7    if mem addr <, skip NPC
                if d0-3 < d4-7, branch to $C27AE4
                else skip NPC
9B      NPC set
A0      NPC type
        if & 0x0F == 0x0F, monster (else, non-monster)
        d4  
        d5  
        d6  
        d7  enable event trigger
60 81   event pointer
47 07   X,Y coord of NPC 0
13      sprite index (in set)

38 
2F 
9B      NPC set
A0 
87 89   event pointer
47 07   X,Y coord of NPC 1
13      sprite index (in set)

20 
1F 80 
A0 50 41 
0B 09 
22 

FF 

$D104A4 Rabite (36 bytes)
00      sprite ($1A = Rabite)
01      palette ($21 = Rabite)
04-02   action script

00  1
01  1
02  1
03  1
04  2
05  1
06  1
07  1
08  1
09  1
0A  1
0B  1
0C  1
0D  2
0E  1
0F  1
10  2
11  2
12  2
13  2
14  3
15  4   jump to address (3,2,1)
16  2
17  4   jump to address (3,2)
18  2
19  2
1A  2
1B  2
1C  2
1D  2
1E  2
1F  2
20-2F   1
30-3F   1
40  2
41  2
42  2
43  2
44  2
45  2
46  2
47  2
48-4F   2   load script from pointer @ beg. of banks $D2-D9 resp.
50-5F   2   branching commands: 1,0 & 0xFFF = branch (signed)
60-6F   2   branching commands: 1,0 & 0xFFF = branch (signed)
70-7F   2
80  2
81  2
82  2
83  2
84-8F   1
90-EF   1
F0  2
F1  2
F2  2
F3  2
F4  2
F5  2
F6  2
F7  2
F8  1
F9  1
FA  1
FB  1
FC  1
FD  1
FE  1
FF  1

$D25799 Rabite action script
04 00 
15 DD E1 D2     pointer to address ($D2E1DD)
FD 
F8 
18 36 
15 74 57 D2     pointer to address ($D25774)
E2 
42 CF 
15 2E 39 D3     pointer to address ($D3392E)
FD 
05 
0A 

04 00 
16 05 84 
17 02 02 00 
C2 
57 06 
00 
C2 
57 D8 
57 10 
05 
CC 
40 88 
0D 02 
DC 
70 0A 

15 6A 56 D2     pointer to address ($D2566A)

CD 
40 F6 
0D 03 
F9 
50 00 
05 
0A 


05      d5-7    HP
07      d0-4    
08      d0-6
09      attack script
0A      d0-6    
0B      d0-6    
0C      d0-6    
0D      d0-6    
0E      d0-6
0F      d0-6
10      
11      
12      
13      
14      
15      

11  Night Blade 13 11 F5 42 D2 A0 00 1E 01 00 01 A8 B9 B4 D4 D4 FA 00 00 10 00 20 00 00 00 21 00 00 00 00 00 00 00 10 03 03 
16  Wizard      15 16 0E 46 D2 A0 00 1E A3 32 00 AE 05 BA CB E3 FC 00 00 00 3F 00 00 00 00 21 00 00 00 00 00 00 00 10 03 03 
21  Rabite      1A 21 99 57 D2 A0 00 5A D1 E4 89 B0 E2 D5 E3 E3 FD 00 00 00 00 00 40 00 00 21 00 00 00 00 00 00 00 10 03 03 

Levels

Number(s) Name
0011 Lakeshore Village Astoria
0016 Lakeshore Village Astoria
0017 Sub-zero Snowfield
0018 - 0020 Rabite Forest
0021 - 0023 Rabite Forest
0031 - 0042 Cave of the Waterfalls
0043 (between HCW and CotW)
0044 - 0051 Holy City Wendel + houses
0053 Castle City Jad
0054 Corobokkle Forest
0055 - 0063 Castle City Jad houses
0064 (between CCJ and RF)
0066 (seashore)
0102 - 0124 Labyrinth of Ice Walls
0143 - 0162 Valley of Flames
0222 - 0231 Gemstone Valley Dorian
0327 Beast Kingdom, from Moonlight Forest
0400 - .... Beast Kingdom Castle
0451 - 0472 Molebear Highlands
0494 - 0503 Golden Road
0549 - 0559 Sub-zero Snowfield
0560 - 0567 Desert of Scorching Heat
0644 - 0649 Lampflower Forest
0662 - 0673 Lampflower Forest
0677 - 0699 Moonlight Forest
0860 - 0883 Jungle of Illusion
0958 - 0978 Forest of Wonder
1059 - 1098 Dragon's Hole

Molds

D5283F
24      & 0x0F = chunk count
        d4
        d5
        d6
        d7
32 

each byte (or word if lower nibble clear) is a chunk
3E      d0      load NW tile
        d1      load NE tile
        d2      load SW tile
        d3      load SE tile
        d4
        d5
        d6,7    mirror,invert
00 40   00      lower nibble clear, ie. same as last chunk
        01      d6,7    mirror,invert
2F      d6,7    mirror,invert
4A      d6,7    mirror,invert

F0      X pos of sprite from screen center (-10 here)
F0      Y pos of sprite from screen center (-10 here)

48      d0-3    N shift of 2nd chunk pair (8px here)
        d4-7    W shift of 2nd chunk pair (4px here)

80 01   & 0xFFE0 = offset of graphics, 1st chunk
E0 1E
C0 01   & 0xFFE0 = offset of graphics, 2nd chunk
21 1F
C1 04   & 0xFFE0 = offset of graphics, 3rd chunk
20 1F
C0 04   & 0xFFE0 = offset of graphics, 4th chunk

SRAM Format

Open your saveram file in your hex editor. Seiken Densetsu 3 has three save logs; each one takes up 0x800 bytes. The first 0x70 bytes, from 00 to 6F, are a kind of header -- it's the info that appears on the save / load screen, and has no effect on your actual game.

All addresses in this document will be for log 1; if you want to hack log 2, add 0x800; if you want to hack log 3, add 0x1000. For example, maximum MP for character 1, log 1 is at 0x1FF. Max MP for character 1, log 2 is at 0x9FF. Speaking of maximum MP, let's hack that right now, so you can get the hang of hacking Remember, values are always in reverse byte order.

SRAM Checksum

A checksum is the sum of all bytes in a file (or a certain part of it) that's used to check for file integrity. When you save your game, Seiken Densetsu 3 adds up all the bytes in your save log and writes that 2-byte sum at the end of your save log. When you come back to the game, it adds up all the bytes in the save log again and compares that to the stored checksum. If those two sums don't match, Seiken Densetsu 3 assumes that the save log is corrupt (maybe the battery failed or something) or doesn't exist.

This is a problem when you want to hack your saved game, because if you change the data without changing the checksum appropriately, Seiken Densetsu 3 will think the log is corrupt, and you'll get the dreaded "No Save File." When you're making only small changes, like you did in the Quick Start section, it's easy to fix the checksum, but if you make a lot of big changes, it'll be a lot easier to just recalculate the checksum. Hex Workshop has an easy way to do this. If you're using something else, it's up to you to figure out.

To calculate the checksum we will simply add all the bytes, excluding the last 2, in a log together, a simple Checksum 16. Select the proper block of data. The first 0x70 bytes of each save log are a kind of header and aren't included in the checksum. Start at 0x70 and select all the way down through 0x7FD. This is a total of 0x78E bytes for log 1. If this is a working save log you're looking at, the checksum you've calculated will be the same as the 2-byte value at 0x7FE of your saveram.

After you finish making all your changes to your save file, you need to fix the checksum before you can play it. Follow the above procedure. Take the value you've calculated and write it over the old checksum at 0x7FE.

General Stats

I don't know exactly where each character's data block begins and ends. For the first character, the first value I know is current HP at 0x172-0x173, and the last value I know is maximum MP at 0x1FF-0x200. I do know that each character's data takes up 0xFF bytes.

Important: All these following addresses will be for the first character's data. If you want to hack the second character's data, add 0xFF to the address. If you want to hack the third character, add 0x1FE. For instance, character one's current HP is at 0x172-0x173; character two's is at 0x271-0x272, and character three's is at 0x370-0x371.

Attack, Evade, Defense and Magic Defense are determined by your stats and equipment, so any changes to these won't be permanent.

Group Offset Length Description
Character 1 Stats 0x0172 0x02 Current HP
Character 1 Stats 0x0174 0x02 Current MP
Character 1 Stats 0x0176 0x01 Strength
Character 1 Stats 0x0177 0x01 Agility
Character 1 Stats 0x0178 0x01 Vitality
Character 1 Stats 0x0179 0x01 Intelligence
Character 1 Stats 0x017A 0x01 Spirit
Character 1 Stats 0x017B 0x01 Luck
Character 1 Stats 0x017C 0x02 Total Experience / 50000
Character 1 Stats 0x017E 0x02 Remainder of (Total Experience / 50000)
Character 1 Class 0x0185 0x01 Counter Gauge Maximum (04, 07, or 09)
Character 1 Stats 0x0186 0x02 Experience for Next Level / 50000
Character 1 Stats 0x0188 0x02 Remainder of (Exp. for Next Level / 50000)
Character 1 Stats 0x018A 0x01 Experience Level
Character 1 Class 0x018C 0x01 Class Family (Base Class)
Character 1 Class 0x018D 0x01 Class Changes
Character 1 Class 0x018E 0x01 Light-Dark Scale
Character 1 Equipment 0x018F 0x01 Weapon
Character 1 Equipment 0x0190 0x01 Helmet
Character 1 Equipment 0x0191 0x01 Armor
Character 1 Equipment 0x0192 0x01 Ring
Character 1 Equipment 0x0193 0x01 Shield
Character 1 Stats 0x01A7 0x02 Attack Power
Character 1 Stats 0x01AE 0x01 Evade Rate
Character 1 Stats 0x01AF 0x02 Defense Power
Character 1 Stats 0x01B1 0x02 Magic Defense Power
Character 1 Equipment 0x01B5 0x06 Spare Weapons
Character 1 Equipment 0x01C5 0x06 Spare Helmets
Character 1 Equipment 0x01CD 0x06 Spare Armor
Character 1 Equipment 0x01D5 0x06 Spare Rings
Character 1 Equipment 0x01DD 0x06 Spare Shields
Character 1 Magic 0x01E5 0x0B Spells
Character 1 Magic 0x01F1 0x0B Spell Targeting Values
Character 1 Stats 0x01FD 0x02 Max HP
Character 1 Stats 0x01FF 0x02 Max MP
Party Data: Miscellaneous 0x0491 0x02 Luck
Party Data: Item Ring 0x0756 0x09 Items
Party Data: Item Ring 0x0760 0x09 Item Quantities
Party Data: Storage 0x06A5 0x66 Item-by-Item Quantities

Equipment

Weapons

A value of 0x00 is Nothing. 0x01-0x1E are Swords. 0x1F-0x2A are cool-looking "Nothing" swords with varying attack power. Each character's weapons take up 0x2A values: 0x01 is the first sword, 0x2B is the first glove, 0x55 is the first dagger, 0x7F is the first rod, 0xA9 is the first flail, and 0xD3 is the first spear. Sorry, no matter what weapon a character is equipped with, they'll look and fight the same as ever.

Armor, Helmets, Rings & Shields

0x00 is Nothing. 0x01-0x48 are helmets; each character takes up 0x0C values. 0x49-0x7E are rings; each character takes up 0x09 values. 0x7F-0xF6 are armor; each character takes up 0x14 values. 0xF7-0xFF are all shields! (I wonder if they're all available in the actual game.) Notice that you can put any armor type in any spot, which can lead to strange stats.

Magic

Group Code Spell
Character Spells: Earth 0x00 (No Spell)
Character Spells: Earth 0x01 Diamond Missile
Character Spells: Earth 0x02 Earthquake
Character Spells: Earth 0x03 Stone Cloud
Character Spells: Earth 0x04 Protect Up
Character Spells: Earth 0x05 Speed Down
Character Spells: Earth 0x06 Diamond Saber
Character Spells: Air 0x07 (Air Spell)
Character Spells: Air 0x08 (Air Spell)
Character Spells: Air 0x09 (Air Spell)
Character Spells: Air 0x0A (Air Spell)
Character Spells: Air 0x0B (Air Spell)
Character Spells: Air 0x0C (Air Spell)
Character Spells: Water 0x0D (Water Spell)
Character Spells: Water 0x0E (Water Spell)
Character Spells: Water 0x0F (Water Spell)
Character Spells: Water 0x10 (Water Spell)
Character Spells: Water 0x11 (Water Spell)
Character Spells: Water 0x12 (Water Spell)
Character Spells: Fire 0x13 (Fire Spell)
Character Spells: Fire 0x14 (Fire Spell)
Character Spells: Fire 0x15 (Fire Spell)
Character Spells: Fire 0x16 (Fire Spell)
Character Spells: Fire 0x17 (Fire Spell)
Character Spells: Fire 0x18 (Fire Spell)
Character Spells: Dark 0x19 (Dark Spell)
Character Spells: Dark 0x1A (Dark Spell)
Character Spells: Dark 0x1B (Dark Spell)
Character Spells: Dark 0x1C (Dark Spell)
Character Spells: Dark 0x1D (Dark Spell)
Character Spells: Dark 0x1E (Dark Spell)
Character Spells: Light 0x1F (Light Spell)
Character Spells: Light 0x20 (Light Spell)
Character Spells: Light 0x21 (Light Spell)
Character Spells: Light 0x22 (Light Spell)
Character Spells: Light 0x23 (Light Spell)
Character Spells: Light 0x24 (Light Spell)
Character Spells: Moon 0x25 (Moon Spell)
Character Spells: Moon 0x26 (Moon Spell)
Character Spells: Moon 0x27 (Moon Spell)
Character Spells: Moon 0x28 (Moon Spell)
Character Spells: Moon 0x29 (Moon Spell)
Character Spells: Moon 0x2A (Moon Spell)
Character Spells: Tree 0x2B (Tree Spell)
Character Spells: Tree 0x2C (Tree Spell)
Character Spells: Tree 0x2D (Tree Spell)
Character Spells: Tree 0x2E (Tree Spell)
Character Spells: Tree 0x2F (Tree Spell)
Character Spells: Tree 0x30 (Tree Spell)
0x31 Detect
Assorted Spells and Techniques 0x32
Assorted Spells and Techniques 0x33
Assorted Spells and Techniques 0x34
Assorted Spells and Techniques 0x35
Assorted Spells and Techniques 0x36
Assorted Spells and Techniques 0x37
Assorted Spells and Techniques 0x38
Assorted Spells and Techniques 0x39
Assorted Spells and Techniques 0x3A
Assorted Spells and Techniques 0x3B
Assorted Spells and Techniques 0x3C
Assorted Spells and Techniques 0x3D
Assorted Spells and Techniques 0x3E
Assorted Spells and Techniques 0x3F
Assorted Spells and Techniques 0x40
Assorted Spells and Techniques 0x41
Assorted Spells and Techniques 0x42
Assorted Spells and Techniques 0x43
Assorted Spells and Techniques 0x44
Assorted Spells and Techniques 0x45
Assorted Spells and Techniques 0x46
Assorted Spells and Techniques 0x47
Assorted Spells and Techniques 0x48
Assorted Spells and Techniques 0x49
Assorted Spells and Techniques 0x4A
Assorted Spells and Techniques 0x4B
Assorted Spells and Techniques 0x4C
Assorted Spells and Techniques 0x4D
Assorted Spells and Techniques 0x4E
Assorted Spells and Techniques 0x4F
Second / Third Level Power Attacks 0x50
Second / Third Level Power Attacks 0x51
Second / Third Level Power Attacks 0x52
Second / Third Level Power Attacks 0x53
Second / Third Level Power Attacks 0x54
Second / Third Level Power Attacks 0x55
Second / Third Level Power Attacks 0x56
Second / Third Level Power Attacks 0x57
Second / Third Level Power Attacks 0x58
Second / Third Level Power Attacks 0x59
Second / Third Level Power Attacks 0x5A
Second / Third Level Power Attacks 0x5B
Second / Third Level Power Attacks 0x5C
Second / Third Level Power Attacks 0x5D
Second / Third Level Power Attacks 0x5E
Second / Third Level Power Attacks 0x5F
Second / Third Level Power Attacks 0x60
Second / Third Level Power Attacks 0x61
Second / Third Level Power Attacks 0x62
Second / Third Level Power Attacks 0x63
Second / Third Level Power Attacks 0x64
Second / Third Level Power Attacks 0x65
Second / Third Level Power Attacks 0x66
Second / Third Level Power Attacks 0x67
Second / Third Level Power Attacks 0x68
Second / Third Level Power Attacks 0x69
Second / Third Level Power Attacks 0x6A
Second / Third Level Power Attacks 0x6B
Second / Third Level Power Attacks 0x6C
Second / Third Level Power Attacks 0x6D
Second / Third Level Power Attacks 0x6E
Second / Third Level Power Attacks 0x6F
Second / Third Level Power Attacks 0x70
Second / Third Level Power Attacks 0x71
Second / Third Level Power Attacks 0x72
Second / Third Level Power Attacks 0x73
Second / Third Level Power Attacks 0x74
Second / Third Level Power Attacks 0x75
Second / Third Level Power Attacks 0x76
Second / Third Level Power Attacks 0x77
Second / Third Level Power Attacks 0x78
Second / Third Level Power Attacks 0x79
Thrown Weapons 0x7A
Thrown Weapons 0x7B
Thrown Weapons 0x7C
Thrown Weapons 0x7D
Thrown Weapons 0x7E
Thrown Weapons 0x7F
Thrown Weapons 0x80
Thrown Weapons 0x81
Thrown Weapons 0x82
Thrown Weapons 0x83
Enemies' Special Attacks 0x84
Enemies' Special Attacks 0x85
Enemies' Special Attacks 0x86
Enemies' Special Attacks 0x87
Enemies' Special Attacks 0x88
Enemies' Special Attacks 0x89
Enemies' Special Attacks 0x8A
Enemies' Special Attacks 0x8B
Enemies' Special Attacks 0x8C
Enemies' Special Attacks 0x8D
Enemies' Special Attacks 0x8E
Enemies' Special Attacks 0x8F
Enemies' Special Attacks 0x90
Enemies' Special Attacks 0x91
Enemies' Special Attacks 0x92
Enemies' Special Attacks 0x93 Black Rain
Enemies' Special Attacks 0x94
Enemies' Special Attacks 0x95
Enemies' Special Attacks 0x96
Enemies' Special Attacks 0x97
Enemies' Special Attacks 0x98
Enemies' Special Attacks 0x99
Enemies' Special Attacks 0x9A
Enemies' Special Attacks 0x9B Hyper Cannon
Enemies' Special Attacks 0x9C Hell Southern Cross
Enemies' Special Attacks 0x9D
Enemies' Special Attacks 0x9E
Enemies' Special Attacks 0x9F
Enemies' Special Attacks 0xA0
Enemies' Special Attacks 0xA1
Enemies' Special Attacks 0xA2
Enemies' Special Attacks 0xA3 Mr. Death God
Enemies' Special Attacks 0xA4
Enemies' Special Attacks 0xA5
Enemies' Special Attacks 0xA6
Enemies' Special Attacks 0xA7
Enemies' Special Attacks 0xA8
Enemies' Special Attacks 0xA9
Enemies' Special Attacks 0xAA
Enemies' Special Attacks 0xAB
Enemies' Special Attacks 0xAC
Enemies' Special Attacks 0xAD
Enemies' Special Attacks 0xAE
"magicXX's" 0xAF Visual Effects for Bosses Dying
"magicXX's" 0xB0 Visual Effects for Bosses Dying
"magicXX's" 0xB1 Visual Effects for Bosses Dying
"magicXX's" 0xB2 Visual Effects for Bosses Dying
"magicXX's" 0xB3 Visual Effects for Bosses Dying
"magicXX's" 0xB4 Visual Effects for Bosses Dying
"magicXX's" 0xB5 Visual Effects for Bosses Dying
Enemies' Special Attacks 0xB6
Enemies' Special Attacks 0xB7
Enemies' Special Attacks 0xB8
Enemies' Special Attacks 0xB9 Spiral Moon
Enemies' Special Attacks 0xBA
Enemies' Special Attacks 0xBB
Enemies' Special Attacks 0xBC
Enemies' Special Attacks 0xBD
Enemies' Special Attacks 0xBE
Enemies' Special Attacks 0xBF
Enemies' Special Attacks 0xC0
Enemies' Special Attacks 0xC1
Enemies' Special Attacks 0xC2
Enemies' Special Attacks 0xC3
Enemies' Special Attacks 0xC4
Enemies' Special Attacks 0xC5
Enemies' Special Attacks 0xC6
Enemies' Special Attacks 0xC7
Enemies' Special Attacks 0xC8
Enemies' Special Attacks 0xC9
Enemies' Special Attacks 0xCA
Enemies' Special Attacks 0xCB
Enemies' Special Attacks 0xCC
Enemies' Special Attacks 0xCD
Enemies' Special Attacks 0xCE
Enemies' Special Attacks 0xCF Flare
SBD's 0xD0
SBD's 0xD1
SBD's 0xD2
SBD's 0xD3
Enemies' Special Attacks 0xD4
Enemies' Special Attacks 0xD5
Enemies' Special Attacks 0xD6
Enemies' Special Attacks 0xD7
Enemies' Special Attacks 0xD8
Enemies' Special Attacks 0xD9
Enemies' Special Attacks 0xDA
SBD's 0xDB
SBD's 0xDC
SBD's 0xDD
SBD's 0xDE
SBD's 0xDD
SBD's 0xE0
SBD's 0xE1
SBD's 0xE2
SBD's 0xE3
SBD's 0xE4
SBD's 0xE5
SBD's 0xE6
SBD's 0xE7 Leave Area
SBD's 0xE8 Call Flammie
SBD's 0xE9
SBD's 0xEA
SBD's 0xEB
SBD's 0xEC
SBD's 0xED
SBD's 0xEE
SBD's 0xEF
SBD's 0xF0
SBD's 0xF1
SBD's 0xF2
SBD's 0xF3
SBD's 0xF4
SBD's 0xF5
SBD's 0xF6
SBD's 0xF7
SBD's 0xF8
SBD's 0xF9
SBD's 0xFA
SBD's 0xFB
SBD's 0xFC
SBD's 0xFD
SBD's 0xFE
SBD's 0xFF

Detect was apparently dummied out and has no description or effect. Second and Third Level Power Attacks you can "cast" for 0 MP, though be warned that if the "wrong" character uses an attack, it'll look funny at best, and crash the game at worst. Enemies' Special Attacks (and trap effects, etc.); like character techs, they don't consume any MP. Most "SBD's" are just visual effects.

Spell Targeting has a valid range between 0x01 and 0x04: 01 is One, 02 is All, 03 is One/All, and 04 is caster (for ally-targeted spells) or last ally targeted (for enemy-targeted spells).

Class

Class family is a value from 00 to 05, with 00 being the Fighter classes, 01 being the Grappler classes, and so on. Class changes is 00 for the base class, 01 for a second-level class, and 02 for a third-level class. Light-dark scale can range between 00 and 03, with 00 being light-light and 03 being dark-dark.

Class Family Code Class Name Tech Attack
Fighter 00 00 00 Fighter
Fighter 00 01 00 Knight 3-Step Cut
Fighter 00 01 01 Gladiator Whirlwind Sword
Fighter 00 02 00 Paladin Flashing Sword
Fighter 00 02 01 Lord Magic Circle
Fighter 00 02 02 Swordmaster Vacuum Blade
Fighter 00 02 03 Duelist Eruption Sword
Grappler 01 00 00 Grappler
Grappler 01 01 00 Monk Whirlwind Kick, Tornado Throw
Grappler 01 01 01 Bashkar Water-Moon Slice, Bastard Slam
Grappler 01 02 00 God Hand Byakko Shockwave, Stardust Bomb
Grappler 01 02 01 Warrior Monk Genbu 100-Kick, Blow Impact
Grappler 01 02 02 Dervish Suzaku Sky Dance, Veritubach
Grappler 01 02 03 Death Hand Seiryuu Death Fist, Dead Crush
Thief 02 00 00 Thief
Thief 02 01 00 Ranger Flying Swallow Toss
Thief 02 01 01 Ninja Silhouette Slice
Thief 02 02 00 Wanderer Dance of Roses
Thief 02 02 01 Rogue Thousand Slice
Thief 02 02 02 Nightblade Split-Image Slice
Magician 03 00 00 Magician
Magician 03 01 00 Sorceress Pink Typhoon
Magician 03 01 01 Delvar Star Attack
Magician 03 02 00 Grand Divina Spiral Rod
Magician 03 02 01 Archmage Dancing Rod
Magician 03 02 02 Rune Master 10 Tons
Magician 03 02 03 Magus Hot Shot
Cleric 04 00 00 Cleric
Cleric 04 01 00 Priestess Jump
Cleric 04 01 01 Enchantress Dash
Cleric 04 02 00 Bishop ChopChop
Cleric 04 02 01 Sage BoomBoom
Cleric 04 02 02 Necromancer Craaaazy
Cleric 04 02 03 Evil Shaman HugeHuge
Amazoness 05 00 00 Amazoness
Amazoness 05 01 00 Valkyrie Vacuum Surge Spear
Amazoness 05 01 01 Rune Maiden Flying Heaven Spear
Amazoness 05 02 00 Vanadis Light Ball Spear
Amazoness 05 02 01 Star Lancer Falling Star
Amazoness 05 02 02 Dragon Master Dragon Fang Spear
Amazoness 05 02 03 Fenrir Knight Hundred Flower Dance

Party Data

Item Ring

0x00 is Nothing. 0x01-0x18 are third-level class items. 0x19-0x1E are seeds. 0x1F-0x4E are magic items; these are arranged just like the spells they correspond to. 0x4F-0x52 are thrown weapons. 0x53-0x59 are recovery items. 0x5A-0x66 are special items, quest items, and dummied items (including 5A Magical Rope and 60 Dreamsee Herb). 0x67 on are Nothings.

Storage

This long list corresponds to the values that are used on your item ring. That is, 0x6A5 is how many Nothings you have in storage, 0x6A6 is how many Paladin Proofs, etc. A value of 0x00 means you don't have that item in storage, obviously. If you set all of these values to 0x01, you'll have one of every item in storage.

Notes

  • Mode7 GFX are drawn in 8BPP linear format
  • World Map Tilemaps are drawn on 8x8 tile basis

Information mostly from giangurgolo. SRAM Format originally written by Jair from the Vale, expanded up and corrected by various others.