Contents

Documentation
Downloads
Links
News
Screenshots

Development
> Information
> Wishlist
> What's up?

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 -

This page is Šopyright Ben A L Jemmett 1999 - 2000, and Ken Mauro 1985-.1998