GEM

GEM, the Graphics Environment Manager, is a graphical user interface (GUI) making it easier to operate your computer. Consider it as a graphical shell lying on top of the operating system, in our case TOS (singletasking) or MiNT (multitasking). It was designed by Digital Research Inc. (DRI). It is interesting to know that also a version of GEM, running on top of DR-DOS, was made for the IBM-PC. This GEM was competing with MS Windows to become the standard PC-GUI in the early 1990-ies. However, a lawsuit by Apple forced DRI to cripple the GEM desktop and chances turned in favour of MS. Curiously, the GEM desktop for Atari was allowed to stay the same.

The Application Environment Services (AES) is the first part of two major components of GEM. The other component of GEM is the Virtual Device Interface (VDI).

The AES

N.AES2.0
NAES 2.0 by Woller Systeme.

The AES provides a set of tools (libraries) that programs need to use GEM interface. Examples of libraries are Window Libraries, Event Libraries etc. Furhtermore, the AES contains the Screen Manager and the kernel. The original kernels provided by Digital Research Inc., who developed GEM, were limited in multitasking, allowing only for desk accessories to run together with the main application. The original AES shipped on a ROM chip with your Atari. If you use TOS this AES will do fine. Modern times (that is: running MiNT :) require an AES capable of multitasking, though. You can give the following free versions a try:

XaAES - an open source project related to FreeMiNT
MyAES - by Olivier Landemarre
oAESis (dead link?) - by NoCrew

Alternatively, you can try to find Atari's original MultiTOS ("gem.sys") somewhere; it is even still possible to buy the commercially available N.AES 2.0 (Woller systeme), the standards-setting application from 1999. The original Atari MultiTOS is a bit slow and buggy.

Of the free AESes, XaAES is most mature. It works very reliably on my MegaST4. Until version 0.970, XaAES came as a separate application (.PRG). Since MiNT1.16.x, versions come as a MiNT-loadable kernel module (.KM) which improves speed but seems to require something better than an MC68000-equipped Atari ST. The latest versions of XaAES are in my opinion superior even to N.AES! MyAES is graphically appealing, with sparkling themes for 256-colors or Hi-color.

How to start the AES from MiNT?

Starting the AES from MiNT is really easy: just put one of the following lines, depending on the AES you use, somewhere at the end of your mint.cnf:

INIT=u:\c\mint\xaaes\xaaes.tos     #For XaAES-0.970 
INIT=u:\c\mint\xaaes\xaloader.prg  #For newer XaAES 
INIT=u:\c\gemsys\myaes\myaes2.tos  #For MyAES2
GEM=u:\c\mint\n_aes\n_aes.sys      #For N.AES2
GEM=u:\c\mint\aes41\gem.sys        #For Atari MultiTOS
INIT=u:\c\mint\oaesis\oaesis.prg   #For oAESis

Of course you have to insert your path to the correct executable into the above. Be sure to delete or comment out (with a '#') the following line from the mint.cnf, or you'll boot into the MiNT command prompt:

INIT=u:\c\mint\init.prg            #command prompt MiNT

You might want to check out this example configuration file for MiNT 1.15.x.

The VDI

The Virtual Device Interface (VDI) in your Atari is the second of two major components of GEM, the Graphics Environment Manager. The other component of GEM is the AES. GEM is a graphical user interface making it easier to operate your computer.

The VDI provides an interface between programs and the graphics devices (monitors, printers, etc) they want to use. The programmer can write device independent programs, while the VDI will translate to the output devices. The VDI is composed of a Graphics Device Operating System (GDOS) that provides basic graphics functions that can be called from programs, and drivers for the graphics output devices.

The VDI comes together with the TOS/GEM on a ROM-chip in your Atari. Amazingly, the GDOS was not included on ROM but supplied seperately as an application, so if you(r program) want(s) to benifit from it's services you have to load it (gdos.prg) from your AUTO folder. Put it in front, at least before mintnp.prg. You need to load GDOS if you need access to more bitmapped fonts than just the 6x6 system font, for example.

The original VDI supplied on ROM is rather slow, which you might have noticed when using graphical intensive GEM applications (in that case, the VDI output device is the screen). Also, it lacks some features often required by newer programs. To solve this, you might want to use the commercially available NVDI5 from 1999 (which supports, besides the usual bitmap fonts, Speedo and TrueType vector fonts) or perhaps the free fVDI, which is actively developed again lately, and also supports vector fonts right now! After installation, the screen will be drawn much, much faster.

NVDI - by Behne&Behne
fVDI - by Johan Klockars

How to install GDOS

The procedure below is for the original Atari GDOS, but complete VDI replacement programs like NVDI follow a similar file layout. If you'd like to know more, that is possible here.

1. put gdos.prg in the AUTO/ folder of your boot disk
2. on the boot disk, make a folder GEMSYS/ in which you put all the bitmap fonts (.fnt) and device drivers (.sys). A nice bitmap font collection may be found here.
3. on the boot disk put a file assign.sys in which you specify the fonts that you want to have available for each device (click for an example); of course those fonts must be present in the folder GEMSYS/ .


Back to top