tiskoviny/mikrobaze/cpm

Seriál o CP/M - BetaDisku

Postavte si s námi diskový řadič (1)

Protože CP/M je diskově orientovaný systém, základní a nutnou podmínkou jeho implementace je práce s diskem. Není podstatné, zda jde o floppy, hard či RAM disk nebo jakékoli jiné zařízení simulující činnost disku. Vzhledem k nepříznivému ceovému vývoji pamětí RAM 256K není dnes použítí RAM disku tak výhodné, jako třeba ještě koncem roku 1987- Dnes si za cenu jedné sady pamětí 256K můžete pořídit floppy disketovou jednotku s více než dvojnásobnou kapacitou (škoda jen, že ne u nás).

Přesto je RAM disk 1ákavý - predevšim svou vysokou pracovní rychlostí. Z řady známých konstrukcí RAM disku stačí namátkou připomenout jen Lamačovu nebo Trollerovu verzi pro ZX Spectrum, či Zemčíkovu pro Sharp MZ-800 (zdalipak ji dodá ke zveřejnění v Mikrobázi?). Autorů i konstrukcí je řada. Někdo používá paměti dynamické (nižši cena}, někdo statické (snazší zálohování), někdo řeší RAM disk jako vnější zařizení (menší zásahy do počítače), někdo jako stránkovanou vnitřní pamět (jednouchá konstrukce, často využívaná i u IBM PC).

Konstrukcí s hard disken se zde nebudu zabývat, protože je zatím snad nejméně dostupná (našemu amatérovi jsou hůř dostupné snad už jen optické disky).

Simulátor floppy disku na kartridžích vymyslel J. Lamač a popsal jej v  AR 9/88. K této zajímavé variantě pro ZX Spectrum se na stránkách Mikrobaze ještě vrátíme.

Tak se dostávám k jednotkám pružných disků. Ty si asi nikdo stavět nebude, ale příslušný radič určitě ano. Lze tak soudit podle velkého zájmu o návod na řadič s I0 Intel 8272. Návod s pěkným popisem ovládání řadiče Intel dodávají populární "tři švestky" (666.ZO). Bohužel ti, kteří popsaný řadič zkoušeli, tvrdí, že v dokumentaci jsou chyby a s uvedením do provozu jsou prý problémy. Přes různá optimistická tvrzení jsou potíže i se sháněním I0 8272. Občas se sežene v NDR, jednou ho měla i pražská prodejna Tesly ve Václavské pasáži (jen klid - už ho nemá jí). Jinak se mezi amatéry vyskytují různé konstrukce s I0 firmy Western Digital. Jde o řadu WD (FD, příp. SAB) 17xx a 27xx. Publikováno však zatím bylo asi jen zapojení s WD 2797 v Mikrobázi 2/1989. Zapojení a softwarové ovládání této řady se traduje spíš v ústním podání.

Tuto mezeru by měl zaplnit obsáhlejší materiál, který v několika pokračováních mimo jiné přinese popis zapojení i softwarového ovládání I0 řady 17xx a 27xx, popis uspořádání záznamu na disketě, návod na zhotovení desky řadiče i desky s několika verzemi, různě složitého operačního systému pro ZX Spectrum. Deska řadiče bude univerzálně použitelná i u rady jiných počítačů. Popravdě řečeno, žatím je jasné připojení k ZX Spectru a Sharpu MZ-800. Neexistuje vsak žádný rozumný důvod, pro který by deska nebyla využitelná i u jiných typů počítačů. Tady tak trochu spoléhám na pomoc čtenářů, kteří jistě časem ověří spolupráci tohoto vele jednoduchého řadiče s různými typy počítačů a dájí mi o svých zkušenostech vědět. Ve výhodě jsou májitelé ZX Spectra/ protože (a nechci to skrývat) celé zapojení vychází ze známého řadiče Betadisku, vyráběného anglickou firmou Technology Research pro ZX Spectrum. Betadisk má svůj vlastní (a ne tak špatný) operační systém ve vestavěné pamět i EPROM. Když jsme s J. Lamačem uvažoval i o první verzi CP/M pro Spectrum s floppy diskem, přímo se nabízela možnost využití Betadisku, který už řadu let používám.

Zkrátka nepřijdou ani majitelé Betadisku, protože součástí uveřejňovaných materiálů bude i poměrné podrobný a (jak doufám) úplný a bezchybný návod k obsluze, doplněný zcela novou (pokud vím, dosud nepublikovanou) Částí, která popisuje jednotlivé služby TR-DOSu (tak se použitý operační systém jmenuje). Že má TR-DOS služby, které lze velmi výhodné volat ve strojovém kódu, to výrobce sice nepovazoval za nutné uvádět v návodu, ale dalo se to vytušit z dodávaného systémového programu Disk Doctor. Podrobnosti byly zjištěny až disassemblováním patměti EPROM. Věřím, že takto rozšířený návod k Betadisku si se zájmem přečtou i ti, kteří se teprve rozhodují, zda poříditi či nepořídit. I když je u nás Betadisk celkem rozšířený, informace o jeho schopnostech jsou nedostačující. V rámci rčení "po bitvě je každý generálem" jsem ještě vylepšil některé drobnosti v práci Betadisku.

Pro provoz samotného CP/M stačí jen deska řadiče. Přímé ovládáni WD 1793 napsal.J. Lamač. Je řešeno velmi nekonvenčně a efektivně. Původně bylo psáno pro Sharp MZ-800, ale nic nebrání jeho použití se ZX Spectrem. Podrobný popis nejzajímavějších rutin Lamačova řešení bude uveden v některém z dalších pokračování seriálu.

S Jirkou Lamačem uvažujeme o zcela nové verzi DOSu pro ZX Spectrum, navenek kompatibilního s TR-DOSem, používaným u Betadisku. Pracoval by však efektivněji a rychleji. Jakub Vaněk právě dopisuje zcela novou verzi Disk Doctora, který je velmi mocnou pomůckou při práci s pružnými disky. Mimo jiné dokáže pracovat i s disky ve formátu IBM PC.

Pro svou činnost však potřebuje operační systém TR-DOS.

K zavedeni systému CP/M do Spectra používáme TR-DOS, který po zapnuti automaticky natáhne do paměti libovolný program, zvaný "boot". Pokud někomu stačí jen samotný CP/M, může použit jednoduchou verzi, vybavenou pouze ROMkovým zaváděčem bez vlastního systému. Sharp HZ-800 je ve výhodě-zaváděč má již vestavěný. Ale slibu už bylo dost...

Prvotní informace, včetně seznamu součástek, jste našli na vnitřní straně obálky Mikrobáze č.3 ( zde a  zde), abyste mohli v klidu začít shánět součástky. Dnes připojuji schéma desky řadiče, takže ti, kteři se rozhodli stavět na zkušební desce, mohou se stavbou začít. Pro ostatní zájemce budou v příštích číslech uvedeny i obrazce oboustranných plošných spoji.

Na desce řadiče je vše potřebné k jeho provozu. Na jedné straně je dvacet i pólový konektor pro spojení s deskou operačního systému. Kdo nehodlá stavět druhou desku s vlastním operačním systémem, může příslušné body propojit přímo se sběrnicí počítače, přičemž na vývod 17 (označený EN) zapojí /IORQ a vývod l nechá volný. V tomto nejjednodušším zapojeni je řadič už práceschopný. Pro své účely však blokuje adresové vodiče AS, A6 a A7, přičemž všechny I/O adresy, u kterých je A7 na úrovni H, vyhodnocuje jako ovládací port FFh. To značně omezuje možnost použití dalších periférií. Už proto je vhodnější přistavět ještě druhou desku, na které budou alespoň adresové dekodéry, nejlépe však celý jednoduchý operační systém. Ten pak umožni komunikaci z Basicu a hlavně nabootováni libovolného programu. Deska operačního systému v Betadisku verze 5.xx například dokáže to, že počítač normálně ani nepozná, že je k němu něco připojeno. Obsah paměti ROK se nezmění, všechny porty jsou volné. Ani stínovou paměť ROH nijak nepoznáte. Vše se připojí až po zavolání příslušné stránkovací rutiny, využívají se k tomu adresy, na nichž je uložen generátor znaků. Jak je to prove?deno, to vám bude jistě hned jasné ze schématu desky systému. Ale tu vám ukážu až příště - zatím o tom můžete přemýšlet.

Ještě zpátky k desce řadiče. Druhý konektor této desky je určen k připojení mechaniky floppy disku podle nejrozšířenějšího standardu Shugart. Signál HL (Head Load) se obvykle využívá ke spouštění motoru. Protože valná většina mechanik nemá vyve-den signál READY, je příslušný vývod WD1793 trvale spojen s HLD, jako by mechanika byla připravena vždy. IO2 zajištuje výběr IO5 a ovládacího portu. I04 pracuje jako registr ovládacího portu. Jednotlivé bity ovládacího portu máji následující význam:

bit 7 - nevyužit
bit 6 - /DDEN (H - jednoduchá hustota, L = dvojitá hustota)
bit 5 - nevyužit
bit 4 - /SIDE1 (H=strana O, L = strana 1)
bit 3 - HLT (Head Load Timing; viz popis IO WD17XX a 27XX)
bit 2 - /MR (Master Reset)
bit l a bit O - binární číslo zvolené mechaniky

Při čteni tohoto portu jsou zde vyvedeny signály INTRQ a DRQ z vývodů 39 a 38 řadiče. Ty lze využit při DMA (pro High Density) nebo pro elegantnější programovou obsluhu řadiče. I02 dekóduje zvolenou mechaniku. I07 je využit jako dělič hodinového kmitočtu. I09 a I010 tvoří jednoduchý datový separátor. Funkce zbývajících I0 je na první pohled zřejmá ze schématu zapojeni.

Přestože v zapojení není použit ani jediný nastavovací prvek a někteří z vás jistě postrádají i obvody prekompenzace záznamu/ mohu z vlastní dlouhodobé zkušenosti s používáním továrního výrobku i jeho vlastnoručně zhotovené kopie říci, že vše pracuje velmi spolehlivě i s méně kvalitními disketami z výprodeje.

K detailnímu popisu funkce některých části zapojení se v dalších pokračováních ještě budu vracet. Doufám, že uvedené zapojení pomůže vyřešit problémy s připojením floppy disku nejen majitelům ZX Spectra, ale i uživatelům počítačů jiných značek. Zapojeni, které mám připraveno do příštího čísla, bude sice určeno pouze spectristům, ale věřím, že bude inspirovat i ostatní.

Daniel Meca

(Zdroj: Mikrobaze 05/1989, str.7)

 Pokračováni příště

Stránka byla už zobrazena: 1584 ×

Aktualizováno: 18. 4. 2018, 16:54



     psp-ikona.gif, 2 kB    Text to HTML converter and formatter  builder_ikonka.gif, 3 kB
           
  Best Old Games      kabelmanie.gif, 2 kB  root_ico.gif, 2 kB  český diskmag pro počítače ZX Spectrum a kompatibilní
synapse.gif, 4 kB   TuningPC.cz - Vše pro tuning a casemodding vašeho PC        pspad88x31.gif  delphix.gif, 1 kB
sgatlantis_88x31_3.jpg, 4 kB  atlan.gif, 22 kB  arkon.jpg, 12 kB  ico_abeceda.gif, 888B  blog.idnes.cz   
           
       
 
  torry_logo.gif, 4 kB  

Stránka načtena za 0.00117 sekund.