Úplně alternativní Spectrum

Čímž tedy rozhodně nemyslím, že je alternativní jako třeba „alternativní medicína“, ale prostě že by bylo jiné. A počítám s tím, že mi budou skalní fandové lát a klnout, že znesvěcuju ducha, ale to jsme si už vyřídili, teď se, prosím, soustředíme na to podstatné.

Když Jirka Lamač (LEC) a pánové Troller s Císařem (Sinsoft) rozšiřovali paměť ZX Spectra proto, aby na něm mohli pouštět CP/M, bylo to znesvěcení retro ducha modernou, ale protože to probíhalo na konci 80. let, tak to vlastně ve skutečnosti byl pokrok. I když upřímně: CP/M v té době byl už docela letitý systém…

Ale zpět k alternativě: Chtěl jsem tím říct, že úpravy Specter nemusí být jen, řekněme, pietní. Takových je naprostá většina: vylepšená ROMka, přidaný nějaký nový hardware, který se, pokud možno, tváří jako starý hardware a je totálně transparentní… Hlavní je kompatibilita s originálními Spectry.

Na druhé straně CP/M úprava kompatibilitu na přepnutí přepínače zahazuje a implementuje systém, který je se Spectrem už z principu nekompatibilní. Spectrum má totiž, jak si pamatujete, na začátku paměti („dole“) ROM, nad ní videoRAM, a nad ní RAM až do konce prostoru. CP/M naopak vyžaduje, aby „dole“ byla RAM a ROM s BIOSem naopak kdesi „nahoře“. Plus navíc do toho všeho padá videoRAM… Ale jo, na konci 80. let to vypadalo jako dobrý nápad, lepší než platit statisíce nekonvertibilních Kčs za systém s CP/M.

Zase jsem od alternativy odbočil. Ale nebojte, už jsem zpátky: Nechal jsem svou fantazii tuhle plynout nad otázkou: šel by multitaskový OS udělat i na Z80?

Tak určitě… Samozřejmě existovaly. Ale bylo by fajn si ho napsat, že? Co k tomu bude potřeba? Zaprvé – MMU. Je třeba, aby programy fungovaly kdekoli v paměti na (logicky) jednotné adrese bez ohledu na fyzické umístění. Viz .COM programy, které vždy běžely od adresy $0100, a v MS DOSu to fungovalo díky segmentovým registrům x86 (které jsou jinak peklo) naprosto transparentně. Na druhou stranu, kdyby ten systém dokázal namapovat různé banky paměti na určitou adresu, tak by to spoustu věcí usnadnilo.

Zadruhé – supervizor režim. Jinak nebude možné ochránit paměť, izolovat procesy, přidělovat zdroje… No a nebo důsledně dodržovat princip „play nice“, tedy spoléhat na to, že programátor bude dodržovat pravidla, bude třeba přistupovat k displeji a klávesnici výhradně přes služby OS, bude poslouchat dispečera, nezakáže přerušení, …

No a zatřetí by šlo udělat virtuální procesor, takovou „Javu 80“ (neplést s Jawou 50).

O několik myšlenkových pochodů později mi to secvaklo: Vždyť já nemusím dělat experimentální hardware a bastlit vlastní počítač se Z80 (hello, Grant), já přeci můžu použít Spectrum, rozšířit mu paměť pro stránkování od $8000, využít všechno, co zařídí hardware a ULA (tj. klávesnici, displej a další) a tenhle systém napálit do ROMky, která bude od $0000, jak to Sir Clive mínil.

A o jednu úvahu dál jsem viděl ZX Spectrum 128, které má to přepínání paměti už jaksi samo od sebe, sice od $C000, ale nešť. K tomu by stačila malá krabička s ROMkou a s nějakým udělátorem, co by dokázal komunikovat s CF nebo SD.

Na chvíli ve mně hrklo: Ale to v té ROMce nebude originální BASIC a přijdu o kompatibilitu a to rozšíření nebude ovládané nějakými ohackovanými příkazy! No jo, to nebude. No a?

Nebudou pro to programy. Jasně, takže je můžu napsat sám! Budu jediný majitel. Bude to jen technická onanie, kdybys radši dělal něco užitečného a pomohl spektrácké komunitě… Nojo. Nepomůžu, jakáž pakáž…

Jen bych vás, znalejší, poprosil: Nevíte o nějaké takové úpravě, která by využívala HW Spectra a přitom zahodila ROM a BASIC a implementovala vlastní systém? Všechny ROMky, co jsem našel, jsou především „vylepšené a opravené originální ROM“, tu s tokenizérem, támhle s novými funkcemi, ale taková divočina, jakou jsem si vysnil, tu jsem nikde neviděl.

Aktualizace 7.4.: Díky Logoutovi za odkaz na Matrix OS!

PS: Omlouvám se, zapomněl jsem, že některé memy nejsou všeobecně známé. Ta citace „Kdybys radši dělal něco užitečného…“ mě pronásleduje od dob Bloguje vlastně u každého projektu: „Kdyby pan Malý svou energii raději věnoval do XXX a pomohl tím komunitě!“ Nojo, nepomohl jsem, ale bylo Bloguje a byly další věci. Takže pro jednoznačnost: to nebylo nic proti Spectristům… Ostatně viz zde a zde.

Příspěvek byl publikován v rubrice Hardware se štítky , , , . Můžete si uložit jeho odkaz mezi své oblíbené záložky.