X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2F16_mm.h;h=b68eea9c472ba0055b8484bff1f45c5e78dddbb3;hb=d337fd88c992c80c68263f66a2d22f3ce2ffefa1;hp=1a448a2a7e5fa8ff180f4674361fc49da2d24446;hpb=1dbd79f535c2617caefe848842199988dbedc12f;p=16.git diff --git a/src/lib/16_mm.h b/src/lib/16_mm.h index 1a448a2a..b68eea9c 100755 --- a/src/lib/16_mm.h +++ b/src/lib/16_mm.h @@ -25,12 +25,12 @@ #include #include "src/lib/16_head.h" #include "src/lib/16_hc.h" -#include "src/lib/16_lib.h" +#include "src/lib/16_tail.h" //++++mh #include "src/lib/16_in.h" - #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 +53,7 @@ //-------- #define EMS_INT 0x67 +#define EMM_INT 0x21 #define EMS_STATUS 0x40 #define EMS_GETFRAME 0x41 @@ -67,30 +68,30 @@ #define XMS_INT 0x2f #define XMS_CALL(v) _AH = (v);\ - __asm call [WORD PTR XMSDriver] -/*__asm { //mov (v),ah*/ + __asm call [DWORD PTR XMSDriver] +/*__asm { mov ah,[v]\*///} #define XMS_VERSION 0x00 -#define XMS_ALLOCHMA 0x01 +#define XMS_ALLOCHMA 0x01 #define XMS_FREEHMA 0x02 #define XMS_GENABLEA20 0x03 #define XMS_GDISABLEA20 0x04 #define XMS_LENABLEA20 0x05 #define XMS_LDISABLEA20 0x06 -#define XMS_QUERYA20 0x07 +#define XMS_QUERYA20 0x07 #define XMS_QUERYFREE 0x08 #define XMS_ALLOC 0x09 -#define XMS_FREE 0x0A -#define XMS_MOVE 0x0B -#define XMS_LOCK 0x0C +#define XMS_FREE 0x0A +#define XMS_MOVE 0x0B +#define XMS_LOCK 0x0C #define XMS_UNLOCK 0x0D #define XMS_GETINFO 0x0E #define XMS_RESIZE 0x0F -#define XMS_ALLOCUMB 0x10 +#define XMS_ALLOCUMB 0x10 #define XMS_FREEUMB 0x11 //========================================================================== @@ -105,7 +106,9 @@ extern void (* beforesort) (void); extern void (* aftersort) (void); -extern void (* XMSaddr) (void); // far pointer to XMS driver +extern void (* XMSaddr) (void); // far pointer to XMS driver +extern dword XMSDriver; +extern word XMSVer; //========================================================================== @@ -183,8 +186,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); @@ -207,6 +210,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); //==========================================================================