Fixes to x86_was_reset handling. Based on patch from Greatpsycho.

This commit is contained in:
SarahW 2018-01-08 21:10:46 +00:00
commit 2957dae2d5
2 changed files with 4 additions and 0 deletions

View file

@ -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;

View file

@ -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)
{