Jess

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…

Líbil se vám článek? Podpořte autora na Patreonu
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.
  • olin

    Zdravim,

    nedavno jste pridal na stranky FPGA.cz informaci o boardu wxeda s Alterou EP4CE6. Prijde mi, ze je to idealni deska prave na pokusy
    s implementaci 8 bit mikropocitacu (deska ma VGA, SRAM, Flash, PS/2, Serial atd.). Na webu se da najit nekolik projektu ktere na desce funguji,
    napr:

    https://github.com/andykarpov/speccy-wxeda

    coz je implementace ZX Spektra. Pripadne se da nalezt i TS-Conf implementace prave pro tuto desku (pro ty co netusi, TS-Conf je „nabusene Spektrum“ z Ruska).

    Dale pak existuji hw mody na pripojeni sdkarty (funguje s vyse uvedenym projektem) a na implementaci primitivniho audia (lepsi nez bzucak).
    Urcite stoji za to alespon mrknout na zdrojaky.

    Edit:
    Pokud by nekoho zajimal TS-Conf a jak ho zprovoznit, zde je popis v anglictine jak nato:
    http://oldmachinery.blogspot.co.uk/2014/07/ts-conf-for-us-dummies.html

    olin

  • Díky za skvělé tipy. Tu desku WXEDA mám, portoval jsem si pro ni Multicomp, ale připadá mi hodně drahá (tedy v porovnání s tím minikitem; na poměr cena/výkon je samosebou skvělá). Podívám se na ty projekty, díky