Home » CEEFAX disks » telesoftware10.adl » 11-11-88/TELSOFT

11-11-88/TELSOFT

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

�: TELSOFT
� mcode &500

delay=&70
(info=&71
2oldvec=&73
<eventv=&220
Fosword=&FFF1
Posbyte=&FFF4
Z�pass=0�2�2
dP%=mcode
n
[OPT pass
xLDA #&EB
�
LDX #0
�LDY #&FF
�/JSR osbyte \ check for Acorn speech upgrade
�CPX #&FF
�BEQ process
�BRK
�BRK
�EQUS "No speech upgrade"
�BRK
�.process
�4JSR eventoff \ disable timer crossing zero event
�LDA eventv
�)STA oldvec \ save LSB of event vector
LDA eventv+1
+STA oldvec+1 \ save MSB of event vector
.LDX #timer � 256 \ new LSB of event vector
".LDY #timer � 256 \ new MSB of event vector
,*SEI \ disable interupts - just in case
65STX eventv \ point the event vector to timer code
@STY eventv+1
JCLI \ re-enable interupts
TLDA #14 \ enable event
^/LDX #5 \ interval timer crossing zero event
h
LDY #0
rJSR osbyte
|(LDA #spdata � 256 \ LSB of word list
�STA info
�(LDA #spdata � 256 \ MSB of word list
�STA info+1
�
.again
�LDA &FF \ poll escape flag
�/BPL noescape \ branch if escape not pressed
�LDA #&7E
�#JSR osbyte \ acknowledge escape
�.JSR restore \ event off and restore vector
�BRK
�BRK
�EQUS "Escape"
�BRK

.noescape

LDY #0
"LDA (info),Y \ load delay time
&%BPL continue \ branch if not #&FF
0.JSR restore \ event off and restore vector
:RTS \ return to BASIC
D
.continue
N
� #&FF
XSEC
b*ADC #0 \ accumulator = 0 - accumulator
lSTA timebase \ set up timer
vINY
�2LDA (info),Y \ LSB of transformed word address
�PHA \ store LSB
�INY
�2LDA (info),Y \ MSB of transformed word address
�PHA \ store MSB
�CLC
�LDA info
�"ADC #3 \ add 3 to word pointer
�$STA info \ to point to next word
�LDA info+1
�
ADC #0
�STA info+1
�PLA \ pull MSB off stack
TAY \ MSB into Y register
PLA \ pull LSB off stack
TAX \ LSB into X register
 -JSR address \ load PHROM address register
*LDY #&50 \ speak command
4JSR osbyte
>4LDA timebase \ load (0 - delay in centi-seconds)
H&BEQ again \ if zero say whole word
R!STA delay \ delay is not zero
\!LDA #4 \ write interval timer
fLDX #timebase � 256
pLDY #timebase � 256
z9JSR osword \ interval timer uses 5 bytes at .timebase
�
.waste
�6LDA delay \ wait until interval timer clears delay
�(BNE waste \ waste time until it does
�(LDA #&9F \ write to speech processor
�LDY #&70 \ reset command
�JSR osbyte \ reset
�4JSR osbyte \ make sure - it doesn't always work!
�%JMP again \ go back for next word
�
.timer
�PHP
�PHA
�-CMP #5 \ is it timer crossing zero event?
�&BNE notimer \ no - then do nothing

LDA #0
0STA delay \ clear delay to stop wasting time
.notimer
$PLA
.PLP
8RTS
B.restore
L7JSR eventoff \ disable interval timer crossing zero
V"LDX oldvec \ LSB of old vector
`$LDY oldvec+1 \ MSB of old vector
j*SEI \ disable interupts - just in case
t)STX eventv \ restore the event vector
~&STY eventv+1 \ to its former glory
�CLI \ re-enable interupts
�RTS \ and return
�
.eventoff
�LDA #13 \ disable event
�)LDX #5 \ interval timer crossing zero
�LDY #0 \ Y must = 0
�"JMP osbyte \ Osbyte and return
�.address
�TYA \ MSB is in Y register
�PHA \ push MSB twice
�PHA
�TXA \ LSB is in X register
 � #&F \ isolate first nybble

,�A #&40 \ � it with Load Address command
0JSR write \ send command to speech processor
TXA \ second nybble
(
� #&F0
2	LSR A
<	LSR A
F	LSR A
P	LSR A
Z�A #&40
d0JSR write \ send command to speech processor
nPLA \ third nybble
x	� #&F
��A #&40
�
JSR write
�PLA \ fourth nybble
�
� #&F0
�	LSR A
�	LSR A
�	LSR A
�	LSR A
��A #&4C
�0JSR write \ send command to speech processor
�#LDA #&43 \ last byte always &43
�
.write
�*TAY \ transfer command into Y register
(LDA #&9F \ write to speech processor
"JMP osbyte \ Osbyte and return

.timebase
"EQUD &FFFFFFFF
,EQUB &FF
6.spdata
@'EQUB 0 \ speak complete word "this"
J-EQUW &3808 \ address of "this" in PHROM A
T/EQUB 20 \ speak 20 centi-seconds of "score"
^EQUW &329A \ s- (score)
h-EQUB 10 \ speak 10 centi-seconds of "off"
rEQUW &28D9 \ -of- (off)
|EQUB 10
�EQUW &38E2 \ -t- (try)
�EQUB 25
�EQUW &3CC2 \ -ware (were)
�
EQUB 0
�&EQUW &0250 \ 12.5 centi-sec. delay
�
EQUB 0
�EQUW &3C6C \ was
�EQUB 15
�EQUW &30E7 \ wr- (run)
�EQUB 10
�EQUW &1EBD \ -i- (in-)
�EQUB 10
�EQUW &3953 \ -tt- (twelve)
EQUB 10
EQUW &3A91 \ -e- (uh)
EQUB 15
&EQUW &263D \ -n (no)
0
EQUB 0
:&EQUW &0250 \ 12.5 centi-sec. delay
DEQUB 10
NEQUW &11F8 \ b- (button)
XEQUB 30
bEQUW &1DCC \ -y (i)
l
EQUB 0
v$EQUW &025F \ 25 centi-sec. delay
�EQUB 15
�EQUW &1CC9 \ G- (good)
�EQUB 15
�EQUW &2A48 \ -or- (or)
�EQUB 20
�EQUW &162A \ -do- (dollar)
�EQUB 14
�EQUW &263D \ -n (no)
�
EQUB 0
�&EQUW &0250 \ 12.5 centi-sec. delay
�EQUB 10
�EQUW &04C8 \ H- (hundred)
�EQUB 15
EQUW &2A48 \ -or- (or)
EQUB 10
EQUW &0936 \ -s- (sixt-)
 EQUB 25
*EQUW &032B \ -ing- (-ing)
4EQUB 10
>EQUW &35CA \ -t- (ten)
H
EQUB 5
REQUW &3A91 \ -o- (uh)
\EQUB 20
fEQUW &263D \ -n (no)
p
EQUB 0
z$EQUW &025F \ 25 centi-sec. delay
�
EQUB 0
�EQUW &0E12 \ and
�
EQUB 0
�EQUW &1F57 \ is
�
EQUB 0
�EQUW &0FCF \ available
�
EQUB 0
�EQUW &1C11 \ from
�
EQUB 0
�&EQUW &0250 \ 12.5 centi-sec. delay
�
EQUB 0
�EQUW &1065 \ B
�
EQUB 0
	EQUW &1065 \ B
	
EQUB 0
	EQUW &124D \ C
	$EQUB 10
	.EQUW &35CA \ Te- (ten)
	8EQUB 15
	BEQUW &209F \ -l- (l)
	LEQUB 10
	VEQUW &178B \ -e- (each)
	`EQUB 15
	jEQUW &329A \ -s- (score)
	tEQUB 10
	~EQUW &28D9 \ -of- (off)
	�EQUB 10
	�EQUW &38E2 \ -t- (try)
	�EQUB 20
	�EQUW &3CC2 \ -ware (were)
	�!EQUB &FF \ end-of-data marker
	�]
	��
	�� mcode
�
00000000  0d 00 0a 0e f4 3a 20 54  45 4c 53 4f 46 54 0d 00  |.....: TELSOFT..|
00000010  14 10 de 20 6d 63 6f 64  65 20 26 35 30 30 0d 00  |... mcode &500..|
00000020  1e 0d 64 65 6c 61 79 3d  26 37 30 0d 00 28 0c 69  |..delay=&70..(.i|
00000030  6e 66 6f 3d 26 37 31 0d  00 32 0e 6f 6c 64 76 65  |nfo=&71..2.oldve|
00000040  63 3d 26 37 33 0d 00 3c  0f 65 76 65 6e 74 76 3d  |c=&73..<.eventv=|
00000050  26 32 32 30 0d 00 46 10  6f 73 77 6f 72 64 3d 26  |&220..F.osword=&|
00000060  46 46 46 31 0d 00 50 10  6f 73 62 79 74 65 3d 26  |FFF1..P.osbyte=&|
00000070  46 46 46 34 0d 00 5a 0f  e3 70 61 73 73 3d 30 b8  |FFF4..Z..pass=0.|
00000080  32 88 32 0d 00 64 0c 50  25 3d 6d 63 6f 64 65 0d  |2.2..d.P%=mcode.|
00000090  00 6e 0d 5b 4f 50 54 20  70 61 73 73 0d 00 78 0c  |.n.[OPT pass..x.|
000000a0  4c 44 41 20 23 26 45 42  0d 00 82 0a 4c 44 58 20  |LDA #&EB....LDX |
000000b0  23 30 0d 00 8c 0c 4c 44  59 20 23 26 46 46 0d 00  |#0....LDY #&FF..|
000000c0  96 2f 4a 53 52 20 6f 73  62 79 74 65 20 5c 20 63  |./JSR osbyte \ c|
000000d0  68 65 63 6b 20 66 6f 72  20 41 63 6f 72 6e 20 73  |heck for Acorn s|
000000e0  70 65 65 63 68 20 75 70  67 72 61 64 65 0d 00 a0  |peech upgrade...|
000000f0  0c 43 50 58 20 23 26 46  46 0d 00 aa 0f 42 45 51  |.CPX #&FF....BEQ|
00000100  20 70 72 6f 63 65 73 73  0d 00 b4 07 42 52 4b 0d  | process....BRK.|
00000110  00 be 07 42 52 4b 0d 00  c8 1c 45 51 55 53 20 22  |...BRK....EQUS "|
00000120  4e 6f 20 73 70 65 65 63  68 20 75 70 67 72 61 64  |No speech upgrad|
00000130  65 22 0d 00 d2 07 42 52  4b 0d 00 dc 0c 2e 70 72  |e"....BRK.....pr|
00000140  6f 63 65 73 73 0d 00 e6  34 4a 53 52 20 65 76 65  |ocess...4JSR eve|
00000150  6e 74 6f 66 66 20 5c 20  64 69 73 61 62 6c 65 20  |ntoff \ disable |
00000160  74 69 6d 65 72 20 63 72  6f 73 73 69 6e 67 20 7a  |timer crossing z|
00000170  65 72 6f 20 65 76 65 6e  74 0d 00 f0 0e 4c 44 41  |ero event....LDA|
00000180  20 65 76 65 6e 74 76 0d  00 fa 29 53 54 41 20 6f  | eventv...)STA o|
00000190  6c 64 76 65 63 20 5c 20  73 61 76 65 20 4c 53 42  |ldvec \ save LSB|
000001a0  20 6f 66 20 65 76 65 6e  74 20 76 65 63 74 6f 72  | of event vector|
000001b0  0d 01 04 10 4c 44 41 20  65 76 65 6e 74 76 2b 31  |....LDA eventv+1|
000001c0  0d 01 0e 2b 53 54 41 20  6f 6c 64 76 65 63 2b 31  |...+STA oldvec+1|
000001d0  20 5c 20 73 61 76 65 20  4d 53 42 20 6f 66 20 65  | \ save MSB of e|
000001e0  76 65 6e 74 20 76 65 63  74 6f 72 0d 01 18 2e 4c  |vent vector....L|
000001f0  44 58 20 23 74 69 6d 65  72 20 83 20 32 35 36 20  |DX #timer . 256 |
00000200  5c 20 6e 65 77 20 4c 53  42 20 6f 66 20 65 76 65  |\ new LSB of eve|
00000210  6e 74 20 76 65 63 74 6f  72 0d 01 22 2e 4c 44 59  |nt vector..".LDY|
00000220  20 23 74 69 6d 65 72 20  81 20 32 35 36 20 5c 20  | #timer . 256 \ |
00000230  6e 65 77 20 4d 53 42 20  6f 66 20 65 76 65 6e 74  |new MSB of event|
00000240  20 76 65 63 74 6f 72 0d  01 2c 2a 53 45 49 20 5c  | vector..,*SEI \|
00000250  20 64 69 73 61 62 6c 65  20 69 6e 74 65 72 75 70  | disable interup|
00000260  74 73 20 2d 20 6a 75 73  74 20 69 6e 20 63 61 73  |ts - just in cas|
00000270  65 0d 01 36 35 53 54 58  20 65 76 65 6e 74 76 20  |e..65STX eventv |
00000280  5c 20 70 6f 69 6e 74 20  74 68 65 20 65 76 65 6e  |\ point the even|
00000290  74 20 76 65 63 74 6f 72  20 74 6f 20 74 69 6d 65  |t vector to time|
000002a0  72 20 63 6f 64 65 0d 01  40 10 53 54 59 20 65 76  |r code..@.STY ev|
000002b0  65 6e 74 76 2b 31 0d 01  4a 1d 43 4c 49 20 5c 20  |entv+1..J.CLI \ |
000002c0  72 65 2d 65 6e 61 62 6c  65 20 69 6e 74 65 72 75  |re-enable interu|
000002d0  70 74 73 0d 01 54 1a 4c  44 41 20 23 31 34 20 5c  |pts..T.LDA #14 \|
000002e0  20 65 6e 61 62 6c 65 20  65 76 65 6e 74 0d 01 5e  | enable event..^|
000002f0  2f 4c 44 58 20 23 35 20  5c 20 69 6e 74 65 72 76  |/LDX #5 \ interv|
00000300  61 6c 20 74 69 6d 65 72  20 63 72 6f 73 73 69 6e  |al timer crossin|
00000310  67 20 7a 65 72 6f 20 65  76 65 6e 74 0d 01 68 0a  |g zero event..h.|
00000320  4c 44 59 20 23 30 0d 01  72 0e 4a 53 52 20 6f 73  |LDY #0..r.JSR os|
00000330  62 79 74 65 0d 01 7c 28  4c 44 41 20 23 73 70 64  |byte..|(LDA #spd|
00000340  61 74 61 20 83 20 32 35  36 20 5c 20 4c 53 42 20  |ata . 256 \ LSB |
00000350  6f 66 20 77 6f 72 64 20  6c 69 73 74 0d 01 86 0c  |of word list....|
00000360  53 54 41 20 69 6e 66 6f  0d 01 90 28 4c 44 41 20  |STA info...(LDA |
00000370  23 73 70 64 61 74 61 20  81 20 32 35 36 20 5c 20  |#spdata . 256 \ |
00000380  4d 53 42 20 6f 66 20 77  6f 72 64 20 6c 69 73 74  |MSB of word list|
00000390  0d 01 9a 0e 53 54 41 20  69 6e 66 6f 2b 31 0d 01  |....STA info+1..|
000003a0  a4 0a 2e 61 67 61 69 6e  0d 01 ae 1e 4c 44 41 20  |...again....LDA |
000003b0  26 46 46 20 5c 20 70 6f  6c 6c 20 65 73 63 61 70  |&FF \ poll escap|
000003c0  65 20 66 6c 61 67 0d 01  b8 2f 42 50 4c 20 6e 6f  |e flag.../BPL no|
000003d0  65 73 63 61 70 65 20 5c  20 62 72 61 6e 63 68 20  |escape \ branch |
000003e0  69 66 20 65 73 63 61 70  65 20 6e 6f 74 20 70 72  |if escape not pr|
000003f0  65 73 73 65 64 0d 01 c2  0c 4c 44 41 20 23 26 37  |essed....LDA #&7|
00000400  45 0d 01 cc 23 4a 53 52  20 6f 73 62 79 74 65 20  |E...#JSR osbyte |
00000410  5c 20 61 63 6b 6e 6f 77  6c 65 64 67 65 20 65 73  |\ acknowledge es|
00000420  63 61 70 65 0d 01 d6 2e  4a 53 52 20 72 65 73 74  |cape....JSR rest|
00000430  6f 72 65 20 5c 20 65 76  65 6e 74 20 6f 66 66 20  |ore \ event off |
00000440  61 6e 64 20 72 65 73 74  6f 72 65 20 76 65 63 74  |and restore vect|
00000450  6f 72 0d 01 e0 07 42 52  4b 0d 01 ea 07 42 52 4b  |or....BRK....BRK|
00000460  0d 01 f4 11 45 51 55 53  20 22 45 73 63 61 70 65  |....EQUS "Escape|
00000470  22 0d 01 fe 07 42 52 4b  0d 02 08 0d 2e 6e 6f 65  |"....BRK.....noe|
00000480  73 63 61 70 65 0d 02 12  0a 4c 44 59 20 23 30 0d  |scape....LDY #0.|
00000490  02 1c 22 4c 44 41 20 28  69 6e 66 6f 29 2c 59 20  |.."LDA (info),Y |
000004a0  5c 20 6c 6f 61 64 20 64  65 6c 61 79 20 74 69 6d  |\ load delay tim|
000004b0  65 0d 02 26 25 42 50 4c  20 63 6f 6e 74 69 6e 75  |e..&%BPL continu|
000004c0  65 20 5c 20 62 72 61 6e  63 68 20 69 66 20 6e 6f  |e \ branch if no|
000004d0  74 20 23 26 46 46 0d 02  30 2e 4a 53 52 20 72 65  |t #&FF..0.JSR re|
000004e0  73 74 6f 72 65 20 5c 20  65 76 65 6e 74 20 6f 66  |store \ event of|
000004f0  66 20 61 6e 64 20 72 65  73 74 6f 72 65 20 76 65  |f and restore ve|
00000500  63 74 6f 72 0d 02 3a 19  52 54 53 20 5c 20 72 65  |ctor..:.RTS \ re|
00000510  74 75 72 6e 20 74 6f 20  42 41 53 49 43 0d 02 44  |turn to BASIC..D|
00000520  0d 2e 63 6f 6e 74 69 6e  75 65 0d 02 4e 0a 82 20  |..continue..N.. |
00000530  23 26 46 46 0d 02 58 07  53 45 43 0d 02 62 2a 41  |#&FF..X.SEC..b*A|
00000540  44 43 20 23 30 20 5c 20  61 63 63 75 6d 75 6c 61  |DC #0 \ accumula|
00000550  74 6f 72 20 3d 20 30 20  2d 20 61 63 63 75 6d 75  |tor = 0 - accumu|
00000560  6c 61 74 6f 72 0d 02 6c  1f 53 54 41 20 74 69 6d  |lator..l.STA tim|
00000570  65 62 61 73 65 20 5c 20  73 65 74 20 75 70 20 74  |ebase \ set up t|
00000580  69 6d 65 72 0d 02 76 07  49 4e 59 0d 02 80 32 4c  |imer..v.INY...2L|
00000590  44 41 20 28 69 6e 66 6f  29 2c 59 20 5c 20 4c 53  |DA (info),Y \ LS|
000005a0  42 20 6f 66 20 74 72 61  6e 73 66 6f 72 6d 65 64  |B of transformed|
000005b0  20 77 6f 72 64 20 61 64  64 72 65 73 73 0d 02 8a  | word address...|
000005c0  13 50 48 41 20 5c 20 73  74 6f 72 65 20 4c 53 42  |.PHA \ store LSB|
000005d0  0d 02 94 07 49 4e 59 0d  02 9e 32 4c 44 41 20 28  |....INY...2LDA (|
000005e0  69 6e 66 6f 29 2c 59 20  5c 20 4d 53 42 20 6f 66  |info),Y \ MSB of|
000005f0  20 74 72 61 6e 73 66 6f  72 6d 65 64 20 77 6f 72  | transformed wor|
00000600  64 20 61 64 64 72 65 73  73 0d 02 a8 13 50 48 41  |d address....PHA|
00000610  20 5c 20 73 74 6f 72 65  20 4d 53 42 0d 02 b2 07  | \ store MSB....|
00000620  43 4c 43 0d 02 bc 0c 4c  44 41 20 69 6e 66 6f 0d  |CLC....LDA info.|
00000630  02 c6 22 41 44 43 20 23  33 20 5c 20 61 64 64 20  |.."ADC #3 \ add |
00000640  33 20 74 6f 20 77 6f 72  64 20 70 6f 69 6e 74 65  |3 to word pointe|
00000650  72 0d 02 d0 24 53 54 41  20 69 6e 66 6f 20 5c 20  |r...$STA info \ |
00000660  74 6f 20 70 6f 69 6e 74  20 74 6f 20 6e 65 78 74  |to point to next|
00000670  20 77 6f 72 64 0d 02 da  0e 4c 44 41 20 69 6e 66  | word....LDA inf|
00000680  6f 2b 31 0d 02 e4 0a 41  44 43 20 23 30 0d 02 ee  |o+1....ADC #0...|
00000690  0e 53 54 41 20 69 6e 66  6f 2b 31 0d 02 f8 1c 50  |.STA info+1....P|
000006a0  4c 41 20 5c 20 70 75 6c  6c 20 4d 53 42 20 6f 66  |LA \ pull MSB of|
000006b0  66 20 73 74 61 63 6b 0d  03 02 1d 54 41 59 20 5c  |f stack....TAY \|
000006c0  20 4d 53 42 20 69 6e 74  6f 20 59 20 72 65 67 69  | MSB into Y regi|
000006d0  73 74 65 72 0d 03 0c 1c  50 4c 41 20 5c 20 70 75  |ster....PLA \ pu|
000006e0  6c 6c 20 4c 53 42 20 6f  66 66 20 73 74 61 63 6b  |ll LSB off stack|
000006f0  0d 03 16 1d 54 41 58 20  5c 20 4c 53 42 20 69 6e  |....TAX \ LSB in|
00000700  74 6f 20 58 20 72 65 67  69 73 74 65 72 0d 03 20  |to X register.. |
00000710  2d 4a 53 52 20 61 64 64  72 65 73 73 20 5c 20 6c  |-JSR address \ l|
00000720  6f 61 64 20 50 48 52 4f  4d 20 61 64 64 72 65 73  |oad PHROM addres|
00000730  73 20 72 65 67 69 73 74  65 72 0d 03 2a 1c 4c 44  |s register..*.LD|
00000740  59 20 23 26 35 30 20 5c  20 73 70 65 61 6b 20 63  |Y #&50 \ speak c|
00000750  6f 6d 6d 61 6e 64 0d 03  34 0e 4a 53 52 20 6f 73  |ommand..4.JSR os|
00000760  62 79 74 65 0d 03 3e 34  4c 44 41 20 74 69 6d 65  |byte..>4LDA time|
00000770  62 61 73 65 20 5c 20 6c  6f 61 64 20 28 30 20 2d  |base \ load (0 -|
00000780  20 64 65 6c 61 79 20 69  6e 20 63 65 6e 74 69 2d  | delay in centi-|
00000790  73 65 63 6f 6e 64 73 29  0d 03 48 26 42 45 51 20  |seconds)..H&BEQ |
000007a0  61 67 61 69 6e 20 5c 20  69 66 20 7a 65 72 6f 20  |again \ if zero |
000007b0  73 61 79 20 77 68 6f 6c  65 20 77 6f 72 64 0d 03  |say whole word..|
000007c0  52 21 53 54 41 20 64 65  6c 61 79 20 5c 20 64 65  |R!STA delay \ de|
000007d0  6c 61 79 20 69 73 20 6e  6f 74 20 7a 65 72 6f 0d  |lay is not zero.|
000007e0  03 5c 21 4c 44 41 20 23  34 20 5c 20 77 72 69 74  |.\!LDA #4 \ writ|
000007f0  65 20 69 6e 74 65 72 76  61 6c 20 74 69 6d 65 72  |e interval timer|
00000800  0d 03 66 17 4c 44 58 20  23 74 69 6d 65 62 61 73  |..f.LDX #timebas|
00000810  65 20 83 20 32 35 36 0d  03 70 17 4c 44 59 20 23  |e . 256..p.LDY #|
00000820  74 69 6d 65 62 61 73 65  20 81 20 32 35 36 0d 03  |timebase . 256..|
00000830  7a 39 4a 53 52 20 6f 73  77 6f 72 64 20 5c 20 69  |z9JSR osword \ i|
00000840  6e 74 65 72 76 61 6c 20  74 69 6d 65 72 20 75 73  |nterval timer us|
00000850  65 73 20 35 20 62 79 74  65 73 20 61 74 20 2e 74  |es 5 bytes at .t|
00000860  69 6d 65 62 61 73 65 0d  03 84 0a 2e 77 61 73 74  |imebase.....wast|
00000870  65 0d 03 8e 36 4c 44 41  20 64 65 6c 61 79 20 5c  |e...6LDA delay \|
00000880  20 77 61 69 74 20 75 6e  74 69 6c 20 69 6e 74 65  | wait until inte|
00000890  72 76 61 6c 20 74 69 6d  65 72 20 63 6c 65 61 72  |rval timer clear|
000008a0  73 20 64 65 6c 61 79 0d  03 98 28 42 4e 45 20 77  |s delay...(BNE w|
000008b0  61 73 74 65 20 5c 20 77  61 73 74 65 20 74 69 6d  |aste \ waste tim|
000008c0  65 20 75 6e 74 69 6c 20  69 74 20 64 6f 65 73 0d  |e until it does.|
000008d0  03 a2 28 4c 44 41 20 23  26 39 46 20 5c 20 77 72  |..(LDA #&9F \ wr|
000008e0  69 74 65 20 74 6f 20 73  70 65 65 63 68 20 70 72  |ite to speech pr|
000008f0  6f 63 65 73 73 6f 72 0d  03 ac 1c 4c 44 59 20 23  |ocessor....LDY #|
00000900  26 37 30 20 5c 20 72 65  73 65 74 20 63 6f 6d 6d  |&70 \ reset comm|
00000910  61 6e 64 0d 03 b6 16 4a  53 52 20 6f 73 62 79 74  |and....JSR osbyt|
00000920  65 20 5c 20 72 65 73 65  74 0d 03 c0 34 4a 53 52  |e \ reset...4JSR|
00000930  20 6f 73 62 79 74 65 20  5c 20 6d 61 6b 65 20 73  | osbyte \ make s|
00000940  75 72 65 20 2d 20 69 74  20 64 6f 65 73 6e 27 74  |ure - it doesn't|
00000950  20 61 6c 77 61 79 73 20  77 6f 72 6b 21 0d 03 ca  | always work!...|
00000960  25 4a 4d 50 20 61 67 61  69 6e 20 5c 20 67 6f 20  |%JMP again \ go |
00000970  62 61 63 6b 20 66 6f 72  20 6e 65 78 74 20 77 6f  |back for next wo|
00000980  72 64 0d 03 d4 0a 2e 74  69 6d 65 72 0d 03 de 07  |rd.....timer....|
00000990  50 48 50 0d 03 e8 07 50  48 41 0d 03 f2 2d 43 4d  |PHP....PHA...-CM|
000009a0  50 20 23 35 20 5c 20 69  73 20 69 74 20 74 69 6d  |P #5 \ is it tim|
000009b0  65 72 20 63 72 6f 73 73  69 6e 67 20 7a 65 72 6f  |er crossing zero|
000009c0  20 65 76 65 6e 74 3f 0d  03 fc 26 42 4e 45 20 6e  | event?...&BNE n|
000009d0  6f 74 69 6d 65 72 20 5c  20 6e 6f 20 2d 20 74 68  |otimer \ no - th|
000009e0  65 6e 20 64 6f 20 6e 6f  74 68 69 6e 67 0d 04 06  |en do nothing...|
000009f0  0a 4c 44 41 20 23 30 0d  04 10 30 53 54 41 20 64  |.LDA #0...0STA d|
00000a00  65 6c 61 79 20 5c 20 63  6c 65 61 72 20 64 65 6c  |elay \ clear del|
00000a10  61 79 20 74 6f 20 73 74  6f 70 20 77 61 73 74 69  |ay to stop wasti|
00000a20  6e 67 20 74 69 6d 65 0d  04 1a 0c 2e 6e 6f 74 69  |ng time.....noti|
00000a30  6d 65 72 0d 04 24 07 50  4c 41 0d 04 2e 07 50 4c  |mer..$.PLA....PL|
00000a40  50 0d 04 38 07 52 54 53  0d 04 42 0c 2e 72 65 73  |P..8.RTS..B..res|
00000a50  74 6f 72 65 0d 04 4c 37  4a 53 52 20 65 76 65 6e  |tore..L7JSR even|
00000a60  74 6f 66 66 20 5c 20 64  69 73 61 62 6c 65 20 69  |toff \ disable i|
00000a70  6e 74 65 72 76 61 6c 20  74 69 6d 65 72 20 63 72  |nterval timer cr|
00000a80  6f 73 73 69 6e 67 20 7a  65 72 6f 0d 04 56 22 4c  |ossing zero..V"L|
00000a90  44 58 20 6f 6c 64 76 65  63 20 5c 20 4c 53 42 20  |DX oldvec \ LSB |
00000aa0  6f 66 20 6f 6c 64 20 76  65 63 74 6f 72 0d 04 60  |of old vector..`|
00000ab0  24 4c 44 59 20 6f 6c 64  76 65 63 2b 31 20 5c 20  |$LDY oldvec+1 \ |
00000ac0  4d 53 42 20 6f 66 20 6f  6c 64 20 76 65 63 74 6f  |MSB of old vecto|
00000ad0  72 0d 04 6a 2a 53 45 49  20 5c 20 64 69 73 61 62  |r..j*SEI \ disab|
00000ae0  6c 65 20 69 6e 74 65 72  75 70 74 73 20 2d 20 6a  |le interupts - j|
00000af0  75 73 74 20 69 6e 20 63  61 73 65 0d 04 74 29 53  |ust in case..t)S|
00000b00  54 58 20 65 76 65 6e 74  76 20 5c 20 72 65 73 74  |TX eventv \ rest|
00000b10  6f 72 65 20 74 68 65 20  65 76 65 6e 74 20 76 65  |ore the event ve|
00000b20  63 74 6f 72 0d 04 7e 26  53 54 59 20 65 76 65 6e  |ctor..~&STY even|
00000b30  74 76 2b 31 20 5c 20 74  6f 20 69 74 73 20 66 6f  |tv+1 \ to its fo|
00000b40  72 6d 65 72 20 67 6c 6f  72 79 0d 04 88 1d 43 4c  |rmer glory....CL|
00000b50  49 20 5c 20 72 65 2d 65  6e 61 62 6c 65 20 69 6e  |I \ re-enable in|
00000b60  74 65 72 75 70 74 73 0d  04 92 14 52 54 53 20 5c  |terupts....RTS \|
00000b70  20 61 6e 64 20 72 65 74  75 72 6e 0d 04 9c 0d 2e  | and return.....|
00000b80  65 76 65 6e 74 6f 66 66  0d 04 a6 1b 4c 44 41 20  |eventoff....LDA |
00000b90  23 31 33 20 5c 20 64 69  73 61 62 6c 65 20 65 76  |#13 \ disable ev|
00000ba0  65 6e 74 0d 04 b0 29 4c  44 58 20 23 35 20 5c 20  |ent...)LDX #5 \ |
00000bb0  69 6e 74 65 72 76 61 6c  20 74 69 6d 65 72 20 63  |interval timer c|
00000bc0  72 6f 73 73 69 6e 67 20  7a 65 72 6f 0d 04 ba 17  |rossing zero....|
00000bd0  4c 44 59 20 23 30 20 5c  20 59 20 6d 75 73 74 20  |LDY #0 \ Y must |
00000be0  3d 20 30 0d 04 c4 22 4a  4d 50 20 6f 73 62 79 74  |= 0..."JMP osbyt|
00000bf0  65 20 5c 20 4f 73 62 79  74 65 20 61 6e 64 20 72  |e \ Osbyte and r|
00000c00  65 74 75 72 6e 0d 04 ce  0c 2e 61 64 64 72 65 73  |eturn.....addres|
00000c10  73 0d 04 d8 1e 54 59 41  20 5c 20 4d 53 42 20 69  |s....TYA \ MSB i|
00000c20  73 20 69 6e 20 59 20 72  65 67 69 73 74 65 72 0d  |s in Y register.|
00000c30  04 e2 18 50 48 41 20 5c  20 70 75 73 68 20 4d 53  |...PHA \ push MS|
00000c40  42 20 74 77 69 63 65 0d  04 ec 07 50 48 41 0d 04  |B twice....PHA..|
00000c50  f6 1e 54 58 41 20 5c 20  4c 53 42 20 69 73 20 69  |..TXA \ LSB is i|
00000c60  6e 20 58 20 72 65 67 69  73 74 65 72 0d 05 00 20  |n X register... |
00000c70  80 20 23 26 46 20 5c 20  69 73 6f 6c 61 74 65 20  |. #&F \ isolate |
00000c80  66 69 72 73 74 20 6e 79  62 62 6c 65 0d 05 0a 2c  |first nybble...,|
00000c90  84 41 20 23 26 34 30 20  5c 20 84 20 69 74 20 77  |.A #&40 \ . it w|
00000ca0  69 74 68 20 4c 6f 61 64  20 41 64 64 72 65 73 73  |ith Load Address|
00000cb0  20 63 6f 6d 6d 61 6e 64  0d 05 14 30 4a 53 52 20  | command...0JSR |
00000cc0  77 72 69 74 65 20 5c 20  73 65 6e 64 20 63 6f 6d  |write \ send com|
00000cd0  6d 61 6e 64 20 74 6f 20  73 70 65 65 63 68 20 70  |mand to speech p|
00000ce0  72 6f 63 65 73 73 6f 72  0d 05 1e 17 54 58 41 20  |rocessor....TXA |
00000cf0  5c 20 73 65 63 6f 6e 64  20 6e 79 62 62 6c 65 0d  |\ second nybble.|
00000d00  05 28 0a 80 20 23 26 46  30 0d 05 32 09 4c 53 52  |.(.. #&F0..2.LSR|
00000d10  20 41 0d 05 3c 09 4c 53  52 20 41 0d 05 46 09 4c  | A..<.LSR A..F.L|
00000d20  53 52 20 41 0d 05 50 09  4c 53 52 20 41 0d 05 5a  |SR A..P.LSR A..Z|
00000d30  0b 84 41 20 23 26 34 30  0d 05 64 30 4a 53 52 20  |..A #&40..d0JSR |
00000d40  77 72 69 74 65 20 5c 20  73 65 6e 64 20 63 6f 6d  |write \ send com|
00000d50  6d 61 6e 64 20 74 6f 20  73 70 65 65 63 68 20 70  |mand to speech p|
00000d60  72 6f 63 65 73 73 6f 72  0d 05 6e 16 50 4c 41 20  |rocessor..n.PLA |
00000d70  5c 20 74 68 69 72 64 20  6e 79 62 62 6c 65 0d 05  |\ third nybble..|
00000d80  78 09 80 20 23 26 46 0d  05 82 0b 84 41 20 23 26  |x.. #&F.....A #&|
00000d90  34 30 0d 05 8c 0d 4a 53  52 20 77 72 69 74 65 0d  |40....JSR write.|
00000da0  05 96 17 50 4c 41 20 5c  20 66 6f 75 72 74 68 20  |...PLA \ fourth |
00000db0  6e 79 62 62 6c 65 0d 05  a0 0a 80 20 23 26 46 30  |nybble..... #&F0|
00000dc0  0d 05 aa 09 4c 53 52 20  41 0d 05 b4 09 4c 53 52  |....LSR A....LSR|
00000dd0  20 41 0d 05 be 09 4c 53  52 20 41 0d 05 c8 09 4c  | A....LSR A....L|
00000de0  53 52 20 41 0d 05 d2 0b  84 41 20 23 26 34 43 0d  |SR A.....A #&4C.|
00000df0  05 dc 30 4a 53 52 20 77  72 69 74 65 20 5c 20 73  |..0JSR write \ s|
00000e00  65 6e 64 20 63 6f 6d 6d  61 6e 64 20 74 6f 20 73  |end command to s|
00000e10  70 65 65 63 68 20 70 72  6f 63 65 73 73 6f 72 0d  |peech processor.|
00000e20  05 e6 23 4c 44 41 20 23  26 34 33 20 5c 20 6c 61  |..#LDA #&43 \ la|
00000e30  73 74 20 62 79 74 65 20  61 6c 77 61 79 73 20 26  |st byte always &|
00000e40  34 33 0d 05 f0 0a 2e 77  72 69 74 65 0d 05 fa 2a  |43.....write...*|
00000e50  54 41 59 20 5c 20 74 72  61 6e 73 66 65 72 20 63  |TAY \ transfer c|
00000e60  6f 6d 6d 61 6e 64 20 69  6e 74 6f 20 59 20 72 65  |ommand into Y re|
00000e70  67 69 73 74 65 72 0d 06  04 28 4c 44 41 20 23 26  |gister...(LDA #&|
00000e80  39 46 20 5c 20 77 72 69  74 65 20 74 6f 20 73 70  |9F \ write to sp|
00000e90  65 65 63 68 20 70 72 6f  63 65 73 73 6f 72 0d 06  |eech processor..|
00000ea0  0e 22 4a 4d 50 20 6f 73  62 79 74 65 20 5c 20 4f  |."JMP osbyte \ O|
00000eb0  73 62 79 74 65 20 61 6e  64 20 72 65 74 75 72 6e  |sbyte and return|
00000ec0  0d 06 18 0d 2e 74 69 6d  65 62 61 73 65 0d 06 22  |.....timebase.."|
00000ed0  12 45 51 55 44 20 26 46  46 46 46 46 46 46 46 0d  |.EQUD &FFFFFFFF.|
00000ee0  06 2c 0c 45 51 55 42 20  26 46 46 0d 06 36 0b 2e  |.,.EQUB &FF..6..|
00000ef0  73 70 64 61 74 61 0d 06  40 27 45 51 55 42 20 30  |spdata..@'EQUB 0|
00000f00  20 5c 20 73 70 65 61 6b  20 63 6f 6d 70 6c 65 74  | \ speak complet|
00000f10  65 20 77 6f 72 64 20 22  74 68 69 73 22 0d 06 4a  |e word "this"..J|
00000f20  2d 45 51 55 57 20 26 33  38 30 38 20 5c 20 61 64  |-EQUW &3808 \ ad|
00000f30  64 72 65 73 73 20 6f 66  20 22 74 68 69 73 22 20  |dress of "this" |
00000f40  69 6e 20 50 48 52 4f 4d  20 41 0d 06 54 2f 45 51  |in PHROM A..T/EQ|
00000f50  55 42 20 32 30 20 5c 20  73 70 65 61 6b 20 32 30  |UB 20 \ speak 20|
00000f60  20 63 65 6e 74 69 2d 73  65 63 6f 6e 64 73 20 6f  | centi-seconds o|
00000f70  66 20 22 73 63 6f 72 65  22 0d 06 5e 1b 45 51 55  |f "score"..^.EQU|
00000f80  57 20 26 33 32 39 41 20  5c 20 73 2d 20 28 73 63  |W &329A \ s- (sc|
00000f90  6f 72 65 29 0d 06 68 2d  45 51 55 42 20 31 30 20  |ore)..h-EQUB 10 |
00000fa0  5c 20 73 70 65 61 6b 20  31 30 20 63 65 6e 74 69  |\ speak 10 centi|
00000fb0  2d 73 65 63 6f 6e 64 73  20 6f 66 20 22 6f 66 66  |-seconds of "off|
00000fc0  22 0d 06 72 1b 45 51 55  57 20 26 32 38 44 39 20  |"..r.EQUW &28D9 |
00000fd0  5c 20 2d 6f 66 2d 20 28  6f 66 66 29 0d 06 7c 0b  |\ -of- (off)..|.|
00000fe0  45 51 55 42 20 31 30 0d  06 86 1a 45 51 55 57 20  |EQUB 10....EQUW |
00000ff0  26 33 38 45 32 20 5c 20  2d 74 2d 20 28 74 72 79  |&38E2 \ -t- (try|
00001000  29 0d 06 90 0b 45 51 55  42 20 32 35 0d 06 9a 1d  |)....EQUB 25....|
00001010  45 51 55 57 20 26 33 43  43 32 20 5c 20 2d 77 61  |EQUW &3CC2 \ -wa|
00001020  72 65 20 28 77 65 72 65  29 0d 06 a4 0a 45 51 55  |re (were)....EQU|
00001030  42 20 30 0d 06 ae 26 45  51 55 57 20 26 30 32 35  |B 0...&EQUW &025|
00001040  30 20 5c 20 31 32 2e 35  20 63 65 6e 74 69 2d 73  |0 \ 12.5 centi-s|
00001050  65 63 2e 20 64 65 6c 61  79 0d 06 b8 0a 45 51 55  |ec. delay....EQU|
00001060  42 20 30 0d 06 c2 14 45  51 55 57 20 26 33 43 36  |B 0....EQUW &3C6|
00001070  43 20 5c 20 77 61 73 0d  06 cc 0b 45 51 55 42 20  |C \ was....EQUB |
00001080  31 35 0d 06 d6 1a 45 51  55 57 20 26 33 30 45 37  |15....EQUW &30E7|
00001090  20 5c 20 77 72 2d 20 28  72 75 6e 29 0d 06 e0 0b  | \ wr- (run)....|
000010a0  45 51 55 42 20 31 30 0d  06 ea 1a 45 51 55 57 20  |EQUB 10....EQUW |
000010b0  26 31 45 42 44 20 5c 20  2d 69 2d 20 28 69 6e 2d  |&1EBD \ -i- (in-|
000010c0  29 0d 06 f4 0b 45 51 55  42 20 31 30 0d 06 fe 1e  |)....EQUB 10....|
000010d0  45 51 55 57 20 26 33 39  35 33 20 5c 20 2d 74 74  |EQUW &3953 \ -tt|
000010e0  2d 20 28 74 77 65 6c 76  65 29 0d 07 08 0b 45 51  |- (twelve)....EQ|
000010f0  55 42 20 31 30 0d 07 12  19 45 51 55 57 20 26 33  |UB 10....EQUW &3|
00001100  41 39 31 20 5c 20 2d 65  2d 20 28 75 68 29 0d 07  |A91 \ -e- (uh)..|
00001110  1c 0b 45 51 55 42 20 31  35 0d 07 26 18 45 51 55  |..EQUB 15..&.EQU|
00001120  57 20 26 32 36 33 44 20  5c 20 2d 6e 20 28 6e 6f  |W &263D \ -n (no|
00001130  29 0d 07 30 0a 45 51 55  42 20 30 0d 07 3a 26 45  |)..0.EQUB 0..:&E|
00001140  51 55 57 20 26 30 32 35  30 20 5c 20 31 32 2e 35  |QUW &0250 \ 12.5|
00001150  20 63 65 6e 74 69 2d 73  65 63 2e 20 64 65 6c 61  | centi-sec. dela|
00001160  79 0d 07 44 0b 45 51 55  42 20 31 30 0d 07 4e 1c  |y..D.EQUB 10..N.|
00001170  45 51 55 57 20 26 31 31  46 38 20 5c 20 62 2d 20  |EQUW &11F8 \ b- |
00001180  28 62 75 74 74 6f 6e 29  0d 07 58 0b 45 51 55 42  |(button)..X.EQUB|
00001190  20 33 30 0d 07 62 17 45  51 55 57 20 26 31 44 43  | 30..b.EQUW &1DC|
000011a0  43 20 5c 20 2d 79 20 28  69 29 0d 07 6c 0a 45 51  |C \ -y (i)..l.EQ|
000011b0  55 42 20 30 0d 07 76 24  45 51 55 57 20 26 30 32  |UB 0..v$EQUW &02|
000011c0  35 46 20 5c 20 32 35 20  63 65 6e 74 69 2d 73 65  |5F \ 25 centi-se|
000011d0  63 2e 20 64 65 6c 61 79  0d 07 80 0b 45 51 55 42  |c. delay....EQUB|
000011e0  20 31 35 0d 07 8a 1a 45  51 55 57 20 26 31 43 43  | 15....EQUW &1CC|
000011f0  39 20 5c 20 47 2d 20 28  67 6f 6f 64 29 0d 07 94  |9 \ G- (good)...|
00001200  0b 45 51 55 42 20 31 35  0d 07 9e 1a 45 51 55 57  |.EQUB 15....EQUW|
00001210  20 26 32 41 34 38 20 5c  20 2d 6f 72 2d 20 28 6f  | &2A48 \ -or- (o|
00001220  72 29 0d 07 a8 0b 45 51  55 42 20 32 30 0d 07 b2  |r)....EQUB 20...|
00001230  1e 45 51 55 57 20 26 31  36 32 41 20 5c 20 2d 64  |.EQUW &162A \ -d|
00001240  6f 2d 20 28 64 6f 6c 6c  61 72 29 0d 07 bc 0b 45  |o- (dollar)....E|
00001250  51 55 42 20 31 34 0d 07  c6 18 45 51 55 57 20 26  |QUB 14....EQUW &|
00001260  32 36 33 44 20 5c 20 2d  6e 20 28 6e 6f 29 0d 07  |263D \ -n (no)..|
00001270  d0 0a 45 51 55 42 20 30  0d 07 da 26 45 51 55 57  |..EQUB 0...&EQUW|
00001280  20 26 30 32 35 30 20 5c  20 31 32 2e 35 20 63 65  | &0250 \ 12.5 ce|
00001290  6e 74 69 2d 73 65 63 2e  20 64 65 6c 61 79 0d 07  |nti-sec. delay..|
000012a0  e4 0b 45 51 55 42 20 31  30 0d 07 ee 1d 45 51 55  |..EQUB 10....EQU|
000012b0  57 20 26 30 34 43 38 20  5c 20 48 2d 20 28 68 75  |W &04C8 \ H- (hu|
000012c0  6e 64 72 65 64 29 0d 07  f8 0b 45 51 55 42 20 31  |ndred)....EQUB 1|
000012d0  35 0d 08 02 1a 45 51 55  57 20 26 32 41 34 38 20  |5....EQUW &2A48 |
000012e0  5c 20 2d 6f 72 2d 20 28  6f 72 29 0d 08 0c 0b 45  |\ -or- (or)....E|
000012f0  51 55 42 20 31 30 0d 08  16 1c 45 51 55 57 20 26  |QUB 10....EQUW &|
00001300  30 39 33 36 20 5c 20 2d  73 2d 20 28 73 69 78 74  |0936 \ -s- (sixt|
00001310  2d 29 0d 08 20 0b 45 51  55 42 20 32 35 0d 08 2a  |-).. .EQUB 25..*|
00001320  1d 45 51 55 57 20 26 30  33 32 42 20 5c 20 2d 69  |.EQUW &032B \ -i|
00001330  6e 67 2d 20 28 2d 69 6e  67 29 0d 08 34 0b 45 51  |ng- (-ing)..4.EQ|
00001340  55 42 20 31 30 0d 08 3e  1a 45 51 55 57 20 26 33  |UB 10..>.EQUW &3|
00001350  35 43 41 20 5c 20 2d 74  2d 20 28 74 65 6e 29 0d  |5CA \ -t- (ten).|
00001360  08 48 0a 45 51 55 42 20  35 0d 08 52 19 45 51 55  |.H.EQUB 5..R.EQU|
00001370  57 20 26 33 41 39 31 20  5c 20 2d 6f 2d 20 28 75  |W &3A91 \ -o- (u|
00001380  68 29 0d 08 5c 0b 45 51  55 42 20 32 30 0d 08 66  |h)..\.EQUB 20..f|
00001390  18 45 51 55 57 20 26 32  36 33 44 20 5c 20 2d 6e  |.EQUW &263D \ -n|
000013a0  20 28 6e 6f 29 0d 08 70  0a 45 51 55 42 20 30 0d  | (no)..p.EQUB 0.|
000013b0  08 7a 24 45 51 55 57 20  26 30 32 35 46 20 5c 20  |.z$EQUW &025F \ |
000013c0  32 35 20 63 65 6e 74 69  2d 73 65 63 2e 20 64 65  |25 centi-sec. de|
000013d0  6c 61 79 0d 08 84 0a 45  51 55 42 20 30 0d 08 8e  |lay....EQUB 0...|
000013e0  14 45 51 55 57 20 26 30  45 31 32 20 5c 20 61 6e  |.EQUW &0E12 \ an|
000013f0  64 0d 08 98 0a 45 51 55  42 20 30 0d 08 a2 13 45  |d....EQUB 0....E|
00001400  51 55 57 20 26 31 46 35  37 20 5c 20 69 73 0d 08  |QUW &1F57 \ is..|
00001410  ac 0a 45 51 55 42 20 30  0d 08 b6 1a 45 51 55 57  |..EQUB 0....EQUW|
00001420  20 26 30 46 43 46 20 5c  20 61 76 61 69 6c 61 62  | &0FCF \ availab|
00001430  6c 65 0d 08 c0 0a 45 51  55 42 20 30 0d 08 ca 15  |le....EQUB 0....|
00001440  45 51 55 57 20 26 31 43  31 31 20 5c 20 66 72 6f  |EQUW &1C11 \ fro|
00001450  6d 0d 08 d4 0a 45 51 55  42 20 30 0d 08 de 26 45  |m....EQUB 0...&E|
00001460  51 55 57 20 26 30 32 35  30 20 5c 20 31 32 2e 35  |QUW &0250 \ 12.5|
00001470  20 63 65 6e 74 69 2d 73  65 63 2e 20 64 65 6c 61  | centi-sec. dela|
00001480  79 0d 08 e8 0a 45 51 55  42 20 30 0d 08 f2 12 45  |y....EQUB 0....E|
00001490  51 55 57 20 26 31 30 36  35 20 5c 20 42 0d 08 fc  |QUW &1065 \ B...|
000014a0  0a 45 51 55 42 20 30 0d  09 06 12 45 51 55 57 20  |.EQUB 0....EQUW |
000014b0  26 31 30 36 35 20 5c 20  42 0d 09 10 0a 45 51 55  |&1065 \ B....EQU|
000014c0  42 20 30 0d 09 1a 12 45  51 55 57 20 26 31 32 34  |B 0....EQUW &124|
000014d0  44 20 5c 20 43 0d 09 24  0b 45 51 55 42 20 31 30  |D \ C..$.EQUB 10|
000014e0  0d 09 2e 1a 45 51 55 57  20 26 33 35 43 41 20 5c  |....EQUW &35CA \|
000014f0  20 54 65 2d 20 28 74 65  6e 29 0d 09 38 0b 45 51  | Te- (ten)..8.EQ|
00001500  55 42 20 31 35 0d 09 42  18 45 51 55 57 20 26 32  |UB 15..B.EQUW &2|
00001510  30 39 46 20 5c 20 2d 6c  2d 20 28 6c 29 0d 09 4c  |09F \ -l- (l)..L|
00001520  0b 45 51 55 42 20 31 30  0d 09 56 1b 45 51 55 57  |.EQUB 10..V.EQUW|
00001530  20 26 31 37 38 42 20 5c  20 2d 65 2d 20 28 65 61  | &178B \ -e- (ea|
00001540  63 68 29 0d 09 60 0b 45  51 55 42 20 31 35 0d 09  |ch)..`.EQUB 15..|
00001550  6a 1c 45 51 55 57 20 26  33 32 39 41 20 5c 20 2d  |j.EQUW &329A \ -|
00001560  73 2d 20 28 73 63 6f 72  65 29 0d 09 74 0b 45 51  |s- (score)..t.EQ|
00001570  55 42 20 31 30 0d 09 7e  1b 45 51 55 57 20 26 32  |UB 10..~.EQUW &2|
00001580  38 44 39 20 5c 20 2d 6f  66 2d 20 28 6f 66 66 29  |8D9 \ -of- (off)|
00001590  0d 09 88 0b 45 51 55 42  20 31 30 0d 09 92 1a 45  |....EQUB 10....E|
000015a0  51 55 57 20 26 33 38 45  32 20 5c 20 2d 74 2d 20  |QUW &38E2 \ -t- |
000015b0  28 74 72 79 29 0d 09 9c  0b 45 51 55 42 20 32 30  |(try)....EQUB 20|
000015c0  0d 09 a6 1d 45 51 55 57  20 26 33 43 43 32 20 5c  |....EQUW &3CC2 \|
000015d0  20 2d 77 61 72 65 20 28  77 65 72 65 29 0d 09 b0  | -ware (were)...|
000015e0  21 45 51 55 42 20 26 46  46 20 5c 20 65 6e 64 2d  |!EQUB &FF \ end-|
000015f0  6f 66 2d 64 61 74 61 20  6d 61 72 6b 65 72 0d 09  |of-data marker..|
00001600  ba 05 5d 0d 09 c4 05 ed  0d 09 ce 0b d6 20 6d 63  |..].......... mc|
00001610  6f 64 65 0d ff                                    |ode..|
00001615
11-11-88/TELSOFT.m0
11-11-88/TELSOFT.m1
11-11-88/TELSOFT.m2
11-11-88/TELSOFT.m4
11-11-88/TELSOFT.m5