Skip to content

CPS-1 — OpenKey codes / B-21 config per game (reference)

The "which setting for which game" of CPS-1: the OpenKey-CPS1 board reprograms the CPS-B-21 custom; you pick the game (or the B-XX config type) via a 5-position switch or solder jumpers. Table transcribed in-wiki from the OpenKey-CPS1 repo (jwestfall69).

How to read

  • Code (12345) = the 5 switches (or jumpers) position, 0 = off, 1 = on.
  • Named games: the code maps directly to the game (with its original program ROM labels).
  • B-XX: a generic CPS-B config (shared by several games) — use it when your game isn't named but you know the B-XX number of its C-board.

Stamped B-XX number sometimes WRONG

Some old C-boards have the B-XX stamped (rather than etched), and it can be incorrect. Documented example: a Final Fight board stamped B-04 actually uses B-01 (verified via MAME cps1_v.cpp). When in doubt, dump the ROMs and check the romset in MAME.

Named games

Code (12345) ROM labels Game Tested
00000 CCE / CCJ / CCU Captain Commando
00001 KDE / KDJ / KDU The King of Dragons
00010 KR_23E / KR_23J / KR_23U Knights of the Round
00011 Q5 Capcom World 2
00100 QDU Quiz & Dragons
00101 RTE / RTJ / RTU Three Wonders
00110 VAE / VAJ / VAU Varth
00111 CDE / CDJ / CDT / CDU Cadillacs & Dinosaurs
01000 MBE / MBJ / MBU Slam Masters / Muscle Bomber
01001 MBDE / MBDJ Muscle Bomber Duo
01010 PSE / PSH / PSJ / PSU The Punisher
01011 TK2E / TK2J / TK2U Warriors of Fate

Generic B-XX configs

For a game not named above, pick the B-XX config matching its C-board (see also the MAME cps1_v.cpp table for the game ↔ B-XX mapping).

Code (12345) Config Tested Code (12345) Config Tested
01100 B-01 10101 B-15
01101 B-02 10110 B-16
01110 B-03 10111 B-17
01111 B-04 11000 B-18
10000 B-05 11001 B-21
10001 B-11
10010 B-12
10011 B-13
10100 B-14

Usage (reminder)

  1. Set the code (switch/jumpers) to the wanted game or B-XX config.
  2. Insert the OpenKey-CPS1 between the C-board and the B-board.
  3. The target game's program EPROMs must be in place (see CPS-1 conversions).

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.