C64 Software  <  SCA: The C64 Software Collection / M2 SYNTHESIZER

  Run
10 POKE 53281,0:PRINT""CHR$(14)
20 PRINT ""
100 PRINT""
110 PRINT""
120 PRINT""
130 PRINT""
140 PRINT""
150 PRINT""
160 PRINT""
170 PRINT""
175 PRINT""
180 PRINT""
190 S=13*4096+1024:DIMF(26):DIMK(255)
200 FORI=0TO28:POKES+I,0:NEXT
210 F1=7040:FORI=1TO26:F(27−I)=F1*5.8+30:F1=F1/2↑(1/12):NEXT
220 K$=""
230 FORI=1TOLEN(K$):K(ASC(MID$(K$,I)))=I:NEXT
240 PRINT""
250 AT=0:DE=0:SU=15:RE=10:SR=SU*16+RE:AD=AT*16+DE:WV=16:W=0:M=1:OC=4:HB=256:Z=0
260 FORI=0TO2:T=I*7:POKES+5+T,AD:POKES+6+T,SR
270 POKES+2+T,4000AND255:POKES+3+T,4000/256:NEXT
280 POKES+24,15
300 GETA$:IFA$=""THEN300
310 FR=K(ASC(A$)):IFFR=ZTHEN500
315 FR=F(FR)/M:T=V*7:CR=S+T+4
320 POKES+5+T,Z:POKES+6+T,Z
330 POKECR,8:POKECR,Z
340 POKES+T,FR−HB*INT(FR/HB)
350 POKES+1+T,FR/HB
360 POKES+5+T,AD:POKES+6+T,SR
370 POKECR,WV+1:FORI=1TO50*AT:NEXT
375 POKECR,WV
380 IFP=1THENV=V+1:IFV=3THENV=0
400 GOTO300
500 IFA$=""THENM=1:OC=4:GOTO300
510 IFA$=""THENM=2:OC=3:GOTO300
520 IFA$=""THENM=4:OC=2:GOTO300
530 IFA$=""THENM=8:OC=1:GOTO300
540 IFA$=""THENW=0:WV=16:GOTO300
550 IFA$=""THENW=1:WV=32:GOTO300
560 IFA$=""THENW=2:WV=64:GOTO300
570 IFA$=""THENW=3:WV=128:GOTO300
580 IFA$=""THENP=1−P:GOTO300
585 IFA$=""THEN10000
590 IFA$=""THEN200
600 GOTO300
800 PRINT""
810 GETA$:IFA$=""THEN810:WAIT FOR A KEY
820 PRINTA$:RETURN
9000 DATA40,17,15,17,13,17,12,17,10,17,8,17,6,17,15,13,15,15,13,15,12
9005 DATA15,10,15,8,15,6,15,5,15,13,12,13,13,12,13,10,13,8,13,6,13,5,13,4,13
9006 DATA12,10,12,12
9010 DATA10,12,9,12,7,12,5,12,3,12,1,12
9020 DATA10,8,10,0
9600 DATA40,12,8,10,12,15,13,13,17,15,15,20
9610 DATA19,20,15,12,8,10,12,13,15,17,15,13,12,10,12,8,7,8,10,3
9620 DATA7,10,13,12,10
9630 DATA12,8,10,12,15,13,13,17,15,15,20
9640 DATA19,20,15,12,8,10,12
9650 DATA5,15,13,12,10,8,3,8,7,8,12,15,20,15,12,8
9660 DATA12,15,18,15,12,8,12,15,17,13,10
9670 DATA7,10,13,15,12,8,5,8,12,13,10,7,3,7,10,13,12,10
9680 DATA8,12,15,20,0
9999 DATA -1,-1
10000 READTE
10005 READA:IFA=ZTHEN300
10010 IFA=−1THENRESTORE:GOTO10000
10015 FR=F(A)/M:T=V*7:CR=S+T+4
10020 POKES+5+T,Z:POKES+6+T,Z
10030 POKECR,8:POKECR,Z
10040 POKES+T,FR−HB*INT(FR/HB)
10050 POKES+1+T,FR/HB
10060 POKES+5+T,AD:POKES+6+T,SR
10070 POKECR,WV+1:FORI=1TO50*AT:NEXT
10075 POKECR,WV
10080 IFP=1THENV=V+1:IFV=3THENV=0
10090 FORI=1TOTE:NEXT
10100 GOTO10005
READY.