•  Back 
  •  XHDI - eXtended HardDisk Interface (Version 1.30) 
  •  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-File16.8.3  Arbitration                                                TOS

Für Gerätetreiber, die den SCSI-Bus arbitrierend betreiben wollen, muß 
für den Rechner eine eigene Gerätekennung vergeben werden. Diese 
sollte natürlich einheitlich und nicht auf der Festplatte gespeichert 
sein. Atari hat dafür Byte 16 im NVM des Atari TT und Falcon 
reserviert. Die Bitbelegung ist:

 Bit 0..2:  Gerätenummer
 Bit 7:     Arbitration an (1) oder aus (0)

Die Abfrage der Gerätenummer könnte zum Beispiel wie folgt geschehen:

WORD arbitration_id (VOID)
{
   LONG ret = EINVFN;
   UBYTE nvmdata = 0;
   OSHEADER *Sys;
   LONG oldstack = Super(0L);
   Sys = *_sysbase;
   Super((VOID *)oldstack);

   host_id = -1;   /* no arbitration by default */

   if (Sys->os_version >= 0x300)
      ret = NVMaccess (0, 16, (WORD) sizeof (nvmdata), &nvmdata);

   if (ret == E_OK && (nvmdata & 0x80))
      host_id = nvmdata & 7;

   return host_id;
}

Querverweis: XHDI-Spezifikation   SCSI-Spezifikation   GEMDOS   BIOS