•  Back 
  •  Type definitions 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help page 
  •  Show info about hypertext 
  •  View a new file 
Topic       : TOS - The Operating System
Author      : 
Version     : tos.hyp (December 19, 2008)
Subject     : Programmieren/Atari
Nodes       : 3010
Index Size  : 93790
HCP-Version : 5
Compiled on : Atari
@charset    : atarist
@lang       : 
@default    : Title
@help       : 
@options    : +g -i -s +x +zz -t4
@width      : 70
View Ref-File14.9.14  OSHEADER                                                  TOS

typedef struct _osheader
{
    uint16_t    os_entry;       /* BRAnch instruction to Reset-handler  */
    uint16_t    os_version;     /* TOS version number                   */
    void       *reseth;         /* Pointer to Reset-handler             */
    struct _osheader *os_beg;   /* Base address of the operating system */
    void       *os_end;         /* First byte not used by the OS        */
    int32_t     os_rsvl;        /* Reserved                             */
    GEM_MUPB   *os_magic;       /* GEM memory-usage parameter block     */
    int32_t     os_date;        /* TOS date (English !) in BCD format   */
    uint16_t    os_conf;        /* Various configuration bits           */
    uint16_t    os_dosdate;     /* TOS date in GEMDOS format           */

    /* The following components are available only as of TOS Version
       1.02 (Blitter-TOS)               */
    int8_t    **p_root;         /* Base address of the GEMDOS pool      */
    int8_t    **pkbshift;       /* Pointer to BIOS Kbshift variable     */
                                   (for TOS 1.00 see Kbshift)           */
    BASEPAGE  **p_run;          /* Address of the variables containing  */
                                   a pointer to the current @GEMDOS     */
                                   process.                             */
                                   With older TOS versions the address  */
                                   of p_run is 0x602C.                  */
    int8_t     *p_rsv2;         /* Reserved                             */

    /* Only available with EmuTOS */
    int8_t      name[4];        /* Always 'ETOS', if EmuTOS present     */
} OSHEADER;

The structure also appears under the name SYSHDR.

Note: The component os_conf contains the so-called NTSC/PAL flag in 
its lowest bit; if this bit is set, then the machine has a PAL video 
system, if cleared NTSC. The remaining bits contain a country 
identifier, which can serve to denote the language used for menus etc. 
for instance. The folowing assignments apply:

 Value  Country 
 
   0    USA 
   1    Germany 
   2    France 
   3    England 
   4    Spain 
   5    Italy 
   6    Sweden 
   7    French Schweiz 
   8    German Schweiz 
   9    Turkey 
  10    Finnland 
  11    Norway 
  12    Denmark 
  13    Saudi Araba 
  14    Holland 
  15    CSR 
  16    Hungary 

Warning: To obtain the language in use, one should fall back not to 
the OSHEADER if possible, but use the _AKP cookie or the function 
appl_getinfo (opcode 3).

See Also: Kbshift   _sysbase   System variables   System vectors