VEMM.SYS

This driver loads EMS memory support for DOS and WinOS/2 sessions.

Early versions of the driver did not start the services or allocate any memory to EMS until they got requests from an application for EMS memory, this was done so that DOS drivers and Windows drivers loaded from DOS could claim and load themselves into memory before EMS claimed it. It turned out however that a number of DOS programs accessed the driver space to check for EMS before they asked for EMS services causing them to not request EMS memory correctly or in extreme cases not use EMS memory or fail.

IBM fixed this by creating a version that claims all EMS memory when a DOS or WinOS/2 session is started, this means that VEMM.SYS shipped with OS/2 Version 2.1 and later will need to explicitly leave space for DOS and WinOS/2 drivers by one of the methods described below. For users of OS/2 Version 2.0 they can either take a version of VEMM.SYS shipped with later versions of the operating system and transplant it to their system or download a package called "VEMMGA.ZIP" from the IBM Personal Systems FTP Mirror site

CONFIG.SYS
Used to support Extended Memory use in DOS and Windows programs. DEVICE=\OS2\MDOS\VEMM.SYS

Parameters: Sets the limit of EMS memory in blocks of 1024k. Default is 2. Size of conventional memory that can be remapped. Default is none. Memory frame address to be used to map EMS. Default is AUTO.
 * /S=n
 * /L=n
 * /F=nnnn


 * NOTE:Settings you specify in a DOS session will override these parameters.
 * The VEMM.SYS device must be listed in your config.sys file before the VXMS.SYS device.

Options

 * MEM_EXCLUDE
 * Excludes specific sections of memory.
 * Any memory range between C0000-E0000.

This is similar to how the EMM driver on real DOS functions and allows DOS and 16 bit Windows drivers that have no specific OS/2 support to work under the DOS and WinOS/2 subsystem.

On OS/2 Warp and later the same functionality can be archived via the settings notebook for DOS or ProgMan (Windows program manager) or by using an EMMExclude statement in SYSTEM.INI