ZX Spectrum - vzor 2009

Martin Malý 25. 8. 2009

Před více než pětadvaceti lety vznikl legendární počítač ZX Spectrum. A ačkoli je dnešní hardware na hony vzdálené tehdejším strojům, nelze říct, že jsou počítače jako Spectrum, Apple, Commodore 64, Atari 800/130 a další mrtvé - v srdcích mnoha fanoušků žijí dodnes, stejně jako celá osmibitová éra.

Z dnešního pohledu je éra osmibitových počítačů něco jako doba bájných eposů – doba, kdy počítače vstoupily do domácností, kdy každý majitel byl tak trochu programátor, kdy jeden kilobajt paměti znamenal obrovský prostor… Z dnešního pohledu jistě směšné parametry, přesto tehdejší stroje rozpoutaly revoluci a dodneška stojí za to prostudovat si tehdejší postupy, kdy nedostatek technických možností nahrazovali důmyslní konstruktéři všelijakými hacky a triky.

Nejčastěji používanými procesory v té době byly hlavně dva typy: 6502 od MOS Technology a Z80 firmy Zilog. Oba procesory mají hodně společného: kromě toho, že svým výkonem a cenou přispěly k rozšíření domácích počítačů, tak oba byly vylepšenými verzemi procesorů jiných firem (6800 od Motoroly, resp. Intel 8080), oba představovaly vrchol osmibitové éry, oba měly následovníky, kteří přišli už pozdě, a v neposlední řadě oba přežily do dnešních dnů. 6502 byl resuscitován společností Western Design Center, která jej nabízí v CMOS verzi s mnoha vylepšeními. Z80 je vyráběn dodnes existující a prosperující společností Zilog. Oproti verzi ze 70. a 80. let je současný procesor rychlejší, je vyráběn i v pouzdrech pro SMD a Zilog nabízí např. i verzi s integrovanými I/O obvody.

Znovuvynalézání

Možná by se mohlo zdát, že v současnosti nemá osmibitová architektura význam ani uplatnění. Ale pravý opak je pravdou: Osmibitové jednočipové počítače jsou dostatečně výkonné k tomu, aby řídily jednoduché stroje, a zároveň je jejich výroba levná, použití snadné a vývojářské nástroje ověřené. (Když jsem před časem otevřel svůj MP3 přehrávač, objevil jsem v něm dva velké čipy: FLASH paměť a integrovaný obvod, který se podle datasheetu skládal z MP3 dekodéru a právě z procesoru Z80 – pozn. aut.)

Snadná dostupnost starých a ověřených procesorů spolu s moderní technologií vedou k renesanci osmibitových strojů z 80. let – alespoň na stolech nadšenců, kutilů a pamětníků. Na internetu lze nalézt nepřeberné množství návodů ke stavbě nejrůznějších osmibitových počítačů, od funkčních replik až po naprosto vlastní konstrukce. Na jedné straně jsou tak repliky tehdejších reálných počítačů (např. zde zmiňovaná replika Apple I či funkční Altair 8800), na druhé straně nejrůznější CP/M stroje či osmibitové stavebnice vlastní konstrukce. Mezi tím jsou moderní periferie pro historické kusy počítačů, či „reinvented“ počítače, kdy se pomocí nových technologií „znovuvynalézá“ starý počítač.

Proč? Ano, to je správná otázka. Asi ze stejného důvodu, z jakého někteří staví lodě v lahvích a jiní sbírají známky nebo portují Linux na mobilní telefony. Myslím, že na serveru Root.cz si tuto otázku klást nemusíme.

Retroleum

Pojďme se podívat na výtvory jednoho „znovuvynálezce a zlepšovatele“ – Phila Rustona. Phil začal s vlastním „Z80 projektem“ (dnes není na webu dostupný, ale byl postaven z běžných DIL čipů na několika deskách). Philovým cílem bylo postavit „počítač v duchu 80. let“, s levnými periferiemi (klávesnice PS/2, VGA displej, IDE disk) a moderními technikami. Verze 2 jeho Z80 Projectu (V2Z80P) byla kompletně přebudována a dostala vlastní „grafickou jednotku“ a „zvukovou jednotku“. Ve verzi 3 (V3Z80P) byly diskrétní IO nahrazeny programovatelnými logickými čipy (CPLD) či jednočipovými kontroléry. Na základní desce s procesorem Z80 byly dvě velká programovatelná pole Xilinx XC95×x, jedno z nich zajišťovalo funkce IDE rozhraní, druhé řešilo přístup k paměti a periferiím. Kromě těchto polí obsahovala deska i PIC16F627 pro klávesnici a Ubicom SX28 pro generování zvuku. K procesorové desce byla připojena deska s grafickým procesorem – opět postavený na třech CPLD obvodech XC95×xx.

V3Z80P

Verze 4 (V4Z80P) nahradila starší pole typu CPLD výkonnějšími FPGA a navíc dostala pouzdro připomínající notebook (FPGA umožnila zmenšit rozměry a počet desek). Parametry čtvrté verze napovídají o funkcích – v porovnání se současnými stroji k smíchu, ale nezapomínejme, že tu hovoříme o počítači s procesorem z roku 1976:

  • 8MHz Zilog Z80 CPU
  • 128KB System RAM
  • 128KB Video RAM
  • 128KB Audio RAM
  • 128KB Sprite RAM
  • 2.5″ IDE HDD
  • Slot pro Compact Flash
  • 5″ LCD display.
  • Čtyřkanálový stereo zvuk
  • 256 barev z palety 4096

Čtvrtá verze položila základ současnému stavu – ve verzi 5 pak Phil nahradil několik FPGA čipů jedním velkým, no a ve verzi 6 (V6Z80P) dostal jeho projekt současnou podobu: Jednodeskový počítač, poháněný procesorem Z80 na frekvenci 16MHz, který je podepřen velkým FPGA (Spartan II 150K). V6Z80P má interně tři paměťové sběrnice – jednu pro CPU a operační paměť (512kB), další pro video RAM (512kB) a třetí pro paměť samplovaných zvuků (128kB). Dále obsahuje dva standardní porty pro joystick (Atari-like), konektory pro PS/2 klávesnici a PS/2 myš, RS-232 port, slot pro SD/MMC paměťovou kartu, audiovýstup a videovýstup, který může být připojen jak na VGA, tak na video vstup běžné televize.

Phil o svém výtvoru říká: No, je to osmibitový jednodeskový retro počítač, na kterém si můžete zase užít toho starého dobrého programování v assembleru, kdy jste pod prsty cítili dotek křemíku a nestarali jste se o API a abstraktní vrstvy a o podobné nesmysly. Nebo to může být deska pro zkoušení vývoje s FPGA (ale musíte počítat s tím, že máte velmi málo volných pinů a někde je paměť, někde procesor).

V6Z80P

Hardware na přání

Pro kutily a programátory bude velmi zajímavý fakt, že konfigurace FPGA (tedy „vše kromě procesoru“) je uložena v externí přeprogramovatelné serial EEPROM paměti. V této paměti jsou k dispozici tři pozice („sloty“), do nichž mohou být nahrány tři různé konfigurace FPGA. Defaultní architektura je Rustonova OSCA (Old Skool Computer Architecture), ale nic nebrání tomu celou architekturu přeprogramovat a donutit FPGA, aby se tvářila například jako ZX Spectrum (v balíku, který Phil dodává, je právě tento emulátor obsažen). Při startu si pak můžeme vybrat stiskem F1-F3 konfiguraci, kterou chceme spustit.

OSCA je základ, který dokáže ze starého osmibitového procesoru na 16MHz vytáhnout efekty, srovnatelné s Amigou, ostatně – posuďte sami: Obsahuje šestnáctibitovou hardwarovou násobičku, hardwarovou podporu pro sprity, blitter, umožňuje i efekt zvaný „copper“:

Software

Phil přišel nejen se systémem, ale i s vlastním operačním systémem (FLOS). FLOS je takový kříženec mezi DOSem a debuggerem – umožňuje základní práci se souborovým systémem (na SD kartě), umožňuje debugovat běžící program a poskytuje některé základní funkce (ovládání klávesnice, myši, výpis znaků, komunikace po RS232), které mohou využívat běžící programy.

V6Z80P si získal mnoho fanoušků po celém světě, kteří přispívají do knihovny programů, takže pro V6Z80P existuje např. přehrávač MODů, prohlížeč obrázků či textový editor. Některý SW je k dispozici v PC podobě (překladače assembleru či C). Veškeré komunikační protokoly jsou dobře dokumentovány, FLOS i OSCA jsou otevřené architektury (k dispozici jsou zdrojové kódy), takže většímu rozšíření brání jen nedostatek hardware. Phil vyrobil a prodal několik desítek kusů V6Z80P (cena je zhruba 90 liber + poštovné). Což je za přijatelnou cenu naprosto perfektní platforma pro hobby vývojáře, pro hračičky, pro bastlíře i pro lidi s nostalgickou vazbou k éře osmibitových počítačů…

widgety

Často se v komunitě fanoušků ZX Spectra hovoří o tom, jaký počítač by mohl být důstojným nástupcem ZXS pro 21. století – přeci jen původní hardware zastarává a i když byl navržen naprosto jedinečně, tak některá vylepšení jsou možná jen za cenu poměrně divokých hacků. Ortodoxní fanoušci trvají na tom, že Spectrum nesmí být měněno, ale liberálnější milovníci by rádi viděli „stroj s příchutí Spectra“, pro který by mohli zase vytvářet hry a dema jako v 80. a 90. letech, a právě pro ně by mohl být V6Z80P tím správným impulsem.

Některé odkazy:

Našli jste v článku chybu?
Vitalia.cz: Tradiční čínská medicína a rakovina

Tradiční čínská medicína a rakovina

DigiZone.cz: Budoucnost TV vysílání ve Visegrádu

Budoucnost TV vysílání ve Visegrádu

Vitalia.cz: 5 důvodů, proč jet na výlov rybníka

5 důvodů, proč jet na výlov rybníka

DigiZone.cz: Další programatické formáty

Další programatické formáty

Vitalia.cz: Antibakteriální mýdla nepomáhají, spíš škodí

Antibakteriální mýdla nepomáhají, spíš škodí

Vitalia.cz: Tesco nabízí desítky tun jídla zdarma

Tesco nabízí desítky tun jídla zdarma

Lupa.cz: Patička e-mailu závazná jako vlastnoruční podpis?

Patička e-mailu závazná jako vlastnoruční podpis?

Vitalia.cz: Muž, který miluje příliš. Ženám neimponuje

Muž, který miluje příliš. Ženám neimponuje

Lupa.cz: Další Češi si nechali vložit do těla čip

Další Češi si nechali vložit do těla čip

Podnikatel.cz: Letáky? Lidi zuří, ale ony stále fungují

Letáky? Lidi zuří, ale ony stále fungují

Lupa.cz: Blíží se konec Wi-Fi sítí bez hesla?

Blíží se konec Wi-Fi sítí bez hesla?

Lupa.cz: Jak levné procesory změnily svět?

Jak levné procesory změnily svět?

DigiZone.cz: Technisat připravuje trojici DAB

Technisat připravuje trojici DAB

Podnikatel.cz: Nemá dluhy? Zjistíte to na poště

Nemá dluhy? Zjistíte to na poště

Podnikatel.cz: Udělali jsme velkou chybu, napsal Čupr

Udělali jsme velkou chybu, napsal Čupr

Vitalia.cz: Voda z Vltavy před a po úpravě na pitnou

Voda z Vltavy před a po úpravě na pitnou

120na80.cz: Co je padesátkrát sladší než cukr?

Co je padesátkrát sladší než cukr?

Lupa.cz: Odkazy na pirátský obsah mohou být nelegální

Odkazy na pirátský obsah mohou být nelegální

DigiZone.cz: Parlamentní listy: kde končí PR...

Parlamentní listy: kde končí PR...

Lupa.cz: Jak se prodává firma za miliardu?

Jak se prodává firma za miliardu?