Disassembly of FFL3
Ok, I've started pulling apart FFL3, and I'm already learning some things. I don't have any decent source
to post yet, I still have to clean up all the source from bank 0, and that's ALOT of re-coding and commenting.
Plus, this game copies alot of functions to ram as they are needed, and I don't quite understand all of
An interesting note is that the little "(R)" on the FFL3 logo above is a sprite, not part of the BG, like
the rest of the title is. This is because the logo was allocated a certain portion of tile space, and the
"(R)" character doesn't fit in that space by a few pixels or so. So hey... why not toss a text character
into a sprite and add it on to make the lawyers happy? =P
Final Fantasy Legend III Hacking Info
July 22, 2001
The gameboy has a very finite address space, so it uses a paged
memory system to access large amounts of ROM space. These pages
are 16Kbytes (16384 bytes) in size, and the first page (bank 0)
is always located in the first 16K of the GB's address space.
Each additional 16K page can be switched in to the second 16K
of address space in the GB. Since the first page (bank 0) is
always available, and not switchable, it contains the main
program. Each of the additional banks contains graphics, music,
00000-03FFF Bank 0: main program code
04000-07FFF Bank 1: data
08000-0BFFF Bank 2: data / general use tiles / attack tiles / enemy fade tiles
0C000-0FFFF Bank 3: text,icon tiles / 8x8 sized sprite tiles, 4 tiles per sprite
(max of 256 16x16 sprites) / damage number tiles /
some possible sprite info?
10000-13FFF Bank 4: 8x8 character sprite tiles
14000-17FFF Bank 5: 8x8 Map tiles, arranged in a 4x4 metatile style
18000-1BFFF Bank 6: data
1C000-1FFFF Bank 7: data
20000-23FFF Bank 8: data
24000-27FFF Bank 9: Encoded text bank
4000- call 40AD actual routine?
28000-2BFFF Bank A: Encoded text bank
2C000-2FFFF Bank B: data
30000-33FFF Bank C: data
34000-37FFF Bank D: data / some possible gfx maps?
enabled during battles
38000-3BFFF Bank E: Enemy/Item/Spell Texts; Credits Texts /
some gfx tiles at the end of bank?
3C000-3FFFF Bank F: music data/code data / some possible map data?
bank enabled during char naming screen
Looking in Bank 4, BG Tiles, it seems that the game uses a 4x4 metatile engine
and the tiles seem to be stored in a 16 tile wide format. EG: tiles 1 and 2
are at 00, 01 and tiles 3 and 4 are at 16,17.
Bank 3 is full of character sprite tiles, in 8x16 x2 format. First 6 groups
are enemy sprites, group 7 is some game chars, group 8 contains some
characters, vehicles (ship, aircraft, landcraft), and building sprites.
FFL3 Game Credits: (Bank 14)
Producer : Chihiro Fujioka
Director : Kouzi Ide
Game Design : Masanori Morita, Hideshi Kyohnen
System Program : Takeo Fujii
Battle Program : Katsuhiro Kondo, Kiyotaka Goto
Graphic : Masahiro Kabe, Yuki Yasu(o)da
Develop Staff : Miwako Shimoji, Toshiyuki Momose
Sound : Ryuuji Sasai
All Rights Reserved
Translation : Kaoru Moriyama,
Katsumi A Tayama,
Kyle D Ono
Special Thanks to
Ted, Val, Nathan,
Dennis, and Rich
Text control chars: