Skip to content

DIP settings — flagship games (transcribed reference)

Complete DIP tables for common games, hard-transcribed into the wiki (source: MAME source code, the authoritative and durable reference). For the general logic (bank of 8, soft-dips…), see DIP settings — general rule.

DIP vs conversion jumpers — don't confuse them

DIP switches set the game (difficulty, lives, credits) — useful but secondary, and already well covered by MAME and dedicated sites. What matters for converting a board are the hardware jumpers (ROM size/type per socket): those are documented on each conversion page (e.g. CPS-2 §3 jumpers — logic table + sizes → EPROM model). This page is a DIP complement, not the core of the conversion topic.

Why transcribe here

External sheets disappear (observed: jumper_data_settings.xls is no longer reachable). So we store it here, from the MAME definitions (src/mame/**), a verifiable reference. Convention: default = factory setting (in bold).


IREM R-Type (M72) — rtype

SW1 bank

Switch Function Settings (default in bold)
SW1:1,2 Lives 2 · 3 · 4 · 5
SW1:3 Sound in demo Off · On
SW1:4 Bonus (extend) 50K 150K 250K 400K 600K · 100K 200K 350K 500K 700K
SW1:5,6,7,8 Coinage (Coin Mode 1/2) depends on mode (see SW2:3)

SW2 bank

Switch Function Settings (default in bold)
SW2:1 Flip screen Off · On
SW2:2 Cabinet Upright · Cocktail
SW2:3 Coin Mode Mode 1 · Mode 2
SW2:4 Difficulty Normal · Hard
SW2:5 Allow continue No · Yes
SW2:6 Stop Mode (debug pause: 2 = stop, 1 = resume) Off · On
SW2:7 Invincibility (debug) Off · On
SW2:8 Service / Test Off · On

Tip: leave SW2:6 and SW2:7 Off (those are debug modes).


Capcom Street Fighter II (CPS-1) — sf2

CPS-1 = three banks: SW(A) coinage, SW(B) difficulty, SW(C) options/test.

SW(A) — coinage

Switch Function Settings
SW(A):1,2,3 Coin A 4C_1C · 3C_1C · 2C_1C · 1C_1C · 1C_2C · 1C_3C · 1C_4C · 1C_6C
SW(A):4,5,6 Coin B same range (default 1C_1C)
SW(A):7 2 credits to start, 1 to continue Off · On

SW(B) — difficulty

Switch Function Settings
SW(B):1,2,3 Difficulty 8 levels (1 = easiest → 8 = hardest)
SW(B):4-8 unused

SW(C) — options & test

Switch Function Settings (default in bold)
SW(C):1,2 unused
SW(C):3 Free Play Off · On
SW(C):4 Freeze (debug pause) Off · On
SW(C):5 Flip screen Off · On
SW(C):6 Sound in demo Off · On
SW(C):7 Allow continue No · Yes
SW(C):8 Game Mode Game · Test

To enter test, flip SW(C):8 to Test (or use the service button). CPS-1 is physical config — after a CPS-1 conversion, apply the target game's table.


Toaplan Batsugun (V2) — batsugun

Toaplan V2 = two banks SW1 / SW2.

Switch Function Settings (default in bold)
SW1:1 Continue price Normal · Discount
SW1:2,3,4 Functions (Test/service, flip screen, sound in demo) per bit — see test menu
SW1:5,6,7,8 Coinage (Japanese pricing; EU shows but inactive) 1C_1C default
SW2:1,2 Difficulty Normal (4 levels)
SW2:3,4 Bonus (extend) None · 1500k · 1000k · 500k then /600k
SW2:5,6 Lives 1 · 2 · 3 · 5
SW2:7 Invincibility (cheat) Off · On
SW2:8 Allow continue No · Yes

Toaplan Truxton / Tatsujin (V1) — truxton

Toaplan V1 = two banks SW1 / SW2 + a region jumper block (JMPR).

SW2 bank (DSWB) — verified from MAME

Switch Function Settings (default in bold)
SW2:1,2 Difficulty Medium (4 levels: Easy/Medium/Hard/Very Hard)
SW2:3,4 Bonus (extend) 70k 270k 200k+ · 50k 200k 150k+ · 100k only · None
SW2:5,6 Lives 2 · 3 · 4 · 5
SW2:7 DIP Switch Display (settings screen) Off · On
SW2:8 Allow continue Yes · No

SW1 (DSWA) = standard Toaplan convention: coinage (dual JP/World per the region jumper), test/service, flip screen, sound in demo (TOAPLAN_MACHINE/TOAPLAN_COINAGE macros in MAME). See the general convention.

Region jumper block (JMPR:1,2,3) — not a DIP, a hardware jumper:

JMPR 1-2-3 Region Notice / licence
010 (default) Europe Taito Corporation, World coinage
011 Europe Taito Corporation, Japan coinage
110 / 111 Europe Taito America Corp.
101 / 100 USA Taito America Corp.
001 USA (Romstar licence) Taito America Corp.
000 Japan Taito Corporation

SNK Neo-Geo MVS (Metal Slug, KOF '98…) — universal DIP

⚠️ On MVS, the hardware DIP bank is the same for ALL games (Metal Slug, KOF '98, etc.). The actual game settings (difficulty, lives, credits) are soft-dips in the BIOS / game menu, not physical DIPs.

Switch Function Settings (default in bold)
SW:1 Setting Mode (enter system config) Off · On
SW:2 Cabinet Normal · VS Mode
SW:3 Controller Joystick · Mahjong Panel
SW:4,5 COMM — cabinet number 1 · 2 · 3 · 4
SW:6 COMM — link Off · On
SW:7 Free Play Off · On
SW:8 Freeze Off · On

For Metal Slug or KOF '98 difficulty/lives/credits: go through the soft-dip (set SW:1 On for Setting Mode, or the game menu). UniBIOS adds options. See Neo-Geo MVS.

Cave DoDonPachi — no DIP

⚠️ DoDonPachi (and Cave 1st generation in general) has no DIP switches: all settings (difficulty, lives, coinage, region) go through the software service menu, stored in the EEPROM (93C46). Physically, only COIN 1/2 and the service button exist.

  • Enter the menu with the TEST/service button.
  • After a Cave conversion, reset the EEPROM then set everything in the target game's menu.

Midway Mortal Kombat (T-Unit) — mk

A hybrid DIP bank: coinage can come from the DIP or the CMOS. Transcribed from MAME williams/midtunit.cpp (factory default in bold).

Switch Function Settings (default in bold)
bit 0x01 Test Switch Off · On
bit 0x02 Counters One · Two
bits 0x7c Coinage (region presets) USA-1 · USA-2/3/4 · USA-ECA · USA-Free Play · German-1…5/ECA/Free Play · French-1…4/ECA/Free Play
bit 0x80 Coinage Source Dipswitch · CMOS
bit 0x100 Skip POST (skip self-test) Off · On
bit 0x800 Comic Book Offer Off · On
bit 0x1000 Attract Sound Off · On
bit 0x2000 Low Blows (low blows allowed) Off · On

Bits 0x200 / 0x400 are unused. Coinage uses region-named presets (USA/German/ French 1-4, ECA, Free Play) rather than a per-bit price. With Coinage Source = CMOS, coinage is set in the operator menu (like the Williams 6809).

Williams 6809 (Defender, Joust, Robotron…) — no DIP

⚠️ The Williams 6809 hardware has no DIP switches: coinage, difficulty, lives, free play and scores are in CMOS/NVRAM, set via the operator menu (coin-door buttons). The equivalent of a soft-dip. See the PCB page Williams 6809.

Namco Pac-Man — pacman

A single DSW1 bank (+ a "Rack Test" on another input). Transcribed from MAME pacman/pacman.cpp (factory default in bold).

Switch Function Settings (default in bold)
SW:1,2 Coinage 2C_1C · 1C_1C · 1C_2C · Free Play
SW:3,4 Lives 1 · 2 · 3 · 5
SW:5,6 Bonus (extend) 10000 · 15000 · 20000 · None
(pad) Difficulty Normal · Hard
(pad) Ghost Names Normal · Alternate
SW:7 Rack Test (cheat/debug) Off · On

On the original puckman set, Difficulty and Ghost Names are jumper pads (R32/C29, C10/C29) rather than real switches — MAME exposes them as config options.

Namco Galaga — galaga

Two physical banks SWA (coinage/bonus/lives) and SWB (difficulty/options). Transcribed from MAME namco/galaga.cpp (factory default in bold).

SWA bank

Switch Function Settings (default in bold)
SWA:1,2,3 Coinage 4C_1C · 3C_1C · 2C_1C · 1C_1C · 2C_3C · 1C_2C · 1C_3C · Free Play
SWA:4,5,6 Bonus (extend) — depends on lives with 2-4 lives: 20K 70K then /70K (+ variants 20K/60K…); with 5 lives: different table (30K 100K…)
SWA:7,8 Lives 2 · 3 · 4 · 5

SWB bank

Switch Function Settings (default in bold)
SWB:1,2 Difficulty Easy · Medium · Hard · Hardest
SWB:3 unused
SWB:4 Demo sounds Off · On
SWB:5 Freeze (debug pause) Off · On
SWB:6 Rack Test (debug test) Off · On
SWB:7 unused
SWB:8 Cabinet Upright · Cocktail

⚠️ The bonus (SWA:4-6) has two tables depending on the lives setting (SWA:7,8): with 5 lives, the thresholds change (e.g. 30K/100K/…). MAME lists both via PORT_CONDITION. Factory default = 3 lives + 20K 70K then every 70K.

Nintendo Donkey Kong — dkong

A single SW1 bank (DSW0). Transcribed from MAME nintendo/dkong.cpp (factory default in bold).

Switch Function Settings (default in bold)
SW1:1,2 Lives 3 · 4 · 5 · 6
SW1:3,4 Bonus (extend) 7000 · 10000 · 15000 · 20000
SW1:5,6,7 Coinage 5C_1C · 4C_1C · 3C_1C · 2C_1C · 1C_1C · 1C_2C · 1C_3C · 1C_4C
SW1:8 Cabinet Upright · Cocktail

The dkongf variant ("Donkey Kong Foundry") adds a Free Play on SW1:5-7; the dkongx hacks (conversion) read these DIPs as the initial NVRAM values, after which everything is set in Service Mode (except Cabinet).

Konami Contra / Gryzor — contra

Three banks SW1 (coinage), SW2 and SW3. Transcribed from MAME konami/contra.cpp (factory default in bold).

SW2 bank

Switch Function Settings (default in bold)
SW2:1,2 Lives 2 · 3 · 5 · 7
SW2:3 unused (Cabinet on gryzor sets) Off/On
SW2:4,5 Bonus (extend) 30000 70000 · 40000 80000 · 40000 · 50000
SW2:6,7 Difficulty Easy · Normal · Hard · Hardest
SW2:8 Demo sounds Off · On

SW3 bank

Switch Function Settings (default in bold)
SW3:1 Flip screen Off · On
SW3:2 unused (Upright Controls on gryzor) Off/On
SW3:3 Service Off · On
SW3:4 Sound Mono · Stereo

SW1 = standard Konami coinage (KONAMI_COINAGE macro: Coin A/B, Free Play, "No Coin B"). See the general convention.

Capcom 1942 — 1942

Two banks SWA and SWB (MAME numbering 8→1). Transcribed from MAME capcom/1942.cpp (factory default in bold).

SWA bank

Switch Function Settings (default in bold)
SWA:6,7,8 Coin A 4C_1C · 3C_1C · 2C_1C · 1C_1C · 2C_3C · 1C_2C · 1C_4C · Free Play
SWA:5 Cabinet Upright · Cocktail
SWA:3,4 Bonus (extend) 20K 80K then /80K · 20K 100K /100K · 30K 80K /80K · 30K 100K /100K
SWA:1,2 Lives 1 · 2 · 3 · 5

SWB bank

Switch Function Settings (default in bold)
SWB:6,7,8 Coin B 4C_1C · 3C_1C · 2C_1C · 1C_1C · 2C_3C · 1C_2C · 1C_4C · Free Play
SWB:4 Flip screen Off · On
SWB:2,3 Difficulty Easy · Normal · Difficult · Very Difficult
SWB:1 Screen Stop (scroll stop, debug) Off · On

Konami/Sega Frogger — frogger

Galaxian hardware: the DIPs are read via the input ports (no standard SWx bank). Transcribed from MAME galaxian/galaxian.cpp (factory default in bold).

Function Settings (default in bold)
Lives 3 · 5 · 7 · 256 (cheat)
Coinage A 1/1 B 1/1 C 1/1 · A 2/1 B 2/1 C 2/1 · A 2/1 B 1/3 C 2/1 · A 1/1 B 1/6 C 1/1
Cabinet Upright · Cocktail

On this generation (Galaxian/Scramble) there is no real "SW1:1-8" bank: each setting is a dedicated physical input on the board. Check case by case.

Namco Dig Dug — digdug

Two banks SWA and SWB. Transcribed from MAME namco/galaga.cpp (factory default in bold).

SWA bank

Switch Function Settings (default in bold)
SWA:1,2,3 Coin B 3C_1C · 2C_1C · 1C_1C · 2C_3C · 1C_2C · 1C_3C · 1C_6C · 1C_7C
SWA:4,5,6 Bonus (extend) — depends on lives with 1-3 lives, default 20K and 60K only (Namco); with 5 lives, a different table
SWA:7,8 Lives 1 · 2 · 3 · 5

SWB bank

Switch Function Settings (default in bold)
SWB:1,2 Coin A 2C_1C · 1C_1C · 2C_3C · 1C_2C
SWB:3 Freeze (debug pause) Off · On
SWB:4 Demo sounds Off · On
SWB:5 Allow continue No · Yes
SWB:6 Cabinet Upright · Cocktail
SWB:7,8 Difficulty Easy · Medium · Hard · Hardest

Taito Bubble Bobble — bublbobl

Two banks DSW-A (coinage/mode) and DSW-B (gameplay). Transcribed from MAME taito/bublbobl.cpp (factory default in bold).

DSW-A bank

Switch Function Settings (default in bold)
DSW-A:1,3 Mode Game, English · Game, Japanese · Test (grid/inputs) · Test (RAM/sound)
DSW-A:2 Flip screen Off · On
DSW-A:4 Demo sounds Off · On
DSW-A:5,6 Coin A 2C_1C · 1C_1C · 2C_3C · 1C_2C
DSW-A:7,8 Coin B 2C_1C · 1C_1C · 2C_3C · 1C_2C

DSW-B bank

Switch Function Settings (default in bold)
DSW-B:1,2 Difficulty Easy · Normal · Hard · Very Hard
DSW-B:3,4 Bonus (extend) 20K 80K 300K · 30K 100K 400K · 40K 200K 500K · 50K 250K 500K
DSW-B:5,6 Lives 1 · 2 · 3 · 5
DSW-B:7 (must stay Off) Off · On
DSW-B:8 ROM Type IC52=512kb, IC53=none · IC52=256kb + IC53=256kb

DSW-B:8 = ROM Type (crucial for a conversion/repro)

This DIP must match the board's ROM wiring: set wrong, the board hangs at startup. Absolutely check it on a repro or a conversion.

Adding more

These tables are transcribed on demand from MAME. Method (reproducible):

  1. Open the system driver in mamedev/mame (e.g. src/mame/irem/m72.cpp, src/mame/capcom/cps1.cpp).
  2. Locate the INPUT_PORTS_START( <game> ) block and the PORT_DIPNAME / PORT_DIPLOCATION("SWx:n").
  3. Copy into a table (switch → function → settings), default = factory value.

Tell me which games you want first (by system) and I'll add them here.

Sources & attribution

  • MAME (official DIP definitions, transcribed): irem/m72.cpp (R-Type), capcom/cps1.cpp (SF2), capcom/1942.cpp (1942), williams/midtunit.cpp (Mortal Kombat), toaplan/toaplan1.cpp (Truxton), toaplan/batsugun.cpp (Batsugun), nintendo/dkong.cpp (Donkey Kong), galaxian/galaxian.cpp (Frogger), taito/bublbobl.cpp (Bubble Bobble), namco/pacman.cpp (Pac-Man), namco/galaga.cpp (Galaga), konami/contra.cpp (Contra), snk/neogeo.cpp (universal MVS DIP), atlus/cave.cpp (DoDonPachi = EEPROM, no DIP) — https://github.com/mamedev/mame

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.