Commodore 64 > Programmazione, Grafica e Musica

Programma Delle Tre Voci (cap 4 Guida)

(1/2) > >>

MarC=ello:
 Ciao a tutti,

prossimamente dovrebbe essere pubblicata una versione testuale del cap4 della guida di riferimento (SID).

Intanto, posto qua, in modo da poter essere tokenizzato, il lungo programma delle tre voci:

Programma di esempio 2 (capitolo 4):

--- Codice: ---[Programma bacato di origine project64 gentilmente sostituito da Rob  (grazie mille Rob!) a seguire]

--- Termina codice ---

Ciao a tutti!

Roberto:
 Errata corrige.
Sostituire :


--- Codice: ---150 dr%nm/128:oc%=(nm-128*dr%)/16
--- Termina codice ---

con:


--- Codice: ---150 dr=nm/128:oc%=(nm-128*dr%)/16
--- Termina codice ---

Praticamente mancava solo un segno = :)

Er...
il suono prodotto è un pò sgradevole ad orecchio umano o sbaglio?? :D

MarC=ello:
 Grazie per la correzione--- non ho provato questa versione non so come è il suono... (come si usa token 64?) (la versione che ho postato l'ho copiata pari pari dalla guida di riferimento di "project 64"
Nell'immagine .d64 del floppy utilità 1541 c'è anche questo programma, e lì funziona bene...

Roberto:

--- Citazione da: "MarC=ello" --- Grazie per la correzione--- non ho provato questa versione non so come è il suono... (come si usa token 64?) (la versione che ho postato l'ho copiata pari pari dalla guida di riferimento di "project 64"
 
--- Termina citazione ---
Lo esegui da finestra DOS poi lanci il comando TOK64

(ma funziona anche senza estensione .txt)

Poi ovviamente ci sono altri comandi che puoi trovare nel readme.


--- Citazione --- Nell'immagine .d64 del floppy utilità 1541 c'è anche questo programma, e lì funziona bene.. 
--- Termina citazione ---

A questo punto volo a confrontare le due versioni..

Roberto:
 
--- Citazione ---QUOTE
Nell'immagine .d64 del floppy utilità 1541 c'è anche questo programma, e lì funziona bene..


A questo punto volo a confrontare le due versioni..
--- Termina citazione ---

Confermo, è talmente sgradevole che non si riesce ad ascoltare per più di due secondi. Se poi lo paragoni al brano funzionante te ne rendi conto ancora meglio.
Ecco il listato del programa su dischetto.


--- Codice: ---2 poke 53280,14:poke 53281,14
3 print"{clear}{red}{space*11}{reverse on}m u s i k d e m o"
5 print"{blue}{down*5}{space*13}bitte warten"
7 print"{light gray}{down*3}{space*11}ende mit {reverse on}run/stop{reverse off}"
10 s=54272:forl=stos+24:pokel,0:next
20 dimh(2,200),l(2,200),c(2,200)
30 dimfq(11)
40 v(0)=17:v(1)=65:v(2)=33
50 pokes+10,3:pokes+22,240:pokes+23,244
60 fori=0to11:readfq(i):next
100 fork=0to2
110 i=0
120 readnm
130 ifnm=0then250
140 wa=v(k):ifnm<0thennm=-nm:wa=1
150 dr%=nm/128:oc%=(nmand112)/16
160 nt=nmand15
170 fr=fq(nt)
175 ifk=0thenoc%=oc%+1
180 ifoc%=7then200
190 forj=6tooc%step-1:fr=fr/2:next
200 hf%=fr/256:lf%=frand255
210 ifdr%=1thenh(k,i)=hf%:l(k,i)=lf%:c(k,i)=wa:i=i+1:goto120
220 forj=1todr%-1:h(k,i)=hf%:l(k,i)=lf%:c(k,i)=wa:i=i+1:next
230 h(k,i)=hf%:l(k,i)=lf%:c(k,i)=wa-1
240 i=i+1:goto120
250 ifi>imthenim=i
260 next
500 pokes+5,63:pokes+6,240
510 pokes+12,9:pokes+13,9
520 pokes+19,119:pokes+20,7
530 pokes+24,31
540 fori=0toim
550 pokes,l(0,i):pokes+7,l(1,i):pokes+14,l(2,i)
560 pokes+1,h(0,i):pokes+8,h(1,i):pokes+15,h(2,i)
570 pokes+4,c(0,i):pokes+11,c(1,i):pokes+18,c(2,i)
580 fort=1to40:next:next
590 pokes+22,rnd(1)*64+190:pokes+10,rnd(1)*14+1:goto500
600 data34334,36376,38539,40830
610 data43258,45830,48556,51443
620 data54502,57743,61176,64814
1000 data594,594,594,596,596
1010 data1618,587,592,587,585,331,336
1020 data1097,583,585,585,585,587,587
1030 data1609,585,331,337,594,594,593
1040 data1618,594,596,594,592,587
1050 data1616,587,585,331,336,841,327
1060 data1607
1999 data0
2000 data583,585,583,583,327,329
2010 data1611,583,585,578,578,578
2020 data196,198,583,326,578
2030 data326,327,329,327,329,326,578,583
2040 data1606,582,322,324,582,587
2050 data329,327,1606,583
2060 data327,329,587,331,329
2070 data329,328,1609,578,834
2080 data324,322,327,585,1602
2999 data0
3000 data567,566,567,304,306,308,310
3010 data1591,567,311,310,567
3020 data306,304,299,308
3030 data304,171,176,306,291,551,306,308
3040 data310,308,310,306,295,297,299,304
3050 data1586,562,567,310,315,311
3060 data308,313,297
3070 data1586,567,560,311,309
3080 data308,309,306,308
3090 data1577,299,295,306,310,311,304
3100 data562,546,1575
3999 data0

--- Termina codice ---

Il programma è chiaramento lo stesso, con alcune piccole e grandi differenze: questo programma ha una piccola presentazione fatta con i print (in tedesco) e a parte la diversa disposizione dei data, alcune linee sono totalmente differenti, guardare la 160 e la 200.

Navigazione

[0] Indice dei post

[#] Pagina successiva

Vai alla versione completa