10 *= 21080 12 .S 16 .D ML.MOVE 18 JMP L90 20 DIR .BYTE 0 22 TEMP .BYTE 0 0 24 WALK .BYTE 0 90 L90 CMP #0:BEQ L100 92 JSR PRMEN:JSR PRDINAMITE 94 JSR PRLKEY:JSR PRMKEY 96 JSR PRDKEY:JSR PRSKEY 98 JSR PRSCORE:JSR PRCOINS:RTS 100 L100 LDA #255 102 SEC:SBC 56320:STA DIR 104 LDA 855:CMP #0:BEQ L105:JMP DONE 105 L105 LDA 833:CMP 832:BCC L108 106 LDA #1:STA 855:LDA #0:STA 833:JMP DONE 108 L108 LDX 863:DEX:STX 863:CPX #255:BNE CHKUNDR:LDX #0:STX 863:STX 833 110 CHKUNDR LDA 253:STA 2:LDA 254:STA 3 120 LDY #0:LDA (2),Y 122 CMP #32:BEQ ACHKBLOW 123 CMP #160:BEQ ACHKBLOW 124 CMP #163:BEQ ASTART 125 CMP #168:BEQ AUP 126 CMP #169:BEQ AUP 127 CMP #170:BEQ AUP 131 CMP #189:BEQ ABRIDGE 132 CMP #192:BEQ ADIE 133 CMP #208:BEQ AMKEY 134 CMP #209:BEQ ALKEY 135 CMP #210:BEQ ADKEY 136 CMP #211:BEQ ASKEY 137 CMP #216:BEQ ACOIN 138 CMP #217:BEQ ADINAMITE 139 CMP #218:BEQ AENERGY 140 CMP #219:BEQ A10PTS 141 CMP #220:BEQ A100PTS 142 CMP #221:BEQ A10COINS 143 CMP #196:BEQ ASHRED 180 ACHKBLOW JMP CHKBLOW 182 ASTART JSR START:JMP CHKBLOW 183 AUP JMP ELEVUP 184 ADOWN JMP ELEVDOWN 185 ABRIDGE JSR BRIDGE:JMP CHKBLOW 186 ADIE LDA #3:STA 855:JMP DIE 187 AMKEY JSR MKEY:JMP CHKBLOW 188 ALKEY JSR LKEY:JMP CHKBLOW 189 ADKEY JSR DKEY:JMP CHKBLOW 190 ASKEY JSR SKEY:JMP CHKBLOW 191 ACOIN JSR COIN:JMP CHKBLOW 192 ADINAMITE JSR DINAMITE:JMP CHKBLOW 193 AENERGY JSR ENERGY:JMP CHKBLOW 194 A10PTS JSR PTS10:JMP CHKBLOW 195 A100PTS JSR PTS100:JMP CHKBLOW 196 A10COINS JSR COINS10:JMP CHKBLOW 197 ASHRED LDA #2:STA 855:JMP DONE 200 CHKBLOW JSR FINDBLOW 202 LDY #0:LDA (2),Y 207 CMP #172:BEQ ADOWN 208 CMP #173:BEQ ADOWN 209 CMP #174:BEQ ADOWN 210 CMP #128:BEQ BDIRUP 211 CMP #129:BEQ BDIRUP 212 CMP #130:BEQ BDIRUP 213 CMP #131:BEQ BDIRUP 214 CMP #132:BEQ BDIRUP 215 CMP #133:BEQ BDIRUP 216 CMP #135:BEQ BDIRUP 217 CMP #136:BEQ BDIRUP 218 CMP #137:BEQ BDIRUP 219 CMP #138:BEQ BDIRUP 220 CMP #139:BEQ BDIRUP 221 CMP #140:BEQ BDIRUP 222 CMP #141:BEQ BDIRUP 223 CMP #142:BEQ BDIRUP 224 CMP #143:BEQ BDIRUP 225 CMP #164:BEQ BLEFT 226 CMP #165:BEQ BRIGHT 227 JMP L240 230 BDIRUP JMP DIRUP 231 BLEFT JSR LEFT:JMP DIRUP 232 BRIGHT JSR RIGHT:JMP DIRUP 233 BDIE LDA #2:STA 855:JMP DONE 234 BOPENM JSR OPENM:JMP DIRUP 235 BOPENL JSR OPENL:JMP DIRUP 236 BOPEND JSR OPEND:JMP DIRUP 237 BOPENS JSR OPENS:JMP DIRUP 240 L240 CMP #160:BEQ BDIRUP 241 CMP #161:BEQ BDIRUP 242 CMP #162:BEQ BDIRUP 243 CMP #166:BEQ BDIRUP 244 CMP #167:BEQ BDIRUP 245 CMP #168:BEQ BDIRUP 246 CMP #169:BEQ BDIRUP 247 CMP #170:BEQ BDIRUP 248 CMP #172:BEQ BDIRUP 249 CMP #173:BEQ BDIRUP 250 CMP #174:BEQ BDIRUP 251 CMP #195:BEQ BDIE 252 CMP #196:BEQ BDIRUP 253 CMP #197:BEQ BDIRUP 254 CMP #198:BEQ BDIRUP 255 CMP #212:BEQ BOPENM 256 CMP #213:BEQ BOPENL 257 CMP #214:BEQ BOPEND 258 CMP #215:BEQ BOPENS 260 JMP FALLING 300 DIRUP LDA DIR:AND #1:CMP #1:BEQ L302:JMP DIRDOWN 302 L302 LDA 253:STA 2:LDA 254:STA 3 304 LDY #0:LDA (2),Y 310 CMP #160:BNE DIRDOWN 312 JSR UP:JSR ANIMATE 400 DIRDOWN LDA DIR:AND #2:CMP #2:BEQ L402:JMP DIRLEFT 402 L402 JSR FINDBLOW 404 LDY #0:LDA (2),Y 410 CMP #160:BNE DIRLEFT 412 JSR DOWN:JSR ANIMATE 500 DIRLEFT LDA DIR:AND #4:CMP #4:BEQ L502:JMP DIRRIGHT 502 L502 JSR FINDLEFT 504 JSR COMPARE 506 CMP #1:BNE DIRRIGHT 508 JSR LEFT:JSR ANIMATE 600 DIRRIGHT LDA DIR:AND #8:CMP #8:BEQ L602:JMP BUTTON 602 L602 JSR FINDRIGHT 604 JSR COMPARE 606 CMP #1:BNE BUTTON 608 JSR RIGHT:JSR ANIMATE 610 EDONE JMP DONE 620 BUTTON LDA DIR:AND #16:CMP #16:BEQ L621:JMP EDONE 621 L621 LDA 19864:CMP #0:BNE EDONE 622 LDX 847:CPX #0:BEQ DINDONE:DEX:STX 847 624 L624 LDA #1:LDX 253:LDY 254:JSR 19861 626 DINDONE JSR PRDINAMITE:JMP EDONE 700 COMPARE LDY #0:LDA (2),Y 701 CMP #128:BEQ DCOMP 702 CMP #129:BEQ DCOMP 703 CMP #130:BEQ DCOMP 704 CMP #131:BEQ DCOMP 705 CMP #135:BEQ DCOMP 706 CMP #136:BEQ DCOMP 707 CMP #137:BEQ DCOMP 708 CMP #138:BEQ DCOMP 709 CMP #142:BEQ DCOMP 710 CMP #143:BEQ DCOMP 711 CMP #161:BEQ DCOMP 712 CMP #162:BEQ DCOMP 713 CMP #164:BEQ DCOMP 714 CMP #165:BEQ DCOMP 715 CMP #166:BEQ DCOMP 716 CMP #167:BEQ DCOMP 717 CMP #192:BEQ DDIE 718 CMP #195:BEQ DCOMP 719 CMP #196:BEQ DCOMP 720 CMP #197:BEQ DCOMP 721 CMP #198:BEQ DCOMP 722 CMP #212:BEQ DOPENM 723 CMP #213:BEQ DOPENL 724 CMP #214:BEQ DOPEND 725 CMP #215:BEQ DOPENS 726 LDA #1:RTS 730 DCOMP LDA #0:RTS 732 DOPENM JSR OPENM:JMP DCOMP 734 DOPENL JSR OPENL:JMP DCOMP 736 DOPEND JSR OPEND:JMP DCOMP 738 DOPENS JSR OPENS:JMP DCOMP 740 DDIE PLA:PLA:LDA #3:STA 855:JMP DONE 800 UP LDX 53249:DEX:STX 53249:LDX #134:STX 857 802 LDX 842:DEX:STX 842 804 CPX #255:BNE L814 806 LDX #7:STX 842:LDA 253:SEC:SBC #255:STA 253:LDA 254:SBC #0:STA 254 808 LDX 839:DEX:STX 839 810 CPX #255:BNE L814 812 PLA:PLA:JMP DIE 814 L814 RTS 850 DOWN LDX 53249:INX:STX 53249:LDX #134:STX 857 852 LDX 842:INX:STX 842 854 CPX #8:BNE L864 856 LDX #0:STX 842:LDA 253:CLC:ADC #255:STA 253:LDA 254:ADC #0:STA 254 858 LDX 839:INX:STX 839 860 CPX #21:BNE L864 862 PLA:PLA:JMP DIE 864 L864 RTS 900 LEFT LDA 53248:SEC:SBC #1:STA 53248:LDA 53264:SBC #0:STA 53264 902 LDX #131:STX 857:LDX 843:DEX:STX 843 904 CPX #255:BNE L914 906 LDX #7:STX 843:LDA 253:SEC:SBC #1:STA 253:LDA 254:SBC #0:STA 254 908 LDX 838:DEX:STX 838 914 L914 RTS 950 RIGHT LDA 53248:CLC:ADC #1:STA 53248:LDA 53264:ADC #0:STA 53264 952 LDX #128:STX 857:LDX 843:INX:STX 843 954 CPX #8:BNE L964 956 LDX #0:STX 843:LDA 253:CLC:ADC #1:STA 253:LDA 254:ADC #0:STA 254 958 LDX 838:INX:STX 838 964 L964 RTS 1000 MKEY LDX 835:CPX #99:BEQ MKDONE 1002 INX:STX 835:LDA #32:STA (2),Y:LDA #0:JSR 17664 1004 MKDONE JSR PRMKEY:RTS 1020 LKEY LDX 834:CPX #99:BEQ LKDONE 1022 INX:STX 834:LDA #32:STA (2),Y:LDA #0:JSR 17664 1024 LKDONE JSR PRLKEY:RTS 1040 DKEY LDX 836:CPX #99:BEQ DKDONE 1042 INX:STX 836:LDA #32:STA (2),Y:LDA #0:JSR 17664 1044 DKDONE JSR PRDKEY:RTS 1060 SKEY LDX 837:CPX #99:BEQ SKDONE 1062 INX:STX 837:LDA #32:STA (2),Y:LDA #0:JSR 17664 1064 SKDONE JSR PRSKEY:RTS 1100 PTS10 LDA 828:CLC:ADC #10:STA 828:LDA 829:ADC #0:STA 829:LDA #32:STA (2),Y 1102 LDA #0:JSR 17664:JSR PRSCORE:RTS 1120 PTS100 LDA 828:CLC:ADC #100:STA 828:LDA 829:ADC #0:STA 829 1122 LDA #32:STA (2),Y:LDA #0:JSR 17664:JSR PRSCORE:RTS 1140 ENERGY LDA #50:CLC:ADC 848:STA 848 1142 LDA #32:STA (2),Y:LDA #0:JSR 17664:RTS 1160 DINAMITE LDX 847:CPX #99:BEQ LDIN:LDA #32:STA (2),Y:LDA #0:JSR 17664 1162 LDX 847:INX:STX 847:JSR PRDINAMITE 1164 LDIN RTS 1180 COIN LDX 831:CPX #0:BEQ CODONE 1182 DEX:STX 831:JSR PTS10:JSR PRCOINS 1184 CODONE LDA #32:LDY #0:STA (2),Y:LDA #0:JSR 17664:RTS 1200 COINS10 LDY #10 1202 L1202 LDX 831:CPX #0:BEQ C10DONE 1204 DEX:STX 831 1206 DEY:CPY #0:BNE L1202 1208 C10DONE LDA #32:LDY #0:STA (2),Y:JSR 17664:JSR PRCOINS:JSR PTS100:RTS 1220 BRIDGE LDX 2:LDY 3:STX TEMP:STY TEMP+1 1222 LDA #1:JSR 18272:LDA #2:LDX TEMP:LDY TEMP+1:JSR 18272 1224 LDX TEMP:LDY TEMP+1:STX 2:STY 3 1226 RTS 1240 START LDA 838:STA 849:LDA 839:STA 850:LDA 253:STA 851:LDA 254:STA 852 1242 LDA 842:STA 853:LDA 843:STA 854 1244 RTS 1260 OPENL LDX 834:DEX:CPX #255:BEQ OLDONE:STX 834 1262 JSR ERASE:JSR PRLKEY 1264 OLDONE RTS 1280 OPENM LDX 835:DEX:CPX #255:BEQ OMDONE:STX 835 1282 JSR ERASE:JSR PRMKEY 1284 OMDONE RTS 1300 OPEND LDX 836:DEX:CPX #255:BEQ ODDONE:STX 836 1302 JSR ERASE:JSR PRDKEY 1304 ODDONE RTS 1320 OPENS LDX 837:DEX:CPX #255:BEQ OSDONE:STX 837 1322 JSR ERASE:JSR PRSKEY 1324 OSDONE RTS 1340 ERASE LDA 2:STA 4:LDA 3:STA 5 1342 LDY #0:LDA (4),Y:STA TEMP 1344 L1344 LDA (4),Y:CMP TEMP:BNE ERUP:LDA #32:STA (4),Y 1346 LDA 4:CLC:ADC #255:STA 4:LDA 5:ADC #0:STA 5 1348 JMP L1344 1350 ERUP LDA 2:SEC:SBC #255:STA 4:LDA 3:SBC #0:STA 5 1352 L1352 LDA (4),Y:CMP TEMP:BNE ERDONE:LDA #32:STA (4),Y 1354 LDA 4:SEC:SBC #255:STA 4:LDA 5:SBC #0:STA 5 1356 JMP L1352 1360 ERDONE LDA #0:JSR 17664:JMP DONE 1380 FINDBLOW LDY 842:INY:STY 844:CPY #8:BNE L1386 1382 LDA 253:CLC:ADC #255:STA 2:LDA 254:ADC #0:STA 3:LDA #0:STA 844 1384 LDX 839:INX:STX 845:CPX #21:BEQ FALLDIE:JMP L1388 1386 L1386 LDA 253:STA 2:LDA 254:STA 3:LDA 839:STA 845 1388 L1388 RTS 1390 FALLDIE LDA #1:STA 855:PLA:PLA:JMP DONE 1400 FINDLEFT LDX 843:DEX:STX 844:CPX #255:BNE L1406 1402 LDA 253:SEC:SBC #1:STA 2:LDA 254:SBC #0:STA 3:LDA #7:STA 844 1404 LDX 838:DEX:STX 845:JMP L1408 1406 L1406 LDA 253:STA 2:LDA 254:STA 3:LDA 838:STA 845 1408 L1408 RTS 1420 FINDRIGHT LDX 843:INX:STX 844:CPX #8:BNE L1426 1422 LDA 253:CLC:ADC #1:STA 2:LDA 254:ADC #0:STA 3:LDA #0:STA 844 1424 LDX 838:INX:STX 845:JMP L1428 1426 L1426 LDA 253:STA 2:LDA 254:STA 3:LDA 838:STA 845 1428 L1428 RTS 1440 FALLING LDX 862:INX:STX 862:LDA #134:STA 857:JSR DOWN 1442 LDX 862:CPX #8:BNE FDONE:LDX #0:STX 862:LDX 833:INX:STX 833 1444 FDONE LDX #1:STX 863:JMP DONE 1460 DIE LDA #1:RTS 1462 DONE LDA #0:RTS 1470 PRSCORE LDX #1:LDY #6:CLC:JSR $FFF0 1472 LDX 828:LDA 829:JSR $BDCD:LDA #32:JSR $FFD2 1474 RTS 1480 PRMEN LDX #0:LDY #6:CLC:JSR $FFF0 1482 LDX 856:LDA #0:JSR $BDCD:LDA #32:JSR $FFD2 1484 RTS 1490 PRCOINS LDX #0:LDY #27:CLC:JSR $FFF0 1492 LDX 831:LDA #0:JSR $BDCD:LDA #32:JSR $FFD2 1494 RTS 1500 PRDINAMITE LDX #1:LDY #27:CLC:JSR $FFF0 1502 LDX 847:LDA #0:JSR $BDCD:LDA #32:JSR $FFD2 1504 RTS 1510 PRLKEY LDX #0:LDY #32:CLC:JSR $FFF0 1512 LDX 834:LDA #0:JSR $BDCD:LDA #32:JSR $FFD2 1514 RTS 1520 PRMKEY LDX #1:LDY #32:CLC:JSR $FFF0 1522 LDX 835:LDA #0:JSR $BDCD:LDA #32:JSR $FFD2 1524 RTS 1530 PRDKEY LDX #0:LDY #37:CLC:JSR $FFF0 1532 LDA #32:STA 1061:STA 1062:STA 2085:STA 2086 1534 LDX 836:LDA #0:JSR $BDCD 1536 RTS 1540 PRSKEY LDX #1:LDY #37:CLC:JSR $FFF0 1542 LDA #32:STA 1101:STA 1102:STA 2125:STA 2126 1544 LDX 837:LDA #0:JSR $BDCD 1546 RTS 1560 ELEVUP LDA 840:AND #7:STA 839:JSR UP:JMP CHKBLOW 1570 ELEVDOWN LDA 841:AND #7:STA 839:JSR DOWN:JMP DIRUP 1580 ANIMATE LDX WALK:INX:STX WALK:CPX #3:BNE L1586:LDX #0:STX WALK 1581 LDX 858:INX:STX 858:CPX #3:BNE L1584 1582 LDX #0:STX 858 1584 L1584 LDA 858:CLC:ADC 857:STA 2040:STA 3064 1586 L1586 RTS 9999 .END TX.MOVE