]> 4ch.mooo.com Git - 16.git/commitdiff
modified: DEBUG.TXT
authorsparky4 <sparky4@cock.li>
Mon, 20 Jul 2015 16:50:20 +0000 (11:50 -0500)
committersparky4 <sparky4@cock.li>
Mon, 20 Jul 2015 16:50:20 +0000 (11:50 -0500)
modified:   MMDUMP.TXT
modified:   exmmtest.exe
modified:   src/exmmtest.c
modified:   src/lib/16_mm.c

DEBUG.TXT
MMDUMP.TXT
exmmtest.exe
src/exmmtest.c
src/lib/16_mm.c

index 3a6e9de4e0bd3c6dfb84336efd7eab06523c65c8..727d142bf66a17bb37c26789260237989da5ccad 100644 (file)
--- a/DEBUG.TXT
+++ b/DEBUG.TXT
@@ -1,3 +1,5 @@
-Seg:7e9        Size:577552     Owner:0x50fd\r
-\r
-MM_ShowMemory: Memory block order currupted!\r
+Seg:0  Size:140000     Owner:0xb80b\r
+Seg:222e       Size:4096       Owner:0xfba0\r
+Seg:3035       Size:1028480    Owner:0x5040\r
+Seg:3974       Size:682176     Owner:0xeb70\r
+Seg:e000       Size:131056     Owner:0x1e8d\r
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..36624a83cacdfa2f36acdbbca88ceb4e2ddc3348 100644 (file)
Binary files a/MMDUMP.TXT and b/MMDUMP.TXT differ
index 14f23bc60e544a85c6bda1cefd60f053a1767f22..746a106182341536e1edcf59ba206435efa20e21 100644 (file)
Binary files a/exmmtest.exe and b/exmmtest.exe differ
index fc470d6f840965255d557865457761c1f2e4ad2e..6f3b3d8bef3a82c889c580345d787daf3384b23f 100644 (file)
@@ -42,6 +42,8 @@ main(int argc, char *argv[])
 
        if(argv[1]) bakapee = argv[1];
        else bakapee = "data/koishi~~.pcx";
+       if(argv[2])
+               #define FILEINIT
 
        textInit();\r
 
@@ -54,7 +56,12 @@ main(int argc, char *argv[])
        MM_Startup(&mm, &mmi);
        printf("done!\n");
        printf("&main()=%Fp\n", *argv[0]);
-       if(CA_ReadFile(bakapee, &bigbuffer, &mm/*, &mmi*/)) baka=1;
+#ifdef FILEINIT
+       if(CA_ReadFile(bakapee, &bigbuffer, &mm/*, &mmi*/))
+#else
+       if(CA_LoadFile(bakapee, &bigbuffer, &mm, &mmi))
+#endif
+               baka=1;
        else
                baka=0;
        //MM_GetPtr(&bigbuffer, mmi.nearheap, &mm, &mmi);
index b6af09e5bef9328c5ddd1a2e3359501f747c5bcf..b554e0ed44d5ed53f28a3d19ccd21809d4eff95a 100644 (file)
@@ -273,7 +273,7 @@ unsigned MM_MapEMS(mminfo_t *mm)
        union REGS CPURegs;
        EMShandle=mm->EMShandle;
 
-       for (i=0;i<4/*mm->EMSpagesmapped*/;i++)
+       for (i=0;i<mm->EMSpagesmapped;i++)
        {
                __asm
                {
@@ -303,33 +303,33 @@ unsigned MM_MapEMS(mminfo_t *mm)
        return 0;
 }
 
-/*
-SUB EMS.MapXPages (PhysicalStart, LogicalStart, NumPages, Handle)\r
+void MM_MapXEMS(mminfo_t *mm)
+{
+       union REGS CPURegs;
+
+//SUB EMS.MapXPages(PhysicalStart, LogicalStart, NumPages, Handle)\r
 \r
-  'Maps up to 4 logical EMS pages to physical pages in the page frame, where:\r
-  '\r
-  'PhysicalStart = Physical page first logical page is mapped to\r
-  'LogicalStart  = First logical page to map\r
-  'NumPages      = Number of pages to map (1 to 4)\r
-  'Handle        = EMS handle logical pages are allocated to\r
+       //Maps up to 4 logical EMS pages to physical pages in the page frame, where:\r
+       //\r
+       //PhysicalStart = Physical page first logical page is mapped to\r
+       //LogicalStart  = First logical page to map\r
+       //NumPages      = Number of pages to map (1 to 4)\r
+       //Handle        = EMS handle logical pages are allocated to\r
 \r
-  'Create a buffer containing the page information\r
-  FOR x = 0 TO NumPages - 1\r
+  ///Create a buffer containing the page information\r
+  /*FOR x = 0 TO NumPages - 1\r
     MapInfo$ = MapInfo$ + MKI$(LogicalStart + x) + MKI$(PhysicalStart + x)\r
   NEXT\r
 \r
-  Regs.ax = &H5000                           'Map the pages in the buffer\r
-  Regs.cx = NumPages                         'to the pageframe\r
-  Regs.dx = Handle\r
-  Regs.ds = VARSEG(MapInfo$)\r
-  Regs.si = SADD(MapInfo$)\r
-  InterruptX &H67, Regs, Regs\r
-  EMS.Error = (Regs.ax AND &HFF00&) \ &H100  'Store the status code\r
+       Regs.ax = &H5000                           //Map the pages in the buffer\r
+       Regs.cx = NumPages                         //to the pageframe\r
+       Regs.dx = Handle\r
+       Regs.ds = VARSEG(MapInfo$)\r
+       Regs.si = SADD(MapInfo$)\r
+       InterruptX &H67, Regs, Regs\r
+       EMS.Error = (Regs.ax AND &HFF00&) \ &H100  //Store the status code*/\r
 \r
-END SUB
-*/
-void MM_MapXEMS(mminfo_t *mm)
-{
+//END SUB
 
 }
 
@@ -596,7 +596,7 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi)
 
        if(mm->mmstarted)
                MM_Shutdown(mm);
-
+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!
        mm->mmstarted = true;
        mm->bombonerror = true;
 //
@@ -609,7 +609,7 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi)
                mm->mmblocks[i].next = &(mm->mmblocks[i+1]);
        }
        mm->mmblocks[i].next = NULL;
-
+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!
 //
 // locked block of all memory until we punch out free space
 //
@@ -620,7 +620,7 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi)
        mm->mmnew->attributes = LOCKBIT;
        mm->mmnew->next = NULL;
        mm->mmrover = mm->mmhead;
-
+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!
 //     farlen=_bios_memsize()*1024;
 
 //
@@ -636,7 +636,7 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi)
        segstart = FP_SEG(start)+(FP_OFF(start)+15)/16;
        MML_UseSpace(segstart,seglength, mm);
        mmi->nearheap = length;
-       //printf("near heap ok!\n");
+       printf("near heap ok!\n");
 
 //
 // get all available far conventional memory segments
@@ -653,7 +653,7 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi)
        MML_UseSpace(segstart,seglength, mm);
        mmi->farheap = length;
        mmi->mainmem = mmi->nearheap + mmi->farheap;
-       //printf("far heap ok!\n");
+       printf("far heap ok!\n");
 
 
 //
@@ -1319,9 +1319,10 @@ void MM_Report(page_t *page, mminfo_t *mm, mminfotype *mmi)
        if(MML_CheckForEMS())
        {
                printf("Expanded memory manager present. EMM v%x.%x available\n", mm->EMSVer>>4,mm->EMSVer&0x0F);
-               printf("totalEMSpages=%u\n", mm->totalEMSpages);
-               printf("Page frame @0x%04x\n", mm->freeEMSpages);
-               printf("EMSpageframe=%x\n", mm->EMSpageframe);
+               printf("totalEMSpages=%u        ", mm->totalEMSpages);
+               printf("freeEMSpages=%u\n", mm->freeEMSpages);
+               printf("Page frame @0x%04x\n", mm->EMSpageframe);
+               //printf("EMSpageframe=%x\n", );
        }
        if(MML_CheckForXMS(mm)) printf("XMSaddr=%Fp\n", *XMSaddr);
        printf("near=%lu\n", mmi->nearheap);