Arcade PCB fault-finding¶
How to troubleshoot a dead or faulty game board. Goal: locate the culprit without shotgun-swapping parts. For JAMMA/JVS context see JAMMA wiring.
Before you open it: the environment¶
- Power: +5 V must be set at the board edge under load (harness drop). Too low → crashes/corrupt graphics that get mistaken for a board fault. Check +12 V and −5 V. See power.
- Common ground PSU/board/panel, clean JAMMA contacts (eraser, IPA).
- Compatible sync/monitor (15 kHz vs 31 kHz).
Procedure (dead board / no-boot)¶
- Visual inspection: corrosion (battery, caps), cut traces, oxidised EPROM legs, leaking SMD caps, burnt parts, dubious prior repairs.
- Power at the point of use: measure +5 V on the board; look for a short (raise current-limited, find the hotspot).
- Clocks: on the scope, check the oscillator (Xtal) and the CPU clock — no clock, no life.
- Reset: the /RESET line must release after power-up (staying low = stuck CPU). Check the reset circuit (often an RC + custom).
- Watchdog: many arcade boards have a watchdog that resets if the CPU stops "kicking" it → a 1-2 Hz reset loop on /RESET betrays a CPU that crashes at boot.
- Bus: activity on the address/data bus (scope/analyzer) → is the CPU "running" or frozen?
Signal tracing & substitution¶
- Good/bad comparison: the most powerful method. With a known-good reference board, compare point by point (clocks, resets, custom outputs) on the scope.
- Multimeter diode mode: measure the clamp diodes inside logic ICs — a pin that reads different from identical neighbours betrays a dead pin (stuck high/low).
- Substitution: on sockets, test by swapping (RAM, 74xx logic, GAL, sometimes EPROM). Many faults are work/video RAM or bus buffers.
- Dedicated tester (Fluke 9010A + POD): inject/read the bus, test RAM/ROM, follow the CPU.
Typical fault patterns (arcade)¶
| Symptom | Common leads |
|---|---|
| Black screen, no image | power, stuck reset, clock, watchdog looping, program ROM, sync |
| Reset loop (~1 Hz) | CPU crash at boot → work RAM, ROM, CPU custom, bus |
| Stable checkerboard / garbage | video RAM, character generator, misread graphics ROM |
| Missing/shifted tiles/sprites | graphics ROM (dead bit), tile/sprite RAM, video custom |
| Frozen colour columns/rows | colour/palette RAM, RAMDAC, custom |
| No sound / hum | amp, sound CPU (Z80), YM/OKI, sound ROM, DAC; audio ground |
| One channel / voice dead | sound chip (YM2151/2610…), ADPCM ROM (OKIM6295) |
| Random crashes | low +5 V, marginal RAM, cracked joints, caps |
| Dead controls | input buffers (LS245/244), JAMMA traces, I/O custom |
Customs (the hard part of arcade)¶
- Many systems rely on ASIC/customs (Sega 315-xxxx, Namco C-chips, Capcom, Konami…) unobtainable new. A custom fault = donor (another dead board), reprofessional rework (reflow/reball) or an FPGA replacement where one exists.
- Reflow/reball of a QFP/BGA custom: a last resort on cracked joints — see traces & vias / reflow.
Protections & batteries¶
- FD1094/FD1089, CPS-2, C-Chip, MCU: a "dead" board may be a flat-battery protection (suicide), not a hardware fault. Check before desoldering → see the relevant system/PCB page and backup batteries.
See also¶
- Tools · Recap · Traces & vias · EPROM · Backup batteries · JAMMA wiring
Sources & attribution¶
- Synthesis of established arcade troubleshooting methods (signal tracing, substitution, watchdog); specific values/pinouts = system schematic/manual, not invented.
Review & corrections
How this space is used
Spotted a wrong value, an outdated procedure, a chip reference that does not match your board? Say so here, with what you observed (model, board revision, serial number, measurement). Every report is cross-checked against a source before anything changes — an unverifiable correction is published as “reported by …, not cross-checked” rather than silently applied.
Reading is open to everyone; posting requires signing in with Discord. Reports from the wiki's declared reviewers are handled first; anyone else's are read too, but go through a human before anything is changed.