Removed the hModule parameter from various DOSMEM routines, the DOSMEM
routines now always use the current memory space.

diff --git a/include/miscemu.h b/include/miscemu.h
index 32bba50..cd9482b 100644
--- a/include/miscemu.h
+++ b/include/miscemu.h
@@ -137,11 +137,11 @@
 extern BOOL DOSMEM_Init(HMODULE16 hModule);
 extern void   DOSMEM_Tick(WORD timer);
 extern WORD   DOSMEM_AllocSelector(WORD);
-extern char * DOSMEM_MemoryBase(HMODULE16 hModule);
-extern LPVOID DOSMEM_GetBlock(HMODULE16 hModule, UINT size, UINT16* p);
-extern BOOL DOSMEM_FreeBlock(HMODULE16 hModule, void* ptr);
-extern LPVOID DOSMEM_ResizeBlock(HMODULE16 hModule, void* ptr, UINT size, UINT16* p);
-extern UINT DOSMEM_Available(HMODULE16 hModule);
+extern char * DOSMEM_MemoryBase(void);
+extern LPVOID DOSMEM_GetBlock(UINT size, UINT16* p);
+extern BOOL DOSMEM_FreeBlock(void* ptr);
+extern LPVOID DOSMEM_ResizeBlock(void* ptr, UINT size, UINT16* p);
+extern UINT DOSMEM_Available(void);
 extern LPVOID DOSMEM_MapRealToLinear(DWORD); /* real-mode to linear */
 extern LPVOID DOSMEM_MapDosToLinear(UINT); /* linear DOS to Wine */
 extern UINT DOSMEM_MapLinearToDos(LPVOID); /* linear Wine to DOS */
diff --git a/include/winnt.h b/include/winnt.h
index d76a07e..8e68578 100644
--- a/include/winnt.h
+++ b/include/winnt.h
@@ -714,7 +714,7 @@
 #define RESET_ZFLAG(context) (EFL_reg(context) &= ~0x0040)
 
 #define ISV86(context)       (EFL_reg(context) & 0x00020000)
-#define V86BASE(context)     DOSMEM_MemoryBase(0)
+#define V86BASE(context)     DOSMEM_MemoryBase()
 
 
 /* Macros to retrieve the current context */
diff --git a/loader/dos/module.c b/loader/dos/module.c
index aa20c4c..1947e20 100644
--- a/loader/dos/module.c
+++ b/loader/dos/module.c
@@ -101,7 +101,7 @@
 static void MZ_InitHandlers( LPDOSTASK lpDosTask )
 {
  WORD seg;
- LPBYTE start=DOSMEM_GetBlock(lpDosTask->hModule,sizeof(int08),&seg);
+ LPBYTE start=DOSMEM_GetBlock(sizeof(int08),&seg);
  memcpy(start,int08,sizeof(int08));
 /* INT 08: point it at our tick-incrementing handler */
  ((SEGPTR*)(lpDosTask->img))[0x08]=PTR_SEG_OFF_TO_SEGPTR(seg,0);
@@ -122,7 +122,7 @@
 
 static void MZ_InitXMS( LPDOSTASK lpDosTask )
 {
- LPBYTE start=DOSMEM_GetBlock(lpDosTask->hModule,sizeof(enter_xms),&(lpDosTask->xms_seg));
+ LPBYTE start=DOSMEM_GetBlock(sizeof(enter_xms),&(lpDosTask->xms_seg));
  memcpy(start,enter_xms,sizeof(enter_xms));
 }
 
@@ -152,7 +152,7 @@
 static void MZ_InitDPMI( LPDOSTASK lpDosTask )
 {
  unsigned size=sizeof(enter_pm);
- LPBYTE start=DOSMEM_GetBlock(lpDosTask->hModule,size,&(lpDosTask->dpmi_seg));
+ LPBYTE start=DOSMEM_GetBlock(size,&(lpDosTask->dpmi_seg));
  
  lpDosTask->dpmi_sel = SELECTOR_AllocBlock( start, size, SEGMENT_CODE, FALSE, FALSE );
 
@@ -170,7 +170,7 @@
   while (env[sz++]) sz+=strlen(env+sz)+1;
  } else sz++;
  /* allocate it */
- envblk=DOSMEM_GetBlock(lpDosTask->hModule,sz+sizeof(WORD)+strlen(name)+1,&seg);
+ envblk=DOSMEM_GetBlock(sz+sizeof(WORD)+strlen(name)+1,&seg);
  /* fill it */
  if (env) {
   memcpy(envblk,env,sz);
@@ -260,14 +260,14 @@
 
  /* allocate memory for the executable */
  TRACE("Allocating DOS memory (min=%ld, max=%ld)\n",min_size,max_size);
- avail=DOSMEM_Available(lpDosTask->hModule);
+ avail=DOSMEM_Available();
  if (avail<min_size) {
   ERR("insufficient DOS memory\n");
   SetLastError(ERROR_NOT_ENOUGH_MEMORY);
   return FALSE;
  }
  if (avail>max_size) avail=max_size;
- psp_start=DOSMEM_GetBlock(lpDosTask->hModule,avail,&lpDosTask->psp_seg);
+ psp_start=DOSMEM_GetBlock(avail,&lpDosTask->psp_seg);
  if (!psp_start) {
   ERR("error allocating DOS memory\n");
   SetLastError(ERROR_NOT_ENOUGH_MEMORY);
diff --git a/memory/global.c b/memory/global.c
index 6d71642..7514279 100644
--- a/memory/global.c
+++ b/memory/global.c
@@ -312,9 +312,9 @@
     TRACE("oldsize %08lx\n",oldsize);
     if (ptr && (size == oldsize)) return handle;  /* Nothing to do */
 
-    if (((char *)ptr >= DOSMEM_MemoryBase(0)) &&
-        ((char *)ptr <= DOSMEM_MemoryBase(0) + 0x100000))
-        ptr = DOSMEM_ResizeBlock(0, ptr, size, NULL);
+    if (((char *)ptr >= DOSMEM_MemoryBase()) &&
+        ((char *)ptr <= DOSMEM_MemoryBase() + 0x100000))
+        ptr = DOSMEM_ResizeBlock(ptr, size, NULL);
     else
         ptr = HeapReAlloc( GetProcessHeap(), 0, ptr, size );
     if (!ptr)
@@ -677,7 +677,7 @@
              DWORD size /* [in] Number of bytes to be allocated */
 ) {
    UINT16    uParagraph;
-   LPVOID    lpBlock = DOSMEM_GetBlock( 0, size, &uParagraph );
+   LPVOID    lpBlock = DOSMEM_GetBlock( size, &uParagraph );
 
    if( lpBlock )
    {
@@ -706,7 +706,7 @@
    if( block && block < 0x100000 ) 
    {
        LPVOID lpBlock = DOSMEM_MapDosToLinear( block );
-       if( DOSMEM_FreeBlock( 0, lpBlock ) )
+       if( DOSMEM_FreeBlock( lpBlock ) )
 	   GLOBAL_FreeBlock( sel );
        sel = 0;
    }
diff --git a/msdos/dosmem.c b/msdos/dosmem.c
index 3967a39..8572df8 100644
--- a/msdos/dosmem.c
+++ b/msdos/dosmem.c
@@ -63,10 +63,10 @@
  *
  * Gets the DOS memory base.
  */
-char *DOSMEM_MemoryBase(HMODULE16 hModule)
+char *DOSMEM_MemoryBase(void)
 {
-    TDB *pTask = hModule ? NULL : (TDB *)GlobalLock16( GetCurrentTask() );
-    NE_MODULE *pModule = (hModule || pTask) ? NE_GetPtr( hModule ? hModule : pTask->hModule ) : NULL;
+    TDB *pTask = (TDB *)GlobalLock16( GetCurrentTask() );
+    NE_MODULE *pModule = pTask ? NE_GetPtr( pTask->hModule ) : NULL;
 
     GlobalUnlock16( GetCurrentTask() );
     if (pModule && pModule->dos_image)
@@ -80,9 +80,9 @@
  *
  * Gets the DOS memory top.
  */
-static char *DOSMEM_MemoryTop(HMODULE16 hModule)
+static char *DOSMEM_MemoryTop(void)
 {
-    return DOSMEM_MemoryBase(hModule)+0x9FFFC; /* 640K */
+    return DOSMEM_MemoryBase()+0x9FFFC; /* 640K */
 }
 
 /***********************************************************************
@@ -90,9 +90,9 @@
  *
  * Gets the DOS memory info block.
  */
-static dosmem_info *DOSMEM_InfoBlock(HMODULE16 hModule)
+static dosmem_info *DOSMEM_InfoBlock(void)
 {
-    return (dosmem_info*)(DOSMEM_MemoryBase(hModule)+0x10000); /* 64K */
+    return (dosmem_info*)(DOSMEM_MemoryBase()+0x10000); /* 64K */
 }
 
 /***********************************************************************
@@ -100,10 +100,10 @@
  *
  * Gets the DOS memory root block.
  */
-static dosmem_entry *DOSMEM_RootBlock(HMODULE16 hModule)
+static dosmem_entry *DOSMEM_RootBlock(void)
 {
     /* first block has to be paragraph-aligned */
-    return (dosmem_entry*)(((char*)DOSMEM_InfoBlock(hModule)) +
+    return (dosmem_entry*)(((char*)DOSMEM_InfoBlock()) +
                            ((((sizeof(dosmem_info) + 0xf) & ~0xf) - sizeof(dosmem_entry))));
 }
 
@@ -119,9 +119,9 @@
  * to hook interrupts, as well as use their familiar retf tricks to call
  * them, AND let Wine handle any unhooked interrupts transparently.
  */
-static void DOSMEM_FillIsrTable(HMODULE16 hModule)
+static void DOSMEM_FillIsrTable(void)
 {
-    SEGPTR *isr = (SEGPTR*)DOSMEM_MemoryBase(hModule);
+    SEGPTR *isr = (SEGPTR*)DOSMEM_MemoryBase();
     DWORD *stub = (DWORD*)((char*)isr + (VM_STUB_SEGMENT << 4));
     int x;
  
@@ -141,19 +141,19 @@
      0xCD,0x31, /* int $0x31 */
      0xCB       /* lret */
     };
-    LPSTR wrapper = (LPSTR)DOSMEM_GetBlock(0, sizeof(wrap_code), &DPMI_wrap_seg);
+    LPSTR wrapper = (LPSTR)DOSMEM_GetBlock(sizeof(wrap_code), &DPMI_wrap_seg);
 
     memcpy(wrapper, wrap_code, sizeof(wrap_code));
 }
 
 BIOSDATA * DOSMEM_BiosData()
 {
-    return (BIOSDATA *)(DOSMEM_MemoryBase(0)+0x400);
+    return (BIOSDATA *)(DOSMEM_MemoryBase()+0x400);
 }
 
 BYTE * DOSMEM_BiosSys()
 {
-    return DOSMEM_MemoryBase(0)+0xf0000;
+    return DOSMEM_MemoryBase()+0xf0000;
 }
 
 struct _DOS_LISTOFLISTS * DOSMEM_LOL()
@@ -348,16 +348,16 @@
  *
  * Initialises the DOS memory structures.
  */
-static void DOSMEM_InitMemory(HMODULE16 hModule)
+static void DOSMEM_InitMemory(void)
 {
    /* Low 64Kb are reserved for DOS/BIOS so the useable area starts at
     * 1000:0000 and ends at 9FFF:FFEF. */
 
-    dosmem_info*        info_block = DOSMEM_InfoBlock(hModule);
-    dosmem_entry*       root_block = DOSMEM_RootBlock(hModule);
+    dosmem_info*        info_block = DOSMEM_InfoBlock();
+    dosmem_entry*       root_block = DOSMEM_RootBlock();
     dosmem_entry*       dm;
 
-    root_block->size = DOSMEM_MemoryTop(hModule) - (((char*)root_block) + sizeof(dosmem_entry));
+    root_block->size = DOSMEM_MemoryTop() - (((char*)root_block) + sizeof(dosmem_entry));
 
     info_block->blocks = 0;
     info_block->free = root_block->size;
@@ -418,9 +418,9 @@
                                      0x100, 0, FALSE, FALSE, FALSE, NULL );
         DOSMEM_BiosSysSeg = GLOBAL_CreateBlock(GMEM_FIXED,DOSMEM_dosmem+0xf0000,
                                      0x10000, 0, FALSE, FALSE, FALSE, NULL );
-        DOSMEM_FillIsrTable(0);
+        DOSMEM_FillIsrTable();
         DOSMEM_FillBiosSegments();
-        DOSMEM_InitMemory(0);
+        DOSMEM_InitMemory();
         DOSMEM_InitCollateTable();
         DOSMEM_InitErrorTable();
         DOSMEM_InitDPMI();
@@ -432,7 +432,7 @@
         DOSMEM_FillIsrTable(hModule);
         DOSMEM_InitMemory(hModule);
 #else
-	LPVOID base = DOSMEM_MemoryBase(hModule);
+	LPVOID base = DOSMEM_MemoryBase();
 
         /* bootstrap the new V86 task with a copy of the "system" memory */
         memcpy(base, DOSMEM_dosmem, 0x100000);
@@ -460,18 +460,18 @@
  *
  * Carve a chunk of the DOS memory block (without selector).
  */
-LPVOID DOSMEM_GetBlock(HMODULE16 hModule, UINT size, UINT16* pseg)
+LPVOID DOSMEM_GetBlock(UINT size, UINT16* pseg)
 {
    UINT  	 blocksize;
    char         *block = NULL;
-   dosmem_info  *info_block = DOSMEM_InfoBlock(hModule);
+   dosmem_info  *info_block = DOSMEM_InfoBlock();
    dosmem_entry *dm;
 #ifdef __DOSMEM_DEBUG_
    dosmem_entry *prev = NULL;
 #endif
  
    if( size > info_block->free ) return NULL;
-   dm = DOSMEM_RootBlock(hModule);
+   dm = DOSMEM_RootBlock();
 
    while (dm && dm->size != DM_BLOCK_TERMINAL)
    {
@@ -517,7 +517,7 @@
 
 	       info_block->blocks++;
 	       info_block->free -= dm->size;
-	       if( pseg ) *pseg = (block - DOSMEM_MemoryBase(hModule)) >> 4;
+	       if( pseg ) *pseg = (block - DOSMEM_MemoryBase()) >> 4;
 #ifdef __DOSMEM_DEBUG__
                dm->size |= DM_BLOCK_DEBUG;
 #endif
@@ -533,13 +533,13 @@
 /***********************************************************************
  *           DOSMEM_FreeBlock
  */
-BOOL DOSMEM_FreeBlock(HMODULE16 hModule, void* ptr)
+BOOL DOSMEM_FreeBlock(void* ptr)
 {
-   dosmem_info  *info_block = DOSMEM_InfoBlock(hModule);
+   dosmem_info  *info_block = DOSMEM_InfoBlock();
 
-   if( ptr >= (void*)(((char*)DOSMEM_RootBlock(hModule)) + sizeof(dosmem_entry)) &&
-       ptr < (void*)DOSMEM_MemoryTop(hModule) && !((((char*)ptr)
-                  - DOSMEM_MemoryBase(hModule)) & 0xf) )
+   if( ptr >= (void*)(((char*)DOSMEM_RootBlock()) + sizeof(dosmem_entry)) &&
+       ptr < (void*)DOSMEM_MemoryTop() && !((((char*)ptr)
+                  - DOSMEM_MemoryBase()) & 0xf) )
    {
        dosmem_entry  *dm = (dosmem_entry*)(((char*)ptr) - sizeof(dosmem_entry));
 
@@ -562,18 +562,18 @@
 /***********************************************************************
  *           DOSMEM_ResizeBlock
  */
-LPVOID DOSMEM_ResizeBlock(HMODULE16 hModule, void* ptr, UINT size, UINT16* pseg)
+LPVOID DOSMEM_ResizeBlock(void* ptr, UINT size, UINT16* pseg)
 {
    char         *block = NULL;
-   dosmem_info  *info_block = DOSMEM_InfoBlock(hModule);
+   dosmem_info  *info_block = DOSMEM_InfoBlock();
 
-   if( ptr >= (void*)(((char*)DOSMEM_RootBlock(hModule)) + sizeof(dosmem_entry)) &&
-       ptr < (void*)DOSMEM_MemoryTop(hModule) && !((((char*)ptr)
-                  - DOSMEM_MemoryBase(hModule)) & 0xf) )
+   if( ptr >= (void*)(((char*)DOSMEM_RootBlock()) + sizeof(dosmem_entry)) &&
+       ptr < (void*)DOSMEM_MemoryTop() && !((((char*)ptr)
+                  - DOSMEM_MemoryBase()) & 0xf) )
    {
        dosmem_entry  *dm = (dosmem_entry*)(((char*)ptr) - sizeof(dosmem_entry));
 
-       if( pseg ) *pseg = ((char*)ptr - DOSMEM_MemoryBase(hModule)) >> 4;
+       if( pseg ) *pseg = ((char*)ptr - DOSMEM_MemoryBase()) >> 4;
 
        if( !(dm->size & (DM_BLOCK_FREE | DM_BLOCK_TERMINAL))
 	 )
@@ -609,7 +609,7 @@
 		 info_block->free += orgsize - dm->size;
 	     } else {
 		 /* the collapse didn't help, try getting a new block */
-		 block = DOSMEM_GetBlock(hModule, size, pseg);
+		 block = DOSMEM_GetBlock(size, pseg);
 		 if (block) {
 		     /* we got one, copy the old data there (we do need to, right?) */
 		     memcpy(block, ((char*)dm) + sizeof(dosmem_entry),
@@ -648,12 +648,12 @@
 /***********************************************************************
  *           DOSMEM_Available
  */
-UINT DOSMEM_Available(HMODULE16 hModule)
+UINT DOSMEM_Available(void)
 {
    UINT  	 blocksize, available = 0;
    dosmem_entry *dm;
    
-   dm = DOSMEM_RootBlock(hModule);
+   dm = DOSMEM_RootBlock();
 
    while (dm && dm->size != DM_BLOCK_TERMINAL)
    {
@@ -693,9 +693,9 @@
  */
 UINT DOSMEM_MapLinearToDos(LPVOID ptr)
 {
-    if (((char*)ptr >= DOSMEM_MemoryBase(0)) &&
-        ((char*)ptr < DOSMEM_MemoryBase(0) + 0x100000))
-	  return (UINT)ptr - (UINT)DOSMEM_MemoryBase(0);
+    if (((char*)ptr >= DOSMEM_MemoryBase()) &&
+        ((char*)ptr < DOSMEM_MemoryBase() + 0x100000))
+	  return (UINT)ptr - (UINT)DOSMEM_MemoryBase();
     return (UINT)ptr;
 }
 
@@ -707,7 +707,7 @@
  */
 LPVOID DOSMEM_MapDosToLinear(UINT ptr)
 {
-    if (ptr < 0x100000) return (LPVOID)(ptr + (UINT)DOSMEM_MemoryBase(0));
+    if (ptr < 0x100000) return (LPVOID)(ptr + (UINT)DOSMEM_MemoryBase());
     return (LPVOID)ptr;
 }
 
@@ -721,7 +721,7 @@
 {
    LPVOID       lin;
 
-   lin=DOSMEM_MemoryBase(0)+(x&0xffff)+(((x&0xffff0000)>>16)*16);
+   lin=DOSMEM_MemoryBase()+(x&0xffff)+(((x&0xffff0000)>>16)*16);
    TRACE_(selector)("(0x%08lx) returns 0x%p.\n", x, lin );
    return lin;
 }
diff --git a/msdos/dpmi.c b/msdos/dpmi.c
index ed1bc70..9c0cec8 100644
--- a/msdos/dpmi.c
+++ b/msdos/dpmi.c
@@ -260,7 +260,7 @@
         DWORD esp,edi;
 
         INT_SetRealModeContext((REALMODECALL *)PTR_SEG_OFF_TO_LIN( rmcb->regs_sel, rmcb->regs_ofs ), context);
-        ss = SELECTOR_AllocBlock( DOSMEM_MemoryBase(0) + (DWORD)(SS_reg(context)<<4), 0x10000, SEGMENT_DATA, FALSE, FALSE );
+        ss = SELECTOR_AllocBlock( DOSMEM_MemoryBase() + (DWORD)(SS_reg(context)<<4), 0x10000, SEGMENT_DATA, FALSE, FALSE );
         esp = ESP_reg(context);
 
         FIXME("untested!\n");
@@ -369,7 +369,7 @@
     if (!already) {
         if (!SS_reg(context)) {
             alloc = 1; /* allocate default stack */
-            stack16 = addr = DOSMEM_GetBlock( pModule->self, 64, (UINT16 *)&(SS_reg(context)) );
+            stack16 = addr = DOSMEM_GetBlock( 64, (UINT16 *)&(SS_reg(context)) );
             ESP_reg(context) = 64-2;
             stack16 += 32-1;
             if (!addr) {
@@ -415,7 +415,7 @@
         ERR("cannot perform real-mode call\n");
 #endif
     }
-    if (alloc) DOSMEM_FreeBlock( pModule->self, addr );
+    if (alloc) DOSMEM_FreeBlock( addr );
     return 0;
 }
 
@@ -487,7 +487,7 @@
 
     if (NewRMCB)
     {
-	LPVOID RMCBmem = DOSMEM_GetBlock(0, 4, &uParagraph);
+	LPVOID RMCBmem = DOSMEM_GetBlock(4, &uParagraph);
 	LPBYTE p = RMCBmem;
 
 	*p++ = 0xcd; /* RMCB: */
@@ -559,7 +559,7 @@
 	PrevRMCB->next = CurrRMCB->next;
 	    else
 	FirstRMCB = CurrRMCB->next;
-	DOSMEM_FreeBlock(0, DOSMEM_MapRealToLinear(CurrRMCB->address));
+	DOSMEM_FreeBlock(DOSMEM_MapRealToLinear(CurrRMCB->address));
 	HeapFree(GetProcessHeap(), 0, CurrRMCB);
 	return 0;
     }
@@ -590,7 +590,7 @@
 
 static void StartPM( CONTEXT86 *context, LPDOSTASK lpDosTask )
 {
-    char *base = DOSMEM_MemoryBase(0);
+    char *base = DOSMEM_MemoryBase();
     UINT16 cs, ss, ds, es;
     CONTEXT86 pm_ctx;
     DWORD psp_ofs = (DWORD)(lpDosTask->psp_seg<<4);
@@ -851,7 +851,7 @@
         {
 #ifdef MZ_SUPPORTED
             if (lpDosTask) {
-                DWORD base = (DWORD)DOSMEM_MemoryBase(lpDosTask->hModule);
+                DWORD base = (DWORD)DOSMEM_MemoryBase();
 		dw = DOS_WINETOAPP(dw, base);
             }
 #endif
@@ -867,7 +867,7 @@
         dw = W32S_APP2WINE(MAKELONG(DX_reg(context), CX_reg(context)), offset);
 #ifdef MZ_SUPPORTED
         if (lpDosTask) {
-            DWORD base = (DWORD)DOSMEM_MemoryBase(lpDosTask->hModule);
+            DWORD base = (DWORD)DOSMEM_MemoryBase();
 	    dw = DOS_APPTOWINE(dw, base);
         }
 #endif
@@ -879,7 +879,7 @@
         dw = MAKELONG( DX_reg(context), CX_reg(context) );
 #ifdef MZ_SUPPORTED
         if (lpDosTask) {
-	    DWORD base = (DWORD)DOSMEM_MemoryBase(lpDosTask->hModule);
+	    DWORD base = (DWORD)DOSMEM_MemoryBase();
             DWORD sbase = GetSelectorBase( BX_reg(context) );
 	    if (!sbase) {
 	        /* the app has set the limit without setting the base,
@@ -923,7 +923,7 @@
             LDT_GetEntry( SELECTOR_TO_ENTRY( BX_reg(context) ), &entry );
 #ifdef MZ_SUPPORTED
             if (lpDosTask) {
-                DWORD base = (DWORD)DOSMEM_MemoryBase(lpDosTask->hModule);
+                DWORD base = (DWORD)DOSMEM_MemoryBase();
 		entry.base = DOS_WINETOAPP(entry.base, base);
             }
 #endif
@@ -944,7 +944,7 @@
             entry.base = W32S_APP2WINE(entry.base, offset);
 #ifdef MZ_SUPPORTED
             if (lpDosTask) {
-                DWORD base = (DWORD)DOSMEM_MemoryBase(lpDosTask->hModule);
+                DWORD base = (DWORD)DOSMEM_MemoryBase();
 	        entry.base = DOS_APPTOWINE(entry.base, base);
 		if (DOS_BADLIMIT(entry.base, base, entry.limit)) {
 		    AX_reg(context) = 0x8021;  /* invalid value */
@@ -971,7 +971,7 @@
             DX_reg(context) = LOWORD(dw);
         } else {
             AX_reg(context) = 0x0008; /* insufficient memory */
-            BX_reg(context) = DOSMEM_Available(0)>>4;
+            BX_reg(context) = DOSMEM_Available()>>4;
             SET_CFLAG(context);
         }
         break;
diff --git a/msdos/int21.c b/msdos/int21.c
index 20a824b..3261449 100644
--- a/msdos/int21.c
+++ b/msdos/int21.c
@@ -1763,7 +1763,7 @@
             LPVOID *mem; 
 	    if (ISV86(context))
 	      {
-		mem= DOSMEM_GetBlock(0,(DWORD)BX_reg(context)<<4,NULL);
+		mem= DOSMEM_GetBlock((DWORD)BX_reg(context)<<4,NULL);
             if (mem)
                 AX_reg(context) = DOSMEM_MapLinearToDos(mem)>>4;
 	      }
@@ -1777,7 +1777,7 @@
 	      {
                 SET_CFLAG(context);
                 AX_reg(context) = 0x0008; /* insufficient memory */
-                BX_reg(context) = DOSMEM_Available(0)>>4;
+                BX_reg(context) = DOSMEM_Available()>>4;
             }
         }
         break;
@@ -1787,7 +1787,7 @@
         {
 	  BOOL ret;
 	  if (ISV86(context))
-	    ret= DOSMEM_FreeBlock(0,DOSMEM_MapDosToLinear(ES_reg(context)<<4));
+	    ret= DOSMEM_FreeBlock(DOSMEM_MapDosToLinear(ES_reg(context)<<4));
 	  else
 	    {
 	      ret = !GlobalDOSFree16(ES_reg(context));
@@ -1808,14 +1808,14 @@
 	if (!ISV86(context))
 	  FIXME("RESIZE MEMORY probably insufficient implementation. Expect crash soon\n");
 	{
-	    LPVOID *mem = DOSMEM_ResizeBlock(0,DOSMEM_MapDosToLinear(ES_reg(context)<<4),
-					       BX_reg(context)<<4,NULL);
+	    LPVOID *mem = DOSMEM_ResizeBlock(DOSMEM_MapDosToLinear(ES_reg(context)<<4),
+					     BX_reg(context)<<4,NULL);
 	    if (mem)
 		AX_reg(context) = DOSMEM_MapLinearToDos(mem)>>4;
 	    else {
 		SET_CFLAG(context);
 		AX_reg(context) = 0x0008; /* insufficient memory */
-		BX_reg(context) = DOSMEM_Available(0)>>4; /* not quite right */
+		BX_reg(context) = DOSMEM_Available()>>4; /* not quite right */
 	    }
 	}
         break;
diff --git a/msdos/interrupts.c b/msdos/interrupts.c
index fce08dd..8e56d1d 100644
--- a/msdos/interrupts.c
+++ b/msdos/interrupts.c
@@ -64,7 +64,7 @@
  */
 FARPROC16 INT_GetRMHandler( BYTE intnum )
 {
-    return ((FARPROC16*)DOSMEM_MemoryBase(0))[intnum];
+    return ((FARPROC16*)DOSMEM_MemoryBase())[intnum];
 }
 
 
@@ -77,7 +77,7 @@
 {
     TRACE("Set real mode interrupt vector %02x <- %04x:%04x\n",
                  intnum, HIWORD(handler), LOWORD(handler) );
-    ((FARPROC16*)DOSMEM_MemoryBase(0))[intnum] = handler;
+    ((FARPROC16*)DOSMEM_MemoryBase())[intnum] = handler;
 }