Home » CEEFAX disks » telesoftware10.adl » 11-11-88/T\SPK06

11-11-88/T\SPK06

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » CEEFAX disks » telesoftware10.adl
Filename: 11-11-88/T\SPK06
Read OK:
File size: 4C3F bytes
Load address: 0000
Exec address: FFFFFFFF
File contents
The Acorn Speech System  -  by  -  Gordon Horsington
----------------------------------------------------

Module 6. Creating new words with the Speak and Reset commands.
---------------------------------------------------------------

In the last module I showed you how to extract the data needed to create
the word MOUTH from word PHROM A, and how to use the Speak External
command to speak the new word. The technique used a small Assembly
language program but a large amount of data. The result was, to my ear, a
clearly pronounced word but, if the same technique is used to produce a
large vocabulary, the data occupy a large amount of the available memory.

In this module I will demonstrate how new words can be created from the
speech data stored in word PHROM A without copying the data into RAM.

When the Speak command is used to speak the data in a word PHROM the data
is normally spoken until a stop nybble is executed. This means that even
when words are accessed at some point after the first data byte, the word
is normally spoken until it is completed.

The Speak command, unlike the Speak External command, can be terminated
with the Reset command. A word can be started at a legal address or at a
new address and stopped with the Reset command after a known time
interval. The effect of this is to produce new word-parts that can be
joined with other words or word-parts to form new words. By choosing the
intervals and words carefully all the phonemes needed to create an almost
unlimited vocabulary can be created.

The words created in this way do not usually sound as well pronounced as
those created using the Speak External command but, when a large
vocabulary is required, a program and its data can still be a managable
size.

The BASIC program CHOPUP illustrates how simple it is to implement this
idea. The program is used to speak the new word MOUTH. In the last module
I showed you how to use the program ADDRESS to find the "illegal" address
for the new word MOUNT. The address in word PHROM A is &0D68. The BASIC
SOUND command in line 20 of CHOPUP uses the speech processor Speak command
to speak the word MOUNT in word PHROM A. A 25 centi-second time wasting
delay is used in lines 40 and 50 before the Reset command is executed in
line 60. The SOUND command in line 80 is used to speak the word-part -TH.
The new word-part created from MOUNT is joined with the existing word part
-TH to create the new word MOUTH.


   10 REM: CHOPUP
   20 SOUND &FFBF,&D68,0,0
   30 REM: Speak MOU-
   40 TIME=0
   50 REPEAT UNTIL TIME > 25
   60 *FX159,0,112
   70 REM: Reset
   80 SOUND &FFBF,&3DC,0,0
   90 REM: Speak -TH


When this technique is implemented in Assembly language it is vital to use
an accurate time wasting delay before executing the Reset command. The
quality of the enunciation of a new word depends upon the program speaking
a word-part, reseting the speech processor at just the right moment and
then speaking and reseting the next word-part, and so on until the
complete new word has been spoken. The program cannot just waste time in a
loop that takes about the required time before reseting. The program must
use one of the computer's timers to accurately time the Reset command.

The demonstration program TELSOFT uses the timer crossing zero event to
time the Reset command. The interval timer is incremented 100 times a
second and generates event number 5 when the timer reaches zero. The
program recognises event number 5 and allows the Reset command to be
executed as soon as it has occured.

The data stored in word PHOM A are in one fourtieth of a second long
frames. To get a well pronounced new word using the speak and reset
technique it is a good idea to reset the speak command at a frame
boundary. Unfortunately one fourtieth of a second is two and a half
hundredths. For this reason all the word-parts of new words in TELSOFT
have been timed in five hundredths of a second intervals to coincide with
every other frame boundary.

The data for every word or word-part spoken by TELSOFT starts at line 1600
and includes the time interval for the word in centi-seconds followed by
the address in PHROM A of the word or word-part to be used in the
construction of a new word. If a complete word or word-part is to be
spoken without being reset the time interval is stored as zero. The last
byte of the data is an end-of-data marker and has the most significant bit
of the byte set (line 2480).

You can modify the program TELSOFT to construct your own new words by
altering the data stored in lines 1600 to 2480. The amount of data you can
store will depend on the available memory but, if you use more than &500
bytes for the program and data, you will have to alter line 20 to
dimension some more space. You will need to experiment a bit to get good
results and you may need to use the progran ADDRESS, introduced in the
last module, to find new word-parts to use as well as the legal words
documented in the Speech System User Guide.


   10 REM: TELSOFT
   20 DIM mcode &500
   30 delay=&70
   40 info=&71
   50 oldvec=&73
   60 eventv=&220
   70 osword=&FFF1
   80 osbyte=&FFF4
   90 FORpass=0TO2STEP2
  100 P%=mcode
  110 [       OPT pass
  120         LDA #&EB
  130         LDX #0
  140         LDY #&FF
  150         JSR osbyte    \ check for Acorn speech upgrade
  160         CPX #&FF
  170         BEQ process
  180         BRK
  190         BRK
  200         EQUS "No speech upgrade"
  210         BRK
  220 .process
  230         JSR eventoff  \ disable timer crossing zero event
  240         LDA eventv
  250         STA oldvec    \ save LSB of event vector
  260         LDA eventv+1
  270         STA oldvec+1  \ save MSB of event vector
  280         LDX #timer MOD 256 \ new LSB of event vector
  290         LDY #timer DIV 256 \ new MSB of event vector
  300         SEI           \ disable interupts - just in case
  310         STX eventv    \ point the event vector to timer code
  320         STY eventv+1
  330         CLI           \ re-enable interupts
  340         LDA #14       \ enable event
  350         LDX #5        \ interval timer crossing zero event
  360         LDY #0
  370         JSR osbyte
  380         LDA #spdata MOD 256 \ LSB of word list
  390         STA info
  400         LDA #spdata DIV 256 \ MSB of word list
  410         STA info+1
  420 .again
  430         LDA &FF       \ poll escape flag
  440         BPL noescape  \ branch if escape not pressed
  450         LDA #&7E
  460         JSR osbyte    \ acknowledge escape
  470         JSR restore   \ event off and restore vector
  480         BRK
  490         BRK
  500         EQUS "Escape"
  510         BRK
  520 .noescape
  530         LDY #0
  540         LDA (info),Y  \ load delay time
  550         BPL continue  \ branch if not #&FF
  560         JSR restore   \ event off and restore vector
  570         RTS           \ return to BASIC
  580 .continue
  590         EOR #&FF
  600         SEC
  610         ADC #0        \ accumulator = 0 - accumulator
  620         STA timebase  \ set up timer
  630         INY
  640         LDA (info),Y  \ LSB of transformed word address
  650         PHA           \ store LSB
  660         INY
  670         LDA (info),Y  \ MSB of transformed word address
  680         PHA           \ store MSB
  690         CLC
  700         LDA info
  710         ADC #3        \ add 3 to word pointer
  720         STA info      \ to point to next word
  730         LDA info+1
  740         ADC #0
  750         STA info+1
  760         PLA           \ pull MSB off stack
  770         TAY           \ MSB into Y register
  780         PLA           \ pull LSB off stack
  790         TAX           \ LSB into X register
  800         JSR address   \ load PHROM address register
  810         LDY #&50      \ speak command
  820         JSR osbyte
  830         LDA timebase  \ load (0 - delay in centi-seconds)
  840         BEQ again     \ if zero say whole word
  850         STA delay     \ delay is not zero
  860         LDA #4        \ write interval timer
  870         LDX #timebase MOD 256
  880         LDY #timebase DIV 256
  890         JSR osword    \ interval timer uses 5 bytes at .timebase
  900 .waste
  910         LDA delay     \ wait until interval timer clears delay
  920         BNE waste     \ waste time until it does
  930         LDA #&9F      \ write to speech processor
  940         LDY #&70      \ reset command
  950         JSR osbyte    \ reset
  960         JSR osbyte    \ make sure - it doesn't always work!
  970         JMP again     \ go back for next word
  980 .timer
  990         PHP
 1000         PHA
 1010         CMP #5        \ is it timer crossing zero event?
 1020         BNE notimer   \ no - then do nothing
 1030         LDA #0
 1040         STA delay     \ clear delay to stop wasting time
 1050 .notimer
 1060         PLA
 1070         PLP
 1080         RTS
 1090 .restore
 1100         JSR eventoff  \ disable interval timer crossing zero
 1110         LDX oldvec    \ LSB of old vector
 1120         LDY oldvec+1  \ MSB of old vector
 1130         SEI           \ disable interupts - just in case
 1140         STX eventv    \ restore the event vector
 1150         STY eventv+1  \ to its former glory
 1160         CLI           \ re-enable interupts
 1170         RTS           \ and return
 1180 .eventoff
 1190         LDA #13       \ disable event
 1200         LDX #5        \ interval timer crossing zero
 1210         LDY #0        \ Y must = 0
 1220         JMP osbyte    \ Osbyte and return
 1230 .address
 1240         TYA           \ MSB is in Y register
 1250         PHA           \ push MSB twice
 1260         PHA
 1270         TXA           \ LSB is in X register
 1280         AND #&F       \ isolate first nybble
 1290         ORA #&40      \ OR it with Load Address command
 1300         JSR write     \ send command to speech processor
 1310         TXA           \ second nybble
 1320         AND #&F0
 1330         LSR A
 1340         LSR A
 1350         LSR A
 1360         LSR A
 1370         ORA #&40
 1380         JSR write     \ send command to speech processor
 1390         PLA           \ third nybble
 1400         AND #&F
 1410         ORA #&40
 1420         JSR write
 1430         PLA           \ fourth nybble
 1440         AND #&F0
 1450         LSR A
 1460         LSR A
 1470         LSR A
 1480         LSR A
 1490         ORA #&4C
 1500         JSR write     \ send command to speech processor
 1510         LDA #&43      \ last byte always &43
 1520 .write
 1530         TAY           \ transfer command into Y register
 1540         LDA #&9F      \ write to speech processor
 1550         JMP osbyte    \ Osbyte and return
 1560 .timebase
 1570         EQUD &FFFFFFFF
 1580         EQUB &FF
 1590 .spdata
 1600         EQUB 0        \ speak the complete word "this"
 1610         EQUW &3808    \ address of "this" in word PHROM A
 1620         EQUB 20       \ speak 20 centi-seconds of "score"
 1630         EQUW &329A    \ s- (score)
 1640         EQUB 10       \ speak 10 centi-seconds of "off"
 1650         EQUW &28D9    \ -of- (off)
 1660         EQUB 10
 1670         EQUW &38E2    \ -t- (try)
 1680         EQUB 25
 1690         EQUW &3CC2    \ -ware (were)
 1700         EQUB 0
 1710         EQUW &0250    \ 12.5 centi-sec. delay
 1720         EQUB 0
 1730         EQUW &3C6C    \ was
 1740         EQUB 15
 1750         EQUW &30E7    \ wr- (run)
 1760         EQUB 10
 1770         EQUW &1EBD    \ -i- (in-)
 1780         EQUB 10
 1790         EQUW &3953    \ -tt- (twelve)
 1800         EQUB 10
 1810         EQUW &3A91    \ -e- (uh)
 1820         EQUB 15
 1830         EQUW &263D    \ -n (no)
 1840         EQUB 0
 1850         EQUW &0250    \ 12.5 centi-sec. delay
 1860         EQUB 10
 1870         EQUW &11F8    \ b- (button)
 1880         EQUB 30
 1890         EQUW &1DCC    \ -y (i)
 1900         EQUB 0
 1910         EQUW &025F    \ 25 centi-sec. delay
 1920         EQUB 15
 1930         EQUW &1CC9    \ G- (good)
 1940         EQUB 15
 1950         EQUW &2A48    \ -or- (or)
 1960         EQUB 20
 1970         EQUW &162A    \ -do- (dollar)
 1980         EQUB 14
 1990         EQUW &263D    \ -n (no)
 2000         EQUB 0
 2010         EQUW &0250    \ 12.5 centi-sec. delay
 2020         EQUB 10
 2030         EQUW &04C8    \ H- (hundred)
 2040         EQUB 15
 2050         EQUW &2A48    \ -or- (or)
 2060         EQUB 10
 2070         EQUW &0936    \ -s- (sixt-)
 2080         EQUB 25
 2090         EQUW &032B    \ -ing- (-ing)
 2100         EQUB 10
 2110         EQUW &35CA    \ -t- (ten)
 2120         EQUB 5
 2130         EQUW &3A91    \ -o- (uh)
 2140         EQUB 20
 2150         EQUW &263D    \ -n (no)
 2160         EQUB 0
 2170         EQUW &025F    \ 25 centi-sec. delay
 2180         EQUB 0
 2190         EQUW &0E12    \ and
 2200         EQUB 0
 2210         EQUW &1F57    \ is
 2220         EQUB 0
 2230         EQUW &0FCF    \ available
 2240         EQUB 0
 2250         EQUW &1C11    \ from
 2260         EQUB 0
 2270         EQUW &0250    \ 12.5 centi-sec. delay
 2280         EQUB 0
 2290         EQUW &1065    \ B
 2300         EQUB 0
 2310         EQUW &1065    \ B
 2320         EQUB 0
 2330         EQUW &124D    \ C
 2340         EQUB 10
 2350         EQUW &35CA    \ Te- (ten)
 2360         EQUB 15
 2370         EQUW &209F    \ -l- (l)
 2380         EQUB 10
 2390         EQUW &178B    \ -e- (each)
 2400         EQUB 15
 2410         EQUW &329A    \ -s- (score)
 2420         EQUB 10
 2430         EQUW &28D9    \ -of- (off)
 2440         EQUB 10
 2450         EQUW &38E2    \ -t- (try)
 2460         EQUB 20
 2470         EQUW &3CC2    \ -ware (were)
 2480         EQUB &FF      \ end-of-data marker
 2490 ]
 2500 NEXT
 2510 CALL mcode


In the program TELSOFT the speech processor is reset twice after the
required time interval. It is reset once in line 950 and again in line
960. This is not a mistake. The reason for resetting twice is that if the
software is soak tested (by repeatedly CALLing mcode in an infinite loop)
it will occasionally produce garbled speech on a machine that does not
have the speech tone control correctly set. This can usually be prevented
by resetting the speech processor twice but a crash can only be cured by
switching the computer off and then back on again.

If you delete line 960 and remove the second reset, it is likely that the
program will still work properly on your computer.

Resetting a Speak command without any delay at all can also crash the
speech processor. There is absolutely no point in doing this and it must
be avoided. Very short delays before reset can have the same effect with
some consonants. There is no point in having a delay time of less than one
twentieth of a second (a delay time of 5 in the progran TELSOFT) and using
one twentieth of a second as a minimum delay will certainly help to avoid
this problem.

If your speech system crashes for no apparent reason it may be that the
speech tone control variable resistor needs to be adjusted. The tone
control is labelled VR2 on the BBC B circuit board and can be found to the
left of IC98. On the BBC B+ it is labelled VR1 and can be found to the
right of IC37. Crashes can sometimes be cured by turning the variable
resistor clockwise just a very small amount. This control can only be set
accurately with laboratory instruments and if speech processor crashes are
a continual problem it may be a good idea to ask your dealer to set the
tone control in his workshop. If you feel unsure about adjusting the tone
control, or if you don't know where to look for it, then leave it alone.

In order to speak the English dialect known as Received Pronounciation it
is necessary to be able to produce the phonemes in figure 1.


Consonants.
-----------
b ch d dh f g h j k l m n ng ngg p r s sh t th v w y z zh

Vowels.
-------

a e i o u oo        (as in: mate mete mite mote mute moot)
a e i o u oo        (as in: rack reck rick rock ruck rook)
ar er ir or ur      (as in: mare mere mire more mure)
ar er or            (as in: part pert port)
ah aw oi oor ow owr (as in: bah bawl boil boor brow bower)


Figure 1. The phonemes used in English Received Pronounciation
--------------------------------------------------------------


This list of phonemes can be reduced to twenty vowel sounds and twenty
four consonants without reducing the range of words produced. You should
be able to use either the Speak External command (module 5) or the Speak
and Reset commands (this module) to produce the phonemes in figure 2.


        Vowels                             Consonants
        ------                             ----------
Phoneme         PHROM A word        Phoneme         PHROM A word
-------         ------------        -------         ------------
e       as in   E                   p       as in   PARAMETER
i       as in   IN-                 b       as in   BAD
e       as in   PENCE               t       as in   TEN
a       as in   AND                 d       as in   DATA
u       as in   PLUS                k       as in   KEY
a       as in   AFTER               g       as in   GOOD
o       as in   ON                  ch      as in   CHARACTER
or      as in   ACORN               j       as in   J
oo      as in   GOOD                f       as in   FEW
u       as in   U                   v       as in   VERY
ir      as in   FIRST               th      as in   THANK
a       as in   A                   dh      as in   THE
i       as in   I                   s       as in   SAME
o       as in   NO                  z       as in   -Z
oi      as in   POINT               sh       try    -S UH (as in SHOE)
ou      as in   THOUSAND            zh       try    -Z UH (as in VISION)
ear      try    E UH (as in FEAR)   h       as in   HAVE
are      try    WERE (as in CARE)   m       as in   MANY
our     as in   YOUR                n       as in   NAME
uh      as in   UH (reduced vowel)  ng      as in   -ING 
                                    l       as in   LARGE
                                    r       as in   RUN
                                    y       as in   YEAR
                                    w       as in   WANT


Figure 2. The phonemes needed to produce good quality English speech
--------------------------------------------------------------------


It is possible to use the speech data stored in word PHROM A to speak
languages other than English.

Welsh, for example, uses phonemes that are not used in English Received
Pronounciation but these phonemes can still be constructed from the data
stored in word PHROM A. The quality is not not as good as it would be with
a Welsh phonetic word PHROM but it is quite recognisable if you take
sufficient time and care when constructing the sound and rhythm of the new
words.

I hope these speech modules have given you an insight into the Acorn
Speech System and provided you with more information and examples than the
rather slim User Guide. If you have worked through the modules and
experimented with the demonstration programs you should be able to counter
the criticism that the Acorn Speech System has limited value because of
its small vocabulary. You should now have sufficient knowledge to produce
a large vocabulary of high quality speech. The range, intonation and
quality of the speech produced using the techniques described in this
series can be as good as that produced with any other speech system used
on the BBC range of computers.
00000000  54 68 65 20 41 63 6f 72  6e 20 53 70 65 65 63 68  |The Acorn Speech|
00000010  20 53 79 73 74 65 6d 20  20 2d 20 20 62 79 20 20  | System  -  by  |
00000020  2d 20 20 47 6f 72 64 6f  6e 20 48 6f 72 73 69 6e  |-  Gordon Horsin|
00000030  67 74 6f 6e 0d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |gton.-----------|
00000040  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000060  2d 2d 2d 2d 2d 2d 2d 2d  2d 0d 0d 4d 6f 64 75 6c  |---------..Modul|
00000070  65 20 36 2e 20 43 72 65  61 74 69 6e 67 20 6e 65  |e 6. Creating ne|
00000080  77 20 77 6f 72 64 73 20  77 69 74 68 20 74 68 65  |w words with the|
00000090  20 53 70 65 61 6b 20 61  6e 64 20 52 65 73 65 74  | Speak and Reset|
000000a0  20 63 6f 6d 6d 61 6e 64  73 2e 0d 2d 2d 2d 2d 2d  | commands..-----|
000000b0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000000e0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0d 0d 49 6e 20 74  |----------..In t|
000000f0  68 65 20 6c 61 73 74 20  6d 6f 64 75 6c 65 20 49  |he last module I|
00000100  20 73 68 6f 77 65 64 20  79 6f 75 20 68 6f 77 20  | showed you how |
00000110  74 6f 20 65 78 74 72 61  63 74 20 74 68 65 20 64  |to extract the d|
00000120  61 74 61 20 6e 65 65 64  65 64 20 74 6f 20 63 72  |ata needed to cr|
00000130  65 61 74 65 0d 74 68 65  20 77 6f 72 64 20 4d 4f  |eate.the word MO|
00000140  55 54 48 20 66 72 6f 6d  20 77 6f 72 64 20 50 48  |UTH from word PH|
00000150  52 4f 4d 20 41 2c 20 61  6e 64 20 68 6f 77 20 74  |ROM A, and how t|
00000160  6f 20 75 73 65 20 74 68  65 20 53 70 65 61 6b 20  |o use the Speak |
00000170  45 78 74 65 72 6e 61 6c  0d 63 6f 6d 6d 61 6e 64  |External.command|
00000180  20 74 6f 20 73 70 65 61  6b 20 74 68 65 20 6e 65  | to speak the ne|
00000190  77 20 77 6f 72 64 2e 20  54 68 65 20 74 65 63 68  |w word. The tech|
000001a0  6e 69 71 75 65 20 75 73  65 64 20 61 20 73 6d 61  |nique used a sma|
000001b0  6c 6c 20 41 73 73 65 6d  62 6c 79 0d 6c 61 6e 67  |ll Assembly.lang|
000001c0  75 61 67 65 20 70 72 6f  67 72 61 6d 20 62 75 74  |uage program but|
000001d0  20 61 20 6c 61 72 67 65  20 61 6d 6f 75 6e 74 20  | a large amount |
000001e0  6f 66 20 64 61 74 61 2e  20 54 68 65 20 72 65 73  |of data. The res|
000001f0  75 6c 74 20 77 61 73 2c  20 74 6f 20 6d 79 20 65  |ult was, to my e|
00000200  61 72 2c 20 61 0d 63 6c  65 61 72 6c 79 20 70 72  |ar, a.clearly pr|
00000210  6f 6e 6f 75 6e 63 65 64  20 77 6f 72 64 20 62 75  |onounced word bu|
00000220  74 2c 20 69 66 20 74 68  65 20 73 61 6d 65 20 74  |t, if the same t|
00000230  65 63 68 6e 69 71 75 65  20 69 73 20 75 73 65 64  |echnique is used|
00000240  20 74 6f 20 70 72 6f 64  75 63 65 20 61 0d 6c 61  | to produce a.la|
00000250  72 67 65 20 76 6f 63 61  62 75 6c 61 72 79 2c 20  |rge vocabulary, |
00000260  74 68 65 20 64 61 74 61  20 6f 63 63 75 70 79 20  |the data occupy |
00000270  61 20 6c 61 72 67 65 20  61 6d 6f 75 6e 74 20 6f  |a large amount o|
00000280  66 20 74 68 65 20 61 76  61 69 6c 61 62 6c 65 20  |f the available |
00000290  6d 65 6d 6f 72 79 2e 0d  0d 49 6e 20 74 68 69 73  |memory...In this|
000002a0  20 6d 6f 64 75 6c 65 20  49 20 77 69 6c 6c 20 64  | module I will d|
000002b0  65 6d 6f 6e 73 74 72 61  74 65 20 68 6f 77 20 6e  |emonstrate how n|
000002c0  65 77 20 77 6f 72 64 73  20 63 61 6e 20 62 65 20  |ew words can be |
000002d0  63 72 65 61 74 65 64 20  66 72 6f 6d 20 74 68 65  |created from the|
000002e0  0d 73 70 65 65 63 68 20  64 61 74 61 20 73 74 6f  |.speech data sto|
000002f0  72 65 64 20 69 6e 20 77  6f 72 64 20 50 48 52 4f  |red in word PHRO|
00000300  4d 20 41 20 77 69 74 68  6f 75 74 20 63 6f 70 79  |M A without copy|
00000310  69 6e 67 20 74 68 65 20  64 61 74 61 20 69 6e 74  |ing the data int|
00000320  6f 20 52 41 4d 2e 0d 0d  57 68 65 6e 20 74 68 65  |o RAM...When the|
00000330  20 53 70 65 61 6b 20 63  6f 6d 6d 61 6e 64 20 69  | Speak command i|
00000340  73 20 75 73 65 64 20 74  6f 20 73 70 65 61 6b 20  |s used to speak |
00000350  74 68 65 20 64 61 74 61  20 69 6e 20 61 20 77 6f  |the data in a wo|
00000360  72 64 20 50 48 52 4f 4d  20 74 68 65 20 64 61 74  |rd PHROM the dat|
00000370  61 0d 69 73 20 6e 6f 72  6d 61 6c 6c 79 20 73 70  |a.is normally sp|
00000380  6f 6b 65 6e 20 75 6e 74  69 6c 20 61 20 73 74 6f  |oken until a sto|
00000390  70 20 6e 79 62 62 6c 65  20 69 73 20 65 78 65 63  |p nybble is exec|
000003a0  75 74 65 64 2e 20 54 68  69 73 20 6d 65 61 6e 73  |uted. This means|
000003b0  20 74 68 61 74 20 65 76  65 6e 0d 77 68 65 6e 20  | that even.when |
000003c0  77 6f 72 64 73 20 61 72  65 20 61 63 63 65 73 73  |words are access|
000003d0  65 64 20 61 74 20 73 6f  6d 65 20 70 6f 69 6e 74  |ed at some point|
000003e0  20 61 66 74 65 72 20 74  68 65 20 66 69 72 73 74  | after the first|
000003f0  20 64 61 74 61 20 62 79  74 65 2c 20 74 68 65 20  | data byte, the |
00000400  77 6f 72 64 0d 69 73 20  6e 6f 72 6d 61 6c 6c 79  |word.is normally|
00000410  20 73 70 6f 6b 65 6e 20  75 6e 74 69 6c 20 69 74  | spoken until it|
00000420  20 69 73 20 63 6f 6d 70  6c 65 74 65 64 2e 0d 0d  | is completed...|
00000430  54 68 65 20 53 70 65 61  6b 20 63 6f 6d 6d 61 6e  |The Speak comman|
00000440  64 2c 20 75 6e 6c 69 6b  65 20 74 68 65 20 53 70  |d, unlike the Sp|
00000450  65 61 6b 20 45 78 74 65  72 6e 61 6c 20 63 6f 6d  |eak External com|
00000460  6d 61 6e 64 2c 20 63 61  6e 20 62 65 20 74 65 72  |mand, can be ter|
00000470  6d 69 6e 61 74 65 64 0d  77 69 74 68 20 74 68 65  |minated.with the|
00000480  20 52 65 73 65 74 20 63  6f 6d 6d 61 6e 64 2e 20  | Reset command. |
00000490  41 20 77 6f 72 64 20 63  61 6e 20 62 65 20 73 74  |A word can be st|
000004a0  61 72 74 65 64 20 61 74  20 61 20 6c 65 67 61 6c  |arted at a legal|
000004b0  20 61 64 64 72 65 73 73  20 6f 72 20 61 74 20 61  | address or at a|
000004c0  0d 6e 65 77 20 61 64 64  72 65 73 73 20 61 6e 64  |.new address and|
000004d0  20 73 74 6f 70 70 65 64  20 77 69 74 68 20 74 68  | stopped with th|
000004e0  65 20 52 65 73 65 74 20  63 6f 6d 6d 61 6e 64 20  |e Reset command |
000004f0  61 66 74 65 72 20 61 20  6b 6e 6f 77 6e 20 74 69  |after a known ti|
00000500  6d 65 0d 69 6e 74 65 72  76 61 6c 2e 20 54 68 65  |me.interval. The|
00000510  20 65 66 66 65 63 74 20  6f 66 20 74 68 69 73 20  | effect of this |
00000520  69 73 20 74 6f 20 70 72  6f 64 75 63 65 20 6e 65  |is to produce ne|
00000530  77 20 77 6f 72 64 2d 70  61 72 74 73 20 74 68 61  |w word-parts tha|
00000540  74 20 63 61 6e 20 62 65  0d 6a 6f 69 6e 65 64 20  |t can be.joined |
00000550  77 69 74 68 20 6f 74 68  65 72 20 77 6f 72 64 73  |with other words|
00000560  20 6f 72 20 77 6f 72 64  2d 70 61 72 74 73 20 74  | or word-parts t|
00000570  6f 20 66 6f 72 6d 20 6e  65 77 20 77 6f 72 64 73  |o form new words|
00000580  2e 20 42 79 20 63 68 6f  6f 73 69 6e 67 20 74 68  |. By choosing th|
00000590  65 0d 69 6e 74 65 72 76  61 6c 73 20 61 6e 64 20  |e.intervals and |
000005a0  77 6f 72 64 73 20 63 61  72 65 66 75 6c 6c 79 20  |words carefully |
000005b0  61 6c 6c 20 74 68 65 20  70 68 6f 6e 65 6d 65 73  |all the phonemes|
000005c0  20 6e 65 65 64 65 64 20  74 6f 20 63 72 65 61 74  | needed to creat|
000005d0  65 20 61 6e 20 61 6c 6d  6f 73 74 0d 75 6e 6c 69  |e an almost.unli|
000005e0  6d 69 74 65 64 20 76 6f  63 61 62 75 6c 61 72 79  |mited vocabulary|
000005f0  20 63 61 6e 20 62 65 20  63 72 65 61 74 65 64 2e  | can be created.|
00000600  0d 0d 54 68 65 20 77 6f  72 64 73 20 63 72 65 61  |..The words crea|
00000610  74 65 64 20 69 6e 20 74  68 69 73 20 77 61 79 20  |ted in this way |
00000620  64 6f 20 6e 6f 74 20 75  73 75 61 6c 6c 79 20 73  |do not usually s|
00000630  6f 75 6e 64 20 61 73 20  77 65 6c 6c 20 70 72 6f  |ound as well pro|
00000640  6e 6f 75 6e 63 65 64 20  61 73 0d 74 68 6f 73 65  |nounced as.those|
00000650  20 63 72 65 61 74 65 64  20 75 73 69 6e 67 20 74  | created using t|
00000660  68 65 20 53 70 65 61 6b  20 45 78 74 65 72 6e 61  |he Speak Externa|
00000670  6c 20 63 6f 6d 6d 61 6e  64 20 62 75 74 2c 20 77  |l command but, w|
00000680  68 65 6e 20 61 20 6c 61  72 67 65 0d 76 6f 63 61  |hen a large.voca|
00000690  62 75 6c 61 72 79 20 69  73 20 72 65 71 75 69 72  |bulary is requir|
000006a0  65 64 2c 20 61 20 70 72  6f 67 72 61 6d 20 61 6e  |ed, a program an|
000006b0  64 20 69 74 73 20 64 61  74 61 20 63 61 6e 20 73  |d its data can s|
000006c0  74 69 6c 6c 20 62 65 20  61 20 6d 61 6e 61 67 61  |till be a managa|
000006d0  62 6c 65 0d 73 69 7a 65  2e 0d 0d 54 68 65 20 42  |ble.size...The B|
000006e0  41 53 49 43 20 70 72 6f  67 72 61 6d 20 43 48 4f  |ASIC program CHO|
000006f0  50 55 50 20 69 6c 6c 75  73 74 72 61 74 65 73 20  |PUP illustrates |
00000700  68 6f 77 20 73 69 6d 70  6c 65 20 69 74 20 69 73  |how simple it is|
00000710  20 74 6f 20 69 6d 70 6c  65 6d 65 6e 74 20 74 68  | to implement th|
00000720  69 73 0d 69 64 65 61 2e  20 54 68 65 20 70 72 6f  |is.idea. The pro|
00000730  67 72 61 6d 20 69 73 20  75 73 65 64 20 74 6f 20  |gram is used to |
00000740  73 70 65 61 6b 20 74 68  65 20 6e 65 77 20 77 6f  |speak the new wo|
00000750  72 64 20 4d 4f 55 54 48  2e 20 49 6e 20 74 68 65  |rd MOUTH. In the|
00000760  20 6c 61 73 74 20 6d 6f  64 75 6c 65 0d 49 20 73  | last module.I s|
00000770  68 6f 77 65 64 20 79 6f  75 20 68 6f 77 20 74 6f  |howed you how to|
00000780  20 75 73 65 20 74 68 65  20 70 72 6f 67 72 61 6d  | use the program|
00000790  20 41 44 44 52 45 53 53  20 74 6f 20 66 69 6e 64  | ADDRESS to find|
000007a0  20 74 68 65 20 22 69 6c  6c 65 67 61 6c 22 20 61  | the "illegal" a|
000007b0  64 64 72 65 73 73 0d 66  6f 72 20 74 68 65 20 6e  |ddress.for the n|
000007c0  65 77 20 77 6f 72 64 20  4d 4f 55 4e 54 2e 20 54  |ew word MOUNT. T|
000007d0  68 65 20 61 64 64 72 65  73 73 20 69 6e 20 77 6f  |he address in wo|
000007e0  72 64 20 50 48 52 4f 4d  20 41 20 69 73 20 26 30  |rd PHROM A is &0|
000007f0  44 36 38 2e 20 54 68 65  20 42 41 53 49 43 0d 53  |D68. The BASIC.S|
00000800  4f 55 4e 44 20 63 6f 6d  6d 61 6e 64 20 69 6e 20  |OUND command in |
00000810  6c 69 6e 65 20 32 30 20  6f 66 20 43 48 4f 50 55  |line 20 of CHOPU|
00000820  50 20 75 73 65 73 20 74  68 65 20 73 70 65 65 63  |P uses the speec|
00000830  68 20 70 72 6f 63 65 73  73 6f 72 20 53 70 65 61  |h processor Spea|
00000840  6b 20 63 6f 6d 6d 61 6e  64 0d 74 6f 20 73 70 65  |k command.to spe|
00000850  61 6b 20 74 68 65 20 77  6f 72 64 20 4d 4f 55 4e  |ak the word MOUN|
00000860  54 20 69 6e 20 77 6f 72  64 20 50 48 52 4f 4d 20  |T in word PHROM |
00000870  41 2e 20 41 20 32 35 20  63 65 6e 74 69 2d 73 65  |A. A 25 centi-se|
00000880  63 6f 6e 64 20 74 69 6d  65 20 77 61 73 74 69 6e  |cond time wastin|
00000890  67 0d 64 65 6c 61 79 20  69 73 20 75 73 65 64 20  |g.delay is used |
000008a0  69 6e 20 6c 69 6e 65 73  20 34 30 20 61 6e 64 20  |in lines 40 and |
000008b0  35 30 20 62 65 66 6f 72  65 20 74 68 65 20 52 65  |50 before the Re|
000008c0  73 65 74 20 63 6f 6d 6d  61 6e 64 20 69 73 20 65  |set command is e|
000008d0  78 65 63 75 74 65 64 20  69 6e 0d 6c 69 6e 65 20  |xecuted in.line |
000008e0  36 30 2e 20 54 68 65 20  53 4f 55 4e 44 20 63 6f  |60. The SOUND co|
000008f0  6d 6d 61 6e 64 20 69 6e  20 6c 69 6e 65 20 38 30  |mmand in line 80|
00000900  20 69 73 20 75 73 65 64  20 74 6f 20 73 70 65 61  | is used to spea|
00000910  6b 20 74 68 65 20 77 6f  72 64 2d 70 61 72 74 20  |k the word-part |
00000920  2d 54 48 2e 0d 54 68 65  20 6e 65 77 20 77 6f 72  |-TH..The new wor|
00000930  64 2d 70 61 72 74 20 63  72 65 61 74 65 64 20 66  |d-part created f|
00000940  72 6f 6d 20 4d 4f 55 4e  54 20 69 73 20 6a 6f 69  |rom MOUNT is joi|
00000950  6e 65 64 20 77 69 74 68  20 74 68 65 20 65 78 69  |ned with the exi|
00000960  73 74 69 6e 67 20 77 6f  72 64 20 70 61 72 74 0d  |sting word part.|
00000970  2d 54 48 20 74 6f 20 63  72 65 61 74 65 20 74 68  |-TH to create th|
00000980  65 20 6e 65 77 20 77 6f  72 64 20 4d 4f 55 54 48  |e new word MOUTH|
00000990  2e 0d 0d 0d 20 20 20 31  30 20 52 45 4d 3a 20 43  |....   10 REM: C|
000009a0  48 4f 50 55 50 0d 20 20  20 32 30 20 53 4f 55 4e  |HOPUP.   20 SOUN|
000009b0  44 20 26 46 46 42 46 2c  26 44 36 38 2c 30 2c 30  |D &FFBF,&D68,0,0|
000009c0  0d 20 20 20 33 30 20 52  45 4d 3a 20 53 70 65 61  |.   30 REM: Spea|
000009d0  6b 20 4d 4f 55 2d 0d 20  20 20 34 30 20 54 49 4d  |k MOU-.   40 TIM|
000009e0  45 3d 30 0d 20 20 20 35  30 20 52 45 50 45 41 54  |E=0.   50 REPEAT|
000009f0  20 55 4e 54 49 4c 20 54  49 4d 45 20 3e 20 32 35  | UNTIL TIME > 25|
00000a00  0d 20 20 20 36 30 20 2a  46 58 31 35 39 2c 30 2c  |.   60 *FX159,0,|
00000a10  31 31 32 0d 20 20 20 37  30 20 52 45 4d 3a 20 52  |112.   70 REM: R|
00000a20  65 73 65 74 0d 20 20 20  38 30 20 53 4f 55 4e 44  |eset.   80 SOUND|
00000a30  20 26 46 46 42 46 2c 26  33 44 43 2c 30 2c 30 0d  | &FFBF,&3DC,0,0.|
00000a40  20 20 20 39 30 20 52 45  4d 3a 20 53 70 65 61 6b  |   90 REM: Speak|
00000a50  20 2d 54 48 0d 0d 0d 57  68 65 6e 20 74 68 69 73  | -TH...When this|
00000a60  20 74 65 63 68 6e 69 71  75 65 20 69 73 20 69 6d  | technique is im|
00000a70  70 6c 65 6d 65 6e 74 65  64 20 69 6e 20 41 73 73  |plemented in Ass|
00000a80  65 6d 62 6c 79 20 6c 61  6e 67 75 61 67 65 20 69  |embly language i|
00000a90  74 20 69 73 20 76 69 74  61 6c 20 74 6f 20 75 73  |t is vital to us|
00000aa0  65 0d 61 6e 20 61 63 63  75 72 61 74 65 20 74 69  |e.an accurate ti|
00000ab0  6d 65 20 77 61 73 74 69  6e 67 20 64 65 6c 61 79  |me wasting delay|
00000ac0  20 62 65 66 6f 72 65 20  65 78 65 63 75 74 69 6e  | before executin|
00000ad0  67 20 74 68 65 20 52 65  73 65 74 20 63 6f 6d 6d  |g the Reset comm|
00000ae0  61 6e 64 2e 20 54 68 65  0d 71 75 61 6c 69 74 79  |and. The.quality|
00000af0  20 6f 66 20 74 68 65 20  65 6e 75 6e 63 69 61 74  | of the enunciat|
00000b00  69 6f 6e 20 6f 66 20 61  20 6e 65 77 20 77 6f 72  |ion of a new wor|
00000b10  64 20 64 65 70 65 6e 64  73 20 75 70 6f 6e 20 74  |d depends upon t|
00000b20  68 65 20 70 72 6f 67 72  61 6d 20 73 70 65 61 6b  |he program speak|
00000b30  69 6e 67 0d 61 20 77 6f  72 64 2d 70 61 72 74 2c  |ing.a word-part,|
00000b40  20 72 65 73 65 74 69 6e  67 20 74 68 65 20 73 70  | reseting the sp|
00000b50  65 65 63 68 20 70 72 6f  63 65 73 73 6f 72 20 61  |eech processor a|
00000b60  74 20 6a 75 73 74 20 74  68 65 20 72 69 67 68 74  |t just the right|
00000b70  20 6d 6f 6d 65 6e 74 20  61 6e 64 0d 74 68 65 6e  | moment and.then|
00000b80  20 73 70 65 61 6b 69 6e  67 20 61 6e 64 20 72 65  | speaking and re|
00000b90  73 65 74 69 6e 67 20 74  68 65 20 6e 65 78 74 20  |seting the next |
00000ba0  77 6f 72 64 2d 70 61 72  74 2c 20 61 6e 64 20 73  |word-part, and s|
00000bb0  6f 20 6f 6e 20 75 6e 74  69 6c 20 74 68 65 0d 63  |o on until the.c|
00000bc0  6f 6d 70 6c 65 74 65 20  6e 65 77 20 77 6f 72 64  |omplete new word|
00000bd0  20 68 61 73 20 62 65 65  6e 20 73 70 6f 6b 65 6e  | has been spoken|
00000be0  2e 20 54 68 65 20 70 72  6f 67 72 61 6d 20 63 61  |. The program ca|
00000bf0  6e 6e 6f 74 20 6a 75 73  74 20 77 61 73 74 65 20  |nnot just waste |
00000c00  74 69 6d 65 20 69 6e 20  61 0d 6c 6f 6f 70 20 74  |time in a.loop t|
00000c10  68 61 74 20 74 61 6b 65  73 20 61 62 6f 75 74 20  |hat takes about |
00000c20  74 68 65 20 72 65 71 75  69 72 65 64 20 74 69 6d  |the required tim|
00000c30  65 20 62 65 66 6f 72 65  20 72 65 73 65 74 69 6e  |e before resetin|
00000c40  67 2e 20 54 68 65 20 70  72 6f 67 72 61 6d 20 6d  |g. The program m|
00000c50  75 73 74 0d 75 73 65 20  6f 6e 65 20 6f 66 20 74  |ust.use one of t|
00000c60  68 65 20 63 6f 6d 70 75  74 65 72 27 73 20 74 69  |he computer's ti|
00000c70  6d 65 72 73 20 74 6f 20  61 63 63 75 72 61 74 65  |mers to accurate|
00000c80  6c 79 20 74 69 6d 65 20  74 68 65 20 52 65 73 65  |ly time the Rese|
00000c90  74 20 63 6f 6d 6d 61 6e  64 2e 0d 0d 54 68 65 20  |t command...The |
00000ca0  64 65 6d 6f 6e 73 74 72  61 74 69 6f 6e 20 70 72  |demonstration pr|
00000cb0  6f 67 72 61 6d 20 54 45  4c 53 4f 46 54 20 75 73  |ogram TELSOFT us|
00000cc0  65 73 20 74 68 65 20 74  69 6d 65 72 20 63 72 6f  |es the timer cro|
00000cd0  73 73 69 6e 67 20 7a 65  72 6f 20 65 76 65 6e 74  |ssing zero event|
00000ce0  20 74 6f 0d 74 69 6d 65  20 74 68 65 20 52 65 73  | to.time the Res|
00000cf0  65 74 20 63 6f 6d 6d 61  6e 64 2e 20 54 68 65 20  |et command. The |
00000d00  69 6e 74 65 72 76 61 6c  20 74 69 6d 65 72 20 69  |interval timer i|
00000d10  73 20 69 6e 63 72 65 6d  65 6e 74 65 64 20 31 30  |s incremented 10|
00000d20  30 20 74 69 6d 65 73 20  61 0d 73 65 63 6f 6e 64  |0 times a.second|
00000d30  20 61 6e 64 20 67 65 6e  65 72 61 74 65 73 20 65  | and generates e|
00000d40  76 65 6e 74 20 6e 75 6d  62 65 72 20 35 20 77 68  |vent number 5 wh|
00000d50  65 6e 20 74 68 65 20 74  69 6d 65 72 20 72 65 61  |en the timer rea|
00000d60  63 68 65 73 20 7a 65 72  6f 2e 20 54 68 65 0d 70  |ches zero. The.p|
00000d70  72 6f 67 72 61 6d 20 72  65 63 6f 67 6e 69 73 65  |rogram recognise|
00000d80  73 20 65 76 65 6e 74 20  6e 75 6d 62 65 72 20 35  |s event number 5|
00000d90  20 61 6e 64 20 61 6c 6c  6f 77 73 20 74 68 65 20  | and allows the |
00000da0  52 65 73 65 74 20 63 6f  6d 6d 61 6e 64 20 74 6f  |Reset command to|
00000db0  20 62 65 0d 65 78 65 63  75 74 65 64 20 61 73 20  | be.executed as |
00000dc0  73 6f 6f 6e 20 61 73 20  69 74 20 68 61 73 20 6f  |soon as it has o|
00000dd0  63 63 75 72 65 64 2e 0d  0d 54 68 65 20 64 61 74  |ccured...The dat|
00000de0  61 20 73 74 6f 72 65 64  20 69 6e 20 77 6f 72 64  |a stored in word|
00000df0  20 50 48 4f 4d 20 41 20  61 72 65 20 69 6e 20 6f  | PHOM A are in o|
00000e00  6e 65 20 66 6f 75 72 74  69 65 74 68 20 6f 66 20  |ne fourtieth of |
00000e10  61 20 73 65 63 6f 6e 64  20 6c 6f 6e 67 0d 66 72  |a second long.fr|
00000e20  61 6d 65 73 2e 20 54 6f  20 67 65 74 20 61 20 77  |ames. To get a w|
00000e30  65 6c 6c 20 70 72 6f 6e  6f 75 6e 63 65 64 20 6e  |ell pronounced n|
00000e40  65 77 20 77 6f 72 64 20  75 73 69 6e 67 20 74 68  |ew word using th|
00000e50  65 20 73 70 65 61 6b 20  61 6e 64 20 72 65 73 65  |e speak and rese|
00000e60  74 0d 74 65 63 68 6e 69  71 75 65 20 69 74 20 69  |t.technique it i|
00000e70  73 20 61 20 67 6f 6f 64  20 69 64 65 61 20 74 6f  |s a good idea to|
00000e80  20 72 65 73 65 74 20 74  68 65 20 73 70 65 61 6b  | reset the speak|
00000e90  20 63 6f 6d 6d 61 6e 64  20 61 74 20 61 20 66 72  | command at a fr|
00000ea0  61 6d 65 0d 62 6f 75 6e  64 61 72 79 2e 20 55 6e  |ame.boundary. Un|
00000eb0  66 6f 72 74 75 6e 61 74  65 6c 79 20 6f 6e 65 20  |fortunately one |
00000ec0  66 6f 75 72 74 69 65 74  68 20 6f 66 20 61 20 73  |fourtieth of a s|
00000ed0  65 63 6f 6e 64 20 69 73  20 74 77 6f 20 61 6e 64  |econd is two and|
00000ee0  20 61 20 68 61 6c 66 0d  68 75 6e 64 72 65 64 74  | a half.hundredt|
00000ef0  68 73 2e 20 46 6f 72 20  74 68 69 73 20 72 65 61  |hs. For this rea|
00000f00  73 6f 6e 20 61 6c 6c 20  74 68 65 20 77 6f 72 64  |son all the word|
00000f10  2d 70 61 72 74 73 20 6f  66 20 6e 65 77 20 77 6f  |-parts of new wo|
00000f20  72 64 73 20 69 6e 20 54  45 4c 53 4f 46 54 0d 68  |rds in TELSOFT.h|
00000f30  61 76 65 20 62 65 65 6e  20 74 69 6d 65 64 20 69  |ave been timed i|
00000f40  6e 20 66 69 76 65 20 68  75 6e 64 72 65 64 74 68  |n five hundredth|
00000f50  73 20 6f 66 20 61 20 73  65 63 6f 6e 64 20 69 6e  |s of a second in|
00000f60  74 65 72 76 61 6c 73 20  74 6f 20 63 6f 69 6e 63  |tervals to coinc|
00000f70  69 64 65 20 77 69 74 68  0d 65 76 65 72 79 20 6f  |ide with.every o|
00000f80  74 68 65 72 20 66 72 61  6d 65 20 62 6f 75 6e 64  |ther frame bound|
00000f90  61 72 79 2e 0d 0d 54 68  65 20 64 61 74 61 20 66  |ary...The data f|
00000fa0  6f 72 20 65 76 65 72 79  20 77 6f 72 64 20 6f 72  |or every word or|
00000fb0  20 77 6f 72 64 2d 70 61  72 74 20 73 70 6f 6b 65  | word-part spoke|
00000fc0  6e 20 62 79 20 54 45 4c  53 4f 46 54 20 73 74 61  |n by TELSOFT sta|
00000fd0  72 74 73 20 61 74 20 6c  69 6e 65 20 31 36 30 30  |rts at line 1600|
00000fe0  0d 61 6e 64 20 69 6e 63  6c 75 64 65 73 20 74 68  |.and includes th|
00000ff0  65 20 74 69 6d 65 20 69  6e 74 65 72 76 61 6c 20  |e time interval |
00001000  66 6f 72 20 74 68 65 20  77 6f 72 64 20 69 6e 20  |for the word in |
00001010  63 65 6e 74 69 2d 73 65  63 6f 6e 64 73 20 66 6f  |centi-seconds fo|
00001020  6c 6c 6f 77 65 64 20 62  79 0d 74 68 65 20 61 64  |llowed by.the ad|
00001030  64 72 65 73 73 20 69 6e  20 50 48 52 4f 4d 20 41  |dress in PHROM A|
00001040  20 6f 66 20 74 68 65 20  77 6f 72 64 20 6f 72 20  | of the word or |
00001050  77 6f 72 64 2d 70 61 72  74 20 74 6f 20 62 65 20  |word-part to be |
00001060  75 73 65 64 20 69 6e 20  74 68 65 0d 63 6f 6e 73  |used in the.cons|
00001070  74 72 75 63 74 69 6f 6e  20 6f 66 20 61 20 6e 65  |truction of a ne|
00001080  77 20 77 6f 72 64 2e 20  49 66 20 61 20 63 6f 6d  |w word. If a com|
00001090  70 6c 65 74 65 20 77 6f  72 64 20 6f 72 20 77 6f  |plete word or wo|
000010a0  72 64 2d 70 61 72 74 20  69 73 20 74 6f 20 62 65  |rd-part is to be|
000010b0  0d 73 70 6f 6b 65 6e 20  77 69 74 68 6f 75 74 20  |.spoken without |
000010c0  62 65 69 6e 67 20 72 65  73 65 74 20 74 68 65 20  |being reset the |
000010d0  74 69 6d 65 20 69 6e 74  65 72 76 61 6c 20 69 73  |time interval is|
000010e0  20 73 74 6f 72 65 64 20  61 73 20 7a 65 72 6f 2e  | stored as zero.|
000010f0  20 54 68 65 20 6c 61 73  74 0d 62 79 74 65 20 6f  | The last.byte o|
00001100  66 20 74 68 65 20 64 61  74 61 20 69 73 20 61 6e  |f the data is an|
00001110  20 65 6e 64 2d 6f 66 2d  64 61 74 61 20 6d 61 72  | end-of-data mar|
00001120  6b 65 72 20 61 6e 64 20  68 61 73 20 74 68 65 20  |ker and has the |
00001130  6d 6f 73 74 20 73 69 67  6e 69 66 69 63 61 6e 74  |most significant|
00001140  20 62 69 74 0d 6f 66 20  74 68 65 20 62 79 74 65  | bit.of the byte|
00001150  20 73 65 74 20 28 6c 69  6e 65 20 32 34 38 30 29  | set (line 2480)|
00001160  2e 0d 0d 59 6f 75 20 63  61 6e 20 6d 6f 64 69 66  |...You can modif|
00001170  79 20 74 68 65 20 70 72  6f 67 72 61 6d 20 54 45  |y the program TE|
00001180  4c 53 4f 46 54 20 74 6f  20 63 6f 6e 73 74 72 75  |LSOFT to constru|
00001190  63 74 20 79 6f 75 72 20  6f 77 6e 20 6e 65 77 20  |ct your own new |
000011a0  77 6f 72 64 73 20 62 79  0d 61 6c 74 65 72 69 6e  |words by.alterin|
000011b0  67 20 74 68 65 20 64 61  74 61 20 73 74 6f 72 65  |g the data store|
000011c0  64 20 69 6e 20 6c 69 6e  65 73 20 31 36 30 30 20  |d in lines 1600 |
000011d0  74 6f 20 32 34 38 30 2e  20 54 68 65 20 61 6d 6f  |to 2480. The amo|
000011e0  75 6e 74 20 6f 66 20 64  61 74 61 20 79 6f 75 20  |unt of data you |
000011f0  63 61 6e 0d 73 74 6f 72  65 20 77 69 6c 6c 20 64  |can.store will d|
00001200  65 70 65 6e 64 20 6f 6e  20 74 68 65 20 61 76 61  |epend on the ava|
00001210  69 6c 61 62 6c 65 20 6d  65 6d 6f 72 79 20 62 75  |ilable memory bu|
00001220  74 2c 20 69 66 20 79 6f  75 20 75 73 65 20 6d 6f  |t, if you use mo|
00001230  72 65 20 74 68 61 6e 20  26 35 30 30 0d 62 79 74  |re than &500.byt|
00001240  65 73 20 66 6f 72 20 74  68 65 20 70 72 6f 67 72  |es for the progr|
00001250  61 6d 20 61 6e 64 20 64  61 74 61 2c 20 79 6f 75  |am and data, you|
00001260  20 77 69 6c 6c 20 68 61  76 65 20 74 6f 20 61 6c  | will have to al|
00001270  74 65 72 20 6c 69 6e 65  20 32 30 20 74 6f 0d 64  |ter line 20 to.d|
00001280  69 6d 65 6e 73 69 6f 6e  20 73 6f 6d 65 20 6d 6f  |imension some mo|
00001290  72 65 20 73 70 61 63 65  2e 20 59 6f 75 20 77 69  |re space. You wi|
000012a0  6c 6c 20 6e 65 65 64 20  74 6f 20 65 78 70 65 72  |ll need to exper|
000012b0  69 6d 65 6e 74 20 61 20  62 69 74 20 74 6f 20 67  |iment a bit to g|
000012c0  65 74 20 67 6f 6f 64 0d  72 65 73 75 6c 74 73 20  |et good.results |
000012d0  61 6e 64 20 79 6f 75 20  6d 61 79 20 6e 65 65 64  |and you may need|
000012e0  20 74 6f 20 75 73 65 20  74 68 65 20 70 72 6f 67  | to use the prog|
000012f0  72 61 6e 20 41 44 44 52  45 53 53 2c 20 69 6e 74  |ran ADDRESS, int|
00001300  72 6f 64 75 63 65 64 20  69 6e 20 74 68 65 0d 6c  |roduced in the.l|
00001310  61 73 74 20 6d 6f 64 75  6c 65 2c 20 74 6f 20 66  |ast module, to f|
00001320  69 6e 64 20 6e 65 77 20  77 6f 72 64 2d 70 61 72  |ind new word-par|
00001330  74 73 20 74 6f 20 75 73  65 20 61 73 20 77 65 6c  |ts to use as wel|
00001340  6c 20 61 73 20 74 68 65  20 6c 65 67 61 6c 20 77  |l as the legal w|
00001350  6f 72 64 73 0d 64 6f 63  75 6d 65 6e 74 65 64 20  |ords.documented |
00001360  69 6e 20 74 68 65 20 53  70 65 65 63 68 20 53 79  |in the Speech Sy|
00001370  73 74 65 6d 20 55 73 65  72 20 47 75 69 64 65 2e  |stem User Guide.|
00001380  0d 0d 0d 20 20 20 31 30  20 52 45 4d 3a 20 54 45  |...   10 REM: TE|
00001390  4c 53 4f 46 54 0d 20 20  20 32 30 20 44 49 4d 20  |LSOFT.   20 DIM |
000013a0  6d 63 6f 64 65 20 26 35  30 30 0d 20 20 20 33 30  |mcode &500.   30|
000013b0  20 64 65 6c 61 79 3d 26  37 30 0d 20 20 20 34 30  | delay=&70.   40|
000013c0  20 69 6e 66 6f 3d 26 37  31 0d 20 20 20 35 30 20  | info=&71.   50 |
000013d0  6f 6c 64 76 65 63 3d 26  37 33 0d 20 20 20 36 30  |oldvec=&73.   60|
000013e0  20 65 76 65 6e 74 76 3d  26 32 32 30 0d 20 20 20  | eventv=&220.   |
000013f0  37 30 20 6f 73 77 6f 72  64 3d 26 46 46 46 31 0d  |70 osword=&FFF1.|
00001400  20 20 20 38 30 20 6f 73  62 79 74 65 3d 26 46 46  |   80 osbyte=&FF|
00001410  46 34 0d 20 20 20 39 30  20 46 4f 52 70 61 73 73  |F4.   90 FORpass|
00001420  3d 30 54 4f 32 53 54 45  50 32 0d 20 20 31 30 30  |=0TO2STEP2.  100|
00001430  20 50 25 3d 6d 63 6f 64  65 0d 20 20 31 31 30 20  | P%=mcode.  110 |
00001440  5b 20 20 20 20 20 20 20  4f 50 54 20 70 61 73 73  |[       OPT pass|
00001450  0d 20 20 31 32 30 20 20  20 20 20 20 20 20 20 4c  |.  120         L|
00001460  44 41 20 23 26 45 42 0d  20 20 31 33 30 20 20 20  |DA #&EB.  130   |
00001470  20 20 20 20 20 20 4c 44  58 20 23 30 0d 20 20 31  |      LDX #0.  1|
00001480  34 30 20 20 20 20 20 20  20 20 20 4c 44 59 20 23  |40         LDY #|
00001490  26 46 46 0d 20 20 31 35  30 20 20 20 20 20 20 20  |&FF.  150       |
000014a0  20 20 4a 53 52 20 6f 73  62 79 74 65 20 20 20 20  |  JSR osbyte    |
000014b0  5c 20 63 68 65 63 6b 20  66 6f 72 20 41 63 6f 72  |\ check for Acor|
000014c0  6e 20 73 70 65 65 63 68  20 75 70 67 72 61 64 65  |n speech upgrade|
000014d0  0d 20 20 31 36 30 20 20  20 20 20 20 20 20 20 43  |.  160         C|
000014e0  50 58 20 23 26 46 46 0d  20 20 31 37 30 20 20 20  |PX #&FF.  170   |
000014f0  20 20 20 20 20 20 42 45  51 20 70 72 6f 63 65 73  |      BEQ proces|
00001500  73 0d 20 20 31 38 30 20  20 20 20 20 20 20 20 20  |s.  180         |
00001510  42 52 4b 0d 20 20 31 39  30 20 20 20 20 20 20 20  |BRK.  190       |
00001520  20 20 42 52 4b 0d 20 20  32 30 30 20 20 20 20 20  |  BRK.  200     |
00001530  20 20 20 20 45 51 55 53  20 22 4e 6f 20 73 70 65  |    EQUS "No spe|
00001540  65 63 68 20 75 70 67 72  61 64 65 22 0d 20 20 32  |ech upgrade".  2|
00001550  31 30 20 20 20 20 20 20  20 20 20 42 52 4b 0d 20  |10         BRK. |
00001560  20 32 32 30 20 2e 70 72  6f 63 65 73 73 0d 20 20  | 220 .process.  |
00001570  32 33 30 20 20 20 20 20  20 20 20 20 4a 53 52 20  |230         JSR |
00001580  65 76 65 6e 74 6f 66 66  20 20 5c 20 64 69 73 61  |eventoff  \ disa|
00001590  62 6c 65 20 74 69 6d 65  72 20 63 72 6f 73 73 69  |ble timer crossi|
000015a0  6e 67 20 7a 65 72 6f 20  65 76 65 6e 74 0d 20 20  |ng zero event.  |
000015b0  32 34 30 20 20 20 20 20  20 20 20 20 4c 44 41 20  |240         LDA |
000015c0  65 76 65 6e 74 76 0d 20  20 32 35 30 20 20 20 20  |eventv.  250    |
000015d0  20 20 20 20 20 53 54 41  20 6f 6c 64 76 65 63 20  |     STA oldvec |
000015e0  20 20 20 5c 20 73 61 76  65 20 4c 53 42 20 6f 66  |   \ save LSB of|
000015f0  20 65 76 65 6e 74 20 76  65 63 74 6f 72 0d 20 20  | event vector.  |
00001600  32 36 30 20 20 20 20 20  20 20 20 20 4c 44 41 20  |260         LDA |
00001610  65 76 65 6e 74 76 2b 31  0d 20 20 32 37 30 20 20  |eventv+1.  270  |
00001620  20 20 20 20 20 20 20 53  54 41 20 6f 6c 64 76 65  |       STA oldve|
00001630  63 2b 31 20 20 5c 20 73  61 76 65 20 4d 53 42 20  |c+1  \ save MSB |
00001640  6f 66 20 65 76 65 6e 74  20 76 65 63 74 6f 72 0d  |of event vector.|
00001650  20 20 32 38 30 20 20 20  20 20 20 20 20 20 4c 44  |  280         LD|
00001660  58 20 23 74 69 6d 65 72  20 4d 4f 44 20 32 35 36  |X #timer MOD 256|
00001670  20 5c 20 6e 65 77 20 4c  53 42 20 6f 66 20 65 76  | \ new LSB of ev|
00001680  65 6e 74 20 76 65 63 74  6f 72 0d 20 20 32 39 30  |ent vector.  290|
00001690  20 20 20 20 20 20 20 20  20 4c 44 59 20 23 74 69  |         LDY #ti|
000016a0  6d 65 72 20 44 49 56 20  32 35 36 20 5c 20 6e 65  |mer DIV 256 \ ne|
000016b0  77 20 4d 53 42 20 6f 66  20 65 76 65 6e 74 20 76  |w MSB of event v|
000016c0  65 63 74 6f 72 0d 20 20  33 30 30 20 20 20 20 20  |ector.  300     |
000016d0  20 20 20 20 53 45 49 20  20 20 20 20 20 20 20 20  |    SEI         |
000016e0  20 20 5c 20 64 69 73 61  62 6c 65 20 69 6e 74 65  |  \ disable inte|
000016f0  72 75 70 74 73 20 2d 20  6a 75 73 74 20 69 6e 20  |rupts - just in |
00001700  63 61 73 65 0d 20 20 33  31 30 20 20 20 20 20 20  |case.  310      |
00001710  20 20 20 53 54 58 20 65  76 65 6e 74 76 20 20 20  |   STX eventv   |
00001720  20 5c 20 70 6f 69 6e 74  20 74 68 65 20 65 76 65  | \ point the eve|
00001730  6e 74 20 76 65 63 74 6f  72 20 74 6f 20 74 69 6d  |nt vector to tim|
00001740  65 72 20 63 6f 64 65 0d  20 20 33 32 30 20 20 20  |er code.  320   |
00001750  20 20 20 20 20 20 53 54  59 20 65 76 65 6e 74 76  |      STY eventv|
00001760  2b 31 0d 20 20 33 33 30  20 20 20 20 20 20 20 20  |+1.  330        |
00001770  20 43 4c 49 20 20 20 20  20 20 20 20 20 20 20 5c  | CLI           \|
00001780  20 72 65 2d 65 6e 61 62  6c 65 20 69 6e 74 65 72  | re-enable inter|
00001790  75 70 74 73 0d 20 20 33  34 30 20 20 20 20 20 20  |upts.  340      |
000017a0  20 20 20 4c 44 41 20 23  31 34 20 20 20 20 20 20  |   LDA #14      |
000017b0  20 5c 20 65 6e 61 62 6c  65 20 65 76 65 6e 74 0d  | \ enable event.|
000017c0  20 20 33 35 30 20 20 20  20 20 20 20 20 20 4c 44  |  350         LD|
000017d0  58 20 23 35 20 20 20 20  20 20 20 20 5c 20 69 6e  |X #5        \ in|
000017e0  74 65 72 76 61 6c 20 74  69 6d 65 72 20 63 72 6f  |terval timer cro|
000017f0  73 73 69 6e 67 20 7a 65  72 6f 20 65 76 65 6e 74  |ssing zero event|
00001800  0d 20 20 33 36 30 20 20  20 20 20 20 20 20 20 4c  |.  360         L|
00001810  44 59 20 23 30 0d 20 20  33 37 30 20 20 20 20 20  |DY #0.  370     |
00001820  20 20 20 20 4a 53 52 20  6f 73 62 79 74 65 0d 20  |    JSR osbyte. |
00001830  20 33 38 30 20 20 20 20  20 20 20 20 20 4c 44 41  | 380         LDA|
00001840  20 23 73 70 64 61 74 61  20 4d 4f 44 20 32 35 36  | #spdata MOD 256|
00001850  20 5c 20 4c 53 42 20 6f  66 20 77 6f 72 64 20 6c  | \ LSB of word l|
00001860  69 73 74 0d 20 20 33 39  30 20 20 20 20 20 20 20  |ist.  390       |
00001870  20 20 53 54 41 20 69 6e  66 6f 0d 20 20 34 30 30  |  STA info.  400|
00001880  20 20 20 20 20 20 20 20  20 4c 44 41 20 23 73 70  |         LDA #sp|
00001890  64 61 74 61 20 44 49 56  20 32 35 36 20 5c 20 4d  |data DIV 256 \ M|
000018a0  53 42 20 6f 66 20 77 6f  72 64 20 6c 69 73 74 0d  |SB of word list.|
000018b0  20 20 34 31 30 20 20 20  20 20 20 20 20 20 53 54  |  410         ST|
000018c0  41 20 69 6e 66 6f 2b 31  0d 20 20 34 32 30 20 2e  |A info+1.  420 .|
000018d0  61 67 61 69 6e 0d 20 20  34 33 30 20 20 20 20 20  |again.  430     |
000018e0  20 20 20 20 4c 44 41 20  26 46 46 20 20 20 20 20  |    LDA &FF     |
000018f0  20 20 5c 20 70 6f 6c 6c  20 65 73 63 61 70 65 20  |  \ poll escape |
00001900  66 6c 61 67 0d 20 20 34  34 30 20 20 20 20 20 20  |flag.  440      |
00001910  20 20 20 42 50 4c 20 6e  6f 65 73 63 61 70 65 20  |   BPL noescape |
00001920  20 5c 20 62 72 61 6e 63  68 20 69 66 20 65 73 63  | \ branch if esc|
00001930  61 70 65 20 6e 6f 74 20  70 72 65 73 73 65 64 0d  |ape not pressed.|
00001940  20 20 34 35 30 20 20 20  20 20 20 20 20 20 4c 44  |  450         LD|
00001950  41 20 23 26 37 45 0d 20  20 34 36 30 20 20 20 20  |A #&7E.  460    |
00001960  20 20 20 20 20 4a 53 52  20 6f 73 62 79 74 65 20  |     JSR osbyte |
00001970  20 20 20 5c 20 61 63 6b  6e 6f 77 6c 65 64 67 65  |   \ acknowledge|
00001980  20 65 73 63 61 70 65 0d  20 20 34 37 30 20 20 20  | escape.  470   |
00001990  20 20 20 20 20 20 4a 53  52 20 72 65 73 74 6f 72  |      JSR restor|
000019a0  65 20 20 20 5c 20 65 76  65 6e 74 20 6f 66 66 20  |e   \ event off |
000019b0  61 6e 64 20 72 65 73 74  6f 72 65 20 76 65 63 74  |and restore vect|
000019c0  6f 72 0d 20 20 34 38 30  20 20 20 20 20 20 20 20  |or.  480        |
000019d0  20 42 52 4b 0d 20 20 34  39 30 20 20 20 20 20 20  | BRK.  490      |
000019e0  20 20 20 42 52 4b 0d 20  20 35 30 30 20 20 20 20  |   BRK.  500    |
000019f0  20 20 20 20 20 45 51 55  53 20 22 45 73 63 61 70  |     EQUS "Escap|
00001a00  65 22 0d 20 20 35 31 30  20 20 20 20 20 20 20 20  |e".  510        |
00001a10  20 42 52 4b 0d 20 20 35  32 30 20 2e 6e 6f 65 73  | BRK.  520 .noes|
00001a20  63 61 70 65 0d 20 20 35  33 30 20 20 20 20 20 20  |cape.  530      |
00001a30  20 20 20 4c 44 59 20 23  30 0d 20 20 35 34 30 20  |   LDY #0.  540 |
00001a40  20 20 20 20 20 20 20 20  4c 44 41 20 28 69 6e 66  |        LDA (inf|
00001a50  6f 29 2c 59 20 20 5c 20  6c 6f 61 64 20 64 65 6c  |o),Y  \ load del|
00001a60  61 79 20 74 69 6d 65 0d  20 20 35 35 30 20 20 20  |ay time.  550   |
00001a70  20 20 20 20 20 20 42 50  4c 20 63 6f 6e 74 69 6e  |      BPL contin|
00001a80  75 65 20 20 5c 20 62 72  61 6e 63 68 20 69 66 20  |ue  \ branch if |
00001a90  6e 6f 74 20 23 26 46 46  0d 20 20 35 36 30 20 20  |not #&FF.  560  |
00001aa0  20 20 20 20 20 20 20 4a  53 52 20 72 65 73 74 6f  |       JSR resto|
00001ab0  72 65 20 20 20 5c 20 65  76 65 6e 74 20 6f 66 66  |re   \ event off|
00001ac0  20 61 6e 64 20 72 65 73  74 6f 72 65 20 76 65 63  | and restore vec|
00001ad0  74 6f 72 0d 20 20 35 37  30 20 20 20 20 20 20 20  |tor.  570       |
00001ae0  20 20 52 54 53 20 20 20  20 20 20 20 20 20 20 20  |  RTS           |
00001af0  5c 20 72 65 74 75 72 6e  20 74 6f 20 42 41 53 49  |\ return to BASI|
00001b00  43 0d 20 20 35 38 30 20  2e 63 6f 6e 74 69 6e 75  |C.  580 .continu|
00001b10  65 0d 20 20 35 39 30 20  20 20 20 20 20 20 20 20  |e.  590         |
00001b20  45 4f 52 20 23 26 46 46  0d 20 20 36 30 30 20 20  |EOR #&FF.  600  |
00001b30  20 20 20 20 20 20 20 53  45 43 0d 20 20 36 31 30  |       SEC.  610|
00001b40  20 20 20 20 20 20 20 20  20 41 44 43 20 23 30 20  |         ADC #0 |
00001b50  20 20 20 20 20 20 20 5c  20 61 63 63 75 6d 75 6c  |       \ accumul|
00001b60  61 74 6f 72 20 3d 20 30  20 2d 20 61 63 63 75 6d  |ator = 0 - accum|
00001b70  75 6c 61 74 6f 72 0d 20  20 36 32 30 20 20 20 20  |ulator.  620    |
00001b80  20 20 20 20 20 53 54 41  20 74 69 6d 65 62 61 73  |     STA timebas|
00001b90  65 20 20 5c 20 73 65 74  20 75 70 20 74 69 6d 65  |e  \ set up time|
00001ba0  72 0d 20 20 36 33 30 20  20 20 20 20 20 20 20 20  |r.  630         |
00001bb0  49 4e 59 0d 20 20 36 34  30 20 20 20 20 20 20 20  |INY.  640       |
00001bc0  20 20 4c 44 41 20 28 69  6e 66 6f 29 2c 59 20 20  |  LDA (info),Y  |
00001bd0  5c 20 4c 53 42 20 6f 66  20 74 72 61 6e 73 66 6f  |\ LSB of transfo|
00001be0  72 6d 65 64 20 77 6f 72  64 20 61 64 64 72 65 73  |rmed word addres|
00001bf0  73 0d 20 20 36 35 30 20  20 20 20 20 20 20 20 20  |s.  650         |
00001c00  50 48 41 20 20 20 20 20  20 20 20 20 20 20 5c 20  |PHA           \ |
00001c10  73 74 6f 72 65 20 4c 53  42 0d 20 20 36 36 30 20  |store LSB.  660 |
00001c20  20 20 20 20 20 20 20 20  49 4e 59 0d 20 20 36 37  |        INY.  67|
00001c30  30 20 20 20 20 20 20 20  20 20 4c 44 41 20 28 69  |0         LDA (i|
00001c40  6e 66 6f 29 2c 59 20 20  5c 20 4d 53 42 20 6f 66  |nfo),Y  \ MSB of|
00001c50  20 74 72 61 6e 73 66 6f  72 6d 65 64 20 77 6f 72  | transformed wor|
00001c60  64 20 61 64 64 72 65 73  73 0d 20 20 36 38 30 20  |d address.  680 |
00001c70  20 20 20 20 20 20 20 20  50 48 41 20 20 20 20 20  |        PHA     |
00001c80  20 20 20 20 20 20 5c 20  73 74 6f 72 65 20 4d 53  |      \ store MS|
00001c90  42 0d 20 20 36 39 30 20  20 20 20 20 20 20 20 20  |B.  690         |
00001ca0  43 4c 43 0d 20 20 37 30  30 20 20 20 20 20 20 20  |CLC.  700       |
00001cb0  20 20 4c 44 41 20 69 6e  66 6f 0d 20 20 37 31 30  |  LDA info.  710|
00001cc0  20 20 20 20 20 20 20 20  20 41 44 43 20 23 33 20  |         ADC #3 |
00001cd0  20 20 20 20 20 20 20 5c  20 61 64 64 20 33 20 74  |       \ add 3 t|
00001ce0  6f 20 77 6f 72 64 20 70  6f 69 6e 74 65 72 0d 20  |o word pointer. |
00001cf0  20 37 32 30 20 20 20 20  20 20 20 20 20 53 54 41  | 720         STA|
00001d00  20 69 6e 66 6f 20 20 20  20 20 20 5c 20 74 6f 20  | info      \ to |
00001d10  70 6f 69 6e 74 20 74 6f  20 6e 65 78 74 20 77 6f  |point to next wo|
00001d20  72 64 0d 20 20 37 33 30  20 20 20 20 20 20 20 20  |rd.  730        |
00001d30  20 4c 44 41 20 69 6e 66  6f 2b 31 0d 20 20 37 34  | LDA info+1.  74|
00001d40  30 20 20 20 20 20 20 20  20 20 41 44 43 20 23 30  |0         ADC #0|
00001d50  0d 20 20 37 35 30 20 20  20 20 20 20 20 20 20 53  |.  750         S|
00001d60  54 41 20 69 6e 66 6f 2b  31 0d 20 20 37 36 30 20  |TA info+1.  760 |
00001d70  20 20 20 20 20 20 20 20  50 4c 41 20 20 20 20 20  |        PLA     |
00001d80  20 20 20 20 20 20 5c 20  70 75 6c 6c 20 4d 53 42  |      \ pull MSB|
00001d90  20 6f 66 66 20 73 74 61  63 6b 0d 20 20 37 37 30  | off stack.  770|
00001da0  20 20 20 20 20 20 20 20  20 54 41 59 20 20 20 20  |         TAY    |
00001db0  20 20 20 20 20 20 20 5c  20 4d 53 42 20 69 6e 74  |       \ MSB int|
00001dc0  6f 20 59 20 72 65 67 69  73 74 65 72 0d 20 20 37  |o Y register.  7|
00001dd0  38 30 20 20 20 20 20 20  20 20 20 50 4c 41 20 20  |80         PLA  |
00001de0  20 20 20 20 20 20 20 20  20 5c 20 70 75 6c 6c 20  |         \ pull |
00001df0  4c 53 42 20 6f 66 66 20  73 74 61 63 6b 0d 20 20  |LSB off stack.  |
00001e00  37 39 30 20 20 20 20 20  20 20 20 20 54 41 58 20  |790         TAX |
00001e10  20 20 20 20 20 20 20 20  20 20 5c 20 4c 53 42 20  |          \ LSB |
00001e20  69 6e 74 6f 20 58 20 72  65 67 69 73 74 65 72 0d  |into X register.|
00001e30  20 20 38 30 30 20 20 20  20 20 20 20 20 20 4a 53  |  800         JS|
00001e40  52 20 61 64 64 72 65 73  73 20 20 20 5c 20 6c 6f  |R address   \ lo|
00001e50  61 64 20 50 48 52 4f 4d  20 61 64 64 72 65 73 73  |ad PHROM address|
00001e60  20 72 65 67 69 73 74 65  72 0d 20 20 38 31 30 20  | register.  810 |
00001e70  20 20 20 20 20 20 20 20  4c 44 59 20 23 26 35 30  |        LDY #&50|
00001e80  20 20 20 20 20 20 5c 20  73 70 65 61 6b 20 63 6f  |      \ speak co|
00001e90  6d 6d 61 6e 64 0d 20 20  38 32 30 20 20 20 20 20  |mmand.  820     |
00001ea0  20 20 20 20 4a 53 52 20  6f 73 62 79 74 65 0d 20  |    JSR osbyte. |
00001eb0  20 38 33 30 20 20 20 20  20 20 20 20 20 4c 44 41  | 830         LDA|
00001ec0  20 74 69 6d 65 62 61 73  65 20 20 5c 20 6c 6f 61  | timebase  \ loa|
00001ed0  64 20 28 30 20 2d 20 64  65 6c 61 79 20 69 6e 20  |d (0 - delay in |
00001ee0  63 65 6e 74 69 2d 73 65  63 6f 6e 64 73 29 0d 20  |centi-seconds). |
00001ef0  20 38 34 30 20 20 20 20  20 20 20 20 20 42 45 51  | 840         BEQ|
00001f00  20 61 67 61 69 6e 20 20  20 20 20 5c 20 69 66 20  | again     \ if |
00001f10  7a 65 72 6f 20 73 61 79  20 77 68 6f 6c 65 20 77  |zero say whole w|
00001f20  6f 72 64 0d 20 20 38 35  30 20 20 20 20 20 20 20  |ord.  850       |
00001f30  20 20 53 54 41 20 64 65  6c 61 79 20 20 20 20 20  |  STA delay     |
00001f40  5c 20 64 65 6c 61 79 20  69 73 20 6e 6f 74 20 7a  |\ delay is not z|
00001f50  65 72 6f 0d 20 20 38 36  30 20 20 20 20 20 20 20  |ero.  860       |
00001f60  20 20 4c 44 41 20 23 34  20 20 20 20 20 20 20 20  |  LDA #4        |
00001f70  5c 20 77 72 69 74 65 20  69 6e 74 65 72 76 61 6c  |\ write interval|
00001f80  20 74 69 6d 65 72 0d 20  20 38 37 30 20 20 20 20  | timer.  870    |
00001f90  20 20 20 20 20 4c 44 58  20 23 74 69 6d 65 62 61  |     LDX #timeba|
00001fa0  73 65 20 4d 4f 44 20 32  35 36 0d 20 20 38 38 30  |se MOD 256.  880|
00001fb0  20 20 20 20 20 20 20 20  20 4c 44 59 20 23 74 69  |         LDY #ti|
00001fc0  6d 65 62 61 73 65 20 44  49 56 20 32 35 36 0d 20  |mebase DIV 256. |
00001fd0  20 38 39 30 20 20 20 20  20 20 20 20 20 4a 53 52  | 890         JSR|
00001fe0  20 6f 73 77 6f 72 64 20  20 20 20 5c 20 69 6e 74  | osword    \ int|
00001ff0  65 72 76 61 6c 20 74 69  6d 65 72 20 75 73 65 73  |erval timer uses|
00002000  20 35 20 62 79 74 65 73  20 61 74 20 2e 74 69 6d  | 5 bytes at .tim|
00002010  65 62 61 73 65 0d 20 20  39 30 30 20 2e 77 61 73  |ebase.  900 .was|
00002020  74 65 0d 20 20 39 31 30  20 20 20 20 20 20 20 20  |te.  910        |
00002030  20 4c 44 41 20 64 65 6c  61 79 20 20 20 20 20 5c  | LDA delay     \|
00002040  20 77 61 69 74 20 75 6e  74 69 6c 20 69 6e 74 65  | wait until inte|
00002050  72 76 61 6c 20 74 69 6d  65 72 20 63 6c 65 61 72  |rval timer clear|
00002060  73 20 64 65 6c 61 79 0d  20 20 39 32 30 20 20 20  |s delay.  920   |
00002070  20 20 20 20 20 20 42 4e  45 20 77 61 73 74 65 20  |      BNE waste |
00002080  20 20 20 20 5c 20 77 61  73 74 65 20 74 69 6d 65  |    \ waste time|
00002090  20 75 6e 74 69 6c 20 69  74 20 64 6f 65 73 0d 20  | until it does. |
000020a0  20 39 33 30 20 20 20 20  20 20 20 20 20 4c 44 41  | 930         LDA|
000020b0  20 23 26 39 46 20 20 20  20 20 20 5c 20 77 72 69  | #&9F      \ wri|
000020c0  74 65 20 74 6f 20 73 70  65 65 63 68 20 70 72 6f  |te to speech pro|
000020d0  63 65 73 73 6f 72 0d 20  20 39 34 30 20 20 20 20  |cessor.  940    |
000020e0  20 20 20 20 20 4c 44 59  20 23 26 37 30 20 20 20  |     LDY #&70   |
000020f0  20 20 20 5c 20 72 65 73  65 74 20 63 6f 6d 6d 61  |   \ reset comma|
00002100  6e 64 0d 20 20 39 35 30  20 20 20 20 20 20 20 20  |nd.  950        |
00002110  20 4a 53 52 20 6f 73 62  79 74 65 20 20 20 20 5c  | JSR osbyte    \|
00002120  20 72 65 73 65 74 0d 20  20 39 36 30 20 20 20 20  | reset.  960    |
00002130  20 20 20 20 20 4a 53 52  20 6f 73 62 79 74 65 20  |     JSR osbyte |
00002140  20 20 20 5c 20 6d 61 6b  65 20 73 75 72 65 20 2d  |   \ make sure -|
00002150  20 69 74 20 64 6f 65 73  6e 27 74 20 61 6c 77 61  | it doesn't alwa|
00002160  79 73 20 77 6f 72 6b 21  0d 20 20 39 37 30 20 20  |ys work!.  970  |
00002170  20 20 20 20 20 20 20 4a  4d 50 20 61 67 61 69 6e  |       JMP again|
00002180  20 20 20 20 20 5c 20 67  6f 20 62 61 63 6b 20 66  |     \ go back f|
00002190  6f 72 20 6e 65 78 74 20  77 6f 72 64 0d 20 20 39  |or next word.  9|
000021a0  38 30 20 2e 74 69 6d 65  72 0d 20 20 39 39 30 20  |80 .timer.  990 |
000021b0  20 20 20 20 20 20 20 20  50 48 50 0d 20 31 30 30  |        PHP. 100|
000021c0  30 20 20 20 20 20 20 20  20 20 50 48 41 0d 20 31  |0         PHA. 1|
000021d0  30 31 30 20 20 20 20 20  20 20 20 20 43 4d 50 20  |010         CMP |
000021e0  23 35 20 20 20 20 20 20  20 20 5c 20 69 73 20 69  |#5        \ is i|
000021f0  74 20 74 69 6d 65 72 20  63 72 6f 73 73 69 6e 67  |t timer crossing|
00002200  20 7a 65 72 6f 20 65 76  65 6e 74 3f 0d 20 31 30  | zero event?. 10|
00002210  32 30 20 20 20 20 20 20  20 20 20 42 4e 45 20 6e  |20         BNE n|
00002220  6f 74 69 6d 65 72 20 20  20 5c 20 6e 6f 20 2d 20  |otimer   \ no - |
00002230  74 68 65 6e 20 64 6f 20  6e 6f 74 68 69 6e 67 0d  |then do nothing.|
00002240  20 31 30 33 30 20 20 20  20 20 20 20 20 20 4c 44  | 1030         LD|
00002250  41 20 23 30 0d 20 31 30  34 30 20 20 20 20 20 20  |A #0. 1040      |
00002260  20 20 20 53 54 41 20 64  65 6c 61 79 20 20 20 20  |   STA delay    |
00002270  20 5c 20 63 6c 65 61 72  20 64 65 6c 61 79 20 74  | \ clear delay t|
00002280  6f 20 73 74 6f 70 20 77  61 73 74 69 6e 67 20 74  |o stop wasting t|
00002290  69 6d 65 0d 20 31 30 35  30 20 2e 6e 6f 74 69 6d  |ime. 1050 .notim|
000022a0  65 72 0d 20 31 30 36 30  20 20 20 20 20 20 20 20  |er. 1060        |
000022b0  20 50 4c 41 0d 20 31 30  37 30 20 20 20 20 20 20  | PLA. 1070      |
000022c0  20 20 20 50 4c 50 0d 20  31 30 38 30 20 20 20 20  |   PLP. 1080    |
000022d0  20 20 20 20 20 52 54 53  0d 20 31 30 39 30 20 2e  |     RTS. 1090 .|
000022e0  72 65 73 74 6f 72 65 0d  20 31 31 30 30 20 20 20  |restore. 1100   |
000022f0  20 20 20 20 20 20 4a 53  52 20 65 76 65 6e 74 6f  |      JSR evento|
00002300  66 66 20 20 5c 20 64 69  73 61 62 6c 65 20 69 6e  |ff  \ disable in|
00002310  74 65 72 76 61 6c 20 74  69 6d 65 72 20 63 72 6f  |terval timer cro|
00002320  73 73 69 6e 67 20 7a 65  72 6f 0d 20 31 31 31 30  |ssing zero. 1110|
00002330  20 20 20 20 20 20 20 20  20 4c 44 58 20 6f 6c 64  |         LDX old|
00002340  76 65 63 20 20 20 20 5c  20 4c 53 42 20 6f 66 20  |vec    \ LSB of |
00002350  6f 6c 64 20 76 65 63 74  6f 72 0d 20 31 31 32 30  |old vector. 1120|
00002360  20 20 20 20 20 20 20 20  20 4c 44 59 20 6f 6c 64  |         LDY old|
00002370  76 65 63 2b 31 20 20 5c  20 4d 53 42 20 6f 66 20  |vec+1  \ MSB of |
00002380  6f 6c 64 20 76 65 63 74  6f 72 0d 20 31 31 33 30  |old vector. 1130|
00002390  20 20 20 20 20 20 20 20  20 53 45 49 20 20 20 20  |         SEI    |
000023a0  20 20 20 20 20 20 20 5c  20 64 69 73 61 62 6c 65  |       \ disable|
000023b0  20 69 6e 74 65 72 75 70  74 73 20 2d 20 6a 75 73  | interupts - jus|
000023c0  74 20 69 6e 20 63 61 73  65 0d 20 31 31 34 30 20  |t in case. 1140 |
000023d0  20 20 20 20 20 20 20 20  53 54 58 20 65 76 65 6e  |        STX even|
000023e0  74 76 20 20 20 20 5c 20  72 65 73 74 6f 72 65 20  |tv    \ restore |
000023f0  74 68 65 20 65 76 65 6e  74 20 76 65 63 74 6f 72  |the event vector|
00002400  0d 20 31 31 35 30 20 20  20 20 20 20 20 20 20 53  |. 1150         S|
00002410  54 59 20 65 76 65 6e 74  76 2b 31 20 20 5c 20 74  |TY eventv+1  \ t|
00002420  6f 20 69 74 73 20 66 6f  72 6d 65 72 20 67 6c 6f  |o its former glo|
00002430  72 79 0d 20 31 31 36 30  20 20 20 20 20 20 20 20  |ry. 1160        |
00002440  20 43 4c 49 20 20 20 20  20 20 20 20 20 20 20 5c  | CLI           \|
00002450  20 72 65 2d 65 6e 61 62  6c 65 20 69 6e 74 65 72  | re-enable inter|
00002460  75 70 74 73 0d 20 31 31  37 30 20 20 20 20 20 20  |upts. 1170      |
00002470  20 20 20 52 54 53 20 20  20 20 20 20 20 20 20 20  |   RTS          |
00002480  20 5c 20 61 6e 64 20 72  65 74 75 72 6e 0d 20 31  | \ and return. 1|
00002490  31 38 30 20 2e 65 76 65  6e 74 6f 66 66 0d 20 31  |180 .eventoff. 1|
000024a0  31 39 30 20 20 20 20 20  20 20 20 20 4c 44 41 20  |190         LDA |
000024b0  23 31 33 20 20 20 20 20  20 20 5c 20 64 69 73 61  |#13       \ disa|
000024c0  62 6c 65 20 65 76 65 6e  74 0d 20 31 32 30 30 20  |ble event. 1200 |
000024d0  20 20 20 20 20 20 20 20  4c 44 58 20 23 35 20 20  |        LDX #5  |
000024e0  20 20 20 20 20 20 5c 20  69 6e 74 65 72 76 61 6c  |      \ interval|
000024f0  20 74 69 6d 65 72 20 63  72 6f 73 73 69 6e 67 20  | timer crossing |
00002500  7a 65 72 6f 0d 20 31 32  31 30 20 20 20 20 20 20  |zero. 1210      |
00002510  20 20 20 4c 44 59 20 23  30 20 20 20 20 20 20 20  |   LDY #0       |
00002520  20 5c 20 59 20 6d 75 73  74 20 3d 20 30 0d 20 31  | \ Y must = 0. 1|
00002530  32 32 30 20 20 20 20 20  20 20 20 20 4a 4d 50 20  |220         JMP |
00002540  6f 73 62 79 74 65 20 20  20 20 5c 20 4f 73 62 79  |osbyte    \ Osby|
00002550  74 65 20 61 6e 64 20 72  65 74 75 72 6e 0d 20 31  |te and return. 1|
00002560  32 33 30 20 2e 61 64 64  72 65 73 73 0d 20 31 32  |230 .address. 12|
00002570  34 30 20 20 20 20 20 20  20 20 20 54 59 41 20 20  |40         TYA  |
00002580  20 20 20 20 20 20 20 20  20 5c 20 4d 53 42 20 69  |         \ MSB i|
00002590  73 20 69 6e 20 59 20 72  65 67 69 73 74 65 72 0d  |s in Y register.|
000025a0  20 31 32 35 30 20 20 20  20 20 20 20 20 20 50 48  | 1250         PH|
000025b0  41 20 20 20 20 20 20 20  20 20 20 20 5c 20 70 75  |A           \ pu|
000025c0  73 68 20 4d 53 42 20 74  77 69 63 65 0d 20 31 32  |sh MSB twice. 12|
000025d0  36 30 20 20 20 20 20 20  20 20 20 50 48 41 0d 20  |60         PHA. |
000025e0  31 32 37 30 20 20 20 20  20 20 20 20 20 54 58 41  |1270         TXA|
000025f0  20 20 20 20 20 20 20 20  20 20 20 5c 20 4c 53 42  |           \ LSB|
00002600  20 69 73 20 69 6e 20 58  20 72 65 67 69 73 74 65  | is in X registe|
00002610  72 0d 20 31 32 38 30 20  20 20 20 20 20 20 20 20  |r. 1280         |
00002620  41 4e 44 20 23 26 46 20  20 20 20 20 20 20 5c 20  |AND #&F       \ |
00002630  69 73 6f 6c 61 74 65 20  66 69 72 73 74 20 6e 79  |isolate first ny|
00002640  62 62 6c 65 0d 20 31 32  39 30 20 20 20 20 20 20  |bble. 1290      |
00002650  20 20 20 4f 52 41 20 23  26 34 30 20 20 20 20 20  |   ORA #&40     |
00002660  20 5c 20 4f 52 20 69 74  20 77 69 74 68 20 4c 6f  | \ OR it with Lo|
00002670  61 64 20 41 64 64 72 65  73 73 20 63 6f 6d 6d 61  |ad Address comma|
00002680  6e 64 0d 20 31 33 30 30  20 20 20 20 20 20 20 20  |nd. 1300        |
00002690  20 4a 53 52 20 77 72 69  74 65 20 20 20 20 20 5c  | JSR write     \|
000026a0  20 73 65 6e 64 20 63 6f  6d 6d 61 6e 64 20 74 6f  | send command to|
000026b0  20 73 70 65 65 63 68 20  70 72 6f 63 65 73 73 6f  | speech processo|
000026c0  72 0d 20 31 33 31 30 20  20 20 20 20 20 20 20 20  |r. 1310         |
000026d0  54 58 41 20 20 20 20 20  20 20 20 20 20 20 5c 20  |TXA           \ |
000026e0  73 65 63 6f 6e 64 20 6e  79 62 62 6c 65 0d 20 31  |second nybble. 1|
000026f0  33 32 30 20 20 20 20 20  20 20 20 20 41 4e 44 20  |320         AND |
00002700  23 26 46 30 0d 20 31 33  33 30 20 20 20 20 20 20  |#&F0. 1330      |
00002710  20 20 20 4c 53 52 20 41  0d 20 31 33 34 30 20 20  |   LSR A. 1340  |
00002720  20 20 20 20 20 20 20 4c  53 52 20 41 0d 20 31 33  |       LSR A. 13|
00002730  35 30 20 20 20 20 20 20  20 20 20 4c 53 52 20 41  |50         LSR A|
00002740  0d 20 31 33 36 30 20 20  20 20 20 20 20 20 20 4c  |. 1360         L|
00002750  53 52 20 41 0d 20 31 33  37 30 20 20 20 20 20 20  |SR A. 1370      |
00002760  20 20 20 4f 52 41 20 23  26 34 30 0d 20 31 33 38  |   ORA #&40. 138|
00002770  30 20 20 20 20 20 20 20  20 20 4a 53 52 20 77 72  |0         JSR wr|
00002780  69 74 65 20 20 20 20 20  5c 20 73 65 6e 64 20 63  |ite     \ send c|
00002790  6f 6d 6d 61 6e 64 20 74  6f 20 73 70 65 65 63 68  |ommand to speech|
000027a0  20 70 72 6f 63 65 73 73  6f 72 0d 20 31 33 39 30  | processor. 1390|
000027b0  20 20 20 20 20 20 20 20  20 50 4c 41 20 20 20 20  |         PLA    |
000027c0  20 20 20 20 20 20 20 5c  20 74 68 69 72 64 20 6e  |       \ third n|
000027d0  79 62 62 6c 65 0d 20 31  34 30 30 20 20 20 20 20  |ybble. 1400     |
000027e0  20 20 20 20 41 4e 44 20  23 26 46 0d 20 31 34 31  |    AND #&F. 141|
000027f0  30 20 20 20 20 20 20 20  20 20 4f 52 41 20 23 26  |0         ORA #&|
00002800  34 30 0d 20 31 34 32 30  20 20 20 20 20 20 20 20  |40. 1420        |
00002810  20 4a 53 52 20 77 72 69  74 65 0d 20 31 34 33 30  | JSR write. 1430|
00002820  20 20 20 20 20 20 20 20  20 50 4c 41 20 20 20 20  |         PLA    |
00002830  20 20 20 20 20 20 20 5c  20 66 6f 75 72 74 68 20  |       \ fourth |
00002840  6e 79 62 62 6c 65 0d 20  31 34 34 30 20 20 20 20  |nybble. 1440    |
00002850  20 20 20 20 20 41 4e 44  20 23 26 46 30 0d 20 31  |     AND #&F0. 1|
00002860  34 35 30 20 20 20 20 20  20 20 20 20 4c 53 52 20  |450         LSR |
00002870  41 0d 20 31 34 36 30 20  20 20 20 20 20 20 20 20  |A. 1460         |
00002880  4c 53 52 20 41 0d 20 31  34 37 30 20 20 20 20 20  |LSR A. 1470     |
00002890  20 20 20 20 4c 53 52 20  41 0d 20 31 34 38 30 20  |    LSR A. 1480 |
000028a0  20 20 20 20 20 20 20 20  4c 53 52 20 41 0d 20 31  |        LSR A. 1|
000028b0  34 39 30 20 20 20 20 20  20 20 20 20 4f 52 41 20  |490         ORA |
000028c0  23 26 34 43 0d 20 31 35  30 30 20 20 20 20 20 20  |#&4C. 1500      |
000028d0  20 20 20 4a 53 52 20 77  72 69 74 65 20 20 20 20  |   JSR write    |
000028e0  20 5c 20 73 65 6e 64 20  63 6f 6d 6d 61 6e 64 20  | \ send command |
000028f0  74 6f 20 73 70 65 65 63  68 20 70 72 6f 63 65 73  |to speech proces|
00002900  73 6f 72 0d 20 31 35 31  30 20 20 20 20 20 20 20  |sor. 1510       |
00002910  20 20 4c 44 41 20 23 26  34 33 20 20 20 20 20 20  |  LDA #&43      |
00002920  5c 20 6c 61 73 74 20 62  79 74 65 20 61 6c 77 61  |\ last byte alwa|
00002930  79 73 20 26 34 33 0d 20  31 35 32 30 20 2e 77 72  |ys &43. 1520 .wr|
00002940  69 74 65 0d 20 31 35 33  30 20 20 20 20 20 20 20  |ite. 1530       |
00002950  20 20 54 41 59 20 20 20  20 20 20 20 20 20 20 20  |  TAY           |
00002960  5c 20 74 72 61 6e 73 66  65 72 20 63 6f 6d 6d 61  |\ transfer comma|
00002970  6e 64 20 69 6e 74 6f 20  59 20 72 65 67 69 73 74  |nd into Y regist|
00002980  65 72 0d 20 31 35 34 30  20 20 20 20 20 20 20 20  |er. 1540        |
00002990  20 4c 44 41 20 23 26 39  46 20 20 20 20 20 20 5c  | LDA #&9F      \|
000029a0  20 77 72 69 74 65 20 74  6f 20 73 70 65 65 63 68  | write to speech|
000029b0  20 70 72 6f 63 65 73 73  6f 72 0d 20 31 35 35 30  | processor. 1550|
000029c0  20 20 20 20 20 20 20 20  20 4a 4d 50 20 6f 73 62  |         JMP osb|
000029d0  79 74 65 20 20 20 20 5c  20 4f 73 62 79 74 65 20  |yte    \ Osbyte |
000029e0  61 6e 64 20 72 65 74 75  72 6e 0d 20 31 35 36 30  |and return. 1560|
000029f0  20 2e 74 69 6d 65 62 61  73 65 0d 20 31 35 37 30  | .timebase. 1570|
00002a00  20 20 20 20 20 20 20 20  20 45 51 55 44 20 26 46  |         EQUD &F|
00002a10  46 46 46 46 46 46 46 0d  20 31 35 38 30 20 20 20  |FFFFFFF. 1580   |
00002a20  20 20 20 20 20 20 45 51  55 42 20 26 46 46 0d 20  |      EQUB &FF. |
00002a30  31 35 39 30 20 2e 73 70  64 61 74 61 0d 20 31 36  |1590 .spdata. 16|
00002a40  30 30 20 20 20 20 20 20  20 20 20 45 51 55 42 20  |00         EQUB |
00002a50  30 20 20 20 20 20 20 20  20 5c 20 73 70 65 61 6b  |0        \ speak|
00002a60  20 74 68 65 20 63 6f 6d  70 6c 65 74 65 20 77 6f  | the complete wo|
00002a70  72 64 20 22 74 68 69 73  22 0d 20 31 36 31 30 20  |rd "this". 1610 |
00002a80  20 20 20 20 20 20 20 20  45 51 55 57 20 26 33 38  |        EQUW &38|
00002a90  30 38 20 20 20 20 5c 20  61 64 64 72 65 73 73 20  |08    \ address |
00002aa0  6f 66 20 22 74 68 69 73  22 20 69 6e 20 77 6f 72  |of "this" in wor|
00002ab0  64 20 50 48 52 4f 4d 20  41 0d 20 31 36 32 30 20  |d PHROM A. 1620 |
00002ac0  20 20 20 20 20 20 20 20  45 51 55 42 20 32 30 20  |        EQUB 20 |
00002ad0  20 20 20 20 20 20 5c 20  73 70 65 61 6b 20 32 30  |      \ speak 20|
00002ae0  20 63 65 6e 74 69 2d 73  65 63 6f 6e 64 73 20 6f  | centi-seconds o|
00002af0  66 20 22 73 63 6f 72 65  22 0d 20 31 36 33 30 20  |f "score". 1630 |
00002b00  20 20 20 20 20 20 20 20  45 51 55 57 20 26 33 32  |        EQUW &32|
00002b10  39 41 20 20 20 20 5c 20  73 2d 20 28 73 63 6f 72  |9A    \ s- (scor|
00002b20  65 29 0d 20 31 36 34 30  20 20 20 20 20 20 20 20  |e). 1640        |
00002b30  20 45 51 55 42 20 31 30  20 20 20 20 20 20 20 5c  | EQUB 10       \|
00002b40  20 73 70 65 61 6b 20 31  30 20 63 65 6e 74 69 2d  | speak 10 centi-|
00002b50  73 65 63 6f 6e 64 73 20  6f 66 20 22 6f 66 66 22  |seconds of "off"|
00002b60  0d 20 31 36 35 30 20 20  20 20 20 20 20 20 20 45  |. 1650         E|
00002b70  51 55 57 20 26 32 38 44  39 20 20 20 20 5c 20 2d  |QUW &28D9    \ -|
00002b80  6f 66 2d 20 28 6f 66 66  29 0d 20 31 36 36 30 20  |of- (off). 1660 |
00002b90  20 20 20 20 20 20 20 20  45 51 55 42 20 31 30 0d  |        EQUB 10.|
00002ba0  20 31 36 37 30 20 20 20  20 20 20 20 20 20 45 51  | 1670         EQ|
00002bb0  55 57 20 26 33 38 45 32  20 20 20 20 5c 20 2d 74  |UW &38E2    \ -t|
00002bc0  2d 20 28 74 72 79 29 0d  20 31 36 38 30 20 20 20  |- (try). 1680   |
00002bd0  20 20 20 20 20 20 45 51  55 42 20 32 35 0d 20 31  |      EQUB 25. 1|
00002be0  36 39 30 20 20 20 20 20  20 20 20 20 45 51 55 57  |690         EQUW|
00002bf0  20 26 33 43 43 32 20 20  20 20 5c 20 2d 77 61 72  | &3CC2    \ -war|
00002c00  65 20 28 77 65 72 65 29  0d 20 31 37 30 30 20 20  |e (were). 1700  |
00002c10  20 20 20 20 20 20 20 45  51 55 42 20 30 0d 20 31  |       EQUB 0. 1|
00002c20  37 31 30 20 20 20 20 20  20 20 20 20 45 51 55 57  |710         EQUW|
00002c30  20 26 30 32 35 30 20 20  20 20 5c 20 31 32 2e 35  | &0250    \ 12.5|
00002c40  20 63 65 6e 74 69 2d 73  65 63 2e 20 64 65 6c 61  | centi-sec. dela|
00002c50  79 0d 20 31 37 32 30 20  20 20 20 20 20 20 20 20  |y. 1720         |
00002c60  45 51 55 42 20 30 0d 20  31 37 33 30 20 20 20 20  |EQUB 0. 1730    |
00002c70  20 20 20 20 20 45 51 55  57 20 26 33 43 36 43 20  |     EQUW &3C6C |
00002c80  20 20 20 5c 20 77 61 73  0d 20 31 37 34 30 20 20  |   \ was. 1740  |
00002c90  20 20 20 20 20 20 20 45  51 55 42 20 31 35 0d 20  |       EQUB 15. |
00002ca0  31 37 35 30 20 20 20 20  20 20 20 20 20 45 51 55  |1750         EQU|
00002cb0  57 20 26 33 30 45 37 20  20 20 20 5c 20 77 72 2d  |W &30E7    \ wr-|
00002cc0  20 28 72 75 6e 29 0d 20  31 37 36 30 20 20 20 20  | (run). 1760    |
00002cd0  20 20 20 20 20 45 51 55  42 20 31 30 0d 20 31 37  |     EQUB 10. 17|
00002ce0  37 30 20 20 20 20 20 20  20 20 20 45 51 55 57 20  |70         EQUW |
00002cf0  26 31 45 42 44 20 20 20  20 5c 20 2d 69 2d 20 28  |&1EBD    \ -i- (|
00002d00  69 6e 2d 29 0d 20 31 37  38 30 20 20 20 20 20 20  |in-). 1780      |
00002d10  20 20 20 45 51 55 42 20  31 30 0d 20 31 37 39 30  |   EQUB 10. 1790|
00002d20  20 20 20 20 20 20 20 20  20 45 51 55 57 20 26 33  |         EQUW &3|
00002d30  39 35 33 20 20 20 20 5c  20 2d 74 74 2d 20 28 74  |953    \ -tt- (t|
00002d40  77 65 6c 76 65 29 0d 20  31 38 30 30 20 20 20 20  |welve). 1800    |
00002d50  20 20 20 20 20 45 51 55  42 20 31 30 0d 20 31 38  |     EQUB 10. 18|
00002d60  31 30 20 20 20 20 20 20  20 20 20 45 51 55 57 20  |10         EQUW |
00002d70  26 33 41 39 31 20 20 20  20 5c 20 2d 65 2d 20 28  |&3A91    \ -e- (|
00002d80  75 68 29 0d 20 31 38 32  30 20 20 20 20 20 20 20  |uh). 1820       |
00002d90  20 20 45 51 55 42 20 31  35 0d 20 31 38 33 30 20  |  EQUB 15. 1830 |
00002da0  20 20 20 20 20 20 20 20  45 51 55 57 20 26 32 36  |        EQUW &26|
00002db0  33 44 20 20 20 20 5c 20  2d 6e 20 28 6e 6f 29 0d  |3D    \ -n (no).|
00002dc0  20 31 38 34 30 20 20 20  20 20 20 20 20 20 45 51  | 1840         EQ|
00002dd0  55 42 20 30 0d 20 31 38  35 30 20 20 20 20 20 20  |UB 0. 1850      |
00002de0  20 20 20 45 51 55 57 20  26 30 32 35 30 20 20 20  |   EQUW &0250   |
00002df0  20 5c 20 31 32 2e 35 20  63 65 6e 74 69 2d 73 65  | \ 12.5 centi-se|
00002e00  63 2e 20 64 65 6c 61 79  0d 20 31 38 36 30 20 20  |c. delay. 1860  |
00002e10  20 20 20 20 20 20 20 45  51 55 42 20 31 30 0d 20  |       EQUB 10. |
00002e20  31 38 37 30 20 20 20 20  20 20 20 20 20 45 51 55  |1870         EQU|
00002e30  57 20 26 31 31 46 38 20  20 20 20 5c 20 62 2d 20  |W &11F8    \ b- |
00002e40  28 62 75 74 74 6f 6e 29  0d 20 31 38 38 30 20 20  |(button). 1880  |
00002e50  20 20 20 20 20 20 20 45  51 55 42 20 33 30 0d 20  |       EQUB 30. |
00002e60  31 38 39 30 20 20 20 20  20 20 20 20 20 45 51 55  |1890         EQU|
00002e70  57 20 26 31 44 43 43 20  20 20 20 5c 20 2d 79 20  |W &1DCC    \ -y |
00002e80  28 69 29 0d 20 31 39 30  30 20 20 20 20 20 20 20  |(i). 1900       |
00002e90  20 20 45 51 55 42 20 30  0d 20 31 39 31 30 20 20  |  EQUB 0. 1910  |
00002ea0  20 20 20 20 20 20 20 45  51 55 57 20 26 30 32 35  |       EQUW &025|
00002eb0  46 20 20 20 20 5c 20 32  35 20 63 65 6e 74 69 2d  |F    \ 25 centi-|
00002ec0  73 65 63 2e 20 64 65 6c  61 79 0d 20 31 39 32 30  |sec. delay. 1920|
00002ed0  20 20 20 20 20 20 20 20  20 45 51 55 42 20 31 35  |         EQUB 15|
00002ee0  0d 20 31 39 33 30 20 20  20 20 20 20 20 20 20 45  |. 1930         E|
00002ef0  51 55 57 20 26 31 43 43  39 20 20 20 20 5c 20 47  |QUW &1CC9    \ G|
00002f00  2d 20 28 67 6f 6f 64 29  0d 20 31 39 34 30 20 20  |- (good). 1940  |
00002f10  20 20 20 20 20 20 20 45  51 55 42 20 31 35 0d 20  |       EQUB 15. |
00002f20  31 39 35 30 20 20 20 20  20 20 20 20 20 45 51 55  |1950         EQU|
00002f30  57 20 26 32 41 34 38 20  20 20 20 5c 20 2d 6f 72  |W &2A48    \ -or|
00002f40  2d 20 28 6f 72 29 0d 20  31 39 36 30 20 20 20 20  |- (or). 1960    |
00002f50  20 20 20 20 20 45 51 55  42 20 32 30 0d 20 31 39  |     EQUB 20. 19|
00002f60  37 30 20 20 20 20 20 20  20 20 20 45 51 55 57 20  |70         EQUW |
00002f70  26 31 36 32 41 20 20 20  20 5c 20 2d 64 6f 2d 20  |&162A    \ -do- |
00002f80  28 64 6f 6c 6c 61 72 29  0d 20 31 39 38 30 20 20  |(dollar). 1980  |
00002f90  20 20 20 20 20 20 20 45  51 55 42 20 31 34 0d 20  |       EQUB 14. |
00002fa0  31 39 39 30 20 20 20 20  20 20 20 20 20 45 51 55  |1990         EQU|
00002fb0  57 20 26 32 36 33 44 20  20 20 20 5c 20 2d 6e 20  |W &263D    \ -n |
00002fc0  28 6e 6f 29 0d 20 32 30  30 30 20 20 20 20 20 20  |(no). 2000      |
00002fd0  20 20 20 45 51 55 42 20  30 0d 20 32 30 31 30 20  |   EQUB 0. 2010 |
00002fe0  20 20 20 20 20 20 20 20  45 51 55 57 20 26 30 32  |        EQUW &02|
00002ff0  35 30 20 20 20 20 5c 20  31 32 2e 35 20 63 65 6e  |50    \ 12.5 cen|
00003000  74 69 2d 73 65 63 2e 20  64 65 6c 61 79 0d 20 32  |ti-sec. delay. 2|
00003010  30 32 30 20 20 20 20 20  20 20 20 20 45 51 55 42  |020         EQUB|
00003020  20 31 30 0d 20 32 30 33  30 20 20 20 20 20 20 20  | 10. 2030       |
00003030  20 20 45 51 55 57 20 26  30 34 43 38 20 20 20 20  |  EQUW &04C8    |
00003040  5c 20 48 2d 20 28 68 75  6e 64 72 65 64 29 0d 20  |\ H- (hundred). |
00003050  32 30 34 30 20 20 20 20  20 20 20 20 20 45 51 55  |2040         EQU|
00003060  42 20 31 35 0d 20 32 30  35 30 20 20 20 20 20 20  |B 15. 2050      |
00003070  20 20 20 45 51 55 57 20  26 32 41 34 38 20 20 20  |   EQUW &2A48   |
00003080  20 5c 20 2d 6f 72 2d 20  28 6f 72 29 0d 20 32 30  | \ -or- (or). 20|
00003090  36 30 20 20 20 20 20 20  20 20 20 45 51 55 42 20  |60         EQUB |
000030a0  31 30 0d 20 32 30 37 30  20 20 20 20 20 20 20 20  |10. 2070        |
000030b0  20 45 51 55 57 20 26 30  39 33 36 20 20 20 20 5c  | EQUW &0936    \|
000030c0  20 2d 73 2d 20 28 73 69  78 74 2d 29 0d 20 32 30  | -s- (sixt-). 20|
000030d0  38 30 20 20 20 20 20 20  20 20 20 45 51 55 42 20  |80         EQUB |
000030e0  32 35 0d 20 32 30 39 30  20 20 20 20 20 20 20 20  |25. 2090        |
000030f0  20 45 51 55 57 20 26 30  33 32 42 20 20 20 20 5c  | EQUW &032B    \|
00003100  20 2d 69 6e 67 2d 20 28  2d 69 6e 67 29 0d 20 32  | -ing- (-ing). 2|
00003110  31 30 30 20 20 20 20 20  20 20 20 20 45 51 55 42  |100         EQUB|
00003120  20 31 30 0d 20 32 31 31  30 20 20 20 20 20 20 20  | 10. 2110       |
00003130  20 20 45 51 55 57 20 26  33 35 43 41 20 20 20 20  |  EQUW &35CA    |
00003140  5c 20 2d 74 2d 20 28 74  65 6e 29 0d 20 32 31 32  |\ -t- (ten). 212|
00003150  30 20 20 20 20 20 20 20  20 20 45 51 55 42 20 35  |0         EQUB 5|
00003160  0d 20 32 31 33 30 20 20  20 20 20 20 20 20 20 45  |. 2130         E|
00003170  51 55 57 20 26 33 41 39  31 20 20 20 20 5c 20 2d  |QUW &3A91    \ -|
00003180  6f 2d 20 28 75 68 29 0d  20 32 31 34 30 20 20 20  |o- (uh). 2140   |
00003190  20 20 20 20 20 20 45 51  55 42 20 32 30 0d 20 32  |      EQUB 20. 2|
000031a0  31 35 30 20 20 20 20 20  20 20 20 20 45 51 55 57  |150         EQUW|
000031b0  20 26 32 36 33 44 20 20  20 20 5c 20 2d 6e 20 28  | &263D    \ -n (|
000031c0  6e 6f 29 0d 20 32 31 36  30 20 20 20 20 20 20 20  |no). 2160       |
000031d0  20 20 45 51 55 42 20 30  0d 20 32 31 37 30 20 20  |  EQUB 0. 2170  |
000031e0  20 20 20 20 20 20 20 45  51 55 57 20 26 30 32 35  |       EQUW &025|
000031f0  46 20 20 20 20 5c 20 32  35 20 63 65 6e 74 69 2d  |F    \ 25 centi-|
00003200  73 65 63 2e 20 64 65 6c  61 79 0d 20 32 31 38 30  |sec. delay. 2180|
00003210  20 20 20 20 20 20 20 20  20 45 51 55 42 20 30 0d  |         EQUB 0.|
00003220  20 32 31 39 30 20 20 20  20 20 20 20 20 20 45 51  | 2190         EQ|
00003230  55 57 20 26 30 45 31 32  20 20 20 20 5c 20 61 6e  |UW &0E12    \ an|
00003240  64 0d 20 32 32 30 30 20  20 20 20 20 20 20 20 20  |d. 2200         |
00003250  45 51 55 42 20 30 0d 20  32 32 31 30 20 20 20 20  |EQUB 0. 2210    |
00003260  20 20 20 20 20 45 51 55  57 20 26 31 46 35 37 20  |     EQUW &1F57 |
00003270  20 20 20 5c 20 69 73 0d  20 32 32 32 30 20 20 20  |   \ is. 2220   |
00003280  20 20 20 20 20 20 45 51  55 42 20 30 0d 20 32 32  |      EQUB 0. 22|
00003290  33 30 20 20 20 20 20 20  20 20 20 45 51 55 57 20  |30         EQUW |
000032a0  26 30 46 43 46 20 20 20  20 5c 20 61 76 61 69 6c  |&0FCF    \ avail|
000032b0  61 62 6c 65 0d 20 32 32  34 30 20 20 20 20 20 20  |able. 2240      |
000032c0  20 20 20 45 51 55 42 20  30 0d 20 32 32 35 30 20  |   EQUB 0. 2250 |
000032d0  20 20 20 20 20 20 20 20  45 51 55 57 20 26 31 43  |        EQUW &1C|
000032e0  31 31 20 20 20 20 5c 20  66 72 6f 6d 0d 20 32 32  |11    \ from. 22|
000032f0  36 30 20 20 20 20 20 20  20 20 20 45 51 55 42 20  |60         EQUB |
00003300  30 0d 20 32 32 37 30 20  20 20 20 20 20 20 20 20  |0. 2270         |
00003310  45 51 55 57 20 26 30 32  35 30 20 20 20 20 5c 20  |EQUW &0250    \ |
00003320  31 32 2e 35 20 63 65 6e  74 69 2d 73 65 63 2e 20  |12.5 centi-sec. |
00003330  64 65 6c 61 79 0d 20 32  32 38 30 20 20 20 20 20  |delay. 2280     |
00003340  20 20 20 20 45 51 55 42  20 30 0d 20 32 32 39 30  |    EQUB 0. 2290|
00003350  20 20 20 20 20 20 20 20  20 45 51 55 57 20 26 31  |         EQUW &1|
00003360  30 36 35 20 20 20 20 5c  20 42 0d 20 32 33 30 30  |065    \ B. 2300|
00003370  20 20 20 20 20 20 20 20  20 45 51 55 42 20 30 0d  |         EQUB 0.|
00003380  20 32 33 31 30 20 20 20  20 20 20 20 20 20 45 51  | 2310         EQ|
00003390  55 57 20 26 31 30 36 35  20 20 20 20 5c 20 42 0d  |UW &1065    \ B.|
000033a0  20 32 33 32 30 20 20 20  20 20 20 20 20 20 45 51  | 2320         EQ|
000033b0  55 42 20 30 0d 20 32 33  33 30 20 20 20 20 20 20  |UB 0. 2330      |
000033c0  20 20 20 45 51 55 57 20  26 31 32 34 44 20 20 20  |   EQUW &124D   |
000033d0  20 5c 20 43 0d 20 32 33  34 30 20 20 20 20 20 20  | \ C. 2340      |
000033e0  20 20 20 45 51 55 42 20  31 30 0d 20 32 33 35 30  |   EQUB 10. 2350|
000033f0  20 20 20 20 20 20 20 20  20 45 51 55 57 20 26 33  |         EQUW &3|
00003400  35 43 41 20 20 20 20 5c  20 54 65 2d 20 28 74 65  |5CA    \ Te- (te|
00003410  6e 29 0d 20 32 33 36 30  20 20 20 20 20 20 20 20  |n). 2360        |
00003420  20 45 51 55 42 20 31 35  0d 20 32 33 37 30 20 20  | EQUB 15. 2370  |
00003430  20 20 20 20 20 20 20 45  51 55 57 20 26 32 30 39  |       EQUW &209|
00003440  46 20 20 20 20 5c 20 2d  6c 2d 20 28 6c 29 0d 20  |F    \ -l- (l). |
00003450  32 33 38 30 20 20 20 20  20 20 20 20 20 45 51 55  |2380         EQU|
00003460  42 20 31 30 0d 20 32 33  39 30 20 20 20 20 20 20  |B 10. 2390      |
00003470  20 20 20 45 51 55 57 20  26 31 37 38 42 20 20 20  |   EQUW &178B   |
00003480  20 5c 20 2d 65 2d 20 28  65 61 63 68 29 0d 20 32  | \ -e- (each). 2|
00003490  34 30 30 20 20 20 20 20  20 20 20 20 45 51 55 42  |400         EQUB|
000034a0  20 31 35 0d 20 32 34 31  30 20 20 20 20 20 20 20  | 15. 2410       |
000034b0  20 20 45 51 55 57 20 26  33 32 39 41 20 20 20 20  |  EQUW &329A    |
000034c0  5c 20 2d 73 2d 20 28 73  63 6f 72 65 29 0d 20 32  |\ -s- (score). 2|
000034d0  34 32 30 20 20 20 20 20  20 20 20 20 45 51 55 42  |420         EQUB|
000034e0  20 31 30 0d 20 32 34 33  30 20 20 20 20 20 20 20  | 10. 2430       |
000034f0  20 20 45 51 55 57 20 26  32 38 44 39 20 20 20 20  |  EQUW &28D9    |
00003500  5c 20 2d 6f 66 2d 20 28  6f 66 66 29 0d 20 32 34  |\ -of- (off). 24|
00003510  34 30 20 20 20 20 20 20  20 20 20 45 51 55 42 20  |40         EQUB |
00003520  31 30 0d 20 32 34 35 30  20 20 20 20 20 20 20 20  |10. 2450        |
00003530  20 45 51 55 57 20 26 33  38 45 32 20 20 20 20 5c  | EQUW &38E2    \|
00003540  20 2d 74 2d 20 28 74 72  79 29 0d 20 32 34 36 30  | -t- (try). 2460|
00003550  20 20 20 20 20 20 20 20  20 45 51 55 42 20 32 30  |         EQUB 20|
00003560  0d 20 32 34 37 30 20 20  20 20 20 20 20 20 20 45  |. 2470         E|
00003570  51 55 57 20 26 33 43 43  32 20 20 20 20 5c 20 2d  |QUW &3CC2    \ -|
00003580  77 61 72 65 20 28 77 65  72 65 29 0d 20 32 34 38  |ware (were). 248|
00003590  30 20 20 20 20 20 20 20  20 20 45 51 55 42 20 26  |0         EQUB &|
000035a0  46 46 20 20 20 20 20 20  5c 20 65 6e 64 2d 6f 66  |FF      \ end-of|
000035b0  2d 64 61 74 61 20 6d 61  72 6b 65 72 0d 20 32 34  |-data marker. 24|
000035c0  39 30 20 5d 0d 20 32 35  30 30 20 4e 45 58 54 0d  |90 ]. 2500 NEXT.|
000035d0  20 32 35 31 30 20 43 41  4c 4c 20 6d 63 6f 64 65  | 2510 CALL mcode|
000035e0  0d 0d 0d 49 6e 20 74 68  65 20 70 72 6f 67 72 61  |...In the progra|
000035f0  6d 20 54 45 4c 53 4f 46  54 20 74 68 65 20 73 70  |m TELSOFT the sp|
00003600  65 65 63 68 20 70 72 6f  63 65 73 73 6f 72 20 69  |eech processor i|
00003610  73 20 72 65 73 65 74 20  74 77 69 63 65 20 61 66  |s reset twice af|
00003620  74 65 72 20 74 68 65 0d  72 65 71 75 69 72 65 64  |ter the.required|
00003630  20 74 69 6d 65 20 69 6e  74 65 72 76 61 6c 2e 20  | time interval. |
00003640  49 74 20 69 73 20 72 65  73 65 74 20 6f 6e 63 65  |It is reset once|
00003650  20 69 6e 20 6c 69 6e 65  20 39 35 30 20 61 6e 64  | in line 950 and|
00003660  20 61 67 61 69 6e 20 69  6e 20 6c 69 6e 65 0d 39  | again in line.9|
00003670  36 30 2e 20 54 68 69 73  20 69 73 20 6e 6f 74 20  |60. This is not |
00003680  61 20 6d 69 73 74 61 6b  65 2e 20 54 68 65 20 72  |a mistake. The r|
00003690  65 61 73 6f 6e 20 66 6f  72 20 72 65 73 65 74 74  |eason for resett|
000036a0  69 6e 67 20 74 77 69 63  65 20 69 73 20 74 68 61  |ing twice is tha|
000036b0  74 20 69 66 20 74 68 65  0d 73 6f 66 74 77 61 72  |t if the.softwar|
000036c0  65 20 69 73 20 73 6f 61  6b 20 74 65 73 74 65 64  |e is soak tested|
000036d0  20 28 62 79 20 72 65 70  65 61 74 65 64 6c 79 20  | (by repeatedly |
000036e0  43 41 4c 4c 69 6e 67 20  6d 63 6f 64 65 20 69 6e  |CALLing mcode in|
000036f0  20 61 6e 20 69 6e 66 69  6e 69 74 65 20 6c 6f 6f  | an infinite loo|
00003700  70 29 0d 69 74 20 77 69  6c 6c 20 6f 63 63 61 73  |p).it will occas|
00003710  69 6f 6e 61 6c 6c 79 20  70 72 6f 64 75 63 65 20  |ionally produce |
00003720  67 61 72 62 6c 65 64 20  73 70 65 65 63 68 20 6f  |garbled speech o|
00003730  6e 20 61 20 6d 61 63 68  69 6e 65 20 74 68 61 74  |n a machine that|
00003740  20 64 6f 65 73 20 6e 6f  74 0d 68 61 76 65 20 74  | does not.have t|
00003750  68 65 20 73 70 65 65 63  68 20 74 6f 6e 65 20 63  |he speech tone c|
00003760  6f 6e 74 72 6f 6c 20 63  6f 72 72 65 63 74 6c 79  |ontrol correctly|
00003770  20 73 65 74 2e 20 54 68  69 73 20 63 61 6e 20 75  | set. This can u|
00003780  73 75 61 6c 6c 79 20 62  65 20 70 72 65 76 65 6e  |sually be preven|
00003790  74 65 64 0d 62 79 20 72  65 73 65 74 74 69 6e 67  |ted.by resetting|
000037a0  20 74 68 65 20 73 70 65  65 63 68 20 70 72 6f 63  | the speech proc|
000037b0  65 73 73 6f 72 20 74 77  69 63 65 20 62 75 74 20  |essor twice but |
000037c0  61 20 63 72 61 73 68 20  63 61 6e 20 6f 6e 6c 79  |a crash can only|
000037d0  20 62 65 20 63 75 72 65  64 20 62 79 0d 73 77 69  | be cured by.swi|
000037e0  74 63 68 69 6e 67 20 74  68 65 20 63 6f 6d 70 75  |tching the compu|
000037f0  74 65 72 20 6f 66 66 20  61 6e 64 20 74 68 65 6e  |ter off and then|
00003800  20 62 61 63 6b 20 6f 6e  20 61 67 61 69 6e 2e 0d  | back on again..|
00003810  0d 49 66 20 79 6f 75 20  64 65 6c 65 74 65 20 6c  |.If you delete l|
00003820  69 6e 65 20 39 36 30 20  61 6e 64 20 72 65 6d 6f  |ine 960 and remo|
00003830  76 65 20 74 68 65 20 73  65 63 6f 6e 64 20 72 65  |ve the second re|
00003840  73 65 74 2c 20 69 74 20  69 73 20 6c 69 6b 65 6c  |set, it is likel|
00003850  79 20 74 68 61 74 20 74  68 65 0d 70 72 6f 67 72  |y that the.progr|
00003860  61 6d 20 77 69 6c 6c 20  73 74 69 6c 6c 20 77 6f  |am will still wo|
00003870  72 6b 20 70 72 6f 70 65  72 6c 79 20 6f 6e 20 79  |rk properly on y|
00003880  6f 75 72 20 63 6f 6d 70  75 74 65 72 2e 0d 0d 52  |our computer...R|
00003890  65 73 65 74 74 69 6e 67  20 61 20 53 70 65 61 6b  |esetting a Speak|
000038a0  20 63 6f 6d 6d 61 6e 64  20 77 69 74 68 6f 75 74  | command without|
000038b0  20 61 6e 79 20 64 65 6c  61 79 20 61 74 20 61 6c  | any delay at al|
000038c0  6c 20 63 61 6e 20 61 6c  73 6f 20 63 72 61 73 68  |l can also crash|
000038d0  20 74 68 65 0d 73 70 65  65 63 68 20 70 72 6f 63  | the.speech proc|
000038e0  65 73 73 6f 72 2e 20 54  68 65 72 65 20 69 73 20  |essor. There is |
000038f0  61 62 73 6f 6c 75 74 65  6c 79 20 6e 6f 20 70 6f  |absolutely no po|
00003900  69 6e 74 20 69 6e 20 64  6f 69 6e 67 20 74 68 69  |int in doing thi|
00003910  73 20 61 6e 64 20 69 74  20 6d 75 73 74 0d 62 65  |s and it must.be|
00003920  20 61 76 6f 69 64 65 64  2e 20 56 65 72 79 20 73  | avoided. Very s|
00003930  68 6f 72 74 20 64 65 6c  61 79 73 20 62 65 66 6f  |hort delays befo|
00003940  72 65 20 72 65 73 65 74  20 63 61 6e 20 68 61 76  |re reset can hav|
00003950  65 20 74 68 65 20 73 61  6d 65 20 65 66 66 65 63  |e the same effec|
00003960  74 20 77 69 74 68 0d 73  6f 6d 65 20 63 6f 6e 73  |t with.some cons|
00003970  6f 6e 61 6e 74 73 2e 20  54 68 65 72 65 20 69 73  |onants. There is|
00003980  20 6e 6f 20 70 6f 69 6e  74 20 69 6e 20 68 61 76  | no point in hav|
00003990  69 6e 67 20 61 20 64 65  6c 61 79 20 74 69 6d 65  |ing a delay time|
000039a0  20 6f 66 20 6c 65 73 73  20 74 68 61 6e 20 6f 6e  | of less than on|
000039b0  65 0d 74 77 65 6e 74 69  65 74 68 20 6f 66 20 61  |e.twentieth of a|
000039c0  20 73 65 63 6f 6e 64 20  28 61 20 64 65 6c 61 79  | second (a delay|
000039d0  20 74 69 6d 65 20 6f 66  20 35 20 69 6e 20 74 68  | time of 5 in th|
000039e0  65 20 70 72 6f 67 72 61  6e 20 54 45 4c 53 4f 46  |e progran TELSOF|
000039f0  54 29 20 61 6e 64 20 75  73 69 6e 67 0d 6f 6e 65  |T) and using.one|
00003a00  20 74 77 65 6e 74 69 65  74 68 20 6f 66 20 61 20  | twentieth of a |
00003a10  73 65 63 6f 6e 64 20 61  73 20 61 20 6d 69 6e 69  |second as a mini|
00003a20  6d 75 6d 20 64 65 6c 61  79 20 77 69 6c 6c 20 63  |mum delay will c|
00003a30  65 72 74 61 69 6e 6c 79  20 68 65 6c 70 20 74 6f  |ertainly help to|
00003a40  20 61 76 6f 69 64 0d 74  68 69 73 20 70 72 6f 62  | avoid.this prob|
00003a50  6c 65 6d 2e 0d 0d 49 66  20 79 6f 75 72 20 73 70  |lem...If your sp|
00003a60  65 65 63 68 20 73 79 73  74 65 6d 20 63 72 61 73  |eech system cras|
00003a70  68 65 73 20 66 6f 72 20  6e 6f 20 61 70 70 61 72  |hes for no appar|
00003a80  65 6e 74 20 72 65 61 73  6f 6e 20 69 74 20 6d 61  |ent reason it ma|
00003a90  79 20 62 65 20 74 68 61  74 20 74 68 65 0d 73 70  |y be that the.sp|
00003aa0  65 65 63 68 20 74 6f 6e  65 20 63 6f 6e 74 72 6f  |eech tone contro|
00003ab0  6c 20 76 61 72 69 61 62  6c 65 20 72 65 73 69 73  |l variable resis|
00003ac0  74 6f 72 20 6e 65 65 64  73 20 74 6f 20 62 65 20  |tor needs to be |
00003ad0  61 64 6a 75 73 74 65 64  2e 20 54 68 65 20 74 6f  |adjusted. The to|
00003ae0  6e 65 0d 63 6f 6e 74 72  6f 6c 20 69 73 20 6c 61  |ne.control is la|
00003af0  62 65 6c 6c 65 64 20 56  52 32 20 6f 6e 20 74 68  |belled VR2 on th|
00003b00  65 20 42 42 43 20 42 20  63 69 72 63 75 69 74 20  |e BBC B circuit |
00003b10  62 6f 61 72 64 20 61 6e  64 20 63 61 6e 20 62 65  |board and can be|
00003b20  20 66 6f 75 6e 64 20 74  6f 20 74 68 65 0d 6c 65  | found to the.le|
00003b30  66 74 20 6f 66 20 49 43  39 38 2e 20 4f 6e 20 74  |ft of IC98. On t|
00003b40  68 65 20 42 42 43 20 42  2b 20 69 74 20 69 73 20  |he BBC B+ it is |
00003b50  6c 61 62 65 6c 6c 65 64  20 56 52 31 20 61 6e 64  |labelled VR1 and|
00003b60  20 63 61 6e 20 62 65 20  66 6f 75 6e 64 20 74 6f  | can be found to|
00003b70  20 74 68 65 0d 72 69 67  68 74 20 6f 66 20 49 43  | the.right of IC|
00003b80  33 37 2e 20 43 72 61 73  68 65 73 20 63 61 6e 20  |37. Crashes can |
00003b90  73 6f 6d 65 74 69 6d 65  73 20 62 65 20 63 75 72  |sometimes be cur|
00003ba0  65 64 20 62 79 20 74 75  72 6e 69 6e 67 20 74 68  |ed by turning th|
00003bb0  65 20 76 61 72 69 61 62  6c 65 0d 72 65 73 69 73  |e variable.resis|
00003bc0  74 6f 72 20 63 6c 6f 63  6b 77 69 73 65 20 6a 75  |tor clockwise ju|
00003bd0  73 74 20 61 20 76 65 72  79 20 73 6d 61 6c 6c 20  |st a very small |
00003be0  61 6d 6f 75 6e 74 2e 20  54 68 69 73 20 63 6f 6e  |amount. This con|
00003bf0  74 72 6f 6c 20 63 61 6e  20 6f 6e 6c 79 20 62 65  |trol can only be|
00003c00  20 73 65 74 0d 61 63 63  75 72 61 74 65 6c 79 20  | set.accurately |
00003c10  77 69 74 68 20 6c 61 62  6f 72 61 74 6f 72 79 20  |with laboratory |
00003c20  69 6e 73 74 72 75 6d 65  6e 74 73 20 61 6e 64 20  |instruments and |
00003c30  69 66 20 73 70 65 65 63  68 20 70 72 6f 63 65 73  |if speech proces|
00003c40  73 6f 72 20 63 72 61 73  68 65 73 20 61 72 65 0d  |sor crashes are.|
00003c50  61 20 63 6f 6e 74 69 6e  75 61 6c 20 70 72 6f 62  |a continual prob|
00003c60  6c 65 6d 20 69 74 20 6d  61 79 20 62 65 20 61 20  |lem it may be a |
00003c70  67 6f 6f 64 20 69 64 65  61 20 74 6f 20 61 73 6b  |good idea to ask|
00003c80  20 79 6f 75 72 20 64 65  61 6c 65 72 20 74 6f 20  | your dealer to |
00003c90  73 65 74 20 74 68 65 0d  74 6f 6e 65 20 63 6f 6e  |set the.tone con|
00003ca0  74 72 6f 6c 20 69 6e 20  68 69 73 20 77 6f 72 6b  |trol in his work|
00003cb0  73 68 6f 70 2e 20 49 66  20 79 6f 75 20 66 65 65  |shop. If you fee|
00003cc0  6c 20 75 6e 73 75 72 65  20 61 62 6f 75 74 20 61  |l unsure about a|
00003cd0  64 6a 75 73 74 69 6e 67  20 74 68 65 20 74 6f 6e  |djusting the ton|
00003ce0  65 0d 63 6f 6e 74 72 6f  6c 2c 20 6f 72 20 69 66  |e.control, or if|
00003cf0  20 79 6f 75 20 64 6f 6e  27 74 20 6b 6e 6f 77 20  | you don't know |
00003d00  77 68 65 72 65 20 74 6f  20 6c 6f 6f 6b 20 66 6f  |where to look fo|
00003d10  72 20 69 74 2c 20 74 68  65 6e 20 6c 65 61 76 65  |r it, then leave|
00003d20  20 69 74 20 61 6c 6f 6e  65 2e 0d 0d 49 6e 20 6f  | it alone...In o|
00003d30  72 64 65 72 20 74 6f 20  73 70 65 61 6b 20 74 68  |rder to speak th|
00003d40  65 20 45 6e 67 6c 69 73  68 20 64 69 61 6c 65 63  |e English dialec|
00003d50  74 20 6b 6e 6f 77 6e 20  61 73 20 52 65 63 65 69  |t known as Recei|
00003d60  76 65 64 20 50 72 6f 6e  6f 75 6e 63 69 61 74 69  |ved Pronounciati|
00003d70  6f 6e 20 69 74 0d 69 73  20 6e 65 63 65 73 73 61  |on it.is necessa|
00003d80  72 79 20 74 6f 20 62 65  20 61 62 6c 65 20 74 6f  |ry to be able to|
00003d90  20 70 72 6f 64 75 63 65  20 74 68 65 20 70 68 6f  | produce the pho|
00003da0  6e 65 6d 65 73 20 69 6e  20 66 69 67 75 72 65 20  |nemes in figure |
00003db0  31 2e 0d 0d 0d 43 6f 6e  73 6f 6e 61 6e 74 73 2e  |1....Consonants.|
00003dc0  0d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 0d 62 20 63  |.-----------.b c|
00003dd0  68 20 64 20 64 68 20 66  20 67 20 68 20 6a 20 6b  |h d dh f g h j k|
00003de0  20 6c 20 6d 20 6e 20 6e  67 20 6e 67 67 20 70 20  | l m n ng ngg p |
00003df0  72 20 73 20 73 68 20 74  20 74 68 20 76 20 77 20  |r s sh t th v w |
00003e00  79 20 7a 20 7a 68 0d 0d  56 6f 77 65 6c 73 2e 0d  |y z zh..Vowels..|
00003e10  2d 2d 2d 2d 2d 2d 2d 0d  0d 61 20 65 20 69 20 6f  |-------..a e i o|
00003e20  20 75 20 6f 6f 20 20 20  20 20 20 20 20 28 61 73  | u oo        (as|
00003e30  20 69 6e 3a 20 6d 61 74  65 20 6d 65 74 65 20 6d  | in: mate mete m|
00003e40  69 74 65 20 6d 6f 74 65  20 6d 75 74 65 20 6d 6f  |ite mote mute mo|
00003e50  6f 74 29 0d 61 20 65 20  69 20 6f 20 75 20 6f 6f  |ot).a e i o u oo|
00003e60  20 20 20 20 20 20 20 20  28 61 73 20 69 6e 3a 20  |        (as in: |
00003e70  72 61 63 6b 20 72 65 63  6b 20 72 69 63 6b 20 72  |rack reck rick r|
00003e80  6f 63 6b 20 72 75 63 6b  20 72 6f 6f 6b 29 0d 61  |ock ruck rook).a|
00003e90  72 20 65 72 20 69 72 20  6f 72 20 75 72 20 20 20  |r er ir or ur   |
00003ea0  20 20 20 28 61 73 20 69  6e 3a 20 6d 61 72 65 20  |   (as in: mare |
00003eb0  6d 65 72 65 20 6d 69 72  65 20 6d 6f 72 65 20 6d  |mere mire more m|
00003ec0  75 72 65 29 0d 61 72 20  65 72 20 6f 72 20 20 20  |ure).ar er or   |
00003ed0  20 20 20 20 20 20 20 20  20 28 61 73 20 69 6e 3a  |         (as in:|
00003ee0  20 70 61 72 74 20 70 65  72 74 20 70 6f 72 74 29  | part pert port)|
00003ef0  0d 61 68 20 61 77 20 6f  69 20 6f 6f 72 20 6f 77  |.ah aw oi oor ow|
00003f00  20 6f 77 72 20 28 61 73  20 69 6e 3a 20 62 61 68  | owr (as in: bah|
00003f10  20 62 61 77 6c 20 62 6f  69 6c 20 62 6f 6f 72 20  | bawl boil boor |
00003f20  62 72 6f 77 20 62 6f 77  65 72 29 0d 0d 0d 46 69  |brow bower)...Fi|
00003f30  67 75 72 65 20 31 2e 20  54 68 65 20 70 68 6f 6e  |gure 1. The phon|
00003f40  65 6d 65 73 20 75 73 65  64 20 69 6e 20 45 6e 67  |emes used in Eng|
00003f50  6c 69 73 68 20 52 65 63  65 69 76 65 64 20 50 72  |lish Received Pr|
00003f60  6f 6e 6f 75 6e 63 69 61  74 69 6f 6e 0d 2d 2d 2d  |onounciation.---|
00003f70  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00003fa0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 0d 0d 0d 54 68  |-----------...Th|
00003fb0  69 73 20 6c 69 73 74 20  6f 66 20 70 68 6f 6e 65  |is list of phone|
00003fc0  6d 65 73 20 63 61 6e 20  62 65 20 72 65 64 75 63  |mes can be reduc|
00003fd0  65 64 20 74 6f 20 74 77  65 6e 74 79 20 76 6f 77  |ed to twenty vow|
00003fe0  65 6c 20 73 6f 75 6e 64  73 20 61 6e 64 20 74 77  |el sounds and tw|
00003ff0  65 6e 74 79 0d 66 6f 75  72 20 63 6f 6e 73 6f 6e  |enty.four conson|
00004000  61 6e 74 73 20 77 69 74  68 6f 75 74 20 72 65 64  |ants without red|
00004010  75 63 69 6e 67 20 74 68  65 20 72 61 6e 67 65 20  |ucing the range |
00004020  6f 66 20 77 6f 72 64 73  20 70 72 6f 64 75 63 65  |of words produce|
00004030  64 2e 20 59 6f 75 20 73  68 6f 75 6c 64 0d 62 65  |d. You should.be|
00004040  20 61 62 6c 65 20 74 6f  20 75 73 65 20 65 69 74  | able to use eit|
00004050  68 65 72 20 74 68 65 20  53 70 65 61 6b 20 45 78  |her the Speak Ex|
00004060  74 65 72 6e 61 6c 20 63  6f 6d 6d 61 6e 64 20 28  |ternal command (|
00004070  6d 6f 64 75 6c 65 20 35  29 20 6f 72 20 74 68 65  |module 5) or the|
00004080  20 53 70 65 61 6b 0d 61  6e 64 20 52 65 73 65 74  | Speak.and Reset|
00004090  20 63 6f 6d 6d 61 6e 64  73 20 28 74 68 69 73 20  | commands (this |
000040a0  6d 6f 64 75 6c 65 29 20  74 6f 20 70 72 6f 64 75  |module) to produ|
000040b0  63 65 20 74 68 65 20 70  68 6f 6e 65 6d 65 73 20  |ce the phonemes |
000040c0  69 6e 20 66 69 67 75 72  65 20 32 2e 0d 0d 0d 20  |in figure 2.... |
000040d0  20 20 20 20 20 20 20 56  6f 77 65 6c 73 20 20 20  |       Vowels   |
000040e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000040f0  20 20 20 20 20 20 20 20  20 20 43 6f 6e 73 6f 6e  |          Conson|
00004100  61 6e 74 73 0d 20 20 20  20 20 20 20 20 2d 2d 2d  |ants.        ---|
00004110  2d 2d 2d 20 20 20 20 20  20 20 20 20 20 20 20 20  |---             |
00004120  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004130  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0d 50 68 6f 6e 65  |----------.Phone|
00004140  6d 65 20 20 20 20 20 20  20 20 20 50 48 52 4f 4d  |me         PHROM|
00004150  20 41 20 77 6f 72 64 20  20 20 20 20 20 20 20 50  | A word        P|
00004160  68 6f 6e 65 6d 65 20 20  20 20 20 20 20 20 20 50  |honeme         P|
00004170  48 52 4f 4d 20 41 20 77  6f 72 64 0d 2d 2d 2d 2d  |HROM A word.----|
00004180  2d 2d 2d 20 20 20 20 20  20 20 20 20 2d 2d 2d 2d  |---         ----|
00004190  2d 2d 2d 2d 2d 2d 2d 2d  20 20 20 20 20 20 20 20  |--------        |
000041a0  2d 2d 2d 2d 2d 2d 2d 20  20 20 20 20 20 20 20 20  |-------         |
000041b0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 0d 65 20 20  |------------.e  |
000041c0  20 20 20 20 20 61 73 20  69 6e 20 20 20 45 20 20  |     as in   E  |
000041d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000041e0  20 70 20 20 20 20 20 20  20 61 73 20 69 6e 20 20  | p       as in  |
000041f0  20 50 41 52 41 4d 45 54  45 52 0d 69 20 20 20 20  | PARAMETER.i    |
00004200  20 20 20 61 73 20 69 6e  20 20 20 49 4e 2d 20 20  |   as in   IN-  |
00004210  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 62  |               b|
00004220  20 20 20 20 20 20 20 61  73 20 69 6e 20 20 20 42  |       as in   B|
00004230  41 44 0d 65 20 20 20 20  20 20 20 61 73 20 69 6e  |AD.e       as in|
00004240  20 20 20 50 45 4e 43 45  20 20 20 20 20 20 20 20  |   PENCE        |
00004250  20 20 20 20 20 20 20 74  20 20 20 20 20 20 20 61  |       t       a|
00004260  73 20 69 6e 20 20 20 54  45 4e 0d 61 20 20 20 20  |s in   TEN.a    |
00004270  20 20 20 61 73 20 69 6e  20 20 20 41 4e 44 20 20  |   as in   AND  |
00004280  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 64  |               d|
00004290  20 20 20 20 20 20 20 61  73 20 69 6e 20 20 20 44  |       as in   D|
000042a0  41 54 41 0d 75 20 20 20  20 20 20 20 61 73 20 69  |ATA.u       as i|
000042b0  6e 20 20 20 50 4c 55 53  20 20 20 20 20 20 20 20  |n   PLUS        |
000042c0  20 20 20 20 20 20 20 20  6b 20 20 20 20 20 20 20  |        k       |
000042d0  61 73 20 69 6e 20 20 20  4b 45 59 0d 61 20 20 20  |as in   KEY.a   |
000042e0  20 20 20 20 61 73 20 69  6e 20 20 20 41 46 54 45  |    as in   AFTE|
000042f0  52 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |R               |
00004300  67 20 20 20 20 20 20 20  61 73 20 69 6e 20 20 20  |g       as in   |
00004310  47 4f 4f 44 0d 6f 20 20  20 20 20 20 20 61 73 20  |GOOD.o       as |
00004320  69 6e 20 20 20 4f 4e 20  20 20 20 20 20 20 20 20  |in   ON         |
00004330  20 20 20 20 20 20 20 20  20 63 68 20 20 20 20 20  |         ch     |
00004340  20 61 73 20 69 6e 20 20  20 43 48 41 52 41 43 54  | as in   CHARACT|
00004350  45 52 0d 6f 72 20 20 20  20 20 20 61 73 20 69 6e  |ER.or      as in|
00004360  20 20 20 41 43 4f 52 4e  20 20 20 20 20 20 20 20  |   ACORN        |
00004370  20 20 20 20 20 20 20 6a  20 20 20 20 20 20 20 61  |       j       a|
00004380  73 20 69 6e 20 20 20 4a  0d 6f 6f 20 20 20 20 20  |s in   J.oo     |
00004390  20 61 73 20 69 6e 20 20  20 47 4f 4f 44 20 20 20  | as in   GOOD   |
000043a0  20 20 20 20 20 20 20 20  20 20 20 20 20 66 20 20  |             f  |
000043b0  20 20 20 20 20 61 73 20  69 6e 20 20 20 46 45 57  |     as in   FEW|
000043c0  0d 75 20 20 20 20 20 20  20 61 73 20 69 6e 20 20  |.u       as in  |
000043d0  20 55 20 20 20 20 20 20  20 20 20 20 20 20 20 20  | U              |
000043e0  20 20 20 20 20 76 20 20  20 20 20 20 20 61 73 20  |     v       as |
000043f0  69 6e 20 20 20 56 45 52  59 0d 69 72 20 20 20 20  |in   VERY.ir    |
00004400  20 20 61 73 20 69 6e 20  20 20 46 49 52 53 54 20  |  as in   FIRST |
00004410  20 20 20 20 20 20 20 20  20 20 20 20 20 20 74 68  |              th|
00004420  20 20 20 20 20 20 61 73  20 69 6e 20 20 20 54 48  |      as in   TH|
00004430  41 4e 4b 0d 61 20 20 20  20 20 20 20 61 73 20 69  |ANK.a       as i|
00004440  6e 20 20 20 41 20 20 20  20 20 20 20 20 20 20 20  |n   A           |
00004450  20 20 20 20 20 20 20 20  64 68 20 20 20 20 20 20  |        dh      |
00004460  61 73 20 69 6e 20 20 20  54 48 45 0d 69 20 20 20  |as in   THE.i   |
00004470  20 20 20 20 61 73 20 69  6e 20 20 20 49 20 20 20  |    as in   I   |
00004480  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004490  73 20 20 20 20 20 20 20  61 73 20 69 6e 20 20 20  |s       as in   |
000044a0  53 41 4d 45 0d 6f 20 20  20 20 20 20 20 61 73 20  |SAME.o       as |
000044b0  69 6e 20 20 20 4e 4f 20  20 20 20 20 20 20 20 20  |in   NO         |
000044c0  20 20 20 20 20 20 20 20  20 7a 20 20 20 20 20 20  |         z      |
000044d0  20 61 73 20 69 6e 20 20  20 2d 5a 0d 6f 69 20 20  | as in   -Z.oi  |
000044e0  20 20 20 20 61 73 20 69  6e 20 20 20 50 4f 49 4e  |    as in   POIN|
000044f0  54 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |T               |
00004500  73 68 20 20 20 20 20 20  20 74 72 79 20 20 20 20  |sh       try    |
00004510  2d 53 20 55 48 20 28 61  73 20 69 6e 20 53 48 4f  |-S UH (as in SHO|
00004520  45 29 0d 6f 75 20 20 20  20 20 20 61 73 20 69 6e  |E).ou      as in|
00004530  20 20 20 54 48 4f 55 53  41 4e 44 20 20 20 20 20  |   THOUSAND     |
00004540  20 20 20 20 20 20 20 7a  68 20 20 20 20 20 20 20  |       zh       |
00004550  74 72 79 20 20 20 20 2d  5a 20 55 48 20 28 61 73  |try    -Z UH (as|
00004560  20 69 6e 20 56 49 53 49  4f 4e 29 0d 65 61 72 20  | in VISION).ear |
00004570  20 20 20 20 20 74 72 79  20 20 20 20 45 20 55 48  |     try    E UH|
00004580  20 28 61 73 20 69 6e 20  46 45 41 52 29 20 20 20  | (as in FEAR)   |
00004590  68 20 20 20 20 20 20 20  61 73 20 69 6e 20 20 20  |h       as in   |
000045a0  48 41 56 45 0d 61 72 65  20 20 20 20 20 20 74 72  |HAVE.are      tr|
000045b0  79 20 20 20 20 57 45 52  45 20 28 61 73 20 69 6e  |y    WERE (as in|
000045c0  20 43 41 52 45 29 20 20  20 6d 20 20 20 20 20 20  | CARE)   m      |
000045d0  20 61 73 20 69 6e 20 20  20 4d 41 4e 59 0d 6f 75  | as in   MANY.ou|
000045e0  72 20 20 20 20 20 61 73  20 69 6e 20 20 20 59 4f  |r     as in   YO|
000045f0  55 52 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |UR              |
00004600  20 20 6e 20 20 20 20 20  20 20 61 73 20 69 6e 20  |  n       as in |
00004610  20 20 4e 41 4d 45 0d 75  68 20 20 20 20 20 20 61  |  NAME.uh      a|
00004620  73 20 69 6e 20 20 20 55  48 20 28 72 65 64 75 63  |s in   UH (reduc|
00004630  65 64 20 76 6f 77 65 6c  29 20 20 6e 67 20 20 20  |ed vowel)  ng   |
00004640  20 20 20 61 73 20 69 6e  20 20 20 2d 49 4e 47 20  |   as in   -ING |
00004650  0d 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00004660  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004670  20 20 20 20 20 6c 20 20  20 20 20 20 20 61 73 20  |     l       as |
00004680  69 6e 20 20 20 4c 41 52  47 45 0d 20 20 20 20 20  |in   LARGE.     |
00004690  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000046a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 72  |               r|
000046b0  20 20 20 20 20 20 20 61  73 20 69 6e 20 20 20 52  |       as in   R|
000046c0  55 4e 0d 20 20 20 20 20  20 20 20 20 20 20 20 20  |UN.             |
000046d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000046e0  20 20 20 20 20 20 20 79  20 20 20 20 20 20 20 61  |       y       a|
000046f0  73 20 69 6e 20 20 20 59  45 41 52 0d 20 20 20 20  |s in   YEAR.    |
00004700  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00004720  77 20 20 20 20 20 20 20  61 73 20 69 6e 20 20 20  |w       as in   |
00004730  57 41 4e 54 0d 0d 0d 46  69 67 75 72 65 20 32 2e  |WANT...Figure 2.|
00004740  20 54 68 65 20 70 68 6f  6e 65 6d 65 73 20 6e 65  | The phonemes ne|
00004750  65 64 65 64 20 74 6f 20  70 72 6f 64 75 63 65 20  |eded to produce |
00004760  67 6f 6f 64 20 71 75 61  6c 69 74 79 20 45 6e 67  |good quality Eng|
00004770  6c 69 73 68 20 73 70 65  65 63 68 0d 2d 2d 2d 2d  |lish speech.----|
00004780  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000047c0  0d 0d 0d 49 74 20 69 73  20 70 6f 73 73 69 62 6c  |...It is possibl|
000047d0  65 20 74 6f 20 75 73 65  20 74 68 65 20 73 70 65  |e to use the spe|
000047e0  65 63 68 20 64 61 74 61  20 73 74 6f 72 65 64 20  |ech data stored |
000047f0  69 6e 20 77 6f 72 64 20  50 48 52 4f 4d 20 41 20  |in word PHROM A |
00004800  74 6f 20 73 70 65 61 6b  0d 6c 61 6e 67 75 61 67  |to speak.languag|
00004810  65 73 20 6f 74 68 65 72  20 74 68 61 6e 20 45 6e  |es other than En|
00004820  67 6c 69 73 68 2e 0d 0d  57 65 6c 73 68 2c 20 66  |glish...Welsh, f|
00004830  6f 72 20 65 78 61 6d 70  6c 65 2c 20 75 73 65 73  |or example, uses|
00004840  20 70 68 6f 6e 65 6d 65  73 20 74 68 61 74 20 61  | phonemes that a|
00004850  72 65 20 6e 6f 74 20 75  73 65 64 20 69 6e 20 45  |re not used in E|
00004860  6e 67 6c 69 73 68 20 52  65 63 65 69 76 65 64 0d  |nglish Received.|
00004870  50 72 6f 6e 6f 75 6e 63  69 61 74 69 6f 6e 20 62  |Pronounciation b|
00004880  75 74 20 74 68 65 73 65  20 70 68 6f 6e 65 6d 65  |ut these phoneme|
00004890  73 20 63 61 6e 20 73 74  69 6c 6c 20 62 65 20 63  |s can still be c|
000048a0  6f 6e 73 74 72 75 63 74  65 64 20 66 72 6f 6d 20  |onstructed from |
000048b0  74 68 65 20 64 61 74 61  0d 73 74 6f 72 65 64 20  |the data.stored |
000048c0  69 6e 20 77 6f 72 64 20  50 48 52 4f 4d 20 41 2e  |in word PHROM A.|
000048d0  20 54 68 65 20 71 75 61  6c 69 74 79 20 69 73 20  | The quality is |
000048e0  6e 6f 74 20 6e 6f 74 20  61 73 20 67 6f 6f 64 20  |not not as good |
000048f0  61 73 20 69 74 20 77 6f  75 6c 64 20 62 65 20 77  |as it would be w|
00004900  69 74 68 0d 61 20 57 65  6c 73 68 20 70 68 6f 6e  |ith.a Welsh phon|
00004910  65 74 69 63 20 77 6f 72  64 20 50 48 52 4f 4d 20  |etic word PHROM |
00004920  62 75 74 20 69 74 20 69  73 20 71 75 69 74 65 20  |but it is quite |
00004930  72 65 63 6f 67 6e 69 73  61 62 6c 65 20 69 66 20  |recognisable if |
00004940  79 6f 75 20 74 61 6b 65  0d 73 75 66 66 69 63 69  |you take.suffici|
00004950  65 6e 74 20 74 69 6d 65  20 61 6e 64 20 63 61 72  |ent time and car|
00004960  65 20 77 68 65 6e 20 63  6f 6e 73 74 72 75 63 74  |e when construct|
00004970  69 6e 67 20 74 68 65 20  73 6f 75 6e 64 20 61 6e  |ing the sound an|
00004980  64 20 72 68 79 74 68 6d  20 6f 66 20 74 68 65 20  |d rhythm of the |
00004990  6e 65 77 0d 77 6f 72 64  73 2e 0d 0d 49 20 68 6f  |new.words...I ho|
000049a0  70 65 20 74 68 65 73 65  20 73 70 65 65 63 68 20  |pe these speech |
000049b0  6d 6f 64 75 6c 65 73 20  68 61 76 65 20 67 69 76  |modules have giv|
000049c0  65 6e 20 79 6f 75 20 61  6e 20 69 6e 73 69 67 68  |en you an insigh|
000049d0  74 20 69 6e 74 6f 20 74  68 65 20 41 63 6f 72 6e  |t into the Acorn|
000049e0  0d 53 70 65 65 63 68 20  53 79 73 74 65 6d 20 61  |.Speech System a|
000049f0  6e 64 20 70 72 6f 76 69  64 65 64 20 79 6f 75 20  |nd provided you |
00004a00  77 69 74 68 20 6d 6f 72  65 20 69 6e 66 6f 72 6d  |with more inform|
00004a10  61 74 69 6f 6e 20 61 6e  64 20 65 78 61 6d 70 6c  |ation and exampl|
00004a20  65 73 20 74 68 61 6e 20  74 68 65 0d 72 61 74 68  |es than the.rath|
00004a30  65 72 20 73 6c 69 6d 20  55 73 65 72 20 47 75 69  |er slim User Gui|
00004a40  64 65 2e 20 49 66 20 79  6f 75 20 68 61 76 65 20  |de. If you have |
00004a50  77 6f 72 6b 65 64 20 74  68 72 6f 75 67 68 20 74  |worked through t|
00004a60  68 65 20 6d 6f 64 75 6c  65 73 20 61 6e 64 0d 65  |he modules and.e|
00004a70  78 70 65 72 69 6d 65 6e  74 65 64 20 77 69 74 68  |xperimented with|
00004a80  20 74 68 65 20 64 65 6d  6f 6e 73 74 72 61 74 69  | the demonstrati|
00004a90  6f 6e 20 70 72 6f 67 72  61 6d 73 20 79 6f 75 20  |on programs you |
00004aa0  73 68 6f 75 6c 64 20 62  65 20 61 62 6c 65 20 74  |should be able t|
00004ab0  6f 20 63 6f 75 6e 74 65  72 0d 74 68 65 20 63 72  |o counter.the cr|
00004ac0  69 74 69 63 69 73 6d 20  74 68 61 74 20 74 68 65  |iticism that the|
00004ad0  20 41 63 6f 72 6e 20 53  70 65 65 63 68 20 53 79  | Acorn Speech Sy|
00004ae0  73 74 65 6d 20 68 61 73  20 6c 69 6d 69 74 65 64  |stem has limited|
00004af0  20 76 61 6c 75 65 20 62  65 63 61 75 73 65 20 6f  | value because o|
00004b00  66 0d 69 74 73 20 73 6d  61 6c 6c 20 76 6f 63 61  |f.its small voca|
00004b10  62 75 6c 61 72 79 2e 20  59 6f 75 20 73 68 6f 75  |bulary. You shou|
00004b20  6c 64 20 6e 6f 77 20 68  61 76 65 20 73 75 66 66  |ld now have suff|
00004b30  69 63 69 65 6e 74 20 6b  6e 6f 77 6c 65 64 67 65  |icient knowledge|
00004b40  20 74 6f 20 70 72 6f 64  75 63 65 0d 61 20 6c 61  | to produce.a la|
00004b50  72 67 65 20 76 6f 63 61  62 75 6c 61 72 79 20 6f  |rge vocabulary o|
00004b60  66 20 68 69 67 68 20 71  75 61 6c 69 74 79 20 73  |f high quality s|
00004b70  70 65 65 63 68 2e 20 54  68 65 20 72 61 6e 67 65  |peech. The range|
00004b80  2c 20 69 6e 74 6f 6e 61  74 69 6f 6e 20 61 6e 64  |, intonation and|
00004b90  0d 71 75 61 6c 69 74 79  20 6f 66 20 74 68 65 20  |.quality of the |
00004ba0  73 70 65 65 63 68 20 70  72 6f 64 75 63 65 64 20  |speech produced |
00004bb0  75 73 69 6e 67 20 74 68  65 20 74 65 63 68 6e 69  |using the techni|
00004bc0  71 75 65 73 20 64 65 73  63 72 69 62 65 64 20 69  |ques described i|
00004bd0  6e 20 74 68 69 73 0d 73  65 72 69 65 73 20 63 61  |n this.series ca|
00004be0  6e 20 62 65 20 61 73 20  67 6f 6f 64 20 61 73 20  |n be as good as |
00004bf0  74 68 61 74 20 70 72 6f  64 75 63 65 64 20 77 69  |that produced wi|
00004c00  74 68 20 61 6e 79 20 6f  74 68 65 72 20 73 70 65  |th any other spe|
00004c10  65 63 68 20 73 79 73 74  65 6d 20 75 73 65 64 0d  |ech system used.|
00004c20  6f 6e 20 74 68 65 20 42  42 43 20 72 61 6e 67 65  |on the BBC range|
00004c30  20 6f 66 20 63 6f 6d 70  75 74 65 72 73 2e 0d     | of computers..|
00004c3f
11-11-88/T\SPK06.m0
11-11-88/T\SPK06.m1
11-11-88/T\SPK06.m2
11-11-88/T\SPK06.m4
11-11-88/T\SPK06.m5