GEM (for Graphics Environment Manager) is a discontinued operating environment released by Digital Research in 1985. GEM is known primarily as the native graphical user interface of the Atari ST series of computers, providing a WIMP desktop. It was also available for IBM PC compatibles and shipped with some models from Amstrad. GEM is used as the core for some commercial MS-DOS programs, the most notable being Ventura Publisher. It was ported to other computers that previously lacked graphical interfaces, but never gained traction. The final retail version of GEM was released in 1988.

Digital Research later produced X/GEM for their FlexOS real-time operating system with adaptations for OS/2 Presentation Manager and the X Window System under preparation as well.

GEM (desktop environment)

History

GSX

In late 1984, GEM started life at DRI as an outgrowth of a more general-purpose graphics library known as GSX (Graphics System Extension), written by a team led by Don Heiskell since about 1982. Lee Lorenzen (at Graphic Software Systems) who had recently left Xerox PARC (the birthplace of the modern GUI) wrote much of the code. GSX was essentially a DRI-specific implementation of the GKS graphics standard proposed in the late 1970s. GSX was intended to allow DRI to write graphics programs (charting, etc.) for any of the 8-bit and 16-bit platforms CP/M-80, Concurrent CP/M, CP/M-86 and MS-DOS (NEC APC-III) would run on, a task that otherwise would have required considerable effort to port due to the large differences in graphics hardware (and concepts) between the various systems of that era.

GEM (desktop environment)

GSX consisted of two parts: a selection of routines for common drawing operations, and the device drivers that are responsible for handling the actual output. The former was known as GDOS (Graphics Device Operating System) and the latter as GIOS (Graphics Input/Output System), a play on the division of CP/M into the machine-independent BDOS (Basic Disk Operating System) and the machine-specific BIOS (Basic Input/Output System). GDOS was a selection of routines that handled the GKS drawing, while GIOS actually used the underlying hardware to produce the output.

GEM (desktop environment)

Known 8-bit device drivers

DDMODE0 Amstrad CPC screen in mode 0

DDMODE1 Amstrad CPC screen in mode 1

DDMODE2 Amstrad CPC screen in mode 2

DDSCREEN Amstrad PCW screen

DDBBC0 BBC Micro screen in mode 0

DDBBC1 BBC Micro screen in mode 1

DDGDC, DDNCRDMV NEC µPD7220

DDVRET VT100 + Retro-Graphics GEN.II (aka 4027/4010) DDTS803 TeleVideo screen DDHP26XX HP 2648 and 2627 terminals DDQX10 QX-10 screen DDFXLR8 Epson lo-res, 8-bit DDFXHR8 Epson hi-res, 8-bit DDFXLR7 Epson and Epson-compatible printers DDCITOLR C. Itoh 8510A lo-res DDCITOH C. Itoh 8510A DD-DMP1 Amstrad DMP1 printer (aka Seikosha GP500M-2) DDSHINWA Printers using Shinwa Industries mechanism DDHP7470, DD7470 Hewlett-Packard HP 7470 and compatible pen plotters, HP-GL/2 DD7220 Hewlett-Packard HP 7220, HP-GL DDGEN2 Retro-Graphics GEN.II (Ratfor source code in Programmer's Guide) DDHI3M Houston Instrument HiPlot DMP DDHI7M Houston Instrument HiPlot DMP DDMX80 Epson MX-80 + Graftrax Plus DDESP Electric Studio Light Pen (Amstrad PCW) DDOKI84 Oki Data Microline DDMF GEM metafile DDPS PostScript metafile

Known 16-bit device drivers

DDLA100 DEC

DDLA50 DEC

DDNECAPC NEC APC

NCRPC4 NCR DecisionMate V

IBMBLMP2, IBMBLMP3 IBM CGA monochrome mode

IBMBLCP2, IBMBLCP3 IBM CGA color mode

IBMCHMP6

IBMEHFP6, IBMEHMP6, IBMELFP6 IBM Enhanced Graphics Adapter

HERMONP2, IBMHERP3, HERMONP6, Hercules Graphics Card (720×348) UM85C408AF UMC VGA Graphics DDIDSM IDS Monochrome DDANADXM Anadex DP-9501 and DP-9001A DDCITOLR C. Itoh 8510A lo-res DDCNTXM Centronics 351, 352 and 353 DDDS180 Datasouth DDOKI84 Oki Data Microline DDPMVP Printronix MVP DD3EPSNL IBM/Epson FX-80 lo-res Printer (see DDFXLR7 and DDFXLR8) DD3EPSNH IBM/Epson FX-80 hi-res Printer (see DDFXHR8) DD75XHM1 Regnecentralen RC759 Piccoline DDGSXM Metafile EPSMONH6 IBMHP743 Hewlett-Packard 7470A/7475A Plotter (see DDHP7470 and DD7470) METAFIL6 Metafile PALETTE Polaroid camera

The DOS version of GSX supports loading drivers in the CP/M-86 CMD format. Consequently, the same driver binary may operate under both CP/M-86 and DOS.

GEM

Intel versions

The 16-bit version of GSX 1.3 evolved into one part of what would later be known as GEM, which was an effort to build a full GUI system using the earlier GSX work as its basis. Originally known as Crystal as a play on an IBM project called Glass, the name was later changed to GEM.