1
0
Fork 0

better workaround for clipper programs (doesn't break wc3)

Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@2732
This commit is contained in:
Sebastian Strohhäcker 2007-01-08 20:58:47 +00:00
parent ca8b788e12
commit c773dded4b

View file

@ -433,11 +433,13 @@
if (rm >= 0xc0 ) {GetEArb;*earb=*rmrb;}
else {
if (cpu.pmode) {
Descriptor desc;
cpu.gdt.GetDescriptor(SegValue(core.base_val_ds),desc);
if ((desc.Type()==DESC_CODE_R_NC_A) || (desc.Type()==DESC_CODE_R_NC_NA)) {
CPU_Exception(EXCEPTION_GP,SegValue(core.base_val_ds) & 0xfffc);
continue;
if (GCC_UNLIKELY((rm==0x05) && (!cpu.code.big))) {
Descriptor desc;
cpu.gdt.GetDescriptor(SegValue(core.base_val_ds),desc);
if ((desc.Type()==DESC_CODE_R_NC_A) || (desc.Type()==DESC_CODE_R_NC_NA)) {
CPU_Exception(EXCEPTION_GP,SegValue(core.base_val_ds) & 0xfffc);
continue;
}
}
}
GetEAa;SaveMb(eaa,*rmrb);