From bd3ca95831945c95634165ad812b4b27d9e3db1c Mon Sep 17 00:00:00 2001 From: Philip Bennett Date: Sun, 23 Apr 2023 11:27:24 -0700 Subject: [PATCH] New working machines ---------- Burger Kids (Japan) [Phil Bennett] --- src/mame/mame.lst | 1 + src/mame/toaplan/toaplan2.cpp | 106 ++++++++++++++++++++++++++++++++-- 2 files changed, 102 insertions(+), 5 deletions(-) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index daf3f870450..e18e4df0434 100755 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -43789,6 +43789,7 @@ bgaregganv // (c) 1996 Raizing/8ing bgareggat // (c) 1996 Raizing/8ing bgareggat2 // (c) 1996 Raizing/8ing bgareggatw // (c) 1996 Raizing/8ing +burgkids // (c) 1995 Sunwise dogyuun // TP-022 (c) 1992 Toaplan dogyuuna // TP-022 (c) 1992 Toaplan dogyuunb // TP-022 (c) 1992 Toaplan diff --git a/src/mame/toaplan/toaplan2.cpp b/src/mame/toaplan/toaplan2.cpp index 148dbf69708..36004bf5a18 100644 --- a/src/mame/toaplan/toaplan2.cpp +++ b/src/mame/toaplan/toaplan2.cpp @@ -42,7 +42,8 @@ Supported games: batsugunsp TP-030 Toaplan Batsugun (Special Version) enmadaio TP-031 Toaplan Enma Daio pwrkick SW931201 Sunwise Power Kick - othldrby ?????? Sunwise Othello Derby + burgkids SW931201 Sunwise Burger Kids + othldrby S951060-VGP Sunwise Othello Derby snowbro2 TP-033 Hanafram Snow Bros. 2 - With New Elves * This version of Whoopee!! is on a board labeled TP-020 @@ -2466,6 +2467,88 @@ static INPUT_PORTS_START( pwrkick ) // The specific "Payout" button shown on the test screen and diagnostic menu does not exist. INPUT_PORTS_END +static INPUT_PORTS_START( burgkids ) + PORT_START("DSWA") + PORT_DIPNAME( 0x03, 0x00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:!1,!2") + PORT_DIPSETTING( 0x00, DEF_STR( Easy ) ) + PORT_DIPSETTING( 0x01, DEF_STR( Normal ) ) + PORT_DIPSETTING( 0x02, DEF_STR( Hard ) ) + PORT_DIPSETTING( 0x03, DEF_STR( Very_Hard ) ) + PORT_DIPNAME( 0x5c, 0x00, "Payout" ) PORT_DIPLOCATION("SW1:!3,!4,!5,!7") + PORT_DIPSETTING( 0x00, "110" ) // Service mode displays values as 1-8, ignoring SW1:7 + PORT_DIPSETTING( 0x04, "105" ) + PORT_DIPSETTING( 0x08, "100" ) + PORT_DIPSETTING( 0x0c, "95" ) + PORT_DIPSETTING( 0x10, "90" ) + PORT_DIPSETTING( 0x14, "85" ) + PORT_DIPSETTING( 0x18, "80" ) + PORT_DIPSETTING( 0x1c, "75" ) + PORT_DIPSETTING( 0x40, "70" ) + PORT_DIPSETTING( 0x44, "65" ) + PORT_DIPSETTING( 0x48, "60" ) + PORT_DIPSETTING( 0x4c, "55" ) + PORT_DIPSETTING( 0x50, "50" ) + PORT_DIPSETTING( 0x54, "45" ) + PORT_DIPSETTING( 0x58, "40" ) + PORT_DIPSETTING( 0x5c, "35" ) + PORT_DIPNAME( 0x20, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:!6") + PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPUNUSED_DIPLOC( 0x80, 0x00, "SW2:!8" ) + + PORT_START("DSWB") + PORT_DIPNAME( 0x03, 0x00, "Play Credit" ) PORT_DIPLOCATION("SW2:!1,!2") + PORT_DIPSETTING( 0x00, u8"¥10" ) + PORT_DIPSETTING( 0x01, u8"¥20" ) + PORT_DIPSETTING( 0x02, u8"¥30" ) + PORT_DIPSETTING( 0x03, u8"¥40" ) + PORT_DIPNAME( 0x1c, 0x00, "Coin Exchange" ) PORT_DIPLOCATION("SW2:!3,!4,!5") + PORT_DIPSETTING( 0x00, "12" ) + PORT_DIPSETTING( 0x04, "11" ) + PORT_DIPSETTING( 0x08, "10" ) + PORT_DIPSETTING( 0x0c, "6" ) + PORT_DIPSETTING( 0x10, "5" ) + PORT_DIPSETTING( 0x14, "4" ) + PORT_DIPSETTING( 0x18, "3" ) + PORT_DIPSETTING( 0x1c, DEF_STR ( Off ) ) + PORT_DIPUNUSED_DIPLOC( 0x20, 0x00, "SW2:!6" ) + PORT_DIPUNUSED_DIPLOC( 0x40, 0x00, "SW2:!7" ) + PORT_DIPUNUSED_DIPLOC( 0x80, 0x00, "SW2:!8" ) + + PORT_START("DSWC") + PORT_DIPUNUSED_DIPLOC( 0x01, 0x00, "SW3:!1" ) + PORT_DIPUNUSED_DIPLOC( 0x02, 0x00, "SW3:!2" ) + PORT_DIPUNUSED_DIPLOC( 0x04, 0x00, "SW3:!3" ) + PORT_DIPUNUSED_DIPLOC( 0x08, 0x00, "SW3:!4" ) + PORT_DIPUNUSED_DIPLOC( 0x10, 0x00, "SW3:!5" ) + PORT_DIPUNUSED_DIPLOC( 0x20, 0x00, "SW3:!6" ) + PORT_DIPUNUSED_DIPLOC( 0x40, 0x00, "SW3:!7" ) + PORT_DIPUNUSED_DIPLOC( 0x80, 0x00, "SW3:!8" ) + + PORT_START("IN1") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SLOT_STOP1 ) PORT_NAME("1") + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SLOT_STOP2 ) PORT_NAME("2") + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SLOT_STOP3 ) PORT_NAME("3") + PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_START("IN2") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_NAME(u8"Coin 2 (¥10)") + PORT_SERVICE_NO_TOGGLE( 0x02, IP_ACTIVE_HIGH ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SLOT_STOP4 ) PORT_NAME("Down") + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("hopper", ticket_dispenser_device, line_r) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_MEMORY_RESET ) + PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_START("SYS") + PORT_BIT( 0x03, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN3 ) PORT_NAME(u8"Coin Exchange (¥100)") + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_GAMBLE_BOOK ) + PORT_BIT( 0x30, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_GAMBLE_SERVICE ) PORT_NAME("Attendant Key") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_NAME("Coin 1 (Medal)") +INPUT_PORTS_END + static INPUT_PORTS_START( othldrby ) PORT_INCLUDE( toaplan2_3b ) @@ -3923,7 +4006,7 @@ void toaplan2_state::batsugunbl(machine_config &config) void pwrkick_state::pwrkick(machine_config &config) { /* basic machine hardware */ - M68000(config, m_maincpu, 16_MHz_XTAL); + M68000(config, m_maincpu, 20_MHz_XTAL/2); // verified on PCB m_maincpu->set_addrmap(AS_PROGRAM, &pwrkick_state::pwrkick_68k_mem); m_maincpu->reset_cb().set(FUNC(pwrkick_state::toaplan2_reset)); @@ -3952,14 +4035,14 @@ void pwrkick_state::pwrkick(machine_config &config) /* sound hardware */ SPEAKER(config, "mono").front_center(); // empty YM2151 socket - OKIM6295(config, m_oki[0], 27_MHz_XTAL/8, okim6295_device::PIN7_HIGH); // not confirmed + OKIM6295(config, m_oki[0], 16_MHz_XTAL/4, okim6295_device::PIN7_LOW); // verified on PCB m_oki[0]->add_route(ALL_OUTPUTS, "mono", 0.5); } void pwrkick_state::othldrby(machine_config &config) { /* basic machine hardware */ - M68000(config, m_maincpu, 16_MHz_XTAL); + M68000(config, m_maincpu, 20_MHz_XTAL/2); // assumed same as pwrkick m_maincpu->set_addrmap(AS_PROGRAM, &pwrkick_state::othldrby_68k_mem); m_maincpu->reset_cb().set(FUNC(pwrkick_state::toaplan2_reset)); @@ -3986,7 +4069,7 @@ void pwrkick_state::othldrby(machine_config &config) /* sound hardware */ SPEAKER(config, "mono").front_center(); - OKIM6295(config, m_oki[0], 27_MHz_XTAL/8, okim6295_device::PIN7_HIGH); // not confirmed + OKIM6295(config, m_oki[0], 16_MHz_XTAL/4, okim6295_device::PIN7_LOW); // assumed same as pwrkick m_oki[0]->add_route(ALL_OUTPUTS, "mono", 0.5); } @@ -5106,6 +5189,18 @@ ROM_START( pwrkick ) ROM_LOAD( "4.u33", 0x000000, 0x080000, CRC(3ab742f1) SHA1(ce8ca02ca57fd77872e421ce601afd017d3518a0) ) ROM_END +ROM_START( burgkids ) + ROM_REGION( 0x80000, "maincpu", ROMREGION_ERASE00 ) + ROM_LOAD16_WORD_SWAP( "ffk1.u61", 0x000000, 0x080000, CRC(ac96cb0d) SHA1(2ce5c06d61f3ff18b222619e41d09e46d44c5bab) ) + + ROM_REGION( 0x100000, "gp9001_0", ROMREGION_ERASE00 ) + ROM_LOAD( "ffk2.u26", 0x000000, 0x080000, CRC(09f7b0ae) SHA1(f340f27a601ff89f143398263d822b8f340eea6e) ) + ROM_LOAD( "ffk3.u27", 0x080000, 0x080000, CRC(63c761bc) SHA1(f0ee1dc6aaeacff23e55d072102b814c7ef30550) ) + + ROM_REGION( 0x80000, "oki1", ROMREGION_ERASE00 ) + ROM_LOAD( "ffk4.u33", 0x000000, 0x080000, CRC(3b032d4f) SHA1(69056bf205aadf6c9fee56ce396b11a5187caa03) ) +ROM_END + ROM_START( othldrby ) ROM_REGION( 0x080000, "maincpu", 0 ) ROM_LOAD16_WORD_SWAP( "db0.1", 0x00000, 0x80000, CRC(6b4008d3) SHA1(4cf838c47563ba482be8364b2e115569a4a06c83) ) @@ -6121,6 +6216,7 @@ GAME( 1993, batsugunsp, batsugun, batsugun, batsugun, toaplan2_state, init_ GAME( 1993, batsugunbl, batsugun, batsugunbl, batsugunbl, toaplan2_state, init_fixeightbl, ROT270, "Toaplan", "Batsugun (bootleg)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // needs correct GFX offsets and oki banking fix GAME( 1994, pwrkick, 0, pwrkick, pwrkick, pwrkick_state, empty_init, ROT0, "Sunwise", "Power Kick (Japan)", 0 ) +GAME( 1994, burgkids, 0, pwrkick, burgkids, pwrkick_state, empty_init, ROT0, "Sunwise", "Burger Kids (Japan)", 0 ) GAME( 1995, othldrby, 0, othldrby, othldrby, pwrkick_state, empty_init, ROT0, "Sunwise", "Othello Derby (Japan)", 0 ) GAME( 1994, snowbro2, 0, snowbro2, snowbro2, toaplan2_state, empty_init, ROT0, "Hanafram", "Snow Bros. 2 - With New Elves / Otenki Paradise (Hanafram)", MACHINE_SUPPORTS_SAVE )