Bypassing the Terminal Driver

If you need to send an unsupported mnemonic to the terminal to enable some capability of the device that PRO/5 did not take into account, you should exercise caution. In order to support all of the capabilities described, PRO/5 has to preserve an "image" of the terminal and all of the current states in effect on the device. Modification of the terminal's state (outside PRO/5 control) means that the terminal driver is now wrong about what the terminal is doing, and this might cause the terminal driver to take an action, which might appear incorrect.

Additionally, the terminal driver considers all control characters it does not actively intercept as being displayable. On quite a few terminals this is not correct. If a control character modifies the display in some manner (as in moving the cursor or clearing the display), PRO/5 will not know that this has happened and continues assuming that the display is unchanged.

If you find that it is necessary to modify a terminal display outside the control of PRO/5, take care to restore the cursor position to the original position. One method of doing this would be to always start with the cursor in the "home" position and to always return it using the terminal's home cursor command. PRO/5 "knows" that the cursor is already home and would ignore the mnemonic sequence.

If you modify the display you must use the 'RS' mnemonic to restore it to the known state. A 'PUSH' and 'POP' pair will not work as the 'POP' mnemonic "knows" what is currently on the display.