d:*******************************************n:*** SMOOTH TALKER DEMONSTRATION PROGRAM ***x:*** Covox Inc. 3/15/90 ***::*******************************************B:J:R Z::Get vector for STALK program.PROG.NAME$"STALK.EXE" : AZSPEECHV2.INIT: SPEECHV2.INITTONE:VOLUME:PITCH:SPEED6SET.SPEECH: SET.SPEECH (TONE,VOLUME,PITCH,SPEED)l: ,:"SMOOTH TALKER DEMONSTRATION PROGRAM": ) "1 - SPEAK ENGLISH" ) "2 - SPEAK PHONETICS" ) "3 - SET SPEECH PARAMETERS"" ) "4 - CONVERT ENGLISH TO PHONETICS"., ) "5 - INSERT A WORD IN DICTIONARY"]6 ) "6 - DELETE A WORD FROM DICTIONARY"@ ) "7 - DISPLAY DICTIONARY ENTRIES"J ) "8 - CLEAR-OUT ENTIRE DICTIONARY"T ) "9 - END DEMO PROGRAM AND EXIT TO BASIC"^: ) "PLEASE CHOOSE AN OPTION"9h ,:A($()): A A hLr A  |::"Type an English word or sentence and press RETURN""Type 'Q' key and press RETURN for MENU.": ">"; ENGLISH$: ENGLISH$"Q" ENGLISH$"q" SPEAK: SPEAK (ENGLISH$) / A  m::"Enter a phonetic word or sentence and press RETURN""Type 'Q' key and press RETURN for MENU.": ">"; PHONETIC$: PHONETIC$"Q" PHONETIC$"q" PHONE.SAY : PHONE.SAY (PHONETIC$)    A  0\:"Enter values and press RETURN after each entry"::z "Enter TONE (0-1)";TONE "Enter VOLUME (0-9)";VOLUME "Enter PITCH (0-9)";PITCH "Enter SPEED (0-9)";SPEEDSET.SPEECH: SET.SPEECH (TONE,VOLUME,PITCH,SPEED)& 10 A  o:::"Enter English word or sentence (80 characters max.)D ">"; ENGLISH$: (ENGLISH$)P DNPHONETIC$(P," ")XPARSER: PARSER (ENGLISH$,PHONETIC$)b:"The phonetic equivalent is:"l: PHONETIC$Vv:"Press 'Q' for MENU, any other key to continue":K$$()r K$"Q" K$"q" | D A  :"Type English word to enter into dictionary and press RETURN" ENGLISH$ :"Enter the phonetic pronunciation for the above word"0 PHONETIC$fDICT.INSERT: DICT.INSERT (ENGLISH$,PHONETIC$):"WORD NOW IN DICTIONARY.": :  A   :"Type English word to delete and press RETURN" ENGLISH$: ENGLISH$( ) /DICT.DELETE: DICT.DELETE (ENGLISH$)[:"WORD HAS BEEN DELETED.": : n  A  p:"CURRENT DICTIONARY CONTENTS ARE:" :"ENGLISH WORD:";();"PHONETIC WORD:":*DICT.DUMP:ENGLISH$( ," "):PHONETIC$( ," ")$4 DICT.DUMP (ENGLISH$,PHONETIC$)k> ENGLISH$PHONETIC$ :"Press ANY KEY for MENU.":K$$(): \H ENGLISH$;();PHONETIC$R *\DICT.POINT:RENEW: DICT.POINT (RENEW)f p A  z:"Delete all dictionary entries, are you sure (Y/N)";K$; K$"Y" K$"y" pZAPP.ALL:DICT.POINT: DICT.POINT (ZAPP.ALL):"All entries have been deleted.": : :"Are you sure (Y/N)";K$ K$"Y" K$"y" ,:  TIME : TIME:V: ******************************************************************: * FINDER.BAS - vector finder subroutine *: * This is a subroutine that will find the interrupt vector of *7 : * the COVOX TSR program that is specified in the string variable * : * PROG.NAME$. After MERGING this subroutine with the main BASIC * : * program, call it by simply executing a GOSUB 65000. See your *!: * "User Manual" for complete details. *c!: ******************************************************************k!:!::"One moment please..."!: On Entry PROG.NAME$ = Name of the COVOX program to search for.!:$": Convert any lower case letters of the program name to upper case.?" C (PROG.NAME$)\"L((PROG.NAME$,C,))" L` LL :(PROG.NAME$,C,)(L)" C":":": Search vectors 64 through 127 for the COVOX program address. # VECTOR(@ ) ( ) O# SEG:: Set to segment zero in order to access vector table.W#:#: Get the segment & offset values for the vector.#OUR.OFFSET (VECTOR ) ( (VECTOR ))#OUR.SEGMENT(VECTOR ) ( (VECTOR ))$:W$: If the value for the segment is not valid then look at the next vector.$ OUR.SEGMENT OUR.SEGMENT ~ $:$: A segment value was found, so set BASIC's data segment accordingly.$ SEGOUR.SEGMENT5%: Now search for the COVOX program name at the offset address.% : Each character of the program's name is compared and a flag (FOUND)% : is set to zero if there is not a complete match.% PROG.FOUND: C (PROG.NAME$)%& (OUR.OFFSETC) ((PROG.NAME$,C,)) PROG.FOUNDI& C:: Compare next character.Q&:& PROG.FOUND :: If this is the vector for the COVOX program,&: then continue on with the main code of the BASIC program.&:': If this was not the COVOX program's vector thenP' VECTOR:: examine the next vector location.X':': If the COVOX program's vector was not found, the following message': is displayed and the BASIC program is terminated.':(:: PROG.NAME$;" has not been installed in memory."("You must exit BASIC and load ";PROG.NAME$;" from the DOS prompt.":"Then RUN this program again."(:: Terminate the program.(:( :: Go back to the main BASIC program.+): ********************************************************************