[GEM Development] OpenGEM FAQ

Shane M. Coughlan shane_coughlan at hotmail.com
Thu Jul 21 03:40:17 PDT 2005


I have been preparing a new OpenGEM FAQ based on the PC GEM FAQ.  Any
comments or ideas are welcome.

---------------------------------------------------------------------------
 OpenGEM Frequently Asked Questions          Release 1 -- 21st July 2005
---------------------------------------------------------------------------

This is a Frequently Asked Questions document for OpenGEM.

This FAQ is currently maintained by Shane Coughlan <shane at shaneland.co.uk>
and any comments, suggestions or error reports are welcome.

This document can be found on the Internet at <http://gem.shaneland.co.uk/>

CREDITS: The OpenGEM FAQ is based on the PC GEM FAQ, which was created
by Rory Beaton for the FreeGEM community.

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 Caldera
Systems, Inc. <http://www.caldera.com>. All other trademarks are the
property of their respective owners, etc.

-
---------------------------------------------------------------------------
TABLE OF CONTENTS
-
---------------------------------------------------------------------------

1. GENERAL QUESTIONS
    1.1  What is GEM?
    1.2  What is FreeGEM?
    1.3  What is OpenGEM?
     1.3.1  What is GEMini?
    1.4  Why is OpenGEM free?
    1.5  Where can I get OpenGEM?
    1.6  Where can I discuss or get help with OpenGEM?

2. INSTALLATION QUESTIONS
    2.1  Will OpenGEM work with my version of DOS?
      2.1.1  Does OpenGEM run on FreeDOS?
      2.1.2  Does OpenGEM run on Windows 9x/NT/2000?
      2.1.3  Does OpenGEM run on Linux with DOSEMU?
    2.2  Which version of OpenGEM should I install?
    2.3  How do I install OpenGEM?
    2.4  Can I run OpenGEM 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 an OpenGEM User's Guide?
    3.2  What applications does GEM run?
      3.2.1  Are there any commercial applications for GEM?
      3.2.2  Are there any new free applications for GEM?
    3.3  What additional Desktop Accessories are available?
    3.4  Can any Atari GEM Applications be run on OpenGEM?

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?

6. GEM RESOURCES
    6.1  Where to find GEM resources on the Internet
    6.2  Mailing lists and discussion groups for GEM


-
---------------------------------------------------------------------------
1. GENERAL QUESTIONS
-
---------------------------------------------------------------------------

***************************************************************************
1.1   What is 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.

  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.2   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.3   What is OpenGEM?
***************************************************************************

  OpenGEM is a FreeGEM distribution.  It contains a collection of DR GEM
  and FreeGEM code, is released under the GPL license.  It 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.

  There are three versions of OpenGEM:

  OpenGEM Core
  OpenGEM Core is not a complete OpenGEM distribution. It contains the
  core GUI of OpenGEM, but none of the applications like word processing,
  DTP etc. It is intended to help you manage your files, and it can be
  upgraded to include more GEM applications and features through packages
  that will be made available on the OpenGEM website.

  OpenGEM Complete
  OpenGEM Complete is a complete OpenGEM distribution. It contains the core
  GUI of OpenGEM, and all of the applications like word processing, DTP
etc.
  It is intended as a complete graphical work enviroment for end-users.

  OpenGEM Experimental
  OpenGEM Experimental contains the same files and functionality as OpenGEM
  Core, but uses more of the experimental code from the FreeGEM community.
  It has 3D menus, and more features than the standard OpenGEM release,
  though it is not assured to run as smoothly.

  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.3.1   What is GEMini?
***************************************************************************

  GEMini is a FreeGEM distribution.  It contains a collection of DR GEM
  and FreeGEM code, is released under the GPL license.

  GEMini is a small FreeGEM distribution.  It is designed to be easy to
  install and use, and is tested to work with virtually all versions of
  DOS.  It is intended to work as a powerful file commander tool.

  GEMini is based on OpenGEM, and has now been replaced by OpenGEM Core.

  The Shane Land OpenGEM homepage is <http://gem.shaneland.co.uk>
  You can get more information by emailing gem at shaneland.co.uk


***************************************************************************
1.4   Why is OpenGEM 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.5   Where can I get OpenGEM?
***************************************************************************

  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/>

  GEM source code, executables and some applications can be found in the
  OpenGEM SDK <http://gem.shaneland.co.uk/>


***************************************************************************
1.6   Where can I discuss or get help with OpenGEM?
***************************************************************************

  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 OpenGEM 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.


***************************************************************************
2.1.1  Does OpenGEM run on FreeDOS?
***************************************************************************

  OpenGEM is known to work with FreeDOS.  It can be downloaded from
  <http://gem.shaneland.co.uk/>.

  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 OpenGEM run on Windows 3.x/9x/ME/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      --  YES *
	  Windows XP        --  YES ** ***

  * There have been several reports of DR GEM and FreeGEM code crashing
  when used on Windows 2000 machines.

  ** "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

  *** GEM RCS fails to run correctly under Windows XP.  It will crash when
  attempting to save RSC files.  GEM Write also fails to save files when
  used under Windows XP.

***************************************************************************
2.1.3  Will OpenGEM 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.2   Which version of OpenGEM should I install?
***************************************************************************

  This is really dependent on your requirements.

  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>

  There are three versions of OpenGEM to choose from:

  OpenGEM Core offers a small GEM environment tested on modern machines.

  OpenGEM Complete offers the same base as OpenGEM Core, and includes
  all the known PC GEM applications.

  OpenGEM Experimental is functionally identical to OpenGEM Core, but
  uses more of the FreeGEM experimental code to provide the AES and VDI.


***************************************************************************
2.3   How do I install OpenGEM?
***************************************************************************

  Full instructions are included with each specific distribution.

***************************************************************************
2.4  Can I run OpenGEM 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?
***************************************************************************

  The first place to look is the official Shane Land OpenGEM site
  <http://gem.shaneland.co.uk/>

  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' VGA driver and
  using John Elliott's notes on the GEM/5 colour palette.]

-
---------------------------------------------------------------------------
3. OPERATIONAL QUESTIONS
-
---------------------------------------------------------------------------

***************************************************************************
3.1  Where can I get an OpenGEM User's Guide?
***************************************************************************

  There is no user guide currently available for OpenGEM.


***************************************************************************
3.2   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.2.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.2.2  Are there any new free applications for GEM?
***************************************************************************

  There are several new applications for GEM.  GEMP3 is a music player.
  SCGEM is a spreadsheet.  You can find these applications in the
  OpenGEM Complete distribution of GEM.

***************************************************************************
3.3  What additional Desktop Accessories are available?
***************************************************************************

  GROWBOX.ACC - Restores the zoom rectangles in DR GEM
  MONITOR.ACC - Switch a Compaq laptop between its external and internal
displays
  PALETTE.ACC - Change the VGA palette

***************************************************************************
3.4  Can any Atari GEM Applications be run on OpenGEM?
***************************************************************************

  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 starting point for any GEM development should be the OpenGEM SDK,
  which contains all the known PC GEM source code, binary, documentation
  and resources.  You can download the OpenGEM SDK from the Shane Land
  OpenGEM site <http://gem.shaneland.co.uk/>

  The source code to the original DRI GEM/3 is available from GEMWorld
  and the Deltasoft GEM Development site.


***************************************************************************
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 in the OpenGEM SDK
  <http://gem.shaneland.co.uk/> or through the FreeGEM website
  <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.

  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.

  The bindings for GEM can be found in the OpenGEM SDK
  <http://gem.shaneland.co.uk/>


-
---------------------------------------------------------------------------
6. GEM RESOURCES
-
---------------------------------------------------------------------------

***************************************************************************
6.1  Where to find OpenGEM resources on the Internet
***************************************************************************

  The main starting point for OpenGEM resources or help is the official
  Shane Land OpenGEM site
  <http://gem.shaneland.co.uk>

  You can also find information and tools at:

  John Elliott's GEM pages
  <http://www.seasip.info/Gem/>

  The FreeGEM GEM pages
  <http://www.deltasoft.com/>

  Owen Rudge's GEM pages
  <http://www.owenrudge.co.uk/GEM/>

  Heinz Rath's GEM pages
  <http://www.geocities.com/heinz_rath/>


***************************************************************************
6.2  Mailing lists and discussion groups for GEM
***************************************************************************

  There are two 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.
    To subscribe to the GEM-DEV list visit the FreeGEM site
    <http://www.deltasoft.com/>

    GEM-ANNOUNCE is for GEM and FreeGEM new software and update
    announcements.  You can find it at
    <http://groups.yahoo.com/group/gem-announce>



More information about the gem-dev mailing list