summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Couriersud <couriersud@users.noreply.github.com>2008-10-12 16:18:12 +0000
committer Couriersud <couriersud@users.noreply.github.com>2008-10-12 16:18:12 +0000
commitb35bec764288000a1fac0bbc5fa2ae3a6b1b2170 (patch)
treeb3462e2f2efe5088f4ad0e77966780f48ac01d65 /src
parent29e2e3855e5a035d203ff5c33eb1b45e002c1619 (diff)
01716: backfire, backfira: Coin 1+2, Service1 and Service Mode mapped twice.
Diffstat (limited to 'src')
-rw-r--r--src/mame/drivers/backfire.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/mame/drivers/backfire.c b/src/mame/drivers/backfire.c
index 8ebd5bfcfc3..1f74f03fe46 100644
--- a/src/mame/drivers/backfire.c
+++ b/src/mame/drivers/backfire.c
@@ -228,7 +228,9 @@ static READ32_HANDLER(backfire_eeprom_r)
{
/* some kind of screen indicator? checked by backfira set before it will boot */
int backfire_screen = mame_rand(machine)&1;
- return ((eeprom_read_bit()<<24) | input_port_read(machine, "IN0") | (input_port_read(machine, "IN3")<<16)) ^ (backfire_screen << 26) ;
+ return ((eeprom_read_bit()<<24) | input_port_read(machine, "IN0")
+ | ((input_port_read(machine, "IN2") & ~0x40) <<16)
+ | ((input_port_read(machine, "IN3") & 0x40) <<16)) ^ (backfire_screen << 26) ;
}
static READ32_HANDLER(backfire_control2_r)
@@ -394,13 +396,8 @@ static INPUT_PORTS_START( backfire )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(2)
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START("IN3")
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_SERVICE_NO_TOGGLE( 0x0008, IP_ACTIVE_LOW )
- PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_VBLANK )
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED ) /* 'soundmask' */
+ PORT_START("IN3")
+ PORT_BIT( 0x003f, IP_ACTIVE_LOW, IPT_UNUSED ) /* all other bits like low IN2 */
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_VBLANK )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED )