correct register usage of xms function 0x8e
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@2344
This commit is contained in:
parent
7865e50411
commit
aa8b2f11f4
1 changed files with 9 additions and 4 deletions
|
@ -16,7 +16,7 @@
|
|||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/* $Id: xms.cpp,v 1.37 2005-10-04 12:59:12 qbix79 Exp $ */
|
||||
/* $Id: xms.cpp,v 1.38 2005-10-10 10:16:42 c2woody Exp $ */
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
@ -386,9 +386,14 @@ Bitu XMS_Handler(void) {
|
|||
reg_edx &= 0xffff;
|
||||
reg_ecx = (MEM_TotalPages()*MEM_PAGESIZE)-1; // highest known physical memory address
|
||||
break;
|
||||
case XMS_GET_EMB_HANDLE_INFORMATION_EXT: {
|
||||
Bitu result = XMS_GetHandleInformation(reg_dx,reg_bh,reg_bl,reg_dx);
|
||||
if (result != 0) reg_bl = result; else reg_edx &= 0xFFFF;
|
||||
case XMS_GET_EMB_HANDLE_INFORMATION_EXT: { /* 8e */
|
||||
Bit8u free_handles;
|
||||
Bitu result = XMS_GetHandleInformation(reg_dx,reg_bh,free_handles,reg_dx);
|
||||
if (result != 0) reg_bl = result;
|
||||
else {
|
||||
reg_edx &= 0xffff;
|
||||
reg_cx = free_handles;
|
||||
}
|
||||
reg_ax = (result==0);
|
||||
} break;
|
||||
default:
|
||||
|
|
Loading…
Add table
Reference in a new issue