Dohoda o používání komunikačních služeb v síti FELAN Tuto dohodu přijímají Tesla Elstroj (Jan Mercl) a VS ČVUT FEL (Ing. Martin Bílý). --------------------------------------------------------------------- Změny: 17. května 1989 V BIOS DATA AREA je vyhraženo 7 bytů pro adaptér sítě od adresy 0000:04A1. FELAN ROM běhěm ROM SCANu ohlásí svoji přítomnost do adresy 0000:04A7, t.j. do posledního z těchto bytů nastavením bitu 7. Do zbývajících bitů se přenese stav přepínačů 0 až 6, t.j. adresa adaptéru a povolení NET BOOT. Tento údaj využívá BIOS který nehlásí nepřítomnost disketového adaptéru, pokud je v systému ZNET s povolením NET BOOT. Pokud ZNET v systému není je všech 7 bytů nulových. Zbylé byty zůstávají vyhraženy pro NETBIOS. --------------------------------------------------------------------- V paměti RAM je od adresy CD00:0000 umístěna zóna parametrů pro spolupráci osobního počítače s komunikačním adaptérem. Je-li v počítači zasunut druhý komunikační adaptér, jeho zóna parametrů leží od adresy CE00:0000. V zóně parametrů je uloženo: +0 Stav konfiguračních přepínačů adaptéru. Přepínače nula až pět se používají k nastavení síťové adresy (čísla) komunikačního adaptéru. Přepínač šest odpovídá propojce W1 u IBM. Nastavení šestého přepínače způsobí, že při inicializaci (zapnutí) si PC vyžádá zavedení operačního systému z počítače poskytujícího službu Boot Server. Přepínačem číslo sedm se nastavuje lokální číslo adaptéru, obvykle nula. Jsou-li v počítači zasunuty dva adaptéry, rozlišují se tímto přepínačem. +1 Číslo tohoto adaptéru. Při inicializaci se sem zapíše šestibitová adresa nastavená na přepínačích. PC má právo toto číslo měnit a tak přijímat zprávy určené i jiným počítačům. +2 Čítač kolizí. Je-li při vysílání detekována kolize, čítač se inkrementuje. PC má právo hodnotu čítače měnit. +3 Čítač chybných paketů. Je-li přijat chybný paket (CRC error apod.), čítač se inkrementuje. PC má právo hodnotu čítače měnit. +4 Tx semafor. Má-li PC připravenu zprávu k vyslání, nastaví semafor na kladnou hodnotu. Úspěšné vyslání zprávy (včetně přijetí případně vyžádaného potvrzení) je indikováno nastavením semaforu na nulu a přerušením IRQ 2. Pokud vyžádané potvrzení nepřijde do časového limitu, je semafor adaptérem nastaven na 0FFH a vyžádáno přerušení IRQ 2. Dojde-li při vysílání ke kolizi, pokus vyslat zprávu se opakuje až po testu hodnoty semaforu. Vynulováním semaforu tedy může PC zrušit dlouho trvající neúspěšné pokusy vyslání zprávy. Hodnota 80H indikuje odmítnutí rámce pro chybný formát. Hodnota 0FEH znamená odeslání rámce a čekání na potvrzení. +5, +6 Délka zprávy v bytech. +7 až +606 Text vysílané zprávy (buffer). +607 Rx1 semafor. Nulová hodnota semaforu povoluje příjem zpráv. Při příjmu zprávy je do semaforu uložena nenulová hodnota a provede se přerušení IRQ 2, tedy přerušení číslo 0AH. Chce-li PC přijmout další zprávu, musí semafor vynulovat. +608,+609 Délka přijaté zprávy v bytech. +610 až +1209 Buffer pro příjem zpráv. +1210,+1211 Vyhrazeno pro adaptér. +1212 Rx2 semafor, ... atd. jako od Rx1. Zde začíná druhá oblast pro příjem zpráv. +1817 POST informace. Po resetu adaptéru probíhá test ZNETu. Dokud se v POST neobjeví 'OK' nesmí PC nic dělat se sdílenou pamětí. Po resetu a hlášení POST OK je v TX_BUF ASCIIZ řetězec verze ZROM. Pokud se v POST objeví 'ER', není adaptér funkční a v TX_BUF může být ASCIIZ text chybové zprávy. Dokud je v POST nedefinovaná hodnota, nelze nic dělat. +1819 až +2047 Data adaptéru. PC sem NIKDY nesmí zapisovat. Z velikostí bufferů vyplývá, že lze přenášet zprávy dlouhé nejvýše 600 bytů. Pro příjem zpráv se používá některá z momentálně volných dvou přijímacích oblastí. Formát předávaných zpráv +0 Adresa příjemce. Adresa 0FFH má význam zprávy pro všechny. +1 Žádost o potvrzení (při <> 0) +2 Adresa odesilatele. +3 až +6 Rezerva, samé nuly. +7, +8 Délka zprávy počínaje bytem +0 +9 Typ zprávy. +10 Data - dle konkrétního typu zprávy Potvrzování zpráv Je-li ve vysílané zprávě nastaven příznak žádosti o potvrzení na nenulovou hodnotu, pak programové vybavení adaptéru příjemce potvrdí přijetí zprávy jejímu odesilateli. Potvrzení se odešle okamžitě, aby jiné počítače nestačily obsadit linku. Potvrzovací zpráva kromě neob- sahuje data t.j. končí bytem + 9 a její typ je 0FFH. Typy zpráv Pro zavedení operačního systému jsou předdefinovány zprávy typu 0 a 1. Další zprávy zavádí VS ČVUT FEL dle své potřeby. Zpráva typu 0 - Pošli Boot blok Zpráva je určena pro všechny počítače, vysílá ji počítač při inicializaci (zapnutí) tehdy, je-li v komunikačním adaptéru nastaven přepínač č. 6. Zpráva má tento obsah: +0 0FFH +1 0 bez potvrzení +2 Odesilatel +3 až +6 Nuly +7, +8 10 +9 0 Zpráva typu 1 - Posílám Boot blok Tuto zprávu vysílá počítač poskytující službu Boot Server jako odpověď na zprávu typu nula. Obsah zprávy: +0 Žadatel, převzato z bytu +2 zprávy typu 0 +1 0 bez potvrzení +2 Adresa odesilatele - Boot Serveru +3 až +6 Nuly +7, +8 522 +9 1 +10 až +521 Obsah Boot bloku Obsah Boot bloku je uložen na adresu 0000:7C00H a na tuto adresu je předáno řízení. Tato zpráva slouží pro potvrzení rámce. +0 Adresa stanice, které se potvrzuje příjem +1 0 bez potvrzení +2 Adresa odesilatele +3 až +6 Nuly +7, +8 10 +9 0FFH Tyto komunikační služby zůstanou dostupné i po dokončení NET-BIOSu kompatibilního s IBM.