#if BUSY_LOOP_HACKS\r
if (disp == -2)\r
{\r
- UINT32 next_opcode = RW(sh2->ppc & AM);\r
+ UINT32 next_opcode = RW(sh2->pc & AM);\r
/* BRA $\r
* NOP\r
*/\r
sh2->sr &= ~T;\r
#if BUSY_LOOP_HACKS\r
{\r
- UINT32 next_opcode = RW(sh2->ppc & AM);\r
+ UINT32 next_opcode = RW(sh2->pc & AM);\r
/* DT Rn\r
* BF $-2\r
*/\r
if (sh2->delay)
{
+ sh2->ppc = sh2->delay;
opcode = RW(sh2->delay);
sh2->pc -= 2;
}
else
+ {
+ sh2->ppc = sh2->pc;
opcode = RW(sh2->pc);
+ }
sh2->delay = 0;
sh2->pc += 2;
- sh2->ppc = sh2->pc;
switch (opcode & ( 15 << 12))
{