This page contains a simple TI Basic program which has moving sprites, speech, and continuously playing music, without a call sound in sight. It requires the mini memory module. You only get speech if you also have the speech synthesiser module.
My thanks to Mark Wills who unburied this little gem.
MEMORY RESERVATION: If you have a disk controller attached, the controller will reserve memory (Call Files(3) ) and prevent the Basic program crashing into the sound table. If you do not have a disk controller attached, then before you load this program, you MUST protect the sound table by keying in in direct mode: CALL LOAD(-31887,57,108) [ENTER] then key in NEW [enter] then load this program.
1 CALL CLEAR 2 PRINT "BEFORE LOADING THIS PROGRAM DID YOU REMEMBER TO RESERVE MEMORY BY KEYIN G IN:" 3 PRINT "CALL LOAD(-31888,57,108)":"IF YOU DID,PRESS ENTER":"OTHERWISE BREAK AND DO IT!" 4 CALL SOUND(-200,-7,0) 5 INPUT A$ 100 CALL CLEAR 109 REM (C) 1985 S.SHAW!! 110 PRINT "IN TI BASIC YOU CANNOT HAVE-" 120 PRINT "SPRITES":"SPEECH"::::"THE TI99/4A DOES NOT PERMIT-" 130 PRINT "SIMULTANEOUS SPEECH AND MUSIC":"CONTINUOUS AUTOMATIC MUSIC" 139 REM A COUPLE OF SPRITES: 140 CALL POKEV(768,62,15,138,15,150,200,138,15,208) 149 REM MOVING SLOWLY: 150 CALL POKEV(1920,0,5,0,0,0,5,0,0) 159 REM LET'S MOVE THEM!: 160 CALL LOAD(-31878,2) 169 REM AND GIVE THEM AN INTERESTING SHAPE: 170 A$="1030327FF82" 180 B$="000032FF7070301" 189 REM SET SPEECH ADDRESS 190 V=-27648 199 REM LOAD SOUND TABLE: 200 CALL POKEV(14700,3,142,15,144,30) 210 CALL POKEV(14705,3,133,13,144,60) 220 CALL POKEV(14710,3,128,15,146,30) 230 CALL POKEV(14715,3,142,15,144,15) 240 CALL POKEV(14720,3,141,17,145,15) 250 CALL POKEV(14725,3,142,15,146,30) 260 CALL POKEV(14730,3,129,20,146,30) 270 CALL POKEV(14735,3,141,17,144,15) 280 CALL POKEV(14740,3,129,20,146,15) 290 CALL POKEV(14745,3,131,21,146,30) 300 CALL POKEV(14750,3,140,23,146,30) 310 CALL POKEV(14755,3,139,26,144,60) 320 CALL POKEV(14760,3,141,17,146,30) 330 CALL POKEV(14765,3,141,17,144,60) 340 CALL POKEV(14770,3,142,15,146,30) 350 CALL POKEV(14775,3,133,13,144,60) 360 CALL POKEV(14780,3,128,15,146,30) 370 CALL POKEV(14785,3,142,15,144,15) 380 CALL POKEV(14790,3,141,17,145,15) 390 CALL POKEV(14795,3,142,15,146,30) 400 CALL POKEV(14800,3,129,20,146,30) 410 CALL POKEV(14805,3,141,17,144,15) 420 CALL POKEV(14810,3,129,20,145,15) 430 CALL POKEV(14815,3,131,21,146,30) 440 CALL POKEV(14820,3,140,23,146,30) 450 CALL POKEV(14825,3,129,20,144,60) 460 CALL POKEV(14830,3,134,00,159,30) 469 REM AND TELL THE CONSOLE "PLAY IT AGAIN TEX": 470 CALL POKEV(14835,0,57,108) 479 REM TELL IT WHERE TO START FROM: 480 CALL LOAD(-31796,57,108) 489 REM TELL IT TABLE IS IN VDP RAM AREA: 490 CALL PEEK(-31747,A) 500 IF A/2<>INT(A/2)THEN 520 510 CALL LOAD(-31747,A+1) 511 REM LETS HAVE A DISPLAY: 512 REM CHARACTER : is a colon 520 PRINT " :":" :::":" :":::: 529 REM DEFINE CHR$(58) AS A ZERO: 530 CALL PEEKV(1152,A,B,C,D,E,F,G,H) 540 CALL POKEV(1232,A,B,C,D,E,F,G,H) 549 REM TELL CONSOLE TO START PLAYING MUSIC: 550 CALL LOAD(-31794,1) 559 REM WHILE MUSIC IS PLAYING LETS CHANGE THE DISPLAY A LITTLE: 560 FOR T=1152 TO 1231 570 CALL PEEKV(T,A,B,C,D,E,F,G,H) 580 CALL CHAR(42,B$) 589 REM INSERT TIME DELAYS FOR SPEECH: 590 IF T/7<>INT(T/7)THEN 610 599 REM MAKE IT SPEEK! (SPEECH SYNTH REQUIRED): 600 CALL LOAD(V,70,"",V,65,"",V,72,"",V,70,"",V,64,"",V,80) 609 REM REDEFINE DISPLAYED CHARACTER: 610 CALL POKEV(1512,A,B,C,D,E,F,G,H) 620 CALL CHAR(42,A$) 630 NEXT T 640 GOTO 560 650 END 660 REM TI BASIC REQUIRES MINI MEMORY MODULE PLUS SPEECH SYNTH. 670 REM MAKE LINE 600 A REM IF YOU DON'T HAVE THE SPEECH SYNTH.