Real Echo Example

This file is part of Byte Power December 1986 - January 1987 . Download the collection to get this file.
Date: 1987
Type: Program
Platform(s): TS 2068
Tags: Sound

Content

Appears On

Related Products

Related Articles

This month I will talk about the ‘REAL ECHO’. This one is a little more complicated than the ‘FALSE ECHO’...

Related Content

Image Gallery

Real Echo Example

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.

Scroll to Top