*
*/
/*
- input test
+ 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/modex16.h"
+//#include "src/lib/modex16.h"
+#pragma hdrstop\r
+\r
+#pragma warn -pro\r
+#pragma warn -use
+
+//file load or read definition
+#define FILERL
+#define FILEREAD
void
main(int argc, char *argv[])
{
mminfo_t mm; mminfotype mmi;
- memptr bigbuffer;
__segment segu;
+#ifdef FILERL
+ memptr bigbuffer;
char *bakapee;
+// int bakapeehandle;
word baka;
- page_t screen;
+#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));
+
+#ifdef FILERL
bakapee = malloc(64);
// memset(bakapee, 0, 64);
+#endif
mm.mmstarted=0;
+#ifdef FILERL
if(argv[1]) bakapee = argv[1];
else bakapee = "data/koishi~~.pcx";
+#endif
textInit();\r
- /* setup camera and screen~ */\r
- screen = modexDefaultPage();\r
- screen.width += (16*2);\r
- screen.height += (16*2);
+ /* setup camera and screen~ */
+ //bug!!!\r
+ //screen = modexDefaultPage();\r
+ /*screen.width += (16*2);\r
+ screen.height += (16*2);*/
- printf("start!\n");
+ printf("main()=%Fp start MM\n", *argv[0]);
MM_Startup(&mm, &mmi);
- printf("done!\n");
+ //PM_Startup();\r
+ //PM_UnlockMainMem();\r
+ CA_Startup();
+ printf(" done!\n");
+ /*if(FP_SEG(*argv[0])==0)
+ {
+ MM_Report(&screen, &mm, &mmi);
+ MM_Shutdown(&mm);
+ printf("&main()=%Fp\n", *argv[0]);
+ printf("&main() == %u\n", FP_SEG(*argv[0]));
+ exit(-5);
+ }*/
printf("&main()=%Fp\n", *argv[0]);
- if(CA_LoadFile(bakapee, &bigbuffer, &mm, &mmi)) baka=1;
+ printf("&segu=%p\n", (segu));\r
+ //printf("mmi.segu=%p\n", (mmi.segu));
+#ifdef FILERL
+// 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
+ printf(" load\n");
+ if(CA_LoadFile(bakapee, &bigbuffer, &mm, &mmi))
+#endif
+ baka=1;
else
baka=0;
- //MM_GetPtr(&bigbuffer, mmi.nearheap, &mm, &mmi);
+// close(bakapeehandle);
//hmm functions in cache system use the buffered stuff
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();
- modexEnter();
- MM_ShowMemory(&screen, &mm);
+ //++++modexEnter();
+ //++++modexShowPage(&screen);
+ MM_ShowMemory(/*&screen, */&mm);
+ //getch();
MM_DumpData(&mm);
- getch();
- MM_Report(&screen, &mm, &mmi);
- modexLeave();
- printf("stop!\n");
+ //++++modexLeave();
+ MM_Report(&mm, &mmi);
+ printf(" stop!\n");
+#ifdef FILERL
MM_FreePtr(&bigbuffer, &mm);
+#endif
+ //PM_Shutdown();
+ CA_Shutdown();
MM_Shutdown(&mm);
- printf("done!\n");
+ printf(" done!\n");
+#ifdef FILERL
free(bakapee);
- //printf("_bios_memsize=%u\n", _bios_memsize());
if(baka) printf("\nyay!\n");
else printf("\npoo!\n");
+#endif
+ printf("_bios_memsize=%u\n", _bios_memsize());
}