+ &HELP &Anything &please &me The HELP command is used to obtain information about system features. To select a particular topic give the command: Help Topic where 'Topic' is one or more words describing the subject of interrest, e.g. Help files In certain cases more detailed information may be obtained by following the command with an exclamation mark: e.g. Help Files! Information is available concerning: Commands Compiling Console conventions Copying files Creating files Deleting Files Editing files Files Running programs Stopping Operator commands Utilities A complete list of topics available may be obtained by typing: Help ? Note that typing line feed (LF) will cause output to continue if it has been suspended after the screen has been filled. +Archive &tape backup &tape dumps &tape dumping &backup The command: ARCHIVE invokes the MOUSES magnetic tape archive manager. For further information see o Help Archive_Initialise Labelling archive tapes. o Help Archive_Analyse List the contents of an archive tape. o Help Archive_Dump Details of dumping files to tape. o Help Archive_Restore Details of loading files from tape. o Help Archive_Idump Incremental dumping of user files. These describe the available archiver commands separately, but in fact sequences of commands (e.g. to dump several discs then generate a listing) are commonly entered. The Archive program prompts "Archive: " when it wants a command. Reply with EXIT to return to MOUSES command level. +Archive_Initialise &Archive_initialize To create an empty archive tape, mount a scratch tape in the drive with a write ring fitted. Enter the command: Command: ARCHIVE! In reply to the "Archive:" prompt, enter: Archive: initialise ...text... The text following "INITIALISE" is recorded in the tape label and appears on listings of the contents of the tape. (See HELP ARCHIVE_ANALYSE). At this point, either reply EXIT to the "Archive:" prompt to return to command level, or enter another archiver command. +Archive_analyse A listing of the contents of an archive tape can be produced by the following sequence of commands: Command: archive / listing-file Archive version 1.5 Program announces itself Archive: analyse Archive: exit When the EXIT command is entered, the 'listing-file' is closed and control returns to command level. The 'listing-file' may be any file or device, e.g. Command: archive /$temp Command: Archive /LP: Command: ARCHIVE/LP:LISTING +Archive_Dump The archiver command: DUMP UNIT disc is used to dump all the files on the named disc unit to the mounted archive tape. To dump only the files belonging to a single user, use the command: DUMP USER who As each file is archived, a message line is written on the operator's console of the form: <- filename Reply "EXIT" to the "Archive:" prompt to return to MOUSES command level. Examples: Archive: dump unit sys Archive: DUMP USER User_Fred Archive: Dump user Alan Archive: Dump unit PAK4 +Archive_Restore_User The archiver command: RESTORE USER who causes the mounted archive tape to be searched for any files belinging to the specified user. They are reloaded onto the disc. Where they are put depends on how the archiver was started. By default, the files are loaded into the directory currently being used by the operator, so to reload FRED's files, do: Command: Be Fred {switch to right directory} Fred: Archive Archive version 1.5 Archive: restore user fred Archive: exit Fred: Be {Become OPER again} +Archive_Restore_Unit The archiver command: RESTORE UNIT disc causes the program to read through an entire archive tape, reloading any files which were originally dumped from the named 'disc'. Users will automatically be created on the disc to read the files into. For example the disc PAK5 could be restored to the state it was in when last dumped by mounting the dump tape, re-initialising PAK5 (see Help Disc_initialise) then entering :- Command: Archive Archive version 1.5 Archive: restore unit pak5 Archive: exit +Archive_Restore Files can be retored to disc from an archive tape either singly, or grouped per user or per disc unit. See one of: o Help Archive_restore_file o Help Archive_restore_user o Help Archive_restore_unit +Archive_restore_file To restore the latest version of a file from an archive tape, use: Command:archive Archive:restore file user:filename e.g. Archive:restore file pak5_fred:program.imp If you have an analysis (see Help Archive_analyse) of the tape, the version of the file as it was when dumped on a particular date at a particular time may be restored. First find the serial number of the required version from the analyse listing, then: Command: Archive Archive: Restore #nnn Where 'nnn' is the sequence number of the file. +Utilities &utility programs Information about several system utilities is available. See: Help Disc - The disc backup/copy utility. Help Archive - The magnetic tape disc backup utility Help Tapes - Utilities to process tapes (including IBM tapes) +Disc &Disc utility &Disc checks &Disc checking &Disc copying &Disc compression &compressing discs ©ing discs The disc utility supports the following operations. o Initialise 'raw' discs with an empty file system. o Perform self-consistency checks on the directories on a disc. o Copying one disc straight onto another. o Copy a disc, compressing the free space on the disc into a single area. (May have to deal with corrupt input discs). o Compare the contents of two discs. (Verify copy). See: Help Disc_initialise Help Disc_Test Help Disc_copy Help Disc_compress Help Disc_Compare +Disc_test Checking of a disc is initiated by the command: Command: disc(test) Program prompts for disc to test Or:- Command: disc(test) xx Disc to test specified in command line 'xx' is the disc unit to be tested: either a unit number '#n' or the name of a loaded disc. (See Help Disc units). Any errors detected are logged on the console. More logging output is produced if a question mark '?' is appended to the command line. The enquiry facility (see Help ENQ) may be used to discover the directory currently under test. Examples: Command: disc(test) Program prompts for disc to test. Command: disc(test) #1 Test disc on unit one. Command: disc(test) Sys Test disc with logical name "SYS". +Disc_Initialise &Disc_initialize The command: Disc(initialise) / xxxx is used to start initialisation of the disc 'xxxx', which may be specified either as the logical name of a loaded disc or as a unit number '#n' (see under Help Disc units). The program prompts for certain parameter values. Sample dialogue: Command: disc(initialise) /#1 {init disc on unit one} Are you sure you want to overwrite OLD? Yes/no? yes {reply NO to abort program} Phy. disc name: NEW {any four letters/digits} Log. disc name: NEW {Logical name as used in LOAD etc} System area? yes {reserve an area for a system image?} Disc type: Diablo {or HELP/MSM80/CALCOMP/TELEFILE} Description: any text supplied by the operator ***WIPING NEW Blocks: 9600 No errors The valid replies to "Disc type:" are: DIABLO 10MB cartridge disc MSM80 P-E 67MB drive TELEFILE 300MB drive CALCOMP 67MB drive with TDC controller UNKNOWN Specify no. of tracks, blocks per cylinder and heads by hand. If the command line "Disc(initialise)" on its own is given, the program will prompt "Output disc?" for the name of a unit to initialise. +Disc_Copy The command: Disc(copy) xxxx / yyyy will cause the program to copy the contents of disc 'xxxx' block by block over the contents of disc 'yyyy'. No interpretation is placed on the blocks, i.e. non-MOUSES discs may be copied. The disc identifiers 'xxxx' and 'yyyy' are either logical disc names or disc unit numbers (see Help Disc units). Either may be omitted, in which case the program prompts for "Input disc?" or "Output disc?".After the program starts it will prompt the operator for the type of disc to be copied. (Answer DIABLO for cartridge discs, MSM80 for P-E 67MB drives, CALCOMP for TDC 67MB drives or TELEFILE for 300MB drives). Examples: Command: Disc(copy) Sys/#3 DISC COPY V2.0 Disc type: Diablo Command: disc(copy) /#4 DISC COPY V2.0 Input disc? #3 Disc type: MSM80 Command: DISC(copy) Fred/Jim DISC COPY V2.0 Disc type: telefile +Disc_Compare &Disc_Verify &verify &disc verify To discover whether two discs are identical, use the command: DISC(COMPARE) xxxx, yyyy 'xxxx' and 'yyyy' are logical disc names or disc unit numbers '#n', see Help Disc units. Either may be omitted, in which case the program prompts for "Input disc?" and "Output disc?". The program will prompt "Disc type:" to find out how many blocks are to be compared. Reply DIABLO for cartridge discs, MSM80 for Perkin-Elmer 67MB drives, CALCOMP for TDC 67MB drives or TELEFILE for 300MB drives. Examples: Command: disc(compare) #1, #2 Command: DISC(COMPARE) SYS0, SYS1 +Disc_Compress &Disc_squeeze The command: DISC(COMPRESS) xxxx / yyyy will copy all user directories and files from disc 'xxxx' to disc 'yyyy'. 'xxxx' and 'yyyy' may be either the logical names of two loaded discs or disc unit numbers '#n' (see Help Disc units). Either may be omitted, in which case the prompts "Input disc?" or "Output disc?" will be output. A listing of the contents of the generated output disc can be produced: DISC(COMPRESS) xxxx / yyyy, listing-file If the file system on the input disc is not self-consistent, the program stops with the message: ***FAULTY INPUT DISC If it is necessary to attempt to 'rescue' a corrupt disc, append an exclamation mark "!" to the command line, and the program will attempt to copy any good data remaining on the faulty disc: DISC(COMPRESS) xxxx / yyyy, listing ! (The ", listing" part is optional). The operation of the program can be inspected using the ENQ facility (see Help ENQ). Examples: Command: disc(compress) {Prompts for disc names} Command: disc(compress) user/arch Command: Disc(compress) DEAD / #5, LP:listing ! Command: disc(compress) user/back, List +Ctrl+D &EOT &end of file &end of input The end of file condition can be signalled to a program reading from a terminal by striking the Ctrl+D (EOT) key. This is echoed by the system as "[]". +Ctrl+H &Backspace &rubout &DEL &erase DEL and Ctrl+H (backspace) have identical effects. The last character on the current input line is erased. Pressing DEL 'n' times erases the last 'n' characters from the current line. This is obvious on a VDU. On hardcopy devices the characters cannot be physically rubbed out, so the group of characters being erased are echoed on the terminal (backwards as they are deleted), enclosed between a pair of backslash "\" characters. +Can &Ctrl+X This character causes the whole of the current line to be erased. On fast VDU terminals, the line is visibly erased. On slower hardcopy terminals, a '#' is printed, a carriage return/line feed sequence is output and the command prompt is reissued. (See also: Set_erase) +CR &return &newline Striking the CR (carriage return, RET) key causes the current line to be entered and processed by the system. A carriage-return/linefeed is output to put the cursor at the start of the next line. An IMP program reading from the console will read this as a single NEWLINE (LF) character, Pascal and FORTRAN programs see 'end of record' (EOLN). +LF &linefeed &Ctrl+Q &DC1 Linefeed and Ctrl+Q have identical properties. Output to the terminal is re-initiated after being suspended for one of the following reasons: o End of page on VDU. See: Help Set_Page o Output suspended manually by user pressing Ctrl+S. See: Help Ctrl+S o Output being discarded. See: Help Ctrl+T +Ctrl+S &DC3 &hold output Striking the Ctrl+S key causes output to the terminal to be immediately paused. (Output is resumed by pressing linefeed, LF, or Ctrl+Q). +Ctrl+R &DC2 &retype The current line being input by the user is retyped by the system. This is most useful on hardcopy terminals where a proliferation of '\' characters echoed by DEL can obscure the meaning of the line. +Ctrl+T &DC4 This character causes the system to start THROWING AWAY terminal output. Output is resumed either by pressing Ctrl+Q or Linefeed (LF), or when the running program stops to ask for input from the console. +Ctrl+I &TAB &tabulation &tabs The system provides a 'tab stop' facility for user console input. By default pressing TAB (i.e. Ctrl+I) is equivalent to entering three space characters. The user may alternatively set tab stops at particular columns, see: Help Set_Tabs Help Set_Tab +Ctrl+E &ENQ Pressing ENQ (Ctrl+I) causes the system to display a short message indicating the operation that is currently being performed in the form: ***System: text By default, "text" is the name of the program currently running or null if the system is waiting for a command. User programs and utilities (e.g. the IMP-77 compiler, the DISC utility etc) may set this string to indicate the operation currently being performed. E.g. the compiler indicates which pass it is performing. There is no restriction on when ENQ may be used, during console output, while the system is waiting for input or while there is no console activity. +Ctrl+U &NAK The current line is erased as for CAN (Ctrl+X). Additionally any lines which have been typed ahead by the user and have not yet been processed by the system are discarded. NAK (Ctrl+U) echoes as '#', CR, LF. +Ctrl+O &SI The console is shifted into the normal (default) mode, where upper and lower case letters are distinct. (Although all system programs treat upper and lower case identically). See also: Help SO +Ctrl+N &SO The console is shifted out of normal mode. Henceforth, all lower case letters typed will be echoed as the corresponding upper case character and any program reading from the terminal will see the upper case character. This effect may be cancelled by striking the SI (Ctrl+O) key to shift back into normal mode. +Ctrl+P &DLE &Binary input To allow the input of any ASCII character to a program reading from the console it must be possible to disable the standard interpretation of characters like ESC and TAB. Any character may be entered in thsi way by prefixing it with DLE (Ctrl+P). Examples: - to enter the ESC character - to enter two consecutive DLE chars. F - to enter 'F' BEL. (The before the 'F' is redundant since 'F' has no special significance. - EOT normally causes end-of-file. +Operator commands &ops The operator has access to several privileged commands: Catalog - List usernames on a particular disc. State - Gives status of system/discs/spoolers. Broadcast - Send a short message text to all terminals. Close - Prevent users from logging in. Shutdown - Automatically close after broadcasting warnings. Open - Stop any pending shutdown, and allow user logins. Dateis - Set the date and time counters used by the system. Protect - Set software protection on a disc unit. Hazard - Reset software protection on a disc unit. Load - Make a disc unit available to users. Unload - Used before putting a disc offline. Pass - Set a global system password. Reprime - All spooled files are revoked. Restart - Reboot the system. Type: Help 'command' for further information, e.g. Help broadcast See also: Help utilites Help disc units +Catalog The command: CATALOG disc will generate a listing of the names of all users whose directories reside on the specified disc. 'Disc' is either the name of a logical disc unit, or a disc unit number "#n" in which case the analysis is of the disc mounted on unit "n". (See also: Help disc units). Examples: Command: catalog sys what users are on the system disc? Command: catalog #1 Who is on the disc mounted on unit 1? +Disc units &discs MOUSES accesses discs internally by 'logical disc unit number'. More than one logical disc may be mapped onto a single physical disc unit. (E.g. a 67MB drive is normally partitioned into three logical discs). Usually, the operator will refer to discs by name, but it is possible with most commands to quote the unit number instead in the form "#n". The correspondance between the numbers and real disc drives varies from system to system. For example: #1: Cartridge disc C6: #5: 67MB drive, first partition. #2: " " C7: #6: " " second " #3: " " D6: #7: " " third " #4: " " D7: +State &Status This command has several forms: Command: state - This form produces information about the user who runs it (e.g. amount of CPU time used, username etc). Command: state system - This displays information about all active users. Command: state discs - This lists the names of the online discs. Command: state discs! - As above with extra information - free blocks etc. Command: state discs? - As for STATE DISCS, with disc description displayed. Command: state queues - Display a list of all spooled files. +Broadcast The command: BROADCAST text causes the message "text" to be displayed on all terminals in the form: ***OPER: text Text longer than 23 characters will be truncated on the right. +Close The command: CLOSE will prevent users other than OPER logging in to the system. Attempts to do so will produce the "No user service" message. See also: Help open Help shutdown +Open The command: OPEN allows users other than the operator to log in to the system. The system is normally opened automatically as part of the startup sequence. It should therefore only be necessary to use the OPEN command: o After an explicit CLOSE o If the normal startup sequence has been bypassed by logging in as OPER in the interval between system startup and the message "OPER starts" appearing on the system log. OPEN also cancels the effect of any pending SHUTDOWN command. See also: Help close Help shutdown +Shutdown &Shut &Closedown The command: SHUTDOWN nn causes an orderly shutdown of the system in 'nn' minutes. A warning message is sent to all terminals when the command is entered, and after successively shorter intervals before the deadline. The messages are of the form: ***OPER: Close in nn minutes When the deadline is reached, processing of the spooler queues is halted and a final warning is issued: ***OPER: Closing down NOW!! After a further minute of grace all logged on users except OPER are forcibly logged off. +Protect &write protect &prot When the system starts up, all discs whose logical names start with "SYS" and all hardware-protected discs are automatically software-protected. To software write-protect a disc manually, use the command: PROTECT disc 'Disc' is either the logical name of the disc (e.g. Sys, User) or a unit number '#n' (see Help disc units). After execution of the command, users may no longer create or alter files on the disc in question. The disc need not be hardware protected. Note that if a disc is hardware protected but is NOT software protected then attempts to write to the disc cannot be detected at the user level, but will be reported on the logging device as disc errors. (The attempted write will be retried until either the disc is made unprotected again or the fifteenth retry fails, in which case the attemped operation is abandoned). Disc protection can be reset using the HAZARD command. Examples: Command: Protect SYS Command: protect #1 The protection status of the discs can be displayed with the STATE DISCS command. See also: Help state Help Hazard +Hazard &unprotect &deprotect To remove any software write-protection on a disc, use the command: HAZARD disc 'Disc' is either the logical name of a disc, or a disc unit number '#n'. Hazarding a hardware-protected disc is not advised, since any user who then attempts to write to the disc will not be trapped until the lowest level of the system is reached, where the attempted write will be rejected by the hardware, resulting in a series of up to fifteen retries before it fails). The PROTECT command is used to set software protection. Examples: Command: hazard sys Command: hazard #5 The current protection status of the discs may be inspected by the STATE DISCS command. See also: Help state Help protect +Load &mark on &mark Not all discs physically online to the system are available to users. To make a disc available, the operator must LOAD it. This is done automatically at system startup for all discs online at the time. Discs can be made inaccessible by UNLOADing them (see 'help unload'). The form of command is: LOAD disc 'Disc' is either the logical name of the disc to be loaded or a unit number of the form '#n'. The system will report the fact that the disc has been loaded on the logging device. If the name of the disc begins with "SYS", or the disc device is hardware protected, the loaded disc will automatically be software protected. The command STATE DISCS (see "help state") will display a list of the discs which are currently loaded. Examples: Command: load pak2 Command: load #1 +Unload &Mark off To make a disc which is currently online inaccessible to user processes, use the command: UNLOAD disc where 'disc' is either the logical name of the disc to be unloaded or a disc unit number '#n'. (See "help disc units"). The command STATE DISCS (see "help state") will display a list of the discs which are currently loaded. Examples: Command: unload arch Command: unload #5 +Pass The command: PASS ... allows the operator to set a global system password. The text string "..." should be from one to six letters or digits. After execution of this command a user may log in to ANY user's account by quoting either its the correct password, or the global password. A user may also log in when the system is closed (see 'help close') by quoting the system password. If the command PASS is entered on its own (with no "..." part) the global password is removed. Examples: Command: pass twit Command: pass xyz123 Command: pass {revoke global password} Note: For security reasons this command should be used infrequently and with caution. +Reprime The command: REPRIME causes all files spooled to any queue (e.g. LP:, PP:, BATCH:) to be deleted. The spoolers are reinitialised. It should not normally be necessary to use this command unless the queues become corrupt. +Restart &Reboot &rebooting &boot &bootstrap &booting &reloading The system can by booted either from the front panel with the 50-sequence loader and the MOUSES bootstrap papertape/magtape or while the system is running (e.g. to test new versions of the system). To boot from disc 'xx' from a running system, use the command: RESTART xx (See also: Help disc units). Examples: RESTART #1 Restart SYS The system will go into an loop waiting for a valid system disc to be put online on the nominated disc. (See: Help 50-sequence for details of front panel booting) +50-Sequence &50 sequence To boot from the high speed paper tape reader or the magnetic tape unit, set up the store locations using the front panel, then run from location X'50' after clearing the PSW (press DTA ADR FN SEL on the front panel). Address Contents (both hexadecimal) 50 D500 52 CF 54 4300 56 80 78 1399 {To boot from the high speed paper tape reader} 78 85A1 {To boot from the default magnetic tape drive} 7A dd00 {'dd' is the cartridge disc address, e.g. C6} 7C ccss {'cc': disc controller address, normally B6 {'ss': SELCH address, normally F0 7E 0 +Dateis &set date &time &date The current date and time (as displayed by the STATE program, see: Help state) are set using the operator command: DATEIS date 'Date' is of the form: dd-mmm-yy e.g. 15-Sep-81 Or DATEIS date time 'Time' has the form: hh:mm e.g. 13:10 (ten past one PM) or: hh:mm:ss e.g. 10:11:30 Examples: Command: dateis 25-Dec-81 Command: DateIs 13-Jun-79 11:30 Command: Dateis 13-Jul-80 12:00:02 +COMMANDS &Command &Command format &format The general form of a command line is:- CommandVerb {command parameter} {stream definition} If no stream definition is required the rest of the command line may be used to specify the parameter by using the form: CommandVerb-{command parameter} Examples: E file1/file2 COPY file2/LP:file SET TIME=10 SET-stack=32,password=FRED The way in which the command line is interpreted may be controled by options set in the object file corresponding to the command. See also: Help Streams Help Option Help ? Help Stream Definition Help Command parameter +Creating files &Create &Creation &new files Files are created automatically when they are specified as outputs for programs. Commonly files are created using either the COPY program or the editor. See also: Help Copy Help Files Help Edit Help Filenames +EDIT &Editing &Editing files &E &ECCE The Edinburgh Compatible Context Editor, ECCE, is called using a command of the general form: E input,input2/output where: input: is the primary or only input stream (default N:). input2: is an optional secondary input (defaults to input). output: the file for the edited output (defaults to input). E.g. e fred modify existing file called fred e fred/jim modify fred - output into jim e /fred create a new file fred e tom,dick/harry produce harry from pieces of tom & dick e fred/n: examine FRED without being able to modify it. For full information on ECCE see separate documentation. Help about individual Ecce commands may be obtained by typing: Help E_command-letter e.g. Help E_M Ecce commands are: B C C- D E E- F G I J K L M M- P R S T U V X Y Z %C %F %L %M %N %Q %S %U %X %Y %Z , * 0 ? () \ +E_B Editor command BREAK: B breaks the current line at the file pointer. +E_C Editor command CASE SHIFT: C Moves right and inverts the case of letters. +E_C- Editor command CASE SHIFT BACK: C- Moves left and inverts the case of letters. +E_D Editor command DELETE: D/text/ deletes the next occurrance of text on the current line. +E_E Editor command ERASE: E erases the character to the right of the pointer. +E_E- Editor command ERASE BACK: E- erases the character to the left of the pointer. +E_F Editor command FIND: F/text/ locates the next occurrance of text. +E_G Editor command GET: G inserts the next complete line typed at the console in front of the current line. G* to input multiple lines terminated by a colon. Failure Condition: The line starts with a colon (:). +E_I Editor command INSERT: I/text/ inserts the text to the left of the pointer. +E_J Editor command JOIN: J joins the next line onto the end of the current line. +E_K Editor command KILL: K deletes the current line. +E_L Editor command LEFT SHIFT: L moves the pointer left one character. +E_M Editor command MOVE: M moves the pointer is moved the the start of the next line. +E_M- Editor command MOVE BACK: M- moves the pointer to the start of the previous line. +E_P Editor command PRINT: P prints the current line on the console. When repeated (e.g. P4) a MOVE is performed before the second and subsequent printings. +E_R Editor command RIGHT SHIFT: R moves the pointer right one character. +E_S Editor command SUBSTITUTE: S/text/ substitutes text for the text string last located using F, V, or U. +E_T Editor command TRAVERSE: T/text/ moves the pointer past the next occurrance of text. +E_U Editor command UNCOVER: U/text/ deletes characters up to but not including the next occurrance of text. +E_V Editor command VERIFY: V/text/ does nothing. Failure condition: the pointer is not immediately to the left of the given text. +E_X &E_Y &E_Z User-defined editor command: X,Y and Z replaced by the string previously specified by an editor command %X=......., %Y=......., or %Z=....... +E_%C Editor command CLOSE: %C terminates the editing session and causes the updated output file to be generated. +E_%F Editor command FULL MONITORING: %F enables full command monitoring. +E_%L Editor command LOWER CASE: %L causes subsequent text locating commands to distinguish between upper and lower case letters. +E_%Q Editor command QUIET: %Q turns off command monitoring. +E_%S Editor command SWITCH INPUTS: %S switches between primary and secondary input. +E_%X &E_%Y &E_%Z Editor macro definition commands: %X, %Y and %Z are used to specify strings to be used whenever X, Y, or Z are used as commands. E,g, %X=f/jim/s/bert/ +E_() &E_( &E_) Editor brackets: A sequence of editor commands in brackets is treated as a single command for the interpretation of failure conditions of commands within the brackets. +E_, Editor comma: A comma separates alternative command sequences. +E_* &E_0 Editor indefinite repetition: A repetition count of * or 0 causes the command to be repeated until it fails. +E_\ Editor failure inversion: \ after a command produces a new command which has the same effect as the original command except that the new command fails if the original command would have succeeded. +E_? Editor ignore failure: Any failure condition caused by the previous command is ignored. +COMPARE &Comparing files &File comparison &Differences &changes This command causes the contents of the two text files specified as inputs to be compared and any discrepancies to be noted on the output stream. COMPARE file.new,file.old Compare file.new,file.old/lp:differs +Compilation &Compilers &compiling &compiling programs &compiling programmes Source programs may be compiled using a general command of the form: Compiler(parameters) Source/Object,Listing where 'compiler' stands for one of the supported compilers. The currently supported compilers are: Imp - The IMP77 compiler Fortran - The Fortran77 compiler (pre-release only) Pascal - The Pascal compiler (pre-release only) See also: Help Imp Help Fortran Help Pascal Help Compilation parameters Help Run +IMP The IMP compiler is called using a command of the form: IMP(compilation parameters) source/object,listing The executable object file is given the same name as the source file but with the extension .EXE unless explicitly specified otherwise. If the source file specifed does not exist and has no extension, .IMP is appended then that file is tried. +Compilation parameters &Compilation parameter &Compiler parameters &Compiler parameter &compiler options &Compiler option &Compilation options The optional parameter to commands which invoke the standard compilers comprises a list of options. Three basic compilation options specify an initial state which may be modified by further options - the order is thus significant. Initial states are defined by: DEFAULT: include all checking code and full diagnostic data tables OPT: remove all checking code and reduce size of diagnostic tables TRUSTED: as OPT but diagnostic tables completely removed Modifiers are: (can be inverted by prefix NO) ASSIGN: check for use of unassigned variables ARRAY: check for array subscripts out-of-bounds CAPACITY: check for truncation when storing strings, shorts, bytes BRIEF: generate a summary listing with only procedure headings For example: IMP(ARRAY,NOASSIGN,BRIEF) pgm1/,t: +Fortran77 This command is not generally available yet. +Pascal This command is not generally available yet. +run &running programs &running programmes &execute &executing programmes &executing programs &do Programs are run by giving a command of the form: PROG ............... which causes the file "PROG.EXE" to be loaded and run. The interpretation of the remainder for the line (.......) is dependent on the options set in the object file (PROG.EXE); By default the interpretation is the the line is either of the form:- (parameter) or:- or:- -parameter The parameter (or the null string) is made available to the program and the required streams are set up. Input stream 1 and output stream 1 are selected before the program is entered. See also: Help Streams Help Set Help Option Help Files +STOP &Stopping &logging off &finishing &QUIT &quitting &BYE The command STOP stops the process and logs the user off. All temporary and volatile files are deleted. However, if this command is given from within a command file, see HELP COMMAND FILE, the effect is simply to terminate the execution of that file. Subsequent commands are taken from the user's terminal. +FILES &Files &DIRECTORY &index The format of the FILES command is: FILES - for a listing of the names of all of your own files FILES fred: - for a listing of another user's files. The command produces the listing in alphabetical order in several columns across the page. The output produced may be altered (with both of the above forms), by appending a '!' or '?' to the command, as shown below: FILES! or FILES fred: ! - An extended listing is produced, one file per line, with additional information. FILES? or FILES jim: ? - A '2-D' listing: filenames vertically, with extensions horizontally. A star (*) may be used as a wild-card to select the owner, filename or extension for all the files which match the rest of the parameter. E.g. Files *.imp will list the names of all of the files in the current directory with the extension .imp; Files *:RULES.* will list the names of all the files in the whole file system with filename RULES and any extension. See also: Help Fileinfo Help Filenames Help Temporary files +FILEINFO A FILE is an ordered collection of data bytes (8 bit quantities). The interpretation of these bytes is totally dependant on the program using the file; the system imposes no restrictions on the contents of files. See also: Help Creating files Help Editing Help Delete Help Rename Help Files Help Dump Help Filenames Help Directory +MAIL &Messages &MESSAGE Text messages may be sent between users. (See HELP TELL). If a message is received while a user is logged on, the line "***ACOUNT: mail from ???" will be displayed on the recipient's console. (Where "???" is the sender's username). Messages sent to users when they are not logged on are queued up. When the user next logs on a the message "You have new mail" will be displayed on the console. Mail sent at any time may be read by giving the command MAIL. The program steps through all pending messages. Once a message has been read it may be deleted. If it is not deleted it will continue to appear when the MAIL program is run in future. Two variants of the MAIL command are provided. MAIL? - This simply displays the number of queued messages MAIL! - This shows when and from whom any pending messages were sent. +TELL &SEND &NOTIFY The command TELL may be used to send messages to other users. Command: TELL username e.g. TELL ALAN or TELL THU5 The user is then invited to type a message in on the console. No prompt is issued for the lines of the message. When the entire message has been typed the program is stopped by typing Ctrl+D. To mark a message as being about a particular subject, use: Command: TELL(subject) username e.g. TELL(bug report) FRED To send files to other users, the full form of the TELL command is: Command: TELL(subject) file / username e.g. Command: tell(compiler bug) testprog / IMPD or Command: tell /fred: {file defaults to T:, the user's console, colons in usernames are optional} For very short messages consisting only of a 'subject' line that the user wishes broadcast immediately to the recipient's console rather than being queued as normal mail, use: Command: TELL(up to 19 chars) username! e.g. TELL(coffee time?) fred! +FILENAME &Filenames &file &NAME In general filenames take the form: UNIT_OWNER:FILE.EXT where: UNIT is the name of the disc unit on which the file resides OWNER is the name of the owning process FILE is the file name, which comprises a letter or a dollar optionally followed by up to seven letters or digits. EXT is an optional extension of up to 3 letters or digits. Within filenames lower case letters are treated as upper case. If the UNIT is not specified all available units are searched until the specified OWNER is discovered. If the OWNER is not specified the current user is assumed. On creation the system marks files as being volatile by following the name with a hash(#). Only when the file is closed will the file be renamed properly and any old version deleted. Filenames starting with a dollar are considered temporary. Temporary and volatile files are deleted when the process logs off, or the command PURGE is given. Examples of filenames: DATA NEWS.TXT PETER:prog.IMP SYSTEM:NEWS arch_system:help.txt ARCH_PETER:VERSION1 $program.tst +Ctrl &Ctrl+ &Control &Control characters &Control Character The notation Ctrl+A is used to specify characters generated at the terminal by typing the letter specified (in this case A) while holding down the CONTROL shift key (commonly marked CTRL). E.g. Ctrl+X is generated by holding down CTRL and typing X. +rename &newname &change The command RENAME may be used to change the name of a file. The form of the command is: RENAME oldname/newname The command will fail with an error message if file NEWNAME already exists. Wildcards may be used: Command: rename *.imp/*.old All .IMP files become .OLD files Command: rename xxx.imp/yyy.* XXX.IMP renamed YYY.IMP +CONSOLE &Keyboard &console conventions &TT &T &TTY &input &terminal Information about the special characters which are used to control the operation of interactive terminals may be obtained by giving the command HELP special-character, where 'special-character' is one of the following mnemonics: Backspace BS CAN Cancel CR Ctrl+D Ctrl+E Ctrl+G Ctrl+N Ctrl+O Ctrl+P Ctrl+Q Ctrl+R Ctrl+S Ctrl+T Ctrl+X DC1 DC2 DC3 DC4 DEL DLE ESC Escape LF Line feed Return SI SO TAB +Copy ©ing files &C &transfer The command COPY may be used to copy any input stream to any output stream. Data from a second input stream, if specified, will be concatenated onto the end of the output stream. The command takes the form: COPY input1,input2/output The files take defaults as follows: input1 = T: the user's terminal input2 = N: the null file output = T: the user's terminal Examples: Copy file1/file2 Copy heading,letter/final Copy t:/newfile +Be &become &change hats The system allows a user to pretend to be logged on as a different user. This is useful if a lot of work is to be done in a short period on another user's files. The command: BECOME Fred will prompt you for Fred's password (which is not echoed). Subsequently all unqualified filenames refer to files in FRED's directory. Your own files may be referred to by using the "USER:file" notation. To remind you of the changed state of the process, the subsystem command prompt becomes the appropriate username. In the example, the prompt would change to "Fred:". The STATE command will indicate the directory currently in use at any time. The command: BECOME with no username parameter specified will return the process to its 'home' directory. The command prompt is restored to its original value. The form: BECOME user,pass may be used for brevity. +line printer &lp: &lp &printer Any output files specified as having the owner LP: will be offered to the printer spooler when the file is closed. e.g. COPY FRED.IMP/LP:OUTPUT.XXX will send a copy of the file "FRED.IMP" to the printer and label it "OUTPUT.XXX". If no name is required on the output the form "LP:" may be used. e.g. COPY FRED.IMP/LP: A file may be sent to the printer without copying (resulting in the file being deleted) by offering the file to the printer using the command OFFER. e.g. OFFER FRED.IMP/LP:OUTPUT.XXX +paper tape punch &pp: &pp &punch &paper punch &paper tape Files may be sent to the paper tape punch in a manner analogous to that from sending files to the printer; see HELP LP. e.g. COPY FILE/PP:FILE OFFER TAPE.TMP/PP:OUT.ABC +stream &Streams &environment &Logical units The environment for a program may be specified in the command which invokes the program. This is done using a stream specification of the form: INPUT1,INPUT2,INPUT3/OUTPUT1,OUTPUT2,OUTPUT3 where INPUTx defines input stream 'x' and OUTPUTx defines output stream 'x'. If any of the streams is not specified the default stream assignment is taken. The defaults are: T:, Null:, Null: / T:, Null:, Null: +PASSWORD &PASS The user's password may be changed by a command of the form: SET PASSWORD= is any sequence of up to 6 letters or digits starting with a letter. e.g. SET PASSWORD=SECRET +delete &destroy &remove &del &purge &kill &deleting files &destroying files &removing files The command: DELETE where is a list of file names separated by commas, can be used to delete unwanted files. If the command is given as DELETE *, a prompt is given for every file in the owner's index. A reply of YES causes the file to be deleted, any other reply leaves the file alone. The command PURGE may be used to delete temporary and volatile files. +null &Null: &n: &n &null stream &null file &null input &null output &Drain &Sink The null file is represented by N: or Null:. On input it immediately signals end-of-file, and any output sent to it is discarded. +ESC &Escape &BEL &Ctrl+G ESC and BEL (Ctrl+G) are equivalent. Both signal to the system that the user wants to interrupt the currently executing program, either to halt it or to convey some information to it asynchronously. The system responds to ESC by prompting "Int:" at the start of a new line. See "Help int" for details of the valid replies to this prompt. (The normal reply is "." full stop followed by carriage return, which aborts the currently executing program). +interrupt &Interrupts &int &Break The replies to the prompt Int: (see HELP ESC) are normally made available to a process in the external string variable Console Int. However several of the replies are reserved for use by the system. These are: Int:. (Int full stop) Terminates the running program and returns the process to command level. Int:? (Int question mark) Terminates the running program and invokes the run-time monitor to produce diagnostics (if they are available). Int:! (Int exclamation mark) For convenience this interrupt may be generated by striking the escape key () twice in which case no is necessary. It has the normal significance of any other interrupt, except that it is used in the editor to force the command currently being executed to fail, and hence request another command. +option &Options &command interpretation The command OPTION may be used to modify the interpretation of the command line associated with the execution of an object file. The command takes the form: OPTION(