$OPTIONS
The $OPTIONS system variable allows KCML programs to inspect and modify switches that control the general behaviour of the KCML runtime. Further such settings can be changed by $OPTIONS RUN and $OPTIONS LIST.
Any byte of this variable can be preset at the time KCML starts up by use of the OPTIONS_XX environment variable.
For example, to change the replacement character for the dollar sign to a '£' sign in PRINTUSING statements, the following could be used:
STR($OPTIONS,4,1)=HEX(A3)
It is important that $OPTIONS is modified directly in this way as the number of bytes in $OPTIONS may be increased in a future KCML version.
Any of the bytes in $OPTIONS can be preset by defining the environment variable OPTIONS_xx (where xx is the decimal byte number) in the connection manager before KCML is started and setting it to the two HEX digits required.
Byte | Description | ||||
---|---|---|---|---|---|
1 | Color byte used to represent underline text in DOS text mode on PC Monitors. The default is HEX(1F) for white on blue. Obsolete. | ||||
2 | Not used. | ||||
3 | Not used. | ||||
4 | Replacement character for the dollar sign '$' in PRINTUSING image statements. The default is HEX(24), i.e. '$', for a £ sign use HEX(A3) or HEX(7C) if using a legacy 7 bit character set. This byte may also be set with the CURCHAR environment variable. | ||||
5 | Replacement character for the comma in PRINTUSING image statements. The default value is HEX(2C), i.e. ','. This byte may also be set with the SEPCHAR environment variable. | ||||
6 | Replacement character for the decimal point in PRINT USING image statements. The default value is HEX(2E), i.e. '.'. This byte may also be preinitialized with the DOTCHAR environment variable. | ||||
7-11 | Not used. | ||||
12 |
Switch to disable the RESET key (Ctrl+Alt+BREAK)
HEX(01) disables the RESET key HEX(00) enables the RESET key | ||||
13 |
Switch to disable the interrupt key (Ctrl+BREAK)
HEX(01) disables the interrupt key HEX(00) enables the interrupt key | ||||
14-16 | Not Used. | ||||
17 | 132 column support. HEX(01) enables switching to 132 column mode, HEX(00) disables this feature. | ||||
18 | The minimum allowed character code in LINPUT. HEX(00) implies HEX(10) for the first allowable character and HEX(7F) for the last. Only required for non-US character sets and may interfere with special keys like EXECUTE. | ||||
19 | The minimum allowed character code in LINPUT. See previous byte. | ||||
20-35 | Not used. | ||||
36 | The $BREAK threshold held in binary. | ||||
37 | If set to HEX(01) then LINPUT will not echo typed characters. This is for use on X25 PAD terminals which locally echo. | ||||
38 |
The bits in this byte control DIM and the resolve phase.
| ||||
39 | Not used. | ||||
40 | Determines whether the time and date stamp is saved in the last sector of DC data files. A non zero value suppresses this default. Obsolete. | ||||
41-43 | Reserved | ||||
44 | Setting the HEX(80) bit will map function keys '01 to '00, '02 to '01 etc. | ||||
45-64 | Reserved |
$OPTIONS as a record
KCML defines a KCML_OPTIONS built in DEFRECORD that can be used to access the fields in $OPTIONS e.g.
FLD($OPTIONS_LIST.OPTIONS_DisableControlBreak) = TRUE
See also: