From 46e34366ed59d2a4c5a3f233ae2aac980579da98 Mon Sep 17 00:00:00 2001 From: mamehaze <140764005+mamehaze@users.noreply.github.com> Date: Sun, 11 Aug 2024 16:12:11 +0100 Subject: new WORKING machine (#12652) ---------------- Drum Super Star [David Haywood, Sean Riddle, Peter Wilhelmsen] Co-authored-by: David Haywood --- src/mame/mame.lst | 1 + src/mame/tvgames/spg2xx.cpp | 38 ++++++++++++++++++++++++++++++++++++-- src/mame/tvgames/spg2xx.h | 1 + 3 files changed, 38 insertions(+), 2 deletions(-) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 42b35da223b..8ee03bc4252 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -45362,6 +45362,7 @@ doraphon // (c) 2006 VTech doraphonf doyousud dreamlss +drumsups fordrace gssytts guitarfv diff --git a/src/mame/tvgames/spg2xx.cpp b/src/mame/tvgames/spg2xx.cpp index ac1fbeeb5a1..87c356a02af 100644 --- a/src/mame/tvgames/spg2xx.cpp +++ b/src/mame/tvgames/spg2xx.cpp @@ -485,6 +485,19 @@ static INPUT_PORTS_START( spg2xx ) // base structure for easy debugging / figuri PORT_DIPSETTING( 0x8000, "8000" ) INPUT_PORTS_END +static INPUT_PORTS_START( drumsups ) + PORT_INCLUDE( spg2xx ) + + PORT_MODIFY("P1") + PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_START1 ) PORT_NAME("Start / Enter") + PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Drum pad 1: Blue") + PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Drum pad 2: Yellow") + PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Drum pad 3: Purple") + PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("Drum pad 4: Red") + PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_NAME("Drum pad 5: Green") + +INPUT_PORTS_END + static INPUT_PORTS_START( lexiart ) PORT_INCLUDE( spg2xx ) @@ -1533,6 +1546,19 @@ void spg2xx_game_state::tvsprt10(machine_config &config) m_maincpu->portc_in().set(FUNC(spg2xx_game_state::base_portc_r)); } +void spg2xx_game_state::spg28x(machine_config &config) +{ + SPG28X(config, m_maincpu, XTAL(27'000'000), m_screen); + m_maincpu->set_addrmap(AS_PROGRAM, &spg2xx_game_state::mem_map_4m); + + spg2xx_base(config); + + m_maincpu->porta_in().set(FUNC(spg2xx_game_state::base_porta_r)); + m_maincpu->portb_in().set(FUNC(spg2xx_game_state::base_portb_r)); + m_maincpu->portc_in().set(FUNC(spg2xx_game_state::base_portc_r)); +} + + uint16_t spg2xx_game_tmntmutm_state::guny_r() { int frame = m_screen->frame_number() & 1; // game will not register shots if the co-ordinates are exactly the same as previous shot @@ -2108,6 +2134,12 @@ ROM_START( guitarssa ) ROM_LOAD16_WORD_SWAP( "guitar_superstar_flying_v.bin", 0x000000, 0x800000, CRC(af0c837c) SHA1(f04c9a4292f811d92311d19fb35dcee3f1649a14) ) ROM_END +ROM_START( drumsups ) + ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 ) + ROM_LOAD16_WORD_SWAP( "drumsuperstar.bin", 0x000000, 0x800000, CRC(f3d5fd6d) SHA1(4d0c9ba7531b3df68bd9c020e46d07445301adf9) ) +ROM_END + + ROM_START( tmntbftc ) ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 ) ROM_LOAD16_WORD_SWAP( "tmntbftc.bin", 0x000000, 0x400000, CRC(f923da5b) SHA1(79b290b75d06dabd0f579800edc4453b044c8fd4) ) @@ -2364,12 +2396,14 @@ CONS( 200?, decathlna, decathln, 0, tvsprt10, decathln, spg2xx_game_state, CONS( 2007, guitarfv, 0, 0, guitarfv, guitarfv, spg2xx_game_state, empty_init, "Advance Bright Ltd", "Guitar Fever (2007.07.03 Ver 2.7)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // The box for these has 'YOU take the stage' text, but unlike the sequel, it is not part of the ingame title screen, this sometimes causes confusion -CONS( 200?, guitarss, 0, 0, spg2xx, guitarss, spg2xx_game_state, empty_init, "Senario", "Guitar Super Star ('Fender Stratocaster' style)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) -CONS( 200?, guitarssa, guitarss, 0, spg2xx, guitarss, spg2xx_game_state, empty_init, "Senario", "Guitar Super Star (red 'Gibson Flying V' style)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) +CONS( 200?, guitarss, 0, 0, spg28x, guitarss, spg2xx_game_state, empty_init, "Senario", "Guitar Super Star ('Fender Stratocaster' style)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) +CONS( 200?, guitarssa, guitarss, 0, spg28x, guitarss, spg2xx_game_state, empty_init, "Senario", "Guitar Super Star (red 'Gibson Flying V' style)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // The sequel has 'You Take The Stage' on both the box and title screen CONS( 2009, gssytts, 0, 0, gssytts, guitarss, spg2xx_game_gssytts_state, empty_init, "Senario", "Guitar Super Star: You Take The Stage", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) +CONS( 200?, drumsups, 0, 0, spg28x, drumsups, spg2xx_game_state, empty_init, "Senario", "Drum Super Star", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) + CONS( 2009, senwfit, 0, 0, gssytts, senwfit, spg2xx_game_senwfit_state, init_senwfit, "Senario", "Wireless Fitness / Dance Fit (Senario)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // VTech "TV Station" / "TV Learning Station" / "Nitro Vision" diff --git a/src/mame/tvgames/spg2xx.h b/src/mame/tvgames/spg2xx.h index f34f7532714..7e9b27a6263 100644 --- a/src/mame/tvgames/spg2xx.h +++ b/src/mame/tvgames/spg2xx.h @@ -36,6 +36,7 @@ public: void spg2xx_base(machine_config &config); void spg2xx(machine_config &config); void spg2xx_pal(machine_config &config); + void spg28x(machine_config &config); void rad_skat(machine_config &config); void rad_skatp(machine_config &config); -- cgit v1.2.3