mirror of https://github.com/snes9xgit/snes9x.git
Fix Chou Aniki. Remove hack.
This commit is contained in:
parent
28a62e9bf2
commit
e854a759f8
|
@ -24,9 +24,14 @@ void S9xMainLoop (void)
|
||||||
#define CHECK_FOR_IRQ_CHANGE() \
|
#define CHECK_FOR_IRQ_CHANGE() \
|
||||||
if (Timings.IRQFlagChanging) \
|
if (Timings.IRQFlagChanging) \
|
||||||
{ \
|
{ \
|
||||||
if (Timings.IRQFlagChanging == IRQ_CLEAR_FLAG) \
|
if (Timings.IRQFlagChanging & IRQ_TRIGGER_NMI) \
|
||||||
|
{ \
|
||||||
|
CPU.NMIPending = TRUE; \
|
||||||
|
Timings.NMITriggerPos = CPU.Cycles + 6; \
|
||||||
|
} \
|
||||||
|
if (Timings.IRQFlagChanging & IRQ_CLEAR_FLAG) \
|
||||||
ClearIRQ(); \
|
ClearIRQ(); \
|
||||||
else if (Timings.IRQFlagChanging == IRQ_SET_FLAG) \
|
else if (Timings.IRQFlagChanging & IRQ_SET_FLAG) \
|
||||||
SetIRQ(); \
|
SetIRQ(); \
|
||||||
Timings.IRQFlagChanging = IRQ_NONE; \
|
Timings.IRQFlagChanging = IRQ_NONE; \
|
||||||
}
|
}
|
||||||
|
|
|
@ -1452,7 +1452,7 @@ static void Op58 (void)
|
||||||
AddCycles(ONE_CYCLE);
|
AddCycles(ONE_CYCLE);
|
||||||
|
|
||||||
#ifndef SA1_OPCODES
|
#ifndef SA1_OPCODES
|
||||||
Timings.IRQFlagChanging = IRQ_CLEAR_FLAG;
|
Timings.IRQFlagChanging |= IRQ_CLEAR_FLAG;
|
||||||
#else
|
#else
|
||||||
ClearIRQ();
|
ClearIRQ();
|
||||||
#endif
|
#endif
|
||||||
|
@ -1464,7 +1464,7 @@ static void Op78 (void)
|
||||||
AddCycles(ONE_CYCLE);
|
AddCycles(ONE_CYCLE);
|
||||||
|
|
||||||
#ifndef SA1_OPCODES
|
#ifndef SA1_OPCODES
|
||||||
Timings.IRQFlagChanging = IRQ_SET_FLAG;
|
Timings.IRQFlagChanging |= IRQ_SET_FLAG;
|
||||||
#else
|
#else
|
||||||
SetIRQ();
|
SetIRQ();
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -3614,8 +3614,6 @@ void CMemory::ApplyROMFixes (void)
|
||||||
{
|
{
|
||||||
//if (match_id("AVCJ")) // Rendering Ranger R2
|
//if (match_id("AVCJ")) // Rendering Ranger R2
|
||||||
// Timings.APUSpeedup = 2;
|
// Timings.APUSpeedup = 2;
|
||||||
if (match_id("AANJ")) // Chou Aniki
|
|
||||||
Timings.APUSpeedup = -3;
|
|
||||||
if (match_na("CIRCUIT USA"))
|
if (match_na("CIRCUIT USA"))
|
||||||
Timings.APUSpeedup = 3;
|
Timings.APUSpeedup = 3;
|
||||||
|
|
||||||
|
|
3
ppu.cpp
3
ppu.cpp
|
@ -1403,8 +1403,7 @@ void S9xSetCPU (uint8 Byte, uint16 Address)
|
||||||
{
|
{
|
||||||
// FIXME: triggered at HC+=6, checked just before the final CPU cycle,
|
// FIXME: triggered at HC+=6, checked just before the final CPU cycle,
|
||||||
// then, when to call S9xOpcode_NMI()?
|
// then, when to call S9xOpcode_NMI()?
|
||||||
CPU.NMIPending = TRUE;
|
Timings.IRQFlagChanging |= IRQ_TRIGGER_NMI;
|
||||||
Timings.NMITriggerPos = CPU.Cycles + 6 + 6;
|
|
||||||
|
|
||||||
#ifdef DEBUGGER
|
#ifdef DEBUGGER
|
||||||
if (Settings.TraceHCEvent)
|
if (Settings.TraceHCEvent)
|
||||||
|
|
Loading…
Reference in New Issue