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. */
int8_t *p_rsv2; /* Reserved */
/* If EmuTOS is present, then 'ETOS' */
} OSHEADER;
The structure also appears under the name SYSHDR.
| os_conf | 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:
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). | ||||||
| p_root | With older TOS versions the address of p_root is 0x56FA
(0x7E0A in spanish TOS).
| ||||||
| p_run |
BASEPAGE **GetRun (void) { int32_t savessp = Super (0L); OSHEADER *O = *((OSHEADER **)(0x4f2L); Super ((void *) savessp ); O = O->os_beg; /* wegen eines Fehlers in alter AHDI-Version */ if (O->os_version < 0x102) { if ((O->os_conf >> 1) == 4) /* PAL-Modus wegshiften */ return ((BASEPAGE **)0x873c); /* Spanish TOS 1.0 */ else return ((BASEPAGE **)0x602c); } else return O->p_run; } |
See also: Kbshift _sysbase System variables System vectors