HOME

TheInfoList



OR:

Quarterdeck Expanded Memory Manager (QEMM) is a memory manager produced by
Quarterdeck Office Systems Quarterdeck Office Systems, later Quarterdeck Corporation (NASDAQ: QDEK), was an American computer software company. It was founded by Therese Myers and Gary Pope in 1981 and incorporated in 1982. Their offices were initially located at 150 Pico B ...
in the late 1980s through the late 1990s. It was the most popular third-party memory manager for the
MS-DOS MS-DOS ( ; acronym for Microsoft Disk Operating System, also known as Microsoft DOS) is an operating system for x86-based personal computers mostly developed by Microsoft. Collectively, MS-DOS, its rebranding as IBM PC DOS, and a few ope ...
and other
DOS DOS is shorthand for the MS-DOS and IBM PC DOS family of operating systems. DOS may also refer to: Computing * Data over signalling (DoS), multiplexing data onto a signalling channel * Denial-of-service attack (DoS), an attack on a communicat ...
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
s.


QEMM product ranges

;QRAM: A memory manager for
Intel 80286 The Intel 80286 (also marketed as the iAPX 286 and often called Intel 286) is a 16-bit microprocessor that was introduced on February 1, 1982. It was the first 8086-based CPU with separate, non- multiplexed address and data buses and also the ...
or higher
CPUs A central processing unit (CPU), also called a central processor, main processor or just processor, is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, and ...
. It supports
Chips and Technologies Chips and Technologies (C&T), founded in Milpitas, California in December 1984 by Gordon A. Campbell and Dado Banatao, was an early fabless semiconductor company. Its first product, announced September 1985, was a four chip EGA chipset that ...
chipset In a computer system, a chipset is a set of electronic components An electronic component is any basic discrete device or physical entity in an electronic system used to affect electrons or their associated fields. Electronic components are ...
s. 2.02 added SHADOWRAM switch. QEXT correctly reallocates
eXtended Memory Specification In DOS memory management, extended memory refers to memory above the first megabyte (220 bytes) of address space in an IBM PC or compatible with an 80286 or later processor. The term is mainly used under the DOS and Windows operating systems. ...
(XMS). It includes VIDRAM, Optimize, LOADHI from QEMM 6.02, Manifest 1.13. Earlier versions of QRAM also supported the older
8086 The 8086 (also called iAPX 86) is a 16-bit microprocessor chip designed by Intel between early 1976 and June 8, 1978, when it was released. The Intel 8088, released July 1, 1979, is a slightly modified chip with an external 8-bit data bus (allowi ...
and
8088 The Intel 8088 ("''eighty-eighty-eight''", also called iAPX 88) microprocessor is a variant of the Intel 8086. Introduced on June 1, 1979, the 8088 has an eight-bit external data bus instead of the 16-bit bus of the 8086. The 16-bit registers a ...
CPUs. ;QEMM Game Edition: It is a version of QEMM that includes Quarterdeck GameRunner. Patches for regular QEMM do not work on QEMM Game Edition. ;QEMM MegaBundle: In the version shipped with
Borland SideKick Borland Sidekick was a personal information manager (PIM) launched by American software company Borland in 1984 under Philippe Kahn's leadership. It was an early and popular terminate and stay resident program (TSR) for MS-DOS which enabled comput ...
for Windows, it is a version with SideBar 1.00 (1994-08-22) and QEMM 7.5. ;
DESQview 386 DESQview (DV) is a text mode multitasking operating environment developed by Quarterdeck Office Systems which enjoyed modest popularity in the late 1980s and early 1990s. Running on top of DOS, it allows users to run multiple programs concurrentl ...
: It includes
DESQview DESQview (DV) is a text mode multitasking operating environment developed by Quarterdeck Office Systems which enjoyed modest popularity in the late 1980s and early 1990s. Running on top of DOS, it allows users to run multiple programs concurrentl ...
and QEMM-386.


Features/tools


QEMM driver

QEMM provides access to the
Upper Memory Area In DOS memory management, the upper memory area (UMA) refers to memory between the addresses of 640  KB and 1024 KB ( 0xA0000–0xFFFFF) in an IBM PC or compatible. IBM reserved the uppermost 384 KB of the 8088 CPU's 1024 KB ...
(UMA) and memory through the
Expanded Memory Specification In DOS memory management, expanded memory is a system of bank switching that provided additional memory to DOS programs beyond the limit of conventional memory (640 KiB). ''Expanded memory'' is an umbrella term for several incompatible t ...
(EMS),
Extended Memory Specification In DOS memory management, extended memory refers to memory above the first megabyte (220 bytes) of address space in an IBM PC or compatible with an 80286 or later processor. The term is mainly used under the DOS and Windows operating systems. ...
(XMS),
Virtual Control Program Interface In computing, the Virtual Control Program Interface (VCPI) is a specification published in 1989 by Phar Lap Software that allows a DOS program to run in protected mode, granting access to many features of the processor not available in real mode ...
(VCPI) and
DOS Protected Mode Interface In computing, the DOS Protected Mode Interface (DPMI) is a specification introduced in 1989 which allows a DOS program to run in protected mode, giving access to many features of the new PC processors of the time not available in real mode. It w ...
(DPMI). *Quickboot: It allows a form of warm reboot or
local reboot Local may refer to: Geography and transportation * Local (train), a train serving local traffic demand * Local, Missouri, a community in the United States * Local government, a form of public administration, usually the lowest tier of administrat ...
to be performed without going through the
BIOS In computing, BIOS (, ; Basic Input/Output System, also known as the System BIOS, ROM BIOS, BIOS ROM or PC BIOS) is firmware used to provide runtime services for operating systems and programs and to perform hardware initialization during the ...
. It will therefore completely bypass the
POST Post or POST commonly refers to: *Mail, the postal system, especially in Commonwealth of Nations countries **An Post, the Irish national postal service **Canada Post, Canadian postal service **Deutsche Post, German postal service **Iraqi Post, Ira ...
, including the BIOS startup screen and the time-consuming memory test and device enumeration, and just restore the CPU state and interrupts to their initial state after POST.


DOS-Up

It relocates DOS kernel, COMMAND.COM interpreter, DOS resources (e.g.: buffers, file handles, stacks, lastdrive). It supports DOS 3.2 or higher.


HOOKRAM

It allows drivers to be loaded before loading QEMM and still allow the use of QEMM's Stealth feature.


MagnaRAM

It was a
virtual memory compression Virtual memory compression (also referred to as RAM compression and memory compression) is a memory management technique that utilizes data compression to reduce the size or number of paging requests to and from the auxiliary storage. In a virtua ...
utility for Windows 3.1, Windows For Workgroups and Windows 95.
MagnaRAM Quarterdeck Expanded Memory Manager (QEMM) is a memory manager produced by Quarterdeck Office Systems in the late 1980s through the late 1990s. It was the most popular third-party memory manager for the MS-DOS and other DOS operating systems. ...
is included with QEMM 97. MagnaRAM was also released as a separate utility. MagnaRAM worked by replacing a portion of Windows'
virtual memory In computing, virtual memory, or virtual storage is a memory management technique that provides an "idealized abstraction of the storage resources that are actually available on a given machine" which "creates the illusion to users of a very l ...
system. MagnaRAM would insert itself in the string of Windows Programs that determined what pieces of RAM will be moved to the hard disk. Instead of writing directly to the hard disk, the information to be written would go to MagnaRAM's own buffer as this was a faster process. During CPU idle, MagnaRAM would compress the information in its own RAM buffer. When the RAM buffer becomes full, it is then swapped to the hard disk taking both less time and less space.


Manifest

Manifest (MFT) is a hardware information utility that displays information about user's system. *1.11 fixed minor cosmetic bugs. *1.12 can identify PS/2 Model 57SX, Compaq Deskpro 486s/16M, Sharp MZ-100. Available EMS in System Overview screen was corrected when using Stealth. *1.13 fixed Award BIOS identification problem. *Version 2.0 provides information on network, enhance reporting of video capabilities, APM, DPMI/VCPI/EMS/XMS memory. New feature include editing DOS and Windows boot configuration files.


Optimize

Similar to
MEMMAKER This article presents a list of commands used by DOS operating systems, especially as used on x86-based IBM PC compatibles (PCs). Other DOS operating systems are not part of the scope of this list. In DOS, many standard system commands were pro ...
, it is a utility that calculates, and allows user to choose optimal orders of loading drivers and TSRs. However, OPTIMIZE allows preview of adjustments be made without rebooting. Shipped with QEMM and DESQview.


QDPMI

QDPMI is a DPMI 0.9 server driver, authored by Dan Spear. It requires 386 CPU and QEMM386.


QEMM 50/60

It is a version of QEMM driver for IBM PS/2 Model 50 and 60. Version 4.03 supports IBM Memory Expansion Option boards with 2-8MB memory.


Stealth

It can relocate memory assigned for CGA character set away from UMA. Beginning with QEMM version 8, it allows ROM contents in UMA to be relocated to provide more memory for TSRs. Additional Stealth Windows compatibility is provided with VxDs.


Stealth DoubleSpace/D*Space

Stealth D*Space allows
DoubleSpace DriveSpace (initially known as DoubleSpace) is a disk compression utility supplied with MS-DOS starting from MS-DOS 6.0, version 6.0 in 1993 and ending in 2000 with the release of Windows Me. The purpose of DriveSpace is to increase the amount ...
or
DriveSpace DriveSpace (initially known as DoubleSpace) is a disk compression utility supplied with MS-DOS starting from version 6.0 in 1993 and ending in 2000 with the release of Windows Me. The purpose of DriveSpace is to increase the amount of data th ...
to be loaded high.


T386

It allows Toshiba laptops to work with QEMM's EMS manager.


VIDRAM

*Provides extra conventional memory in text mode programs, by reclaiming buffers located in UMA that are used in graphics modes. *It requires EGA/VGA-compatible video card. *VIDRAM EMS supports DMA-based video memory access at the expense of EMS memory for buffer.


Limitations


Device driver limit

LOADHI.SYS loads up to 1 device driver at a time in QEMM 4.23, 2 in QEMM 5, 32 in QEMM 6.


MagnaRAM limit

Maximum compression threshold setting is 100% for all versions of MagnaRAM 2.00-2.02, except for MagnaRAM 2.00 included with QEMM 8.00, which has the maximum setting of 80%.


Memory limit

* QEMM 5.0 can manage up to 16 MB EMS, 16 MB XMS. * QEMM 6.0 can manage up to 64 MB EMS, 64 MB XMS. * QEMM 6.02 can manage up to 128 MB EMS, 128 MB XMS. EMBMEM (16-bit) parameter limit was removed. * QEMM 7.0-7.03 can manage up to 128 MB EMS, 128 MB XMS. * QEMM 7.04, 7.5, 8.0-8.3 and 97 (aka QEMM 9.0) can manage up to 256 MB EMS/XMS. By default, QEMM 7.04 and above provide up to a total of 64 MB RAM shared among XMS, EMS and VCPI memory, unless the USERAM= parameter is used. For example, to allow access to up to 256 MB EMS (or 256 MB XMS), specify: QEMM386.SYS USERAM=1M-256M For QEMM 7.04 and above, the maximum addressable RAM is 256 MB of memory, shared among XMS, EMS and VCPI memory. Initially, XMS allocates the entire 256 MB and shares it with EMS and VCPI as needed, that is, as EMS and VCPI request memory blocks, XMS free memory is reduced by that same amount.


Optimize limit

Versions up to QEMM 6.01 can process batch files up to 9KB, and 20KB in QEMM 6.02. Batch file line limit is 512 for QEMM versions up to 6.02.


Stealth DoubleSpace/D*Space

Stealth D*Space does not support Windows 95 or later versions of DriveSpace.


Version history

Originally, the product was called QEMM-386 (requiring an
Intel 80386 The Intel 386, originally released as 80386 and later renamed i386, is a 32-bit microprocessor introduced in 1985. The first versions had 275,000 transistorsDOS 3.30.), and was released with a complementary product called QRAM (for use on intel 80286 and 8088). The ''386'' suffix was dropped starting with QEMM version 7.0 in 1993, when Intel released the
Intel Pentium Pentium is a brand used for a series of x86 architecture-compatible microprocessors produced by Intel. The original Pentium processor from which the brand took its name was first released on March 22, 1993. After that, the Pentium II and P ...
on March 22, 1993. The final release was re-branded as QEMM 97 to follow Microsoft's new branding trend of using year released instead of version numbers, specifically, Windows 95 and Windows 95 OSR2.


QEMM-386 v4.2 (November 11, 1988)

* Supported
Intel 80386 The Intel 386, originally released as 80386 and later renamed i386, is a 32-bit microprocessor introduced in 1985. The first versions had 275,000 transistorsDOS 3.30. * Bundled with QRAM for
80286 The Intel 80286 (also marketed as the iAPX 286 and often called Intel 286) is a 16-bit microprocessor that was introduced on February 1, 1982. It was the first 8086-based CPU with separate, non- multiplexed address and data buses and also the ...
or
8088 The Intel 8088 ("''eighty-eighty-eight''", also called iAPX 88) microprocessor is a variant of the Intel 8086. Introduced on June 1, 1979, the 8088 has an eight-bit external data bus instead of the 16-bit bus of the 8086. The 16-bit registers a ...
/
8086 The 8086 (also called iAPX 86) is a 16-bit microprocessor chip designed by Intel between early 1976 and June 8, 1978, when it was released. The Intel 8088, released July 1, 1979, is a slightly modified chip with an external 8-bit data bus (allowi ...
computers.


QEMM-386 v5.0 (January 1990)

*Added support for Intel 80486, DOS 4.01 and
Windows 3.0 Windows 3.0 is the third major release of Microsoft Windows, launched in 1990. It features a new graphical user interface (GUI) where applications are represented as clickable icons, as opposed to the list of file names seen in its predeces ...
. *Maximum RAM is 16MB XMS/16MB EMS. *LOADHI.SYS now loads 2 device drivers at a time. *New QEMM parameters include COMPAQ386S (C386S).


QEMM-386 v5.11 (mid 1990)

*Added support for Virtual DMA Services (VDS). *Supported larger memory cache.


QEMM-386 v6.0 (early 1991)

* Added support for DOS 5.00a and
Windows 3.0 Windows 3.0 is the third major release of Microsoft Windows, launched in 1990. It features a new graphical user interface (GUI) where applications are represented as clickable icons, as opposed to the list of file names seen in its predeces ...
a. *Maximum RAM is 64MB XMS/64MB EMS. *New features include Stealth. *New utilities include HOOKRAM. *LOADHI.SYS now loads 32 device drivers at a time. *Manifest was updated to 1.10. *QRAM updated to 2.02 for intel 80286 and intel 8088 systems.


QEMM-386 v6.01 (mid 1991)

*QEMM supports loading XMS driver before QEMM, running Stealth in Windows 3.0 in 386 Enhanced mode. *Optimize support indented CALL statements in batch files. *Manifest was updated to 1.11.


QEMM-386 v6.02 (November 13, 1991)

*Supports 2.88MB floppy drives. *New Optimize switches include /COMMANDFILE (CMD), /LOADLOW (LOW), /QUICK (Q). Optimize supports default OPTIMIZE.EXC exclusion file. *New QEMM parameters include DISKBUFFRAME=xx (DBF), EXCLUDESTEALTHINT=xx (XSTI), SHADOWRAM=xxx (SH), UNMAPFREEPAGES=Y/N (UFP), WINSHRINKUMBS=N (WSU). *By default, EMS is un-mapped when Stealth is active. *Optimize can support batch file up to 20KB. *The 64MB limit was removed from EMBMEM (EMB) parameter. *TESTBIOS's 'Danny and Larry' messages were removed. *Manifest was updated to 1.13. *Vidram now support systems with over 640KB conventional memory, uses EMS by default.


QEMM v7.0 (mid 1993)

Dropped the ''386'' suffix from the name since Intel introduced the Pentium processor. * Added support for
intel Pentium Pentium is a brand used for a series of x86 architecture-compatible microprocessors produced by Intel. The original Pentium processor from which the brand took its name was first released on March 22, 1993. After that, the Pentium II and P ...
, DOS 6.00 and Windows 3.10. *Maximum RAM is 128MB XMS/128MB EMS. * QEMM was rewritten with 32-bit code. * New features include DOSDATA, DOS-Up, Stealth ROM, Stealth DoubleSpace. * New utilities include SWAPECHO.COM, OPTIMIZE.EXE (replaced OPTIMIZE.COM), QDPMI (Quarterdeck DPMI 0.9 host), QSETUP (QEMM Setup for Windows), SCANMEM.COM (USERAM= memory scanner). * Updated utilities include Manifest 2.0. Add support of
Virtual Mode Extensions In the 80386 microprocessor and later, virtual 8086 mode (also called virtual real mode, V86-mode, or VM86) allows the execution of real mode applications that are incapable of running directly in protected mode while the processor is running a ...
and Page Size Extensions found in Pentium, later Intel 80486, or later CPUs; Bus-Mastering hard drives. Improved adapter RAM detection. * Added support for reading qemm configuration file, @filename. * Added support for DOS 6.00 Multi-Config in CONFIG.SYS, IF statements in AUTOEXEC.BAT. *Optimize supports disk compression software. *Vidram can now operate in Windows Enhanced mode DOS windows. *QEMM 7.0x loads itself to shadow RAM by default.


QEMM v7.03 (November 17, 1993)

*VIDRAM no longer suppress
interrupt In digital computers, an interrupt (sometimes referred to as a trap) is a request for the processor to ''interrupt'' currently executing code (when permitted), so that the event can be processed in a timely manner. If the request is accepted, ...
10, function 1B calls (Video BIOS Functionality and State Information for MCGA/
VGA Video Graphics Array (VGA) is a video display controller and accompanying de facto graphics standard, first introduced with the IBM PS/2 line of computers in 1987, which became ubiquitous in the PC industry within three years. The term can no ...
). *New Optimize switches include /NOFLUSH (/NOFL). *Stealth DoubleSpace virtualizes DOS Function 9. *DOSDATA improves compatibility with Stacker 3.1, supports PC DOS 6.1 and XTRADRIVE or OS/2 2.x Boot Manager. *Stealth Windows driver was updated to 7.02. *QEMM driver now supports Compaq 20/e and 25/e.


QEMM v7.04 (February 28, 1994)

*Added support for DOS 6.20. *Maximum RAM is 256MB XMS/256MB EMS. *DOS-Up now supports Novell DOS 7. In
DR DOS 6.0 DR-DOS (written as DR DOS, without a hyphen, in versions up to and including 6.0) is a disk operating system for IBM PC compatibles. Upon its introduction in 1988, it was the first DOS attempting to be compatible with IBM PC DOS and MS-D ...
and
Novell DOS 7 DR-DOS (written as DR DOS, without a hyphen, in versions up to and including 6.0) is a disk operating system for IBM PC compatibles. Upon its introduction in 1988, it was the first DOS attempting to be compatible with IBM PC DOS and MS-D ...
, only DOS resource is loaded high. *Improved VCPI compatibility on systems with large amounts of memory. *QEMM supports DESQview/X 2.0 server.*Manifest now recognizes STB processors.


QEMM v7.5 (September 17, 1994)

*New features include Stealth D*Space which supports both drive compression techniques, DrvSpace (DOS 6.22) and DblSpace (DOS 6.20-DOS 6.00); replacing Stealth DoubleSpace. *New tools include QPI.VXD. *Improved Pentium support with DigiSpeech Portable Sound parallel port sound card. QEMM 7.5 no longer loads itself to shadow RAM. Optimize now properly detects hardware on system with network card.


QEMM v7.53 (May 12, 1995)

*Added support for DOS 6.22,
Windows 3.11 Windows 3.1 is a major release of Microsoft Windows. It was released to manufacturing on April 6, 1992, as a successor to Windows 3.0. Like its predecessors, the Windows 3.1 series ran as a shell on top of MS-DOS. Codenamed Janus, Windows 3 ...
and
Windows for Workgroups 3.11 Windows 3.1 is a major release of Microsoft Windows. It was Released-to-manufacturing, released to manufacturing on April 6, 1992, as a successor to Windows 3.0. Like its predecessors, the Windows 3.1 series ran as a Shell (computing), shell ...
. *Maximum RAM is 256MB XMS/256MB EMS. *Improved OPTIMIZE so it finds EMS in hardware detection phase.


QEMM v8.0 (1995-11-04)

* Attempted to support
Windows 95 Windows 95 is a consumer-oriented operating system developed by Microsoft as part of its Windows 9x family of operating systems. The first operating system in the 9x family, it is the successor to Windows 3.1x, and was released to manufacturi ...
. * Updated MagnaRAM 2.02. * QEMM v8.0 did not take full advantage of the new capabilities of Windows 95. It simply acted as if it was Windows 3.11 and relied on Windows 95 being downward compatible with Windows 3.1x. Quarterdeck attempted to better integrate v8.x with Windows 95 with patch v8.01 and the final patch v8.03.


QEMM v8.01 (February 14, 1996)

* Improved support for
Windows 95 Windows 95 is a consumer-oriented operating system developed by Microsoft as part of its Windows 9x family of operating systems. The first operating system in the 9x family, it is the successor to Windows 3.1x, and was released to manufacturi ...
and under-laying DOS 7.00. * Added 4DOS.CMD.


QEMM v8.03 (April 7, 1997)

*Full support for pure DOS 6.22 with Windows 3.11 or Windows for Workgroups 3.11. *Bug fixes including improvements to QEMM386, DOS-Up, LOADHI. *Final official patch to QEMM v8.x (March 25, 1997) back-ports many improvements from soon-to-be released QEMM 97.


QEMM 97 (aka v9.0) (May 15, 1997)

*Full support for Windows 95/98/98SE (not ME). *QEMM v8.03 lacks capabilities under Windows 95 (And doesn't work with Windows 98). *New utilities include MagnaRAM, optimizing Windows 9x paging file.


One Install.exe but two roles

*Run the installer from within Windows, and it will fully integrate QEMM 97 with Windows configuration files and registry updating system.ini, adding QEMM group, auto starting QEMM monitoring, etc. *However, run the installer, install.exe, from a pure DOS (DOS 7.10 or DOS 6.22) without Windows present, and it will configure and install only the DOS utilities; updating only DOS's config.sys and autoexec.bat files.


QEMM Configurations

QEMM provides up to 635K free conventional memory (RAM under 640K), far better than pure MS-DOS
EMM386 EMM386 is the expanded memory manager of Microsoft's MS-DOS, IBM's PC DOS, Digital Research's DR-DOS, and Datalight's ROM-DOS which is used to create expanded memory using extended memory on Intel 80386 CPUs. There also is an EMM386.EXE availa ...
,
FreeDOS FreeDOS (formerly Free-DOS and PD-DOS) is a free software operating system for IBM PC compatible computers. It intends to provide a complete MS-DOS-compatible environment for running legacy software and supporting embedded systems. FreeDOS can ...
JEMM386, UMBPCI and many other memory manager programs. QEMM maximum RAM is 635K free conventional memory with up to 256MB XMS/256MB EMS shared.


MS-DOS 6.22, Windows 3.11/WFW 3.11

QEMM provides the best benefits to MS-DOS 6.22 or older since DOS's. MS-DOS 6.22 provides 619K free conventional memory and up to 64MB XMS/32MB EMS shared RAM. Assuming unaltered MS-DOS 6.22, without 3rd party utilities, i.e. JEMM, UMBPCI, etc. QEMM increases the available free conventional RAM to 635K with shared 256MB XMS/256MB EMS. While using Windows 3.11 or Windows For Workgroups 3.11, QEMM provides additional free conventional memory for DOS Prompt running under Windows. QEMM is well suited for Windows 3.x as has supported for it since QEMM v5.x as early as 1990. As a result, QEMM 8.03 or QEMM 97 integrate very well with Windows 3.11/WFW 3.11.


MS-DOS 7.10, Windows 95 OSR2/Windows 98 SE

QEMM increases the available free conventional RAM for MS-DOS 7.10 and also for DOS Prompt under Windows 95 OSR2/Windows 98 SE. However, QEMM maximum RAM is a shared 256MB XMS/256MB EMS, which is less than what DOS 7.10 and Windows 95/98 support without QEMM. MS-DOS 7.10 provides 624K free conventional memory and up to 1GB XMS/32MB EMS; assuming unaltered MS-DOS, using HIMEM.SYS and EMM386.EXE without any 3rd party utilities. Thus, QEMM is compatible with MS-DOS 7.10 and Windows 9x and provides slightly more free conventional RAM but it does lower the maximum RAM to 256MB XMS/256MB EMS.


Consequences of using or disabling EMS

EMS memory normally uses a 64KB of UMB as the Page Frame, this reduces the total UMB available to DOS. So some recommend turning off EMS, using the NOEMS switch, to increase the total UMB free by 64KB. QEMM supports NOEMS switch, however, it is far better to provide EMS than saving the 64K Page Frame.

QEMM takes advantage of EMS memory and usually will create more free RAM in the lower 1M address space than the 64KB required for EMS. QEMM StealthROM, SqueezeFrame, and Stealth D*Space all require EMS to work by mapping ROM and data buffers into EMS, thus freeing more UMB's.

QEMM's TechNote ''FRAME.TEC'' states: ''"Thus any advice to remove the page frame is penny-wise and pound-foolish. Remember that the page frame is 64K of address space that can be used any program, at any time, to access effectively as much memory as it likes. Some view the page frame as 64K of address space that could be used to hold up 64K of programs, but it is much more useful to consider the page frame as a place to access up to 32 megabytes of code and/or data for the programs that use it."''Quarterdeck Expanded Memory Manager QEMM 8.03 and QEMM 97
, TechNote FRAME.TEC.


Example: 635K Free, shared 256MB XMS/256MB EMS

DOS=HIGH,UMB device=C:\QEMM\dosdata.sys device=C:\QEMM\qemm386.sys R:1 RAM UR=1M-256M ST:M I=b000-b7ff X=f000-ffff device=C:\QEMM\dos-up.sys @C:\QEMM\dos-up.dat shell=C:\QEMM\loadhi.com /R:2 C:\command.com C:\ /P /E:1024 Note: If using VMware, then replace the qemm386.sys line with device=C:\QEMM\qemm386.sys R:1 RAM UR=1M-256M X=e800-e900


Skipping QEMM386 while booting

Hold ALT key during boot and qemm386.sys will not load but prompt to hit Esc to skip loading. Alternatively, hold F5 so DOS skips loading all of config.sys + autoexec.bat or hold F8 so DOS prompt Y/N to confirm each line in config.sys and autoexec.bat; allowing you to skip loading qemm386.sys, dos-up, dosdata, etc. May help while testing new configuration that lead to system lockups. Holding ALT or pressing F5/F8 during boot might be the saving touch!


DOS equivalents

Microsoft released comparable but simpler memory managers of its own - HIMEM.SYS for XMS and EMM386.EXE for EMS with MS-DOS 4.01 in 1989; earlier Windows/386 2.1 included a built-in EMM which offered EMS to DOS windows during Windows sessions only. These versions could not yet create
Upper Memory Block In DOS memory management, the upper memory area (UMA) refers to computer memory, memory between the address space, addresses of 640 Kilobyte, KB and 1024 KB (Hexadecimal, 0xA0000–0xFFFFF) in an IBM PC or compatible. IBM reserved the up ...
s.
Digital Research Digital Research, Inc. (DR or DRI) was a company created by Gary Kildall to market and develop his CP/M operating system and related 8-bit, 16-bit and 32-bit systems like MP/M, Concurrent DOS, FlexOS, Multiuser DOS, DOS Plus, DR DOS and ...
's DR DOS 5.0 (1990) was the first non-vendor-specific DOS to offer the UMB technology, incorporating a 386-mode XMS/EMS manager also called
EMM386 EMM386 is the expanded memory manager of Microsoft's MS-DOS, IBM's PC DOS, Digital Research's DR-DOS, and Datalight's ROM-DOS which is used to create expanded memory using extended memory on Intel 80386 CPUs. There also is an EMM386.EXE availa ...
. It could also allocate some of the video memory or EMS memory as UMB memory. MS-DOS finally offered UMBs in 1991 with version 5.0. MS-DOS's EMM386 required HIMEM to be loaded first, while DR-DOS's EMM386 fulfilled both roles and did not need a separate XMS driver, which was still provided but only needed on 80286-based machines (originally named HIDOS.SYS, later HIMEM.SYS). If an XMS driver was loaded before DR-DOS EMM386, it would use this instead of the built-in XMS manager. Using an external and possibly customized XMS driver could help overcome issues with BIOS memory reporting functions causing the memory manager not to see all available memory, and on machines using non-standard gate-A20 switching methods, whereas using the internal XMS driver EMM386 could take advantage of speed-optimized 32-bit code for the XMS driver and relocate all but a tiny stub of the XMS driver into Extended Memory. DR-DOS EMM386 could fill "free" areas with UMBs or map RAM over unused ROM areas in virtual mode, provide support for DPMI (and - in some special issues - DPMS), and load the support for pre-emptive multitasking and multithreading components of the operating system.


Windows transition / Decline of QEMM

While popular when DOS programs were the mainstream, QEMM eventually became largely irrelevant as Windows programs and DOS games using
DOS extender A DOS extender is a computer software program running under DOS that enables software to run in a protected mode environment even though the host operating system is only capable of operating in real mode. DOS extenders were initially develope ...
s replaced traditional DOS programs for most users. Also, some of the DOS users switched to protected mode operating systems unsupported by QEMM, such as the
Windows NT Windows NT is a proprietary graphical operating system produced by Microsoft, the first version of which was released on July 27, 1993. It is a processor-independent, multiprocessing and multi-user operating system. The first version of Win ...
series and
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
. The final version was QEMM 97, which was compatible with
Windows 95 Windows 95 is a consumer-oriented operating system developed by Microsoft as part of its Windows 9x family of operating systems. The first operating system in the 9x family, it is the successor to Windows 3.1x, and was released to manufacturi ...
and later
Windows 98 Windows 98 is a consumer-oriented operating system developed by Microsoft as part of its Windows 9x family of Microsoft Windows operating systems. The second operating system in the 9x line, it is the successor to Windows 95, and was released to ...
/ ME, but by this point, not only was DOS memory management no longer in high demand, but the remaining competitive DOS applications (including various
GNU GNU () is an extensive collection of free software (383 packages as of January 2022), which can be used as an operating system or can be used in parts with other operating systems. The use of the completed GNU tools led to the family of operat ...
utilities and text editors) supported EMS, XMS, or DPMI - which reduced demand for conventional memory - or had been ported to Windows 95 or higher. The availability of increasing RAM sizes at low cost served to reduce the need of MagnaRAM. Finally, modern PCI
chipsets In a computer system, a chipset is a set of electronic components in one or more integrated circuits known as a "Data Flow Management System" that manages the data flow between the processor, memory and peripherals. It is usually found on the mo ...
provide documented functionality to remove write protection from unused UMA; in many or most cases, this last fact eliminates the need for QEMM for even those relatively few users who use DOS applications and who might otherwise find QEMM essential.


See also

* Real mode *
Unreal mode In x86 computing, unreal mode, also big real mode, huge real mode, flat real mode, or voodoo mode is a variant of real mode, in which one or more segment descriptors has been loaded with non-standard values, like 32-bit limits allowing access to ...
* Protected mode *
Conventional memory In DOS memory management, conventional memory, also called base memory, is the first 640 kilobytes of the memory on IBM PC or compatible systems. It is the read-write memory directly addressable by the processor for use by the operating system ...
*
Extended memory In DOS memory management, extended memory refers to memory above the first megabyte (220 bytes) of address space in an IBM PC or compatible with an 80286 or later processor. The term is mainly used under the DOS and Windows operating systems. D ...
(XMS) *
Expanded memory In DOS memory management, expanded memory is a system of bank switching that provided additional memory to DOS programs beyond the limit of conventional memory (640 KiB). ''Expanded memory'' is an umbrella term for several incompatible tec ...
(EMS) *
High Memory Area In DOS memory management, the high memory area (HMA) is the RAM area consisting of the first 65520 bytes above the one megabyte in an IBM AT or compatible computer. In real mode, the segmentation architecture of the Intel 8086 and subsequen ...
(HMA) *
Upper Memory Block In DOS memory management, the upper memory area (UMA) refers to computer memory, memory between the address space, addresses of 640 Kilobyte, KB and 1024 KB (Hexadecimal, 0xA0000–0xFFFFF) in an IBM PC or compatible. IBM reserved the up ...
(UMB) *
DOS Protected Mode Interface In computing, the DOS Protected Mode Interface (DPMI) is a specification introduced in 1989 which allows a DOS program to run in protected mode, giving access to many features of the new PC processors of the time not available in real mode. It w ...
(DPMI) * 640k barrier *
DESQview DESQview (DV) is a text mode multitasking operating environment developed by Quarterdeck Office Systems which enjoyed modest popularity in the late 1980s and early 1990s. Running on top of DOS, it allows users to run multiple programs concurrentl ...


References


Further reading

*{{cite journal , title=QPI: The QEMM-386 Programming Interface , author-first1=Ralf D. , author-last1=Brown , author-link1=Ralf D. Brown , author-first2=Andrew , author-last2=Schulman , series=Undocumented Corner , date=July 1994 , journal= Dr. Dobb's Journal , location=San Mateo, California , pages=123–131 , url=https://www.cs.cmu.edu/~ralf/papers/qpi.txt , access-date=2017-08-23 , url-status=live , archive-url=https://web.archive.org/web/20170823173501/https://www.cs.cmu.edu/~ralf/papers/qpi.txt , archive-date=2017-08-23
Ralf Brown's Interrupt List
* Unauthorized Windows 95 (Andrew Schulman), 1st Ed. * ''Dr. Dobb's Journal'', Undocumented Corner section in particular * Intel PCIset and Processor manuals * source code and binaries of HIMEM, EMM386, DOS, UMBPCI and others; * QEMM documentation Expanded memory managers