From 3451dd229eac876d69ab9ffcfb64fd5f8ad78062 Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Sat, 29 Apr 2017 08:25:23 +0200 Subject: [PATCH] luckgrln.cpp: add dips and layout for 7smash, promoted to working [David Haywood] --- src/mame/drivers/luckgrln.cpp | 202 +++++++++++++++++----------------- src/mame/layout/7smash.lay | 80 ++++++++++++++ 2 files changed, 181 insertions(+), 101 deletions(-) create mode 100644 src/mame/layout/7smash.lay diff --git a/src/mame/drivers/luckgrln.cpp b/src/mame/drivers/luckgrln.cpp index d11ee713476..aff328f94c0 100644 --- a/src/mame/drivers/luckgrln.cpp +++ b/src/mame/drivers/luckgrln.cpp @@ -71,7 +71,7 @@ Other notes Has some optocouplers, high voltage drivers, and what looks like additional - I/O conenctors. + I/O connectors. Reset switch cuts power supply going to Video/Work RAM. @@ -86,7 +86,7 @@ #include "speaker.h" #include "luckgrln.lh" - +#include "7smash.lh" class luckgrln_state : public driver_device { @@ -757,23 +757,23 @@ static INPUT_PORTS_START( luckgrln ) PORT_START("DSW3") PORT_DIPNAME( 0x07, 0x04, "Key In" ) - PORT_DIPSETTING( 0x07, "1 Pulse / 5 Credits" ) - PORT_DIPSETTING( 0x06, "1 Pulse / 10 Credits" ) - PORT_DIPSETTING( 0x05, "1 Pulse / 50 Credits" ) - PORT_DIPSETTING( 0x04, "1 Pulse / 100 Credits" ) - PORT_DIPSETTING( 0x03, "1 Pulse / 200 Credits" ) - PORT_DIPSETTING( 0x02, "1 Pulse / 300 Credits" ) - PORT_DIPSETTING( 0x01, "1 Pulse / 500 Credits" ) - PORT_DIPSETTING( 0x00, "1 Pulse / 1000 Credits" ) + PORT_DIPSETTING( 0x07, "1 Pulse/5 Credits" ) + PORT_DIPSETTING( 0x06, "1 Pulse/10 Credits" ) + PORT_DIPSETTING( 0x05, "1 Pulse/50 Credits" ) + PORT_DIPSETTING( 0x04, "1 Pulse/100 Credits" ) + PORT_DIPSETTING( 0x03, "1 Pulse/200 Credits" ) + PORT_DIPSETTING( 0x02, "1 Pulse/300 Credits" ) + PORT_DIPSETTING( 0x01, "1 Pulse/500 Credits" ) + PORT_DIPSETTING( 0x00, "1 Pulse/1000 Credits" ) PORT_DIPNAME( 0x38, 0x10, DEF_STR( Coin_A ) ) PORT_DIPSETTING( 0x38, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x30, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x28, DEF_STR( 1C_4C ) ) PORT_DIPSETTING( 0x20, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0x18, DEF_STR( 1C_6C ) ) - PORT_DIPSETTING( 0x10, "1 Coin / 10 Credits" ) - PORT_DIPSETTING( 0x08, "1 Coin / 25 Credits" ) - PORT_DIPSETTING( 0x00, "1 Coin / 50 Credits" ) + PORT_DIPSETTING( 0x10, "1 Coin/10 Credits" ) + PORT_DIPSETTING( 0x08, "1 Coin/25 Credits" ) + PORT_DIPSETTING( 0x00, "1 Coin/50 Credits" ) PORT_DIPNAME( 0x40, 0x40, "DSW3-40" ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) @@ -783,9 +783,9 @@ static INPUT_PORTS_START( luckgrln ) PORT_START("DSW4") PORT_DIPNAME( 0x0f, 0x04, "Coin C" ) - PORT_DIPSETTING( 0x0f, "10 Coins / 1 Credit" ) + PORT_DIPSETTING( 0x0f, "10 Coins/1 Credit" ) PORT_DIPSETTING( 0x0e, DEF_STR( 5C_1C ) ) - PORT_DIPSETTING( 0x0d, "5 Coins / 2 Credits" ) + PORT_DIPSETTING( 0x0d, "5 Coins/2 Credits" ) PORT_DIPSETTING( 0x0c, DEF_STR( 4C_1C ) ) PORT_DIPSETTING( 0x0b, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x0a, DEF_STR( 2C_1C ) ) @@ -794,20 +794,20 @@ static INPUT_PORTS_START( luckgrln ) PORT_DIPSETTING( 0x07, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x06, DEF_STR( 1C_3C ) ) PORT_DIPSETTING( 0x05, DEF_STR( 1C_5C ) ) - PORT_DIPSETTING( 0x04, "1 Coin / 10 Credits" ) - PORT_DIPSETTING( 0x03, "1 Coin / 20 Credits" ) - PORT_DIPSETTING( 0x02, "1 Coin / 25 Credits" ) - PORT_DIPSETTING( 0x01, "1 Coin / 50 Credits" ) - PORT_DIPSETTING( 0x00, "1 Coin / 100 Credits" ) + PORT_DIPSETTING( 0x04, "1 Coin/10 Credits" ) + PORT_DIPSETTING( 0x03, "1 Coin/20 Credits" ) + PORT_DIPSETTING( 0x02, "1 Coin/25 Credits" ) + PORT_DIPSETTING( 0x01, "1 Coin/50 Credits" ) + PORT_DIPSETTING( 0x00, "1 Coin/100 Credits" ) PORT_DIPNAME( 0x70, 0x10, DEF_STR( Coin_B ) ) - PORT_DIPSETTING( 0x70, "10 Coins / 1 Credit" ) + PORT_DIPSETTING( 0x70, "10 Coins/1 Credit" ) PORT_DIPSETTING( 0x60, DEF_STR( 9C_1C ) ) PORT_DIPSETTING( 0x50, DEF_STR( 6C_1C ) ) PORT_DIPSETTING( 0x40, DEF_STR( 5C_1C ) ) PORT_DIPSETTING( 0x30, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x10, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x00, "1 Coin / 200 Credits" ) + PORT_DIPSETTING( 0x00, "1 Coin/200 Credits" ) PORT_DIPNAME( 0x80, 0x80, "DSW4-80" ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) @@ -838,96 +838,96 @@ static INPUT_PORTS_START( luckgrln ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END + static INPUT_PORTS_START( _7smash ) PORT_START("DSW1") - PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_DIPNAME( 0x01, 0x01, "Reel Speed" ) + PORT_DIPSETTING( 0x01, DEF_STR( High ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Low ) ) + PORT_DIPNAME( 0x02, 0x02, "Renchan Pattern" ) + PORT_DIPSETTING( 0x02, DEF_STR( Hard ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Normal ) ) + PORT_DIPNAME( 0x0c, 0x0c, "Key In Value" ) + PORT_DIPSETTING( 0x00, "200" ) + PORT_DIPSETTING( 0x04, "100" ) + PORT_DIPSETTING( 0x08, "50" ) + PORT_DIPSETTING( 0x0c, "10" ) + PORT_DIPNAME( 0x70, 0x60, "Percentage" ) + PORT_DIPSETTING( 0x00, "-- (Invalid 1)" ) + PORT_DIPSETTING( 0x10, "-- (Invalid 2)" ) + PORT_DIPSETTING( 0x20, "-- (Invalid 3)" ) + PORT_DIPSETTING( 0x30, "80%" ) + PORT_DIPSETTING( 0x40, "85%" ) + PORT_DIPSETTING( 0x50, "90%" ) + PORT_DIPSETTING( 0x60, "95%" ) + PORT_DIPSETTING( 0x70, "105%" ) + PORT_DIPNAME( 0x80, 0x80, "Reset Mode" ) + PORT_DIPSETTING( 0x80, "Auto" ) + PORT_DIPSETTING( 0x00, "Manual" ) PORT_START("DSW2") - PORT_DIPNAME( 0x01, 0x01, "DSW2" ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) + PORT_DIPNAME( 0x03, 0x03, "Payout Mode" ) + PORT_DIPSETTING( 0x00, "0" ) + PORT_DIPSETTING( 0x01, "1" ) + PORT_DIPSETTING( 0x02, "2" ) + PORT_DIPSETTING( 0x03, "3" ) + PORT_DIPNAME( 0x04, 0x04, "Coin Sw Active" ) + PORT_DIPSETTING( 0x04, DEF_STR( Low ) ) + PORT_DIPSETTING( 0x00, DEF_STR( High ) ) + PORT_DIPNAME( 0x18, 0x00, "Hopper Limit" ) + PORT_DIPSETTING( 0x00, "Unlimited" ) + PORT_DIPSETTING( 0x08, "1000" ) + PORT_DIPSETTING( 0x10, "500" ) + PORT_DIPSETTING( 0x18, "300" ) + PORT_DIPNAME( 0x60, 0x60, "Panel Type" ) + PORT_DIPSETTING( 0x00, "D" ) + PORT_DIPSETTING( 0x20, "C" ) + PORT_DIPSETTING( 0x40, "B" ) + PORT_DIPSETTING( 0x60, "A" ) // inputs and layout are for this Panel Type only, ToDo: expand with conditional inputs + PORT_DIPNAME( 0x80, 0x80, "Alt. Test" ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - + PORT_START("DSW3") - PORT_DIPNAME( 0x01, 0x01, "DSW3" ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) + PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x01, DEF_STR( 1C_5C ) ) + PORT_DIPSETTING( 0x00, "1 Coin/10 Credits" ) + PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_B ) ) + PORT_DIPSETTING( 0x0c, "10 Coins/1 Credit" ) + PORT_DIPSETTING( 0x08, DEF_STR( 5C_1C ) ) + PORT_DIPSETTING( 0x04, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) + PORT_DIPNAME( 0xf0, 0x00, "Coin C" ) + PORT_DIPSETTING( 0x00, "1 Coin/200 Credits" ) + PORT_DIPSETTING( 0x10, "1 Coin/100 Credits" ) + PORT_DIPSETTING( 0x20, "1 Coin/50 Credits" ) + PORT_DIPSETTING( 0x30, "1 Coin/25 Credits" ) + PORT_DIPSETTING( 0x40, "1 Coin/20 Credits" ) + PORT_DIPSETTING( 0x50, "1 Coin/10 Credits" ) + PORT_DIPSETTING( 0x60, DEF_STR( 1C_5C ) ) + PORT_DIPSETTING( 0x70, DEF_STR( 1C_4C ) ) + PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x90, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0xa0, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0xb0, DEF_STR( 4C_1C ) ) + PORT_DIPSETTING( 0xc0, DEF_STR( 3C_1C ) ) + PORT_DIPSETTING( 0xd0, "5 Coins/2 Credits" ) + PORT_DIPSETTING( 0xe0, DEF_STR( 5C_1C ) ) + PORT_DIPSETTING( 0xf0, "10 Coins/1 Credit" ) + PORT_START("DSW4") - PORT_DIPNAME( 0x01, 0x01, "DSW4" ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("DSW5") PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SLOT_STOP3 ) PORT_NAME("Slot 3 / Odds") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SLOT_STOP2 ) PORT_NAME("Slot 2 / Bet") - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SLOT_STOP1 ) PORT_NAME("Slot 1") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SLOT_STOP3 ) PORT_NAME("Stop 3 / Odds") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SLOT_STOP2 ) PORT_NAME("Stop 2 / Bet") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SLOT_STOP1 ) PORT_NAME("Stop 1") PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("IN1") @@ -1094,6 +1094,6 @@ ROM_END * Game Drivers * ********************************************** - YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS LAYOUT */ -GAMEL( 1991, luckgrln, 0, luckgrln, luckgrln, luckgrln_state, luckgrln, ROT0, "Wing Co., Ltd.", "Lucky Girl (newer Z180 based hardware)", MACHINE_NO_SOUND, layout_luckgrln ) -GAMEL( 1993, 7smash, 0, _7smash, _7smash, driver_device, 0, ROT0, "Sovic", "7 Smash", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING | MACHINE_NO_SOUND, layout_luckgrln ) + YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS LAYOUT */ +GAMEL( 1991, luckgrln, 0, luckgrln, luckgrln, luckgrln_state, luckgrln, ROT0, "Wing Co., Ltd.", "Lucky Girl (newer Z180 based hardware)", MACHINE_NO_SOUND, layout_luckgrln ) +GAMEL( 1993, 7smash, 0, _7smash, _7smash, driver_device, 0, ROT0, "Sovic", "7 Smash", MACHINE_NO_SOUND, layout_7smash ) diff --git a/src/mame/layout/7smash.lay b/src/mame/layout/7smash.lay new file mode 100644 index 00000000000..64e0796a49b --- /dev/null +++ b/src/mame/layout/7smash.lay @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +