•  Back 
  •  VDI 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  %About 
  •  Show info about hypertext 
  •  View a new file 
Topic       : The ATARI Compendium
Author      : Scott Sanders / JAY Software
Version     : 1.25 (20/6/2003)
Subject     : Documentation
Nodes       : 1117
Index Size  : 32614
HCP-Version : 6
Compiled on : Atari
@charset    : UTF-8
@lang       : en
@default    : 
@help       : %About
@options    : +g -i -t4 +y +z
@width      : 100
View Ref-Filegdosfaq.hyp/Main

                                    GDOS


The Graphics Device Operating System (GDOS) is a disk-based component of
the operating system which allows disk-loadable device drivers and
additional fonts to be accessible through standard VDI calls.

Several versions of Atari GDOS have been released in addition to several
third-party GDOS 'clones'.  All of these forms have stayed
backward-compatible with GDOS 1.0, however it is recommended that programs
be written to support newer GDOS calls when it can be determined that
a more recent release of GDOS is present.

Each VDI call documented in the VDI Function Reference specifies if GDOS
is required, and if so, what type.

Determining the Version of GDOS Present

A non-standard VDI call is available to check for the presence of GDOS.
The following machine-code subroutine will return a longword result in
d0 which can be used to determine the variety of GDOS present. Beware of
older bindings which looked only for the original GDOS and returned
a 1 or 0 as a result.

                  .text
        _vq_gdos:
                  move.l   #-2,d0
                  trap     #2
                  rts

                  .end

The longword return value in d0 can be interpreted as follows:

      Name            Value       Meaning

      GDOS_NONE        -2         No GDOS is installed.

         --      Any other value  Original GDOS 1.x is installed.

      GDOS_FNT      0x5F464E54    FONTGDOS is installed.
                      '_FNT'

      GDOS_FSM      0x5F46534D    FSM-GDOS or SpeedoGDOS is installed.
                      '_FSM'      For information on determining the
                                  specific variety of outline GDOS
                                  available, see the description of
                                  the 'FSMC' cookie in Chapter 3: BIOS

FSM-GDOS vs. SpeedoGDOS

Since FSMGDOS (a QMS/Imagen outline font-based GDOS) was never officially
released from Atari (though shipped in limited quantity with third-party
products), some changes have been made to calls in SpeedoGDOS that were
never exploited by developers. For that reason, these calls will only be
documented in the Speedo-compatible way in the VDI Function Reference.
This does mean, however, that use of these calls will cause your
application to fail under the original FSMGDOS.

The calls which were affected are v_getoutline(), v_getbitmap_info(),
v_killoutline(), and vqt_get_table(). In addition, use of the new
SpeedoGDOS calls vst_charmap(), vqt_trackkern(), vqt_pairkern(),
vqt_fontheader(), vst_kern(), or any of the older calls when used with the
fix31 data type will fail with the older FSM.

To determine the type of outline-font GDOS installed, look for the 'FSMC'
cookie. The cookie value is a pointer to a longword which contains the
character string '_FSM' for Imagen-based FSMGDOS or '_SPD' for
Speedo-based FSMGDOS.


GDOS 1.x
FONTGDOS
FSM-GDOS
SpeedoGDOS


VDI GDOS Function Reference