Fix a small mistake with ecowx/eciwx opcodes (thanks ayuanx)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4721 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
ea61532926
commit
fa19e7f299
|
@ -250,11 +250,11 @@ void UpdateInterrupts()
|
|||
{
|
||||
if (g_AudioRegister.m_Control.AIINT & g_AudioRegister.m_Control.AIINTMSK)
|
||||
{
|
||||
ProcessorInterface::SetInterrupt(ProcessorInterface::INT_CAUSE_AUDIO, true);
|
||||
ProcessorInterface::SetInterrupt(ProcessorInterface::INT_CAUSE_AI, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
ProcessorInterface::SetInterrupt(ProcessorInterface::INT_CAUSE_AUDIO, false);
|
||||
ProcessorInterface::SetInterrupt(ProcessorInterface::INT_CAUSE_AI, false);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -210,12 +210,12 @@ static const char *Debug_GetInterruptName(u32 _causemask)
|
|||
{
|
||||
switch (_causemask)
|
||||
{
|
||||
case INT_CAUSE_ERROR: return "INT_CAUSE_ERROR";
|
||||
case INT_CAUSE_PI: return "INT_CAUSE_PI";
|
||||
case INT_CAUSE_DI: return "INT_CAUSE_DI";
|
||||
case INT_CAUSE_RSW: return "INT_CAUSE_RSW";
|
||||
case INT_CAUSE_SI: return "INT_CAUSE_SI";
|
||||
case INT_CAUSE_EXI: return "INT_CAUSE_EXI";
|
||||
case INT_CAUSE_AUDIO: return "INT_CAUSE_AUDIO";
|
||||
case INT_CAUSE_AI: return "INT_CAUSE_AI";
|
||||
case INT_CAUSE_DSP: return "INT_CAUSE_DSP";
|
||||
case INT_CAUSE_MEMORY: return "INT_CAUSE_MEMORY";
|
||||
case INT_CAUSE_VI: return "INT_CAUSE_VI";
|
||||
|
|
|
@ -28,12 +28,12 @@ namespace ProcessorInterface
|
|||
|
||||
enum InterruptCause
|
||||
{
|
||||
INT_CAUSE_ERROR = 0x1, // YAGCD says: GP runtime error
|
||||
INT_CAUSE_PI = 0x1, // YAGCD says: GP runtime error
|
||||
INT_CAUSE_RSW = 0x2, // Reset Switch
|
||||
INT_CAUSE_DI = 0x4, // DVD interrupt
|
||||
INT_CAUSE_SI = 0x8, // Serial interface
|
||||
INT_CAUSE_EXI = 0x10, // Expansion interface
|
||||
INT_CAUSE_AUDIO = 0x20, // Audio Interface Streaming
|
||||
INT_CAUSE_AI = 0x20, // Audio Interface Streaming
|
||||
INT_CAUSE_DSP = 0x40, // DSP interface
|
||||
INT_CAUSE_MEMORY = 0x80, // Memory interface
|
||||
INT_CAUSE_VI = 0x100, // Video interface
|
||||
|
@ -41,9 +41,9 @@ enum InterruptCause
|
|||
INT_CAUSE_PE_FINISH = 0x400, // GP Finished
|
||||
INT_CAUSE_CP = 0x800, // Command Fifo
|
||||
INT_CAUSE_DEBUG = 0x1000, // Debugger (from devkit)
|
||||
INT_CAUSE_HSP = 0x2000, // High Speed Port
|
||||
INT_CAUSE_HSP = 0x2000, // High Speed Port (from sdram controller)
|
||||
INT_CAUSE_WII_IPC = 0x4000, // Wii IPC
|
||||
INT_CAUSE_RST_BUTTON = 0x10000 // ResetButtonState (1 = unpressed, 0 = pressed) (shuffle2) beh, YAGCD says the inverse...
|
||||
INT_CAUSE_RST_BUTTON = 0x10000 // ResetButtonState (1 = unpressed, 0 = pressed) it's a state, not maskable
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -330,9 +330,8 @@ void eciwx(UGeckoInstruction _inst)
|
|||
b = m_GPR[_inst.RA];
|
||||
EA = b + m_GPR[_inst.RB];
|
||||
|
||||
if (!PowerPC::ppcState.spr[SPR_EAR] & 0x80000000)
|
||||
if (!(PowerPC::ppcState.spr[SPR_EAR] & 0x80000000))
|
||||
PowerPC::ppcState.Exceptions |= EXCEPTION_DSI;
|
||||
//else if?
|
||||
if (EA & 3)
|
||||
PowerPC::ppcState.Exceptions |= EXCEPTION_ALIGNMENT;
|
||||
|
||||
|
@ -351,9 +350,8 @@ void ecowx(UGeckoInstruction _inst)
|
|||
b = m_GPR[_inst.RA];
|
||||
EA = b + m_GPR[_inst.RB];
|
||||
|
||||
if (!PowerPC::ppcState.spr[SPR_EAR] & 0x80000000)
|
||||
if (!(PowerPC::ppcState.spr[SPR_EAR] & 0x80000000))
|
||||
PowerPC::ppcState.Exceptions |= EXCEPTION_DSI;
|
||||
//else if?
|
||||
if (EA & 3)
|
||||
PowerPC::ppcState.Exceptions |= EXCEPTION_ALIGNMENT;
|
||||
|
||||
|
|
Loading…
Reference in New Issue