fix FME-7 IRQ ACK logic in quicknes and neshawk
This commit is contained in:
parent
3589323ca1
commit
aaa5704107
|
@ -179,8 +179,12 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
irq_countdown = value.Bit(7);
|
||||
irq_enabled = value.Bit(0);
|
||||
//if (value != 0) NES.LogLine("irq set to {0},{1} with value {2:x2}", irq_countdown, irq_enabled, value);
|
||||
if (!irq_enabled) irq_asserted = false;
|
||||
|
||||
//always ACK for reg 0xD and no other reg
|
||||
//http://forums.nesdev.com/viewtopic.php?f=2&t=12436&start=15
|
||||
irq_asserted = false;
|
||||
SyncIrq();
|
||||
|
||||
break;
|
||||
case 0xE:
|
||||
irq_counter &= 0xFF00;
|
||||
|
|
Binary file not shown.
|
@ -160,8 +160,8 @@ void Mapper_Fme7::write_irq( nes_time_t time, int index, int data )
|
|||
{
|
||||
case 0x0D:
|
||||
irq_mode = data;
|
||||
if ( (irq_mode & 0x81) != 0x81 )
|
||||
irq_pending = false;
|
||||
irq_pending = false;
|
||||
irq_changed();
|
||||
break;
|
||||
|
||||
case 0x0E:
|
||||
|
@ -173,8 +173,6 @@ void Mapper_Fme7::write_irq( nes_time_t time, int index, int data )
|
|||
break;
|
||||
}
|
||||
|
||||
if ( (irq_mode & 0x81) == 0x81 )
|
||||
irq_changed();
|
||||
}
|
||||
|
||||
void Mapper_Fme7::write_register( int index, int data )
|
||||
|
|
Loading…
Reference in New Issue