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 C00
< Final Fantasy VI | ROM map
Jump to navigation
Jump to search
This is a sub-page of Final Fantasy VI/ROM map.
C0/0000 unknow
C0/0000: 207968 JSR $6879 C0/0003: 6B RTL
C0/0004: 0300 C0/0006: 08 C0/0007: 08
C0/0008: 4C76C1 JMP $C176 C0/000B: 4C3F4A JMP $4A3F
C0/000E: EA NOP C0/000F: EA NOP C0/0010: EA NOP C0/0011: EA NOP C0/0012: EA NOP C0/0013: EA NOP C0/0014: EA NOP
C0/0015: 2024BB JSR $BB24 (from C1/0BA2, C1/102A, C3/13B1) C0/0018: 6B RTL
C0/0019 unknow
C0/0019: 78 SEI (from C0/FF03, this is pretty much the entry point) C0/001A: 18 CLC C0/001B: FB XCE (now in native mode...still) C0/001C: E220 SEP #$20 (8 bit accum./memory) C0/001E: C210 REP #$10 (16 bit index registers) C0/0020: A2FF15 LDX #$15FF C0/0023: 9A TXS (make the stack point to $15FF) C0/0024: A20000 LDX #$0000 C0/0027: DA PHX C0/0028: 2B PLD (make the direct page reg. hold #$0000) C0/0029: 7B TDC (A = #$0000) C0/002A: 48 PHA C0/002B: AB PLB (make the data bank reg. hold #$00) C0/002C: A901 LDA #$01 (INC A!) C0/002E: 8D0D42 STA $420D (Disable SlowROM???) C0/0031: 9C0B42 STZ $420B (turn off DMA) C0/0034: 9C0C42 STZ $420C (turn off HDMA) C0/0037: A98F LDA #$8F C0/0039: 8D0021 STA $2100 C0/003C: 9C0042 STZ $4200 (turn off NMI, auto joypad read, etc) C0/003F: 202505 JSR $0525 C0/0042: A20000 LDX #$0000 C0/0045: 8600 STX $00 ($00 and $01 will always hold #$0000 from here on out) C0/0047: A2FFFF LDX #$FFFF (DEX?) C0/004A: 8602 STX $02 ($02 and $03 will hold #$FFFF for a while, this can be overwritten at some point) C0/004C: 207305 JSR $0573 (set NMI and IRQ locations) C0/004F: 220000C5 JSL $C50000 (load the core music engine into the SPC chip) C0/0053: 220600C3 JSL $C30006 (reset timers for input decoding) C0/0057: AF0600C0 LDA $C00006 (LDA #$08?!) C0/005B: 8DC01F STA $1FC0 (Stores #08 to $1FC0) C0/005E: AF0700C0 LDA $C00007 (LDA #$08?!) C0/0062: 8DC11F STA $1FC1 (Stores #08 to $1FC1) C0/0065: C220 REP #$20 (16 bit accum./memory) C0/0067: AF0400C0 LDA $C00004 (LDA #$0003?!) C0/006B: 8D641F STA $1F64 (Stores #0003 to $1F64, the current map, Darkness) C0/006E: 7B TDC (A = #$0000) C0/006F: E220 SEP #$20 (8 bit accum./memory) C0/0071: 9C5A11 STZ $115A (could do STZ $1159 and then SEP #$20...) C0/0074: 9C5911 STZ $1159 (optionally, you could've done STA $1159 before the SEP #$20) C0/0077: A940 LDA #$40 C0/0079: 8DFA11 STA $11FA C0/007C: 208DBD JSR $BD8D C0/007F: 644A STZ $4A (from C0/00A1, C0/010A, C0/0116, C0/017F, C0/C65C, C0/C6B0) C0/0081: A901 LDA #$01 C0/0083: 8584 STA $84 C0/0085: A54A LDA $4A C0/0087: D021 BNE $00AA C0/0089: A584 LDA $84 C0/008B: F01D BEQ $00AA C0/008D: C220 REP #$20 (16 bit accum./memory) C0/008F: AD641F LDA $1F64 (load current map) C0/0092: 29FF03 AND #$03FF (we only care about the actual map number) C0/0095: AA TAX C0/0096: 7B TDC (A = #$0000) C0/0097: E220 SEP #$20 (8 bit accum./memory) C0/0099: E00300 CPX #$0003 (compare current map to Darkness) C0/009C: B006 BCS $00A4 (if it's equal or higher, ie not a world map, branch) C0/009E: 209703 JSR $0397 C0/00A1: 4C7F00 JMP $007F (BRA would work)
C0/00A4 unknow
C0/00A4: 20BCBE JSR $BEBC C0/00A7: 208603 JSR $0386 C0/00AA: 206405 JSR $0564 C0/00AD: 20A00E JSR $0EA0 C0/00B0: 20748D JSR $8D74 C0/00B3: AC0308 LDY $0803 C0/00B6: C220 REP #$20 (16 bit accum./memory) C0/00B8: B96D08 LDA $086D,Y C0/00BB: 4A LSR A C0/00BC: 4A LSR A C0/00BD: 4A LSR A C0/00BE: 4A LSR A C0/00BF: E220 SEP #$20 (8 bit accum./memory) C0/00C1: 85B0 STA $B0 C0/00C3: C220 REP #$20 (16 bit accum./memory) C0/00C5: B96A08 LDA $086A,Y C0/00C8: 4A LSR A C0/00C9: 4A LSR A C0/00CA: 4A LSR A C0/00CB: 4A LSR A C0/00CC: E220 SEP #$20 (8 bit accum./memory) C0/00CE: 85AF STA $AF C0/00D0: 7B TDC (A = #$0000) C0/00D1: 20F1BB JSR $BBF1 C0/00D4: 206FBC JSR $BC6F C0/00D7: 20CCBB JSR $BBCC C0/00DA: 205A9A JSR $9A5A (This takes you to General Actions) C0/00DD: A54A LDA $4A C0/00DF: D004 BNE $00E5 C0/00E1: A584 LDA $84 C0/00E3: D0A0 BNE $0085 C0/00E5: 20A318 JSR $18A3 C0/00E8: A54A LDA $4A C0/00EA: D004 BNE $00F0 C0/00EC: A584 LDA $84 C0/00EE: D095 BNE $0085 C0/00F0: 202DC3 JSR $C32D (encounters and junk) C0/00F3: ADF111 LDA $11F1 C0/00F6: F015 BEQ $010D C0/00F8: 9CF111 STZ $11F1 C0/00FB: A20000 LDX #$0000 (LDX $00 would work...) C0/00FE: 86E5 STX $E5 C0/0100: A9CA LDA #$CA C0/0102: 85E7 STA $E7 (event queue starts at CA/0000) C0/0104: 20B3C4 JSR $C4B3 C0/0107: 2020BD JSR $BD20 C0/010A: 4C7F00 JMP $007F
C0/010D unknow
C0/010D: A556 LDA $56 (from C0/00F6) C0/010F: F008 BEQ $0119 C0/0111: 6456 STZ $56 C0/0113: 203EC1 JSR $C13E C0/0116: 4C7F00 JMP $007F
C0/0119: 204C81 JSR $814C C0/011C: 208130 JSR $3081 C0/011F: 207875 JSR $7578 C0/0122: 20D02B JSR $2BD0 C0/0125: 203C57 JSR $573C C0/0128: 20081F JSR $1F08 C0/012B: 20C21F JSR $1FC2 C0/012E: 208120 JSR $2081 C0/0131: 200221 JSR $2102 C0/0134: 202D5A JSR $5A2D C0/0137: 2095CC JSR $CC95 C0/013A: 20266D JSR $6D26 C0/013D: 20AC73 JSR $73AC C0/0140: 20AF06 JSR $06AF C0/0143: 202308 JSR $0823 C0/0146: 20BD0B JSR $0BBD C0/0149: 20046A JSR $6A04 C0/014C: A546 LDA $46 C0/014E: D003 BNE $0153 C0/0150: 9C3206 STZ $0632 C0/0153: AD3721 LDA $2137 C0/0156: AD3C21 LDA $213C C0/0159: 8D3006 STA $0630 C0/015C: AD3C21 LDA $213C C0/015F: AD3D21 LDA $213D C0/0162: 8D3106 STA $0631 C0/0165: AD3D21 LDA $213D C0/0168: AD3106 LDA $0631 C0/016B: CD3206 CMP $0632 C0/016E: 9003 BCC $0173 C0/0170: 8D3206 STA $0632 C0/0173: 20D4C5 JSR $C5D4 C0/0176: 4C2BC6 JMP $C62B
C0/0179: 4C8500 JMP $0085 C0/017C: 207403 JSR $0374 C0/017F: 4C7F00 JMP $007F
C0/0182: 08 PHP (NMI already pushes the processor...) C0/0183: C230 REP #$30 C0/0185: 48 PHA C0/0186: DA PHX C0/0187: 5A PHY C0/0188: 8B PHB C0/0189: 0B PHD C0/018A: C210 REP #$10 (16 bit index registers) C0/018C: E220 SEP #$20 (8 bit accum./memory) C0/018E: A20000 LDX #$0000 C0/0191: DA PHX C0/0192: 2B PLD (DP register holds #$0000) C0/0193: 7B TDC C0/0194: 48 PHA C0/0195: AB PLB (data bank register holds #$00) C0/0196: AD1042 LDA $4210 C0/0199: 9C0B42 STZ $420B (turn off DMA) C0/019C: 9C0C42 STZ $420C (turn off HDMA) C0/019F: A9A1 LDA #$A1 C0/01A1: 8D0042 STA $4200 C0/01A4: 205F0F JSR $0F5F C0/01A7: 200110 JSR $1001 C0/01AA: 20BF0F JSR $0FBF C0/01AD: 20371E JSR $1E37 C0/01B0: AD8605 LDA $0586 C0/01B3: C902 CMP #$02 C0/01B5: D006 BNE $01BD C0/01B7: 20782A JSR $2A78 C0/01BA: 9C8605 STZ $0586 C0/01BD: AD8805 LDA $0588 C0/01C0: C902 CMP #$02 C0/01C2: D008 BNE $01CC C0/01C4: 20FB2A JSR $2AFB C0/01C7: 9C8805 STZ $0588 C0/01CA: 801C BRA $01E8 C0/01CC: AD8505 LDA $0585 C0/01CF: C902 CMP #$02 C0/01D1: D006 BNE $01D9 C0/01D3: 20472A JSR $2A47 C0/01D6: 9C8505 STZ $0585 C0/01D9: AD8705 LDA $0587 C0/01DC: C902 CMP #$02 C0/01DE: D008 BNE $01E8 C0/01E0: 20CA2A JSR $2ACA C0/01E3: 9C8705 STZ $0587 C0/01E6: 80E4 BRA $01CC C0/01E8: AD8A05 LDA $058A C0/01EB: C902 CMP #$02 C0/01ED: D008 BNE $01F7 C0/01EF: 207E2B JSR $2B7E C0/01F2: 9C8A05 STZ $058A C0/01F5: 800D BRA $0204 C0/01F7: AD8905 LDA $0589 C0/01FA: C902 CMP #$02 C0/01FC: D006 BNE $0204 C0/01FE: 204D2B JSR $2B4D C0/0201: 9C8905 STZ $0589 C0/0204: 207B67 JSR $677B C0/0207: 203E88 JSR $883E C0/020A: 200386 JSR $8603 C0/020D: 20B085 JSR $85B0 C0/0210: A9E0 LDA #$E0 C0/0212: 8D3221 STA $2132 C0/0215: 9C0B42 STZ $420B (turn off DMA) C0/0218: A943 LDA #$43 C0/021A: 8D0043 STA $4300 C0/021D: A90F LDA #$0F C0/021F: 8D0143 STA $4301 C0/0222: A2517C LDX #$7C51 C0/0225: 8E0243 STX $4302 C0/0228: A97E LDA #$7E C0/022A: 8D0443 STA $4304 C0/022D: 8D0743 STA $4307 C0/0230: AD2105 LDA $0521 C0/0233: 2908 AND #$08 C0/0235: 4A LSR A C0/0236: 4A LSR A C0/0237: 4A LSR A C0/0238: 09FE ORA #$FE C0/023A: 8D0C42 STA $420C C0/023D: 20B642 JSR $42B6 C0/0240: 205310 JSR $1053 C0/0243: 20370E JSR $0E37 C0/0246: 209B3B JSR $3B9B C0/0249: 203C06 JSR $063C C0/024C: 206D05 JSR $056D C0/024F: 220C00C3 JSL $C3000C (adjust game-time) C0/0253: E646 INC $46 C0/0255: E645 INC $45 C0/0257: E655 INC $55 C0/0259: C230 REP #$30 C0/025B: 2B PLD C0/025C: AB PLB C0/025D: 7A PLY C0/025E: FA PLX C0/025F: 68 PLA C0/0260: 28 PLP (pull what was pointlessly pushed) C0/0261: 40 RTI
C0/0262: 08 PHP (IRQ already pushes the processor...) C0/0263: C230 REP #$30 C0/0265: 48 PHA C0/0266: DA PHX C0/0267: 5A PHY C0/0268: 8B PHB C0/0269: 0B PHD C0/026A: C210 REP #$10 (16 bit index registers) C0/026C: E220 SEP #$20 (8 bit accum./memory) C0/026E: A20000 LDX #$0000 C0/0271: DA PHX C0/0272: 2B PLD (made the direct page reg. hold #$0000) C0/0273: 7B TDC C0/0274: 48 PHA C0/0275: AB PLB (made the data bank reg. hold #$00) C0/0276: AD1142 LDA $4211 C0/0279: 1015 BPL $0290 C0/027B: A981 LDA #$81 C0/027D: 8D0042 STA $4200 C0/0280: 9C0C42 STZ $420C (turn off HDMA) C0/0283: A545 LDA $45 C0/0285: 4A LSR A C0/0286: B005 BCS $028D C0/0288: 203F90 JSR $903F C0/028B: 8003 BRA $0290 C0/028D: 207891 JSR $9178 C0/0290: C230 REP #$30 C0/0292: 2B PLD C0/0293: AB PLB C0/0294: 7A PLY C0/0295: FA PLX C0/0296: 68 PLA C0/0297: 28 PLP (pull what was pointlessly pushed) C0/0298: 40 RTI
C0/0299 calculate game checksum
C0/0299: A20000 LDX #$0000 (LDX $00 would work) C0/029C: 861E STX $1E C0/029E: 862A STX $2A C0/02A0: A9C0 LDA #$C0 C0/02A2: 852C STA $2C C0/02A4: A00000 LDY #$0000 (LDY $00 would work) C0/02A7: B72A LDA [$2A],Y C0/02A9: 18 CLC C0/02AA: 651E ADC $1E C0/02AC: 851E STA $1E C0/02AE: 7B TDC C0/02AF: 651F ADC $1F C0/02B1: 851F STA $1F C0/02B3: C8 INY C0/02B4: D0F1 BNE $02A7 C0/02B6: A52C LDA $2C C0/02B8: 1A INC A C0/02B9: 852C STA $2C (INC $2C then LDA $2C would work...) C0/02BB: C9F0 CMP #$F0 (have we hit bank F0 yet? this signifies no more ROM to read) C0/02BD: D0E5 BNE $02A4 (branch if not) C0/02BF: AFDFFFC0 LDA $C0FFDF C0/02C3: C51F CMP $1F C0/02C5: D009 BNE $02D0 C0/02C7: AFDEFFC0 LDA $C0FFDE C0/02CB: C51E CMP $1E C0/02CD: D001 BNE $02D0 C0/02CF: 60 RTS
C0/02D0: 4CD002 JMP $02D0 (jump to itself, hence an infinite loop)
C0/02D3 unknow
C0/02D3: 8D0113 STA $1301 (from C0/4D02, C0/4D08, C0/4DFE, C0/B856, C0/C0F8) C0/02D6: A918 LDA #$18 C0/02D8: 8D0013 STA $1300 C0/02DB: A980 LDA #$80 C0/02DD: 8D0213 LDA $1302 C0/02E0: 220400C5 JSL $C50004 (play a song) C0/02E4: 60 RTS
C0/02E5 unknow
C0/02E5: DA PHX (from only C0/4C78) C0/02E6: 5A PHY C0/02E7: A600 LDX $00 C0/02E9: A00000 LDY #$0000 (LDY $00...) C0/02EC: 6425 STZ $25 C0/02EE: C220 REP #$20 (16 bit accum./memory) C0/02F0: A522 LDA $22 C0/02F2: 38 SEC C0/02F3: FF2E03C0 SBC $C0032E,X C0/02F7: 8522 STA $22 C0/02F9: A524 LDA $24 C0/02FB: FF3E03C0 SBC $C0033E,X C0/02FF: 8524 STA $24 C0/0301: 9004 BCC $0307 (branch only if the result wrapped) C0/0303: C8 INY C0/0304: 4CEE02 JMP $02EE (no BRA?)
C0/0307: A522 LDA $22 C0/0309: 18 CLC C0/030A: 7F2E03C0 ADC $C0032E,X C0/030E: 8522 STA $22 C0/0310: A524 LDA $24 C0/0312: 7F3E03C0 ADC $C0033E,X C0/0316: 8524 STA $24 C0/0318: 7B TDC C0/0319: E220 SEP #$20 (8 bit accum./memory) C0/031B: DA PHX C0/031C: 8A TXA C0/031D: 4A LSR A C0/031E: AA TAX C0/031F: 98 TYA C0/0320: 9D5407 STA $0754,X C0/0323: FA PLX C0/0324: E8 INX C0/0325: E8 INX C0/0326: E01000 CPX #$0010 C0/0329: D0BE BNE $02E9 C0/032B: 7A PLY C0/032C: FA PLX C0/032D: 60 RTS
C0/032E unknow (data)
C0/032E: 8096 C0/0330: 4042 C0/0332: A086 C0/0334: 1027 C0/0336: E803 C0/0338: 6400 C0/033A: 0A00 C0/033C: 0100
C0/033E: 9800 C0/0340: 0F00 C0/0342: 0100 C0/0344: 0000 C0/0346: 0000 C0/0348: 0000 C0/034A: 0000 C0/034C: 0000
C0/034E unknow
C0/034E: ADB91E LDA $1EB9 (from only C0/C0B4) C0/0351: 2910 AND #10 (song override in place?) C0/0353: D00A BNE $035F (branch if so) C0/0355: AD3C05 LDA $053C C0/0358: F019 BEQ $0373 C0/035A: 8D801F STA $1F80 C0/035D: 8003 BRA $0362 C0/035F: AD801F LDA $1F80 C0/0362: 8D0113 STA $1301 C0/0365: A910 LDA #$10 C0/0367: 8D0013 STA $1300 C0/036A: A9FF LDA #$FF C0/036C: 8D0213 STA $1302 C0/036F: 220400C5 JSL $C50004 C0/0373: 60 RTS
C0/0374 unknow
C0/0374: 9C0B42 STZ $420B C0/0377: 9C0C42 STZ $420C (turn off HDMA) C0/037A: A980 LDA #$80 C0/037C: 8D0021 STA $2100 C0/037F: A900 LDA #$00 C0/0381: 8D0042 STA $4200 C0/0384: 78 SEI C0/0385: 60 RTS
C0/0386 unknow
C0/0386: AD1042 LDA $4210 C0/0389: 10FB BPL $0386 C0/038B: A981 LDA #$81 C0/038D: 8D0042 STA $4200 C0/0390: A900 LDA #$00 C0/0392: 8D0021 STA $2100 C0/0395: 58 CLI C0/0396: 60 RTS
C0/0397 unknow
C0/0397: 9C0502 STZ $0205 (from only C0/009E) C0/039A: 9C0B42 STZ $420B (turn off DMA) C0/039D: 9C0C42 STZ $420C (turn off HDMA) C0/03A0: A98F LDA #$8F C0/03A2: 8D0021 STA $2100 C0/03A5: A900 LDA #$00 C0/03A7: 8D0042 STA $4200 (turn off NMI, auto joypad read, etc) C0/03AA: A6E5 LDX $E5 C0/03AC: D00F BNE $03BD C0/03AE: A5E7 LDA $E7 C0/03B0: C9CA CMP #$CA C0/03B2: D009 BNE $03BD C0/03B4: 9CFD11 STZ $11FD C0/03B7: 9CFE11 STZ $11FE C0/03BA: 9CFF11 STZ $11FF C0/03BD: 200505 JSR $0505 C0/03C0: 209170 JSR $7091 C0/03C3: 20216F JSR $6F21 C0/03C6: 20886E JSR $6E88 C0/03C9: AE0308 LDX $0803 C0/03CC: 8EA61F STX $1FA6 C0/03CF: AC0308 LDY $0803 C0/03D2: B97908 LDA $0879,Y C0/03D5: 8DFB11 STA $11FB C0/03D8: 8C0442 STY $4204 C0/03DB: A929 LDA #$29 C0/03DD: 8D0642 STA $4206 (to be divided by 41) C0/03E0: EA NOP C0/03E1: EA NOP C0/03E2: EA NOP C0/03E3: EA NOP C0/03E4: EA NOP C0/03E5: EA NOP C0/03E6: EA NOP C0/03E7: AC1442 LDY $4214 (load the result) C0/03EA: B9701F LDA $1F70,Y (palette number?) C0/03ED: 4A LSR A C0/03EE: 8DFC11 STA $11FC C0/03F1: 48 PHA C0/03F2: DA PHX C0/03F3: 5A PHY C0/03F4: 0B PHD C0/03F5: 8B PHB C0/03F6: 08 PHP C0/03F7: 220000EE JSL $EE0000 (Is this the decompression routine?) C0/03FB: 28 PLP C0/03FC: AB PLB C0/03FD: 2B PLD C0/03FE: 7A PLY C0/03FF: FA PLX C0/0400: 68 PLA C0/0401: 78 SEI C0/0402: 9C0B42 STZ $420B (turn off DMA) C0/0405: 9C0C42 STZ $420C (turn off HDMA) C0/0408: A98F LDA #$8F C0/040A: 8D0021 STA $2100 C0/040D: A900 LDA #$00 C0/040F: 8D0042 STA $4200 (turn off NMI, auto joypad read, etc) C0/0412: EB XBA C0/0413: 207305 JSR $0573 (set C0's NMI and IRQ) C0/0416: 201505 JSR $0515 (Copy 256 bytes of RAM from 1200-12FF to 0000-00FF) C0/0419: 207770 JSR $7077 C0/041C: 20BF6E JSR $6EBF C0/041F: AD4E1D LDA $1D4E (load miscellaneous settings) C0/0422: 2907 AND #$07 (isolate the wallpaper) C0/0424: 8D6505 STA $0565 (save the wallpaper) C0/0427: C220 REP #$20 (16 bit accum./memory) C0/0429: AD641F LDA $1F64 (load map number) C0/042C: 851E STA $1E C0/042E: 29FF01 AND #$01FF (isolate the map number) C0/0431: 8D641F STA $1F64 (save map number, without the flags) C0/0434: AD661F LDA $1F66 (load position to appear at) C0/0437: 8DC01F STA $1FC0 (save it) C0/043A: 7B TDC C0/043B: E220 SEP #$20 (8 bit accum./memory) C0/043D: A51F LDA $1F (load upper map byte) C0/043F: 2930 AND #$30 (mask two bits) C0/0441: 4A LSR A C0/0442: 4A LSR A C0/0443: 4A LSR A C0/0444: 4A LSR A (shift to the lower nybble) C0/0445: 8D4307 STA $0743 C0/0448: A51F LDA $1F (load upper map byte) C0/044A: 2908 AND #$08 (mask location name flag) C0/044C: 8D4507 STA $0745 (set location name to appear when map loads) C0/044F: AEFD11 LDX $11FD C0/0452: 86E5 STX $E5 C0/0454: ADFF11 LDA $11FF C0/0457: 85E7 STA $E7 C0/0459: C9CA CMP #$CA C0/045B: D00E BNE $046B C0/045D: E00000 CPX #$0000 C0/0460: D009 BNE $046B C0/0462: A600 LDX $00 C0/0464: 86E8 STX $E8 C0/0466: A980 LDA #$80 C0/0468: 8DFA11 STA $11FA C0/046B: 60 RTS
C0/046C LZ decompression routine
(Note that this routine is identical to C2/FF6D except that C2/FF6D does a save/set/restore on the direct page register.) C0/046C: 8B PHB C0/046D: C220 REP #$20 (16 bit accum./memory) C0/046F: A7F3 LDA [$F3] C0/0471: 85FC STA $FC C0/0473: A5F6 LDA $F6 C0/0475: 8F812100 STA $002181 C0/0479: E220 SEP #$20 (8 bit accum./memory) C0/047B: A5F8 LDA $F8 C0/047D: 2901 AND #$01 C0/047F: 8F832100 STA $002183 C0/0483: A901 LDA #$01 C0/0485: 85FE STA $FE C0/0487: A00200 LDY #$0002 C0/048A: A97F LDA #$7F C0/048C: 48 PHA C0/048D: AB PLB (set bank to 7F) C0/048E: A200F8 LDX #$F800 C0/0491: 7B TDC C0/0492: 9D0000 STA $0000,X C0/0495: E8 INX C0/0496: D0FA BNE $0492 C0/0498: A2DEFF LDX #$FFDE C0/049B: C6FE DEC $FE C0/049D: D009 BNE $04A8 C0/049F: A908 LDA #$08 C0/04A1: 85FE STA $FE C0/04A3: B7F3 LDA [$F3],Y C0/04A5: 85FF STA $FF C0/04A7: C8 INY C0/04A8: 46FF LSR $FF C0/04AA: 9011 BCC $04BD C0/04AC: B7F3 LDA [$F3],Y C0/04AE: 8F802100 STA $002180 C0/04B2: 9D0000 STA $0000,X C0/04B5: E8 INX C0/04B6: D037 BNE $04EF C0/04B8: A200F8 LDX #$F800 C0/04BB: 8032 BRA $04EF C0/04BD: B7F3 LDA [$F3],Y C0/04BF: EB XBA C0/04C0: C8 INY C0/04C1: 84F9 STY $F9 C0/04C3: B7F3 LDA [$F3],Y C0/04C5: 4A LSR A C0/04C6: 4A LSR A C0/04C7: 4A LSR A C0/04C8: 18 CLC C0/04C9: 6903 ADC #$03 C0/04CB: 85FB STA $FB C0/04CD: B7F3 LDA [$F3],Y C0/04CF: 09F8 ORA #$F8 C0/04D1: EB XBA C0/04D2: A8 TAY C0/04D3: B90000 LDA $0000,Y C0/04D6: 8F802100 STA $002180 C0/04DA: 9D0000 STA $0000,X C0/04DD: E8 INX C0/04DE: D003 BNE $04E3 C0/04E0: A200F8 LDX #$F800 C0/04E3: C8 INY C0/04E4: D003 BNE $04E9 C0/04E6: A000F8 LDY #$F800 C0/04E9: C6FB DEC $FB C0/04EB: D0E6 BNE $04D3 C0/04ED: A4F9 LDY $F9 C0/04EF: C8 INY C0/04F0: C4FC CPY $FC C0/04F2: D0A7 BNE $049B C0/04F4: 7B TDC C0/04F5: EB XBA C0/04F6: AB PLB C0/04F7: 6B RTL
C0/04F8 clean first 256 bytes of RAM
C0/04F8: A20000 LDX #$0000 C0/04FB: 9E0000 STZ $0000,X C0/04FE: E8 INX C0/04FF: E00001 CPX #$0100 (LDX #$00FF DEX BPL would've worked just as easily) C0/0502: D0F7 BNE $04FB C0/0504: 60 RTS
C0/0505 copy 256 bytes of RAM from 0000-00FF to 1200-12FF
C0/0505: A20000 LDX #$0000 C0/0508: BD0000 LDA $0000,X C0/050B: 9D0012 STA $1200,X C0/050E: E8 INX C0/050F: E00001 CPX #$0100 C0/0512: D0F4 BNE $0508 C0/0514: 60 RTS
C0/0515 copy 256 bytes of RAM from 1200-12FF to 0000-00FF
C0/0515: A20000 LDX #$0000 C0/0518: BD0012 LDA $1200,X C0/051B: 9D0000 STA $0000,X C0/051E: E8 INX C0/051F: E00001 CPX #$0100 C0/0522: D0F4 BNE $0518 C0/0524: 60 RTS
C0/0525 unknow
C0/0525: 7B TDC (from only C0/003F) C0/0526: AA TAX C0/0527: 8E8121 STX $2181 C0/052A: 8D8321 STA $2183 C0/052D: A22001 LDX #$0120 C0/0530: 8D8021 STA $2180 C0/0533: 8D8021 STA $2180 C0/0536: 8D8021 STA $2180 C0/0539: 8D8021 STA $2180 C0/053C: 8D8021 STA $2180 C0/053F: 8D8021 STA $2180 C0/0542: 8D8021 STA $2180 C0/0545: 8D8021 STA $2180 C0/0548: 8D8021 STA $2180 C0/054B: 8D8021 STA $2180 C0/054E: 8D8021 STA $2180 C0/0551: 8D8021 STA $2180 C0/0554: 8D8021 STA $2180 C0/0557: 8D8021 STA $2180 C0/055A: 8D8021 STA $2180 C0/055D: 8D8021 STA $2180 C0/0560: CA DEX C0/0561: D0CD BNE $0530 C0/0563: 60 RTS
C0/0564 unknow
C0/0564: 6455 STZ $55 (from C0/00AA, C0/C102) C0/0566: A555 LDA $55 C0/0568: F0FC BEQ $0566 C0/056A: 6455 STZ $55 C0/056C: 60 RTS
C0/056D unknow
C0/056D: 220900C3 JSL $C30009 (from only C0/024C) C0/0571: 7B TDC C0/0572: 60 RTS
C0/0573 set NMI and IRQ points
C0/0573: A95C LDA #$5C C0/0575: 8D0015 STA $1500 C0/0578: 8D0415 STA $1504 C0/057B: A28201 LDX #$0182 C0/057E: 8E0115 STX $1501 C0/0581: A9C0 LDA #$C0 C0/0583: 8D0315 STA $1503 (set NMI to JMP $C00182) C0/0586: A26202 LDX #$0262 C0/0589: 8E0515 STX $1505 C0/058C: A9C0 LDA #$C0 (A should still hold this value) C0/058E: 8D0715 STA $1507 (set IRQ to JMP $C00262) C0/0591: 60 RTS
C0/0592 unknow
C0/0592: A980 LDA #$80 (from only C0/BF5B) C0/0594: 8D0021 STA $2100 C0/0597: A900 LDA #$00 C0/0599: 8D0042 STA $4200 (STZ $4200...turn off NMI, auto joypad read, etc) C0/059C: 9C0B42 STZ $420B (turn off DMA) C0/059F: 9C0C42 STZ $420C (turn off HDMA) C0/05A2: A903 LDA #$03 C0/05A4: 0960 ORA #$60 (there had better be a branch or jump that goes here...) C0/05A6: 8D0121 STA $2101 C0/05A9: 9C0221 STZ $2102 C0/05AC: 9C0321 STZ $2103 C0/05AF: A909 LDA #$09 C0/05B1: 8D0521 STA $2105 C0/05B4: 9C0621 STZ $2106 C0/05B7: A948 LDA #$48 C0/05B9: 8D0721 STA $2107 C0/05BC: A950 LDA #$50 C0/05BE: 8D0821 STA $2108 C0/05C1: A958 LDA #$58 C0/05C3: 8D0921 STA $2109 C0/05C6: A900 LDA #$00 C0/05C8: 8D0B21 STA $210B C0/05CB: A903 LDA #$03 C0/05CD: 8D0C21 STA $210C C0/05D0: A980 LDA #$80 C0/05D2: 8D1521 STA $2115 C0/05D5: 8D2121 STA $2121 C0/05D8: A933 LDA #$33 C0/05DA: 8D2321 STA $2123 C0/05DD: A903 LDA #$03 C0/05DF: 8D2421 STA $2124 C0/05E2: A9F3 LDA #$F3 C0/05E4: 8D2521 STA $2125 C0/05E7: A908 LDA #$08 C0/05E9: 8D2621 STA $2126 C0/05EC: A9F7 LDA #$F7 C0/05EE: 8D2721 STA $2127 C0/05F1: A900 LDA #$00 C0/05F3: 8D2821 STA $2128 C0/05F6: A9FF LDA #$FF C0/05F8: 8D2921 STA $2129 C0/05FB: A900 LDA #$00 C0/05FD: 8D2A21 STA $212A C0/0600: A900 LDA #$00 C0/0602: 8D2B21 STA $212B C0/0605: A917 LDA #$17 C0/0607: 8D2E21 STA $212E C0/060A: 9C2F21 STZ $212F C0/060D: A922 LDA #$22 C0/060F: 8D3021 STA $2130 C0/0612: A9E0 LDA #$E0 C0/0614: 8D3221 STA $2132 C0/0617: A900 LDA #$00 C0/0619: 8D3321 STA $2133 C0/061C: A9FF LDA #$FF C0/061E: 8D0142 STA $4201 C0/0621: 9C0742 STZ $4207 C0/0624: 9C0842 STZ $4208 C0/0627: A2D700 LDX #$00D7 C0/062A: 8E0942 STX $4209 C0/062D: 60 RTS
C0/062E random number generator
C0/062E: DA PHX (from C0/0EDB, C0/0EFD, C0/7B0C, C0/7B19, C0/7BB1, C0/B271) C0/062F: EE6D1F INC $1F6D (increment RNG index in SRAM) C0/0632: AD6D1F LDA $1F6D (load RNG index from SRAM) C0/0635: AA TAX C0/0636: BF00FDC0 LDA $C0FD00,X (Load Xth entry of Random number table) C0/063A: FA PLX C0/063B: 60 RTS
C0/063C unknow
C0/063C: AD7B07 LDA $077B (from only C0/0249) C0/063F: D00E BNE $064F C0/0641: AD8107 LDA $0781 C0/0644: D009 BNE $064F C0/0646: AD2105 LDA $0521 C0/0649: 2920 AND #$20 C0/064B: D002 BNE $064F C0/064D: 801E BRA $066D C0/064F: AD2605 LDA $0526 C0/0652: 2903 AND #$03 C0/0654: 0A ASL A C0/0655: 0A ASL A C0/0656: AA TAX C0/0657: BF7D06C0 LDA $C0067D,X C0/065B: 8D2321 STA $2123 C0/065E: BF7E06C0 LDA $C0067E,X C0/0662: 8D2421 STA $2124 C0/0665: BF7F06C0 LDA $C0067F,X C0/0669: 8D2521 STA $2125 C0/066C: 60 RTS
C0/066D unknow
C0/066D: A933 LDA #$33 (from C0/064D) C0/066F: 8D2321 STA $2123 C0/0672: A903 LDA #$03 C0/0674: 8D2421 STA $2124 C0/0677: A9F3 LDA #$F3 C0/0679: 8D2521 STA $2125 C0/067C: 60 RTS
C0/067D unknow (data)
C0/067D: 3303 AND ($03,S),Y C0/067F: F300 SBC ($00,S),Y C0/0681: B303 LDA ($03,S),Y C0/0683: F300 SBC ($00,S),Y C0/0685: FF0FFF00 SBC $00FF0F,X C0/0689: 330F AND ($0F,S),Y C0/068B: F300 SBC ($00,S),Y
C0/068D unknow
C0/068D: EE6605 INC $0566 C0/0690: AD6605 LDA $0566 C0/0693: 4A LSR A C0/0694: B008 BCS $069E C0/0696: A2B38C LDX #$8CB3 C0/0699: 8E8121 STX $2181 C0/069C: 8006 BRA $06A4 C0/069E: A2538E LDX #$8E53 C0/06A1: 8E8121 STX $2181 C0/06A4: A97E LDA #$7E C0/06A6: 8D8321 STA $2183 C0/06A9: A9D0 LDA #$D0 C0/06AB: 206E0B JSR $0B6E C0/06AE: 60 RTS
C0/06AF unknow
C0/06AF: AD7B07 LDA $077B (from only C0/0140) C0/06B2: 3001 BMI $06B5 C0/06B4: 60 RTS
C0/06B5: 291F AND #$1F (from C0/06B5) C0/06B7: 0A ASL A C0/06B8: CD7C07 CMP $077C C0/06BB: F010 BEQ $06CD C0/06BD: B008 BCS $06C7 C0/06BF: CE7C07 DEC $077C C0/06C2: CE7C07 DEC $077C C0/06C5: 8006 BRA $06CD C0/06C7: EE7C07 INC $077C C0/06CA: EE7C07 INC $077C C0/06CD: AC0308 LDY $0803 C0/06D0: B96A08 LDA $086A,Y C0/06D3: 38 SEC C0/06D4: E55C SBC $5C C0/06D6: 18 CLC C0/06D7: 6910 ADC #$10 C0/06D9: 8D7D07 STA $077D C0/06DC: B96D08 LDA $086D,Y C0/06DF: 38 SEC C0/06E0: E560 SBC $60 C0/06E2: 38 SEC C0/06E3: E908 SBC #$08 C0/06E5: 8D7E07 STA $077E C0/06E8: EE6605 INC $0566 C0/06EB: AD6605 LDA $0566 C0/06EE: 4A LSR A C0/06EF: B008 BCS $06F9 C0/06F1: A2B38C LDX #$8CB3 C0/06F4: 8E8121 STX $2181 C0/06F7: 8006 BRA $06FF C0/06F9: A2538E LDX #$8E53 C0/06FC: 8E8121 STX $2181 C0/06FF: A97E LDA #$7E C0/0701: 8D8321 STA $2183 C0/0704: AD7C07 LDA $077C C0/0707: 851A STA $1A C0/0709: D009 BNE $0714 C0/070B: A9D0 LDA #$D0 C0/070D: 206E0B JSR $0B6E C0/0710: 9C7B07 STZ $077B C0/0713: 60 RTS
C0/0714: A20001 LDX #$0100 (from C0/0709) C0/0717: 8E0442 STX $4204 C0/071A: A51A LDA $1A C0/071C: 8D0642 STA $4206 C0/071F: EA NOP C0/0720: EA NOP C0/0721: EA NOP C0/0722: EA NOP C0/0723: EA NOP C0/0724: EA NOP C0/0725: EA NOP C0/0726: AD1442 LDA $4214 C0/0729: 8D0242 STA $4202 C0/072C: A51A LDA $1A C0/072E: 8527 STA $27 C0/0730: A980 LDA #$80 C0/0732: 8526 STA $26 C0/0734: 6428 STZ $28 C0/0736: 6429 STZ $29 C0/0738: E210 SEP #$10 (8 bit index registers) C0/073A: C220 REP #$20 (16 bit accum./memory) C0/073C: A629 LDX $29 C0/073E: 8E0342 STX $4203 C0/0741: A526 LDA $26 C0/0743: 38 SEC C0/0744: ED1642 SBC $4216 C0/0747: 8526 STA $26 C0/0749: 3014 BMI $075F C0/074B: EB XBA C0/074C: 9F007B7E STA $7E7B00,X C0/0750: A427 LDY $27 C0/0752: 8C0342 STY $4203 C0/0755: A528 LDA $28 C0/0757: 18 CLC C0/0758: 6D1642 ADC $4216 C0/075B: 8528 STA $28 C0/075D: 80DD BRA $073C C0/075F: 7B TDC C0/0760: E220 SEP #$20 (8 bit accum./memory) C0/0762: AD7E07 LDA $077E C0/0765: 38 SEC C0/0766: E51A SBC $1A C0/0768: 9003 BCC $076D C0/076A: 206E0B JSR $0B6E C0/076D: AC7D07 LDY $077D C0/0770: A61A LDX $1A C0/0772: EC7E07 CPX $077E C0/0775: 9003 BCC $077A C0/0777: AE7E07 LDX $077E C0/077A: CA DEX C0/077B: 98 TYA C0/077C: 38 SEC C0/077D: FF007B7E SBC $7E7B00,X C0/0781: B001 BCS $0784 C0/0783: 7B TDC C0/0784: 8D8021 STA $2180 C0/0787: 98 TYA C0/0788: 18 CLC C0/0789: 7F007B7E ADC $7E7B00,X C0/078D: 9002 BCC $0791 C0/078F: A9FF LDA #$FF C0/0791: 8D8021 STA $2180 C0/0794: CA DEX C0/0795: D0E4 BNE $077B C0/0797: AC7D07 LDY $077D C0/079A: A61A LDX $1A C0/079C: AD7E07 LDA $077E C0/079F: C9D0 CMP #$D0 C0/07A1: B03C BCS $07DF C0/07A3: 18 CLC C0/07A4: 651A ADC $1A C0/07A6: C9D0 CMP #$D0 C0/07A8: 9007 BCC $07B1 C0/07AA: A9D0 LDA #$D0 C0/07AC: 38 SEC C0/07AD: ED7E07 SBC $077E C0/07B0: AA TAX C0/07B1: 862A STX $2A C0/07B3: A600 LDX $00 C0/07B5: 98 TYA C0/07B6: 38 SEC C0/07B7: FF007B7E SBC $7E7B00,X C0/07BB: B001 BCS $07BE C0/07BD: 7B TDC C0/07BE: 8D8021 STA $2180 C0/07C1: 98 TYA C0/07C2: 18 CLC C0/07C3: 7F007B7E ADC $7E7B00,X C0/07C7: 9002 BCC $07CB C0/07C9: A9FF LDA #$FF C0/07CB: 8D8021 STA $2180 C0/07CE: E8 INX C0/07CF: E42A CPX $2A C0/07D1: D0E2 BNE $07B5 C0/07D3: A9D1 LDA #$D1 C0/07D5: 38 SEC C0/07D6: E51A SBC $1A C0/07D8: 38 SEC C0/07D9: ED7E07 SBC $077E C0/07DC: 206E0B JSR $0B6E C0/07DF: C210 REP #$10 (16 bit index registers) C0/07E1: 60 RTS
C0/07E2 unknow
C0/07E2: A51A LDA $1A (from C0/0862, C0/0892, C0/08C1) C0/07E4: 8D0242 STA $4202 C0/07E7: 4A LSR A C0/07E8: 851A STA $1A C0/07EA: A51B LDA $1B C0/07EC: AA TAX C0/07ED: BF6DFEC2 LDA $C2FE6D,X (load from the sine table) C0/07F1: 18 CLC C0/07F2: 6980 ADC #$80 C0/07F4: 8D0342 STA $4203 C0/07F7: EA NOP C0/07F8: EA NOP C0/07F9: EA NOP C0/07FA: AD1742 LDA $4217 C0/07FD: 38 SEC C0/07FE: E51A SBC $1A C0/0800: 60 RTS
C0/0801 unknow
C0/0801: A51A LDA $1A (from C0/0871, C0/08A0, C0/08CF) C0/0803: 8D0242 STA $4202 C0/0806: 4A LSR A C0/0807: 851A STA $1A C0/0809: A51B LDA $1B C0/080B: 18 CLC C0/080C: 6940 ADC #$40 C0/080E: AA TAX (BRA $07EC?) C0/080F: BF6DFEC2 LDA $C2FE6D,X (load from the sine table) C0/0813: 18 CLC C0/0814: 6980 ADC #$80 C0/0816: 8D0342 STA $4203 C0/0819: EA NOP C0/081A: EA NOP C0/081B: EA NOP C0/081C: AD1742 LDA $4217 C0/081F: 38 SEC C0/0820: E51A SBC $1A C0/0822: 60 RTS
C0/0823 unknow
C0/0823: AD8107 LDA $0781 (from only C0/0143) C0/0826: D001 BNE $0829 C0/0828: 60 RTS
C0/0829: AC7F07 LDY $077F (from C0/0826) C0/082C: B96A08 LDA $086A,Y C0/082F: 38 SEC C0/0830: E55C SBC $5C C0/0832: 18 CLC C0/0833: 6910 ADC #$10 C0/0835: 8D7D07 STA $077D C0/0838: B96D08 LDA $086D,Y C0/083B: 38 SEC C0/083C: E560 SBC $60 C0/083E: 8D7E07 STA $077E C0/0841: C221 REP #$21 C0/0843: AD9007 LDA $0790 C0/0846: 18 CLC C0/0847: 694000 ADC #$0040 C0/084A: 8D9007 STA $0790 C0/084D: 7B TDC C0/084E: E220 SEP #$20 (8 bit accum./memory) C0/0850: AD9007 LDA $0790 C0/0853: 29C0 AND #$C0 C0/0855: 851B STA $1B C0/0857: AD9107 LDA $0791 C0/085A: 0A ASL A C0/085B: 18 CLC C0/085C: 651B ADC $1B C0/085E: 851B STA $1B C0/0860: 641A STZ $1A C0/0862: 20E207 JSR $07E2 (notice each time this is called...) C0/0865: 18 CLC C0/0866: 6D7E07 ADC $077E (...these 2 lines follow it) C0/0869: 38 SEC C0/086A: E930 SBC #$30 C0/086C: 8D5D07 STA $075D C0/086F: 641A STZ $1A C0/0871: 200108 JSR $0801 C0/0874: 18 CLC C0/0875: 6D7D07 ADC $077D C0/0878: 8D5C07 STA $075C C0/087B: AD9007 LDA $0790 C0/087E: 29C0 AND #$C0 C0/0880: 851B STA $1B C0/0882: AD9107 LDA $0791 C0/0885: 0A ASL A C0/0886: 18 CLC C0/0887: 651B ADC $1B C0/0889: 38 SEC C0/088A: E920 SBC #$20 C0/088C: 851B STA $1B C0/088E: A920 LDA #$20 C0/0890: 851A STA $1A C0/0892: 20E207 JSR $07E2 C0/0895: 18 CLC C0/0896: 6D7E07 ADC $077E C0/0899: 8D5F07 STA $075F C0/089C: A940 LDA #$40 C0/089E: 851A STA $1A C0/08A0: 200108 JSR $0801 C0/08A3: 18 CLC C0/08A4: 6D7D07 ADC $077D C0/08A7: 8D5E07 STA $075E C0/08AA: AD9007 LDA $0790 C0/08AD: 29C0 AND #$C0 C0/08AF: 851B STA $1B C0/08B1: AD9107 LDA $0791 C0/08B4: 0A ASL A C0/08B5: 18 CLC C0/08B6: 651B ADC $1B C0/08B8: 18 CLC C0/08B9: 6920 ADC #$20 C0/08BB: 851B STA $1B C0/08BD: A920 LDA #$20 C0/08BF: 851A STA $1A C0/08C1: 20E207 JSR $07E2 C0/08C4: 18 CLC C0/08C5: 6D7E07 ADC $077E C0/08C8: 8D6107 STA $0761 C0/08CB: A940 LDA #$40 C0/08CD: 851A STA $1A C0/08CF: 200108 JSR $0801 C0/08D2: 18 CLC C0/08D3: 6D7D07 ADC $077D C0/08D6: 8D6007 STA $0760 C0/08D9: EE6605 INC $0566 C0/08DC: AD6605 LDA $0566 C0/08DF: 4A LSR A C0/08E0: B008 BCS $08EA C0/08E2: A2B38C LDX #$8CB3 C0/08E5: 8E8121 STX $2181 C0/08E8: 8006 BRA $08F0 C0/08EA: A2538E LDX #$8E53 C0/08ED: 8E8121 STX $2181 C0/08F0: A97E LDA #$7E C0/08F2: 8D8321 STA $2183 C0/08F5: AD5D07 LDA $075D C0/08F8: CD5F07 CMP $075F C0/08FB: 900C BCC $0909 C0/08FD: AE5C07 LDX $075C C0/0900: AC5E07 LDY $075E C0/0903: 8E5E07 STX $075E C0/0906: 8C5C07 STY $075C C0/0909: AD5F07 LDA $075F C0/090C: CD6107 CMP $0761 C0/090F: 900C BCC $091D C0/0911: AE5E07 LDX $075E C0/0914: AC6007 LDY $0760 C0/0917: 8E6007 STX $0760 C0/091A: 8C5E07 STY $075E C0/091D: AD5D07 LDA $075D C0/0920: CD5F07 CMP $075F C0/0923: 900C BCC $0931 C0/0925: AE5C07 LDX $075C C0/0928: AC5E07 LDY $075E C0/092B: 8E5E07 STX $075E C0/092E: 8C5C07 STY $075C C0/0931: AD5D07 LDA $075D C0/0934: CD5F07 CMP $075F C0/0937: D017 BNE $0950 C0/0939: AD5C07 LDA $075C C0/093C: CD5E07 CMP $075E C0/093F: 900C BCC $094D C0/0941: AE5C07 LDX $075C C0/0944: AC5E07 LDY $075E C0/0947: 8E5E07 STX $075E C0/094A: 8C5C07 STY $075C C0/094D: 4C240A JMP $0A24 (could use BRL $0A24)
C0/095A unknow
C0/0950: AD5E07 LDA $075E C0/0953: CD6007 CMP $0760 C0/0956: 900C BCC $0964 C0/0958: AE5E07 LDX $075E C0/095B: AC6007 LDY $0760 C0/095E: 8E6007 STX $0760 C0/0961: 8C5E07 STY $075E C0/0964: AD5F07 LDA $075F C0/0967: CD6107 CMP $0761 C0/096A: D003 BNE $096F C0/096C: 4C780A JMP $0A78 (could use BRL $0A78)
C0/096F: AD5D07 LDA $075D C0/0972: 852C STA $2C C0/0974: AD5F07 LDA $075F C0/0977: 38 SEC C0/0978: ED5D07 SBC $075D C0/097B: 8528 STA $28 C0/097D: AD5E07 LDA $075E C0/0980: 8526 STA $26 C0/0982: AD5C07 LDA $075C C0/0985: 8527 STA $27 C0/0987: 207F0B JSR $0B7F C0/098A: 851A STA $1A C0/098C: 842A STY $2A C0/098E: AD6107 LDA $0761 C0/0991: 38 SEC C0/0992: ED5D07 SBC $075D C0/0995: 8528 STA $28 C0/0997: AD6007 LDA $0760 C0/099A: 8526 STA $26 C0/099C: AD5C07 LDA $075C C0/099F: 8527 STA $27 C0/09A1: 207F0B JSR $0B7F C0/09A4: 842D STY $2D C0/09A6: C51A CMP $1A C0/09A8: D01A BNE $09C4 C0/09AA: A42A LDY $2A C0/09AC: C42D CPY $2D C0/09AE: 9014 BCC $09C4 C0/09B0: AE5E07 LDX $075E C0/09B3: AC6007 LDY $0760 C0/09B6: 8E6007 STX $0760 C0/09B9: 8C5E07 STY $075E C0/09BC: A62A LDX $2A C0/09BE: A42D LDY $2D C0/09C0: 862D STX $2D C0/09C2: 842A STY $2A C0/09C4: AD6107 LDA $0761 C0/09C7: 38 SEC C0/09C8: ED5F07 SBC $075F C0/09CB: 902A BCC $09F7 C0/09CD: 8528 STA $28 C0/09CF: AD6007 LDA $0760 C0/09D2: 8526 STA $26 C0/09D4: 38 SEC C0/09D5: AD5E07 LDA $075E C0/09D8: 8527 STA $27 C0/09DA: 207F0B JSR $0B7F C0/09DD: 8430 STY $30 C0/09DF: AD5F07 LDA $075F C0/09E2: 8532 STA $32 C0/09E4: AD6107 LDA $0761 C0/09E7: 852F STA $2F C0/09E9: AD5C07 LDA $075C C0/09EC: C220 REP #$20 (16 bit accum./memory) C0/09EE: EB XBA C0/09EF: AA TAX C0/09F0: A8 TAY C0/09F1: 7B TDC C0/09F2: E220 SEP #$20 (8 bit accum./memory) C0/09F4: 4CC20A JMP $0AC2 (could use BRL $0AC2)
C0/09F7 unknow
C0/09F7: 49FF EOR #$FF C0/09F9: 1A INC A C0/09FA: 8528 STA $28 C0/09FC: AD5E07 LDA $075E C0/09FF: 8526 STA $26 C0/0A01: 38 SEC C0/0A02: AD6007 LDA $0760 C0/0A05: 8527 STA $27 C0/0A07: 207F0B JSR $0B7F C0/0A0A: 8430 STY $30 C0/0A0C: AD6107 LDA $0761 C0/0A0F: 8532 STA $32 C0/0A11: AD5F07 LDA $075F C0/0A14: 852F STA $2F C0/0A16: AD5C07 LDA $075C C0/0A19: C220 REP #$20 (16 bit accum./memory) C0/0A1B: EB XBA C0/0A1C: AA TAX C0/0A1D: A8 TAY C0/0A1E: 7B TDC C0/0A1F: E220 SEP #$20 (8 bit accum./memory) C0/0A21: 4C180B JMP $0B18 (could use BRL $0B18)
C0/0A24 unknow
C0/0A24: AD6107 LDA $0761 C0/0A27: 38 SEC C0/0A28: ED5D07 SBC $075D C0/0A2B: 8528 STA $28 C0/0A2D: AD6007 LDA $0760 C0/0A30: 8526 STA $26 C0/0A32: AD5C07 LDA $075C C0/0A35: 8527 STA $27 C0/0A37: 207F0B JSR $0B7F C0/0A3A: 842A STY $2A C0/0A3C: AD6107 LDA $0761 C0/0A3F: 38 SEC C0/0A40: ED5F07 SBC $075F C0/0A43: 8528 STA $28 C0/0A45: AD6007 LDA $0760 C0/0A48: 8526 STA $26 C0/0A4A: AD5E07 LDA $075E C0/0A4D: 8527 STA $27 C0/0A4F: 207F0B JSR $0B7F C0/0A52: 842D STY $2D C0/0A54: AD5D07 LDA $075D C0/0A57: 852C STA $2C C0/0A59: AD6107 LDA $0761 C0/0A5C: 8532 STA $32 C0/0A5E: 852F STA $2F C0/0A60: C220 REP #$20 (16 bit accum./memory) C0/0A62: AD5C07 LDA $075C C0/0A65: 29FF00 AND #$00FF C0/0A68: EB XBA C0/0A69: AA TAX C0/0A6A: AD5E07 LDA $075E C0/0A6D: 29FF00 AND #$00FF C0/0A70: EB XBA C0/0A71: A8 TAY C0/0A72: 7B TDC C0/0A73: E220 SEP #$20 (8 bit accum./memory) C0/0A75: 4CC20A JMP $0AC2 (could used BRA $0AC2, saving one byte)
C0/0A78 unknow
C0/0A78: AD5F07 LDA $075F C0/0A7B: 38 SEC C0/0A7C: ED5D07 SBC $075D C0/0A7F: 8528 STA $28 C0/0A81: AD5E07 LDA $075E C0/0A84: 8526 STA $26 C0/0A86: AD5C07 LDA $075C C0/0A89: 8527 STA $27 C0/0A8B: 207F0B JSR $0B7F C0/0A8E: 842A STY $2A C0/0A90: AD6107 LDA $0761 C0/0A93: 38 SEC C0/0A94: ED5D07 SBC $075D C0/0A97: 8528 STA $28 C0/0A99: AD6007 LDA $0760 C0/0A9C: 8526 STA $26 C0/0A9E: AD5C07 LDA $075C C0/0AA1: 8527 STA $27 C0/0AA3: 207F0B JSR $0B7F C0/0AA6: 842D STY $2D C0/0AA8: AD5D07 LDA $075D C0/0AAB: 852C STA $2C C0/0AAD: AD6107 LDA $0761 C0/0AB0: 852F STA $2F C0/0AB2: 8532 STA $32 C0/0AB4: AD5C07 LDA $075C C0/0AB7: C220 REP #$20 (16 bit accum./memory) C0/0AB9: EB XBA C0/0ABA: AA TAX C0/0ABB: A8 TAY C0/0ABC: 7B TDC C0/0ABD: E220 SEP #$20 (8 bit accum./memory) C0/0ABF: 4CC20A JMP $0AC2 (could eliminate, saving three bytes)
C0/0AC2 unknow
C0/0AC2: A52C LDA $2C C0/0AC4: 206E0B JSR $0B6E C0/0AC7: A532 LDA $32 C0/0AC9: 38 SEC C0/0ACA: E52C SBC $2C C0/0ACC: F01D BEQ $0AEB C0/0ACE: 8522 STA $22 C0/0AD0: 6423 STZ $23 C0/0AD2: C221 REP #$21 C0/0AD4: 8A TXA C0/0AD5: 18 CLC C0/0AD6: 652A ADC $2A C0/0AD8: AA TAX C0/0AD9: 8D7F21 STA $217F C0/0ADC: 98 TYA C0/0ADD: 18 CLC C0/0ADE: 652D ADC $2D C0/0AE0: A8 TAY C0/0AE1: 8D7F21 STA $217F C0/0AE4: C622 DEC $22 C0/0AE6: D0EC BNE $0AD4 C0/0AE8: 7B TDC C0/0AE9: E220 SEP #$20 (8 bit accum./memory) C0/0AEB: A52F LDA $2F C0/0AED: 38 SEC C0/0AEE: E532 SBC $32 C0/0AF0: F01D BEQ $0B0F C0/0AF2: 8522 STA $22 C0/0AF4: 6423 STZ $23 C0/0AF6: C221 REP #$21 C0/0AF8: 8A TXA C0/0AF9: 18 CLC C0/0AFA: 6530 ADC $30 C0/0AFC: AA TAX C0/0AFD: 8D7F21 STA $217F C0/0B00: 98 TYA C0/0B01: 18 CLC C0/0B02: 652D ADC $2D C0/0B04: A8 TAY C0/0B05: 8D7F21 STA $217F C0/0B08: C622 DEC $22 C0/0B0A: D0EC BNE $0AF8 C0/0B0C: 7B TDC C0/0B0D: E220 SEP #$20 (8 bit accum./memory) C0/0B0F: A9D0 LDA #$D0 C0/0B11: 38 SEC C0/0B12: E52F SBC $2F C0/0B14: 206E0B JSR $0B6E C0/0B17: 60 RTS
C0/0B18 unknow
C0/0B18: A52C LDA $2C (from C0/0A21, via JMP) C0/0B1A: 206E0B JSR $0B6E C0/0B1D: A532 LDA $32 C0/0B1F: 38 SEC C0/0B20: E52C SBC $2C C0/0B22: F01D BEQ $0B41 C0/0B24: 8522 STA $22 C0/0B26: 6423 STZ $23 C0/0B28: C221 REP #$21 C0/0B2A: 8A TXA C0/0B2B: 18 CLC C0/0B2C: 652A ADC $2A C0/0B2E: AA TAX C0/0B2F: 8D7F21 STA $217F C0/0B32: 98 TYA C0/0B33: 18 CLC C0/0B34: 652D ADC $2D C0/0B36: A8 TAY C0/0B37: 8D7F21 STA $217F C0/0B3A: C622 DEC $22 C0/0B3C: D0EC BNE $0B2A C0/0B3E: 7B TDC C0/0B3F: E220 SEP #$20 (8 bit accum./memory) C0/0B41: A52F LDA $2F C0/0B43: 38 SEC C0/0B44: E532 SBC $32 C0/0B46: F01D BEQ $0B65 C0/0B48: 8522 STA $22 C0/0B4A: 6423 STZ $23 C0/0B4C: C221 REP #$21 C0/0B4E: 8A TXA C0/0B4F: 18 CLC C0/0B50: 652A ADC $2A C0/0B52: AA TAX C0/0B53: 8D7F21 STA $217F C0/0B56: 98 TYA C0/0B57: 18 CLC C0/0B58: 6530 ADC $30 C0/0B5A: A8 TAY C0/0B5B: 8D7F21 STA $217F C0/0B5E: C622 DEC $22 C0/0B60: D0EC BNE $0B4E C0/0B62: 7B TDC C0/0B63: E220 SEP #$20 (8 bit accum./memory) C0/0B65: A9D0 LDA #$D0 C0/0B67: 38 SEC C0/0B68: E52F SBC $2F C0/0B6A: 206E0B JSR $0B6E C0/0B6D: 60 RTS
C0/0B6E unknow
C0/0B6E: DA PHX C0/0B6F: AA TAX C0/0B70: F00B BEQ $0B7D C0/0B72: A9FF LDA #$FF C0/0B74: 8D8021 STA $2180 C0/0B77: 9C8021 STZ $2180 C0/0B7A: CA DEX C0/0B7B: D0F7 BNE $0B74 C0/0B7D: FA PLX C0/0B7E: 60 RTS
C0/0B7F division function
C0/0B7F: A526 LDA $26 C0/0B81: 38 SEC C0/0B82: E527 SBC $27 C0/0B84: 9015 BCC $0B9B C0/0B86: EB XBA (move to high byte) C0/0B87: A8 TAY (then transfer all of A to Y) C0/0B88: 8C0442 STY $4204 C0/0B8B: A528 LDA $28 C0/0B8D: 8D0642 STA $4206 (divide by contents of $28) C0/0B90: 7B TDC (2 cycles) C0/0B91: EA NOP (4 cycles) C0/0B92: EA NOP (6 cycles) C0/0B93: EA NOP (8 cycles) C0/0B94: EA NOP (10 cycles) C0/0B95: EA NOP (12 cycles) C0/0B96: EA NOP (14 cycles) C0/0B97: AC1442 LDY $4214 (19 cycles) C0/0B9A: 60 RTS
C0/0B9B division function
C0/0B9B: 49FF EOR #$FF (atomic, from C0/0B84, subtract 255) C0/0B9D: 1A INC A (and add 1) C0/0B9E: EB XBA (move to the high byte) C0/0B9F: A8 TAY (then transfer all of A to Y) C0/0BA0: 8C0442 STY $4204 C0/0BA3: A528 LDA $28 C0/0BA5: 8D0642 STA $4206 (divide by contents of $28) C0/0BA8: 7B TDC (2 cycles) C0/0BA9: EA NOP (4 cycles) C0/0BAA: EA NOP (6 cycles) C0/0BAB: EA NOP (8 cycles) C0/0BAC: EA NOP (10 cycles) C0/0BAD: EA NOP (12 cycles) C0/0BAE: C220 REP #$20 (16 bit accum./memory, 15 cycles) C0/0BB0: AD1442 LDA $4214 (20 cycles, overkill much?) C0/0BB3: 4502 EOR $02 (EOR #$FF, though it could also be 0...) C0/0BB5: 1A INC A (and add 1) C0/0BB6: A8 TAY (put result in Y) C0/0BB7: 7B TDC (A = #$0000) C0/0BB8: E220 SEP #$20 (8 bit accum./memory) C0/0BBA: A901 LDA #$01 (INC A...) C0/0BBC: 60 RTS
C0/0BBD unknow
C0/0BBD: AD2105 LDA $0521 (from only C0/0146) C0/0BC0: 2920 AND #$20 C0/0BC2: D001 BNE $0BC5 C0/0BC4: 60 RTS C0/0BC5: EE6605 INC $0566 (from C0/0BC2) C0/0BC8: AD6605 LDA $0566 C0/0BCB: 4A LSR A C0/0BCC: B008 BCS $0BD6 C0/0BCE: A2B38C LDX #$8CB3 C0/0BD1: 8E8121 STX $2181 (7E/8CB3...) C0/0BD4: 8006 BRA $0BDC
C0/0BD6: A2538E LDX #$8E53 (from C0/0BCC) C0/0BD9: 8E8121 STX $2181 (7E/8E53...) C0/0BDC: A97E LDA #$7E (from C0/0BD4) C0/0BDE: 8D8321 STA $2183 C0/0BE1: 6426 STZ $26 C0/0BE3: AD9007 LDA $0790 C0/0BE6: 4A LSR A C0/0BE7: B02D BCS $0C16 C0/0BE9: C220 REP #$20 (16 bit accum./memory) C0/0BEB: AD8307 LDA $0783 C0/0BEE: 18 CLC C0/0BEF: 693200 ADC #$0032 C0/0BF2: 8D8307 STA $0783 C0/0BF5: 7B TDC C0/0BF6: E220 SEP #$20 (8 bit accum./memory) C0/0BF8: AD8407 LDA $0784 C0/0BFB: AA TAX C0/0BFC: BF6DFEC2 LDA $C2FE6D,X (load from the sine table) C0/0C00: 18 CLC C0/0C01: 6980 ADC #$80 C0/0C03: 4A LSR A C0/0C04: 8527 STA $27 C0/0C06: C220 REP #$20 (16 bit accum./memory) C0/0C08: EE9007 INC $0790 C0/0C0B: AD9007 LDA $0790 C0/0C0E: 4A LSR A C0/0C0F: 29FF00 AND #$00FF C0/0C12: E220 SEP #$20 (8 bit accum./memory) C0/0C14: 8035 BRA $0C4B
C0/0C16 unknow
C0/0C16: C220 REP #$20 (from C0/0BE7)(16 bit accum./memory) C0/0C18: AD8507 LDA $0785 C0/0C1B: 18 CLC C0/0C1C: 691E00 ADC #$001E C0/0C1F: 8D8507 STA $0785 C0/0C22: 7B TDC C0/0C23: E220 SEP #$20 (8 bit accum./memory) C0/0C25: AD8607 LDA $0786 C0/0C28: 18 CLC C0/0C29: 6940 ADC #$40 C0/0C2B: AA TAX C0/0C2C: BF6DFEC2 LDA $C2FE6D,X (load from the sine table) C0/0C30: 18 CLC C0/0C31: 6980 ADC #$80 C0/0C33: 4A LSR A C0/0C34: 18 CLC C0/0C35: 6970 ADC #$70 C0/0C37: 8527 STA $27 C0/0C39: C220 REP #$20 (16 bit accum./memory) C0/0C3B: EE9007 INC $0790 C0/0C3E: AD9007 LDA $0790 C0/0C41: 4A LSR A C0/0C42: 18 CLC C0/0C43: 694000 ADC #$0040 C0/0C46: 29FF00 AND #$00FF C0/0C49: E220 SEP #$20 (8 bit accum./memory) C0/0C4B: AA TAX (from C0/0C14) C0/0C4C: BF6DFEC2 LDA $C2FE6D,X (load from the sine table) C0/0C50: 3014 BMI $0C66 C0/0C52: C220 REP #$20 (16 bit accum./memory) C0/0C54: 0A ASL A C0/0C55: 38 SEC C0/0C56: E91800 SBC #$0018 C0/0C59: 8520 STA $20 C0/0C5B: 18 CLC C0/0C5C: 693000 ADC #$0030 C0/0C5F: 8524 STA $24 C0/0C61: 7B TDC C0/0C62: E220 SEP #$20 (8 bit accum./memory) C0/0C64: 801B BRA $0C81
C0/0C66 unknow
C0/0C66: C220 REP #$20 (from C0/0C50)(16 bit accum./memory) C0/0C68: 4502 EOR $02 C0/0C6A: 1A INC A C0/0C6B: 0A ASL A C0/0C6C: 4502 EOR $02 C0/0C6E: 1A INC A C0/0C6F: 0900FE ORA #$FE00 C0/0C72: 38 SEC C0/0C73: E91800 SBC #$0018 C0/0C76: 8520 STA $20 C0/0C78: 18 CLC C0/0C79: 693000 ADC #$0030 C0/0C7C: 8524 STA $24 C0/0C7E: 7B TDC C0/0C7F: E220 SEP #$20 (8 bit accum./memory) C0/0C81: C221 REP #$21 (from C0/0C64) C0/0C83: A526 LDA $26 C0/0C85: AA TAX C0/0C86: 69000C ADC #$0C00 C0/0C89: A8 TAY C0/0C8A: 7B TDC C0/0C8B: E220 SEP #$20 (8 bit accum./memory) C0/0C8D: A521 LDA $21 C0/0C8F: 3002 BMI $0C93 C0/0C91: 8008 BRA $0C9B C0/0C93: A525 LDA $25 (from C0/0C8F) C0/0C95: 3002 BMI $0C99 C0/0C97: 803C BRA $0CD5 C0/0C99: 807C BRA $0D17 (from C0/0C95) C0/0C9B: A968 LDA #$68 (from C0/0C91) C0/0C9D: 8522 STA $22 C0/0C9F: 6423 STZ $23 C0/0CA1: C221 REP #$21 C0/0CA3: 8A TXA (from C0/0CBD) C0/0CA4: 6520 ADC $20 C0/0CA6: AA TAX C0/0CA7: B01A BCS $0CC3 C0/0CA9: 8D7F21 STA $217F (from C0/0CC9) C0/0CAC: 98 TYA C0/0CAD: 6524 ADC $24 C0/0CAF: A8 TAY C0/0CB0: B019 BCS $0CCB C0/0CB2: 8D7F21 STA $217F (from C0/0CD3) C0/0CB5: 8E7F21 STX $217F C0/0CB8: 8C7F21 STY $217F C0/0CBB: C622 DEC $22 C0/0CBD: D0E4 BNE $0CA3 C0/0CBF: 7B TDC C0/0CC0: E220 SEP #$20 (8 bit accum./memory) C0/0CC2: 60 RTS
C0/0CC3 unknow
C0/0CC3: A502 LDA $02 (from C0/0CA7) C0/0CC5: AA TAX C0/0CC6: 6420 STZ $20 C0/0CC8: 18 CLC C0/0CC9: 80DE BRA $0CA9
C0/0CCB unknow
C0/0CCB: A502 LDA $02 (from C0/0CB0) C0/0CCD: A8 TAY C0/0CCE: 6424 STZ $24 C0/0CD0: 6425 STZ $25 C0/0CD2: 18 CLC C0/0CD3: 80DD BRA $0CB2
C0/0CD5 unknow
C0/0CD5: A968 LDA #$68 (from C0/0C97) C0/0CD7: 8522 STA $22 C0/0CD9: 6423 STZ $23 C0/0CDB: C220 REP #$20 (16 bit accum./memory) C0/0CDD: A520 LDA $20 C0/0CDF: 4502 EOR $02 C0/0CE1: 1A INC A C0/0CE2: 8520 STA $20 C0/0CE4: 8A TXA C0/0CE5: 38 SEC C0/0CE6: E520 SBC $20 C0/0CE8: AA TAX C0/0CE9: 901B BCC $0D06 C0/0CEB: 8D7F21 STA $217F (from C0/0D0B) C0/0CEE: 98 TYA C0/0CEF: 18 CLC C0/0CF0: 6524 ADC $24 C0/0CF2: A8 TAY C0/0CF3: B018 BCS $0D0D C0/0CF5: 8D7F21 STA $217F (from C0/0D15) C0/0CF8: 8E7F21 STX $217F C0/0CFB: 8C7F21 STY $217F C0/0CFE: C622 DEC $22 C0/0D00: D0E2 BNE $0CE4 C0/0D02: 7B TDC C0/0D03: E220 SEP #$20 (8 bit accum./memory) C0/0D05: 60 RTS
C0/0D06 unknow
C0/0D06: A600 LDX $00 (from C0/0CE9) C0/0D08: 8620 STX $20 C0/0D0A: 7B TDC C0/0D0B: 80DE BRA $0CEB
C0/0D0D unknow
C0/0D0D: A502 LDA $02 (from C0/0CF3) C0/0D0F: A8 TAY C0/0D10: 6424 STZ $24 C0/0D12: 6425 STZ $25 C0/0D14: 18 CLC C0/0D15: 80DE BRA $0CF5
C0/0D17 unknow
C0/0D17: A968 LDA #$68 (from C0/0C99) C0/0D19: 8522 STA $22 C0/0D1B: 6423 STZ $23 C0/0D1D: C220 REP #$20 (16 bit accum./memory) C0/0D1F: A520 LDA $20 C0/0D21: 4502 EOR $02 C0/0D23: 1A INC A C0/0D24: 8520 STA $20 C0/0D26: A524 LDA $24 C0/0D28: 4502 EOR $02 C0/0D2A: 1A INC A C0/0D2B: 8524 STA $24 C0/0D2D: 8A TXA (from C0/0D49) C0/0D2E: 38 SEC C0/0D2F: E520 SBC $20 C0/0D31: AA TAX C0/0D32: 901B BCC $0D4F C0/0D34: 8D7F21 STA $217F (from C0/0D54) C0/0D37: 98 TYA C0/0D38: 38 SEC C0/0D39: E524 SBC $24 C0/0D3B: A8 TAY C0/0D3C: 9018 BCC $0D56 C0/0D3E: 8D7F21 STA $217F C0/0D41: 8E7F21 STX $217F (from C0/0D5B) C0/0D44: 8C7F21 STY $217F C0/0D47: C622 DEC $22 C0/0D49: D0E2 BNE $0D2D C0/0D4B: 7B TDC C0/0D4C: E220 SEP #$20 (8 bit accum./memory) C0/0D4E: 60 RTS
C0/0D4F unknow
C0/0D4F: A600 LDX $00 (from C0/0D32) C0/0D51: 8620 STX $20 C0/0D53: 7B TDC C0/0D54: 80DE BRA $0D34
C0/0D56 unknow
C0/0D56: A400 LDY $00 (from C0/0D3C) C0/0D58: 8424 STY $24 C0/0D5A: 7B TDC C0/0D5B: 80E1 BRA $0D3E
C0/0D5D unknow
C0/0D5D: A97E LDA #$7E (is this function ever called?) C0/0D5F: 48 PHA C0/0D60: AB PLB C0/0D61: C220 REP #$20 (16 bit accum./memory) C0/0D63: A400 LDY $00 C0/0D65: BB TYX C0/0D66: B9087D LDA $7D08,Y C0/0D69: C95387 CMP #$8753 C0/0D6C: D007 BNE $0D75 C0/0D6E: BF8D0DC0 LDA $C00D8D,X C0/0D72: 99087D STA $7D08,Y (set VRAM positioning?) C0/0D75: 8A TXA C0/0D76: 18 CLC C0/0D77: 690200 ADC #$0002 (INC A INC A would save two bytes) C0/0D7A: 290700 AND #$0007 C0/0D7D: AA TAX C0/0D7E: C8 INY C0/0D7F: C8 INY C0/0D80: C8 INY C0/0D81: C05A00 CPY #$005A C0/0D84: D0E0 BNE $0D66 C0/0D86: 7B TDC C0/0D87: E220 SEP #$20 (8 bit accum./memory) C0/0D89: 7B TDC (A is already #$0000) C0/0D8A: 48 PHA C0/0D8B: AB PLB C0/0D8C: 60 RTS
C0/0D8D unknow (data)
C0/0D8D: 6387 C0/0D8F: 7387 C0/0D91: 8387 C0/0D93: 9387
C0/0D95 unknow
C0/0D95: A920 LDA #$20 C0/0D97: 8D5207 STA $0752 C0/0D9A: A940 LDA #$40 C0/0D9C: 8D5307 STA $0753 C0/0D9F: A980 LDA #$80 C0/0DA1: 8D0242 STA $4202 C0/0DA4: A26387 LDX #$8763 C0/0DA7: 8E8121 STX $2181 C0/0DAA: A97E LDA #$7E C0/0DAC: 8D8321 STA $2183 (7E/8763...) C0/0DAF: AD4600 LDA $0046 C0/0DB2: 291F AND #$1F C0/0DB4: AA TAX C0/0DB5: 861E STX $1E C0/0DB7: AD4600 LDA $0046 C0/0DBA: 0A ASL A C0/0DBB: 291F AND #$1F C0/0DBD: AA TAX C0/0DBE: 8620 STX $20 C0/0DC0: A02000 LDY #$0020 C0/0DC3: A61E LDX $1E C0/0DC5: BFF70DC0 LDA $C00DF7,X C0/0DC9: 8D0342 STA $4203 C0/0DCC: 8A TXA C0/0DCD: 1A INC A C0/0DCE: 291F AND #$1F C0/0DD0: 851E STA $1E C0/0DD2: AD1742 LDA $4217 C0/0DD5: 0D5207 ORA $0752 C0/0DD8: 8D8021 STA $2180 C0/0DDB: A620 LDX $20 C0/0DDD: BF170EC0 LDA $C00E17,X C0/0DE1: 8D0342 STA $4203 C0/0DE4: 8A TXA C0/0DE5: 1A INC A C0/0DE6: 291F AND #$1F C0/0DE8: 8520 STA $20 C0/0DEA: AD1742 LDA $4217 C0/0DED: 0D5307 ORA $0753 C0/0DF0: 8D8021 STA $2180 C0/0DF3: 88 DEY C0/0DF4: D0CD BNE $0DC3 C0/0DF6: 60 RTS
C0/0DF7 unknow (data)
C0/0DF7: 1011 C0/0DF9: 1213 C0/0DFB: 1415 C0/0DFD: 1617 C0/0DFF: 1819 C0/0E01: 1A1B C0/0E03: 1C1D C0/0E05: 1E1F C0/0E07: 1F1E C0/0E09: 1D1C C0/0E0B: 1B1A C0/0E0D: 1918 C0/0E0F: 1716 C0/0E11: 1514 C0/0E13: 1312 C0/0E15: 1110
C0/0E17: 0001 C0/0E19: 0203 C0/0E1B: 0405 C0/0E1D: 0607 C0/0E1F: 0809 C0/0E21: 0A0B C0/0E23: 0C0D C0/0E25: 0E0F C0/0E27: 0F0E C0/0E29: 0D0C C0/0E2B: 0B0A C0/0E2D: 0908 C0/0E2F: 0706 C0/0E31: 0504 C0/0E33: 0302 C0/0E35: 0100
C0/0E37 unknow
C0/0E37: ADF011 LDA $11F0 (from only C0/0243) C0/0E3A: F025 BEQ $0E61 C0/0E3C: 1A INC A C0/0E3D: C220 REP #$20 (16 bit accum./memory) C0/0E3F: 0A ASL A C0/0E40: 0A ASL A C0/0E41: 0A ASL A C0/0E42: 0A ASL A C0/0E43: 8510 STA $10 C0/0E45: AD9607 LDA $0796 C0/0E48: 38 SEC C0/0E49: E510 SBC $10 C0/0E4B: 8D9607 STA $0796 C0/0E4E: 1006 BPL $0E56 C0/0E50: 9C9607 STZ $0796 C0/0E53: 9CF011 STZ $11F0 C0/0E56: 7B TDC C0/0E57: E220 SEP #$20 (8 bit accum./memory) C0/0E59: AD9707 LDA $0797 C0/0E5C: AA TAX C0/0E5D: BF820EC0 LDA $C00E82,X C0/0E61: 8F33827E STA $7E8233 C0/0E65: 8F37827E STA $7E8237 C0/0E69: 8F3B827E STA $7E823B C0/0E6D: 8F3F827E STA $7E823F C0/0E71: 8F43827E STA $7E8243 C0/0E75: 8F47827E STA $7E8247 C0/0E79: 8F4B827E STA $7E824B C0/0E7D: 8F4F827E STA $7E824F C0/0E81: 60 RTS
C0/0E82 unknow (data)
C0/0E82: 0F 1F 2F 3F C0/0E86: 4F 5F 6F 7F C0/0E8A: 8F 9F AF BF C0/0E8E: CF DF EF FF C0/0E92: EF DF CF BF C0/0E96: AF 9F 8F 7F C0/0E9A: 6F 5F 4F 3F C0/0E9E: 2F 1F
C0/0EA0 unknow
C0/0EA0: A546 LDA $46 (from C0/00AD) C0/0EA2: 4A LSR A C0/0EA3: 9023 BCC $0EC8 C0/0EA5: AD4B07 LDA $074B C0/0EA8: 8D0242 STA $4202 C0/0EAB: A9C08D LDA #$8DC0 C0/0EAE: 0342 ORA $42,S C0/0EB0: EA NOP C0/0EB1: EA NOP C0/0EB2: EA NOP C0/0EB3: AD1742 LDA $4217 C0/0EB6: 8D4B07 STA $074B C0/0EB9: A600 LDX $00 C0/0EBB: 8E4C07 STX $074C C0/0EBE: 8E4E07 STX $074E C0/0EC1: 8E5007 STX $0750 C0/0EC4: 8E7F00 STX $007F C0/0EC7: 60 RTS
C0/0EC8 unknow
C0/0EC8: AD4A07 LDA $074A (from C0/0EA3) C0/0ECB: 2903 AND #$03 C0/0ECD: 8522 STA $22 C0/0ECF: F036 BEQ $0F07 C0/0ED1: AD4A07 LDA $074A C0/0ED4: 290C AND #$0C C0/0ED6: 4A LSR A C0/0ED7: 4A LSR A C0/0ED8: F00C BEQ $0EE6 C0/0EDA: AA TAX C0/0EDB: 202E06 JSR $062E (Random number generator) C0/0EDE: 3F450FC0 AND $C00F45,X C0/0EE2: D023 BNE $0F07 C0/0EE4: 8014 BRA $0EFA C0/0EE6: AD4A07 LDA $074A C0/0EE9: 29FC AND #$FC C0/0EEB: 8D4A07 STA $074A C0/0EEE: A522 LDA $22 C0/0EF0: AA TAX C0/0EF1: BF450FC0 LDA $C00F45,X C0/0EF5: 8D4B07 STA $074B C0/0EF8: 800D BRA $0F07 C0/0EFA: A522 LDA $22 C0/0EFC: AA TAX C0/0EFD: 202E06 JSR $062E (Random number generator) C0/0F00: 3F450FC0 AND $C00F45,X C0/0F04: 8D4B07 STA $074B C0/0F07: 9C4D07 STZ $074D C0/0F0A: 9C4F07 STZ $074F C0/0F0D: 9C5107 STZ $0751 C0/0F10: 9C8000 STZ $0080 C0/0F13: AD4A07 LDA $074A C0/0F16: 2910 AND #$10 C0/0F18: F006 BEQ $0F20 C0/0F1A: AD4B07 LDA $074B C0/0F1D: 8D4C07 STA $074C C0/0F20: AD4A07 LDA $074A C0/0F23: 2920 AND #$20 C0/0F25: F006 BEQ $0F2D C0/0F27: AD4B07 LDA $074B C0/0F2A: 8D4E07 STA $074E C0/0F2D: AD4A07 LDA $074A C0/0F30: 2940 AND #$40 C0/0F32: F006 BEQ $0F3A C0/0F34: AD4B07 LDA $074B C0/0F37: 8D5007 STA $0750 C0/0F3A: AD4A07 LDA $074A C0/0F3D: 1005 BPL $0F44 C0/0F3F: AD4B07 LDA $074B C0/0F42: 857F STA $7F C0/0F44: 60 RTS
C0/0F45 unknow
C0/0F45: 0003 C0/0F47: 060C C0/0F49: 0007 C0/0F4B: 0F1F
C0/0F4D unknow
C0/0F4D: A910 LDA #$10 (from C0/C0AB) C0/0F4F: 854A STA $4A C0/0F51: A910 LDA #$10 C0/0F53: 854C STA $4C C0/0F55: 60 RTS
C0/0F56 unknow
C0/0F56: A990 LDA #$90 C0/0F58: 854A STA $4A C0/0F5A: A9F0 LDA #$F0 C0/0F5C: 854C STA $4C C0/0F5E: 60 RTS
C0/0F5F unknow
C0/0F5F: A54A LDA $4A (from C0/01A4) C0/0F61: 3013 BMI $0F76 C0/0F63: A54C LDA $4C C0/0F65: 29F0 AND #$F0 C0/0F67: C9F0 CMP #$F0 C0/0F69: F01E BEQ $0F89 C0/0F6B: A54A LDA $4A C0/0F6D: 291F AND #$1F C0/0F6F: 18 CLC C0/0F70: 654C ADC $4C C0/0F72: 854C STA $4C C0/0F74: 8015 BRA $0F8B C0/0F76: A54C LDA $4C C0/0F78: F00F BEQ $0F89 C0/0F7A: A54A LDA $4A C0/0F7C: 291F AND #$1F C0/0F7E: 8510 STA $10 C0/0F80: A54C LDA $4C C0/0F82: 38 SEC C0/0F83: E510 SBC $10 C0/0F85: 854C STA $4C C0/0F87: 8002 BRA $0F8B C0/0F89: 644A STZ $4A C0/0F8B: A54C LDA $4C C0/0F8D: 4A LSR A (from C0/42BF) C0/0F8E: 4A LSR A C0/0F8F: 4A LSR A C0/0F90: 4A LSR A C0/0F91: 8D0021 STA $2100 C0/0F94: 60 RTS
C0/0F95 unknow
C0/0F95: 9C1521 STZ $2115 C0/0F98: 9C0B42 STZ $420B (turn off DMA) C0/0F9B: A941 LDA #$41 C0/0F9D: 8D0043 STA $4300 C0/0FA0: A918 LDA #$18 C0/0FA2: 8D0143 STA $4301 C0/0FA5: A52C LDA $2C C0/0FA7: 8D0443 STA $4304 C0/0FAA: A63B LDX $3B C0/0FAC: 8E1621 STX $2116 C0/0FAF: A62A LDX $2A C0/0FB1: 8E0243 STX $4302 C0/0FB4: A639 LDX $39 C0/0FB6: 8E0543 STX $4305 C0/0FB9: A901 LDA #$01 C0/0FBB: 8D0B42 STA $420B (turn on channel 1 of DMA) C0/0FBE: 60 RTS
C0/0FBF unknow
C0/0FBF: 9C0221 STZ $2102 (from C0/01AA) C0/0FC2: 9C0B42 STZ $420B (turn off DMA) C0/0FC5: A940 LDA #$40 C0/0FC7: 8D0043 STA $4300 C0/0FCA: A904 LDA #$04 C0/0FCC: 8D0143 STA $4301 C0/0FCF: A20003 LDX #$0300 C0/0FD2: 8E0243 STX $4302 C0/0FD5: A900 LDA #$00 C0/0FD7: 8D0443 STA $4304 C0/0FDA: 8D0743 STA $4307 C0/0FDD: A22002 LDX #$0220 C0/0FE0: 8E0543 STX $4305 C0/0FE3: A901 LDA #$01 C0/0FE5: 8D0B42 STA $420B (turn on channel 1 of DMA) C0/0FE8: 60 RTS
C0/0FE9 unknow
C0/0FE9: A20002 LDX #$0200 (from C0/BF8E) C0/0FEC: A9F0 LDA #$F0 C0/0FEE: 9DFD02 STA $02FD,X C0/0FF1: CA DEX C0/0FF2: CA DEX C0/0FF3: CA DEX C0/0FF4: CA DEX C0/0FF5: D0F7 BNE $0FEE C0/0FF7: A22000 LDX #$0020 C0/0FFA: 9EFF04 STZ $04FF,X C0/0FFD: CA DEX C0/0FFE: D0FA BNE $0FFA C0/1000: 60 RTS