GEM 4.0 video drivers
=====================

  This zipfile contains source code for the following GEM/4.0 (Artline)
video drivers:

Driver      | Resolution | Colours | Supported hardware
============+============+=========+===============================
SDATT10.EGA | 640x400    |  2      | AT&T 6300, Toshiba 3100
SDEHF10.EGA | 640x350    | 16      | EGA colour
SDGEN10.VGA | 1008x728   |  2      | Genius card
SDGSV10.VGA | 800x600    | 16      | Genoa SuperVGA card
SDHRC10.EGA | 640x350    |  2      | Hercules
SDPSC10.VGA | 640x480    | 16      | VGA 
SDPSM10.VGA | 640x480    |  2      | MCGA 
============+============+=========+===============================

  Only the EGA, VGA and MCGA drivers have been tested.

  Unlike the builds of earlier GEM drivers, these aren't byte-for-byte 
identical to the originals, or anything like. The original drivers appear 
to have been built with a different assembler, but these ones were built 
with RASM86 v1.4a, just like all the other driver trees I've released. 
Whatever the assembler was, it generated different code for some AND and 
OR operations, optimised JMPs to JMPSes, and allowed the code segment to 
overlap with the data segment by up to 15 bytes.

  The major changes to the drivers since GEM/3.1 are:
* The C portions were compiled with a different compiler, and have therefore
 been redisassembled.
* Scaling code relevant to drivers with rectangular pixels is omitted from 
 drivers with square pixels.
* New functions 138, 139, 142 and 143. These are probably to do with the 
 support for colour gradients.
* Major reworking of the Polyline and Polygon functions, again probably to 
 do with colour gradient support. These functions have been, for the most
 part, disassembled blindly.
* The "zyxg" area has a fixed gap of 12 zero bytes between the 'short name' 
 and the 'long name' fields, rather than (as in GEM/3.1) having them at fixed
 offsets. This may be another knock-on effect from whatever assembler was 
 used.
* A new Genoa SVGA driver. This is the only driver in which the copyright
 message reports the driver as v4.0 rather than v3.1.

  Large parts of the driver code - in particular, the device-specific 
files, and the text output and blit code - remain almost unchanged from 
GEM 3.1. Therefore it should be possible to combine the device-specific 
bits of the Genoa driver with a FreeGEM or GEM/3.1 driver tree; or to 
add new GEM/4 drivers based on the GEM/3.1 or FreeGEM driver codebases.

