Topic : TOS - das Betriebssystem Author : Version : tos.hyp (5. März 2013) Subject : Programmieren/Atari Nodes : 3001 Index Size : 93602 HCP-Version : 5 Compiled on : Atari @charset : atarist @lang : @default : Titel @help : @options : +g -i -s +x +zz -t4 @width : 70 View Ref-File4.9.5 Die Belegung des NVM der Echtzeit-Uhr TOS Die Echtzeit-Uhr im Atari-TT und Falcon030 verfügt über 50 Bytes nichtflüchtiges RAM, welches von Programmen zu Konfigurationszwecken benutzt werden kann. Es gilt folgende Belegung: 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 Bootpräferenz: 0x00 = keine Präferenz 0x08 = MagiC 0x10 = Linux 0x20 = NetBSD 0x40 = UNIX wird gebootet 0x80 = TOS wird gebootet language Landessprache: 0 = Englisch 1 = Deutsch 2 = Französisch 3 = reserviert 4 = Spanisch 5 = Italienisch keyboard Layout der Tastatur: 0 = USA 1 = Deutschland 2 = Frankreich 3 = England 4 = Spanien 5 = Italien 6 = Schweden 7 = (französische) Schweiz 8 = (deutsche) Schweiz datetime Formatierung des Datum: Bit 0..3 0 = Format "MM-DD-YY" (Monat, Tag, Jahr) 1 = Format "DD-MM-YY" (Tag, Monat, Jahr) 2 = Format "YY-MM-DD" (Jahr, Monat, Tag) 3 = Format "YY-DD-MM" (Jahr, Tag, Monat) Bit 4..7 0 = 12-Stunden Darstellung 1 = 24-Stunden Darstellung separator ASCII-Wert des Zeichens, das als Trenner für die Datumsangaben dienen soll. bootdelay Bootverzögerung vmode Videomode scsi Bit 0..2 SCSI-ID (0-7) Bit 3..6 0, reserviert Bit 7 Flag für Bus-Arbitration. Es gilt: 0 = Arbitration ein 1 = Arbitration aus Alle weiteren Bytes sind z.Zt. nicht dokumentiert. Wie man sieht, läßt sich insbesondere die SCSI-ID von TT oder Falcon über das NVM festlegen. Beim Milan hat das NVM eine größe von 224 Bytes. Die folgende Struktur gilt nur für TOS 4.08 (2003-03-09) und 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 Querverweis: NVMaccess XHDI-Spezifikation