|
|
Digital Research's GEM
(Intel 8086 version!)
- The Hitchiker's Guide to GEM -
(C)opyright 1985-1998 by Ken Mauro.
HTML version and some annotations by Ben A L Jemmett, 2nd/3rd November, 1999.
Contents
Introduction
The following is a compilation of notes, comments and observations based on years of
empirical study, accidents & being a thorn in the side of several organisations
associated with (but not limited to):
Company |
Based in |
Current status |
Digital Research Inc. |
USA |
Now owned by Lineo Inc. (formerly Caldera Thin Clients), a subsidiary of
Caldera Inc. |
Prospero Software Ltd. |
UK |
May sell, but no longer supports GEM Pascal. |
Locomotive Software Ltd. |
UK |
No longer sells or supports GEM Basic. (Now apparently out of
business - their product range is owned by SD Microsystems (http://come.to/sdmicro). -- BALJ) |
Kuma Software Ltd. |
UK |
Not known if they are still around. |
GST Software Ltd. |
UK |
Known as PressWorks on the net. |
Discus Distribution Inc. |
USA |
Still in business - no technical support. The only authorized
source for DRI/GEM apps. Sells legal copies and printed documentation. Mention my
name - good for a laugh or two :-) and possibly a deep discount.. |
Useful Book References
Programmer's Guide to GEM
by: Phil Balma, William Fitler
SYBEX Inc. - ISBN 0-89588-297-3
The GEM Operating System Handbook
by: Dave Prochnow
TAB Inc. - ISBN 0-8306-2742-1
Some Background Info First:
Versions
The first version was GEM 1.1 (~3/85) - might have been part of the GEM Collection.
The first retail version was GEM 1.2 (9/85) and the last retail version was GEM
3.13 (4/89).
The version of GEM noted for most applications in this text was the version in use at
the time of release. With a few exceptions, most early applications will run on later
versions of GEM.
The GEM Desktop and DOS Plus
As it runs well under DR DOS Plus (CP/M-86 4.1), CP/M-86 users (IBM PC/XT) may find it
useful as a tool to organize and run well behaved DOS and CP/M-86 files on DOS compatible
partitions up to 32 megs in size.
The GEM development team
After Apple's lawsuit and DRI's continued weak marketing of GEM, the original
developers began to leave (literally run) in other directions:
Gary Kildall |
His story is history |
Bill Fitler
Phil Balma |
CP/M's GSX-86 graphics extension for the DR-Draw and DR-Graph apps. |
Tim Oren |
RCS.APP, GEM's resource editor. |
Lee Jay Lorenzen |
Crystal, an early project name - later the GEM VDI/AES kernel. Later
started Ventura software and continued to customise GEM (for Xerox's Ventura Publisher)
un-affected by DRI's 'Apple' problems. |
The Catalog Begins Here (at last):
GEM Desktop versions produced by Digital Research, Inc.
GEM Desktop 1.2 |
Superior desktop - compatible with GEM 2, 3.x. Four draggable
overlapping windows with info line, movable disk icons and yes, a real trash can! By
Lee Jay Lorenzen's team (pre-Ventura). This Desktop will function under later versions
of GEM - the trashcan does not look the same, however it is still functional. |
GEM Desktop 2.0 / 2.1 / 2.2 / 3.0 / 3.13 |
The stripped down one used for later versions. Two fixed, non moveable
windows - no trash can. (Courtesy of the Apple lawsuit in late 1985.) |
GEM Desktop 2.2 |
An upgrade shipped with GEM Graph 1.1 and possibly some other apps, added
some new screen and plotter devices. It also appears
to have some early elements of GEM/3. |
GEM Desktop 3.0 / 3.10 |
The later versions of the GEM VDI/AES support features such as cached and
compressed fonts, bezier curves and improvements to GEM OUTPUT. The use of screen and
printer device runtime
configuration via *.ddf's etc. started here. |
GEM Desktop 3.11 |
Shipped with Delrina's Perform.APP 1.x. Screen drivers and VDI properly
handle rotated text and other minor improvements. |
GEM Desktop 3.13 |
The last standard retail version shipped. Part of the GEM PTK/SDK 3.13
which was finally rewritten to support ANSI C compilers. |
GEM/4 (DRIVDI.EXE, DRIAES.EXE) |
Only made it to the market as runtime support for Artline/2, PresTeam/2,
Publish it/3 etc. The VDI will use EMS, if available.
The GEM/3 Desktop will not run properly, and a .COM shell provided to launch GEM/4 apps
from the GEM/3 desktop may crash after repeated use.
Probably the model for DRI's X/GEM for FlexOS, a 32-bit protected mode multitasking
system. |
ViewMax (DR-DOS 5.0) |
A 'crippled' GEM/4 kernel, can only be used as a shell to call GEM
applications. Although designed for DR DOS, it will run under MS-DOS 3.x and later
(minus passwords). To use it with GEM apps you must have a GEM/3 installation as well as a
Viewmax installation. This version was written in Lattice C 3.x |
ViewMax (DR-DOS 6.0) |
Improved version of the above, but with the same kernel
limitations as the above. This version was rewritten in Turbo C 2.0 and
allows configuration via an INI file. What is interesting about ViewMax is the network
drive icons that appear when mapped network drives are present. Also the directory tree
function can handle the deep directory structures found on recent HDD's and CD-ROMs
without crashing. |
GEM applications produced by Digital Research Inc.
Application |
Version |
GEM Version |
Comments |
GEM Write |
1.0 |
1.2 |
GEM ported version of VolksWriter, a popular DOS based wordprocessor at
that time. Can use a selected drive for virtual memory. This program has display problems
w/ GEM 3.1x |
GEM Write |
1.01 |
1.2 |
Updated with GEM collection later in 1985. |
GEM Paint |
1.0, 2.0 |
1.2 |
Bitmapped paint program |
GEM Draw |
1.0 |
1.2 |
Easy to use drawing program. Vector based objects, bitmapped fonts.
Ability to open two drawing windows and drag objects between different drawings. |
GEM Draw |
2.0 |
2.x |
Added rotation of objects. |
GEM Wordchart |
1.0 |
1.2 |
Good for charts and overheads. |
GEM Graph |
1.0, 1.1 |
1.2 |
Presentation graphs. Imports Lotus (*.WKS) spreadsheets and others.
|
GEM MapEd |
1.0, 1.1 |
1.2 |
Used to generate maps and objects for GEM Graph. |
GEM Publisher |
1.0 |
2.x |
Desktop publishing program. Not as sophisticated as Ventura
Publisher. Uses an early VMM (Virtual Memory Manager) in place of EMS/XMS. Requires
a hard disk. |
GEM Publisher |
2.0 |
3.x |
Updated version with more features and better fonts. |
Presentation Team |
1.0 |
3.0 |
Application suite with GEM Desktop, Draw 2.0, Draw Library, Graph 2.0,
MapEd 1.1
Wordchart 2.0 and Bitstream Font Install 2.0. |
GEM Artline |
1.0, 1.01 |
3.x |
By CCP GMBH, marketed by DRI. Drawing program, supports GEM VDI
Bezier curves. Introduced vector based VDI fonts. Can import from GEM Draw. |
GEM applications produced by third-party vendors.
Application |
Version |
GEM Version |
Comments |
Perform |
2.0, 2.1 |
GEM 3.11 |
By Delrina Inc. A great vector-based forms publisher/processor.
Inports many bitmap and vector formats. Lockable objects (rectangles, text etc.) Supports
dBase (*.DBF) file import. Prints several different types of barcodes. Must use screen
drivers above v3.11 or rotated text will not display properly. |
GEM/4 applications produced by Digital Research Inc.
Application |
Version |
Comments |
Presentation Team |
2.0 |
GEM/4 based application excluding Desktop. All-in-one integrated
version of Write, Draw, WordChart, Graph, Output etc. Network capable. Starts from the DOS
prompt only. |
GEM runtime applications produced by third-party vendors.
Application |
Version |
Comments |
Artline |
2.x |
GEM/4 Artline by CCP - Marketed by DRI. |
KeyDraw+ |
2.01 |
Artline 2.0 re-packaged for Softkey Inc. Sophisticated, supports
customizable menus, floating toolbars and fountain fill palettes. Supports lockable
drawing layers like AutoCAD. Bitmap Tracing! (autotrace/ manual modes)
Comparable to Corel Draw 2.x. |
KeyPublisher |
1.0 |
DAK repackaged PUBLISH-IT 1.19 (GST England) |
Publish-it |
2.0 |
PKLite (packed *.EXE) GEM 3.13 VDI, AES etc. Supplied with
Typographica, a superior VDI font generator, supports many SVGA HiRes drivers. |
Publish-it |
3.0 |
GEM/4 based app by GST/Timeworks. Little is known about this app as
Timeworks Inc went out of business soon after its release. |
Ventura |
1.0, 1.1 |
This kernel is compatible with GEM 1.2, 2.xx! (i.e. display has old
'pre-Apple law suit' look). |
Ventura |
2.0 |
Includes 800x600 VGA GEM 3.x compatible drivers - also has true 800x600
Swiss / Dutch fonts. |
GEM application third-party demos from NDSG @ Compuserve (1992)
Application |
Version |
Comments |
GEM MipsCalc |
1.0 |
Lotus 1-2-3 + presentations in GEM; world-class. The demo was
crippled - load and save is enabled but
with spreadsheet size limited to 16k. I downloaded it from NDSG @ Compuserve.
It supports Lotus 1.x format (*.WKS) files. It also contains a GEM event recorder
(like the one supplied with MS Windows 3) and a superior version of GEM Paint's screen
saver/grabber app.(I own a full ver. w/ 283 page bound manual)
SBO Inc. is out of business, I tried to locate them through their last post office box;
in Carpenteria California (~1992) - n/g.
Very well written in Microsoft C 5.1 |
GEM vtxpc |
1.0 |
Interesting Communication package demo. The company that wrote it never
got off the ground. Written in Microsoft C 5.1 |
DynaCadd
(DynaCAD?
-- BALJ) |
1.0 |
AutoCAD class vector based CAD program marketed (I believe) in Canada and
Europe. Uses custom (non vdi/artline ) vector fonts, handles DXF, plotters, printers
etc. Functional demo, save disabled (requires EMS). However, you can 'output'
to a GEM Metafile. |
GEM applications and languages produced by third-party UK
developers.
Application |
Version |
Comments |
SuperBase Personal |
1.02 |
GEM 2.x based RDBMS by Precision Software Ltd. Can index and
display GEM Paint's *.img files. Imports DbaseII/ III files and Indexes.(great!)
Works well. The last time I checked (1994) the license was owned by a company named OXXI
Inc. (a software developer for the Amiga) and they were willing (at that time) to sell off
the leftover materials from the PC GEM projects. |
Superbase |
2/3/4 |
Far more sophisticated versions incorporating script driven programming
and communications. These versions were ported over to Windows 3.x. |
K-Comm |
2.0 |
Kuma Software Ltd. (PC-GEM, Atari-ST) GEM 2.x based suite of compatible
applications. Configurable communications terminal package. Supports Xmodem /
Ascii - online help screens. Unfortunately this app does not appear to run properly
on EGA/VGA - only on CGA & Hercules. (It was targeted primarily for the Amstrad PC). |
K-Word |
2.0 |
Supports *.DIF, ASCIIi formats, spell checking. |
K-Graph |
2.0 |
Supports *.DIF format (ASCII?) spread sheets. |
K-Spread |
2.0 |
Supports *.DIF format (ASCII?) spread sheets. |
K-Data |
2.0 |
Relational, supports variable length records |
K-Minstrel |
2.0 |
Supported early RS232 MIDI devices I think. Edits / displays/ plays
musical scores. (When I tried the demo earlier this year it played tunes through
my PCs internal speaker I think, but this machine's rahter quiet unfortunately. It
didn't seem to recognise any of the MIDI devices, interfaces or drivers I threw at it
(various Creative and Roland soundcards, a few Yamaha RS232C and MIDI keyboards, and a
Roland MIDI synth). Maybe it'd work better on my Amstrad -- BALJ) |
K-Spell |
2.0 |
Spell checker/ Thesaurus for K-Data / K-Word. |
The Kuma applications are written in Lattice C, with some greenleaf communication
libraries. These apps were all ported from the Atari ST.
GEM application development produced by Digital Research Inc.
Product |
Comments |
Lattice C 2.11
Phoenix Plink86 |
Since I have no direct knowledge of the early development PTK's and
SDK's, I will only list those I am actually familiar with. I do know that all of the
original DRI GEM apps, except GEM Write (Pascal) were written in Lattice C. * These kits
may also be refered to as the GEM System Developer's Kit as well. |
GEM PTK 3.0
(Lattice 3.2) |
GEM Programmer's ToolKit/ Compiler Bindings. GEM Programmer toolkits were
marketed with portability, both in terms of the 'C' compilers supported, as well as the
M68k platform. Lattice C 3.2 was also marketed as a compiler suited for Concurrent
PC DOS applications. |
GEM PTK 3.1
(Turbo C 2.0 - SMALL and LARGE model)
(Microsoft C 5.1 - SMALL and LARGE model)
(Meta Ware C 1.2 - LARGE model only) |
MetaWare High C was used to write some Plotter and possibly some Polaroid
camera drivers. The final PTK was written by Robert Schneider (DRI GmBh) - also related
to the X/GEM system bindings for the 32bit protected mode FlexOS.
It also sports a really good script driven library install program that could be
modified. |
GEM RCS 2.0/2.3 |
The GEM Resource Editor (RCS). Used to edit the resource (*.RSC)
component of a GEM app. A great tool for modifying dialogs, icons and other AES
display objects. The 2.3 version was enhanced to support the setting of 'state bit'
flags in GEM resources. The setting of such bits can be used to over-ride the way the AES
displays border styles. |
GEM SBK (RASM86/Lattice)
GEM 2.x System Builder's Kit |
Device Driver Skeletons, VDI font development. I have an incomplete
set as some of the disks generated from backups at Discus Inc were bad. |
Third party GEM language products
Prospero Software Ltd., UK - still in business
as of 1995, they do not support GEM APPS, but were willing to sell the GEM Pascal /
FORTRAN with printed manuals.
Product |
Comments |
GEM Pascal 1.72
GEM Fortran 1.1
|
Integrated GEM Editor, Linker and Debugger - produces completely
stand-alone, executable GEM (*.APP)/ DOS (*.EXE) programs - no runtime royalties.
These are true native machine code compilers. Although I only have the Pascal package, I
was told that the FORTRAN compiler is functionally identical. These follow ISO/ 7185
language implementations, with some extentions added.
Supports SMALL code model (< 64k program segment). All of DOS memory is
available for data. Completely re-written bindings, non Microsoft.
3 manuals: ~700+ pages (Language/AES/VDI). Very good documentation - better than
GEM PTK.
The only GEM function not operational (bug?) is the Xgraf/StepCalc replacement for
exploding & shrinking window portions of the AES library. (It does work in the DRI 'C'
library version).
The only draw back was no provision for the handling of *.rsc files, you would have to
have purchased the resource editor (RCS 2.x) from the GEM SDK. Prospero's languages,
unlike DRI's, will let you dynamically create internal resources in the program text using
a format similar to the (*.RSH) ASCII method in the SDK (difficult but posssible).
I have re-written the example programs to use external (*.rsc) files that can be
modified by the GEM SDK's Resource editor (RCS 2.3). Prospero had never provided a
resource editor to go along with their language products - I believe DRI would not license
the RCS from the PC DOS version of the GEM PTK. |
Locomotive Software Ltd., UK - still in
business as of 1995 (no GEM support). (Locomotive Software went out of business
in late 1999 - their product range now appears to be supported by SD Microsystems (http://come.to/sdmicro), who have kindly allowed the
non-commercial use and distribution of the BASIC 2 range.)
Product |
Comments |
Locomotive Basic2 1.0 |
GEM 1.2 Basic interpreter. Originally packaged with Amstrad PC1000
series (which shipped with GEM/2). |
Locomotive Basic2+ 2.0 |
Locomotive Software's full version. GEM 2.1 or later required for
some features. This is also an interpretive based language. While it does not
allow direct access to GEM system objects, menus or resources, there is a documented
assembler interface to MASM 4.x.
Full use of fonts and many graphic functions as well as Indexed Sequential files are
supported.
Direct access to printer drivers are supported without using GEM Output.
(Most of these features are also present in the Amstrad version - the notable
exception being the assembler interface. Alert boxes, file selectors, pretty
advanced text, graphics and file I/O are all present in my old copy -- BALJ)
Very well documented, 2 manuals: ~275 pages. |
- The End For Now -
|