A collection of useful commands from SMSQ/E and various toolkits to make
them available for Qdos and Minerva systems, so that otherwise compatible
(compiled) programs can run on these systems.

The toolkit could be linked into the program at compile time, or be
LRESPRed at run time. The commands should work with or without the Pointer
Environment (but see note below!)

Link into your compiled program with

        rem $$asmb=<path>_SCR_BIN,0,10          (Qlib), or
        rem %%<path>SCR_BIN,0,10                (Turbo)


For all the SCR_xxx commands there is an optional channel parameter. This
defaults to #1. Although the parameter is optional, the channel is refers
to - a screen or console channel, must be open and available.

SCR_XLIM [#ch], SCR_YLIM [#ch] - Get screen dimensions

        scr_size_x = SCR_XLIM
        scr_size_y = SCR_YLIM(#0)

SCR_BASE [#ch]  - Get screen base address

        scrbase = SCR_BASE

SCR_LLEN [#ch]  - Number of bytes between rows on screen

        llen = SCR_LLEN(#3)

DISP_TYPE       - Display type 0, 2, 16, 32, 33

        mode% = DISP_TYPE

NOTE: For Qdos/Minerva with PE these commands should always return
the correct information, even with non-standard screen sizes or colour
depth. Ditto for plain BBQLs. However, on some systems with non-standard
screen dimensions, unless the implementers have set the now standard
variables in the console driver's definition block, the results will be
wrong! If you find this happens, please complain to the implementor or
OS developer (if the system is still supported)! Or better still: Upgrade
your system!

Program Status

V0.02, pjw, 2021 Oct 29

Conditions of use and DISCLAIMER as per