]> 4ch.mooo.com Git - 16.git/commitdiff
FUCK IT!
authorsparky4 <sparky4@cock.li>
Wed, 22 Jul 2015 02:22:37 +0000 (21:22 -0500)
committersparky4 <sparky4@cock.li>
Wed, 22 Jul 2015 02:22:37 +0000 (21:22 -0500)
modified:   DEBUG.TXT
modified:   MMDUMP.TXT
modified:   inputest.exe
modified:   mmtest.exe
modified:   sountest.exe
modified:   src/lib/16_head.h
modified:   src/lib/16_mm.c
modified:   src/lib/16_mm.h
modified:   src/mmtest.c

DEBUG.TXT
MMDUMP.TXT
inputest.exe
mmtest.exe
sountest.exe
src/lib/16_head.h
src/lib/16_mm.c
src/lib/16_mm.h
src/mmtest.c

index d48599becaf97399bb4ce8a9588c3c7bcf070290..3b35d096572db08c5c456d9f9069fc819cd5b60e 100644 (file)
--- a/DEBUG.TXT
+++ b/DEBUG.TXT
@@ -1,5 +1,4 @@
-Seg:0  Size:46544      Owner:0x0\r
-Seg:b5d        Size:4096       Owner:0x1586\r
-Seg:199b       Size:9264       Owner:0x0\r
-Seg:5bdc       Size:541248     Owner:0x0\r
-Seg:e000       Size:131056     Owner:0x0\r
+Seg:1411       Size:557915488  Owner:0x1511\r
+Seg:8bfd       Size:-385858080 Owner:0x8ba6\r
+\r
+MM_ShowMemory: Memory block order currupted!\r
index c3648a3777c48b92a8a4f0808eb582e286a199bf..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 (file)
Binary files a/MMDUMP.TXT and b/MMDUMP.TXT differ
index 152e4f48bad271b5a608856d0253075bdaa01cc7..22a7b6d8c844222b332fb8ce02e41dcae43a842b 100644 (file)
Binary files a/inputest.exe and b/inputest.exe differ
index c5855a6f2f2f708aef87db25c56003c0c437c965..ce1bf5d41240ec0cecac6ee5ac89ebd19fc454cc 100644 (file)
Binary files a/mmtest.exe and b/mmtest.exe differ
index 8075c8a07f2b27efc2fd2a36edd0b3066131e324..e4ab3b05815e33f7afc15f01d515115905b8f7aa 100644 (file)
Binary files a/sountest.exe and b/sountest.exe differ
index 18e0e4c038eefd519118df1f1774aee617be5116..9e00e49d529f0583abf4a7ce2f5e01400c57a0c3 100644 (file)
@@ -36,6 +36,7 @@
 #include <conio.h> // just for wait
 #include <time.h> // just for wait
 #include <stdlib.h>
+#include <malloc.h>
 #include <ctype.h>
 #include <unistd.h>\r
 #include <fcntl.h>\r
index 5e6cb81361c95cefd8f603a5c1ec7ca43c3f5852..a772c102c33e102ceaf271ae0f74f8e71ecfda53 100644 (file)
@@ -629,19 +629,21 @@ void MML_ClearBlock(mminfo_t *mm)
 void MM_Startup(mminfo_t *mm, mminfotype *mmi)
 {
        int i;
-       dword length;
+       dword length,seglength;
        void huge       *start;
-       unsigned        segstart,seglength,endfree;
+       unsigned        segstart,endfree;
 
+       printf("mmi->segu=%Fp\n", (mmi->segu));
        if(mm->mmstarted)
                MM_Shutdown(mm);
 
        mm->mmstarted = true;
        mm->bombonerror = true;
+
 //
 // set up the linked list (everything in the free list;
 //
-       printf("                linked list making!\n");
+       //printf("              linked list making!\n");
        mm->mmhead = NULL;
        mm->mmfree = &(mm->mmblocks[0]);
        for(i=0;i<MAXBLOCKS-1;i++)
@@ -649,28 +651,29 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi)
                mm->mmblocks[i].next = &(mm->mmblocks[i+1]);
        }
        mm->mmblocks[i].next = NULL;
+       printf("mmi->segu=%Fp\n", (mmi->segu));
 
 //
 // locked block of all memory until we punch out free space
 //
-       printf("                newblock making!\n");
+       //printf("              newblock making!\n");
        MM_GetNewBlock(mm);
        mm->mmhead = mm->mmnew;                         // this will allways be the first node
        mm->mmnew->start = 0;
-       mm->mmnew->length = 0x1;
+       mm->mmnew->length = 0xffff;
        mm->mmnew->attributes = LOCKBIT;
        mm->mmnew->next = NULL;
        mm->mmrover = mm->mmhead;
+       printf("mmi->segu=%Fp\n", (mmi->segu));
 
 //
 // get all available near conventional memory segments
 //
-       printf("                nearheap making!\n");
+       //printf("              nearheap making!\n");
 //---- length=coreleft();
        //_nheapgrow();
        length=_memmax();
-       //printf("      %Fp\n", mmi->segu);
-       start = (void huge *)(mm->nearheap = malloc(length));
+       start = /*(void *)*/(mm->nearheap = _nmalloc(length));
        length -= 16-(FP_OFF(start)&15);
        length -= SAVENEARHEAP;
        seglength = length / 16;                        // now in paragraphs
@@ -691,16 +694,15 @@ 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();
+       //printf("              farheap making!\n");
+       //_fheapgrow();
        length=0xffffUL*4UL;//_memavl();
-       //printf("      %Fp\n", mmi->segu);
        start = mm->farheap = halloc(length, sizeof(byte));
        //start = mm->farheap = _fmalloc(length);
        length -= 16-(FP_OFF(start)&15);
@@ -724,7 +726,7 @@ 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
@@ -770,8 +772,7 @@ 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
        {
 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
        }
 
 //
index 64c946a8828e94ffad30b978b51a62a52ec88e62..8b214032226923f31ad7d8e27fb02c1ac6d5bcde 100644 (file)
@@ -41,7 +41,7 @@
 
 #define        BUFFERSIZE              0x1000          // miscelanious, allways available buffer
 
-#define MAXBLOCKS              600//720
+#define MAXBLOCKS              720
 
 
 
@@ -91,7 +91,8 @@ typedef void __based(__self) * memptr; //__based(seg) * memptr;
 typedef struct
 {
        dword   nearheap,farheap,EMSmem,XMSmem,mainmem;
-       //word __based(__segname("_CODE")) segu;
+       //__segment segu;
+       word segu;
 //
 } mminfotype;
 
@@ -121,10 +122,10 @@ extern void               (* XMSaddr) (void);             // far pointer to XMS driver
 
 typedef struct mmblockstruct
 {
-       word    start,length;
+       word    start;//,length;
        //dword start,length;
        //word  start;
-       //dword length;
+       dword length;
        //byte segm;                            //how many 64kb segment blocks it takes up if there is many data!
        unsigned        attributes;
        memptr          *useptr;        // pointer to the segment start
index 99fd7c3c85d5c521c9cd4a778757c6022e2c0f8c..38b7ea15e4d35c0961671c38079a5015fb191332 100644 (file)
 /*
        exmm test
 */
+#include <stdio.h>
+#include <dos.h>
+
 #include "src/lib/16_head.h"
-//#include "src/lib/16_ca.h"
-//#include "src/lib/16_mm.h"
+#include "src/lib/16_ca.h"
+#include "src/lib/16_mm.h"
 //#include "src/lib/modex16.h"
 
-//#define FILERL
+#define FILERL
 //#define FILEINIT
 
 void
 main(int argc, char *argv[])
 {
-       //mminfo_t mm; mminfotype mmi;
-       //memptr        bigbuffer;
-       //__segment segu;
-       //char *bakapee;
-       //word baka;
+       static mminfo_t mm; mminfotype mmi;
+       static const __segment segu;
+       static memptr   bigbuffer;
+       static char *bakapee;
+       word baka;
        //static page_t screen;
 
+       mmi.segu=FP_SEG(segu);
+
        printf("&main()=%Fp\n", *argv[0]);
-       printf("&argc=%Fp\n", FP_SEG(&argc));
-//++++ printf("&segu=%Fp\n", segu);
+       printf("&segu=%p\n", (segu));
+       printf("mmi.segu=%p\n", (mmi.segu));
 
-       //++++bakapee = malloc(64);
+       bakapee = _nmalloc(64);
 //     memset(bakapee, 0, 64);
-//++++ mm.mmstarted=0;
+       mm.mmstarted=0;
 
-       /*if(argv[1]) bakapee = argv[1];
-       else bakapee = "data/koishi~~.pcx";*/
+       if(argv[1]) bakapee = argv[1];
+       else bakapee = "data/koishi~~.pcx";
 
-//++++ textInit();\r
+       textInit();\r
 
        /* setup camera and screen~ */
        //bug!!!\r
@@ -59,8 +64,8 @@ main(int argc, char *argv[])
        /*screen.width += (16*2);\r
        screen.height += (16*2);*/
 
-       printf("&main()=%Fp     start MM\n", *argv[0]);
-//++++ MM_Startup(&mm, &mmi);
+       printf("main()=%Fp      start MM\n", *argv[0]);
+       MM_Startup(&mm, &mmi);
        printf("                done!\n");
        /*if(FP_SEG(*argv[0])==0)
        {
@@ -71,9 +76,9 @@ main(int argc, char *argv[])
                exit(-5);
        }*/
        printf("&main()=%Fp\n", *argv[0]);
-       printf("&argc=%Fp\n", FP_SEG(&argc));
-//++++ printf("&segu=%Fp\n", segu);
-/*++++#ifdef FILERL
+       printf("&segu=%p\n", (segu));
+       printf("mmi.segu=%p\n", (mmi.segu));
+#ifdef FILERL
 #ifdef FILEINIT
        printf("                read\n");
        if(CA_ReadFile(bakapee, &bigbuffer, &mm))
@@ -84,27 +89,27 @@ main(int argc, char *argv[])
                baka=1;
        else
                baka=0;
-#endif*/
+#endif
        //hmm functions in cache system use the buffered stuff
-//++++ printf("size of big buffer~=%u\n", _bmsize(segu, bigbuffer));
+       printf("size of big buffer~=%lu\n", _bmsize(segu, bigbuffer));
        printf("dark purple = purgable\n");
        printf("medium blue = non purgable\n");
        printf("red = locked\n");
-       //++++getch();
+       getch();
        //++++modexEnter();
        //++++modexShowPage(&screen);
-       //++++MM_ShowMemory(/*&screen, */&mm);
-       //++++getch();
-       //++++MM_DumpData(&mm);
+       MM_ShowMemory(/*&screen, */&mm);
+       getch();
+       MM_DumpData(&mm);
        //++++modexLeave();
-       //++++MM_Report(&mm, &mmi);
+       MM_Report(&mm, &mmi);
        printf("                stop!\n");
-//++++ MM_FreePtr(&bigbuffer, &mm);
-//++++ MM_Shutdown(&mm);
+       MM_FreePtr(&bigbuffer, &mm);
+       MM_Shutdown(&mm);
        printf("                done!\n");
-/*#ifdef FILERL
-       //++++free(bakapee);
+#ifdef FILERL
+       free(bakapee);
        if(baka) printf("\nyay!\n");
        else printf("\npoo!\n");
-#endif*/
+#endif
 }