Home » Archimedes archive » Archimedes World » AW-1993-08.adf » AWAug93 » !AWAug93/Goodies/Reaction/!Reaction/!RunImage

!AWAug93/Goodies/Reaction/!Reaction/!RunImage

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 » Archimedes archive » Archimedes World » AW-1993-08.adf » AWAug93
Filename: !AWAug93/Goodies/Reaction/!Reaction/!RunImage
Read OK:
File size: 75FB bytes
Load address: 0000
Exec address: 0000
File contents
   10REM >!RunImage
   20REM Reaction
   30REM By Gareth Moore
   40REM Copyright (c)Archimedes World 1993
   50REM
   60REM Version 2.1
   70*FX200,1
   80SYS"OS_Byte",11,0 TO,repeatrate%
   90SYS"OS_Byte",11,repeatrate%
  100ONERRORGOTO120
  110*CACHE ON
  120MODE15:OFF:ONERRORMODE12:PROCinit:PROCsprites:GOTO220
  130*RMLOAD <Reaction$Dir>.Reaction
  140*RUN <Reaction$Dir>.Font
  150*FX200
  160PROCscroll
  170PROCinit
  180PROCsprites
  190REPEATPROCintro
  200PROCinstruct
  210UNTIL0
  220MODE13:OFF:ONERRORONERROROFF:IFERR<>17THENPROCerror:ENDELSEMO.0:OFF:PRINT"Please re-run this application. (Pressing <ESCAPE> while loading causes         problems).":SYS"OS_Byte",11,repeatrate%:END
  230*RMLOAD <Reaction$Dir>.Thunder
  240*RMLOAD <Reaction$Dir>.Ping
  250*RMLOAD <Reaction$Dir>.Laugh
  260*RMLOAD <Reaction$Dir>.GameOver
  270*RMLOAD <Reaction$Dir>.Magic
  280VOICES 1
  290ONERRORONERROROFF:PROCerror:END
  300*CHANNELVOICE 1 Ping
  310REPEATL%=0:LEV%=1:S%=0:VOICES 1:PROCaddresses(L%)
  320IFNOTskip%PROCstart
  330ONERRORskip%=TRUE:GOTO310  :REM Error handling disabled 28/4/93
  340IFNOTskip%PROCgame
  350ONERRORONERROROFF:PROCerror:END
  360PROCend
  370PROChiscores
  380UNTIL0
  390END
  400DEFPROCinit
  410LOCALERROR
  420ONERRORMODE0:PRINTREPORT$;" at line ";ERL:SYS"OS_Byte",11,repeatrate%:END
  430S%=0:file%=OPENUP("<Reaction$Dir>.Scores"):INPUT#file%,dummy$,HIS%:CLOSE#file%:yours%=0
  440xtra%=FALSE:vol%=115:half=1:structured%=FALSE:*VOLUME 115
  450OFF:x%=-1:y%=-1:skip%=FALSE:S%=0:T%=-56:W%=-99:Z%=-5:U%=-98:V%=-67
  460wipe%=TRUE:magic%=TRUE:block%=TRUE:tiles%=FALSE:change%=TRUE
  470left$="Z":right$="X":rotate$="SPACE":drop$="LEFT CTRL":pause$="P"
  480DIMA%(5,17),I%(12),J%(12),K%(12),L%(12),hi$(9),hi%(9),level%(9)
  490DIMbucket%20000
  500!bucket%=20000:bucket%!8=16:SYS&2E,265,bucket%
  510ENDPROC
  520DEFPROCstart
  530CLS
  540SYS&2E,290,spr%,"Reaction",0,100
  550SYS&2E,290,spr%,"Sphere",930,0
  560SYS&2E,290,spr%,"ArchWorld",940,20,8
  570GCOL0,127:RECTANGLEFILL428,0,44,1024
  580RECTANGLEFILL792,0,44,1024
  590RECTANGLEFILL428,0,408,50:MB%=FALSE:HAPPY%=FALSE:gameover%=FALSE
  600GCOL0,0TINT255:CL%=0:RECTANGLEFILL480,52,308,1000:cl%=TRUE
  610H%=3:FORr%=0TO5:FORy%=-3TO16STEP3:PROCdel(r%,y%):NEXT,
  620COLOUR7:PRINTTAB(0,2);"Score:"''"High:"''"Level:"
  630PROCnumb(0,200,920):PROCnumb(HIS%,200,920-64):PROCnumb(1,200,920-128)
  640IFtiles%THENPRINTTAB(0,8)"Tiles:":PROCnumb(0,200,728)
  650ENDPROC
  660DEFPROCgame
  670REPEAT
  680SYS&2E,290,spr%,"DtoDefine",950,300
  690SYS&2E,290,spr%,"OforOptions",990,260
  700SYS&2E,290,spr%,"WhatLevel",1000,700
  710*FX21,0
  720GCOL0TINT0:tog%=1:REPEAT
  730IFtog%=1THENSYS&2E,290,spr%,"numbers",1050,600 ELSERECTANGLEFILL1050,600,80,32
  740tog%=tog%EOR3:A$=INKEY$(50)
  750UNTIL(A$>="0"ANDA$<="9")ORA$="D"ORA$="d"ORA$="O"ORA$="o"
  760IFA$="O"ORA$="o"THENPROCoptions:OFF:PROCstart:UNTIL0
  770IFA$="D"ORA$="d"THENPROCkeys:OFF:PROCstart:UNTIL0 ELSEUNTIL-1
  780SL%=VAL(A$):RECTANGLEFILL950,260,300,490:IFA$="0"SL%=10
  790E%=(11-SL%)*7:SLF=SL%/5
  800BL%=0:ohdear%=FALSE
  810REPEATGD%=FALSE:IFxtra%THENH%=1+RND(3)
  820A%=RND(6):B%=RND(6):C%=RND(6):D%=RND(6):IFRND(40)=1ANDmagic%THENB%=7:MB%=TRUE
  830IFRND(30)=1ANDblock%THENA%=24
  840IFRND(30)=1ANDblock%THENA%=32:HAPPY%=TRUE
  850X%=2:Y%=-2:US%=FALSE:WS%=FALSE:VS%=FALSE
  860REPEATTIME=0:REPEATPROCdisp(X%,Y%):OX%=X%:IFINKEYT%THENPROCpause
  870IFUS%ANDNOTINKEYU%US%=FALSE
  880IFWS%ANDNOTINKEYW%WS%=FALSE
  890IFVS%ANDNOTINKEYV%VS%=FALSE
  900IFINKEYU%ANDNOTUS%X%=X%-1:US%=TRUE:ELSEIFINKEYV%ANDNOTVS%X%=X%+1:VS%=TRUE
  910IFINKEYW%ANDNOTWS%THENWS%=TRUE:PROCR
  920IFINKEYZ%GD%=TRUE
  930IFX%<0ORX%>5X%=OX%
  940IFX%<>OX%ANDA%(X%,Y%+2)<>0:X%=OX%
  950IFX%<>OX%PROCdel(OX%,Y%):PROCdisp(X%,Y%)
  960UNTILTIME>E%ORGD%
  980IFY%=15:PROCp:UNTIL-1:GOTO1030 ELSEIFA%(X%,Y%+3)<>0PROCp:UNTIL-1:GOTO1030
  990O%=940:IFH%=2THENO%=888ELSEIFH%=4THENO%=992
 1000SYS&2E,546,spr%,g%,480+(X%*52),O%-(Y%*52)
 1010Y%=Y%+1:PROCdisp(X%,Y%)
 1020UNTIL0
 1030REM Continue from here after PROCp
 1040UNTILgameover%
 1050ENDPROC
 1060DEFPROCR
 1070IFH%=3THEND%=C%:C%=B%:B%=A%:A%=D%:ENDPROC
 1080IFH%=2THENSWAPA%,B%:ENDPROC
 1090IFH%=4THENO%=D%:D%=C%:C%=B%:B%=A%:A%=O%
 1100ENDPROC
 1110DEFFNO
 1120O%=FALSE
 1130IFA%(X%,Y%+2)<>0ORA%(X%,Y%+1)<>0THEN=TRUE ELSEIFH%=2THEN=FALSE
 1140IFA%(X%,Y%)<>0THEN=TRUE ELSEIF(H%=4ANDY%=0)ORH%=3THEN=FALSE
 1150IFA%(X%,Y%-1)<>0THEN=TRUE ELSE=FALSE
 1160DEFPROCend
 1170skip%=FALSE
 1180LOCALERROR
 1190ONERRORIFERR<>17THENPROCerror:END ELSEMODE0:PRINT"Goodbye!":PROCclear:*DESKTOP
 1200*FX21,0
 1210*CHANNELVOICE 1 GameOver
 1220SOUND1,-15,9900,0:TIME=0:REPEATUNTILTIME>150:OSCLI("FX21"):A$=""
 1230IFA$=""THEN
 1240*CHANNELVOICE 1 Laugh
 1250SOUND1,-15,8000,1:A$=INKEY$(150)
 1260IFA$=""THEN
 1270SOUND1,-15,9500,1:A$=INKEY$(100)
 1280IFA$=""THEN
 1290SOUND1,-15,6000,1:GCOL0TINT0:RECTANGLEFILL930,0,334,108
 1300FORl%=-92TO932STEP16:WAIT:SYS&2E,290,spr%,"GameOver",870,l%:RECTANGLEFILL870,l%-16,368,16:NEXT
 1310SYS&2E,289,spr%,"GameOver"
 1320FORl%=932TO156STEP-16:WAIT:SYS&2E,290,spr%,"GameOver",870,l%:RECTANGLEFILL870,l%+92,380,16:NEXT
 1330SYS&2E,289,spr%,"GameOver"
 1340RECTANGLEFILL870,248,380,16:SYS&2E,290,spr%,"GameOver",870,156
 1350A$=INKEY$(100)
 1360IFA$=""THEN
 1370REPEATUNTILINKEY$(0)=""
 1380A$=INKEY$(350)
 1390ENDIF
 1400ENDIF
 1410ENDIF
 1420ENDIF
 1430FORl%=0TO5:FORl2%=0TO17:A%(l%,l2%)=0:NEXT,
 1440ENDPROC
 1450DEFPROCp
 1460IFY%<0THENgameover%=TRUE
 1470IFNOTgameover%THEN
 1480REM Ensure no extra rotation occurred (ie. redraw)
 1490PROCdisp(X%,Y%):s%=S%:count%=0:happy%=FALSE:levcheck%=LEV%
 1500ping%=TRUE:A%(X%,Y%+2)=A%:A%(X%,Y%+1)=B%:IFH%=3ORH%=4THENA%(X%,Y%)=C%:IFH%=4THENA%(X%,Y%-1)=D%
 1510IFMB% THEN
 1520OSCLI("ChannelVoice 1 Magic"):SOUND1,-15,5500,0:ping%=FALSE
 1530IFD%=7ANDH%=4THENMBX%=X%:MBY%=Y%-1
 1540IFC%=7ANDH%>2THENMBX%=X%:MBY%=Y%
 1550IFB%=7THENMBX%=X%:MBY%=Y%+1
 1560IFA%=7THENMBX%=X%:MBY%=Y%+2
 1570ENDIF
 1580REPEATR%=FALSE
 1590IFMB%THENWHILE MB%
 1600IFMB%THENcount%+=1:A%(MBX%,MBY%)=count%
 1610REM Start piece removal loop
 1620REM Check for vertical lines
 1630FORx%=0TO5:LA%=A%(x%,0)AND7:LB%=A%(x%,1)AND7
 1640FORy%=2TO17
 1650IF(A%(x%,y%)AND7)=LA%AND(A%(x%,y%)AND7)=LB%AND(A%(x%,y%)AND7)<>0THEN
 1660verty%=y%-2:R%=TRUE:REPEAT
 1670A%(x%,verty%)=(A%(x%,verty%)AND7)+8:verty%+=1
 1680IFverty%<18THENUNTIL(A%(x%,verty%)AND7)<>LA% ELSE UNTILTRUE
 1690S%+=half*10*(verty%-y%+1):IFverty%<18THENy%=verty%ELSEy%=17
 1700ENDIF
 1710LA%=A%(x%,y%-1)AND7:LB%=A%(x%,y%)AND7
 1720NEXT,
 1730REM Check for horizontal lines
 1740FORy%=0TO17:LA%=0:LB%=0:FORx%=0TO5
 1750IF(A%(x%,y%)AND7)<>LB%ANDx%-LA%>2THENFORr%=LA%TOx%-1:A%(r%,y%)=8+(A%(r%,y%)AND7):NEXT:R%=TRUE:S%+=half*(12*(x%-LA%))
 1760IFLB%<>(A%(x%,y%)AND7)THENLA%=x%
 1770LB%=A%(x%,y%)AND7
 1780IFLB%=0THENLB%=-1
 1790NEXT:IF6-LA%>2THENFORr%=LA%TO5:A%(r%,y%)=(A%(r%,y%)AND7)+8:NEXT:R%=TRUE:S%=S%+half*12*(x%-LA%)
 1800NEXT
 1810REM Diagonals
 1820REM Top-left to bottom-right (and vice-versa)
 1830FORx%=0TO3:FORy%=0TO15
 1840A1%=(A%(x%,y%)AND7):A2%=(A%(x%+1,y%+1)AND7):A3%=(A%(x%+2,y%+2)AND7)
 1850IFA1%=0ORA2%=0ORA3%=0THENA1%=-1
 1860IFA1%=A2%ANDA2%=A3%THENA%(x%,y%)=A1%+8:A%(x%+1,y%+1)=A2%+8:A%(x%+2,y%+2)=A2%+8:R%=TRUE:S%=S%+half*45
 1870NEXT,
 1880REM Top-right to bottom-left (and vice-versa)
 1890FORx%=2TO5:FORy%=0TO15
 1900A1%=(A%(x%,y%)AND7):A2%=(A%(x%-1,y%+1)AND7):A3%=(A%(x%-2,y%+2)AND7)
 1910IFA1%=0ORA2%=0ORA3%=0THENA1%=-1
 1920IFA1%=A2%ANDA2%=A3%THENA%(x%,y%)=A1%+8:A%(x%-1,y%+1)=A1%+8:A%(x%-2,y%+2)=A2%+8:R%=TRUE:S%=S%+half*45
 1930NEXT,
 1940IFcount%>5THENMB%=FALSE:A%(MBX%,MBY%)=0
 1950IFcount%>0THENENDWHILE
 1960count%=0:IFhappy%THENhappy%=FALSE
 1970REM Now shuffle
 1980FORx%=0TO5:F%=0:IFA%(x%,0)>7ANDA%(x%,0)<24THENA%(x%,0)=0
 1990FORy%=1TO17
 2000IFNOTF%:IFA%(x%,y%)>0F%=TRUE
 2010IFF%:IF((A%(x%,y%)>7ANDA%(x%,y%)<24)ORA%(x%,y%)=32)ORA%(x%,y%)=0THENBL%+=1:A%(x%,y%)=0:FORr%=y%TO1STEP-1:A%(x%,r%)=A%(x%,r%-1):NEXT:A%(x%,0)=0
 2020NEXT,
 2030IF HAPPY%THEN
 2110PROChappy:FORx%=0TO5:F%=0:FORy%=1TO17
 2120IFNOTF%:IFA%(x%,y%)>0F%=TRUE
 2130IFF%:IF((A%(x%,y%)>7ANDA%(x%,y%)<24)ORA%(x%,y%)=32)ORA%(x%,y%)=0THENBL%+=1:A%(x%,y%)=0:FORr%=y%TO1STEP-1:A%(x%,r%)=A%(x%,r%-1):NEXT:A%(x%,0)=0
 2140NEXT,
 2150ENDIF
 2160PROCnextlevel
 2170IFR%ANDping%:OSCLI("CHANNELVOICE 1 Ping"):SOUND1,-8,9000,1
 2180UNTILR%=FALSE AND NOThappy%
 2190COLOUR7:SI%=S%-s%:S%=S%-SI%:S%=S%+(SI%*((LEV%*.25)+.75))*SLF
 2200PROCnumb(S%,200,920):yours%=S%:IFS%>HIS%THENHIS%=S%:PROCnumb(HIS%,200,856)
 2209IFlevcheck%<>LEV%THENPROClooksee
 2210FORx%=0TO5:F%=0:IFA%(x%,0)>7ANDA%(x%,0)<24THENA%(x%,0)=0
 2211FORy%=1TO17
 2212IFNOTF%:IFA%(x%,y%)>0F%=TRUE
 2213IFF%:IF((A%(x%,y%)>7ANDA%(x%,y%)<24)ORA%(x%,y%)=32)ORA%(x%,y%)=0THENBL%+=1:A%(x%,y%)=0:FORr%=y%TO1STEP-1:A%(x%,r%)=A%(x%,r%-1):NEXT:A%(x%,0)=0
 2214NEXT,
 2215REM Now redraw
 2216FORy%=0TO17:FORx%=0TO5:pi%=A%(x%,y%)
 2217IFpi%<>24:pi%=pi%AND7
 2218IFpi%<>24:SYS&2E,290,spr%,CHR$(64+pi%)+CHR$(65+L%),480+(x%*52),940-(y%*52)ELSESYS&2E,546,spr%,q%,480+(x%*52),940-(y%*52)
 2219A%(x%,y%)=pi%
 2220NEXT,
 2221ENDIF
 2230IFA%(2,0)<>0THENgameover%=TRUE
 2240ENDPROC
 2250DEFPROCsprites
 2260*FX200,1
 2270LOCALERROR
 2280ONERRORMODE0:OFF:OSCLI("FX200"):IFERR<>17THENPROCerror:END ELSEPRINT"Please don't press <ESCAPE> whilst the disc is being accessed! You'll have to   start again now!!!":SYS"OS_Byte",11,repeatrate%:END
 2290SYS"OS_File",5,"<Reaction$Dir>.Blocks"TO,,,,mem%
 2300DIMspr% mem%+32
 2310!spr%=mem%+32:spr%!4=0:spr%!8=16:spr%!12=16
 2320SYS&2E,266,spr%,"<Reaction$Dir>.Blocks"
 2330*FX200
 2340RESTOREERROR
 2350ENDPROC
 2360DEFPROCerror
 2370*ALPHABET Latin1
 2380ONERRORONERROROFF:MODE0:PRINTREPORT$;" at line ";ERL;" (";ERR;")":END
 2390SYS"OS_Byte",11,repeatrate%
 2400IFERR=258ORERR=257THENMODE0:PRINT"Run me again please! Try allocating more 'Module area' memory using the         Task Manager. [";ERL;"]":OFF:END
 2410PROCclear
 2420MODE12:PRINTREPORT$;" at line ";ERL;" (";ERR;")":END
 2430ENDPROC
 2440DEFPROCdisp(XX%,YY%)
 2450h%=480+(XX%*52):i%=836-(YY%*52)
 2460IFA%=1:SYS&2E,546,spr%,a%,h%,i%
 2470IFA%=2:SYS&2E,546,spr%,b%,h%,i%
 2480IFA%=3:SYS&2E,546,spr%,c%,h%,i%
 2490IFA%=4:SYS&2E,546,spr%,d%,h%,i%
 2500IFA%=5:SYS&2E,546,spr%,e%,h%,i%
 2510IFA%=6:SYS&2E,546,spr%,f%,h%,i%
 2520IFA%=7:SYS&2E,546,spr%,z%,h%,i%
 2530IFA%=24:SYS&2E,546,spr%,q%,h%,i%
 2540IFA%=32:SYS&2E,546,spr%,p%,h%,i%
 2550i%+=52
 2560IFB%=1:SYS&2E,546,spr%,a%,h%,i%
 2570IFB%=2:SYS&2E,546,spr%,b%,h%,i%
 2580IFB%=3:SYS&2E,546,spr%,c%,h%,i%
 2590IFB%=4:SYS&2E,546,spr%,d%,h%,i%
 2600IFB%=5:SYS&2E,546,spr%,e%,h%,i%
 2610IFB%=6:SYS&2E,546,spr%,f%,h%,i%
 2620IFB%=7:SYS&2E,546,spr%,z%,h%,i%
 2630IFB%=24:SYS&2E,546,spr%,q%,h%,i%
 2640IFB%=32:SYS&2E,546,spr%,p%,h%,i%
 2650IFH%=2THENENDPROC
 2660i%+=52
 2670IFC%=1:SYS&2E,546,spr%,a%,h%,i%
 2680IFC%=2:SYS&2E,546,spr%,b%,h%,i%
 2690IFC%=3:SYS&2E,546,spr%,c%,h%,i%
 2700IFC%=4:SYS&2E,546,spr%,d%,h%,i%
 2710IFC%=5:SYS&2E,546,spr%,e%,h%,i%
 2720IFC%=6:SYS&2E,546,spr%,f%,h%,i%
 2730IFC%=7:SYS&2E,546,spr%,z%,h%,i%
 2740IFC%=24:SYS&2E,546,spr%,q%,h%,i%
 2750IFC%=32:SYS&2E,546,spr%,p%,h%,i%
 2760IFH%=3THENENDPROC
 2770i%+=52:IFD%=1:SYS&2E,546,spr%,a%,h%,i%
 2780IFD%=2:SYS&2E,546,spr%,b%,h%,i%
 2790IFD%=3:SYS&2E,546,spr%,c%,h%,i%
 2800IFD%=4:SYS&2E,546,spr%,d%,h%,i%
 2810IFD%=5:SYS&2E,546,spr%,e%,h%,i%
 2820IFD%=6:SYS&2E,546,spr%,f%,h%,i%
 2830IFD%=7:SYS&2E,546,spr%,z%,h%,i%
 2840IFD%=24:SYS&2E,546,spr%,q%,h%,i%
 2850IFD%=32:SYS&2E,546,spr%,p%,h%,i%
 2860ENDPROC
 2870DEFPROCdel(XX%,YY%)
 2880IFH%=4THENSYS&2E,546,spr%,g%,480+(XX%*52),992-(YY%*52)
 2890IFH%=3ORH%=4THENSYS&2E,546,spr%,g%,480+(XX%*52),940-(YY%*52)
 2900SYS&2E,546,spr%,g%,480+(XX%*52),888-(YY%*52)
 2910SYS&2E,546,spr%,g%,480+(XX%*52),836-(YY%*52)
 2920ENDPROC
 2930DEFPROCpause
 2940cont%=TIME
 2950LOCALA%,B%,C%,D%
 2960SYS&2E,272,bucket%,"a",,480,52,784,1023
 2970IFcl%ANDwipe%GCOL0TINT0:RECTANGLEFILL480,52,308,1000:FORl%=900TO100STEP-80:SYS&2E,290,spr%,"Paused",526,l%:NEXT
 2980REPEATUNTILNOTINKEYT%
 2990*FX21,0
 3000SYS&2E,290,spr%,"sqforsound",950,600
 3010SYS&2E,290,spr%,"+-forvolume",950,550
 3020GCOL0TINT0:RECTANGLEFILL930,0,334,108:SYS&2E,290,spr%,"Sphere",930,0
 3030SYS&2E,290,spr%,"Credits",940,20,8
 3040REPEAT
 3050A$=INKEY$(0):IFA$="G"THENA$=INKEY$(10):IFA$="L"THENA$=INKEY$(10):IFA$="M"THENcl%=FALSE:SYS&2E,290,spr%,"OhDear",138,70:PRINTTAB(0,8)"Tiles:":PROCnumb(BL%,200,728):ohdear%=TRUE
 3060IFohdear%=TRUE ANDA$="~"THENOBL%=BL%:BL%+=(((BL%DIV100)+1)*100)-BL%:PROCnumb(BL%,200,728):OSCLI("CHANNELVOICE 1 Laugh"):SOUND1,-15,7000,1:E%-=4
 3070IFA$="S"ORA$="s"THENOSCLI("SPEAKER ON"):A$=""
 3080IFA$="Q"ORA$="q"THENOSCLI("SPEAKER OFF"):A$=""
 3090IFA$="="ORA$="+"THEN
 3100A$="":vol%+=5:IFvol%<128THENOSCLI("VOLUME "+STR$vol%)ELSEvol%-=5
 3110OSCLI("CHANNELVOICE 1 Ping"):SOUND1,-8,9000,1
 3120ENDIF
 3130IFA$="-"ORA$="_"THEN
 3140A$="":vol%-=5:IFvol%>0THENOSCLI("VOLUME "+STR$vol%)ELSEvol%+=5
 3150OSCLI("CHANNELVOICE 1 Ping"):SOUND1,-8,9000,1
 3160ENDIF
 3170UNTILA$<>""
 3180REPEATUNTILNOTINKEYT%
 3190GCOL0TINT0:RECTANGLEFILL950,550,308,78:RECTANGLEFILL930,0,334,108
 3200SYS&2E,290,spr%,"Sphere",930,0:SYS&2E,290,spr%,"ArchWorld",940,20,8
 3210SYS&2E,290,bucket%,"a",480,52
 3220TIME=cont%
 3230ENDPROC
 3240DEFPROCintro
 3250ONERRORGOTO220
 3260MODE15:OFF
 3270LOCALs%,del%,L%,L2%,x,y,r%,p%,points%,C%
 3280del%=0
 3290s%=25:REM Speed 'atoms' fly in (I can dream...)
 3300RESTORE3690
 3310FORL%=0TO12:READK%(L%),L%(L%):NEXT
 3320FORL%=0TO7
 3330READpoints%
 3340FORL2%=1TOpoints%
 3350READx,y
 3360I%(L2%-1)=(L%*160)+30+x:J%(L2%-1)=625-(y*4)
 3370NEXT
 3380FORL3%=1TO2
 3390IFL3%=1 THENG$="atom"ELSEG$="blankatom"
 3400FORr%=1TOs%
 3410FORp%=1TOpoints%
 3420SYS&2E,290,spr%,G$,(((I%(p%-1)-K%(p%-1))/s%)*r%)+K%(p%-1),(((J%(p%-1)-L%(p%-1))/s%)*r%)+L%(p%-1)
 3430NEXT,,
 3440FORp%=0TOpoints%-1
 3450SYS&2E,290,spr%,"atom2",I%(p%),J%(p%)
 3460NEXT
 3470TIME=0:REPEATUNTILTIME>25:CLS
 3480NEXT
 3490TIME=0:REPEATUNTILTIME>25
 3500PROCrtitle("atom3")
 3510C%=0:REPEATC%+=1
 3520PROCfade
 3530del%=8
 3540PROCrtitle("atom")
 3550PROCrtitle("atom3")
 3560PROCrtitle("blankatom")
 3570PROCrtitle("atom3")
 3580UNTILC%=3
 3590ENDPROC
 3600DEFPROCrtitle(G$)
 3610LOCALL%
 3620RESTORE3700
 3630FORL%=0TO7
 3640READpoints%
 3650FORL2%=1TOpoints%
 3660READx,y:SYS&2E,290,spr%,G$,(L%*160)+30+x,625-(y*4)
 3670NEXT:A$=INKEY$(del%):NEXT
 3680ENDPROC
 3690DATA0,0,1259,0,1259,1023,0,1023,0,540,1259,540,630,40,630,1023,315,1023,955,1023,315,40,955,40,0,760:REM Start positions
 3700DATA12,0,0,25,0,0,20,0,40,0,60,0,80,50,10,75,20,50,30,25,40,50,60,75,80:REM R
 3710DATA13,0,0,25,0,50,0,75,0,0,20,0,40,25,40,50,40,0,60,0,80,25,80,50,80,75,80:REM E
 3720DATA10,37.5,0,25,20,50,20,12.5,40,62.5,40,37.5,40,0,60,75,60,0,80,75,80:REM A
 3730DATA9,25,0,50,0,75,0,12.5,20,0,40,12.5,60,25,80,50,80,75,80:REM C
 3740DATA8,0,0,25,0,50,0,75,0,37.5,20,37.5,40,37.5,60,37.5,80:REM T
 3750DATA11,0,0,25,0,50,0,75,0,37.5,20,37.5,40,37.5,60,0,80,25,80,50,80,75,80:REM I
 3760DATA8,37.5,0,12.5,20,62.5,20,0,40,75,40,12.5,60,62.5,60,37.5,80:REM O
 3770DATA13,0,0,0,20,0,40,0,60,0,80,25,20,37.5,40,50,60,75,80,75,60,75,40,75,20,75,0:REM N
 3780DEFPROCfade
 3790LOCALr%:REM "fade" is too grand a word probably
 3800FORr%=0TO127STEP16
 3810TIME=0:REPEATUNTILTIME>5
 3820WAIT:COLOUR0,r%,r%,r%
 3830NEXT
 3840FORr%=127TO0STEP-16
 3850TIME=0:REPEATUNTILTIME>5
 3860WAIT:COLOUR0,r%,r%,r%
 3870NEXT
 3880ENDPROC
 3890DEFPROCscroll
 3900MODE15:OFF
 3910SYS"OS_File",5,"<Reaction$Dir>.Logo"TO,,,,mem%
 3920DIMspr% mem%+32
 3930!spr%=mem%+32:spr%!4=0:spr%!8=16:spr%!12=16
 3940DIMscale%100
 3950scale%!8=1:scale%!12=1
 3960SYS&2E,10+256,spr%,"<Reaction$Dir>.Logo"
 3970SYS&2E,34+256,spr%,"screen",350,600
 3980COLOUR2TINT128
 3990PRINTTAB(21,31);"Press <ESCAPE> to quit intro sequence";
 4000VOICES 1:A$=INKEY$(50)
 4010*CHANNELVOICE 1 Reaction
 4020SOUND1,-15,9000,0
 4030A$=INKEY$(200)
 4040PROCarchimedesworld
 4050ENDPROC
 4060DEFPROCnextlev
 4070*FX21,0
 4080IFNOTchange%THENENDPROC
 4090GCOL0TINT0:RECTANGLEFILL930,0,334,108
 4100FORl%=-44TO1024STEP44
 4110AB$=INKEY$(5):WAIT:SYS&2E,290,spr%,"NextLev",1000,l%
 4120NEXT
 4130GCOL0TINT0
 4140FORl%=-44TO1024STEP44
 4150AB$=INKEY$(5):WAIT:RECTANGLEFILL1000,l%,256,44
 4160NEXT
 4170SYS&2E,290,spr%,"Sphere",930,0:SYS&2E,290,spr%,"ArchWorld",940,20,8
 4180ENDPROC
 4190DEFPROChiscores
 4200LOCALERROR
 4210ONERRORIFERR<>17THENPROCerror:END ELSEOSCLI("CLOSE"):MODE0:PRINT"Goodbye!":PROCclear:*DESKTOP
 4220file%=OPENUP("<Reaction$Dir>.Scores")
 4230FORl%=0TO9:INPUT#file%,hi$(l%),hi%(l%),level%(l%):NEXT
 4240in%=FALSE:update%=TRUE:REPEAT
 4250CLS:OFF:SYS&2E,290,spr%,"HighScores",300,880
 4260PRINTTAB(0,6);:v%=0:IFS%=0THENS%=yours%
 4270FORr%=0TO9
 4280IFupdate%:IFS%>hi%(r%)ANDr%<9ANDNOTin%THENFORl%=8TOr%STEP-1:hi%(l%+1)=hi%(l%):hi$(l%+1)=hi$(l%):level%(l%+1)=level%(l%):NEXTl%:hi%(r%)=S%:hi$(r%)="":level%(r%)=LEV%:v%=VPOS:v2%=r%:in%=TRUE
 4290IFupdate%:IFS%>hi%(r%)ANDNOTin%THENhi$(r%)="":hi%(r%)=S%:level%(r%)=LEV%:v%=VPOS:v2%=9:in%=TRUE
 4300COLOUR19TINT255:PRINTTAB(1-(r%DIV9))STR$(r%+1);") ";:COLOUR3TINT255:PRINThi$(r%);:COLOUR48TINT255:PRINTTAB(31);level%(r%);:COLOUR15TINT255:PRINTTAB(34);hi%(r%)'
 4310NEXT
 4320v3%=VPOS
 4330IFin%ANDupdate%THEN
 4340ON:COLOUR11TINT255:hi$(v2%)=FNinput(4,v%,26):OFF
 4350PRINTTAB(0,v3%);
 4360ELSE
 4370IFNOTin%:COLOUR63TINT0:PRINT'"(Your score: ";STR$yours%;")"
 4380ENDIF
 4390IFupdate%ANDS%>=hi%(9)THEN
 4400PTR#file%=0
 4410REMONERRORPRINT"Disc error: Remove program from ArcFS"'"archive or remove write-protection"'"from disc. (Or reaccess file)"'"Highscore not saved. <Press a key>":OSCLI("FX21,0"):A$=GET$:GOTO220
 4415ONERRORCOLOUR61TINT255:PRINT''TAB(6)"Press a key to start again!";:LEV%=1:OSCLI("FX21"):A$=INKEY$(1150):IFA$<>""THENGOTO220 ELSEGCOL0TINT0:FORy%=0TO28STEP4:FORy2%=1024TO0STEP-32:MOVE0,y%+y2%:DRAW1280,y%+y2%:NEXT:A$=INKEY$(5):NEXT:PROCinstruct:GOTO220
 4420FORl%=0TO9
 4430PRINT#file%,hi$(l%),hi%(l%),level%(l%)
 4440NEXT
 4450ONERRORPROCerror:END
 4460ENDIF
 4470IFupdate%THENCLOSE#file%
 4480COLOUR61TINT255:PRINT''TAB(6)"Press a key to start again!";
 4490LEV%=1:*FX21,0
 4500A$=INKEY$(150)
 4510IFA$<>""THENUNTIL-1:ENDPROC
 4520LOCALERROR
 4530ONERRORPROCerror2
 4540A$=INKEY$(1000)
 4550IFA$<>""THENUNTIL-1:ENDPROC
 4560LOCALERROR
 4570ONERRORGOTO220
 4580GCOL0TINT0:FORy%=0TO28STEP4:FORy2%=1024TO0STEP-32:MOVE0,y%+y2%:DRAW1280,y%+y2%:NEXT:A$=INKEY$(5):NEXT
 4590PROCinstruct:update%=FALSE
 4600UNTIL0
 4610ENDPROC
 4620DEFPROCerror2
 4630ONERROR*DESKTOP
 4640PROCclear
 4650*DESKTOP
 4660ENDPROC
 4670DEFFNinput(x%,y%,len%)
 4680COLOUR63TINT255:PRINTTAB(x%,y%);STRING$(len%,".");TAB(x%,y%);
 4690get$=""
 4700REPEAT
 4710a%=GET
 4720IFa%=8ORa%=127ANDLEN(get$)>0THENget$=LEFT$(get$):COLOUR63TINT255:PRINTCHR$8;".";CHR$8;
 4730IF(a%>31ANDa%<127)ANDLEN(get$)<len%THENget$=get$+CHR$a%:COLOUR11TINT255:PRINTCHR$a%;
 4740UNTILa%=13
 4750PRINTSPC(len%-LEN(get$))
 4760=get$
 4770DEFPROCclear
 4780ONERROROFF
 4790*ALPHABET Latin1
 4800*RMKILL Thunder
 4810*RMKILL Laugh
 4820*RMKILL Ping
 4830*RMKILL Reaction
 4840*RMKILL GameOver
 4850*RMKILL Magic
 4860SYS"OS_Byte",11,repeatrate%
 4870ENDPROC
 4880:
 4890DEFPROCinstruct
 4900MODE13:OFF:PROCd(25):VDU5
 4910FORl%=-200TO824STEP4
 4920SYS&2E,290,spr%,"Screen",415,l%
 4930NEXT
 4940PROCd(150)
 4950PROCt("Instructions",3,0,0,7)
 4960PROCd(150)
 4970PROCt("To begin the game",3,3,0,13)
 4980PROCt("press <ESCAPE> at any time.",3,3,0,14)
 4990PROCd(250)
 5000PROCu("To begin the game",3,3,0,13)
 5010PROCu("press <ESCAPE> at any time.",3,3,0,14)
 5020PROCd(50)
 5030PROCt("Tiles fall from the top of the screen",0,3,0,10)
 5040PROCt("into the bucket below. Guide the tiles",0,3,0,11)
 5050PROCt("by pressing the following keys:-",0,3,0,12)
 5060PROCd(150)
 5070PROCt("<"+left$+"> for left",3,0,3,15)
 5080PROCt("<"+right$+"> for right",3,0,3,16)
 5090PROCt("<"+rotate$+"> to rotate",3,0,3,17)
 5100PROCt("<"+drop$+"> to drop",3,0,3,18)
 5110PROCd(150)
 5120PROCt("<"+pause$+"> to pause",0,0,3,20)
 5130PROCd(500)
 5140PROCt("Press <ESCAPE> to start the game",3,3,1,30)
 5150PROCwipe
 5160PROCt("Tiles fall in vertical blocks of",0,3,3,10)
 5170PROCt("three at a time. Rotating a block",0,3,3,11)
 5180PROCt("shuffles each tile upwards in the",0,3,3,12)
 5190PROCt("column, and moves the highest tile to",0,3,3,13)
 5200PROCt("the bottom of the block. Press the",0,3,3,14)
 5210PROCt("rotate key repeatedly to rotate the",0,3,3,15)
 5220PROCt("block more than once.",0,3,3,16)
 5230PROCd(700)
 5240PROCwipe
 5250PROCt("Make lines of three or more tiles to",3,2,0,10)
 5260PROCt("score points. Complete lines are then",3,2,0,11)
 5270PROCt("removed from the grid. This is a",3,2,0,12)
 5280PROCt("R E A C T I O N",3,0,0,14)
 5290PROCd(400)
 5300PROCwipe
 5310PROCt("The longer the line the more points you",1,1,3,10)
 5320PROCt("score and the faster tiles are removed.",1,1,3,11)
 5330PROCt("You can position tiles to remove more",1,1,3,13)
 5340PROCt("than one line at a time. Once tiles are",1,1,3,14)
 5350PROCt("removed the rest of the tiles fall down",1,1,3,15)
 5360PROCt("to take their place.",1,1,3,16)
 5370PROCd(700)
 5380PROCwipe
 5390PROCt("You score slightly more points for",2,1,0,10)
 5400PROCt("horizontal lines than you do for",2,1,0,11)
 5410PROCt("vertical lines. Diagonal lines score",2,1,0,12)
 5420PROCt("quite a few points more. The exact",2,1,0,13)
 5430PROCt("amount you score depends on your",2,1,0,14)
 5440PROCt("skill level.",2,1,0,15)
 5450PROCd(650)
 5460PROCwipe
 5470PROCt("When 100 tiles have been removed from",3,3,0,10)
 5480PROCt("the bucket you will move on to the next",3,3,0,11)
 5490PROCt("level, where the tiles will fall more",3,3,0,12)
 5500PROCt("quickly. Also their appearance will",3,3,0,13)
 5510PROCt("change. This can confuse matters!",3,3,0,14)
 5520PROCd(600)
 5530PROCwipe
 5540PROCt("When you start the game you will be",3,2,2,10)
 5550PROCt("asked to choose a skill level. Press a",3,2,2,11)
 5560PROCt("number from 0-9 to choose, where 0 is",3,2,2,12)
 5570PROCt("skill level 10. Your skill level and",3,2,2,13)
 5580PROCt("actual level are not linked.",3,2,2,14)
 5590PROCt("The higher the level you choose the",3,0,2,16)
 5600PROCt("faster the tiles will fall, but the",3,0,2,17)
 5610PROCt("more points you will score.",3,0,2,18)
 5620PROCd(1000)
 5630PROCwipe
 5640PROCt("Once another tile will not fit in at",0,3,0,10)
 5650PROCt("the top of the grid then the game is",0,3,0,11)
 5660PROCt("over. If your score is high enough you",0,3,0,12)
 5670PROCt("may be asked to enter your name for the",0,3,0,13)
 5680PROCt("High Score table, which is stored on",0,3,0,14)
 5690PROCt("disc. Otherwise your score will be",0,3,0,15)
 5700PROCt("displayed beneath the high scores.",0,3,0,16)
 5710PROCd(900)
 5720PROCwipe
 5730PROCt("You can change the control keys by",3,1,3,10)
 5740PROCt("pressing <D> when you are asked to",3,1,3,11)
 5750PROCt("choose a skill level.",3,1,3,12)
 5760PROCt("Alternatively, pressing <O> lets you",2,3,1,14)
 5770PROCt("choose from a set of options which",2,3,1,15)
 5780PROCt("control how the game is played.",2,3,1,16)
 5790PROCd(800)
 5800PROCwipe
 5810PROCt("The 'Wipe screen when paused' option",1,3,2,10)
 5820PROCt("means that if you pause the game the",1,3,2,11)
 5830PROCt("screen is cleared, so that you don't",1,3,2,12)
 5840PROCt("have an infinite amount of time to",1,3,2,13)
 5850PROCt("decide where to place a piece!",1,3,2,14)
 5860PROCt("When selected you will only score",1,3,2,15)
 5870PROCt("half as many points as usual!",1,3,2,16)
 5880PROCt("Push <Y> to agree - yes, wipe the",1,3,2,18)
 5890PROCt("screen, or <N> to stop the screen from",1,3,2,19)
 5900PROCt("being cleared [at the prompt].",1,3,2,20)
 5910PROCd(1300)
 5920PROCwipe
 5930PROCt("The 'Structured game' option lets you",0,3,0,10)
 5940PROCt("select a game which adds extra",0,3,0,11)
 5950PROCt("components as you progress. Selecting",0,3,0,12)
 5960PROCt("the option gives further details.",0,3,0,13)
 5970PROCt("When selected the bottom two lines of",0,3,0,14)
 5980PROCt("the bucket are removed every time you",0,3,0,15)
 5990PROCt("go up a level.",0,3,0,16)
 6000PROCd(1100)
 6010PROCwipe
 6020PROCt("The 'Magic Blocks (Y/N)' option allows",3,0,0,10)
 6030PROCt("you to choose whether or not you wish",3,0,0,11)
 6040PROCt("to have Magic Blocks.",3,0,0,12)
 6050PROCt("These fall occasionally and appear as",3,0,0,14)
 6060PROCt("multi-coloured blocks. They do not stay",3,0,0,15)
 6070PROCt("in the bucket but disappear immediately.",3,0,0,16)
 6080PROCt("However, they act as if they were a",3,0,0,17)
 6090PROCt("block of every single colour all at",3,0,0,18)
 6100PROCt("once, and so you can complete lines of",3,0,0,19)
 6110PROCt("different colours at the same time",3,0,0,20)
 6120PROCt("with this block.",3,0,0,21)
 6130PROCd(1500)
 6140PROCwipe
 6150PROCt("'Blocker and Remover Blocks' are two",0,3,0,10)
 6160PROCt("separate blocks. One of them appears as",0,3,0,11)
 6170PROCt("an open support, an unhappy face or a",0,3,0,12)
 6180PROCt("skull painted on a dull-looking block.",0,3,0,13)
 6190PROCt("This is the BLOCKER. It will stay there",0,3,0,14)
 6200PROCt("and will NOT react with ANY blocks.",0,3,0,15)
 6210PROCd(900)
 6220PROCwipe
 6230PROCt("REMOVER blocks are the reverse of",3,3,0,10)
 6240PROCt("Blockers. They appear as a happy face",3,3,0,11)
 6250PROCt("or a closed support, and when dropped",3,3,0,12)
 6260PROCt("IN THE SAME COLUMN as a BLOCKER they",3,3,0,13)
 6270PROCt("remove ALL Blockers from that column.",3,3,0,14)
 6280PROCt("They then disappear. If there are no",3,3,0,15)
 6290PROCt("Blockers in that column then they do",3,3,0,16)
 6300PROCt("absolutely nothing, and just disappear.",3,3,0,17)
 6310PROCd(1050)
 6320PROCwipe
 6330PROCt("The 'Show number of tiles fallen (Y/N)'",1,1,3,10)
 6340PROCt("option lets you decide whether you want",1,1,3,11)
 6350PROCt("to know how many tiles have been",1,1,3,12)
 6360PROCt("removed from the bucket so far. Every",1,1,3,13)
 6370PROCt("100 tiles the level increases.",1,1,3,14)
 6380PROCd(800)
 6390PROCwipe
 6400PROCt("The 'Change sprites each level (Y/N)'",2,1,0,10)
 6410PROCt("option allows you to stop the tiles",2,1,0,11)
 6420PROCt("from changing in design every time you",2,1,0,12)
 6430PROCt("go up a level. If you answer 'Y' then",2,1,0,13)
 6440PROCt("you will be given a five second count-",2,1,0,14)
 6450PROCt("down at the beginning of each new level",2,1,0,15)
 6460PROCt("to accustom yourself with the change of",2,1,0,16)
 6470PROCt("sprites. Note that on the later levels",2,1,0,17)
 6480PROCt("you may need to experiment to work out",2,1,0,18)
 6490PROCt("which special tiles are which!",2,1,0,19)
 6500PROCd(1700)
 6510PROCwipe
 6520PROCd(100)
 6530PROCu("Instructions",3,0,0,7)
 6540PROCd(100)
 6550PROCt("G O O D   L U C K !",3,1,3,13)
 6560PROCd(250)
 6570PROCt("___________________",0,3,0,12)
 6580PROCt("___________________",0,3,0,13)
 6590PROCd(300)
 6600PROCu("G O O D   L U C K !",3,1,3,13)
 6610PROCd(100)
 6620PROCu("___________________",0,3,0,12)
 6630PROCu("___________________",0,3,0,13)
 6635PROCu("Press <ESCAPE> to start the game",3,3,1,30)
 6640PROCd(250)
 6650FORl%=824TO-200STEP-4
 6660SYS&2E,290,spr%,"Screen",415,l%
 6670NEXT
 6680VDU4
 6690ENDPROC
 6700:
 6710DEFPROCt(text$,r%,g%,b%,y%)
 6720LOCALt%,S%,R%,G%,B%,X%,Y%
 6730REM Fades in a line of text - prints at the graphics cursor
 6740REM to ensure that centred text is properly aligned
 6750X%=640-LENtext$*16
 6760Y%=(31-y%)*32
 6770FORt%=1TO10
 6780R%=(r%/10)*t%:G%=(g%/10)*t%:B%=(b%/10)*t%:S%=t%/3
 6790GCOL R%+4*G%+16*B% TINTS%
 6800MOVEX%,Y%:PRINTtext$
 6810A$=INKEY$(2)
 6820NEXT
 6830ENDPROC
 6840:
 6850DEFPROCu(text$,r%,g%,b%,y%)
 6860REM Fades out a line of text
 6870LOCALt%,S%,R%,G%,B%,X%,Y%
 6880X%=640-LENtext$*16
 6890Y%=(31-y%)*32
 6900FORt%=10TO1STEP-1
 6910R%=(r%/10)*t%:G%=(g%/10)*t%:B%=(b%/10)*t%:S%=t%/3
 6920GCOL R%+4*G%+16*B% TINTS%
 6930MOVEX%,Y%:PRINTtext$
 6940A$=INKEY$(2)
 6950NEXT
 6960GCOL0TINT0:MOVEX%,Y%:PRINTtext$
 6970ENDPROC
 6980:
 6990DEFPROCd(d%)
 7000LOCALt%
 7010t%=TIME:REPEATUNTILTIME>=t%+d%ORINKEY-99
 7020ENDPROC
 7030:
 7040DEFPROCwipe
 7050GCOL0TINT0
 7060FORx2%=0TO28STEP4
 7070FORx%=0TO1248STEP32
 7080MOVEx%+x2%,36
 7090DRAWx%+x2%,736
 7100NEXT
 7110A$=INKEY$(5)
 7120NEXT
 7130ENDPROC
 7140:
 7150DEFPROCnextlevel
 7160OL%=LEV%:IFtiles%ORNOTcl%:PROCnumb(BL%,200,728)
 7170LEV%=(BL%DIV100)+1
 7180IFLEV%=OL% THENENDPROC
 7190IFstructured%THEN
 7200IFLEV%=3THENblock%=TRUE
 7210IFLEV%=5THENxtra%=TRUE
 7220IFLEV%=2THENmagic%=TRUE
 7230FORx%=0TO5:FORy%=16TO17:A%(x%,y%)=0:NEXT,
 7240FORx%=0TO5:F%=0:FORy%=1TO17:IFNOTF%:IFA%(x%,y%)>0F%=TRUE
 7250IFF%:IF((A%(x%,y%)>7ANDA%(x%,y%)<24)ORA%(x%,y%)=32)ORA%(x%,y%)=0THENBL%+=1:A%(x%,y%)=0:FORr%=y%TO1STEP-1:A%(x%,r%)=A%(x%,r%-1):NEXT:A%(x%,0)=0
 7260NEXT,
 7270ENDIF
 7280IFchange%THEN*CHANNELVOICE 1 Thunder
 7290IFchange%THENSOUND1,-10,9000,1
 7300PROCnextlev
 7310E%=E%-4:L%=(LEV%-1)MOD6:IFNOTchange% THENL%=0
 7320PROCaddresses(L%)
 7330aa%=A%:bb%=B%:cc%=C%:PROCnumb(LEV%,200,792)
 7340IFL%>0THEN
 7350H%=3:FORr1%=0TO5:FORr2%=0TO16STEP3:A%=A%(r1%,r2%):B%=A%(r1%,r2%+1):C%=A%(r1%,r2%+2):PROCdel(r1%,r2%):NEXT:PROCdel(r1%,-3):NEXT:A%=aa%:B%=bb%:C%=cc%
 7360ELSE
 7370IFchange%THENGCOL0TINT0:RECTANGLEFILL480,52,308,1000
 7380ENDIF
 7390IFE%<5THENE%=5
 7400ENDPROC
 7410:
 7420DEFPROCkeys
 7430MODE13:OFF:VDU5:*FX200,1
 7440FORl%=-200TO824STEP4
 7450SYS&2E,290,spr%,"Screen",415,l%
 7460NEXT
 7470PROCt("Enter keys:-",3,0,0,7)
 7480PROCt("Define left key",3,3,0,10)
 7490PROCgetkey
 7500left$=inkey$:U%=key%
 7510PROCu("Define left key",3,3,0,10)
 7520PROCt("Move left: <"+left$+">",0,3,0,10)
 7530PROCt("Define right key",3,3,0,12)
 7540REPEATPROCgetkey:UNTILkey%<>U%
 7550right$=inkey$:V%=key%
 7560PROCu("Define right key",3,3,0,12)
 7570PROCt("Move right: <"+right$+">",0,3,0,12)
 7580PROCt("Define rotate key",3,3,0,14)
 7590REPEATPROCgetkey:UNTILkey%<>U%ANDkey%<>V%
 7600rotate$=inkey$:W%=key%
 7610PROCu("Define rotate key",3,3,0,14)
 7620PROCt("Rotate block: <"+rotate$+">",0,3,0,14)
 7630PROCt("Define drop key",3,3,0,16)
 7640REPEATPROCgetkey:UNTILkey%<>U%ANDkey%<>V%ANDkey%<>W%
 7650drop$=inkey$:Z%=key%
 7660PROCu("Define drop key",3,3,0,16)
 7670PROCt("Drop block: <"+drop$+">",0,3,0,16)
 7680PROCt("Define pause key",3,3,0,18)
 7690REPEATPROCgetkey:UNTILkey%<>U%ANDkey%<>V%ANDkey%<>W%ANDkey%<>Z%ANDkey%<>-17ANDkey%<>-82ANDkey%<>-41ANDkey%<>-94ANDkey%<>-60ANDkey%<>-59
 7700pause$=inkey$:T%=key%
 7710PROCu("Define pause key",3,3,0,18)
 7720PROCt("Pause game: <"+pause$+">",0,3,0,18)
 7730PROCt("Press a key to continue",0,0,3,21)
 7740*FX21,0
 7750A$=GET$
 7760PROCwipe
 7770PROCu("Enter keys:-",3,0,0,7)
 7780FORl%=824TO-200STEP-4
 7790SYS&2E,290,spr%,"Screen",415,l%
 7800NEXT
 7810VDU4:*FX200,0
 7820*FX21,0
 7830ENDPROC
 7840:
 7850DEFPROCgetkey
 7860key%=0
 7870REPEATRESTORE7950
 7880FORinkey%=1TO125
 7890READkey$
 7900IFINKEY-inkey%THENkey%=-inkey%:inkey$=key$
 7910NEXT
 7920UNTILkey%<0ANDkey%<>-113
 7930ENDPROC
 7940:
 7950DATA"SHIFT","CTRL","ALT","LEFT SHIFT","LEFT CTRL","LEFT ALT"
 7960DATA"RIGHT SHIFT","RIGHT CTRL","RIGHT ALT","SELECT","MENU","ADJUST"
 7970DATA"NO KEY","NO KEY","NO KEY","NO KEY","Q","3","4","5","F4","8","F7"
 7980DATA"MINUS","6","CURSOR LEFT","KEY-PAD 6","KEY-PAD 7","F11","F12"
 7990DATA"F10","SCROLL LOCK","PRINT","W","E","T","7","I","9","0","MINUS"
 8000DATA"CS DOWN","KEY-PAD 8","KEY-PAD 9","BREAK","TILDE","POUND"
 8010DATA"BACK SPACE","1","2","D","R","6","U","O","P","RIGHT SQUARE BRACKET"
 8020DATA"CURSOR UP","KEY-PAD PLUS","KEY-PAD MINUS","ENTER","INSERT"
 8030DATA"HOME","PAGE UP","CAPS LOCK","A","X","F","Y","J","K","2","NO KEY"
 8040DATA"RETURN","KEY-PAD SLASH","NO KEY","KEY-PAD POINT","NUM LOCK"
 8050DATA"PAGE DOWN","QUOTE","NO KEY","S","C","G","H","N","L","SEMI COLON"
 8060DATA"LEFT SQUARE BRACKET","DELETE","KEY-PAD HASH","KEY-PAD STAR"
 8070DATA"NO KEY","EQUALS","NO KEY","NO KEY","TAB","Z","SPACE","V","B","M"
 8080DATA"COMMA","POINT","DIVIDE","COPY","KEY-PAD 0","KEY-PAD 1","KEY-PAD 3"
 8090DATA"NO KEY","NO KEY","NO KEY","ESCAPE","F1","F2","F3","F5","F6","F8"
 8100DATA"F9","SLASH","CURSOR RIGHT","KEY-PAD 4","KEY-PAD 5","KEY-PAD 2"
 8110:
 8120DEFPROCaddresses(L%)
 8130SYS"OS_SpriteOp",280,spr%,"a"+CHR$(65+L%)TO,,a%
 8140SYS"OS_SpriteOp",280,spr%,"b"+CHR$(65+L%)TO,,b%
 8150SYS"OS_SpriteOp",280,spr%,"c"+CHR$(65+L%)TO,,c%
 8160SYS"OS_SpriteOp",280,spr%,"d"+CHR$(65+L%)TO,,d%
 8170SYS"OS_SpriteOp",280,spr%,"e"+CHR$(65+L%)TO,,e%
 8180SYS"OS_SpriteOp",280,spr%,"f"+CHR$(65+L%)TO,,f%
 8190SYS"OS_SpriteOp",280,spr%,"@"+CHR$(65+L%)TO,,g%
 8200SYS"OS_SpriteOp",280,spr%,"g"+CHR$(65+L%)TO,,z%
 8210SYS"OS_SpriteOp",280,spr%,"h"+CHR$(65+L%)TO,,q%
 8220SYS"OS_SpriteOp",280,spr%,"i"+CHR$(65+L%)TO,,p%
 8230ENDPROC
 8240:
 8250DEFPROChappy
 8260LOCALL%
 8270happlus%=0
 8280IFB%=32THENB%=A%:happlus%=1
 8290IFC%=32THENC%=B%:B%=A%:happlus%=2
 8300A%=0
 8310FORL%=0TO17
 8320IFA%(X%,L%)=24THENA%(X%,L%)=0
 8330NEXT
 8340happy%=TRUE:HAPPY%=FALSE
 8350ENDPROC
 8360:
 8370DEFPROCnumb(N%,X%,Y%)
 8380LOCALN$,F%,L%
 8390N$=STR$N%:F%=LENN$
 8400IFF%<6THEN
 8410FORL%=0TO5-F%
 8420SYS&2E,290,spr%,"0",X%+(L%*32),Y%
 8430NEXT
 8440N$=STRING$(6-F%,"0")+N$
 8450ENDIF
 8460FORL%=6-F%TO5
 8470SYS&2E,290,spr%,MID$(N$,L%+1,1),X%+(L%*32),Y%
 8480NEXT
 8490ENDPROC
 8500:
 8510DEFPROClooksee
 8520IFNOTchange%THENENDPROC
 8530FORy%=0TO17:FORx%=0TO5
 8540IFA%(x%,y%)<>24:SYS&2E,290,spr%,CHR$(64+A%(x%,y%))+CHR$(65+L%),480+(x%*52),940-(y%*52)ELSESYS&2E,546,spr%,q%,480+(x%*52),940-(y%*52)
 8550NEXT,
 8560PRINTTAB(30,7)"Preview";TAB(30,8)"time";TAB(30,9)"left:"
 8570*FX21,0
 8580FORA%=5TO1STEP-1
 8590PROCnumb(A%,962,600)
 8600A$=INKEY$(100)
 8610IFA$<>""THENA%=1
 8620NEXT
 8630GCOL0TINT0
 8640RECTANGLEFILL950,500,300,500
 8650ENDPROC
 8660:
 8670DEFPROCoptions
 8680MODE13:OFF:VDU5:*FX200,1
 8690FORl%=-200TO824STEP4
 8700SYS&2E,290,spr%,"Screen",415,l%
 8710NEXT
 8720PROCt("Select Options:-",3,0,0,7)
 8730PROCt("Wipe screen when paused (Y/N)",3,3,0,10)
 8740PROCyesno(wipe%,ans$)
 8750IFwipe% THENhalf=0.5 ELSEhalf=1
 8760PROCu("Wipe screen when paused (Y/N)",3,3,0,10)
 8770PROCt("Wipe screen when paused: "+ans$,0,3,0,10)
 8780PROCt("Structured game? (Y/N)",3,3,0,12)
 8790PROCyesno(structured%,ans$)
 8800PROCu("Structured game? (Y/N)",3,3,0,12)
 8810PROCt("Structured game: "+ans$,0,3,0,12)
 8820IFNOTstructured%THEN
 8830PROCt("Magic Blocks? (Y/N)",3,3,0,14)
 8840PROCyesno(magic%,ans$)
 8850PROCu("Magic Blocks? (Y/N)",3,3,0,14)
 8860PROCt("Magic Blocks: "+ans$,0,3,0,14)
 8870ELSE
 8880PROCt("Magic Blocks from level 2 onwards",3,0,3,14):magic%=FALSE
 8890ENDIF
 8900IFNOTstructured%THEN
 8910PROCt("Blocker and Remover Blocks? (Y/N)",3,3,0,16)
 8920PROCyesno(block%,ans$)
 8930PROCu("Blocker and Remover Blocks? (Y/N)",3,3,0,16)
 8940PROCt("Blocker and Remover Blocks: "+ans$,0,3,0,16)
 8950ELSE
 8960PROCt("Blocker and Remover Blocks from level 3",3,0,3,16)
 8970block%=FALSE
 8980ENDIF
 8990PROCt("Display no. of tiles fallen? (Y/N)",3,3,0,18)
 9000PROCyesno(tiles%,ans$)
 9010PROCu("Display no. of tiles fallen? (Y/N)",3,3,0,18)
 9020PROCt("Display no. of tiles fallen: "+ans$,0,3,0,18)
 9030PROCt("Change sprites each level? (Y/N)",3,3,0,20)
 9040PROCyesno(change%,ans$)
 9050PROCu("Change sprites each level? (Y/N)",3,3,0,20)
 9060PROCt("Change sprites each level: "+ans$,0,3,0,20)
 9070IFNOTstructured%THEN
 9080PROCt("Different block sizes? (Y/N)",3,3,0,22)
 9090PROCyesno(xtra%,ans$)
 9100PROCu("Different block sizes? (Y/N)",3,3,0,22)
 9110PROCt("Different block sizes: "+ans$,0,3,0,22)
 9120ELSE
 9130PROCt("Different block sizes from level 5",3,0,3,22)
 9140xtra%=FALSE
 9150ENDIF
 9160PROCt("Press a key to continue",0,0,3,25)
 9170*FX21,0
 9180A$=GET$
 9190PROCwipe
 9200PROCu("Select Options:-",3,0,0,7)
 9210FORl%=824TO-200STEP-4
 9220SYS&2E,290,spr%,"Screen",415,l%
 9230NEXT
 9240VDU4:*FX200,0
 9250ENDPROC
 9260:
 9270DEFPROCyesno(RETURN toggle%,RETURN ans$)
 9280REPEATA$=GET$:UNTILINSTR("YyNn",A$)
 9290IFINSTR("Yy",A$)THEN ans$="Yes":toggle%=TRUE ELSEans$="No":toggle%=FALSE
 9300ENDPROC
 9310:
 9320DEFPROCarchimedesworld
 9330S%=2:SYS"OS_Byte",112,2:CLS
 9340FORy%=600TO786STEP8
 9350CLS
 9360SYS&2E,34+256,spr%,"screen",350,y%
 9370WAIT:SYS"OS_Byte",113,S%:S%=S%EOR3:SYS"OS_Byte",112,S%
 9380NEXT
 9390A$=INKEY$(100)
 9400DIMscale% 100
 9410scale%!8=20:scale%!12=20:REM Show from 1/20 to 20/20ths of size
 9420FORl%=1TO20
 9430CLS
 9440!scale%=l%:scale%!4=l%
 9450SYS&2E,308,spr%,"Sphere",630-(l%*5),830-(l%*5),0,scale%
 9460SYS&2E,290,spr%,"Screen",350,785,8
 9470WAIT:WAIT:SYS"OS_Byte",113,S%:S%=S%EOR3:SYS"OS_Byte",112,S%
 9480NEXT
 9490l%-=1:ix%=630-(l%*5):iy%=830-(l%*5)
 9500SYS&2E,308,spr%,"Sphere",ix%,iy%,0,scale%
 9510SYS&2E,290,spr%,"Screen",350,785,8
 9520A$=INKEY$(150):GCOL0TINT0:FORl%=-168TO300STEP12
 9530RECTANGLEFILL269,l%-24,742,24:SYS&2E,290,spr%,"Logo",269,l%
 9540WAIT:SYS"OS_Byte",113,S%:S%=S%EOR3:SYS"OS_Byte",112,S%
 9550NEXT
 9560A$=INKEY$(100)
 9570xinc=(ix%-250)/50:yinc=(iy%-255)/50:xat=ix%:yat=iy%
 9580FORc%=1TO50
 9590xat-=xinc:yat-=yinc
 9600CLS:SYS&2E,290,spr%,"Sphere",xat,yat
 9610SYS&2E,290,spr%,"Screen",350,785,8
 9620SYS&2E,290,spr%,"Logo",269,300,8
 9630WAIT:SYS"OS_Byte",113,S%:S%=S%EOR3:SYS"OS_Byte",112,S%
 9640NEXT
 9650SYS"OS_Byte",112,S%EOR3
 9660A$=INKEY$(100)
 9670SYS&2E,290,spr%,"From3",588,600
 9680A$=INKEY$(25)
 9690SYS&2E,290,spr%,"From2",588,600
 9700A$=INKEY$(25)
 9710SYS&2E,290,spr%,"From",588,600
 9720A$=INKEY$(500)
 9730ENDPROC

� >!RunImage
� Reaction
� By Gareth Moore
((� Copyright (c)Archimedes World 1993
2�
<� Version 2.1
F*FX200,1
P"ș"OS_Byte",11,0 �,repeatrate%
Zș"OS_Byte",11,repeatrate%
d��Dx@
n
*CACHE ON
x$�15:�:��12:�init:�sprites:�d\@
�#*RMLOAD <Reaction$Dir>.Reaction
�*RUN <Reaction$Dir>.Font
�
*FX200
��scroll
�	�init
��sprites
���intro
�
�instruct
��0
ܦ�13:�:�:�<>17��error:ENDELSEMO.0:�:�"Please re-run this application. (Pressing <ESCAPE> while loading causes         problems).":ș"OS_Byte",11,repeatrate%:�
�"*RMLOAD <Reaction$Dir>.Thunder
�*RMLOAD <Reaction$Dir>.Ping
� *RMLOAD <Reaction$Dir>.Laugh
#*RMLOAD <Reaction$Dir>.GameOver
 *RMLOAD <Reaction$Dir>.Magic
Ƞ 1
"�:�error:�
,*CHANNELVOICE 1 Ping
6)�L%=0:LEV%=1:S%=0:Ƞ 1:�addresses(L%)
@�skip%�start
J7�skip%=�:�TvA  :� Error handling disabled 28/4/93
T�skip%�game
^�:�error:�
h�end
r
�hiscores
|�0
��
�
��init
��
�7��0:�$;" at line ";�:ș"OS_Byte",11,repeatrate%:�
�NS%=0:file%=�("<Reaction$Dir>.Scores"):�#file%,dummy$,HIS%:�#file%:yours%=0
�5xtra%=�:vol%=115:half=1:structured%=�:*VOLUME 115
�@�:x%=-1:y%=-1:skip%=�:S%=0:T%=-56:W%=-99:Z%=-5:U%=-98:V%=-67
�0wipe%=�:magic%=�:block%=�:tiles%=�:change%=�
�Eleft$="Z":right$="X":rotate$="SPACE":drop$="LEFT CTRL":pause$="P"
�A�A%(5,17),I%(12),J%(12),K%(12),L%(12),hi$(9),hi%(9),level%(9)
��bucket%20000
�1!bucket%=20000:bucket%!8=16:ș&2E,265,bucket%
��
��start
�
#ș&2E,290,spr%,"Reaction",0,100
&!ș&2E,290,spr%,"Sphere",930,0
0'ș&2E,290,spr%,"ArchWorld",940,20,8
:�0,127:ȓȐ428,0,44,1024
DȓȐ792,0,44,1024
N/ȓȐ428,0,408,50:MB%=�:HAPPY%=�:gameover%=�
X-�0,0Ȝ255:CL%=0:ȓȐ480,52,308,1000:cl%=�
b+H%=3:�r%=0�5:�y%=-3�16�3:�del(r%,y%):�,
l)�7:�0,2);"Score:"''"High:"''"Level:"
v@�numb(0,200,920):�numb(HIS%,200,920-64):�numb(1,200,920-128)
�+�tiles%��0,8)"Tiles:":�numb(0,200,728)
��
�
��game
��
�&ș&2E,290,spr%,"DtoDefine",950,300
�(ș&2E,290,spr%,"OforOptions",990,260
�'ș&2E,290,spr%,"WhatLevel",1000,700
�*FX21,0
��0Ȝ0:tog%=1:�
�A�tog%=1�ș&2E,290,spr%,"numbers",1050,600 �ȓȐ1050,600,80,32
�tog%=tog%�3:A$=�(50)
�2�(A$>="0"�A$<="9")�A$="D"�A$="d"�A$="O"�A$="o"
�'�A$="O"�A$="o"��options:�:�start:�0
)�A$="D"�A$="d"��keys:�:�start:�0 ��-1
/SL%=�(A$):ȓȐ950,260,300,490:�A$="0"SL%=10
E%=(11-SL%)*7:SLF=SL%/5
 BL%=0:ohdear%=�
*�GD%=�:�xtra%�H%=1+�(3)
4>A%=�(6):B%=�(6):C%=�(6):D%=�(6):�(40)=1�magic%�B%=7:MB%=�
>�(30)=1�block%�A%=24
H"�(30)=1�block%�A%=32:HAPPY%=�
R X%=2:Y%=-2:US%=�:WS%=�:VS%=�
\)��=0:��disp(X%,Y%):OX%=X%:�T%��pause
f�US%���U%US%=�
p�WS%���W%WS%=�
z�VS%���V%VS%=�
�2�U%��US%X%=X%-1:US%=�:��V%��VS%X%=X%+1:VS%=�
��W%��WS%�WS%=�:�R
�
�Z%GD%=�
��X%<0�X%>5X%=OX%
�"�X%<>OX%�A%(X%,Y%+2)<>0:X%=OX%
�%�X%<>OX%�del(OX%,Y%):�disp(X%,Y%)
�
��>E%�GD%
�4�Y%=15:�p:�-1:�TFD ��A%(X%,Y%+3)<>0�p:�-1:�TFD
�$O%=940:�H%=2�O%=888��H%=4�O%=992
�,ș&2E,546,spr%,g%,480+(X%*52),O%-(Y%*52)
�Y%=Y%+1:�disp(X%,Y%)
��0
$� Continue from here after PROCp
�gameover%
�
$��R
.#�H%=3�D%=C%:C%=B%:B%=A%:A%=D%:�
8�H%=2�ȔA%,B%:�
B'�H%=4�O%=D%:D%=C%:C%=B%:B%=A%:A%=O%
L�
VݤO
`O%=�
j/�A%(X%,Y%+2)<>0�A%(X%,Y%+1)<>0�=� ��H%=2�=�
t*�A%(X%,Y%)<>0�=� ��(H%=4�Y%=0)�H%=3�=�
~�A%(X%,Y%-1)<>0�=� �=�
�	��end
�skip%=�
��
�5��<>17��error:� ��0:�"Goodbye!":�clear:*DESKTOP
�*FX21,0
�*CHANNELVOICE 1 GameOver
�-�1,-15,9900,0:�=0:���>150:�("FX21"):A$=""
��A$=""�
�*CHANNELVOICE 1 Laugh
��1,-15,8000,1:A$=�(150)
��A$=""�
��1,-15,9500,1:A$=�(100)
�A$=""�

)�1,-15,6000,1:�0Ȝ0:ȓȐ930,0,334,108
M�l%=-92�932�16:Ȗ:ș&2E,290,spr%,"GameOver",870,l%:ȓȐ870,l%-16,368,16:�
ș&2E,289,spr%,"GameOver"
(N�l%=932�156�-16:Ȗ:ș&2E,290,spr%,"GameOver",870,l%:ȓȐ870,l%+92,380,16:�
2ș&2E,289,spr%,"GameOver"
<8ȓȐ870,248,380,16:ș&2E,290,spr%,"GameOver",870,156
F
A$=�(100)
P�A$=""�
Z
���(0)=""
d
A$=�(350)
n�
x�
��
��
�%�l%=0�5:�l2%=0�17:A%(l%,l2%)=0:�,
��
���p
��Y%<0�gameover%=�
��gameover%�
�4� Ensure no extra rotation occurred (ie. redraw)
�7�disp(X%,Y%):s%=S%:count%=0:happy%=�:levcheck%=LEV%
�Vping%=�:A%(X%,Y%+2)=A%:A%(X%,Y%+1)=B%:�H%=3�H%=4�A%(X%,Y%)=C%:�H%=4�A%(X%,Y%-1)=D%
�
�MB% �
�3�("ChannelVoice 1 Magic"):�1,-15,5500,0:ping%=�
� �D%=7�H%=4�MBX%=X%:MBY%=Y%-1
�C%=7�H%>2�MBX%=X%:MBY%=Y%
�B%=7�MBX%=X%:MBY%=Y%+1
�A%=7�MBX%=X%:MBY%=Y%+2
"�
,	�R%=�
6�MB%�ȕ MB%
@'�MB%�count%+=1:A%(MBX%,MBY%)=count%
J� Start piece removal loop
T� Check for vertical lines
^)�x%=0�5:LA%=A%(x%,0)�7:LB%=A%(x%,1)�7
h�y%=2�17
r:�(A%(x%,y%)�7)=LA%�(A%(x%,y%)�7)=LB%�(A%(x%,y%)�7)<>0�
|verty%=y%-2:R%=�:�
�/A%(x%,verty%)=(A%(x%,verty%)�7)+8:verty%+=1
�+�verty%<18��(A%(x%,verty%)�7)<>LA% � ��
�8S%+=half*10*(verty%-y%+1):�verty%<18�y%=verty%�y%=17
��
�%LA%=A%(x%,y%-1)�7:LB%=A%(x%,y%)�7
��,
� � Check for horizontal lines
� �y%=0�17:LA%=0:LB%=0:�x%=0�5
�e�(A%(x%,y%)�7)<>LB%�x%-LA%>2��r%=LA%�x%-1:A%(r%,y%)=8+(A%(r%,y%)�7):�:R%=�:S%+=half*(12*(x%-LA%))
��LB%<>(A%(x%,y%)�7)�LA%=x%
�LB%=A%(x%,y%)�7
��LB%=0�LB%=-1
�P�:�6-LA%>2��r%=LA%�5:A%(r%,y%)=(A%(r%,y%)�7)+8:�:R%=�:S%=S%+half*12*(x%-LA%)
�
� Diagonals
/� Top-left to bottom-right (and vice-versa)
&�x%=0�3:�y%=0�15
0AA1%=(A%(x%,y%)�7):A2%=(A%(x%+1,y%+1)�7):A3%=(A%(x%+2,y%+2)�7)
:�A1%=0�A2%=0�A3%=0�A1%=-1
D_�A1%=A2%�A2%=A3%�A%(x%,y%)=A1%+8:A%(x%+1,y%+1)=A2%+8:A%(x%+2,y%+2)=A2%+8:R%=�:S%=S%+half*45
N�,
X/� Top-right to bottom-left (and vice-versa)
b�x%=2�5:�y%=0�15
lAA1%=(A%(x%,y%)�7):A2%=(A%(x%-1,y%+1)�7):A3%=(A%(x%-2,y%+2)�7)
v�A1%=0�A2%=0�A3%=0�A1%=-1
�_�A1%=A2%�A2%=A3%�A%(x%,y%)=A1%+8:A%(x%-1,y%+1)=A1%+8:A%(x%-2,y%+2)=A2%+8:R%=�:S%=S%+half*45
��,
�#�count%>5�MB%=�:A%(MBX%,MBY%)=0
��count%>0��
�count%=0:�happy%�happy%=�
�� Now shuffle
�3�x%=0�5:F%=0:�A%(x%,0)>7�A%(x%,0)<24�A%(x%,0)=0
��y%=1�17
��F%:�A%(x%,y%)>0F%=�
ڀ�F%:�((A%(x%,y%)>7�A%(x%,y%)<24)�A%(x%,y%)=32)�A%(x%,y%)=0�BL%+=1:A%(x%,y%)=0:�r%=y%�1�-1:A%(x%,r%)=A%(x%,r%-1):�:A%(x%,0)=0
��,
�
� HAPPY%�
> �happy:�x%=0�5:F%=0:�y%=1�17
H�F%:�A%(x%,y%)>0F%=�
R��F%:�((A%(x%,y%)>7�A%(x%,y%)<24)�A%(x%,y%)=32)�A%(x%,y%)=0�BL%+=1:A%(x%,y%)=0:�r%=y%�1�-1:A%(x%,r%)=A%(x%,r%-1):�:A%(x%,0)=0
\�,
f�
p�nextlevel
z3�R%�ping%:�("CHANNELVOICE 1 Ping"):�1,-8,9000,1
��R%=� � �happy%
�;�7:SI%=S%-s%:S%=S%-SI%:S%=S%+(SI%*((LEV%*.25)+.75))*SLF
�D�numb(S%,200,920):yours%=S%:�S%>HIS%�HIS%=S%:�numb(HIS%,200,856)
��levcheck%<>LEV%��looksee
�3�x%=0�5:F%=0:�A%(x%,0)>7�A%(x%,0)<24�A%(x%,0)=0
��y%=1�17
��F%:�A%(x%,y%)>0F%=�
���F%:�((A%(x%,y%)>7�A%(x%,y%)<24)�A%(x%,y%)=32)�A%(x%,y%)=0�BL%+=1:A%(x%,y%)=0:�r%=y%�1�-1:A%(x%,r%)=A%(x%,r%-1):�:A%(x%,0)=0
��,
�� Now redraw
�"�y%=0�17:�x%=0�5:pi%=A%(x%,y%)
��pi%<>24:pi%=pi%�7
�p�pi%<>24:ș&2E,290,spr%,�(64+pi%)+�(65+L%),480+(x%*52),940-(y%*52)�ș&2E,546,spr%,q%,480+(x%*52),940-(y%*52)
�A%(x%,y%)=pi%
��,
��
��A%(2,0)<>0�gameover%=�
��
�
��sprites
�*FX200,1
��
���0:�:�("FX200"):�<>17��error:� ��"Please don't press <ESCAPE> whilst the disc is being accessed! You'll have to   start again now!!!":ș"OS_Byte",11,repeatrate%:�
�2ș"OS_File",5,"<Reaction$Dir>.Blocks"�,,,,mem%
��spr% mem%+32
	/!spr%=mem%+32:spr%!4=0:spr%!8=16:spr%!12=16
	*ș&2E,266,spr%,"<Reaction$Dir>.Blocks"
	
*FX200
	$��
	.�
	8��error
	B*ALPHABET Latin1
	L+�:�0:�$;" at line ";�;" (";�;")":�
	Vș"OS_Byte",11,repeatrate%
	`��=258��=257��0:�"Run me again please! Try allocating more 'Module area' memory using the         Task Manager. [";�;"]":�:�
	j
�clear
	t&�12:�$;" at line ";�;" (";�;")":�
	~�
	���disp(XX%,YY%)
	�#h%=480+(XX%*52):i%=836-(YY%*52)
	�!�A%=1:ș&2E,546,spr%,a%,h%,i%
	�!�A%=2:ș&2E,546,spr%,b%,h%,i%
	�!�A%=3:ș&2E,546,spr%,c%,h%,i%
	�!�A%=4:ș&2E,546,spr%,d%,h%,i%
	�!�A%=5:ș&2E,546,spr%,e%,h%,i%
	�!�A%=6:ș&2E,546,spr%,f%,h%,i%
	�!�A%=7:ș&2E,546,spr%,z%,h%,i%
	�"�A%=24:ș&2E,546,spr%,q%,h%,i%
	�"�A%=32:ș&2E,546,spr%,p%,h%,i%
	�
i%+=52
!�B%=1:ș&2E,546,spr%,a%,h%,i%

!�B%=2:ș&2E,546,spr%,b%,h%,i%
!�B%=3:ș&2E,546,spr%,c%,h%,i%
!�B%=4:ș&2E,546,spr%,d%,h%,i%
(!�B%=5:ș&2E,546,spr%,e%,h%,i%
2!�B%=6:ș&2E,546,spr%,f%,h%,i%
<!�B%=7:ș&2E,546,spr%,z%,h%,i%
F"�B%=24:ș&2E,546,spr%,q%,h%,i%
P"�B%=32:ș&2E,546,spr%,p%,h%,i%
Z�H%=2��
d
i%+=52
n!�C%=1:ș&2E,546,spr%,a%,h%,i%
x!�C%=2:ș&2E,546,spr%,b%,h%,i%
�!�C%=3:ș&2E,546,spr%,c%,h%,i%
�!�C%=4:ș&2E,546,spr%,d%,h%,i%
�!�C%=5:ș&2E,546,spr%,e%,h%,i%
�!�C%=6:ș&2E,546,spr%,f%,h%,i%
�!�C%=7:ș&2E,546,spr%,z%,h%,i%
�"�C%=24:ș&2E,546,spr%,q%,h%,i%
�"�C%=32:ș&2E,546,spr%,p%,h%,i%
��H%=3��
�(i%+=52:�D%=1:ș&2E,546,spr%,a%,h%,i%
�!�D%=2:ș&2E,546,spr%,b%,h%,i%
�!�D%=3:ș&2E,546,spr%,c%,h%,i%
�!�D%=4:ș&2E,546,spr%,d%,h%,i%
�!�D%=5:ș&2E,546,spr%,e%,h%,i%
!�D%=6:ș&2E,546,spr%,f%,h%,i%
!�D%=7:ș&2E,546,spr%,z%,h%,i%
"�D%=24:ș&2E,546,spr%,q%,h%,i%
""�D%=32:ș&2E,546,spr%,p%,h%,i%
,�
6��del(XX%,YY%)
@5�H%=4�ș&2E,546,spr%,g%,480+(XX%*52),992-(YY%*52)
J:�H%=3�H%=4�ș&2E,546,spr%,g%,480+(XX%*52),940-(YY%*52)
T/ș&2E,546,spr%,g%,480+(XX%*52),888-(YY%*52)
^/ș&2E,546,spr%,g%,480+(XX%*52),836-(YY%*52)
h�
r��pause
|cont%=�
��A%,B%,C%,D%
�*ș&2E,272,bucket%,"a",,480,52,784,1023
�X�cl%�wipe%�0Ȝ0:ȓȐ480,52,308,1000:�l%=900�100�-80:ș&2E,290,spr%,"Paused",526,l%:�
�
����T%
�*FX21,0
�'ș&2E,290,spr%,"sqforsound",950,600
�(ș&2E,290,spr%,"+-forvolume",950,550
�9�0Ȝ0:ȓȐ930,0,334,108:ș&2E,290,spr%,"Sphere",930,0
�%ș&2E,290,spr%,"Credits",940,20,8
��
�A$=�(0):�A$="G"�A$=�(10):�A$="L"�A$=�(10):�A$="M"�cl%=�:ș&2E,290,spr%,"OhDear",138,70:�0,8)"Tiles:":�numb(BL%,200,728):ohdear%=�
�}�ohdear%=� �A$="~"�OBL%=BL%:BL%+=(((BL%�100)+1)*100)-BL%:�numb(BL%,200,728):�("CHANNELVOICE 1 Laugh"):�1,-15,7000,1:E%-=4
�(�A$="S"�A$="s"��("SPEAKER ON"):A$=""
)�A$="Q"�A$="q"��("SPEAKER OFF"):A$=""
�A$="="�A$="+"�
6A$="":vol%+=5:�vol%<128��("VOLUME "+�vol%)�vol%-=5
&)�("CHANNELVOICE 1 Ping"):�1,-8,9000,1
0�
:�A$="-"�A$="_"�
D4A$="":vol%-=5:�vol%>0��("VOLUME "+�vol%)�vol%+=5
N)�("CHANNELVOICE 1 Ping"):�1,-8,9000,1
X�
b�A$<>""
l
����T%
v.�0Ȝ0:ȓȐ950,550,308,78:ȓȐ930,0,334,108
�Eș&2E,290,spr%,"Sphere",930,0:ș&2E,290,spr%,"ArchWorld",940,20,8
� ș&2E,290,bucket%,"a",480,52
��=cont%
��
���intro
���d\@
�	�15:�
�(�s%,del%,L%,L2%,x,y,r%,p%,points%,C%
�
del%=0
�1s%=25:� Speed 'atoms' fly in (I can dream...)
�	��DjN
��L%=0�12:�K%(L%),L%(L%):�
��L%=0�7

�points%

�L2%=1�points%

�x,y

 /I%(L2%-1)=(L%*160)+30+x:J%(L2%-1)=625-(y*4)

*�

4�L3%=1�2

>$�L3%=1 �G$="atom"�G$="blankatom"

H�r%=1�s%

R�p%=1�points%

\cș&2E,290,spr%,G$,(((I%(p%-1)-K%(p%-1))/s%)*r%)+K%(p%-1),(((J%(p%-1)-L%(p%-1))/s%)*r%)+L%(p%-1)

f�,,

p�p%=0�points%-1

z(ș&2E,290,spr%,"atom2",I%(p%),J%(p%)

��

��=0:���>25:�

��

��=0:���>25

��rtitle("atom3")

�C%=0:�C%+=1

�	�fade

�
del%=8

��rtitle("atom")

��rtitle("atom3")

��rtitle("blankatom")

��rtitle("atom3")

�	�C%=3
�
��rtitle(G$)
�L%
$	��DtN
.�L%=0�7
8�points%
B�L2%=1�points%
L2�x,y:ș&2E,290,spr%,G$,(L%*160)+30+x,625-(y*4)
V�:A$=�(del%):�
`�
jy�0,0,1259,0,1259,1023,0,1023,0,540,1259,540,630,40,630,1023,315,1023,955,1023,315,40,955,40,0,760:REM Start positions
tN�12,0,0,25,0,0,20,0,40,0,60,0,80,50,10,75,20,50,30,25,40,50,60,75,80:REM R
~R�13,0,0,25,0,50,0,75,0,0,20,0,40,25,40,50,40,0,60,0,80,25,80,50,80,75,80:REM E
�N�10,37.5,0,25,20,50,20,12.5,40,62.5,40,37.5,40,0,60,75,60,0,80,75,80:REM A
�B�9,25,0,50,0,75,0,12.5,20,0,40,12.5,60,25,80,50,80,75,80:REM C
�?�8,0,0,25,0,50,0,75,0,37.5,20,37.5,40,37.5,60,37.5,80:REM T
�O�11,0,0,25,0,50,0,75,0,37.5,20,37.5,40,37.5,60,0,80,25,80,50,80,75,80:REM I
�F�8,37.5,0,12.5,20,62.5,20,0,40,75,40,12.5,60,62.5,60,37.5,80:REM O
�V�13,0,0,0,20,0,40,0,60,0,80,25,20,37.5,40,50,60,75,80,75,60,75,40,75,20,75,0:REM N
�
��fade
�-�r%:� "fade" is too grand a word probably
��r%=0�127�16
�
�=0:���>5
�Ȗ:�0,r%,r%,r%
��
�r%=127�0�-16


�=0:���>5
Ȗ:�0,r%,r%,r%
�
(�
2��scroll
<	�15:�
F0ș"OS_File",5,"<Reaction$Dir>.Logo"�,,,,mem%
P�spr% mem%+32
Z/!spr%=mem%+32:spr%!4=0:spr%!8=16:spr%!12=16
d�scale%100
nscale%!8=1:scale%!12=1
x+ș&2E,10+256,spr%,"<Reaction$Dir>.Logo"
�&ș&2E,34+256,spr%,"screen",350,600
��2Ȝ128
�5�21,31);"Press <ESCAPE> to quit intro sequence";
�Ƞ 1:A$=�(50)
�*CHANNELVOICE 1 Reaction
��1,-15,9000,0
�
A$=�(200)
��archimedesworld
��
�
��nextlev
�*FX21,0
��change%��
��0Ȝ0:ȓȐ930,0,334,108
�l%=-44�1024�44
0AB$=�(5):Ȗ:ș&2E,290,spr%,"NextLev",1000,l%
�
"	�0Ȝ0
,�l%=-44�1024�44
6"AB$=�(5):Ȗ:ȓȐ1000,l%,256,44
@�
JEș&2E,290,spr%,"Sphere",930,0:ș&2E,290,spr%,"ArchWorld",940,20,8
T�
^��hiscores
h�
r@��<>17��error:� ��("CLOSE"):�0:�"Goodbye!":�clear:*DESKTOP
|$file%=�("<Reaction$Dir>.Scores")
�0�l%=0�9:�#file%,hi$(l%),hi%(l%),level%(l%):�
�in%=�:update%=�:�
�+�:�:ș&2E,290,spr%,"HighScores",300,880
� �0,6);:v%=0:�S%=0�S%=yours%
��r%=0�9
���update%:�S%>hi%(r%)�r%<9��in%��l%=8�r%�-1:hi%(l%+1)=hi%(l%):hi$(l%+1)=hi$(l%):level%(l%+1)=level%(l%):�l%:hi%(r%)=S%:hi$(r%)="":level%(r%)=LEV%:v%=�:v2%=r%:in%=�
�T�update%:�S%>hi%(r%)��in%�hi$(r%)="":hi%(r%)=S%:level%(r%)=LEV%:v%=�:v2%=9:in%=�
�j�19Ȝ255:�1-(r%�9))�(r%+1);") ";:�3Ȝ255:�hi$(r%);:�48Ȝ255:�31);level%(r%);:�15Ȝ255:�34);hi%(r%)'
��
�	v3%=�
��in%�update%�
�)�:�11Ȝ255:hi$(v2%)=�input(4,v%,26):�
�
�0,v3%);
�
.�in%:�63Ȝ0:�'"(Your score: ";�yours%;")"
�
&�update%�S%>=hi%(9)�
0
�#file%=0
:��ONERRORPRINT"Disc error: Remove program from ArcFS"'"archive or remove write-protection"'"from disc. (Or reaccess file)"'"Highscore not saved. <Press a key>":OSCLI("FX21,0"):A$=GET$:GOTO220
?��61Ȝ255:�''�6)"Press a key to start again!";:LEV%=1:�("FX21"):A$=�(1150):�A$<>""��d\@ ��0Ȝ0:�y%=0�28�4:�y2%=1024�0�-32:�0,y%+y2%:�1280,y%+y2%:�:A$=�(5):�:�instruct:�d\@
D�l%=0�9
N&�#file%,hi$(l%),hi%(l%),level%(l%)
X�
b��error:�
l�
v�update%��#file%
�1�61Ȝ255:�''�6)"Press a key to start again!";
�LEV%=1:*FX21,0
�
A$=�(150)
��A$<>""��-1:�
��
�
��error2
�A$=�(1000)
��A$<>""��-1:�
��
���d\@
�G�0Ȝ0:�y%=0�28�4:�y2%=1024�0�-32:�0,y%+y2%:�1280,y%+y2%:�:A$=�(5):�
��instruct:update%=�
��0
�
��error2
�*DESKTOP
 
�clear
**DESKTOP
4�
>ݤinput(x%,y%,len%)
H)�63Ȝ255:�x%,y%);�len%,".");�x%,y%);
Rget$=""
\�
fa%=�
p;�a%=8�a%=127��(get$)>0�get$=�get$):�63Ȝ255:�8;".";�8;
z=�(a%>31�a%<127)��(get$)<len%�get$=get$+�a%:�11Ȝ255:�a%;
�
�a%=13
��(len%-�(get$))
�	=get$
���clear
�
�*ALPHABET Latin1
�*RMKILL Thunder
�*RMKILL Laugh
�*RMKILL Ping
�*RMKILL Reaction
�*RMKILL GameOver
�*RMKILL Magic
�ș"OS_Byte",11,repeatrate%
�
:
��instruct
$�13:�:�d(25):�5
.�l%=-200�824�4
8"ș&2E,290,spr%,"Screen",415,l%
B�
L�d(150)
V�t("Instructions",3,0,0,7)
`�d(150)
j$�t("To begin the game",3,3,0,13)
t.�t("press <ESCAPE> at any time.",3,3,0,14)
~�d(250)
�$�u("To begin the game",3,3,0,13)
�.�u("press <ESCAPE> at any time.",3,3,0,14)
�
�d(50)
�8�t("Tiles fall from the top of the screen",0,3,0,10)
�9�t("into the bucket below. Guide the tiles",0,3,0,11)
�3�t("by pressing the following keys:-",0,3,0,12)
��d(150)
�'�t("<"+left$+"> for left",3,0,3,15)
�)�t("<"+right$+"> for right",3,0,3,16)
�*�t("<"+rotate$+"> to rotate",3,0,3,17)
�&�t("<"+drop$+"> to drop",3,0,3,18)
��d(150)
(�t("<"+pause$+"> to pause",0,0,3,20)

�d(500)
3�t("Press <ESCAPE> to start the game",3,3,1,30)
	�wipe
(3�t("Tiles fall in vertical blocks of",0,3,3,10)
24�t("three at a time. Rotating a block",0,3,3,11)
<4�t("shuffles each tile upwards in the",0,3,3,12)
F8�t("column, and moves the highest tile to",0,3,3,13)
P5�t("the bottom of the block. Press the",0,3,3,14)
Z6�t("rotate key repeatedly to rotate the",0,3,3,15)
d(�t("block more than once.",0,3,3,16)
n�d(700)
x	�wipe
�7�t("Make lines of three or more tiles to",3,2,0,10)
�8�t("score points. Complete lines are then",3,2,0,11)
�3�t("removed from the grid. This is a",3,2,0,12)
�"�t("R E A C T I O N",3,0,0,14)
��d(400)
�	�wipe
�:�t("The longer the line the more points you",1,1,3,10)
�:�t("score and the faster tiles are removed.",1,1,3,11)
�8�t("You can position tiles to remove more",1,1,3,13)
�:�t("than one line at a time. Once tiles are",1,1,3,14)
�:�t("removed the rest of the tiles fall down",1,1,3,15)
�'�t("to take their place.",1,1,3,16)
��d(700)
	�wipe
5�t("You score slightly more points for",2,1,0,10)
3�t("horizontal lines than you do for",2,1,0,11)
"7�t("vertical lines. Diagonal lines score",2,1,0,12)
,5�t("quite a few points more. The exact",2,1,0,13)
63�t("amount you score depends on your",2,1,0,14)
@�t("skill level.",2,1,0,15)
J�d(650)
T	�wipe
^8�t("When 100 tiles have been removed from",3,3,0,10)
h:�t("the bucket you will move on to the next",3,3,0,11)
r8�t("level, where the tiles will fall more",3,3,0,12)
|6�t("quickly. Also their appearance will",3,3,0,13)
�4�t("change. This can confuse matters!",3,3,0,14)
��d(600)
�	�wipe
�6�t("When you start the game you will be",3,2,2,10)
�9�t("asked to choose a skill level. Press a",3,2,2,11)
�8�t("number from 0-9 to choose, where 0 is",3,2,2,12)
�7�t("skill level 10. Your skill level and",3,2,2,13)
�/�t("actual level are not linked.",3,2,2,14)
�6�t("The higher the level you choose the",3,0,2,16)
�6�t("faster the tiles will fall, but the",3,0,2,17)
�.�t("more points you will score.",3,0,2,18)
��d(1000)
�	�wipe
7�t("Once another tile will not fit in at",0,3,0,10)
7�t("the top of the grid then the game is",0,3,0,11)
9�t("over. If your score is high enough you",0,3,0,12)
&:�t("may be asked to enter your name for the",0,3,0,13)
07�t("High Score table, which is stored on",0,3,0,14)
:5�t("disc. Otherwise your score will be",0,3,0,15)
D5�t("displayed beneath the high scores.",0,3,0,16)
N�d(900)
X	�wipe
b5�t("You can change the control keys by",3,1,3,10)
l5�t("pressing <D> when you are asked to",3,1,3,11)
v(�t("choose a skill level.",3,1,3,12)
�7�t("Alternatively, pressing <O> lets you",2,3,1,14)
�5�t("choose from a set of options which",2,3,1,15)
�2�t("control how the game is played.",2,3,1,16)
��d(800)
�	�wipe
�7�t("The 'Wipe screen when paused' option",1,3,2,10)
�7�t("means that if you pause the game the",1,3,2,11)
�7�t("screen is cleared, so that you don't",1,3,2,12)
�5�t("have an infinite amount of time to",1,3,2,13)
�1�t("decide where to place a piece!",1,3,2,14)
�4�t("When selected you will only score",1,3,2,15)
�0�t("half as many points as usual!",1,3,2,16)
�4�t("Push <Y> to agree - yes, wipe the",1,3,2,18)
9�t("screen, or <N> to stop the screen from",1,3,2,19)
1�t("being cleared [at the prompt].",1,3,2,20)
�d(1300)
 	�wipe
*8�t("The 'Structured game' option lets you",0,3,0,10)
41�t("select a game which adds extra",0,3,0,11)
>8�t("components as you progress. Selecting",0,3,0,12)
H4�t("the option gives further details.",0,3,0,13)
R8�t("When selected the bottom two lines of",0,3,0,14)
\8�t("the bucket are removed every time you",0,3,0,15)
f!�t("go up a level.",0,3,0,16)
p�d(1100)
z	�wipe
�9�t("The 'Magic Blocks (Y/N)' option allows",3,0,0,10)
�8�t("you to choose whether or not you wish",3,0,0,11)
�(�t("to have Magic Blocks.",3,0,0,12)
�8�t("These fall occasionally and appear as",3,0,0,14)
�:�t("multi-coloured blocks. They do not stay",3,0,0,15)
�;�t("in the bucket but disappear immediately.",3,0,0,16)
�6�t("However, they act as if they were a",3,0,0,17)
�6�t("block of every single colour all at",3,0,0,18)
�9�t("once, and so you can complete lines of",3,0,0,19)
�5�t("different colours at the same time",3,0,0,20)
�#�t("with this block.",3,0,0,21)
��d(1500)
�	�wipe
7�t("'Blocker and Remover Blocks' are two",0,3,0,10)
:�t("separate blocks. One of them appears as",0,3,0,11)
8�t("an open support, an unhappy face or a",0,3,0,12)
$9�t("skull painted on a dull-looking block.",0,3,0,13)
.:�t("This is the BLOCKER. It will stay there",0,3,0,14)
86�t("and will NOT react with ANY blocks.",0,3,0,15)
B�d(900)
L	�wipe
V4�t("REMOVER blocks are the reverse of",3,3,0,10)
`8�t("Blockers. They appear as a happy face",3,3,0,11)
j8�t("or a closed support, and when dropped",3,3,0,12)
t7�t("IN THE SAME COLUMN as a BLOCKER they",3,3,0,13)
~8�t("remove ALL Blockers from that column.",3,3,0,14)
�7�t("They then disappear. If there are no",3,3,0,15)
�7�t("Blockers in that column then they do",3,3,0,16)
�:�t("absolutely nothing, and just disappear.",3,3,0,17)
��d(1050)
�	�wipe
�:�t("The 'Show number of tiles fallen (Y/N)'",1,1,3,10)
�:�t("option lets you decide whether you want",1,1,3,11)
�3�t("to know how many tiles have been",1,1,3,12)
�8�t("removed from the bucket so far. Every",1,1,3,13)
�1�t("100 tiles the level increases.",1,1,3,14)
��d(800)
�	�wipe
8�t("The 'Change sprites each level (Y/N)'",2,1,0,10)

6�t("option allows you to stop the tiles",2,1,0,11)
9�t("from changing in design every time you",2,1,0,12)
8�t("go up a level. If you answer 'Y' then",2,1,0,13)
(9�t("you will be given a five second count-",2,1,0,14)
2:�t("down at the beginning of each new level",2,1,0,15)
<:�t("to accustom yourself with the change of",2,1,0,16)
F9�t("sprites. Note that on the later levels",2,1,0,17)
P9�t("you may need to experiment to work out",2,1,0,18)
Z1�t("which special tiles are which!",2,1,0,19)
d�d(1700)
n	�wipe
x�d(100)
��u("Instructions",3,0,0,7)
��d(100)
�&�t("G O O D   L U C K !",3,1,3,13)
��d(250)
�&�t("___________________",0,3,0,12)
�&�t("___________________",0,3,0,13)
��d(300)
�&�u("G O O D   L U C K !",3,1,3,13)
��d(100)
�&�u("___________________",0,3,0,12)
�&�u("___________________",0,3,0,13)
�3�u("Press <ESCAPE> to start the game",3,3,1,30)
��d(250)
��l%=824�-200�-4
"ș&2E,290,spr%,"Screen",415,l%
�
�4
"�
,:
6��t(text$,r%,g%,b%,y%)
@�t%,S%,R%,G%,B%,X%,Y%
J=� Fades in a line of text - prints at the graphics cursor
T5� to ensure that centred text is properly aligned
^X%=640-�text$*16
hY%=(31-y%)*32
r�t%=1�10
|5R%=(r%/10)*t%:G%=(g%/10)*t%:B%=(b%/10)*t%:S%=t%/3
�� R%+4*G%+16*B% ȜS%
��X%,Y%:�text$
�A$=�(2)
��
��
�:
���u(text$,r%,g%,b%,y%)
�� Fades out a line of text
��t%,S%,R%,G%,B%,X%,Y%
�X%=640-�text$*16
�Y%=(31-y%)*32
��t%=10�1�-1
�5R%=(r%/10)*t%:G%=(g%/10)*t%:B%=(b%/10)*t%:S%=t%/3
� R%+4*G%+16*B% ȜS%
�X%,Y%:�text$
A$=�(2)
&�
0�0Ȝ0:�X%,Y%:�text$
:�
D:
N��d(d%)
X�t%
bt%=�:���>=t%+d%��-99
l�
v:
�
��wipe
�	�0Ȝ0
��x2%=0�28�4
��x%=0�1248�32
��x%+x2%,36
��x%+x2%,736
��
�A$=�(5)
��
��
�:
���nextlevel
�,OL%=LEV%:�tiles%��cl%:�numb(BL%,200,728)
LEV%=(BL%�100)+1
�LEV%=OL% ��
�structured%�
 �LEV%=3�block%=�
*�LEV%=5�xtra%=�
4�LEV%=2�magic%=�
>$�x%=0�5:�y%=16�17:A%(x%,y%)=0:�,
H/�x%=0�5:F%=0:�y%=1�17:�F%:�A%(x%,y%)>0F%=�
R��F%:�((A%(x%,y%)>7�A%(x%,y%)<24)�A%(x%,y%)=32)�A%(x%,y%)=0�BL%+=1:A%(x%,y%)=0:�r%=y%�1�-1:A%(x%,r%)=A%(x%,r%-1):�:A%(x%,0)=0
\�,
f�
p$�change%�*CHANNELVOICE 1 Thunder
z�change%��1,-10,9000,1
��nextlev
�)E%=E%-4:L%=(LEV%-1)�6:�change% �L%=0
��addresses(L%)
�,aa%=A%:bb%=B%:cc%=C%:�numb(LEV%,200,792)
�
�L%>0�
��H%=3:�r1%=0�5:�r2%=0�16�3:A%=A%(r1%,r2%):B%=A%(r1%,r2%+1):C%=A%(r1%,r2%+2):�del(r1%,r2%):�:�del(r1%,-3):�:A%=aa%:B%=bb%:C%=cc%
��
�&�change%��0Ȝ0:ȓȐ480,52,308,1000
��
��E%<5�E%=5
��
�:
�
��keys
�13:�:�5:*FX200,1
�l%=-200�824�4
"ș&2E,290,spr%,"Screen",415,l%
$�
.�t("Enter keys:-",3,0,0,7)
8"�t("Define left key",3,3,0,10)
B�getkey
Lleft$=inkey$:U%=key%
V"�u("Define left key",3,3,0,10)
`)�t("Move left: <"+left$+">",0,3,0,10)
j#�t("Define right key",3,3,0,12)
t��getkey:�key%<>U%
~right$=inkey$:V%=key%
�#�u("Define right key",3,3,0,12)
�+�t("Move right: <"+right$+">",0,3,0,12)
�$�t("Define rotate key",3,3,0,14)
���getkey:�key%<>U%�key%<>V%
�rotate$=inkey$:W%=key%
�$�u("Define rotate key",3,3,0,14)
�.�t("Rotate block: <"+rotate$+">",0,3,0,14)
�"�t("Define drop key",3,3,0,16)
�(��getkey:�key%<>U%�key%<>V%�key%<>W%
�drop$=inkey$:Z%=key%
�"�u("Define drop key",3,3,0,16)
�*�t("Drop block: <"+drop$+">",0,3,0,16)
#�t("Define pause key",3,3,0,18)

m��getkey:�key%<>U%�key%<>V%�key%<>W%�key%<>Z%�key%<>-17�key%<>-82�key%<>-41�key%<>-94�key%<>-60�key%<>-59
pause$=inkey$:T%=key%
#�u("Define pause key",3,3,0,18)
(+�t("Pause game: <"+pause$+">",0,3,0,18)
2*�t("Press a key to continue",0,0,3,21)
<*FX21,0
FA$=�
P	�wipe
Z�u("Enter keys:-",3,0,0,7)
d�l%=824�-200�-4
n"ș&2E,290,spr%,"Screen",415,l%
x�
��4:*FX200,0
�*FX21,0
��
�:
���getkey
�
key%=0
�
���TN_
��inkey%=1�125
�	�key$
�&�-inkey%�key%=-inkey%:inkey$=key$
��
��key%<0�key%<>-113
��
:
=�"SHIFT","CTRL","ALT","LEFT SHIFT","LEFT CTRL","LEFT ALT"
D�"RIGHT SHIFT","RIGHT CTRL","RIGHT ALT","SELECT","MENU","ADJUST"
"F�"NO KEY","NO KEY","NO KEY","NO KEY","Q","3","4","5","F4","8","F7"
,B�"MINUS","6","CURSOR LEFT","KEY-PAD 6","KEY-PAD 7","F11","F12"
6D�"F10","SCROLL LOCK","PRINT","W","E","T","7","I","9","0","MINUS"
@>�"CS DOWN","KEY-PAD 8","KEY-PAD 9","BREAK","TILDE","POUND"
JH�"BACK SPACE","1","2","D","R","6","U","O","P","RIGHT SQUARE BRACKET"
T@�"CURSOR UP","KEY-PAD PLUS","KEY-PAD MINUS","ENTER","INSERT"
^F�"HOME","PAGE UP","CAPS LOCK","A","X","F","Y","J","K","2","NO KEY"
hA�"RETURN","KEY-PAD SLASH","NO KEY","KEY-PAD POINT","NUM LOCK"
rF�"PAGE DOWN","QUOTE","NO KEY","S","C","G","H","N","L","SEMI COLON"
|A�"LEFT SQUARE BRACKET","DELETE","KEY-PAD HASH","KEY-PAD STAR"
�F�"NO KEY","EQUALS","NO KEY","NO KEY","TAB","Z","SPACE","V","B","M"
�H�"COMMA","POINT","DIVIDE","COPY","KEY-PAD 0","KEY-PAD 1","KEY-PAD 3"
�F�"NO KEY","NO KEY","NO KEY","ESCAPE","F1","F2","F3","F5","F6","F8"
�D�"F9","SLASH","CURSOR RIGHT","KEY-PAD 4","KEY-PAD 5","KEY-PAD 2"
�:
���addresses(L%)
�.ș"OS_SpriteOp",280,spr%,"a"+�(65+L%)�,,a%
�.ș"OS_SpriteOp",280,spr%,"b"+�(65+L%)�,,b%
�.ș"OS_SpriteOp",280,spr%,"c"+�(65+L%)�,,c%
�.ș"OS_SpriteOp",280,spr%,"d"+�(65+L%)�,,d%
�.ș"OS_SpriteOp",280,spr%,"e"+�(65+L%)�,,e%
�.ș"OS_SpriteOp",280,spr%,"f"+�(65+L%)�,,f%
�.ș"OS_SpriteOp",280,spr%,"@"+�(65+L%)�,,g%
 .ș"OS_SpriteOp",280,spr%,"g"+�(65+L%)�,,z%
 .ș"OS_SpriteOp",280,spr%,"h"+�(65+L%)�,,q%
 .ș"OS_SpriteOp",280,spr%,"i"+�(65+L%)�,,p%
 &�
 0:
 :��happy
 D�L%
 Nhapplus%=0
 X�B%=32�B%=A%:happlus%=1
 b!�C%=32�C%=B%:B%=A%:happlus%=2
 lA%=0
 v�L%=0�17
 ��A%(X%,L%)=24�A%(X%,L%)=0
 ��
 �happy%=�:HAPPY%=�
 ��
 �:
 ���numb(N%,X%,Y%)
 �
�N$,F%,L%
 �N$=�N%:F%=�N$
 �
�F%<6�
 ��L%=0�5-F%
 �$ș&2E,290,spr%,"0",X%+(L%*32),Y%
 ��
 �N$=�6-F%,"0")+N$
!�
!�L%=6-F%�5
!,ș&2E,290,spr%,�N$,L%+1,1),X%+(L%*32),Y%
! �
!*�
!4:
!>
��looksee
!H�change%��
!R�y%=0�17:�x%=0�5
!\|�A%(x%,y%)<>24:ș&2E,290,spr%,�(64+A%(x%,y%))+�(65+L%),480+(x%*52),940-(y%*52)�ș&2E,546,spr%,q%,480+(x%*52),940-(y%*52)
!f�,
!p/�30,7)"Preview";�30,8)"time";�30,9)"left:"
!z*FX21,0
!��A%=5�1�-1
!��numb(A%,962,600)
!�
A$=�(100)
!��A$<>""�A%=1
!��
!�	�0Ȝ0
!�ȓȐ950,500,300,500
!��
!�:
!�
��options
!��13:�:�5:*FX200,1
!��l%=-200�824�4
!�"ș&2E,290,spr%,"Screen",415,l%
"�
""�t("Select Options:-",3,0,0,7)
"0�t("Wipe screen when paused (Y/N)",3,3,0,10)
"$�yesno(wipe%,ans$)
".�wipe% �half=0.5 �half=1
"80�u("Wipe screen when paused (Y/N)",3,3,0,10)
"B1�t("Wipe screen when paused: "+ans$,0,3,0,10)
"L)�t("Structured game? (Y/N)",3,3,0,12)
"V�yesno(structured%,ans$)
"`)�u("Structured game? (Y/N)",3,3,0,12)
"j)�t("Structured game: "+ans$,0,3,0,12)
"t�structured%�
"~&�t("Magic Blocks? (Y/N)",3,3,0,14)
"��yesno(magic%,ans$)
"�&�u("Magic Blocks? (Y/N)",3,3,0,14)
"�&�t("Magic Blocks: "+ans$,0,3,0,14)
"��
"�=�t("Magic Blocks from level 2 onwards",3,0,3,14):magic%=�
"��
"��structured%�
"�4�t("Blocker and Remover Blocks? (Y/N)",3,3,0,16)
"��yesno(block%,ans$)
"�4�u("Blocker and Remover Blocks? (Y/N)",3,3,0,16)
"�4�t("Blocker and Remover Blocks: "+ans$,0,3,0,16)
"��
#:�t("Blocker and Remover Blocks from level 3",3,0,3,16)
#
block%=�
#�
#5�t("Display no. of tiles fallen? (Y/N)",3,3,0,18)
#(�yesno(tiles%,ans$)
#25�u("Display no. of tiles fallen? (Y/N)",3,3,0,18)
#<5�t("Display no. of tiles fallen: "+ans$,0,3,0,18)
#F3�t("Change sprites each level? (Y/N)",3,3,0,20)
#P�yesno(change%,ans$)
#Z3�u("Change sprites each level? (Y/N)",3,3,0,20)
#d3�t("Change sprites each level: "+ans$,0,3,0,20)
#n�structured%�
#x/�t("Different block sizes? (Y/N)",3,3,0,22)
#��yesno(xtra%,ans$)
#�/�u("Different block sizes? (Y/N)",3,3,0,22)
#�/�t("Different block sizes: "+ans$,0,3,0,22)
#��
#�5�t("Different block sizes from level 5",3,0,3,22)
#�xtra%=�
#��
#�*�t("Press a key to continue",0,0,3,25)
#�*FX21,0
#�A$=�
#�	�wipe
#�"�u("Select Options:-",3,0,0,7)
#��l%=824�-200�-4
$"ș&2E,290,spr%,"Screen",415,l%
$�
$�4:*FX200,0
$"�
$,:
$6��yesno(� toggle%,� ans$)
$@�A$=�:��"YyNn",A$)
$J9�"Yy",A$)� ans$="Yes":toggle%=� �ans$="No":toggle%=�
$T�
$^:
$h��archimedesworld
$rS%=2:ș"OS_Byte",112,2:�
$|�y%=600�786�8
$��
$�%ș&2E,34+256,spr%,"screen",350,y%
$�4Ȗ:ș"OS_Byte",113,S%:S%=S%�3:ș"OS_Byte",112,S%
$��
$�
A$=�(100)
$��scale% 100
$�Ascale%!8=20:scale%!12=20:� Show from 1/20 to 20/20ths of size
$��l%=1�20
$��
$�!scale%=l%:scale%!4=l%
$�:ș&2E,308,spr%,"Sphere",630-(l%*5),830-(l%*5),0,scale%
$�%ș&2E,290,spr%,"Screen",350,785,8
$�7Ȗ:Ȗ:ș"OS_Byte",113,S%:S%=S%�3:ș"OS_Byte",112,S%
%�
%'l%-=1:ix%=630-(l%*5):iy%=830-(l%*5)
%,ș&2E,308,spr%,"Sphere",ix%,iy%,0,scale%
%&%ș&2E,290,spr%,"Screen",350,785,8
%0#A$=�(150):�0Ȝ0:�l%=-168�300�12
%:5ȓȐ269,l%-24,742,24:ș&2E,290,spr%,"Logo",269,l%
%D4Ȗ:ș"OS_Byte",113,S%:S%=S%�3:ș"OS_Byte",112,S%
%N�
%X
A$=�(100)
%b7xinc=(ix%-250)/50:yinc=(iy%-255)/50:xat=ix%:yat=iy%
%l�c%=1�50
%vxat-=xinc:yat-=yinc
%�%�:ș&2E,290,spr%,"Sphere",xat,yat
%�%ș&2E,290,spr%,"Screen",350,785,8
%�#ș&2E,290,spr%,"Logo",269,300,8
%�4Ȗ:ș"OS_Byte",113,S%:S%=S%�3:ș"OS_Byte",112,S%
%��
%�ș"OS_Byte",112,S%�3
%�
A$=�(100)
%�"ș&2E,290,spr%,"From3",588,600
%�A$=�(25)
%�"ș&2E,290,spr%,"From2",588,600
%�A$=�(25)
%�!ș&2E,290,spr%,"From",588,600
%�
A$=�(500)
&�
�
00000000  0d 00 0a 10 f4 20 3e 21  52 75 6e 49 6d 61 67 65  |..... >!RunImage|
00000010  0d 00 14 0e f4 20 52 65  61 63 74 69 6f 6e 0d 00  |..... Reaction..|
00000020  1e 15 f4 20 42 79 20 47  61 72 65 74 68 20 4d 6f  |... By Gareth Mo|
00000030  6f 72 65 0d 00 28 28 f4  20 43 6f 70 79 72 69 67  |ore..((. Copyrig|
00000040  68 74 20 28 63 29 41 72  63 68 69 6d 65 64 65 73  |ht (c)Archimedes|
00000050  20 57 6f 72 6c 64 20 31  39 39 33 0d 00 32 05 f4  | World 1993..2..|
00000060  0d 00 3c 11 f4 20 56 65  72 73 69 6f 6e 20 32 2e  |..<.. Version 2.|
00000070  31 0d 00 46 0c 2a 46 58  32 30 30 2c 31 0d 00 50  |1..F.*FX200,1..P|
00000080  22 c8 99 22 4f 53 5f 42  79 74 65 22 2c 31 31 2c  |".."OS_Byte",11,|
00000090  30 20 b8 2c 72 65 70 65  61 74 72 61 74 65 25 0d  |0 .,repeatrate%.|
000000a0  00 5a 1e c8 99 22 4f 53  5f 42 79 74 65 22 2c 31  |.Z..."OS_Byte",1|
000000b0  31 2c 72 65 70 65 61 74  72 61 74 65 25 0d 00 64  |1,repeatrate%..d|
000000c0  0b ee 85 e5 8d 44 78 40  0d 00 6e 0d 2a 43 41 43  |.....Dx@..n.*CAC|
000000d0  48 45 20 4f 4e 0d 00 78  24 eb 31 35 3a 87 3a ee  |HE ON..x$.15:.:.|
000000e0  85 eb 31 32 3a f2 69 6e  69 74 3a f2 73 70 72 69  |..12:.init:.spri|
000000f0  74 65 73 3a e5 8d 64 5c  40 0d 00 82 23 2a 52 4d  |tes:..d\@...#*RM|
00000100  4c 4f 41 44 20 3c 52 65  61 63 74 69 6f 6e 24 44  |LOAD <Reaction$D|
00000110  69 72 3e 2e 52 65 61 63  74 69 6f 6e 0d 00 8c 1c  |ir>.Reaction....|
00000120  2a 52 55 4e 20 3c 52 65  61 63 74 69 6f 6e 24 44  |*RUN <Reaction$D|
00000130  69 72 3e 2e 46 6f 6e 74  0d 00 96 0a 2a 46 58 32  |ir>.Font....*FX2|
00000140  30 30 0d 00 a0 0b f2 73  63 72 6f 6c 6c 0d 00 aa  |00.....scroll...|
00000150  09 f2 69 6e 69 74 0d 00  b4 0c f2 73 70 72 69 74  |..init.....sprit|
00000160  65 73 0d 00 be 0b f5 f2  69 6e 74 72 6f 0d 00 c8  |es......intro...|
00000170  0d f2 69 6e 73 74 72 75  63 74 0d 00 d2 06 fd 30  |..instruct.....0|
00000180  0d 00 dc a6 eb 31 33 3a  87 3a ee 85 ee 85 87 3a  |.....13:.:.....:|
00000190  e7 9f 3c 3e 31 37 8c f2  65 72 72 6f 72 3a 45 4e  |..<>17..error:EN|
000001a0  44 45 4c 53 45 4d 4f 2e  30 3a 87 3a f1 22 50 6c  |DELSEMO.0:.:."Pl|
000001b0  65 61 73 65 20 72 65 2d  72 75 6e 20 74 68 69 73  |ease re-run this|
000001c0  20 61 70 70 6c 69 63 61  74 69 6f 6e 2e 20 28 50  | application. (P|
000001d0  72 65 73 73 69 6e 67 20  3c 45 53 43 41 50 45 3e  |ressing <ESCAPE>|
000001e0  20 77 68 69 6c 65 20 6c  6f 61 64 69 6e 67 20 63  | while loading c|
000001f0  61 75 73 65 73 20 20 20  20 20 20 20 20 20 70 72  |auses         pr|
00000200  6f 62 6c 65 6d 73 29 2e  22 3a c8 99 22 4f 53 5f  |oblems).":.."OS_|
00000210  42 79 74 65 22 2c 31 31  2c 72 65 70 65 61 74 72  |Byte",11,repeatr|
00000220  61 74 65 25 3a e0 0d 00  e6 22 2a 52 4d 4c 4f 41  |ate%:...."*RMLOA|
00000230  44 20 3c 52 65 61 63 74  69 6f 6e 24 44 69 72 3e  |D <Reaction$Dir>|
00000240  2e 54 68 75 6e 64 65 72  0d 00 f0 1f 2a 52 4d 4c  |.Thunder....*RML|
00000250  4f 41 44 20 3c 52 65 61  63 74 69 6f 6e 24 44 69  |OAD <Reaction$Di|
00000260  72 3e 2e 50 69 6e 67 0d  00 fa 20 2a 52 4d 4c 4f  |r>.Ping... *RMLO|
00000270  41 44 20 3c 52 65 61 63  74 69 6f 6e 24 44 69 72  |AD <Reaction$Dir|
00000280  3e 2e 4c 61 75 67 68 0d  01 04 23 2a 52 4d 4c 4f  |>.Laugh...#*RMLO|
00000290  41 44 20 3c 52 65 61 63  74 69 6f 6e 24 44 69 72  |AD <Reaction$Dir|
000002a0  3e 2e 47 61 6d 65 4f 76  65 72 0d 01 0e 20 2a 52  |>.GameOver... *R|
000002b0  4d 4c 4f 41 44 20 3c 52  65 61 63 74 69 6f 6e 24  |MLOAD <Reaction$|
000002c0  44 69 72 3e 2e 4d 61 67  69 63 0d 01 18 08 c8 a0  |Dir>.Magic......|
000002d0  20 31 0d 01 22 12 ee 85  ee 85 87 3a f2 65 72 72  | 1.."......:.err|
000002e0  6f 72 3a e0 0d 01 2c 18  2a 43 48 41 4e 4e 45 4c  |or:...,.*CHANNEL|
000002f0  56 4f 49 43 45 20 31 20  50 69 6e 67 0d 01 36 29  |VOICE 1 Ping..6)|
00000300  f5 4c 25 3d 30 3a 4c 45  56 25 3d 31 3a 53 25 3d  |.L%=0:LEV%=1:S%=|
00000310  30 3a c8 a0 20 31 3a f2  61 64 64 72 65 73 73 65  |0:.. 1:.addresse|
00000320  73 28 4c 25 29 0d 01 40  11 e7 ac 73 6b 69 70 25  |s(L%)..@...skip%|
00000330  f2 73 74 61 72 74 0d 01  4a 37 ee 85 73 6b 69 70  |.start..J7..skip|
00000340  25 3d b9 3a e5 8d 54 76  41 20 20 3a f4 20 45 72  |%=.:..TvA  :. Er|
00000350  72 6f 72 20 68 61 6e 64  6c 69 6e 67 20 64 69 73  |ror handling dis|
00000360  61 62 6c 65 64 20 32 38  2f 34 2f 39 33 0d 01 54  |abled 28/4/93..T|
00000370  10 e7 ac 73 6b 69 70 25  f2 67 61 6d 65 0d 01 5e  |...skip%.game..^|
00000380  12 ee 85 ee 85 87 3a f2  65 72 72 6f 72 3a e0 0d  |......:.error:..|
00000390  01 68 08 f2 65 6e 64 0d  01 72 0d f2 68 69 73 63  |.h..end..r..hisc|
000003a0  6f 72 65 73 0d 01 7c 06  fd 30 0d 01 86 05 e0 0d  |ores..|..0......|
000003b0  01 90 0a dd f2 69 6e 69  74 0d 01 9a 06 ea 85 0d  |.....init.......|
000003c0  01 a4 37 ee 85 eb 30 3a  f1 f6 24 3b 22 20 61 74  |..7...0:..$;" at|
000003d0  20 6c 69 6e 65 20 22 3b  9e 3a c8 99 22 4f 53 5f  | line ";.:.."OS_|
000003e0  42 79 74 65 22 2c 31 31  2c 72 65 70 65 61 74 72  |Byte",11,repeatr|
000003f0  61 74 65 25 3a e0 0d 01  ae 4e 53 25 3d 30 3a 66  |ate%:....NS%=0:f|
00000400  69 6c 65 25 3d ad 28 22  3c 52 65 61 63 74 69 6f  |ile%=.("<Reactio|
00000410  6e 24 44 69 72 3e 2e 53  63 6f 72 65 73 22 29 3a  |n$Dir>.Scores"):|
00000420  e8 23 66 69 6c 65 25 2c  64 75 6d 6d 79 24 2c 48  |.#file%,dummy$,H|
00000430  49 53 25 3a d9 23 66 69  6c 65 25 3a 79 6f 75 72  |IS%:.#file%:your|
00000440  73 25 3d 30 0d 01 b8 35  78 74 72 61 25 3d a3 3a  |s%=0...5xtra%=.:|
00000450  76 6f 6c 25 3d 31 31 35  3a 68 61 6c 66 3d 31 3a  |vol%=115:half=1:|
00000460  73 74 72 75 63 74 75 72  65 64 25 3d a3 3a 2a 56  |structured%=.:*V|
00000470  4f 4c 55 4d 45 20 31 31  35 0d 01 c2 40 87 3a 78  |OLUME 115...@.:x|
00000480  25 3d 2d 31 3a 79 25 3d  2d 31 3a 73 6b 69 70 25  |%=-1:y%=-1:skip%|
00000490  3d a3 3a 53 25 3d 30 3a  54 25 3d 2d 35 36 3a 57  |=.:S%=0:T%=-56:W|
000004a0  25 3d 2d 39 39 3a 5a 25  3d 2d 35 3a 55 25 3d 2d  |%=-99:Z%=-5:U%=-|
000004b0  39 38 3a 56 25 3d 2d 36  37 0d 01 cc 30 77 69 70  |98:V%=-67...0wip|
000004c0  65 25 3d b9 3a 6d 61 67  69 63 25 3d b9 3a 62 6c  |e%=.:magic%=.:bl|
000004d0  6f 63 6b 25 3d b9 3a 74  69 6c 65 73 25 3d a3 3a  |ock%=.:tiles%=.:|
000004e0  63 68 61 6e 67 65 25 3d  b9 0d 01 d6 45 6c 65 66  |change%=....Elef|
000004f0  74 24 3d 22 5a 22 3a 72  69 67 68 74 24 3d 22 58  |t$="Z":right$="X|
00000500  22 3a 72 6f 74 61 74 65  24 3d 22 53 50 41 43 45  |":rotate$="SPACE|
00000510  22 3a 64 72 6f 70 24 3d  22 4c 45 46 54 20 43 54  |":drop$="LEFT CT|
00000520  52 4c 22 3a 70 61 75 73  65 24 3d 22 50 22 0d 01  |RL":pause$="P"..|
00000530  e0 41 de 41 25 28 35 2c  31 37 29 2c 49 25 28 31  |.A.A%(5,17),I%(1|
00000540  32 29 2c 4a 25 28 31 32  29 2c 4b 25 28 31 32 29  |2),J%(12),K%(12)|
00000550  2c 4c 25 28 31 32 29 2c  68 69 24 28 39 29 2c 68  |,L%(12),hi$(9),h|
00000560  69 25 28 39 29 2c 6c 65  76 65 6c 25 28 39 29 0d  |i%(9),level%(9).|
00000570  01 ea 11 de 62 75 63 6b  65 74 25 32 30 30 30 30  |....bucket%20000|
00000580  0d 01 f4 31 21 62 75 63  6b 65 74 25 3d 32 30 30  |...1!bucket%=200|
00000590  30 30 3a 62 75 63 6b 65  74 25 21 38 3d 31 36 3a  |00:bucket%!8=16:|
000005a0  c8 99 26 32 45 2c 32 36  35 2c 62 75 63 6b 65 74  |..&2E,265,bucket|
000005b0  25 0d 01 fe 05 e1 0d 02  08 0b dd f2 73 74 61 72  |%...........star|
000005c0  74 0d 02 12 05 db 0d 02  1c 23 c8 99 26 32 45 2c  |t........#..&2E,|
000005d0  32 39 30 2c 73 70 72 25  2c 22 52 65 61 63 74 69  |290,spr%,"Reacti|
000005e0  6f 6e 22 2c 30 2c 31 30  30 0d 02 26 21 c8 99 26  |on",0,100..&!..&|
000005f0  32 45 2c 32 39 30 2c 73  70 72 25 2c 22 53 70 68  |2E,290,spr%,"Sph|
00000600  65 72 65 22 2c 39 33 30  2c 30 0d 02 30 27 c8 99  |ere",930,0..0'..|
00000610  26 32 45 2c 32 39 30 2c  73 70 72 25 2c 22 41 72  |&2E,290,spr%,"Ar|
00000620  63 68 57 6f 72 6c 64 22  2c 39 34 30 2c 32 30 2c  |chWorld",940,20,|
00000630  38 0d 02 3a 1c e6 30 2c  31 32 37 3a c8 93 c8 90  |8..:..0,127:....|
00000640  34 32 38 2c 30 2c 34 34  2c 31 30 32 34 0d 02 44  |428,0,44,1024..D|
00000650  15 c8 93 c8 90 37 39 32  2c 30 2c 34 34 2c 31 30  |.....792,0,44,10|
00000660  32 34 0d 02 4e 2f c8 93  c8 90 34 32 38 2c 30 2c  |24..N/....428,0,|
00000670  34 30 38 2c 35 30 3a 4d  42 25 3d a3 3a 48 41 50  |408,50:MB%=.:HAP|
00000680  50 59 25 3d a3 3a 67 61  6d 65 6f 76 65 72 25 3d  |PY%=.:gameover%=|
00000690  a3 0d 02 58 2d e6 30 2c  30 c8 9c 32 35 35 3a 43  |...X-.0,0..255:C|
000006a0  4c 25 3d 30 3a c8 93 c8  90 34 38 30 2c 35 32 2c  |L%=0:....480,52,|
000006b0  33 30 38 2c 31 30 30 30  3a 63 6c 25 3d b9 0d 02  |308,1000:cl%=...|
000006c0  62 2b 48 25 3d 33 3a e3  72 25 3d 30 b8 35 3a e3  |b+H%=3:.r%=0.5:.|
000006d0  79 25 3d 2d 33 b8 31 36  88 33 3a f2 64 65 6c 28  |y%=-3.16.3:.del(|
000006e0  72 25 2c 79 25 29 3a ed  2c 0d 02 6c 29 fb 37 3a  |r%,y%):.,..l).7:|
000006f0  f1 8a 30 2c 32 29 3b 22  53 63 6f 72 65 3a 22 27  |..0,2);"Score:"'|
00000700  27 22 48 69 67 68 3a 22  27 27 22 4c 65 76 65 6c  |'"High:"''"Level|
00000710  3a 22 0d 02 76 40 f2 6e  75 6d 62 28 30 2c 32 30  |:"..v@.numb(0,20|
00000720  30 2c 39 32 30 29 3a f2  6e 75 6d 62 28 48 49 53  |0,920):.numb(HIS|
00000730  25 2c 32 30 30 2c 39 32  30 2d 36 34 29 3a f2 6e  |%,200,920-64):.n|
00000740  75 6d 62 28 31 2c 32 30  30 2c 39 32 30 2d 31 32  |umb(1,200,920-12|
00000750  38 29 0d 02 80 2b e7 74  69 6c 65 73 25 8c f1 8a  |8)...+.tiles%...|
00000760  30 2c 38 29 22 54 69 6c  65 73 3a 22 3a f2 6e 75  |0,8)"Tiles:":.nu|
00000770  6d 62 28 30 2c 32 30 30  2c 37 32 38 29 0d 02 8a  |mb(0,200,728)...|
00000780  05 e1 0d 02 94 0a dd f2  67 61 6d 65 0d 02 9e 05  |........game....|
00000790  f5 0d 02 a8 26 c8 99 26  32 45 2c 32 39 30 2c 73  |....&..&2E,290,s|
000007a0  70 72 25 2c 22 44 74 6f  44 65 66 69 6e 65 22 2c  |pr%,"DtoDefine",|
000007b0  39 35 30 2c 33 30 30 0d  02 b2 28 c8 99 26 32 45  |950,300...(..&2E|
000007c0  2c 32 39 30 2c 73 70 72  25 2c 22 4f 66 6f 72 4f  |,290,spr%,"OforO|
000007d0  70 74 69 6f 6e 73 22 2c  39 39 30 2c 32 36 30 0d  |ptions",990,260.|
000007e0  02 bc 27 c8 99 26 32 45  2c 32 39 30 2c 73 70 72  |..'..&2E,290,spr|
000007f0  25 2c 22 57 68 61 74 4c  65 76 65 6c 22 2c 31 30  |%,"WhatLevel",10|
00000800  30 30 2c 37 30 30 0d 02  c6 0b 2a 46 58 32 31 2c  |00,700....*FX21,|
00000810  30 0d 02 d0 12 e6 30 c8  9c 30 3a 74 6f 67 25 3d  |0.....0..0:tog%=|
00000820  31 3a f5 0d 02 da 41 e7  74 6f 67 25 3d 31 8c c8  |1:....A.tog%=1..|
00000830  99 26 32 45 2c 32 39 30  2c 73 70 72 25 2c 22 6e  |.&2E,290,spr%,"n|
00000840  75 6d 62 65 72 73 22 2c  31 30 35 30 2c 36 30 30  |umbers",1050,600|
00000850  20 8b c8 93 c8 90 31 30  35 30 2c 36 30 30 2c 38  | .....1050,600,8|
00000860  30 2c 33 32 0d 02 e4 18  74 6f 67 25 3d 74 6f 67  |0,32....tog%=tog|
00000870  25 82 33 3a 41 24 3d bf  28 35 30 29 0d 02 ee 32  |%.3:A$=.(50)...2|
00000880  fd 28 41 24 3e 3d 22 30  22 80 41 24 3c 3d 22 39  |.(A$>="0".A$<="9|
00000890  22 29 84 41 24 3d 22 44  22 84 41 24 3d 22 64 22  |").A$="D".A$="d"|
000008a0  84 41 24 3d 22 4f 22 84  41 24 3d 22 6f 22 0d 02  |.A$="O".A$="o"..|
000008b0  f8 27 e7 41 24 3d 22 4f  22 84 41 24 3d 22 6f 22  |.'.A$="O".A$="o"|
000008c0  8c f2 6f 70 74 69 6f 6e  73 3a 87 3a f2 73 74 61  |..options:.:.sta|
000008d0  72 74 3a fd 30 0d 03 02  29 e7 41 24 3d 22 44 22  |rt:.0...).A$="D"|
000008e0  84 41 24 3d 22 64 22 8c  f2 6b 65 79 73 3a 87 3a  |.A$="d"..keys:.:|
000008f0  f2 73 74 61 72 74 3a fd  30 20 8b fd 2d 31 0d 03  |.start:.0 ..-1..|
00000900  0c 2f 53 4c 25 3d bb 28  41 24 29 3a c8 93 c8 90  |./SL%=.(A$):....|
00000910  39 35 30 2c 32 36 30 2c  33 30 30 2c 34 39 30 3a  |950,260,300,490:|
00000920  e7 41 24 3d 22 30 22 53  4c 25 3d 31 30 0d 03 16  |.A$="0"SL%=10...|
00000930  1b 45 25 3d 28 31 31 2d  53 4c 25 29 2a 37 3a 53  |.E%=(11-SL%)*7:S|
00000940  4c 46 3d 53 4c 25 2f 35  0d 03 20 13 42 4c 25 3d  |LF=SL%/5.. .BL%=|
00000950  30 3a 6f 68 64 65 61 72  25 3d a3 0d 03 2a 1b f5  |0:ohdear%=...*..|
00000960  47 44 25 3d a3 3a e7 78  74 72 61 25 8c 48 25 3d  |GD%=.:.xtra%.H%=|
00000970  31 2b b3 28 33 29 0d 03  34 3e 41 25 3d b3 28 36  |1+.(3)..4>A%=.(6|
00000980  29 3a 42 25 3d b3 28 36  29 3a 43 25 3d b3 28 36  |):B%=.(6):C%=.(6|
00000990  29 3a 44 25 3d b3 28 36  29 3a e7 b3 28 34 30 29  |):D%=.(6):..(40)|
000009a0  3d 31 80 6d 61 67 69 63  25 8c 42 25 3d 37 3a 4d  |=1.magic%.B%=7:M|
000009b0  42 25 3d b9 0d 03 3e 19  e7 b3 28 33 30 29 3d 31  |B%=...>...(30)=1|
000009c0  80 62 6c 6f 63 6b 25 8c  41 25 3d 32 34 0d 03 48  |.block%.A%=24..H|
000009d0  22 e7 b3 28 33 30 29 3d  31 80 62 6c 6f 63 6b 25  |"..(30)=1.block%|
000009e0  8c 41 25 3d 33 32 3a 48  41 50 50 59 25 3d b9 0d  |.A%=32:HAPPY%=..|
000009f0  03 52 20 58 25 3d 32 3a  59 25 3d 2d 32 3a 55 53  |.R X%=2:Y%=-2:US|
00000a00  25 3d a3 3a 57 53 25 3d  a3 3a 56 53 25 3d a3 0d  |%=.:WS%=.:VS%=..|
00000a10  03 5c 29 f5 d1 3d 30 3a  f5 f2 64 69 73 70 28 58  |.\)..=0:..disp(X|
00000a20  25 2c 59 25 29 3a 4f 58  25 3d 58 25 3a e7 a6 54  |%,Y%):OX%=X%:..T|
00000a30  25 8c f2 70 61 75 73 65  0d 03 66 12 e7 55 53 25  |%..pause..f..US%|
00000a40  80 ac a6 55 25 55 53 25  3d a3 0d 03 70 12 e7 57  |...U%US%=...p..W|
00000a50  53 25 80 ac a6 57 25 57  53 25 3d a3 0d 03 7a 12  |S%...W%WS%=...z.|
00000a60  e7 56 53 25 80 ac a6 56  25 56 53 25 3d a3 0d 03  |.VS%...V%VS%=...|
00000a70  84 32 e7 a6 55 25 80 ac  55 53 25 58 25 3d 58 25  |.2..U%..US%X%=X%|
00000a80  2d 31 3a 55 53 25 3d b9  3a 8b e7 a6 56 25 80 ac  |-1:US%=.:...V%..|
00000a90  56 53 25 58 25 3d 58 25  2b 31 3a 56 53 25 3d b9  |VS%X%=X%+1:VS%=.|
00000aa0  0d 03 8e 16 e7 a6 57 25  80 ac 57 53 25 8c 57 53  |......W%..WS%.WS|
00000ab0  25 3d b9 3a f2 52 0d 03  98 0d e7 a6 5a 25 47 44  |%=.:.R......Z%GD|
00000ac0  25 3d b9 0d 03 a2 14 e7  58 25 3c 30 84 58 25 3e  |%=......X%<0.X%>|
00000ad0  35 58 25 3d 4f 58 25 0d  03 ac 22 e7 58 25 3c 3e  |5X%=OX%...".X%<>|
00000ae0  4f 58 25 80 41 25 28 58  25 2c 59 25 2b 32 29 3c  |OX%.A%(X%,Y%+2)<|
00000af0  3e 30 3a 58 25 3d 4f 58  25 0d 03 b6 25 e7 58 25  |>0:X%=OX%...%.X%|
00000b00  3c 3e 4f 58 25 f2 64 65  6c 28 4f 58 25 2c 59 25  |<>OX%.del(OX%,Y%|
00000b10  29 3a f2 64 69 73 70 28  58 25 2c 59 25 29 0d 03  |):.disp(X%,Y%)..|
00000b20  c0 0d fd 91 3e 45 25 84  47 44 25 0d 03 d4 34 e7  |....>E%.GD%...4.|
00000b30  59 25 3d 31 35 3a f2 70  3a fd 2d 31 3a e5 8d 54  |Y%=15:.p:.-1:..T|
00000b40  46 44 20 8b e7 41 25 28  58 25 2c 59 25 2b 33 29  |FD ..A%(X%,Y%+3)|
00000b50  3c 3e 30 f2 70 3a fd 2d  31 3a e5 8d 54 46 44 0d  |<>0.p:.-1:..TFD.|
00000b60  03 de 24 4f 25 3d 39 34  30 3a e7 48 25 3d 32 8c  |..$O%=940:.H%=2.|
00000b70  4f 25 3d 38 38 38 8b e7  48 25 3d 34 8c 4f 25 3d  |O%=888..H%=4.O%=|
00000b80  39 39 32 0d 03 e8 2c c8  99 26 32 45 2c 35 34 36  |992...,..&2E,546|
00000b90  2c 73 70 72 25 2c 67 25  2c 34 38 30 2b 28 58 25  |,spr%,g%,480+(X%|
00000ba0  2a 35 32 29 2c 4f 25 2d  28 59 25 2a 35 32 29 0d  |*52),O%-(Y%*52).|
00000bb0  03 f2 18 59 25 3d 59 25  2b 31 3a f2 64 69 73 70  |...Y%=Y%+1:.disp|
00000bc0  28 58 25 2c 59 25 29 0d  03 fc 06 fd 30 0d 04 06  |(X%,Y%).....0...|
00000bd0  24 f4 20 43 6f 6e 74 69  6e 75 65 20 66 72 6f 6d  |$. Continue from|
00000be0  20 68 65 72 65 20 61 66  74 65 72 20 50 52 4f 43  | here after PROC|
00000bf0  70 0d 04 10 0e fd 67 61  6d 65 6f 76 65 72 25 0d  |p.....gameover%.|
00000c00  04 1a 05 e1 0d 04 24 07  dd f2 52 0d 04 2e 23 e7  |......$...R...#.|
00000c10  48 25 3d 33 8c 44 25 3d  43 25 3a 43 25 3d 42 25  |H%=3.D%=C%:C%=B%|
00000c20  3a 42 25 3d 41 25 3a 41  25 3d 44 25 3a e1 0d 04  |:B%=A%:A%=D%:...|
00000c30  38 13 e7 48 25 3d 32 8c  c8 94 41 25 2c 42 25 3a  |8..H%=2...A%,B%:|
00000c40  e1 0d 04 42 27 e7 48 25  3d 34 8c 4f 25 3d 44 25  |...B'.H%=4.O%=D%|
00000c50  3a 44 25 3d 43 25 3a 43  25 3d 42 25 3a 42 25 3d  |:D%=C%:C%=B%:B%=|
00000c60  41 25 3a 41 25 3d 4f 25  0d 04 4c 05 e1 0d 04 56  |A%:A%=O%..L....V|
00000c70  07 dd a4 4f 0d 04 60 08  4f 25 3d a3 0d 04 6a 2f  |...O..`.O%=...j/|
00000c80  e7 41 25 28 58 25 2c 59  25 2b 32 29 3c 3e 30 84  |.A%(X%,Y%+2)<>0.|
00000c90  41 25 28 58 25 2c 59 25  2b 31 29 3c 3e 30 8c 3d  |A%(X%,Y%+1)<>0.=|
00000ca0  b9 20 8b e7 48 25 3d 32  8c 3d a3 0d 04 74 2a e7  |. ..H%=2.=...t*.|
00000cb0  41 25 28 58 25 2c 59 25  29 3c 3e 30 8c 3d b9 20  |A%(X%,Y%)<>0.=. |
00000cc0  8b e7 28 48 25 3d 34 80  59 25 3d 30 29 84 48 25  |..(H%=4.Y%=0).H%|
00000cd0  3d 33 8c 3d a3 0d 04 7e  1a e7 41 25 28 58 25 2c  |=3.=...~..A%(X%,|
00000ce0  59 25 2d 31 29 3c 3e 30  8c 3d b9 20 8b 3d a3 0d  |Y%-1)<>0.=. .=..|
00000cf0  04 88 09 dd f2 65 6e 64  0d 04 92 0b 73 6b 69 70  |.....end....skip|
00000d00  25 3d a3 0d 04 9c 06 ea  85 0d 04 a6 35 ee 85 e7  |%=..........5...|
00000d10  9f 3c 3e 31 37 8c f2 65  72 72 6f 72 3a e0 20 8b  |.<>17..error:. .|
00000d20  eb 30 3a f1 22 47 6f 6f  64 62 79 65 21 22 3a f2  |.0:."Goodbye!":.|
00000d30  63 6c 65 61 72 3a 2a 44  45 53 4b 54 4f 50 0d 04  |clear:*DESKTOP..|
00000d40  b0 0b 2a 46 58 32 31 2c  30 0d 04 ba 1c 2a 43 48  |..*FX21,0....*CH|
00000d50  41 4e 4e 45 4c 56 4f 49  43 45 20 31 20 47 61 6d  |ANNELVOICE 1 Gam|
00000d60  65 4f 76 65 72 0d 04 c4  2d d4 31 2c 2d 31 35 2c  |eOver...-.1,-15,|
00000d70  39 39 30 30 2c 30 3a d1  3d 30 3a f5 fd 91 3e 31  |9900,0:.=0:...>1|
00000d80  35 30 3a ff 28 22 46 58  32 31 22 29 3a 41 24 3d  |50:.("FX21"):A$=|
00000d90  22 22 0d 04 ce 0b e7 41  24 3d 22 22 8c 0d 04 d8  |"".....A$=""....|
00000da0  19 2a 43 48 41 4e 4e 45  4c 56 4f 49 43 45 20 31  |.*CHANNELVOICE 1|
00000db0  20 4c 61 75 67 68 0d 04  e2 1b d4 31 2c 2d 31 35  | Laugh.....1,-15|
00000dc0  2c 38 30 30 30 2c 31 3a  41 24 3d bf 28 31 35 30  |,8000,1:A$=.(150|
00000dd0  29 0d 04 ec 0b e7 41 24  3d 22 22 8c 0d 04 f6 1b  |).....A$="".....|
00000de0  d4 31 2c 2d 31 35 2c 39  35 30 30 2c 31 3a 41 24  |.1,-15,9500,1:A$|
00000df0  3d bf 28 31 30 30 29 0d  05 00 0b e7 41 24 3d 22  |=.(100).....A$="|
00000e00  22 8c 0d 05 0a 29 d4 31  2c 2d 31 35 2c 36 30 30  |"....).1,-15,600|
00000e10  30 2c 31 3a e6 30 c8 9c  30 3a c8 93 c8 90 39 33  |0,1:.0..0:....93|
00000e20  30 2c 30 2c 33 33 34 2c  31 30 38 0d 05 14 4d e3  |0,0,334,108...M.|
00000e30  6c 25 3d 2d 39 32 b8 39  33 32 88 31 36 3a c8 96  |l%=-92.932.16:..|
00000e40  3a c8 99 26 32 45 2c 32  39 30 2c 73 70 72 25 2c  |:..&2E,290,spr%,|
00000e50  22 47 61 6d 65 4f 76 65  72 22 2c 38 37 30 2c 6c  |"GameOver",870,l|
00000e60  25 3a c8 93 c8 90 38 37  30 2c 6c 25 2d 31 36 2c  |%:....870,l%-16,|
00000e70  33 36 38 2c 31 36 3a ed  0d 05 1e 1d c8 99 26 32  |368,16:.......&2|
00000e80  45 2c 32 38 39 2c 73 70  72 25 2c 22 47 61 6d 65  |E,289,spr%,"Game|
00000e90  4f 76 65 72 22 0d 05 28  4e e3 6c 25 3d 39 33 32  |Over"..(N.l%=932|
00000ea0  b8 31 35 36 88 2d 31 36  3a c8 96 3a c8 99 26 32  |.156.-16:..:..&2|
00000eb0  45 2c 32 39 30 2c 73 70  72 25 2c 22 47 61 6d 65  |E,290,spr%,"Game|
00000ec0  4f 76 65 72 22 2c 38 37  30 2c 6c 25 3a c8 93 c8  |Over",870,l%:...|
00000ed0  90 38 37 30 2c 6c 25 2b  39 32 2c 33 38 30 2c 31  |.870,l%+92,380,1|
00000ee0  36 3a ed 0d 05 32 1d c8  99 26 32 45 2c 32 38 39  |6:...2...&2E,289|
00000ef0  2c 73 70 72 25 2c 22 47  61 6d 65 4f 76 65 72 22  |,spr%,"GameOver"|
00000f00  0d 05 3c 38 c8 93 c8 90  38 37 30 2c 32 34 38 2c  |..<8....870,248,|
00000f10  33 38 30 2c 31 36 3a c8  99 26 32 45 2c 32 39 30  |380,16:..&2E,290|
00000f20  2c 73 70 72 25 2c 22 47  61 6d 65 4f 76 65 72 22  |,spr%,"GameOver"|
00000f30  2c 38 37 30 2c 31 35 36  0d 05 46 0d 41 24 3d bf  |,870,156..F.A$=.|
00000f40  28 31 30 30 29 0d 05 50  0b e7 41 24 3d 22 22 8c  |(100)..P..A$="".|
00000f50  0d 05 5a 0d f5 fd bf 28  30 29 3d 22 22 0d 05 64  |..Z....(0)=""..d|
00000f60  0d 41 24 3d bf 28 33 35  30 29 0d 05 6e 05 cd 0d  |.A$=.(350)..n...|
00000f70  05 78 05 cd 0d 05 82 05  cd 0d 05 8c 05 cd 0d 05  |.x..............|
00000f80  96 25 e3 6c 25 3d 30 b8  35 3a e3 6c 32 25 3d 30  |.%.l%=0.5:.l2%=0|
00000f90  b8 31 37 3a 41 25 28 6c  25 2c 6c 32 25 29 3d 30  |.17:A%(l%,l2%)=0|
00000fa0  3a ed 2c 0d 05 a0 05 e1  0d 05 aa 07 dd f2 70 0d  |:.,...........p.|
00000fb0  05 b4 15 e7 59 25 3c 30  8c 67 61 6d 65 6f 76 65  |....Y%<0.gameove|
00000fc0  72 25 3d b9 0d 05 be 10  e7 ac 67 61 6d 65 6f 76  |r%=.......gameov|
00000fd0  65 72 25 8c 0d 05 c8 34  f4 20 45 6e 73 75 72 65  |er%....4. Ensure|
00000fe0  20 6e 6f 20 65 78 74 72  61 20 72 6f 74 61 74 69  | no extra rotati|
00000ff0  6f 6e 20 6f 63 63 75 72  72 65 64 20 28 69 65 2e  |on occurred (ie.|
00001000  20 72 65 64 72 61 77 29  0d 05 d2 37 f2 64 69 73  | redraw)...7.dis|
00001010  70 28 58 25 2c 59 25 29  3a 73 25 3d 53 25 3a 63  |p(X%,Y%):s%=S%:c|
00001020  6f 75 6e 74 25 3d 30 3a  68 61 70 70 79 25 3d a3  |ount%=0:happy%=.|
00001030  3a 6c 65 76 63 68 65 63  6b 25 3d 4c 45 56 25 0d  |:levcheck%=LEV%.|
00001040  05 dc 56 70 69 6e 67 25  3d b9 3a 41 25 28 58 25  |..Vping%=.:A%(X%|
00001050  2c 59 25 2b 32 29 3d 41  25 3a 41 25 28 58 25 2c  |,Y%+2)=A%:A%(X%,|
00001060  59 25 2b 31 29 3d 42 25  3a e7 48 25 3d 33 84 48  |Y%+1)=B%:.H%=3.H|
00001070  25 3d 34 8c 41 25 28 58  25 2c 59 25 29 3d 43 25  |%=4.A%(X%,Y%)=C%|
00001080  3a e7 48 25 3d 34 8c 41  25 28 58 25 2c 59 25 2d  |:.H%=4.A%(X%,Y%-|
00001090  31 29 3d 44 25 0d 05 e6  0a e7 4d 42 25 20 8c 0d  |1)=D%.....MB% ..|
000010a0  05 f0 33 ff 28 22 43 68  61 6e 6e 65 6c 56 6f 69  |..3.("ChannelVoi|
000010b0  63 65 20 31 20 4d 61 67  69 63 22 29 3a d4 31 2c  |ce 1 Magic"):.1,|
000010c0  2d 31 35 2c 35 35 30 30  2c 30 3a 70 69 6e 67 25  |-15,5500,0:ping%|
000010d0  3d a3 0d 05 fa 20 e7 44  25 3d 37 80 48 25 3d 34  |=.... .D%=7.H%=4|
000010e0  8c 4d 42 58 25 3d 58 25  3a 4d 42 59 25 3d 59 25  |.MBX%=X%:MBY%=Y%|
000010f0  2d 31 0d 06 04 1e e7 43  25 3d 37 80 48 25 3e 32  |-1.....C%=7.H%>2|
00001100  8c 4d 42 58 25 3d 58 25  3a 4d 42 59 25 3d 59 25  |.MBX%=X%:MBY%=Y%|
00001110  0d 06 0e 1b e7 42 25 3d  37 8c 4d 42 58 25 3d 58  |.....B%=7.MBX%=X|
00001120  25 3a 4d 42 59 25 3d 59  25 2b 31 0d 06 18 1b e7  |%:MBY%=Y%+1.....|
00001130  41 25 3d 37 8c 4d 42 58  25 3d 58 25 3a 4d 42 59  |A%=7.MBX%=X%:MBY|
00001140  25 3d 59 25 2b 32 0d 06  22 05 cd 0d 06 2c 09 f5  |%=Y%+2.."....,..|
00001150  52 25 3d a3 0d 06 36 0f  e7 4d 42 25 8c c8 95 20  |R%=...6..MB%... |
00001160  4d 42 25 0d 06 40 27 e7  4d 42 25 8c 63 6f 75 6e  |MB%..@'.MB%.coun|
00001170  74 25 2b 3d 31 3a 41 25  28 4d 42 58 25 2c 4d 42  |t%+=1:A%(MBX%,MB|
00001180  59 25 29 3d 63 6f 75 6e  74 25 0d 06 4a 1e f4 20  |Y%)=count%..J.. |
00001190  53 74 61 72 74 20 70 69  65 63 65 20 72 65 6d 6f  |Start piece remo|
000011a0  76 61 6c 20 6c 6f 6f 70  0d 06 54 1e f4 20 43 68  |val loop..T.. Ch|
000011b0  65 63 6b 20 66 6f 72 20  76 65 72 74 69 63 61 6c  |eck for vertical|
000011c0  20 6c 69 6e 65 73 0d 06  5e 29 e3 78 25 3d 30 b8  | lines..^).x%=0.|
000011d0  35 3a 4c 41 25 3d 41 25  28 78 25 2c 30 29 80 37  |5:LA%=A%(x%,0).7|
000011e0  3a 4c 42 25 3d 41 25 28  78 25 2c 31 29 80 37 0d  |:LB%=A%(x%,1).7.|
000011f0  06 68 0c e3 79 25 3d 32  b8 31 37 0d 06 72 3a e7  |.h..y%=2.17..r:.|
00001200  28 41 25 28 78 25 2c 79  25 29 80 37 29 3d 4c 41  |(A%(x%,y%).7)=LA|
00001210  25 80 28 41 25 28 78 25  2c 79 25 29 80 37 29 3d  |%.(A%(x%,y%).7)=|
00001220  4c 42 25 80 28 41 25 28  78 25 2c 79 25 29 80 37  |LB%.(A%(x%,y%).7|
00001230  29 3c 3e 30 8c 0d 06 7c  16 76 65 72 74 79 25 3d  |)<>0...|.verty%=|
00001240  79 25 2d 32 3a 52 25 3d  b9 3a f5 0d 06 86 2f 41  |y%-2:R%=.:..../A|
00001250  25 28 78 25 2c 76 65 72  74 79 25 29 3d 28 41 25  |%(x%,verty%)=(A%|
00001260  28 78 25 2c 76 65 72 74  79 25 29 80 37 29 2b 38  |(x%,verty%).7)+8|
00001270  3a 76 65 72 74 79 25 2b  3d 31 0d 06 90 2b e7 76  |:verty%+=1...+.v|
00001280  65 72 74 79 25 3c 31 38  8c fd 28 41 25 28 78 25  |erty%<18..(A%(x%|
00001290  2c 76 65 72 74 79 25 29  80 37 29 3c 3e 4c 41 25  |,verty%).7)<>LA%|
000012a0  20 8b 20 fd b9 0d 06 9a  38 53 25 2b 3d 68 61 6c  | . .....8S%+=hal|
000012b0  66 2a 31 30 2a 28 76 65  72 74 79 25 2d 79 25 2b  |f*10*(verty%-y%+|
000012c0  31 29 3a e7 76 65 72 74  79 25 3c 31 38 8c 79 25  |1):.verty%<18.y%|
000012d0  3d 76 65 72 74 79 25 8b  79 25 3d 31 37 0d 06 a4  |=verty%.y%=17...|
000012e0  05 cd 0d 06 ae 25 4c 41  25 3d 41 25 28 78 25 2c  |.....%LA%=A%(x%,|
000012f0  79 25 2d 31 29 80 37 3a  4c 42 25 3d 41 25 28 78  |y%-1).7:LB%=A%(x|
00001300  25 2c 79 25 29 80 37 0d  06 b8 06 ed 2c 0d 06 c2  |%,y%).7.....,...|
00001310  20 f4 20 43 68 65 63 6b  20 66 6f 72 20 68 6f 72  | . Check for hor|
00001320  69 7a 6f 6e 74 61 6c 20  6c 69 6e 65 73 0d 06 cc  |izontal lines...|
00001330  20 e3 79 25 3d 30 b8 31  37 3a 4c 41 25 3d 30 3a  | .y%=0.17:LA%=0:|
00001340  4c 42 25 3d 30 3a e3 78  25 3d 30 b8 35 0d 06 d6  |LB%=0:.x%=0.5...|
00001350  65 e7 28 41 25 28 78 25  2c 79 25 29 80 37 29 3c  |e.(A%(x%,y%).7)<|
00001360  3e 4c 42 25 80 78 25 2d  4c 41 25 3e 32 8c e3 72  |>LB%.x%-LA%>2..r|
00001370  25 3d 4c 41 25 b8 78 25  2d 31 3a 41 25 28 72 25  |%=LA%.x%-1:A%(r%|
00001380  2c 79 25 29 3d 38 2b 28  41 25 28 72 25 2c 79 25  |,y%)=8+(A%(r%,y%|
00001390  29 80 37 29 3a ed 3a 52  25 3d b9 3a 53 25 2b 3d  |).7):.:R%=.:S%+=|
000013a0  68 61 6c 66 2a 28 31 32  2a 28 78 25 2d 4c 41 25  |half*(12*(x%-LA%|
000013b0  29 29 0d 06 e0 1e e7 4c  42 25 3c 3e 28 41 25 28  |)).....LB%<>(A%(|
000013c0  78 25 2c 79 25 29 80 37  29 8c 4c 41 25 3d 78 25  |x%,y%).7).LA%=x%|
000013d0  0d 06 ea 13 4c 42 25 3d  41 25 28 78 25 2c 79 25  |....LB%=A%(x%,y%|
000013e0  29 80 37 0d 06 f4 11 e7  4c 42 25 3d 30 8c 4c 42  |).7.....LB%=0.LB|
000013f0  25 3d 2d 31 0d 06 fe 50  ed 3a e7 36 2d 4c 41 25  |%=-1...P.:.6-LA%|
00001400  3e 32 8c e3 72 25 3d 4c  41 25 b8 35 3a 41 25 28  |>2..r%=LA%.5:A%(|
00001410  72 25 2c 79 25 29 3d 28  41 25 28 72 25 2c 79 25  |r%,y%)=(A%(r%,y%|
00001420  29 80 37 29 2b 38 3a ed  3a 52 25 3d b9 3a 53 25  |).7)+8:.:R%=.:S%|
00001430  3d 53 25 2b 68 61 6c 66  2a 31 32 2a 28 78 25 2d  |=S%+half*12*(x%-|
00001440  4c 41 25 29 0d 07 08 05  ed 0d 07 12 0f f4 20 44  |LA%).......... D|
00001450  69 61 67 6f 6e 61 6c 73  0d 07 1c 2f f4 20 54 6f  |iagonals.../. To|
00001460  70 2d 6c 65 66 74 20 74  6f 20 62 6f 74 74 6f 6d  |p-left to bottom|
00001470  2d 72 69 67 68 74 20 28  61 6e 64 20 76 69 63 65  |-right (and vice|
00001480  2d 76 65 72 73 61 29 0d  07 26 14 e3 78 25 3d 30  |-versa)..&..x%=0|
00001490  b8 33 3a e3 79 25 3d 30  b8 31 35 0d 07 30 41 41  |.3:.y%=0.15..0AA|
000014a0  31 25 3d 28 41 25 28 78  25 2c 79 25 29 80 37 29  |1%=(A%(x%,y%).7)|
000014b0  3a 41 32 25 3d 28 41 25  28 78 25 2b 31 2c 79 25  |:A2%=(A%(x%+1,y%|
000014c0  2b 31 29 80 37 29 3a 41  33 25 3d 28 41 25 28 78  |+1).7):A3%=(A%(x|
000014d0  25 2b 32 2c 79 25 2b 32  29 80 37 29 0d 07 3a 1d  |%+2,y%+2).7)..:.|
000014e0  e7 41 31 25 3d 30 84 41  32 25 3d 30 84 41 33 25  |.A1%=0.A2%=0.A3%|
000014f0  3d 30 8c 41 31 25 3d 2d  31 0d 07 44 5f e7 41 31  |=0.A1%=-1..D_.A1|
00001500  25 3d 41 32 25 80 41 32  25 3d 41 33 25 8c 41 25  |%=A2%.A2%=A3%.A%|
00001510  28 78 25 2c 79 25 29 3d  41 31 25 2b 38 3a 41 25  |(x%,y%)=A1%+8:A%|
00001520  28 78 25 2b 31 2c 79 25  2b 31 29 3d 41 32 25 2b  |(x%+1,y%+1)=A2%+|
00001530  38 3a 41 25 28 78 25 2b  32 2c 79 25 2b 32 29 3d  |8:A%(x%+2,y%+2)=|
00001540  41 32 25 2b 38 3a 52 25  3d b9 3a 53 25 3d 53 25  |A2%+8:R%=.:S%=S%|
00001550  2b 68 61 6c 66 2a 34 35  0d 07 4e 06 ed 2c 0d 07  |+half*45..N..,..|
00001560  58 2f f4 20 54 6f 70 2d  72 69 67 68 74 20 74 6f  |X/. Top-right to|
00001570  20 62 6f 74 74 6f 6d 2d  6c 65 66 74 20 28 61 6e  | bottom-left (an|
00001580  64 20 76 69 63 65 2d 76  65 72 73 61 29 0d 07 62  |d vice-versa)..b|
00001590  14 e3 78 25 3d 32 b8 35  3a e3 79 25 3d 30 b8 31  |..x%=2.5:.y%=0.1|
000015a0  35 0d 07 6c 41 41 31 25  3d 28 41 25 28 78 25 2c  |5..lAA1%=(A%(x%,|
000015b0  79 25 29 80 37 29 3a 41  32 25 3d 28 41 25 28 78  |y%).7):A2%=(A%(x|
000015c0  25 2d 31 2c 79 25 2b 31  29 80 37 29 3a 41 33 25  |%-1,y%+1).7):A3%|
000015d0  3d 28 41 25 28 78 25 2d  32 2c 79 25 2b 32 29 80  |=(A%(x%-2,y%+2).|
000015e0  37 29 0d 07 76 1d e7 41  31 25 3d 30 84 41 32 25  |7)..v..A1%=0.A2%|
000015f0  3d 30 84 41 33 25 3d 30  8c 41 31 25 3d 2d 31 0d  |=0.A3%=0.A1%=-1.|
00001600  07 80 5f e7 41 31 25 3d  41 32 25 80 41 32 25 3d  |.._.A1%=A2%.A2%=|
00001610  41 33 25 8c 41 25 28 78  25 2c 79 25 29 3d 41 31  |A3%.A%(x%,y%)=A1|
00001620  25 2b 38 3a 41 25 28 78  25 2d 31 2c 79 25 2b 31  |%+8:A%(x%-1,y%+1|
00001630  29 3d 41 31 25 2b 38 3a  41 25 28 78 25 2d 32 2c  |)=A1%+8:A%(x%-2,|
00001640  79 25 2b 32 29 3d 41 32  25 2b 38 3a 52 25 3d b9  |y%+2)=A2%+8:R%=.|
00001650  3a 53 25 3d 53 25 2b 68  61 6c 66 2a 34 35 0d 07  |:S%=S%+half*45..|
00001660  8a 06 ed 2c 0d 07 94 23  e7 63 6f 75 6e 74 25 3e  |...,...#.count%>|
00001670  35 8c 4d 42 25 3d a3 3a  41 25 28 4d 42 58 25 2c  |5.MB%=.:A%(MBX%,|
00001680  4d 42 59 25 29 3d 30 0d  07 9e 0f e7 63 6f 75 6e  |MBY%)=0.....coun|
00001690  74 25 3e 30 8c ce 0d 07  a8 1d 63 6f 75 6e 74 25  |t%>0......count%|
000016a0  3d 30 3a e7 68 61 70 70  79 25 8c 68 61 70 70 79  |=0:.happy%.happy|
000016b0  25 3d a3 0d 07 b2 11 f4  20 4e 6f 77 20 73 68 75  |%=...... Now shu|
000016c0  66 66 6c 65 0d 07 bc 33  e3 78 25 3d 30 b8 35 3a  |ffle...3.x%=0.5:|
000016d0  46 25 3d 30 3a e7 41 25  28 78 25 2c 30 29 3e 37  |F%=0:.A%(x%,0)>7|
000016e0  80 41 25 28 78 25 2c 30  29 3c 32 34 8c 41 25 28  |.A%(x%,0)<24.A%(|
000016f0  78 25 2c 30 29 3d 30 0d  07 c6 0c e3 79 25 3d 31  |x%,0)=0.....y%=1|
00001700  b8 31 37 0d 07 d0 19 e7  ac 46 25 3a e7 41 25 28  |.17......F%:.A%(|
00001710  78 25 2c 79 25 29 3e 30  46 25 3d b9 0d 07 da 80  |x%,y%)>0F%=.....|
00001720  e7 46 25 3a e7 28 28 41  25 28 78 25 2c 79 25 29  |.F%:.((A%(x%,y%)|
00001730  3e 37 80 41 25 28 78 25  2c 79 25 29 3c 32 34 29  |>7.A%(x%,y%)<24)|
00001740  84 41 25 28 78 25 2c 79  25 29 3d 33 32 29 84 41  |.A%(x%,y%)=32).A|
00001750  25 28 78 25 2c 79 25 29  3d 30 8c 42 4c 25 2b 3d  |%(x%,y%)=0.BL%+=|
00001760  31 3a 41 25 28 78 25 2c  79 25 29 3d 30 3a e3 72  |1:A%(x%,y%)=0:.r|
00001770  25 3d 79 25 b8 31 88 2d  31 3a 41 25 28 78 25 2c  |%=y%.1.-1:A%(x%,|
00001780  72 25 29 3d 41 25 28 78  25 2c 72 25 2d 31 29 3a  |r%)=A%(x%,r%-1):|
00001790  ed 3a 41 25 28 78 25 2c  30 29 3d 30 0d 07 e4 06  |.:A%(x%,0)=0....|
000017a0  ed 2c 0d 07 ee 0d e7 20  48 41 50 50 59 25 8c 0d  |.,..... HAPPY%..|
000017b0  08 3e 20 f2 68 61 70 70  79 3a e3 78 25 3d 30 b8  |.> .happy:.x%=0.|
000017c0  35 3a 46 25 3d 30 3a e3  79 25 3d 31 b8 31 37 0d  |5:F%=0:.y%=1.17.|
000017d0  08 48 19 e7 ac 46 25 3a  e7 41 25 28 78 25 2c 79  |.H...F%:.A%(x%,y|
000017e0  25 29 3e 30 46 25 3d b9  0d 08 52 80 e7 46 25 3a  |%)>0F%=...R..F%:|
000017f0  e7 28 28 41 25 28 78 25  2c 79 25 29 3e 37 80 41  |.((A%(x%,y%)>7.A|
00001800  25 28 78 25 2c 79 25 29  3c 32 34 29 84 41 25 28  |%(x%,y%)<24).A%(|
00001810  78 25 2c 79 25 29 3d 33  32 29 84 41 25 28 78 25  |x%,y%)=32).A%(x%|
00001820  2c 79 25 29 3d 30 8c 42  4c 25 2b 3d 31 3a 41 25  |,y%)=0.BL%+=1:A%|
00001830  28 78 25 2c 79 25 29 3d  30 3a e3 72 25 3d 79 25  |(x%,y%)=0:.r%=y%|
00001840  b8 31 88 2d 31 3a 41 25  28 78 25 2c 72 25 29 3d  |.1.-1:A%(x%,r%)=|
00001850  41 25 28 78 25 2c 72 25  2d 31 29 3a ed 3a 41 25  |A%(x%,r%-1):.:A%|
00001860  28 78 25 2c 30 29 3d 30  0d 08 5c 06 ed 2c 0d 08  |(x%,0)=0..\..,..|
00001870  66 05 cd 0d 08 70 0e f2  6e 65 78 74 6c 65 76 65  |f....p..nextleve|
00001880  6c 0d 08 7a 33 e7 52 25  80 70 69 6e 67 25 3a ff  |l..z3.R%.ping%:.|
00001890  28 22 43 48 41 4e 4e 45  4c 56 4f 49 43 45 20 31  |("CHANNELVOICE 1|
000018a0  20 50 69 6e 67 22 29 3a  d4 31 2c 2d 38 2c 39 30  | Ping"):.1,-8,90|
000018b0  30 30 2c 31 0d 08 84 13  fd 52 25 3d a3 20 80 20  |00,1.....R%=. . |
000018c0  ac 68 61 70 70 79 25 0d  08 8e 3b fb 37 3a 53 49  |.happy%...;.7:SI|
000018d0  25 3d 53 25 2d 73 25 3a  53 25 3d 53 25 2d 53 49  |%=S%-s%:S%=S%-SI|
000018e0  25 3a 53 25 3d 53 25 2b  28 53 49 25 2a 28 28 4c  |%:S%=S%+(SI%*((L|
000018f0  45 56 25 2a 2e 32 35 29  2b 2e 37 35 29 29 2a 53  |EV%*.25)+.75))*S|
00001900  4c 46 0d 08 98 44 f2 6e  75 6d 62 28 53 25 2c 32  |LF...D.numb(S%,2|
00001910  30 30 2c 39 32 30 29 3a  79 6f 75 72 73 25 3d 53  |00,920):yours%=S|
00001920  25 3a e7 53 25 3e 48 49  53 25 8c 48 49 53 25 3d  |%:.S%>HIS%.HIS%=|
00001930  53 25 3a f2 6e 75 6d 62  28 48 49 53 25 2c 32 30  |S%:.numb(HIS%,20|
00001940  30 2c 38 35 36 29 0d 08  a1 1d e7 6c 65 76 63 68  |0,856).....levch|
00001950  65 63 6b 25 3c 3e 4c 45  56 25 8c f2 6c 6f 6f 6b  |eck%<>LEV%..look|
00001960  73 65 65 0d 08 a2 33 e3  78 25 3d 30 b8 35 3a 46  |see...3.x%=0.5:F|
00001970  25 3d 30 3a e7 41 25 28  78 25 2c 30 29 3e 37 80  |%=0:.A%(x%,0)>7.|
00001980  41 25 28 78 25 2c 30 29  3c 32 34 8c 41 25 28 78  |A%(x%,0)<24.A%(x|
00001990  25 2c 30 29 3d 30 0d 08  a3 0c e3 79 25 3d 31 b8  |%,0)=0.....y%=1.|
000019a0  31 37 0d 08 a4 19 e7 ac  46 25 3a e7 41 25 28 78  |17......F%:.A%(x|
000019b0  25 2c 79 25 29 3e 30 46  25 3d b9 0d 08 a5 80 e7  |%,y%)>0F%=......|
000019c0  46 25 3a e7 28 28 41 25  28 78 25 2c 79 25 29 3e  |F%:.((A%(x%,y%)>|
000019d0  37 80 41 25 28 78 25 2c  79 25 29 3c 32 34 29 84  |7.A%(x%,y%)<24).|
000019e0  41 25 28 78 25 2c 79 25  29 3d 33 32 29 84 41 25  |A%(x%,y%)=32).A%|
000019f0  28 78 25 2c 79 25 29 3d  30 8c 42 4c 25 2b 3d 31  |(x%,y%)=0.BL%+=1|
00001a00  3a 41 25 28 78 25 2c 79  25 29 3d 30 3a e3 72 25  |:A%(x%,y%)=0:.r%|
00001a10  3d 79 25 b8 31 88 2d 31  3a 41 25 28 78 25 2c 72  |=y%.1.-1:A%(x%,r|
00001a20  25 29 3d 41 25 28 78 25  2c 72 25 2d 31 29 3a ed  |%)=A%(x%,r%-1):.|
00001a30  3a 41 25 28 78 25 2c 30  29 3d 30 0d 08 a6 06 ed  |:A%(x%,0)=0.....|
00001a40  2c 0d 08 a7 10 f4 20 4e  6f 77 20 72 65 64 72 61  |,..... Now redra|
00001a50  77 0d 08 a8 22 e3 79 25  3d 30 b8 31 37 3a e3 78  |w...".y%=0.17:.x|
00001a60  25 3d 30 b8 35 3a 70 69  25 3d 41 25 28 78 25 2c  |%=0.5:pi%=A%(x%,|
00001a70  79 25 29 0d 08 a9 16 e7  70 69 25 3c 3e 32 34 3a  |y%).....pi%<>24:|
00001a80  70 69 25 3d 70 69 25 80  37 0d 08 aa 70 e7 70 69  |pi%=pi%.7...p.pi|
00001a90  25 3c 3e 32 34 3a c8 99  26 32 45 2c 32 39 30 2c  |%<>24:..&2E,290,|
00001aa0  73 70 72 25 2c bd 28 36  34 2b 70 69 25 29 2b bd  |spr%,.(64+pi%)+.|
00001ab0  28 36 35 2b 4c 25 29 2c  34 38 30 2b 28 78 25 2a  |(65+L%),480+(x%*|
00001ac0  35 32 29 2c 39 34 30 2d  28 79 25 2a 35 32 29 8b  |52),940-(y%*52).|
00001ad0  c8 99 26 32 45 2c 35 34  36 2c 73 70 72 25 2c 71  |..&2E,546,spr%,q|
00001ae0  25 2c 34 38 30 2b 28 78  25 2a 35 32 29 2c 39 34  |%,480+(x%*52),94|
00001af0  30 2d 28 79 25 2a 35 32  29 0d 08 ab 11 41 25 28  |0-(y%*52)....A%(|
00001b00  78 25 2c 79 25 29 3d 70  69 25 0d 08 ac 06 ed 2c  |x%,y%)=pi%.....,|
00001b10  0d 08 ad 05 cd 0d 08 b6  1b e7 41 25 28 32 2c 30  |..........A%(2,0|
00001b20  29 3c 3e 30 8c 67 61 6d  65 6f 76 65 72 25 3d b9  |)<>0.gameover%=.|
00001b30  0d 08 c0 05 e1 0d 08 ca  0d dd f2 73 70 72 69 74  |...........sprit|
00001b40  65 73 0d 08 d4 0c 2a 46  58 32 30 30 2c 31 0d 08  |es....*FX200,1..|
00001b50  de 06 ea 85 0d 08 e8 a9  ee 85 eb 30 3a 87 3a ff  |...........0:.:.|
00001b60  28 22 46 58 32 30 30 22  29 3a e7 9f 3c 3e 31 37  |("FX200"):..<>17|
00001b70  8c f2 65 72 72 6f 72 3a  e0 20 8b f1 22 50 6c 65  |..error:. .."Ple|
00001b80  61 73 65 20 64 6f 6e 27  74 20 70 72 65 73 73 20  |ase don't press |
00001b90  3c 45 53 43 41 50 45 3e  20 77 68 69 6c 73 74 20  |<ESCAPE> whilst |
00001ba0  74 68 65 20 64 69 73 63  20 69 73 20 62 65 69 6e  |the disc is bein|
00001bb0  67 20 61 63 63 65 73 73  65 64 21 20 59 6f 75 27  |g accessed! You'|
00001bc0  6c 6c 20 68 61 76 65 20  74 6f 20 20 20 73 74 61  |ll have to   sta|
00001bd0  72 74 20 61 67 61 69 6e  20 6e 6f 77 21 21 21 22  |rt again now!!!"|
00001be0  3a c8 99 22 4f 53 5f 42  79 74 65 22 2c 31 31 2c  |:.."OS_Byte",11,|
00001bf0  72 65 70 65 61 74 72 61  74 65 25 3a e0 0d 08 f2  |repeatrate%:....|
00001c00  32 c8 99 22 4f 53 5f 46  69 6c 65 22 2c 35 2c 22  |2.."OS_File",5,"|
00001c10  3c 52 65 61 63 74 69 6f  6e 24 44 69 72 3e 2e 42  |<Reaction$Dir>.B|
00001c20  6c 6f 63 6b 73 22 b8 2c  2c 2c 2c 6d 65 6d 25 0d  |locks".,,,,mem%.|
00001c30  08 fc 11 de 73 70 72 25  20 6d 65 6d 25 2b 33 32  |....spr% mem%+32|
00001c40  0d 09 06 2f 21 73 70 72  25 3d 6d 65 6d 25 2b 33  |.../!spr%=mem%+3|
00001c50  32 3a 73 70 72 25 21 34  3d 30 3a 73 70 72 25 21  |2:spr%!4=0:spr%!|
00001c60  38 3d 31 36 3a 73 70 72  25 21 31 32 3d 31 36 0d  |8=16:spr%!12=16.|
00001c70  09 10 2a c8 99 26 32 45  2c 32 36 36 2c 73 70 72  |..*..&2E,266,spr|
00001c80  25 2c 22 3c 52 65 61 63  74 69 6f 6e 24 44 69 72  |%,"<Reaction$Dir|
00001c90  3e 2e 42 6c 6f 63 6b 73  22 0d 09 1a 0a 2a 46 58  |>.Blocks"....*FX|
00001ca0  32 30 30 0d 09 24 06 f7  85 0d 09 2e 05 e1 0d 09  |200..$..........|
00001cb0  38 0b dd f2 65 72 72 6f  72 0d 09 42 14 2a 41 4c  |8...error..B.*AL|
00001cc0  50 48 41 42 45 54 20 4c  61 74 69 6e 31 0d 09 4c  |PHABET Latin1..L|
00001cd0  2b ee 85 ee 85 87 3a eb  30 3a f1 f6 24 3b 22 20  |+.....:.0:..$;" |
00001ce0  61 74 20 6c 69 6e 65 20  22 3b 9e 3b 22 20 28 22  |at line ";.;" ("|
00001cf0  3b 9f 3b 22 29 22 3a e0  0d 09 56 1e c8 99 22 4f  |;.;")":...V..."O|
00001d00  53 5f 42 79 74 65 22 2c  31 31 2c 72 65 70 65 61  |S_Byte",11,repea|
00001d10  74 72 61 74 65 25 0d 09  60 80 e7 9f 3d 32 35 38  |trate%..`...=258|
00001d20  84 9f 3d 32 35 37 8c eb  30 3a f1 22 52 75 6e 20  |..=257..0:."Run |
00001d30  6d 65 20 61 67 61 69 6e  20 70 6c 65 61 73 65 21  |me again please!|
00001d40  20 54 72 79 20 61 6c 6c  6f 63 61 74 69 6e 67 20  | Try allocating |
00001d50  6d 6f 72 65 20 27 4d 6f  64 75 6c 65 20 61 72 65  |more 'Module are|
00001d60  61 27 20 6d 65 6d 6f 72  79 20 75 73 69 6e 67 20  |a' memory using |
00001d70  74 68 65 20 20 20 20 20  20 20 20 20 54 61 73 6b  |the         Task|
00001d80  20 4d 61 6e 61 67 65 72  2e 20 5b 22 3b 9e 3b 22  | Manager. [";.;"|
00001d90  5d 22 3a 87 3a e0 0d 09  6a 0a f2 63 6c 65 61 72  |]":.:...j..clear|
00001da0  0d 09 74 26 eb 31 32 3a  f1 f6 24 3b 22 20 61 74  |..t&.12:..$;" at|
00001db0  20 6c 69 6e 65 20 22 3b  9e 3b 22 20 28 22 3b 9f  | line ";.;" (";.|
00001dc0  3b 22 29 22 3a e0 0d 09  7e 05 e1 0d 09 88 13 dd  |;")":...~.......|
00001dd0  f2 64 69 73 70 28 58 58  25 2c 59 59 25 29 0d 09  |.disp(XX%,YY%)..|
00001de0  92 23 68 25 3d 34 38 30  2b 28 58 58 25 2a 35 32  |.#h%=480+(XX%*52|
00001df0  29 3a 69 25 3d 38 33 36  2d 28 59 59 25 2a 35 32  |):i%=836-(YY%*52|
00001e00  29 0d 09 9c 21 e7 41 25  3d 31 3a c8 99 26 32 45  |)...!.A%=1:..&2E|
00001e10  2c 35 34 36 2c 73 70 72  25 2c 61 25 2c 68 25 2c  |,546,spr%,a%,h%,|
00001e20  69 25 0d 09 a6 21 e7 41  25 3d 32 3a c8 99 26 32  |i%...!.A%=2:..&2|
00001e30  45 2c 35 34 36 2c 73 70  72 25 2c 62 25 2c 68 25  |E,546,spr%,b%,h%|
00001e40  2c 69 25 0d 09 b0 21 e7  41 25 3d 33 3a c8 99 26  |,i%...!.A%=3:..&|
00001e50  32 45 2c 35 34 36 2c 73  70 72 25 2c 63 25 2c 68  |2E,546,spr%,c%,h|
00001e60  25 2c 69 25 0d 09 ba 21  e7 41 25 3d 34 3a c8 99  |%,i%...!.A%=4:..|
00001e70  26 32 45 2c 35 34 36 2c  73 70 72 25 2c 64 25 2c  |&2E,546,spr%,d%,|
00001e80  68 25 2c 69 25 0d 09 c4  21 e7 41 25 3d 35 3a c8  |h%,i%...!.A%=5:.|
00001e90  99 26 32 45 2c 35 34 36  2c 73 70 72 25 2c 65 25  |.&2E,546,spr%,e%|
00001ea0  2c 68 25 2c 69 25 0d 09  ce 21 e7 41 25 3d 36 3a  |,h%,i%...!.A%=6:|
00001eb0  c8 99 26 32 45 2c 35 34  36 2c 73 70 72 25 2c 66  |..&2E,546,spr%,f|
00001ec0  25 2c 68 25 2c 69 25 0d  09 d8 21 e7 41 25 3d 37  |%,h%,i%...!.A%=7|
00001ed0  3a c8 99 26 32 45 2c 35  34 36 2c 73 70 72 25 2c  |:..&2E,546,spr%,|
00001ee0  7a 25 2c 68 25 2c 69 25  0d 09 e2 22 e7 41 25 3d  |z%,h%,i%...".A%=|
00001ef0  32 34 3a c8 99 26 32 45  2c 35 34 36 2c 73 70 72  |24:..&2E,546,spr|
00001f00  25 2c 71 25 2c 68 25 2c  69 25 0d 09 ec 22 e7 41  |%,q%,h%,i%...".A|
00001f10  25 3d 33 32 3a c8 99 26  32 45 2c 35 34 36 2c 73  |%=32:..&2E,546,s|
00001f20  70 72 25 2c 70 25 2c 68  25 2c 69 25 0d 09 f6 0a  |pr%,p%,h%,i%....|
00001f30  69 25 2b 3d 35 32 0d 0a  00 21 e7 42 25 3d 31 3a  |i%+=52...!.B%=1:|
00001f40  c8 99 26 32 45 2c 35 34  36 2c 73 70 72 25 2c 61  |..&2E,546,spr%,a|
00001f50  25 2c 68 25 2c 69 25 0d  0a 0a 21 e7 42 25 3d 32  |%,h%,i%...!.B%=2|
00001f60  3a c8 99 26 32 45 2c 35  34 36 2c 73 70 72 25 2c  |:..&2E,546,spr%,|
00001f70  62 25 2c 68 25 2c 69 25  0d 0a 14 21 e7 42 25 3d  |b%,h%,i%...!.B%=|
00001f80  33 3a c8 99 26 32 45 2c  35 34 36 2c 73 70 72 25  |3:..&2E,546,spr%|
00001f90  2c 63 25 2c 68 25 2c 69  25 0d 0a 1e 21 e7 42 25  |,c%,h%,i%...!.B%|
00001fa0  3d 34 3a c8 99 26 32 45  2c 35 34 36 2c 73 70 72  |=4:..&2E,546,spr|
00001fb0  25 2c 64 25 2c 68 25 2c  69 25 0d 0a 28 21 e7 42  |%,d%,h%,i%..(!.B|
00001fc0  25 3d 35 3a c8 99 26 32  45 2c 35 34 36 2c 73 70  |%=5:..&2E,546,sp|
00001fd0  72 25 2c 65 25 2c 68 25  2c 69 25 0d 0a 32 21 e7  |r%,e%,h%,i%..2!.|
00001fe0  42 25 3d 36 3a c8 99 26  32 45 2c 35 34 36 2c 73  |B%=6:..&2E,546,s|
00001ff0  70 72 25 2c 66 25 2c 68  25 2c 69 25 0d 0a 3c 21  |pr%,f%,h%,i%..<!|
00002000  e7 42 25 3d 37 3a c8 99  26 32 45 2c 35 34 36 2c  |.B%=7:..&2E,546,|
00002010  73 70 72 25 2c 7a 25 2c  68 25 2c 69 25 0d 0a 46  |spr%,z%,h%,i%..F|
00002020  22 e7 42 25 3d 32 34 3a  c8 99 26 32 45 2c 35 34  |".B%=24:..&2E,54|
00002030  36 2c 73 70 72 25 2c 71  25 2c 68 25 2c 69 25 0d  |6,spr%,q%,h%,i%.|
00002040  0a 50 22 e7 42 25 3d 33  32 3a c8 99 26 32 45 2c  |.P".B%=32:..&2E,|
00002050  35 34 36 2c 73 70 72 25  2c 70 25 2c 68 25 2c 69  |546,spr%,p%,h%,i|
00002060  25 0d 0a 5a 0b e7 48 25  3d 32 8c e1 0d 0a 64 0a  |%..Z..H%=2....d.|
00002070  69 25 2b 3d 35 32 0d 0a  6e 21 e7 43 25 3d 31 3a  |i%+=52..n!.C%=1:|
00002080  c8 99 26 32 45 2c 35 34  36 2c 73 70 72 25 2c 61  |..&2E,546,spr%,a|
00002090  25 2c 68 25 2c 69 25 0d  0a 78 21 e7 43 25 3d 32  |%,h%,i%..x!.C%=2|
000020a0  3a c8 99 26 32 45 2c 35  34 36 2c 73 70 72 25 2c  |:..&2E,546,spr%,|
000020b0  62 25 2c 68 25 2c 69 25  0d 0a 82 21 e7 43 25 3d  |b%,h%,i%...!.C%=|
000020c0  33 3a c8 99 26 32 45 2c  35 34 36 2c 73 70 72 25  |3:..&2E,546,spr%|
000020d0  2c 63 25 2c 68 25 2c 69  25 0d 0a 8c 21 e7 43 25  |,c%,h%,i%...!.C%|
000020e0  3d 34 3a c8 99 26 32 45  2c 35 34 36 2c 73 70 72  |=4:..&2E,546,spr|
000020f0  25 2c 64 25 2c 68 25 2c  69 25 0d 0a 96 21 e7 43  |%,d%,h%,i%...!.C|
00002100  25 3d 35 3a c8 99 26 32  45 2c 35 34 36 2c 73 70  |%=5:..&2E,546,sp|
00002110  72 25 2c 65 25 2c 68 25  2c 69 25 0d 0a a0 21 e7  |r%,e%,h%,i%...!.|
00002120  43 25 3d 36 3a c8 99 26  32 45 2c 35 34 36 2c 73  |C%=6:..&2E,546,s|
00002130  70 72 25 2c 66 25 2c 68  25 2c 69 25 0d 0a aa 21  |pr%,f%,h%,i%...!|
00002140  e7 43 25 3d 37 3a c8 99  26 32 45 2c 35 34 36 2c  |.C%=7:..&2E,546,|
00002150  73 70 72 25 2c 7a 25 2c  68 25 2c 69 25 0d 0a b4  |spr%,z%,h%,i%...|
00002160  22 e7 43 25 3d 32 34 3a  c8 99 26 32 45 2c 35 34  |".C%=24:..&2E,54|
00002170  36 2c 73 70 72 25 2c 71  25 2c 68 25 2c 69 25 0d  |6,spr%,q%,h%,i%.|
00002180  0a be 22 e7 43 25 3d 33  32 3a c8 99 26 32 45 2c  |..".C%=32:..&2E,|
00002190  35 34 36 2c 73 70 72 25  2c 70 25 2c 68 25 2c 69  |546,spr%,p%,h%,i|
000021a0  25 0d 0a c8 0b e7 48 25  3d 33 8c e1 0d 0a d2 28  |%.....H%=3.....(|
000021b0  69 25 2b 3d 35 32 3a e7  44 25 3d 31 3a c8 99 26  |i%+=52:.D%=1:..&|
000021c0  32 45 2c 35 34 36 2c 73  70 72 25 2c 61 25 2c 68  |2E,546,spr%,a%,h|
000021d0  25 2c 69 25 0d 0a dc 21  e7 44 25 3d 32 3a c8 99  |%,i%...!.D%=2:..|
000021e0  26 32 45 2c 35 34 36 2c  73 70 72 25 2c 62 25 2c  |&2E,546,spr%,b%,|
000021f0  68 25 2c 69 25 0d 0a e6  21 e7 44 25 3d 33 3a c8  |h%,i%...!.D%=3:.|
00002200  99 26 32 45 2c 35 34 36  2c 73 70 72 25 2c 63 25  |.&2E,546,spr%,c%|
00002210  2c 68 25 2c 69 25 0d 0a  f0 21 e7 44 25 3d 34 3a  |,h%,i%...!.D%=4:|
00002220  c8 99 26 32 45 2c 35 34  36 2c 73 70 72 25 2c 64  |..&2E,546,spr%,d|
00002230  25 2c 68 25 2c 69 25 0d  0a fa 21 e7 44 25 3d 35  |%,h%,i%...!.D%=5|
00002240  3a c8 99 26 32 45 2c 35  34 36 2c 73 70 72 25 2c  |:..&2E,546,spr%,|
00002250  65 25 2c 68 25 2c 69 25  0d 0b 04 21 e7 44 25 3d  |e%,h%,i%...!.D%=|
00002260  36 3a c8 99 26 32 45 2c  35 34 36 2c 73 70 72 25  |6:..&2E,546,spr%|
00002270  2c 66 25 2c 68 25 2c 69  25 0d 0b 0e 21 e7 44 25  |,f%,h%,i%...!.D%|
00002280  3d 37 3a c8 99 26 32 45  2c 35 34 36 2c 73 70 72  |=7:..&2E,546,spr|
00002290  25 2c 7a 25 2c 68 25 2c  69 25 0d 0b 18 22 e7 44  |%,z%,h%,i%...".D|
000022a0  25 3d 32 34 3a c8 99 26  32 45 2c 35 34 36 2c 73  |%=24:..&2E,546,s|
000022b0  70 72 25 2c 71 25 2c 68  25 2c 69 25 0d 0b 22 22  |pr%,q%,h%,i%..""|
000022c0  e7 44 25 3d 33 32 3a c8  99 26 32 45 2c 35 34 36  |.D%=32:..&2E,546|
000022d0  2c 73 70 72 25 2c 70 25  2c 68 25 2c 69 25 0d 0b  |,spr%,p%,h%,i%..|
000022e0  2c 05 e1 0d 0b 36 12 dd  f2 64 65 6c 28 58 58 25  |,....6...del(XX%|
000022f0  2c 59 59 25 29 0d 0b 40  35 e7 48 25 3d 34 8c c8  |,YY%)..@5.H%=4..|
00002300  99 26 32 45 2c 35 34 36  2c 73 70 72 25 2c 67 25  |.&2E,546,spr%,g%|
00002310  2c 34 38 30 2b 28 58 58  25 2a 35 32 29 2c 39 39  |,480+(XX%*52),99|
00002320  32 2d 28 59 59 25 2a 35  32 29 0d 0b 4a 3a e7 48  |2-(YY%*52)..J:.H|
00002330  25 3d 33 84 48 25 3d 34  8c c8 99 26 32 45 2c 35  |%=3.H%=4...&2E,5|
00002340  34 36 2c 73 70 72 25 2c  67 25 2c 34 38 30 2b 28  |46,spr%,g%,480+(|
00002350  58 58 25 2a 35 32 29 2c  39 34 30 2d 28 59 59 25  |XX%*52),940-(YY%|
00002360  2a 35 32 29 0d 0b 54 2f  c8 99 26 32 45 2c 35 34  |*52)..T/..&2E,54|
00002370  36 2c 73 70 72 25 2c 67  25 2c 34 38 30 2b 28 58  |6,spr%,g%,480+(X|
00002380  58 25 2a 35 32 29 2c 38  38 38 2d 28 59 59 25 2a  |X%*52),888-(YY%*|
00002390  35 32 29 0d 0b 5e 2f c8  99 26 32 45 2c 35 34 36  |52)..^/..&2E,546|
000023a0  2c 73 70 72 25 2c 67 25  2c 34 38 30 2b 28 58 58  |,spr%,g%,480+(XX|
000023b0  25 2a 35 32 29 2c 38 33  36 2d 28 59 59 25 2a 35  |%*52),836-(YY%*5|
000023c0  32 29 0d 0b 68 05 e1 0d  0b 72 0b dd f2 70 61 75  |2)..h....r...pau|
000023d0  73 65 0d 0b 7c 0b 63 6f  6e 74 25 3d 91 0d 0b 86  |se..|.cont%=....|
000023e0  10 ea 41 25 2c 42 25 2c  43 25 2c 44 25 0d 0b 90  |..A%,B%,C%,D%...|
000023f0  2a c8 99 26 32 45 2c 32  37 32 2c 62 75 63 6b 65  |*..&2E,272,bucke|
00002400  74 25 2c 22 61 22 2c 2c  34 38 30 2c 35 32 2c 37  |t%,"a",,480,52,7|
00002410  38 34 2c 31 30 32 33 0d  0b 9a 58 e7 63 6c 25 80  |84,1023...X.cl%.|
00002420  77 69 70 65 25 e6 30 c8  9c 30 3a c8 93 c8 90 34  |wipe%.0..0:....4|
00002430  38 30 2c 35 32 2c 33 30  38 2c 31 30 30 30 3a e3  |80,52,308,1000:.|
00002440  6c 25 3d 39 30 30 b8 31  30 30 88 2d 38 30 3a c8  |l%=900.100.-80:.|
00002450  99 26 32 45 2c 32 39 30  2c 73 70 72 25 2c 22 50  |.&2E,290,spr%,"P|
00002460  61 75 73 65 64 22 2c 35  32 36 2c 6c 25 3a ed 0d  |aused",526,l%:..|
00002470  0b a4 0a f5 fd ac a6 54  25 0d 0b ae 0b 2a 46 58  |.......T%....*FX|
00002480  32 31 2c 30 0d 0b b8 27  c8 99 26 32 45 2c 32 39  |21,0...'..&2E,29|
00002490  30 2c 73 70 72 25 2c 22  73 71 66 6f 72 73 6f 75  |0,spr%,"sqforsou|
000024a0  6e 64 22 2c 39 35 30 2c  36 30 30 0d 0b c2 28 c8  |nd",950,600...(.|
000024b0  99 26 32 45 2c 32 39 30  2c 73 70 72 25 2c 22 2b  |.&2E,290,spr%,"+|
000024c0  2d 66 6f 72 76 6f 6c 75  6d 65 22 2c 39 35 30 2c  |-forvolume",950,|
000024d0  35 35 30 0d 0b cc 39 e6  30 c8 9c 30 3a c8 93 c8  |550...9.0..0:...|
000024e0  90 39 33 30 2c 30 2c 33  33 34 2c 31 30 38 3a c8  |.930,0,334,108:.|
000024f0  99 26 32 45 2c 32 39 30  2c 73 70 72 25 2c 22 53  |.&2E,290,spr%,"S|
00002500  70 68 65 72 65 22 2c 39  33 30 2c 30 0d 0b d6 25  |phere",930,0...%|
00002510  c8 99 26 32 45 2c 32 39  30 2c 73 70 72 25 2c 22  |..&2E,290,spr%,"|
00002520  43 72 65 64 69 74 73 22  2c 39 34 30 2c 32 30 2c  |Credits",940,20,|
00002530  38 0d 0b e0 05 f5 0d 0b  ea 86 41 24 3d bf 28 30  |8.........A$=.(0|
00002540  29 3a e7 41 24 3d 22 47  22 8c 41 24 3d bf 28 31  |):.A$="G".A$=.(1|
00002550  30 29 3a e7 41 24 3d 22  4c 22 8c 41 24 3d bf 28  |0):.A$="L".A$=.(|
00002560  31 30 29 3a e7 41 24 3d  22 4d 22 8c 63 6c 25 3d  |10):.A$="M".cl%=|
00002570  a3 3a c8 99 26 32 45 2c  32 39 30 2c 73 70 72 25  |.:..&2E,290,spr%|
00002580  2c 22 4f 68 44 65 61 72  22 2c 31 33 38 2c 37 30  |,"OhDear",138,70|
00002590  3a f1 8a 30 2c 38 29 22  54 69 6c 65 73 3a 22 3a  |:..0,8)"Tiles:":|
000025a0  f2 6e 75 6d 62 28 42 4c  25 2c 32 30 30 2c 37 32  |.numb(BL%,200,72|
000025b0  38 29 3a 6f 68 64 65 61  72 25 3d b9 0d 0b f4 7d  |8):ohdear%=....}|
000025c0  e7 6f 68 64 65 61 72 25  3d b9 20 80 41 24 3d 22  |.ohdear%=. .A$="|
000025d0  7e 22 8c 4f 42 4c 25 3d  42 4c 25 3a 42 4c 25 2b  |~".OBL%=BL%:BL%+|
000025e0  3d 28 28 28 42 4c 25 81  31 30 30 29 2b 31 29 2a  |=(((BL%.100)+1)*|
000025f0  31 30 30 29 2d 42 4c 25  3a f2 6e 75 6d 62 28 42  |100)-BL%:.numb(B|
00002600  4c 25 2c 32 30 30 2c 37  32 38 29 3a ff 28 22 43  |L%,200,728):.("C|
00002610  48 41 4e 4e 45 4c 56 4f  49 43 45 20 31 20 4c 61  |HANNELVOICE 1 La|
00002620  75 67 68 22 29 3a d4 31  2c 2d 31 35 2c 37 30 30  |ugh"):.1,-15,700|
00002630  30 2c 31 3a 45 25 2d 3d  34 0d 0b fe 28 e7 41 24  |0,1:E%-=4...(.A$|
00002640  3d 22 53 22 84 41 24 3d  22 73 22 8c ff 28 22 53  |="S".A$="s"..("S|
00002650  50 45 41 4b 45 52 20 4f  4e 22 29 3a 41 24 3d 22  |PEAKER ON"):A$="|
00002660  22 0d 0c 08 29 e7 41 24  3d 22 51 22 84 41 24 3d  |"...).A$="Q".A$=|
00002670  22 71 22 8c ff 28 22 53  50 45 41 4b 45 52 20 4f  |"q"..("SPEAKER O|
00002680  46 46 22 29 3a 41 24 3d  22 22 0d 0c 12 13 e7 41  |FF"):A$="".....A|
00002690  24 3d 22 3d 22 84 41 24  3d 22 2b 22 8c 0d 0c 1c  |$="=".A$="+"....|
000026a0  36 41 24 3d 22 22 3a 76  6f 6c 25 2b 3d 35 3a e7  |6A$="":vol%+=5:.|
000026b0  76 6f 6c 25 3c 31 32 38  8c ff 28 22 56 4f 4c 55  |vol%<128..("VOLU|
000026c0  4d 45 20 22 2b c3 76 6f  6c 25 29 8b 76 6f 6c 25  |ME "+.vol%).vol%|
000026d0  2d 3d 35 0d 0c 26 29 ff  28 22 43 48 41 4e 4e 45  |-=5..&).("CHANNE|
000026e0  4c 56 4f 49 43 45 20 31  20 50 69 6e 67 22 29 3a  |LVOICE 1 Ping"):|
000026f0  d4 31 2c 2d 38 2c 39 30  30 30 2c 31 0d 0c 30 05  |.1,-8,9000,1..0.|
00002700  cd 0d 0c 3a 13 e7 41 24  3d 22 2d 22 84 41 24 3d  |...:..A$="-".A$=|
00002710  22 5f 22 8c 0d 0c 44 34  41 24 3d 22 22 3a 76 6f  |"_"...D4A$="":vo|
00002720  6c 25 2d 3d 35 3a e7 76  6f 6c 25 3e 30 8c ff 28  |l%-=5:.vol%>0..(|
00002730  22 56 4f 4c 55 4d 45 20  22 2b c3 76 6f 6c 25 29  |"VOLUME "+.vol%)|
00002740  8b 76 6f 6c 25 2b 3d 35  0d 0c 4e 29 ff 28 22 43  |.vol%+=5..N).("C|
00002750  48 41 4e 4e 45 4c 56 4f  49 43 45 20 31 20 50 69  |HANNELVOICE 1 Pi|
00002760  6e 67 22 29 3a d4 31 2c  2d 38 2c 39 30 30 30 2c  |ng"):.1,-8,9000,|
00002770  31 0d 0c 58 05 cd 0d 0c  62 0b fd 41 24 3c 3e 22  |1..X....b..A$<>"|
00002780  22 0d 0c 6c 0a f5 fd ac  a6 54 25 0d 0c 76 2e e6  |"..l.....T%..v..|
00002790  30 c8 9c 30 3a c8 93 c8  90 39 35 30 2c 35 35 30  |0..0:....950,550|
000027a0  2c 33 30 38 2c 37 38 3a  c8 93 c8 90 39 33 30 2c  |,308,78:....930,|
000027b0  30 2c 33 33 34 2c 31 30  38 0d 0c 80 45 c8 99 26  |0,334,108...E..&|
000027c0  32 45 2c 32 39 30 2c 73  70 72 25 2c 22 53 70 68  |2E,290,spr%,"Sph|
000027d0  65 72 65 22 2c 39 33 30  2c 30 3a c8 99 26 32 45  |ere",930,0:..&2E|
000027e0  2c 32 39 30 2c 73 70 72  25 2c 22 41 72 63 68 57  |,290,spr%,"ArchW|
000027f0  6f 72 6c 64 22 2c 39 34  30 2c 32 30 2c 38 0d 0c  |orld",940,20,8..|
00002800  8a 20 c8 99 26 32 45 2c  32 39 30 2c 62 75 63 6b  |. ..&2E,290,buck|
00002810  65 74 25 2c 22 61 22 2c  34 38 30 2c 35 32 0d 0c  |et%,"a",480,52..|
00002820  94 0b d1 3d 63 6f 6e 74  25 0d 0c 9e 05 e1 0d 0c  |...=cont%.......|
00002830  a8 0b dd f2 69 6e 74 72  6f 0d 0c b2 0b ee 85 e5  |....intro.......|
00002840  8d 64 5c 40 0d 0c bc 09  eb 31 35 3a 87 0d 0c c6  |.d\@.....15:....|
00002850  28 ea 73 25 2c 64 65 6c  25 2c 4c 25 2c 4c 32 25  |(.s%,del%,L%,L2%|
00002860  2c 78 2c 79 2c 72 25 2c  70 25 2c 70 6f 69 6e 74  |,x,y,r%,p%,point|
00002870  73 25 2c 43 25 0d 0c d0  0a 64 65 6c 25 3d 30 0d  |s%,C%....del%=0.|
00002880  0c da 31 73 25 3d 32 35  3a f4 20 53 70 65 65 64  |..1s%=25:. Speed|
00002890  20 27 61 74 6f 6d 73 27  20 66 6c 79 20 69 6e 20  | 'atoms' fly in |
000028a0  28 49 20 63 61 6e 20 64  72 65 61 6d 2e 2e 2e 29  |(I can dream...)|
000028b0  0d 0c e4 09 f7 8d 44 6a  4e 0d 0c ee 1d e3 4c 25  |......DjN.....L%|
000028c0  3d 30 b8 31 32 3a f3 4b  25 28 4c 25 29 2c 4c 25  |=0.12:.K%(L%),L%|
000028d0  28 4c 25 29 3a ed 0d 0c  f8 0b e3 4c 25 3d 30 b8  |(L%):......L%=0.|
000028e0  37 0d 0d 02 0c f3 70 6f  69 6e 74 73 25 0d 0d 0c  |7.....points%...|
000028f0  12 e3 4c 32 25 3d 31 b8  70 6f 69 6e 74 73 25 0d  |..L2%=1.points%.|
00002900  0d 16 08 f3 78 2c 79 0d  0d 20 2f 49 25 28 4c 32  |....x,y.. /I%(L2|
00002910  25 2d 31 29 3d 28 4c 25  2a 31 36 30 29 2b 33 30  |%-1)=(L%*160)+30|
00002920  2b 78 3a 4a 25 28 4c 32  25 2d 31 29 3d 36 32 35  |+x:J%(L2%-1)=625|
00002930  2d 28 79 2a 34 29 0d 0d  2a 05 ed 0d 0d 34 0c e3  |-(y*4)..*....4..|
00002940  4c 33 25 3d 31 b8 32 0d  0d 3e 24 e7 4c 33 25 3d  |L3%=1.2..>$.L3%=|
00002950  31 20 8c 47 24 3d 22 61  74 6f 6d 22 8b 47 24 3d  |1 .G$="atom".G$=|
00002960  22 62 6c 61 6e 6b 61 74  6f 6d 22 0d 0d 48 0c e3  |"blankatom"..H..|
00002970  72 25 3d 31 b8 73 25 0d  0d 52 11 e3 70 25 3d 31  |r%=1.s%..R..p%=1|
00002980  b8 70 6f 69 6e 74 73 25  0d 0d 5c 63 c8 99 26 32  |.points%..\c..&2|
00002990  45 2c 32 39 30 2c 73 70  72 25 2c 47 24 2c 28 28  |E,290,spr%,G$,((|
000029a0  28 49 25 28 70 25 2d 31  29 2d 4b 25 28 70 25 2d  |(I%(p%-1)-K%(p%-|
000029b0  31 29 29 2f 73 25 29 2a  72 25 29 2b 4b 25 28 70  |1))/s%)*r%)+K%(p|
000029c0  25 2d 31 29 2c 28 28 28  4a 25 28 70 25 2d 31 29  |%-1),(((J%(p%-1)|
000029d0  2d 4c 25 28 70 25 2d 31  29 29 2f 73 25 29 2a 72  |-L%(p%-1))/s%)*r|
000029e0  25 29 2b 4c 25 28 70 25  2d 31 29 0d 0d 66 07 ed  |%)+L%(p%-1)..f..|
000029f0  2c 2c 0d 0d 70 13 e3 70  25 3d 30 b8 70 6f 69 6e  |,,..p..p%=0.poin|
00002a00  74 73 25 2d 31 0d 0d 7a  28 c8 99 26 32 45 2c 32  |ts%-1..z(..&2E,2|
00002a10  39 30 2c 73 70 72 25 2c  22 61 74 6f 6d 32 22 2c  |90,spr%,"atom2",|
00002a20  49 25 28 70 25 29 2c 4a  25 28 70 25 29 0d 0d 84  |I%(p%),J%(p%)...|
00002a30  05 ed 0d 0d 8e 10 d1 3d  30 3a f5 fd 91 3e 32 35  |.......=0:...>25|
00002a40  3a db 0d 0d 98 05 ed 0d  0d a2 0e d1 3d 30 3a f5  |:...........=0:.|
00002a50  fd 91 3e 32 35 0d 0d ac  14 f2 72 74 69 74 6c 65  |..>25.....rtitle|
00002a60  28 22 61 74 6f 6d 33 22  29 0d 0d b6 0f 43 25 3d  |("atom3")....C%=|
00002a70  30 3a f5 43 25 2b 3d 31  0d 0d c0 09 f2 66 61 64  |0:.C%+=1.....fad|
00002a80  65 0d 0d ca 0a 64 65 6c  25 3d 38 0d 0d d4 13 f2  |e....del%=8.....|
00002a90  72 74 69 74 6c 65 28 22  61 74 6f 6d 22 29 0d 0d  |rtitle("atom")..|
00002aa0  de 14 f2 72 74 69 74 6c  65 28 22 61 74 6f 6d 33  |...rtitle("atom3|
00002ab0  22 29 0d 0d e8 18 f2 72  74 69 74 6c 65 28 22 62  |").....rtitle("b|
00002ac0  6c 61 6e 6b 61 74 6f 6d  22 29 0d 0d f2 14 f2 72  |lankatom").....r|
00002ad0  74 69 74 6c 65 28 22 61  74 6f 6d 33 22 29 0d 0d  |title("atom3")..|
00002ae0  fc 09 fd 43 25 3d 33 0d  0e 06 05 e1 0d 0e 10 10  |...C%=3.........|
00002af0  dd f2 72 74 69 74 6c 65  28 47 24 29 0d 0e 1a 07  |..rtitle(G$)....|
00002b00  ea 4c 25 0d 0e 24 09 f7  8d 44 74 4e 0d 0e 2e 0b  |.L%..$...DtN....|
00002b10  e3 4c 25 3d 30 b8 37 0d  0e 38 0c f3 70 6f 69 6e  |.L%=0.7..8..poin|
00002b20  74 73 25 0d 0e 42 12 e3  4c 32 25 3d 31 b8 70 6f  |ts%..B..L2%=1.po|
00002b30  69 6e 74 73 25 0d 0e 4c  32 f3 78 2c 79 3a c8 99  |ints%..L2.x,y:..|
00002b40  26 32 45 2c 32 39 30 2c  73 70 72 25 2c 47 24 2c  |&2E,290,spr%,G$,|
00002b50  28 4c 25 2a 31 36 30 29  2b 33 30 2b 78 2c 36 32  |(L%*160)+30+x,62|
00002b60  35 2d 28 79 2a 34 29 0d  0e 56 12 ed 3a 41 24 3d  |5-(y*4)..V..:A$=|
00002b70  bf 28 64 65 6c 25 29 3a  ed 0d 0e 60 05 e1 0d 0e  |.(del%):...`....|
00002b80  6a 79 dc 30 2c 30 2c 31  32 35 39 2c 30 2c 31 32  |jy.0,0,1259,0,12|
00002b90  35 39 2c 31 30 32 33 2c  30 2c 31 30 32 33 2c 30  |59,1023,0,1023,0|
00002ba0  2c 35 34 30 2c 31 32 35  39 2c 35 34 30 2c 36 33  |,540,1259,540,63|
00002bb0  30 2c 34 30 2c 36 33 30  2c 31 30 32 33 2c 33 31  |0,40,630,1023,31|
00002bc0  35 2c 31 30 32 33 2c 39  35 35 2c 31 30 32 33 2c  |5,1023,955,1023,|
00002bd0  33 31 35 2c 34 30 2c 39  35 35 2c 34 30 2c 30 2c  |315,40,955,40,0,|
00002be0  37 36 30 3a 52 45 4d 20  53 74 61 72 74 20 70 6f  |760:REM Start po|
00002bf0  73 69 74 69 6f 6e 73 0d  0e 74 4e dc 31 32 2c 30  |sitions..tN.12,0|
00002c00  2c 30 2c 32 35 2c 30 2c  30 2c 32 30 2c 30 2c 34  |,0,25,0,0,20,0,4|
00002c10  30 2c 30 2c 36 30 2c 30  2c 38 30 2c 35 30 2c 31  |0,0,60,0,80,50,1|
00002c20  30 2c 37 35 2c 32 30 2c  35 30 2c 33 30 2c 32 35  |0,75,20,50,30,25|
00002c30  2c 34 30 2c 35 30 2c 36  30 2c 37 35 2c 38 30 3a  |,40,50,60,75,80:|
00002c40  52 45 4d 20 52 0d 0e 7e  52 dc 31 33 2c 30 2c 30  |REM R..~R.13,0,0|
00002c50  2c 32 35 2c 30 2c 35 30  2c 30 2c 37 35 2c 30 2c  |,25,0,50,0,75,0,|
00002c60  30 2c 32 30 2c 30 2c 34  30 2c 32 35 2c 34 30 2c  |0,20,0,40,25,40,|
00002c70  35 30 2c 34 30 2c 30 2c  36 30 2c 30 2c 38 30 2c  |50,40,0,60,0,80,|
00002c80  32 35 2c 38 30 2c 35 30  2c 38 30 2c 37 35 2c 38  |25,80,50,80,75,8|
00002c90  30 3a 52 45 4d 20 45 0d  0e 88 4e dc 31 30 2c 33  |0:REM E...N.10,3|
00002ca0  37 2e 35 2c 30 2c 32 35  2c 32 30 2c 35 30 2c 32  |7.5,0,25,20,50,2|
00002cb0  30 2c 31 32 2e 35 2c 34  30 2c 36 32 2e 35 2c 34  |0,12.5,40,62.5,4|
00002cc0  30 2c 33 37 2e 35 2c 34  30 2c 30 2c 36 30 2c 37  |0,37.5,40,0,60,7|
00002cd0  35 2c 36 30 2c 30 2c 38  30 2c 37 35 2c 38 30 3a  |5,60,0,80,75,80:|
00002ce0  52 45 4d 20 41 0d 0e 92  42 dc 39 2c 32 35 2c 30  |REM A...B.9,25,0|
00002cf0  2c 35 30 2c 30 2c 37 35  2c 30 2c 31 32 2e 35 2c  |,50,0,75,0,12.5,|
00002d00  32 30 2c 30 2c 34 30 2c  31 32 2e 35 2c 36 30 2c  |20,0,40,12.5,60,|
00002d10  32 35 2c 38 30 2c 35 30  2c 38 30 2c 37 35 2c 38  |25,80,50,80,75,8|
00002d20  30 3a 52 45 4d 20 43 0d  0e 9c 3f dc 38 2c 30 2c  |0:REM C...?.8,0,|
00002d30  30 2c 32 35 2c 30 2c 35  30 2c 30 2c 37 35 2c 30  |0,25,0,50,0,75,0|
00002d40  2c 33 37 2e 35 2c 32 30  2c 33 37 2e 35 2c 34 30  |,37.5,20,37.5,40|
00002d50  2c 33 37 2e 35 2c 36 30  2c 33 37 2e 35 2c 38 30  |,37.5,60,37.5,80|
00002d60  3a 52 45 4d 20 54 0d 0e  a6 4f dc 31 31 2c 30 2c  |:REM T...O.11,0,|
00002d70  30 2c 32 35 2c 30 2c 35  30 2c 30 2c 37 35 2c 30  |0,25,0,50,0,75,0|
00002d80  2c 33 37 2e 35 2c 32 30  2c 33 37 2e 35 2c 34 30  |,37.5,20,37.5,40|
00002d90  2c 33 37 2e 35 2c 36 30  2c 30 2c 38 30 2c 32 35  |,37.5,60,0,80,25|
00002da0  2c 38 30 2c 35 30 2c 38  30 2c 37 35 2c 38 30 3a  |,80,50,80,75,80:|
00002db0  52 45 4d 20 49 0d 0e b0  46 dc 38 2c 33 37 2e 35  |REM I...F.8,37.5|
00002dc0  2c 30 2c 31 32 2e 35 2c  32 30 2c 36 32 2e 35 2c  |,0,12.5,20,62.5,|
00002dd0  32 30 2c 30 2c 34 30 2c  37 35 2c 34 30 2c 31 32  |20,0,40,75,40,12|
00002de0  2e 35 2c 36 30 2c 36 32  2e 35 2c 36 30 2c 33 37  |.5,60,62.5,60,37|
00002df0  2e 35 2c 38 30 3a 52 45  4d 20 4f 0d 0e ba 56 dc  |.5,80:REM O...V.|
00002e00  31 33 2c 30 2c 30 2c 30  2c 32 30 2c 30 2c 34 30  |13,0,0,0,20,0,40|
00002e10  2c 30 2c 36 30 2c 30 2c  38 30 2c 32 35 2c 32 30  |,0,60,0,80,25,20|
00002e20  2c 33 37 2e 35 2c 34 30  2c 35 30 2c 36 30 2c 37  |,37.5,40,50,60,7|
00002e30  35 2c 38 30 2c 37 35 2c  36 30 2c 37 35 2c 34 30  |5,80,75,60,75,40|
00002e40  2c 37 35 2c 32 30 2c 37  35 2c 30 3a 52 45 4d 20  |,75,20,75,0:REM |
00002e50  4e 0d 0e c4 0a dd f2 66  61 64 65 0d 0e ce 2d ea  |N......fade...-.|
00002e60  72 25 3a f4 20 22 66 61  64 65 22 20 69 73 20 74  |r%:. "fade" is t|
00002e70  6f 6f 20 67 72 61 6e 64  20 61 20 77 6f 72 64 20  |oo grand a word |
00002e80  70 72 6f 62 61 62 6c 79  0d 0e d8 10 e3 72 25 3d  |probably.....r%=|
00002e90  30 b8 31 32 37 88 31 36  0d 0e e2 0d d1 3d 30 3a  |0.127.16.....=0:|
00002ea0  f5 fd 91 3e 35 0d 0e ec  12 c8 96 3a fb 30 2c 72  |...>5......:.0,r|
00002eb0  25 2c 72 25 2c 72 25 0d  0e f6 05 ed 0d 0f 00 11  |%,r%,r%.........|
00002ec0  e3 72 25 3d 31 32 37 b8  30 88 2d 31 36 0d 0f 0a  |.r%=127.0.-16...|
00002ed0  0d d1 3d 30 3a f5 fd 91  3e 35 0d 0f 14 12 c8 96  |..=0:...>5......|
00002ee0  3a fb 30 2c 72 25 2c 72  25 2c 72 25 0d 0f 1e 05  |:.0,r%,r%,r%....|
00002ef0  ed 0d 0f 28 05 e1 0d 0f  32 0c dd f2 73 63 72 6f  |...(....2...scro|
00002f00  6c 6c 0d 0f 3c 09 eb 31  35 3a 87 0d 0f 46 30 c8  |ll..<..15:...F0.|
00002f10  99 22 4f 53 5f 46 69 6c  65 22 2c 35 2c 22 3c 52  |."OS_File",5,"<R|
00002f20  65 61 63 74 69 6f 6e 24  44 69 72 3e 2e 4c 6f 67  |eaction$Dir>.Log|
00002f30  6f 22 b8 2c 2c 2c 2c 6d  65 6d 25 0d 0f 50 11 de  |o".,,,,mem%..P..|
00002f40  73 70 72 25 20 6d 65 6d  25 2b 33 32 0d 0f 5a 2f  |spr% mem%+32..Z/|
00002f50  21 73 70 72 25 3d 6d 65  6d 25 2b 33 32 3a 73 70  |!spr%=mem%+32:sp|
00002f60  72 25 21 34 3d 30 3a 73  70 72 25 21 38 3d 31 36  |r%!4=0:spr%!8=16|
00002f70  3a 73 70 72 25 21 31 32  3d 31 36 0d 0f 64 0e de  |:spr%!12=16..d..|
00002f80  73 63 61 6c 65 25 31 30  30 0d 0f 6e 1a 73 63 61  |scale%100..n.sca|
00002f90  6c 65 25 21 38 3d 31 3a  73 63 61 6c 65 25 21 31  |le%!8=1:scale%!1|
00002fa0  32 3d 31 0d 0f 78 2b c8  99 26 32 45 2c 31 30 2b  |2=1..x+..&2E,10+|
00002fb0  32 35 36 2c 73 70 72 25  2c 22 3c 52 65 61 63 74  |256,spr%,"<React|
00002fc0  69 6f 6e 24 44 69 72 3e  2e 4c 6f 67 6f 22 0d 0f  |ion$Dir>.Logo"..|
00002fd0  82 26 c8 99 26 32 45 2c  33 34 2b 32 35 36 2c 73  |.&..&2E,34+256,s|
00002fe0  70 72 25 2c 22 73 63 72  65 65 6e 22 2c 33 35 30  |pr%,"screen",350|
00002ff0  2c 36 30 30 0d 0f 8c 0b  fb 32 c8 9c 31 32 38 0d  |,600.....2..128.|
00003000  0f 96 35 f1 8a 32 31 2c  33 31 29 3b 22 50 72 65  |..5..21,31);"Pre|
00003010  73 73 20 3c 45 53 43 41  50 45 3e 20 74 6f 20 71  |ss <ESCAPE> to q|
00003020  75 69 74 20 69 6e 74 72  6f 20 73 65 71 75 65 6e  |uit intro sequen|
00003030  63 65 22 3b 0d 0f a0 11  c8 a0 20 31 3a 41 24 3d  |ce";...... 1:A$=|
00003040  bf 28 35 30 29 0d 0f aa  1c 2a 43 48 41 4e 4e 45  |.(50)....*CHANNE|
00003050  4c 56 4f 49 43 45 20 31  20 52 65 61 63 74 69 6f  |LVOICE 1 Reactio|
00003060  6e 0d 0f b4 11 d4 31 2c  2d 31 35 2c 39 30 30 30  |n.....1,-15,9000|
00003070  2c 30 0d 0f be 0d 41 24  3d bf 28 32 30 30 29 0d  |,0....A$=.(200).|
00003080  0f c8 14 f2 61 72 63 68  69 6d 65 64 65 73 77 6f  |....archimedeswo|
00003090  72 6c 64 0d 0f d2 05 e1  0d 0f dc 0d dd f2 6e 65  |rld...........ne|
000030a0  78 74 6c 65 76 0d 0f e6  0b 2a 46 58 32 31 2c 30  |xtlev....*FX21,0|
000030b0  0d 0f f0 0f e7 ac 63 68  61 6e 67 65 25 8c e1 0d  |......change%...|
000030c0  0f fa 1b e6 30 c8 9c 30  3a c8 93 c8 90 39 33 30  |....0..0:....930|
000030d0  2c 30 2c 33 33 34 2c 31  30 38 0d 10 04 13 e3 6c  |,0,334,108.....l|
000030e0  25 3d 2d 34 34 b8 31 30  32 34 88 34 34 0d 10 0e  |%=-44.1024.44...|
000030f0  30 41 42 24 3d bf 28 35  29 3a c8 96 3a c8 99 26  |0AB$=.(5):..:..&|
00003100  32 45 2c 32 39 30 2c 73  70 72 25 2c 22 4e 65 78  |2E,290,spr%,"Nex|
00003110  74 4c 65 76 22 2c 31 30  30 30 2c 6c 25 0d 10 18  |tLev",1000,l%...|
00003120  05 ed 0d 10 22 09 e6 30  c8 9c 30 0d 10 2c 13 e3  |...."..0..0..,..|
00003130  6c 25 3d 2d 34 34 b8 31  30 32 34 88 34 34 0d 10  |l%=-44.1024.44..|
00003140  36 22 41 42 24 3d bf 28  35 29 3a c8 96 3a c8 93  |6"AB$=.(5):..:..|
00003150  c8 90 31 30 30 30 2c 6c  25 2c 32 35 36 2c 34 34  |..1000,l%,256,44|
00003160  0d 10 40 05 ed 0d 10 4a  45 c8 99 26 32 45 2c 32  |..@....JE..&2E,2|
00003170  39 30 2c 73 70 72 25 2c  22 53 70 68 65 72 65 22  |90,spr%,"Sphere"|
00003180  2c 39 33 30 2c 30 3a c8  99 26 32 45 2c 32 39 30  |,930,0:..&2E,290|
00003190  2c 73 70 72 25 2c 22 41  72 63 68 57 6f 72 6c 64  |,spr%,"ArchWorld|
000031a0  22 2c 39 34 30 2c 32 30  2c 38 0d 10 54 05 e1 0d  |",940,20,8..T...|
000031b0  10 5e 0e dd f2 68 69 73  63 6f 72 65 73 0d 10 68  |.^...hiscores..h|
000031c0  06 ea 85 0d 10 72 40 ee  85 e7 9f 3c 3e 31 37 8c  |.....r@....<>17.|
000031d0  f2 65 72 72 6f 72 3a e0  20 8b ff 28 22 43 4c 4f  |.error:. ..("CLO|
000031e0  53 45 22 29 3a eb 30 3a  f1 22 47 6f 6f 64 62 79  |SE"):.0:."Goodby|
000031f0  65 21 22 3a f2 63 6c 65  61 72 3a 2a 44 45 53 4b  |e!":.clear:*DESK|
00003200  54 4f 50 0d 10 7c 24 66  69 6c 65 25 3d ad 28 22  |TOP..|$file%=.("|
00003210  3c 52 65 61 63 74 69 6f  6e 24 44 69 72 3e 2e 53  |<Reaction$Dir>.S|
00003220  63 6f 72 65 73 22 29 0d  10 86 30 e3 6c 25 3d 30  |cores")...0.l%=0|
00003230  b8 39 3a e8 23 66 69 6c  65 25 2c 68 69 24 28 6c  |.9:.#file%,hi$(l|
00003240  25 29 2c 68 69 25 28 6c  25 29 2c 6c 65 76 65 6c  |%),hi%(l%),level|
00003250  25 28 6c 25 29 3a ed 0d  10 90 15 69 6e 25 3d a3  |%(l%):.....in%=.|
00003260  3a 75 70 64 61 74 65 25  3d b9 3a f5 0d 10 9a 2b  |:update%=.:....+|
00003270  db 3a 87 3a c8 99 26 32  45 2c 32 39 30 2c 73 70  |.:.:..&2E,290,sp|
00003280  72 25 2c 22 48 69 67 68  53 63 6f 72 65 73 22 2c  |r%,"HighScores",|
00003290  33 30 30 2c 38 38 30 0d  10 a4 20 f1 8a 30 2c 36  |300,880... ..0,6|
000032a0  29 3b 3a 76 25 3d 30 3a  e7 53 25 3d 30 8c 53 25  |);:v%=0:.S%=0.S%|
000032b0  3d 79 6f 75 72 73 25 0d  10 ae 0b e3 72 25 3d 30  |=yours%.....r%=0|
000032c0  b8 39 0d 10 b8 a6 e7 75  70 64 61 74 65 25 3a e7  |.9.....update%:.|
000032d0  53 25 3e 68 69 25 28 72  25 29 80 72 25 3c 39 80  |S%>hi%(r%).r%<9.|
000032e0  ac 69 6e 25 8c e3 6c 25  3d 38 b8 72 25 88 2d 31  |.in%..l%=8.r%.-1|
000032f0  3a 68 69 25 28 6c 25 2b  31 29 3d 68 69 25 28 6c  |:hi%(l%+1)=hi%(l|
00003300  25 29 3a 68 69 24 28 6c  25 2b 31 29 3d 68 69 24  |%):hi$(l%+1)=hi$|
00003310  28 6c 25 29 3a 6c 65 76  65 6c 25 28 6c 25 2b 31  |(l%):level%(l%+1|
00003320  29 3d 6c 65 76 65 6c 25  28 6c 25 29 3a ed 6c 25  |)=level%(l%):.l%|
00003330  3a 68 69 25 28 72 25 29  3d 53 25 3a 68 69 24 28  |:hi%(r%)=S%:hi$(|
00003340  72 25 29 3d 22 22 3a 6c  65 76 65 6c 25 28 72 25  |r%)="":level%(r%|
00003350  29 3d 4c 45 56 25 3a 76  25 3d bc 3a 76 32 25 3d  |)=LEV%:v%=.:v2%=|
00003360  72 25 3a 69 6e 25 3d b9  0d 10 c2 54 e7 75 70 64  |r%:in%=....T.upd|
00003370  61 74 65 25 3a e7 53 25  3e 68 69 25 28 72 25 29  |ate%:.S%>hi%(r%)|
00003380  80 ac 69 6e 25 8c 68 69  24 28 72 25 29 3d 22 22  |..in%.hi$(r%)=""|
00003390  3a 68 69 25 28 72 25 29  3d 53 25 3a 6c 65 76 65  |:hi%(r%)=S%:leve|
000033a0  6c 25 28 72 25 29 3d 4c  45 56 25 3a 76 25 3d bc  |l%(r%)=LEV%:v%=.|
000033b0  3a 76 32 25 3d 39 3a 69  6e 25 3d b9 0d 10 cc 6a  |:v2%=9:in%=....j|
000033c0  fb 31 39 c8 9c 32 35 35  3a f1 8a 31 2d 28 72 25  |.19..255:..1-(r%|
000033d0  81 39 29 29 c3 28 72 25  2b 31 29 3b 22 29 20 22  |.9)).(r%+1);") "|
000033e0  3b 3a fb 33 c8 9c 32 35  35 3a f1 68 69 24 28 72  |;:.3..255:.hi$(r|
000033f0  25 29 3b 3a fb 34 38 c8  9c 32 35 35 3a f1 8a 33  |%);:.48..255:..3|
00003400  31 29 3b 6c 65 76 65 6c  25 28 72 25 29 3b 3a fb  |1);level%(r%);:.|
00003410  31 35 c8 9c 32 35 35 3a  f1 8a 33 34 29 3b 68 69  |15..255:..34);hi|
00003420  25 28 72 25 29 27 0d 10  d6 05 ed 0d 10 e0 09 76  |%(r%)'.........v|
00003430  33 25 3d bc 0d 10 ea 11  e7 69 6e 25 80 75 70 64  |3%=......in%.upd|
00003440  61 74 65 25 8c 0d 10 f4  29 ee 3a fb 31 31 c8 9c  |ate%....).:.11..|
00003450  32 35 35 3a 68 69 24 28  76 32 25 29 3d a4 69 6e  |255:hi$(v2%)=.in|
00003460  70 75 74 28 34 2c 76 25  2c 32 36 29 3a 87 0d 10  |put(4,v%,26):...|
00003470  fe 0d f1 8a 30 2c 76 33  25 29 3b 0d 11 08 05 cc  |....0,v3%);.....|
00003480  0d 11 12 2e e7 ac 69 6e  25 3a fb 36 33 c8 9c 30  |......in%:.63..0|
00003490  3a f1 27 22 28 59 6f 75  72 20 73 63 6f 72 65 3a  |:.'"(Your score:|
000034a0  20 22 3b c3 79 6f 75 72  73 25 3b 22 29 22 0d 11  | ";.yours%;")"..|
000034b0  1c 05 cd 0d 11 26 18 e7  75 70 64 61 74 65 25 80  |.....&..update%.|
000034c0  53 25 3e 3d 68 69 25 28  39 29 8c 0d 11 30 0d cf  |S%>=hi%(9)...0..|
000034d0  23 66 69 6c 65 25 3d 30  0d 11 3a c2 f4 4f 4e 45  |#file%=0..:..ONE|
000034e0  52 52 4f 52 50 52 49 4e  54 22 44 69 73 63 20 65  |RRORPRINT"Disc e|
000034f0  72 72 6f 72 3a 20 52 65  6d 6f 76 65 20 70 72 6f  |rror: Remove pro|
00003500  67 72 61 6d 20 66 72 6f  6d 20 41 72 63 46 53 22  |gram from ArcFS"|
00003510  27 22 61 72 63 68 69 76  65 20 6f 72 20 72 65 6d  |'"archive or rem|
00003520  6f 76 65 20 77 72 69 74  65 2d 70 72 6f 74 65 63  |ove write-protec|
00003530  74 69 6f 6e 22 27 22 66  72 6f 6d 20 64 69 73 63  |tion"'"from disc|
00003540  2e 20 28 4f 72 20 72 65  61 63 63 65 73 73 20 66  |. (Or reaccess f|
00003550  69 6c 65 29 22 27 22 48  69 67 68 73 63 6f 72 65  |ile)"'"Highscore|
00003560  20 6e 6f 74 20 73 61 76  65 64 2e 20 3c 50 72 65  | not saved. <Pre|
00003570  73 73 20 61 20 6b 65 79  3e 22 3a 4f 53 43 4c 49  |ss a key>":OSCLI|
00003580  28 22 46 58 32 31 2c 30  22 29 3a 41 24 3d 47 45  |("FX21,0"):A$=GE|
00003590  54 24 3a 47 4f 54 4f 32  32 30 0d 11 3f b2 ee 85  |T$:GOTO220..?...|
000035a0  fb 36 31 c8 9c 32 35 35  3a f1 27 27 8a 36 29 22  |.61..255:.''.6)"|
000035b0  50 72 65 73 73 20 61 20  6b 65 79 20 74 6f 20 73  |Press a key to s|
000035c0  74 61 72 74 20 61 67 61  69 6e 21 22 3b 3a 4c 45  |tart again!";:LE|
000035d0  56 25 3d 31 3a ff 28 22  46 58 32 31 22 29 3a 41  |V%=1:.("FX21"):A|
000035e0  24 3d bf 28 31 31 35 30  29 3a e7 41 24 3c 3e 22  |$=.(1150):.A$<>"|
000035f0  22 8c e5 8d 64 5c 40 20  8b e6 30 c8 9c 30 3a e3  |"...d\@ ..0..0:.|
00003600  79 25 3d 30 b8 32 38 88  34 3a e3 79 32 25 3d 31  |y%=0.28.4:.y2%=1|
00003610  30 32 34 b8 30 88 2d 33  32 3a ec 30 2c 79 25 2b  |024.0.-32:.0,y%+|
00003620  79 32 25 3a df 31 32 38  30 2c 79 25 2b 79 32 25  |y2%:.1280,y%+y2%|
00003630  3a ed 3a 41 24 3d bf 28  35 29 3a ed 3a f2 69 6e  |:.:A$=.(5):.:.in|
00003640  73 74 72 75 63 74 3a e5  8d 64 5c 40 0d 11 44 0b  |struct:..d\@..D.|
00003650  e3 6c 25 3d 30 b8 39 0d  11 4e 26 f1 23 66 69 6c  |.l%=0.9..N&.#fil|
00003660  65 25 2c 68 69 24 28 6c  25 29 2c 68 69 25 28 6c  |e%,hi$(l%),hi%(l|
00003670  25 29 2c 6c 65 76 65 6c  25 28 6c 25 29 0d 11 58  |%),level%(l%)..X|
00003680  05 ed 0d 11 62 0e ee 85  f2 65 72 72 6f 72 3a e0  |....b....error:.|
00003690  0d 11 6c 05 cd 0d 11 76  14 e7 75 70 64 61 74 65  |..l....v..update|
000036a0  25 8c d9 23 66 69 6c 65  25 0d 11 80 31 fb 36 31  |%..#file%...1.61|
000036b0  c8 9c 32 35 35 3a f1 27  27 8a 36 29 22 50 72 65  |..255:.''.6)"Pre|
000036c0  73 73 20 61 20 6b 65 79  20 74 6f 20 73 74 61 72  |ss a key to star|
000036d0  74 20 61 67 61 69 6e 21  22 3b 0d 11 8a 12 4c 45  |t again!";....LE|
000036e0  56 25 3d 31 3a 2a 46 58  32 31 2c 30 0d 11 94 0d  |V%=1:*FX21,0....|
000036f0  41 24 3d bf 28 31 35 30  29 0d 11 9e 11 e7 41 24  |A$=.(150).....A$|
00003700  3c 3e 22 22 8c fd 2d 31  3a e1 0d 11 a8 06 ea 85  |<>""..-1:.......|
00003710  0d 11 b2 0d ee 85 f2 65  72 72 6f 72 32 0d 11 bc  |.......error2...|
00003720  0e 41 24 3d bf 28 31 30  30 30 29 0d 11 c6 11 e7  |.A$=.(1000).....|
00003730  41 24 3c 3e 22 22 8c fd  2d 31 3a e1 0d 11 d0 06  |A$<>""..-1:.....|
00003740  ea 85 0d 11 da 0b ee 85  e5 8d 64 5c 40 0d 11 e4  |..........d\@...|
00003750  47 e6 30 c8 9c 30 3a e3  79 25 3d 30 b8 32 38 88  |G.0..0:.y%=0.28.|
00003760  34 3a e3 79 32 25 3d 31  30 32 34 b8 30 88 2d 33  |4:.y2%=1024.0.-3|
00003770  32 3a ec 30 2c 79 25 2b  79 32 25 3a df 31 32 38  |2:.0,y%+y2%:.128|
00003780  30 2c 79 25 2b 79 32 25  3a ed 3a 41 24 3d bf 28  |0,y%+y2%:.:A$=.(|
00003790  35 29 3a ed 0d 11 ee 17  f2 69 6e 73 74 72 75 63  |5):......instruc|
000037a0  74 3a 75 70 64 61 74 65  25 3d a3 0d 11 f8 06 fd  |t:update%=......|
000037b0  30 0d 12 02 05 e1 0d 12  0c 0c dd f2 65 72 72 6f  |0...........erro|
000037c0  72 32 0d 12 16 0e ee 85  2a 44 45 53 4b 54 4f 50  |r2......*DESKTOP|
000037d0  0d 12 20 0a f2 63 6c 65  61 72 0d 12 2a 0c 2a 44  |.. ..clear..*.*D|
000037e0  45 53 4b 54 4f 50 0d 12  34 05 e1 0d 12 3e 17 dd  |ESKTOP..4....>..|
000037f0  a4 69 6e 70 75 74 28 78  25 2c 79 25 2c 6c 65 6e  |.input(x%,y%,len|
00003800  25 29 0d 12 48 29 fb 36  33 c8 9c 32 35 35 3a f1  |%)..H).63..255:.|
00003810  8a 78 25 2c 79 25 29 3b  c4 6c 65 6e 25 2c 22 2e  |.x%,y%);.len%,".|
00003820  22 29 3b 8a 78 25 2c 79  25 29 3b 0d 12 52 0b 67  |");.x%,y%);..R.g|
00003830  65 74 24 3d 22 22 0d 12  5c 05 f5 0d 12 66 08 61  |et$=""..\....f.a|
00003840  25 3d a5 0d 12 70 3b e7  61 25 3d 38 84 61 25 3d  |%=...p;.a%=8.a%=|
00003850  31 32 37 80 a9 28 67 65  74 24 29 3e 30 8c 67 65  |127..(get$)>0.ge|
00003860  74 24 3d c0 67 65 74 24  29 3a fb 36 33 c8 9c 32  |t$=.get$):.63..2|
00003870  35 35 3a f1 bd 38 3b 22  2e 22 3b bd 38 3b 0d 12  |55:..8;".";.8;..|
00003880  7a 3d e7 28 61 25 3e 33  31 80 61 25 3c 31 32 37  |z=.(a%>31.a%<127|
00003890  29 80 a9 28 67 65 74 24  29 3c 6c 65 6e 25 8c 67  |)..(get$)<len%.g|
000038a0  65 74 24 3d 67 65 74 24  2b bd 61 25 3a fb 31 31  |et$=get$+.a%:.11|
000038b0  c8 9c 32 35 35 3a f1 bd  61 25 3b 0d 12 84 0a fd  |..255:..a%;.....|
000038c0  61 25 3d 31 33 0d 12 8e  14 f1 89 28 6c 65 6e 25  |a%=13......(len%|
000038d0  2d a9 28 67 65 74 24 29  29 0d 12 98 09 3d 67 65  |-.(get$))....=ge|
000038e0  74 24 0d 12 a2 0b dd f2  63 6c 65 61 72 0d 12 ac  |t$......clear...|
000038f0  07 ee 85 87 0d 12 b6 14  2a 41 4c 50 48 41 42 45  |........*ALPHABE|
00003900  54 20 4c 61 74 69 6e 31  0d 12 c0 13 2a 52 4d 4b  |T Latin1....*RMK|
00003910  49 4c 4c 20 54 68 75 6e  64 65 72 0d 12 ca 11 2a  |ILL Thunder....*|
00003920  52 4d 4b 49 4c 4c 20 4c  61 75 67 68 0d 12 d4 10  |RMKILL Laugh....|
00003930  2a 52 4d 4b 49 4c 4c 20  50 69 6e 67 0d 12 de 14  |*RMKILL Ping....|
00003940  2a 52 4d 4b 49 4c 4c 20  52 65 61 63 74 69 6f 6e  |*RMKILL Reaction|
00003950  0d 12 e8 14 2a 52 4d 4b  49 4c 4c 20 47 61 6d 65  |....*RMKILL Game|
00003960  4f 76 65 72 0d 12 f2 11  2a 52 4d 4b 49 4c 4c 20  |Over....*RMKILL |
00003970  4d 61 67 69 63 0d 12 fc  1e c8 99 22 4f 53 5f 42  |Magic......"OS_B|
00003980  79 74 65 22 2c 31 31 2c  72 65 70 65 61 74 72 61  |yte",11,repeatra|
00003990  74 65 25 0d 13 06 05 e1  0d 13 10 05 3a 0d 13 1a  |te%.........:...|
000039a0  0e dd f2 69 6e 73 74 72  75 63 74 0d 13 24 13 eb  |...instruct..$..|
000039b0  31 33 3a 87 3a f2 64 28  32 35 29 3a ef 35 0d 13  |13:.:.d(25):.5..|
000039c0  2e 12 e3 6c 25 3d 2d 32  30 30 b8 38 32 34 88 34  |...l%=-200.824.4|
000039d0  0d 13 38 22 c8 99 26 32  45 2c 32 39 30 2c 73 70  |..8"..&2E,290,sp|
000039e0  72 25 2c 22 53 63 72 65  65 6e 22 2c 34 31 35 2c  |r%,"Screen",415,|
000039f0  6c 25 0d 13 42 05 ed 0d  13 4c 0b f2 64 28 31 35  |l%..B....L..d(15|
00003a00  30 29 0d 13 56 1e f2 74  28 22 49 6e 73 74 72 75  |0)..V..t("Instru|
00003a10  63 74 69 6f 6e 73 22 2c  33 2c 30 2c 30 2c 37 29  |ctions",3,0,0,7)|
00003a20  0d 13 60 0b f2 64 28 31  35 30 29 0d 13 6a 24 f2  |..`..d(150)..j$.|
00003a30  74 28 22 54 6f 20 62 65  67 69 6e 20 74 68 65 20  |t("To begin the |
00003a40  67 61 6d 65 22 2c 33 2c  33 2c 30 2c 31 33 29 0d  |game",3,3,0,13).|
00003a50  13 74 2e f2 74 28 22 70  72 65 73 73 20 3c 45 53  |.t..t("press <ES|
00003a60  43 41 50 45 3e 20 61 74  20 61 6e 79 20 74 69 6d  |CAPE> at any tim|
00003a70  65 2e 22 2c 33 2c 33 2c  30 2c 31 34 29 0d 13 7e  |e.",3,3,0,14)..~|
00003a80  0b f2 64 28 32 35 30 29  0d 13 88 24 f2 75 28 22  |..d(250)...$.u("|
00003a90  54 6f 20 62 65 67 69 6e  20 74 68 65 20 67 61 6d  |To begin the gam|
00003aa0  65 22 2c 33 2c 33 2c 30  2c 31 33 29 0d 13 92 2e  |e",3,3,0,13)....|
00003ab0  f2 75 28 22 70 72 65 73  73 20 3c 45 53 43 41 50  |.u("press <ESCAP|
00003ac0  45 3e 20 61 74 20 61 6e  79 20 74 69 6d 65 2e 22  |E> at any time."|
00003ad0  2c 33 2c 33 2c 30 2c 31  34 29 0d 13 9c 0a f2 64  |,3,3,0,14).....d|
00003ae0  28 35 30 29 0d 13 a6 38  f2 74 28 22 54 69 6c 65  |(50)...8.t("Tile|
00003af0  73 20 66 61 6c 6c 20 66  72 6f 6d 20 74 68 65 20  |s fall from the |
00003b00  74 6f 70 20 6f 66 20 74  68 65 20 73 63 72 65 65  |top of the scree|
00003b10  6e 22 2c 30 2c 33 2c 30  2c 31 30 29 0d 13 b0 39  |n",0,3,0,10)...9|
00003b20  f2 74 28 22 69 6e 74 6f  20 74 68 65 20 62 75 63  |.t("into the buc|
00003b30  6b 65 74 20 62 65 6c 6f  77 2e 20 47 75 69 64 65  |ket below. Guide|
00003b40  20 74 68 65 20 74 69 6c  65 73 22 2c 30 2c 33 2c  | the tiles",0,3,|
00003b50  30 2c 31 31 29 0d 13 ba  33 f2 74 28 22 62 79 20  |0,11)...3.t("by |
00003b60  70 72 65 73 73 69 6e 67  20 74 68 65 20 66 6f 6c  |pressing the fol|
00003b70  6c 6f 77 69 6e 67 20 6b  65 79 73 3a 2d 22 2c 30  |lowing keys:-",0|
00003b80  2c 33 2c 30 2c 31 32 29  0d 13 c4 0b f2 64 28 31  |,3,0,12).....d(1|
00003b90  35 30 29 0d 13 ce 27 f2  74 28 22 3c 22 2b 6c 65  |50)...'.t("<"+le|
00003ba0  66 74 24 2b 22 3e 20 66  6f 72 20 6c 65 66 74 22  |ft$+"> for left"|
00003bb0  2c 33 2c 30 2c 33 2c 31  35 29 0d 13 d8 29 f2 74  |,3,0,3,15)...).t|
00003bc0  28 22 3c 22 2b 72 69 67  68 74 24 2b 22 3e 20 66  |("<"+right$+"> f|
00003bd0  6f 72 20 72 69 67 68 74  22 2c 33 2c 30 2c 33 2c  |or right",3,0,3,|
00003be0  31 36 29 0d 13 e2 2a f2  74 28 22 3c 22 2b 72 6f  |16)...*.t("<"+ro|
00003bf0  74 61 74 65 24 2b 22 3e  20 74 6f 20 72 6f 74 61  |tate$+"> to rota|
00003c00  74 65 22 2c 33 2c 30 2c  33 2c 31 37 29 0d 13 ec  |te",3,0,3,17)...|
00003c10  26 f2 74 28 22 3c 22 2b  64 72 6f 70 24 2b 22 3e  |&.t("<"+drop$+">|
00003c20  20 74 6f 20 64 72 6f 70  22 2c 33 2c 30 2c 33 2c  | to drop",3,0,3,|
00003c30  31 38 29 0d 13 f6 0b f2  64 28 31 35 30 29 0d 14  |18).....d(150)..|
00003c40  00 28 f2 74 28 22 3c 22  2b 70 61 75 73 65 24 2b  |.(.t("<"+pause$+|
00003c50  22 3e 20 74 6f 20 70 61  75 73 65 22 2c 30 2c 30  |"> to pause",0,0|
00003c60  2c 33 2c 32 30 29 0d 14  0a 0b f2 64 28 35 30 30  |,3,20).....d(500|
00003c70  29 0d 14 14 33 f2 74 28  22 50 72 65 73 73 20 3c  |)...3.t("Press <|
00003c80  45 53 43 41 50 45 3e 20  74 6f 20 73 74 61 72 74  |ESCAPE> to start|
00003c90  20 74 68 65 20 67 61 6d  65 22 2c 33 2c 33 2c 31  | the game",3,3,1|
00003ca0  2c 33 30 29 0d 14 1e 09  f2 77 69 70 65 0d 14 28  |,30).....wipe..(|
00003cb0  33 f2 74 28 22 54 69 6c  65 73 20 66 61 6c 6c 20  |3.t("Tiles fall |
00003cc0  69 6e 20 76 65 72 74 69  63 61 6c 20 62 6c 6f 63  |in vertical bloc|
00003cd0  6b 73 20 6f 66 22 2c 30  2c 33 2c 33 2c 31 30 29  |ks of",0,3,3,10)|
00003ce0  0d 14 32 34 f2 74 28 22  74 68 72 65 65 20 61 74  |..24.t("three at|
00003cf0  20 61 20 74 69 6d 65 2e  20 52 6f 74 61 74 69 6e  | a time. Rotatin|
00003d00  67 20 61 20 62 6c 6f 63  6b 22 2c 30 2c 33 2c 33  |g a block",0,3,3|
00003d10  2c 31 31 29 0d 14 3c 34  f2 74 28 22 73 68 75 66  |,11)..<4.t("shuf|
00003d20  66 6c 65 73 20 65 61 63  68 20 74 69 6c 65 20 75  |fles each tile u|
00003d30  70 77 61 72 64 73 20 69  6e 20 74 68 65 22 2c 30  |pwards in the",0|
00003d40  2c 33 2c 33 2c 31 32 29  0d 14 46 38 f2 74 28 22  |,3,3,12)..F8.t("|
00003d50  63 6f 6c 75 6d 6e 2c 20  61 6e 64 20 6d 6f 76 65  |column, and move|
00003d60  73 20 74 68 65 20 68 69  67 68 65 73 74 20 74 69  |s the highest ti|
00003d70  6c 65 20 74 6f 22 2c 30  2c 33 2c 33 2c 31 33 29  |le to",0,3,3,13)|
00003d80  0d 14 50 35 f2 74 28 22  74 68 65 20 62 6f 74 74  |..P5.t("the bott|
00003d90  6f 6d 20 6f 66 20 74 68  65 20 62 6c 6f 63 6b 2e  |om of the block.|
00003da0  20 50 72 65 73 73 20 74  68 65 22 2c 30 2c 33 2c  | Press the",0,3,|
00003db0  33 2c 31 34 29 0d 14 5a  36 f2 74 28 22 72 6f 74  |3,14)..Z6.t("rot|
00003dc0  61 74 65 20 6b 65 79 20  72 65 70 65 61 74 65 64  |ate key repeated|
00003dd0  6c 79 20 74 6f 20 72 6f  74 61 74 65 20 74 68 65  |ly to rotate the|
00003de0  22 2c 30 2c 33 2c 33 2c  31 35 29 0d 14 64 28 f2  |",0,3,3,15)..d(.|
00003df0  74 28 22 62 6c 6f 63 6b  20 6d 6f 72 65 20 74 68  |t("block more th|
00003e00  61 6e 20 6f 6e 63 65 2e  22 2c 30 2c 33 2c 33 2c  |an once.",0,3,3,|
00003e10  31 36 29 0d 14 6e 0b f2  64 28 37 30 30 29 0d 14  |16)..n..d(700)..|
00003e20  78 09 f2 77 69 70 65 0d  14 82 37 f2 74 28 22 4d  |x..wipe...7.t("M|
00003e30  61 6b 65 20 6c 69 6e 65  73 20 6f 66 20 74 68 72  |ake lines of thr|
00003e40  65 65 20 6f 72 20 6d 6f  72 65 20 74 69 6c 65 73  |ee or more tiles|
00003e50  20 74 6f 22 2c 33 2c 32  2c 30 2c 31 30 29 0d 14  | to",3,2,0,10)..|
00003e60  8c 38 f2 74 28 22 73 63  6f 72 65 20 70 6f 69 6e  |.8.t("score poin|
00003e70  74 73 2e 20 43 6f 6d 70  6c 65 74 65 20 6c 69 6e  |ts. Complete lin|
00003e80  65 73 20 61 72 65 20 74  68 65 6e 22 2c 33 2c 32  |es are then",3,2|
00003e90  2c 30 2c 31 31 29 0d 14  96 33 f2 74 28 22 72 65  |,0,11)...3.t("re|
00003ea0  6d 6f 76 65 64 20 66 72  6f 6d 20 74 68 65 20 67  |moved from the g|
00003eb0  72 69 64 2e 20 54 68 69  73 20 69 73 20 61 22 2c  |rid. This is a",|
00003ec0  33 2c 32 2c 30 2c 31 32  29 0d 14 a0 22 f2 74 28  |3,2,0,12)...".t(|
00003ed0  22 52 20 45 20 41 20 43  20 54 20 49 20 4f 20 4e  |"R E A C T I O N|
00003ee0  22 2c 33 2c 30 2c 30 2c  31 34 29 0d 14 aa 0b f2  |",3,0,0,14).....|
00003ef0  64 28 34 30 30 29 0d 14  b4 09 f2 77 69 70 65 0d  |d(400).....wipe.|
00003f00  14 be 3a f2 74 28 22 54  68 65 20 6c 6f 6e 67 65  |..:.t("The longe|
00003f10  72 20 74 68 65 20 6c 69  6e 65 20 74 68 65 20 6d  |r the line the m|
00003f20  6f 72 65 20 70 6f 69 6e  74 73 20 79 6f 75 22 2c  |ore points you",|
00003f30  31 2c 31 2c 33 2c 31 30  29 0d 14 c8 3a f2 74 28  |1,1,3,10)...:.t(|
00003f40  22 73 63 6f 72 65 20 61  6e 64 20 74 68 65 20 66  |"score and the f|
00003f50  61 73 74 65 72 20 74 69  6c 65 73 20 61 72 65 20  |aster tiles are |
00003f60  72 65 6d 6f 76 65 64 2e  22 2c 31 2c 31 2c 33 2c  |removed.",1,1,3,|
00003f70  31 31 29 0d 14 d2 38 f2  74 28 22 59 6f 75 20 63  |11)...8.t("You c|
00003f80  61 6e 20 70 6f 73 69 74  69 6f 6e 20 74 69 6c 65  |an position tile|
00003f90  73 20 74 6f 20 72 65 6d  6f 76 65 20 6d 6f 72 65  |s to remove more|
00003fa0  22 2c 31 2c 31 2c 33 2c  31 33 29 0d 14 dc 3a f2  |",1,1,3,13)...:.|
00003fb0  74 28 22 74 68 61 6e 20  6f 6e 65 20 6c 69 6e 65  |t("than one line|
00003fc0  20 61 74 20 61 20 74 69  6d 65 2e 20 4f 6e 63 65  | at a time. Once|
00003fd0  20 74 69 6c 65 73 20 61  72 65 22 2c 31 2c 31 2c  | tiles are",1,1,|
00003fe0  33 2c 31 34 29 0d 14 e6  3a f2 74 28 22 72 65 6d  |3,14)...:.t("rem|
00003ff0  6f 76 65 64 20 74 68 65  20 72 65 73 74 20 6f 66  |oved the rest of|
00004000  20 74 68 65 20 74 69 6c  65 73 20 66 61 6c 6c 20  | the tiles fall |
00004010  64 6f 77 6e 22 2c 31 2c  31 2c 33 2c 31 35 29 0d  |down",1,1,3,15).|
00004020  14 f0 27 f2 74 28 22 74  6f 20 74 61 6b 65 20 74  |..'.t("to take t|
00004030  68 65 69 72 20 70 6c 61  63 65 2e 22 2c 31 2c 31  |heir place.",1,1|
00004040  2c 33 2c 31 36 29 0d 14  fa 0b f2 64 28 37 30 30  |,3,16).....d(700|
00004050  29 0d 15 04 09 f2 77 69  70 65 0d 15 0e 35 f2 74  |).....wipe...5.t|
00004060  28 22 59 6f 75 20 73 63  6f 72 65 20 73 6c 69 67  |("You score slig|
00004070  68 74 6c 79 20 6d 6f 72  65 20 70 6f 69 6e 74 73  |htly more points|
00004080  20 66 6f 72 22 2c 32 2c  31 2c 30 2c 31 30 29 0d  | for",2,1,0,10).|
00004090  15 18 33 f2 74 28 22 68  6f 72 69 7a 6f 6e 74 61  |..3.t("horizonta|
000040a0  6c 20 6c 69 6e 65 73 20  74 68 61 6e 20 79 6f 75  |l lines than you|
000040b0  20 64 6f 20 66 6f 72 22  2c 32 2c 31 2c 30 2c 31  | do for",2,1,0,1|
000040c0  31 29 0d 15 22 37 f2 74  28 22 76 65 72 74 69 63  |1).."7.t("vertic|
000040d0  61 6c 20 6c 69 6e 65 73  2e 20 44 69 61 67 6f 6e  |al lines. Diagon|
000040e0  61 6c 20 6c 69 6e 65 73  20 73 63 6f 72 65 22 2c  |al lines score",|
000040f0  32 2c 31 2c 30 2c 31 32  29 0d 15 2c 35 f2 74 28  |2,1,0,12)..,5.t(|
00004100  22 71 75 69 74 65 20 61  20 66 65 77 20 70 6f 69  |"quite a few poi|
00004110  6e 74 73 20 6d 6f 72 65  2e 20 54 68 65 20 65 78  |nts more. The ex|
00004120  61 63 74 22 2c 32 2c 31  2c 30 2c 31 33 29 0d 15  |act",2,1,0,13)..|
00004130  36 33 f2 74 28 22 61 6d  6f 75 6e 74 20 79 6f 75  |63.t("amount you|
00004140  20 73 63 6f 72 65 20 64  65 70 65 6e 64 73 20 6f  | score depends o|
00004150  6e 20 79 6f 75 72 22 2c  32 2c 31 2c 30 2c 31 34  |n your",2,1,0,14|
00004160  29 0d 15 40 1f f2 74 28  22 73 6b 69 6c 6c 20 6c  |)..@..t("skill l|
00004170  65 76 65 6c 2e 22 2c 32  2c 31 2c 30 2c 31 35 29  |evel.",2,1,0,15)|
00004180  0d 15 4a 0b f2 64 28 36  35 30 29 0d 15 54 09 f2  |..J..d(650)..T..|
00004190  77 69 70 65 0d 15 5e 38  f2 74 28 22 57 68 65 6e  |wipe..^8.t("When|
000041a0  20 31 30 30 20 74 69 6c  65 73 20 68 61 76 65 20  | 100 tiles have |
000041b0  62 65 65 6e 20 72 65 6d  6f 76 65 64 20 66 72 6f  |been removed fro|
000041c0  6d 22 2c 33 2c 33 2c 30  2c 31 30 29 0d 15 68 3a  |m",3,3,0,10)..h:|
000041d0  f2 74 28 22 74 68 65 20  62 75 63 6b 65 74 20 79  |.t("the bucket y|
000041e0  6f 75 20 77 69 6c 6c 20  6d 6f 76 65 20 6f 6e 20  |ou will move on |
000041f0  74 6f 20 74 68 65 20 6e  65 78 74 22 2c 33 2c 33  |to the next",3,3|
00004200  2c 30 2c 31 31 29 0d 15  72 38 f2 74 28 22 6c 65  |,0,11)..r8.t("le|
00004210  76 65 6c 2c 20 77 68 65  72 65 20 74 68 65 20 74  |vel, where the t|
00004220  69 6c 65 73 20 77 69 6c  6c 20 66 61 6c 6c 20 6d  |iles will fall m|
00004230  6f 72 65 22 2c 33 2c 33  2c 30 2c 31 32 29 0d 15  |ore",3,3,0,12)..|
00004240  7c 36 f2 74 28 22 71 75  69 63 6b 6c 79 2e 20 41  ||6.t("quickly. A|
00004250  6c 73 6f 20 74 68 65 69  72 20 61 70 70 65 61 72  |lso their appear|
00004260  61 6e 63 65 20 77 69 6c  6c 22 2c 33 2c 33 2c 30  |ance will",3,3,0|
00004270  2c 31 33 29 0d 15 86 34  f2 74 28 22 63 68 61 6e  |,13)...4.t("chan|
00004280  67 65 2e 20 54 68 69 73  20 63 61 6e 20 63 6f 6e  |ge. This can con|
00004290  66 75 73 65 20 6d 61 74  74 65 72 73 21 22 2c 33  |fuse matters!",3|
000042a0  2c 33 2c 30 2c 31 34 29  0d 15 90 0b f2 64 28 36  |,3,0,14).....d(6|
000042b0  30 30 29 0d 15 9a 09 f2  77 69 70 65 0d 15 a4 36  |00).....wipe...6|
000042c0  f2 74 28 22 57 68 65 6e  20 79 6f 75 20 73 74 61  |.t("When you sta|
000042d0  72 74 20 74 68 65 20 67  61 6d 65 20 79 6f 75 20  |rt the game you |
000042e0  77 69 6c 6c 20 62 65 22  2c 33 2c 32 2c 32 2c 31  |will be",3,2,2,1|
000042f0  30 29 0d 15 ae 39 f2 74  28 22 61 73 6b 65 64 20  |0)...9.t("asked |
00004300  74 6f 20 63 68 6f 6f 73  65 20 61 20 73 6b 69 6c  |to choose a skil|
00004310  6c 20 6c 65 76 65 6c 2e  20 50 72 65 73 73 20 61  |l level. Press a|
00004320  22 2c 33 2c 32 2c 32 2c  31 31 29 0d 15 b8 38 f2  |",3,2,2,11)...8.|
00004330  74 28 22 6e 75 6d 62 65  72 20 66 72 6f 6d 20 30  |t("number from 0|
00004340  2d 39 20 74 6f 20 63 68  6f 6f 73 65 2c 20 77 68  |-9 to choose, wh|
00004350  65 72 65 20 30 20 69 73  22 2c 33 2c 32 2c 32 2c  |ere 0 is",3,2,2,|
00004360  31 32 29 0d 15 c2 37 f2  74 28 22 73 6b 69 6c 6c  |12)...7.t("skill|
00004370  20 6c 65 76 65 6c 20 31  30 2e 20 59 6f 75 72 20  | level 10. Your |
00004380  73 6b 69 6c 6c 20 6c 65  76 65 6c 20 61 6e 64 22  |skill level and"|
00004390  2c 33 2c 32 2c 32 2c 31  33 29 0d 15 cc 2f f2 74  |,3,2,2,13).../.t|
000043a0  28 22 61 63 74 75 61 6c  20 6c 65 76 65 6c 20 61  |("actual level a|
000043b0  72 65 20 6e 6f 74 20 6c  69 6e 6b 65 64 2e 22 2c  |re not linked.",|
000043c0  33 2c 32 2c 32 2c 31 34  29 0d 15 d6 36 f2 74 28  |3,2,2,14)...6.t(|
000043d0  22 54 68 65 20 68 69 67  68 65 72 20 74 68 65 20  |"The higher the |
000043e0  6c 65 76 65 6c 20 79 6f  75 20 63 68 6f 6f 73 65  |level you choose|
000043f0  20 74 68 65 22 2c 33 2c  30 2c 32 2c 31 36 29 0d  | the",3,0,2,16).|
00004400  15 e0 36 f2 74 28 22 66  61 73 74 65 72 20 74 68  |..6.t("faster th|
00004410  65 20 74 69 6c 65 73 20  77 69 6c 6c 20 66 61 6c  |e tiles will fal|
00004420  6c 2c 20 62 75 74 20 74  68 65 22 2c 33 2c 30 2c  |l, but the",3,0,|
00004430  32 2c 31 37 29 0d 15 ea  2e f2 74 28 22 6d 6f 72  |2,17).....t("mor|
00004440  65 20 70 6f 69 6e 74 73  20 79 6f 75 20 77 69 6c  |e points you wil|
00004450  6c 20 73 63 6f 72 65 2e  22 2c 33 2c 30 2c 32 2c  |l score.",3,0,2,|
00004460  31 38 29 0d 15 f4 0c f2  64 28 31 30 30 30 29 0d  |18).....d(1000).|
00004470  15 fe 09 f2 77 69 70 65  0d 16 08 37 f2 74 28 22  |....wipe...7.t("|
00004480  4f 6e 63 65 20 61 6e 6f  74 68 65 72 20 74 69 6c  |Once another til|
00004490  65 20 77 69 6c 6c 20 6e  6f 74 20 66 69 74 20 69  |e will not fit i|
000044a0  6e 20 61 74 22 2c 30 2c  33 2c 30 2c 31 30 29 0d  |n at",0,3,0,10).|
000044b0  16 12 37 f2 74 28 22 74  68 65 20 74 6f 70 20 6f  |..7.t("the top o|
000044c0  66 20 74 68 65 20 67 72  69 64 20 74 68 65 6e 20  |f the grid then |
000044d0  74 68 65 20 67 61 6d 65  20 69 73 22 2c 30 2c 33  |the game is",0,3|
000044e0  2c 30 2c 31 31 29 0d 16  1c 39 f2 74 28 22 6f 76  |,0,11)...9.t("ov|
000044f0  65 72 2e 20 49 66 20 79  6f 75 72 20 73 63 6f 72  |er. If your scor|
00004500  65 20 69 73 20 68 69 67  68 20 65 6e 6f 75 67 68  |e is high enough|
00004510  20 79 6f 75 22 2c 30 2c  33 2c 30 2c 31 32 29 0d  | you",0,3,0,12).|
00004520  16 26 3a f2 74 28 22 6d  61 79 20 62 65 20 61 73  |.&:.t("may be as|
00004530  6b 65 64 20 74 6f 20 65  6e 74 65 72 20 79 6f 75  |ked to enter you|
00004540  72 20 6e 61 6d 65 20 66  6f 72 20 74 68 65 22 2c  |r name for the",|
00004550  30 2c 33 2c 30 2c 31 33  29 0d 16 30 37 f2 74 28  |0,3,0,13)..07.t(|
00004560  22 48 69 67 68 20 53 63  6f 72 65 20 74 61 62 6c  |"High Score tabl|
00004570  65 2c 20 77 68 69 63 68  20 69 73 20 73 74 6f 72  |e, which is stor|
00004580  65 64 20 6f 6e 22 2c 30  2c 33 2c 30 2c 31 34 29  |ed on",0,3,0,14)|
00004590  0d 16 3a 35 f2 74 28 22  64 69 73 63 2e 20 4f 74  |..:5.t("disc. Ot|
000045a0  68 65 72 77 69 73 65 20  79 6f 75 72 20 73 63 6f  |herwise your sco|
000045b0  72 65 20 77 69 6c 6c 20  62 65 22 2c 30 2c 33 2c  |re will be",0,3,|
000045c0  30 2c 31 35 29 0d 16 44  35 f2 74 28 22 64 69 73  |0,15)..D5.t("dis|
000045d0  70 6c 61 79 65 64 20 62  65 6e 65 61 74 68 20 74  |played beneath t|
000045e0  68 65 20 68 69 67 68 20  73 63 6f 72 65 73 2e 22  |he high scores."|
000045f0  2c 30 2c 33 2c 30 2c 31  36 29 0d 16 4e 0b f2 64  |,0,3,0,16)..N..d|
00004600  28 39 30 30 29 0d 16 58  09 f2 77 69 70 65 0d 16  |(900)..X..wipe..|
00004610  62 35 f2 74 28 22 59 6f  75 20 63 61 6e 20 63 68  |b5.t("You can ch|
00004620  61 6e 67 65 20 74 68 65  20 63 6f 6e 74 72 6f 6c  |ange the control|
00004630  20 6b 65 79 73 20 62 79  22 2c 33 2c 31 2c 33 2c  | keys by",3,1,3,|
00004640  31 30 29 0d 16 6c 35 f2  74 28 22 70 72 65 73 73  |10)..l5.t("press|
00004650  69 6e 67 20 3c 44 3e 20  77 68 65 6e 20 79 6f 75  |ing <D> when you|
00004660  20 61 72 65 20 61 73 6b  65 64 20 74 6f 22 2c 33  | are asked to",3|
00004670  2c 31 2c 33 2c 31 31 29  0d 16 76 28 f2 74 28 22  |,1,3,11)..v(.t("|
00004680  63 68 6f 6f 73 65 20 61  20 73 6b 69 6c 6c 20 6c  |choose a skill l|
00004690  65 76 65 6c 2e 22 2c 33  2c 31 2c 33 2c 31 32 29  |evel.",3,1,3,12)|
000046a0  0d 16 80 37 f2 74 28 22  41 6c 74 65 72 6e 61 74  |...7.t("Alternat|
000046b0  69 76 65 6c 79 2c 20 70  72 65 73 73 69 6e 67 20  |ively, pressing |
000046c0  3c 4f 3e 20 6c 65 74 73  20 79 6f 75 22 2c 32 2c  |<O> lets you",2,|
000046d0  33 2c 31 2c 31 34 29 0d  16 8a 35 f2 74 28 22 63  |3,1,14)...5.t("c|
000046e0  68 6f 6f 73 65 20 66 72  6f 6d 20 61 20 73 65 74  |hoose from a set|
000046f0  20 6f 66 20 6f 70 74 69  6f 6e 73 20 77 68 69 63  | of options whic|
00004700  68 22 2c 32 2c 33 2c 31  2c 31 35 29 0d 16 94 32  |h",2,3,1,15)...2|
00004710  f2 74 28 22 63 6f 6e 74  72 6f 6c 20 68 6f 77 20  |.t("control how |
00004720  74 68 65 20 67 61 6d 65  20 69 73 20 70 6c 61 79  |the game is play|
00004730  65 64 2e 22 2c 32 2c 33  2c 31 2c 31 36 29 0d 16  |ed.",2,3,1,16)..|
00004740  9e 0b f2 64 28 38 30 30  29 0d 16 a8 09 f2 77 69  |...d(800).....wi|
00004750  70 65 0d 16 b2 37 f2 74  28 22 54 68 65 20 27 57  |pe...7.t("The 'W|
00004760  69 70 65 20 73 63 72 65  65 6e 20 77 68 65 6e 20  |ipe screen when |
00004770  70 61 75 73 65 64 27 20  6f 70 74 69 6f 6e 22 2c  |paused' option",|
00004780  31 2c 33 2c 32 2c 31 30  29 0d 16 bc 37 f2 74 28  |1,3,2,10)...7.t(|
00004790  22 6d 65 61 6e 73 20 74  68 61 74 20 69 66 20 79  |"means that if y|
000047a0  6f 75 20 70 61 75 73 65  20 74 68 65 20 67 61 6d  |ou pause the gam|
000047b0  65 20 74 68 65 22 2c 31  2c 33 2c 32 2c 31 31 29  |e the",1,3,2,11)|
000047c0  0d 16 c6 37 f2 74 28 22  73 63 72 65 65 6e 20 69  |...7.t("screen i|
000047d0  73 20 63 6c 65 61 72 65  64 2c 20 73 6f 20 74 68  |s cleared, so th|
000047e0  61 74 20 79 6f 75 20 64  6f 6e 27 74 22 2c 31 2c  |at you don't",1,|
000047f0  33 2c 32 2c 31 32 29 0d  16 d0 35 f2 74 28 22 68  |3,2,12)...5.t("h|
00004800  61 76 65 20 61 6e 20 69  6e 66 69 6e 69 74 65 20  |ave an infinite |
00004810  61 6d 6f 75 6e 74 20 6f  66 20 74 69 6d 65 20 74  |amount of time t|
00004820  6f 22 2c 31 2c 33 2c 32  2c 31 33 29 0d 16 da 31  |o",1,3,2,13)...1|
00004830  f2 74 28 22 64 65 63 69  64 65 20 77 68 65 72 65  |.t("decide where|
00004840  20 74 6f 20 70 6c 61 63  65 20 61 20 70 69 65 63  | to place a piec|
00004850  65 21 22 2c 31 2c 33 2c  32 2c 31 34 29 0d 16 e4  |e!",1,3,2,14)...|
00004860  34 f2 74 28 22 57 68 65  6e 20 73 65 6c 65 63 74  |4.t("When select|
00004870  65 64 20 79 6f 75 20 77  69 6c 6c 20 6f 6e 6c 79  |ed you will only|
00004880  20 73 63 6f 72 65 22 2c  31 2c 33 2c 32 2c 31 35  | score",1,3,2,15|
00004890  29 0d 16 ee 30 f2 74 28  22 68 61 6c 66 20 61 73  |)...0.t("half as|
000048a0  20 6d 61 6e 79 20 70 6f  69 6e 74 73 20 61 73 20  | many points as |
000048b0  75 73 75 61 6c 21 22 2c  31 2c 33 2c 32 2c 31 36  |usual!",1,3,2,16|
000048c0  29 0d 16 f8 34 f2 74 28  22 50 75 73 68 20 3c 59  |)...4.t("Push <Y|
000048d0  3e 20 74 6f 20 61 67 72  65 65 20 2d 20 79 65 73  |> to agree - yes|
000048e0  2c 20 77 69 70 65 20 74  68 65 22 2c 31 2c 33 2c  |, wipe the",1,3,|
000048f0  32 2c 31 38 29 0d 17 02  39 f2 74 28 22 73 63 72  |2,18)...9.t("scr|
00004900  65 65 6e 2c 20 6f 72 20  3c 4e 3e 20 74 6f 20 73  |een, or <N> to s|
00004910  74 6f 70 20 74 68 65 20  73 63 72 65 65 6e 20 66  |top the screen f|
00004920  72 6f 6d 22 2c 31 2c 33  2c 32 2c 31 39 29 0d 17  |rom",1,3,2,19)..|
00004930  0c 31 f2 74 28 22 62 65  69 6e 67 20 63 6c 65 61  |.1.t("being clea|
00004940  72 65 64 20 5b 61 74 20  74 68 65 20 70 72 6f 6d  |red [at the prom|
00004950  70 74 5d 2e 22 2c 31 2c  33 2c 32 2c 32 30 29 0d  |pt].",1,3,2,20).|
00004960  17 16 0c f2 64 28 31 33  30 30 29 0d 17 20 09 f2  |....d(1300).. ..|
00004970  77 69 70 65 0d 17 2a 38  f2 74 28 22 54 68 65 20  |wipe..*8.t("The |
00004980  27 53 74 72 75 63 74 75  72 65 64 20 67 61 6d 65  |'Structured game|
00004990  27 20 6f 70 74 69 6f 6e  20 6c 65 74 73 20 79 6f  |' option lets yo|
000049a0  75 22 2c 30 2c 33 2c 30  2c 31 30 29 0d 17 34 31  |u",0,3,0,10)..41|
000049b0  f2 74 28 22 73 65 6c 65  63 74 20 61 20 67 61 6d  |.t("select a gam|
000049c0  65 20 77 68 69 63 68 20  61 64 64 73 20 65 78 74  |e which adds ext|
000049d0  72 61 22 2c 30 2c 33 2c  30 2c 31 31 29 0d 17 3e  |ra",0,3,0,11)..>|
000049e0  38 f2 74 28 22 63 6f 6d  70 6f 6e 65 6e 74 73 20  |8.t("components |
000049f0  61 73 20 79 6f 75 20 70  72 6f 67 72 65 73 73 2e  |as you progress.|
00004a00  20 53 65 6c 65 63 74 69  6e 67 22 2c 30 2c 33 2c  | Selecting",0,3,|
00004a10  30 2c 31 32 29 0d 17 48  34 f2 74 28 22 74 68 65  |0,12)..H4.t("the|
00004a20  20 6f 70 74 69 6f 6e 20  67 69 76 65 73 20 66 75  | option gives fu|
00004a30  72 74 68 65 72 20 64 65  74 61 69 6c 73 2e 22 2c  |rther details.",|
00004a40  30 2c 33 2c 30 2c 31 33  29 0d 17 52 38 f2 74 28  |0,3,0,13)..R8.t(|
00004a50  22 57 68 65 6e 20 73 65  6c 65 63 74 65 64 20 74  |"When selected t|
00004a60  68 65 20 62 6f 74 74 6f  6d 20 74 77 6f 20 6c 69  |he bottom two li|
00004a70  6e 65 73 20 6f 66 22 2c  30 2c 33 2c 30 2c 31 34  |nes of",0,3,0,14|
00004a80  29 0d 17 5c 38 f2 74 28  22 74 68 65 20 62 75 63  |)..\8.t("the buc|
00004a90  6b 65 74 20 61 72 65 20  72 65 6d 6f 76 65 64 20  |ket are removed |
00004aa0  65 76 65 72 79 20 74 69  6d 65 20 79 6f 75 22 2c  |every time you",|
00004ab0  30 2c 33 2c 30 2c 31 35  29 0d 17 66 21 f2 74 28  |0,3,0,15)..f!.t(|
00004ac0  22 67 6f 20 75 70 20 61  20 6c 65 76 65 6c 2e 22  |"go up a level."|
00004ad0  2c 30 2c 33 2c 30 2c 31  36 29 0d 17 70 0c f2 64  |,0,3,0,16)..p..d|
00004ae0  28 31 31 30 30 29 0d 17  7a 09 f2 77 69 70 65 0d  |(1100)..z..wipe.|
00004af0  17 84 39 f2 74 28 22 54  68 65 20 27 4d 61 67 69  |..9.t("The 'Magi|
00004b00  63 20 42 6c 6f 63 6b 73  20 28 59 2f 4e 29 27 20  |c Blocks (Y/N)' |
00004b10  6f 70 74 69 6f 6e 20 61  6c 6c 6f 77 73 22 2c 33  |option allows",3|
00004b20  2c 30 2c 30 2c 31 30 29  0d 17 8e 38 f2 74 28 22  |,0,0,10)...8.t("|
00004b30  79 6f 75 20 74 6f 20 63  68 6f 6f 73 65 20 77 68  |you to choose wh|
00004b40  65 74 68 65 72 20 6f 72  20 6e 6f 74 20 79 6f 75  |ether or not you|
00004b50  20 77 69 73 68 22 2c 33  2c 30 2c 30 2c 31 31 29  | wish",3,0,0,11)|
00004b60  0d 17 98 28 f2 74 28 22  74 6f 20 68 61 76 65 20  |...(.t("to have |
00004b70  4d 61 67 69 63 20 42 6c  6f 63 6b 73 2e 22 2c 33  |Magic Blocks.",3|
00004b80  2c 30 2c 30 2c 31 32 29  0d 17 a2 38 f2 74 28 22  |,0,0,12)...8.t("|
00004b90  54 68 65 73 65 20 66 61  6c 6c 20 6f 63 63 61 73  |These fall occas|
00004ba0  69 6f 6e 61 6c 6c 79 20  61 6e 64 20 61 70 70 65  |ionally and appe|
00004bb0  61 72 20 61 73 22 2c 33  2c 30 2c 30 2c 31 34 29  |ar as",3,0,0,14)|
00004bc0  0d 17 ac 3a f2 74 28 22  6d 75 6c 74 69 2d 63 6f  |...:.t("multi-co|
00004bd0  6c 6f 75 72 65 64 20 62  6c 6f 63 6b 73 2e 20 54  |loured blocks. T|
00004be0  68 65 79 20 64 6f 20 6e  6f 74 20 73 74 61 79 22  |hey do not stay"|
00004bf0  2c 33 2c 30 2c 30 2c 31  35 29 0d 17 b6 3b f2 74  |,3,0,0,15)...;.t|
00004c00  28 22 69 6e 20 74 68 65  20 62 75 63 6b 65 74 20  |("in the bucket |
00004c10  62 75 74 20 64 69 73 61  70 70 65 61 72 20 69 6d  |but disappear im|
00004c20  6d 65 64 69 61 74 65 6c  79 2e 22 2c 33 2c 30 2c  |mediately.",3,0,|
00004c30  30 2c 31 36 29 0d 17 c0  36 f2 74 28 22 48 6f 77  |0,16)...6.t("How|
00004c40  65 76 65 72 2c 20 74 68  65 79 20 61 63 74 20 61  |ever, they act a|
00004c50  73 20 69 66 20 74 68 65  79 20 77 65 72 65 20 61  |s if they were a|
00004c60  22 2c 33 2c 30 2c 30 2c  31 37 29 0d 17 ca 36 f2  |",3,0,0,17)...6.|
00004c70  74 28 22 62 6c 6f 63 6b  20 6f 66 20 65 76 65 72  |t("block of ever|
00004c80  79 20 73 69 6e 67 6c 65  20 63 6f 6c 6f 75 72 20  |y single colour |
00004c90  61 6c 6c 20 61 74 22 2c  33 2c 30 2c 30 2c 31 38  |all at",3,0,0,18|
00004ca0  29 0d 17 d4 39 f2 74 28  22 6f 6e 63 65 2c 20 61  |)...9.t("once, a|
00004cb0  6e 64 20 73 6f 20 79 6f  75 20 63 61 6e 20 63 6f  |nd so you can co|
00004cc0  6d 70 6c 65 74 65 20 6c  69 6e 65 73 20 6f 66 22  |mplete lines of"|
00004cd0  2c 33 2c 30 2c 30 2c 31  39 29 0d 17 de 35 f2 74  |,3,0,0,19)...5.t|
00004ce0  28 22 64 69 66 66 65 72  65 6e 74 20 63 6f 6c 6f  |("different colo|
00004cf0  75 72 73 20 61 74 20 74  68 65 20 73 61 6d 65 20  |urs at the same |
00004d00  74 69 6d 65 22 2c 33 2c  30 2c 30 2c 32 30 29 0d  |time",3,0,0,20).|
00004d10  17 e8 23 f2 74 28 22 77  69 74 68 20 74 68 69 73  |..#.t("with this|
00004d20  20 62 6c 6f 63 6b 2e 22  2c 33 2c 30 2c 30 2c 32  | block.",3,0,0,2|
00004d30  31 29 0d 17 f2 0c f2 64  28 31 35 30 30 29 0d 17  |1).....d(1500)..|
00004d40  fc 09 f2 77 69 70 65 0d  18 06 37 f2 74 28 22 27  |...wipe...7.t("'|
00004d50  42 6c 6f 63 6b 65 72 20  61 6e 64 20 52 65 6d 6f  |Blocker and Remo|
00004d60  76 65 72 20 42 6c 6f 63  6b 73 27 20 61 72 65 20  |ver Blocks' are |
00004d70  74 77 6f 22 2c 30 2c 33  2c 30 2c 31 30 29 0d 18  |two",0,3,0,10)..|
00004d80  10 3a f2 74 28 22 73 65  70 61 72 61 74 65 20 62  |.:.t("separate b|
00004d90  6c 6f 63 6b 73 2e 20 4f  6e 65 20 6f 66 20 74 68  |locks. One of th|
00004da0  65 6d 20 61 70 70 65 61  72 73 20 61 73 22 2c 30  |em appears as",0|
00004db0  2c 33 2c 30 2c 31 31 29  0d 18 1a 38 f2 74 28 22  |,3,0,11)...8.t("|
00004dc0  61 6e 20 6f 70 65 6e 20  73 75 70 70 6f 72 74 2c  |an open support,|
00004dd0  20 61 6e 20 75 6e 68 61  70 70 79 20 66 61 63 65  | an unhappy face|
00004de0  20 6f 72 20 61 22 2c 30  2c 33 2c 30 2c 31 32 29  | or a",0,3,0,12)|
00004df0  0d 18 24 39 f2 74 28 22  73 6b 75 6c 6c 20 70 61  |..$9.t("skull pa|
00004e00  69 6e 74 65 64 20 6f 6e  20 61 20 64 75 6c 6c 2d  |inted on a dull-|
00004e10  6c 6f 6f 6b 69 6e 67 20  62 6c 6f 63 6b 2e 22 2c  |looking block.",|
00004e20  30 2c 33 2c 30 2c 31 33  29 0d 18 2e 3a f2 74 28  |0,3,0,13)...:.t(|
00004e30  22 54 68 69 73 20 69 73  20 74 68 65 20 42 4c 4f  |"This is the BLO|
00004e40  43 4b 45 52 2e 20 49 74  20 77 69 6c 6c 20 73 74  |CKER. It will st|
00004e50  61 79 20 74 68 65 72 65  22 2c 30 2c 33 2c 30 2c  |ay there",0,3,0,|
00004e60  31 34 29 0d 18 38 36 f2  74 28 22 61 6e 64 20 77  |14)..86.t("and w|
00004e70  69 6c 6c 20 4e 4f 54 20  72 65 61 63 74 20 77 69  |ill NOT react wi|
00004e80  74 68 20 41 4e 59 20 62  6c 6f 63 6b 73 2e 22 2c  |th ANY blocks.",|
00004e90  30 2c 33 2c 30 2c 31 35  29 0d 18 42 0b f2 64 28  |0,3,0,15)..B..d(|
00004ea0  39 30 30 29 0d 18 4c 09  f2 77 69 70 65 0d 18 56  |900)..L..wipe..V|
00004eb0  34 f2 74 28 22 52 45 4d  4f 56 45 52 20 62 6c 6f  |4.t("REMOVER blo|
00004ec0  63 6b 73 20 61 72 65 20  74 68 65 20 72 65 76 65  |cks are the reve|
00004ed0  72 73 65 20 6f 66 22 2c  33 2c 33 2c 30 2c 31 30  |rse of",3,3,0,10|
00004ee0  29 0d 18 60 38 f2 74 28  22 42 6c 6f 63 6b 65 72  |)..`8.t("Blocker|
00004ef0  73 2e 20 54 68 65 79 20  61 70 70 65 61 72 20 61  |s. They appear a|
00004f00  73 20 61 20 68 61 70 70  79 20 66 61 63 65 22 2c  |s a happy face",|
00004f10  33 2c 33 2c 30 2c 31 31  29 0d 18 6a 38 f2 74 28  |3,3,0,11)..j8.t(|
00004f20  22 6f 72 20 61 20 63 6c  6f 73 65 64 20 73 75 70  |"or a closed sup|
00004f30  70 6f 72 74 2c 20 61 6e  64 20 77 68 65 6e 20 64  |port, and when d|
00004f40  72 6f 70 70 65 64 22 2c  33 2c 33 2c 30 2c 31 32  |ropped",3,3,0,12|
00004f50  29 0d 18 74 37 f2 74 28  22 49 4e 20 54 48 45 20  |)..t7.t("IN THE |
00004f60  53 41 4d 45 20 43 4f 4c  55 4d 4e 20 61 73 20 61  |SAME COLUMN as a|
00004f70  20 42 4c 4f 43 4b 45 52  20 74 68 65 79 22 2c 33  | BLOCKER they",3|
00004f80  2c 33 2c 30 2c 31 33 29  0d 18 7e 38 f2 74 28 22  |,3,0,13)..~8.t("|
00004f90  72 65 6d 6f 76 65 20 41  4c 4c 20 42 6c 6f 63 6b  |remove ALL Block|
00004fa0  65 72 73 20 66 72 6f 6d  20 74 68 61 74 20 63 6f  |ers from that co|
00004fb0  6c 75 6d 6e 2e 22 2c 33  2c 33 2c 30 2c 31 34 29  |lumn.",3,3,0,14)|
00004fc0  0d 18 88 37 f2 74 28 22  54 68 65 79 20 74 68 65  |...7.t("They the|
00004fd0  6e 20 64 69 73 61 70 70  65 61 72 2e 20 49 66 20  |n disappear. If |
00004fe0  74 68 65 72 65 20 61 72  65 20 6e 6f 22 2c 33 2c  |there are no",3,|
00004ff0  33 2c 30 2c 31 35 29 0d  18 92 37 f2 74 28 22 42  |3,0,15)...7.t("B|
00005000  6c 6f 63 6b 65 72 73 20  69 6e 20 74 68 61 74 20  |lockers in that |
00005010  63 6f 6c 75 6d 6e 20 74  68 65 6e 20 74 68 65 79  |column then they|
00005020  20 64 6f 22 2c 33 2c 33  2c 30 2c 31 36 29 0d 18  | do",3,3,0,16)..|
00005030  9c 3a f2 74 28 22 61 62  73 6f 6c 75 74 65 6c 79  |.:.t("absolutely|
00005040  20 6e 6f 74 68 69 6e 67  2c 20 61 6e 64 20 6a 75  | nothing, and ju|
00005050  73 74 20 64 69 73 61 70  70 65 61 72 2e 22 2c 33  |st disappear.",3|
00005060  2c 33 2c 30 2c 31 37 29  0d 18 a6 0c f2 64 28 31  |,3,0,17).....d(1|
00005070  30 35 30 29 0d 18 b0 09  f2 77 69 70 65 0d 18 ba  |050).....wipe...|
00005080  3a f2 74 28 22 54 68 65  20 27 53 68 6f 77 20 6e  |:.t("The 'Show n|
00005090  75 6d 62 65 72 20 6f 66  20 74 69 6c 65 73 20 66  |umber of tiles f|
000050a0  61 6c 6c 65 6e 20 28 59  2f 4e 29 27 22 2c 31 2c  |allen (Y/N)'",1,|
000050b0  31 2c 33 2c 31 30 29 0d  18 c4 3a f2 74 28 22 6f  |1,3,10)...:.t("o|
000050c0  70 74 69 6f 6e 20 6c 65  74 73 20 79 6f 75 20 64  |ption lets you d|
000050d0  65 63 69 64 65 20 77 68  65 74 68 65 72 20 79 6f  |ecide whether yo|
000050e0  75 20 77 61 6e 74 22 2c  31 2c 31 2c 33 2c 31 31  |u want",1,1,3,11|
000050f0  29 0d 18 ce 33 f2 74 28  22 74 6f 20 6b 6e 6f 77  |)...3.t("to know|
00005100  20 68 6f 77 20 6d 61 6e  79 20 74 69 6c 65 73 20  | how many tiles |
00005110  68 61 76 65 20 62 65 65  6e 22 2c 31 2c 31 2c 33  |have been",1,1,3|
00005120  2c 31 32 29 0d 18 d8 38  f2 74 28 22 72 65 6d 6f  |,12)...8.t("remo|
00005130  76 65 64 20 66 72 6f 6d  20 74 68 65 20 62 75 63  |ved from the buc|
00005140  6b 65 74 20 73 6f 20 66  61 72 2e 20 45 76 65 72  |ket so far. Ever|
00005150  79 22 2c 31 2c 31 2c 33  2c 31 33 29 0d 18 e2 31  |y",1,1,3,13)...1|
00005160  f2 74 28 22 31 30 30 20  74 69 6c 65 73 20 74 68  |.t("100 tiles th|
00005170  65 20 6c 65 76 65 6c 20  69 6e 63 72 65 61 73 65  |e level increase|
00005180  73 2e 22 2c 31 2c 31 2c  33 2c 31 34 29 0d 18 ec  |s.",1,1,3,14)...|
00005190  0b f2 64 28 38 30 30 29  0d 18 f6 09 f2 77 69 70  |..d(800).....wip|
000051a0  65 0d 19 00 38 f2 74 28  22 54 68 65 20 27 43 68  |e...8.t("The 'Ch|
000051b0  61 6e 67 65 20 73 70 72  69 74 65 73 20 65 61 63  |ange sprites eac|
000051c0  68 20 6c 65 76 65 6c 20  28 59 2f 4e 29 27 22 2c  |h level (Y/N)'",|
000051d0  32 2c 31 2c 30 2c 31 30  29 0d 19 0a 36 f2 74 28  |2,1,0,10)...6.t(|
000051e0  22 6f 70 74 69 6f 6e 20  61 6c 6c 6f 77 73 20 79  |"option allows y|
000051f0  6f 75 20 74 6f 20 73 74  6f 70 20 74 68 65 20 74  |ou to stop the t|
00005200  69 6c 65 73 22 2c 32 2c  31 2c 30 2c 31 31 29 0d  |iles",2,1,0,11).|
00005210  19 14 39 f2 74 28 22 66  72 6f 6d 20 63 68 61 6e  |..9.t("from chan|
00005220  67 69 6e 67 20 69 6e 20  64 65 73 69 67 6e 20 65  |ging in design e|
00005230  76 65 72 79 20 74 69 6d  65 20 79 6f 75 22 2c 32  |very time you",2|
00005240  2c 31 2c 30 2c 31 32 29  0d 19 1e 38 f2 74 28 22  |,1,0,12)...8.t("|
00005250  67 6f 20 75 70 20 61 20  6c 65 76 65 6c 2e 20 49  |go up a level. I|
00005260  66 20 79 6f 75 20 61 6e  73 77 65 72 20 27 59 27  |f you answer 'Y'|
00005270  20 74 68 65 6e 22 2c 32  2c 31 2c 30 2c 31 33 29  | then",2,1,0,13)|
00005280  0d 19 28 39 f2 74 28 22  79 6f 75 20 77 69 6c 6c  |..(9.t("you will|
00005290  20 62 65 20 67 69 76 65  6e 20 61 20 66 69 76 65  | be given a five|
000052a0  20 73 65 63 6f 6e 64 20  63 6f 75 6e 74 2d 22 2c  | second count-",|
000052b0  32 2c 31 2c 30 2c 31 34  29 0d 19 32 3a f2 74 28  |2,1,0,14)..2:.t(|
000052c0  22 64 6f 77 6e 20 61 74  20 74 68 65 20 62 65 67  |"down at the beg|
000052d0  69 6e 6e 69 6e 67 20 6f  66 20 65 61 63 68 20 6e  |inning of each n|
000052e0  65 77 20 6c 65 76 65 6c  22 2c 32 2c 31 2c 30 2c  |ew level",2,1,0,|
000052f0  31 35 29 0d 19 3c 3a f2  74 28 22 74 6f 20 61 63  |15)..<:.t("to ac|
00005300  63 75 73 74 6f 6d 20 79  6f 75 72 73 65 6c 66 20  |custom yourself |
00005310  77 69 74 68 20 74 68 65  20 63 68 61 6e 67 65 20  |with the change |
00005320  6f 66 22 2c 32 2c 31 2c  30 2c 31 36 29 0d 19 46  |of",2,1,0,16)..F|
00005330  39 f2 74 28 22 73 70 72  69 74 65 73 2e 20 4e 6f  |9.t("sprites. No|
00005340  74 65 20 74 68 61 74 20  6f 6e 20 74 68 65 20 6c  |te that on the l|
00005350  61 74 65 72 20 6c 65 76  65 6c 73 22 2c 32 2c 31  |ater levels",2,1|
00005360  2c 30 2c 31 37 29 0d 19  50 39 f2 74 28 22 79 6f  |,0,17)..P9.t("yo|
00005370  75 20 6d 61 79 20 6e 65  65 64 20 74 6f 20 65 78  |u may need to ex|
00005380  70 65 72 69 6d 65 6e 74  20 74 6f 20 77 6f 72 6b  |periment to work|
00005390  20 6f 75 74 22 2c 32 2c  31 2c 30 2c 31 38 29 0d  | out",2,1,0,18).|
000053a0  19 5a 31 f2 74 28 22 77  68 69 63 68 20 73 70 65  |.Z1.t("which spe|
000053b0  63 69 61 6c 20 74 69 6c  65 73 20 61 72 65 20 77  |cial tiles are w|
000053c0  68 69 63 68 21 22 2c 32  2c 31 2c 30 2c 31 39 29  |hich!",2,1,0,19)|
000053d0  0d 19 64 0c f2 64 28 31  37 30 30 29 0d 19 6e 09  |..d..d(1700)..n.|
000053e0  f2 77 69 70 65 0d 19 78  0b f2 64 28 31 30 30 29  |.wipe..x..d(100)|
000053f0  0d 19 82 1e f2 75 28 22  49 6e 73 74 72 75 63 74  |.....u("Instruct|
00005400  69 6f 6e 73 22 2c 33 2c  30 2c 30 2c 37 29 0d 19  |ions",3,0,0,7)..|
00005410  8c 0b f2 64 28 31 30 30  29 0d 19 96 26 f2 74 28  |...d(100)...&.t(|
00005420  22 47 20 4f 20 4f 20 44  20 20 20 4c 20 55 20 43  |"G O O D   L U C|
00005430  20 4b 20 21 22 2c 33 2c  31 2c 33 2c 31 33 29 0d  | K !",3,1,3,13).|
00005440  19 a0 0b f2 64 28 32 35  30 29 0d 19 aa 26 f2 74  |....d(250)...&.t|
00005450  28 22 5f 5f 5f 5f 5f 5f  5f 5f 5f 5f 5f 5f 5f 5f  |("______________|
00005460  5f 5f 5f 5f 5f 22 2c 30  2c 33 2c 30 2c 31 32 29  |_____",0,3,0,12)|
00005470  0d 19 b4 26 f2 74 28 22  5f 5f 5f 5f 5f 5f 5f 5f  |...&.t("________|
00005480  5f 5f 5f 5f 5f 5f 5f 5f  5f 5f 5f 22 2c 30 2c 33  |___________",0,3|
00005490  2c 30 2c 31 33 29 0d 19  be 0b f2 64 28 33 30 30  |,0,13).....d(300|
000054a0  29 0d 19 c8 26 f2 75 28  22 47 20 4f 20 4f 20 44  |)...&.u("G O O D|
000054b0  20 20 20 4c 20 55 20 43  20 4b 20 21 22 2c 33 2c  |   L U C K !",3,|
000054c0  31 2c 33 2c 31 33 29 0d  19 d2 0b f2 64 28 31 30  |1,3,13).....d(10|
000054d0  30 29 0d 19 dc 26 f2 75  28 22 5f 5f 5f 5f 5f 5f  |0)...&.u("______|
000054e0  5f 5f 5f 5f 5f 5f 5f 5f  5f 5f 5f 5f 5f 22 2c 30  |_____________",0|
000054f0  2c 33 2c 30 2c 31 32 29  0d 19 e6 26 f2 75 28 22  |,3,0,12)...&.u("|
00005500  5f 5f 5f 5f 5f 5f 5f 5f  5f 5f 5f 5f 5f 5f 5f 5f  |________________|
00005510  5f 5f 5f 22 2c 30 2c 33  2c 30 2c 31 33 29 0d 19  |___",0,3,0,13)..|
00005520  eb 33 f2 75 28 22 50 72  65 73 73 20 3c 45 53 43  |.3.u("Press <ESC|
00005530  41 50 45 3e 20 74 6f 20  73 74 61 72 74 20 74 68  |APE> to start th|
00005540  65 20 67 61 6d 65 22 2c  33 2c 33 2c 31 2c 33 30  |e game",3,3,1,30|
00005550  29 0d 19 f0 0b f2 64 28  32 35 30 29 0d 19 fa 13  |).....d(250)....|
00005560  e3 6c 25 3d 38 32 34 b8  2d 32 30 30 88 2d 34 0d  |.l%=824.-200.-4.|
00005570  1a 04 22 c8 99 26 32 45  2c 32 39 30 2c 73 70 72  |.."..&2E,290,spr|
00005580  25 2c 22 53 63 72 65 65  6e 22 2c 34 31 35 2c 6c  |%,"Screen",415,l|
00005590  25 0d 1a 0e 05 ed 0d 1a  18 06 ef 34 0d 1a 22 05  |%..........4..".|
000055a0  e1 0d 1a 2c 05 3a 0d 1a  36 1a dd f2 74 28 74 65  |...,.:..6...t(te|
000055b0  78 74 24 2c 72 25 2c 67  25 2c 62 25 2c 79 25 29  |xt$,r%,g%,b%,y%)|
000055c0  0d 1a 40 19 ea 74 25 2c  53 25 2c 52 25 2c 47 25  |..@..t%,S%,R%,G%|
000055d0  2c 42 25 2c 58 25 2c 59  25 0d 1a 4a 3d f4 20 46  |,B%,X%,Y%..J=. F|
000055e0  61 64 65 73 20 69 6e 20  61 20 6c 69 6e 65 20 6f  |ades in a line o|
000055f0  66 20 74 65 78 74 20 2d  20 70 72 69 6e 74 73 20  |f text - prints |
00005600  61 74 20 74 68 65 20 67  72 61 70 68 69 63 73 20  |at the graphics |
00005610  63 75 72 73 6f 72 0d 1a  54 35 f4 20 74 6f 20 65  |cursor..T5. to e|
00005620  6e 73 75 72 65 20 74 68  61 74 20 63 65 6e 74 72  |nsure that centr|
00005630  65 64 20 74 65 78 74 20  69 73 20 70 72 6f 70 65  |ed text is prope|
00005640  72 6c 79 20 61 6c 69 67  6e 65 64 0d 1a 5e 14 58  |rly aligned..^.X|
00005650  25 3d 36 34 30 2d a9 74  65 78 74 24 2a 31 36 0d  |%=640-.text$*16.|
00005660  1a 68 11 59 25 3d 28 33  31 2d 79 25 29 2a 33 32  |.h.Y%=(31-y%)*32|
00005670  0d 1a 72 0c e3 74 25 3d  31 b8 31 30 0d 1a 7c 35  |..r..t%=1.10..|5|
00005680  52 25 3d 28 72 25 2f 31  30 29 2a 74 25 3a 47 25  |R%=(r%/10)*t%:G%|
00005690  3d 28 67 25 2f 31 30 29  2a 74 25 3a 42 25 3d 28  |=(g%/10)*t%:B%=(|
000056a0  62 25 2f 31 30 29 2a 74  25 3a 53 25 3d 74 25 2f  |b%/10)*t%:S%=t%/|
000056b0  33 0d 1a 86 18 e6 20 52  25 2b 34 2a 47 25 2b 31  |3..... R%+4*G%+1|
000056c0  36 2a 42 25 20 c8 9c 53  25 0d 1a 90 11 ec 58 25  |6*B% ..S%.....X%|
000056d0  2c 59 25 3a f1 74 65 78  74 24 0d 1a 9a 0b 41 24  |,Y%:.text$....A$|
000056e0  3d bf 28 32 29 0d 1a a4  05 ed 0d 1a ae 05 e1 0d  |=.(2)...........|
000056f0  1a b8 05 3a 0d 1a c2 1a  dd f2 75 28 74 65 78 74  |...:......u(text|
00005700  24 2c 72 25 2c 67 25 2c  62 25 2c 79 25 29 0d 1a  |$,r%,g%,b%,y%)..|
00005710  cc 1e f4 20 46 61 64 65  73 20 6f 75 74 20 61 20  |... Fades out a |
00005720  6c 69 6e 65 20 6f 66 20  74 65 78 74 0d 1a d6 19  |line of text....|
00005730  ea 74 25 2c 53 25 2c 52  25 2c 47 25 2c 42 25 2c  |.t%,S%,R%,G%,B%,|
00005740  58 25 2c 59 25 0d 1a e0  14 58 25 3d 36 34 30 2d  |X%,Y%....X%=640-|
00005750  a9 74 65 78 74 24 2a 31  36 0d 1a ea 11 59 25 3d  |.text$*16....Y%=|
00005760  28 33 31 2d 79 25 29 2a  33 32 0d 1a f4 0f e3 74  |(31-y%)*32.....t|
00005770  25 3d 31 30 b8 31 88 2d  31 0d 1a fe 35 52 25 3d  |%=10.1.-1...5R%=|
00005780  28 72 25 2f 31 30 29 2a  74 25 3a 47 25 3d 28 67  |(r%/10)*t%:G%=(g|
00005790  25 2f 31 30 29 2a 74 25  3a 42 25 3d 28 62 25 2f  |%/10)*t%:B%=(b%/|
000057a0  31 30 29 2a 74 25 3a 53  25 3d 74 25 2f 33 0d 1b  |10)*t%:S%=t%/3..|
000057b0  08 18 e6 20 52 25 2b 34  2a 47 25 2b 31 36 2a 42  |... R%+4*G%+16*B|
000057c0  25 20 c8 9c 53 25 0d 1b  12 11 ec 58 25 2c 59 25  |% ..S%.....X%,Y%|
000057d0  3a f1 74 65 78 74 24 0d  1b 1c 0b 41 24 3d bf 28  |:.text$....A$=.(|
000057e0  32 29 0d 1b 26 05 ed 0d  1b 30 17 e6 30 c8 9c 30  |2)..&....0..0..0|
000057f0  3a ec 58 25 2c 59 25 3a  f1 74 65 78 74 24 0d 1b  |:.X%,Y%:.text$..|
00005800  3a 05 e1 0d 1b 44 05 3a  0d 1b 4e 0b dd f2 64 28  |:....D.:..N...d(|
00005810  64 25 29 0d 1b 58 07 ea  74 25 0d 1b 62 18 74 25  |d%)..X..t%..b.t%|
00005820  3d 91 3a f5 fd 91 3e 3d  74 25 2b 64 25 84 a6 2d  |=.:...>=t%+d%..-|
00005830  39 39 0d 1b 6c 05 e1 0d  1b 76 05 3a 0d 1b 80 0a  |99..l....v.:....|
00005840  dd f2 77 69 70 65 0d 1b  8a 09 e6 30 c8 9c 30 0d  |..wipe.....0..0.|
00005850  1b 94 0f e3 78 32 25 3d  30 b8 32 38 88 34 0d 1b  |....x2%=0.28.4..|
00005860  9e 11 e3 78 25 3d 30 b8  31 32 34 38 88 33 32 0d  |...x%=0.1248.32.|
00005870  1b a8 0e ec 78 25 2b 78  32 25 2c 33 36 0d 1b b2  |....x%+x2%,36...|
00005880  0f df 78 25 2b 78 32 25  2c 37 33 36 0d 1b bc 05  |..x%+x2%,736....|
00005890  ed 0d 1b c6 0b 41 24 3d  bf 28 35 29 0d 1b d0 05  |.....A$=.(5)....|
000058a0  ed 0d 1b da 05 e1 0d 1b  e4 05 3a 0d 1b ee 0f dd  |..........:.....|
000058b0  f2 6e 65 78 74 6c 65 76  65 6c 0d 1b f8 2c 4f 4c  |.nextlevel...,OL|
000058c0  25 3d 4c 45 56 25 3a e7  74 69 6c 65 73 25 84 ac  |%=LEV%:.tiles%..|
000058d0  63 6c 25 3a f2 6e 75 6d  62 28 42 4c 25 2c 32 30  |cl%:.numb(BL%,20|
000058e0  30 2c 37 32 38 29 0d 1c  02 14 4c 45 56 25 3d 28  |0,728)....LEV%=(|
000058f0  42 4c 25 81 31 30 30 29  2b 31 0d 1c 0c 10 e7 4c  |BL%.100)+1.....L|
00005900  45 56 25 3d 4f 4c 25 20  8c e1 0d 1c 16 11 e7 73  |EV%=OL% .......s|
00005910  74 72 75 63 74 75 72 65  64 25 8c 0d 1c 20 14 e7  |tructured%... ..|
00005920  4c 45 56 25 3d 33 8c 62  6c 6f 63 6b 25 3d b9 0d  |LEV%=3.block%=..|
00005930  1c 2a 13 e7 4c 45 56 25  3d 35 8c 78 74 72 61 25  |.*..LEV%=5.xtra%|
00005940  3d b9 0d 1c 34 14 e7 4c  45 56 25 3d 32 8c 6d 61  |=...4..LEV%=2.ma|
00005950  67 69 63 25 3d b9 0d 1c  3e 24 e3 78 25 3d 30 b8  |gic%=...>$.x%=0.|
00005960  35 3a e3 79 25 3d 31 36  b8 31 37 3a 41 25 28 78  |5:.y%=16.17:A%(x|
00005970  25 2c 79 25 29 3d 30 3a  ed 2c 0d 1c 48 2f e3 78  |%,y%)=0:.,..H/.x|
00005980  25 3d 30 b8 35 3a 46 25  3d 30 3a e3 79 25 3d 31  |%=0.5:F%=0:.y%=1|
00005990  b8 31 37 3a e7 ac 46 25  3a e7 41 25 28 78 25 2c  |.17:..F%:.A%(x%,|
000059a0  79 25 29 3e 30 46 25 3d  b9 0d 1c 52 80 e7 46 25  |y%)>0F%=...R..F%|
000059b0  3a e7 28 28 41 25 28 78  25 2c 79 25 29 3e 37 80  |:.((A%(x%,y%)>7.|
000059c0  41 25 28 78 25 2c 79 25  29 3c 32 34 29 84 41 25  |A%(x%,y%)<24).A%|
000059d0  28 78 25 2c 79 25 29 3d  33 32 29 84 41 25 28 78  |(x%,y%)=32).A%(x|
000059e0  25 2c 79 25 29 3d 30 8c  42 4c 25 2b 3d 31 3a 41  |%,y%)=0.BL%+=1:A|
000059f0  25 28 78 25 2c 79 25 29  3d 30 3a e3 72 25 3d 79  |%(x%,y%)=0:.r%=y|
00005a00  25 b8 31 88 2d 31 3a 41  25 28 78 25 2c 72 25 29  |%.1.-1:A%(x%,r%)|
00005a10  3d 41 25 28 78 25 2c 72  25 2d 31 29 3a ed 3a 41  |=A%(x%,r%-1):.:A|
00005a20  25 28 78 25 2c 30 29 3d  30 0d 1c 5c 06 ed 2c 0d  |%(x%,0)=0..\..,.|
00005a30  1c 66 05 cd 0d 1c 70 24  e7 63 68 61 6e 67 65 25  |.f....p$.change%|
00005a40  8c 2a 43 48 41 4e 4e 45  4c 56 4f 49 43 45 20 31  |.*CHANNELVOICE 1|
00005a50  20 54 68 75 6e 64 65 72  0d 1c 7a 1a e7 63 68 61  | Thunder..z..cha|
00005a60  6e 67 65 25 8c d4 31 2c  2d 31 30 2c 39 30 30 30  |nge%..1,-10,9000|
00005a70  2c 31 0d 1c 84 0c f2 6e  65 78 74 6c 65 76 0d 1c  |,1.....nextlev..|
00005a80  8e 29 45 25 3d 45 25 2d  34 3a 4c 25 3d 28 4c 45  |.)E%=E%-4:L%=(LE|
00005a90  56 25 2d 31 29 83 36 3a  e7 ac 63 68 61 6e 67 65  |V%-1).6:..change|
00005aa0  25 20 8c 4c 25 3d 30 0d  1c 98 12 f2 61 64 64 72  |% .L%=0.....addr|
00005ab0  65 73 73 65 73 28 4c 25  29 0d 1c a2 2c 61 61 25  |esses(L%)...,aa%|
00005ac0  3d 41 25 3a 62 62 25 3d  42 25 3a 63 63 25 3d 43  |=A%:bb%=B%:cc%=C|
00005ad0  25 3a f2 6e 75 6d 62 28  4c 45 56 25 2c 32 30 30  |%:.numb(LEV%,200|
00005ae0  2c 37 39 32 29 0d 1c ac  0a e7 4c 25 3e 30 8c 0d  |,792).....L%>0..|
00005af0  1c b6 82 48 25 3d 33 3a  e3 72 31 25 3d 30 b8 35  |...H%=3:.r1%=0.5|
00005b00  3a e3 72 32 25 3d 30 b8  31 36 88 33 3a 41 25 3d  |:.r2%=0.16.3:A%=|
00005b10  41 25 28 72 31 25 2c 72  32 25 29 3a 42 25 3d 41  |A%(r1%,r2%):B%=A|
00005b20  25 28 72 31 25 2c 72 32  25 2b 31 29 3a 43 25 3d  |%(r1%,r2%+1):C%=|
00005b30  41 25 28 72 31 25 2c 72  32 25 2b 32 29 3a f2 64  |A%(r1%,r2%+2):.d|
00005b40  65 6c 28 72 31 25 2c 72  32 25 29 3a ed 3a f2 64  |el(r1%,r2%):.:.d|
00005b50  65 6c 28 72 31 25 2c 2d  33 29 3a ed 3a 41 25 3d  |el(r1%,-3):.:A%=|
00005b60  61 61 25 3a 42 25 3d 62  62 25 3a 43 25 3d 63 63  |aa%:B%=bb%:C%=cc|
00005b70  25 0d 1c c0 05 cc 0d 1c  ca 26 e7 63 68 61 6e 67  |%........&.chang|
00005b80  65 25 8c e6 30 c8 9c 30  3a c8 93 c8 90 34 38 30  |e%..0..0:....480|
00005b90  2c 35 32 2c 33 30 38 2c  31 30 30 30 0d 1c d4 05  |,52,308,1000....|
00005ba0  cd 0d 1c de 0e e7 45 25  3c 35 8c 45 25 3d 35 0d  |......E%<5.E%=5.|
00005bb0  1c e8 05 e1 0d 1c f2 05  3a 0d 1c fc 0a dd f2 6b  |........:......k|
00005bc0  65 79 73 0d 1d 06 15 eb  31 33 3a 87 3a ef 35 3a  |eys.....13:.:.5:|
00005bd0  2a 46 58 32 30 30 2c 31  0d 1d 10 12 e3 6c 25 3d  |*FX200,1.....l%=|
00005be0  2d 32 30 30 b8 38 32 34  88 34 0d 1d 1a 22 c8 99  |-200.824.4..."..|
00005bf0  26 32 45 2c 32 39 30 2c  73 70 72 25 2c 22 53 63  |&2E,290,spr%,"Sc|
00005c00  72 65 65 6e 22 2c 34 31  35 2c 6c 25 0d 1d 24 05  |reen",415,l%..$.|
00005c10  ed 0d 1d 2e 1e f2 74 28  22 45 6e 74 65 72 20 6b  |......t("Enter k|
00005c20  65 79 73 3a 2d 22 2c 33  2c 30 2c 30 2c 37 29 0d  |eys:-",3,0,0,7).|
00005c30  1d 38 22 f2 74 28 22 44  65 66 69 6e 65 20 6c 65  |.8".t("Define le|
00005c40  66 74 20 6b 65 79 22 2c  33 2c 33 2c 30 2c 31 30  |ft key",3,3,0,10|
00005c50  29 0d 1d 42 0b f2 67 65  74 6b 65 79 0d 1d 4c 18  |)..B..getkey..L.|
00005c60  6c 65 66 74 24 3d 69 6e  6b 65 79 24 3a 55 25 3d  |left$=inkey$:U%=|
00005c70  6b 65 79 25 0d 1d 56 22  f2 75 28 22 44 65 66 69  |key%..V".u("Defi|
00005c80  6e 65 20 6c 65 66 74 20  6b 65 79 22 2c 33 2c 33  |ne left key",3,3|
00005c90  2c 30 2c 31 30 29 0d 1d  60 29 f2 74 28 22 4d 6f  |,0,10)..`).t("Mo|
00005ca0  76 65 20 6c 65 66 74 3a  20 3c 22 2b 6c 65 66 74  |ve left: <"+left|
00005cb0  24 2b 22 3e 22 2c 30 2c  33 2c 30 2c 31 30 29 0d  |$+">",0,3,0,10).|
00005cc0  1d 6a 23 f2 74 28 22 44  65 66 69 6e 65 20 72 69  |.j#.t("Define ri|
00005cd0  67 68 74 20 6b 65 79 22  2c 33 2c 33 2c 30 2c 31  |ght key",3,3,0,1|
00005ce0  32 29 0d 1d 74 16 f5 f2  67 65 74 6b 65 79 3a fd  |2)..t...getkey:.|
00005cf0  6b 65 79 25 3c 3e 55 25  0d 1d 7e 19 72 69 67 68  |key%<>U%..~.righ|
00005d00  74 24 3d 69 6e 6b 65 79  24 3a 56 25 3d 6b 65 79  |t$=inkey$:V%=key|
00005d10  25 0d 1d 88 23 f2 75 28  22 44 65 66 69 6e 65 20  |%...#.u("Define |
00005d20  72 69 67 68 74 20 6b 65  79 22 2c 33 2c 33 2c 30  |right key",3,3,0|
00005d30  2c 31 32 29 0d 1d 92 2b  f2 74 28 22 4d 6f 76 65  |,12)...+.t("Move|
00005d40  20 72 69 67 68 74 3a 20  3c 22 2b 72 69 67 68 74  | right: <"+right|
00005d50  24 2b 22 3e 22 2c 30 2c  33 2c 30 2c 31 32 29 0d  |$+">",0,3,0,12).|
00005d60  1d 9c 24 f2 74 28 22 44  65 66 69 6e 65 20 72 6f  |..$.t("Define ro|
00005d70  74 61 74 65 20 6b 65 79  22 2c 33 2c 33 2c 30 2c  |tate key",3,3,0,|
00005d80  31 34 29 0d 1d a6 1f f5  f2 67 65 74 6b 65 79 3a  |14)......getkey:|
00005d90  fd 6b 65 79 25 3c 3e 55  25 80 6b 65 79 25 3c 3e  |.key%<>U%.key%<>|
00005da0  56 25 0d 1d b0 1a 72 6f  74 61 74 65 24 3d 69 6e  |V%....rotate$=in|
00005db0  6b 65 79 24 3a 57 25 3d  6b 65 79 25 0d 1d ba 24  |key$:W%=key%...$|
00005dc0  f2 75 28 22 44 65 66 69  6e 65 20 72 6f 74 61 74  |.u("Define rotat|
00005dd0  65 20 6b 65 79 22 2c 33  2c 33 2c 30 2c 31 34 29  |e key",3,3,0,14)|
00005de0  0d 1d c4 2e f2 74 28 22  52 6f 74 61 74 65 20 62  |.....t("Rotate b|
00005df0  6c 6f 63 6b 3a 20 3c 22  2b 72 6f 74 61 74 65 24  |lock: <"+rotate$|
00005e00  2b 22 3e 22 2c 30 2c 33  2c 30 2c 31 34 29 0d 1d  |+">",0,3,0,14)..|
00005e10  ce 22 f2 74 28 22 44 65  66 69 6e 65 20 64 72 6f  |.".t("Define dro|
00005e20  70 20 6b 65 79 22 2c 33  2c 33 2c 30 2c 31 36 29  |p key",3,3,0,16)|
00005e30  0d 1d d8 28 f5 f2 67 65  74 6b 65 79 3a fd 6b 65  |...(..getkey:.ke|
00005e40  79 25 3c 3e 55 25 80 6b  65 79 25 3c 3e 56 25 80  |y%<>U%.key%<>V%.|
00005e50  6b 65 79 25 3c 3e 57 25  0d 1d e2 18 64 72 6f 70  |key%<>W%....drop|
00005e60  24 3d 69 6e 6b 65 79 24  3a 5a 25 3d 6b 65 79 25  |$=inkey$:Z%=key%|
00005e70  0d 1d ec 22 f2 75 28 22  44 65 66 69 6e 65 20 64  |...".u("Define d|
00005e80  72 6f 70 20 6b 65 79 22  2c 33 2c 33 2c 30 2c 31  |rop key",3,3,0,1|
00005e90  36 29 0d 1d f6 2a f2 74  28 22 44 72 6f 70 20 62  |6)...*.t("Drop b|
00005ea0  6c 6f 63 6b 3a 20 3c 22  2b 64 72 6f 70 24 2b 22  |lock: <"+drop$+"|
00005eb0  3e 22 2c 30 2c 33 2c 30  2c 31 36 29 0d 1e 00 23  |>",0,3,0,16)...#|
00005ec0  f2 74 28 22 44 65 66 69  6e 65 20 70 61 75 73 65  |.t("Define pause|
00005ed0  20 6b 65 79 22 2c 33 2c  33 2c 30 2c 31 38 29 0d  | key",3,3,0,18).|
00005ee0  1e 0a 6d f5 f2 67 65 74  6b 65 79 3a fd 6b 65 79  |..m..getkey:.key|
00005ef0  25 3c 3e 55 25 80 6b 65  79 25 3c 3e 56 25 80 6b  |%<>U%.key%<>V%.k|
00005f00  65 79 25 3c 3e 57 25 80  6b 65 79 25 3c 3e 5a 25  |ey%<>W%.key%<>Z%|
00005f10  80 6b 65 79 25 3c 3e 2d  31 37 80 6b 65 79 25 3c  |.key%<>-17.key%<|
00005f20  3e 2d 38 32 80 6b 65 79  25 3c 3e 2d 34 31 80 6b  |>-82.key%<>-41.k|
00005f30  65 79 25 3c 3e 2d 39 34  80 6b 65 79 25 3c 3e 2d  |ey%<>-94.key%<>-|
00005f40  36 30 80 6b 65 79 25 3c  3e 2d 35 39 0d 1e 14 19  |60.key%<>-59....|
00005f50  70 61 75 73 65 24 3d 69  6e 6b 65 79 24 3a 54 25  |pause$=inkey$:T%|
00005f60  3d 6b 65 79 25 0d 1e 1e  23 f2 75 28 22 44 65 66  |=key%...#.u("Def|
00005f70  69 6e 65 20 70 61 75 73  65 20 6b 65 79 22 2c 33  |ine pause key",3|
00005f80  2c 33 2c 30 2c 31 38 29  0d 1e 28 2b f2 74 28 22  |,3,0,18)..(+.t("|
00005f90  50 61 75 73 65 20 67 61  6d 65 3a 20 3c 22 2b 70  |Pause game: <"+p|
00005fa0  61 75 73 65 24 2b 22 3e  22 2c 30 2c 33 2c 30 2c  |ause$+">",0,3,0,|
00005fb0  31 38 29 0d 1e 32 2a f2  74 28 22 50 72 65 73 73  |18)..2*.t("Press|
00005fc0  20 61 20 6b 65 79 20 74  6f 20 63 6f 6e 74 69 6e  | a key to contin|
00005fd0  75 65 22 2c 30 2c 30 2c  33 2c 32 31 29 0d 1e 3c  |ue",0,0,3,21)..<|
00005fe0  0b 2a 46 58 32 31 2c 30  0d 1e 46 08 41 24 3d be  |.*FX21,0..F.A$=.|
00005ff0  0d 1e 50 09 f2 77 69 70  65 0d 1e 5a 1e f2 75 28  |..P..wipe..Z..u(|
00006000  22 45 6e 74 65 72 20 6b  65 79 73 3a 2d 22 2c 33  |"Enter keys:-",3|
00006010  2c 30 2c 30 2c 37 29 0d  1e 64 13 e3 6c 25 3d 38  |,0,0,7)..d..l%=8|
00006020  32 34 b8 2d 32 30 30 88  2d 34 0d 1e 6e 22 c8 99  |24.-200.-4..n"..|
00006030  26 32 45 2c 32 39 30 2c  73 70 72 25 2c 22 53 63  |&2E,290,spr%,"Sc|
00006040  72 65 65 6e 22 2c 34 31  35 2c 6c 25 0d 1e 78 05  |reen",415,l%..x.|
00006050  ed 0d 1e 82 0f ef 34 3a  2a 46 58 32 30 30 2c 30  |......4:*FX200,0|
00006060  0d 1e 8c 0b 2a 46 58 32  31 2c 30 0d 1e 96 05 e1  |....*FX21,0.....|
00006070  0d 1e a0 05 3a 0d 1e aa  0c dd f2 67 65 74 6b 65  |....:......getke|
00006080  79 0d 1e b4 0a 6b 65 79  25 3d 30 0d 1e be 0a f5  |y....key%=0.....|
00006090  f7 8d 54 4e 5f 0d 1e c8  11 e3 69 6e 6b 65 79 25  |..TN_.....inkey%|
000060a0  3d 31 b8 31 32 35 0d 1e  d2 09 f3 6b 65 79 24 0d  |=1.125.....key$.|
000060b0  1e dc 26 e7 a6 2d 69 6e  6b 65 79 25 8c 6b 65 79  |..&..-inkey%.key|
000060c0  25 3d 2d 69 6e 6b 65 79  25 3a 69 6e 6b 65 79 24  |%=-inkey%:inkey$|
000060d0  3d 6b 65 79 24 0d 1e e6  05 ed 0d 1e f0 16 fd 6b  |=key$..........k|
000060e0  65 79 25 3c 30 80 6b 65  79 25 3c 3e 2d 31 31 33  |ey%<0.key%<>-113|
000060f0  0d 1e fa 05 e1 0d 1f 04  05 3a 0d 1f 0e 3d dc 22  |.........:...=."|
00006100  53 48 49 46 54 22 2c 22  43 54 52 4c 22 2c 22 41  |SHIFT","CTRL","A|
00006110  4c 54 22 2c 22 4c 45 46  54 20 53 48 49 46 54 22  |LT","LEFT SHIFT"|
00006120  2c 22 4c 45 46 54 20 43  54 52 4c 22 2c 22 4c 45  |,"LEFT CTRL","LE|
00006130  46 54 20 41 4c 54 22 0d  1f 18 44 dc 22 52 49 47  |FT ALT"...D."RIG|
00006140  48 54 20 53 48 49 46 54  22 2c 22 52 49 47 48 54  |HT SHIFT","RIGHT|
00006150  20 43 54 52 4c 22 2c 22  52 49 47 48 54 20 41 4c  | CTRL","RIGHT AL|
00006160  54 22 2c 22 53 45 4c 45  43 54 22 2c 22 4d 45 4e  |T","SELECT","MEN|
00006170  55 22 2c 22 41 44 4a 55  53 54 22 0d 1f 22 46 dc  |U","ADJUST".."F.|
00006180  22 4e 4f 20 4b 45 59 22  2c 22 4e 4f 20 4b 45 59  |"NO KEY","NO KEY|
00006190  22 2c 22 4e 4f 20 4b 45  59 22 2c 22 4e 4f 20 4b  |","NO KEY","NO K|
000061a0  45 59 22 2c 22 51 22 2c  22 33 22 2c 22 34 22 2c  |EY","Q","3","4",|
000061b0  22 35 22 2c 22 46 34 22  2c 22 38 22 2c 22 46 37  |"5","F4","8","F7|
000061c0  22 0d 1f 2c 42 dc 22 4d  49 4e 55 53 22 2c 22 36  |"..,B."MINUS","6|
000061d0  22 2c 22 43 55 52 53 4f  52 20 4c 45 46 54 22 2c  |","CURSOR LEFT",|
000061e0  22 4b 45 59 2d 50 41 44  20 36 22 2c 22 4b 45 59  |"KEY-PAD 6","KEY|
000061f0  2d 50 41 44 20 37 22 2c  22 46 31 31 22 2c 22 46  |-PAD 7","F11","F|
00006200  31 32 22 0d 1f 36 44 dc  22 46 31 30 22 2c 22 53  |12"..6D."F10","S|
00006210  43 52 4f 4c 4c 20 4c 4f  43 4b 22 2c 22 50 52 49  |CROLL LOCK","PRI|
00006220  4e 54 22 2c 22 57 22 2c  22 45 22 2c 22 54 22 2c  |NT","W","E","T",|
00006230  22 37 22 2c 22 49 22 2c  22 39 22 2c 22 30 22 2c  |"7","I","9","0",|
00006240  22 4d 49 4e 55 53 22 0d  1f 40 3e dc 22 43 53 20  |"MINUS"..@>."CS |
00006250  44 4f 57 4e 22 2c 22 4b  45 59 2d 50 41 44 20 38  |DOWN","KEY-PAD 8|
00006260  22 2c 22 4b 45 59 2d 50  41 44 20 39 22 2c 22 42  |","KEY-PAD 9","B|
00006270  52 45 41 4b 22 2c 22 54  49 4c 44 45 22 2c 22 50  |REAK","TILDE","P|
00006280  4f 55 4e 44 22 0d 1f 4a  48 dc 22 42 41 43 4b 20  |OUND"..JH."BACK |
00006290  53 50 41 43 45 22 2c 22  31 22 2c 22 32 22 2c 22  |SPACE","1","2","|
000062a0  44 22 2c 22 52 22 2c 22  36 22 2c 22 55 22 2c 22  |D","R","6","U","|
000062b0  4f 22 2c 22 50 22 2c 22  52 49 47 48 54 20 53 51  |O","P","RIGHT SQ|
000062c0  55 41 52 45 20 42 52 41  43 4b 45 54 22 0d 1f 54  |UARE BRACKET"..T|
000062d0  40 dc 22 43 55 52 53 4f  52 20 55 50 22 2c 22 4b  |@."CURSOR UP","K|
000062e0  45 59 2d 50 41 44 20 50  4c 55 53 22 2c 22 4b 45  |EY-PAD PLUS","KE|
000062f0  59 2d 50 41 44 20 4d 49  4e 55 53 22 2c 22 45 4e  |Y-PAD MINUS","EN|
00006300  54 45 52 22 2c 22 49 4e  53 45 52 54 22 0d 1f 5e  |TER","INSERT"..^|
00006310  46 dc 22 48 4f 4d 45 22  2c 22 50 41 47 45 20 55  |F."HOME","PAGE U|
00006320  50 22 2c 22 43 41 50 53  20 4c 4f 43 4b 22 2c 22  |P","CAPS LOCK","|
00006330  41 22 2c 22 58 22 2c 22  46 22 2c 22 59 22 2c 22  |A","X","F","Y","|
00006340  4a 22 2c 22 4b 22 2c 22  32 22 2c 22 4e 4f 20 4b  |J","K","2","NO K|
00006350  45 59 22 0d 1f 68 41 dc  22 52 45 54 55 52 4e 22  |EY"..hA."RETURN"|
00006360  2c 22 4b 45 59 2d 50 41  44 20 53 4c 41 53 48 22  |,"KEY-PAD SLASH"|
00006370  2c 22 4e 4f 20 4b 45 59  22 2c 22 4b 45 59 2d 50  |,"NO KEY","KEY-P|
00006380  41 44 20 50 4f 49 4e 54  22 2c 22 4e 55 4d 20 4c  |AD POINT","NUM L|
00006390  4f 43 4b 22 0d 1f 72 46  dc 22 50 41 47 45 20 44  |OCK"..rF."PAGE D|
000063a0  4f 57 4e 22 2c 22 51 55  4f 54 45 22 2c 22 4e 4f  |OWN","QUOTE","NO|
000063b0  20 4b 45 59 22 2c 22 53  22 2c 22 43 22 2c 22 47  | KEY","S","C","G|
000063c0  22 2c 22 48 22 2c 22 4e  22 2c 22 4c 22 2c 22 53  |","H","N","L","S|
000063d0  45 4d 49 20 43 4f 4c 4f  4e 22 0d 1f 7c 41 dc 22  |EMI COLON"..|A."|
000063e0  4c 45 46 54 20 53 51 55  41 52 45 20 42 52 41 43  |LEFT SQUARE BRAC|
000063f0  4b 45 54 22 2c 22 44 45  4c 45 54 45 22 2c 22 4b  |KET","DELETE","K|
00006400  45 59 2d 50 41 44 20 48  41 53 48 22 2c 22 4b 45  |EY-PAD HASH","KE|
00006410  59 2d 50 41 44 20 53 54  41 52 22 0d 1f 86 46 dc  |Y-PAD STAR"...F.|
00006420  22 4e 4f 20 4b 45 59 22  2c 22 45 51 55 41 4c 53  |"NO KEY","EQUALS|
00006430  22 2c 22 4e 4f 20 4b 45  59 22 2c 22 4e 4f 20 4b  |","NO KEY","NO K|
00006440  45 59 22 2c 22 54 41 42  22 2c 22 5a 22 2c 22 53  |EY","TAB","Z","S|
00006450  50 41 43 45 22 2c 22 56  22 2c 22 42 22 2c 22 4d  |PACE","V","B","M|
00006460  22 0d 1f 90 48 dc 22 43  4f 4d 4d 41 22 2c 22 50  |"...H."COMMA","P|
00006470  4f 49 4e 54 22 2c 22 44  49 56 49 44 45 22 2c 22  |OINT","DIVIDE","|
00006480  43 4f 50 59 22 2c 22 4b  45 59 2d 50 41 44 20 30  |COPY","KEY-PAD 0|
00006490  22 2c 22 4b 45 59 2d 50  41 44 20 31 22 2c 22 4b  |","KEY-PAD 1","K|
000064a0  45 59 2d 50 41 44 20 33  22 0d 1f 9a 46 dc 22 4e  |EY-PAD 3"...F."N|
000064b0  4f 20 4b 45 59 22 2c 22  4e 4f 20 4b 45 59 22 2c  |O KEY","NO KEY",|
000064c0  22 4e 4f 20 4b 45 59 22  2c 22 45 53 43 41 50 45  |"NO KEY","ESCAPE|
000064d0  22 2c 22 46 31 22 2c 22  46 32 22 2c 22 46 33 22  |","F1","F2","F3"|
000064e0  2c 22 46 35 22 2c 22 46  36 22 2c 22 46 38 22 0d  |,"F5","F6","F8".|
000064f0  1f a4 44 dc 22 46 39 22  2c 22 53 4c 41 53 48 22  |..D."F9","SLASH"|
00006500  2c 22 43 55 52 53 4f 52  20 52 49 47 48 54 22 2c  |,"CURSOR RIGHT",|
00006510  22 4b 45 59 2d 50 41 44  20 34 22 2c 22 4b 45 59  |"KEY-PAD 4","KEY|
00006520  2d 50 41 44 20 35 22 2c  22 4b 45 59 2d 50 41 44  |-PAD 5","KEY-PAD|
00006530  20 32 22 0d 1f ae 05 3a  0d 1f b8 13 dd f2 61 64  | 2"....:......ad|
00006540  64 72 65 73 73 65 73 28  4c 25 29 0d 1f c2 2e c8  |dresses(L%).....|
00006550  99 22 4f 53 5f 53 70 72  69 74 65 4f 70 22 2c 32  |."OS_SpriteOp",2|
00006560  38 30 2c 73 70 72 25 2c  22 61 22 2b bd 28 36 35  |80,spr%,"a"+.(65|
00006570  2b 4c 25 29 b8 2c 2c 61  25 0d 1f cc 2e c8 99 22  |+L%).,,a%......"|
00006580  4f 53 5f 53 70 72 69 74  65 4f 70 22 2c 32 38 30  |OS_SpriteOp",280|
00006590  2c 73 70 72 25 2c 22 62  22 2b bd 28 36 35 2b 4c  |,spr%,"b"+.(65+L|
000065a0  25 29 b8 2c 2c 62 25 0d  1f d6 2e c8 99 22 4f 53  |%).,,b%......"OS|
000065b0  5f 53 70 72 69 74 65 4f  70 22 2c 32 38 30 2c 73  |_SpriteOp",280,s|
000065c0  70 72 25 2c 22 63 22 2b  bd 28 36 35 2b 4c 25 29  |pr%,"c"+.(65+L%)|
000065d0  b8 2c 2c 63 25 0d 1f e0  2e c8 99 22 4f 53 5f 53  |.,,c%......"OS_S|
000065e0  70 72 69 74 65 4f 70 22  2c 32 38 30 2c 73 70 72  |priteOp",280,spr|
000065f0  25 2c 22 64 22 2b bd 28  36 35 2b 4c 25 29 b8 2c  |%,"d"+.(65+L%).,|
00006600  2c 64 25 0d 1f ea 2e c8  99 22 4f 53 5f 53 70 72  |,d%......"OS_Spr|
00006610  69 74 65 4f 70 22 2c 32  38 30 2c 73 70 72 25 2c  |iteOp",280,spr%,|
00006620  22 65 22 2b bd 28 36 35  2b 4c 25 29 b8 2c 2c 65  |"e"+.(65+L%).,,e|
00006630  25 0d 1f f4 2e c8 99 22  4f 53 5f 53 70 72 69 74  |%......"OS_Sprit|
00006640  65 4f 70 22 2c 32 38 30  2c 73 70 72 25 2c 22 66  |eOp",280,spr%,"f|
00006650  22 2b bd 28 36 35 2b 4c  25 29 b8 2c 2c 66 25 0d  |"+.(65+L%).,,f%.|
00006660  1f fe 2e c8 99 22 4f 53  5f 53 70 72 69 74 65 4f  |....."OS_SpriteO|
00006670  70 22 2c 32 38 30 2c 73  70 72 25 2c 22 40 22 2b  |p",280,spr%,"@"+|
00006680  bd 28 36 35 2b 4c 25 29  b8 2c 2c 67 25 0d 20 08  |.(65+L%).,,g%. .|
00006690  2e c8 99 22 4f 53 5f 53  70 72 69 74 65 4f 70 22  |..."OS_SpriteOp"|
000066a0  2c 32 38 30 2c 73 70 72  25 2c 22 67 22 2b bd 28  |,280,spr%,"g"+.(|
000066b0  36 35 2b 4c 25 29 b8 2c  2c 7a 25 0d 20 12 2e c8  |65+L%).,,z%. ...|
000066c0  99 22 4f 53 5f 53 70 72  69 74 65 4f 70 22 2c 32  |."OS_SpriteOp",2|
000066d0  38 30 2c 73 70 72 25 2c  22 68 22 2b bd 28 36 35  |80,spr%,"h"+.(65|
000066e0  2b 4c 25 29 b8 2c 2c 71  25 0d 20 1c 2e c8 99 22  |+L%).,,q%. ...."|
000066f0  4f 53 5f 53 70 72 69 74  65 4f 70 22 2c 32 38 30  |OS_SpriteOp",280|
00006700  2c 73 70 72 25 2c 22 69  22 2b bd 28 36 35 2b 4c  |,spr%,"i"+.(65+L|
00006710  25 29 b8 2c 2c 70 25 0d  20 26 05 e1 0d 20 30 05  |%).,,p%. &... 0.|
00006720  3a 0d 20 3a 0b dd f2 68  61 70 70 79 0d 20 44 07  |:. :...happy. D.|
00006730  ea 4c 25 0d 20 4e 0e 68  61 70 70 6c 75 73 25 3d  |.L%. N.happlus%=|
00006740  30 0d 20 58 1b e7 42 25  3d 33 32 8c 42 25 3d 41  |0. X..B%=32.B%=A|
00006750  25 3a 68 61 70 70 6c 75  73 25 3d 31 0d 20 62 21  |%:happlus%=1. b!|
00006760  e7 43 25 3d 33 32 8c 43  25 3d 42 25 3a 42 25 3d  |.C%=32.C%=B%:B%=|
00006770  41 25 3a 68 61 70 70 6c  75 73 25 3d 32 0d 20 6c  |A%:happlus%=2. l|
00006780  08 41 25 3d 30 0d 20 76  0c e3 4c 25 3d 30 b8 31  |.A%=0. v..L%=0.1|
00006790  37 0d 20 80 1d e7 41 25  28 58 25 2c 4c 25 29 3d  |7. ...A%(X%,L%)=|
000067a0  32 34 8c 41 25 28 58 25  2c 4c 25 29 3d 30 0d 20  |24.A%(X%,L%)=0. |
000067b0  8a 05 ed 0d 20 94 15 68  61 70 70 79 25 3d b9 3a  |.... ..happy%=.:|
000067c0  48 41 50 50 59 25 3d a3  0d 20 9e 05 e1 0d 20 a8  |HAPPY%=.. .... .|
000067d0  05 3a 0d 20 b2 14 dd f2  6e 75 6d 62 28 4e 25 2c  |.:. ....numb(N%,|
000067e0  58 25 2c 59 25 29 0d 20  bc 0d ea 4e 24 2c 46 25  |X%,Y%). ...N$,F%|
000067f0  2c 4c 25 0d 20 c6 11 4e  24 3d c3 4e 25 3a 46 25  |,L%. ..N$=.N%:F%|
00006800  3d a9 4e 24 0d 20 d0 0a  e7 46 25 3c 36 8c 0d 20  |=.N$. ...F%<6.. |
00006810  da 0e e3 4c 25 3d 30 b8  35 2d 46 25 0d 20 e4 24  |...L%=0.5-F%. .$|
00006820  c8 99 26 32 45 2c 32 39  30 2c 73 70 72 25 2c 22  |..&2E,290,spr%,"|
00006830  30 22 2c 58 25 2b 28 4c  25 2a 33 32 29 2c 59 25  |0",X%+(L%*32),Y%|
00006840  0d 20 ee 05 ed 0d 20 f8  14 4e 24 3d c4 36 2d 46  |. .... ..N$=.6-F|
00006850  25 2c 22 30 22 29 2b 4e  24 0d 21 02 05 cd 0d 21  |%,"0")+N$.!....!|
00006860  0c 0e e3 4c 25 3d 36 2d  46 25 b8 35 0d 21 16 2c  |...L%=6-F%.5.!.,|
00006870  c8 99 26 32 45 2c 32 39  30 2c 73 70 72 25 2c c1  |..&2E,290,spr%,.|
00006880  4e 24 2c 4c 25 2b 31 2c  31 29 2c 58 25 2b 28 4c  |N$,L%+1,1),X%+(L|
00006890  25 2a 33 32 29 2c 59 25  0d 21 20 05 ed 0d 21 2a  |%*32),Y%.! ...!*|
000068a0  05 e1 0d 21 34 05 3a 0d  21 3e 0d dd f2 6c 6f 6f  |...!4.:.!>...loo|
000068b0  6b 73 65 65 0d 21 48 0f  e7 ac 63 68 61 6e 67 65  |ksee.!H...change|
000068c0  25 8c e1 0d 21 52 14 e3  79 25 3d 30 b8 31 37 3a  |%...!R..y%=0.17:|
000068d0  e3 78 25 3d 30 b8 35 0d  21 5c 7c e7 41 25 28 78  |.x%=0.5.!\|.A%(x|
000068e0  25 2c 79 25 29 3c 3e 32  34 3a c8 99 26 32 45 2c  |%,y%)<>24:..&2E,|
000068f0  32 39 30 2c 73 70 72 25  2c bd 28 36 34 2b 41 25  |290,spr%,.(64+A%|
00006900  28 78 25 2c 79 25 29 29  2b bd 28 36 35 2b 4c 25  |(x%,y%))+.(65+L%|
00006910  29 2c 34 38 30 2b 28 78  25 2a 35 32 29 2c 39 34  |),480+(x%*52),94|
00006920  30 2d 28 79 25 2a 35 32  29 8b c8 99 26 32 45 2c  |0-(y%*52)...&2E,|
00006930  35 34 36 2c 73 70 72 25  2c 71 25 2c 34 38 30 2b  |546,spr%,q%,480+|
00006940  28 78 25 2a 35 32 29 2c  39 34 30 2d 28 79 25 2a  |(x%*52),940-(y%*|
00006950  35 32 29 0d 21 66 06 ed  2c 0d 21 70 2f f1 8a 33  |52).!f..,.!p/..3|
00006960  30 2c 37 29 22 50 72 65  76 69 65 77 22 3b 8a 33  |0,7)"Preview";.3|
00006970  30 2c 38 29 22 74 69 6d  65 22 3b 8a 33 30 2c 39  |0,8)"time";.30,9|
00006980  29 22 6c 65 66 74 3a 22  0d 21 7a 0b 2a 46 58 32  |)"left:".!z.*FX2|
00006990  31 2c 30 0d 21 84 0e e3  41 25 3d 35 b8 31 88 2d  |1,0.!...A%=5.1.-|
000069a0  31 0d 21 8e 15 f2 6e 75  6d 62 28 41 25 2c 39 36  |1.!...numb(A%,96|
000069b0  32 2c 36 30 30 29 0d 21  98 0d 41 24 3d bf 28 31  |2,600).!..A$=.(1|
000069c0  30 30 29 0d 21 a2 10 e7  41 24 3c 3e 22 22 8c 41  |00).!...A$<>"".A|
000069d0  25 3d 31 0d 21 ac 05 ed  0d 21 b6 09 e6 30 c8 9c  |%=1.!....!...0..|
000069e0  30 0d 21 c0 17 c8 93 c8  90 39 35 30 2c 35 30 30  |0.!......950,500|
000069f0  2c 33 30 30 2c 35 30 30  0d 21 ca 05 e1 0d 21 d4  |,300,500.!....!.|
00006a00  05 3a 0d 21 de 0d dd f2  6f 70 74 69 6f 6e 73 0d  |.:.!....options.|
00006a10  21 e8 15 eb 31 33 3a 87  3a ef 35 3a 2a 46 58 32  |!...13:.:.5:*FX2|
00006a20  30 30 2c 31 0d 21 f2 12  e3 6c 25 3d 2d 32 30 30  |00,1.!...l%=-200|
00006a30  b8 38 32 34 88 34 0d 21  fc 22 c8 99 26 32 45 2c  |.824.4.!."..&2E,|
00006a40  32 39 30 2c 73 70 72 25  2c 22 53 63 72 65 65 6e  |290,spr%,"Screen|
00006a50  22 2c 34 31 35 2c 6c 25  0d 22 06 05 ed 0d 22 10  |",415,l%."....".|
00006a60  22 f2 74 28 22 53 65 6c  65 63 74 20 4f 70 74 69  |".t("Select Opti|
00006a70  6f 6e 73 3a 2d 22 2c 33  2c 30 2c 30 2c 37 29 0d  |ons:-",3,0,0,7).|
00006a80  22 1a 30 f2 74 28 22 57  69 70 65 20 73 63 72 65  |".0.t("Wipe scre|
00006a90  65 6e 20 77 68 65 6e 20  70 61 75 73 65 64 20 28  |en when paused (|
00006aa0  59 2f 4e 29 22 2c 33 2c  33 2c 30 2c 31 30 29 0d  |Y/N)",3,3,0,10).|
00006ab0  22 24 16 f2 79 65 73 6e  6f 28 77 69 70 65 25 2c  |"$..yesno(wipe%,|
00006ac0  61 6e 73 24 29 0d 22 2e  1c e7 77 69 70 65 25 20  |ans$)."...wipe% |
00006ad0  8c 68 61 6c 66 3d 30 2e  35 20 8b 68 61 6c 66 3d  |.half=0.5 .half=|
00006ae0  31 0d 22 38 30 f2 75 28  22 57 69 70 65 20 73 63  |1."80.u("Wipe sc|
00006af0  72 65 65 6e 20 77 68 65  6e 20 70 61 75 73 65 64  |reen when paused|
00006b00  20 28 59 2f 4e 29 22 2c  33 2c 33 2c 30 2c 31 30  | (Y/N)",3,3,0,10|
00006b10  29 0d 22 42 31 f2 74 28  22 57 69 70 65 20 73 63  |)."B1.t("Wipe sc|
00006b20  72 65 65 6e 20 77 68 65  6e 20 70 61 75 73 65 64  |reen when paused|
00006b30  3a 20 22 2b 61 6e 73 24  2c 30 2c 33 2c 30 2c 31  |: "+ans$,0,3,0,1|
00006b40  30 29 0d 22 4c 29 f2 74  28 22 53 74 72 75 63 74  |0)."L).t("Struct|
00006b50  75 72 65 64 20 67 61 6d  65 3f 20 28 59 2f 4e 29  |ured game? (Y/N)|
00006b60  22 2c 33 2c 33 2c 30 2c  31 32 29 0d 22 56 1c f2  |",3,3,0,12)."V..|
00006b70  79 65 73 6e 6f 28 73 74  72 75 63 74 75 72 65 64  |yesno(structured|
00006b80  25 2c 61 6e 73 24 29 0d  22 60 29 f2 75 28 22 53  |%,ans$)."`).u("S|
00006b90  74 72 75 63 74 75 72 65  64 20 67 61 6d 65 3f 20  |tructured game? |
00006ba0  28 59 2f 4e 29 22 2c 33  2c 33 2c 30 2c 31 32 29  |(Y/N)",3,3,0,12)|
00006bb0  0d 22 6a 29 f2 74 28 22  53 74 72 75 63 74 75 72  |."j).t("Structur|
00006bc0  65 64 20 67 61 6d 65 3a  20 22 2b 61 6e 73 24 2c  |ed game: "+ans$,|
00006bd0  30 2c 33 2c 30 2c 31 32  29 0d 22 74 12 e7 ac 73  |0,3,0,12)."t...s|
00006be0  74 72 75 63 74 75 72 65  64 25 8c 0d 22 7e 26 f2  |tructured%.."~&.|
00006bf0  74 28 22 4d 61 67 69 63  20 42 6c 6f 63 6b 73 3f  |t("Magic Blocks?|
00006c00  20 28 59 2f 4e 29 22 2c  33 2c 33 2c 30 2c 31 34  | (Y/N)",3,3,0,14|
00006c10  29 0d 22 88 17 f2 79 65  73 6e 6f 28 6d 61 67 69  |)."...yesno(magi|
00006c20  63 25 2c 61 6e 73 24 29  0d 22 92 26 f2 75 28 22  |c%,ans$).".&.u("|
00006c30  4d 61 67 69 63 20 42 6c  6f 63 6b 73 3f 20 28 59  |Magic Blocks? (Y|
00006c40  2f 4e 29 22 2c 33 2c 33  2c 30 2c 31 34 29 0d 22  |/N)",3,3,0,14)."|
00006c50  9c 26 f2 74 28 22 4d 61  67 69 63 20 42 6c 6f 63  |.&.t("Magic Bloc|
00006c60  6b 73 3a 20 22 2b 61 6e  73 24 2c 30 2c 33 2c 30  |ks: "+ans$,0,3,0|
00006c70  2c 31 34 29 0d 22 a6 05  cc 0d 22 b0 3d f2 74 28  |,14)."....".=.t(|
00006c80  22 4d 61 67 69 63 20 42  6c 6f 63 6b 73 20 66 72  |"Magic Blocks fr|
00006c90  6f 6d 20 6c 65 76 65 6c  20 32 20 6f 6e 77 61 72  |om level 2 onwar|
00006ca0  64 73 22 2c 33 2c 30 2c  33 2c 31 34 29 3a 6d 61  |ds",3,0,3,14):ma|
00006cb0  67 69 63 25 3d a3 0d 22  ba 05 cd 0d 22 c4 12 e7  |gic%=.."...."...|
00006cc0  ac 73 74 72 75 63 74 75  72 65 64 25 8c 0d 22 ce  |.structured%..".|
00006cd0  34 f2 74 28 22 42 6c 6f  63 6b 65 72 20 61 6e 64  |4.t("Blocker and|
00006ce0  20 52 65 6d 6f 76 65 72  20 42 6c 6f 63 6b 73 3f  | Remover Blocks?|
00006cf0  20 28 59 2f 4e 29 22 2c  33 2c 33 2c 30 2c 31 36  | (Y/N)",3,3,0,16|
00006d00  29 0d 22 d8 17 f2 79 65  73 6e 6f 28 62 6c 6f 63  |)."...yesno(bloc|
00006d10  6b 25 2c 61 6e 73 24 29  0d 22 e2 34 f2 75 28 22  |k%,ans$).".4.u("|
00006d20  42 6c 6f 63 6b 65 72 20  61 6e 64 20 52 65 6d 6f  |Blocker and Remo|
00006d30  76 65 72 20 42 6c 6f 63  6b 73 3f 20 28 59 2f 4e  |ver Blocks? (Y/N|
00006d40  29 22 2c 33 2c 33 2c 30  2c 31 36 29 0d 22 ec 34  |)",3,3,0,16).".4|
00006d50  f2 74 28 22 42 6c 6f 63  6b 65 72 20 61 6e 64 20  |.t("Blocker and |
00006d60  52 65 6d 6f 76 65 72 20  42 6c 6f 63 6b 73 3a 20  |Remover Blocks: |
00006d70  22 2b 61 6e 73 24 2c 30  2c 33 2c 30 2c 31 36 29  |"+ans$,0,3,0,16)|
00006d80  0d 22 f6 05 cc 0d 23 00  3a f2 74 28 22 42 6c 6f  |."....#.:.t("Blo|
00006d90  63 6b 65 72 20 61 6e 64  20 52 65 6d 6f 76 65 72  |cker and Remover|
00006da0  20 42 6c 6f 63 6b 73 20  66 72 6f 6d 20 6c 65 76  | Blocks from lev|
00006db0  65 6c 20 33 22 2c 33 2c  30 2c 33 2c 31 36 29 0d  |el 3",3,0,3,16).|
00006dc0  23 0a 0c 62 6c 6f 63 6b  25 3d a3 0d 23 14 05 cd  |#..block%=..#...|
00006dd0  0d 23 1e 35 f2 74 28 22  44 69 73 70 6c 61 79 20  |.#.5.t("Display |
00006de0  6e 6f 2e 20 6f 66 20 74  69 6c 65 73 20 66 61 6c  |no. of tiles fal|
00006df0  6c 65 6e 3f 20 28 59 2f  4e 29 22 2c 33 2c 33 2c  |len? (Y/N)",3,3,|
00006e00  30 2c 31 38 29 0d 23 28  17 f2 79 65 73 6e 6f 28  |0,18).#(..yesno(|
00006e10  74 69 6c 65 73 25 2c 61  6e 73 24 29 0d 23 32 35  |tiles%,ans$).#25|
00006e20  f2 75 28 22 44 69 73 70  6c 61 79 20 6e 6f 2e 20  |.u("Display no. |
00006e30  6f 66 20 74 69 6c 65 73  20 66 61 6c 6c 65 6e 3f  |of tiles fallen?|
00006e40  20 28 59 2f 4e 29 22 2c  33 2c 33 2c 30 2c 31 38  | (Y/N)",3,3,0,18|
00006e50  29 0d 23 3c 35 f2 74 28  22 44 69 73 70 6c 61 79  |).#<5.t("Display|
00006e60  20 6e 6f 2e 20 6f 66 20  74 69 6c 65 73 20 66 61  | no. of tiles fa|
00006e70  6c 6c 65 6e 3a 20 22 2b  61 6e 73 24 2c 30 2c 33  |llen: "+ans$,0,3|
00006e80  2c 30 2c 31 38 29 0d 23  46 33 f2 74 28 22 43 68  |,0,18).#F3.t("Ch|
00006e90  61 6e 67 65 20 73 70 72  69 74 65 73 20 65 61 63  |ange sprites eac|
00006ea0  68 20 6c 65 76 65 6c 3f  20 28 59 2f 4e 29 22 2c  |h level? (Y/N)",|
00006eb0  33 2c 33 2c 30 2c 32 30  29 0d 23 50 18 f2 79 65  |3,3,0,20).#P..ye|
00006ec0  73 6e 6f 28 63 68 61 6e  67 65 25 2c 61 6e 73 24  |sno(change%,ans$|
00006ed0  29 0d 23 5a 33 f2 75 28  22 43 68 61 6e 67 65 20  |).#Z3.u("Change |
00006ee0  73 70 72 69 74 65 73 20  65 61 63 68 20 6c 65 76  |sprites each lev|
00006ef0  65 6c 3f 20 28 59 2f 4e  29 22 2c 33 2c 33 2c 30  |el? (Y/N)",3,3,0|
00006f00  2c 32 30 29 0d 23 64 33  f2 74 28 22 43 68 61 6e  |,20).#d3.t("Chan|
00006f10  67 65 20 73 70 72 69 74  65 73 20 65 61 63 68 20  |ge sprites each |
00006f20  6c 65 76 65 6c 3a 20 22  2b 61 6e 73 24 2c 30 2c  |level: "+ans$,0,|
00006f30  33 2c 30 2c 32 30 29 0d  23 6e 12 e7 ac 73 74 72  |3,0,20).#n...str|
00006f40  75 63 74 75 72 65 64 25  8c 0d 23 78 2f f2 74 28  |uctured%..#x/.t(|
00006f50  22 44 69 66 66 65 72 65  6e 74 20 62 6c 6f 63 6b  |"Different block|
00006f60  20 73 69 7a 65 73 3f 20  28 59 2f 4e 29 22 2c 33  | sizes? (Y/N)",3|
00006f70  2c 33 2c 30 2c 32 32 29  0d 23 82 16 f2 79 65 73  |,3,0,22).#...yes|
00006f80  6e 6f 28 78 74 72 61 25  2c 61 6e 73 24 29 0d 23  |no(xtra%,ans$).#|
00006f90  8c 2f f2 75 28 22 44 69  66 66 65 72 65 6e 74 20  |./.u("Different |
00006fa0  62 6c 6f 63 6b 20 73 69  7a 65 73 3f 20 28 59 2f  |block sizes? (Y/|
00006fb0  4e 29 22 2c 33 2c 33 2c  30 2c 32 32 29 0d 23 96  |N)",3,3,0,22).#.|
00006fc0  2f f2 74 28 22 44 69 66  66 65 72 65 6e 74 20 62  |/.t("Different b|
00006fd0  6c 6f 63 6b 20 73 69 7a  65 73 3a 20 22 2b 61 6e  |lock sizes: "+an|
00006fe0  73 24 2c 30 2c 33 2c 30  2c 32 32 29 0d 23 a0 05  |s$,0,3,0,22).#..|
00006ff0  cc 0d 23 aa 35 f2 74 28  22 44 69 66 66 65 72 65  |..#.5.t("Differe|
00007000  6e 74 20 62 6c 6f 63 6b  20 73 69 7a 65 73 20 66  |nt block sizes f|
00007010  72 6f 6d 20 6c 65 76 65  6c 20 35 22 2c 33 2c 30  |rom level 5",3,0|
00007020  2c 33 2c 32 32 29 0d 23  b4 0b 78 74 72 61 25 3d  |,3,22).#..xtra%=|
00007030  a3 0d 23 be 05 cd 0d 23  c8 2a f2 74 28 22 50 72  |..#....#.*.t("Pr|
00007040  65 73 73 20 61 20 6b 65  79 20 74 6f 20 63 6f 6e  |ess a key to con|
00007050  74 69 6e 75 65 22 2c 30  2c 30 2c 33 2c 32 35 29  |tinue",0,0,3,25)|
00007060  0d 23 d2 0b 2a 46 58 32  31 2c 30 0d 23 dc 08 41  |.#..*FX21,0.#..A|
00007070  24 3d be 0d 23 e6 09 f2  77 69 70 65 0d 23 f0 22  |$=..#...wipe.#."|
00007080  f2 75 28 22 53 65 6c 65  63 74 20 4f 70 74 69 6f  |.u("Select Optio|
00007090  6e 73 3a 2d 22 2c 33 2c  30 2c 30 2c 37 29 0d 23  |ns:-",3,0,0,7).#|
000070a0  fa 13 e3 6c 25 3d 38 32  34 b8 2d 32 30 30 88 2d  |...l%=824.-200.-|
000070b0  34 0d 24 04 22 c8 99 26  32 45 2c 32 39 30 2c 73  |4.$."..&2E,290,s|
000070c0  70 72 25 2c 22 53 63 72  65 65 6e 22 2c 34 31 35  |pr%,"Screen",415|
000070d0  2c 6c 25 0d 24 0e 05 ed  0d 24 18 0f ef 34 3a 2a  |,l%.$....$...4:*|
000070e0  46 58 32 30 30 2c 30 0d  24 22 05 e1 0d 24 2c 05  |FX200,0.$"...$,.|
000070f0  3a 0d 24 36 1d dd f2 79  65 73 6e 6f 28 f8 20 74  |:.$6...yesno(. t|
00007100  6f 67 67 6c 65 25 2c f8  20 61 6e 73 24 29 0d 24  |oggle%,. ans$).$|
00007110  40 16 f5 41 24 3d be 3a  fd a7 22 59 79 4e 6e 22  |@..A$=.:.."YyNn"|
00007120  2c 41 24 29 0d 24 4a 39  e7 a7 22 59 79 22 2c 41  |,A$).$J9.."Yy",A|
00007130  24 29 8c 20 61 6e 73 24  3d 22 59 65 73 22 3a 74  |$). ans$="Yes":t|
00007140  6f 67 67 6c 65 25 3d b9  20 8b 61 6e 73 24 3d 22  |oggle%=. .ans$="|
00007150  4e 6f 22 3a 74 6f 67 67  6c 65 25 3d a3 0d 24 54  |No":toggle%=..$T|
00007160  05 e1 0d 24 5e 05 3a 0d  24 68 15 dd f2 61 72 63  |...$^.:.$h...arc|
00007170  68 69 6d 65 64 65 73 77  6f 72 6c 64 0d 24 72 1c  |himedesworld.$r.|
00007180  53 25 3d 32 3a c8 99 22  4f 53 5f 42 79 74 65 22  |S%=2:.."OS_Byte"|
00007190  2c 31 31 32 2c 32 3a db  0d 24 7c 11 e3 79 25 3d  |,112,2:..$|..y%=|
000071a0  36 30 30 b8 37 38 36 88  38 0d 24 86 05 db 0d 24  |600.786.8.$....$|
000071b0  90 25 c8 99 26 32 45 2c  33 34 2b 32 35 36 2c 73  |.%..&2E,34+256,s|
000071c0  70 72 25 2c 22 73 63 72  65 65 6e 22 2c 33 35 30  |pr%,"screen",350|
000071d0  2c 79 25 0d 24 9a 34 c8  96 3a c8 99 22 4f 53 5f  |,y%.$.4..:.."OS_|
000071e0  42 79 74 65 22 2c 31 31  33 2c 53 25 3a 53 25 3d  |Byte",113,S%:S%=|
000071f0  53 25 82 33 3a c8 99 22  4f 53 5f 42 79 74 65 22  |S%.3:.."OS_Byte"|
00007200  2c 31 31 32 2c 53 25 0d  24 a4 05 ed 0d 24 ae 0d  |,112,S%.$....$..|
00007210  41 24 3d bf 28 31 30 30  29 0d 24 b8 0f de 73 63  |A$=.(100).$...sc|
00007220  61 6c 65 25 20 31 30 30  0d 24 c2 41 73 63 61 6c  |ale% 100.$.Ascal|
00007230  65 25 21 38 3d 32 30 3a  73 63 61 6c 65 25 21 31  |e%!8=20:scale%!1|
00007240  32 3d 32 30 3a f4 20 53  68 6f 77 20 66 72 6f 6d  |2=20:. Show from|
00007250  20 31 2f 32 30 20 74 6f  20 32 30 2f 32 30 74 68  | 1/20 to 20/20th|
00007260  73 20 6f 66 20 73 69 7a  65 0d 24 cc 0c e3 6c 25  |s of size.$...l%|
00007270  3d 31 b8 32 30 0d 24 d6  05 db 0d 24 e0 1a 21 73  |=1.20.$....$..!s|
00007280  63 61 6c 65 25 3d 6c 25  3a 73 63 61 6c 65 25 21  |cale%=l%:scale%!|
00007290  34 3d 6c 25 0d 24 ea 3a  c8 99 26 32 45 2c 33 30  |4=l%.$.:..&2E,30|
000072a0  38 2c 73 70 72 25 2c 22  53 70 68 65 72 65 22 2c  |8,spr%,"Sphere",|
000072b0  36 33 30 2d 28 6c 25 2a  35 29 2c 38 33 30 2d 28  |630-(l%*5),830-(|
000072c0  6c 25 2a 35 29 2c 30 2c  73 63 61 6c 65 25 0d 24  |l%*5),0,scale%.$|
000072d0  f4 25 c8 99 26 32 45 2c  32 39 30 2c 73 70 72 25  |.%..&2E,290,spr%|
000072e0  2c 22 53 63 72 65 65 6e  22 2c 33 35 30 2c 37 38  |,"Screen",350,78|
000072f0  35 2c 38 0d 24 fe 37 c8  96 3a c8 96 3a c8 99 22  |5,8.$.7..:..:.."|
00007300  4f 53 5f 42 79 74 65 22  2c 31 31 33 2c 53 25 3a  |OS_Byte",113,S%:|
00007310  53 25 3d 53 25 82 33 3a  c8 99 22 4f 53 5f 42 79  |S%=S%.3:.."OS_By|
00007320  74 65 22 2c 31 31 32 2c  53 25 0d 25 08 05 ed 0d  |te",112,S%.%....|
00007330  25 12 27 6c 25 2d 3d 31  3a 69 78 25 3d 36 33 30  |%.'l%-=1:ix%=630|
00007340  2d 28 6c 25 2a 35 29 3a  69 79 25 3d 38 33 30 2d  |-(l%*5):iy%=830-|
00007350  28 6c 25 2a 35 29 0d 25  1c 2c c8 99 26 32 45 2c  |(l%*5).%.,..&2E,|
00007360  33 30 38 2c 73 70 72 25  2c 22 53 70 68 65 72 65  |308,spr%,"Sphere|
00007370  22 2c 69 78 25 2c 69 79  25 2c 30 2c 73 63 61 6c  |",ix%,iy%,0,scal|
00007380  65 25 0d 25 26 25 c8 99  26 32 45 2c 32 39 30 2c  |e%.%&%..&2E,290,|
00007390  73 70 72 25 2c 22 53 63  72 65 65 6e 22 2c 33 35  |spr%,"Screen",35|
000073a0  30 2c 37 38 35 2c 38 0d  25 30 23 41 24 3d bf 28  |0,785,8.%0#A$=.(|
000073b0  31 35 30 29 3a e6 30 c8  9c 30 3a e3 6c 25 3d 2d  |150):.0..0:.l%=-|
000073c0  31 36 38 b8 33 30 30 88  31 32 0d 25 3a 35 c8 93  |168.300.12.%:5..|
000073d0  c8 90 32 36 39 2c 6c 25  2d 32 34 2c 37 34 32 2c  |..269,l%-24,742,|
000073e0  32 34 3a c8 99 26 32 45  2c 32 39 30 2c 73 70 72  |24:..&2E,290,spr|
000073f0  25 2c 22 4c 6f 67 6f 22  2c 32 36 39 2c 6c 25 0d  |%,"Logo",269,l%.|
00007400  25 44 34 c8 96 3a c8 99  22 4f 53 5f 42 79 74 65  |%D4..:.."OS_Byte|
00007410  22 2c 31 31 33 2c 53 25  3a 53 25 3d 53 25 82 33  |",113,S%:S%=S%.3|
00007420  3a c8 99 22 4f 53 5f 42  79 74 65 22 2c 31 31 32  |:.."OS_Byte",112|
00007430  2c 53 25 0d 25 4e 05 ed  0d 25 58 0d 41 24 3d bf  |,S%.%N...%X.A$=.|
00007440  28 31 30 30 29 0d 25 62  37 78 69 6e 63 3d 28 69  |(100).%b7xinc=(i|
00007450  78 25 2d 32 35 30 29 2f  35 30 3a 79 69 6e 63 3d  |x%-250)/50:yinc=|
00007460  28 69 79 25 2d 32 35 35  29 2f 35 30 3a 78 61 74  |(iy%-255)/50:xat|
00007470  3d 69 78 25 3a 79 61 74  3d 69 79 25 0d 25 6c 0c  |=ix%:yat=iy%.%l.|
00007480  e3 63 25 3d 31 b8 35 30  0d 25 76 17 78 61 74 2d  |.c%=1.50.%v.xat-|
00007490  3d 78 69 6e 63 3a 79 61  74 2d 3d 79 69 6e 63 0d  |=xinc:yat-=yinc.|
000074a0  25 80 25 db 3a c8 99 26  32 45 2c 32 39 30 2c 73  |%.%.:..&2E,290,s|
000074b0  70 72 25 2c 22 53 70 68  65 72 65 22 2c 78 61 74  |pr%,"Sphere",xat|
000074c0  2c 79 61 74 0d 25 8a 25  c8 99 26 32 45 2c 32 39  |,yat.%.%..&2E,29|
000074d0  30 2c 73 70 72 25 2c 22  53 63 72 65 65 6e 22 2c  |0,spr%,"Screen",|
000074e0  33 35 30 2c 37 38 35 2c  38 0d 25 94 23 c8 99 26  |350,785,8.%.#..&|
000074f0  32 45 2c 32 39 30 2c 73  70 72 25 2c 22 4c 6f 67  |2E,290,spr%,"Log|
00007500  6f 22 2c 32 36 39 2c 33  30 30 2c 38 0d 25 9e 34  |o",269,300,8.%.4|
00007510  c8 96 3a c8 99 22 4f 53  5f 42 79 74 65 22 2c 31  |..:.."OS_Byte",1|
00007520  31 33 2c 53 25 3a 53 25  3d 53 25 82 33 3a c8 99  |13,S%:S%=S%.3:..|
00007530  22 4f 53 5f 42 79 74 65  22 2c 31 31 32 2c 53 25  |"OS_Byte",112,S%|
00007540  0d 25 a8 05 ed 0d 25 b2  18 c8 99 22 4f 53 5f 42  |.%....%...."OS_B|
00007550  79 74 65 22 2c 31 31 32  2c 53 25 82 33 0d 25 bc  |yte",112,S%.3.%.|
00007560  0d 41 24 3d bf 28 31 30  30 29 0d 25 c6 22 c8 99  |.A$=.(100).%."..|
00007570  26 32 45 2c 32 39 30 2c  73 70 72 25 2c 22 46 72  |&2E,290,spr%,"Fr|
00007580  6f 6d 33 22 2c 35 38 38  2c 36 30 30 0d 25 d0 0c  |om3",588,600.%..|
00007590  41 24 3d bf 28 32 35 29  0d 25 da 22 c8 99 26 32  |A$=.(25).%."..&2|
000075a0  45 2c 32 39 30 2c 73 70  72 25 2c 22 46 72 6f 6d  |E,290,spr%,"From|
000075b0  32 22 2c 35 38 38 2c 36  30 30 0d 25 e4 0c 41 24  |2",588,600.%..A$|
000075c0  3d bf 28 32 35 29 0d 25  ee 21 c8 99 26 32 45 2c  |=.(25).%.!..&2E,|
000075d0  32 39 30 2c 73 70 72 25  2c 22 46 72 6f 6d 22 2c  |290,spr%,"From",|
000075e0  35 38 38 2c 36 30 30 0d  25 f8 0d 41 24 3d bf 28  |588,600.%..A$=.(|
000075f0  35 30 30 29 0d 26 02 05  e1 0d ff                 |500).&.....|
000075fb