This file is part of Byte Power December 1986 - January 1987
. Download the collection to get this file.
Developer(s): Eric Boisvert, Kristian Boisvert
Date: 1987
Type: Program
Platform(s): TS 2068
Tags: Sound
Content
Source Code
1 REM REAL ECHO WRITTEN BY E & K BOISVERT ©1986 BYTE POWER TOCCATA BY Leonardo Leo
5 REM V1=ADDRESS OF MAIN MUSIC V2=ADDRESS OF ECHO AT FIRST V2 STARTS AT A PAUSE (DELAY OF ECHO)
6 LET v1=60003: LET v2=60000
9 REM POKE V2,254 FOR THE DELAY (PAUSE) POKE V2+2,1 DURATION OF DELAY
10 POKE V2,254: POKE V2+2,1
14 REM FIND FIRST NOTES OF VOICE 1 & 2
15 GO SUB 100: GO SUB 200
30 REM 255=END OF MUSIC 254=REST (PAUSE) (MUSIcomp COMPATIBLE DATA)
35 IF a1=255 AND B1=255 THEN STOP
39 REM A4 & B4 ARE THE VOLUME OF VOICE 1 & 2
40 LET a4=15: IF a1>=254 THEN LET a4=0
43 REM VOLUME OF VOICE 2 (ECHO) HAS TO BE LOWER TO CREATE EFFECT
45 LET b4=12: IF b1>=254 THEN LET b4=0
49 REM PLAY NOTES
50 SOUND 8,a4;9,b4;7,60;0,a1;1,a2;2,b1;3,b2
54 REM TEMPO (PAUSE 4)
55 PAUSE 4
59 REM A3 & B3 DURATION OF NOTE IF EQUAL 0 THEN FIND NEXT NOTE
60 LET a3=a3-1: IF a3=0 THEN GO SUB 100
65 LET b3=b3-1: IF b3=0 THEN GO SUB 200
69 REM COMPLETE LOOP
70 GO TO 35
100 REM FIND NOTE OF VOICE 1 AND ADD 3 TO V1 (NEXT NOTE OF VOICE 1)
105 LET a1=PEEK v1: LET a2=PEEK (v1+1): LET a3=PEEK (v1+2): LET v1=v1+3
109 REM LOWER VOLUME (IF NOT PAUSE OR END) TO SEPARATE NOTES (NOT 0 FOR SMOOTHER DELIVERY)
110 IF A1<254 THEN SOUND 8,14
120 RETURN
200 REM FIND NOTE OF VOICE 2 AND ADD 3 TO V2 (NEXT NOTE OF VOICE 2)
205 LET b1=PEEK v2: LET b2=PEEK (v2+1): LET b3=PEEK (v2+2): LET v2=v2+3
209 REM LOWER VOLUME (IF NOT PAUSE OR END) TO SEPARATE NOTES (NOT 0 FOR SMOOTHER DELIVERY)
210 IF B1<254 THEN SOUND 9,11
220 RETURN
8999 REM LOAD CODES FOR MUSIC
9000 LOAD ""CODE 60003: RUN
9999 SAVE "REAL ECHO" LINE 9000: SAVE "MUSIC"CODE 60003,895: VERIFY "REAL ECHO": VERIFY "MUSIC"CODE
Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.
