diff options
author | Fabio Priuli <etabeta78@users.noreply.github.com> | 2009-10-09 19:07:02 +0000 |
---|---|---|
committer | Fabio Priuli <etabeta78@users.noreply.github.com> | 2009-10-09 19:07:02 +0000 |
commit | 0f3381a8314ff0f914d448c6fbd6eae6bf3e1e00 (patch) | |
tree | ee289358baa380fb683f3e5f8a2e04a312c17aaa | |
parent | a52fce206d4368e5e27edf852d9151efaf08da8f (diff) |
Fix for [MT03470]: backfirea: Game mode setting error on startup
as per comment in the source, only low IN2 should be used with vblank from IN3
-rw-r--r-- | src/mame/drivers/backfire.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/mame/drivers/backfire.c b/src/mame/drivers/backfire.c index f080f7a5845..e8ad1c307ff 100644 --- a/src/mame/drivers/backfire.c +++ b/src/mame/drivers/backfire.c @@ -227,23 +227,23 @@ static VIDEO_UPDATE(backfire) static READ32_HANDLER(backfire_eeprom_r) { /* some kind of screen indicator? checked by backfira set before it will boot */ - int backfire_screen = mame_rand(space->machine)&1; - return ((eeprom_read_bit()<<24) | input_port_read(space->machine, "IN0") - | ((input_port_read(space->machine, "IN2") & ~0x40) <<16) - | ((input_port_read(space->machine, "IN3") & 0x40) <<16)) ^ (backfire_screen << 26) ; + int backfire_screen = mame_rand(space->machine) & 1; + return ((eeprom_read_bit() << 24) | input_port_read(space->machine, "IN0") + | ((input_port_read(space->machine, "IN2") & 0xbf) << 16) + | ((input_port_read(space->machine, "IN3") & 0x40) << 16)) ^ (backfire_screen << 26) ; } static READ32_HANDLER(backfire_control2_r) { -// logerror("%08x:Read eprom %08x (%08x)\n",cpu_get_pc(space->cpu),offset<<1,mem_mask); - return (eeprom_read_bit()<<24) | input_port_read(space->machine, "IN1") | (input_port_read(space->machine, "IN1")<<16); +// logerror("%08x:Read eprom %08x (%08x)\n", cpu_get_pc(space->cpu), offset << 1, mem_mask); + return (eeprom_read_bit() << 24) | input_port_read(space->machine, "IN1") | (input_port_read(space->machine, "IN1") << 16); } #ifdef UNUSED_FUNCTION static READ32_HANDLER(backfire_control3_r) { -// logerror("%08x:Read eprom %08x (%08x)\n",cpu_get_pc(space->cpu),offset<<1,mem_mask); - return (eeprom_read_bit()<<24) | input_port_read(space->machine, "IN2") | (input_port_read(space->machine, "IN2")<<16); +// logerror("%08x:Read eprom %08x (%08x)\n", cpu_get_pc(space->cpu), offset << 1, mem_mask); + return (eeprom_read_bit() << 24) | input_port_read(space->machine, "IN2") | (input_port_read(space->machine, "IN2") << 16); } #endif |