#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[])
{
- static mminfo_t mm; mminfotype mmi;
- static const __segment segu;
- static memptr bigbuffer;
- static char *bakapee;
+ mminfo_t mm; mminfotype mmi;
+ __segment sega;
+ void __based(sega)* bigbuffer;
+#ifdef FILERL
+ char *bakapee;
word baka;
+#endif
//static page_t screen;
- //mmi.segu=FP_SEG(segu);
-
- printf("&main()=%Fp\n", *argv[0]);
- printf("&segu=%p\n", (segu));
- //printf("mmi.segu=%p\n", (mmi.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 = _nmalloc(64);
-// memset(bakapee, 0, 64);
+#ifdef FILERL
+ bakapee = malloc(64);
+#endif
mm.mmstarted=0;
+#ifdef FILERL
if(argv[1]) bakapee = argv[1];
else bakapee = "data/koishi~~.pcx";
+#endif
textInit();\r
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)
{
printf("&main() == %u\n", FP_SEG(*argv[0]));
exit(-5);
}*/
- printf("&main()=%Fp\n", *argv[0]);
- printf("&segu=%p\n", (segu));
- //printf("mmi.segu=%p\n", (mmi.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))
#else
baka=1;
else
baka=0;
-#endif
+// close(bakapeehandle);
//hmm functions in cache system use the buffered stuff
- printf("size of big buffer~=%lu\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);
#ifdef FILERL
MM_FreePtr(&bigbuffer, &mm);
#endif
+ //PM_Shutdown();
+ CA_Shutdown();
MM_Shutdown(&mm);
printf(" done!\n");
#ifdef FILERL
if(baka) printf("\nyay!\n");
else printf("\npoo!\n");
#endif
- printf("_bios_memsize=%u\n", _bios_memsize());
+ //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());
}