diff --git a/src/ints/ems.cpp b/src/ints/ems.cpp index b8f399db..5e2e6134 100644 --- a/src/ints/ems.cpp +++ b/src/ints/ems.cpp @@ -89,6 +89,8 @@ struct EMM_Handle { EMM_Mapping page_map[EMM_MAX_PHYS]; }; +static Bitu ems_type; + static EMM_Handle emm_handles[EMM_MAX_HANDLES]; static EMM_Mapping emm_mappings[EMM_MAX_PHYS]; static EMM_Mapping emm_segmentmappings[0x40]; @@ -329,7 +331,23 @@ static Bit8u EMM_MapPage(Bitu phys_page,Bit16u handle,Bit16u log_page) { static Bit8u EMM_MapSegment(Bitu segment,Bit16u handle,Bit16u log_page) { // LOG_MSG("EMS MapSegment handle %d segment %d log %d",handle,segment,log_page); - if (((segment>=0xa000) && (segment<0xb000)) || ((segment>=EMM_PAGEFRAME-0x1000) && (segment=0xa000) && (segment<0xb000)) { + valid_segment=true; // allow mapping of graphics memory + } + if ((segment>=EMM_PAGEFRAME) && (segment=EMM_PAGEFRAME-0x1000) && (segment