ID:NO QRAM and "Nothing Useful To Do" Quarterdeck Technical Note #147 by Bob Perry A. As described on page 1 of your QRAM manual, QRAM has been written to perform the following four basic functions on your 80286, 8086 or 8088-based PC: 1. On PC's with EMS 4 or EEMS expanded memory hardware, QRAM converts any EXTRA memory spaces your system may have within the high memory address range (640K to 1024K, or A000-FFFF hex) into High RAM so you can load and run programs there with LOADHI, as described in Chapter 4 of your QRAM manual. 2. On 80286 PC's with Chips & Technologies NEAT CHIPSet shadow RAM, QRAM will do the same as item #1 above, as described on page 9 of your QRAM manual, even if you don't have an expanded memory card. 3. QRAM enables a user willing to forgo the enhanced graphics capabilities permitted by EGA and VGA adapter cards, or users with monochrome or CGA adapters, to increase the memory used by DOS by as much as 96K. For more information on this feature refer to page 11 (the NOVIDEOFILL parameter) and page 25 (the VIDRAM program), in your QRAM manual. 4. On machines that have one, QRAM automatically moves the eXtended BIOS Data Area (XBDA), which is normally at 639K, into another address space. Doing so usually enables other memory management features, such as extending the memory available to DOS using the VIDRAM.COM program, and allowing larger programs to run in the background in DESQview. B. If QRAM determines that none of the above four functions of the program can be performed on your system, it will display a "nothing useful to do" message to the user. What can the user do about this message? After reading Appendix A in your QRAM manual, page 37, consider the following: 1. In order for QRAM to "find something useful to do", there must be MORE THAN 64K of memory spaces available within the 640K to 1024K memory address range. The first 64K is used for the "page frame", or port hole into the expanded memory pool, and cannot, by default, be used by QRAM. See pages 11, 37, and 46 or your QRAM manual, and section "C" of this technical note on the subject of using the FRAMELENGTH=0 parameter. 2. Perhaps you have not configured your expanded memory card correctly to allow more than 64K of memory space above 640K. Consult the documentation which came with your memory board, or the memory board manufacturer, and be sure all switch settings or software setup options have been correctly enabled. If you use Manifest to examine the expanded memory, you can compare your Expanded Pages map with those listed in Appendix D of the QRAM manual. 3. Some memory managers (and early versions of other managers) will only allow CONTIGUOUS memory areas to be mapped. With these drivers, moving their page frame as LOW as possible, C000 for example, will allow the rest of the memory regions to be used by QRAM. Consult your documentation and/or memory board manufacturer. 4. Another possibility is that your shadow RAM has not been enabled. Again, your documentation or manufacturer might be of assistance here. If your Shadow RAM is not enabled, then QRAM can't use it. 5. QRAM works with your Expanded Memory Manager (EMM.SYS). Often a simple typographical error in your CONFIG.SYS can prevent your expanded memory manager from loading. Be certain your CONFIG.SYS file contains a line: "device=EMM.SYS" where the spelling of the EMM driver matches the one you have installed on your system. Watch carefully for a banner or statement on the screen saying that it has been loaded when you reboot your system. 6. Some expanded memory boards, and motherboards with expanded memory hardware, supply an EMS 4 driver even though the expanded memory hardware cannot provide more that 64K of expanded memory at a time. These systems give software applications the ability to access expanded memory, but the hardware cannot provide the extra support for more mappable pages. QRAM needs more mappable pages. Some board manufacturers offer upgrade option chips which will enhance their hardware support. Contact your board manufacturer to see whether this is an option for you. C. If you are NOT going to be using expanded memory in your programs, QRAM can be made to use your single 64K page frame as an area of High RAM. This is done using the FRAMELENGTH=0 parameter, as described in your QRAM manual. Other programs will no longer be able to detect expanded memory, but you will be able to use LOADHI to get about 64K of resident programs out of your conventional memory (below 640K). Copyright (C) 1991 by Quarterdeck Office Systems * * * E N D O F F I L E * * *