Ani nevím, co mě to popadlo a jak mě to napadlo, ale jednoho dne jsem si řekl: Když je PMI-80 postavené na klávesnici a displeji ze staré kalkulačky, tak proč by nešlo vzít starou kalkulačku s LEDkovým displejem a klávesnicí, a zabudovat dovnitř PMI-80? No dobře, tak ne přímo PMI, ale třeba něco menšího, jiného, KIM-1 třeba… A začal jsem se porozhlížet po starých vrakových kalkulačkách.
Osud mi jako první přihrál Rockwell 18R. Zas taková vzácnost to není, takže mě moc netrápí, že ji předělám. Ale má krásný „bublinkový“ displej, 8 pozic, a klávesnici 5×4. Teď jen aby to nebylo uvnitř nějaké divoké…
Stačilo odšroubovat čtyři šroubky, a ukázaly se vnitřnosti v plné kráse. Nádhera! Klávesnice zapojená jako ta nejprostší matice, dokonce i fyzicky odpovídalo umístění vývodů, a k tomu jeden plošňák, který je seskládal hezky dohromady. A nad tím vším malá destička s displejem a něčím, co vypadalo jako konektor.
Hledal jsem, kde je procesor, a při bližším zkoumání se ukázalo, že to, co vypadalo jako konektor, je plastová krytka. A pod ní byl čtvercový čip, a k němu byly tenkými drátky připájené vývody.
Takže – devět vývodů od klávesnice (5 řad, 4 sloupce), 16 vývodů od displeje, navíc s krásnými pájecími ploškami – těch 8 nalevo jsou jednotlivé segmenty, a po desce jsou pak porůznu rozmístěné katody pro jednotlivé pozice.
Takže stačí odpojit ten čip (bohužel, nebyla to 6502, jak jsem trošku doufal, ale nějaký specializovaný obvod, jak jinak), a připojit displej a klávesnici k vlastní konstrukci.
Asi nejjednodušší způsob bude použít nějaký malý jednočip na desce. Pokud slyšíte „Arduino Nano“, slyšíte správně – mám jich tu haldy, tak proč je nepoužít, že? Jen mám trošku problém. Počítejte se mnou:
Displej má 16 vývodů. 8 segmentů + 8 pozic. Klávesnice 9. To máme dohromady 25 vývodů. Arduino Nano 328 má… počkejte…
Jestli dobře vidím, tak 14 digitálních a 8 analogových, tedy 22 celkem, a z toho A6 a A7 víceméně docela pofidérní – jako vstupy maximálně. Hm, hm, hm. Co s tím? Když si řeknu, že třeba KIM-1 používal jen šest pozic, ušetřím 2 vodiče, takže mi jich stačí zapojit 23. Což je pořád o jeden víc, než jich mám k dispozici.
Proto použiju stejný trik, jako byl v tom PMI-80 (a nejen tam). Využiju toho, že displej pravidelně občerstvuju, pozici po pozici, a připojím řádky klávesnice na pět pozic displeje. A protože to jsou katody, budou vlastně „spínané k nule“. Což se mi hodí, protože připojím sloupce klávesnice přímo na digitální vstupy a nastavím jim interní pullupy. Takže ve výsledku to máme: 8 segmentů + 8 pozic (z toho 5 řádkových vodičů) + 4 sloupcové = 20 vývodů. A jsme na svých. Trošku harakiri může nastat na TX/RX, když do toho bude zvenčí pindat USB/UART převodník, ale uvidím, jak se to v praxi vyvrbí. Přinejhorším obětuju dvě pozice.
Klávesnice má 20 tlačítek. 16 jich nechám pro hexadecimální znaky, zbývají 4. Což je pro KIM-1 málo, tak to budu muset vymyslet nějak chytřeji. Možná se inspiruju u Heathkitu ET3400 – ten si vystačil s 16 klávesami a RESETem a klávesy měly vždy dvě funkce.
A kdyby mě snad jednodeskáč znudil, tak vždycky můžu nasadit firmware z Calcuina.