                 XLIB-like Mode-X routines for DJGPP


*** DISCLAIMER ***

This entire package is distributed WITHOUT ANY WARRANTY; without even 
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

******************

*** DO NOT USE INTERRUPT HANDLERS IN PREVIOUS VERSIONS !!!!!!! ***

There is a problem with previous versions when using the interrupt handlers.  The keyboard handler has been fixed 
Both interrupt handlers have been pulled from this release and will only be
re-released when I am convinced that they function safely.

******************************************************************

This package is freeware.

You are free to distribute, use and modifiy these routines as you wish, 
with the provision that no money be charged for these routines or 
derivatives of them.


DJGPP:

DJGPP is a port of GNU C/C++ compiler and development tools to
32-bit, protected-mode environment on Intel 32-bit CPUs running
MS-DOS and compatible operating systems, by DJ Delorie
<dj@delorie.com> and friends.  DJGPP provides a free 32-bit DOS
extender which allows for a 32-bit 4 GByte flat address space,
virtual memory up to 256 MBytes, a compiler which produces 32-bit
protected mode code, and a suite of GNU development tools ported
to MS-DOS which specifically favor porting Unix programs, but are
also suitable for writing new code.

DJ Delorie is the developer and principal maintainer of DJGPP,
but anyone is welcome to contribute.

DJGPP (including all sources if you want them) is available
on any Simtel mirror (such as oak.oakland.edu) in the msdos/djgpp
directory (ie. on oak.oakland.edu it's in /simtel/msdos/djgpp).
Before installing or running DJGPP, be sure to get the DJGPP
FAQ which is also available in the same directory.  It is quite
comprehensive and an excellent source of information.

***** NOTE: This software has been designed to run under DJGPP v2.0
which is currently only in BETA and is not available at the Simtel
mirrors yet.  You can get the v2.0 BETA at ftp.idsoftware.com under
the /djgpp/beta tree.  (See the readme file there for instructions
and/or a distribution site closer to you.)

I am no longer including support for 112m4 because I'm not using it
anymore.  I have found the 2.0 beta to be very fast and stable so far.

THIS PACKAGE:

This is a fairly basic set of mode-x graphics routines based mainly on
the XLIB package by Themie Goumas, and a variety of other sources.  These
routines have been converted to DJGPP v2.0 (currently in BETA), and will
require some de-engineering to run under v112 again.  (Mainly in routines
that call s/w interrupts, and to select the proper dos memory selector - 
most changes should be in xmode.c, vrsync.c and xmouse.c).

There is a summary of the differences between this library and the 
Borland C XLIB in the xlib.doc file.

There are a few sample programs:
hello.c is a boring example of quite a few available functions.
scroll.c demonstrates use of virtual screen sizes and split screen.
timings.c times some different graphics methods on your PC.

Run the file "makeall.bat" to build the library and all samples.  Make sure
your DJGPP environment is set up correctly first (see the DJGPP FAQ if
you need help).  (I know, the demo graphics are really bad!!!)

The functions are briefly documented in the file xlib.doc.  It's probably
more helpful to look at the source code for examples of usage.  I have
tried to point out where my routines are different from XLIB.

These routines have been tested with a few different machines and video
cards, and I have found them to work pretty well for the most part.
All testing has been done with DJGPP 2.0 BETA-1 and BETA-2.  This code 
has very little error checking.  Some of the functions support clipping 
(PBMs, text).

Please send me an e-mail if you find these routines useful or if you have
any suggestions.  I don't plan on making regular updates to this package,
but if I get any bug fixes (probably :-) or neat additions, I will
add them in and reissue the archive.  

... Well, it looks like I am doing regular updates (:-)), so please send 
comments!  I'd just like to know if anyone is using this!

Some other stuff I'd like to see:
        - an interrupt-driven mouse driver
        - cool games written with DJGPP!!!

Paul Fenwick, bg914@freenet.carleton.ca
