&( "PUT COCO 1/2 INTO ALL RAM MODE"&M I3584 358424: A: I,A: I&X 3584&e( "DONE"&k2&< 26,80,142,128,0,166,132,183,255&F 223,167,128,140,224,0,39,5,183&P 255,222,32,239,28,175,5740,224,0,39,5,183,255,222,32,239,28,175,57 A 32512 32536&M B: A,B&U( A&r2A(&HE000): &HE000,55&< (&HE000) 55 32512:&F &HE000, A&P "ALREADY IN ALL RAM MODE"&Z')d 26,80,142,128,0,166,132,183,255,223,167,128,1`& &, "REMOVE BASIC'S TIMER COUNTER"&T "REPLACE WITH SSC STATUS MONITOR"&w( "NEED TO BE IN ALL-RAM MODE"&}2&< "TOP RIGHT CORNER OF MONITOR WILL DISPLAY $FF7E"&F &H8955, &H3B&P &H8956, &HFF&Z &H8957, &H7E'd &H8958, &HB7'n &H8959, &H04'&x &H895A, &H1F'9 &H895B, &H12'L &H895C, &H12'_ &H8955, &HB6O BE IN ALL-RAM MODE"&}2&< "TOP RIGHT CORNER OF MONITOR WILL DISPLAY $FF7E"&F &H8955, &H3B&P &H8956, &HFF&Z &H8957, &H7E'd &H8958, &HB& 32&&: &HFF7D,1: X 0 10: X:&HFF7D,0&P(X&HFF00:Y&HFF7E&o2 X1,52:X3,63: X35,60&< @0,"S/SC SOUND COMMANDS - GUIDE"&F DRAW SCREEN&PA 0&ZB 0&dC 0&nD (152)&xE (40952)&F (2552)' A 0 @32,"TONE "'4 A 1 @32,"NOISE"'O B 0 @64,"CH A"'j B 1 @64,"CH B"' B 2 @64,"CH C"' C 0 @96,"FIX"'ȅ C 1 @96,"ENV"'҅ C 0 @128,"AMP:";D'܅ C 1 @160," "( @192,"PERIOD:";E(' @224,"DURATION:";F(?A$: A$"" 250(V A$(13) 1000(a 140(| A 0 1001 : 2000(遦 9000: Y,&H8F(ꁦ 9000: Y,&H80( (Y)( 9000: Y, &H98(Z (B32) (M16) D( (Z)) 9000: Y,Z)Z (E256))$ (Z))7 9000: Y,Z)G$Z E 255)S) (Z))e. 9000: Y,Z)q3 (F))8 9000: Y,F)B 9000: Y,&HFF)L 9000: Y,&HD8)V 140)Њ)#( Q 1 10: Q)#- ((Y) 128) 0 9005)#29000%& RESET SOUND BOARD&: :W&HFF7D:X&HFF00:Y&HFF7E&N "SOUND ORGAN"& "USE KEYS ON BOTTOM TWO ROWS OF KEYBOARD"& X1,52:X3,63: X35,60& W,1:W,0&# TONE VALUE ARRAY&( T(20)&2 SET SOUND TO IMMEDIATE MODE'< Y,175: 280'"F SETUP OTHER PARAMETERS'FP ZERO OUT COARSE TONE REGISTER'^Z ON TONE CHANNEL A'yd Y,1:280:Y,0:280'n A 1 8: B: Y,B'x 280: A' READ IN TONE VALUES' A 2 17: T(A): A'IN$( CHECK FOR A VALID KEY(#A(" ZSXCFVGBNJMK,L./",IN$)(K NOT A VALID KEY... TURN OFF SOUND([ A2 260( GOING TO PUT SOUND IN REGISTER 0( Y,0: 280(Ȓ Y, T(A):280(҂ TURN ON CHANNEL A SOUND(ܒ Y,8:280: Y,16) B338 345:B, 255: B: 150)" TURN OFF SOUND ON CHANEL A)= Y,8:280:Y,0:150)\ WAIT IF BOARD ISNT READY)} ((Y) 128)0 280 : )" SELECT IMMEDIATE MODE), TURN ON CHANNEL A TONE)6 7,254)@ SET FINE & COURSE REPEAT PERIOD*J CHANGING THE LINE TO 11, 100, 12, 1*4T WILL INCREASE TREMOLO SPEED*V^ 11,50,12,3 WILL DECREASE IT*fh 11,0,12,2*r SET TYPE OF SOUND (13,...)*| 8=ATTACK, 10=TREMOLO, 11=CONSTANT* 13,10* VALUES FOR TONES* 254,240,226,214,202,190+ 180,170,160,151,143,135+$ 127,120,113,107TREMOLO SPEED*V^ 11,50,12,3 WILL DECREASE IT*fh 11,0,12,2*r SET TYPE OF SOUND (13,...)*| 8=ATTACK, 10=TREMOLO, 11=CONSTANT* 13,10* VALUES FOR TONES* 254,240,226,214,202,190+ 180,170,& 40&& ((Y) 128)0 20&,&E(:W&HFF7D: X&HFF00&\2Y&HFF7E: X1,52&r< X3,63:X35,60&F W,1: W,0&P A(8,13): A1 7&Z B 0 13: A(A,B): B,A&d: 9) "SOUND EFFECTS"&n: 7)"<1> WHISTLE"'x 7)"<2> RACECAR"' 7)"<3> LASER"': 7)"<4> WHISTLING BOMB"'^ 7)"<5> BOMB WITH EXPLOSIONS"'w 7)"<6> EXPLOSION"' 7)"<7> GUNSHOT"': 7);' "YOUR SELECTION";S'ȅ S 1 S7 100'Ғ Y,175:20'܀A0 13:Y,A: 20( Y,A(S,A): 20: A(5 S 270,360,480,530,530,570,570(L S5 S6: 220(c W,1: W,0: 100(q WHISTLE( A64 32 2: Y,0(" 20: Y,A: 20(, A: A1 200: A(6 A64 48 2: Y,0(@ 20: Y,A: 20)J A: A48 96 2)T Y,0: 20),^ Y,A: 20: A: );h RACE CAR)]r A 11 4 1: Y,1: 20)u| Y,A: 20: 450) A: A 9 3 1) Y,1: 20: Y,A) 20: 450: A) A611: Y,1) 20: Y,A:20)450: A:*€ B255 0 8: Y,0*$́ 20: Y,B: 20*.֋ B:*: LASER*I A0 10*f B50 100 10: Y,0* 20: Y,B: 20: B* A :* WHISTLING BOMB* B30 200: Y,0*& 20: Y,B: 20*0 B: *: EXPLOSION OR GUNSHOT+D Y,13: 20: Y,0+-N A 1 15001000(S7)+8X A: +Fb WHISTLE+jl 0,0,0,0,0,0,1,46,15,9,0,0,0,0+yv RACE CAR+ 0,0,0,15,0,0,0,60,15,10,0,0,0,0+ LASER+ 0,0,0,0,0,0,0,254,15,0,0,0,0,0+ WHISTLING BOMB,  0,0,0,0,0,0,0,254,15,0,0,0,0,0,$ BOMB WITH EXPLOSION,I 0,0,0,0,0,0,0,254,15,0,0,0,0,0,YƂ EXPLOSION,І 0,0,0,0,0,0,0,7,16,16,16,0,56,0,ڂ GUNSHOT, 0,0,0,0,0,0,15,7,16,16,16,0,16,0,0,0,0,0,254,15,0,0,0,0,0+ WHISTLING BOMB,  0,0,0,0,0,0,0,254,1& INITIALIZE VARIABLES&4X&HFF00 : Y&HFF7E&h SET COCO SOUND MULTIPLEXER TO CARTRIDGE INPUT&( X1, 52 : X3, 63&2 ENABLE SOUND MULTIPLEXER&< X35, 60&F INPUT STRING TO BE SPOKEN&P A$&Z A$"" A$B$&dB$A$'nA$A$(13)'x 150' 80'? SUBROUTINE TO OUTPUT STRING'T I 1 (A$)'j CHECK FOR BUSY*' ((Y) 128) 0 170' OUTPUT EACH CHARACTER' Y, ((A$,I,1))'ȋ I'ҐKEN&P A$&Z A$"" A$B$&dB$A$'nA$N& RESET S/SC&, &HFF7D,1: &HFF7D,0&G INITIALIZE VARIABLES&_(X&HFF00 : Y&HFF7E&x2 TURN ON S/SC SOUND&< X1,52: X3,63: X35,60&F 200&P COMMAND &HB0 -- LOAD ALLOPHONES INTO BUFFER 0&Z Y,176'd READ ALLOPHONE ADDRESS STREAM TO THE S/SC'$n A 1 17',x D'7 200'B Y, D'J A' COMMAND &HF0 -- EXECUTE ALLOPHONE ADDRESS STERAM FROM BUFFER 0' 200' Y, 240''Ȃ CHECK FOR BUSY*'҅ ((Y) 128)0 210'ܐ( ALLOPHONE DATA END WITH A PAUSE AND TERMINATOR(M 8,15,45,51,4,4,4,8,15,16,9,49,31,13,51,4,255 COMMAND &HF0 -- EXECUTE ALLOPHONE ADDRESS STERAM FROM BUFFER 0' 200' Y, 240''Ȃ CHECK FOR BUSY*'҅ ((Y) 128)0 210'ܐ( ALLOPHONE DATA END $%SPEAK BAS ALLOPH BAS!QPSG1 BAS"DEMO BAS#SNDORG BAS(SNDEFF BASSSCMON BAScCOMMANDSBASPSG2 BAS&SNDBUF BAS'ALLRAM BAS& RESET S/SC&- &HFF7D,1: &HFF7D,0&H INITIALIZE VARIABLES&^(X&HFF00:Y&HFF7E&w2 TURN ON S/SC SOUND&< X1,52:X3,63:X35,60&F PUT S/SC INTO DIRECT ACCESS MODE&P 300&Z Y,&HAF&d POKE A FINE TONE ON CHANNEL A'n 300' x Y,0'E "ENTER A VALUE FOR A TONE ON CHANNEL A (0-255)";T'P 300'Z Y,T't CALL MIXER REGISTER' 300' Y,7' SET MIXER TO CHANEL A TONES ONLY'ȁ 300'Ғ Y,62'܂ CALL AMPLITUTUDE REGISTER FOR CHANNEL A'恦 300( Y,8(/ SET AMPLITUTDE AT MAXIMUM -- 15(: 300(F Y, 15(p GO BACK TO CHANGE TONE ON CHANNEL A({" 120(, CHECK FOR BUSY*(6 ((Y) 128) 0 310(@300'Ғ Y,62'܂ CALL AMPLITUTUDE REGISTER FOR CHANNEL A'恦 300& ************************&? **** DEMO PROGRAM ****&^ ** FOR SPEECH/SOUND ****&}( ** CARTRIDGE ***&2 ************************&< ************************&F 512&PX&HFF00:Y&HFF7E:Z&HFF7D&Z P$(8)&d'n SETUP'x' Z,1:Z,0'- X1,52: X3,63'; X35,60'A'G'c DEFINE SPEECH STRINGS'i'uȁ 2890'{҂'܂' LOAD SPEECH STRINGS'' "LOADING SPEECH"' C18' 3360' C'"','6 LOAD SOUNDS'@(J "LOADING SOUND"( T C1 6(,^ 3490(4h C(:r(M EXECUTE DEMO(S(i "DEMONSTRATING"(o( LOAD BASE TIMER(( 3170(̒ Y,&H8F(ց 3170( Y,60(ꁦ 3170((( EXEC SPEECH BUFFER 0() Y,208) & 3230)0 3030)$: 3170)*D)0N)KX EXEC SPEECH BUFFER 1)Qb)]l Y,209)iv 3030)u 3170){)) EXEC SPEECH BUFFER 4)) Y,212) 3300)Ɓ 3030)Ё 3170)ڂ)) EXEC SOUND BUFFER 0)*  Y,216* 3230*" 3100*. 3170*4**:4*U> EXEC SPEECH BUFFER 5*[H*gR Y,213*s\ 3230*f 3030*p 3170*z** EXEC SOUND BUFFER 1** Y,217* 3230* 3100* 3170*ʂ*Ԃ+ނ EXEC SPEECH BUFFER 2++  Y,210+, 3030+8 3170+>+E +`$ EXEC SPEECH BUFFER 4+f.+s8 Y, 212+B 3230+L 3030+V 3170+`+j+t EXEC REG STR BUFFER 3+~+ Y,251+ 3230+ 3100+ 3170+,,Ă EXEC REG STR BUFFER 4,*ؒ Y, 252,6⁦ 3230,B쁦 3100,N 3170,T,Z ,v EXEC REG STR BUFFER 3,|,( Y, 251,2 3230,< 3100,F 3170,P,Z,d EXEC REG STR BUFFER 5,n,x Y,253, 3230, 3100-  3170---3 EXEC REG STR BUFFER 3-9-EȒ Y,251-Qҁ 3230-]܁ 3100-i恦 3170-o-u- STOP ALL SOUND-- Y,207-" 3170-,-6-@ EXEC SPEECH BUFFER 3-J-T Y,211-^ 3230-h 3230.r 3230.| 3030. 3170.#.).C EXEC SOUND BUFFER 2.I.V Y, 218.b 3100.ń 3170.tւ.z. EXEC SPEECH BUFFER 7.. Y,215. 3170...& EXEC REG STR BUFFER.0.: Y,251.D 3100/N3170/ X/b/+l EXEC REG STR BUFFER 4/1v/= Y,252/I 3100/U 3170/[/a/} EXEC REG STR BUFFER 3//ƒ Y,251/Ё 3100/ځ 3170/// EXEC REG STR BUFFER 5// Y,253/ 3100/ 3170/*040!> EXEC REG STR BUFFER 30'H03R Y,2510?\ 31000Kf 31700Qp0Wz0l STOP ALL SOUND0r0~ Y,2070 3170000 EXEC SPEECH BUFFER 60ʂ0Ԓ Y,2140ނ0000  TUNE 11  COMMAND MODE SOUND1 $ 11,0,214,6,0,0,0,614 . 11,1,29,4,11,1,46,41O 8 11,1,29,4,11,1,13,121h B 11,1,29,6,0,0,0,181 L 11,0,226,6,0,0,0,61 V 11,0,214,6,0,0,0,01 `1 j1 t TUNE 21 ~ COMMAND MODE SOUND1 1 11,0,214,6,0,0,0,02 11,0,214,12,0,0,0,02 11,0,214,12,0,0,0,027 11,1,13,6,0,0,0,02Q 11,0,254,12,0,0,0,02i Ć 11,1,64,6,0,0,0,02o ΂2u ؂2 GUNSHOT2 COMMAND MODE NOISE2 WITH ENVELOPE2 2 159,15,15,191,15,152  223,15,15,98,0,14,52  0,0,0,02 (3 23 < C CHORD3. F DIRECT REGISTER SOUND34 P3M Z 0,172,1,1,2,83,3,13e d 4,29,5,1,6,0,7,563} n 8,9,9,9,10,9,11,03 x 12,0,13,03 3 3 F CHORD3 DIRECT REGISTER SOUND3 0,172,1,1,2,64,3,13 4,254,5,0,6,0,7,564 Ȇ 8,9,9,9,10,9,11,04 ҆ 12,0,13,04# ܂4) 47 G CHORD4S DIRECT REGISTER SOUND4Y 4s  0,197,1,1,2,125,3,14  4,29,5,1,6,0,7,564 " 8,9,9,9,10,9,11,04 , 12,0,13,04 64 @4 J STRINGS4 T TEXT-TO-SPEECH4 ^54 hP$(1)"HELLO . . . I AM THE COLOR COMPUTER SOUND AND SPEECH CARTRIDGE."5s rP$(2)"I CAN NOT ONLY TALK. . . I CAN ALSO PLAY MELODIES."5 |P$(3)"I CAN PLAY CORDS."5 P$(4)"I CAN MAKE SOUND EFFECTS. . . LIKE THIS GUNSHOT."5 P$(5)"LIKE THIS."5 P$(6)"AND THIS."6' P$(7)"I HOPE YOU WILL ENJOY USING ME."6U P$(8)"I CAN PLAY CORDS WHILE SPEAKEYNG."6[ 6a ‚6g ̂6{ ւ SHEECH* CHECK6 6 Q1800: Q6 (Y) 64 0 30606 6 6 6  SOUND* CHECK6 &6 0Q1700: Q7 : ((Y) 32) 0 31307 D7 N7 X7, b BUSY* CHECK72 l7Q v ((Y) 128) 0 31907W 7] 7c 7u SHORT DELAY7{ 7 31707 Q 1 800: Q7 Ɛ7 Ђ7 ڂ7 LONG DELAY7 7 Q1 6000: Q7 7 7 8 LOAD A STRING8 *8 4 31708! > Y,143C87 H I1 (P$(C))8C R 31708^ \ Y, ((P$(C),I,1))8f f I8r p 31708} z Y,138 8 8 8 LOAD A SOUND8 8 C2 35608 K488 ʁ 31708 Ԓ Y,151C8 ށ 36009 C3 K17: 35309 K289 31709% Y, 183C93 I1 K9; D9G$ 31709Q. Y,D9Y8 I9eB 31709qL Y,2559wV9}`9j 8 8 LOAD A SOUND8 8 C2 35608 K488 ʁ 31708 Ԓ Y,151C8 ށ 36009 C3 K17: 35& RESET S/SC&- &HFF7D,1: &HFF7D,0&H INITIALIZE VARIABLES&^(X&HFF00:Y&HFF7E&w2 TURN ON S/SC SOUND&< X1,52:X3,63:X35,60&F PUT S/SC INTO DIRECT ACCESS MODE&P 300&Z Y,&HAF&d POKE A FINE TONE ON CHANNEL A'n 300' x Y,0'F "ENTER A VALUE FOR A TONE ON CHANNEL A (0-4096)";T'Q 300'd Y,T &H00FF'o 300'y Y,1' 300' Y, (T256)' CALL MIXER REGISTER' 300' Y,7' SET MIXER TO CHANEL A TONES ONLY'ȁ 300(Ғ Y,62(1܂ CALL AMPLITUTUDE REGISTER FOR CHANNEL A(<恦 300(F Y,8(l SET AMPLITUTDE AT MAXIMUM -- 15(w 300( Y, 15( GO BACK TO CHANGE TONE ON CHANNEL A(" 120(, CHECK FOR BUSY*(6 ((Y) 128) 0 310(@300(Ғ & "RESETTING S/SC"&( &HFF7D, 1&8 &HFF7D, 0&O(X&HFF00: Y&HFF7E&i2 "SETTING SOUND OUT"&v< X1,52&F X3,63&P X35,60&Z A$: A$&d A: A &HFF 170: Y,A: 100&n 170: Y,A&x A$: A$' A: A &HFF 170: Y,A: 100'0 "SEND COMMAND (HEX)";A$'K 170: Y,("&H"A$)'V 140'y ((Y) 128) 0 170 : ' "LOADING SOUND DATA INTO BUFFER 0, EXECUTE WITH COMMAND $D8"' 152'Ȇ 15,8,128,16'҆ 15,4,128,8'܆ 0,0,0,0( 255(4 "LOADING BUFFER 1, EXECUTE WITH COMMAND $D9"(> 153(O 15,6,200,4(a 15,10,128,6(q 15,12,0,6(" 0,0,0,0(, 255(6 "DONE."(@ 255XECUTE WITH COMMAND $D8"' 152'Ȇ 15,8,128,16'҆ 15,4,128,8'܆ 0,0,0,0( 2