Periferni zarizeni FD-5 *********************** K mikropocitaci SORD M5 bylo mozne dokoupit pridavne zarizeni FD-5. Toto zarizeni obsahuje oboustranou disketovou mechaniku 3,5 palce, radic INTEL, ktery ji obsluhuje a jednoduchy mikropocitac postaveny na bazi Z80, ktery zastava funkci diskoveho systemu a obstarava komunikaci s pocitacem M5. Propojeni FD-5 a M5 je vyreseno paralelnim stykem ( 8255 ). M5 vysila do FD-5 akcni texty, na ktere mu FD-5 odpovida ( dalo by se to prirovnat k volani sluzeb BDOSu a BIOSu ). S jednotkami FD-5 ( k pocitaci jich muze byt pripojeno az osm ) umi komuniko- vat interpretr jazyka Basic-F a graficky program Paint Designer. Ostatni jazyky k tomu potrebuji specialni ovladace. Basic-F umoznuje zapisovat na FD-5 a cist z FD-5 pomoci prikazu SAVE, VSAVE, OLD, VERIFY, OPEN, PUT a GET. Dale je pak mozne komunikovat s FD-5 primo, pomoci prikazu FX a REG, ktere maji tvar: FX DRAJVR,"TXT",AF,BC,DE,HL,BAFR,DELKA, - do FD-5 BAFR,DELKA,PAMET:PRINT REG(0);REG(1);REG(2);REG(3) - z FD-5 DRAJVR - urcuje jedno z osmi moznych pripojenych zarizeni FD-5 ( 0 az 7 ). TXT - akcni text ( velkymi pismeny ) AF...HL - vysilane registry ( viz nize ) BAFR - adresa vyrovnavaci pameti pro vysilana nebo prijimana data DELKA - delka vysilanych nebo prijimanych dat PAMET - typ pameti, ve ktere je BAFR ( 0=RAM, 1=VRAM ) REG(x) - vracene registry ( 0=AF ... 3=HL ) Poznamka "do FD-5" znamena, ze se definuji data, ktera se vysilaji z M5 do FD-5. Analogicky "z FD-5" znamena, ze se definuji data, ktera se vysilaji z FD-5 do M5. Funkce REG se nevaze jen na registry vyslane z FD-5, ale lze ji pouzivat obecne k zobrazeni registru Z80. FD-5 zna nekolik desitek akcnich textu. U kazdeho akcniho textu jsou uvedeny ocekavane vstupni a vysilane vystupni udaje. Akcni text sestava vzdy ze tri velkych pismen abecedy ( prvni udaj na radce ). Cisla v zavorkach oznacuji delku ( dekadicky ) prenasenych dat. Bafr IDTCHN (63) obsahuje informace o otevrenem souboru. Obsah: atribut souboru (1), jmeno souboru (9), zacatek (2) delka (2) a startovaci adresa (2) programu, rozsirujici atribut (1), "BF" (2), nevyuzito (22), heslo souboru (4), ochrany souboru (1), cislo prvniho bloku souboru (2), 00 (1), delka souboru - pocitadlo (2), 00 (1), delka souboru (2), 00 (1), cislo posledniho bloku (2), 00 (1), offset posledniho bytu v bloku (1), 00 (1), predposledni ukazatel bloku (2), 00 (1) Specialnimi prikazy lze cist obsah pameti, menit obsah pameti a spoustet program v pameti jednotky FD-5. Zadanim registru pri RMM BC=0100H, HL=FD00H se provede odemknuti pameti v FD-5 pro prikazy RMM, WMM a EXM. Pri uzamcene pameti se cte a pise vzdy na adresu 8000H a EXM hlasi Err 130. FD-5 ma kazdou disketu rozlisenu jmenem, ktere zadava uzivatel a deviti bajty, jejichz obsah je obsazen nahodne vygenerovanymi cisly, cimz se zarucuje rozdilnost i stejne pojmenovanych disket. FD-5 dale umoznuje chranit disketu heslem. Neuvedenim spravneho hesla je disketa naprosto nepristupna. Lze chranit take jednotlive skupiny bloku pred ctenim nebo pred zapisem. K tomuto ucelu jsou vyhrazeny dva bajty ( jeden pro cteni, druhy pro zapis ). Bity techto bajtu se vztahuji na ( nasetovane bity jsou aktivni, pro inverzni je tomu naopak ): 0 - systemove bloky 1 - FAT bloky ( inverzne ) 2 - bloky direktorare 3 - bloky urcene pro data ( inverzne ) 4 - bloky rezervovane na konci diskety 5 - nepouzit 6 - vsechny bloky, na nez pak nelze pouzit prikaz CPY 7 - vsechny bloky, na nez pak nelze pouzit prikazy RVI, FNM Rovnez lze chranit jednotlive soubory na diskete. Bajt ochrany souboru je ulozen v direktorari a jeho bity chrani soubor pred: 0 - smazanim a nebo prejmenovanim 1 - ctenim 2 - zapisem 3 - zmenou hlavicky ( prikazy SDR, RDR, WDR ) 4 - nepouzit 5 - nepouzit 6 - nepouzit 7 - zmenou techto ochran ( prikaz ATR ) Basic-F dusledne vypina veskere ochrany a hesla. K jejich zavedeni slouzi specialni podprogram CHATR. Akcni texty =========== WHO - odpoved od FD-5, jake je jednotka FD-5 verze do FD: registry: nic bafr : nic z FD: registry: nemeni bafr (16): "text verze FD-5." FMT - formatovani diskety do FD: registry: B - mechanika, C - skew faktor na prokladani sektoru bafr (7): pocet stop na stranu (2), 00 (1), pocet stran na diskete (1), 00 (1), pocet sektoru na stope (1), 00 (1) z FD: registry: nemeni bafr : nic GEN - inicializace diskety do FD: registry: B - mechanika bafr (128): "M5 BASIC-FFD-5 1.0 1.0 " pocet stop na stranu (2), 00 (1), pocet stran na diskete (1), 00 (1), pocet sektoru na stope (1), 00 (1), pocet bloku na diskete (2), 00 (1), zacatek direktorare (2), 00 (1), konec direktorare (2), 00 (1), pocet hlavicek souboru (2), 00 (1), zacatek FAT (2), 00 (1), konec FAT (2), 00 (1), prvni blok pro data (2), 00 (1), posledni blok pro data (2), 00 (1), prostor pro uschovu puvodniho jmena diskety pri FNM (9), jmeno diskety (9), nahodna cisla identifikujici disketu (9), ochrany skupin bloku diskety pred ctenim (1), ochrany skupin bloku diskety pred zapisem (1), 00 (1), heslo diskety (9), zbytek nevyuzit z FD: registry: nemeni bafr : nic IDV - precteni parametru diskety v mechanice a jeji prijmuti do FD: registry: B - mechanika bafr : nic z FD: registry: nemeni bafr : nic RVI - nacteni boot sektoru z diskety do FD: registry: B - mechanika bafr : nic z FD: registry: nemeni bafr (128): blok dat viz vstupni bafr pro GEN VPR - zadani noveho hesla a ochran skupin bloku diskety do FD: registry: nic bafr (22): mechanika (1), soucasne heslo diskety (9), nove ochrany skupin bloku diskety pred ctenim (1), nove ochrany skupin bloku diskety pred zapisem (1), 00 (1), nove heslo diskety (9) z FD: registry: nemeni bafr : nic FNM - prejmenovani diskety do FD: registry: nic bafr (28): mechanika (1), stare (9) a nove (9) jmeno diskety (9), nova nahodna cisla pro identifikaci diskety (9), z FD: registry: nemeni bafr : nic CPY - kopirovani z diskety na disketu po blocich. Diskety musi mit shodnou kapacitu, delku FAT a direktorare do FD: registry: B - mechanika zdrojove diskety, C - mechanika cilove diskety bafr (18): heslo zdrojove (9) a cilove (9) diskety z FD: registry: nemeni bafr : nic RDB - cteni bloku direktorare do FD: registry: A - mechanika, BC - cislo bloku bafr : nic z FD: registry: nemeni bafr (256): blok direktorare (256) WDB - zapis bloku direktorare do FD: registry: A - mechanika, BC - cislo bloku bafr (256): blok direktorare (256) z FD: registry: nemeni bafr : nic RBL - cteni libovolneho bloku diskety do FD: registry: A - mechanika, BC - cislo bloku bafr : nic z FD: registry: nemeni bafr (256): blok dat (256) WBL - zapis libovolneho bloku diskety do FD: registry: A - mechanika, BC - cislo bloku bafr (256): blok dat (256) z FD: registry: nemeni bafr : nic NAM - prejmenovani souboru do FD: registry: nic bafr (23): mechanika (1), stare jmeno souboru (9), heslo souboru (4), nove jmeno souboru (9) z FD: registry: nemeni bafr : nic OPN - otevreni souboru do FD: registry: A, D - pozadovany pristup, BC - delka zaznamu ( RECORD ) E - cislo kanalu FD-5 bafr (64): mechanika (1), IDTCHN (63) z FD: registry: nemeni bafr : nic RDC - precteni kanalovych informaci do FD: registry: E - cislo kanalu bafr : nic z FD: registry: nemeni bafr (63): IDTCHN (63) CHN - zjisti volny kanal v FD-5 do FD: registry: nic bafr : nic z FD: registry: E - cislo kanalu bafr : nic WBI - zapis bloku dat do souboru do FD: registry: B - delka bloku, E - cislo kanalu, HL - zdrojova adresa dat v M5 bafr (B): blok dat (B) z FD: registry: A - posledni byte, HL - viz do FD zvetseno o zapsane byte bafr : nic RBI - cteni bloku dat ze souboru do FD: registry: B - delka bloku, E - cislo kanalu, HL - cilova adresa dat v M5 bafr : nic z FD: registry: A - posledni byte, HL - viz do FD zvetseno o prectene byte bafr (B): blok dat (B) WTX - zapis bloku textu do souboru do FD: registry: B - delka bloku, E - cislo kanalu, HL - zdrojova adresa dat v M5 bafr (B): blok dat (B) z FD: registry: A - posledni byte, B - zbylo nezapsano, C - bylo zapsano, HL - viz do FD zvetseno o zapsane byte bafr : nic RTX - cteni bloku textu ze souboru do FD: registry: B - delka bloku, E - cislo kanalu, HL - cilova adresa dat v M5 bafr : nic z FD: registry: A - posledni byte, B - zbylo neprecteno, C - bylo nacteno, HL - viz do FD zvetseno o prectene byte bafr (B): blok dat (B) MAP - nastaveni zaznamu ( RECORD ) souboru do FD: registry: BC - cislo zaznamu, E - cislo kanalu bafr : nic z FD: registry: nemeni bafr : nic SAP - preskoceni useku dat do FD: registry: B - pocet vynechanych byte, E - cislo kanalu bafr : nic z FD: registry: nemeni bafr : nic CLS - uzavreni souboru a kanalu v FD-5 do FD: registry: D - =1 uzavreni kanalu, nezarazeni souboru do direktorare, do souboru zapsane bloky nejsou vyrazeny z evidence FAT, E - cislo kanalu bafr : nic z FD: registry: nemeni bafr : nic DEL - smazani souboru do FD: registry: nic bafr (14): mechanika (1), jmeno souboru (9), heslo souboru (4) z FD: registry: nemeni bafr : nic SDR - hledani hlavicky souboru do FD: registry: nic bafr (14): mechanika (1), jmeno souboru (9), heslo souboru (4) z FD: registry: BC - cislo hlavicky bafr (63): IDTCHN (63) RDR - precti hlavicku do FD: registry: BC - cislo hlavicky bafr (5): mechanika (1), heslo souboru (4) z FD: registry: A - =0 neplatna hlavicka, soubor byl smazan bafr (63): IDTCHN (63) WDR - zapis hlavicku do FD: registry: BC - cislo hlavicky bafr (68): mechanika (1), soucasne heslo souboru (4), IDTCHN (63) z FD: registry: nemeni bafr : nic ATR - zmena ochrany souboru do FD: registry: E - novy atribut ochrany bafr (14): mechanika (1), jmeno souboru (9), heslo souboru (4) z FD: registry: nemeni bafr : nic CAP - vraci informace o obsazeni prostoru na diskete do FD: registry: B - mechanika bafr : nic z FD: registry: nemeni bafr (12): pocet bloku vyhrazenych pro data (2), 00 (1), z toho pocet volnych bloku pro data (2), 00 (1), vyhrazeny pocet hlavicek souboru (2), 00 (1), z toho pouzito hlavicek souboru (2), 00 (1) TDA - opakovani poslednich dat do FD: registry: nic bafr : nic z FD: registry: nemeni bafr (??): blok dat (??) TRA - opakovani poslednich registru do FD: registry: nic bafr : nic z FD: registry: posledni registry bafr : nic WMM - zapis bloku dat do vnitrni pameti FD-5 do FD: registry: B - delka bloku, DE - na adresu bafr (B): blok dat (B) z FD: registry: nemeni bafr : nic RMM - cteni bloku dat z vnitrni pameti FD-5 do FD: registry: B - delka bloku, DE - z adresy bafr : nic z FD: registry: nemeni bafr (B): blok dat (B) EXC - spusteni programu ve vnitrni pameti FD-5 do FD: registry: HL - adresa rutiny bafr : nic z FD: registry: odpoved z rutiny bafr : nic DOM - prechod do jineho protokolu komunikace. Procesor Z80 komunikuje s radicem INTEL za pouziti modu sense interrupt, FD-5 komunikuje s vnejsim svetem ( server ) bez pomoci vyse uvedenych akcnich textu, ke komunikaci je pouzit princip paketovych zprav. ====== napsal LZR Soft, datum poslední editace: není známo =====