počítač NOSTALCOMP 8080

- mikropočítač postavený ze šrotu



Nostalcomp 8080 je amatérský mikropočítač ve stylu školních jednodeskáčů konce 70. a z přelomu 70. a 80. let minulého stolení. Právě Nostalcomp se stal podnětem ke vzniku tohoto stejnojmenného webu. A jak to vlastně celé začalo? Před několika lety se mi dostaly do ruky do šrotu mířící osazené desky z nějakého tuzemského stařičkého počitadla. A na nich hejna obvodů z dob mého mládí. Vše se točilo kolem procesoru MHB8080A. Zachvátila mne vlna nostalgie a já si řekl, že si čas udělám a postavím mikropočítač ve stylu tréninkových kitů z konce 70. let minulého století. Jako podmínku jsem si dal to, že použiju integráče pouze z těch desek a taky, že to postavím z hlavy a nikoliv podle nějakých návodů. Výsledek, pojmenovaný NOSTALCOMP 8080, je na následujícím obrázku a datuje se do roku 2004:

Amatérský mikropočítač NOSTALCOMP 8080

Amatérský mikropočítač NOSTALCOMP 8080 - deska terminálu a deska CPU

Na obrázku vpravo je vlastní počítač - procesorová deska. Osazení klasika: 8080A + 8224 a 8228. Krystal 18 MHz. Statická RAM 1 KB (2x2114), EPROM volitelná jumpery mezi 2716, 2732 a 2764 (není osazena, protože jsem používal simulátor). Dekódování adres má na starosti 3205-ka, která prostě jen visí na A13-A15 a rozděluje adresový prostor na 8 bloků po 8 KB. V těchto blocích jsou adresovány i periferie (porty 74LS373 na desce terminálu). S porty se tedy pracuje jako s pamětí a nevyužívají se instrukce IN a OUT. To je z důvodů jednoduchosti. Adresový dekodér 3205 tak nepotřebuje ovládat uvolňovací vstupy a má je uvolněné "natvrdo". Invertor 7404 slouží jako zesilovač pro výstup INTE, kde je LEDka. To je celkem zbytečné, ovšem posloužilo to jako nejjednodušší indikátor, že to něco dělá. První program prostě jen otestoval RAM a střídavým povolováním a zakazováním přerušení rozblikal tuto ledku na znamení, že RAM je OK. Ostatní LEDky signalizují přítomnost napětí (-5V, +5V a +12V). Konektor "pětikolík" slouží pro připojení zdroje. Dva černé konektory PSL10 slouží pro připojení periferií, v tomto případě ovládacího terminálu. Na jeden jsou vyvedeny řídící signály /RESET, INT, /RD, /WR a "čipselekty", na druhém je datová sběrnice D0 až D7. Kromě signálů je na obou konektorech napájení +5V.

Amatérský mikropočítač NOSTALCOMP 8080 - deska CPU

Amatérský mikropočítač NOSTALCOMP 8080 - deska CPU

Druhá deska je obslužný terminál. Obsahuje 20 tlačítek v matici + tlačítka pro RESET a INT. Jako displej slouží 8 sedmisegmentovek v multiplexu. Na další port je pověšeno 8 LEDek na hraní. Jako porty slouží 4x 74LS373. Díky jejich šílenému rozložení vývodů je to asi nejhorší možnost, ale nic jiného na těch deskách tehdy nebylo. Dále je na desce terminálu jeden 7400 (z hradel NAND jsou sestaveny RS klopné obvody pro ošetření tlačítek RESET a INT) a 7402 (NOR pro dekódování LE a OE u výstupních portů, aby výstupy zůstaly aktivní a nepřecházely do třetího stavu při neadresování). Dva konektory PSL10 slouží k propojení s deskou CPU. Napájení je také z procesorové desky (+5V).

Nostalcomp na univerzální DPS

Nostalcomp na univerzální DPS - strana spojů

Vše je osazeno na dvou vrtaných univerzálkách z GM a pospojováno "zvonkovým" drátem. Deska CPU je na univerzální desce CU-TA 034 a terminál zase na CU-TA 035. Obě desky mají rozměr tzv. malé eurokarty, tedy 160 x 100 mm. Jelikož jsem se při letování málem otrávil, vznikl během stavby Nostalcompu také improvizovaný odsavač par pojmenovaný SMRADOCUC. Nutno poznamenat, že Smradocuc používám dodnes a jakékoliv letování si bez něj už nedovedu představit.

Všechny integrované obvody Nostalcompu, tranzistory, sedmisegmentovky a krystal je z těch šrotových desek. Všechny IO a tranzistory jsou TESLA. Vše funguje. Celé je to postavené víceméně z hlavy. Žádné detailní schéma neexistuje. Jen pár náčrtků k terminálu, ve kterých se po letech nevyzná ani autor sám... Ale dokumentace ani není třeba. Stačí tzv. pinouty (rozložení a popis vývodů) jednotlivých IO a základní zapojení "svaté trojice" 8080A + 8224 + 8228. Vše ostatní je jasné. Jinak se to ani zapojit nedá :-)

Pro překlad programů jsem používal ASM85 z balíku XASM a později tabulkový TASM s tabulkou pro Z-80, ovšem s vyjmutými instrukcemi, které 8080 nemá. Důvod, proč jsem zběhl k překladači pro Z-80 je ten, že používání názvů instrukcí, které zavedl právě Zilog, je mnohem jednodušší. Tak například v assembleru 8080/85 existuje několik různých instrukcí pro přesun dat (LXI, MOV, MVI, LDA, LDAX, STA, STAX, LHLD, SHLD, SPHL) a vy si musíte pamatovat (nebo pořád šmátrat v dokumentaci) kdy kterou použít. V assembleru Z-80 si stačí pamatovat jedinou (LD) a o ostatní se postará překladač. Podobné je to s instrukcemi skoků, ale i s dalšími instrukcemi. Srovnání instrukčních souborů 8080 a Z-80 naleznete zde: 8080/Z80 opcodes. Pochopitelně když píšete v assembleru Z-80 program pro 8080, musíte používat pouze instrukce, které procesor 8080 umí.

Programy jsem z PC nahrával do simulátoru EPROM připojeného do desky CPU Nostalcompu. Simulátor EPROM jsem stavěl podle ročenky ELECTUS 2002. Napájecí zdroj jsem sehnal originální SN 80 od PMI-80 (používal se i k PMD 85), který má to potřebné pořadí náběhu napětí. Ovšem to není až tak nutné. V "dobové" literatuře je spousta konstrukcí zdrojů, které mají maximálně pojistku výpadku -5V, ale pořadí neřeší.

Později jsem si drbal hlavu, že jsem to nepostavil kompatibilní s PMI-80. Mohl jsem převzít hotový monitor a pohrát si více. Jelikož vymýšlet vlastní monitor už se mi nechtělo, tak vše skončilo jen u několika málo testovacích programů (testy RAM, displeje, ledek, klávesnice). Pak to šlo do šuplíku...

Nakonec ještě přikládám obrázek malé části těch šrotových desek, ze kterých jsem použil všechny aktivní součástky:

Staré desky ze šrotu

Staré desky ze šrotu

2010: drobné úpravy

Ze šuplíku se na světlo světa dostal Nostalcomp 8080 až v roce 2010 a to díky další nostalgické vlně, která přinesla (mimo jiné) i vznik tohoto webu a stavbu PMI-85 a dalších replik. Nostalcomp dostal několik málo vylepšení. Za prvé byl původní "pětikolík" nahrazen konektorem, který se používá pro napájení disketových mechanik v PC. Důvodem bylo to, že u napájecích zdrojů pro systémy s procesorem 8080 používám kabely s konektory ze zdrojů PC. Další úpravou bylo ošetření signálu INT. Do cesty signálu INT byl vřazen invertor a výstup z klopného obvodu ošetřujícího tlačítko INT je nyní negovaný. Je to z důvodu toho, aby deska CPU mohla plně pracovat i bez připojeného terminálu. Dále přibyly další dva jumpery, takže nyní lze do patice pro EPROM osadit typy až do 27512 (právě v EPROM 27512 jsem měl nahraný testovací program pro RAM a ani nevím proč zrovna v tak velké EPROM):

Test 1KB RAM Nostalcompu 8080

Poslední úpravou byla výměna předřadných odporů u displeje. Původně jsem se držel hodně při zdi a odpory byly moc veliké a na displej v multiplexním provozu nebylo skoro vidět. Ještě tenkrát jsem k původním odporům paralelně připojil další, ale pořád to nebylo ono. Až teď jsem se odhodlal k jejich celkové výměně a displej už je krásně čitelný. Nostalcomp v provedení z roku 2010 je na následujících obrázcích. Ovšem to je zase vše. Jen jsem vyzkoušel, že vše funguje jak má. Udělal jsem si poznámky v "dokumentaci", čili jsem ji dále znepřehlednil a počítač zase míří do depozitáře...

Nostalcomp v roce 2010

Nostalcomp v roce 2010

Nostalcomp v roce 2010

Zkompletovaný Nostalcomp 8080

Nostalcomp v roce 2010

Funguje to... :-)

A proč to?

Jestli vás také napadá, proč to vůbec někdo dělá a proč s tím ztrácí čas, mrkněte sem.


RET



Odladěno na MS IE 8.0 a Firefoxu při rozlišení min. 1024 x 768 pixelů
www.NOSTALCOMP.cz    2010  -  2017