Contents ---------------------------------------- Introduction How to use this manual Lesson 1 Installing Hal 1.1 Floppy disks 1.2 Making Hal talk 1.2.1 Hard disk computer 1.2.2 Portable Toshiba T1000 1.2.3 Other computers 1.2.4 No hardware Lesson 2 Starting to read the screen 2.1 A note about Hal 2.2 Error messages 2.3 Starting screen reading 2.4 Questions and answers Lesson 3 More screen reading 3.1 Reading lines, words and characters 3.2 Introducing colours 3.3 Questions and answers Lesson 4 Finding and marking 4.1 Finding a character 4.2 String search 4.3 Marking the screen 4.4 Questions and answers Lesson 5 Live mode 5.1 Alt commands which work in live mode 5.2 Turning speech off and reading a window 5.3 The cursor keys 5.4 Questions and answers Lesson 6 Adjustments to Hal 6.1 Adjusting the speech 6.1.1 The Mimic speech synthesizer 6.1.2 The Apollo speech synthesizer 6.2 The parameter menu 6.2.1 Getting a feel for the parameters 6.2.2 Changing the parameter options 6.3 Questions and answers Lesson 7 Further adjustments to Hal 7.1 Keyboard echo 7.2 Changing more than one parameter 7.3 Eight more parameters 7.3.1 Screen punctuation 7.3.2 Key echo punctuation 7.3.3 Space and return 7.3.4 Blank lines 7.3.5 Compress punctuation 7.3.6 Announce Alt and Control keys 7.3.7 Speaking numbers 7.3.8 Exceptions 7.4 Teaching Hal 7.4.1 Teaching keys 7.4.2 Teaching screen characters 7.5 Questions and answers Lesson 8 More parameters and notepad and calculator 8.1 Muting 8.2 Sound parameters 8.3 Attributes 8.4 Compressing spaces 8.5 Cursor, carriage return and tab actions 8.5.1 The cursor keys 8.5.2 Cursor, carriage return and tab keys - common options 8.5.3 Timer wait and extra key checks 8.6 Hal's Notepad 8.7 Hal's Calculator Lesson 9 Simple windows 9.1 Defining the window 9.2 Entering the window 9.3 Questions and answers Lesson 10 Find and Output Windows 10.1 The find window 10.2 The output window 10.3 Questions and answers Lesson 11 Highlighted text 11.1 Setting the highlight option 11.2 The highlight window 11.3 Accessing highlighted text with the tab, return and cursor keys 11.4 Questions and answers Lesson 12 Monitor Markers 12.1 What can monitor markers do? 12.2 Setting up a monitor marker 12.2.1 Stage 1 - defining the change 12.2.2 Stage 2 - defining the appointed character 12.2.3 Stage 3 - defining the action 12.3 Monitor marker activation 12.4 Questions and answers Lesson 13 Miscellaneous commands 13.1 Hal commands and application programs 13.2 Status report 13.3 Saving or loading the Hal prompts and environments 13.3.1 The prompt file 13.3.2 The environment file 13.3 The static cursor 13.4 The soft cursor Lesson 14 Creating useful environments 14.1 The word processor 14.2 The spreadsheet 14.3 The database 14.4 Communications software 14.5 Keyboard macro programs 14.6 Questions and answers Lesson 15 Special features for the advanced user 15.1 Command line entries 15.2 The default.hal file 15.3 Finding ascii numbers 15.4 Conclusion Lesson 16 Creating Exception Dictionaries 16.1 Exceptions 16.2 Exceptions Dictionary 16.3 DEDIT 16.4 PREDIT Appendix One Other sources of information Appendix Two Hal command summary 2.1 Commands available in live mode 2.2 Commands available in reading mode 2.2.1 Screen reading commands 2.2.2 Other commands Appendix Three Speaking Numbers Appendix Four Using environments created on earlier versions of Hal Index Lesson 1 Installing Hal ---------------------------------------- This lesson has been written to teach you about floppy disks and how to handle them. It will also get your computer talking. As soon as you have finished this lesson it is advisable to move straight on to Lesson 2. 1.1 Floppy disks When you receive Hal your package will contain at least one floppy disk. It is important at the outset to understand how to handle these disks. Just to complicate matters there are two sizes of floppy disk - rather like having different sizes of gramophone records. The two sizes are 5.25 inch and 3.5 inch diameter. Please read the section below which is relevant to your machine. The 5.25 inch disk: A 5.25 inch disk is supplied in a paper cover. Remove the disk gently, but DO NOT touch the exposed surfaces as this will probably ruin it. On the edge of the plastic case of the disk is a small notch. This notch goes on the left as you put the disk into the drive. The 3.5 inch diameter disk: This disk is a flat plastic case, with the disk itself inside. In the centre of one side of the case is a hub, the other side is plain. The side with the hub goes down. On one edge of the case is a spring loaded metal cover. This edge goes into the drive first. Another feature that will help you get the disk the right way round is the cut off corner. If the disk is facing the right way round, the cut off corner will go into the drive first, on the right hand side, as you face the slot. Regardless of your disk size you should always handle disks carefully. There are a number of rules to follow. Never leave your disks in direct sunlight. Never put your disks near a magnetic field, close to an electric motor, loudspeaker or television set. Never slide the metal protector to expose the magnetic surface of a 3.5 inch disk. Never put a 5.25 inch disk down without its paper cover and handle it only by the top edge. Always handle your disks gently, and keep them in a safe box, preferably a special disk box. Always keep a back up copy of all your programs and work files on a separate disk. Keep your backup disks in a safe place, and only use them if your working copy becomes corrupted. You can learn how to make copies of your disks from your DOS manual. It is particularly important to make a backup of your Hal disk; keep the original safely because it will be needed if you wish to update the disk at any time. ---------------------------------------- 1.2 Making Hal talk Hal sends relevant data from the computer to your speech synthesizer. If your computer does not have a built in speech synthesizer then you will have to connect one. The standard method is to connect one end of the cable supplied to the serial port outlet on the computer and connect the other end to the synthesizer. If it is really necessary, Hal can make the synthesizer talk by means of the parallel port, but as this is normally used by the printer it is better to use one of the serial ports. Hal is supplied in a number of ways depending on the type of computer delivered with it. The alternatives are listed below with the appropriate instructions for getting started. If, however, you already possess a computer and are only buying the Hal software from dolphin systems, please refer to option 1.2.4 below. 1.2.1 Hard disk computer. If you have purchased a hard disk machine from dolphin there is no need for you to install Hal yourself - it will have been set up for you together with the operating system. Simply connect the speech synthesizer to the serial port and turn on both the synthesizer and computer. After a short while Hal will confirm in speech that it is loaded. Important - before turning on the computer ensure that there is no disk in the floppy disk drive. Now move on to Lesson 2. 1.2.2 Portable Toshiba T1000. This computer has the option of a battery backed "ram disk". If your machine has this facility we will install Hal on the ram disk for you. All you do is turn on the machine and tap the space bar - shortly afterwards Hal will announce in speech that it is installed. Important - ensure that there is no disk in Drive A before turning on the computer. Now move on to lesson 2. 1.2.3 Other computers. Machines with floppy disk drives, such as the Schneider, are supplied with three parcels of software as follows: - MS DOS - this is the disk operating system. - Hal - a disk containing the Hal software. - Hal system disk - this is all you need to get your computer talking. Simply connect the speech synthesizer to the serial port of the computer, insert the Hal system disk in Drive A and close the drive door. Now turn on the synthesizer and the computer. In a short while you will hear the disk drive come into operation and soon afterwards the speech synthesizer will announce "Hal installed". Now move on to Lesson 2. 1.2.4 No hardware. If you already have a computer or are using another supplier you will only need the Hal disk and a suitable synthesizer. To install Hal carry out the following steps. - Connect the speech synthesizer to the serial port of the computer. Turn on the synthesizer and then the computer. - If you have a single or twin drive machine insert the Hal disk into Drive A and close the drive door. At the A> prompt type the three letters "Hal" and hit the enter or carriage return key. You will hear the drive in action as it loads Hal into memory. Hal will announce that it is loaded through the speech synthesizer and speaks the A prompt. Of course if you have a computer with a hard disk you can copy the contents of the Hal disk over to the hard disk and include the "Hal" command in the autoexec.bat file. Please see your MS DOS manual for details of this procedure. Please note that if you are using an Amstrad computer or other non standard PC clone the program "Hala" should be loaded and not "Hal". Now move on to lesson 2. ---------------------------------------- Lesson 2 Starting to Read the Screen ---------------------------------------- In this lesson you will need your computer with Hal installed and the Hal disk in Drive A. Make sure that the disk is in correctly and that the drive door is shut. As we will be using Drive A, we will need the screen prompt to be A>. If the prompt is anything else do the following. Type the letter A followed by a colon and then tap the enter or carriage return key. The computer should respond by speaking the letter A. If it does not then try again. It should be explained that the terms "enter", "return" and "carriage return" all mean the same thing - it is just that different manufacturers label the key differently. You have now configured Drive A as your default drive - this means that if the computer needs to access a disk it will use the one in Drive A. If you have more than one disk drive in your system you can change the default drive by simply entering the desired drive letter followed by a colon and then tapping the carriage return key. However in this manual we will always be using the Hal disk in Drive A. 2.1 A note about Hal Hal is the program that looks after the speech synthesizer. It will be working away all the time that the computer is switched on and will send data out to the synthesizer to be spoken. Hal is a sophisticated program, and later on you will learn about the many ways that Hal can be set up to tell you just what you want to know, and no more. However, to start with, Hal will read out to you every letter, number or punctuation mark that you type in. So far we have installed Hal and have learned about floppy disks and their care. As you know, Hal enables you to read any text on the screen. We could of course read the screen straight away but it would be better if we filled it with something more interesting. We have included on your main Hal disk a file called Lesson. If you have the Hal disk in Drive A and type in these six letters you will hear Hal echoing them as you depress each key. Now hit the carriage return key and you will hear the disk drive working as it loads the file called Lesson. In this tutor this is the way we write "enter the six letters "lesson" and hit the carriage return key": lesson (return) We think that you will agree that this is going to be a great time saver! If you have done this correctly you should now hear all sorts of words being spoken starting with "Welcome to Lesson 1". However the chances are that you will have made a mistake of some sort and the computer will have spoken something else! This is a good time to introduce you to error messages. The computer prints these on the screen when it cannot carry out your instructions. Below you will find the three most likely error messages that you will hear. Do not worry about error messages, they are a fact of life with computers and even experts get their fair share from time to time. Read through the list below even if you have the "Welcome" message on the screen. ---------------------------------------- 2.2 Error messages - Not ready error reading Drive A. This is followed by the three options "abort, retry, ignore?". This error message can be cancelled by hitting the letter A key (for abort). This instructs the computer to stop its search for the file called "lesson". You will now be returned to the A> prompt. There are a number of possibilities which could have caused this error message. The most probable reasons are either that there is no disk in drive A, or that the drive door was not properly closed, or that the disk is not in the drive correctly. Check on these possibilities and try again. - Bad command or file name. This is a slightly more friendly error message because it returns you to the A prompt. It simply means that the computer cannot find a file of the name that you typed. The problem is that you are either using the wrong disk or that you typed in the word Lesson incorrectly. Check on the disk and try typing in the name again. - General failure error reading Drive A. This is another error message which gives you the options "abort, retry, ignore?". Select the abort option with the letter A key. You will now be returned to the A> prompt. The probable reason for this error message is that you have put a blank unformatted disk into the drive. Hopefully you have now heard the speech synthesizer speak the "Welcome to lesson 1" message. This message is on the screen and we shall examine it in detail using the Hal software. By the way, software is just another name for a computer program. There are other interchangeable words such as tap and hit - both mean that a key should be depressed. ---------------------------------------- 2.3 Starting screen reading Depress the key called Alt and whilst it is depressed tap the letter J key. The computer will say "reading". You are no longer in "live" mode but in the reading mode. This means that the keys on the keyboard all have different meanings. Let's try a few. The letter T key now means go to the top left hand corner of the screen and the letter L key stands for "read a line". So try pressing first the letter T and then the L key. Hal will then make the speech synthesizer read the top line of the screen which is the "Welcome" message. Try it again. Now to read some more lines of text. Use the T and L keys again but this time press L over and over again and it will read the lines as it proceeds down the screen. Note: if you should accidentally press the letter P key whilst in reading mode you will find you have entered the parameter menu which will be explained later in the manual. In the meantime, to get out of the parameter menu and back into reading mode press the Escape key. Now, to get out of reading mode, simply hit the carriage return key and the computer will say "exit" and you are back in live mode again. One important tip that you might find useful at this stage is the command to mute the synthesizer. Simply hold down the Alt key and whilst it is depressed tap the letter M. The synthesizer will immediately stop what it is saying. That is all for this lesson. Now try answering the questions below before moving on to lesson 3. ---------------------------------------- 2.4 Questions and answers Questions: 2.4.1 What are the two sizes of disk? 2.4.2 What does this mean - lesson (return) 2.4.3 What error message do you get if you spell a file name incorrectly? 2.4.4 What error message do you get if the file that you wish to use is not on the disk? 2.4.5 How do you get into reading mode? 2.4.6 How do you get back into live mode? Answers: 2.4.1 There are two sizes of disk, the 5.25 inch diameter disk and the 3.5 inch diameter. 2.4.2 In this tutorial the brackets around the word "return" mean "press the return key". Therefore the word "lesson" followed by the word "return" within brackets means type in the word "lesson" and then press the return key. 2.4.3 You get the "Bad command or file name" error message. The computer then returns you to the A> prompt to try again. 2.4.4 As above, you get the "Bad command or file name" error message. This is because the computer cannot find that file on the disk in Drive A. 2.4.5 To get into reading mode depress the Alt key, then tap the J key. 2.4.6 To get out of reading mode back into live mode again simply tap the carriage return key. ---------------------------------------- Lesson 3 More Screen Reading ---------------------------------------- In this lesson you will need your computer with Hal installed, the Hal disk in Drive A, and the A> prompt on the screen. Now enter the word "lesson" and hit the carriage return key. Remember this is written thus: lesson (return) 3.1 Reading lines, words and characters Enter reading mode as before (depress the Alt key and tap the J key). Now use the T key to place the reading cursor in the top left hand corner of the screen. The cursor is a small marker which shows sighted users where they are on the screen. The shape of the cursor is not important - they come in all shapes, sizes and even colours. The important concept is that it marks our position on the screen. The top left hand corner of the screen is the "home" position of the cursor from which everything else is measured. So now the cursor is in column one and row one. You can check this if you like by pressing the X and Y keys, both should say "one". As you move the cursor along the line the value of X will increase, and as you move down the screen the value of Y will increase. Now let's read the top line "Welcome to lesson 1" but just one word at a time. Press the letter R key for "read a word". Repeat this and you will be able to read the whole screen just one word at a time. As you do this hit the X and Y keys from time to time so as to monitor your position on the screen. Suppose that you read a word that you cannot quite understand because the speech synthesizer has not got it quite right? Simply go back to the start of the word using the Q key and step through the word one character at a time with the C key. If you still cannot understand you can make the computer spell out the word phonetically, that is using the alpha, bravo, charlie system. Try this now by reading a word with the R key then use Q to go back to the start of the word. Now press down the Alt key and tap the letter I key. The first letter of the word will be spoken. Now keep the Alt key depressed and tap the letter I key a second time. The computer will give you the phonetic equivalent of the letter. Now move along one character using the "c" key and repeat the sequence. There are a few other relevant key meanings that you can experiment with and we finish this first part of the lesson with a list of these commands. Again we have used a form of shorthand to say keep the "Alt" key depressed and tap the letter I key. This is simply written Alt I Similarly if the command uses the control key, instead of writing "depress the control key and whilst it is depressed tap the letter A key", we simply write Ctrl A Again we hope that this form of shorthand makes reading the tutor easier. Here is the list: l - read a line at a time r - read a word at a time c - read a character at a time s - moves the reading cursor to the start of the line e - moves the reading cursor to the end of the line u - moves the reading cursor up one line d - moves the reading cursor down one line t - moves the reading cursor to the top of the screen b - moves the reading cursor to the bottom of the screen h - moves the reading cursor to its live mode position, i.e. where it was when you entered reading mode x - reads the cursor position as a column number y - reads the cursor position as a row number full stop - moves the cursor one character but without speaking it comma - moves the cursor back one character but without speaking it Alt o - pressed once reads the word that the cursor is on, pressed a second time will spell that word Alt l - reads the line that the cursor is on Alt k - reads the line that the cursor is on up to the cursor position Alt t - reads current time Alt d - reads current date Alt i - pressed once reads the character that the cursor is on, pressed a second time will read that character phonetically Alt g - reads row and column position (like X and Y) return - exits reading mode and returns the cursor to its original position Ctrl m - an identical alternative to return above j - exits reading mode and leaves the cursor in its current position. This jump exit facility is not available in DOS. The shifted point on the numeric keypad offers a sentence reading facility which enables you to read a whole screen of text a sentence at a time whenever shifted point is depressed. For more information on special numeric keypad commands see section 5.3 in this manual. Finally it is worth mentioning Ctrl n. This command, within reading mode, causes Hal to tell you its version number. Another method of examining the contents of the screen in reading mode is to use the cursor keys. They have the following effect: cursor up - takes the cursor up one line and reads that line cursor down - takes the cursor down one line and reads that line cursor right - takes the cursor right one character and reads it cursor left - takes the cursor left one character and reads it ctrl cursor left - takes the cursor left one word and reads it ctrl cursor right - takes the cursor right one word and reads it home - takes the cursor to the start of the current line end - takes the cursor to the end of the current line page up - takes the cursor to the start of the top line page down - takes the cursor to the start of the bottom line ---------------------------------------- 3.2 Introducing colours So far we have been reading text on the screen regardless of its colour. If you have one of the many forms of colour card in your computer, Hal will allow you to find out the colour of certain text so that you can manipulate it for your own requirements. Perhaps it should be mentioned at this point that it is not necessary for you to have a colour monitor at all - it is the colour card within the computer that Hal is concerned with. To find the colour of screen text, enter reading mode and place the cursor on a letter in the word. Now press the letter A key. The computer will speak the attributes of the character - there are three in all. The first is the ASCII value which we will deal with much later on, the second is the background colour, and the third is the foreground colour. An example might be "ASCII 65, background black, foreground white". This means that it is a white upper case "A" on a black background. Now if you had a word processor which checked a document's spelling and changed all questionable words from white to red then you could use this facility to find out which words were questioned. The first thing to do is to determine the colours involved by using the letter A key as described above. You can try this if you wish on the "lesson" screen because it consists of a number of colours - make a note of the various background and foreground colours you come across. (In fact there is an easier way of determining colour layout by permanently setting the attributes parameter option via the parameter menu. This will be covered in lesson 8.3) Now that you have ascertained the foreground and background colours involved we can proceed. For example, if you want to restrict your output to red text on a black background enter Alt R, the computer says "restrict to foreground?" followed by a colour. If this colour is not red then tap the space bar to change it. Continue to tap the space bar, cycling through the colours, until red is reached. Now press carriage return. Hal will now ask you what background colour you require by posing the question "background?" followed by a colour. As before, cycle through the colour options using the space bar until you reach the desired choice - in our case "black". Select this by pressing carriage return. Now, if we read the screen one line at a time, only text in red on a black background will be spoken. For example, on the Lesson screen you will only hear one line which reads "this line is in red". This is a great time saver in certain applications. The output may be restricted in three other ways as follows: u - underlined text b - blinking or flashing text i - text in inverse video Just enter Alt R as before and then follow this by typing one of the letters U, B or I. The expression "inverse video" simply means text whose foreground colour is the normal background colour, and whose background colour is normally the foreground colour. Some word processors do this to text when, for example, it is defined as a "block". Try this with the B option and then examine the "lesson" screen a line at a time. You will only be able to read the text which says "but a blinking white line looks far more impressive". The majority of programs only use eight foreground colours and eight background colours, namely, black, blue, green, cyan, red, magenta, yellow and white. However, on occasions you may come across "bright" foreground text. If you cycle through in the usual way beyond the eight standard colours you will hear the bright colours announced. Finally, you will need to know how to remove colour restrictions so that Hal can read text of any colour once again. Simply enter Alt R and, in answer to the question "restrict to foreground?" press escape. Hal will say "ignored" and come up with the question "background?". Again press escape and once more Hal will say "ignored". Similarly make use of the escape key to ignore either foreground or background colours. For example, if you wish to read a specific foreground text colour on any background colour just press escape when asked for the background colour. Use the same procedure in reverse if you wish to read text of any colour on a specific background colour. Practise restricting colour output as this will pay dividends in saved time. ---------------------------------------- 3.3 Questions and answers Questions: 3.3.1 If you are in reading mode and press the letter T key and then the X key, what number would the computer speak? 3.3.2 In reading mode, what key would you press to read the screen text just one word at a time? 3.3.3 Fill in the missing word in this statement. "The ****** marks your place on the screen." 3.3.4 How would you restrict colour output to green text on a white background? Answers: 3.3.1 The computer would say "one" because the T key takes the cursor to the top left hand corner of the screen - the "home" position. Because everything is measured from this position it has row and column positions of one. The X key speaks the column position which is "one". 3.3.2 You would use the R key to read the screen one word at a time. 3.3.3 The missing word is "cursor". 3.3.4 To restrict output to read green text on a white background you would enter Alt R and when asked "restrict to foreground?" cycle through the colours using the space bar until green is reached. Press carriage return. Hal will then ask the question "background?". Cycle through the colours again using the space bar until white is spoken. Press carriage return to make the selection. Output is now restricted to green text on a white background. ---------------------------------------- Lesson 4 Finding and Marking ---------------------------------------- Install Hal and make the default drive A. Put the Hal disk into drive A. Then enter: lesson (return) 4.1 Finding a character It can be very boring examining a whole screen full of information to try and find just one word or character. Hal can help you in this search if you use its "find" facility. Enter reading mode and go to the top of the screen. Now let's search for punctuation marks. Hit the letter F key and the computer will say "find". Now if we were searching for full stops you could hit that key, try it - the computer says "period" and then "found". If you now see where your cursor is on the screen you will find that one depression of the letter C will read the character "period". Hal starts its search from the "home" position and looks along each row in turn, but suppose that we wanted to find another full stop? If we were to hit "f" and "period" again then Hal would return to the home position and start the search again and "find" the same full stop as before! To avoid this you can continue the search from your present position by using the "bar" key. If you are not sure where the bar key is experiment whilst in live mode depressing various keys until you hear Hal say the word "bar". On many computers it is shifted backslash. Press the F key and then press the bar key - repeat this for further occurrences of the character until there are no more full stops on the screen. If the character is not found then Hal will tell you. You may combine the search facility with colour restriction. If you wish to find a character of a particular colour, restrict output as described in the previous lesson. All other characters will be ignored. Do not forget to turn the colour restriction off afterwards! ---------------------------------------- 4.2 String search If you wish to search for more than one character you will need to implement Hal's string search facility. A string is simply the expression used for a series of characters. For example, the word camel is a string as is the telephone number 012345678. Suppose, for example, we want to find the word "this", first enter reading mode and tap the letter T to go to the top of the screen and then tap the "slash" key. Hal will echo the words "search for?". Now type in the four letters "this" and depress the carriage return key. If the word is on the screen Hal will move the cursor to the start of the word and say "found". If it is not on the screen Hal will echo "not found". Hal does not discriminate between upper or lower case letters. To find a second occurrence of the word simply depress "slash" again and immediately tap carriage return. Hal will take the cursor to the next occurrence of the word. This process may be repeated as many times as you wish. ---------------------------------------- 4.3 Marking the screen Very often an application program such as a database will always lay out information on the screen in the same way. We can take advantage of this when in reading mode by setting markers at appropriate places which we can go to immediately. (However, there is an alternative method using Hal's window facility which is described later.) Move to any point on the screen and check its position with the X and Y keys. Now hit the letter M key, the computer will say "set marker", select any letter of the alphabet, say the letter A. Now move away from that position and hit the G key. The computer will say "go to?". Now tap the A key and you will be taken to your original position immediately. Check this using the X and Y keys. You can set up to 26 markers, one for each letter of the alphabet. In fact when you first start using Hal all 26 markers are preset, A being the top line, B the second line etc. Another facility offered by Hal is that you can command it to move up and down a number of rows from your current position on the screen. Try it using the G key. If you press number keys followed by any other key your position will immediately change to that row number. Try pressing G then 19 and then the space bar. You are now in row 19, check this with the Y key. Now if you wish to go back seven lines to row 12 simply enter G then the minus sign (-) and the number 7. Tap the space bar and check your position with the Y key. If you want to go back to row 19 then hit G and then the plus sign followed by the number 7 and tap the space bar. Try this with other numbers. A similar feature is available for moving along a row. To tell Hal that you wish to move in that direction the comma is used after hitting the G key. For example, hit the G key, then the comma key, then a number and tap the space bar. Check your position using the X key. Say that you moved to column 15 and you wished to go to column 30, simply tap G then hit the comma key and then enter the plus sign followed by the number 15 and tap the space bar. Your position will immediately change to 30 - check this with the X key. Although you may not feel there is much of a need for markers, you will find that later on when we come to consider monitor markers time invested in a thorough grounding in this subject will pay dividends. ---------------------------------------- 4.4 Questions and answers Questions: 4.4.1 In reading mode what key issues the "find character" command and what key issues the "find string" command? 4.4.2 Within reading mode how would you find the fifth occurrence of the letter Q? 4.4.3 Within reading mode how would you find the second occurrence of the word apple? 4.4.4 Within reading mode how would you set a marker at a point five rows down and 23 columns along? 4.4.5 Having set the marker above, what is the fastest way to get to a point 31 columns further along the fifth line? Answers: 4.4.1 Within reading mode it is the letter F key which should be tapped to issue the "find character" command and it is the "slash" key which commences a string search, i.e. a search for more than one character. 4.4.2 To find the fifth occurrence of the letter Q hit the letter F key then tap the letter Q - this will take you to the first occurrence of the letter. To find the next occurrence, tap F again and then tap the bar key. Repeat the F and bar sequence again to find the third occurrence, and so on until the fifth occurrence is reached. 4.4.3 To find the second occurrence of the word apple tap the "slash" key and enter the word apple - remember that Hal is not particular about upper or lower case letters. Depress carriage return and the first occurrence of the word apple will be found. Tap the "slash" key again and depress carriage return. This will take the cursor to the second occurrence of the string. 4.4.4 First move to row 5 by tapping G followed by the number 5 and finally hit the space bar. Now move along the row to column 23 by depressing the G key, then a comma followed by the number 23 and finally tap the space bar. Your position is now 5 rows down and 23 columns across. Set the marker using the letter M and any letter. 4.4.5 To move a further 31 columns along row 5 from your position above simply enter G followed by a comma and then the plus sign followed by the number 31. Tap the space bar and your position will be row 5 column 54. ---------------------------------------- Lesson 5 Live Mode ---------------------------------------- So far we have spent most of our time learning some of the special key commands within reading mode; now we come out of reading mode to the normal or "live" mode where the keys do what you expect them to do. However some of the reading commands that you have learned can still be accessed by use of the Alt key. Install Hal and pop the Hal disk into Drive A. If necessary change the prompt to the A> prompt by entering a: (return) 5.1 Alt commands which work in live mode Alt r - to restrict colour output Alt i - to read a character and its phonetic representation Alt o - to read a word and its spelling Alt g - to read out your row and column number Alt j - to enter reading mode Alt l - to read your current line Alt k - to read your current line to the cursor Alt t - to read current time Alt d - to read current date Alt m - to mute the speech You should find the Alt l and Alt k commands particularly useful when using a word processor. ---------------------------------------- 5.2 Turning speech off and reading a window The list below gives you two new commands to try Alt v - toggles speech output on and off Alt p - reads a window Now for a few words of explanation: The word "toggle". This simply means that the same action turns a facility both on and off, e.g. pressing a key once enables an activity, pressing the same key a second time disables the activity. The Alt v toggles between speech on and speech off. This is useful if, say, a sighted person wants to use the computer for a few minutes. They might be aggravated by the sound of the speech - so simply enter Alt v and when they have finished and you want the speech output back again enter Alt v again. You should never turn the synthesizer off while Hal is running because the screen display is slowed down to a very great extent. Finally a new command - Alt p. When you enter this command the computer asks "read?". You then have to enter a window number. Please don't worry about this new term "window". It will be covered later. All you have to know is that window number 0 is the whole screen. So if you want to know the contents of the screen whilst in live mode simply enter Alt p followed by the number 0. Remember that you can "shut up" the output temporarily with Alt m. Of course if you want to know what yellow text there is on the screen from live mode restrict output to yellow using Alt r as previously explained, then Alt p followed by the number 0. Hal will now read all the yellow text on the screen. ---------------------------------------- 5.3 The cursor keys When in live mode Hal can make special use of the cursor keys. Ensure that the number lock key is off and use the following cursor controls in conjunction with the left shift key depressed. The numbers 1, 2 and 3 read the previous, current and next character. The numbers 4, 5 and 6 read the previous, current and next word. The numbers 7, 8 and 9 read the previous, current and next line. The number 0 is mute. A final command is the use of left shift key with the numeric key pad "point" key. This action causes Hal to read the current sentence - that is, the text between the previous full stop and the next. These special features are particularly useful when editing a document in a word processor. Don't forget the sentence reading facility that Hal offers in reading mode using the "shifted point" command. This enables you to read a whole screen of text a sentence at a time whenever "shifted point" is depressed. When the bottom of the screen is reached simply "jump exit" then "page down", re-enter reading mode and start again a sentence at a time. This can be very helpful. In live mode the numbers on the keyboard can be accessed normally simply by putting the number lock on or using the right hand shift key. ---------------------------------------- 5.4 Questions and answers Questions: 5.4.1 In live mode can you use Alt l? 5.4.2 How do you mute the speech synthesizer? 5.4.3 If you were experimenting with the Alt commands and suddenly the speech synthesizer stopped giving you any keyboard echo - what Alt command did you give? 5.4.4 If you want a quick read out of all the cyan text on the screen how would you go about it in live mode? Answers: 5.4.1 Yes, Alt l will read your current line in both live mode and reading mode. 5.4.2 To mute the speech synthesizer simply enter Alt m. If there is a lot of spoken text to be muted you may have to repeat this several times. Alternatively you can mute the synthesizer by using the number 0 on the numeric keypad with the left shift key depressed and the number lock key off. 5.4.3 You would have entered Alt v which toggles the voice off and on. 5.4.4 To read all the cyan text on the screen from live mode simply restrict foreground output to cyan using Alt r. Then enter Alt p followed by the number 0. Don't forget to remove the restriction afterwards by entering Alt r and using the escape key. ---------------------------------------- Lesson 6 Adjustments to Hal ---------------------------------------- Install Hal and prepare the computer with the default drive as Drive A. Use the Hal disk to run "lesson". 6.1 Adjusting the speech There are two methods of adjusting your speech synthesizer. The first is to adjust the "box" itself - for example turning the volume control up and down. The other way is to ask Hal to send commands to the "box". Hal can do this to two types of synthesizer made by dolphin. The two synthesizers are called the Mimic and the Apollo. If you have another synthesizer then you may be able to control it from Hal but you will have to make a few modifications to the "default.hal" file. The way to make these modifications is described later. If you have a Mimic or an Apollo read the appropriate section below. 6.1.1 The Mimic speech synthesizer Hal will adjust the speed of speech on the Mimic but please note that for best results at higher speeds the pitch control will have to be turned up manually on the box itself. Use Alt s in either reading or live mode to cycle through the speed options. Another way is to use the function keys F1 and F2 in reading mode. A good way to select your ideal speed is to use Alt p followed by the number 0 to read the whole screen; whilst you are listening to this adjust the speed to suit. Please note that many users find that using headphones allows them to understand speech at faster speeds. 6.1.2 The Apollo speech synthesizer The Alt s and function keys F1 and F2 will adjust the Apollo speech speed in the same way as the Mimic above. The Apollo is much more flexible than the Mimic - its additional refinements are controlled by ten functions within reading mode to change variables such as pitch (F3 and F4), prosody or excitability (F5 and F6), inter word pauses (F7 and F8), and pause for punctuation (F9 and F10). Please note that it is not possible to change the speed of speech whilst the Apollo is talking. Any alterations made whilst it is talking will not be effective until it has finished. Alt q toggles hyper mode on and off. The hyper mode allows you to skim read by only reading the important words. For example "The rain in Spain falls mainly on the plain" sounds like "rain Spain falls mainly plain". The Alt q command works in either screen reading or live mode. Please note that when in hyper mode the two alphabetic characters A and I do not give keyboard echo. This is because Hal thinks of them as single letter words and as a consequence ignores them. However, they will have been entered into the text and this can be checked by turning hyper mode off. ---------------------------------------- 6.2 The parameter menu Hal is an extremely flexible program and allows many changes to be made to the way that it operates. These changes are referred to as parameter adjustments and are carried out by using the parameter menu. This menu is simply a list of items which can be changed easily to suit your own needs. In this section we take an initial look at the parameter menu. To enter the parameter menu, press the letter P key when within reading mode. To leave the menu at any time simply hit the escape key - this returns you to reading mode. 6.2.1 Getting a feel for the parameters Enter reading mode with Alt j and tap the letter P to enter the parameter menu. Hal will say "parameter menu" followed by the first parameter which is keyboard echo followed by its current option. The default option is to echo every character depressed on the keyboard. You will therefore hear the information spoken thus - "parameter menu - key echo - characters". Let us now move on to examine the current option of the other parameters. This is achieved by using the tab key - each time you depress the tab key Hal speaks the parameter followed by its current option. Do not worry if these do not make sense to you - hopefully many of them will by the end of this manual! If you depress the tab key once, Hal will say "screen - auto". Press tab again and "screen punctuation - all" will be heard. Continue in this way "tabbing" through the menu. Eventually you will return to your original "key echo - characters". You may also use the up and down cursor keys to move through the parameter menu. Now that we have familiarised ourselves with the parameters within the menu we can press escape to exit from it and return to reading mode. Hal will inform you by saying "exit parameter menu". 6.2.2 Changing the parameter options In this section we will learn how to select the various options available for each parameter. The process is simple - first select the parameter using the tab key as outlined above. Secondly, cycle through the available options for that parameter using the space bar. Enter the parameter menu by going into reading mode and depressing the letter P key. Now tab through the menu until you reach the "caps - off" point. This means that when a capital or upper case letter is typed it sounds just like a lower case letter. Now tap the space bar once. Hal says "caps - on" to indicate that upper case letters will be spoken with the prefix "caps". Exit the parameter menu with the escape key and then return to live mode with carriage return. Now try typing an upper case letter and see for yourself how Hal differentiates between upper and lower case. Hal will also tell you the case difference when screen reading. To revert back to the original setting, simply re-enter the parameter menu, tab through the parameters until "caps - on" is reached and depress the space bar once. Hal will say "caps - off". Leave the parameter menu by using the escape key and return to live mode by tapping carriage return. In this section we have had an overview of the parameter menu. We know how to enter it using the letter P from reading mode. We have also tabbed through all the parameters and changed one parameter option by using the space bar to toggle between "caps - off" to "caps - on" and then back again. Essentially this is all there is to using the parameter menu. However in future lessons we will take a longer look at all the parameters and how to save any option changes. ---------------------------------------- 6.3 Questions and answers Questions: 6.3.1 If you are using a Mimic synthesizer and used Alt s to increase the speed of speech what other action would you need to take to make the spoken words sound clearer? 6.3.2 If you are using an Apollo synthesizer and suddenly find that the letters A and I are not being echoed from the keyboard what could the problem be? 6.3.3 How do you enter and exit the parameter menu? 6.3.4 How do you move from parameter to parameter when within that menu? 6.3.5 How do you change the individual options within a parameter? Answers: 6.3.1 To make the spoken words sound clearer when increasing the speed of speech on a Mimic, turn the right hand control to increase the pitch. 6.3.2 You are in hyper mode. When in hyper mode Hal will not read the letters A and I because it thinks they are words. 6.3.3 To enter the parameter menu first go into reading mode using Alt j, tap the letter P key. To leave the parameter menu at any time depress the escape key to return to reading mode. Finally, hit carriage return to get back to live mode. 6.3.4 Use the tab key to move through the individual parameters. Alternatively use the up and down cursor keys. 6.3.5 Whilst in the parameter menu you can change the options of a specific parameter by cycling through them with the space bar. When you have selected the desired option either leave the menu by using the escape key or move on to another parameter with the tab key. ---------------------------------------- Lesson 7 Further Parameter Adjustments to Hal ---------------------------------------- In this lesson we shall explain some more of the basic parameters and discuss their options. 7.1 Keyboard echo Enter screen reading and use the letter p to move into the parameter menu. The first parameter to be spoken will be "key echo" which refers to the level of keyboard echo. The default setting is for every character key to be spoken - hence the spoken message "key echo - characters". Tap the space bar to change this to "key echo - words". Hit escape to exit the menu and carriage return to exit reading mode. Now you will notice the difference when typing - instead of each individual character being echoed the whole word is spoken whenever the space bar or a punctuation mark is depressed. Many users find this type of keyboard echo preferable to having every single character spoken. Please note - when key echo is set to "words", if you hear nothing spoken or you hear the previous character being spoken as you type then the "muting" parameter option is set to "on". Change this to "off" or "cursors" and your "words" setting will work. Now return to the parameter menu and change key echo once again. The third option is "key echo - off". Some users prefer no feedback at all when they are typing, only using speech to check their work after input. If you tap the space bar again you will return to the original setting of "key echo - characters". You can cycle through the options in this way as many times as you wish. ---------------------------------------- 7.2 Changing more than one parameter So far we have only made one change at a time to the parameter options - changing the speaking of "caps" in the previous lesson and changing the keyboard echo earlier in this lesson. Suppose that we want to change two or more parameters? Start by entering the parameter menu and changing the keyboard echo option using the space bar. When the desired option is reached simply press the tab key - the keyboard echo will remain at your selected setting and you will move on to the next parameter. Hal will now say "screen - auto". Try changing this by using the space bar to take it through all the options thus "auto", "off" and "on". As we have landed on this parameter we had better explain its function! Under almost every circumstance Hal works out for itself the best way to speak screen text - this is the auto option. Just occasionally there is a problem with Hal speaking everything twice or saying too much; if this happens try the "screen - off" option. Similarly the "screen - on" option can be of value on rare occasions. As mentioned above, the "screen - auto" option is usually the best, so cycle through these options again until you return to "auto". Now we could either press the tab key to move on to the next parameter or hit the escape key to leave the menu. Use escape and then carriage return to return to live mode. Thus you can see that it is possible to change as many parameter options as you wish without having to continually enter and exit the menu. ---------------------------------------- 7.3 Eight more parameters So far we have learned three things about the parameter menu: - how to enter and exit the parameter menu - how to move from parameter to parameter using the tab or cursor keys - how to cycle through each parameter's options using the space bar From this point on we will not continually repeat these basic instructions but rather concentrate on describing some more parameters and their options. 7.3.1 Screen punctuation This refers to punctuation spoken during screen reading. There are four levels - off, some, most and all - e.g. the most option pronounces all punctuation apart from the apostrophe. Try experimenting with the various settings to see which you prefer. 7.3.2 Key echo punctuation This parameter refers to the level of punctuation echoed by keyboard entry. It has identical options to the screen punctuation mentioned above. Try the four options for yourself. However most users prefer the default value of all keyboard punctuation spoken. 7.3.3 Space and return This parameter refers to the keyboard echo of the space bar and carriage return key. The options are either on or off. If you only require one of these keys to speak please see the section on teaching keys later in this lesson. 7.3.4 Blank lines This parameter toggles between blank lines being announced or not. Sometimes it is useful when editing or screen reading to be reminded when a line contains no text, in which case blank - on should be selected. 7.3.5 Compress punctuation This parameter allows you to choose how Hal speaks punctuation marks displayed on the screen. This facility is offered because many application programs use rows of dashes or stars for decorative purposes - if Hal were to read them all it could be a very tedious process. The options are on or off - for example if you set compress punctuation to on Hal will only read the first two punctuation marks even if there is a whole row of them. 7.3.6 Announce Alt and Control keys This parameter allows you the option of Hal speaking these two keys when they are depressed. It is particularly useful for beginners who are unaccustomed to the PC keyboard but more advanced users will probably prefer to set this option to off. There is a third option "muting", which causes the synthesiser to be muted when Alt and Control are pressed together. 7.3.7 Speaking numbers This parameter has two options - numbers on or numbers off. This controls whether a numbers' individual digits are read out, or the number is read out as a whole. e.g. 123 can be read out as "one two three", or "one hundred and twenty three". The file NUMBERS.??? is a text file and defines how numbers are spoken. The extension ??? is taken from the prompt file name. Thus PROMPT.ITA will bring in NUMBERS.ITA. See Appendix 3 for details of the numbers prompt file. The number option must be on AND the numbers file must exist for numbers to be spoken. 7.3.8 Exceptions This parameter has two options - words on or words off. This controls what Hal says when it comes across certain user defined strings on the screen. These strings are defined in an Exceptions Dictionary. The file ENGLISH.DIC is the default name for the Exceptions Dictionary file. Supplied on the Hal disk is a program called DEDIT to create/alter an exceptions dictionary. Details of how to use DEDIT and how to load Exceptions Dictionaries are given in Lesson 16. ---------------------------------------- 7.4 Teaching Hal You can teach Hal to speak in two ways - firstly according to the key depressed and secondly according to the character being read from the screen. 7.4.1 Teaching keys Within reading mode Ctrl t prompts Hal to ask "teach which key?" In response to this tap a key, say function key number 10, Hal will then respond "enter string". Now type in the words you want Hal to speak when function key 10 is depressed. Hit carriage return and Hal will inform you "done". If you exit reading mode and try tapping function key 10 it will now repeat your chosen words. This facility can be a most useful reminder of key definitions within application software. Please note - if key echo is set to words then some keys will not speak the string that they have been taught. 7.4.2 Teaching screen characters The Ctrl s command within reading mode allows you to teach Hal what to say when it comes across a particular character on the screen. Suppose you wish Hal to speak the words "divided by" every time it comes across the "slash" sign on the screen. Try entering Ctrl s. Hal responds with the question "teach which character?" Enter "slash". Hal will say "enter string". Now type in the two words "divided by" and hit carriage return. Hal will inform you done. From now on every time Hal comes across the slash character it will say "divided by". It is possible to teach Hal to speak characters which are not normally spoken, for example a high ascii character such as ASCII 190. Simply enter Ctrl s as before and when prompted "teach which character?" depress the Alt key and enter the number 190 on the numeric keypad whilst the Alt key remains depressed. Now release the Alt key and Hal will prompt you to enter the string. Type in your message, e.g. "marker" and press carriage return. Hal will inform you done. ---------------------------------------- 7.5 Questions and answers Questions: 7.5.1 What parameters and options would you select if you want the keyboard to echo whole words at a time? 7.5.2 How can you make Hal tell you when there are blank lines on the screen? 7.5.3 How can you teach Hal to respond in a defined way to a particular key depression? 7.5.4 If Hal reads "multiplied by" every time it comes across the "star" character on the screen, how did Hal learn this? Answers: 7.5.1 You would select the parameter "key echo" and the option "words". This would stop Hal echoing individual characters on the keyboard and only speak whole words after the space bar or a punctuation key is depressed. You would also check that "muting" is set to "off" or to "cursors". 7.5.2 You would set the "blank" parameter to the "on" option. Now in reading mode when you read a line containing no text Hal will say "blank". 7.5.3 You can use Hal to teach a key to speak words of your choice by using the Ctrl t command within reading mode. Certain keys cannot be taught if the "key echo" parameter is set to the "words" option. 7.5.4 You would have used the Ctrl s command within reading mode. Hal would then have asked "teach which character?" and you would have typed in the "star" character. Hal would then have requested you to input the string to be spoken and you would have entered "multiplied by". Hal would then announce "done". ---------------------------------------- Lesson 8 More parameters, the notepad and calculator ---------------------------------------- By the end of this lesson we will have covered all the basic parameters and their options. There will still be a number of parameters that have not been covered and these will be dealt with later on in the manual. 8.1 Muting One of the problems associated with using speech to access text is how to stop the synthesizer talking unnecessarily. We have already considered the Alt m and shift 0 methods for muting. However, Hal offers three more refined options within the muting parameter which should cover most contingencies. When muting is set to "on" the depression of any key instantly mutes anything that is being spoken. So, for example, if you were typing with every character being echoed by Hal then you could never "out-type" the speech - because any outstanding speech would be muted by your typing - this is why the "key echo" parameter will not work on "words" when muting is on. As Hal is triggered to read a word when the space bar is pressed so the word is muted! The outcome of all this is silence (although some software packages give a strange effect of making Hal speak the previously typed character). Another option is "muting - all commands" which is identical to "muting - on" but functions only within reading mode. The third option is "muting - cursors". This option is identical to "muting - on" but only applies to the cursor keys. It is particularly useful when reading through documents in a word processor because you do not have to wait until a whole line is spoken before going on to the next line - simply hit the appropriate cursor key to stop the current line being spoken and start hearing the next line. This setting is favoured by users who set the "key echo" parameter to "words". The final option is "muting - off" which turns off Hal's special muting facilities mentioned above. However the Alt m command is still available. ---------------------------------------- 8.2 Sound parameters Hal can produce a number of musical notes to present the user with information such as the cursor position, typing of upper case letters and Hal error messages. There are three options - "all", "off" and an intermediate one called "beeps". Having "sounds - all" on greatly helps when screen reading. For example, when reading lines the pitch of the musical note decreases as you move further down the screen. When reading a word at a time the musical pitch increases as you progress along the line. The musical notes can also help when reading characters as it is possible to differentiate between upper and lower case letters, punctuation, spaces and control characters. Do not be concerned about the term "control characters" as they will be discussed in more detail later. (However, if you come across an invisible character on the screen which emits a high pitched note then it is a control character!) Musical notes are also useful in live mode because a tone is emitted when upper case letters are typed. The second option is "sounds - beeps". This option gives limited musical beep feedback in order to indicate Hal error messages. Finally "sounds - off" simply turns off all musical sound output from Hal. The best approach to this parameter is to try all three options and use the one which meets your needs. If your computer has a volume control be sure to turn it up before embarking on any experiments. ---------------------------------------- 8.3 Attributes As we saw in Lesson 3.2, every character on the screen (including spaces) has three attributes to describe it. Just to remind ourselves, these three are: - foreground colour - background colour - ASCII value The ASCII value is a special number which is given to every character - for example an upper case A has an ASCII value of 65. (By the way ASCII stands for American Standard Code for Information Interchange.) These ASCII values need not concern us at this stage. In lesson 3.2 we discovered how to ascertain the attributes of individual characters, now we move on to a more sophisticated way which gives the information a line at a time by using the parameter menu. Enter reading mode and then enter the parameter menu. Tab through to the attributes parameter and use the space bar to select the option "attributes - on". Use the escape key to return to reading mode and try reading the screen a line at a time - as well as hearing the usual text on the screen you will also be told the background and foreground colours. Additionally, you can be given this information on your current line when in live mode by pressing Alt l. As we have seen this data can be very useful during the planning stage of colour restriction and will be even more useful later on when we consider highlighted text. ---------------------------------------- 8.4 Compressing spaces When Hal reads two words separated by a number of spaces there may be a slight time delay. This can be either a useful clue to screen layout or an annoying feature. Hal allows you to set the delay to "compress - on" or "compress - off". As with many of Hal's advanced features it is often a question of personal taste as to the setting of a particular parameter option. The best policy is to experiment until you find the appropriate combination for your needs. ---------------------------------------- 8.5 Cursor, carriage return and tab actions Within Hal these three types of key have certain elements in common. However, the cursor keys are particularly flexible so we will deal with them first. 8.5.1 The cursor keys The cursor keys are often used in application programs such as word processors, databases and spreadsheets to allow you to move around the screen rather as in reading mode with the up, down, left and right commands. As you have seen, the cursor keys can be used in reading mode to do just that. However when you are not running an application program and the computer is at DOS level the cursor keys are not used in this way. You may be interested to know that at DOS level the left and right cursor keys have a special effect. Try entering: lessons (return) with the Hal disk in Drive A. You will get an error message because there is no such file on the disk. Now at the A prompt hit the right arrow key a couple of times and check your current line with Alt l. You will find that beyond the prompt are the first couple of letters of the word "lessons". Continue to tap the right arrow key until "lesson" appears, then hit the return key and the program will load. If you go too far and get the whole word "lessons" on the screen, just tap the left arrow key and it will delete the letter "s" from the end. Your MS DOS manual will give you many more useful hints and tips of this kind. 8.5.2 Cursor, carriage return and tab keys - common options Having dealt specifically with cursor key actions we can now move on to consider a number of common options applicable to cursor, carriage return and tab keys. The parameters "cursor does", "return does" and "tab does" each have nineteen options and they are listed and explained below. lines - reads the line that the cursor is on highlighted text - this will be dealt in Lesson 11 to cursor - reads text on line up to cursor position column - reads column number of cursor position read two lines - reads the line above the current line and the current line read three lines - reads two lines above, one line above and the current line read window 0 through 9 - windows will be dealt with later in the manual off - no spoken output characters - speaks the character at the cursor words - speaks the word at the cursor Although at first sight some of these options might appear obscure, experience has found them to be very useful in a number of applications as we will see later. However, in the meantime, the default option settings of "cursor does lines", "return does off" and "tab does off" are probably the most sensible. 8.5.3 Timer wait and extra key checks These two parameters relate to the interaction between Hal, an application program and the depression of cursor keys. The technicalities of this interaction need not concern us here but suffice it to say that should any problems be experienced when using the cursor keys in a program, changing these parameter options can help. An example of such a problem is an excessively long delay elapsing between pressing a cursor key and Hal's spoken response. ---------------------------------------- 8.6 Hal's notepad There is nothing more annoying than being in the middle of writing a document when you suddenly have to make a note of an address or telephone number. With Hal Version 3 this is no longer a problem because you can store up to eighty characters using the notepad facility. Within reading mode pressing the letter N enters the notepad and Hal speaks "notepad - load, read or insert?" Press the letter L to load the notepad with your information. Hal will respond with the word "note". Type in your notepad message and press carriage return to leave the notepad and return to reading mode. It is now a simple matter of exiting to live mode and continuing with your work until a convenient moment to recall the message. To recall the message, enter reading mode and N for notepad. Again you will hear the prompt "load, read or insert?". This time tap the letter R and your note will be read back and you will be returned to reading mode. If you wish you can repeat this action to hear the message again. If you wish to transfer the contents of the notepad to your current cursor position - for example, within a word processor - simply tap the letter N key to enter the notepad and then depress the letter I key to perform the action. This also immediately takes you out of notepad and reading mode back to live mode. ---------------------------------------- 8.7 Hal's Calculator Another of Hal's useful features is its calculator. This may be accessed using the Alt c command in either reading or live mode. Hal echoes the prompt "calculator". The four main arithmetic operators are the "plus", "dash", "star", and "slash" keys. The carriage return key acts as "equals", i.e. gives the result. Experiment with these facilities using the numeric keypad (don't forget to turn the "num lock" on). If you are entering a particularly long series of numbers and forget your last entry Hal will repeat it if you tap the space bar. The function keys may be used as well and they perform the following tasks: F1 - clear all F2 - clear entry F3 - change sign F4 - not used F5 - clear memory F6 - memory restore F7 - memory plus F8 - memory minus You may leave the calculator in two ways - firstly by depressing the letter I key. This will insert the result of your calculation at the current cursor position and return you to live mode. The alternative method of leaving the calculator is to either depress the letter Q or the escape key. This will return you to the mode from which you entered the calculator, i.e. either live or reading. Because this has been a long lesson, it has been decided to omit a questions and answers section. ---------------------------------------- Lesson 9 Simple Windows ---------------------------------------- You have already come across the Alt p command to read window number zero - the whole screen. Now we shall learn how to define up to nine other windows of whatever size you like. For example a window can be as small as part of a line, or a whole line or a block of lines. Also, windows can overlap each other. Just imagine drawing a rectangle on the screen which covers text that you are interested in - that is a window and you can read it immediately using the Alt p command. Windows can be very useful to give you instant access to useful parts of the screen such as status lines. 9.1 Defining the window Firstly, enter reading mode and explore the screen to decide upon the area you wish to define as a window. Now position the cursor at the point you wish to become the top left hand corner of the window. Hit the W key and Hal will say "window". Tap the letter S for start of window and a number, say 1. We have now defined the top left hand corner of window 1. Next move the cursor to the point which is to be the bottom right hand corner of the window. Hit W for window then the letter E for end of window and finally a number, - the number 1 in this example. Having defined window number 1 we can try reading it. Exit from reading mode to live mode and enter Alt p followed by the number 1. Hal will read all the text within the window. As mentioned before, this is particularly useful for reading status lines such as those found in word processors and spreadsheets. Remember, you can define up to nine windows using the numbers 1 through 9. Window number 0 is always the entire screen and cannot be changed. Of course you can use the Alt r command to restrict the output of the window to a colour combination, underlined, blinking or inverse video text. ---------------------------------------- 9.2 Entering the window In reading mode you can go into a window by tapping the W key for window followed by the window number - number 1 in our example. As soon as you have done this Hal thinks of the window as being the whole screen and will not allow you out of the area defined as that window number. You can read it using all the standard commands such as T, L etc. This can be very useful for taking you straight to the area of the screen that interests you - for example one field in a database. By using Alt r you can limit output from the window even further by restricting colour output. So, for example,if you were only interested in red text on a black background within your window you could access this information very quickly. You can come out of the window in a number of ways. Firstly simply by exiting reading mode with the carriage return key or by tapping W for window and hitting the number 0: this makes the whole screen your window again. Another method is to go to a marker outside of the window. ---------------------------------------- 9.3 Questions and answers Questions: 9.3.1 Is it possible to define a window as small as one line and then give it the number 0? 9.3.2 If you were defining the start of a window and accidentally hit one of the keys to either side of the letter W could you ignore that mistake and continue defining the window? Answers: 9.3.1 This is a yes and no question! Yes you can define a window as small as one line - but no you cannot call it window number 0. The number 0 is reserved and is the whole screen. 9.3.2 If you hit the Q key the cursor will move back one word from the point that you wish to be the start of your window. If you hit the E key the cursor will move to the end of the line which will ruin your window definition. So the answer is that it is always best to double check the start and end window positions with the Alt g command (or you can use the X and Y keys in screen reading). ---------------------------------------- Lesson 10 Find and Output Windows ---------------------------------------- Having learned the basic concepts associated with windows we now go on to examine two specific types of window. 10.1 The find window We have already come across the find command in reading mode and the use of the bar character to find further occurrences in the search. With a "find" window we limit the extent of the search to the text within the window. First of all define a window, then within reading mode enter the parameter menu and cycle through the parameters with the tab key. When you reach "find window - 0" cycle through the window numbers using the space bar until you reach your defined window number. Then exit the parameter menu. From now on your find facility will only work within that window number. Again you can narrow down the search still further by restricting the colour of the character being searched for by using Alt r in the usual way. Hal's string search facility can be limited in exactly the same way to a find window with or without colour restriction. Experiment with "find" windows using both single character and string searches to acquaint yourself completely with the concept of windows before continuing with the next section. ---------------------------------------- 10.2 The output window So far we have only been considering windows within reading mode (apart from the Alt p command in live mode). The concept of the output window is different because it determines what part of the screen is output in live mode. In many application programs which are menu driven the entire menu is spoken just as it appears on the screen. However you might not wish this to happen because, for example, the menu contains a digital clock which is always being updated and hence all you hear is the time being repeated over and over again. If you define an output window which excludes the clock display then only the part of the screen within the window area is spoken and the clock is silenced. To define an "output" window, start off in the usual way by defining a window which excludes areas of the screen which you do not wish to be output. Next, we have to tell Hal that this window number is an "output" window. Do this by cycling through the parameter until you reach "output window". Now tap the space bar until you hear your window number spoken. Escape from the parameter menu and exit reading mode. Future screen output will only come from within the area of your "output" window. Reading of text with Alt l, Alt k, cursor keys etc. are also restricted to the "output" window in live mode. The simple window described in Lesson 9 together with the find and output windows covered in this lesson really are more straightforward than might be imagined at first reading. As with every concept outlined in this manual the secret of understanding lies in practical experimentation and this will pay dividends when we move on to Lesson 11. ---------------------------------------- 10.3 Questions and answers Questions: 10.3.1 If you have defined a simple window with the number 7 how can you make it into a "find" window? 10.3.2 Is a string search restricted to a "find" window in the same way as the single character search? 10.3.3 If you use a program that constantly monitors heart beat rate on the top line of the screen, how would you stop this information overwhelming you? Answers: 10.3.1 To make your simple window numbered 7 into a "find" window simply enter reading mode and the parameter menu. Use the tab key to move to "find window" and cycle through the window number options with the space bar until the number 7 is spoken. 10.3.2 Yes - the "find" window restricts both single character and string searches to within the area of the window. 10.3.3 The output window is used to restrict spoken output to the area defined by that window. The first operation is to define a simple window that excludes the line which is constantly being updated. In our example this is the top line of the screen, so start the window at the left hand end of the line below this. End the window at the bottom right hand corner of the screen. If we call this window number 8 then set the "output window" parameter to read "window 8". If we now escape from the parameter menu and exit reading mode the output of the top line will no longer be spoken. However we can always refer to that data from time to time by defining the top line as a simple window and using Alt p from live mode to access it. ---------------------------------------- Lesson 11 Highlighted Text ---------------------------------------- We now move on to a new concept - highlighted text. By this we mean text that you consider important or of high profile. You may choose any colour, blinking, underlined or inverse video text. It does not have to be a bright colour or even the colour that the application program you are running refers to as highlighted. As far as Hal is concerned, whatever you say goes! 11.1 Setting the highlight option Suppose we decide that information given in the colour green on a black background is of great importance within a particular application program. If we define this colour combination as being our "highlight colour" then Hal offers us a number of ways to quickly access this data. First of all, we need to tell Hal that green foreground with a black background is our choice as highlighted text. To do this use the parameter menu and tab through until "highlight is" is spoken. Tap the space bar and Hal will say "highlighted text - foreground - black". Use the space bar to cycle through the foreground colour options until the desired colour is reached - green in our example. If your foreground colour is to be a "bright" colour then continue with the space bar until your desired colour is reached. Now tap the carriage return key and Hal will offer you the background colour options. Cycle through these until the desired colour is reached and then hit the carriage return key. Hal will confirm your choice of background and foreground colours which make up your definition of highlighted text. When using the method described above to select the highlight colour of your choice you may wish to choose a particular foreground colour regardless of its background colour or you may wish to choose text of any colour on a specific background colour. You can do this by telling Hal to ignore either the foreground or background option by pressing the escape key instead of selecting a colour. Hal will announce "ignored" in confirmation. Finally, you may choose blinking, underlined or text in inverse video by entering either the letter B, U or I after tapping the space bar once (instead of cycling through the colour options with the space bar). Hal will announce your choice in confirmation. It is important to be clear that choosing a highlight colour is not the same as restricting output to a certain colour combination. You could, for example, have selected green on black as the highlight colour but have output restricted to red on white. Now the easiest way to read the highlighted text on the screen is by using Alt y. Try it and see. Notice, as mentioned above, that you can read the highlighted text even when output is restricted to another colour. Pressing Alt y a second time will spell the highlighted text. This is similar to Alt o, when pressed once it reads the word that the cursor is on, when pressed a second time it spells the word the cursor is on. Try experimenting at this early stage so that you are quite sure that you can differentiate between the concepts of restricting output and highlighting text. It might help to think of output restriction (Alt r) as being negative whereas highlighting output is a positive act. ---------------------------------------- 11.2 The highlight window It is possible to limit the amount of highlighted text which is read by Alt y to a specific area of the screen by using a new type of window - the highlight window. The window is constructed in the usual way (see Lesson 9). Say, for example, you make it window 6, Hal now needs to be told that this is to be considered as a "highlight" window. Simply move through the parameter menu until you reach "highlight window". Now cycle through the window numbers by means of the space bar until you reach "highlight window - 6", escape from the menu and then exit to live mode. The command Alt y will now only read highlighted text within the confines of window 6. Again we stress the need to practice these techniques. It is not enough to simply read these lessons. The use of highlighted text and highlight windows is a very powerful tool which, if understood, will save you much time. ---------------------------------------- 11.3 Accessing highlighted text with the tab, return and cursor keys. So far we have only used Alt y to access the highlighted text. We now move on to see some very useful additions. In some applications it might be desirable to have the highlighted text spoken when either the tab, return or cursor keys are hit. All these keys can be defined to do this via the parameter menu. Simply tab through to either "tab does", "return does" or "cursor does". Now cycle through the options with the space bar until you reach "highlighted text". Return to live mode - you will find that each time the key is depressed all highlighted text is spoken. If you have set a "highlight" window, only the highlighted text within that window will be spoken. Please note that the tab and carriage return keys are often defined in a special way by an application program which may override any definition which you may have given them. The definition of cursor keys is particularly useful in application programs such as spreadsheets. A spreadsheet is simply a grid of boxes on the screen rather like a chess board. Each square is called a "cell" and the data entered into it is displayed in one colour on the screen. As you move the cursor around the cells the colour of the cell which the cursor is on changes. This is simply a device to show you where the cursor is. When the cursor is on a cell it is called the active cell. Now this colour change can be taken advantage of by Hal. If we know the foreground colour of the contents of the active cell then we can set that as the highlight colour. Now if we program the cursor keys to read highlighted text, as we cursor around the spreadsheet we shall have the contents of the active cell spoken to us. This is much easier than having to move the cursor and then doing an Alt y over and over again. To make it tidier we can define a window around the spreadsheet grid and make this a highlight window. This means that text outside the grid which is displayed in the highlight colour will not be spoken when the cursor keys are depressed. Already we have started to create an environment which enables us to use a spreadsheet in a very friendly way. Later we will build on this and consider some other possible environments. ---------------------------------------- 11.4 Questions and answers Questions: 11.4.1 Is it possible to restrict output to the colour red and at the same time define yellow as being the highlighted text? 11.4.2 If you configured Hal to behave as set out in question 11.4.1 what would happen if you entered Alt y? 11.4.3 What would happen if you defined Hal in the way set out in question 11.4.1 and then defined a highlight window which covered just the area of the bottom line of the screen? 11.4.4 Without looking back at the lesson try to describe how you would set up a friendly environment to run a spreadsheet. Answers: 11.4.1 Yes. It is most important to be able to differentiate between restricting output and highlighting output. If you are still not sure of the difference between these two concepts please read through the lesson again. Try experimenting with the program called Lesson which will be found on your Hal disk because it presents you with text in several colours on the one screen. 11.4.2 If you configured Hal to restrict output to the colour red and define yellow as the highlighted text then entering Alt y will read out all the yellow text on the screen because this is the highlighted text. 11.4.3 Because you have limited the output of highlighted text to just the bottom line of the screen with a highlight window then Alt y will read only yellow text on the bottom line. 11.4.4 Your answer may not be identical to mine because you may have chosen to tackle the operations in a different order. However your answer should look something like this. - Determine the foreground colour of the data in the active cell by means of the A key in reading mode. - Set the highlight colour to the foreground colour of the active cell by means of the parameter menu. - Construct a window around the spreadsheet grid and make this into a highlight window using the parameter menu. - Configure the cursors to speak the highlight text after they have moved by using the parameter menu. - Examine the screen to see if there are any areas of interest outside the main grid - for example if there are any status lines which will contain important data or messages. Construct windows around these areas so that they may be quickly accessed from live mode with Alt p. ---------------------------------------- Lesson 12 Monitor Markers ---------------------------------------- In the introductory manual we learned about the twenty-six markers. In this lesson we shall move on to see an advanced application for markers when they are defined as "monitor markers" and used to monitor what happens at their position on the screen. 12.1 What can monitor markers do? Before we learn how to use monitor markers let us whet your appetite by describing what monitor markers can do. Three occurrences can be detected by a marker. They are: - when the character at that point becomes the one specified by you - when the character at that point changes from the one specified by you - when the character at that point just changes When a monitor marker is triggered by one of these occurrences it can perform a number of actions: - announce a message - load a new environment file (see Lesson 13) - perform one of the tab, carriage return or cursor key functions outlined below: lines - reads the line that the cursor is on highlighted text - reads the highlighted text to cursor - reads text on line up to cursor position column - reads column number of cursor position read two lines - reads the line above the current line and the current line read three lines - reads two lines above, one line above and the current line read window 0 through 9 - reads window of that number off - no spoken output characters - speaks the character at the cursor words - speaks the word at the cursor An example of using a monitor marker could be to watch the line number indicator on a word processor status line. It could be set to announce the message "new line" every time this number changes as you write a document. A logical extension of this would be the announcement of "new page" etc. Having seen what can be done let us now move on to see how to go about it. ---------------------------------------- 12.2 Setting up a monitor marker There are three stages involved in setting up monitor markers. 12.2.1 Stage 1 - defining the change The first stage involves careful selection of a point on the screen which you know will change in some way when you require an action to take place. We have already considered a possible application of a line or page number changing on a word processor status line. Locate the cursor on that position within reading mode. Make use of the Alt i command to ensure that you are in the correct position. Now, hit the letter M key to set a marker at that point and then tap any letter of the alphabet. In this example we will use the letter A. Just to recap, we have positioned marker A at a point on the screen which we wish to monitor. We must now go on to define the type of change to be monitored for. Within reading mode, Ctrl w takes you into the monitor marker menu. This menu is rather like the parameter menu and uses the tab key to move through the twenty-six monitor markers (represented by letters of the alphabet). Thus, when you first enter the menu, Hal announces "monitor marker - a" followed by its present setting which by default is off. Try tabbing through the markers. Alternatively you can just hit a letter to go straight to a monitor marker - for example to set marker V enter the monitor marker menu and tap the letter V. Now then, hit escape and the Apollo will say "reading" and you will be returned to reading mode. Within the monitor marker menu the space bar is used to change the options of each monitor marker. Try re-entering the monitor marker menu and when Hal says "monitor marker - A - off" tap the space bar. With each subsequent tap you will hear the following: "monitor marker - A for same", "monitor marker - A for not same", "monitor marker - A for change" and finally "monitor marker - A - off". These "same", "not same" and "change" options refer to an appointed character which we have yet to define (in stage 2, below). Thus, the three active options are a shorthand form of writing: - monitor marker A will trigger when it detects the appointed character (same). - monitor marker A will trigger when it detects a change from the appointed character (not same), and finally - monitor marker A will trigger when it detects any change at all (change). In our example, we are going to use the A marker to tell us when a point on the screen changes to the letter X. Thus, our appointed character is the letter X and our change option is "monitor marker - A for same". 12.2.2 Stage 2 - defining the appointed character When Hal speaks "monitor marker - A for same", press the tab key and you will be prompted to enter the appointed character with the message "character is - O.K.?". We have to say "no" in response to this question because our appointed character is the letter X - so press N for "no". Hal responds with "type character to watch". Enter the letter X. Note: be careful to differentiate between upper and lower case. As soon as you have entered the appointed character Hal moves on to offer a couple of courses of possible action for you to select when the character at monitor marker A becomes an X. Please note that it is possible to enter an ASCII number as the appointed character. For example, if you wish the appointed character to be ASCII 191 (which is not a spoken character) simply enter the number 191 on the numeric key pad whilst keeping the Alt key depressed. 12.2.3 Stage 3 - defining the action Hal allows us to define three types of action which can be taken when the point at monitor marker A becomes an X. They are: - speak a message - load an environment file (see Lesson 13) - perform one of the tab, carriage return, cursor key actions In our example we want Hal to read the whole screen (window 0) when the letter X appears at monitor marker A. Just as soon as you have entered the appointed character you are asked "message is - O.K.?". In our example, we do not wish Hal to speak a message so we can answer "yes" to this question - tap the letter Y. Hal now offers us another course of action by asking "file is - O.K.?". Again, we can answer Y to this question because we do not want Hal to load in an environment file (see Lesson 13). Finally, Hal moves on to the third series of actions possible - the tab, carriage return, cursor key actions. The first of these is "action for monitor A - words". Now, cycle through these options using the space bar. They are as follows: words - speaks the word at the cursor lines - reads the line that the cursor is on highlighted text - reads the highlighted text to cursor - reads text on line up to cursor position column - reads column number of cursor position read two lines - reads the line above the current line and current line read three lines - reads two lines above, one line above and current line read window 0 through 9 - reads window of that number off - no spoken output characters - speaks the character at the cursor In our example, we wish to select the option read window 0 through 9. Cycle through with the space bar until Hal says "read window 0" and then tap the escape key, the Apollo will say "reading" and you will leave the monitor marker menu. ---------------------------------------- 12.3 Monitor marker activation In our example we set a point on the screen to be monitored by marker A so that if the letter X appeared at that point, Hal would read the entire screen. Of course, you may configure the three variables outlined above in any way you wish to suit your particular application. Finally, you need to activate the monitor marker option within the parameter menu. Simply tab through the parameter menu and select the monitor marker on option. From now on any monitor markers that you have set will be in operation. Again we have to stress the need to experiment and practise using monitor markers. They are not always easy to set up but once you have done so it is possible to save these settings in an environment file so that you need never have to repeat the procedure. We will look at this in the next lesson. ---------------------------------------- 12.4 Questions and answers Questions: 12.4.1 What are the three occurrences that can be detected by a monitor marker? 12.4.2 What are the three types of action that a monitor marker can trigger? 12.4.3 What are the three stages involved in setting up monitor markers? 12.4.4 Supposing you had completely set up a monitor marker and it was not working, why might that be? Answers: 12.4.1 The three occurrences that can be detected by a monitor marker are: - when the character at that point becomes the one specified by you. - when the character at that point changes from the one specified by you. - when the character at that point just changes. 12.4.2 The three types of actions that a monitor marker can trigger are: - announce a message. - load a new environment file. - perform one of the tab, carriage return or cursor key functions listed in 12.1. 12.4.3 The three stages in setting up a monitor marker are: - define the change. - define the appointed character. - define the action. 12.4.4 You would have forgotten to activate the monitor markers via the parameter menu. Check that the monitor marker option is set to on in the parameter menu. ---------------------------------------- Lesson 13 Miscellaneous Commands ---------------------------------------- We have learned nearly all of Hal's commands but there still remain a few which will give you more power to configure the system to provide the most helpful output of data. 13.1 Hal commands and application programs Some application programs use the same Alt key commands as Hal does in live mode. This can be a nuisance because Hal obeys the command and stops it getting to the other program. To overcome this Hal uses Alt n which makes it ignore the next Alt key command. For example if a database program uses Alt l as a command to move on to the next record you will have to enter Alt n and then Alt l. Don't forget that most programs allow you to redefine such keys - this would be a better alternative than having to constantly use the Alt n command. Another method is to turn the Hal Alt keys off. You can do this with Alt a from within reading mode. This leaves only Alt j active in live mode. ---------------------------------------- 13.2 Status report The "at" sign in reading mode gives you the status of certain special keys such as insert and number lock. The key status is only mentioned when its option is on. ---------------------------------------- 13.3 Saving or loading the Hal prompts and environments There are two types of environment file that Hal can load or save. They are as follows: 13.3.1 The prompt file The prompt.hal file contains a list of Hal's spoken commands, for example, "period" when you press the "full stop" key on the keyboard. It is possible to edit the prompt file so as to change the wording. So, if you want to change exclamation" to say "exclamation mark" you can do so. It is then possible to have a number of prompt type files which can be loaded at any time to suit the application. There are a number of foreign language prompt files for Hal, if you have an Apollo synthesizer with additional language ROMS then you can load in the appropriate prompt and it will automatically change the active language ROM. The way that it does this is by the "@" command on the last line of the file. For example if you have two languages, english and welsh with english as the first ROM then make sure that the english prompt file has the command "@=1" as its last line, and the welsh ROM has "@=2" as its last line. For multiple ROM boards the "@" commands in the prompt files should always equal the appropriate ROM number. For example number one for English, number two for Spanish, number three for Italian and number four for American. To load a prompt file simply enter Alt f and in response to "load or save" tap the letter "p" key. Hal will say "prompt". Now enter the prompt file name and press carriage return. All being well the Apollo should say "done" and greet you in the language selected. Hal always starts up by loading in the prompt file named "prompt.hal" - however any language prompt file can be renamed "prompt.hal". 13.3.2 The environment file Hal's environment is automatically loaded when Hal is first run to give you what is known as the default environment. The name of this file is "hal.spc". However, you can change the environment with variations such as voice speed, pitch of speech, parameter changes etc. and it is possible to go on to save this environment to disk and subsequently reload it into Hal so that you do not have to go to the trouble of modifying the default environment all over again. If you always want to start up in your new environment then save it to the file name "hal.spc" so that it replaces the default "hal.spc" file. The Alt f command allows you to load or save the Hal environment. Once you have adjusted Hal to give optimum output for your application, you can save the setting to disk with Alt f in live or reading mode. After entering this command you are posed the question "load or save?". Answer with the letter S for "save" and you will be asked for a file name. Enter a legal file name and hit return. If the save is satisfactory Hal will say "done". (If there is any problem Hal informs you "save failed".) Please note that on some occasions Hal will not perform the save until you come out of reading mode. To load that environment back into Hal use Alt f again but this time answer L for "load". Again give the file name and the data will be loaded. If the load is satisfactory, the Apollo will say "done", otherwise it will say "load failed". An environment file can be loaded automatically by means of monitor markers - see Lesson 12 of this manual. An alternative way to the "hal.spc" method of loading on boot up is to add the filename to your batch file as shown below: Hal -fxxxx where xxxx is a legal file name. It is important to separate the environment file name from the Hal name by a space and a dash and the letter "f". If we had saved a spreadsheet environment with the file name "calc.hal" then the command line to load in this environment with Hal is as follows. hal -fcalc.hal Try saving an environment and then loading it back into Hal using the Ctrl f, the "hal.spc" and the command line methods. It is always possible to check the name of your current environment file by tapping the ? key when in reading mode. This is very useful when working on a number of environments which are to be loaded and unloaded by monitor markers. 13.3 The static cursor The static cursor facility available from within Hal's parameter menu is normally turned off. If, however, you turn it on, Hal will monitor cursor movement, watching for a time when the cursor remains static. When this happens it will perform one of the operations from the usual tab, return, cursor key actions list, that is, read - lines, highlighted text, to cursor, column number, two lines, three lines, window 0 through 9, off, characters, words. This choice of options is available from the parameter menu under the heading "static does". The final variable concerned with the static cursor facility is that of "static wait". This represents the length of time the cursor remains stationary before Hal takes any action. The "static wait" parameter is to be found within the parameter menu and allows you to choose options between 0 and 9. Each increment represents approximately 0.5 seconds wait. It is best to experiment with this facility. ---------------------------------------- 13.4 The soft cursor Some programs use a soft cursor character such as ascii 4 to show the cursor position on the screen - the real cursor being somewhere quite different. For example if you are using an early version of MS Word you will find that wherever you are in the document the Alt l command will always read the same line. This is the line where the true cursor is "parked". To overcome this problem, Hal has a soft cursor facility which is activated by using Ctrl c within reading mode. Simply enter Ctrl c and enter the soft cursor character. From now on Hal will consider this as the real cursor. If this character is a high ASCII number then enter it via the numeric key pad whilst the Alt key is depressed. If the ASCII value is 32 (space character) then determine the foreground and background colour of the soft cursor, set the highlight text to this value and then enter Ctrl s and hit a function key. If you need to restrict this character to within a window then make it an output window. The Alt key method of entering high ASCII numbers can also be used with the find command as follows. Within reading mode, tap the letter F key and Hal will prompt you with the word "find". Now, with the "numlock" key on and the Alt key depressed enter the ascii number on the numeric keypad. As soon as you release the Alt key Hal will initiate the search and announce "found" when it comes across the character. Because of the length of this lesson and the variety of topics covered, we will omit the questions and answers section. ---------------------------------------- Lesson 14 Creating Useful Environments ---------------------------------------- We have already seen the way in which a spreadsheet can be made to work in a friendly way. Now we shall consider this and some other applications in more detail. Once we have created the environment we can save it for instant recall at any time. Don't forget that many application programs allow you to change the default colours thus enabling you to make full use of the Alt r command. 14.1 The word processor It must be emphasised that Hal will work with most off-the-shelf packages such as Wordstar, Display-write 4, Smart and Wordperfect. When word processing with Hal the best configuration is probably to have the cursor keys reading a line at a time. Also set the muting parameter option to "on" if using "key echo" characters. Most wordprocessors use the "backspace" key to delete characters but occasionally the "del" key is used. You can make this give intelligent feedback by setting it to either "delete previous" or "delete current" in reading mode. Tapping the "del" key will cause it to toggle between these two options. The original Wordstar uses the "delete previous" setting. Experiment with this. Sometimes it is very hard to determine where exactly the cursor is when editing. The Alt k key is a real boon here - it reads the current line to the cursor. After editing check on continuity with Alt l. If you are a fast typist who uses speech then you might prefer to set keyboard echo to "words" rather than "characters" - but do not forget to turn the "muting" to "cursors". Try gradually increasing the speed of speech output from your synthesizer and remember that many users find listening via headphones allows them to comprehend exceptionally fast speech output. Many word processors have help screens that always appear in the same place on the screen. This is an ideal opportunity to construct a simple window around this area for immediate access using the Alt p command. It is a good idea to construct a window around the status line too - then you can check your page or line number with an Alt p command without having to enter reading mode. Again some packages use colours extensively, for example underlined text appears in blue. It is a simple matter to restrict output to that colour and check the text. When checking back through a document using the down cursor key it is a good idea to have the "read capitals" option on, enabling you to check for case errors. Some spell checkers throw up their suggested alternative spellings in a different colour so use the Alt r command to restrict colour and then use the find command in screen reading to get straight to the first suggested word. If your word processor uses a menu system where you have to use the cursor keys to highlight an option then determine this highlight colour and set it to be Hal's highlight colour. You could then configure the cursor keys to read highlighted text but this could be inconvenient as they are used so much when editing. Another way is to use the cursor keys and then do an Alt y to read the highlighted option. Don't forget that with many of these menu driven programs the initial letter of the option will do the same thing as highlighting it. Of course you can have more than one environment used within the package - use monitor markers to load them in and out automatically. Monitor markers can also be used to read out messages. The static cursor can be of great help when using your "find" command - you can configure it, for example, to read the line of text containing a "found" word as soon as the cursor becomes stationary. For example Ctrl QF in Wordstar. ---------------------------------------- 14.2 The spreadsheet Hal can be configured to enable easy access to most of the popular spreadsheets such as PC-Calc, Lotus 1-2-3, Smart and Supercalc. Please note, however, that a colour card is almost an essential prerequisite. With a spreadsheet the first thing to do is construct a window around the grid to exclude all the co-ordinate letters and numbers. Make this a highlight window. Now determine the foreground and background colours of the active cell and make these the highlight colour. Finally configure the cursor keys to read highlighted text. Now you have an environment which reads the contents of the active cell as you cursor around. It might be worth defining windows around the status lines so that you can refer to them immediately from live mode with the Alt p command. Another useful option would be to set monitor markers on the co- ordinates status line. They could be set to read them out as you move around to keep track of your whereabouts. Finally, some spreadsheets give help screens in the form of two columns separated by a central vertical line. Such a screen layout is difficult to read a line at a time so it is best to divide the screen into two windows which can be accessed individually. ---------------------------------------- 14.3 The database There seem to be almost as many databases on the market today as there are wordprocessors. However, most of them can be readily accessed using Hal. Examples include Smart and PC-file. Like spreadsheets, the use of a colour card in the PC can add considerably to Hal's flexibility when tailoring its environment for use with a database. A useful setting when entering data is to configure the carriage return key to read "to cursor". This means that as you make entries on a record the field name will be spoken thereby enabling you to keep track of your progress. When using a database to retrieve information try to make use of colour. For example, the first field entry on a record is often printed in a different colour to the other fields. You could make this Hal's "highlight colour" and configure this to be spoken when it appears on the screen. If fields appear in the same screen position at all times then windows can be utilised so that you can access data by using the Alt p command in live mode. Do not forget the value of an output window to restrict spoken data to a minimum. Monitor markers and the static cursor facility can be helpful to let you know when a data search has been completed. ---------------------------------------- 14.4 Communications software If you wish to use a modem on a standard computer then it will probably have to run off the serial port. This is unfortunate for speech users because it is the preferred port for the synthesizer. There are two methods for overcoming the problem. The first method is to run the speech synthesizer from the parallel port. The Apollo is equipped with this facility but this is not the case with every synthesizer. To make Hal talk via the parallel port you have to instruct it when it is being loaded by adding the switch "-p". So either type on the keyboard: hal -p (return) or include a similar entry in your batch file. The Apollo is connected to the parallel port by means of a standard centronics printer cable and a special adaptor available from us - please contact us for details. The second method of overcoming the problem is to purchase a second serial port. These cards are not very expensive and in many ways it is a preferable solution to using the parallel port which the printer normally uses. Again Hal needs to be instructed to use this second port when the program is loaded thus: hal -2 (return) Either type this in or write it into your autoexec.bat file. Do not forget that you have some control over the output of communications packages with the "screen" parameter and by the use of output windows. If you require any suggestions regarding suitable communications software please contact us. ---------------------------------------- 14.5 Keyboard macro programs A command which may be of interest to keyboard macro users is shifted 2 in reading mode. This is normally spoken as double quote but the key stroke is not spoken in reading mode. This command is used at either end of a string of text which is to be spoken as part of the macro. An example macro might be constructed as follows: Alt v (turns speech off) Alt j (enter reading mode) b (go to the bottom of the screen) shift 2 (open string to be spoken) The status line reads (string to be spoken) shift 2 (close string to be spoken) Alt v (turn on speech) l (read the line) Alt v (turn off speech) carriage return (exit reading mode) Alt v (turn speech on) If, say, Alt z was defined to carry out these operations the user would hear the following, every time Alt z was used. "The status line reads" followed by the contents of the status line positioned at the bottom of the screen. This might seem like a sledge hammer to crack a peanut to many users but there are plenty of applications which require this facility. ---------------------------------------- 14.6 Questions and answers Because of its long length there are no questions and answers associated with this lesson. However please remember that if you do have problems configuring your Hal program to contact us. ---------------------------------------- Lesson 15 Special Features for the Advanced User ---------------------------------------- This lesson consolidates and adds to commands encountered since the previous lesson. 15.1 Command line entries All additional command line entries beyond the Hal program name are separated by a space and the dash sign (-). It is important to note that this is not the underline character. In the examples below the Hal program name is simply "Hal" but if your program name is different then you must use that name - for example "hala". hal -p (sends output to parallel port) hal -2 (sends output to second serial port) hal -p2 (sends output to second parallel port) hal -r (removes Hal from the system) hal -ffilename (loads the environment "filename" in to Hal) hal -dpath (for files which have no path, e.g. Hal.spc, Prompt.hal and English.dic, this is the absolute "path" to be used) hal -d (sets absolute path to the current directory) hal -t (initialises internal "europa" card within Toshiba computers). hal -c (initialises internal "europa" card within PC computers). hal -c2 (initialises port hex 318, instead of hex 308 on PC "europa" card) hal -s (used when Hal speech is used in conjunction with Hal Solo) hal -pfilename (loads the prompt file "filename") hal -i (sends output to infovox card) hal -x# (multiply factor for infovox card) hal -a (loads the default exceptions dictionary, English.dic, see Lesson 16) hal -afilename (loads the exceptions dictionary "filename") hal -m## (where ## is the size in kilobytes of the largest exceptions dictionary needed, see Lesson 16) The following options can be used on the commands line of a currently running Hal. hal -dpath hal -ffilename hal -pfilename (see above for details) ---------------------------------------- 15.2 The default.hal file When Hal is first run it reads the file default.hal from the disk. This file tells Hal how to make the speech synthesizer perform certain functions such as change speed and mute. When the program is distributed default.hal is set up for either the mimic or the Apollo. If you are using Hal to run a speech synthesizer other than the dolphin mimic or Apollo then the following details may be of value to you when writing your own default.hal file. Warning: changing the default.hal file can seriously damage the way that your speech synthesizer works. Default.hal contains eight lines of text. Each line is terminated by a carriage return. The first five lines determine what the function keys F1 to F10 do. The keys are grouped into five pairs (F1 & F2, etc.) with the odd numbered keys decreasing the option, and the even numbered keys increasing it. The program will step through the options on each line every time you press the appropriate function key. Each option on the line is separated from the next by a comma. If you need to put a comma or any control characters into this line of text then you can do it by using \xxx where xxx is a three digit number and corresponds to the ASCII character required, e.g. \001 for ASCII 1 (Ctrl a). The sixth line of text describes what is to be sent to the synthesizer to mute it. The seventh line of text describes what can be sent to the synthesizer to make it pause. The eighth line of text describes the ASCII code to be sent to the synthesizer to make it speak the information sent. This is normally a space, or one or more carriage returns. Again \xxx can be used - e.g. \013 for return. It is recommended that you look at some of the existing ".hal" files before creating your own. The baud rate is assumed to be 9600 and is set by the program. See section 15.1 above. ---------------------------------------- 15.3 Finding ASCII numbers Although this feature has been mentioned earlier when dealing with teaching screen characters, finding characters on the screen and setting the soft cursor, it is repeated again here for the sake of completeness. An extension to the "find" command is the ability to search for an ASCII number instead of a named character such as a punctuation mark or a letter of the alphabet. Every character has an ASCII value, for example an upper case A has the code 65. ASCII stands for the American Standard Code for Information Interchange and because this is a standard code, computers can communicate with each other regardless of their manufacturer. If you wanted to find the ASCII code 32 then enter reading mode and hit the number lock key. Now tap the "f" key and depress the Alt key. Whilst keeping the Alt key depressed, enter, for example, the number 32 on the keypad. The numbers will not be echoed but as soon as you release the Alt key the character represented by ASCII 32 will be spoken (space) and found if it is on the screen. Incidentally this is a good way to find out the ASCII value of unusual characters. For example try entering 123 and you will be told "left brace" as the search commences. High ASCII numbers often signify special graphics characters which Hal ignores. For example a "top left hand corner" of a box printed on the screen could have an ASCII value of 195. Using the letter A key in reading mode you can determine the attributes of a character including its ASCII value, thus you can search for it on the screen even if Hal does not speak it. If you wish you can then make Hal speak it by teaching Hal with the Ctrl s facility. ---------------------------------------- 15.4 Conclusion You will be glad to note that this final lesson does not end with another questions and answers session! We feel that you need to be congratulated if you have worked systematically through this manual as many of the concepts are difficult. However, you will now be in a position to get the very best out of your Hal software and make it work well whilst running a range of software. Please contact us with results of your successes and failures - perhaps we can help you. ---------------------------------------- Lesson 16 Exceptions ---------------------------------------- 16.1 Exceptions An Exceptions Dictionary allows you to teach Hal what to say when it comes across a particular string of characters on the screen. For instance, you may want Hal to speak the word "control" every time it comes across "ctrl" on the screen, or say "wonderful dolphin" every time it comes across the word "dolphin". But a more serious use is to correct mispronunciations. e.g. When Hal sees the word "ASCII" it says "ass see", but you could define it to say "ask key" instead. ---------------------------------------- 16.2 Exceptions Dictionary Associated with the Exceptions Dictionary are two Hal command line parameters: -afilename where "filename" is the Exception Dictionarys' filename -m## where ## is the size in kilobytes of the largest dictionary needed At least one of these 2 parameters must be used if exceptions are required. If a filename is given then this file becomes the Exceptions Dictionary and the default dictionary ENGLISH.DIC is not used. Also, the option "words" in the parameter menu must be set to "on", for the Exceptions to be spoken. (see 7.3.8). To load an Exceptions Dictionary from Hal's live mode. Depress the Alt key, and whilst it is depressed tap the letter f key, the Apollo should now respond by saying "load or save". Tap the letter a key, and the Apollo will say "words". Now type in the filename of the Exceptions Dictionary you want to load and then press the enter key. If the Exceptions Dictionary has been successfully loaded the Apollo will say "done". Otherwise the Apollo will say "load failed". N.B. If you did not use the -m## parameter to set aside some memory for the Exceptions Dictionary, then you will not be able to load an Exceptions Dictionary in this way. This is because there will not be enough memory for it to be loaded. ---------------------------------------- 16.3 DEDIT ----- DEDIT - Exceptions Dictionary editor ---------------------------------------- This program will create or edit an Exceptions Dictionary. The program has its own prompt file (not required for english alphabet) which contains not only the program prompts but also details of the alphabet to be used (the order and, for each character, its lower case and uppercase forms). The other prompt files are intended for languages other than English. DEDIT has two command line parameters: -afilename defines the exceptions dictionary (ENGLISH.DIC is the default) -pfilename defines DEDIT's prompt file (PROMPT.DIC is the default) An Exceptions Dictionary consists of a list of exceptions listed in order. Each exception consists of a search string, and a replacement string. There are 2 types of exception:- 1. The search string is replaced ONLY if it is a whole word. This type of exception is distinguished in the editor with an "arrows both way" character. 2. The search string is replaced if it 'starts' a word (or it is a whole word). This type of exception is distinguished in the editor with an "arrow left" character. A "string" is a set of up to 38 characters. These can be anything that the computer can accept, except, in the search string a space is not permitted and any lower case letter is converted to its upper case equivalent. To enter unusual codes depress the Alt key, and whilst it is depressed type in the decimal code on the number pad. Finally, release the Alt key. In the editor keys have the following meanings:- F1 Display the help screen F4 Switch between displaying spaces as a dot and not. up arrow Move up one entry down arrow Move down one entry PgUp Move up a screenful of entries PgDn Move down a screenful of entries Ctrl+PgUp Move to first entry Ctrl+PgDn Move to last entry WHEN YOU ARE NOT EDITING AN ENTRY:- F2 Find an exception - key in the search string and Enter Enter Start editing the current entry Ctrl+Enter Replace the current entry. Ins Insert a new entry into the dictionary. Del/BackspaceDelete the current entry. F9 Save the dictionary. Esc Save the dictionary and finish the program. Q Quit the program without saving the changes. WHEN YOU ARE EDITING AN ENTRY:- F3 Switch between 1) 'whole word ONLY' and 2) 'start of word' Backspace Delete the character before the cursor. Del Delete the character at the cursor. left arrow Move the cursor to the left. right arrow Move the cursor to the right. Home Move the cursor to the start of the current string. End Move the cursor to the end of the current string. Enter/Ins Finish editing the current string. Esc Throw away any editing done to the current entry. NOTE: If you are deleting an entry, saving the dictionary, or ending the program there is an "Are you sure?" prompt. Answer by pressing the Y key for yes, or any other key to cancel the action. Example of an Editing Screen ------------- DEDIT - editor for exceptions dictionary for HAL V4 |Start of word to be replaced |Replacement |------------------------ | START OF FILE "EXAMPLE.DIC" | | |AVE | avenue | |AVE. | avenue | |MRS | missus | |MRS. | missus | | | | | | | \------------------------ If you have a new exception to enter press the key marked "Insert". If you now depress the Alt key, and whilst it is depressed tap the letter L key (to read a line). Hal should respond by saying "start of word is". If you want the exception to be a whole word then tap the key marked F3. You can check this by using Alt L, as above to read the line. Hal should now say "whole word is". Type the word you want to replace and then press enter. Then type the replacement string. Again using Alt L will read out what you have typed. Finally, press the enter key and this exception will be entered in the dictionary. If you wish to edit an already existing exception, use the up and down cursor keys until the exception you want to edit is spoken and then press the enter key. That exception will then be used as a template for a new exception. Edit your exception, pressing the enter key after you have entered the the word to replace, and again after its ereplacement string. Alt L will read out the exception currently being edited. N.B. If when editing you change the string that will be replaced, when done, this will be added to your Exceptions Dictionary alongside the exception you used as a template. ---------------------------------------- 16.4 PREDIT PREDIT - Prompt editor This is a simplified text editor which does not allow deletion of lines in the file and allows you to edit a line and see the previous version at the same time. It is also limited to files of less than 1000 lines. The program has its own prompt file which contains the program prompts. The command line for this program is of the form:- PREDIT oldfile newfile -pfilename oldfile Optional: The file you wish to edit. (PROMPT.HAL is the default) newfile Optional: The name you wish the file to be saved under. -pfilename Optional: PREDIT's prompt file. (PROMPT.PRE is the default). Any character code can be entered into a line except for codes 0, 10, or 13. Empty lines are not permitted and will always be replaced by a single space character. In the editor keys have the following meanings:- F1 Display the help screen. Subsequent presses switches between the 2 help screens. F4 Switch between displaying spaces and not. WHEN YOU ARE NOT EDITING A LINE:- up arrow Move up one line. down arrow Move down one line. PgUp Move up a screenful of lines. PgDn Move down a screenful of lines. Ctrl+PgUp Move to first line. Ctrl+PgDn Move to last line. Enter/Ins Start editing the current line. Del/BackspaceDelete the current line. Esc Save the file and finish the program. Q Quit the program without saving the changes. WHEN YOU ARE EDITING A LINE:- Backspace Delete the character before the cursor. Del Delete the character at the cursor. left arrow Move the cursor left. right arrow Move the cursor right. Home Move the cursor to the start of the line. End Move the cursor to the end of the line. Enter/Ins Finish editing the current line. down arrow Finish and edit next line down. up arrow Finish and edit next line up. Esc Throw away any editing done to the current line. Example of an Editing Screen ------------- PREDIT - editor for prompt files Old file is "numbers.hal" New file is "numbers.hal" /------------------------ |START OF FILE | | |.,- | | |point | | |minus | | |12 | | |>9 digits split | | |/000000000 thousund milliun | | \------------------------ PgUp PgDn, Esc=save & finish, Q=quit program ---------------------------------------- Notes: Lines can be up to 239 characters long. All 239 are displayed whilst you are editing a line but only the first 78 are displayed elsewhere. If you are finishing or quitting the program there is an "Are you sure?" prompt. Answer by pressing the Y key for yes, or any other key to cancel the action. ---------------------------------------- Appendix 1 Other Sources of Information ---------------------------------------- "The Whistler" is a quarterly cassette based magazine of interest to most dolphin users and is available free of charge. Please contact us for details. At the time of writing there are two other sources of PC information on cassette as follows: The Talking Newspaper Association of the United Kingdom produce a monthly tape magazine based on the computer magazine PC. For details telephone TNAUK on 0435 26102. Monument Tape Services also produce a computer magazine called "Access". It is a monthly compendium from the popular PC press. For more details contact them at 20 Laburnham Road, Wellington, Somerset, TA21 8EL. The Royal National Institute for the Blind run a student tape library service with many manuals for computers and software on cassette. Their Customer Services is very helpful and it is well worth talking to them about your needs. A few titles are mentioned below but their stock is always being updated. A particularly good title is The MS DOS Bible by Steven Simrin. You can contact the RNIB in Peterborough on 0733 370777. ---------------------------------------- Appendix 2 Hal Command Summary ---------------------------------------- 1. Commands available in live mode Users should note that the commands available in live mode all use the Alt key in combination with other alphanumeric keys. Alt q - quick read setting for the Apollo speech synthesizer. This toggles the hyper mode facility on and off. Alt r - restrict colour output. Alt t - reads current time from DOS. Alt y - search the highlight window for any highlighted text, and read it. Pressing this a second time will spell the highlighted text. Alt i - read the character at the cursor position. Pressing this character a second time will read the phonetic equivalent of the character. Alt o - read the word at the cursor position. Pressing this a second time will spell the word. Alt p - read a window. This key will prompt you for a window number. To read the whole screen choose window 0. To abort press any other key. Alt s - set the speed of the speech Alt d - reads current date from DOS Alt f - load and save environment files Alt g - read row and column Alt j - enter reading mode when using Hal speech Alt k - read text up to the current cursor location Alt l - read the current line of text Alt c - enter calculator Alt v - toggles speech on and off Alt n - allow the next character through Alt m - mute the synthesizer ---------------------------------------- 2. Commands available in reading mode Please note that all the above Alt key commands work in reading mode as well as live mode. There is one additional Alt command which only works in reading mode: Alt a - toggles live mode Alt key commands on and off - apart from Alt j. 2.1 Screen reading commands T - top of screen B - bottom of the screen U - up a line D - down a line S - start of line E - end of line H - home position (i.e. where you entered reading) L - read from the cursor position to the end of the line R - read word Q - back a word (no speech) C - read character at cursor position, and move right by a character character , (comma) - left one character (no speech) character . (period) - right one character (no speech) M - set marker specified by the next letter G - go to marker specified by the next letter. @ (at) - this will tell you the state of your lockable keys i.e. caps lock, numlock, insert, and scroll lock. X - this will tell you the current column of the cursor. Y - this will tell you the current row of the cursor. A - this will tell you the ASCII value of the character under the cursor, and its attributes. F - find a character. character / (slash) - initiates string search. J - jump exit. ---------------------------------------- 2.2 Other commands character " (double quotes) - this is an experimental feature which is to be tested with keyboard macro programs. All text up to the next double quotes is sent to the speech synthesizer. P - enters parameter menu N - enters notepad W - defines or enters a window Ctrl t - teaches a key Ctrl n - gives the version number of Hal Ctrl m - exits reading mode (this is an alternative to carriage return) Ctrl c - set soft cursor Ctrl s - teaches a screen character Ctrl w - enter monitor marker menu Carriage return - exits reading mode delete - set whether delete works on current or previous character function keys - action depends on synthesizer used character ? - reads the current hal environment file name. ---------------------------------------- 2.3 Screen reading with cursor keys in reading mode Home key - this takes the cursor to the start of the current line End key - this takes the cursor to the end of the current line PgUp key - this takes the cursor to the top left hand corner of the screen PgDn key - this takes the cursor to the bottom left hand corner of the screen Cursor left - this takes the cursor left by a character, and speaks the character Cursor right - takes the cursor right by a character, and speaks the character Cursor up - takes the cursor up by a line, and speaks the new line Cursor down - takes the cursor down by a line, and speaks the new line Ctrl cursor left - takes the cursor left by a word and speaks the word Ctrl cursor right - takes the cursor right by a word and speaks the word ---------------------------------------- Appendix 3 Speaking Numbers ---------------------------------------- The numbers prompt file defines how strings of numbers are spoken by Hal. The first thirty lines of the numbers prompt file defines how numbers are split when they are read. Example Screen PREDIT - editor for prompt files Old file is "numbers.hal" New file is "numbers.hal" /------------------------ |START OF FILE | | |.,- | | |point | | |minus | | |12 | | |>9 digits split | | |/000000000 thousund milliun | | |/0000000++ thousund milliun and | |/000++++?? thousund million, | | |/0++?????? thousund and | | |/+???????? thousund, | | |>6 digits split | | |/000000 milliun | | |/0000++ milliun and | | |/++++?? milliun, | | |>3 digits split | | \------------------------ PgUp PgDn, Esc=save & finish, Q=quit program The first line of the file defines what characters are used for the decimal point, separator and minus sign. The second and third lines defines what is said for the decimal point and minus characters. Line four defines the maximum number of digits that Hal will try to break up into tens, hundreds, thousands and millions. The lines following that up to line thirty define how the digits are actually split. The symbols used have the following meanings. 0 zero digit + non-zero digit ? either zero or non-zero digit Some Examples Line six /000000000 thousund milliun defines that if a digit, say n, is followed by nine zeros then it is "n thousand million". Line seven /0000000++ thousund milliun and defines that if a digit, again lets say n, is followed by seven zeros and the last two digits and non-zero then it is, "n thousand million and" the two non-zero digits. Lines thirty one onwards in the numbers file just define what is said for each of the number zero to ninety nine. ---------------------------------------- Appendix 4 Using environments created on earlier versions of Hal ---------------------------------------- When using environments created with earlier versions of Hal, there are two things to be aware of: 1. You may find the speech rates slower. This can easily be rectified by adjusting the speech rate with the F1 (slower) and F2 (faster) keys from within reading mode, then re-saving the environments. 2. When Hal V4 is started it will look automatically in the directory specified by the DOS environment parameter HAL for its environment files, prompt files and exceptions dictionaries. This environment parameter can be added to your Autoexec.bat file e.g. (add the line): set HAL=C:\HAL If this DOS environment parameter is not set, Hal will look in the directory it was started from for all its environment files. You may find it worth your while to copy all your Hal environment files into the directory where your Hal program files are kept. Alternatively, you can change the directory in which Hal will look for its environment files by using the -dpathname option. If you use -fpathname\environment_name it will ignore the default path and load the specified environment. ---------------------------------------- Index ---------------------------------------- Alt key 7.3 Alt key clashes 13.1 Amstrad computers 1.2 Apollo controls 6.1 ASCII values 15.3 Attributes 3.2 Backups 1.1 Baud rate 15.1, 15.2, Appendix 2.2 Blank line 7.3 Calculator 8.7 Colour restriction 3.2 Command line entries 15.1 Communications 14.4 Compressing spaces 8.4 Control key 7.3 Cursor 3.1 Cursor (soft) 13.4 Cursor key action 8.5 Databases 14.3 DEDIT 16.3 Environment files 13.3 Error messages 2.2 Exception Dictionary 7.3.8, 16.1, 16.2 Extra key checks 8.5 Floppy disks 1.1 Highlight text 11.0 Hypermode 6.1 Installation 1.2 Keyboard echo 7.1 Keyboard macros 14.5 Keyboard status 13.2 Live mode 5.1 Markers 4.3 Mimic controls 6.1 Monitor markers 12.0 Muting 8.1 Notepad 8.6 Other speech synthesizers 15.2 Parallel port 14.4, 15.1, Appendix 2 Parameter menu 6.2 Phonetics 3.1 PREDIT 16.4 Prompt files 13.3 Punctuation 7.3 Return key 7.3 Return key action 8.5 Screen reading 2.3 Screen output 7.2 Search (string) 4.2 Search (character) 4.1 Serial port 14.4, 15.1, Appendix 2 Silencing the synthesizer 5.2 Sounds 8.2 Speaking numbers 7.3.7, Appendix 3 Spelling words 3.1 Space bar 7.3 Spreadsheets 11.3, 14.2 Static cursor 13.3 Static wait 13.3 Tab key action 8.5 Teaching characters 7.4 Teaching keys 7.4 Timer wait 8.5 Upper case (spoken) 6.2 Upper case (sounds) 8.2 Window definition 9.1 Window reading 9.2 Window (find) 10.1 Window (highlight) 11.2 Window (output) 10.2 Word processors 14.1 ---------------------------------------- Hal V4.1a Release 1 March 1991