Home » Personal collection » Commodore tapes » Commodore_64 » drawer_tr_tape01a_d60_c64_tape.wav » music-start
music-start
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 » Personal collection » Commodore tapes » Commodore_64 » drawer_tr_tape01a_d60_c64_tape.wav |
| Filename: | music-start |
| Read OK: | ✔ |
| File size: | 04F4 bytes |
| Load address: | 0801 |
| Exec address: | 0000 |
File contents
10 DIMLO(3):DIMHI(3)
20 PRINTCHR$(147);CHR$(5);:DIMX(4,8):GOTO210
30 POKE 53280,0:POKE 53281,0:VL=3
40 POKE 214,12:A$="TITLE OF MUSIC"
50 POKE 211,20-(LEN(A$)/2)
60 SYS58732:PRINT;A$:FORL=54272TO54296:POKEL,0:NEXT:POKE54296,3
70 READ VO
80 IF INT(VO)<>VO THEN 160
90 IF VO=0 THEN READVL:POKE54296,VL:GOTO 70
95 IF VO<1 OR VO>3 THEN PRINT"TOO MANY NOTES!":END
100 FOR X=1 TO VO
110 READ HI(X),LO(X)
120 IF LO(X)=0 AND HI(X)=0 THEN NEXT:T=TIME:GOTO 145
130 S=(X-1)*7+54272
140 POKES,LO(X):POKES+1,HI(X):POKES+4,WAVE(X):NEXT:T=TIME
145 READ DU
150 IF TIME<T+DU*2 THEN 150
152 FORX=1TO3:S=(X-1)*7+54276
153 IF LO(X)=0 AND HI(X)=0 THEN NEXT:GOTO 70
154 IF WAVE(X)=0 THEN PRINT"NO INSTRUMENT SET ON VOICE ";X;"ERROR!":END
155 POKES,WAVE(X)-1:NEXT
157 GOTO 70
160 IF VO=100.5 THEN END
165 IF VO=101.5 THEN 260
170 IN=VO*10-(INT(VO)*10):POKE54296,0
180 S=(VO-IN/10-1)*7+54272
190 WAVE(INT(VO))=X(0,IN):POKES+6,X(2,IN)
195 POKES+5,X(1,IN)
200 POKES+3,X(3,IN):POKES+2,X(4,IN):POKE 54296,VL:GOTO70
210 FORLO=1TO8:FORL=0TO4
220 READX(L,LO):NEXT:NEXT:GOTO30
230 DATA 65,9,255,0,255,17,96,255,0,0,33,9,255,0,0
240 DATA 17,9,255,0,0,17,0,255,0,0,17,0,255,0,0
250 DATA 17,102,255,0,0,33,96,255,0,0
260 READD:T=TIME
270 IF TIME<T+D*2 THEN 270
280 GOTO 70
1000 DATA 1.1,0,15,2.5,3.6
1010 DATA 3,33,135,21,31,56,99,50
1020 DATA 1,33,135,50
1030 DATA 1,33,135,50
1040 DATA 1,33,135,50
1050 DATA 1,33,135,50
1060 DATA 1,33,135,50
1070 DATA 1,33,135,50
1080 DATA 1,33,135,50
1090 DATA 1,33,135,50
1100 DATA 1,33,135,50
1110 DATA 1,33,135,50
1120 DATA 100.5
�LO(3):�HI(3) 2 ��(147);�(5);:�X(4,8):�210 O � 53280,0:� 53281,0:VL�3 p( � 214,12:A$�"TITLE OF MUSIC"