GEM (desktop environment)
Developer(s) | Digital Research Lee Jay Lorenzen |
---|---|
Initial release | 28 February 1985[1] |
Stable release | GEM/3 3.11
/ 3 November 1988 |
TOS | |
Platform | Intel 8088, Motorola 68000 |
Type | Windowing system |
License | GPL-2.0-only |
Website | www |
GEM (for Graphics Environment Manager
Digital Research later produced X/GEM for their
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),
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),
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[11]
- DDQX10 QX-10screen
- DDFXLR8 Epson lo-res, 8-bit
- DDFXHR8 Epson hi-res, 8-bit
- DDFXLR7 Epson and Epson-compatible printers
- DDCITOLR lo-res
- DDCITOH C. Itoh 8510A
- DD-DMP1 Amstrad DMP1 printer (aka Seikosha GP500M-2)
- DDSHINWA Printers using Shinwa Industries mechanism
- DDHP7470, DD7470 HP-GL/2
- DD7220 Hewlett-Packard HP 7220, HP-GL
- DDGEN2 Retro-Graphics GEN.II (Ratfor source code in Programmer's Guide)
- DDHI3M Houston InstrumentHiPlot DMP
- DDHI7M Houston Instrument HiPlot DMP
- DDMX80 Epson MX-80 + Graftrax Plus
- DDESP Electric Studio Light Pen (Amstrad PCW)
- DDOKI84 Oki DataMicroline
- DDMF GEM metafile
- DDPS PostScript metafile
Known 16-bit device drivers
- DDLA100 DEC
- DDLA50 DEC
- DDNECAPC NEC APC
- NCRPC4 NCRDecisionMate 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[12]
- DDIDSM IDS Monochrome
- DDANADXM Anadex DP-9501 and DP-9001A
- DDCITOLR lo-res
- DDCNTXM Centronics 351, 352 and 353
- DDDS180 Datasouth
- DDOKI84 Oki DataMicroline
- 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[13]
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]
GEM
Intel versions
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/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
DRI originally designed GEM for DOS so that it would check for and only run on IBM computers, and not
At this point,
In addition to printers the system also contained drivers for some more unusual devices such as the Polaroid Palette.[13]
GEM/2
DRI responded with the "lawsuit-friendly" GEM Desktop 2.0, released on 24 March 1986, which eventually added support for
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
GEM XM with "GEM Desktop 3.0" was an updated version of GEM/2 in 1986/1987 for
The GEM XM source code is now freely available under the terms of GNU General Public License.
GEM/3
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 for CCP Artline
GEM/4, released in 1990, included the ability to work with
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]
GEM/5 for GST Timeworks Publisher
Another version of GEM called GEM/5 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.
ViewMAX for DR DOS
GEM Desktop itself was spun off in 1990 as a product known as
In these forms, GEM survived until DRI was purchased by Novell in June 1991[44][45] and all GEM development was cancelled.
X/GEM
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.[
Ventura Publisher
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
Atari versions
Development of the production 68000 version of GEM began in September 1984, when Atari sent a team called "The Monterey Group" to
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
Continued development
When
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.
Description
The "full" GEM system consisted of three main parts:
- GEM VDI (Virtual Device Interface)
- GEM AES (Application Environment Services)
- GEM Desktop (an application providing drag-and-drop file management)
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 (
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]
See also
- Atari TOS
- EmuTOS
- FreeGEM
- OpenGEM
- GEM character set
- Atari ST character set
- Resource construction set (RCS)
- Pantone Color Computer Graphics
References
- ^ a b c Malloy, C. E., ed. (1985-07-02) [1985-03-20]. "DRI Ships GEM". A.N.A.L.O.G. TCS #1. Newsgroup: net.micro.atari. ihlpa.704. Retrieved 2020-01-11.
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.
- Digital Research Inc. 1988 [1987]. 1090-1411-002. Archived(PDF) from the original on 2019-11-26. Retrieved 2018-10-16.
- ^ a b c d e f g h Fitler, Bill (March 1989). "Writing portable applications with X/GEM - How does X/GEM compare with other windowing systems?". Dr. Dobb's Journal. Archived from the original on 2014-08-11. Retrieved 2016-11-24.
- ^ a b "Digital Research Announces GEM". Corporate Histories Collection - Computer History Museum. Archived from the original on 2011-07-25.
- ^ from the original on 2016-11-24. Retrieved 2016-11-24.
- ^ from the original on 2020-01-11. Retrieved 2020-01-11.
- ^ a b c d e Wong, William G. (July 1984). "Digital Research's GSX: Graphics Portability". Microsystems. p. 74. GSX13ART.TXT. Archived from the original on 2019-10-20. Retrieved 2020-01-12.
- Digital Dialogue - Employee Newsletter of Digital Research Inc. Vol. 3, no. 4. Digital Research. August 1984. p. 3. Archived from the original(PDF) on 2015-06-16. Retrieved 2022-09-19.
- ^ Digital Research, Inc. July 1984. p. 4. NWS-106-003. Archived (PDF) from the original on 2020-02-11. Retrieved 2020-02-11.
[…] 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. […]
[1] - ^ a b c Elliott, John C., ed. (2014-07-07). "The Graphics System eXtension". Seasip.info. Retrieved 2020-01-13.
- ^ "New driver source". 2020. Archived from the original on 2020-07-28. Retrieved 2020-07-28.
- ^ "UMC UM85C408AF 16-bit ISA Dram VGA Drivers | Device Drivers". oemdrivers.com. Retrieved 2020-07-27.
- ^ 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. […] [2]
- ^ Lineback, Nathan. "GSX Screen Shots". Toastytech.com. Archived from the original on 2020-01-15. Retrieved 2020-01-15.
- ^ Elliott, John C., ed. (2014-07-07). "The Virtual Device Interface". Seasip.info. Retrieved 2020-01-13.
- ^ Elliott, John C.; H., Thomas, eds. (2014-07-07). "The Application Environment Services". Seasip.info. Retrieved 2020-01-13.
- ^ Kewney, Guy (January 1985). "Newsprint". Personal Computer World. p. 108. Retrieved 2021-03-19.
- ^ Lineback, Nathan. "GEM 1.1 screenshots". Toastytech.com. Archived from the original on 2019-12-25. Retrieved 2016-08-01.
- ^ Elliott, John C., ed. (2007-03-18). "Screenshots of GEM". Seasip.info. Archived from the original on 2019-05-21. Retrieved 2016-08-01.
- ^ Elliott, John C. (ed.). "Screenshots of Apricot GEM/1". Seasip.info. Archived from the original on 2019-04-04. Retrieved 2016-08-01.
- from the original on 2017-01-18. Retrieved 2017-01-18.
- BYTE. p. 455. Retrieved 2013-10-27.
- ^ Kisor, Henry (1985-11-16). "GEM Write Gives IBM Owners Apple-styled Word Processing". Orlando Sentinel. Archived from the original on 2019-02-13. Retrieved 2015-01-05.
- ^ a b Dilger, Daniel Eran (2007-09-10). "Office Wars 3 – How Microsoft Got Its Office Monopoly". RoughlyDrafted Magazine. San Francisco, California, USA. Archived from the original on 2013-08-19. Retrieved 2013-08-15.
- ^ "Digital Research To Modify GEM". The New York Times (National ed.). 1985-10-01. p. D-4. Archived from the original on 2018-09-30. Retrieved 2020-01-12.
- from the original on 2020-02-12. Retrieved 2020-02-12.
- from the original on 2020-02-16. Retrieved 2020-02-16.
- ^ Reimer, Jeremy (2005-05-05). "A History of the GUI" (PDF). Ars Technica. Archived from the original (PDF) on 2011-07-19. Retrieved 2012-07-23. (28 pages)
- ^ Lineback, Nathan. "GEM 2.0 Screen Shots". Toastytech.com. Archived from the original on 2019-08-22. Retrieved 2016-08-01.
- (PDF) from the original on 2019-08-23. Retrieved 2020-01-11.
- ^ ISSN 0199-6649. Retrieved 2018-09-12.
- ^ a b Elliott, John C. (2013). "GEM/XM screenshots". Seasip.info. Archived from the original on 2018-09-12. Retrieved 2018-09-12.
- European Review (20). Digital Research: 1. January 1987. Archived(PDF) from the original on 2022-10-09. Retrieved 2018-09-12.
- ^ Harris, Dylan, ed. (2000). "download - XM". Digital Research. Retrieved 2001-09-12.
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.
- ^ Lineback, Nathan. "GEM 3.11 Screen Shots". Toastytech.com. Archived from the original on 2019-11-18. Retrieved 2016-08-01.
- ^ Digital Research Artline User Reference Guide (PDF) (2 ed.). Digital Research / CCP Development GmbH. November 1990 [1988]. 5161-2062-002. Archived (PDF) from the original on 2019-12-04. Retrieved 2020-01-10.
- ISSN 0170-5121. Archived from the originalon 2020-01-12. Retrieved 2020-01-12.
- ^ Elliott, John C. (ed.). "Screenshots of GEM/4". Seasip.info. Archived from the original on 2019-06-10. Retrieved 2016-08-01.
- ^ ventura publisher. Bill Herndon is currently checking his archive to see, if he may contribute GEM/4 VDI and driver sources. […]
- ^ Digital Research Artline Installation / Startup (2 ed.). Digital Research / CCP Development GmbH. November 1990 [1988]. 5161-2052-002. Retrieved 2020-01-12.
- ^ Digital Research Artline Graphics Utilities Guide (1 ed.). Digital Research / CCP Development GmbH. August 1990 [1988]. 5161-2042-002. Retrieved 2020-01-12.
- ^ Artline Release Note (3 ed.). January 1991. 5161-1001-003. Archived from the original on 2020-01-12. Retrieved 2020-01-12. [3]
- ^ Elliott, John C. (ed.). "Screenshots of GEM/5". Seasip.info. Archived from the original on 2019-06-10. Retrieved 2016-08-01.
- from the original on 2020-02-09. Retrieved 2017-01-21.
- ^ "Novell and Digital Research sign definitive merger agreement". Business Wire. 1991-07-17. Archived from the original on 2018-08-18. Retrieved 2017-01-24.
- Motorola Inc. February 1984. M68KVSOM/D1. Archived(PDF) from the original on 2019-11-27. Retrieved 2020-01-11.
- ^ "Archived copy". Archived from the original on 2006-07-13. Retrieved 2018-09-12.
{{cite web}}
: CS1 maint: archived copy as title (link) - ^ Dyer, Landon. "The Atari ST, Part 2". Archived from the original on 2018-10-10.
- Antic Publishing. p. 22. Archivedfrom the original on 2019-11-02. Retrieved 2020-01-11.
- ISSN 0113-1494. CMPWNZ. Archived from the originalon 2018-08-23. Retrieved 2018-02-13.
- Caldera, Inc. Archivedfrom the original on 2018-08-26. Retrieved 2018-08-26 – via www.delorie.com/opendos.
- ^ 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.
- ^ Landemarre, Olivier; Rivière, Vincent; Méquignon, Didier; Reboux, Eric; Bercegeay, Arnaud; Béréziat, Dominique; Zorro; Donzé, Philipp; Lemaire, Jean Francois; Sevin, Roland; Stocklausen, Jean-Marc; Boudet, Frédéric; Mandin, Patrice, eds. (2017-12-10) [2011]. "MyAES". Release: 0.97. Archived from the original on 2019-11-02. Retrieved 2020-01-11.
- ^ a b Paul, Matthias R. (1997-04-13) [1993]. DRDOS6UN.TXT — Zusammenfassung der dokumentierten und undokumentierten Fähigkeiten von DR DOS 6.0. MPDOSTIP (in German) (60 ed.). Archived from the original on 2016-11-07. Retrieved 2016-11-07.
- ^ a b Paul, Matthias R. (1997-06-07) [1994]. NWDOS7UN.TXT — Zusammenfassung der dokumentierten und undokumentierten Fähigkeiten von Novell DOS 7. MPDOSTIP (in German) (85 ed.). Archived from the original on 2016-11-07. Retrieved 2016-11-07.
Further reading
- Apricot Portable - Technical Reference Manual. Vol. Section 3: Software. (228 pages)
- GSX Graphics Extension - Programmer's Guide (PDF) (2 ed.).
External links
- GEM - history, documentation and links to various open-source GEM projects
- GEM (desktop environment) at Curlie
- 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
- "GEM : THE PROJECT".
- Creating of TOS (part 1) Archived 2011-05-12 at the Wayback Machine Landon Dyer, one of original member of "The Monterey Group"
- Creating of TOS (part 2) Archived 2010-09-21 at the Wayback Machine Landon Dyer, one of original member of "The Monterey Group"
- GEM demo 1985 Most of the program is about the MAC
- John C. Elliott. "Intel GEM main page".