Fixes to x86_was_reset handling. Based on patch from Greatpsycho.
This commit is contained in:
parent
4d29b1c71f
commit
2957dae2d5
2 changed files with 4 additions and 0 deletions
|
|
@ -224,6 +224,7 @@ void exec386(int cycs)
|
|||
{
|
||||
int cycle_period = (timer_count >> TIMER_SHIFT) + 1;
|
||||
|
||||
x86_was_reset = 0;
|
||||
cycdiff=0;
|
||||
oldcyc=cycles;
|
||||
timer_start_period(cycles << TIMER_SHIFT);
|
||||
|
|
@ -260,6 +261,8 @@ dontprint=0;
|
|||
}
|
||||
cpu_state.pc++;
|
||||
x86_opcodes[(opcode | cpu_state.op32) & 0x3ff](fetchdat);
|
||||
if (x86_was_reset)
|
||||
break;
|
||||
}
|
||||
|
||||
if (!use32) cpu_state.pc &= 0xffff;
|
||||
|
|
|
|||
|
|
@ -543,6 +543,7 @@ void exec386_dynarec(int cycs)
|
|||
if (!CACHE_ON()) /*Interpret block*/
|
||||
{
|
||||
cpu_block_end = 0;
|
||||
x86_was_reset = 0;
|
||||
// if (output) pclog("Interpret block at %04x:%04x %04x %04x %04x %04x %04x %04x %04x\n", CS, pc, AX, BX, CX, DX, SI, DI, SP);
|
||||
while (!cpu_block_end)
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in a new issue