Taito B System¶
Taito's versatile 16-bit base (1988): 68000 + Z80 + YM2610, tiles + sprites via the TC0xxx customs. From Rastan Saga II to Puzzle Bobble and Space Invaders DX. Some games carry the famous C-Chip protection.
Identification¶
| Field | Value |
|---|---|
| Manufacturer | Taito |
| Year | 1988 |
| Type | 16-bit 2D (tiles + sprites) |
| Protection | C-Chip (TC0030CMD) on some games |
| Settings | DIP |
Architecture¶
| Block | Chip | Role |
|---|---|---|
| CPU | Motorola 68000 | game logic |
| Sound CPU | Zilog Z80 | drives the sound |
| Sound | Yamaha YM2610 | FM + ADPCM (samples) |
| Video | TC0xxx customs (TC0100SCN tilemap, sprites) | multiple layers + sprites |
The 68000 + Z80 + YM2610 base is typical late-80s Taito (shared with the
F2). Emulated in MAME (taito/taito_b.cpp).
The C-Chip (protection)¶
Some B System games use the C-Chip (TC0030CMD) — a per-game MCU + EPROM handling logic/protection. Without it, the game crashes. Detailed (dumps, conversion) at: → Taito B / F2 converts (C-Chip).
EPROM repair: 68000 program in 27C010/020/040 → game-by-game EPROM table.
Notable games¶
Rastan Saga II (Nastar), Rainbow Islands Extra, Silent Dragon, Violence Fight, Ashura Blaster, Crime City, Sonic Blast Man, Puzzle Bobble (Bust-A-Move, 1994), Space Invaders DX, Ryujin, Hit the Ice…
Common faults¶
| Symptom | Likely cause | Lead |
|---|---|---|
| Crashes at boot | C-Chip (protected games) | Check the C-Chip; see converts |
| Corrupt sprites/planes | TC0xxx customs / RAM | RAM test, contacts |
| No/partial sound | YM2610 / Z80 | Sound-stage diagnosis |
| Lost settings | DIP | Check the DIP bank |
| No image | Power, 68000, harness | 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). ⚠️ On this platform, a dead battery does NOT kill the game — it is a leaking battery that 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 📺: ~15.36 kHz / 60.0 Hz — standard resolution, a classic 15 kHz chassis is fine → tri-sync and upscalers.
(Computed from the MAME sources —
taito/taito_b.cpp— pixel clock ÷ htotal.) - FPGA / emulation: see the Emulation & FPGA section below.
Repair (technician)¶
- C-Chip (TC0030CMD) on some games: an MCU + a per-game EPROM; without the right C-Chip the game crashes → donor / dumped C-Chip (MAME). Not a battery (no suicide).
- TC0xxx customs (TC0100SCN tilemap, sprites): corrupt = RAM + buffers first, the custom next (donor).
- Sound: Z80 + YM2610 (FM+ADPCM) — diagnose the sound stage.
- Capacitors: recap sound + filtering. 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 | 12 MHz · 16 MHz | main CPU |
| YM2203 | 3 MHz | FM (sound) |
| YM2610 | 8 MHz | FM+ADPCM (sound) |
| YM2610B | 8 MHz | FM+ADPCM (sound) |
| Z80 | 4 MHz · 6 MHz · 8 MHz | sound CPU (usually) |
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.
Archived original schematics ✅¶
Manufacturer schematics for games in this family, archived locally (so they do not depend on a third-party site staying up). They give the board's real functional breakdown: clock tree, address decoding, video stage, sound stage, power supply — exactly what you need to trace a missing signal back to its source.
- Nastar Warrior (Rastan Saga II) — full schematic (PDF)
Scope and limits
A schematic applies to the game and revision named. Within one family the general breakdown (buses, decoding, sound/video stages) carries over from board to board, but component references and custom chip pinouts do not transpose between titles. Use it as a map of the logic, not as a cross-reference table.
Source: the Arcade Game Manuals collection on the Internet Archive. Manufacturer documents with no explicit licence, kept here for preservation (machines out of service for over 25 years).
DIP settings ✅¶
14 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 ashura
| Setting | Position | Options (default in bold) |
|---|---|---|
| Bonus Life | SW2:3,4 | every 100k · every 150k · every 200k · every 250k |
| Lives | SW2:5,6 | 1 · 2 · 3 · 4 |
| Allow Continue | SW2:7 | Off · On |
DIP settings — MAME set crimec
| Setting | Position | Options (default in bold) |
|---|---|---|
| Hi Score | SW1:1 | Scribble · 3 Characters |
| Bonus Life | SW2:3,4 | every 80k · 80k only · 160k only · None |
| Lives | SW2:5,6 | 1 · 2 · 3 · 4 |
| Allow Continue | SW2:7,8 | Off · 5 Times · 8 Times · On |
DIP settings — MAME set hitice
| Setting | Position | Options (default in bold) |
|---|---|---|
| Cabinet Style | SW1:1 | 4 Players · 2 Players |
| Demo Sounds | SW1:4 | Off · On |
| Coinage | SW1:5,6,7 | 3C 1C · 2C 1C · 1C 1C · 1C 2C · 1C 3C · 1C 4C · 1C 5C · 1C 6C |
| Timer count | SW2:3,4 | 1 sec = 58/60 · 1 sec = 56/60 · 1 sec = 62/60 · 1 sec = 45/60 |
| Maximum credits | SW2:8 | 99 · 9 |
DIP settings — MAME set masterw
| Setting | Position | Options (default in bold) |
|---|---|---|
| Bonus Life | SW2:3,4 | 500k, 1000k and 1500k · 500k and 1000k · 500k only · None |
| Lives | SW2:5,6 | 3 · 4 · 5 · 6 |
| Ship Type | SW2:8 | Space Ship · Hover Cycle |
DIP settings — MAME set rambo3
| Setting | Position | Options (default in bold) |
|---|---|---|
| Control | SW2:4 | 8 way Joystick · Trackball |
| Allow Continue | SW2:5 | Off · On |
DIP settings — MAME set rambo3p
| Setting | Position | Options (default in bold) |
|---|---|---|
| Allow Continue | SW2:5 | Off · On |
DIP settings — MAME set rastsag2
| Setting | Position | Options (default in bold) |
|---|---|---|
| Bonus Life | SW2:3,4 | 100k only · 150k only · 200k only · 250k only |
| Lives | SW2:5,6 | 1 · 2 · 3 · 5 |
| Allow Continue | SW2:7 | Off · On |
DIP settings — MAME set realpunc
| Setting | Position | Options (default in bold) |
|---|---|---|
| Demo Sounds | — | Off · On |
| Coin A | — | 4C 1C · 3C 1C · 2C 1C · 1C 1C |
| Coin B | — | 4C 1C · 3C 1C · 2C 1C · 1C 1C |
| Difficulty 1 | — | Off · On |
| Difficulty 2 | — | Off · On |
| Difficulty 3 | — | Off · On |
DIP settings — MAME set ryujin
| Setting | Position | Options (default in bold) |
|---|---|---|
| Lives | SW2:3,4 | 1 · 2 · 3 · 4 |
DIP settings — MAME set sbm
| Setting | Position | Options (default in bold) |
|---|---|---|
| Tickets | SW1:1 | Off · On |
| Win Bonus Tickets | SW1:2 | Off · On |
| Demo Sounds | SW1:4 | Off · On |
| Coinage | SW1:5,6 | 4C 1C · 3C 1C · 2C 1C · 1C 1C |
| Punch Power | SW2:3,4 | Lower · Medium · Higher · Highest |
| Tickets Payout | SW2:5,6 | Total Power / 120 · Total Power / 80 · Total Power / 50 · Total Power / 40 |
| Win Bonus Tickets Payout | SW2:7,8 | 1, 2, 3, 4, 5 · 2, 4, 6, 8, 10 · 3, 4, 5, 6, 7 · 2, 4, 8, 16, 32 |
DIP settings — MAME set sbmj
| Setting | Position | Options (default in bold) |
|---|---|---|
| Coin A | SW1:5,6 | 3C 1C · 2C 1C · 1C 2C · 1C 1C |
| Coin B | SW1:7,8 | 3C 1C · 2C 1C · 1C 2C · 1C 1C |
DIP settings — MAME set selfeena
| Setting | Position | Options (default in bold) |
|---|---|---|
| Bonus Life | SW2:3,4 | 100k only · 200k only · 300k only · 400k only |
| Lives | SW2:5,6 | 1 · 2 · 3 · 4 |
DIP settings — MAME set silentd
| Setting | Position | Options (default in bold) |
|---|---|---|
| Coinage | SW1:5,6 | 4C 1C · 3C 1C · 2C 1C · 1C 1C |
| Friendly Fire | SW2:3 | Off · On |
| Power-Up at Stage Clear | SW2:4 | Off · On |
| Regain Power buy-in | SW2:5 | Off · On |
| Credits | SW2:6 | Combined · Separate |
| Cabinet Style | SW2:7,8 | 3 Players · 2 Players · 4 Players/1 Machine · 4 Players/2 Machines |
DIP settings — MAME set spacedxo
| Setting | Position | Options (default in bold) |
|---|---|---|
| Match Point | SW2:3,4 | 4 · 3 · 5 · 2 |
| Lives | SW2:5,6 | 3 · 4 · 5 · 6 |
| Bonus Life | SW2:7 | 1500 Points · 1000 Points |
| Game Type | SW2:8 | Double Company · Single Company |
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
Emulation & FPGA¶
- Emulation: MAME (
taito/taito_b.cpp) — C-Chip emulated. - FPGA / MiSTer: no confirmed dedicated core → MAME.
Lineage¶
Contemporary with the F2 (same sound base); follows the Taito classics. The F3 (1992, cartridge) comes next.
Photos / assets¶
(To add: B System board, C-Chip, TC0xxx customs.)
Sources & attribution¶
- MAME —
taito/taito_b.cpp(68000, Z80, YM2610, TC0xxx, C-Chip, games) — https://github.com/mamedev/mame - Internal page: Taito B / F2 converts (C-Chip)
- Wikipedia — Taito B System — CC-BY-SA — https://en.wikipedia.org/wiki/Taito_B_System
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.