100 REM CIRCUITRY 110 REM BY JOHN WILLIAM "THE MAD GAMER" 120 REM HARRIS 140 REM (C) 1991 BY JOHN WILLIAM HARRIS 150 REM SOUND DRIVER IS "SID PLAYER", 160 REM BY ????????? 170 REM MUSIC FROM PREVIOUS LOADSTARS 399 REM SET UP PROGRAM 400 POKE55,0:POKE56,120:CLR:N=1:S=RND(-TI):S=54272:VS=52224:V=53248:CO=55296-VS 410 POKE53281,0:POKE53280,0:POKE53270,200:POKE831,8:POKE832,1:PRINT"[147]"; 420 POKE53272,56:DV=PEEK(186):IFDV<8THENDV=8 500 DIMS$(9),T$(2),C(2,4),W(9,1),LV(27,3),G$(3,1),P(29),BK$(14) 501 DIMO$(1),SW$(1),DF$(2),HS$(9),HS(9),BH$(9),BH(9),RK$(9),SP$(1) 502 FORA=0TO2:FORB=0TO4:READC(A,B):NEXT:NEXT:SW$(0)="OFF":SW$(1)="ON " 503 SP$(0)="FAST":SP$(1)="SLOW":FORA=0TO9:READS$(A):NEXT 505 FORA=0TO9:FORB=0TO1:READW(A,B):NEXT:NEXT 506 FORA=0TO27:FORB=0TO3:READLV(A,B):NEXT:NEXT 507 FORA=0TO3:FORB=0TO1:READG$(A,B):NEXT:NEXT 508 FORA=0TO29:READP(A):NEXT 512 T$(0)=" !"+CHR$(34)+"#$%&'()*+,-./012345678" 514 T$(1)="[192][193][194][195][196][197][198][199][200][201][202][203][204][205][206][207][208][209][210][211][212][213][214][215][216]" 515 LN$=" "+CHR$(20)+" ":BR$=" " 516 T$(2)="[160][161][162][163][164][165][166][167][168][169][170][171][172][173][174][175]" 517 T$(2)=T$(2)+"[176][177][178][179][180][181][182][183][184]" 518 BL$=" "+CHR$(20)+" " 519 REM EVALUATE,?,CLRBLOX,DROPBLOX,#BLOX,#CIRCUITS 520 M1=32768:M2=33249:M3=33328:M4=33382:M5=33507:P1=828:P2=830:WT=22 521 C1=1584:C2=1619:C3=1231:C4=1274:C5=1024:C6=1058:C7=1479:C8=1532 522 F1=57344:F2=F1+2048:F3=F2+2048:F4=F3+2048 523 SYSC5,F1:SYSC2,F2:SYSC1,F1 524 FORA=0TO9:READBH$(A),BH(A):NEXT:FORA=0TO9:READRK$(A):NEXT 525 FORA=1TO14:BK$(A)=BK$(A-1)+"[223]":NEXT 526 OPEN15,DV,15,"R0:BIG SHOCKS=BIG SHOCKS":INPUT#15,A$:CLOSE15 527 IFA$="62"THENGOSUB14000:GOTO535 528 OPEN2,DV,2,"0:BIG SHOCKS,S,R":FORA=0TO9:INPUT#2,HS$(A):INPUT#2,HS(A):NEXT 529 CLOSE2 530 REM DEFAULT OPTIONS SET HERE! 535 FT=1:MS=1:ZF=0 999 REM CREDITS 1000 POKE53272,56:GOSUB34000 1010 PRINT"[147]";:SYSC2,F2:SYSC5,F1 1020 PRINT"[159]"TAB(7)T$(0):PRINT""TAB(7)T$(1):PRINT"[159]"TAB(7)T$(2):PRINT""; 1025 M$="BY":GOSUB14999:M$="[202]OHNNY [215]ILLIAM '[212]HE [205]AD [199]AMER' [200]ARRIS":GOSUB15000 1030 PRINT:PRINT"":M$="[199]AME CONCEPT, DESIGN, PROGRAMMING AND":GOSUB15000 1040 M$="GRAPHICS BY [202]OHNNY [200]ARRIS":GOSUB15000 1050 PRINT"[158]":M$="[205]USIC BY [193]LAN [194]EGGEROW, [196]AVE [205]ARQUIS,":GOSUB15000 1060 M$="[196]EBBIE [195]RUZ, AND [198]ENDER [212]UCKER":GOSUB15000 1070 PRINT"[150]":M$="[205]USIC DRIVER BY [195]RAIG [195]HAMBERLAIN":GOSUB15000 1080 PRINT"[129]":M$="[197]VERYTHING ELSE WITHIN THIS PROGRAM":GOSUB15000 1090 M$="BY [202]OHNNY [200]ARRIS.":GOSUB15000 1100 PRINT"":M$="@ 1992 BY [211]OFTDISK [208]UBLISHING":GOSUB15000 1110 PRINT:PRINT"":M$="[192][192][192][192] [208]LEASE PRESS [198][201][210][197] [221][221][221][221]":GOSUB15000:PRINT""; 1120 SYSC4,57344,5:GOSUB13000:SYSC3,57344,5 1130 PRINT"[147][150]":M$="[211]PECIAL THANKS TO:":GOSUB15000 1140 PRINT"[158]":M$="[196]EBBY [195]RUZ AND [211]COTT [210]ESH":GOSUB15000 1150 M$="FOR WRITING [211][201][196][211][205][201][212][200],":GOSUB15000 1160 PRINT"[153]":M$="[194]RIAN [197]DDY":GOSUB15000 1170 M$="FOR WRITING [211][195][210][197][197][206] [196][193][218][218][204][197][210],":GOSUB15000 1180 PRINT"[154]":M$="[202]ON [205]ATTSON":GOSUB15000 1190 M$="FOR WRITING [198][213][204][204][198][207][206][212] 2.1,":GOSUB15000 1200 PRINT"":M$="WITHOUT WHICH THIS PROGRAM, WHILE IT":GOSUB15000 1210 M$="WOULD STILL HAVE BEEN POSSIBLE,":GOSUB15000 1220 M$="WOULDN'T HAVE BEEN AS MUCH FUN.":GOSUB15000 1230 PRINT:PRINT:M$="[192][192][192][192] [208]RESS [198][201][210][197] TO BEGIN [221][221][221]":GOSUB15000 1240 SYSC4,F1,5:GOSUB13000:SYSC3,F1,5 1999 REM TITLE LOOP 2000 PRINT"";:SYSC2,F2:SYSC5,F1:C=INT(RND(1)*3):SYSC8,C(C,1) 2002 FORA=1TO11:PRINT"[144]"LN$:NEXT:FORA=4TO2STEP-1:POKE646,C(C,A) 2004 PRINTLN$:PRINTLN$:NEXT 2008 PRINT"";:SYSC7,INT(RND(1)*15)+110 2010 PRINT"[159]"TAB(7)T$(0):PRINT"[154]"TAB(7)T$(1):PRINT""TAB(7)T$(2):PRINT""; 2015 M$="BY":GOSUB14999:M$="[202]OHNNY [215]ILLIAM '[212]HE [205]AD [199]AMER' [200]ARRIS":GOSUB15000 2020 PRINT"" 2030 PRINT"":PRINT"[159][160][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][161]" 2040 PRINT"[165] [164]" 2050 PRINT"[165] [150][208]LAY [195][201][210][195][213][201][212][210][217][159] [164]" 2060 PRINT"[165] [150][200]IGH [211]CORE [204]IST[159] [164]" 2070 PRINT"[165] [150][197]NTER [207]PTIONS [211]CREEN[159] [164]" 2080 PRINT"[165] [150][210]ETURN TO [204][207][193][196][211][212][193][210][159] [164]" 2090 PRINT"[165] [164]" 2100 PRINT"[162][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][163]":SYSC4,F1,5:POKE53270,200 2110 NS=4:X=9:Y=16:GOSUB16000 2120 ONSNGOTO2800,9100,10000,23000 2798 END 2799 REM BEGIN GAME 2800 SYSC5,F1:SYSC2,F2:PRINT"[147]";:SC=0:SG=0:SS=0:FL=0:CD=1 2810 GOSUB28000:PRINT"":M$="[215]ELCOME":GOSUB15500 2812 M$="TO":GOSUB15500:M$="[195][201][210][195][213][201][212][210][217]!":GOSUB15500:PRINT 2814 M$="[208]LEASE":GOSUB15500:M$="SELECT":GOSUB15500:M$="YOUR FIRST":GOSUB15500 2816 M$="STAGE.":GOSUB15500:PRINT 2818 M$=" [198]IRST":GOSUB15500:M$=" [212]HIRD":GOSUB15500 2820 M$=" [198]IFTH":GOSUB15500 2822 SYSC6,F1 2824 NS=3:X=24:Y=15:GOSUB16000:SG=(SN-1)*2:X=1000:XR=10+(5*(SN-1)) 2826 SYSC3,F1,2 2999 REM BEGIN LEVEL 3000 PRINT"[147]";:IF(FT=1)OR(MS=1)THENGOSUB29000 3020 SS=.:LV=SG*3+SS:IFFT=0THENC1$="[153]":C2$="[159]":PRINTC1$;::SYSC7,110+SG:SYSC8,6 3030 GOSUB18500:PRINTBL$;:GOSUB27000:GOSUB18000 3500 IFMS=1THENGOSUB21000 3999 REM BEGIN SUBLEVEL 4000 GL=LV(LV,.):BV=LV(LV,3):OC=.:OP=.:MR=52225+OF+(LD-N)*40:MX=MR:GOSUB24000 4005 CC=0:POKE198,.:SP=LV(LV,1) 4020 PL=MX:PP=PL:POKEPL,32:CP=INT(RND(N)*BV)+128:NM=SP*6 4022 SYSM5,PL,254:IFPEEK(780)=.THEN4025 4023 PL=PL+N:MX=PL:IFPL=MR+W(SG,.)THENFA=N:GOTO5000 4024 GOTO4022 4025 POKEPL,CP:IFMS=NTHENIFPEEK(49152)<>7THENGOSUB22000:GOSUB21000 4030 FORA=.TOZF*50:NEXT 4032 GETA$:J=PEEK(56320) 4035 IFJ=127ANDA$=""THENNM=NM-.35:IFNM>=.THEN4030 4040 IFJ=123ORA$="[157]"THENPP=PL:PL=PL-N:IFPLMR+W(SG,.)-NTHENPL=MR+W(SG,.)-N 4060 POKEPP,32:POKEPL,CP:SYSM5,PP,95:SYSM5,PL,254 4070 IFJ=125ORA$=""THENIFPEEK(780)=.THENPOKEPL,32:SYSM5,PL,CP:GOTO4500 4075 NM=NM-1:IFNM<.THEN5600 4080 GOTO4030 4500 PRINTBL$;:SYSM1:IFPEEK(830)=.THEN4910 4502 XX=1:MX=MR:NB=(PEEK(828)+PEEK(829)*256)-W(SG,.):NC=1 4510 SYSM3:SYSM1:IFPEEK(830)=.THEN4530 4515 NB=NB+(PEEK(828)+PEEK(829)*256):NC=NC+1:GOTO4510 4530 SYSM4:SYSM1:IFPEEK(830)=.THEN4700 4540 NB=NB+(PEEK(828)+PEEK(829)*256):NC=NC+1:GOTO4510 4700 IFNB<30THENPRINTBL$"BLOCKS OVER MINIMUM:"NB","P(NB)"POINTS":PT=P(NB):GOTO4720 4705 PRINTBL$"[215]OW! 200 POINTS X"NB"="NB*200:PT=NB*200 4720 SA=INT(PT*(X*.001)+.5):SC=SC+SA:X=X+(NC*NC*XR)*(INT(NB/20)+N) 4725 ONLV(LV,2)GOTO4800,4850,4900 4730 GL=GL-NC:GOSUB24000:IFGL<1THEN5000 4740 GOTO4910 4800 GL=GL-NB:GOSUB24000:IFGL<1THEN5000 4810 GOTO4910 4850 GL=GL-PT:GOSUB24000:IFGL<=.THEN5000 4860 GOTO4910 4900 GL=GL-SA:GOSUB24000:IFGL<=.THEN5000 4910 IFPEEK(157)=128THEN35000 4911 GETA$:IFA$<>"[133]"THEN4020 4912 IFMS=1THENGOSUB22000 4915 SYSC2,F4:SYSC3,F1,1:GOSUB28000:PRINTBL$; 4920 PRINT"":M$="[199]AME":GOSUB15500:M$="PAUSED.":GOSUB15500 4925 PRINT:M$="[208]RESS [198][201][210][197]":GOSUB15500 4930 M$="TO RETURN,":GOSUB15500:M$="OR PRESS":GOSUB15500 4935 M$="[198]8 TO":GOSUB15500:M$="END GAME.":GOSUB15500:SYSC4,F1,1 4936 IFFT=1THENSYSC2,F3:GOTO4940 4937 SYSC2,F2 4940 IFPEEK(56320)=111ORA$=CHR$(13)THEN4970 4950 GETA$:IFA$="[140]"THENFA=1:GOTO5000 4960 GOTO4940 4970 SYSC3,F1,1:GOSUB18000:GOSUB24000:SYSC4,F1,1 4972 IFMS=1THENGOSUB21000 4975 GOTO4020 4999 REM LEVEL OVER-- FOR GOOD OR BAD 5000 POKE198,0:IFFA=0THEN5100 5005 FA=0:GOSUB28000:PRINT"":M$="[199][193][205][197] [207][214][197][210]":GOSUB15500 5007 IFMS=1THENFORA=15TO0STEP-1:POKES+24,A:FORB=0TO120:NEXT:NEXT:GOSUB22000 5010 PRINT:M$="[217]OUR SCORE":GOSUB15500 5015 M$=STR$(SC)+" ":GOSUB15500:PRINT:M$="[199]AME SCORE":GOSUB15500 5020 M$=STR$(INT(SC/CD))+" ":GOSUB15500:IFCD=3THENGOSUB13000:GOTO5070 5025 PRINT:M$="[208]RESS [198][201][210][197]":GOSUB15500 5030 M$="TO":GOSUB15500:M$="CONTINUE.":GOSUB15500 5035 CT=20:CF=20 5037 GETA$:M$=" "+STR$(CT)+" ":GOSUB15510:PRINT"[145]"; 5039 IFPEEK(56320)=111ORA$=CHR$(13)THENCD=CD+N:GOTO5080 5040 IFPEEK(56320)<>127ORA$<>""THENCT=CT-N 5050 CF=CF-N:IFCF=.THENCF=20:CT=CT-N 5060 IFCT>-NTHEN5037 5070 GOTO8000 5080 IFFT=1THENSYSC2,F3:GOTO5082 5081 SYSC2,F2 5082 SYSC5,F1:GOTO3020 5100 FORA=0TO2:FORB=4TO0STEP-1:POKE53280,C(SS,B):FORC=0TO19:NEXT:NEXT:NEXT 5105 FORA=0TO4:POKE53280,C(SS,A):FORB=0TO19:NEXT:NEXT:SS=SS+1:POKE53280,0 5107 IFSS>2THEN5500 5108 IFSG=9THEN7000 5110 LV=LV+1:PRINTBL$"[195]HECKPOINT ATTAINED! [198]OUR LINES REMOVED" 5120 PRINT"";:POKE214,LD+BH-2:PRINT:FORA=1TO4:PRINTTAB(OF+1)C2$BK$(W(SG,.))C1$"[145]" 5125 SYSM4:FORB=1TO250:NEXT:NEXT:PRINTBL$:GOTO4000 5499 REM STAGE COMPLETED 5500 IFMS=1THENFORA=15TO0STEP-1:POKES+24,A:FORB=0TO80:NEXT:NEXT:GOSUB22000 5510 SG=SG+1:SS=0 5520 GOSUB28000:PRINT"":M$="[211][212][193][199][197]":GOSUB15500:M$="[195][207][205][208][204][197][212][197][196]!":GOSUB15500 5530 PRINT:M$="[194]ONUS!":GOSUB15500:M$=STR$(X/10)+"% OF ":GOSUB15500 5533 M$=STR$(SG*SG*1000):GOSUB15500:M$="-OR-":GOSUB15500 5534 CZ=INT(X/1000*(SG*SG*1000)+.5) 5536 M$=STR$(CZ)+" ":GOSUB15500:M$="[211]CORE:":GOSUB15500:SC=SC+CZ:M$=STR$(SC)+" " 5540 GOSUB15500:PRINT"":M$="[208][210][197][211][211] [198][201][210][197]":GOSUB15500:GOSUB13000 5590 POKE53281,0:SYSC3,F1,10:SYSC2,F2:POKE53270,200:GOTO3000 5599 REM AUTO DROP 5600 PP=PL:POKEPL,32:SYSM5,PL,95 5605 IFPEEK(780)=.THENSYSM5,PL,CP:GOTO4500 5610 PL=PL+1:IFPL=MR+W(SG,.)THENPL=MX 5620 IFPL=PPTHENFA=N:GOTO5000 5625 SYSM5,PL,95:GOTO5605 5999 REM BIG BOX 6000 SYSC7,INT(RND(1)*15)+110:SYSC8,6 6005 PRINT"";:M$="[160][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][161]":GOSUB15000 6010 M$="[165] [164]":FORA=1TO20:GOSUB15000:NEXT 6020 M$="[162][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][163]":GOSUB15000:PRINT"";:RETURN 6999 REM GAME WON! 7000 PRINTBL$;:M$="[199]AME [195]OMPLETED":GOSUB15000 7002 IFMS=1THENFORA=15TO0STEP-1:POKES+24,A:FORB=0TO160:NEXT:NEXT:GOSUB22000 7005 FORA=1TO5000:NEXT 7010 FORA=1TO200:POKE53281,1:POKE53281,0:NEXT 7020 SYSC2,F2:SYSC3,F1,40:PRINT"[147]"; 7030 PRINT"":M$="[195][207][206][199][210][193][212][213][204][193][212][201][207][206][211]!!!":GOSUB15000 7040 PRINT"[153]":M$="[217]OU'VE FINISHED THE GAME.":GOSUB15000 7050 PRINT"[159]":M$="[193]S A REWARD, [201]'M NOT COUNTING ANY":GOSUB15000 7060 M$="CONTINUES YOU MIGHT HAVE USED.":GOSUB15000:SYSC2,F2:SYSC4,F1,60 7070 IFCD>1THENCD=1:GOTO7100 7075 FORA=1TO4000:NEXT:PRINT:M$="[193]ND, SINCE YOU DIDN'T USE ANY":GOSUB15000 7080 M$="CONTINUES, [201]'M DOUBLING YOUR SCORE!":GOSUB15000:SC=SC*2 7100 PRINT"":M$="[217]OUR FINAL SCORE:"+STR$(SC):GOSUB15000 7110 POKE214,20:PRINT:GOSUB13000:M$="[199][193][205][197] [207][214][197][210]":GOSUB15000:GOSUB13000:SYSC3,F1,80 7120 GOTO8000 7999 REM TOP SCORE ENTRY & STATS UPDATING 8000 POKE53281,0:SYSC2,F2:SYSC3,F1,20:POKE53270,200:GOSUB6000 8020 GS=INT(SC/CD+.5) 8030 PRINT"[153]";:M$="[217]OUR TOTAL SCORE:"+STR$(SC):GOSUB15000 8040 PRINT"";:M$="[217]OUR FINAL SCORE:"+STR$(GS):GOSUB15000 8050 PRINT"[153]";:M$="[217]OUR MULTIPLIER LEVEL WAS"+STR$(X/10)+"%":GOSUB15000 8100 GS=INT(SC/CD+.5):IFGS>=HS(9)THEN8200 8110 PRINT"[159]":M$="[211]CORE DIDN'T QUALIFY FOR TABLE":GOSUB15000:SYSC4,F1,1 8120 GOSUB13000:GOSUB9000:GOTO2000 8200 PRINT:RK=11:M$="[208]LEASE TYPE YOUR NAME FOR POSTERITY.":GOSUB15000:PRINT 8210 IFGS>=HS(RK-2)THENRK=RK-1:IFRK>1THEN8210 8220 IFRK=10THEN8350 8230 FORA=8TO RK-1STEP-1:HS(A+1)=HS(A):HS$(A+1)=HS$(A):NEXT 8350 HS$(RK-1)="":HS(RK-1)=GS 8355 FORA=1TO10:PRINT"[154]";:IFA=RKTHENPRINT""; 8360 PRINTTAB(7)RK$(A-1)": "HS$(A-1)TAB(32-LEN(STR$(HS(A-1))))HS(A-1):NEXT 8370 PRINT""TAB(14);:FORA=1TORK:PRINT"";:NEXT 8375 SYSC4,F1,1:GOSUB8500:IFN$=""THENN$="[193]NONYMOUS" 8377 HS$(RK-1)=N$ 8378 OPEN2,DV,2:CLOSE2:IFST=-128THENGOSUB32000 8380 OPEN15,DV,15,"S0:BIG SHOCKS":CLOSE15 8390 OPEN2,DV,2,"0:BIG SHOCKS,S,W":FORA=0TO9:PRINT#2,HS$(A):PRINT#2,HS(A) 8400 NEXT:CLOSE2:GOTO2000 8500 N$="":POKE198,0:PRINT"[190][157][146]"; 8510 GETA$:IFA$=CHR$(13)THENPRINT" ":RETURN 8520 IFA$=CHR$(20)THEN8700 8525 IFA$=" "ORA$="?"ORA$="!"ORA$="."THENVR=.:GOTO8540 8530 IFA$<"A"ORA$>"Z"THEN8510 8535 VR=128 8540 IFLEN(N$)=10THEN8510 8545 A$=CHR$(ASC(A$)+VR):N$=N$+A$:PRINTA$;:IFLEN(N$)<10THENPRINT"[190][157][146]"; 8550 GOTO8510 8700 IFLEN(N$)=0THEN8510 8710 N$=LEFT$(N$,LEN(N$)-1):PRINT" [157][157][190][157][146]";:GOTO8510 8999 REM DISPLAY SCORES 9000 SYSC5,F1:SYSC2,F2 9010 GOSUB6000:PRINT"":M$="---[212]HE [194]EST [212]EN---":GOSUB15000:PRINT"" 9015 C=INT(RND(1)*3) 9020 FORA=1TO10:POKE646,C(C,INT((A-1)/2)) 9025 PRINTTAB(7)RK$(A-1)": "HS$(A-1)TAB(32-LEN(STR$(HS(A-1))))HS(A-1):NEXT 9030 SYSC6,F1:GOSUB13000:RETURN 9100 GOSUB9000:GOTO2000 9499 REM MUSIC TEST 9500 SYSC2,F1:SYSC5,F1 9501 PRINT"[147]";:FORA=0TO8:PRINTTAB(12)A+1TAB(15)":"S$(A):NEXT 9502 PRINTTAB(11)10TAB(15)":"S$(9) 9503 PRINTTAB(12)"[210]ETURN TO [207]PTIONS":SYSC6,F1 9510 NS=11:X=10:Y=6:GOSUB16000 9512 IFSN=11THEN10000 9515 A=SN-1:F$=S$(A) 9530 GOSUB20000:GOSUB21000 9540 POKE214,20:PRINT:M$="[208]RESS [198][201][210][197] TO STOP":GOSUB15000 9542 GETA$:IFPEEK(49152)<>7THEN9545 9543 IFPEEK(56320)<>111ANDA$<>CHR$(13)THEN9542 9545 GOSUB22010:GOTO9500 9999 REM OPTIONS 10000 SYSC2,F2:SYSC5,F1 10010 SYSC7,INT(RND(1)*10)+110:SYSC8,6 10020 PRINT"[147][154]":M$="[195][201][210][195][213][201][212][210][217] VERSION 1.1":GOSUB15000 10022 PRINT"[154]":M$="[160][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][161]":GOSUB15000 10025 M$="[165] [164]":GOSUB15000 10030 M$="[165] [207][208][212][201][207][206][211]: [164]":GOSUB15000 10040 M$="[165] [164]":GOSUB15000 10050 M$="[165] [205]USIC "+SW$(MS)+" [164]":GOSUB15000 10060 M$="[165] [194]ACKGROUNDS "+SW$(FT)+" [164]":GOSUB15000 10070 M$="[165] [195]URSOR [211]PEED "+SP$(ZF)+" [164]":GOSUB15000 10080 M$="[165] [194]ACKGROUND [212]EST [164]":GOSUB15000 10090 M$="[165] [205]USIC [212]EST [164]":GOSUB15000 10100 M$="[165] [210]ESET [200]IGH [211]CORES [164]":GOSUB15000 10110 M$="[165] [212]ITLE [211]CREEN [164]":GOSUB15000 10120 M$="[165] [164]":GOSUB15000 10200 M$="[162][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][163]":GOSUB15000:SYSC6,F1 10210 NS=7:X=10:Y=10:GOSUB16000 10220 IFSN<4THEN10300 10230 ONSN-3GOTO25000,9500,14900 10240 SYSC5,F1:SYSC2,F2:GOTO2000 10300 IFSN=1THENMS=ABS(NOT(-MS)):POKE214,9:PRINT:PRINTTAB(26)SW$(MS):GOTO10210 10310 IFSN=2THENFT=ABS(NOT(-FT)):POKE214,10:PRINT:PRINTTAB(26)SW$(FT):GOTO10210 10330 ZF=ABS(NOT(-ZF)):POKE214,11:PRINT:PRINTTAB(26)SP$(ZF):GOTO10210 10999 REM RETURN TO LOADSTAR? 11999 REM CLEAR SID CHIP 12000 FORA=0TO24:POKES+A,0:NEXT:RETURN 12999 REM WAIT FOR FIRE BUTTON 13000 GETA$:IFPEEK(56320)<>111ANDA$<>CHR$(13)THEN13000 13010 RETURN 13999 REM RESET HIGH SCORES 14000 SYSC2,F2:SYSC3,F1,1:PRINT"[147][150]":M$="[200]IGH [211]CORES ARE BEING RESET..." 14010 GOSUB15000:SYSC6,F1:OPEN15,DV,15,"S0:BIG SHOCKS":CLOSE15 14020 OPEN2,DV,2,"0:BIG SHOCKS,S,W":FORA=0TO9:PRINT#2,BH$(A):PRINT#2,BH(A):NEXT 14030 CLOSE2:FORA=0TO9:HS$(A)=BH$(A):HS(A)=BH(A):NEXT:SYSC5,F1:RETURN 14900 GOSUB14000:GOTO10000 14999 REM CENTER STRING 15000 PRINTTAB((40-LEN(M$))/2)M$:RETURN 15499 REM CENTER WITHIN WINDOW 15500 PRINTTAB(WT+1)BR$"[145]" 15510 PRINTTAB(WT+1+INT(10-LEN(M$))/2)M$:RETURN 15600 PRINTTAB(WT+1)BR$"[145]" 15610 PRINTTAB(WT+9-LEN(M$))M$:RETURN 15999 REM MENU SELECTIONS 16000 SL=X+Y*40+VS:SN=1:POKESL+CO,13:POKESL,31 16010 GETA$:J=PEEK(56320):IFJ=127ANDA$=""THEN16010 16015 IFJ=111ORA$=CHR$(13)THENPOKESL+(SN-1)*40,32:GOSUB17000:RETURN 16020 IFJ=126ORA$="[145]"THENG1=1:PS=SN:SN=SN-1:IFSN<1THENSN=NS 16030 IFJ=125ORA$=""THENG1=1:PS=SN:SN=SN+1:IFSN>NSTHENSN=1 16040 IFG1=.THEN16010 16050 G1=.:POKESL+(PS-1)*40,32:POKESL+(SN-1)*40+CO,13:POKESL+(SN-1)*40,31 16060 GOSUB17000:GOTO16010 16999 REM WAIT UNTIL JOYSTICK RESET 17000 GETA$:IFPEEK(56320)<>127ORA$<>""THEN17000 17010 RETURN 17999 REM SET UP STATUS WINDOWS 18000 PRINT""TAB(WT)"[160][166][166][166][166][166][166][166][166][166][166][161] 18110 [153][163]WT)"FN (null)LEN(null)(null)VAL: TO" 18120 [153][163]WT)"FN TO" 18130 [153][163]WT)"FN TO" 18140 [153][163]WT)"FN CHR$(null)ATN(null)(null) TO" 18150 [153][163]WT)"FN (null)VALASC(null): TO" 18160 [153][163]WT)"FN TO" 18165 [153][163]WT)"FN TO" 18167 [153][163]WT)"FN TO" 18170 [153][163]WT)"FN (null)VAL(null)VAL(null): TO" 18180 [153][163]WT)"FN TO" 18190 [153][163]WT)"FN TO" 18200 [153][163]WT)"FN LEN(null)(null)(null)VAL(null)(null) TO" 18210 [153][163]WT)"FN(null)(null)(null)(null)RIGHT$(null)(null)RIGHT$VAL(null)TO" 18220 [153][163]WT)"FN TO" 18230 [153][163]WT)"FN TO" 18240 [153][163]WT)"NEWTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTAB(" 18250 [142] 18499 [143] DISPLAY GAME BOARD 18500 [153]"";:BH[178]W(SG,1):LD[178][181]((25[171]BH)[173]2):OF[178][181]((20[171]W(SG,.))[173]2) 18502 [129]B[178]1[164]LD[171]1:[153]:[130]:[151]832,OF[170]1 18505 [153][163]OF)C2$;:[129]B[178]1[164]W(SG,.)[170]2:[153]" ";:[130]:[153]C1$ 18510 [129]A[178]1[164]BH:[153][163]OF)"TAN"C2$BK$(W(SG,.))C1$"(null)":[130] 18520 [153][163]OF)"(null)";:[129]A[178]1[164]W(SG,.):[153]"(null)";:[130]:[153]"(null)"; 18525 [139]SG[178]4[176]SG[178]7[176]SG[178]9[167][141]33000 18530 [142] 18999 [143] FONT LOADER 19000 [158]57812"F.CIRCUITRY "[170][199](SG[170]66),DV,0 19010 [151]780,0:[151]781,0:[151]782,240:[158]65493:[142] 19999 [143] MUSIC LOADER 20000 [158]57812F$[170]".MUS",DV,0:[151]780,0:[151]781,0:[151]782,132:[158]65493:[142] 20999 [143] START MUSIC 21000 [158]49435:[151]781,0:[151]782,132:[158]49458:[151]49152,7:[142] 21999 [143] STOP MUSIC 22000 [139]MS[178].[167][142] 22010 [151]49152,0:[151]54276,0:[151]54283,0:[151]54290,0:[158]49629:[142] 22999 [143] RETURN TO LOADSTAR? 23000 [158]C2,F2:[158]C5,F1 23005 [141]6000:[153]"DEF":M$[178]"ATNRE YOU SURE THAT YOU":[141]15000 23010 [153]"SYS":M$[178]"WANT TO RETURN TO":[141]15000 23020 [153]"":M$[178]" (null) (null) ATN STR$ (null) (null) ATN (null) ? ":[141]15000 23030 [153]"PRINT":M$[178]"((null)/(null))":[141]15000:[158]C6,F1:[151]198,0 23040 [161]A$:[139]A$[178]""[167]23040 23050 [139]A$[178]"N"[167]2000 23060 [139]A$[179][177]"Y"[167]23040 23070 [153]:M$[178]"'PEEKYE":[141]15000:[129]A[178]1[164]2000:[130] 23080 [158]C3,F1,30 23090 [151]648,4:[153]"LOAD";:[151]56578,[194](56578)[176]3:[151]56576,([194](56576)[175]252)[176]3 23100 [151]53272,21:[151]186,DV:[151]56,160:[156]:DV[178][194](186) 23105 [159]15,DV,15,"R0:HELLO CONNECT=HELLO CONNECT":[132]15,A$:[160]15 23106 [139]A$[178]"62"[167][151]53281,6:[151]53280,14:[153]"";:[128] 23110 [147] "HELLO CONNECT",DV 23999 [143] DISPLAY SCORE,GOALS LEFT,ETC. 24000 [153]"":M$[178][196](SC):[141]15600 24003 [139]GL[179].[167]GL[178]. 24005 [153]"":M$[178][196](GL)[170]" ":[141]15500 24007 [139]GL[179]0[167]GL[178]0 24010 M$[178]G$(LV(LV,2),(GL[178]1)[170]1):[141]15500 24020 [153]"":M$[178][196](LV[170]1)[170]" ":[141]15500 24030 [153]"":M$[178]" "[170][196](X[173]10)[170]"% ":[141]15500 24040 [142] 24999 [143] BACKGROUND TEST 25000 [158]C2,F1:[158]C5,F1 25005 [151]198,0:[153]"LOADOPEN":M$[178]"PEEKACKGROUND CHR$RAPHICS (null)EST":[141]15000 25010 [153]"":M$[178]"MID$OYSTICK LEFT & RIGHT TO SELECT,":[141]15000 25020 [153]:M$[178]"ASCRIGHT$(null)VAL TO LOAD, AND (null)(null)ATNLENVAL TO RETURN":[141]15000 25030 [153]:M$[178]"TO (null)PTIONS.":[141]15000 25040 [153]"":SN[178]1:[158]C6,F1 25045 [153][163]19)SN"CMD ON" 25050 [139][194](56320)[178]123[176]A$[178]"CMD"[167]SN[178]SN[171]1:[139]SN[179]1[167]SN[178]10 25060 [139][194](56320)[178]119[176]A$[178]""[167]SN[178]SN[170]1:[139]SN[177]10[167]SN[178]1 25070 [139][194](56320)[178]111[176]A$[178][199](13)[167]25100 25075 [161]A$:[139]A$[178]" "[167]10000 25080 [137]25045 25100 [153]"LOAD":SG[178]SN[171]1:[158]C5,F1:[141]29040:[158]C4,F1,5:[141]13000 25110 [158]C3,F1,5:[151]53270,200:[153]"OPEN";:[151]53281,0:[137]10000 26999 [143] DISPLAY STAGE GOALS 27000 [141]28000:[139]SG[178]9[167][141]36000:[142] 27005 [153]"":M$[178]"(null)ELCOME TO":[141]15500 27010 M$[178]"(null)(null)ATNCHR$VAL #"[170][196](SG[170]1):[141]15500 27020 [153]:M$[178]"(null)OUR":[141]15500:M$[178]"OBJECTIVE:":[141]15500 27030 [129]A[178]1[164]3:M$[178]"CHR$(null)ATN(null) #"[170][196](A)[170]":":[141]15500:M$[178][196](LV(LV[170]A[171]1,0))[170]" " 27040 [141]15500:M$[178]G$(LV(LV[170]A[171]1,2),(LV(LV[170]A[171]1,0)[178]1)[170]1):[141]15500:[130] 27050 [153][163]WT[170]1)"(null)(null)VAL(null)(null) ASCRIGHT$(null)VAL":[158]C4,F1,8:[141]13000:[142] 27999 [143] WINDOW WITHOUT HEADINGS 28000 [153]""[163]WT)"CLOSESPC(SPC(SPC(SPC(SPC(SPC(SPC(SPC(SPC(SPC(GET 28110 FORA=1TO15:PRINTTAB(WT)"[165] [164]":NEXT 28120 PRINTTAB(WT)"[162][167][167][167][167][167][167][167][167][167][167][163]":RETURN 28999 REM LOAD STAGE FILES 29000 PRINT"[159]":M$="[208]LEASE WAIT...":GOSUB15000 29010 SYSC6,F1:IFFT=1THENF$=F$(SG):GOSUB19000 29020 IFMS=1THENF$=S$(SG):GOSUB20000 29030 SYSC5,F1:PRINT"[147]";:IFFT=.THENRETURN 29040 GOSUB19000:SYSC2,F3:GOSUB31000 29050 ONSG+1GOSUB30000,30100,30200,30300,30400,30500,30600,30700,30800,30900 29060 RETURN 29998 REM BACKGROUNDS 29999 --STAGE #1: SUNRISE-- 30000 C1$="":PRINTC1$;:POKE53270,216:POKE53282,2:POKE53283,9:C2$="[159]":RETURN 30099 --STAGE #2: MOONSCAPE-- 30100 C1$="[152]":PRINTC1$;:C2$="[154]":RETURN 30199 --STAGE #3: GIRDERS-- 30200 C1$="[153]":PRINTC1$;:C2$="[155]":POKE53281,6:RETURN 30299 --STAGE #4: PBJ-- 30300 C1$="":PRINTC1$;:C2$="":POKE53270,216:POKE53282,1:POKE53283,9:POKE53281,15:RETURN 30399 --STAGE #5: SKY-- 30400 C1$="[153]":PRINTC1$;:C2$="[159]":POKE53281,6:RETURN 30499 --STAGE #6: STRIPES-- 30500 C1$="":PRINTC1$;:C2$="[159]":POKE53270,216:POKE53282,14:POKE53283,13:RETURN 30599 --STAGE #7: WALL-- 30600 C1$="":PRINTC1$;:C2$="[159]":POKE53270,216:POKE53282,12:POKE53283,11:RETURN 30699 --STAGE #8: PIPES-- 30700 C1$="[159]":PRINTC1$;:C2$="[158]":RETURN 30799 --STAGE #9: DISK-- 30800 C1$="[159]":PRINTC1$;:C2$="[158]":POKE53270,216:POKE53282,11:POKE53283,2:RETURN 30899 --STAGE #10: CIRCUITRY-- 30900 C1$="[153]":PRINTC1$;:C2$="[159]":RETURN 30999 REM SCREEN LOADER 31000 SYS57812"BG"+STR$(SG+1),DV,0:POKE780,0:POKE781,0:POKE782,204:SYS65493 31010 SYS57812"CL"+STR$(SG+1),DV,0:POKE780,0:POKE781,0:POKE782,216:SYS65493 31020 RETURN 31999 REM CHECK IF DISK IS ON 32000 OPEN2,DV,2:CLOSE2:IFST=.THENRETURN 32010 PRINTBL$;:M$="[212]URN DISK DRIVE ON & PRESS [198][201][210][197]":GOSUB15000:GOSUB13000:GOTO32000 32999 REM SETUP FOR STAGES WITH PRE- PLACED BLOCKS 33000 IFSG=7THEN33200 33010 IFSG=9THEN33300 33013 PRINTC2$"":PRINTTAB(OF+1)"@ACCDCCA@" 33015 PRINTTAB(OF+1)"BDDA@ADDB" 33018 PRINTTAB(OF+1)"BDA@B@ADB" 33020 PRINTTAB(OF+1)"BA@DBD@AB" 33023 PRINTTAB(OF+1)"A@DDBDD@A" 33025 PRINTTAB(OF+1)"CCCCACCCC"C1$:RETURN 33200 PRINTC2$"":PRINTTAB(OF+1)"@@@@@@@@" 33215 PRINTTAB(OF+1)"AAA@@AAA" 33218 PRINTTAB(OF+1)"CDA@@ADC" 33220 PRINTTAB(OF+1)"ECA@@ACE" 33223 PRINTTAB(OF+1)"DCA@@ACD" 33225 PRINTTAB(OF+1)"BAC@@CAB" 33228 PRINTTAB(OF+1)"ABB@@BBA" 33230 PRINTTAB(OF+1)"AD@BB@EA" 33233 PRINTTAB(OF+1)"A@ECCD@A" 33235 PRINTTAB(OF+1)"@AAAAAA@"C1$:RETURN 33300 PRINTC2$"" 33323 PRINTTAB(OF+1)"CDDDDDDDDB" 33325 PRINTTAB(OF+1)"DDDDDDDCCC" 33328 PRINTTAB(OF+1)"ACCCCCCCBC" 33330 PRINTTAB(OF+1)"BBBBBBBBB@" 33333 PRINTTAB(OF+1)"BAAAAAAAAA" 33335 PRINTTAB(OF+1)"@@@@@@@@@A"C1$:RETURN 33999 REM COPYRIGHT NOTICE 34000 SYSC2,F2:SYSC5,F1 34010 PRINT"[147]":M$="[195] [201] [210] [195] [213] [201] [212] [210] [217]":GOSUB15000 34020 PRINT"[153]":M$="BY [202]OHN [215]ILLIAM '[212]HE [205]AD [199]AMER' [200]ARRIS":GOSUB15000 34030 PRINT"[159]":M$="[208]UBLISHED ON [204]OADSTAR #97":GOSUB15000 34040 PRINT"[154]":M$="[215]RITTEN BY [202]OHN [215]ILLIAM [200]ARRIS":GOSUB15000 34050 M$="@ 1992 [211]OFTDISK [201]NC.":GOSUB15000 34060 PRINT:M$="- [206][207][212][201][195][197] -":GOSUB15000 34070 PRINT:M$="[204]OADSTAR IS [206][207][212] PUBLIC DOMAIN OR":GOSUB15000 34080 M$="SHAREWARE! [208]LEASE REPORT ILLEGAL":GOSUB15000 34090 M$="DISTRIBUTION BY CALLING...":GOSUB15000 34100 PRINT"[153]":M$="1-800-831-2694":GOSUB15000 34110 M$="-OR-":GOSUB15000:M$="1-318-221-8718":GOSUB15000 34120 PRINT"[150]":M$="[208]LEASE PRESS [198][201][210][197]":GOSUB15000:SYSC6,F1:GOSUB13000 34130 SYSC5,F1:RETURN 35000 IFMS=1THENGOSUB22000 35005 SYSC2,F2:SYSC5,F1:PRINT"[155][147]";:POKE53270,200 35010 M$="[208]ROGRAM HAS BEEN BROKEN OUT OF.":GOSUB15000 35020 PRINT:M$="[210]EADY TO INITIATE PROGRAM RESET.":GOSUB15000 35030 PRINT"[150]":M$="[208]RESS [198][201][210][197] TO PROCEED.":GOSUB15000 35040 SYSC6,F1:GOSUB13000:PRINT"[147]";:POKE53281,10:RUN 35999 REM GOAL REPORT FOR STAGE #10 36000 PRINT"":M$="[215]ELCOME TO":GOSUB15500 36010 M$="THE LAST":GOSUB15500:M$="STAGE.":GOSUB15500 36020 PRINT:M$="[217]OUR":GOSUB15500:M$="FINAL":GOSUB15500 36030 M$="GOAL:":GOSUB15500:M$="[197]ARN A":GOSUB15500 36040 M$="SCORE OF":GOSUB15500:M$="100000":GOSUB15500 36050 M$="POINTS.":GOSUB15500:PRINT:M$="[199]OOD [204]UCK!":GOSUB15500 36060 PRINT:M$="[208][210][197][211][211] [198][201][210][197]":GOSUB15500:SYSC4,F1,8:GOSUB13000:RETURN 59999 REM DATA 60000 DATA1,7,10,8,2 60001 DATA1,13,3,14,6 60002 DATA1,15,15,12,11 60005 DATA "BAND","THUNDERER","I WAS A LAD" 60010 DATA "POLKA","WALTZFLOWERS","SWING THING" 60020 DATA "FENCIBLES","LOUIS","NACHMUSIK" 60030 DATA "BRUTALSURFER" 60499 REM BOARD SIZE FOR EACH STAGE 60500 DATA8,8,6,10,10,9,7,14,9,14,4,18,14,6,9,14,6,12,10,20 60698 REM FORMAT: # OF GOALS, SPEED, TYPE OF STAGE,VARIETY OF BLOCKS 60699 REM STAGE TYPES:0-CIRCUITS,1-BLOCKS,2-POINTS,3-SCORE 60700 DATA1,10,0,3 60701 DATA5,8,0,3 60702 DATA3,8,0,4 60703 DATA20,8,1,4 60704 DATA50,8,1,4 60705 DATA8,7,0,5 60706 DATA4000,7,2,4 60707 DATA45,7,1,5 60708 DATA12,7,0,5 60709 DATA3000,5,2,4 60710 DATA4000,3,3,4 60711 DATA35,4,1,6 60712 DATA15,5,0,5 60713 DATA6500,6,3,6 60714 DATA30,4,1,7 60715 DATA20,5,0,4 60716 DATA3500,8,2,6 60717 DATA12000,3,3,6 60718 DATA8,5,0,4 60719 DATA4500,4,2,4 60720 DATA60,3,1,5 60721 DATA25000,4,3,5 60722 DATA18,5,0,6 60723 DATA3,8,0,8 60724 DATA3000,3,2,5 60725 DATA50,3,1,5 60726 DATA12,2,0,5 60727 DATA100000,7,3,8 60800 DATACIRCUIT,CIRCUITS,BLOCK,BLOCKS,POINT 60810 DATAPOINTS,SCORE,SCORE 60900 DATA100,105,110,120,130,150,175,200,230,260,300,340,400,480,560,650,740 60910 DATA840,1000,1150,1300,1500,1750,2000,2300,2600,3000,3500,4000,5000 61000 DATA"[205][193][196] [199][193][205][197][210]",150000,"[202][207][200][206][206][217] [200].",100000,"[202][193][210][210][207][196] [204].",90000 61010 DATA"[202][193][211][207][206] [200].",75000,"[198][213][210][194][193][204][204]",60000,"[205][201][204][204][201][195][197][206][212]",50000 61020 DATA"[208][210][198] [218][207][210][210][207][206]",35000,"[211][208][200][197][210][207][201][196]",25000,"[199][207][201][206][199] [213][208]?",10000 61030 DATA"[199][193][205][197] [207][214][197][210]",5000 61100 DATA" 1ST"," 2ND"," 3RD"," 4TH"," 5TH"," 6TH"," 7TH"," 8TH"," 9TH","10TH" 61500 REM"[160][161][162][163][164][165][166][167]" 61510 REM SHIFT-SPACE,C=+,C=K 61520 REM C=G,???,C=@ 61530 REM C=I,C=M,C=T 61999 REM SET UP VIC CHIP 62000 POKE56578,PEEK(56578)OR3:POKE56576,PEEK(56576)AND252 62010 POKE53272,56:POKE648,204:POKE53281,0:POKE53280,0:RETURN 63000 GOSUB62000:LOAD "TRICKS.O",DV,1 63100 SYSC2,F2:SYSC5,F1:SYSC6,F1:RETURN 63110 PRINT8*4096+2*256+E*16+3:END 63200 PRINTPEEK(197):GOTO63200 63900 OPEN15,8,15:INPUT#15,A$,B$,C$,D$:CLOSE15:END 63998 END 63999 OPEN15,8,15,"S0:CIRCUITRY":CLOSE15:SAVE"CIRCUITRY",8