Home XHDI - eXtended HardDisk Interface (Version 1.30)XHDI - eXtended HardDisk Interface (Version 1.30) XHDI-TerminologieXHDI-Terminologie Empfohlene PartitiontypenEmpfohlene Partitiontypen

H.3 Arbitration

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


Home XHDI - eXtended HardDisk Interface (Version 1.30)XHDI - eXtended HardDisk Interface (Version 1.30) XHDI-TerminologieXHDI-Terminologie Empfohlene PartitiontypenEmpfohlene Partitiontypen