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"></td><td align=right valign="middle"></td></tr></table><BR> <div><font>Ahoj,</font></div> <div><font></font> </div> <div><font>Mal som na mysli nasledovné:</font></div> <div><font></font> </div> <div><font>Prvý OUT 78h: zápis D0..D7 do záchytného registra.</font></div> <div><font>Druhý OUT 78h: obsah záchytného registra do HDD (D0..D7) plus D0..D7 do HDD (D8..D15).</font></div> <div><font></font> </div> <div><font>A tak dalej striedavo... Podobne pri vstupe:</font></div> <div><font></font> </div> <div><font>Prvý IN 78h: D0..D7 z HDD do D0..D7 na MZ, D8..D15 z HDD do záchytného registra.</font></div> <div><font>Druhý IN 78h: čítanie D0..D7 zo záchytného registra.</font></div> <div><font></font> </div> <div><font>Iný sled resp. náväznosť bajtov neprichádza do úvahy (kvôli rýchlosti a kompatibilite s PC).</font></div> <div><font></font> </div> <div><font>V podstate ide o pridanie deličky jedna ku dvom na dekodér adresy 78h, ktorá by striedavo prepínala medzi HDD a záchytným registrom. To nemôže byť predsa až tak zložité, v žiadnom prípade netreba GAL či dokonca 8052!</font></div> <div><font></font> </div> <div><font>Marek.</font></div> <div><font></font> </div> <div><font>P.S. pokiaľ ide o filesystém FAT, už sa na ňom pracuje... ;-)</font></div> <div>----- Original Message ----- </div> <div><b>From:</b> <a href="mailto:sharpemu@pandora.cz)">Petr Žydek (sharpemu@pandora.cz)</a> </div> <div><b>To:</b> <a href="mailto:sharpemu@pandora.cz">Konference Počítač SHARP MZ-800 a emulátory</a> </div> <div><b>Sent:</b> Monday, May 26, 2003 10:33 AM</div> <div><b>Subject:</b> 2. service packec pro MZ-IDE 16bit</div> <div><br/></div> <p> </p><p><br/>Tak tu máme service packec č. 2.<br/>K aktivitě mě inspirovala reakce Marka<br/>Šmihly na zveřejněný návrh 16bitového<br/>rozhraní HDD pro Sharpa. Sice jsem se<br/>nepokoušel počítat, jak se liší doba<br/>přenosu jednoho 512ti bajtového sektoru<br/>přes běžné I/O instrukce se současnou<br/>manipulací se všemi potřebnými registry<br/>A, BC, HL oproti použití repetičních<br/>instrukcí INIR, OTIR, ale přesto jsem zkusil<br/>podumat nad jinou alternativou...</p> <p><br/>Co je třeba dodržet, docílit:<br/>-potřebujeme 16ti bitový přenos dat, aby<br/> byla využita celá kapacita HDD<br/>-možnost přenosu dat z/na porty<br/> repetičními I/O instrukcemi<br/>-možnost použít funkci autodetekce<br/> parametrů disku<br/>-zařízení by mělo být kompatibilní<br/> s původní 8bitovou verzí<br/>-obvodové řešení musí být co možná<br/> nejjednodušší, malý počet IC snižuje cenu,<br/> šetří místo v případě vývoje kombo desek<br/>-v případě manipulace se signálem disku<br/> /sels se nabízí možnost obsluhy dvou<br/> HDD, tedy princip master/slave jako u PC<br/>-pokud by byla akceptována možnost provozu<br/> dvou HDD, pak se jasně nabízí možnost<br/> využití souborových systémů FAT(32), tím<br/> nemyslím přímé začlenění do CP/M, slave<br/> disk by sloužil jako přenosný element<br/> Sharp <-> PC. Konverzi souborových<br/> systémů a vlastních dat může provádět<br/> aplikační program pod CP/M typu<br/> file-manažer; stejně tak CP/Movsky<br/> nahraný disk by byl čitelný pro<br/> aplikační program v PC, ten by ho<br/> přečetl celý raz dva</p> <p>Jak to tedy vyřešit:</p> <p>Tahhle nějak vypadá zápis 512ti bajtového<br/>sektoru na MZ-IDE 8bit (odhaduju):</p> <p>xxx ; nastav příslušné hodnoty<br/>xxx ; do registru stopy,<br/>xxx ; sektoru atd.<br/>LD HL, "odkud" ; adresa dat v paměti<br/>LD B,00h ; 256 bajtů dat<br/>LD C,78h ; adresa datového portu HDD<br/>OTIR*** ; přenese B bajtů na port<br/> ; 78h od adresy v HL <br/>OTIR ; ještě jednou totéž</p> <p>Doufám, že jsem se nespletl, už jsem si<br/>dlouho v asm Z80 nehrál, je-li pravda, že<br/>po instrukci *** B=00h, HL="odkud"+256 a C<br/>se nemění, pak se vykoná přenos jako dvě<br/>256tice I/O cyklů po sobě pomocí instrukcí<br/>OTIR (???)</p> <p>U PC bych si představil něco podobného, jen<br/>registry jsou víceslovné (to je výraz!) a<br/>datová sběrnice je 16ti bitová, takže se<br/>přenese jedním "OTIRem" (dejme tomu) jediná<br/>256tice najednou, protože je široká 16 bitů<br/>a ne 8.</p> <p>Pokud by měl na tomto místě fungovat nějaký<br/>obvodový supervizor, který by datový tok<br/>na port 78h střídavě přepínal tak, abychom<br/>docílili připravenosti 16ti bitů dat každé<br/>dva I/O zápisy a pak by se provedl jeden<br/>vybavovací zápis do HDD, připomíná mi to<br/>křižovatku se semafory kde se po každém<br/>projetém autě mění volný směr jízdy.</p> <p>Můj návrh zní: využít toho, že se v každém<br/>případě přenáší 256 bajtů 2x po sobě, navíc<br/>obsah registru B sám inkrementuje a posílá<br/>se na A8-A15 adresové sběrnice Sharpa!!!<br/>Obvodové řešení by vycházelo z mého<br/>původního návrhu 16ti bitového rozhraní tj.:<br/> 1x 74LS245<br/> 1x 27xxx<br/> 1-2 další 74LS241, 245 (podle výsledku)<br/> 1x SRAM 6116 2kB</p> <p>Příklad zápisu:<br/>LD HL,"odkud" ; adresa dat v paměti<br/>LD B,00h ; 256 bajtů dat<br/>LD C,77h ; adresa pomocného bufferu<br/>OTIR ; naplní se pomocný 256ti<br/> ; bajtový buffer (Statická RAM)<br/>LD C,78h ; adresa datového portu HDD<br/>OTIR ; přenos 256ti bajtů na<br/> ; D0-D7 HDD, synchronně a<br/> ; "skrytě" se také přenáší<br/> ; obsah bufferu na D8-D15 HDD</p> <p>-čtení by probíhalo obdobným způsobem<br/>-rutina s příkladem přenosu je o jedinou<br/> instrukci delší<br/>-je třeba vyřešit správnou návaznost a<br/> kontinuitu dat (záležitost OS), neboť<br/> u PC je při 16ti bitovém přenosu sled dat<br/> následující (pokud se pletu, tak prosím<br/> nenadávat):<br/> <br/>0. bajt na D0-D7 ; 1. 16ti bitový zápis<br/>1. bajt na D8-D15</p> <p>2. bajt na D0-D7 ; 2. 16ti bitový zápis<br/>3. bajt na D8-D15</p> <p> .<br/> .<br/> .<br/> .<br/>511. bajt na D0-D7 ; 256. 16ti bitový zápis<br/>512. bajt na D8=D15</p> <p> a tady se posílá jedna 256ka dat, fik ho,<br/> druhá 256ka, hotovo<br/>-je-li toto velký problém, pak zůstává ve<br/> hře původní verze 16ti bitového rozhraní,<br/> jednodušší Hw řešení nedovedu vymyslet</p> <p><br/>V průběhu týdne možná opravím výkres a<br/>upřesním význam portů a počet IC.</p> <p>Petr de Zviqov 26.5. 2003 0:55hod<br/></p><pre></pre> <p>-- <br/><b>Máte problémy s mobilem? <a href="http://mobil.cz/ad_campaign.html?client=poradna">Zkuste poradnu na Mobil.cz!</a></b></p>