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