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.
The wiki has recently moved; please report any issues in Discord. Pardon the dust.
Final Fantasy VI/ROM map/Assembly C34: Difference between revisions
< Final Fantasy VI | ROM map
Jump to navigation
Jump to search
(assembly C34) |
(clean up) |
||
Line 1: | Line 1: | ||
==C3/402F data: position of white magic== | |||
Positions of white values for magic order selection | Positions of white values for magic order selection | ||
C3/402F: A541 | C3/402F: A541 | ||
Line 6: | Line 7: | ||
C3/4037: B541 | C3/4037: B541 | ||
C3/4039: B941 | C3/4039: B941 | ||
==C3/403B unknow== | |||
C3/403B: 7B TDC | C3/403B: 7B TDC | ||
C3/403C: 8F959E7E STA $7E9E95 | C3/403C: 8F959E7E STA $7E9E95 | ||
Line 25: | Line 26: | ||
C3/4055: D0F5 BNE $404C | C3/4055: D0F5 BNE $404C | ||
C3/4057: 60 RTS | C3/4057: 60 RTS | ||
==C3/4058 display the magic order== | |||
C3/4058: 7B TDC (from C3/404E) | C3/4058: 7B TDC (from C3/404E) | ||
C3/4059: BFD240C3 LDA $C340D2,X | C3/4059: BFD240C3 LDA $C340D2,X | ||
Line 65: | Line 65: | ||
C3/40C8: 20FF02 JSR $02FF | C3/40C8: 20FF02 JSR $02FF | ||
C3/40CB: 60 RTS | C3/40CB: 60 RTS | ||
==C3/40CC data: unknow== | |||
C3/40CC: 2943 | C3/40CC: 2943 | ||
C3/40CE: A942 | C3/40CE: A942 | ||
C3/40D0: 2942 | C3/40D0: 2942 | ||
==C3/40D2 data: changing magic order== | |||
Data: changing magic order in config screen 2 | Data: changing magic order in config screen 2 | ||
C3/40D2: 00 0A | C3/40D2: 00 0A | ||
Line 88: | Line 88: | ||
C3/40E6: 14 0A | C3/40E6: 14 0A | ||
C3/40E8: 00 00 | C3/40E8: 00 00 | ||
==C3/40EA setting the window background== | |||
C3/40EA: A928 LDA #$28 | C3/40EA: A928 LDA #$28 | ||
C3/40EC: 8529 STA $29 (set text color to gray) | C3/40EC: 8529 STA $29 (set text color to gray) | ||
Line 117: | Line 116: | ||
C3/411F: 20FF02 JSR $02FF (this is normally for text, but this appears to be setting the background) | C3/411F: 20FF02 JSR $02FF (this is normally for text, but this appears to be setting the background) | ||
C3/4122: 60 RTS | C3/4122: 60 RTS | ||
==C3/4123 data: unknow== | |||
Positions of white values for window background selection | Positions of white values for window background selection | ||
C3/4123: A543 | C3/4123: A543 | ||
Line 127: | Line 126: | ||
C3/413F: BD43 | C3/413F: BD43 | ||
C3/4131: C143 | C3/4131: C143 | ||
==C3/4133 unknow== | |||
C3/4133: A93C LDA #$3C | C3/4133: A93C LDA #$3C | ||
C3/4134: 8529 STA $29 (set text color to...) | C3/4134: 8529 STA $29 (set text color to...) | ||
Line 156: | Line 155: | ||
C3/416C: 8529 STA $29 (set text color to white) | C3/416C: 8529 STA $29 (set text color to white) | ||
C3/416E: 4C8641 JMP $4186 | C3/416E: 4C8641 JMP $4186 | ||
==C3/4171 unknow== | |||
C3/4171: A920 LDA #$20 | C3/4171: A920 LDA #$20 | ||
C3/4173: 8529 STA $29 (set text color to white) | C3/4173: 8529 STA $29 (set text color to white) | ||
Line 163: | Line 162: | ||
C3/417A: 8529 STA $29 | C3/417A: 8529 STA $29 | ||
C3/417C: 4C8641 JMP $4186 | C3/417C: 4C8641 JMP $4186 | ||
==C3/417F unknow== | |||
C3/417F: A0B34A LDY #$4AB3 | C3/417F: A0B34A LDY #$4AB3 | ||
C3/4182: 20F902 JSR $02F9 (display "Font") | C3/4182: 20F902 JSR $02F9 (display "Font") | ||
C3/4185: 60 RTS | C3/4185: 60 RTS | ||
==C3/4186 unknow== | |||
C3/4186: A0BA4A LDY #$4ABA | C3/4186: A0BA4A LDY #$4ABA | ||
C3/4189: 20F902 JSR $02F9 (display "Window") | C3/4189: 20F902 JSR $02F9 (display "Window") | ||
C3/418C: 60 RTS | C3/418C: 60 RTS | ||
==C3/418D data: unknow== | |||
C3/418D: 9D41 (position of " ") | C3/418D: 9D41 (position of " ") | ||
C3/418F: A741 (position of character $D4) | C3/418F: A741 (position of character $D4) | ||
Line 189: | Line 188: | ||
C3/41BB: FF44D400 | C3/41BB: FF44D400 | ||
C3/41BF: 0145D400 | C3/41BF: 0145D400 | ||
==C3/41C3 unknow== | |||
C3/41C3: 205039 JSR $3950 | C3/41C3: 205039 JSR $3950 | ||
C3/41C6: 7B TDC | C3/41C6: 7B TDC | ||
Line 215: | Line 214: | ||
C3/41F8: 20FE41 JSR $41FE | C3/41F8: 20FE41 JSR $41FE | ||
C3/41FB: 4C3D42 JMP $423D (BRA would work here) | C3/41FB: 4C3D42 JMP $423D (BRA would work here) | ||
==C3/41FE unknow== | |||
C3/41FE: A49A LDY $9A | C3/41FE: A49A LDY $9A | ||
C3/4200: 84E7 STY $E7 | C3/4200: 84E7 STY $E7 | ||
Line 237: | Line 236: | ||
C3/421E: 85E1 STA $E1 | C3/421E: 85E1 STA $E1 | ||
C3/4220: 60 RTS | C3/4220: 60 RTS | ||
==C3/4221 unknow== | |||
C3/4221: A5E0 LDA $E0 | C3/4221: A5E0 LDA $E0 | ||
C3/4223: 0A ASL A | C3/4223: 0A ASL A | ||
Line 256: | Line 255: | ||
C3/423A: E220 SEP #$20 (8 bit memory/accum.) | C3/423A: E220 SEP #$20 (8 bit memory/accum.) | ||
C3/423C: 60 RTS | C3/423C: 60 RTS | ||
==C3/423D unknow== | |||
C3/423D: C220 REP #$20 (16 bit memory/accum.) | C3/423D: C220 REP #$20 (16 bit memory/accum.) | ||
C3/423F: A92F45 LDA #$452F | C3/423F: A92F45 LDA #$452F | ||
Line 264: | Line 263: | ||
C3/424A: A22945 LDX #$4529 | C3/424A: A22945 LDX #$4529 | ||
C3/424D: 4C7642 JMP $4276 | C3/424D: 4C7642 JMP $4276 | ||
==C3/4250 unknow== | |||
C3/4250: C220 REP #$20 (16 bit memory/accum.) | C3/4250: C220 REP #$20 (16 bit memory/accum.) | ||
C3/4252: A9AF45 LDA #$45AF | C3/4252: A9AF45 LDA #$45AF | ||
Line 272: | Line 271: | ||
C3/425D: A2A945 LDX #$45A9 | C3/425D: A2A945 LDX #$45A9 | ||
C3/4260: 4C7642 JMP $4276 | C3/4260: 4C7642 JMP $4276 | ||
==C3/4263 unknow== | |||
C3/4263: C220 REP #$20 (16 bit memory/accum.) | C3/4263: C220 REP #$20 (16 bit memory/accum.) | ||
C3/4265: A92F46 LDA #$462F | C3/4265: A92F46 LDA #$462F | ||
Line 280: | Line 279: | ||
C3/4270: A22946 LDX #$4629 | C3/4270: A22946 LDX #$4629 | ||
C3/4273: 4C7642 JMP $4276 | C3/4273: 4C7642 JMP $4276 | ||
==C3/4276 unknow== | |||
C3/4276: 48 PHA | C3/4276: 48 PHA | ||
C3/4277: 48 PHA | C3/4277: 48 PHA | ||
Line 312: | Line 311: | ||
C3/42AC: 8529 STA $29 | C3/42AC: 8529 STA $29 | ||
C3/42AE: 4CB142 JMP $42B1 (JMP $7FD9 fool!) | C3/42AE: 4CB142 JMP $42B1 (JMP $7FD9 fool!) | ||
==C3/42B1 unknow== | |||
C3/42B1: A0899E LDY #$9E89 (JMP $7FD9 fool!) | C3/42B1: A0899E LDY #$9E89 (JMP $7FD9 fool!) | ||
C3/42B4: 84E7 STY $E7 | C3/42B4: 84E7 STY $E7 | ||
Line 319: | Line 318: | ||
C3/42BA: 20FF02 JSR $02FF | C3/42BA: 20FF02 JSR $02FF | ||
C3/42BD: 60 RTS | C3/42BD: 60 RTS | ||
==C3/42BE data: unknow== | |||
C3/42BE: F0F2 | C3/42BE: F0F2 | ||
C3/42C0: F4F6 | C3/42C0: F4F6 | ||
==C3/42C2 unknow== | |||
C3/42C2: 202F35 JSR $352F (fade out screen, disable H/DMA) | C3/42C2: 202F35 JSR $352F (fade out screen, disable H/DMA) | ||
C3/42C3: 202C44 JSR $442C | C3/42C3: 202C44 JSR $442C | ||
Line 335: | Line 333: | ||
C3/42DA: 8527 STA $27 | C3/42DA: 8527 STA $27 | ||
C3/42DC: 4C4135 JMP $3541 | C3/42DC: 4C4135 JMP $3541 | ||
==C3/42DF unknow== | |||
C3/42DF: 20BC45 JSR $45BC | C3/42DF: 20BC45 JSR $45BC | ||
C3/42E2: A508 LDA $08 | C3/42E2: A508 LDA $08 | ||
Line 357: | Line 355: | ||
C3/4307: 8526 STA $26 | C3/4307: 8526 STA $26 | ||
C3/4309: 60 RTS | C3/4309: 60 RTS | ||
==C3/430A unknow== | |||
C3/430A: 20C00E JSR $0EC0 (makes the buzzer sound) | C3/430A: 20C00E JSR $0EC0 (makes the buzzer sound) | ||
C3/430D: 205D30 JSR $305D (mosaic effect) | C3/430D: 205D30 JSR $305D (mosaic effect) | ||
Line 371: | Line 369: | ||
C3/4323: 6426 STZ $26 (fade out) | C3/4323: 6426 STZ $26 (fade out) | ||
C3/4325: 60 RTS | C3/4325: 60 RTS | ||
==C3/4326 unknow== | |||
C3/4326: 20B20E JSR $0EB2 (makes the click sound) | C3/4326: 20B20E JSR $0EB2 (makes the click sound) | ||
C3/4329: 20390F JSR $0F39 | C3/4329: 20390F JSR $0F39 | ||
Line 378: | Line 376: | ||
C3/4332: 20E143 JSR $43E1 | C3/4332: 20E143 JSR $43E1 | ||
C3/4335: 4CEA43 JMP $43EA | C3/4335: 4CEA43 JMP $43EA | ||
==C3/4338 unknow== | |||
C3/4338: 200246 JSR $4602 | C3/4338: 200246 JSR $4602 | ||
C3/433B: A508 LDA $08 | C3/433B: A508 LDA $08 | ||
Line 396: | Line 394: | ||
C3/4356: 8467 STY $67 | C3/4356: 8467 STY $67 | ||
C3/4358: 60 RTS | C3/4358: 60 RTS | ||
==C3/4359 unknow== | |||
C3/4359: A509 LDA $09 | C3/4359: A509 LDA $09 | ||
C3/435B: 8980 BIT #$80 (did you press B?) | C3/435B: 8980 BIT #$80 (did you press B?) | ||
Line 410: | Line 408: | ||
C3/4372: 8526 STA $26 | C3/4372: 8526 STA $26 | ||
C3/4374: 60 RTS | C3/4374: 60 RTS | ||
C3/4375: 60 RTS | C3/4375: 60 RTS | ||
==C3/4376 unknow== | |||
C3/4376: 200246 JSR $4602 | C3/4376: 200246 JSR $4602 | ||
C3/4379: A508 LDA $08 | C3/4379: A508 LDA $08 | ||
Line 455: | Line 452: | ||
C3/43CC: 8526 STA $26 (execute at C3/4338) | C3/43CC: 8526 STA $26 (execute at C3/4338) | ||
C3/43CE: 60 RTS | C3/43CE: 60 RTS | ||
C3/43CF: 60 RTS | C3/43CF: 60 RTS | ||
==C3/43D0 unknow== | |||
C3/43D0: A600 LDX $00 | C3/43D0: A600 LDX $00 | ||
C3/43D2: 20F343 JSR $43F3 | C3/43D2: 20F343 JSR $43F3 | ||
Line 473: | Line 469: | ||
C3/43ED: 20F343 JSR $43F3 | C3/43ED: 20F343 JSR $43F3 | ||
C3/43F0: 4C5F45 JMP $455F | C3/43F0: 4C5F45 JMP $455F | ||
==C3/43F3 unknow== | |||
C3/43F3: B46D LDY $6D,X | C3/43F3: B46D LDY $6D,X | ||
C3/43F5: F033 BEQ $442A | C3/43F5: F033 BEQ $442A | ||
Line 497: | Line 493: | ||
C3/4427: 991900 STA $0019,Y | C3/4427: 991900 STA $0019,Y | ||
C3/442A: 60 RTS | C3/442A: 60 RTS | ||
C3/442B: 60 RTS | C3/442B: 60 RTS | ||
==C3/442C rearrange menu for "short" command list== | |||
"Short" command list rearranging menu | "Short" command list rearranging menu | ||
C3/442C: 20286A JSR $6A28 | C3/442C: 20286A JSR $6A28 | ||
Line 535: | Line 530: | ||
C3/448A: 20280E JSR $0E28 | C3/448A: 20280E JSR $0E28 | ||
C3/448D: 4C6E0E JMP $0E6E | C3/448D: 4C6E0E JMP $0E6E | ||
==C3/4490 data: windows== | |||
C3/4490: 1F591204 (window that holds character 1 commands) | C3/4490: 1F591204 (window that holds character 1 commands) | ||
C3/4494: 9F5A1204 (window that holds character 2 commands) | C3/4494: 9F5A1204 (window that holds character 2 commands) | ||
Line 546: | Line 540: | ||
C3/44AC: 8B5D0804 (window that holds character 4 name) | C3/44AC: 8B5D0804 (window that holds character 4 name) | ||
C3/44B0: 8B580801 (window that holds "Arrange") | C3/44B0: 8B580801 (window that holds "Arrange") | ||
==C3/44B4 unknow== | |||
C3/44B4: A569 LDA $69 | C3/44B4: A569 LDA $69 | ||
C3/44B6: 3034 BMI $44EC | C3/44B6: 3034 BMI $44EC | ||
Line 569: | Line 563: | ||
C3/44E9: 20AD45 JSR $45AD (JMP fool!) | C3/44E9: 20AD45 JSR $45AD (JMP fool!) | ||
C3/44EC: 60 RTS | C3/44EC: 60 RTS | ||
==C3/44ED unknow== | |||
C3/44ED: A56A LDA $6A | C3/44ED: A56A LDA $6A | ||
C3/44EF: 3034 BMI $4525 | C3/44EF: 3034 BMI $4525 | ||
Line 592: | Line 586: | ||
C3/4522: 20AD45 JSR $45AD (JMP fool!) | C3/4522: 20AD45 JSR $45AD (JMP fool!) | ||
C3/4525: 60 RTS | C3/4525: 60 RTS | ||
==C3/4526 unknow== | |||
C3/4526: A56B LDA $6B | C3/4526: A56B LDA $6B | ||
C3/4528: 3034 BMI $455E | C3/4528: 3034 BMI $455E | ||
Line 615: | Line 609: | ||
C3/455B: 20AD45 JSR $45AD (JMP fool!) | C3/455B: 20AD45 JSR $45AD (JMP fool!) | ||
C3/455E: 60 RTS | C3/455E: 60 RTS | ||
==C3/455F unknow== | |||
C3/455F: A56C LDA $6C | C3/455F: A56C LDA $6C | ||
C3/4561: 3034 BMI $4597 | C3/4561: 3034 BMI $4597 | ||
Line 663: | Line 657: | ||
C3/45BF: A0CA45 LDY #$45CA | C3/45BF: A0CA45 LDY #$45CA | ||
C3/45C2: 4C4006 JMP $0640 | C3/45C2: 4C4006 JMP $0640 | ||
==C3/45C5 data: hotspot for arrange screen== | |||
C3/45C5: 80 00 00 01 05 | C3/45C5: 80 00 00 01 05 | ||
==C3/45CA data: finger positions for arrange screen== | |||
C3/45CA: 0820 (X/Y position for character 1 name) | C3/45CA: 0820 (X/Y position for character 1 name) | ||
C3/45CC: 0850 (X/Y position for character 2 name) | C3/45CC: 0850 (X/Y position for character 2 name) | ||
Line 673: | Line 665: | ||
C3/45D0: 08B0 (X/Y position for character 4 name) | C3/45D0: 08B0 (X/Y position for character 4 name) | ||
C3/45D2: 080C (X/Y position for Arrange) | C3/45D2: 080C (X/Y position for Arrange) | ||
==C3/45D4 unknow== | |||
C3/45D4: A04A46 LDY #$464A | C3/45D4: A04A46 LDY #$464A | ||
C3/45D7: 4CFE05 JMP $05FE | C3/45D7: 4CFE05 JMP $05FE | ||
Line 682: | Line 674: | ||
C3/45DE: AA TAX | C3/45DE: AA TAX | ||
C3/45DF: 7CE245 JMP ($45E2,X) | C3/45DF: 7CE245 JMP ($45E2,X) | ||
==C3/45E2 data: unknow== | |||
C3/45E2: EA45 (character 1 commands) | C3/45E2: EA45 (character 1 commands) | ||
C3/45E4: F045 (character 2 commands) | C3/45E4: F045 (character 2 commands) | ||
C3/45E6: F645 (character 3 commands) | C3/45E6: F645 (character 3 commands) | ||
C3/45E8: FC45 (character 4 commands) | C3/45E8: FC45 (character 4 commands) | ||
==C3/45EA unknow== | |||
C3/45EA: A04F46 LDY #$464F | C3/45EA: A04F46 LDY #$464F | ||
C3/45ED: 4C4006 JMP $0640 | C3/45ED: 4C4006 JMP $0640 | ||
Line 699: | Line 691: | ||
C3/45FC: A06746 LDY #$4667 | C3/45FC: A06746 LDY #$4667 | ||
C3/45FF: 4C4006 JMP $0640 | C3/45FF: 4C4006 JMP $0640 | ||
==C3/4602 unknow== | |||
C3/4602: 201546 JSR $4615 (from C3/4338) | C3/4602: 201546 JSR $4615 (from C3/4338) | ||
C3/4605: 7B TDC | C3/4605: 7B TDC | ||
Line 706: | Line 698: | ||
C3/4609: AA TAX | C3/4609: AA TAX | ||
C3/460A: 7C0D46 JMP ($460D,X) | C3/460A: 7C0D46 JMP ($460D,X) | ||
==C3/460D data: unknow== | |||
C3/460D: EA45 | C3/460D: EA45 | ||
C3/460F: F045 | C3/460F: F045 | ||
C3/4611: F645 | C3/4611: F645 | ||
C3/4613: FC45 | C3/4613: FC45 | ||
==C3/4615 unknow== | |||
C3/4615: 644D STZ $4D | C3/4615: 644D STZ $4D | ||
C3/4617: A50B LDA $0B | C3/4617: A50B LDA $0B | ||
Line 737: | Line 729: | ||
C3/4646: 20A30E JSR $0EA3 (JMP fool!) | C3/4646: 20A30E JSR $0EA3 (JMP fool!) | ||
C3/4649: 60 RTS | C3/4649: 60 RTS | ||
==C3/464A data: hotspot== | |||
C3/464A: 81 00 00 01 04 | C3/464A: 81 00 00 01 04 | ||
==C3/464F data: finger positions, char 1== | |||
Finger positioning data, configuring character 1 commands | Finger positioning data, configuring character 1 commands | ||
C3/464F: 8020 | C3/464F: 8020 | ||
Line 746: | Line 737: | ||
C3/4653: A82C | C3/4653: A82C | ||
C3/4655: 8038 | C3/4655: 8038 | ||
==C3/4657 data: finger positions, char 2 unknow== | |||
Finger positioning data, configuring character 2 commands | Finger positioning data, configuring character 2 commands | ||
C3/4657: 8050 | C3/4657: 8050 | ||
Line 752: | Line 743: | ||
C3/465A: A85C | C3/465A: A85C | ||
C3/465E: 8068 | C3/465E: 8068 | ||
==C3/465F data: finger positions, char 3== | |||
Finger positioning data, configuring character 3 commands | Finger positioning data, configuring character 3 commands | ||
C3/465F: 8080 | C3/465F: 8080 | ||
Line 758: | Line 749: | ||
C3/4662: A88C | C3/4662: A88C | ||
C3/4665: 8098 | C3/4665: 8098 | ||
==C3/4667 data: finger positions, char 4== | |||
Finger positioning data, configuring character 4 commands | Finger positioning data, configuring character 4 commands | ||
C3/4667: 80B0 | C3/4667: 80B0 | ||
Line 764: | Line 755: | ||
C3/466A: A8BC | C3/466A: A8BC | ||
C3/466D: 80C8 | C3/466D: 80C8 | ||
==C3/466F unknow== | |||
C3/466F: A902 LDA #$02 (from C3/42C7) | C3/466F: A902 LDA #$02 (from C3/42C7) | ||
C3/4671: 8D5043 STA $4350 | C3/4671: 8D5043 STA $4350 | ||
Line 778: | Line 769: | ||
C3/468B: 0443 TSB $43 (eventually enable channel 5 of HDMA) | C3/468B: 0443 TSB $43 (eventually enable channel 5 of HDMA) | ||
C3/468D: 60 RTS | C3/468D: 60 RTS | ||
==C3/4682 hdma transfer table== | |||
C3/468E: 1F0000 (31 scanlines, 0 pixel shift) | C3/468E: 1F0000 (31 scanlines, 0 pixel shift) | ||
C3/4691: 0C0400 (12 scanlines, 4 pixel shift) | C3/4691: 0C0400 (12 scanlines, 4 pixel shift) | ||
Line 791: | Line 781: | ||
C3/46A9: 242400 (36 scanlines, 36 pixel shift, 235 scanlines total) | C3/46A9: 242400 (36 scanlines, 36 pixel shift, 235 scanlines total) | ||
C3/46AC: 00 (end) | C3/46AC: 00 (end) | ||
==C3/46AD unknow== | |||
C3/46AD: 202F35 JSR $352F (fade out screen, disable H/DMA) | C3/46AD: 202F35 JSR $352F (fade out screen, disable H/DMA) | ||
C3/46B0: 20F546 JSR $46F5 | C3/46B0: 20F546 JSR $46F5 | ||
Line 803: | Line 793: | ||
C3/46C5: 8527 STA $27 (queue up to execute at C3/46CA) | C3/46C5: 8527 STA $27 (queue up to execute at C3/46CA) | ||
C3/46C7: 4C4135 JMP $3541 | C3/46C7: 4C4135 JMP $3541 | ||
==C3/46CA unknow== | |||
C3/46CA: 20390F JSR $0F39 | C3/46CA: 20390F JSR $0F39 | ||
C3/46CD: 20DD48 JSR $48DD | C3/46CD: 20DD48 JSR $48DD | ||
Line 817: | Line 807: | ||
C3/46E3: 6426 STZ $26 (fade out) | C3/46E3: 6426 STZ $26 (fade out) | ||
C3/46E5: 60 RTS | C3/46E5: 60 RTS | ||
==C3/46E6 unknow== | |||
C3/46E6: A50B LDA $0B | C3/46E6: A50B LDA $0B | ||
C3/46E8: 8901 BIT #$01 | C3/46E8: 8901 BIT #$01 | ||
Line 826: | Line 816: | ||
C3/46F2: 8023 BRA $4717 | C3/46F2: 8023 BRA $4717 | ||
C3/46F4: 60 RTS | C3/46F4: 60 RTS | ||
==C3/46F5 unknow== | |||
C3/46F5: A0F348 LDY #$48F3 | C3/46F5: A0F348 LDY #$48F3 | ||
C3/46F8: 204103 JSR $0341 (draw controller assignment window) | C3/46F8: 204103 JSR $0341 (draw controller assignment window) | ||
Line 839: | Line 829: | ||
C3/4711: 206B48 JSR $486B | C3/4711: 206B48 JSR $486B | ||
C3/4714: 4C6E0E JMP $0E6E | C3/4714: 4C6E0E JMP $0E6E | ||
==C3/4717 unknow== | |||
C3/4717: 7B TDC | C3/4717: 7B TDC | ||
C3/4718: A54B LDA $4B | C3/4718: A54B LDA $4B | ||
Line 851: | Line 841: | ||
C3/4726: 7C2A47 JMP ($472A,X) | C3/4726: 7C2A47 JMP ($472A,X) | ||
C3/4729: 60 RTS | C3/4729: 60 RTS | ||
==C3/472A data: unknow== | |||
C3/472A: 3247 | C3/472A: 3247 | ||
C3/472C: 5147 | C3/472C: 5147 | ||
C3/472E: 7247 | C3/472E: 7247 | ||
C3/4730: 9347 | C3/4730: 9347 | ||
==C3/4732 unknow== | |||
C3/4732: AD4F1D LDA $1D4F | C3/4732: AD4F1D LDA $1D4F | ||
C3/4735: 2901 AND #$01 | C3/4735: 2901 AND #$01 | ||
Line 866: | Line 856: | ||
C3/4742: 8D4F1F STA $1D4F | C3/4742: 8D4F1F STA $1D4F | ||
C3/4745: 806D BRA $47B4 | C3/4745: 806D BRA $47B4 | ||
C3/4747: AD4F1D LDA $1D4F | C3/4747: AD4F1D LDA $1D4F | ||
C3/474A: 29FE AND #$FE | C3/474A: 29FE AND #$FE | ||
Line 945: | Line 935: | ||
C3/47ED: 20F902 JSR $02F9 (display "Cntlr2") | C3/47ED: 20F902 JSR $02F9 (display "Cntlr2") | ||
C3/47F0: 60 RTS | C3/47F0: 60 RTS | ||
==C3/47F1 unknow== | |||
C3/47F1: A56A LDA $6A | C3/47F1: A56A LDA $6A | ||
C3/47F3: 3038 BMI $482D | C3/47F3: 3038 BMI $482D | ||
Line 974: | Line 964: | ||
C3/482A: 20F902 JSR $02F9 (display "Cntlr2") | C3/482A: 20F902 JSR $02F9 (display "Cntlr2") | ||
C3/482D: 60 RTS | C3/482D: 60 RTS | ||
==C3/482E unknow== | |||
C3/482E: A56B LDA $6B | C3/482E: A56B LDA $6B | ||
C3/4830: 3038 BMI $486A | C3/4830: 3038 BMI $486A | ||
Line 1,003: | Line 993: | ||
C3/4867: 20F902 JSR $02F9 (display "Cntlr2") | C3/4867: 20F902 JSR $02F9 (display "Cntlr2") | ||
C3/486A: 60 RTS | C3/486A: 60 RTS | ||
==C3/48CB unknow== | |||
C3/486B: A56C LDA $6C | C3/486B: A56C LDA $6C | ||
C3/486D: 3038 BMI $48A7 | C3/486D: 3038 BMI $48A7 | ||
Line 1,032: | Line 1,022: | ||
C3/48A4: 20F902 JSR $02F9 (display "Cntlr2") | C3/48A4: 20F902 JSR $02F9 (display "Cntlr2") | ||
C3/48A7: 60 RTS | C3/48A7: 60 RTS | ||
==C3/48A8 unknow== | |||
C3/48A8: A901 LDA #$01 (from C3/46B0) | C3/48A8: A901 LDA #$01 (from C3/46B0) | ||
C3/48AA: 8D5043 STA $4350 | C3/48AA: 8D5043 STA $4350 | ||
Line 1,046: | Line 1,036: | ||
C3/48C4: 0443 TSB $43 (eventually enable channel 5 of HDMA) | C3/48C4: 0443 TSB $43 (eventually enable channel 5 of HDMA) | ||
C3/48C6: 60 RTS | C3/48C6: 60 RTS | ||
==C3/48C7 hdma transfer table== | |||
HDMA transfer table | HDMA transfer table | ||
C3/48C7: 27FFFF | C3/48C7: 27FFFF | ||
Line 1,054: | Line 1,044: | ||
C3/48D3: 10FFFF | C3/48D3: 10FFFF | ||
C3/48D6: 00 (end) | C3/48D6: 00 (end) | ||
==C3/48D7 unknow== | |||
C3/48D7: A0E648 LDY #$48E6 | C3/48D7: A0E648 LDY #$48E6 | ||
C3/48DA: 4CFE05 JMP $05FE | C3/48DA: 4CFE05 JMP $05FE | ||
Line 1,061: | Line 1,051: | ||
C3/48E0: A0EB48 LDY #$48EB | C3/48E0: A0EB48 LDY #$48EB | ||
C3/48E3: 4C4006 JMP $0640 | C3/48E3: 4C4006 JMP $0640 | ||
==C3/48E6 data: hotspot for controller assignment window== | |||
C3/48E6: 80 00 00 01 04 | C3/48E6: 80 00 00 01 04 | ||
==C3/48EB data: finger position for controller assignment window== | |||
C3/48EB: 507B (character 1) | C3/48EB: 507B (character 1) | ||
C3/48ED: 508B (character 2) | C3/48ED: 508B (character 2) | ||
C3/48EF: 509B (character 3) | C3/48EF: 509B (character 3) | ||
C3/48F1: 50AB (character 4) | C3/48F1: 50AB (character 4) | ||
==C3/48F3 data: window for controller assignments== | |||
C3/48F3: 0B5B1C0B | C3/48F3: 0B5B1C0B | ||
==C3/48F7 unknow== | |||
C3/48F7: 7B TDC (from C3/3E57) | C3/48F7: 7B TDC (from C3/3E57) | ||
C3/48F8: AA TAX | C3/48F8: AA TAX | ||
Line 1,081: | Line 1,068: | ||
C3/4900: D0F7 BNE $48F9 | C3/4900: D0F7 BNE $48F9 | ||
C3/4902: 60 RTS | C3/4902: 60 RTS | ||
==C3/4903 data: unknow== | |||
C3/4903: 0B49 (from C3/38E4) | C3/4903: 0B49 (from C3/38E4) | ||
C3/4905: 8A49 | C3/4905: 8A49 | ||
C3/4907: 1F49 | C3/4907: 1F49 | ||
C3/4909: 2649 | C3/4909: 2649 | ||
==C3/490B data: strings and related data== | |||
C3/490B: 8F3D82A8A7ADABA8A5A59EAB00 (position of and word "Controller") | C3/490B: 8F3D82A8A7ADABA8A5A59EAB00 (position of and word "Controller") | ||
C3/4918: B539969AA2AD00 (position of and word "Wait") | C3/4918: B539969AA2AD00 (position of and word "Wait") | ||
Line 1,185: | Line 1,171: | ||
C3/4B3E: A17D82A7ADA5ABB500 (position of and word "Cntlr1") | C3/4B3E: A17D82A7ADA5ABB500 (position of and word "Cntlr1") | ||
C3/4B47: B37D82A7ADA5ABB600 (position of and word "Cntlr2") | C3/4B47: B37D82A7ADA5ABB600 (position of and word "Cntlr2") | ||
==C3/4B50 unknow== | |||
C3/4B50: A06F4B LDY #$4B6F | C3/4B50: A06F4B LDY #$4B6F | ||
C3/4B53: 4CFE05 JMP $05FE | C3/4B53: 4CFE05 JMP $05FE | ||
==C3/4B56 unknow== | |||
C3/4B56: 202D07 JSR $072D | C3/4B56: 202D07 JSR $072D | ||
C3/4B59: A0744B LDY #$4B74 | C3/4B59: A0744B LDY #$4B74 | ||
Line 1,201: | Line 1,187: | ||
C3/4B6B: 9D3702 STA $0237,X | C3/4B6B: 9D3702 STA $0237,X | ||
C3/4B6E: 60 RTS | C3/4B6E: 60 RTS | ||
==C3/4B6F data: hotspot for skill menu== | |||
Hotspot data for skills menu | Hotspot data for skills menu | ||
C3/4B6F: 80 00 01 01 07 | C3/4B6F: 80 00 01 01 07 | ||
==C3/4B74 data: finger positions for skill menu== | |||
C3/4B74: 0014 ("Esper") | C3/4B74: 0014 ("Esper") | ||
C3/4B75: 0024 ("Magic") | C3/4B75: 0024 ("Magic") | ||
Line 1,213: | Line 1,198: | ||
C3/4B7E: 0074 ("Rage") | C3/4B7E: 0074 ("Rage") | ||
C3/4B80: 0084 ("Dance") | C3/4B80: 0084 ("Dance") | ||
==C3/4B82 unknow== | |||
C3/4B82: A0A94B LDY #$4BA9 | C3/4B82: A0A94B LDY #$4BA9 | ||
C3/4B85: 4CFE05 JMP $05FE | C3/4B85: 4CFE05 JMP $05FE | ||
Line 1,233: | Line 1,218: | ||
C3/4BA5: 9D4602 STA $0246,X | C3/4BA5: 9D4602 STA $0246,X | ||
C3/4BA8: 60 RTS | C3/4BA8: 60 RTS | ||
==C3/4bA9 data: hotspots== | |||
C3/4BA9: 01 00 00 02 08 | C3/4BA9: 01 00 00 02 08 | ||
==C3/4BAE data: finger positions== | |||
C3/4BAE: 0874 | C3/4BAE: 0874 | ||
C3/4BB0: 7074 | C3/4BB0: 7074 | ||
Line 1,255: | Line 1,238: | ||
C3/4BCA: 08C8 | C3/4BCA: 08C8 | ||
C3/4BCC: 70C8 | C3/4BCC: 70C8 | ||
==C3/4BCE unknow== | |||
C3/4BCE: A0DF4B LDY #$4BDF | C3/4BCE: A0DF4B LDY #$4BDF | ||
C3/4BD1: 4CFE05 JMP $05FE | C3/4BD1: 4CFE05 JMP $05FE | ||
Line 1,263: | Line 1,246: | ||
C3/4BDA: 84E7 STY $E7 | C3/4BDA: 84E7 STY $E7 | ||
C3/4BDC: 4C4006 JMP $0640 | C3/4BDC: 4C4006 JMP $0640 | ||
==C3/4BDF data: hotspots== | |||
C3/4BDF: 00 00 00 02 04 | C3/4BDF: 00 00 00 02 04 | ||
==C3/4BE4 data: finger positions== | |||
C3/4BE4: 0874 | C3/4BE4: 0874 | ||
C3/4BE6: 7874 | C3/4BE6: 7874 | ||
Line 1,277: | Line 1,258: | ||
C3/4BF0: 08BC | C3/4BF0: 08BC | ||
C3/4BF2: 78BC | C3/4BF2: 78BC | ||
==C3/4BF4 unknow== | |||
C3/4BF4: A0034C LDY #$4C03 | C3/4BF4: A0034C LDY #$4C03 | ||
C3/4BF7: 4CFE05 JMP $05FE | C3/4BF7: 4CFE05 JMP $05FE | ||
Line 1,284: | Line 1,265: | ||
C3/4BFD: A0084C LDY #$4C08 | C3/4BFD: A0084C LDY #$4C08 | ||
C3/4C00: 4C4806 JMP $0648 | C3/4C00: 4C4806 JMP $0648 | ||
==C3/4C03 data: hotspot== | |||
C3/4C03: 01 00 00 01 08 | C3/4C03: 01 00 00 01 08 | ||
==C3/4C08 data: finger positions== | |||
C3/4C08: 0874 | C3/4C08: 0874 | ||
C3/4C0A: 0880 | C3/4C0A: 0880 | ||
Line 1,297: | Line 1,276: | ||
C3/4C14: 08BC | C3/4C14: 08BC | ||
C3/4C16: 08C8 | C3/4C16: 08C8 | ||
==C3/4C18 unknow== | |||
C3/4C18: A0274C LDY #$4C27 | C3/4C18: A0274C LDY #$4C27 | ||
C3/4C1B: 4CFE05 JMP $05FE | C3/4C1B: 4CFE05 JMP $05FE | ||
Line 1,304: | Line 1,283: | ||
C3/4C21: A02C4C LDY #$4C2C | C3/4C21: A02C4C LDY #$4C2C | ||
C3/4C24: 4C4806 JMP $0648 | C3/4C24: 4C4806 JMP $0648 | ||
==C3/4C27 data: hotspots for esper menu== | |||
Hotspot data for Esper menu | Hotspot data for Esper menu | ||
C3/4C27: 01 00 00 02 08 | C3/4C27: 01 00 00 02 08 | ||
==C3/4C2C data: finger positions for esper menu== | |||
C3/4C2C: 0874 | C3/4C2C: 0874 | ||
C3/4C2E: 7874 | C3/4C2E: 7874 | ||
Line 1,326: | Line 1,304: | ||
C3/4C48: 08C8 | C3/4C48: 08C8 | ||
C3/4C4A: 78C8 | C3/4C4A: 78C8 | ||
==C3/4C4C unknow== | |||
C3/4C4C: A05B4C LDY #$4C5B | C3/4C4C: A05B4C LDY #$4C5B | ||
C3/4C4F: 4CFE05 JMP $05FE | C3/4C4F: 4CFE05 JMP $05FE | ||
Line 1,333: | Line 1,311: | ||
C3/4C55: A0604C LDY #$4C60 | C3/4C55: A0604C LDY #$4C60 | ||
C3/4C58: 4C4806 JMP $0648 | C3/4C58: 4C4806 JMP $0648 | ||
==C3/4C5B data: hotspots== | |||
C3/4C5B: 01 00 00 02 08 | C3/4C5B: 01 00 00 02 08 | ||
==C3/4C60 data: finger positions== | |||
C3/4C60: 1874 | C3/4C60: 1874 | ||
C3/4C62: 8874 | C3/4C62: 8874 | ||
Line 1,355: | Line 1,331: | ||
C3/4C7C: 18C8 | C3/4C7C: 18C8 | ||
C3/4C7E: 88C8 | C3/4C7E: 88C8 | ||
==C3/4C80 unknow== | |||
C3/4C80: 649E STZ $9E | C3/4C80: 649E STZ $9E | ||
C3/4C82: 20890F JSR $0F89 | C3/4C82: 20890F JSR $0F89 | ||
Line 1,417: | Line 1,393: | ||
C3/4D21: 20F902 JSR $02F9 (display the word "Dance") | C3/4D21: 20F902 JSR $02F9 (display the word "Dance") | ||
C3/4D24: 4C6E0E JMP $0E6E | C3/4D24: 4C6E0E JMP $0E6E | ||
==C3/4D27 unknow== | |||
C3/4D27: 20156A JSR $6A15 | C3/4D27: 20156A JSR $6A15 | ||
C3/4D2A: 20196A JSR $6A19 | C3/4D2A: 20196A JSR $6A19 | ||
Line 1,426: | Line 1,402: | ||
C3/4D37: 20BA69 JSR $69BA (display "LV," "HP," and "MP") | C3/4D37: 20BA69 JSR $69BA (display "LV," "HP," and "MP") | ||
C3/4D3A: 4CE54E JMP $4EE5 | C3/4D3A: 4CE54E JMP $4EE5 | ||
==C3/4D3D enable or disable aspects of skills menu== | |||
C3/4D3D: A924 LDA #$24 (from C3/1E89, C3/4CDB) | C3/4D3D: A924 LDA #$24 (from C3/1E89, C3/4CDB) | ||
C3/4D3F: A600 LDX $00 | C3/4D3F: A600 LDX $00 | ||
Line 1,458: | Line 1,433: | ||
C3/4D75: 8579 STA $79 (disable esper menu) | C3/4D75: 8579 STA $79 (disable esper menu) | ||
C3/4D77: 60 RTS | C3/4D77: 60 RTS | ||
==C3/4D78 data: commands related to skills menu== | |||
C3/4D78: 02 (magic) | C3/4D78: 02 (magic) | ||
C3/4D79: 02 (magic) | C3/4D79: 02 (magic) | ||
Line 1,467: | Line 1,441: | ||
C3/4D7D: 10 (rage) | C3/4D7D: 10 (rage) | ||
C3/4D7E: 13 (dance) | C3/4D7E: 13 (dance) | ||
==C3/4D7F unknow== | |||
C3/4D7F: 20156A JSR $6A15 | C3/4D7F: 20156A JSR $6A15 | ||
C3/4D82: 201C4F JSR $4F1C | C3/4D82: 201C4F JSR $4F1C | ||
Line 1,477: | Line 1,451: | ||
C3/4D92: 20AC61 JSR $61AC | C3/4D92: 20AC61 JSR $61AC | ||
C3/4D95: 4C4D0F JMP $0F4D | C3/4D95: 4C4D0F JMP $0F4D | ||
==C3/4D98 data: windows sizes== | |||
Data: window sizes, used by C3/0341 | Data: window sizes, used by C3/0341 | ||
C3/4D98: 8B580704 (window that holds Esper and Magic) | C3/4D98: 8B580704 (window that holds Esper and Magic) | ||
Line 1,488: | Line 1,462: | ||
C3/4DB4: 75610701 (window that holds MP cost and whatever skill user selected) | C3/4DB4: 75610701 (window that holds MP cost and whatever skill user selected) | ||
C3/4DB8: 8B601C03 (window that holds Esper and Spell descriptions) | C3/4DB8: 8B601C03 (window that holds Esper and Spell descriptions) | ||
==C3/4DBC unknow== | |||
C3/4DBC: A902 LDA #$02 (from C3/1B72, C3/2D2A) | C3/4DBC: A902 LDA #$02 (from C3/1B72, C3/2D2A) | ||
C3/4DBE: 8D5043 STA $4350 | C3/4DBE: 8D5043 STA $4350 | ||
Line 1,531: | Line 1,505: | ||
C3/4E23: 0443 TSB $43 (eventually enable channels 6 and 7 of HDMA) | C3/4E23: 0443 TSB $43 (eventually enable channels 6 and 7 of HDMA) | ||
C3/4E25: 60 RTS | C3/4E25: 60 RTS | ||
==C3/4E26 hdma transfer table== | |||
C3/4E26: 4F0200 (79 scanlines, 2 pixel shift) | C3/4E26: 4F0200 (79 scanlines, 2 pixel shift) | ||
C3/4E29: 400200 (64 scanlines, 2 pixel shift, 143 scanlines total) | C3/4E29: 400200 (64 scanlines, 2 pixel shift, 143 scanlines total) | ||
C3/4E2C: 00 (end) | C3/4E2C: 00 (end) | ||
==C3/4E2D unknow== | |||
C3/4E2D: A600 LDX $00 | C3/4E2D: A600 LDX $00 | ||
C3/4E2F: BF7F4EC3 LDA $C34E7F,X | C3/4E2F: BF7F4EC3 LDA $C34E7F,X | ||
Line 1,568: | Line 1,541: | ||
C3/4E6F: D0F2 BNE $4E63 | C3/4E6F: D0F2 BNE $4E63 | ||
C3/4E71: 60 RTS | C3/4E71: 60 RTS | ||
==C3/4E72 data: unknow== | |||
Data: copied to $7E9A09 from above | Data: copied to $7E9A09 from above | ||
C3/4E72: 270001 | C3/4E72: 270001 | ||
Line 1,575: | Line 1,548: | ||
C3/4E7B: 1E0001 | C3/4E7B: 1E0001 | ||
C3/4E7E: 00 (end) | C3/4E7E: 00 (end) | ||
==C3/4E7F data: unknow== | |||
Data: copied to $7E9849 from above | Data: copied to $7E9849 from above | ||
C3/4E7F: 3F0000 (63 scanlines, 0 pixel shift) | C3/4E7F: 3F0000 (63 scanlines, 0 pixel shift) | ||
Line 1,609: | Line 1,582: | ||
C3/4ED9: 1E20FF (30 scanlines, ?? pixel shift, 237 scanlines total) | C3/4ED9: 1E20FF (30 scanlines, ?? pixel shift, 237 scanlines total) | ||
C3/4EDC: 00 (end) | C3/4EDC: 00 (end) | ||
==C3/4EDD unknow== | |||
C3/4EDD: 7B TDC (from C3/4D49, C3/4EE5) | C3/4EDD: 7B TDC (from C3/4D49, C3/4EE5) | ||
C3/4EDE: A528 LDA $28 | C3/4EDE: A528 LDA $28 | ||
Line 1,616: | Line 1,589: | ||
C3/4EE2: B46D LDY $6D,X | C3/4EE2: B46D LDY $6D,X | ||
C3/4EE4: 60 RTS | C3/4EE4: 60 RTS | ||
==C3/4EE5 unknow== | |||
C3/4EE5: 20DD4E JSR $4EDD (from C3/4D3A) | C3/4EE5: 20DD4E JSR $4EDD (from C3/4D3A) | ||
C3/4EE8: 8467 STY $67 (the current character) | C3/4EE8: 8467 STY $67 (the current character) | ||
Line 1,634: | Line 1,607: | ||
C3/4F0C: A01D42 LDY #$421D | C3/4F0C: A01D42 LDY #$421D | ||
C3/4F0F: 4CE634 JMP $34E6 (display currently equipped esper name) | C3/4F0F: 4CE634 JMP $34E6 (display currently equipped esper name) | ||
==C3/4F12 data: positions for level, hp and mp== | |||
Data: positions for HP, MP, etc in skills menu | Data: positions for HP, MP, etc in skills menu | ||
C3/4F12: 3742 (level's position) | C3/4F12: 3742 (level's position) | ||
Line 1,641: | Line 1,614: | ||
C3/4F18: 3343 (current MP's position) | C3/4F18: 3343 (current MP's position) | ||
C3/4F1A: 3D43 (max MP's position) | C3/4F1A: 3D43 (max MP's position) | ||
==C3/4F1C unknow== | |||
C3/4F1C: A2899D LDX #$9D89 | C3/4F1C: A2899D LDX #$9D89 | ||
C3/4F1F: 8E8121 STX $2181 | C3/4F1F: 8E8121 STX $2181 | ||
Line 1,666: | Line 1,639: | ||
C3/4F47: FA PLX | C3/4F47: FA PLX | ||
C3/4F48: 60 RTS | C3/4F48: 60 RTS | ||
==C3/4F49 data: unknow== | |||
Data: Perhaps the order of how to arrange the spells? | Data: Perhaps the order of how to arrange the spells? | ||
C3/4F49: 2D 00 18 FF | C3/4F49: 2D 00 18 FF | ||
Line 1,674: | Line 1,647: | ||
C3/4F59: 18 2D 00 FF | C3/4F59: 18 2D 00 FF | ||
C3/4F5D: 18 00 2D FF | C3/4F5D: 18 00 2D FF | ||
==C3/4F61 unknow== | |||
C3/4F61: C900 CMP #$00 (is it Fire?) | C3/4F61: C900 CMP #$00 (is it Fire?) | ||
C3/4F63: F009 BEQ $4F6E | C3/4F63: F009 BEQ $4F6E | ||
Line 1,696: | Line 1,669: | ||
C3/4F84: D0F5 BNE $4F7B | C3/4F84: D0F5 BNE $4F7B | ||
C3/4F86: 60 RTS | C3/4F86: 60 RTS | ||
==C3/4F87 unknow== | |||
C3/4F87: 20F783 JSR $83F7 (from C3/4D85) | C3/4F87: 20F783 JSR $83F7 (from C3/4D85) | ||
C3/4F8A: A00800 LDY #$0008 | C3/4F8A: A00800 LDY #$0008 | ||
Line 1,710: | Line 1,683: | ||
C3/4F9B: D0F0 BNE $4F8D | C3/4F9B: D0F0 BNE $4F8D | ||
C3/4F9D: 60 RTS | C3/4F9D: 60 RTS | ||
==C3/4F9E unknow== | |||
C3/4F9E: 20B54F JSR $4FB5 | C3/4F9E: 20B54F JSR $4FB5 | ||
C3/4FA1: A20300 LDX #$0003 (X position of left half of spells) | C3/4FA1: A20300 LDX #$0003 (X position of left half of spells) | ||
Line 1,720: | Line 1,693: | ||
C3/4FB2: E6E5 INC $E5 | C3/4FB2: E6E5 INC $E5 | ||
C3/4FB4: 60 RTS | C3/4FB4: 60 RTS | ||
==C3/4FB5 unknow== | |||
C3/4FB5: A00700 LDY #$0007 (spell letter length) | C3/4FB5: A00700 LDY #$0007 (spell letter length) | ||
C3/4FB8: 84EB STY $EB | C3/4FB8: 84EB STY $EB | ||
Line 1,728: | Line 1,701: | ||
C3/4FC1: 85F1 STA $F1 | C3/4FC1: 85F1 STA $F1 | ||
C3/4FC3: 60 RTS | C3/4FC3: 60 RTS | ||
==C3/4FC4 draw a column of spells== | |||
C3/4FC4: A5E6 LDA $E6 | C3/4FC4: A5E6 LDA $E6 | ||
C3/4FC6: 1A INC A | C3/4FC6: 1A INC A |
Revision as of 15:23, 29 December 2013
C3/402F data: position of white magic
Positions of white values for magic order selection C3/402F: A541 C3/4031: A941 C3/4033: AD41 C3/4035: B141 C3/4037: B541 C3/4039: B941
C3/403B unknow
C3/403B: 7B TDC C3/403C: 8F959E7E STA $7E9E95 C3/4040: 7B TDC C3/4041: AD541D LDA $1D54 C3/4044: 2907 AND #$07 C3/4046: 0A ASL A C3/4047: 0A ASL A C3/4048: AA TAX C3/4049: A00300 LDY #$0003 C3/404C: 5A PHY C3/404D: DA PHX C3/404E: 205840 JSR $4058 C3/4051: FA PLX C3/4052: 7A PLY C3/4053: E8 INX C3/4054: 88 DEY C3/4055: D0F5 BNE $404C C3/4057: 60 RTS
C3/4058 display the magic order
C3/4058: 7B TDC (from C3/404E) C3/4059: BFD240C3 LDA $C340D2,X C3/405D: AA TAX C3/405E: BFD34AC3 LDA $C34AD3,X C3/4062: 8F8B9E7E STA $7E9E8B C3/4066: BFD44AC3 LDA $C34AD4,X C3/406A: 8F8C9E7E STA $7E9E8C C3/406E: BFD54AC3 LDA $C34AD5,X C3/4072: 8F8D9E7E STA $7E9E8D C3/4076: BFD64AC3 LDA $C34AD6,X C3/407A: 8F8E9E7E STA $7E9E8E C3/407E: BFD74AC3 LDA $C34AD7,X C3/4082: 8F8F9E7E STA $7E9E8F C3/4086: BFD84AC3 LDA $C34AD8,X C3/408A: 8F909E7E STA $7E9E90 C3/408E: BFD94AC3 LDA $C34AD9,X C3/4092: 8F919E7E STA $7E9E91 C3/4096: BFDA4AC3 LDA $C34ADA,X C3/409A: 8F929E7E STA $7E9E92 C3/409E: BFDB4AC3 LDA $C34ADB,X C3/40A2: 8F939E7E STA $7E9E93 C3/40A6: BFDC4AC3 LDA $C34ADC,X C3/40AA: 8F949E7E STA $7E9E94 C3/40AE: 7B TDC C3/40AF: 88 DEY C3/40B0: 98 TYA C3/40B1: 0A ASL A C3/40B2: AA TAX C3/40B3: C220 REP #$20 (16 bit memory/accum.) C3/40B5: BFCC40C3 LDA $C340CC,X C3/40B9: 8F899E7E STA $7E9E89 C3/40BD: E220 SEP #$20 (8 bit memory/accum.) C3/40BF: A0899E LDY #$9E89 C3/40C2: 84E7 STY $E7 C3/40C4: A97E LDA #$7E C3/40C6: 85E9 STA $E9 C3/40C8: 20FF02 JSR $02FF C3/40CB: 60 RTS
C3/40CC data: unknow
C3/40CC: 2943 C3/40CE: A942 C3/40D0: 2942
C3/40D2 data: changing magic order
Data: changing magic order in config screen 2 C3/40D2: 00 0A C3/40D4: 14 00 C3/40D6: 00 14 C3/40D8: 0A 00 C3/40DA: 0A 14 C3/409C: 00 00 C3/409E: 0A 00 C3/40E0: 14 00 C3/40E2: 14 00 C3/40E4: 0A 00 C3/40E6: 14 0A C3/40E8: 00 00
C3/40EA setting the window background
C3/40EA: A928 LDA #$28 C3/40EC: 8529 STA $29 (set text color to gray) C3/40EE: A0934A LDY #$4A93 C3/40F1: 20F902 JSR $02F9 (display "1 2 3 4 5 6 7 8") C3/40F4: A920 LDA #$20 C3/40F6: 8529 STA $29 (set text color to white) C3/40F8: 7B TDC C3/40F9: AD4E1D LDA $1D4E C3/40FC: 290F AND #$0F C3/40FE: 0A ASL A C3/40FF: AA TAX C3/4100: C220 REP #$20 (16 bit memory/accum.) C3/4102: BF2341C3 LDA $C34123,X C3/4106: 85F7 STA $F7 C3/4108: E220 SEP #$20 (8 bit memory/accum.) C3/410A: AD4E1D LDA $1D4E C3/410D: 290F AND #$0F C3/410F: 18 CLC C3/4110: 69B5 ADC #$B5 C3/4112: 85F9 STA $F9 C3/4114: 64FA STZ $FA C3/4116: A0F700 LDY #$00F7 C3/4119: 84E7 STY $E7 C3/411B: A900 LDA #$00 C3/411D: 85E9 STA $E9 C3/411F: 20FF02 JSR $02FF (this is normally for text, but this appears to be setting the background) C3/4122: 60 RTS
C3/4123 data: unknow
Positions of white values for window background selection C3/4123: A543 C3/4125: A943 C3/4127: AD43 C3/4129: B143 C3/412B: B543 C3/412D: B943 C3/413F: BD43 C3/4131: C143
C3/4133 unknow
C3/4133: A93C LDA #$3C C3/4134: 8529 STA $29 (set text color to...) C3/4137: A0C94A LDY #$4AC9 C3/413A: 20F902 JSR $02F9 (display box that holds font palette tweaker?) C3/413D: A09D41 LDY #$419D C3/4140: 20F902 JSR $02F9 (display " ") C3/4143: 7B TDC C3/4144: AD541D LDA $1D54 C3/4147: 2938 AND #$38 C3/4149: F026 BEQ $4171 C3/414B: 4A LSR A C3/414C: 4A LSR A C3/414D: AA TAX C3/414E: A920 LDA #$20 C3/4150: 8529 STA $29 (set text color to white) C3/4152: C220 REP #$20 (16 bit memory/accum.) C3/4154: BF8D41C3 LDA $C3418D,X C3/4158: 85E7 STA $E7 C3/415A: E220 SEP #$20 (8 bit memory/accum.) C3/415C: A9C3 LDA #$C3 C3/415E: 85E9 STA $E9 C3/4160: 20FF02 JSR $02FF C3/4163: A928 LDA #$28 C3/4165: 8529 STA $29 (set text color to gray) C3/4167: 207F41 JSR $417F C3/416A: A920 LDA #$20 C3/416C: 8529 STA $29 (set text color to white) C3/416E: 4C8641 JMP $4186
C3/4171 unknow
C3/4171: A920 LDA #$20 C3/4173: 8529 STA $29 (set text color to white) C3/4175: 207F41 JSR $417F C3/4178: A928 LDA #$28 C3/417A: 8529 STA $29 C3/417C: 4C8641 JMP $4186
C3/417F unknow
C3/417F: A0B34A LDY #$4AB3 C3/4182: 20F902 JSR $02F9 (display "Font") C3/4185: 60 RTS
C3/4186 unknow
C3/4186: A0BA4A LDY #$4ABA C3/4189: 20F902 JSR $02F9 (display "Window") C3/418C: 60 RTS
C3/418D data: unknow
C3/418D: 9D41 (position of " ") C3/418F: A741 (position of character $D4) C3/4191: AB41 (position of character $D4) C3/4193: AF41 (position of character $D4) C3/4195: B341 (position of character $D4) C3/4197: B741 (position of character $D4) C3/4199: BB41 (position of character $D4) C3/419B: BF41 (position of character $D4) C3/419D: F544FFFFFFFFFFFFFF00 (" ") C3/41A7: F544D400 C3/41AB: F744D400 C3/41AF: F944D400 C3/41B3: FB44D400 C3/41B7: FD44D400 C3/41BB: FF44D400 C3/41BF: 0145D400
C3/41C3 unknow
C3/41C3: 205039 JSR $3950 C3/41C6: 7B TDC C3/41C7: AD4E1D LDA $1D4E C3/41CA: 290F AND #$0F C3/41CC: 8D0242 STA $4202 C3/41CF: A90E LDA #$0E C3/41D1: 8D0342 STA $4203 C3/41D4: AD541D LDA $1D54 C3/41D7: 2938 AND #$38 C3/41D9: F00C BEQ $41E7 C3/41DB: 4A LSR A C3/41DC: 4A LSR A C3/41DD: 18 CLC C3/41DE: 6D1642 ADC $4216 C3/41E1: AA TAX C3/41E2: BC551D LDY $1D55,X C3/41E5: 8003 BRA $41EA C3/41E7: AC551D LDY $1D55 C3/41EA: 849A STY $9A C3/41EC: 20FE41 JSR $41FE C3/41EF: 206342 JSR $4263 C3/41F2: 20FE41 JSR $41FE C3/41F5: 205042 JSR $4250 C3/41F8: 20FE41 JSR $41FE C3/41FB: 4C3D42 JMP $423D (BRA would work here)
C3/41FE unknow
C3/41FE: A49A LDY $9A C3/4200: 84E7 STY $E7 C3/4202: A5E7 LDA $E7 C3/4204: 291F AND #$1F C3/4206: 85E2 STA $E2 C3/4208: A5E8 LDA $E8 C3/420A: 297C AND #$7C C3/420C: 4A LSR A C3/420D: 4A LSR A C3/420E: 85E0 STA $E0 C3/4210: C220 REP #$20 (16 bit memory/accum.) C3/4212: A5E7 LDA $E7 C3/4214: 29E003 AND #$03E0 C3/4217: 4A LSR A C3/4218: 4A LSR A C3/4219: 4A LSR A C3/421A: 4A LSR A C3/421B: 4A LSR A C3/421C: E220 SEP #$20 (8 bit memory/accum.) C3/421E: 85E1 STA $E1 C3/4220: 60 RTS
C3/4221 unknow
C3/4221: A5E0 LDA $E0 C3/4223: 0A ASL A C3/4224: 0A ASL A C3/4225: 85E8 STA $E8 C3/4227: A5E2 LDA $E2 C3/4229: 85E7 STA $E7 C3/422B: 7B TDC C3/422C: A5E1 LDA $E1 C3/422E: C220 REP #$20 (16 bit memory/accum.) C3/4230: 0A ASL A C3/4231: 0A ASL A C3/4232: 0A ASL A C3/4233: 0A ASL A C3/4234: 0A ASL A C3/4235: 05E7 ORA $E7 C3/4237: 8D9A00 STA $009A C3/423A: E220 SEP #$20 (8 bit memory/accum.) C3/423C: 60 RTS
C3/423D unknow
C3/423D: C220 REP #$20 (16 bit memory/accum.) C3/423F: A92F45 LDA #$452F C3/4242: 8F899E7E STA $7E9E89 C3/4246: E220 SEP #$20 (8 bit memory/accum.) C3/4248: A5E2 LDA $E2 C3/424A: A22945 LDX #$4529 C3/424D: 4C7642 JMP $4276
C3/4250 unknow
C3/4250: C220 REP #$20 (16 bit memory/accum.) C3/4252: A9AF45 LDA #$45AF C3/4255: 8F899E7E STA $7E9E89 C3/4259: E220 SEP #$20 (8 bit memory/accum.) C3/425B: A5E1 LDA $E1 C3/425D: A2A945 LDX #$45A9 C3/4260: 4C7642 JMP $4276
C3/4263 unknow
C3/4263: C220 REP #$20 (16 bit memory/accum.) C3/4265: A92F46 LDA #$462F C3/4268: 8F899E7E STA $7E9E89 C3/426C: E220 SEP #$20 (8 bit memory/accum.) C3/426E: A5E0 LDA $E0 C3/4270: A22946 LDX #$4629 C3/4273: 4C7642 JMP $4276
C3/4276 unknow
C3/4276: 48 PHA C3/4277: 48 PHA C3/4278: DA PHX C3/4279: 20E004 JSR $04E0 C3/427C: FA PLX C3/427D: A920 LDA #$20 C3/427F: 8529 STA $29 C3/4281: 20B604 JSR $04B6 C3/4284: A28B9E LDX #$9E8B C3/4287: 8E8121 STX $2181 C3/428A: 68 PLA C3/428B: EB XBA C3/428C: A500 LDA $00 C3/428E: EB XBA C3/428F: 4A LSR A C3/4290: 4A LSR A C3/4291: AA TAX C3/4292: F008 BEQ $429C C3/4294: A9F8 LDA #$F8 (looks like the full bar character in font) C3/4296: 8D8021 STA $2180 C3/4299: CA DEX C3/429A: D0F8 BNE $4294 C3/429C: 68 PLA C3/429D: 2903 AND #$03 C3/429F: AA TAX C3/42A0: BFBE42C3 LDA $C342BE,X C3/42A4: 8D8021 STA $2180 C3/42A7: 9C8021 STZ $2180 (end this string) C3/42AA: A930 LDA #$30 C3/42AC: 8529 STA $29 C3/42AE: 4CB142 JMP $42B1 (JMP $7FD9 fool!)
C3/42B1 unknow
C3/42B1: A0899E LDY #$9E89 (JMP $7FD9 fool!) C3/42B4: 84E7 STY $E7 C3/42B6: A97E LDA #$7E C3/42B8: 85E9 STA $E9 C3/42BA: 20FF02 JSR $02FF C3/42BD: 60 RTS
C3/42BE data: unknow
C3/42BE: F0F2 C3/42C0: F4F6
C3/42C2 unknow
C3/42C2: 202F35 JSR $352F (fade out screen, disable H/DMA) C3/42C3: 202C44 JSR $442C C3/42C7: 206F46 JSR $466F C3/42CA: 20B645 JSR $45B6 (get our finger positioning data) C3/42CE: 20BF45 JSR $45BF (get our hotspot data) C3/42D1: 20B007 JSR $07B0 (finger OAM initiating) C3/42D4: A901 LDA #$01 C3/42D6: 8526 STA $26 C3/42D8: A948 LDA #$48 C3/42DA: 8527 STA $27 C3/42DC: 4C4135 JMP $3541
C3/42DF unknow
C3/42DF: 20BC45 JSR $45BC C3/42E2: A508 LDA $08 C3/42E4: 8980 BIT #$80 (did you press A?) C3/42E6: F028 BEQ $4310 (branch if not, BPL...) C3/42E8: 7B TDC C3/42E9: A54B LDA $4B C3/42EB: C904 CMP #$04 C3/42ED: F037 BEQ $4326 C3/42EF: AA TAX C3/42F0: B569 LDA $69,X C3/42F2: 3016 BMI $430A C3/42F4: 20B20E JSR $0EB2 (makes the click sound) C3/42F7: A54E LDA $4E C3/42F9: 855E STA $5E C3/42FB: A54B LDA $4B C3/42FD: 8564 STA $64 C3/42FF: 20D445 JSR $45D4 C3/4302: 20DA45 JSR $45DA C3/4305: A962 LDA #$62 C3/4307: 8526 STA $26 C3/4309: 60 RTS
C3/430A unknow
C3/430A: 20C00E JSR $0EC0 (makes the buzzer sound) C3/430D: 205D30 JSR $305D (mosaic effect) C3/4310: A509 LDA $09 C3/4312: 8910 BIT #$10 (did you press start?) C3/4314: D006 BNE $431C (branch if so) C3/4316: A509 LDA $09 (A already holds the contents of $09) C3/4318: 8980 BIT #$80 (did you press B?) C3/431A: F009 BEQ $4325 (branch if not, BPL...) C3/431C: 20A90E JSR $0EA9 C3/431F: A90D LDA #$0D C3/4321: 8527 STA $27 (queue up to execute at C3/1C7D) C3/4323: 6426 STZ $26 (fade out) C3/4325: 60 RTS
C3/4326 unknow
C3/4326: 20B20E JSR $0EB2 (makes the click sound) C3/4329: 20390F JSR $0F39 C3/432C: 20D043 JSR $43D0 C3/432F: 20D843 JSR $43D8 C3/4332: 20E143 JSR $43E1 C3/4335: 4CEA43 JMP $43EA
C3/4338 unknow
C3/4338: 200246 JSR $4602 C3/433B: A508 LDA $08 C3/433D: 8980 BIT #$80 (did you press A?) C3/433F: F018 BEQ $4359 (branch if not, BPL...) C3/4341: 20B20E JSR $0EB2 (makes the click sound) C3/4344: A54B LDA $4B C3/4346: 8528 STA $28 C3/4348: 20062F JSR $2F06 C3/434B: A963 LDA #$63 C3/434D: 8526 STA $26 (execute at C3/4376) C3/434F: 7B TDC C3/4350: A564 LDA $64 C3/4352: 0A ASL A C3/4353: AA TAX C3/4354: B46D LDY $6D,X C3/4356: 8467 STY $67 C3/4358: 60 RTS
C3/4359 unknow
C3/4359: A509 LDA $09 C3/435B: 8980 BIT #$80 (did you press B?) C3/435D: F016 BEQ $4375 (branch if not, BPL...) C3/435F: 20A90E JSR $0EA9 C3/4362: 20B645 JSR $45B6 C3/4365: A55E LDA $5E C3/4367: 854E STA $4E C3/4369: 20BF45 JSR $45BF C3/436C: A54E LDA $4E C3/436E: 855E STA $5E C3/4370: A948 LDA #$48 C3/4372: 8526 STA $26 C3/4374: 60 RTS C3/4375: 60 RTS
C3/4376 unknow
C3/4376: 200246 JSR $4602 C3/4379: A508 LDA $08 C3/437B: 8980 BIT #$80 (did you press A?) C3/437D: F03E BEQ $43BD (branch if not, BPL...) C3/437F: 20B20E JSR $0EB2 (makes the click sound) C3/4382: 7B TDC C3/4383: A54B LDA $4B C3/4385: C221 REP #$21 C3/4387: 6567 ADC $67 C3/4389: A8 TAY C3/438A: 5A PHY C3/438B: E220 SEP #$20 (8 bit memory/accum.) C3/438D: B91600 LDA $0016,Y C3/4390: 85E0 STA $E0 C3/4392: 7B TDC C3/4393: A528 LDA $28 C3/4395: C221 REP #$21 C3/4397: 6567 ADC $67 C3/4399: A8 TAY C3/439A: E220 SEP #$20 (8 bit memory/accum.) C3/439C: B91600 LDA $0016,Y C3/439F: 85E1 STA $E1 C3/43A1: A5E0 LDA $E0 C3/43A3: 991600 STA $0016,Y C3/43A6: 7A PLY C3/43A7: A5E1 LDA $E1 C3/43A9: 991600 STA $0016,Y C3/43AC: 20B444 JSR $44B4 C3/43AF: 20ED44 JSR $44ED C3/43B2: 202645 JSR $4526 C3/43B5: 205F45 JSR $455F C3/43B8: 20390F JSR $0F39 C3/43BB: 8009 BRA $43C6 C3/43BD: A509 LDA $09 C3/43BF: 8980 BIT #$80 (did you press B?) C3/43C1: F00C BEQ $43CF (branch if not, BPL...) C3/43C3: 20A90E JSR $0EA9 C3/43C6: A905 LDA #$05 C3/43C8: 1446 TRB $46 C3/43CA: A962 LDA #$62 C3/43CC: 8526 STA $26 (execute at C3/4338) C3/43CE: 60 RTS C3/43CF: 60 RTS
C3/43D0 unknow
C3/43D0: A600 LDX $00 C3/43D2: 20F343 JSR $43F3 C3/43D5: 4CB444 JMP $44B4 C3/43D8: A20200 LDX #$0002 C3/43DB: 20F343 JSR $43F3 C3/43DE: 4CED44 JMP $44ED C3/43E1: A20400 LDX #$0004 C3/43E4: 20F343 JSR $43F3 C3/43E7: 4C2645 JMP $4526 C3/43EA: A20600 LDX #$0006 C3/43ED: 20F343 JSR $43F3 C3/43F0: 4C5F45 JMP $455F
C3/43F3 unknow
C3/43F3: B46D LDY $6D,X C3/43F5: F033 BEQ $442A C3/43F7: 7B TDC C3/43F8: B90000 LDA $0000,Y (character ID) C3/43FB: C90C CMP #$0C (is it Gogo?) C3/43FD: F02C BEQ $442B (branch if so) C3/43FF: 8D0242 STA $4202 C3/4402: A916 LDA #$16 C3/4404: 8D0342 STA $4203 C3/4407: EA NOP C3/4408: EA NOP C3/4409: EA NOP C3/440A: EA NOP C3/440B: AE1642 LDX $4216 C3/440E: BFA27CED LDA $ED7CA2,X (Load startup command 1) C3/4412: 991600 STA $0016,Y (Store startup command 1) C3/4415: BFA37CED LDA $ED7CA3,X C3/4419: 991700 STA $0017,Y C3/441C: BFA47CED LDA $ED7CA4,X C3/4420: 991800 STA $0018,Y C3/4423: BFA57CED LDA $ED7CA5,X C3/4427: 991900 STA $0019,Y C3/442A: 60 RTS C3/442B: 60 RTS
"Short" command list rearranging menu C3/442C: 20286A JSR $6A28 C3/442F: A09044 LDY #$4490 C3/4432: 204103 JSR $0341 (draw character 1 command window) C3/4435: A09444 LDY #$4494 C3/4438: 204103 JSR $0341 (draw character 2 command window) C3/443B: A09844 LDY #$4498 C3/443E: 204103 JSR $0341 (draw character 3 command window) C3/4441: A09C44 LDY #$449C C3/4444: 204103 JSR $0341 (draw character 4 command window) C3/4447: A0A044 LDY #$44A0 C3/444A: 204103 JSR $0341 (draw character 1 name window) C3/444D: A0A444 LDY #$44A4 C3/4450: 204103 JSR $0341 (draw character 2 name window) C3/4453: A0A844 LDY #$44A8 C3/4456: 204103 JSR $0341 (draw character 3 name window) C3/4459: A0AC44 LDY #$44AC C3/445C: 204103 JSR $0341 (draw character 4 name window) C3/445F: A0B044 LDY #$44B0 C3/4462: 204103 JSR $0341 (draw window that holds "Arrange") C3/4465: 20520E JSR $0E52 C3/4468: 20156A JSR $6A15 C3/446B: 20196A JSR $6A19 C3/446E: 203C6A JSR $6A3C C3/4471: 20416A JSR $6A41 C3/4474: A930 LDA #$30 C3/4476: 8529 STA $29 (set text color to blue) C3/4478: A0F14A LDY #$4AF1 C3/447B: 20F902 JSR $02F9 (display "Arrange") C3/447E: 20B444 JSR $44B4 C3/4481: 20ED44 JSR $44ED C3/4484: 202645 JSR $4526 C3/4487: 205F45 JSR $455F C3/448A: 20280E JSR $0E28 C3/448D: 4C6E0E JMP $0E6E
C3/4490 data: windows
C3/4490: 1F591204 (window that holds character 1 commands) C3/4494: 9F5A1204 (window that holds character 2 commands) C3/4498: 1F5C1204 (window that holds character 3 commands) C3/449C: 9F5D1204 (window that holds character 4 commands) C3/44A0: 0B590804 (window that holds character 1 name) C3/44A4: 8B5A0804 (window that holds character 2 name) C3/44A8: 0B5C0804 (window that holds character 3 name) C3/44AC: 8B5D0804 (window that holds character 4 name) C3/44B0: 8B580801 (window that holds "Arrange")
C3/44B4 unknow
C3/44B4: A569 LDA $69 C3/44B6: 3034 BMI $44EC C3/44B8: 220600C2 JSL $C20006 (equipment check function) C3/44BC: A66D LDX $6D C3/44BE: 8667 STX $67 C3/44C0: A930 LDA #$30 C3/44C2: 8529 STA $29 C3/44C4: A08F79 LDY #$798F C3/44C7: 20CF34 JSR $34CF C3/44CA: A920 LDA #$20 C3/44CC: 8529 STA $29 (set text color to white) C3/44CE: A00F7A LDY #$7A0F C3/44D1: 20E534 JSR $34E5 C3/44D4: A0AD79 LDY #$79AD C3/44D7: 209845 JSR $4598 C3/44DA: A0237A LDY #$7A23 C3/44DD: 209E45 JSR $459E C3/44E0: A0377A LDY #$7A37 C3/44E3: 20A545 JSR $45A5 C3/44E6: A0AD7A LDY #$7AAD C3/44E9: 20AD45 JSR $45AD (JMP fool!) C3/44EC: 60 RTS
C3/44ED unknow
C3/44ED: A56A LDA $6A C3/44EF: 3034 BMI $4525 C3/44F1: 220600C2 JSL $C20006 (equipment check function) C3/44F5: A66F LDX $6F C3/44F7: 8667 STX $67 C3/44F9: A930 LDA #$30 C3/44FB: 8529 STA $29 C3/44FD: A04F7B LDY #$7B4F C3/4500: 20CF34 JSR $34CF C3/4503: A920 LDA #$20 C3/4505: 8529 STA $29 (set text color to white) C3/4507: A0CF7B LDY #$7BCF C3/450A: 20E534 JSR $34E5 C3/450D: A06D7B LDY #$7B6D C3/4510: 209845 JSR $4598 C3/4513: A0E37B LDY #$7BE3 C3/4516: 209E45 JSR $459E C3/4519: A0F77B LDY #$7BF7 C3/451C: 20A545 JSR $45A5 C3/451F: A06D7C LDY #$7C6D C3/4522: 20AD45 JSR $45AD (JMP fool!) C3/4525: 60 RTS
C3/4526 unknow
C3/4526: A56B LDA $6B C3/4528: 3034 BMI $455E C3/452A: 220600C2 JSL $C20006 (equipment check function) C3/452E: A671 LDX $71 C3/4530: 8667 STX $67 C3/4532: A930 LDA #$30 C3/4534: 8529 STA $29 C3/4536: A00F7D LDY #$7D0F C3/4539: 20CF34 JSR $34CF C3/453C: A920 LDA #$20 C3/453E: 8529 STA $29 (set text color to white) C3/4540: A08F7D LDY #$7D8F C3/4543: 20E534 JSR $34E5 C3/4546: A02D7D LDY #$7D2D C3/4549: 209845 JSR $4598 C3/454C: A0A37D LDY #$7DA3 C3/454F: 209E45 JSR $459E C3/4552: A0B77D LDY #$7DB7 C3/4555: 20A545 JSR $45A5 C3/4558: A02D7E LDY #$7E2D C3/455B: 20AD45 JSR $45AD (JMP fool!) C3/455E: 60 RTS
C3/455F unknow
C3/455F: A56C LDA $6C C3/4561: 3034 BMI $4597 C3/4563: 220600C2 JSL $C20006 (equipment check function) C3/4567: A673 LDX $73 C3/4569: 8667 STX $67 C3/456B: A930 LDA #$30 C3/456D: 8529 STA $29 C3/456F: A0CF7E LDY #$7ECF C3/4572: 20CF34 JSR $34CF C3/4575: A920 LDA #$20 C3/4576: 8529 STA $29 (set text color to white) C3/4579: A04F7F LDY #$7F4F C3/457C: 20E534 JSR $34E5 C3/457F: A0ED7E LDY #$7EED C3/4582: 209845 JSR $4598 C3/4585: A0637F LDY #$7F63 C3/4588: 209E45 JSR $459E C3/458B: A0777F LDY #$7F77 C3/458E: 20A545 JSR $45A5 C3/4591: A0ED7F LDY #$7FED C3/4594: 20AD45 JSR $45AD (JMP fool!) C3/4597: 60 RTS C3/4598: 201935 JSR $3519 C3/459B: 4CE15E JMP $5EE1 C3/459E: 201935 JSR $3519 C3/45A1: C8 INY C3/45A2: 4CE15E JMP $5EE1 C3/45A5: 201935 JSR $3519 C3/45A8: C8 INY C3/45A9: C8 INY C3/45AA: 4CE15E JMP $5EE1 C3/45AD: 201935 JSR $3519 C3/45B0: C8 INY C3/45B1: C8 INY C3/45B2: C8 INY C3/45B3: 4CE15E JMP $5EE1 C3/45B6: A0C545 LDY #$45C5 C3/45B9: 4CFE05 JMP $05FE C3/45BC: 202D07 JSR $072D C3/45BF: A0CA45 LDY #$45CA C3/45C2: 4C4006 JMP $0640
C3/45C5 data: hotspot for arrange screen
C3/45C5: 80 00 00 01 05
C3/45CA data: finger positions for arrange screen
C3/45CA: 0820 (X/Y position for character 1 name) C3/45CC: 0850 (X/Y position for character 2 name) C3/45CE: 0880 (X/Y position for character 3 name) C3/45D0: 08B0 (X/Y position for character 4 name) C3/45D2: 080C (X/Y position for Arrange)
C3/45D4 unknow
C3/45D4: A04A46 LDY #$464A C3/45D7: 4CFE05 JMP $05FE C3/45DA: 7B TDC C3/45DB: A564 LDA $64 C3/45DD: 0A ASL A C3/45DE: AA TAX C3/45DF: 7CE245 JMP ($45E2,X)
C3/45E2 data: unknow
C3/45E2: EA45 (character 1 commands) C3/45E4: F045 (character 2 commands) C3/45E6: F645 (character 3 commands) C3/45E8: FC45 (character 4 commands)
C3/45EA unknow
C3/45EA: A04F46 LDY #$464F C3/45ED: 4C4006 JMP $0640 C3/45F0: A05746 LDY #$4657 C3/45F3: 4C4006 JMP $0640 C3/45F6: A05F46 LDY #$465F C3/45F9: 4C4006 JMP $0640 C3/45FC: A06746 LDY #$4667 C3/45FF: 4C4006 JMP $0640
C3/4602 unknow
C3/4602: 201546 JSR $4615 (from C3/4338) C3/4605: 7B TDC C3/4606: A564 LDA $64 C3/4608: 0A ASL A C3/4609: AA TAX C3/460A: 7C0D46 JMP ($460D,X)
C3/460D data: unknow
C3/460D: EA45 C3/460F: F045 C3/4611: F645 C3/4613: FC45
C3/4615 unknow
C3/4615: 644D STZ $4D C3/4617: A50B LDA $0B C3/4619: 8908 BIT #$08 C3/461B: F005 BEQ $4622 C3/461D: 644E STZ $4E C3/461F: 20A30E JSR $0EA3 C3/4622: A50B LDA $0B C3/4624: 8904 ` BIT #$04 C3/4626: F007 BEQ $462F C3/4628: A903 LDA #$03 C3/462A: 854E STA $4E C3/462C: 20A30E JSR $0EA3 C3/462F: A50B LDA $0B C3/4631: 8902 BIT #$02 C3/4633: F007 BEQ $463C C3/4635: A901 LDA #$01 C3/4637: 854E STA $4E C3/4639: 20A30E JSR $0EA3 C3/463C: A50B LDA $0B C3/463E: 8901 BIT #$01 C3/4640: F007 BEQ $4649 C3/4642: A902 LDA #$02 C3/4644: 854E STA $4E C3/4646: 20A30E JSR $0EA3 (JMP fool!) C3/4649: 60 RTS
C3/464A data: hotspot
C3/464A: 81 00 00 01 04
C3/464F data: finger positions, char 1
Finger positioning data, configuring character 1 commands C3/464F: 8020 C3/4651: 582C C3/4653: A82C C3/4655: 8038
C3/4657 data: finger positions, char 2 unknow
Finger positioning data, configuring character 2 commands C3/4657: 8050 C3/4659: 585C C3/465A: A85C C3/465E: 8068
C3/465F data: finger positions, char 3
Finger positioning data, configuring character 3 commands C3/465F: 8080 C3/4661: 588C C3/4662: A88C C3/4665: 8098
C3/4667 data: finger positions, char 4
Finger positioning data, configuring character 4 commands C3/4667: 80B0 C3/4669: 58BC C3/466A: A8BC C3/466D: 80C8
C3/466F unknow
C3/466F: A902 LDA #$02 (from C3/42C7) C3/4671: 8D5043 STA $4350 C3/4674: A912 LDA #$12 C3/4676: 8D5143 STA $4351 (register address becomes $2112) C3/4679: A08E46 LDY #$468E C3/467C: 8C5243 STY $4352 (set address) C3/467F: A9C3 LDA #$C3 C3/4681: 8D5443 STA $4354 (set bank, C3/468E) C3/4684: A9C3 LDA #$C3 C3/4686: 8D5743 STA $4357 C3/4689: A920 LDA #$20 C3/468B: 0443 TSB $43 (eventually enable channel 5 of HDMA) C3/468D: 60 RTS
C3/4682 hdma transfer table
C3/468E: 1F0000 (31 scanlines, 0 pixel shift) C3/4691: 0C0400 (12 scanlines, 4 pixel shift) C3/4694: 0C0800 (12 scanlines, 8 pixel shift) C3/4697: 240C00 (36 scanlines, 12 pixel shift) C3/469A: 0C1000 (12 scanlines, 16 pixel shift) C3/469D: 241400 (36 scanlines, 20 pixel shift) C3/46A0: 0C1800 (12 scanlines, 24 pixel shift) C3/46A3: 241C00 (36 scanlines, 28 pixel shift) C3/46A6: 0C2000 (12 scanlines, 32 pixel shift) C3/46A9: 242400 (36 scanlines, 36 pixel shift, 235 scanlines total) C3/46AC: 00 (end)
C3/46AD unknow
C3/46AD: 202F35 JSR $352F (fade out screen, disable H/DMA) C3/46B0: 20F546 JSR $46F5 C3/46B3: 20A848 JSR $48A8 C3/46B6: 20D748 JSR $48D7 C3/46B9: 20E048 JSR $48E0 C3/46BC: 20B007 JSR $07B0 (finger OAM initiating) C3/46BF: A901 LDA #$01 C3/46C1: 8526 STA $26 (transition) C3/46C3: A94C LDA #$4C C3/46C5: 8527 STA $27 (queue up to execute at C3/46CA) C3/46C7: 4C4135 JMP $3541
C3/46CA unknow
C3/46CA: 20390F JSR $0F39 C3/46CD: 20DD48 JSR $48DD C3/46D0: A509 LDA $09 C3/46D2: 8910 BIT #$10 (did you press start?) C3/46D4: D006 BNE $46DC (branch if so) C3/46D6: A509 LDA $09 (A already holds the contents of $09) C3/46D8: 8980 BIT #$80 (did you press B?) C3/46DA: F00A BEQ $46E6 (branch if not, BPL...) C3/46DC: 20A90E JSR $0EA9 C3/46DF: A90D LDA #$0D C3/46E1: 8527 STA $27 (queue up to execute at C3/1C7D) C3/46E3: 6426 STZ $26 (fade out) C3/46E5: 60 RTS
C3/46E6 unknow
C3/46E6: A50B LDA $0B C3/46E8: 8901 BIT #$01 C3/46EA: D006 BNE $46F2 C3/46EC: A50B LDA $0B C3/46EE: 8902 BIT #$02 C3/46F0: F002 BEQ $46F4 C3/46F2: 8023 BRA $4717 C3/46F4: 60 RTS
C3/46F5 unknow
C3/46F5: A0F348 LDY #$48F3 C3/46F8: 204103 JSR $0341 (draw controller assignment window) C3/46FB: 20520E JSR $0E52 C3/46FE: A930 LDA #$30 C3/4701: 8529 STA $29 C3/4704: A0FB4A LDY #$4AFB C3/4705: 20F902 JSR $02F9 (display "Controller") C3/4708: 20B447 JSR $47B4 C3/470B: 20F147 JSR $47F1 C3/470E: 202E48 JSR $482E C3/4711: 206B48 JSR $486B C3/4714: 4C6E0E JMP $0E6E
C3/4717 unknow
C3/4717: 7B TDC C3/4718: A54B LDA $4B C3/471A: AA TAX C3/471B: B569 LDA $69,X C3/471D: 300A BMI $4729 C3/471F: 20A30E JSR $0EA3 C3/4722: A54B LDA $4B C3/4724: 0A ASL A C3/4725: AA TAX C3/4726: 7C2A47 JMP ($472A,X) C3/4729: 60 RTS
C3/472A data: unknow
C3/472A: 3247 C3/472C: 5147 C3/472E: 7247 C3/4730: 9347
C3/4732 unknow
C3/4732: AD4F1D LDA $1D4F C3/4735: 2901 AND #$01 C3/4737: A50B LDA $0B C3/4739: 8901 BIT #$01 C3/473B: F00A BEQ $4747 C3/473D: A901 LDA #$01 C3/473F: 0D4F1D ORA $1D4F C3/4742: 8D4F1F STA $1D4F C3/4745: 806D BRA $47B4
C3/4747: AD4F1D LDA $1D4F C3/474A: 29FE AND #$FE C3/474C: 8D4F1D STA $1D4F C3/474F: 8063 BRA $47B5 C3/4751: AD4F1D LDA $1D4F C3/4754: 2902 AND #$02 C3/4756: A50B LDA $0B C3/4758: 8901 BIT #$01 C3/475A: F00B BEQ $4767 C3/475C: A902 LDA #$02 C3/475E: 0D4F1D ORA $1D4F C3/4761: 8D4F1D STA $1D4F C3/4764: 4CF147 JMP $47F1 C3/4767: AD4F1D LDA $1D4F C3/4768: 29FD AND #$FD C3/476C: 8D4F1D STA $1D4F C3/476F: 4CF147 JMP $47F1 C3/4772: AD4F1D LDA $1D4F C3/4775: 2904 AND #$04 C3/4778: A50B LDA $0B C3/4779: 8901 BIT #$01 C3/477B: F00B BEQ $4788 C3/477D: A904 LDA #$04 C3/477F: 0D4F1D ORA $1D4F C3/4782: 8D4F1D STA $1D4F C3/4785: 4C2E48 JMP $482E C3/4788: AD4F1D LDA $1D4F C3/478B: 29FB AND #$FB C3/478D: 8D4F1D STA $1D4F C3/4790: 4C2E48 JMP $482E C3/4793: AD4F1D LDA $1D4F C3/4796: 2908 AND #$08 C3/4798: A50B LDA $0B C3/479A: 8901 BIT #$01 C3/479C: F00B BEQ $47A9 C3/479E: A908 LDA #$08 C3/47A0: 0D4F1D ORA $1D4F C3/47A3: 8D4F1D STA $1D4F C3/47A6: 4C6B48 JMP $486B C3/47A9: AD4F1D LDA $1D4F C3/47AC: 29F7 AND #$F7 C3/47AE: 8D4F1D STA $1D4F C3/47B1: 4C6B48 JMP $486B C3/47B4: A569 LDA $69 C3/47B6: 3038 BMI $47F0 C3/47B8: A66D LDX $6D C3/47BA: 8667 STX $67 C3/47BC: A920 LDA #$20 C3/47BE: 8529 STA $29 (set text color to white) C3/47C0: A0CF7B LDY #$7BCF C3/47C3: 20CF34 JSR $34CF (display character name 1) C3/47C6: AD4F1D LDA $1D4F C3/47C9: 2901 AND #$01 C3/47CB: F009 BEQ $47D6 C3/47CD: A924 LDA #$24 (set text color to gray) C3/47CF: 20DF47 JSR $47DF C3/47D2: A920 LDA #$20 (set text color to white) C3/47D4: 8012 BRA $47E8 C3/47D6: A920 LDA #$20 (set text color to white) C3/47D8: 20DF47 JSR $47DF C3/47DB: A924 LDA #$24 (set text color to gray) C3/47DD: 8009 BRA $47E8 C3/47DF: 8529 STA $29 C3/47E1: A0084B LDY #$4B08 C3/47E4: 20F902 JSR $02F9 (display "Cntlr1") C3/47E7: 60 RTS C3/47E8: 8529 STA $29 C3/47EA: A0114B LDY #$4B11 C3/47ED: 20F902 JSR $02F9 (display "Cntlr2") C3/47F0: 60 RTS
C3/47F1 unknow
C3/47F1: A56A LDA $6A C3/47F3: 3038 BMI $482D C3/47F5: A66F LDX $6F C3/47F7: 8667 STX $67 C3/47F9: A920 LDA #$20 C3/47FB: 8529 STA $29 (set text color to white) C3/47FD: A04F7C LDY #$7C4F C3/4800: 20CF34 JSR $34CF (display character name 2) C3/4803: AD4F1D LDA $1D4F C3/4806: 2902 AND #$02 C3/4808: F009 BEQ $4813 C3/480A: A924 LDA #$24 (set text color to gray) C3/480C: 201C48 TRB $A948 C3/480F: A920 LDA #$20 (set text color to white) C3/4811: 8012 BRA $4825 C3/4813: A920 LDA #$20 (set text color to white) C3/4815: 201C48 TRB $A948 C3/4818: A924 LDA #$24 (set text color to gray) C3/481A: 8009 BRA $4825 C3/481C: 8529 STA $29 C3/481E: A01A4B LDY #$4B1A C3/4821: 20F902 JSR $02F9 (display "Cntlr1") C3/4824: 60 RTS C3/4825: 8529 STA $29 C3/4827: A0234B LDY #$4B23 C3/482A: 20F902 JSR $02F9 (display "Cntlr2") C3/482D: 60 RTS
C3/482E unknow
C3/482E: A56B LDA $6B C3/4830: 3038 BMI $486A C3/4832: A671 LDX $71 C3/4834: 8667 STX $67 C3/4836: A920 LDA #$20 C3/4838: 8529 STA $29 (set text color to white) C3/483A: A0CF7C LDY #$7CCF C3/483D: 20CF34 JSR $34CF (display character name 3?) C3/4840: AD4F1D LDA $1D4F C3/4843: 2904 AND #$04 C3/4845: F009 BEQ $4850 C3/4847: A924 LDA #$24 (set text color to gray) C3/4849: 205948 JSR $4859 C3/484C: A920 LDA #$20 (set text color to white) C3/484E: 8012 BRA $4862 C3/4850: A920 LDA #$20 (set text color to white) C3/4852: 205948 JSR $4859 C3/4855: A924 LDA #$24 (set text color to gray) C3/4857: 8009 BRA $4862 C3/4859: 8529 STA $29 C3/485B: A02C4B LDY #$4B2C C3/485E: 20F902 JSR $02F9 (display "Cntlr1") C3/4861: 60 RTS C3/4862: 8529 STA $29 C3/4864: A0354B LDY #$4B35 C3/4867: 20F902 JSR $02F9 (display "Cntlr2") C3/486A: 60 RTS
C3/48CB unknow
C3/486B: A56C LDA $6C C3/486D: 3038 BMI $48A7 C3/486F: A673 LDX $73 C3/4871: 8667 STX $67 C3/4873: A920 LDA #$20 C3/4875: 8529 STA $29 (set text color to white) C3/4877: A04F7D LDY #$7D4F C3/487A: 20CF34 JSR $34CF (display character name 4?) C3/487D: AD4F1D LDA $1D4F C3/4880: 2908 AND #$08 C3/4882: F009 BEQ $488D C3/4884: A924 LDA #$24 (set text color to gray) C3/4886: 209648 JSR $4896 C3/4889: A920 LDA #$20 (set text color to white) C3/488B: 8012 BRA $489F C3/488D: A920 LDA #$20 (set text color to white) C3/488F: 209648 JSR $4896 C3/4892: A924 LDA #$24 (set text color to gray) C3/4894: 8009 BRA $489F C3/4896: 8529 STA $29 C3/4898: A03E4B LDY #$4B3E C3/489B: 20F902 JSR $02F9 (display "Cntlr1") C3/489E: 60 RTS C3/489F: 8529 STA $29 C3/48A1: A0474B LDY #$4B47 C3/48A4: 20F902 JSR $02F9 (display "Cntlr2") C3/48A7: 60 RTS
C3/48A8 unknow
C3/48A8: A901 LDA #$01 (from C3/46B0) C3/48AA: 8D5043 STA $4350 C3/48AD: A928 LDA #$28 C3/48AF: 8D5143 STA $4351 (register address becomes $2128) C3/48B2: A0C748 LDY #$48C7 C3/48B5: 8C5243 STY $4352 (set address) C3/48B8: A9C3 LDA #$C3 C3/48BA: 8D5443 STA $4354 (set bank, C3/48C7) C3/48BD: A9C3 LDA #$C3 C3/48BF: 8D5743 STA $4357 C3/48C2: A920 LDA #$20 C3/48C4: 0443 TSB $43 (eventually enable channel 5 of HDMA) C3/48C6: 60 RTS
C3/48C7 hdma transfer table
HDMA transfer table C3/48C7: 27FFFF C3/48CA: 3008F7 C3/48CD: 68FFFF C3/48D0: 1008F7 C3/48D3: 10FFFF C3/48D6: 00 (end)
C3/48D7 unknow
C3/48D7: A0E648 LDY #$48E6 C3/48DA: 4CFE05 JMP $05FE C3/48DD: 202D07 JSR $072D C3/48E0: A0EB48 LDY #$48EB C3/48E3: 4C4006 JMP $0640
C3/48E6 data: hotspot for controller assignment window
C3/48E6: 80 00 00 01 04
C3/48EB data: finger position for controller assignment window
C3/48EB: 507B (character 1) C3/48ED: 508B (character 2) C3/48EF: 509B (character 3) C3/48F1: 50AB (character 4)
C3/48F3 data: window for controller assignments
C3/48F3: 0B5B1C0B
C3/48F7 unknow
C3/48F7: 7B TDC (from C3/3E57) C3/48F8: AA TAX C3/48F9: 9D2B02 STA $022B,X C3/48FC: E8 INX C3/48FD: E01F00 CPX #$001F C3/4900: D0F7 BNE $48F9 C3/4902: 60 RTS
C3/4903 data: unknow
C3/4903: 0B49 (from C3/38E4) C3/4905: 8A49 C3/4907: 1F49 C3/4909: 2649
C3/490B: 8F3D82A8A7ADABA8A5A59EAB00 (position of and word "Controller") C3/4918: B539969AA2AD00 (position of and word "Wait") C3/491F: 653A859AACAD00 (position of and word "Fast") C3/4926: 753A92A5A8B000 (position of and word "Slow") C3/492D: 353B92A1A8ABAD00 (position of and word "Short") C3/4935: A53B8EA700 (position of and word "On") C3/493A: B53B8E9F9F00 (position of and word "Off") C3/4940: 253C92AD9EAB9EA800 (position of and word "Stereo") C3/4949: 353C8CA8A7A800 (position of and word "Mono") C3/4950: B53C8C9EA6A8ABB200 (position of and word "Memory") C3/4959: 253D8EA9ADA2A6AEA600 (position of and word "Optimum") C3/4963: B53D8CAEA5ADA2A9A59E00 (position of and word "Multiple") C3/496E: 253AB5FFB6FFB7FFB8FFB9FFBA00 (position of and word "1 2 3 4 5 6") C3/497C: A53AB5FFB6FFB7FFB8FFB9FFBA00 (position of and word "1 2 3 4 5 6") C3/498A: 8F3C82AEABACA8AB00 (position of and word "Cursor") Data C3/4993: AA49 (from C3/38D7) C3/4995: B549 C3/4997: C149 C3/4999: CD49 C3/499B: D749 C3/499D: DF49 C3/499F: E749 C3/49A1: F97882A8A79FA2A000 (position of and word "Config") C3/49AA: 8F39819AADC58CA89D9E00 (position of and word "Bat. Mode") C3/49B5: 0F3A819AADC592A99E9E9D00 (position of and word "Bat. Speed") C3/49C1: 8F3A8CACA0C592A99E9E9D00 (position of and word "Msg. Speed") C3/49CD: 0F3B82A69DC5929EAD00 (position of and word "Cmd. Set") C3/49D7: 8F3B869AAEA09E00 (position of and word "Gauge") C3/49DF: 0F3C92A8AEA79D00 (position of and word "Sound") C3/49E7: 0F3D919E9EAAAEA2A900 (position of and word "Reequip") C3/49F1: A539809CADA2AF9E00 (position of and word "Active") C3/49FA: 253B96A2A79DA8B000 (position of and word "Window") C3/4A03: A53C919EAC9EAD00 (position of and word "Reset") C3/4A0B: 353D84A6A9ADB200 (position of and word "Empty") C3/4A13: A53D92A2A7A0A59E00 (position of and word "Single") Data C3/4A1C: 344A (from C3/3919) C3/4A1E: 404A C3/4A20: 494A C3/4A22: 604A C3/4A24: 6D4A C3/4A27: 7A4A C3/4A28: 874A C3/4A2A: 8B4A C3/4A2C: 8F4A C3/4A2E: 514A C3/4A30: 564A C3/4A32: 5B4A C3/4A34: 8F418C9AA0C58EAB9D9EAB00 (position of and word "Mag. Order") C3/4A40: 8F4396A2A79DA8B000 (position of and word "Window") C3/4A49: 0F4482A8A5A8AB00 (position of and word "Color") C3/4A51: 254280D300 (position of and word "A..") C3/4A56: A54281D300 (position of and word "B..") C3/4A5B: 254382D300 (position of and word "C..") C3/4A60: 2D45F9F0F0F0F0F0F0F0F0FA00 C3/4A6D: AD45F9F0F0F0F0F0F0F0F0FA00 C3/4A7A: 2D46F9F0F0F0F0F0F0F0F0FA00 C3/4A87: 25459100 (position of and word "R") C3/4A8B: A5458600 (position of and word "G") C3/4A8F: 25468100 (position of and word "B") C3/4A93: A543B5FFB6FFB7FFB8FFB9FFBAFFBBFFBC00 (position of and word "1 2 3 4 5 6 7 8") C3/4AA5: A541B5FFB6FFB7FFB8FFB9FFBA00 (position of and word "1 2 3 4 5 6") C3/4AB3: 254485A8A7AD00 (position of and word "Font") C3/4ABA: 354496A2A79DA8B000 (position of and word "Window") C3/4AC3: FB43 C3/4AC5: A547 C3/4AC7: 7900 C3/4AC9: B544 C3/4ACB: 0102 C3/4ACD: 0304 C3/4ACF: 0506 C3/4AD1: 0700 Data, 10 bytes wide C3/4AD3: E8 87 9E 9A A5 A2 A7 A0 FF FF (Healing ) C3/4ADD: E9 80 AD AD 9A 9C A4 FF FF FF (Attack ) C3/4AE7: EA 84 9F 9F 9E 9C AD FF FF FF (Effect ) C3/4AF1: CF7880ABAB9AA7A09E00 (position of and word "Arrange") C3/4AFB: 4D7B82A8A7ADABA8A5A59EAB00 (position of and word "Controller") C3/4B08: 217C82A7ADA5ABB500 (position of and word "Cntlr1") C3/4B11: 337C82A7ADA5ABB600 (position of and word "Cntlr2") C3/4B1A: A17C82A7ADA5ABB500 (position of and word "Cntlr1") C3/4B23: B37C82A7ADA5ABB600 (position of and word "Cntlr2") C3/4B2C: 217D82A7ADA5ABB500 (position of and word "Cntlr1") C3/4B35: 337D82A7ADA5ABB600 (position of and word "Cntlr2") C3/4B3E: A17D82A7ADA5ABB500 (position of and word "Cntlr1") C3/4B47: B37D82A7ADA5ABB600 (position of and word "Cntlr2")
C3/4B50 unknow
C3/4B50: A06F4B LDY #$4B6F C3/4B53: 4CFE05 JMP $05FE
C3/4B56 unknow
C3/4B56: 202D07 JSR $072D C3/4B59: A0744B LDY #$4B74 C3/4B5C: 204006 JSR $0640 C3/4B5F: 7B TDC C3/4B60: A528 LDA $28 C3/4B62: 0A ASL A C3/4B63: AA TAX C3/4B64: A54D LDA $4D C3/4B66: 9D3602 STA $0236,X C3/4B69: A54E LDA $4E C3/4B6B: 9D3702 STA $0237,X C3/4B6E: 60 RTS
Hotspot data for skills menu C3/4B6F: 80 00 01 01 07
C3/4B74: 0014 ("Esper") C3/4B75: 0024 ("Magic") C3/4B77: 0044 ("SwdTech") C3/4B79: 0054 ("Blitz") C3/4B7C: 0064 ("Lore") C3/4B7E: 0074 ("Rage") C3/4B80: 0084 ("Dance")
C3/4B82 unknow
C3/4B82: A0A94B LDY #$4BA9 C3/4B85: 4CFE05 JMP $05FE C3/4B88: 20C781 JSR $81C7 C3/4B8B: A0AE4B LDY #$4BAE C3/4B8E: 204806 JSR $0648 C3/4B91: 7B TDC C3/4B92: A528 LDA $28 C3/4B94: 0A ASL A C3/4B95: AA TAX C3/4B96: A54F LDA $4F C3/4B98: 9D3E02 STA $023E,X C3/4B9B: A550 LDA $50 C3/4B9D: 9D3F02 STA $023F,X C3/4BA0: A528 LDA $28 C3/4BA2: AA TAX C3/4BA3: A54A LDA $4A C3/4BA5: 9D4602 STA $0246,X C3/4BA8: 60 RTS
C3/4bA9 data: hotspots
C3/4BA9: 01 00 00 02 08
C3/4BAE data: finger positions
C3/4BAE: 0874 C3/4BB0: 7074 C3/4BB2: 0880 C3/4BB4: 7080 C3/4BB6: 088C C3/4BB8: 708C C3/4BBA: 0898 C3/4BBC: 7098 C3/4BBE: 08A4 C3/4BC0: 70A4 C3/4BC2: 08B0 C3/4BC4: 70B0 C3/4BC6: 08BC C3/4BC8: 70BC C3/4BCA: 08C8 C3/4BCC: 70C8
C3/4BCE unknow
C3/4BCE: A0DF4B LDY #$4BDF C3/4BD1: 4CFE05 JMP $05FE C3/4BD4: 202D07 JSR $072D C3/4BD7: A0E44B LDY #$4BE4 C3/4BDA: 84E7 STY $E7 C3/4BDC: 4C4006 JMP $0640
C3/4BDF data: hotspots
C3/4BDF: 00 00 00 02 04
C3/4BE4 data: finger positions
C3/4BE4: 0874 C3/4BE6: 7874 C3/4BE8: 088C C3/4BEA: 788C C3/4BEC: 08A4 C3/4BEE: 78A4 C3/4BF0: 08BC C3/4BF2: 78BC
C3/4BF4 unknow
C3/4BF4: A0034C LDY #$4C03 C3/4BF7: 4CFE05 JMP $05FE C3/4BFA: 20C781 JSR $81C7 C3/4BFD: A0084C LDY #$4C08 C3/4C00: 4C4806 JMP $0648
C3/4C03 data: hotspot
C3/4C03: 01 00 00 01 08
C3/4C08 data: finger positions
C3/4C08: 0874 C3/4C0A: 0880 C3/4C0C: 088C C3/4C0E: 0898 C3/4C10: 08A4 C3/4C12: 08B0 C3/4C14: 08BC C3/4C16: 08C8
C3/4C18 unknow
C3/4C18: A0274C LDY #$4C27 C3/4C1B: 4CFE05 JMP $05FE C3/4C1E: 20C781 JSR $81C7 C3/4C21: A02C4C LDY #$4C2C C3/4C24: 4C4806 JMP $0648
Hotspot data for Esper menu C3/4C27: 01 00 00 02 08
C3/4C2C: 0874 C3/4C2E: 7874 C3/4C30: 0880 C3/4C32: 7880 C3/4C34: 088C C3/4C36: 788C C3/4C38: 0898 C3/4C3A: 7898 C3/4C3C: 08A4 C3/4C3E: 78A4 C3/4C40: 08B0 C3/4C42: 78B0 C3/4C44: 08BC C3/4C46: 78BC C3/4C48: 08C8 C3/4C4A: 78C8
C3/4C4C unknow
C3/4C4C: A05B4C LDY #$4C5B C3/4C4F: 4CFE05 JMP $05FE C3/4C52: 20C781 JSR $81C7 C3/4C55: A0604C LDY #$4C60 C3/4C58: 4C4806 JMP $0648
C3/4C5B data: hotspots
C3/4C5B: 01 00 00 02 08
C3/4C60 data: finger positions
C3/4C60: 1874 C3/4C62: 8874 C3/4C64: 1880 C3/4C66: 8880 C3/4C68: 188C C3/4C6A: 888C C3/4C6C: 1898 C3/4C6E: 8898 C3/4C70: 18A4 C3/4C72: 88A4 C3/4C74: 18B0 C3/4C76: 88B0 C3/4C78: 18BC C3/4C7A: 88BC C3/4C7C: 18C8 C3/4C7E: 88C8
C3/4C80 unknow
C3/4C80: 649E STZ $9E C3/4C82: 20890F JSR $0F89 C3/4C85: A901 LDA #$01 C3/4C87: 8D0721 STA $2107 C3/4C8A: 20286A JSR $6A28 C3/4C8D: 202D6A JSR $6A2D C3/4C90: A0A44D LDY #$4DA4 C3/4C93: 204103 JSR $0341 (draw blank lower window, holds spells, rages, etc) C3/4C96: A0A04D LDY #$4DA0 C3/4C99: 204103 JSR $0341 (draw window that holds Level, HP, MP) C3/4C9C: A0A84D LDY #$4DA8 C3/4C9F: 204103 JSR $0341 (draw top window that holds spell/esper descriptions) C3/4CA2: A09C4D LDY #$4D9C C3/4CA5: 204103 JSR $0341 (draw window that holds Rage, SwdTech, Blitz, Dance, and Lore) C3/4CA8: A0984D LDY #$4D98 C3/4CAB: 204103 JSR $0341 (draw window that holds Esper and Magic) C3/4CAE: A0B04D LDY #$4DB0 C3/4CB1: 204103 JSR $0341 (draw window that holds spells, rages, etc) C3/4CB4: A0AC4D LDY #$4DAC C3/4CB7: 204103 JSR $0341 C3/4CBA: A0B84D LDY #$4DB8 C3/4CBD: 204103 JSR $0341 C3/4CC0: A0B44D LDY #$4DB4 C3/4CC3: 204103 JSR $0341 C3/4CC6: 20520E JSR $0E52 C3/4CC9: 20274D JSR $4D27 C3/4CCC: 20280E JSR $0E28 C3/4CCF: 203C6A JSR $6A3C C3/4CD2: 20416A JSR $6A41 C3/4CD5: 20466A JSR $6A46 C3/4CD8: 2062A6 JSR $A662 C3/4CDB: 203D4D JSR $4D3D (enable and disable skills) C3/4CDE: A579 LDA $79 C3/4CE0: 8529 STA $29 (set text color) C3/4CE2: A0485C LDY #$5C48 C3/4CE5: 20F902 JSR $02F9 (display the word "Espers") C3/4CE8: A57A LDA $7A C3/4CEA: 8529 STA $29 (set text color) C3/4CEC: A0515C LDY #$5C51 C3/4CEF: 20F902 JSR $02F9 (display the word "Magic") C3/4CF2: A57B LDA $7B C3/4CF4: 8529 STA $29 (set text color) C3/4CF6: A0595C LDY #$5C59 C3/4CF9: 20F902 JSR $02F9 (display the word "SwdTech") C3/4CFC: A57C LDA $7C C3/4CFE: 8529 STA $29 (set text color) C3/4D00: A0635C LDY #$5C63 C3/4D03: 20F902 JSR $02F9 (display the word "Blitz") C3/4D06: A57D LDA $7D C3/4D08: 8529 STA $29 (set text color) C3/4D0A: A06B5C LDY #$5C6B C3/4D0D: 20F902 JSR $02F9 (display the word "Lore") C3/4D10: A57E LDA $7E C3/4D12: 8529 STA $29 (set text color) C3/4D14: A0725C LDY #$5C72 C3/4D17: 20F902 JSR $02F9 (display the word "Rage") C3/4D1A: A57F LDA $7F C3/4D1C: 8529 STA $29 (set text color) C3/4D1E: A0795C LDY #$5C79 C3/4D21: 20F902 JSR $02F9 (display the word "Dance") C3/4D24: 4C6E0E JMP $0E6E
C3/4D27 unknow
C3/4D27: 20156A JSR $6A15 C3/4D2A: 20196A JSR $6A19 C3/4D2D: A924 LDA #$85 C3/4D2F: 8529 STA $29 C3/4D31: A2815C LDX #$5C81 C3/4D34: A00600 LDY #$0006 C3/4D37: 20BA69 JSR $69BA (display "LV," "HP," and "MP") C3/4D3A: 4CE54E JMP $4EE5
C3/4D3D: A924 LDA #$24 (from C3/1E89, C3/4CDB) C3/4D3F: A600 LDX $00 C3/4D40: 9579 STA $79,X C3/4D42: E8 INX C3/4D43: E00700 CPX #$0007 C3/4D47: D0F8 BNE $4D40 (disable all commands for that character) C3/4D49: 20DD4E JSR $4EDD C3/4D4C: 5A PHY C3/4D4D: A20400 LDX #$0004 C3/4D50: DA PHX C3/4D51: A600 LDX $00 C3/4D53: B91600 LDA $0016,Y C3/4D56: DF784DC3 CMP $C34D78,X C3/4D5A: D004 BNE $4D5F (branch if skill does not match one on list) C3/4D5C: A920 LDA #$20 C3/4D5E: 9579 STA $79,X (enable the skill for that character) C3/4D5F: E8 INX C3/4D60: E00700 CPX #$0007 C3/4D64: D0ED BNE $4D53 (branch if haven't checked all 7 skills?) C3/4D66: C8 INY C3/4D67: FA PLX C3/4D68: CA DEX C3/4D69: D0E5 BNE $4D50 C3/4D6B: 7A PLY C3/4D6C: B90000 LDA $0000,Y C3/4D6F: C90C CMP #$0C C3/4D71: D004 BNE $4D77 (Branch if it's not Gogo) C3/4D73: A924 LDA #$24 C3/4D75: 8579 STA $79 (disable esper menu) C3/4D77: 60 RTS
C3/4D78: 02 (magic) C3/4D79: 02 (magic) C3/4D7A: 07 (SwdTech) C3/4D7B: 0A (blitz) C3/4D7C: 0C (lore) C3/4D7D: 10 (rage) C3/4D7E: 13 (dance)
C3/4D7F unknow
C3/4D7F: 20156A JSR $6A15 C3/4D82: 201C4F JSR $4F1C C3/4D85: 20874F JSR $4F87 C3/4D88: A92C LDA #$24 C3/4D8A: 8529 STA $29 C3/4D8C: A0875C LDY #$5C87 C3/4D8F: 20F902 JSR $02F9 (display "MP...") C3/4D92: 20AC61 JSR $61AC C3/4D95: 4C4D0F JMP $0F4D
C3/4D98 data: windows sizes
Data: window sizes, used by C3/0341 C3/4D98: 8B580704 (window that holds Esper and Magic) C3/4D9C: 0B5A070A (window that holds SwdTech, Blitz, Rage, Lore, and Dance) C3/4DA0: CB591C05 C3/4DA4: 8B5B1C0C C3/4DA8: 8B581C03 C3/4DAC: CB611C05 C3/4DB0: 8B631C0C C3/4DB4: 75610701 (window that holds MP cost and whatever skill user selected) C3/4DB8: 8B601C03 (window that holds Esper and Spell descriptions)
C3/4DBC unknow
C3/4DBC: A902 LDA #$02 (from C3/1B72, C3/2D2A) C3/4DBE: 8D5043 STA $4350 C3/4DC1: A912 LDA #$12 C3/4DC3: 8D5143 STA $4351 (register address becomes $2112) C3/4DC6: A0264E LDY #$4E26 C3/4DC9: 8C5243 STY $4352 (set address) C3/4DCC: A9C3 LDA #$C3 C3/4DCE: 8D5443 STA $4354 (set bank, C3/4E26) C3/4DD1: A9C3 LDA #$C3 C3/4DD3: 8D5743 STA $4357 C3/4DD6: A920 LDA #$20 C3/4DD8: 0443 TSB $43 (eventually enable channel 5 of HDMA) C3/4DDA: 202D4E JSR $4E2D C3/4DDD: A600 LDX $00 C3/4DDF: BF724EC3 LDA $C34E72,X C3/4DE3: 9F099A7E STA $7E9A09,X C3/4DE7: E8 INX C3/4DE8: E00D00 CPX #$000D C3/4DEB: D0F2 BNE $4DDF C3/4DED: A902 LDA #$02 C3/4DEF: 8D6043 STA $4360 C3/4DF2: A90D LDA #$0D C3/4DF4: 8D6143 STA $4361 (register address becomes $210D) C3/4DF7: A0099A LDY #$9A09 C3/4DFA: 8C6243 STA $4362 (set address) C3/4DFD: A97E LDA #$7E C3/4DFF: 8D6443 STA $4364 (set bank, 7E/9A09) C3/4E02: A97E LDA #$7E C3/4E04: 8D6743 STA $4367 C3/4E07: A902 LDA #$02 C3/4E09: 8D7043 STA $4370 C3/4E0C: A90E LDA #$0E C3/4E0E: 8D7143 STA $4371 (register address becomes $210E) C3/4E11: A04998 LDY #$9849 C3/4E14: 8C7243 STY $4372 (set address) C3/4E17: A97E LDA #$7E C3/4E19: 8D7443 STA $4374 (set bank, 7E/9849) C3/4E1C: A97E LDA #$7E C3/4E1E: 8D7743 STA $4377 C3/4E21: A9C0 LDA #$C0 C3/4E23: 0443 TSB $43 (eventually enable channels 6 and 7 of HDMA) C3/4E25: 60 RTS
C3/4E26 hdma transfer table
C3/4E26: 4F0200 (79 scanlines, 2 pixel shift) C3/4E29: 400200 (64 scanlines, 2 pixel shift, 143 scanlines total) C3/4E2C: 00 (end)
C3/4E2D unknow
C3/4E2D: A600 LDX $00 C3/4E2F: BF7F4EC3 LDA $C34E7F,X C3/4E33: 9F49987E STA $7E9849,X C3/4E37: E8 INX C3/4E38: E01200 CPX #$0012 C3/4E3B: D0F2 BNE $4E2F C3/4E3D: BF7F4EC3 LDA $C34E7F,X C3/4E41: 9F49987E STA $7E9849,X C3/4E45: E8 INX C3/4E46: 7B TDC C3/4E47: A549 LDA $49 C3/4E49: 0A ASL A C3/4E4A: 0A ASL A C3/4E4B: 0A ASL A C3/4E4C: 0A ASL A C3/4E4D: 29FF AND #$FF C3/4E4F: C220 REP #$20 C3/4E51: 18 CLC C3/4E52: 7F7F4EC3 ADC $C34E7F,X C3/4E56: 9F49987E STA $7E9849,X C3/4E5A: E220 SEP #$20 (8 bit memory/accum.) C3/4E5C: E8 INX C3/4E5D: E8 INX C3/4E5E: E05A00 CPX #$005A C3/4E61: D0DA BNE $4E3D C3/4E63: BF7F4EC3 LDA $C34E7F,X C3/4E67: 9F49987E STA $7E9849,X C3/4E6B: E8 INX C3/4E6C: E05E00 CPX #$005E C3/4E6F: D0F2 BNE $4E63 C3/4E71: 60 RTS
C3/4E72 data: unknow
Data: copied to $7E9A09 from above C3/4E72: 270001 C3/4E75: 480001 C3/4E78: 600000 C3/4E7B: 1E0001 C3/4E7E: 00 (end)
C3/4E7F data: unknow
Data: copied to $7E9849 from above C3/4E7F: 3F0000 (63 scanlines, 0 pixel shift) C3/4E82: 0C0400 (12 scanlines, 4 pixel shift) C3/4E85: 0C0800 (12 scanlines, 8 pixel shift) C3/4E88: 0A0C00 (10 scanlines, 12 pixel shift) C3/4E8B: 010C00 (1 scanline, 12 pixel shift) C3/4E8E: 0D0800 (13 scanlines, 8 pixel shift) C3/4E91: 0494FF (4 scanlines, ?? pixel shift) C3/4E94: 0494FF (4 scanlines, ?? pixel shift) C3/4E97: 0494FF (4 scanlines, ?? pixel shift) C3/4E9A: 0498FF (4 scanlines, ?? pixel shift) C3/4E9D: 0498FF (4 scanlines, ?? pixel shift) C3/4EA0: 0498FF (4 scanlines, ?? pixel shift) C3/4EA3: 049CFF (4 scanlines, ?? pixel shift) C3/4EA6: 049CFF (4 scanlines, ?? pixel shift) C3/4EA9: 049CFF (4 scanlines, ?? pixel shift) C3/4EAC: 04A0FF (4 scanlines, ?? pixel shift) C3/4EAF: 04A0FF (4 scanlines, ?? pixel shift) C3/4EB2: 04A0FF (4 scanlines, ?? pixel shift) C3/4EB5: 04A4FF (4 scanlines, ?? pixel shift) C3/4EB8: 04A4FF (4 scanlines, ?? pixel shift) C3/4EBB: 04A4FF (4 scanlines, ?? pixel shift) C3/4EBE: 04A8FF (4 scanlines, ?? pixel shift) C3/4EC1: 04A8FF (4 scanlines, ?? pixel shift) C3/4EC4: 04A8FF (4 scanlines, ?? pixel shift) C3/4EC7: 04ACFF (4 scanlines, ?? pixel shift) C3/4E3A: 04ACFF (4 scanlines, ?? pixel shift) C3/4ECD: 04ACFF (4 scanlines, ?? pixel shift) C3/4ED0: 04B0FF (4 scanlines, ?? pixel shift) C3/4ED3: 04B0FF (4 scanlines, ?? pixel shift) C3/4ED6: 04B0FF (4 scanlines, ?? pixel shift) C3/4ED9: 1E20FF (30 scanlines, ?? pixel shift, 237 scanlines total) C3/4EDC: 00 (end)
C3/4EDD unknow
C3/4EDD: 7B TDC (from C3/4D49, C3/4EE5) C3/4EDE: A528 LDA $28 C3/4EE0: 0A ASL A C3/4EE1: AA TAX C3/4EE2: B46D LDY $6D,X C3/4EE4: 60 RTS
C3/4EE5 unknow
C3/4EE5: 20DD4E JSR $4EDD (from C3/4D3A) C3/4EE8: 8467 STY $67 (the current character) C3/4EEA: 4CED4E JMP $4EED (uhhh, hello?) C3/4EED: A0DD42 LDY #$42DD C3/4EF0: A2504F LDX #$4F50 C3/4EF3: 202734 JSR $3427 (display current status ailments) C3/4EF6: A0D15C LDY #$5CD1 C3/4EF9: 20F902 JSR $02F9 (draw HP's "/") C3/4EFC: A0D55C LDY #$5CD5 C3/4EFF: 20F902 JSR $02F9 (draw MP's "/") C3/4F02: A2124F LDX #$4F12 C3/4F05: 206C0C JSR $0C6C (display HP, MP, etc) C3/4F08: A920 LDA #$20 C3/4F0A: 8529 STA $29 (set text color to white) C3/4F0C: A01D42 LDY #$421D C3/4F0F: 4CE634 JMP $34E6 (display currently equipped esper name)
C3/4F12 data: positions for level, hp and mp
Data: positions for HP, MP, etc in skills menu C3/4F12: 3742 (level's position) C3/4F14: B342 (current HP's position) C3/4F16: BD42 (max HP's position) C3/4F18: 3343 (current MP's position) C3/4F1A: 3D43 (max MP's position)
C3/4F1C unknow
C3/4F1C: A2899D LDX #$9D89 C3/4F1F: 8E8121 STX $2181 C3/4F22: A23600 LDX #$0036 C3/4F25: A9FF LDA #$FF C3/4F27: 8D8021 STA $2180 C3/4F2A: CA DEX C3/4F2B: D0FA BNE $4F27 C3/4F2D: 7B TDC C3/4F2E: A8 TAY C3/4F2F: AD541D LDA $1D54 C3/4F32: 2907 AND #$07 C3/4F34: 0A ASL A C3/4F35: 0A ASL A C3/4F36: AA TAX C3/4F37: DA PHX C3/4F38: BF494FC3 LDA $C34F49,X C3/4F3C: C9FF CMP #$FF C3/4F3E: F007 BEQ $4F47 C3/4F40: 20614F JSR $4F61 C3/4F43: FA PLX C3/4F44: E8 INX C3/4F45: 80F0 BRA $4F37 C3/4F47: FA PLX C3/4F48: 60 RTS
C3/4F49 data: unknow
Data: Perhaps the order of how to arrange the spells? C3/4F49: 2D 00 18 FF C3/4F4D: 2D 18 00 FF C3/4F51: 00 18 2D FF C3/4F55: 00 2D 18 FF C3/4F59: 18 2D 00 FF C3/4F5D: 18 00 2D FF
C3/4F61 unknow
C3/4F61: C900 CMP #$00 (is it Fire?) C3/4F63: F009 BEQ $4F6E C3/4F64: C92D CMP #$2D (is it Cure?) C3/4F66: F00A BEQ $4F73 C3/4F69: A21500 LDX #$0015 (the number of "Effect" type spells) C3/4F6C: 800A BRA $4F78 C3/4F6E: A21800 LDX #$0018 (the number of "Attack" type spells) C3/4F71: 8005 BRA $4F78 C3/4F73: A20900 LDX #$0009 (the number of "Healing" type spells) C3/4F76: 8000 BRA $4F78 (there is no point for this) C3/4F78: 86E0 STX $E0 C3/4F7A: AA TAX C3/4F7B: BB TYX C3/4F7C: 9F899D7E STA $7E9D89,X C3/4F80: 1A INC A C3/4F81: C8 INY C3/4F82: C6E0 DEC $E0 C3/4F84: D0F5 BNE $4F7B C3/4F86: 60 RTS
C3/4F87 unknow
C3/4F87: 20F783 JSR $83F7 (from C3/4D85) C3/4F8A: A00800 LDY #$0008 C3/4F8D: 5A PHY C3/4F8E: 209E4F JSR $4F9E C3/4F91: A5E6 LDA $E6 C3/4F93: 1A INC A C3/4F94: 1A INC A C3/4F95: 291F AND #$1F C3/4F97: 85E6 STA $E6 C3/4F99: 7A PLY C3/4F9A: 88 DEY C3/4F9B: D0F0 BNE $4F8D C3/4F9D: 60 RTS
C3/4F9E unknow
C3/4F9E: 20B54F JSR $4FB5 C3/4FA1: A20300 LDX #$0003 (X position of left half of spells) C3/4FA4: 20C44F JSR $4FC4 (draws the spell names) C3/4FA7: E6E5 INC $E5 C3/4FA9: 20B54F JSR $4FB5 C3/4FAC: A21000 LDX #$0010 (X position of right half of spells) C3/4FAF: 20C44F JSR $4FC4 (draws the spell names) C3/4FB2: E6E5 INC $E5 C3/4FB4: 60 RTS
C3/4FB5 unknow
C3/4FB5: A00700 LDY #$0007 (spell letter length) C3/4FB8: 84EB STY $EB C3/4FBA: A067F5 LDY #$F567 (spell name address) C3/4FBD: 84EF STY $EF C3/4FBF: A9E6 LDA #$E6 (spell name bank) C3/4FC1: 85F1 STA $F1 C3/4FC3: 60 RTS
C3/4FC4 draw a column of spells
C3/4FC4: A5E6 LDA $E6 C3/4FC6: 1A INC A C3/4FC7: 209F80 JSR $809F C3/4FCA: C220 REP #$20 (16 bit memory/accum.) C3/4FCC: 8A TXA C3/4FCD: 8F899E7E STA $7E9E89 C3/4FD1: E220 SEP #$20 (8 bit memory/accum.) C3/4FD3: A59E LDA $9E C3/4FD5: F067 BEQ $503E C3/4FD7: 20EC50 JSR $50EC (get the current spell to check) C3/4FDA: 204D51 JSR $514D (determine if spells are useable?) C3/4FDD: 20EC50 JSR $50EC (get the current spell to check) C3/4FE0: C9FF CMP #$FF C3/4FE2: F036 BEQ $501A (branch if no spell to draw) C3/4FE4: 20A250 JSR $50A2 (get spells learned amount) C3/4FE7: C9FF CMP #$FF C3/4FE9: D02F BNE $501A (branch if spell is already learned?) C3/4FEB: 20EC50 JSR $50EC (get the current spell to check) C3/4FEE: 206784 JSR $8467 (draw the current spell name) C3/4FF1: A2929E LDX #$9E92 (position of MP cost) C3/4FF4: 8E8121 STX $2181 C3/4FF7: A9FF LDA #$FF C3/4FF9: 8D8021 STA $2180 (insert a space) C3/4FFC: 20EC50 JSR $50EC (get the current spell to check) C3/4FFF: 200D51 JSR $510D (get spell's MP cost) C3/5002: 20E004 JSR $04E0 (turn MP cost into digits) C3/5005: A5F8 LDA $F8 C3/5007: 8D8021 STA $2180 (draw tens digit of MP cost) C3/500A: A5F9 LDA $F9 C3/500C: 8D8021 STA $2180 (draw ones digit of MP cost) C3/500F: A9FF LDA #$FF C3/5011: 8D8021 STA $2180 (insert a space) C3/5014: 9C8021 STZ $2180 (end this string) C3/5017: 4CD97F JMP $7FD9 (draw MP cost)