Home » CEEFAX disks » telesoftware16.adl » Speller/Technic

Speller/Technic

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 » telesoftware16.adl
Filename: Speller/Technic
Read OK:
File size: 1918 bytes
Load address: 0000
Exec address: FFFFFFFF
File contents
Watcher Technical Details

If you dump the Dictionary file you will notice that it is arranged
in alphabetical order and that the first 81 bytes do not contain any
words. These bytes form a look-up table which Watcher loads into RAM. Each
letter of the alphabet has three bytes, the first three are for A, the
second three for B,  and so on. The table contains details of where in the
file (i.e. at what point in the file) the entry for each letter starts.
The last three bytes contain the length of the file. 

By using 3 bytes (24 bits) the maximum length of the file is 2 to the
power of 24. This I believe should cope with all but the most extravagant
dictionaries. Since this is also the maximum length of a BBC file it is
able to cope with any file.

To save space the end of each word is marked by setting the top bit of the
last letter or the word. So when dumping the file you will not be able to
read this letter. By using this method there is no need to store the
length of any word or to use up a whole byte just to mark the end of word.
However it does mean that one letter words (i.e. A and I) disappear
completely when the file is dumped.

Watcher (i.e.  Watch) reads in each word ignoring any punctuation and
non alphabetical characters. Each space, or carriage return is used to
represent a break in the word. It then takes the first letter of the word
and reads the position of it's entry, which is used as the starting point
for the search, and the following letter, which is used as the end point
for the search. e.g. for the word "Disc" it would take the position of D
as the start for the search and the position of E as the end of the
search.

A simple linear search (i.e. checking the first word in the file,
then the second, then the third and so on) over this range would be far
too slow once the dictionary got any where near usable size so another
method is needed. I have adopted a binary search system.

Using this system Watcher finds the mid-point between, in this example,
the start of D and it's end (i.e. the start of E) and takes the word
closest to this point. It compares this with the word it is looking for -
the search word. If, alphabetically, the word from the file comes after
the search word Watcher retains D as it's starting point but now resets
the end point to be the same as the mid-point. Hence with one check half
the words have been eliminated. Watcher now finds the mid-point between
the original start and the new end. It again takes the word closest to
this point and compares it to the search word, if the search word is
alphabetically after this word the current mid-point is taken as the start
and the current end (i.e. the previous mid-point) is retain as the
search end point. 

Using this method everytime a word is looked at half the possibilities are
discounted. Hence the search area is reduced by a factor of two each time
so the name "Binary Search" results.

The search is terminated by one of two events, either the word picked to
be the mid-point is the search word, so Watcher can terminate the search
knowing that the spelling is correct. Alternatively the search area
becomes so small that no word can exist within it. When this happens the
search has finished but with no results so the word is unknown.

If Watcher comes across a word that does not have an entry in the
dictionary it looks at it's list of new words. There are two lists of new
words. The first is maintained in RAM and stores any words that Watcher
finds during it's check. At the end of each text check these words are
copied to the disc file C.NEWORDS - which as you may expect contains any
new words found.

When Watcher is first run, after reading in text and opening the
dictionary file it looks for a file called C.NEWORDS. If this file is not
found then Watcher creates it. If Watcher does find the file then any word
that is not found in the dictionary, or in RAM is compared to words in the
new words file. This file is just a list of words that have been dumped to
disc from RAM after each check and have no order. Hence if Watcher must
search the new words file the search is slow since the words have no order
and a linear search must be used.

If any word from the text is not found in the dictionary, in RAM or the
new words file it is offered on screen for human checking. Depending on
how the screen options have been set the word may just be ignored (i.e.
if the No Test option has been chosen). If you tell Watcher that a word
is correct then it will examine a flag to see what should be done with the
word i.e. save, ignore or consult the user again as defined by pressing
f0, f1 and f2. If you decide to save the word either through selecting the
f1 "All Save" option or the f0 "Selective Save" and then pressing S the
word will be stored in RAM until all the text has been checked. At the end
all the RAM words are saved to the new words file. While the word is in
RAM it may, of cause, be used to verify another word. 

It is important, for maximum speed,  that once a new word file contains
words that it is merged with the main dictionary. I have left the option
not to merge the new words file with the main dictionary but would always
advise that it is merged as soon as possible. A new word file containing
even a modest amount of words may double the search time for each word. 


				Constraints

No word may be longer than 26 characters. 

I don't know if Watcher will operate on a second processor system. I
would expect it to work though.

Watcher will operate on Master machines but can be slightly
temperamental at times. I have used Watcher on a Master 128 with floppy
disc and on Master 128 with an Econet interface connect to a 40Mb Viglen
hard disc  operating off a SJ Filesever where the extra speed was clearly
visible.

I have not had a chance to test Watcher on a B+ but see no reason at all
why is should not run as normal.

Watcher will run a silicon disc. I have used it on a 32K Watford silicon
disc, however sometimes it is necessary to trick Watcher into running
where the RAM disc is not big enough to hold all the necessary file. My
method is to only load the dictionary and text file onto the silicon disc.
Then *LOAD Watcher from floppy disc, switch back to silicon disc and run
Watcher using CALL &250B. Using a silicon disc it is feasible to use
bigger than normal new word files because of the speed of access. 
00000000  57 61 74 63 68 65 72 20  54 65 63 68 6e 69 63 61  |Watcher Technica|
00000010  6c 20 44 65 74 61 69 6c  73 0d 0d 49 66 20 79 6f  |l Details..If yo|
00000020  75 20 64 75 6d 70 20 74  68 65 20 44 69 63 74 69  |u dump the Dicti|
00000030  6f 6e 61 72 79 20 66 69  6c 65 20 79 6f 75 20 77  |onary file you w|
00000040  69 6c 6c 20 6e 6f 74 69  63 65 20 74 68 61 74 20  |ill notice that |
00000050  69 74 20 69 73 20 61 72  72 61 6e 67 65 64 0d 69  |it is arranged.i|
00000060  6e 20 61 6c 70 68 61 62  65 74 69 63 61 6c 20 6f  |n alphabetical o|
00000070  72 64 65 72 20 61 6e 64  20 74 68 61 74 20 74 68  |rder and that th|
00000080  65 20 66 69 72 73 74 20  38 31 20 62 79 74 65 73  |e first 81 bytes|
00000090  20 64 6f 20 6e 6f 74 20  63 6f 6e 74 61 69 6e 20  | do not contain |
000000a0  61 6e 79 0d 77 6f 72 64  73 2e 20 54 68 65 73 65  |any.words. These|
000000b0  20 62 79 74 65 73 20 66  6f 72 6d 20 61 20 6c 6f  | bytes form a lo|
000000c0  6f 6b 2d 75 70 20 74 61  62 6c 65 20 77 68 69 63  |ok-up table whic|
000000d0  68 20 57 61 74 63 68 65  72 20 6c 6f 61 64 73 20  |h Watcher loads |
000000e0  69 6e 74 6f 20 52 41 4d  2e 20 45 61 63 68 0d 6c  |into RAM. Each.l|
000000f0  65 74 74 65 72 20 6f 66  20 74 68 65 20 61 6c 70  |etter of the alp|
00000100  68 61 62 65 74 20 68 61  73 20 74 68 72 65 65 20  |habet has three |
00000110  62 79 74 65 73 2c 20 74  68 65 20 66 69 72 73 74  |bytes, the first|
00000120  20 74 68 72 65 65 20 61  72 65 20 66 6f 72 20 41  | three are for A|
00000130  2c 20 74 68 65 0d 73 65  63 6f 6e 64 20 74 68 72  |, the.second thr|
00000140  65 65 20 66 6f 72 20 42  2c 20 20 61 6e 64 20 73  |ee for B,  and s|
00000150  6f 20 6f 6e 2e 20 54 68  65 20 74 61 62 6c 65 20  |o on. The table |
00000160  63 6f 6e 74 61 69 6e 73  20 64 65 74 61 69 6c 73  |contains details|
00000170  20 6f 66 20 77 68 65 72  65 20 69 6e 20 74 68 65  | of where in the|
00000180  0d 66 69 6c 65 20 28 69  2e 65 2e 20 61 74 20 77  |.file (i.e. at w|
00000190  68 61 74 20 70 6f 69 6e  74 20 69 6e 20 74 68 65  |hat point in the|
000001a0  20 66 69 6c 65 29 20 74  68 65 20 65 6e 74 72 79  | file) the entry|
000001b0  20 66 6f 72 20 65 61 63  68 20 6c 65 74 74 65 72  | for each letter|
000001c0  20 73 74 61 72 74 73 2e  0d 54 68 65 20 6c 61 73  | starts..The las|
000001d0  74 20 74 68 72 65 65 20  62 79 74 65 73 20 63 6f  |t three bytes co|
000001e0  6e 74 61 69 6e 20 74 68  65 20 6c 65 6e 67 74 68  |ntain the length|
000001f0  20 6f 66 20 74 68 65 20  66 69 6c 65 2e 20 0d 0d  | of the file. ..|
00000200  42 79 20 75 73 69 6e 67  20 33 20 62 79 74 65 73  |By using 3 bytes|
00000210  20 28 32 34 20 62 69 74  73 29 20 74 68 65 20 6d  | (24 bits) the m|
00000220  61 78 69 6d 75 6d 20 6c  65 6e 67 74 68 20 6f 66  |aximum length of|
00000230  20 74 68 65 20 66 69 6c  65 20 69 73 20 32 20 74  | the file is 2 t|
00000240  6f 20 74 68 65 0d 70 6f  77 65 72 20 6f 66 20 32  |o the.power of 2|
00000250  34 2e 20 54 68 69 73 20  49 20 62 65 6c 69 65 76  |4. This I believ|
00000260  65 20 73 68 6f 75 6c 64  20 63 6f 70 65 20 77 69  |e should cope wi|
00000270  74 68 20 61 6c 6c 20 62  75 74 20 74 68 65 20 6d  |th all but the m|
00000280  6f 73 74 20 65 78 74 72  61 76 61 67 61 6e 74 0d  |ost extravagant.|
00000290  64 69 63 74 69 6f 6e 61  72 69 65 73 2e 20 53 69  |dictionaries. Si|
000002a0  6e 63 65 20 74 68 69 73  20 69 73 20 61 6c 73 6f  |nce this is also|
000002b0  20 74 68 65 20 6d 61 78  69 6d 75 6d 20 6c 65 6e  | the maximum len|
000002c0  67 74 68 20 6f 66 20 61  20 42 42 43 20 66 69 6c  |gth of a BBC fil|
000002d0  65 20 69 74 20 69 73 0d  61 62 6c 65 20 74 6f 20  |e it is.able to |
000002e0  63 6f 70 65 20 77 69 74  68 20 61 6e 79 20 66 69  |cope with any fi|
000002f0  6c 65 2e 0d 0d 54 6f 20  73 61 76 65 20 73 70 61  |le...To save spa|
00000300  63 65 20 74 68 65 20 65  6e 64 20 6f 66 20 65 61  |ce the end of ea|
00000310  63 68 20 77 6f 72 64 20  69 73 20 6d 61 72 6b 65  |ch word is marke|
00000320  64 20 62 79 20 73 65 74  74 69 6e 67 20 74 68 65  |d by setting the|
00000330  20 74 6f 70 20 62 69 74  20 6f 66 20 74 68 65 0d  | top bit of the.|
00000340  6c 61 73 74 20 6c 65 74  74 65 72 20 6f 72 20 74  |last letter or t|
00000350  68 65 20 77 6f 72 64 2e  20 53 6f 20 77 68 65 6e  |he word. So when|
00000360  20 64 75 6d 70 69 6e 67  20 74 68 65 20 66 69 6c  | dumping the fil|
00000370  65 20 79 6f 75 20 77 69  6c 6c 20 6e 6f 74 20 62  |e you will not b|
00000380  65 20 61 62 6c 65 20 74  6f 0d 72 65 61 64 20 74  |e able to.read t|
00000390  68 69 73 20 6c 65 74 74  65 72 2e 20 42 79 20 75  |his letter. By u|
000003a0  73 69 6e 67 20 74 68 69  73 20 6d 65 74 68 6f 64  |sing this method|
000003b0  20 74 68 65 72 65 20 69  73 20 6e 6f 20 6e 65 65  | there is no nee|
000003c0  64 20 74 6f 20 73 74 6f  72 65 20 74 68 65 0d 6c  |d to store the.l|
000003d0  65 6e 67 74 68 20 6f 66  20 61 6e 79 20 77 6f 72  |ength of any wor|
000003e0  64 20 6f 72 20 74 6f 20  75 73 65 20 75 70 20 61  |d or to use up a|
000003f0  20 77 68 6f 6c 65 20 62  79 74 65 20 6a 75 73 74  | whole byte just|
00000400  20 74 6f 20 6d 61 72 6b  20 74 68 65 20 65 6e 64  | to mark the end|
00000410  20 6f 66 20 77 6f 72 64  2e 0d 48 6f 77 65 76 65  | of word..Howeve|
00000420  72 20 69 74 20 64 6f 65  73 20 6d 65 61 6e 20 74  |r it does mean t|
00000430  68 61 74 20 6f 6e 65 20  6c 65 74 74 65 72 20 77  |hat one letter w|
00000440  6f 72 64 73 20 28 69 2e  65 2e 20 41 20 61 6e 64  |ords (i.e. A and|
00000450  20 49 29 20 64 69 73 61  70 70 65 61 72 0d 63 6f  | I) disappear.co|
00000460  6d 70 6c 65 74 65 6c 79  20 77 68 65 6e 20 74 68  |mpletely when th|
00000470  65 20 66 69 6c 65 20 69  73 20 64 75 6d 70 65 64  |e file is dumped|
00000480  2e 0d 0d 57 61 74 63 68  65 72 20 28 69 2e 65 2e  |...Watcher (i.e.|
00000490  20 20 57 61 74 63 68 29  20 72 65 61 64 73 20 69  |  Watch) reads i|
000004a0  6e 20 65 61 63 68 20 77  6f 72 64 20 69 67 6e 6f  |n each word igno|
000004b0  72 69 6e 67 20 61 6e 79  20 70 75 6e 63 74 75 61  |ring any punctua|
000004c0  74 69 6f 6e 20 61 6e 64  0d 6e 6f 6e 20 61 6c 70  |tion and.non alp|
000004d0  68 61 62 65 74 69 63 61  6c 20 63 68 61 72 61 63  |habetical charac|
000004e0  74 65 72 73 2e 20 45 61  63 68 20 73 70 61 63 65  |ters. Each space|
000004f0  2c 20 6f 72 20 63 61 72  72 69 61 67 65 20 72 65  |, or carriage re|
00000500  74 75 72 6e 20 69 73 20  75 73 65 64 20 74 6f 0d  |turn is used to.|
00000510  72 65 70 72 65 73 65 6e  74 20 61 20 62 72 65 61  |represent a brea|
00000520  6b 20 69 6e 20 74 68 65  20 77 6f 72 64 2e 20 49  |k in the word. I|
00000530  74 20 74 68 65 6e 20 74  61 6b 65 73 20 74 68 65  |t then takes the|
00000540  20 66 69 72 73 74 20 6c  65 74 74 65 72 20 6f 66  | first letter of|
00000550  20 74 68 65 20 77 6f 72  64 0d 61 6e 64 20 72 65  | the word.and re|
00000560  61 64 73 20 74 68 65 20  70 6f 73 69 74 69 6f 6e  |ads the position|
00000570  20 6f 66 20 69 74 27 73  20 65 6e 74 72 79 2c 20  | of it's entry, |
00000580  77 68 69 63 68 20 69 73  20 75 73 65 64 20 61 73  |which is used as|
00000590  20 74 68 65 20 73 74 61  72 74 69 6e 67 20 70 6f  | the starting po|
000005a0  69 6e 74 0d 66 6f 72 20  74 68 65 20 73 65 61 72  |int.for the sear|
000005b0  63 68 2c 20 61 6e 64 20  74 68 65 20 66 6f 6c 6c  |ch, and the foll|
000005c0  6f 77 69 6e 67 20 6c 65  74 74 65 72 2c 20 77 68  |owing letter, wh|
000005d0  69 63 68 20 69 73 20 75  73 65 64 20 61 73 20 74  |ich is used as t|
000005e0  68 65 20 65 6e 64 20 70  6f 69 6e 74 0d 66 6f 72  |he end point.for|
000005f0  20 74 68 65 20 73 65 61  72 63 68 2e 20 65 2e 67  | the search. e.g|
00000600  2e 20 66 6f 72 20 74 68  65 20 77 6f 72 64 20 22  |. for the word "|
00000610  44 69 73 63 22 20 69 74  20 77 6f 75 6c 64 20 74  |Disc" it would t|
00000620  61 6b 65 20 74 68 65 20  70 6f 73 69 74 69 6f 6e  |ake the position|
00000630  20 6f 66 20 44 0d 61 73  20 74 68 65 20 73 74 61  | of D.as the sta|
00000640  72 74 20 66 6f 72 20 74  68 65 20 73 65 61 72 63  |rt for the searc|
00000650  68 20 61 6e 64 20 74 68  65 20 70 6f 73 69 74 69  |h and the positi|
00000660  6f 6e 20 6f 66 20 45 20  61 73 20 74 68 65 20 65  |on of E as the e|
00000670  6e 64 20 6f 66 20 74 68  65 0d 73 65 61 72 63 68  |nd of the.search|
00000680  2e 0d 0d 41 20 73 69 6d  70 6c 65 20 6c 69 6e 65  |...A simple line|
00000690  61 72 20 73 65 61 72 63  68 20 28 69 2e 65 2e 20  |ar search (i.e. |
000006a0  63 68 65 63 6b 69 6e 67  20 74 68 65 20 66 69 72  |checking the fir|
000006b0  73 74 20 77 6f 72 64 20  69 6e 20 74 68 65 20 66  |st word in the f|
000006c0  69 6c 65 2c 0d 74 68 65  6e 20 74 68 65 20 73 65  |ile,.then the se|
000006d0  63 6f 6e 64 2c 20 74 68  65 6e 20 74 68 65 20 74  |cond, then the t|
000006e0  68 69 72 64 20 61 6e 64  20 73 6f 20 6f 6e 29 20  |hird and so on) |
000006f0  6f 76 65 72 20 74 68 69  73 20 72 61 6e 67 65 20  |over this range |
00000700  77 6f 75 6c 64 20 62 65  20 66 61 72 0d 74 6f 6f  |would be far.too|
00000710  20 73 6c 6f 77 20 6f 6e  63 65 20 74 68 65 20 64  | slow once the d|
00000720  69 63 74 69 6f 6e 61 72  79 20 67 6f 74 20 61 6e  |ictionary got an|
00000730  79 20 77 68 65 72 65 20  6e 65 61 72 20 75 73 61  |y where near usa|
00000740  62 6c 65 20 73 69 7a 65  20 73 6f 20 61 6e 6f 74  |ble size so anot|
00000750  68 65 72 0d 6d 65 74 68  6f 64 20 69 73 20 6e 65  |her.method is ne|
00000760  65 64 65 64 2e 20 49 20  68 61 76 65 20 61 64 6f  |eded. I have ado|
00000770  70 74 65 64 20 61 20 62  69 6e 61 72 79 20 73 65  |pted a binary se|
00000780  61 72 63 68 20 73 79 73  74 65 6d 2e 0d 0d 55 73  |arch system...Us|
00000790  69 6e 67 20 74 68 69 73  20 73 79 73 74 65 6d 20  |ing this system |
000007a0  57 61 74 63 68 65 72 20  66 69 6e 64 73 20 74 68  |Watcher finds th|
000007b0  65 20 6d 69 64 2d 70 6f  69 6e 74 20 62 65 74 77  |e mid-point betw|
000007c0  65 65 6e 2c 20 69 6e 20  74 68 69 73 20 65 78 61  |een, in this exa|
000007d0  6d 70 6c 65 2c 0d 74 68  65 20 73 74 61 72 74 20  |mple,.the start |
000007e0  6f 66 20 44 20 61 6e 64  20 69 74 27 73 20 65 6e  |of D and it's en|
000007f0  64 20 28 69 2e 65 2e 20  74 68 65 20 73 74 61 72  |d (i.e. the star|
00000800  74 20 6f 66 20 45 29 20  61 6e 64 20 74 61 6b 65  |t of E) and take|
00000810  73 20 74 68 65 20 77 6f  72 64 0d 63 6c 6f 73 65  |s the word.close|
00000820  73 74 20 74 6f 20 74 68  69 73 20 70 6f 69 6e 74  |st to this point|
00000830  2e 20 49 74 20 63 6f 6d  70 61 72 65 73 20 74 68  |. It compares th|
00000840  69 73 20 77 69 74 68 20  74 68 65 20 77 6f 72 64  |is with the word|
00000850  20 69 74 20 69 73 20 6c  6f 6f 6b 69 6e 67 20 66  | it is looking f|
00000860  6f 72 20 2d 0d 74 68 65  20 73 65 61 72 63 68 20  |or -.the search |
00000870  77 6f 72 64 2e 20 49 66  2c 20 61 6c 70 68 61 62  |word. If, alphab|
00000880  65 74 69 63 61 6c 6c 79  2c 20 74 68 65 20 77 6f  |etically, the wo|
00000890  72 64 20 66 72 6f 6d 20  74 68 65 20 66 69 6c 65  |rd from the file|
000008a0  20 63 6f 6d 65 73 20 61  66 74 65 72 0d 74 68 65  | comes after.the|
000008b0  20 73 65 61 72 63 68 20  77 6f 72 64 20 57 61 74  | search word Wat|
000008c0  63 68 65 72 20 72 65 74  61 69 6e 73 20 44 20 61  |cher retains D a|
000008d0  73 20 69 74 27 73 20 73  74 61 72 74 69 6e 67 20  |s it's starting |
000008e0  70 6f 69 6e 74 20 62 75  74 20 6e 6f 77 20 72 65  |point but now re|
000008f0  73 65 74 73 0d 74 68 65  20 65 6e 64 20 70 6f 69  |sets.the end poi|
00000900  6e 74 20 74 6f 20 62 65  20 74 68 65 20 73 61 6d  |nt to be the sam|
00000910  65 20 61 73 20 74 68 65  20 6d 69 64 2d 70 6f 69  |e as the mid-poi|
00000920  6e 74 2e 20 48 65 6e 63  65 20 77 69 74 68 20 6f  |nt. Hence with o|
00000930  6e 65 20 63 68 65 63 6b  20 68 61 6c 66 0d 74 68  |ne check half.th|
00000940  65 20 77 6f 72 64 73 20  68 61 76 65 20 62 65 65  |e words have bee|
00000950  6e 20 65 6c 69 6d 69 6e  61 74 65 64 2e 20 57 61  |n eliminated. Wa|
00000960  74 63 68 65 72 20 6e 6f  77 20 66 69 6e 64 73 20  |tcher now finds |
00000970  74 68 65 20 6d 69 64 2d  70 6f 69 6e 74 20 62 65  |the mid-point be|
00000980  74 77 65 65 6e 0d 74 68  65 20 6f 72 69 67 69 6e  |tween.the origin|
00000990  61 6c 20 73 74 61 72 74  20 61 6e 64 20 74 68 65  |al start and the|
000009a0  20 6e 65 77 20 65 6e 64  2e 20 49 74 20 61 67 61  | new end. It aga|
000009b0  69 6e 20 74 61 6b 65 73  20 74 68 65 20 77 6f 72  |in takes the wor|
000009c0  64 20 63 6c 6f 73 65 73  74 20 74 6f 0d 74 68 69  |d closest to.thi|
000009d0  73 20 70 6f 69 6e 74 20  61 6e 64 20 63 6f 6d 70  |s point and comp|
000009e0  61 72 65 73 20 69 74 20  74 6f 20 74 68 65 20 73  |ares it to the s|
000009f0  65 61 72 63 68 20 77 6f  72 64 2c 20 69 66 20 74  |earch word, if t|
00000a00  68 65 20 73 65 61 72 63  68 20 77 6f 72 64 20 69  |he search word i|
00000a10  73 0d 61 6c 70 68 61 62  65 74 69 63 61 6c 6c 79  |s.alphabetically|
00000a20  20 61 66 74 65 72 20 74  68 69 73 20 77 6f 72 64  | after this word|
00000a30  20 74 68 65 20 63 75 72  72 65 6e 74 20 6d 69 64  | the current mid|
00000a40  2d 70 6f 69 6e 74 20 69  73 20 74 61 6b 65 6e 20  |-point is taken |
00000a50  61 73 20 74 68 65 20 73  74 61 72 74 0d 61 6e 64  |as the start.and|
00000a60  20 74 68 65 20 63 75 72  72 65 6e 74 20 65 6e 64  | the current end|
00000a70  20 28 69 2e 65 2e 20 74  68 65 20 70 72 65 76 69  | (i.e. the previ|
00000a80  6f 75 73 20 6d 69 64 2d  70 6f 69 6e 74 29 20 69  |ous mid-point) i|
00000a90  73 20 72 65 74 61 69 6e  20 61 73 20 74 68 65 0d  |s retain as the.|
00000aa0  73 65 61 72 63 68 20 65  6e 64 20 70 6f 69 6e 74  |search end point|
00000ab0  2e 20 0d 0d 55 73 69 6e  67 20 74 68 69 73 20 6d  |. ..Using this m|
00000ac0  65 74 68 6f 64 20 65 76  65 72 79 74 69 6d 65 20  |ethod everytime |
00000ad0  61 20 77 6f 72 64 20 69  73 20 6c 6f 6f 6b 65 64  |a word is looked|
00000ae0  20 61 74 20 68 61 6c 66  20 74 68 65 20 70 6f 73  | at half the pos|
00000af0  73 69 62 69 6c 69 74 69  65 73 20 61 72 65 0d 64  |sibilities are.d|
00000b00  69 73 63 6f 75 6e 74 65  64 2e 20 48 65 6e 63 65  |iscounted. Hence|
00000b10  20 74 68 65 20 73 65 61  72 63 68 20 61 72 65 61  | the search area|
00000b20  20 69 73 20 72 65 64 75  63 65 64 20 62 79 20 61  | is reduced by a|
00000b30  20 66 61 63 74 6f 72 20  6f 66 20 74 77 6f 20 65  | factor of two e|
00000b40  61 63 68 20 74 69 6d 65  0d 73 6f 20 74 68 65 20  |ach time.so the |
00000b50  6e 61 6d 65 20 22 42 69  6e 61 72 79 20 53 65 61  |name "Binary Sea|
00000b60  72 63 68 22 20 72 65 73  75 6c 74 73 2e 0d 0d 54  |rch" results...T|
00000b70  68 65 20 73 65 61 72 63  68 20 69 73 20 74 65 72  |he search is ter|
00000b80  6d 69 6e 61 74 65 64 20  62 79 20 6f 6e 65 20 6f  |minated by one o|
00000b90  66 20 74 77 6f 20 65 76  65 6e 74 73 2c 20 65 69  |f two events, ei|
00000ba0  74 68 65 72 20 74 68 65  20 77 6f 72 64 20 70 69  |ther the word pi|
00000bb0  63 6b 65 64 20 74 6f 0d  62 65 20 74 68 65 20 6d  |cked to.be the m|
00000bc0  69 64 2d 70 6f 69 6e 74  20 69 73 20 74 68 65 20  |id-point is the |
00000bd0  73 65 61 72 63 68 20 77  6f 72 64 2c 20 73 6f 20  |search word, so |
00000be0  57 61 74 63 68 65 72 20  63 61 6e 20 74 65 72 6d  |Watcher can term|
00000bf0  69 6e 61 74 65 20 74 68  65 20 73 65 61 72 63 68  |inate the search|
00000c00  0d 6b 6e 6f 77 69 6e 67  20 74 68 61 74 20 74 68  |.knowing that th|
00000c10  65 20 73 70 65 6c 6c 69  6e 67 20 69 73 20 63 6f  |e spelling is co|
00000c20  72 72 65 63 74 2e 20 41  6c 74 65 72 6e 61 74 69  |rrect. Alternati|
00000c30  76 65 6c 79 20 74 68 65  20 73 65 61 72 63 68 20  |vely the search |
00000c40  61 72 65 61 0d 62 65 63  6f 6d 65 73 20 73 6f 20  |area.becomes so |
00000c50  73 6d 61 6c 6c 20 74 68  61 74 20 6e 6f 20 77 6f  |small that no wo|
00000c60  72 64 20 63 61 6e 20 65  78 69 73 74 20 77 69 74  |rd can exist wit|
00000c70  68 69 6e 20 69 74 2e 20  57 68 65 6e 20 74 68 69  |hin it. When thi|
00000c80  73 20 68 61 70 70 65 6e  73 20 74 68 65 0d 73 65  |s happens the.se|
00000c90  61 72 63 68 20 68 61 73  20 66 69 6e 69 73 68 65  |arch has finishe|
00000ca0  64 20 62 75 74 20 77 69  74 68 20 6e 6f 20 72 65  |d but with no re|
00000cb0  73 75 6c 74 73 20 73 6f  20 74 68 65 20 77 6f 72  |sults so the wor|
00000cc0  64 20 69 73 20 75 6e 6b  6e 6f 77 6e 2e 0d 0d 49  |d is unknown...I|
00000cd0  66 20 57 61 74 63 68 65  72 20 63 6f 6d 65 73 20  |f Watcher comes |
00000ce0  61 63 72 6f 73 73 20 61  20 77 6f 72 64 20 74 68  |across a word th|
00000cf0  61 74 20 64 6f 65 73 20  6e 6f 74 20 68 61 76 65  |at does not have|
00000d00  20 61 6e 20 65 6e 74 72  79 20 69 6e 20 74 68 65  | an entry in the|
00000d10  0d 64 69 63 74 69 6f 6e  61 72 79 20 69 74 20 6c  |.dictionary it l|
00000d20  6f 6f 6b 73 20 61 74 20  69 74 27 73 20 6c 69 73  |ooks at it's lis|
00000d30  74 20 6f 66 20 6e 65 77  20 77 6f 72 64 73 2e 20  |t of new words. |
00000d40  54 68 65 72 65 20 61 72  65 20 74 77 6f 20 6c 69  |There are two li|
00000d50  73 74 73 20 6f 66 20 6e  65 77 0d 77 6f 72 64 73  |sts of new.words|
00000d60  2e 20 54 68 65 20 66 69  72 73 74 20 69 73 20 6d  |. The first is m|
00000d70  61 69 6e 74 61 69 6e 65  64 20 69 6e 20 52 41 4d  |aintained in RAM|
00000d80  20 61 6e 64 20 73 74 6f  72 65 73 20 61 6e 79 20  | and stores any |
00000d90  77 6f 72 64 73 20 74 68  61 74 20 57 61 74 63 68  |words that Watch|
00000da0  65 72 0d 66 69 6e 64 73  20 64 75 72 69 6e 67 20  |er.finds during |
00000db0  69 74 27 73 20 63 68 65  63 6b 2e 20 41 74 20 74  |it's check. At t|
00000dc0  68 65 20 65 6e 64 20 6f  66 20 65 61 63 68 20 74  |he end of each t|
00000dd0  65 78 74 20 63 68 65 63  6b 20 74 68 65 73 65 20  |ext check these |
00000de0  77 6f 72 64 73 20 61 72  65 0d 63 6f 70 69 65 64  |words are.copied|
00000df0  20 74 6f 20 74 68 65 20  64 69 73 63 20 66 69 6c  | to the disc fil|
00000e00  65 20 43 2e 4e 45 57 4f  52 44 53 20 2d 20 77 68  |e C.NEWORDS - wh|
00000e10  69 63 68 20 61 73 20 79  6f 75 20 6d 61 79 20 65  |ich as you may e|
00000e20  78 70 65 63 74 20 63 6f  6e 74 61 69 6e 73 20 61  |xpect contains a|
00000e30  6e 79 0d 6e 65 77 20 77  6f 72 64 73 20 66 6f 75  |ny.new words fou|
00000e40  6e 64 2e 0d 0d 57 68 65  6e 20 57 61 74 63 68 65  |nd...When Watche|
00000e50  72 20 69 73 20 66 69 72  73 74 20 72 75 6e 2c 20  |r is first run, |
00000e60  61 66 74 65 72 20 72 65  61 64 69 6e 67 20 69 6e  |after reading in|
00000e70  20 74 65 78 74 20 61 6e  64 20 6f 70 65 6e 69 6e  | text and openin|
00000e80  67 20 74 68 65 0d 64 69  63 74 69 6f 6e 61 72 79  |g the.dictionary|
00000e90  20 66 69 6c 65 20 69 74  20 6c 6f 6f 6b 73 20 66  | file it looks f|
00000ea0  6f 72 20 61 20 66 69 6c  65 20 63 61 6c 6c 65 64  |or a file called|
00000eb0  20 43 2e 4e 45 57 4f 52  44 53 2e 20 49 66 20 74  | C.NEWORDS. If t|
00000ec0  68 69 73 20 66 69 6c 65  20 69 73 20 6e 6f 74 0d  |his file is not.|
00000ed0  66 6f 75 6e 64 20 74 68  65 6e 20 57 61 74 63 68  |found then Watch|
00000ee0  65 72 20 63 72 65 61 74  65 73 20 69 74 2e 20 49  |er creates it. I|
00000ef0  66 20 57 61 74 63 68 65  72 20 64 6f 65 73 20 66  |f Watcher does f|
00000f00  69 6e 64 20 74 68 65 20  66 69 6c 65 20 74 68 65  |ind the file the|
00000f10  6e 20 61 6e 79 20 77 6f  72 64 0d 74 68 61 74 20  |n any word.that |
00000f20  69 73 20 6e 6f 74 20 66  6f 75 6e 64 20 69 6e 20  |is not found in |
00000f30  74 68 65 20 64 69 63 74  69 6f 6e 61 72 79 2c 20  |the dictionary, |
00000f40  6f 72 20 69 6e 20 52 41  4d 20 69 73 20 63 6f 6d  |or in RAM is com|
00000f50  70 61 72 65 64 20 74 6f  20 77 6f 72 64 73 20 69  |pared to words i|
00000f60  6e 20 74 68 65 0d 6e 65  77 20 77 6f 72 64 73 20  |n the.new words |
00000f70  66 69 6c 65 2e 20 54 68  69 73 20 66 69 6c 65 20  |file. This file |
00000f80  69 73 20 6a 75 73 74 20  61 20 6c 69 73 74 20 6f  |is just a list o|
00000f90  66 20 77 6f 72 64 73 20  74 68 61 74 20 68 61 76  |f words that hav|
00000fa0  65 20 62 65 65 6e 20 64  75 6d 70 65 64 20 74 6f  |e been dumped to|
00000fb0  0d 64 69 73 63 20 66 72  6f 6d 20 52 41 4d 20 61  |.disc from RAM a|
00000fc0  66 74 65 72 20 65 61 63  68 20 63 68 65 63 6b 20  |fter each check |
00000fd0  61 6e 64 20 68 61 76 65  20 6e 6f 20 6f 72 64 65  |and have no orde|
00000fe0  72 2e 20 48 65 6e 63 65  20 69 66 20 57 61 74 63  |r. Hence if Watc|
00000ff0  68 65 72 20 6d 75 73 74  0d 73 65 61 72 63 68 20  |her must.search |
00001000  74 68 65 20 6e 65 77 20  77 6f 72 64 73 20 66 69  |the new words fi|
00001010  6c 65 20 74 68 65 20 73  65 61 72 63 68 20 69 73  |le the search is|
00001020  20 73 6c 6f 77 20 73 69  6e 63 65 20 74 68 65 20  | slow since the |
00001030  77 6f 72 64 73 20 68 61  76 65 20 6e 6f 20 6f 72  |words have no or|
00001040  64 65 72 0d 61 6e 64 20  61 20 6c 69 6e 65 61 72  |der.and a linear|
00001050  20 73 65 61 72 63 68 20  6d 75 73 74 20 62 65 20  | search must be |
00001060  75 73 65 64 2e 0d 0d 49  66 20 61 6e 79 20 77 6f  |used...If any wo|
00001070  72 64 20 66 72 6f 6d 20  74 68 65 20 74 65 78 74  |rd from the text|
00001080  20 69 73 20 6e 6f 74 20  66 6f 75 6e 64 20 69 6e  | is not found in|
00001090  20 74 68 65 20 64 69 63  74 69 6f 6e 61 72 79 2c  | the dictionary,|
000010a0  20 69 6e 20 52 41 4d 20  6f 72 20 74 68 65 0d 6e  | in RAM or the.n|
000010b0  65 77 20 77 6f 72 64 73  20 66 69 6c 65 20 69 74  |ew words file it|
000010c0  20 69 73 20 6f 66 66 65  72 65 64 20 6f 6e 20 73  | is offered on s|
000010d0  63 72 65 65 6e 20 66 6f  72 20 68 75 6d 61 6e 20  |creen for human |
000010e0  63 68 65 63 6b 69 6e 67  2e 20 44 65 70 65 6e 64  |checking. Depend|
000010f0  69 6e 67 20 6f 6e 0d 68  6f 77 20 74 68 65 20 73  |ing on.how the s|
00001100  63 72 65 65 6e 20 6f 70  74 69 6f 6e 73 20 68 61  |creen options ha|
00001110  76 65 20 62 65 65 6e 20  73 65 74 20 74 68 65 20  |ve been set the |
00001120  77 6f 72 64 20 6d 61 79  20 6a 75 73 74 20 62 65  |word may just be|
00001130  20 69 67 6e 6f 72 65 64  20 28 69 2e 65 2e 0d 69  | ignored (i.e..i|
00001140  66 20 74 68 65 20 4e 6f  20 54 65 73 74 20 6f 70  |f the No Test op|
00001150  74 69 6f 6e 20 68 61 73  20 62 65 65 6e 20 63 68  |tion has been ch|
00001160  6f 73 65 6e 29 2e 20 49  66 20 79 6f 75 20 74 65  |osen). If you te|
00001170  6c 6c 20 57 61 74 63 68  65 72 20 74 68 61 74 20  |ll Watcher that |
00001180  61 20 77 6f 72 64 0d 69  73 20 63 6f 72 72 65 63  |a word.is correc|
00001190  74 20 74 68 65 6e 20 69  74 20 77 69 6c 6c 20 65  |t then it will e|
000011a0  78 61 6d 69 6e 65 20 61  20 66 6c 61 67 20 74 6f  |xamine a flag to|
000011b0  20 73 65 65 20 77 68 61  74 20 73 68 6f 75 6c 64  | see what should|
000011c0  20 62 65 20 64 6f 6e 65  20 77 69 74 68 20 74 68  | be done with th|
000011d0  65 0d 77 6f 72 64 20 69  2e 65 2e 20 73 61 76 65  |e.word i.e. save|
000011e0  2c 20 69 67 6e 6f 72 65  20 6f 72 20 63 6f 6e 73  |, ignore or cons|
000011f0  75 6c 74 20 74 68 65 20  75 73 65 72 20 61 67 61  |ult the user aga|
00001200  69 6e 20 61 73 20 64 65  66 69 6e 65 64 20 62 79  |in as defined by|
00001210  20 70 72 65 73 73 69 6e  67 0d 66 30 2c 20 66 31  | pressing.f0, f1|
00001220  20 61 6e 64 20 66 32 2e  20 49 66 20 79 6f 75 20  | and f2. If you |
00001230  64 65 63 69 64 65 20 74  6f 20 73 61 76 65 20 74  |decide to save t|
00001240  68 65 20 77 6f 72 64 20  65 69 74 68 65 72 20 74  |he word either t|
00001250  68 72 6f 75 67 68 20 73  65 6c 65 63 74 69 6e 67  |hrough selecting|
00001260  20 74 68 65 0d 66 31 20  22 41 6c 6c 20 53 61 76  | the.f1 "All Sav|
00001270  65 22 20 6f 70 74 69 6f  6e 20 6f 72 20 74 68 65  |e" option or the|
00001280  20 66 30 20 22 53 65 6c  65 63 74 69 76 65 20 53  | f0 "Selective S|
00001290  61 76 65 22 20 61 6e 64  20 74 68 65 6e 20 70 72  |ave" and then pr|
000012a0  65 73 73 69 6e 67 20 53  20 74 68 65 0d 77 6f 72  |essing S the.wor|
000012b0  64 20 77 69 6c 6c 20 62  65 20 73 74 6f 72 65 64  |d will be stored|
000012c0  20 69 6e 20 52 41 4d 20  75 6e 74 69 6c 20 61 6c  | in RAM until al|
000012d0  6c 20 74 68 65 20 74 65  78 74 20 68 61 73 20 62  |l the text has b|
000012e0  65 65 6e 20 63 68 65 63  6b 65 64 2e 20 41 74 20  |een checked. At |
000012f0  74 68 65 20 65 6e 64 0d  61 6c 6c 20 74 68 65 20  |the end.all the |
00001300  52 41 4d 20 77 6f 72 64  73 20 61 72 65 20 73 61  |RAM words are sa|
00001310  76 65 64 20 74 6f 20 74  68 65 20 6e 65 77 20 77  |ved to the new w|
00001320  6f 72 64 73 20 66 69 6c  65 2e 20 57 68 69 6c 65  |ords file. While|
00001330  20 74 68 65 20 77 6f 72  64 20 69 73 20 69 6e 0d  | the word is in.|
00001340  52 41 4d 20 69 74 20 6d  61 79 2c 20 6f 66 20 63  |RAM it may, of c|
00001350  61 75 73 65 2c 20 62 65  20 75 73 65 64 20 74 6f  |ause, be used to|
00001360  20 76 65 72 69 66 79 20  61 6e 6f 74 68 65 72 20  | verify another |
00001370  77 6f 72 64 2e 20 0d 0d  49 74 20 69 73 20 69 6d  |word. ..It is im|
00001380  70 6f 72 74 61 6e 74 2c  20 66 6f 72 20 6d 61 78  |portant, for max|
00001390  69 6d 75 6d 20 73 70 65  65 64 2c 20 20 74 68 61  |imum speed,  tha|
000013a0  74 20 6f 6e 63 65 20 61  20 6e 65 77 20 77 6f 72  |t once a new wor|
000013b0  64 20 66 69 6c 65 20 63  6f 6e 74 61 69 6e 73 0d  |d file contains.|
000013c0  77 6f 72 64 73 20 74 68  61 74 20 69 74 20 69 73  |words that it is|
000013d0  20 6d 65 72 67 65 64 20  77 69 74 68 20 74 68 65  | merged with the|
000013e0  20 6d 61 69 6e 20 64 69  63 74 69 6f 6e 61 72 79  | main dictionary|
000013f0  2e 20 49 20 68 61 76 65  20 6c 65 66 74 20 74 68  |. I have left th|
00001400  65 20 6f 70 74 69 6f 6e  0d 6e 6f 74 20 74 6f 20  |e option.not to |
00001410  6d 65 72 67 65 20 74 68  65 20 6e 65 77 20 77 6f  |merge the new wo|
00001420  72 64 73 20 66 69 6c 65  20 77 69 74 68 20 74 68  |rds file with th|
00001430  65 20 6d 61 69 6e 20 64  69 63 74 69 6f 6e 61 72  |e main dictionar|
00001440  79 20 62 75 74 20 77 6f  75 6c 64 20 61 6c 77 61  |y but would alwa|
00001450  79 73 0d 61 64 76 69 73  65 20 74 68 61 74 20 69  |ys.advise that i|
00001460  74 20 69 73 20 6d 65 72  67 65 64 20 61 73 20 73  |t is merged as s|
00001470  6f 6f 6e 20 61 73 20 70  6f 73 73 69 62 6c 65 2e  |oon as possible.|
00001480  20 41 20 6e 65 77 20 77  6f 72 64 20 66 69 6c 65  | A new word file|
00001490  20 63 6f 6e 74 61 69 6e  69 6e 67 0d 65 76 65 6e  | containing.even|
000014a0  20 61 20 6d 6f 64 65 73  74 20 61 6d 6f 75 6e 74  | a modest amount|
000014b0  20 6f 66 20 77 6f 72 64  73 20 6d 61 79 20 64 6f  | of words may do|
000014c0  75 62 6c 65 20 74 68 65  20 73 65 61 72 63 68 20  |uble the search |
000014d0  74 69 6d 65 20 66 6f 72  20 65 61 63 68 20 77 6f  |time for each wo|
000014e0  72 64 2e 20 0d 0d 0d 09  09 09 09 43 6f 6e 73 74  |rd. .......Const|
000014f0  72 61 69 6e 74 73 0d 0d  4e 6f 20 77 6f 72 64 20  |raints..No word |
00001500  6d 61 79 20 62 65 20 6c  6f 6e 67 65 72 20 74 68  |may be longer th|
00001510  61 6e 20 32 36 20 63 68  61 72 61 63 74 65 72 73  |an 26 characters|
00001520  2e 20 0d 0d 49 20 64 6f  6e 27 74 20 6b 6e 6f 77  |. ..I don't know|
00001530  20 69 66 20 57 61 74 63  68 65 72 1a 20 77 69 6c  | if Watcher. wil|
00001540  6c 20 6f 70 65 72 61 74  65 20 6f 6e 20 61 20 73  |l operate on a s|
00001550  65 63 6f 6e 64 20 70 72  6f 63 65 73 73 6f 72 20  |econd processor |
00001560  73 79 73 74 65 6d 2e 20  49 0d 77 6f 75 6c 64 20  |system. I.would |
00001570  65 78 70 65 63 74 20 69  74 20 74 6f 20 77 6f 72  |expect it to wor|
00001580  6b 20 74 68 6f 75 67 68  2e 0d 0d 57 61 74 63 68  |k though...Watch|
00001590  65 72 1a 20 77 69 6c 6c  1a 20 6f 70 65 72 61 74  |er. will. operat|
000015a0  65 1a 20 6f 6e 1a 20 4d  61 73 74 65 72 1a 1a 20  |e. on. Master.. |
000015b0  6d 61 63 68 69 6e 65 73  1a 1a 20 62 75 74 1a 20  |machines.. but. |
000015c0  63 61 6e 1a 20 62 65 1a  20 73 6c 69 67 68 74 6c  |can. be. slightl|
000015d0  79 0d 74 65 6d 70 65 72  61 6d 65 6e 74 61 6c 20  |y.temperamental |
000015e0  61 74 20 74 69 6d 65 73  2e 20 49 20 68 61 76 65  |at times. I have|
000015f0  1a 20 75 73 65 64 1a 20  57 61 74 63 68 65 72 20  |. used. Watcher |
00001600  6f 6e 20 61 20 4d 61 73  74 65 72 20 31 32 38 20  |on a Master 128 |
00001610  77 69 74 68 20 66 6c 6f  70 70 79 0d 64 69 73 63  |with floppy.disc|
00001620  20 61 6e 64 20 6f 6e 20  4d 61 73 74 65 72 20 31  | and on Master 1|
00001630  32 38 20 77 69 74 68 20  61 6e 1a 20 45 63 6f 6e  |28 with an. Econ|
00001640  65 74 20 69 6e 74 65 72  66 61 63 65 20 63 6f 6e  |et interface con|
00001650  6e 65 63 74 20 74 6f 20  61 20 34 30 4d 62 20 56  |nect to a 40Mb V|
00001660  69 67 6c 65 6e 0d 68 61  72 64 20 64 69 73 63 20  |iglen.hard disc |
00001670  20 6f 70 65 72 61 74 69  6e 67 20 6f 66 66 20 61  | operating off a|
00001680  20 53 4a 20 46 69 6c 65  73 65 76 65 72 20 77 68  | SJ Filesever wh|
00001690  65 72 65 20 74 68 65 20  65 78 74 72 61 20 73 70  |ere the extra sp|
000016a0  65 65 64 20 77 61 73 20  63 6c 65 61 72 6c 79 0d  |eed was clearly.|
000016b0  76 69 73 69 62 6c 65 2e  0d 0d 49 20 68 61 76 65  |visible...I have|
000016c0  20 6e 6f 74 20 68 61 64  20 61 20 63 68 61 6e 63  | not had a chanc|
000016d0  65 20 74 6f 20 74 65 73  74 20 57 61 74 63 68 65  |e to test Watche|
000016e0  72 20 6f 6e 20 61 20 42  2b 20 62 75 74 20 73 65  |r on a B+ but se|
000016f0  65 20 6e 6f 20 72 65 61  73 6f 6e 20 61 74 20 61  |e no reason at a|
00001700  6c 6c 0d 77 68 79 20 69  73 20 73 68 6f 75 6c 64  |ll.why is should|
00001710  20 6e 6f 74 20 72 75 6e  20 61 73 20 6e 6f 72 6d  | not run as norm|
00001720  61 6c 2e 0d 0d 57 61 74  63 68 65 72 20 77 69 6c  |al...Watcher wil|
00001730  6c 20 72 75 6e 20 61 20  73 69 6c 69 63 6f 6e 20  |l run a silicon |
00001740  64 69 73 63 2e 20 49 20  68 61 76 65 20 75 73 65  |disc. I have use|
00001750  64 20 69 74 20 6f 6e 20  61 20 33 32 4b 20 57 61  |d it on a 32K Wa|
00001760  74 66 6f 72 64 20 73 69  6c 69 63 6f 6e 0d 64 69  |tford silicon.di|
00001770  73 63 2c 20 68 6f 77 65  76 65 72 20 73 6f 6d 65  |sc, however some|
00001780  74 69 6d 65 73 20 69 74  20 69 73 20 6e 65 63 65  |times it is nece|
00001790  73 73 61 72 79 20 74 6f  20 74 72 69 63 6b 20 57  |ssary to trick W|
000017a0  61 74 63 68 65 72 20 69  6e 74 6f 20 72 75 6e 6e  |atcher into runn|
000017b0  69 6e 67 0d 77 68 65 72  65 20 74 68 65 20 52 41  |ing.where the RA|
000017c0  4d 20 64 69 73 63 20 69  73 20 6e 6f 74 20 62 69  |M disc is not bi|
000017d0  67 20 65 6e 6f 75 67 68  20 74 6f 20 68 6f 6c 64  |g enough to hold|
000017e0  20 61 6c 6c 20 74 68 65  20 6e 65 63 65 73 73 61  | all the necessa|
000017f0  72 79 20 66 69 6c 65 2e  20 4d 79 0d 6d 65 74 68  |ry file. My.meth|
00001800  6f 64 20 69 73 20 74 6f  20 6f 6e 6c 79 20 6c 6f  |od is to only lo|
00001810  61 64 20 74 68 65 20 64  69 63 74 69 6f 6e 61 72  |ad the dictionar|
00001820  79 20 61 6e 64 20 74 65  78 74 20 66 69 6c 65 20  |y and text file |
00001830  6f 6e 74 6f 20 74 68 65  20 73 69 6c 69 63 6f 6e  |onto the silicon|
00001840  20 64 69 73 63 2e 0d 54  68 65 6e 20 2a 4c 4f 41  | disc..Then *LOA|
00001850  44 20 57 61 74 63 68 65  72 20 66 72 6f 6d 20 66  |D Watcher from f|
00001860  6c 6f 70 70 79 20 64 69  73 63 2c 20 73 77 69 74  |loppy disc, swit|
00001870  63 68 20 62 61 63 6b 20  74 6f 20 73 69 6c 69 63  |ch back to silic|
00001880  6f 6e 20 64 69 73 63 20  61 6e 64 20 72 75 6e 0d  |on disc and run.|
00001890  57 61 74 63 68 65 72 20  75 73 69 6e 67 20 43 41  |Watcher using CA|
000018a0  4c 4c 20 26 32 35 30 42  2e 20 55 73 69 6e 67 20  |LL &250B. Using |
000018b0  61 20 73 69 6c 69 63 6f  6e 20 64 69 73 63 20 69  |a silicon disc i|
000018c0  74 20 69 73 20 66 65 61  73 69 62 6c 65 20 74 6f  |t is feasible to|
000018d0  20 75 73 65 0d 62 69 67  67 65 72 20 74 68 61 6e  | use.bigger than|
000018e0  20 6e 6f 72 6d 61 6c 20  6e 65 77 20 77 6f 72 64  | normal new word|
000018f0  20 66 69 6c 65 73 20 62  65 63 61 75 73 65 20 6f  | files because o|
00001900  66 20 74 68 65 20 73 70  65 65 64 20 6f 66 20 61  |f the speed of a|
00001910  63 63 65 73 73 2e 20 0d                           |ccess. .|
00001918
Speller/Technic.m0
Speller/Technic.m1
Speller/Technic.m2
Speller/Technic.m4
Speller/Technic.m5