Home » Personal collection » Acorn tapes » Commercial_Releases » box04_tape12a_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_tape12a_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:

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
dLDY #&80
n	.here
xSTY 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
hLDY #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
MRFREEZE.m0
MRFREEZE.m1
MRFREEZE.m2
MRFREEZE.m4
MRFREEZE.m5