summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Scott Stone <tafoid@users.noreply.github.com>2010-12-29 03:23:16 +0000
committer Scott Stone <tafoid@users.noreply.github.com>2010-12-29 03:23:16 +0000
commit8ec7c00a09c5dd8577e4e470a2e98f208a48a9e7 (patch)
tree315597f7fa479200602b8ac49eec71da4c8b455a /src
parentdade6a69f0f3ac677f49276fd1a57cd53de57495 (diff)
Greatly improved inputs and dip switches for ertictac.c [Tafoid]
Diffstat (limited to 'src')
-rw-r--r--src/mame/drivers/ertictac.c124
1 files changed, 57 insertions, 67 deletions
diff --git a/src/mame/drivers/ertictac.c b/src/mame/drivers/ertictac.c
index 17dcb07c03b..d4d4566388d 100644
--- a/src/mame/drivers/ertictac.c
+++ b/src/mame/drivers/ertictac.c
@@ -78,110 +78,100 @@ static INPUT_PORTS_START( ertictac )
PORT_BIT( 0x00c4, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("DSW1")
- PORT_DIPNAME( 0x01, 0x00, DEF_STR( Language ) )
+ PORT_DIPNAME( 0x01, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("DSW1:2")
PORT_DIPSETTING( 0x01, DEF_STR( French ) )
PORT_DIPSETTING( 0x00, DEF_STR( English ) )
- PORT_DIPNAME( 0x02, 0x02, "Demo Sound" )
+ PORT_DIPNAME( 0x02, 0x02, "Demo Sound" ) PORT_DIPLOCATION("DSW1:3")
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x02, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x04, 0x04, "Test Mode" )
+ PORT_DIPNAME( 0x04, 0x04, "Test Mode" ) PORT_DIPLOCATION("DSW1:1")
PORT_DIPSETTING( 0x04, DEF_STR( No ) )
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x08, 0x00, "Music" )
+ PORT_DIPNAME( 0x08, 0x00, "Music" ) PORT_DIPLOCATION("DSW1:4")
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x08, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x30, 0x30, "Game Timing" )
+ PORT_DIPNAME( 0x30, 0x30, "Game Timing" ) PORT_DIPLOCATION("DSW1:5,6")
PORT_DIPSETTING( 0x30, "Normal Game" )
- PORT_DIPSETTING( 0x20, "3.0 Minutes" )
- PORT_DIPSETTING( 0x10, "2.5 Minutes" )
- PORT_DIPSETTING( 0x00, "2.0 Minutes" )
- PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) )
+ PORT_DIPSETTING( 0x20, "3:00" )
+ PORT_DIPSETTING( 0x10, "2:30" )
+ PORT_DIPSETTING( 0x00, "2:00" )
+ PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("DSW1:7,8")
PORT_DIPSETTING( 0xc0, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x80, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x40, DEF_STR( Difficult ) )
PORT_DIPSETTING( 0x00, DEF_STR( Very_Difficult ) )
PORT_START("DSW2")
- PORT_DIPNAME( 0x05, 0x00, DEF_STR( Coin_A ) )
+ PORT_DIPNAME( 0x05, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("DSW2:1,2")
PORT_DIPSETTING( 0x05, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x01, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x04, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
- PORT_DIPNAME( 0x0a, 0x00, DEF_STR( Coin_B ) )
+ PORT_DIPNAME( 0x0a, 0x00, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("DSW2:3,4")
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x0a, DEF_STR( 1C_4C ) )
- PORT_DIPNAME( 0x10, 0x00, "Sexy Views" )
+ PORT_DIPNAME( 0x10, 0x00, "Sexy Views" ) PORT_DIPLOCATION("DSW2:5")
PORT_DIPSETTING( 0x10, DEF_STR( No ) )
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Free_Play ) )
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("DSW2:6")
PORT_DIPSETTING( 0x20, DEF_STR( No ) )
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x40, 0x40, "2-7" )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, "2-8" )
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPUNKNOWN_DIPLOC( 0x40, 0x40, "DSW2:7" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x80, "DSW2:8" )
INPUT_PORTS_END
static INPUT_PORTS_START( poizone )
PORT_INCLUDE( ertictac )
+ PORT_MODIFY("P1")
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
+
+ PORT_MODIFY("P2")
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
+
PORT_MODIFY("DSW1")
- PORT_DIPNAME( 0x01, 0x00, DEF_STR( Language ) ) // 01
- PORT_DIPSETTING( 0x00, DEF_STR( English ) )
- PORT_DIPSETTING( 0x01, DEF_STR( French ) )
- PORT_DIPNAME( 0x02, 0x02, "1-2" ) // 02
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x00, DEF_STR( Service_Mode ) ) // 04
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x08, "Demo Sound" ) // 08
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x08, DEF_STR( On ) )
- PORT_DIPNAME( 0x30, 0x40, "Coinage 1 (1-5, 1-6)" ) // 10 20
- PORT_DIPSETTING( 0x30, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) )
- PORT_DIPNAME( 0xC0, 0x00, "Coinage 2 (1-7, 1-8)" ) // 40 80
- PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x40, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0xC0, DEF_STR( 1C_4C ) )
-
- PORT_MODIFY("DSW2") /* TODO: uses conditional dip-switches */
- PORT_DIPNAME( 0x01, 0x01, "2-1" )
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, "2-2" )
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, "2-3" )
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x08, "2-4" )
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x10, "2-5" )
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, "2-6" )
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, "2-7" )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, "2-8" )
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPUNKNOWN_DIPLOC( 0x02, 0x02, "DSW1:3" )
+ PORT_DIPNAME( 0x30, 0x40, "Coinage 1" ) PORT_DIPLOCATION("DSW1:5,6")
+ PORT_DIPSETTING( 0x30, DEF_STR( 4C_1C ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) )
+ PORT_DIPNAME( 0xC0, 0x00, "Coinage 2" ) PORT_DIPLOCATION("DSW1:7,8")
+ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x40, DEF_STR( 1C_3C ) )
+ PORT_DIPSETTING( 0xC0, DEF_STR( 1C_4C ) )
+
+ PORT_MODIFY("DSW2")
+ PORT_DIPNAME( 0x01, 0x01, "Setting 1" ) PORT_DIPLOCATION("DSW2:2")
+ PORT_DIPSETTING( 0x01, "Manual" )
+ PORT_DIPSETTING( 0x00, "Automatic" )
+ PORT_DIPNAME( 0x1A, 0x00, "Setting 2" ) PORT_DIPLOCATION("DSW2:3,4,5")
+ PORT_DIPSETTING( 0x00, "Extremely Easy - 2:00") PORT_CONDITION("DSW2", 0x01, PORTCOND_EQUALS, 0x00)
+ PORT_DIPSETTING( 0x02, "Very Easy - 1:30") PORT_CONDITION("DSW2", 0x01, PORTCOND_EQUALS, 0x00)
+ PORT_DIPSETTING( 0x08, "Easy - 2:00") PORT_CONDITION("DSW2", 0x01, PORTCOND_EQUALS, 0x00)
+ PORT_DIPSETTING( 0x0A, "Normal 1 - 1:30") PORT_CONDITION("DSW2", 0x01, PORTCOND_EQUALS, 0x00)
+ PORT_DIPSETTING( 0x10, "Normal 2 - 1:45") PORT_CONDITION("DSW2", 0x01, PORTCOND_EQUALS, 0x00)
+ PORT_DIPSETTING( 0x12, "Difficult - 2:00") PORT_CONDITION("DSW2", 0x01, PORTCOND_EQUALS, 0x00)
+ PORT_DIPSETTING( 0x18, "Very Difficult - 2:00") PORT_CONDITION("DSW2", 0x01, PORTCOND_EQUALS, 0x00)
+ PORT_DIPSETTING( 0x1A, "Extremely Difficult - 1:30") PORT_CONDITION("DSW2", 0x01, PORTCOND_EQUALS, 0x00)
+ PORT_DIPSETTING( 0x00, "Clear 20% - 1:00") PORT_CONDITION("DSW2", 0x01, PORTCOND_EQUALS, 0x01)
+ PORT_DIPSETTING( 0x02, "Clear 30% - 1:00") PORT_CONDITION("DSW2", 0x01, PORTCOND_EQUALS, 0x01)
+ PORT_DIPSETTING( 0x08, "Clear 40% - 1:00") PORT_CONDITION("DSW2", 0x01, PORTCOND_EQUALS, 0x01)
+ PORT_DIPSETTING( 0x0A, "Clear 50% - 1:00") PORT_CONDITION("DSW2", 0x01, PORTCOND_EQUALS, 0x01)
+ PORT_DIPSETTING( 0x10, "Clear 60% - 1:00") PORT_CONDITION("DSW2", 0x01, PORTCOND_EQUALS, 0x01)
+ PORT_DIPSETTING( 0x12, "Clear 70% - 1:00") PORT_CONDITION("DSW2", 0x01, PORTCOND_EQUALS, 0x01)
+ PORT_DIPSETTING( 0x18, "Clear 80% - 1:00") PORT_CONDITION("DSW2", 0x01, PORTCOND_EQUALS, 0x01)
+ PORT_DIPSETTING( 0x1A, "Clear 90% - 1:00") PORT_CONDITION("DSW2", 0x01, PORTCOND_EQUALS, 0x01)
+ PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x04, "DSW2:1" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x20, "DSW2:6" )
INPUT_PORTS_END
static DRIVER_INIT( ertictac )