Applied all applicable PCem commit;

Fixed window resizing when mandated by the guest - should hopefully stabilize Direct3D.
This commit is contained in:
OBattler
2017-11-11 16:51:50 +01:00
parent f65e8c3110
commit 03e7b1db23
17 changed files with 322 additions and 160 deletions

View File

@@ -201,6 +201,21 @@ void x86_int(int num)
}
else
{
addr = (num << 2) + idt.base;
if (addr + 3 > idt.limit)
{
if(idt.limit < 35)
{
cpu_state.abrt = 0;
softresetx86();
cpu_set_edx();
pclog("IDT limit is less than 35 in real mode - reset\n");
}
else x86_int(8);
return;
}
if (stack32)
{
writememw(ss,ESP-2,flags);
@@ -215,7 +230,6 @@ void x86_int(int num)
writememw(ss,((SP-6)&0xFFFF),cpu_state.pc);
SP-=6;
}
addr = (num << 2) + idt.base;
flags&=~I_FLAG;
flags&=~T_FLAG;
@@ -238,6 +252,14 @@ void x86_int_sw(int num)
}
else
{
addr = (num << 2) + idt.base;
if (addr + 3 > idt.limit)
{
x86_int(13);
return;
}
if (stack32)
{
writememw(ss,ESP-2,flags);
@@ -252,7 +274,6 @@ void x86_int_sw(int num)
writememw(ss,((SP-6)&0xFFFF),cpu_state.pc);
SP-=6;
}
addr = (num << 2) + idt.base;
flags&=~I_FLAG;
flags&=~T_FLAG;