This file is part of Byte Power Spring 1987
. Download the collection to get this file.
Content
Source Code
0
1 REM DUO-VOICE (BEEP)
2 REM RESET 1987 BYTE POWER
3 REM WRITTEN BY K. BOISVERT
4
5 REM INITIALISE VARIABLES
6 LET A=0: LET A1=0: LET B=0: LET B1=0
10 LET V1=50000: LET V2=50250
19 REM GET FIRST NOTES
20 GO SUB 100: GO SUB 200
29 REM COUNTER FOR VOICE 1 IF 0 THEN GET NEXT NOTE
30 LET A1=A1-1: IF A1=0 THEN GO SUB 100
34 REM COUNTER FOR VOICE 2 IF 0 THEN GET NEXT NOTE
35 LET B1=B1-1: IF B1=0 THEN GO SUB 200
41 REM CHECK IF END OF MUSIC YOU MAY NEED TO CHANGE THIS FOR YOUR OWN WAY OF KNOWING WHEN MUSIC IS FINISHED
42 IF A=255 THEN STOP
44 REM CHECK IF BOTH A PAUSE
45 IF A>=254 AND B>=254 THEN PAUSE 1: GO TO 30
49 REM IF ONLY VOICE 1 IS A PAUSE THEN PLAY THE SAME NOTE AS VOICE 2 BUT STILL USING COUNTER FOR VOICE 1
50 IF A>=254 THEN LET A=B
54 REM IF ONLY VOICE 2 IS A PAUSE THEN PLAY THE SAME NOTE AS VOICE 2 BUT STILL USING COUNTER FOR VOICE 2
55 IF B>=254 THEN LET B=A
59 REM PLAY THE NOTES ONE RIGHT AFTER THE OTHER A-36 AND B-36 MEANS MUSIcomp DATA -36 (TO GET THE RIGHT NOTE, SEE SEE MUSIcomp V1.1) IF YOU PUT YOUR OWN DATA YOU WILL NOT NEED TO ALTER THE VALUES OF A OR B. IF YOU WANT AN OCTAVE HIGHER, JUST ADD [-/+] 12 TIMES THE # OF OCTAVES TO BE ADDED OR SUBSTRACTED. IE:IF YOU WANT 3 OCTAVES LOWER, SUBSTRACT 36.
60 BEEP .015,A-36: BEEP .015,B-36
69 REM COMPLETE LOOP
70 GO TO 30
99 REM IF VOICE FINISHED THEN DO NOT GET ANY MORE NOTES
100 IF A=255 THEN RETURN
109 REM GET NEXT NOTE OF VOICE1
110 LET A=PEEK V1: LET A1=PEEK (V1+1): LET V1=V1+2
120 RETURN
199 REM IF VOICE FINISHED THEN DO NOT GET ANY MORE NOTES
200 IF B=255 THEN RETURN
209 REM GET NEXT NOTE OF VOICE2
210 LET B=PEEK V2: LET B1=PEEK (V2+1): LET V2=V2+2
220 RETURN
8999 REM LOADER
9000 LOAD "DUO-MUSIC"CODE 5E4,495: RUN
9998 REM SAVE PROGRAM
9999 SAVE "DUO-VOICE" LINE 9000: SAVE "DUO-MUSIC"CODE 5E4,495
Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.
