]> 4ch.mooo.com Git - 16.git/blobdiff - src/exmmtest.c
OK it is doing something!! wwww
[16.git] / src / exmmtest.c
index d45180949f8a84b2842a1dab6e0f744eae3780bd..fc1a901b54b61c270e6a37c82c622fd7db5380c5 100644 (file)
 /*
        exmm test
 */
+#include <stdio.h>
+#include <bios.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"
+#pragma hdrstop\r
+\r
+#pragma warn -pro\r
+#pragma warn -use
 
-//#define FILERL
-//#define FILEINIT
+//file load or read definition
+#define FILERL
+//#define FILEREAD
 
 void
 main(int argc, char *argv[])
 {
-       //mminfo_t mm; mminfotype mmi;
-       //memptr        bigbuffer;
-       //__segment segu;
-       //char *bakapee;
+       mminfo_t mm; mminfotype mmi;
+       __segment sega;
+       void __based(sega)* bigbuffer;
+#ifdef FILERL
+       char *bakapee;
        word baka;
+#endif
        //static page_t screen;
 
-       printf("&main()=%Fp\n", *argv[0]);
-       printf("&argc=%Fp\n", FP_SEG(&argc));
-//++++ printf("&segu=%Fp\n", segu);
+       printf("&main()=        %Fp\n", *argv[0]);
+       printf("bigbuffer=      %Fp\n", bigbuffer);
+       printf("&bigbuffer=     %Fp\n", &bigbuffer);
+       printf("bigbuffer=      %04x\n", bigbuffer);
+       printf("&bigbuffer=     %04x\n", &bigbuffer);
 
-       //++++bakapee = malloc(64);
-//     memset(bakapee, 0, 64);
-//++++ mm.mmstarted=0;
+#ifdef FILERL
+       bakapee = malloc(64);
+#endif
+       mm.mmstarted=0;
 
-       /*if(argv[1]) bakapee = argv[1];
-       else bakapee = "data/koishi~~.pcx";*/
+#ifdef FILERL
+       if(argv[1]) bakapee = argv[1];
+       else bakapee = "data/koishi~~.pcx";
+#endif
 
-//++++ textInit();\r
+       textInit();\r
 
        /* setup camera and screen~ */
        //bug!!!\r
@@ -59,8 +74,11 @@ 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);
+       //PM_Startup();\r
+       //PM_UnlockMainMem();\r
+       CA_Startup();
        printf("                done!\n");
        /*if(FP_SEG(*argv[0])==0)
        {
@@ -70,13 +88,18 @@ main(int argc, char *argv[])
                printf("&main() == %u\n", FP_SEG(*argv[0]));
                exit(-5);
        }*/
-       printf("&main()=%Fp\n", *argv[0]);
-       printf("&argc=%Fp\n", FP_SEG(&argc));
-//++++ printf("&segu=%Fp\n", segu);
+       printf("&main()=        %Fp\n", *argv[0]);
+       printf("bigbuffer=      %Fp\n", bigbuffer);
+       printf("&bigbuffer=     %Fp\n", &bigbuffer);
+       printf("bigbuffer=      %04x\n", bigbuffer);
+       printf("&bigbuffer=     %04x\n", &bigbuffer);
 #ifdef FILERL
-#ifdef FILEINIT
+//     bakapeehandle = open(bakapee,O_RDONLY | O_BINARY, S_IREAD);
+//     printf("size of big buffer~=%u\n", _bmsize(segu, bigbuffer));
+//     if(CA_FarRead(bakapeehandle,(void far *)&bigbuffer,sizeof(bigbuffer),&mm))
+#ifdef FILEREAD
        printf("                read\n");
-       if(CA_ReadFile(bakapee, &bigbuffer, &mm/*, &mmi*/))
+       if(CA_ReadFile(bakapee, &bigbuffer, &mm))
 #else
        printf("                load\n");
        if(CA_LoadFile(bakapee, &bigbuffer, &mm, &mmi))
@@ -84,27 +107,48 @@ main(int argc, char *argv[])
                baka=1;
        else
                baka=0;
-#endif
+//     close(bakapeehandle);
        //hmm functions in cache system use the buffered stuff
-//++++ printf("size of big buffer~=%u\n", _bmsize(segu, bigbuffer));
+//     printf("size of big buffer~=%u\n", _bmsize(segu, bigbuffer));
+#endif
        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);
+#ifdef FILERL
+       MM_FreePtr(&bigbuffer, &mm);
+#endif
+       //PM_Shutdown();
+       CA_Shutdown();
+       MM_Shutdown(&mm);
        printf("                done!\n");
 #ifdef FILERL
-       //++++free(bakapee);
+       free(bakapee);
        if(baka) printf("\nyay!\n");
        else printf("\npoo!\n");
 #endif
+       //printf("_bios_memsize=%u\n", _bios_memsize());
+       printf("bigbuffer=      %Fp\n", bigbuffer);
+       printf("&bigbuffer=     %Fp\n", &bigbuffer);
+       printf("bigbuffer=      %04x\n", bigbuffer);
+       printf("&bigbuffer=     %04x\n", &bigbuffer);
+       printf("\n\n");
+       printf("Total free:                     %lu\n", (dword)(GetFreeSize()));
+       printf("Total near free:                %lu\n", (dword)(GetNearFreeSize()));
+       printf("Total far free:                 %lu\n", (dword)(GetFarFreeSize()));
+       getch();
+       printf("\n");
+       heapdump();
+       printf("core left:                      %lu\n", (dword)_coreleft());
+       printf("far core left:                  %lu\n", (dword)_farcoreleft());
+       //printf("based core left:                      %lu\n", (dword)_basedcoreleft());
+       //printf("huge core left:                       %lu\n", (dword)_hugecoreleft());
 }