Sega System C / C-2¶
The System C (1989) and its evolution System C-2 (1990) are Sega arcade boards built around the same VDP as the Mega Drive/Genesis (315-5313). A 68000, arcade dressing and colourful 2D: Columns, Bloxeed, the Puzzle & Action series (Tant-R/Ichidant-R) and above all Puyo Puyo.
PCB Sega System C-2 — photo by Komatta, domaine public (Wikimedia Commons).
Identification¶
| Field | Value |
|---|---|
| Manufacturer | Sega |
| Years | System C (1989) · System C-2 (1990) |
| Connector type | JAMMA |
| Players | 2 |
| Screen orientation | Horizontal |
| CPU | Motorola 68000 @ 10 MHz |
Architecture¶
| Block | Chip | Role |
|---|---|---|
| Main CPU | Motorola 68000 (~10 MHz) | game logic |
| Video | Sega 315-5313 (Mega Drive VDP) | tilemaps + sprites, dedicated colorizer |
| FM sound | Yamaha YM3438 (YM2612-compatible) | music |
| PSG | SN76489 (built into the VDP) | noise/square channels |
| Samples | NEC µPD7759 | C-2 only (voice/ADPCM samples) |
| I/O | Sega 315-5296 | inputs/outputs |
- The graphics core is the Mega Drive's (315-5313), but the board uses its own colorize chain (pixel data to a colorizer) instead of the VDP's standard RGB output — giving a wider palette than the console.
- C vs C-2 difference: the System C-2 adds the µPD7759 (sample playback). Roughly, C = no µPD7759, C-2 = with it.
Notable games¶
- System C: Columns, Columns II, Bloxeed, Tant-R (Puzzle & Action)…
- System C-2: Puyo Puyo, Ichidant-R (Puzzle & Action 2), Borench, Thunder Force AC, Twin Squash, Ribbit!, the Print Club (Puri-Kura) series…
Security & protection¶
Many System C-2 games carry a protection chip from the 317-xxxx series (EPM5032 type). Per MAME, the protection is mostly understood: it relies on a table of 256 4-bit values unique to each game. It is named factually here; no key or bypass is provided.
Common faults¶
| Symptom | Likely cause | Lead |
|---|---|---|
| Frozen screen / won't boot (C-2) | 317-xxxx chip (protection) / customs | Check; MAME documents the protection |
| Wrong colours | 315-5313 VDP / colorizer | Video diagnosis, reseat |
| Voice/samples silent (C-2) | µPD7759 | Sample-stage diagnosis |
| No music | YM3438 / SN76489 | FM/PSG-stage diagnosis |
| Settings lost | DIP / battery | Check DIP / replace battery |
| No picture | PSU, 68000, JAMMA contacts | Base diagnosis |
Modernisation & mods¶
The common ground for every JAMMA board
Video, power, control panel and upscalers depend on the cabinet rather than the board: everything is centralised in Modernising a cabinet. To run the board outside a cabinet (at home, on a display): supergun.
- Battery 🟢: a save battery is fitted (settings/counters/RTC). A leaking battery corrodes traces — check and replace it before it leaks → save batteries.
- Storage 🟡: the game lives in EPROM/mask ROM on the board. Changing or restoring a game means reprogramming the EPROMs (and, for a mask ROM, using a pinout adapter) → EPROM method.
- Media preservation: replacing the original storage, multicarts, ODEs and modern options by family → PCB preservation hub.
- Scan rate 📺: the screen configuration lives in the Sega VDP device rather than the driver — not measured here. These VDPs output standard ~15 kHz: a 15 kHz chassis is fine. (Derived from the VDP family documented above, not computed from MAME.) → tri-sync and upscalers.
- FPGA / emulation: see the Emulation & FPGA section below.
Repair (technician)¶
- "Mega Drive in a cabinet" base: 315-5313 (Mega Drive VDP) + YM3438 → lots of repair overlap with a Mega Drive (VDP, colorizer, FM stage).
- Protection: some games have a Sega protection chip → a crash = protection, not logic (donor / MAME).
- 315-5296 I/O: dead controls = test that I/O custom + buffers.
- Capacitors: recap PSU + audio filtering. Oxidised EPROM sockets: turned-pin socket.
→ Methods: PCB fault-finding · Recap · EPROM · Traces & vias
Expected clocks — measurement table ✅¶
Values extracted from the MAME sources for this platform. On a scope or frequency counter, a clock that is missing or off-value points straight at the crystal, the divider or the chip at fault — the fastest starting point on a dead board.
| Component | Expected clock | Role |
|---|---|---|
| M68000 | 8.948862 MHz | main CPU |
| YM3438 | 7.670454 MHz | FM (sound) |
How to read this table
Several values for one component = several board variants in this family (or several instances of the chip clocked differently). These frequencies are those of the clock signal at the component's input, not of its original crystal — on many boards the clock is divided down from a single master crystal.
DIP settings ✅¶
28 games on this platform, settings extracted from the MAME sources (INPUT_PORTS_START blocks). The Position column gives the switch's physical reference on the board (SW2:!3,!4 = bank SW2, levers 3 and 4) — which is what lets you set it up without the paper manual. Games are sorted by MAME set name.
DIP settings — MAME set anpanman
| Setting | Position | Options (default in bold) |
|---|---|---|
| Demo Sounds | SW2:1 | On · Off |
| Demo Voice | SW2:2 | On · Off |
DIP settings — MAME set bloxeedc
| Setting | Position | Options (default in bold) |
|---|---|---|
| Credits to Start (VS) | SW2:1 | 1 · 2 · 2 · 4 |
| Credits to Start (Normal) | SW2:2 | 1 · 2 |
| Demo Sounds | SW2:4 | Off · On |
| Difficulty | SW2:5,6 | Easy · Normal · Hard · Hardest |
| High Speed Mode | SW2:8 | Off · On |
DIP settings — MAME set bloxeedu
| Setting | Position | Options (default in bold) |
|---|---|---|
| Credits to Start (Normal / VS) | SW2:1,2 | 1 / 1 · 1 / 2 · 1 / 2 · 2 / 4 |
DIP settings — MAME set borench
| Setting | Position | Options (default in bold) |
|---|---|---|
| Credits to Start | SW2:1 | 1 · 2 |
| Demo Sounds | SW2:2 | Off · On |
| Lives 1P Mode | SW2:3,4 | 1 · 2 · 3 · 4 |
| Lives 2P Mode | SW2:5,6 | 2 · 3 · 4 · 5 |
| Difficulty | SW2:7,8 | Easy · Medium · Hard · Hardest |
DIP settings — MAME set columns
| Setting | Position | Options (default in bold) |
|---|---|---|
| Demo Sounds | SW2:2 | Off · On |
| Difficulty | SW2:5,6 | Easiest · Easy · Normal · Hard |
DIP settings — MAME set columns2
| Setting | Position | Options (default in bold) |
|---|---|---|
| Cabinet | SW2:1 | Upright · Cocktail |
| Demo Sounds | SW2:2 | Off · On |
| VS. Mode Credits/Match | SW2:3,4 | 1 · 2 · 3 · 4 |
| Flash Mode Difficulty | SW2:5,6 | Easy · Normal · Hard · Hardest |
DIP settings — MAME set columnsu
| Setting | Position | Options (default in bold) |
|---|---|---|
| Cabinet | SW2:1 | Upright · Cocktail |
| Demo Sounds | SW2:2 | Off · On |
| Background Music | SW2:3 | BGM #1 · BGM #2 |
| Difficulty | SW2:5,6 | Easiest · Easy · Normal · Hard |
DIP settings — MAME set headonch
| Setting | Position | Options (default in bold) |
|---|---|---|
| Demo Sounds | SW2:1 | Off · On |
| Difficulty | SW2:2,3 | Easy · Medium · Hard · Hardest |
| Lives | SW2:4,5 | 2 · 3 · 4 · 5 |
DIP settings — MAME set ichir
| Setting | Position | Options (default in bold) |
|---|---|---|
| Demo Sounds | SW2:1 | Off · On |
| Difficulty | SW2:2,3 | Easy · Medium · Hard · Hardest |
DIP settings — MAME set ooparts
| Setting | Position | Options (default in bold) |
|---|---|---|
| Demo Sounds | SW2:1 | Off · On |
| Lives | SW2:2,3 | 2 · 3 · 4 · 5 |
| Difficulty | SW2:4,5 | Easy · Medium · Hard · Hardest |
| Region | SW2:6,7 | Japan · USA · Export · Export |
DIP settings — MAME set pclub
| Setting | Position | Options (default in bold) |
|---|---|---|
| Coinage | SW4:1,2,3 | 7C 1C · 6C 1C · 5C 1C · 4C 1C · 3C 1C · 2C 1C · 1C 1C · Free Play |
| Demo Sounds | SW5:6 | Off · On |
DIP settings — MAME set pclubjv2
| Setting | Position | Options (default in bold) |
|---|---|---|
| Coins per Credit (Normal / Alternate) | SW4:1,2,3 | 25 / 30 · 6 / 7 · 10 / 12 · 1 / 2 · 3 / Free Play · 15 / 20 · 4 / 5 · 8 / 9 |
| Alternate Coinage | SW4:4 | Off · On |
| Demo Sounds | SW5:6 | Off · On |
DIP settings — MAME set potopoto
| Setting | Position | Options (default in bold) |
|---|---|---|
| Credits to Start | SW2:1 | 1 · 2 |
| Demo Sounds | SW2:2 | Off · On |
| Coin Chute Type | SW2:3 | Common · Individual |
| Credits to Continue | SW2:4 | 1 · 2 |
| Buy-In | SW2:5 | No · Yes |
| Difficulty | SW2:6,7 | Easy · Medium · Hard · Hardest |
| Moving Seat | SW2:8 | No Use · In Use |
DIP settings — MAME set puyo
| Setting | Position | Options (default in bold) |
|---|---|---|
| Demo Sounds | SW2:2 | Off · On |
| VS. Mode Credits/Match | SW2:3 | 1 · 3 |
| 1P Mode Difficulty | SW2:4,5 | Easy · Medium · Hard · Hardest |
| Moving Seat | SW2:8 | No Use · In Use |
DIP settings — MAME set puyopuy2
| Setting | Position | Options (default in bold) |
|---|---|---|
| Rannyu Off Button | SW2:1 | Use · No Use |
| Demo Sounds | SW2:2 | Off · On |
| Turn Direction | SW2:3 | 1:Right 2:Left · 1:Left 2:Right |
| Difficulty | SW2:4,5 | Easy · Medium · Hard · Hardest |
| VS Mode Match/1 Play | SW2:6,7 | 1 · 2 · 3 · 4 |
| Battle Start credit | SW2:8 | 1 · 2 |
DIP settings — MAME set ribbit
| Setting | Position | Options (default in bold) |
|---|---|---|
| Credits to Start | SW2:1 | 1 · 2 |
| Demo Sounds | SW2:2 | Off · On |
| Lives | SW2:3,4 | 1 · 2 · 3 · 5 |
| Difficulty | SW2:5,6 | Easy · Normal · Hard · Hardest |
DIP settings — MAME set ribbitj
| Setting | Position | Options (default in bold) |
|---|---|---|
| Credits to Start | SW2:1 | 1 · 2 |
| Demo Sounds | SW2:2 | Off · On |
| Lives | SW2:3,4 | 1 · 2 · 3 · 5 |
| Difficulty | SW2:5,6 | Easy · Normal · Hard · Hardest |
DIP settings — MAME set soniccar
| Setting | Position | Options (default in bold) |
|---|---|---|
| Demo Sound Interval | SW2:1,2 | Off · Every 4 Minutes · Every 2 Minutes · On |
| Lighting Time | SW2:3 | Advertise & Playtime · Playtime Only |
| Light | SW2:4 | Off · On |
| Screen Display | SW2:5 | Insert 100-400 Yen · Insert Money |
DIP settings — MAME set sonicfgt
| Setting | Position | Options (default in bold) |
|---|---|---|
| Credit Mode | SW2:1 | Off · On |
DIP settings — MAME set sonicpop
| Setting | Position | Options (default in bold) |
|---|---|---|
| Demo Sounds | SW2:1 | On · Off |
| Trouble BGM | SW2:2 | On · Off |
| Region | SW2:3,4 | USA · Export · USA (duplicate) · Japan |
| Sensor Advertise | SW2:5 | On · Off |
DIP settings — MAME set ssonicbr
| Setting | Position | Options (default in bold) |
|---|---|---|
| Demo Sounds | SW2:1 | On · Off |
| Difficulty | SW2:2,3 | Easy · Medium · Hard · Hardest |
DIP settings — MAME set stkclmns
| Setting | Position | Options (default in bold) |
|---|---|---|
| Difficulty | SW2:1,2 | Easy · Medium · Hard · Hardest |
| Demo Sounds | SW2:3 | Off · On |
| Match Mode Price | SW2:4 | 1 · 2 |
DIP settings — MAME set tfrceac
| Setting | Position | Options (default in bold) |
|---|---|---|
| Credits to Start | SW2:1 | 1 · 2 |
| Demo Sounds | SW2:2 | Off · On |
| Lives | SW2:3,4 | 2 · 3 · 4 · 5 |
| Bonus Life | SW2:5,6 | 10k, 70k, 150k · 20k, 100k, 200k · 40k, 150k, 300k · None |
| Difficulty | SW2:7,8 | Easy · Medium · Hard · Hardest |
DIP settings — MAME set twinsqua
| Setting | Position | Options (default in bold) |
|---|---|---|
| Credits to Start | SW2:1 | 1 · 2 |
| Demo Sounds | SW2:2 | Off · On |
| Buy In | SW2:3 | Off · On |
| Difficulty | SW2:4,5 | Easy · Medium · Hard · Hardest |
| Seat Type | SW2:6 | Normal · Moving |
DIP settings — MAME set wwjumbo
| Setting | Position | Options (default in bold) |
|---|---|---|
| Demo Sound Interval | SW2:1,2 | Off · Every 4 Minutes · Every 2 Minutes · On |
| Lighting Time | SW2:3 | Playtime Only · Advertise & Playtime |
| Light | SW2:4 | Off · On |
| Screen Display | SW2:5 | Insert 100-400 Yen · Insert Money |
| Coinage | SW1:1,2,3,4 | 4C 1C · 3C 1C · 2C 1C · 1C 1C · 1C 1C · 1C 1C · 1C 1C · 1C 1C · 1C 1C · 1C 1C … |
DIP settings — MAME set wwmarine
| Setting | Position | Options (default in bold) |
|---|---|---|
| Demo Sound Interval | SW2:1,2 | Off · Every 3 Demo Cycles · Every 2 Demo Cycles · On |
| Capsule Mode | SW2:3 | Off · On |
| Credit Mode | SW2:5 | Off · On |
DIP settings — MAME set wwpajero
| Setting | Position | Options (default in bold) |
|---|---|---|
| Demo Sound Interval | SW2:1,2 | Off · Every 8 Demo Cycles · Every 4 Demo Cycles · On |
DIP settings — MAME set zunkyou
| Setting | Position | Options (default in bold) |
|---|---|---|
| Game Difficulty 1 | SW2:1 | Medium · Hard |
| Game Difficulty 2 | SW2:2 | Medium · Hard |
| Lives | SW2:3,4 | 1 · 2 · 3 · 5 |
| Demo Sounds | SW2:5 | Off · On |
Check against your own board
These settings apply to the game and revision described by MAME. One title may have several DIP sets depending on region or revision, and some systems use soft-dips (settings in memory, via the test menu) rather than physical switches. In case of a discrepancy, the board's silkscreen and the test menu are authoritative.
See also: DIP reference · game manuals
Procedure — a dead board, step by step ✅¶
What this adds
The general method lives in PCB diagnosis. This is its application to this platform: the same order, but with the values actually expected here, so you do not have to go back and forth.
Tools: multimeter, oscilloscope (or frequency counter), current-limited bench supply, desoldering braid. → Tooling
If the board is still in a cabinet
A CRT holds its charge with the machine unplugged. → CRT safety
1. Inspection, power off. Corrosion, cut tracks, oxidised EPROM legs, leaking SMD capacitors, dubious earlier repairs.
2. The connector, before anything else. A large share of "dead boards" are a contact problem, not a fault. Clean the contacts with isopropyl alcohol and reseat — not with an abrasive eraser on a gold edge, which takes the plating off and brings the problem back worse. It costs two minutes and settles the question.
3. Power, measured on the board. Aim for +5.0 V measured as close as possible to where power reaches the board — not at the PSU output: the drop is in the loom, and that is exactly what makes a board boot on the bench and not in the cabinet. Where you probe depends on this board's connector — JAMMA edge, JVS loom or a proprietary harness — plenty of makers kept one long after JAMMA arrived — see Identification above. → Wiring Check −5 V and +12 V too if the sound stage uses them. Suspected short: bring it up current-limited and find the hot spot.
4. /RESET. It must release after power-up. Held low = the CPU never starts. A 1–2 Hz loop is not the reset circuit, it is the watchdog: the CPU is crashing at boot, so look at the bus, not at the reset.
5. Clocks — the values expected on this platform.
- M68000 → 8.948862 MHz (Main CPU)
- YM3438 → 7.670454 MHz (FM (sound))
No clock on the M68000 (8.948862 MHz) and there is no point measuring anything else: the fault is the crystal, the divider, or the chip itself. That single measurement splits a dead board in two.
6. Bus. Activity on the main CPU's address lines tells you whether it is running or frozen. Frozen with good clocks and good reset → work RAM, bus buffers, ROMs.
7. It boots but the picture or the sound is wrong — that is another job: see Common faults on this page, then signal tracing.
Emulation & FPGA¶
- Emulation: MAME (
sega/segac2.cpp) — System C and C-2, 317-xxxx protection largely handled. - FPGA / MiSTer: no verified dedicated arcade core; the hardware nonetheless derives directly from the Mega Drive (MiSTer Genesis core on the console side).
EPROM repair¶
68000 program in 27C010 / 27C040 (MAME sega/segac2.cpp): Puyo Puyo = 4× 27C010 ·
Puyo Puyo 2 = 2× 27C040 · Tant R (Puzzle & Action) = 4× 27C040. ⚠ Some C-2 use a
317-xxxx (program encrypted, FD1094-like) → decrypted ROMs required.
Lineage¶
Derived directly from the Mega Drive (same 315-5313 VDP, same FM family) and a cousin of the System 18 on the Sega architecture side. It bridges Sega console hardware and early-1990s JAMMA 2D arcade.
Photos / assets¶
(To add: System C-2 board, 315-5313 VDP, 317-xxxx protection chip.)
Sources & attribution¶
-
Photo PCB Sega System C-2 — Komatta, domaine public, Wikimedia Commons — https://commons.wikimedia.org/wiki/File:Sega_system_c2_pcb.jpg
-
MAME —
sega/segac2.cpp(68000, VDP 315-5313, YM3438/SN76489, µPD7759, 317-xxxx protection, games) — https://github.com/mamedev/mame - System16.com — Sega System C-2 Hardware — https://www.system16.com/hardware.php?id=705
- Wikipedia — Sega System C-2 — CC-BY-SA — https://en.wikipedia.org/wiki/Sega_System_C-2
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.
