From d9b0f9a5fa38ffab2689dcc2a41041f64ad7fb6b Mon Sep 17 00:00:00 2001 From: Philip Bennett Date: Thu, 14 Sep 2023 18:01:21 -0700 Subject: New non-working machines ---------- Bubblen Roulette (main ver 1.8, video ver 1.3) [Phil Bennett] --- src/mame/mame.lst | 1 + src/mame/taito/sbmjb.cpp | 141 +++++++++++++++++++++++++++++++---------------- 2 files changed, 94 insertions(+), 48 deletions(-) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index c22e7f536e4..6f8b64ded9b 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -42820,6 +42820,7 @@ rollace2 // (c) 1983 Williams @source:taito/sbmjb.cpp honooinv // E41 (c) 1997 Taito +bubbroul // E48 (c) 1997 Taito sbmjb // ??? (c) 1998 Taito @source:taito/sbowling.cpp diff --git a/src/mame/taito/sbmjb.cpp b/src/mame/taito/sbmjb.cpp index 03484337492..49ebd71a73e 100644 --- a/src/mame/taito/sbmjb.cpp +++ b/src/mame/taito/sbmjb.cpp @@ -2,13 +2,14 @@ // copyright-holders: /* - Sonic Blast Man's Janken Battle (ソニックブラストマンのジャンケンバトル) (c) 1998 Taito - - Redemption game based on Janken, a Japanese game similar to Rock Paper Scissors - Video: https://www.youtube.com/watch?v=AFWLMHbpQz8 + Taito redemption games + + Honoo no Invader (炎のインベーダー) (c) 1997 Taito + Bubblen Roulette (バブルンるーれっと) (c) 1997 Taito - video: https://www.youtube.com/watch?v=AaugRz3cqv0 + Sonic Blast Man's Janken Battle (ソニックブラストマンのジャンケンバトル) (c) 1998 Taito - video: https://www.youtube.com/watch?v=AFWLMHbpQz8 + Other undumped games believed to use the same hardware: - Bubblen Roulette (バブルンるーれっと) (c) 1997 Taito - video: https://www.youtube.com/watch?v=AaugRz3cqv0 Harikiri Junior Baseball (はりきりジュニアベースボール) (c) 1998 Taito - video: https://www.youtube.com/watch?v=eRZctnd8whE Packy's Treasure Slot (パッキイのトレジャースロット) (c) 1997 Taito - video: https://www.youtube.com/watch?v=IPse14eGiqM @@ -118,29 +119,6 @@ void sbmjb_state::tc0091lvc_map(address_map &map) // TODO: copy-pasted from othe map(0xff08, 0xff08).rw(m_vdpcpu, FUNC(tc0091lvc_device::rom_bank_r), FUNC(tc0091lvc_device::rom_bank_w)); } - -static INPUT_PORTS_START( sbmjb ) // no dips on PCB, game options selectable in test mode - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Bet 5") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Bet 3") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Bet 2") - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Choki") - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Guu") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // No effect in test mode - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) // No effect in test mode - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Paa")// Also used to confirm in test mode - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) // Also used to select in test mode - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_CUSTOM ) // Hopper Sensor, active high or it will stop booting due to hopper related problems - PORT_SERVICE( 0x04, IP_ACTIVE_LOW ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("100 Yen Switch") - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 ) // TODO: active high doesn't allow coining in but it also doesn't cause the medal in error - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 ) // TODO: active high doesn't allow coining in but it also doesn't cause the medal in error - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) // No effect in test mode - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) // No effect in test mode -INPUT_PORTS_END - static INPUT_PORTS_START( honooinv ) // no dips on PCB, game options selectable in test mode PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_NAME("Separator") // in I/O test; also seems to have effect on 'Hopper Rotation'. Effects shown also in the shot test @@ -183,6 +161,50 @@ static INPUT_PORTS_START( honooinv ) // no dips on PCB, game options selectable PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(4) PORT_NAME("Open-R") // in pinpanel test INPUT_PORTS_END +static INPUT_PORTS_START( bubbroul ) + PORT_START("IN0") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Bet 5") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Bet 3") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Bet 4") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Bet 8") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Bet 10") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // No effect in test mode + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) // No effect in test mode + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Start/Stop Switch") // Also used to confirm in test mode + + PORT_START("IN1") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_CUSTOM ) + PORT_SERVICE( 0x04, IP_ACTIVE_LOW ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("100 Yen Switch") + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 ) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) +INPUT_PORTS_END + +static INPUT_PORTS_START( sbmjb ) // no dips on PCB, game options selectable in test mode + PORT_START("IN0") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Bet 5") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Bet 3") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Bet 2") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Choki") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Guu") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // No effect in test mode + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) // No effect in test mode + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Paa")// Also used to confirm in test mode + + PORT_START("IN1") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) // Also used to select in test mode + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_CUSTOM ) // Hopper Sensor, active high or it will stop booting due to hopper related problems + PORT_SERVICE( 0x04, IP_ACTIVE_LOW ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("100 Yen Switch") + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 ) // TODO: active high doesn't allow coining in but it also doesn't cause the medal in error + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 ) // TODO: active high doesn't allow coining in but it also doesn't cause the medal in error + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) // No effect in test mode + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) // No effect in test mode +INPUT_PORTS_END + TIMER_DEVICE_CALLBACK_MEMBER(sbmjb_state::scanline_callback) // TODO: copy-pasted from other drivers using same chip, to be verified { @@ -250,52 +272,75 @@ void sbmjb_state::honooinv(machine_config &config) io.in_port4_cb().set_ioport("IN3"); } -ROM_START( sbmjb ) // all labels were peeled off / unreadable - ROM_REGION( 0x10000, "maincpu", 0 ) // Main ver. 1.1 1998/08/25 - ROM_LOAD( "mprog.ic12", 0x00000, 0x10000, CRC(d11f14eb) SHA1(29c4b8e3ebb9ff3c5630c7bb3c8224a2f57e8fe8) ) // 1xxxxxxxxxxxxxxx = 0xFF +ROM_START( honooinv ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "e41-08.ic12", 0x00000, 0x10000, CRC(71fc6a58) SHA1(8e95f42fa227e7bbf80dc7690a016f5e43a8125d) ) // 1xxxxxxxxxxxxxxx = 0xFF ROM_REGION( 0x10000, "audiocpu", 0 ) - ROM_LOAD( "sndprog.ic5", 0x00000, 0x10000, CRC(e41575f1) SHA1(66ab1b81a618fe5e676b4f8768a5bee8d189de58) ) // 1xxxxxxxxxxxxxxx = 0xFF + ROM_LOAD( "e41-07.ic5", 0x00000, 0x10000, CRC(0f1faa0b) SHA1(ff8a242507207be3ced2a77705b24a5b6dd1189c) ) // 1xxxxxxxxxxxxxxx = 0xFF - ROM_REGION( 0x80000, "vdpcpu", 0 ) // Video ver. 1.0 1998/06/01 - ROM_LOAD( "videoprg.ic52", 0x00000, 0x80000, CRC(21ebc096) SHA1(12f0ad4530560782a5b7517557d68526a51091e1) ) // 1xxxxxxxxxxxxxxxxxx = 0xFF + ROM_REGION( 0x80000, "vdpcpu", 0 ) + ROM_LOAD( "e41-04.ic52", 0x00000, 0x80000, CRC(2e236b65) SHA1(4c5dda35d083742ad708d575e1d8cd158fa89210) ) // 1xxxxxxxxxxxxxxxxxx = 0xFF ROM_REGION( 0x100000, "vdpcpu:gfx", 0 ) - ROM_LOAD16_BYTE( "chr-l.ic49", 0x00000, 0x80000, CRC(54237760) SHA1(d183d4c3df3222e94219356a39ee5566ebdd54cf) ) - ROM_LOAD16_BYTE( "chr-h.ic48", 0x00001, 0x80000, CRC(0a815d7c) SHA1(5c2f65ff1f84979993f7c0df8d91ed2cd6f0acd1) ) + ROM_LOAD16_BYTE( "e41-05.ic49", 0x00000, 0x80000, CRC(493ddfac) SHA1(b37ac65c08dda284e15446bdc545cca889e03ba7) ) + ROM_LOAD16_BYTE( "e41-06.ic48", 0x00001, 0x80000, CRC(edb38f82) SHA1(d94f05f96a7acdb9e3c98646cbdd797fdc3b92b7) ) ROM_REGION( 0x40000, "oki", 0 ) - ROM_LOAD( "adpcm.ic3", 0x00000, 0x40000, CRC(69158cf3) SHA1(f638bd7b5ef9e400eaa55eb3b4546e881e955087) ) + ROM_LOAD( "e41-09.ic3", 0x00000, 0x40000, CRC(5d25fb77) SHA1(b474be05cdb2e57632595caee7f8c27572db8935) ) ROM_REGION( 0x400, "plds", 0 ) ROM_LOAD( "e41-02.ic51", 0x000, 0x117, CRC(67fd54e0) SHA1(f64fb33b9a4a935af5662b5103709131727c8411) ) ROM_LOAD( "e41-03.ic24", 0x200, 0x117, CRC(d906c8ea) SHA1(eae9c9c25b4affe4baf7ba034c61670d24f5c4d1) ) ROM_END -ROM_START( honooinv ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "e41-08.ic12", 0x00000, 0x10000, CRC(71fc6a58) SHA1(8e95f42fa227e7bbf80dc7690a016f5e43a8125d) ) // 1xxxxxxxxxxxxxxx = 0xFF +ROM_START( bubbroul ) + ROM_REGION( 0x10000, "maincpu", 0 ) // Main ver. 1.8 1998/11/02 + ROM_LOAD( "e48-05-1.ic12", 0x00000, 0x10000, CRC(25db07c9) SHA1(c14ce8ce4e9182952ffa83452e0ca52a3d3c99ef) ) // 1xxxxxxxxxxxxxxx = 0xFF ROM_REGION( 0x10000, "audiocpu", 0 ) - ROM_LOAD( "e41-07.ic5", 0x00000, 0x10000, CRC(0f1faa0b) SHA1(ff8a242507207be3ced2a77705b24a5b6dd1189c) ) // 1xxxxxxxxxxxxxxx = 0xFF + ROM_LOAD( "e48-04.ic5", 0x00000, 0x10000, CRC(b25f98c6) SHA1(fc6f36037c3d6a0eef1a266511b83f0cb88fe003) ) // 1xxxxxxxxxxxxxxx = 0xFF - ROM_REGION( 0x80000, "vdpcpu", 0 ) - ROM_LOAD( "e41-04.ic52", 0x00000, 0x80000, CRC(2e236b65) SHA1(4c5dda35d083742ad708d575e1d8cd158fa89210) ) // 1xxxxxxxxxxxxxxxxxx = 0xFF + ROM_REGION( 0x80000, "vdpcpu", 0 ) // Video ver. 1.3 1998/01/05 + ROM_LOAD( "e48-01s.ic52", 0x00000, 0x80000, CRC(e6dd4cff) SHA1(11666036715c117fc5429b8a72a63c468b82c796) ) // 1xxxxxxxxxxxxxxxxxx = 0xFF ROM_REGION( 0x100000, "vdpcpu:gfx", 0 ) - ROM_LOAD16_BYTE( "e41-05.ic49", 0x00000, 0x80000, CRC(493ddfac) SHA1(b37ac65c08dda284e15446bdc545cca889e03ba7) ) - ROM_LOAD16_BYTE( "e41-06.ic48", 0x00001, 0x80000, CRC(edb38f82) SHA1(d94f05f96a7acdb9e3c98646cbdd797fdc3b92b7) ) + ROM_LOAD16_BYTE( "e48-02.ic49", 0x00000, 0x80000, CRC(c8b98e3c) SHA1(e25d52e14223cc60f3047ae22ccea711fdf4066a) ) + ROM_LOAD16_BYTE( "e48-03.ic48", 0x00001, 0x80000, CRC(a46dcf53) SHA1(573ea201d9d61703002d5da6b278b7ee02efab35) ) ROM_REGION( 0x40000, "oki", 0 ) - ROM_LOAD( "e41-09.ic3", 0x00000, 0x40000, CRC(5d25fb77) SHA1(b474be05cdb2e57632595caee7f8c27572db8935) ) + ROM_LOAD( "e48-06.ic3", 0x00000, 0x40000, CRC(96c2f509) SHA1(d2a81dcbb1c9225b30d8da2ada09b5063dfecca0) ) ROM_REGION( 0x400, "plds", 0 ) ROM_LOAD( "e41-02.ic51", 0x000, 0x117, CRC(67fd54e0) SHA1(f64fb33b9a4a935af5662b5103709131727c8411) ) ROM_LOAD( "e41-03.ic24", 0x200, 0x117, CRC(d906c8ea) SHA1(eae9c9c25b4affe4baf7ba034c61670d24f5c4d1) ) ROM_END -} // anonymous namespace +ROM_START( sbmjb ) // all labels were peeled off / unreadable + ROM_REGION( 0x10000, "maincpu", 0 ) // Main ver. 1.1 1998/08/25 + ROM_LOAD( "mprog.ic12", 0x00000, 0x10000, CRC(d11f14eb) SHA1(29c4b8e3ebb9ff3c5630c7bb3c8224a2f57e8fe8) ) // 1xxxxxxxxxxxxxxx = 0xFF + + ROM_REGION( 0x10000, "audiocpu", 0 ) + ROM_LOAD( "sndprog.ic5", 0x00000, 0x10000, CRC(e41575f1) SHA1(66ab1b81a618fe5e676b4f8768a5bee8d189de58) ) // 1xxxxxxxxxxxxxxx = 0xFF + ROM_REGION( 0x80000, "vdpcpu", 0 ) // Video ver. 1.0 1998/06/01 + ROM_LOAD( "videoprg.ic52", 0x00000, 0x80000, CRC(21ebc096) SHA1(12f0ad4530560782a5b7517557d68526a51091e1) ) // 1xxxxxxxxxxxxxxxxxx = 0xFF + + ROM_REGION( 0x100000, "vdpcpu:gfx", 0 ) + ROM_LOAD16_BYTE( "chr-l.ic49", 0x00000, 0x80000, CRC(54237760) SHA1(d183d4c3df3222e94219356a39ee5566ebdd54cf) ) + ROM_LOAD16_BYTE( "chr-h.ic48", 0x00001, 0x80000, CRC(0a815d7c) SHA1(5c2f65ff1f84979993f7c0df8d91ed2cd6f0acd1) ) + + ROM_REGION( 0x40000, "oki", 0 ) + ROM_LOAD( "adpcm.ic3", 0x00000, 0x40000, CRC(69158cf3) SHA1(f638bd7b5ef9e400eaa55eb3b4546e881e955087) ) + + ROM_REGION( 0x400, "plds", 0 ) + ROM_LOAD( "e41-02.ic51", 0x000, 0x117, CRC(67fd54e0) SHA1(f64fb33b9a4a935af5662b5103709131727c8411) ) + ROM_LOAD( "e41-03.ic24", 0x200, 0x117, CRC(d906c8ea) SHA1(eae9c9c25b4affe4baf7ba034c61670d24f5c4d1) ) +ROM_END + +} // anonymous namespace -GAME( 1998, sbmjb, 0, sbmjb, sbmjb, sbmjb_state, empty_init, ROT0, "Taito Corporation", "Sonic Blast Man's Janken Battle (main ver. 1.1, video ver. 1.0)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) GAME( 1997, honooinv, 0, honooinv, honooinv, sbmjb_state, empty_init, ROT0, "Taito Corporation", "Honoo no Invader (main ver. 1.35, video ver. 1.35)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) +GAME( 1997, bubbroul, 0, sbmjb, bubbroul, sbmjb_state, empty_init, ROT0, "Taito Corporation", "Bubblen Roulette (main ver. 1.8, video ver. 1.3)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) +GAME( 1998, sbmjb, 0, sbmjb, sbmjb, sbmjb_state, empty_init, ROT0, "Taito Corporation", "Sonic Blast Man's Janken Battle (main ver. 1.1, video ver. 1.0)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) + -- cgit v1.2.3