| decatalog | Index Level | define-up |
| Syntax | |
| Category | TCL |
| Type | Verb |
| Description |
displays the available terminal (driver) definitions and allows changing existing definitions or adding new ones.
Each terminal definition is an item in the "devices" file with the terminal name used as the item-id. The definitions that are marked with an asterisk (*) are also stored as items using the term type codes as the item-id. These item-ids are used by the "term" verb to set up terminal characteristics. In menu options 1 and 2, the name of the terminal is requested. If the definition for the specified terminal is on file, the definition is displayed. If it is not on file, the option to create a new terminal definition is offered. In menu 3, a prompt requesting confirmation of the deletion displays. In menu 4, The terminal name is requested, the corresponding item in the devices file is flagged as the selected term type, and the menu redisplays. In menu 5, the terminal name is requested, the flag marking the corresponding item is deleted, and the menu redisplays. |
| Options | |
| See Also | devices termp pibs choose.term |
| Example |
define-terminal
System Cursor Definition Utility The following terminals are defined in the devices file. Terminals marked with an asterisk (*) are selected to be included in your system cursor definition. *A ADDS580 G GTC M MIME *W wy-50-link *A ADM-11 *G IBM3161 *N WY-100 *W wy-50132 A ADM3A *G IBM3164 *P PERTEC *W WY-60 A CIE-ANT *G mn3161 *Q QVT102 *W wy50-132 *B AMPEX210 *G mn3161-132 *R R25 *W WY60 B BEEHIVE H HONEYWELL S ansi.c *W wy60.1 *B IBM3151 I AT.MON *S SOROC X DATAGRAPHIX *B ibm3151-132 I IBM T TEC *x xterm *B mark I IBM3010 T TV920 x xterm-dim *B mn3151 *I MM-MON *T TV950 Z ANSI C DTC *I port-mon *V VP Z att605 *C VT-52 *J VT100 V VP-60 Z att705 *D DATAMEDIA J vt100-dim *V VP-A2 Z HFT D dg J vt320 W link Z rt.console E EMULOG200 *K prism *W link125 Z RT.MON E EX-34 *L LSI *W w Z Z *F TV910 *M AMPEX-D80 *W WY-50 *G g *M AMPEX.D80 *W wy-50-132 1) Create Terminal Definition 2) Modify Terminal Definition 3) Delete Terminal Definition 4) Add Terminal To Selected Definitions 5) Delete Terminal From Selected Definitions EX Exit DEFINE-TERMINAL To TCL Enter Selection (1-5) or EX : Modify Terminal Enter Existing Terminal Name To Be Modified ?prism Terminal: prism 1. Term Type............................ K 2. Terminal Description................. Prism-IV 3. Backspace and Screen Size............ 8,80,24 4. Cursor Address Code.................. A 5. @(X,Y) Cursor Addressing............. CHAR(11) Y CHAR(16) X 6. @(-1) Clear Screen & Home........... FF SOH 7. @(-2) Cursor Home................... SOH 8. @(-3) Clear to End of Page.......... ESC "J" 9. @(-4) Clear to End of Line.......... ESC "K" 10. @(-5) Start Blink................... ESC "B" 11. @(-6) Stop Blink.................... ETX HEX(20) 12. @(-7) Start Protected Field......... 13. @(-8) Stop Protected Field.......... 14. @(-9) Cursor Back................... NAK 15. @(-10) Cursor Up..................... SUB 16. @(-11) Enable Protect Mode........... 17. @(-12) Disable Protect Mode.......... 18. @(-13) Start Reverse Video........... ETX "D" 19. @(-14) Stop Reverse Video............ ETX " " 20. @(-15) Start Underline............... ETX "0" 21. @(-16) Stop Underline................ ETX "" "" 22. @(-17) Slave On...................... ESC "R" 23. @(-18) Slave Off..................... ESC "T" 24. @(-19) Cursor Forward................ ACK 25. @(-20) Cursor Down................... LF 26. @(-21) Graphics Character Set On..... 27. @(-22) Graphics Character Set Off.... 28. @(-23) Keyboard Lock................. 29. @(-24) Keyboard Unlock............... 30. @(-25) Control Character Enable...... 31. @(-26) Control Character Disable..... 32. @(-27) Write Status Line............. HEX(E3) 33. @(-28) Erase Status Line............. HEX(E5) 34. @(-29) Initialize Terminal Mode...... 35. @(-30) Download Function Keys........ 36. @(-31) Non-embedded Stand-out On..... 37. @(-32) Non-embedded Stand-out Off.... 38. @(-99) Embedded Visual Attributes?... 39. @(-100) Half Intensity................ 40. @(-101) Full Intensity................ Is table for terminal prism correct? y "TYPE" is a single letter which identifies the terminal to the system. The terminal-type field in the terminal table corresponds to the single-character value typed in at the 'term' command. "SCREEN SIZE" is the size of the display screen (in columns by rows). It is entered as cols,rows. If a FlashBASIC "print @()" command exceeds these values, the maximum allowable value will be used. "CURSOR ADDRESS CODE" is usually a series of characters used to denote cursor addressing, followed by the row and column of the position. Sometimes the row and column are in binary, sometimes not. Sometimes it requires column and row. Others use an ASCII code in place of binary row/column addresses. Choose the method your terminal manufacturer uses (NOTE: 'X' is the X-axis, 'Y' is the Y-axis): "A{+}" ADDS-type addressing: row = char(Y+64) col = char((int(X/10)*6)+X) "L{+}" Lear-Seigler addressing: row = char(Y+32) col = char(X+32) "T{+}" TEC addressing: row = char(-(1+Y)) col = char(1(1+X)) "H{+}" Hazeltine addressing: row = char( X ) col = char( Y ) "D{cr}{+}" Decimal addressing. It outputs a 1-3 digit binary code (each) for row and column. "c" specifies the number of digits to output for the column (1-3); "r" specifies the number of digits to output for the row (1-3). If used, the code will force leading zeroes. A "D" alone generates "floating" decimal numbers from 1 to 3 digits. row = char(x) as 1-3 digits col = char(Y) as 1-3 digits All cursor addressing codes may be followed by a '+', which adds one the row and column addresses before generating the address codes, to take care of the terminals whose addresses starts at "0,0" instead of "1,1". "@(X,Y) CURSOR ADDRESSING" is the string of control and escape codes needed to tell the terminal that a row and column address is coming up next. For example: ESC "=" Y X is a cursor-positioning code for a Lear-Siegler terminal. The Y and X will be replaced by the proper ASCII codes (and is determined by the cursor address code above). "@(-1) .. @(-300)" are explained in the section describing "@ functions". Entering values for the codes: ASCII codes may be entered in one of several ways: ASCII strings ASCII characters are enclosed in double-quotes i.e. "T02". ASCII control codes ASCII control codes may be entered using the 2 or 3-letter word which represents the unprintable ASCII control code: "NUL" = 00 "BS" = 08 "DLE" = 16 "CAN" = 24 "SP" = 32 "SOH" = 01 "HT" = 09 "DC1" = 17 "EM" = 25 "STX" = 02 "LF" = 10 "DC2" = 18 "SUB" = 26 "DEL" = 127 "ETX" = 03 "VT" = 11 "DC3" = 19 "ESC" = 27 "EOT" = 04 "FF" = 12 "DC4" = 20 "FS" = 28 "ENQ" = 05 "CR" = 13 "NAK" = 21 "GS" = 29 "ACK" = 06 "SO" = 14 "SYN" = 22 "RS" = 30 "BEL" = 07 "SI" = 15 "ETB" = 23 "US" = 31 ASCII character value in decimal The decimal ASCII value may be entered by typing the word "CHAR(", the decimal ASCII value (1-255), and a closing parenthesis ")", i.e. CHAR(27) ASCII character value in Hex The hexadecimal ASCII value may be entered by typing the word "HEX(", the 1-byte hex value (00-FF), and a closing parenthesis ")", i.e. HEX(1B) String function Strings may be entered as a FlashBASIC string function, i.e. STR("*",5) or STR(CHAR(12),X) Cursor Address variable There are three cursor address variables available: X, Y, and Z. They cause the specified address (byte or decimal string) to be inserted into the control string at the specified position. X Contains the Column. Y Contains the Row. Z Contains the previous Row referenced in an @(X,Y) code, or zero if the last reference was an @(-1) or @(-2). Any combination of the above may be used on a line. Different codes are separated with a space (not a comma), i.e. HEX(1B) SOH "1TS04" or CHAR(27) SOH "1TS04" or ESC SOH "1TS04" There are other codes which have been defined for use, but do not show up in the maintenance screens. The "dm,devices,devices <item-id>" item will have to be edited directly to insert these codes if they are needed. There may be other features available only on specific terminals, and there are no existing "@ function" codes for them, such as "uppercase on/off". To take advantage of those features: * ASCII sequences must be hard-coded into every program (forcing the use of that terminal forever), or * A separate file of control codes is created (like 'terminals perkin-elmer-bantam'), and referenced instead of the "dm,devices," file, or * The custom codes are added to the "dm,devices," file at, such as, @(-1001) and beyond. |
| Warnings | |
| Compatibility | D3 7.0 AP R83 |
| decatalog | Index Level | define-up |