•  Back 
  •  Datum, Uhrzeit und Zeitgeber 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help page 
  •  Show info about hypertext 
  •  View a new file 
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