Skip to content

Data East (DECO Cassette, DECO 8/16/32)

Data East (DECO): from the curious DECO Cassette (1980, games on audio cassette + dongle) to the 8/16-bit bases of the great classics — Bad Dudes, Robocop, Joe & Mac (Caveman Ninja), Fighter's History. Marked by protection ASICs (141/104/146) on many games.

Identification

Field Value
Manufacturer Data East (DECO)
Years 1980 (Cassette) → mid-90s
CPU 6502/6809 (8-bit) then 68000 (16-bit)
Protection Data East ASIC (141 / 104 / 146…) on many games

The main families

Hardware Games MAME driver
DECO Cassette (1980) games on cassette + dongle (see converts) dataeast/decocass.cpp
DECO 8-bit Bad Dudes, Robocop, Heavy Barrel, Sly Spy, Midnight Resistance dataeast/dec8.cpp
DECO 16 / MLC Dark Seal, Caveman Ninja (Joe & Mac), Rohga, Fighter's History, Boogie Wings dataeast/deco16ic, deco32.cpp
DECO 32 Captain America, Dragongun, Tattoo Assassins, Night Slashers dataeast/deco32.cpp

The DECO Cassette is a curiosity: the game loads from an audio cassette via a security dongle — detailed on the converts side: → Data East converts (DECO Cassette).

EPROM repair: 68000/ARM JAMMA boards in 27C512/010/020/040game-by-game EPROM table.

The ASIC protection (141/104/146)

Many Data East games carry a custom ASIC (141, 104, 146…) mixing I/O, colour blending and protection (the program talks to it, sometimes with address scrambling). Reverse-engineered by the community for MAME.

Notable games

Burnin' Rubber (Cassette), Bad Dudes vs. DragonNinja (1988), Robocop (1988), Heavy Barrel, Midnight Resistance, Caveman Ninja / Joe & Mac (1991), Fighter's History (1993), Captain America and the Avengers, Night Slashers, Windjammers

Common faults

Symptom Likely cause Lead
Game crashes protection ASIC / dongle (Cassette) Check the ASIC/dongle; MAME handles them
Cassette not read (DECO Cassette) drive / dead cassette Repair/image; rare part
Corrupt sprites/planes customs / RAM RAM test, contacts
No sound sound Z80/6502 / YM / OKI Sound-stage diagnosis
No image Power, CPU, 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.

  • Optical storage 🟡: the drive is the number-one wear part. Modern routes: an ODE, netboot, or replacement by flash storage depending on the platform → PCB preservation hub.
  • Scan rate 📺: ~15.62 kHz / 57.4 Hz — standard resolution, a classic 15 kHz chassis is fine → tri-sync and upscalers. (Computed from the MAME sources — dataeast/dec0.cpp — pixel clock ÷ htotal.)
  • FPGA / emulation: see the Emulation & FPGA section below.

Repair (technician)

  • Data East ASIC (141 / 104 / 146…): mixes I/O and protection; a "dead" board can be a dead ASIC, unobtainable new → donor (the ASICs are dumped in MAME).
  • CPU: 6502/6809 (8-bit) then 68000 — standard bus/clock/reset diagnosis.
  • Capacitors: recap the sound stage + PSU filtering.
  • Oxidised EPROM sockets: re-tin / 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 10 MHz main CPU
MSM5205 384 kHz ADPCM
YM2203 1.25 MHz FM (sound)
YM3812 2.5 MHz FM (sound)
Z80 3 MHz · 5 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. They give the clock tree, the address decoding and the breakdown of the video/sound/power stages — enough to trace a missing signal back to its source.

Scope

A schematic applies to the game and revision named: within a family the general breakdown carries over, but component references and custom chip pinouts do not transpose. Source: the Arcade Game Manuals collection (Internet Archive), manufacturer documents kept for preservation.

Manufacturer service bulletins ✅

Fixes the manufacturer issued to its network: they document a factory-acknowledged fault, its symptom and the modification to apply.

  • Karate Champ service bulletinPDF

→ Full catalogue: service manuals & wiring diagrams

Original manuals for games on this platform ✅

Manufacturer manuals for games running on this board. Beyond the instructions, they very often carry the full DIP settings, the connector pinout, the test procedure, the parts list and the expected voltages.

→ Full catalogue: service manuals, wiring & game manuals

DIP settings ✅

13 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 baddudes
Setting Position Options (default in bold)
Demo Sounds SW1:6 Off · On
Flip Screen SW1:7 Off · On
Lives SW2:1,2 1 · 3 · 5 · Infinite (Cheat)
Difficulty SW2:3,4 Easy · Normal · Hard · Hardest
Allow Continue SW2:5 Yes · No
DIP settings — MAME set bandit
Setting Position Options (default in bold)
UNK 0 On · Off
UNK 1 On · Off
UNK 2 On · Off
UNK 3 On · Off
UNK 4 On · Off
UNK 5 On · Off
UNK 6 On · Off
UNK 7 On · Off
Analog controls? On · Off
L/R control related (keep off) On · Off
DSUNK 2 On · Off
Road select (debug) On · Off
Flip Screen On · Off
DSUNK 5 On · Off
DSUNK 6 On · Off
Enable enemies On · Off
DSUNK 8 On · Off
DSUNK 9 On · Off
DSUNK A On · Off
DSUNK B On · Off
DSUNK C On · Off
DSUNK D On · Off
DSUNK E On · Off
DSUNK F On · Off
DIP settings — MAME set birdtry
Setting Position Options (default in bold)
Demo Sounds SW1:6 Off · On
Flip Screen SW1:7 Off · On
Difficulty (Extend) SW2:1,2 Easy · Normal · Hard · Hardest
Difficulty (Course) SW2:3,4 Easy · Normal · Hard · Hardest
Allow Continue SW2:5 Off · On
Timer SW2:6 Normal · Fast
Control Panel Type SW2:7,8 Type A - Cocktail · Type B - Cocktail 2 · Unused · Type C - Upright
DIP settings — MAME set bouldash
Setting Position Options (default in bold)
Coin A SW1:1,2,3 3C 1C · 2C 1C · 1C 1C · 1C 2C · 1C 3C · 1C 4C · 1C 5C · 1C 6C
Coin B SW1:4,5,6 3C 1C · 2C 1C · 1C 1C · 1C 2C · 1C 3C · 1C 4C · 1C 5C · 1C 6C
Flip Screen SW1:7 Off · On
Cabinet SW1:8 Upright · Cocktail
Lives SW2:1,2 2 · 3 · 4 · 5
Difficulty SW2:3,4 Easy · Normal · Hard · Hardest
Game Change Mode SW2:6 Part 1 · Part 2
Allow Continue SW2:7 No · Yes
Demo Sounds SW2:8 Off · On
DIP settings — MAME set drgninja
Setting Position Options (default in bold)
Lives SW2:1,2 2 · 3 · 4 · Infinite (Cheat)
DIP settings — MAME set ffantasy
Setting Position Options (default in bold)
Enemy Power Decrease on Continue SW2:7 2 Dots · None
DIP settings — MAME set ffantasybl
Setting Position Options (default in bold)
Enemy Power Decrease on Continue SW2:7 2 Dots · None
DIP settings — MAME set hbarrel
Setting Position Options (default in bold)
Coin A SW1:1,2 2C 1C · 1C 1C · 1C 2C · 1C 3C
Coin B SW1:3,4 2C 1C · 1C 1C · 1C 2C · 1C 3C
Demo Sounds SW1:6 Off · On
Flip Screen SW1:7 Off · On
Lives SW2:1,2 1 · 3 · 5 · Infinite (Cheat)
Difficulty SW2:3,4 Easy · Normal · Hard · Hardest
Bonus Life SW2:5,6 30k 80k 160k · 50k 120k 190k · 100k 200k 300k · 150k 300k 450k
Allow Continue SW2:7 No · Yes
DIP settings — MAME set hippodrm
Setting Position Options (default in bold)
Demo Sounds SW1:6 Off · On
Flip Screen SW1:7 Off · On
Lives SW2:1,2 1 · 2 · 3 · 5
Difficulty SW2:3,4 Easy · Normal · Hard · Hardest
Player & Enemy Energy SW2:5,6 Very Low · Low · Medium · High
Enemy Power Decrease on Continue SW2:7 2 Dots · 3 Dots
DIP settings — MAME set midres
Setting Position Options (default in bold)
Demo Sounds SW1:6 Off · On
Flip Screen SW1:7 Off · On
Lives SW2:1,2 1 · 3 · 5 · Infinite (Cheat)
Difficulty SW2:3,4 Easy · Normal · Hard · Hardest
Allow Continue SW2:7 No · Yes
DIP settings — MAME set midresb
Setting Position Options (default in bold)
Demo Sounds SW1:6 Off · On
Flip Screen SW1:7 Off · On
Lives SW2:1,2 1 · 3 · 5 · Infinite (Cheat)
Difficulty SW2:3,4 Easy · Normal · Hard · Hardest
Allow Continue SW2:7 No · Yes
DIP settings — MAME set robocop
Setting Position Options (default in bold)
Demo Sounds SW1:6 Off · On
Flip Screen SW1:7 Off · On
Cabinet SW1:8 Upright · Cocktail
Player Energy SW2:1,2 Low · Medium · High · Very High
Difficulty SW2:3,4 Easy · Normal · Hard · Hardest
Allow Continue SW2:5 No · Yes
Bonus Stage Energy SW2:6 Low · High
Brink Time SW2:7 Normal · Less
DIP settings — MAME set slyspy
Setting Position Options (default in bold)
Demo Sounds SW1:6 Off · On
Flip Screen SW1:7 Off · On
Cabinet SW1:8 Upright · Cocktail
Energy SW2:1,2 Low - 8 bars · Medium - 10 bars · High - 12 bars · Very High - 14 bars
Difficulty SW2:3,4 Easy · Normal · Hard · Hardest
Allow Continue SW2:5 No · Yes

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 (dataeast/decocass.cpp, dec8.cpp, deco32.cpp…) — reverse-engineered ASICs.
  • FPGA / MiSTer: cores available for some titles (e.g. Windjammers, DECO 8-bit).

Lineage

Contemporary with Capcom/Konami/Irem. The DECO Cassette (1980) foreshadows "software" distribution long before GD-ROM/NAND.

Photos / assets

(To add: DECO Cassette drive + dongle, DECO 16/32 board, 146 ASIC.)

Sources & attribution

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.