Surová data tak, jak byla v roce 2013 stažena z Pandory (HTML zdroj bez úprav, osobní e-mailové adresy jsou maskované).
<!-------------------------------------------------------------->
<table width="100%"><tr><td align="left" valign="middle"><B>Snad poslední návrh 16ti bitového IDE + shrnutí:</B></td><td align=right valign="middle"></td></tr></table><BR><p><br/>Než jsem stačil dotvořit schéma s novou<br/>variantou řadiče, byl tu další námět...</p> <p>Cíl: aby můj "OTI(R)able" řadič uměl nikoliv<br/>princip "nabufferovat 256 bajtů určených pro<br/>odesílání přes data HI s následným odbavením<br/>při odesílání 256ti bajtů na data LO", nýbrž<br/>princip "0. bajt do bufferu; 1.bajt do data<br/>LO a zároveň buffer do data HI; 2. bajt do<br/>bufferu; 3. bajt do data LO a zároveň buffer<br/>do data HI......</p> <p>Heuréka! Ono vlastně vyhovuje zapojení s LS245<br/>a statickou pamětí 6116!!! Neprve tedy popis<br/>řadiče 2x 256 bajtů nestřídaných:<br/>Místo obvodů LS541 a LS573 (LS574) jsem použil<br/>obousměrný třístavový zesilovač LS245 a paměť<br/>6116 2Kx8 (je na starých kartách MDA/Hercules,<br/>vadí-li rozměry pouzdra DIP24-WIDE, existuje<br/>varianta SMD, resp. paměť Winbond 2465<br/>DIP28-úzká 8Kx8 z cache aplikací pro PC desky),<br/>dostupnost paměti(í) je velká (viz výše),<br/>nadbytečné adresové vodiče >A7 se musí připojit<br/>na LOW.</p> <p>Příklad zápisu:<br/>do B nulu (256 bajtů přenést), do HL adresu<br/>dat v paměti, do C 77h (adresa bufferu-statické<br/>paměti), první OTIR, do C 78h, druhý OTIR.<br/>To je to, co mi vytýkáte-posloupnost dat<br/>z paměti a sektor na HDD není totéž, pokud ho<br/>procházíme bajt po bajtu. Pro zpětné čtení to<br/>nevadí (obdobný princip). Jde jen o ztíženou<br/>spolupráci při dvou discích, SharpWritten+PC disk.<br/>To je programátorská práce navíc, uznávám.</p> <p>Teď popis fukce HW (zápis):<br/>Při OUT 77h se otvírá "menší" LS245 (ve schematu)<br/>ve směru Sharp->IDE, D8-D15 HDD je ve stavu HI-Z<br/>(data tam neprojdou, nekolidují) a paměť 6116<br/>se otevře pro zápis 256ti bajtů, adresu do<br/>6116ky dodává registr B na A8-A15 (automaticky<br/>se mění během vykonávání OTIRu, i když<br/>s podivným pořadím 00h, FFh, FEh ... 01h).<br/>Při OUT 78h je "menší" LS245 uzavřen a data na<br/>D8-D15 HDD dodává 6116ka otevřená pro čtení,<br/>její adresu dodává opět reg. B na A8-A15.</p> <p>Čtení je obdobné, nejprve při I/Oad. 78h vstoupí<br/>prvním INIRem dolní 256tice bajtů dat a zároveň<br/>jde horní 256tice do 6116, odtud se odbaví <br/>druhým INIRem s I/O adr. 77h<br/>Komplikované, ale obvodově nenáročné a umí INIR,<br/>OTIR.</p> <p><br/>Celé toto zapojení stačí lehce modifikovat,<br/>abychom dosáhli efektu "střídání bajtů".<br/>Ať odesíláme dva bajty (jedna 16tice) nebo<br/>512bajtů-celý sektor (256 16tic), vždy jde o<br/>sudý počet! Pak ovšem můžeme A8 Sharpa přidat<br/>mezi adresní vstupy na Eprom-dekodéru a je<br/>hotovo.<br/>Přiklad:<br/>Do B 02h, do C 78h, do HL adresu dat v paměti,<br/>OUTI.<br/>Hodnota B je sudá --> selekční výstupy z Eprom<br/>uvedou /SELP do HIGH (deselekt HDD a D0-D15 ve<br/>stavu HI-Z, jakkoliv se jedná o OUT 78h!)<br/>menší LS245 se otevře a 6116ka přijme bajt<br/>z D0-D7.<br/>OUTI.<br/>První I/O instrukce zapsala do B 01h, lichá<br/>hodnota dovolí zapsat bajt na D0-D7 HDD, zároveň<br/>6116ka pošle zachycený bajt na D8-D15 HDD, menší<br/>LS245 je uzavřen.<br/>Po provedení druhé OUTI je B rovno nule a zápis<br/>končí.<br/>Pro 512 bajtů dat (odeslat 256 16tic) se naplní<br/>B 00h a následuje např. 2x OTIR.<br/>Sudost/lichost registru B sama indikuje povahu<br/>odesílaného bajtu, zda je určen k zachycení pro<br/>následné odeslání na D8-D15 nebo je určen přímo<br/>na D0-D7.<br/>Vadí nám ovšem tanec na A0-A7 6116ky. V režimu<br/>"střídání bajtů" potřebujeme jen adresu 00h této<br/>paměti, řešit to lze kontaktním polem jumperů,<br/>které by odpojily A0-A7 paměti od A8-A15 Sharpa<br/>a stáhly by vstupní adresu na 00h.<br/>Je to sice humpolácké, ale šikovné aspoň na<br/>výrobu prototypu, než se rozhodne, která varianta<br/>řadiče uspěje.<br/>Proto předkládám poslední (snad) variantu:<br/>dvojice 6116ka+LS245 se dá nahradit obvodem<br/>LS646 (LS543)!!!!!!! Thank's to Jiří Roleček.<br/>Jedná se o obvod LS245, který má "na každém<br/>konci registr". Selekční vývody z Eprom-dekodéru<br/>se přivedou na ovládací vývody tohoto IC a máme<br/>to doma!!! Je to definitivní řešení???</p> <p><br/>Raději si to sesumarizujeme:</p> <p>1a) řadič Zdeněk Adler - s LS10<br/> (+) jeden IC, láce, není nutná výroba desky<br/> (-) neúplná I/O adresace, jen 8 bitový přenos</p> <p>1b) řadič Marek Šmihla - s LS138<br/> (+) jeden IC, láce, není nutná výroba desky<br/> (+) úplná I/O adresace<br/> (-) jen 8 bitový přenos</p> <p>2) Žydkoidní řadič I. generace - s LS245, 27xxx,<br/> LS541, LS573 (574) <br/> (+) relativně malý počet IC<br/> (+) 8 i 16ti bitový přenos<br/> (+) úplná adresace<br/> (-) neumí repetiční I/O instrukce<br/> (-) nižší rychlost přenosu</p> <p>3) 2) Žydkoidní řadič II. generace - s 2x LS245,<br/> 27xxx, 6116 (W2465)<br/> (+) relativně malý počet IC<br/> (+) 8 i 16ti bitový přenos<br/> (+) úplná adresace<br/> (+) umí repetiční I/O instrukce<br/> (+) rychlost srovnatelná s 8 bitovým přenosem<br/> (-) špatný datový "slovosled"</p> <p>4) 2) Žydkoidní řadič III. generace - s 2x LS245,<br/> 27xxx, 6116 (W2465)<br/> používá 6116ku jako registr<br/> (+) relativně malý počet IC<br/> (+) 8 i 16ti bitový přenos<br/> (+) úplná adresace<br/> (+) umí repetiční I/O instrukce<br/> (+) rychlost srovnatelná s 8 bitovým přenosem<br/> (+) správný datový "slovosled"<br/> (-) nutnost (možná) modifikovat Eprom oproti<br/> variantě 3), degradace 6116ky na registr,<br/> nutno použít pole jumperů na adrese<br/> do 6116 (vhodné pro desku s režimy 3, 4<br/> a výrobu prototypu, jinak humpolácké)<br/> nebo musí být adresa do 6116ky trvale<br/> na 00h (nelze kombinovat režim 3,4)</p> <p>5) 2) Žydkoidní řadič IV. generace - s LS245,<br/> 27xxx, LS646 (543)<br/> (+) relativně malý počet IC (3!!!)<br/> (+) 8 i 16ti bitový přenos<br/> (+) úplná adresace<br/> (+) umí repetiční I/O instrukce<br/> (+) rychlost srovnatelná s 8 bitovým přenosem<br/> (+) správný datový "slovosled"<br/> (+) 8 bitový přenos při lichém obsahu B<br/> a použití IN/OUT (C),A<br/> (-) neumí režim "2x přenos 256ky bajtů za sebou"<br/> (to asi lidem vadit nebude), jen režim<br/> "střídání"<br/> (-) IC LS646 (543) nutno koupit, ve starých PC<br/> komponentech nebývá (ve variantách 3,4 se<br/> dají ze starých komponentů získat všechny<br/> obvody)<br/> (-) nelze použít I/O instrukce s přímou adresou:<br/> OUT (78h),A a IN A,(78h)<br/> snad se dají oželet</p> <p>Teď babo raď, co je nejvýhodnější...</p> <p>Petr de Zviqov<br/></p>