typedef struct { int32_t magic; /* Has to be 0x87654321 */ void *membot; /* End of the AES variables */ void *aes_start; /* Start address */ int32_t magic2; /* Is 'MAGX' or 'KAOS' */ int32_t date; /* Creation date */ void (*chgres)(int16_t res, int16_t txt); /* Change resolution */ int32_t (**shel_vector)(void); /* Resident desktop */ int8_t *aes_bootdrv; /* Booting will be from here */ int16_t *vdi_device; /* Driver used by AES */ void *reservd1; /* Reserved */ void *reservd2; /* Reserved */ void *reservd3; /* Reserved */ int16_t version; /* Version (0x0201 is V2.1) */ int16_t release; /* 0=alpha..3=release */ } AESVARS;
Note: These variables are READ-ONLY!
The first three variables are also present under TOS, and can be obtained there from the operating system header. The vdi_device component is superfluous as of MagiC 2.0 as one gets the device number in a MultiTOS-compatible way with appl_getinfo (opcode 2). The routine for changing the resolution (chgres) expects in register d2 an optional Falcon-mode (as int16_t).
See also: MagiC's cookie DOMagixAESVars