Back To Home - The Story - Timeline - Gallery - PC Week Excerpts - My Tutorial - Their Tutorial - Their Marketing Copy - GSX and GSS*CGI - Archive.org uploads

Background

The Graphical System eXtension, or GSX, was an implementation of the Graphical Kernel System (or GKS) for IBM PCs and compatibles. It never gained widespread adoptance, though eventually GEM was built out of the base of GSX. GEM would go on to join the pantheon of pre-Windows (or really, pre-Windows 3.0) windowing environments on the PC, with others like Visi-On being equally poorly remembered today. GSX itself had more prevalance on CP/M-86 than on DOS, but CP/M-86 was never as popular as DOS. GSX also, however, led to the Computer Graphics Interface (CGI) by Graphics Software Systems (GSS), stylized as GSS*CGI or GSS-CGI. As far as I can tell GSS*CGI is the correct brand.

Why am I listing all these dead-end technologies? Because they're what DO-IT and FrontPage used, and GSS*CGI especially I find fascinating because very little else used it. I want to document what little I know about these, because there's not much else out there about either.

The idea behind these technologies is straightforward enough: you, the software developer, receive a library that handles each of input, display, and hardcopy output in a relatively device-independent way. Digital Research (for GSX) or Graphical Software Systems (for GSS*CGI) will provide drivers for new hardware as it is developed, or you could develop your own for GSX. There's a reference to an SDK for GSS*CGI but I have no idea where I would possibly find such a thing.

GSX

GSX requires an ASSIGN.SYS file that tells GSX.EXE which drivers to load. These drivers are loaded to a numeric ID, so that a client application can assume that ID 1 is "the display" regardless of which display driver is loaded. Most commonly 1 was a "console" driver that handled both display and input.

Studio Software's GSX drivers were, as far as I can tell, authored entirely in-house. I have (and archived) the source for:

Name Type Description
HERMSM.SYS Console Hercules/MDA, Mouse Systems Mouse
HIDMP29.SYS Hardcopy Houston Instruments HIPLOT DMP-29 plotter
HIDMP40.SYS Hardcopy Houston Instruments HIPLOT DMP-40 plotter
HP7470A.SYS Hardcopy HP 7470A plotter
IBMMSMD.SYS Console MDA/CGA with Mouse Systems Mouse
STROBE.SYS Hardcopy Strobe 200/260 plotter

The Mouse Systems Mouse drivers also include support for the SummaGraphics mouse.

The following exist in compiled form, but I did not receive the source for them and as such I'm not certain what most of them are for. I've included the "first" place I found them, though most are on several disks.

Name Type Found In Comments
IBMMSM.SYS Console DO-IT Beta 1.2, Proof disk Note the lack of the "D", probably an earlier revision
OKM92.SYS Hardcopy? DO-IT Beta 1.2, Proof disk ?
FX80HR.SYS Hardcopy? DO-IT Beta 1.2, Proof disk ?
HER.SYS Console DO-IT 1.03, Master Disk Hercules/MDA, no mouse?
IBM.SYS Console DO-IT 1.03, Master Disk CGA, no mouse?
IBMSGD.SYS Console DRAW Likely CGA with some kind of plotter; from the name I suspect "SummaGraphics Device" or SummaGraphics Drawing"

Despite the MSM(D) drivers claiming support for Mouse Systems mice I cannot get that to work in DO-IT. I have no idea if I'm just doing something wrong or if these are just badly written.

GSS*CGI

GSS*CGI was developed to provide developers a migration path off of GSX, as by the mid 80s Digital Research wasn't spending much R&D effort on GSX. It provided all the same graphics calls, though with some additional infrastructure, and GSS provided drivers for most common hardware. Instead of of ASSIGN.SYS, you would need to actually load these in CONFIG.SYS like real device drivers, along with a GSSCGI.SYS meta-driver that would dispatch to the others. It also includes a DRIVERS.EXE, but I'm not sure what that actually does.

Most GSS*CGI drivers include a description inside their data segments, which I've included for completeness. They also include several versions. I have numbered these in the order they occur in the .SYS file. "Version 1" appears at the top of the file usually around offset 0x50 and sometimes around 0x300, and "Version 2" and "Version 3" appear back to back in the same place as the description, usually around offset 0x7000-0x8000. I believe "Version 1" is the driver version, "Version 2" is the GSS package version, and "Version 3" is the build date and possibly build tools version.

As no commercial packaged installer for FrontPage 1.1 or 1.2 survived, I don't know which drivers FrontPage actually shipped with. The FrontPage demo had the following. Note the lack of any input drivers, since this was a non-interactive demo.

Name Type Version 1 Version 2 Version 3 Description Notes
FONTDRV.SYS Fonts 1.9 - 1.24 1/24/86 13:14:53 Fonts Driver Unclear what this is for, possibly for loading certain nonstandard fonts
GSSCGI.SYS Meta - 1.10 1.24 6/27/86 17:25:11 GSS Computer Graphics Interface Controller GSS*CGI meta-driver
GSSVDI.SYS Meta - 1.10 1.24 10/10/85 20:16:35 VDI Controller Unclear what this is for. The version shipped with the demo has "PROTOTYPE ONLY". I believe that VDI was an earlier term for what became GSS*CGI, but I have nothing to back this up except that it fits the facts.
HERCBW.SYS Display 1.11 2.00 1.24 3/1/86 21:12:38 Hercules 720x348 2-Color Graphics Driver
IBMBW.SYS Display 1.7 1.10 1.24 10/15/85 17:44:57 IBM PC 640x200 2-Color Graphics Driver
IBMEGA.SYS Display 1.7 1.10 1.24 10/15/85 17:43:12 IBM Enhanced Graphics Adapter / Multi-Mode Enhanced Color Display Driver

The installer developer's PC had the following. It seems likely that not all of these would have been shipped with FrontPage, as things like IBMGIJOY and IS30 both have nothing to really do with how FrontPage works (sadly, it does not seem possible to have IBMGIJOY present a cursor device) so most likely this was just a set of drivers they acquired from a GSS SDK.

Name Type Version 1 Version 2 Version 3 Description Notes
DIAB150.SYS Printer 1.11 2.00 1.24 3/6/86 14:12:18 Diab150 Printer Driver
EPSON80.SYS Printer 1.11 2.00 1.24 2/14/86 14:13:44 Epson MX80 Printer Driver
EPSON100.SYS Printer 1.11 2.00 1.24 2/14/86 14:14:05 Epson MX100 Printer Driver
FONTDRV.SYS Fonts 1.9 - 1.24 1/24/86 13:14:53 Fonts Driver
GSSCGI.SYS Meta - 1.10 1.24 6/27/86 17:25:11 GSS Computer Graphics Interface Controller
HERBW.SYS Display 1.11 2.00 1.24 3/1/86 21:12:38 Hercules 720x348 2-Color Graphics Driver
HPPLOT.SYS Plotter 1.11 2.02 1.24 6/27/86 12:31:39 HP 7470/7475 Plotter Driver
IBMBW.SYS Display 1.9 2.00 1.24 1/21/86 12:26:31 IBM PC 640x200 2-Color Graphics Driver
IBMCO.SYS Display 1.9 2.00 1.24 1/21/86 12:27:58 IBM PC 320x200 4-Color Graphics Driver
IBMEGA.SYS Display 1.9 2.00 1.24 1/21/86 12:23:59 IBM Enhanced Graphics Adapter / Multi-Mode Enhanced Color Display Driver
IBMGIJOY.SYS Input 1.9 2.00 1.24 1/21/86 12:50:29 IBM Game Adapter Input Driver
IBMGPR.SYS Printer 1.9 2.00 1.24 1/21/86 12:48:32 IBM Graphics Printer Lack of "Driver" is original
IBMPRCOL.SYS Printer 1.9 2.00 1.24 1/24/86 19:28:31 IBM Color Printer Graphics Driver
IS30.SYS Scanner 1.11 - 1.24 3/17/86 16:48:08 Ricoh IS30 Scanner Driver
LASERJET.SYS Printer 1.11 2.00 1.24 5/27/86 16:41:00 HP Laserjet Printer Driver
META.SYS Metafile 1.11 2.01 1.24 6/5/86 18:10:55 Virtual Device Metafile Driver Used to render the other major component of CGI, Computer Graphics Metafile (CGM), which is not used by FrontPage
MOUSESYS.SYS Mouse 1.9 2.00 1.24 1/21/86 13:02:45 Mouse Systems Mouse Driver
MSPARALL.SYS Mouse 1.9 2.00 1.24 1/21/86 13:27:46 Microsoft Parallel Mouse Driver
MSSERIAL.SYS Mouse 1.9 2.00 1.24 1/21/86 13:03:49 Microsoft Serial Mouse Driver
SUMMATB.SYS Digitizer 1.11 2.00 1.24 6/27/86 16:12:04 Mouse Systems Mouse Driver This is clearly not the correct description
TEK4695.SYS Printer 1.11 2.00 1.24 2/25/86 02:19:51 Tek4695 Printer Driver
THINKJET.SYS Printer 1.9 2.00 1.24 1/21/86 12:50:04 HP Thinkjet Printer Driver
TOSHIBA.SYS Printer 1.11 2.00 1.24 6/19/86 23:40:51 Toshiba Printers Driver
VISMOUSE.SYS Mouse 1.9 2.00 1.24 1/21/86 13:04:55 VisiOn Mouse Driver

Notably and very sadly missing is WY700.SYS, which would have provided support for the Wyse and Amdek 1280x800 monochrome monitors and their proprietary video card. The 1.1 installer makes a reference to this, but I only have the installer source for 1.1, the drivers are from a backup of the aborted GSS*CGI version of FrontPage 1.0 and WY700.SYS must have been from a later relase.

I searched for other software using GSS*CGI and only found a few results that are still available. There are others that were released, but they're mostly either academic or industrial software and thus very difficult to obtain. In particular Siemens Simatic APT 1.9 should have this, but even having some connections to the wonderful world of industrial software I was not able to produce a copy of this. What I did find was two programs that used GSS*CGI just for printer support. Those are listed here.

SuperCalc 5:

Name Type Version 1 Version 2 Version 3 Description Notes
GSSCGI.SYS Meta - 1.13 1.26 4/26/88 20:32:00 -
IBMAFH.SYS Display 1.16 2.13 1.26 4/27/88 12:57:05 IBM Advanced Function Graphics Adapter / 1024x768 Color Display Driver
LL.SYS Printer 1.10 1.10 1.24 2/11/86 11:28:35 Lasergraphics Language Driver "This driver derived from GSS*CGI Device Driver Programmers Kit, Copyright (C) 1985, 1986 GSS, Inc"
META.SYS Metafile 1.16 2.13 1.26 2/1/88 13:25:02 Virtual Device Metafile Driver
MTXSCODL.SYS Camera 420.2 1.00 420.13 8/5/85 08:37:02 MATRIX SCODL System Device Driver Yes, a bunch of these have their version as the weed number--I honestly wonder if somebody was having a laugh about this, I think 85 is late enough that that was a thing by then
PALETTE.SYS Camera 420.2 1.01 420.13 6/12/85 08:25:47 Polaroid Palette Camera Device Driver
PSCRIPT.SYS Printer 1.15 1.00 1.26 4/2/87 11:51:04 Postscript System Device Driver
QMS.SYS Printer 420.2 1.00 420.13 7/8/85 10:39:35 QMS LASERGRAFIX Graphics Driver
SUPERIMG.SYS Metafile 1 1.00 420.13 9/5/85 12:06:29 ISSCO Metafile Driver I'm not sure what format this is actually for
VENTURA.SYS Metafile 1.0 1.00 420.13 9/5/85 12:06:29 Ventura Metafile Driver Nor this one
VIDEOSHO.SYS ? 1.15 1.00 1.26 4/2/87 11:51:04 VIDEOSHOW CGI device driver The official type is "other" and I can't easily determine "VIDEOSHOW" from this context

Harvard Graphics:

Name Type Version 1 Version 2 Version 3 Description Notes
BELLHOWL.SYS Display 420.2 1.05 420.13 5/7/87 09:49:17 Quintar Color Display Graphics Driver This is a very rare and unusual graphics card from the XT era
CLRMSTR.SYS Printer 1.15 1.10 1.26 4/2/87 11:51:04 Calcomp Colormaster Device Driver
GSSCGI.SYS Meta - 1.10 1.24 6/27/86 17:25:11 GSS Computer Graphics Interface Controller
LL.SYS Printer 1.11 1.11 Version 1.24 2/11/86 11:28:35 Lasergraphics Language Driver "This driver derived from GSS*CGI Device Driver Programmers Kit"
META.SYS Metafile 1.11 2.01 1.24 6/5/86 18:10:55 Virtual Device Metafile Driver
MTXSCODL.SYS Camera 420.2 1.00 420.13 8/5/85 08:37:02 MATRIX SCODL System Device Driver