Home      Discussion      Topics      Dictionary      Almanac
Signup       Login
Graphical Environment Manager

Graphical Environment Manager

Discussion
Ask a question about 'Graphical Environment Manager'
Start a new discussion about 'Graphical Environment Manager'
Answer questions from other users
Full Discussion Forum
 
Encyclopedia
GEM was a windowing system
Windowing system
A windowing system is a component of a graphical user interface , and more specifically of a desktop environment, which supports the implementation of window managers, and provides basic support for graphics hardware, pointing devices such as mice, and keyboards...

 created by Digital Research, Inc. (DRI)
Digital Research
Digital Research, Inc. was the company created by Dr. Gary Kildall to market and develop his CP/M operating system and related products. It was the first large software company in the microcomputer world...

 for use with the CP/M
CP/M
CP/M was a mass-market operating system created for Intel 8080/85 based microcomputers by Gary Kildall of Digital Research, Inc...

 operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

 on the Intel 8088
Intel 8088
The Intel 8088 microprocessor was a variant of the Intel 8086 and was introduced on July 1, 1979. It had an 8-bit external data bus instead of the 16-bit bus of the 8086. The 16-bit registers and the one megabyte address range were unchanged, however...

 and Motorola 68000
Motorola 68000
The Motorola 68000 is a 16/32-bit CISC microprocessor core designed and marketed by Freescale Semiconductor...

 microprocessor
Microprocessor
A microprocessor incorporates the functions of a computer's central processing unit on a single integrated circuit, or at most a few integrated circuits. It is a multipurpose, programmable device that accepts digital data as input, processes it according to instructions stored in its memory, and...

s. Later versions ran over DOS
DOS
DOS, short for "Disk Operating System", is an acronym for several closely related operating systems that dominated the IBM PC compatible market between 1981 and 1995, or until about 2000 if one includes the partially DOS-based Microsoft Windows versions 95, 98, and Millennium Edition.Related...

 as well.

GEM is known primarily as the graphical user interface
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...

 (GUI) for the Atari ST
Atari ST
The Atari ST is a home/personal computer that was released by Atari Corporation in 1985 and commercially available from that summer into the early 1990s. The "ST" officially stands for "Sixteen/Thirty-two", which referred to the Motorola 68000's 16-bit external bus and 32-bit internals...

 series of computers, and was also supplied with a series of IBM PC
IBM PC
The IBM Personal Computer, commonly known as the IBM PC, is the original version and progenitor of the IBM PC compatible hardware platform. It is IBM model number 5150, and was introduced on August 12, 1981...

-compatible computers from Amstrad
Amstrad
Amstrad is a British electronics company, now wholly owned by BSkyB. As of 2006, Amstrad's main business is manufacturing Sky Digital interactive boxes....

. It also was available for standard IBM PC
IBM PC
The IBM Personal Computer, commonly known as the IBM PC, is the original version and progenitor of the IBM PC compatible hardware platform. It is IBM model number 5150, and was introduced on August 12, 1981...

, at the time when the 6 MHz IBM PC AT (and the very concept of a GUI) was brand new. It was the core for a small number of DOS programs, the most notable being Ventura Publisher
Corel Ventura
Ventura Publisher was the first popular desktop publishing package for IBM PC compatible computers running the GEM extension to the DOS operating system. The software was originally developed by Ventura Software, a small software company founded by John Meyer, Don Heiskel and Lee Jay Lorenzen, all...

. It was ported to a number of other computers that previously lacked graphical interfaces, but never gained popularity on those platforms. DRI also produced FlexGem for their FlexOS
FlexOS
FlexOS was a modular real-time multi-user multi-tasking operating system designed for computer-integrated manufacturing, laboratory, retail and financial markets...

 real-time operating system
Real-time operating system
A real-time operating system is an operating system intended to serve real-time application requests.A key characteristic of a RTOS is the level of its consistency concerning the amount of time it takes to accept and complete an application's task; the variability is jitter...

.

GSX



GEM started life at DRI as a more general purpose graphics library known as GSX (Graphics System eXtension), written by a team led by Lee Jay Lorenzen (at GSS) who had recently left Xerox PARC
Xerox PARC
PARC , formerly Xerox PARC, is a research and co-development company in Palo Alto, California, with a distinguished reputation for its contributions to information technology and hardware systems....

 (birthplace of the GUI). GSX was essentially a DRI-specific implementation of the GKS
Graphical Kernel System
The Graphical Kernel System was the first ISO standard for low-level computer graphics, introduced in 1977. GKS provides a set of drawing features for two-dimensional vector graphics suitable for charting and similar duties...

 graphics standard proposed in the late 1970s. GSX was intended to allow DRI to write graphics programs (charting, etc.) for any of the platforms CP/M-80, CP/M-86 and MS-DOS (NEC APC-III) would run on, a task that would otherwise require considerable effort to port due to the large differences in graphics hardware (and concepts) between the various systems of that era.

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 and the latter as GIOS, a play on the division of CP/M into machine-independent BDOS and machine-specific BIOS
BIOS
In IBM PC compatible computers, the basic input/output system , also known as the System BIOS or ROM BIOS , is a de facto standard defining a firmware interface....

. GDOS was a selection of routines that handled the GKS drawing, while GIOS actually used the underlying hardware to produce the output.

Known device drivers
  • DDFXLR7 Epson and Epson-compatible printers
  • DD-DMP1 Amstrad DMP1 printer
  • DDSHINWA Printers using Shinwa mechanism
  • DDHP7470 DD7470 Hewlett Packard 7470
    HP 7470
    The HP 7470 was a small low-cost desktop pen plotter introduced by Hewlett Packard's San Diego division. It used a revolutionary "grit wheel" design which moved the paper held in place by a wheel with embedded grit and a pinch roller. The HP 7470 had only two pens, one on either side. It was much...

     and compatible pen plotters
  • DDMODE0 Screen in mode 0
  • DDMODE1 Screen in mode 1
  • DDMODE2 Screen in mode 2
  • DDSCREEN Amstrad PCW
    Amstrad PCW
    The Amstrad PCW series was a range of personal computers produced by British company Amstrad from 1985 to 1998, and also sold under licence in Europe as the "Joyce" by the German electronics company Schneider in the early years of the series' life. When it was launched, the cost of a PCW system was...

     screen

  • DD7220 Hewlett Packard HP 7220
  • DDGDC NEC µPD7220
    NEC µPD7220
    The High-Performance Graphics Display Controller 7220 is a video interface controller developed by NEC and used among others in its APC III computers and the Epson QX-10.A CMOS variant is called µPD72020.-Internals:...

  • DDGEN2 Retro-Graphics GEN.II
  • DDHI3M Houston Instrument HiPlot DMP
  • DDHI7M Houston Instrument HiPlot DMP
  • DDMX80 Epson MX-80 + Graftrax Plus
  • DDVRET VT100
    VT100
    The VT100 is a video terminal that was made by Digital Equipment Corporation . Its detailed attributes became the de facto standard for terminal emulators.-History:...

     + Retro-Graphics GEN.II (aka 4027/4010)

  • DDFXHR8 Epson hi-res, 8-bit
  • DDQX10 QX-10 screen
  • DDCITOH C. Itoh
  • DDFXLR8 Epson lo-res, 8-bit

GEM


GSX evolved into one part of what would later be known as GEM, which was an effort to build a fully 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. The use of the acronym evolved later (see backronym
Backronym
A backronym or bacronym is a phrase constructed purposely, such that an acronym can be formed to a specific desired word. Backronyms may be invented with serious or humorous intent, or may be a type of false or folk etymology....

).

Under GEM, GSX became the GEM VDI (Virtual Device Interface), responsible for basic graphics and drawing. VDI also added the ability to work with multiple font
Typeface
In typography, a typeface is the artistic representation or interpretation of characters; it is the way the type looks. Each type is designed and there are thousands of different typefaces in existence, with new ones being developed constantly....

s and added a selection of raster
Raster graphics
In computer graphics, a raster graphics image, or bitmap, is a data structure representing a generally rectangular grid of pixels, or points of color, viewable via a monitor, paper, or other display medium...

 drawing commands to the formerly vector
Vector graphics
Vector graphics is the use of geometrical primitives such as points, lines, curves, and shapes or polygon, which are all based on mathematical expressions, to represent images in computer graphics...

-only GKS-based drawing commands. VDI also added multiple viewport
Viewport
A viewport is a rectangular viewing region in computer graphics, or a term used for optical components. It has several definitions in different contexts:- Computing :...

s, a key addition for use with windows.

A new module, GEM AES (Application Environment Services), provided the window management and UI elements, and GEM Desktop used both libraries in combination to provide a GUI. The 8086 version of the entire system was first demoed at the 1984 COMDEX
COMDEX
COMDEX was a computer expo held in Las Vegas, Nevada, each November from 1979 to 2003. It was one of the largest computer trade shows in the world, usually second only to the German CeBIT, and by many accounts one of the largest trade shows in any industry sector...

, and shipped as GEM/1 on 28 February 1985.

Later versions


At this point Apple Computer
Apple Computer
Apple Inc. is an American multinational corporation that designs and markets consumer electronics, computer software, and personal computers. The company's best-known hardware products include the Macintosh line of computers, the iPod, the iPhone and the iPad...

 sued DRI in what would turn into a long dispute over the "look and feel" of the GEM/1 system, which was an almost direct copy of the Macintosh (with some elements bearing a closer resemblance to those in the earlier Lisa
Apple Lisa
The Apple Lisa—also known as the Lisa—is a :personal computer designed by Apple Computer, Inc. during the early 1980s....

, available since January 1983). This eventually led to DRI being forced to change several basic features of the system. Apple would later go on to sue other companies for similar issues.

DRI responded with the "lawsuit friendly" GEM/2, which allowed the display of only two fixed windows on the "desktop" (other programs could do what they wished however), changed the trash can icon, and removed the animations for things like opening and closing windows. It was otherwise similar to GEM/1, but also included a number of bug fixes and cosmetic improvements.

The last commercial release was GEM/3, which had speed improvements and shipped with a number of basic applications. Commercial sales of GEM ended with GEM/3; the source code was subsequently made available to a number of DRI's leading customers.

Custom versions


GEM/4 included the ability to work with Bézier curve
Bézier curve
A Bézier curve is a parametric curve frequently used in computer graphics and related fields. Generalizations of Bézier curves to higher dimensions are called Bézier surfaces, of which the Bézier triangle is a special case....

s, a feature still not common outside the PostScript
PostScript
PostScript is a dynamically typed concatenative programming language created by John Warnock and Charles Geschke in 1982. It is best known for its use as a page description language in the electronic and desktop publishing areas. Adobe PostScript 3 is also the worldwide printing and imaging...

 world. This version was produced specifically for Artline, a drawing program from CCP. The system also included changes to the font management system, which made it incompatible with the likes of Timeworks Publisher
Timeworks Publisher
Timeworks Publisher was a desktop publishing program produced by GST Software in the United Kingdom.It is notable as the first affordable DTP program. In appearance and operation, it was a Ventura Publisher clone, but it was possible to run it on a computer without a hard disk...

.

Another version of GEM called GEM/5 was produced by GST
GST Computer Systems
GST was a group of computer companies based in Cambridge, England, founded by Dr Jeff Fenton in June 1979. The company worked with Sinclair Research, Torch Computers, Acorn Computers, Monotype Corporation and Kwik-Fit, amongst others.The group included:...

 for Timeworks Publisher 2.1. It contained an updated look with 3D buttons. Font scaling on the fly was included. It came complete with all the standard 3.1 tools. This version was produced from GEM 3.13 with only the Bézier handling taken from GEM 4.

ViewMax


GEM Desktop itself was spun off as a product known as ViewMAX
ViewMAX
ViewMAX is the file manager supplied with DR DOS versions 5.0 and 6.0. It is based on a cut-down version of the GEM GUI.-Versions:ViewMAX/1 was distributed with DR DOS 5.0. It had a very similar appearance to previous GEM desktops – two fixed-size windows...

 which was used solely as a file management shell under DR-DOS
DR-DOS
DR-DOS is an MS-DOS-compatible operating system for IBM PC-compatible personal computers, originally developed by Gary Kildall's Digital Research and derived from Concurrent PC DOS 6.0, which was an advanced successor of CP/M-86...

. In this form the system could not run other GEM programs. This led to the odd situation where you could have a number of applications (including ViewMAX) all with their own copy of the GEM system "inside" of them. This scenario was actually rare, as there were not that many GEM programs.

In these forms GEM survived until DRI was purchased by Novell
Novell
Novell, Inc. is a multinational software and services company. It is a wholly owned subsidiary of The Attachmate Group. It specializes in network operating systems, such as Novell NetWare; systems management solutions, such as Novell ZENworks; and collaboration solutions, such as Novell Groupwise...

 and all GEM development was cancelled.

Throughout this time DRI had also been working on making the GEM system capable of multitasking. This started with X/GEM based on GEM/1, but this required use of one of the multitasking CP/M based operating systems. GEM/XM was an updated version of GEM/2 which allowed multitasking and the ability to run DOS programs in shell windows (as Windows does today). None of these saw the light of day, but the GEM/XM source code is now freely available under the GNU General Public License
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....

.

Lee Lorenzen had left soon after the release of GEM/1, when it became clear that DRI had no strong interest in applications development. He then formed his own company with another of the GEM developers, Dan Meyer, and started Ventura Software. They developed Ventura Publisher, which was later marketed by Xerox
Xerox
Xerox Corporation is an American multinational document management corporation that produced and sells a range of color and black-and-white printers, multifunction systems, photo copiers, digital production printing presses, and related consulting services and supplies...

 (and eventually by Corel
Corel
Corel Corporation from the abbreviation is a computer software company headquartered in Ottawa, Ontario, that specializes in graphics processing, similar to Adobe Systems...

), which would go on to be a very popular desktop publishing
Desktop publishing
Desktop publishing is the creation of documents using page layout software on a personal computer.The term has been used for publishing at all levels, from small-circulation documents such as local newsletters to books, magazines and newspapers...

 program for some time.

Atari versions


Development of the production 68000 version of GEM began in September 1984, when Atari sent a team called "The Monterey Group" to Digital Research
Digital Research
Digital Research, Inc. was the company created by Dr. Gary Kildall to market and develop his CP/M operating system and related products. It was the first large software company in the microcomputer world...

 to begin work on porting GEM. Originally the plan was to run GEM on top of CP/M-68k, both ostensibly ported to the Motorola 68000
Motorola 68000
The Motorola 68000 is a 16/32-bit CISC microprocessor core designed and marketed by Freescale Semiconductor...

 by DRI prior to the ST design being created. In fact, these ports were unusable and would require considerable development. Atari eventually decided to give up on the existing code and port GEMDOS, a DOS-like operating system that DRI had experimented with instead, referring to it as TOS
Atari TOS
TOS is the operating system of the Atari ST range of computers. This range includes the 520 and 1040ST, their STF/M/FM and STE variants and the Mega ST/STE. Later, 32-bit machines were developed using a new version of TOS, called MultiTOS, which allowed multitasking...

.

As Atari had provided most of the development of the 68k version, they were given full rights to continued developments without needing to reverse-license it back to DRI, who had apparently lost interest in the 68000 platform. As a result, the Apple-DRI lawsuit did not apply to the Atari versions of GEM, and they were allowed to keep a more Mac-like UI.

Over the next seven years, from 1985 to 1992, new versions of TOS were released with each new generation of the ST line. Updates included support for more colors and higher resolutions in the raster-side of the system, but remained generally similar to the original in terms of GKS support. In 1992 Atari released TOS 4, or MultiTOS, along with their final computer system, the Falcon030. In combination with MiNT
MiNT
MiNT is a free software alternative operating system kernel for the Atari ST and its successors. Together with the free system components fVDI , XaAES , and TeraDesk , MiNT provides a free TOS compatible replacement OS that is capable of multitasking.MiNT was originally released by Eric Smith as...

, TOS 4 allowed full multitasking support in GEM.

Continued development


Caldera Thin Clients (later known as Lineo
Lineo
Lineo was a thin client and embedded systems company spun out of Caldera Thin Clients, on 20 July 1999.Caldera Thin Clients, Inc., had been created as a subsidiary of Caldera, Inc., on 2 September 1998...

) released the source to GEM under the GNU General Public License
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....

 (GPL) in April 1999. The development of GEM for PC is continued as OpenGEM
OpenGEM
OpenGEM is a distribution combining components of the original Digital Research's GEM and the later FreeGEM version of a graphical user interface for DOS...

 and FreeGEM
FreeGEM
FreeGEM is a windowing system based on Digital Research's GEM which was first released in 1985. GEM stands for "Graphical Environment Manager"...

. It also has been ported to the Atari ST again to be used in the free TOS
Atari TOS
TOS is the operating system of the Atari ST range of computers. This range includes the 520 and 1040ST, their STF/M/FM and STE variants and the Mega ST/STE. Later, 32-bit machines were developed using a new version of TOS, called MultiTOS, which allowed multitasking...

 clone EmuTOS
EmuTOS
EmuTOS is a replacement for TOS , released as free software. It does not add any functionality and is mainly intended to be used with Atari emulators, such as Hatari...

.

Description


The "full" GEM system consisted of three main parts:
  1. GEM VDI (Virtual Device Interface)
  2. GEM AES (Application Environment Services)
  3. GEM Desktop (an application providing drag-and-drop based file management)


The GEM VDI was the core graphics system of the overall GEM engine. It was responsible for "low level" drawing in the form of "draw line from here to here". VDI included a resolution and coordinate independent set of vector drawing instructions which were called from applications through a fairly simple interface. TVDI also included environment information (state, or context), current color, line thickness, output device, etc.

These commands were then examined by GDOS, whose task it was to send the commands to the proper driver for actual rendering. For instance, if a particular GEM VDI environment was connected to the screen, the VDI instructions were then routed to the screen driver for drawing. Simply changing the environment to point to the printer was all that was needed (in theory) to print, dramatically reducing the developer workload (they formerly had to do printing "by hand" in all applications). GDOS was also responsible for loading up the drivers and any requested fonts when GEM was first loaded.

One major advantage the VDI provided over the Macintosh was the way multiple devices and contexts were handled. In the Mac such information was stored in memory inside the application. This resulted in serious problems when attempting to make the Mac handle pre-emptive multitasking, as the drawing layer (QuickDraw
QuickDraw
QuickDraw is the 2D graphics library and associated Application Programming Interface which is a core part of the classic Apple Macintosh operating system. It was initially written by Bill Atkinson and Andy Hertzfeld. QuickDraw still exists as part of the libraries of Mac OS X, but has been...

) needed to have direct memory access into all programs. In GEM VDI however, such information was stored in the device itself, with GDOS creating "virtual devices" for every context – each window for instance. This advantage remained largely theoretical however, as the multitasking versions of GEM were never officially released.

The GEM AES provided the window system, window manager, UI style and other GUI elements (widgets). For performance reasons, many of the GUI widgets were actually drawn using character graphics. Compared to the Macintosh, AES provided a rather spartan look and the system shipped with a single monospaced font.

The AES performs its operations by calling the VDI, but in a more general sense the two parts of GEM were often completely separated in applications. Applications typically called AES commands to set up a new window, with the rest of the application using VDI calls to actually draw into that window.

The GEM Desktop was an application program that used AES to provide a file manager and launcher, the traditional "desktop" environment that users had come to expect from the Macintosh. Unlike the Macintosh, the GEM Desktop was based on top of DOS (MS-DOS
MS-DOS
MS-DOS is an operating system for x86-based personal computers. It was the most commonly used member of the DOS family of operating systems, and was the main operating system for IBM PC compatible personal computers during the 1980s to the mid 1990s, until it was gradually superseded by operating...

, DOS Plus
DOS Plus
DOS Plus is an operating system written by Digital Research, first released in 1985. It can be seen as an intermediate step between CP/M-86 and DR-DOS....

 or DR DOS on the PC, GEMDOS on the Atari), and as a result the actual display was cluttered with computer-like items including path names and wildcards. In general GEM was much more "geeky" than the Mac, but simply running a usable shell on DOS was a huge achievement on its own.

See also


  • Atari TOS
    Atari TOS
    TOS is the operating system of the Atari ST range of computers. This range includes the 520 and 1040ST, their STF/M/FM and STE variants and the Mega ST/STE. Later, 32-bit machines were developed using a new version of TOS, called MultiTOS, which allowed multitasking...

  • FreeGEM
    FreeGEM
    FreeGEM is a windowing system based on Digital Research's GEM which was first released in 1985. GEM stands for "Graphical Environment Manager"...

  • OpenGEM
    OpenGEM
    OpenGEM is a distribution combining components of the original Digital Research's GEM and the later FreeGEM version of a graphical user interface for DOS...

  • Graphics Execution Manager
    Graphics Execution Manager
    The Graphics Execution Manager is a computer software system developed by Intel to do memory management for device drivers for graphics chipsets....


External links

  • GEM - an excellent page with history, documentation, and links to various open-source GEM projects
  • Afros - a distribution of Atari OS components (consisting of for example EmuTOS), aimed specifically at ARAnyM
  • Aranym Atari Running on Any Machine: an open source emulator/virtual machine that can run Atari GEM applications
  • Creating of TOS (part 1) Landon Dyer, one of original member of "The Monterey Group"
  • Creating of TOS (part 2) Landon Dyer, one of original member of "The Monterey Group"