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 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.
Digital Research DR-Graph is a chart creation program that can create
high quality business graphics on plotters or graphics printers.
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.
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 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 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.
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.
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.
http://www.seasip.info/Cpm/software/gsx86.html
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.
Here is an example of DR-Graph outputting a graph to a VGA display.
It doesn't seem to handle colors right though.
There are also some interesting screen shots of GSX applications running
in emulation and outputting to a simulated graphics terminal here:
http://www.autometer.de/unix4fun/z80pack/screenshots/gsx80.html
So in conclusion, GSX is not really much of a GUI, and not widely used,
but I believe it was influential in its time.
|