Tom visszatérése - retro C64 javítás

Előzmények

Legutóbb belevágtam két padláson fellelt Commodore 64C restaurálásába, akiket Tom és Jerry névre kereszteltem el. A restaurálás során Jerryt sikerült életre kelteni, sajnos azonban Tomot nem. Ennek oka valamilyen elektronikával kapcsolatos hibára volt visszavezethető, leginkább azokra az olcsó lemezlábas IC foglalatokra terelődött a gyanú, amelyeket egy korábbi nagyjavítás során építettek be az alaplapba. Mivel azonban kiforrasztó állomásom még nem volt, a hagyományos kiforrasztás drasztikus módszereitől pedig mindenféleképpen meg akartam kímélni az alaplapot, ezért akkor félretettem Tomot. A kiforrasztó állomás azonban, egy YIHUA 948 típusú, azóta megérkezett, ezért tüstént nekiláttam az életmentő operációnak.

Figyelem! A cikkben bemutatott próbálkozások és javítási módszerek saját tapasztalatokon alapulnak. Ha te is kipróbálod őket, azt kizárólag saját felelősségedre tedd! A szerző semmilyen felelősséget nem vállal az esetleges kárért vagy meghibásodásért!

IC foglalatok cseréje

Hat lemezlábas IC foglalat volt Tom testébe forrasztva. Az U1 CIA, a két ROM és a két DRAM, valamint az órajel generátor IC foglalatai voltak a gyengébb minőségűből. Ezeket mindenképpen cserélni akartam a megbízhatóbb, precíziós változatokra. A kiforrasztó állomás tette a dolgát, alapvetően könnyen ki lehetett szabadítani a régi foglalatokat a nyákból, némi elviselhető mértékű szenvedés mellett egy-két makacs láb esetében. De nem volt kegyelem, a régi foglalatoknak mindenképpen távozniuk kellett.

Kiforrasztás után
Újrafoglalatozva

A kiforrasztást követően bőséges flux és ónszívó harisnya segítségével teljesen letisztult forrasztási pontok maradtak vissza, amelyek az izopropil alkoholos tisztítást követően gyönyörűszép, szinte gyári nyákrajzolatot hagytak maguk után. Az új foglalatok beforrasztása szintén egy kis flux segítségével már játszi könnyedséggel ment, majd a forrasztás szintén IPA tisztítás követett, had csillogjon az az ón rendesen.

R101

A kiforrasztás során lettem figyelmes arra, hogy az R101 ellenállás egyik lábán egy túl nagyra hízott óngömb található a forrasztási oldalon. Gyárinak tűnt a forrasztás, gondoltam véletlen lett ilyen. Mondom ez nem szép, ezt azért szebben is meg lehet forrasztani, ezért a kiforrasztó pisztoly segítségével elkezdtem leszívni a túl nagyra hízott óncseppet az ellenállás lábáról, amikor az ellenállás lába egyszer csak természetellenesen nagyot mozdult, mintha ki akart volna esni. Ez viszont nem történhetett, mert a másik lába be volt forrasztva. Ekkor vettem észre, hogy az ellenállás a tövénél el van törve. A C64-ben a passzív alkatrészek többsége állva forrasztott, így a legtöbb ellenállás, köztük a 100 ohmos R101 is.

A törött R101 ellenállás

Gyorsan megnéztem a kapcsolási rajzot, hogy mi a feladata az R101 ellenállásnak és ekkor döbbentem le. A DRAM chipek CAS (Column Address Strobe) vezérlőjelét ez az ellenállás köti össze az U8 PLA chip CASRAM vonalával, amely ha megszakad, mint jelen esetben, azt jelenti, hogy a számítógép nem tudja címezni a memóriát, tehát működésképtelen. Ebben a pillanatban szinte biztos voltam benne, hogy megtaláltam miért nem indult el Tom a korábbi próbálkozások során.

Hiányzó IC-k pótlása

Az előző cikkben említettem, hogy Tom nagy valószínűséggel donor gép lehetett, mivel több integrált áramkör hiányzott belőle, többek között a két ROM, a DRAM chipek és a SID chip. Saját készletből sikerült pótolni a két DRAM-ot két HY53C464LS-10 típusú Hyundai gyártmányú személyében, valamint a SID chipet a gyűjteményemből.

Égetett Kernal/Basic ROM

A Kernal/Basic ROM egy NEC D27128 típusú EPROM segítségével került pótlásra. Jerry Kernal ROM-jának tartalmát kiolvastam, amely tulajdonképpen szintén egy utólagosan égetett EPROM, majd beégettem azt a D27128-ba.

A hiányzó karakter ROM-ot egyelőre kölcsön kértük Jerrytől, hogy ne húzzuk az időt, ugyanis a C64 karakter ROM egy 2332 típusú integrált áramkör, amely lábkiosztása sajnos nem 100% kompatibilis az azonos kapacitású EPROM-okkal, ami azt jelenti, hogy nem lehet olyan gyorsan reprodukálni egy ilyen karakter ROM-ot, mint ami most az élesztéshez kell. Erről majd szeretnék egy külön posztot írni.

Természetesen Tom élesztése Jerryhez hasonlóan fokozatosan történt. Először az órajel generátor és a RESET áramkör tesztelése történt meg a többi integrált áramkör nélkül, majd egyszerre behelyeztem az MPU-t, VIC chipet, a két CIA chipet, a DRAM-okat, valamint a ROM-okat billentyűzet nélkül, majd a bekapcsolást követően nagy örömömre Tom végre elindult.

A karakter ROM nélkül ilyen képe van egy C64-nek

A billentyűzet javítása

Tisztában voltam vele, hogy ez még nem a teljes győzelem. Billentyűzet nélkül a siker csak fél siker. Említettem, hogy Tom billentyűzete nem működött. Bizonyos gombok abszolút nem reagáltak, nyomórugók hiányoztak, illetve látszott, hogy a billentyűzet már volt javítva, vagy megkísérelték annak javítását.

Jerry billentyűzetét rádugva meg tudtam bizonyosodni arról, hogy a billentyűzet kezeléséért felelős CIA chip rendben működik. Arra gondoltam, hogy csak annyit kell tennem, hogy szétszedem és kap majd egy alapos kontakt tisztítást és minden probléma megoldódik. Mint utólag kiderült, óriásit tévedtem. Tom billentyűzetének javítása olyan problémákkal szembesített, amelyekre álmomban sem gondoltam.

A hiányzó rugók pótlása megérkezett Kínából, így ezen a problémán gyorsan túl lehetett lépni. A billentyűzetet szétszedtem. Egy kazal csavart kellett hozzá kitekerni, továbbá a SHIFT LOCK kapcsoló lábairól kellett leforrasztani két vezetéket, ezzel a billentyűzetet szét lehetett szedni. A nyomtatott áramköri lemez bakelit alapú, amelyen aranyozott kontaktus pontok vannak. Ezeket zárják villamosan össze a rugós nyomógomb tasztatúrán található grafitozott gumi padok. A kontaktusok között körülbelül 80-180 ohm közti ellenállás mérhető a billentyű lenyomott állapotában, míg felengedett állapotban végtelen (szakadás).

Billentyűzet nyák
Grafit kontaktus

Az idő elteltével a villamos kontaktus pontok oxidálódhatnak, ezért a lenyomott állapothoz tartozó ellenállás megnövekszik, így bizonyos billentyűk nem vagy nehezen működnek, esetenként erősebben kell megnyomni őket. A javítás egyszerű. A nyáklemezt meg kell tisztítani izopropil alkohollal, a grafitos gumi padokat pedig óvatosan meg kell csiszolni, pl. egy A4-es nyomtató papíron megdörzsölve egyesével őket, hogy a felületükön található oxidáció megszűnjön.

A fenti tisztítást megcsináltam Tom billentyűzete esetében, azonban bizonyos gombok továbbra sem működtek. Konkrétan az alábbiak: 5, 6, N, M, J, <, >, ill. arra lettem figyelmes, hogy a jobb SHIFT billentyű is holosan tette a dolgát. Abszolút nem értettem mi miatt lehet ez, hiszen a billentyűzet mátrixot megvizsgálva semmi közük nem volt egymáshoz, nem lehetett azt mondani, hogy egy adott sorra vagy oszlopra kapcsolt gombok nem működnek. Nem találtam ilyen jellegű összefüggést a probléma mögött.

Billentyűzet mátrix

Valahogy nem volt logikus az, hogy mi mikor és miért történik. Volt olyan eset, hogy az 5, 6 gombok működtek, aztán nem. Ugyanígy a jobb SHIFT, néha működött, néha nem. Egyszer azt figyeltem meg, hogy a jobb SHIFT gomb miden bekapcsolás után működik, viszont a gombok nyomogatását követően egyszer csak nem. Ez abnormális, ilyen nem lehet és azonnal a CIA chipre terelődött a gyanúm. Kicseréltem hát a CIA chipet és a jobb SHIFT gomb anomália (és még valószínűleg pár másik is) örökre megszűnt. Viszont nem minden billentyű probléma tűnt el, pl. az 5, 6 gombok továbbra sem működtek.

Az új CIA chip

Egy multiméter segítségével végig mértem a teljes billentyűzet mátrixot, próbáltam megtalálni mely gombok esetében van szakadás és melyek esetében megemelkedett ellenállás. Találtam is pár olyan billentyűt, amely esetében megnyomáskor a mért ellenállás több száz kilo- vagy akár megaohm volt. Négy ilyen gombot találtam. Ezeket kiszedtem, gumi padjaikat ismét megcsiszoltam, valamint utolsó próbálkozáskén, a sokadik IPA tisztítást követően elővettem a kis polírozó gépet, majd felpolíroztam az összes aranyozott kontaktust a billentyűzet nyákon.

Kontaktusok polírozása

Láss csodát, részleges összecsavarozás után minden gomb működött. Részleges csavarozás alatt azt kell érteni, hogy nem az összes csavart tekertem be a billentyűzet összefogatásához, csupán ötöt. Ennek hamarosan lesz jelentősége.

Bakelit nyák, sok csavar

A sok-sok szenvedés és próbálkozás után óriási örömmel csavartam be minden csavart, szereltem be Tom nyákját és billentyűzetét annak dobozába, majd kapcsoltam be a gépet immáron teljesen működőképsnek vélt állapotában, mikor jött a nem várt csalódás: az eddig 100%-osan működő billentyűzeten az 5, 6 gombok megint nem mennek.

Mondanom sem kell, hogy ekkor már meg sem tudom számolni mennyi alkalommal szedtem szét és csavaroztam össze a billentyűzetet. Szétszedtem hát akárhanyadjára is. Csak a csupasz nyák volt előttem, amelyen egy darab vezeték segítségével összezártam a kontaktusokat, tessék, itt van 0 ohm! És jött a meglepetés: az 5 és 6 gombok akkor sem mentek, amikor rövidre zártam azok kontaktusait. Mondom, meg vagy! Itt van valahol egy vezetősáv szakadás, amely hol érintkezik, hol nem. A multiméter is azt igazolta, hogy a C oszlop vezetéke nincs összeköttetésben az 5 és 6 gombok megfelelő pontjaival. Fogtam hát a mikroszkópot és elkezdtem nézni azt az igencsak kacskaringós vezetéket, amely a C oszlop bekötési pontjától az 5 és 6 gombokig vezet.

A hajszálrepedés helye

Néztem sokáig, de nem láttam semmi problémát. Sehol egy sérülés, sehol egy látható probléma. Még a nyákgyártás során bekövetkezett alámaródásokat is láttam a vezetősávok szélein. Viszont a mérés nem hazudik. Elkezdtem hát egy csavarhúzóval szakaszonként lekaparni a lakkot és ezeken a pontokon mérni és megtalálni hol lehet a gond. Egy panel rögzítő csavar furatát megkerülő vezetéksávnál tűnt el a jel. Vizuálisan továbbra sem volt látható semmi, de azon a ponton biztosan a lakk alatt sérült volt a réz vezetősáv. Lekapartam egy jó darabon a lakkot és forrasztóval átónoztam ezt a szakaszt. Egyértelművé vált, hogy mi volt a gond és miért történt az, hogy egyszer jó volt egyszer nem. Attól függött az 5, 6 gombok működése, hogy az a csavar, amely furata a vezetősáv szakadás mellett volt meg volt-e húzva vagy sem, illetve milyen nyomatékkal.

Huhhh....

Összefoglalva, a billentyűzet hibáját az alábbi több egymásra halmazódott probléma idézte elő:

  • A billentyűzet kezeléséért felelős CIA chip instabil működése, hibája
  • Erősen oxidálódott kontaktusok
  • A billentyűzet nyákjának rejtélyes, nehezen behatárolható, sztochasztikusan jelentkező vezetősáv szakadása

Összefoglalás

Jó érzés, hogy pár héttel az után, hogy spontán összetalálkoztunk Tomal és Jerryvel a padláson, már két restaurált és tökéletesen működő Commodore 64C-t köszönthetek viszont. Kár lett volna értük.

Tom javítása az alábbiakat igényelte:

  • Tom minden IC foglalata precíziósra lett cserélve, amely a restaurálás részeként további garanciát jelent az oxidációból eredő hibák kiküszöbölésére.
  • Volt egy törött ellenállás, amely vizuálisan teljesen észrevehetetlen volt, mivel álló helyzetben kitámasztotta magát, így nem tűnt fel. Legutóbb azt a hibát elkövettem, hogy oszcilloszkóppal a DRAM-ok a 16-os lábán nem mértem a CAS jel meglétét, csak a PLA chip 22-es lábán. Az pedig már soha nem fog kiderülni, hogy az ellenállás mikor és miért tört el. Mindenesetre biztos egyedi esettel volt dolgom.
  • Tom billentyűzet kezeléséért felelős CIA chipje szintén hibás volt, amelyet cserélni kellett.
  • A billentyűzet javítása volt a legmeredekebb, amely mögött több nagyon nehezen felderíthető probléma húzódott meg.
Idő közben megoldottam, hogyan tudok külső forrásból származó - például diagnosztikai - programokat betölteni a két C64-be kizárólag saját (kreatív) megoldással. De erről majd egy következő posztban fogok részletesen írni.

Szóval most már itt vannak a srácok, ismét visszaszállt beléjük az élet. Játékra fel!

Pac-Man 1982
Invaders - 1980

Megjegyzések