Welcome to Data Crystal's new home! Data Crystal is now part of the TCRF family (sort of).
The wiki has recently moved; please report any issues in Discord. Pardon the dust.

Final Fantasy VI/ROM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
No edit summary
 
(29 intermediate revisions by 12 users not shown)
Line 1: Line 1:
FF3 ROM INFO (Version 1 by Yousei)
{{rommap|game=Final Fantasy VI}}
----------------------------------


LDA \$[C-F][0-9, A-F][0-9, A-F][0-9, A-F][0-9, A-F][0-9, A-F],[AXY, axy]
==Disassembly==
LDA \[\$[0-9, A-F][0-9, A-F]\],Y
===Bank C0===
{{subpage|Assembly C00|min-width=32px|width=32px}}
{{subpage|Assembly C01|min-width=32px|width=32px}}
{{subpage|Assembly C02|min-width=32px|width=32px}}
{{subpage|Assembly C03|min-width=32px|width=32px}}
{{subpage|Assembly C04|min-width=32px|width=32px}}
{{subpage|Assembly C05|min-width=32px|width=32px}}
{{subpage|Assembly C06|min-width=32px|width=32px}}
{{subpage|Assembly C07|min-width=32px|width=32px}}
{{subpage|Assembly C08|min-width=32px|width=32px}}
{{subpage|Assembly C09|min-width=32px|width=32px}}
{{subpage|Assembly C0A|min-width=32px|width=32px}}
{{subpage|Assembly C0B|min-width=32px|width=32px}}
{{subpage|Assembly C0C|min-width=32px|width=32px}}
{{subpage|Assembly C0D|min-width=32px|width=32px}}
{{subpage|Assembly C0E|min-width=32px|width=32px}}
{{subpage|Assembly C0F|min-width=32px|width=32px}}
===Bank C1===
{{subpage|Assembly C10|min-width=32px|width=32px}}
{{subpage|Assembly C11|min-width=32px|width=32px}}
{{subpage|Assembly C12|min-width=32px|width=32px}}
{{subpage|Assembly C13|min-width=32px|width=32px}}
{{subpage|Assembly C14|min-width=32px|width=32px}}
{{subpage|Assembly C15|min-width=32px|width=32px}}
{{subpage|Assembly C16|min-width=32px|width=32px}}
{{subpage|Assembly C17|min-width=32px|width=32px}}
{{subpage|Assembly C18|min-width=32px|width=32px}}
{{subpage|Assembly C19|min-width=32px|width=32px}}
{{subpage|Assembly C1A|min-width=32px|width=32px}}
{{subpage|Assembly C1B|min-width=32px|width=32px}}
{{subpage|Assembly C1C|min-width=32px|width=32px}}
{{subpage|Assembly C1D|min-width=32px|width=32px}}
{{subpage|Assembly C1E|min-width=32px|width=32px}}
{{subpage|Assembly C1F|min-width=32px|width=32px}}
===Bank C2===
{{subpage|Assembly C20|min-width=32px|width=32px}}
{{subpage|Assembly C21|min-width=32px|width=32px}}
{{subpage|Assembly C22|min-width=32px|width=32px}}
{{subpage|Assembly C23|min-width=32px|width=32px}}
{{subpage|Assembly C24|min-width=32px|width=32px}}
{{subpage|Assembly C25|min-width=32px|width=32px}}
{{subpage|Assembly C26|min-width=32px|width=32px}}
{{subpage|Assembly C27|min-width=32px|width=32px}}
{{subpage|Assembly C28|min-width=32px|width=32px}}
{{subpage|Assembly C29|min-width=32px|width=32px}}
{{subpage|Assembly C2A|min-width=32px|width=32px}}
{{subpage|Assembly C2B|min-width=32px|width=32px}}
{{subpage|Assembly C2C|min-width=32px|width=32px}}
{{subpage|Assembly C2D|min-width=32px|width=32px}}
{{subpage|Assembly C2E|min-width=32px|width=32px}}
{{subpage|Assembly C2F|min-width=32px|width=32px}}
===Bank C3===
{{subpage|Assembly C30|min-width=32px|width=32px}}
{{subpage|Assembly C31|min-width=32px|width=32px}}
{{subpage|Assembly C32|min-width=32px|width=32px}}
{{subpage|Assembly C33|min-width=32px|width=32px}}
{{subpage|Assembly C34|min-width=32px|width=32px}}
{{subpage|Assembly C35|min-width=32px|width=32px}}
{{subpage|Assembly C36|min-width=32px|width=32px}}
{{subpage|Assembly C37|min-width=32px|width=32px}}
{{subpage|Assembly C38|min-width=32px|width=32px}}
{{subpage|Assembly C39|min-width=32px|width=32px}}
{{subpage|Assembly C3A|min-width=32px|width=32px}}
{{subpage|Assembly C3B|min-width=32px|width=32px}}
{{subpage|Assembly C3C|min-width=32px|width=32px}}
{{subpage|Assembly C3D|min-width=32px|width=32px}}
{{subpage|Assembly C3E|min-width=32px|width=32px}}
{{subpage|Assembly C3F|min-width=32px|width=32px}}
==Free space==
C2/A65A-C2/A7FF Free space
C2/FAA4-C2/FC6C Free space
C3/F091-C3/FFFF Free space


NOTE:  All pointers are to be considered relative (added to the constant in the description) unless otherwise noted.
{{Internal Data}}
     
Types of Pointers
-----------------
PTR        Short (2 byte) relative pointer (add to constant)
LPTR        Long (3 byte) relative pointer (add to constant)
APTR        Long (3 byte) absolute pointer (no need to add)
 
Positioned Text
---------------
Position is a word--calculate from (xx, yy), where xx and yy are 8-pixel 2-bitplane tiles, with
the formula ((yy * $20) + xx) * 2 + $7889
 
Raw Location    HiROM Location      Key    Description
-------------------------------------------------------------------------------
000000-000200                      *HEADR  SMC Specific header
 
00C47F-00C48E  (C0C27F-C0C28E)    GFX    Something to do with the battle backgrounds
 
00D03A-        (C0CE3A-      )    GFX    Offsets of Map Character Sprite Parts (2x3, 2 bytes each)
 
00D2F2-        (C0D0F2-      )    GFX    Pointers to Map Character Graphics (2 bytes each)
00D43C-        (C0D23C-      )    GFX    Bank pointers and Number of Bytes to Copy for Map Character Gfx (2 bytes each)
 
00E1A0-00E29F  (C0DFA0-C0E09F)    DTE    DTE Table
 
00E400-00E580                      *FONT    Tiles 8*8 2 bits colors (used in ???)
010100-010110                      *ASM    Entry point in SMC (16 bytes)
0101C0-0101E0                      *???    Cartridge info (32 bytes)
 
029944-029954                      *GFX    Palette: 8 colors, ???
029954-029974                      *GFX    Palette: 16 colors end credit fonts
029974-029994                      *GFX    Palette: 16 colors end credits (flipping pages)
029994-029A34                      *GFX    Palette: 16 colors, ???
02D02B-        (C2CE2B-      )    GFX    Battle Character Palette Assignments (1 byte each)
02D21A-02D233  (C2D01A-C2D033)    MONST  Pointers to Monster Formation Size Templates (13 elements) (+020200/+C20000)
02D234-02D2F3  (C2D034-C2D0F3)    MONST  Monster Formation Size Templates
                               
035E1C-035E39  (C35C1C-C35C39)    BLTZ    Blitz Specification Characters (14 elements, 2 bytes each [character, rotation])
 
037100-        (C36F00-      )    PAL    Menu Portrait Palette assignment (1 byte each)
03711B-        (C36F1B-      )    PTR    Pointers to Menu Portrait Graphics (2 bytes each)
 
03C20C-03C217  (C3C00C-C3C017)    PTR    Pointers to Shop Titles (+030200/+C30000)
 
03C4FC-03C525  (C3C2FC-C3C325)    PTXT    Shop Title Positioned Text (5 items, variable length)
               
040200-040541  (C40000-C40341)    PTR    Map Event Trigger Pointers (+040200/+C40000)
040542-041BFD  (C40342-C419FD)    TRG    Map Event Triggers (5 bytes each) (src x, src y, pointer to event code)
041BFE-041C0F  (C419FE-C41A0F)    ---    UNUSED SPACE (18 bytes)
041C10-041F51  (C41A10-C41D51)    PTR    NPC Data Pointers (+041C10/+C41A10)
041F52-046C6B  (C41D51-C46A6B)    NPC    NPC Data
046C6C-046CBF  (C46A6C-C46ABF)    ---    UNUSED SPACE (84 bytes)
046CC0-047ABF  (C46AC0-C478BF)    MAGIC  Magic Data (256 items, 14 bytes each)
047AC0-047C3F  (C478C0-C47A3F)    TXT2    Character Names (64 items, 6 bytes each)
047C40-047C9F  (C47A40-C47A9F)    CHR    Blitz Specifications (8 elements, 12 bytes each)
 
047CC0-04813F  (C47AC0-C47F3F)    SHOP    Shop Specifications (128 items, 9 bytes each [1 title byte, 8 items])
048140-0481A7  (C47F40-C47FA7)    MONST  Ragnarok Metamorphosis Packages (26 items, 4 bytes each)
 
0489C0-0491BF  (C487C0-C48FBF)    FONT    Fixed-Width Font Graphics Data (8x8x2, 8 bytes each, range 0x80-0xFF)
0491C0-04923F  (C48FC0-C4903F)    FONT    Variable-Width Font Character Cell Widths (00-7F)
 
0492C0-049AFF  (C490C0-C498FF)    FONT    Variable-Width Font Graphics Data (16x11x1, 22 bytes each, range 0x20-0x7F)
 
05090E-05090F  (C5070E-C5070F)    DATA    Length of Main SPC Code Loop
050910-0520C6  (C50710-C51EC6)    SPC    Main SPC Code Loop (Copied to SPC locations $0200-$19B6)
 
0A0200-0CE7FF  (CA0000-CCE5FF)    EVNT    Event Code
0CE800-0CE801  (CCE600-CCE601)    DATA    Index of the pointer in which the bank byte needs to be incremented
0CE802-0D01FF  (CCE602-CCFFFF)    PTR    Pointers to Dialogue (+0D0200/+CD0000)
0D0200-0EF2FF  (CD0000-CEF0FF)    TXT1    Dialogue (3326 items, variable length)
0EF300-0EF7FF  (CEF100-CEF5FF)    TXT1    Location Names (448 items [73 actual], variable length)
 
0EFD60-0EFD87  (CEFB60-CEFB87)    PTR    Pointers to Rare Item Descriptions (+0EFEB0/+CEFCB0)
0EFD88-0EFD9F  (CEFB88-CEFB9F)    ---    UNUSED SPACE
0EFDA0-0EFEA3  (CEFBA0-CEFCA3)    TXT2    Rare Item Names (20 elements, 13 bytes each)
0EFEA4-0EFEAF  (CEFCA4-CEFCAF)    ---    UNUSED SPACE
0EFEB0-0F01FF  (CEFCB0-CEFFFF)    TXT2    Rare Item Descriptions (20 elements, variable length)
0F0200-0F31FF  (CF0000-CF2FFF)    MONST  Monster Stats (384 elements, 32 bytes each)
0F3200-0F37FF  (CF3000-CF35FF)    MONST  Monster Items Stolen and Dropped (384 elements, 4 bytes each)
 
0F3B40-0F3E3F  (CF3940-CF3C3F)    TXT2    Esper Descritions (27 items, variable length)
0F3E40-0F3E9F  (CF3C40-CF3C9F)    TXT2    SwordTech Names (8 items, 12 bytes each)
 
0F5200-0F55FF  (CF5000-CF53FF)    MONST  Monster Formations used in Event Scripts (256 elements, 4 bytes each)
0F5B00-0F63FF  (CF5900-CF61FF)    MONST  Monster Formation Auxiliary Data (576 elements, 4 bytes each)
0F6400-0F85BF  (CF6200-CF83BF)    MONST  Monster Formation Data (576 elements, 15 bytes each)
0F85C0-0F85FF  (CF83C0-CF83FF)    ---    UNUSED SPACE (64 bytes)
 
0F8600-0F88FF  (            )    *PTP    Pointers to Monster Command Script
0F8900-0FC248  (            )    *MONST  Monster Command Script
0FC249-0FC24F  (            )    *---    UNUSED SPACE (7 bytes)
 
0FC250-0FD14F  (CFC050-CFCF4F)    TXT2    Enemy Names (384 items, 10 bytes each)
0FD150-0FD2CF  (CFCF50-CFD0CF)    ---    UNUSED SPACE (384 bytes)
0FD2D0-0FE1CF  (CFD0D0-CFDFCF)    TXT2    Enemy Attack Names (384 items, 10 bytes each)
 
0FE1E0-0FE3DF  (CFDFE0-CFE1DF)    PTR    Pointers to Battle Dialogue (Bank 2) (+0F0200/+CF0000)
0FE3E0-0FF64F  (CFE1E0-CFF44F)    TXT2    Battle Dialogue (Bank 2) (256 items, variable length)
 
0FFE00-0FFEFF  (CFFC00-CFFCFF)    TXT2    Blitz Descriptions (8 items, variable length)
0FFF00-0FFFFF  (CFFD00-CFFDFF)    TXT2    SwordTech Descriptions (8 items, variable length)
 
1000AE-100146  (CFFEAE-CFFF46)    TXT2    Short Esper Bonus Descriptions (17 elements, 9 characters each)
100147-10019D  (CFFF47-CFFF9D)    ---    UNUSED SPACE (87 bytes)
10019E-1001AD  (CFFF9E-CFFFAD)    PTR    Pointers to Blitz Descriptions (+0FFE00/+CFFC00)
1001AE-1001BD  (CFFFAE-CFFFBD)    PTR    Pointers to SwordTech Descriptions (+0FFF00/+CFFD00)
1001BE-1001FF  (CFFFBE-CFFFFF)    ---    UNUSED SPACE (66 bytes)
 
109A00-109A73  (D09800-D09873)    PTR    Pointers to Battle Event Scripts (+100200/+D00000) (58 elements)
 
10D200-10D3FF  (D0D000-D0D1FF)    PTR    Pointers to Battle Dialogue (Bank 1) (+100200/+D00000)
10D400-10FEFF  (D0D200-D0FCFF)    TXT2    Battle Dialogue (Bank 1) (256 items, variable length)
 
11F200-11F99F  (D1F000-D1F79F)    TXT2    Battle Messages (256 items, variable length)
11F9A0-11FB9F  (D1F7A0-D1F99F)    PTR    Pointers to Battle Messages (+110200/+D10000)
 
127100-1271FF  (D26F00-D26FFF)    TXT2    Weapon/Armor Types (32 items, 7 bytes each)
127200-12797F  (D27000-D2777F)    MONST  Monster Visual Specifications (384 elements, 5 bytes each)
 
127A20-12AA1F  (D27820-D2A81F)    PAL    Monster Palettes (768 palettes, 8 colors each)
12AA20-12AA21  (D2A820-D2A821)    PTR    Pointer to 8-High Monster Composition Data
12AA22-12AA23  (D2A822-D2A823)    PTR    Pointer to 16-High Monster Composition Data
12AA24-12AE23  (D2A824-D2AC23)    MONST  Monster 8-High Composition Data (128 elements, 8 bytes each)
12AE24-12B423  (D2AC24-D2B223)    MONST  Monster 16-High Composition Data (48 elements, 32 bytes each)
12B424-12B4FF  (D2B224-D2B2FF)    ---    UNUSED SPACE (220 bytes)
12B500-12C1FF  (D2B300-D2BFFF)    TXT2    Item Names (256 items, 13 bytes each)
 
12EE00-12EEFF  (D2EC00-D2ECFF)    PAL    World of Balance Palettes (8 palettes, 16 colors each)
12EF00-12EFFF  (D2ED00-D2EDFF)    PAL    World of Ruin Palettes (8 palettes, 16 colors each)
12F000-12F01F  (D2EE00-D2EE1F)    PAL    Setzer's Airship Palette (16 colors)
12F100-12F11F  (D2EF00-D2EF1F)    PAL    Darryl's Airship Palette (16 colors)
 
150200-        (D50000-      )    GFX    Character and Townsperson Sprite Graphics (4bp)
 
185200-186FFF  (D85000-D86DFF)    ITEM    Item Data (256 items, 30 bytes each)
187000-187127  (D86E00-D86F27)    ESPER  Esper Data (27 items, 11 bytes each)
187128-1871FF  (D86F28-D86FFF)    ---    UNUSED SPACE (128 bytes)
 
18CBA0-18D09F  (D8C9A0-D8CE9F)    TXT2    Spell Descriptions (64 items, variable length)
18D0A0-18D17F  (D8CEA0-D8CF7F)    TXT2    Battle Command Names (32 items, 7 bytes each)
18D180-18D1FF  (D8CF80-D8CFFF)    PTR    Pointers to Spell Descriptions (+18CBA0/+D8C9A0)
 
19AA00-19CF0F  (D9A800-D9CD0F)    MAP    Location Tile Properties
19CF10-19CF8F  (D9CD10-D9CD8F)    PTR    Pointers to Location Tile Properties (+19AA00/+D9A800)
19CF90-19D3AF  (D9CD90-D9D1AF)    LPTR    Pointers to Location Map Data (352 items) (+19D3B0/+D9D1B0)
19D3B0-1E01FF  (D9D1B0-DDFFFF)    MAP    Location Map Data
1E0200-        (DE0000-      )    MAP    Location Tile Formation
 
1FBC00-1FBCFF  (DFBA00-DFBAFF)    LPTR    Pointers to Location Tile Formation (+1E0200/+DE0000) (128 items)
1FBD00-1FC101  (DFBB00-DFBF01)    PTR    Pointers to Entrance Triggers (+1FBD00/+DFBB00)
1FC102-1FDBFF  (DFBF02-DFD9FF)    TRG    Entrance Triggers (6 bytes each)
1FDC00-1FDCFF  (DFDA00-DFDAFF)    LPTR    Town Tile Graphics Pointers (+1FDD00/+DFDB00) (128 items)
1FDD00-25F5FF  (DFDB00-E5F3FF)    GFX    Town Tile Graphics
21C6C0-21E6BF  (E1C4C0-E1E4BF)    GFX    Battle Background Top Graphics: Building
 
268200-2685FF  (E68000-E683FF)    PAL    Map Character and Townperson Sprite Palettes (16 colors each)
268600-26897F  (E68400-E6877F)    PTR    Pointers to Location Names (+0EF300/+CEF100)
 
26F6A0-26F701  (E6F4A0-E6F501)    CHR    HP modification constants by level (98 elements)
26F702-26F763  (E6F502-E6F563)    CHR    MP modification constants by level (98 elements)
 
26F767-26F80E  (E6F567-E6F60E)    TXT2    Black Magic Spell Names (24 items, 7 bytes each)
26F80F-26F8A1  (E6F60F-E6F6A1)    TXT2    Effect Magic Spell Names (21 items, 7 bytes each)
26F8A2-26F8E0  (E6F6A2-E6F6E0)    TXT2    White Magic Spell Names (9 items, 7 bytes each)
26F8E1-26F9B8  (E6F6E1-E6F7B8)    TXT2    Esper Names (27 items, 8 bytes each)
26F9B9-26F9EA  (E6F7B9-E6F7EA)    TXT2    Skean Attack Names (5 items, 10 bytes each)
26F9EB-26FA30  (E6F7EB-E6F830)    ---    UNUSED SPACE (70 bytes)
26FA31-26FA80  (E6F831-E6F880)    TXT2    Blitz Names (8 items, 10 bytes each)
26FA81-26FB70  (E6F881-E6F970)    TXT2    Mog's Dance Attacks (24 items, 10 bytes each)
26FB71-26FBAC  (E6F971-E6F9AC)    TXT2    Setzer's Slot Attacks (6 items, 10 bytes each)
26FBAD-26FBFC  (E6F9AD-E6F9FC)    TXT2    Magitek Armor Attacks (8 items, 10 bytes each)
26FBFD-26FCEC  (E6F9FD-E6FAEC)    TXT2    Lore Names (24 items, 10 bytes each)
26FCED-26FFEE  (E6FAED-E6FDEE)    TXT2    Enemy Attacks (77 items, 10 bytes each)
26FFEF-270066  (E6FDEF-E6FE66)    TXT2    Desperation Attacks (12 items, 10 bytes each)
270067-27008E  (E6FE67-E6FE8E)    TXT2    Miscellaneous Attacks (Lagomorph, Interceptor, etc.) (4 items, 10 bytes each)
27008F-27019C  (E6FE8F-E6FF9C)    TXT2    Esper Attacks (27 items, 10 bytes each)
27019D-2701FC  (E6FF9D-E6FFFC)    TXT2    Mog's Dance Names (8 items, 12 bytes each)
2701FD-2701FF  (E6FFFD-E6FFFF)    ---    UNUSED SPACE (3 bytes)
 
270350-        (E70150-      )    PAL    Bottom Battle Background Palettes (16 colors each)
 
271850-271A47  (E71650-E71847)    LPTR    Pointers to Top Battle Backgrounds (168 elements, 75 used)
 
297200-        (E97000-      )    GFX    Monster Graphics
 
2D0200-2D057F  (ED0000-ED037F)    GFX    Menu Window 1 Graphics
2D0580-2D08FF  (ED0380-ED06FF)    GFX    Menu Window 2 Graphics
2D0900-2D0C7F  (ED0700-ED0A7F)    GFX    Menu Window 3 Graphics
2D0C80-2D0FFF  (ED0A80-ED0DFF)    GFX    Menu Window 4 Graphics
2D1000-2D137F  (ED0E00-ED037F)    GFX    Menu Window 5 Graphics
2D1380-2D16FF  (ED1180-ED06FF)    GFX    Menu Window 6 Graphics
2D1700-2D1A7F  (ED1500-ED0A7F)    GFX    Menu Window 7 Graphics
2D1A80-2D1DFF  (ED1880-ED0DFF)    GFX    Menu Window 8 Graphics
2D1E00-2D1E1F  (ED1C00-ED1C1F)    PAL    Menu Window 1 Palette (16 colors each)
2D1E20-2D1E3F  (ED1C20-ED1C3F)    PAL    Menu Window 2 Palette (16 colors each)
2D1E40-2D1E5F  (ED1C40-ED1C5F)    PAL    Menu Window 3 Palette (16 colors each)
2D1E60-2D1E7F  (ED1C60-ED1C7F)    PAL    Menu Window 4 Palette (16 colors each)
2D1E80-2D1E9F  (ED1C80-ED1C9F)    PAL    Menu Window 5 Palette (16 colors each)
2D1EA0-2D1EBF  (ED1CA0-ED1CBF)    PAL    Menu Window 6 Palette (16 colors each)
2D1EC0-2D1EDF  (ED1CC0-ED1CDF)    PAL    Menu Window 7 Palette (16 colors each)
2D1EE0-2D1EFF  (ED1CE0-ED1CEF)    PAL    Menu Window 8 Palette (16 colors each)
2D1F00-2D5A5F  (ED1D00-ED585F)    GFX    Character Portraits
2D5A60-2D5CBF  (ED5860-ED5ABF)    PAL    Menu Portrait Palettes (16 colors each)
2D5CC0-        (ED5AC0-      )    GFX    Hand Cursor Graphics
 
2D64C0-2D64C7  (ED62C0-ED62C7)    PAL    Battle Standard (White) Text Palette (4 colors)
2D64C8-2D64CF  (ED62C8-ED62CF)    PAL    Battle Disabled (Grey) Text Palette (4 colors)
2D64D0-2D64D7  (ED62D0-ED62D7)    PAL    Battle Active (Yellow) Text Palette (4 colors)
2D64D8-2D64DF  (ED62D8-ED62DF)    PAL    Battle Blue Text Palette (4 colors)
2D64E0-2D64E7  (ED62E0-ED62E7)    PAL    Empty Palette (4 colors)
2D64E8-2D64EF  (ED62E8-ED62EF)    PAL    Battle Guage (Grey) Text Palette (4 colors)
2D64F0-2D64F7  (ED62F0-ED62F7)    PAL    Battle Green Text Palette (4 colors)
2D64F8-2D64FF  (ED62F8-ED62FF)    PAL    Battle Red Text Palette (4 colors)
2D6500-2D65FF  (ED6300-ED63FF)    PAL    Battle/Menu Character Sprite Palettes (8 palettes, 16 colors each)
2D6600-2D799F  (ED6400-ED779F)    TXT2    Item Descriptions (256 elements, variable length)
2D79A0-2D7C6F  (ED77A0-ED7A6F)    TXT2    Lore Descriptions (24 elements, variable length)
2D7C70-2D7C9F  (ED7A70-ED7A9F)    PTR    Pointers to Lore Descriptions (24 elements)
2D7CA0-2D7E9F  (ED7AA0-ED7C9F)    PTR    Pointers to Item Descriptions (256 elements)
2D7EA0-2D841F  (ED7CA0-ED821F)    CHR    Character Initial Statistics (64 elements, 22 bytes each)
2D8420-2D84F3  (ED8220-ED82F3)    CHR    Experience Needed for Level Up ()
 
2D9100-2DC67E  (ED8F00-EDC47E)    LOC    Location Properties (416 elements, 33 bytes each)
2DC67F          (EDC47F)            ---    UNUSED SPACE (1 byte)
2DC680-2DCC7F  (EDC480-EDCA7F)    PAL    Location Map Palettes (48 elements, 16 colors each)
 
2E0000-2E01CF  (EDFE00-EDFFCF)    TXT2    Long Esper Bonus Descriptions (variable length)
2E01CF-2E01FF  (EDFFD0-EDFFFF)    PTR    Pointers to Long Esper Bonus Descriptions
 
2E4A42-2E4A51  (EE4842-EE4851)    DATA    Sprites used for various positions of map character
 
2E9D14-2E9F13  (EE9B14-EE9D13)    MAP    World of Balance Tile Properties
2E9F14-2EA113  (EE9D14-EE9F13)    MAP    World of Ruin Tile Properties
 
2ED634-2F134E  (EED434-EF114E)    MAP    World of Balance Map Data (compressed)
2F134F-2F344F  (EF114F-EF324F)    GFX    World of Balance Tile Graphics (compressed)
 
2F4C46-2F6C55  (EF4A46-EF6A55)    GFX    World of Ruin Tile Graphics (compressed)
2F6C56-2F9F16  (EF6A56-EF9D16)    MAP    World of Ruin Map Data (compressed)
 
2FE69B-2FEAB2  (EFE49B-EFE8B2)    MAP    World of Balance Miniature Map (compressed)
2FEAB3-2FEF25  (EFE8B3-EFED25)    MAP    World of Ruin Miniature Map (compressed)
 
World Map Related Pointers:
Raw Loc.    HiROM Loc.      Contents    Decomp. Size    Description
-------------------------------------------------------------------
2EB400      (EEB200)        $EEB290    8192 B
2EB403      (EEB203)        $EEB290    8192 B
2EB406      (EEB206)        $EEB290    8192 B
2EB409      (EEB209)        $EEC295    4096 B
2EB40C      (EEB20C)        $EEC702    6144 B          Setzer's Airship Graphics
2EB40F      (EEB20F)        $EED434    65536 B        World of Balance Map Data
2EB412      (EEB212)        $EF114F    9344 B          World of Balance Tile Graphics
2EB415      (EEB215)        $EF3250    16327 B
2EB418      (EEB218)        $EF4846
2EB41B      (EEB21B)        $EF4846
2EB41E      (EEB21E)        $EF4A46    9344 B          World of Ruin Tile Graphics
2EB421      (EEB221)        $EF6A56    65536 B        World of Ruin Map Data
2EB424      (EEB224)        $EF6A56    65536 B        World of Ruin Map Data
2EB427      (EEB227)        $EF9D17    16384 B
2EB42A      (EEB22A)        $EFB631    9344 B
2EB42D      (EEB22D)        $EFC624    6144 B          Chocobo Graphics
2EB430      (EEB230)        $EFC624    6144 B          Chocobo Graphics
2EB433      (EEB233)        $EFCE77
2EB436      (EEB236)        $EFCE77
2EB439      (EEB239)        $EFCE97
2EB43C      (EEB23C)        $EFCE97
2EB43F      (EEB23F)        $EFCEB7    2048 B          Airship Shadow Graphics
2EB442      (EEB242)        $EFCEB7    2048 B          Airship Shadow Graphics
2EB445      (EEB245)        $EFCFB9    6144 B          Misc. World Graphics (Figaro Castle, smoke, flying morphed Terra, ship)
2EB448      (EEB248)        $EFDC4C    6144 B          Chocobo Graphics
2EB44B      (EEB24B)        $EFE49B    2048 B          World of Balance Miniature Map
2EB44E      (EEB24E)        $EFE8B3    2048 B          World of Ruin Miniature Map
2EB451      (EEB251)        $EFED26    6144 B          Daryl's Airship Graphics
2EB454      (EEB254)        $EFFAC8
 
----
Notable Locations in RAM
 
$000520-$000540                Current Location Data
$000559                        Screen scroll status (0: scroll, 1: don't scroll)
$00056E                        Last selected choice in a multiple choice dialogue (zero-based indexing)
$001616-$00163A                Character 0 stats
$001860-$001862                Current GP
$001869-$001968                Current items in inventory
$001969-$001A68                Number of those items in inventory
$001A69-$001B38                Espers current held by party
$001E80-$001F5F                Event conditionality bits
 
----
Structures and other Described Data
 
Menu Window Graphics ($0380 bytes):
$0000-$01FF                        Window Client Area (4 tiles x 4 tiles, 8 pixels each)
$0200-$021F                        Border, Top-Left corner
$0220-$023F                        Border, Top, first piece
$0240-$025F                        Border, Top, second piece
$0260-$027F                        Border, Top-Right corner
$0280-$029F                        Border, Left, first piece
$02A0-$02BF                        Border, Right, first piece
$02C0-$02DF                        Border, Left, second piece
$02E0-$02FF                        Border, Right, second piece
$0300-$031F                        Border, Bottom-Left corner
$0320-$033F                        Border, Bottom, first piece
$0340-$035F                        Border, Bottom, second piece
$0360-$037F                        Border, Bottom-Right
 
Something:
C2D034 (0): 0000 0808 0001 0808 0010 0808 0011 0808
C2D044 (1): 0000 0808 0001 0808 0010 0404 8010 0404 0011 0404 8011 0404
C2D05C (2): 0000 0C08 0010 0C08
C2D064 (3): 0000 0810 0001 0810
C2D06C (4): 0000 0C08 0010 0808 0011 0808
C2D078 (5): 0000 0810 0001 0808 0011 0808
C2D084 (6): 0000 1010
C2D088 (7): 0000 0C0C 8001 040C 0018 0404 8018 0404 0019 0404 8019 0404
C2D0A0 (8): 0000 0808 0010 0808 0001 0408 0011 0408
C2D0B0 (9): 0000 0C0C
C2D0B4 (A): 0000 080C 0001 0408 0011 0408 0018 0404 8018 0404
C2D0C8 (B): 0000 0408 8000 0408 0001 0408 0011 0408 0010 0808
C2D0DC (C): 0000 0808 0001 0808 0010 0408 8010 0408 0011 0408 8011 0408
 
NPC Data:
$0004                              Horizontal (X) position
$0005                              Vertical (Y) position
$0006                              Graphic set
$0007:0-3                          Graphic index
    :4                            Walk behind character
    :5                            Walk on top of character
    :6                            Character is a chocobo
    :7                            Character is Magitek armor
$0008:0-1                          Direction facing (0: up, 1: right, 2: down, 3: left)
 
Monster Formation:
$0000:4-7                          ?
$0001                              Enemies Present (--xxxxxx)
$0002                              Enemy 1 ID
$0003                              Enemy 2 ID
$0004                              Enemy 3 ID
$0005                              Enemy 4 ID
$0006                              Enemy 5 ID
$0007                              Enemy 6 ID
$0008                              Enemy 1 Position (8 bits, xxxxyyyy)
$0009                              Enemy 2 Position (8 bits, xxxxyyyy)
$000A                              Enemy 3 Position (8 bits, xxxxyyyy)
$000B                              Enemy 4 Position (8 bits, xxxxyyyy)
$000C                              Enemy 5 Position (8 bits, xxxxyyyy)
$000D                              Enemy 6 Position (8 bits, xxxxyyyy)
$000E                              Enemies that are Bosses (--xxxxxx)
 
Monster Formation Auxiliary Data:
$0000:0-3                          Appearance effects
    :4                            Disable normal attacks
    :5                            Disable back attacks
    :6                            Disable pincer attacks
    :7                            Disable side attacks
$0001:1                            Disable fanfare
    :2                            ??
    :7                            Enable event script
$0002                              Battle event script
$0003:0                            ??
    :1                            ??
    :2                            Show attack-type windows
    :3-5                          Battle music
    :6                            ??
    :7                            Continue current music
 
Monster Data:
$0000                              Strength
$0001                              Speed
$0002                              Hit % Rate
$0003                              Evade % Rate
$0004                              Mag. Block % Rate
$0005                              Defense
$0006                              Magic Defense
$0007                              Magic Power
$0008-$0009                        HP
$000A-$000B                        MP
$000C-$000D                        Experience Points
$000E-$000F                        Gold
$0010                              Level
$0011:0-4                          Ragnarok metamorphosis specs.
    :5-7                          Miss ratio for metamorphosis
$0012:0                            Dies if MP becomes 0
    :2                            Hide enemy's name
    :7                            Undead
$0013:3                            Can't run
    :4                            Can't scan
$0014                              ?
$0015                              ?
$0016                              ?
$0017                              Elements that absorb HP
$0018                              Elements that have no effect
$0019                              Elements the enemy is weak against
$001A                              Attack Type
$001B                              Condition Effects 1
$001C                              Condition Effects 2
$001D                              Condition Effects 3
$001E                              Condition Effects 4
$001F:0-5                          Special Attack
    :6                            Special attack causes no damage
 
Monster Graphics Specifications:
$0000-$0001                        Pointer to graphic data
$0002                              ?
$0003                              Palette index
$0004                              Size template
 
Location Entrance Trigger:
$0000                              Source X coordinate of trigger
$0001                              Source Y coordinate of trigger
$0002-$0003                        Destination index
                                    (this & 0x0800):  Show name of location at top of screen
                                    (this & 0x1000):  Character faces right when entering
                                    (this & 0x2000):  Character faces down when entering
                                    (this & 0x3000):  Character faces left when entering
$0004                              Destination X coordinate
$0005                              Destination Y coordinate
 
Location Event Trigger:
$0000                              Source X coordinate of trigger
$0001                              Source Y coordinate of trigger
$0002-$0004                        Pointer to event code (+0A0200/+CA0000)
 
Location Properties:
$0000                              Name of Location
$0001                              Layers to animate
$0004                              Tile Properties (mult. by 2)
$0005:7                            0=no attacks, 1=attacks
$0007-$000A                        Tile Graphic Sets (32 bits, 7 each: ----aaaaaaabbbbbbbcccccccddddddd, mult. by 2)
$000B-$000C                        Tile Formations (16 bits, 7 each: aaaaaaabbbbbbb--, mult. by 2)
$000D-$0010                        Map Data (32 bits, 10 each: --aaaaaaaaaabbbbbbbbbbcccccccccc, mult. by 2)
$0012                              BG0 Left Shift Amount
$0013                              BG0 Upward Shift Amount
$0014                              BG2 Left Shift Amount
$0015                              BG2 Upward Shift Amount
$0019                              Palette Index
$001C                              Song Index
$001E                              Map Width
$001F                              Map Height
$0020                              Layer Priorities
 
Esper Data:
$0000                              Spell 1 learn rate
$0001                              Spell 1
$0002                              Spell 2 learn rate
$0003                              Spell 2
$0004                              Spell 3 learn rate
$0005                              Spell 3
$0006                              Spell 4 learn rate
$0007                              Spell 4
$0008                              Spell 5 learn rate
$0009                              Spell 5
$000A                              Bonus at level up
 
Magic Data:
$0000                              Targetting
$0001                              Elemental Properties
$0002                              Spell Effect
$0003                              Where used/Damage type
$0004                              Spell Effect 2
$0005                              MP Cost
$0006                              Power
$0007                              ?
$0008                              Success Rate
$0009                              Special Effect
$000A                              Condition Effects 1
$000B                              Condition Effects 2
$000C                              Condition Effects 3
$000D                              Condition Effects 4
 
Where Used/Damage Type:
01: Useable on the field            10:
02:                                20:
04:                                40: Character sacrifices self after casting
08:                                80: Affect MP
 
Spell Effect 2:
01: Restore HP or MP                10:
02: Absorb HP or MP                20:
04: Remove Status Conditions        40:
08: Induce Status Conditions        80: Power represents 1/16ths of value affected
 
Slashed values are LOW nibble/HIGH nibble.
 
Item:          Tools              Weapon              Armor/Shield/Hat    Relic              Item               
--------------------------------------------------------------------------------------------------------------------
$0000          Type (0)            Type (1)            Type (2, 3, 4)      Type (5)            Type (6)           
$0001-$0002    --                  Equippable Chars.  Equippable Chars.  Equippable Chars.  --                 
$0003          --                  --                  Spell Learn Rate    Spell Learn Rate    --                 
$0004          --                  --                  Spell Learned      Spell Learned      --                 
$0005          --                  Field Effects      Field Effects      Field Effects      --                 
$0006          --                  Cond. 1 Protection  Cond. 1 Protection  Cond. 1 Protection  --                 
$0007          --                  Cond. 2 Protection  Cond. 2 Protection  Cond. 2 Protection  --                 
$0008          --                  Cond. 3 when Equip  Cond. 3 when Equip  Cond. 3 when Equip  --                 
$0009          --                  Status Effects 1    Status Effects 1    Status Effects 1    --                 
$000A          --                  Battle Effects 1    Battle Effects 1    Battle Effects 1    --                 
$000B          --                  Status Effects 2    Status Effects 2    Status Effects 2    --                 
$000C          --                  Battle Effects 2    Battle Effects 2    Battle Effects 2    --                 
$000D          --                  Battle Effects 3    Battle Effects 3    Battle Effects 3    --                 
$000E          Targetting          Targetting          Targetting          Targetting          Targetting     
$000F          --                  Elem. Properties    Elem. 50% Dmg.      Elem. 50% Dmg.      --                 
$0010          --                  Vigor+/Speed+      Vigor+/Speed+      Vigor+/Speed+      --                 
$0011          --                  Stamina+/Mag.Pwr.+  Stamina+/Mag.Pwr.+  Stamina+/Mag.Pwr.+  --                 
$0012          Attack When Used    Attack when Used    Attack when Used    Attack when Used    --                 
$0013                              Weapon Properties                                          Item Properties
$0014          Attack Strength    Battle Power        Defense Power      Defense Power      HP/MP Affected
$0015          Hit Rate            Hit Rate            Magic Defense      Magic Defense      Cond. 1 when Used
$0016          --                  --                  Elem. Absorb HP    Elem. Absorb HP    Cond. 2 when Used
$0017          --                  --                  Elem. No Effect    Elem. No Effect    Cond. 3 when Used
$0018          --                  --                  Elem. Weak Point    Elem. Weak Point    Cond. 4 when Used
$0019          --                  --                  Cond. 2 when Equip  Cond. 2 when Equip  --                 
$001A          --                  Evade%/MBlock%      Evade%/MBlock%      Evade%/MBlock%      --                 
$001B          --                  ???/Spec.Atk.                                              Special Action
$001C-$001D    Price              Price              Price              Price              Price             
 
Item Type:
00: Tool                04: Hat        |  10: Can be thrown
01: Weapon              05: Relic      |  20: Usable as an item in battle
02: Armor              06: Item        |  40: Usable on the field (Items only)
03: Shield
 
Targetting:
01: Affects single ally or enemy        10: Auto-accept default selection
02: Affects enemies or allies only      20: Multiple selection possible
04: Affects all allies and enemies      40: Enemy selected by default
08: Affects all allies or all enemies  80: Random selection among all enemies and allies
 
Item Properties:
01:                                10: Restores MP
02:                                20: Removes Status Conditions
04:                                40: Causes damage
08: Restores HP                    80: Manipulates 1/16ths of actual value affected
 
Item Special Action:
01: Summon random esper
02: Super Ball attack
03: Remove character from battle
04: Elixir/Megalixir
05: Remove all characters from battle
06: Attracts Gau when encountered on the Veldt
FF: No special action
 
Special Attack:
0:  None                                8: 
1:  Steal Item                          9:  Dice
2:  Attack increases as HP increases    A:  Attack increases as HP decreases
3:  Kill (with X)                      B:  Wind attack
4:  Cause 2x damage to humans          C:  Recover HP
5:  Drain HP                            D:  Kill
6:  Drain MP                            E:  Uses MP to inflict mortal blow
7:  Attack with MP                      F:  Uses (more) MP to inflict mortal blow
 
Field Effects:
01: Reduce enemy attacks        10:
02: Prevent enemy attacks      20: Characters walk 2x speed
04:                            40:
08:                            80: Character gains 1 HP per step
 
Status Effects 1:
01: Raise Attack Damage        10: Raise HP by 12.5%
02: Raise Magic Damage          20: Raise MP by 25%
04: Raise HP by 25%            40: Raise MP by 50%
08: Raise HP by 50%            80: Raise MP by 12.5%
 
Status Effects 2:
01: Increase Steal Rate        10: 100% Hit Rate
02:                            20: Halve MP Consumption
04:                            40: Reduce MP Consumption to 1
08:                            80: Raise Vigor
 
Condition Effects 1:
01: Dark                        10: Vanish
02: Zombie                      20: Imp
04: Poison                      40: Petrify
08: Enable Magitek Commands    80: Death
 
Condition Effects 2:
01: Condemned                  10: Berserk
02: Kneeling                    20: Confusion
04: Blink                      40: HP Drain
08: Silence                    80: Sleep
 
Condition Effects 3:
01: Dance, but Float for Equip  10: Stop
02: Regen                      20: Shell
04: Slow                        40: Safe
08: Haste                      80: Reflect
 
Condition Effects 4:
01: Rage                        10: Casting Spell
02: Frozen                      20: Removed from Battle
04: Protection from Death      40: Randomly defended by Interceptor
08: Morph into Esper            80: Float
 
Battle Effects 1:
01:                    10: Sketch->Control
02:                    20: Slot->GP Rain
04: Fight->Jump        40: Steal->Capture
08: Magic->X-Magic      80: Jump continuously
 
Battle Effects 2:
01: Fight->X-Fight                      10: Can equip a weapon in each hand
02: Randomly Counter Attacks            20: Wearer can equip heavy armor
04: Increases chance of evading attack  40: Wearer protects those with low HP
08: Attack with two hands              80:
 
Battle Effects 3:
01: Casts Shell when HP is low          10: Doubles Gold received
02: Casts Safe when HP is low          20:
04: Casts Rflect when HP is low        40:
08: Doubles Experience received        80: Makes body cold
 
Weapon Properties:
01:                    10:
02: SwdTech            20: Same damage from back row
04:                    40: 2-Hand
08:                    80: Runic
 
Percentage Modifiers:
00: No change          06: -10%
01: +10%                07: -20%
02: +20%                08: -30%
03: +30%                09: -40%
04: +40%                0A: -50%
05: +50%
 
Status Value Modifiers:
00: No change          08: No change
01: +1                  09: -1
02: +2                  0A: -2
03: +3                  0B: -3
04: +4                  0C: -4
05: +5                  0D: -5
06: +6                  0E: -6
07: +7                  0F: -7
 
Elemental Properties:
01: Fire                10: Wind
02: Ice                20: Pearl/Holy
04: Lightning          40: Earth
08: Poison              80: Water
 
----
Shop Title Identifiers
 
Low nybble            High nybble
0: (Blank)          | 0: Items cost normal price
1: Weapon          | 1: Items cost twice normal price
2: Armor            | 2: Items cost 1.5X normal price
3: Item            | 3: Items cost half price when Edgar or Sabin is in party
4: Relics
5: Vendor
 
----
Map Tile Properties
 
Sample:  Grass from WoB (0x0044)
 
0000000001000100
|||||||||||||||+-  0: 0--Chocobo can travel on tile, 1--Chocobo cannot travel on tile
||||||||||||||+--  1: 0--Airship can land, 1--Airship cannot land
|||||||||||||+---  2 \ Size of shadow cast by airship
||||||||||||+----  3 / 00-smallest, 01-small, 10-large, 11-largest
|||||||||||+-----  4: 0--Can walk on/off tile, 1--Cannot walk on/off tile
||||||||||+------  5: 0--Character is opaque, 1--Bottom of character is transparent
|||||||||+-------  6: 0--Deactivate enemy encounters, 1--Activate enemy encounters
||||||||+--------  7:
|||||||+---------  8 \
||||||+----------  9  } Battle Background Image (see below)
|||||+----------- 10 /
||||+------------ 11:
|||+------------- 12:
||+-------------- 13:
|+--------------- 14:
+---------------- 15:
 
----
Locations
 
000    World of Balance
001    World of Ruin
002    Serpent Trench
003    --
004    --
005    --
006    Setzer's Airship (black background)
007    Setzer's Airship--Rooms
008    --
009    Scenario Selection Screen
00A    Setzer's Airship, flying through the sky
00B    Darryl's Airship, with Darryl at the helm
00C    Setzer's Airship--Casino Room (no exits)
00D    Setzer's Airship, party standing on deck
00E    Chocobo Stable (World of Balance)
00F    Houses in South Figaro
010    Chocobo Stable (World of Ruin)
011    Airship (World of Ruin, Bahamut magicite received)
012    Narshe (WoB)-Mountaintop cliff (from intro)
013    Narshe (WoB) (from intro--some places are inaccessible)
014    Narshe (WoB) (normal)
015    Narshe-Mountains between Narshe and the caves above Narshe
016    Narshe-Mountaintop maze above Narshe
017    Narshe-Mountaintop cliff (normal)
018    Narshe-Weapon Shop
019    Narshe-Armor Shop
01A    Narshe-Item Shop
01B    Narshe-Relic Shop
01C    Narshe-Inn
01D    Narshe-Cafe
01E    Narshe-Elder's House
01F    Chocobo Stable
020    Narshe (WoR)
021    Narshe (WoR)-Mountains between Narshe and the caves above Narshe
022    Narshe (WoR)-Mountaintop maze above Narshe (Ice Dragon)
023    Narshe (WoR)-Mountaintop cliff
024    Narshe Caves (Mag Roader?)
025    Underneath Narshe
026    Moogle's Cave
027    Narshe-Mountain Path to Maze
028    Narshe Caves (no enemies)
029    Narhse Caves (beginning)
02A   
02B
02C    Underneath Narshe (doesn't work)
02D
02E
02F    South Figaro (doesn't work)
030
031   
032    Underneath Narshe
033
034
035
036
037    Figaro Castle
038   
039    Figaro Castle-various rooms
03A   
03B    "
03C
03D    Figaro Castle-various basement rooms
03E
03F   
040
041
042
043
044    Cave to South Figaro (World of Ruin)
045    Cave to South Figaro (World of Balance)
046   
047
048
049
04A    South Figaro (World of Ruin)
04B    South Figaro (World of Balance)
04C   
04D
04E
04F
050
051    South Figaro-Large House
052
053    South Figaro-Large House, basement
054    South Figaro-Duncan's House, basement
055   
056    South Figaro-Duncan's House
057   
058    South Figaro-Inn
059   
05A
05B
05C
05D
05E    Nikeah (?)-Some rooms (as well as Cid's house on the Solitary Island)
05F
060    Mt. Kolts
061    Mt. Kolts with Fog
062    Mt. Kolts-last area (where Vargas is)
063
064    Mt. Kolts-Inner caves
065   
066
067
068
069    Classroom-Advanced Battle Tactics
06A    Classroom-Battle Tactics
06B    Classroom-Environmental Science
06C   
06D    Returners' Hideout
06E
06F    Returners' Hideout-Inn
070
071    Lete River
072    Lete River-Inner Caves
073    Crazy Old Man's House
074    Albrook-Shops
075    Imperial Camp
076
077
078    Doma Castle-from poison scene?
079    Doma Castle-World of Balance
07A
07B    Doma Castle-inner rooms
07C   
07D    Doma Castle-dimmed with enemies (from Cyan's dream)
07E    Doma Castle-dimmed rooms with enemies (from Cyan's dream)
07F    Duncan's House--World of Ruin
080
081
082
083    Crazy Old Man's House--World of Ruin
084    Phantom Forest--Entrance
085    Phantom Forest--Recovery Spring
086    Phantom Forest--Exit
087    Phantom Forest--to train platform
088
089    Phantom Train Platform--Train left, Cyan sad
08A
08B
08C
08D
08E    Phantom Train
08F
090    Phantom Train--Switch car, from Cyan's dream
091    Phantom Train--Seating car
092    Phantom Train--Engine room
093    Phantom Train--Dining car
094
095    Phantom Train--Seating car 2
096
097    Phantom Train--Rroom car 1
098    Phantom Train--Car with ghost
099    Phantom Train--Save point
09A
09B    Baren Falls--Cave
09C    Baren Falls--Cliff
09D    Mobliz--World of Balance
09E    Mobliz--World of Ruin
09F    Riverbank where Gau finds the party
0A0    Mobliz--Inn
0A1    Mobliz--Arsenal
0A2    Mobliz--Relics
0A3    Mobliz--Armor Shop
0A4    Mobliz--Item Shop
0A5    Mobliz--Wounded Soldier's House
0A6    Baren Falls--Entrance
0A7    Mt. Crescent
0A8    River leading to Serpent Trench
0A9    Nikeah--World of Balance
0AA    Riverbank with Clyde and Baram
0AB   
0AC
0AD
0AE
0AF    Serpent Trench--Caves
0B0    Mt. Zozo--Outside
0B1    Mt. Zozo--Outside, cliff with treasure chest
0B2    Mt. Zozo--Outside, cliff connecting dragon room to Cyan's room
0B3    Mt. Zozo--First inner chamber
0B4   
0B5    Mt. Zozo--Cliff outside Cyan's room
0B6
0B7
0B8
0B9    Colloseum Builder's House--World of Balance
0BA
0BB    Nikeah--Port       
0BC    Kohlingen--World of Balance
0BD    Kohlingen--World of Ruin
0BE
0BF    Kohlingen--Inn
0C0    Kohlingen--?
0C1    Kohlingen--Arsenal
0C2    Kohlingen--General Store
0C3   
0C4
0C5
0C6    Jidoor--World of Balance
0C7
0C8    Jidoor--Auction House
0C9    Jidoor--Item Shop
0CA    Jidoor--Relics
0CB    Jidoor--Armor Shop
0CC    Jidoor--Weapon Shop
0CD   
0CE    Jidoor--Inn
0CF    Jidoor--Owzer's House (dimmed, enemies)
0D0    Jidoor--Owzer's House (dimmed, no enemies)
0D1    Jidoor--Owzer's House
0D2
0D3
0D4
0D5
0D6
0D7    Airship flying scene
0D8    Gestahl, Madonna, and Maduin outside Esperville
0D9    Esperville
0DA    Esper Cave
0DB    Esperville Houses
0DC
0DD    Zozo
0DE   
0DF
0E0   
0E1    Zozo--Buildings
0E2    "
0E3
0E4
0E5
0E6
0E7    Opera House--Stage, dancing
0E8
0E9    Opera House--Stage, fighting
0EA   
0EB    Opera House--Rafters
0EC    Opera House--Castle Scene
0ED
0EE
0EF    Opera House--Rafters (alone)
0F0   
0F1
0F2    Vector
0F3    Vector--Imperial Castle
0F4    Vector--Imperial Castle, roof
0F5    Vector--Inn
0F6    Vector--Weapon Shop
0F7    Vector--Cafe
0F8    Vector--Armor Shop
0F9    Vector--?
0FA    Vector--Imperial Castle, inside
0FB
0FC
0FD    Vector--on fire
0FE
0FF
100
101
102
103
104
105
106    Magitek Factory--Inside
107    Magitek Factory--Inside, 2nd
108    Magitek Factory--Chamber where Shiva and Ifrit are found
109
10A    Magitek Factory--Elevator with Cid
10B
10C
10D
10E
10F
110
111
112    Magitek Research Facility--Tube Room
113   
114    The place Zone Eater sucks you into
115
116    Gogo's Room
117
118
119    Umaro's Lair
11A
11B
11C    Maranda--World of Balance
11D    Doma (after liberation?)
11E
11F    Kefka's Domain
120    (?)--Inn
121    (?)--Weapon Shop
122    (?)--Armor Shop
123
124
125    Kefka's Domain
126    Kefka's Domain
127    Kefka's Domain
128    "
129    Daryll's Tomb
12A    Daryll's Tomb--Basement 1
12B    Daryll's Tomb--Basement 2
12C    Daryll's Tomb--Basement 3
12D    Daryll's Tomb--Long Staircase
12E
12F    Kefka's Domain
130
131    Tzen--World of Ruin, predestruction
132    Tzen--World of Ruin, postdestruction
133    Jidoor (WoR)--Item Shop
134    Jidoor (WoR)--Inn
135    Jidoor (WoR)--Weapon Shop
136    Jidoor (WoR)--Armor Shop
137
138    Jidoor (WoR)--Relics
139    Phoenix Cave--Small Lava Room
13A    Phoenix Cave--Foggy Lava Room
13B    Phoenix Cave--Top Level
13C
13D
13E    Phoenix Cave--Entrance
13F    Mountain Cliff from Cyan's dream
140    Mines from Cyan's dream
141    Switch car from Cyan's dream
142    Seating car from Cyan's dream
143    Albrook--World of Balance
144    Albrook--World of Ruin
145    Albrook--Inn
146    Albrook--Weapon Shop
147    Albrook--Armor Shop
148    Albrook--Item Shop
149   
14A    Albrook--Cafe
14B   
14C    Albrook--Docks
14D   
14E    Kefka's Domain--Main Area
14F   
150    Final Room--Confrontation with Kefka
151    Kefka's Domain--Room with Weights and Switches
152   
153
154    Thamasa--World of Balance
155    Thamasa--World of Balance (people lying on ground)
156
157    Thamasa--World of Balance     
158    Thamasa--World of Ruin
159    Thamasa--Arsenal
15A    Thamasa--Inn
15B    Thamasa--Item Shop
15C    Thamasa--Elder's House
15D
15E
15F    Thamasa--Burning House
160    Magitek Research Facility
161    Cave in the Veldt
162    Kefka's Domain--Goddess room, etc.
163
164    Final Room--Confrontation with Kefka
165    Final Room--Confrontation with Kefka
166    Floating Island--Save Point
167    Fanatics Tower
168    Fanatics Tower
169    Fanatics Tower
16A    Fanatics Tower--Entrance
16B    Fanatics Tower
16C    Fanatics Tower--Roof
16D    Fanatics Tower--Treasure Room
16E    Fanatics Tower--Treasure Room, on roof
16F    Fanatics Tower--Treasure Room
170    Fanatics Tower--Treasure Room, White Dragon
171    Fanatics Tower--Treasure Room
172    Fanatics Tower--Treasure Room
173    Cave near Thamasa, with the Three Statues
174
175    Cave near Thamasa, outside cliffs, left
176    Cave near Thamasa, outside cliffs, right
177    Cave near Thamasa, Esper room
178
179    Imperial Base
17A    Rooms in Vector and Imperial Base
17B    "
17C    Large Overworld Map (from Floating Island)
17D
17E    Cave to the Sealed Gate
17F    Cave to the Sealed Gate--Basement 1
180    Cave to the Sealed Gate--Basement 1 (Lava colored)
181    Cave to the Sealed Gate--Small Lava Room with moving bridges
182    Cave to the Sealed Gate--Basement 4
183    Cave to the Sealed Gate--Basement 4
184
185
186    Land that rises and breaks for the World of Ruin
187    Sealed Gate
188    Jidoor--Floating Island casting shadow
189    Floating Island--being destroyed, Naughtys attack
18A    Floating Island
18B    Piece of land that gets torn apart
18C    Cid's House on Solitary Island--Outside
18D
18E    Solitary Island--Beach
18F    Solitary Island--Cliff
190    Solitary Island--Beach
191    Caves to the Ancient Castle
192    Caves to the Ancient Castle
193
194    Hidon's Cave
195    Hidon's Cave
196    Ancient Castle--Basement 1
197    Ancient Castle--Entrance
198    Ancient Castle--Basement 1
199    Kefka's Domain--Pipe Room
19A    Kefka's Domain
19B
19C
19D    Colloseum--Rooms
19E
 
Event Commands
--------------
Character Action Queue Specification:
xx nn                      xx = Character Number, nn = Number of actions to perform (including the final end command)
                            If nn & 0x80, the next action will not take place until this and any before it are complete.
 
$E3-$E4        Timer?
$E5-$E7        Current event "PC"
$E8-$EA        Current "stack pointer"
$EB            Parameter byte 1
$EC            Parameter byte 2
$ED            Parameter byte 3
$EE            Parameter byte 4
$EF            Parameter byte 5
 
General Actions: (Jump table at $C098C4)
----------------
35 xx                  $C09C44   
36 xx                  $C09C6F
37 xx yy                $C09C8F    Assign graphic set yy to object xx
38                      $C09D0E    Hold screen--does not scroll when character moves
39                      $C09D16    Free screen--does scroll when character moves
3A                      $C09D1E
3B                      $C09D2E    Position character in a "ready-to-go" stance
3C c1 c2 c3 c4          $C09D6D    Put characters c1-4 in the party
3D xx                  $C09E3C    Create object xx
3E xx                  $C09E67    Delete object xx
3F xx yy                $C09D3B    Assign character xx to party yy (if yy == 0, remove character from party)
40 xx yy                $C0A07C    Assign properties yy to character xx
41 xx                  $C0A2FA    Show object xx
42 xx                  $C0A336    Hide object xx
43 xx yy                $C09CA9    Assign palette yy to object xx
44 xx yy                $C09CCA
45                      $C09CE2    Refresh objects
46 xx                  $C09CEA    Make xx the current party
47                      $C09D03   
48 xxxx                $C0A475    Display dialogue message xxxx, continue executing commands
49                      $C0A4A6    If dialogue window is up, wait for keypress then dismiss
4A                      $C0A4B0
4B xxxx                $C0A4BC    Display dialogue message xxxx, halt execution until gone
                                    If xxxx & 0x4000, only the text will be shown (no dialogue window)
                                    If xxxx & 0x8000, the text will be shown at the bottom of the screen
4C xx yy                $C0A591
4D xx bb                $C0A578    Battle Enemy Set xx, Background Scenery bb
                                    bb:
                                    00: Grass                      10: Inside of Train Car                20: Owzer's House                  30: Airship, WoB, right
                                    01: Brown Forest                11: Blue/Purple Cave                    21: Running on Train Tracks        31: --
                                    02: Desert                      12: Icy Field                          22: Bridge near Sealed Gate        32: --
                                    03: Green Forest                13: Bright Town                        23: Underwater                      33: Statue 1
                                    04: Building                    14: Factory                            24: Zozo                            34: Statue 2
                                    05: World of Ruin              15: Floating Island                    25: Airship, WoB, centered          35: Statue 3
                                    06: The Veldt                  16: Kefka's Domain                      26: Tomb                            36: Kefka's Background
                                    07: Falling through the Clouds  17: Opera Stage                        27: Doma                            37: Tentacles
                                    08: Dark Town                  18: Opera House Rafters                28: Kefka's Domain                  3F: Narshe
                                    09: Grey Cave                  19: Flaming House                      29: Airship, WoR, right
                                    0A: Brown Cave                  1A: Castle                              2A: Red Cave
                                    0B: Mountain Top                1B: Magitek Research Facility w/ Tubes  2B: Light Building
                                    0C: Mountain Cave              1C: Colloseum                          2C: Riding Car out of MagResFac
                                    0D: Raft on a River            1D: Magitek Research Facility          2D: Fanatics' Tower
                                    0E: Imperial Base              1E: Village                            2E: Cyan's Dream World
                                    0F: On Top of Train Car        1F: Waterfall                          2F: Desert
4E                      $C0A4F9
4F                      $C0A5F3    Exit current location
50 xx                  $C0A5FD    Tint screen (cumulative) (takes 32 executions at intensity 15 to saturate)
51 xx pb pe            $C0A640  ?  Modify BG color range from [pb, pe]
52 xx                  $C0A686    Tint characters (cumulative)
53 xx pb pe            $C0A6C5  ?  Modify OBJ color range [pb, pe]
54                      $C0A784
55 ci                  $C0A795    Flash screen with color component(s) c, intensity i
56 ci                  $C0A7BA    Increase color component(s) c, intensity i
57 ci                  $C0A7D0    Decrease color component(s) c, intensity i
                                    Color components:
                                    2: Red                      A: Red + Blue (Magenta)
                                    4: Green                    C: Green + Blue (Cyan)
                                    6: Red + Green (Yellow)    E: Red + Green + Blue (White)
                                    8: Blue
 
58 xx                  $C0A7E6    Shake the screen (xx?)
59 xx                  $C0A80A    Unfade the screen at speed x
5A _x                  $C0A817    Fade the screen at speed x
5B                      $C0A826
5C                      $C0A82D
5D xx yy                $C0A838    Scroll BG0, speed xx x yy (00 --> 7F left/up, 80 <-- FF right/down)
5E xx yy                $C0A8CE    Scroll BG1, speed xx x yy (00 --> 7F left/up, 80 <-- FF right/down)
5F xx yy                $C0A964    Scroll BG2, speed xx x yy (00 --> 7F left/up, 80 <-- FF right/down)
60 xx yy                $C0A9FA
61 _c pb pe            $C0AA3D  ?  Desaturate color component(s) c from color range [pb, pe]
62 xx                  $C0AACB    Mosaic screen with speed xx (lower == slower)
63 xx                  $C0AADB
64 xx yy                $C0AAE9
65 xx yy                $C0AB09
6A nnnn xx yy ff        $C0AB47    Loads map nnnn, positions party at (xx, yy)
                                    ff:
                                    01:    Party is in airship
                                    02:    Party is on Chocobo
6B nnnn xx yy ff        $C0AB55    Loads map nnnn, positions party at (xx, yy)
6C xxxx yyyy zzzz      $C0AC0B
70 xx yy                $C0A881    Scroll BG0
71 xx yy                $C0A917    Scroll BG1
72 xx yy                $C0A9AD    Scroll BG2
73 xx yy rr cc data...  $C0AC45    Copy data of size rr*cc to current map's BG0 at (xx, yy) and refresh background
74 xx yy rr cc data...  $C0AC62    Copy data of size rr*cc to current map's BG0 at (xx, yy)
75                      $C0AC1F    Refresh background after map has been changed
77 xx                  $C09F32
78 xx                  $C09C7F
79 xx yy zz            $C0A36A
7A xx yy zz aa          $C0A42A
7B                      $C0A441
7C xx                  $C0A455
7D xx                  $C0A465
7E xx yy                $C0A39A    Move the characters to (xx, yy) on the current map
7F xx yy                $C0A03A    Change character xx's name to yy
80 xx                  $C0ACF0    Place item xx in inventory
81 xx                  $C0AD2D    Remove item xx from inventory
82                      $C0A570
84 xxxx                $C0AD50    Give xxxx amount of GP to party
85 xxxx                $C0AD7F    Take xxxx amount of GP from party
86 xx                  $C0ADB8    Give Esper xx to party
87 xx                  $C0ADD7    Take Esper xx from party
                                    Espers:
                                    36: Ramuh          40: Tritoch        4A: Phantom
                                    37: Ifrit          41: Odin            4B: Sraphim
                                    38: Shiva          42: Raiden          4C: Golem
                                    39: Siren          43: Bahamut        4D: Unicorn
                                    3A: Terrato        44: Alexandr        4E: Fenrir
                                    3B: Shoat          45: Crusader        4F: Starlet
                                    3C: Maduin          46: Ragnarok        50: Phoenix
                                    3D: Bismark        47: Kirin
                                    3E: Stray          48: ZoneSeek
                                    3F: Palidor        49: Carbunkl
88 xx c1 c2            $C0AE2D    Remove status conditions c1 and c2 from character xx (c1 = Condition Effects 1, c2 = Condition Effects 4)
89 xx c1 c2            $C0AE47    Inflict status conditions c1 and c2 on character xx (c1 = Condition Effects 1, c2 = Condition Effects 4)
8A xx c1 c2            $C0AE61    Toggle status conditions c1 and c2 for character xx (c1 = Condition Effects 1, c2 = Condition Effects 4)
8B xx yy                $C0AE7B
8C xx yy                $C0AF3E
8D xx                  $C09FCE    Remove all equipment from character xx and place it in the inventory
8E                      $C0A54E
8F                      $C0AFF8
90                      $C0B002
91                      $C0B23F    Pause for 15 units
92                      $C0B249    Pause for 30 units
93                      $C0B253    Pause for 45 units
94                      $C0B25D    Pause for 60 units
95                      $C0B267    Pause for 120 units
96                      $C0A7F0    Refresh screen after a menu or battle
97                      $C0A7FD    Fade screen to black
98 xx                  $C0B00F    Invoke name change screen for character xx
99 xx yy zz            $C0B035    Invoke party selection screen:  xx = number of groups
9A                      $C0B0B2    Invoke Coliseum item selection screen
9B xx                  $C0B06D    Invoke shop xx
9C xx                  $C0B08C
9D                      $C0B09C    Invoke Party Order screen (from final battle)
A0 xx yy zz aa bb      $C0B0E0
A1 xx                  $C0B10E
A2                      $C0B130
A6                      $C0BA09
A7 xx                  $C0BA14
A8                      $C0BA51    Show Floating Island soaring into the sky
A9                      $C0B966    Show title screen
AA                      $C0B992    Show intro with Magitek Armor walking through snowfields
AB                      $C0B91B    Invoke game loading screen
AC                      $C0B95E
AD                      $C0BA69    Show world getting torn apart
AE                      $C0B9C5    Show train car ride out of the Magitek Factory
AF                      $C0A503    Invoke random Coliseum battle
B0 xx                  $C0B138    Repeat the the following commands (until B1 is encountered) xx times
B1                      $C0B145    End block of commands to repeat with B0
B2 aaaaaa              $C0B1A1    Jump to subroutine aaaaaa (+$CA0000/$0A0200)
B3 xx aaaaaa            $C0B1DF
B4 xx                  $C0B21D    Pause for xx units
B5 xx                  $C0B227    Pause for 15 * xx units
B6 aaaaaa ...          $C0B6D3    Branch to the nth address following B6, where n is the last item selected from a
                                    multiple-choice dialogue window.  Each address is 3 bytes, added to $CA0000/$0A0200.
B7 xx aaaaaa            $C0B299    Branch to aaaaaa (+$CA0000/$0A0200) if bit $1DC9 + $xx is clear
B8 xx                  $C0B6AB    Set bit $1DC9 + $xx
B9 xx                  $C0B6BF    Clear bit $1DC9 + $xx
BA xx                  $C0BA31
BB                      $C0B9BE
BC xx yy                $C0B16F    Return if bit $1E80 + $xx is clear
BD aaaaaa              $C0B271    Increment $1F6D, if ($C0FD00 + ($1F6D)) >= $80, branch to aaaaaa + $CA0000/$0A0200
BE nn xaaaaa ...        $C0B6F7    Jump to indexed subroutine based on the state of bit $1EB4(x)
                                    Number of parameters = (nn * 3) + 1 (+1 accounts for the nn)
BF                      $C0B9E7    Show airship scene from the ending
 
C0-CF Conditionals:
    If MSB of bit to test is 0, the bit will be compared to 0, else it will be compared to 1.
    [In a nutshell, if(tx && 0x8000) -> if(*tx); if(!(tx && 0x8000)) -> if(!(*tx))]
    If result of all comparisons is true, branch will occur; otherwise, execution will occur at the next command.
    Each condition to test (the bit value) is 2 bytes--the address to branch to is 3 bytes, and is added to $CA0000/$0A0200.
C0-C7: $C0B2C8, C8-CF: $C0B32D
 
C0 t1 addr                          if(t1) branch; else continue;
C1 t1 t2 addr                      if(t1 || t2) branch; else continue;
C2 t1 t2 t3 addr                    if(t1 || t2 || t3) branch; else continue;
C3 t1 t2 t3 t4 addr                if(t1 || t2 || t3 || t4) branch; else continue;
C4 t1 t2 t3 t4 t5 addr              if(t1 || t2 || t3 || t4 || t5) branch; else continue;
C5 t1 t2 t3 t4 t5 t6 addr          if(t1 || t2 || t3 || t4 || t5 || t6) branch; else continue;
C6 t1 t2 t3 t4 t5 t6 t7 addr        if(t1 || t2 || t3 || t4 || t5 || t6 || t7) branch; else continue;
C7 t1 t2 t3 t4 t5 t6 t7 t8 addr    if(t1 || t2 || t3 || t4 || t5 || t6 || t7 || t8) branch; else continue;
C8 t1 addr                          if(t1) branch; else continue;
C9 t1 t2 addr                      if(t1 && t2) branch; else continue;
CA t1 t2 t3 addr                    if(t1 && t2 && t3) branch; else continue;
CB t1 t2 t3 t4 addr                if(t1 && t2 && t3 && t4) branch; else continue;
CC t1 t2 t3 t4 t5 addr              if(t1 && t2 && t3 && t4 && t5) branch; else continue;
CD t1 t2 t3 t4 t5 t6 addr          if(t1 && t2 && t3 && t4 && t5 && t6) branch; else continue;
CE t1 t2 t3 t4 t5 t6 t7 addr        if(t1 && t2 && t3 && t4 && t5 && t6 && t7) branch; else continue;
CF t1 t2 t3 t4 t5 t6 t7 t8 addr    if(t1 && t2 && t3 && t4 && t5 && t6 && t7 && t8) branch; else continue;
 
D0 xx                  $C0B593    Set event bit $1E80 + xx ($1E80 + $0xx)
D1 xx                  $C0B5CF    Clear event bit $1E80 + xx ($1E80 + $0xx)
D2 xx                  $C0B5A7    Set event bit $1EA0 + xx ($1E80 + $1xx)
D3 xx                  $C0B5E3    Clear event bit $1EA0 + xx ($1E80 + $1xx)
D4 xx                  $C0B5BB    Set event bit $1EC0 + xx ($1E80 + $2xx)
D5 xx                  $C0B5F7    Clear event bit $1EC0 + xx ($1E80 + $2xx)
D6 xx                  $C0B60B    Set event bit $1EE0 + xx ($1E80 + $3xx)
D7 xx                  $C0B65B    Clear event bit $1EE0 + xx ($1E80 + $3xx)
D8 xx                  $C0B61F    Set event bit $1F00 + xx ($1E80 + $4xx)
D9 xx                  $C0B66F    Clear event bit $1F00 + xx ($1E80 + $4xx)
DA xx                  $C0B633    Set event bit $1F20 + xx ($1E80 + $5xx)
DB xx                  $C0B683    Clear event bit $1F20 + xx ($1E80 + $5xx)
DC xx                  $C0B647    Set event bit $1F40 + xx ($1E80 + $6xx)
DD xx                  $C0B697    Clear event bit $1F40 + xx ($1E80 + $6xx)
DE                      $C0B40B
DF                      $C0B465
E0                      $C0B513
E1                      $C0B51E
E2                      $C0B4B9
E3                      $C0B3B7    Load bits $1EB4(0-7) and $1EB5(0-7) with the available characters
E4                      $C0B39E
E7                      $C0B394
E8 xx yyyy              $C0B529    Set word $1FC2 + $xx to yyyy
E9 xx yyyy              $C0B53C
EA xx yyyy              $C0B556
EB xx yyyy              $C0B571
EF xx yy                $C0B7AA
F0 xx                  $C0B780    Play song xx
F1 xx yy                $C0B7D4    Fade in song xx with speed yy (higher == slower)
F2 xx                  $C0B811    Fade out current song with speed xx (higher == slower)
F3 xx                  $C0B827
F4 xx                  $C0B854    Play sound effect xx
F5 xx yy zz            $C0B85E
F6 xx yy zz            $C0B889
F7                      $C0B8A1
F8                      $C0B8AF
F9 xx                  $C0B8BA
FA                      $C0B8C7
FE                      $C0B8D7    Return
 
Special Event Bits:
-------------------
D2 CE      $1E80($1CE) [$1EB9, bit 6]      Enables party switching with the Y button
 
 
Movement Actions: (Jump table at $C07807, beginning with $C6)
-----------------
00-3F                              Graphical Actions
40-7F                              Graphical Actions 00-3F, flipped horizontally
80                                  Move Character Up--1 tile
81                                  Move Character Right--1 tile
82                                  Move Character Down--1 tile
83                                  Move Character Left--1 tile
84                                  Move Character Up--2 tiles
85                                  Move Character Right--2 tiles
86                                  Move Character Down--2 tiles
87                                  Move Character Left--2 tiles
88                                  Move Character Up--3 tiles
89                                  Move Character Right--3 tiles
8A                                  Move Character Down--3 tiles
8B                                  Move Character Left--3 tiles
8C                                  Move Character Up--4 tiles
8D                                  Move Character Right--4 tiles
8E                                  Move Character Down--4 tiles
8F                                  Move Character Left--4 tiles
90                                  Move Character Up--5 tiles
91                                  Move Character Right--5 tiles
92                                  Move Character Down--5 tiles
93                                  Move Character Left--5 tiles
94                                  Move Character Up--6 tiles
95                                  Move Character Right--6 tiles
96                                  Move Character Down--6 tiles
97                                  Move Character Left--6 tiles
98                                  Move Character Up--7 tiles
99                                  Move Character Right--7 tiles
9A                                  Move Character Down--7 tiles
9B                                  Move Character Left--7 tiles
9C                                  Move Character Up--8 tiles
9D                                  Move Character Right--8 tiles
9E                                  Move Character Down--8 tiles
9F                                  Move Character Left--8 tiles
A0                                  Move Character Right/Up--1x1 tile
A1                                  Move Character Right/Down--1x1 tile
A2                                  Move Character Left/Down--1x1 tile
A3                                  Move Character Left/Up--1x1 tile
A4                                  Move Character Right/Up--1x2 tile
A5                                  Move Character Right/Up--2x1 tile
A6                                  Move Character Right/Down--2x1 tile
A7                                  Move Character Right/Down--1x2 tile
A8                                  Move Character Left/Down--1x2 tile
A9                                  Move Character Left/Down--2x1 tile
AA                                  Move Character Left/Up--2x1 tile
AB                                  Move Character Left/Up--1x2 tile
C0                                  Set character's speed (within the event) to slowest
C1                                  Set character's speed (within the event) to slow
C2                                  Set character's speed (within the event) to normal
C3                                  Set character's speed (within the event) to fast
C4                                  Set character's speed (within the event) to fastest
C6                      $C0787B    Set character to walk when moving
C7                      $C07886    Set character to stay still when moving
C8                      $C07891
C9                      $C07A05
CC                      $C078AB    Turn current character up
CD                      $C078B7    Turn current character right
CE                      $C078C4    Turn current character down
CF                      $C078D1    Turn current character left
D0                      $C078DE
D1                      $C07928    Make current character disappear
D5 xx yy                $C07A1E    Set position to (xx, yy)
D7                      $C07A65
DC                      $C07A94    Make character jump (low)
DD                      $C07A9C    Make character jump (high)
E0 xx                  $C07AA4    Pause for xx units
E1 xx                  $C07969    Set event bit $1E80 + xx ($1E80 + $0xx)
E2 xx                  $C07983    Set event bit $1EA0 + xx ($1E80 + $1xx)
E3 xx                  $C0799D    Set event bit $1EC0 + xx ($1E80 + $2xx)
E4 xx                  $C079B7    Clear event bit $1E80 + xx ($1E80 + $0xx)
E5 xx                  $C079D1    Clear event bit $1EA0 + xx ($1E80 + $1xx)
E6 xx                  $C079EB    Clear event bit $1EC0 + xx ($1E80 + $2xx)
F9 aaaaaa              $C07ACF    Branch to queue code at aaaaaa (+CA0000/+0A0200)
FA xx                  $C07B0C    Increment $1F6D, if ($C0FD00 + ($1F6D)) >= $80, branch backwards xx bytes in the queue
FB xx                  $C07B19    Increment $1F6D, if ($C0FD00 + ($1F6D)) >= $80, branch forwards xx bytes in the queue
FC xx                  $C07B26    Branch backwards xx bytes in the queue
FD xx                  $C07B4B    Branch forwards xx bytes in the queue
FF                      $C07B70    End queue
 
Battle Event Commands:
----------------------
00 xx                  $C1970C    Display message xx at the top of the screen
01 xx                  $C196C1    Display message xx at the bottom of the screen
02                      $C1FFE3    --
03 xx                  $C1FF78
04 xx                  $C1FF78
05 xx                  $C1FF78
06 xx                  $C1FF78
07                      $C1FF60
08                      $C1FF60
09                      $C1FF60
0A                      $C1FF60
0B                      $C1FF60
0C                      $C1FF60
0D                      $C1FE2D
0E                      $C1FF47
0F                      $C1FF55    Execute queues
10                      $C196AD
11                      $C196AA    Open dialogue window at the bottom of the screen
12                      $C1FEB9
13                      $C1FDE8
14                      $C1FDED
 
11                      Open dialogue window at the bottom of the screen
01 2F                  Display message $2F at the bottom of the screen
03 29                  Queue for KEFKA
    CA
    CD
0F                      Execute queues
01 30                  Display message $30 at the bottom of the screen
0E
03 05                  Queue for SABIN
    0D
    CE
04 29                  Queue for KEFKA
    40
    CE
0F                      Execute queues
01 31                  Display message $31 at the bottom of the screen
0E
03 05                  Queue for SABIN
    30
    CE
04 29                  Queue for KEFKA
    58
    CE
0F                      Execute queues
0E
03 03                  Queue for SHADOW
    68
    CE
04 29                  Queue for SABIN
    78
    CE
0F                      Execute queues
10
FF                      End Event
 
Pseudorepresentations of Event Commands:
----------------------------------------
 
Pseudorepresentation of Event 13/26x32
 
Event13/26x32
{
    78(0E);
    78(0F);
    QueueObject(00, 2 bytes, wait)
    {
        Object_D7();
        Object_EndQueue();
    }
    3C(00, FF, FF, FF);
    CreateObject(00);
    RefreshObjects();
    3D(0E);
    3D(0F);
    QueueObject(0E, 6 bytes, wait)
    {
        Object_SetPosition(26, 32);
        Object_TurnDown();
        Object_SetSpeedNormal();
        Object_EndQueue();
    }
    QueueObject(0F, 6 bytes, wait)
    {
        Object_SetPosition(26, 32);
        Object_TurnDown();
        Object_SetSpeedNormal();
        Object_EndQueue();
    }
    41(0E);
    41(0F);
    RefreshObjects();
    QueueObject(0E, 3 bytes, no wait)
    {
        Object_MoveDown2();
        Object_TurnUp();
        Object_EndQueue();
    }
    QueueObject(0F, 7 bytes, wait)
    {
        Object_MoveDown1();
        Object_MoveRight2();
        Object_TurnDown();
        Object_Pause(2);
        Object_TurnLeft()
        Object_EndQueue();
    }
    DisplayDialogueAndWait(000C);
    QueueObject(0E, 3 bytes, no wait)
    {
        Object_MoveUp2();
        Object_Hide();
        Object_EndQueue();
    }
    QueueObject(0F, 4 bytes, wait)
    {
        Object_MoveLeft2();
        Object_MoveUp1();
        Object_Hide();
        Object_EndQueue();
    }
    QueueObject(00, 8 bytes, wait)
    {
        Object_TurnRight();
        Object_Pause(2);
        Object_TurnUp();
        Object_Pause(6);
        Object_MoveUp1();
        Object_EndQueue();
    }
    36(0E);
    36(0F);
    Return();
}
 
Event13/26x26
{
    If(bit $128 == 0) branch to 0A60B3;
    3D(10);
    3D(11);
    QueueObject(10, 4 bytes, wait)
    {
        Object_SetPosition(25, 20);
        Object_EndQueue();
    }
    QueueObject(11, 4 bytes, wait)
    {
        Object_SetPosition(27, 20);
        Object_EndQueue();
    }
    41(10);
    41(11);
    RefreshObjects();
    QueueObject(10, 2 bytes, no wait)
    {
        Object_MoveDown3();
        Object_EndQueue();
    }
    QueueObject(11, 2 bytes, wait)
    {
        Object_MoveDown3();
        Object_EndQueue();
    }
    DisplayDialogueAndWait(000D, bottom);
    QueueObject(10, 3 bytes, no wait)
    {
        Object_MoveDown3();
        Object_TurnRight();
        Object_EndQueue();
    }
    QueueObject(11, 3 bytes, wait)
    {
        Object_MoveDown3();
        Object_TurnLeft();
        Object_EndQueue();
    }
    InvokeBattle(01, Narshe background);
    JumpToSubroutine($0A60A9)
    {
        B7(40, B25E00);
        B2(66E502)
        FE;
    }
    42(10);
    42(11);
    RefreshObjects();
    RefreshScreen();
    5C;
    SetEventBit($128);
    3A;
    Return();
}
 
Info on save points (0CA45E):
{
    if(bit 001 == 0) branch to 0CA468;
    DisplayDialogueAndWait($0014);
    Return();
}
 
SPC Note Info
-------------
00-0A      Play note, frequency 0
10-1A      Play note, frequency 1
20-2A      Play note, frequency 2
30-3A      Play note, frequency 3
40-4A      Play note, frequency 4
50-5A      Play note, frequency 5
60-6A      Play note, frequency 6
70-7A      Play note, frequency 7
80-8A      Play note, frequency 8
90-9A      Play note, frequency 9
A0-AA      Play note, frequency 10
B0-BA      Play silence
C4 xx      Set volume of channel to xx (00-7F), higher values == greater volume.
C5 ss xx    Fade volume to xx at speed ss
C6 xx      Pan song left->right as xx (00-7F) increases
C7 xx      Pan song right->left as xx (00-7F) increases
//C8            Created an odd ascending portamento effect.
CD xx      Pan repeatedly back and forth at speed xx (00-FF), higher values == slower panning.
CE          Disable pan loop
D7          Raise octave by 1
D8          Lower octave by 1
DE          Disables DF.
//DF            Created an odd volume "cut" very shortly into the note...
//E4            Creates a portamento effect linking all following notes with pitch slides.
E5          Disables E4.
E6          Enable vibrato.
E7          Disable vibrato.
F0 xx      Set tempo to xx (00-FF), higher values == faster tempo.
F1 ss xx    Fade tempo to xx at speed ss
F2 xx      Set echo to xx
F3 ss xx    Fade echo to xx at speed ss
 
SAFER SEIFER
 
0x70ba2: Table of loop start for the samples (2 bytes for each sample)
0x70ae7: Table of addresses for samples (3 bytes)
0x70e11: Table of the samples used in each song (16x2 bytes)
0x70d18: Table of adresses of the songs (3 bytes)
0x70c1e: Table of relative frequencies for each sample (1 signed byte, add 256 to get the relative frequency)
There are 82 songs in FF6US.
The samples begin with the length of the sample in bytes, then the sample comes after it, in BRR format. Every 16 samples are compressed into 9 bytes. They have the following format:
rrrrffle 01 23 45 67 89 AB CD EF
rrrr - Granularity (shift every nybble upwards by this granularity)
ff - filter designation
l - looping sample, only used in the last block
e - end of sample
Example:
01010000 01 23 21 0F ED CB CD EF
becomes
0000 0020 0040 0060 0040 0020 0000 FFE0 FFC0 FFA0 FF80 FF60 FF80 FFA0 FFC0 FFE0
 
The songs begin with 19 words. Word 3 to 11 contains the low 16-bit half of the offset to each channel's data. The high half is the same as the address to the table if the low part is higher than the low part of the address of the table, if it is lower, the high half is the high half of the address to the table +1.
The format of each channel in the song:
Bytes below 0xC4 - Divide by 14 to get the note. 12 is nothing and 13 means note off. The remainder is an offset to a table which contains the length of the note. The table is:
192, 96, 64, 72, 48, 32, 36, 24, 16, 12, 8, 6, 4, 3
C4 xx: Volume
C5 tt xx: VolSlide
C6 xx: Pan
C7 tt xx: PanSlide
C8 tt xx: Portamento. Xx denotes the increase in pitch. When this is immediately followed by a note, the portamento comes after the note.
C9 ss tt dd: Vibrato. Ss is the speed of the vibrato. Tt is the time until the vibrato appears. Dd is the depth.
CA: Vibrato off
CB ss tt dd: Tremolo
CC: Tremolo off
CD ?? ??: Pan sweep back and forth
CE: Pansweep off
D6: Set octave
D7: 1 Octave up
D8: 1 Octave down
DA: Set transpose
DB: Add to transpose
DC: Change sample
E2 xx: Loop start. Xx is number of times to loop -1.
There can be up to 4 nested loops.
E3: Loop end
E8 xx: Set the length of the next note
EB: End of channel
F0: Set speed
F5 xx aaaa: When instruction has been executed xx times, jump to aaaa and end the most recent loop
F6 aaaa: Jump to aaaa
FB: set drum mode on
FC: set drum mode off
I don't know where the table for the drums is, but it is 36 bytes for each song containing the instrument, note and pan position for each drum.

Latest revision as of 14:27, 24 January 2024