Go to file
987123879113 179b122b8e
Merge pull request #4 from DragonMinded/main
Document hardware fix for only reading one sensor per arrow
2022-04-17 06:56:30 +09:00
data_modified Initial commit 2021-04-12 10:43:42 +09:00
data_source Initial commit 2021-04-12 10:43:42 +09:00
src Relocate code 2022-04-03 01:12:17 +09:00
tools Initial commit 2021-04-12 10:43:42 +09:00
.gitignore Basic lights test menu that works for Solo lights, and mapping for start/body/neon implemented. 2022-04-01 20:42:14 +00:00
README.md Add instructions to README for how to build a hardware fix for only reading one sensor per-arrow. 2022-04-16 17:41:23 +00:00
step1_extract.bat Initial commit 2021-04-12 10:43:42 +09:00
step1_extract.sh Map in-game pad presses to correct lights. 2022-04-01 23:16:56 +00:00
step2_make.bat Initial commit 2021-04-12 10:43:42 +09:00
step2_make.sh Map in-game pad presses to correct lights. 2022-04-01 23:16:56 +00:00
step2_make_soloio.bat Initial commit 2021-04-12 10:43:42 +09:00
step2_make_soloio.sh Map in-game pad presses to correct lights. 2022-04-01 23:16:56 +00:00


Dance Dance Revolution 5th Mix Solo

This is an UNOFFICIAL patch for the System 573/arcade version of Dance Dance Revolution 5th Mix.

The game contains left over code that supports 6 panel gameplay and a large number of songs have 6 panel charts left over from 4th Mix Plus. This project is an attempt to restore that functionality as well as make improvements to the UI to bring it closer to what a real 5th Mix Solo might have felt like.

All source code is included.


  • Edits are bugged in 6 panel mode (won't fix)
  • Only one of the two sensors in each panel is read (won't fix)



Microsoft Visual Studio 2015 x86 Redistributable is required for tools to work properly.

  1. Extract the contents of your Dance Dance Revolution 5th Mix CD to the data_source folder. You should have a DAT folder, GAME.DAT, CARD.DAT, and PSX.EXE file in this folder.
  2. Run step1_extract.bat (step1_extract.sh if you are on *nix) to generate the data_raw folder.
  3. Run step2_make.bat or step2_make_soloio.bat (step2_make.sh or step2_make_soloio.sh if you are on *nix) to build the ddr5thsolo.iso/ddr5thsolo_soloio.iso files. If you are using a real Solo machine then use step2_make_soloio.bat. If you are using MAME or an otherwise non-Solo machine then use step2_make.bat.

Additionally, if you are building this for MAME, you must use chdman (included with MAME) to build the required CHD.

  1. Generate CHD using chdman.exe createcd -i ddr5thsolo.iso -o a27jaa02.chd -c none (-c none is requested because the compression can throw timing off in MAME).
  2. Overwrite roms/ddr5m/a27jaa02.chd in your MAME folder with the newly generated a27jaa02.chd.
  3. Delete nvram/ddr5m in order to force reinstallation when you boot ddr5m next in MAME.
  4. You must run MAME from the command line instead of through the normal MAME UI to bypass hash check errors

If you wish to extract the CD bin/cue from a CHD file, use chdman.exe extractcd -i a27jaa02.chd -o a27jaa02.cue.

Additional Instructions (*NIX ONLY)

If you are building using *nix, you must compile the required Cython modules:

  1. cd tools/py
  2. python3 -m pip install -r requirements.txt
  3. python3 setup.py build_ext --inplace


  • Dipswitch 1 can be toggled on/off to enable/disable autoplay (even on real hardware)
  • There are various flags in src/main.asm that can be modified such as FORCE_UNLOCK, SOLO_MODE, AUTOPLAY_ENABLED, AUTOPLAY_TIMING, DISABLE_ANNOUNCER, DISABLE_CHEERING, and SWAP_EXTRA_LIGHTS.

Hardware Sensor Fix

If you are running this on an actual Solo cabinet and find that the pad is not as sensitive as you would like due to the game reading only one of the two sensors per arrow, you can apply the following hardware fix to bridge each pair of sensors together. Get a JAMMA fingerboard and wire every connection straight through so that JAMMA pin 1 on the 573 side connects to JAMMA pin 1 on the connector side, and so on. Then, once every pin is connected straight through, bridge the following pins together:

  • Up-Left - X, 22
  • Up - 18, Z
  • Down - 19, 24
  • Left - 20, 23
  • Right - 21, aa
  • Up-Right - Y, bb

Now, when in the IO test menu or in-game, both sensors in each arrow will register and you should notice your sensitivity improving greatly.


  • @WannyTiggah for the edited title screen and icon edits
  • @SakamotoNeko13 for the edited 4PANEL/6PANEL graphics on the style select screen
  • @dragonminded for testing with a real Solo cabinet as well as lights mapping, lights test menu and autoplay display on dip test menu