mirror of
https://github.com/libretro/Genesis-Plus-GX.git
synced 2024-11-27 18:40:42 +00:00
[Core/MCD] fixed pending level 1 interrupts when GFX interrupt is disabled (fixes random freezes out of "Batman Returns" option menu)
This commit is contained in:
parent
400fd5be16
commit
14d4074f11
@ -739,7 +739,10 @@ static void scd_write_byte(unsigned int address, unsigned int data)
|
||||
|
||||
/* update IEN2 flag */
|
||||
scd.regs[0x00].byte.h = (scd.regs[0x00].byte.h & 0x7f) | ((data & 0x04) << 5);
|
||||
|
||||
|
||||
/* clear level 1 interrupt if disabled ("Batman Returns" option menu) */
|
||||
scd.pending &= ~(data & 0x02);
|
||||
|
||||
/* update IRQ level */
|
||||
s68k_update_irq((scd.pending & data) >> 1);
|
||||
return;
|
||||
@ -1025,6 +1028,9 @@ static void scd_write_word(unsigned int address, unsigned int data)
|
||||
|
||||
/* update IEN2 flag */
|
||||
scd.regs[0x00].byte.h = (scd.regs[0x00].byte.h & 0x7f) | ((data & 0x04) << 5);
|
||||
|
||||
/* clear pending level 1 interrupt if disabled ("Batman Returns" option menu) */
|
||||
scd.pending &= ~(data & 0x02);
|
||||
|
||||
/* update IRQ level */
|
||||
s68k_update_irq((scd.pending & data) >> 1);
|
||||
|
Loading…
Reference in New Issue
Block a user