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_COINAGEmacros 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_COINAGEmacro: 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):
- Open the system driver in
mamedev/mame(e.g.src/mame/irem/m72.cpp,src/mame/capcom/cps1.cpp). - Locate the
INPUT_PORTS_START( <game> )block and thePORT_DIPNAME/PORT_DIPLOCATION("SWx:n"). - 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.