From 0f3381a8314ff0f914d448c6fbd6eae6bf3e1e00 Mon Sep 17 00:00:00 2001 From: Fabio Priuli Date: Fri, 9 Oct 2009 19:07:02 +0000 Subject: 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 --- src/mame/drivers/backfire.c | 16 ++++++++-------- 1 file 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 -- cgit v1.2.3