Final Fantasy 5

ROM Map

Offset Description Info
043DAA Audio / Sample Indexes
100200 - 102FFF? Enemy Data
11020D - 110734 Weapon Data
110812 Armor Data
117200 Starting Stats
112600 Equipment Restrictions

Weapon Data

Format

Each weapon is 12 bytes in length.

Usage
|  Class Restrictions
|  |  Effect
|  |  |  Compatibilities
|  |  |  |  Magic/Abil Cast Type
|  |  |  |  |  1?
|  |  |  |  |  |  Attack Power
|  |  |  |  |  |  |  2?
|  |  |  |  |  |  |  |  3 Attribute (Element?)
|  |  |  |  |  |  |  |  |  Magic/Abil Cast Chance
|  |  |  |  |  |  |  |  |  |  Magic/Abil Cast
|  |  |  |  |  |  |  |  |  |  |  4?
|__|__|__|__|__|__|__|__|__|__|__|_
80-40-80-00-00-78-03-30-08-00-00-00 Bare Hands
80-02-80-16-04-78-07-32-00-00-00-00 (Knife) Knife

Usage

Value Description
80 Normal Equip
04 Shatters when used as an item

Class Restriction

Value Description
40 Default Weapon (Bare hands)
00 No Classes
01 All Classes
02 All but Monk and White Mage
03 Ninja only
04 Knight, Mystic Knight, Blue Mage, and Red Mage.
05 Knight Only
06 Dragoon Only
07 Berserker Only
08 Berserker Only
09 Samurai Only
0A Black Mage, Red Mage, Blue Mage, Time Mage, Summoner, Mimic
0B White Mage, Red Mage, Time Mage, Chemist, Mimic
0C White Mage, Time Mage, Chemist
0D Hunter Only
0E Bard Only
0F Mediator Only
10 Geomancer Only
11 Knight, Dragoon, Samurai, Berserker, Mystic Knight, Blue Mage, Mimic
12 Knight, Dragoon, Samurai, Berserker, Mystic Knight, Mimic
13 Monk, Thief, Ninja, Hunter, Blue Mage, Red Mage, Mediator, Chemist, Dancer, Mimic
14 White Mage, Black Mage, Time Mage, Blue Mage, Red Mage, Summoner, Chemist, Geomancer, Bard, Dancer, Mimic
15 Dancer Only
16 Knight, Dragoon, Samurai, Berserker, Mystic Knight, Mimic
17 Not White Mage, Black Mage, Time Mage, Summoner, Geomancer, Bard
18 White Mage, Black Mage, Time Mage, Blue Mage, Red Mage, Summoner, Chemist, Geomancer, Bard, Dancer, Mimic
19 Knight, Dragoon, Samurai, Berserker, Mystic Knight, Mimic
1A Not Knight, Dragoon, Samurai, Berserker, Mystic Knight
20 No Classes
21 No Classes
22 No Classes
23 No Classes
24 No Classes
25
26
27
28
29
2A No Classes
2B
2C
2D
2E
2F
30
4A Black Mage, Red Mage, Blue Mage, Time Mage, Summoner, Mimic

Compatibilities

Value Description
00 None
15 Magic Sword OK and Double Grip OK
16 Magic Sword OK
17 Jump OK
18 Back Row OK and Double Grip OK
19 Double Grip OK
1A Double Grip OK
1B Double Grip ONLY and Back Row OK
1C Halves MP During Battle
1D Improves "Steal"
1E Increases Elemental Magic Strength
1F Improves "Holy"
23 Back Row OK
40 Nothing?
55 Double Grip OK and Magic Sword OK
58 Back Row OK and Double Grip OK
59 Double Grip OK
5A Double Grip OK
69 Uses MP and Double Grip OK
9B Double Grip ONLY and Back Row OK

Cast Type

Value Description
x6 So 06 and multiples makes Random cast use Abilities
xC So 0C and multiples makes Random cast use Magics

Random Cast

This is what the weapon Casts when it is swung. The ones that say "Nothing?" are ones that in my testing, did not do anything, but may infact do something under other conditions that I was too lazy to expirament with. You can also assume that any of the ones with a question mark (?) are unsure, if you can correct one of them, please let me know, I'd be much obliged.

If they are blank, or unlisted, this means they are untested (512 values is alot...). If you get the chance to test them, please let me know what they do.

Due to the fact that abilities normally require certain conditions or situations, some of them simply won't be useful (Throw for instance). Additionally, Magics/Abilties with a special method of targeting (Death Roulette, for instance) almost always do not keep their targeting mode, and will simply effect the target struck by the weapon.

*1 : Does Nothing
*2 : Big Red X
*3 : Freezes Game
*4 : Casts Fire Sword
*5 : seems to 100% defence from physical attacks

-##---Magic-(0C)------------------Ability-(06)---------------------
00 = Nothing                   : Nothing
01 =   ''                      : !Other *1
02 =   ''                      : !Item *2
03 =   ''                      : !Change
04 =   ''                      : !Defence
05 =   ''                      : !Fight
06 =   ''                      : !Protect
07 =   ''                      : !Kick
08 =   ''                      : !BuildUp
09 =   ''                      : !Chakra
0A =   ''                      : !Escape
0B =   ''                      : !Steal
0C =   ''                      : !Capture
0D =   ''                      : !Jump
0E =   ''                      : !DrgnSwd
0F =   ''                      : !Smoke
10 =   ''                      : !Image
11 = Nothing                   : !Throw (Throws Nothing)
12 = Cure                      : !SwdSlap
13 = Scan                      : !GP Toss
14 = Antdt                     : !Slash
15 = Mute                      : !Animals
16 = Shell                     : !Aim *3
17 = Mini                      : !X-Fight
18 = Cure2                     : !Summon *1
19 = Raise                     : !Peep
1A = Confu                     : !Scan
1B = Blink                     : !Tame
1C = Shell                     : !Control
1D = Esuna                     : !Catch (Never Works)
1E = Cure3                     : !Release (Does 0 damage to a fixed target)
1F = Wall                      : !Mix (Mysidian Rabbit)
20 = Bersrk                    : !Drink *2
21 = Arise                     : !Pray
22 = Holy                      : !Revive
23 = Dispel                    : !Terrain
24 = Fire                      : !Dummy01 (Nothing)
25 = Ice                       : !Conceal *3 (No !Appear command)
26 = Bolt                      : !Appear (hahaha)
27 = Venom                     : !Dummy02 *4
28 = Sleep                     : !Sing *4
29 = Toad                      : !Flirt
2A = Fire2                     : !Dance
2B = Ice2                      : !Mimic *3
2C = Bolt2                     : !MgSwd (Lv.1) *4   To cast the actual magics
2D = Drain                     : !MgSwd (Lv.2) *4   Such as the Other Magic swords
2E = Break                     : !MgSwd (Lv.3) *4   Time Magic and Such, Set the
2F = Bio                       : !MgSwd (Lv.4) *4   Cast type byte to 0C and set the
30 = Fire3                     : !MgSwd (Lv.5) *4   Cast according to the magic
31 = Ice3                      : !MgSwd (Lv.6) *4   values (on the left)
32 = Bolt3                     : !White (Lv.1) *4
33 = Flare                     : !White (Lv.2) *4
34 = Doom                      : !White (Lv.3) *4
35 = Asper                     : !White (Lv.4) *4
36 = Speed                     : !White (Lv.5) *4
37 = Slow                      : !White (Lv.6) *4
38 = Regen                     : !Black (Lv.1) *4
39 = Mute                      : !Black (Lv.2) *4
3A = Haste                     : !Black (Lv.3) *4
3B = Float                     : !Black (Lv.4) *4
3C = Demi                      : !Black (Lv.5) *4
3D = Stop                      : !Black (Lv.6) *4
3E = Exit                      : !Time  (Lv.1) *4
3F = Comet                     : !Time  (Lv.2) *4
40 = Slow2                     : !Time  (Lv.3) *4
41 = Return                    : !Time  (Lv.4) *4
42 = Demi2                     : !Time  (Lv.5) *4
43 = Haste2                    : !Time  (Lv.6) *4
44 = Old                       : !Call  (Lv.1) *4
45 = Meteo                     : !Call  (Lv.2) *4
46 = Quick                     : !Call  (Lv.3) *4
47 = X-zone                    : !Call  (Lv.4) *4
48 = Junk                      : !Call  (Lv.5) *4
49 =                           : !Call  (Lv.6) *4
4A =                           : !Wht/Blk (Lv.1) *4
4B =                           : !Wht/Blk (Lv.2) *4
4C =                           : !X-Magic
4D =                           : !Blue
4E =                           : *1
4F = Junk                      : Woopdee + !Jump
50 = Junk                      : Woopdee
51 = Junk                      : "Throbbing"
52 =                           : Dummy03 (Jump)
53 =                           : Rage (Geomancy)
54 =                           : Iris on Lenna and show stats *3
55 =                           : !Fight
56 = Junk                      : Quake (Geomancy)
57 = Power Song?               : Nothing
58 = Speed Song?               : Nothing
59 = Strength Song?            : !Steal
5A = MP Song?                  : !Change
5B = LVL song?                 : Squirrel (Animals)
5C = Requium?                  : !Defence
5D = Love Song?                : Mysidian Rabbit (Animals)
5E = Temptation Song?          : !BuildUp
5F = Chocobo                   : *5
60 = Sylph                     : *5
61 = Remora                    : !Capture
62 = Shiva                     : *5
63 = Ramuh                     : !X-Fight
64 = Ifrit                     : *5
65 = Titan                     : !Revive
66 = Golem                     : *5
67 = Shoat                     : *5 (but does strike)
68 = Carbunkle                 : *5
69 = Syldra/Hydra              : Freezes Game
6A = Odin                      : *5
6B = Phoenix                   :
6C = Leviathan                 :
6D = Bahamut                   :
6E = Quake (Geogmancy)         :
6F = Branch Spear (Geomancy)   :
70 = Nothing?                  :
71 = Absorbs HP                :
72 = Absorbs MP                :
73 = Nothing?                  :
74 = Some Song                 :
75 = Some Song                 :
76 = Song + Dmg + Confuse      :
77 = Song + DMG                :
78 = Nothing?                  :
79 = MP Absorb                 :
7A = HP Absorb                 :
7B = Confuse                   :
7C = Wall/Shell or Something   :
7D = Nothing?                  :
7E = Nothing?                  :
7F = Engtangle?                :
80 = Goblin Punch?             :
81 = Goblin Punch?             :
82 = Condemn                   :
83 = Roulette                  :
84 = Aqua rake                 :
85 = Lvl 5 Death               :
86 = Lvl 4 Gravi               :
87 = Lvl 2 Old                 :
88 = Lvl 3 Flare               :
89 = Frog Song                 :
8A = Small Melody              :
8B = Flash                     :
8C = Time Slip                 :
8D = Moon Flute                :
8E = Death Claw                :
8F = Aero                      :
90 = Aero 2                    :
91 = Aero 3                    :
92 = Emission                  :
93 = Goblin Punch              :
94 = Black Shock               :
95 = Gaurd Off                 :
96 = Fusion/Pep Up             :
97 = Mind Blast                :
98 = Vampire                   :
99 = Magic Hammer              :
9A = Big Gaurd                 :
9B = Exploder                  :
9C = ???? (The actual Attack)  :
9D = 1000 Needles              :
9E = White Wind                :
9F = Missile                   :
A0 = Stars (Toad)              :
A1 = ? Red Rings               :
A2 = ? Run Noise               :
A3 = Nothing                   :
A4 = ? Halts Gauge             :
A5 = Instant Kill              :
A6 = Funky GFX (Random Effect) :
A7 = Delta GFX (Break)         :
A8 = Nothing                   :
A9 = ? Flash                   :
AA = Nothing                   :
AB = Rage (Geomancy)           :
AC = Nothing                   :
AD = ? Scan GFX                :
AE = ? Blue Ring               :
AF = Grim Reaper (Death)       :
B0 = Slash+Skull (Death)       :
B1 = Explosion (Death)         :
B2 = Some Entangle             :
B3 = Break                     :
B4 = Break                     :
B5 = Poison thingy             :
B6 = Purple Balls              :
B7 = Flash (Zombie)            :
B8 = Spores (Zombie)           :
B9 = Smokepuffs (Zombie)       : Happy Jig *1
BA = Nothing?
BB =
BC =
BD =
BE =
BF = Nothing?
C0 = Fah?
C1 = Needle
C2 = Whirl Wind
C3 = Bone thingy
C4 = Areo GFX, Whirl Wind DMG
C5 = Mucus

Enemy Data

An enemy consists of 32 bytes.

   a  b  c  d  e  f  g  h  i  j  k  l  m  n  o  p
   |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
A- 0A-05-01-00-00-00-05-00-10-00-03-00-0A-00-14-00
B- 02-00-80-00-00-00-00-00-00-00-00-00-00-00-00-06

Aa =    Speed (Gauge time)
Ab =    Attack Power
Ac =    Hits? An Attack Multiplier of some sort.
Ad =    Magic Defense
Ae =
Af =
Ag =
Ah =
Ai-Aj = HP, First 1s and 255s, then 4095s and 65535s (I.E. 05 00 = 0005 = 5)
Ak-Al = MP,         ''
Am-An = Experience, ''
Ao-Ap = Gil,        ''
Ba =    Attack Graphic & Sound Effect
        ยค 02 = Horizontal Grey Slash
        ยค 03 = Horizontal Grey-White Slash
        ยค 04 = Horizontal White Slash
        ยค 05 = Horizontal Blue-White Slash
        ยค 06 = Horizontal Blue Slash
        ยค 10 = Diagonal Green Slash
        ยค 11 =
        ยค 12 = Diagonal White Slash
        ยค 20 = One Grey Star
        ยค 60 = Staff (not visible on characters, but does make them dance if it misses @_@)
        ยค 80 = Three Big Red-orange Stars
        ยค 88 = Two Yellow Spiral Slashes
        ยค A0 = Barf
        ยค FF = Little Weird Arrow
Bb =    ? Strength (Fire?)
Bc
Bd
Be
Bf
Bg
Bh =    Weakness
Bi
Bj
Bk =    Starting Condition, Uses bitwise operands (I.E. C6 would be Blind + Zombie + Stone + Wounded) :
        00 = Normal
        01 = Blind
        02 = Zombie
        04 = Poison
        08 = Float
        10 = Mini
        20 = Toad
        40 = Stone
        80 = Wounded
Bl
Bm =    Special Attributes,
        ยค 01 = 1hp Regen
        ยค 02 = Invulnerablity to weapons
        ยค 04 = Unsure
        ยค 08 = Unsure
        ยค 10 = Unsure
        ยค 20 = No Idea
        ยค 40 = Decreased Damage from weapons
        ยค 80 = Wall
Bn
Bo =    Name, Enter the byte of the enemy for its name (00 = Goblin, etc...)
Bp =    Level, 00 to 255

0x1002000--- Goblin     SPD 10, ATK 5, MND 0, EVA 0, 00, 00, 05
0A-05-01-00-00-00-05-00-10-00-03-00-0A-00-14-00 : HP 16, MP 3, EXP 10, Gil 20
02-00-80-00-00-00-00-00-00-00-00-00-00-00-00-06 : Level 6
Steal Tonic, Goblin Punch

0x1002020--- Killer Bee     SPD 10, ATK 5,, EVA 10, 00, 00, 05
0A-05-02-0A-00-00-05-00-14-00-00-00-0F-00-14-00 : HP 20, MP 0, EXP 15, GIL 20
00-20-30-00-00-00-40-00-00-00-88-00-00-00-01-01 : Level 1

SPC Pointer Index

Pointer Values Description / Song
C5E5E8 00 Ahead on Our Way
C5EB7A 01 The Fierce Battle
C5F1B4 02 A Presentiment
C5FA57 03 Go go Boco!
C5FF1D 04 Pirates Ahoy!
C60395 05 Tenderness in the Air
C6074E 06 Fate in Haze
C60BCD 07 Critter Tripper Fritter!
C60EE3 08 The Prelude
C612D8 09 The Last Battle
C61E9D 0A Requiem
C61F9F 0B Nostalgia
C62181 0C Cursed Earths
C625C2 0D Lenna's Theme
C6287D 0E Victory's Fanfare
C62AFD 0F Deception
C62CE4 10 The Day will Come
C62F71 11 ...silence
C62F8D 12 Exdeath's Castle
C63257 13 My Home, Sweet Home
C63647 14 Waltz Suomi
C63CE6 15 Sealed Away
C641A2 16 The Four Warriors of Dawn
C6453F 17 Danger!
C64781 18 The Fire-Powered Ship
C64AB9 19 As I Feel, You Feel
C64CD9 1A Mambo de Chocobo!
C65112 1B Music Box
C652B0 1C Intension of the Earth
C65904 1D The Dragon Spreads its Wings
C65CC1 1E Beyond the Deep Blue Sea
C6BC98 1F Prelude of Empty Skies
C66079 20 Searching the Light
C665FA 21 Harvest
C66E3B 22 Gilgamesh
C67861 23 Four Valiant Hearts
C6B710 24 The Book of Sealings
C67E53 25 What?
C6A4A3 26 Hurry! Hurry!
C67FC4 27 Unknown Lands
C685A3 28 The Airship
C68AB5 29 Fanfare #1
C68BB7 2A Fanfare #2
C6C032 2B The Battle
C68D5A 2C Walking the Snowy Mountains
C69074 2D The Evil Lord, Exdeath
C6948A 2E The Castle of Dawn
C6990D 2F I'm a Dancer
C69A9F 30 Reminiscence
C69CE0 31 Run!
C6A1AA 32 The Ancient Library
C6A7BE 33 Royal Palace
C6ACF6 34 Good Night!
C6B364 35 Piano lesson 1
C6AD7B 36 Piano lesson 2
C6B40E 37 Piano lesson 3
C6AE4B 38 Piano lesson 4
C6B603 39 Piano lesson 5
C6B4E2 3A Piano lesson 6
C6B030 3B Piano lesson 7
C6B1CB 3C Piano lesson 8
C6BA96 3D Musica Machina
C6C58B 3E (a meteor is falling)
C6C7AE 3F The Land Unknown
C6CD42 40 The Decisive Battle
D0C800 41 The Silent Beyond
C6DB7B 42 Dear Friends
C6E1C5 43 Final Fantasy
C6E844 44 A New Origin
C6FCF2 45 (crickets chirping)
C6FDC4 46 a shore
C6FDFE 47 the tide rolls in

SPC Commands

00-0D  - Play note, C
0E-1B  - Play note, C#
1C-29  - Play note, D
2A-37  - Play note, D#
38-45  - Play note, E
46-53  - Play note, F
54-61  - Play note, F#
62-6F  - Play note, G
70-7D  - Play note, G#
7E-8B  - Play note, A
8C-99  - Play note, A#
9A-A7  - Play note, B
A8-BF  - Play note, B#
C0-CE  - rest

D2 xx        - Set Instrument Volume to xx
D3 xx        - Volume Slide
D4 xx        - Pan Channel Left / Right (Reverse Stereo)
                 $00 = Right
                 $64 = Middle
                 $FF = Left
D5 xx yy     - Channel Pan Slide
D7 ss tt dd  - Vibrato:
                 SS = Speed
                 TT = Time Until Vibrato
                 DD = Depth
D8           - Vibrato Off
D9 xx yy zz  - Tremolo (?)
DA           - Tremelo Off (?)
DB xx yy zz  - Pan Loop On (?)
DC           - Pan Loop Off (?)
DD xx        - Noise
DE           - Noise Off
E0           - Vibrato Off (?)
E1           - ???
E2           - Echo On
E3           - Echo Off
E4 xx        - Change Pitch to XX
E5 xx        - Length of Next Note is XX
E5           - Go Up an Octave
E6           - Go Down an Octave
E7 xx        - Transpose
E8 xx        - Transpose Relative
E9 xx        - Finetune
EA xx        - Change Instrument to XX
F0 xx        - Start Loop (xx + 1 times)
F1           - End Loop
F2           - End of Channel
F3 xx        - Change Tempo to XX
F4 xx yy     - Tempo Slide (?)
F5 xx        - Echo Volume (?)
F6 xx yy     - Echo Volume Slide (?)
F7 xx yy     - ???
F8 xx        - Set Global SPC Volume to XX
F9 xx yy zz  - End Loop After XX Times and Go To ZZYY
FC-FF        - End Channel

SRAM Format / Save Format

This document is notes on the save data in Final Fantasy V. With this information you can modify data however you wish.

FFV has 8 Kilobytes of SRAM divided up into 5 parts. The first four parts are the 4 save slots. They are arranged on $700 byte increments but only $600 bytes are used in each file. At $1C00 most of the area is empty except for the end around $1FF0 which holds data about each save file. All four save files are the same data just at different locations. The final area will be explained first.

Offset Description
$0000 Save Slot 1
$0700 Save Slot 2
$0E00 Save Slot 3
$1500 Save Slot 4
$1FF0 Checksum and Use Table

At $1FF0, which would appear at $7FF0 relative to the SNES Memory Map, there is a table of four 16-bit checksums. Then at $1FF8 there is another table which contains $E41B if a save file is in use, anything else and it is not. The checksums are generated by taking the $600 byte file and adding each 16-bit word together. Carry is used so if the value overflows from $FFFF you will set carry and impact the next addition with ADC.

Example:      $FFFF + $0001 = $0000 + Carry
Final Result: $0001

Whenever a file appears for loading or saving the checksum is quickly calculated to determine if the file is valid. If the checksum fails or the $1FF8 table entry doesn't contain $E41B then it appears blank, however it may still contain data as it is not overwritten.

You can use this code patch to disable failure of checksums allowing for any data to be consider valid.

$C2/F576 : EA
$C2/F577 : EA

Here is a disassembly related to saving. Disassembly:

$C2/F561 A5 F6       LDA $F6    [$00:01F6]
$C2/F563 29 03 00    AND #$0003
$C2/F566 0A          ASL A
$C2/F567 AA          TAX
$C2/F568 BD F8 7F    LDA $7FF8,x[$30:7FF8]   ; Check Slot In-Use Table
$C2/F56B C9 1B E4    CMP #$E41B
$C2/F56E D0 0D       BNE $0D    [$F57D]      ; If not $E41B Skip
$C2/F570 20 88 F5    JSR $F588  [$C2:F588]   ; $F588 Returns Checksum
$C2/F573 DD F0 7F    CMP $7FF0,x[$30:7FF0]   ; Compare against Csum
$C2/F576 D0 0A       BNE $0A    [$F582]      ; table.
$C2/F578 A9 00 00    LDA #$0000              ; $0000 File Valid
$C2/F57B 80 08       BRA $08    [$F585]
$C2/F57D A9 00 80    LDA #$8000              ; File not in Use
$C2/F580 80 03       BRA $03    [$F585]
$C2/F582 A9 00 40    LDA #$4000              ; Bad Checksum
$C2/F585 85 E0       STA $E0    [$00:01E0]
$C2/F587 60          RTS

$C2/F588 8B          PHB
$C2/F589 DA          PHX
$C2/F58A 5A          PHY
$C2/F58B 08          PHP
$C2/F58C F4 30 30    PEA $3030
$C2/F58F AB          PLB
$C2/F590 AB          PLB
$C2/F591 C2 20       REP #$20
$C2/F593 A6 FC       LDX $FC    [$00:01FC]
$C2/F595 A0 00 06    LDY #$0600              ; Save File Size
$C2/F598 A5 8E       LDA $8E    [$00:018E]
$C2/F59A 18          CLC
$C2/F59B 7D 00 00    ADC $0000,x[$30:0000]
$C2/F59E E8          INX
$C2/F59F E8          INX
$C2/F5A0 88          DEY
$C2/F5A1 88          DEY
$C2/F5A2 D0 F7       BNE $F7    [$F59B]
$C2/F5A4 28          PLP
$C2/F5A5 7A          PLY
$C2/F5A6 FA          PLX
$C2/F5A7 AB          PLB
$C2/F5A8 60          RTS

Interesting Save Slot File Addresses

There are 4 character slots at the beginning of save files. Each character slot is $50 bytes.

Offset Description
$0000 Character Slot 1
$0050 Character Slot 2
$00A0 Character Slot 3
$00F0 Character Slot 4

Within each character slot.

Offset Description
$00 Bit Toggle
$01 Current Job
$02 Current Level
$03 Experience Points (24-bit)
$06 Current HP (16-bit)
$08 Maximum HP (16-bit)
$0A Current MP (16-bit)
$0C Maximum MP (16-bit)
$0E Equipped Head Item
$0F Equipped Body Item
$10 Equipped Relic Item
$13 Equipped R-Hand Item
$14 Equipped L-Hand Item
$16 Battle Command Slot 1
$17 Battle Command Slot 2
$18 Battle Command Slot 3
$19 Battle Command Slot 4
$1A Status (ex: Poison)
$24 Strength
$25 Agility
$26 Vitality
$27 Magic Power
$3A Job Level
$3B Ability Points

Offset 00

Bit 7 toggle if Character is in Front Row or Back Row. Bit 6 toggle if Character is present in party or empty. Bits 012 determine Character, Bartz, Lenna, Galuf, Faris, Krile.

Job Table

Value Job
$00 Knight
$01 Monk
$02 Thief
$03 Dragoon
$04 Ninja
$05 Samurai
$06 Berserkr
$07 Hunter
$08 MysticKnt
$09 WhiteMage
$0A BlackMage
$0B TimeMage
$0C Summoner
$0D BlueMage
$0E Red Mage
$0F Mediator
$10 Chemist
$11 Geomancr
$12 Bard
$13 Dancer
$14 Mimic
$15 Normal

Inventory for each slot is at $140. The first $100 bytes make up a table of Item types. For example $E0 is a Potion. At $240 is another $100 byte table for how many of each item you have.

At $03F7 there appears to be bit tables which store what abilities each character has learned. No exact details available yet. May be $14 byte tables for each character.

Masks

These Masks apply to all characters.

$0450 - Sword Ability Bitmask, then White Magic Ability Bit Mask then Black Magic, then DmMagic, then Esper, then Song, Ending at $045B as last byte of Songs. $0447 - Money / Gold / Gil (24-bit) $05D8 - Map X Position $05D9 - Map Y Position

Compression

In this game compression, an 8-bit value is used to determine the nature of the following groups of data. A value of 1 indicated an uncompressed value. This means one byte is read from the input file and then written to the output file.

A value of 0 indicated a compressed value. This means two bytes are read, from which a pointer to previous data can be generated. The pointer contains the length of the data to be retrieved as well as the offset for it to be retrieved from. Since pointers aren't used for 1-2 byte values, a value of 3 is added to the length.

LZ Compression combined with Bit Mapping
Bit Mapping
0 = Compressed Text
1 = Normal Text

Configuration of 2Bytes LZ
O4 O5 O6 O7 O8 O9 O10 O11 | O1 O2 O3 L1 L2 L3 L4 L5

O = Offset Pointer
L = Lenght

Info from ffbin and JCE3000GT.
SRAM format described by MottZilla, January 19th, 2012.
Compression described by Anime_World, 05-06-06 02:42 PM.
Weapons, Enemy data described by YDienyddiwrDa, 02-22-03 04:11 AM.