Paměťová zařízení používaná u osmibitových počítačů v současnosti (dokončení)

1. 6. 2010
Doba čtení: 21 minut

Sdílet

V dnešní části seriálu o architekturách počítačů dokončíme popis paměťových zařízení, která používají majitelé domácích osmibitových mikropočítačů v současnosti. Nejprve si ukážeme další vlastnosti jednotky MB-02 a posléze se budeme věnovat zařízení DivIDE určenému pro použití s počítači ZX Spectrum či s jeho klony.

Obsah

1. Jednotka MB-02 a její moduly

2. Formát disket podporovaný jednotkou MB-01 a MB-02

3. Základní vlastnosti souborového systému MB-02

4. Alokační tabulka souborů

5. Operační systém BS-DOS pro jednotky MB-01 a MB-02 a emulace kazetového magnetofonu

6. Zařízení DivIDE

7. Systémy FATware a DEMFIR

8. Obsah následující části seriálu

9. Odkazy na Internetu

1. Jednotka MB-02 a její moduly

V předchozí části seriálu o architekturách počítačů jsme si mj. řekli i základní informace o jednotkách MB-01 a MB-02, které byly vyvinuty Robertem Letkem (MDV) a Slavem Lábským (Busy) pro použití spolu s osmibitovými domácími mikropočítači ZX Spectrum a samozřejmě i s počítači, jenž byly se Spectrem kompatibilní (Didaktik Gama, Didaktik M atd.). Víme již, že jednotka MB-01 i její vylepšená verze MB-02 je v podstatě multifunkční zařízení, které obsahuje několik modulů. Ústředním prvkem je čip WD2797 určený pro řízení disketových mechanik s využitím modulace FM i MFM, automatickým generováním a verifikací šestnáctibitového kontrolního součtu (CRC), volitelnou velikostí bloků (128, 256, 512 či 1024 bajtů, což je, jak uvidíme dále, důležitá vlastnost) a proměnnou frekvencí hodinového signálu, díky němuž bylo možné využívat i diskety HD (high density). Kromě čipu WD2797 obsahuje jednotka MB-02 i hodiny reálného času realizované čipem RTC 74241, který má i vlastní zabudovaný krystal.

Obrázek 1: Datarekordéry, jako je například toto paměťové zařízení zabudované v počítači Sinclair ZX Spectrum +2, se sice na začátku éry osmibitových domácích počítačů těšily poměrně velké oblibě, ale od zhruba druhé poloviny osmdesátých let minulého století je patrný postupný odklon směrem k použití disketových jednotek, jejichž cena se, ostatně podobně jako cena médií – disket, postupně snižovala.

Dalším čipem, který můžeme v jednotce MB-02 najít, je známý čip 8255 se třemi konfigurovatelnými vstupně-výstupními osmibitovými branami, které mj. umožnily další rozšiřování počtu periferních zařízení připojitelných k počítači. Aby bylo možné zajistit požadovaný datový tok při čtení i zápisu dat na disketu typu HD, byla jednotka MB-02 vybavena i koprocesorem Z80-DMA, který zajišťoval blokové přenosy dat. Díky tomu, že zdroj a cíl blokového přesunu byl konfigurovatelný, bylo možné tento čip využít například i v různých demech (viz například známé DMA demo), scrollovacích hrách, přehrávání videa a podobně. Nedílnou součástí MB-02 je i paměť RAM s kapacitou 128 kB až 512 kB, která je z hlediska mikroprocesoru rozdělena na bloky (banky) o velikosti 16 kB. Libovolný z těchto banků mohl být namapován do adresového prostoru mikroprocesoru na adresy 0×0000 až 0×3fff, tj. do prostoru standardně obsazeného pamětí ROM obsahující operační systém počítače, interpret jazyka BASIC a různé užitečné rutiny (počítání v systému plovoucí řádové čárky atd.).

Obrázek 2: Disketová jednotka Didaktik 40 z ČSSR používající paměťová média (diskety) o velikosti 5 1/4 palce. Tato jednotka má s MB-01 a MB-02 společné například to, že pro řízení disketové mechaniky taktéž využívá čip WD2797.

Díky již zmíněnému mapování vybraných banků externí paměti na začátek adresního prostoru mikroprocesoru Z80 bylo navíc možné velmi snadno použít upravenou verzi ROM – postačilo ji načíst do některého banku externí paměti RAM a následně namapovat tuto oblast paměti na již zmíněné adresy 0×0000 až 0×3fff. Zajímavé a velmi užitečné bylo to, že paměť nainstalovaná v jednotce MB-02 byla při vypnutí síťového zdroje napájena z baterie, takže se její obsah při výpadku sítě neztratil, což je například při jejím užití jako ramdisku velmi užitečná vlastnost. Ovšem samotné hardwarové řešení jednotek MB-01 i MB-02 představovalo jen polovinu jejího úspěchu. Stejně důležitý (a zpočátku možná i mnohem důležitější) byl i způsob záznamu dat na diskety, tj. struktura souborového systému, a taktéž dostupnost vhodného programového vybavení, které by dokázalo všechny možnosti jednotky v co největší míře využít. Právě tímto tématem se budeme zabývat v následujících kapitolách.

Obrázek 3: I některé typy počítačů Amstrad-Schneider, například zde vyfotografovaný osmibitový „osobní“ počítač CPC-464, používaly datarekordér zabudovaný přímo do jejich skříně, což se však z dlouhodobějšího hlediska ukázalo jako slepý směr vývoje.

2. Formát disket podporovaný jednotkou MB-01 a MB-02

Pro disketové jednotky MB-01 a MB-02 byl navržen poměrně unikátní formát disket, který se v několika ohledech odlišuje od formátů používaných jinými disketovými jednotkami používanými na počítačích ZX Spectrum a jejich klonech. Formát využívaný u jednotek MB-01 a MB-02 (každá z těchto jednotek má formát poněkud odlišný, i když základ je v obou případech shodný) je velmi promyšlený, především s ohledem na praktické používání a vcelku bez problémů překonává například i možnosti formátu FAT používaného původně v operačním systému MS-DOS a nyní podporovaného v prakticky všech operačních systémech, digitálních fotoaparátech, digitálních hudebních přehrávačích atd. (výrobci těchto zařízení neomylně zvolili z technického hlediska nejhorší možný formát). Není bez zajímavosti, že formát záznamu použitý u MB-01 a MB-02 umožňoval práci s adresáři (což zdaleka nebylo na osmibitových počítačích běžné) nebo s atributy souborů, pomocí nichž bylo například možné zpracovávat obrazy magnetofonových záznamů atd.

Obrázek 4: Obrazovka ovládacího programu pro jednotku MB-02.

Souborový systém jednotek MB-01 i MB-02 taktéž obsahuje takzvaný zálohovací sektor, který umožňuje obnovení dat i v případě, že při zápisu dojde k pádu systému či vypnutí elektřiny. Tento zálohovací sektor je v podstatě jednoduchým předchůdcem dnešních žurnálů, protože jakýkoli zápis do sektoru obsahujícího záznam o adresáři je nejdříve „nanečisto“ proveden do zálohovacího sektoru a teprve poté do sektoru správného. V případě výpadku elektřiny nebyl zápis buď vůbec proveden (souborový systém se tedy nezničil, i když uživatel přišel o poslední prováděnou operaci), nebo byl proveden do zálohovacího sektoru (souborový systém lze poměrně snadno opravit), popř. se zápis provedl jak do sektoru zálohovacího, tak i sektoru, kam měl být zápis skutečně proveden (souborový systém je tedy v pořádku).

Obrázek 5: Úvodní obrazovka operačního systému BS-DOS určeného pro MB-01 a MB-02.

V předchozích odstavcích jsme si řekli, že formát souborů použitý u jednotek MB-01 a MB-02 je orientován na praktické využití. Zde je jeden názorný příklad: poměrně velké množství disket nemůže být naformátováno pro systém FAT firmy Microsoft z toho prostého důvodu, že se na nulté stopě nachází vadné sektory. Příčin tohoto často se vyskytujícího jevu je více – na tuto stopu se poměrně často přesouvá kombinovaná čtecí/zápisová hlava neboť je zde umístěna alokační tabulka souborů, do níž se provádí zápis při zvětšení, zmenšení, smazání či naopak vytvoření každého souboru či adresáře (navíc je umístění alokační jednotky na začátek diskety nepraktické z hlediska čtecí i zápisové rychlosti, protože hlava se musí při každém jejím čtení a zápisu přesunout průměrně o větší počet stop, než kdyby byla alokační tabulka souborů umístěna na prostřední stopě či rozprostřena po celém disku).

Druhou příčinou poměrně častých chyb při formátování sektorů ležících na nulté stopě disket může být znečištění disketové jednotky, především šnekového mechanismu posunu hlavy. Pokud je šnek znečištěn (což je časté, protože je pokryt vrstvičkou maziva), tato nečistota se při posunech hlavy přenáší na jeho začátek a konec, takže se především u starších mechanik může stát, že se nepodaří naformátovat nultá a poslední (většinou 39 či 79) stopa, protože nad ni hlava nemůže kvůli nečistotám přesně najet. Zatímco chyby na poslední stopě (stopách) nejsou tak závažné, nenaformátovatelná nultá stopa znamená v případě formátu FAT firmy Microsoft nemožnost použití této diskety.

Ovšem u formátů MB-01 a MB-02 postačuje, aby se na nulté stopě nacházely pouze dva libovolné sektory, které je možné naformátovat, takže pravděpodobnost, že v jiných systémech nepoužitelnou disketu bude možné použít pro potřeby MB-01 a MB-02, je poměrně velká, což samozřejmě byla vítaná vlastnost v dobách, kdy cena jedné diskety přesahovala 20 Kčs (když si navíc člověk uvědomí, kolik disket bylo vyhozeno majiteli PCček pouze kvůli jedinému vadnému sektoru…).

Obrázek 6: Bubnová paměť je předchůdcem jak dnešních pevných disků, tak i disket.

3. Základní vlastnosti souborového systému MB-02

Jednotky MB-01 a MB-02 mohou pracovat s různými typy disket – od oboustranných (mini)disket s průměrem 5 1/4 palce a dvojitou hustotou záznamu (DD – double density) až po taktéž oboustranné 3 1/2 palcové mikrodiskety s vysokou hustotou záznamu (HD – high density). I když jsou kapacity běžných disket menší než cca 1,8 MB, je systém souborů navržený tak, aby bylo možné pracovat s disketami majícími kapacitu až 4 MB u jednotky MB-01 a 16 MB u jednotky MB-02 (maximální kapacita disket je omezena počtem sektorů, které lze adresovat v alokační tabulce souborů – viz vysvětlující text v následující kapitole). Na rozdíl od systému FAT používanému v operačním systému MS-DOSu je u jednotek MB-01 a MB-02 využita velikost sektoru 1024 bajtů a taktéž počet sektorů na jedné stopě je od standardního MS-DOS formátu odlišný (počet stop však ne, což souvisí s podobnou konstrukcí mechanismu posunu čtecí/zápisové hlavy po povrchu diskety). V následující tabulce jsou vypsány typické kapacity disket využitelných v jednotkách MB-01 a MB-02:

Typ média (diskety) 5 1/4 3 1/2, 5 1/4 3 1/2
Počet stran 2 (DS) 2 (DS) 2 (DS)
Hustota DD DD HD
Počet stop 40 80 80
Počet sektorů/stopu 5 5 11
Sektorů celkem 400 800 1760
Velikost sektoru 1024 1024 1024
Kapacita diskety 400 kB 800 kB 1760 kB
Alokační tabulka 1 sektor 2 sektory 4 sektory

Pro porovnání možností různých formátů disket používaných na počítačích ZX Spectrum si připomeňme, že například systém MDOS využívaný mj. i u disketových jednotek D40 a D80 vyráběných v bývalé ČSSR, pracoval s disketami se 40 či 80 stopami, přičemž na každé stopě se standardně nacházelo 9 sektorů. Vzhledem k tomu, že velikost jednoho sektoru byla u tohoto systému/souborového formátu rovna 512 bajtům, dosahovala kapacita celé oboustranné diskety po naformátování hodnot 512×40×9×2=360 kB popř. 512×80×9×2­=720 kB. Ovšem kromě tohoto standardního formátu bylo možné zvětšit počet sektorů na stopě na deset a počet využitelných stop o cca dvě až tři, takže se celková kapacita diskety mohla (i když s určitým rizikem ztráty dat pokud nebyla použita disketa dovolující použití vysoké hustoty záznamu) zvýšit na cca 410 kB (41 stop) popř. na přibližně 820 kB (81 až 82 stop).

Obrázek 7: Disketová mechanika pro diskety o průměru 5 1/4 palce určená pro počítače IBM PC a kompatibilní.

Výše popsaný formát se taktéž odlišuje od standardního formátu disket používaného v operačním systému MS-DOS, v němž se u disket s velkou hustotou záznamu (HD) na jednu stopu ukládalo 18 sektorů, ovšem každý sektor měl při použití standardního formátu velikost 512 bajtů oproti 1024 bajtům u jednotek MB-01 i MB-02. To znamená, že celkový počet bajtů uložitelných na jednu stopu (a tím pádem po přepočtu i na celou disketu) byl u běžného formátu MS-DOS poněkud menší než u formátu MB-01/MB-02 (poznámka: čip Intel 8272 popř. NEC PD765 zabudovaný do disketových jednotek osobních počítačů kompatibilních s IBM PC dokázal kromě 512 bajtových sektorů pracovat i se sektory délky 128, 256 a 1024 bajtů, čehož se však v praxi příliš často nevyužívalo). V MS-DOSu existovaly ovšem i nestandardní formáty disket, které na běžnou 3 1/2 palcovou disketu s vysokou hustotou záznamu dokázaly uložit až 2 MB dat, samozřejmě opět s poněkud zvýšeným rizikem ztráty dat, zejména při jejich načítání v jiné disketové mechanice než v té, která provedla jejich zápis.

Obrázek 8: Disketová mechanika pro diskety o průměru 3 1/2 palce umožňující práci s disketami typu HD (vysoká hustota záznamu), které mohou pojmout až 2 MB dat.

4. Alokační tabulka souborů

Formát disket využívaný jednotkami MB-01 a MB-02 používal při ukládání informací o souborech i adresářích takzvanou „alokační tabulku souborů“ neboli FAT – File Allocation Table, jejíž struktura se však v některých ohledech lišila od FAT, kterou známe z operačních systémů MS-DOS. Alokační tabulka souborů obsahovala v případě formátu použitého u jednotek MB-01 i MB-02 informace o obsahu a významu jednotlivých sektorů uložených na disketě, včetně vzájemné návaznosti jednotlivých sektorů, v nichž byl uložen nějaký soubor (v MS-DOSu je situace poněkud odlišná, protože v něm jsou sektory sdružovány do takzvaných clusterů a FAT obsahovala informace o clusterech, nikoli jednotlivých sektorech). Každý sektor byl v alokační tabulce představován dvoubajtovou hodnotou, jejíž význam však byl u jednotky MB-01 poněkud odlišný než u jednotky MB-02.

Celkový počet sektorů na disketě určoval, jak obsáhlá musí být FAT, jejíž délka z tohoto důvodu kolísala podle typu diskety mezi jedním sektorem pro diskety se 40 stopami a pěti sektory na stopě až čtyřmi sektory pro diskety se stopami osmdesáti a jedenácti sektory na stopě. U jednotky MB-01 je struktura výše zmíněné dvoubajtové hodnoty vyhrazené v alokační tabulce souborů pro každý sektor následující:

Bit(y) Význam
15 stav sektoru: 0=platný, 1=smazaný
14 význam bitů 0–11: 0=index dalšího sektoru (průběžný sektor), 1=počet obsazených bajtů (koncový sektor)
12–13 typ sektoru:0=normální, 1=systémový, 2=chybný, 3=konec FAT
0–11 index dalšího sektoru popř. počet obsazených bajtů

U jednotky MB-02 je formát dvoubajtových hodnot uložených v alokační tabulce souborů poněkud odlišný, protože některé informace byly přesunuty do struktury adresářů:

Bit(y) Význam
15 stav sektoru: 0=volný, 1=využitý (obsazený)
14 význam bitů 0–13: 0=počet obsazených bajtů (koncový sektor), 1=index dalšího sektoru (průběžný sektor)
0–13 index dalšího sektoru popř. počet obsazených bajtů

I přes nepatrné rozdíly mezi oběma strukturami alokačních tabulek je jejich základní funkce shodná – soubory jsou v nich představovány sekvencí sektorů, které však nemusí ležet za sebou, což umožňuje zvětšování či zmenšování velikosti souborů bez nutnosti provádění časově náročné defragmentace disket (některé systémy souborů pro osmibitové počítače tuto funkcionalitu kupodivu vůbec neobsahovaly, takže celý soubor musel být uložen v jedné nepřerušené sekvenci sektorů). Sekvence sektorů je představována jejich indexy uloženými v bitech 0 až 11 (MB-01) či 0 až 13 (MB-02). Poslední sektor souboru nemusí být plně obsazený, takže v tomto případě jsou indexové bity využity pro uložení počtu skutečně obsazených bajtů v tomto sektoru (rozhodnutí, zda se jedná o průběžný sektor souboru či sektor poslední, je prováděno na základě hodnoty bitu číslo 14). Vzhledem k tomu, že počet indexů sektorů je v případě jednotky MB-01 omezen na hodnotu 212 a v případě jednotky MB-02 na hodnotu 214, je těmito limity určena i maximální velikost diskety, resp. maximální velikost souborového systému, na 4 MB resp. 16 MB, což je však pro potřeby ZX Spectra více než dostačující kapacita (alespoň v případě, že se Z80-DMA nepoužívá pro přehrávání videa).

5. Operační systém BS-DOS pro jednotky MB-01 a MB-02 a emulace kazetového magnetofonu

Pro ovládání jednotek MB-01 a MB-02 byl vyvinut velmi zajímavý operační systém nazvaný BS-DOS, jehož základní vlastnosti si stručně popíšeme v této kapitole. Operační systém BS-DOS je navržen modulárně, takže v případě potřeby je možné jeho funkcionalitu změnit poměrně snadno výměnou či úpravou některého z jeho modulů. Tyto moduly jsou čtyři. Základem je upravená paměť ROM, která nahrazuje originální ROM o velikosti 16kB nainstalovanou přímo v počítači. Upravená ROM obsahuje některé nové rutiny, umožňující například emulaci funkcí magnetofonu (viz další odstavce) atd. Náhrada původní ROM novým (či lépe řečeno upraveným) obsahem je poměrně snadná, neboť je zde využita již zmíněná vlastnost jednotek MB – mapování vybraného banku externí operační paměti do prvních 16 kB adresovatelného prostoru mikroprocesoru Z80, v němž leží i původní ROM. Určitou nevýhodou tohoto řešení může být to, že některé programy, které očekávají existenci původních ROM, nemusí pracovat korektně (je ovšem velká pravděpodobnost, že tyto programy nebudou korektně pracovat ani na mnoha klonech původního ZX Spectra).

pc108

Obrázek 9: Zadní část počítače Didaktik M s vyvedenou sběrnicí, konektory pro připojení joysticků (oproti ZX Spectru novinka), magnetofonu, napájecího zdroje i výstupem na televizor.

Dalším modulem systému BS-DOS je takzvaný ROM BIOS, což jsou poměrně krátké strojové rutiny, jejichž úkolem je přepínání paměťových bank a volání podprogramů, které se mohou nacházet v jiných oblastech externí paměti. Pokud by došlo k úpravám architektury externí paměti jednotky MB-01/02, postačuje upravit pouze tento modul bez zásahu do dalších částí operačního systému. Třetí modul, jenž je dlouhý přibližně půl kilobajtu, obsahuje kód pro komunikaci s vlastními disketovými mechanikami, přesněji řečeno s řadičem disketových mechanik WD2797. Opět platí to, že když se změní například řadič disketových mechanik, nebo jsou disketové mechaniky nahrazeny paměťovou kartou atd., postačuje změnit pouze tento modul aniž by to ovlivnilo zbytek operačního systému. Posledním modulem je poměrně velké jádro zabezpečující další „vyšší“ funkce operačního systému, například obsluhu vyrovnávací paměti zrychlující práci s disketou, kompatibilitu s kazetovým magnetofonem (viz další odstavec), rozhraní pro jazyk BASIC atd.

Jednou ze zajímavých vlastností systému BS-DOS je i to, že dokázal emulovat prakticky všechny funkce magnetofonu. To bylo velmi důležité, protože bylo možné začít používat (bez nutnosti větších úprav) obrovské množství programového vybavení, které pro počítače ZX Spectrum již vzniklo či vznikalo. Emulace funkcí magnetofonu byla realizována změnou standardních strojových rutin volaných například z interpretru programovacího jazyka BASIC při zpracovávání příkazů LOAD, SAVE, VERIFY nebo MERGE, popř. přímo z uživatelských programů. Podpora pro emulaci funkcí magnetofonu se skládá ze dvou částí – změny vlastních strojových rutin pro čtení/zápis dat (musí se tedy použít, jak jsme si již řekli, „hacknutá“ ROM) ale také rozšířením funkcí vlastního systému BS-DOS tak, aby se na disketu mohla data ukládat takovým způsobem, aby odpovídala obrazu těchto dat na magnetofonové pásce, tj. včetně zaváděcích hlaviček, kontrolních součtů atd.

6. Zařízení DivIDE

I další zařízení, které si v dnešní části seriálu o architekturách počítačů popíšeme, je určeno pro ukládání dat využívaných domácími osmibitovými počítači ZX Spectrum a jejich klony, samozřejmě včetně československých mikropočítačů Didaktik Gama či Didaktik M. Jedná se o zařízení nazvané DivIDE, které je primárně určeno pro připojení pevných disků či optických mechanik CD-ROM s rozhraním IDEZX Spectru, ovšem lze ho použít i spolu s paměťovými kartami Compact Flash (zapojenými přes konvertor), což je mnohem elegantnější varianta. Na rozdíl od již popsaných jednotek MB-01 a MB-02 vzniklých ještě v dobách poměrně masivního používání osmibitových mikropočítačů, je zařízení DivIDE novější, což mj. znamenalo i posun od použití dnes již poněkud zastaralých disket směrem k modernějším technologiím.

Obrázek 10: Prototyp zařízení DivIDE.

Zařízení DivIDE, obsahuje několik důležitých částí. Základem je řadič paměťových zařízení (pevných disků, CD-ROM atd.) vybavených rozhraním IDE, paměť EEPROM o kapacitě 8 kB, která obsahuje potřebný firmware (dnes existuje několik jeho různých variant) a statická operační paměť (SRAM) o kapacitě 32 kB, která je mj. využívána firmwarem. Navíc DivIDE obsahuje tlačítko, po jehož stlačení je generováno nemaskovatelné přerušení (NMI – non-maskable interrupt) vyvolávající obslužnou rutinu pro výběr souborů obsaženou ve firmware. Zajímavý je způsob práce s oběma typy pamětí, které se na DivIDE nachází. Paměť SRAM je rozdělena do banků, jejichž velikost je 8 kB. Vždy jeden vybraný bank může být spolu s pamětí EEPROM (8 kB) mapován do paměťového prostoru procesoru na adresy 0×000 až 0×3fff, tj. do oblasti, v níž se běžně nachází originální ROM počítače. EEPROM je v tomto případě mapována na adresy 0×000 až 0×1fff, vybraný bank paměti SRAM na adresy 0×2000 až 0×3fff. Díky tomuto uspořádání je možné s upravenou ROM emulovat funkce kazetového magnetofonu (podobně jako u jednotek MB-01/02), emulovat funkce BetaDisku, rozšiřovat možnosti interpretru jazyka BASIC atd.

Obrázek 11: Pohled na zařízení DivIDE. Vlevo můžeme vidět konektor určený pro připojení DivIDE ke sběrnici počítače ZX Spectrum, vpravo je konektor pro IDE disky a tlačítko, jehož stlačení vyvolá nemaskovatelné přerušení a tím i spuštění obslužné rutiny ve firmware.

Zajímavou vlastností DivIDE je automatické mapování paměti mezi původní ROM a její upravenou verzí. Pokud DivIDE na základě signálů přenášených po adresové a datové sběrnici zdetekuje, že se mikroprocesor snaží přistupovat, přesněji řečeno načítat operační kódy instrukcí z určitých adres paměti (například z paměťového rozsahu 0×3d00 až 0×3fff, adres 0×066, 0×4c6 atd.), může se automaticky provést přemapování paměti, takže se původní sekvence instrukcí nahradí sekvencí odlišnou; například se namísto originální rutiny pro obsluhu magnetofonu použijí rutiny, které magnetofon emulují.

Obrázek 12: Další pohled na zařízení DivIDE.

Zařízení DivIDE se připojuje přímo na sběrnici počítačů ZX Spectrum, která je, jak jsme si již ostatně řekli v předchozích částech tohoto seriálu, vyvedena na zadní stěně počítače, kde konec plošného spoje tvoří konektor. Přímé připojení na sběrnici počítače s sebou přináší několik předností, ale i záporů. Mezi přednosti patří například možnost přímého přístupu do paměti (po zastavení procesoru), „vnucení“ určité instrukce (instrukčního kódu) procesoru, detekci, z jaké adresy procesor načítá operační kód atd. Mezi zápory patří především to, že při neopatrném zacházení s připojenými zařízeními může dojít k poškození některého čipu v počítači, nebo na připojeném zařízení.

Obrázek 13: Zařízení DivIDE připojené k počítači. Namísto pevného disku je přes konvertor připojená paměťová karta Compact Flash.

7. Systémy FATware a DEMFIR

Pro práci se zařízením DivIDE vzniklo několik různých systémů. Mezi nejznámější a taktéž nejpoužívanější systémy patří systém FATware, jehož největší předností je fakt, že dokáže pracovat s disky obsahujícími souborový systém FAT, konkrétně šestnáctibitovou variantou FAT (myšlen je zde formát firmy Microsoft ne formát použitý u jednotek MB-01 či MB-02), takže pevný disk či kartu Compact Flash je možné naformátovat a následně zaplnit daty na osobním počítači a poté tato data (aplikace, hry, obrázky) využít přímo na ZX Spectru. Podobně jako systém DEMFIR popsaný v následujícím odstavci, i FATware prozatím neumožňuje zápis dat. Ukázku načítání programů popř. obsahu obrazové paměti (6144 bajtů bitmapy + 768 bajtů barvových atributů uložených v souborech s koncovkou .SCR) pomocí menu systému FATware si můžete prohlédnout na této stránce.

Obrázek 14: Detail DivIDE s paměťovou kartou Compact Flash.

Dalším systémem používaným spolu se zařízením DivIDE je systém nazvaný DEMFIR neboli „DTP's Emulator Files Runner“. Jedná se o systém určený pro práci se soubory uloženými buď přímo na CD-ROM (ISO 9660) nebo v ISO souborech (což jsou obrazy dat odpovídajících struktuře podle ISO 9660) uložených na pevném disku, ovšem bez možnosti zápisu do souborů. Systém DEMFIR podporuje různé typy souborů obsahujících buď uložený obraz operační paměti počítače ZX Spectrum nebo strukturu dat v takové podobě, jak je uložena na magnetofonové pásce (včetně hlaviček atd.).

Obrázek 15: Systém DEMFIR po svém spuštění vyvolaném NMI.

Především se jedná o formáty TAP, SNA, SCR či Z80. Předností tohoto řešení je především to, že se v archivech, například na World of Spectrum, nachází nepřeberné množství aplikací (především her) uložených právě v těchto formátech, takže je velmi snadné tyto aplikace získat, uložit na paměťové médium a z něj poté aplikace spouštět na reálném ZX Spectru.

Obrázek 16: Výběr souboru, který se má načíst do počítače ZX Spectrum, v systému DEMFIR.

8. Obsah následující části seriálu

V následující části seriálu o architekturách počítačů, jejich operačních systémů i programovém vybavení se začneme zabývat stručným popisem programovacích jazyků používaných (nejenom) u československých osmibitových domácích mikropočítačů. Naše vyprávění samozřejmě musí začít u (v této oblasti informatiky nejrozšířenějšího) programovacího jazyka, jehož více či méně kvalitní dialekty existovaly prakticky pro všechny typy domácích (ale i profesionálních) osmibitových počítačů. Jedná se samozřejmě o jazyk BASIC (Beginner's All-purpose Symbolic Instruction Code), jehož syntaxe a především sémantika pozitivně, ale i negativně ovlivnily celou jednu generaci programátorů (včetně autora tohoto článku). Příště si popíšeme historii vzniku a následného rozšíření tohoto jazyka, od jeho počátků v roce 1964 až po současnost, v níž se název BASIC používá pro zcela odlišnou třídu programovacích jazyků. Následně si přiblížíme jeho základní vlastnosti i to, z jakých důvodů se tento jazyk na osmibitových mikropočítačích vlastně prosadil.

bitcoin školení listopad 24

pc106

Obrázek 17: Známá hra „Let balónem“ implementovaná v BASICu G určeném pro československé mikropočítače IQ-151.

9. Odkazy na Internetu

  1. Disketová jednotka MB-02
    http://busy.spec­cy.cz/tvorba/mb02­.htm
  2. Historia MB-02 alebo Ako to všetko začalo
    http://busy.spec­cy.cz/tvorba/mb02his­t.htm
  3. DivIDE ZX Spectrum, Didaktik
    http://www.di­vide.cz/
  4. DivIDE manual
    http://www.di­vide.cz/?x=ma­nual
  5. divIDE
    http://baze.au­.com/divide/
  6. DivIDE programming model
    http://baze.au­.com/divide/fi­les/pgm_model­.txt
  7. Formát systému MDOS
    http://cygnus­.speccy.cz/po­pis_mdos-format.php
  8. Epitaf pro disketu
    http://pctunin­g.tyden.cz/mul­timedia/16-elektronika/17490-epitaf-pro-disketu
  9. Storage Solutions for the Sinclair ZX Spectrum
    http://www.rwap­software.co.uk/spec­trum/spectrum_sto­rage.html
  10. ZX Spectrum in the 21st Century?
    http://tarjan­.uw.hu/zxclones_en­.htm
  11. Sinclair Serial InterFace
    http://sif.it­herm.cz/
  12. Compact Cassette
    http://en.wiki­pedia.org/wiki/Com­pact_Cassette
  13. World of Spectrum – Hardware Index
    http://www.wor­ldofspectrum.or­g/hardware/hwin­dex.html
  14. ZX Microdrive
    http://en.wiki­pedia.org/wiki/ZX_Mi­crodrive
  15. Planet Sinclair
    http://www.nvg­.ntnu.no/sincla­ir/
  16. Sinclair Peripherals
    http://www.nvg­.ntnu.no/sincla­ir/computers/pe­ripherals/perip­herals.htm
  17. Microdrive
    http://www.nvg­.ntnu.no/sincla­ir/computers/pe­ripherals/micro­drive.htm
  18. Speccy.cz
    http://www.spec­cy.cz/
  19. ZX Spectrum Microdrive farm
    http://video.go­ogle.com/vide­oplay?docid=20116917­53416908964#
  20. WD279X-02 FLOPPY DISK FORMATTER/CON­TROLLER FAMILY
    http://www.da­tasheetcatalog­.com/datasheet­s_pdf/W/D/2/7/WD2797­.shtml
  21. Loading a ZX Spectrum via an iPod Mini
    http://szeligas­ki.blogspot.com/2005/09­/loading-zx-spectrum-via-ipod-mini.html
  22. ZX Spectrum Hardware Diy Site
    http://user.tni­net.se/~vjz762w/
  23. ZX Interface 1
    http://en.wiki­pedia.org/wiki/ZX_In­terface1
  24. ZX Interface 2
    http://en.wiki­pedia.org/wiki/ZX_In­terface2
  25. ZX Interface 1 (1983)
    http://www.nvg­.ntnu.no/sincla­ir/computers/pe­ripherals/inter­face1.htm
  26. ZX Interface 2 (1983)
    http://www.nvg­.ntnu.no/sincla­ir/computers/pe­ripherals/inter­face2.htm
  27. Parallel ATA
    http://en.wiki­pedia.org/wiki/Pa­rallel_ATA
  28. Technical Committee T13 AT Attachment
    http://www.t13­.org/
  29. Information for Developers of Products Using ATA (PATA, IDE/EIDE), Serial ATA (SATA), ATAPI, CF and Other ATA Related Interfaces
    http://www.ata-atapi.com/
  30. CompactFlash Association
    http://www.com­pactflash.org/
  31. Western Digital FD1771
    http://en.wiki­pedia.org/wiki/Wes­tern_Digital_FD1771
  32. Hybrid drive
    http://en.wiki­pedia.org/wiki/Hy­brid_drive
  33. DMA demo
    http://busy.spec­cy.cz/tvorba/dma­demo.htm
  34. Replica 1
    http://www.bri­elcomputers.com/wor­dpress/?cat=4
  35. Applesoft Lite: Applesoft BASIC for the Replica-1
    http://cowgod­.org/replica1/ap­plesoft/
  36. The Apple II and /// CFFA Project: Now you can use CF cards and IDE drives on you Apple II family computer using one card!
    http://www.wap­.org/journal/cffa­project/defau­lt.html
  37. Microdrive
    http://en.wiki­pedia.org/wiki/Mi­crodrive
  38. Project: CFFA for Apple 1, Replica1, and Obtronix Clones
    http://dreher­.net/?s=projec­ts/CFforApple1&c=pro­jects/CFforAp­ple1/main.php
  39. Project: CFFA for Apple II, II+, IIe, IIe enh, IIgs
    http://dreher­.net/?s=projec­ts/CFforApple­II&c=projects/CFfo­rAppleII/main­.php/
  40. CFFA-2 Device Compatibility List
    http://dreher­.net/?s=projec­ts/CFforApple­II&c=projects/CFfo­rAppleII/compa­tibility.php
  41. Apple I
    http://applemu­seum.bott.org/sec­tions/computer­s/a1.html
  42. The Apple 1 history
    http://apple2his­tory.org/histo­ry/ah02.html
  43. The Apple 2 history
    http://apple2his­tory.org/histo­ry/ah03.html
  44. KRUSADER
    http://school­.anhb.uwa.edu­.au/personalpa­ges/kwessen/ap­ple1/Krusader­.htm

Autor článku

Vystudoval VUT FIT a v současné době pracuje na projektech vytvářených v jazycích Python a Go.