Toccata e fuga in D minore – TI99/4A – TI Extended Basic

Rivista: – Anno: – Numero: – Trascrizione: Ermanno Betori

Il Texas Instruments TI-99/4A nascondeva un chip sonoro dalle notevoli potenzialità per l’epoca: il TMS9919 (o SN94624), derivato dal famoso SN76489 della Texas Instruments stessa. Questo generatore di suoni programmabile offriva quattro canali distinti: tre canali per toni puri (square wave) e un canale dedicato al rumore (white noise), ciascuno con un controllo del volume a 16 livelli. Sebbene non disponesse di un canale d’onda campionata (PCM) per riprodurre voci o musica digitale, la sua architettura permetteva una polifonia chiara e precisa, ideale per melodie, effetti sonori arcade e basi ritmiche, ponendosi come avversario diretto del SID del Commodore 64 e del PSG dell’MSX.

I programmatori più abili riuscirono a spingere il chip oltre i suoi limiti apparenti, sfruttando tecniche avanzate come il “software mixing” e la modulazione di impulsi (PWM) per simulare timbri più complessi e persino una rudimentale sintesi del parlato, come nel programma “TI-Talk”. La vera sfida consisteva nel programmare il chip a basso livello, spesso ricorrendo al linguaggio Assembly per un controllo diretto e tempestivo dei registri, dato che il BASIC integrato non offriva comandi audio sofisticati. Questo sforzo di ottimizzazione era cruciale nei giochi, dove gli effetti sonori dovevano coesistere senza interferenze con l’azione sullo schermo.

Nonostante le limitazioni, anche il TI-BASIC offriva gli strumenti per creare suoni e musiche riconoscibili, aprendo la porta alla programmazione audio ai principianti. Il comando fondamentale era CALL SOUND, uno strumento potente ma che richiedeva pazienza e ingegno per essere sfruttato al meglio. Con una sola istruzione, si potevano controllare fino a tre dei quattro canali del chip sonoro, specificando per ciascuno la frequenza (in Hertz), il volume (da 0 a 30) e la durata (in decimi di secondo). La vera sfida consisteva nell’orchestrare questi parametri in loop e sequenze per costruire qualcosa di più di un semplice beep.

Dopo Bumble-Boogie e’ il momento della musica classica con questo Toccata e fuga in D minore di Johann Sebastian Bach.

La Toccata e fuga in re minore (BWV 565) di Johann Sebastian Bach è una delle composizioni per organo più iconiche e riconoscibili della storia della musica. Resa celebre dalla sua presenza in numerosi film e media popolari (soprattutto come colonna sonora di ambienti gotici e horror), la sua potenza emotiva e architettura monumentale ne hanno decretato un’immortalità universale, nonostante alcuni studiosi moderni ne abbiano dibattuto, senza risolvere definitivamente la questione, la paternità bachiana.

Titolo: Toccata e fuga in D minore
Piattaforma: TI99/4A
Linguaggio: TI Extended Basic
Versione originale: –
Pubblicazione: –
Anno: –
Trascrizione: Ermanno Betori
Anno: 2025
Download: N/A
Note: Usare il TI Extended Basic.

Qui di seguito trovate il codice da copiare sul vostro TI99/4A oppure su un emulatore, noi suggeriamo Classic99.

Di seguito le istruzioni per caricare il listato sull’emulatore Classic99:
– Copiare il listato di cui sotto
– Avviare l’emulatore
– Da Cartridge -> Apps, selezionare Extended Basic
– Premere un tasto qualsiasi
– Dopodiché premere 1 per avviare il TI Extended Basic
– Dal comando Edit, selezionare Paste XB per incollare il listato
– Digitare RUN per eseguire il codice
Buon divertimento!

Attenzione – Ci siamo resi conto che nel listato i caratteri ‘>’ e ‘<‘ potrebbero venir sostituiti dai rispettivi encoding html ‘&gt’ e ‘&lt’. Nel caso, sostituite questi valori nel listato prima di copiarlo sull’emulatore.

Listato: Toccata e fuga in D minore – TI99/4A – TI Basic


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
1 CALL CLEAR :: CALL SCREEN(8) :: FOR I=0 TO 14 :: CALL COLOR(I,2,1) :: NEXT I :: DISPLAY AT(6,9):"""TOCCATA"""
2 DISPLAY AT(10,11):"from"
3 DISPLAY AT(14,6):"TOCCATA AND FUGUE"
4 DISPLAY AT(16,9):"IN D MINOR" :: DISPLAY AT(20,8):"by J.S. Bach"
5 FOR DELAY=1 TO 1000 :: NEXT DELAY
6 A=150 :: B=100 :: C=75 :: D=133 :: E=0 :: I=0 :: L=0 :: M=0 :: W=110 :: X=30 :: Y=-4 :: Z=0
7 CALL SOUND(A,440,12,880,12,1760,12) :: CALL SOUND(A,392,12,784,12,1568,12)
8 !@P-
9 CALL SOUND(A,440,12,880,12,1760,12) :: FOR I=12 TO 25 STEP .5 :: CALL SOUND(-A,440,I,880,I,1760,I) :: NEXT I
10 CALL SOUND(A,392,12,784,12,1568,12) :: CALL SOUND(A,349,12,1397,12) :: CALL SOUND(A,330,12,1319,12) :: CALL SOUND(A,294,12,1175,12)
11 CALL SOUND(A*4,277,12,554,12,1109,12) :: CALL SOUND(A,294,12,587,12,1175,12) :: FOR I=12 TO 30 STEP .6
12 CALL SOUND(-A,294,I,587,I,1175,I) :: NEXT I :: CALL SOUND(A*2,W,X) :: CALL SOUND(A,220,6,440,6,880,6) :: CALL SOUND(A,196,6,392,6,784,6)
13 CALL SOUND(A,220,6,440,6,880,6) :: FOR I=6 TO 24 STEP .6 :: CALL SOUND(-A,220,I,440,I,880,I) :: NEXT I
14 CALL SOUND(A*2.67,165,6,330,6,659,6) :: CALL SOUND(A*2.67,175,6,349,6,698,6) :: CALL SOUND(A*2.67,139,6,277,6,554,6)
15 CALL SOUND(A,147,6,294,6,587,6) :: FOR I=6 TO 30 STEP .8 :: CALL SOUND(-A,147,I,294,I,587,I) :: NEXT I :: CALL SOUND(A*4,W,X)
16 CALL SOUND(A,220,1,440,1,1650,X,Y,0) :: CALL SOUND(A,196,1,392,1,1470,X,Y,0)
17 CALL SOUND(A*12,220,1,440,1,1650,X,Y,0)
18 CALL SOUND(A,392,1,196,1,1470,X,Y,0) :: CALL SOUND(A,349,1,175,1,1312,X,Y,0)
19 CALL SOUND(A,330,1,165,1,1237,X,Y,0) :: CALL SOUND(A,294,1,147,1,1102,X,Y,0)
20 CALL SOUND(A*4,139,1,277,1,1042,X,Y,0) :: CALL SOUND(A*16,147,1,294,1,1102,X,Y,0)
21 CALL SOUND(A*8,147,8,W,X,551,X,Y,0)
22 CALL SOUND(A*6,277,3,233,4,551,X,Y,0) :: CALL SOUND(A*6,330,3,277,4,551,X,Y,0)
23 CALL SOUND(A*6,392,3,330,4,551,X,Y,0) :: CALL SOUND(A*6,466,3,392,4,551,X,Y,0)
24 CALL SOUND(A*6,392,5,466,4,554,3,Y,0) :: CALL SOUND(A*13,659,3,466,5,554,4,Y,0)
25 CALL SOUND(A*8,587,2,392,1,551,X,Y,0) :: CALL SOUND(A*6,587,2,330,1,551,X,Y,0)
26 CALL SOUND(A*22,587,2,370,1,551,X,Y,0)
27 CALL SOUND(A*10,W,X) :: CALL SOUND(A,554,5,277,5)
28 FOR I=1 TO 3 :: CALL SOUND(B,587,5,294,5) :: CALL SOUND(B,659,5,330,5) :: CALL SOUND(B,554,5,277,5) :: NEXT I :: CALL SOUND(C,587,5,294,5)
29 CALL SOUND(C,W,X) :: CALL SOUND(C,659,5,330,5)
30 CALL SOUND(C,W,X) :: FOR I=1 TO 3 :: CALL SOUND(B,698,5,349,5) :: CALL SOUND(B,784,5,392,5) :: CALL SOUND(B,659,5,330,5) :: NEXT I
31 CALL SOUND(C,698,5,349,5) :: CALL SOUND(C,W,X) :: CALL SOUND(C,784,5,392,5) :: CALL SOUND(C,W,X)
32 FOR I=1 TO 3 :: CALL SOUND(B,880,5,440,5) :: CALL SOUND(B,932,5,466,5) :: CALL SOUND(B,784,5,392,5) :: NEXT I
33 CALL SOUND(A,880,5,440,5) :: CALL SOUND(A*7,W,X) :: CALL SOUND(A,1109,5,554,5,277,5)
34 FOR I=1 TO 3 :: CALL SOUND(B,1175,5,587,5,294,5) :: CALL SOUND(B,659,5,330,5) :: CALL SOUND(B,1109,5,277,5) :: NEXT I
35 CALL SOUND(C,1175,5,587,5,294,5) :: CALL SOUND(C,W,X) :: CALL SOUND(C,1319,5,659,5,330,5) :: CALL SOUND(C,W,X)
36 FOR I=1 TO 3 :: CALL SOUND(B,1397,5,698,5,349,5) :: CALL SOUND(B,784,5,392,5) :: CALL SOUND(B,1319,5,330,5) :: NEXT I
37 CALL SOUND(C,1397,5,698,5,349,5) :: CALL SOUND(C,W,X) :: CALL SOUND(C,1568,5,784,5,392,5) :: CALL SOUND(C,W,X)
38 FOR I=1 TO 3 :: CALL SOUND(B,1760,5,880,5,440,5) :: CALL SOUND(B,932,5,466,5) :: CALL SOUND(B,1568,5,392,5) :: NEXT I
39 CALL SOUND(A,1760,5,880,5,440,5) :: CALL SOUND(A*10,W,X) :: CALL SOUND(A,1760,5,880,5,440,5)
40 FOR I=1 TO 2 :: CALL SOUND(B,1568,5,784,5,392,5) :: CALL SOUND(B,1864,9,932,9,466,9) :: CALL SOUND(B,1319,9,659,9,330,9) :: NEXT I
41 FOR I=1 TO 2 :: CALL SOUND(B,1397,5,698,5,349,5) :: CALL SOUND(B,1760,9,880,9,440,9) :: CALL SOUND(B,1175,9,587,9,294,9) :: NEXT I
42 FOR I=1 TO 2 :: CALL SOUND(B,1319,5,659,5,330,5) :: CALL SOUND(B,1568,9,784,9,392,9) :: CALL SOUND(B,1047,9,523,9,262,9) :: NEXT I
43 FOR I=1 TO 2 :: CALL SOUND(B,1175,5,587,5,294,5) :: CALL SOUND(B,1397,9,698,9,349,9) :: CALL SOUND(B,932,9,466,9,233,9) :: NEXT I
44 FOR I=1 TO 2 :: CALL SOUND(B,1047,5,523,5,262,5) :: CALL SOUND(B,1319,9,659,9,330,9) :: CALL SOUND(B,880,9,440,9,220,9) :: NEXT I
45 FOR I=1 TO 2 :: CALL SOUND(B,923,5,466,5,233,5) :: CALL SOUND(B,1175,9,587,9,294,9) :: CALL SOUND(B,784,9,392,9,196,9) :: NEXT I
46 FOR I=1 TO 2 :: CALL SOUND(B,880,5,440,5,220,5) :: CALL SOUND(B,1047,9,523,9,262,9) :: CALL SOUND(B,698,9,349,9,175,9) :: NEXT I
47 FOR I=1 TO 2 :: CALL SOUND(B,784,5,392,5,196,5) :: CALL SOUND(B,923,9,466,9,233,9) :: CALL SOUND(B,659,9,330,9,165,9) :: NEXT I
48 FOR I=1 TO 2 :: CALL SOUND(B,698,5,349,5,175,5) :: CALL SOUND(B,880,9,440,9,220,9) :: CALL SOUND(B,587,9,294,9,147,9) :: NEXT I
49 FOR I=1 TO 2 :: CALL SOUND(B,659,5,330,5,165,5) :: CALL SOUND(B,784,9,392,9,196,9) :: CALL SOUND(B,554,9,277,9,139,9) :: NEXT I
50 CALL SOUND(A*10,147,8,W,X,551,X,Y,0) :: CALL SOUND(A*20,932,1,659,1,554,1,Y,0)
51 CALL SOUND(A*7,932,3,466,7) :: CALL SOUND(B,880,4,440,8) :: CALL SOUND(B,784,5,392,9)
52 CALL SOUND(B,698,6,349,10)
53 CALL SOUND(B,659,3,330,7) :: CALL SOUND(B,587,4,294,8) :: CALL SOUND(B,554,5,277,9)
54 CALL SOUND(B,494,6,247,10)
55 CALL SOUND(A*2,554,3,277,7) :: CALL SOUND(A*2,440,4,220,8) :: CALL SOUND(A*2,554,5,277,9)
56 CALL SOUND(A,659,6,330,10)
57 CALL SOUND(A,784,6,392,10) :: FOR I=1 TO 3 :: CALL SOUND(D,698,I*3,349,I*4) :: CALL SOUND(D,784,1*3,392,I*4) :: D=D+45 :: NEXT I
58 CALL SOUND(1000,698,2,587,5,440,8) :: FOR I=1 TO 105 :: NEXT I :: FOR I=5 TO 22 :: CALL SOUND(-99,698,I+2,587,I+5,440,I+8) :: NEXT I
59 CALL SOUND(1000,659,3,554,5,392,7) :: FOR I=1 TO 125 :: NEXT I :: FOR I=5 TO 22 :: CALL SOUND(-99,659,I+2,554,I+5,392,I+8) :: NEXT I
60 CALL SOUND(A*24,587,0,349,5,1102,X,Y,3)
61 CALL SOUND(A*10,W,X) :: A=140
62 CALL SOUND(A,220,9,440,9,880,9) :: GOTO 66
63 CALL SOUND(A,L,9,2*L,9,4*L,9) :: CALL SOUND(A,220,9,440,9,880,9) :: RETURN
64 CALL SOUND(A,L,6,2*L,4,4*L,4) :: CALL SOUND(A,110,16,220,5,440,5) :: RETURN
65 CALL SOUND(A,L,0,2*L,2,L*7.5,30,-4,1) :: CALL SOUND(A,220,7,440,6,880,5) :: RETURN
66 L=294 :: GOSUB 63 :: L=330 :: GOSUB 63 :: L=349 :: GOSUB 63 :: L=294 :: GOSUB 63
67 L=330 :: GOSUB 63 :: L=349 :: GOSUB 63 :: L=392 :: GOSUB 63 :: L=330 :: GOSUB 63
68 L=349 :: GOSUB 63 :: L=392 :: GOSUB 63 :: L=440 :: GOSUB 63 :: L=349 :: GOSUB 63
69 L=392 :: GOSUB 63 :: L=440 :: GOSUB 63 :: L=466 :: GOSUB 63 :: L=392 :: GOSUB 63
70 L=440 :: GOSUB 63 :: L=349 :: GOSUB 63 :: L=392 :: GOSUB 63 :: L=330 :: GOSUB 63
71 L=349 :: GOSUB 63 :: L=294 :: GOSUB 63 :: L=330 :: GOSUB 63 :: L=277 :: GOSUB 63
72 L=294 :: GOSUB 64 :: L=220 :: GOSUB 64 :: L=233 :: GOSUB 64 :: L=196 :: GOSUB 64 :: L=220 :: GOSUB 64 :: L=175 :: GOSUB 64 :: L=196 :: GOSUB 64 :: L=165 :: GOSUB 64
73 L=175 :: GOSUB 64 :: L=147 :: GOSUB 64 :: L=196 :: GOSUB 64 :: L=165 :: GOSUB 64 :: L=175 :: GOSUB 64 :: L=147 :: GOSUB 64 :: L=165 :: GOSUB 64 :: L=139 :: GOSUB 64
74 L=294 :: GOSUB 65 :: L=220 :: GOSUB 65 :: L=233 :: GOSUB 65 :: L=196 :: GOSUB 65 :: L=220 :: GOSUB 65 :: L=175 :: GOSUB 65 :: L=196 :: GOSUB 65 :: L=165 :: GOSUB 65
75 L=175 :: GOSUB 65 :: L=147 :: GOSUB 65 :: L=196 :: GOSUB 65 :: L=165 :: GOSUB 65 :: L=175 :: GOSUB 65 :: L=147 :: GOSUB 65 :: L=165 :: GOSUB 65 :: L=139 :: GOSUB 65
76 CALL SOUND(A*2,587,3,147,0,1102,30,-4,3) :: CALL SOUND(A*6,W,X)
77 GOSUB 79 :: CALL SOUND(A*9,440,7,277,7,825,30,-4,0) :: CALL SOUND(A*3,W,X) :: GOSUB 79
78 CALL SOUND(A*10,440,7,277,7,825,30,-4,0) :: GOTO 86
79 CALL SOUND(A,294,7,587,7,932,7) :: CALL SOUND(A,349,7,1397,7) :: CALL SOUND(A,466,7,1175,7,1864,7) :: CALL SOUND(A,349,7,1397,7)
80 CALL SOUND(A,262,7,523,7,880,7) :: CALL SOUND(A,330,7,1319,7) :: CALL SOUND(A,440,7,1047,7,1760,7) :: CALL SOUND(A,330,7,1319,7)
81 CALL SOUND(A,233,7,466,7,784,7) :: CALL SOUND(A,294,7,1175,7) :: CALL SOUND(A,392,7,932,7,1568,7) :: CALL SOUND(A,294,7,1175,7)
82 CALL SOUND(A,220,7,440,7,880,7) :: CALL SOUND(A,330,7,1109,7) :: CALL SOUND(A,277,7,440,7,1319,7) :: CALL SOUND(A,880,8,1760,7)
83 CALL SOUND(A*2,147,7,294,7,1102,X,Y,7) :: CALL SOUND(A*2,294,7,349,7,466,7) :: CALL SOUND(A*2.2,131,7,220,7,982,X,Y,7)
84 CALL SOUND(A*2.4,262,7,330,7,440,7) :: CALL SOUND(A*2,117,7,233,7,877,X,Y,0) :: CALL SOUND(A*1.3,W,X)
85 CALL SOUND(A*2.4,233,7,294,7,392,7) :: CALL SOUND(A*1.1,W,X) :: RETURN
86 CALL SOUND(A*5,440,7) :: A=120 :: CALL SOUND(A,392,6) :: CALL SOUND(A,349,5) :: CALL SOUND(A,330,4) :: CALL SOUND(A,294,3) :: CALL SOUND(A,262,4)
87 CALL SOUND(A,247,5) :: CALL SOUND(A,262,6) :: CALL SOUND(A,220,7) :: CALL SOUND(A,247,6) :: CALL SOUND(A,262,5) :: CALL SOUND(A,247,4)
88 CALL SOUND(A,330,3) :: CALL SOUND(A,349,4) :: CALL SOUND(A,392,5) :: CALL SOUND(A,440,6) :: CALL SOUND(A,392,7) :: CALL SOUND(A,349,6)
89 CALL SOUND(A,330,5) :: CALL SOUND(A,349,4) :: CALL SOUND(A,294,3) :: CALL SOUND(A,349,3) :: CALL SOUND(A,440,2) :: CALL SOUND(A,554,1)
90 CALL SOUND(A*4,587,0) :: CALL SOUND(A*4,W,X) :: A=100 :: CALL SOUND(A,110,8,440,8) :: CALL SOUND(A,123,7,494,7) :: CALL SOUND(A,139,6,554,6)
91 CALL SOUND(A,147,5,587,5) :: CALL SOUND(A,165,4,659,4) :: CALL SOUND(A,175,3,698,3) :: CALL SOUND(A,196,2,784,2)
92 CALL SOUND(A,220,1,880,1) :: CALL SOUND(A,233,0,466,0,932,0) :: A=140 :: CALL SOUND(A*4,W,X) :: GOSUB 93 :: GOTO 96
93 CALL SOUND(A*2,587,1,147,1,1102,X,Y,1) :: CALL SOUND(A*2,349,1,587,1,932,1) :: CALL SOUND(A*2.2,440,1,131,1,982,X,Y,1)
94 CALL SOUND(A*2.4,330,1,523,1,880,1) :: CALL SOUND(A*2,466,1,117,1,877,X,Y,1) :: CALL SOUND(A*1.3,W,X)
95 CALL SOUND(A*2.4,147,1,466,1,784,1) :: CALL SOUND(A*1.3,W,X) :: CALL SOUND(A*9,880,1,554,1,825,X,Y,1) :: CALL SOUND(A*3,W,X) :: RETURN
96 CALL SOUND(A,932,8,587,8) :: CALL SOUND(A,1397,8,587,8) :: CALL SOUND(A,1864,8,1175,8,698,8) :: CALL SOUND(A,1397,8,698,8)
97 CALL SOUND(A,880,8,523,8) :: CALL SOUND(A,1319,8,523,8) :: CALL SOUND(A,1760,8,1047,8,659,8) :: CALL SOUND(A,1319,8,659,8)
98 CALL SOUND(A,784,8,466,8) :: CALL SOUND(A,1175,8,466,8) :: CALL SOUND(A,1568,8,932,8,587,8) :: CALL SOUND(A,1175,8,587,8)
99 CALL SOUND(A,880,8,440,8) :: CALL SOUND(A,1109,8,440,8) :: CALL SOUND(A,1319,8,554,8) :: CALL SOUND(A,1760,8,880,8,554,8)
100 GOSUB 93 :: CALL SOUND(A*2,W,X) :: CALL SOUND(A*11,988,1,349,1,780,X,Y,1) :: CALL SOUND(A*3,W,X) :: CALL SOUND(A*24,1109,1,330,1,735,X,Y,1)
101 CALL SOUND(A*4,W,X) :: GOTO 103
102 CALL SOUND(Z,L,M,L*2,M,L*4,M) :: RETURN
103 Z=2*A :: L=247 :: M=5 :: GOSUB 102 :: L=220 :: M=3 :: GOSUB 102 :: L=277 :: M=7 :: GOSUB 102 :: Z=A :: L=330 :: M=5 :: GOSUB 102 :: L=392 :: M=4 :: GOSUB 102
104 Z=4000 :: L=466 :: M=0 :: GOSUB 102 :: FOR DELAY=1 TO 400 :: NEXT DELAY :: Z=-100 :: FOR M=15 TO 30 :: GOSUB 102 :: NEXT M
105 Z=A :: L=440 :: M=3 :: GOSUB 102 :: L=392 :: M=4 :: GOSUB 102 :: L=349 :: M=5 :: GOSUB 102 :: L=330 :: M=6 :: GOSUB 102
106 L=349 :: M=2 :: GOSUB 102 :: L=330 :: M=3 :: GOSUB 102 :: L=294 :: M=4 :: GOSUB 102 :: L=277 :: M=5 :: GOSUB 102
107 L=294 :: M=1 :: GOSUB 102 :: L=262 :: M=2 :: GOSUB 102 :: L=233 :: M=3 :: GOSUB 102 :: L=220 :: M=4 :: GOSUB 102
108 L=196 :: M=0 :: GOSUB 102 :: L=175 :: M=1 :: GOSUB 102 :: L=165 :: M=2 :: GOSUB 102 :: L=147 :: M=3 :: GOSUB 102
109 CALL SOUND(4250,659,0,466,0,139,0) :: FOR I=1 TO 600 :: NEXT I :: FOR I=10 TO 30 :: CALL SOUND(-99,659,I,466,I,139,I) :: NEXT I :: GOTO 120
110 CALL SOUND(A,B,10,C,10) :: CALL SOUND(A,D,10,E,10) :: RETURN
111 A=120 :: B=659 :: C=1109 :: D=784 :: E=1319 :: GOSUB 110 :: D=554 :: E=932 :: GOSUB 110 :: GOSUB 110 :: RETURN
112 B=466 :: C=784 :: D=554 :: E=932 :: GOSUB 110 :: D=392 :: E=659 :: GOSUB 110 :: GOSUB 110 :: RETURN
113 B=330 :: C=554 :: D=392 :: E=659 :: GOSUB 110 :: D=277 :: E=466 :: GOSUB 110 :: GOSUB 110 :: RETURN
114 B=330 :: C=554 :: D=392 :: E=659 :: GOSUB 110 :: GOSUB 110 :: B=466 :: C=784 :: GOSUB 110 :: RETURN
115 CALL SOUND(A,330,10,784,10) :: CALL SOUND(A,392,10,466,10,932,10) :: RETURN
116 CALL SOUND(A,233,10,554,10,784,10) :: CALL SOUND(A,277,10,466,10,932,10) :: RETURN
117 CALL SOUND(A,233,10,554,10,1109,10) :: CALL SOUND(A,165,9,932,9) :: CALL SOUND(A,233,8,554,8,784,8)
118 CALL SOUND(A,139,10,659,10,1319,10) :: RETURN
119 CALL SOUND(A,165,I,1109,I) :: CALL SOUND(A,139,I-1,659,I-1,1319,I-1) :: RETURN
120 FOR I=1 TO 4 :: GOSUB 111 :: NEXT I :: FOR I=1 TO 4 :: GOSUB 112 :: NEXT I :: FOR I=1 TO 4 :: GOSUB 113 :: NEXT I
121 FOR I=1 TO 4 :: GOSUB 114 :: NEXT I :: FOR I=1 TO 3 :: GOSUB 115 :: NEXT I :: FOR I=1 TO 3 :: GOSUB 116 :: NEXT I :: GOSUB 117
122 FOR I=7 TO 1 STEP-2 :: GOSUB 119 :: NEXT I
123 CALL SOUND(2000,880,0,554,0,735,30,-4,0) :: CALL SOUND(400,40000,30)
124 CALL SOUND(2000,880,0,587,0,656,30,-4,0) :: CALL SOUND(400,40000,30)
125 CALL SOUND(2800,784,0,587,0,877,30,-4,0) :: CALL SOUND(700,110,30,110,30,877,30,-4,0)
126 CALL SOUND(600,110,30,220,18,825,30,-4,0)
127 CALL SOUND(800,110,30,196,18,735,30,-4,0) :: CALL SOUND(3800,784,0,554,0,825,30,-4,0) :: GOTO 129
128 CALL SOUND(420,110,30,B,10,B*3.75,30,-4,0) :: RETURN
129 B=330 :: GOSUB 128 :: B=349 :: GOSUB 128 :: B=294 :: GOSUB 128 :: B=330 :: GOSUB 128 :: B=277 :: GOSUB 128
130 B=294 :: GOSUB 128 :: B=247 :: GOSUB 128 :: B=277 :: GOSUB 128 :: B=220 :: GOSUB 128 :: B=233 :: GOSUB 128 :: B=208 :: GOSUB 128
131 B=220 :: GOSUB 128 :: CALL SOUND(400,1109,0,440,0,1470,30,-4,0) :: CALL SOUND(800,1175,0,440,0,1312,30,-4,0)
132 CALL SOUND(800,698,0,440,0,1102,30,-4,0) :: CALL SOUND(1600,587,1,330,0,825,30,-4,0)
133 CALL SOUND(800,554,2,330,0,825,30,-4,0) :: CALL SOUND(800,554,2,392,1,825,30,-4,0)
134 CALL SOUND(1600,587,3,392,1,551,30,-4,0) :: CALL SOUND(1000,587,3,349,1,551,30,-4,0)
135 CALL SOUND(1200,587,2,330,1,551,30,-4,0) :: CALL SOUND(4250,587,1,349,2,551,30,-4,0) :: CALL SOUND(B,W,X)
136 FOR A=1 TO 300 :: NEXT A :: CALL CLEAR :: ON ERROR 137 :: END

Share

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

This site uses Akismet to reduce spam. Learn how your comment data is processed.