
De laatste tijd ben ik opnieuw wat meer bezig met arcadetoestanden. Daarom een verslagje van waar ik me vandaag mee geamuseerd heb.
Ik had nog een PCB liggen waarvan ik niet wist welk spel het was en in welke staat het bord was.
In het weekend had ik me bezig gehouden om een JAMMA -> SCART adapter te maken zodat ik aan PCB's kan repareren terwijl ze draaien. Ik heb me ook een kleine 14" TV met SCART aansluiting gekocht voor op mijn werkbank.

De eerste stap was de pinout van het PCB reverse engineeren. Op zich niet zo moeilijk. Ik wou voorlopig enkel de voeding en het beeldsignaal vinden zodat ik het PCB eens kon starten. Dat ging zeer vlot, maar dit was het resultaat


Niets dus. Gewoon een "ROM CHECK 3" error. Maar welke ROM is nu ROM 3? Meer dan waarschijnlijk niet diegene met nummer 3 er op geplakt. Onder de ROMs stonden immers andere nummers op het PCB. Bovendien gaf hij ook een keertje de error "ROM CHECK 0" terwijl er helemaal geen ROM met stickertje "0" tussen zat.


Ik had dus niet eens de bevestiging dat alle ROMs wel op de juiste plaats op het bord zaten...
Dan maar op het internet beginnen snuffelen en uiteindelijk het bord kunnen identificeren. Het ging meer dan waarschijnlijk om een Tiger Heli.
Vervolgens alle 14 ROMs uitgelezen (wat een karwei zeg

Wat ik wel merkte is dat er drie ROMs telkens andere resultaten teruggaven bij het uitlezen. Hmm. Flaky ROMs? Eén van deze drie ROMs noemde in de MAME set "a47_03.bin" en bevat de audio informatie. Zou dit de "ROM CHECK 3" error kunnen veroorzaken?
Dan maar die drie ROMs opnieuw gebrand maar in eerste instantie enkel deze audioROM vervangen. En dit was het resultaat:



Dankzij de MAME ROMset wist ik ook welke ROMs precies de sprite info bevatten en waar zich dus het circuit dat deze sprites genereert ongeveer bevindt.
Voor de zekerheid maar even gekeken of de sprite ROMs goed aangesproken werden, maar dit was (zoals ik verwachtte) het geval. Sprites worden immers typisch in zijn geheel opgeslagen (en niet de even lijnen op de ene ROM en de oneven lijnen op de andere, of iets dergelijks). Moest er dus iets mis zijn met een sprite ROM die slecht uitgelezen wordt, dan zouden sommige sprites niet (of scrambled) weergegeven worden. In mijn geval is er dus duidelijk iets mis met alle sprites, dus zit het probleem niet bij de ROMs.
Dan daar eventjes verder gezocht en aangezien ik nu kan werken aan het PCB en tegelijk het beeld bekijken, heel vlot de RAMs gevonden die de sprites behandelen. De adreslijnen van deze RAMs bekeken en dat zag er allemaal OK uit. Dan gekeken naar de I/O lijnen en daar was overduidelijk iets mis. Er staan op die plaats 4 RAMs van het type 2148. Van de middenste twee zagen de I/O lijnen er gezond uit, namelijk zo:

De linkse RAM zag er echter zo uit:

En de rechtse zo:

Duidelijk een probleem dus.
Even gecontroleerd of dit aan een andere chip kon liggen door het signaal terug omhoog te traceren. Redelijk wat werk en uiteindelijk kwam ik in een dubieuze situatie terecht. Vervolgens dan een nieuwe RAM gepiggybackt op de linkse RAM (een techniek die ik niet wil aanraden...), maar dat gaf me de bevestiging die ik nodig had om beide RAMs te vervangen.
Dit was het resultaat nadat de linkse RAM vervangen was:


Al duidelijk heel wat beter dus! En zo zag het er uit nadat de rechtse ook vervangen was:


Perfect!

(De lijnen die je op deze foto nog ziet zijn de scanlijnen van mijn TV die verschillend oplichten in de fotocamera. In 't echt zijn die lijnen er niet)
Dan heb ik ook nog een condensator in het audiocircuit vervangen die afgebroken was en dan is dit PCB weer volledig werkend. Althans dat hoop ik toch. Het kan natuurlijk nog altijd dat die twee andere ROMS beginnen opspelen.
En voor wie een idee wilt van hoe het spel precies uitziet: