diff --git a/src/ints/ems.cpp b/src/ints/ems.cpp index bc3fe9c1..f87ecce1 100644 --- a/src/ints/ems.cpp +++ b/src/ints/ems.cpp @@ -489,7 +489,7 @@ static Bit8u EMM_PartialPageMapping(void) { mem_writew(data,segment);data+=2; MEM_BlockWrite(data,&emm_mappings[page],sizeof(EMM_Mapping)); data+=sizeof(EMM_Mapping); - } else if (((segment>=EMM_PAGEFRAME-0x1000) && (segment=0xa000) && (segment<0xb000))) { + } else if ((ems_type==1) || (ems_type==3) || ((segment>=EMM_PAGEFRAME-0x1000) && (segment=0xa000) && (segment<0xb000))) { mem_writew(data,segment);data+=2; MEM_BlockWrite(data,&emm_segmentmappings[segment>>10],sizeof(EMM_Mapping)); data+=sizeof(EMM_Mapping); @@ -506,7 +506,7 @@ static Bit8u EMM_PartialPageMapping(void) { if ((segment>=EMM_PAGEFRAME) && (segment>4); MEM_BlockRead(data,&emm_mappings[page],sizeof(EMM_Mapping)); - } else if (((segment>=EMM_PAGEFRAME-0x1000) && (segment=0xa000) && (segment<0xb000))) { + } else if ((ems_type==1) || (ems_type==3) || ((segment>=EMM_PAGEFRAME-0x1000) && (segment=0xa000) && (segment<0xb000))) { MEM_BlockRead(data,&emm_segmentmappings[segment>>10],sizeof(EMM_Mapping)); } else { return EMM_ILL_PHYS;