ORG $A000 ;; Macro Assembler AS doesn't support the standard ;; 6502 assembler method of using < and > to get the ;; low and high bytes of an address, so these macros ;; are used instead LB FUNCTION b,(b&$ff) HB FUNCTION b,(b>>8) USRADD EQU $0001 INPPTR EQU $0043 LIVES EQU $0091 GRAPH0 EQU $009B SCRVC0 EQU $009D SCRVC1 EQU $009F JMPVC0 EQU $00C9 JMPVC1 EQU $00CB CINV EQU $0314 NMINV EQU $0318 HZCNRG EQU $9000 TVRAST EQU $9004 BCLREG EQU $900F TIMER1 EQU $9114 TIMER2 EQU $9116 AUXRG1 EQU $911B INTENR EQU $911E TM1LAT EQU $9124 TVDFLT EQU $EDE4 NTSC EQU $05 PAL EQU $0C adr TVTYPE ; GDB8B adr TVTYPE byt $41 byt $30, $C3, $C2, $CD G0BB3: LDA $A5,X STA SCRVC0 LDA $A6,X STA SCRVC0+1 LDY $CE BIT G72F4 LDA $94 LSR A LDA $D7 BCS G3CAF LDX #$00 LDA $97 AND #$04 CLC ADC $CE TAY CLV G3A36: LDA USRADD+1,X G3CAF: JMP (JMPVC0) LSR A LSR A LSR A LSR A LSR A LSR A LSR A JMP G51DA ASL A ASL A ASL A ASL A ASL A ASL A ASL A ASL A G51DA: STA (SCRVC0),Y INY STA (SCRVC0),Y INY STA (SCRVC0),Y INY STA (SCRVC0),Y INY CPY $D0 BCS G8374 BVS G51DA INY INY INY INY INX CPY $D0 BCC G3A36 G8374: RTS G5E55: LDA $A5,X STA SCRVC0 LDA $A6,X STA SCRVC0+1 LDA $A7,X STA SCRVC1 LDA $A8,X STA SCRVC1+1 LDY $8E LDX GD683+9,Y LDY #$8E G6532: DEX LDA G0A31+9,X JMP (JMPVC1) LSR A LSR A LSR A LSR A LSR A LSR A LSR A G1CFE: STA (SCRVC0),Y INY STA (SCRVC0),Y INY LDA G0A31+9,X JMP (JMPVC0) ASL A ASL A ASL A ASL A ASL A ASL A ASL A ASL A STA (SCRVC1),Y INY STA (SCRVC1),Y INY INY INY INY CPY #$B0 BCC G6532 RTS GBE0D: LDA (GRAPH0),Y JMP (JMPVC1) LSR A LSR A LSR A LSR A LSR A LSR A LSR A ORA (SCRVC0),Y STA (SCRVC0),Y LDA (GRAPH0),Y JMP (JMPVC0) ASL A ASL A ASL A ASL A ASL A ASL A ASL A ASL A G75D2: ORA (SCRVC1),Y STA (SCRVC1),Y DEY BPL GBE0D G848D: DEX BPL GEA41 RTS G44EF: LDA $C3,X STA SCRVC0 LDA $C4,X STA SCRVC0+1 LDY #$0B GB79C: LDA G64A8+7,Y JMP (JMPVC0) LSR A LSR A LSR A LSR A LSR A LSR A LSR A JMP G3F05 ASL A ASL A ASL A ASL A ASL A ASL A ASL A ASL A G3F05: STA $8F AND (SCRVC0),Y BNE G0A57 LDA $8F ORA (SCRVC0),Y STA (SCRVC0),Y DEY STA (SCRVC0),Y DEY BPL GB79C RTS G0A57: LDA #$3F STA $90 STA $41 LDA $4C SEC SBC #$04 STA $D8 RTS GCF8C: LDX #$09 GEA41: LDA $34,X BEQ G848D LDY #HB(GAAA1) ASL A ASL A ASL A BCC G72DE INY G72DE: SEC SBC $34,X BCS G58E0 DEY G58E0: STA GRAPH0 STY GRAPH0+1 LDA $66,X AND #$F8 LSR A LSR A TAY LDA SCRBGN,Y ADC $70,X STA SCRVC0 STA $AB,X LDA SCRBGN+1,Y ADC #$00 STA SCRVC0+1 STA $B7,X LDA ROWTBL,Y STA SCRVC1 ADC $70,X STA SCRVC1 LDA ROWTBL+1,Y ADC #$00 STA SCRVC1+1 LDA $66,X AND #$07 STA $D2 CLC ADC #$B7 STA JMPVC0 LDA #$AF SBC $D2 STA JMPVC1 LDY #$06 JMP GBE0D GFB67: LDA $CD BEQ H8374 CMP #$02 LDA #$00 BCC GD6CA LDY $CF BEQ H8374 G2EDC: STA ($A5),Y STA ($A7),Y INY CPY $D1 BCC G2EDC H8374: RTS GD6CA: LDY #$8C GF99C: STA ($A5),Y STA ($A7),Y STA ($A9),Y INY CPY #$B0 BCC GF99C RTS HCF8C: LDX #$09 G1C6D: LDA $AB,X STA SCRVC0 CLC ADC #$B0 STA SCRVC1 LDA $B7,X STA SCRVC0+1 ADC #$00 STA SCRVC1+1 LDA #$00 LDY #$06 G8E9F: STA (SCRVC0),Y STA (SCRVC1),Y DEY BPL G8E9F DEX BPL G1C6D RTS G3BD6: JSR G1689 LDA $90 BEQ G9DEB LDA #$01 STA $CD LDA #$00 STA USRADD STA $CE LDA $A7 CLC ADC #$B0 STA $A9 LDA $A8 ADC #$00 STA $AA LDA #$8C ADC $D2 STA JMPVC0 LDA #$81 SBC $D2 STA JMPVC1 LDA $90 LSR A LSR A AND #$FE STA $8E LDX #$00 JSR G5E55 LDX #$02 INC $8E JMP G5E55 G9DEB: LDA #$02 STA $CD LDA $CE BEQ I8374 STA $CF LDA $D0 STA $D1 LDA #$35 CLC SBC $D2 STA JMPVC0 LDX #$00 JSR G0BB3 LDA #$37 CLC ADC $D2 STA JMPVC0 LDX #$02 JMP G0BB3 I8374: RTS G57B7: LDA #$00 LDY #$0B GE055: STA ($C3),Y STA ($C5),Y STA ($C7),Y DEY BPL GE055 RTS G903C: LDY $4B BEQ J8374 LDX #$00 JSR GCA2C TAY LDA G3F86,Y LDY #$07 G991D: STA ($C3),Y DEY STA ($C3),Y DEY BPL G991D J8374: RTS G3F86: byt $80 byt $40, $20 byt $10, $08 byt $04, $02, $01 G4701: LDA $90 BNE J8374 BIT $DA BPL GE995 BVC J8374 GE995: LDX #$02 JSR GCA2C CLC LDA #$E2 SBC $D2 STA JMPVC0 JSR G44EF CLC LDA #$E4 ADC $D2 STA JMPVC0 LDX #$04 JMP G44EF GCA2C: LDA $4A,X AND #$F8 LSR A LSR A TAY LDA SCRBGN,Y ADC $4B,X STA $C3,X LDA SCRBGN+1,Y ADC #$00 STA $C4,X LDA ROWTBL,Y ADC $4B,X STA $C5,X LDA ROWTBL+1,Y ADC #$00 STA $C6,X LDA $4A,X AND #$07 STA $D2 RTS G1689: LDA $D8 AND #$F8 LSR A LSR A TAY LDA SCRBGN,Y STA $A5 LDA SCRBGN+1,Y STA $A6 LDA ROWTBL,Y STA $A7 LDA ROWTBL+1,Y STA $A8 LDA $D8 AND #$07 STA $D2 RTS JMNTSC: JSR G5592 JSR HCF8C JSR G57B7 JSR GFB67 JSR G903C JSR GCF8C JSR G3BD6 JSR G4701 JMP GB2E6 JMPAL: JSR HCF8C JSR G57B7 JSR GFB67 JSR G903C JSR GCF8C JSR G3BD6 JSR G4701 RTS SCRBGN: adr $1000 ROWTBL: adr $10B0 adr $1160 adr $1210 adr $12C0 adr $1370 adr $1420 adr $14D0 adr $1580 adr $1630 adr $16E0 adr $1790 adr $1840 adr $18F0 adr $19A0 adr $1A50 adr $1B00 adr $1BB0 adr $1C60 adr $1D10 adr $1DC0 adr $1E70 adr $1F20 adr $1FD0 adr $0A80 adr $0B30 adr $0BE0 adr $0C90 adr $0D40 adr $0DF0 adr $0E50 adr $0F50 adr $1000 GFA96: LDA #$00 STA $9122 LDA $9120 AND #$80 STA $D4 LDA $9111 ASL A AND #$60 ORA $D4 EOR #$FF STA $D4 LDA #$FF STA $9122 LDY #$0B G4F12: LDA GC8E1,Y STA $9120 LDA $9121 EOR #$FF AND GE67E+7,Y BEQ G8F9F CPY #$08 BCC GE2BE BNE G9B0C LDA $DA ORA #$10 STA $DA RTS G9B0C: LDA GA750,Y ORA $D4 STA $D4 G8F9F: DEY BPL G4F12 RTS GE2BE: CPY $D9 STY $D9 BNE GA84D BIT $DA BPL GA84D BVC G4F0C GA84D: JSR G2CB9 G4F0C: LDA #$80 STA $DA RTS GC8E1: byt $FE byt $7F, $FE byt $7F, $FE GE67E: byt $7F, $FE, $7F, $F7, $E7, $E7, $EF, $01, $01, $02 GA750: byt $02, $04, $04, $08, $08, $01, $70, $0C, $01, $80 byt $20, $40 TVTYPE: LDA TVDFLT CMP #NTSC BEQ NTSCI PALI: CLD LDX #$FF TXS LDA #$7F STA $912E STA INTENR LDA #$00 STA SCRVC0+1 STA SCRVC0 TAY LDX #$A0 PA646: STA (SCRVC0),Y DEY BNE PA646 INC SCRVC0+1 DEX BNE PA646 LDA #LB(NMPAL) STA NMINV LDA #HB(NMPAL) STA NMINV+1 LDY #$05 G83AE: LDA VRPAL,Y STA HZCNRG,Y DEY BPL G83AE LDA #$08 STA BCLREG LDA #HB(G0BB3) STA JMPVC0+1 STA JMPVC1+1 JSR G15BF JSR G471F JSR G2CB9 LDX #$23 G0229: LDA #$E0 STA $A5,X DEX BPL G0229 LDA #$40 STA AUXRG1 JSR G728E LDA #$C0 STA INTENR JMP GCFB5 NTSCI: CLD LDX #$FF TXS LDA #$7F STA $912E STA INTENR LDA #$00 STA SCRVC0+1 STA SCRVC0 TAY LDX #$A0 GA646: STA (SCRVC0),Y DEY BNE GA646 INC SCRVC0+1 DEX BNE GA646 LDA #LB(JMNTSC) STA CINV LDA #HB(JMNTSC) STA CINV+1 LDA #LB(NMNTSC) STA NMINV LDA #HB(NMNTSC) STA NMINV+1 LDY #$05 GB271: LDA VRNTSC,Y STA HZCNRG,Y DEY BPL GB271 LDA #$08 STA BCLREG LDA #HB(G0BB3) STA JMPVC0+1 STA JMPVC1+1 JSR G15BF JSR G471F JSR G2CB9 JSR G5592 LDX #$23 G4B6B: LDA #$E0 STA $A5,X DEX BPL G4B6B LDA #$40 STA AUXRG1 STA $912B LDY #$15 GF990: CPY TVRAST BNE GF990 INY GDD5E: CPY TVRAST BNE GDD5E LDA #$DC STA TIMER1 LDA #$00 STA TIMER1+1 LDA #$EF STA TIMER2 LDA #$FF STA TIMER2+1 LDA #$C0 STA INTENR LDY #$74 G835A: CPY TVRAST BNE G835A LDA #$42 STA TM1LAT+1 LDA #$43 STA TM1LAT LDA #$C0 STA $912E CLI GD983: JMP GD983 VRNTSC: byt $05, $18, $96, $19, $00, $8C VRPAL: byt $0C, $24, $96, $19, $00, $8C G6360: byt $79, $84, $8F, $9A G471F: LDY #$26 LDX #$BD G3C67: STY $8E LDA SCRBGN,Y STA SCRVC0 LDA SCRBGN+1,Y STA SCRVC0+1 LDY #$09 GAF02: LDA G557C+5,X STA (SCRVC0),Y DEX DEY BPL GAF02 LDY $8E DEY DEY BNE G3C67 RTS G15BF: LDA #$F1 TAY GEE7E: STA $0200,Y DEY BEQ K8374 SEC SBC #$0B BCS GEE7E ADC #$F1 BNE GEE7E K8374: RTS G2CB9: LDX #$9B LDA #$00 G4368: STA $FF,X DEX BNE G4368 LDY #$15 GF719: LDA #$00 STA $0200,Y LDA #$A5 STA $02F2,Y LDA #$0F STA $96F2,Y DEY BPL GF719 LDX #$03 G026D: LDA G6360,X STA $0209,X LDA #$07 STA $9609,X DEX BPL G026D LDX #$08 GE095: LDA #$04 STA $9600,X LDA #$03 STA $960D,X DEX BPL GE095 LDA #$04 STA LIVES STA LIVES+1 LDA #$6E STA $72 LDA #$46 STA $74 LDA #$28 STA $76 LDA $D9 AND #$04 BEQ GD198 LDA #$0C STA $93 GD198: LDX #$4E LDA #$00 G5D36: STA $FF,X DEX BNE G5D36 STA $CE LDA $93 LSR A STA $94 CMP #$06 BCC G7302 GEF91: SBC #$06 CMP #$06 BCS GEF91 STA $94 LDA #$05 G7302: TAX AND #$06 ASL A ASL A EOR #$FF ADC #$19 STA $3E LDA G85B4,X STA $99 LDA G916B+1,X STA $40 LDA GA891,X STA $3F LDA #$0A STA $42 LDA #$55 STA $4C LDA #$A3 STA $4D LDX $96 LDA G3915,X LDY #$15 G1D28: STA $96F2,Y DEY BPL G1D28 RTS G3915: byt $0B byt $0C GCFB5: LDA #$78 G711A: CMP TVRAST BNE G711A JSR JMPAL GB2E6: BIT $DA BVC G8D1E LDA #$06 STA $98 G8D1E: DEC $97 BNE GBF8C DEC $98 BNE GBF8C LDA #$00 STA $DA GBF8C: LDA $90 BEQ G198F DEC $90 BNE G198F BIT $DA BVC G198F LDX $96 DEC LIVES,X BEQ GB8E9 G198F: LDA $57 BNE G6017 BIT $D5 BVC G6017 BIT $D4 BVS G6017 BIT $DA BVS G9BA9 JSR G2CB9 G9BA9: LDA $DA AND #$EF ORA #$C0 STA $DA G6017: LDA $D4 STA $D5 LDA #$20 BIT $DA BNE GB8E9 LDA $42 ORA INPPTR ORA $CE BNE G7802 LDA $DA ORA #$20 STA $DA LDA $41 BNE GD718 LDX $96 LDA LIVES,X CMP #$07 BCS GD718 LDA #$3C STA $56 GD718: LDA #$00 STA $41 GB8E9: LDA $56 ORA $57 BNE G7802 LDA #$C0 STA $DA LDA $D9 AND #$01 BEQ G4ED9 EOR $96 TAX LDY LIVES,X BEQ G4ED9 STX $96 LDA #$78 STA $9A TXA BNE GF57A G4ED9: LDX $93 INX BPL G535D LDX #$74 G535D: STX $93 GF57A: LDX $96 LDA LIVES,X BNE HA84D LDA #$80 STA $DA LDA #$FF STA $57 DEC $93 HA84D: JSR GD198 G7802: JSR G7E63 JSR G3D3A JSR GFA96 JSR G8CB8 JSR G2EC4 JSR G7F30 LDA $DA AND #$10 BNE G2BC7 JSR G4008 JSR GC01D JSR G6632 JSR GE85D JSR GD66D G2BC7: JSR G48BE JSR GE90B LDA TVDFLT CMP #NTSC BEQ NTSCO JMP GCFB5 NTSCO: LDA TM1LAT PLA TAY PLA TAX PLA RTI G8CB8: LDA #$10 BIT $DA BPL G978C ORA $52 G978C: STA $52 LDX #$04 LDY #$00 GAD15: LDA $4E,X STA $900A,X STY $4E,X DEX BPL GAD15 LDA $56 BEQ GBBFA DEC $56 LDA $56 BNE G4BF5 LDX $96 INC LIVES,X G4BF5: LSR A LSR A TAX LDA G1B52+3,X STA $50 BEQ L8374 LDA $56 AND #$03 ASL A ASL A ORA #$02 STA $52 L8374: RTS GBBFA: LDA $57 BEQ GD5F3 DEC $57 TAY LSR A LSR A LSR A LSR A STA $52 LDA GAAA1,Y AND #$0E EOR #$F0 STA $50 LDA GAAA1+1,Y AND #$0E EOR #$F0 STA $4F RTS GD5F3: LDY #$00 LDX $53 BEQ G39C2 DEX STX $53 LDA GC930+1,X STA $51 LDY GBA0D+7,X G39C2: LDA $55 BEQ GFFD1 DEC $55 LDA #$F0 SEC SBC $55 STA $51 LDY #$0A GFFD1: LDA $90 BEQ G5BE2 LSR A LSR A STA $52 LSR A TAX LDA G46CC+1,X STA $51 RTS G5BE2: LDX $54 BEQ G1C07 INC $54 LDA GAAA1,X ORA #$F8 TAY DEY STY $50 LDY #$09 G1C07: TYA STA $52 BNE L8374 LDA INPPTR BEQ M8374 LDA $97 AND #$0F SEC SBC #$04 BCC M8374 TAX LSR A TAY LDA $97 AND #$10 BNE G3A61 LDA GE5E7,X SEC SBC $42 SBC $42 STA $4F STY $52 G3A61: LDA $20 BEQ M8374 LDA GC930+5,X STA $50 STY $52 M8374: RTS GE5E7: byt $FC byt $F0, $FA byt $F0, $F8 GBA0D: byt $F0, $F6, $F0, $F4, $F0, $F2, $F0, $0F, $0A, $06 GC930: byt $03, $F0, $E0, $D0, $C0, $F8, $F7, $F6, $F7, $F8 byt $F7, $F8, $F9, $FA, $FB, $FA G46CC: adr G9448 byt $C8, $DC adr G5A2B+1 G1B52: byt $C8, $DC, $E6, $E9, $00, $00, $E4, $00, $00, $00 byt $E2, $E7, $E4, $E9, $E7, $EB, $E9, $ED, $00 GC01D: LDX #$07 G9EFA: LDA $20,X BEQ GF31D CMP #$0D BEQ GD641 CPX #$02 BNE G637F LDA USRADD BNE GD641 G637F: LDA $16,X AND #$07 TAY LDA GFC53,Y CPX #$00 BNE G71D8 LDA G378B+2,Y G71D8: CLC ADC $7A,X STA $7A,X BCC GD641 LDA $16,X AND #$20 BEQ G1FF6 INC $66,X byt $2C G1FF6: DEC $66,X GD641: LDA $20,X BEQ GF31D CMP #$04 BEQ GF31D CMP #$01 BEQ GF31D LDA $66,X CLC ADC #$08 STA $67,X GF31D: DEX BPL G9EFA LDX #$04 G4127: LDA $22,X CMP #$0D BEQ G2A88 TXA BNE G5119 LDA USRADD BNE G2A88 G5119: LDA $18,X AND #$07 TAY LDA $86,X CLC ADC G378B+2,Y STA $86,X BCC G2A88 LDA $72,X ADC $3E CMP G7098+8,X BCC G746D CMP G7098+9,X BCS G746D LDA $CE BEQ G627C LDA $72,X ADC #$08 CMP $CE BCC G627C G746D: LDA #$F0 AND $18,X BCS G1C29 ORA #$08 G1C29: STA $18,X G627C: LDY $72,X LDA $18,X AND #$08 BNE GD7F4 DEY byt $24 GD7F4: INY TYA ADC #$0A CMP $70,X BCS G2A88 STY $72,X G2A88: LDY $72,X STY $73,X DEX DEX BPL G4127 LDA $20 CMP #$04 BNE N8374 LDA $16 AND #$07 TAY LDA G7098,Y CLC ADC $70 STA $70 CMP #$A9 BCS G7A99 LDA $90 BEQ N8374 G7A99: LDA #$00 STA $34 STA $20 DEC INPPTR N8374: RTS GFC53: byt $FF adr G75D2+1 byt $80 adr G1CFE G378B: byt $C0, $FF, $40, $80, $C0, $F0, $F0, $C0, $80, $40 G7098: byt $01, $01, $01, $01, $01, $FF, $FF, $FF, $78, $8E byt $5A, $6E, $37, $50 GD66D: LDA INPPTR BEQ N8374 LDA $34 ORA $CE ORA $90 BNE N8374 LDX #$01 LDA $22 ORA $23 BEQ G3217 CMP #$04 BNE N8374 LDA $22 BEQ G3217 DEX LDA $23 BNE N8374 G3217: LDY #$00 GAB32: LDA $22,X STA $0020,Y LDA $68,X STA $0066,Y LDA $72,X STA $0070,Y LDA $18,X STA $0016,Y LDA $2C,X STA $002A,Y LDA $36,X STA $0034,Y INX TXA TAY CPX #$06 BNE GAB32 LDX #$00 STX $26 STX $27 STX $3A STX $3B DEX RTS G7F30: LDX #$04 GBB34: LDA $22,X CMP #$0D BNE GD864 LDA $46 CLC ADC INPPTR+1 STA $46 BCC GA3F9 INC $48 GA3F9: LDA $47 CLC ADC $45 STA $47 BCS G3EAD DEC $49 G3EAD: LDA $7C,X CLC ADC $46 STA $7C,X LDA $68,X ADC $48 STA $68,X ADC #$08 STA $69,X LDA $82 ADC $47 STA $82 LDA $6E ADC $49 STA $6E CLC ADC #$08 STA $6F LDA $36,X STA $3C LDA $37,X STA $3D GD864: DEX DEX BPL GBB34 RTS GE90B: LDA $97 AND #$07 TAX LDA $20,X BEQ O8374 DEC $2A,X BPL G2AE9 LDA $20,X CMP #$0A BEQ GF890 CMP #$01 BEQ GEFC5 CMP #$07 BEQ GBAAC CMP #$0D BEQ G09FF G2AE9: LDA $2A,X AND #$03 TAY LDA GC614,Y CLC ADC $20,X G24B2: STA $34,X LDY $20,X BEQ O8374 CPY #$04 BEQ O8374 CPY #$01 BEQ O8374 CLC ADC #$1B STA $35,X O8374: RTS G09FF: BIT $DA BPL GB6EA DEC $42 GB6EA: INC INPPTR LDA #$00 STA $3C STA $3D LDY $94 LDA GAD25+1,Y STA $20,X JMP G24B2 GF890: LDA #$08 STA $16,X LDA #$28 STA $17,X LDA #$04 STA $20,X STA $21,X STA $34,X STA $35,X LDA #$00 STA $54 INC INPPTR RTS GBAAC: LDA #$00 STA $35,X GEFC5: LDA #$00 STA $20,X STA $34,X STA $54 DEC INPPTR RTS GC614: byt $00 byt $01, $02 GAD25: byt $01, $10 byt $13, $16, $19, $1C, $1F G6632: LDA $9A BEQ GE797 DEC $9A RTS GE797: LDA $55 BNE P8374 LDY $42 BEQ P8374 LDA $90 BNE P8374 BIT $DA BPL G8112 BVC P8374 G8112: LDA $97 AND #$3F CMP #$02 BCC P8374 TAX AND #$79 ORA $20,X ORA $21,X BNE P8374 LDA $70,X ADC #$0A CMP $6E,X BCS P8374 LDA #$F0 STA $66,X LDA #$F8 STA $67,X LDA #$AC STA $6E LDA #$B4 STA $6F JSR G7E63 AND #$3F ADC #$0F STA INPPTR+1 SEC SBC #$5E STA $45 LDA #$00 STA $46 STA $47 STA $48 STA $49 LDA #$0D STA $20,X LDA $70,X STA $78 STA $79 LDA #$04 STA $2A,X LDA #$21 STA $55 P8374: RTS G48BE: LDX #$07 LDA $4B BEQ Q8374 GADC5: LDA $70,X SBC $4B CLC ADC #$07 SBC #$11 BCS GC441 LDY $20,X CPY #$04 BEQ G1C0F CPY #$10 BCC GC441 G1C0F: LDY $34,X LDA GB60D,Y LSR A BCS G5B43 SBC #$07 byt $2C G5B43: SBC #$03 ADC $4A SEC SBC $66,X CLC SBC GB60D,Y BCC G962F GC441: DEX BPL GADC5 Q8374: RTS G962F: LDA $20,X ASL A ASL A ASL A STA $54 LDY #$01 TXA BNE GB7F4 LDY #$03 GB7F4: LDA $20,X CMP #$04 BEQ G3825 DEY LDA $93 CMP #$04 BCC G897B LDA #$0A byt $2C G897B: LDA #$07 byt $2C G3825: LDA #$01 STA $20,X LDA #$04 STA $2A,X LDA #$00 STA $4B BIT $DA BPL R8374 JSR G5470 R8374: RTS GB60D: byt $00 byt $00, $00 byt $00, $07 byt $09, $09, $00, $00, $00, $00, $00, $00, $00, $00 byt $00, $12, $12, $10, $0E, $12, $10, $0E, $0E, $12 byt $12, $12, $12, $10, $0E, $10, $04, $08, $0A G7234: LDA $4C LDY $20,X CPY #$04 BEQ G5967 SBC #$04 G5967: CMP $66,X LDA $16,X BCC G2AEB ORA #$20 byt $2C G2AEB: AND #$DF STA $16,X RTS G2EC4: LDA $97 AND #$03 ASL A TAX TXA BEQ G4AAB LDY $D3 CPY #$1F BCS G4AAB LDA $16,X EOR #$20 STA $16,X G4AAB: JSR G1A37 INX G1A37: INC $16,X LDA $16,X AND #$EF STA $16,X CPX #$02 BEQ GA60B BCS GE739 AND #$07 BNE GE739 GA60B: JSR G7234 LDA $16,X CPX #$02 BNE GE739 LDY $70,X CPY $4B BCS GE739 EOR #$20 STA $16,X GE739: LDA $16,X LDY $66,X CPY #$05 BCS G569B ORA #$20 G569B: CPY #$A0 BCC GDDD7 AND #$DF GDDD7: STA $16,X RTS GE85D: LDA $20 BNE S8374 LDA #$B0 STA $70 LDA $22 BNE G0018 STA USRADD G0018: LDA $90 BNE S8374 LDA $93 CMP #$08 BCC G9AAC JSR GEB17 G9AAC: LDA $CE BNE G488C JSR G4CE4 G488C: DEC $00 BPL S8374 LDA $3F STA $00 LDA $D0 CMP #$AB BCS G973D ADC #$08 STA $D0 G973D: LDA $D3 STA $8E LDX #$09 LDY #$09 LDA USRADD BEQ G7557 INY G7557: LDA USRADD+1,X BCC G9156 CLC G470F: ROL A BCC G842E G9156: ROR A BCS G470F G842E: STA USRADD+1,Y ROR $8E DEY DEX BPL G7557 LDA USRADD BEQ G8E8D DEC USRADD LDA $D3 AND #$0F LDY $22 CPY #$04 BNE GEC20 AND #$07 GEC20: TAY LDA G916B+7,Y STA USRADD+1 S8374: RTS G8E8D: LDA $CE BEQ S8374 CLC ADC #$08 G5A2B: CMP #$AB BCC GA328 LDA #$00 GA328: STA $CE RTS G4CE4: LDA $34 ORA $55 ORA $90 BNE T8374 STA $00 LDA $72 G9448: ADC $3E CMP G7098+8 BCC T8374 LDA $22 LDY #$24 CMP #$04 BEQ GBBD2 CMP #$10 BCC T8374 LDY #$81 GBBD2: STY $D7 LDA $94 LSR A LDA #$03 BCS G3ACD AND $D3 G3ACD: CLC ADC #$01 STA USRADD INC USRADD LDA $72 ORA #$03 CLC ADC #$08 STA $CE STA $D0 GEB17: LDA $68 LDY $22 CPY #$04 BEQ G5E2C ADC #$03 G5E2C: STA $D8 T8374: RTS GA891: byt $08 byt $05, $05 byt $03, $05 G916B: byt $05, $03, $03, $04, $04, $06, $06, $00, $20, $10 byt $08, $04, $24, $28, $14, $90, $40, $02, $09, $42 byt $88, $11, $44 G4008: LDA $90 BNE G851D LDY $4C BIT $DA BVS G717B BMI U8374 BIT $97 BMI GE82B BPL G6877 G717B: LDA #$20 BIT $D4 BNE GE82B BPL G851D G6877: INY byt $24 GE82B: DEY CPY #$0A BCC G851D CPY #$A0 BCS G851D STY $4C G851D: LDA $4B BNE G3D1D LDA $90 BNE U8374 BIT $D4 BVS G6D25 LDA $DA BNE U8374 G6D25: LDA #$04 STA $53 LDA $4D G3D1D: SEC SBC $40 CMP #$10 BCS G9D7C LDA #$00 G9D7C: STA $4B CMP #$8C LDA $D9 AND #$02 BNE GC4DC BCC U8374 GC4DC: LDA $4C CLC ADC #$03 STA $4A U8374: RTS G3D3A: LDX $96 LDA LIVES,X STA $8E LDA $56 LSR A LSR A AND #$03 TAX LDY #$06 G591B: LDA #$A5 CPY $8E BCS G2182 LDA G2149,X G2182: STA $02F2,Y DEY BNE G591B RTS G2149: byt $B0 byt $BB, $C6 byt $BB G5470: LDA $96 ORA #$06 TAX LDA $99 CLC SED G5B83: ADC $58,X STA $58,X LDA #$00 DEX DEX BCS G5B83 DEY BPL G5470 CLD LDX #$00 LDY #$0D JSR G2290 LDX #$01 LDY #$01 G2290: BIT G72F4 GE6BF: LDA $58,X LSR A LSR A LSR A LSR A JSR G72F4 LDA $58,X AND #$0F JSR G72F4 INX INX CPX #$08 BCC GE6BF RTS G72F4: BVC G7C80 BNE G7C80 CPY #$0A BCS G3D3F RTS G7C80: CLC ADC #$01 STA $8E ASL A ASL A ADC $8E ASL A ADC $8E G3D3F: STA $0200,Y INY RTS G85B4: byt $10 byt $15, $20 byt $25, $30 byt $35 G7E63: LDA $D3 ASL A BCS GA4F6 EOR #$71 GA4F6: STA $D3 RTS G5592: LDX #$04 LDY #$02 GF052: LDA $22,X ORA $23,X BEQ GD7A9 LDA $72,X STA $00DC,Y LDA $93 AND #$03 ASL A ASL A ASL A ADC #$08 STA $00E8,Y INY GD7A9: DEX DEX BPL GF052 LDA #$AC STA $00DC,Y LDA $96 ASL A ASL A STA $00E8,Y LDA #$00 INY STA $00DC,Y STA $DC STY $DB LDA #$28 STA $E8 LDA #$2B STA $E9 LDA #$10 STA $DD RTS NMNTSC: CLD PHA TXA PHA TYA PHA LDX $DB BEQ GE1B5 LDA $DC,X BEQ G6E29 GE1B5: INC $DB LDY $E8,X LDA GE32A+5,Y INY STA BCLREG LDA $DD,X SEC SBC $DC,X STA $E6 LSR A LSR A TAX LDA $E6 ROR A ROR A AND #$80 ROR A ADC $E6 BCC G8ABC INX G8ABC: CLC ADC TIMER1 STA TIMER1 TXA ADC #$FF STA TIMER1+1 LDA GE32A+5,Y JMP G5C58 G5C58: STA BCLREG INY LDA GE32A+5,Y BNE G7960 BEQ GE656 G6E29: LDA #$00 STA $DB LDY #$15 HF990: CPY TVRAST BNE HF990 INY G1400: CPY TVRAST BNE G1400 LDA #$DA STA TIMER1 LDA #$00 STA TIMER1+1 GE656: LDA #$F1 STA TIMER2 LDA #$FF STA TIMER2+1 PLA TAY PLA TAX PLA RTI G7960: LDX #$08 HC441: DEX BPL HC441 GEBCA: STA BCLREG INY LDA GE32A+5,Y BNE G7960 BEQ GDA19 IA84D: JSR G728E GDA19: LDA #$F1 STA TIMER2 LDA #$FF STA TIMER2+1 PLA TAY PLA TAX PLA RTI NMPAL: CLD PHA TXA PHA TYA PHA LDX $DB LDY $DE,X BMI IA84D LDA GE32A+5,Y STA BCLREG INC $DB INY LDA $E9,X SEC SBC $E8,X STA $DC LDA $F1,X SBC $F0,X TAX LDA $DC CLC ADC TIMER1 STA TIMER1 TXA ADC TIMER1+1 STA TIMER1+1 LDA GE32A+5,Y JMP GEBCA G9990: LDX #$02 LDY #$04 G2BC3: LDA $0022,Y ORA $0023,Y BEQ G4231 LDA #$00 STA $F0,X LDA $0072,Y ASL A ROL $F0,X ASL A ROL $F0,X ASL A ROL $F0,X ASL A ROL $F0,X ADC $0072,Y BCC GB743 INC $F0,X GB743: ASL A ROL $F0,X ADC $0072,Y BCC HB743 INC $F0,X HB743: ASL A ROL $F0,X ADC $0072,Y BCC GF859 INC $F0,X GF859: STA $E8,X LDA $93 AND #$03 ASL A ASL A ASL A ADC #$08 STA $DE,X INX G4231: DEY DEY BPL G2BC3 LDA $96 ASL A ASL A STA $DE,X LDA #$B4 STA $E8,X LDA #$2F STA $F0,X LDA #$B2 INX STA $E8,X LDA #$34 STA $F0,X LDA #$FF STA $DE,X LDA #$28 STA $DE LDA #$2B STA $DF LDA #$70 STA $E9 LDA #$04 STA $F1 RTS G728E: LDA #$00 STA $DB JSR G9990 LDY #$00 PF990: CPY TVRAST BNE PF990 INY GE46A: CPY TVRAST BNE GE46A LDA #$26 STA TIMER1 LDA #$13 STA TIMER1+1 RTS ALIGN $100 GAAA1: byt $00, $00, $00, $00, $00, $00, $00, $08, $02, $40 byt $00, $10, $04, $11, $40, $12, $00, $20, $02, $10 byt $02, $00, $90, $04, $20, $02, $00, $22, $00, $82 byt $C6, $6C, $28, $10, $00, $00, $00, $00, $6C, $D6 byt $82, $82, $00, $10, $7C, $C6, $82, $82, $44, $10 byt $40, $02, $00, $08, $20, $88, $02, $48, $00, $04 byt $40, $08, $40, $00, $09, $20, $04, $40, $00, $44 byt $90, $42, $14, $80, $11, $04, $20, $84, $40, $14 byt $A0, $12, $04, $40, $20, $14, $08, $68, $14, $20 byt $00, $00, $3F, $00, $00, $7E, $00, $0F, $FC, $00 byt $3F, $00, $00, $7C, $00, $00, $00, $3C, $00, $7C byt $00, $1F, $00, $02, $F0, $19, $0E, $07, $03, $00 byt $04, $00, $71, $CE, $03, $06, $08, $01, $02, $1F byt $23, $46, $4C, $0C, $0F, $14, $24, $22, $21, $10 byt $00, $06, $1F, $64, $84, $82, $40, $00, $00, $03 byt $0F, $14, $24, $44, $00, $04, $0A, $04, $02, $1D byt $36, $00, $0A, $08, $24, $32, $1E, $09, $24, $10 byt $48, $E4, $B2, $9F, $02, $00, $64, $90, $88, $87 byt $8F, $9F, $04, $70, $88, $87, $8C, $98, $4F, $32 byt $48, $87, $8C, $98, $4C, $27, $08, $14, $23, $23 byt $24, $44, $04, $18, $27, $23, $24, $28, $24, $20 byt $3F, $47, $42, $44, $48, $20, $10, $00, $00, $01 byt $01, $00, $00, $00, $00, $00, $03, $05, $03, $00 byt $00, $00, $06, $09, $09, $09, $06, $00, $08, $02 byt $40, $00, $10, $04, $11, $40, $12, $00, $20, $02 byt $10, $02, $00, $90, $04, $20, $02, $00, $22, $09 byt $42, $28, $01, $88, $20, $04, $21, $02, $28, $05 byt $48, $20, $02, $04, $28, $10, $16, $28, $04, $00 byt $3F, $00, $00, $F0, $00, $7C, $00, $00, $00, $0F byt $00, $F8, $00, $7C, $00, $3E, $00, $1F, $00, $7C byt $00, $00, $40, $0F, $98, $70, $E0, $C0, $00, $20 byt $00, $8E, $73, $C0, $60, $10, $80, $40, $F8, $C4 byt $62, $32, $30, $F0, $28, $24, $44, $84, $08, $00 byt $60, $F8, $26, $21, $41, $02, $00, $00, $C0, $F0 byt $28, $24, $22, $00, $20, $50, $20, $40, $B8, $6C byt $00, $50, $10, $24, $4C, $78, $90, $24, $08, $12 byt $27, $4D, $F9, $40, $00, $26, $09, $11, $E1, $F1 byt $F9, $20, $0E, $11, $E1, $31, $19, $F2, $4C, $12 byt $E1, $31, $19, $32, $E4, $10, $28, $C4, $C4, $24 byt $22, $20, $18, $E4, $C4, $24, $14, $24, $04, $FC byt $E2, $42, $22, $12, $04, $08, $00, $00, $80, $80 byt $00, $00, $00, $00, $00, $C0, $A0, $C0, $00, $00 G64A8: byt $00, $60, $90, $90, $90, $60, $00, $28, $28, $28 G0A31: byt $28, $6C, $6C, $EE, $EE, $C6, $C6, $C6, $C6, $06 byt $03, $01, $00, $00, $A0, $C0, $80, $00, $00, $06 byt $01, $04, $02, $00, $A0, $80, $20, $40, $00, $0A byt $00, $02, $10, $04, $60, $00, $40, $08, $20, $10 byt $02, $04, $40, $10, $08, $40, $20, $02, $08, $00 byt $10, $02, $44, $00, $00, $08, $40, $22, $00, $00 byt $40, $90, $02, $08, $00, $02, $09, $40, $10, $40 byt $80, $08, $00, $24, $02, $01, $10, $00, $24, $80 GD683: byt $00, $00, $00, $84, $01, $00, $00, $00, $21, $50 byt $4B, $46, $41, $3C, $37, $32, $2D, $28, $23, $1E G557C: byt $19, $14, $0F, $0A, $05, $00, $7C, $64, $64, $64 byt $64, $64, $64, $64, $7C, $00, $38, $18, $18, $18 byt $18, $18, $18, $18, $18, $00, $7C, $4C, $4C, $0C byt $3C, $40, $4C, $4C, $7C, $00, $7C, $4C, $4C, $0C byt $38, $0C, $4C, $4C, $7C, $00, $4C, $4C, $4C, $4C byt $4C, $4C, $7E, $0C, $0C, $00, $7C, $4C, $40, $7C byt $0C, $0C, $4C, $4C, $7C, $00, $7C, $4C, $4C, $40 byt $7C, $4C, $4C, $4C, $7C, $00, $7C, $4C, $4C, $0C byt $18, $18, $30, $30, $30, $00, $7C, $64, $64, $64 byt $7C, $4C, $4C, $4C, $7C, $00, $7C, $4C, $4C, $4C byt $7C, $0C, $4C, $4C, $7C, $3F, $40, $48, $89, $89 byt $89, $89, $49, $40, $3F, $FF, $00, $A3, $54, $54 byt $57, $54, $54, $00, $FF, $FF, $00, $19, $A5, $A1 byt $AD, $A5, $99, $00, $FF, $FC, $02, $32, $49, $41 byt $41, $49, $32, $02, $FC, $AA, $00, $AA, $00, $00 byt $AA, $00, $00, $00, $AA, $AA, $00, $AE, $0C, $0C byt $AE, $33, $33, $33, $BB, $AA, $00, $AA, $00, $0C byt $AE, $0C, $33, $33, $BB, $AA, $00, $AA, $00, $00 GE32A: byt $AA, $0C, $0C, $33, $BB, $50, $30, $60, $00, $80 byt $40, $20, $00, $10, $60, $60, $40, $40, $80, $70 byt $00, $10, $20, $20, $40, $80, $80, $70, $00, $10 byt $40, $80, $80, $50, $30, $70, $00, $10, $60, $60 byt $30, $50, $10, $70, $00, $08, $08, $00, $70, $70 byt $00