GEM: Trident Drivers
Trident supplied five GEM drivers for the TVGA 8900 series of graphics cards. I can't distribute them from the video drivers page, because they have Trident Microsystems copyright messages rather than Digital Research ones.
The driver disks contain two sets of five drivers — one intended for GEM/3, and one for Ventura Publisher. The drivers are:
|Resolution||Colour depth||GEM name||Ventura name|
The GEM and Ventura versions of the three 16-colour drivers are byte-for-byte identical. The 4-colour drivers differ slightly in that the Ventura ones are dated 10 February 1989, while the GEM ones are dated 22 March 1990. The major difference in behaviour is that the Ventura drivers use a reasonably standard black/red/green/white palette, but the GEM ones use a black/yellow/cyan/white palette. The GEM 1024x768 driver also contains extra startup code to handle the TVGA 8800 chipset (the Ventura one assumes 8900).
The drivers have been tested on two video cards with Trident chipsets. The first (with 512k and TVGA8900CL chipset) could manage the 16-colour modes, but only every other column of the 4-colour modes. The second, an earlier card with 1024k and a TVGA8900C chipset, could handle all the modes.
DOSEMU, with its emulated Trident BIOS, can handle the 800x600 mode, but not the other four.
(Though if you want 800x600 on a Trident card, I can't resist plugging the 800x600 FreeGEM driver (SDU869.VGA in pack 2). Not only does it support Trident cards, it has a better system font and no splash screen).
While I haven't spotted any rendering glitches in the 16-colour drivers, the 4-colour ones seem to have a byte-swapping problem when doing bit-blits from screen to screen. Compare the 16-colour driver:
with the 4-colour driver:
One other peculiarity of the drivers is that they display a splash screen at startup.
Internally, the drivers appear to be based on two separate source trees; the 4-colour ones on GEM 3.0, and the 16-colour ones on GEM 3.1. They even have different system fonts (note, for example, the different vertical bar symbol between the curly brackets):
|16-colour drivers||4-colour drivers|
The memory model for the 16-colour drivers is reasonably straightforward. The screen occupies a 96k memory window from A0000h to B8000h, and all the driver has to do is switch between the two segments when moving between row 512 and row 513 of the screen.
The memory model in 4-colour modes is rather harder to deal with. It uses the EGA Odd/Even access mode, where planes 0 and 2 are the even-numbered bytes of video RAM, and planes 1 and 3 are odd-numbered bytes. This means that the correct planes have to be selected every time a program needs to access two adjacent bytes.John Elliott