Site News

Visi On
Win Shells
Misc GUIs

GUI Timeline
GUI Sites
Location: GUIs > GEM > Digital Research GSX

GSX Screen Shots

GSX is a display independent graphics library developed by Digital Research for their CP/M-80 and CP/M-86 operating systems. It was also ported to MS-DOS. GSX supports various sized displays, plotters, graphics printers and mice. GSX uses vector based drawing, which permits images to scale to different size or aspect ratio screens.

It abstracts the input and output devices in to installable device drivers. A vendor could create a unique video display card, simply provide a driver for it, and all GSX applications would automatically work without program modification.

This was extremely important in the pre-IBM PC days, as every vendor's hardware was different and incompatible. A software vendor might want to create a graphical application for as many hardware platforms possible, but would then be faced with the task of implementing support for hundreds of systems and video options. Only to fall behind whenever a new system came out.

However, there were only a few major commercial applications developed for GSX: Digital Research's DR-Draw, DR-Graph, and DR-Logo (if anyone know of any more, or has a copy of DR-Logo they would like to share, please let me know)

The GSX system was used as the foundation for Digital Research's GEM.

GSX Driver
GSX installs itself as a resident program in memory. The application and GSX binaries files are independent. In theory an application should not need to be recompiled to use different GSX versions or drivers.

If you have read about the history of Microsoft Windows, you may have heard that it started off as a project called "Interface Manager" and it was described as an "Installable device driver". That is essentially what GSX is, and in all probability is what Microsoft was trying to mirror before "Windows".

GSX is compatible with PC-DOS 1.1 and MS-DOS 1.x.

DR-Graph Splash
Digital Research DR-Graph is a chart creation program that can create high quality business graphics on plotters or graphics printers.

DR Draw Splash
Similarly, DR-Draw is a shape based drawing program that can create high quality output on plotters or graphics printers.

In a way, running these on IBM CGA doesn't really do these programs justice. IBM was stuck with CGA while other machines such as the NEC APC or TI Professional Computer had higher resolution graphics.

DR-Draw and DR-Graph were available for CP/M-80 and CP/M-86 on numerous machines. They were also ported to MS-DOS including non-IBM hardware compatibles. In fact the above DR-Graph version is actually for the TI Professional Computer (a non-IBM hardware compatible MS-DOS machine) but simply switched to using IBM GSX drivers found with DR-Draw.

DR Graph Menu
GSX does not define user interface controls. It is purely a graphics abstraction layer.

In fact, DR Graph uses plain old text mode for its menus and data entry.

DR Graph Graph
DR Graph switches to graphics mode when plotting a chart. It only uses the mouse for certain selection options.

An interesting feature of DR Graph is that you may output your graph to two different "displays". For example, on an IBM PC you may choose between monochrome CGA and 4-color CGA.

Each "display" uses a different driver and need not be the same video card. In theory one might build their graph using normal CGA but output it on a secondary monitor attached to a Hercules Monographics card or other third party high resolution video device.

DR Draw Shapes
DR-Draw is a shape based graphics program rather than bit-mapped. This enables your drawings to be rendered at a higher resolution on a plotter, printer, or different display device.

DR-Draw supports drawing lines, filled polygons, circles, arcs, bars, and text. Objects may be assigned a color, but the appearance depends on the output device.

This version of DR-Draw is missing the font disk and additional drivers.

DR Draw Picture
Unlike DR-Graph, DR-Draw runs entirely inside a GUI.

It presents a menu at the top of the screen. It is not selected by a cursor, instead you move the mouse left and right and it highlights the selected item.

Messages, input, or sometimes a second menu are shown on a line below the menu.

While drawing or selecting objects, the mouse cursor appears as a "+". GSX for DOS is compatible with the MS-DOS Microsoft Mouse driver. Depending on the implementation, it can also use keyboard keys or other input devices to move the cursor.

DR Draw Splash VGA
Here is an example of DR Draw running with a VGA driver.

John Elliott, who brought us VGA for Windows 1.0x, also backported some GSX-86 1.3 drivers, including this VGA driver,  from the published GEM source code.

However, these drivers are buggy when used with DR Draw and DRGraph. DR-Graph will not display the text menu screens, and DR-Draw will not draw the menu fonts quite right.

GSX supports a number of video cards. Off hand there are native drivers for:

  • IBM CGA Monochrome
  • IBM CGA Color
  • Plantronics PC+ Colorplus Adapter
  • Hercules Graphics Card
  • Artist 2 Graphics Card
  • NCR Decision Mate V
  • TI Professional Computer
  • And possibly others.
Interestingly, GSX drivers are designed so the same driver binary may operate under both CP/M-86 and MS-DOS.

DR Graph Graph VGA
Here is an example of DR-Graph outputting a graph to a VGA display. It doesn't seem to handle colors right though.

GSX in Emulation
There are also some interesting screen shots of GSX applications running in emulation and outputting to a simulated graphics terminal here:

So in conclusion, GSX is not really much of a GUI, and not widely used, but I believe it was influential in its time.