[GEM Development] GEM/DOS Programming versus GEM/ATARI programming

Michael Bernstein pcgem at mbernstein.de
Thu Dec 29 23:01:49 PST 2005


Hi,

> I was just wondering if programming for GEM/ATARI is similar to
> programming for GEM/DOS, and if so, how similar?  How is the API
> different?

Programing for Atari/GEM with TOS 1.x is nearly identical to PC/GEM.
After the lawsuit with Apple, the functions graf_shrinkbox and
graf_growbox are omitted from PC/GEM 2.0, Atari GEM in TOS 1.04 adds
fsel_exinput with a additional label. Replacements for the Atari GEM
like nVDI or SpeedoGDOS have additional VDI functions for outline
fonts. And multitasking AES like nAES add additional functionality.

If you have documentation for one system, you can use it to write
GEM applications for the other system. If you want to write software
which should compile on Atari and on PC, you should use a development
system with a GEM API defined by DR, Atari and the Geiß twins. They
defined two include files for C (aes.h and vdi.h) and tandardized
names for every GEM function. They used also a include file portab.h
with definitions for compiler independent data types and to handle
differences in the different GEM bindings.

There is also a program to convert the GEM resource files between PC
and Atari.

These files with many hints for portable GEM programming were published
in the german book "Vom Anfänger zum GEM-Profi". If you want to have a
look at this API you can go to my homepage www.mbernstein.de and
look at the Turbo C GEM binding in the PC download section. In the Atari
secton of my homepage is also a german description about the TOS API
(tos.hyp) which covers also GEM. Because this doku is written in a meta
language and under GPL, it is possible to create a GEM only document
or a PC/GEM only document. But it needs translation to english. If
someone is willing to help with translation, i would help to create a
PC/GEM part of this dokument. This document points also to the
differnces between PC/GEM and Atari/GEM.

I have started a GEM course as an additon for my homepage. But only the
AES part exists and the text needs a little bit rework. And it is in
german. Sorry, but as a german it is much more work for me to write a
good english text. And my homepage is done in my spare time where i
want to have a little bit fun. But write a english text is not very
funny for me.

Porting new Atari applications is a bit more difficult because of the
use of GEM extensions in more modern Atari systems. protab.h has no
handling for this extensions.

Best regards
Michael


More information about the gem-dev mailing list