Retro
Vše, co jste si nikdy nepřáli vědět o osmibitových počítačích (a přesto se to dozvíte)

O blogu

Toto je blog o mikroelektronice, zejména historické, osmibitové.

Mými dalšími blogy jsou Παραγραφος (o právu) a obecnější Slepecká hůl.

O autorovi

Tomáš Pecina Autorem blogu je Tomáš Pecina.

Kategorie

  • Hardware (14)

  • Software (7)

  • Úvahy a komentáře (5)

  • Blog (1)

Archiv

  • 2018 (7)

    • září (1)
    • srpen (2)
    • červenec (4)
  • 2015 (17)

    • prosinec (5)
    • listopad (2)
    • říjen (2)
    • září (5)
    • srpen (2)
    • červenec (1)
  • 2014 (3)

    • květen (1)
    • duben (2)

Štítky

  • emulátor 20
  • PMD 85 12
  • PMI-80 5
  • blog 4
  • Java 3
  • hra 3
  • Intel 8080A 2
  • Tesla 2
  • Roman Kišš 2
  • exerciser 2
  • Ondra 2
  • Eduard Smutný 2
  • Mastermind 2
  • JavaScript 2
  • hardware 1
  • multimetr 1
  • zdrojové kody 1
  • GNU/GPL 1
  • GitHub 1
  • licence 1

Všechny štítky

Nejčtenější/celkově

  • Vítejte!
  • Ondra v. PMD 85
  • Videoprocesor PMD 85
  • Forth
  • Proč nefungoval magnetofon u PMD 85(-1)
  • Logik aneb (zatím neveselé) příhody z programování
  • Sudoku
  • Reversi
  • MOS 6502
  • Sokoban

Mapa stránek

XML – HTML

WebArchiv

RSS kanál

feed-image

MOS 6502

To je on, 6502. Není krásný?

Jak si možná vzpomenete, opustil jsem javovou versi svého emulátoru poněkud znechucen z důvodu, že bez proprietárního blobu nelze zajistit synchronisaci mezi obrazem a zvukem, resp. vůbec souvislý a nepřerušovaný, výstupům hardwaru odpovídající zvukový proud. V JavaScriptu podobný problém existuje rovněž, avšak je, minimálně s moderními prohlížeči, řešitelný.

Jednou z nedávných vymožeností browserového API je totiž AudioWorkletNode, což je skript generující surový zvukový výstup, který běží v samostatném vlákně. Plynulý zvuk tak mohu zajistit tím, že hlavní event loop nechám pro interakci s uživatelem, emulaci hardwaru spustím ve workeru a ve třetím vlákně mi poběží zvuk. Druhé vlákno bude tomu třetímu posílat, jaký zvuk se má hrát, prostřednictvím message kanálu anebo sdíleným bufferem: obojí jsou víceméně ekvivalentní řešení, přičemž pro osmibitové počítače se jeví kanálové řešení zcela dostačujícím.

Číst dál... 7 komentářů
Autor: Tomáš Pecina
Kategorie: Hardware
Zveřejněno: 27. září 2018
Počet zobrazení: 3705
  • emulátor
  • MOS 6502
  • mikroprocesor

Investuji

Investice, zatím na mém pracovním stole.

Je dobře zajistit se včas na stáří. Já jsem se rozhodl spojit příjemné s užitečným a zakoupil jsem tři investiční čipy Tesla MHB8048/18, každý v ceně 20 Kč. Pokud to dobře půjde, za 15–20 let by mohla jejich hodnota dosáhnout i stokoruny.

Kromě toho, že je budu mít uloženy v trésoru, mi pomohou s dokončováním emulátoru. Mikroprocesory, resp. mikrořadiče, v té době ještě poskytovaly fully static operation, což mi dovolí přesně otestovat každou instrukci s pomocí Arduina. Výsledkem by mohl být klasický instruction exerciser; uvidíme.

3 komentáře
Autor: Tomáš Pecina
Kategorie: Hardware
Zveřejněno: 20. srpna 2018
Počet zobrazení: 2576
  • Tesla
  • Intel 8048

Klávesové zkratky

Vleklá letní vedra, potažmo moje neschopnost dělat v nich něco pořádného, způsobila, že mám svůj emulátor již téměř zcela přepsán do JavaScriptu. Ten jsem si celkem oblíbil: má sice své quirks (česky bychom asi řekli neuralgické body), nicméně nenutí autora aplikací podřizovat se téměř nábožensky pojatému prostředí a dává mu volnost koncipovat software podle svých představ, se zachováním rozumné rovnováhy mezi systematickým a praktickým.

Javové řešení. Nepřehledné.

Řeším tedy, předtím než emulátor otestuji a poté vypustím mezi uživatele (a na GitHub), poslední koncepční otázky. Jednou z nich je, jak pojmout klávesové zkratky. Počítače z 80. let neměly klávesnici podobnou té dnešní, jež je co do označení a funkce kláves dědicem legendární klávesnice IBM PC, a je tedy nutné zařídit co nejlepší namapování. Bez něj zbývá, minimálně na nedotykových displejích, ovládání klávesnice myší, což se omrzí nejpozději po dvou minutách; prakticky ověřeno.

Javascript. O poznání lepší.

V zásadě existují dvě možnost, jak to provést: mapovat znaky nebo stisky. První možnost se prima facie nejeví příliš vhodnou, protože bychom se vzdálili od originálu a nemohli emulovat různé dvoj-, troj- a vícehmaty, arci i druhá má své nedostatky. Tím hlavním jsou shiftované znaky: příkladmo PMD 85 má uvozovky na shiftované dvojce, kdežto moderní české klávesnice je mají na shiftovaném ů, a neexistuje způsob, jak takové mapování v emulátoru zařídit.

V javové versi jsem vyšel z toho, že každou klávesu na PC budu mapovat na množinu znaků na cílové klávesnici, čímž dosáhnu aspoň částečného řešení: neumím sice mapovat shiftované klávesy, ale shiftovaná může být cílová klávesa. Příliš to nefungovalo, protože na PMD 85 byl problém se současným stiskem shiftu a klávesy, a hlavně bylo nastavování zkratek naprosto nepřehledné, jak je patrno z obrázku.

Výběr zkratek.

V JavaScriptu jsem proto řekl Ne! a model jsem ještě zjednodušil: jednu klávesu na PC lze nyní namapovat na jedinou klávesu na emulovaném stroji. To mi dovoluje zachytit nastavení na jediném obrázku, byť s určitými omezeními. A také je ještě na hranici přehlednosti modál, kterým se výběr provádí.

Obojí si můžete podrobně prohlédnout na obrázcích, a zakrátko i na živém emulátoru.

Přidat komentář
Autor: Tomáš Pecina
Kategorie: Úvahy a komentáře
Zveřejněno: 20. srpna 2018
Počet zobrazení: 1779
  • emulátor
  • klávesnice

Kosmos v. Petr anebo Když dva dělají totéž

A teď (na chvíli) o něčem úplně jiném…

V historii začátků osobních počítačů hrají svou roli i poněkud neobvyklé školní stroje, které nepracovaly přímo s instrukcemi mikroprocesoru, nýbrž implementovaly svou vlastní – emulovanou – instrukční sadu, obvykle jednodušší a vhodnější pro účely výuky např. tím, že používala nikoli hexadecimální, nýbrž dekadickou representaci číselných hodnot.

Popsané uspořádání bylo typické pro počítače využívající mikroprocesory/mikrořadiče s harvardskou architekturou, v nichž nebylo možné zapisovat do paměti programu; takovými byly např. řady Intel 8048/8051.

Na prvně jmenovaném mikrořadiči, resp. jeho variantách, jsou založeny dva počítače vyráběné v 80. letech: západoněmecký Kosmos CP1 a československý Petr.

Číst dál... Přidat komentář
Autor: Tomáš Pecina
Kategorie: Hardware
Zveřejněno: 25. července 2018
Počet zobrazení: 2032

Preview

Zde se můžete podívat na živé preview PMI-80 v akci, zatím bez magnetofonu, debuggeru a dalších nezbytných funkcí; kod je nepochybně plný chyb, po hrubé konversi z Javy ho teprve budu čistit, smýčit a testovat, tak i v tomto případě prosím při posuzování díla o mírnost:

Číst dál... Přidat komentář
Autor: Tomáš Pecina
Kategorie: Hardware
Zveřejněno: 24. července 2018
Počet zobrazení: 1728
  • emulátor
  • PMI-80
  • JavaScript

1 / 6

  • 1
  • 2
  • 3
  • 4
  • ...
  • 6

Hledání

Komentáře

  • MOS 6502

    Miloslav Ponkrác 01.10.2018 21:36
    To jste napsal přesně a jasně. Teď se vývoj překlopil do opačné polohy. Nyní jsou technologie a ...

    Číst dále...

     
  • MOS 6502

    Tomáš Pecina 01.10.2018 15:42
    Podobnými úvahami jsem se obíral někdy počátkem 90. let. Připadalo mi, že mikropočítače už jsou natolik ...

    Číst dále...

     
  • MOS 6502

    Miloslav Ponkrác 01.10.2018 10:32
    Lépe by to bylo formulovat tak, že se u 8bitové architektury počítalo s kompilátory typu Forth ...

    Číst dále...

     
  • MOS 6502

    Tomáš Pecina 01.10.2018 09:36
    S kompilátory se u 8bitové architektury příliš nepočítalo, ostatně tyto konstrukce jsou z vesměs první ...

    Číst dále...

     
  • MOS 6502

    Miloslav Ponkrác 01.10.2018 09:25
    Jak přiznal sám jeden z autorů (nevím z hlavy, jestli Peddle nebo Deutsch), tento procesor nebyl vůbec ...

    Číst dále...

     
  • MOS 6502

    Tomáš Pecina 01.10.2018 08:46
    Jinak než s AudioWorkletNode to ale neudělám. Potřebuji, aby kód běžel po dávkách, kterých musí být ...

    Číst dále...

     
  • MOS 6502

    Miloslav Ponkrác 01.10.2018 08:29
    AudioWorkletNode je nový standard, který existuje už celých 13 dní, spíše 12 s ohledem na časový posun ...

    Číst dále...

     
  • Proč nefungoval magnetofon u PMD 85(-1)

    Miloslav Ponkrác 20.09.2018 03:10
    Já si spíše myslím, že někdo považoval operační zesilovač za ideální operační zesilovač a tak k němu ...

    Číst dále...

Statistika

Počet uživatelů
2
Počet článků
31
Počet zobrazení
97573

Uživatel

  • Vytvořit účet
  • Zapomenuté jméno?
  • Zapomenuté heslo?
  • O blogu
  • O autorovi
  • E-mail: tomas@pecina.cz
  • Mapa stránek (XML, HTML)
  • RSS kanál (RSS 2.0, Atom 1.0)
  • © 2014–19 Tomáš Pecina
  • Nahoru