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