Náhrada PROM u PMD85
VAROVÁNÍ
Následující článek obsahuje obrázky a schémata, ze kterých se těžkým retrošílencům může udělat nevolno. Konkrétně se jedná o mixování moderních procesorů s 40 let starými polovodiči, otevírání skřínky počítače, vytažení čipů z patice.
Na druhé straně garantuji, že každá úprava je vratná, nedochází k žádnému poškození DPS („přeškraby“) ani řezání do skříňky.
Jelikož mám doma několik PMD, vím, co jsou teslácké PROMky MHB8608 za „poklad“. Podle teploty a vnitřního emočního rozpoložení se ve spolupráci s paticemi náhodně rozhodují, zda budou/nebudou fungovat.
Nahradil jsem je proto destičkou, která se nacvakne do původních patic a připojí na pár linek z DPS. Nejen, že se snížilo zatížení napájecích větví a klesla teplota uvnitř skříně, získal jsem i možnost jednoduše nahrávat různé upravené verze monitorů a také (u PMD85-2A) nahrát kód do oblasti A000 – AFFF, kde se normálně jen zrcadlí 4kB monitoru. Navíc takto upravené PMD frčelo i několik hodin bez jediného kolapsu, o čemž jsem si před tím mohl nechat jen zdát.
Zapojení je tvořeno čipem ATmega32, který v sobě nese několik ROM obrazů a dá se jednoduše měnit přes ISP rozhraní. Jednoduchý program uvnitř čipu přečte adresu (z patic získá 10 bitů, další linky A10/A11/A12 je nutné získat z DPS) a vyplivne na datovou sběrnici bajt z vnitřní FLASH. Datovou sběrnici si ale nárokuje i videoprocesor, který odpojuje PROMky signálem /OE, na to by ATmega32 nestačil reagovat dostatečně rychle, proto je mezi ním a datovou sběrnicí zařazen 74HCT245 a signály /OE ho uvádějí do stavu vysoké impedance. Pro správnou funkci se musí čtení adresy synchronizovat s okamžikem, kdy 8080A vyšle tuto adresu na sběrnici, proto je k ATmega32 přiveden z 8080A signál SYNC (pin 19). Pokud se ROM zapojuje v PMD85-2A, vývod z destičky označený jako A12 se připojuje ve skutečnosti na adresový vodič A13 (musí se „přeskočit“ oblast 9000-9FFF).
V ATmega32 je nahrán přepínač promek, takže po zapnutí se zobrazí nabídka, klávesami K0, K1, … se zvolí odpovídající verze a provede se teplý restart. Jinou verzi monitoru je možné vybrat jen po opětovném vypnutí/zapnutí počítače (obyčejný reset spustí přímo zvolenou verzi monitoru).
V přiloženém souboru je schéma zapojení a návrh DPS v programu Eagle. Návrh DPS není ideální, vycházel jsem z toho, co jsem měl po šuplících (pasivní součástky nejsou SMD). Původní prototyp jsem měl dokonce celý postavený z THT součástek, obvod byl ale tak rozměrný, že nešlo PMD zavřít. Dále se zde nachází zdrojový soubor pro ATmega32, nesoucí na ukázku dvě verze monitoru pro počítač PMD85-2A (původní + upravený 2B). Snad bude z komentářů patrné, jak se dá sestavit vlastní kompilace. Zdrojový kód je určený pro AVRstudio verze 4. Případně lze pro oživení použít přiložený hex.
Při programování ATmega32 se nesmí zapomenout nastavit i „fuses“, zejména pak nastavit taktování na externí krystal 20MHz a vypnout JTAG interface. V řeči hexadecimálního kódu to je L=0xEE a H=0xD9.
Ze základní desky PMD se musí napojit adresové vodiče, signál SYNC a signály OE pro všechny 4 EPROMKy (jeden lze vlastně získat z patice, což může být další námět na vylepšení návrhu DPS). Dá se k tomu využít jednak výborně zpracovaná schémata ze stránek http://sapi.cz a jednak průchodky v DPS, do které lze bezbolestně zapájet drátek (bolestivější je vypájení, hrozí vytržení prokovení). Signál SYNC bohužel nikde deskou neprochází, dokonce není přístupný ani z horní části desky (pokud nepočítám přímé napájení na nožičku procesoru 8080).
Zdrojové soubory jsou ke stažení zde: pmdrom.zip
Já uvažuji o náhradě pamětí Am27S191 nebo podobnou bipolární PROM. Příkon má značný, ovšem životnost dat také. Prostě, co se jednou přepálí, proud nevede ani omylem. Až budu velký, nějakou si koupím a vypálím do ní BIOS PMD 85-2A.
Náhrada klasickým paměťovým čipem by byla asi více v souladu s koncepcí PMD85. Nechtělo se mi ale kvůli tomu stavět programátor, a tak jsem to jedno odpoledne vyzkoušel s AVR. A ono to fungovalo hned a zvládlo to i můj oblíbený test – 4hodinový DUMP. Navzdory datu publikování (jde mi to strašně pomalu, mám tu rozepsáno v konceptech asi dalších 10 věcí), to mám v počítači už pár let a nebyl s tím problém. Proto o náhradě PROMkou už neuvažuji. Ale rád se jednou podívám na fotky s osazenou Am27S191 😉
No ja vo svojom fyzickom pmd85 inkarnujem monitor do chipu 2732. Je to takmer identicky s 2708 a treba naozaj len par preskrabov/drotikov spravit. Ale ano, keby niekto toto kvazi-seriovo vyraba, kupim si hotovy s prepinanim modelov PMD/Didaktikov 🙂
Len kvoli zvyseniu spolahlivosti…