Implemented undocumented F6/1 and F7/1 TEST instructions.

Implemented undocumented F1 LOCK and ICEBP instructions.
Implemented missing 286 LOADALL functionality.
SMSW now sets all 12 bits to 1 on 286.
Patch from Greatpsycho.
This commit is contained in:
SarahW 2017-04-28 18:47:38 +01:00
commit 4cb5ddd7f7
5 changed files with 61 additions and 12 deletions

View file

@ -12,6 +12,20 @@ static int opINT3(uint32_t fetchdat)
return 1;
}
static int opINT1(uint32_t fetchdat)
{
int cycles_old = cycles; UNUSED(cycles_old);
if ((cr0 & 1) && (eflags & VM_FLAG) && (IOPL != 3))
{
x86gpf(NULL,0);
return 1;
}
x86_int_sw(1);
CLOCK_CYCLES((is486) ? 44 : 59);
PREFETCH_RUN(cycles_old-cycles, 1, -1, 0,0,0,0, 0);
return 1;
}
static int opINT(uint32_t fetchdat)
{
int cycles_old = cycles; UNUSED(cycles_old);