Skip to main content
© Stax

GEMDOS FUNCTIONS by Richard Karsmakers

Originally  published in ST NEWS Volume 1 Issue  4,  launched  on 
September 7th, 1986.

The  GEMDOS functions in the Atari ST look very much  like  MS-DOS 
routines.  Especially the UNIX functions of MS-DOS can be found in 
GEMDOS, whereas the hardware-specific functions - ofcourse - won't 
be found.
All GEMDOS functions can be supplied with parameters on the  stack 
and  can be called from assembler using the TRAP #1  command.  You 
must  know that D0 and A0 will be changed at any time if  you  use 
GEMDOS functions. The return value will be found in D0, whereas A0 
contains  the pointer to the stack-address on which  the  function 
number is located - most of the time, anyway.
You  can  read  most specific things about  the  GEMDOS  functions 
(detailed  decriptions) can be found in the book "ST Intern"  from 
Data Becker (Merowingestraße 30,  4000 Düsseldorf,  West-Germany). 
The  authors are Klaus Gerits,  Lothar English and Rolf  Brückmann 
(ST Intern,  ISBN 3-89011-119-X, price about DM 80,-), but here we 
have just included a small summary of GEMDOS  functions,  together 
with a very brief description.
Number:     Name:          Brief description:
------------------------------------------------------------------

 00         TERM           Terminate program
 01         CONIN          Get character from console
 02         CONOUT         Output character to screen
 03         AUXILIARY
              INPUT        Get character from RS232
 04         AUXILIARY
              OUTPUT       Send character to RS232
 05         PRINTER OUTPUT Send character to Centronics
 06         RAWCONIO       Get character and send it to screen
 07         DIRECT CON IN
              WITHOUT ECHO Get character from console
 08         CON IN WITHOUT
              ECHO         Get character from console
 09         PRINT LINE     Output several characters to screen
 0A         READLINE       Input several characters from console
 0B         CONSTAT        Check if keyboard buffer is filled
 0E         SETDRV         Define current drive
 10         CONOUT START   Give console status
 11         PRTOUT STAT    Give Centronics status
 12         AUXIN STAT     Check for character availability on
                             RS232
 13         AUXOUT STAT    Check if RS232 is able to send or not
 19         CURRENT DISK   What is the current drive?
 1A         SET DISK
              TRANSFER
              ADDRESS      Set buffer for disk operations
 20         SUPER          Toggle supervisor mode
 2A         GET DATE       Get the system date
 2B         SET DATE       Set the system date
 2C         GET TIME       Get the system time
 2D         SET TIME       Set the system time
 2F         GET DTA        Get buffer for disk operations
 30         GET VERSION
              NUMBER       Get the TOS version number
 31         KEEP PROCESS   Terminate program. Read the exact
                             difference with 01 in ST Intern
 36         GET DISK FREE
              SPACE        Get free space on disk
 39         MKDIR          Create a folder
 3A         RMDIR          Remove (delete) a folder
 3B         CHDIR          Change current directory (folder)
 3C         CREATE         Create file
 3D         OPEN           Open file
 3E         CLOSE          Close file
 3F         READ           Read file
 40         WRITE          Write file
 41         UNLINK         Delete file
 42         LSEEK          Move filepointer
 43         CHMOD          Change mode (file attributes)
 45         DUP            Get handlenumber
 46         FORCE          Manipulate handlenumber
 47         GETDIR         Set current directory
 48         MALLOC         Allocate memory
 49         MFREE          Free memory that was allocated
 4A         SETBLOCK       Allocate specific memory
 4B         EXEC           Load a program
 4C         TERM           Terminate program
 4E         SFIRST         Check for filename
 4F         SNEXT          Check for filename continued
 56         RENAME         Rename a file
 57         GSDTOF         Check date/time

Disclaimer
The text of the articles is identical to the originals like they appeared in old ST NEWS issues. Please take into consideration that the author(s) was (were) a lot younger and less responsible back then. So bad jokes, bad English, youthful arrogance, insults, bravura, over-crediting and tastelessness should be taken with at least a grain of salt. Any contact and/or payment information, as well as deadlines/release dates of any kind should be regarded as outdated. Due to the fact that these pages are not actually contained in an Atari executable here, references to scroll texts, featured demo screens and hidden articles may also be irrelevant.