[comp.windows.ms] How to make slow memory useful

jonathan@jspc.wimsey.bc.ca (Jonathan Story) (10/12/90)

    I have 8 Mb on my 386 25MHz motherboard.  The problem enters with a
4Mb Aboveboard+ that's lying around.  Because it is accessed through the
expansion bus, using it slows everything down.

    What I'd like to do is use this slow memory for a disk cache, RAM
disk, and whatnot, thus freeing more of the fast memory for programs that
benefit most from quick access times.  I also want to use Windows in its
enhanced mode.  So here's what I've tried to do, and what happened:

    First, the 4M was turned into EMS 4.0 memory (using Intel's EMM.SYS). 
A generous portion was allocated to Smartdrv and to Ramdrive, with a little
bit left over for programs that like EMS.  Windows was then invoked but
came up in Standard (?) mode.  I tried "win /3" to force enhanced mode, but
Windows aborted, complaining that it couldn't load its own EMS driver. 
Undaunted, I edited SYSTEM.INI, adding the line "NoEMMDriver=true", but
again Windows didn't seem to care.

    Question 1:  Is there any way Windows can be persuaded to run in
enhanced mode under the above conditions?

    Second attempt.  The Aboveboard memory was changed to become ordinary
extended memory, continuing from the 8M address.  Assuming that extended
memory is allocated from the top of available memory, after loading the
HIMEM.SYS driver I then split 4 megabytes between Smartdrv and Ramdrive. 
I _thought_ this would have used up the slow Aboveboard memory and left
the rest.  Subsequent tests seem to indicate that, on the contrary, HIMEM
apportions the fastest memory first (or else uses extended memory from the
_lowest_ available address).

    Question 2:  In what order does HIMEM.SYS release extended memory?

    Question 3:  Is there a way for Smartdrv and Ramdrive (or some
replacement) to DEMAND to use the slowest/highest RAM?

    Question 4:  Is there a way to get HIMEM.SYS, or some other extended
memory manager compatible with Windows 3, to change its allocation
behaviour?

    It isn't that I actually need the extra 4M, but (even if the AB is
sold) this kind of information is nice to know.  Thanks for any help.