Developer(s) | Digital Research Lee Jay Lorenzen |
---|---|
Initial release | 28 February 1985 [1] |
Stable release | GEM/3 3.11 / 3 November 1988 |
Operating system | MS-DOS, Concurrent DOS, FlexOS, CP/M-68K, GEMDOS, TOS |
Platform | Intel 8088, Motorola 68000 |
Type | Windowing system |
License | GPL-2.0-only |
Website | www |
GEM (for Graphics Environment Manager [2] ) 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 [3] [4] 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 [3] [5] real-time operating system with adaptations for OS/2 Presentation Manager [6] [3] and the X Window System under preparation as well. [3]
In late 1984, GEM started life at DRI as an outgrowth of a more general-purpose graphics library known as GSX (Graphics System Extension), [7] written by a team led by Don Heiskell since about 1982. [8] Lee Jay 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, [9] 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. [7]
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), [10] 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). [7] GDOS was a selection of routines that handled the GKS drawing, while GIOS actually used the underlying hardware to produce the output. [7]
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. [14]
The 16-bit version of GSX 1.3 [7] [9] 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.
Under GEM, GSX became GEM VDI (Virtual Device Interface), responsible for basic graphics and drawing. [10] VDI also added the ability to work with multiple fonts and added a selection of raster drawing commands to the formerly vector-only GKS-based drawing commands. VDI also added multiple viewports, a key addition for use with windows. [15]
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. [16] The 8086 version of the entire system was first officially demoed at COMDEX in November 1984, [4] [3] following a demonstration on the 80286-based Acorn Business Computer in September 1984 where the software had been attributed to Acorn, [17] and the system was shipped as GEM/1 on 28 February 1985. [1]
GEM Desktop 1.0 was released on 28 February 1985. [1] GEM Desktop 1.1 was released on 10 April 1985 with support for CGA and EGA displays. [18] [19] A version for the Apricot Computers F-Series, supporting 640×200 in up to 8 colors, was also available as GEM Desktop 1.2. [20]
Digital Research also positioned Concurrent DOS 4.1 with GEM as alternative for IBM's TopView. [21]
DRI originally designed GEM for DOS so that it would check for and only run on IBM computers, and not PC compatibles like those from Compaq, as the company hoped to receive license fees from compatible makers. Developers reacted with what BYTE described as "a small explosion"; it reported that at a DRI-hosted seminar in February 1985, more than half of the attendees agreed that GEM's incompatibility with Compaq was a serious limitation. Later that month the company removed the restriction. [22] Applications that supported GEM included Lifetree Software's GEM Write. [23]
At this point, Apple Computer sued DRI [24] [ unreliable source? ] 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 Macintosh (with some elements bearing a closer resemblance to those in the earlier Lisa, available since January 1983). This eventually led to DRI being forced to change several basic features of the system. [25] [26] [27] [28] [24] (See also: Apple v. Digital Research.) Apple would later go on to sue other companies for similar issues, including their copyright lawsuit against Microsoft and HP.
In addition to printers the system also contained drivers for some more unusual devices such as the Polaroid Palette. [13]
DRI responded with the "lawsuit-friendly" GEM Desktop 2.0, released on 24 March 1986, which eventually added support for VGA, sometime after its release in 1987. [29] It allowed the display of only two fixed windows on the "desktop" (though other programs could do what they wished), 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.
In 1988 Stewart Alsop II said that GEM was among several GUIs that "have already been knocked out" of the market by Apple, IBM/Microsoft, and others. [30]
GEM XM with "GEM Desktop 3.0" was an updated version of GEM/2 in 1986/1987 for DOS (including DOS Plus) which allowed task-switching and the ability to run up to ten GEM and DOS programs at once, swapping out to expanded memory (XM) through EMS/EEMS or to disk (including RAM disks, thereby also allowing the use of extended memory). [31] [32] [33] [34] Data could be copied and pasted between applications through a clipboard with filter function (a feature later also found in TaskMAX under DR DOS 6.0). [32] Digital Research planned to offer GEM XM as an option to GEM Draw Plus users and through OEM channels. [31]
The GEM XM source code is now freely available under the terms of GNU General Public License.
The last retail release was GEM/3 Desktop, released on 3 November 1988, [35] 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.
While GEM/2 for the PC still provided a GSX API in addition to the GEM API; GEM/3 no longer did. [10]
GEM/4, released in 1990, included the ability to work with Bézier curves, a feature still not commonly found outside the PostScript world.[ citation needed ] This version was produced specifically for Artline 2, a drawing program from the German company CCP Development GmbH. [36] [37] [38] [39] [40] [41] [42]
The system also included changes to the font management system, which made it incompatible with the likes of Timeworks Publisher.
Artline 1 still ran on GEM 3.1. [39]
Another version of GEM called GEM/5 [43] was produced by GST Software Products for Timeworks' Publisher 2.1. It contained an updated look with 3D buttons, along with features such as on-the-fly font scaling. It came complete with all the standard GEM 3.1 tools. This version was produced from GEM 3.13 with only the Bézier handling taken from GEM/4.
GEM Desktop itself was spun off in 1990 as a product known as ViewMAX which was used solely as a file management shell under DR DOS. In this form the system could not run other GEM programs. This led to a situation where a number of applications (including ViewMAX) could exist all with their own statically linked copy of the GEM system. This scenario was actually rare, as few native GEM programs were published. In 1991, ViewMAX 2 was released.
In these forms, GEM survived until DRI was purchased by Novell in June 1991 [44] [45] 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.[ clarification needed ] DRI also produced X/GEM for their FlexOS [3] [5] real-time operating system with adaptations for OS/2 Presentation Manager [6] [3] and the X Window System under preparation as well. [3]
Lee Lorenzen left soon after the release of GEM/1, when it became clear that DRI had no strong interest in application development. He then joined with two other former DRI employees, Don Heiskell and John Meyer, to start Ventura Software. They developed Ventura Publisher (which was later marketed by Xerox and eventually by Corel), which would go on to be a very popular desktop publishing program for some time.
Development of the production 68000 version of GEM began in September 1984, when Atari sent a team called "The Monterey Group" to Digital Research to begin work on porting GEM. Originally, the plan was to run GEM on top of CP/M-68K, both ostensibly ported to Motorola 68000 by DRI prior to the ST design being created. In fact, these ports were unusable and would require considerable development. Digital Research also offered GEMDOS (originally written as GEM DOS, it was also called "Project Jason"), a DOS-like operating system aimed to port GEM to different hardware platforms. It was available for 8086 and 68000 processors and had been adapted to the Apple Lisa 2/5 and the Motorola VME/10 [46] development system. [47] Atari decided in January 1985 [48] to give up on the existing CP/M-68K code and instead port DRI GEMDOS to the Atari ST platform, referring to it as TOS. [49]
As Atari had provided most of the development of the 68000 version, they were given full rights to continued developments without needing to reverse-license it back to DRI. 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, TOS 4 allowed full multitasking support in GEM.
When Caldera bought the remaining Digital Research assets from Novell on 23 July 1996, [50] initial plans were to revive GEM and ViewMAX technologies for a low-footprint user interface for OpenDOS in mobile applications [51] [52] as Caldera View , but these plans were abandoned by Caldera UK in favour of DR-WebSpyder and GROW. Caldera Thin Clients (later known as Lineo) released the source to GEM and GEM XM under the terms of GNU GPL-2.0-only in April 1999. [52] The development of GEM for PC continues as FreeGEM and OpenGEM.
On the Atari ST platform, the original DRI sources were ported again to be used in the free and open source TOS clone EmuTOS. New implementations of the AES portions of GEM have been implemented from scratch in the form of XaAES, and MyAES, [53] both of which are fully re-entrant and support multitasking on top of the FreeMiNT multitasking extensions to TOS.
The "full" GEM system consisted of three main parts:
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. VDI 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 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) 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.
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.
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.
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 ran on top of DOS (MS-DOS, DOS Plus 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. Otherwise, GEM has its own advantages over Mac OS such as proportional sliders.
Native PC GEM applications use the file extension .APP for executables, whereas GEM desktop accessories use the file extension .ACC instead. [54] [55] All desktop accessories (and also a few simple applications) can be run under ViewMAX without modification. [54] [55]
Atari ST is a line of personal computers from Atari Corporation and the successor to the company's 8-bit home computers. The initial model, the Atari 520ST, had limited release in April–June 1985, and was widely available in July. It was the first personal computer with a bitmapped color graphical user interface, using a version of Digital Research's GEM interface / operating system from February 1985. The Atari 1040ST, released in 1986 with 1 MB of memory, was the first home computer with a cost per kilobyte of RAM under US$1/KB.
The history of the graphical user interface, understood as the use of graphic icons and a pointing device to control a computer, covers a five-decade span of incremental refinements, built on some constant core principles. Several vendors have created their own windowing systems based on independent code, but with basic elements in common that define the WIMP "window, icon, menu and pointing device" paradigm.
CP/M, originally standing for Control Program/Monitor and later Control Program for Microcomputers, is a mass-market operating system created in 1974 for Intel 8080/85-based microcomputers by Gary Kildall of Digital Research, Inc. CP/M is a disk operating system and its purpose is to organize files on a magnetic storage medium, and to load and run programs stored on a disk. 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.
DR-DOS is a disk operating system for IBM PC compatibles. Upon its introduction in 1988, it was the first DOS that attempted to be compatible with IBM PC DOS and MS-DOS.
Digital Research, Inc. was a privately held American software company created by Gary Kildall to market and develop his CP/M operating system and related 8-bit, 16-bit and 32-bit systems like MP/M, Concurrent DOS, FlexOS, Multiuser DOS, DOS Plus, DR DOS and GEM. It was the first large software company in the microcomputer world. Digital Research was originally based in Pacific Grove, California, later in Monterey, California.
CP/M-86 is a discontinued version of the CP/M operating system that Digital Research (DR) made for the Intel 8086 and Intel 8088. The system commands are the same as in CP/M-80. Executable files used the relocatable .CMD file format. Digital Research also produced a multi-user multitasking operating system compatible with CP/M-86, MP/M-86, which later evolved into Concurrent CP/M-86. When an emulator was added to provide PC DOS compatibility, the system was renamed Concurrent DOS, which later became Multiuser DOS, of which REAL/32 is the latest incarnation. The FlexOS, DOS Plus, and DR DOS families of operating systems started as derivations of Concurrent DOS as well.
FreeGEM released in 1999 is a windowing system based on Digital Research's GEM which was first released in 1985. GEM stands for "Graphics Environment Manager".
The Graphical Kernel System (GKS) was the first ISO standard for low-level computer graphics, introduced in 1977. A draft international standard was circulated for review in September 1983. Final ratification of the standard was achieved in 1985.
ViewMAX is a CUA-compliant file manager supplied with DR DOS versions 5.0 and 6.0. It is based on a cut-down runtime version of Digital Research's GEM/3 graphical user interface modified to run only a single statically built application, the ViewMAX desktop. Support for some unneeded functions has been removed whilst some new functions were added at the same time. Nevertheless, the systems remained close enough for ViewMAX to recognize GEM desktop accessories automatically and to allow some native GEM applications to be run inside the ViewMAX environment. Many display drivers for GEM 3.xx could be used by ViewMAX as well, enabling ViewMAX to be used with non-standard display adapters and higher resolutions than possible using the default set of ViewMAX drivers. Also, Digital Research's SID86, the symbolic instruction debugger that shipped with DR DOS 3.xx and provided dedicated functions to debug GEM applications, could be used for ViewMAX as well.
Timeworks Publisher was a desktop publishing (DTP) program produced by GST Software in the United Kingdom and published by Timeworks, Inc., in the United States.
Virtual DOS machines (VDM) refer to a technology that allows running 16-bit/32-bit DOS and 16-bit Windows programs when there is already another operating system running and controlling the hardware.
Multiuser DOS is a real-time multi-user multi-tasking operating system for IBM PC-compatible microcomputers.
In computer programming, a runtime system or runtime environment is a sub-system that exists in the computer where a program is created, as well as in the computers where the program is intended to be run. The name comes from the compile time and runtime division from compiled languages, which similarly distinguishes the computer processes involved in the creation of a program (compilation) and its execution in the target machine.
SpareMiNT is a software distribution based on FreeMiNT, which consists of a MiNT-like operating system (OS) and kernel plus GEM compatible AES.
A self-booting disk is a floppy disk for home computers or personal computers that loads—or boots—directly into a standalone application when the system is turned on, bypassing the operating system. This was common, even standard, on some computers in the late 1970s to early 1990s. Video games were the type of application most commonly distributed using this technique.
TOS is the operating system of the Atari ST range of computers. This range includes the 520ST 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. More recently, users have further developed TOS into FreeMiNT.
MagiC is a third party and now open-sourced multitasking-capable TOS-compatible operating system for Atari computers, including some newer clone systems manufactured later. There are also variants that run as part of Mac and PC emulation environments, as well as on macOS Intel-Mac computers.
FlexOS is a discontinued modular real-time multiuser multitasking operating system (RTOS) designed for computer-integrated manufacturing, laboratory, retail and financial markets. Developed by Digital Research's Flexible Automation Business Unit in Monterey, California, in 1985.
This article presents a timeline of events in the history of 16-bit x86 DOS-family disk operating systems from 1980 to present. Non-x86 operating systems named "DOS" are not part of the scope of this timeline.
Digital Research Inc.'s (DRI) new Graphics Environment Manager (GEM) system software was shipped as scheduled to original-equipment manufacturers (OEMs) February 28, the company announced March 11, 1985.
[…] Further documentation in the form of the GSX Language Reference manual is available for 16-bit DRI languages inside the GSX-86 Programmer's Toolkit. The product contains both versions of the newest GSX version 1.3 - one for CP/M-86 (including Concurrent CP/M) and the other for PC-DOS. […]
[…] Polaroid Palette (part of the Presentation Master package from Digital Research), Diablo Cl30 Color InkJet printer, Transtar color printer, Houston Instruments CMP-29/40/41/42 plotter series. Strobe 100/260 plotter series, the Hewlett-Packard 7473A plotter and Philips GP 300L Hi and Lo Res printers. […]
GEM XM Desktop allows you to run several applications at once. You can switch at will between them and even pass data from application to application. No longer need you finish one job before starting another. No more errors in typing the output of one programme as input to the next. Even for DOS applications that were not specially written for GEM. These new capabilities are in addition to the easy–to–use GEM Desktop functions of organising and displaying the contents of your discs. All commands use drop–down menus so need no memorizing. Discs and files are represented by icons which are unambiguous and easy to select, especially with a mouse. GEM XM Desktop is delivered complete with the indispensable GEM Diary which has alarm clock, calendar, diary and card index functions constantly available.
[…] In general, I like the idea of releasing Artline 1 and/or 2 to the public domain, given, some general things are discussed. […] comments on Artline, because the application all the time has been our own copyright, all code was written at CCP, the trademark has been Digital Research's (now it's ours) and the Artline 2 Operating System has been GEM/4. Artline 1 needs GEM 3.1, while all changes to GEM/4 have been made in cooperation with Lee Lorenzen and Don Heiskell to keep compatibility with ventura publisher. Bill Herndon is currently checking his archive to see, if he may contribute GEM/4 VDI and driver sources. […]
{{cite web}}
: CS1 maint: archived copy as title (link)Caldera Thin Clients, Inc. released the source code for GEM and ViewMAX under the GNU General Public License in mid April, following years of speculation over GEM's future. Caldera bought the GEM sources from Novell along with the DR-DOS in 1996, at the time noting that they may develop GEM into a platform for mobile computers and thin clients. However, these plans were dropped, and GEM was instead released into the open-source community.