Home » Personal collection » Commodore disks » disk65a_programs_1.d64 » music-start-v2
music-start-v2
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 disks » disk65a_programs_1.d64 |
Filename: | music-start-v2 |
Read OK: | ✔ |
File size: | 0CB8 bytes |
Load address: | 0801 |
Exec address: | 0000 |
Duplicates
There are 2 duplicate copies of this file in the archive:
- Personal collection » Commodore disks » disk65a_programs_1.d64 » music-start-v2
- Personal collection » Commodore disks » disk50a2_progs1.d64 » music-start-v2
- Personal collection » Commodore tapes » Commodore_64 » drawer_tr_tape01a_d60_c64_tape.wav » music-start-v2
File contents
10 POKE54296,15 150 POKE 53281,9:POKE53280,9 160 PRINT"<cursor down><cursor down><yellow>THE MUSIC MUST ALL BE PROCESSED 170 PRINT"BEFORE IT CAN BE PLAYED" 180 PRINT"PLEASE BE PATIENT-THIS TAKES A WHILE" 210 SCHIP=54272:DIMWAV(2) 220 FOR VOICE=0TO2 230 READAD,SR,WAV(VOICE),PW 240 POKE SC+5+7*VO,AD:POKESC+6+7*VO,SR 250 POKE SC+2+7*VO,PW AND 255:POKESC+3+7*VO,INT(PW/256) 260 NEXT 270 FOR I=21TO23:READX:POKESC+I,X:NEXT:READVB 280 READ TT$ 310 DIM FRQ(11) 320 FORI=0TO11:READFRQ(I):NEXT 340 DIMCLOCK(2) 350 FORI=0TO2:CLOCK(I)=0:NEXT 410 DIMA%(5000):K=1 510 READ NP 520 DIMDLINE(NP),DADDR(NP) 530 FORI=1TONP:READDL(I):NEXT 550 FORI=0TO49:READX:POKE49152+I,X:NEXT 560 I=0:POKE252,8:POKE251,0 570 I=I+1 580 POKE254,INT(DL(I)/256) 590 POKE253,DL(I) AND 255 600 SYS 49152 610 IF PEEK(2)=255 THEN PRINT"NO SUCH DATA LINE AS";DL(I):END 620 DADDR(I)=PEEK(252)*256+PEEK(251)-3 630 IF I<NP THEN 570 660 READ NP:DIMPN(NP) 670 FOR I=1TONP:READPN(I):NEXT 1020 PH=0 1030 PH=PH+1 1040 IF PH>NP THEN 1450 1050 GOSUB 2000 1060 READ NTE$ 1070 IF NTE$="***" THEN 1030 1080 DU=ASC(LEFT$(NTE$,1)) 1090 IF DU>87 AND DU<91 THEN VO=DU-88:GOTO1140 1100 NTE$="/"+NTE$ 1140 DU=VAL(MID$(NTE$,2,1)) 1150 IF DU>0 THEN OC=DU:GOTO1170 1160 NTE$="/"+NTE$ 1170 SH=MID$(NTE$,4,1)="#" 1180 PL=4:IF SHARP THEN PL=5 1190 DU=VAL(MID$(NTE$,PL)) 1200 IF DU>0 THEN DR=DU 1210 ON ASC(MID$(NTE$,3,1))-64 GOTO 1270,1280,1220,1230,1240,1250,1260 1220 PL=0:GOTO1290 1230 PL=2:GOTO1290 1240 PL=4:GOTO1290 1250 PL=5:GOTO1290 1260 PL=7:GOTO1290 1270 PL=9:GOTO1290 1280 PL=11 1290 IF SHARP THEN PL=PL+1 1300 FQ=INT(FR(PL)/2^(7-OC)) 1310 IF CLOCK(VO)<=0 THEN 1390 1320 REM 1330 DE=CL(VO) 1340 FOR I=0TO3 1350 IF CLOCK(VO)>0 AND CLOCK(VO)<DE THEN DE=CL(VO) 1360 NEXT 1370 A%(K)=-1:A%(K+1)=DE:K=K+2 1380 FOR I=0TO2:CL(I)=CL(I)-DE:NEXT 1390 REM 1400 A%(K)=VO:A%(K+1)=INT(FQ/256):A%(K+2)=FQ AND 255:K=K+3 1410 CL(VO)=DR*8 1420 GOTO 1060 1450 REM 1460 DE=CL(0) 1470 IF CL(1)>DE THEN DE=CL(1) 1480 IF CL(2)>DE THEN DE=CL(2) 1490 A%(K)=-1:A%(K+1)=DE*2:A%(K+2)=-99 1520 DIM LO(2),HI(2),WV(2) 1530 PRINTCHR$(147); 1540 PRINT"<cursor down><cursor down>";TT$ 1550 NOW=0:K=1:POKESC+24,VB 1560 VC=A%(K) 1570 IF VC=-99 THEN 1900 1580 IF VC=-1 THEN GOSUB 1700:GOTO1560 1590 WV(VC)=WA(VC)+1 1600 HI(VC)=A%(K+1):LO(VC)=A%(K+2) 1610 K=K+3:GOTO1560 1700 REM 1710 IF NO>TI THEN 1710 1720 POKESC,LO(0):POKESC+1,HI(0) 1730 POKESC+7,LO(1):POKESC+8,HI(1) 1740 POKESC+14,LO(2):POKESC+15,HI(2) 1750 POKESC+4,WAV(0):POKESC+11,WAV(1):POKESC+18,WAV(2) 1760 POKESC+4,WV(0):POKESC+11,WV(1):POKESC+18,WV(2) 1770 NO=TI+A%(K+1) 1780 WV(0)=WAV(0):WV(1)=WAV(1):WV(2)=WAV(2) 1790 K=K+2:RETURN 1900 REM 1910 GOSUB 1700 1920 POKESC+4,0:POKESC+11,0:POKESC+18,0:POKESC+24,0 1930 PRINT"<cursor down><cursor down>WOULD YOU LIKE THAT AGAIN?" 1940 GET A$:IF A$="" THEN 1940 1950 IF A$="N"THENEND 1960 PRINT"<cursor up> <cursor up><cursor up><cursor up>" 1970 GOTO 1540 2000 REM 2010 LI=DL(PN(PH)):AD=DA(PN(PH)) 2020 LH=INT(LI/256):LL=LI-256*LH 2030 AH=INT(AD/256):AL=AD-256*AH 2040 POKE 64,LH:POKE63,LL 2050 POKE 66,AH:POKE65,AL 2060 RETURN 3020 REM INSTRUMENT SETTINGS 3030 DATA 42,0,64,150 3040 DATA 42,0,64,150 3050 DATA 42,0,64,150 3060 REM INSTRUMENT DETAILS 3070 DATA0,0,0,15 3080 REM THE TITLE 3100 DATA "TITLE OF MUSIC!" 3200 REM DO NOT TOUCH! 3210 DATA 34334,36376,38539,40830,43258,45830 3220 DATA 48556,51443,54502,57743,61176,64814 3400 REM NUMBER OF PHRASES 3405 DATA 9 3410 REM START LINE OF EACH PHRASE 3420 DATA 4010,4070,4220,4250,4280,4310,4470,4500,4530 3430 REM ROOM FOR MORE DATA 3600 REM DO NOT TOUCH 3610 DATA 230,251,208,2,230,252,165,252,197,46,208,11,165 3620 DATA 251,197,45,208,5,169,255,133,2,96,160,0,177 3630 DATA 251,197,253,208,225,200,177,251,197,254,208,218 3640 DATA 200,177,251,201,131,208,211,169,0,133,2,96 3800 REM NUMBER OF PHRASES TO BE PLAYED 3810 DATA 12 3820 REM ORDER TO BE PLAYED 3830 DATA 1,2,3,2,4,6,7,6,8,9,2,5 4010 DATA *** 4070 DATA *** 4220 DATA *** 4250 DATA *** 4280 DATA *** 4310 DATA *** 4470 DATA *** 4500 DATA *** 4530 DATA *** 4560 DATA ***
�54296,15 &� � 53281,9:�53280,9 O� �"�THE MUSIC MUST ALL BE PROCESSED n� �"BEFORE IT CAN BE PLAYED"