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-File4.9.5 Assignment of the real-time clock's NVM TOS The real-time clock in the Atari TT030 and Falcon030 has available 50 bytes of non-volatile memory that can be used by programs for configuration purposes. The following assignments apply: typedef struct { unsigned int bootpref; char reserved[4]; unsigned char language; unsigned char keyboard; unsigned char datetime; char separator; unsigned char bootdelay; char reserved2[3]; unsigned int vmode; unsigned char scsi; } NVM; bootpref Boot preference: 0x00 = No preference 0x08 = MagiC 0x10 = Linux 0x20 = NetBSD 0x40 = UNIX will be booted 0x80 = TOS wird gebootet language Language: 0 = English 1 = German 2 = French 3 = Reserved 4 = Spanish 5 = Italian keyboard Keyboard layout: 0 = USA 1 = German 2 = French 3 = British 4 = Spanish 5 = Italian 6 = Swedish 7 = (French) Swiss 8 = (German) Swiss datetime Formatting of the date: Bit 0..3 0 = Format "MM-DD-YY" (Month, Day, Year) 1 = Format "DD-MM-YY" (Day, Month, Year) 2 = Format "YY-MM-DD" (Year, Month, Day) 3 = Format "YY-DD-MM" (Year, Day, Month) Bit 4..7 0 = 12-hour clock display 1 = 24-hour clock display separator ASCII-value of the character that is to act as the separator for the date. bootdelay Bootverzögerung vmode Booting delay scsi Bit 0..2 SCSI-ID (0-7) Bit 3..6 0, reserved Bit 7 Flag for bus-arbitration. The following apply: 0 = Arbitration on 1 = Arbitration off All further bytes are not documented at present. As one can see, it is possible, in particular, to specify the SCSI ID of a TT030 or Falcon030 via the NVM. In a Milan the NVM has a size of 224 bytes. The following structure applies only for TOS 4.08 (2003-03-09) and Bootblock 1.02! typedef struct { unsigned int bootpref; char reserved[4]; unsigned char language; unsigned char keyboard; unsigned char datetime; char separator; unsigned char bootdelay; unsigned char ide_drives; unsigned char scsi_drives; char reserved2; unsigned int vmode; unsigned char scsi; char reserved3[31]; unsigned char memory; char INT1_2; char INT3_4; char reserved4[173]; } NVM_Milan; memory Bit 0..1 0 = 16MB ST-RAM 1 = 4MB ST-RAM 2 = 2MB ST-RAM Bit 2 ROMPORT emulation See also: NVMaccess XHDI specification