ID:E4 EMS 4.0 boards and DESQview Quarterdeck Technical Note #136 by Dan Sallitt Q: Why won't my EMS 4.0 board give me a Largest Available Expanded Memory size greater than 0K? The Largest Available Expanded Memory value indicates the largest chunk of expanded memory that can be used to run a program in. When this value is 0, no program can run in expanded memory; multitasking can only occur in conventional memory. Three things are necessary before any expanded memory board can be used for multitasking with DESQview. 1) At least some memory below 640K must be able to take an expanded memory map; it must have expanded memory management hardware associated with it. For purchasers of expanded memory boards for the PC, XT, and 286 AT, this means disabling motherboard memory below 640K and filling out main memory with the expanded memory board. The more memory disabled and backfilled, the larger a chunk of expanded memory can be grabbed at one time to run a program in. 2) The board must be capable of mapping pages of expanded memory below 640K. If the board can't map pages of expanded memory below 640K, there's no point in disabling main memory. If the board can't map pages of expanded memory below, say, 256K, there's no point in disabling main memory below 256K. 3) The driver that manages the expanded memory on the board must be capable of mapping pages of expanded memory below 640K. Here again, any limitation on the driver's power is a limitation on the whole process. If these three conditions are met, the Largest Available Expanded Memory value will be equal to the amount of expanded memory that has been mapped below 640K. For purchasers of expanded memory boards, this means that the Largest Available Expanded Memory value will be equal to the quantity of memory that has been disabled on the motherboard and "backfilled" from the expanded memory board. (This exact equivalence is always the case for users with EGA and VGA boards. Due to DESQview's ability to map additional memory into available video areas above 640K, users of monochrome and Hercules video cards may see a Largest Available figure that is 64K greater than the size of the backfill; CGA users may see a figure 96K greater.) The catch: properties #2 and #3 are OPTIONAL for boards that meet the Expanded Memory Specification 4.0 (EMS 4.0). Let the buyer beware. DESQview (and QRAM as well) would also like expanded memory hardware and software to permit the mapping of pages of expanded memory anywhere between 640K and 1024K. This property is very helpful in increasing the size of Largest Available Conventional Memory in DESQview, and the Largest Available Conventional Memory at the start of DESQview is an upper limit on Largest Available Expanded Memory. Again, this property is optional for boards that meet the EMS 4.0 specification. It is worth repeating that even with a Largest Available Expanded Memory value of 0 you can still multitask as many programs as will fit in conventional memory; and you can still swap multiple programs in and out of expanded memory very quickly. The one thing you cannot do with a Largest Available Expanded Memory value of 0 is to multitask programs in expanded memory. Programs that are swapped to expanded memory under these circumstances are frozen until you swap them back into conventional memory. Copyright (C) 1991 by Quarterdeck Office Systems * * * E N D O F F I L E * * *