-\r
- if(errorflag==false)\r
- {\r
- gvar->mmi.XMSmem = XMSAvail4 * (dword)1024;\r
- gvar->pm.xmm.XMSAvail = XMSAvail4;\r
- gvar->pm.xmm.XMSHandle = XMSHandle;\r
-\r
- gvar->pm.xmm.XMSPresent = true;\r
- printf(" %u %u %u\n", gvar->mmi.XMSmem, gvar->pm.xmm.XMSAvail, XMSAvail4);\r
- getch();\r
- }else printf(" %u errorflag=%02X\n", XMSAvail4, err);\r
-error:\r
- return(gvar->pm.xmm.XMSPresent);\r
-/*\r
- gvar->pm.xmm.XMSPresent = false; // Assume failure\r
- gvar->pm.xmm.XMSAvail = 0;\r
-\r
-__asm mov ax,0x4300\r
-__asm int XMS_INT // Check for presence of XMS driver\r
- if (_AL != 0x80)\r
- goto error;\r
-\r
-\r
-__asm mov ax,0x4310\r
-__asm int XMS_INT // Get address of XMS driver\r
-__asm mov [WORD PTR XMSDriver],bx\r
-__asm mov [WORD PTR XMSDriver+2],es // function pointer to XMS driver\r
-\r
- XMS_CALL(XMS_QUERYFREE); // Find out how much XMS is available\r
- gvar->pm.xmm.XMSAvail = _AX;\r
- if (!_AX) // AJR: bugfix 10/8/92\r
- goto error;\r
-\r
- gvar->pm.xmm.XMSAvail &= ~(PMPageSizeKB - 1); // Round off to nearest page size\r
- if (gvar->pm.xmm.XMSAvail < (PMPageSizeKB * 2)) // Need at least 2 pages\r
- goto error;\r
-\r
- _DX = gvar->pm.xmm.XMSAvail;\r