From 812d7a0bf5dfbf3bd8b95edbaddcd531b01cff85 Mon Sep 17 00:00:00 2001 From: Ulf Wohlers Date: Tue, 27 Aug 2002 10:46:37 +0000 Subject: [PATCH] Set emm-version to 4.0. Added functions 0x50, 0x53, 0x58. Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@231 --- src/ints/ems.cpp | 47 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/src/ints/ems.cpp b/src/ints/ems.cpp index 15038096..52b6d7d0 100644 --- a/src/ints/ems.cpp +++ b/src/ints/ems.cpp @@ -35,7 +35,7 @@ #define EMM_MAX_PAGES (C_MEM_EMS_SIZE * 1024 / 16 ) #define EMM_MAX_PHYS 4 /* 4 16kb pages in pageframe */ -#define EMM_VERSION 0x32 +#define EMM_VERSION 0x40 #define NULL_HANDLE 0xffff #define NULL_PAGE 0xffff @@ -311,6 +311,51 @@ static Bitu INT67_Handler(void) { break; } break; + case 0x50: // Map/Unmap multiple handle pages + reg_ah = EMM_NO_ERROR; + switch (reg_al) { + case 0x00: // use physical page numbers + { PhysPt data = SegPhys(ds)+reg_si; + for (int i=0; i