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 C3B: Difference between revisions
< Final Fantasy VI | ROM map
Jump to navigation
Jump to search
(assembly C3B) |
(clean up) |
||
Line 1: | Line 1: | ||
==C3/B033 unknow== | |||
C3/B033: 64E0 STZ $E0 | C3/B033: 64E0 STZ $E0 | ||
C3/B035: 64E4 STZ $E4 | C3/B035: 64E4 STZ $E4 | ||
Line 61: | Line 61: | ||
C3/B0B2: E220 SEP #$20 (8 bit memory/accum.) | C3/B0B2: E220 SEP #$20 (8 bit memory/accum.) | ||
C3/B0B4: 4CB7B0 JMP $B0B7 | C3/B0B4: 4CB7B0 JMP $B0B7 | ||
==C3/B0B7 unknow== | |||
C3/B0B7: 7B TDC | C3/B0B7: 7B TDC | ||
C3/B0B8: AD0602 LDA $0206 (Monster to fight) | C3/B0B8: AD0602 LDA $0206 (Monster to fight) | ||
Line 71: | Line 71: | ||
C3/B0C4: E220 SEP #$20 (8 bit memory/accum.) | C3/B0C4: E220 SEP #$20 (8 bit memory/accum.) | ||
C3/B0C6: 7CC9B0 JMP ($B0C9,X) | C3/B0C6: 7CC9B0 JMP ($B0C9,X) | ||
==C3/B0C9 unknow== | |||
C3/B0C9: D3B0 | C3/B0C9: D3B0 | ||
C3/B0CB: F8B0 | C3/B0CB: F8B0 | ||
Line 77: | Line 77: | ||
C3/B0CF: EAB0 | C3/B0CF: EAB0 | ||
C3/B0D1: EEB0 | C3/B0D1: EEB0 | ||
==C3/B0D3 unknow== | |||
C3/B0D3: 64E0 STZ $E0 | C3/B0D3: 64E0 STZ $E0 | ||
C3/B0D5: C220 REP #$20 (16 bit memory/accum.) | C3/B0D5: C220 REP #$20 (16 bit memory/accum.) | ||
Line 87: | Line 87: | ||
C3/B0DF: E220 SEP #$20 (8 bit memory/accum.) | C3/B0DF: E220 SEP #$20 (8 bit memory/accum.) | ||
C3/B0E1: 60 RTS | C3/B0E1: 60 RTS | ||
==C3/B0E2 unknow== | |||
C3/B0E2: C6E0 DEC $E0 | C3/B0E2: C6E0 DEC $E0 | ||
C3/B0E4: 1002 BPL $B0E8 | C3/B0E4: 1002 BPL $B0E8 | ||
Line 99: | Line 99: | ||
C3/B0F4: 1002 BPL $B0F8 | C3/B0F4: 1002 BPL $B0F8 | ||
C3/B0F6: 64E0 STZ $E0 | C3/B0F6: 64E0 STZ $E0 | ||
==C3/B0F8 unknow== | |||
C3/B0F8: 7B TDC | C3/B0F8: 7B TDC | ||
C3/B0F9: A5E0 LDA $E0 | C3/B0F9: A5E0 LDA $E0 | ||
Line 113: | Line 113: | ||
C3/B107: E220 SEP #$20 (8 bit memory/accum.) | C3/B107: E220 SEP #$20 (8 bit memory/accum.) | ||
C3/B109: 60 RTS | C3/B109: 60 RTS | ||
==C3/B10A unknow== | |||
C3/B10A: A01000 LDY #$0010 | C3/B10A: A01000 LDY #$0010 | ||
C3/B10D: 84E3 STY $E3 | C3/B10D: 84E3 STY $E3 | ||
Line 124: | Line 124: | ||
C3/B11B: E220 SEP #$20 (8 bit memory/accum.) | C3/B11B: E220 SEP #$20 (8 bit memory/accum.) | ||
C3/B11D: 60 RTS | C3/B11D: 60 RTS | ||
==C3/B11E unknow== | |||
C3/B11E: A5FF LDA $FF | C3/B11E: A5FF LDA $FF | ||
C3/B120: D007 BNE $B129 | C3/B120: D007 BNE $B129 | ||
Line 145: | Line 145: | ||
C3/B143: BB TYX | C3/B143: BB TYX | ||
C3/B144: 60 RTS | C3/B144: 60 RTS | ||
==C3/B145 unknow== | |||
C3/B145: 9B TXY | C3/B145: 9B TXY | ||
C3/B146: A600 LDX $00 | C3/B146: A600 LDX $00 | ||
Line 159: | Line 159: | ||
C3/B158: BB TYX | C3/B158: BB TYX | ||
C3/B159: 60 RTS | C3/B159: 60 RTS | ||
==C3/B15A unknow== | |||
C3/B15A: C220 REP #$20 (16 bit memory/accum.) | C3/B15A: C220 REP #$20 (16 bit memory/accum.) | ||
C3/B15C: A5F1 LDA $F1 | C3/B15C: A5F1 LDA $F1 | ||
Line 178: | Line 178: | ||
C3/B17A: D0F5 BNE $B171 | C3/B17A: D0F5 BNE $B171 | ||
C3/B17C: 60 RTS | C3/B17C: 60 RTS | ||
==C3/B17D unknow== | |||
C3/B17D: A46D LDY $6D | C3/B17D: A46D LDY $6D | ||
C3/B17F: F015 BEQ $B196 | C3/B17F: F015 BEQ $B196 | ||
Line 191: | Line 191: | ||
C3/B193: 20F3B1 JSR $B1F3 (JMP!) | C3/B193: 20F3B1 JSR $B1F3 (JMP!) | ||
C3/B196: 60 RTS | C3/B196: 60 RTS | ||
==C3/B197 unknow== | |||
C3/B197: A46F LDY $6F | C3/B197: A46F LDY $6F | ||
C3/B199: F015 BEQ $B1B0 | C3/B199: F015 BEQ $B1B0 | ||
Line 204: | Line 204: | ||
C3/B1AD: 20F3B1 JSR $B1F3 (JMP!) | C3/B1AD: 20F3B1 JSR $B1F3 (JMP!) | ||
C3/B1B0: 60 RTS | C3/B1B0: 60 RTS | ||
==C3/B1B1 unknow== | |||
C3/B1B1: A471 LDY $71 | C3/B1B1: A471 LDY $71 | ||
C3/B1B3: F015 BEQ $B1CA | C3/B1B3: F015 BEQ $B1CA | ||
Line 217: | Line 217: | ||
C3/B1C7: 20F3B1 JSR $B1F3 (JMP!) | C3/B1C7: 20F3B1 JSR $B1F3 (JMP!) | ||
C3/B1CA: 60 RTS | C3/B1CA: 60 RTS | ||
==C3/B1CB unknow== | |||
C3/B1CB: A473 LDY $73 | C3/B1CB: A473 LDY $73 | ||
C3/B1CD: F015 BEQ $B1E4 | C3/B1CD: F015 BEQ $B1E4 | ||
Line 230: | Line 230: | ||
C3/B1E1: 20F3B1 JSR $B1F3 (JMP!) | C3/B1E1: 20F3B1 JSR $B1F3 (JMP!) | ||
C3/B1E4: 60 RTS | C3/B1E4: 60 RTS | ||
==C3/B1E5 unknow== | |||
C3/B1E5: 20CF34 JSR $34CF | C3/B1E5: 20CF34 JSR $34CF | ||
C3/B1E8: A902 LDA #$02 | C3/B1E8: A902 LDA #$02 | ||
Line 238: | Line 238: | ||
C3/B1F1: 7B TDC | C3/B1F1: 7B TDC | ||
C3/B1F2: 60 RTS | C3/B1F2: 60 RTS | ||
==C3/B1F3 unknow== | |||
C3/B1F3: 0A ASL A | C3/B1F3: 0A ASL A | ||
C3/B1F4: AA TAX | C3/B1F4: AA TAX | ||
Line 267: | Line 267: | ||
C3/B22A: AB PLB | C3/B22A: AB PLB | ||
C3/B22B: 60 RTS | C3/B22B: 60 RTS | ||
==C3/B22C determine prize and monster on item bet at Colosseum== | |||
C3/B22C: 7B TDC | C3/B22C: 7B TDC | ||
C3/B22D: AD0502 LDA $0205 | C3/B22D: AD0502 LDA $0205 | ||
Line 283: | Line 282: | ||
C3/B249: 8D0902 STA $0209 | C3/B249: 8D0902 STA $0209 | ||
C3/B24C: 60 RTS | C3/B24C: 60 RTS | ||
==C3/B24D unknow== | |||
C3/B24D: AD0502 LDA $0205 (item bet) | C3/B24D: AD0502 LDA $0205 (item bet) | ||
C3/B250: A22B79 LDX #$792B (position onscreen to draw name) | C3/B250: A22B79 LDX #$792B (position onscreen to draw name) | ||
C3/B253: 800E BRA $B263 | C3/B253: 800E BRA $B263 | ||
==C3/B255 unknow== | |||
C3/B255: AD0902 LDA $0209 (load item mask flag) | C3/B255: AD0902 LDA $0209 (load item mask flag) | ||
C3/B258: F003 BEQ $B25D (branch if not set to mask item won) | C3/B258: F003 BEQ $B25D (branch if not set to mask item won) | ||
C3/B25A: 4C86B2 JMP $B286 | C3/B25A: 4C86B2 JMP $B286 | ||
==C3/B25D unknow== | |||
C3/B25D: AD0702 LDA $0207 (item to win) | C3/B25D: AD0702 LDA $0207 (item to win) | ||
C3/B260: A20D79 LDX #$790D (position onscreen to draw name) | C3/B260: A20D79 LDX #$790D (position onscreen to draw name) | ||
Line 309: | Line 308: | ||
C3/B27F: 8F989E7E STA $7E9E98 | C3/B27F: 8F989E7E STA $7E9E98 | ||
C3/B283: 4CD97F JMP $7FD9 | C3/B283: 4CD97F JMP $7FD9 | ||
==C3/B286 unknow== | |||
C3/B286: A027B4 LDY #$B427 ("?????????????") | C3/B286: A027B4 LDY #$B427 ("?????????????") | ||
C3/B289: 20F902 JSR $02F9 | C3/B289: 20F902 JSR $02F9 | ||
C3/B28C: 60 RTS | C3/B28C: 60 RTS | ||
==C3/B28D unknow== | |||
C3/B28D: C220 REP #$20 (16 bit memory/accum.) | C3/B28D: C220 REP #$20 (16 bit memory/accum.) | ||
C3/B28F: A94F7C LDA #$7C4F (position onscreen to draw name) | C3/B28F: A94F7C LDA #$7C4F (position onscreen to draw name) | ||
Line 323: | Line 322: | ||
C3/B29F: 206784 JSR $8467 (write the name) | C3/B29F: 206784 JSR $8467 (write the name) | ||
C3/B2A2: 4CD97F JMP $7FD9 | C3/B2A2: 4CD97F JMP $7FD9 | ||
==C3/B2A5 unknow== | |||
C3/B2A5: 8B PHB | C3/B2A5: 8B PHB | ||
C3/B2A6: A900 LDA #$00 | C3/B2A6: A900 LDA #$00 | ||
Line 357: | Line 356: | ||
C3/B2E3: 38 SEC | C3/B2E3: 38 SEC | ||
C3/B2E4: 60 RTS | C3/B2E4: 60 RTS | ||
==C3/B2E5 unknow== | |||
C3/B2E5: A006B4 LDY #$B406 (" ", maybe to blank stray letters from character name after switching?) | C3/B2E5: A006B4 LDY #$B406 (" ", maybe to blank stray letters from character name after switching?) | ||
C3/B2E8: 20F902 JSR $02F9 | C3/B2E8: 20F902 JSR $02F9 | ||
C3/B2EB: 60 RTS | C3/B2EB: 60 RTS | ||
==C3/B2EC unknow== | |||
C3/B2EC: 7B TDC | C3/B2EC: 7B TDC | ||
C3/B2ED: A54B LDA $4B | C3/B2ED: A54B LDA $4B | ||
Line 367: | Line 366: | ||
C3/B2F0: B569 LDA $69,X | C3/B2F0: B569 LDA $69,X | ||
C3/B2F2: 60 RTS | C3/B2F2: 60 RTS | ||
==C3/B2F3 code and table jump== | |||
C3/B2F3: AA TAX | C3/B2F3: AA TAX | ||
C3/B2F4: 7CF7B2 JMP ($B2F7,X) | C3/B2F4: 7CF7B2 JMP ($B2F7,X) | ||
Line 373: | Line 372: | ||
C3/B2F7: FBB2 | C3/B2F7: FBB2 | ||
C3/B2F9: 1EB3 | C3/B2F9: 1EB3 | ||
==C3/B2FB unknow== | |||
C3/B2FB: A62D LDX $2D | C3/B2FB: A62D LDX $2D | ||
C3/B2FD: C220 REP #$20 (16 bit memory/accum.) | C3/B2FD: C220 REP #$20 (16 bit memory/accum.) | ||
Line 390: | Line 389: | ||
C3/B321: 38 SEC (not done with this queue yet) | C3/B321: 38 SEC (not done with this queue yet) | ||
C3/B322: 60 RTS | C3/B322: 60 RTS | ||
==C3/B323 unknow== | |||
C3/B323: A032B3 LDY #$B332 | C3/B323: A032B3 LDY #$B332 | ||
C3/B326: 4CFE05 JMP $05FE | C3/B326: 4CFE05 JMP $05FE | ||
==C3/B329 unknow== | |||
C3/B329: 202D07 JSR $072D | C3/B329: 202D07 JSR $072D | ||
C3/B32C: A037B3 LDY #$B337 | C3/B32C: A037B3 LDY #$B337 | ||
C3/B32F: 4C4006 JMP $0640 | C3/B32F: 4C4006 JMP $0640 | ||
==C3/B332 data: hotspot== | |||
C3/B332: 01 00 00 04 01 | C3/B332: 01 00 00 04 01 | ||
==C3/B337 data: finger positions== | |||
C3/B337: 10B0 | C3/B337: 10B0 | ||
C3/B339: 48B0 | C3/B339: 48B0 | ||
C3/B33B: 80B0 | C3/B33B: 80B0 | ||
C3/B33D: B8B0 | C3/B33D: B8B0 | ||
==C3/B33F data: windows== | |||
C3/B33F: 8B580D02 (window that holds item to win) | C3/B33F: 8B580D02 (window that holds item to win) | ||
C3/B343: A9580D02 (window that holds item bet) | C3/B343: A9580D02 (window that holds item bet) | ||
C3/B347: CB5C1C07 (window that holds the foolish challengers that will fight :P) | C3/B347: CB5C1C07 (window that holds the foolish challengers that will fight :P) | ||
==C3/B34B unknow== | |||
C3/B34B: C220 REP #$20 | C3/B34B: C220 REP #$20 | ||
C3/B34D: AF8C16E7 LDA $E7168C | C3/B34D: AF8C16E7 LDA $E7168C | ||
Line 461: | Line 457: | ||
C3/B3C3: D0F5 BNE $B3BA | C3/B3C3: D0F5 BNE $B3BA | ||
C3/B3C5: 60 RTS | C3/B3C5: 60 RTS | ||
==C3/B3C6 unknow== | |||
C3/B3C6: C220 REP #$20 (16 bit memory/accum.) | C3/B3C6: C220 REP #$20 (16 bit memory/accum.) | ||
C3/B3C8: BF8DB67E LDA $7EB68D,X | C3/B3C8: BF8DB67E LDA $7EB68D,X | ||
Line 471: | Line 467: | ||
C3/B3D5: E220 SEP #$20 (8 bit memory/accum.) | C3/B3D5: E220 SEP #$20 (8 bit memory/accum.) | ||
C3/B3D7: 60 RTS | C3/B3D7: 60 RTS | ||
==C3/B3D8 unknow== | |||
C3/B3D8: A600 LDX $00 | C3/B3D8: A600 LDX $00 | ||
C3/B3DA: C220 REP #$20 (16 bit memory/accum.) | C3/B3DA: C220 REP #$20 (16 bit memory/accum.) | ||
Line 484: | Line 480: | ||
C3/B3EF: E220 SEP #$20 (8 bit memory/accum.) | C3/B3EF: E220 SEP #$20 (8 bit memory/accum.) | ||
C3/B3F1: 60 RTS | C3/B3F1: 60 RTS | ||
==C3/B3F2 unknow== | |||
C3/B3F2: A08DB6 LDY #$B68D (Decompression destination address) | C3/B3F2: A08DB6 LDY #$B68D (Decompression destination address) | ||
C3/B3F5: 84F6 STY $F6 | C3/B3F5: 84F6 STY $F6 | ||
Line 496: | Line 492: | ||
C3/B404: AB PLB | C3/B404: AB PLB | ||
C3/B405: 60 RTS | C3/B405: 60 RTS | ||
==C3/B406 data: strings== | |||
C3/B406: 757CFFFFFFFFFFFF00 (" ") | C3/B406: 757CFFFFFFFFFFFF00 (" ") | ||
C3/B40F: 157D929EA59E9CADFFADA19EFF9CA19AA5A59EA7A09EAB00 ("Select the challenger") | C3/B40F: 157D929EA59E9CADFFADA19EFF9CA19AA5A59EA7A09EAB00 ("Select the challenger") | ||
C3/B427: 0D79BFBFBFBFBFBFBFBFBFBFBFBFBF00 ("?????????????") | C3/B427: 0D79BFBFBFBFBFBFBFBFBFBFBFBFBF00 ("?????????????") | ||
==C3/B437 unknow== | |||
C3/B437: 7B TDC | C3/B437: 7B TDC | ||
C3/B438: AA TAX | C3/B438: AA TAX | ||
Line 511: | Line 507: | ||
C3/B445: E220 SEP #$20 (8 bit memory/accum.) | C3/B445: E220 SEP #$20 (8 bit memory/accum.) | ||
C3/B447: 60 RTS | C3/B447: 60 RTS | ||
==C3/B448 unknow== | |||
C3/B448: 01 | C3/B448: 01 | ||
C3/B449: 0900023E | C3/B449: 0900023E | ||
C3/B44D: 01 | C3/B44D: 01 | ||
C3/B44E: 0900123E | C3/B44E: 0900123E | ||
==C3/B452 oam data== | |||
OAM data, format is pointer, timer, pointer, timer, pointer, end | OAM data, format is pointer, timer, pointer, timer, pointer, end | ||
C3/B452: 48B4 | C3/B452: 48B4 | ||
Line 527: | Line 520: | ||
C3/B458: 48B4 | C3/B458: 48B4 | ||
C3/B45A: FF | C3/B45A: FF | ||
==C3/B45B unknow== | |||
C3/B45B: 00 (config screen OAM data points here....but this would indicate that there's nothing) | C3/B45B: 00 (config screen OAM data points here....but this would indicate that there's nothing) | ||
C3/B45C: 01 | C3/B45C: 01 | ||
C3/B45D: 8082033E | C3/B45D: 8082033E | ||
C3/B461: 01 (config screen OAM data points here) | C3/B461: 01 (config screen OAM data points here) | ||
C3/B462: 800003BE (position 80,0, 03 is ?, giant arrow pointing up) | C3/B462: 800003BE (position 80,0, 03 is ?, giant arrow pointing up) | ||
==C3/B466 initiate shop menu== | |||
DP $26 is #$24 - initiate the shop menu | DP $26 is #$24 - initiate the shop menu | ||
C3/B466: 202F35 JSR $352F (fade out screen, disable H/DMA) | C3/B466: 202F35 JSR $352F (fade out screen, disable H/DMA) | ||
Line 560: | Line 549: | ||
C3/B496: 8526 STA $26 (transition) | C3/B496: 8526 STA $26 (transition) | ||
C3/B498: 4C4135 JMP $3541 | C3/B498: 4C4135 JMP $3541 | ||
==C3/B49B sustain shop menu== | |||
DP $26 is #$25 - sustain the shop menu | DP $26 is #$25 - sustain the shop menu | ||
C3/B49B: 208CB8 JSR $B88C | C3/B49B: 208CB8 JSR $B88C | ||
Line 578: | Line 567: | ||
C3/B4BA: 6426 STZ $26 | C3/B4BA: 6426 STZ $26 | ||
C3/B4BC: 60 RTS | C3/B4BC: 60 RTS | ||
==C3/B4BD buy item== | |||
DP $26 is #$26 - buying | DP $26 is #$26 - buying | ||
C3/B4BD: A910 LDA #$10 | C3/B4BD: A910 LDA #$10 | ||
Line 615: | Line 604: | ||
C3/B4FF: BD6918 LDA $1869,X (Items currently in inventory) | C3/B4FF: BD6918 LDA $1869,X (Items currently in inventory) | ||
C3/B502: 4C3857 JMP $5738 | C3/B502: 4C3857 JMP $5738 | ||
==C3/B505 deciding on how many items to buy== | |||
DP $26 is #$27 - deciding on how many to buy | DP $26 is #$27 - deciding on how many to buy | ||
C3/B505: 20E6B4 JSR $B4E6 | C3/B505: 20E6B4 JSR $B4E6 | ||
Line 639: | Line 628: | ||
C3/B536: C628 DEC $28 (Decrease the number of items to buy) | C3/B536: C628 DEC $28 (Decrease the number of items to buy) | ||
C3/B538: 60 RTS | C3/B538: 60 RTS | ||
==C3/B539 unknow== | |||
C3/B539: A50B LDA $0B | C3/B539: A50B LDA $0B | ||
C3/B53B: 8902 BIT #$02 | C3/B53B: 8902 BIT #$02 | ||
Line 672: | Line 661: | ||
C3/B579: 8528 STA $28 | C3/B579: 8528 STA $28 | ||
C3/B57B: 60 RTS | C3/B57B: 60 RTS | ||
C3/B57C: 4C9EB5 JMP $B59E | C3/B57C: 4C9EB5 JMP $B59E | ||
==C3/B57F unknow== | |||
C3/B57F: A528 LDA $28 | C3/B57F: A528 LDA $28 | ||
C3/B581: 80DB BRA $B55E | C3/B581: 80DB BRA $B55E | ||
Line 689: | Line 677: | ||
C3/B597: 8528 STA $28 | C3/B597: 8528 STA $28 | ||
C3/B599: 60 RTS | C3/B599: 60 RTS | ||
==C3/B59A unknow== | |||
C3/B59A: A901 LDA #$01 | C3/B59A: A901 LDA #$01 | ||
C3/B59C: 8528 STA $28 | C3/B59C: 8528 STA $28 | ||
Line 697: | Line 685: | ||
C3/B5A4: 20A90E JSR $0EA9 | C3/B5A4: 20A90E JSR $0EA9 | ||
C3/B5A7: 4CB3B7 JMP $B7B3 | C3/B5A7: 4CB3B7 JMP $B7B3 | ||
==C3/B5AA unknow== | |||
C3/B5AA: A508 LDA $08 | C3/B5AA: A508 LDA $08 | ||
C3/B5AC: 8980 BIT #$80 (did you press A?) | C3/B5AC: 8980 BIT #$80 (did you press A?) | ||
Line 704: | Line 692: | ||
C3/B5B3: 20B7B5 JSR $B5B7 (Buying function) | C3/B5B3: 20B7B5 JSR $B5B7 (Buying function) | ||
C3/B5B6: 60 RTS | C3/B5B6: 60 RTS | ||
==C3/B5B7 buy function== | |||
C3/B5B7: 20C2BF JSR $BFC2 (Function loads A with item index taken from $4B) | C3/B5B7: 20C2BF JSR $BFC2 (Function loads A with item index taken from $4B) | ||
C3/B5BA: A400 LDY $00 (Load Y with $00) | C3/B5BA: A400 LDY $00 (Load Y with $00) | ||
Line 742: | Line 729: | ||
C3/B608: 20F902 JSR $02F9 ("Bye! ") | C3/B608: 20F902 JSR $02F9 ("Bye! ") | ||
C3/B60B: 4C7DB8 JMP $B87D | C3/B60B: 4C7DB8 JMP $B87D | ||
==C3/B60E unknow== | |||
DP $26 is #$28 | DP $26 is #$28 | ||
C3/B60E: A520 LDA $20 | C3/B60E: A520 LDA $20 | ||
Line 748: | Line 735: | ||
C3/B612: 20B3B7 JSR $B7B3 | C3/B612: 20B3B7 JSR $B7B3 | ||
C3/B615: 60 RTS | C3/B615: 60 RTS | ||
==C3/B616 sell function== | |||
DP $26 is #$29 - selling | DP $26 is #$29 - selling | ||
C3/B616: A910 LDA #$10 | C3/B616: A910 LDA #$10 | ||
Line 763: | Line 750: | ||
C3/B62E: 20A90E JSR $0EA9 | C3/B62E: 20A90E JSR $0EA9 | ||
C3/B631: 4C60B7 JMP $B760 | C3/B631: 4C60B7 JMP $B760 | ||
==C3/B634 unknow== | |||
C3/B634: A508 LDA $08 | C3/B634: A508 LDA $08 | ||
C3/B636: 8980 BIT #$80 (did you press A?) | C3/B636: 8980 BIT #$80 (did you press A?) | ||
Line 788: | Line 775: | ||
C3/B66B: 206DB8 JSR $B86D | C3/B66B: 206DB8 JSR $B86D | ||
C3/B66E: 60 RTS | C3/B66E: 60 RTS | ||
==C3/B66F unknow== | |||
C3/B66F: 20C00E JSR $0EC0 (makes the buzzer sound) | C3/B66F: 20C00E JSR $0EC0 (makes the buzzer sound) | ||
C3/B672: 205D30 JSR $305D | C3/B672: 205D30 JSR $305D | ||
C3/B675: 60 RTS | C3/B675: 60 RTS | ||
==C3/B676 deciding how many items to sell== | |||
DP $26 is #$2A - deciding how many items to sell | DP $26 is #$2A - deciding how many items to sell | ||
C3/B676: 20E6B4 JSR $B4E6 | C3/B676: 20E6B4 JSR $B4E6 | ||
Line 855: | Line 842: | ||
C3/B6F5: 20F902 JSR $02F9 (display "Sell") | C3/B6F5: 20F902 JSR $02F9 (display "Sell") | ||
C3/B6F8: 4CCFB7 JMP $B7CF | C3/B6F8: 4CCFB7 JMP $B7CF | ||
==C3/B6FB unknow== | |||
C3/B6FB: A508 LDA $08 | C3/B6FB: A508 LDA $08 | ||
C3/B6FD: 8980 BIT #$80 (did you press A?) | C3/B6FD: 8980 BIT #$80 (did you press A?) | ||
Line 862: | Line 849: | ||
C3/B704: 2008B7 JSR $B708 (this JSR is useless...) | C3/B704: 2008B7 JSR $B708 (this JSR is useless...) | ||
C3/B707: 60 RTS | C3/B707: 60 RTS | ||
==C3/B708 sell function== | |||
C3/B708: 2065BB JSR $BB65 | C3/B708: 2065BB JSR $BB65 | ||
C3/B70B: 18 CLC | C3/B70B: 18 CLC | ||
Line 896: | Line 882: | ||
C3/B74F: 8520 STA $20 | C3/B74F: 8520 STA $20 | ||
C3/B751: 60 RTS | C3/B751: 60 RTS | ||
==C3/B752 sold an item== | |||
DP $26 is #$2B - sold an item | DP $26 is #$2B - sold an item | ||
C3/B752: A520 LDA $20 | C3/B752: A520 LDA $20 | ||
Line 905: | Line 891: | ||
C3/B75C: 20CFB7 JSR $B7CF | C3/B75C: 20CFB7 JSR $B7CF | ||
C3/B75F: 60 RTS | C3/B75F: 60 RTS | ||
==C3/B760 unknow== | |||
C3/B760: A9C0 LDA #$C0 | C3/B760: A9C0 LDA #$C0 | ||
C3/B762: 1446 TRB $46 | C3/B762: 1446 TRB $46 | ||
Line 926: | Line 912: | ||
C3/B78F: 8526 STA $26 | C3/B78F: 8526 STA $26 | ||
C3/B791: 60 RTS | C3/B791: 60 RTS | ||
==C3/B792 code and table jump== | |||
C3/B792: 7B TDC | C3/B792: 7B TDC | ||
C3/B793: A54B LDA $4B | C3/B793: A54B LDA $4B | ||
Line 936: | Line 922: | ||
C3/B79C: C7B7 | C3/B79C: C7B7 | ||
C3/B79E: A0B7 | C3/B79E: A0B7 | ||
==C3/B7A0 unknow== | |||
C3/B7A0: 4CB3B4 JMP $B4B3 | C3/B7A0: 4CB3B4 JMP $B4B3 | ||
==C3/B7A3 unknow== | |||
C3/B7A3: 20A0B8 JSR $B8A0 | C3/B7A3: 20A0B8 JSR $B8A0 | ||
C3/B7A6: 20A9B8 JSR $B8A9 | C3/B7A6: 20A9B8 JSR $B8A9 | ||
Line 954: | Line 940: | ||
C3/B7C4: 8526 STA $26 | C3/B7C4: 8526 STA $26 | ||
C3/B7C6: 60 RTS | C3/B7C6: 60 RTS | ||
==C3/B7C7 unknow== | |||
C3/B7C7: 20390F JSR $0F39 | C3/B7C7: 20390F JSR $0F39 | ||
C3/B7CA: 20E0BB JSR $BBE0 | C3/B7CA: 20E0BB JSR $BBE0 | ||
Line 967: | Line 953: | ||
C3/B7E3: 8526 STA $26 | C3/B7E3: 8526 STA $26 | ||
C3/B7E5: 60 RTS | C3/B7E5: 60 RTS | ||
==C3/B7E6 unknow== | |||
C3/B7E6: 20C2BF JSR $BFC2 | C3/B7E6: 20C2BF JSR $BFC2 | ||
C3/B7E9: 202183 JSR $8321 (Multiply A by 30) | C3/B7E9: 202183 JSR $8321 (Multiply A by 30) | ||
Line 981: | Line 967: | ||
C3/B804: 20F902 JSR $02F9 (display "One's plenty!") | C3/B804: 20F902 JSR $02F9 (display "One's plenty!") | ||
C3/B807: 4C7DB8 JMP $B87D (note that all this does is prevent you from buying more after you already have one...) | C3/B807: 4C7DB8 JMP $B87D (note that all this does is prevent you from buying more after you already have one...) | ||
==C3/B80A unknow== | |||
C3/B80A: AD6218 LDA $1862 | C3/B80A: AD6218 LDA $1862 | ||
C3/B80D: D02F BNE $B83E | C3/B80D: D02F BNE $B83E | ||
Line 998: | Line 984: | ||
C3/B829: 20F902 JSR $02F9 (display "You need more GP!") | C3/B829: 20F902 JSR $02F9 (display "You need more GP!") | ||
C3/B82C: 4C7DB8 JMP $B87D | C3/B82C: 4C7DB8 JMP $B87D | ||
==C3/B82F unknow== | |||
C3/B82F: A564 LDA $64 | C3/B82F: A564 LDA $64 | ||
C3/B831: 18 CLC | C3/B831: 18 CLC | ||
Line 1,008: | Line 994: | ||
C3/B83B: 856A STA $6A | C3/B83B: 856A STA $6A | ||
C3/B83D: 60 RTS | C3/B83D: 60 RTS | ||
==C3/B83E unknow== | |||
C3/B83E: A569 LDA $69 | C3/B83E: A569 LDA $69 | ||
C3/B840: C963 CMP #$63 | C3/B840: C963 CMP #$63 | ||
Line 1,016: | Line 1,002: | ||
C3/B84A: 20F902 JSR $02F9 (display "Too many!") | C3/B84A: 20F902 JSR $02F9 (display "Too many!") | ||
C3/B84D: 4C7DB8 JMP $B87D | C3/B84D: 4C7DB8 JMP $B87D | ||
==C3/B850 unknow== | |||
C3/B850: 20B20E JSR $0EB2 (makes the click sound) | C3/B850: 20B20E JSR $0EB2 (makes the click sound) | ||
C3/B853: A20800 LDX #$0008 | C3/B853: A20800 LDX #$0008 | ||
Line 1,035: | Line 1,021: | ||
C3/B879: 20F4A6 JSR $A6F4 | C3/B879: 20F4A6 JSR $A6F4 | ||
C3/B87C: 60 RTS | C3/B87C: 60 RTS | ||
==C3/B87D unknow== | |||
C3/B87D: A928 LDA #$28 | C3/B87D: A928 LDA #$28 | ||
C3/B87F: 8526 STA $26 | C3/B87F: 8526 STA $26 | ||
Line 1,041: | Line 1,027: | ||
C3/B883: 8520 STA $20 | C3/B883: 8520 STA $20 | ||
C3/B885: 60 RTS | C3/B885: 60 RTS | ||
==C3/B886 unknow== | |||
C3/B886: A095B8 LDY #$B895 | C3/B886: A095B8 LDY #$B895 | ||
C3/B889: 4CFE05 JMP $05FE | C3/B889: 4CFE05 JMP $05FE | ||
==C3/B88C unknow== | |||
C3/B88C: 202D07 JSR $072D | C3/B88C: 202D07 JSR $072D | ||
C3/B88F: A09AB8 LDY #$B89A | C3/B88F: A09AB8 LDY #$B89A | ||
C3/B892: 4C4006 JMP $0640 | C3/B892: 4C4006 JMP $0640 | ||
==C3/B895 data: hot spot for shops== | |||
C3/B895: 01 00 00 03 01 | C3/B895: 01 00 00 03 01 | ||
==C3/B89A data: finger positions== | |||
Finger positioning data for shops | Finger positioning data for shops | ||
C3/B89A: 0834 | C3/B89A: 0834 | ||
C3/B89C: 3034 | C3/B89C: 3034 | ||
C3/B89E: 6034 | C3/B89E: 6034 | ||
==C3/B8A0 unknow== | |||
C3/B8A0: A0AFB8 LDY #$B8AF | C3/B8A0: A0AFB8 LDY #$B8AF | ||
C3/B8A3: 4CFE05 JMP $05FE | C3/B8A3: 4CFE05 JMP $05FE | ||
==C3/B8A6 unknow== | |||
C3/B8A6: 202D07 JSR $072D | C3/B8A6: 202D07 JSR $072D | ||
C3/B8A9: A0B4B8 LDY #$B8B4 | C3/B8A9: A0B4B8 LDY #$B8B4 | ||
C3/B8AC: 4C4006 JMP $0640 | C3/B8AC: 4C4006 JMP $0640 | ||
==C3/B8AF data: hot spots for buying== | |||
C3/B8AF: 80 00 00 01 08 | C3/B8AF: 80 00 00 01 08 | ||
==C3/B8B4 data: finger positions for buying== | |||
C3/B8B4: 0034 | C3/B8B4: 0034 | ||
C3/B8B6: 0040 | C3/B8B6: 0040 | ||
Line 1,078: | Line 1,059: | ||
C3/B8C0: 007C | C3/B8C0: 007C | ||
C3/B8C2: 0088 | C3/B8C2: 0088 | ||
==C3/B8C4 unknow== | |||
C3/B8C4: 20286A JSR $6A28 | C3/B8C4: 20286A JSR $6A28 | ||
C3/B8C7: 202D6A JSR $6A2D | C3/B8C7: 202D6A JSR $6A2D | ||
Line 1,125: | Line 1,106: | ||
C3/B948: 206E0E JSR $0E6E | C3/B948: 206E0E JSR $0E6E | ||
C3/B94B: 4C7C0E JMP $0E7C | C3/B94B: 4C7C0E JMP $0E7C | ||
==C3/B94E unknow== | |||
C3/B94E: 20156A JSR $6A15 | C3/B94E: 20156A JSR $6A15 | ||
C3/B951: 20196A JSR $6A19 | C3/B951: 20196A JSR $6A19 | ||
C3/B954: 201E6A JSR $6A1E | C3/B954: 201E6A JSR $6A1E | ||
C3/B957: 4C236A JMP $6A23 | C3/B957: 4C236A JMP $6A23 | ||
==C3/B95A unknow== | |||
C3/B95A: 203C6A JSR $6A3C | C3/B95A: 203C6A JSR $6A3C | ||
C3/B95D: 20416A JSR $6A41 | C3/B95D: 20416A JSR $6A41 | ||
Line 1,147: | Line 1,128: | ||
C3/B982: 20AC04 JSR $04AC | C3/B982: 20AC04 JSR $04AC | ||
C3/B985: 60 RTS | C3/B985: 60 RTS | ||
==C3/B986 unknow== | |||
C3/B986: 205AB9 JSR $B95A | C3/B986: 205AB9 JSR $B95A | ||
C3/B989: A085C3 LDY #$C385 | C3/B989: A085C3 LDY #$C385 | ||
Line 1,198: | Line 1,179: | ||
C3/B9F8: 20A8BC JSR $BCA8 | C3/B9F8: 20A8BC JSR $BCA8 | ||
C3/B9FB: 60 RTS | C3/B9FB: 60 RTS | ||
==C3/B9FC data== | |||
C3/B9FC: 0D7A (position of item 1) | C3/B9FC: 0D7A (position of item 1) | ||
C3/B9FE: 8D7A (position of item 2) | C3/B9FE: 8D7A (position of item 2) | ||
Line 1,208: | Line 1,188: | ||
C3/BA08: 0D7D (position of item 7) | C3/BA08: 0D7D (position of item 7) | ||
C3/BA0A: 8D7D (position of item 8) | C3/BA0A: 8D7D (position of item 8) | ||
==C3/BA0C unknow== | |||
C3/BA0C: C220 REP #$20 | C3/BA0C: C220 REP #$20 | ||
C3/BA0E: AD3421 LDA $2134 | C3/BA0E: AD3421 LDA $2134 | ||
Line 1,224: | Line 1,204: | ||
C3/BA29: E220 SEP #$20 (8 bit memory/accum.) | C3/BA29: E220 SEP #$20 (8 bit memory/accum.) | ||
C3/BA2B: 60 RTS | C3/BA2B: 60 RTS | ||
==C3/BA2C modify shop costs== | |||
Modify shop costs, depending on Shop's Cost Modifier and/or leader of party | Modify shop costs, depending on Shop's Cost Modifier and/or leader of party | ||
C3/BA2C: 48 PHA | C3/BA2C: 48 PHA | ||
Line 1,238: | Line 1,218: | ||
C3/BA3D: 68 PLA | C3/BA3D: 68 PLA | ||
C3/BA3E: 7C41BA JMP ($BA41,X) | C3/BA3E: 7C41BA JMP ($BA41,X) | ||
==C3/BA41 pointers: shop costs modifications== | |||
C3/BA41: 55BA (1.0x cost) | C3/BA41: 55BA (1.0x cost) | ||
C3/BA43: 4FBA (1.5x cost) | C3/BA43: 4FBA (1.5x cost) | ||
Line 1,246: | Line 1,226: | ||
C3/BA4B: 76BA (0.5x cost if male leads, 1.5x otherwise) | C3/BA4B: 76BA (0.5x cost if male leads, 1.5x otherwise) | ||
C3/BA4D: 92BA (0.5x cost if Edgar leads, 1.0x otherwise) | C3/BA4D: 92BA (0.5x cost if Edgar leads, 1.0x otherwise) | ||
==C3/BA4F unknow== | |||
C3/BA4F: 85E7 STA $E7 | C3/BA4F: 85E7 STA $E7 | ||
C3/BA51: 4A LSR A | C3/BA51: 4A LSR A | ||
Line 1,252: | Line 1,232: | ||
C3/BA53: 65E7 ADC $E7 | C3/BA53: 65E7 ADC $E7 | ||
C3/BA55: 60 RTS | C3/BA55: 60 RTS | ||
==C3/BA56 unknow== | |||
C3/BA56: 0A ASL A | C3/BA56: 0A ASL A | ||
C3/BA57: 60 RTS | C3/BA57: 60 RTS | ||
==C3/BA58 unknow== | |||
C3/BA58: 4A LSR A | C3/BA58: 4A LSR A | ||
C3/BA59: 60 RTS | C3/BA59: 60 RTS | ||
==C3/BA5A unknow== | |||
C3/BA5A: 48 PHA | C3/BA5A: 48 PHA | ||
C3/BA5B: E220 SEP #$20 (8 bit memory/accum.) | C3/BA5B: E220 SEP #$20 (8 bit memory/accum.) | ||
Line 1,297: | Line 1,277: | ||
C3/BA9E: 68 PLA | C3/BA9E: 68 PLA | ||
C3/BA9F: 60 RTS | C3/BA9F: 60 RTS | ||
==C3/BAA0 unknow== | |||
C3/BAA0: C220 REP #$20 (16 bit memory/accum.) | C3/BAA0: C220 REP #$20 (16 bit memory/accum.) | ||
C3/BAA2: 68 PLA | C3/BAA2: 68 PLA | ||
C3/BAA3: 80B3 BRA $BA58 (cost is 0.5x) | C3/BAA3: 80B3 BRA $BA58 (cost is 0.5x) | ||
==C3/BAA5 unknow== | |||
C3/BAA5: 20390F JSR $0F39 | C3/BAA5: 20390F JSR $0F39 | ||
C3/BAA8: 205AB9 JSR $B95A | C3/BAA8: 205AB9 JSR $B95A | ||
Line 1,310: | Line 1,290: | ||
C3/BAB7: E220 SEP #$20 (8 bit memory/accum.) | C3/BAB7: E220 SEP #$20 (8 bit memory/accum.) | ||
C3/BAB9: 60 RTS | C3/BAB9: 60 RTS | ||
==C3/BABA unknow== | |||
C3/BABA: 20ECBA JSR $BAEC | C3/BABA: 20ECBA JSR $BAEC | ||
C3/BABD: 2084BC JSR $BC84 | C3/BABD: 2084BC JSR $BC84 | ||
Line 1,320: | Line 1,300: | ||
C3/BACE: 8528 STA $28 | C3/BACE: 8528 STA $28 | ||
C3/BAD0: 4CAEBB JMP $BBAE | C3/BAD0: 4CAEBB JMP $BBAE | ||
==C3/BAD3 unknow== | |||
C3/BAD3: 209DBC JSR $BC9D | C3/BAD3: 209DBC JSR $BC9D | ||
C3/BAD6: 2066BF JSR $BF66 | C3/BAD6: 2066BF JSR $BF66 | ||
Line 1,330: | Line 1,310: | ||
C3/BAE7: 8528 STA $28 | C3/BAE7: 8528 STA $28 | ||
C3/BAE9: 4CB7BB JMP $BBB7 | C3/BAE9: 4CB7BB JMP $BBB7 | ||
==C3/BAEC unknow== | |||
C3/BAEC: 20C2BF JSR $BFC2 | C3/BAEC: 20C2BF JSR $BFC2 | ||
C3/BAEF: 4CF8BA JMP $BAF8 (BRA is better) | C3/BAEF: 4CF8BA JMP $BAF8 (BRA is better) | ||
==C3/BAF2 unknow== | |||
C3/BAF2: 20CBBF JSR $BFCB | C3/BAF2: 20CBBF JSR $BFCB | ||
C3/BAF5: 4CF8BA JMP $BAF8 (why?) | C3/BAF5: 4CF8BA JMP $BAF8 (why?) | ||
==C3/BAF8 unknow== | |||
C3/BAF8: 202183 JSR $8321 (Multiply A by 30) | C3/BAF8: 202183 JSR $8321 (Multiply A by 30) | ||
C3/BAFB: AE3421 LDX $2134 (Load X with the result) | C3/BAFB: AE3421 LDX $2134 (Load X with the result) | ||
Line 1,357: | Line 1,337: | ||
C3/BB2A: 20F902 JSR $02F9 ("...") | C3/BB2A: 20F902 JSR $02F9 ("...") | ||
C3/BB2D: 4CF2C2 JMP $C2F2 (set text color to white) | C3/BB2D: 4CF2C2 JMP $C2F2 (set text color to white) | ||
==C3/BB30 unknow== | |||
C3/BB30: 20F2C2 JSR $C2F2 (set text color to white) | C3/BB30: 20F2C2 JSR $C2F2 (set text color to white) | ||
C3/BB33: BF1450D8 LDA $D85014,X (Load attack pwr) | C3/BB33: BF1450D8 LDA $D85014,X (Load attack pwr) | ||
Line 1,370: | Line 1,350: | ||
C3/BB4F: 20F2C2 JSR $C2F2 (set text color to white) | C3/BB4F: 20F2C2 JSR $C2F2 (set text color to white) | ||
C3/BB52: 60 RTS | C3/BB52: 60 RTS | ||
==C3/BB53 unknow== | |||
C3/BB53: 7B TDC | C3/BB53: 7B TDC | ||
C3/BB54: A54B LDA $4B | C3/BB54: A54B LDA $4B | ||
Line 1,380: | Line 1,360: | ||
C3/BB60: E220 SEP #$20 (8 bit memory/accum.) | C3/BB60: E220 SEP #$20 (8 bit memory/accum.) | ||
C3/BB62: 4C81BB JMP $BB81 (BRA would work here) | C3/BB62: 4C81BB JMP $BB81 (BRA would work here) | ||
==C3/BB65 unknow== | |||
C3/BB65: 20CBBF JSR $BFCB | C3/BB65: 20CBBF JSR $BFCB | ||
C3/BB68: 202183 JSR $8321 (Multiply A by 30) | C3/BB68: 202183 JSR $8321 (Multiply A by 30) | ||
Line 1,393: | Line 1,373: | ||
C3/BB7C: E220 SEP #$20 (8 bit memory/accum.) | C3/BB7C: E220 SEP #$20 (8 bit memory/accum.) | ||
C3/BB7E: 4C81BB JMP $BB81 (why?) | C3/BB7E: 4C81BB JMP $BB81 (why?) | ||
==C3/BB81 multiplier function== | |||
(16-bit $F1 * 8-bit $28 -> 24-bit $ED) | (16-bit $F1 * 8-bit $28 -> 24-bit $ED) | ||
C3/BB81: A5F1 LDA $F1 | C3/BB81: A5F1 LDA $F1 | ||
C3/BB83: 8D0242 STA $4202 | C3/BB83: 8D0242 STA $4202 | ||
Line 1,419: | Line 1,396: | ||
C3/BBAB: 85F1 STA $F1 | C3/BBAB: 85F1 STA $F1 | ||
C3/BBAD: 60 RTS | C3/BBAD: 60 RTS | ||
==C3/BBAE unknow== | |||
C3/BBAE: 20C0BB JSR $BBC0 (display "GP" and number to buy) | C3/BBAE: 20C0BB JSR $BBC0 (display "GP" and number to buy) | ||
C3/BBB1: 2053BB JSR $BB53 | C3/BBB1: 2053BB JSR $BB53 | ||
C3/BBB4: 4CD7BB JMP $BBD7 | C3/BBB4: 4CD7BB JMP $BBD7 | ||
==C3/BBB7 unknow== | |||
C3/BBB7: 20C0BB JSR $BBC0 (display "GP" and number to sell) | C3/BBB7: 20C0BB JSR $BBC0 (display "GP" and number to sell) | ||
C3/BBBA: 2065BB JSR $BB65 | C3/BBBA: 2065BB JSR $BB65 | ||
C3/BBBD: 4CD7BB JMP $BBD7 | C3/BBBD: 4CD7BB JMP $BBD7 | ||
==C3/BBC0 unknow== | |||
C3/BBC0: 20F7C2 JSR $C2F7 (set text color blue) | C3/BBC0: 20F7C2 JSR $C2F7 (set text color blue) | ||
C3/BBC3: A03DC3 LDY #$C33D | C3/BBC3: A03DC3 LDY #$C33D | ||
Line 1,436: | Line 1,413: | ||
C3/BBD1: A22B7A LDX #$7A2B (position of how many to buy/sell) | C3/BBD1: A22B7A LDX #$7A2B (position of how many to buy/sell) | ||
C3/BBD4: 4CB604 JMP $04B6 | C3/BBD4: 4CB604 JMP $04B6 | ||
==C3/BBD7 unknow== | |||
C3/BBD7: 208205 JSR $0582 | C3/BBD7: 208205 JSR $0582 | ||
C3/BBDA: A2A17A LDX #$7AA1 (position of price of how many at x cost) | C3/BBDA: A2A17A LDX #$7AA1 (position of price of how many at x cost) | ||
C3/BBDD: 4CAC04 JMP $04AC (write price of how many at x cost) | C3/BBDD: 4CAC04 JMP $04AC (write price of how many at x cost) | ||
==C3/BBE0 unknow== | |||
C3/BBE0: A901 LDA #$01 | C3/BBE0: A901 LDA #$01 | ||
C3/BBE2: 8D0721 STA $2107 | C3/BBE2: 8D0721 STA $2107 | ||
Line 1,466: | Line 1,443: | ||
C3/BC18: E220 SEP #$20 (8 bit memory/accum.) | C3/BC18: E220 SEP #$20 (8 bit memory/accum.) | ||
C3/BC1A: 60 RTS | C3/BC1A: 60 RTS | ||
==C3/BC1B unknow== | |||
C3/BC1B: 8B PHB | C3/BC1B: 8B PHB | ||
C3/BC1C: 58 CLI | C3/BC1C: 58 CLI | ||
Line 1,478: | Line 1,455: | ||
C3/BC2D: 1C108B TRB $8B10 | C3/BC2D: 1C108B TRB $8B10 | ||
C3/BC30: 60 RTS | C3/BC30: 60 RTS | ||
==C3/BC31 unknow== | |||
C3/BC31: 0702 ORA [$02] | C3/BC31: 0702 ORA [$02] | ||
C3/BC33: 9D6013 STA $1360,X | C3/BC33: 9D6013 STA $1360,X | ||
Line 1,492: | Line 1,469: | ||
C3/BC4A: 07CB ORA [$CB] | C3/BC4A: 07CB ORA [$CB] | ||
C3/BC4C: 6B RTL | C3/BC4C: 6B RTL | ||
==C3/BC4D unknow== | |||
C3/BC4D: 1C030B TRB $0B03 | C3/BC4D: 1C030B TRB $0B03 | ||
C3/BC50: 6D1C06 ADC $061C | C3/BC50: 6D1C06 ADC $061C | ||
C3/BC53: B169 LDA ($69),Y | C3/BC53: B169 LDA ($69),Y | ||
C3/BC55: 0907 ORA #$07 | C3/BC55: 0907 ORA #$07 | ||
==C3/BC57 unknow== | |||
C3/BC57: A2C99D LDX #$9DC9 | C3/BC57: A2C99D LDX #$9DC9 | ||
C3/BC5A: 8E8121 STX $2181 | C3/BC5A: 8E8121 STX $2181 | ||
Line 1,519: | Line 1,496: | ||
C3/BC81: D0DC BNE $BC5F | C3/BC81: D0DC BNE $BC5F | ||
C3/BC83: 60 RTS | C3/BC83: 60 RTS | ||
==C3/BC84 unknow== | |||
C3/BC84: 2092BC JSR $BC92 | C3/BC84: 2092BC JSR $BC92 | ||
C3/BC87: A564 LDA $64 | C3/BC87: A564 LDA $64 | ||
Line 1,525: | Line 1,502: | ||
C3/BC8C: A23F7B LDX #$7B3F (position of number owned) | C3/BC8C: A23F7B LDX #$7B3F (position of number owned) | ||
C3/BC8F: 4CB604 JMP $04B6 (write number owned) | C3/BC8F: 4CB604 JMP $04B6 (write number owned) | ||
==C3/BC92 unknow== | |||
C3/BC92: 7B TDC | C3/BC92: 7B TDC | ||
C3/BC93: A54B LDA $4B | C3/BC93: A54B LDA $4B | ||
Line 1,532: | Line 1,509: | ||
C3/BC9A: 8564 STA $64 | C3/BC9A: 8564 STA $64 | ||
C3/BC9C: 60 RTS | C3/BC9C: 60 RTS | ||
==C3/BC9D unknow== | |||
C3/BC9D: 7B TDC | C3/BC9D: 7B TDC | ||
C3/BC9E: A54B LDA $4B | C3/BC9E: A54B LDA $4B | ||
Line 1,539: | Line 1,516: | ||
C3/BCA4: 8564 STA $64 | C3/BCA4: 8564 STA $64 | ||
C3/BCA6: 80DF BRA $BC87 | C3/BCA6: 80DF BRA $BC87 | ||
==C3/BCA8 unknow== | |||
C3/BCA8: 20C2BF JSR $BFC2 | C3/BCA8: 20C2BF JSR $BFC2 | ||
C3/BCAB: 4C69BF JMP $BF69 | C3/BCAB: 4C69BF JMP $BF69 | ||
==C3/BCAE unknow== | |||
C3/BCAE: 20C9BC JSR $BCC9 | C3/BCAE: 20C9BC JSR $BCC9 | ||
C3/BCB1: 9014 BCC $BCC7 | C3/BCB1: 9014 BCC $BCC7 | ||
Line 1,558: | Line 1,535: | ||
C3/BCC2: BF8DAA7E LDA $7EAA8D,X (Load inventory location X) | C3/BCC2: BF8DAA7E LDA $7EAA8D,X (Load inventory location X) | ||
C3/BCC6: 60 RTS | C3/BCC6: 60 RTS | ||
==C3/BCC7 unknow== | |||
C3/BCC7: 7B TDC | C3/BCC7: 7B TDC | ||
C3/BCC8: 60 RTS | C3/BCC8: 60 RTS | ||
==C3/BCC9 unknow== | |||
C3/BCC9: 8B PHB | C3/BCC9: 8B PHB | ||
C3/BCCA: A900 LDA #$00 | C3/BCCA: A900 LDA #$00 | ||
Line 1,591: | Line 1,568: | ||
C3/BCFB: 18 CLC | C3/BCFB: 18 CLC | ||
C3/BCFC: 60 RTS | C3/BCFC: 60 RTS | ||
==C3/BCFD unknow== | |||
C3/BCFD: 204FBF JSR $BF4F | C3/BCFD: 204FBF JSR $BF4F | ||
C3/BD00: A08DAA LDY #$AA8D | C3/BD00: A08DAA LDY #$AA8D | ||
Line 1,622: | Line 1,599: | ||
C3/BD3F: 4C35BE JMP $BE35 (Go to shield handler at $BE35) | C3/BD3F: 4C35BE JMP $BE35 (Go to shield handler at $BE35) | ||
C3/BD42: 4CBDBE JMP $BEBD (Go to hat handler at $BEBD) | C3/BD42: 4CBDBE JMP $BEBD (Go to hat handler at $BEBD) | ||
==C3/BD45 armor handler== | |||
Armor Handler (begrudgingly) | Armor Handler (begrudgingly) | ||
C3/BD45: 7B TDC | C3/BD45: 7B TDC | ||
Line 1,669: | Line 1,646: | ||
C3/BD9F: D001 BNE $BDA2 | C3/BD9F: D001 BNE $BDA2 | ||
C3/BDA1: 60 RTS | C3/BDA1: 60 RTS | ||
C3/BDA2: 4C07BD JMP $BD07 | C3/BDA2: 4C07BD JMP $BD07 | ||
==C3/BDA5 weapon handler== | |||
Weapon Handler (grrr) | Weapon Handler (grrr) | ||
C3/BDA5: 7B TDC | C3/BDA5: 7B TDC | ||
Line 1,736: | Line 1,712: | ||
C3/BE2D: D003 BNE $BE32 (branch if not) | C3/BE2D: D003 BNE $BE32 (branch if not) | ||
C3/BE2F: 4C8FBD JMP $BD8F | C3/BE2F: 4C8FBD JMP $BD8F | ||
C3/BE32: 4CA7BD JMP $BDA7 | C3/BE32: 4CA7BD JMP $BDA7 | ||
==C3/BE35 shield handler== | |||
C3/BE35: 7B TDC | C3/BE35: 7B TDC | ||
C3/BE36: AA TAX | C3/BE36: AA TAX | ||
Line 1,799: | Line 1,773: | ||
C3/BEB5: D003 BNE $BEBA | C3/BEB5: D003 BNE $BEBA | ||
C3/BEB7: 4C8FBD JMP $BD8F | C3/BEB7: 4C8FBD JMP $BD8F | ||
C3/BEBA: 4C37BE JMP $BE37 | C3/BEBA: 4C37BE JMP $BE37 | ||
==C3/BEBD hat handler== | |||
C3/BEBD: 7B TDC | C3/BEBD: 7B TDC | ||
C3/BEBE: AA TAX | C3/BEBE: AA TAX | ||
Line 1,839: | Line 1,811: | ||
C3/BF05: D0B8 BNE $BEBF | C3/BF05: D0B8 BNE $BEBF | ||
C3/BF07: 4C8FBD JMP $BD8F | C3/BF07: 4C8FBD JMP $BD8F | ||
==C3/BF0A unknow== | |||
C3/BF0A: 7B TDC | C3/BF0A: 7B TDC | ||
C3/BF0B: AA TAX | C3/BF0B: AA TAX | ||
Line 1,847: | Line 1,819: | ||
C3/BF13: D0F7 BNE $BF0C | C3/BF13: D0F7 BNE $BF0C | ||
C3/BF15: 4C8FBD JMP $BD8F | C3/BF15: 4C8FBD JMP $BD8F | ||
==C3/BF18 relic handler== | |||
Relic Handler (supposedly) | Relic Handler (supposedly) | ||
C3/BF18: 7B TDC | C3/BF18: 7B TDC | ||
Line 1,876: | Line 1,848: | ||
C3/BF4A: D0CE BNE $BF1A | C3/BF4A: D0CE BNE $BF1A | ||
C3/BF4C: 4C8FBD JMP $BD8F | C3/BF4C: 4C8FBD JMP $BD8F | ||
==C3/BF4F unknow== | |||
C3/BF4F: 8B PHB | C3/BF4F: 8B PHB | ||
C3/BF50: A97E LDA #$7E | C3/BF50: A97E LDA #$7E | ||
Line 1,892: | Line 1,864: | ||
C3/BF64: AB PLB | C3/BF64: AB PLB | ||
C3/BF65: 60 RTS | C3/BF65: 60 RTS | ||
==C3/BF66 unknow== | |||
C3/BF66: 20CBBF JSR $BFCB | C3/BF66: 20CBBF JSR $BFCB | ||
C3/BF69: 85E0 STA $E0 | C3/BF69: 85E0 STA $E0 | ||
Line 1,936: | Line 1,908: | ||
C3/BFBC: A23F7C LDX #$7C3F (position of number equipped) | C3/BFBC: A23F7C LDX #$7C3F (position of number equipped) | ||
C3/BFBF: 4CB604 JMP $04B6 (display number equipped) | C3/BFBF: 4CB604 JMP $04B6 (display number equipped) | ||
==C3/BFC2 unknow== | |||
C3/BFC2: 7B TDC | C3/BFC2: 7B TDC | ||
C3/BFC3: A54B LDA $4B | C3/BFC3: A54B LDA $4B | ||
Line 1,942: | Line 1,914: | ||
C3/BFC6: BF899D7E LDA $7E9D89,X (copy of inventory list) | C3/BFC6: BF899D7E LDA $7E9D89,X (copy of inventory list) | ||
C3/BFCA: 60 RTS | C3/BFCA: 60 RTS | ||
==C3/BFCB unknow== | |||
C3/BFCB: 7B TDC | C3/BFCB: 7B TDC | ||
C3/BFCC: A54B LDA $4B | C3/BFCC: A54B LDA $4B | ||
Line 1,948: | Line 1,920: | ||
C3/BFCF: B96918 LDA $1869,Y (Items currently in inventory) | C3/BFCF: B96918 LDA $1869,Y (Items currently in inventory) | ||
C3/BFD2: 60 RTS | C3/BFD2: 60 RTS | ||
==C3/BFD3 unknow== | |||
C3/BFD3: 20F7C2 JSR $C2F7 (set text color to blue) | C3/BFD3: 20F7C2 JSR $C2F7 (set text color to blue) | ||
C3/BFD6: AD1242 LDA $4212 | C3/BFD6: AD1242 LDA $4212 |
Revision as of 16:37, 21 January 2014
C3/B033 unknow
C3/B033: 64E0 STZ $E0 C3/B035: 64E4 STZ $E4 C3/B037: 64E5 STZ $E5 C3/B039: 64E3 STZ $E3 C3/B03B: A600 LDX $00 C3/B03D: A599 LDA $99 C3/B03F: C908 CMP #$08 C3/B041: D036 BNE $B079 C3/B043: BF899D7E LDA $7E9D89,X C3/B047: D007 BNE $B050 C3/B049: E6E0 INC $E0 C3/B04B: E8 INX C3/B04C: C908 CMP #$08 C3/B04E: D0F3 BNE $B043 C3/B050: A600 LDX $00 C3/B052: BF899D7E LDA $7E9D89,X C3/B056: 05E3 ORA $E3 C3/B058: 85E3 STA $E3 C3/B05A: E8 INX C3/B05B: E00800 CPX #$0008 C3/B05E: D0F2 BNE $B052 C3/B060: 66E3 ROR $E3 C3/B062: B004 BCS $B068 C3/B064: E6E4 INC $E4 C3/B066: 80F8 BRA $B060 C3/B068: 46E4 LSR $E4 C3/B06A: 06E4 ASL $E4 C3/B06C: C221 REP #$21 C3/B06E: A5E4 LDA $E4 C3/B070: 69513A ADC #$3A51 C3/B073: 85E7 STA $E7 C3/B075: E220 SEP #$20 (8 bit memory/accum.) C3/B077: 803B BRA $B0B4 C3/B079: BF899D7E LDA $7E9D89,X C3/B07D: 1F8A9D7E ORA $7E9D8A,X C3/B081: D009 BNE $B08C C3/B083: E6E0 INC $E0 C3/B085: E8 INX C3/B086: E8 INX C3/B087: E02000 CPX #$0020 C3/B08A: D0ED BNE $B079 C3/B08C: A600 LDX $00 C3/B08E: BF899D7E LDA $7E9D89,X C3/B092: 05E3 ORA $E3 C3/B094: 85E3 STA $E3 C3/B096: E8 INX C3/B097: E8 INX C3/B098: E02000 CPX #$0020 C3/B09B: D0F1 BNE $B08E C3/B09D: 66E3 ROR $E3 C3/B09F: B004 BCS $B0A5 C3/B0A1: E6E4 INC $E4 C3/B0A3: 80F8 BRA $B09D C3/B0A5: 46E4 LSR $E4 C3/B0A7: 06E4 ASL $E4 C3/B0A9: C221 REP #$21 C3/B0AB: A5E4 LDA $E4 C3/B0AD: 694938 ADC #$3849 C3/B0B0: 85E7 STA $E7 C3/B0B2: E220 SEP #$20 (8 bit memory/accum.) C3/B0B4: 4CB7B0 JMP $B0B7
C3/B0B7 unknow
C3/B0B7: 7B TDC C3/B0B8: AD0602 LDA $0206 (Monster to fight) C3/B0BB: AA TAX C3/B0BC: BF00E8EC LDA $ECE800,X C3/B0C0: C220 REP #$20 (16 bit memory/accum.) C3/B0C2: 0A ASL A C3/B0C3: AA TAX C3/B0C4: E220 SEP #$20 (8 bit memory/accum.) C3/B0C6: 7CC9B0 JMP ($B0C9,X)
C3/B0C9 unknow
C3/B0C9: D3B0 C3/B0CB: F8B0 C3/B0CD: E2B0 C3/B0CF: EAB0 C3/B0D1: EEB0
C3/B0D3 unknow
C3/B0D3: 64E0 STZ $E0 C3/B0D5: C220 REP #$20 (16 bit memory/accum.) C3/B0D7: A5E7 LDA $E7 C3/B0D9: 38 SEC C3/B0DA: E9C0 SBC #$C0 C3/B0DC: 00 BRK C3/B0DD: 8591 STA $91 C3/B0DF: E220 SEP #$20 (8 bit memory/accum.) C3/B0E1: 60 RTS
C3/B0E2 unknow
C3/B0E2: C6E0 DEC $E0 C3/B0E4: 1002 BPL $B0E8 C3/B0E6: 64E0 STZ $E0 C3/B0E8: 800E BRA $B0F8 C3/B0EA: E6E0 INC $E0 C3/B0EC: 800A BRA $B0F8 C3/B0EE: C6E0 DEC $E0 C3/B0F0: C6E0 DEC $E0 C3/B0F2: C6E0 DEC $E0 C3/B0F4: 1002 BPL $B0F8 C3/B0F6: 64E0 STZ $E0
C3/B0F8 unknow
C3/B0F8: 7B TDC C3/B0F9: A5E0 LDA $E0 C3/B0FB: C221 REP #$21 C3/B0FD: 0A ASL A C3/B0FE: 0A ASL A C3/B0FF: 0A ASL A C3/B100: 0A ASL A C3/B101: 0A ASL A C3/B102: 0A ASL A C3/B103: 65E7 ADC $E7 C3/B105: 8591 STA $91 C3/B107: E220 SEP #$20 (8 bit memory/accum.) C3/B109: 60 RTS
C3/B10A unknow
C3/B10A: A01000 LDY #$0010 C3/B10D: 84E3 STY $E3 C3/B10F: C220 REP #$20 (16 bit memory/accum.) C3/B111: A400 LDY $00 C3/B113: 9C1821 STZ $2118 C3/B116: C8 INY C3/B117: C4E3 CPY $E3 C3/B119: D0F8 BNE $B113 C3/B11B: E220 SEP #$20 (8 bit memory/accum.) C3/B11D: 60 RTS
C3/B11E unknow
C3/B11E: A5FF LDA $FF C3/B120: D007 BNE $B129 C3/B122: A01000 LDY #$0010 C3/B125: 84E3 STY $E3 C3/B127: 801C BRA $B145 C3/B129: A00800 LDY #$0008 C3/B12C: 84E3 STY $E3 C3/B12E: 2045B1 JSR $B145 C3/B131: 9B TXY C3/B132: A20800 LDX #$0008 C3/B135: 7B TDC C3/B136: B7F5 LDA [$F5],Y C3/B138: C220 REP #$20 (16 bit memory/accum.) C3/B13A: 8D1821 STA $2118 C3/B13D: E220 SEP #$20 (8 bit memory/accum.) C3/B13F: C8 INY C3/B140: CA DEX C3/B141: D0F3 BNE $B136 C3/B143: BB TYX C3/B144: 60 RTS
C3/B145 unknow
C3/B145: 9B TXY C3/B146: A600 LDX $00 C3/B148: C220 REP #$20 (16 bit memory/accum.) C3/B14A: B7F5 LDA [$F5],Y C3/B14C: 8D1821 STA $2118 C3/B14F: C8 INY C3/B150: C8 INY C3/B151: E8 INX C3/B152: E4E3 CPX $E3 C3/B154: D0F4 BNE $B14A C3/B156: E220 SEP #$20 (8 bit memory/accum.) C3/B158: BB TYX C3/B159: 60 RTS
C3/B15A unknow
C3/B15A: C220 REP #$20 (16 bit memory/accum.) C3/B15C: A5F1 LDA $F1 C3/B15E: 29FF03 AND #$03FF C3/B161: 0A ASL A C3/B162: 0A ASL A C3/B163: 0A ASL A C3/B164: 0A ASL A C3/B165: AA TAX C3/B166: E220 SEP #$20 (8 bit memory/accum.) C3/B168: A0A930 LDY #$30A9 C3/B16B: 8C8121 STY $2181 C3/B16E: A02000 LDY #$0020 C3/B171: BF2078D2 LDA $D27820,X (monster palettes) C3/B175: 8D8021 STA $2180 C3/B178: E8 INX C3/B179: 88 DEY C3/B17A: D0F5 BNE $B171 C3/B17C: 60 RTS
C3/B17D unknow
C3/B17D: A46D LDY $6D C3/B17F: F015 BEQ $B196 C3/B181: 8467 STY $67 C3/B183: A04F7E LDY #$7E4F C3/B186: 20E5B1 JSR $B1E5 C3/B189: A920 LDA #$20 C3/B18B: 85E1 STA $E1 C3/B18D: A9A8 LDA #$A8 C3/B18F: 85E2 STA $E2 C3/B191: A569 LDA $69 C3/B193: 20F3B1 JSR $B1F3 (JMP!) C3/B196: 60 RTS
C3/B197 unknow
C3/B197: A46F LDY $6F C3/B199: F015 BEQ $B1B0 C3/B19B: 8467 STY $67 C3/B19D: A05D7E LDY #$7E5D C3/B1A0: 20E5B1 JSR $B1E5 C3/B1A3: A958 LDA #$58 C3/B1A5: 85E1 STA $E1 C3/B1A7: A9A8 LDA #$A8 C3/B1A9: 85E2 STA $E2 C3/B1AB: A56A LDA $6A C3/B1AD: 20F3B1 JSR $B1F3 (JMP!) C3/B1B0: 60 RTS
C3/B1B1 unknow
C3/B1B1: A471 LDY $71 C3/B1B3: F015 BEQ $B1CA C3/B1B5: 8467 STY $67 C3/B1B7: A06B7E LDY #$7E6B C3/B1BA: 20E5B1 JSR $B1E5 C3/B1BD: A990 LDA #$90 C3/B1BF: 85E1 STA $E1 C3/B1C1: A9A8 LDA #$A8 C3/B1C3: 85E2 STA $E2 C3/B1C5: A56B LDA $6B C3/B1C7: 20F3B1 JSR $B1F3 (JMP!) C3/B1CA: 60 RTS
C3/B1CB unknow
C3/B1CB: A473 LDY $73 C3/B1CD: F015 BEQ $B1E4 C3/B1CF: 8467 STY $67 C3/B1D1: A0797E LDY #$7E79 C3/B1D4: 20E5B1 JSR $B1E5 C3/B1D7: A9C8 LDA #$C8 C3/B1D9: 85E1 STA $E1 C3/B1DB: A9A8 LDA #$A8 C3/B1DD: 85E2 STA $E2 C3/B1DF: A56C LDA $6C C3/B1E1: 20F3B1 JSR $B1F3 (JMP!) C3/B1E4: 60 RTS
C3/B1E5 unknow
C3/B1E5: 20CF34 JSR $34CF C3/B1E8: A902 LDA #$02 C3/B1EA: A05F7A LDY #$7A5F C3/B1ED: 207311 JSR $1173 (put C3/7A5F in the queue) C3/B1F0: 9B TXY C3/B1F1: 7B TDC C3/B1F2: 60 RTS
C3/B1F3 unknow
C3/B1F3: 0A ASL A C3/B1F4: AA TAX C3/B1F5: C220 REP #$20 (16 bit memory/accum.) C3/B1F7: BF6969C3 LDA $C36969,X (Xth character's working RAM offset) C3/B1FB: AA TAX C3/B1FC: E220 SEP #$20 (8 bit memory/accum.) C3/B1FE: BD1400 LDA $0014,X (Statuses) C3/B201: 2920 AND #$20 (Mask all but imp) C3/B203: F005 BEQ $B20A (Branch if imp not set) C3/B205: 7B TDC (probably to clear out upper bits) C3/B206: A90F LDA #$0F (load Imp's spritesheet) C3/B208: 8004 BRA $B20E C3/B20A: 7B TDC (probably to clear out upper bits) C3/B20B: BD0100 LDA $0001,X (load character's spritesheet) C3/B20E: 20FA78 JSR $78FA (draw the sprite?) C3/B211: A9D8 LDA #$D8 C3/B213: 99CA35 STA $35CA,Y (save bank pointer to OAM data) C3/B216: A5E1 LDA $E1 C3/B218: 99CA33 STA $33CA,Y C3/B21B: A5E2 LDA $E2 C3/B21D: 994A34 STA $344A,Y C3/B220: 7B TDC C3/B221: 99CB33 STA $33CB,Y C3/B224: 994B34 STA $344B,Y C3/B227: A900 LDA #$00 C3/B229: 48 PHA C3/B22A: AB PLB C3/B22B: 60 RTS
C3/B22C determine prize and monster on item bet at Colosseum
C3/B22C: 7B TDC C3/B22D: AD0502 LDA $0205 C3/B230: C220 REP #$20 (16 bit memory/accum.) C3/B232: 0A ASL A C3/B233: 0A ASL A C3/B234: AA TAX C3/B235: E220 SEP #$20 (8 bit memory/accum.) C3/B237: BF00B6DF LDA $DFB600,X (monster to face) C3/B23B: 8D0602 STA $0206 C3/B23E: BF02B6DF LDA $DFB602,X (item to win) C3/B242: 8D0702 STA $0207 C3/B245: BF03B6DF LDA $DFB603,X (mask item to win) C3/B249: 8D0902 STA $0209 C3/B24C: 60 RTS
C3/B24D unknow
C3/B24D: AD0502 LDA $0205 (item bet) C3/B250: A22B79 LDX #$792B (position onscreen to draw name) C3/B253: 800E BRA $B263
C3/B255 unknow
C3/B255: AD0902 LDA $0209 (load item mask flag) C3/B258: F003 BEQ $B25D (branch if not set to mask item won) C3/B25A: 4C86B2 JMP $B286
C3/B25D unknow
C3/B25D: AD0702 LDA $0207 (item to win) C3/B260: A20D79 LDX #$790D (position onscreen to draw name) C3/B263: 48 PHA C3/B264: A08B9E LDY #$9E8B C3/B267: 8C8121 STY $2181 C3/B26A: C220 REP #$20 (16 bit memory/accum.) C3/B26C: 8A TXA C3/B26D: 8F899E7E STA $7E9E89 C3/B271: E220 SEP #$20 (8 bit memory/accum.) C3/B273: AD1242 LDA $4212 C3/B276: 2940 AND #$40 (are we in H-blank?) C3/B278: F0F9 BEQ $B273 (branch if not) C3/B27A: 68 PLA C3/B27B: 20CE80 JSR $80CE (Write out item name) C3/B27E: 7B TDC C3/B27F: 8F989E7E STA $7E9E98 C3/B283: 4CD97F JMP $7FD9
C3/B286 unknow
C3/B286: A027B4 LDY #$B427 ("?????????????") C3/B289: 20F902 JSR $02F9 C3/B28C: 60 RTS
C3/B28D unknow
C3/B28D: C220 REP #$20 (16 bit memory/accum.) C3/B28F: A94F7C LDA #$7C4F (position onscreen to draw name) C3/B292: 8F899E7E STA $7E9E89 C3/B296: E220 SEP #$20 (8 bit memory/accum.) C3/B298: 200954 JSR $5409 C3/B29B: 7B TDC C3/B29C: AD0602 LDA $0206 (monster to face) C3/B29F: 206784 JSR $8467 (write the name) C3/B2A2: 4CD97F JMP $7FD9
C3/B2A5 unknow
C3/B2A5: 8B PHB C3/B2A6: A900 LDA #$00 C3/B2A8: 48 PHA C3/B2A9: AB PLB C3/B2AA: 7B TDC C3/B2AB: A54B LDA $4B C3/B2AD: 0A ASL A C3/B2AE: AA TAX C3/B2AF: B46D LDY $6D,X C3/B2B1: F02C BEQ $B2DF C3/B2B3: 8467 STY $67 C3/B2B5: A0757C LDY #$7C75 C3/B2B8: 20CF34 JSR $34CF C3/B2BB: A902 LDA #$02 C3/B2BD: 0447 TSB $47 C3/B2BF: A902 LDA #$02 C3/B2C1: A0427B LDY #$7B42 C3/B2C4: 207311 JSR $1173 (put C3/7B42 in the queue) C3/B2C7: A901 LDA #$01 C3/B2C9: 9F49367E STA $7E3649,X C3/B2CD: 9B TXY C3/B2CE: 7B TDC C3/B2CF: A9B8 LDA #$B8 C3/B2D1: 85E1 STA $E1 C3/B2D3: A968 LDA #$68 C3/B2D5: 85E2 STA $E2 C3/B2D7: 20ECB2 JSR $B2EC C3/B2DA: 20F3B1 JSR $B1F3 C3/B2DD: 8003 BRA $B2E2 C3/B2DF: 20E5B2 JSR $B2E5 C3/B2E2: AB PLB C3/B2E3: 38 SEC C3/B2E4: 60 RTS
C3/B2E5 unknow
C3/B2E5: A006B4 LDY #$B406 (" ", maybe to blank stray letters from character name after switching?) C3/B2E8: 20F902 JSR $02F9 C3/B2EB: 60 RTS
C3/B2EC unknow
C3/B2EC: 7B TDC C3/B2ED: A54B LDA $4B C3/B2EF: AA TAX C3/B2F0: B569 LDA $69,X C3/B2F2: 60 RTS
C3/B2F3 code and table jump
C3/B2F3: AA TAX C3/B2F4: 7CF7B2 JMP ($B2F7,X) C3/B2F7: FBB2 C3/B2F9: 1EB3
C3/B2FB unknow
C3/B2FB: A62D LDX $2D C3/B2FD: C220 REP #$20 (16 bit memory/accum.) C3/B2FF: A987EC LDA #$EC87 C3/B302: 9DC932 STA $32A9,X C3/B305: A97000 LDA #$0070 C3/B308: 9DCA33 STA $33CA,X C3/B30B: A96000 LDA #$60 C3/B30E: 9D4A34 STA $344A,X C3/B311: E220 SEP #$20 C3/B313: FE4936 INC $3649,X (execute the next entry in this queue's jump table) C3/B316: A9D8 LDA #$D8 C3/B318: 9DCA35 STA $35CA,X (save bank pointer to OAM data) C3/B31B: 200612 JSR $1206 C3/B31E: 202112 JSR $1221 (draw the sprites!) C3/B321: 38 SEC (not done with this queue yet) C3/B322: 60 RTS
C3/B323 unknow
C3/B323: A032B3 LDY #$B332 C3/B326: 4CFE05 JMP $05FE
C3/B329 unknow
C3/B329: 202D07 JSR $072D C3/B32C: A037B3 LDY #$B337 C3/B32F: 4C4006 JMP $0640
C3/B332 data: hotspot
C3/B332: 01 00 00 04 01
C3/B337 data: finger positions
C3/B337: 10B0 C3/B339: 48B0 C3/B33B: 80B0 C3/B33D: B8B0
C3/B33F data: windows
C3/B33F: 8B580D02 (window that holds item to win) C3/B343: A9580D02 (window that holds item bet) C3/B347: CB5C1C07 (window that holds the foolish challengers that will fight :P)
C3/B34B unknow
C3/B34B: C220 REP #$20 C3/B34D: AF8C16E7 LDA $E7168C C3/B351: 85F3 STA $F3 C3/B353: E220 SEP #$20 (8 bit memory/accum.) C3/B355: AF8E16E7 LDA $E7168E C3/B359: 85F5 STA $F5 C3/B35B: 20F2B3 JSR $B3F2 C3/B35E: A00068 LDY #$6800 C3/B361: 8C1621 STY $2116 C3/B364: A00010 LDY #$1000 C3/B367: 84E7 STY $E7 C3/B369: A600 LDX $00 C3/B36B: 20C6B3 JSR $B3C6 C3/B36E: C220 REP #$20 (16 bit memory/accum.) C3/B370: AF9216E7 LDA $E71692 C3/B374: 85F3 STA $F3 C3/B376: E220 SEP #$20 (8 bit memory/accum.) C3/B378: AF9416E7 LDA $E71694 C3/B37C: 85F5 STA $F5 C3/B37E: 20F2B3 JSR $B3F2 C3/B381: A00070 LDY #$7000 C3/B384: 8C1621 STY $2116 C3/B387: A00010 LDY #$1000 C3/B38A: 84E7 STY $E7 C3/B38C: A600 LDX $00 C3/B38E: 20C6B3 JSR $B3C6 C3/B391: C220 REP #$20 (16 bit memory/accum.) C3/B393: AF7A18E7 LDA $E7187A C3/B397: 85F3 STA $F3 C3/B399: E220 SEP #$20 (8 bit memory/accum.) C3/B39B: A9E7 LDA #$E7 C3/B39D: 85F5 STA $F5 C3/B39F: 20F2B3 JSR $B3F2 C3/B3A2: 20D8B3 JSR $B3D8 C3/B3A5: C220 REP #$20 (16 bit memory/accum.) C3/B3A7: A9B00A LDA #$0AB0 C3/B3AA: 85E7 STA $E7 C3/B3AC: E220 SEP #$20 (8 bit memory/accum.) C3/B3AE: A9E7 LDA #$E7 C3/B3B0: 85E9 STA $E9 C3/B3B2: A2C930 LDX #$30C9 C3/B3B5: 8E8121 STX $2181 C3/B3B8: A400 LDY $00 C3/B3BA: B7E7 LDA [$E7],Y C3/B3BC: 8D8021 STA $2180 C3/B3BF: C8 INY C3/B3C0: C06000 CPY #$0060 C3/B3C3: D0F5 BNE $B3BA C3/B3C5: 60 RTS
C3/B3C6 unknow
C3/B3C6: C220 REP #$20 (16 bit memory/accum.) C3/B3C8: BF8DB67E LDA $7EB68D,X C3/B3CC: 8D1821 STA $2118 C3/B3CF: E8 INX C3/B3D0: E8 INX C3/B3D1: E4E7 CPX $E7 C3/B3D3: D0F3 BNE $B3C8 C3/B3D5: E220 SEP #$20 (8 bit memory/accum.) C3/B3D7: 60 RTS
C3/B3D8 unknow
C3/B3D8: A600 LDX $00 C3/B3DA: C220 REP #$20 (16 bit memory/accum.) C3/B3DC: BF8DB67E LDA $7EB68D,X C3/B3E0: 38 SEC C3/B3E1: E98003 SBC #$0380 C3/B3E4: 9F49597E STA $7E5949,X C3/B3E8: E8 INX C3/B3E9: E8 INX C3/B3EA: E08005 CPX #$0580 C3/B3ED: D0ED BNE $B3DC C3/B3EF: E220 SEP #$20 (8 bit memory/accum.) C3/B3F1: 60 RTS
C3/B3F2 unknow
C3/B3F2: A08DB6 LDY #$B68D (Decompression destination address) C3/B3F5: 84F6 STY $F6 C3/B3F7: A97E LDA #$7E (Decompression destination bank) C3/B3F9: 85F8 STA $F8 C3/B3FB: 8B PHB C3/B3FC: A97E LDA #$7E C3/B3FE: 48 PHA C3/B3FF: AB PLB C3/B400: 226DFFC2 JSL $C2FF6D (LZ decompression routine) C3/B404: AB PLB C3/B405: 60 RTS
C3/B406 data: strings
C3/B406: 757CFFFFFFFFFFFF00 (" ") C3/B40F: 157D929EA59E9CADFFADA19EFF9CA19AA5A59EA7A09EAB00 ("Select the challenger") C3/B427: 0D79BFBFBFBFBFBFBFBFBFBFBFBFBF00 ("?????????????")
C3/B437 unknow
C3/B437: 7B TDC C3/B438: AA TAX C3/B439: C220 REP #$20 (16 bit memory/accum.) C3/B43B: 9F71A27E STA $7EA271,X C3/B43F: E8 INX C3/B440: E8 INX C3/B441: E4F3 CPX $F3 C3/B443: D0F6 BNE $B43B C3/B445: E220 SEP #$20 (8 bit memory/accum.) C3/B447: 60 RTS
C3/B448 unknow
C3/B448: 01 C3/B449: 0900023E C3/B44D: 01 C3/B44E: 0900123E
C3/B452 oam data
OAM data, format is pointer, timer, pointer, timer, pointer, end C3/B452: 48B4 C3/B454: 02 C3/B455: 4DB4 C3/B457: 02 C3/B458: 48B4 C3/B45A: FF
C3/B45B unknow
C3/B45B: 00 (config screen OAM data points here....but this would indicate that there's nothing) C3/B45C: 01 C3/B45D: 8082033E C3/B461: 01 (config screen OAM data points here) C3/B462: 800003BE (position 80,0, 03 is ?, giant arrow pointing up)
DP $26 is #$24 - initiate the shop menu C3/B466: 202F35 JSR $352F (fade out screen, disable H/DMA) C3/B469: 200469 JSR $6904 C3/B46C: 20086A JSR $6A08 C3/B46F: A903 LDA #$03 C3/B471: 8D0721 STA $2107 C3/B474: A9C0 LDA #$C0 C3/B476: 1443 TRB $43 (eventually disable channels 6 and 7 of HDMA) C3/B478: A902 LDA #$02 C3/B47A: 8546 STA $46 C3/B47C: 644A STZ $4A C3/B47E: 2086B8 JSR $B886 C3/B481: 208FB8 JSR $B88F C3/B484: 20B007 JSR $07B0 (finger OAM initiating) C3/B487: 20C4B8 JSR $B8C4 C3/B48A: 202B7E JSR $7E2B C3/B48D: 2018C0 JSR $C018 C3/B490: A925 LDA #$25 C3/B492: 8527 STA $27 (queue up to execute at C3/B49B) C3/B494: A901 LDA #$01 C3/B496: 8526 STA $26 (transition) C3/B498: 4C4135 JMP $3541
DP $26 is #$25 - sustain the shop menu C3/B49B: 208CB8 JSR $B88C C3/B49E: A508 LDA $08 C3/B4A0: 8980 BIT #$80 (did you press A?) C3/B4A2: F006 BEQ $B4AA (branch if not, BPL...) C3/B4A4: 20B20E JSR $0EB2 (makes the click sound) C3/B4A7: 4C92B7 JMP $B792 C3/B4AA: A509 LDA $09 C3/B4AC: 8980 BIT #$80 (did you press B?) C3/B4AE: F00C BEQ $B4BC (branch if not, BPL...) C3/B4B0: 20A90E JSR $0EA9 C3/B4B3: 9C0502 STZ $0205 C3/B4B6: A9FF LDA #$FF C3/B4B8: 8527 STA $27 C3/B4BA: 6426 STZ $26 C3/B4BC: 60 RTS
C3/B4BD buy item
DP $26 is #$26 - buying C3/B4BD: A910 LDA #$10 C3/B4BF: 0445 TSB $45 C3/B4C1: 20390F JSR $0F39 C3/B4C4: 20A6B8 JSR $B8A6 C3/B4C7: 2084BC JSR $BC84 C3/B4CA: 20A8BC JSR $BCA8 C3/B4CD: A509 LDA $09 C3/B4CF: 8980 BIT #$80 (did you press B?) C3/B4D1: F006 BEQ $B4D9 (branch if not, BPL...) C3/B4D3: 20A90E JSR $0EA9 C3/B4D6: 4C60B7 JMP $B760 C3/B4D9: A508 LDA $08 C3/B4DB: 8980 BIT #$80 (did you press A?) C3/B4DD: F006 BEQ $B4E5 (branch if not, BPL...) C3/B4DF: 202FB8 JSR $B82F C3/B4E2: 20E6B7 JSR $B7E6 C3/B4E5: 60 RTS C3/B4E6: A910 LDA #$10 C3/B4E8: 1445 TRB $45 C3/B4EA: A920 LDA #$20 C3/B4EC: 0445 TSB $45 C3/B4EE: 60 RTS C3/B4EF: 200883 JSR $8308 C3/B4F2: 20C2BF JSR $BFC2 C3/B4F5: 4C3857 JMP $5738 C3/B4F8: 200883 JSR $8308 C3/B4FB: 7B TDC C3/B4FC: A54B LDA $4B C3/B4FE: AA TAX C3/B4FF: BD6918 LDA $1869,X (Items currently in inventory) C3/B502: 4C3857 JMP $5738
C3/B505 deciding on how many items to buy
DP $26 is #$27 - deciding on how many to buy C3/B505: 20E6B4 JSR $B4E6 C3/B508: 20EFB4 JSR $B4EF C3/B50B: 2053BB JSR $BB53 C3/B50E: 20AEBB JSR $BBAE C3/B511: A50B LDA $0B C3/B513: 8901 BIT #$01 C3/B515: F022 BEQ $B539 C3/B517: 20A30E JSR $0EA3 C3/B51A: A528 LDA $28 (Number of items to buy) C3/B51C: C56A CMP $6A (Compare to current maximum) C3/B51E: F05C BEQ $B57C (Branch if equal) C3/B520: E628 INC $28 (Increase the number by one) C3/B522: 2053BB JSR $BB53 C3/B525: AD6018 LDA $1860 (Current GP, low byte) C3/B528: C5F1 CMP $F1 (Compare to that of the price) C3/B52A: AD6118 LDA $1861 (Current GP, middle byte) C3/B52D: E5F2 SBC $F2 (Subtract to that of the price) C3/B52F: AD6218 LDA $1862 (Current GP, high byte) C3/B532: E5F3 SBC $F3 (Subtact to that of the price) C3/B534: B002 BCS $B538 (Exit if money total is sufficient) C3/B536: C628 DEC $28 (Decrease the number of items to buy) C3/B538: 60 RTS
C3/B539 unknow
C3/B539: A50B LDA $0B C3/B53B: 8902 BIT #$02 C3/B53D: F00B BEQ $B54A C3/B53F: 20A30E JSR $0EA3 C3/B542: A528 LDA $28 C3/B544: C901 CMP #$01 C3/B546: F056 BEQ $B59E C3/B548: C628 DEC $28 C3/B54A: A50B LDA $0B C3/B54C: 8908 BIT #$08 C3/B54E: F033 BEQ $B583 C3/B550: 20A30E JSR $0EA3 C3/B553: A90A LDA #$0A C3/B555: 18 CLC C3/B556: 6528 ADC $28 C3/B558: C56A CMP $6A C3/B55A: F002 BEQ $B55E C3/B55C: B021 BCS $B57F C3/B55E: 8528 STA $28 C3/B560: 2053BB JSR $BB53 C3/B563: AD6018 LDA $1860 C3/B566: C5F1 CMP $F1 C3/B568: AD6118 LDA $1861 C3/B56B: E5F2 SBC $F2 C3/B56D: AD6218 LDA $1862 C3/B570: E5F3 SBC $F3 C3/B572: B007 BCS $B57B C3/B574: A528 LDA $28 C3/B576: 38 SEC C3/B577: E90A SBC #$0A C3/B579: 8528 STA $28 C3/B57B: 60 RTS C3/B57C: 4C9EB5 JMP $B59E
C3/B57F unknow
C3/B57F: A528 LDA $28 C3/B581: 80DB BRA $B55E C3/B583: A50B LDA $0B C3/B585: 8904 BIT #$04 C3/B587: F015 BEQ $B59E C3/B589: 20A30E JSR $0EA3 C3/B58C: A528 LDA $28 C3/B58E: 38 SEC C3/B58F: E90A SBC #$0A C3/B591: 3007 BMI $B59A C3/B593: C901 CMP #$01 C3/B595: 9007 BCC $B59E C3/B597: 8528 STA $28 C3/B599: 60 RTS
C3/B59A unknow
C3/B59A: A901 LDA #$01 C3/B59C: 8528 STA $28 C3/B59E: A509 LDA $09 C3/B5A0: 8980 BIT #$80 (did you press B?) C3/B5A2: F006 BEQ $B5AA (branch if not, BPL...) C3/B5A4: 20A90E JSR $0EA9 C3/B5A7: 4CB3B7 JMP $B7B3
C3/B5AA unknow
C3/B5AA: A508 LDA $08 C3/B5AC: 8980 BIT #$80 (did you press A?) C3/B5AE: F006 BEQ $B5B6 (branch if not, BPL...) C3/B5B0: 20CE0E JSR $0ECE (Makes the Cha-ching sound play) C3/B5B3: 20B7B5 JSR $B5B7 (Buying function) C3/B5B6: 60 RTS
C3/B5B7 buy function
C3/B5B7: 20C2BF JSR $BFC2 (Function loads A with item index taken from $4B) C3/B5BA: A400 LDY $00 (Load Y with $00) C3/B5BC: D96918 CMP $1869,Y (Is this item [in A] in the inventory [at Y]?) C3/B5BF: F020 BEQ $B5E1 (If so, branch -> Load A with $28) C3/B5C1: C8 INY (Otherwise, increment Y to check the next index) C3/B5C2: C00001 CPY #$0100 (Is Y 255 yet?) C3/B5C5: D0F5 BNE $B5BC (If not, branch -> check inventory list again) C3/B5C7: A400 LDY $00 (Load Y with $00) C3/B5C9: B96918 LDA $1869,Y (Load inventory item Y) C3/B5CC: C9FF CMP #$FF (Is it the "empty" byte?) C3/B5CE: F003 BEQ $B5D3 (If so, branch -> don't need to keep checking, this is it and we don't have it yet) C3/B5D0: C8 INY (Otherwise, increment Y to check the next index) C3/B5D1: 80F6 BRA $B5C9 (Go to the next item) C3/B5D3: A528 LDA $28 (Load A with $28 [holds the quantity to add]) C3/B5D5: 996919 STA $1969,Y (Store it as the quantity of this item [had none before]) C3/B5D8: BF899D7E LDA $7E9D89,X (Load working RAM for the X location on the list) C3/B5DC: 996918 STA $1869,Y (Store it in items currently in inventory at Y) C3/B5DF: 8009 BRA $B5EA (Go to function [see below]) C3/B5E1: A528 LDA $28 (Load A with $28 [the quantity to add]) C3/B5E3: 18 CLC (Clear carry) C3/B5E4: 796919 ADC $1969,Y (Add the old quantity to the new) C3/B5E7: 996919 STA $1969,Y (Store it in the quantity of this item) C3/B5EA: 2053BB JSR $BB53 ????? C3/B5ED: 38 SEC (Set the carry in case of borrowing) C3/B5EE: AD6018 LDA $1860 (Load gold low byte) C3/B5F1: E5F1 SBC $F1 (Subtract the price low byte) C3/B5F3: 8D6018 STA $1860 (Store it in the gold low byte) C3/B5F6: C220 REP #$20 (16 bit memory/accum.) C3/B5F8: AD6118 LDA $1861 (Load the gold upper bytes) C3/B5FB: E5F2 SBC $F2 (Subtract the price upper byte) C3/B5FD: 8D6118 STA $1861 (Store the new balance of the gold upper bytes) C3/B600: E220 SEP #$20 (8 bit memory/accum.) C3/B602: 20CE32 JSR $32CE C3/B605: A0BDC3 LDY #$C3BD C3/B608: 20F902 JSR $02F9 ("Bye! ") C3/B60B: 4C7DB8 JMP $B87D
C3/B60E unknow
DP $26 is #$28 C3/B60E: A520 LDA $20 C3/B610: D003 BNE $B615 C3/B612: 20B3B7 JSR $B7B3 C3/B615: 60 RTS
C3/B616 sell function
DP $26 is #$29 - selling C3/B616: A910 LDA #$10 C3/B618: 0445 TSB $45 C3/B61A: 7B TDC C3/B61B: 852A STA $2A C3/B61D: 20FD0E JSR $0EFD C3/B620: 20641F JSR $1F64 C3/B623: B050 BCS $B675 C3/B625: 20227D JSR $7D22 C3/B628: A509 LDA $09 C3/B62A: 8980 BIT #$80 (did you press B?) C3/B62C: F006 BEQ $B634 (branch if not, BPL...) C3/B62E: 20A90E JSR $0EA9 C3/B631: 4C60B7 JMP $B760
C3/B634 unknow
C3/B634: A508 LDA $08 C3/B636: 8980 BIT #$80 (did you press A?) C3/B638: F03B BEQ $B675 (branch if not, BPL...) C3/B63A: 20CBBF JSR $BFCB C3/B63D: C9FF CMP #$FF C3/B63F: F02E BEQ $B66F C3/B641: 20B20E JSR $0EB2 (makes the click sound) C3/B644: A9C0 LDA #$C0 C3/B646: 1446 TRB $46 C3/B648: 20156A JSR $6A15 C3/B64B: 20FD0E JSR $0EFD C3/B64E: 206813 JSR $1368 (trigger NMI) C3/B651: A92A LDA #$2A C3/B653: 8526 STA $26 (execute at C3/B676) C3/B655: A20800 LDX #$0008 C3/B658: 8655 STX $55 C3/B65A: A23400 LDX #$0034 C3/B65D: 8657 STX $57 C3/B65F: 20A5BA JSR $BAA5 C3/B662: 20D3BA JSR $BAD3 C3/B665: A0B1C3 LDY #$C3B1 C3/B668: 20F902 JSR $02F9 ("How many?") C3/B66B: 206DB8 JSR $B86D C3/B66E: 60 RTS
C3/B66F unknow
C3/B66F: 20C00E JSR $0EC0 (makes the buzzer sound) C3/B672: 205D30 JSR $305D C3/B675: 60 RTS
C3/B676 deciding how many items to sell
DP $26 is #$2A - deciding how many items to sell C3/B676: 20E6B4 JSR $B4E6 C3/B679: 20F8B4 JSR $B4F8 C3/B67C: 2065BB JSR $BB65 C3/B67F: 20B7BB JSR $BBB7 C3/B682: A50B LDA $0B C3/B684: 8901 BIT #$01 C3/B686: F00D BEQ $B695 C3/B688: 20A30E JSR $0EA3 C3/B68B: A528 LDA $28 C3/B68D: C564 CMP $64 C3/B68F: F04F BEQ $B6E0 C3/B691: E628 INC $28 C3/B693: 804B BRA $B6E0 C3/B695: A50B LDA $0B C3/B697: 8902 BIT #$02 C3/B699: F00B BEQ $B6A6 C3/B69B: 20A30E JSR $0EA3 C3/B69E: A528 LDA $28 C3/B6A0: C901 CMP #$01 C3/B6A2: F03C BEQ $B6E0 C3/B6A4: C628 DEC $28 C3/B6A6: A50B LDA $0B C3/B6A8: 8908 BIT #$08 C3/B6AA: F018 BEQ $B6C4 C3/B6AC: 20A30E JSR $0EA3 C3/B6AF: A90A LDA #$0A C3/B6B1: 18 CLC C3/B6B2: 6528 ADC $28 C3/B6B4: C564 CMP $64 C3/B6B6: F006 BEQ $B6BE C3/B6B8: B004 BCS $B6BE C3/B6BA: 8528 STA $28 C3/B6BC: 8022 BRA $B6E0 C3/B6BE: A564 LDA $64 C3/B6C0: 8528 STA $28 C3/B6C2: 801C BRA $B6E0 C3/B6C4: A50B LDA $0B C3/B6C6: 8904 BIT #$04 C3/B6C8: F016 BEQ $B6E0 C3/B6CA: 20A30E JSR $0EA3 C3/B6CD: A528 LDA $28 C3/B6CF: 38 SEC C3/B6D0: E90A SBC #$0A C3/B6D2: 3008 BMI $B6DC C3/B6D4: C901 CMP #$01 C3/B6D6: 9008 BCC $B6E0 C3/B6D8: 8528 STA $28 C3/B6DA: 8004 BRA $B6E0 C3/B6DC: A901 LDA #$01 C3/B6DE: 8528 STA $28 C3/B6E0: A509 LDA $09 C3/B6E2: 8980 BIT #$80 C3/B6E4: F015 BEQ $B6FB C3/B6E6: 20A90E JSR $0EA9 C3/B6E9: A600 LDX $00 C3/B6EB: 8639 STX $39 C3/B6ED: 863B STX $3B C3/B6EF: 205AB9 JSR $B95A C3/B6F2: A026C3 LDY #$C326 C3/B6F5: 20F902 JSR $02F9 (display "Sell") C3/B6F8: 4CCFB7 JMP $B7CF
C3/B6FB unknow
C3/B6FB: A508 LDA $08 C3/B6FD: 8980 BIT #$80 (did you press A?) C3/B6FF: F006 BEQ $B707 (branch if not, BPL...) C3/B701: 20CE0E JSR $0ECE (Makes the Cha-ching sound play) C3/B704: 2008B7 JSR $B708 (this JSR is useless...) C3/B707: 60 RTS
C3/B708 sell function
C3/B708: 2065BB JSR $BB65 C3/B70B: 18 CLC C3/B70C: AD6018 LDA $1860 (Load the gold lower byte) C3/B70F: 65F1 ADC $F1 (Add the new amount (probably selling price)) C3/B711: 8D6018 STA $1860 (Store the new total in the gold lower byte) C3/B714: C220 REP #$20 (16 bit memory/accum.) C3/B716: AD6118 LDA $1861 (Load the gold upper bytes) C3/B719: 65F2 ADC $F2 (Add the new amount) C3/B71B: 8D6118 STA $1861 (Store it back to the gold upper bytes) C3/B71E: E220 SEP #$20 (8 bit memory/accum.) C3/B720: A564 LDA $64 (Load $64 [number in possession at first?]) C3/B722: C528 CMP $28 (Did you sell that many?) C3/B724: F00E BEQ $B734 (If you did, branch -> Sold them all) C3/B726: 20CBBF JSR $BFCB (Still have some: Function $BFCB) C3/B729: B96919 LDA $1969,Y (Load quantity of item Y) C3/B72C: 38 SEC (Set the carry in case of borrowing) C3/B72D: E528 SBC $28 (Subtract number sold) C3/B72F: 996919 STA $1969,Y (Store it back to quantity of item Y) C3/B732: 800C BRA $B740 C3/B734: 20CBBF JSR $BFCB (Sold them all: Function $BFCB) C3/B737: A9FF LDA #$FF (Load an "empty" item) C3/B739: 996918 STA $1869,Y (Store it in inventory at Y) C3/B73C: 7B TDC (Clear A) C3/B73D: 996919 STA $1969,Y (Now put zero into quantity for item Y) C3/B740: 20CE32 JSR $32CE C3/B743: A0BDC3 LDY #$C3BD C3/B746: 20F902 JSR $02F9 ("Bye! ") C3/B749: A92B LDA #$2B C3/B74B: 8526 STA $26 (execute at C3/B752) C3/B74D: A920 LDA #$20 C3/B74F: 8520 STA $20 C3/B751: 60 RTS
C3/B752 sold an item
DP $26 is #$2B - sold an item C3/B752: A520 LDA $20 C3/B754: D009 BNE $B75F C3/B756: A600 LDX $00 C3/B758: 8639 STX $39 C3/B75A: 863B STX $3B C3/B75C: 20CFB7 JSR $B7CF C3/B75F: 60 RTS
C3/B760 unknow
C3/B760: A9C0 LDA #$C0 C3/B762: 1446 TRB $46 C3/B764: 6447 STZ $47 C3/B766: 2086B8 JSR $B886 C3/B769: 208FB8 JSR $B88F C3/B76C: 20FD0E JSR $0EFD C3/B76F: 204EB9 JSR $B94E C3/B772: 206813 JSR $1368 (trigger NMI) C3/B775: 20390F JSR $0F39 C3/B778: 205AB9 JSR $B95A C3/B77B: A026C3 LDY #$C326 C3/B77E: 20F902 JSR $02F9 ("BUY SELL EXIT") C3/B781: A06FC3 LDY #$C36F C3/B784: 20F902 JSR $02F9 ("Hi! Can I help you?") C3/B787: A400 LDY $00 C3/B789: 8439 STY $39 C3/B78B: 843B STY $3B C3/B78D: A925 LDA #$25 C3/B78F: 8526 STA $26 C3/B791: 60 RTS
C3/B792 code and table jump
C3/B792: 7B TDC C3/B793: A54B LDA $4B C3/B795: 0A ASL A C3/B796: AA TAX C3/B797: 7C9AB7 JMP ($B79A,X) C3/B79A: A3B7 C3/B79C: C7B7 C3/B79E: A0B7
C3/B7A0 unknow
C3/B7A0: 4CB3B4 JMP $B4B3
C3/B7A3 unknow
C3/B7A3: 20A0B8 JSR $B8A0 C3/B7A6: 20A9B8 JSR $B8A9 C3/B7A9: A908 LDA #$08 C3/B7AB: 1447 TRB $47 C3/B7AD: 209AC0 JSR $C09A C3/B7B0: 203BC2 JSR $C23B C3/B7B3: A00001 LDY #$0100 C3/B7B6: 8439 STY $39 C3/B7B8: A400 LDY $00 C3/B7BA: 843B STY $3B C3/B7BC: 2086B9 JSR $B986 C3/B7BF: 20FDBC JSR $BCFD C3/B7C2: A926 LDA #$26 C3/B7C4: 8526 STA $26 C3/B7C6: 60 RTS
C3/B7C7 unknow
C3/B7C7: 20390F JSR $0F39 C3/B7CA: 20E0BB JSR $BBE0 C3/B7CD: 8003 BRA $B7D2 C3/B7CF: 2002BC JSR $BC02 C3/B7D2: 205AB9 JSR $B95A C3/B7D5: A026C3 LDY #$C326 C3/B7D8: 20F902 JSR $02F9 (display "BUY SELL EXIT") C3/B7DB: A0A2C3 LDY #$C3A2 C3/B7DE: 20F902 JSR $02F9 (display "Whatcha got?") C3/B7E1: A929 LDA #$29 C3/B7E3: 8526 STA $26 C3/B7E5: 60 RTS
C3/B7E6 unknow
C3/B7E6: 20C2BF JSR $BFC2 C3/B7E9: 202183 JSR $8321 (Multiply A by 30) C3/B7EC: AE3421 LDX $2134 (Load X with the result) C3/B7EF: BF0050D8 LDA $D85000,X (Load item type X) C3/B7F3: 2907 AND #$07 C3/B7F5: D013 BNE $B80A (branch if not a "Tool") C3/B7F7: 2092BC JSR $BC92 C3/B7FA: A564 LDA $64 C3/B7FC: F00C BEQ $B80A (branch if you have none of this tool) C3/B7FE: 20C00E JSR $0EC0 (makes the buzzer sound) C3/B801: A0F5C3 LDY #$C3F5 C3/B804: 20F902 JSR $02F9 (display "One's plenty!") C3/B807: 4C7DB8 JMP $B87D (note that all this does is prevent you from buying more after you already have one...)
C3/B80A unknow
C3/B80A: AD6218 LDA $1862 C3/B80D: D02F BNE $B83E C3/B80F: 7B TDC C3/B810: A54B LDA $4B C3/B812: 0A ASL A C3/B813: AA TAX C3/B814: C220 REP #$20 (16 bit memory/accum.) C3/B816: BF099F7E LDA $7E9F09,X (Load the price that was stored to working RAM) C3/B81A: CD6018 CMP $1860 (Is it equal to the 2 lower gold bytes?) C3/B81D: E220 SEP #$20 (8 bit memory/accum.) C3/B81F: F01D BEQ $B83E (If so, branch -> ) C3/B821: 901B BCC $B83E (If it's less, branch anyway -> ) C3/B823: 20C00E JSR $0EC0 (Otherwise, it's more than you have -> buzzer sound for you) C3/B826: A0CEC3 LDY #$C3CE C3/B829: 20F902 JSR $02F9 (display "You need more GP!") C3/B82C: 4C7DB8 JMP $B87D
C3/B82F unknow
C3/B82F: A564 LDA $64 C3/B831: 18 CLC C3/B832: 6565 ADC $65 C3/B834: 8569 STA $69 C3/B836: A963 LDA #$63 C3/B838: 38 SEC C3/B839: E569 SBC $69 C3/B83B: 856A STA $6A C3/B83D: 60 RTS
C3/B83E unknow
C3/B83E: A569 LDA $69 C3/B840: C963 CMP #$63 C3/B842: 900C BCC $B850 (branch if less than 99 of item) C3/B844: 20C00E JSR $0EC0 (makes the buzzer sound) C3/B847: A0E2C3 LDY #$C3E2 C3/B84A: 20F902 JSR $02F9 (display "Too many!") C3/B84D: 4C7DB8 JMP $B87D
C3/B850 unknow
C3/B850: 20B20E JSR $0EB2 (makes the click sound) C3/B853: A20800 LDX #$0008 C3/B856: 8655 STX $55 C3/B858: A23400 LDX #$0034 C3/B85B: 8657 STX $57 C3/B85D: A927 LDA #$27 C3/B85F: 8526 STA $26 C3/B861: 20A5BA JSR $BAA5 C3/B864: 20BABA JSR $BABA C3/B867: A096C3 LDY #$C396 C3/B86A: 20F902 JSR $02F9 (display "How many?") C3/B86D: A00001 LDY #$0100 C3/B870: 843B STY $3B C3/B872: A400 LDY $00 C3/B874: 8439 STY $39 C3/B876: 2096A7 JSR $A796 C3/B879: 20F4A6 JSR $A6F4 C3/B87C: 60 RTS
C3/B87D unknow
C3/B87D: A928 LDA #$28 C3/B87F: 8526 STA $26 C3/B881: A920 LDA #$20 C3/B883: 8520 STA $20 C3/B885: 60 RTS
C3/B886 unknow
C3/B886: A095B8 LDY #$B895 C3/B889: 4CFE05 JMP $05FE
C3/B88C unknow
C3/B88C: 202D07 JSR $072D C3/B88F: A09AB8 LDY #$B89A C3/B892: 4C4006 JMP $0640
C3/B895 data: hot spot for shops
C3/B895: 01 00 00 03 01
C3/B89A data: finger positions
Finger positioning data for shops C3/B89A: 0834 C3/B89C: 3034 C3/B89E: 6034
C3/B8A0 unknow
C3/B8A0: A0AFB8 LDY #$B8AF C3/B8A3: 4CFE05 JMP $05FE
C3/B8A6 unknow
C3/B8A6: 202D07 JSR $072D C3/B8A9: A0B4B8 LDY #$B8B4 C3/B8AC: 4C4006 JMP $0640
C3/B8AF data: hot spots for buying
C3/B8AF: 80 00 00 01 08
C3/B8B4 data: finger positions for buying
C3/B8B4: 0034 C3/B8B6: 0040 C3/B8B8: 004C C3/B8BA: 0058 C3/B8BC: 0064 C3/B8BE: 0070 C3/B8C0: 007C C3/B8C2: 0088
C3/B8C4 unknow
C3/B8C4: 20286A JSR $6A28 C3/B8C7: 202D6A JSR $6A2D C3/B8CA: 20326A JSR $6A32 C3/B8CD: A01BBC LDY #$BC1B ;Title window in shop/sell menu C3/B8D0: 204103 JSR $0341 C3/B8D3: A01FBC LDY #$BC1F ;Window behind "Hi! Can I help you?" text in shop C3/B8D6: 204103 JSR $0341 C3/B8D9: A023BC LDY #$BC23 ;Buy Sell Exit window in shop C3/B8DC: 204103 JSR $0341 C3/B8DF: A027BC LDY #$BC27 ;Window behind gil in shop C3/B8E2: 204103 JSR $0341 C3/B8E5: A02BBC LDY #$BC2B ;Empty window at the bottom of shop/item list while selling C3/B8E8: 204103 JSR $0341 C3/B8EB: A02FBC LDY #$BC2F ;Title window in buy menu C3/B8EE: 204103 JSR $0341 C3/B8F1: A033BC LDY #$BC33 ;Window behind "Help yourself!" text in buy menu C3/B8F4: 204103 JSR $0341 C3/B8F7: A03BBC LDY #$BC3B ;Window behind characters in buy menu C3/B8FA: 204103 JSR $0341 C3/B8FD: A037BC LDY #$BC37 ;Window behind item list in buy menu C3/B900: 204103 JSR $0341 C3/B903: A03FBC LDY #$BC3F ;Title window while buying/selling item C3/B906: 204103 JSR $0341 C3/B909: A053BC LDY #$BC53 ;Gil Owned Equipped window while buying/selling item C3/B90C: 204103 JSR $0341 C3/B90F: A04BBC LDY #$BC4B ;Window behind description while buying/selling item C3/B912: 204103 JSR $0341 C3/B915: A043BC LDY #$BC43 ;Window behind "How many?" while buying/selling item C3/B918: 204103 JSR $0341 C3/B91B: A04FBC LDY #$BC4F ;Window behind characters while buying/selling item C3/B91E: 204103 JSR $0341 C3/B921: A047BC LDY #$BC47 ;Window behind item being bought/sold in shop C3/B924: 204103 JSR $0341 C3/B927: 20520E JSR $0E52 C3/B92A: 20600E JSR $0E60 C3/B92D: 204EB9 JSR $B94E C3/B930: 20280E JSR $0E28 C3/B933: 20440E JSR $0E44 C3/B936: 205AB9 JSR $B95A C3/B939: A026C3 LDY #$C326 C3/B93C: 20F902 JSR $02F9 (display "BUY SELL EXIT") C3/B93F: A06FC3 LDY #$C36F C3/B942: 20F902 JSR $02F9 (display "Hi! Can I help you?") C3/B945: 20991B JSR $1B99 C3/B948: 206E0E JSR $0E6E C3/B94B: 4C7C0E JMP $0E7C
C3/B94E unknow
C3/B94E: 20156A JSR $6A15 C3/B951: 20196A JSR $6A19 C3/B954: 201E6A JSR $6A1E C3/B957: 4C236A JMP $6A23
C3/B95A unknow
C3/B95A: 203C6A JSR $6A3C C3/B95D: 20416A JSR $6A41 C3/B960: 20466A JSR $6A46 C3/B963: 20D3BF JSR $BFD3 C3/B966: 20F7C2 JSR $C2F7 C3/B969: A038C3 LDY #$C338 C3/B96C: 20F902 JSR $02F9 (display "GP") C3/B96F: 20F2C2 JSR $C2F2 C3/B972: AC6018 LDY $1860 C3/B975: 84F1 STY $F1 C3/B977: AD6218 LDA $1862 C3/B97A: 85F3 STA $F3 C3/B97C: 208205 JSR $0582 C3/B97F: A2337A LDX #$7A33 C3/B982: 20AC04 JSR $04AC C3/B985: 60 RTS
C3/B986 unknow
C3/B986: 205AB9 JSR $B95A C3/B989: A085C3 LDY #$C385 C3/B98C: 20F902 JSR $02F9 (display "Help yourself!") C3/B98F: 20E1C2 JSR $C2E1 (display "Owned:" and "Equipped:") C3/B992: A400 LDY $00 C3/B994: 84F1 STY $F1 C3/B996: 64E6 STZ $E6 C3/B998: C220 REP #$20 (16 bit memory/accum.) C3/B99A: A5F1 LDA $F1 C3/B99C: 0A ASL A C3/B99D: AA TAX C3/B99E: BFFCB9C3 LDA $C3B9FC,X C3/B9A2: 8F899E7E STA $7E9E89 C3/B9A6: A5F1 LDA $F1 C3/B9A8: 18 CLC C3/B9A9: 6567 ADC $67 C3/B9AB: 1A INC A C3/B9AC: AA TAX C3/B9AD: E220 SEP #$20 (8 bit memory/accum.) C3/B9AF: BFC07AC4 LDA $C47AC0,X C3/B9B3: A6F1 LDX $F1 C3/B9B5: 9F899D7E STA $7E9D89,X C3/B9B9: C9FF CMP #$FF C3/B9BB: F027 BEQ $B9E4 C3/B9BD: 2068C0 JSR $C068 (write the item name) C3/B9C0: 20D97F JSR $7FD9 (write text written to $2180) C3/B9C3: A6F1 LDX $F1 C3/B9C5: BF899D7E LDA $7E9D89,X C3/B9C9: 202183 JSR $8321 (Multiply the index by 30) C3/B9CC: 200CBA JSR $BA0C C3/B9CF: 202E05 JSR $052E C3/B9D2: C220 REP #$20 (16 bit memory/accum.) C3/B9D4: AF899E7E LDA $7E9E89 C3/B9D8: 18 CLC C3/B9D9: 691A00 ADC #$001A C3/B9DC: AA TAX C3/B9DD: E220 SEP #$20 (8 bit memory/accum.) C3/B9DF: 209A04 JSR $049A (write GP cost) C3/B9E2: E6E6 INC $E6 C3/B9E4: A4F1 LDY $F1 C3/B9E6: C8 INY C3/B9E7: 84F1 STY $F1 C3/B9E9: C00800 CPY #$0008 (have we done 8 items?) C3/B9EC: D0AA BNE $B998 (branch if not) C3/B9EE: A5E6 LDA $E6 C3/B9F0: 8554 STA $54 C3/B9F2: 2057BC JSR $BC57 C3/B9F5: 2084BC JSR $BC84 C3/B9F8: 20A8BC JSR $BCA8 C3/B9FB: 60 RTS
C3/B9FC data
C3/B9FC: 0D7A (position of item 1) C3/B9FE: 8D7A (position of item 2) C3/BA00: 0D7B (position of item 3) C3/BA02: 8D7B (position of item 4) C3/BA04: 0D7C (position of item 5) C3/BA06: 8D7C (position of item 6) C3/BA08: 0D7D (position of item 7) C3/BA0A: 8D7D (position of item 8)
C3/BA0C unknow
C3/BA0C: C220 REP #$20 C3/BA0E: AD3421 LDA $2134 C3/BA11: 18 CLC C3/BA12: 691C00 ADC #$001C C3/BA15: AA TAX C3/BA16: BF0050D8 LDA $D85000,X (Load item type X) C3/BA1A: 202CBA JSR $BA2C C3/BA1D: 85F3 STA $F3 C3/BA1F: A5F1 LDA $F1 C3/BA21: 0A ASL A C3/BA22: AA TAX C3/BA23: A5F3 LDA $F3 C3/BA25: 9F099F7E STA $7E9F09,X C3/BA29: E220 SEP #$20 (8 bit memory/accum.) C3/BA2B: 60 RTS
C3/BA2C modify shop costs
Modify shop costs, depending on Shop's Cost Modifier and/or leader of party C3/BA2C: 48 PHA C3/BA2D: A667 LDX $67 C3/BA2F: 7B TDC C3/BA30: E220 SEP #$20 (8 bit memory/accum.) C3/BA32: BFC07AC4 LDA $C47AC0,X (Shop modifcation byte) C3/BA36: 2938 AND #$38 (only uses bits 3, 4, and 5) C3/BA38: C220 REP #$20 (16 bit memory/accum.) C3/BA3A: 4A LSR A C3/BA3B: 4A LSR A C3/BA3C: AA TAX C3/BA3D: 68 PLA C3/BA3E: 7C41BA JMP ($BA41,X)
C3/BA41 pointers: shop costs modifications
C3/BA41: 55BA (1.0x cost) C3/BA43: 4FBA (1.5x cost) C3/BA45: 56BA (2.0x cost) C3/BA47: 58BA (0.5x cost) C3/BA49: 5ABA (0.5x cost if female leads, 1.5x otherwise) C3/BA4B: 76BA (0.5x cost if male leads, 1.5x otherwise) C3/BA4D: 92BA (0.5x cost if Edgar leads, 1.0x otherwise)
C3/BA4F unknow
C3/BA4F: 85E7 STA $E7 C3/BA51: 4A LSR A C3/BA52: 18 CLC C3/BA53: 65E7 ADC $E7 C3/BA55: 60 RTS
C3/BA56 unknow
C3/BA56: 0A ASL A C3/BA57: 60 RTS
C3/BA58 unknow
C3/BA58: 4A LSR A C3/BA59: 60 RTS
C3/BA5A unknow
C3/BA5A: 48 PHA C3/BA5B: E220 SEP #$20 (8 bit memory/accum.) C3/BA5D: AD0202 LDA $0202 (party leader) C3/BA60: C906 CMP #$06 (is it Celes?) C3/BA62: F00D BEQ $BA71 (branch if so, cut cost in half) C3/BA64: C908 CMP #$08 (is it Relm?) C3/BA66: F009 BEQ $BA71 (branch if so, cut cost in half) C3/BA68: C900 CMP #$00 (is it Terra?) C3/BA6A: F005 BEQ $BA71 (branch if so, cut cost in half) C3/BA6C: C220 REP #$20 (16 bit memory/accum.) C3/BA6E: 68 PLA C3/BA6F: 80DE BRA $BA4F (cost is 1.5x) C3/BA71: C220 REP #$20 (16 bit memory/accum.) C3/BA73: 68 PLA C3/BA74: 80E2 BRA $BA58 (cost is 0.5x) C3/BA76: 48 PHA C3/BA77: E220 SEP #$20 (8 bit memory/accum.) C3/BA79: AD0202 LDA $0202 (party leader) C3/BA7C: C906 CMP #$06 (is it Celes?) C3/BA7E: F00D BEQ $BA8D (branch if so, make cost half again) C3/BA80: C908 CMP #$08 (is it Relm?) C3/BA82: F009 BEQ $BA8D (branch if so, make cost half again) C3/BA84: C900 CMP #$00 (is it Terra?) C3/BA86: F005 BEQ $BA8D (branch if so, make cost half again) C3/BA88: C220 REP #$20 (16 bit memory/accum.) C3/BA8A: 68 PLA C3/BA8B: 80CB BRA $BA58 (cost is 0.5x) C3/BA8D: C220 REP #$20 (16 bit memory/accum.) C3/BA8F: 68 PLA C3/BA90: 80BD BRA $BA4F (cost is 1.5x) C3/BA92: 48 PHA C3/BA93: E220 SEP #$20 (8 bit memory/accum.) C3/BA95: AD0202 LDA $0202 (party leader) C3/BA98: C904 CMP #$04 (is it Edgar?) C3/BA9A: F004 BEQ $BAA0 C3/BA9C: C220 REP #$20 (16 bit memory/accum.) C3/BA9E: 68 PLA C3/BA9F: 60 RTS
C3/BAA0 unknow
C3/BAA0: C220 REP #$20 (16 bit memory/accum.) C3/BAA2: 68 PLA C3/BAA3: 80B3 BRA $BA58 (cost is 0.5x)
C3/BAA5 unknow
C3/BAA5: 20390F JSR $0F39 C3/BAA8: 205AB9 JSR $B95A C3/BAAB: 20E1C2 JSR $C2E1 (display "Owned:" and "Equipped:") C3/BAAE: C220 REP #$20 (16 bit memory/accum.) C3/BAB0: A90F7A LDA #$7A0F (position of item aftering confirming wanting to buy) C3/BAB3: 8F899E7E STA $7E9E89 C3/BAB7: E220 SEP #$20 (8 bit memory/accum.) C3/BAB9: 60 RTS
C3/BABA unknow
C3/BABA: 20ECBA JSR $BAEC C3/BABD: 2084BC JSR $BC84 C3/BAC0: 20A8BC JSR $BCA8 C3/BAC3: 20C2BF JSR $BFC2 C3/BAC6: 2068C0 JSR $C068 (write item name) C3/BAC9: 20D97F JSR $7FD9 C3/BACC: A901 LDA #$01 C3/BACE: 8528 STA $28 C3/BAD0: 4CAEBB JMP $BBAE
C3/BAD3 unknow
C3/BAD3: 209DBC JSR $BC9D C3/BAD6: 2066BF JSR $BF66 C3/BAD9: 20F2BA JSR $BAF2 C3/BADC: 20CBBF JSR $BFCB C3/BADF: 2068C0 JSR $C068 (write item name) C3/BAE2: 20D97F JSR $7FD9 C3/BAE5: A901 LDA #$01 C3/BAE7: 8528 STA $28 C3/BAE9: 4CB7BB JMP $BBB7
C3/BAEC unknow
C3/BAEC: 20C2BF JSR $BFC2 C3/BAEF: 4CF8BA JMP $BAF8 (BRA is better)
C3/BAF2 unknow
C3/BAF2: 20CBBF JSR $BFCB C3/BAF5: 4CF8BA JMP $BAF8 (why?)
C3/BAF8 unknow
C3/BAF8: 202183 JSR $8321 (Multiply A by 30) C3/BAFB: AE3421 LDX $2134 (Load X with the result) C3/BAFE: BF0050D8 LDA $D85000,X (Load item type X) C3/BB02: 2907 AND #$07 (Zero out upper nibble) C3/BB04: F04C BEQ $BB52 (If it's a tool [item type 0], branch and exit) C3/BB06: C906 CMP #$06 (Is it an "item" item?) C3/BB08: F048 BEQ $BB52 (If it is, branch and exit) C3/BB0A: C901 CMP #$01 (Is it a weapon?) C3/BB0C: F022 BEQ $BB30 (If it is, branch ) C3/BB0E: 20F2C2 JSR $C2F2 (set text color to white) C3/BB11: BF1450D8 LDA $D85014,X (Load def. pwr) C3/BB15: 20E004 JSR $04E0 C3/BB18: A2A97B LDX #$7BA9 (position of defense value) C3/BB1B: 20C004 JSR $04C0 C3/BB1E: 20F7C2 JSR $C2F7 (set text color to blue) C3/BB21: A061C3 LDY #$C361 C3/BB24: 20F902 JSR $02F9 ("Defense") C3/BB27: A06BC3 LDY #$C36B C3/BB2A: 20F902 JSR $02F9 ("...") C3/BB2D: 4CF2C2 JMP $C2F2 (set text color to white)
C3/BB30 unknow
C3/BB30: 20F2C2 JSR $C2F2 (set text color to white) C3/BB33: BF1450D8 LDA $D85014,X (Load attack pwr) C3/BB37: 20E004 JSR $04E0 C3/BB3A: A2A97B LDX #$7BA9 (position of attack's value) C3/BB3D: 20C004 JSR $04C0 C3/BB40: 20F7C2 JSR $C2F7 (set text color white) C3/BB43: A057C3 LDY #$C357 C3/BB46: 20F902 JSR $02F9 ("Bat Pwr") C3/BB49: A06BC3 LDY #$C36B C3/BB4C: 20F902 JSR $02F9 ("...") C3/BB4F: 20F2C2 JSR $C2F2 (set text color to white) C3/BB52: 60 RTS
C3/BB53 unknow
C3/BB53: 7B TDC C3/BB54: A54B LDA $4B C3/BB56: 0A ASL A C3/BB57: AA TAX C3/BB58: C220 REP #$20 (16 bit memory/accum.) C3/BB5A: BF099F7E LDA $7E9F09,X (Load the price from working RAM) C3/BB5E: 85F1 STA $F1 (Store to $F1) C3/BB60: E220 SEP #$20 (8 bit memory/accum.) C3/BB62: 4C81BB JMP $BB81 (BRA would work here)
C3/BB65 unknow
C3/BB65: 20CBBF JSR $BFCB C3/BB68: 202183 JSR $8321 (Multiply A by 30) C3/BB6B: C220 REP #$20 (16 bit memory/accum.) C3/BB6D: AD3421 LDA $2134 (Load X with the result) C3/BB70: 18 CLC C3/BB71: 691C00 ADC #$001C C3/BB74: AA TAX C3/BB75: BF0050D8 LDA $D85000,X (With above, this loads the price) C3/BB79: 4A LSR A (Divide by 2) C3/BB7A: 85F1 STA $F1 (Store the result in $F1) C3/BB7C: E220 SEP #$20 (8 bit memory/accum.) C3/BB7E: 4C81BB JMP $BB81 (why?)
C3/BB81 multiplier function
(16-bit $F1 * 8-bit $28 -> 24-bit $ED) C3/BB81: A5F1 LDA $F1 C3/BB83: 8D0242 STA $4202 C3/BB86: A528 LDA $28 C3/BB88: 8D0342 STA $4203 C3/BB8B: 64EF STZ $EF C3/BB8D: EA NOP C3/BB8E: EA NOP C3/BB8F: AE1642 LDX $4216 C3/BB92: 86ED STX $ED C3/BB94: A5F2 LDA $F2 C3/BB96: 8D0242 STA $4202 C3/BB99: A528 LDA $28 C3/BB9B: 8D0342 STA $4203 C3/BB9E: C221 REP #$21 (16 bit memory/accum. and clear carry) C3/BBA0: A5EE LDA $EE C3/BBA2: 6D1642 ADC $4216 C3/BBA5: 85F2 STA $F2 C3/BBA7: E220 SEP #$20 (8 bit memory/accum.) C3/BBA9: A5ED LDA $ED C3/BBAB: 85F1 STA $F1 C3/BBAD: 60 RTS
C3/BBAE unknow
C3/BBAE: 20C0BB JSR $BBC0 (display "GP" and number to buy) C3/BBB1: 2053BB JSR $BB53 C3/BBB4: 4CD7BB JMP $BBD7
C3/BBB7 unknow
C3/BBB7: 20C0BB JSR $BBC0 (display "GP" and number to sell) C3/BBBA: 2065BB JSR $BB65 C3/BBBD: 4CD7BB JMP $BBD7
C3/BBC0 unknow
C3/BBC0: 20F7C2 JSR $C2F7 (set text color blue) C3/BBC3: A03DC3 LDY #$C33D C3/BBC6: 20F902 JSR $02F9 ("GP") C3/BBC9: 20F2C2 JSR $C2F2 (set text color to white) C3/BBCC: A528 LDA $28 C3/BBCE: 20E004 JSR $04E0 C3/BBD1: A22B7A LDX #$7A2B (position of how many to buy/sell) C3/BBD4: 4CB604 JMP $04B6
C3/BBD7 unknow
C3/BBD7: 208205 JSR $0582 C3/BBDA: A2A17A LDX #$7AA1 (position of price of how many at x cost) C3/BBDD: 4CAC04 JMP $04AC (write price of how many at x cost)
C3/BBE0 unknow
C3/BBE0: A901 LDA #$01 C3/BBE2: 8D0721 STA $2107 C3/BBE5: A9F5 LDA #$F5 C3/BBE7: 855C STA $5C C3/BBE9: A90A LDA #$0A C3/BBEB: 855A STA $5A C3/BBED: A901 LDA #$01 C3/BBEF: 855B STA $5B C3/BBF1: 201C7D JSR $7D1C C3/BBF4: A44D LDY $4D C3/BBF6: 844F STY $4F C3/BBF8: A54A LDA $4A C3/BBFA: 18 CLC C3/BBFB: 6550 ADC $50 C3/BBFD: 8550 STA $50 C3/BBFF: 20257D JSR $7D25 C3/BC02: 200D7E JSR $7E0D C3/BC05: 201F09 JSR $091F (set arrow's initial position) C3/BC08: C220 REP #$20 (16 bit memory/accum.) C3/BC0A: A97000 LDA #$0070 C3/BC0D: 9F4A357E STA $7E354A,X C3/BC11: A95800 LDA #$0058 C3/BC14: 9FCA347E STA $7E34CA,X C3/BC18: E220 SEP #$20 (8 bit memory/accum.) C3/BC1A: 60 RTS
C3/BC1B unknow
C3/BC1B: 8B PHB C3/BC1C: 58 CLI C3/BC1D: 0702 ORA [$02] C3/BC1F: 9D5813 STA $1358,X C3/BC22: 028B COP #$8B C3/BC24: 591002 EOR $0210,Y C3/BC27: AF590A02 LDA $020A59 C3/BC2B: 8B PHB C3/BC2C: 5A PHY C3/BC2D: 1C108B TRB $8B10 C3/BC30: 60 RTS
C3/BC31 unknow
C3/BC31: 0702 ORA [$02] C3/BC33: 9D6013 STA $1360,X C3/BC36: 028B COP #$8B C3/BC38: 611C ADC ($1C,X) C3/BC3A: 0C0B65 TSB $650B C3/BC3D: 1C068B TRB $8B06 C3/BC40: 68 PLA C3/BC41: 0702 ORA [$02] C3/BC43: 9D6813 STA $1368,X C3/BC46: 028B COP #$8B C3/BC48: 6911 ADC #$11 C3/BC4A: 07CB ORA [$CB] C3/BC4C: 6B RTL
C3/BC4D unknow
C3/BC4D: 1C030B TRB $0B03 C3/BC50: 6D1C06 ADC $061C C3/BC53: B169 LDA ($69),Y C3/BC55: 0907 ORA #$07
C3/BC57 unknow
C3/BC57: A2C99D LDX #$9DC9 C3/BC5A: 8E8121 STX $2181 C3/BC5D: 7B TDC C3/BC5E: AA TAX C3/BC5F: DA PHX C3/BC60: A400 LDY $00 C3/BC62: BF899D7E LDA $7E9D89,X C3/BC66: D96918 CMP $1869,Y (Items currently in inventory) C3/BC69: F00B BEQ $BC76 C3/BC6B: C8 INY C3/BC6C: C00001 CPY #$0100 C3/BC6F: D0F5 BNE $BC66 C3/BC71: 9C8021 STZ $2180 (end this string) C3/BC74: 8006 BRA $BC7C C3/BC76: B96919 LDA $1969,Y (Quantity of items) C3/BC79: 8D8021 STA $2180 C3/BC7C: FA PLX C3/BC7D: E8 INX C3/BC7E: E00800 CPX #$0008 C3/BC81: D0DC BNE $BC5F C3/BC83: 60 RTS
C3/BC84 unknow
C3/BC84: 2092BC JSR $BC92 C3/BC87: A564 LDA $64 C3/BC89: 20E004 JSR $04E0 C3/BC8C: A23F7B LDX #$7B3F (position of number owned) C3/BC8F: 4CB604 JMP $04B6 (write number owned)
C3/BC92 unknow
C3/BC92: 7B TDC C3/BC93: A54B LDA $4B C3/BC95: AA TAX C3/BC96: BFC99D7E LDA $7E9DC9,X C3/BC9A: 8564 STA $64 C3/BC9C: 60 RTS
C3/BC9D unknow
C3/BC9D: 7B TDC C3/BC9E: A54B LDA $4B C3/BCA0: A8 TAY C3/BCA1: B96919 LDA $1969,Y (Quantity of items) C3/BCA4: 8564 STA $64 C3/BCA6: 80DF BRA $BC87
C3/BCA8 unknow
C3/BCA8: 20C2BF JSR $BFC2 C3/BCAB: 4C69BF JMP $BF69
C3/BCAE unknow
C3/BCAE: 20C9BC JSR $BCC9 C3/BCB1: 9014 BCC $BCC7 C3/BCB3: 7B TDC C3/BCB4: A54B LDA $4B C3/BCB6: C220 REP #$20 (16 bit memory/accum.) C3/BCB8: 0A ASL A C3/BCB9: 0A ASL A C3/BCBA: 0A ASL A C3/BCBB: 0A ASL A C3/BCBC: E220 SEP #$20 (8 bit memory/accum.) C3/BCBE: 18 CLC C3/BCBF: 65E0 ADC $E0 C3/BCC1: AA TAX C3/BCC2: BF8DAA7E LDA $7EAA8D,X (Load inventory location X) C3/BCC6: 60 RTS
C3/BCC7 unknow
C3/BCC7: 7B TDC C3/BCC8: 60 RTS
C3/BCC9 unknow
C3/BCC9: 8B PHB C3/BCCA: A900 LDA #$00 C3/BCCC: 48 PHA C3/BCCD: AB PLB C3/BCCE: 7B TDC C3/BCCF: 8DD811 STA $11D8 C3/BCD2: 7B TDC C3/BCD3: A5E0 LDA $E0 C3/BCD5: AA TAX C3/BCD6: BF099E7E LDA $7E9E09,X C3/BCDA: 20489C JSR $9C48 C3/BCDD: 7B TDC C3/BCDE: A54B LDA $4B C3/BCE0: AA TAX C3/BCE1: BF899D7E LDA $7E9D89,X C3/BCE5: 202183 JSR $8321 (Multiply A by 30) C3/BCE8: AE3421 LDX $2134 (Load X with the result) C3/BCEB: C220 REP #$20 (16 bit memory/accum.) C3/BCED: BF0150D8 LDA $D85001,X (Load equippable chars) C3/BCF1: 25E7 AND $E7 C3/BCF3: E220 SEP #$20 (8 bit memory/accum.) C3/BCF5: F003 BEQ $BCFA C3/BCF7: AB PLB C3/BCF8: 38 SEC C3/BCF9: 60 RTS C3/BCFA: AB PLB C3/BCFB: 18 CLC C3/BCFC: 60 RTS
C3/BCFD unknow
C3/BCFD: 204FBF JSR $BF4F C3/BD00: A08DAA LDY #$AA8D C3/BD03: 84F3 STY $F3 (this seems pointless, why not just store it directly?) C3/BD05: 7B TDC C3/BD06: AA TAX C3/BD07: A4F3 LDY $F3 C3/BD09: 8C8121 STY $2181 C3/BD0C: DA PHX C3/BD0D: BF899D7E LDA $7E9D89,X (Load index X out of RAM) C3/BD11: 859F STA $9F (Store it in $9F) C3/BD13: 202183 JSR $8321 (Multiply A by 30) C3/BD16: AE3421 LDX $2134 (Load X with the result) C3/BD19: BF1450D8 LDA $D85014,X (Load attack pwr./battle pwr./def. pwr etc) C3/BD1D: 859E STA $9E (Store it in $9E) C3/BD1F: BF0050D8 LDA $D85000,X (Load item type) C3/BD23: 2907 AND #$07 (Zero out upper nibble) C3/BD25: C901 CMP #$01 (Is it a weapon [type 1]?) C3/BD27: F07C BEQ $BDA5 (If so, branch -> go to weapon handler) C3/BD29: C902 CMP #$02 (Is it an armor [type 2]?) C3/BD2B: F018 BEQ $BD45 (If so, branch -> go to armor handler) C3/BD2D: C903 CMP #$03 (Is it a shield [type 3]?) C3/BD2F: F00E BEQ $BD3F (If so, branch -> go to shield handler) C3/BD31: C904 CMP #$04 (Is it a hat [type 4]?) C3/BD33: F00D BEQ $BD42 (If so, branch -> go to hat handler) C3/BD35: C905 CMP #$05 (Is it a relic [type 5]?) C3/BD37: F003 BEQ $BD3C (If so, branch -> go to relic handler) C3/BD39: 4C0ABF JMP $BF0A (Otherwise, it must be an "item" item or tool, go to $BF0A to handle it) C3/BD3C: 4C18BF JMP $BF18 (Go to relic handler at $BF18) C3/BD3F: 4C35BE JMP $BE35 (Go to shield handler at $BE35) C3/BD42: 4CBDBE JMP $BEBD (Go to hat handler at $BEBD)
C3/BD45 armor handler
Armor Handler (begrudgingly) C3/BD45: 7B TDC C3/BD46: AA TAX C3/BD47: DA PHX C3/BD48: C220 REP #$20 (16 bit memory/accum.) C3/BD4A: ADDC1E LDA $1EDC C3/BD4D: 3F679CC3 AND $C39C67,X C3/BD51: F034 BEQ $BD87 C3/BD53: BF6969C3 LDA $C36969,X (Xth character's working RAM offset) C3/BD57: A8 TAY C3/BD58: E220 SEP #$20 (8 bit memory/accum.) C3/BD5A: 7B TDC C3/BD5B: B92200 LDA $0022,Y C3/BD5E: C59F CMP $9F C3/BD60: F01C BEQ $BD7E C3/BD62: C9FF CMP #$FF C3/BD64: F010 BEQ $BD76 C3/BD66: 202183 JSR $8321 (Multiply A by 30) C3/BD69: AE3421 LDX $2134 (Put the result in X) C3/BD6C: BF1450D8 LDA $D85014,X (Load attack pwr./battle pwr./def. pwr etc) C3/BD70: C59E CMP $9E C3/BD72: F00E BEQ $BD82 C3/BD74: B004 BCS $BD7A C3/BD76: A902 LDA #$02 C3/BD78: 800A BRA $BD84 C3/BD7A: A903 LDA #$03 C3/BD7C: 8006 BRA $BD84 C3/BD7E: A901 LDA #$01 C3/BD80: 8002 BRA $BD84 C3/BD82: A904 LDA #$04 C3/BD84: 8D8021 STA $2180 C3/BD87: FA PLX C3/BD88: E8 INX C3/BD89: E8 INX C3/BD8A: E02000 CPX #$0020 (have we checked 32 armors yet?) C3/BD8D: D0B8 BNE $BD47 C3/BD8F: C221 REP #$21 C3/BD91: A5F3 LDA $F3 C3/BD93: 691000 ADC #$0010 C3/BD96: 85F3 STA $F3 C3/BD98: E220 SEP #$20 (8 bit memory/accum.) C3/BD9A: FA PLX C3/BD9B: E8 INX C3/BD9C: E00800 CPX #$0008 C3/BD9F: D001 BNE $BDA2 C3/BDA1: 60 RTS C3/BDA2: 4C07BD JMP $BD07
C3/BDA5 weapon handler
Weapon Handler (grrr) C3/BDA5: 7B TDC C3/BDA6: AA TAX C3/BDA7: DA PHX C3/BDA8: C220 REP #$20 (16 bit memory/accum.) C3/BDAA: ADDC1E LDA $1EDC C3/BDAD: 3F679CC3 AND $C39C67,X C3/BDB1: F074 BEQ $BE27 C3/BDB3: BF6969C3 LDA $C36969,X (Xth character's working RAM offset) C3/BDB7: A8 TAY C3/BDB8: E220 SEP #$20 (8 bit memory/accum.) C3/BDBA: B91F00 LDA $001F,Y C3/BDBD: C59F CMP $9F C3/BDBF: F05D BEQ $BE1E C3/BDC1: B92000 LDA $0020,Y C3/BDC4: C59F CMP $9F C3/BDC6: F056 BEQ $BE1E C3/BDC8: 7B TDC C3/BDC9: B91F00 LDA $001F,Y C3/BDCC: C9FF CMP #$FF (Is it the "empty" item?) C3/BDCE: F010 BEQ $BDE0 C3/BDD0: 202183 JSR $8321 (Multiply A by 30) C3/BDD3: AE3421 LDX $2134 (Load X with the result) C3/BDD6: BF0050D8 LDA $D85000,X (Load item type X) C3/BDDA: 2907 AND #$07 (Zero out upper nibble) C3/BDDC: C901 CMP #$01 (Is it a weapon [type 1]?) C3/BDDE: F01E BEQ $BDFE (If so, branch -> ) C3/BDE0: 7B TDC (Otherwise, it should be an armor...Clear A) C3/BDE1: B92000 LDA $0020,Y C3/BDE4: C9FF CMP #$FF (Is it the "empty" item?) C3/BDE6: F02E BEQ $BE16 (If so, branch -> ) C3/BDE8: 202183 JSR $8321 (Multiply A by 30) C3/BDEB: AE3421 LDX $2134 (Load X with the result) C3/BDEE: BF0050D8 LDA $D85000,X (Load item X type) C3/BDF2: 2907 AND #$07 (Zero out upper nibble) C3/BDF4: C901 CMP #$01 (Is it a weapon [type 1]?) C3/BDF6: D006 BNE $BDFE (If not, branch -> ) C3/BDF8: 7B TDC C3/BDF9: B92000 LDA $0020,Y C3/BDFC: 8004 BRA $BE02 C3/BDFE: 7B TDC (Clear A) C3/BDFF: B91F00 LDA $001F,Y C3/BE02: C9FF CMP #$FF (Is it the "empty" item?) C3/BE04: F010 BEQ $BE16 C3/BE06: 202183 JSR $8321 (Multiply A by 30) C3/BE09: AE3421 LDX $2134 (Load X with the result) C3/BE0C: BF1450D8 LDA $D85014,X (Load attack pwr./battle pwr./def. pwr etc) C3/BE10: C59E CMP $9E C3/BE12: F00E BEQ $BE22 C3/BE14: B004 BCS $BE1A C3/BE16: A902 LDA #$02 C3/BE18: 800A BRA $BE24 C3/BE1A: A903 LDA #$03 C3/BE1C: 8006 BRA $BE24 C3/BE1E: A901 LDA #$01 C3/BE20: 8002 BRA $BE24 C3/BE22: A904 LDA #$04 C3/BE24: 8D8021 STA $2180 C3/BE27: FA PLX C3/BE28: E8 INX C3/BE29: E8 INX C3/BE2A: E02000 CPX #$0020 (have we checked 32 weapons yet? there's 90 in all...) C3/BE2D: D003 BNE $BE32 (branch if not) C3/BE2F: 4C8FBD JMP $BD8F C3/BE32: 4CA7BD JMP $BDA7
C3/BE35 shield handler
C3/BE35: 7B TDC C3/BE36: AA TAX C3/BE37: DA PHX C3/BE38: C220 REP #$20 (16 bit memory/accum.) C3/BE3A: ADDC1E LDA $1EDC C3/BE3D: 3F679CC3 AND $C39C67,X C3/BE41: F06C BEQ $BEAF C3/BE43: BF6969C3 LDA $C36969,X (Xth character's working RAM offset) C3/BE47: A8 TAY C3/BE48: E220 SEP #$20 (8 bit memory/accum.) C3/BE4A: B91F00 LDA $001F,Y C3/BE4D: C59F CMP $9F C3/BE4F: F055 BEQ $BEA6 C3/BE51: B92000 LDA $0020,Y C3/BE54: C59F CMP $9F C3/BE56: F04E BEQ $BEA6 C3/BE58: 7B TDC C3/BE59: B92000 LDA $0020,Y C3/BE5C: 202183 JSR $8321 (Multiply A by 30) C3/BE5F: AE3421 LDX $2134 (Load X with the result) C3/BE62: BF0050D8 LDA $D85000,X (Load item type) C3/BE66: 2907 AND #$07 (Zero out upper nibble) C3/BE68: C903 CMP #$03 (Is it a shield [type 3]?) C3/BE6A: F01A BEQ $BE86 C3/BE6C: 7B TDC C3/BE6D: B91F00 LDA $001F,Y C3/BE70: 202183 JSR $8321 (Multiply A by 30) C3/BE73: AE3421 LDX $2134 (Load X with the result) C3/BE76: BF0050D8 LDA $D85000,X (Load item type) C3/BE7A: 2907 AND #$07 (Zero out upper nibble) C3/BE7C: C903 CMP #$03 (Is it a shield [type 3]?) C3/BE7E: D01E BNE $BE9E C3/BE80: 7B TDC C3/BE81: B91F00 LDA $001F,Y C3/BE84: 8004 BRA $BE8A C3/BE86: 7B TDC C3/BE87: B92000 LDA $0020,Y C3/BE8A: C9FF CMP #$FF C3/BE8C: F010 BEQ $BE9E C3/BE8E: 202183 JSR $8321 (Multiply A by 30) C3/BE91: AE3421 LDX $2134 (Load X with the result) C3/BE94: BF1450D8 LDA $D85014,X (Load attack pwr./battle pwr./def. pwr etc) C3/BE98: C59E CMP $9E C3/BE9A: F00E BEQ $BEAA C3/BE9C: B004 BCS $BEA2 C3/BE9E: A902 LDA #$02 C3/BEA0: 800A BRA $BEAC C3/BEA2: A903 LDA #$03 C3/BEA4: 8006 BRA $BEAC C3/BEA6: A901 LDA #$01 C3/BEA8: 8002 BRA $BEAC C3/BEAA: A904 LDA #$04 C3/BEAC: 8D8021 STA $2180 C3/BEAF: FA PLX C3/BEB0: E8 INX C3/BEB1: E8 INX C3/BEB2: E02000 CPX #$0020 (have we checked 32 shields yet? there's 15 in all...) C3/BEB5: D003 BNE $BEBA C3/BEB7: 4C8FBD JMP $BD8F C3/BEBA: 4C37BE JMP $BE37
C3/BEBD hat handler
C3/BEBD: 7B TDC C3/BEBE: AA TAX C3/BEBF: DA PHX C3/BEC0: C220 REP #$20 (16 bit memory/accum.) C3/BEC2: ADDC1E LDA $1EDC C3/BEC5: 3F679CC3 AND $C39C67,X C3/BEC9: F034 BEQ $BEFF C3/BECB: BF6969C3 LDA $C36969,X (Xth character's working RAM offset) C3/BECF: A8 TAY C3/BED0: E220 SEP #$20 (8 bit memory/accum.) C3/BED2: 7B TDC C3/BED3: B92100 LDA $0021,Y C3/BED6: C59F CMP $9F C3/BED8: F01C BEQ $BEF6 C3/BEDA: C9FF CMP #$FF C3/BEDC: F010 BEQ $BEEE C3/BEDE: 202183 JSR $8321 (Multiply A by 30) C3/BEE1: AE3421 LDX $2134 (Load X with the result) C3/BEE4: BF1450D8 LDA $D85014,X (Load attack pwr./battle pwr./def. pwr etc) C3/BEE8: C59E CMP $9E C3/BEEA: F00E BEQ $BEFA C3/BEEC: B004 BCS $BEF2 C3/BEEE: A902 LDA #$02 C3/BEF0: 800A BRA $BEFC C3/BEF2: A903 LDA #$03 C3/BEF4: 8006 BRA $BEFC C3/BEF6: A901 LDA #$01 C3/BEF8: 8002 BRA $BEFC C3/BEFA: A904 LDA #$04 C3/BEFC: 8D8021 STA $2180 C3/BEFF: FA PLX C3/BF00: E8 INX C3/BF01: E8 INX C3/BF02: E02000 CPX #$0020 (have we checked 32 helmets yet? there's 27 in all...) C3/BF05: D0B8 BNE $BEBF C3/BF07: 4C8FBD JMP $BD8F
C3/BF0A unknow
C3/BF0A: 7B TDC C3/BF0B: AA TAX C3/BF0C: 8D8021 STA $2180 C3/BF0F: E8 INX C3/BF10: E01000 CPX #$0010 C3/BF13: D0F7 BNE $BF0C C3/BF15: 4C8FBD JMP $BD8F
C3/BF18 relic handler
Relic Handler (supposedly) C3/BF18: 7B TDC C3/BF19: AA TAX C3/BF1A: DA PHX C3/BF1B: C220 REP #$20 (16 bit memory/accum.) C3/BF1D: ADDC1E LDA $1EDC C3/BF20: 3F679CC3 AND $C39C67,X C3/BF24: F01E BEQ $BF44 C3/BF26: BF6969C3 LDA $C36969,X (Xth character's working RAM offset) C3/BF2A: A8 TAY C3/BF2B: E220 SEP #$20 (8 bit memory/accum.) C3/BF2D: 7B TDC C3/BF2E: B92300 LDA $0023,Y (relic slot 1) C3/BF31: C59F CMP $9F C3/BF33: F00A BEQ $BF3F C3/BF35: B92400 LDA $0024,Y (relic slot 2) C3/BF38: C59F CMP $9F C3/BF3A: F003 BEQ $BF3F C3/BF3C: 7B TDC C3/BF3D: 8002 BRA $BF41 C3/BF3F: A901 LDA #$01 C3/BF41: 8D8021 STA $2180 C3/BF44: FA PLX C3/BF45: E8 INX C3/BF46: E8 INX C3/BF47: E02000 CPX #$0020 C3/BF4A: D0CE BNE $BF1A C3/BF4C: 4C8FBD JMP $BD8F
C3/BF4F unknow
C3/BF4F: 8B PHB C3/BF50: A97E LDA #$7E C3/BF52: 48 PHA C3/BF53: AB PLB C3/BF54: 7B TDC C3/BF55: AA TAX C3/BF56: C220 REP #$20 (16 bit memory/accum.) C3/BF58: 9E8DAA STZ $AA8D,X C3/BF5B: E8 INX C3/BF5C: E8 INX C3/BF5D: E08000 CPX #$0080 C3/BF60: D0F6 BNE $BF58 C3/BF62: E220 SEP #$20 (8 bit memory/accum.) C3/BF64: AB PLB C3/BF65: 60 RTS
C3/BF66 unknow
C3/BF66: 20CBBF JSR $BFCB C3/BF69: 85E0 STA $E0 C3/BF6B: 6465 STZ $65 C3/BF6D: A21F16 LDX #$161F C3/BF70: 86E7 STX $E7 C3/BF72: A900 LDA #$00 C3/BF74: 85E9 STA $E9 C3/BF76: A600 LDX $00 C3/BF78: DA PHX C3/BF79: C220 REP #$20 (16 bit memory/accum.) C3/BF7B: 8A TXA C3/BF7C: 0A ASL A C3/BF7D: AA TAX C3/BF7E: ADDC1E LDA $1EDC C3/BF81: 3F679CC3 AND $C39C67,X C3/BF85: F01E BEQ $BFA5 C3/BF87: BF6969C3 LDA $C36969,X (Xth character's working RAM offset) C3/BF8B: AA TAX C3/BF8C: E220 SEP #$20 (8 bit memory/accum.) C3/BF8E: BD0000 LDA $0000,X C3/BF91: C90E CMP #$0E (Is it Leo or higher??) C3/BF93: B010 BCS $BFA5 C3/BF95: A400 LDY $00 C3/BF97: B7E7 LDA [$E7],Y C3/BF99: C5E0 CMP $E0 C3/BF9B: D002 BNE $BF9F C3/BF9D: E665 INC $65 C3/BF9F: C8 INY C3/BFA0: C00600 CPY #$0006 C3/BFA3: D0F2 BNE $BF97 C3/BFA5: C221 REP #$21 C3/BFA7: A92500 LDA #$0025 C3/BFAA: 65E7 ADC $E7 C3/BFAC: 85E7 STA $E7 C3/BFAE: E220 SEP #$20 (8 bit memory/accum.) C3/BFB0: FA PLX C3/BFB1: E8 INX C3/BFB2: E01000 CPX #$0010 C3/BFB5: D0C1 BNE $BF78 C3/BFB7: A565 LDA $65 C3/BFB9: 20E004 JSR $04E0 C3/BFBC: A23F7C LDX #$7C3F (position of number equipped) C3/BFBF: 4CB604 JMP $04B6 (display number equipped)
C3/BFC2 unknow
C3/BFC2: 7B TDC C3/BFC3: A54B LDA $4B C3/BFC5: AA TAX C3/BFC6: BF899D7E LDA $7E9D89,X (copy of inventory list) C3/BFCA: 60 RTS
C3/BFCB unknow
C3/BFCB: 7B TDC C3/BFCC: A54B LDA $4B C3/BFCE: A8 TAY C3/BFCF: B96918 LDA $1869,Y (Items currently in inventory) C3/BFD2: 60 RTS
C3/BFD3 unknow
C3/BFD3: 20F7C2 JSR $C2F7 (set text color to blue) C3/BFD6: AD1242 LDA $4212 C3/BFD9: 2940 AND #$40 (are we in H-blank?) C3/BFDB: F0F9 BEQ $BFD6 (branch if not) C3/BFDD: AD0102 LDA $0201 C3/BFE0: 8D1B21 STA $211B C3/BFE3: 9C1B21 STZ $211B C3/BFE6: A909 LDA #$09 C3/BFE8: 8D1C21 STA $211C C3/BFEB: 8D1C21 STA $211C C3/BFEE: AE3421 LDX $2134 C3/BFF1: 8667 STX $67 C3/BFF3: BFC07AC4 LDA $C47AC0,X (Load Specs for Shop X) C3/BFF7: 2907 AND #$07 C3/BFF9: 0A ASL A C3/BFFA: AA TAX C3/BFFB: C220 REP #$20 (16 bit memory/accum.) C3/BFFD: BF0CC0C3 LDA $C3C00C,X (Load pointer to Shop Title X) C3/C001: 85E7 STA $E7 C3/C003: E220 SEP #$20 (8 bit memory/accum.) C3/C005: A9C3 LDA #$C3 (JMP $02FB could've saved some bytes here...) C3/C007: 85E9 STA $E9 (JMP $02FD could've saved some bytes here...) C3/C009: 4CFF02 JMP $02FF