///1HELP How to use the help system. Glossary of some technical terms Syntax: HELP command or topic name The on-screen help system contains reference information on Concurrent CP/M-86 and its use on the ICL Personal Computer. There are two ways to use the HELP command. If you just type HELP without any parameters, the system will display a list of general topics, and ask you to choose which you would like to read. You then type the name of your chosen topic (or the name of a Concurrent CP/M-86 command), and press RETURN. If on the other hand, you already know the name of the command or topic you are interested in, you can bypass the list of general topics by typing HELP followed by the name in question (in response to the operating system's A> prompt). For example, if you wish to know how to use the PIP command, you can type HELP PIP, and the relevant information will be displayed immediately. Having chosen a topic to read, you may be offered a list of 'Further topics' (these are sometimes called subtopics). When subsequently asked which topic you would like to read, you can type any of these subtopic names, the name of a command or general topic, or you can just press RETURN and the list of general topic names will be repeated. If you have just read a subtopic, and wish to be reminded of the list of subtopics from which you chose it, you can type a ? in lieu of a topic name. You can leave the help system, either by pressing CTRL and C when asked for a topic name, or by pressing RETURN when the main list of general topics is displayed. The above is a very general description to allow you to start making use of the basic facilities offered by the HELP system. In actual fact things are a little more complicated than this. For example, you will often find there are many topics in the system which have the same name. The name 'EXAMPLES' is an example of this. When you request such a topic name, the HELP system decides which 'EXAMPLES' you would like to read on the basis of which topic you read last. You may also abbreviate topic names, but be careful you don't abbreviate so much that the name no longer uniquely defines the topic you wish to read. Taking an obvious example, suppose you try to abbreviate SETUP to SET. You will of course be presented with the text for the SET command. To find out more about the facilities offered by the HELP system (such as details of the order in which HELP searches for the topic you select) you should read the topic: 'DETAILS'. Note that the HELP system provided by ICL is not the same as that provided as standard by Digital Research Inc for Concurrent CP/M- 86. If you have a copy of publication R10346/01 ("Concurrent 3.1 Operating System - User's Guide"), you should disregard any information given in that volume regarding the HELP system. ///2DETAILS The HELP system consists of a hierarchy of topics and subtopics, which are referred to by name. At the top level in the hierarchy are the general topics, ie. those listed when you first enter the system. Under these come subtopics (for instance, DCOPY is a subtopic of the general topic COPYING). These subtopics may have further subtopics below them (thus DCOPY could have a subtopic EXAMPLES) and so on. When you select a topic, the information will be displayed, followed by a list of any associated subtopics, under the heading 'Further topics available:'. When asked to name the topic you wish to read, you may either type a simple topic name (which will be discussed in a moment), or you may type what is called a full hierarchic name - that is a name consisting of several topic names strung together. Eg. to read the EXAMPLES subtopic of the DCOPY subtopic of the COPYING general topic, you could type COPYING DCOPY EXAMPLES. The component topic names of a full hierarchic name may be separated by spaces, commas or full stops. All names can be abbreviated. So, for instance, COPYING DCOPY EXAMPLES could be abbreviated to COP DC EX. However, beware of abbreviating to the point where the name becomes ambiguous. If you just say CO for COPYING, you might end up searching the COMMANDS topic for the DCOPY subtopic. HELP would then report 'topic not found'. When a full hierarchic name is specified, HELP will search both of the top two levels of topics for the first name in the list. Ie. the general topic names, and all their associated subtopics. As the names of all Concurrent CP/M-86 commands appear either at the top level or the next level down, this means that a hierarchic name can start with the name of any Concurrent CP/M-86 command. On the other hand, if the topic or subtopic you wish to read is itself on one of the top two levels, or is associated in some way with the topic you read last (eg. it is one of the subtopics listed under 'Further topics available'), you can specify a simple topic name. Eg. if you have just read the DCOPY topic, the DCOPY EXAMPLES subtopic may be specified merely by typing EXAMPLES (or EX etc.) For a full and rigorous description of the order in which HELP searches for the topic you request, see the SEARCH subtopic. ///3SEARCH When searching for the specified topic, HELP searches a complete level at a time. If there are two or more topics at the same level which match the name you type, HELP will choose the shortest one. For example, SET and SETUP are both level 2 topics. If you specify S, SE or SET, you will get the SET topic. To get the topic SETUP, you must specify SETU or SETUP. The search order adopted by HELP depends upon whether you specify a simple name or a hierarchic one (ie. one consisting of at least 2 elements). SIMPLE NAME: In this case, HELP starts the search at whatever point you happen to be at in the hierarchy, searching in the first instance, the subtopics of the topic you have just read. If the topic name is not found there, HELP goes back to the next higher level topic in the hierarchy (ie. 'parent' of last displayed topic) and searches all of its immediate inferiors (ie. the topic just read, and all its 'brother' topics). This process is repeated, retreating up the hierarchy one step at a time until the level 2 is reached. HELP then searches all of levels one and two for the specified topic. If you have not just listed a topic, ie. the list of general topics was the last thing displayed, HELP merely searches levels one and two for the specified topic name. HIERARCHIC NAME: In this case, HELP searches levels one and two for the first element of the name. Assuming this search is successful, HELP then searches the immediate inferiors of that topic for the second name element and so on. ///4EXAMPLES Of the search pattern. Suppose the hierarchy is: _____________________________________ 4 | 8 | 12 | FILES LISTING PC-MODE _____________ _____________ _____________ 5 | 6 | 7 | 9 | 10| 11| 13 | 14 | 15 | ED DIR SDIR PRINT TYPE SPOOL TIME ERASE BATCH ______ _______ | | 2 | 3 | COMMANDS EXAMPLES PAUSE SYS 1 | EXAMPLES The numbers on the above diagram show the order in which HELP would search for a simple topic name if the last topic you read was: PC-MODE BATCH PAUSE. ///2EXAMPLES Example 1 Your workstation is displaying the A> prompt. If you type: HELP and then press RETURN, a list of general topics will be displayed. You could then proceed as follows: You type | The computer responds by ----------|------------------------------------------------- PROGRAMS | Giving some general information on the subject | of writing programs, then offers a list of | further topics such as BASIC, ASM86 etc. ASM86 | Displaying further details of the | assembler. RETURN | The list of main topics is repeated. RETURN | Terminating the HELP session and returning you | to the A> prompt. Note that in the example, the things you type are shown in capitals. This is for convenience only, you may type in capitals or lower case as you prefer. Example 2 Your workstation is displaying the A> prompt, if you type: HELP LISTING, the HELP system will display some information on how to print data. On the basis of this, you decide you need to use the PRINT command, but would like to see some examples. In response to HELP's question 'Which topic would you like to read ?', you type PRINT EXAMPLES, and the relevant information will be displayed. To leave the HELP system, press RETURN twice. ///2TERMINOLOGY Glossary of some common technical terms This section is designed to give a brief description of some of the more common technical terms you may see in the HELP system and elsewhere. For an explanation of any of the terms below, read the specified topic. ///3SYSTEM Operating System, Concurrent CP/M-86, CCP/M The 'operating system' (or just the 'system') is the name given to the main control program which is always running in your computer. The operating system resides in a file called CCPM.SYS, and is automatically loaded when you switch the machine on, or operate the rear load switch. It performs such tasks as sharing the computer's resources between the various processes that are running, maintaining and organising your files on disc, interpreting and acting upon the commands you type, loading programs, and so on. The operating system provided with the ICL Personal Computer is called 'Concurrent CP/M-86'. You may see this abbreviated to 'Concurrent CP/M', 'Concurrent', or 'CCP/M'. ///3CP/M CP/M is the name for a 'family' of similar operating systems. Concurrent CP/M-86 is one such operating system. In the HELP texts, CP/M is often used in the context 'CP/M discs'. This means a disc created using any operating system in the CP/M family. ///3DISKETTE A diskette is a 'floppy' or 'flexible' disc. ///3DOS DOS is an acronym for Disc Operating System. It is the name given to any of the disc based operating systems, such as PC-DOS and MS- DOS, which can be run on the IBM Personal Computer and some others. DOS is often used as an abbreviation for PC-DOS. ///3MEDIA The term 'media' is used to refer anything on which information can be stored. For example, on the ICL Personal Computer, diskettes, fixed discs, and virtual disc are all media. Note that in the case of diskettes, the 'media' are the diskettes themselves, not the drive into which they are inserted. ///3MS-DOS MS-DOS is the name of a particular operating system, provided by Microsoft, for use on the IBM personal computer. ///3PROCESS A process is the name given to any of the tasks running in your computer. It is easy to confuse the terms 'program' and 'process'. A process may actually run several programs, or a single program (eg. the operating system) may be running in several processes at once. A computer running a sophisticated multi-tasking operating system such as Concurrent CPM-86 (but not MS-DOS, which is single- tasking) may be compared to a person trying to perform several tasks at once. For each task he has a set of written instructions. In order not to become confused, he follows one set of instructions for a while, then puts them down and follows another set for a while. In a computer, this switching between sets of instructions (or tasks) is called 'time-slicing' and occurs so quickly that the computer appears to be performing all the tasks at once. The same instructions may actually be relevant to more than one task. In computer terminology, the set of instructions is called a program, and the act of following them is called a process. An everyday analogy would be cooking a meal. Suppose you peel the potatoes, place them in a saucepan of boiling water, then stop work on the potatoes (which will continue to cook) and turn your attention to frying the sausages. Whilst the sausages are frying, your attention returns to the potatoes in order to turn them down and prevent the pan from boiling over. While all this is going on, you would at some point put the peas in another saucepan of boiling water and give them the same treatment as the potatoes (all the while keeping an eye on the sausages and potatoes). The instructions 'Place vegetables in boiling water. When the water boils, turn down the heat and simmer' would be in use twice at once (for the potatoes and peas). These instructions are analogous to a program for the computer. The three tasks of cooking the three dishes are analogous to three computer processes. In a computer, you can also have a single process with several programs loaded in it. For example, suppose you use the DDT86 (diagnostic aid) program to load and execute a program called 'MYPROG'. You now have two programs loaded (MYPROG and DDT86). However, it is only one process. A process usually has the same name as the program currently running in it. However, this is not always the case. In the example in the previous paragraph, the process will be called DDT86 even when MYPROG is running. ///3PC PC is an abbreviation of Personal Computer. ///3PC-DOS PC-DOS is the name of a particular operating system, provided by IBM, for use on the IBM Personal Computer. ///3VIRTUAL In computer parlance, the word virtual is used in the sense of: 'An item which can be considered as real, but is not actually so.' Thus, a 'virtual disc' is not a real disc. It is an area of memory which can be treated as a disc. When using it, you can forget that it is really computer memory, and pretend it is a disc. A 'virtual console' is also really memory (either in the computer or one of your workstations). 'Console' is another word for 'workstation'. When a process is running in the background and wishes to display something on the workstation screen, it writes to a 'pretend' screen called the virtual console. The program itself is unaware of whether its output is being received by a real console (the workstation screen) or a virtual console. When a virtual console is brought into foreground, the conceptual 'screen contents' are displayed upon the real workstation screen. Virtual consoles are therefore sometimes called 'virtual screens'. ///2HPRINT How to print information from the HELP system Syntax: HPRINT{topic-name topic-name .....} You use HPRINT to print out selected texts from the help system. Simply type HPRINT followed by a list of topic names (separated by spaces). The text for the chosen topics, together with that for any related subtopics, will then be printed. Each topic/subtopic will be started on a new page. If you type HPRINT without specifying any topics, a list of the available topics is displayed, and you can then type the names of those you wish to have printed. After each print the list of topics is redisplayed so that you may select further topics for printing. You may use the special topic name 'ALL' if you wish to print all the topics from the help system. ///2EXTENDING Adding your own topics to the HELP system All the information for the HELP texts is held in the file HELP.HLP. If you type HELP [EX], HELP will extract the texts from this file into a file called HELP.DAT. HELP.DAT may then be edited like a normal text file, using ED or a suitable word processor. Within the file, you will find that each topic name is on a new line, and is preceded by three / characters and a single digit number. The number is the level number, where 1 signifies a top level topic (one whose name is given on the initial menu when you first enter HELP), 2 is the next level down and so on. Following the topic name, you may specify (on the same line) a brief description of what is covered by that topic. If you do so, the text you specify will be output in brackets after the topic name in the appropriate menu. The actual topic text, ie. that which is output if the user selects the topic name, commences on the next line and continues up to the next topic (or end of file). All topics at the lower levels (ie. level number greater than one) are deemed to be subtopics of the last next-higher-level topic which preceeded them in the file. Thus, each sub-topic must be followed by a topic which is: 1) The same level. 2) The next lower level (eg. a level 3 topic could be followed by a level 4, but NOT a level 5). 3) Any higher level (eg. a level 3 could be followed by a level 2 or level 1). The best way to understand this arrangement is to type HELP [EX], and examine HELP.DAT to see how the current topics are laid out. When you have finished editing HELP.DAT, a new HELP text file (HELP.HLP) may be created by: 1) SET HELP.HLP[RW] 2) HELP [CO] 3) SET HELP.HLP[SYS,RO] Note that it is necessary to set HELP.HLP to SYS RO to enable HELP to be used by several people at once. In order to handle the command formats HELP [CO] and HELP [EX], HELP requires the overlay file HCREATE.CMD. ///2HCREATE This is an overlay of the HELP command. It is only used when extending the help system (see EXTENDING). ///1PC-FIRST-USE Information if you have never used the PC before Before you run work on your ICL Personal Computer you will want to get used to the controls and learn about the facilities of the operating system. With your computer you have received: Getting to know your This booklet is your introduction to the Personal Computer ICL Personal Computer LEARN This is a tutorial program. It teaches you the basics of Concurrent CP/M-86. You are strongly advised to look at both of these before starting serious work on your Personal Computer. The LEARN tutorial should only be run when user 0, drive A is selected (that is, when the system prompt reads A> ). When you first tried to use your Personal Computer, a special program called SETUP was run automatically. This program will have guided you through the steps necessary to configure your system and, if your machine is a twin floppy, SETUP will have guided you into making copies of your diskettes as necessary. If you would like to make further copies of your system, read the topic: 'COPYING SYSTEM'. ///2Learn The LEARN tutorial has been issued to you on diskette. It has been designed to teach you about Concurrent CP/M-86 in a series of self-contained sections. Once you have entered the program you are guided by a series of menus which enable you to select which aspects of the system you want to learn about. The LEARN tutorial is supplied on a separate diskette, so if your ICL Personal Computer is one with two diskette drives and no fixed disc, you should use LEARN as follows: Insert your load diskette into the left hand drive, and your LEARN tutorial diskette in the right hand drive. Type: B: and press RETURN Type: LEARN and press RETURN If you have a fixed disc machine, the LEARN tutorial will be installed on your fixed disc, so you enter the tutorial as you would any other program, ie. just type LEARN and press RETURN. ///2CONFIGURING When you first get your ICL Personal Computer or whenever you change the system (for example to add a printer, alter port connections or revise virtual disc requirements), you must configure your operating system. This process ensures that your computer is set up properly for the devices you want to connect to it. You can configure your system with one of two commands: SETUP or CONFIG. When a new machine is first switched on, SETUP is called automatically. SETUP guides you through all aspects of the configuration process including taking backup copies of the release media. CONFIG is used for specifying or checking the new configuration. Both SETUP and CONFIG are screen-based and self-documenting, so all you need to do is answer the questions displayed on your workstation screen. You can select your own level of operation. If you have not configured a system before you can use SETUP (if backup copies are required) or use CONFIG's 'further information' screens. If you are more expert, you can simply type CONFIG and select the screens you need to modify the configuration. If you wish to copy your configuration from one disc to another, read the topic: 'COPYING SYSTEM'. For information about the virtual disc facility, read the topic 'VIRTUAL' (filed under 'DISCS'). ///3LIMITATIONS On the use of CONFIG The CONFIG utility may only be used when user 0 is selected. With a 256KB machine, the maximum configuration of four 6402, 6404, or 6405 workstations, plus PC-MODE, will leave insufficient store in which to run CONFIG. If you configure such a system, and subsequently wish to reconfigure, you should do so by booting from the issued 'Load Diskette' and thus resorting to the basic (minimum) configuration first. Note that this restriction does not apply if any 6402G or 6404CG workstations are in use. This is because 'G' suffixed workstations do not require a screen image in main store. The GENCCPM process as initiated by CONFIG will delete the file CCPM.OLD if it exists and has RW attribute. If CCPM.OLD exists with READ ONLY attribute, GENCCPM (and hence CONFIG) will fail. Users should therefore avoid this particular filename. ///2SETUP The SETUP command is designed to assist you through all the activities necessary to set your system up ready for use. This includes such tasks as copying your diskettes if necessary, and configuring the system. SETUP is entered automatically when you first turn on your machine. This facility will be turned off once you have completed the setting up process, so that next time you turn on you can start doing real work immediately. As it may be the first program you use (before even you have had a chance to use HELP), SETUP is self explanatory, all you need do is answer the questions put to you. SETUP calls CONFIG which is also a self explanatory program. ///2LOADING Rear load switch. How to reload the system. If you turn your ICL Personal Computer off, the operating system will be reloaded automatically when you turn on again. If you have a fixed disc (integral or external), the computer will attempt to load the operating system from fixed disc (fixed disc 0 if you have more than one). If you have no fixed disc, the computer will attempt to load the operating system from the diskette in diskette drive 0 (the left hand drive). You may reload the system at any time (without turning your computer off) by means of the rear load switch. This switch is located on the rear of your computer's main unit, near the on/off switch. See your Installation Card for an illustration. If you press this switch downwards (i.e. press the bottom of the switch), the system will load from fixed disc if available, or failing that, from diskette (in the same way as when you first turn on). However, if you press the switch upwards, the computer will attempt to load the operating system from diskette drive 0 even if you have a fixed disc. Thus if the system on your fixed disc ever becomes corrupted or unusable, you can load the system from diskette by pressing the rear load switch upwards. Note that when you use the rear load switch to load the operating system (as opposed to turning off then on), the computer performs slightly fewer checks on the hardware. For example, the memory check is omitted. This is to save time because these items will already have been checked when you first turned on. Do not forget that the ICL Personal Computer is a multi-user machine. Make sure no one is using the computer from another workstation before you reload the system, otherwise their work will be lost. ///1WORKSTATION How to control your workstation The ICL PC supports many different types of workstation. To ensure that all the features of your particular workstation are in operation, you must ensure that you have specified the correct workstation type in your configuration. Before you configure your system, workstation zero will be set up as 'Workstation of unspecified type'. Screen switching is permitted on a workstation configured in this manner, but as no virtual console contents are recorded, no new screen image will be displayed when you switch. All output directed to a background screen on an 'unspecified' workstation will be lost. The subtopics below give details of how to control your workstation, the virtual console system and so on. ///2KEYBOARD Use of the keyboard In addition to the normal typewriter keys, the keyboards on the ICL 6402 and 6404 type workstations (including the 'G' suffixed graphics workstations) includes a number of special chocolate brown keys. Many of these are only used by particular application packages. The package documentation will explain their use if applicable. Many are however used by the operating system. This section gives a brief description of the more common ones. RETURN To have got this far, you will already have discovered that you need to use the RETURN key after almost everything you type. It tells the computer that you are satisfied with the information you have typed, and are ready to have it acted upon. ENTER Pressing this key has the same effect as pressing RETURN. DEL DEL is short for DELETE, and has the effect of deleting the last character typed. However, when typing in commands, pressing DEL causes the deleted character to be repeated (even though it is deleted from the computer's view of what you have typed). This is confusing, so you are recommended to use the BACK SPACE key when typing commands. BACK When typing commands or input to certain commands and SPACE programs, BACK SPACE moves the cursor back one character position and deletes the character previously typed. This is the recommended method of correcting typing mistakes when typing system commands. However some packages (for example the 'Wordstar' word processor package) interpret BACK SPACE as meaning 'move cursor back without deleting the character'. To check the meaning of BACK SPACE, consult the documentation supplied with the application in use. FUNCT This is short for 'function'. The FUNCT key on its own does nothing. It is used to modify the effect of another key. You hold down the FUNCT key and press another key. For example, a screen switch to virtual console 0 is achieved by holding down the FUNCT key and pressing 0. In documentation, this is written as FUNCT & 0. CTRL This is short for 'control'. The CTRL key on its own does nothing. It is used to modify the effect of another key. You hold down the CTRL key and press another key. For example you might hold down the CTRL key and press C. In documentation, this is written as CTRL & C, or ^C. Here are some common uses of the CTRL key: ^C Aborts most system commands and many other programs. ^P Turns the 'printer echo' feature on and off. When printer echo is turned on, all information subsequently output on that virtual console is sent also to the printer. See topic: 'LISTING' for details and limitations of echo printing. ^R When typing commands or input to certain commands and programs, ^R outputs (on the next line) the command so far as the computer sees it. Use it if you have used the DEL key and the display has become confusing. ^S Pauses workstation output. Use it, for example, if you are displaying information and wish to prevent something from racking off the screen before you have had a chance to read it. ^Q Reverses the effect of ^S. In other words allows workstation output to resume. ^O Turns the 'supress output' feature on and off. When 'supress output' is turned on, all output intended for the workstation screen will be discarded without being displayed. ^X When typing commands or input to certain commands and programs, ^X causes the entire command line to be deleted. Use it if you change your mind about what you have just typed in, or have made so many typing mistakes you want to start again from scratch. NOSCL This key performs a similiar function to ^S and ^Q above in that alternate depressions of the key stop/restart workstation output. However this key should be used with extreme care as there is no visual indication that it has been depressed, and this could lead to the mistaken impression that the system had stopped working. Also NOSCL will stop ALL workstation processing including background virtual consoles, whereas ^S only stops output to the foreground virtual console. ///2NOTES Additional minor points and restrictions 1) The system software will not reset video attributes such as Wordstar mode when the system is reloaded. 2) Menu driven commands such as CONFIG and DCOPY send enquiry strings to the workstation in order to ascertain its type etc. These may result in a small number of extraneous characters being displayed temporarily before the first menu appears. 3) Before switching off an operator workstation connected to an ICL PC which is still running, you should ensure that all four virtual screens associated with that device are idle (ie. displaying the A> prompt). Failure to comply with this can cause a partial or complete system hang, if the workstation in question is using the DTR protocol. This is because an active process may attempt to write to the screen whilst holding a system resource. If such a hang up is detected before all other workstations have locked up, the system may occasionally be restarted by typing CONFIG to remove DTR from the list of protocols applicable to the extinguished workstation. Failing this, the system may be restarted by turning the workstation on again. 4) When a function key value is programmed, the 6402G and 6404CG videos do not display the text on the screen whereas other models do. As a result, programs which set up function keys may have different display formats on different types of workstation. 5) If you have a colour workstation, several utilities (for example DRGRAPH) will alter the colour settings of the workstation to suit their own particular needs. It is unusual for such applications to reset the workstation colours to their original values on completion. ///2TYPE-AHEAD The ICL PC has a type-ahead facility. This means that you can anticipate system prompts etc. and type commands or program input before the system is ready to accept it. The characters you type will be buffered up, and read when the system is ready to accept them. Certain commands and programs send enquiry sequences to the workstation in order to ascertain video type etc. These programs need to empty the type ahead buffer in order to avoid confusing typed ahead input with input generated by the video in response to the enquiry string. The system component 'BDOS', which implements such facilities as CONTROL-C and screen switching, maintains a type-ahead buffer of approximately 40 characters. When this is filled, further keyboard input will be buffered up by the system component 'XIOS'. As a result, if a program is run which does not accept keyboard input and a substantial number of characters are then typed, those characters will not be acted upon until such time as the program terminates or resumes reading from the keyboard. Thus screen switching etc. will appear not to work (in actual fact, the screen switch is merely held in abeyance and will occur later). ///2VCMODE Syntax: VCMODE {option} VCMODE specifies the background operating mode for the current virtual console. When a virtual console is switched-out, it operates in either the Dynamic Mode or the Buffered Mode. See the HELP topic VCONSOLES and its subtopics BUFFERED and DYNAMIC for more information. ///3Examples A>VCMODE Show background mode A>VCMODE HELP Display example VCMODE commands A>VCMODE dynamic Set background mode to dynamic A>VCMODE buffered Set background mode to buffered A>VCMODE size=5 Set buffer file size to 5 Kbytes ///3options HELP Displays examples of the various versions of the VCMODE command DYNAMIC Switches the console to Dynamic mode. If a console is in Dynamic Mode and you switch it into back-ground, data normally output to the screen is written to a reserved area of memory. This area is sufficient to hold a single screen, therefore when you switch the console back to foreground, some data may be lost. BUFFERED Switches the console to Buffered mode. If a console is in Buffered Mode and switched to back-ground, data output from a running program goes into a buffer file on diskette. When the virtual console is switched back to foreground, the content of the buffer file is "re- played" onto the screen, thus no data is lost. SIZE=n Specifies the size of the buffer file. If a buffer file fills up, the operating system will suspend that background console's program execution so that no data is lost. ///2VCONSOLES Virtual consoles - what they are and how to use them Virtual consoles are a feature of Concurrent CP/M-86. They allow you to view, one at a time, each of the programs or processes that are running simultaneously at your workstation. Each ICL Personal Computer workstation can support up to four virtual consoles. So, although you can only view one at a time, you could be running four quite separate jobs at the same time at each workstation in your system. What you see on the screen is the output from the current (foreground) virtual console. The output from the other (background) virtual consoles is held in memory. You can switch your work from background to foreground by using the FUNCT key (see SCREENSWITCH). Work running on a background virtual console is in one of two modes: buffered (all screen output is saved on disc, and output when the screen is next switched to foreground) or dynamic (only the latest screen contents is saved, any output which 'racks off' the screen, or is overwritten, whilst the screen is in background will be lost). You can select the mode by using the VCMODE command. The status line at the bottom of the screen gives information about the state of the system, and the current virtual console. Each virtual console in the system is known by a number or letter, and as we said above, 4 virtual consoles are available on each workstation. If you number your workstations 0 (the workstation plugged into port 0), 1 (the workstation plugged into the next lowest port number on your machine) and so on, the virtual consoles available on each are: Workstation Virtual consoles available 0 0 1 2 3 1 4 5 6 7 2 8 9 A B 3 C D E F ///3BUFFERED You can switch the current (foreground) virtual console into the background by selecting a different virtual console for display. If the switched-out virtual console is in Buffered Mode, any program output to that console is stored in a disc file. Then, when the background virtual console is again switched into the foreground, all output stored in the file is displayed on the workstation screen. The display of the stored output may be terminated by pressing CTRL and C. The other virtual console mode is Dynamic Mode. Use the VCMODE command to switch consoles from one mode to the other. ///3DYNAMIC You can switch the current (foreground) virtual console into the background by selecting a different virtual console for display. If the switched-out virtual console is in Dynamic Mode, any program output to that console is stored in a reserved area of memory. Then, when the background virtual console is again switched into the foreground, any output stored in memory is displayed on the workstation screen. However, the memory area that stores screen data has a capacity of only one screen. Previous program output can be replaced by later program output if more than one screen of data is output while the virtual console is switched out. Use the VCMODE command to switch a console from Dynamic to Buffered Mode if you anticipate a program outputting more than one screen of data to its virtual console while the console is switched-out. ///3SCREENSWITCH To bring a different virtual console into foreground, hold down the FUNCT key and simultaneously press the number of the desired new foreground console. For example, on workstation 0, pressing FUNCT & 2 will bring virtual console 2 into the foreground. The number pressed may either be relative (0, 1, 2 or 3 for the four virtual consoles attached to this workstation), or the absolute number or letter of the virtual console within the system. Note however that even when using absolute numbers, there are only 4 virtual consoles that can be called into the foreground on any one workstation. If the number pressed does not correspond to one of the virtual consoles associated with the current workstation, the number will be divided by 4 and the remainder taken as a relative virtual console number. Note that there is a problem associated with certain early models of workstation such as the 6402 and 6404 (ie. those without a 'G' suffix) whereby rapid screen switching can cause the display to become corrupted. Typically what is observed is information relevant to both the old and new virtual consoles intermingled on the display. If this should occur, simply switch to a different virtual console, pause to allow the screen re-paint to complete, then switch back to the desired virtual console. ///2STATUS-LINE The status line is the bottom-most line on the screen. Normally, the system status line is displayed. This is generated automatically by and gives information about the system, and the current (foreground) virtual console. The following is a typical status line: Screen=2 Dynamic PIP A ^S ^P=0 Printer=0 It tells you: 1) The (absolute) number of the current foreground virtual console. 2) The current mode (dynamic or buffered, see VCMODE topic for further details). 3) The name of the current process (PIP in the above example). 4) The drive(s) on which files are open (Drive A in the above example). 5) Whether control keys O, S or P have been pressed. Note that if control P has been pressed the '^P' on the status line will be followed by the number of the printer to which echo printing is to be sent (see the topic: 'LISTING' for details of echo printing). 6) The number of the current default printer for this workstation. If you have used TOD or a similar program to set the date (to 1/Jan/85 or later), the time and date are added to the status line in the form: 12:45 Monday 25 Mar 1985 Programs can override this default and generate their own status line (for the attached virtual console only) by outputting escape g and escape f sequences (for details see your Workstation User Guide). The system status line may be restored by outputting an escape h sequence. Conversely, if you set the date to any value earlier than 1/Jan/85, the time and date will be dropped from the status line. Note that most workstations have a screen-saving feature which causes the screen to blank out if the workstation hasn't been used for some time. The operating system updates the time on the status line every minute, which would be sufficient to prevent the workstation's timeout feature from coming into operation. To overcome this problem, the operating system will omit the items: time, date, and drives with files open, from the status line of any workstation on which there has been no screen output (to any of its four virtual consoles) for the last 4 minutes or so. The time etc. will be restored to the status line when any subsequent screen output occurs. For example, if you press RETURN and thereby cause the system to repeat the A> prompt, the time etc will be restored to the status line. Note however, that in this context, screen switching does not constitute screen output. ///2NVRAM Several features of the workstation are controllable by making changes to NVRAM (Non Volatile RAM - special memory in the workstation which remembers things even when the workstation is turned off). See your workstation documentation for details of the facilities available. Note however, that you should always reload the operating system after making changes to the NVRAM settings, otherwise the operating system may be unaware of the changes you have made. ///2FUNKEY The FUNKEY program is used to assign texts to your function keys. For a description of what function keys are for and how they are used, read the 'KEYS' topic. For a description of how to use the FUNKEY program, read the 'USAGE' topic. ///3KEYS What function keys are, and how they are used On your keyboard there are 11 special function keys marked F1 to F11. You may assign any text you wish to some or all of these keys. Having done so, the effect of pressing one of the keys is as if you had typed the text associated with it. The idea of this is to save you typing time. Suppose, for instance, you often have to type the text 'rateable value'. If you assign this text to function key F1, you can subsequently type 'rateable value' just by pressing F1. You may have two texts associated with each function key, one generated by the key on its own, the other generated by pressing shift and the function key. This allows you to have up to 22 predefined texts at any one time. On most workstations, the function keys have clear, removable tops so you can insert labels to remind you which text you have associated with which key. You can assign texts to function keys using the FUNKEY command, or by sending out the appropriate escape sequence from a program of your own (see the workstation documentation for details of escape sequences). Whichever method you use, the function key texts will be associated with a particular virtual console. For example, you may set F1 to generate the text: 'rateable value' on console 0, and 'hereditament' on console 1. The operating system will alter the value associated with F1 as you switch from one virtual console to another. ///3USAGE How to use the FUNKEY command When you type in FUNKEY, a prompt is displayed inviting you to enter a function key number. If you wish to display the current settings, you can type in D (or d). To assign a new text to a key, type the function key number. To assign a text to shift and a function key, you enter a ^ character followed by the function key number (eg. ^3 to assign a text to shift & F3). Having entered a function key number (and pressed RETURN), FUNKEY will invite you to enter the desired text. You can use the following special characters to include certain control characters in the Function Key strings: ! = RETURN (^M) $ = ^P (printer echo ON/OFF) You can include any of these special characters in the function key string by preceding them with a \ character. For example, \$ in the string will be interpreted as a request for a $ character, rather than ^P, in the function key text. To exit from FUNKEY when you have finished programming the function keys type in E (or e). Normally, function key values are associated with one virtual console only. When you switch screens, the function key values will be reprogrammed to the texts appropriate to the new screen. If you wish to make the function key texts associated with the current virtual console common to all four virtual consoles on your workstation, you can type in G (or g) in response to FUNKEY's request for a function key number. This causes the current texts to be copied to the other three virtual consoles available at your workstation. Note that the 'global' feature only copies texts which were set up previously. If you alter any texts, or set up new ones, after specifying G for global, those subsequent alterations will effect the current virtual console only. FUNKEY will output an error message if you attempt to set up too many characters of function key data. See the topic: 'LIMITATIONS' for details. You may remove the text assigned to any key by specifying a new text consisting of no characters at all. In other words, just press RETURN when FUNKEY asks you for the new text. ///3LIMITATIONS Note that function key values which have not been set by software (eg. by using the FUNKEY command) have undefined values. You should therefore avoid pressing function keys which haven't been programmed or the results will be unpredictable. In particular, some of the workstation's factory default settings may result in the system performing a screen switch operation. If you switch your PC off, or reload the operating system, the function keys on your workstation may temporarily retain their former values. However, the software will have no record of the function key values, so a FUNKEY display will report that no function keys are set up, and the keys may not be reset correctly when switching from one screen to another. It is thus always advisable to reset your function keys every time you reload the system. The texts associated with each key are 'remembered' by the workstation itself. The amount of memory available for function key texts varies from one workstation to another (consult your workstation documentation for details). In addition, each workstation has a maximum length of text for any one key. In addition to the actual text, there is one 'overhead' character for each key programmed. Thus for example, if you assign texts of length 1, 2, and 3 characters respectively to keys F1, F2, and F3, this will consume 9 characters of the workstation's function key memory area. Six characters to hold the actual texts, plus three characters overhead, one for each key set up. FUNKEY ensures that you do not exceed the memory limits of the most capacious workstations by allowing a key memory area of 255 characters, and a maximum text length per key of 80 characters. The following error messages may be output by FUNKEY: The text is too long. You may only program this key with up to n characters. This message will be displayed either if you exceed the 80 characters per key limit, or if there is insufficient space remaining in the 255 characters of memory to accommodate the text given. 'n' in the above message will either be 80, or the number of characters of memory remaining (less one for the overhead character). You have exceeded the total number of characters that may be programmed. This message is output if there is insufficient memory remaining to program any further texts. In other words, you have used all 255 characters, or only one remains (enough for an overhead character, but no text). ///2PALETTE PALETTE is for 6404CG workstations only. It lets you change the colour palette settings. In graphics mode, the 6404CG workstation can display pictures in up to 8 different colours. These colours are numbered 0, 1, 2 etc up to 7, these numbers being the 'colour indices'. However, it is the 'colour palette' which dictates precisely what colour is displayed for each index. PALETTE displays on the screen three overlapping triangles each coloured in a variable intensity of red, green or blue. The overlap area shows the colour formed by the mix of the three primary colours. A grid is also displayed on the screen. Using the mouse, you move the graphics cursor over this grid, and press any one of the mouse buttons when the cursor is over the number corresponding to the 'colour index' that you wish to alter. Having done so, you may then increase or decrease the intensities of the primary colours to suit your needs by moving the cursor until it is on the triangle or column corresponding to the primary colour you wish to alter, then pressing the left mouse button to decrease the intensity, the right button to increase it. You can increase or decrease the intensity of all three primary colours at once by placing the cursor over the overlap area. The triangles reflect any changes you make to the colour mix, so that you can judge when the colours are set correctly. The actual colour palette is not changed until you exit from PALETTE, so you may experiment freely without fear of corrupting your workstation's settings. You exit from the PALETTE command by placing the cursor over one of the option boxes displayed at the bottom of the screen, and then pressing any mouse button. Note that there is currently an error in the workstation which occasionally results in the cursor becoming invisible when positioned over the triangle corresponding to the red component of the colour. If you lose your cursor at any time, simply move the mouse in any direction until the cursor re-appears. ///2DIAL-UP Connecting remote workstations using a modem The ICL Personal Computer offers a facility whereby any workstation (other than the one on port 0), may be connected to the computer via a modem. This allows you to connect a remote workstation using a standard telephone link. To use this facility, you must first call an engineer to modify those ports to which you wish to connect a modem. Note that port 0 may not be modified. As a general rule, a port thus modified may no longer be used for devices connected using a standard RS232 interface. The only exception being printers which do not use the XON/XOFF protocol. Such printers may be connected to modified ports if so desired. (For the technically minded, this is because the received data is ignored when the Carrier Detect input on the port (pin 22) is inactive.) When you reload the operating system after the port has been modified, you should call CONFIG and select the serial device menu. You will note that the 'line type' for the modified port(s) has changed to 'secure'. You may now make any changes you wish to the serial device configuration, including setting the line type to 'modem' if so desired (see the subtopic: 'LINE-TYPE' for details). You should pay particular attention to the baud rate of any workstations connected via modems (refer to the specification of your modem). When you return to CONFIG's main menu, you MUST select the option to implement the new configuration even if you have made no changes. The fact that one or more ports have been modified is sufficient to warrant re-configuration. A similar procedure must be followed if you wish to revert to using any modified ports for normal RS232 connection. You must first call an engineer and have the ports set back to their original, unmodified state. Having done so, reload the system and enter CONFIG. The ports in question should now be marked as line type 'normal'. Make any configuration changes you wish, and then select the option to implement the proposed configuration (even if you have made no changes). ///3LINE-TYPE The line types 'modem' and 'secure' both refer to lines connected via a modem. The only difference is in the action taken by the system if the connection is broken for any reason. If the line type is set to 'modem', no special action is taken by the system. The user may restore the connection (eg. by re- dialling) and continue as if nothing had happened. If the line type is set to 'secure' and the connection is broken, the system will terminate all processes initiated from the workstation in question. Do not invoke LOGOUT on a workstation connected via a normal RS232 line. If you do, all processes initiated from that workstation will be aborted (including background processes), and screen switching will no longer be possible on that workstation. ///3LOGOUT The program LOGOUT is supplied by ICL for use with dial-up lines. If you invoke LOGOUT it will terminate all processes attached to the current workstation (even if the line type is 'modem'). If the line type is 'secure', LOGOUT will be invoked automatically if the connection is broken. Whatever the line type, the system recognises when the connection has been broken, and terminates the connection from its end also - this is the computer equivalent of 'putting the phone down'. ///1DISCS General information about the disc system All models of the ICL PC have one or two diskette (floppy disc) drives. In addition, your PC may have an integral fixed disc, and one or more External (fixed) Disc Units (EDUs). If you have just one diskette drive, it will be diskette drive 0. If you have two, the left hand drive will be diskette drive 0, and the right hand drive diskette 1. Your fixed disc units are similarly numbered, with the integral disc (or first EDU if no integral disc) being fixed disc 0, the next EDU is fixed disc 1 and so on. When you configure your system, you assign single letter names to your discs, in the range A to P. In addition to your fixed disc and diskette drives, you may also choose to allocate part of you computer's main memory to be a virtual disc (also known as memory disc). ///2INITIAL Initial or default disc configuration Before you configure for the first time, the following default disc names will be in use: System loaded from | System loaded from ICL software issue | integral fixed disc: Diskette: | ---------------------------|---------------------------- Diskette 0 = Drive A | Integral fixed disc Diskette 1 = Drive B | = Drive A First EDU (if available) | Diskette 0 = Drive B = Drive C | When you load the system, the operating system checks how many fixed discs are connected, and automatically deletes from your configuration any fixed discs which are unavailable. Unfortunately it is not possible (for technical reasons) to make a similar check for diskette drives. Therefore, if you have only one diskette drive and load from the ICL issued software diskette, you should de-configure diskette 1 when you configure the system. CONFIG's disc configuration screens will explain how you do this. You are also advised to rename the fixed disc as drive A. ///2DISKETTES The ICL PC can read several different formats of diskette, and can write both to diskettes which are in its own native format, and to those which are in ICL DRS Powerbuild format. When CP/M discs are in use, you must always ensure that the diskette drive is set to the correct format (see OPTION command for details). When IBM DOS diskettes are being read using the PC-MODE option, the system can automatically switch between IBM PC double sided format and IBM PC single sided format. Either option may thus be selected, and single and double sided discs may then be read without any need to use the OPTION command between. There is also a problem associated with changing diskettes, and this applies to all types of diskette. The system will occasionally fail to recognise when you have removed a diskette and replaced it with another one. You may find that if you then type DIR, the system will list the files which were present on the old disc not the new one! If you try to access a file on your new disc, you may be told that it is not there. This is because some of the disc directory information is read into store, and if the system is unaware that the disc has been changed it will (for efficiency) refer to the in-store copy of the directory rather than reading from the diskette again. The problem is particularly common when the only change between the old disc and the new is the addition of further files (eg suppose you remove the disc from your drive, insert it in another machine where additional files are copied onto it, and then replace it in the original machine) - in this case, the additional files may not appear in the directory listing and will thus be inaccessible. The problem may be circumvented by resetting the disc system. Note, however, that contrary to customary practice, this is not achieved by pressing ^C. Instead, a utility DSKRESET is provided with this release. The disc system is thus reset by typing DSKRESET. This can be done at any time, but is essential if for example a directory listing shows that the system has failed to recognise a diskette change. For complete security, type DSKRESET every time you change a diskette. Note that if you attempt to access a diskette drive when no diskette is inserted, the drive light will come on, and will remain on (even after the disc transfer has been aborted) until a diskette is inserted. ///2VIRTUAL Virtual disc facility The virtual disc facility allows you to allocate an area of your computer's memory for use as if it were a disc. You use the CONFIG utility (q.v.) to specify how much memory you wish to use for the virtual disc, and which drive letter you wish to allocate to it. Suppose you decide to use 100K bytes of your computer's memory as a virtual disc, and to call the virtual disc drive M (M is for 'memory disc' and is the conventional drive letter for the virtual disc, you may however use any drive letter you wish). Having specified these requirements (and reloaded the system), you may now use drive M just as if it were a real disc. You can copy a files onto it (using PIP etc), obtain directory listings (using DIR or SDIR) and so on. The great advantage is that information held on virtual disc may be read and written much faster than information on ordinary discs. You must however remember that the information on the virtual disc is in reality held in your computer's main memory and so will be lost if you turn the computer off. It will also be lost if you alter the size of the virtual disc and reload the system. You should therefore copy any information you wish to keep from the virtual disc onto real discs at the end of each session. ///3SIZE Discussion of virtual disc size constraints Any virtual disc you request will reside in your computer's main memory. So if you request for example a 100K byte virtual disc, there will be 100K less memory left for other purposes. You may request a virtual disc of any size from 18 up to 764 K bytes. Your operating system also resides in main memory. The amount of memory used by the operating system depends upon your configuration. It could be anything from about 80 to 150 K bytes. The remaining memory is then available for loading commands and programs. This remaining memory is called the 'User RAM', and the amount you have is stated in the 'User RAM' message which is output on workstation zero when you load the system. You can thus work out the size of your operating system by adding together your 'User RAM' size and your virtual disc size, and subtracting this total from the total amount of memory which is fitted to your machine. You are advised to have not less than 128K of 'User RAM'. If the size of virtual disc which you request would leave you with less than this amount, the system will not allocate the virtual disc and will instead display the message "Requested Memory Disc is too large for available memory." at system load time. You may therefore find that you need to purchase additional memory for you personal computer before you can make effective use of the virtual disc facility. ///2DSKRESET For use when changing diskettes The DSKRESET command resets the disc system. It has no parameters. DSKRESET is particularly useful to force the system to recognise a diskette change. See the 'DISKETTES' topic for further details. ///2HEADPARK Protecting your fixed discs when moving the machine Always use HEADPARK before you move an External Disc Unit or before moving an ICL Personal Computer with an integral fixed disc. HEADPARK moves the read/write heads of the disc to the inner areas of the disc where there is no data. If the heads touch the disc in the outer areas while you are moving your machine you risk losing important data. Do not use HEADPARK when other programs are running, because they are halted and no further system activity can take place. If any other process is currently running which has files open (on fixed or any other type of disc), HEADPARK will fail with the message: 'System still active - headpark not actioned'. After using HEADPARK (and after moving the machine), you must reload the system before you can do any more work (see topic: 'LOADING' for details). ///2OPTION Setting system disc options Syntax: OPTION OPTION DISPLAY OPTION