[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