[GEM Development] GEM FAQ
Shane M. Coughlan
shane_coughlan at hotmail.com
Sun Aug 15 02:22:40 PDT 2004
There is a new version of the GEM FAQ going online at
http://gem.shaneland.co.uk from today. Please do have a look, and suggest
any changes or improvements.
Best regards
Shane
---------------------------------------------------------------------------
PC GEM Frequently Asked Questions Revision 1.7 -- 15th Aug 2004
---------------------------------------------------------------------------
This is a Frequently Asked Questions document for PC GEM/FreeGEM. It is
updated on an irregular basis and will be posted to the GEM Development
mailing list <gem-dev at simpits.org> just as regularly.
This FAQ is currently maintained by Shane Coughlan <shane at shaneland.co.uk>
and any comments, suggestions or error reports are welcome. Offers to
translate this FAQ are particularly welcome.
This document can be found on the Internet at <http://gem.shaneland.co.uk>
CREDITS: This FAQ was originally maintained by Rory Beaton
<rb at bitbucket.co.uk>. Thanks Rory! Thanks are also due to all members of
the FreeGEM community, especially the maintainers of the FreeGEM system
components and contributors of new applications and resources. All posters
to the GEM-DEV mailing list have contributed in some way to this FAQ and
special thanks are owed to Ben Jemmett for moderating the list and Gene
Buckle for providing the resources that make it all possible. This FAQ
is dedicated to Tim Olmstead who died, following a long illness, on
September 11th 2001.
DISCLAIMER: Information presented here is believed to be accurate but no
liability for errors or damage caused by use or misuse of such information
will be accepted by the author(s) or any quoted contributor(s). Digital
Research products (including GEM and DR-DOS) are the copyright of Lineo Inc.
<http://www.lineo.com>. All other trademarks are the property of their
respective owners, etc.
---------------------------------------------------------------------------
TABLE OF CONTENTS
---------------------------------------------------------------------------
1. GENERAL QUESTIONS
1.1 What is PC GEM?
1.1.1 What's the difference between GEM and ViewMAX?
1.1.2 What is GEM/XM?
1.1.3 What is X/GEM?
1.1.4 What is FreeGEM?
1.1.5 What is OpenGEM?
1.1.6 What is GEMini?
1.4 What about GEM and FreeDOS?
1.3 Why is GEM free?
1.4 Where can I get GEM?
1.5 Where can I discuss or get help with GEM?
2. INSTALLATION QUESTIONS
2.1 Will GEM work with my version of DOS?
2.1.1 Does GEM run on FreeDOS?
2.1.2 Does GEM run on Windows 9x/NT/2000/XP?
2.1.3 Does GEM run on Linux with DOSEMU?
2.1.4 Does GEM run on DOSBox?
2.2 Which version of GEM should I install?
2.3 How do I install GEM?
2.4 Can I run GEM without a mouse?
2.5 Where can I download drivers?
2.5.1 Is there a printer driver for my <insert model> printer?
2.5.2 Is there a screen driver for my <insert model> display adapter?
3. OPERATIONAL QUESTIONS
3.1 Where can I get a GEM User's Guide?
3.2 Can I change the GEM Desktop?
3.2.1 How do I install the original GEM/1 Desktop on GEM/3?
3.2.2 How do I install the latest FreeGEM Desktop?
3.2.2.1 Where can I get the latest FreeGEM Desktop?
3.2.3 Can I change the icons on the Desktop?
3.3 What applications does GEM run?
3.3.1 Are there any commercial applications for GEM?
3.3.2 Are there any new free applications for GEM?
3.4 What additional Desktop Accessories are available?
3.5 Can any Atari GEM Applications be run under PC-GEM?
4. TECHNICAL QUESTIONS
4.1 What is the VDI?
4.2 What is the AES?
4.3 What are the major GEM file formats?
4.3.1 What is the .GEM file format?
4.3.2 What is the .IMG file format?
5. DEVELOPMENT QUESTIONS
5.1 Where can I find the GEM source code?
5.2 What tools do I need for compiling the source code?
5.2.1 How do I compile the source code?
5.3 What languages can I use for writing GEM applications?
5.3.1 What are "bindings"?
5.3.2 What bindings exist?
5.4 Which compilers are supported by the DRI GEM Programmer's Toolkit?
6. MISC. QUESTIONS
6.1 Currently empty. Expected to contain application-specific questions
7. GEM RESOURCES
7.1 Where to find GEM resources on the Internet
7.2 Mailing lists and discussion groups for GEM
7.3 Aren't there any Usenet groups where I can discuss GEM...?
7.4 Contact addresses for companies who produce(d) GEM applications
---------------------------------------------------------------------------
1. GENERAL QUESTIONS
---------------------------------------------------------------------------
***************************************************************************
1.1 What is PC GEM?
***************************************************************************
GEM is an acronym for Graphical Environment Manager and, as you might
expect, PC GEM is a DOS-based GUI for IBM PC and 100% compatible
microcomputers. It was first released in 1985 and initially looked
similar to the GUI used by the Apple Lisa and Macintosh. This lead
Apple to begin legal proceedings against Digital Research until DRI
relented and changed some crucial elements of the desktop - such as
the Trashcan icon, moveable, overlapping windows etc.
(According to industry journalists, MS Windows originally escaped an
Apple law-suit because the success of the Macintosh was believed to
be dependent on Microsoft's application software, notably MS Word).
GEM was particularly successful on the Amstrad (Schneider) and Tandy
range of PC compatibles and a Motorola 68000 implementation was
adopted as the GUI for the Atari ST.
***************************************************************************
1.1.1 What is the difference between GEM and ViewMAX?
***************************************************************************
ViewMAX was a later implementation of PC-GEM which was bundled with
Digital Research's DR-DOS versions 5 and 6 as a graphical interface.
Unlike GEM, ViewMAX allows ALT+<key> shortcuts for menu selection but
does not directly support GEM applications. In order to run GEM *.APP
binaries, it is necessary to have a working installation of GEM/3.x or
earlier.
ViewMAX/2 introduced support for user-defined colours and 3D controls.
ViewMAX/3 was to have been the DR-DOS 7 (code-named Panther) shell but
was never completed before Digital Research sold DR-DOS to Novell. Heinz
Rath has compiled the Desktop from ViewMAX 3 and this can be downloaded
from his site at <http://www.geocities.com/heinz_rath/>
More information on the differences between GEM and ViewMAX is available
from John Elliott's resource site at <http://www.seasip.info/Gem/>
***************************************************************************
1.1.2 What is GEM/XM?
***************************************************************************
GEM/XM is a multitasking version of GEM. There is also unfinished beta
code available for a FreeGEM/XM release. You can download it from
<www.deltasoft.com>
***************************************************************************
1.1.3 What is X/GEM?
***************************************************************************
The following description of X/GEM is taken from Bill Fitler's article
"Writing Portable Applications with X/GEM", first published in "Dr. Dobbs'
Journal", March 1989:
"X/GEM is based on the older Graphical Environment Manager (GEM),
introduced in 1984 by Digital Research (DRI)..."
"X/GEM provides a GEM compatible application program interface (API) that
functions on higher-end workstations, thus allowing GEM programs to be
more easily ported to these more powerful computers. X/GEM currently
works with DRI's FlexOS (a multitasking, multiuser, real-time operating
system), and versions are in the works for Presentation Manager [OS/2]
and the X Window system...
"[One] X Window problem is the proliferation of window managers, each of
which sets forth its own user-interface policy...end users are confused
about which window manager to select. The Open Software Foundation (OSF)
hopes to end the dilemma by choosing one as the X Window user-interface
standard. A number of vendors have proposed their solutions to OSF,
including DRI with X/GEM...
"...DRI furnishes a DOS emulation run-time library for the X/GEM product
on FlexOS."
***************************************************************************
1.1.4 What is FreeGEM?
***************************************************************************
FreeGEM is the name of the GEM Development effort that was established
after the DR GEM code was released under the GPL License.
There is no single version of GEM called FreeGEM, though all the GPL GEM
releases are part of the FreeGEM Development effort. Some examples are
Shane Land OpenGEM <http://gem.shaneland.co.uk> and Owen's FreeGEM 1.2
<http://www.owenrudge.net/GEM>.
***************************************************************************
1.1.5 What is OpenGEM?
***************************************************************************
OpenGEM is a FreeGEM distribution. It contains a collection of DR GEM
and FreeGEM code, is released under the GPL license, and is actively
developed by Shane Land, a site run by Shane M. Coughlan.
OpenGEM is the main FreeGEM distribution. It is designed to be easy to
install and use, and is tested to work with virtually all versions of
DOS.
The Shane Land homepage is <http://www.shaneland.co.uk>
The Shane Land OpenGEM homepage is <http://gem.shaneland.co.uk>
You can get more information by emailing <gem at shaneland.co.uk>
***************************************************************************
1.1.6 What is GEMini?
***************************************************************************
GEMini is a FreeGEM distribution. It contains a collection of DR GEM
and FreeGEM code, is released under the GPL license, and is actively
developed by Shane Land, a site run by Shane M. Coughlan.
GEMini is in effect a cut-down version of OpenGEM, and is intended for
use as a file manager. It is a very small and powerful way to manage
files in a simple enviroment, and has a low memory overhead.
The Shane Land homepage is <http://www.shaneland.co.uk>
The Shane Land GEMini homepage is <http://gem.shaneland.co.uk>
You can get more information by emailing <gem at shaneland.co.uk>
***************************************************************************
1.2 What about GEM and FreeDOS?
***************************************************************************
GEM works with FreeDOS (see section 2.1.1 of this FAQ for details).
Some versions of GEM are aimed at the FreeDOS market. Shane Land
OpenGEM <http://gem.shaneland.co.uk> is aiming to become the GUI of
choice for FreeDOS users, though to be fair it is aiming to become
the GUI of choice for all DOS flavours.
***************************************************************************
1.3 Why is GEM free?
***************************************************************************
When Caldera purchased DR-DOS (Novell DOS) from Novell, they also
inherited the legacy Digital Research products which included CP/M
and GEM. While CP/M was released under the more restrictive CP/M
license, GEM was released, along with the existing source code,
under the Free Software Foundation's General Public License, also
known as the GNU GPL.
All use, distribution and future development based on the original
GEM source code is restricted (albeit lightly) by the terms
expressed in that license. You can read the license at the FSF's
web site <http://www.fsf.org/licenses/gpl.html>
***************************************************************************
1.4 Where can I get GEM?
***************************************************************************
GEM source code, executables and some applications can be downloaded from
Gene Buckle's mirror of Tim Olmstead's original GEMWORLD download site at
<http://www.retroarchive.org/cpm/archive/unofficial/gemworld.html> or
from the Deltasoft clone at <http://www.deltasoft.com/downloads.htm>
Some FreeGEM components can be downloaded from the GEM Development site at
<http://www.deltasoft.com/currcomp.htm>
The current main FreeGEM is distribution is OpenGEM, which includes
most major FreeGEM code and original GEM applications. It is available
for free download from <http://gem.shaneland.co.uk>
***************************************************************************
1.5 Where can I discuss or get help with GEM?
***************************************************************************
There are several sites dedicated to the discussion of PC-GEM as well as
an active mailing list discussing the ongoing development of GEM.
Further details are available in Section 6 of this FAQ, in "Where to find
GEM resources on the Internet" and "Mailing lists and discussion groups
for GEM".
---------------------------------------------------------------------------
2. INSTALLATION QUESTIONS
---------------------------------------------------------------------------
***************************************************************************
2.1 Will GEM work with my version of DOS?
***************************************************************************
PC-GEM has been proven to run effectively on the 8086-based IBM PC and
has minimal hardware requirements. Early versions of PC-GEM can be run
from floppy disk and do not require a hard drive installation. According
to an article in "BYTE", Vol. 10, No. 6, p455, June 1985:
"...the DR team demonstrated GEM running on a variety of IBM
machines including a PC AT, a PC XT and an IBM PC with two
floppy-disk drives and 256K bytes of memory."
And, even more impressive:
"On 8086 machines, it will work with MS-DOS and PC-DOS without
modification, as well as with any of DR's newer operating
systems functioning in DOS mode...GEM and MS-DOS together take
up a little under 128K bytes of RAM."
("BYTE", Vol. 10, No. 3, p355, March 1985)
GEM supports MS-DOS from version 1 upwards so, if your machine is running
under PC-/MS-DOS 3.0 or higher you should have no problems. Certain
functions or utilities of later PC-GEM versions or ViewMAX may require
Digital Research's DR-DOS.
The commercial version of DR-DOS is currently priced at around $40.00 and
can only be purchased directly from DeviceLogics <http://www.drdos.com>.
There are, however, unofficial sites at <http://www.drdos.org> and
<http://www.drdos.net> which provide links to downloadable non-commercial
evaluation versions of recent DR-DOS releases.
***************************************************************************
2.1.1 Does GEM run on FreeDOS?
***************************************************************************
OpenGEM is known to work with FreeDOS beta 9. It can be downloaded from
<http://gem.shaneland.co.uk>. Owen Rudge's FreeGEM distro 1.2 should also
work fine with FreeDOS beta 9. It can be downloaded from
<http://www.owenrudge.net/GEM>.
To ensure FreeGEM/OpenGEM will work on FreeDOS you are advised to download
the latest version of the FreeDOS software. It can be found at
<http://www.freedos.org>.
***************************************************************************
2.1.2 Does GEM run on Windows 9x/NT/2000/XP?
***************************************************************************
GEM has no problems running in a Windows 9x DOS session although it does
prefer to be run in DOS mode only; trying to run it in a DOS box can
result in some unusual screen behaviour. It doesn't appear to run in an
NT4 DOS box at all.
At present, the state of play is as follows:
Windows 3.1/3.11 -- YES (Win 3.1 can also be launched from
GEM!)
Windows 95/98 -- YES
Windows NT 4.0 -- YES (in full-screen DOS session)
Windows ME -- YES
Windows 2000 -- UNKNOWN
Windows XP -- YES *
* "There is a caveat; the High C compiler really doesn't like XP. The
MAKEDESK.BAT file that compiles the Desktop will run a few
files through High C, then suddenly die without an error or anything.
Running High C from the command line is no better; a few files and then
*bang*, it disappears. My solution was to do a START /W HC <filename>
instead of HC <filename> in MAKEDESK.BAT; this will be implemented in
the next Desktop source release."
- Ben Jemmett
***************************************************************************
2.1.3 Does GEM run on Linux under DOSEMU?
***************************************************************************
Yes. This has been tested using DOSEMU 1.01 using the DR-DOS 7.03 hard
disk image available from <http://www.drdos.com> and there is no reason
to assume that this will not be the same using MS-DOS. Please see above
2.1.1 for specific information regarding FreeDOS.
Alistair MacDonald wrote a Mini-HOWTO for running GEM on older (ie
development) versions of DOSEMU and this can be found at:
<http://www.tux.org/hypermail/linux-msdos/2000-Feb/0065.html>
Further information about DOSEMU, including downloads of the latest
stable binaries/source can be found at <http://www.dosemu.org>
***************************************************************************
2.1.4 Does GEM run on DOSBox?
***************************************************************************
It appears that the answer is yes. OpenGEM Release 3 has been tested on
DOSBox 0.62, and apart from some installation issues and occasional
memory problems, the GEM desktop runs, opens appications, and does more
or less what it is meant to do. However, further testing needs to be
undertaken before a definitive answer can be given.
There are reports that GEMini Release 2 works effectively and stabily on
DOSBox 0.62.
***************************************************************************
2.2 Which version of GEM should I install?
***************************************************************************
This is really dependent on your requirements. ViewMAX supports network
drives, CD-ROM devices etc and is probably best suited to the kind of
hardware in use today but it lacks a lot of the functionality of GEM.
Ben Jemmett's FreeGEM Desktop will detect a drive as CD-ROM or Network
(or should do so!). It actually detects both types seperately (i.e. if
a drive is serviced by a redirector, which means it's networked or a
CD-ROM, it checks with MSCDEX to see if it's a CD or not).
GEM/3 r3.13 was the last retail version and is probably the one most
users would choose. You can download this free from
<http://www.deltasoft.com>
There are also several recent enhancements to the GEM system thanks to
the FreeGEM community and you can adapt your GEM installation to suit
yourself. OpenGEM is the current main FreeGEM distribution, and can
be downloaded from <http://gem.shaneland.co.uk>
***************************************************************************
2.3 How do I install GEM?
***************************************************************************
A complete GEM/3 installation guide (based on the original DRI guide) is
now available as a PDF file at
<http://gem.shaneland.co.uk/installguidetogem.pdf>.
Robert Avis has also prepared an extensive guide to installing GEM 1.2
and this is available online at <http://www.geocities.com/SiliconValley/
Screen/1184/downloads/gem12gd.htm>
Installing FreeGEM can vary depending on the files downloaded. Full
instructions should be included with the distribution obtained.
***************************************************************************
2.4 Can I run GEM without a mouse?
***************************************************************************
Yes, although GEM is best experienced with a mouse, graphics tablet or
some kind of pointing device, it is sometimes necessary to run it without
such assistance; older laptops being one example.
To allow the cursor to be moved using the cursor (arrow) keys, first
press [CTRL] + [SHIFT]. This should return a beep on the PC speaker.
Mouse operations can now be emulated as follows:
Click: Press [HOME] key
Doubleclick: Press [HOME] key twice
Drag: Press & release [END] key
Use arrow keys to move
Press [HOME] key to finish
Shift-Click: Use arrow keys to select first icon
Press & release [HOME] key
Use arrow keys to select next icon
Press [SHIFT] & [HOME] to select
Repeat as required...
***************************************************************************
2.5 Where can I download drivers?
***************************************************************************
Some drivers are still available from OEM websites and you can find links
to other sites with drivers from <http://www.deltasoft.com>.
Source code to the original DRI printer and screen drivers can be found
at <http://www.deltasoft.com> and Heinz Rath's VESA screen driver source
is available at <http://www.geocities.com/heinz_rath/>.
***************************************************************************
2.5.1 Is there a printer driver for my <insert model> printer?
***************************************************************************
No new printer drivers have been developed since GEM became open source
and I don't recall hearing of anyone successfully compiling the original
driver source. This means that unless your printer is compatible with one
of the supported printers, you may have to resort to capturing output to
a PostScript file.
Known Printer Drivers:
File Name Description Comments
----------------------------------------------------------------
AST Turbolaser (300dpi) Uses Ricoh Laser engine.
Use HPLJ or Epson FX emulation
See printer documentation for
details. Utils available from
www.ari-service.com
Calcomp Plotmaster,
Colourmaster
Canon LBP-8 II (300dpi)
Canon LBP-8 III (300dpi)
Epson EX, FX, JX, LX Colour
[also Star LC10C]
Epson LQ/SQ Colour
[also NEC 24-pin colour]
HP DeskJet (300dpi) Driver available (GEM/3 r3.1)
HPGL & DM/PL-Compatible
Plotters *** Drivers available ***
HP LaserJet II
Bitmap (300dpi) Driver available (GEM/3 r3.0)
HP LaserJet Plus
Bitmap (150dpi) Driver available (GEM/3 r3.0)
HP PaintJet Colour (180dpi)Driver available (GEM/3 r3.1)
HP ThinkJet
[also HP QuietJet]
IBM JetPrinter Colour
IBM Proprinter X24/X24L
IBM Quickwriter
IBM QuietWriter II/III
NEC 24-pin printer inc.
P5, P6, P7 (180dpi) *** Drivers available ***
Quadram Quadjet Colour
Ricoh PC Laser 6000 (300dpi) No longer supported by Ricoh.
If you have one of the emulation
cards, use the HP LaserJet, Epson
FX-80 or IBM Proprinter driver
as req'd.
Tall Tree JLaser (300dpi) *** Missing in action ***
Toshiba P351C Colour (180dpi)
Xerox 4020 Colour (180dpi) Driver available (GEM/3 r3.0)
Xerox 4045 (300dpi)
***************************************************************************
2.5.2 Is there a screen driver for my <insert model> display adapter?
***************************************************************************
The following is an attempt at a canonical list of all (most!?!) known
screen drivers for GEM. Where possible, I have only listed the latest
version and included VDI version information taken either from the
documentation or from the binaries themselves.
Many of these that are not already bundled with GEM may still be
available from the manufacturer's web site if you can spare the time to
hunt them down. Many of the drivers used to be accessable through the
FreeGEM screen driver archive at
<http://www.freegem.org.uk/archives/drivers/screen/>, but since the site
shut I'm not sure where you might find them. A good starting point is
<http://www.deltasoft.com>, which is the main FreeGEM website.
File names don't tend to mean a lot and some drivers seem to be simply
renamed copies of the standard IBM drivers; some have not been included
in this list for this very reason. If you are stuck, it may be worthwhile
trying the standard EGA/VGA drivers. The SDPSC9.VGA driver should provide
a basic 640 x 480 display on most modern systems.
I've still not been able to find a copy of the Trident 768 x 1024 driver
for portrait displays so this should probably still be considered "lost".
The RealTek virtual 1024 x 1024 driver is an intriguing piece and I'd be
interested in hearing from anyone who gets this working ...does this
imply an X-like scrollable virtual desktop on GEM? This driver used to be
downloadable at
<http://www.freegem.org.uk/archives/drivers/screen/realtek.zip>,
but since the site closed I'm not sure where it might be found.
File Name Description Resolution VDI
======================================================================
SDATT9.EGA AT&T 6300 Mono 640 x 400 3.1
SDDEB8.EGA AT&T 6300 Color 640 x 400 2.0
GEM51.SYS ATI EGA Wonder Card/Multisync Monitor 640 x 480 2.2
GEM52.SYS ATI EGA Wonder Card/Multisync Monitor 752 x 410 2.2
GEM53.SYS ATI EGA Wonder Card/Multisync Monitor 800 x 560 2.2
SDELF9.CGA Amstrad 1512 with PC-CD Display 640 x 200 3.1
SDELF9.CGA Amstrad 1640 with PC-CD Display 640 x 200 3.1
SDEHF9.EGA Amstrad PC1640 ECD 16 Colour Display 640 x 350 3.1
SDEH19.EGA Amstrad PC1640 MD Monochrome Display 640 x 350 3.1
SDPSC9.VGA Amstrad PC2000 Series VGA 640 x 480 3.1
SDA600.VGA Cirrus Logic VGA 16 color 800 x 600 3.1
SDA768.VGA Cirrus Logic VGA 16 color 1024 x 768 3.1
SDSP10.EGA Cornerstone SinglePage Display (unknown) 3.1
SD233352.EGA EverGraphics Deluxe EV233 1024 x 352 1.0
SD233704.EGA EverGraphics Deluxe EV233 1024 x 704 1.0
SD23520.EGA Everex Ultragraphics EV235 20pt 1664 x 1200 1.0
SD23510.EGA Everex Ultragraphics EV235 10pt 1664 x 1200 1.0
SD235SCN.EGA Everex Ultragraphics EV235 10pt 1280 x 1200 1.0
* DRI * Genoa EGA with Multi-Sync Monitor 800 x 600 3.1(?)
SDHRC9.EGA Hercules Card / Monochrome PC Display 720 x 348 3.1
SDCGA9.CGA IBM CGA / Color Display - Mono Mode 640 x 200 3.1
SDEHF9.EGA IBM EGA Colour with Colour Display 640 x 200 3.1
SDEHF9.EGA IBM Enhanced Card & 16-Color Display 640 x 350 3.1
SDEH19.EGA IBM EGA / Monochrome Display 640 x 350 3.1
SDPSM9.VGA IBM Monochrome MCGA/VGA 640 x 480 3.1
SDPSC9.VGA IBM 16-Color VGA for PS/2 or Compat. 640 x 480 3.1
SDPSM9.VGA IBM VGA Monochrome for PS/2 or Compat. 640 x 480 3.1
SDGEN9.VGA MDS THE GENIUS Monitor/Card 728 x 1008 3.1
SDMX6448.EGA MaxLogic MaxEGA/VGA adapter 16 color 640 x 480 1(?)
SDMX7542.EGA MaxLogic MaxEGA/VGA adapter 16 color 752 x 420 1(?)
SDMX8051.EGA MaxLogic MaxEGA/VGA adapter 16 color 800 x 512 1(?)
SDMX8060.EGA MaxLogic MaxEGA/VGA adapter 16 color 800 x 600 1(?)
SDG647.SYS MaxLogic MX-656 EGA/Multisync 16 cols 640 x 480 2.2
SDG867.SYS MaxLogic MX-656 EGA/Multisync 16 cols 800 x 600 2.2
SDDEB8.EGA Olivetti EGC with Colour Display 640 x 400 2.0
SDATT9.EGA Olivetti Monochrome 640 x 400 3.1
* DRI * Quad Prosync with Multi-Sync Monitor 752 x 410 3.1(?)
SDP649.VGA Quadram Prosync 16-Color Display 640 x 480 3.1
SD800.VGA RealTek VGA (ZyMOS SuperVGA) 16 Color 800 x 600 3.1
SD4C.VGA RealTek VGA (ZyVGA) 4 Color 1024 x 768 3.1
SD1KV.VGA RealTek ZyVGA Virtual 1024 16 Color 1024 x 1024 3.1
SDGEMVP.VGA S3 Carrera (86C911) 16 color (unknown) 3.1
SDFSIS86.VGA SiS (SiS86C201) VGA adapter Mono 800 x 600 3.1
SDFSIS1K.VGA Sis (SiS86C201) VGA adapter Mono 1024 x 768 3.1
SDTSH9.EGA Toshiba T1000, T1200 or T3100 Mono 640 x 400 3.1
SD803.VGA Trident TVGA 16 color 800 x 600 3.1
SD803.VGA Trident TVGA 16 color 1024 x 768 3.1
SD7X6.VGA Trident TVGA portrait display 768 x 1024 3.1(?)
SDP649.VGA Video 7 Vega Deluxe/Multi-Sync Monitor 640 x 480 3.1
SDFVGA86.VGA Western Digital 1Page Display System 800 x 600 3.1
SD_800_M.VGA WD PVGA 1B VGA-0032B Mono 800 x 600 3.1
SD_1K_M.VGA WD PVGA 1B VGA-0032B Mono 1024 x 768 3.1
SD_800_C.VGA WD PVGA 1B VGA-0032B 16 color 800 x 600 3.1
SD_1K_C.VGA WD PVGA 1B VGA-0032B 16 color 1024 x 768 3.1
SDWYS9.VGA Wyse/Amdek Monochrome Graphics Display 1280 x 800 3.1
[ * DRI * denotes GEM/3 drivers only available for purchase direct from
Digital Research and not included with the retail/bundled version. If
you have any of these, or any updates to other drivers listed, please
let me know. ]
If none of the above suit your modern graphics adapter, try Heinz Rath's
VESA Screen driver, an 800 x 600, 16 color screen driver that should work
with all VESA compatible cards. Known bugs include wrong colours on ATI
Rage Pro; BASIC 2.0 doesn't run, BASIC 2+ does. Driver and source is
available at Heinz's homepage: <http://www.geocities.com/heinz_rath/>.
The ATI Xpert at Home also has errors with GEM. GEM starts without
displaying anything.
If you are running GEM on a reverse LCD display, try the LCD driver by
Jaroslaw Binczarowski, available from various locations.
The following was also contributed by John Elliott:
File Name Description Resolution VDI
======================================================================
UDUNI9.VGA ViewMAX/2 "Universal" driver 640 x 480 3.1*
and 640 x 350
maybe even 640 x 200
UDHRC9.EGA ViewMAX/2 Hercules driver 720 x 348 3.1*
UDCGA9.CGA ViewMAX/1 CGA driver 640 x 200 3.1
UDEGA9.EGA ViewMAX/1 EGA driver 640 x 350 3.1
UDHRC9.EGA ViewMAX/1 Hercules driver 720 x 348 3.1
UDPSC9.VGA ViewMAX/1 VGA driver 640 x 480 3.1
UDCAT9.EGA ViewMAX/1 and 2 AT&T 6300 driver 640 x 200 3.1
AMSTRAD.SYS Amstrad PC1512 16-colour CGA 640 x 200 2.0
[*] ViewMAX/2 drivers say GEMVDI 3.1, but don't all actually implement
the complete VDI. In particular, a lot of the font support has gone.
And the following by Owen Rudge:
File Name Description Resolution VDI
======================================================================
SDGEM5.VGA GEM/5 paletted VGA 640x480x16 GEM 3.x driver
[This was written by Ben Jemmett, based on Chris Barnes's VGA driver and
using John Elliott's notes on the GEM/5 colour palette.]
---------------------------------------------------------------------------
3. OPERATIONAL QUESTIONS
---------------------------------------------------------------------------
***************************************************************************
3.1 Where can I get a GEM User's Guide?
***************************************************************************
A brief, Beginner's Guide to the GEM/3 Desktop is available in PDF
format from <http://gem.shaneland.co.uk/guidetothedesktop.pdf>.
Robert Avis has also prepared an extensive guide to installing GEM
1.2 and this is available online at <http://www.geocities.com/
SiliconValley/Screen/1184/downloads/gem12gd.htm>.
***************************************************************************
3.2 Can I change Desktops?
***************************************************************************
The GEM Desktop is essentially an application that runs on top of the
GEM system and acts as a shell and user interface. Given that there
is a good level of backwards compatibility in the VDI/AES, you will
probably find that GEM supports the Desktop of previous versions.
***************************************************************************
3.2.1 How do I install the original GEM/1 Desktop on GEM/3?
***************************************************************************
The GEM 1.x desktop is compatible with GEM 2.x and 3.x system files
so there is no reason why you can't substitute it for the later
dumbed-down interface.
You can use the 1.2 Desktop with later version of GEM by simply
swapping the Desktop files. For example, if you are using GEM/3, you
can rename the following files in the GEMAPPS\GEMSYS directory:
DESKTOP.APP > DESKTOP.3AP
DESKHI.ICN > DESKHI.3IC
DESKLO.ICN > DESKLO.3IC
DESKTOP.INF > DESKTOP.3IN
DESKTOP.RSC > DESKTOP.3RS
and then replace them with the same files from the Version 1 Desktop.
You can find these files in the DESKTOP.MST directory. You'll have to
rename the DESKHD.INF (or DESKFPY.INF if you're running from floppy)
to DESKTOP.INF
Equally, you can simply move the Desktop files (listed above) into a
subdirectory, eg GEMAPPS\GEMSYS\DESK3 and replace them with the GEM/1
Desktop files.
***************************************************************************
3.2.2 How do I install the latest FreeGEM Desktop?
***************************************************************************
Basically, you will only need to copy the distributed files into the
GEMAPPS\GEMSYS directory. As noted above, it is worthwhile renaming
or moving the existing Desktop files into a subdirectory temporarily
in case you wish to switch back later.
It should also be noted that some features of the FreeGEM Desktop
may also require installing the FreeGEM AES and/or VDI. Details will
generally be available in the documentation accompanying the FreeGEM
Desktop.
***************************************************************************
3.2.2.1 Where can I get the latest FreeGEM Desktop?
***************************************************************************
Although development hasn't really forked, there are currently three very
distinct versions of the FreeGEM Desktop; these are maintained by Ken
Mauro, Ben Jemmett and John Elliott. Ken and Ben's desktops can be
downloaded from <http://www.deltasoft.com/currcomp.htm> and John's desktop
can be downloaded from <http://www.seasip.info/Gem/>
***************************************************************************
3.2.3 Can I change the icons on the Desktop?
***************************************************************************
The Desktop icons for particular applications or file types can be
changed using the Options|Configure Application menu. See the
Beginner's Guide to the GEM/3 Desktop for further information...
Unfortunately, there are only a limited selection of icons available,
although Eathan Clark <eathan at cableone.net> has released an extended
collection of high resolution icons, available from his site at
<http://www.cableone.net/eathan/>
The following succinct explanation of Desktop icons was offered by
Ben Jemmett <ben.jemmett at ukonline.co.uk>:
"Desktop comes with a pair of files containing a selection of
icons for various program types DESKLO.ICN for <200 vres,
DESKHI.ICN for >200 vres), and each program can be configured
to have one of these icons. The list of programs and icons is
stored in DESKTOP.INF. Both files contain the same icons in a sense,
just in different sizes. You can pick an icon for programs and their
documents, and that icon is used from whichever set the Desktop thinks
is needed. So if you pick icon #42 when running on a 640x200 screen,
and that turns out to be a large trout in DESKLO.ICN, Desktop will use
icon #42 from DESKHI.ICN when run at 640x480. If DESKHI.ICN has a small
minnow in icon #42, your application will look like a whole different
kettle of fish. "
***************************************************************************
3.3 What applications does GEM run?
***************************************************************************
GEM will happily act as a shell for launching all DOS applications
that do not have excessive memory or environment requirements.
Besides that, GEM is also host to a range of native applications ranging
from word-processing and desktop publishing to drawing and charting
utilities.
The following list includes some of the applications currently
available from GEMWORLD:
WordPlus -- Word-processing package
Graph -- Spreadsheet/graphing utility
Publisher -- Desktop publishing package
Draw -- Drawing utility
Artline -- High-end graphics package
***************************************************************************
3.3.1 Are there any commercial applications for GEM?
***************************************************************************
Many of the third-party applications originally developed for PC-GEM have
never been released to the FreeGEM community and some may still be
available commercially. Ken Mauro's excellent document, GEMNOTES.TXT,
available from GEMWorld, details many of these packages. Current contact
details for a few of these companies are provided at the end of this FAQ.
Artline, a high-end graphics package for GEM/3, is now available for free
download at <http://www.artline.de>. English and German language versions
are available.
***************************************************************************
3.3.2 Are there any new free applications for GEM?
***************************************************************************
Several.
***************************************************************************
3.4 What additional Desktop Accessories are available?
***************************************************************************
GROWBOX.ACC - restores the zoom rectangles in DR GEM
(it's built into FreeGEM)
MONITOR.ACC - Switch a Compaq laptop between its external and internal
displays
PALETTE.ACC - Change the VGA palette
***************************************************************************
3.5 Can any Atari GEM Applications be run under PC-GEM?
***************************************************************************
No. Some applications were written for both the Atari ST and the PC but
the binaries are very distinct and will not run on the other platform.
There are several ST emulators which can run Atari ST GEM applications
and while these could feasibly be launched from PC GEM, there is curently
no GEM-based ST emulator.
---------------------------------------------------------------------------
4. TECHNICAL QUESTIONS
---------------------------------------------------------------------------
***************************************************************************
4.1 What is the VDI?
***************************************************************************
The VDI is the Virtual (check this, might be Visual, not sure at the
moment)
Device Interface, which deals with turning drawing requests into commands
to
the device drivers. Also included in this part of the functionality of
the
VDI are pointer handling (the mouse driver in GEM is incorporated into the
individual displayd drivers) and the underlying esoteria such as
workstations and virtual workstations, which an application uses to
communicate with a certain device driver. The VDI also looks after fonts
and starting the GEM system by loading the AES into memory.
You might also see the VDI referred to as the GDOS (Graphics Device
Operating System); I've mainly seen this in the source code, but I believe
it refers to GEMVDI.EXE specifically -- that is, the part of the VDI that
remains the same across all device configurations. The VDI is made up of
the GDOS and a set of device drivers, in this case.
***************************************************************************
4.2 What is the AES?
***************************************************************************
AES stands for Application Environment Services; the AES is the program
responsible for providing the GEM user interface to applications.
Applications use the AES to create and display windows, dialog boxes,
alert
boxes, menu bars, and objects such as buttons or text fields, amongst
other
things. The AES also provides support for desk accessories (small
programs
that are in memory whenever GEM is running, and typically show up on the
Desk menu), and the event system that makes GEM tick. The AES also
handles
other odd bits and pieces like the Item Selector, the clipboard (when
applications use the clipboard), and running multiple processes (this is
more noticeable on GEM/XM, although vanilla GEM implements desk
accessories
as separate processes too).
To put it another way, the AES is responsible for the GEM environment
itself.
***************************************************************************
4.3 What are the major GEM file formats?
***************************************************************************
GEM has two main file formats, ignoring application-specific data. These
are the .GEM metafiles and the .IMG bitmaps. Both of these file formats
can
be viewed, printed, plotted or exposed (I guess that's the correct term
for
output to a camera device!) with the GEM Output program.
See also <http://www.seasip.info/Gem/filefmt.html>
***************************************************************************
4.3.1 What is the .GEM file format?
***************************************************************************
The .GEM file format is a metafile -- a series of commands to a device
driver that will reproduce a document when played back. They are produced
through the GEM Metafile device driver, which on GEM/2 was METAFIL6.SYS
(not
sure about other versions).
Various applications produce .GEM files; GEM Draw, GEM Wordchart and GEM
Graph are three from the original series of GEM applications.
***************************************************************************
4.3.2 What is the .IMG file format?
***************************************************************************
The .IMG file format is a bitmap -- an image file representing each pixel
in
the original image with a colour value. These turn up in various formats
depending on the device and platform for which they created -- a CGA IBM
PC
would produce a monochrome .IMG file in Intel byte ordering, while an
Atari
might produce a 16-colour image in Motorola byte order.
.IMG files are often accompanied by a .GEM file, which contains the
command
'draw this image file'. This file pairing is produced by GEM Paint to
facilitate later processing by GEM Output, which likes to deal with .GEM
files.
.IMG files are produced by GEM Paint and the Snapshot desk accessory.
---------------------------------------------------------------------------
5. DEVELOPMENT QUESTIONS
---------------------------------------------------------------------------
***************************************************************************
5.1 Where can I find the GEM source code?
***************************************************************************
The source code to the original DRI GEM/3 is available from GEMWorld
and the Deltasoft GEM Development site.
Source code to the FreeGEM components is avialable from several
sources but the latest versions can usually be found at the site of
the component's maintainer.
***************************************************************************
5.2 What tools do I need for compiling the source code?
***************************************************************************
Different components of the system require different compilers and
assemblers. John Elliott's AES is compiled with the Pacific C compiler;
the
DRI source code is compiled with a hodge-podge of compilers and
assemblers..
The build tools for the original code can be found at
<http://www.deltasoft.com/downloads.htm>.
***************************************************************************
5.2.1 How do I compile the source code?
***************************************************************************
This depends on the component in question; the documentation supplied in
the
various source archives is the best place to find the answer.
***************************************************************************
5.3 Which languages can I use for writing GEM applications?
***************************************************************************
You can write GEM applications in any compiled language you choose...
provided the compiler can produce binaries that will run on DOS. The
down side is that currently there are only limited sets of bindings
available and these are for C, Pascal and Fortran.
The only interpreted language that currently runs on GEM is BASIC2 and
BASIC2+ which are distributed free under a binary-only license.
GDScript for FreeGEM is based on the original INSTALL.APP and provides
a limited scripting language for GEM.
***************************************************************************
5.3.1 What are "bindings"?
***************************************************************************
The bindings provide the interface between a development system and the
GEM
environment; they are essentially the libraries used by an application
programmer to access GEM functions. Typically, a language's binding will
consist of the set of declarations in the language, and a library of short
stubs of code that translate the compiler's calls into calls into the GEM
API on interrupt 0xEF.
For instance, the DRI C bindings consist of a set of header files and a
set
of libraries the developer links his object files against. The binding
installation procedure gives the option of having one, a few, or many
library files; these correspond to the whole set of GEM calls, GEM calls
in
various categories, and every individual call. This is done so older
linkers don't need to include the whole set of bindings when only a few
are
used.
***************************************************************************
5.3.2 What bindings currently exist?
***************************************************************************
There are original bindings for Borland Turbo C, Microsoft C, Lattice
C, Metaware High C, Borland Turbo Pascal, DRI Pascal MT+, IBM PROFORT
Fortran 77,
John Elliott has updated the DRI C bindings to provide support for
the 32-bit DJGPP compiler <http://www.delorie.com> and also the 16-bit
Pacific C compiler <http://www.hitech.com.au/products/pacific.html>.
These can be found at <http://www.seasip.info/Gem/gengem.html>
Rob Mitchelmore has produced the TurboGEM bindings, a set of bindings
for Turbo Pascal <http://www.btinternet.com/~triplet/freegem/>
Owen Rudge has written sound driver bindings for Heinz Rath's sound
driver. These support Turbo C 1.01, Borland C 4.51, Pacific C and
Watcom C/C++ 10.6 as well as MS QuickBASIC 4.5 and can be downloaded
at <http://www.owenrudge.net/GEM/>
---------------------------------------------------------------------------
6. MISC. QUESTIONS
---------------------------------------------------------------------------
***************************************************************************
6.1 Currently empty...expected to contain application-specific questions
***************************************************************************
---------------------------------------------------------------------------
7. GEM RESOURCES
---------------------------------------------------------------------------
***************************************************************************
7.1 Where to find GEM resources on the Internet...
***************************************************************************
The main starting point for GEM resources is <http://www.deltasoft.com>
You can also have a look at:
Shane Land OpenGEM
<http://gem.shaneland.co.uk>
John Elliott's GEM pages
<http://www.seasip.info/Gem/>
Owen Rudge's GEM pages
<http://www.owenrudge.net/GEM/>
Heinz Rath's GEM pages
<http://www.geocities.com/heinz_rath/>
Dylan Harris's Gem pages
<http://www.dylanharris.org/prose/gem/intro.html>
David Given's Gem pages
<http://www.cowlark.com/obsolete-dos-software.html>
Thothy's Atari-GEM to PC-GEM page
<http://www.uni-ulm.de/~s_thuth/pcgem/>
Eathan's GEM pages
<http://www.cableone.net/eathan/gem.htm>
D. S. Brian's GEM pages
<http://www.neosplice.com/~dsbrain/gem/>
GEM World
<http://cpm.interfun.net/gemworld.html>
Christian Chech's GEM pages
<http://www.geocities.com/SiliconValley/Vista/6148/gem.html>
an Atari Derived Library
<http://indigo.ie/~odonnllb/mad.html>
Chris Barnes' GEM Downloads
<http://www.users.zetnet.co.uk/barnes_firsnorton/dr_gem.htm>
***************************************************************************
7.2 Mailing lists and discussion groups for GEM...
***************************************************************************
There are three mailing lists for discussion of GEM and FreeGEM:
GEM-DEV is for general discussion of GEM development topics as well
as announcement of new projects and updates to existing GEM code.
You can find it at <http://www.simpits.org/mailman/listinfo/gem-dev>
GEM-ANNOUNCE is for GEM and FreeGEM new software and update
announcements. You can find it at
<http://groups.yahoo.com/group/gem-announce>
GEM-CHAT is for general GEM-related gossip although other topics
are tolerated. You can find it at
<http://www.simpits.org/mailman/listinfo/gem-chat>
***************************************************************************
7.3 Aren't there any Usenet groups where I can discuss GEM...?
***************************************************************************
There is no specific newsgroup for discussion of GEM; the last was
perhaps the German-language newsgroup maus.gui.gem which seemed to
disappear sometime in 1998.
However, you may still find that GEM is ocassionally discussed in the
following groups:
comp.os.cpm
comp.os.msdos.apps
comp.os.msdos.programmer
comp.sys.atari.st
comp.sys.atari.st.tech
comp.sys.ibm.pc.misc
Since buying the DejaNews archive of Usenet postings since 1995, Google
have extended their archive back 20 years to 1981 - which would suggest
that there are now more GEM-related newsgroup postings available than
ever before...!
***************************************************************************
7.4 Contact addresses for companies who produce(d) GEM applications...
***************************************************************************
The following list is based on leads contained in Ken Mauro's excellent
GEMNOTES.TXT available from the GEMWorld archive.
If anyone would like to make enquiries regarding possible distribution
of binaries or source code, I'm sure you'd find lots of support from
members of the GEM-DEV list.
o Prospero Languages for GEM:- (PASCAL & FORTRAN)
Snail: Prospero Development Software Ltd
37 Gwendolen Avenue
London SW15 6EP
UK
Ph: (+44) 020 8785 1414
Fax: (+44) 020 8785 1616
Email: Prospero at ProsperoSoftware.com
o KUMA Software:-
(Awaiting further possible contact information -- assuming
that KUMA Software and KUMA Computer Publishing are one
and the same!)
Snail: KUMA Books Ltd. (?)
UK
Ph: 0173 484 4335
o SuperBase:-
(The original company, Precision Software, were
apparently bought out by some of the developers...)
Snail: SuperBase Developers Plc.
14 Regent Street
Cambridge CB2 1DB
UK
Ph: 01223 365550
Email: rifaat at superbase.com
WWW: www.superbase.com
o DynaCadd:-
(GEM-based CAD)
Email: info at ditek.com
support at ditek.com
developer at ditek.com
Fax: 905.771.0560
Snail: DynaCadd
Ditek Corp.
60 West Wilmot Street
Richmond Hill ON
L4B 1M6
Canada
WWW: www.ditek.com
o Delrina Perform:-
(All Delrina's form-handling software was bought
by JetForm from Symantec in September 1996)
Snail: Ted Capes
Senior Vice President
Product Development and Customer Services
JetForm Corporation
560 Rochester Street
Ottawa, ON
K1S 5K2
Canada
Ph: (613) 230-3676
WWW: www.jetform.com
More information about the gem-dev
mailing list