Oprava dvou ZVT PP 01 aneb ve dvou se to lépe táhne

Před nějakou dobou mě na webu SynDiKatu potěšila Ikonova informace o úspěšné opravě jeho PP 01. Moje PP 01 zatím čekalo v krabici na dostatek času a tu správnou náladu se do něj pustit. Proto mě potěšil Pavel Urbančík, který nabídnul, že by se stavil se svým částečně nefunkčním PP 01 a zkusili bychom ty dvě potvůrky dát to provozuschopného stavu. Moje zobrazovalo RAM „binec“ a jinak ani neškytlo, Pavlovo se rozjelo s hláškou „RAM ERROR“ a BASIC podivuhodně „blbnul“.

PP-01_Martin_nefunkcni   PP-01_ve_dvou_se_to_lepe_servisuje   PP-01_Martin_working

Plán byl jednoduchý – vzájemně prohážeme některé karty a uvidíme. Pavel už předtím opravil svůj nefunkční ROM modul po Ikonově vzoru a nahradil 16 kousků ROM MHB8806 za jednu 27128, čímž získal z nefunkčního PP 01 ono funkční blbě.

Začali jsme tedy otevřením obou kousků, vyhozením zdroje a prohozením ROM modulů.

PP-01_Martin_deska_RAM   PP-01_Martin_otevrene

A ejhle, moje PP 01 se s Pavlovým ROM modulem rozjelo jako víno, zatímco Pavlovo bylo úplně mrtvé, jako to moje předtím. Takže moje PP 01 šlo bokem, protože závada byla diagnostikována a oprava již celkem jednoduchá.

Pavlovo PP 01 nás celkem potrápilo. Prohozením desky paměti RAM bylo jasné, že závada je v ní. Bohužel se projevovala jak kdy a nejvíc při bitovém přístupu k některým barvám ve video RAM. PP 01 má dva režimy přístupu do video paměti. Buď je možné použít registr barvy a přistupovat do všech R, G a B pamětí současně danou barvou nebo je možné namapovat R, G a B oblasti do paměti a zapisovat do nich samostatně. A právě kombinace prográmků v BASICu, kde se jako problematický jevil jeden bit z oblasti video RAM a měření, kdy přišel ke slovu i logický analyzátor, jsme postupně identifikovali podezřelou RAM. Pavel nedočkavě a zcela nekompromisně „vyštípal“ podezřelého jedince, zatímco já jsem našel v zásobách, v pravdě historickou, RAM TESLA MHB4116. Po výměně jsme si mohli oddechnout, Pavlovo PP 01 šlapalo jak má. RAM ERROR byl pryč a video se chovalo korektně. Spokojeně jsme si oddechli a Pavel vyrazil k domovu.

Mně však čekala ještě práce s ROM modulem. Nechal jsem to pár dní odležet a přemýšlel, co s tím. Náhrada za 27128 ve stávající desce mi přišla poněkud barbarská. Jsem trošku pedant a staré počítače se snažím dostávat do stavu „jako nové“, proto jsem plánoval nalezení a výměnu vadné ROM. Bohužel, celý můj ROM modul byl zapájený a jedna ROM MHB8608 už byla zjevně dříve vyměněna za EPROM MHB8708C. Vyštípat a nahradit všechny ROM za EPROM se mi moc nechtělo a byla by to škoda.

PP-01_Martin_opraveny_ROM_modul   PP-01_Martin_ROM_modul_z_boku

Proto jsem se rozhodl zkusit ROM modul vyčíst a najít závadu. Ke slovu mělo přijít moje oblíbené Arduino, ale Pavla napadl lepší nápad – připojit modul k programátoru a zkusit vyčíst jako 27128. To mi přišlo jako chytré a kdyby to nešlo, Arduino bylo stále v záloze.

Vyzkoušel jsem ROM modul připojit k mému GQ-4X a na pomalejší rychlost se čtení povedlo. Našel jsem vadný blok od adresy 3000H do 31FFH a pak odlišné byty na adresách 12F9H a 3FFFH. Zkoušel jsem čtení i v Genius G540, ale tam se nezadařilo. G540 neumožňuje nastavit rychlost čtení, jako GQ-4X a zřejmě přistupuje do modulu, který je komplikovaný ještě adresní logikou a budiči, moc rychle.

PP-01_Martin_nacteni_obsahu_ROM_modulu   PP-01_Martin_nacteni_obsahu_ROM_modulu2

Oblast 3000H-31FFH odpovídá první polovině ROM 13, ale změna na adrese 12F9H se mi nezdála, protože přesně negovala změnu na 3FFFH. Já mám na 12F9H byte C2H, zatímco v ROM z netu je údaj F2H. Opačně pak mám na adrese 3FFFH data 85H, zatímco na netu je 55H. Protože šlo opravdu jen o jeden byte a vzájemně komplementární ve dvou různých ROM, předpokládám, že se nejedná o chybu, ale mám prostě jinou verzi ROM, kde je jiný byte na 129FH a k němu odpovídající checksum. Rozhodl jsem se tedy vyměnit jen ROM 13, která je u mně označená jako ROM 13 B.

Na EPROM MHB8708 mám programátor už druhým rokem ve stavu totálního Arduino „bastlu“, který kromě 8708 ještě podporuje programování bipolárních PROM. První úkol byl tedy zprovoznit můj „bastl“, což naštěstí šlo překvapivě dobře.

PP-01_Martin_hlavni_podezrely   PP-01_Martin_programujeme_EPROM_MHB8708C

Druhý úkol byl dostat ven z NEPOŠKOZENÉ desky vadnou ROM. Tady už dlouhá léta praktikuju nemilosrdné vyštípání obvodu a vytahání nožiček po jedné. Je to velmi bezpečné a nedestruktivní pro desku, která je v tomto případě to nejcennější. Berme v potaz i skutečnost, že deska není zrovna moc kvalitní a je potřeba se k ní chovat něžně, jinak vyskáčou prokovy. Obvody jsou napůl vyskákané už z pájecího procesu Mrkající veselý obličej.

PP-01_Martin_vadna_ROM_pryc   PP-01_Martin_vymenena_EPROM

Po výměně ROM za naprogramovanou EPROM jsem opět zkusil ROM modul načíst a s výjimkou oněch dvou zmiňovaných bytů, bylo vše OK. Po zapnutí už na mně zablikal kurzor z hláškou:
GBASIC 5.8
READY

Ovšem obraz přes analogový TV tuner nebyl ani škaredý, byl fakt HNUSNÝ. Rozhodl jsem se tedy zkonstruovat SCART kabel. Schéma jsem vzal od Ikona a jako baterii jsem použil CR2032, kterou jsem zabudoval do držáku dovnitř SCART konektoru. Předpokládám, že tam vydrží téměř věčně.

PP-01_Martin_SCART_s_baterii   PP-01_Martin_opravena_deska_a_SCART

Pak už jsem byl s obrazem spokojen a složené PP 01 bylo jako nové.

PP-01_Martin_working   PP-01_Martin_jako_nove

Na závěr přidám ještě pár foteček, ať se můžete pokochat tímto výdobytkem socialistického počítačového inženýrství Mrkající veselý obličej. Technicky je PP 01 vyřešené velmi zajímavě, bohužel je škoda jeho poměrně špatného finálního zpracování.

PP-01_Martin_baliaci_list   PP-01_Martin_vc8272   PP-01_Martin_zabaleno

PP-01_Martin_kufrik   PP-01_Martin_zavreno

PP-01_Martin_zprava1   PP-01_Martin_zprava2

PP-01_Martin_zleva   PP-01_Martin_zespodu

No a na úplný závěr ještě obsah mojí ROM, kdyby ji chtěl někdo srovnat s jeho. Docela by mně zajímalo, co ten jeden jiný byte dělá, ale blíže jsem to nezkoumal. Existuje někde komentovaný výpis ROM PP 01?

PP-01_ROM_modul_Martin_opraveno.zip

Příspěvek byl publikován v rubrice Československé počítače, PP 01. Můžete si uložit jeho odkaz mezi své oblíbené záložky.

25 komentářů u Oprava dvou ZVT PP 01 aneb ve dvou se to lépe táhne

  1. Pavel napsal:

    Je to presne jak pise Martin, ve dvou se mnohem lip opravuje.

    Nejdrive bych, ale chtel podekovat za azyl, ktery mi poskytl a taky Martinove manzelce za toleranci a zabirani jidelny celou nedeli az do vecera 🙂

    Jinak moje PP01 nemelo puvodne jen vadnou ROMku, ale asi dalsich 8 obvodu, par kvuli zkratu 12V na nejakou TTL logiku a dalsi mely vetsinou odpaleny vystup. To jsem ale dohledal drive sam.

    Taky by bylo fer napsat ze Martin od zacatku tvrdil ze to bude RAMka a jen ja se branil a stale se snazil pochopit slozite zapojeni okolo rizeni RAM a dohledat co by mohlo zlobit.
    Kdyz ale vidim co jsem nakonec vymenil, tak si rikam ze to prece melo byt jasne. Zlobil bit0 na zelene (pamatuju si dobre?) barve … mohl jsem tu RAM vymenit hned 🙂

    Otazka je co s PP01 ted … strojovna je to krasna.

    • Martin napsal:

      No, ted by to chtelo sehnat nejaky software. Zatim jsem moc nepatral, ale ono toho asi moc nebude, co? A co takhle nejake periferie? Bylo k tomu neco?

      • Racedriver napsal:

        Software kromě pár programů v Basicu žádný neexistuje, existují jen zvěsti o nějaké strojákové hře s letadýlkem. Periférie v podstatě totéž – údajně se to mělo dělat ještě jako PP-02, což bylo PP-01 s externí (asi třicetikilovou) disketovou mechanikou, ale tu taky nikdy nikdo neviděl. Jediná periférie, o které mám potvrzeno že existuje (dodneška se dochovala), je přídavný ROM modul MEDA (na internetu jsou fotky toho modulu ve sbírce nějakého sběratele). Bylo by velmi zajímavé nějakého toho sběratele překecat a k obsahu toho modulu se dostat, sloužil totiž právě k programování (tuším že v assembleru).

      • Martin81 napsal:

        Na nasej priemyslovke sme PP01 mali v ucebni, ale ziadny softver k tomu nebol, na rozdiel od PMD85, kde ho boli cele sady kaziet. V druhej triede sme na tom programovali v basicu, v tretej v strojaku klasickym sposobom – napisat program na papier, prepisat do kodov a tie nahadzovat do PP01, co mne, ktory uz par rokov fical na ZX a jeho asm a disase bolo ako navrat k dinosaurom. Z tohto obdobia (r. 1988) mam aj jednu veselu prihodu: kedze pan profesor meskal na vyucovaciu hodinu, vyuzili sme vybavenie ucebne a pustili sme si VHS pasku na prehravaci cs. znacky AVEX s nejakym imperialistickym filmom. Ked po15 minutach prisiel pan profesor, hned nam to vypol, vynadal nam a na oplatku nam zadal narocny priklad na riesenie, ktorym nas chcel pokorit: spravit program na inverziu celej obrazovky. So smiechom dodal, ze ked to spravime, mozme pozerat video dalej. V tej chvili sa na mna uprel zrak mojich 29 spoluziakov, svoje nadeje vlozili do mna. Napisal a prelozil som program tak rychlo, ako sa to dalo. Do 5 minut bol hotovy a otestovany. Pan profesor si zachoval uctu a dodrzal slovo, zvysok hodiny sme pozerali video. Nad mojim programom len mavol rukov, celkom ho nechapal. Inicializacne hodnoty dvoch cyklov som totiz nezadaval jednotlivo do dvoch 8bitovych registrov, ale pre kratkost casu som ich rovno zadal jednou instrukciou do 16bitoveho registra. A pan profesor nevedel prist na to, kvoli comu je nejake hlupe cislo v registri HL.

  2. Racedriver napsal:

    Takovej dotaz: Hned na té první fotce s RAM bordelem není vidět, jestli svítila RUN LED na PP, nebo ne… svítila? Mám totiž jedno PP, co zobrazuje něco hodně podobnýho a RUN LED mi nesvítí, tak by mi ta informace asi trochu pomohla – ROM modul mám totiž OK, a stejně to nejede…

    • Martin napsal:

      Abych se priznal, tak uz si to uplne nepamatuju, ale myslim, ze nesvitila. Svitili jen nejake 2 INT. Tech problemu tam muze byt vic. Pavel mnel vyhorenou celou radu svabu od sluslych 12V. Zpusob jakym je pametova karta polozena na plechove skrince modulatoru je take dost brutalni. Chce to projet poradne cely obvod, na cem se to seka. Pokud mas sanci s nekym zkusit prohodit kartu, setri to dost prace do zacatku.

    • Pavel napsal:

      RUN ledka urcite nestvitila ani u me a ani u Martina.
      Pokud nesviti RUN, tak je procesor ve waitu, nebo ceka na sbernici (je kolem toho docela slozita logika od rizeni RAM, ROM, IMS-2, periferii).
      Pro zacatek bych doporucil projit osciloskopem hodiny a ridici signaly procaku. Pak se zamerit na rizeni sbernice a generovani Ready (na tom to asi stoji)

  3. Roman napsal:

    Načo je pri arduino programátore pre 8708 ešte aj 2GB SD karta ? 🙂

    • Martin napsal:

      Mam to udelane jako standalone. Tj. muze, ale nemusi to byt pripojene k PC. Staci nahrat program v HEX nebo BIN na SD kartu, vybrat v menu programovani a sup to tam.

  4. Doda napsal:

    Ta baterie ve scartu na prepinani RGB (myslim pin 16) vecne bohuzel ani zdaleka nevydrzi, ten prepinaci vstup ma podle definice 75 ohmu , tak si spocitej, za jak dlouho to tu baterii vyduda…… bohuze za par hodin a „tuzkovku“ za par dni.

    • Martin napsal:

      Ty jo, diky, mas pravdu. To mne vubec nanapadlo, ze je tam tak nizka impedance. Bral jsem to jako digitalni prepinaci vstup. Takhle to je jina. To tam pridam aspon 150 ohm odpor, to by pak melo generovat presne ten potrebny 1V a aspon tim trochu omezim spotrebu. I tak je to ale tak na cca 5h provozu. Chtelo by to odnekud napajet, mozna jeste pridam nejaky maly konektor na pripojeni externiho napajeni. A ja mel takovou radost, jak pekne jsem to vyresil.

  5. PvvS napsal:

    A na pinu 8 uz nebyva prepinaci napeti ? Byvalo tam 12V a vetsinou stacilo pres odpor proklemovat.

  6. lacimir napsal:

    Este som chcel doplnit ako som rozbehal ten moj PP01.
    Patrím medzi elektronických analfabetov a asi najväčsie pajkovanie bolo asi pripajkovanie toho scart konektora. Ale hlavne je ze mi moja krasna PP01 bezi ako cumel a v krasnych farbách. Mozno sa pýtate ako som rozbehal ten pocitac, lebo mi vypisovalo ROM ERROR a potom aj RAM ERROR atd. Proste som si povedal, ze stare zelezo potrebuje cas, kym sa poriadne zohreje, aby fachčilo v poriadku. Takze som PP01 zapol a nechal bezat, Po prvej hodine sa uz zacala pomaly chytat obrazovka, ale Gbasic stale nebezal. Tak som pocitac postavil zvislo, aby teplo zdroja pekne prehrialo vsetky chrobáciky vnutri. Po 3 hodinach zahrievania uz zacal nabiehat Gbasic, obcas na minutu potom aj na 5. Samozrejme som ustavicne skusal robit restart, ci maly alebo aj velky (no mohlo ich byt aj 200 kurňa) A potom po dalsom zahrievani uz nabehol uplne v poriadku. Teraz po 5 dnoch skusania pocitac hocikedy zapnem a beží hned bez cakania na zahrievanie.
    No najviac som potesený, ze bezí krasne vo farbe. Trochu to trvalo, kym som prisiel na to, že zapojenie podla Ikona mam urobene spravne, len blbý kontakt na baterke mi nedaval 1,5V na prepnutie TV do RGB. Drzim place aj ostatným PP01 privedeným opäť do zivota. Teraz chcem este niekde kupit stary magnetofon na zaznam programov a ide sa na to.
    PS: Pridavam aj odkaz na par obrazkov: https://plus.google.com/u/0/photos/104738747529338129544/albums/5935100528563867729?authkey=CNnz8PW72a2Tbw

  7. Ben Ash napsal:

    Mám ZVT PP 01 bez jakéhokoli příslušenství tak pokud má někdo zájem, nebo o někom víte tak ať se mi ozve.

  8. Pingback: Oprava PP01 II. | SinDiKat

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *