|
DataMuseum.dkPresents historical artifacts from the history of: RegneCentralen RC759 "Piccoline" |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RegneCentralen RC759 "Piccoline" Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 16896 (0x4200) Types: TextFile Names: »INSTALL.DOC«
└─⟦c96461903⟧ Bits:30002787 SW1602 COMPAS Pascal Version 3.07 Release 1.1 └─ ⟦this⟧ »INSTALL.DOC«
COMPAS-86 SUPPLEMENTARY DOCUMENTATION Installation Notes Copyright (C) 1984 by Poly-Data microcenter ApS COMPAS is designed in such a way that it can be installed to match the hardware of any microcomputer system. If you have bought an "uninstalled" copy of COMPAS, i.e. a copy which is not set up for any specific computer system, then before you can use it, you must install it. To install COMPAS you may use the INSTALL program supplied on the distribution disk. The INSTALL program is fully self-explaining, but to answer the questions asked by it you will probably have to consult your system documentation. If you wish, you may also use the INSTALL program to customize an already installed copy to suit your individual needs. Through the INSTALL program you may view and/or modify almost all configuration parameters. However, some features, for instance user written machine code drivers, cannot be accessed, and usual- ly need not be accessed. Should you wish to modify and/or install user written machine code drivers, you must use the DDT86 debug- ger supplied with your CP/M-86 operating system. The descriptions that follow specify the address and the length of each field in the configuration table. The address is in hex and the length is in decimal. Note that when COMPAS is loaded into DDT86 (using the R command), the first $80 bytes of the file make up a command file header. You must therefore add 8 to the load segment address to find the segment address of the configu- ration table. Many fields in the configuration table are strings. The first byte of a string contains its length and the following bytes contain the actual characters. When the length of a string field is 9, the string can at most contain 8 characters. Basic terminal data ------------------- 0020 32 Terminal name. A string of up to 31 characters defi- ning the name of the installed terminal. A length of zero indicates an unconfigured copy. 0040 1 Screen width. The value contained in this location defines the width of your video display, i.e. the number of characters per line. If a character cannot be written to the last position on the bottom line without scrolling the screen, then set this field to the actual screen width less one. 0041 1 Screen height. The value contained in this location defines the heigth of your video display, i.e. the number of lines on the screen. The value must be exact. Cursor positioning data ----------------------- If a user defined GOTOXY routine is not installed, these fields must be filled in for COMPAS to operate correctly. 0042 9 GOTOXY lead-in sequence. A string of up to 8 charac- ters which is sent before the coordinates in a cursor addressing sequence. 004B 5 GOTOXY separator sequence. A string of up to 4 charac- ters which is sent between the coordinates in a cursor addressing sequence. This string is usually empty, but some standards (e.g the ANSI standard) requires a separator. 0050 5 GOTOXY terminator sequence. A string of up to 4 char- acters which is sent after the coordinates in a cursor addressing sequence. This string is usually empty. 0055 1 GOTOXY coordinate order. Zero in this location indica- tes that the Y coordinate (row) is sent before the X coordinate (column). Non-zero means X before Y. 0056 1 GOTOXY coordinate offset. This location defines the offset value to be added to the coordinates before they are sent. Unbiased coordinate values start at 0. A very common offset value is 32 (decimal). 0057 1 Coordinate format. Zero in this location indicates that coordinates are to be sent as single characters in binary format (i.e. the ASCII values of the charac- ters sent correspond to the coordinate values plus an offset as defined above). Non-zero values (2 or 3) indicate that coordinates are to be sent as strings of numeric characters ('0'-'9'), and the value defines the length of such strings. Terminal function sequences --------------------------- The CLRHOM sequence must be installed for COMPAS to operate correctly. All other sequences are optional. 0058 9 CLRHOM sequence. A string of up to 8 characters which will clear the screen and place the cursor in the upper left corner. 0061 9 CLREOS sequence. A string of up to 8 characters which will clear all character locations from the cursor to the end of the screen. 006A 9 CLREOL sequence. A string of up to 8 characters which will clear all character locations from the cursor to the end of the current line. 0073 9 INSLIN sequence. A string of up to 8 characters which will insert a blank line at the current line and scroll all lines below it down. 007C 9 DELLIN sequence. A string of up to 8 characters which will delete the current line and scroll all lines below it up. A blank line must appear at the bottom of the screen. 0085 9 Reverse on sequence. A string of up to 8 characters which causes subsequent characters to be printed in reverse (or highlight). 008E 9 Reverse off sequence. A string of up to 8 characters which turns off the attribute activated by the reverse on sequence. GOTOXY routine -------------- If the GOTOXY function cannot be implemented using the GOTOXY configuration table entries, you must write your own driver in machine code. Install the code in the patch area and store the entry address in the vector shown below. When a non-zero address is stored in the vector, it automatically overrides all GOTOXY strings. Registers BP, CS, DS, and SS must be preserved, and the routine must end with a RET (within segment) instruction. (X,Y) is passed in (DL,DH). 0097 2 GOTOXY driver address. Zero indicates that no driver is installed. Low-level I/O routines ---------------------- COMPAS allows you to write your own low-level machine code dri- vers for character device input and output. The code should be installed in the patch area and the entry addresses in the vec- tors shown below. If a driver is not installed, COMPAS will use a CP/M-86 BIOS call instead. An uninstalled vector should be set to 0. Registers BP, CS, DS and SS must be preserved, and the rou- tines must end with a RET (within segment) instruction. Output routines receive the character in DL, input routines must return a character in AL, and status routines must return AL=$FF if character is ready or AL=$00 if not. 0099 2 Console status driver address. Used by the KEYPRESS standard function. Zero causes COMPAS to use the CONST routine in the BIOS. 009B 2 Console input driver address. Used by the CON:, TRM: and KBD: devices. Zero causes COMPAS to use the CONIN routine in the BIOS. 009D 2 Console output driver address. Used by the CON:, TRM: and KBD: devices. Zero causes COMPAS to use the CONOUT routine in the BIOS. 009F 2 List output driver address. Used by the LST: device. Zero causes COMPAS to use the LIST routine in the BIOS. 00A1 2 Auxiliary output driver address. Used by the AUX: device. Zero causes COMPAS to the the PUNCH routine in the BIOS. 00A3 2 Auxiliary input driver address. Used by the AUX: de- vice. Zero causes COMPAS to use the READER routine in the BIOS. Entry and exit routines ----------------------- The entry and exit routines may be used to initialize and de- initialize the terminal. The code should be installed in the patch area and the entry addresses in the vectors shown below. If a routine is not installed, its vector should be zero. Registers CS, DS and SS must be preserved, and the routines must end with a RET (within segment) instruction. 00A5 2 COMPAS entry routine address. If installed, this rou- tine is called when COMPAS is started from the opera- ting system. 00A7 2 COMPAS exit routine address. If installed, this rou- tine is called just before COMPAS returns to the operating system. 00A9 2 Editor entry routine address. If installed, this rou- tine is called when the editor is started. 00AB 2 Editor exit routine address. If installed, this rou- tine is called just before the editor returns to the COMPAS command mode. Memory mapped video screens --------------------------- If your computer system is equipped with a memory mapped video screen or another type of "direct drive" screen, you can speed up the COMPAS editor by implementing the routines outlined below. The code should be installed in the patch area and the entry addresses in the corresponding vectors. If a routine is not installed, its vector should be zero. Registers CS, DS and SS must be preserved, and the routines must end with a RET (within segment) instruction. 00AD 2 High-speed write string routine. If this routine is installed the editor will use it for updating the screen instead of passing characters one by one to the console output driver. On entry CX contains the length of the string to write, and DX contains the screen coordinates. (DH,DL) corresponds to (X,Y) with the upper left corner at (0,0). DS:SI points to a string of ASCII characters, and DS:DI points to a string of attribute bytes. An attribute byte is one of the two values stored in addresses $00B3 and $00B4. 00AF 2 Insert line routine. This routine should insert a blank line at a specified position on the screen and scroll the remainder of the screen down one line. On entry DH contains the line number with 0 corresponding to the top line. If this routine is not installed, the editor will use the INSLIN sequence (if available) to insert a line. 00B1 2 Delete line routine. This routine should delete a specified line on the screen and scroll the remainder of the screen up one line. A blank line must appear at the bottom of the screen. On entry DH contains the line number with 0 corresponding to the top line. If this routine is not installed, the editor will use the DELLIN sequence (if available) to delete a line. 00B3 1 Reverse on attribute. When constructing an attribute string for the high-speed write string routine, the editor will use the value stored in this byte to indicate that the corresponding character should ap- pear in reverse video. 00B4 1 Reverse off attribute. When constructing an attribute string for the high-speed write string routine, the editor will use the value stored in this byte to indicate that the corresponding character should ap- pear in normal video. User patch area --------------- The user patch area is not used by COMPAS but left open for you to install user written drivers in it. 00B5 640 User patch area. The address of the last available byte is $0334. Editor configuration table -------------------------- The address of the editor configuration table may be different from one release of COMPAS to another. To find the start address, examine locations $0001 and $0002. They contain the base address (least significant byte first) of the editor configuration table. In the descriptions below, the address of each field is an offset address from the base address of the table. 0006 1 Backup flag. This location must contain either $00 or $FF hex. If it is set to $FF, duplicate files will have their type changed to 'BAK' when the SAVE command is used to save a file. Otherwise such files are simply deleted. 0007 1 INSERT mode initial value. This location defines the initial state of the INSERT mode. $FF means on and $00 means off. 0008 1 AUTO mode initial value. This location defines the initial state of the auto-indent tabulator. $FF means on and $00 means off. 0009 1 TABS mode initial value. This location defines the initial state of the TABS mode. $FF means on and $00 means off. 000A 2 Replace prompt delay. This entry is used only by the find/replace function in the editor. It defines the delay used when moving the cursor alternately between the replace prompt and the text. Experiment to find a suitable value (typical values range from 200 to 2000). 000C 256 Alternate editor keyboard table. See below for a des- cription. Alternate editor keyboard table ------------------------------- To be able to benefit fully from the special keys offered by your terminal's keyboard, COMPAS allows you to define alternate keys to invoke selected editor functions. A typical example of alter- nate keys is defining your cursor arrows to do the same as ^S, ^D, ^E and ^X. The alternate editor keyboard table consists of a list of strings each defining an alternate character (or sequence of characters) to invoke a specific editor function. The first byte of each string defines the number of the function it invokes. The second byte defines the length of the sequence and the following bytes contain the actual characters of the sequence. The strings are totally contiguous, i.e. immediately following the last character of a sequence comes the next definition. The table is ended by a zero byte. The maximum length of the table is 256 bytes. The function numbers, in hex, are: 01 ^J 02 ^S 03 ^D 04 ^A 05 ^F 06 ^Q^S 07 ^Q^D 08 ^E 09 ^X 0A ^Q^E 0B ^Q^X 0C ^R 0D ^C 0E ^Q^R 0F ^Q^C 10 DEL 11 ^G 12 ^Q DEL 13 ^Q^Y 14 ^T 15 ^Y 16 ^M 17 ^I 18 ^N 19 ^V 1A ^Z 1B ^B 1C ^W 1D ^Q^F 1E ^Q^A 1F ^L 20 ^K^B 21 ^K^K 22 ^K^Y 23 ^K^C 24 ^K^V 25 ^K^P 26 ^K^H 27 ^K^D 28 ^K^X Below follows an example of an alternate editor key table (the numbers are in hex): 10 01 08 12 02 11 48 00 This table defines ^H ($08) as an alternate for DEL (function $10) and ^Q^H as an alternate for ^Q DEL (function $12). Note that the first character of a function sequence may be any char- acter, but the following characters must be stored as values between $20 and $5F or $80 and $FF. When the editor inputs a function sequence from the keyboard, all control characters and lower case letters following the first character of the sequence are converted to upper case letters, i.e. characters between $00 and $1F or $60 and $7F are converted to characters between $40 and $5F. Referring to the example above, this means that ^Q^H may also be entered as ^Q "H" or ^Q "h". Note that it is actually possible to override the standard key sequences. If you for instance define ^J to be an alternate key for the ^X function, the original ^J function will become inac- cessible unless you define an alternate sequence for it as well. «eof»