Skip to content

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

  1. 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.
  2. Common ground PSU/board/panel, clean JAMMA contacts (eraser, IPA).
  3. Compatible sync/monitor (15 kHz vs 31 kHz).

Procedure (dead board / no-boot)

  1. Visual inspection: corrosion (battery, caps), cut traces, oxidised EPROM legs, leaking SMD caps, burnt parts, dubious prior repairs.
  2. Power at the point of use: measure +5 V on the board; look for a short (raise current-limited, find the hotspot).
  3. Clocks: on the scope, check the oscillator (Xtal) and the CPU clock — no clock, no life.
  4. Reset: the /RESET line must release after power-up (staying low = stuck CPU). Check the reset circuit (often an RC + custom).
  5. 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.
  6. 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

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.