Zpátky ke kořenům! Včera v noci jsem se konečně dokopal k tomu, abych dodělal desku plošných spojů pro svůj nový starý počítač. Kódové označení Jess.
Hlavně teda přišly paměti SRAM, co pracují na 3.3V. Těch pětivoltových mám, že bych jimi mohl vydláždit podlahu v koupelně, ale centrem toho všeho je FPGA, a ta jede na 3.3V, nazdar bazar éljen!
Já bych to klidně implementoval celé ve FPGA, ale ten můj kousek (EP2C5) nemá dost RAMky na nějaké větší prostocviky, tak jsem zvolil externí. Nakonec to bude AS6C1008 nebo AS6C4008 – plošňák je připravený na obojí. Jako vstup mám klávesnici na PS/2, výstup je VGA s šesti bitama (tedy 64 barevných odstínů). K tomu tam je jedna sériová FLASH na SPI (SMD nebo DIL) a jeden slot na další FLASH (SD karta ne, ta přijde později). No a sestavu periferií uzavírají dva sériové porty.
Displej bude nejprve textový se semigrafikou, to nacpu do interních paměťových bloků. Ve verzi 2 budu chtít vyzkoušet použití té externí paměti. Budu řešit to, co řešili všichni v 80. letech, totiž jak to zařídit, aby do paměti lezl procesor i videoobvod a nepomlátili se. Někteří to řešili tak, že procesor zastavovali nebo zpomalovali, jiní na to měli speciální hardware a vyhraženou paměť, no a pár šílenců použilo metodu „sudá – lichá“, tedy že se procesor a video v přístupech střídali. Procesor lezl v lichých půltaktech, video v sudých atd. Zkusmo jsem to počítal, a mám hraniční frekvenci někde okolo 10 MHz. To už by mohlo jít – minimálně těch 256×192 dám určitě 😉 Ale uvidíme, a jak říkám: fáze 2!
K té klávesnici: herdek, fakt není možné sehnat dobrou maticovou klávesnici s tlačítkama! Buď si udělat membránovou, nebo si ji poskládat z mechanických tlačítek, a upřímně – tak či onak to znamená leptat poměrně velký kus PCB a spoustu piplavé práce. Možná to někdy v budoucnu udělám, možná sáhnu k tomu, že vezmu třeba náhradní klávesnici z C64, kterých je všude dost. Uvidíme. Verze 1 je zatím PS/2.
Uvnitř toho všeho bude… chvíle napětí… ano, bude tam nejspíš 6809 jako soft core. Ve FPGA dostane k ruce zhruba půlkilo bootloaderu v paměti. Ten bude mít jedinou starost – totiž vzít obsah ze sériové flash (AT25Lněco) a natáhnout ji do RAMky. Pak odpojí interní paměť, a jede se!
Protože je RAMky víc než dost, udělám ji nejprve tak, že bude možnost mapovat stránky do adresního prostoru. Ve verzi 2, možná 3, bych rád udělal takový hack, totiž plnou MMU s překládáním adres, s možností ochrany paměti a s takovým jednoduchým přepínáním privilegovaného a uživatelského módu – to sice procesor neumí, ale externě to půjde „dobastlit“.
A jako software asi přijde nejdřív jednoduchý monitor, a pak se uvidí. Nechci začínat s ambiciózním plánem na portaci OS9 nebo něčeho podobného…