start tok64 d64-jEHCmd 1 dn=8:GOTO 9200:REM editor77 by harry bratt 10/26/84 2 REM okay, remove the date if you insist, but 3 REM keep the rest of the comment, please! 5 jv=PEEK(56320):jb=1-(jv AND 16)/16:jv=jv AND 15:RETURN 8 POKE cy,3:PRINT:POKE cx,18-8*ac:PRINTac$(ac+1):RETURN 10 PRINTCHR$(19)CHR$(146)c1$;:POKE cx,25:PRINT"mem:"fmCHR$(157)"{space*6}":RETURN 12 POKE 54283,129:POKE 54283,32:RETURN 19 v0=nt:v1=ac:v2=oc:v3=ln:v4=rs+2*sp:v5=ty:v6=1 20 h=PEEK(mm+cn):IFhAND3 THEN sp=1:rs=0:ty=0:RETURN 22 sp=0:ln=7-(hAND31)/4-.5*((hAND32)=32):ty=-((hAND64)=64) 24 h=PEEK(mm+cn+1):IF h=0 THEN rs=1:GOTO 28 26 rs=0:nt=(hAND7)-1:oc=7-(hAND56)/8:ac=(hAND192)/64-2 28 RETURN 30 POKE cy,21:PRINTc0$:POKE cx,x*5:h=PEEK(mm+cn):IF h AND 3 GOTO 36 31 IF rs THEN PRINT"(r)"y$;:GOTO 33 32 PRINTc0$nt$CHR$(ASC(ac$)+162*(ASC(ac$)=194))oc$y$; 33 PRINTln$lm$ty$(ty); 34 IF v6 THEN nt=v0:ac=v1:oc=v2:ln=v3:rs=v4AND1:sp=(v4AND2)/2:ty=v5:v6=0 35 RETURN 36 POKE 251,PEEK(mm+cn+1-(hAND2)/2):POKE 252,-((PEEK(mm+cn)AND3)<>1):SYS 1232 37 PRINTs$(PEEK(252)+1)y$CHR$(157);:qi=ASC(MID$(s$,PEEK(252)+1))-65 38 IF ABS(v(qi))<90 THEN qj=PEEK(251):GOSUB80:GOTO34 39 qj=PEEK(mm+cn+1)+256*PEEK(251):GOSUB 80:GOTO 34 40 POKE 1216+sc,pk:sc=3:POKE 1219,1:pk=14:GOTO 510 45 GOSUB 5:IF jb=0 THEN RETURN 47 GOSUB 5:IF jb THEN 47 48 jb=1:RETURN 50 FOR k=0 TO 6:ac%(ak%(ABS(k+6*(ky<0))))=(k4)):ac$=CHR$(194+ac):oc$=RIGHT$(STR$(oc),1):RETURN 70 k=j-INT(j/256)*256:j=(j-k)/256:RETURN 80 IF qi<>2 GOTO 84 82 IF qjAND1 THEN PRINT-(11-INT(qj/16)+12*(qj/2AND7));:RETURN 83 qj=INT(qj/16)+12*(7-(qj/2AND7)):GOTO 87 84 IFqi=9 THEN qj=(qjAND3584)/2+(qjAND255)+((qjAND256)=256)*2048:GOTO 87 85 IF qi>10 THEN ON qi-10 GOTO 88,88,90,90,91,92 86 IF v(qi)<0 THEN qj=qj+256*(qj>127) 87 PRINT MID$(STR$(qj),2+(qj<0));:RETURN 88 IF qj=0 THEN PRINT"n";:RETURN 89 PRINTfw$(qj-1,qi-11);:RETURN 90 PRINTnu$(qj,qi-13); 91 RETURN 92 qj=qj-256*(qj=0):qj=INT(14400/qj):GOTO 87 200 REM input sbr 210 a$="":lh=0:PRINTCHR$(164)CHR$(157); 215 GET b$:IF b$="" GOTO 215 220 b=ASC(b$):IF b=13 OR b=141 THEN PRINT" ";:RETURN 230 IF b<>20 OR lh=0 GOTO 240 232 lh=lh-1:a$=LEFT$(a$,lh-(lh=0)) 235 PRINTCHR$(157)"{space*2}"CHR$(157)CHR$(157)CHR$(164)CHR$(157);:IF lh=0 THEN a$="" 237 GOTO 215 240 IF lh=mx-(ASC(a$+" ")=45) GOTO 215 245 IF b=45 AND (fa AND 1) AND lh=0 GOTO 270 250 IF b>47 AND b<58 GOTO 270 260 IF b<32 OR b>90 OR (fa AND 2)=0 GOTO 215 270 a$=a$+b$:lh=lh+1:PRINTb$;:POKE 212,0:PRINTCHR$(164)CHR$(157);:GOTO 215 500 REM ** main joystick part ** 501 IF nn<0 THEN nt=0:oc=4:ln=3:rs=0:sp=0:GOTO 507 502 IF gk=0 GOTO 507 503 tn=cn:FOR x=(tn/2-3)*(tn<5) TO 7-(4-(nn-tn)/2)*-((nn-tn)<7) 504 cn=tn-6+2*x:GOSUB19:GOSUB60:GOSUB65:GOSUB30:NEXT:cn=tn+2*(tn>nn) 505 GOSUB20:cn=tn 507 GOSUB 555:GOSUB 545 509 lq=0 510 GOSUB5:GET k$:IF k$="" THEN k$=" ":IF jv=15 AND jb=0 GOTO 510 511 IF jb OR ASC(k$)=13 GOTO 600 512 IF jv<>15 THEN POKE 198,0:GOTO 530 513 ON ABS(ASC(k$)-132) GOTO 8000,7000,4100,4000,4050,4060 514 k=-2*(k$="+")-3*(k$="{pound}")-4*(k$="-"):IF k>0 THEN ac=k-3:GOTO 554 515 IF k$>"@" AND k$<"h" THEN nt=ASC(k$)-67:nt=nt-7*(nt<0):rs=0:sp=0:GOTO 553 516 IF k$>"/" AND k$<"8" THEN oc=VAL(k$):rs=0:sp=0:GOTO 553 517 IF k$>"g" AND k$<"x" THEN k=kl%(ASC(k$)-72):IF k>-1 THEN ln=k:GOTO 542 518 IF k$="8" THEN ln=2:GOTO 542 519 IF k$="." AND ln>0 AND ln<6 THEN ln=INT(ln)+.5*(1-(ln*2)AND1):GOTO 542 520 IF (ASC(k$) AND 127)=20 GOTO 900 521 IF k$="r" THEN rs=1-rs:ty=0:GOSUB555:GOTO 510 522 IF k$="/" THEN ty=1-ty:rs=0:GOSUB555:GOTO 510 523 IF ASC(k$)=17 OR ASC(k$)=29 THEN jv=28-ASC(k$):GOSUB650:jv=15 524 IF k$="m" THEN lq=1:GOTO 740 525 IF ASC(k$)=221 OR ASC(k$)=219 THEN k=220-ASC(k$):lq=1:GOTO 725 526 IF ASC(k$)=147 GOTO 980 529 GOTO 510 530 IF jv>12 THEN rs=0:GOTO 550 535 k=.5*((jv>8)-(jv<8)):ln=ln+k:IF ln=.5 OR ln=6.5 THEN ln=ln+k 540 ln=ln+7.5*(ln>7)-7.5*(ln<0) 542 GOSUB12:IF sp GOTO 554 543 GOSUB 545:GOTO 510 545 POKE cy,17:PRINT:POKE cx,21:IF sp THEN PRINTc0$"--"SPC(2)"{-*7}":RETURN 547 POKE cy,17:PRINT:POKE cx,21:GOSUB 60:PRINT c0$ln$lm$SPC(2)ln$(ln):RETURN 550 nt=nt+(jv=13)-(jv=14) 552 IF nt<0 OR nt>6 THEN oc=oc-(jv=14)+(jv=13):nt=3*(1-SGN(nt)) 553 ac=ac%(nt):IF sp=0 THEN GOSUB 555:GOTO 510 554 sp=0:GOSUB555:GOSUB545:GOTO 510 555 f1=0:POKE cy,9:PRINTc0$:POKE cx,16:IF rs THEN PRINT"(r)":GOTO 567 556 IF sp THEN PRINT"{-*3}":GOTO 567 557 IF oc>7 OR (oc=7 AND nt=6 AND ac=-1) THEN oc=7:nt=6:ac=0 558 IF oc<0 OR (oc=0 AND nt=0 AND ac=1) THEN oc=0:nt=0:ac=0 559 POKE 780,(1-rs)*(nt+1+8*(7-oc)+64*(ac+2)):SYS 1396 560 POKE cy,9:POKE 54276,64:GOSUB 65:PRINT 565 POKE cx,16:PRINTc0$nt$" "ac$:POKE cy,14:PRINT:POKE cx,17 567 POKE cy,14:PRINT:POKE cx,17:IF rs OR sp THEN PRINT"-":GOTO 576 568 PRINToc$ 576 POKE cy,19:PRINT:POKE cx,9:PRINTc3$CHR$(146-128*rs)"rest"CHR$(146); 577 PRINT" <--select--> "CHR$(146-128*ty)"tie":IF f1 THEN RETURN 579 IF al=ac AND rs=0 AND sp=0 THEN 582 580 PRINTc3$:h=ac:ac=al:GOSUB 8:ac=h:IF rs OR sp THEN al=2:RETURN 582 al=ac:PRINTc1$:GOSUB 8:RETURN 600 REM ** button pressed ** 605 fg=0 610 GOSUB 5:IF jb=0 THEN 680 620 IF jv=15 THEN 610 625 fg=1:IF jv<13 GOTO 610 632 POKE 1216+sc,pk 635 k=(jv=13)-(jv=14):sc=sc+k:sc=sc-k*(sc=5):sc=sc+6*((sc>6)-(sc<1)) 640 pk=PEEK(1216+sc):POKE 1216+sc,-(sc=3 OR sc=1) 645 FOR k=1 TO 90:NEXT:GOTO 610 648 GOSUB650:GOSUB45:IF jb THEN POKE 198,0:GOTO 40 649 GOTO 648 650 k=-(jv<8):IF(cn+(k=0))<0 OR(cn>nn AND k=1) OR jv>11 OR in THEN fg=1:RETURN 651 IF k=0 THEN POKE cy,21:PRINT:POKE cx,35:PRINTz$(0); 652 POKE cy,21:PRINT:PRINTz$(1-k);:x=k*7 656 cn=cn-2+4*k:IF cn-2=nn THEN fg=1:RETURN 658 tn=cn:IF sq=0 THEN GOSUB 20:GOSUB 545:GOSUB 555 660 cn=cn-6-14*(jv<8):IF cn<0 OR cn>nn GOTO 670 662 GOSUB19:GOSUB60:GOSUB65:GOSUB30 670 fg=1:cn=tn:GOSUB20:RETURN 680 IF fg THEN ON sc GOTO 648,800,510,750,510,700 682 IF (fm=0 AND cn>nn) OR (ln=7 AND (ty OR rs)) GOTO 510 684 in=in+(in>0):POKE mm+cn,4*(7-INT(ln))-32*(ln>INT(ln))+64*ty 686 POKE mm+cn+1,(1-rs)*(nt+1+8*(7-oc)+64*(ac+2)):GOSUB 60:GOSUB 65 687 IF m1 THEN ac%(nt)=ac 688 IF nn4 GOTO 510 692 tn=cn:cn=cn+8:x=7:GOSUB19:GOSUB60:GOSUB65:GOSUB30:cn=tn:GOTO 510 700 REM ** key change ** 710 GOSUB 45:IF jb GOTO 40 715 IF jv>12 AND jv<15 GOTO 740 720 k=(jv=11)-(jv=7):IF k=0 THEN 710 725 ky=ky+k:ky=ky+15*(SGN(ky)*(ABS(ky)=8)):GOSUB12 730 POKE cy,1:PRINT:POKE cx,10:PRINTc1$ABS(ky)CHR$(157)CHR$(193-2*(ky<0)); 732 PRINT" ("ky$(ky+7)")":GOTO 745 740 m1=1-m1:GOSUB12:POKE cy,1:PRINT:POKE cx,30:PRINTc1$MID$("on off",4-m1*3,3) 745 GOSUB 50:ON lq+1 GOTO 710,509 750 REM ** accidental change ** 760 rs=0:GOSUB 45:IF jb GOTO 40 770 k=(jv=7)-(jv=11):IF k=0 THEN 760 775 ac=ac+k:ac=ac+3*(SGN(k))*(ABS(ac)=2):IF sp=0 THEN GOSUB 555:GOTO 760 780 sp=0:GOSUB 555:GOSUB 545:GOTO 760 800 REM ** rest <--> tie ** 810 GOSUB 45:IF jb GOTO 40 815 IF jv<>11 GOTO 825 820 rs=1-rs:ty=0:GOTO 840 825 IF jv<>7 GOTO 810 830 ty=1-ty:rs=0:GOTO 840 840 IF sp=0 THEN GOSUB 555:GOTO 40 845 sp=0:GOSUB555:GOSUB545:GOTO 40 900 REM ** ins/del ** 910 k=-(ASC(k$)=20) 920 IF cn>nn OR (fm=0 AND k=0) THEN ON sq+1 GOTO 970,7375 923 GOSUB12:in=in-k*2+1:in=in-(in<0) 925 IF k=0 THEN POKE cy,21:PRINT:POKE cx,35:PRINTz$(0); 927 POKE cy,21:PRINT:POKE cx,15:PRINTz$(1-k); 930 IF k GOTO 939 932 FOR i=0 TO 2 STEP 2:j=mm+cn+i:GOSUB 70:POKE 251+i,k:POKE 252+i,j:NEXT i 936 j=nn-cn+2:GOSUB 70:POKE 781,k:POKE 782,j:SYS 1024:nn=nn+2 938 fm=fm-1:ON sq+1 GOTO 970,7375 939 IF cn=nn GOTO 950 940 FOR i=0 TO 2 STEP 2:j=mm+cn+2-i:GOSUB 70:POKE 251+i,k:POKE 252+i,j:NEXT i 942 j=nn-cn:GOSUB 70:POKE 781,k:POKE 782,j:SYS 1024 950 nn=nn-2:fm=fm+1:IF nn-cn<8 OR in>4 THEN ON sq+1 GOTO 970,7375 960 tn=cn:cn=cn+8:x=7:GOSUB19:GOSUB60:GOSUB65:GOSUB30:cn=tn:ONsq+1GOTO 970,7375 970 GOSUB10:GOTO 510 980 PRINTCHR$(19)SPC(25)c1$"clear to end?" 982 GET k$:IF k$="" GOTO 982 985 IF k$<>"y" GOTO 995 990 FOR k=1 TO 5:POKE cy,21:PRINT:POKE cx,15:PRINTz$(0);:NEXT 992 fm=fm+(nn-cn+2)/2:nn=cn-2:in=0 995 GOSUB10:GOTO 510 4000 REM ** enter measure ** 4010 IF m1 THEN GOSUB 50 4015 mz=mz+1+1000*(mz>999):j=mz:GOSUB70 4020 POKE mm+cn,j*64+30:POKE mm+cn+1,k:b=1:GOTO 7300 4050 k=0:GOTO 4065 4060 k=nn+2 4065 IF in GOTO 510 4067 cn=k 4070 gk=1:SYS 1802:GOSUB10:GOTO501 4100 IF nn<2 OR in GOTO 510 4105 PRINTCHR$(19)SPC(25)c1$"measure:{space*10}";:POKE cx,33 4110 fa=0:mx=3:GOSUB 200:IF a$="" THEN GOSUB10:GOTO 510 4115 j=VAL(a$):GOSUB 70:POKE 1394,j*64+30:POKE 1395,k 4120 j=mm(vc):GOSUB 70:POKE 251,k:POKE 252,j 4125 j=mm(vc)+nn:GOSUB 70:POKE 1392,k:POKE 1393,j:SYS 1350 4130 cn=PEEK(251)+256*PEEK(252)-mm(vc):GOTO 4070 5000 POKE cy,3:PRINTc0$:POKE cx,10:PRINTCHR$(18)"press 'y' to confirm" 5010 GET k$:ON 1-(k$="")-2*(k$="y") GOTO 8005,5010,5040 5040 POKE 781,237:POKE 782,246:SYS 1813:POKE 55,PEEK(1020):POKE 56,PEEK(1021) 5050 POKE 53269,0:POKE 648,4:POKE 56576,PEEK(56576)OR3:SYS 65409:CLR:END 7000 GOSUB 7905:POKE 53280,2:POKE 53265,19 7001 POKE 780,24:SYS 1596 7002 POKE cy,3:PRINTc6$:POKE 53288,3:GOTO 7200 7004 PRINTc2$CHR$(147);:p$="{space*19}":REM 19 spaces! 7006 PRINTCHR$(18)p$p$" "CHR$(157)CHR$(148)" "CHR$(19); 7008 u1$=CHR$(18):PRINTc6$:FOR k=1 TO 10:PRINTCHR$(185);:u1$=u1$+CHR$(192):NEXT 7110 h=0:FOR k=1 TO 10:PRINT:PRINTc2$CHR$(18);:j=5-LEN(sc$(k))/2 7114 PRINTLEFT$(p$,j)sc$(k)LEFT$(p$,j+.5);CHR$(146); 7115 FOR j=1 TO n(k):h=h+1:PRINT" "c0$s$(h)" ";:NEXT:PRINT:PRINTc6$u1$;:NEXT 7116 PRINTCHR$(145):FOR k=1 TO 10:PRINTCHR$(184);:NEXT 7120 POKE cy,1:PRINTc6$:FOR k=0 TO 4:POKE cx,20:PRINTCHR$(18)p$:NEXT:RETURN 7200 IF uy>9 THEN POKE 53255,0:POKE 53288,13:GOTO 7375 7201 POKE 53288,3:POKE 53264,-((ux*40)>147)*8:POKE 53254,(108+ux*40)AND255 7202 POKE 53255,59+uy*16:POKE cx,21 7205 PRINT CHR$(18)sc$(uy+1);":";ss$(nn(uy)+ux+1)RIGHT$(i$,38-POS(0)); 7207 GOSUB5:GETk$:k=ASC(k$+" "):IF k<>17 AND k<>29 GOTO 7209 7208 jv=-7*(k=29)-11*(k=17):sq=1:GOSUB650:sq=0:POKE cy,3:PRINTc6$:GOTO 7207 7209 IF (kAND127)=20 THEN sq=1.1:GOTO 900 7211 jv=-jv*(jv<15)-(jv=15)*(15+(k=73)+2*(k=77)+4*(k=74)+8*(k=75)) 7212 IF jv<15 THEN GOSUB12:GOTO 7216 7213 IF (jb OR k$=CHR$(13)) AND NOT (fm=0 AND cn>nn) GOTO 7250 7214 IF k$<>CHR$(133) GOTO 7207 7215 POKE 53255,0:gk=0:GOTO 9000 7216 ux=ux+(jv=11)-(jv=7):ux=ux+n(uy+1)*(ux=n(uy+1))-6*(ux<0) 7217 uy=uy+(jv=14)-(jv=13):uy=uy+11*(uy=11)-11*(uy<0) 7218 IF uy>9 THEN POKE 53255,0:POKE 53288,13:GOTO 7350 7219 IF n(uy+1)<=ux THEN ux=n(uy+1)-1 7220 GOTO 7200 7250 k=ASC(MID$(s$,nn(uy)+ux+1))-65:POKE cy,1:PRINT:POKE cx,21:PRINTCHR$(18); 7255 IF k>10 THEN PRINTv$(k-11):GOTO 7265 7260 PRINT"(";-(v(k)<0)*(v(k))"to"ABS(v(k))")" 7265 POKE cy,5:PRINT:POKE cx,21 7267 mx=LEN(STR$(ABS(v(k))))-1:fa=-(v(k)<0) 7270 PRINTCHR$(18)"enter:";:GOSUB 200:IF a$="" GOTO 7001 7280 j=VAL(a$):IF ABS(j)>ABS(v(k)) OR (k=16 AND j<56) GOTO 7001 7282 IF k=16 THEN j=INT(1800/j+.5)*8:j=-j*(j<256) 7283 IFk=9THENPOKEmm+cn+1,jAND255:POKE mm+cn,(jAND1792)/8+10-16*(j<0):GOTO7300 7284 IF k<>2 THEN j=j-256*(j<0):GOTO 7289 7286 h=16*(-11*(j<0)+12*(j/12-SGN(j)*INT(ABS(j)/12))) 7287 j=INT(h+2*(-7*(j>=0)-SGN(j)*INT(ABS(j)/12))-(j<0)+.5) 7289 IF k=6 THEN mz=j 7290 IF ABS(v(k))>90 GOTO 7295 7292 POKE mm+cn,1:POKE mm+cn+1,PEEK(1278+nn(uy)+ux)+m(k)*j:GOTO 7300 7295 j1=k:IF j<0 THEN j=-j*(v(c)+1)+1 7297 GOSUB 70:POKE mm+cn,PEEK(1278+nn(uy)+ux)+m(j1)*j:POKE mm+cn+1,k 7300 IF nn0) 7305 POKE cy,22:PRINT:POKE cx,16:PRINT"{space*4}";:REM 4 spaces 7310 x=3:GOSUB30:POKE cy,21:PRINT:PRINTz$(0);:cn=cn+2 7315 IF nn-cn<8 OR in>4 GOTO 7320 7316 tn=cn:cn=cn+8:x=7:GOSUB19:GOSUB60:GOSUB65:GOSUB30:cn=tn 7320 ON 1-(b=13)-2*(b=1) GOTO 7001,7215,510 7350 POKE cx,21:PRINT"{space*17}";:REM 17 spaces 7355 GOSUB5:GETk$:k=0:IF k$<>"" THEN k=ASC(k$):k=k-57*(k=17)-46*(k=29) 7356 jv=-jv*(jv<15)-(jv=15)*(15+(k=73)+2*(k=77)+4*(k=74)+8*(k=75)) 7357 IF jv=7 OR jv=11 THEN sq=1:GOSUB650:sq=0:POKE cy,3:PRINTc6$:GOTO 7355 7358 IF jv=13 OR jv=14 THEN FOR k=1 TO 100*-(k$=""):NEXT:GOSUB12:GOTO 7217 7360 IF k$<>"" THEN IF (ASC(k$)AND127)=20 THEN sq=1:GOTO 900 7365 IF k$=CHR$(133) GOTO 7215 7370 GOTO 7355 7375 k=sq:sq=0:POKE cy,3:PRINTc6$:ON 1-(k>1) GOTO 7355,7207 7500 nv(vc)=nn:cn(vc)=cn 7510 IF vc=3OR(vc=2 AND nv(3)=-2)OR(vc=1 AND nv(2)=-2 AND nv(3)=-2) GOTO 7530 7520 j=k5-nv(3)-4+(vc=1)*(nv(2)+4):GOSUB 70:POKE 251,k:POKE 252,j 7525 j=mm(1)+nv(1)+4-(vc=2)*(nv(2)+4):GOSUB 70:POKE 253,k:POKE 254,j 7527 j=nv(3)+4-(vc=1)*(nv(2)+4):GOSUB 70:POKE 781,k:POKE 782,j:SYS 1024 7530 mm(2)=mm(1)+nv(1)+4:mm(3)=mm(2)+nv(2)+4 7535 GOSUB8690 7900 POKE 241,PEEK(241)OR128:POKE 53251,0:POKE 53281,10 7905 POKE 1140,255:POKE 1145,240:POKE 1160,k8:POKE 1165,k9:SYS 1138 7910 POKE 53280,10:POKE 53281,1:POKE 53249,0:POKE 53253,0:RETURN 8000 IF in GOTO 510 8001 GOSUB 7500 8005 POKE 780,9:SYS 1596:POKE 53269,0:GOTO 8225 8010 p$=CHR$(18)+"{space*39}":REM 39 spaces 8015 p1$=CHR$(162):FOR k=1 TO 4:p1$=p1$+p1$:NEXT:p1$=p1$+LEFT$(p1$,6) 8020 p2$=CHR$(192):p2$=p2$+p2$+p2$:p2$=p2$+p2$+p2$+p2$ 8100 PRINTCHR$(147); 8110 FOR k=1 TO 6:PRINTCHR$(150)p$:NEXT 8120 PRINTCHR$(18)" "c7$LEFT$(p$,39) 8130 FOR k=1TO13:PRINTCHR$(18)CHR$(150)" "c7$" "cb$" "SPC(34)" "c7$" ":NEXT 8140 PRINTCHR$(150)CHR$(18)" "c7$LEFT$(p$,39); 8141 FOR k=0 TO 960 STEP 40:POKE 55335+k,10:POKE 51239+k,160:NEXT 8142 POKE cy,19:PRINT 8145 FOR k=1 TO 4:PRINT:PRINTCHR$(150)LEFT$(p$,4)c2$LEFT$(p$,35)CHR$(150)"{space*2}"; 8146 NEXT 8150 PRINTCHR$(19)c6$SPC(13):PRINTCHR$(18)k1$p2$k2$ 8152 PRINTSPC(13):PRINTCHR$(18)CHR$(221)" sid player "CHR$(221) 8154 PRINTSPC(13):PRINTCHR$(18)k3$p2$k4$ 8162 POKE cy,6:PRINT:POKE cx,3 8165 PRINTcb$LEFT$(p$,7)p1$LEFT$(p$,7) 8170 FOR k=1 TO 11:PRINTSPC(3)LEFT$(p$,7)CHR$(146)MID$(p$,2,22)LEFT$(p$,7):NEXT 8175 PRINTSPC(3)LEFT$(p$,7)CHR$(146)p1$LEFT$(p$,7) 8180 POKE cy,7:PRINTc6$ 8190 FOR k=0 TO 5:PRINTSPC(10)k+1;CHR$(157)") "m$(k):PRINT:NEXT:RETURN 8225 GET k$:IF k$<"1" OR k$>"6" GOTO 8225 8230 j=ASC(k$)-48:POKE cy,5+j*2:PRINT:PRINTSPC(14)CHR$(18)c2$m$(j-1) 8260 ON j GOTO 8900,8500,8450,8400,8300,5000 8300 REM ** directory ** 8310 IF dn=1 GOTO 8005 8312 POKE 780,1:POKE 781,8:POKE 782,0:SYS 65466:POKE 581,36 8314 POKE 780,1:POKE 781,69:POKE 782,2:SYS 65469:SYS 65472 8316 POKE 581,46:POKE 582,77:POKE 583,85:POKE 584,83 8318 p$=CHR$(18)+"{space*39}":REM 39 spaces 8320 POKE cy,3:PRINT:POKE cx,15:PRINTCHR$(18)c0$"directory:" 8330 POKE cy,6:PRINT:PRINTSPC(3)cb$CHR$(18)LEFT$(p1$,16)CHR$(187)CHR$(172); 8335 PRINTLEFT$(p1$,16) 8340 FOR k=1 TO 11:PRINTSPC(3)MID$(p$,2,16)CHR$(18)CHR$(161)CHR$(146)CHR$(161); 8345 PRINTMID$(p$,2,16):NEXT 8350 PRINTSPC(3)LEFT$(p1$,16)CHR$(18)CHR$(190)CHR$(188)CHR$(146)LEFT$(p1$,16) 8355 j=0:k=0:POKE cy,7:PRINTc0$ 8360 POKE cx,18*k+3:SYS 1710:h=PEEK(251)+256*PEEK(252):IF st<>0 GOTO 8376 8365 POKE cx,18*k+15:PRINTLEFT$("{space*2}",-(h<100)-(h<10));h 8373 j=j+1:IF j>10 THEN j=0:POKE cy,7:PRINT:k=1-k:IF k=0 THEN k=-1:GOTO 8380 8374 GOTO 8360 8376 CLOSE 1:SYS 65484 8380 POKE 198,0:POKE cy,3:PRINT:PRINTSPC(7)CHR$(18)c0$"press any key "; 8382 IF k<0 THEN PRINT"to continue";:GOTO 8385 8383 PRINT"for main menu";:POKE cy,19:PRINT 8384 PRINTTAB(12)LEFT$("{blue}{reverse on}{space*2}",2-(h<100)-(h<10))h"{left} blocks free{space*2}" 8385 WAIT 198,15 8387 POKE cx,7:PRINTCHR$(150)LEFT$(p$,30) 8390 IF k>=0 GOTO 8005 8395 k=0:GOTO 8330 8400 REM ** save ** 8402 IF nv(1)<0 AND nv(2)<0 AND nv(3)<0 GOTO 8005 8404 FOR i=6 TO 2 STEP -2:j=nv(4-i/2)+4:GOSUB 70:POKE mm(1)-i,k 8406 POKE mm(1)-i+1,j:NEXT 8408 POKE cy,3:PRINT:PRINTTAB(10)CHR$(18)c0$" change text lines? " 8410 WAIT 198,15:GET a$:ON 1-(a$="n")-2*(a$="y") GOTO 8410,8428,8414 8414 POKE 780,9:SYS 1596:GOSUB 8490 8418 mx=32:fa=2:FOR k=0 TO 3:POKE cy,20+k:PRINT:POKE cx,4:PRINTCHR$(18)c2$; 8420 GOSUB200:tx$(k)=a$:NEXT 8424 POKE 780,3:SYS 1596 8428 POKE cy,3:PRINT:POKE cx,6:PRINTi$;:POKE cx,17:mx=12:fa=2:GOSUB 200 8429 IF a$="" GOTO 8005 8430 POKE 780,1:POKE 781,dn:POKE 782,0:SYS 65466:a$=a$+".mus" 8432 POKE 780,lh+4:FOR k=0 TO lh+3:POKE tp+k,ASC(MID$(a$,k+1)):NEXT 8434 j=tp:GOSUB70:POKE 781,k:POKE 782,j:SYS 65469 8435 j=mm(1)-6:GOSUB70:POKE 251,k:POKE 252,j:POKE 780,251 8436 j=mm(1)+nv(1)+nv(2)+nv(3)+12:POKE cy,2 8438 FOR k=0 TO 3:IF tx$(k)="" GOTO 8440 8439 FOR i=1 TO LEN(tx$(k)):POKE j,ASC(MID$(tx$(k),i)):j=j+1:NEXT 8440 POKE j,13:j=j+1:NEXT:POKE j,0:j=j+1:GOSUB 70:POKE 781,k:POKE 782,j 8446 GOSUB 8495:SYS 65496:POKE 648,200:PRINT:IF PEEK(783)AND1 THEN GOSUB8600 8448 GOTO 8005 8450 REM ** load ** 8452 POKE cy,3:PRINT:POKE cx,6:PRINTi$;:POKE cx,17:fa=2:mx=12:GOSUB 200 8456 IF a$="" GOTO 8005 8460 a$=a$+".mus":POKE 780,1:POKE 781,dn:POKE 782,0:SYS 65466 8462 POKE 780,lh+4:FOR k=0 TO lh+3:POKE tp+k,ASC(MID$(a$,k+1)):NEXT 8464 j=tp:GOSUB70:POKE 781,k:POKE 782,j:SYS 65469:POKE cy,1 8466 POKE 780,0:j=mm(1)-6:GOSUB70:POKE 781,k:POKE 782,j:GOSUB 8495:SYS 65493 8468 POKE 648,200:PRINT:IF PEEK(783)AND1 THEN GOSUB8600:GOTO 8560 8470 FOR j=6 TO 2 STEP-2:nv(4-j/2)=PEEK(mm(1)-j)+256*PEEK(mm(1)-j+1)-4:NEXT 8474 mm(2)=mm(1)+nv(1)+4:mm(3)=mm(2)+nv(2)+4:cn(1)=0:cn(2)=0:cn(3)=0 8476 FOR k=0 TO 3:tx$(k)="":NEXT:k=0:j=mm(3)+nv(3)+4 8478 IF PEEK(j)=0 GOTO 8483 8480 IF PEEK(j)=13 THEN j=j+1:k=k+1:GOTO 8478 8482 tx$(k)=tx$(k)+CHR$(PEEK(j)):j=j+1:GOTO 8478 8483 POKE 780,9:SYS 1596 8484 GOSUB8490:POKE cy,20:FOR k=0 TO 3:PRINTc2$:POKE cx,4:PRINTCHR$(18)tx$(k); 8485 NEXT:POKE 780,3:SYS 1596 8486 fm=INT((k5-mm(3)-nv(3)-2)/2)-1:IF fm>=0 GOTO 8005 8487 POKE cy,3:PRINTc0$:POKE cx,10:PRINTCHR$(18)"insufficient{space*2}memory" 8488 WAIT 198,255:GET k$:GOTO 8560 8490 POKE cy,20:FOR k=0 TO 3:PRINTc2$:POKE cx,4:PRINT CHR$(18)RIGHT$(i$,16); 8492 PRINT RIGHT$(i$,16);:NEXT:RETURN 8495 POKE 648,188:PRINT "{pink}":RETURN 8500 POKE cy,3:PRINT:POKE cx,10:PRINTc0$CHR$(18)" voice 1-3 (or clr) "; 8505 GET a$:IF a$="" GOTO 8505 8507 vc=VAL(a$):IF ASC(a$)=147 GOTO 8560 8510 IF vc<1ORvc>3 GOTO 8005 8519 REM ** oh dear. this is it. ** 8520 IF vc=3OR(vc=2 AND nv(3)=-2)OR(vc=1 AND nv(2)=-2 AND nv(3)=-2) GOTO 8540 8530 j=mm(vc+1):GOSUB 70:POKE 251,k:POKE 252,j 8535 j=k5-nv(3)-4+(vc=1)*(nv(2)+4):GOSUB 70:POKE 253,k:POKE 254,j 8537 j=nv(3)+4-(vc=1)*(nv(2)+4):GOSUB 70:POKE 781,k:POKE 782,j:SYS 1024 8540 mm=mm(vc):nn=nv(vc):cn=cn(vc) 8550 POKE 53269,15:gk=1:GOTO 9000 8560 POKE 780,9:SYS 1596:GOSUB8490 8565 POKE 780,3:SYS 1596:FOR k=1 TO 3:tx$(k)="":nv(k)=-2:cn(k)=0:NEXT:tx$(0)="" 8570 mm(2)=mm(1)+2:mm(3)=mm(1)+4:GOSUB8690 8575 fm=INT((k5-mm(1))/2)-67:GOTO 8005 8600 k=PEEK(780):POKE 780,9:SYS 1596 8605 POKE cy,3:PRINTc0$:PRINTCHR$(18); 8610 IF k=4 THEN POKE cx,13:PRINT"file not found":GOTO 8620 8612 IF k=5 THEN POKE cx,11:PRINT"device not present":GOTO 8620 8614 POKE cx,15:PRINT"error -"st 8620 GET k$:IF k$="" GOTO 8620 8630 RETURN 8690 FOR k=1 TO 3:POKE mm(k)+nv(k)+2,1:POKE mm(k)+nv(k)+3,79:NEXT:RETURN 8900 REM play option 8910 FOR i=6 TO 2 STEP -2:j=nv(4-i/2)+4:GOSUB 70:POKE mm(1)-i,k 8915 POKE mm(1)-i+1,j:NEXT 8920 POKE cy,3:PRINT:POKE cx,6:PRINTCHR$(18)c0$"play voices:"; 8925 b=0:FOR k=1 TO 3:POKE cx,16+k*5:PRINTk;CHR$(157)"?"CHR$(157); 8930 GET a$:IF a$="" GOTO 8930 8935 ON 1-(a$="y")-3*(ASC(a$)=13)-2*(a$="n") GOTO 8930,8937,8938,8939 8937 b=b+2^(k-1):PRINT" ";:NEXT:GOTO 8940 8938 PRINTCHR$(157)CHR$(157)CHR$(150)"{space*3}"c0$;:NEXT:GOTO 8940 8939 POKE 198,2:POKE 631,89:POKE 632,89:GOTO 8937 8940 POKE 198,0:SYS 49435:j=mm(1)-6:GOSUB 70:POKE 781,k:POKE 782,j:SYS 49458 8945 POKE 49152,b:j=0 8950 IF PEEK(198) THEN GET k$:j=(k$="{f7}"):POKE 49152,0 8955 IF NOT PEEK(56320)AND16 THEN POKE 56325,22-PEEK(678):GOTO 8960 8956 POKE 56325,SGN(15-PEEK(56320)AND15)*(132-4*PEEK(678))+66-PEEK(678)*2 8960 IF PEEK(49152)AND7 GOTO 8950 8970 SYS 49629:POKE 54276,0:POKE 54283,0:POKE 54290,0 8972 POKE 56325,66-PEEK(678)*2:IF PEEK(49152)=0 AND j=0 GOTO 8980 8974 FOR k=1 TO 3:h=PEEK(49289+k):j=PEEK(49274+k)+256*PEEK(49277+k)-mm(k)-2 8975 IF j>=-2 AND j<=nv(k)+2 GOTO 8977 8976 j=PEEK(49292+h)+256*PEEK(49304+h)-mm(k)-2:h=h-1:GOTO 8975 8977 IF (bAND2^(k-1))=0 THEN j=cn(k) 8978 cn(k)=j:cn(k)=cn(k)*-(cn(k)>=0):NEXT 8980 IF PEEK(49152)=0 GOTO 8005 8981 POKE cx,6:PRINTCHR$(18)CHR$(150)"{space*28}";:REM 28 8982 POKE cx,6:PRINTCHR$(18)c2$pe$(PEEK(49152)/8-1)" error"; 8984 PRINTCHR$(145);:POKE cx,16:PRINT"voice"PEEK(49184)+1CHR$(157)":" 8986 WAIT 198,255:GET a$:GOTO 8005 9000 POKE 53280,2:POKE 1140,127:POKE 1145,1:POKE 1160,147:POKE 1165,4:SYS 1138 9002 POKE 53288,1:GOTO 9130 9004 PRINTCHR$(147); 9010 p1$=c6$+CHR$(18)+CHR$(161)+c7$ 9012 p$=CHR$(162):p$=p$+p$+p$:p2$=p$+p$+p$+p$+p$:p6$=CHR$(146) 9014 p3$=c6$+p6$+CHR$(161):p4$=CHR$(192):p$=CHR$(29):p7$=CHR$(221) 9016 p5$=p1$+" "+c0$+p$+" "+p$+" "+p6$+" "+p7$+" "+CHR$(18)+" "+p$+" "+p$+" " 9017 p5$=p5$+p$+c7$+" "+p6$+c6$+CHR$(161) 9050 PRINT CHR$(146)c1$"{space*5}voice:{space*14}mem:" 9051 p$=CHR$(183):p$=p$+p$ 9052 PRINT SPC(5)c7$p$p$p$p$SPC(12)p$p$p$p$p$ 9054 POKE cx,6:PRINTc1$"key:";:POKE cx,22:PRINT"measure:" 9057 PRINT:PRINTc3$:FOR ac=-1 TO 1 STEP 2:GOSUB 8:NEXT:PRINTc1$:ac=0:GOSUB 8 9060 u1$=p4$+p4$:u1$=u1$+u1$+u1$+u1$ 9100 PRINTc0$"{space*6}M{space*15}"c6$CHR$(172)p2$CHR$(187) 9102 PRINTc0$"{space*6}L{space*8}note:{space*2}"p1$c7$"{space*15}"p3$ 9104 PRINTc0$" NO{space*3}L{space*8}"c6$k1$p4$p4$p4$k2$"{space*2}"p5$ 9106 PRINTc0$"{cm m}PQ{L*9}{space*3}"c6$p7$"{space*3}"c6$p7$"{space*2}"p5$ 9108 PRINTc0$"{cm m}RS{L*9}{space*3}"c6$k3$p4$p4$p4$k4$"{space*2}"p5$ 9109 p$=CHR$(163):p8$=p$+p$+p$+p$+p$ 9110 PRINTc0$"{cm m}TU"p$p$p$p$p8$"{space*10}"p5$ 9111 p5$=" "+p7$:p5$=p5$+p5$+p5$+p5$+p5$+p5$+" ":p9$=c7$+" "+CHR$(146) 9112 p5$=c6$+CHR$(18)+CHR$(161)+p9$+c0$+p5$+CHR$(18)+p9$+c6$+CHR$(161) 9113 PRINTc0$"{cm m}{space*5}"p$"{space*7}octave: "p5$ 9114 PRINTc0$"{cm m}VW{L*9}{space*4}"c6$k1$p4$k2$"{space*3}"p5$ 9116 PRINTc0$"{cm m}XY{L*9}{space*4}"c6$p7$" "p7$"{space*3}"p1$"{space*15}"p3$ 9118 PRINTc0$"Z"p8$"L"p8$"{space*4}"c6$k3$p4$k4$"{space*3}"CHR$(188)CHR$(18); 9119 PRINTp2$CHR$(146)CHR$(190) 9120 p$=p4$+p4$+p4$:p$=p$+p$+p4$ 9121 PRINTc0$"{space*6}L{space*13}"c6$k1$p4$p4$k2$k1$p$k2$ 9122 PRINTc0$"{space*6}L{space*6}length:"c6$p7$"{space*2}"p7$p7$"{space*7}"p7$ 9124 PRINT"{space*20}"k3$p4$p4$k4$k3$p$k4$ 9126 PRINTc3$"{space*9}rest <--select--> tie" 9128 PRINT:PRINT:PRINT"{space*40}"CHR$(19):RETURN 9130 IF gk THEN POKE 241,PEEK(241)AND127 9132 POKE 780,16+gk:SYS 1596 9135 POKE 53250,140:POKE 53251,224:POKE 53264,0 9140 FOR k=54272 TO 54295:POKE k,0:NEXT:k=54272 9150 POKEk+3,8:POKEk+5,0:POKEk+6,247:POKEk+24,10:POKEk+16,240:POKEk+8,120 9160 PRINTCHR$(19)CHR$(146)c1$;:POKE cx,11:PRINTvc; 9170 POKE cx,29:PRINT fm 9180 POKE cy,1:PRINT:POKE cx,10 9185 PRINTABS(ky)CHR$(157)CHR$(193-2*(ky<0))" ("ky$(ky+7)")"; 9190 POKE cx,30:PRINTMID$("on off",4-m1*3,3) 9199 GOTO 500 9200 PRINT "{clear}":PRINT " sidplayer editor":PRINT " by harry bratt":PRINT 9210 POKE 780,1:POKE 781,dn:POKE 782,1:SYS 65466 9220 a$="editor.obj":FOR k=1 TO 10:POKE 584+k,ASC(MID$(a$,k)):NEXT 9230 POKE 780,10:POKE 781,73:POKE 782,2:SYS 65469 9240 POKE 780,0:SYS 65493:IF PEEK(783)AND1 THEN PRINT " error":END 40000 REM *** initialization *** 41000 POKE 251,dn:POKE 53280,7:POKE 53265,8:k=PEEK(49)+256*PEEK(50)+4096 41010 POKE 1020,PEEK(55):POKE 1021,PEEK(56):POKE 55,kAND255:POKE 56,k/256:CLR 41012 k5=PEEK(1020)+256*PEEK(1021) 41013 k=0:j=0:i=0:h=0:jv=0:ln=3:cx=211:cy=214:ac=0:sc=3:pk=14:nn=-2:nt=0:oc=4 41014 DIM ky$(14),s$(36),ss$(36),v(16),m(16),nv(3),cn(3),mm(3),pe$(5),v$(5) 41015 DIM fw$(6,1),nu$(1,1),kl%(15) 41017 mm(1)=PEEK(55)+256*PEEK(56)+6:mm(2)=mm(1)+2:mm(3)=mm(1)+4:dn=PEEK(251) 41018 fm=INT((k5-mm(1))/2)-67:nv(1)=nn:nv(2)=nn:nv(3)=nn 41019 cn(1)=k:cn(2)=k:cn(3)=k:POKE 648,200:POKE 53272,36:z=PEEK(56576) 41020 FOR tp=1024 TO 1137:READ j:POKE tp,j:NEXT:tp=1827 41021 POKE 251,98:POKE 252,199:POKE 253,114:POKE 254,4:SYS 1030 41022 POKE 781,30:POKE 782,7:SYS 1813:POKE 657,128 41023 k8=PEEK(788):k9=PEEK(789):POKE 1213,k8:POKE 1214,k9 41024 FOR k=1 TO 36:READ s$(k),ss$(k):NEXT 41025 nn(0)=0:FOR k=1 TO 10:READ sc$(k),n(k):nn(k)=nn(k-1)+n(k):NEXT 41026 c0$=CHR$(144):c1$=CHR$(5):c3$=CHR$(159):c6$=CHR$(31):c7$=CHR$(158) 41027 cb$=CHR$(154):c2$=CHR$(28) 41028 k1$=CHR$(176):k2$=CHR$(174):k3$=CHR$(173):k4$=CHR$(189) 41030 FOR k=0 TO 18:READ ac:ac$(0)=ac$(0)+CHR$(ac):NEXT:ac=0 41032 FOR k=1 TO 2:ac$(k)=LEFT$(ac$(0),9)+CHR$(193+k)+RIGHT$(ac$(0),9):NEXT 41034 FOR k=0 TO 5:READ m$(k):NEXT 41035 IF dn=1 THEN m$(4)="(not available)" 41060 GOSUB 9004:POKE 780,5:SYS 1596:GOSUB 7004:POKE 780,7:SYS 1596 41064 GOSUB 8010:POKE 780,3:SYS 1596:POKE 53280,10 41070 POKE 56578,PEEK(56578)OR3:POKE 56576,(PEEK(56576)AND252) 41080 POKE 251,0:POKE 252,208:POKE 253,0:POKE 254,208:POKE 781,0:POKE 782,8 41085 POKE 56334,PEEK(56334)AND254:POKE 1,PEEK(1)AND251:SYS 1024 41090 FOR k=0 TO 223:READ j:POKE 53768+k,j:POKE 54792+k,255-j:NEXT 41095 POKE 1,PEEK(1) OR 4:POKE 56334,PEEK(56334) OR 1 41122 FOR k=0 TO 7:READ ln$(k):NEXT k 41125 FOR k=53248 TO 53254 STEP 2:POKE k,0:NEXT:POKE 53264,0 41130 POKE 52216,48:POKE 52217,49:POKE 52218,50:POKE 52219,49:POKE 53276,11 41135 POKE 53287,7:POKE 53285,6:POKE 53289,0:POKE 53290,13 41138 POKE 53275,10:POKE 53277,10:FOR k=52224 TO 52415:POKE k,0:NEXT 41140 j=52225:POKE j,85:FOR k=1 TO 6:POKE j+k*3,105:NEXT:POKE j+21,85 41142 j=52288:FOR i=0 TO 1:FOR k=0 TO 1:POKE j+k*3+i*57,85:POKE j+k*3+i*57+1,85 41143 NEXT:NEXT:FOR k=6 TO 54 STEP 3:POKE j+k,106:POKE j+k+1,169:NEXT 41145 j=52398:POKE j,63:POKE j+3,127:POKE j+6,255:POKE j+9,254:POKE j+12,124 41147 FOR i=j-30 TO j-3 STEP 3:POKE i,1:NEXT 41160 p$=" "+CHR$(20):p$=p$+p$+p$+p$+p$:p$=p$+CHR$(17)+p$:z$(0)=p$ 41162 p$=CHR$(148)+" "+CHR$(157):p$=p$+p$+p$+p$+p$:p$=p$+CHR$(17)+p$:z$(1)=p$ 41165 y$=CHR$(157):y$=y$+y$+y$+CHR$(17)+" " 41175 FOR k=0 TO 14:READ ky$(k) 41177 IF k<6 THEN ky$(k)=ky$(k)+"C" 41178 IF k>12 THEN ky$(k)=ky$(k)+"A" 41179 NEXT k 41180 FOR k=0 TO 6:READ ak%(k):NEXT k 41185 ty$(0)="{space*2}":ty$(1)="{sh +}{cm -}" 41196 i$=CHR$(18)+CHR$(150)+"filename: "+CHR$(146)+CHR$(161)+c0$ 41197 i$=i$+"{space*16}":REM 16 spaces 41220 s$="qfdofpddplednefnadadfmkennbfhjcgnfpf" 41225 FOR k=0 TO 16:READ v(k),m(k):NEXT 41230 FOR k=0 TO 5:READ v$(k):NEXT 41235 FOR k=0 TO 6:READ fw$(k,0),fw$(k,1):NEXT 41237 FOR k=0 TO 1:READ nu$(k,0),nu$(k,1):NEXT 41240 GOSUB50:al=2 41250 FOR k=0 TO 5:READ pe$(k):NEXT 41350 FOR k=0 TO 15:kl%(k)=-1:NEXT 41360 FOR k=0 TO 5:READ i,j:kl%(i-8)=j:NEXT 41370 POKE 53281,1:POKE 53265,27 49999 GOSUB8690:GOTO 8005 61100 DATA 142,112,4,140,113,4,165,253,56,229,251,170,165,254,229,252,168,138 61101 DATA 205,112,4,152,237,113,4,144,35,160,0,174,113,4,240,14,177,251,145 61102 DATA 253,200,208,249,230,252,230,254,202,208,242,174,112,4,240,8,177,251 61103 DATA 145,253,200,202,208,248,96,173,113,4,168,101,252,133,252,152,24,101 61104 DATA 254,133,254,172,112,4,240,9,136,177,251,145,253,192,0,208,247,174 61105 DATA 113,4,240,16,198,252,198,254,136,177,251,145,253,192,0,208,247,202 61106 DATA 208,240,96,177,2 61150 DATA tem,set,utl,utility set,vol,set,bmp,bump 61151 DATA hed,head,tal,tail,cal,call,def,define,end,end 61152 DATA f-m,mode,aut,auto,res,resonance,flt,through,f-s,sweep,f-c,cutoff 61153 DATA f-x,external,atk,attack,dcy,decay,sus,sustain,rls,release 61154 DATA pnt,r point,wav,set,p-w,p width,p-s,p sweep,snc,sync,rng,ring mod 61155 DATA vdp,vib depth,vrt,vib rate,por,portamento,dtn,detune,tps,transpose 61156 DATA ms#,measure #,3-o,voice 3 off,flg,flag,hlt,halt,aux,auxiliary 61157 DATA tempo,2,volume,2,repeat,2,phrase,3,filter,3,filter,4,envelope,5 61158 DATA waveform,5,freq,5,misc,5 61190 DATA 162,162,162,18,17,157,157,157,32,193,32,146,17,157,157,157 61192 DATA 183,183,183 61194 DATA play music,edit music,load music file,save music file,disk directory 61195 DATA quit 61200 REM *** chr data *** 61201 DATA 108,254,108,254,108,0,0,0,96,124,108,108,124,12,0,0 61202 DATA 192,192,240,216,240,0,0,0 61203 DATA 30,27,30,27,30,123,248,240,30,27,30,27,24,120,248,240 61204 DATA 30,27,24,24,24,120,248,240 61205 DATA 24,24,24,24,24,120,248,240,12,12,12,12,12,124,204,248 61206 DATA 0,0,0,0,120,204,204,120,0,0,99,99,99,99,110,0 61207 DATA 0,24,60,102,126,102,102,102 61208 DATA 255,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0 61209 DATA 0,0,0,7,12,24,24,24,0,0,0,128,192,192,192,192 61210 DATA 255,13,15,6,255,14,27,27,255,128,0,0,255,0,0,0 61211 DATA 255,49,55,55,255,54,24,12,255,224,176,152,255,216,216,240 61212 DATA 255,0,24,25,15,0,0,0,255,96,96,192,0,0,0,0 61213 DATA 255,48,96,112,255,112,0,0,255,96,51,51,255,48,51,99 61214 DATA 255,0,1,3,255,28,112,0,255,192,128,0,255,0,0,0,3,0,0,0,0,0,0,0 61215 DATA 96,96,48,48,28,15,3,0,6,6,12,12,56,240,192,0 61300 DATA 32nd ,16th ,eighth ,quarter,half ,whole ,utility,abs set 61306 DATA c,g,d,a,e,b,f ,c ,g ,d ,a ,e ,b ,f,c 61310 DATA 3,0,4,1,5,2,6 61450 DATA 15,8,127,256,-95,256,15,16,-127,256,255,256,999,64,16383,4,2047,32 61452 DATA -2047,16,4095,16,7,32,7,32,1,8,1,8,0,0,900,256 61454 DATA 1=l 2=b 4=h,0=n 1=t 2=s 4=p,( 0=no / 1=yes ),( 0=up / 1=down ) 61456 DATA ( 0=yes ),( 56 to 900 ) 61458 DATA l,t,b,s,lb,ts,h,p,lh,tp,bh,sp,lbh,tsp,no,up,yes,dwn 61460 DATA clobber,illegal duration,duration overflow,stack underflow 61462 DATA stack overflow,undefined phrase call 61470 DATA 20,0,19,1,17,3,8,4,23,5,21,6 stop tok64 (bastext 1.0)