10 REM COPYRIGHT 1989 COMPUTE! PUBLICATIONS, INC. - ALL RIGHTS RESERVED 20 PRINT"[147]":B=53280:POKEB,15:POKEB+1,12:POKEB-15,91:B1=B+2:B2=B+4:C=646:D=49152 30 FORJ=0TO10:READN:POKED+J,N:NEXT:DATA169,0,160,23,153,0,212,136,208,250,96 40 X=211:Y=214:POKEC,1:POKEB2,2:POKEY,9:PRINT 50 PRINTTAB(8)"[160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160]" 60 PRINTTAB(8)"[160][195]OPYRIGHT 1989 [195][207][205][208][213][212][197]![160]" 70 PRINTTAB(8)"[160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160]" 80 Z=1:E=828:K=256:R$=CHR$(13):P$=CHR$(32):M=1.005:A=40:NK=64:KB=197:V=54272 90 V1=V+1:V2=V:V3=V+8:V4=V+7:R=RND(-TI) 100 M1$="[160][206][197][215][160][211][198][216][160]":M2$="[160][203][197][217][160][211][198][216][160]":M3$="[160][211][193][214][197][196][160][211][198][216][160][203][197][217][211][160]" 110 DIMF1(A),F2(A),F3(A),F4(A),G1(A),G2(A),G3(A),G4(A),H1(A),H2(A),H3(A),H4(A) 120 FORT=1TOA:READN:N1=N*M:N2=N*2:N3=N*2*M:N4=INT(N/2):N5=INT(N/2*M) 130 F1(T)=INT(N/K):F2(T)=N-(F1(T)*K):F3(T)=INT(N1/K):F4(T)=INT(N1-(F3(T)*K)) 140 G1(T)=INT(N2/K):G2(T)=N2-(G1(T)*K):G3(T)=INT(N3/K):G4(T)=INT(N3-(G3(T)*K)) 150 H1(T)=INT(N4/K):H2(T)=N4-(H1(T)*K):H3(T)=INT(N5/K):H4(T)=INT(N5-(H3(T)*K)) 160 NEXT:GOSUB570:GOSUB680 170 DATA2145,2273,2408,2551,2703,2864,3034,3215,3406,3608,3823,4050,4291,4547 180 DATA4817,5103,5407,5728,6069,6430,6812,7217,7647,8101,8583,9094,9634,10207 190 DATA10814,11467,12139,12860,13625,14435,15294,16203,17167,18188,19269,20415 200 SYS49152:POKEV+23,PO(I):POKEV+24,VO(I) 210 GETA$:IFA$=""THEN210 220 IFVAL(A$)>0THENGOSUB550:GOTO200 230 IFA$="L"THENGOSUB1200:GOTO200 240 POKEV+5,AD(I):POKEV+6,SR(I):POKEV+12,AD(I):POKEV+13,SR(I):POKEV+3,DB(I) 250 POKEV+10,DC(I):POKEV+17,DD(I):POKEV+14,VI(I):POKEV+18,VS(I) 260 IFA$="+"THENT=T+1:IFT>ATHENT=A 270 IFA$="-"THENT=T-1:IFT<1THENT=1 280 IFA$="+"ORA$="-"THEN320 290 IFA$=R$THENI=0:GOSUB680:POKEY,8:PRINT:Z=Z+1 300 IFA$=R$THENPOKEC,7:POKEB1,1:PRINT" "M1$;Z"[157] ":GOTO200 310 IFA$="S"THENGOSUB1070:GOTO200 320 ONOC(I)GOTO330,340,350 330 POKEV1,F1(T):POKEV2,F2(T):POKEV3,F3(T):POKEE,F3(T):POKEV4,F4(T):GOTO360 340 POKEV1,G1(T):POKEV2,G2(T):POKEV3,G3(T):POKEE,G3(T):POKEV4,G4(T):GOTO360 350 POKEV1,H1(T):POKEV2,H2(T):POKEV3,H3(T):POKEE,H3(T):POKEV4,H4(T) 360 ONZ(I)GOTO400,370,380,390,370 370 POKEV+15,F1(T)/.7:GOTO400 380 POKEV+15,F1(T)/2:GOTO400 390 POKEV+11,W2(I):FORJ=1TO50:NEXT 400 IFA$<>R$THENPOKEV+4,W1(I):POKEV+11,W2(I) 410 ONFL(I)GOTO420,430,440,450 420 GOSUB530:GOTO460 430 FORU=1TOSL(I)STEP10:POKEV+22,U:NEXT:GOTO460 440 J=1:L=255:FORU=1TO10:POKEV+1,J:POKEV+8,L:J=J+I1(I):L=L-I2(I):NEXT:GOTO460 450 POKEV3,PEEK(E)/2 460 IFZ(I)=2THENFORU=1TOSL(I)STEPXT(I):POKEV+1,U:NEXT 470 IFZ(I)=5THENFORU=SL(I)TO1STEP-XT(I):POKEV+23,1:POKEV+1,U:POKEV+23,PO(I):NEXT 480 IFPEEK(KB)<>NKTHEN480 490 IFZ(I)=6THENPOKEV+4,21:POKEV+11,21 500 POKEV+4,W1(I)-1:POKEV+11,W2(I)-1 510 IFA$="R"THENGETB$:IFB$=""THEN320 520 GOTO210 530 POKEV,PEEK(V+27):POKEV+7,PEEK(V+27):IFPEEK(KB)<>NKTHEN530 540 RETURN 550 I=VAL(A$):IFOC(I)=0THENI=0:RETURN 560 T=T(I):POKEY,8:PRINT:POKEC,3:POKEB2,0:PRINT" "M2$;I"[157] ":POKEC,1:RETURN 570 POKEC,1:PRINT"[147] SPACE[146] TO HEAR SFX +[146] TO RAISE PITCH 580 [153]" SWAIT TO SAVE SFX -WAIT TO LOWER PITCH 590 PRINT" L[146] TO LOAD SFX RETURN[146] FOR NEW SFX 600 [153]" RWAIT TO REPEAT SFX (ANY KEY TO STOP) 610 PRINT"----------------------------------------" 620 IFS$=""THENPOKEY,8:PRINT:POKEC,7:POKEB1,1:PRINT" "M1$;Z"[157] " 630 POKEY,8:PRINT:POKEC,7:POKEB1,1:PRINT" "S$ 640 POKEY,8:PRINT:POKEX,20:POKEB2,0:POKEC,3:PRINTM3$:PRINT 650 IFP=0THENPOKEY,11:PRINT:POKEX,24:PRINT"(NONE) 660 [139]ZG[177]0[167][129]U[178]1[164]ZG:[151]X,26:[153]U:[130] 670 [142] 680 Z(I)[178][181](5[172][187](1))[170]1:FL(I)[178][181](5[172][187](1))[170]0:OC(I)[178][181](3[172][187](1))[170]1 690 T[178][181](A[172][187](1))[170]1:I1(I)[178][181](25[172][187](1))[170]1:I2(I)[178][181](25[172][187](1))[170]1 700 SL(I)[178][181](255[172][187](1))[170]1 710 J[178][181](7[172][187](1))[170]1:[145]J[137]720,730,740,750,760,770,780 720 W1(I)[178]17:[137]790 730 W1(I)[178]33:[137]790 740 W1(I)[178]65:[137]790 750 W1(I)[178]129:[137]790 760 W1(I)[178]21:[137]790 770 W1(I)[178]23:[137]790 780 W1(I)[178]85 790 J[178][181](7[172][187](1))[170]1:[145]J[137]800,810,820,830,840,850,860 800 W2(I)[178]17:[137]870 810 W2(I)[178]33:[137]870 820 W2(I)[178]65:[137]870 830 W2(I)[178]129:[137]870 840 W2(I)[178]21:[137]870 850 W2(I)[178]23:[137]870 860 W2(I)[178]85 870 AT[178][181](8[172][187](1))[170]1:DE[178][181](15[172][187](1))[170]1 880 SU[178][181](15[172][187](1))[170]1:RE[178][181](15[172][187](1))[170]1 890 AD(I)[178]AT[172]16[170]DE:SR(I)[178]SU[172]16[170]RE 900 J[178][181](4[172][187](1))[170]1:[145]J[137]910,920,930,940 910 PO(I)[178]241:[137]950 920 PO(I)[178]242:[137]950 930 PO(I)[178]243:[137]950 940 PO(I)[178]240 950 XT(I)[178][181](40[172][187](1))[170]10 960 J[178][181](4[172][187](1))[170]1:[145]J[137]970,980,990,1000 970 VS(I)[178]17:[137]1010 980 VS(I)[178]33:[137]1010 990 VS(I)[178]65:[137]1010 1000 VS(I)[178]129 1010 VI(I)[178][181](200[172][187](1))[170]55 1020 DB(I)[178][181](8[172][187](1))[170]1:DC(I)[178][181](8[172][187](1))[170]1:DD(I)[178][181](8[172][187](1))[170]1 1030 J[178][181](3[172][187](1))[170]1:[145]J[137]1040,1050,1060 1040 VO(I)[178]31:[142] 1050 VO(I)[178]45:[142] 1060 VO(I)[178]79:[142] 1070 [141]1310:[139]P[178][177]9[167]1120 1080 [151]C,1:[153]"TO KWAITEYBOARD OR DWAITISK? 1090 GETA$:IFA$<>"K"THENIFA$<>"D"THENIFA$<>R$THEN1090 1100 IFA$=R$THEN1190 1110 IFA$="K"THEN1320 1120 PRINTCHR$(147) 1130 INPUT"[144]SAVE FILENAME ($ - DIR) ";S$:IFS$="$"THEN GOSUB 1300:GOTO1130 1140 IFS$=""THEN1190 1150 OPEN1,8,1,S$:PRINT#1,T:PRINT#1,OC(0):PRINT#1,I1(0):PRINT#1,I2(0):T(I)=T 1160 PRINT#1,Z(0):PRINT#1,FL(0):PRINT#1,W1(0):PRINT#1,W2(0):PRINT#1,AD(0) 1170 PRINT#1,SR(0):PRINT#1,PO(0):PRINT#1,XT(0):PRINT#1,VI(0):PRINT#1,VS(0) 1180 PRINT#1,DB(0):PRINT#1,DC(0):PRINT#1,DD(0):PRINT#1,VO(0):PRINT#1,SL(0) 1190 GOSUB570:CLOSE1:RETURN 1200 PRINTCHR$(147) 1210 INPUT"[144]LOAD FILENAME ($ - DIR) ";S$:IF S$="$" THEN GOSUB 1300:GOTO1210 1220 IFS$=""THENGOSUB570:GOTO1290 1230 OPEN1,8,0,S$:INPUT#1,T:INPUT#1,OC(0):INPUT#1,I1(0):INPUT#1,I2(0) 1240 INPUT#1,Z(0):INPUT#1,FL(0):INPUT#1,W1(0):INPUT#1,W2(0):INPUT#1,AD(0) 1250 INPUT#1,SR(0):INPUT#1,PO(0):INPUT#1,XT(0):INPUT#1,VI(0):INPUT#1,VS(0) 1260 INPUT#1,DB(0):INPUT#1,DC(0):INPUT#1,DD(0):INPUT#1,VO(0):INPUT#1,SL(0) 1270 GOSUB570 1280 POKEY,8:PRINT:POKEC,7 1290 CLOSE1:I=0:RETURN 1300 PRINT"[147]":GOSUB1370 1310 S$="":POKE198,0:PRINT:RETURN 1320 P=P+1:I=P:T(I)=T 1330 OC(I)=OC(0):I1(I)=I1(0):I2(I)=I2(0):Z(I)=Z(0):FL(I)=FL(0):W1(I)=W1(0) 1340 W2(I)=W2(0):AD(I)=AD(0):SR(I)=SR(0):PO(I)=PO(0):XT(I)=XT(0):VI(I)=VI(0) 1350 VS(I)=VS(0):DB(I)=DB(0):DC(I)=DC(0):DD(I)=DD(0):VO(I)=VO(0):SL(I)=SL(0) 1360 ZG=ZG+1:GOSUB570:GOTO560 1370 OPEN15,8,15:OPEN1,8,0,"$0" 1380 GET#1,A$,A$ 1390 GET#1,A$,A$ 1400 S=ST:IFS<>0THENCLOSE1:GOTO1460 1410 GET#1,LO$,HI$ 1420 LO=ASC(LO$+CHR$(0)):HI=ASC(HI$+CHR$(0)):LN=LO+HI*256:LN$=MID$(STR$(LN),2) 1430 PRINTLN$+" "; 1440 GET#1,B$:IFB$=""THENPRINTCHR$(13);:GOTO1390 1450 PRINTB$;:GOTO1440 1460 INPUT#15,EN,EM$,ET,ES:IFEN<>0THENPRINTEN;EM$;ET;ES 1470 CLOSE15:RETURN