Add files via upload main
authorKay Savetz <kevin@savetz.com>
Tue, 30 Mar 2021 22:21:55 +0000 (15:21 -0700)
committerGitHub <noreply@github.com>
Tue, 30 Mar 2021 22:21:55 +0000 (15:21 -0700)
anteater.jpg [new file with mode: 0644]
anteater.xfd [new file with mode: 0644]
bl1ant.src [new file with mode: 0644]
bl2ant.src [new file with mode: 0644]
bl3ant.src [new file with mode: 0644]
datant.src [new file with mode: 0644]
dspant.src [new file with mode: 0644]
title.src [new file with mode: 0644]

diff --git a/anteater.jpg b/anteater.jpg
new file mode 100644 (file)
index 0000000..dcca932
Binary files /dev/null and b/anteater.jpg differ
diff --git a/anteater.xfd b/anteater.xfd
new file mode 100644 (file)
index 0000000..3aa3bf1
Binary files /dev/null and b/anteater.xfd differ
diff --git a/bl1ant.src b/bl1ant.src
new file mode 100644 (file)
index 0000000..5765915
--- /dev/null
@@ -0,0 +1,218 @@
+10 BOARDRAW
+20       LDA #$90
+30       STA NEWSCRN
+40       LDX #16
+50       LDA #$B8
+60       STA TEMP1
+70       LDA NEWSCRN+1
+80       STA TEMP2
+90       LDA #$45
+0100     LDY #39
+0110     JMP BD2LOOP
+0120 BD1LOOP LDY #39
+0130     LDA #$44
+0140     STA (TEMP1),Y
+0150     LDA #$41
+0160     JMP BDPATCH
+0170 BD2LOOP STA (TEMP1),Y
+0180 BDPATCH DEY 
+0190     BNE BD2LOOP
+0200     CMP #$45
+0210     BEQ BD2PATCH
+0220     LDA #$44
+0230 BD2PATCH STA (TEMP1),Y
+0240     LDA #40
+0250     CLC 
+0260     ADC TEMP1
+0270     STA TEMP1
+0280     BCC BDOK
+0290     INC TEMP2
+0300 BDOK DEX 
+0310     BPL BD1LOOP
+0320     LDY #39
+0330 BDXLOOP LDA #$40
+0340     STA (NEWSCRN),Y
+0350     LDA #$5E
+0360     STA SCBASE+$28,Y
+0370     STA SC2BASE+$28,Y
+0380     STA SCBASE,Y
+0390     STA SC2BASE,Y
+0400     LDA #$44
+0410     STA (TEMP1),Y
+0420     DEY 
+0430     BPL BDXLOOP
+0440     LDA #$40
+0450     STA NEWSCRN
+0460 ; PLACE ROCKS
+0470     LDA #$05
+0480     STA AMXSAVE
+0490 BD4LOOP LDX AMXSAVE
+0500     LDY RDATY,X
+0510     STY TEMP4
+0520     LDA RDATX,X
+0530     STA TEMP2
+0540     TAX 
+0550     LDA #$C2
+0560     JSR PLOT
+0570     LDY TEMP4
+0580     INY 
+0590     LDX TEMP2
+0600     LDA #$43
+0610     JSR PLOT
+0620     DEC AMXSAVE
+0630     BPL BD4LOOP
+0640 ; SETUP ANT HOME
+0650     LDX #$00
+0660     STX AMXSAVE
+0670 BD5LOOP LDY SPECY,X
+0680     BEQ BD5END
+0690     LDA SPECX,X
+0700     STA TEMP1
+0710     LDA TYPE,X
+0720     LDX TEMP1
+0730     JSR PLOT
+0740     INC AMXSAVE
+0750     LDX AMXSAVE
+0760     JMP BD5LOOP
+0770 BD5END
+0780 ; INITIALIZE SUGAR CUBES
+0790     LDX #$00
+0800     LDA #$00
+0810 CUBEWIPE STA MBASE,X
+0820     DEX 
+0830     BNE CUBEWIPE
+0840     LDX PTURN
+0850     STA CUBE,X
+0860     LDX #$03
+0870     LDY #$03
+0880     LDA PTURN
+0890     BEQ CBWCONT
+0900     LDY #$07
+0910 CBWCONT LDA #$C0
+0920     STA TEMP1
+0930 ST4LOOP LDA MXDATA,X
+0940     STA MXLOC,Y
+0950     STA $D004,X
+0960     LDA MYDATA,X
+0970     STA MYLOC,Y
+0980     DEY 
+0990     DEX 
+1000     BPL ST4LOOP
+1010     RTS 
+1020 MXDATA .BYTE $3F,$3C,$3A,$38
+1030 MYDATA .BYTE $45,$45,$42,$45
+1040 RDATX .BYTE 5,8,17,23,29,36
+1050 RDATY .BYTE 5,16,7,5,13,9
+1060 SPECX .BYTE 36,37,38,39,36,37,38,39
+1070     .BYTE 36,37,38,39
+1080     .BYTE 0,1
+1090     .BYTE 0,1,2,3
+1100 SPECY .BYTE 17,17,17,17
+1110     .BYTE 18,18,18,18,19,19,19,19
+1120     .BYTE 2,2
+1130     .BYTE 3,3,3,3,0
+1140 TYPE .BYTE $46,$40,$40,$48,$40,$40,$40,$5D
+1150     .BYTE $47,$40,$40,$49
+1160     .BYTE $CD,$CE
+1170     .BYTE $44,$44,$44,$44
+1180 ANTDRAW
+1190     LDY #$0B
+1200     LDA # >PLR0
+1210     STA TEMP2
+1220     LDA YLOC
+1230     CLC 
+1240     ADC #$05
+1250     STA TEMP1
+1260     LDA #$00
+1270     STA (TEMP1),Y
+1280     DEY 
+1290     LDA ANTROT
+1300     CLC 
+1310     ADC #$01
+1320     ASL A
+1330     SEC 
+1340     SBC #$01
+1350     PHA 
+1360     LDA XLOC
+1370     EOR YLOC
+1380     AND #$04
+1390     BEQ ADNSHF
+1400     PLA 
+1410     SEC 
+1420     SBC #$0A
+1430     PHA 
+1440 ADNSHF PLA 
+1450     TAX 
+1460 ADLOOP LDA ANTPIC,X
+1470     STA (TEMP1),Y
+1480     DEX 
+1490     DEY 
+1500     BNE ADLOOP
+1510     LDA #$00
+1520     STA (TEMP1),Y
+1530     LDA XLOC
+1540     STA HPOS0
+1550     RTS 
+1560 ANTPIC
+1570     .BYTE $00,$00,$00,$00,$00,$20,$6A,$7E,$2A,$49
+1575     .BYTE $00,$00,$00,$00,$00,$20,$6A,$7E,$2A,$16
+1580     .BYTE $00,$01,$06,$02,$03,$06,$02,$07,$02,$00
+1585     .BYTE $00,$04,$03,$02,$06,$03,$02,$07,$02,$00
+1590     .BYTE $00,$00,$00,$00,$00,$02,$2B,$3F,$2A,$49
+1595     .BYTE $00,$00,$00,$00,$00,$02,$2B,$3F,$2A,$34
+1600     .BYTE $00,$02,$07,$02,$03,$06,$02,$03,$04,$00
+1605     .BYTE $00,$02,$07,$02,$06,$03,$02,$06,$01,$00
+1610 DLINT
+1620     PHA 
+1630     TXA 
+1640     PHA 
+1650     LDA #$2A
+1660     LDX DLVAR
+1670     STA WSYNC
+1680     STA $D409
+1690     LDA SKYTAB,X
+1700     STA $D01A
+1710     INX 
+1720     CPX #$04
+1730     BEQ DLOUT
+1740     STX DLVAR
+1750 DLEXIT PLA 
+1760     TAX 
+1770     PLA 
+1780     RTI 
+1790 DLOUT LDA #$00
+1800     STA DLVAR
+1810     LDA # <DL2INT
+1820     STA $0200
+1830     LDA # >DL2INT
+1840     STA $0201
+1850     JMP DLEXIT
+1860 DL2INT
+1870     PHA 
+1880     TXA 
+1890     PHA 
+1900     STA WSYNC
+1910     INC DLVAR
+1920     LDA DLVAR
+1930     CMP #$08
+1940     BNE DLIN2CONT
+1950     LDA #$00
+1960     STA DLVAR
+1970     LDA # <DLINT
+1980     STA $0200
+1990     LDA # >DLINT
+2000     STA $0201
+2010 DLIN2CONT CMP #$02
+2020     BNE DLINCONT
+2030     LDA #$00
+2040     STA $D01A
+2050     LDA DLVAR
+2060 DLINCONT TAX 
+2070     LDA DLDAT,X
+2080     STA $D017
+2090     PLA 
+2100     TAX 
+2110     PLA 
+2120     RTI 
+2130 SKYTAB .BYTE $88,$86,$84,$80
+2140 DLDAT .BYTE $FF,$14,$60,$90,$10,$D0,$02,$E0
diff --git a/bl2ant.src b/bl2ant.src
new file mode 100644 (file)
index 0000000..37cf213
--- /dev/null
@@ -0,0 +1,400 @@
+10 ; DRAW ANTEATER
+20 EATDRAW
+30       STX AMXSAVE
+40       LDY #$0B
+50       LDA EDTABLE,X
+60       STA TEMP2
+70       LDA EYLOC,X
+80       CLC 
+90       ADC #$06
+0100     STA TEMP1
+0110     LDA #$00
+0120     STA (TEMP1),Y
+0130     DEY 
+0140     LDA EATROT,X
+0141     CLC 
+0142     ADC #$01
+0150     ASL A
+0151     SEC 
+0152     SBC #$01
+0159     PHA 
+0160     LDA EXLOC,X
+0170     EOR EYLOC,X
+0180     AND #$04
+0190     BEQ EDNSHF
+0200     PLA 
+0201     SEC 
+0202     SBC #$0A
+0203     PHA 
+0210 EDNSHF PLA 
+0215     TAX 
+0220 EDLOOP LDA EATPIC,X
+0230     STA (TEMP1),Y
+0240     DEX 
+0250     DEY 
+0260     BNE EDLOOP
+0270     LDA #$00
+0280     STA (TEMP1),Y
+0290     LDX AMXSAVE
+0300     LDA EXLOC,X
+0310     STA HPOS0+1,X
+0320     RTS 
+0325     *=  $AD00
+0330 EATPIC
+0340     .BYTE $00,$00,$16,$3F,$7F,$9F,$12,$11,$21,$00
+0350     .BYTE $00,$00,$16,$3F,$FF,$1F,$12,$0A,$0A,$00
+0360     .BYTE $04,$0F,$0E,$0E,$0F,$06,$06,$02,$02,$02
+0370     .BYTE $05,$0E,$0E,$0E,$0E,$06,$07,$02,$02,$02
+0380     .BYTE $00,$00,$68,$FC,$FE,$F9,$48,$88,$84,$00
+0390     .BYTE $00,$00,$68,$FC,$FF,$F8,$48,$50,$50,$00
+0400     .BYTE $04,$04,$04,$0E,$06,$07,$07,$07,$07,$0A
+0410     .BYTE $04,$04,$04,$06,$06,$0F,$07,$07,$0F,$02
+0420 EDTABLE
+0430     .BYTE $25,$26,$27
+0440 EATMOVE
+0450     INC EATOVER
+0460     LDA EATOVER
+0470     CMP #$04
+0480     BEQ EAMCONT
+0490     RTS 
+0500 EAMCONT LDA #$00
+0510     STA EATOVER
+0520     LDX #$02
+0530 EMBLOOP
+0540     LDA EMODE,X
+0550     BNE EMMORE
+0560     JMP EMNIL
+0570 EMMORE LDA EXLOC,X
+0580     AND #$03
+0590     BNE EMCHANGE
+0600     LDA EYLOC,X
+0610     AND #$07
+0620     BNE EMCHANGE
+0630     LDA EMODE,X
+0640     CMP #$01
+0650     BEQ TOPMOVE
+0660     CMP #$02
+0670     BNE EM1CONT
+0680     JMP LEFTIE
+0690 EM1CONT
+0700     CMP #$03
+0710     BNE EM2CONT
+0720     JMP WANDER
+0730 EM2CONT RTS 
+0740 EMCHANGE LDA EXVEC,X
+0750     CLC 
+0760     ADC EXLOC,X
+0770     STA EXLOC,X
+0780     LDA EYVEC,X
+0790     CLC 
+0800     ADC EYLOC,X
+0810     STA EYLOC,X
+0820     LDA EYLOC,X
+0830     CMP #TOP
+0840     BNE EMEND
+0850     LDA EMODE,X
+0860     CMP #$01
+0870     BEQ EMEND
+0880     LDA #$01
+0890     STA EMODE,X
+0900     LDA #$09
+0910     STA EATROT,X
+0920     LDA RANDOM
+0930     AND #$01
+0940     BNE EMLEFT
+0950     LDA #$1D
+0960     STA EATROT,X
+0970     LDA #$01
+0980     STA EXVEC,X
+0990     STA ETEMP,X
+1000     INC EXLOC,X
+1010     JMP EMRIGHT
+1020 EMLEFT LDA #$FF
+1030     STA EXVEC,X
+1040     LDA #$00
+1050     STA ETEMP,X
+1060 EMRIGHT LDA #$00
+1070     STA EYVEC,X
+1080 EMEND JSR EATDRAW
+1090 EMNIL DEX 
+1100     BMI EMFINI
+1110     JMP EMBLOOP
+1120 EMFINI RTS 
+1130 ; CONVERTS EATER X AND Y LOC.
+1140 ; TO SCREEN COORDINATES
+1150 EMCON
+1160     LDA EXLOC,X
+1170     LSR A
+1180     LSR A
+1190     SEC 
+1200     SBC #$0B
+1210     STA EXSCRN
+1220     LDA EATROT,X
+1230     CMP #$09
+1240     BNE EMXOK
+1250     DEC EXSCRN
+1260 EMXOK LDA EYLOC,X
+1270     LSR A
+1280     LSR A
+1290     LSR A
+1300     SEC 
+1310     SBC #$05
+1320     STA EYSCRN
+1330     RTS 
+1340 ; TOGGLE LEFT RIGHT MOVE
+1350 TOPMOVE
+1360     LDA YLOC
+1370     CMP #TOP
+1380     BEQ TMSPEC
+1390     LDA EXLOC,X
+1400     CMP #$40
+1410     BCC TM1
+1420     CMP #$C8
+1430     BCS TM1
+1440     JMP TMEXIT
+1450 TM1
+1460     LDA ETEMP,X
+1470     EOR #$01
+1480     STA ETEMP,X
+1490     TAY 
+1500     LDA TMXVEC,Y
+1510     STA EXVEC,X
+1520     LDA #$00
+1530     STA EYVEC,X
+1540     LDA TMROT,Y
+1550     STA EATROT,X
+1560 TMEXIT STX AMXSAVE
+1570     JSR EMCON
+1580     LDX EXSCRN
+1590     LDY EYSCRN
+1600     INY 
+1610     JSR FIND
+1620     LDX AMXSAVE
+1630     CMP #$40
+1640     BEQ DOOM
+1650     JMP EMCHANGE
+1660 TMSPEC LDA #$01
+1670     STA EXVEC,X
+1680     LDA #$00
+1690     STA EYVEC,X
+1700     LDA #$1D
+1710     STA EATROT,X
+1720     LDA XLOC
+1730     SEC 
+1740     SBC EXLOC,X
+1750     BCS TMSOK
+1760     LDA #$FF
+1770     STA EXVEC,X
+1780     LDA #$09
+1790     STA EATROT,X
+1800 TMSOK JMP EMCHANGE
+1810 DOOM LDA #$02
+1820     STA EMODE,X
+1830     LDA EATROT,X
+1840     CMP #$09
+1850     BNE DOMDON
+1860     LDA EXLOC,X
+1870     SEC 
+1880     SBC #$04
+1890     STA EXLOC,X
+1900 DOMDON
+1910     INX 
+1920     CPX #$03
+1930     BEQ DOM2
+1940     CPX #$02
+1950     BNE LIVOK
+1960     LDY PTURN
+1970     LDA ROUND,Y
+1980     CMP #$01
+1990     BEQ DOM2
+2000 LIVOK CPX #$01
+2010     BNE LIV2OK
+2020     LDY PTURN
+2030     LDA ROUND,Y
+2040     BEQ DOM2
+2050 LIV2OK LDA EMODE,X
+2060     BNE DOM2
+2070     LDA #$01
+2080     STA EMODE,X
+2090     LDA #TOP
+2100     STA EYLOC,X
+2110     LDA #$C0
+2120     STA EXLOC,X
+2130     LDA #$01
+2140     STA EXVEC,X
+2150     STA ETEMP,X
+2160     LDA #$1D
+2170     STA EATROT,X
+2180 DOM2 DEX 
+2190     LDA #$00
+2200     STA ETEMP,X
+2210     LDA LFROT
+2220     STA EATROT,X
+2230     LDA #$00
+2240     STA EXVEC,X
+2250     LDA LFYDAT
+2260     STA EYVEC,X
+2270     CLC 
+2280     ADC EYLOC,X
+2290     STA EYLOC,X
+2300     JSR EATDRAW
+2310     RTS 
+2320 TMXVEC
+2330     .BYTE $FF,1
+2340 TMROT
+2350     .BYTE 9,$1D
+2360 LEFTIE
+2370     JSR EMCON
+2380     LDA RANDOM
+2390     AND #$01
+2400     STA $06FF
+2410     BNE MEFIRST
+2420 BACKTOME LDA EYLOC,X
+2430     CMP YLOC
+2440     BEQ LFB2
+2450     BCC LFB1
+2460     LDY #$02
+2470     JSR LFSUB
+2480     CMP #$40
+2490     BNE LFB2
+2500     JMP LFEND
+2510 LFB1 LDY #$00
+2520     JSR LFSUB
+2530     CMP #$40
+2540     BNE LFB2
+2550     JMP LFEND
+2560 LFB2 LDA $06FF
+2570     BNE LFB5
+2580 MEFIRST LDA EXLOC,X
+2590     CMP XLOC
+2600     BEQ LFB9
+2610     BCC LFB3
+2620     LDY #$03
+2630     JSR LFSUB
+2640     CMP #$40
+2650     BNE LFB9
+2660     JMP LFEND
+2670 LFB3 LDY #$01
+2680     JSR LFSUB
+2690     CMP #$40
+2700     BNE LFB9
+2710     JMP LFEND
+2720 LFB9 LDA $06FF
+2730     BNE BACKTOME
+2740 LFB5 LDA #$03
+2750     STA EMODE,X
+2760     LDA #$00
+2770     STA EXVEC,X
+2780     STA EYVEC,X
+2790     JMP WANDER
+2800 LFEND
+2810     LDA EMODE,X
+2820     CMP #$03
+2830     BEQ LFECONT
+2840     LDA ETEMP,X
+2850     CLC 
+2860     ADC #$02
+2870     AND #$03
+2880     STA TEMP1
+2890     CPY TEMP1
+2900     BNE LFECONT
+2910     LDA RANDOM
+2920     AND #$03
+2930     BNE LFECONT
+2940     JMP LFB5
+2950 LFECONT LDA #$03
+2960     CMP ETEMP,X
+2970     BNE LFAEND
+2980     CPY #$03
+2990     BEQ LF2END
+3000     LDA EXLOC,X
+3010     SEC 
+3020     SBC #$04
+3030     STA EXLOC,X
+3040     JMP LF2END
+3050 LFAEND CPY #$03
+3060     BNE LF2END
+3070     INC EXLOC,X
+3080 LF2END STY ETEMP,X
+3090     LDA LFXDAT,Y
+3100     STA EXVEC,X
+3110     LDA LFYDAT,Y
+3120     STA EYVEC,X
+3130     LDA LFROT,Y
+3140     STA EATROT,X
+3150     JMP EMCHANGE
+3160 LFSUB
+3170     STY AMYSAVE
+3180     STX AMXSAVE
+3190     LDA LFXDAT,Y
+3200     CLC 
+3210     ADC EXSCRN
+3220     TAX 
+3230     LDA LFYDAT,Y
+3240     CLC 
+3250     ADC EYSCRN
+3260     TAY 
+3270     JSR FIND
+3280     LDY AMYSAVE
+3290     LDX AMXSAVE
+3300     RTS 
+3310 LFXDAT
+3320     .BYTE $00,$01,$00,$FF
+3330 LFYDAT
+3340     .BYTE $01,$00,$FF,$00
+3350 LFROT
+3360     .BYTE $13,$1D,$27,$09
+3370 WANDER
+3380     JSR EMCON
+3390     LDY ETEMP,X
+3400     INY 
+3410     TYA 
+3420     AND #$03
+3430     TAY 
+3440     STA TEMP2
+3450     JSR LFSUB
+3460     CMP #$40
+3470     BNE WAN1
+3480     LDA RANDOM
+3490     AND #$03
+3500     BEQ WANWIN
+3510 WAN1 LDY ETEMP,X
+3520     DEY 
+3530     TYA 
+3540     AND #$03
+3550     TAY 
+3560     STA TEMP3
+3570     JSR LFSUB
+3580     CMP #$40
+3590     BNE WAN2
+3600     LDA RANDOM
+3610     AND #$03
+3620     BEQ WANWIN
+3630 WAN2 LDY ETEMP,X
+3640     JSR LFSUB
+3650     CMP #$40
+3660     BEQ WANWIN
+3670     LDY TEMP3
+3680     JSR LFSUB
+3690     CMP #$40
+3700     BEQ WANWIN
+3710     LDY TEMP2
+3720     JSR LFSUB
+3730     CMP #$40
+3740     BEQ WANWIN
+3750     LDY ETEMP,X
+3760     INY 
+3770     INY 
+3780     TYA 
+3790     AND #$03
+3800     TAY 
+3810     JSR LFSUB
+3820     CMP #$40
+3830     BNE WANDER
+3840 WANWIN
+3850     LDA RANDOM
+3860     AND #$1F
+3870     BNE WANLS
+3880     LDA #$02
+3890     STA EMODE,X
+3900 WANLS JMP LFEND
diff --git a/bl3ant.src b/bl3ant.src
new file mode 100644 (file)
index 0000000..50442b6
--- /dev/null
@@ -0,0 +1,320 @@
+10 ; HANDLES FALLING ROCKS
+20 ROCKER
+30       LDA ROCKTIME
+40       BEQ ROCKDONE
+50       DEC ROCKTIME
+60       BEQ RFALL
+70       LDX #$C2
+80       LDA ROCKTIME
+90       CMP #$70
+0100     BCS ROCKDONE
+0110     AND #$08
+0120     BEQ ROCSPIN
+0130     LDX #$DC
+0140 ROCSPIN TXA 
+0150     LDX ROCKX
+0160     LDY ROCKY
+0170     JSR PLOT
+0180 ROCKDONE RTS 
+0190 RFALL LDA #$FF
+0200     STA $D01E   ; RESET COLLISION REG.
+0210     LDA #$A0
+0220     STA $D203
+0230     LDA #$41
+0240     STA $06EE
+0250 RFLOOP LDX ROCKX
+0260     LDY ROCKY
+0270     INY 
+0280     JSR FIND
+0290     CMP #$40
+0300     BNE RFEND
+0310     INC ROCKY
+0320     LDX ROCKX
+0330     LDY ROCKY
+0340     LDA #$DA
+0350     JSR PLOT
+0360     LDX ROCKX
+0370     LDY ROCKY
+0380     DEY 
+0390     LDA $06EE
+0400     JSR PLOT
+0410     LDA #$40
+0420     STA $06EE
+0430     JSR AUXDELAY
+0440     JSR AUXDELAY
+0450     LDA #$08
+0460     STA $06F0
+0470     JSR EDEATH
+0480     JMP RFLOOP
+0490 RFEND LDX ROCKX
+0500     LDY ROCKY
+0510     LDA #$DB
+0520     JSR PLOT
+0530     JSR AUXDELAY
+0540     JSR AUXDELAY
+0550     LDX ROCKX
+0560     LDY ROCKY
+0570     LDA #$40
+0580     JSR PLOT
+0590     LDA #$00
+0600     STA $06EE
+0610     RTS 
+0620 EDEATH LDX #$02
+0630 EDELOOP LDA $06F0
+0631     CMP #$08
+0635     BNE EDESKIP
+0636     LDA EYLOC,X
+0637     CMP #$48
+0638     BCC EDECONT
+0669 EDESKIP LDA $D005,X
+0670     AND $06F0
+0680     BNE DEDEAT
+0690 EDECONT DEX 
+0700     BPL EDELOOP
+0710     LDA $D004
+0720     AND $06F0
+0730     BEQ EDEEND
+0740     JMP ANTDEAD
+0750 EDEEND LDA #$FF
+0760     STA $D01E
+0770     RTS 
+0780 ; ANT EATER KILLED
+0790 DEDEAT STX TEMP3
+0800     LDA #$A0
+0810     STA $D203
+0820     LDA #$40
+0830     STA TEMP2
+0840     LDA #$0F
+0850     STA TEMP1
+0860 DEDSLOOP LDA #$A0
+0870     ORA TEMP1
+0880     STA $D201
+0890     LDA TEMP2
+0900     STA $D200
+0910     LDX #$08
+0920 DED2ELAY LDY #$20
+0930 DEDELAY DEY 
+0940     BNE DEDELAY
+0950     DEX 
+0960     BPL DED2ELAY
+0970     DEC TEMP2
+0980     LDA TEMP2
+0990     CMP #10
+1000     BNE DEDSLOOP
+1010     LDA #40
+1020     STA TEMP2
+1030     LDA TEMP1
+1040     LDX TEMP3
+1050     STA $02C1,X
+1060     DEC TEMP1
+1070     BPL DEDSLOOP
+1080     LDX TEMP3
+1090     LDA #$01
+1100     STA EMODE,X
+1110     STA $D001,X
+1120     LDA COLTAB+1,X
+1130     STA $02C1,X
+1140     LDY #$0B
+1150     LDA EDTABLE,X
+1160     STA TEMP4
+1170     LDA EYLOC,X
+1180     CLC 
+1190     ADC #$06
+1200     STA TEMP3
+1210     LDA #$00
+1220 DEDLOOP STA (TEMP3),Y
+1230     DEY 
+1240     BPL DEDLOOP
+1250     LDA #TOP
+1260     STA EYLOC,X
+1270     LDA #$B0
+1280     STA EXLOC,X
+1290     LDA #$FF
+1300     STA EXVEC,X
+1310     LDA #$00
+1320     STA EYVEC,X
+1325     STA ETEMP,X
+1330     LDA #$09
+1340     STA EATROT,X
+1350     LDA DEMOFLAG
+1360     BNE DEDSSKIP
+1370     STX TEMP4
+1380     LDA #$00
+1390     STA TEMP1
+1400     LDA #$02
+1410     STA TEMP2
+1420     JSR SCOREADD
+1430     LDX TEMP4
+1440 DEDSSKIP TXA 
+1450     PHA 
+1460     JSR SUPDATE
+1470     PLA 
+1480     TAX 
+1490     JMP EDECONT
+1500 EGGER LDA EATOVER
+1510     CMP #$02
+1520     BNE EGFLSKIP
+1530 ; FLASH EGG
+1540     LDA #$01
+1550     EOR EGGFLAG
+1560     STA EGGFLAG
+1570     ASL A
+1580     ASL A
+1590     CLC 
+1600     ADC #$03
+1610     TAX 
+1620     LDY #$03
+1630 EG1LOOP LDA EGDAT,X
+1640     STA $2A7A,Y
+1650     DEX 
+1660     DEY 
+1670     BPL EG1LOOP
+1680 EGFLSKIP LDA EGGTIME
+1690     BNE NOEGDROP
+1700     JMP EGDROP
+1710 NOEGDROP DEC EGGTIME
+1720     BEQ EGSPLOSION
+1730     LDX EGGX
+1740     LDY EGGY
+1750     LDA #$4F
+1760     JSR PLOT
+1770     RTS 
+1780 EGDAT .BYTE $00,$3C,$3C,$00
+1790     .BYTE $14,$41,$41,$14
+1800 ; EXPLODE EGG
+1810 EGSPLOSION
+1820     LDA #$FF
+1830     STA $D01E
+1840     LDX EGGX
+1850     LDY EGGY
+1860     LDA #$50
+1870     JSR PLOT
+1880     LDA #$40
+1890     STA $D200
+1900     LDA #$0F
+1910     STA $D201
+1920     JSR AUXDELAY
+1930     LDA #$0F
+1940     STA $D201
+1950     JSR AUXDELAY
+1960     DEC EGGX
+1970     DEC EGGY
+1980     LDA #$02
+1990     STA $06E0
+2000     LDA #$08
+2010     STA $06E2
+2020 EGS1LOOP LDA #$02
+2030     STA $06E1
+2040 EGS2LOOP LDA EGGY
+2050     CLC 
+2060     ADC $06E0
+2070     PHA 
+2080     TAY 
+2090     LDA EGGX
+2100     CLC 
+2110     ADC $06E1
+2120     PHA 
+2130     TAX 
+2140     JSR FIND
+2150     LDX $06E2
+2160     STA $06F0,X
+2170     PLA 
+2180     TAX 
+2190     PLA 
+2200     TAY 
+2210     LDA #$51
+2220     CLC 
+2230     ADC $06E2
+2240     JSR PLOT
+2250     DEC $06E2
+2260     DEC $06E1
+2270     BPL EGS2LOOP
+2280     DEC $06E0
+2290     BPL EGS1LOOP
+2300     LDA #$8A
+2310     STA $D201
+2320     JSR AUXDELAY
+2330     JSR AUXDELAY
+2340     LDA #$02
+2350     STA $06E0
+2360     LDA #$08
+2370     STA $06E2
+2380 EGS3LOOP LDA #$02
+2390     STA $06E1
+2400 EGS4LOOP LDX $06E2
+2410     LDA $06F0,X
+2420     STA TEMP1
+2430     LDA EGGY
+2440     CLC 
+2450     ADC $06E0
+2460     TAY 
+2470     LDA EGGX
+2480     CLC 
+2490     ADC $06E1
+2500     TAX 
+2510     LDA TEMP1
+2520     JSR PLOT
+2530     DEC $06E2
+2540     DEC $06E1
+2550     BPL EGS4LOOP
+2560     DEC $06E0
+2570     BPL EGS3LOOP
+2580     LDA #$07
+2590     STA $D201
+2600     JSR AUXDELAY
+2610     LDA #$03
+2620     STA $D201
+2630     JSR AUXDELAY
+2640     LDA #$00
+2650     STA $D201
+2660     INC EGGX
+2670     INC EGGY
+2680     LDX EGGX
+2690     LDY EGGY
+2700     LDA #$40
+2710     JSR PLOT
+2720     LDA #$04
+2730     STA $06F0
+2740     JSR EDEATH
+2750     RTS 
+2760 EGDROP
+2770     LDA DEMOFLAG
+2780     BEQ EGD1S
+2790     LDX RECORD
+2800     LDA DEMDAT,X
+2810     AND #$80
+2820     BEQ EGDONE
+2830     JMP EGD2S
+2840 EGD1S LDX PTURN
+2850     LDA $0284,X ; TRIGGER
+2860     BNE EGDONE
+2870 EGD2S LDA EGGS
+2880     BEQ EGDONE
+2890     DEC EGGS
+2900     JSR EGUPDATE
+2910     LDA #$C0
+2920     STA EGGTIME
+2930     LDA XSCRN
+2940     STA EGGX
+2950     LDA YSCRN
+2960     STA EGGY
+2970 EGDONE RTS 
+2980 EGUPDATE LDX #$04
+2990     LDA #$4F
+3000     LDY EGGS
+3010 EGULOOP DEY 
+3020     BPL EGUOK
+3030     LDA #$40
+3040 EGUOK STA SCBASE+$0368,X
+3045     STA SC2BASE+$0368,X
+3050     DEX 
+3060     BPL EGULOOP
+3070     RTS 
+3080 AUXDELAY
+3090     LDX #$1D
+3100     LDY #$FF
+3110 AUXM1 DEY 
+3120     BNE AUXM1
+3130     DEX 
+3140     BPL AUXM1
+3150     RTS 
diff --git a/datant.src b/datant.src
new file mode 100644 (file)
index 0000000..187211d
--- /dev/null
@@ -0,0 +1,49 @@
+05       .OPT NO LIST
+10 ; CHAR SET STARTS HERE
+20       *=  $AA00
+40       .BYTE 0,0,0,0,0,0,0,0
+50       .BYTE $8A,$A8,$A8,$8A,$A2,$2A,$2A,$A2
+60       .BYTE $BE,$FF,$FF,$BF,$FF,$FF,$BE,$AE
+70       .BYTE $8A,$A8,$A8,$8A,$A2,$2A,$2A,$A2
+80       .BYTE $8A,$A8,$A8,$8A,$A2,$2A,$2A,$A2
+90       .BYTE $44,$11,$55,$8A,$A2,$2A,$2A,$A2
+0100     .BYTE $AA,$88,$A0,$A0,$80,$80,$00,$00
+0110     .BYTE $00,$00,$80,$80,$A0,$A0,$88,$AA
+0120     .BYTE $8A,$A8,$28,$2A,$0A,$0A,$0A,$0A
+0130     .BYTE $0A,$08,$08,$0A,$2A,$2A,$AA,$A2
+0140     .BYTE $00,$00,$00,$03,$0F,$0F,$03,$03
+0150     .BYTE $00,$00,$00,$00,$33,$FF,$33,$33
+0160     .BYTE $3C,$3C,$FF,$3C,$3C,$3C,$FF,$3C
+0170     .BYTE $2A,$A0,$80,$AA,$BB,$BB,$BB,$2A
+0180     .BYTE $A0,$28,$08,$A8,$B8,$B8,$B8,$A0
+0190     .BYTE $00,$00,$00,$00,$00,$00,$00,$00
+0200 ; EXPLOSION STARTS HERE
+0210     .BYTE $C3,$3C,$C3,$3C,$3C,$C3,$3C,$C3
+0220     .BYTE $00,$00,$0C,$03,$00,$30,$0C,$03
+0230     .BYTE $00,$C3,$3C,$00,$C3,$3C,$3C,$FF
+0240     .BYTE $00,$00,$30,$C0,$00,$0C,$30,$C0
+0250     .BYTE $33,$0F,$C3,$33,$33,$C3,$0F,$33
+0260     .BYTE $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
+0270     .BYTE $CC,$F0,$C3,$CC,$CC,$C3,$F0,$CC
+0280     .BYTE $03,$0C,$30,$00,$03,$0C,$00,$00
+0290     .BYTE $FF,$3C,$3C,$C3,$00,$3C,$C3,$00
+0300     .BYTE $C0,$30,$0C,$00,$C0,$30,$00,$00
+0310 ; ROCKS ETC
+0320     .BYTE $3C,$FF,$FF,$3F,$FF,$FF,$3C,$0C
+0330     .BYTE $00,$00,$00,$00,$C3,$00,$3C,$FF
+0340     .BYTE $BE,$BE,$FE,$FF,$FF,$BF,$BF,$BE
+0350     .BYTE $0A,$08,$08,$0A,$0A,$0A,$0A,$0A
+0360 ; DISPLAY LIST
+0370     *=  $AC00
+0390 Q   =   $04
+0400 DSPLIST .BYTE $70,$70,$70,$46,$00,$06,$86,$B0,$B0,$B0,$B0
+0410     .BYTE $C4,$90,$1C,Q,Q,$84,Q,Q,$84,Q,Q,$84,Q,Q,$84,Q,Q,$84,Q,Q,Q,$84
+0420     .BYTE $41,$00, >DSPLIST
+0430 ; AUXILARY DISPLAY LIST
+0440     *=  $AC30
+0460 AUXLIST .BYTE $70,$70,$70,$46,$00,$06,$06,$06,$06,$06,$06,$41,$30, >AUXLIST
+0470 ; COPY DISPLAY LIST
+0480     *=  $AC50
+0500 DSP2LIST .BYTE $70,$70,$70,$46,$00,$06,$86,$B0,$B0,$B0,$B0
+0510     .BYTE $C4,$90,$18,Q,Q,$84,Q,Q,$84,Q,Q,$84,Q,Q,$84,Q,Q,$84,Q,Q,Q,$84
+0520     .BYTE $41,$00, >DSP2LIST
diff --git a/dspant.src b/dspant.src
new file mode 100644 (file)
index 0000000..87d4d31
--- /dev/null
@@ -0,0 +1,1189 @@
+05       .OPT NO LIST
+10       *=  $4000
+15 CARBASE = $4A00
+20 CHBASE =  $02F4
+25 DLBASE =  $0230
+30 SCBASE =  $1C40
+35 SC2BASE = $1840
+40 DSPLIST = $4C00
+45 AUXLIST = $4C30
+50 DSP2LIST = $4C50
+55 TITLE =   $5700
+60 DEMDAT =  $5B30
+65 PRIOR =   $026F
+70 HSCORE =  $05C0
+75 EGGS  =   $92
+80 ROUND =   $90
+85 MXLOC =   $80
+90 MYLOC =   $88
+95 SCORE1 =  $93
+0100 BONUS = $99
+0105 ANTS =  $9D
+0110 DTVOL = $9F
+0115 SCRNSC = $0614
+0120 SCRN =  $B0
+0125 TINKTIME = $B2
+0130 EXSCRN = $B3
+0135 EYSCRN = $B4
+0140 EGGFLAG = $B5
+0145 EGGX =  $B6
+0150 EGGY =  $B7
+0155 EGGTIME = $B8
+0160 ROCKX = $B9
+0165 ROCKY = $BA
+0170 ROCKTIME = $BB
+0175 CBFLAG = $BC
+0180 CUBE =  $BD
+0185 DLVAR = $BF
+0190 TEMP1 = $C0
+0195 TEMP2 = $C1
+0200 TEMP3 = $C2
+0205 TEMP4 = $C3
+0210 XLOC =  $C4
+0215 YLOC =  $C5
+0220 ANTROT = $C6
+0225 XVEC =  $C7
+0230 YVEC =  $C8
+0235 XSCRN = $C9
+0240 YSCRN = $CA
+0245 AMYSAVE = $CB
+0250 AMXSAVE = $CC
+0255 AMOFF = $CD
+0260 AMFLAG = $CE
+0265 VFLAG = $CF
+0270 EXLOC = $D0
+0275 EYLOC = $D3
+0280 EATROT = $D6
+0285 EXVEC = $D9
+0290 EYVEC = $DC
+0295 EMODE = $DF
+0300 ETEMP = $E2
+0305 DIRTEMP = $E5
+0310 PTURN = $F0
+0315 VBIDEL = $F1
+0320 VBIRYTH = $F2
+0325 NEWSCRN = $F3
+0330 ANTX =  $F5
+0335 EATOVER = $F6
+0340 ANTOVER = $F7
+0345 ANTSPEED = $F8
+0350 STEMP = $F9
+0355 DEMOFLAG = $FA
+0360 RECORD = $FB
+0365 VBENABLE = $FD
+0370 BONENABLE = $FC
+0375 PLAYER = $05E0
+0380 PMBASE = $2000
+0385 MBASE = $2300
+0390 PLR0 =  $2400
+0395 PLR1 =  $2500
+0400 PLR2 =  $2600
+0405 PLR3 =  $2700
+0410 OFF =   $0800
+0415 HPOS0 = $D000
+0420 RANDOM = $D20A
+0425 WSYNC = $D40A
+0430 STICK = $0278
+0435 TOP =   $38
+0440 BEGIN
+0445     CLD 
+0450     LDA # >CARBASE
+0455     STA TEMP2
+0460     LDA # <CARBASE
+0465     STA TEMP1
+0470     LDA #$2A
+0475     STA TEMP4
+0480     LDA #$00
+0485     STA TEMP3
+0490     LDY #$00
+0495 MCMLOOP LDA (TEMP1),Y
+0500     STA (TEMP3),Y
+0505     INY 
+0510     BNE MCMLOOP
+0515     INC TEMP2
+0520     INC TEMP4
+0525     LDA TEMP4
+0530     CMP #$2C
+0535     BNE MCMLOOP
+0540     LDA #$10
+0545     STA BONUS+2
+0550     STA BONUS+3
+0555     LDX $0569
+0560     BEQ INITCONT
+0565     CPX #$09
+0570     BNE INITLOOP
+0575     DEX 
+0580 INITLOOP LDA BONUS+2
+0585     CLC 
+0590     ADC #$10
+0595     STA BONUS+2
+0600     STA BONUS+3
+0605     DEX 
+0610     BNE INITLOOP
+0615 INITCONT LDA $0569
+0620     STA ROUND
+0625     STA ROUND+1
+0630     LDA #$00
+0635     STA PTURN
+0640     STA ANTOVER
+0645     STA BONUS
+0650     STA BONUS+1
+0655     STA RECORD
+0660     LDX #$05
+0665 SCCLOOP STA SCORE1,X
+0670     DEX 
+0675     BPL SCCLOOP
+0680 TWPBEGIN LDA #$03
+0685     STA ANTSPEED
+0690     STA ANTS
+0695     STA ANTS+1
+0700     LDX #$FF
+0705     TXS 
+0710 THISAGAIN LDX PTURN
+0715     LDA #$40
+0720     STA NEWSCRN
+0725     LDA HIGHSCRN,X
+0730     STA NEWSCRN+1
+0735     JSR BOARDRAW
+0740     LDA PLAYER
+0745     BEQ NEXTANT
+0750     LDA PTURN
+0755     BNE FIXPTURN
+0760     INC PTURN
+0765     JMP THISAGAIN
+0770 FIXPTURN
+0775     DEC PTURN
+0780     LDA HIGHSCRN
+0785     STA NEWSCRN+1
+0790 NEXTANT JSR SETUP
+0795     JSR ANTDRAW
+0800     LDA #$01
+0805     STA BONENABLE
+0810     STA EMODE
+0815     LDA #$FF
+0820     STA EXVEC
+0825 MAINLOOP LDX #$FF
+0830     TXS 
+0835     JSR ANTMOVE
+0840     JSR NOISE
+0845     JSR EATMOVE
+0850     JSR MNDELAY
+0855     JSR DEATH
+0860     JSR CUBESCAN
+0865     JSR CUBEMOVE
+0870     JSR ROCKER
+0875     JSR EGGER
+0880     JSR SCHECK
+0885     JSR TINKER
+0890     LDA #$00
+0895     STA $4D
+0900     LDA $D01F
+0905     AND #$04
+0910     BNE MAINLOOP
+0915     LDA #$00
+0920     STA BONENABLE
+0925 PAUSE LDA $D01F
+0930     AND #$04
+0935     BEQ PAUSE
+0940 P2AUSE LDA $D01F
+0945     AND #$04
+0950     BNE P2AUSE
+0955 P3AUSE LDA $D01F
+0960     AND #$04
+0965     BEQ P3AUSE
+0970     LDA #$01
+0975     STA BONENABLE
+0980     JMP MAINLOOP
+0985 HIGHSCRN .BYTE $1C,$18
+0990 ; SETUP PM-GRAPHICS AND
+0995 ; INITIALIZE VARIABLES
+1000 SETUP LDA #$00
+1005     STA CBFLAG
+1010     STA ROCKTIME
+1015     STA EGGTIME
+1020     STA TINKTIME
+1025     STA ANTOVER
+1030     STA BONENABLE
+1035     STA DTVOL
+1040     STA $06EE
+1045     LDX PTURN
+1050     LDA DLLOW,X
+1055     STA DLBASE
+1060     LDA DLHIGH,X
+1065     STA DLBASE+1
+1070     LDA #$E0
+1075     STA CHBASE
+1080     LDA # <DLINT
+1085     STA $0200
+1090     LDA # >DLINT
+1095     STA $0201
+1100     LDA #$00
+1105     STA DLVAR
+1110     STA $D40F
+1115     STA $D208
+1120     STA $D40E
+1125 STWAIT LDA $D40F
+1130     AND #$40
+1135     BEQ STWAIT
+1140     LDA $D40E
+1145     ORA #$80
+1150     STA $D40E
+1155     LDA #60
+1160     STA $021A
+1165     LDA #$00
+1170     STA $021B
+1175     LDA # >BONUSER
+1180     STA $0229
+1185     LDA # <BONUSER
+1190     STA $0228
+1195     LDX #$FF
+1200     STX $D01E
+1205     LDA #$00
+1210 STLOOP STA PLR0,X
+1215     STA PLR1,X
+1220     STA PLR2,X
+1225     STA PLR3,X
+1230     DEX 
+1235     BNE STLOOP
+1240     LDA #$3E
+1245     STA $022F
+1250     LDA # >PMBASE
+1255     STA $D407
+1260     LDA #$03
+1265     STA $D01D
+1270     LDA #$10
+1275     ORA $026F
+1280     STA $026F
+1285     STA $D01B
+1290     LDX #$00
+1295     LDA #$00
+1300 STCBWIPE STA MBASE,X
+1305     DEX 
+1310     BNE STCBWIPE
+1315     LDX PTURN
+1320     LDA CUBE,X
+1325     STA TEMP4
+1330     LDA #$03
+1335     STA CUBE,X
+1340     STA CBFLAG
+1345     LDA #$04
+1350     STA ANTX
+1355     STA XVEC
+1360     LDY #$03
+1365     LDA PTURN
+1370     BEQ STWCONT
+1375     LDY #$07
+1380 STWCONT LDA MXLOC,Y
+1385     STA XLOC
+1390     LDA MYLOC,Y
+1395     STA YLOC
+1400     TYA 
+1405     PHA 
+1410     JSR CUBEMOVE
+1415     PLA 
+1420     TAY 
+1425     AND #$03
+1430     BEQ STWEXIT
+1435     DEY 
+1440     LDX PTURN
+1445     DEC CUBE,X
+1450     JMP STWCONT
+1455 STWEXIT LDA TEMP4
+1460     LDX PTURN
+1465     STA CUBE,X
+1470     LDA #$00
+1475     STA CBFLAG
+1480     STA XVEC
+1485     LDA #$C4
+1490     STA XLOC
+1495     LDA #$B8
+1500     STA YLOC
+1505     LDA #18
+1510     STA YSCRN
+1515     LDA #35
+1520     STA XSCRN
+1525     LDA #$A0
+1530     STA EXLOC
+1535     LDA #TOP
+1540     STA EYLOC
+1545     LDA #$09
+1550     STA ANTROT
+1555     STA EATROT
+1560     LDA #$05
+1565     STA EGGS
+1570     LDA #$00
+1575     LDX #$02
+1580 ST2LOOP STA ETEMP,X
+1585     STA EMODE,X
+1590     STA EXVEC,X
+1595     STA EYVEC,X
+1600     DEX 
+1605     BPL ST2LOOP
+1610     LDX #$08
+1615 ; INITIALIZE COLORS
+1620 STCOLOOP LDA COLTAB,X
+1625     STA $02C0,X
+1630     DEX 
+1635     BPL STCOLOOP
+1640     LDA #$11
+1645     STA PRIOR
+1650     LDX #39
+1655 ST3LOOP LDA STTEXT,X
+1660     CMP #$2A
+1665     BEQ ST3CON
+1680     STA $0600,X
+1685 ST3CON DEX 
+1690     BPL ST3LOOP
+1691     LDX #40
+1692 STCLSC LDA #$20
+1693     STA $0600,X
+1694     INX 
+1695     BNE STCLSC
+1696     JSR SUPDATE
+1700     JSR BONUSUP
+1705     LDY #39
+1710     LDA #$40
+1715 STBLCL STA SCBASE+$0348,Y
+1720     STA SC2BASE+$0348,Y
+1725     DEY 
+1730     BPL STBLCL
+1735     JSR EGUPDATE
+1740     LDX PTURN
+1745     LDA ANTS,X
+1750     TAX 
+1755     LDY #$02
+1760     DEX 
+1765     BEQ STDANT
+1770 STANTLOOP LDA #$4A
+1775     STA SCBASE+$0348,Y
+1780     STA SC2BASE+$0348,Y
+1785     INY 
+1790     LDA #$4B
+1795     STA SCBASE+$0348,Y
+1800     STA SC2BASE+$0348,Y
+1805     INY 
+1810     DEX 
+1815     BNE STANTLOOP
+1820 STDANT LDX PTURN
+1825     LDA ROUND,X
+1830     TAY 
+1835     LDX #39
+1840     LDA #$CC
+1845 STFLOLOOP STA SCBASE+$50,X
+1850     STA SC2BASE+$50,X
+1855     DEX 
+1860     DEY 
+1865     BPL STFLOLOOP
+1870     LDA #$40
+1875     CPX #$03
+1880     BNE STFLOLOOP
+1885     RTS 
+1890 STTEXT
+1895     .SBYTE "SCORE:",$00,$00
+1900     .SBYTE +$C0,"HIGH"
+1905     .SBYTE $00,$00,"BONUS:"
+1915     .SBYTE +$40,"000000"
+1920     .SBYTE $00,"******",$00,$00
+1925     .SBYTE +$40,"0000",0
+1930 COLTAB
+1935     .BYTE $4A,$5A,$6A,$7A,$C8,$A8,$4A,$0A,$00
+1940 DLLOW .BYTE $00,$50
+1945 DLHIGH .BYTE  >DSPLIST, >DSP2LIST
+1950     .INCLUDE #D:BL1ANT.SRC
+1955 ANTMOVE
+1960     INC ANTOVER
+1965     LDA ANTOVER
+1970     CMP ANTSPEED
+1975     BEQ ANMCONT
+1980     RTS 
+1985 ANMCONT LDA XLOC
+1990     CMP #$C4
+1995     BNE ANM2CONT
+2000     LDA YLOC
+2005     CMP #$B8
+2010     BNE ANM2CONT
+2015     JSR CUBEDROP
+2020 ANM2CONT LDA #$00
+2025     STA ANTOVER
+2030     LDA XLOC
+2035     AND #$03
+2040     STA TEMP1
+2045     LDA YLOC
+2050     AND #$07
+2055     ORA TEMP1
+2060     BEQ AMSCAN
+2090 ANMNOGO JMP AMCHANGE
+2095 ; SCAN JOYSTICK
+2100 AMSCAN LDX PTURN
+2105     LDA STICK,X
+2110     STA STEMP
+2115     LDA DEMOFLAG
+2120     BEQ AMSCONT
+2125     INC RECORD
+2130     LDX RECORD
+2135     LDA DEMDAT,X
+2140     STA STEMP
+2145 AMSCONT LDA #$01
+2150     LDX #$03
+2155 AMLOOP TAY 
+2160     AND STEMP
+2165     BEQ AMDONE
+2170     TYA 
+2175     CLC 
+2180     ROL A
+2185     DEX 
+2190     BPL AMLOOP
+2195     LDA #$00
+2200     STA XVEC
+2205     STA YVEC
+2210     RTS 
+2215 AMDONE
+2220     STX ANTX
+2225     LDA ANTROT
+2230     STA AMYSAVE
+2235     LDA ROTABLE,X
+2240     STA ANTROT
+2245     LDA TABXVEC,X
+2250     STA XVEC
+2255     LDA TABYVEC,X
+2260     STA YVEC
+2265     LDA OFFSET,X
+2270     STA AMOFF
+2275     CPX #$01
+2280     BNE AMCHECK
+2285     LDA AMFLAG
+2290     BNE AMLOOK
+2295     STX AMFLAG
+2300     LDA XLOC
+2305     CLC 
+2310     ADC #$04
+2315     STA XLOC
+2320     JMP AMLOOK
+2325 AMCHECK CPX #$00
+2330     BEQ AMSTOP
+2335     LDA AMFLAG
+2340     BEQ AMLOOK
+2345     LDA XLOC
+2350     SEC 
+2355     SBC #$04
+2360     STA XLOC
+2365 AMSTOP LDA #$00
+2370     STA AMFLAG
+2375 ; TEST TO SEE IF ANT CAN DIG
+2380 ; IN SPECIFIED DIRECTION
+2385 AMLOOK LDA XLOC
+2390     LDY YLOC
+2395     JSR AMSUB
+2400     LDA XSCRN
+2405     CLC 
+2410     ADC XVEC
+2415     TAX 
+2420     LDA YSCRN
+2425     CLC 
+2430     ADC YVEC
+2435     TAY 
+2440     JSR FIND
+2445     CMP #$40
+2450     BNE AMACONT
+2455     LDA #$03
+2460     STA ANTSPEED
+2465     JMP AMCHANGE
+2470 AMACONT CMP #$41
+2475     BEQ AMDTFND
+2480     CMP #$46
+2485     BEQ AMDTFND
+2490     CMP #$47
+2495     BNE AMBCONT
+2500 AMDTFND LDA #$05
+2505     STA ANTSPEED
+2510     LDA DEMOFLAG
+2515     BNE TINKSKIP
+2520     LDA #$02
+2525     STA TEMP1
+2530     LDA #$00
+2535     STA TEMP2
+2540     JSR SCOREADD
+2545     LDA #$05
+2550     STA DTVOL
+2555 TINKSKIP JMP AMCHANGE
+2560 AMBCONT CMP #$4F
+2565     BEQ AMCHANGE
+2570     CMP #$43
+2575     BNE AM1CONT
+2580     LDA #$80
+2585     STA ROCKTIME
+2590     LDA XSCRN
+2595     CLC 
+2600     ADC XVEC
+2605     STA ROCKX
+2610     LDA YSCRN
+2615     CLC 
+2620     ADC YVEC
+2625     STA ROCKY
+2630     DEC ROCKY
+2635     JMP AMCHANGE
+2640 AM1CONT CMP #$45
+2645     BNE AMZCONT
+2650     LDA ANTX
+2655     CMP #$02
+2660     BMI NOMOVE
+2665     LDA #$41
+2670     JMP AMACONT
+2675 AMZCONT CMP #$5D
+2680     BEQ AMCBDP
+2685     CMP #$48
+2690     BEQ AMCBDP
+2695     CMP #$49
+2700     BNE NOMOVE
+2705 AMCBDP JSR CUBEDROP
+2710 NOMOVE LDA #$00
+2715     STA XVEC
+2720     STA YVEC
+2725     LDA AMYSAVE
+2730     STA ANTROT
+2735     RTS 
+2740 AMCHANGE
+2745     LDX ANTX
+2750     LDA XVEC
+2755     BEQ AMW1
+2760     CLC 
+2765     ADC XLOC
+2770     STA XLOC
+2775     ADC AMOFF
+2780     JMP AMW2
+2785 AMW1 LDA XLOC
+2790 AMW2 STA TEMP1
+2795     LDA YVEC
+2800     BEQ AMW3
+2805     CLC 
+2810     ADC YLOC
+2815     STA YLOC
+2820     ADC AMOFF
+2825     TAY 
+2830     JMP AMW4
+2835 AMW3 LDY YLOC
+2840 AMW4 LDA TEMP1
+2845     JSR AMSUB
+2850     JSR ANTDRAW
+2855     LDX XSCRN
+2860     LDY YSCRN
+2865     LDA #$40
+2870     JSR PLOT
+2875     RTS 
+2880 ; COMPUTE ACTUAL SCREEN POS.
+2885 AMSUB LSR A
+2890     LSR A
+2895     SEC 
+2900     SBC #$0B
+2905     STA XSCRN
+2910     CPX #$01
+2915     BNE AMXOK
+2920     DEC XSCRN
+2925 AMXOK TYA 
+2930     LSR A
+2935     LSR A
+2940     LSR A
+2945     SEC 
+2950     SBC #$05
+2955     STA YSCRN
+2960     RTS 
+2965 ROTABLE
+2970     .BYTE $1D,$09,$13,$27
+2975 TABXVEC
+2980     .BYTE $01,$FF,0,0
+2985 TABYVEC
+2990     .BYTE 0,0,$01,$FF
+2995 OFFSET
+3000     .BYTE 0,2,0,3
+3005 MNDELAY
+3010     LDA ROUND
+3015     ASL ROUND
+3020     CMP #$0A
+3025     BPL MNOVER
+3030     LDA #$1A
+3035     SEC 
+3040     SBC ROUND
+3045     JMP MNDEOK
+3050 MNOVER LDA #$05
+3055 MNDEOK TAX 
+3060     LSR ROUND
+3065 MD2 LDY #$40
+3070 MD1 DEY 
+3075     BNE MD1
+3080     DEX 
+3085     BPL MD2
+3090     RTS 
+3095 PLOT STA TEMP3
+3100     JSR SCRNCAL
+3105     LDY #$00
+3110     LDA TEMP3
+3115     STA (SCRN),Y
+3120     RTS 
+3125 FIND
+3130     JSR SCRNCAL
+3135     STY TEMP4
+3140     LDY #$00
+3145     LDA (SCRN),Y
+3150     LDY TEMP4
+3155     RTS 
+3160 SCRNCAL LDA #$00
+3165     STA SCRN+1
+3170     TYA 
+3175     ASL A
+3180     ASL A
+3185     ASL A
+3190     ROL SCRN+1
+3195     STA TEMP1
+3200     ASL A
+3205     ROL SCRN+1
+3210     ASL A
+3215     ROL SCRN+1
+3220     CLC 
+3225     ADC TEMP1
+3230     STA TEMP1
+3235     BCC SCCOK
+3240     INC SCRN+1
+3245 SCCOK CLC 
+3250     TXA 
+3255     ADC NEWSCRN
+3260     ADC TEMP1
+3265     STA SCRN
+3270     LDA SCRN+1
+3275     ADC NEWSCRN+1
+3280     STA SCRN+1
+3285     RTS 
+3287     *=  $4D00
+3290     .INCLUDE #D:BL2ANT.SRC
+3295 CUBESCAN LDA CBFLAG
+3300     BNE CSEND
+3305     LDX PTURN
+3310     LDA CUBE,X
+3315     TAX 
+3320     LDA $D008,X
+3325     AND #$01
+3330     BEQ CSEND
+3335     LDA #$01
+3340     STA CBFLAG
+3345     LDA #75
+3350     STA TINKTIME
+3355     LDA #20
+3360     STA $D200
+3365 CSEND LDA #$FF
+3370     STA $D01E
+3375     RTS 
+3380 CUBEMOVE LDA CBFLAG
+3385     BEQ CMEND
+3390     LDA XVEC
+3395     CLC 
+3400     ADC YVEC
+3405     BEQ CMEND
+3410     LDX PTURN
+3415     LDA CUBE,X
+3420     TAX 
+3425     LDA #$03
+3430 CM1LOOP DEX 
+3435     BMI CM1LEXIT
+3440     ASL A
+3445     ASL A
+3450     JMP CM1LOOP
+3455 CM1LEXIT STA TEMP1
+3460     EOR #$FF
+3465     STA TEMP2
+3470     LDX PTURN
+3475     TXA 
+3480     ASL A
+3485     ASL A
+3490     CLC 
+3495     ADC CUBE,X
+3500     TAX 
+3505     LDY MYLOC,X
+3510 ; ERASE OLD CUBE
+3515     LDX #$02
+3520 CM3LOOP LDA TEMP2
+3525     AND MBASE,Y
+3530     STA MBASE,Y
+3535     INY 
+3540     DEX 
+3545     BPL CM3LOOP
+3550     LDY ANTX
+3555     LDX PTURN
+3560     TXA 
+3565     ASL A
+3570     ASL A
+3575     CLC 
+3580     ADC CUBE,X
+3585     TAX 
+3590     LDA CXTAB,Y
+3595     CLC 
+3600     ADC XLOC
+3605     STA MXLOC,X
+3610     STA TEMP2
+3615     STX TEMP3
+3620     LDX PTURN
+3625     LDA CUBE,X
+3630     TAX 
+3635     LDA TEMP2
+3640     STA $D004,X
+3645     LDX TEMP3
+3650     LDA CYTAB,Y
+3655     CLC 
+3660     ADC YLOC
+3665     STA MYLOC,X
+3670     TAY 
+3675 ; DRAW NEW CUBE
+3680     LDX #$02
+3685 CM2LOOP LDA TEMP1
+3690     ORA MBASE,Y
+3695     STA MBASE,Y
+3700     INY 
+3705     DEX 
+3710     BPL CM2LOOP
+3715 CMEND RTS 
+3720 CXTAB
+3725     .BYTE $FE,$08,$06,$04,0
+3730 CYTAB
+3735     .BYTE $0C,$0C,$03,$10,0
+3745 CUBEDROP LDA CBFLAG
+3750     BEQ CDEND
+3755     LDX PTURN
+3760     LDA CUBE,X
+3765     TAX 
+3770     LDA #$04
+3775     STA ANTX
+3780     LDA XLOC
+3785     PHA 
+3790     LDA YLOC
+3795     PHA 
+3800     LDA #$01
+3805     STA XVEC
+3810     LDA CBXDAT,X
+3815     STA XLOC
+3820     LDA CBYDAT,X
+3825     STA YLOC
+3830     JSR CUBEMOVE
+3835     LDA #$00
+3840     STA XVEC
+3845     PLA 
+3850     STA YLOC
+3855     PLA 
+3860     STA XLOC
+3865     LDA #$00
+3870     STA CBFLAG
+3875     LDX PTURN
+3880     INC CUBE,X
+3885     LDA CUBE,X
+3890     CMP #$04
+3895     BNE CDBCONT
+3900     JMP SETDONE
+3905 CDBCONT LDA #75
+3910     STA TINKTIME
+3915     LDA #20
+3920     STA $D200
+3925 CDEND RTS 
+3930 CBXDAT .BYTE $C4,$C6,$C8,$CA
+3935 CBYDAT .BYTE $C4,$C1,$C4,$C1
+3940 SETDONE LDA #$00
+3945     STA VBENABLE
+3950     STA BONENABLE
+3955     LDX PTURN
+3960     LDA ROUND,X
+3965     CLC 
+3970     ADC #$01
+3975     STA TEMP4
+3980 SELLOOP SED 
+3985     LDX PTURN
+3990     LDA BONUS,X
+3995     SEC 
+4000     SBC #$07
+4005     STA BONUS,X
+4010     LDA BONUS+2,X
+4015     SBC #$00
+4020     STA BONUS+2,X
+4025     CLD 
+4030     LDA #$07
+4035     STA TEMP1
+4040     LDA #$00
+4045     STA TEMP2
+4050     JSR SCOREADD
+4055     LDA #$10
+4060     STA $D200
+4065     LDA #$A8
+4070     STA $D201
+4075     JSR BONUSUP
+4080     LDX PTURN
+4085     LDA BONUS+2,X
+4090     BNE SENEXIT
+4095     LDA BONUS,X
+4100     CMP #$07
+4105     BCC SELEXIT
+4110 SENEXIT DEC TEMP4
+4115     BNE SELLOOP
+4120     LDA #$02
+4125     STA $021C
+4130     STA $022A
+4135 SEDD1 LDA $022A
+4140     BNE SEDD1
+4145     LDA #$A2
+4150     STA $D201
+4155     LDA #$02
+4160     STA $021C
+4165     STA $022A
+4170 SEDD2 LDA $022A
+4175     BNE SEDD2
+4180     JMP SETDONE
+4185 SELEXIT LDA #$A0
+4190     STA $D201
+4195     LDX PTURN
+4200     LDA BONUS,X
+4205     STA TEMP1
+4210     LDA #$00
+4215     STA TEMP2
+4220     JSR SCOREADD
+4225     JSR BOARDRAW
+4230     LDX PTURN
+4235     INC ROUND,X
+4240     LDA ROUND,X
+4245     CMP #34
+4250     BCC SEROK
+4255     LDA #34
+4260     STA ROUND,X
+4265 SEROK CLC 
+4270     ADC #$01
+4275     CMP #$0A
+4280     BMI SED2CONT
+4285     LDX PTURN
+4290     LDA #$09
+4295 SED2CONT ASL A
+4300     ASL A
+4305     ASL A
+4310     ASL A
+4315     STA BONUS+2,X
+4320     LDA #$00
+4325     STA BONUS,X
+4330     LDX PTURN
+4335     INC ANTS,X
+4340     INC VBENABLE
+4345     JMP NEXTANT
+4350 ;
+4355     .INCLUDE #D:BL3ANT.SRC
+4360 ;
+4365 DEATH
+4370     LDA $D00C   ;ANT COLLISION REGISTER
+4375     CMP #$00
+4380     BNE ANTDEAD
+4385     LDX PTURN
+4390     LDA BONUS,X
+4395     CLC 
+4400     ADC BONUS+2,X
+4405     BNE DEADONE
+4410     LDA #$05
+4415     STA BONUS+2,X
+4420     LDA #$00
+4425     STA BONUS,X
+4430     JMP ANTDEAD
+4435 DEADONE RTS 
+4440 ANTDEAD
+4445     LDA #$00
+4450     STA BONENABLE
+4455     LDA #$A0
+4460     STA $D203
+4465     LDX #$04
+4470 ANDLOOP LDY #$07
+4475 AND2LOOP TYA 
+4480     CLC 
+4485     ADC #$10
+4490     STA $D200
+4495     TYA 
+4500     ORA #$C0
+4505     STA $D201
+4510     TYA 
+4515     ASL A
+4520     ORA #$40
+4525     STA $02C0
+4530     TYA 
+4535     PHA 
+4540     TXA 
+4545     PHA 
+4550     LDX #$40
+4555     LDY #$FF
+4560 ANDELAY DEY 
+4565     BNE ANDELAY
+4570     DEX 
+4575     BPL ANDELAY
+4580     PLA 
+4585     TAX 
+4590     PLA 
+4595     TAY 
+4600     DEY 
+4605     BPL AND2LOOP
+4610     DEX 
+4615     BPL ANDLOOP
+4620     LDA #$00
+4625     STA $D201
+4630     LDA DEMOFLAG
+4635     BNE GAMEOVER
+4640     LDX PTURN
+4645     DEC ANTS,X
+4650     BEQ GAMEOVER
+4655     LDA CBFLAG
+4660     BEQ ANDSKIP
+4665     LDX PTURN
+4670     LDA CUBE,X
+4675     TAX 
+4680     LDA #$04
+4685     STA ANTX
+4690     STA XVEC
+4695     LDA MXDATA,X
+4700     STA XLOC
+4705     LDA MYDATA,X
+4710     STA YLOC
+4715     JSR CUBEMOVE
+4720 ANDSKIP LDA $06EE
+4725     BEQ ROCKBGONE
+4730     LDX ROCKX
+4735     LDY ROCKY
+4740     LDA #$40
+4745     JSR PLOT
+4750 ROCKBGONE LDA ROCKTIME
+4755     BEQ ROCK2BG
+4760     LDX ROCKX
+4765     LDY ROCKY
+4770     LDA #$41
+4775     JSR PLOT
+4780 ROCK2BG LDA EGGTIME
+4785     BEQ EGGBGONE
+4790     LDX EGGX
+4795     LDY EGGY
+4800     LDA #$40
+4805     JSR PLOT
+4810 EGGBGONE LDA PLAYER
+4815     BEQ OKYONE
+4820     LDA PTURN
+4825     EOR #$01
+4830     STA PTURN
+4835     TAX 
+4840     LDA ANTS,X
+4845     BNE OKYCONT
+4850     LDA PTURN
+4855     EOR #$01
+4860     STA PTURN
+4865     JMP NEXTANT
+4870 OKYCONT JSR PLRPRINT
+4875     LDX PTURN
+4880     LDA HIGHSCRN,X
+4885     STA NEWSCRN+1
+4890 OKYONE JMP NEXTANT
+4895 GAMEOVER LDA #$00
+4900     STA $021A
+4905     LDA #$01
+4910     STA BONENABLE
+4915     LDX PTURN
+4920     LDA SCORE1+4,X
+4925     CMP HSCORE+2
+4930     BEQ GO1CONT
+4935     BCC NOHIGH
+4940     JMP HIGHM
+4945 GO1CONT LDA SCORE1+2,X
+4950     CMP HSCORE+1
+4955     BEQ GO2CONT
+4960     BCC NOHIGH
+4965     JMP HIGHM
+4970 GO2CONT LDA SCORE1,X
+4975     CMP HSCORE
+4980     BEQ HIGHM
+4985     BCC NOHIGH
+4990 HIGHM LDX #$05
+4995 HIGHLOOP LDA $0614,X
+5000     STA $061B,X
+5005     DEX 
+5010     BPL HIGHLOOP
+5015     LDX PTURN
+5020     LDA SCORE1+4,X
+5025     STA HSCORE+2
+5030     LDA SCORE1+2,X
+5035     STA HSCORE+1
+5040     LDA SCORE1,X
+5045     STA HSCORE
+5050 NOHIGH LDX #$07
+5055     LDA #$00
+5060 GOAWAY STA $D000,X
+5065     DEX 
+5070     BPL GOAWAY
+5075     LDX #$08
+5080     LDA # <AUXLIST
+5085     STA $0230
+5090     LDA # >AUXLIST
+5095     STA $0231
+5100 GOPLOOP LDA GAMDAT,X
+5105     CLC 
+5110     ADC #$20
+5115     STA $0669,X
+5120     DEX 
+5125     BPL GOPLOOP
+5130     LDA #180
+5135     STA $021C
+5140     STA $022A
+5145 GOPWAIT LDA $022A
+5150     BNE GOPWAIT
+5155     LDA DEMOFLAG
+5160     BNE GOPDONE
+5165     LDA PLAYER
+5170     BEQ GOPDONE
+5175     LDA PTURN
+5180     EOR #$01
+5185     STA PTURN
+5190     TAX 
+5195     LDA ANTS,X
+5200     BEQ GOPDONE
+5205     JMP OKYCONT
+5210 GOPDONE JMP TITLE
+5215 GAMDAT .BYTE "GAME OVER"
+5220 SCOREADD SED 
+5225     LDX PTURN
+5230     LDA SCORE1,X
+5235     CLC 
+5240     ADC TEMP1
+5245     STA SCORE1,X
+5250     LDA SCORE1+2,X
+5255     ADC TEMP2
+5260     STA SCORE1+2,X
+5265     BCC SCADONE
+5270     CLC 
+5275     LDA #$01
+5280     ADC SCORE1+4,X
+5285     STA SCORE1+4,X
+5290 SCADONE CLD 
+5295     JSR SUPDATE
+5300     RTS 
+5305 SUPDATE LDY PTURN
+5310     LDX #$05
+5315 SUPLOOP LDA SCORE1,Y
+5320     AND #$0F
+5325     CLC 
+5330     ADC #$50
+5335     STA SCRNSC,X
+5340     DEX 
+5345     LDA SCORE1,Y
+5350     AND #$F0
+5355     LSR A
+5360     LSR A
+5365     LSR A
+5370     LSR A
+5375     CLC 
+5380     ADC #$50
+5385     STA SCRNSC,X
+5390     INY 
+5395     INY 
+5400     DEX 
+5405     BPL SUPLOOP
+5410     RTS 
+5415 TINKER LDA TINKTIME
+5420     BEQ TINKDONE
+5425     SEC 
+5430     SBC #$0F
+5435     STA TINKTIME
+5440     LSR A
+5445     LSR A
+5450     LSR A
+5455     ASL A
+5460     ORA #$A0
+5465     STA $D201
+5470 TINKDONE RTS 
+5475 NOISE LDA DTVOL
+5480     BEQ NOIDONE
+5485     DEC DTVOL
+5490     LDA #$A0
+5495     ORA DTVOL
+5500     STA $D203
+5505     LDA #$30
+5510     STA $D202
+5515 NOIDONE RTS 
+5520 BONUSER LDA BONENABLE
+5525     BEQ BONEXIT
+5530     SED 
+5535     LDX PTURN
+5540     LDA BONUS,X
+5545     SEC 
+5550     SBC #$05
+5555     STA BONUS,X
+5560     LDA BONUS+2,X
+5565     SBC #$00
+5570     STA BONUS+2,X
+5575     CLD 
+5580     JSR BONUSUP
+5585 BONEXIT LDA #60
+5590     STA $021A
+5595     RTS 
+5600 BONUSUP LDX #$03
+5605     LDY #$00
+5610     LDA PTURN
+5615     BEQ BUPLOOP
+5620     LDY #$01
+5625 BUPLOOP LDA BONUS,Y
+5630     AND #$0F
+5635     CLC 
+5640     ADC #$50
+5645     STA $0623,X
+5650     DEX 
+5655     LDA BONUS,Y
+5660     AND #$F0
+5665     LSR A
+5670     LSR A
+5675     LSR A
+5680     LSR A
+5685     CLC 
+5690     ADC #$50
+5695     STA $0623,X
+5700     INY 
+5705     INY 
+5710     DEX 
+5715     BPL BUPLOOP
+5720 BPOINTER RTS 
+5725 SCHECK LDA $D01F
+5730     AND #$01
+5735     BEQ SSSSS
+5740     LDA $D01F
+5745     AND #$02
+5750     BNE SSGSS
+5755     JMP TITLE
+5760 SSGSS LDA DEMOFLAG
+5765     BEQ SSSDS
+5770     LDA $0284
+5775     BEQ SSSSS
+5780 SSSDS RTS 
+5785 SSSSS JSR MNDELAY
+5790     LDA #$00
+5795     STA DEMOFLAG
+5800     LDA #$A2
+5805     STA $D207
+5810     JMP BEGIN
+5815 PLRPRINT LDA #$00
+5820     LDX #$08
+5825 PLRAWAY STA $D000,X
+5830     STA $0669,X
+5835     DEX 
+5840     BPL PLRAWAY
+5845     JSR SUPDATE
+5850     JSR BONUSUP
+5855     LDX #$09
+5860     LDY #$09
+5865     LDA PTURN
+5870     BEQ PLRNCONT
+5875     LDY #$13
+5880 PLRNCONT LDA # <AUXLIST
+5885     STA $0230
+5890     LDA # >AUXLIST
+5895     STA $0231
+5900 PLRLOOP LDA PLRDAT,Y
+5915     STA $0655,X
+5920     DEY 
+5925     DEX 
+5930     BPL PLRLOOP
+5935     LDA #180
+5940     STA $021C
+5945     STA $022A
+5950 PLRWAIT LDA $022A
+5955     BNE PLRWAIT
+5960     RTS 
+5965 PLRDAT .SBYTE "PLAYER ONE"
+5970     .SBYTE "PLAYER TWO"
diff --git a/title.src b/title.src
new file mode 100644 (file)
index 0000000..959bbca
--- /dev/null
+++ b/title.src
@@ -0,0 +1,316 @@
+05       .OPT NO LIST
+10       *=  $B700
+20 SCREEN =  $1000
+30 CHRBASE = $BC00
+40 BEGIN =   $A000
+50 TEMP1 =   $C0
+60 TEMP2 =   $C1
+70 DEMOFLAG = $FA
+80 VBIDEL =  $F1
+90 VBENABLE = $FD
+0100 VBIPL = $FE
+0110 VBRYTH = $F2
+0120 PLAYER = $05E0
+0130 LEVEL = $0569
+0140 TITLE
+0150     LDA #$00
+0160     STA $D01D
+0170     STA $D208
+0180     LDA # <NOTES
+0190     STA VBIPL
+0200     DEC VBIPL
+0210     LDA # >NOTES
+0220     STA VBIPL+1
+0230     LDX #$04
+0240 COLFIX LDA COLDAT,X
+0250     STA $02C4,X
+0260     DEX 
+0270     BPL COLFIX
+0280     LDA #$01
+0290     STA VBRYTH
+0300     STA VBENABLE
+0310     STA VBIDEL
+0320     LDX # >VBIROUT
+0330     LDY # <VBIROUT
+0340     LDA #$07
+0350     JSR $E45C
+0360     LDA #$A8
+0370     STA $D207
+0380     LDA #$00
+0390     STA $D208
+0400     JSR $E465
+0410 TITLE2 LDX #11
+0420     LDA # >SCREEN
+0430     STA TEMP2
+0440     LDA # <SCREEN
+0450     STA TEMP1
+0460 ERLOOP LDY #$19
+0470 ER2LOOP LDA #$00
+0480     STA (TEMP1),Y
+0490     DEY 
+0500     BPL ER2LOOP
+0510     LDA #20
+0520     CLC 
+0530     ADC TEMP1
+0540     STA TEMP1
+0550     BCC ERCONT
+0560     INC TEMP2
+0570 ERCONT DEX 
+0580     BPL ERLOOP
+0590     LDA # >DLIST
+0600     STA $0231
+0610     LDA # <DLIST
+0620     STA $0230
+0630     LDA # >CHRBASE
+0640     STA $02F4
+0650     JSR PLEVEL
+0660     LDX #$08
+0670 ANTLOOP LDA ANTDAT,X
+0680     CLC 
+0690     ADC #$20
+0700     STA SCREEN+45,X
+0710     DEX 
+0720     BPL ANTLOOP
+0730     JSR PLPRINT
+0740     LDA $D20A
+0750     AND #$03
+0760     CLC 
+0770     ADC #$30
+0780     STA TEMP1
+0790 HDELAY LDX #$7F
+0800     LDY #$FF
+0810 TDELAY DEY 
+0820     BNE TDELAY
+0830     DEX 
+0840     BPL TDELAY
+0850     LDA $02C7
+0860     STA TEMP2
+0870     LDX #$02
+0880 ROTATE LDA $02C4,X
+0890     STA $02C4+1,X
+0900     DEX 
+0910     BPL ROTATE
+0920     LDA TEMP2
+0930     STA $02C4
+0940     JSR SCHECK
+0950     DEC TEMP1
+0960     BPL HDELAY
+0970     LDY #$0D
+0980 SCTEMP = SCREEN+102
+0990     LDA # >SCTEMP
+1000     STA TEMP2
+1010     LDA # <SCTEMP
+1020     STA TEMP1
+1030 EDLOOP LDA EDDAT,Y
+1040     CLC 
+1050     ADC #$20
+1060     STA (TEMP1),Y
+1070     DEY 
+1080     BPL EDLOOP
+1090     LDA #120
+1100     STA $021C
+1110     LDA #$01
+1120     STA $022A
+1130 EDWAIT JSR SCHECK
+1140     LDA $022A
+1150     BNE EDWAIT
+1160     LDY #14
+1170 SC2TEMP = SCREEN+142
+1180     LDA # >SC2TEMP
+1190     STA TEMP2
+1200     LDA # <SC2TEMP
+1210     STA TEMP1
+1220 COPLOOP LDA COPDAT,Y
+1230     CLC 
+1240     ADC #$60
+1250     STA (TEMP1),Y
+1260     DEY 
+1270     BPL COPLOOP
+1280     LDY #$08
+1290     LDA TEMP1
+1300     CLC 
+1310     ADC #43
+1320     STA TEMP1
+1330     BCC ROMLOOP
+1340     INC TEMP2
+1350 ROMLOOP LDA ROMDAT,Y
+1360     CLC 
+1370     ADC #$A0
+1380     STA (TEMP1),Y
+1390     DEY 
+1400     BPL ROMLOOP
+1410     LDA #$F0
+1420     STA $021C
+1430     STA $022A
+1440 ROMWAIT JSR SCHECK
+1450     LDA $022A
+1460     BNE ROMWAIT
+1470     LDA #$05
+1480     STA DEMOFLAG
+1490     JMP DEMSTART
+1500 SCHECK LDA $D01F
+1510     AND #$01
+1520     BEQ START
+1530     LDA $0284
+1540     BEQ START
+1550     LDA $D01F
+1560     AND #$02
+1570     BEQ SELECT
+1580     LDA $D01F
+1590     AND #$04
+1600     BEQ INCLEVEL
+1610     RTS 
+1620 START LDA #$00
+1630     STA DEMOFLAG
+1640     LDA #$A2
+1650     STA $D207
+1660 DEMSTART LDA #15
+1670     STA $021C
+1680     STA $022A
+1690 STARWAIT LDA $022A
+1700     BNE STARWAIT
+1710     JMP BEGIN
+1720 SELECT LDA PLAYER
+1730     EOR #$01
+1740     STA PLAYER
+1750     JSR PLPRINT
+1760     LDA #30
+1770     STA $021C
+1780     STA $022A
+1790 SELECWAIT LDA $022A
+1800     BNE SELECWAIT
+1810     RTS 
+1820 PLPRINT LDX #$0E
+1830     LDY #$0E
+1840     LDA PLAYER
+1850     BEQ PLRLOOP
+1860     LDY #$1D
+1870 PLRLOOP LDA ONEPDAT,Y
+1880     CLC 
+1890     ADC #$20
+1900     STA SCREEN+222,X
+1910     DEY 
+1920     DEX 
+1930     BPL PLRLOOP
+1940     RTS 
+1950 INCLEVEL INC LEVEL
+1960     LDA LEVEL
+1970     CMP #$0A
+1980     BNE INCONT
+1990     LDA #$00
+2000 INCONT STA LEVEL
+2010     JMP TITLE2
+2020 PLEVEL LDY #$05
+2030 PLVLOOP LDA TABLEVEL,Y
+2040     CLC 
+2050     ADC #$20
+2060     STA SCREEN+206,Y
+2070     DEY 
+2080     BPL PLVLOOP
+2090     LDA LEVEL
+2100     CLC 
+2110     ADC #$50
+2120     STA SCREEN+212
+2130     RTS 
+2140 VBIROUT LDA VBENABLE
+2150     BNE VBI2CONT
+2160     LDA #$00
+2170     STA $D206
+2180     JMP VBIDONE
+2190 VBI2CONT DEC VBIDEL
+2200     BNE VBIDONE
+2210 VBEGIN INC VBIPL
+2220     BNE VBICONT
+2230     INC VBIPL+1
+2240 VBICONT LDY #$00
+2250     LDA (VBIPL),Y
+2260     TAY 
+2270     CMP #$FF
+2280     BEQ VBRESET
+2290     CMP #$01
+2300     BEQ VBIRSET
+2310     CMP #$02
+2320     BEQ VBIRSET
+2330     LDA #7
+2340     STA VBIDEL
+2350     LDA VBRYTH
+2360     BEQ VBIGNORE
+2370     ASL VBIDEL
+2380 VBIGNORE TYA 
+2390     STA $D206
+2400     JMP VBIDONE
+2410 VBIRSET
+2420     SEC 
+2430     SBC #$01
+2440     STA VBRYTH
+2450     JMP VBEGIN
+2460 VBRESET LDA # <NOTES
+2470     STA VBIPL
+2480     LDA # >NOTES
+2490     STA VBIPL+1
+2500     LDA #$03
+2510     STA VBIDEL
+2520 VBIDONE JMP $E462
+2530 COLDAT
+2540     .BYTE $28,$CA,$94,$46,$00
+2550 ANTDAT
+2555     .BYTE "A"
+2556     .BYTE +$40,"N"
+2557     .BYTE +$80,"T"
+2558     .BYTE +$C0,"-"
+2559     .BYTE "E"
+2560     .BYTE +$40,"A"
+2561     .BYTE +$80,"T"
+2562     .BYTE +$C0,"E"
+2563     .BYTE "R"
+2580 EDDAT
+2590     .BYTE " BY EDDY FRIES"
+2600 COPDAT
+2610     .BYTE " COPYRIGHT 1983"
+2620 ROMDAT
+2630     .BYTE "ROMOX INC"
+2640 ONEPDAT
+2650     .BYTE "ONE PLAYER GAME"
+2660     .BYTE "TWO PLAYER GAME"
+2670 TABLEVEL
+2680     .BYTE "LEVEL "
+2690 DLIST .BYTE $70,$70,$70,$47, <SCREEN, >SCREEN
+2700     .BYTE $07,$07,$07,$07,$07,$07,$07,$07
+2710     .BYTE $07,$10,$06,$10,$06,$41, <DLIST, >DLIST
+2720 NOTES
+2730     .BYTE 2,0,91,72,91,60,91,45
+2740     .BYTE 1,47,53,60,53,60,68,72,68,72,81
+2750     .BYTE 2,91,72,60,72,45,60
+2760     .BYTE 1,35,29,31,29,35,29,31,29,35,29,31,29
+2770     .BYTE 45,35,40,35,45,35,40,35,45,35,40,35
+2780     .BYTE 53,45,47,45,53,45,47,45,53,45,47,45
+2790     .BYTE 2,64,81,53,64,45,53
+2800     .BYTE 1,40,35,40,45,47,45,47,53,60,53
+2810     .BYTE 60,68,2,72,1,53,60,64,60,64,72
+2820     .BYTE 81,72,81,91,96,91,96,108,2,121
+2830     .BYTE 1,60,64,2,60,96,91,60,96
+2840     .BYTE 60,108,64,2,60,60
+2850     .BYTE 0,0,0,0
+2860     .BYTE 0,60,47,60,40,60,29
+2870     .BYTE 1,31,35,40,35,40,45,47,45,47,53
+2880     .BYTE 60,68,60,35,60,68,60,35,60,68,60,35
+2890     .BYTE 2,68,81,68,81,53,81,40
+2900     .BYTE 1,45,50,53,50,53,60,68,60,68,72
+2910     .BYTE 2,81,68,53,68,40,53
+2920     .BYTE 33,57,33,57,33,57
+2930     .BYTE 53,72,45,53,35,45
+2940     .BYTE 1,40,45,40,33,60,33,53,33,47,33,60,33
+2950     .BYTE 45,47,45,35,64,35,57,35,53,35,64,35
+2960     .BYTE 47,53,47,40,72,40,64,40,57,40,72,40
+2970     .BYTE 2,45,53,68,53,81,45
+2980     .BYTE 47,60,72,60,91,50
+2990     .BYTE 1,53,45,50,45,53,45,50,45,53,45,50,45
+3000     .BYTE 68,53,60,53,68,53,60,53,68,53,60,53
+3010     .BYTE 81,68,72,68,81,68,72,68,81,68,72,68
+3020     .BYTE 2,96,121,81,96,68,81
+3030     .BYTE 1,60,53,60,68,72,68,72,81,91,81,91,102
+3040     .BYTE 2,108,1,81,91,96,91,96,108,121,108,121,136
+3050     .BYTE 144,136,144,162,2,182,1,91,96,2,91,144
+3060     .BYTE 136,91,144,91,162,96
+3070     .BYTE 91,91,91,91,0,0,0,0
+3080     .BYTE $FF