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
This commit is contained in:
Fabio Priuli 2009-10-09 19:07:02 +00:00
parent a52fce206d
commit 0f3381a831

View File

@ -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