Jump to content

VEMM.SYS

From EDM2
Revision as of 01:25, 4 March 2016 by Reiknir (talk | contribs)

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 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

Options

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

This is similar to 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