09 .OPT NO LIST›10 ; SAVE #D1:ST2.M65›20 LIST ›021412 ?SETPB STA ?ZPBORA›021414 LDA PORTB Mask out bits›021417 AND #$F3 2 and 3 (LEDs)›021419 ORA ?ZPBORA Force mask bits›021421 STA PORTB high›021424 RTS ›021425 ?21425 LDX #60 Delay loops›021427 BNE ?21431 Go always›021429 ?21429 LDX #150›021431 ?21431 LDY #$FF›021433 ?21433 STY WSYNC›021436 DEY ›021437 BNE ?21433›021439 DEX ›021440 BNE ?21431›021442 RTS ›021443 ?21443 PHA ›021444 LDX ?ZRTIX›021446 LDA $8D›021448 EOR #$FF›021450 AND $3038,X›021453 STA $3038,X›021456 PLA ›021457 AND $8D›021459 ORA $3038,X›021462 STA $3038,X›021465 RTS ›021466 ?DLI.1 PHA ›021467 LDA #12›021469 STA COLPF1›021472 LDA COLOR4›021475 STA COLPF2›021478 LDA #0›021480 STA ATRACT›021482 LDA HELPFG›021485 BEQ ?21501 Go if not Help›021487 LDA #0›021489 STA HELPFG›021492 LDA #$0C Force b4 b0 high›021494 JSR ?SETPB-?DSP Go set Portb›021497 CLI ›021498 JMP ?MAIN-?DSP Back to start›021501 ?21501 LDA $8A If 0 then›021503 BEQ ?21576 dlist jmp set›021505 LDA CONSOL›021508 AND #1 Start pressed?›021510 BEQ ?21516›021512 LDA #$B3›021514 BNE ?21518 Go always›021516 ?21516 LDA #$33›021518 ?21518 STA $301C›021521 LDA CONSOL›021524 AND #2 Select pressed?›021526 BEQ ?21532›021528 LDA #$F3›021530 BNE ?21534 Go always›021532 ?21532 LDA #$73›021534 ?21534 STA $301E›021537 LDA CONSOL›021540 AND #4 Option?›021542 BEQ ?21548›021544 LDA #$AF›021546 BNE ?21550 Go always›021548 ?21548 LDA #$2F›021550 ?21550 STA $3020›021553 LDA CONSOL›021556 AND #$07›021558 CMP #$07›021560 BEQ ?21571›021562 LDA #$64›021564 STA AUDF2›021567 LDA #$A8›021569 BNE ?21573 Go always›021571 ?21571 LDA #0›021573 ?21573 STA AUDC2›021576 ?21576 PLA ›021577 RTI ›021578 ?21578 .BYTE $00,$50,$54,$30›021582 .BYTE $30,$30›021584 ?KEYTST LDX #0›021586 STX $94›021588 LDX #3›021590 JSR ?SETCOL-?DSP›021593 LDX # ?KEYDL-?DSP›021597 LDA #$FF›021599 JSR ?SETDL-?DSP Dlist x=< y=>›021600 ;›021602 ?21602 LDX #2›021604 JSR ?SCRMOV-?DSP›021607 LDX #$07›021609 JSR ?SCRMOV-?DSP›021612 LDA $82›021614 BEQ ?21635›021616 LDX $94›021618 LDA ?21829-?DSP,X›021621 INC $94›021623 LDX $94›021625 CPX #$13›021627 BNE ?21649›021629 JSR ?21429-?DSP delay›021632 JMP ?MEMTST-?DSP›021635 ?21635 LDA CH›021638 CMP #$FF›021640 BEQ ?21635›021642 CMP #$C0›021644 BCS ?21635›021646 LDA CH›021649 ?21649 LDX #$FF›021651 STX CH›021654 PHA ›021655 AND #$80›021657 BEQ ?21664›021659 LDX #$08›021661 JSR ?SCRMOV-?DSP›021664 ?21664 PLA ›021665 PHA ›021666 AND #$40›021668 BEQ ?21680›021670 LDX #$05›021672 JSR ?SCRMOV-?DSP›021675 LDX #4›021677 JSR ?SCRMOV-?DSP›021680 ?21680 PLA ›021681 AND #$3F›021683 CMP #$21›021685 BEQ ?21791›021687 CMP #$2C›021689 BEQ ?21807›021691 CMP #$34›021693 BEQ ?21799›021695 CMP #$0C›021697 BEQ ?21817›021699 TAX ›021700 LDA ?22428-?DSP,X›021703 PHA ›021704 LDA # <$3021›021706 STA $95›021708 LDA # >$3021›021710 STA $95+1›021712 PLA ›021713 LDY #$FF›021715 ?21715 INY ›021716 CMP ($95),Y›021718 BNE ?21715›021720 LDA ($95),Y›021722 EOR #$80›021724 STA ($95),Y›021726 ?21726 LDA $82›021728 BEQ ?21749›021730 JSR ?21765-?DSP›021733 LDX #$14›021735 JSR ?21431-?DSP›021738 JSR ?NOSOUND-?DSP›021741 LDX #$0A›021743 JSR ?21431-?DSP›021746 JMP ?21602-?DSP›021749 ?21749 JSR ?21765-?DSP›021752 ?21752 LDA SKSTAT›021755 AND #4›021757 BEQ ?21752›021759 JSR ?NOSOUND-?DSP›021762 JMP ?21602-?DSP›021765 ?21765 LDA #100›021767 STA AUDF1›021770 LDA #168›021772 STA AUDC1›021775 RTS ›021776 ?NOSOUND LDA #0›021778 STA AUDC1›021781 STA AUDC2›021784 STA AUDC3›021787 STA AUDC4›021790 RTS ›021791 ?21791 LDX #3›021793 JSR ?SCRMOV-?DSP›021796 JMP ?21726-?DSP›021799 ?21799 LDX #6›021801 JSR ?SCRMOV-?DSP›021804 JMP ?21726-?DSP›021807 ?21807 LDA #$7F›021809 STA $3052›021812 STA $3053›021815 BNE ?21726›021817 ?21817 LDA #$32›021819 STA $306D›021822 LDA #$34›021824 STA $306E›021827 BNE ?21726›021829 ?21829 .BYTE $52,$08,$0A,$2B›021833 .BYTE $28,$0D,$3D,$39›021837 .BYTE $2D,$1F,$30,$35›021841 .BYTE $1A,$7F,$2D,$3F›021845 .BYTE $28,$0D›021847 ?AVTEST LDX #2 A-V test?›021849 JSR ?SETCOL-?DSP›021852 ?21852 LDA #0›021854 STA $97›021856 ?21856 LDA #0›021858 STA $98›021860 LDX # ?AVDL-?DSP›021864 LDA #0›021866 JSR ?SETDL-?DSP Dlist x=< y=>›021869 LDX #9›021871 JSR ?SCRMOV-?DSP›021874 LDA $97›021876 LSR A›021877 CLC ›021878 ADC #$11›021880 STA $300B›021883 LDX #15›021885 ?21885 LDA #$FF›021887 STA $3150,X›021890 STA $31B0,X›021893 STA $3210,X›021896 STA $3270,X›021899 STA $32D0,X›021902 DEX ›021903 BPL ?21885›021905 LDA #0›021907 STA $99›021909 LDA #$0C›021911 STA $9A›021913 ?21913 LDX $99›021915 LDA ?22294-?DSP+1,X›021918 TAY ›021919 LDA ?22294-?DSP,X›021922 TAX ›021923 LDA $9A›021925 JSR ?22149-?DSP›021928 CLC ›021929 LDA $9A›021931 ADC #$06›021933 STA $9A›021935 INC $99›021937 INC $99›021939 LDA $99›021941 CMP #$14›021943 BNE ?21913›021945 JSR ?21425-?DSP Delay›021948 LDX #$54›021950 LDY #$31›021952 LDA #0›021954 JSR ?22149-?DSP›021957 LDA #$51›021959 JSR ?22124-?DSP›021962 LDX #$86›021964 LDY #$31›021966 LDA #0›021968 JSR ?22149-?DSP›021971 LDA #$5B›021973 JSR ?22124-?DSP›021976 LDX #$F8›021978 LDY #$30›021980 LDA #$48›021982 JSR ?22149-?DSP›021985 LDX #$C7›021987 LDY #$30›021989 LDA #$54›021991 JSR ?22149-?DSP›021994 LDX #$48›021996 LDY #$32›021998 LDA #$4E›022000 JSR ?22149-?DSP›022003 LDA #$44›022005 JSR ?22124-?DSP›022008 LDX #$CA›022010 LDY #$30›022012 LDA #$48›022014 JSR ?22149-?DSP›022017 LDX #$1A›022019 LDY #$32›022021 LDA #$4E›022023 JSR ?22149-?DSP›022026 LDX #$CA›022028 LDY #$31›022030 LDA #$06›022032 JSR ?22149-?DSP›022035 LDA #$3C›022037 JSR ?22124-?DSP›022040 LDX #$3C›022042 LDY #$30›022044 LDA #$48›022046 JSR ?22149-?DSP›022049 LDX #$8C›022051 LDY #$31›022053 LDA #$4E›022055 JSR ?22149-?DSP›022058 LDX #$3C›022060 LDY #$31›022062 LDA #$06›022064 JSR ?22149-?DSP›022067 LDA #$2D›022069 JSR ?22124-?DSP›022072 LDX #$9E›022074 LDY #$30›022076 LDA #$48›022078 JSR ?22149-?DSP›022081 LDX #$EE›022083 LDY #$31›022085 LDA #$4E›022087 JSR ?22149-?DSP›022090 LDA #$35›022092 JSR ?22124-?DSP›022095 JSR ?21429-?DSP delay›022098 INC $97›022100 INC $97›022102 LDA $97›022104 CMP #$08›022106 BNE ?22115›022108 LDA $82›022110 BNE ?22118›022112 JMP ?21852-?DSP›022115 ?22115 JMP ?21856-?DSP›022118 ?22118 JSR ?21429-?DSP delay›022121 JMP ?KEYTST-?DSP›022124 ?22124 LDY $97›022126 STA AUDF1,Y›022129 LDA #168›022131 STA AUDC1,Y›022134 LDX $98›022136 LDA ?22198-?DSP,X›022139 TAX ›022140 JSR ?21431-?DSP›022143 INC $98›022145 JSR ?NOSOUND-?DSP›022148 RTS ›022149 ?22149 STX $9B›022151 STY $9B+1›022153 TAX ›022154 LDY #0›022156 LDA #$10›022158 STA $9D›022160 LDA #6›022162 STA $A3›022164 ?22164 LDA ?22204-?DSP,X›022167 ORA ($9B),Y›022169 STA ($9B),Y›022171 JSR ?ADD16-?DSP›022174 DEC $9D›022176 BNE ?22164›022178 INC $9D›022180 INX ›022181 DEC $A3›022183 BNE ?22164›022185 RTS ›022186 ?ADD16 CLC ›022187 LDA $9B›022189 ADC #16›022191 STA $9B›022193 BCC ?22197›022195 INC $9B+1›022197 ?22197 RTS ›022198 ?22198 .BYTE 32,32,32›022201 .BYTE 16,16,32›022204 ?22204 .BYTE 1,31,63,127›022208 .BYTE 62,28,0,65,66›022213 .BYTE 76,112,64,0›022217 .BYTE 1,2,4,8,16,0›022223 .BYTE 67,68,72,72,72,0›022229 .BYTE 68,34,16,8,7,0›022235 .BYTE 4,8,5,2,0,0›022241 .BYTE 48,72,136›022244 .BYTE 132,132,0,136›022248 .BYTE 136,144,160›022251 .BYTE 192,0,240,136›022255 .BYTE 132,130,130,0›022259 .BYTE 130,130,132,136,240›022264 .SBYTE " "›022269 .SBYTE +$80," "›022276 .SBYTE 32›022277 .BYTE 28›022278 .BYTE 62,127,126›022281 .BYTE 124,64›022283 .SBYTE " "›022289 .BYTE 4,4,6,5,6›022294 ?22294 .WORD $30C1›022296 .WORD $3121›022298 .WORD $3181›022300 .WORD $31F1›022302 .WORD $3002›022304 .WORD $3062›022306 .WORD $3122›022308 .WORD $3182›022310 .WORD $30C2›022312 .WORD $31C2›022314 ?FILRAM PHA Fill ram›022315 LDA ?FILTAB-?DSP,X with byte›022318 STA $9E in a at›022320 LDA ?FILTAB-?DSP+1,X addresses›022323 STA $9E+1 determined›022325 LDA ?FILTAB-?DSP+2,X by x›022328 STA $A0›022330 LDA ?FILTAB-?DSP+3,X›022333 STA $A0+1›022335 LDY #0›022337 ?22337 PLA ›022338 STA ($9E),Y›022340 INC $9E›022342 BNE ?22346›022344 INC $9E+1›022346 ?22346 PHA ›022347 LDA $9E›022349 CMP $A0›022351 BNE ?22337›022353 LDA $9E+1›022355 CMP $A0+1›022357 BNE ?22337›022359 PLA Return orig chr›022360 RTS ›022361 ?SCRMOV LDA STSCIX,X Get index›022364 TAY to screen data›022365 LDA ?SCRLEN-?DSP,X Get length›022368 STA $9E to counter›022370 LDA ?SCROFF-?DSP,X Get offset›022373 TAX into screen›022374 ?22374 LDA STSCDT,Y Copy message›022377 STA $3000,X to screen›022380 INY at offset in›022381 INX x rom offset›022382 DEC $9E in y›022384 BNE ?22374›022386 RTS ›022387 ?SETCOL LDA ?COLTB-?DSP,X Set›022390 STA COLOR0 colors›022393 LDA ?COLTB-?DSP+4,X Return›022396 STA COLOR1 x=x y=y›022399 LDA ?COLTB-?DSP+8,X a=color4›022402 STA COLOR2›022405 LDA ?COLTB-?DSP+12,X›022408 STA COLOR4›022411 RTS ›022412 ?COLTB .BYTE 44,12,42,24 col0›022416 .BYTE 15,50,12,14 col1›022420 .BYTE 210,214,0,180 col2›022424 .BYTE 210,160,48,180 col4›022425 ; main,mem,av,key›022428 ?22428 .BYTE 44,42,27›022431 .BYTE 145,146,43,11›022435 .BYTE 10,47,0,48,53›022440 .BYTE 178,41,13›022443 .BYTE 29,54,168,35›022447 .BYTE 147,148,34,56›022451 .BYTE 58,20,0,19›022455 .BYTE 22,91,21,18›022459 .BYTE 17,12,0,14,46,0›022465 .BYTE 45,15,161,50,0›022470 .BYTE 37,57,255,52,55›022475 .BYTE 49,25,0,16,23›022480 .BYTE 162,24,28,30,38,40›022486 .BYTE 36,0,163,39,51,33›022492 ?FILTAB .WORD $3000,$3EFF x=0›022496 .WORD $3020,$3024 x=4›022500 .WORD $3024,$3028 x=8›022504 .WORD $3000,$3020 x=12›022508 ?SCRLEN .BYTE 19,3,19›022511 .BYTE 19,4,4,3,168,3,7›022518 ?SCROFF .BYTE 0,40,0,183›022522 .BYTE 146,171,76,34,114,4›