If you are still using the old URL (datacrystal.romhacking.net), please update your bookmarks! The old URL may stop working soon.
The current URL is datacrystal.tcrf.net.
The current URL is datacrystal.tcrf.net.
Final Fantasy VI/ROM map/Assembly C33
< Final Fantasy VI | ROM map
Jump to navigation
Jump to search
C3/3008 unknow
C3/3008: A08500 LDY #$0085 C3/300B: 84E7 STY $E7 C3/300D: A900 LDA #$00 C3/300F: 85E9 STA $E9 C3/3011: 4C4306 JMP $0643
C3/3014 unknow
C3/3014: A545 LDA $45 C3/3016: 8940 BIT #$40 C3/3018: D005 BNE $301F C3/301A: A44D LDY $4D C3/301C: 8C2D02 STY $022D C3/301F: A546 LDA $46 C3/3021: 8904 BIT #$04 C3/3023: F01B BEQ $3040 C3/3025: 8910 BIT #$10 C3/3027: F015 BEQ $303E C3/3029: A62D LDX $2D C3/302B: 202D07 JSR $072D C3/302E: A08500 LDY #$0085 C3/3031: 84E7 STY $E7 C3/3033: A900 LDA #$00 C3/3035: 85E9 STA $E9 C3/3037: 204306 JSR $0643 C3/303A: A555 LDA $55 C3/303C: F0ED BEQ $302B C3/303E: 38 SEC (not done with this queue yet) C3/303F: 60 RTS C3/3040: 18 CLC (this queue can be removed) C3/3041: 60 RTS
Menu Party selection area hotspot data C3/3042: 80 00 00 01 04
C3/3047 unknow
Finger positioning data is usually after hotspot data, but as it is this is currently unknown C3/3047: 0828 C3/3049: 0858 C3/304B: 0888 C3/304D: 08B8
C3/304F unknow
C3/304F: 7B TDC C3/3050: A09F30 LDY #$309F C3/3053: 4C7311 JMP $1173 (put C3/309F in the queue)
C3/3056 unknow
C3/3056: 7B TDC C3/3057: A0CA30 LDY #$30CA C3/305A: 4C7311 JMP $1173 (put C3/30CA in the queue)
C3/305D mosaic effect
This appears to be the mosaic effect C3/305D: 7B TDC C3/305E: A06430 LDY #$3064 C3/3061: 4C7311 JMP $1173 (put C3/3064 in the queue)
C3/3064 code and table unknow
C3/3064: AA TAX C3/3065: 7C6830 JMP ($3068,X) C3/3068: 6C30 C3/306A: 7930
C3/306C unknow
C3/306C: A62D LDX $2D C3/306E: FE4936 INC $3649,X (execute the next entry in this queue's jump table) C3/3071: 9ECA33 STZ $33CA,X C3/3074: A908 LDA #$08 C3/3076: 9D4933 STA $3349,X C3/3079: A62D LDX $2D C3/307B: BD4933 LDA $3349,X C3/307E: F015 BEQ $3095 C3/3080: 7B TDC C3/3081: BDCA33 LDA $33CA,X C3/3084: AA TAX C3/3085: BF9730C3 LDA $C33097,X (load various mosaic intensities) C3/3089: 85B5 STA $B5 (save them to the variable) C3/308B: A62D LDX $2D C3/308D: FECA33 INC $33CA,X C3/3090: DE4933 DEC $3349,X C3/3093: 38 SEC (not done with this queue yet) C3/3094: 60 RTS C3/3095: 18 CLC (this queue can be removed) C3/3096: 60 RTS
C3/3097 data: mosaic intensities
C3/3097: 17 C3/3098: 27 C3/3099: 37 C3/309A: 47 C3/309B: 37 C3/309C: 27 C3/309D: 17 C3/309E: 07
C3/309F code and table
C3/309F: AA TAX C3/30A0: 7CA330 JMP ($30A3,X) C3/30A3: A730 C3/30A5: B130
C3/30A7 unknow
C3/30A7: A62D LDX $2D C3/30A9: FE4936 INC $3649,X (execute the next entry in this queue's jump table) C3/30AC: A90F LDA #$0F C3/30AE: 9DCA33 STA $33CA,X C3/30B1: A420 LDY $20 C3/30B3: F00F BEQ $30C4 C3/30B5: A62D LDX $2D C3/30B7: BDCA33 LDA $33CA,X C3/30BA: 8544 STA $44 C3/30BC: DECA33 DEC $33CA,X C3/30BF: DECA33 DEC $33CA,X C3/30C2: 38 SEC (not done with this queue yet) C3/30C3: 60 RTS
C3/30C4 unknow
C3/30C4: A901 LDA #$01 C3/30C6: 8544 STA $44 C3/30C8: 18 CLC (this queue can be removed) C3/30C9: 60 RTS
C3/30CA code and table
C3/30CA: AA TAX C3/30CB: 7CCE30 JMP ($30CE,X) C3/30CE: D230 C3/30D0: DC30
C3/30D2 unknow
C3/30D2: A62D LDX $2D C3/30D4: FE4936 INC $3649,X (execute the next entry in this queue's jump table) C3/30D7: A901 LDA #$01 C3/30D9: 9D4A34 STA $344A,X C3/30DC: A420 LDY $20 C3/30DE: F00F BEQ $30EF C3/30E0: A62D LDX $2D C3/30E2: BD4A34 LDA $344A,X C3/30E5: 8544 STA $44 C3/30E7: FE4A34 INC $344A,X C3/30EA: FE4A34 INC $344A,X C3/30ED: 38 SEC (not done with this queue yet) C3/30EE: 60 RTS
C3/30EF unknow
C3/30EF: A90F LDA #$0F C3/30F1: 8544 STA $44 C3/30F3: 18 CLC (this queue can be removed) C3/30F4: 60 RTS
C3/30F5 unknow
C3/30F5: 20993F JSR $3F99 C3/30F8: 20286A JSR $6A28 C3/30FB: 202D6A JSR $6A2D C3/30FE: 20196A JSR $6A19 C3/3101: 20416A JSR $6A41 C3/3104: A0CF31 LDY #$31CF C3/3107: 204103 JSR $0341 (draw window) C3/310A: A0D331 LDY #$31D3 C3/310D: 204103 JSR $0341 (draw window) C3/3110: A0C731 LDY #$31C7 C3/3113: 204103 JSR $0341 (draw window) C3/3116: A0BB31 LDY #$31BB C3/3119: 204103 JSR $0341 (draw window that holds main menu options) C3/311C: 207031 JSR $3170 (apply gradient, and draw a couple windows) C3/311F: 206C32 JSR $326C (prepare time for displaying) C3/3122: 20F331 JSR $31F3 C3/3125: 4C9F31 JMP $319F
C3/3128 unknow
C3/3128: 20993F JSR $3F99 C3/312B: 20826E JSR $6E82 C3/312E: 20096C JSR $6C09 C3/3131: 20A831 JSR $31A8 C3/3134: A0C731 LDY #$31C7 C3/3137: 204103 JSR $0341 (draw window) C3/313A: A0CB31 LDY #$31CB C3/313D: 204103 JSR $0341 (draw window) C3/3140: 207031 JSR $3170 C3/3143: 209532 JSR $3295 C3/3146: 20D731 JSR $31D7 C3/3149: 4C9F31 JMP $319F
C3/314C unknow
C3/314C: 20993F JSR $3F99 C3/314F: 20826E JSR $6E82 C3/3152: 20096C JSR $6C09 C3/3155: 20A831 JSR $31A8 C3/3158: A0C731 LDY #$31C7 C3/315B: 204103 JSR $0341 (draw window) C3/315E: A0CB31 LDY #$31CB C3/3161: 204103 JSR $0341 (draw window) C3/3164: 207031 JSR $3170 C3/3167: 209532 JSR $3295 C3/316A: 20E531 JSR $31E5 C3/316D: 4C9F31 JMP $319F
C3/3170 unknow
C3/3170: 7B TDC C3/3171: 221DCAD4 JSL $D4CA1D (apply gradient 0 to the screen) C3/3175: A0BF31 LDY #$31BF C3/3178: 204103 JSR $0341 (draw window that holds time) C3/317B: A0C331 LDY #$31C3 C3/317E: 204103 JSR $0341 (draw window that holds steps and money) C3/3181: 20520E JSR $0E52 C3/3184: 208A31 JSR $318A C3/3187: 4C2132 JMP $3221
C3/318A unknow
C3/318A: 20156A JSR $6A15 C3/318D: 203C6A JSR $6A3C C3/3190: 20466A JSR $6A46 C3/3193: 20F132 JSR $32F1 (get character 1 name, stats, etc displayed) C3/3196: 203D33 JSR $333D (get character 2 name, stats, etc displayed) C3/3199: 208933 JSR $3389 (get character 3 name, stats, etc displayed) C3/319C: 4CD533 JMP $33D5 (get character 4 name, stats, etc displayed)
C3/319F unknow
C3/319F: 20280E JSR $0E28 C3/31A2: 206E0E JSR $0E6E C3/31A5: 4C7C0E JMP $0E7C
C3/31A8 unknow
C3/31A8: A566 LDA $66 C3/31AA: C901 CMP #$01 C3/31AC: F007 BEQ $31B5 C3/31AE: C902 CMP #$02 C3/31B0: F006 BEQ $31B8 C3/31B2: 4CD93A JMP $3AD9 C3/31B5: 4CA13A JMP $3AA1 C3/31B8: 4CBD3A JMP $3ABD
C3/31BB data: windows
Window data C3/31BB: B758060D (window that holds the main menu options) C3/31BF: 775C0602 (window that holds time) C3/31C3: 755D0705 (window that holds steps and money) C3/31C7: 8B581C18 C3/31CB: B558070A C3/31CF: B9600702 C3/31D3: 85580102
C3/31D7 unknow
C3/31D7: A920 LDA #$20 C3/31D9: 8529 STA $29 (set text color to white) C3/31DB: A26537 LDX #$3765 C3/31DE: A00A00 LDY #$000A C3/31E1: 20BA69 JSR $69BA (display "Yes/No" "Erasing data. Okay?", also JMP fool!) C3/31E4: 60 RTS
C3/31E5 unknow
C3/31E5: A920 LDA #$20 C3/31E7: 8529 STA $29 (set text color to white) C3/31E9: A25D37 LDX #$375D C3/31EC: A00800 LDY #$0008 C3/31EF: 20BA69 JSR $69BA (display "Yes/No" "This data?", also JMP fool!) C3/31F2: 60 RTS
C3/31F3 unknow
C3/31F3: A920 LDA #$20 C3/31F5: 8529 STA $29 (set text color to white) C3/31F7: A22937 LDX #$3729 C3/31FA: A00800 LDY #$0008 C3/31FD: 20BA69 JSR $69BA (display "Item, Skills, Relic, and Status") C3/3200: A920 LDA #$20 C3/3202: 8529 STA $29 (set text color to white) C3/3204: A25937 LDX #$3759 C3/3207: A00400 LDY #$0004 C3/320A: 20BA69 JSR $69BA (display "Equip and Config") C3/320D: AD0102 LDA $0201 (is saving available?) C3/3210: 1004 BPL $3216 (branch if not) C3/3212: A920 LDA #$20 (set text color to white) C3/3214: 8002 BRA $3218 C3/3216: A924 LDA #$24 (set text color to gray) C3/3218: 8529 STA $29 C3/321A: A0FD37 LDY #$37FD C3/321D: 20F902 JSR $02F9 (display "Save") C3/3220: 60 RTS (no need for this, JMP $02F9 would be just as good)
C3/3221 unknow
C3/3221: A920 LDA #$20 C3/3223: 8529 STA $29 (set text color to white) C3/3225: A00B38 LDY #$380B C3/3228: 20F902 JSR $02F9 (display ":") C3/322B: A92C LDA #$2C C3/322D: 8529 STA $29 (set text color to ) C3/322F: A22337 LDX #$3723 C3/3232: A00600 LDY #$0006 C3/3235: 20BA69 JSR $69BA (display "Time, Steps, and Order") C3/3238: A01738 LDY #$3817 C3/323B: 20F902 JSR $02F9 (display "GP") C3/323E: 20CE32 JSR $32CE (GP check, make sure it's not beyond 9,999,999) C3/3241: A920 LDA #$20 C3/3243: 8529 STA $29 (set text color to white) C3/3245: AC6618 LDY $1866 (steps, bytes 1 & 2) C3/3248: 84F1 STY $F1 C3/324A: AD6818 LDA $1868 (steps, byte 3) C3/324D: 85F3 STA $F3 C3/324F: 208205 JSR $0582 C3/3252: A2F77D LDX #$7DF7 (position of steps amount) C3/3255: 20AC04 JSR $04AC C3/3258: AC6018 LDY $1860 C3/325B: 84F1 STY $F1 C3/325D: AD6218 LDA $1862 C3/3260: 85F3 STA $F3 C3/3262: 208205 JSR $0582 C3/3265: A2B77E LDX #$7EB7 (position of GP amount) C3/3268: 20AC04 JSR $04AC (JMP fool!) C3/326B: 60 RTS
C3/326C unknow
C3/326C: AD8811 LDA $1188 C3/326F: 8910 BIT #$10 C3/3271: F016 BEQ $3289 C3/3273: AC8911 LDY $1189 (is $1189 the elapsed time in seconds?) C3/3276: 20B232 JSR $32B2 (if so, this gives minutes) C3/3279: 20B232 JSR $32B2 (and this would give hours) C3/327C: A5E7 LDA $E7 (load A with hours) C3/327E: 8D6318 STA $1863 (put hours in $1863) C3/3281: AD1642 LDA $4216 (remainder is excess minutes) C3/3284: 8D6418 STA $1864 (put that in $1864) C3/3287: 800C BRA $3295 C3/3289: AC1B02 LDY $021B (Hours and minutes) C3/328C: 8C6318 STY $1863 (store in SRAM) C3/328F: AD1D02 LDA $021D (Seconds amd frames) C3/3292: 8D6518 STA $1865 (store in SRAM) C3/3295: A920 LDA #$20 C3/3297: 8529 STA $29 (set text color to white) C3/3299: AD6318 LDA $1863 (hours) C3/329C: 20E004 JSR $04E0 (convert leading 0's to spaces) C3/329F: A2FB7C LDX #$7CFB (The position, I believe) C3/32A2: 20B604 JSR $04B6 (2 digits to display) C3/32A5: AD6418 LDA $1864 (minutes) C3/32A8: 20F904 JSR $04F9 (convert minutes to a displayable format) C3/32AB: A2017D LDX #$7D01 C3/32AE: 20B604 JSR $04B6 (JMP fool!, 2 digits to display) C3/32B1: 60 RTS
C3/32B2 divider function
(Pass in Y, out comes Y/60 in $E7) (Useful for taking frames and getting seconds, minutes and hours) C3/32B2: 8C0442 STY $4204 C3/32B5: A93C LDA #$3C (60) C3/32B7: 8D0642 STA $4206 C3/32BA: EA NOP (2 cycles) C3/32BB: EA NOP (4 cycles) C3/32BC: EA NOP (6 cycles) C3/32BD: EA NOP (8 cycles) C3/32BE: EA NOP (10 cycles) C3/32BF: EA NOP (12 cycles) C3/32C0: EA NOP (14 cycles) C3/32C1: EA NOP (16 cycles) C3/32C2: EA NOP (18 cycles) C3/32C3: EA NOP (20 cycles) C3/32C4: EA NOP (22 cycles) C3/32C5: EA NOP (24 cycles) C3/32C6: EA NOP (26 cycles) C3/32C7: EA NOP (28 cycles) C3/32C8: AC1442 LDY $4214 (32 or 33 cycles, massive overkill) C3/32CB: 84E7 STY $E7 (unless NMI needs to waste this much time, this could be greatly optimized) C3/32CD: 60 RTS
C3/32CE check gold capacity
Gold handler, make sure that you don't have more than 9,999,999 C3/32CE: A97F LDA #$7F (127...) C3/32D0: CD6018 CMP $1860 (compare against low byte of gold) C3/32D3: A996 LDA #$96 (150...) C3/32D5: ED6118 SBC $1861 (subtract middle byte of gold, carry will be set/clear depending on above) C3/32D8: A998 LDA #$98 (152...) C3/32DA: ED6218 SBC $1862 (subtract high byte of gold, carry will be set/clear depending on previous SBC) C3/32DD: B00B BCS $32EA (if carry is set, there was no overflow, you have less than 9,999,999 gold) C3/32DF: A07F96 LDY #$967F C3/32E2: 8C6018 STY $1860 C3/32E5: A998 LDA #$98 C3/32E7: 8D6218 STA $1862 (make overall gold 9999999) C3/32EA: 60 RTS
C3/32EB unknow
C3/32EB: 20220A JSR $0A22 C3/32EE: 4C1B34 JMP $341B
C3/32F1 unknow
C3/32F1: A569 LDA $69 C3/32F3: 30F6 BMI $32EB (branch if no character in slot) C3/32F5: A66D LDX $6D C3/32F7: 8667 STX $67 C3/32F9: A924 LDA #$24 C3/32FB: 8529 STA $29 (set text color to blue) C3/32FD: A24137 LDX #$3741 C3/3300: A00600 LDY #$0006 C3/3303: 20BA69 JSR $69BA (display character 1's "LV," "HP," and "MP") C3/3306: A02739 LDY #$3927 C3/3309: A27815 LDX #$1578 C3/330C: 6448 STZ $48 C3/330E: 202734 JSR $3427 (display character 1's status ailments?) C3/3311: A23137 LDX #$3731 C3/3314: 86F1 STX $F1 (C3/69BA handles this already...) C3/3316: A00400 LDY #$0004 C3/3319: 84EF STY $EF (C3/69BA handles this already...) C3/331B: 20BA69 JSR $69BA (display character 1's "/'s") C3/331E: A01939 LDY #$3919 C3/3321: 20CF34 JSR $34CF (display character name) C3/3324: A22D33 LDX #$332D C3/3327: 206C0C JSR $0C6C (display level, HP, MP, etc) C3/332A: 4C220A JMP $0A22
C3/332D data: positions for level, HP and MP (char 1)
Data: Positioning for Level, HP, MP for character slot 1 in main menu C3/332D: A739 (level's position) C3/332F: E339 (current HP's position) C3/3331: ED39 (max HP's position) C3/3333: 233A (current MP's position) C3/3335: 2D3A (max MP's position)
C3/3337 unknow
C3/3337: 204B0A JSR $0A4B C3/333A: 4C1B34 JMP $341B
C3/333D unknow
C3/333D: A56A LDA $6A C3/333F: 30F6 BMI $3337 (branch if no character in slot) C3/3341: A66F LDX $6F C3/3343: 8667 STX $67 C3/3345: A924 LDA #$24 C3/3347: 8529 STA $29 (set text color to blue) C3/3349: A24737 LDX #$3747 C3/334C: A00600 LDY #$0006 C3/334F: 20BA69 JSR $69BA (display character 2's "LV," "HP," and "MP") C3/3352: A0A73A LDY #$3AA7 C3/3355: A27845 LDX #$4578 C3/3358: 6448 STZ $48 C3/335A: 202734 JSR $3427 (display character 2's status ailments?) C3/335D: A23537 LDX #$3735 C3/3360: 86F1 STX $F1 (C3/69BA handles this already...) C3/3362: A00400 LDY #$0004 C3/3365: 84EF STY $EF (C3/69BA handles this already...) C3/3367: 20BA69 JSR $69BA (display character 2's "/'s") C3/336A: A0993A LDY #$3A99 C3/336D: 20CF34 JSR $34CF (display character name) C3/3370: A27933 LDX #$3379 C3/3373: 206C0C JSR $0C6C (display level, HP, MP, etc) C3/3376: 4C4B0A JMP $0A4B
C3/3379 data: positions for level, hp and mp (char 2)
Data: Positioning for Level, HP, MP for character slot 2 in main menu C3/3379: 273B (level's position) C3/337B: 633B (current HP's position) C3/337D: 6D3B (max HP's position) C3/3380: A33B (current MP's position) C3/3381: AD3B (max MP's position)
C3/3384 unknow
C3/3384: 20760A JSR $0A76 C3/3386: 4C1B34 JMP $341B
C3/3389 unknow
C3/3389: A56B LDA $6B C3/338B: 30F6 BMI $3383 (branch if no character in slot) C3/338D: A671 LDX $71 C3/338F: 8667 STX $67 C3/3391: A924 LDA #$24 C3/3393: 8529 STA $29 (set text color to blue) C3/3395: A24D37 LDX #$374D C3/3398: A00600 LDY #$0006 C3/339B: 20BA69 JSR $69BA (display character 3's "LV," "HP," and "MP") C3/339E: A0273C LDY #$3C27 C3/33A1: A27875 LDX #$7578 C3/33A4: 6448 STZ $48 C3/33A6: 202734 JSR $3427 (display character 3's status ailments?) C3/33A9: A23937 LDX #$3739 C3/33AC: 86F1 STX $F1 (C3/69BA handles this already...) C3/33AE: A00400 LDY #$0004 C3/33B1: 84EF STY $EF (C3/69BA handles this already...) C3/33B3: 20BA69 JSR $69BA (display character 3's "/'s") C3/33B6: A0193C LDY #$3C19 C3/33B9: 20CF34 JSR $34CF (display character name) C3/33BC: A2C533 LDX #$33C5 C3/33BF: 206C0C JSR $0C6C (display level, HP, MP, etc) C3/33C2: 4C760A JMP $0A76
C3/33C5 data: positions for level, hp and mp (char 3)
Data: Positioning for Level, HP, MP, for character slot 3 in main menu C3/33C5: A73C (level's position) C3/33C7: E33C (current HP's position) C3/33C9: ED3C (max HP's position) C3/33CB: 233D (current MP's position) C3/33CD: 2D3D (max MP's position)
C3/33CF unknow
C3/33CF: 20A10A JSR $0AA1 C3/33D2: 4C1B34 JMP $341B
C3/33D5 unknow
C3/33D5: A56C LDA $6C C3/33D7: 30F6 BMI $33CF (branch if no character in slot) C3/33D9: A673 LDX $73 C3/33DB: 8667 STX $67 C3/33DD: A924 LDA #$24 C3/33DF: 8529 STA $29 (set text color to blue) C3/33E1: A25337 LDX #$3753 C3/33E4: A00600 LDY #$0006 C3/33E7: 20BA69 JSR $69BA (display character 4's "LV," "HP," and "MP") C3/33EA: A0A73D LDY #$3DA7 C3/33ED: A278A5 LDX #$A578 C3/33F0: 6448 STZ $48 C3/33F2: 202734 JSR $3427 (display character 4's status ailments?) C3/33F5: A23D37 LDX #$373D C3/33F8: 86F1 STX $F1 (C3/69BA handles this already...) C3/33FA: A00400 LDY #$0004 C3/33FD: 84EF STY $EF (C3/69BA handles this already...) C3/33FF: 20BA69 JSR $69BA (display character 4's "/'s") C3/3402: A0993D LDY #$3D99 C3/3405: 20CF34 JSR $34CF (display character name) C3/3408: A21134 LDX #$3411 C3/340B: 206C0C JSR $0C6C (display level, HP, MP, etc) C3/340E: 4CA10A JMP $0AA1
C3/3411 data: positions for level, hp and mp (char 4)
Data: Positioning for Level, HP, MP, for character slot 4 in main menu C3/3411: 273E (level's position) C3/3413: 633E (current HP's position) C3/3415: 6D3E (max HP's position) C3/3417: A33E (current MP's position) C3/3419: AD3E (max MP's position)
C3/341B unknow
C3/341B: C220 REP #$20 (16 bit memory/accum.) C3/341D: A9D800 LDA #$00D8 C3/3420: 9F4A347E STA $7E344A,X C3/3424: E220 SEP #$20 (8 bit memory/accum.) C3/3426: 60 RTS
C3/3427 unknow
C3/3427: 86E7 STX $E7 C3/3429: 201935 JSR $3519 C3/342C: B91400 LDA $0014,Y (status byte 1) C3/342F: 307F BMI $34B0 (branch if dead) C3/3431: 2970 AND #$70 C3/3433: 85E1 STA $E1 (save the other statuses) C3/3435: B91400 LDA $0014,Y (status byte 1) C3/3438: 2907 AND #$07 (keep blind, zombie, and poison) C3/343A: 0A ASL A C3/343B: 85E2 STA $E2 C3/343D: B91500 LDA $0015,Y (status byte 4) C3/3440: 2980 AND #$80 (filter out float) C3/3442: 05E1 ORA $E1 C3/3444: 05E2 ORA $E2 C3/3446: 85E1 STA $E1 C3/3448: F05F BEQ $34A9 (status is normal, so exit out) C3/344A: 64F1 STZ $F1 C3/344C: 64F2 STZ $F2 C3/344E: A20700 LDX #$0007 C3/3451: DA PHX C3/3452: 0A ASL A C3/3453: 9047 BCC $349C C3/3455: 48 PHA C3/3456: A903 LDA #$03 C3/3458: A0427B LDY #$7B42 C3/345B: 207311 JSR $1173 (put C3/7B42 in the queue) C3/345E: A901 LDA #$01 C3/3460: 9F4A367E STA $7E364A,X C3/3464: A548 LDA $48 C3/3466: 9F49367E STA $7E3649,X C3/346A: 9B TXY C3/346B: A6F1 LDX $F1 C3/346D: 8B PHB C3/346E: A97E LDA #$7E C3/3470: 48 PHA C3/3471: AB PLB C3/3472: C220 REP #$20 (16 bit memory/accum.) C3/3474: BF25ECD8 LDA $D8EC25,X (get ailment icons from the VWF?) C3/3478: 99C932 STA $32C9,Y (save as pointer to OAM data) C3/347B: E220 SEP #$20 (8 bit memory/accum.) C3/347D: A5E7 LDA $E7 C3/347F: 99CA33 STA $33CA,Y C3/3482: A5E8 LDA $E8 C3/3484: 994A34 STA $344A,Y C3/3487: 7B TDC C3/3488: 99CB33 STA $33CB,Y C3/348B: 994B34 STA $344B,Y C3/348E: A9D8 LDA #$D8 C3/3490: 99CA35 STA $35CA,Y (save bank pointer to OAM data) C3/3493: AB PLB C3/3494: 18 CLC C3/3495: A90A LDA #$0A C3/3497: 65E7 ADC $E7 C3/3499: 85E7 STA $E7 C3/349B: 68 PLA C3/349C: E6F1 INC $F1 C3/349E: E6F1 INC $F1 C3/34A0: FA PLX C3/34A1: CA DEX C3/34A2: D0AD BNE $3451 C3/34A4: A920 LDA #$20 C3/34A6: 8529 STA $29 (set text color to white) C3/34A8: 60 RTS
C3/34A9 unknow
C3/34A9: A920 LDA #$20 (status is normal) C3/34AB: 8529 STA $29 (set text color to white) C3/34AD: 4CE534 JMP $34E5 (a BRA would work here, and better yet, since it jumps to an RTS, an RTS would work here too)
C3/34B0 unknow
C3/34B0: A28B9E LDX #$9E8B C3/34B3: 8E8121 STX $2181 C3/34B6: A600 LDX $00 C3/34B8: BF1B37C3 LDA $C3371B,X (get finger positioning data) C3/34BC: 8D8021 STA $2180 C3/34BF: E8 INX C3/34C0: E00800 CPX #$0008 C3/34C3: D0F3 BNE $34B8 C3/34C5: 9C8021 STZ $2180 (end this string) C3/34C8: A928 LDA #$28 C3/34CA: 8529 STA $29 (set text color to gray) C3/34CC: 4CD97F JMP $7FD9
C3/34CF draw char name
Draw name of character onscreen at 16-bit Y C3/34CF: 201935 JSR $3519 C3/34D2: A20600 LDX #$0006 (length of character name) C3/34D5: B90200 LDA $0002,Y C3/34D8: 8D8021 STA $2180 (write a letter) C3/34DB: C8 INY C3/34DC: CA DEX C3/34DD: D0F6 BNE $34D5 C3/34DF: 9C8021 STZ $2180 (end this string) C3/34E2: 4CD97F JMP $7FD9 (finish the drawing process) C3/34E5: 60 RTS (this is left over from the original japanese routine, which displays class names)
C3/34E6 display esper name
Esper name displaying in most menus (this is not used to generate the esper list!) C3/34E6: 201935 JSR $3519 C3/34E9: B91E00 LDA $001E,Y C3/34EC: C9FF CMP #$FF C3/34EE: F018 BEQ $3508 (branch if no esper equipped) C3/34F0: 0A ASL A C3/34F1: 0A ASL A C3/34F2: 0A ASL A C3/34F3: AA TAX C3/34F4: A00800 LDY #$0008 (esper name length) C3/34F7: BFE1F6E6 LDA $E6F6E1,X (Load Esper name) C3/34FB: 8D8021 STA $2180 C3/34FE: E8 INX C3/34FF: 88 DEY C3/3500: D0F5 BNE $34F7 C3/3502: 9C8021 STZ $2180 (end this string) C3/3505: 4CD97F JMP $7FD9
C3/3508 unknow
C3/3508: A00800 LDY #$0008 C3/350B: A9FF LDA #$FF C3/350D: 8D8021 STA $2180 (blank esper name) C3/3510: 88 DEY (have we done 8 letters yet?) C3/3511: D0FA BNE $350D (branch if not) C3/3513: 9C8021 STZ $2180 (end this string) C3/3516: 4CD97F JMP $7FD9
C3/3519 unknow
Take 16-bit Y and make it position onscreen, then transfer it to A and put it in VRAM C3/3519: A2899E LDX #$9E89 C3/351C: 8E8121 STX $2181 C3/351F: C220 REP #$20 (16 bit memory/accum.) C3/3521: 98 TYA C3/3522: E220 SEP #$20 (8 bit memory/accum.) C3/3524: 8D8021 STA $2180 C3/3527: EB XBA C3/3528: 8D8021 STA $2180 C3/352B: 7B TDC C3/352C: A467 LDY $67 C3/352E: 60 RTS
C3/352F fade out screen
This would appear to be the "fade out screen" routine C3/352F: A980 LDA #$80 C3/3531: 8D0021 STA $2100 (turn the screen off) C3/3534: 201411 JSR $1114 (erase all onscreen sprites) C3/3537: 9C0042 STZ $4200 (turn off NMI, auto joypad read, etc) C3/353A: 9C0B42 STZ $420B (turn off DMA) C3/353D: 9C0C42 STZ $420C (turn off HDMA) C3/3540: 60 RTS
C3/3541 unknow
C3/3541: A901 LDA #$01 C3/3543: 8544 STA $44 C3/3545: 4C6813 JMP $1368 (trigger NMI)
C3/3548 unknow
C3/3548: 20390F JSR $0F39 C3/354B: 4C6C32 JMP $326C
C3/354E unknow
C3/354E: A600 LDX $00 (from C3/1AC0) C3/3550: A917 LDA #$17 C3/3552: 9F099A7E STA $7E9A09,X C3/3556: E8 INX C3/3557: E0DF00 CPX #$00DF C3/355A: D0F6 BNE $3552 C3/355C: A940 LDA #$40 C3/355E: 8D6043 STA $4360 (set transfer method to...?) C3/3561: A92C LDA #$2C C3/3563: 8D6143 STA $4361 (register address becomes $212C) C3/3566: A07B35 LDY #$357B C3/3569: 8C6243 STY $4362 (set address) C3/356C: A9C3 LDA #$C3 C3/356E: 8D6443 STA $4364 (set bank, C3/357B) C3/3571: A97E LDA #$7E C3/3573: 8D6743 STA $4367 C3/3576: A940 LDA #$40 C3/3578: 0443 TSB $43 (eventually enable channel 6 of HDMA) C3/357A: 60 RTS
C3/357B hdma transfer table
C3/357B: F0 C3/357C: 09 C3/357D: 9A C3/357E: F0 C3/357F: 79 C3/3580: 9A C3/3581: 00
C3/3582 unknow
C3/3582: A528 LDA $28 C3/3584: C54B CMP $4B C3/3586: 9015 BCC $359D C3/3588: A903 LDA #$03 C3/358A: A0D435 LDY #$35D4 C3/358D: 207311 JSR $1173 (put C3/35D4 in the queue) C3/3590: 20C135 JSR $35C1 C3/3593: A903 LDA #$03 C3/3595: A01F36 LDY #$361F C3/3598: 207311 JSR $1173 (put C3/361F in the queue) C3/359B: 8015 BRA $35B2 C3/359D: A903 LDA #$03 C3/359F: A0D435 LDY #$35D4 C3/35A2: 207311 JSR $1173 (put C3/35D4 in the queue) C3/35A5: 20B235 JSR $35B2 C3/35A8: A903 LDA #$03 C3/35AA: A01F36 LDY #$361F C3/35AD: 207311 JSR $1173 (put C3/361F in the queue) C3/35B0: 800F BRA $35C1 C3/35B2: 9B TXY C3/35B3: 7B TDC C3/35B4: A528 LDA $28 C3/35B6: AA TAX C3/35B7: BFD035C3 LDA $C335D0,X C3/35BB: BB TYX C3/35BC: 9FCA337E STA $7E33CA,X C3/35C0: 60 RTS
C3/35C1 unknow
C3/35C1: 9B TXY C3/35C2: 7B TDC C3/35C3: A54B LDA $4B C3/35C5: AA TAX C3/35C6: BFD035C3 LDA $C335D0,X C3/35CA: BB TYX C3/35CB: 9FCA337E STA $7E33CA,X C3/35CF: 60 RTS
C3/35D0 data
C3/35D0: 0D C3/35D1: 3D C3/35D2: 6D C3/35D3: 9D
C3/35D4 code and table
C3/35D4: AA TAX C3/35D5: 7CD835 JMP ($35D8,X) C3/35D8: DE35 C3/35DA: E335 C3/35DC: 0236
C3/35DE unknow
C3/35DE: A62D LDX $2D C3/35E0: FE4936 INC $3649,X (execute the next entry in this queue's jump table) C3/35E3: A42D LDY $2D C3/35E5: A522 LDA $22 C3/35E7: C90C CMP #$0C C3/35E9: F00F BEQ $35FA C3/35EB: 7B TDC C3/35EC: B9CA33 LDA $33CA,Y C3/35EF: AA TAX C3/35F0: A906 LDA #$06 C3/35F2: 207736 JSR $3677 C3/35F5: 99CA33 STA $33CA,Y C3/35F8: 38 SEC (not done with this queue yet) C3/35F9: 60 RTS
C3/35FA unknow
C3/35FA: A62D LDX $2D C3/35FC: FE4936 INC $3649,X (execute the next entry in this queue's jump table) C3/35FF: DECA33 DEC $33CA,X C3/3602: A545 LDA $45 C3/3604: 8908 BIT #$08 C3/3606: F013 BEQ $361B C3/3608: A42D LDY $2D C3/360A: A522 LDA $22 C3/360C: F00F BEQ $361D C3/360E: 7B TDC C3/360F: B9CA33 LDA $33CA,Y C3/3612: AA TAX C3/3613: A917 LDA #$17 C3/3615: 208D36 JSR $368D C3/3618: 99CA33 STA $33CA,Y C3/361B: 38 SEC (not done with this queue yet) C3/361C: 60 RTS C3/361D: 18 CLC (this queue can be removed) C3/361E: 60 RTS
C3/361F code and table
C3/361F: AA TAX C3/3620: 7C2336 JMP ($3623,X) C3/3623: 2936 C3/3625: 3736 C3/3627: 5836
C3/3629 unknow
C3/3629: A62D LDX $2D C3/362B: FE4936 INC $3649,X (execute the next entry in this queue's jump table) C3/362E: BDCA33 LDA $33CA,X C3/3631: 18 CLC C3/3632: 692F ADC #$2F C3/3634: 9DCA33 STA $33CA,X C3/3637: A42D LDY $2D C3/3639: A522 LDA $22 C3/363B: C90C CMP #$0C C3/363D: F011 BEQ $3650 C3/363F: 7B TDC C3/3640: B9CA33 LDA $33CA,Y C3/3643: AA TAX C3/3644: A906 LDA #$06 C3/3646: 208D36 JSR $368D C3/3649: 99CA33 STA $33CA,Y C3/364C: C622 DEC $22 C3/364E: 38 SEC (not done with this queue yet) C3/364F: 60 RTS
C3/3650 unknow
C3/3650: A62D LDX $2D C3/3652: FE4936 INC $3649,X (execute the next entry in this queue's jump table) C3/3655: FECA33 INC $33CA,X C3/3658: A545 LDA $45 C3/365A: 8908 BIT #$08 C3/365C: F015 BEQ $3673 C3/365E: A42D LDY $2D C3/3660: A522 LDA $22 C3/3662: F011 BEQ $3675 C3/3664: 7B TDC C3/3665: B9CA33 LDA $33CA,Y C3/3668: AA TAX C3/3669: A917 LDA #$17 C3/366B: 207736 JSR $3677 C3/366E: 99CA33 STA $33CA,Y C3/3671: C622 DEC $22 C3/3673: 38 SEC (not done with this queue yet) C3/3674: 60 RTS C3/3675: 18 CLC (this queue can be removed) C3/3676: 60 RTS
C3/3677 unknow
C3/3677: 9F099A7E STA $7E9A09,X C3/367B: E8 INX C3/367C: 9F099A7E STA $7E9A09,X C3/3680: E8 INX C3/3681: 9F099A7E STA $7E9A09,X C3/3685: E8 INX C3/3686: 9F099A7E STA $7E9A09,X C3/368A: E8 INX C3/368B: 8A TXA C3/368C: 60 RTS
C3/368D unknow
C3/368D: 9F099A7E STA $7E9A09,X C3/3691: CA DEX C3/3692: 9F099A7E STA $7E9A09,X C3/3696: CA DEX C3/3697: 9F099A7E STA $7E9A09,X C3/369B: CA DEX C3/369C: 9F099A7E STA $7E9A09,X C3/36A0: CA DEX C3/36A1: 8A TXA C3/36A2: 60 RTS
C3/36A3 unknow
C3/36A3: A902 LDA #$02 (from C3/1AC8, C3/1CA8, C3/1D0B) C3/36A5: 8D5043 STA $4350 (set transfer method to...?) C3/36A8: A912 LDA #$12 C3/36AA: 8D5143 STA $4351 (register address becomes $2112) C3/36AD: A0C236 LDY #$36C2 C3/36B0: 8C5243 STY $4352 (set the address) C3/36B3: A9C3 LDA #$C3 C3/36B5: 8D5443 STA $4354 (set the bank, C3/36C2) C3/36B8: A9C3 LDA #$C3 C3/36BA: 8D5743 STA $4357 C3/36BD: A920 LDA #$20 C3/36BF: 0443 TSB $43 (eventually enable channel 5 of HDMA) C3/36C1: 60 RTS
C3/36C2 hdma transfer
HDMA transfer table for main menu text on layer 3 (item, skills, equip, etc) C3/36C2: 0F0000 (15 scanlines, 0 pixel shift) C3/36C5: 0F0300 (15 scanlines, 3 pixel shift) C3/36C8: 0F0400 (15 scanlines, 4 pixel shift) C3/36CB: 0F0500 (15 scanlines, 5 pixel shift) C3/36CE: 0F0600 (15 scanlines, 6 pixel shift) C3/36D1: 0F0700 (15 scanlines, 7 pixel shift) C3/36D4: 0F0800 (15 scanlines, 8 pixel shift) C3/36D7: 0F0900 (15 scanlines, 9 pixel shift) C3/36DA: 070800 (7 scanlines, 8 pixel shift) C3/36DD: 080000 (8 scanlines, 0 pixel shift) C3/36E0: 080000 (8 scanlines, 0 pixel shift) C3/36E3: 180000 (24 scanlines, 0 pixel shift, 167 scanlines total) C3/36E6: 00 (end)
C3/36E7 unknow
C3/36E7: A520 LDA $20 C3/36E8: D004 BNE $36EF C3/36EB: A527 LDA $27 C3/36ED: 8526 STA $26 C3/36EF: C220 REP #$20 (16 bit memory/accum.) C3/36F1: A535 LDA $35 C3/36F3: 18 CLC C3/36F4: 659C ADC $9C C3/36F6: 8535 STA $35 C3/36F8: 8539 STA $39 C3/36FA: 853D STA $3D C3/36FC: E220 SEP #$20 (8 bit memory/accum.) C3/36FE: 60 RTS
C3/36FF unknow
C3/36FF: A00E37 LDY #$370E C3/3702: 4CFE05 JMP $05FE
C3/3705 unknow
C3/3705: 202D07 JSR $072D C3/3708: A01337 LDY #$3713 C3/370B: 4C4006 JMP $0640
Hotspot data for status menu C3/370E: 80 00 00 01 04
C3/3713 data
C3/3713: 9059 (first command, normally "Fight") C3/3715: 9065 (second command, normally skill goes here) C3/3717: 9071 (third command, normally "Magic") C3/3719: 907D (fourth command, normally "Item")
C3/371B: 96A8 C3/371D: AEA7 C3/371F: 9D9E C3/3121: 9DFF
C3/3723 data: strings
C3/3723: 0438 ("Time") C3/3725: 0F38 ("Steps") C3/3727: 5038 ("Order") C3/3729: CB37 ("Item") C3/372B: D237 ("Skills") C3/372D: E337 ("Relic") C3/372F: EB37 ("Status") C3/3731: 7E37 ("/") C3/3733: 8237 ("/") C3/3735: 9537 ("/") C3/3737: 9937 ("/") C3/3739: AC37 ("/") C3/373B: B037 ("/") C3/373D: C337 ("/") C3/373F: C737 ("/") C3/3741: 6F37 ("LV") C3/3743: 7437 ("HP") C3/3745: 7937 ("MP") C3/3747: 8637 ("LV") C3/3749: 8B37 ("HP") C3/374B: 9037 ("MP") C3/374D: 9D37 ("LV") C3/374F: A237 ("HP") C3/3751: A737 ("MP") C3/3753: B437 ("LV") C3/3755: B937 ("HP") C3/3757: BE37 ("MP") C3/3759: DB37 ("Equip") C3/375B: F437 ("Config") C3/375D: 1C38 ("Yes") C3/375F: 2238 ("No") C3/3761: 2738 ("This") C3/3763: 2E38 ("data?") C3/3765: 1C38 ("Yes") C3/3767: 2238 ("No") C3/3769: 3638 ("Erasing") C3/376B: 4038 ("data.") C3/376D: 4838 ("Okay?")
C3/376F: 9D398B9500 (LV) C3/3774: DD39878F00 (HP) C3/3779: 1D3A8C8F00 (MP) C3/377E: EB39C000 C3/3782: 2B3AC000 C3/3786: 1D3B8B9500 (LV) C3/378B: 5D3B878F00 (HP) C3/3790: 9D3B8C8F00 (MP) C3/3795: 6B3BC000 C3/3799: AB3BC000 C3/379D: 9D3C8B9500 (LV) C3/37A2: DD3C878F00 (HP) C3/37A7: 1D3D8C8F00 (MP) C3/37AC: EB3CC000 C3/37B0: 2B3DC000 C3/37B4: 1D3E8B9500 (LV) C3/37B9: 5D3E878F00 (HP) C3/37BE: 9D3E8C8F00 (MP) C3/37C3: 6B3EC000 C3/37C7: AB3EC000 C3/37CB: 397988AD9EA600 ("Item") C3/37D2: B97992A4A2A5A5AC00 ("Skills") C3/37DB: 397A84AAAEA2A900 ("Equip") C3/37E3: B97A919EA5A29C00 ("Relic") C3/37EB: 397B92AD9AADAEAC00 ("Status") C3/37F4: B97B82A8A79FA2A000 ("Config") C3/37FD: 397C929AAF9E00 ("Save") C3/3804: BB7C93A2A69E00 ("Time") C3/380B: FF7CC100 (":") C3/380F: B77D92AD9EA9AC00 ("Steps") C3/3817: 777E86A900 ("Gp") C3/381C: BD7A989EAC00 ("Yes") C3/3822: 3D7B8DA800 ("No") C3/3827: 377993A1A2AC00 ("This") C3/382E: B7799D9AAD9ABF00 ("data?") C3/3836: 377984AB9AACA2A7A000 ("Erasing") C3/3840: B7799D9AAD9AC500 ("data.") C3/3848: 377A8EA49AB2BF00 ("Okay?") C3/3850: 3D818EAB9D9EAB00 ("Order")
C3/3858 unknow
C3/3858: A06738 LDY #$3867 C3/385B: 4CFE05 JMP $05FE
C3/385E unknow
C3/385E: 202D07 JSR $072D C3/3861: A06C38 LDY #$386C C3/3864: 4C4006 JMP $0640
C3/3867 data: hotspots for config screen 1
C3/3867: 81 00 00 01 09
C3/386C data: finger positions for config screen 1
C3/386C: 6029 C3/386E: 6039 C3/3870: 6049 C3/3872: 6059 C3/3874: 6069 C3/3876: 6079 C3/3878: 6089 C3/387A: 6099 C3/387C: 60A9
C3/387E unknow
C3/387E: A08D38 LDY #$388D C3/3881: 4CFE05 JMP $05FE
C3/3884 unknow
C3/3884: 202D07 JSR $072D C3/3887: A09238 LDY #$3892 C3/388A: 4C4006 JMP $0640
C3/388D data: hotspots for config screen 2
Hotspot data for config screen 2 C3/388D: 81 00 00 01 06
C3/3892 data: finger positions for config screen 2
C3/3892: 6029 C3/3894: 6069 C3/3896: 6079 C3/3898: 6099 C3/389A: 60A9 C3/389C: 60B9
C3/389E config screen
The config screen (both parts) C3/389E: A902 LDA #$02 C3/38A0: 8D0721 STA $2107 C3/38A3: A0FBFF LDY #$FFFB C3/38A6: 843F STY $3F C3/38A8: 20286A JSR $6A28 C3/38AB: A0E239 LDY #$39E2 C3/38AE: 204103 JSR $0341 (draw config screen) C3/38B1: A0E639 LDY #$39E6 C3/38B4: 204103 JSR $0341 (draw window that holds "Config") C3/38B7: 20520E JSR $0E52 C3/38BA: 205E39 JSR $395E C3/38BD: 20156A JSR $6A15 C3/38C0: 20196A JSR $6A19 C3/38C3: 203C6A JSR $6A3C C3/38C6: 20416A JSR $6A41 C3/38C9: A92C LDA #$2C C3/38CB: 8529 STA $29 (set text color to blue) C3/38CD: A0A149 LDY #$49A1 C3/38D0: 20F902 JSR $02F9 (display "Config") C3/38D3: A924 LDA #$24 C3/38D5: 8529 STA $29 (set text color to blue) C3/38D7: A29349 LDX #$4993 C3/38DA: A00E00 LDY #$000E C3/38DD: 20BA69 JSR $69BA (display "Bat. Mode," "Bat. Speed," "Msg. Speed," "Cmd. Set," "Gauge," "Sound," and "Reequip") C3/38E0: A924 LDA #$24 C3/38E2: 8529 STA $29 (set text color to blue) C3/38E4: A20349 LDX #$4903 C3/38E7: A00400 LDY #$0004 C3/38EA: 20BA69 JSR $69BA (display "Controller" and "Cursor") C3/38ED: A920 LDA #$20 C3/38EF: 8529 STA $29 (set text color to white) C3/38F1: A20749 LDX #$4907 C3/38F4: A00400 LDY #$0004 C3/38F7: 20BA69 JSR $69BA (display "Fast" and "Slow") C3/38FA: 208C3B JSR $3B8C (display battle mode settings) C3/38FD: 20B73B JSR $3BB7 (display battle speed settings) C3/3900: 20F23B JSR $3BF2 (display message speed settings) C3/3903: 20333C JSR $3C33 (display battle window settings) C3/3906: 205C3C JSR $3C5C (display gauge settings) C3/3909: 20853C JSR $3C85 (display sound settings) C3/390C: 20B03C JSR $3CB0 (display menu position settings) C3/390F: 20DB3C JSR $3CDB (display reequipping settings) C3/3912: 20063D JSR $3D06 (display current controller settings) C3/3915: A924 LDA #$24 C3/3917: 8529 STA $29 (set text color to blue) C3/3919: A21C4A LDX #$4A1C C3/391C: A00600 LDY #$0006 C3/391F: 20BA69 JSR $69BA (display "Mag.Order," "Window," and "Color") C3/3922: 205039 JSR $3950 C3/3925: A920 LDA #$20 C3/3927: 8529 STA $29 (set text color to white) C3/3929: A2284A LDX #$4A28 C3/392C: A00C00 LDY #$000C C3/392F: 20BA69 JSR $69BA (display "R," "G," "B," "A..," "B..," and "C..") C3/3932: 20FD3F JSR $3FFD C3/3935: 20EA40 JSR $40EA (display window background) C3/3938: 203341 JSR $4133 C3/393B: 20C341 JSR $41C3 C3/393E: 20F539 JSR $39F5 C3/3941: 20280E JSR $0E28 C3/3944: 206E0E JSR $0E6E C3/3947: A901 LDA #$01 C3/3949: A08039 LDY #$3980 C3/394C: 207311 JSR $1173 (put C3/3980 in the queue) C3/394F: 60 RTS
C3/3950 unknow
C3/3950: A930 LDA #$30 C3/3952: 8529 STA $29 C3/3954: A2224A LDX #$4A22 C3/3957: A00600 LDY #$0006 C3/395A: 20BA69 JSR $69BA (display what looks like the ATB bars for the color component changing) C3/395D: 60 RTS
C3/395E unknow
C3/395E: A600 LDX $00 C3/3960: A940 LDA #$40 C3/3962: 8D2121 STA $2121 C3/3965: C220 REP #$20 (16 bit memory/accum.) C3/3967: BF80E8D8 LDA $D8E880,X C3/396B: 9FC9307E STA $7E30C9,X C3/396F: E220 SEP #$20 (8 bit memory/accum.) C3/3971: 8D2221 STA $2122 C3/3974: EB XBA C3/3975: 8D2221 STA $2122 C3/3978: E8 INX C3/3979: E8 INX C3/397A: E02000 CPX #$0020 C3/397D: D0E6 BNE $3965 C3/397F: 60 RTS
C3/3980 code and table unknow
C3/3980: AA TAX C3/3981: 7C8439 JMP ($3984,X) C3/3984: 8839 C3/3986: AB39
C3/3988 unknow
C3/3988: A62D LDX $2D C3/398A: C220 REP #$20 (16 bit memory/accum.) C3/398C: A9CB39 LDA #$39CB C3/398F: 9DC932 STA $32C9,X (save as pointer to OAM data) C3/3992: A97800 LDA #$0078 C3/3995: 9DCA33 STA $33CA,X C3/3998: A91800 LDA #$0018 C3/399B: 9D4A34 STA $344A,X C3/399E: E220 SEP #$20 (8 bit memory/accum.) C3/39A0: A9C3 LDA #$C3 C3/39A2: 9DCA35 STA $35CA,X (save bank pointer to OAM data) C3/39A5: FE4936 INC $3649,X (execute the next entry in this queue's jump table) C3/39A8: 200612 JSR $1206 C3/39AB: A42D LDY $2D C3/39AD: A54A LDA $4A C3/39AF: F004 BEQ $39B5 C3/39B1: A902 LDA #$02 C3/39B3: 8001 BRA $39B6 C3/39B5: 7B TDC C3/39B6: AA TAX C3/39B7: C220 REP #$20 (16 bit memory/accum.) C3/39B9: BFC739C3 LDA $C339C7,X C3/39BD: 99C932 STA $32C9,Y (save as pointer to OAM data) C3/39C0: E220 SEP #$20 (8 bit memory/accum.) C3/39C2: 202112 JSR $1221 (draw the sprites!) C3/39C5: 38 SEC (not done with this queue yet) C3/39C6: 60 RTS
C3/39C7 oam: giant arrow
OAM pointers, giant arrow for both config screens C3/39C7: CB39 C3/39C9: D439
C3/39CB oam data
OAM data: format is pointer, timer, pointer, timer, pointer, end C3/39CB: 5BB4 C3/39CD: 10 C3/39CE: DD39 C3/39D0: 10 C3/39D1: 5BB4 C3/39D3: FF C3/39D4: 5BB4 C3/39D5: 10 C3/39D7: 61B4 C3/39D9: 10 C3/39DA: 5BB4 C3/39DC: FF C3/39DD: 01 C3/39DE: 80D0033E (position 80,D0, 03 is ?, giant arrow pointing down)
C3/39E2 data: windows sizes and positions
C3/39E2: 0B591C16 (config screen) C3/39E6: B7580602 (window that holds "Config")
C3/39EA unknow
C3/39EA: A0FB00 LDY #$00FB C3/39ED: 8437 STY $37 C3/39EF: 207E38 JSR $387E (get hotspot data for config screen 2) C3/39F2: 4C8738 JMP $3887 (get finger positioning data for config screen 2)
C3/39F5 unknow
C3/39F5: A0FBFF LDY #$FFFB C3/39F8: 8437 STY $37 C3/39FA: 205838 JSR $3858 (get hotspot data for config screen 1) C3/39FD: 4C6138 JMP $3861 (get finger positioning data for config screen 1)
C3/3A00 unknow
C3/3A00: A520 LDA $20 (from C3/027B, the massive jump table; $26 = #$50) C3/3A02: F011 BEQ $3A15 C3/3A04: A54A LDA $4A C3/3A06: D014 BNE $3A1C C3/3A08: C220 REP #$20 (16 bit memory/accum.) C3/3A0A: A537 LDA $37 C3/3A0C: 18 CLC C3/3A0D: 691000 ADC #$0010 C3/3A10: 8537 STA $37 C3/3A12: E220 SEP #$20 (8 bit memory/accum.) C3/3A14: 60 RTS
C3/3A15 unknow
C3/3A15: A901 LDA #$01 C3/3A17: 854A STA $4A C3/3A19: 20EA39 JSR $39EA C3/3A1C: A90E LDA #$0E C3/3A1E: 8526 STA $26 (execute at C3/22C5) C3/3A20: 60 RTS
C3/3A21 unknow
C3/3A21: A520 LDA $20 (from C3/027D, the massive jump table; $26 = #$51) C3/3A23: F011 BEQ $3A36 C3/3A25: A54A LDA $4A C3/3A27: F01E BEQ $3A47 C3/3A29: C220 REP #$20 (16 bit memory/accum.) C3/3A2B: A537 LDA $37 C3/3A2D: 38 SEC C3/3A2E: E91000 SBC #$0010 C3/3A31: 8537 STA $37 C3/3A33: E220 SEP #$20 (8 bit memory/accum.) C3/3A35: 60 RTS
C3/3A36 unknow
C3/3A36: 644A STZ $4A C3/3A38: A0FBFF LDY #$FFFB C3/3A3B: 8437 STY $37 C3/3A3D: 205838 JSR $3858 C3/3A40: A908 LDA #$08 C3/3A42: 854E STA $4E (set the starting hotspot when pressing up to go back to config screen 1) C3/3A44: 206138 JSR $3861 C3/3A47: A90E LDA #$0E C3/3A49: 8526 STA $26 (execute at C3/22C5) C3/3A4B: 60 RTS
C3/3A4C unknow
C3/3A4C: A901 LDA #$01 (from C3/1C82) C3/3A4E: 8D5043 STA $4350 C3/3A51: A928 LDA #$28 C3/3A53: 8D5143 STA $4351 (register address becomes $2128) C3/3A56: A07A3A LDY #$3A7A C3/3A59: 8C5243 STY $4352 (set address) C3/3A5C: A9C3 LDA #$C3 C3/3A5E: 8D5443 STA $4354 (set bank, C3/3A7A) C3/3A61: A9C3 LDA #$C3 C3/3A63: 8D5743 STA $4357 C3/3A66: A920 LDA #$20 C3/3A68: 0443 TSB $43 (eventually enable channel 5 of HDMA) C3/3A6A: 60 RTS
C3/3A6B unknow
C3/3A6B: A920 LDA #$20 C3/3A6D: 1443 TRB $43 (eventually disable channel 5 of HDMA) C3/3A6F: A908 LDA #$08 C3/3A71: 8D2821 STA $2128 C3/3A74: A9F7 LDA #$F7 C3/3A76: 8D2921 STA $2129 C3/3A79: 60 RTS
C3/3A7A hdma transfer table
C3/3A7A: 27FFFF C3/3A7D: 5008F7 C3/3A80: 5008F7 C3/3A83: 10FFFF C3/3A86: 00 (end)
C3/3A87 unknow
C3/3A87: A00078 LDY #$7800 C3/3A8A: 8414 STY $14 C3/3A8C: AD4E1D LDA $1D4E C3/3A8F: 20303B JSR $3B30 (paint wallpaper for "Save Game" ?) C3/3A92: AD4E1D LDA $1D4E C3/3A95: A26000 LDX #$0060 C3/3A98: 205B3B JSR $3B5B C3/3A9B: A0001C LDY #$1C00 C3/3A9E: 4C2603 JMP $0326
C3/3AA1 unknow
C3/3AA1: A0007A LDY #$7A00 C3/3AA4: 8414 STY $14 C3/3AA6: A491 LDY $91 C3/3AA8: F006 BEQ $3AB0 C3/3AAA: AF4E6730 LDA $30674E (if calculations are correct, this loads $1D4E of save slot 1) C3/3AAE: 8001 BRA $3AB1 C3/3AB0: 7B TDC C3/3AB1: 20303B JSR $3B30 (paint wallpaper of save file 1) C3/3AB4: 208814 JSR $1488 C3/3AB7: A02018 LDY #$1820 C3/3ABA: 4C2603 JMP $0326
C3/3ABD unknow
C3/3ABD: A0007C LDY #$7C00 C3/3AC0: 8414 STY $14 C3/3AC2: A493 LDY $93 C3/3AC4: F006 BEQ $3ACC C3/3AC6: AF4E7130 LDA $30714E (if calculations are correct, this loads $1D4E of save slot 2) C3/3ACA: 8001 BRA $3ACD C3/3ACC: 7B TDC C3/3ACD: 20303B JSR $3B30 (paint wallpaper of save file 2) C3/3AD0: 208814 JSR $1488 C3/3AD3: A04014 LDY #$1440 C3/3AD6: 4C2603 JMP $0326
C3/3AD9 unknow
C3/3AD9: A0007E LDY #$7E00 C3/3ADC: 8414 STY $14 C3/3ADE: A495 LDY $95 C3/3AE0: F006 BEQ $3AE8 C3/3AE2: AF4E7B30 LDA $307B4E (if calculations are correct, this loads $1D4E of save slot 3) C3/3AE6: 8001 BRA $3AE9 C3/3AE8: 7B TDC C3/3AE9: 20303B JSR $3B30 (paint wallpaper of save file 3) C3/3AEC: 208814 JSR $1488 C3/3AEF: A06010 LDY #$1060 C3/3AF2: 4C2603 JMP $0326
C3/3AF5 unknow
C3/3AF5: A491 LDY $91 C3/3AF7: F006 BEQ $3AFF C3/3AF9: AF4E6730 LDA $30674E (if calculations are correct, this loads $1D4E of save slot 1) C3/3AFD: 8001 BRA $3B00 C3/3AFF: 7B TDC C3/3B00: A24000 LDX #$0040 C3/3B03: 205B3B JSR $3B5B C3/3B06: 4CD214 JMP $14D2
C3/3B09 unknow
C3/3B09: A493 LDY $93 C3/3B0B: F006 BEQ $3B13 C3/3B0D: AF4E7130 LDA $30714E (if calculations are correct, this loads $1D4E of save slot 2) C3/3B11: 8001 BRA $3B14 C3/3B13: 7B TDC C3/3B14: A22000 LDX #$0020 C3/3B17: 205B3B JSR $3B5B C3/3B1A: 4CD214 JMP $14D2
C3/3B1D unknow
C3/3B1D: A495 LDY $95 C3/3B1F: F006 BEQ $3B27 C3/3B21: AF4E7B30 LDA $307B4E (if calculations are correct, this loads $1D4E of save slot 3) C3/3B25: 8001 BRA $3B28 C3/3B27: 7B TDC C3/3B28: A600 LDX $00 C3/3B2A: 205B3B JSR $3B5B C3/3B2D: 4CD214 JMP $14D2
C3/3B30 paint wallpaper design at save screen
Paint the correct wallpaper design for save files on the save screen C3/3B30: 290F AND #$0F C3/3B32: 85E0 STA $E0 C3/3B34: 64E1 STZ $E1 C3/3B36: A00000 LDY #$0000 C3/3B39: 8416 STY $16 C3/3B3B: A9ED LDA #$ED C3/3B3D: 8518 STA $18 C3/3B3F: C220 REP #$20 (16 bit memory/accum.) C3/3B41: 7B TDC C3/3B42: A4E0 LDY $E0 C3/3B44: F008 BEQ $3B4E C3/3B46: 18 CLC C3/3B47: 698003 ADC #$0380 C3/3B4A: C6E0 DEC $E0 C3/3B4C: 80F4 BRA $3B42 C3/3B4E: 18 CLC C3/3B4F: 6516 ADC $16 C3/3B51: 8516 STA $16 C3/3B53: E220 SEP #$20 (8 bit memory/accum.) C3/3B55: A00004 LDY #$0400 C3/3B58: 8412 STY $12 C3/3B5A: 60 RTS
C3/3B5B unknow
C3/3B5B: 290F AND #$0F C3/3B5D: 85E0 STA $E0 C3/3B5F: DA PHX C3/3B60: A900 LDA #$00 C3/3B62: 85E9 STA $E9 C3/3B64: 64E1 STZ $E1 C3/3B66: C220 REP #$20 (16 bit memory/accum.) C3/3B68: A9571D LDA #$1D57 C3/3B6B: A4E0 LDY $E0 C3/3B6D: F008 BEQ $3B77 C3/3B6F: 18 CLC C3/3B70: 690E00 ADC #$000E C3/3B73: C6E0 DEC $E0 C3/3B75: 80F4 BRA $3B6B C3/3B77: 85E7 STA $E7 C3/3B79: E220 SEP #$20 (8 bit memory/accum.) C3/3B7B: A400 LDY $00 C3/3B7D: FA PLX C3/3B7E: B7E7 LDA [$E7],Y C3/3B80: 9FCB307E STA $7E30CB,X C3/3B84: C8 INY C3/3B85: E8 INX C3/3B86: C00E00 CPY #$000E C3/3B89: D0F3 BNE $3B7E C3/3B8B: 60 RTS
C3/3B8C unknow
C3/3B8C: AD4D1D LDA $1D4D C3/3B8F: 2908 AND #$08 C3/3B91: F009 BEQ $3B9C C3/3B93: A928 LDA #$28 (set text color to gray) C3/3B95: 20A53B JSR $3BA5 C3/3B98: A920 LDA #$20 (set text color to white) C3/3B9A: 8012 BRA $3BAE C3/3B9C: A920 LDA #$20 (set text color to white) C3/3B9E: 20A53B JSR $3BA5 C3/3BA1: A928 LDA #$28 (set text color to gray) C3/3BA3: 8009 BRA $3BAE C3/3BA5: 8529 STA $29 C3/3BA7: A0F149 LDY #$49F1 C3/3BAA: 20F902 JSR $02F9 (display "Active") C3/3BAD: 60 RTS
C3/3BAE unknow
C3/3BAE: 8529 STA $29 (set text color) C3/3BB0: A01849 LDY #$4918 C3/3BB3: 20F902 JSR $02F9 (display "Wait") C3/3BB6: 60 RTS
C3/3BB7 unknow
C3/3BB7: A928 LDA #$28 C3/3BB9: 8529 STA $29 (set text color to gray) C3/3BBB: A06E49 LDY #$496E C3/3BBE: 20F902 JSR $02F9 (display "1 2 3 4 5 6") C3/3BC1: A920 LDA #$20 C3/3BC3: 8529 STA $29 (set text color to white) C3/3BC5: 7B TDC C3/3BC6: AD4D1D LDA $1D4D C3/3BC9: 2907 AND #$07 C3/3BCB: 0A ASL A C3/3BCC: AA TAX C3/3BCD: C220 REP #$20 (16 bit memory/accum.) C3/3BCF: BFE63BC3 LDA $C33BE6,X C3/3BD3: 85F7 STA $F7 C3/3BD5: E220 SEP #$20 (8 bit memory/accum.) C3/3BD7: AD4D1D LDA $1D4D C3/3BDA: 2907 AND #$07 C3/3BDC: 18 CLC C3/3BDD: 69B5 ADC #$B5 C3/3BDF: 85F9 STA $F9 C3/3BE1: 64FA STZ $FA C3/3BE3: 4C1641 JMP $4116
C3/3BE6 data: positions for battle speed
Data: positions for white value for battle speed (IE, the one currently set) C3/3BE6: 253A (1) C3/3BE8: 293A (2) C3/3BEA: 2D3A (3) C3/3BEC: 313A (4) C3/3BEE: 353A (5) C3/3BF0: 393A (6)
C3/3BF2 unknow
C3/3BF2: A928 LDA #$28 C3/3BF4: 8529 STA $29 (set text color to gray) C3/3BF6: A07C49 LDY #$497C C3/3BF9: 20F902 JSR $02F9 (display "1 2 3 4 5 6") C3/3BFC: A920 LDA #$20 C3/3BFE: 8529 STA $29 (set text color to white) C3/3C00: 7B TDC C3/3C01: AD4D1D LDA $1D4D C3/3C04: 2970 AND #$70 C3/3C06: 4A LSR A C3/3C07: 4A LSR A C3/3C08: 4A LSR A C3/3C09: AA TAX C3/3C0A: C220 REP #$20 (16 bit memory/accum.) C3/3C0C: BF273CC3 LDA $C33C27,X C3/3C10: 85F7 STA $F7 C3/3C12: E220 SEP #$20 (8 bit memory/accum.) C3/3C14: AD4D1D LDA $1D4D C3/3C17: 2970 AND #$70 C3/3C19: 4A LSR A C3/3C1A: 4A LSR A C3/3C1B: 4A LSR A C3/3C1C: 4A LSR A C3/3C1D: 18 CLC C3/3C1E: 69B5 ADC #$B5 C3/3C20: 85F9 STA $F9 C3/3C22: 64FA STZ $FA C3/3C24: 4C1641 JMP $4116
C3/3C27 data: positions for message speed
Data: positions of white values for message speed (IE, the one currently set) C3/3C27: A53A (1) C3/3C29: A93A (2) C3/3C2B: AD3A (3) C3/3C2E: B13A (4) C3/3C2F: B53A (5) C3/3C31: B93A (6)
C3/3C33 unknow
C3/3C33: AD4D1D LDA $1D4D C3/3C34: 3009 BMI $3C41 C3/3C38: A928 LDA #$28 (set text color to gray) C3/3C3A: 204A3C JSR $3C4A C3/3C3D: A920 LDA #$20 (set text color to white) C3/3C3F: 8012 BRA $3C53 C3/3C41: A920 LDA #$20 (set text color to white) C3/3C43: 204A3C JSR $3C4A C3/3C46: A928 LDA #$28 (set text color to gray) C3/3C48: 8009 BRA $3C53 C3/3C4A: 8529 STA $29 (set text color) C3/3C4C: A02D49 LDY #$492D C3/3C4F: 20F902 JSR $02F9 (display "Short") C3/3C52: 60 RTS
C3/3C53 unknow
C3/3C53: 8529 STA $29 (set text color) C3/3C55: A0FA49 LDY #$49FA C3/3C58: 20F902 JSR $02F9 (display "Window") C3/3C5B: 60 RTS
C3/3C5C unknow
C3/3C5C: AD4E1D LDA $1D4E C3/3C5F: 1009 BPL $3C6A C3/3C61: A928 LDA #$28 (set text color to gray) C3/3C63: 20733C JSR $3C73 C3/3C66: A920 LDA #$20 (set text color to white) C3/3C68: 8012 BRA $3C7C C3/3C6A: A920 LDA #$20 (set text color to white) C3/3C6C: 20733C JSR $3C73 C3/3C6F: A928 LDA #$28 (set text color to gray) C3/3C71: 8009 BRA $3C7C C3/3C73: 8529 STA $29 (set text color) C3/3C75: A03549 LDY #$4935 C3/3C78: 20F902 JSR $02F9 (display "On") C3/3C7B: 60 RTS
C3/3C7C unknow
C3/3C7C: 8529 STA $29 (set text color) C3/3C7E: A03A49 LDY #$493A C3/3C81: 20F902 JSR $02F9 (display "Off") C3/3C84: 60 RTS
C3/3C85 unknow
C3/3C85: AD4E1D LDA $1D4E C3/3C88: 2920 AND #$20 C3/3C8A: F009 BEQ $3C95 C3/3C8C: A928 LDA #$28 (set text color to gray) C3/3C8E: 209E3C JSR $3C9E C3/3C91: A920 LDA #$20 (set text color to white) C3/3C93: 8012 BRA $3CA7 C3/3C95: A920 LDA #$20 (set text color to white) C3/3C97: 209E3C JSR $3C9E C3/3C9A: A928 LDA #$28 (set text color to gray) C3/3C9C: 8009 BRA $3CA7 C3/3C9E: 8529 STA $29 (set text color) C3/3CA0: A04049 LDY #$4940 C3/3CA3: 20F902 JSR $02F9 (display "Stereo") C3/3CA6: 60 RTS
C3/3CA7 unknow
C3/3CA7: 8529 STA $29 (set text color) C3/3CA9: A04949 LDY #$4949 C3/3CAC: 20F902 JSR $02F9 (display "Mono") C3/3CAF: 60 RTS
C3/3CB0 unknow
C3/3CB0: AD4E1D LDA $1D4E C3/3CB3: 2940 AND #$40 C3/3CB5: F009 BEQ $3CC0 C3/3CB7: A928 LDA #$28 (set text color to gray) C3/3CB9: 20C93C JSR $3CC9 C3/3CBC: A920 LDA #$20 (set text color to white) C3/3CBE: 8012 BRA $3CD2 C3/3CC0: A920 LDA #$20 (set text color to white) C3/3CC2: 20C93C JSR $3CC9 C3/3CC5: A928 LDA #$28 (set text color to gray) C3/3CC7: 8009 BRA $3CD2 C3/3CC9: 8529 STA $29 (set text color) C3/3CCB: A0034A LDY #$4A03 C3/3CCE: 20F902 JSR $02F9 (display "Reset") C3/3CD1: 60 RTS
C3/3CD2 unknow
C3/3CD2: 8529 STA $29 (set text color) C3/3CD4: A05049 LDY #$4950 C3/3CD7: 20F902 JSR $02F9 (display "Memory") C3/3CDA: 60 RTS
C3/3CDB unknow
C3/3CDB: AD4E1D LDA $1D4E C3/3CDE: 2910 AND #$10 C3/3CE0: F009 BEQ $3CEB C3/3CE2: A928 LDA #$28 (set text color to gray) C3/3CE4: 20F43C JSR $3CF4 C3/3CE7: A920 LDA #$20 (set text color to white) C3/3CE9: 8012 BRA $3CFD C3/3CEB: A920 LDA #$20 (set text color to white) C3/3CED: 20F43C JSR $3CF4 C3/3CF0: A928 LDA #$28 (set text color to gray) C3/3CF2: 8009 BRA $3CFD C3/3CF4: 8529 STA $29 (set text color) C3/3CF6: A05949 LDY #$4959 C3/3CF9: 20F902 JSR $02F9 (display "Optimum") C3/3CFC: 60 RTS
C3/3CFD unknow
C3/3CFD: 8529 STA $29 (set text color) C3/3CFF: A00B4A LDY #$4A0B C3/3D02: 20F902 JSR $02F9 (display "Empty") C3/3D05: 60 RTS
C3/3D06 unknow
C3/3D06: AD541D LDA $1D54 C3/3D09: 1009 BPL $3D14 C3/3D0B: A928 LDA #$28 (set text color to gray) C3/3D0D: 201D3D JSR $3D1D C3/3D10: A920 LDA #$20 (set text color to white) C3/3D12: 8012 BRA $3D26 C3/3D14: A920 LDA #$20 (set text color to white) C3/3D16: 201D3D JSR $3D1D C3/3D19: A928 LDA #$28 (set text color to gray) C3/3D1B: 8009 BRA $3D26 C3/3D1D: 8529 STA $29 (set text color) C3/3D1F: A0134A LDY #$4A13 C3/3D22: 20F902 JSR $02F9 (display "Single") C3/3D25: 60 RTS
C3/3D26 unknow
C3/3D26: 8529 STA $29 (set text color) C3/3D28: A06349 LDY #$4963 C3/3D2B: 20F902 JSR $02F9 (display "Multiple") C3/3D2E: 60 RTS
C3/3D2F unknow
C3/3D2F: 7B TDC C3/3D30: A54B LDA $4B C3/3D32: 0A ASL A C3/3D33: AA TAX C3/3D34: A54A LDA $4A C3/3D36: F008 BEQ $3D40 C3/3D38: DA PHX C3/3D39: 20A30E JSR $0EA3 C3/3D3C: FA PLX C3/3D3D: 7C553D JMP ($3D55,X) C3/3D40: 7C433D JMP ($3D43,X)
Pointers for functions in the Config menu C3/3D43: 613D (Battle mode) C3/3D45: 7A3D (Battle speed) C3/3D47: AB3D (Message speed) C3/3D49: E83D (Command set) C3/3D4B: 013E (Reequip) C3/3D4D: 1A3E (Sound) C3/3D4F: 4E3E (Cursor) C3/3D51: 6D3E (Gauge) C3/3D53: 863E (Controller setting) C3/3D55: 9F3E (Magic order) C3/3D57: CD3E (Window) C3/3D59: 013F (Color (font vs. window components)) C3/3D5B: 3C3F (Change window component color) C3/3D5D: 5B3F (Change window component color) C3/3D5F: 7A3F (Change window component color)
C3/3D61 battle mode setting
Battle Mode setting (Active vs. Wait) C3/3D61: 20A30E JSR $0EA3 C3/3D64: A50B LDA $0B C3/3D66: 8901 BIT #$01 C3/3D68: D008 BNE $3D72 C3/3D6A: A908 LDA #$08 C3/3D6C: 1C4D1D TRB $1D4D C3/3D6F: 4C8C3B JMP $3B8C C3/3D72: A908 LDA #$08 C3/3D74: 0C4D1D TSB $1D4D C3/3D77: 4C8C3B JMP $3B8C
C3/3D7A battle speed setting
C3/3D7A: 20A30E JSR $0EA3 C3/3D7D: AD4D1D LDA $1D4D C3/3D80: 2907 AND #$07 C3/3D82: 85E0 STA $E0 C3/3D84: A50B LDA $0B C3/3D86: 8901 BIT #$01 C3/3D88: F00B BEQ $3D95 C3/3D8A: A5E0 LDA $E0 C3/3D8C: C905 CMP #$05 C3/3D8E: F004 BEQ $3D94 C3/3D90: E6E0 INC $E0 C3/3D92: 800A BRA $3D9E C3/3D94: 60 RTS C3/3D95: A5E0 LDA $E0 C3/3D97: F004 BEQ $3D9D C3/3D99: C6E0 DEC $E0 C3/3D9B: 8001 BRA $3D9E C3/3D9D: 60 RTS C3/3D9E: AD4D1D LDA $1D4D C3/3DA1: 29F8 AND #$F8 C3/3DA3: 05E0 ORA $E0 C3/3DA5: 8D4D1D STA $1D4D C3/3DA8: 4CB73B JMP $3BB7
C3/3DAB message speed setting
C3/3DAB: 20A30E JSR $0EA3 C3/3DAE: AD4D1D LDA $1D4D C3/3DB1: 2970 AND #$70 C3/3DB3: 4A LSR A C3/3DB4: 4A LSR A C3/3DB5: 4A LSR A C3/3DB6: 4A LSR A C3/3DB7: 85E0 STA $E0 C3/3DB9: A50B LDA $0B C3/3DBB: 8901 BIT #$01 C3/3DBD: F00B BEQ $3DCA C3/3DBF: A5E0 LDA $E0 C3/3DC1: C905 CMP #$05 C3/3DC3: F004 BEQ $3DC9 C3/3DC5: E6E0 INC $E0 C3/3DC7: 800A BRA $3DD3 C3/3DC9: 60 RTS C3/3DCA: A5E0 LDA $E0 C3/3DCC: F004 BEQ $3DD2 C3/3DCE: C6E0 DEC $E0 C3/3DD0: 8001 BRA $3DD3 C3/3DD2: 60 RTS C3/3DD3: A5E0 LDA $E0 C3/3DD5: 0A ASL A C3/3DD6: 0A ASL A C3/3DD7: 0A ASL A C3/3DD8: 0A ASL A C3/3DD9: 85E0 STA $E0 C3/3DDB: AD4D1D LDA $1D4D C3/3DDE: 298F AND #$8F C3/3DE0: 05E0 ORA $E0 C3/3DE2: 8D4D1D STA $1D4D C3/3DE5: 4CF23B JMP $3BF2
C3/3DE8 command set setting
C3/3DE8: 20A30E JSR $0EA3 C3/3DEB: A50B LDA $0B C3/3DED: 8901 BIT #$01 C3/3DEF: D008 BNE $3DF9 C3/3DF1: A980 LDA #$80 C3/3DF3: 1C4D1D TRB $1D4D (Clear short command list (makes it go to long list) setting) C3/3DF6: 4C333C JMP $3C33 C3/3DF9: A980 LDA #$80 C3/3DFB: 0C4D1D TSB $1D4D (Set short command list setting) C3/3DFE: 4C333C JMP $3C33
C3/3E01 reequip mode setting
C3/3E01: 20A30E JSR $0EA3 C3/3E04: A50B LDA $0B C3/3E06: 8901 BIT #$01 C3/3E08: D008 BNE $3E12 C3/3E0A: A980 LDA #$80 C3/3E0C: 1C4E1D TRB $1D4E (Clear reequip party setting (makes it go to empty)) C3/3E0F: 4C5C3C JMP $3C5C C3/3E12: A980 LDA #$80 C3/3E14: 0C4E1D TSB $1D4E (Set optimum party setting) C3/3E17: 4C5C3C JMP $3C5C
C3/3E1A sound mode setting
C3/3E1A: A50B LDA $0B C3/3E1C: 8901 BIT #$01 C3/3E1E: D00F BNE $3E2F C3/3E20: 7B TDC C3/3E21: 203F3E JSR $3E3F C3/3E24: A920 LDA #$20 C3/3E26: 1C4E1D TRB $1D4E (Set sound stereo setting) C3/3E29: 20A30E JSR $0EA3 C3/3E2C: 4C853C JMP $3C85 C3/3E2F: A9FF LDA #$FF C3/3E31: 203F3E JSR $3E3F C3/3E34: A920 LDA #$20 C3/3E36: 0C4E1D TSB $1D4E (Set sound mono setting) C3/3E39: 20A30E JSR $0EA3 C3/3E3C: 4C853C JMP $3C85 C3/3E3F: 8F011300 STA $001301 C3/3E43: A9F3 LDA #$F3 C3/3E45: 8F001300 STA $001300 C3/3E49: 220400C5 JSL $C50004 C3/3E4D: 60 RTS
C3/3E4E cursor mode setting
C3/3E4E: 20A30E JSR $0EA3 C3/3E51: A50B LDA $0B C3/3E53: 8901 BIT #$01 C3/3E55: D00B BNE $3E62 C3/3E57: 20F748 JSR $48F7 C3/3E5A: A940 LDA #$40 C3/3E5C: 1C4E1D TRB $1D4E (Clear cursor memory setting) C3/3E5F: 4CB03C JMP $3CB0 C3/3E62: A940 LDA #$40 C3/3E64: 0C4E1D TSB $1D4E (Set cursor memory setting) C3/3E67: 206870 JSR $7068 C3/3E6A: 4CB03C JMP $3CB0
C3/3E6D gauge mode setting
C3/3E6D: 20A30E JSR $0EA3 C3/3E70: A50B LDA $0B C3/3E72: 8901 BIT #$01 C3/3E74: D008 BNE $3E7E C3/3E76: A910 LDA #$10 C3/3E78: 1C4E1D TRB $1D4E (Clear gauge off setting (makes gauge be on)) C3/3E7B: 4CDB3C JMP $3CDB C3/3E7E: A910 LDA #$10 C3/3E80: 0C4E1D TSB $1D4E (Set gauge off setting) C3/3E83: 4CDB3C JMP $3CDB
C3/3E86 controller mode setting
C3/3E86: 20A30E JSR $0EA3 C3/3E89: A50B LDA $0B C3/3E8B: 8901 BIT #$01 C3/3E8D: D008 BNE $3E97 C3/3E8F: A980 LDA #$80 C3/3E91: 1C541D TRB $1D54 C3/3E94: 4C063D JMP $3D06 C3/3E97: A980 LDA #$80 C3/3E99: 0C541D TSB $1D54 C3/3E9C: 4C063D JMP $3D06
C3/3E9F magic order mode setting
C3/3E9F: AD541D LDA $1D54 C3/3EA2: 2907 AND #$07 C3/3EA4: 85E0 STA $E0 C3/3EA6: A50B LDA $0B C3/3EA8: 8901 BIT #$01 C3/3EAA: F00B BEQ $3EB7 C3/3EAC: A5E0 LDA $E0 C3/3EAE: C905 CMP #$05 C3/3EB0: F004 BEQ $3EB6 C3/3EB2: E6E0 INC $E0 C3/3EB4: 800A BRA $3EC0 C3/3EB6: 60 RTS C3/3EB7: A5E0 LDA $E0 C3/3EB9: F004 BEQ $3EBF C3/3EBB: C6E0 DEC $E0 C3/3EBD: 8001 BRA $3EC0 C3/3EBF: 60 RTS C3/3EC0: AD541D LDA $1D54 C3/3EC3: 29F8 AND #$F8 C3/3EC5: 05E0 ORA $E0 C3/3EC7: 8D541D STA $1D54 C3/3ECA: 4CFD3F JMP $3FFD
C3/3ECD window selection setting
C3/3ECD: AD4E1D LDA $1D4E C3/3ED0: 290F AND #$0F C3/3ED2: 85E0 STA $E0 C3/3ED4: A50B LDA $0B C3/3ED6: 8901 BIT #$01 C3/3ED8: F00B BEQ $3EE5 C3/3EDA: A5E0 LDA $E0 C3/3EDC: C907 CMP #$07 C3/3EDE: F004 BEQ $3EE4 C3/3EE0: E6E0 INC $E0 C3/3EE2: 800A BRA $3EEE C3/3EE4: 60 RTS C3/3EE5: A5E0 LDA $E0 C3/3EE7: F004 BEQ $3EED C3/3EE9: C6E0 DEC $E0 C3/3EEB: 8001 BRA $3EEE C3/3EED: 60 RTS C3/3EEE: AD4E1D LDA $1D4E C3/3EF1: 29F0 AND #$F0 C3/3EF3: 05E0 ORA $E0 C3/3EF5: 8D4E1D STA $1D4E C3/3EF8: 20EA40 JSR $40EA C3/3EFB: 20873A JSR $3A87 C3/3EFE: 4CC341 JMP $41C3
C3/3F01 color setting
Color (Font vs. Window components) settting C3/3F01: AD541D LDA $1D54 C3/3F04: 2938 AND #$38 C3/3F06: 4A LSR A C3/3F07: 4A LSR A C3/3F08: 4A LSR A C3/3F09: 85E0 STA $E0 C3/3F0B: A50B LDA $0B C3/3F0D: 8901 BIT #$01 C3/3F0F: F00B BEQ $3F1C C3/3F11: A5E0 LDA $E0 C3/3F13: C907 CMP #$07 C3/3F15: F004 BEQ $3F1B C3/3F17: E6E0 INC $E0 C3/3F19: 800A BRA $3F25 C3/3F1B: 60 RTS C3/3F1C: A5E0 LDA $E0 C3/3F1E: F004 BEQ $3F24 C3/3F20: C6E0 DEC $E0 C3/3F22: 8001 BRA $3F25 C3/3F24: 60 RTS C3/3F25: A5E0 LDA $E0 C3/3F27: 0A ASL A C3/3F28: 0A ASL A C3/3F29: 0A ASL A C3/3F2A: 85E0 STA $E0 C3/3F2C: AD541D LDA $1D54 C3/3F2F: 29C7 AND #$C7 C3/3F31: 05E0 ORA $E0 C3/3F33: 8D541D STA $1D54 C3/3F36: 203341 JSR $4133 C3/3F39: 4CC341 JMP $41C3
C3/3F3C change font or window red component
C3/3F3C: 20FE41 JSR $41FE C3/3F3F: A50B LDA $0B C3/3F41: 8901 BIT #$01 C3/3F43: F00A BEQ $3F4F C3/3F45: A5E2 LDA $E2 C3/3F47: C91F CMP #$1F C3/3F49: F00A BEQ $3F55 C3/3F4B: E6E2 INC $E2 C3/3F4D: 8006 BRA $3F55 C3/3F4F: A5E2 LDA $E2 C3/3F51: F002 BEQ $3F55 C3/3F53: C6E2 DEC $E2 C3/3F55: 202142 JSR $4221 C3/3F58: 4CC43F JMP $3FC4
C3/3F5B change font or window green component
C3/3F5B: 20FE41 JSR $41FE C3/3F5E: A50B LDA $0B C3/3F60: 8901 BIT #$01 C3/3F62: F00A BEQ $3F6E C3/3F64: A5E1 LDA $E1 C3/3F66: C91F CMP #$1F C3/3F68: F00A BEQ $3F74 C3/3F6A: E6E1 INC $E1 C3/3F6C: 8006 BRA $3F74 C3/3F6E: A5E1 LDA $E1 C3/3F70: F002 BEQ $3F74 C3/3F72: C6E1 DEC $E1 C3/3F74: 202142 JSR $4221 C3/3F77: 4CC43F JMP $3FC4
C3/3F7A change font or window blue component
C3/3F7A: 20FE41 JSR $41FE C3/3F7D: A50B LDA $0B C3/3F7F: 8901 BIT #$01 C3/3F81: F00A BEQ $3F8D C3/3F83: A5E0 LDA $E0 C3/3F85: C91F CMP #$1F C3/3F87: F00A BEQ $3F93 C3/3F89: E6E0 INC $E0 C3/3F8B: 8006 BRA $3F93 C3/3F8D: A5E0 LDA $E0 C3/3F8F: F002 BEQ $3F93 C3/3F91: C6E0 DEC $E0 C3/3F93: 202142 JSR $4221 C3/3F96: 4CC43F JMP $3FC4
C3/3F99 unknow
C3/3F99: C220 REP #$20 (16 bit memory/accum.) C3/3F9B: AD551D LDA $1D55 (font color) C3/3F9E: 8F4F307E STA $7E304F C3/3FA2: 8F73307E STA $7E3073 C3/3FA6: 8F77307E STA $7E3077 C3/3FAA: E220 SEP #$20 (8 bit memory/accum.) C3/3FAC: 60 RTS
C3/3FAD unknow
C3/3FAD: A600 LDX $00 C3/3FAF: C220 REP #$20 (16 bit memory/accum.) C3/3FB1: B9571D LDA $1D57,Y C3/3FB4: 9F2B317E STA $7E312B,X C3/3FB8: C8 INY C3/3FB9: C8 INY C3/3FBA: E8 INX C3/3FBB: E8 INX C3/3FBC: E00E00 CPX #$000E C3/3FBF: D0F0 BNE $3FB1 C3/3FC1: E220 SEP #$20 (8 bit memory/accum.) C3/3FC3: 60 RTS
C3/3FC4 unknow
C3/3FC4: 7B TDC C3/3FC5: AD4E1D LDA $1D4E C3/3FC8: 290F AND #$0F C3/3FCA: 8D0242 STA $4202 C3/3FCD: A90E LDA #$0E C3/3FCF: 8D0342 STA $4203 C3/3FD2: AD541D LDA $1D54 C3/3FD5: 2938 AND #$38 C3/3FD7: F019 BEQ $3FF2 C3/3FD9: 4A LSR A C3/3FDA: 4A LSR A C3/3FDB: 18 CLC C3/3FDC: 6D1642 ADC $4216 C3/3FDF: AA TAX C3/3FE0: A59A LDA $9A C3/3FE2: 9D551D STA $1D55,X C3/3FE5: A59B LDA $9B C3/3FE7: 9D561D STA $1D56,X C3/3FEA: AC1642 LDY $4216 C3/3FED: 20AD3F JSR $3FAD C3/3FF0: 8008 BRA $3FFA C3/3FF2: A49A LDY $9A C3/3FF4: 8C551D STY $1D55 C3/3FF7: 20993F JSR $3F99 C3/3FFA: 4CC341 JMP $41C3
C3/3FFD setting magic order
C3/3FFD: A928 LDA #$28 C3/3FFF: 8529 STA $29 (set text color to gray) C3/4001: A0A54A LDY #$4AA5 C3/4004: 20F902 JSR $02F9 (display "1 2 3 4 5 6") C3/4007: A920 LDA #$20 C3/4009: 8529 STA $29 (set text color to white) C3/400B: 7B TDC C3/400C: AD541D LDA $1D54 C3/400F: 2907 AND #$07 C3/4011: 0A ASL A C3/4012: AA TAX C3/4013: C220 REP #$20 (16 bit memory/accum.) C3/4015: BF2F40C3 LDA $C3402F,X C3/4019: 85F7 STA $F7 C3/401B: E220 SEP #$20 (8 bit memory/accum.) C3/401D: AD541D LDA $1D54 C3/4020: 2907 AND #$07 C3/4022: 18 CLC C3/4023: 69B5 ADC #$B5 C3/4025: 85F9 STA $F9 C3/4027: 64FA STZ $FA C3/4029: 201641 JSR $4116 C3/402C: 4C3B40 JMP $403B (BRA would work here)