Menu Hacking Document
#1
This is a thread based on stuff I've found important enough to note. It's all relevant to hacking any part of the menu. This information is for those who know how to manipulate it. Most of the menu data follows a simple X and Y coordinate system, and most of this is copy and pasted from the C3 bank. I want to keep this organized for those who want a clean document dedicated to hacking the menu instead of siphoning through the banks for relevant data.
OAM = Object Attribute Memory

Remember to use the vertical scroll wheel to view all the data within the code window!

The entire backbone of the Menu System[spoiler]
Code:
$26's jump table. The entire backbone of the menu system is here.
C3/01DB:    711D        (#$00, fade out)
C3/01DD:    7E1D        (#$01, most, if not all screens call this as a transition to the next screen)
C3/01DF:    8B1D        (#$02, both #$00 and #$01 call this to finish transition, then $27 is transfered to $26)
C3/01E1:    941D        (#$03, )
C3/01E3:    8A1A          (#$04, initiate the main menu)
C3/01E5:    A41D        (#$05, sustain the main menu)
C3/01E7:    E81D        (#$06, selecting one character in the main menu)
C3/01E9:    D61A        (#$07, inititate the item menu)
C3/01EB:    F71E        (#$08, sustain the item menu)
C3/01ED:    5B1B        (#$09, initiate the skills menu)
C3/01EF:    F41F        (#$0A, sustain the skills menu)
C3/01F1:    461C        (#$0B, initiate the status screen)
C3/01F3:    F521        (#$0C, sustain the status screen)
C3/01F5:    7D1C        (#$0D, initiate the config screen)
C3/01F7:    C522        (#$0E, sustain the config screen)
C3/01F9:    0C24        (#$0F, browsing the order menu)
C3/01FB:    5324        (#$10, a character is selected in the order menu)
C3/01FD:    A924        (#$11, switching characters in the order menu)
C3/01FF:    3725        (#$12, changing a character's row)
C3/0201:    A01C        (#$13, initiate the save screen)
C3/0203:    4025        (#$14, sustain the save screen)
C3/0205:    E31C        (#$15, inititate the "Erasing data. Okay?" menu)
C3/0207:    9D25        (#$16, sustain the "Erasing data. Okay?" menu)
C3/0209:    F425        (#$17, "USE  ARRANGE  RARE")
C3/020B:    4127        (#$18, the rare item menu)
C3/020D:    7927        (#$19, an item is selected in the item menu)
C3/020F:    E227        (#$1A, handle the preloading for Magic descriptions)
C3/0211:    8A28        (#$1B, handle the preloading for Lore descriptions)
C3/0213:    AA28        (#$1C, the Dance menu)
C3/0215:    BA28        (#$1D, the Rage menu)
C3/0217:    D328        (#$1E, the Espers menu)
C3/0219:    9D25        (#$1F, )
C3/021B:    031D        (#$20, initiate the SRAM load screen)
C3/021D:    C229        (#$21, sustain the SRAM load screen)
C3/021F:    511D        (#$22, initiate the "This data?" screen)
C3/0221:    2A2A        (#$23, sustain the "This data?" screen)
C3/0223:    66B4        (#$24, initiate the shop menu)
C3/0225:    9BB4        (#$25, sustain the shop menu)
C3/0227:    BDB4        (#$26, the buy menu)
C3/0229:    05B5        (#$27, deciding how many items to buy)
C3/022B:    0EB6        (#$28, bought an item, or can't buy any more)
C3/022D:    16B6        (#$29, the sell menu)
C3/022F:    76B6        (#$2A, deciding how many items to sell)
C3/0231:    52B7        (#$2B, sold an item)
C3/0233:    E770        (#$2C, initiate the party selection screen)
C3/0235:    6871        (#$2D, sustain the party selection screen)
C3/0237:    0C72        (#$2E, selecting a character in the party selection screen)
C3/0239:    E57A        (#$2F, )
C3/023B:    257B        (#$30, )
C3/023D:    257B        (#$31, )
C3/023F:    257B        (#$32, )
C3/0241:    7729        (#$33, handle the preloading for Blitz descriptions)
C3/0243:    3A29        (#$34, ??? selected an Esper that is equipped by someone else)
C3/0245:    B81B        (#$35, initiate the equip menu)
C3/0247:    2196        (#$36, sustain the equip menu)
C3/0249:    B51E        (#$37, selecting all characters in the main menu)
C3/024B:    321C        (#$38, initiate the screen that displays the equipment of all members)
C3/024D:    6629        (#$39, sustain the screen that displays the equipment of all members)
C3/024F:    652A        (#$3A, initiate the screen where you decide whom to use a spell on)
C3/0251:    AE2A        (#$3B, sustain the screen where you decide whom to use a spell on)
C3/0253:    1C2D        (#$3C, returning to the magic list)
C3/0255:    782D        (#$3D, selecting all characters with a spell)
C3/0257:    8E29        (#$3E, handle the preloading for SwdTech descriptions)
C3/0259:    37B4        (#$3F, initiate the SwdTech naming screen (unused in SNES version))
C3/025B:    37B4        (#$40, sustain the SwdTech naming screen (unused in SNES version))
C3/025D:    37B4        (#$41, browsing the list of characters for the SwdTech naming screen (unused in SNES version))
C3/025F:    1D63        (#$42, initiate the status screen for the party selection screen)
C3/0261:    3F63        (#$43, sustain the status screen for the party selection screen)
C3/0263:    1C7D        (#$44, )
C3/0265:    1C7D        (#$45, )
C3/0267:    1C7D        (#$46, )
C3/0269:    C242        (#$47, initiate the Arrange screen)
C3/026B:    DF42        (#$48, sustain the Arrange screen)
C3/026D:    AD46        (#$49, initiate the button menu (unused in SNES version))
C3/026F:    AD46        (#$4A, sustain the button menu (unused in SNES version))
C3/0271:    AD46        (#$4B, initiate the Controller menu)
C3/0273:    CA46        (#$4C, sustain the Controller menu)
C3/0275:    CE58        (#$4D, viewing an Esper's specifics)
C3/0277:    37B4        (#$4E, move to the second window of the SwdTech naming screen (unused in SNES version))
C3/0279:    37B4        (#$4F, move to the first window of the SwdTech naming screen (unused in SNES version))
C3/027B:    003A        (#$50, move to the second window of the config menu)
C3/027D:    213A        (#$51, move to the first window of the config menu)
C3/027F:    0A1A        (#$52, )
C3/0281:    FB19        (#$53, )
C3/0283:    191A        (#$54, ??? exiting the save menu)
C3/0285:    8498        (#$55, selecting a body slot to fill)
C3/0287:    CF98        (#$56, selecting a body slot to empty)
C3/0289:    0F99        (#$57, selecting an item to put in body slot)
C3/028B:    4B9E        (#$58, initiate the relic menu)
C3/028D:    B89E        (#$59, "EQUIP  REMOVE" in the relic menu)
C3/028F:    FD9F        (#$5A, selecting a relic slot to fill)
C3/0291:    97A0        (#$5B, selecting an item to put in relic slot)
C3/0293:    0AA1        (#$5C, selecting a relic slot to empty)
C3/0295:    2D65        (#$5D, initiate the character naming screen)
C3/0297:    E689        (#$5E, viewing an item's statistics)
C3/0299:    6C65        (#$5F, sustain the character naming screen)
C3/029B:    E865        (#$60, move to the second window of the character naming screen (unused in SNES version))
C3/029D:    E865        (#$61, move to the first window of the character naming screen down (unused in SNES version))
C3/029F:    3843        (#$62, browsing the "Arrange" screen)    
C3/02A1:    7643        (#$63, selecting a command in the "Arrange" screen)
C3/02A3:    8389        (#$64, viewing an item's specifics)
C3/02A5:    E736        (#$65, shift the screen)
C3/02A7:    FF79        (#$66, )
C3/02A9:    F079        (#$67, )
C3/02AB:    0E7A        (#$68, ??? related to party selection screen)
C3/02AD:    877A        (#$69, ??? cannot exit party selection screen)
C3/02AF:    A763        (#$6A, browsing the command list in Gogo's status screen)
C3/02B1:    B422        (#$6B, )
C3/02B3:    B19F        (#$6C, notifications that modifications to relics have affected equipment)
C3/02B5:    1A1C        (#$6D, automatically opening equip menu after changing relics)
C3/02B7:    261C        (#$6E, removing all equipment, called only when relics alter equipment)
C3/02B9:    848A        (#$6F, initiate the menu where you decide whom to use an item on)
C3/02BB:    968A        (#$70, sustain the menu where you decide whom to use an item on)
C3/02BD:    AAAC        (#$71, initiate the main colosseum menu)
C3/02BF:    DCAC        (#$72, sustain the main colosseum menu)
C3/02C1:    F8A9        (#$73, initiate screen for determining party order for final battle)
C3/02C3:    25AA        (#$74, sustain screen for determining party order for final battle)
C3/02C5:    B7AD        (#$75, initiate the colosseum matchup screen)
C3/02C7:    0FAE        (#$76, sustain the colosseum matchup screen)
C3/02C9:    351B        (#$77, returning to the item list)
C3/02CB:    8AAD        (#$78, jumps to data, dummy?)
C3/02CC:    7D9E        (#$79, switching characters while selecting a relic slot to fill)
C3/02CF:    8B9E        (#$7A, switching characters while selecting a relic slot to empty)
C3/02D1:    0000        (#$7B, a dummied entry)
C3/02D3:    0000        (#$7C, a dummied entry)
C3/02D5:    3171        (#$7D, returning to party selection screen from status screen)
C3/02D7:    E51B        (#$7E, switching characters in the equip menu while selecting a body slot to fill)
C3/02D9:    F31B        (#$7F, switching characters in the equip menu while selecting a body slot to empty)

C3/02DB:    A5B4        LDA $B4
C3/02DD:    D019        BNE $02F8
C3/02DF:    AD8811      LDA $1188
C3/02E2:    8920        BIT #$20
C3/02E4:    F012        BEQ $02F8
C3/02E6:    AC8911      LDY $1189
C3/02E9:    D00D        BNE $02F8
C3/02EB:    A9FF        LDA #$FF
C3/02ED:    8527        STA $27        (exit the menu)
C3/02EF:    6426        STZ $26        (fade out, transition to above)
C3/02F1:    A905        LDA #$05
C3/02F3:    8D0502      STA $0205
C3/02F6:    85B4        STA $B4
C3/02F8:    60          RTS
[/spoiler]


Position of Symbols, Words, etc.[spoiler]
Code:
C3/646F:    CD7892AD9AADAEAC00                  (position of and word "Status")
C3/6478:    6B3AC000                            (position of and word "/")
C3/647C:    AB3AC000                            (position of and word "/")
C3/6480:    837FCD00                            (position of and word "%")
C3/6484:    8388CD00                            (position of and word "%")
C3/6488:    1D3A8B9500                          (position of and word "LV")
C3/648D:    5D3A878F00                          (position of and word "HP")
C3/6492:    9D3A8C8F00                          (position of and word "MP")
C3/6497:    CF7E95A2A0A8AB00                    (position of and word "Vigor")
C3/649F:    CF7F92AD9AA6A2A79A00                (position of and word "Stamina")
C3/64A9:    4F888C9AA0C58FB0AB00                (position of and word "Mag.Pwr")
C3/64B3:    697F84AF9A9D9EFFCD00                (position of and word "Evade%")
C3/64BD:    69888C81A5A89CA4CD00                (position of and word "MBlock%")
C3/64C7:    DD7ED300                            (position of and word "..")
C3/64CB:    5D7FD300                            (position of and word "..")
C3/64CF:    DD7FD300                            (position of and word "..")
C3/64D3:    5D88D300                            (position of and word "..")
C3/64D7:    FB7ED300                            (position of and word "..")
C3/64DB:    7B7FD300                            (position of and word "..")
C3/64DF:    7B7ED300                            (position of and word "..")
C3/64E3:    FB7FD300                            (position of and word "..")
C3/64E7:    7B88D300                            (position of and word "..")
C3/64EB:    4F7F92A99E9E9D00                    (position of and word "Speed")
C3/64F3:    697E819AADC58FB0AB00                (position of and word "Bat.Pwr")
C3/64FD:    E97E839E9F9EA7AC9E00                (position of and word "Defense")
C3/6507:    E97F8C9AA0C5839E9F00                (position of and word "Mag.Def")
C3/6511:    4D7C98A8AEABFF84B1A9C100            (position of and words "Your Exp:")
C3/651D:    4D7D85A8ABFFA59EAF9EA5FFAEA9C100    (position of and words "For level up:")
[/spoiler]


X position of characters in character select screen
[spoiler]
Code:
X position of characters in character select screen
C3/76CA:    18
C3/76CB:    34
C3/76CC:    50
C3/76CD:    6C
C3/76CE:    88
C3/76CF:    A4
C3/76D0:    C0
C3/76D1:    DC
C3/76D2:    18
C3/76D3:    34
C3/76D4:    50
C3/76D5:    6C
C3/76D6:    88
C3/76D7:    A4
C3/76D8:    C0          (unless a character was put here during moving around, this is a blank spot)
C3/76D9:    DC          (unless a character was put here during moving around, this is a blank spot)

Y position of characters in character select screen
C3/76DA:    5C
C3/76DB:    5C
C3/76DC:    5C
C3/76DD:    5C
C3/76DE:    5C
C3/76DF:    5C
C3/76E0:    5C
C3/76E1:    5C
C3/76E2:    78
C3/76E3:    78
C3/76E4:    78
C3/76E5:    78
C3/76E6:    78
C3/76E7:    78
C3/76E8:    78          (unless a character was put here during moving around, this is a blank spot)
C3/76E9:    78          (unless a character was put here during moving around, this is a blank spot)
[/spoiler]


Finger positions in Save/Load Screen, etc.
[spoiler]
Code:
Data: finger positions in save/load screen
C3/15CC:    081C            (X/Y position of finger in "new game" slot)
C3/15CE:    083C            (X/Y position of finger in slot 1)
C3/15D0:    0874            (X/Y position of finger in slot 2)
C3/15D2:    08AC            (X/Y position of finger in slot 3)

C3/15D4:    A0E315      LDY #$15E3
C3/15D7:    4CFE05      JMP $05FE

C3/15DA:    202D07      JSR $072D
C3/15DD:    A0E815      LDY #$15E8
C3/15E0:    4C4006      JMP $0640


Data: finger positioning for confirming save/load
C3/15E8:    BF44
C3/15EA:    BF54
[/spoiler]
Reply


Messages In This Thread
Menu Hacking Document - by Zeemis - 07-07-2011, 11:48 PM
RE: Menu Hacking Document - by DjinnAndTonic - 07-08-2011, 12:13 AM
RE: Menu Hacking Document - by SSJ Rick - 07-08-2011, 12:18 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Spell Graphics Document Zeemis 18 26,476 10-27-2022, 09:52 PM
Last Post: DrakeyC
  Document: Special effects seibaby 2 2,989 11-22-2017, 01:30 AM
Last Post: madsiur
  Spell animation event document (incomplete) 13375K37CH3R 2 4,208 03-08-2016, 03:46 AM
Last Post: 13375K37CH3R

Forum Jump:


Users browsing this thread: 1 Guest(s)