Hardware

Tesla PMD 85. Českoslovenští soudruzi
správně tušili, že by se mělo počkat
na celovodiče.

Nevím, kdo a kdy přesně přišel jako první s nápadem používat pro záznam dat z mikropočítače magnetofon, avšak nápad to byl jen částečně dobrý. Technologie záznamu informace na pohyblivý magnetický nosič byla sice již v době, kdy se objevily první mikroprocesory, značně rozvinutá, avšak jak již název onoho zařízení (magneto-FON) napovídá, magnetofony byly určeny pro záznam zvuku, nikoli digitální informace. Jejich láce a prevalence ovšem převážily a tak místo aby výrobci začali ke svým krásným novým osmibitovým strojům dodávat specialisovaná záznamová zařízení, nechali uživatele použít to, co mají doma.

Po cca roční pause jsem se opět pustil do vývoje svých retro-emulátorů. Zdrojové kody v Javě, všechny pod licencí GNU/GPL 3, jsem dal na GitHub, odkud si je kdokoli může stáhnout. Hotový produkt to arci zatím není, potřebuje ještě celou řadu drobných úprav.

Ještě nejsem ani rozhodnut, které periferie do balíku zařadím. Kromě těch, o nichž jsem psal a které jsou blízko k dokončení, mám graficky připravenou děrovačku a čtečku děrné pásky, pěti- i osmistopé, osciloskop EO 213, a vyšším emulovaným zařízením bych rád dodal i legendární jednojehličkovou tiskárnu splašený hřebík BT-100 a buď Minigraf, nebo Colorgraf. K posledně jmenovanému bych ovšem potřeboval obsah původních ROM, kterýžto momentálně nemám.

Dobrá rada všem perfekcionistům a perfekcionistkám: nikdy neemulujte, zejména ne osmibitový hardware. Jinak skončíte, tak jako já, v zajetí věčného dilematu.

Příkladmo panel PMI-80. Jak známo, použil se pro něj díl z jakési obskurní kapesní kalkulačky, a panel samotný byl vyroben z nevábného kusu plastu. Můj emulátor má panel z kartáčovaného kovu, tedy takový, jaký nikdy žádné péemíčko nemělo a mít nebude. Prostě jsem si nemohl pomoci.

A ještě hůř jsem dopadl s východoněmeckým multimetrem. Začalo to tím, že se mi nelíbilo, jestliže soudruzi z NDR na panelu použili anglické popisky (vyjma názvu přístroje), ale v číslech psali desetinné čárky místo teček. Opravil jsem. Pak improvisace, o které jsem psal na druhém blogu: odmítl jsem principiálně takové technicky pokleslé řešení implementovat a oba přístroje, multimetr i čítač, vybavil LED-kou sice ve stejné žlutozelené barvě jako sedmisegmenty, ale v rozumné velikosti a na správném, opticky korektním místě. Nebo popiska tlačítka ~: místo nevkusné tildy jsem panel popsal znakem, který je pro označení střídavých veličin správný.

A konečně, původní měřák měl funkci AC, ale jako převážná většina podobných přístrojů neměřil True RMS napětí a proudy, ale za AC zesilovačem měl prostý integrátor a usměrňovač, takže hodnota RMS souhlasila pouze pro přesně sinusové průběhy. Zde bych soudruhy z NDR nevinil, není snadné takovou konversi realisovat, zejména se součástkami dostupnými v 80. letech. Používaly se pro to různé konstrukce, např. resistor propojený s thermistorem, později se začala druhá mocnina vyrábět analogově tak, že se napětí zlogarithmovalo na operačním zesilovači s polovodivým přechodem ve zpětné vazbě a v dalším stupni se opačným postupem odlogarithmovalo; dnešní True RMS měřáky, mimochodem nijak levné, pracují digitálně a umocňují i odmocňují mikroprocesorem.

V případě emulátoru je výpočet RMS hodnoty hračkou: emulované měření sestává v akumulaci integrálu napětí v době mezi dvěma zápisy na port DAC, stačí tedy do akumulátoru přičítat integrál jeho druhé mocniny, což je s ohledem na exponenciální průběh napětí za RC high-passem triviální úloha.

Stojím tedy před dilematem, a i když jsem se zatím přiměl k tomu, že můj přístroj ukazuje takové hodnoty střídavého napětí jako jeho vzor, tuším, že tuto bitvu prohraji a vytvořím nakonec místo věrného emulátoru historického měřicího přístroje technologický kitsch podobný těm historickým automobilům, do kterých namontují moderní motor a vozí v nich po Praze turisty.

Jelikož můj emulátor počítače PMI-80 funguje již řadu týdnů beze změn a pracuji pouze na systému rozšiřujících zařízení (add-ons), mohu některá technická řešení pokládat za definitivní a podělit se s čtenáři o to, jakými úvahami jsem byl při programování veden a pro které z dostupných variant se rozhodl.