X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2F16_mm.h;h=abcf48aa05720451433f95e3354484c88b18da82;hb=0ac21de11c7d70ff39af46d8bec1d50418adbe25;hp=59716d499d91f413e1ab2dc950791aebf6a84d9e;hpb=f140a355c36fae1da7e962c9828983e1fa131ad1;p=16.git diff --git a/src/lib/16_mm.h b/src/lib/16_mm.h index 59716d49..abcf48aa 100755 --- a/src/lib/16_mm.h +++ b/src/lib/16_mm.h @@ -30,7 +30,6 @@ #ifdef __DEBUG__ // 1 == Debug/Dev ; 0 == Production/final #define OUT_OF_MEM_MSG "MM_GetPtr: Out of memory!\nYou were short :%lu bytes\n" -extern boolean dbg_debugpm; #else #define OUT_OF_MEM_MSG "\npee\n" #endif @@ -53,6 +52,7 @@ extern boolean dbg_debugpm; //-------- #define EMS_INT 0x67 +#define EMM_INT 0x21 #define EMS_STATUS 0x40 #define EMS_GETFRAME 0x41 @@ -67,7 +67,7 @@ extern boolean dbg_debugpm; #define XMS_INT 0x2f #define XMS_CALL(v) _AH = (v);\ - __asm call [WORD PTR XMSDriver] + __asm call [DWORD PTR XMSDriver] /*__asm { mov ah,[v]\*///} #define XMS_VERSION 0x00 @@ -107,6 +107,7 @@ extern void (* beforesort) (void); extern void (* aftersort) (void); extern void (* XMSaddr) (void); // far pointer to XMS driver extern dword XMSDriver; +extern word XMSVer; //========================================================================== @@ -135,7 +136,6 @@ extern dword XMSDriver; word blob; //for data larger than 64k unsigned attributes; memptr *useptr; // pointer to the segment start - //huge struct mmblockstruct huge *next; struct mmblockstruct far *next; } mmblocktype; @@ -144,7 +144,6 @@ typedef struct { memptr bufferseg; boolean mmstarted, bombonerror, mmerror; - //huge void huge *farheap; void far *farheap; #ifdef __BORLANDC__ void *nearheap; @@ -157,7 +156,6 @@ typedef struct unsigned int EMSVer; word numUMBs,UMBbase[MAXUMBS]; //dword numUMBs,UMBbase[MAXUMBS]; - //huge mmblocktype huge mmblocks[MAXBLOCKS],huge *mmhead,huge *mmfree,huge *mmrover,huge *mmnew; mmblocktype far mmblocks[MAXBLOCKS],far *mmhead,far *mmfree,far *mmrover,far *mmnew; } mminfo_t;*/ @@ -184,8 +182,8 @@ boolean MML_CheckForEMS(void); //byte MML_SetupEMS(mminfo_t *mm); //void MML_ShutdownEMS(mminfo_t *mm); byte MM_MapEMS(global_game_variables_t *gvar); -byte MM_MapXEMS(global_game_variables_t *gvar); -//boolean MML_CheckForXMS(mminfo_t *mm); +//byte MM_MapXEMS(global_game_variables_t *gvar); +boolean MML_CheckForXMS(void); //void MML_SetupXMS(mminfo_t *mm, mminfotype *mmi); //void MML_ShutdownXMS(mminfo_t *mm); void MML_UseSpace(word segstart, dword seglength, global_game_variables_t *gvar); @@ -208,6 +206,7 @@ void MM_Report_(global_game_variables_t *gvar); void MM_BombOnError(boolean bomb, global_game_variables_t *gvar); //void MM_GetNewBlock(mminfo_t *mm); //void MM_FreeBlock(mmblocktype *x, mminfo_t *mm); +void xms_call(byte v, global_game_variables_t *gvar); //==========================================================================