SCRINFO
=======
Returns all the important screen metrics in one go,
without the use of a channel
Usage:
======
SCRINFO scrbase, scrsize, mode%, scrinc%, xsize%, ysize%
where
scrbase is the base address of the screen (= SCR_BASE(#ch))
scrsize is the size of the screen in bytes
mode% is the current display mode
scrinc% is the line increment in bytes (= SCR_LLEN(#ch))
xsize% is the screen's x-dimension in pixels (= SCR_XLIM(#ch))
ysize% is the screen's y-dimension in pixels (= SCR_YLIM(#ch))
All parameters are mandatory otherwise the procedure throws a Bad
Parameter error.
The parameter variables must be of the correct type, ie long (float) for
the two first and integer for the last four. No error will occur if the
variables are incorrect, but they will be skipped and may thus contain
whatever random value they had before the call.
The procedure can be linked into your compiled program with:
rem $$asmb=<path>_SCRINFO_BIN,0,10 (Qlib), or
rem %%<path>SCRINFO_BIN,0,10 (Turbo)
Pre-requisites and Compatibility:
=================================
This procedure should be compatible with all systems provided the Pointer
Inteface (PI) is installed. If the PI is not present it returns, as
fallback values, those found on the basic QL, ie
131072, 32768, 0/8, 128, 512, 256
These values will, of course, be incorrect on systems with non-standard
screen geometry and which are incompatible with PI. If, on such a system,
you find you need to run a program that uses SCRINFO, the simplest work
around would be to prepare a special version of this command for that
system with the correct values hard-wired in. You have the source code so
it shouldnt be too hard!
Program status:
===============
V0.00, pjw, 2026 Apr 06, not released
V0.01, pjw, 2026 May 03, added mode%
Conditions of use and DISCLAIMER as per Knoware.no
Generated by QuickHTM, 2026 May 03