-Seg:0 Size:109104 Owner:0xfdba\r
-Seg:1b9c Size:16 Owner:0xc31e\r
-Seg:1b9d Size:4096 Owner:0xc25c\r
-Seg:1f42 Size:789472 Owner:0xa8c\r
-\r
-MM_ShowMemory: Memory block order currupted!\r
+Seg:0 Size:6828 Owner:0x1674\r
+Seg:1ba5 Size:1 Owner:0x46c7\r
+Seg:1ba6 Size:256 Owner:0xc25c\r
+Seg:1f4b Size:45238 Owner:0x90c3\r
+Seg:d022 Size:4294967263 Owner:0x91e8\r
+Seg:d022 Size:4294967263 Owner:0x8b04\r
+Seg:d022 Size:4294967263 Owner:0x26b8\r
+Seg:d022 Size:4294967263 Owner:0xf04e\r
+Seg:d022 Size:4294967263 Owner:0x7f94\r
+Seg:d022 Size:4294967263 Owner:0xc01b\r
+Seg:d022 Size:4294967263 Owner:0x1a2\r
+Seg:d022 Size:4294967263 Owner:0x9005\r
+Seg:d022 Size:4294967263 Owner:0x3350\r
+Seg:d022 Size:4294967263 Owner:0x2b8\r
+Seg:d022 Size:419 Owner:0x2eb8\r
+Seg:e000 Size:4294909951 Owner:0xc02b\r
//
// detect XMS and get upper memory blocks
//
-emsskip:/*
+emsskip:
mmi->XMSmem = 0;
for(i = 1;i < __argc;i++)
{
{
printf("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"); //bug!
printf(" XMS!\n");
- //++++ MML_SetupXMS(mm, mmi); // allocate as many UMBs as possible
+ MML_SetupXMS(mm, mmi); // allocate as many UMBs as possible
}
//
// allocate the misc buffer
//
-xmsskip:*/
-/*mmi->nearheap = 0;
-mmi->farheap = 0;
-mmi->EMSmem = 0;*/
-mmi->XMSmem = 0;
+xmsskip:
mm->mmrover = mm->mmhead; // start looking for space after low block
MM_GetPtr(&(mm->bufferseg),BUFFERSIZE, mm, mmi);
ultoa (scan->start,str,16);
strcat (scratch,str);
strcat (scratch,"\tSize:");
-ltoa ((dword)scan->length*16,str,10);
+ultoa ((dword)scan->length,str,10);
strcat (scratch,str);
strcat (scratch,"\tOwner:0x");
owner = (unsigned)scan->useptr;
printf("freeEMSpages=%u\n", mm->freeEMSpages);
printf("EMSpageframe=%x\n", mm->EMSpageframe);
}
- if(MML_CheckForXMS(mm)) printf("XMSaddr=%Fp\n", *XMSaddr);
+ if(MML_CheckForXMS(mm)) printf("XMSaddr=%X\n", *XMSaddr);
printf("near=%lu\n", mmi->nearheap);
printf("far=%lu\n", mmi->farheap);
printf("EMSmem=%lu\n", mmi->EMSmem);
printf("mainmem=%lu\n", mmi->mainmem);
printf("UnusedMemory=%lu\n", MM_UnusedMemory(mm));
printf("TotalFree=%lu\n", MM_TotalFree(mm));
+ //mmi->nearheap+mmi->farheap+
+ printf("TotalUsed=%lu\n", mmi->mainmem+mmi->EMSmem+mmi->XMSmem);//+);
// printf("\n");
// printf("UnusedMemory=%lu kb\n", MM_UnusedMemory()/10248);
// printf("TotalFree=%lu kb\n", MM_TotalFree()/10248);
//==========================================================================
//I hope this is correct!
-//__segment seg;
-typedef void __based(__self) * memptr; //__based(seg) * memptr;
+typedef void __based(void)* memptr;
+//__segment sega;
+//__self
+//typedef void __based( sega ) * memptr;
typedef struct
{
#define BASEATTRIBUTES 0 // unlocked, non purgable
#define MAXUMBS 12
-#define MAPPAGES mm->EMSpagesmapped
+#define MAPPAGES 4//mm->EMSpagesmapped
typedef struct mmblockstruct
{