Home » Archimedes archive » Acorn User » AU 1994-04.adf » !StarInfo_StarInfo » Smith/!Compose/!RunImage
Smith/!Compose/!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 » Acorn User » AU 1994-04.adf » !StarInfo_StarInfo |
Filename: | Smith/!Compose/!RunImage |
Read OK: | ✔ |
File size: | 3DBA bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM >compose 20REM full colour, mouse driven, sound and colour fractals 30REM by Mike Smith (c) June 1991 40: 50MODE 15 60*POINTER 70VDU23,1,0;0;0;0; 80Pause%=1:stop%=1:B%=8:F%=0:M%=1:T%=32:S%=1:j=-2:k=-1.25:q=2.5:r=1:i=0 90DIM x1%(100),y1%(100),x2%(100),y2%(100),pitch%(16),col%(100),tint%(100) 100Bounce%=0:ix1%=4:iy1%=4:ix2%=4:iy2%=4:lb%=51:col%=RND(64)-1:tint%=RND(4)-1:colour%=5 110C%=RND(-TIME):C%=RND(3) 120O%=0:P%=RND(16):Q%=10:W%=1:key%=0:lkey%=8:sharp%=0:flat%=0:E%=RND(7):I%=0:int%=0:Dir%=1:D%=2:sync%=0:scale%=RND(9):Rest%=0:str%=0:rdm%=0:lstr%=10:rest%=0:lrest%=0:ltran%=10:oct%=&3000:Oct%=&3000:chord%=0:random%=0:Chord%=0:Random%=0 130Brown%=0:bj%=0:br%=256:bs%=0:plot%=5:Tune%=0:Key%=0:Tran%=0:Int%=0:lint%=10:shint%=0:flint%=0:Note%=0:Inst%=0:Scle%=0:kybd%=0:auto%=0:stereo%=0:voice%=RND(2):Tempo%=0:V%=1 140key1$="AWSEDRFTGYHUJIKOL":key2$="awsedrftgyhujikol" 150SOUND ON:VOICES 8:PROCintervals:PROCins(voice%):PROCstereo(0) 160PROCpanel 170PROCpmenu 180: 190REPEAT 200IF F%=0 stop%=1:Pause%=1:PROCpmenu:REPEAT PROCfunction:UNTIL stop%=0 AND F%>0 210IF F%=7 PROCbouncer ELSE IF F%=8 PROCbrownian ELSE PROCmj 220UNTIL FALSE 230END 240: 250DEF PROCpmenu 260PROCmenu("MAIN MENU,Mandlebrot,Julia,Brownian,Bouncer,Zoom,Music,Sound,Save,Load,Quit,"):PROConoff(F%):PROConoff(S%*4) 270ENDPROC 280: 290DEF PROCfunction 300LOCAL f% 310MOUSE xpos%,ypos%,button% 320IF button%=0 ENDPROC 330IF button%=4 AND xpos%>1023 f%=1+ypos%DIV96:g%=(xpos%-1024)DIV128 340IF button%=2 f%=13 350IF button%=1 stop%=(stop%+1)MOD2:f%=0 360REPEAT MOUSE xpos%,ypos%,button%:UNTIL button%=0:IF f%=0 ENDPROC 370IF Pause% PROCpause(f%):ENDPROC 380IF Brown% PROCbrown(f%,g%):ENDPROC 390IF Bounce% PROCbounce(f%,g%):ENDPROC 400PROCmusic(f%,g%) 410ENDPROC 420: 430DEF PROCpause(f%) 440IF f%=10 PROConoff(F%):F%=f%:PROConoff(F%):j=-2:k=-1.25:q=2.5:M%=1:J%=-1:K%=-1:VDU24,0;0;1023;1023;:CLG:VDU26:stop%=0 450IF f%=9 AND F%=10 PROConoff(F%):F%=f%:PROConoff(F%):PROCjuliaset:j=-1.5:k=-1.5:q=3:stop%=0 460IF f%=8 AND F%=8:PROCbmenu:Pause%=0:Brown%=1:Bounce%=0 ELSE IF f%=8 F%=8:PROCbmenu:Pause%=0:Brown%=1:Bounce%=0:K%=0:J%=0:M%=1:VDU24,0;0;1023;1023;:CLG:VDU26:stop%=0 470IF f%=7 F%=7:PROCbomenu:Pause%=0:Brown%=0:Bounce%=1:K%=0:J%=0:M%=1:VDU24,0;0;1023;1023;:CLG:VDU26:stop%=0:rt%=0 480IF f%=6 AND F%>8 PROConoff(6):PROCreset:PROConoff(6):stop%=0 490IF f%=5 PROCtmenu:Pause%=0:Brown%=0:Bounce%=0:Tune%=1:S%=1 500IF f%=4 PROConoff(4):S%=(S%+1)MOD2 510IF f%=3 PROConoff(3):PROCsave:PROConoff(3) 520IF f%=2 PROConoff(2):PROCload 530IF f%=1 PROCend 540ENDPROC 550: 560DEF PROCpanel 570LOCAL y% 580GCOL 4 TINT 196 590RECTANGLE FILL 1024,0,255,1023 600REPEAT 610GCOL 4 TINT 0 620RECTANGLE FILL 1024,y%*96,255,47 630GCOL 4 TINT 64 640MOVE 1024,y%*96 650MOVE 1024,y%*96+95 660PLOT 81,47,-48 670MOVE 1279,y%*96 680MOVE 1279,y%*96+95 690PLOT 81,-48,-48 700y%+=1 710UNTIL y%=10 720ENDPROC 730: 740DEF PROCmenu(m$) 750LOCAL p%,y%:p%=INSTR(m$,",") 760GCOL 4 TINT 128 770REPEAT 780RECTANGLE FILL 1040,y%*96+16,223,63 790y%+=1 800UNTIL y%=10 810RECTANGLE FILL 1024,960,255,63 820y%=3 830COLOUR 132 TINT 128:COLOUR 15 TINT 128 840PRINTTAB(66,0)LEFT$(m$,p%-1) 850m$=RIGHT$(m$,LENm$-p%) 860REPEAT 870p%=INSTR(m$,",") 880PRINTTAB(66,y%)LEFT$(m$,p%-1) 890m$=RIGHT$(m$,LENm$-p%) 900y%+=3 910UNTIL m$="" 920ENDPROC 930: 940DEF PROConoff(s%) 950GCOL4,1 960RECTANGLE FILL 1048,s%*96-72,207,47 970ENDPROC 980: 990DEF PROCmj 1000M%=1:REPEAT L=q/M%:H%=1024/M%:J%=0 1010REPEAT K%=0 1020REPEAT 1030IF K%MOD2 OR J%MOD2 PROCpt 1040REPEAT PROCfunction:UNTIL stop%=0:K%=K%+1 1050UNTILK%=M%:J%=J%+1 1060UNTILJ%=M%:M%=M%*2 1070UNTIL F%<9 OR M%=1024 1080IF M%=1024 F%=0:PROConoff(0) 1090ENDPROC 1100: 1110DEFPROCpt 1120LOCAL x,y,x2,y2:x=j+L*J%:y=k+L*K%:IF F%=10 r=x:i=y:x=0:y=0 1130N%=-1 1140REPEAT:x2=x*x:y2=y*y:y=2*x*y+i:x=x2-y2+r:N%=N%+1:UNTILN%=255 OR x2+y2>=4 1150N%=255-N%:GCOL N%DIV4 TINT (N%MOD4)*64 1160X%=J%*H%:Y%=K%*H%:MOVE X%,Y%:PLOT &65,X%+H%-2,Y%+H%-4 1170IF S% PROCsound(N%MOD17) 1180ENDPROC 1190: 1200DEFPROCreset 1210LOCAL j1,k1,q1,x%,y%,z% 1220VDU24,0;0;1023;1023;:*POINTER 0 1230x%=384:y%=384:z%=256:j1=j:k1=k:q1=q:MOUSE TO x%,y% 1240PROCsquare 1250REPEAT 1260j=j1+q1*x%/1024:k=k1+q1*y%/1024:q=q1*z%/1024 1270PROCsquare 1280MOUSE x%,y%,button% 1290IF button%=1 z%+=1 1300IF button%=2 z%-=1:IF z%<16 z%=16 1310PROCsquare 1320UNTIL button%=4 1330REPEAT MOUSE x%,y%,button%:UNTIL button%=0 1340PROCsquare:M%=1:K%=-1:J%=-1:CLG:VDU26:*POINTER 1350ENDPROC 1360: 1370DEF PROCjuliaset 1380LOCAL x%,y%:MOUSE TO 512,512 1390VDU24,0;0;1023;1023;:*POINTER 0 1400REPEAT 1410MOUSE x%,y%,button% 1420PROCcursor(x%,y%) 1430r=j+q*x%/1024:i=k+q*y%/1024 1440PROCcursor(x%,y%) 1450UNTIL button%=4:M%=1:K%=-1:J%=-1:CLG:VDU26:*POINTER 1460REPEAT MOUSE x%,y%,button%:UNTIL button%=0 1470ENDPROC 1480: 1490DEFPROCcursor(x%,y%) 1500MOVEx%-16,y%:PLOT&06,x%+16,y% 1510MOVEx%,y%-16:PLOT&06,x%,y%+16 1520ENDPROC 1530: 1540DEFPROCsquare 1550MOVEx%,y%:PLOT&06,x%+z%,y%:PLOT&06,x%+z%,y%+z%:PLOT&06,x%,y%+z%:PLOT&06,x%,y% 1560ENDPROC 1570: 1580DEFPROCend 1590MODE3 1600*FX4,0 1610END 1620ENDPROC 1630: 1640DEFPROCsave 1650LOCAL in$,T$,file% 1660COLOUR 187 TINT 64:COLOUR 48 TINT 64 1670PRINTTAB(66,24)"File ?";:VDU8 1680REPEAT in%=GET:IF (in%=8 OR in%=127) AND LEN(T$)>0 T$=LEFT$(T$,LEN(T$)-1):VDU127 ELSE IF (in%>47 AND in%<58) OR (in%>64 AND in%<91) OR (in%>96 AND in%<123) in$=CHR$in%:PRINTin$;:T$=T$+in$ 1690UNTIL LEN(T$)=7 OR in%=13 1700check%=OPENIN("Screens."+T$):IF check%>0 PRINTTAB(66,24)"Overwrite? ":CLOSE#0:IF INSTR("yY",GET$)=0 GOTO 1760 1710OSCLI("ScreenSave Screens."+T$) 1720IF F%=8 GOTO 1760 1730file%=OPENOUT("MbtData."+T$) 1740PRINT#file%,j,k,q,r,i,J%,K%,L,M%,H%,F% 1750CLOSE#file% 1760PRINTTAB(66,24)"Save " 1770ENDPROC 1780: 1790DEFPROCload 1800LOCAL in%,in$,T$,file% 1810COLOUR 187 TINT 64:COLOUR 48 TINT 64 1820PRINTTAB(66,27)"File ?";:VDU8 1830REPEAT in%=GET:IF (in%=8 OR in%=127) AND LEN(T$)>0 T$=LEFT$(T$,LEN(T$)-1):VDU127 ELSE IF (in%>47 AND in%<58) OR (in%>64 AND in%<91) OR (in%>96 AND in%<123) in$=CHR$in%:PRINTin$;:T$=T$+in$ 1840UNTIL LEN(T$)=7 OR in%=13 1850file%=OPENIN("Screens."+T$) 1860IF file%=0 THEN 1870PRINTTAB(66,27)"Retry? " 1880IF INSTR("yY",GET$)=0 GOTO 1970 1890T$="" 1900ENDIF 1910IF T$="":GOTO 1820 1920CLOSE#file%:OSCLI("ScreenLoad Screens."+T$) 1930file%=OPENIN("MbtData."+T$) 1940IF file%=0 F%=0:GOTO 1970 1950INPUT#file%,j,k,q,r,i,J%,K%,L,M%,H%,F% 1960CLOSE#file% 1970PROCpmenu:stop%=1 1980ENDPROC 1990: 2000DEF PROCbomenu 2010PROCmenu("BOUNCER,- lines +,- x1 +,- y1 +,- x2 +,- y2 +,sequ colour,rndm colour,one colour,background,- speed +,") 2020PRINTTAB(74,3);lb%-1;TAB(74,6);ABSix1%;TAB(74,9);ABSiy1%;TAB(74,12);ABSix2%;TAB(74,15);ABSiy2%;TAB(74,30);T%; 2030PROConoff(colour%) 2040ENDPROC 2050: 2060DEF PROCbounce(b%,c%) 2070IF b%=13 Bounce%=0:Pause%=1:PROCpmenu 2080IF b%=10 AND c%=0 lb%-=10:IF lb%<2 lb%=2 2090IF b%=10 AND c%=1 lb%+=10:IF lb%>100 lb%=100 2100IF b%=9 AND c%=0 ix1%=SGN(ix1%)*(ABSix1%-1) 2110IF b%=9 AND c%=1 ix1%=SGN(ix1%)*(ABSix1%+1):IF ix1%=0 ix1%=1 2120IF b%=8 AND c%=0 iy1%=SGN(iy1%)*(ABSiy1%-1) 2130IF b%=8 AND c%=1 iy1%=SGN(iy1%)*(ABSiy1%+1):IF iy1%=0 iy1%=1 2140IF b%=7 AND c%=0 ix2%=SGN(ix2%)*(ABSix2%-1) 2150IF b%=7 AND c%=1 ix2%=SGN(ix2%)*(ABSix2%+1):IF ix2%=0 ix2%=1 2160IF b%=6 AND c%=0 iy2%=SGN(iy2%)*(ABSiy2%-1) 2170IF b%=6 AND c%=1 iy2%=SGN(iy2%)*(ABSiy2%+1):IF iy2%=0 iy2%=1 2180IF b%<6 AND b%>2 PROConoff(colour%):colour%=b%:PROConoff(colour%) 2190IF b%=3 col%=RND(64)-1:tint%=RND(4)-1 2200IF b%=2 GCOL 3,RND(64) TINT 64:RECTANGLE FILL 0,0,1023,1023 2210IF b%=1 AND c%=0 T%=T%*1.414 2220IF b%=1 AND c%=1 T%=T%*0.707:IF T%<4 T%=4 2230IF Bounce% PRINTTAB(74,3);lb%-1;" "TAB(74,6);ABSix1%;" "TAB(74,9);ABSiy1%;" "TAB(74,12);ABSix2%;" "TAB(74,15);ABSiy2%;" "TAB(74,30);T%;SPC(3-LEN(STR$(T%))) 2240ENDPROC 2250: 2260DEF PROCbouncer 2270LOCAL p%,q%,rt% 2280x1%(0)=RND(256)*4:y1%(0)=RND(256)*4:x2%(0)=RND(256)*4:y2%(0)=RND(256)*4:col%(0)=RND(64)-1:tint%(0)=64*(RND(4)-1) 2290REPEAT 2300VDU24,0;0;1023;1023; 2310GCOL 3,col%(p%) TINT tint%(p%) 2320MOVE x1%(p%),y1%(p%):DRAW x2%(p%),y2%(p%) 2330q%=(p%+1)MODlb% 2340IF rt%>=lb%-1 THEN 2350GCOL 3,col%(q%) TINT tint%(q%) 2360MOVE x1%(q%),y1%(q%):DRAW x2%(q%),y2%(q%) 2370ELSE 2380rt%+=1 2390ENDIF 2400x1%(q%)=x1%(p%)+ix1%*4 2410y1%(q%)=y1%(p%)+iy1%*4 2420x2%(q%)=x2%(p%)+ix2%*4 2430y2%(q%)=y2%(p%)+iy2%*4 2440IF x1%(q%)<=0 OR x1%(q%)>=1024 ix1%=-ix1% 2450IF y1%(q%)<=0 OR y1%(q%)>=1024 iy1%=-iy1% 2460IF x2%(q%)<=0 OR x2%(q%)>=1024 ix2%=-ix2% 2470IF y2%(q%)<=0 OR y2%(q%)>=1024 iy2%=-iy2% 2480IF colour%=5 AND RND(4)=1 THEN 2490tint%=(tint%+1)MOD4 2500IF tint%=0 col%=(col%+1)MOD64 2510ENDIF 2520IF colour%=4 AND RND(10)=1 THEN 2530tint%=RND(4)-1:col%=RND(64)-1 2540ENDIF 2550col%(q%)=col%:tint%(q%)=tint%*64 2560p%=q% 2570VDU26:REPEAT PROCfunction:UNTIL stop%=0 2580REPEAT UNTIL TIME>=T%:TIME=0 2590IF S% PROCsound((x1%(p%)+y1%(p%)+x2%(p%)+y2%(p%))MOD17) 2600UNTIL F%<>7 2610ENDPROC 2620: 2630DEF PROCbmenu 2640PROCmenu("BROWNIAN,clear,dot,line,triangle,rectangle,circle,colours,joined,- size +,- speed +,") 2650PRINTTAB(74,27);br%DIV8;TAB(74,30);T%; 2660PROConoff(B%):PROConoff(bs%*4):PROConoff(bj%*3) 2670ENDPROC 2680: 2690DEF PROCbrown(b%,c%) 2700IF b%=13 Brown%=0:Pause%=1:PROCpmenu 2710IF b%=10 VDU24,0;0;1023;1023;:CLG:VDU26 2720IF b%=9 plot%=&45 2730IF b%=8 plot%=5 2740IF b%=7 plot%=&55 2750IF b%=6 plot%=&65 2760IF b%=5 plot%=&9D 2770IF b%>4 AND b%<10 PROConoff(B%):B%=b%:PROConoff(B%) 2780IF b%=4 bs%=(bs%+1)MOD2:PROConoff(4) 2790IF b%=3 bj%=(bj%+1)MOD2:PROConoff(3) 2800IF b%=2 AND c%=0 br%=br%DIV2:IF br%<8 br%=8 2810IF b%=2 AND c%=1 br%=br%*2:IF br%>1024 br%=1024 2820IF b%=1 AND c%=0 T%=T%*1.414 2830IF b%=1 AND c%=1 T%=T%*0.707:IF T%<4 T%=4 2840IF Brown% PRINTTAB(74,27);br%DIV8;SPC(3-LEN(STR$(br%DIV8)))TAB(74,30);T%;SPC(3-LEN(STR$(T%))) 2850ENDPROC 2860: 2870DEF PROCbrownian 2880VDU24,0;0;1023;1023; 2890IF bj% MOVE X%,Y% ELSE X%=RND(1024):Y%=RND(1024):MOVEX%,Y% 2900:IF plot%=&55 X%=X%+RND(br%)-br%DIV2:Y%=Y%+RND(br%)-br%DIV2:MOVEX%,Y% 2910REPEAT 2920IF bs%=1 N%=N%MOD255+1 2930IF bs%=0 N%=RND(255) 2940X%=X%+RND(br%)-br%DIV2 2950IF X%>1023 X%=1023 2960IF X%<0 X%=0 2970Y%=Y%+RND(br%)-br%DIV2 2980IF Y%>1023 Y%=1023 2990IF Y%<0 Y%=0 3000REPEAT UNTIL TIME>T%:TIME=0 3010GCOL N%DIV4 TINT (N%MOD4)*64:PLOT plot%,X%,Y%:IF S% PROCsound(N%MOD17) 3020VDU26 3030REPEAT PROCfunction:UNTIL stop%=0 3040UNTIL F%<>26 3050ENDPROC 3060: 3070DEF PROCtmenu 3080PROCmenu("MUSIC,keyboard,autoplay,key,transpose,interval,rests,notes,instrument,scale,seed,") 3090PROConoff(kybd%*10):PROConoff(auto%*9) 3100ENDPROC 3110: 3120DEF PROCauto 3130LOCAL k%,j%,h% 3140IF F%<9 M%=256 3150COLOUR 187 TINT 64:COLOUR 48 TINT 64 3160keyboard%=0 3170REPEAT h%=1024/M%:j%=0 3180REPEAT k%=0 3190REPEAT X%=j%*h%:Y%=k%*h%:N%=POINT(X%,Y%)*4+TINT(X%,Y%)DIV64 3200PROCcursor(X%,Y%) 3210IF W% REPEAT UNTIL TIME>T%:TIME=0 3220PROCsound(N%MOD16) 3230REPEAT PROCfunction:UNTIL stop%=0:k%=k%+1 3240PROCcursor(X%,Y%) 3250UNTIL k%=M% OR auto%=0:j%=j%+1 3260UNTIL j%=M% OR auto%=0 3270UNTIL auto%=0 3280ENDPROC 3290: 3300DEF PROCmusic(m%,n%) 3310IF Tune% PROCtune(m%):ENDPROC 3320IF Key% PROCkey(m%) 3330IF Tran% PROCtran(m%) 3340IF Int% PROCint(m%) 3350IF Rest% PROCrest(m%) 3360IF Note% PROCnote(m%,n%) 3370IF Inst% PROCinst(m%) 3380IF Scle% PROCscale(m%) 3390ENDPROC 3400: 3410DEF PROCtune(t%) 3420IF t%=13 AND F%=8 Tune%=0:Brown%=1:PROCbmenu:ENDPROC 3430IF t%=13 AND F%=7 Tune%=0:Bounce%=1:PROCbomenu:ENDPROC 3440IF t%=13 AND (F%>8 OR F%=0) Tune%=0:Pause%=1:PROCpmenu:ENDPROC 3450IF t%=10 AND kybd%=0 kybd%=1:PROConoff(10):PROCkybd ELSE IF kybd%=1 kybd%=0:PROConoff(10) 3460IF t%=9 AND auto%=0 auto%=1:PROConoff(9):PROCauto ELSE IF t%=9 AND auto%=1 auto%=0:PROConoff(9) 3470IF t%=8 Tune%=0:Key%=1:PROCmenu("KEY,A,B,C,D,E,F,G,#,b,"):PROConoff(lkey%):PROConoff(sharp%*3):PROConoff(flat%*2) 3480IF t%=7 Tune%=0:Tran%=1:PROCmenu("TRANSPOSE,none,up,down,random,+ octaves,octave 1,octave 2,octave 3,octave 4,octave 5,"):PROConoff(ltran%):PROConoff(6-Oct%DIV&1000) 3490IF t%=6 Tune%=0:Int%=1:PROCmenu("INTERVAL,none,octave,second,third,fourth,fifth,sixth,seventh,#,b,"):PROConoff(lint%):PROConoff(shint%*2):PROConoff(flint%) 3500IF t%=5 Tune%=0:Rest%=1:PROCmenu("RESTS,none,structured,random,2nd or 1in2,3rd or 1in3,4th or 1in4,5th or 1in5,6th or 1in6,7th or 1in7,8th or 1in8,"):PROConoff(lstr%):PROConoff(lrest%) 3510IF t%=4 THEN 3520Tune%=0:Note%=2:PROCmenu("NOTES,- volume +,fixed volume,free volume,sustain,- tempo +,fixed tempo,free tempo,fixed pitch,free pitch,random pitch,") 3530PRINTTAB(75,3);Q%;TAB(74,15);T%;:PROConoff(9-W%):PROConoff(D%DIV255*7):PROConoff(Tempo%+4):PROConoff(V%) 3540ENDIF 3550IF t%=3 Tune%=0:Inst%=1:PROCmenu("INSTRUMENT,Orchestra,Solo "+STR$(voice%)+",Stereo,Mono,Arpeggio,Chords,Mixed,"):PROConoff(O%+9):PROConoff(stereo%+7):PROConoff(6-Chord%-Random%) 3560IF t%=2 Tune%=0:Scle%=1:PROCmenu("SCALE,User defined,Major,Diminished,Blues,Chromatic,Whole tone,Dorian,Aeolian,Harmonic,Pentatonic,"):PROConoff(scale%) 3570IF t%=1 PROConoff(1):PROCseed:PROConoff(1) 3580ENDPROC 3590: 3600DEF PROCkybd 3610*FX15,0 3620REPEAT k%=GET:k$=CHR$k% 3630note%=INSTR(key1$,k$)+INSTR(key2$,k$)-1 3640IF k%=32 note%=RND(17)-1:REPEAT UNTIL TIME>=T%:TIME=0 3650IF note%>-1 PROCsound(note%) 3660UNTIL k%=13:kybd%=0:PROConoff(10) 3670ENDPROC 3680: 3690DEF PROCseed 3700COLOUR 187 TINT 64:COLOUR 48 TINT 64 3710INPUTTAB(66,30)"Value? "seed% 3720IF seed%=0 seed%=RND(-TIME) ELSE seed%=RND(-seed%) 3730PRINTTAB(66,30)"seed " 3740ENDPROC 3750: 3760DEF PROCkey(m%) 3770IF m%=13 Key%=0:Tune%=1:PROCtmenu:ENDPROC 3780IF m%=10 key%=9 3790IF m%=9 key%=11 3800IF m%=8 key%=0 3810IF m%=7 key%=2 3820IF m%=6 key%=4 3830IF m%=5 key%=5 3840IF m%=4 key%=7 3850IF m%>3 PROConoff(lkey%):lkey%=m%:PROConoff(lkey%) 3860key%=key%-sharp%+flat% 3870IF m%=3 sharp%=(sharp%+1)MOD2:PROConoff(3):IF flat%=1 flat%=0:PROConoff(2) 3880IF m%=2 flat%=(flat%+1)MOD2:PROConoff(2):IF sharp%=1 sharp%=0:PROConoff(3) 3890key%=key%+sharp%-flat% 3900PROCintervals 3910ENDPROC 3920: 3930DEF PROCtran(m%) 3940IF m%=13 Tran%=0:Tune%=1:PROCtmenu:ENDPROC 3950IF m%=10 I%=0:int%=0 3960IF m%=9 Dir%=1 3970IF m%=8 Dir%=-1 3980IF m%=7 Dir%=0 3990IF m%=6 Dir%=2 4000IF m%>5 PROConoff(ltran%):ltran%=m%:PROConoff(ltran%) 4010IF m%<6 PROConoff(6-Oct%DIV&1000) 4020IF m%=5 oct%=&1000 4030IF m%=4 oct%=&2000 4040IF m%=3 oct%=&3000 4050IF m%=2 oct%=&4000 4060IF m%=1 oct%=&5000 4070IF m%<6 Oct%=oct%:PROConoff(6-oct%DIV&1000) 4080ENDPROC 4090: 4100DEF PROCint(m%) 4110IF m%=13 Int%=0:Tune%=1:PROCtmenu:ENDPROC 4120IF m%=10 int%=0 4130IF m%=9 int%=12 4140IF m%=8 int%=2 4150IF m%=7 int%=4 4160IF m%=6 int%=5 4170IF m%=5 int%=7 4180IF m%=4 int%=9 4190IF m%=3 int%=11 4200IF m%>2 PROConoff(lint%):lint%=m%:PROConoff(lint%) 4210int%=int%-shint%+flint% 4220IF m%=2 shint%=(shint%+1)MOD2:PROConoff(2):IF flint%=1 flint%=0:PROConoff(1) 4230IF m%=1 flint%=(flint%+1)MOD2:PROConoff(1):IF shint%=1 shint%=0:PROConoff(2) 4240int%=int%+shint%-flint% 4250ENDPROC 4260: 4270DEF PROCrest(m%) 4280IF m%=13 Rest%=0:Tune%=1:PROCtmenu:ENDPROC 4290IF m%=10 str%=0:rdm%=0 4300IF m%=9 str%=1 4310IF m%=8 rdm%=1 4320IF m%>7 PROConoff(lstr%):lstr%=m%:PROConoff(lstr%) 4330IF m%<8 rest%=9-m%:PROConoff(lrest%):lrest%=m%:PROConoff(lrest%) 4340ENDPROC 4350: 4360DEF PROCnote(m%,n%) 4370IF m%=13 Note%=0:Tune%=1:PROCtmenu:ENDPROC 4380IF m%=10 AND n%=0 Q%-=1:IF Q%<0 Q%=0 4390IF m%=10 AND n%=1 Q%+=1:IF Q%>15 Q%=15 4400IF m%=9 AND W%=1 W%=0:PROConoff(8):PROConoff(9) 4410IF m%=8 AND W%=0 W%=1:PROConoff(8):PROConoff(9) 4420IF m%=7 AND D%=255 D%=2:PROConoff(7) ELSE IF m%=7 D%=255:PROConoff(7) 4430IF m%=6 AND n%=0 T%=T%*1.414 4440IF m%=6 AND n%=1 T%=T%*0.707:IF T%<4 T%=4 4450IF m%=5 AND Tempo%=0 Tempo%=1:PROConoff(4):PROConoff(5) 4460IF m%=4 AND Tempo%=1 Tempo%=0:PROConoff(4):PROConoff(5) 4470IF m%<4 PROConoff(V%):V%=m%:PROConoff(V%) 4480PRINTTAB(75,3);Q%;SPC(2-LEN(STR$(Q%)))TAB(74,15);T%;SPC(3-LEN(STR$(T%))) 4490ENDPROC 4500: 4510DEF PROCinst(m%) 4520IF m%=13 Inst%=0:Tune%=1:PROCtmenu:ENDPROC 4530IF m%=10 AND O%=0 PROConoff(9):PROConoff(10):O%=1:PROCorch 4540IF m%=10 AND O%=1 PROCorch 4550IF m%=9 AND O%=1 PROConoff(9):PROConoff(10):O%=0:PROCsolo 4560IF m%=9 AND O%=0 PROCsolo 4570IF m%=8 AND stereo%=0:stereo%=1:PROConoff(7):PROConoff(8):PROCstereo(1) 4580IF m%=7 AND stereo%=1:stereo%=0:PROConoff(7):PROConoff(8):PROCstereo(0) 4590IF m%<7 AND m%>3 PROConoff(6-Chord%-Random%) 4600IF m%=6 Chord%=0:Random%=0 4610IF m%=5 Chord%=1:Random%=0 4620IF m%=4 Chord%=1:Random%=1 4630IF m%<7 AND m%>3 chord%=Chord%:random%=Random%:PROConoff(6-Chord%-Random%) 4640ENDPROC 4650: 4660DEF PROCstereo(s%) 4670FOR ch%=1 TO 4:STEREO ch%,15-3^(s%*ch%):NEXT 4680FOR ch%=5 TO 8:STEREO ch%,15+3^(s%*(ch%-4)):NEXT 4690ENDPROC 4700: 4710DEF PROCscale(m%) 4720IF m%=13 Scle%=0:Tune%=1:PROCtmenu:ENDPROC 4730PROConoff(scale%):scale%=m%:PROConoff(scale%) 4740IF m%=10 PROCnotes ELSE PROCintervals 4750ENDPROC 4760: 4770DEF PROCsound(note%) 4780IF O% C%=(note%+J%)MOD8+1 ELSE C%=C%MOD8+1 4790IF (K%=M%-1 OR D%=32 OR (D%=255 AND P%=16)) AND RND(3)=1 THEN 4800IF Dir%=0 OR Dir%=2 I%+=(int%*(RND(3)-2)) ELSE IF Dir%<>2 I%+=(int%*Dir%) 4810IF Dir%=2 oct%=&1000*RND(5) 4820IF I%>12 I%=I%-12 4830IF I%<0 I%=12-I% 4840ENDIF 4850IF W% AND RND(5)=1 Q%=Q%+RND(3)-2 4860IF Q%<5 Q%=5 4870IF Q%>15 Q%=15 4880IF str% AND C%=rest% r%=0 ELSE r%=1 4890IF rdm% AND RND(rest%)=1 r%=0 ELSE r%=1 4900IF D%<>255 AND RND(3)=1 D%=2^RND(5) 4910IF random% AND RND(3)=1 chord%=(chord%+1)MOD2 4920IF r%=1 AND (V%<3 OR P%<>note%) THEN 4930IF kybd%=1 OR V%=3 P%=note% ELSE IF V%=2 AND note%>0 AND note%<16 P%=(P%+note%)MOD17 ELSE P%=ABS((P%+note%+RND(5)-3)MOD17) 4940SOUND C%,-Q%,(pitch%(P%)+I%)*&155+oct%,D% 4950IF chord% THEN 4960C%=C%MOD8+1:P%=(P%+2)MOD17 4970SOUND C%,-Q%,(pitch%(P%)+I%)*&155+oct%,D% 4980C%=C%MOD8+1:P%=(P%+2)MOD17 4990SOUND C%,-Q%,(pitch%(P%)+I%)*&155+oct%,D% 5000IF V%=3 P%=note% 5010ENDIF 5020ENDIF 5030IF Tempo% REPEAT UNTIL TIME>T%:TIME =0 5040ENDPROC 5050: 5060DEF PROCorch 5070COLOUR 187 TINT 64:COLOUR 48 TINT 64 5080FOR i%=1 TO 8 5090PRINTTAB(66,3)"Voice ";i%;"? ";:INPUTTAB(75,3)""j% 5100IF j%<33 OSCLI"*CHANNELVOICE "+STR$(i%)+" "+STR$(j%) ELSE i%-=1 5110NEXT 5120PRINTTAB(66,3)"Orchestra ":m%=0 5130ENDPROC 5140: 5150DEF PROCsolo 5160COLOUR 187 TINT 64:COLOUR 48 TINT 64 5170REPEAT PRINTTAB(66,6)"Voice? ":INPUTTAB(73,6)""voice%:UNTIL voice%<33 5180PROCins(voice%) 5190PRINTTAB(66,6)"Solo ";voice%;" ":m%=0 5200ENDPROC 5210: 5220DEF PROCnotes 5230COLOUR 187 TINT 64:COLOUR 48 TINT 64 5240FOR i%=1 TO 16 5250PRINTTAB(66,3)"Interval";i%;"? ";:INPUTTAB(77,3)""j% 5260pitch%(i%)=pitch%(i%-1)+j% 5270NEXT 5280PRINTTAB(66,3)"User defined":m%=0 5290ENDPROC 5300: 5310DEF PROCintervals 5320LOCAL int% 5330pitch%(0)=key% 5340RESTORE(5490-scale%*10) 5350FOR i%=1 TO 16 5360READ int% 5370pitch%(i%)=pitch%(i%-1)+int% 5380NEXT 5390ENDPROC 5400: 5410DATA 2,2,1,2,2,2,1,2,2,1,2,2,2,1,2,2:REM Major 5420DATA 1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2:REM Diminished 5430DATA 3,2,1,1,3,2,3,2,1,1,3,2,3,2,1,1:REM Blues 5440DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1:REM Chromatic 5450DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2:REM Whole tone 5460DATA 2,1,2,2,2,1,2,2,1,2,2,2,1,2,2,1:REM Dorian 5470DATA 2,1,2,2,1,2,2,2,1,2,2,1,2,2,2,1:REM Aeolian 5480DATA 2,1,2,2,1,3,1,2,1,2,2,1,3,1,2,1:REM Harmonic 5490DATA 2,2,3,2,3,2,2,3,2,3,2,2,3,2,3,2:REM Pentatonic 5500: 5510DEF PROCins(v%) 5520FOR channel%=1 TO 8 5530OSCLI"*CHANNELVOICE "+STR$(channel%)+" "+STR$(v%) 5540NEXT 5550ENDPROC 5560:
� >compose :� full colour, mouse driven, sound and colour fractals !� by Mike Smith (c) June 1991 (: 2� 15 <*POINTER F�23,1,0;0;0;0; PIPause%=1:stop%=1:B%=8:F%=0:M%=1:T%=32:S%=1:j=-2:k=-1.25:q=2.5:r=1:i=0 ZI� x1%(100),y1%(100),x2%(100),y2%(100),pitch%(16),col%(100),tint%(100) dTBounce%=0:ix1%=4:iy1%=4:ix2%=4:iy2%=4:lb%=51:col%=�(64)-1:tint%=�(4)-1:colour%=5 nC%=�(-�):C%=�(3) x�O%=0:P%=�(16):Q%=10:W%=1:key%=0:lkey%=8:sharp%=0:flat%=0:E%=�(7):I%=0:int%=0:Dir%=1:D%=2:sync%=0:scale%=�(9):Rest%=0:str%=0:rdm%=0:lstr%=10:rest%=0:lrest%=0:ltran%=10:oct%=&3000:Oct%=&3000:chord%=0:random%=0:Chord%=0:Random%=0 ��Brown%=0:bj%=0:br%=256:bs%=0:plot%=5:Tune%=0:Key%=0:Tran%=0:Int%=0:lint%=10:shint%=0:flint%=0:Note%=0:Inst%=0:Scle%=0:kybd%=0:auto%=0:stereo%=0:voice%=�(2):Tempo%=0:V%=1 �7key1$="AWSEDRFTGYHUJIKOL":key2$="awsedrftgyhujikol" �/� �:Ƞ 8:�intervals:�ins(voice%):�stereo(0) � �panel � �pmenu �: �� �?� F%=0 stop%=1:Pause%=1:�pmenu:� �function:� stop%=0 � F%>0 �,� F%=7 �bouncer � � F%=8 �brownian � �mj �� � �� �: �� �pmenu q�menu("MAIN MENU,Mandlebrot,Julia,Brownian,Bouncer,Zoom,Music,Sound,Save,Load,Quit,"):�onoff(F%):�onoff(S%*4) � : "� �function ,� f% 6ȗ xpos%,ypos%,button% @� button%=0 � J>� button%=4 � xpos%>1023 f%=1+ypos%�96:g%=(xpos%-1024)�128 T� button%=2 f%=13 ^&� button%=1 stop%=(stop%+1)�2:f%=0 h1� ȗ xpos%,ypos%,button%:� button%=0:� f%=0 � r� Pause% �pause(f%):� |� Brown% �brown(f%,g%):� �� Bounce% �bounce(f%,g%):� ��music(f%,g%) �� �: �� �pause(f%) �l� f%=10 �onoff(F%):F%=f%:�onoff(F%):j=-2:k=-1.25:q=2.5:M%=1:J%=-1:K%=-1:�24,0;0;1023;1023;:�:�26:stop%=0 �R� f%=9 � F%=10 �onoff(F%):F%=f%:�onoff(F%):�juliaset:j=-1.5:k=-1.5:q=3:stop%=0 ̕� f%=8 � F%=8:�bmenu:Pause%=0:Brown%=1:Bounce%=0 � � f%=8 F%=8:�bmenu:Pause%=0:Brown%=1:Bounce%=0:K%=0:J%=0:M%=1:�24,0;0;1023;1023;:�:�26:stop%=0 �i� f%=7 F%=7:�bomenu:Pause%=0:Brown%=0:Bounce%=1:K%=0:J%=0:M%=1:�24,0;0;1023;1023;:�:�26:stop%=0:rt%=0 �4� f%=6 � F%>8 �onoff(6):�reset:�onoff(6):stop%=0 �:� f%=5 �tmenu:Pause%=0:Brown%=0:Bounce%=0:Tune%=1:S%=1 � � f%=4 �onoff(4):S%=(S%+1)�2 �$� f%=3 �onoff(3):�save:�onoff(3) � f%=2 �onoff(2):�load � f%=1 �end � &: 0� �panel :� y% D� 4 Ȝ 196 Nȓ Ȑ 1024,0,255,1023 X� b� 4 Ȝ 0 lȓ Ȑ 1024,y%*96,255,47 v � 4 Ȝ 64 �� 1024,y%*96 �� 1024,y%*96+95 �� 81,47,-48 �� 1279,y%*96 �� 1279,y%*96+95 �� 81,-48,-48 � y%+=1 �� y%=10 �� �: �� �menu(m$) �� p%,y%:p%=�m$,",") �� 4 Ȝ 128 � ȓ Ȑ 1040,y%*96+16,223,63 y%+=1 � y%=10 *ȓ Ȑ 1024,960,255,63 4y%=3 >� 132 Ȝ 128:� 15 Ȝ 128 H�66,0)�m$,p%-1) Rm$=�m$,�m$-p%) \� fp%=�m$,",") p�66,y%)�m$,p%-1) zm$=�m$,�m$-p%) � y%+=3 �� m$="" �� �: �� �onoff(s%) ��4,1 �ȓ Ȑ 1048,s%*96-72,207,47 �� �: � � �mj �!M%=1:� L=q/M%:H%=1024/M%:J%=0 � � K%=0 �� � K%�2 � J%�2 �pt !� �function:� stop%=0:K%=K%+1 �K%=M%:J%=J%+1 $�J%=M%:M%=M%*2 .� F%<9 � M%=1024 8� M%=1024 F%=0:�onoff(0) B� L: V��pt `9� x,y,x2,y2:x=j+L*J%:y=k+L*K%:� F%=10 r=x:i=y:x=0:y=0 j N%=-1 tB�:x2=x*x:y2=y*y:y=2*x*y+i:x=x2-y2+r:N%=N%+1:�N%=255 � x2+y2>=4 ~!N%=255-N%:� N%�4 Ȝ (N%�4)*64 �3X%=J%*H%:Y%=K%*H%:� X%,Y%:� &65,X%+H%-2,Y%+H%-4 �� S% �sound(N%�17) �� �: ���reset �� j1,k1,q1,x%,y%,z% �!�24,0;0;1023;1023;:*POINTER 0 �2x%=384:y%=384:z%=256:j1=j:k1=k:q1=q:ȗ � x%,y% ��square �� �0j=j1+q1*x%/1024:k=k1+q1*y%/1024:q=q1*z%/1024 ��square ȗ x%,y%,button% � button%=1 z%+=1 #� button%=2 z%-=1:� z%<16 z%=16 �square (� button%=4 2"� ȗ x%,y%,button%:� button%=0 <+�square:M%=1:K%=-1:J%=-1:�:�26:*POINTER F� P: Z� �juliaset d� x%,y%:ȗ � 512,512 n!�24,0;0;1023;1023;:*POINTER 0 x� �ȗ x%,y%,button% ��cursor(x%,y%) �r=j+q*x%/1024:i=k+q*y%/1024 ��cursor(x%,y%) �/� button%=4:M%=1:K%=-1:J%=-1:�:�26:*POINTER �"� ȗ x%,y%,button%:� button%=0 �� �: ���cursor(x%,y%) ��x%-16,y%:�&06,x%+16,y% ��x%,y%-16:�&06,x%,y%+16 �� �: ��square B�x%,y%:�&06,x%+z%,y%:�&06,x%+z%,y%+z%:�&06,x%,y%+z%:�&06,x%,y% � ": , ��end 6�3 @ *FX4,0 J� T� ^: h ��save r� in$,T$,file% |� 187 Ȝ 64:� 48 Ȝ 64 ��66,24)"File ?";:�8 ��� in%=�:� (in%=8 � in%=127) � �(T$)>0 T$=�T$,�(T$)-1):�127 � � (in%>47 � in%<58) � (in%>64 � in%<91) � (in%>96 � in%<123) in$=�in%:�in$;:T$=T$+in$ �� �(T$)=7 � in%=13 �Ucheck%=�("Screens."+T$):� check%>0 �66,24)"Overwrite? ":�#0:� �"yY",�)=0 � �d`F ��("ScreenSave Screens."+T$) �� F%=8 � �d`F �file%=�("MbtData."+T$) �&�#file%,j,k,q,r,i,J%,K%,L,M%,H%,F% ��#file% ��66,24)"Save " �� �: � ��load � in%,in$,T$,file% � 187 Ȝ 64:� 48 Ȝ 64 �66,27)"File ?";:�8 &�� in%=�:� (in%=8 � in%=127) � �(T$)>0 T$=�T$,�(T$)-1):�127 � � (in%>47 � in%<58) � (in%>64 � in%<91) � (in%>96 � in%<123) in$=�in%:�in$;:T$=T$+in$ 0� �(T$)=7 � in%=13 :file%=�("Screens."+T$) D� file%=0 � N�66,27)"Retry? " X� �"yY",�)=0 � �trG b T$="" l� v� T$="":� �T\G �'�#file%:�("ScreenLoad Screens."+T$) �file%=�("MbtData."+T$) �� file%=0 F%=0:� �trG �&�#file%,j,k,q,r,i,J%,K%,L,M%,H%,F% ��#file% ��pmenu:stop%=1 �� �: � � �bomenu ڒ�menu("BOUNCER,- lines +,- x1 +,- y1 +,- x2 +,- y2 +,sequ colour,rndm colour,one colour,background,- speed +,") �S�74,3);lb%-1;�74,6);�ix1%;�74,9);�iy1%;�74,12);�ix2%;�74,15);�iy2%;�74,30);T%; ��onoff(colour%) �� : � �bounce(b%,c%) %� b%=13 Bounce%=0:Pause%=1:�pmenu (� b%=10 � c%=0 lb%-=10:� lb%<2 lb%=2 *,� b%=10 � c%=1 lb%+=10:� lb%>100 lb%=100 4(� b%=9 � c%=0 ix1%=�(ix1%)*(�ix1%-1) >8� b%=9 � c%=1 ix1%=�(ix1%)*(�ix1%+1):� ix1%=0 ix1%=1 H(� b%=8 � c%=0 iy1%=�(iy1%)*(�iy1%-1) R8� b%=8 � c%=1 iy1%=�(iy1%)*(�iy1%+1):� iy1%=0 iy1%=1 \(� b%=7 � c%=0 ix2%=�(ix2%)*(�ix2%-1) f8� b%=7 � c%=1 ix2%=�(ix2%)*(�ix2%+1):� ix2%=0 ix2%=1 p(� b%=6 � c%=0 iy2%=�(iy2%)*(�iy2%-1) z8� b%=6 � c%=1 iy2%=�(iy2%)*(�iy2%+1):� iy2%=0 iy2%=1 �<� b%<6 � b%>2 �onoff(colour%):colour%=b%:�onoff(colour%) �$� b%=3 col%=�(64)-1:tint%=�(4)-1 �.� b%=2 � 3,�(64) Ȝ 64:ȓ Ȑ 0,0,1023,1023 �� b%=1 � c%=0 T%=T%*1.414 �)� b%=1 � c%=1 T%=T%*0.707:� T%<4 T%=4 �y� Bounce% �74,3);lb%-1;" "�74,6);�ix1%;" "�74,9);�iy1%;" "�74,12);�ix2%;" "�74,15);�iy2%;" "�74,30);T%;�(3-�(�(T%))) �� �: �� �bouncer �� p%,q%,rt% �hx1%(0)=�(256)*4:y1%(0)=�(256)*4:x2%(0)=�(256)*4:y2%(0)=�(256)*4:col%(0)=�(64)-1:tint%(0)=64*(�(4)-1) �� ��24,0;0;1023;1023; � 3,col%(p%) Ȝ tint%(p%) '� x1%(p%),y1%(p%):� x2%(p%),y2%(p%) q%=(p%+1)�lb% $� rt%>=lb%-1 � .� 3,col%(q%) Ȝ tint%(q%) 8'� x1%(q%),y1%(q%):� x2%(q%),y2%(q%) B� L rt%+=1 V� `x1%(q%)=x1%(p%)+ix1%*4 jy1%(q%)=y1%(p%)+iy1%*4 tx2%(q%)=x2%(p%)+ix2%*4 ~y2%(q%)=y2%(p%)+iy2%*4 �+� x1%(q%)<=0 � x1%(q%)>=1024 ix1%=-ix1% �+� y1%(q%)<=0 � y1%(q%)>=1024 iy1%=-iy1% �+� x2%(q%)<=0 � x2%(q%)>=1024 ix2%=-ix2% �+� y2%(q%)<=0 � y2%(q%)>=1024 iy2%=-iy2% �� colour%=5 � �(4)=1 � �tint%=(tint%+1)�4 �� tint%=0 col%=(col%+1)�64 �� �� colour%=4 � �(10)=1 � �tint%=�(4)-1:col%=�(64)-1 �� �$col%(q%)=col%:tint%(q%)=tint%*64 p%=q% �26:� �function:� stop%=0 � � �>=T%:�=0 5� S% �sound((x1%(p%)+y1%(p%)+x2%(p%)+y2%(p%))�17) (� F%<>7 2� <: F� �bmenu Ph�menu("BROWNIAN,clear,dot,line,triangle,rectangle,circle,colours,joined,- size +,- speed +,") Z�74,27);br%�8;�74,30);T%; d*�onoff(B%):�onoff(bs%*4):�onoff(bj%*3) n� x: �� �brown(b%,c%) �$� b%=13 Brown%=0:Pause%=1:�pmenu �$� b%=10 �24,0;0;1023;1023;:�:�26 �� b%=9 plot%=&45 �� b%=8 plot%=5 �� b%=7 plot%=&55 �� b%=6 plot%=&65 �� b%=5 plot%=&9D �.� b%>4 � b%<10 �onoff(B%):B%=b%:�onoff(B%) �"� b%=4 bs%=(bs%+1)�2:�onoff(4) �"� b%=3 bj%=(bj%+1)�2:�onoff(3) �)� b%=2 � c%=0 br%=br%�2:� br%<8 br%=8 �/� b%=2 � c%=1 br%=br%*2:� br%>1024 br%=1024 � b%=1 � c%=0 T%=T%*1.414 )� b%=1 � c%=1 T%=T%*0.707:� T%<4 T%=4 D� Brown% �74,27);br%�8;�(3-�(�(br%�8)))�74,30);T%;�(3-�(�(T%))) "� ,: 6� �brownian @�24,0;0;1023;1023; J0� bj% � X%,Y% � X%=�(1024):Y%=�(1024):�X%,Y% T=:� plot%=&55 X%=X%+�(br%)-br%�2:Y%=Y%+�(br%)-br%�2:�X%,Y% ^� h� bs%=1 N%=N%�255+1 r� bs%=0 N%=�(255) |X%=X%+�(br%)-br%�2 �� X%>1023 X%=1023 �� X%<0 X%=0 �Y%=Y%+�(br%)-br%�2 �� Y%>1023 Y%=1023 �� Y%<0 Y%=0 �� � �>T%:�=0 �8� N%�4 Ȝ (N%�4)*64:� plot%,X%,Y%:� S% �sound(N%�17) ��26 �� �function:� stop%=0 �� F%<>26 �� �: �� �tmenu ^�menu("MUSIC,keyboard,autoplay,key,transpose,interval,rests,notes,instrument,scale,seed,") $�onoff(kybd%*10):�onoff(auto%*9) � &: 0� �auto :� k%,j%,h% D� F%<9 M%=256 N� 187 Ȝ 64:� 48 Ȝ 64 Xkeyboard%=0 b� h%=1024/M%:j%=0 l � k%=0 v1� X%=j%*h%:Y%=k%*h%:N%=�X%,Y%)*4+Ȝ(X%,Y%)�64 ��cursor(X%,Y%) �� W% � � �>T%:�=0 ��sound(N%�16) �!� �function:� stop%=0:k%=k%+1 ��cursor(X%,Y%) �� k%=M% � auto%=0:j%=j%+1 �� j%=M% � auto%=0 � � auto%=0 �� �: �� �music(m%,n%) �� Tune% �tune(m%):� �� Key% �key(m%) � Tran% �tran(m%) � Int% �int(m%) � Rest% �rest(m%) � Note% �note(m%,n%) *� Inst% �inst(m%) 4� Scle% �scale(m%) >� H: R� �tune(t%) \,� t%=13 � F%=8 Tune%=0:Brown%=1:�bmenu:� f.� t%=13 � F%=7 Tune%=0:Bounce%=1:�bomenu:� p5� t%=13 � (F%>8 � F%=0) Tune%=0:Pause%=1:�pmenu:� zM� t%=10 � kybd%=0 kybd%=1:�onoff(10):�kybd � � kybd%=1 kybd%=0:�onoff(10) �Q� t%=9 � auto%=0 auto%=1:�onoff(9):�auto � � t%=9 � auto%=1 auto%=0:�onoff(9) �h� t%=8 Tune%=0:Key%=1:�menu("KEY,A,B,C,D,E,F,G,#,b,"):�onoff(lkey%):�onoff(sharp%*3):�onoff(flat%*2) ��� t%=7 Tune%=0:Tran%=1:�menu("TRANSPOSE,none,up,down,random,+ octaves,octave 1,octave 2,octave 3,octave 4,octave 5,"):�onoff(ltran%):�onoff(6-Oct%�&1000) ��� t%=6 Tune%=0:Int%=1:�menu("INTERVAL,none,octave,second,third,fourth,fifth,sixth,seventh,#,b,"):�onoff(lint%):�onoff(shint%*2):�onoff(flint%) ��� t%=5 Tune%=0:Rest%=1:�menu("RESTS,none,structured,random,2nd or 1in2,3rd or 1in3,4th or 1in4,5th or 1in5,6th or 1in6,7th or 1in7,8th or 1in8,"):�onoff(lstr%):�onoff(lrest%) �� t%=4 � ��Tune%=0:Note%=2:�menu("NOTES,- volume +,fixed volume,free volume,sustain,- tempo +,fixed tempo,free tempo,fixed pitch,free pitch,random pitch,") �T�75,3);Q%;�74,15);T%;:�onoff(9-W%):�onoff(D%�255*7):�onoff(Tempo%+4):�onoff(V%) �� ަ� t%=3 Tune%=0:Inst%=1:�menu("INSTRUMENT,Orchestra,Solo "+�(voice%)+",Stereo,Mono,Arpeggio,Chords,Mixed,"):�onoff(O%+9):�onoff(stereo%+7):�onoff(6-Chord%-Random%) �� t%=2 Tune%=0:Scle%=1:�menu("SCALE,User defined,Major,Diminished,Blues,Chromatic,Whole tone,Dorian,Aeolian,Harmonic,Pentatonic,"):�onoff(scale%) �$� t%=1 �onoff(1):�seed:�onoff(1) �� : � �kybd *FX15,0 $� k%=�:k$=�k% .!note%=�key1$,k$)+�key2$,k$)-1 8'� k%=32 note%=�(17)-1:� � �>=T%:�=0 B� note%>-1 �sound(note%) L� k%=13:kybd%=0:�onoff(10) V� `: j� �seed t� 187 Ȝ 64:� 48 Ȝ 64 ~�66,30)"Value? "seed% �+� seed%=0 seed%=�(-�) � seed%=�(-seed%) ��66,30)"seed " �� �: �� �key(m%) �#� m%=13 Key%=0:Tune%=1:�tmenu:� �� m%=10 key%=9 �� m%=9 key%=11 �� m%=8 key%=0 �� m%=7 key%=2 �� m%=6 key%=4 �� m%=5 key%=5 � m%=4 key%=7 /� m%>3 �onoff(lkey%):lkey%=m%:�onoff(lkey%) key%=key%-sharp%+flat% D� m%=3 sharp%=(sharp%+1)�2:�onoff(3):� flat%=1 flat%=0:�onoff(2) (D� m%=2 flat%=(flat%+1)�2:�onoff(2):� sharp%=1 sharp%=0:�onoff(3) 2key%=key%+sharp%-flat% <�intervals F� P: Z� �tran(m%) d$� m%=13 Tran%=0:Tune%=1:�tmenu:� n� m%=10 I%=0:int%=0 x� m%=9 Dir%=1 �� m%=8 Dir%=-1 �� m%=7 Dir%=0 �� m%=6 Dir%=2 �2� m%>5 �onoff(ltran%):ltran%=m%:�onoff(ltran%) �� m%<6 �onoff(6-Oct%�&1000) �� m%=5 oct%=&1000 �� m%=4 oct%=&2000 �� m%=3 oct%=&3000 �� m%=2 oct%=&4000 �� m%=1 oct%=&5000 �)� m%<6 Oct%=oct%:�onoff(6-oct%�&1000) �� �: � �int(m%) #� m%=13 Int%=0:Tune%=1:�tmenu:� � m%=10 int%=0 "� m%=9 int%=12 ,� m%=8 int%=2 6� m%=7 int%=4 @� m%=6 int%=5 J� m%=5 int%=7 T� m%=4 int%=9 ^� m%=3 int%=11 h/� m%>2 �onoff(lint%):lint%=m%:�onoff(lint%) rint%=int%-shint%+flint% |F� m%=2 shint%=(shint%+1)�2:�onoff(2):� flint%=1 flint%=0:�onoff(1) �F� m%=1 flint%=(flint%+1)�2:�onoff(1):� shint%=1 shint%=0:�onoff(2) �int%=int%+shint%-flint% �� �: �� �rest(m%) �$� m%=13 Rest%=0:Tune%=1:�tmenu:� �� m%=10 str%=0:rdm%=0 �� m%=9 str%=1 �� m%=8 rdm%=1 �/� m%>7 �onoff(lstr%):lstr%=m%:�onoff(lstr%) �=� m%<8 rest%=9-m%:�onoff(lrest%):lrest%=m%:�onoff(lrest%) �� �: � �note(m%,n%) $� m%=13 Note%=0:Tune%=1:�tmenu:� $� m%=10 � n%=0 Q%-=1:� Q%<0 Q%=0 &&� m%=10 � n%=1 Q%+=1:� Q%>15 Q%=15 0*� m%=9 � W%=1 W%=0:�onoff(8):�onoff(9) :*� m%=8 � W%=0 W%=1:�onoff(8):�onoff(9) D<� m%=7 � D%=255 D%=2:�onoff(7) � � m%=7 D%=255:�onoff(7) N� m%=6 � n%=0 T%=T%*1.414 X)� m%=6 � n%=1 T%=T%*0.707:� T%<4 T%=4 b2� m%=5 � Tempo%=0 Tempo%=1:�onoff(4):�onoff(5) l2� m%=4 � Tempo%=1 Tempo%=0:�onoff(4):�onoff(5) v&� m%<4 �onoff(V%):V%=m%:�onoff(V%) �4�75,3);Q%;�(2-�(�(Q%)))�74,15);T%;�(3-�(�(T%))) �� �: �� �inst(m%) �$� m%=13 Inst%=0:Tune%=1:�tmenu:� �2� m%=10 � O%=0 �onoff(9):�onoff(10):O%=1:�orch �� m%=10 � O%=1 �orch �1� m%=9 � O%=1 �onoff(9):�onoff(10):O%=0:�solo �� m%=9 � O%=0 �solo �?� m%=8 � stereo%=0:stereo%=1:�onoff(7):�onoff(8):�stereo(1) �?� m%=7 � stereo%=1:stereo%=0:�onoff(7):�onoff(8):�stereo(0) �*� m%<7 � m%>3 �onoff(6-Chord%-Random%) �� m%=6 Chord%=0:Random%=0 � m%=5 Chord%=1:Random%=0 � m%=4 Chord%=1:Random%=1 H� m%<7 � m%>3 chord%=Chord%:random%=Random%:�onoff(6-Chord%-Random%) � *: 4� �stereo(s%) >&� ch%=1 � 4:Ȣ ch%,15-3^(s%*ch%):� H*� ch%=5 � 8:Ȣ ch%,15+3^(s%*(ch%-4)):� R� \: f� �scale(m%) p$� m%=13 Scle%=0:Tune%=1:�tmenu:� z+�onoff(scale%):scale%=m%:�onoff(scale%) �� m%=10 �notes � �intervals �� �: �� �sound(note%) �&� O% C%=(note%+J%)�8+1 � C%=C%�8+1 �5� (K%=M%-1 � D%=32 � (D%=255 � P%=16)) � �(3)=1 � �E� Dir%=0 � Dir%=2 I%+=(int%*(�(3)-2)) � � Dir%<>2 I%+=(int%*Dir%) �� Dir%=2 oct%=&1000*�(5) �� I%>12 I%=I%-12 �� I%<0 I%=12-I% �� �� W% � �(5)=1 Q%=Q%+�(3)-2 �� Q%<5 Q%=5 � Q%>15 Q%=15 !� str% � C%=rest% r%=0 � r%=1 #� rdm% � �(rest%)=1 r%=0 � r%=1 $ � D%<>255 � �(3)=1 D%=2^�(5) .*� random% � �(3)=1 chord%=(chord%+1)�2 8!� r%=1 � (V%<3 � P%<>note%) � Bi� kybd%=1 � V%=3 P%=note% � � V%=2 � note%>0 � note%<16 P%=(P%+note%)�17 � P%=�((P%+note%+�(5)-3)�17) L)� C%,-Q%,(pitch%(P%)+I%)*&155+oct%,D% V� chord% � `C%=C%�8+1:P%=(P%+2)�17 j)� C%,-Q%,(pitch%(P%)+I%)*&155+oct%,D% tC%=C%�8+1:P%=(P%+2)�17 ~)� C%,-Q%,(pitch%(P%)+I%)*&155+oct%,D% �� V%=3 P%=note% �� �� �� Tempo% � � �>T%:� =0 �� �: �� �orch �� 187 Ȝ 64:� 48 Ȝ 64 �� i%=1 � 8 �+�66,3)"Voice ";i%;"? ";:�75,3)""j% �5� j%<33 �"*CHANNELVOICE "+�(i%)+" "+�(j%) � i%-=1 �� �66,3)"Orchestra ":m%=0 � : � �solo (� 187 Ȝ 64:� 48 Ȝ 64 27� �66,6)"Voice? ":�73,6)""voice%:� voice%<33 <�ins(voice%) F&�66,6)"Solo ";voice%;" ":m%=0 P� Z: d� �notes n� 187 Ȝ 64:� 48 Ȝ 64 x� i%=1 � 16 �+�66,3)"Interval";i%;"? ";:�77,3)""j% �pitch%(i%)=pitch%(i%-1)+j% �� ��66,3)"User defined":m%=0 �� �: �� �intervals � � int% �pitch%(0)=key% ��(5490-scale%*10) �� i%=1 � 16 � � int% � pitch%(i%)=pitch%(i%-1)+int% � � : "/� 2,2,1,2,2,2,1,2,2,1,2,2,2,1,2,2:REM Major ,4� 1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2:REM Diminished 6/� 3,2,1,1,3,2,3,2,1,1,3,2,3,2,1,1:REM Blues @3� 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1:REM Chromatic J4� 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2:REM Whole tone T0� 2,1,2,2,2,1,2,2,1,2,2,2,1,2,2,1:REM Dorian ^1� 2,1,2,2,1,2,2,2,1,2,2,1,2,2,2,1:REM Aeolian h2� 2,1,2,2,1,3,1,2,1,2,2,1,3,1,2,1:REM Harmonic r4� 2,2,3,2,3,2,2,3,2,3,2,2,3,2,3,2:REM Pentatonic |: �� �ins(v%) �� channel%=1 � 8 �+�"*CHANNELVOICE "+�(channel%)+" "+�(v%) �� �� �: �
00000000 0d 00 0a 0e f4 20 3e 63 6f 6d 70 6f 73 65 0d 00 |..... >compose..| 00000010 14 3a f4 20 66 75 6c 6c 20 63 6f 6c 6f 75 72 2c |.:. full colour,| 00000020 20 6d 6f 75 73 65 20 64 72 69 76 65 6e 2c 20 73 | mouse driven, s| 00000030 6f 75 6e 64 20 61 6e 64 20 63 6f 6c 6f 75 72 20 |ound and colour | 00000040 66 72 61 63 74 61 6c 73 0d 00 1e 21 f4 20 62 79 |fractals...!. by| 00000050 20 4d 69 6b 65 20 53 6d 69 74 68 20 28 63 29 20 | Mike Smith (c) | 00000060 4a 75 6e 65 20 31 39 39 31 0d 00 28 05 3a 0d 00 |June 1991..(.:..| 00000070 32 08 eb 20 31 35 0d 00 3c 0c 2a 50 4f 49 4e 54 |2.. 15..<.*POINT| 00000080 45 52 0d 00 46 12 ef 32 33 2c 31 2c 30 3b 30 3b |ER..F..23,1,0;0;| 00000090 30 3b 30 3b 0d 00 50 49 50 61 75 73 65 25 3d 31 |0;0;..PIPause%=1| 000000a0 3a 73 74 6f 70 25 3d 31 3a 42 25 3d 38 3a 46 25 |:stop%=1:B%=8:F%| 000000b0 3d 30 3a 4d 25 3d 31 3a 54 25 3d 33 32 3a 53 25 |=0:M%=1:T%=32:S%| 000000c0 3d 31 3a 6a 3d 2d 32 3a 6b 3d 2d 31 2e 32 35 3a |=1:j=-2:k=-1.25:| 000000d0 71 3d 32 2e 35 3a 72 3d 31 3a 69 3d 30 0d 00 5a |q=2.5:r=1:i=0..Z| 000000e0 49 de 20 78 31 25 28 31 30 30 29 2c 79 31 25 28 |I. x1%(100),y1%(| 000000f0 31 30 30 29 2c 78 32 25 28 31 30 30 29 2c 79 32 |100),x2%(100),y2| 00000100 25 28 31 30 30 29 2c 70 69 74 63 68 25 28 31 36 |%(100),pitch%(16| 00000110 29 2c 63 6f 6c 25 28 31 30 30 29 2c 74 69 6e 74 |),col%(100),tint| 00000120 25 28 31 30 30 29 0d 00 64 54 42 6f 75 6e 63 65 |%(100)..dTBounce| 00000130 25 3d 30 3a 69 78 31 25 3d 34 3a 69 79 31 25 3d |%=0:ix1%=4:iy1%=| 00000140 34 3a 69 78 32 25 3d 34 3a 69 79 32 25 3d 34 3a |4:ix2%=4:iy2%=4:| 00000150 6c 62 25 3d 35 31 3a 63 6f 6c 25 3d b3 28 36 34 |lb%=51:col%=.(64| 00000160 29 2d 31 3a 74 69 6e 74 25 3d b3 28 34 29 2d 31 |)-1:tint%=.(4)-1| 00000170 3a 63 6f 6c 6f 75 72 25 3d 35 0d 00 6e 14 43 25 |:colour%=5..n.C%| 00000180 3d b3 28 2d 91 29 3a 43 25 3d b3 28 33 29 0d 00 |=.(-.):C%=.(3)..| 00000190 78 e6 4f 25 3d 30 3a 50 25 3d b3 28 31 36 29 3a |x.O%=0:P%=.(16):| 000001a0 51 25 3d 31 30 3a 57 25 3d 31 3a 6b 65 79 25 3d |Q%=10:W%=1:key%=| 000001b0 30 3a 6c 6b 65 79 25 3d 38 3a 73 68 61 72 70 25 |0:lkey%=8:sharp%| 000001c0 3d 30 3a 66 6c 61 74 25 3d 30 3a 45 25 3d b3 28 |=0:flat%=0:E%=.(| 000001d0 37 29 3a 49 25 3d 30 3a 69 6e 74 25 3d 30 3a 44 |7):I%=0:int%=0:D| 000001e0 69 72 25 3d 31 3a 44 25 3d 32 3a 73 79 6e 63 25 |ir%=1:D%=2:sync%| 000001f0 3d 30 3a 73 63 61 6c 65 25 3d b3 28 39 29 3a 52 |=0:scale%=.(9):R| 00000200 65 73 74 25 3d 30 3a 73 74 72 25 3d 30 3a 72 64 |est%=0:str%=0:rd| 00000210 6d 25 3d 30 3a 6c 73 74 72 25 3d 31 30 3a 72 65 |m%=0:lstr%=10:re| 00000220 73 74 25 3d 30 3a 6c 72 65 73 74 25 3d 30 3a 6c |st%=0:lrest%=0:l| 00000230 74 72 61 6e 25 3d 31 30 3a 6f 63 74 25 3d 26 33 |tran%=10:oct%=&3| 00000240 30 30 30 3a 4f 63 74 25 3d 26 33 30 30 30 3a 63 |000:Oct%=&3000:c| 00000250 68 6f 72 64 25 3d 30 3a 72 61 6e 64 6f 6d 25 3d |hord%=0:random%=| 00000260 30 3a 43 68 6f 72 64 25 3d 30 3a 52 61 6e 64 6f |0:Chord%=0:Rando| 00000270 6d 25 3d 30 0d 00 82 ad 42 72 6f 77 6e 25 3d 30 |m%=0....Brown%=0| 00000280 3a 62 6a 25 3d 30 3a 62 72 25 3d 32 35 36 3a 62 |:bj%=0:br%=256:b| 00000290 73 25 3d 30 3a 70 6c 6f 74 25 3d 35 3a 54 75 6e |s%=0:plot%=5:Tun| 000002a0 65 25 3d 30 3a 4b 65 79 25 3d 30 3a 54 72 61 6e |e%=0:Key%=0:Tran| 000002b0 25 3d 30 3a 49 6e 74 25 3d 30 3a 6c 69 6e 74 25 |%=0:Int%=0:lint%| 000002c0 3d 31 30 3a 73 68 69 6e 74 25 3d 30 3a 66 6c 69 |=10:shint%=0:fli| 000002d0 6e 74 25 3d 30 3a 4e 6f 74 65 25 3d 30 3a 49 6e |nt%=0:Note%=0:In| 000002e0 73 74 25 3d 30 3a 53 63 6c 65 25 3d 30 3a 6b 79 |st%=0:Scle%=0:ky| 000002f0 62 64 25 3d 30 3a 61 75 74 6f 25 3d 30 3a 73 74 |bd%=0:auto%=0:st| 00000300 65 72 65 6f 25 3d 30 3a 76 6f 69 63 65 25 3d b3 |ereo%=0:voice%=.| 00000310 28 32 29 3a 54 65 6d 70 6f 25 3d 30 3a 56 25 3d |(2):Tempo%=0:V%=| 00000320 31 0d 00 8c 37 6b 65 79 31 24 3d 22 41 57 53 45 |1...7key1$="AWSE| 00000330 44 52 46 54 47 59 48 55 4a 49 4b 4f 4c 22 3a 6b |DRFTGYHUJIKOL":k| 00000340 65 79 32 24 3d 22 61 77 73 65 64 72 66 74 67 79 |ey2$="awsedrftgy| 00000350 68 75 6a 69 6b 6f 6c 22 0d 00 96 2f d4 20 ee 3a |hujikol".../. .:| 00000360 c8 a0 20 38 3a f2 69 6e 74 65 72 76 61 6c 73 3a |.. 8:.intervals:| 00000370 f2 69 6e 73 28 76 6f 69 63 65 25 29 3a f2 73 74 |.ins(voice%):.st| 00000380 65 72 65 6f 28 30 29 0d 00 a0 0a f2 70 61 6e 65 |ereo(0).....pane| 00000390 6c 0d 00 aa 0a f2 70 6d 65 6e 75 0d 00 b4 05 3a |l.....pmenu....:| 000003a0 0d 00 be 05 f5 0d 00 c8 3f e7 20 46 25 3d 30 20 |........?. F%=0 | 000003b0 73 74 6f 70 25 3d 31 3a 50 61 75 73 65 25 3d 31 |stop%=1:Pause%=1| 000003c0 3a f2 70 6d 65 6e 75 3a f5 20 f2 66 75 6e 63 74 |:.pmenu:. .funct| 000003d0 69 6f 6e 3a fd 20 73 74 6f 70 25 3d 30 20 80 20 |ion:. stop%=0 . | 000003e0 46 25 3e 30 0d 00 d2 2c e7 20 46 25 3d 37 20 f2 |F%>0...,. F%=7 .| 000003f0 62 6f 75 6e 63 65 72 20 8b 20 e7 20 46 25 3d 38 |bouncer . . F%=8| 00000400 20 f2 62 72 6f 77 6e 69 61 6e 20 8b 20 f2 6d 6a | .brownian . .mj| 00000410 0d 00 dc 07 fd 20 a3 0d 00 e6 05 e0 0d 00 f0 05 |..... ..........| 00000420 3a 0d 00 fa 0c dd 20 f2 70 6d 65 6e 75 0d 01 04 |:..... .pmenu...| 00000430 71 f2 6d 65 6e 75 28 22 4d 41 49 4e 20 4d 45 4e |q.menu("MAIN MEN| 00000440 55 2c 4d 61 6e 64 6c 65 62 72 6f 74 2c 4a 75 6c |U,Mandlebrot,Jul| 00000450 69 61 2c 42 72 6f 77 6e 69 61 6e 2c 42 6f 75 6e |ia,Brownian,Boun| 00000460 63 65 72 2c 5a 6f 6f 6d 2c 4d 75 73 69 63 2c 53 |cer,Zoom,Music,S| 00000470 6f 75 6e 64 2c 53 61 76 65 2c 4c 6f 61 64 2c 51 |ound,Save,Load,Q| 00000480 75 69 74 2c 22 29 3a f2 6f 6e 6f 66 66 28 46 25 |uit,"):.onoff(F%| 00000490 29 3a f2 6f 6e 6f 66 66 28 53 25 2a 34 29 0d 01 |):.onoff(S%*4)..| 000004a0 0e 05 e1 0d 01 18 05 3a 0d 01 22 0f dd 20 f2 66 |.......:..".. .f| 000004b0 75 6e 63 74 69 6f 6e 0d 01 2c 08 ea 20 66 25 0d |unction..,.. f%.| 000004c0 01 36 1a c8 97 20 78 70 6f 73 25 2c 79 70 6f 73 |.6... xpos%,ypos| 000004d0 25 2c 62 75 74 74 6f 6e 25 0d 01 40 11 e7 20 62 |%,button%..@.. b| 000004e0 75 74 74 6f 6e 25 3d 30 20 e1 0d 01 4a 3e e7 20 |utton%=0 ...J>. | 000004f0 62 75 74 74 6f 6e 25 3d 34 20 80 20 78 70 6f 73 |button%=4 . xpos| 00000500 25 3e 31 30 32 33 20 66 25 3d 31 2b 79 70 6f 73 |%>1023 f%=1+ypos| 00000510 25 81 39 36 3a 67 25 3d 28 78 70 6f 73 25 2d 31 |%.96:g%=(xpos%-1| 00000520 30 32 34 29 81 31 32 38 0d 01 54 15 e7 20 62 75 |024).128..T.. bu| 00000530 74 74 6f 6e 25 3d 32 20 66 25 3d 31 33 0d 01 5e |tton%=2 f%=13..^| 00000540 26 e7 20 62 75 74 74 6f 6e 25 3d 31 20 73 74 6f |&. button%=1 sto| 00000550 70 25 3d 28 73 74 6f 70 25 2b 31 29 83 32 3a 66 |p%=(stop%+1).2:f| 00000560 25 3d 30 0d 01 68 31 f5 20 c8 97 20 78 70 6f 73 |%=0..h1. .. xpos| 00000570 25 2c 79 70 6f 73 25 2c 62 75 74 74 6f 6e 25 3a |%,ypos%,button%:| 00000580 fd 20 62 75 74 74 6f 6e 25 3d 30 3a e7 20 66 25 |. button%=0:. f%| 00000590 3d 30 20 e1 0d 01 72 19 e7 20 50 61 75 73 65 25 |=0 ...r.. Pause%| 000005a0 20 f2 70 61 75 73 65 28 66 25 29 3a e1 0d 01 7c | .pause(f%):...|| 000005b0 1c e7 20 42 72 6f 77 6e 25 20 f2 62 72 6f 77 6e |.. Brown% .brown| 000005c0 28 66 25 2c 67 25 29 3a e1 0d 01 86 1e e7 20 42 |(f%,g%):...... B| 000005d0 6f 75 6e 63 65 25 20 f2 62 6f 75 6e 63 65 28 66 |ounce% .bounce(f| 000005e0 25 2c 67 25 29 3a e1 0d 01 90 11 f2 6d 75 73 69 |%,g%):......musi| 000005f0 63 28 66 25 2c 67 25 29 0d 01 9a 05 e1 0d 01 a4 |c(f%,g%)........| 00000600 05 3a 0d 01 ae 10 dd 20 f2 70 61 75 73 65 28 66 |.:..... .pause(f| 00000610 25 29 0d 01 b8 6c e7 20 66 25 3d 31 30 20 f2 6f |%)...l. f%=10 .o| 00000620 6e 6f 66 66 28 46 25 29 3a 46 25 3d 66 25 3a f2 |noff(F%):F%=f%:.| 00000630 6f 6e 6f 66 66 28 46 25 29 3a 6a 3d 2d 32 3a 6b |onoff(F%):j=-2:k| 00000640 3d 2d 31 2e 32 35 3a 71 3d 32 2e 35 3a 4d 25 3d |=-1.25:q=2.5:M%=| 00000650 31 3a 4a 25 3d 2d 31 3a 4b 25 3d 2d 31 3a ef 32 |1:J%=-1:K%=-1:.2| 00000660 34 2c 30 3b 30 3b 31 30 32 33 3b 31 30 32 33 3b |4,0;0;1023;1023;| 00000670 3a da 3a ef 32 36 3a 73 74 6f 70 25 3d 30 0d 01 |:.:.26:stop%=0..| 00000680 c2 52 e7 20 66 25 3d 39 20 80 20 46 25 3d 31 30 |.R. f%=9 . F%=10| 00000690 20 f2 6f 6e 6f 66 66 28 46 25 29 3a 46 25 3d 66 | .onoff(F%):F%=f| 000006a0 25 3a f2 6f 6e 6f 66 66 28 46 25 29 3a f2 6a 75 |%:.onoff(F%):.ju| 000006b0 6c 69 61 73 65 74 3a 6a 3d 2d 31 2e 35 3a 6b 3d |liaset:j=-1.5:k=| 000006c0 2d 31 2e 35 3a 71 3d 33 3a 73 74 6f 70 25 3d 30 |-1.5:q=3:stop%=0| 000006d0 0d 01 cc 95 e7 20 66 25 3d 38 20 80 20 46 25 3d |..... f%=8 . F%=| 000006e0 38 3a f2 62 6d 65 6e 75 3a 50 61 75 73 65 25 3d |8:.bmenu:Pause%=| 000006f0 30 3a 42 72 6f 77 6e 25 3d 31 3a 42 6f 75 6e 63 |0:Brown%=1:Bounc| 00000700 65 25 3d 30 20 8b 20 e7 20 66 25 3d 38 20 46 25 |e%=0 . . f%=8 F%| 00000710 3d 38 3a f2 62 6d 65 6e 75 3a 50 61 75 73 65 25 |=8:.bmenu:Pause%| 00000720 3d 30 3a 42 72 6f 77 6e 25 3d 31 3a 42 6f 75 6e |=0:Brown%=1:Boun| 00000730 63 65 25 3d 30 3a 4b 25 3d 30 3a 4a 25 3d 30 3a |ce%=0:K%=0:J%=0:| 00000740 4d 25 3d 31 3a ef 32 34 2c 30 3b 30 3b 31 30 32 |M%=1:.24,0;0;102| 00000750 33 3b 31 30 32 33 3b 3a da 3a ef 32 36 3a 73 74 |3;1023;:.:.26:st| 00000760 6f 70 25 3d 30 0d 01 d6 69 e7 20 66 25 3d 37 20 |op%=0...i. f%=7 | 00000770 46 25 3d 37 3a f2 62 6f 6d 65 6e 75 3a 50 61 75 |F%=7:.bomenu:Pau| 00000780 73 65 25 3d 30 3a 42 72 6f 77 6e 25 3d 30 3a 42 |se%=0:Brown%=0:B| 00000790 6f 75 6e 63 65 25 3d 31 3a 4b 25 3d 30 3a 4a 25 |ounce%=1:K%=0:J%| 000007a0 3d 30 3a 4d 25 3d 31 3a ef 32 34 2c 30 3b 30 3b |=0:M%=1:.24,0;0;| 000007b0 31 30 32 33 3b 31 30 32 33 3b 3a da 3a ef 32 36 |1023;1023;:.:.26| 000007c0 3a 73 74 6f 70 25 3d 30 3a 72 74 25 3d 30 0d 01 |:stop%=0:rt%=0..| 000007d0 e0 34 e7 20 66 25 3d 36 20 80 20 46 25 3e 38 20 |.4. f%=6 . F%>8 | 000007e0 f2 6f 6e 6f 66 66 28 36 29 3a f2 72 65 73 65 74 |.onoff(6):.reset| 000007f0 3a f2 6f 6e 6f 66 66 28 36 29 3a 73 74 6f 70 25 |:.onoff(6):stop%| 00000800 3d 30 0d 01 ea 3a e7 20 66 25 3d 35 20 f2 74 6d |=0...:. f%=5 .tm| 00000810 65 6e 75 3a 50 61 75 73 65 25 3d 30 3a 42 72 6f |enu:Pause%=0:Bro| 00000820 77 6e 25 3d 30 3a 42 6f 75 6e 63 65 25 3d 30 3a |wn%=0:Bounce%=0:| 00000830 54 75 6e 65 25 3d 31 3a 53 25 3d 31 0d 01 f4 20 |Tune%=1:S%=1... | 00000840 e7 20 66 25 3d 34 20 f2 6f 6e 6f 66 66 28 34 29 |. f%=4 .onoff(4)| 00000850 3a 53 25 3d 28 53 25 2b 31 29 83 32 0d 01 fe 24 |:S%=(S%+1).2...$| 00000860 e7 20 66 25 3d 33 20 f2 6f 6e 6f 66 66 28 33 29 |. f%=3 .onoff(3)| 00000870 3a f2 73 61 76 65 3a f2 6f 6e 6f 66 66 28 33 29 |:.save:.onoff(3)| 00000880 0d 02 08 1a e7 20 66 25 3d 32 20 f2 6f 6e 6f 66 |..... f%=2 .onof| 00000890 66 28 32 29 3a f2 6c 6f 61 64 0d 02 12 0f e7 20 |f(2):.load..... | 000008a0 66 25 3d 31 20 f2 65 6e 64 0d 02 1c 05 e1 0d 02 |f%=1 .end.......| 000008b0 26 05 3a 0d 02 30 0c dd 20 f2 70 61 6e 65 6c 0d |&.:..0.. .panel.| 000008c0 02 3a 08 ea 20 79 25 0d 02 44 0e e6 20 34 20 c8 |.:.. y%..D.. 4 .| 000008d0 9c 20 31 39 36 0d 02 4e 19 c8 93 20 c8 90 20 31 |. 196..N... .. 1| 000008e0 30 32 34 2c 30 2c 32 35 35 2c 31 30 32 33 0d 02 |024,0,255,1023..| 000008f0 58 05 f5 0d 02 62 0c e6 20 34 20 c8 9c 20 30 0d |X....b.. 4 .. 0.| 00000900 02 6c 1b c8 93 20 c8 90 20 31 30 32 34 2c 79 25 |.l... .. 1024,y%| 00000910 2a 39 36 2c 32 35 35 2c 34 37 0d 02 76 0d e6 20 |*96,255,47..v.. | 00000920 34 20 c8 9c 20 36 34 0d 02 80 10 ec 20 31 30 32 |4 .. 64..... 102| 00000930 34 2c 79 25 2a 39 36 0d 02 8a 13 ec 20 31 30 32 |4,y%*96..... 102| 00000940 34 2c 79 25 2a 39 36 2b 39 35 0d 02 94 0f f0 20 |4,y%*96+95..... | 00000950 38 31 2c 34 37 2c 2d 34 38 0d 02 9e 10 ec 20 31 |81,47,-48..... 1| 00000960 32 37 39 2c 79 25 2a 39 36 0d 02 a8 13 ec 20 31 |279,y%*96..... 1| 00000970 32 37 39 2c 79 25 2a 39 36 2b 39 35 0d 02 b2 10 |279,y%*96+95....| 00000980 f0 20 38 31 2c 2d 34 38 2c 2d 34 38 0d 02 bc 09 |. 81,-48,-48....| 00000990 79 25 2b 3d 31 0d 02 c6 0b fd 20 79 25 3d 31 30 |y%+=1..... y%=10| 000009a0 0d 02 d0 05 e1 0d 02 da 05 3a 0d 02 e4 0f dd 20 |.........:..... | 000009b0 f2 6d 65 6e 75 28 6d 24 29 0d 02 ee 17 ea 20 70 |.menu(m$)..... p| 000009c0 25 2c 79 25 3a 70 25 3d a7 6d 24 2c 22 2c 22 29 |%,y%:p%=.m$,",")| 000009d0 0d 02 f8 0e e6 20 34 20 c8 9c 20 31 32 38 0d 03 |..... 4 .. 128..| 000009e0 02 05 f5 0d 03 0c 1e c8 93 20 c8 90 20 31 30 34 |......... .. 104| 000009f0 30 2c 79 25 2a 39 36 2b 31 36 2c 32 32 33 2c 36 |0,y%*96+16,223,6| 00000a00 33 0d 03 16 09 79 25 2b 3d 31 0d 03 20 0b fd 20 |3....y%+=1.. .. | 00000a10 79 25 3d 31 30 0d 03 2a 19 c8 93 20 c8 90 20 31 |y%=10..*... .. 1| 00000a20 30 32 34 2c 39 36 30 2c 32 35 35 2c 36 33 0d 03 |024,960,255,63..| 00000a30 34 08 79 25 3d 33 0d 03 3e 1c fb 20 31 33 32 20 |4.y%=3..>.. 132 | 00000a40 c8 9c 20 31 32 38 3a fb 20 31 35 20 c8 9c 20 31 |.. 128:. 15 .. 1| 00000a50 32 38 0d 03 48 14 f1 8a 36 36 2c 30 29 c0 6d 24 |28..H...66,0).m$| 00000a60 2c 70 25 2d 31 29 0d 03 52 12 6d 24 3d c2 6d 24 |,p%-1)..R.m$=.m$| 00000a70 2c a9 6d 24 2d 70 25 29 0d 03 5c 05 f5 0d 03 66 |,.m$-p%)..\....f| 00000a80 0f 70 25 3d a7 6d 24 2c 22 2c 22 29 0d 03 70 15 |.p%=.m$,",")..p.| 00000a90 f1 8a 36 36 2c 79 25 29 c0 6d 24 2c 70 25 2d 31 |..66,y%).m$,p%-1| 00000aa0 29 0d 03 7a 12 6d 24 3d c2 6d 24 2c a9 6d 24 2d |)..z.m$=.m$,.m$-| 00000ab0 70 25 29 0d 03 84 09 79 25 2b 3d 33 0d 03 8e 0b |p%)....y%+=3....| 00000ac0 fd 20 6d 24 3d 22 22 0d 03 98 05 e1 0d 03 a2 05 |. m$="".........| 00000ad0 3a 0d 03 ac 10 dd 20 f2 6f 6e 6f 66 66 28 73 25 |:..... .onoff(s%| 00000ae0 29 0d 03 b6 08 e6 34 2c 31 0d 03 c0 1e c8 93 20 |).....4,1...... | 00000af0 c8 90 20 31 30 34 38 2c 73 25 2a 39 36 2d 37 32 |.. 1048,s%*96-72| 00000b00 2c 32 30 37 2c 34 37 0d 03 ca 05 e1 0d 03 d4 05 |,207,47.........| 00000b10 3a 0d 03 de 09 dd 20 f2 6d 6a 0d 03 e8 21 4d 25 |:..... .mj...!M%| 00000b20 3d 31 3a f5 20 4c 3d 71 2f 4d 25 3a 48 25 3d 31 |=1:. L=q/M%:H%=1| 00000b30 30 32 34 2f 4d 25 3a 4a 25 3d 30 0d 03 f2 0a f5 |024/M%:J%=0.....| 00000b40 20 4b 25 3d 30 0d 03 fc 05 f5 0d 04 06 15 e7 20 | K%=0.......... | 00000b50 4b 25 83 32 20 84 20 4a 25 83 32 20 f2 70 74 0d |K%.2 . J%.2 .pt.| 00000b60 04 10 21 f5 20 f2 66 75 6e 63 74 69 6f 6e 3a fd |..!. .function:.| 00000b70 20 73 74 6f 70 25 3d 30 3a 4b 25 3d 4b 25 2b 31 | stop%=0:K%=K%+1| 00000b80 0d 04 1a 12 fd 4b 25 3d 4d 25 3a 4a 25 3d 4a 25 |.....K%=M%:J%=J%| 00000b90 2b 31 0d 04 24 12 fd 4a 25 3d 4d 25 3a 4d 25 3d |+1..$..J%=M%:M%=| 00000ba0 4d 25 2a 32 0d 04 2e 14 fd 20 46 25 3c 39 20 84 |M%*2..... F%<9 .| 00000bb0 20 4d 25 3d 31 30 32 34 0d 04 38 1c e7 20 4d 25 | M%=1024..8.. M%| 00000bc0 3d 31 30 32 34 20 46 25 3d 30 3a f2 6f 6e 6f 66 |=1024 F%=0:.onof| 00000bd0 66 28 30 29 0d 04 42 05 e1 0d 04 4c 05 3a 0d 04 |f(0)..B....L.:..| 00000be0 56 08 dd f2 70 74 0d 04 60 39 ea 20 78 2c 79 2c |V...pt..`9. x,y,| 00000bf0 78 32 2c 79 32 3a 78 3d 6a 2b 4c 2a 4a 25 3a 79 |x2,y2:x=j+L*J%:y| 00000c00 3d 6b 2b 4c 2a 4b 25 3a e7 20 46 25 3d 31 30 20 |=k+L*K%:. F%=10 | 00000c10 72 3d 78 3a 69 3d 79 3a 78 3d 30 3a 79 3d 30 0d |r=x:i=y:x=0:y=0.| 00000c20 04 6a 09 4e 25 3d 2d 31 0d 04 74 42 f5 3a 78 32 |.j.N%=-1..tB.:x2| 00000c30 3d 78 2a 78 3a 79 32 3d 79 2a 79 3a 79 3d 32 2a |=x*x:y2=y*y:y=2*| 00000c40 78 2a 79 2b 69 3a 78 3d 78 32 2d 79 32 2b 72 3a |x*y+i:x=x2-y2+r:| 00000c50 4e 25 3d 4e 25 2b 31 3a fd 4e 25 3d 32 35 35 20 |N%=N%+1:.N%=255 | 00000c60 84 20 78 32 2b 79 32 3e 3d 34 0d 04 7e 21 4e 25 |. x2+y2>=4..~!N%| 00000c70 3d 32 35 35 2d 4e 25 3a e6 20 4e 25 81 34 20 c8 |=255-N%:. N%.4 .| 00000c80 9c 20 28 4e 25 83 34 29 2a 36 34 0d 04 88 33 58 |. (N%.4)*64...3X| 00000c90 25 3d 4a 25 2a 48 25 3a 59 25 3d 4b 25 2a 48 25 |%=J%*H%:Y%=K%*H%| 00000ca0 3a ec 20 58 25 2c 59 25 3a f0 20 26 36 35 2c 58 |:. X%,Y%:. &65,X| 00000cb0 25 2b 48 25 2d 32 2c 59 25 2b 48 25 2d 34 0d 04 |%+H%-2,Y%+H%-4..| 00000cc0 92 16 e7 20 53 25 20 f2 73 6f 75 6e 64 28 4e 25 |... S% .sound(N%| 00000cd0 83 31 37 29 0d 04 9c 05 e1 0d 04 a6 05 3a 0d 04 |.17).........:..| 00000ce0 b0 0b dd f2 72 65 73 65 74 0d 04 ba 17 ea 20 6a |....reset..... j| 00000cf0 31 2c 6b 31 2c 71 31 2c 78 25 2c 79 25 2c 7a 25 |1,k1,q1,x%,y%,z%| 00000d00 0d 04 c4 21 ef 32 34 2c 30 3b 30 3b 31 30 32 33 |...!.24,0;0;1023| 00000d10 3b 31 30 32 33 3b 3a 2a 50 4f 49 4e 54 45 52 20 |;1023;:*POINTER | 00000d20 30 0d 04 ce 32 78 25 3d 33 38 34 3a 79 25 3d 33 |0...2x%=384:y%=3| 00000d30 38 34 3a 7a 25 3d 32 35 36 3a 6a 31 3d 6a 3a 6b |84:z%=256:j1=j:k| 00000d40 31 3d 6b 3a 71 31 3d 71 3a c8 97 20 b8 20 78 25 |1=k:q1=q:.. . x%| 00000d50 2c 79 25 0d 04 d8 0b f2 73 71 75 61 72 65 0d 04 |,y%.....square..| 00000d60 e2 05 f5 0d 04 ec 30 6a 3d 6a 31 2b 71 31 2a 78 |......0j=j1+q1*x| 00000d70 25 2f 31 30 32 34 3a 6b 3d 6b 31 2b 71 31 2a 79 |%/1024:k=k1+q1*y| 00000d80 25 2f 31 30 32 34 3a 71 3d 71 31 2a 7a 25 2f 31 |%/1024:q=q1*z%/1| 00000d90 30 32 34 0d 04 f6 0b f2 73 71 75 61 72 65 0d 05 |024.....square..| 00000da0 00 14 c8 97 20 78 25 2c 79 25 2c 62 75 74 74 6f |.... x%,y%,butto| 00000db0 6e 25 0d 05 0a 15 e7 20 62 75 74 74 6f 6e 25 3d |n%..... button%=| 00000dc0 31 20 7a 25 2b 3d 31 0d 05 14 23 e7 20 62 75 74 |1 z%+=1...#. but| 00000dd0 74 6f 6e 25 3d 32 20 7a 25 2d 3d 31 3a e7 20 7a |ton%=2 z%-=1:. z| 00000de0 25 3c 31 36 20 7a 25 3d 31 36 0d 05 1e 0b f2 73 |%<16 z%=16.....s| 00000df0 71 75 61 72 65 0d 05 28 0f fd 20 62 75 74 74 6f |quare..(.. butto| 00000e00 6e 25 3d 34 0d 05 32 22 f5 20 c8 97 20 78 25 2c |n%=4..2". .. x%,| 00000e10 79 25 2c 62 75 74 74 6f 6e 25 3a fd 20 62 75 74 |y%,button%:. but| 00000e20 74 6f 6e 25 3d 30 0d 05 3c 2b f2 73 71 75 61 72 |ton%=0..<+.squar| 00000e30 65 3a 4d 25 3d 31 3a 4b 25 3d 2d 31 3a 4a 25 3d |e:M%=1:K%=-1:J%=| 00000e40 2d 31 3a da 3a ef 32 36 3a 2a 50 4f 49 4e 54 45 |-1:.:.26:*POINTE| 00000e50 52 0d 05 46 05 e1 0d 05 50 05 3a 0d 05 5a 0f dd |R..F....P.:..Z..| 00000e60 20 f2 6a 75 6c 69 61 73 65 74 0d 05 64 18 ea 20 | .juliaset..d.. | 00000e70 78 25 2c 79 25 3a c8 97 20 b8 20 35 31 32 2c 35 |x%,y%:.. . 512,5| 00000e80 31 32 0d 05 6e 21 ef 32 34 2c 30 3b 30 3b 31 30 |12..n!.24,0;0;10| 00000e90 32 33 3b 31 30 32 33 3b 3a 2a 50 4f 49 4e 54 45 |23;1023;:*POINTE| 00000ea0 52 20 30 0d 05 78 05 f5 0d 05 82 14 c8 97 20 78 |R 0..x........ x| 00000eb0 25 2c 79 25 2c 62 75 74 74 6f 6e 25 0d 05 8c 12 |%,y%,button%....| 00000ec0 f2 63 75 72 73 6f 72 28 78 25 2c 79 25 29 0d 05 |.cursor(x%,y%)..| 00000ed0 96 1f 72 3d 6a 2b 71 2a 78 25 2f 31 30 32 34 3a |..r=j+q*x%/1024:| 00000ee0 69 3d 6b 2b 71 2a 79 25 2f 31 30 32 34 0d 05 a0 |i=k+q*y%/1024...| 00000ef0 12 f2 63 75 72 73 6f 72 28 78 25 2c 79 25 29 0d |..cursor(x%,y%).| 00000f00 05 aa 2f fd 20 62 75 74 74 6f 6e 25 3d 34 3a 4d |../. button%=4:M| 00000f10 25 3d 31 3a 4b 25 3d 2d 31 3a 4a 25 3d 2d 31 3a |%=1:K%=-1:J%=-1:| 00000f20 da 3a ef 32 36 3a 2a 50 4f 49 4e 54 45 52 0d 05 |.:.26:*POINTER..| 00000f30 b4 22 f5 20 c8 97 20 78 25 2c 79 25 2c 62 75 74 |.". .. x%,y%,but| 00000f40 74 6f 6e 25 3a fd 20 62 75 74 74 6f 6e 25 3d 30 |ton%:. button%=0| 00000f50 0d 05 be 05 e1 0d 05 c8 05 3a 0d 05 d2 13 dd f2 |.........:......| 00000f60 63 75 72 73 6f 72 28 78 25 2c 79 25 29 0d 05 dc |cursor(x%,y%)...| 00000f70 1b ec 78 25 2d 31 36 2c 79 25 3a f0 26 30 36 2c |..x%-16,y%:.&06,| 00000f80 78 25 2b 31 36 2c 79 25 0d 05 e6 1b ec 78 25 2c |x%+16,y%.....x%,| 00000f90 79 25 2d 31 36 3a f0 26 30 36 2c 78 25 2c 79 25 |y%-16:.&06,x%,y%| 00000fa0 2b 31 36 0d 05 f0 05 e1 0d 05 fa 05 3a 0d 06 04 |+16.........:...| 00000fb0 0c dd f2 73 71 75 61 72 65 0d 06 0e 42 ec 78 25 |...square...B.x%| 00000fc0 2c 79 25 3a f0 26 30 36 2c 78 25 2b 7a 25 2c 79 |,y%:.&06,x%+z%,y| 00000fd0 25 3a f0 26 30 36 2c 78 25 2b 7a 25 2c 79 25 2b |%:.&06,x%+z%,y%+| 00000fe0 7a 25 3a f0 26 30 36 2c 78 25 2c 79 25 2b 7a 25 |z%:.&06,x%,y%+z%| 00000ff0 3a f0 26 30 36 2c 78 25 2c 79 25 0d 06 18 05 e1 |:.&06,x%,y%.....| 00001000 0d 06 22 05 3a 0d 06 2c 09 dd f2 65 6e 64 0d 06 |..".:..,...end..| 00001010 36 06 eb 33 0d 06 40 0a 2a 46 58 34 2c 30 0d 06 |6..3..@.*FX4,0..| 00001020 4a 05 e0 0d 06 54 05 e1 0d 06 5e 05 3a 0d 06 68 |J....T....^.:..h| 00001030 0a dd f2 73 61 76 65 0d 06 72 12 ea 20 69 6e 24 |...save..r.. in$| 00001040 2c 54 24 2c 66 69 6c 65 25 0d 06 7c 1a fb 20 31 |,T$,file%..|.. 1| 00001050 38 37 20 c8 9c 20 36 34 3a fb 20 34 38 20 c8 9c |87 .. 64:. 48 ..| 00001060 20 36 34 0d 06 86 18 f1 8a 36 36 2c 32 34 29 22 | 64......66,24)"| 00001070 46 69 6c 65 20 3f 22 3b 3a ef 38 0d 06 90 96 f5 |File ?";:.8.....| 00001080 20 69 6e 25 3d a5 3a e7 20 28 69 6e 25 3d 38 20 | in%=.:. (in%=8 | 00001090 84 20 69 6e 25 3d 31 32 37 29 20 80 20 a9 28 54 |. in%=127) . .(T| 000010a0 24 29 3e 30 20 54 24 3d c0 54 24 2c a9 28 54 24 |$)>0 T$=.T$,.(T$| 000010b0 29 2d 31 29 3a ef 31 32 37 20 8b 20 e7 20 28 69 |)-1):.127 . . (i| 000010c0 6e 25 3e 34 37 20 80 20 69 6e 25 3c 35 38 29 20 |n%>47 . in%<58) | 000010d0 84 20 28 69 6e 25 3e 36 34 20 80 20 69 6e 25 3c |. (in%>64 . in%<| 000010e0 39 31 29 20 84 20 28 69 6e 25 3e 39 36 20 80 20 |91) . (in%>96 . | 000010f0 69 6e 25 3c 31 32 33 29 20 69 6e 24 3d bd 69 6e |in%<123) in$=.in| 00001100 25 3a f1 69 6e 24 3b 3a 54 24 3d 54 24 2b 69 6e |%:.in$;:T$=T$+in| 00001110 24 0d 06 9a 16 fd 20 a9 28 54 24 29 3d 37 20 84 |$..... .(T$)=7 .| 00001120 20 69 6e 25 3d 31 33 0d 06 a4 55 63 68 65 63 6b | in%=13...Ucheck| 00001130 25 3d 8e 28 22 53 63 72 65 65 6e 73 2e 22 2b 54 |%=.("Screens."+T| 00001140 24 29 3a e7 20 63 68 65 63 6b 25 3e 30 20 f1 8a |$):. check%>0 ..| 00001150 36 36 2c 32 34 29 22 4f 76 65 72 77 72 69 74 65 |66,24)"Overwrite| 00001160 3f 20 20 22 3a d9 23 30 3a e7 20 a7 22 79 59 22 |? ":.#0:. ."yY"| 00001170 2c be 29 3d 30 20 e5 20 8d 64 60 46 0d 06 ae 1f |,.)=0 . .d`F....| 00001180 ff 28 22 53 63 72 65 65 6e 53 61 76 65 20 53 63 |.("ScreenSave Sc| 00001190 72 65 65 6e 73 2e 22 2b 54 24 29 0d 06 b8 11 e7 |reens."+T$).....| 000011a0 20 46 25 3d 38 20 e5 20 8d 64 60 46 0d 06 c2 1a | F%=8 . .d`F....| 000011b0 66 69 6c 65 25 3d ae 28 22 4d 62 74 44 61 74 61 |file%=.("MbtData| 000011c0 2e 22 2b 54 24 29 0d 06 cc 26 f1 23 66 69 6c 65 |."+T$)...&.#file| 000011d0 25 2c 6a 2c 6b 2c 71 2c 72 2c 69 2c 4a 25 2c 4b |%,j,k,q,r,i,J%,K| 000011e0 25 2c 4c 2c 4d 25 2c 48 25 2c 46 25 0d 06 d6 0b |%,L,M%,H%,F%....| 000011f0 d9 23 66 69 6c 65 25 0d 06 e0 1a f1 8a 36 36 2c |.#file%......66,| 00001200 32 34 29 22 53 61 76 65 20 20 20 20 20 20 20 20 |24)"Save | 00001210 22 0d 06 ea 05 e1 0d 06 f4 05 3a 0d 06 fe 0a dd |".........:.....| 00001220 f2 6c 6f 61 64 0d 07 08 16 ea 20 69 6e 25 2c 69 |.load..... in%,i| 00001230 6e 24 2c 54 24 2c 66 69 6c 65 25 0d 07 12 1a fb |n$,T$,file%.....| 00001240 20 31 38 37 20 c8 9c 20 36 34 3a fb 20 34 38 20 | 187 .. 64:. 48 | 00001250 c8 9c 20 36 34 0d 07 1c 18 f1 8a 36 36 2c 32 37 |.. 64......66,27| 00001260 29 22 46 69 6c 65 20 3f 22 3b 3a ef 38 0d 07 26 |)"File ?";:.8..&| 00001270 96 f5 20 69 6e 25 3d a5 3a e7 20 28 69 6e 25 3d |.. in%=.:. (in%=| 00001280 38 20 84 20 69 6e 25 3d 31 32 37 29 20 80 20 a9 |8 . in%=127) . .| 00001290 28 54 24 29 3e 30 20 54 24 3d c0 54 24 2c a9 28 |(T$)>0 T$=.T$,.(| 000012a0 54 24 29 2d 31 29 3a ef 31 32 37 20 8b 20 e7 20 |T$)-1):.127 . . | 000012b0 28 69 6e 25 3e 34 37 20 80 20 69 6e 25 3c 35 38 |(in%>47 . in%<58| 000012c0 29 20 84 20 28 69 6e 25 3e 36 34 20 80 20 69 6e |) . (in%>64 . in| 000012d0 25 3c 39 31 29 20 84 20 28 69 6e 25 3e 39 36 20 |%<91) . (in%>96 | 000012e0 80 20 69 6e 25 3c 31 32 33 29 20 69 6e 24 3d bd |. in%<123) in$=.| 000012f0 69 6e 25 3a f1 69 6e 24 3b 3a 54 24 3d 54 24 2b |in%:.in$;:T$=T$+| 00001300 69 6e 24 0d 07 30 16 fd 20 a9 28 54 24 29 3d 37 |in$..0.. .(T$)=7| 00001310 20 84 20 69 6e 25 3d 31 33 0d 07 3a 1a 66 69 6c | . in%=13..:.fil| 00001320 65 25 3d 8e 28 22 53 63 72 65 65 6e 73 2e 22 2b |e%=.("Screens."+| 00001330 54 24 29 0d 07 44 0f e7 20 66 69 6c 65 25 3d 30 |T$)..D.. file%=0| 00001340 20 8c 0d 07 4e 1a f1 8a 36 36 2c 32 37 29 22 52 | ...N...66,27)"R| 00001350 65 74 72 79 3f 20 20 20 20 20 20 22 0d 07 58 17 |etry? "..X.| 00001360 e7 20 a7 22 79 59 22 2c be 29 3d 30 20 e5 20 8d |. ."yY",.)=0 . .| 00001370 74 72 47 0d 07 62 09 54 24 3d 22 22 0d 07 6c 05 |trG..b.T$=""..l.| 00001380 cd 0d 07 76 12 e7 20 54 24 3d 22 22 3a e5 20 8d |...v.. T$="":. .| 00001390 54 5c 47 0d 07 80 27 d9 23 66 69 6c 65 25 3a ff |T\G...'.#file%:.| 000013a0 28 22 53 63 72 65 65 6e 4c 6f 61 64 20 53 63 72 |("ScreenLoad Scr| 000013b0 65 65 6e 73 2e 22 2b 54 24 29 0d 07 8a 1a 66 69 |eens."+T$)....fi| 000013c0 6c 65 25 3d 8e 28 22 4d 62 74 44 61 74 61 2e 22 |le%=.("MbtData."| 000013d0 2b 54 24 29 0d 07 94 19 e7 20 66 69 6c 65 25 3d |+T$)..... file%=| 000013e0 30 20 46 25 3d 30 3a e5 20 8d 74 72 47 0d 07 9e |0 F%=0:. .trG...| 000013f0 26 e8 23 66 69 6c 65 25 2c 6a 2c 6b 2c 71 2c 72 |&.#file%,j,k,q,r| 00001400 2c 69 2c 4a 25 2c 4b 25 2c 4c 2c 4d 25 2c 48 25 |,i,J%,K%,L,M%,H%| 00001410 2c 46 25 0d 07 a8 0b d9 23 66 69 6c 65 25 0d 07 |,F%.....#file%..| 00001420 b2 12 f2 70 6d 65 6e 75 3a 73 74 6f 70 25 3d 31 |...pmenu:stop%=1| 00001430 0d 07 bc 05 e1 0d 07 c6 05 3a 0d 07 d0 0d dd 20 |.........:..... | 00001440 f2 62 6f 6d 65 6e 75 0d 07 da 92 f2 6d 65 6e 75 |.bomenu.....menu| 00001450 28 22 42 4f 55 4e 43 45 52 2c 2d 20 6c 69 6e 65 |("BOUNCER,- line| 00001460 73 20 20 20 20 2b 2c 2d 20 78 31 20 20 20 20 20 |s +,- x1 | 00001470 20 20 2b 2c 2d 20 79 31 20 20 20 20 20 20 20 2b | +,- y1 +| 00001480 2c 2d 20 78 32 20 20 20 20 20 20 20 2b 2c 2d 20 |,- x2 +,- | 00001490 79 32 20 20 20 20 20 20 20 2b 2c 73 65 71 75 20 |y2 +,sequ | 000014a0 63 6f 6c 6f 75 72 2c 72 6e 64 6d 20 63 6f 6c 6f |colour,rndm colo| 000014b0 75 72 2c 6f 6e 65 20 20 63 6f 6c 6f 75 72 2c 62 |ur,one colour,b| 000014c0 61 63 6b 67 72 6f 75 6e 64 2c 2d 20 73 70 65 65 |ackground,- spee| 000014d0 64 20 20 20 20 2b 2c 22 29 0d 07 e4 53 f1 8a 37 |d +,")...S..7| 000014e0 34 2c 33 29 3b 6c 62 25 2d 31 3b 8a 37 34 2c 36 |4,3);lb%-1;.74,6| 000014f0 29 3b 94 69 78 31 25 3b 8a 37 34 2c 39 29 3b 94 |);.ix1%;.74,9);.| 00001500 69 79 31 25 3b 8a 37 34 2c 31 32 29 3b 94 69 78 |iy1%;.74,12);.ix| 00001510 32 25 3b 8a 37 34 2c 31 35 29 3b 94 69 79 32 25 |2%;.74,15);.iy2%| 00001520 3b 8a 37 34 2c 33 30 29 3b 54 25 3b 0d 07 ee 13 |;.74,30);T%;....| 00001530 f2 6f 6e 6f 66 66 28 63 6f 6c 6f 75 72 25 29 0d |.onoff(colour%).| 00001540 07 f8 05 e1 0d 08 02 05 3a 0d 08 0c 14 dd 20 f2 |........:..... .| 00001550 62 6f 75 6e 63 65 28 62 25 2c 63 25 29 0d 08 16 |bounce(b%,c%)...| 00001560 25 e7 20 62 25 3d 31 33 20 42 6f 75 6e 63 65 25 |%. b%=13 Bounce%| 00001570 3d 30 3a 50 61 75 73 65 25 3d 31 3a f2 70 6d 65 |=0:Pause%=1:.pme| 00001580 6e 75 0d 08 20 28 e7 20 62 25 3d 31 30 20 80 20 |nu.. (. b%=10 . | 00001590 63 25 3d 30 20 6c 62 25 2d 3d 31 30 3a e7 20 6c |c%=0 lb%-=10:. l| 000015a0 62 25 3c 32 20 6c 62 25 3d 32 0d 08 2a 2c e7 20 |b%<2 lb%=2..*,. | 000015b0 62 25 3d 31 30 20 80 20 63 25 3d 31 20 6c 62 25 |b%=10 . c%=1 lb%| 000015c0 2b 3d 31 30 3a e7 20 6c 62 25 3e 31 30 30 20 6c |+=10:. lb%>100 l| 000015d0 62 25 3d 31 30 30 0d 08 34 28 e7 20 62 25 3d 39 |b%=100..4(. b%=9| 000015e0 20 80 20 63 25 3d 30 20 69 78 31 25 3d b4 28 69 | . c%=0 ix1%=.(i| 000015f0 78 31 25 29 2a 28 94 69 78 31 25 2d 31 29 0d 08 |x1%)*(.ix1%-1)..| 00001600 3e 38 e7 20 62 25 3d 39 20 80 20 63 25 3d 31 20 |>8. b%=9 . c%=1 | 00001610 69 78 31 25 3d b4 28 69 78 31 25 29 2a 28 94 69 |ix1%=.(ix1%)*(.i| 00001620 78 31 25 2b 31 29 3a e7 20 69 78 31 25 3d 30 20 |x1%+1):. ix1%=0 | 00001630 69 78 31 25 3d 31 0d 08 48 28 e7 20 62 25 3d 38 |ix1%=1..H(. b%=8| 00001640 20 80 20 63 25 3d 30 20 69 79 31 25 3d b4 28 69 | . c%=0 iy1%=.(i| 00001650 79 31 25 29 2a 28 94 69 79 31 25 2d 31 29 0d 08 |y1%)*(.iy1%-1)..| 00001660 52 38 e7 20 62 25 3d 38 20 80 20 63 25 3d 31 20 |R8. b%=8 . c%=1 | 00001670 69 79 31 25 3d b4 28 69 79 31 25 29 2a 28 94 69 |iy1%=.(iy1%)*(.i| 00001680 79 31 25 2b 31 29 3a e7 20 69 79 31 25 3d 30 20 |y1%+1):. iy1%=0 | 00001690 69 79 31 25 3d 31 0d 08 5c 28 e7 20 62 25 3d 37 |iy1%=1..\(. b%=7| 000016a0 20 80 20 63 25 3d 30 20 69 78 32 25 3d b4 28 69 | . c%=0 ix2%=.(i| 000016b0 78 32 25 29 2a 28 94 69 78 32 25 2d 31 29 0d 08 |x2%)*(.ix2%-1)..| 000016c0 66 38 e7 20 62 25 3d 37 20 80 20 63 25 3d 31 20 |f8. b%=7 . c%=1 | 000016d0 69 78 32 25 3d b4 28 69 78 32 25 29 2a 28 94 69 |ix2%=.(ix2%)*(.i| 000016e0 78 32 25 2b 31 29 3a e7 20 69 78 32 25 3d 30 20 |x2%+1):. ix2%=0 | 000016f0 69 78 32 25 3d 31 0d 08 70 28 e7 20 62 25 3d 36 |ix2%=1..p(. b%=6| 00001700 20 80 20 63 25 3d 30 20 69 79 32 25 3d b4 28 69 | . c%=0 iy2%=.(i| 00001710 79 32 25 29 2a 28 94 69 79 32 25 2d 31 29 0d 08 |y2%)*(.iy2%-1)..| 00001720 7a 38 e7 20 62 25 3d 36 20 80 20 63 25 3d 31 20 |z8. b%=6 . c%=1 | 00001730 69 79 32 25 3d b4 28 69 79 32 25 29 2a 28 94 69 |iy2%=.(iy2%)*(.i| 00001740 79 32 25 2b 31 29 3a e7 20 69 79 32 25 3d 30 20 |y2%+1):. iy2%=0 | 00001750 69 79 32 25 3d 31 0d 08 84 3c e7 20 62 25 3c 36 |iy2%=1...<. b%<6| 00001760 20 80 20 62 25 3e 32 20 f2 6f 6e 6f 66 66 28 63 | . b%>2 .onoff(c| 00001770 6f 6c 6f 75 72 25 29 3a 63 6f 6c 6f 75 72 25 3d |olour%):colour%=| 00001780 62 25 3a f2 6f 6e 6f 66 66 28 63 6f 6c 6f 75 72 |b%:.onoff(colour| 00001790 25 29 0d 08 8e 24 e7 20 62 25 3d 33 20 63 6f 6c |%)...$. b%=3 col| 000017a0 25 3d b3 28 36 34 29 2d 31 3a 74 69 6e 74 25 3d |%=.(64)-1:tint%=| 000017b0 b3 28 34 29 2d 31 0d 08 98 2e e7 20 62 25 3d 32 |.(4)-1..... b%=2| 000017c0 20 e6 20 33 2c b3 28 36 34 29 20 c8 9c 20 36 34 | . 3,.(64) .. 64| 000017d0 3a c8 93 20 c8 90 20 30 2c 30 2c 31 30 32 33 2c |:.. .. 0,0,1023,| 000017e0 31 30 32 33 0d 08 a2 1d e7 20 62 25 3d 31 20 80 |1023..... b%=1 .| 000017f0 20 63 25 3d 30 20 54 25 3d 54 25 2a 31 2e 34 31 | c%=0 T%=T%*1.41| 00001800 34 0d 08 ac 29 e7 20 62 25 3d 31 20 80 20 63 25 |4...). b%=1 . c%| 00001810 3d 31 20 54 25 3d 54 25 2a 30 2e 37 30 37 3a e7 |=1 T%=T%*0.707:.| 00001820 20 54 25 3c 34 20 54 25 3d 34 0d 08 b6 79 e7 20 | T%<4 T%=4...y. | 00001830 42 6f 75 6e 63 65 25 20 f1 8a 37 34 2c 33 29 3b |Bounce% ..74,3);| 00001840 6c 62 25 2d 31 3b 22 20 22 8a 37 34 2c 36 29 3b |lb%-1;" ".74,6);| 00001850 94 69 78 31 25 3b 22 20 22 8a 37 34 2c 39 29 3b |.ix1%;" ".74,9);| 00001860 94 69 79 31 25 3b 22 20 22 8a 37 34 2c 31 32 29 |.iy1%;" ".74,12)| 00001870 3b 94 69 78 32 25 3b 22 20 22 8a 37 34 2c 31 35 |;.ix2%;" ".74,15| 00001880 29 3b 94 69 79 32 25 3b 22 20 22 8a 37 34 2c 33 |);.iy2%;" ".74,3| 00001890 30 29 3b 54 25 3b 89 28 33 2d a9 28 c3 28 54 25 |0);T%;.(3-.(.(T%| 000018a0 29 29 29 0d 08 c0 05 e1 0d 08 ca 05 3a 0d 08 d4 |))).........:...| 000018b0 0e dd 20 f2 62 6f 75 6e 63 65 72 0d 08 de 0f ea |.. .bouncer.....| 000018c0 20 70 25 2c 71 25 2c 72 74 25 0d 08 e8 68 78 31 | p%,q%,rt%...hx1| 000018d0 25 28 30 29 3d b3 28 32 35 36 29 2a 34 3a 79 31 |%(0)=.(256)*4:y1| 000018e0 25 28 30 29 3d b3 28 32 35 36 29 2a 34 3a 78 32 |%(0)=.(256)*4:x2| 000018f0 25 28 30 29 3d b3 28 32 35 36 29 2a 34 3a 79 32 |%(0)=.(256)*4:y2| 00001900 25 28 30 29 3d b3 28 32 35 36 29 2a 34 3a 63 6f |%(0)=.(256)*4:co| 00001910 6c 25 28 30 29 3d b3 28 36 34 29 2d 31 3a 74 69 |l%(0)=.(64)-1:ti| 00001920 6e 74 25 28 30 29 3d 36 34 2a 28 b3 28 34 29 2d |nt%(0)=64*(.(4)-| 00001930 31 29 0d 08 f2 05 f5 0d 08 fc 16 ef 32 34 2c 30 |1)..........24,0| 00001940 3b 30 3b 31 30 32 33 3b 31 30 32 33 3b 0d 09 06 |;0;1023;1023;...| 00001950 1d e6 20 33 2c 63 6f 6c 25 28 70 25 29 20 c8 9c |.. 3,col%(p%) ..| 00001960 20 74 69 6e 74 25 28 70 25 29 0d 09 10 27 ec 20 | tint%(p%)...'. | 00001970 78 31 25 28 70 25 29 2c 79 31 25 28 70 25 29 3a |x1%(p%),y1%(p%):| 00001980 df 20 78 32 25 28 70 25 29 2c 79 32 25 28 70 25 |. x2%(p%),y2%(p%| 00001990 29 0d 09 1a 11 71 25 3d 28 70 25 2b 31 29 83 6c |)....q%=(p%+1).l| 000019a0 62 25 0d 09 24 12 e7 20 72 74 25 3e 3d 6c 62 25 |b%..$.. rt%>=lb%| 000019b0 2d 31 20 8c 0d 09 2e 1d e6 20 33 2c 63 6f 6c 25 |-1 ...... 3,col%| 000019c0 28 71 25 29 20 c8 9c 20 74 69 6e 74 25 28 71 25 |(q%) .. tint%(q%| 000019d0 29 0d 09 38 27 ec 20 78 31 25 28 71 25 29 2c 79 |)..8'. x1%(q%),y| 000019e0 31 25 28 71 25 29 3a df 20 78 32 25 28 71 25 29 |1%(q%):. x2%(q%)| 000019f0 2c 79 32 25 28 71 25 29 0d 09 42 05 cc 0d 09 4c |,y2%(q%)..B....L| 00001a00 0a 72 74 25 2b 3d 31 0d 09 56 05 cd 0d 09 60 1a |.rt%+=1..V....`.| 00001a10 78 31 25 28 71 25 29 3d 78 31 25 28 70 25 29 2b |x1%(q%)=x1%(p%)+| 00001a20 69 78 31 25 2a 34 0d 09 6a 1a 79 31 25 28 71 25 |ix1%*4..j.y1%(q%| 00001a30 29 3d 79 31 25 28 70 25 29 2b 69 79 31 25 2a 34 |)=y1%(p%)+iy1%*4| 00001a40 0d 09 74 1a 78 32 25 28 71 25 29 3d 78 32 25 28 |..t.x2%(q%)=x2%(| 00001a50 70 25 29 2b 69 78 32 25 2a 34 0d 09 7e 1a 79 32 |p%)+ix2%*4..~.y2| 00001a60 25 28 71 25 29 3d 79 32 25 28 70 25 29 2b 69 79 |%(q%)=y2%(p%)+iy| 00001a70 32 25 2a 34 0d 09 88 2b e7 20 78 31 25 28 71 25 |2%*4...+. x1%(q%| 00001a80 29 3c 3d 30 20 84 20 78 31 25 28 71 25 29 3e 3d |)<=0 . x1%(q%)>=| 00001a90 31 30 32 34 20 69 78 31 25 3d 2d 69 78 31 25 0d |1024 ix1%=-ix1%.| 00001aa0 09 92 2b e7 20 79 31 25 28 71 25 29 3c 3d 30 20 |..+. y1%(q%)<=0 | 00001ab0 84 20 79 31 25 28 71 25 29 3e 3d 31 30 32 34 20 |. y1%(q%)>=1024 | 00001ac0 69 79 31 25 3d 2d 69 79 31 25 0d 09 9c 2b e7 20 |iy1%=-iy1%...+. | 00001ad0 78 32 25 28 71 25 29 3c 3d 30 20 84 20 78 32 25 |x2%(q%)<=0 . x2%| 00001ae0 28 71 25 29 3e 3d 31 30 32 34 20 69 78 32 25 3d |(q%)>=1024 ix2%=| 00001af0 2d 69 78 32 25 0d 09 a6 2b e7 20 79 32 25 28 71 |-ix2%...+. y2%(q| 00001b00 25 29 3c 3d 30 20 84 20 79 32 25 28 71 25 29 3e |%)<=0 . y2%(q%)>| 00001b10 3d 31 30 32 34 20 69 79 32 25 3d 2d 69 79 32 25 |=1024 iy2%=-iy2%| 00001b20 0d 09 b0 1a e7 20 63 6f 6c 6f 75 72 25 3d 35 20 |..... colour%=5 | 00001b30 80 20 b3 28 34 29 3d 31 20 8c 0d 09 ba 15 74 69 |. .(4)=1 .....ti| 00001b40 6e 74 25 3d 28 74 69 6e 74 25 2b 31 29 83 34 0d |nt%=(tint%+1).4.| 00001b50 09 c4 1e e7 20 74 69 6e 74 25 3d 30 20 63 6f 6c |.... tint%=0 col| 00001b60 25 3d 28 63 6f 6c 25 2b 31 29 83 36 34 0d 09 ce |%=(col%+1).64...| 00001b70 05 cd 0d 09 d8 1b e7 20 63 6f 6c 6f 75 72 25 3d |....... colour%=| 00001b80 34 20 80 20 b3 28 31 30 29 3d 31 20 8c 0d 09 e2 |4 . .(10)=1 ....| 00001b90 1d 74 69 6e 74 25 3d b3 28 34 29 2d 31 3a 63 6f |.tint%=.(4)-1:co| 00001ba0 6c 25 3d b3 28 36 34 29 2d 31 0d 09 ec 05 cd 0d |l%=.(64)-1......| 00001bb0 09 f6 24 63 6f 6c 25 28 71 25 29 3d 63 6f 6c 25 |..$col%(q%)=col%| 00001bc0 3a 74 69 6e 74 25 28 71 25 29 3d 74 69 6e 74 25 |:tint%(q%)=tint%| 00001bd0 2a 36 34 0d 0a 00 09 70 25 3d 71 25 0d 0a 0a 1d |*64....p%=q%....| 00001be0 ef 32 36 3a f5 20 f2 66 75 6e 63 74 69 6f 6e 3a |.26:. .function:| 00001bf0 fd 20 73 74 6f 70 25 3d 30 0d 0a 14 11 f5 20 fd |. stop%=0..... .| 00001c00 20 91 3e 3d 54 25 3a d1 3d 30 0d 0a 1e 35 e7 20 | .>=T%:.=0...5. | 00001c10 53 25 20 f2 73 6f 75 6e 64 28 28 78 31 25 28 70 |S% .sound((x1%(p| 00001c20 25 29 2b 79 31 25 28 70 25 29 2b 78 32 25 28 70 |%)+y1%(p%)+x2%(p| 00001c30 25 29 2b 79 32 25 28 70 25 29 29 83 31 37 29 0d |%)+y2%(p%)).17).| 00001c40 0a 28 0b fd 20 46 25 3c 3e 37 0d 0a 32 05 e1 0d |.(.. F%<>7..2...| 00001c50 0a 3c 05 3a 0d 0a 46 0c dd 20 f2 62 6d 65 6e 75 |.<.:..F.. .bmenu| 00001c60 0d 0a 50 68 f2 6d 65 6e 75 28 22 42 52 4f 57 4e |..Ph.menu("BROWN| 00001c70 49 41 4e 2c 63 6c 65 61 72 2c 64 6f 74 2c 6c 69 |IAN,clear,dot,li| 00001c80 6e 65 2c 74 72 69 61 6e 67 6c 65 2c 72 65 63 74 |ne,triangle,rect| 00001c90 61 6e 67 6c 65 2c 63 69 72 63 6c 65 2c 63 6f 6c |angle,circle,col| 00001ca0 6f 75 72 73 2c 6a 6f 69 6e 65 64 2c 2d 20 73 69 |ours,joined,- si| 00001cb0 7a 65 20 20 20 20 20 2b 2c 2d 20 73 70 65 65 64 |ze +,- speed| 00001cc0 20 20 20 20 2b 2c 22 29 0d 0a 5a 1e f1 8a 37 34 | +,")..Z...74| 00001cd0 2c 32 37 29 3b 62 72 25 81 38 3b 8a 37 34 2c 33 |,27);br%.8;.74,3| 00001ce0 30 29 3b 54 25 3b 0d 0a 64 2a f2 6f 6e 6f 66 66 |0);T%;..d*.onoff| 00001cf0 28 42 25 29 3a f2 6f 6e 6f 66 66 28 62 73 25 2a |(B%):.onoff(bs%*| 00001d00 34 29 3a f2 6f 6e 6f 66 66 28 62 6a 25 2a 33 29 |4):.onoff(bj%*3)| 00001d10 0d 0a 6e 05 e1 0d 0a 78 05 3a 0d 0a 82 13 dd 20 |..n....x.:..... | 00001d20 f2 62 72 6f 77 6e 28 62 25 2c 63 25 29 0d 0a 8c |.brown(b%,c%)...| 00001d30 24 e7 20 62 25 3d 31 33 20 42 72 6f 77 6e 25 3d |$. b%=13 Brown%=| 00001d40 30 3a 50 61 75 73 65 25 3d 31 3a f2 70 6d 65 6e |0:Pause%=1:.pmen| 00001d50 75 0d 0a 96 24 e7 20 62 25 3d 31 30 20 ef 32 34 |u...$. b%=10 .24| 00001d60 2c 30 3b 30 3b 31 30 32 33 3b 31 30 32 33 3b 3a |,0;0;1023;1023;:| 00001d70 da 3a ef 32 36 0d 0a a0 14 e7 20 62 25 3d 39 20 |.:.26..... b%=9 | 00001d80 70 6c 6f 74 25 3d 26 34 35 0d 0a aa 12 e7 20 62 |plot%=&45..... b| 00001d90 25 3d 38 20 70 6c 6f 74 25 3d 35 0d 0a b4 14 e7 |%=8 plot%=5.....| 00001da0 20 62 25 3d 37 20 70 6c 6f 74 25 3d 26 35 35 0d | b%=7 plot%=&55.| 00001db0 0a be 14 e7 20 62 25 3d 36 20 70 6c 6f 74 25 3d |.... b%=6 plot%=| 00001dc0 26 36 35 0d 0a c8 14 e7 20 62 25 3d 35 20 70 6c |&65..... b%=5 pl| 00001dd0 6f 74 25 3d 26 39 44 0d 0a d2 2e e7 20 62 25 3e |ot%=&9D..... b%>| 00001de0 34 20 80 20 62 25 3c 31 30 20 f2 6f 6e 6f 66 66 |4 . b%<10 .onoff| 00001df0 28 42 25 29 3a 42 25 3d 62 25 3a f2 6f 6e 6f 66 |(B%):B%=b%:.onof| 00001e00 66 28 42 25 29 0d 0a dc 22 e7 20 62 25 3d 34 20 |f(B%)...". b%=4 | 00001e10 62 73 25 3d 28 62 73 25 2b 31 29 83 32 3a f2 6f |bs%=(bs%+1).2:.o| 00001e20 6e 6f 66 66 28 34 29 0d 0a e6 22 e7 20 62 25 3d |noff(4)...". b%=| 00001e30 33 20 62 6a 25 3d 28 62 6a 25 2b 31 29 83 32 3a |3 bj%=(bj%+1).2:| 00001e40 f2 6f 6e 6f 66 66 28 33 29 0d 0a f0 29 e7 20 62 |.onoff(3)...). b| 00001e50 25 3d 32 20 80 20 63 25 3d 30 20 62 72 25 3d 62 |%=2 . c%=0 br%=b| 00001e60 72 25 81 32 3a e7 20 62 72 25 3c 38 20 62 72 25 |r%.2:. br%<8 br%| 00001e70 3d 38 0d 0a fa 2f e7 20 62 25 3d 32 20 80 20 63 |=8.../. b%=2 . c| 00001e80 25 3d 31 20 62 72 25 3d 62 72 25 2a 32 3a e7 20 |%=1 br%=br%*2:. | 00001e90 62 72 25 3e 31 30 32 34 20 62 72 25 3d 31 30 32 |br%>1024 br%=102| 00001ea0 34 0d 0b 04 1d e7 20 62 25 3d 31 20 80 20 63 25 |4..... b%=1 . c%| 00001eb0 3d 30 20 54 25 3d 54 25 2a 31 2e 34 31 34 0d 0b |=0 T%=T%*1.414..| 00001ec0 0e 29 e7 20 62 25 3d 31 20 80 20 63 25 3d 31 20 |.). b%=1 . c%=1 | 00001ed0 54 25 3d 54 25 2a 30 2e 37 30 37 3a e7 20 54 25 |T%=T%*0.707:. T%| 00001ee0 3c 34 20 54 25 3d 34 0d 0b 18 44 e7 20 42 72 6f |<4 T%=4...D. Bro| 00001ef0 77 6e 25 20 f1 8a 37 34 2c 32 37 29 3b 62 72 25 |wn% ..74,27);br%| 00001f00 81 38 3b 89 28 33 2d a9 28 c3 28 62 72 25 81 38 |.8;.(3-.(.(br%.8| 00001f10 29 29 29 8a 37 34 2c 33 30 29 3b 54 25 3b 89 28 |))).74,30);T%;.(| 00001f20 33 2d a9 28 c3 28 54 25 29 29 29 0d 0b 22 05 e1 |3-.(.(T%))).."..| 00001f30 0d 0b 2c 05 3a 0d 0b 36 0f dd 20 f2 62 72 6f 77 |..,.:..6.. .brow| 00001f40 6e 69 61 6e 0d 0b 40 16 ef 32 34 2c 30 3b 30 3b |nian..@..24,0;0;| 00001f50 31 30 32 33 3b 31 30 32 33 3b 0d 0b 4a 30 e7 20 |1023;1023;..J0. | 00001f60 62 6a 25 20 ec 20 58 25 2c 59 25 20 8b 20 58 25 |bj% . X%,Y% . X%| 00001f70 3d b3 28 31 30 32 34 29 3a 59 25 3d b3 28 31 30 |=.(1024):Y%=.(10| 00001f80 32 34 29 3a ec 58 25 2c 59 25 0d 0b 54 3d 3a e7 |24):.X%,Y%..T=:.| 00001f90 20 70 6c 6f 74 25 3d 26 35 35 20 58 25 3d 58 25 | plot%=&55 X%=X%| 00001fa0 2b b3 28 62 72 25 29 2d 62 72 25 81 32 3a 59 25 |+.(br%)-br%.2:Y%| 00001fb0 3d 59 25 2b b3 28 62 72 25 29 2d 62 72 25 81 32 |=Y%+.(br%)-br%.2| 00001fc0 3a ec 58 25 2c 59 25 0d 0b 5e 05 f5 0d 0b 68 17 |:.X%,Y%..^....h.| 00001fd0 e7 20 62 73 25 3d 31 20 4e 25 3d 4e 25 83 32 35 |. bs%=1 N%=N%.25| 00001fe0 35 2b 31 0d 0b 72 15 e7 20 62 73 25 3d 30 20 4e |5+1..r.. bs%=0 N| 00001ff0 25 3d b3 28 32 35 35 29 0d 0b 7c 16 58 25 3d 58 |%=.(255)..|.X%=X| 00002000 25 2b b3 28 62 72 25 29 2d 62 72 25 81 32 0d 0b |%+.(br%)-br%.2..| 00002010 86 15 e7 20 58 25 3e 31 30 32 33 20 58 25 3d 31 |... X%>1023 X%=1| 00002020 30 32 33 0d 0b 90 0f e7 20 58 25 3c 30 20 58 25 |023..... X%<0 X%| 00002030 3d 30 0d 0b 9a 16 59 25 3d 59 25 2b b3 28 62 72 |=0....Y%=Y%+.(br| 00002040 25 29 2d 62 72 25 81 32 0d 0b a4 15 e7 20 59 25 |%)-br%.2..... Y%| 00002050 3e 31 30 32 33 20 59 25 3d 31 30 32 33 0d 0b ae |>1023 Y%=1023...| 00002060 0f e7 20 59 25 3c 30 20 59 25 3d 30 0d 0b b8 10 |.. Y%<0 Y%=0....| 00002070 f5 20 fd 20 91 3e 54 25 3a d1 3d 30 0d 0b c2 38 |. . .>T%:.=0...8| 00002080 e6 20 4e 25 81 34 20 c8 9c 20 28 4e 25 83 34 29 |. N%.4 .. (N%.4)| 00002090 2a 36 34 3a f0 20 70 6c 6f 74 25 2c 58 25 2c 59 |*64:. plot%,X%,Y| 000020a0 25 3a e7 20 53 25 20 f2 73 6f 75 6e 64 28 4e 25 |%:. S% .sound(N%| 000020b0 83 31 37 29 0d 0b cc 07 ef 32 36 0d 0b d6 19 f5 |.17).....26.....| 000020c0 20 f2 66 75 6e 63 74 69 6f 6e 3a fd 20 73 74 6f | .function:. sto| 000020d0 70 25 3d 30 0d 0b e0 0c fd 20 46 25 3c 3e 32 36 |p%=0..... F%<>26| 000020e0 0d 0b ea 05 e1 0d 0b f4 05 3a 0d 0b fe 0c dd 20 |.........:..... | 000020f0 f2 74 6d 65 6e 75 0d 0c 08 5e f2 6d 65 6e 75 28 |.tmenu...^.menu(| 00002100 22 4d 55 53 49 43 2c 6b 65 79 62 6f 61 72 64 2c |"MUSIC,keyboard,| 00002110 61 75 74 6f 70 6c 61 79 2c 6b 65 79 2c 74 72 61 |autoplay,key,tra| 00002120 6e 73 70 6f 73 65 2c 69 6e 74 65 72 76 61 6c 2c |nspose,interval,| 00002130 72 65 73 74 73 2c 6e 6f 74 65 73 2c 69 6e 73 74 |rests,notes,inst| 00002140 72 75 6d 65 6e 74 2c 73 63 61 6c 65 2c 73 65 65 |rument,scale,see| 00002150 64 2c 22 29 0d 0c 12 24 f2 6f 6e 6f 66 66 28 6b |d,")...$.onoff(k| 00002160 79 62 64 25 2a 31 30 29 3a f2 6f 6e 6f 66 66 28 |ybd%*10):.onoff(| 00002170 61 75 74 6f 25 2a 39 29 0d 0c 1c 05 e1 0d 0c 26 |auto%*9).......&| 00002180 05 3a 0d 0c 30 0b dd 20 f2 61 75 74 6f 0d 0c 3a |.:..0.. .auto..:| 00002190 0e ea 20 6b 25 2c 6a 25 2c 68 25 0d 0c 44 11 e7 |.. k%,j%,h%..D..| 000021a0 20 46 25 3c 39 20 4d 25 3d 32 35 36 0d 0c 4e 1a | F%<9 M%=256..N.| 000021b0 fb 20 31 38 37 20 c8 9c 20 36 34 3a fb 20 34 38 |. 187 .. 64:. 48| 000021c0 20 c8 9c 20 36 34 0d 0c 58 0f 6b 65 79 62 6f 61 | .. 64..X.keyboa| 000021d0 72 64 25 3d 30 0d 0c 62 15 f5 20 68 25 3d 31 30 |rd%=0..b.. h%=10| 000021e0 32 34 2f 4d 25 3a 6a 25 3d 30 0d 0c 6c 0a f5 20 |24/M%:j%=0..l.. | 000021f0 6b 25 3d 30 0d 0c 76 31 f5 20 58 25 3d 6a 25 2a |k%=0..v1. X%=j%*| 00002200 68 25 3a 59 25 3d 6b 25 2a 68 25 3a 4e 25 3d b0 |h%:Y%=k%*h%:N%=.| 00002210 58 25 2c 59 25 29 2a 34 2b c8 9c 28 58 25 2c 59 |X%,Y%)*4+..(X%,Y| 00002220 25 29 81 36 34 0d 0c 80 12 f2 63 75 72 73 6f 72 |%).64.....cursor| 00002230 28 58 25 2c 59 25 29 0d 0c 8a 15 e7 20 57 25 20 |(X%,Y%)..... W% | 00002240 f5 20 fd 20 91 3e 54 25 3a d1 3d 30 0d 0c 94 11 |. . .>T%:.=0....| 00002250 f2 73 6f 75 6e 64 28 4e 25 83 31 36 29 0d 0c 9e |.sound(N%.16)...| 00002260 21 f5 20 f2 66 75 6e 63 74 69 6f 6e 3a fd 20 73 |!. .function:. s| 00002270 74 6f 70 25 3d 30 3a 6b 25 3d 6b 25 2b 31 0d 0c |top%=0:k%=k%+1..| 00002280 a8 12 f2 63 75 72 73 6f 72 28 58 25 2c 59 25 29 |...cursor(X%,Y%)| 00002290 0d 0c b2 1d fd 20 6b 25 3d 4d 25 20 84 20 61 75 |..... k%=M% . au| 000022a0 74 6f 25 3d 30 3a 6a 25 3d 6a 25 2b 31 0d 0c bc |to%=0:j%=j%+1...| 000022b0 15 fd 20 6a 25 3d 4d 25 20 84 20 61 75 74 6f 25 |.. j%=M% . auto%| 000022c0 3d 30 0d 0c c6 0d fd 20 61 75 74 6f 25 3d 30 0d |=0..... auto%=0.| 000022d0 0c d0 05 e1 0d 0c da 05 3a 0d 0c e4 13 dd 20 f2 |........:..... .| 000022e0 6d 75 73 69 63 28 6d 25 2c 6e 25 29 0d 0c ee 17 |music(m%,n%)....| 000022f0 e7 20 54 75 6e 65 25 20 f2 74 75 6e 65 28 6d 25 |. Tune% .tune(m%| 00002300 29 3a e1 0d 0c f8 13 e7 20 4b 65 79 25 20 f2 6b |):...... Key% .k| 00002310 65 79 28 6d 25 29 0d 0d 02 15 e7 20 54 72 61 6e |ey(m%)..... Tran| 00002320 25 20 f2 74 72 61 6e 28 6d 25 29 0d 0d 0c 13 e7 |% .tran(m%).....| 00002330 20 49 6e 74 25 20 f2 69 6e 74 28 6d 25 29 0d 0d | Int% .int(m%)..| 00002340 16 15 e7 20 52 65 73 74 25 20 f2 72 65 73 74 28 |... Rest% .rest(| 00002350 6d 25 29 0d 0d 20 18 e7 20 4e 6f 74 65 25 20 f2 |m%).. .. Note% .| 00002360 6e 6f 74 65 28 6d 25 2c 6e 25 29 0d 0d 2a 15 e7 |note(m%,n%)..*..| 00002370 20 49 6e 73 74 25 20 f2 69 6e 73 74 28 6d 25 29 | Inst% .inst(m%)| 00002380 0d 0d 34 16 e7 20 53 63 6c 65 25 20 f2 73 63 61 |..4.. Scle% .sca| 00002390 6c 65 28 6d 25 29 0d 0d 3e 05 e1 0d 0d 48 05 3a |le(m%)..>....H.:| 000023a0 0d 0d 52 0f dd 20 f2 74 75 6e 65 28 74 25 29 0d |..R.. .tune(t%).| 000023b0 0d 5c 2c e7 20 74 25 3d 31 33 20 80 20 46 25 3d |.\,. t%=13 . F%=| 000023c0 38 20 54 75 6e 65 25 3d 30 3a 42 72 6f 77 6e 25 |8 Tune%=0:Brown%| 000023d0 3d 31 3a f2 62 6d 65 6e 75 3a e1 0d 0d 66 2e e7 |=1:.bmenu:...f..| 000023e0 20 74 25 3d 31 33 20 80 20 46 25 3d 37 20 54 75 | t%=13 . F%=7 Tu| 000023f0 6e 65 25 3d 30 3a 42 6f 75 6e 63 65 25 3d 31 3a |ne%=0:Bounce%=1:| 00002400 f2 62 6f 6d 65 6e 75 3a e1 0d 0d 70 35 e7 20 74 |.bomenu:...p5. t| 00002410 25 3d 31 33 20 80 20 28 46 25 3e 38 20 84 20 46 |%=13 . (F%>8 . F| 00002420 25 3d 30 29 20 54 75 6e 65 25 3d 30 3a 50 61 75 |%=0) Tune%=0:Pau| 00002430 73 65 25 3d 31 3a f2 70 6d 65 6e 75 3a e1 0d 0d |se%=1:.pmenu:...| 00002440 7a 4d e7 20 74 25 3d 31 30 20 80 20 6b 79 62 64 |zM. t%=10 . kybd| 00002450 25 3d 30 20 6b 79 62 64 25 3d 31 3a f2 6f 6e 6f |%=0 kybd%=1:.ono| 00002460 66 66 28 31 30 29 3a f2 6b 79 62 64 20 8b 20 e7 |ff(10):.kybd . .| 00002470 20 6b 79 62 64 25 3d 31 20 6b 79 62 64 25 3d 30 | kybd%=1 kybd%=0| 00002480 3a f2 6f 6e 6f 66 66 28 31 30 29 0d 0d 84 51 e7 |:.onoff(10)...Q.| 00002490 20 74 25 3d 39 20 80 20 61 75 74 6f 25 3d 30 20 | t%=9 . auto%=0 | 000024a0 61 75 74 6f 25 3d 31 3a f2 6f 6e 6f 66 66 28 39 |auto%=1:.onoff(9| 000024b0 29 3a f2 61 75 74 6f 20 8b 20 e7 20 74 25 3d 39 |):.auto . . t%=9| 000024c0 20 80 20 61 75 74 6f 25 3d 31 20 61 75 74 6f 25 | . auto%=1 auto%| 000024d0 3d 30 3a f2 6f 6e 6f 66 66 28 39 29 0d 0d 8e 68 |=0:.onoff(9)...h| 000024e0 e7 20 74 25 3d 38 20 54 75 6e 65 25 3d 30 3a 4b |. t%=8 Tune%=0:K| 000024f0 65 79 25 3d 31 3a f2 6d 65 6e 75 28 22 4b 45 59 |ey%=1:.menu("KEY| 00002500 2c 41 2c 42 2c 43 2c 44 2c 45 2c 46 2c 47 2c 23 |,A,B,C,D,E,F,G,#| 00002510 2c 62 2c 22 29 3a f2 6f 6e 6f 66 66 28 6c 6b 65 |,b,"):.onoff(lke| 00002520 79 25 29 3a f2 6f 6e 6f 66 66 28 73 68 61 72 70 |y%):.onoff(sharp| 00002530 25 2a 33 29 3a f2 6f 6e 6f 66 66 28 66 6c 61 74 |%*3):.onoff(flat| 00002540 25 2a 32 29 0d 0d 98 9d e7 20 74 25 3d 37 20 54 |%*2)..... t%=7 T| 00002550 75 6e 65 25 3d 30 3a 54 72 61 6e 25 3d 31 3a f2 |une%=0:Tran%=1:.| 00002560 6d 65 6e 75 28 22 54 52 41 4e 53 50 4f 53 45 2c |menu("TRANSPOSE,| 00002570 6e 6f 6e 65 2c 75 70 2c 64 6f 77 6e 2c 72 61 6e |none,up,down,ran| 00002580 64 6f 6d 2c 2b 20 6f 63 74 61 76 65 73 2c 6f 63 |dom,+ octaves,oc| 00002590 74 61 76 65 20 31 2c 6f 63 74 61 76 65 20 32 2c |tave 1,octave 2,| 000025a0 6f 63 74 61 76 65 20 33 2c 6f 63 74 61 76 65 20 |octave 3,octave | 000025b0 34 2c 6f 63 74 61 76 65 20 35 2c 22 29 3a f2 6f |4,octave 5,"):.o| 000025c0 6e 6f 66 66 28 6c 74 72 61 6e 25 29 3a f2 6f 6e |noff(ltran%):.on| 000025d0 6f 66 66 28 36 2d 4f 63 74 25 81 26 31 30 30 30 |off(6-Oct%.&1000| 000025e0 29 0d 0d a2 92 e7 20 74 25 3d 36 20 54 75 6e 65 |)..... t%=6 Tune| 000025f0 25 3d 30 3a 49 6e 74 25 3d 31 3a f2 6d 65 6e 75 |%=0:Int%=1:.menu| 00002600 28 22 49 4e 54 45 52 56 41 4c 2c 6e 6f 6e 65 2c |("INTERVAL,none,| 00002610 6f 63 74 61 76 65 2c 73 65 63 6f 6e 64 2c 74 68 |octave,second,th| 00002620 69 72 64 2c 66 6f 75 72 74 68 2c 66 69 66 74 68 |ird,fourth,fifth| 00002630 2c 73 69 78 74 68 2c 73 65 76 65 6e 74 68 2c 23 |,sixth,seventh,#| 00002640 2c 62 2c 22 29 3a f2 6f 6e 6f 66 66 28 6c 69 6e |,b,"):.onoff(lin| 00002650 74 25 29 3a f2 6f 6e 6f 66 66 28 73 68 69 6e 74 |t%):.onoff(shint| 00002660 25 2a 32 29 3a f2 6f 6e 6f 66 66 28 66 6c 69 6e |%*2):.onoff(flin| 00002670 74 25 29 0d 0d ac b2 e7 20 74 25 3d 35 20 54 75 |t%)..... t%=5 Tu| 00002680 6e 65 25 3d 30 3a 52 65 73 74 25 3d 31 3a f2 6d |ne%=0:Rest%=1:.m| 00002690 65 6e 75 28 22 52 45 53 54 53 2c 6e 6f 6e 65 2c |enu("RESTS,none,| 000026a0 73 74 72 75 63 74 75 72 65 64 2c 72 61 6e 64 6f |structured,rando| 000026b0 6d 2c 32 6e 64 20 6f 72 20 31 69 6e 32 2c 33 72 |m,2nd or 1in2,3r| 000026c0 64 20 6f 72 20 31 69 6e 33 2c 34 74 68 20 6f 72 |d or 1in3,4th or| 000026d0 20 31 69 6e 34 2c 35 74 68 20 6f 72 20 31 69 6e | 1in4,5th or 1in| 000026e0 35 2c 36 74 68 20 6f 72 20 31 69 6e 36 2c 37 74 |5,6th or 1in6,7t| 000026f0 68 20 6f 72 20 31 69 6e 37 2c 38 74 68 20 6f 72 |h or 1in7,8th or| 00002700 20 31 69 6e 38 2c 22 29 3a f2 6f 6e 6f 66 66 28 | 1in8,"):.onoff(| 00002710 6c 73 74 72 25 29 3a f2 6f 6e 6f 66 66 28 6c 72 |lstr%):.onoff(lr| 00002720 65 73 74 25 29 0d 0d b6 0c e7 20 74 25 3d 34 20 |est%)..... t%=4 | 00002730 8c 0d 0d c0 99 54 75 6e 65 25 3d 30 3a 4e 6f 74 |.....Tune%=0:Not| 00002740 65 25 3d 32 3a f2 6d 65 6e 75 28 22 4e 4f 54 45 |e%=2:.menu("NOTE| 00002750 53 2c 2d 20 76 6f 6c 75 6d 65 20 20 20 2b 2c 66 |S,- volume +,f| 00002760 69 78 65 64 20 76 6f 6c 75 6d 65 2c 66 72 65 65 |ixed volume,free| 00002770 20 76 6f 6c 75 6d 65 2c 73 75 73 74 61 69 6e 2c | volume,sustain,| 00002780 2d 20 74 65 6d 70 6f 20 20 20 20 2b 2c 66 69 78 |- tempo +,fix| 00002790 65 64 20 74 65 6d 70 6f 2c 66 72 65 65 20 74 65 |ed tempo,free te| 000027a0 6d 70 6f 2c 66 69 78 65 64 20 70 69 74 63 68 2c |mpo,fixed pitch,| 000027b0 66 72 65 65 20 70 69 74 63 68 2c 72 61 6e 64 6f |free pitch,rando| 000027c0 6d 20 70 69 74 63 68 2c 22 29 0d 0d ca 54 f1 8a |m pitch,")...T..| 000027d0 37 35 2c 33 29 3b 51 25 3b 8a 37 34 2c 31 35 29 |75,3);Q%;.74,15)| 000027e0 3b 54 25 3b 3a f2 6f 6e 6f 66 66 28 39 2d 57 25 |;T%;:.onoff(9-W%| 000027f0 29 3a f2 6f 6e 6f 66 66 28 44 25 81 32 35 35 2a |):.onoff(D%.255*| 00002800 37 29 3a f2 6f 6e 6f 66 66 28 54 65 6d 70 6f 25 |7):.onoff(Tempo%| 00002810 2b 34 29 3a f2 6f 6e 6f 66 66 28 56 25 29 0d 0d |+4):.onoff(V%)..| 00002820 d4 05 cd 0d 0d de a6 e7 20 74 25 3d 33 20 54 75 |........ t%=3 Tu| 00002830 6e 65 25 3d 30 3a 49 6e 73 74 25 3d 31 3a f2 6d |ne%=0:Inst%=1:.m| 00002840 65 6e 75 28 22 49 4e 53 54 52 55 4d 45 4e 54 2c |enu("INSTRUMENT,| 00002850 4f 72 63 68 65 73 74 72 61 2c 53 6f 6c 6f 20 22 |Orchestra,Solo "| 00002860 2b c3 28 76 6f 69 63 65 25 29 2b 22 2c 53 74 65 |+.(voice%)+",Ste| 00002870 72 65 6f 2c 4d 6f 6e 6f 2c 41 72 70 65 67 67 69 |reo,Mono,Arpeggi| 00002880 6f 2c 43 68 6f 72 64 73 2c 4d 69 78 65 64 2c 22 |o,Chords,Mixed,"| 00002890 29 3a f2 6f 6e 6f 66 66 28 4f 25 2b 39 29 3a f2 |):.onoff(O%+9):.| 000028a0 6f 6e 6f 66 66 28 73 74 65 72 65 6f 25 2b 37 29 |onoff(stereo%+7)| 000028b0 3a f2 6f 6e 6f 66 66 28 36 2d 43 68 6f 72 64 25 |:.onoff(6-Chord%| 000028c0 2d 52 61 6e 64 6f 6d 25 29 0d 0d e8 95 e7 20 74 |-Random%)..... t| 000028d0 25 3d 32 20 54 75 6e 65 25 3d 30 3a 53 63 6c 65 |%=2 Tune%=0:Scle| 000028e0 25 3d 31 3a f2 6d 65 6e 75 28 22 53 43 41 4c 45 |%=1:.menu("SCALE| 000028f0 2c 55 73 65 72 20 64 65 66 69 6e 65 64 2c 4d 61 |,User defined,Ma| 00002900 6a 6f 72 2c 44 69 6d 69 6e 69 73 68 65 64 2c 42 |jor,Diminished,B| 00002910 6c 75 65 73 2c 43 68 72 6f 6d 61 74 69 63 2c 57 |lues,Chromatic,W| 00002920 68 6f 6c 65 20 74 6f 6e 65 2c 44 6f 72 69 61 6e |hole tone,Dorian| 00002930 2c 41 65 6f 6c 69 61 6e 2c 48 61 72 6d 6f 6e 69 |,Aeolian,Harmoni| 00002940 63 2c 50 65 6e 74 61 74 6f 6e 69 63 2c 22 29 3a |c,Pentatonic,"):| 00002950 f2 6f 6e 6f 66 66 28 73 63 61 6c 65 25 29 0d 0d |.onoff(scale%)..| 00002960 f2 24 e7 20 74 25 3d 31 20 f2 6f 6e 6f 66 66 28 |.$. t%=1 .onoff(| 00002970 31 29 3a f2 73 65 65 64 3a f2 6f 6e 6f 66 66 28 |1):.seed:.onoff(| 00002980 31 29 0d 0d fc 05 e1 0d 0e 06 05 3a 0d 0e 10 0b |1).........:....| 00002990 dd 20 f2 6b 79 62 64 0d 0e 1a 0b 2a 46 58 31 35 |. .kybd....*FX15| 000029a0 2c 30 0d 0e 24 11 f5 20 6b 25 3d a5 3a 6b 24 3d |,0..$.. k%=.:k$=| 000029b0 bd 6b 25 0d 0e 2e 21 6e 6f 74 65 25 3d a7 6b 65 |.k%...!note%=.ke| 000029c0 79 31 24 2c 6b 24 29 2b a7 6b 65 79 32 24 2c 6b |y1$,k$)+.key2$,k| 000029d0 24 29 2d 31 0d 0e 38 27 e7 20 6b 25 3d 33 32 20 |$)-1..8'. k%=32 | 000029e0 6e 6f 74 65 25 3d b3 28 31 37 29 2d 31 3a f5 20 |note%=.(17)-1:. | 000029f0 fd 20 91 3e 3d 54 25 3a d1 3d 30 0d 0e 42 1c e7 |. .>=T%:.=0..B..| 00002a00 20 6e 6f 74 65 25 3e 2d 31 20 f2 73 6f 75 6e 64 | note%>-1 .sound| 00002a10 28 6e 6f 74 65 25 29 0d 0e 4c 1e fd 20 6b 25 3d |(note%)..L.. k%=| 00002a20 31 33 3a 6b 79 62 64 25 3d 30 3a f2 6f 6e 6f 66 |13:kybd%=0:.onof| 00002a30 66 28 31 30 29 0d 0e 56 05 e1 0d 0e 60 05 3a 0d |f(10)..V....`.:.| 00002a40 0e 6a 0b dd 20 f2 73 65 65 64 0d 0e 74 1a fb 20 |.j.. .seed..t.. | 00002a50 31 38 37 20 c8 9c 20 36 34 3a fb 20 34 38 20 c8 |187 .. 64:. 48 .| 00002a60 9c 20 36 34 0d 0e 7e 1a e8 8a 36 36 2c 33 30 29 |. 64..~...66,30)| 00002a70 22 56 61 6c 75 65 3f 20 22 73 65 65 64 25 0d 0e |"Value? "seed%..| 00002a80 88 2b e7 20 73 65 65 64 25 3d 30 20 73 65 65 64 |.+. seed%=0 seed| 00002a90 25 3d b3 28 2d 91 29 20 8b 20 73 65 65 64 25 3d |%=.(-.) . seed%=| 00002aa0 b3 28 2d 73 65 65 64 25 29 0d 0e 92 1a f1 8a 36 |.(-seed%)......6| 00002ab0 36 2c 33 30 29 22 73 65 65 64 20 20 20 20 20 20 |6,30)"seed | 00002ac0 20 20 22 0d 0e 9c 05 e1 0d 0e a6 05 3a 0d 0e b0 | ".........:...| 00002ad0 0e dd 20 f2 6b 65 79 28 6d 25 29 0d 0e ba 23 e7 |.. .key(m%)...#.| 00002ae0 20 6d 25 3d 31 33 20 4b 65 79 25 3d 30 3a 54 75 | m%=13 Key%=0:Tu| 00002af0 6e 65 25 3d 31 3a f2 74 6d 65 6e 75 3a e1 0d 0e |ne%=1:.tmenu:...| 00002b00 c4 12 e7 20 6d 25 3d 31 30 20 6b 65 79 25 3d 39 |... m%=10 key%=9| 00002b10 0d 0e ce 12 e7 20 6d 25 3d 39 20 6b 65 79 25 3d |..... m%=9 key%=| 00002b20 31 31 0d 0e d8 11 e7 20 6d 25 3d 38 20 6b 65 79 |11..... m%=8 key| 00002b30 25 3d 30 0d 0e e2 11 e7 20 6d 25 3d 37 20 6b 65 |%=0..... m%=7 ke| 00002b40 79 25 3d 32 0d 0e ec 11 e7 20 6d 25 3d 36 20 6b |y%=2..... m%=6 k| 00002b50 65 79 25 3d 34 0d 0e f6 11 e7 20 6d 25 3d 35 20 |ey%=4..... m%=5 | 00002b60 6b 65 79 25 3d 35 0d 0f 00 11 e7 20 6d 25 3d 34 |key%=5..... m%=4| 00002b70 20 6b 65 79 25 3d 37 0d 0f 0a 2f e7 20 6d 25 3e | key%=7.../. m%>| 00002b80 33 20 f2 6f 6e 6f 66 66 28 6c 6b 65 79 25 29 3a |3 .onoff(lkey%):| 00002b90 6c 6b 65 79 25 3d 6d 25 3a f2 6f 6e 6f 66 66 28 |lkey%=m%:.onoff(| 00002ba0 6c 6b 65 79 25 29 0d 0f 14 1a 6b 65 79 25 3d 6b |lkey%)....key%=k| 00002bb0 65 79 25 2d 73 68 61 72 70 25 2b 66 6c 61 74 25 |ey%-sharp%+flat%| 00002bc0 0d 0f 1e 44 e7 20 6d 25 3d 33 20 73 68 61 72 70 |...D. m%=3 sharp| 00002bd0 25 3d 28 73 68 61 72 70 25 2b 31 29 83 32 3a f2 |%=(sharp%+1).2:.| 00002be0 6f 6e 6f 66 66 28 33 29 3a e7 20 66 6c 61 74 25 |onoff(3):. flat%| 00002bf0 3d 31 20 66 6c 61 74 25 3d 30 3a f2 6f 6e 6f 66 |=1 flat%=0:.onof| 00002c00 66 28 32 29 0d 0f 28 44 e7 20 6d 25 3d 32 20 66 |f(2)..(D. m%=2 f| 00002c10 6c 61 74 25 3d 28 66 6c 61 74 25 2b 31 29 83 32 |lat%=(flat%+1).2| 00002c20 3a f2 6f 6e 6f 66 66 28 32 29 3a e7 20 73 68 61 |:.onoff(2):. sha| 00002c30 72 70 25 3d 31 20 73 68 61 72 70 25 3d 30 3a f2 |rp%=1 sharp%=0:.| 00002c40 6f 6e 6f 66 66 28 33 29 0d 0f 32 1a 6b 65 79 25 |onoff(3)..2.key%| 00002c50 3d 6b 65 79 25 2b 73 68 61 72 70 25 2d 66 6c 61 |=key%+sharp%-fla| 00002c60 74 25 0d 0f 3c 0e f2 69 6e 74 65 72 76 61 6c 73 |t%..<..intervals| 00002c70 0d 0f 46 05 e1 0d 0f 50 05 3a 0d 0f 5a 0f dd 20 |..F....P.:..Z.. | 00002c80 f2 74 72 61 6e 28 6d 25 29 0d 0f 64 24 e7 20 6d |.tran(m%)..d$. m| 00002c90 25 3d 31 33 20 54 72 61 6e 25 3d 30 3a 54 75 6e |%=13 Tran%=0:Tun| 00002ca0 65 25 3d 31 3a f2 74 6d 65 6e 75 3a e1 0d 0f 6e |e%=1:.tmenu:...n| 00002cb0 17 e7 20 6d 25 3d 31 30 20 49 25 3d 30 3a 69 6e |.. m%=10 I%=0:in| 00002cc0 74 25 3d 30 0d 0f 78 11 e7 20 6d 25 3d 39 20 44 |t%=0..x.. m%=9 D| 00002cd0 69 72 25 3d 31 0d 0f 82 12 e7 20 6d 25 3d 38 20 |ir%=1..... m%=8 | 00002ce0 44 69 72 25 3d 2d 31 0d 0f 8c 11 e7 20 6d 25 3d |Dir%=-1..... m%=| 00002cf0 37 20 44 69 72 25 3d 30 0d 0f 96 11 e7 20 6d 25 |7 Dir%=0..... m%| 00002d00 3d 36 20 44 69 72 25 3d 32 0d 0f a0 32 e7 20 6d |=6 Dir%=2...2. m| 00002d10 25 3e 35 20 f2 6f 6e 6f 66 66 28 6c 74 72 61 6e |%>5 .onoff(ltran| 00002d20 25 29 3a 6c 74 72 61 6e 25 3d 6d 25 3a f2 6f 6e |%):ltran%=m%:.on| 00002d30 6f 66 66 28 6c 74 72 61 6e 25 29 0d 0f aa 1f e7 |off(ltran%).....| 00002d40 20 6d 25 3c 36 20 f2 6f 6e 6f 66 66 28 36 2d 4f | m%<6 .onoff(6-O| 00002d50 63 74 25 81 26 31 30 30 30 29 0d 0f b4 15 e7 20 |ct%.&1000)..... | 00002d60 6d 25 3d 35 20 6f 63 74 25 3d 26 31 30 30 30 0d |m%=5 oct%=&1000.| 00002d70 0f be 15 e7 20 6d 25 3d 34 20 6f 63 74 25 3d 26 |.... m%=4 oct%=&| 00002d80 32 30 30 30 0d 0f c8 15 e7 20 6d 25 3d 33 20 6f |2000..... m%=3 o| 00002d90 63 74 25 3d 26 33 30 30 30 0d 0f d2 15 e7 20 6d |ct%=&3000..... m| 00002da0 25 3d 32 20 6f 63 74 25 3d 26 34 30 30 30 0d 0f |%=2 oct%=&4000..| 00002db0 dc 15 e7 20 6d 25 3d 31 20 6f 63 74 25 3d 26 35 |... m%=1 oct%=&5| 00002dc0 30 30 30 0d 0f e6 29 e7 20 6d 25 3c 36 20 4f 63 |000...). m%<6 Oc| 00002dd0 74 25 3d 6f 63 74 25 3a f2 6f 6e 6f 66 66 28 36 |t%=oct%:.onoff(6| 00002de0 2d 6f 63 74 25 81 26 31 30 30 30 29 0d 0f f0 05 |-oct%.&1000)....| 00002df0 e1 0d 0f fa 05 3a 0d 10 04 0e dd 20 f2 69 6e 74 |.....:..... .int| 00002e00 28 6d 25 29 0d 10 0e 23 e7 20 6d 25 3d 31 33 20 |(m%)...#. m%=13 | 00002e10 49 6e 74 25 3d 30 3a 54 75 6e 65 25 3d 31 3a f2 |Int%=0:Tune%=1:.| 00002e20 74 6d 65 6e 75 3a e1 0d 10 18 12 e7 20 6d 25 3d |tmenu:...... m%=| 00002e30 31 30 20 69 6e 74 25 3d 30 0d 10 22 12 e7 20 6d |10 int%=0..".. m| 00002e40 25 3d 39 20 69 6e 74 25 3d 31 32 0d 10 2c 11 e7 |%=9 int%=12..,..| 00002e50 20 6d 25 3d 38 20 69 6e 74 25 3d 32 0d 10 36 11 | m%=8 int%=2..6.| 00002e60 e7 20 6d 25 3d 37 20 69 6e 74 25 3d 34 0d 10 40 |. m%=7 int%=4..@| 00002e70 11 e7 20 6d 25 3d 36 20 69 6e 74 25 3d 35 0d 10 |.. m%=6 int%=5..| 00002e80 4a 11 e7 20 6d 25 3d 35 20 69 6e 74 25 3d 37 0d |J.. m%=5 int%=7.| 00002e90 10 54 11 e7 20 6d 25 3d 34 20 69 6e 74 25 3d 39 |.T.. m%=4 int%=9| 00002ea0 0d 10 5e 12 e7 20 6d 25 3d 33 20 69 6e 74 25 3d |..^.. m%=3 int%=| 00002eb0 31 31 0d 10 68 2f e7 20 6d 25 3e 32 20 f2 6f 6e |11..h/. m%>2 .on| 00002ec0 6f 66 66 28 6c 69 6e 74 25 29 3a 6c 69 6e 74 25 |off(lint%):lint%| 00002ed0 3d 6d 25 3a f2 6f 6e 6f 66 66 28 6c 69 6e 74 25 |=m%:.onoff(lint%| 00002ee0 29 0d 10 72 1b 69 6e 74 25 3d 69 6e 74 25 2d 73 |)..r.int%=int%-s| 00002ef0 68 69 6e 74 25 2b 66 6c 69 6e 74 25 0d 10 7c 46 |hint%+flint%..|F| 00002f00 e7 20 6d 25 3d 32 20 73 68 69 6e 74 25 3d 28 73 |. m%=2 shint%=(s| 00002f10 68 69 6e 74 25 2b 31 29 83 32 3a f2 6f 6e 6f 66 |hint%+1).2:.onof| 00002f20 66 28 32 29 3a e7 20 66 6c 69 6e 74 25 3d 31 20 |f(2):. flint%=1 | 00002f30 66 6c 69 6e 74 25 3d 30 3a f2 6f 6e 6f 66 66 28 |flint%=0:.onoff(| 00002f40 31 29 0d 10 86 46 e7 20 6d 25 3d 31 20 66 6c 69 |1)...F. m%=1 fli| 00002f50 6e 74 25 3d 28 66 6c 69 6e 74 25 2b 31 29 83 32 |nt%=(flint%+1).2| 00002f60 3a f2 6f 6e 6f 66 66 28 31 29 3a e7 20 73 68 69 |:.onoff(1):. shi| 00002f70 6e 74 25 3d 31 20 73 68 69 6e 74 25 3d 30 3a f2 |nt%=1 shint%=0:.| 00002f80 6f 6e 6f 66 66 28 32 29 0d 10 90 1b 69 6e 74 25 |onoff(2)....int%| 00002f90 3d 69 6e 74 25 2b 73 68 69 6e 74 25 2d 66 6c 69 |=int%+shint%-fli| 00002fa0 6e 74 25 0d 10 9a 05 e1 0d 10 a4 05 3a 0d 10 ae |nt%.........:...| 00002fb0 0f dd 20 f2 72 65 73 74 28 6d 25 29 0d 10 b8 24 |.. .rest(m%)...$| 00002fc0 e7 20 6d 25 3d 31 33 20 52 65 73 74 25 3d 30 3a |. m%=13 Rest%=0:| 00002fd0 54 75 6e 65 25 3d 31 3a f2 74 6d 65 6e 75 3a e1 |Tune%=1:.tmenu:.| 00002fe0 0d 10 c2 19 e7 20 6d 25 3d 31 30 20 73 74 72 25 |..... m%=10 str%| 00002ff0 3d 30 3a 72 64 6d 25 3d 30 0d 10 cc 11 e7 20 6d |=0:rdm%=0..... m| 00003000 25 3d 39 20 73 74 72 25 3d 31 0d 10 d6 11 e7 20 |%=9 str%=1..... | 00003010 6d 25 3d 38 20 72 64 6d 25 3d 31 0d 10 e0 2f e7 |m%=8 rdm%=1.../.| 00003020 20 6d 25 3e 37 20 f2 6f 6e 6f 66 66 28 6c 73 74 | m%>7 .onoff(lst| 00003030 72 25 29 3a 6c 73 74 72 25 3d 6d 25 3a f2 6f 6e |r%):lstr%=m%:.on| 00003040 6f 66 66 28 6c 73 74 72 25 29 0d 10 ea 3d e7 20 |off(lstr%)...=. | 00003050 6d 25 3c 38 20 72 65 73 74 25 3d 39 2d 6d 25 3a |m%<8 rest%=9-m%:| 00003060 f2 6f 6e 6f 66 66 28 6c 72 65 73 74 25 29 3a 6c |.onoff(lrest%):l| 00003070 72 65 73 74 25 3d 6d 25 3a f2 6f 6e 6f 66 66 28 |rest%=m%:.onoff(| 00003080 6c 72 65 73 74 25 29 0d 10 f4 05 e1 0d 10 fe 05 |lrest%).........| 00003090 3a 0d 11 08 12 dd 20 f2 6e 6f 74 65 28 6d 25 2c |:..... .note(m%,| 000030a0 6e 25 29 0d 11 12 24 e7 20 6d 25 3d 31 33 20 4e |n%)...$. m%=13 N| 000030b0 6f 74 65 25 3d 30 3a 54 75 6e 65 25 3d 31 3a f2 |ote%=0:Tune%=1:.| 000030c0 74 6d 65 6e 75 3a e1 0d 11 1c 24 e7 20 6d 25 3d |tmenu:....$. m%=| 000030d0 31 30 20 80 20 6e 25 3d 30 20 51 25 2d 3d 31 3a |10 . n%=0 Q%-=1:| 000030e0 e7 20 51 25 3c 30 20 51 25 3d 30 0d 11 26 26 e7 |. Q%<0 Q%=0..&&.| 000030f0 20 6d 25 3d 31 30 20 80 20 6e 25 3d 31 20 51 25 | m%=10 . n%=1 Q%| 00003100 2b 3d 31 3a e7 20 51 25 3e 31 35 20 51 25 3d 31 |+=1:. Q%>15 Q%=1| 00003110 35 0d 11 30 2a e7 20 6d 25 3d 39 20 80 20 57 25 |5..0*. m%=9 . W%| 00003120 3d 31 20 57 25 3d 30 3a f2 6f 6e 6f 66 66 28 38 |=1 W%=0:.onoff(8| 00003130 29 3a f2 6f 6e 6f 66 66 28 39 29 0d 11 3a 2a e7 |):.onoff(9)..:*.| 00003140 20 6d 25 3d 38 20 80 20 57 25 3d 30 20 57 25 3d | m%=8 . W%=0 W%=| 00003150 31 3a f2 6f 6e 6f 66 66 28 38 29 3a f2 6f 6e 6f |1:.onoff(8):.ono| 00003160 66 66 28 39 29 0d 11 44 3c e7 20 6d 25 3d 37 20 |ff(9)..D<. m%=7 | 00003170 80 20 44 25 3d 32 35 35 20 44 25 3d 32 3a f2 6f |. D%=255 D%=2:.o| 00003180 6e 6f 66 66 28 37 29 20 8b 20 e7 20 6d 25 3d 37 |noff(7) . . m%=7| 00003190 20 44 25 3d 32 35 35 3a f2 6f 6e 6f 66 66 28 37 | D%=255:.onoff(7| 000031a0 29 0d 11 4e 1d e7 20 6d 25 3d 36 20 80 20 6e 25 |)..N.. m%=6 . n%| 000031b0 3d 30 20 54 25 3d 54 25 2a 31 2e 34 31 34 0d 11 |=0 T%=T%*1.414..| 000031c0 58 29 e7 20 6d 25 3d 36 20 80 20 6e 25 3d 31 20 |X). m%=6 . n%=1 | 000031d0 54 25 3d 54 25 2a 30 2e 37 30 37 3a e7 20 54 25 |T%=T%*0.707:. T%| 000031e0 3c 34 20 54 25 3d 34 0d 11 62 32 e7 20 6d 25 3d |<4 T%=4..b2. m%=| 000031f0 35 20 80 20 54 65 6d 70 6f 25 3d 30 20 54 65 6d |5 . Tempo%=0 Tem| 00003200 70 6f 25 3d 31 3a f2 6f 6e 6f 66 66 28 34 29 3a |po%=1:.onoff(4):| 00003210 f2 6f 6e 6f 66 66 28 35 29 0d 11 6c 32 e7 20 6d |.onoff(5)..l2. m| 00003220 25 3d 34 20 80 20 54 65 6d 70 6f 25 3d 31 20 54 |%=4 . Tempo%=1 T| 00003230 65 6d 70 6f 25 3d 30 3a f2 6f 6e 6f 66 66 28 34 |empo%=0:.onoff(4| 00003240 29 3a f2 6f 6e 6f 66 66 28 35 29 0d 11 76 26 e7 |):.onoff(5)..v&.| 00003250 20 6d 25 3c 34 20 f2 6f 6e 6f 66 66 28 56 25 29 | m%<4 .onoff(V%)| 00003260 3a 56 25 3d 6d 25 3a f2 6f 6e 6f 66 66 28 56 25 |:V%=m%:.onoff(V%| 00003270 29 0d 11 80 34 f1 8a 37 35 2c 33 29 3b 51 25 3b |)...4..75,3);Q%;| 00003280 89 28 32 2d a9 28 c3 28 51 25 29 29 29 8a 37 34 |.(2-.(.(Q%))).74| 00003290 2c 31 35 29 3b 54 25 3b 89 28 33 2d a9 28 c3 28 |,15);T%;.(3-.(.(| 000032a0 54 25 29 29 29 0d 11 8a 05 e1 0d 11 94 05 3a 0d |T%))).........:.| 000032b0 11 9e 0f dd 20 f2 69 6e 73 74 28 6d 25 29 0d 11 |.... .inst(m%)..| 000032c0 a8 24 e7 20 6d 25 3d 31 33 20 49 6e 73 74 25 3d |.$. m%=13 Inst%=| 000032d0 30 3a 54 75 6e 65 25 3d 31 3a f2 74 6d 65 6e 75 |0:Tune%=1:.tmenu| 000032e0 3a e1 0d 11 b2 32 e7 20 6d 25 3d 31 30 20 80 20 |:....2. m%=10 . | 000032f0 4f 25 3d 30 20 f2 6f 6e 6f 66 66 28 39 29 3a f2 |O%=0 .onoff(9):.| 00003300 6f 6e 6f 66 66 28 31 30 29 3a 4f 25 3d 31 3a f2 |onoff(10):O%=1:.| 00003310 6f 72 63 68 0d 11 bc 18 e7 20 6d 25 3d 31 30 20 |orch..... m%=10 | 00003320 80 20 4f 25 3d 31 20 f2 6f 72 63 68 0d 11 c6 31 |. O%=1 .orch...1| 00003330 e7 20 6d 25 3d 39 20 80 20 4f 25 3d 31 20 f2 6f |. m%=9 . O%=1 .o| 00003340 6e 6f 66 66 28 39 29 3a f2 6f 6e 6f 66 66 28 31 |noff(9):.onoff(1| 00003350 30 29 3a 4f 25 3d 30 3a f2 73 6f 6c 6f 0d 11 d0 |0):O%=0:.solo...| 00003360 17 e7 20 6d 25 3d 39 20 80 20 4f 25 3d 30 20 f2 |.. m%=9 . O%=0 .| 00003370 73 6f 6c 6f 0d 11 da 3f e7 20 6d 25 3d 38 20 80 |solo...?. m%=8 .| 00003380 20 73 74 65 72 65 6f 25 3d 30 3a 73 74 65 72 65 | stereo%=0:stere| 00003390 6f 25 3d 31 3a f2 6f 6e 6f 66 66 28 37 29 3a f2 |o%=1:.onoff(7):.| 000033a0 6f 6e 6f 66 66 28 38 29 3a f2 73 74 65 72 65 6f |onoff(8):.stereo| 000033b0 28 31 29 0d 11 e4 3f e7 20 6d 25 3d 37 20 80 20 |(1)...?. m%=7 . | 000033c0 73 74 65 72 65 6f 25 3d 31 3a 73 74 65 72 65 6f |stereo%=1:stereo| 000033d0 25 3d 30 3a f2 6f 6e 6f 66 66 28 37 29 3a f2 6f |%=0:.onoff(7):.o| 000033e0 6e 6f 66 66 28 38 29 3a f2 73 74 65 72 65 6f 28 |noff(8):.stereo(| 000033f0 30 29 0d 11 ee 2a e7 20 6d 25 3c 37 20 80 20 6d |0)...*. m%<7 . m| 00003400 25 3e 33 20 f2 6f 6e 6f 66 66 28 36 2d 43 68 6f |%>3 .onoff(6-Cho| 00003410 72 64 25 2d 52 61 6e 64 6f 6d 25 29 0d 11 f8 1d |rd%-Random%)....| 00003420 e7 20 6d 25 3d 36 20 43 68 6f 72 64 25 3d 30 3a |. m%=6 Chord%=0:| 00003430 52 61 6e 64 6f 6d 25 3d 30 0d 12 02 1d e7 20 6d |Random%=0..... m| 00003440 25 3d 35 20 43 68 6f 72 64 25 3d 31 3a 52 61 6e |%=5 Chord%=1:Ran| 00003450 64 6f 6d 25 3d 30 0d 12 0c 1d e7 20 6d 25 3d 34 |dom%=0..... m%=4| 00003460 20 43 68 6f 72 64 25 3d 31 3a 52 61 6e 64 6f 6d | Chord%=1:Random| 00003470 25 3d 31 0d 12 16 48 e7 20 6d 25 3c 37 20 80 20 |%=1...H. m%<7 . | 00003480 6d 25 3e 33 20 63 68 6f 72 64 25 3d 43 68 6f 72 |m%>3 chord%=Chor| 00003490 64 25 3a 72 61 6e 64 6f 6d 25 3d 52 61 6e 64 6f |d%:random%=Rando| 000034a0 6d 25 3a f2 6f 6e 6f 66 66 28 36 2d 43 68 6f 72 |m%:.onoff(6-Chor| 000034b0 64 25 2d 52 61 6e 64 6f 6d 25 29 0d 12 20 05 e1 |d%-Random%).. ..| 000034c0 0d 12 2a 05 3a 0d 12 34 11 dd 20 f2 73 74 65 72 |..*.:..4.. .ster| 000034d0 65 6f 28 73 25 29 0d 12 3e 26 e3 20 63 68 25 3d |eo(s%)..>&. ch%=| 000034e0 31 20 b8 20 34 3a c8 a2 20 63 68 25 2c 31 35 2d |1 . 4:.. ch%,15-| 000034f0 33 5e 28 73 25 2a 63 68 25 29 3a ed 0d 12 48 2a |3^(s%*ch%):...H*| 00003500 e3 20 63 68 25 3d 35 20 b8 20 38 3a c8 a2 20 63 |. ch%=5 . 8:.. c| 00003510 68 25 2c 31 35 2b 33 5e 28 73 25 2a 28 63 68 25 |h%,15+3^(s%*(ch%| 00003520 2d 34 29 29 3a ed 0d 12 52 05 e1 0d 12 5c 05 3a |-4)):...R....\.:| 00003530 0d 12 66 10 dd 20 f2 73 63 61 6c 65 28 6d 25 29 |..f.. .scale(m%)| 00003540 0d 12 70 24 e7 20 6d 25 3d 31 33 20 53 63 6c 65 |..p$. m%=13 Scle| 00003550 25 3d 30 3a 54 75 6e 65 25 3d 31 3a f2 74 6d 65 |%=0:Tune%=1:.tme| 00003560 6e 75 3a e1 0d 12 7a 2b f2 6f 6e 6f 66 66 28 73 |nu:...z+.onoff(s| 00003570 63 61 6c 65 25 29 3a 73 63 61 6c 65 25 3d 6d 25 |cale%):scale%=m%| 00003580 3a f2 6f 6e 6f 66 66 28 73 63 61 6c 65 25 29 0d |:.onoff(scale%).| 00003590 12 84 1f e7 20 6d 25 3d 31 30 20 f2 6e 6f 74 65 |.... m%=10 .note| 000035a0 73 20 8b 20 f2 69 6e 74 65 72 76 61 6c 73 0d 12 |s . .intervals..| 000035b0 8e 05 e1 0d 12 98 05 3a 0d 12 a2 13 dd 20 f2 73 |.......:..... .s| 000035c0 6f 75 6e 64 28 6e 6f 74 65 25 29 0d 12 ac 26 e7 |ound(note%)...&.| 000035d0 20 4f 25 20 43 25 3d 28 6e 6f 74 65 25 2b 4a 25 | O% C%=(note%+J%| 000035e0 29 83 38 2b 31 20 8b 20 43 25 3d 43 25 83 38 2b |).8+1 . C%=C%.8+| 000035f0 31 0d 12 b6 35 e7 20 28 4b 25 3d 4d 25 2d 31 20 |1...5. (K%=M%-1 | 00003600 84 20 44 25 3d 33 32 20 84 20 28 44 25 3d 32 35 |. D%=32 . (D%=25| 00003610 35 20 80 20 50 25 3d 31 36 29 29 20 80 20 b3 28 |5 . P%=16)) . .(| 00003620 33 29 3d 31 20 8c 0d 12 c0 45 e7 20 44 69 72 25 |3)=1 ....E. Dir%| 00003630 3d 30 20 84 20 44 69 72 25 3d 32 20 49 25 2b 3d |=0 . Dir%=2 I%+=| 00003640 28 69 6e 74 25 2a 28 b3 28 33 29 2d 32 29 29 20 |(int%*(.(3)-2)) | 00003650 8b 20 e7 20 44 69 72 25 3c 3e 32 20 49 25 2b 3d |. . Dir%<>2 I%+=| 00003660 28 69 6e 74 25 2a 44 69 72 25 29 0d 12 ca 1c e7 |(int%*Dir%).....| 00003670 20 44 69 72 25 3d 32 20 6f 63 74 25 3d 26 31 30 | Dir%=2 oct%=&10| 00003680 30 30 2a b3 28 35 29 0d 12 d4 14 e7 20 49 25 3e |00*.(5)..... I%>| 00003690 31 32 20 49 25 3d 49 25 2d 31 32 0d 12 de 13 e7 |12 I%=I%-12.....| 000036a0 20 49 25 3c 30 20 49 25 3d 31 32 2d 49 25 0d 12 | I%<0 I%=12-I%..| 000036b0 e8 05 cd 0d 12 f2 1e e7 20 57 25 20 80 20 b3 28 |........ W% . .(| 000036c0 35 29 3d 31 20 51 25 3d 51 25 2b b3 28 33 29 2d |5)=1 Q%=Q%+.(3)-| 000036d0 32 0d 12 fc 0f e7 20 51 25 3c 35 20 51 25 3d 35 |2..... Q%<5 Q%=5| 000036e0 0d 13 06 11 e7 20 51 25 3e 31 35 20 51 25 3d 31 |..... Q%>15 Q%=1| 000036f0 35 0d 13 10 21 e7 20 73 74 72 25 20 80 20 43 25 |5...!. str% . C%| 00003700 3d 72 65 73 74 25 20 72 25 3d 30 20 8b 20 72 25 |=rest% r%=0 . r%| 00003710 3d 31 0d 13 1a 23 e7 20 72 64 6d 25 20 80 20 b3 |=1...#. rdm% . .| 00003720 28 72 65 73 74 25 29 3d 31 20 72 25 3d 30 20 8b |(rest%)=1 r%=0 .| 00003730 20 72 25 3d 31 0d 13 24 20 e7 20 44 25 3c 3e 32 | r%=1..$ . D%<>2| 00003740 35 35 20 80 20 b3 28 33 29 3d 31 20 44 25 3d 32 |55 . .(3)=1 D%=2| 00003750 5e b3 28 35 29 0d 13 2e 2a e7 20 72 61 6e 64 6f |^.(5)...*. rando| 00003760 6d 25 20 80 20 b3 28 33 29 3d 31 20 63 68 6f 72 |m% . .(3)=1 chor| 00003770 64 25 3d 28 63 68 6f 72 64 25 2b 31 29 83 32 0d |d%=(chord%+1).2.| 00003780 13 38 21 e7 20 72 25 3d 31 20 80 20 28 56 25 3c |.8!. r%=1 . (V%<| 00003790 33 20 84 20 50 25 3c 3e 6e 6f 74 65 25 29 20 8c |3 . P%<>note%) .| 000037a0 0d 13 42 69 e7 20 6b 79 62 64 25 3d 31 20 84 20 |..Bi. kybd%=1 . | 000037b0 56 25 3d 33 20 50 25 3d 6e 6f 74 65 25 20 8b 20 |V%=3 P%=note% . | 000037c0 e7 20 56 25 3d 32 20 80 20 6e 6f 74 65 25 3e 30 |. V%=2 . note%>0| 000037d0 20 80 20 6e 6f 74 65 25 3c 31 36 20 50 25 3d 28 | . note%<16 P%=(| 000037e0 50 25 2b 6e 6f 74 65 25 29 83 31 37 20 8b 20 50 |P%+note%).17 . P| 000037f0 25 3d 94 28 28 50 25 2b 6e 6f 74 65 25 2b b3 28 |%=.((P%+note%+.(| 00003800 35 29 2d 33 29 83 31 37 29 0d 13 4c 29 d4 20 43 |5)-3).17)..L). C| 00003810 25 2c 2d 51 25 2c 28 70 69 74 63 68 25 28 50 25 |%,-Q%,(pitch%(P%| 00003820 29 2b 49 25 29 2a 26 31 35 35 2b 6f 63 74 25 2c |)+I%)*&155+oct%,| 00003830 44 25 0d 13 56 0e e7 20 63 68 6f 72 64 25 20 8c |D%..V.. chord% .| 00003840 0d 13 60 1a 43 25 3d 43 25 83 38 2b 31 3a 50 25 |..`.C%=C%.8+1:P%| 00003850 3d 28 50 25 2b 32 29 83 31 37 0d 13 6a 29 d4 20 |=(P%+2).17..j). | 00003860 43 25 2c 2d 51 25 2c 28 70 69 74 63 68 25 28 50 |C%,-Q%,(pitch%(P| 00003870 25 29 2b 49 25 29 2a 26 31 35 35 2b 6f 63 74 25 |%)+I%)*&155+oct%| 00003880 2c 44 25 0d 13 74 1a 43 25 3d 43 25 83 38 2b 31 |,D%..t.C%=C%.8+1| 00003890 3a 50 25 3d 28 50 25 2b 32 29 83 31 37 0d 13 7e |:P%=(P%+2).17..~| 000038a0 29 d4 20 43 25 2c 2d 51 25 2c 28 70 69 74 63 68 |). C%,-Q%,(pitch| 000038b0 25 28 50 25 29 2b 49 25 29 2a 26 31 35 35 2b 6f |%(P%)+I%)*&155+o| 000038c0 63 74 25 2c 44 25 0d 13 88 13 e7 20 56 25 3d 33 |ct%,D%..... V%=3| 000038d0 20 50 25 3d 6e 6f 74 65 25 0d 13 92 05 cd 0d 13 | P%=note%.......| 000038e0 9c 05 cd 0d 13 a6 1a e7 20 54 65 6d 70 6f 25 20 |........ Tempo% | 000038f0 f5 20 fd 20 91 3e 54 25 3a d1 20 3d 30 0d 13 b0 |. . .>T%:. =0...| 00003900 05 e1 0d 13 ba 05 3a 0d 13 c4 0b dd 20 f2 6f 72 |......:..... .or| 00003910 63 68 0d 13 ce 1a fb 20 31 38 37 20 c8 9c 20 36 |ch..... 187 .. 6| 00003920 34 3a fb 20 34 38 20 c8 9c 20 36 34 0d 13 d8 0e |4:. 48 .. 64....| 00003930 e3 20 69 25 3d 31 20 b8 20 38 0d 13 e2 2b f1 8a |. i%=1 . 8...+..| 00003940 36 36 2c 33 29 22 56 6f 69 63 65 20 22 3b 69 25 |66,3)"Voice ";i%| 00003950 3b 22 3f 20 20 20 20 22 3b 3a e8 8a 37 35 2c 33 |;"? ";:..75,3| 00003960 29 22 22 6a 25 0d 13 ec 35 e7 20 6a 25 3c 33 33 |)""j%...5. j%<33| 00003970 20 ff 22 2a 43 48 41 4e 4e 45 4c 56 4f 49 43 45 | ."*CHANNELVOICE| 00003980 20 22 2b c3 28 69 25 29 2b 22 20 22 2b c3 28 6a | "+.(i%)+" "+.(j| 00003990 25 29 20 8b 20 69 25 2d 3d 31 0d 13 f6 05 ed 0d |%) . i%-=1......| 000039a0 14 00 1e f1 8a 36 36 2c 33 29 22 4f 72 63 68 65 |.....66,3)"Orche| 000039b0 73 74 72 61 20 20 20 22 3a 6d 25 3d 30 0d 14 0a |stra ":m%=0...| 000039c0 05 e1 0d 14 14 05 3a 0d 14 1e 0b dd 20 f2 73 6f |......:..... .so| 000039d0 6c 6f 0d 14 28 1a fb 20 31 38 37 20 c8 9c 20 36 |lo..(.. 187 .. 6| 000039e0 34 3a fb 20 34 38 20 c8 9c 20 36 34 0d 14 32 37 |4:. 48 .. 64..27| 000039f0 f5 20 f1 8a 36 36 2c 36 29 22 56 6f 69 63 65 3f |. ..66,6)"Voice?| 00003a00 20 20 20 20 20 20 22 3a e8 8a 37 33 2c 36 29 22 | ":..73,6)"| 00003a10 22 76 6f 69 63 65 25 3a fd 20 76 6f 69 63 65 25 |"voice%:. voice%| 00003a20 3c 33 33 0d 14 3c 10 f2 69 6e 73 28 76 6f 69 63 |<33..<..ins(voic| 00003a30 65 25 29 0d 14 46 26 f1 8a 36 36 2c 36 29 22 53 |e%)..F&..66,6)"S| 00003a40 6f 6c 6f 20 22 3b 76 6f 69 63 65 25 3b 22 20 20 |olo ";voice%;" | 00003a50 20 20 20 22 3a 6d 25 3d 30 0d 14 50 05 e1 0d 14 | ":m%=0..P....| 00003a60 5a 05 3a 0d 14 64 0c dd 20 f2 6e 6f 74 65 73 0d |Z.:..d.. .notes.| 00003a70 14 6e 1a fb 20 31 38 37 20 c8 9c 20 36 34 3a fb |.n.. 187 .. 64:.| 00003a80 20 34 38 20 c8 9c 20 36 34 0d 14 78 0f e3 20 69 | 48 .. 64..x.. i| 00003a90 25 3d 31 20 b8 20 31 36 0d 14 82 2b f1 8a 36 36 |%=1 . 16...+..66| 00003aa0 2c 33 29 22 49 6e 74 65 72 76 61 6c 22 3b 69 25 |,3)"Interval";i%| 00003ab0 3b 22 3f 20 20 22 3b 3a e8 8a 37 37 2c 33 29 22 |;"? ";:..77,3)"| 00003ac0 22 6a 25 0d 14 8c 1e 70 69 74 63 68 25 28 69 25 |"j%....pitch%(i%| 00003ad0 29 3d 70 69 74 63 68 25 28 69 25 2d 31 29 2b 6a |)=pitch%(i%-1)+j| 00003ae0 25 0d 14 96 05 ed 0d 14 a0 1e f1 8a 36 36 2c 33 |%...........66,3| 00003af0 29 22 55 73 65 72 20 64 65 66 69 6e 65 64 22 3a |)"User defined":| 00003b00 6d 25 3d 30 0d 14 aa 05 e1 0d 14 b4 05 3a 0d 14 |m%=0.........:..| 00003b10 be 10 dd 20 f2 69 6e 74 65 72 76 61 6c 73 0d 14 |... .intervals..| 00003b20 c8 0a ea 20 69 6e 74 25 0d 14 d2 12 70 69 74 63 |... int%....pitc| 00003b30 68 25 28 30 29 3d 6b 65 79 25 0d 14 dc 15 f7 28 |h%(0)=key%.....(| 00003b40 35 34 39 30 2d 73 63 61 6c 65 25 2a 31 30 29 0d |5490-scale%*10).| 00003b50 14 e6 0f e3 20 69 25 3d 31 20 b8 20 31 36 0d 14 |.... i%=1 . 16..| 00003b60 f0 0a f3 20 69 6e 74 25 0d 14 fa 20 70 69 74 63 |... int%... pitc| 00003b70 68 25 28 69 25 29 3d 70 69 74 63 68 25 28 69 25 |h%(i%)=pitch%(i%| 00003b80 2d 31 29 2b 69 6e 74 25 0d 15 04 05 ed 0d 15 0e |-1)+int%........| 00003b90 05 e1 0d 15 18 05 3a 0d 15 22 2f dc 20 32 2c 32 |......:.."/. 2,2| 00003ba0 2c 31 2c 32 2c 32 2c 32 2c 31 2c 32 2c 32 2c 31 |,1,2,2,2,1,2,2,1| 00003bb0 2c 32 2c 32 2c 32 2c 31 2c 32 2c 32 3a 52 45 4d |,2,2,2,1,2,2:REM| 00003bc0 20 4d 61 6a 6f 72 0d 15 2c 34 dc 20 31 2c 32 2c | Major..,4. 1,2,| 00003bd0 31 2c 32 2c 31 2c 32 2c 31 2c 32 2c 31 2c 32 2c |1,2,1,2,1,2,1,2,| 00003be0 31 2c 32 2c 31 2c 32 2c 31 2c 32 3a 52 45 4d 20 |1,2,1,2,1,2:REM | 00003bf0 44 69 6d 69 6e 69 73 68 65 64 0d 15 36 2f dc 20 |Diminished..6/. | 00003c00 33 2c 32 2c 31 2c 31 2c 33 2c 32 2c 33 2c 32 2c |3,2,1,1,3,2,3,2,| 00003c10 31 2c 31 2c 33 2c 32 2c 33 2c 32 2c 31 2c 31 3a |1,1,3,2,3,2,1,1:| 00003c20 52 45 4d 20 42 6c 75 65 73 0d 15 40 33 dc 20 31 |REM Blues..@3. 1| 00003c30 2c 31 2c 31 2c 31 2c 31 2c 31 2c 31 2c 31 2c 31 |,1,1,1,1,1,1,1,1| 00003c40 2c 31 2c 31 2c 31 2c 31 2c 31 2c 31 2c 31 3a 52 |,1,1,1,1,1,1,1:R| 00003c50 45 4d 20 43 68 72 6f 6d 61 74 69 63 0d 15 4a 34 |EM Chromatic..J4| 00003c60 dc 20 32 2c 32 2c 32 2c 32 2c 32 2c 32 2c 32 2c |. 2,2,2,2,2,2,2,| 00003c70 32 2c 32 2c 32 2c 32 2c 32 2c 32 2c 32 2c 32 2c |2,2,2,2,2,2,2,2,| 00003c80 32 3a 52 45 4d 20 57 68 6f 6c 65 20 74 6f 6e 65 |2:REM Whole tone| 00003c90 0d 15 54 30 dc 20 32 2c 31 2c 32 2c 32 2c 32 2c |..T0. 2,1,2,2,2,| 00003ca0 31 2c 32 2c 32 2c 31 2c 32 2c 32 2c 32 2c 31 2c |1,2,2,1,2,2,2,1,| 00003cb0 32 2c 32 2c 31 3a 52 45 4d 20 44 6f 72 69 61 6e |2,2,1:REM Dorian| 00003cc0 0d 15 5e 31 dc 20 32 2c 31 2c 32 2c 32 2c 31 2c |..^1. 2,1,2,2,1,| 00003cd0 32 2c 32 2c 32 2c 31 2c 32 2c 32 2c 31 2c 32 2c |2,2,2,1,2,2,1,2,| 00003ce0 32 2c 32 2c 31 3a 52 45 4d 20 41 65 6f 6c 69 61 |2,2,1:REM Aeolia| 00003cf0 6e 0d 15 68 32 dc 20 32 2c 31 2c 32 2c 32 2c 31 |n..h2. 2,1,2,2,1| 00003d00 2c 33 2c 31 2c 32 2c 31 2c 32 2c 32 2c 31 2c 33 |,3,1,2,1,2,2,1,3| 00003d10 2c 31 2c 32 2c 31 3a 52 45 4d 20 48 61 72 6d 6f |,1,2,1:REM Harmo| 00003d20 6e 69 63 0d 15 72 34 dc 20 32 2c 32 2c 33 2c 32 |nic..r4. 2,2,3,2| 00003d30 2c 33 2c 32 2c 32 2c 33 2c 32 2c 33 2c 32 2c 32 |,3,2,2,3,2,3,2,2| 00003d40 2c 33 2c 32 2c 33 2c 32 3a 52 45 4d 20 50 65 6e |,3,2,3,2:REM Pen| 00003d50 74 61 74 6f 6e 69 63 0d 15 7c 05 3a 0d 15 86 0e |tatonic..|.:....| 00003d60 dd 20 f2 69 6e 73 28 76 25 29 0d 15 90 14 e3 20 |. .ins(v%)..... | 00003d70 63 68 61 6e 6e 65 6c 25 3d 31 20 b8 20 38 0d 15 |channel%=1 . 8..| 00003d80 9a 2b ff 22 2a 43 48 41 4e 4e 45 4c 56 4f 49 43 |.+."*CHANNELVOIC| 00003d90 45 20 22 2b c3 28 63 68 61 6e 6e 65 6c 25 29 2b |E "+.(channel%)+| 00003da0 22 20 22 2b c3 28 76 25 29 0d 15 a4 05 ed 0d 15 |" "+.(v%).......| 00003db0 ae 05 e1 0d 15 b8 05 3a 0d ff |.......:..| 00003dba