If you are still using the old URL (datacrystal.romhacking.net), please update your bookmarks! The old URL may stop working soon.
The current URL is datacrystal.tcrf.net.
The current URL is datacrystal.tcrf.net.
Final Fantasy VI/ROM map/Assembly C00: Difference between revisions
< Final Fantasy VI | ROM map
Jump to navigation
Jump to search
m (minor formatting fix) |
m (Xkeeper moved page Final Fantasy VI:ROM map/Assembly C00 to Final Fantasy VI/ROM map/Assembly C00: normalize subpages and titles) |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{subpage|game=Final Fantasy VI:ROM map}} | |||
==C0/0000 unknow== | ==C0/0000 unknow== | ||
C0/0000: 207968 JSR $6879 | C0/0000: 207968 JSR $6879 | ||
Line 537: | Line 538: | ||
C0/046B: 60 RTS | C0/046B: 60 RTS | ||
==C0/046C LZ decompression routine== | ==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/046C: 8B PHB | ||
C0/046D: C220 REP #$20 (16 bit accum./memory) | C0/046D: C220 REP #$20 (16 bit accum./memory) |
Latest revision as of 02:41, 24 January 2024
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