modified: exmmtest.exe
modified: src/lib/16_mm.c
return;
_ffree(mm->farheap);
return;
_ffree(mm->farheap);
+ printf(" far freed\n");
- printf("near freed\n");
+ printf(" near freed\n");
//hfree(mm->hugeheap);
//printf("huge freed\n");
//hfree(mm->hugeheap);
//printf("huge freed\n");
- if(MML_CheckForEMS()){ MML_ShutdownEMS(mm); printf("EMS freed\n"); }
- if(MML_CheckForXMS(mm)){ MML_ShutdownXMS(mm); printf("XMS freed\n"); }
+ if(MML_CheckForEMS()){ MML_ShutdownEMS(mm); printf(" EMS freed\n"); }
+ if(MML_CheckForXMS(mm)){ MML_ShutdownXMS(mm); printf(" XMS freed\n"); }
}
//==========================================================================
}
//==========================================================================
-static void MM_EMSerr(byte *stri, byte err)
+void MM_EMSerr(byte *stri, byte err)
{
//Returns a text string describing the error code in EMS.Error.
{
//Returns a text string describing the error code in EMS.Error.
+ fprintf(stderr, "\n%x\n\n", err);
strcat(stri, "successful");
strcat(stri, "successful");
strcat(stri, "internal error");
strcat(stri, "internal error");
strcat(stri, "hardware malfunction");
strcat(stri, "hardware malfunction");
strcat(stri, "busy .. retry later");
strcat(stri, "busy .. retry later");
strcat(stri, "invalid handle");
strcat(stri, "invalid handle");
strcat(stri, "undefined function requested by application");
strcat(stri, "undefined function requested by application");
strcat(stri, "no more handles available");
strcat(stri, "no more handles available");
strcat(stri, "error in save or restore of mapping context");
strcat(stri, "error in save or restore of mapping context");
strcat(stri, "insufficient memory pages in system");
strcat(stri, "insufficient memory pages in system");
strcat(stri, "insufficient memory pages available");
strcat(stri, "insufficient memory pages available");
strcat(stri, "zero pages requested");
strcat(stri, "zero pages requested");
strcat(stri, "invalid logical page number encountered");
strcat(stri, "invalid logical page number encountered");
strcat(stri, "invalid physical page number encountered");
strcat(stri, "invalid physical page number encountered");
strcat(stri, "page-mapping hardware state save area is full");
strcat(stri, "page-mapping hardware state save area is full");
strcat(stri, "save of mapping context failed");
strcat(stri, "save of mapping context failed");
strcat(stri, "restore of mapping context failed");
strcat(stri, "restore of mapping context failed");
strcat(stri, "undefined subfunction");
strcat(stri, "undefined subfunction");
strcat(stri, "undefined attribute type");
strcat(stri, "undefined attribute type");
strcat(stri, "feature not supported");
strcat(stri, "feature not supported");
strcat(stri, "successful, but a portion of the source region has been overwritten");
strcat(stri, "successful, but a portion of the source region has been overwritten");
strcat(stri, "length of source or destination region exceeds length of region allocated to either source or destination handle");
strcat(stri, "length of source or destination region exceeds length of region allocated to either source or destination handle");
strcat(stri, "conventional and expanded memory regions overlap");
strcat(stri, "conventional and expanded memory regions overlap");
strcat(stri, "offset within logical page exceeds size of logical page");
strcat(stri, "offset within logical page exceeds size of logical page");
strcat(stri, "region length exceeds 1 MB");
strcat(stri, "region length exceeds 1 MB");
strcat(stri, "source and destination EMS regions have same handle and overlap");
strcat(stri, "source and destination EMS regions have same handle and overlap");
strcat(stri, "memory source or destination type undefined");
strcat(stri, "memory source or destination type undefined");
strcat(stri, "specified alternate map register or DMA register set not supported");
strcat(stri, "specified alternate map register or DMA register set not supported");
strcat(stri, "all alternate map register or DMA register sets currently allocated");
strcat(stri, "all alternate map register or DMA register sets currently allocated");
strcat(stri, "alternate map register or DMA register sets not supported");
strcat(stri, "alternate map register or DMA register sets not supported");
strcat(stri, "undefined or unallocated alternate map register or DMA register set");
strcat(stri, "undefined or unallocated alternate map register or DMA register set");
strcat(stri, "dedicated DMA channels not supported");
strcat(stri, "dedicated DMA channels not supported");
strcat(stri, "specified dedicated DMA channel not supported");
strcat(stri, "specified dedicated DMA channel not supported");
strcat(stri, "no such handle name");
strcat(stri, "no such handle name");
strcat(stri, "a handle found had no name, or duplicate handle name");
strcat(stri, "a handle found had no name, or duplicate handle name");
strcat(stri, "attempted to wrap around 1M conventional address space");
strcat(stri, "attempted to wrap around 1M conventional address space");
strcat(stri, "source array corrupted");
strcat(stri, "source array corrupted");
strcat(stri, "operating system denied access");
default:
strcat(stri, "undefined error");
strcat(stri, "operating system denied access");
default:
strcat(stri, "undefined error");