•  Back 
  •  Date, Time and Timer 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help page 
  •  Show info about hypertext 
  •  View a new file 
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