All Topics  
Graphical Environment Manager

 

   Email Print
   Bookmark   Link






 

Graphical Environment Manager



 
 
GEM (Graphical Environment Manager) 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 is an operating system originally created for Intel 8080/Intel 8085 based microcomputers by Gary Kildall of Digital Research. Initially confined to single tasking on 8-bit processors and no more than 64 kilobytes of memory, later versions of CP/M added multi-user variations, and were migrated to 16-bit processors....
 operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
 on the Intel 8088
Intel 8088

The Intel 8088 is an Intel x86 microprocessor based on the Intel 8086, with 16-bit registers and an 8-bit external data bus. It can address up to 1 megabyte of random access memory....
 and Motorola 68000
Motorola 68000

The Motorola 68000 is a 16/32-bit Complex instruction set computer microprocessor core designed and marketed by Freescale Semiconductor ....
 microprocessor
Microprocessor

A microprocessor incorporates most or all of the functions of a central processing unit on a single integrated circuit . The first microprocessors emerged in the early 1970s and were used for electronic calculators, using Binary-coded decimal arithmetic on 4-bit Word ....
s. Later versions ran over DOS
DOS

DOS, short for "Disk Operating System", is a shorthand term 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 Windows 95, Windows 98, and Windows Me....
 as well.

GEM is known primarily as the graphical user interface
Graphical user interface

A graphical user interface is a type of user interface which allows people to human-computer interaction such as computers; hand-held devices such as MP3 Players, Portable Media Players or Gaming devices; household appliances and office equipment....
 (GUI) for the Atari ST
Atari ST

The Atari ST is a home computer/personal computer that was commercially available from 1985 to the early 1990s. It was released by Atari Corporation in 1985....
 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 ....
-compatible computers from Amstrad
Amstrad

Amstrad is an electronics firm based in Brentwood, Essex in Essex, England and founded in 1968 by Sir Alan Sugar in the United Kingdom. The name is a contraction of Alan Michael Sugar Trading....
. 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 DOS. The software was originally developed by Ventura Software, a small company founded by John Meyer , Don Heiskel and Lee Jay Lorenzen....
.






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 (Graphical Environment Manager) 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 is an operating system originally created for Intel 8080/Intel 8085 based microcomputers by Gary Kildall of Digital Research. Initially confined to single tasking on 8-bit processors and no more than 64 kilobytes of memory, later versions of CP/M added multi-user variations, and were migrated to 16-bit processors....
 operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
 on the Intel 8088
Intel 8088

The Intel 8088 is an Intel x86 microprocessor based on the Intel 8086, with 16-bit registers and an 8-bit external data bus. It can address up to 1 megabyte of random access memory....
 and Motorola 68000
Motorola 68000

The Motorola 68000 is a 16/32-bit Complex instruction set computer microprocessor core designed and marketed by Freescale Semiconductor ....
 microprocessor
Microprocessor

A microprocessor incorporates most or all of the functions of a central processing unit on a single integrated circuit . The first microprocessors emerged in the early 1970s and were used for electronic calculators, using Binary-coded decimal arithmetic on 4-bit Word ....
s. Later versions ran over DOS
DOS

DOS, short for "Disk Operating System", is a shorthand term 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 Windows 95, Windows 98, and Windows Me....
 as well.

GEM is known primarily as the graphical user interface
Graphical user interface

A graphical user interface is a type of user interface which allows people to human-computer interaction such as computers; hand-held devices such as MP3 Players, Portable Media Players or Gaming devices; household appliances and office equipment....
 (GUI) for the Atari ST
Atari ST

The Atari ST is a home computer/personal computer that was commercially available from 1985 to the early 1990s. It was released by Atari Corporation in 1985....
 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 ....
-compatible computers from Amstrad
Amstrad

Amstrad is an electronics firm based in Brentwood, Essex in Essex, England and founded in 1968 by Sir Alan Sugar in the United Kingdom. The name is a contraction of Alan Michael Sugar Trading....
. 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 DOS. The software was originally developed by Ventura Software, a small company founded by John Meyer , Don Heiskel and Lee Jay Lorenzen....
. 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 is a real-time operating system designed by Digital Research....
 real-time operating system
Real-time operating system

A Real-Time Operating System is a Computer multitasking operating system intended for real-time computing applications. Such applications include embedded systems , industrial robots, spacecraft, industrial control , and scientific research equipment....
.

History


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 who had recently left Xerox PARC
Xerox PARC

PARC , formerly Xerox PARC, is a research and development company in Palo Alto, California with a distinguished reputation for its contributions to information technology....
 (birthplace of the GUI). GSX was essentially a DRI-specific implementation of the GKS
Graphical Kernel System

The Graphical Kernel System was the first International Organization for Standardization standard for low-level computer graphics, introduced in 1977....
 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 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 computing, the Basic Input/Output System , also known as the System BIOS, is a de facto standard defining a firmware interface for IBM PC Compatible computers....
. GDOS was a selection of routines that handled the GKS drawing, while GIOS actually used the underlying hardware to produce the output.

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 is a reverse Acronym and initialism, a phrase constructed after the fact to make an existing word or words into an acronym.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, responsible for basic graphics and drawing. VDI also added the ability to work with multiple font
Typeface

In typography, a typeface is a set of one or more fonts, in one or more sizes, designed with stylistic unity, each comprising a coordinated set of glyphs....
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 Rectangle grid of pixels, or points of color, viewable via a Computer display, paper, or other display medium....
 drawing commands to the formerly vector
Vector graphics

Vector graphics is the use of geometrical Primitive s such as point s, line , curves, and shapes or polygon, which are all based upon mathematical equations, to represent s in computer graphics....
-only GKS-based drawing commands. VDI also added multiple
viewports, a key addition for use with windows.

A new module, GEM AES (
A
pplication Environment Services), provided the window management and UI elements, and GEM Desktop used both libraries in combination to provide a Mac-like 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., formerly Apple Computer Inc., is an United States multinational corporation which designs and manufactures consumer electronics and software products....
 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 was a personal computer designed at Apple Computer, Inc. during the early 1980s.The Lisa project was started at Apple in 1978 and evolved into a project to design a powerful personal computer with a graphical user interface that would be targeted toward business customers....
). 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

In the mathematics field of numerical analysis, a B?zier curve is a parametric curve important 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 programming language created by John Warnock and Charles Geschke in 1982. PostScript is best known for its use as a page description language in the electronic and desktop publishing areas....
 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. Publisher is notable as the first affordable DTP program....
.

Another version of GEM called GEM/5 was produced by GST 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 and 6. It is based on a cut-down version of the Graphical Environment Manager Graphical user interface....
 which was used solely as a file management shell under DR-DOS
DR-DOS

DR-DOS is a DOS-type operating system for IBM PC-PC compatible personal computers, originally developed by Gary Kildall's Digital Research and derived from 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 global software corporation based in the United States specializing in enterprise operating systems such as SUSE Linux distributions and Novell NetWare; identity, security and systems management solutions; and collaboration solutions....
 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 a widely used free software license, originally written by Richard Stallman for the GNU project. The GPL is the most popular and well-known example of the type of strong copyleft license that requires derived works to be available under the same copyleft....
.

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 a global document management company which manufactures and sells a range of color and black-and-white Computer printer, multifunction systems, photo copiers, digital production printing presses, and related consulting services and supplies....
 (and eventually by Corel
Corel

Corel Corporation is a Canada computer software company headquartered in Ottawa, Canada....
), which would go on to be a very popular desktop publishing
Desktop publishing

Desktop publishing combines a personal computer and WYSIWYG page layout software to create publication documents on a computer for either Publishing or small scale local Multifunction printer output and distribution....
 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 Complex instruction set computer 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 a DOS-like operating system that DRI had experimented with instead, GEMDOS. Development began in September of 1984 when Atari sent a team called "The Monterey Group" to DRI to begin work on porting GEM and GEMDOS, producing a system they referred to as TOS
Atari TOS

The Operating System is the operating system of the Atari Atari ST range of computers. This range includes the 520ST, 1040ST and the F, FM and E variations ....
.

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 would be 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 Atari TOS compatible replacement OS that is capable of computer multitasking....
, TOS 4 allowed full multitasking support in GEM.

Continued development

Caldera Thin Clients (later known as Lineo, a division of the company now known as the SCO Group
SCO Group

The SCO Group, Inc. is a software company formerly called Caldera Systems and Caldera International. After acquiring the Santa Cruz Operation Server Software and Services divisions, as well as UnixWare and OpenServer technologies, the company changed its focus to Unix....
) released the source to GEM under the GNU General Public License
GNU General Public License

The GNU General Public License is a widely used free software license, originally written by Richard Stallman for the GNU project. The GPL is the most popular and well-known example of the type of strong copyleft license that requires derived works to be available under the same copyleft....
 (GPL) in April 1999. The development of GEM for PC is continued as OpenGEM
OpenGEM

OpenGEM is a distribution of FreeGEM, a graphical user interface for DOS. OpenGEM is a non-computer multitasking 16-bit GUI.OpenGEM is designed to provide commercial-quality software for DOS users....
 and FreeGEM
FreeGEM

FreeGEM is a computer Graphical user interface based on Digital Research's Graphical Environment Manager 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

The Operating System is the operating system of the Atari Atari ST range of computers. This range includes the 520ST, 1040ST and the F, FM and E variations ....
 clone EmuTOS
EmuTOS

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

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 Computer graphics library and associated Application programming interface which is a core part of the classic Apple Macintosh Mac OS....
) 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 commercialized by Microsoft. It was the most commonly used member of the DOS family of operating systems and was the main operating system for personal computers during the 1980s....
 or DR DOS+ on the PC, TOS 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

    The Operating System is the operating system of the Atari Atari ST range of computers. This range includes the 520ST, 1040ST and the F, FM and E variations ....
  • FreeGEM
    FreeGEM

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

    OpenGEM is a distribution of FreeGEM, a graphical user interface for DOS. OpenGEM is a non-computer multitasking 16-bit GUI.OpenGEM is designed to provide commercial-quality software for DOS users....
  • Graphics Execution Manager
    Graphics Execution Manager

    The GEM is a modern memory manager specialized for use in device drivers for Graphics processing unit. It manages graphics memory, controls the Execution_#Context_of_execution and manages the Non-Uniform Memory Access environment on modern graphics chipsets....


External links


  • - an excellent page with history, documentation, and links to various open-source GEM projects

  • - includes downloadable copies of the latest GEM/3 release and developer system
  • - a distribution of Atari OS components (consisting of for example ), aimed specifically at ARAnyM
  • Atari Running on Any Machine: an open source emulator/virtual machine that can run Atari GEM applications