From e188083f22cb003c96951138d8d83fffdb5d8fbf Mon Sep 17 00:00:00 2001 From: sparky4 Date: Wed, 22 Jul 2015 07:23:18 -0500 Subject: [PATCH] major instability issues with memory manager! modified: DEBUG.TXT modified: MMDUMP.TXT modified: awoo.sh modified: exmmtest.exe modified: src/exmmtest.c modified: src/lib/16_mm.c --- DEBUG.TXT | 7 +++---- MMDUMP.TXT | Bin 22 -> 0 bytes awoo.sh | 2 +- exmmtest.exe | Bin 55696 -> 55281 bytes src/exmmtest.c | 22 ++++++++++++++++------ src/lib/16_mm.c | 34 +++++++++++++++++----------------- 6 files changed, 37 insertions(+), 28 deletions(-) diff --git a/DEBUG.TXT b/DEBUG.TXT index ead23ca7..74c756b6 100644 --- a/DEBUG.TXT +++ b/DEBUG.TXT @@ -1,4 +1,3 @@ -Seg:0 Size:88400 Owner:0x0 -Seg:1595 Size:4096 Owner:0x420 -Seg:1a3a Size:810080 Owner:0x0 -Seg:e000 Size:-917520 Owner:0x0 +Seg:ffff Size:917520 Owner:0x0 + +MM_ShowMemory: Memory block order currupted! diff --git a/MMDUMP.TXT b/MMDUMP.TXT index 6d15b6f7b7b23b1e41a446c6131c7386b17520af..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 GIT binary patch literal 0 HcmV?d00001 literal 22 dcmXr0FfcGmu`)0*GEmUaWzbZxRWRV?0suB)1OWg5 diff --git a/awoo.sh b/awoo.sh index 8a4cebd9..5ef0ca15 100644 --- a/awoo.sh +++ b/awoo.sh @@ -1,4 +1,4 @@ #!/bin/bash git add . bash ./boop.sh -cp mmtest.exe /var/www/html/ +cp exmmtest.exe /var/www/html/ diff --git a/exmmtest.exe b/exmmtest.exe index bcec52f85a74625411dd840e134e6f05f0204b73..eed1cb67409e746acadbf89a480312efccc866a7 100644 GIT binary patch delta 22247 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�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 = NULL; mm->mmfree = &(mm->mmblocks[0]); for(i=0;immhead = mm->mmnew; // this will allways be the first node mm->mmnew->start = 0; @@ -673,11 +673,11 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi) // // get all available near conventional memory segments // - //printf(" nearheap making!\n"); + printf(" nearheap making!\n"); //---- length=coreleft(); - //_nheapgrow(); - length=_memmax(); - start = (void huge *)(mm->nearheap = _nmalloc(length)); + _nheapgrow(); + length=GetFreeSize();//_memmax(); + start = /*(void huge *)*/(mm->nearheap = _nmalloc(length)); length -= 16-(FP_OFF(start)&15); length -= SAVENEARHEAP; seglength = length / 16; // now in paragraphs @@ -698,23 +698,23 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi) printf( "ERROR - bad node in nearheap\n" ); break; }*/ - //printf(" near heap ok!\n"); + printf(" near heap ok!\n"); // // get all available far conventional memory segments // //---- length=farcoreleft(); - //printf(" farheap making!\n"); - /*_fheapgrow(); - length=0xff;//UL*4UL;//_memavl(); + printf(" farheap making!\n"); + _fheapgrow(); + length=_memavl();//0xffffUL*4UL; start = mm->farheap = halloc(length, sizeof(byte)); //start = mm->farheap = _fmalloc(length); length -= 16-(FP_OFF(start)&15); length -= SAVEFARHEAP; seglength = length / 16; // now in paragraphs segstart = FP_SEG(start)+(FP_OFF(start)+15)/16; - MML_UseSpace(segstart,seglength, mm);*/ - mmi->farheap = 0;//length; + MML_UseSpace(segstart,seglength, mm); + mmi->farheap = length; mmi->mainmem = mmi->nearheap + mmi->farheap; /*switch( _fheapchk() ) { case _HEAPOK: @@ -730,12 +730,12 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi) printf( "ERROR - bad node in farheap\n" ); break; }*/ - //printf(" far heap ok!\n"); + printf(" far heap ok!\n"); // // detect EMS and allocate up to 64K at page frame // -printf(" EMS1\n"); +/*printf(" EMS1\n"); 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! mmi->EMSmem = 0; for(i = 1;i < __argc;i++) @@ -782,11 +782,11 @@ printf(" XMS!\n"); // // allocate the misc buffer // -xmsskip: +xmsskip:*/ /*mmi->nearheap = 0; -mmi->farheap = 0; +mmi->farheap = 0;*/ mmi->EMSmem = 0; -mmi->XMSmem = 0;*/ +mmi->XMSmem = 0; mm->mmrover = mm->mmhead; // start looking for space after low block MM_GetPtr(&(mm->bufferseg),BUFFERSIZE, mm, mmi); -- 2.39.5