Home » Personal collection » Acorn tapes » Commercial_Releases » box04_tape12b_acorn_eu_ten_of_the_best_3.wav » MRFREEZE
MRFREEZE
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Personal collection » Acorn tapes » Commercial_Releases » box04_tape12b_acorn_eu_ten_of_the_best_3.wav |
Filename: | MRFREEZE |
Read OK: | ✔ |
File size: | 29C8 bytes |
Load address: | FFFF1900 |
Exec address: | FFFF8023 |
Duplicates
There are 4 duplicate copies of this file in the archive:
- AEW website » alternative » alternative_tapes_Triple-Decker-08_TD8-MrFreeze_E.uef » MR-FREEZE
- AEW website » database » database_tapes_Electron-User-2-06_EU2-6_E.uef » MRFREEZE
- AEW website » database » database_tapes_Ten-Of-The-Best-3_10OfTheBestVol3_E.uef » MRFREEZE
- Personal collection » Acorn tapes » Commercial_Releases » box04_tape12a_acorn_eu_ten_of_the_best_3.wav » MRFREEZE
- Personal collection » Acorn tapes » Commercial_Releases » box04_tape12b_acorn_eu_ten_of_the_best_3.wav » MRFREEZE
File contents
10REM ********************* 20REM * Mr Freeze * 30REM * By Mr Waddilove * 40REM * (C) Electron User * 50REM ********************* 60REM * DO NOT RENUMBER * 70REM *SAVE BEFORE RUNNING* 80REM ********************* 90MODE 6:PROCassemble:END 100ON ERROR OSCLI "FX12,0":VDU22,6:REPORT:PRINT" at line ";ERL:END 110HIMEM=&2C00 120PROCinstructions 130PROCinitialise 140REPEAT 150FOR lives=5 TO 1 STEP -1 160REPEAT PROCgame 170UNTIL 2*X%<>?xpos% OR Y%<>fire%(I%)DIV10 180NEXT 190PROChi_score 200UNTIL K%<>ASC"y" 210*FX12,0 220MODE 6 230END 240 250DEF PROCinstructions 260VDU 22,1,23,1,0;0;0;0; 270name$="Mr Freeze":PRINT TAB(15,1); 280FOR I%=1 TO 10:?&70=ASC(MID$(name$,I%,1)):A%=10:X%=&70:Y%=0:CALL &FFF1:FOR J%=0 TO 1:VDU 23,224:FOR K%=2 TO 9:VDU ?(&70+J%*4+K%DIV2):NEXT:VDU 224,10,8:NEXT:VDU11,11,9:NEXT 290COLOUR 2:PRINT'''"Mr Freeze's frozen food factory has been"'"sabotaged by one of his rivals. Electric"'"fires have been placed amongst the ice"''"blocks to melt them." 300COLOUR 1:PRINT''"The fires switch on one at a time. You"''"must switch each one off before the"''"timer reaches zero." 310COLOUR 2:PRINT''"You can jump from block to block and"''"slide left or right." 320COLOUR 3:PRINT''" S=up X=down <=left >=right"''" A=slide left";SPC(13);"?=slide right" 330COLOUR 129:COLOUR 2:PRINT TAB(10,31);" Press space to start ";CHR$(7);:*FX21,0 340REPEAT UNTIL GET=32 350ENDPROC 360 370DEF PROChi_score 380COLOUR 128:COLOUR 6:PRINT TAB(6,2);score;SPC(3);TAB(19,2);lives 390COLOUR 5:*FX11,0 400*FX21,0 410IF score>hi hi=score:PRINT TAB(0,10);"Best score so far !":VDU 23,1,1;0;0;0;:PRINT''"What is your name ?"''''STRING$(15,".")'CHR$(11);:INPUT ""name$:VDU 23,1,0;0;0;0;:name$="By "+LEFT$(name$,15) 420COLOUR 2:VDU 28,0,31,19,5,12,26 430PRINT TAB(3,10);"High score=";hi;TAB((20-LEN name$)DIV2,15);name$ 440COLOUR 129:COLOUR 3:PRINT TAB(2,25);" Another Game ? ":*FX21,0 450REPEAT K%=GET OR 32:UNTIL K%=ASC"y" OR K%=ASC"n" 460score=0:screen=1 470*FX11,1 480ENDPROC 490 500DEF PROCinitialise 510*FX9,5 520*FX10,5 530*FX11,1 540*FX12,10 550*FX16,0 560ENVELOPE 1,1,1,-1,0,4,4,0,126,0,0,-126,126,126 570DIM fire%(25) 580hi=100:score=0:screen=1 590x%=&76:y%=&77:dead%=&7A:counter%=&7B:xpos%=&7C:ypos%=&7D 600VDU 22,2,5 610GCOL 0,4:MOVE 330,1023:PRINT name$:GCOL 0,3:MOVE 338,1019:PRINT name$ 620VDU 4,23,1,0;0;0;0; 630FOR I%=8 TO 15:VDU 19,I%,1;0;:NEXT 640COLOUR 6:PRINT TAB(0,2);"Score:";TAB(13,2);"Lives:" 650ENDPROC 660 670DEF PROCgame 680*FX202,0 690FOR I%=0 TO 200:I%?&C00=1:NEXT 700fire%(0)=RND(128)+10:?(&C00+fire%(0))=2 710FOR I%=1 TO 9+screen 720REPEAT fire%(I%)=RND(129):ok=TRUE 730FOR J%=0 TO I%-1 740IF fire%(I%)=fire%(J%) OR fire%(I%)=5 ok=FALSE 750NEXT 760UNTIL ok 770?(&C00+fire%(I%))=2 780NEXT 790CALL HIMEM 800?&72=&80:?&73=&B:X%=5:Y%=13:CALL M% 810X%=5:Y%=0:?x%=5:?y%=0:?&C05=0 820?&7E=5:?&7F=13 830I%=-1 840REPEAT I%=I%+1 850COLOUR 128:COLOUR 6:PRINT TAB(6,2);score;SPC(3);TAB(19,2);lives 860?ypos%=2*(fire%(I%)DIV10)+5:J%=-1:REPEAT J%=J%+1:UNTIL ?(&C00+10*(fire%(I%)DIV10)+J%)=2:?xpos%=J%*2:?counter%=&99:K%=0 870COLOUR 130:COLOUR 1:*FX21,0 880REPEAT TIME=0 890Y%=(Y%-(K%=88)+(K%=83))MOD14:IF Y%=-1 Y%=13 900X%=(X%-(K%=46)+(K%=44))MOD10:IF X%=-1 X%=9 910CALL C%:CALL N%:REPEAT UNTIL TIME>10 920UNTIL ?dead%=2 OR ?counter%=0 930IF 2*X%=?xpos% AND Y%=fire%(I%)DIV10 SOUND 0,-15,4,5:?&72=&00:?&73=&0A:CALL L% ELSE VDU 19,3,11;0;19,4,12;0;:SOUND 1,1,4,40:PROCpause(200):VDU 19,3,3;0;19,4,4;0; 940score=score+10*((?counter% AND &F0)/16)+(?counter% AND &F) 950UNTIL I%=screen+9 OR (2*X%<>?xpos% OR Y%<>fire%(I%)DIV10) 960FOR J%=200 TO 8 STEP -8:SOUND 1,1,J%,3:NEXT:VDU 24,0;0;1272;14*64;16,26 970IF I%=screen+9 screen=screen+1 980ENDPROC 990 1000DEF PROCpause(delay) 1010TIME=0:REPEAT UNTIL TIME>delay 1020ENDPROC 1030 1040REM **ice block** 1050DATA 10101000,10101010,34303000,3D3E3D3D,3C303000,3F3F3C3F,3C303000,3C3F3E3F,3D303000,3F3E3D3E,3F303000,3F3F3E3D,3C303000,3D3D3F3F,0,28282828 1060DATA 10101010,1010,3E3F3D3D,3E3E3D,3D3D3F3E,3C3F3E,3D3D3F3F,3E3D3E,3F3C3F3F,3C3E3F,3F3F3D3D,3C3F3C,3E3E3F3D,3C3F3F,282A2828,2A2828 1070REM **electric fire** 1080DATA 0,4040000,4000000,9090C04,C0000,1030C0C,C0000,3010C0C,C0000,1030C0C,4080000,3010C0C,0,4060C08,0,8080000 1090DATA 4040404,404,9090C0C,C0C,1030C0C,C0C,3010C0C,C0C,1030C0C,C0C,3010C0C,C0C,4060C0C,C0C,8080808,808 1100REM **man** 1110DATA 0,0,0,0,5111100,30000000,F0A2733,3000050A,F0A0F33,300A0F00,F1B3322,3000000A,0,20000000,0,0 1120DATA 0,0,5101000,0,2030,0,30303030,30101010,30383038,10101010,20202030,20000000,5103020,0,0,0 1130REM **blank** 1140DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 1150DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 1160REM **ball** 1170DATA 0,0,0,0,0,C0C0C040,C0000000,C0C0C0C0,C0000000,C0C0C0C0,0,C0C0C080,0,0,0,0 1180DATA 0,0,0,0,40C0,400000,C0C0C0,C0C0C000,C0C0C0,C0C0C000,80C0,800000,0,0,0,0 1190 1200DEF PROCassemble 1210FOR I%=&900 TO &AFC STEP 4:READ a$:!I%=EVAL("&"+a$):NEXT 1220FOR I%=&B80 TO &BFC STEP 4:READ a$:!I%=EVAL("&"+a$):NEXT 1230px=&7E:py=&7F: screen=&70:data=&72:temp=&74:x%=&76:y%=&77:X%=&460:Y%=&464:dead=&7A 1240counter=&7B:xpos=&7C:ypos=&7D:K%=&42C:osbyte=!&20A AND &FFFF:oswrch=!&20E AND &FFFF:osword=!&20C AND &FFFF:sound=&80:!sound=&FFF60001:sound!4=&00010000 1250sounddata=&88:!sounddata=&9CA4A8B0:sounddata!4=&80889094 1260FOR pass=4 TO 6 STEP 2 1270P%=&2C00:O%=&5000 1280[ OPT pass 1290\set up screen 1300LDA #&8B:STA screen:LDA #&0C:STA screen+1 \screen copy 1310LDA #&9:STA data+1 \address of data for char 1320LDY #13:STY y% 1330.loop1 1340LDX #9:STX x% 1350.loop2 1360LDY #0:LDA (screen),Y \ice or fire ? 1370CMP #1:BEQ here 1380LDY #&80 1390.here 1400STY data 1410LDX x%:LDY y%:JSR print_char 1420DEC screen 1430DEC x%:BPL loop2 1440DEC y%:BPL loop1 1450LDA #&00:STA data:LDA #&0A:STA data+1:LDX #5:LDY #0:JSR print_char \man 1460RTS 1470 1480.print_char \data=character data, X/Y=coordinates 1490LDA #&C0:STA temp:LDA #&34:STA temp+1 1500CLC 1510.loop1 1520LDA temp:ADC #&40:STA temp:LDA temp+1:ADC #&0:STA temp+1 1530DEX:BPL loop1 1540.loop1 1550LDA temp+1:ADC #&05:STA temp+1 1560DEY:BPL loop1 1570LDA data+1:CMP #&B:BNE pc:RTS 1580.pc 1590LDY #63 1600.loop1 1610LDA (data),Y:STA (temp),Y 1620DEY:BPL loop1 1630LDA temp:ADC #&40:STA temp:LDA temp+1:ADC #&2:STA temp+1 1640LDY #127 1650.loop1 1660LDA (data),Y:STA (temp),Y 1670DEY:CPY #64:BPL loop1 1680RTS 1690 1700.move_man 1710LDA #31:JSR oswrch:LDA xpos:JSR oswrch:LDA ypos:JSR oswrch \PRINT TAB() 1720SED:SEC:LDA counter:SBC #1:STA counter:CLD \counter=counter-1 1730AND #&F0:LSR A:LSR A:LSR A:LSR A:CLC:ADC #48:JSR oswrch \1st digit 1740LDA counter:AND #&0F:CLC:ADC #48:JSR oswrch \2nd digit 1750LDA #129:LDX #0:LDY #0:JSR osbyte \INKEY(0) 1760INY:BNE key_pressed:STY K%:JMP not_escape 1770.key_pressed DEY:BEQ not_escape 1780LDA #126:JSR osbyte:RTS \escape pressed 1790.not_escape STX K% \store key 1800LDA #21:LDX #0:LDY #0:JSR osbyte \*FX21,0 1810JSR play_sound:LDA K% \get key pressed 1820CMP #ASC"A":BNE mm1:JMP slide_left 1830.mm1 CMP #ASC"/":BNE mm2:JMP slide_right 1840.mm2 1850LDA Y%:ASL A:ASL A:ASL A:ADC Y%:ADC Y%:ADC X% \get screen address 1860TAY:LDA &C00,Y:STA dead:BNE ok \see if space 1870LDA x%:STA X%:LDA y%:STA Y%:RTS \restore old coordinates 1880.ok LDA #0:STA &C00,Y \set position to zero 1890LDA #&80:STA data:LDA #&0A:STA data+1 \blank square 1900LDA #19:JSR osbyte \*FX19 1910LDX x%:LDY y%:JSR print_char \erase old man 1920LDA #&0:STA data:LDX X%:STX x%:LDY Y%:STY y% \store present coordinates 1930JSR print_char \print new man 1940LDA px:CMP x%:BNE mm5 1950LDA py:CMP y%:BNE mm5 1960LDA #2:STA dead 1970.mm5 RTS 1980 1990.slide_left 2000LDA y%:ASL A:ASL A:ASL A:ADC y%:ADC y% \get screen address 2010TAY:LDA &C00,Y:PHA:PHA \save left character 2020LDX #9 2030.loop1 2040LDA &C01,Y:STA &C00,Y 2050INY:DEX:BNE loop1 2060PLA:STA &C00,Y:STY screen 2070LDX x%:DEX:BPL sl 2080LDX #9 2090.sl 2100STX x%:STX X% 2110LDA #&80:STA data:LDA #&0B:STA data+1:LDX px:LDY py:JSR pen_print \print penguin 2120LDA #&00:STA temp:LDA #&35:STA temp+1 2130LDY y%:CLC 2140.loop1 2150LDA temp+1:ADC #&05:STA temp+1 2160DEY:BPL loop1 2170LDA temp:ADC #&40:STA data:LDA temp+1:ADC #0:STA data+1 2180LDX #19 \scroll left 2190.loop1 2200LDY #63 2210.loop2 2220LDA (data),Y:STA (temp),Y 2230DEY:BPL loop2 2240CLC 2250LDA temp:ADC #&40:STA temp:LDA temp+1:ADC #0:STA temp+1 2260LDA data:ADC #&40:STA data:LDA data+1:ADC #0:STA data+1 2270DEX:BNE loop1 2280PLA:BNE sla 2290LDX #&80:LDY #&A:JMP sld 2300.sla TAX:DEX:BNE slb 2310LDX #&0:LDY #&9:JMP sld 2320.slb LDX #&80:LDY #&9 2330.sld STX data:STY data+1:LDX #9:LDY y%:JSR print_char 2340LDA #&00:STA data:LDA #&0A:STA data+1:LDX x%:LDY y%:JSR print_char 2350LDA y%:ASL A:ADC #5:CMP ypos:BNE slend 2360DEC xpos:DEC xpos:BPL slend 2370LDA #18:STA xpos 2380.slend 2390LDA py:CMP y%:BNE sl5 2400DEC px:BPL sl5 2410LDA #9:STA px 2420.sl5 2430LDA #&80:STA data:LDA #&0B:STA data+1:LDX px:LDY py:JSR pen_print \print penguin 2440RTS 2450 2460.slide_right 2470LDA y%:ASL A:ASL A:ASL A:ADC y%:ADC y%:ADC #9 \get screen address 2480TAY:LDA &C00,Y:PHA:PHA \save right character 2490LDX #9 2500.loop1 2510LDA &BFF,Y:STA &C00,Y 2520DEY:DEX:BNE loop1 2530PLA:STA &C00,Y:STY screen 2540LDX x%:INX:CPX #10:BNE sr 2550LDX #0 2560.sr 2570STX x%:STX X% 2580LDA #&80:STA data:LDA #&0B:STA data+1:LDX px:LDY py:JSR pen_print \print penguin 2590LDA #&C0:STA temp:LDA #&39:STA temp+1 2600LDY y%:CLC 2610.loop1 2620LDA temp+1:ADC #&05:STA temp+1 2630DEY:BPL loop1 2640SEC:LDA temp:SBC #&40:STA data:LDA temp+1:SBC #0:STA data+1 2650LDX #19 \scroll right 2660.loop1 2670LDY #63 2680.loop2 2690LDA (data),Y:STA (temp),Y 2700DEY:BPL loop2 2710SEC 2720LDA temp:SBC #&40:STA temp:LDA temp+1:SBC #0:STA temp+1 2730LDA data:SBC #&40:STA data:LDA data+1:SBC #0:STA data+1 2740DEX:BNE loop1 2750PLA:BNE sra 2760LDX #&80:LDY #&A:JMP srd 2770.sra TAX:DEX:BNE srb 2780LDX #&0:LDY #&9:JMP srd 2790.srb LDX #&80:LDY #&9 2800.srd STX data:STY data+1:LDX #0:LDY y%:JSR print_char 2810LDA #&00:STA data:LDA #&0A:STA data+1:LDX x%:LDY y%:JSR print_char 2820LDA y%:ASL A:ADC #5:CMP ypos:BNE srend 2830INC xpos:INC xpos:LDA xpos:CMP #20:BNE srend 2840LDA #0:STA xpos 2850.srend 2860LDA py:CMP y%:BNE sr5 2870INC px:LDA px:CMP #10:BNE sr5 2880LDA #0:STA px 2890.sr5 2900LDA #&80:STA data:LDA #&0B:STA data+1:LDX px:LDY py:JSR pen_print \print penguin 2910RTS 2920 2930.play_sound 2940LDA K%:BNE note:RTS 2950.note 2960LDA counter:ASL A:ASL A:ADC counter:AND #7 \RND(7)-1 2970TAY:LDA sounddata,Y:STA sound+4 2980.beep 2990LDX #sound MOD256:LDY #sound DIV256:LDA #7:JMP osword 3000 3010.penguin 3020LDA counter:AND #1:BEQ pg8:RTS 3030.pg8 3040LDA #0:STA sound+4:JSR beep 3050LDA px:PHA:LDA py:PHA 3060LDA counter:ASL A:ASL A:ADC counter:AND #3 \RND(7)-1 3070TAX:BNE pg1 3080INC px:JMP pengi 3090.pg1 DEX:BNE pg2 3100DEC px:JMP pengi 3110.pg2 DEX:BNE pg3 3120INC py:JMP pengi 3130.pg3 DEC py 3140.pengi 3150LDA px:BPL pg4:LDA #9:STA px 3160.pg4 CMP #10:BNE pg5:LDA #0:STA px 3170.pg5 LDA py:BPL pg6:LDA #13:STA py 3180.pg6 CMP #14:BNE pg7:LDA #0:STA py 3190.pg7 LDA #&80:STA data:LDA #&0B:STA data+1 3200PLA:TAY:PLA:TAX:JSR pen_print 3210LDX px:LDY py:JSR pen_print 3220LDA px:CMP x%:BNE pgend 3230LDA py:CMP y%:BNE pgend 3240LDA #2:STA dead 3250.pgend RTS 3260 3270.pen_print \X,Y=coordinates 3280TXA:PHA:TYA:PHA:JSR print_char:PLA:TAY:PLA:TAX 3290LDY #63:.loop1 LDA (data),Y:EOR (temp),Y:STA (temp),Y:DEY:BPL loop1 3300LDA temp:ADC #&40:STA temp:LDA temp+1:ADC #&2:STA temp+1 3310LDY #127:.loop1 LDA (data),Y:EOR (temp),Y:STA (temp),Y:DEY:CPY #64:BPL loop1 3320RTS 3330] 3340NEXT 3350C%=move_man:L%=print_char:M%=pen_print:N%=penguin 3360*KEY0 "|GDEL.60,90|M|GDEL.1030,3380|M|GF.I%=0 TO P%:I%?&2C00=I%?&5000:N.|MRUN|M" 3370PRINT''"Thinking..."'' 3380*FX138,0,128 3390ENDPROC
� ********************* � * Mr Freeze * � * By Mr Waddilove * (� * (C) Electron User * 2� ********************* <� * DO NOT RENUMBER * F� *SAVE BEFORE RUNNING* P� ********************* Z� 6:�assemble:� d+� � � "FX12,0":�22,6:�:�" at line ";�:� n�=&2C00 x�instructions ��initialise �� �� lives=5 � 1 � -1 �� �game �%� 2*X%<>?xpos% � Y%<>fire%(I%)�10 �� � �hi_score �� K%<>�"y" �*FX12,0 �� 6 �� � �� �instructions � 22,1,23,1,0;0;0;0; name$="Mr Freeze":� �15,1); �� I%=1 � 10:?&70=�(�name$,I%,1)):A%=10:X%=&70:Y%=0:� &FFF1:� J%=0 � 1:� 23,224:� K%=2 � 9:� ?(&70+J%*4+K%�2):�:� 224,10,8:�:�11,11,9:� "�� 2:�'''"Mr Freeze's frozen food factory has been"'"sabotaged by one of his rivals. Electric"'"fires have been placed amongst the ice"''"blocks to melt them." ,q� 1:�''"The fires switch on one at a time. You"''"must switch each one off before the"''"timer reaches zero." 6I� 2:�''"You can jump from block to block and"''"slide left or right." @[� 3:�''" S=up X=down <=left >=right"''" A=slide left";�(13);"?=slide right" J>� 129:� 2:� �10,31);" Press space to start ";�(7);:*FX21,0 T� � �=32 ^� h r� �hi_score |-� 128:� 6:� �6,2);score;�(3);�19,2);lives �� 5:*FX11,0 �*FX21,0 ��� score>hi hi=score:� �0,10);"Best score so far !":� 23,1,1;0;0;0;:�''"What is your name ?"''''�15,".")'�(11);:� ""name$:� 23,1,0;0;0;0;:name$="By "+�name$,15) �� 2:� 28,0,31,19,5,12,26 �7� �3,10);"High score=";hi;�(20-� name$)�2,15);name$ �2� 129:� 3:� �2,25);" Another Game ? ":*FX21,0 �#� K%=� � 32:� K%=�"y" � K%=�"n" �score=0:screen=1 �*FX11,1 �� � �� �initialise � *FX9,5 *FX10,5 *FX11,1 *FX12,10 &*FX16,0 0+� 1,1,1,-1,0,4,4,0,126,0,0,-126,126,126 :� fire%(25) Dhi=100:score=0:screen=1 N<x%=&76:y%=&77:dead%=&7A:counter%=&7B:xpos%=&7C:ypos%=&7D X� 22,2,5 b5� 0,4:� 330,1023:� name$:� 0,3:� 338,1019:� name$ l� 4,23,1,0;0;0;0; v� I%=8 � 15:� 19,I%,1;0;:� �(� 6:� �0,2);"Score:";�13,2);"Lives:" �� � �� �game �*FX202,0 �� I%=0 � 200:I%?&C00=1:� �)fire%(0)=�(128)+10:?(&C00+fire%(0))=2 �� I%=1 � 9+screen �� fire%(I%)=�(129):ok=� �� J%=0 � I%-1 �,� fire%(I%)=fire%(J%) � fire%(I%)=5 ok=� �� �� ok ?(&C00+fire%(I%))=2 � � � $?&72=&80:?&73=&B:X%=5:Y%=13:� M% *!X%=5:Y%=0:?x%=5:?y%=0:?&C05=0 4?&7E=5:?&7F=13 > I%=-1 H � I%=I%+1 R-� 128:� 6:� �6,2);score;�(3);�19,2);lives \m?ypos%=2*(fire%(I%)�10)+5:J%=-1:� J%=J%+1:� ?(&C00+10*(fire%(I%)�10)+J%)=2:?xpos%=J%*2:?counter%=&99:K%=0 f� 130:� 1:*FX21,0 p � �=0 z,Y%=(Y%-(K%=88)+(K%=83))�14:� Y%=-1 Y%=13 �+X%=(X%-(K%=46)+(K%=44))�10:� X%=-1 X%=9 �� C%:� N%:� � �>10 �� ?dead%=2 � ?counter%=0 ��� 2*X%=?xpos% � Y%=fire%(I%)�10 � 0,-15,4,5:?&72=&00:?&73=&0A:� L% � � 19,3,11;0;19,4,12;0;:� 1,1,4,40:�pause(200):� 19,3,3;0;19,4,4;0; �:score=score+10*((?counter% � &F0)/16)+(?counter% � &F) �5� I%=screen+9 � (2*X%<>?xpos% � Y%<>fire%(I%)�10) �<� J%=200 � 8 � -8:� 1,1,J%,3:�:� 24,0;0;1272;14*64;16,26 �!� I%=screen+9 screen=screen+1 �� � �� �pause(delay) ��=0:� � �>delay �� � **ice block** �� 10101000,10101010,34303000,3D3E3D3D,3C303000,3F3F3C3F,3C303000,3C3F3E3F,3D303000,3F3E3D3E,3F303000,3F3F3E3D,3C303000,3D3D3F3F,0,28282828 $�� 10101010,1010,3E3F3D3D,3E3E3D,3D3D3F3E,3C3F3E,3D3D3F3F,3E3D3E,3F3C3F3F,3C3E3F,3F3F3D3D,3C3F3C,3E3E3F3D,3C3F3F,282A2828,2A2828 .� **electric fire** 8m� 0,4040000,4000000,9090C04,C0000,1030C0C,C0000,3010C0C,C0000,1030C0C,4080000,3010C0C,0,4060C08,0,8080000 Be� 4040404,404,9090C0C,C0C,1030C0C,C0C,3010C0C,C0C,1030C0C,C0C,3010C0C,C0C,4060C0C,C0C,8080808,808 L � **man** V`� 0,0,0,0,5111100,30000000,F0A2733,3000050A,F0A0F33,300A0F00,F1B3322,3000000A,0,20000000,0,0 `^� 0,0,5101000,0,2030,0,30303030,30101010,30383038,10101010,20202030,20000000,5103020,0,0,0 j� **blank** t%� 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ~%� 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 �� **ball** �O� 0,0,0,0,0,C0C0C040,C0000000,C0C0C0C0,C0000000,C0C0C0C0,0,C0C0C080,0,0,0,0 �M� 0,0,0,0,40C0,400000,C0C0C0,C0C0C000,C0C0C0,C0C0C000,80C0,800000,0,0,0,0 � �� �assemble �-� I%=&900 � &AFC � 4:� a$:!I%=�("&"+a$):� �-� I%=&B80 � &BFC � 4:� a$:!I%=�("&"+a$):� �Vpx=&7E:py=&7F: screen=&70:data=&72:temp=&74:x%=&76:y%=&77:X%=&460:Y%=&464:dead=&7A ؕcounter=&7B:xpos=&7C:ypos=&7D:K%=&42C:osbyte=!&20A � &FFFF:oswrch=!&20E � &FFFF:osword=!&20C � &FFFF:sound=&80:!sound=&FFF60001:sound!4=&00010000 �<sounddata=&88:!sounddata=&9CA4A8B0:sounddata!4=&80889094 �� pass=4 � 6 � 2 �P%=&2C00:O%=&5000 [ OPT pass \set up screen ;LDA #&8B:STA screen:LDA #&0C:STA screen+1 \screen copy 1LDA #&9:STA data+1 \address of data for char (LDY #13:STY y% 2 .loop1 <LDX #9:STX x% F .loop2 P)LDY #0:LDA (screen),Y \ice or fire ? ZCMP #1:BEQ here dLDY #&80 n .here xSTY data � LDX x%:LDY y%:JSR print_char �DEC screen �DEC x%:BPL loop2 �DEC y%:BPL loop1 �KLDA #&00:STA data:LDA #&0A:STA data+1:LDX #5:LDY #0:JSR print_char \man �RTS � �6.print_char \data=character data, X/Y=coordinates �)LDA #&C0:STA temp:LDA #&34:STA temp+1 �CLC � .loop1 �<LDA temp:ADC #&40:STA temp:LDA temp+1:ADC #&0:STA temp+1 �DEX:BPL loop1 .loop1 "LDA temp+1:ADC #&05:STA temp+1 DEY:BPL loop1 "!LDA data+1:CMP #&B:BNE pc:RTS ,.pc 6LDY #63 @ .loop1 JLDA (data),Y:STA (temp),Y TDEY:BPL loop1 ^<LDA temp:ADC #&40:STA temp:LDA temp+1:ADC #&2:STA temp+1 hLDY #127 r .loop1 |LDA (data),Y:STA (temp),Y �DEY:CPY #64:BPL loop1 �RTS � � .move_man �DLDA #31:JSR oswrch:LDA xpos:JSR oswrch:LDA ypos:JSR oswrch \� �) �BSED:SEC:LDA counter:SBC #1:STA counter:CLD \counter=counter-1 �D� #&F0:LSR A:LSR A:LSR A:LSR A:CLC:ADC #48:JSR oswrch \1st digit �9LDA counter:� #&0F:CLC:ADC #48:JSR oswrch \2nd digit �,LDA #129:LDX #0:LDY #0:JSR osbyte \�(0) �-INY:BNE key_pressed:STY K%:JMP not_escape �#.key_pressed DEY:BEQ not_escape �-LDA #126:JSR osbyte:RTS \escape pressed �".not_escape STX K% \store key /LDA #21:LDX #0:LDY #0:JSR osbyte \*FX21,0 +JSR play_sound:LDA K% \get key pressed $CMP #�"A":BNE mm1:JMP slide_left &*.mm1 CMP #�"/":BNE mm2:JMP slide_right 0.mm2 :FLDA Y%:ASL A:ASL A:ASL A:ADC Y%:ADC Y%:ADC X% \get screen address D1TAY:LDA &C00,Y:STA dead:BNE ok \see if space N=LDA x%:STA X%:LDA y%:STA Y%:RTS \restore old coordinates X0.ok LDA #0:STA &C00,Y \set position to zero b7LDA #&80:STA data:LDA #&0A:STA data+1 \blank square lLDA #19:JSR osbyte \*FX19 v0LDX x%:LDY y%:JSR print_char \erase old man �LLDA #&0:STA data:LDX X%:STX x%:LDY Y%:STY y% \store present coordinates �"JSR print_char \print new man �LDA px:CMP x%:BNE mm5 �LDA py:CMP y%:BNE mm5 �LDA #2:STA dead �.mm5 RTS � �.slide_left �?LDA y%:ASL A:ASL A:ASL A:ADC y%:ADC y% \get screen address �0TAY:LDA &C00,Y:PHA:PHA \save left character � LDX #9 � .loop1 �LDA &C01,Y:STA &C00,Y INY:DEX:BNE loop1 PLA:STA &C00,Y:STY screen LDX x%:DEX:BPL sl LDX #9 *.sl 4STX x%:STX X% >TLDA #&80:STA data:LDA #&0B:STA data+1:LDX px:LDY py:JSR pen_print \print penguin H)LDA #&00:STA temp:LDA #&35:STA temp+1 RLDY y%:CLC \ .loop1 f"LDA temp+1:ADC #&05:STA temp+1 pDEY:BPL loop1 z;LDA temp:ADC #&40:STA data:LDA temp+1:ADC #0:STA data+1 �LDX #19 \scroll left � .loop1 �LDY #63 � .loop2 �LDA (data),Y:STA (temp),Y �DEY:BPL loop2 �CLC �;LDA temp:ADC #&40:STA temp:LDA temp+1:ADC #0:STA temp+1 �;LDA data:ADC #&40:STA data:LDA data+1:ADC #0:STA data+1 �DEX:BNE loop1 �PLA:BNE sla �LDX #&80:LDY #&A:JMP sld �.sla TAX:DEX:BNE slb LDX #&0:LDY #&9:JMP sld .slb LDX #&80:LDY #&9 9.sld STX data:STY data+1:LDX #9:LDY y%:JSR print_char $FLDA #&00:STA data:LDA #&0A:STA data+1:LDX x%:LDY y%:JSR print_char .*LDA y%:ASL A:ADC #5:CMP ypos:BNE slend 8DEC xpos:DEC xpos:BPL slend BLDA #18:STA xpos L .slend VLDA py:CMP y%:BNE sl5 `DEC px:BPL sl5 jLDA #9:STA px t.sl5 ~TLDA #&80:STA data:LDA #&0B:STA data+1:LDX px:LDY py:JSR pen_print \print penguin �RTS � �.slide_right �FLDA y%:ASL A:ASL A:ASL A:ADC y%:ADC y%:ADC #9 \get screen address �1TAY:LDA &C00,Y:PHA:PHA \save right character � LDX #9 � .loop1 �LDA &BFF,Y:STA &C00,Y �DEY:DEX:BNE loop1 �PLA:STA &C00,Y:STY screen �LDX x%:INX:CPX #10:BNE sr � LDX #0 .sr STX x%:STX X% TLDA #&80:STA data:LDA #&0B:STA data+1:LDX px:LDY py:JSR pen_print \print penguin )LDA #&C0:STA temp:LDA #&39:STA temp+1 (LDY y%:CLC 2 .loop1 <"LDA temp+1:ADC #&05:STA temp+1 FDEY:BPL loop1 P?SEC:LDA temp:SBC #&40:STA data:LDA temp+1:SBC #0:STA data+1 ZLDX #19 \scroll right d .loop1 nLDY #63 x .loop2 �LDA (data),Y:STA (temp),Y �DEY:BPL loop2 �SEC �;LDA temp:SBC #&40:STA temp:LDA temp+1:SBC #0:STA temp+1 �;LDA data:SBC #&40:STA data:LDA data+1:SBC #0:STA data+1 �DEX:BNE loop1 �PLA:BNE sra �LDX #&80:LDY #&A:JMP srd �.sra TAX:DEX:BNE srb �LDX #&0:LDY #&9:JMP srd �.srb LDX #&80:LDY #&9 �9.srd STX data:STY data+1:LDX #0:LDY y%:JSR print_char �FLDA #&00:STA data:LDA #&0A:STA data+1:LDX x%:LDY y%:JSR print_char *LDA y%:ASL A:ADC #5:CMP ypos:BNE srend 0INC xpos:INC xpos:LDA xpos:CMP #20:BNE srend LDA #0:STA xpos " .srend ,LDA py:CMP y%:BNE sr5 6!INC px:LDA px:CMP #10:BNE sr5 @LDA #0:STA px J.sr5 TTLDA #&80:STA data:LDA #&0B:STA data+1:LDX px:LDY py:JSR pen_print \print penguin ^RTS h r.play_sound |LDA K%:BNE note:RTS � .note �5LDA counter:ASL A:ASL A:ADC counter:� #7 \�(7)-1 �#TAY:LDA sounddata,Y:STA sound+4 � .beep �5LDX #sound �256:LDY #sound �256:LDA #7:JMP osword � �.penguin � LDA counter:� #1:BEQ pg8:RTS �.pg8 �LDA #0:STA sound+4:JSR beep �LDA px:PHA:LDA py:PHA �5LDA counter:ASL A:ASL A:ADC counter:� #3 \�(7)-1 �TAX:BNE pg1 INC px:JMP pengi .pg1 DEX:BNE pg2 DEC px:JMP pengi &.pg2 DEX:BNE pg3 0INC py:JMP pengi :.pg3 DEC py D .pengi N LDA px:BPL pg4:LDA #9:STA px X&.pg4 CMP #10:BNE pg5:LDA #0:STA px b&.pg5 LDA py:BPL pg6:LDA #13:STA py l&.pg6 CMP #14:BNE pg7:LDA #0:STA py v..pg7 LDA #&80:STA data:LDA #&0B:STA data+1 �!PLA:TAY:PLA:TAX:JSR pen_print �LDX px:LDY py:JSR pen_print �LDA px:CMP x%:BNE pgend �LDA py:CMP y%:BNE pgend �LDA #2:STA dead �.pgend RTS � � .pen_print \X,Y=coordinates �2TXA:PHA:TYA:PHA:JSR print_char:PLA:TAY:PLA:TAX �ELDY #63:.loop1 LDA (data),Y:� (temp),Y:STA (temp),Y:DEY:BPL loop1 �<LDA temp:ADC #&40:STA temp:LDA temp+1:ADC #&2:STA temp+1 �NLDY #127:.loop1 LDA (data),Y:� (temp),Y:STA (temp),Y:DEY:CPY #64:BPL loop1 �RTS ] � 5C%=move_man:L%=print_char:M%=pen_print:N%=penguin T*KEY0 "|GDEL.60,90|M|GDEL.1030,3380|M|GF.I%=0 TO P%:I%?&2C00=I%?&5000:N.|MRUN|M" *�''"Thinking..."'' 4*FX138,0,128 >� �
00000000 0d 00 0a 1b f4 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a |..... **********| 00000010 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 00 14 1b f4 |***********.....| 00000020 20 2a 20 20 20 20 20 4d 72 20 46 72 65 65 7a 65 | * Mr Freeze| 00000030 20 20 20 20 20 2a 0d 00 1e 1b f4 20 2a 20 20 42 | *..... * B| 00000040 79 20 4d 72 20 57 61 64 64 69 6c 6f 76 65 20 20 |y Mr Waddilove | 00000050 2a 0d 00 28 1b f4 20 2a 20 28 43 29 20 45 6c 65 |*..(.. * (C) Ele| 00000060 63 74 72 6f 6e 20 55 73 65 72 20 2a 0d 00 32 1b |ctron User *..2.| 00000070 f4 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a |. **************| 00000080 2a 2a 2a 2a 2a 2a 2a 0d 00 3c 1b f4 20 2a 20 20 |*******..<.. * | 00000090 44 4f 20 4e 4f 54 20 52 45 4e 55 4d 42 45 52 20 |DO NOT RENUMBER | 000000a0 20 2a 0d 00 46 1b f4 20 2a 53 41 56 45 20 42 45 | *..F.. *SAVE BE| 000000b0 46 4f 52 45 20 52 55 4e 4e 49 4e 47 2a 0d 00 50 |FORE RUNNING*..P| 000000c0 1b f4 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a |.. *************| 000000d0 2a 2a 2a 2a 2a 2a 2a 2a 0d 00 5a 13 eb 20 36 3a |********..Z.. 6:| 000000e0 f2 61 73 73 65 6d 62 6c 65 3a e0 0d 00 64 2b ee |.assemble:...d+.| 000000f0 20 85 20 ff 20 22 46 58 31 32 2c 30 22 3a ef 32 | . . "FX12,0":.2| 00000100 32 2c 36 3a f6 3a f1 22 20 61 74 20 6c 69 6e 65 |2,6:.:." at line| 00000110 20 22 3b 9e 3a e0 0d 00 6e 0b d3 3d 26 32 43 30 | ";.:...n..=&2C0| 00000120 30 0d 00 78 11 f2 69 6e 73 74 72 75 63 74 69 6f |0..x..instructio| 00000130 6e 73 0d 00 82 0f f2 69 6e 69 74 69 61 6c 69 73 |ns.....initialis| 00000140 65 0d 00 8c 05 f5 0d 00 96 16 e3 20 6c 69 76 65 |e.......... live| 00000150 73 3d 35 20 b8 20 31 20 88 20 2d 31 0d 00 a0 0b |s=5 . 1 . -1....| 00000160 f5 20 f2 67 61 6d 65 0d 00 aa 25 fd 20 32 2a 58 |. .game...%. 2*X| 00000170 25 3c 3e 3f 78 70 6f 73 25 20 84 20 59 25 3c 3e |%<>?xpos% . Y%<>| 00000180 66 69 72 65 25 28 49 25 29 81 31 30 0d 00 b4 05 |fire%(I%).10....| 00000190 ed 0d 00 be 0d f2 68 69 5f 73 63 6f 72 65 0d 00 |......hi_score..| 000001a0 c8 0e fd 20 4b 25 3c 3e 97 22 79 22 0d 00 d2 0b |... K%<>."y"....| 000001b0 2a 46 58 31 32 2c 30 0d 00 dc 07 eb 20 36 0d 00 |*FX12,0..... 6..| 000001c0 e6 05 e0 0d 00 f0 05 20 0d 00 fa 13 dd 20 f2 69 |....... ..... .i| 000001d0 6e 73 74 72 75 63 74 69 6f 6e 73 0d 01 04 18 ef |nstructions.....| 000001e0 20 32 32 2c 31 2c 32 33 2c 31 2c 30 3b 30 3b 30 | 22,1,23,1,0;0;0| 000001f0 3b 30 3b 0d 01 0e 20 6e 61 6d 65 24 3d 22 4d 72 |;0;... name$="Mr| 00000200 20 20 46 72 65 65 7a 65 22 3a f1 20 8a 31 35 2c | Freeze":. .15,| 00000210 31 29 3b 0d 01 18 8a e3 20 49 25 3d 31 20 b8 20 |1);..... I%=1 . | 00000220 31 30 3a 3f 26 37 30 3d 97 28 c1 6e 61 6d 65 24 |10:?&70=.(.name$| 00000230 2c 49 25 2c 31 29 29 3a 41 25 3d 31 30 3a 58 25 |,I%,1)):A%=10:X%| 00000240 3d 26 37 30 3a 59 25 3d 30 3a d6 20 26 46 46 46 |=&70:Y%=0:. &FFF| 00000250 31 3a e3 20 4a 25 3d 30 20 b8 20 31 3a ef 20 32 |1:. J%=0 . 1:. 2| 00000260 33 2c 32 32 34 3a e3 20 4b 25 3d 32 20 b8 20 39 |3,224:. K%=2 . 9| 00000270 3a ef 20 3f 28 26 37 30 2b 4a 25 2a 34 2b 4b 25 |:. ?(&70+J%*4+K%| 00000280 81 32 29 3a ed 3a ef 20 32 32 34 2c 31 30 2c 38 |.2):.:. 224,10,8| 00000290 3a ed 3a ef 31 31 2c 31 31 2c 39 3a ed 0d 01 22 |:.:.11,11,9:..."| 000002a0 a2 fb 20 32 3a f1 27 27 27 22 4d 72 20 46 72 65 |.. 2:.'''"Mr Fre| 000002b0 65 7a 65 27 73 20 66 72 6f 7a 65 6e 20 66 6f 6f |eze's frozen foo| 000002c0 64 20 66 61 63 74 6f 72 79 20 68 61 73 20 62 65 |d factory has be| 000002d0 65 6e 22 27 22 73 61 62 6f 74 61 67 65 64 20 62 |en"'"sabotaged b| 000002e0 79 20 6f 6e 65 20 6f 66 20 68 69 73 20 72 69 76 |y one of his riv| 000002f0 61 6c 73 2e 20 45 6c 65 63 74 72 69 63 22 27 22 |als. Electric"'"| 00000300 66 69 72 65 73 20 68 61 76 65 20 62 65 65 6e 20 |fires have been | 00000310 70 6c 61 63 65 64 20 61 6d 6f 6e 67 73 74 20 74 |placed amongst t| 00000320 68 65 20 69 63 65 22 27 27 22 62 6c 6f 63 6b 73 |he ice"''"blocks| 00000330 20 74 6f 20 6d 65 6c 74 20 74 68 65 6d 2e 22 0d | to melt them.".| 00000340 01 2c 71 fb 20 31 3a f1 27 27 22 54 68 65 20 66 |.,q. 1:.''"The f| 00000350 69 72 65 73 20 73 77 69 74 63 68 20 6f 6e 20 6f |ires switch on o| 00000360 6e 65 20 61 74 20 61 20 74 69 6d 65 2e 20 59 6f |ne at a time. Yo| 00000370 75 22 27 27 22 6d 75 73 74 20 73 77 69 74 63 68 |u"''"must switch| 00000380 20 65 61 63 68 20 6f 6e 65 20 6f 66 66 20 62 65 | each one off be| 00000390 66 6f 72 65 20 74 68 65 22 27 27 22 74 69 6d 65 |fore the"''"time| 000003a0 72 20 72 65 61 63 68 65 73 20 7a 65 72 6f 2e 22 |r reaches zero."| 000003b0 0d 01 36 49 fb 20 32 3a f1 27 27 22 59 6f 75 20 |..6I. 2:.''"You | 000003c0 63 61 6e 20 6a 75 6d 70 20 66 72 6f 6d 20 62 6c |can jump from bl| 000003d0 6f 63 6b 20 74 6f 20 62 6c 6f 63 6b 20 61 6e 64 |ock to block and| 000003e0 22 27 27 22 73 6c 69 64 65 20 6c 65 66 74 20 6f |"''"slide left o| 000003f0 72 20 72 69 67 68 74 2e 22 0d 01 40 5b fb 20 33 |r right."..@[. 3| 00000400 3a f1 27 27 22 20 53 3d 75 70 20 20 20 20 20 58 |:.''" S=up X| 00000410 3d 64 6f 77 6e 20 20 20 20 20 3c 3d 6c 65 66 74 |=down <=left| 00000420 20 20 20 20 20 3e 3d 72 69 67 68 74 22 27 27 22 | >=right"''"| 00000430 20 41 3d 73 6c 69 64 65 20 6c 65 66 74 22 3b 89 | A=slide left";.| 00000440 28 31 33 29 3b 22 3f 3d 73 6c 69 64 65 20 72 69 |(13);"?=slide ri| 00000450 67 68 74 22 0d 01 4a 3e fb 20 31 32 39 3a fb 20 |ght"..J>. 129:. | 00000460 32 3a f1 20 8a 31 30 2c 33 31 29 3b 22 20 50 72 |2:. .10,31);" Pr| 00000470 65 73 73 20 73 70 61 63 65 20 74 6f 20 73 74 61 |ess space to sta| 00000480 72 74 20 22 3b bd 28 37 29 3b 3a 2a 46 58 32 31 |rt ";.(7);:*FX21| 00000490 2c 30 0d 01 54 0c f5 20 fd 20 a5 3d 33 32 0d 01 |,0..T.. . .=32..| 000004a0 5e 05 e1 0d 01 68 05 20 0d 01 72 0f dd 20 f2 68 |^....h. ..r.. .h| 000004b0 69 5f 73 63 6f 72 65 0d 01 7c 2d fb 20 31 32 38 |i_score..|-. 128| 000004c0 3a fb 20 36 3a f1 20 8a 36 2c 32 29 3b 73 63 6f |:. 6:. .6,2);sco| 000004d0 72 65 3b 89 28 33 29 3b 8a 31 39 2c 32 29 3b 6c |re;.(3);.19,2);l| 000004e0 69 76 65 73 0d 01 86 0f fb 20 35 3a 2a 46 58 31 |ives..... 5:*FX1| 000004f0 31 2c 30 0d 01 90 0b 2a 46 58 32 31 2c 30 0d 01 |1,0....*FX21,0..| 00000500 9a a3 e7 20 73 63 6f 72 65 3e 68 69 20 68 69 3d |... score>hi hi=| 00000510 73 63 6f 72 65 3a f1 20 8a 30 2c 31 30 29 3b 22 |score:. .0,10);"| 00000520 42 65 73 74 20 73 63 6f 72 65 20 73 6f 20 66 61 |Best score so fa| 00000530 72 20 21 22 3a ef 20 32 33 2c 31 2c 31 3b 30 3b |r !":. 23,1,1;0;| 00000540 30 3b 30 3b 3a f1 27 27 22 57 68 61 74 20 69 73 |0;0;:.''"What is| 00000550 20 79 6f 75 72 20 6e 61 6d 65 20 3f 22 27 27 27 | your name ?"'''| 00000560 27 c4 31 35 2c 22 2e 22 29 27 bd 28 31 31 29 3b |'.15,".")'.(11);| 00000570 3a e8 20 22 22 6e 61 6d 65 24 3a ef 20 32 33 2c |:. ""name$:. 23,| 00000580 31 2c 30 3b 30 3b 30 3b 30 3b 3a 6e 61 6d 65 24 |1,0;0;0;0;:name$| 00000590 3d 22 42 79 20 22 2b c0 6e 61 6d 65 24 2c 31 35 |="By "+.name$,15| 000005a0 29 0d 01 a4 1c fb 20 32 3a ef 20 32 38 2c 30 2c |)..... 2:. 28,0,| 000005b0 33 31 2c 31 39 2c 35 2c 31 32 2c 32 36 0d 01 ae |31,19,5,12,26...| 000005c0 37 f1 20 8a 33 2c 31 30 29 3b 22 48 69 67 68 20 |7. .3,10);"High | 000005d0 73 63 6f 72 65 3d 22 3b 68 69 3b 8a 28 32 30 2d |score=";hi;.(20-| 000005e0 a9 20 6e 61 6d 65 24 29 81 32 2c 31 35 29 3b 6e |. name$).2,15);n| 000005f0 61 6d 65 24 0d 01 b8 32 fb 20 31 32 39 3a fb 20 |ame$...2. 129:. | 00000600 33 3a f1 20 8a 32 2c 32 35 29 3b 22 20 41 6e 6f |3:. .2,25);" Ano| 00000610 74 68 65 72 20 20 47 61 6d 65 20 3f 20 22 3a 2a |ther Game ? ":*| 00000620 46 58 32 31 2c 30 0d 01 c2 23 f5 20 4b 25 3d a5 |FX21,0...#. K%=.| 00000630 20 84 20 33 32 3a fd 20 4b 25 3d 97 22 79 22 20 | . 32:. K%=."y" | 00000640 84 20 4b 25 3d 97 22 6e 22 0d 01 cc 14 73 63 6f |. K%=."n"....sco| 00000650 72 65 3d 30 3a 73 63 72 65 65 6e 3d 31 0d 01 d6 |re=0:screen=1...| 00000660 0b 2a 46 58 31 31 2c 31 0d 01 e0 05 e1 0d 01 ea |.*FX11,1........| 00000670 05 20 0d 01 f4 11 dd 20 f2 69 6e 69 74 69 61 6c |. ..... .initial| 00000680 69 73 65 0d 01 fe 0a 2a 46 58 39 2c 35 0d 02 08 |ise....*FX9,5...| 00000690 0b 2a 46 58 31 30 2c 35 0d 02 12 0b 2a 46 58 31 |.*FX10,5....*FX1| 000006a0 31 2c 31 0d 02 1c 0c 2a 46 58 31 32 2c 31 30 0d |1,1....*FX12,10.| 000006b0 02 26 0b 2a 46 58 31 36 2c 30 0d 02 30 2b e2 20 |.&.*FX16,0..0+. | 000006c0 31 2c 31 2c 31 2c 2d 31 2c 30 2c 34 2c 34 2c 30 |1,1,1,-1,0,4,4,0| 000006d0 2c 31 32 36 2c 30 2c 30 2c 2d 31 32 36 2c 31 32 |,126,0,0,-126,12| 000006e0 36 2c 31 32 36 0d 02 3a 0f de 20 66 69 72 65 25 |6,126..:.. fire%| 000006f0 28 32 35 29 0d 02 44 1b 68 69 3d 31 30 30 3a 73 |(25)..D.hi=100:s| 00000700 63 6f 72 65 3d 30 3a 73 63 72 65 65 6e 3d 31 0d |core=0:screen=1.| 00000710 02 4e 3c 78 25 3d 26 37 36 3a 79 25 3d 26 37 37 |.N<x%=&76:y%=&77| 00000720 3a 64 65 61 64 25 3d 26 37 41 3a 63 6f 75 6e 74 |:dead%=&7A:count| 00000730 65 72 25 3d 26 37 42 3a 78 70 6f 73 25 3d 26 37 |er%=&7B:xpos%=&7| 00000740 43 3a 79 70 6f 73 25 3d 26 37 44 0d 02 58 0c ef |C:ypos%=&7D..X..| 00000750 20 32 32 2c 32 2c 35 0d 02 62 35 e6 20 30 2c 34 | 22,2,5..b5. 0,4| 00000760 3a ec 20 33 33 30 2c 31 30 32 33 3a f1 20 6e 61 |:. 330,1023:. na| 00000770 6d 65 24 3a e6 20 30 2c 33 3a ec 20 33 33 38 2c |me$:. 0,3:. 338,| 00000780 31 30 31 39 3a f1 20 6e 61 6d 65 24 0d 02 6c 15 |1019:. name$..l.| 00000790 ef 20 34 2c 32 33 2c 31 2c 30 3b 30 3b 30 3b 30 |. 4,23,1,0;0;0;0| 000007a0 3b 0d 02 76 1e e3 20 49 25 3d 38 20 b8 20 31 35 |;..v.. I%=8 . 15| 000007b0 3a ef 20 31 39 2c 49 25 2c 31 3b 30 3b 3a ed 0d |:. 19,I%,1;0;:..| 000007c0 02 80 28 fb 20 36 3a f1 20 8a 30 2c 32 29 3b 22 |..(. 6:. .0,2);"| 000007d0 53 63 6f 72 65 3a 22 3b 8a 31 33 2c 32 29 3b 22 |Score:";.13,2);"| 000007e0 4c 69 76 65 73 3a 22 0d 02 8a 05 e1 0d 02 94 05 |Lives:".........| 000007f0 20 0d 02 9e 0b dd 20 f2 67 61 6d 65 0d 02 a8 0c | ..... .game....| 00000800 2a 46 58 32 30 32 2c 30 0d 02 b2 1c e3 20 49 25 |*FX202,0..... I%| 00000810 3d 30 20 b8 20 32 30 30 3a 49 25 3f 26 43 30 30 |=0 . 200:I%?&C00| 00000820 3d 31 3a ed 0d 02 bc 29 66 69 72 65 25 28 30 29 |=1:....)fire%(0)| 00000830 3d b3 28 31 32 38 29 2b 31 30 3a 3f 28 26 43 30 |=.(128)+10:?(&C0| 00000840 30 2b 66 69 72 65 25 28 30 29 29 3d 32 0d 02 c6 |0+fire%(0))=2...| 00000850 15 e3 20 49 25 3d 31 20 b8 20 39 2b 73 63 72 65 |.. I%=1 . 9+scre| 00000860 65 6e 0d 02 d0 1b f5 20 66 69 72 65 25 28 49 25 |en..... fire%(I%| 00000870 29 3d b3 28 31 32 39 29 3a 6f 6b 3d b9 0d 02 da |)=.(129):ok=....| 00000880 11 e3 20 4a 25 3d 30 20 b8 20 49 25 2d 31 0d 02 |.. J%=0 . I%-1..| 00000890 e4 2c e7 20 66 69 72 65 25 28 49 25 29 3d 66 69 |.,. fire%(I%)=fi| 000008a0 72 65 25 28 4a 25 29 20 84 20 66 69 72 65 25 28 |re%(J%) . fire%(| 000008b0 49 25 29 3d 35 20 6f 6b 3d a3 0d 02 ee 05 ed 0d |I%)=5 ok=.......| 000008c0 02 f8 08 fd 20 6f 6b 0d 03 02 17 3f 28 26 43 30 |.... ok....?(&C0| 000008d0 30 2b 66 69 72 65 25 28 49 25 29 29 3d 32 0d 03 |0+fire%(I%))=2..| 000008e0 0c 05 ed 0d 03 16 07 d6 20 93 0d 03 20 24 3f 26 |........ ... $?&| 000008f0 37 32 3d 26 38 30 3a 3f 26 37 33 3d 26 42 3a 58 |72=&80:?&73=&B:X| 00000900 25 3d 35 3a 59 25 3d 31 33 3a d6 20 4d 25 0d 03 |%=5:Y%=13:. M%..| 00000910 2a 21 58 25 3d 35 3a 59 25 3d 30 3a 3f 78 25 3d |*!X%=5:Y%=0:?x%=| 00000920 35 3a 3f 79 25 3d 30 3a 3f 26 43 30 35 3d 30 0d |5:?y%=0:?&C05=0.| 00000930 03 34 12 3f 26 37 45 3d 35 3a 3f 26 37 46 3d 31 |.4.?&7E=5:?&7F=1| 00000940 33 0d 03 3e 09 49 25 3d 2d 31 0d 03 48 0d f5 20 |3..>.I%=-1..H.. | 00000950 49 25 3d 49 25 2b 31 0d 03 52 2d fb 20 31 32 38 |I%=I%+1..R-. 128| 00000960 3a fb 20 36 3a f1 20 8a 36 2c 32 29 3b 73 63 6f |:. 6:. .6,2);sco| 00000970 72 65 3b 89 28 33 29 3b 8a 31 39 2c 32 29 3b 6c |re;.(3);.19,2);l| 00000980 69 76 65 73 0d 03 5c 6d 3f 79 70 6f 73 25 3d 32 |ives..\m?ypos%=2| 00000990 2a 28 66 69 72 65 25 28 49 25 29 81 31 30 29 2b |*(fire%(I%).10)+| 000009a0 35 3a 4a 25 3d 2d 31 3a f5 20 4a 25 3d 4a 25 2b |5:J%=-1:. J%=J%+| 000009b0 31 3a fd 20 3f 28 26 43 30 30 2b 31 30 2a 28 66 |1:. ?(&C00+10*(f| 000009c0 69 72 65 25 28 49 25 29 81 31 30 29 2b 4a 25 29 |ire%(I%).10)+J%)| 000009d0 3d 32 3a 3f 78 70 6f 73 25 3d 4a 25 2a 32 3a 3f |=2:?xpos%=J%*2:?| 000009e0 63 6f 75 6e 74 65 72 25 3d 26 39 39 3a 4b 25 3d |counter%=&99:K%=| 000009f0 30 0d 03 66 15 fb 20 31 33 30 3a fb 20 31 3a 2a |0..f.. 130:. 1:*| 00000a00 46 58 32 31 2c 30 0d 03 70 09 f5 20 d1 3d 30 0d |FX21,0..p.. .=0.| 00000a10 03 7a 2c 59 25 3d 28 59 25 2d 28 4b 25 3d 38 38 |.z,Y%=(Y%-(K%=88| 00000a20 29 2b 28 4b 25 3d 38 33 29 29 83 31 34 3a e7 20 |)+(K%=83)).14:. | 00000a30 59 25 3d 2d 31 20 59 25 3d 31 33 0d 03 84 2b 58 |Y%=-1 Y%=13...+X| 00000a40 25 3d 28 58 25 2d 28 4b 25 3d 34 36 29 2b 28 4b |%=(X%-(K%=46)+(K| 00000a50 25 3d 34 34 29 29 83 31 30 3a e7 20 58 25 3d 2d |%=44)).10:. X%=-| 00000a60 31 20 58 25 3d 39 0d 03 8e 16 d6 20 43 25 3a d6 |1 X%=9..... C%:.| 00000a70 20 4e 25 3a f5 20 fd 20 91 3e 31 30 0d 03 98 1c | N%:. . .>10....| 00000a80 fd 20 3f 64 65 61 64 25 3d 32 20 84 20 3f 63 6f |. ?dead%=2 . ?co| 00000a90 75 6e 74 65 72 25 3d 30 0d 03 a2 8b e7 20 32 2a |unter%=0..... 2*| 00000aa0 58 25 3d 3f 78 70 6f 73 25 20 80 20 59 25 3d 66 |X%=?xpos% . Y%=f| 00000ab0 69 72 65 25 28 49 25 29 81 31 30 20 d4 20 30 2c |ire%(I%).10 . 0,| 00000ac0 2d 31 35 2c 34 2c 35 3a 3f 26 37 32 3d 26 30 30 |-15,4,5:?&72=&00| 00000ad0 3a 3f 26 37 33 3d 26 30 41 3a d6 20 4c 25 20 8b |:?&73=&0A:. L% .| 00000ae0 20 ef 20 31 39 2c 33 2c 31 31 3b 30 3b 31 39 2c | . 19,3,11;0;19,| 00000af0 34 2c 31 32 3b 30 3b 3a d4 20 31 2c 31 2c 34 2c |4,12;0;:. 1,1,4,| 00000b00 34 30 3a f2 70 61 75 73 65 28 32 30 30 29 3a ef |40:.pause(200):.| 00000b10 20 31 39 2c 33 2c 33 3b 30 3b 31 39 2c 34 2c 34 | 19,3,3;0;19,4,4| 00000b20 3b 30 3b 0d 03 ac 3a 73 63 6f 72 65 3d 73 63 6f |;0;...:score=sco| 00000b30 72 65 2b 31 30 2a 28 28 3f 63 6f 75 6e 74 65 72 |re+10*((?counter| 00000b40 25 20 80 20 26 46 30 29 2f 31 36 29 2b 28 3f 63 |% . &F0)/16)+(?c| 00000b50 6f 75 6e 74 65 72 25 20 80 20 26 46 29 0d 03 b6 |ounter% . &F)...| 00000b60 35 fd 20 49 25 3d 73 63 72 65 65 6e 2b 39 20 84 |5. I%=screen+9 .| 00000b70 20 28 32 2a 58 25 3c 3e 3f 78 70 6f 73 25 20 84 | (2*X%<>?xpos% .| 00000b80 20 59 25 3c 3e 66 69 72 65 25 28 49 25 29 81 31 | Y%<>fire%(I%).1| 00000b90 30 29 0d 03 c0 3c e3 20 4a 25 3d 32 30 30 20 b8 |0)...<. J%=200 .| 00000ba0 20 38 20 88 20 2d 38 3a d4 20 31 2c 31 2c 4a 25 | 8 . -8:. 1,1,J%| 00000bb0 2c 33 3a ed 3a ef 20 32 34 2c 30 3b 30 3b 31 32 |,3:.:. 24,0;0;12| 00000bc0 37 32 3b 31 34 2a 36 34 3b 31 36 2c 32 36 0d 03 |72;14*64;16,26..| 00000bd0 ca 21 e7 20 49 25 3d 73 63 72 65 65 6e 2b 39 20 |.!. I%=screen+9 | 00000be0 73 63 72 65 65 6e 3d 73 63 72 65 65 6e 2b 31 0d |screen=screen+1.| 00000bf0 03 d4 05 e1 0d 03 de 05 20 0d 03 e8 13 dd 20 f2 |........ ..... .| 00000c00 70 61 75 73 65 28 64 65 6c 61 79 29 0d 03 f2 13 |pause(delay)....| 00000c10 d1 3d 30 3a f5 20 fd 20 91 3e 64 65 6c 61 79 0d |.=0:. . .>delay.| 00000c20 03 fc 05 e1 0d 04 06 05 20 0d 04 10 13 f4 20 2a |........ ..... *| 00000c30 2a 69 63 65 20 62 6c 6f 63 6b 2a 2a 0d 04 1a 8e |*ice block**....| 00000c40 dc 20 31 30 31 30 31 30 30 30 2c 31 30 31 30 31 |. 10101000,10101| 00000c50 30 31 30 2c 33 34 33 30 33 30 30 30 2c 33 44 33 |010,34303000,3D3| 00000c60 45 33 44 33 44 2c 33 43 33 30 33 30 30 30 2c 33 |E3D3D,3C303000,3| 00000c70 46 33 46 33 43 33 46 2c 33 43 33 30 33 30 30 30 |F3F3C3F,3C303000| 00000c80 2c 33 43 33 46 33 45 33 46 2c 33 44 33 30 33 30 |,3C3F3E3F,3D3030| 00000c90 30 30 2c 33 46 33 45 33 44 33 45 2c 33 46 33 30 |00,3F3E3D3E,3F30| 00000ca0 33 30 30 30 2c 33 46 33 46 33 45 33 44 2c 33 43 |3000,3F3F3E3D,3C| 00000cb0 33 30 33 30 30 30 2c 33 44 33 44 33 46 33 46 2c |303000,3D3D3F3F,| 00000cc0 30 2c 32 38 32 38 32 38 32 38 0d 04 24 83 dc 20 |0,28282828..$.. | 00000cd0 31 30 31 30 31 30 31 30 2c 31 30 31 30 2c 33 45 |10101010,1010,3E| 00000ce0 33 46 33 44 33 44 2c 33 45 33 45 33 44 2c 33 44 |3F3D3D,3E3E3D,3D| 00000cf0 33 44 33 46 33 45 2c 33 43 33 46 33 45 2c 33 44 |3D3F3E,3C3F3E,3D| 00000d00 33 44 33 46 33 46 2c 33 45 33 44 33 45 2c 33 46 |3D3F3F,3E3D3E,3F| 00000d10 33 43 33 46 33 46 2c 33 43 33 45 33 46 2c 33 46 |3C3F3F,3C3E3F,3F| 00000d20 33 46 33 44 33 44 2c 33 43 33 46 33 43 2c 33 45 |3F3D3D,3C3F3C,3E| 00000d30 33 45 33 46 33 44 2c 33 43 33 46 33 46 2c 32 38 |3E3F3D,3C3F3F,28| 00000d40 32 41 32 38 32 38 2c 32 41 32 38 32 38 0d 04 2e |2A2828,2A2828...| 00000d50 17 f4 20 2a 2a 65 6c 65 63 74 72 69 63 20 66 69 |.. **electric fi| 00000d60 72 65 2a 2a 0d 04 38 6d dc 20 30 2c 34 30 34 30 |re**..8m. 0,4040| 00000d70 30 30 30 2c 34 30 30 30 30 30 30 2c 39 30 39 30 |000,4000000,9090| 00000d80 43 30 34 2c 43 30 30 30 30 2c 31 30 33 30 43 30 |C04,C0000,1030C0| 00000d90 43 2c 43 30 30 30 30 2c 33 30 31 30 43 30 43 2c |C,C0000,3010C0C,| 00000da0 43 30 30 30 30 2c 31 30 33 30 43 30 43 2c 34 30 |C0000,1030C0C,40| 00000db0 38 30 30 30 30 2c 33 30 31 30 43 30 43 2c 30 2c |80000,3010C0C,0,| 00000dc0 34 30 36 30 43 30 38 2c 30 2c 38 30 38 30 30 30 |4060C08,0,808000| 00000dd0 30 0d 04 42 65 dc 20 34 30 34 30 34 30 34 2c 34 |0..Be. 4040404,4| 00000de0 30 34 2c 39 30 39 30 43 30 43 2c 43 30 43 2c 31 |04,9090C0C,C0C,1| 00000df0 30 33 30 43 30 43 2c 43 30 43 2c 33 30 31 30 43 |030C0C,C0C,3010C| 00000e00 30 43 2c 43 30 43 2c 31 30 33 30 43 30 43 2c 43 |0C,C0C,1030C0C,C| 00000e10 30 43 2c 33 30 31 30 43 30 43 2c 43 30 43 2c 34 |0C,3010C0C,C0C,4| 00000e20 30 36 30 43 30 43 2c 43 30 43 2c 38 30 38 30 38 |060C0C,C0C,80808| 00000e30 30 38 2c 38 30 38 0d 04 4c 0d f4 20 2a 2a 6d 61 |08,808..L.. **ma| 00000e40 6e 2a 2a 0d 04 56 60 dc 20 30 2c 30 2c 30 2c 30 |n**..V`. 0,0,0,0| 00000e50 2c 35 31 31 31 31 30 30 2c 33 30 30 30 30 30 30 |,5111100,3000000| 00000e60 30 2c 46 30 41 32 37 33 33 2c 33 30 30 30 30 35 |0,F0A2733,300005| 00000e70 30 41 2c 46 30 41 30 46 33 33 2c 33 30 30 41 30 |0A,F0A0F33,300A0| 00000e80 46 30 30 2c 46 31 42 33 33 32 32 2c 33 30 30 30 |F00,F1B3322,3000| 00000e90 30 30 30 41 2c 30 2c 32 30 30 30 30 30 30 30 2c |000A,0,20000000,| 00000ea0 30 2c 30 0d 04 60 5e dc 20 30 2c 30 2c 35 31 30 |0,0..`^. 0,0,510| 00000eb0 31 30 30 30 2c 30 2c 32 30 33 30 2c 30 2c 33 30 |1000,0,2030,0,30| 00000ec0 33 30 33 30 33 30 2c 33 30 31 30 31 30 31 30 2c |303030,30101010,| 00000ed0 33 30 33 38 33 30 33 38 2c 31 30 31 30 31 30 31 |30383038,1010101| 00000ee0 30 2c 32 30 32 30 32 30 33 30 2c 32 30 30 30 30 |0,20202030,20000| 00000ef0 30 30 30 2c 35 31 30 33 30 32 30 2c 30 2c 30 2c |000,5103020,0,0,| 00000f00 30 0d 04 6a 0f f4 20 2a 2a 62 6c 61 6e 6b 2a 2a |0..j.. **blank**| 00000f10 0d 04 74 25 dc 20 30 2c 30 2c 30 2c 30 2c 30 2c |..t%. 0,0,0,0,0,| 00000f20 30 2c 30 2c 30 2c 30 2c 30 2c 30 2c 30 2c 30 2c |0,0,0,0,0,0,0,0,| 00000f30 30 2c 30 2c 30 0d 04 7e 25 dc 20 30 2c 30 2c 30 |0,0,0..~%. 0,0,0| 00000f40 2c 30 2c 30 2c 30 2c 30 2c 30 2c 30 2c 30 2c 30 |,0,0,0,0,0,0,0,0| 00000f50 2c 30 2c 30 2c 30 2c 30 2c 30 0d 04 88 0e f4 20 |,0,0,0,0,0..... | 00000f60 2a 2a 62 61 6c 6c 2a 2a 0d 04 92 4f dc 20 30 2c |**ball**...O. 0,| 00000f70 30 2c 30 2c 30 2c 30 2c 43 30 43 30 43 30 34 30 |0,0,0,0,C0C0C040| 00000f80 2c 43 30 30 30 30 30 30 30 2c 43 30 43 30 43 30 |,C0000000,C0C0C0| 00000f90 43 30 2c 43 30 30 30 30 30 30 30 2c 43 30 43 30 |C0,C0000000,C0C0| 00000fa0 43 30 43 30 2c 30 2c 43 30 43 30 43 30 38 30 2c |C0C0,0,C0C0C080,| 00000fb0 30 2c 30 2c 30 2c 30 0d 04 9c 4d dc 20 30 2c 30 |0,0,0,0...M. 0,0| 00000fc0 2c 30 2c 30 2c 34 30 43 30 2c 34 30 30 30 30 30 |,0,0,40C0,400000| 00000fd0 2c 43 30 43 30 43 30 2c 43 30 43 30 43 30 30 30 |,C0C0C0,C0C0C000| * 00000ff0 2c 38 30 43 30 2c 38 30 30 30 30 30 2c 30 2c 30 |,80C0,800000,0,0| 00001000 2c 30 2c 30 0d 04 a6 05 20 0d 04 b0 0f dd 20 f2 |,0,0.... ..... .| 00001010 61 73 73 65 6d 62 6c 65 0d 04 ba 2d e3 20 49 25 |assemble...-. I%| 00001020 3d 26 39 30 30 20 b8 20 26 41 46 43 20 88 20 34 |=&900 . &AFC . 4| 00001030 3a f3 20 61 24 3a 21 49 25 3d a0 28 22 26 22 2b |:. a$:!I%=.("&"+| 00001040 61 24 29 3a ed 0d 04 c4 2d e3 20 49 25 3d 26 42 |a$):....-. I%=&B| 00001050 38 30 20 b8 20 26 42 46 43 20 88 20 34 3a f3 20 |80 . &BFC . 4:. | 00001060 61 24 3a 21 49 25 3d a0 28 22 26 22 2b 61 24 29 |a$:!I%=.("&"+a$)| 00001070 3a ed 0d 04 ce 56 70 78 3d 26 37 45 3a 70 79 3d |:....Vpx=&7E:py=| 00001080 26 37 46 3a 20 73 63 72 65 65 6e 3d 26 37 30 3a |&7F: screen=&70:| 00001090 64 61 74 61 3d 26 37 32 3a 74 65 6d 70 3d 26 37 |data=&72:temp=&7| 000010a0 34 3a 78 25 3d 26 37 36 3a 79 25 3d 26 37 37 3a |4:x%=&76:y%=&77:| 000010b0 58 25 3d 26 34 36 30 3a 59 25 3d 26 34 36 34 3a |X%=&460:Y%=&464:| 000010c0 64 65 61 64 3d 26 37 41 0d 04 d8 95 63 6f 75 6e |dead=&7A....coun| 000010d0 74 65 72 3d 26 37 42 3a 78 70 6f 73 3d 26 37 43 |ter=&7B:xpos=&7C| 000010e0 3a 79 70 6f 73 3d 26 37 44 3a 4b 25 3d 26 34 32 |:ypos=&7D:K%=&42| 000010f0 43 3a 6f 73 62 79 74 65 3d 21 26 32 30 41 20 80 |C:osbyte=!&20A .| 00001100 20 26 46 46 46 46 3a 6f 73 77 72 63 68 3d 21 26 | &FFFF:oswrch=!&| 00001110 32 30 45 20 80 20 26 46 46 46 46 3a 6f 73 77 6f |20E . &FFFF:oswo| 00001120 72 64 3d 21 26 32 30 43 20 80 20 26 46 46 46 46 |rd=!&20C . &FFFF| 00001130 3a 73 6f 75 6e 64 3d 26 38 30 3a 21 73 6f 75 6e |:sound=&80:!soun| 00001140 64 3d 26 46 46 46 36 30 30 30 31 3a 73 6f 75 6e |d=&FFF60001:soun| 00001150 64 21 34 3d 26 30 30 30 31 30 30 30 30 0d 04 e2 |d!4=&00010000...| 00001160 3c 73 6f 75 6e 64 64 61 74 61 3d 26 38 38 3a 21 |<sounddata=&88:!| 00001170 73 6f 75 6e 64 64 61 74 61 3d 26 39 43 41 34 41 |sounddata=&9CA4A| 00001180 38 42 30 3a 73 6f 75 6e 64 64 61 74 61 21 34 3d |8B0:sounddata!4=| 00001190 26 38 30 38 38 39 30 39 34 0d 04 ec 14 e3 20 70 |&80889094..... p| 000011a0 61 73 73 3d 34 20 b8 20 36 20 88 20 32 0d 04 f6 |ass=4 . 6 . 2...| 000011b0 15 50 25 3d 26 32 43 30 30 3a 4f 25 3d 26 35 30 |.P%=&2C00:O%=&50| 000011c0 30 30 0d 05 00 0e 5b 20 4f 50 54 20 70 61 73 73 |00....[ OPT pass| 000011d0 0d 05 0a 12 5c 73 65 74 20 75 70 20 73 63 72 65 |....\set up scre| 000011e0 65 6e 0d 05 14 3b 4c 44 41 20 23 26 38 42 3a 53 |en...;LDA #&8B:S| 000011f0 54 41 20 73 63 72 65 65 6e 3a 4c 44 41 20 23 26 |TA screen:LDA #&| 00001200 30 43 3a 53 54 41 20 73 63 72 65 65 6e 2b 31 20 |0C:STA screen+1 | 00001210 20 5c 73 63 72 65 65 6e 20 63 6f 70 79 0d 05 1e | \screen copy...| 00001220 31 4c 44 41 20 23 26 39 3a 53 54 41 20 64 61 74 |1LDA #&9:STA dat| 00001230 61 2b 31 20 20 5c 61 64 64 72 65 73 73 20 6f 66 |a+1 \address of| 00001240 20 64 61 74 61 20 66 6f 72 20 63 68 61 72 0d 05 | data for char..| 00001250 28 12 4c 44 59 20 23 31 33 3a 53 54 59 20 79 25 |(.LDY #13:STY y%| 00001260 0d 05 32 0a 2e 6c 6f 6f 70 31 0d 05 3c 11 4c 44 |..2..loop1..<.LD| 00001270 58 20 23 39 3a 53 54 58 20 78 25 0d 05 46 0a 2e |X #9:STX x%..F..| 00001280 6c 6f 6f 70 32 0d 05 50 29 4c 44 59 20 23 30 3a |loop2..P)LDY #0:| 00001290 4c 44 41 20 28 73 63 72 65 65 6e 29 2c 59 20 20 |LDA (screen),Y | 000012a0 5c 69 63 65 20 6f 72 20 66 69 72 65 20 3f 0d 05 |\ice or fire ?..| 000012b0 5a 13 43 4d 50 20 23 31 3a 42 45 51 20 68 65 72 |Z.CMP #1:BEQ her| 000012c0 65 0d 05 64 0c 4c 44 59 20 23 26 38 30 0d 05 6e |e..d.LDY #&80..n| 000012d0 09 2e 68 65 72 65 0d 05 78 0c 53 54 59 20 64 61 |..here..x.STY da| 000012e0 74 61 0d 05 82 20 4c 44 58 20 78 25 3a 4c 44 59 |ta... LDX x%:LDY| 000012f0 20 79 25 3a 4a 53 52 20 70 72 69 6e 74 5f 63 68 | y%:JSR print_ch| 00001300 61 72 0d 05 8c 0e 44 45 43 20 73 63 72 65 65 6e |ar....DEC screen| 00001310 0d 05 96 14 44 45 43 20 78 25 3a 42 50 4c 20 6c |....DEC x%:BPL l| 00001320 6f 6f 70 32 0d 05 a0 14 44 45 43 20 79 25 3a 42 |oop2....DEC y%:B| 00001330 50 4c 20 6c 6f 6f 70 31 0d 05 aa 4b 4c 44 41 20 |PL loop1...KLDA | 00001340 23 26 30 30 3a 53 54 41 20 64 61 74 61 3a 4c 44 |#&00:STA data:LD| 00001350 41 20 23 26 30 41 3a 53 54 41 20 64 61 74 61 2b |A #&0A:STA data+| 00001360 31 3a 4c 44 58 20 23 35 3a 4c 44 59 20 23 30 3a |1:LDX #5:LDY #0:| 00001370 4a 53 52 20 70 72 69 6e 74 5f 63 68 61 72 20 5c |JSR print_char \| 00001380 6d 61 6e 0d 05 b4 07 52 54 53 0d 05 be 05 20 0d |man....RTS.... .| 00001390 05 c8 36 2e 70 72 69 6e 74 5f 63 68 61 72 20 20 |..6.print_char | 000013a0 5c 64 61 74 61 3d 63 68 61 72 61 63 74 65 72 20 |\data=character | 000013b0 64 61 74 61 2c 20 58 2f 59 3d 63 6f 6f 72 64 69 |data, X/Y=coordi| 000013c0 6e 61 74 65 73 0d 05 d2 29 4c 44 41 20 23 26 43 |nates...)LDA #&C| 000013d0 30 3a 53 54 41 20 74 65 6d 70 3a 4c 44 41 20 23 |0:STA temp:LDA #| 000013e0 26 33 34 3a 53 54 41 20 74 65 6d 70 2b 31 0d 05 |&34:STA temp+1..| 000013f0 dc 07 43 4c 43 0d 05 e6 0a 2e 6c 6f 6f 70 31 0d |..CLC.....loop1.| 00001400 05 f0 3c 4c 44 41 20 74 65 6d 70 3a 41 44 43 20 |..<LDA temp:ADC | 00001410 23 26 34 30 3a 53 54 41 20 74 65 6d 70 3a 4c 44 |#&40:STA temp:LD| 00001420 41 20 74 65 6d 70 2b 31 3a 41 44 43 20 23 26 30 |A temp+1:ADC #&0| 00001430 3a 53 54 41 20 74 65 6d 70 2b 31 0d 05 fa 11 44 |:STA temp+1....D| 00001440 45 58 3a 42 50 4c 20 6c 6f 6f 70 31 0d 06 04 0a |EX:BPL loop1....| 00001450 2e 6c 6f 6f 70 31 0d 06 0e 22 4c 44 41 20 74 65 |.loop1..."LDA te| 00001460 6d 70 2b 31 3a 41 44 43 20 23 26 30 35 3a 53 54 |mp+1:ADC #&05:ST| 00001470 41 20 74 65 6d 70 2b 31 0d 06 18 11 44 45 59 3a |A temp+1....DEY:| 00001480 42 50 4c 20 6c 6f 6f 70 31 0d 06 22 21 4c 44 41 |BPL loop1.."!LDA| 00001490 20 64 61 74 61 2b 31 3a 43 4d 50 20 23 26 42 3a | data+1:CMP #&B:| 000014a0 42 4e 45 20 70 63 3a 52 54 53 0d 06 2c 07 2e 70 |BNE pc:RTS..,..p| 000014b0 63 0d 06 36 0b 4c 44 59 20 23 36 33 0d 06 40 0a |c..6.LDY #63..@.| 000014c0 2e 6c 6f 6f 70 31 0d 06 4a 1d 4c 44 41 20 28 64 |.loop1..J.LDA (d| 000014d0 61 74 61 29 2c 59 3a 53 54 41 20 28 74 65 6d 70 |ata),Y:STA (temp| 000014e0 29 2c 59 0d 06 54 11 44 45 59 3a 42 50 4c 20 6c |),Y..T.DEY:BPL l| 000014f0 6f 6f 70 31 0d 06 5e 3c 4c 44 41 20 74 65 6d 70 |oop1..^<LDA temp| 00001500 3a 41 44 43 20 23 26 34 30 3a 53 54 41 20 74 65 |:ADC #&40:STA te| 00001510 6d 70 3a 4c 44 41 20 74 65 6d 70 2b 31 3a 41 44 |mp:LDA temp+1:AD| 00001520 43 20 23 26 32 3a 53 54 41 20 74 65 6d 70 2b 31 |C #&2:STA temp+1| 00001530 0d 06 68 0c 4c 44 59 20 23 31 32 37 0d 06 72 0a |..h.LDY #127..r.| 00001540 2e 6c 6f 6f 70 31 0d 06 7c 1d 4c 44 41 20 28 64 |.loop1..|.LDA (d| 00001550 61 74 61 29 2c 59 3a 53 54 41 20 28 74 65 6d 70 |ata),Y:STA (temp| 00001560 29 2c 59 0d 06 86 19 44 45 59 3a 43 50 59 20 23 |),Y....DEY:CPY #| 00001570 36 34 3a 42 50 4c 20 6c 6f 6f 70 31 0d 06 90 07 |64:BPL loop1....| 00001580 52 54 53 0d 06 9a 05 20 0d 06 a4 0d 2e 6d 6f 76 |RTS.... .....mov| 00001590 65 5f 6d 61 6e 0d 06 ae 44 4c 44 41 20 23 33 31 |e_man...DLDA #31| 000015a0 3a 4a 53 52 20 6f 73 77 72 63 68 3a 4c 44 41 20 |:JSR oswrch:LDA | 000015b0 78 70 6f 73 3a 4a 53 52 20 6f 73 77 72 63 68 3a |xpos:JSR oswrch:| 000015c0 4c 44 41 20 79 70 6f 73 3a 4a 53 52 20 6f 73 77 |LDA ypos:JSR osw| 000015d0 72 63 68 20 5c f1 20 8a 29 0d 06 b8 42 53 45 44 |rch \. .)...BSED| 000015e0 3a 53 45 43 3a 4c 44 41 20 63 6f 75 6e 74 65 72 |:SEC:LDA counter| 000015f0 3a 53 42 43 20 23 31 3a 53 54 41 20 63 6f 75 6e |:SBC #1:STA coun| 00001600 74 65 72 3a 43 4c 44 20 20 5c 63 6f 75 6e 74 65 |ter:CLD \counte| 00001610 72 3d 63 6f 75 6e 74 65 72 2d 31 0d 06 c2 44 80 |r=counter-1...D.| 00001620 20 23 26 46 30 3a 4c 53 52 20 41 3a 4c 53 52 20 | #&F0:LSR A:LSR | 00001630 41 3a 4c 53 52 20 41 3a 4c 53 52 20 41 3a 43 4c |A:LSR A:LSR A:CL| 00001640 43 3a 41 44 43 20 23 34 38 3a 4a 53 52 20 6f 73 |C:ADC #48:JSR os| 00001650 77 72 63 68 20 5c 31 73 74 20 64 69 67 69 74 0d |wrch \1st digit.| 00001660 06 cc 39 4c 44 41 20 63 6f 75 6e 74 65 72 3a 80 |..9LDA counter:.| 00001670 20 23 26 30 46 3a 43 4c 43 3a 41 44 43 20 23 34 | #&0F:CLC:ADC #4| 00001680 38 3a 4a 53 52 20 6f 73 77 72 63 68 20 20 5c 32 |8:JSR oswrch \2| 00001690 6e 64 20 64 69 67 69 74 0d 06 d6 2c 4c 44 41 20 |nd digit...,LDA | 000016a0 23 31 32 39 3a 4c 44 58 20 23 30 3a 4c 44 59 20 |#129:LDX #0:LDY | 000016b0 23 30 3a 4a 53 52 20 6f 73 62 79 74 65 20 20 5c |#0:JSR osbyte \| 000016c0 a6 28 30 29 0d 06 e0 2d 49 4e 59 3a 42 4e 45 20 |.(0)...-INY:BNE | 000016d0 6b 65 79 5f 70 72 65 73 73 65 64 3a 53 54 59 20 |key_pressed:STY | 000016e0 4b 25 3a 4a 4d 50 20 6e 6f 74 5f 65 73 63 61 70 |K%:JMP not_escap| 000016f0 65 0d 06 ea 23 2e 6b 65 79 5f 70 72 65 73 73 65 |e...#.key_presse| 00001700 64 20 44 45 59 3a 42 45 51 20 6e 6f 74 5f 65 73 |d DEY:BEQ not_es| 00001710 63 61 70 65 0d 06 f4 2d 4c 44 41 20 23 31 32 36 |cape...-LDA #126| 00001720 3a 4a 53 52 20 6f 73 62 79 74 65 3a 52 54 53 20 |:JSR osbyte:RTS | 00001730 20 5c 65 73 63 61 70 65 20 70 72 65 73 73 65 64 | \escape pressed| 00001740 20 0d 06 fe 22 2e 6e 6f 74 5f 65 73 63 61 70 65 | ...".not_escape| 00001750 20 53 54 58 20 4b 25 20 20 5c 73 74 6f 72 65 20 | STX K% \store | 00001760 6b 65 79 0d 07 08 2f 4c 44 41 20 23 32 31 3a 4c |key.../LDA #21:L| 00001770 44 58 20 23 30 3a 4c 44 59 20 23 30 3a 4a 53 52 |DX #0:LDY #0:JSR| 00001780 20 6f 73 62 79 74 65 20 20 20 5c 2a 46 58 32 31 | osbyte \*FX21| 00001790 2c 30 0d 07 12 2b 4a 53 52 20 70 6c 61 79 5f 73 |,0...+JSR play_s| 000017a0 6f 75 6e 64 3a 4c 44 41 20 4b 25 20 20 5c 67 65 |ound:LDA K% \ge| 000017b0 74 20 6b 65 79 20 70 72 65 73 73 65 64 0d 07 1c |t key pressed...| 000017c0 24 43 4d 50 20 23 97 22 41 22 3a 42 4e 45 20 6d |$CMP #."A":BNE m| 000017d0 6d 31 3a 4a 4d 50 20 73 6c 69 64 65 5f 6c 65 66 |m1:JMP slide_lef| 000017e0 74 0d 07 26 2a 2e 6d 6d 31 20 43 4d 50 20 23 97 |t..&*.mm1 CMP #.| 000017f0 22 2f 22 3a 42 4e 45 20 6d 6d 32 3a 4a 4d 50 20 |"/":BNE mm2:JMP | 00001800 73 6c 69 64 65 5f 72 69 67 68 74 0d 07 30 08 2e |slide_right..0..| 00001810 6d 6d 32 0d 07 3a 46 4c 44 41 20 59 25 3a 41 53 |mm2..:FLDA Y%:AS| 00001820 4c 20 41 3a 41 53 4c 20 41 3a 41 53 4c 20 41 3a |L A:ASL A:ASL A:| 00001830 41 44 43 20 59 25 3a 41 44 43 20 59 25 3a 41 44 |ADC Y%:ADC Y%:AD| 00001840 43 20 58 25 20 20 5c 67 65 74 20 73 63 72 65 65 |C X% \get scree| 00001850 6e 20 61 64 64 72 65 73 73 0d 07 44 31 54 41 59 |n address..D1TAY| 00001860 3a 4c 44 41 20 26 43 30 30 2c 59 3a 53 54 41 20 |:LDA &C00,Y:STA | 00001870 64 65 61 64 3a 42 4e 45 20 6f 6b 20 20 5c 73 65 |dead:BNE ok \se| 00001880 65 20 69 66 20 73 70 61 63 65 0d 07 4e 3d 4c 44 |e if space..N=LD| 00001890 41 20 78 25 3a 53 54 41 20 58 25 3a 4c 44 41 20 |A x%:STA X%:LDA | 000018a0 79 25 3a 53 54 41 20 59 25 3a 52 54 53 20 20 5c |y%:STA Y%:RTS \| 000018b0 72 65 73 74 6f 72 65 20 6f 6c 64 20 63 6f 6f 72 |restore old coor| 000018c0 64 69 6e 61 74 65 73 0d 07 58 30 2e 6f 6b 20 4c |dinates..X0.ok L| 000018d0 44 41 20 23 30 3a 53 54 41 20 26 43 30 30 2c 59 |DA #0:STA &C00,Y| 000018e0 20 20 5c 73 65 74 20 70 6f 73 69 74 69 6f 6e 20 | \set position | 000018f0 74 6f 20 7a 65 72 6f 0d 07 62 37 4c 44 41 20 23 |to zero..b7LDA #| 00001900 26 38 30 3a 53 54 41 20 64 61 74 61 3a 4c 44 41 |&80:STA data:LDA| 00001910 20 23 26 30 41 3a 53 54 41 20 64 61 74 61 2b 31 | #&0A:STA data+1| 00001920 20 5c 62 6c 61 6e 6b 20 73 71 75 61 72 65 0d 07 | \blank square..| 00001930 6c 1e 4c 44 41 20 23 31 39 3a 4a 53 52 20 6f 73 |l.LDA #19:JSR os| 00001940 62 79 74 65 20 20 5c 2a 46 58 31 39 0d 07 76 30 |byte \*FX19..v0| 00001950 4c 44 58 20 78 25 3a 4c 44 59 20 79 25 3a 4a 53 |LDX x%:LDY y%:JS| 00001960 52 20 70 72 69 6e 74 5f 63 68 61 72 20 20 5c 65 |R print_char \e| 00001970 72 61 73 65 20 6f 6c 64 20 6d 61 6e 0d 07 80 4c |rase old man...L| 00001980 4c 44 41 20 23 26 30 3a 53 54 41 20 64 61 74 61 |LDA #&0:STA data| 00001990 3a 4c 44 58 20 58 25 3a 53 54 58 20 78 25 3a 4c |:LDX X%:STX x%:L| 000019a0 44 59 20 59 25 3a 53 54 59 20 79 25 20 20 5c 73 |DY Y%:STY y% \s| 000019b0 74 6f 72 65 20 70 72 65 73 65 6e 74 20 63 6f 6f |tore present coo| 000019c0 72 64 69 6e 61 74 65 73 0d 07 8a 22 4a 53 52 20 |rdinates..."JSR | 000019d0 70 72 69 6e 74 5f 63 68 61 72 20 20 5c 70 72 69 |print_char \pri| 000019e0 6e 74 20 6e 65 77 20 6d 61 6e 0d 07 94 19 4c 44 |nt new man....LD| 000019f0 41 20 70 78 3a 43 4d 50 20 78 25 3a 42 4e 45 20 |A px:CMP x%:BNE | 00001a00 6d 6d 35 0d 07 9e 19 4c 44 41 20 70 79 3a 43 4d |mm5....LDA py:CM| 00001a10 50 20 79 25 3a 42 4e 45 20 6d 6d 35 0d 07 a8 13 |P y%:BNE mm5....| 00001a20 4c 44 41 20 23 32 3a 53 54 41 20 64 65 61 64 0d |LDA #2:STA dead.| 00001a30 07 b2 0c 2e 6d 6d 35 20 52 54 53 0d 07 bc 05 20 |....mm5 RTS.... | 00001a40 0d 07 c6 0f 2e 73 6c 69 64 65 5f 6c 65 66 74 0d |.....slide_left.| 00001a50 07 d0 3f 4c 44 41 20 79 25 3a 41 53 4c 20 41 3a |..?LDA y%:ASL A:| 00001a60 41 53 4c 20 41 3a 41 53 4c 20 41 3a 41 44 43 20 |ASL A:ASL A:ADC | 00001a70 79 25 3a 41 44 43 20 79 25 20 20 5c 67 65 74 20 |y%:ADC y% \get | 00001a80 73 63 72 65 65 6e 20 61 64 64 72 65 73 73 0d 07 |screen address..| 00001a90 da 30 54 41 59 3a 4c 44 41 20 26 43 30 30 2c 59 |.0TAY:LDA &C00,Y| 00001aa0 3a 50 48 41 3a 50 48 41 20 20 5c 73 61 76 65 20 |:PHA:PHA \save | 00001ab0 6c 65 66 74 20 63 68 61 72 61 63 74 65 72 0d 07 |left character..| 00001ac0 e4 0a 4c 44 58 20 23 39 0d 07 ee 0a 2e 6c 6f 6f |..LDX #9.....loo| 00001ad0 70 31 0d 07 f8 19 4c 44 41 20 26 43 30 31 2c 59 |p1....LDA &C01,Y| 00001ae0 3a 53 54 41 20 26 43 30 30 2c 59 0d 08 02 15 49 |:STA &C00,Y....I| 00001af0 4e 59 3a 44 45 58 3a 42 4e 45 20 6c 6f 6f 70 31 |NY:DEX:BNE loop1| 00001b00 0d 08 0c 1d 50 4c 41 3a 53 54 41 20 26 43 30 30 |....PLA:STA &C00| 00001b10 2c 59 3a 53 54 59 20 73 63 72 65 65 6e 0d 08 16 |,Y:STY screen...| 00001b20 15 4c 44 58 20 78 25 3a 44 45 58 3a 42 50 4c 20 |.LDX x%:DEX:BPL | 00001b30 73 6c 0d 08 20 0a 4c 44 58 20 23 39 0d 08 2a 07 |sl.. .LDX #9..*.| 00001b40 2e 73 6c 0d 08 34 11 53 54 58 20 78 25 3a 53 54 |.sl..4.STX x%:ST| 00001b50 58 20 58 25 0d 08 3e 54 4c 44 41 20 23 26 38 30 |X X%..>TLDA #&80| 00001b60 3a 53 54 41 20 64 61 74 61 3a 4c 44 41 20 23 26 |:STA data:LDA #&| 00001b70 30 42 3a 53 54 41 20 64 61 74 61 2b 31 3a 4c 44 |0B:STA data+1:LD| 00001b80 58 20 70 78 3a 4c 44 59 20 70 79 3a 4a 53 52 20 |X px:LDY py:JSR | 00001b90 70 65 6e 5f 70 72 69 6e 74 20 5c 70 72 69 6e 74 |pen_print \print| 00001ba0 20 70 65 6e 67 75 69 6e 0d 08 48 29 4c 44 41 20 | penguin..H)LDA | 00001bb0 23 26 30 30 3a 53 54 41 20 74 65 6d 70 3a 4c 44 |#&00:STA temp:LD| 00001bc0 41 20 23 26 33 35 3a 53 54 41 20 74 65 6d 70 2b |A #&35:STA temp+| 00001bd0 31 0d 08 52 0e 4c 44 59 20 79 25 3a 43 4c 43 0d |1..R.LDY y%:CLC.| 00001be0 08 5c 0a 2e 6c 6f 6f 70 31 0d 08 66 22 4c 44 41 |.\..loop1..f"LDA| 00001bf0 20 74 65 6d 70 2b 31 3a 41 44 43 20 23 26 30 35 | temp+1:ADC #&05| 00001c00 3a 53 54 41 20 74 65 6d 70 2b 31 0d 08 70 11 44 |:STA temp+1..p.D| 00001c10 45 59 3a 42 50 4c 20 6c 6f 6f 70 31 0d 08 7a 3b |EY:BPL loop1..z;| 00001c20 4c 44 41 20 74 65 6d 70 3a 41 44 43 20 23 26 34 |LDA temp:ADC #&4| 00001c30 30 3a 53 54 41 20 64 61 74 61 3a 4c 44 41 20 74 |0:STA data:LDA t| 00001c40 65 6d 70 2b 31 3a 41 44 43 20 23 30 3a 53 54 41 |emp+1:ADC #0:STA| 00001c50 20 64 61 74 61 2b 31 0d 08 84 19 4c 44 58 20 23 | data+1....LDX #| 00001c60 31 39 20 20 5c 73 63 72 6f 6c 6c 20 6c 65 66 74 |19 \scroll left| 00001c70 0d 08 8e 0a 2e 6c 6f 6f 70 31 0d 08 98 0b 4c 44 |.....loop1....LD| 00001c80 59 20 23 36 33 0d 08 a2 0a 2e 6c 6f 6f 70 32 0d |Y #63.....loop2.| 00001c90 08 ac 1d 4c 44 41 20 28 64 61 74 61 29 2c 59 3a |...LDA (data),Y:| 00001ca0 53 54 41 20 28 74 65 6d 70 29 2c 59 0d 08 b6 11 |STA (temp),Y....| 00001cb0 44 45 59 3a 42 50 4c 20 6c 6f 6f 70 32 0d 08 c0 |DEY:BPL loop2...| 00001cc0 07 43 4c 43 0d 08 ca 3b 4c 44 41 20 74 65 6d 70 |.CLC...;LDA temp| 00001cd0 3a 41 44 43 20 23 26 34 30 3a 53 54 41 20 74 65 |:ADC #&40:STA te| 00001ce0 6d 70 3a 4c 44 41 20 74 65 6d 70 2b 31 3a 41 44 |mp:LDA temp+1:AD| 00001cf0 43 20 23 30 3a 53 54 41 20 74 65 6d 70 2b 31 0d |C #0:STA temp+1.| 00001d00 08 d4 3b 4c 44 41 20 64 61 74 61 3a 41 44 43 20 |..;LDA data:ADC | 00001d10 23 26 34 30 3a 53 54 41 20 64 61 74 61 3a 4c 44 |#&40:STA data:LD| 00001d20 41 20 64 61 74 61 2b 31 3a 41 44 43 20 23 30 3a |A data+1:ADC #0:| 00001d30 53 54 41 20 64 61 74 61 2b 31 0d 08 de 11 44 45 |STA data+1....DE| 00001d40 58 3a 42 4e 45 20 6c 6f 6f 70 31 0d 08 e8 0f 50 |X:BNE loop1....P| 00001d50 4c 41 3a 42 4e 45 20 73 6c 61 0d 08 f2 1c 4c 44 |LA:BNE sla....LD| 00001d60 58 20 23 26 38 30 3a 4c 44 59 20 23 26 41 3a 4a |X #&80:LDY #&A:J| 00001d70 4d 50 20 73 6c 64 0d 08 fc 18 2e 73 6c 61 20 54 |MP sld.....sla T| 00001d80 41 58 3a 44 45 58 3a 42 4e 45 20 73 6c 62 0d 09 |AX:DEX:BNE slb..| 00001d90 06 1b 4c 44 58 20 23 26 30 3a 4c 44 59 20 23 26 |..LDX #&0:LDY #&| 00001da0 39 3a 4a 4d 50 20 73 6c 64 0d 09 10 19 2e 73 6c |9:JMP sld.....sl| 00001db0 62 20 4c 44 58 20 23 26 38 30 3a 4c 44 59 20 23 |b LDX #&80:LDY #| 00001dc0 26 39 0d 09 1a 39 2e 73 6c 64 20 53 54 58 20 64 |&9...9.sld STX d| 00001dd0 61 74 61 3a 53 54 59 20 64 61 74 61 2b 31 3a 4c |ata:STY data+1:L| 00001de0 44 58 20 23 39 3a 4c 44 59 20 79 25 3a 4a 53 52 |DX #9:LDY y%:JSR| 00001df0 20 70 72 69 6e 74 5f 63 68 61 72 0d 09 24 46 4c | print_char..$FL| 00001e00 44 41 20 23 26 30 30 3a 53 54 41 20 64 61 74 61 |DA #&00:STA data| 00001e10 3a 4c 44 41 20 23 26 30 41 3a 53 54 41 20 64 61 |:LDA #&0A:STA da| 00001e20 74 61 2b 31 3a 4c 44 58 20 78 25 3a 4c 44 59 20 |ta+1:LDX x%:LDY | 00001e30 79 25 3a 4a 53 52 20 70 72 69 6e 74 5f 63 68 61 |y%:JSR print_cha| 00001e40 72 0d 09 2e 2a 4c 44 41 20 79 25 3a 41 53 4c 20 |r...*LDA y%:ASL | 00001e50 41 3a 41 44 43 20 23 35 3a 43 4d 50 20 79 70 6f |A:ADC #5:CMP ypo| 00001e60 73 3a 42 4e 45 20 73 6c 65 6e 64 0d 09 38 1f 44 |s:BNE slend..8.D| 00001e70 45 43 20 78 70 6f 73 3a 44 45 43 20 78 70 6f 73 |EC xpos:DEC xpos| 00001e80 3a 42 50 4c 20 73 6c 65 6e 64 0d 09 42 14 4c 44 |:BPL slend..B.LD| 00001e90 41 20 23 31 38 3a 53 54 41 20 78 70 6f 73 0d 09 |A #18:STA xpos..| 00001ea0 4c 0a 2e 73 6c 65 6e 64 0d 09 56 19 4c 44 41 20 |L..slend..V.LDA | 00001eb0 70 79 3a 43 4d 50 20 79 25 3a 42 4e 45 20 73 6c |py:CMP y%:BNE sl| 00001ec0 35 0d 09 60 12 44 45 43 20 70 78 3a 42 50 4c 20 |5..`.DEC px:BPL | 00001ed0 73 6c 35 0d 09 6a 11 4c 44 41 20 23 39 3a 53 54 |sl5..j.LDA #9:ST| 00001ee0 41 20 70 78 0d 09 74 08 2e 73 6c 35 0d 09 7e 54 |A px..t..sl5..~T| 00001ef0 4c 44 41 20 23 26 38 30 3a 53 54 41 20 64 61 74 |LDA #&80:STA dat| 00001f00 61 3a 4c 44 41 20 23 26 30 42 3a 53 54 41 20 64 |a:LDA #&0B:STA d| 00001f10 61 74 61 2b 31 3a 4c 44 58 20 70 78 3a 4c 44 59 |ata+1:LDX px:LDY| 00001f20 20 70 79 3a 4a 53 52 20 70 65 6e 5f 70 72 69 6e | py:JSR pen_prin| 00001f30 74 20 5c 70 72 69 6e 74 20 70 65 6e 67 75 69 6e |t \print penguin| 00001f40 0d 09 88 07 52 54 53 0d 09 92 05 20 0d 09 9c 10 |....RTS.... ....| 00001f50 2e 73 6c 69 64 65 5f 72 69 67 68 74 0d 09 a6 46 |.slide_right...F| 00001f60 4c 44 41 20 79 25 3a 41 53 4c 20 41 3a 41 53 4c |LDA y%:ASL A:ASL| 00001f70 20 41 3a 41 53 4c 20 41 3a 41 44 43 20 79 25 3a | A:ASL A:ADC y%:| 00001f80 41 44 43 20 79 25 3a 41 44 43 20 23 39 20 20 5c |ADC y%:ADC #9 \| 00001f90 67 65 74 20 73 63 72 65 65 6e 20 61 64 64 72 65 |get screen addre| 00001fa0 73 73 0d 09 b0 31 54 41 59 3a 4c 44 41 20 26 43 |ss...1TAY:LDA &C| 00001fb0 30 30 2c 59 3a 50 48 41 3a 50 48 41 20 20 5c 73 |00,Y:PHA:PHA \s| 00001fc0 61 76 65 20 72 69 67 68 74 20 63 68 61 72 61 63 |ave right charac| 00001fd0 74 65 72 0d 09 ba 0a 4c 44 58 20 23 39 0d 09 c4 |ter....LDX #9...| 00001fe0 0a 2e 6c 6f 6f 70 31 0d 09 ce 19 4c 44 41 20 26 |..loop1....LDA &| 00001ff0 42 46 46 2c 59 3a 53 54 41 20 26 43 30 30 2c 59 |BFF,Y:STA &C00,Y| 00002000 0d 09 d8 15 44 45 59 3a 44 45 58 3a 42 4e 45 20 |....DEY:DEX:BNE | 00002010 6c 6f 6f 70 31 0d 09 e2 1d 50 4c 41 3a 53 54 41 |loop1....PLA:STA| 00002020 20 26 43 30 30 2c 59 3a 53 54 59 20 73 63 72 65 | &C00,Y:STY scre| 00002030 65 6e 0d 09 ec 1d 4c 44 58 20 78 25 3a 49 4e 58 |en....LDX x%:INX| 00002040 3a 43 50 58 20 23 31 30 3a 42 4e 45 20 73 72 0d |:CPX #10:BNE sr.| 00002050 09 f6 0a 4c 44 58 20 23 30 0d 0a 00 07 2e 73 72 |...LDX #0.....sr| 00002060 0d 0a 0a 11 53 54 58 20 78 25 3a 53 54 58 20 58 |....STX x%:STX X| 00002070 25 0d 0a 14 54 4c 44 41 20 23 26 38 30 3a 53 54 |%...TLDA #&80:ST| 00002080 41 20 64 61 74 61 3a 4c 44 41 20 23 26 30 42 3a |A data:LDA #&0B:| 00002090 53 54 41 20 64 61 74 61 2b 31 3a 4c 44 58 20 70 |STA data+1:LDX p| 000020a0 78 3a 4c 44 59 20 70 79 3a 4a 53 52 20 70 65 6e |x:LDY py:JSR pen| 000020b0 5f 70 72 69 6e 74 20 5c 70 72 69 6e 74 20 70 65 |_print \print pe| 000020c0 6e 67 75 69 6e 0d 0a 1e 29 4c 44 41 20 23 26 43 |nguin...)LDA #&C| 000020d0 30 3a 53 54 41 20 74 65 6d 70 3a 4c 44 41 20 23 |0:STA temp:LDA #| 000020e0 26 33 39 3a 53 54 41 20 74 65 6d 70 2b 31 0d 0a |&39:STA temp+1..| 000020f0 28 0e 4c 44 59 20 79 25 3a 43 4c 43 0d 0a 32 0a |(.LDY y%:CLC..2.| 00002100 2e 6c 6f 6f 70 31 0d 0a 3c 22 4c 44 41 20 74 65 |.loop1..<"LDA te| 00002110 6d 70 2b 31 3a 41 44 43 20 23 26 30 35 3a 53 54 |mp+1:ADC #&05:ST| 00002120 41 20 74 65 6d 70 2b 31 0d 0a 46 11 44 45 59 3a |A temp+1..F.DEY:| 00002130 42 50 4c 20 6c 6f 6f 70 31 0d 0a 50 3f 53 45 43 |BPL loop1..P?SEC| 00002140 3a 4c 44 41 20 74 65 6d 70 3a 53 42 43 20 23 26 |:LDA temp:SBC #&| 00002150 34 30 3a 53 54 41 20 64 61 74 61 3a 4c 44 41 20 |40:STA data:LDA | 00002160 74 65 6d 70 2b 31 3a 53 42 43 20 23 30 3a 53 54 |temp+1:SBC #0:ST| 00002170 41 20 64 61 74 61 2b 31 0d 0a 5a 1a 4c 44 58 20 |A data+1..Z.LDX | 00002180 23 31 39 20 20 5c 73 63 72 6f 6c 6c 20 72 69 67 |#19 \scroll rig| 00002190 68 74 0d 0a 64 0a 2e 6c 6f 6f 70 31 0d 0a 6e 0b |ht..d..loop1..n.| 000021a0 4c 44 59 20 23 36 33 0d 0a 78 0a 2e 6c 6f 6f 70 |LDY #63..x..loop| 000021b0 32 0d 0a 82 1d 4c 44 41 20 28 64 61 74 61 29 2c |2....LDA (data),| 000021c0 59 3a 53 54 41 20 28 74 65 6d 70 29 2c 59 0d 0a |Y:STA (temp),Y..| 000021d0 8c 11 44 45 59 3a 42 50 4c 20 6c 6f 6f 70 32 0d |..DEY:BPL loop2.| 000021e0 0a 96 07 53 45 43 0d 0a a0 3b 4c 44 41 20 74 65 |...SEC...;LDA te| 000021f0 6d 70 3a 53 42 43 20 23 26 34 30 3a 53 54 41 20 |mp:SBC #&40:STA | 00002200 74 65 6d 70 3a 4c 44 41 20 74 65 6d 70 2b 31 3a |temp:LDA temp+1:| 00002210 53 42 43 20 23 30 3a 53 54 41 20 74 65 6d 70 2b |SBC #0:STA temp+| 00002220 31 0d 0a aa 3b 4c 44 41 20 64 61 74 61 3a 53 42 |1...;LDA data:SB| 00002230 43 20 23 26 34 30 3a 53 54 41 20 64 61 74 61 3a |C #&40:STA data:| 00002240 4c 44 41 20 64 61 74 61 2b 31 3a 53 42 43 20 23 |LDA data+1:SBC #| 00002250 30 3a 53 54 41 20 64 61 74 61 2b 31 0d 0a b4 11 |0:STA data+1....| 00002260 44 45 58 3a 42 4e 45 20 6c 6f 6f 70 31 0d 0a be |DEX:BNE loop1...| 00002270 0f 50 4c 41 3a 42 4e 45 20 73 72 61 0d 0a c8 1c |.PLA:BNE sra....| 00002280 4c 44 58 20 23 26 38 30 3a 4c 44 59 20 23 26 41 |LDX #&80:LDY #&A| 00002290 3a 4a 4d 50 20 73 72 64 0d 0a d2 18 2e 73 72 61 |:JMP srd.....sra| 000022a0 20 54 41 58 3a 44 45 58 3a 42 4e 45 20 73 72 62 | TAX:DEX:BNE srb| 000022b0 0d 0a dc 1b 4c 44 58 20 23 26 30 3a 4c 44 59 20 |....LDX #&0:LDY | 000022c0 23 26 39 3a 4a 4d 50 20 73 72 64 0d 0a e6 19 2e |#&9:JMP srd.....| 000022d0 73 72 62 20 4c 44 58 20 23 26 38 30 3a 4c 44 59 |srb LDX #&80:LDY| 000022e0 20 23 26 39 0d 0a f0 39 2e 73 72 64 20 53 54 58 | #&9...9.srd STX| 000022f0 20 64 61 74 61 3a 53 54 59 20 64 61 74 61 2b 31 | data:STY data+1| 00002300 3a 4c 44 58 20 23 30 3a 4c 44 59 20 79 25 3a 4a |:LDX #0:LDY y%:J| 00002310 53 52 20 70 72 69 6e 74 5f 63 68 61 72 0d 0a fa |SR print_char...| 00002320 46 4c 44 41 20 23 26 30 30 3a 53 54 41 20 64 61 |FLDA #&00:STA da| 00002330 74 61 3a 4c 44 41 20 23 26 30 41 3a 53 54 41 20 |ta:LDA #&0A:STA | 00002340 64 61 74 61 2b 31 3a 4c 44 58 20 78 25 3a 4c 44 |data+1:LDX x%:LD| 00002350 59 20 79 25 3a 4a 53 52 20 70 72 69 6e 74 5f 63 |Y y%:JSR print_c| 00002360 68 61 72 0d 0b 04 2a 4c 44 41 20 79 25 3a 41 53 |har...*LDA y%:AS| 00002370 4c 20 41 3a 41 44 43 20 23 35 3a 43 4d 50 20 79 |L A:ADC #5:CMP y| 00002380 70 6f 73 3a 42 4e 45 20 73 72 65 6e 64 0d 0b 0e |pos:BNE srend...| 00002390 30 49 4e 43 20 78 70 6f 73 3a 49 4e 43 20 78 70 |0INC xpos:INC xp| 000023a0 6f 73 3a 4c 44 41 20 78 70 6f 73 3a 43 4d 50 20 |os:LDA xpos:CMP | 000023b0 23 32 30 3a 42 4e 45 20 73 72 65 6e 64 0d 0b 18 |#20:BNE srend...| 000023c0 13 4c 44 41 20 23 30 3a 53 54 41 20 78 70 6f 73 |.LDA #0:STA xpos| 000023d0 0d 0b 22 0a 2e 73 72 65 6e 64 0d 0b 2c 19 4c 44 |.."..srend..,.LD| 000023e0 41 20 70 79 3a 43 4d 50 20 79 25 3a 42 4e 45 20 |A py:CMP y%:BNE | 000023f0 73 72 35 0d 0b 36 21 49 4e 43 20 70 78 3a 4c 44 |sr5..6!INC px:LD| 00002400 41 20 70 78 3a 43 4d 50 20 23 31 30 3a 42 4e 45 |A px:CMP #10:BNE| 00002410 20 73 72 35 0d 0b 40 11 4c 44 41 20 23 30 3a 53 | sr5..@.LDA #0:S| 00002420 54 41 20 70 78 0d 0b 4a 08 2e 73 72 35 0d 0b 54 |TA px..J..sr5..T| 00002430 54 4c 44 41 20 23 26 38 30 3a 53 54 41 20 64 61 |TLDA #&80:STA da| 00002440 74 61 3a 4c 44 41 20 23 26 30 42 3a 53 54 41 20 |ta:LDA #&0B:STA | 00002450 64 61 74 61 2b 31 3a 4c 44 58 20 70 78 3a 4c 44 |data+1:LDX px:LD| 00002460 59 20 70 79 3a 4a 53 52 20 70 65 6e 5f 70 72 69 |Y py:JSR pen_pri| 00002470 6e 74 20 5c 70 72 69 6e 74 20 70 65 6e 67 75 69 |nt \print pengui| 00002480 6e 0d 0b 5e 07 52 54 53 0d 0b 68 05 20 0d 0b 72 |n..^.RTS..h. ..r| 00002490 0f 2e 70 6c 61 79 5f 73 6f 75 6e 64 0d 0b 7c 17 |..play_sound..|.| 000024a0 4c 44 41 20 4b 25 3a 42 4e 45 20 6e 6f 74 65 3a |LDA K%:BNE note:| 000024b0 52 54 53 0d 0b 86 09 2e 6e 6f 74 65 0d 0b 90 35 |RTS.....note...5| 000024c0 4c 44 41 20 63 6f 75 6e 74 65 72 3a 41 53 4c 20 |LDA counter:ASL | 000024d0 41 3a 41 53 4c 20 41 3a 41 44 43 20 63 6f 75 6e |A:ASL A:ADC coun| 000024e0 74 65 72 3a 80 20 23 37 20 20 5c b3 28 37 29 2d |ter:. #7 \.(7)-| 000024f0 31 0d 0b 9a 23 54 41 59 3a 4c 44 41 20 73 6f 75 |1...#TAY:LDA sou| 00002500 6e 64 64 61 74 61 2c 59 3a 53 54 41 20 73 6f 75 |nddata,Y:STA sou| 00002510 6e 64 2b 34 0d 0b a4 09 2e 62 65 65 70 0d 0b ae |nd+4.....beep...| 00002520 35 4c 44 58 20 23 73 6f 75 6e 64 20 83 32 35 36 |5LDX #sound .256| 00002530 3a 4c 44 59 20 23 73 6f 75 6e 64 20 81 32 35 36 |:LDY #sound .256| 00002540 3a 4c 44 41 20 23 37 3a 4a 4d 50 20 6f 73 77 6f |:LDA #7:JMP oswo| 00002550 72 64 0d 0b b8 05 20 0d 0b c2 0c 2e 70 65 6e 67 |rd.... .....peng| 00002560 75 69 6e 0d 0b cc 20 4c 44 41 20 63 6f 75 6e 74 |uin... LDA count| 00002570 65 72 3a 80 20 23 31 3a 42 45 51 20 70 67 38 3a |er:. #1:BEQ pg8:| 00002580 52 54 53 0d 0b d6 08 2e 70 67 38 0d 0b e0 1f 4c |RTS.....pg8....L| 00002590 44 41 20 23 30 3a 53 54 41 20 73 6f 75 6e 64 2b |DA #0:STA sound+| 000025a0 34 3a 4a 53 52 20 62 65 65 70 0d 0b ea 19 4c 44 |4:JSR beep....LD| 000025b0 41 20 70 78 3a 50 48 41 3a 4c 44 41 20 70 79 3a |A px:PHA:LDA py:| 000025c0 50 48 41 0d 0b f4 35 4c 44 41 20 63 6f 75 6e 74 |PHA...5LDA count| 000025d0 65 72 3a 41 53 4c 20 41 3a 41 53 4c 20 41 3a 41 |er:ASL A:ASL A:A| 000025e0 44 43 20 63 6f 75 6e 74 65 72 3a 80 20 23 33 20 |DC counter:. #3 | 000025f0 20 5c b3 28 37 29 2d 31 0d 0b fe 0f 54 41 58 3a | \.(7)-1....TAX:| 00002600 42 4e 45 20 70 67 31 0d 0c 08 14 49 4e 43 20 70 |BNE pg1....INC p| 00002610 78 3a 4a 4d 50 20 70 65 6e 67 69 0d 0c 12 14 2e |x:JMP pengi.....| 00002620 70 67 31 20 44 45 58 3a 42 4e 45 20 70 67 32 0d |pg1 DEX:BNE pg2.| 00002630 0c 1c 14 44 45 43 20 70 78 3a 4a 4d 50 20 70 65 |...DEC px:JMP pe| 00002640 6e 67 69 0d 0c 26 14 2e 70 67 32 20 44 45 58 3a |ngi..&..pg2 DEX:| 00002650 42 4e 45 20 70 67 33 0d 0c 30 14 49 4e 43 20 70 |BNE pg3..0.INC p| 00002660 79 3a 4a 4d 50 20 70 65 6e 67 69 0d 0c 3a 0f 2e |y:JMP pengi..:..| 00002670 70 67 33 20 44 45 43 20 70 79 0d 0c 44 0a 2e 70 |pg3 DEC py..D..p| 00002680 65 6e 67 69 0d 0c 4e 20 4c 44 41 20 70 78 3a 42 |engi..N LDA px:B| 00002690 50 4c 20 70 67 34 3a 4c 44 41 20 23 39 3a 53 54 |PL pg4:LDA #9:ST| 000026a0 41 20 70 78 0d 0c 58 26 2e 70 67 34 20 43 4d 50 |A px..X&.pg4 CMP| 000026b0 20 23 31 30 3a 42 4e 45 20 70 67 35 3a 4c 44 41 | #10:BNE pg5:LDA| 000026c0 20 23 30 3a 53 54 41 20 70 78 0d 0c 62 26 2e 70 | #0:STA px..b&.p| 000026d0 67 35 20 4c 44 41 20 70 79 3a 42 50 4c 20 70 67 |g5 LDA py:BPL pg| 000026e0 36 3a 4c 44 41 20 23 31 33 3a 53 54 41 20 70 79 |6:LDA #13:STA py| 000026f0 0d 0c 6c 26 2e 70 67 36 20 43 4d 50 20 23 31 34 |..l&.pg6 CMP #14| 00002700 3a 42 4e 45 20 70 67 37 3a 4c 44 41 20 23 30 3a |:BNE pg7:LDA #0:| 00002710 53 54 41 20 70 79 0d 0c 76 2e 2e 70 67 37 20 4c |STA py..v..pg7 L| 00002720 44 41 20 23 26 38 30 3a 53 54 41 20 64 61 74 61 |DA #&80:STA data| 00002730 3a 4c 44 41 20 23 26 30 42 3a 53 54 41 20 64 61 |:LDA #&0B:STA da| 00002740 74 61 2b 31 0d 0c 80 21 50 4c 41 3a 54 41 59 3a |ta+1...!PLA:TAY:| 00002750 50 4c 41 3a 54 41 58 3a 4a 53 52 20 70 65 6e 5f |PLA:TAX:JSR pen_| 00002760 70 72 69 6e 74 0d 0c 8a 1f 4c 44 58 20 70 78 3a |print....LDX px:| 00002770 4c 44 59 20 70 79 3a 4a 53 52 20 70 65 6e 5f 70 |LDY py:JSR pen_p| 00002780 72 69 6e 74 0d 0c 94 1b 4c 44 41 20 70 78 3a 43 |rint....LDA px:C| 00002790 4d 50 20 78 25 3a 42 4e 45 20 70 67 65 6e 64 0d |MP x%:BNE pgend.| 000027a0 0c 9e 1b 4c 44 41 20 70 79 3a 43 4d 50 20 79 25 |...LDA py:CMP y%| 000027b0 3a 42 4e 45 20 70 67 65 6e 64 0d 0c a8 13 4c 44 |:BNE pgend....LD| 000027c0 41 20 23 32 3a 53 54 41 20 64 65 61 64 0d 0c b2 |A #2:STA dead...| 000027d0 0e 2e 70 67 65 6e 64 20 52 54 53 0d 0c bc 05 20 |..pgend RTS.... | 000027e0 0d 0c c6 20 2e 70 65 6e 5f 70 72 69 6e 74 20 20 |... .pen_print | 000027f0 5c 58 2c 59 3d 63 6f 6f 72 64 69 6e 61 74 65 73 |\X,Y=coordinates| 00002800 0d 0c d0 32 54 58 41 3a 50 48 41 3a 54 59 41 3a |...2TXA:PHA:TYA:| 00002810 50 48 41 3a 4a 53 52 20 70 72 69 6e 74 5f 63 68 |PHA:JSR print_ch| 00002820 61 72 3a 50 4c 41 3a 54 41 59 3a 50 4c 41 3a 54 |ar:PLA:TAY:PLA:T| 00002830 41 58 0d 0c da 45 4c 44 59 20 23 36 33 3a 2e 6c |AX...ELDY #63:.l| 00002840 6f 6f 70 31 20 4c 44 41 20 28 64 61 74 61 29 2c |oop1 LDA (data),| 00002850 59 3a 82 20 28 74 65 6d 70 29 2c 59 3a 53 54 41 |Y:. (temp),Y:STA| 00002860 20 28 74 65 6d 70 29 2c 59 3a 44 45 59 3a 42 50 | (temp),Y:DEY:BP| 00002870 4c 20 6c 6f 6f 70 31 0d 0c e4 3c 4c 44 41 20 74 |L loop1...<LDA t| 00002880 65 6d 70 3a 41 44 43 20 23 26 34 30 3a 53 54 41 |emp:ADC #&40:STA| 00002890 20 74 65 6d 70 3a 4c 44 41 20 74 65 6d 70 2b 31 | temp:LDA temp+1| 000028a0 3a 41 44 43 20 23 26 32 3a 53 54 41 20 74 65 6d |:ADC #&2:STA tem| 000028b0 70 2b 31 0d 0c ee 4e 4c 44 59 20 23 31 32 37 3a |p+1...NLDY #127:| 000028c0 2e 6c 6f 6f 70 31 20 4c 44 41 20 28 64 61 74 61 |.loop1 LDA (data| 000028d0 29 2c 59 3a 82 20 28 74 65 6d 70 29 2c 59 3a 53 |),Y:. (temp),Y:S| 000028e0 54 41 20 28 74 65 6d 70 29 2c 59 3a 44 45 59 3a |TA (temp),Y:DEY:| 000028f0 43 50 59 20 23 36 34 3a 42 50 4c 20 6c 6f 6f 70 |CPY #64:BPL loop| 00002900 31 0d 0c f8 07 52 54 53 0d 0d 02 05 5d 0d 0d 0c |1....RTS....]...| 00002910 05 ed 0d 0d 16 35 43 25 3d 6d 6f 76 65 5f 6d 61 |.....5C%=move_ma| 00002920 6e 3a 4c 25 3d 70 72 69 6e 74 5f 63 68 61 72 3a |n:L%=print_char:| 00002930 4d 25 3d 70 65 6e 5f 70 72 69 6e 74 3a 4e 25 3d |M%=pen_print:N%=| 00002940 70 65 6e 67 75 69 6e 0d 0d 20 54 2a 4b 45 59 30 |penguin.. T*KEY0| 00002950 20 22 7c 47 44 45 4c 2e 36 30 2c 39 30 7c 4d 7c | "|GDEL.60,90|M|| 00002960 47 44 45 4c 2e 31 30 33 30 2c 33 33 38 30 7c 4d |GDEL.1030,3380|M| 00002970 7c 47 46 2e 49 25 3d 30 20 54 4f 20 50 25 3a 49 ||GF.I%=0 TO P%:I| 00002980 25 3f 26 32 43 30 30 3d 49 25 3f 26 35 30 30 30 |%?&2C00=I%?&5000| 00002990 3a 4e 2e 7c 4d 52 55 4e 7c 4d 22 0d 0d 2a 16 f1 |:N.|MRUN|M"..*..| 000029a0 27 27 22 54 68 69 6e 6b 69 6e 67 2e 2e 2e 22 27 |''"Thinking..."'| 000029b0 27 0d 0d 34 10 2a 46 58 31 33 38 2c 30 2c 31 32 |'..4.*FX138,0,12| 000029c0 38 0d 0d 3e 05 e1 0d ff |8..>....| 000029c8