1 'XMAS.BA - by Don Phillip Gibson modified Benn Gibson, music entry routine 2 DEFSTRA-D:DEFINTE-Z:DIMP(26):DIMM(100,2):SCREEN0,0:B=CHR$(144):C="":C1=B+" ":C1=C1+C1+C1+C1+C1:C2=" "+B:C2=C2+C2+C2+C2+C2+" ":TI=300:CLS:LINE(16,2)-(223,10),1,B:PRINT@4,"Welcome to Our Christmas Concert";:P=210:S=4:FORK=23TO(23+4*S)STEPS 3 J=LOG(K)/1.3:LINE(P,K)-(P+(K/4),K+S+J),1:LINE(P,K)-(P-(K/4),K+S+J),1:NEXTK:LINE(P-1,K)-(P+1,K+S),1,BF:GOSUB30:GOSUB30:FORK=1TO12:PRINT@200,;:GOSUB26:PRINT@200,;:GOSUB27:NEXT:C=B+" ":C=C+C+C+C+C+C+C:PRINT@200,C1;" ";C;:PRINT@170,B;:GOSUB28 4 PRINT@200,C2;" ";C;:PRINT@170," ";B;:GOSUB28:C1=C1+" "+C:C2=C2+" "+C:C=" "+B:C=C+C:FORK=1TO7:PRINT@200,C1;:PRINT@170,;:GOSUB26:IFK=7THEN5ELSEPRINT@200,C2;:PRINT@170,;:GOSUB27 5 NEXT:C=B:FORK=1TO8:IFK<4THEN6ELSEMID$(C1,((K-4)*2)+1)=" ":MID$(C2,((K-4)*2)+2)=" " 6 PRINT@200,C1;:PRINT@170,B;:PRINT@130,;:GOSUB27:PRINT@200,C2;:PRINT@170," ";:PRINT@130,;:GOSUB26:NEXT:PRINT@130,;" ";C;:GOSUB30:FORK=280TO298:PRINT@K," ";CHR$(145);:FORT=1TO75:NEXT:NEXT 7 DATA360,G.,G-C-CdCBA-A-A-d-dedCB-G-G-e-efedC-A-GGA-d-B-C-- G-C-C-C-B---BBC-B-A-G-- d-e-ddCCg-G-GGA-d-B-C---:RESTORE7:GOSUB39:SOUNDM(1,1),60:GOSUB29:GOSUB44:GOSUB31:GOSUB30:W=10:GOSUB37:GOSUB29 8 DATA220,C.,c--ha-a-g-f-f-e-d-C--:RESTORE8:GOSUB39:SOUNDM(1,1),S*2:W=54:GOSUB32:GOSUB33:GOSUB44:GOSUB34:GOSUB35 9 DATA$-$--D$-$-G-E-D-$-F-A--:RESTORE9:GOSUB40:GOSUB44:DATAc--ha-a-g-f-f-e-d-C--:GOSUB40:SOUNDM(1,1),S*2:GOSUB32:GOSUB33:GOSUB44:GOSUB34:GOSUB35:DATA$-H--AG-A-G-F-G-D-E-F---:GOSUB40:GOSUB44:GOSUB29:FORK=1TO2:GOSUB32:GOSUB33 10 GOSUB29:GOSUB36:GOSUB28:PRINT@263,B;:NEXT:GOSUB32:GOSUB33:GOSUB29:W=10:GOSUB38:GOSUB31:GOSUB30:FORW=0TO4STEP2:GOSUB37:NEXT:GOSUB29:DATA172,F.,e-dC-ABCBA- e-dC-ABCBA- C-Cd-de-egfededC-BA--- :GOSUB39:GOSUB44 11 PRINT@253," ";B;B;B;" "; 12 DATAB----d---:RESTORE12:GOSUB40:GOSUB44:W=0:GOSUB32:DATA344,F.,C---C-C---G-C---A-C---:GOSUB39:GOSUB44:GOSUB34:W=12:GOSUB33 13 DATAC---C-C---G-C---A-C---:RESTORE13:GOSUB40:GOSUB44:GOSUB35:DATAC---C-d---e-f---e--d----e----- :GOSUB40:GOSUB44:W=0:GOSUB32:W=12:GOSUB33:DATAC---C-C---G-C---A-C-----:GOSUB40:GOSUB44:GOSUB29:PRINT@253,B+" "+B+" "+B;:GOSUB29 14 FORK=1TO2:GOSUB29:GOSUB36:GOSUB28:PRINT@253,B+" "+B+" "+B;:NEXT:GOSUB29:FORW=4TO0STEP-2:GOSUB38:NEXT:GOSUB29:DATA520,Bb,e-e-e---e-e-e---e-g-C--de------ f-f-f--ff-e-e-eeg-------g-------a-------b-------c---------------:GOSUB39:GOSUB44 15 GOSUB30:GOSUB31:GOSUB31:GOSUB29:C1=B+" ":C1=C1+C1+C1+C1+C1+C1+C1:C2=C1+B+" ":C3=C2+B+" ":FORK=213TO200STEP-1:IFK>200THEN16ELSEMID$(C1,1)=" " 16 PRINT@K,C1;:GOSUB28:NEXT:C2=C2+LEFT$(C3,12):C=SPACE$(18):PRINT@171,C;:PRINT@200,C2;:GOSUB28:FORK=2TO5:PRINT@200,MID$(C2,K);:GOSUB28:NEXT:PRINT@171,C3;:PRINT@131,C:PRINT@200,MID$(C2,6);:PRINT@175," ";:PRINT@215,CHR$(135);:GOSUB28 17 C2=LEFT$(C3,16):PRINT@200,C2;:PRINT@215,CHR$(191);:GOSUB28:PRINT@200,MID$(C2,2);:PRINT@175,B;:PRINT@215," ";:GOSUB28:C2=B+" ":C2=C2+C2+C2+C2+C2+C2+C2+" "+C2+C2+C2:FORK=1TO12:PRINT@200,MID$(C2,K); 18 IFK>2THEN19:IFK=1THENPRINT@175,CHR$(131);ELSEPRINT@175,B; 19 GOSUB28:NEXT:PRINT@170,C:C=MID$(C2,13)+C3:FORK=1TO29:PRINT@200,MID$(C,K);:GOSUB28:NEXT:PRINT@200," ";:FORK=299TO280STEP-1:PRINT@K,CHR$(145);" ";:FORT=1TO75:NEXT:NEXT:PRINT@280," ";:GOSUB30:GOSUB30:PRINT@211,"Merry Christmas!"; 20 PRINT@295,"Run";:PRINT@315,"Menu";:KEY(4)ON:KEY(8)ON 21 ONKEYGOSUB21,21,21,22,21,21,21,23:GOTO21 22 CLS:GOSUB30:RUN 23 MENU 24 FORK=25TO57STEP8:IFK=49THENNEXTELSELINE(40,K)-(199,K+2),0,BF:NEXT 25 GOSUB29:T$="":C5=B+" ":C5=C5+C5+C5+C5+C5+C5+C5+C5+C5:PRINT@131,C5;:PRINT@172,MID$(C5,3);:PRINT@213,MID$(C5,5);:PRINT@299,CHR$(145);:RETURN 26 C=B+C:PRINTC;:GOSUB28:RETURN 27 C=" "+C:PRINTC;:GOSUB28:RETURN 28 FORT=1TOTI:NEXT:RETURN 29 FORT4=1TO4:GOSUB28:NEXT:RETURN 30 FORT4=1TO10:GOSUB28:NEXT:RETURN 31 GOSUB29:GOSUB24:GOSUB28:GOSUB29:RETURN 32 PSET(82+W,49):PSET(83+W,50):PSET(84+W,50):RETURN 33 PSET(89+W,50):PSET(90+W,50):PSET(91+W,49):RETURN 34 PRESET(82+W,49):PRESET(83+W,50):PRESET(84+W,50):RETURN 35 PRESET(89+W,50):PRESET(90+W,50):PRESET(91+W,49):RETURN 36 LINE(40,49)-(199,51),0,BF:RETURN 37 PRINT@213+W," ";:PRINT@253+W,CHR$(131);:GOSUB28:PRINT@253+W,B;:RETURN 38 PRINT@252+W," ";:PRINT@213+W,CHR$(131);:GOSUB28:PRINT@213+W,B;:RETURN 39 READS,K$,T$:R=(INSTR("F.GbG.AbA.BbB.C.",K$)+1)/2:RESTORE45:FORK=1TOR:READX:NEXT:P(1)=0:FORK=2TO26:READP(K):NEXT:S=60/S*50:GOTO41 40 READT$ 41 T$=T$+" ":M=0:FORK=1TOLEN(T$)-1:N=INSTR(" $ D EFIG AHBC d#efig ahbc",MID$(T$,K,1)):E=S 42 IFMID$(T$,K+1,1)="-"THENE=E+S:K=K+1:GOTO42 43 M=M+1:M(M,1)=P(N):M(M,2)=E:NEXT:RETURN 44 FORK=1TOM:SOUNDM(K,1),M(K,2):NEXT:RETURN 45 DATA0,7032,6642,6269,5918,5586,5272,4976,4697,4433,4184,3950,3728,3516,3321,3134:DATA2959,2793,2636,2484,2348,2216,2092,1975,1864,1758,1660,1567,1479,1396,1318,1244,1174