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
  • Proč nefungoval magnetofon u PMD 85(-1)
  • Forth
  • Logik aneb (zatím neveselé) příhody z programování
  • Jak efektivně emulovat osmibitový hardware
  • Sudoku
  • Reversi
  • MOS 6502

Mapa stránek

XML – HTML

WebArchiv

RSS kanál

feed-image

SVG

Jedním z problémů, na které jsem při práci s Javou narazil, je její nekompatibilita s vektorovou grafikou; nevím, zda situace trvá i u nejnovější verse, ale fakt je, že právě nutnost tvořit všechno v bitmapách mi při návrhu javového emulátoru opakovaně působila velké bolesti hlavy: nakonec jsem všechna okna naprogramoval tak, že se dala volit velikost ze čtyř možností, což bylo uživatelsky snesitelné, ovšem logistika spojená se změnou velikosti u běžící aplikace je něco, co bych nerad zažíval znovu.

U javascriptové verse tento problém odpadá, protože všechny moderní browsery jsou kompatibilní s formátem SVG. Tento formát umí sám pracovat s JavaScriptem, takže je možné vytvářet chytré objekty, příkladmo sedmisegmentový display, který umístíte na stránku, v libovolné velikosti, a komunikujete s ním přes jeho methody, které jsou plně enkapsulované v SVG souboru; tak, jak by to mělo logicky a modulárně být. Jako člověku chorobně a neléčitelně systematickému mi takové řešení vyhovuje. Máte-li relativně nový prohlížeč, můžete to vyzkoušet; JavaScript, který uvidíte, je arci spíš pracovní než finální, pročež, prosím, buďte shovívaví:

Hodnota:
Barva:
Jas:

Podobně se dá realisovat i klávesnice počítače PMD 85: opět jsou klávesy nakreslené jako jednoduchý objekt ovládaný vnořeným JavaScriptem; toto je pouze počáteční demo, v ostré versi bude samozřejmě i funkce zámku, tak jako v Javě:

Přidat komentář
Autor: Tomáš Pecina
Kategorie: Úvahy a komentáře
Zveřejněno: 15. července 2018
Počet zobrazení: 1445
  • emulátor
  • HTML
  • SVG
  • grafika

Nazrál už čas?

PMI-80

Když jsem v lednu 2014 začal vyvíjet první emulátor osmibitového počítače, stál jsem před otázkou, jaký prostředek – programovací jazyk, resp. platformu – k tomu zvolit. Tehdy jsem se rozhodl pro Javu, protože mi dovolila pracovat tak, aby výsledek konvenoval mému perfekcionismu: dokonalá grafika, absolutně věrná emulace, relativně vysoká rychlost, jíž mohlo konkurovat pouze C nebo jiný nízkoúrovňový jazyk. Zvažoval jsem i možnost, že bych použil JavaScript v HTML browseru, ale tu jsem zavrhl, hroze se, že by výsledek mohl připomínat emulátor PMI-80 Martina Malého, který je sice plně funkční, ale po stránce vzhledu a použitelnosti, řekneme-li to kulantně, zůstává pověsti autora cosi dlužen.

Uběhly čtyři roky, a situace se změnila: JavaScript prošel reformou, takže ve versi ECMAScript 6 už vypadá jako skutečný programovací jazyk, browsery běží na několikanásobně výkonnějším hardwaru než v r. 2014, CSS umí také několik nových kousků, a na druhé straně javové applety v browserech odešly natrvalo na smetiště dějin; není důvodu, proč bych místo aplikace, kterou si na svém počítači spustí málokdo, nedal tu spoustu skvělého kodu a sofistikované grafiky, kterou jsem pro své javové emulátory vytvořil, k disposici v javascriptové podobě tak, aby se dala se vší parádou spustit ve kterémkoli moderním browseru.

Zatímco k Javě, přestože jsem v ní napsal přes sto tisíc řádků kodu, mám stále poměrně reservovaný až negativní vztah, variující dle programovaného thematu mezi odtažitou lhostejností, mírnou nechutí a odporem, JavaScript mám za natolik primitivní, že jsem si k němu žádný vztah nevytvořil: tak jako člověk může mít rád psa nebo kočku, ale ne například žížalu.

Na konversi jsem dnes začal pracovat, a slibuji si od ní, že se mi podaří vyřešit zřejmě nejpalčivější problém stávajících javových emulátorů, nemožnost dosáhnout kvalitního zvukového výstupu: Java dokáže zvuk věrně přehrát, ale nelze ji přinutit, aby tak učinila přesně v určitém okamžiku, takže výsledkem je, že bez použití externí nepřenositelné knihovny (blobu) na sebe jednotlivé fragmenty zvukového výstupu emulovaného počítače nenavazují tak, jak by měly, což je přirozeně zejména v případě zvukových efektů typu pípnutí fatální. To si mi, jak doufám, podaří v JavaScriptu překonat, takže se můžete těšit na počítače, které nejen skvěle vypadají a každý si je může bez jakékoli přípravy spustit, ale také dokonale hrají.

Exerciser

Aktualisováno.
Jak patrno ze screenshotu, první testy, spíše ve formě proof-of-concept, ukazují, že rychlost JavaScriptu rozhodně nebude problém.

Přidat komentář
Autor: Tomáš Pecina
Kategorie: Úvahy a komentáře
Zveřejněno: 9. července 2018
Počet zobrazení: 1676
  • emulátor
  • Java
  • JavaScript

Forth

Forth. Pro jedny samoúčelná hříčka, pro druhé geniální programovací jazyk, který neměl dostatečně účinný marketing. Těžko to dnes rozsoudíme, faktem ale je, že jazyk Forth stihl podobný osud jako jiný, svým způsobem revoluční jazyk APL. Oba přišly příliš brzy i příliš pozdě zároveň: příliš brzy na to, aby jejich kvality mohly být náležité oceněny, a příliš pozdě, než aby konservativní svět počítačových technologií dokázaly skutečně ovlivnit.

Číst dál... 25 komentářů
Autor: Tomáš Pecina
Kategorie: Software
Zveřejněno: 27. prosince 2015
Počet zobrazení: 7494
  • PMD 85
  • Forth
  • emulátor
  • programovací jazyky
  • CP/M

Sokoban

Jak nemám rád sudoku, původně japonská hra nazvaná Sokoban patří naopak mezi mé oblíbené hlavolamy (pokud ji neznáte, pomůže wikipedie). Přes svou zdánlivou jednoduchost je Sokoban jednou ze dnes stále řidších her, ve kterých člověk nad počítačem vítězí: složitou úroveň počítač nevyřeší, brutální výpočetní výkon se rozbíjí na sofistikovaném předivu vzájemných vazeb mezi objekty, které při řešení hlavolamu vznikají.

Číst dál... Přidat komentář
Autor: Tomáš Pecina
Kategorie: Software
Zveřejněno: 20. prosince 2015
Počet zobrazení: 5016
  • PMD 85
  • emulátor
  • Sokoban

My jsme ti blázni

Zdroj: www.mikrocontroller.net

Našemu miniaturnímu blogu věnuje pozornost i mainstream, konkrétně jedna kapitola úvahy Michala Rybky na serveru PC Tuning, používaje emulaci československých osmibitů jako demonstrační příklad zmařeného času a zbůhdarma vyplýtvané energie.

Má pravdu, ten chlapec?

Číst dál... 2 komentáře
Autor: Tomáš Pecina
Kategorie: Úvahy a komentáře
Zveřejněno: 11. prosince 2015
Počet zobrazení: 3690
  • Michal Rybka

2 / 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í
147928

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