From 16edb038d78a605d0739c2df6eea92c420871e16 Mon Sep 17 00:00:00 2001 From: 987123879113 <63495610+987123879113@users.noreply.github.com> Date: Tue, 28 Nov 2023 02:07:07 +0900 Subject: -konami/ksys573.cpp: Dumped Dance Revolution (GC845 VER. JAB). (#11790) -machine/t10mmc.cpp: Fixed interpretation of CD Audio control page data. Clones promoted to working --------------------------- Dance Dance Revolution (GC845 VER. JAB) [tweak!, Caldenza, Taro] --- src/devices/machine/t10mmc.cpp | 17 ++++++++--------- src/mame/konami/ksys573.cpp | 25 ++++++++++++++----------- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/src/devices/machine/t10mmc.cpp b/src/devices/machine/t10mmc.cpp index b597c27a4af..7797156f823 100644 --- a/src/devices/machine/t10mmc.cpp +++ b/src/devices/machine/t10mmc.cpp @@ -1273,19 +1273,15 @@ void t10mmc::ReadData( uint8_t *data, int dataLength ) data[ptr++] = 0x8e; // page E, parameter is savable data[ptr++] = 0x0e; // page length data[ptr++] = (1 << 2) | (m_sotc << 1); // IMMED = 1 - ptr += 6; // skip reserved bytes - // connect each audio channel to 1 output port + ptr += 5; // skip reserved bytes + // connect each audio channel to 1 output port and indicate max volume data[ptr++] = 1; - data[ptr++] = 2; - data[ptr++] = 4; - data[ptr++] = 8; - // indicate max volume data[ptr++] = 0xff; - ptr++; + data[ptr++] = 2; data[ptr++] = 0xff; - ptr++; + data[ptr++] = 4; data[ptr++] = 0xff; - ptr++; + data[ptr++] = 8; data[ptr++] = 0xff; } @@ -1383,6 +1379,9 @@ void t10mmc::WriteData( uint8_t *data, int dataLength ) m_device->logerror("Ch 1 route: %x vol: %x\n", data[10], data[11]); m_device->logerror("Ch 2 route: %x vol: %x\n", data[12], data[13]); m_device->logerror("Ch 3 route: %x vol: %x\n", data[14], data[15]); + + // TODO: CDDA audio channels and output port should be separate + // The actual audio channel that gets sent to the output port is configurable and more than one audio channel can go to an output port m_cdda->set_output_gain(0, data[9] / 255.0f); m_cdda->set_output_gain(1, data[11] / 255.0f); break; diff --git a/src/mame/konami/ksys573.cpp b/src/mame/konami/ksys573.cpp index dcf0c2bd67c..bf9656c557b 100644 --- a/src/mame/konami/ksys573.cpp +++ b/src/mame/konami/ksys573.cpp @@ -3817,31 +3817,34 @@ ROM_END ROM_START( ddrjb ) SYS573_BIOS_A - ROM_REGION( 0x0000224, "cassette:game:eeprom", 0 ) + ROM_REGION( 0x0000224, "cassette:game:eeprom", 0 ) // game doesn't try reading at all. not needed? ROM_LOAD( "gc845ja.u1", 0x000000, 0x000224, NO_DUMP ) ROM_REGION( 0x200000, "29f016a.31m", 0 ) /* onboard flash */ - ROM_LOAD( "gc845jab.31m", 0x000000, 0x200000, NO_DUMP ) + ROM_LOAD( "gc845jab.31m", 0x000000, 0x200000, CRC(7acbc2ef) SHA1(64cd25ee3060399bf072346e4e6383f77755188b) ) ROM_REGION( 0x200000, "29f016a.27m", 0 ) /* onboard flash */ - ROM_LOAD( "gc845jab.27m", 0x000000, 0x200000, NO_DUMP ) + ROM_LOAD( "gc845jab.27m", 0x000000, 0x200000, CRC(67608bb7) SHA1(42f0203342b913b6ff433bcaf6cf44a471294032) ) ROM_REGION( 0x200000, "29f016a.31l", 0 ) /* onboard flash */ - ROM_LOAD( "gc845jab.31l", 0x000000, 0x200000, NO_DUMP ) + ROM_LOAD( "gc845jab.31l", 0x000000, 0x200000, CRC(c15ad83c) SHA1(79b401ff58ed84a60647531f94852b70cd86aea0) ) ROM_REGION( 0x200000, "29f016a.27l", 0 ) /* onboard flash */ - ROM_LOAD( "gc845jab.27l", 0x000000, 0x200000, NO_DUMP ) + ROM_LOAD( "gc845jab.27l", 0x000000, 0x200000, CRC(4a712a01) SHA1(e9716c6750adff78bd6c85f406fa61ae2981a1c0) ) ROM_REGION( 0x200000, "29f016a.31j", 0 ) /* onboard flash */ - ROM_LOAD( "gc845jab.31j", 0x000000, 0x200000, NO_DUMP ) + ROM_LOAD( "gc845jab.31j", 0x000000, 0x200000, CRC(4fb5437e) SHA1(21a892d0c63fa146a89bcc0e83244549f55fe4fb) ) ROM_REGION( 0x200000, "29f016a.27j", 0 ) /* onboard flash */ - ROM_LOAD( "gc845jab.27j", 0x000000, 0x200000, NO_DUMP ) + ROM_LOAD( "gc845jab.27j", 0x000000, 0x200000, CRC(3b281fa3) SHA1(05cfa8d09d6da56e4438b6d19f9bbdb5c17b651b) ) ROM_REGION( 0x200000, "29f016a.31h", 0 ) /* onboard flash */ - ROM_LOAD( "gc845jab.31h", 0x000000, 0x200000, NO_DUMP ) + ROM_LOAD( "gc845jab.31h", 0x000000, 0x200000, CRC(724b373b) SHA1(157f879fc4f4d3f4021d40aa8e2fdd464fc2b0e3) ) ROM_REGION( 0x200000, "29f016a.27h", 0 ) /* onboard flash */ - ROM_LOAD( "gc845jab.27h", 0x000000, 0x200000, NO_DUMP ) + ROM_LOAD( "gc845jab.27h", 0x000000, 0x200000, CRC(43294c4b) SHA1(ebaa32495a50c78560eb4988587220ed535d0dc2) ) DISK_REGION( "runtime" ) - DISK_IMAGE_READONLY( "845jab02", 0, SHA1(bac74acaffd9d00e4105e13f32492f5d0fc5a2e1) ) + DISK_IMAGE_READONLY( "845jab02", 0, SHA1(bfaeff41ec0dac281fd40567309e0bb1c22354fa) ) DISK_REGION( "install" ) DISK_IMAGE_READONLY( "845jab01", 0, NO_DUMP ) // if this even exists + + ROM_REGION( 0x002000, "m48t58", 0 ) // dummy file with required header to allow game to boot + ROM_LOAD( "gc845jab.22h", 0x000000, 0x002000, BAD_DUMP CRC(b20d341e) SHA1(ed423e2ec66924ac4fada83d70dda6be75e5e85c) ) ROM_END ROM_START( ddra ) @@ -6332,7 +6335,7 @@ GAME( 1999, dstagea, dstage, ddr, ddr, ddr_state, init_ddr, GAME( 1999, ddru, dstage, ddr, ddr, ddr_state, init_ddr, ROT0, "Konami", "Dance Dance Revolution (GN845 VER. UAA)", MACHINE_IMPERFECT_SOUND ) GAME( 1998, ddrj, dstage, ddr, ddr, ddr_state, init_ddr, ROT0, "Konami", "Dance Dance Revolution - Internet Ranking Ver (GC845 VER. JBA)", MACHINE_IMPERFECT_SOUND ) GAME( 1998, ddrja, dstage, ddr, ddr, ddr_state, init_ddr, ROT0, "Konami", "Dance Dance Revolution (GC845 VER. JAA)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) -GAME( 1998, ddrjb, dstage, ddr, ddr, ddr_state, init_ddr, ROT0, "Konami", "Dance Dance Revolution (GC845 VER. JAB)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) +GAME( 1998, ddrjb, dstage, ddr, ddr, ddr_state, init_ddr, ROT0, "Konami", "Dance Dance Revolution (GC845 VER. JAB)", MACHINE_IMPERFECT_SOUND ) GAME( 1999, ddra, dstage, ddr, ddr, ddr_state, init_ddr, ROT0, "Konami", "Dance Dance Revolution (GN845 VER. AAA)", MACHINE_IMPERFECT_SOUND ) GAME( 1999, ddrkara, sys573, ddrk, ddrkara, ddr_state, init_ddr, ROT0, "Konami", "Dance Dance Revolution Karaoke Mix (GQ921 VER. JBB)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) GAME( 1998, fbait2bc, sys573, fbaitbc, fbaitbc, ksys573_state, empty_init, ROT0, "Konami", "Fisherman's Bait 2 - A Bass Challenge (GE865 VER. UAB)", MACHINE_IMPERFECT_SOUND ) -- cgit v1.2.3