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_countdown = value.Bit(7);
|
||||||
irq_enabled = value.Bit(0);
|
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 (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();
|
SyncIrq();
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 0xE:
|
case 0xE:
|
||||||
irq_counter &= 0xFF00;
|
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:
|
case 0x0D:
|
||||||
irq_mode = data;
|
irq_mode = data;
|
||||||
if ( (irq_mode & 0x81) != 0x81 )
|
irq_pending = false;
|
||||||
irq_pending = false;
|
irq_changed();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x0E:
|
case 0x0E:
|
||||||
|
@ -173,8 +173,6 @@ void Mapper_Fme7::write_irq( nes_time_t time, int index, int data )
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( (irq_mode & 0x81) == 0x81 )
|
|
||||||
irq_changed();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Mapper_Fme7::write_register( int index, int data )
|
void Mapper_Fme7::write_register( int index, int data )
|
||||||
|
|
Loading…
Reference in New Issue