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>Popis MZ-IDE 16bit:</B></td><td align=right valign="middle"></td></tr></table><BR><p><br/>Rozhraní IDE 16bit odpovídá přesně konvencím návrhu Zdeňka Adlera na<br/><a href="http://www.mz-800.aktualne.cz">http://www.mz-800.aktualne.cz</a><br/>Původní návrh počítá s ovládáním disku přes I/O porty 78h-7F. Jediný z nich (78h)<br/>je určen pro vlastní přenosy dat a využívá při tom v ideálním případě 16 datových<br/>vodičů. Adresace zařízení je však neúplná, v podstatě se testuje jen 7. adresový<br/>bit, chip select disku je aktivní při jakékoliv I/O instrukci v rozsahu adres<br/>00h-7Fh. To je jednoduché (a tedy geniální) pro jednoúčelovou desku. Náhrada<br/>logického obvodu 74LS10 jiným, např. 74LS138 (varianta Marek Šmihla) tento<br/>nedostatek řeší, jen je třeba vhodně obsadit příslušné vstupní adresní a selekční<br/>vývody tak, aby to "vyšlo jak potřebuju". I tak je ale adresace zařízení neúplná,<br/>3 vstupy A, B, C tvoří 3bitový kód, který se projeví jako log. LOW na jednom<br/>z výstupů, pokud jsou na třech selekčních vstupech hodnoty LOW, LOW, HIGH.<br/>Pokud chceme přesně selektovat celý I/O prostor, potřebujeme minimálně 11 vstupních<br/>pinů (AD0-AD7, /IORQ, /RD, /WR). Tomu vyhoví jen dva dekodéry 74LS138 v kaskádě<br/>nebo pameť EPROM minimálně 2716 2kB. Ta je však dnes špatně dostupná, vyžaduje<br/>programování s Upp=25V, domácí programátory s Upp 12V a 21V s ní nepočítají. Proto<br/>je rozumné minimum EPROM 2732 4kB. Má 12 vstupních pinů A0-A11 a 8 datových výstupů<br/>D0-D7, z nichž každý může být chip selektem pro různé obvody řadiče(ů). Je-li<br/>argumentem rozměrnost součástky (s dvěma 74LS138 myslím srovnatelná), dnes existují<br/>varianty ve čtvercovém pouzdře PLCC 32 SMD, jsou k nim i patice! Univerzální<br/>je EPROM 27(C)64 8kB, existuje varianta 28C64 EEPROM PLCC a snad i PEROM s Upp=5V<br/>29C64 (pokud neexistuje, vyhoví 29C256 32kB).</p> <p>Výhody:<br/>-13 vstupních vodičů pokrývá celý I/O prostor<br/> (lze zahrnout i /WR, /RD, /IORQ)<br/>-8 datových výstupů pro selekci obvodů<br/> (rezerva je nutná pro kombo desky FD-HD, FD-RD, HD-RD!!!)<br/>-obvod v patici lze vyměnit<br/>-pokud "česká I-netová normalizační skupina" změní definici I/O adres<br/> je náprava snadno realizovatelná záměnou EPROM s jiným obsahem, řešení<br/> s dekodéry 74LS138 by znamenalo nový návrh a stavbu desky<br/> (pro čtení dat z D8-D15 HDD jsem zvolil z množiny 70h-77h)<br/>-cena nové paměti: sranda oproti mým poststudentským letům 90-94<br/>-Epromek jsou všude mraky: faxy, tiskárny, PC komponenty (všechno z vyřazených dílů)<br/> 2732: karty Hercules/MDA, CGA<br/> 2764: XT BIOS<br/> 27128: karta EGA, LAN-ISA<br/> 27256, 27512: karta VGA, AT BIOSy, tiskárny, faxy<br/> 28C64 PLCC32: GES, GM electronic<br/> 29C256 PLCC32: -----||----------<br/> 29C512 PLCC32: modemy, CD-ROMky, HD Seagate např. 1.7GB<br/>-ramdisk s DRAM, autoinkrementem a dvojí adresací E9h-EBh a F8h-FAh vyžaduje pro<br/> selekci jednotlivých funkcí i /MREQ a /M1, pak je 2764 8kB minimum a nejefektnější<br/> řešení(?)<br/>-definitivní verzi obsahu paměti lze publikovat, pokud by nějaká ta kombo deska<br/> byla úspěšná (chodí to výborně, ale (ne)seje to!!!) a došlo by na nějakou<br/> (ne)výdělečnou malosériovku jako u adaptéru IDE-->Compact Flash, bylo by to sqjelé!<br/>-návrh desky jsem měl hotov dříve, než jsem začal dumat o obsahu EPROM-dekodéru<br/> (Je ještě jedno "dokonalé řešení", tím je použití MCU řady 8052 s programem<br/> v EEPROM, má 4 brány a byl by ideální jako transparetní obvod pro všechny I/O<br/> adresy HDD kromě datové 78h, zde by plnil funkci převodníku dvoubajtového přenosu<br/> z MZ-800 na 16ti bitová data pro HDD a naopak. Ale kdo by se s tím programoval,<br/> bylo by to ve spánku, na WC, i při "sdílení se" s přítelkyní? Tak to je sousto<br/> jen pro silné pgm. fanatiky.)<br/>-už mě nic nenapadá</p> <p>Popis rozhraní IDE 16bit</p> <p><br/> Obvod 74LS245 lze aplikovat i na MZ-IDE Zdeňka Adlera, propouští obousměrně data<br/>(D0-D7) na dolních 8bitů konektoru IDE. Nutný pro externí disky 3.5" a 2.5", které<br/>nejsou napájeny z počítače, již jsem četl o kolapsu počítače zapnutém dříve než<br/>externí HDD. Pro interní (MZ-800 napájené) 2.5" HDD není zapotřebí a ušetří se tím<br/>jeden obvod, to neplatí pro univerzální zapojení na desku s plošnými spoji<br/>(včetně kombo desek) a s možností připojení externího 3.5" HDD. Má ho každá AT<br/>deska 286-Pentium, nový není drahý.</p> <p><br/>Obvod EPROM 27xxx slouží jako adresový dekodér k selekci jednotlivých obvodů<br/>MZ-IDE 16bit. Volné datové výstupy jsou rezervovány pro FD, resp. RD, pokud budou<br/>na jedné desce. Pro In/Out 78-7F uvede Q0 do log. LOW, pro In 78h uvede Q1 do<br/>log. LOW, pro In 77h uvede Q2 do log. LOW. Dostupnost: viz sloupek o pamětech</p> <p>Poznámka: adresu portu 77h jsem navrhl já</p> <p><br/>Obvod 74LS541 je osmibitový jednosměrný neinvertující zesilovač+Schmitt trigger.<br/>Jeho úkolem je dopravit vyšší datový bajt z počítače do HDD:<br/> LD B, "vyšší bajt" ; vyšší bajt vystoupí na AD8-AD15<br/> LD C,78h ; adresa datového portu HDD<br/> LD A, "nižší bajt" ; nižší bajt vystoupí na D0-D7<br/> OUT (C),A ; LS245 propustí nižší bajt, LS541 vyšší bajt</p> <p>Poznámka: bohužel nelze použít instrukce OUTI, OTIR atd. - používají reg. B jako čítač;<br/> jednou I/O instrukcí se provede 16bitový přenos dat</p> <p>Obvod 74LS574 je 8bitový registr řízený hranou CLK. Má dvě funkce - zachytí vyšší<br/>datový bajt při čtení z HDD a následně vybaví zachycený obsah do počítače:<br/> IN (78h),A ; obvodem LS245 vstoupí nižší bajt na D0-D7 <br/> ; LS574 zachytí vyšší bajt z HDD<br/> .<br/> .<br/> .<br/> IN (77h),A ; obvodem LS574 vstoupí zachycený vyšší bajt z HDD na D0-D7</p> <p>Poznámka: pokud nesouhlasí časování při "zachytávání", snad pomůže 74LS573<br/> s invertorem (tr. BC237) na vstupu LE (zde CLK); při selekci LS574 je<br/> na pinu CLK log. LOW a náběžná hrana CLK při ukončování instrukce<br/> strobuje data do registru, LS573 je při log. LOW na pinu LE pasivní,<br/> po změně na HIGH propouští data ze vstupů na výstupy a sestupnou hranou<br/> LE zachytí data do registru<br/> uvidíme co prototyp</p> <p>Petr de Zviqov</p>