Sfrutta le enormi potenzialità del SID (il suo integrato sonoro). E' interamente scritto in basic 2.0 ed è suddiviso in due funzionalità. All'inizio un menù permette di accedere o ad un piano elettronico oppure ad un editor di suoni. Per mezzo dell'editor di suoni si possono inserire note (fino a 1000) che verranno poi suonate in sequenza.
10 poke775,191:clr:print chr$(147):poke53280,3:poke53281,3:a1$="Programma by Pastore Carlo" 20 a2$="(c) 1990":a3$="Premi un tasto":aa=len(a1$):bb=len(a2$):cc=len(a3$) 30 print"qqq]]] in reverse": for i=1 to aa:for j=1 to 50:next j:print mid$(a1$,i,1);:next 40 print"q in reverse":for i = 1 to bb : for j = 1 to 50 : next j : print mid$ (a,i,1):next 45 fori=1to600:next 50 print"q in reverse":fori=1tocc:forj=1to50:nextj:print mid$(a3$,i,1);:next 60 poke198,0:wait198,1:print chr$(147):poke646,1:poke53280,0:poke53281,0:poke198,0 70 print"5 q in reverse 5 ]Menù :":print"3 q in reverse 8 ]1- Music editor" 80 print"2 q in reverse 8 ]2- Piano elettronico" 90 get d$="": if d$="" then 90 100 if d$="1" then 1000 110 if d$="2" then 10000 120 if d$<>"1" or d$<>"2" then 90 1000 print chr$(147):poke 646,1 1010 input"3 q in reverse Quante note vuoi inserire (1-1000)";z 1020 if z<1 or z>1000 then 1000 1030 dim x(z),y(z):n=0 1040 if n=z then 1150 1041 n=n+1 1050 input"cuore in reverse Qual'è la nota";x$ 1060 if x$="do" then x(n)=33:y(n)=135:goto 1040 1070 if x$="re" then x(n)=37:y(n)=162:goto 1040 1080 if x$="mi" then x(n)=42:y(n)=62:goto 1040 1090 if x$="fa" then x(n)=44:y(n)=193:goto 1040 1100 if x$="sol" then x(n)=50:y(n)=60:goto 1040 1110 if x$="la" then x(n)=56:y(n)=99:goto 1040 1120 if x$="si" then x(n)=63:y(n)=75:goto 1040 1121 if x$="hd" then x(n)=67:y(n)=15:goto 1040 1130 if x$<>"do" or x$<>"re" or x$<>"mi" or x$<>"fa" or x$<>"sol" then 1040 1140 if x$<>"la" or x$<>"si" or x$<>"hd" then 1040 1150 poke646,7:print chr$(147):print"suono il motivo (s/n) ?" 1160 get r$:if r$="" then 1160 1170 if r$="s" then 1190 1180 clr:print chr$(147):goto 70 1190 sid=54272:fori=0to24:pokesid+i,0:next 1191 print chr$(147):input"Volume (0-15)";v 1192 if v<0 or v>15 then v=15 1193 input "2 q in reverse Forma d'onda (17-33-65-129)";q 1200 print chr$(147):pokesid+24,v:pokesid+5,31:pokesid+6,31:pokesid+4,q 1210 fori=1ton:pokesid+1,x(i):pokesid,y(i):pokesid+4,q:forh=1to180:nexth 1220 p okesid+4,q-1:forj=1to20:nextj:nexti:pokesid+24,0:pokesid+4,q-1 1230 print chr$(147):input"Ancora";s$ 1240 if s$="si" then 1200 1250 clr:print chr$(147):poke646,1:goto 70 10000 w1$="Piano elettronico":w2$="Programma by Pastore Carlo (c) 1990" 10001 xx=len(w1$):yy=len(w2$):print"2 q in reverse";chr$(147) 10002 fori=1toxx:forj=1to50:nextj:print mid$(w1$,i,1);:next 10003 print"q in reverse":for i=1toyy:forj=1to50:nextj:print mid$(w2$,i,1);:next 10010 print"s in reverse 6 q in reverse Q = do - W = re - E = mi - R = fa" 10020 print"q in reverse T = sol - Y = la - U = si - I = do (alto)" 10021 print"q in reverse A = do# - S = re# - D = fa# - F = sol#" 10022 print"q in reverse G = la#":poke198,0 10030 sid=54272:fori=0to24:pokesid+i,0:next:pokesid+24,15:pokesid+4,17 10031 pokesid+5,10:pokesid+6,10 10040 get z$:if z$="" then 10040 10050 if z$="q" then pokesid+4,17:goto 12000 10060 if z$="w" then pokesid+4,17:goto 12010 10070 if z$="e" then pokesid+4,17:goto 12020 10080 if z$="r" then pokesid+4,17:goto 12030 10090 if z$="t" then pokesid+4,17:goto 12040 10100 if z$="y" then pokesid+4,17:goto 12050 10110 if z$="u" then pokesid+4,17:goto 12060 10120 if z$="i" then pokesid+4,17:goto 12070 10130 if z$="a" then pokesid+4,17:goto 12080 10140 if z$="s" then pokesid+4,17:goto 12090 10150 if z$="d" then pokesid+4,17:goto 12100 10160 if z$="f" then pokesid+4,17:goto 12110 10170 if z$="g" then pokesid+4,17:goto 12120 10171 if z$="1" then print chr$(147):clr:end 10180 if z$<>"q" or z$<>"w" or z$<>"e" or z$<>"r" or z$<>"t" then 10040 10190 if z$<>"y" or z$<>"u" or z$<>"i" or z$<>"a" or z$<>"s" then 10040 10200 if z$<>"d" or z$<>"f" or z$<>"g" or z$<>"1" then 10040 12000 pokesid+1,33:pokesid,135:fori=1to180:next:pokesid+4,16:goto 10040 12010 pokesid+1,37:pokesid,162:fori=1to180:next:pokesid+4,16:goto 10040 12020 pokesid+1,42:pokesid,62:fori=1to180:next:pokesid+4,16:goto 10040 12030 pokesid+1,44:pokesid,193:fori=1to180:next:pokesid+4,16:goto 10040 12040 pokesid+1,50:pokesid,60:fori=1to180:next:pokesid+4,16:goto 10040 12050 pokesid+1,56:pokesid,99:fori=1to180:next:pokesid+4,16:goto 10040 12060 pokesid+1,63:pokesid,75:fori=1to180:next:pokesid+4,16:goto 10040 12070 pokesid+1,67:pokesid,15:fori=1to180:next:pokesid+4,16:goto 10040 12080 pokesid+1,35:pokesid,134:fori=1to180:next:pokesid+4,16:goto 10040 12090 pokesid+1,39:pokesid,223:fori=1to180:next:pokesid+4,16:goto 10040 12100 pokesid+1,47:pokesid,107:fori=1to180:next:pokesid+4,16:goto 10040 12110 pokesid+1,53:pokesid,57:fori=1to180:next:pokesid+4,16:goto 10040 12120 pokesid+1,59:pokesid,190:fori=1to180:next:pokesid+4,16:goto 10040