Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
Periferie
Emulátory programovatelných kalkulátorů HP pro Mac a iPhone
17. dubna 2008, 09.00 | Pamětníci éry osmibitových počítačů si také jistě vzpomenou na skvělé programovatelné kalkulátory Hewlett Packard a Texas Instruments z přelomu sedmdesátých a osmdesátých let, které do značné míry nahrazovaly tehdejší nedostatek počítačů.
Nějakou dobu již používám skvělou emulaci legendárního kalkulátoru HP-41C. Tato emulace nejen po funkční i grafické stránce uvedený přístroj napodobuje zcela přesně, ale umožňuje i kompletní ovládání z klávesnice počítače, takže prakticky odpadá klikání myší na virtuální tlačítka. Pro ovládání z klávesnice stačí (krom kláves numerického bloku) použít klávesy se znaky, které odpovídají znakům na tlačítkách v modré barvě pro použití v alfa modu, tedy například pro funkci sinus stačí stisknout klávesu H, pro tlačítko SHIFT funguje klávesa Esc, tlačítka USER, PRGM a ALPHA jsou nahrazeny prstoklady Ctrl U, P a A, tlačítko R/S kombinací Ctrl R, ENTER je Enter, Return nebo N, <- (CLx/A) je Backspace. Jasnější a přehlednější snad ani už ovládání být nemohlo. Emulace napodobuje typ 41C s plně osazenou pamětí paměťovými moduly v rozšiřujících slotech (tedy v podstatě pozdější typ 41CV), k dispozici pro programování je tedy 319 paměťových registrů nebo kolem 2000 programových kroků nebo libovolný poměr mezi nimi. Na jeden paměťový registr připadá sedm programových kroků. K dispozici pro programování jsou podmíněné i nepodmíněné skoky a cykly, subrutiny i nepřímé adresování. Funkce, které nejsou přímo u popisu tlačítek, jsou pak k dispozici po sekvenci XEQ ALPHA funkce ALPHA, kompletní seznam funkcí je k dispozici po zvolení CATALOG 3. Volba CATALOG 1 naopak vypíše názvy programů uložených v RAM. Pomocí funkce ASN (Asign) můžete navíc pro USER modus zcela předefinovat funkce tlačítek ať už pro spouštění vestavěných funkcí nebo vlastních programů.
Kalkulátory HP-41C byly na svoji dobu vybaveny čtyřmi velmi pokrokovými rozšiřujícími konektory, které měly charakter sběrnice, podobně jako dnes třeba USB nebo FireWire čí starší SCSI a ADB, a existovalo k nim poměrně značné množství periferií. Autor emulace (Greg Ewing z Nového Zélandu) slibuje vývoj emulací i některých periferií, to však slíbil již v květnu 2004, takže uvidíme, zda se toho dočkáme. Aplikaci si můžete stáhnout ze stránek autora, kde je k dispozici i uživatelský manuál (pdf, 50 MB) ke kalkulátoru (měl by pak být umístěn ve stejné složce jako aplikace) a pro zájemce je na stránce k dispozici i zdrojový kód. Jediným systémovým požadavkem je operační systém Mac OS X 10.2 nebo novější. Jako příklad programu pro HP-41C dále uvádím svůj vlastní program pro výpočet juliánského data:
Juliánské datum se používá převážně v astronomii jako časový údaj - kontinuální číselná řada počínaje datem 1. ledna 4713 B.C., jehož výhodou je určení nějakého časového okamžiku jedním jediným číselným údajem bez nutnosti přepočtu roků, měsíců, dnů, hodin, minut a sekund. Den v juliánském datování začíná v poledne světového času. Program po zadání data podle gregoriánského kalendáře a času ve formátu HH.MMSS ve světovém čase (UTC či GMT) ukáže nejdříve celočíselnou část JD (tedy datum), po opětovném stisku tlačítka R/S ukáže desetinnou část s přesností na stotisícinu dne (což je přibližně sekunda). JD lze použít i pro mnohé jiné než astronomické aplikace. Chcete například vědět, kolik dnů jste právě na světě? Stačí vypočítat JD pro okamžik vašeho narození a JD pro tento okamžik a pak tato dvě čísla od sebe odečíst. Při cestě dále do historie je třeba pouze dát pozor na přelom letopočtu, historikové neznají nulu, tedy rok 2 B.C. je matematicky rok -1. Historikové taktéž schizofrenně míchají latinu s angličtinou - A.D. je Anne Domini, tedy latinsky léta páně, B.C. je Before Christ, tedy anglicky před Kristem. A také pozor na reformy kalendáře, současný gregoriánský kalendář přijímaly evropské země v různou dobu od 16. do 20. století.
Pro iPhone jsou prostřednictvím aplikace Installer ve složce Utilities k dispozici velmi zdařilé emulace kalkulátorů HP-11C, 12C, 15C a 16C. Všechny čtyři typy pocházejí přibližně ze stejné doby, 11C je nejjednodušší, 12C je kalkulátor specializovaný na finanční operace, 15C pro složitější vědecké výpočty a 16C zase obsahuje poměrně hodně programátorských funkcí. Já mám v iPhonu instalovánu emulaci typu HP-15C, pokud by vám nestačila systémová kalkulačka, mohu směle doporučit. HP-15C krom běžných matematických funkcí umí i práci s komplexními čísly, maticemi, podle zadaného vzorce umí i integrovat. K programování je k dispozici 67 datových registrů nebo 448 programových kroků či jakýkoliv poměr mezi těmito hranicemi, k dispozici jsou podmíněné i nepodmíněné skoky i cykly, subrutiny i nepřímé adresování. Manuál ke kalkulátoru HP-15C je ke (pdf, 6,5 MB), v případě zájmu o ostatní typy emulovaných kalkulátorů není problém najít na webu manuály i k dalším typům.
Kalkulátory HP na rozdíl od většiny ostatních výrobců používají logiku RPN, která mnohým zvyklým na běžný algebraický systém může činit určité potíže, ovšem pro programování je mnohdy efektivnější, shodný výpočet lze provést často menším počtem programovacích kroků, což v době, kdy bylo paměťovým prostorem nutno šetřit jako šafránem, nebylo zrovna zanedbatelné. Kalkulátory HP-41C byly ještě před pár lety (prakticky 20 let po ukončení výroby) k vidění připevněné suchými zipy na stěnách raketoplánů. Narozdíl od dnešní moderní techniky mají tyto staré výrobky vysokou odolnost proti radiaci (stěny raketoplánu nemají filtrační schopnost zemské atmosféry), navíc vydrží velmi dlouho pracovat na baterie. Spotřeba energie například u typu HP-16C byla tak nízká, že údajně pracoval i na pár měděných a železných hřebíků zapíchnutých do několika brambor, a to tak dlouho, než brambory zcela vyschly.