]> 4ch.mooo.com Git - 16.git/commitdiff
wwww debugy~
authorsparky4 <sparky4@cock.li>
Sat, 27 Jun 2015 19:46:44 +0000 (14:46 -0500)
committersparky4 <sparky4@cock.li>
Sat, 27 Jun 2015 19:46:44 +0000 (14:46 -0500)
modified:   exmmtest.exe
modified:   src/exmmtest.c
modified:   src/lib/16_mm.c
modified:   src/lib/16_mm.h

exmmtest.exe
src/exmmtest.c
src/lib/16_mm.c
src/lib/16_mm.h

index f6c00a319cce96f0103c173be4932dcccf191eef..4708e6851c8c8821c1b72bacaeabf1c41fb213d1 100644 (file)
Binary files a/exmmtest.exe and b/exmmtest.exe differ
index 587fbd5bd9b5f884fb20f9049a081f4dd9c14019..b950051b119286d5a6f553857d4a81fed4dda77b 100644 (file)
@@ -30,7 +30,9 @@ main(int argc, char *argv[])
        printf("start!\n");
        MM_Startup();
        printf("done!\n");
+       printf("&main()=%Fp\n", *argv[0]);
        MM_ShowMemory();
+       MM_Report();
        printf("stop!\n");
        MM_Shutdown();
        printf("done!\n");
index dcb1428c4b848a4ef67c80b3726d9dec29b370b7..acb71982b50508d4dbb000f446acfce52d0cc72b 100644 (file)
@@ -115,6 +115,7 @@ void MML_SetupEMS (void)
        boolean errorflag=false;
        union REGS CPURegs;
 
+       EMSVer = 0;
        totalEMSpages = freeEMSpages = EMSpageframe = EMSpagesmapped = 0;
 
        __asm
@@ -128,6 +129,7 @@ void MML_SetupEMS (void)
                int     EMS_INT
                or      ah,ah
                jnz     error
+               mov     [EMSVer],ax                             //      set EMSVer
                cmp     al,0x32                                         // only work on ems 3.2 or greater
                jb      error
 
@@ -1019,7 +1021,7 @@ fprintf(stdout, "%s", scratch);
 ======================
 */
 
-long MM_UnusedMemory (void)
+dword MM_UnusedMemory (void)
 {
        unsigned free;
        mmblocktype far *scan;
@@ -1049,7 +1051,7 @@ long MM_UnusedMemory (void)
 ======================
 */
 
-long MM_TotalFree (void)
+dword MM_TotalFree (void)
 {
        unsigned free;
        mmblocktype far *scan;
@@ -1070,6 +1072,48 @@ long MM_TotalFree (void)
 
 //==========================================================================
 
+/*
+=====================
+=
+= MM_Report
+=
+=====================
+*/
+
+void MM_Report(void)
+{
+       printf("EMM %x available\n", EMSVer);
+       printf("totalEMSpages=%u\n", totalEMSpages);
+       printf("freeEMSpages=%u\n", freeEMSpages);
+       printf("EMSpageframe=%Fp\n", EMSpageframe);
+       printf("UnusedMemory=%lu\n", MM_UnusedMemory());
+       printf("TotalFree=%lu\n", MM_TotalFree());
+}
+
+//==========================================================================
+
+/*
+=====================
+=
+= MM_EMSVer
+=
+=====================
+
+
+int MM_EMSVer(void)\r
+{
+       int EMSver;\r
+       __asm
+       {
+               mov             ah,EMS_VERSION\r
+               int             EMS_INT
+               mov             EMSver,ax\r
+       }
+       return(EMSver);\r
+}*/
+
+//==========================================================================
+
 /*
 =====================
 =
@@ -1083,6 +1127,8 @@ void MM_BombOnError (boolean bomb)
        bombonerror = bomb;
 }
 
+//==========================================================================
+
 ///////////////////////////////////////////////////////////////////////////
 //
 //      US_CheckParm() - checks to see if a string matches one of a set of
index fecff72ca973b516be9aacc496f59ede6113b348..a18f0db7079dc966f4df354e63e55d870df8eba2 100644 (file)
@@ -161,6 +161,7 @@ static mmblocktype  far mmblocks[MAXBLOCKS]
 static boolean         bombonerror;
 
 static unsigned        totalEMSpages,freeEMSpages,EMSpageframe,EMSpagesmapped,EMShandle;
+static unsigned int EMSVer;
 
 static void            (* XMSaddr) (void);             // far pointer to XMS driver
 
@@ -183,8 +184,10 @@ void MM_SortMem (void);
 
 void MM_ShowMemory (void);
 
-long MM_UnusedMemory (void);
-long MM_TotalFree (void);
+dword MM_UnusedMemory (void);
+dword MM_TotalFree (void);
+void MM_Report(void);
+//int MM_EMSVer(void);
 
 void MM_BombOnError (boolean bomb);