Skip to content

Konami Gradius / Nemesis / Twin16 (shmups)

The 16-bit hardware of Konami's legendary shmups (1985-1988): Nemesis / Gradius, Salamander, TwinBee, then Gradius II (Twin16). A 68000 + Z80 + PSG + speech base. Note: the original Bubble System and its bubble memory requiring a warm-up!

Konami Bubble System (Gradius)

Konami Bubble System (Gradius) — photo by Mceight8, CC BY-SA 4.0 (Wikimedia Commons).

Identification

Field Value
Manufacturer Konami
Years 1985 (Nemesis) → 1988 (Twin16)
Type 16-bit 2D (scrolling shoot'em up)
Settings DIP

The families

Hardware CPU Games MAME driver
Nemesis / GX400 68000 + Z80 Nemesis (Gradius), Salamander (Life Force), TwinBee, Konami GT konami/nemesis.cpp
Bubble System 68000 + bubble memory Gradius, TwinBee, RF2 (original versions) konami/nemesis.cpp
Twin16 2× 68000 Gradius II (Vulcan Venture), Devil World, Cuebrick, Hard Puncher, Miami konami/twin16.cpp

Sound: AY-3-8910 ×2 + K005289 + VLM5030 (speech) on Nemesis; YM2151 + K007232 on Twin16.

The Bubble System and its warm-up

The very first Gradius / TwinBee run on the Bubble System: the game is in magnetic bubble memory, which must warm up ~30 s at boot (a "WARMING UP" screen with a countdown and dedicated music). It's a famous design flaw — and a real preservation headache (bubble carts are fragile; ROM conversions exist).

Notable games

Nemesis / Gradius (1985), Salamander / Life Force (1986), TwinBee, Gradius II: GOFER no Yabou (1988), Konami GT, RF2

Common faults

Symptom Likely cause Lead
"Warming up" never finishes dead bubble memory (Bubble System) Convert to ROM; rare part
Corrupt sprites/planes customs / RAM RAM test, contacts
Mute voice / partial sound VLM5030 / PSG Sound-stage diagnosis
Freeze (Twin16) one of the 2× 68000 CPU diagnosis, RAM test
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.

  • 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 📺: ~16.0 kHz / 60.6 Hz — standard resolution, a classic 15 kHz chassis is fine → tri-sync and upscalers. (Computed from the MAME sources — konami/nemesis.cpp — pixel clock ÷ htotal.)
  • FPGA / emulation: see the Emulation & FPGA section below.

Repair (technician)

  • Bubble System: the bubble memory needs a warm-up (~1 min, "wait" message on-screen) before it boots — a Bubble System stuck on the wait screen is not necessarily faulty. Bubbles age: many have been converted to EPROM.
  • Twin16 (2× 68000): a freeze = one of the two 68000s / its RAM → separate CPU diagnosis.
  • Customs / video RAM: corrupt sprites = RAM + buffers first.
  • Capacitors: recap the sound stage + PSU filtering.

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
AY8910 1.789772 MHz PSG
K007232 3.579545 MHz Konami PCM
M68000 6.144 MHz · 9.216 MHz main CPU
YM2151 3.579545 MHz FM (sound)
YM3812 3.579545 MHz FM (sound)
Z80 1.789772 MHz · 3.579545 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.

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 ✅

16 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 blkpnthr
Setting Position Options (default in bold)
Flip Screen SW3:1 Off · On
Continue SW3:2,3 Off · 2 Areas · 3 Areas · 4 Areas
Lives SW2:1,2 3 · 4 · 5 · 7
Cabinet SW2:3 Upright · Cocktail
Bonus Life SW2:4,5 50k 100k · 20k 50k · 30k 70k · 80k 150k
Difficulty SW2:6,7 Easy · Normal · Hard · Hardest
Demo Sounds SW2:8 Off · On
DIP settings — MAME set bs_gradius
Setting Position Options (default in bold)
Lives SW2:1,2 3 · 4 · 5 · 7
Cabinet SW2:3 Upright · Cocktail
Bonus Life SW2:4,5 20k and every 70k · 30k and every 80k · 20k only · 30k only
Upright Controls SW3:2 Single · Dual
DIP settings — MAME set bs_twinbee
Setting Position Options (default in bold)
Lives SW2:1,2 2 · 3 · 4 · 7
Bonus Life SW2:4,5 20k 100k · 30k 120k · 40k 140k · 50k 160k
DIP settings — MAME set bubsys
Setting Position Options (default in bold)
Difficulty SW2:6,7 Easy · Normal · Hard · Hardest
Demo Sounds SW2:8 Off · On
Flip Screen SW3:1 Off · On
Players SW3:2 1 · 2
DIP settings — MAME set citybomb
Setting Position Options (default in bold)
Flip Screen SW3:1 Off · On
Upright Controls SW3:2 Single · Dual
Device Type SW3:4 Handle · Joystick
Cabinet SW2:3 Upright · Cocktail
Qualify SW2:4,5 Long · Normal · Short · Very Short
Difficulty SW2:6,7 Easy · Normal · Hard · Hardest
Demo Sounds SW2:8 Off · On
DIP settings — MAME set gradius
Setting Position Options (default in bold)
Lives SW2:1,2 3 · 4 · 5 · 7
Cabinet SW2:3 Upright · Cocktail
Bonus Life SW2:4,5 20k and every 70k · 30k and every 80k · 20k only · 30k only
Difficulty SW2:6,7 Easy · Normal · Hard · Hardest
Demo Sounds SW2:8 Off · On
Flip Screen SW3:1 Off · On
Upright Controls SW3:2 Single · Dual
DIP settings — MAME set gwarrior
Setting Position Options (default in bold)
Lives SW2:1,2 1 · 2 · 3 · 7
Bonus Life SW2:4,5 30k 100k 200k 400k · 40k 120k 240k 480k · 50k 150k 300k 600k · 100k 200k 400k 800k
Difficulty SW2:6,7 Easy · Normal · Hard · Hardest
Demo Sounds SW2:8 Off · On
Flip Screen SW3:1 Off · On
Players SW3:2 1 · 2
DIP settings — MAME set hcrash
Setting Position Options (default in bold)
Cabinet SW2:1,2 Konami GT without brake · Konami GT with brake · WEC Le Mans 24 Upright
Difficulty SW2:6,7 Easy · Normal · Hard · Hardest
Demo Sounds SW2:8 Off · On
Flip Screen SW3:1 Off · On
Quantity of Initials SW3:2 3 · 7
Speed Unit SW3:4 km/h · M.P.H.
DIP settings — MAME set konamigt
Setting Position Options (default in bold)
Difficulty SW2:5,6 Easy · Normal · Hard · Hardest
Demo Sounds SW2:8 Off · On
Flip Screen SW3:1 Off · On
DIP settings — MAME set lifefrcj
Setting Position Options (default in bold)
Flip Screen SW3:1 Off · On
Cabinet SW3:4 Upright · Cocktail
Lives SW2:1,2 3 · 4 · 5 · 6
Coin Slot(s) SW2:3 1 · 2
Bonus Life SW2:4,5 70k and every 200k · 100k and every 300k · 70k only · 100k only
Difficulty SW2:6,7 Easy · Normal · Hard · Hardest
Demo Sounds SW2:8 Off · On
DIP settings — MAME set nemesis
Setting Position Options (default in bold)
Lives SW2:1,2 3 · 4 · 5 · 7
Cabinet SW2:3 Upright · Cocktail
Bonus Life SW2:4,5 50k and every 100k · 30k · 50k · 100k
Difficulty SW2:6,7 Easy · Normal · Hard · Hardest
Demo Sounds SW2:8 Off · On
Flip Screen SW3:1 Off · On
Upright Controls SW3:2 Single · Dual
DIP settings — MAME set nemesuk
Setting Position Options (default in bold)
Lives SW2:1,2 2 · 3 · 5 · 7
Bonus Life SW2:4,5 20k and every 70k · 30k and every 80k · 20k · 30k
DIP settings — MAME set nyanpani
Setting Position Options (default in bold)
Flip Screen SW3:1 Off · On
Lives SW2:1,2 2 · 3 · 5 · 7
Difficulty SW2:6,7 Easy · Normal · Hard · Hardest
Demo Sounds SW2:8 Off · On
DIP settings — MAME set rf2
Setting Position Options (default in bold)
Difficulty SW2:5,6 Easy · Normal · Hard · Hardest
Demo Sounds SW2:8 Off · On
Flip Screen SW3:1 Off · On
DIP settings — MAME set salamand
Setting Position Options (default in bold)
Flip Screen SW3:1 Off · On
Cabinet SW3:4 Upright · Cocktail
Coinage SW1:1,2,3,4 4C 1C · 3C 1C · 2C 1C · 3C 2C · 4C 3C · 1C 1C · 3C 4C · 2C 3C · 1C 2C · 2C 5C …
Lives SW2:1,2 2 · 3 · 5 · 7
Coin Slot(s) SW2:3 1 · 2
Max Credit(s) SW2:4,5 1 · 3 · 5 · 9
Difficulty SW2:6,7 Easy · Normal · Hard · Hardest
Demo Sounds SW2:8 Off · On
DIP settings — MAME set twinbee
Setting Position Options (default in bold)
Lives SW2:1,2 2 · 3 · 4 · 7
Bonus Life SW2:4,5 20k 100k · 30k 120k · 40k 140k · 50k 160k
Difficulty SW2:6,7 Easy · Normal · Hard · Hardest
Demo Sounds SW2:8 Off · On
Flip Screen SW3:1 Off · On
Players SW3:2 1 · 2

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 (konami/nemesis.cpp, twin16.cpp) — Bubble System emulated.
  • FPGA / MiSTer: a Konami (Nemesis/Gradius) core is available.

EPROM repair

68000 program in 27C256 / 27C512 / 27C010 (MAME konami/nemesis.cpp): Nemesis / Gradius = 8× 27C256 · TwinBee = 2× 27C256 · Salamander / Lifeforce = 2× 27C512 + 2× 27C010. Graphics are mask ROMs; some carry a VLM5030 (voice) or a protection.

Lineage

After the Konami classics; contemporary with the 68000 beat-em-up era (TMNT) and precedes the GX.

Photos / assets

(To add: Nemesis board, Bubble System + bubble cart, Twin16.)

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.