Reset triggered by keyboard controller should now be handled correctly by dynamic recompiler.

This commit is contained in:
TomW 2015-08-31 19:31:23 +01:00
commit 2efc56e882
3 changed files with 7 additions and 1 deletions

View file

@ -1423,6 +1423,9 @@ inrecomp=0;
if (!abrt && !x86_was_reset)
codegen_block_end();
if (x86_was_reset)
codegen_reset();
// output &= ~2;
}
// if (output && (SP & 1))

View file

@ -676,6 +676,7 @@ void softresetx86()
flags=2;
idt.base = 0;
x86seg_reset();
x86_was_reset = 1;
}
static void setznp8(uint8_t val)

View file

@ -33,6 +33,8 @@ static int opOUT_AL_imm(uint32_t fetchdat)
check_io_perm(port);
outb(port, AL);
CLOCK_CYCLES(10);
if (port == 0x64)
return x86_was_reset;
return 0;
}
static int opOUT_AX_imm(uint32_t fetchdat)
@ -87,7 +89,7 @@ static int opOUT_AL_DX(uint32_t fetchdat)
check_io_perm(DX);
outb(DX, AL);
CLOCK_CYCLES(11);
return 0;
return x86_was_reset;
}
static int opOUT_AX_DX(uint32_t fetchdat)
{