Replika BOB-85

Nejsem rozhodně jediný, na kterého v roce 1984 silně zapůsobil článek v Konstrukční příloze Amatérského rádia. Autor Ing. Josef Kratochvíl v něm na 27 stranách popsal ucelený návod na konstrukci amatérského mikropočítače BOB-85, včetně komentovaného monitoru a vzorových programů, založeném na procesoru Intel 8085. Myslím, že právě tento zcela nedostupný mikroprocesor se stal hlavní příčinou, proč se BOB nestavěl. Druhou příčinou byla značná obvodová složitost, která nejednoho případného zájemce spolehlivě odradila. Protože původní BOB-85 postavil jeho autor na univerzálních deskách, neexistovaly ani plošné spoje, které by méně zkušené zájemce vedly k úspěšnému dokončení konstrukce.

Velice hezký článek o BOBovi najde zájemce na webu Nostalcomp.cz, kde je k dispozici i sken původního článku Ing. Kratochvíla. V případě, že by stránky www.nostalcomp.cz nebyly k dispozici, můžete je najít ve webovém archívu www.archive.org.

Možná to bylo jinak, ale osobně neznám nikoho, kdo by BOBa postavil, stejně tak jsem o nikom neslyšel a ani nečetl. Pokud se mýlím a někdo takový existuje, anebo existoval, dejte mi prosím vědět na můj email na konci článku. Přestože se BOB nedočkal příliš velkého počtu realizací, vlastní článek inspiroval nejen mne, ale i řadu dalších. V té době to byl pravděpodobně první opravdu komplexní stavební návod, který podněcoval fantazii a dovoloval snít o získání vlastního počítače bez Tuzexového konta. Já osobně jsem nad jeho schématy a monitorem strávil mnoho hodin, které mne ve finále nasměrovaly i profesně. Původní zapojení jsem upravoval, zjednodušoval, přizpůsoboval dostupným součástkám. Učil jsem se. Navrhoval jsem vlastní plošňáky, překresloval je na cuprexit, leptal, vrtal, pájel a oživoval. Učil jsem se. Svůj vlastní mikropočítač jsem nakonec dokončil, ale mezitím vývoj šel dál a budoucnost už patřila PC XT.

BOB-85 (a jeho prostřednictvím i jeho autor) pro mne udělal hodně a cítím vůči němu určitý dluh. Přemýšlel jsem, jak jej splatit a nakonec jsem došel k závěru, že v dnešní době, kdy řada nadšenců staví repliky starých počítačů, je ostuda, že BOB-85 dosud žádnou repliku nemá. Otázku, zda u počítače, který byl možná zhotoven pouze v jednom exempláři - prototypu, se dá hovořit o replice, ponechme stranou. Takže jsem se rozhodl splatit svůj dluh návrhem a realizací mírně zjednodušené repliky BOBa-85, kterou tímto dávám k dispozici komunitě.

Při návrhu jsem vycházel z doporučení na zjednodušení BOBa navržená přímo v původním článku jeho autorem Ing. Kratochvílem. Použil jsem obvody vyšší integrace, takže místo původních 77 obvodů má moje verze BOBa jen 32 obvodů. Pro zachování historické věrnosti mohou pocházet všechny součástky, kromě vlastního procesoru i8085, z produkce národního podniku Tesla. Rozdělení na 2 desky jsem sice zachoval, ale striktně jsem oddělil procesorovou desku od klávesnice a displeje. Nyní je mezi oběma deskami k dispozici I/O sběrnice, takže je teoreticky možné sestavu doplnit o další vstupně/výstupní desky (nikoliv však paměťové, protože řídící signály paměťové sběrnice a adresy A8-A15 vyvedeny nejsou). Současně lze klávesnici a display využít i s jinou procesorovou deskou, např. pro x51, AVR, ATmega, apod.

Popis úprav : (číslování odkazuje na doporučení autora v kapitole 13. Zjednodušení pro amatérský počítač)

1. Ukázalo se, že není nezbytné používat na desce mikropočítače porty 01H až 06H : realizováno, na procesorové desce nejsou žádné porty;

2. Budič datové sběrnice 2x 3216 je energeticky i cenově výhodnější nahradit obvodem 3212 : realizováno pomocí 74ALS245, resp. Teslou vyráběnou verzí MH74ALS1245;

3. Adresové a datové sběrnice není třeba používat jako negativní, tím se zjednoduší napojení adresové sběrnice a odpadnou IO 2x 3226 : realizováno částečně, datová sběrnice a A0-A11 jsou pozitivní, ale A12-A15 negativní, protože to zjednoduší paměťový dekodér. A8-A15 nejsou vyvedeny, takže toto není na závadu;

4. Dekodér pro paměť a porty klávesnice a displeje 2x 7442 lze nahradit jedním obvodem 74154 : nerealizováno, dekodéry pamětí a portů jsou zcela odděleny a realizovány pomocí ALS138 a hradel NAND;

5. Signál HOLD, umožňující přímý přístup do paměti, je možné zrušit, protože v amatérských podmínkách se nepředpokládá velká rychlost přenosu dat přímo do paměti : realizováno, možnost přivedení sběrnice do třetího stavu není implementována;

6. Stačí jen jeden vstup signálu WAIT : realizováno, WAIT je vyveden na I/O sběrnici a využit ke krokování programu;

7. Pokud nevyžadujeme velkou přesnost hodinového kmitočtu, můžeme krystal 5 MHz nahradit odporem 10 kOhm : nerealizováno, ale sehnat krystal 5MHz z produkce Tesla/RVHP může být komplikovanější;

8. Pokud by se podařilo získat jinou statickou paměť RAM, než 8x MHB2102A o formátu 1024 x 8 bitů (např. 2114), byly by nároky na cenu, odběr proudu ze zdroje i prostorové uspořádání podstatně nižší : realizováno, nahrazeno 2x MHB 2114. Současně byla nahrazena ROM složená z PROM pamětí 74S287 pamětí typu EPROM 2716.

Dále jsem změnil dekodér řídících signálů a využil osvědčené zapojení s jednou ALS138 oproti původním osmi hradlům. Toto zapojení nejen ušetří jedem obvod, ale podle mého by mělo mít i menší zpoždění.

Obvody na desce klávesnice a displeje jsem doplnil o „Hardware Single Step for Intel 8085“ (IC13, ½ IC14 a ½ IC17) pro krokování mikroprocesoru, které jsem převzal z knihy Johna Uffenbecka „Microcomputers and Microprocessors – The 8080, 8085, and Z-80 Programming, Interfacing and Troubleshooting“. Podobné vylepšení navrhuje i autor BOBa na obr. 36, ale jeho zapojení potřebuje ke své činnosti hodiny – signál CLK (OUT).

Na straně spojů je rovněž umístěn „jumper“ JP1, který umožňuje změnit význam tlačítka EXEC z Resetu použitého v původním BOBu na vstup nemaskovatelného přerušení TRAP. Stačí přerušit plošný spoj a pájkou vytvořit propoj do druhé polohy.

Celkový odběr činí cca 1,3 A při náběhu mikropočítače a silně závisí na počtu aktuálně rozsvícených segmentů sedmisegmentovek. Ve smyčce monitoru při čekání na stisk klávesy je odběr do 1,1 A.

Několik poznámek ke stavbě :

Při návrhu (léto 2019) jsem vycházel pouze ze součástek, které byly v té době k dispozici v internetových obchodech (Hadex, Denkl, apod.). Nepředpokládám proto, že by s jejich dostupností byl větší problém.

Plošný spoj je připraven na osazení jak původními mikrospínači WN 55900, tak mikrospínači DM-03S00P, resp. DM-03S01P, které pořídíte např. v GESu.

Prototyp jsem vybavil precizními paticemi, kromě sedmisegmentovek, kde je nutné použít pro jejich ploché vývody patice „obyčejné“. Oživení bylo bezproblémové, pokud pominu 2 chyby na plošném spoji, které jsou ale ve verzi 1.1 již opraveny.

V některých případech (pravděpodobně podle hodnoty maximálního proudu napájecího zdroje) dochází k situaci, že kondenzátor C4 na desce klávesnice a displeje po zapnutí nevyresetuje klopný obvod pro krokování procesoru do stavu RUN. V tom případě vyzkoušejte zvýšit hodnotu kondenzátoru.

Opravdu velkým problémem jsou sedmisegmentovky. Použil jsem zelené LQ470 a snížil hodnotu předřadných rezistorů na 75 Ohmů (hodnota 150 Ohmů, uvedená ve schématu a BOM, odpovídá červeným LQ410). Přesto je potřeba vybírat, některé segmenty již po letech opravdu příliš nesvítí.

Hodnoty rezistorů u indikačních LED diod odpovídají proudu 10 mA, přesto originální LED diody z produkce Tesly svítí jen velmi slabě.

Hodnoty rezistorů u klávesnice jsou přepočteny na odběr řady 74ALS.

Schéma CPU
Schéma klávesnice a displeje
Seznam součástek
Monitor - Originální verze - ve výpisu zveřejněném v původním článku v AR je několik překlepů, které jsou v tomto souboru opraveny
Monitor - Originální verze s opraveným znakem 9 - originální monitor má chybu v kódování segmentů pro zobrazení znaku "9"

Pavel Kašpar, kaspar(taková zatočená věc)pk.cz