“Gyruss” er en av spillkortene fra parti-kjøpet, som Pop Bumper gjorde i fjor. Spillet er en klassiker, med et ganske så fett lydspor, produsert av Konami i 1983.

Jeg har studert skjema og feilsøkt i et par kvelder nå. Det har blitt litt banning, men jeg begynner også å utvikle en viss respekt for de som designet disse kortene i sin tid. Hvis jeg ikke tar helt feil, så kom Commodore 64 ut på høsten året før. C64 hadde en 6510 prosessor ombord, samt en feit lydchip. Til sammenligning, så har da Gyruss følgende hardware ombord: 2 stk Z80 prosessorer, 1 stk 6809 prosessor, 1 stk 8039 prosessor, DAC + 5 stk AY-3-8910 lydkretser. Skjemaet er håndtegnet, som iofs var vanlig på den tiden, men lell – respect! 🙂

Anyways.

Utgangspunktet var relativt ok. Gyruss bootet. Det var sprite-søppel på skjermen, absolutt ingen lyd og det skjedde tilsynelatende ingen ting når jeg startet spill. Skjermen var mer eller mindre svart, når jeg startet spill, men det virket som at spillet likevel kjørte.  Jeg startet så feilsøking.

Dag1

PCBen så relativt fin ut, men iom at dette er et 34 år gammelt kretskort, så startet jeg med å reseate alt som sto i sokler, gnikke på edge-connector med blekkviskelær, samt reseate board interconnects.

Testet på nytt. Søppelet på skjermen var borte, men det var fremdeles ingen lyd. Sjekket alle spenninger, inklusive -5V, som eldre spill gjerne trenger.

Satte en finger under audioampen og fikk fin (øredøvende) brumming i høyttaleren. Tolket dette dithen at mye var rett på den siden av lydkortet.

Dag2

Byttet ut alle kondensatorene på begge kortene, mens jeg tenkte. Dette skader ihvertfall ikke, da eldre/inntørkede/defekte elektrolytter drar ned spenninga på kortet, ikke klarer å dempe ripple (som igjen kan fyre watchdog), eller i verste fall danne rene kortslutninger (hvis de er mekanisk skadet)

Lydkortet har en Z80 ombord, så jeg begynte å sjekke data og adresselinjer. Jeg la merke til at A15 konstant lav, så jeg dro avgårde på langtur innover i kortet – i 74LSXXX-land. Dette viste seg å være et villspor.

8MHz krystallen til den andre prosessoren på lydkortet viste seg å være mycket flaky. Scopet indikerte 6,5Mhz – nei vent 7MHz – nei vent… Til tross for dette, så var det fornuftig aktivitet på linjene til denne.

Etter intens googling, så begynte jeg å sjekke bus-trancieverne mellom lydkortet og hovedkortet (74LS245). B-siden på disse så helt spinnvill ut på scopet, men det er åpenbart ok, siden A-siden på begge var helt ok og hovedkortet så ut til å fungere. Nok et villspor.

Jeg hadde tidligere sjekket linjene på Z80en, men jeg tok likevel en ny runde. Oppdaget så at INT-signalet var holdt konstant lav.

Etter en ny runde med googling, så fant jeg da en annen med samme symptom. Dette skyldtes i hans tilfelle korrupt RAM – noe som jeg ikke hadde sjekket tidligere. Jeg hadde heldigvis noen 2114 i skuffen og piggybacket disse oppå de to ram-kretsene på lydkortet (bildet under er hentet fra samme øvelse på hovedkortet)

Ny test, og…

Jeg hadde lyd ! Yay !

Alt er fremdeles ikke helt vel. Spillet skal av og til vise scores sammen med andre sprites. Disse fremstår som striper i bildet. Jeg har sjekket all RAM på kortet, samt dumpet alle EPROMs og sammenlignet disse med MAME-settet. Nummereringen er ikke helt den samme, men innholdet er likevel identisk (Dump #6 == GyrussK.4, Dump #5 == GyrussK.9, Dump #10 == gyrussk.6, Dump #9 == Gyrussk.5)

Det er tre PROM-kretser på kortet, hvorav to har lookupdata for tekst og sprites. Jeg er litt usikker på hvilken som er hvilken, men mistenker at lookup-PROMen for tekst er röten, evt så er en eller annen 74-krets som henger på en av linjene til denne defekt. De to kandidatene er selvfølgeligvis sandwitchet godt under et fantastisk godt plugget mini-PCB mellom lydkort og hovedkort, så det er umulig å probe linjene der uten å lage en custom kabel mellom dette kortet og hovedkortet. Tenker jeg lar sjarmøretappen vente til en ekstra grå regnværsdag 🙂