PLBLinux Screen Definition File
PLB was designed to be virtually device independent and is not restricted to supporting only those terminals offered by the hardware vendor of the system in use. By designing our own terminal drivers, PLB can potentially support any terminal ever manufactured. PLB interfaces to these terminals through a screen definition file containing the sequences necessary to support the PL/B screen controls, within the limitations of the terminal's capabilities. These screen definition file names are based on the operating system's terminal environment variable (TERM) name for the terminal in use. For example, the screen definition file for a DEC vt100 terminal would be vt100.def using the TERM identifier of vt100, followed by the screen definition file extension of .def. When the interpreter is executed without a specific screen definition file being given, the PLB_SYSTEM subdirectory is searched for a file corresponding to the TERM entry with an extension of .def. If unsuccessful, a U03 error is given and PLB terminates.
Screen definition files for many popular terminals are provided. As others are developed, they will be added to the distributed files for both new orders and subsequent upgrades. If a non-supported terminal is used, the included makedef, testdef and getkey utilities can usually generate a valid screen definition file for it. However, if a screen definition file cannot be successfully generated with these utilities, do not hesitate to ask for assistance. In most cases, assistance is provided if the terminal and its programming reference manual can be sent to Sunbelt for a few days. However, without both items it may be impossible to provide assistance.
Certain important evaluation criteria must be used when choosing which terminals to incorporate into a PLB based system. The first and probably most important, criteria is the level of screen support. Many popular terminals do not support some of the basic screen control attributes used in PL/B programs, such as Reverse Video (*HON). Others do not support Double Intensity (*DION) and most do not support Underlining (*ULON). Another, equally important, criteria is the level of Function and Special Key support. Most popular terminals do not have Home, End, PgUp, PgDn and Ins keys, much less 10 or more functions keys. Many combine Function keys with other keys such as Backspace, Line Feed or Escape. Still others use a common sequence for two different keys, such as the Backspace and Left Arrow Keys both sending a Hex 08.
Obviously, if a terminal does not support Reverse Video (*HON), there is no way to make it work. Therefore, the screen may not appear as desired or expected. If both the Left Arrow and Backspace Keys send the same sequence, the Left Arrow should not be defined since doing so would make it impossible to support the LEFT flag for GOTO or TRAP without ignoring the Backspace that is typically more prevalent in KEYIN usage.
In addition to providing flexible terminal support, the screen definition files contain the default PL/B environment characteristics. Through the makedef utility, each screen definition file can have certain default characteristics established, such as the extensions for FILEs, AFILEs, IFILEs, and PL/B programs; the ANSWER and MASTER program names; the spool file extension; and the standard print device/file.
See Also: Compiler and Runtime Options
![]() |