QBHI.BAS is a set of subroutines to allow pixel plotting and RGB color
reading in a 15, 16, 24, or 32-bit SVGA (graphics) mode.  Subroutines
PSET24 and PSET32 are used to plot a pixel with RGB values between 0 and
255.  The syntax is


CALL PSET24(X, Y, R, G, B)


where X and Y are LONG variables giving the position to plot at and R, G,
and B are INTEGER variables giving the color values to plot.  To read the
RGB values making up the color at position (X, Y), use subroutine POINT24:


CALL POINT24(X, Y, R, G, B)


where the variables are of the same type as in PSET24.  (Change the "24"
to "32" for 32-bit video modes.)

Subroutine PSET16 is use to plot RGB values with R and B between 0 and 31
(typically) and G between 0 and 63 in 16-bit video modes and RGB values
all between 0 and 31 in 15-bit modes.  The syntax is the same as for
PSET24/32.  POINT16 is similar to POINT24/32 but works for 15 and 16-bit
modes.

Before calling any of these routines, you MUST FIRST call subroutine
SETMODE to find a valid video mode and identify certain characteristics of
it.  If SETMODE finds a suitable video mode, it sets it for you.  Other-
wise, it stops with an error message.  You don't need to tell SETMODE what
SVGA/VESA mode you want (and your system must be VESA-aware for QBHI to be
useful to you).  All you do is tell SETMODE what horizontal and vertical
screen resolutions you want (H x V), and the color bit value (15, 16, 24,
or 32), and SETMODE takes care of the rest.  The syntax is


CALL SETMODE(H, V, NCOL)


where all varialbes are of INTEGER type.  (H might, for example, be 800,
and V might then be 600.)  It's a good idea if you stick with the standard
resolutions, e.g., 320 x 200, 640 x 480, 800 x 600, 1024 x 768, 1280 x
1024, or 1600 x 1200.

When you're all done, you can call subroutine RESETMODE to reset the video
mode to what it was before SETMODE changed it.  It's just


CALL RESETMODE


There are no parameters.


To use the routines, put the contents of QBHI.INC at the top of your
program (don't forget that) and QBHI.BAS at the bottom.  You'll need to
run QB with its /L option (or /L QB.QLB if you want to be explicit).  If
you're working straight from DOS, you need the auxiliary library QB.LIB.

QBHIDEMO.BAS and QBHIDEM2 are simple driver routines just to show the
usage.
