The biggest problem (aside from the fact that you need to remove as many TSRs and device drivers as possible to free up memory) is the fact that the games appear to be unable to detect and use XMS for data storage, only EMS seems to work.
Well, today I decided to look up the specification of the XMS driver calls that the ID Memory Manager uses when trying to allocate XMS memory. That's where I found this:
And sure enough, after modifying the startup files of my primary DOS system, this is what the startup screen for Keen 4 looks like:Under DOS 5+, if CONFIG.SYS contains the line DOS=UMB, then no upper memory blocks will be available for allocation because all blocks have been grabbed by MS-DOS while booting.
It doesn't reach quite the amount of memory available to the game under DOSBox (which is 513k), but 507k is about as close as it gets. I am running MS-DOS 6.22 on that system, so perhaps you could gain a little more memory by replacing DOS 6.22's HIMEM.SYS and EMM386.EXE with third-party memory managers.
For reference, this is what my CONFIG.SYS looks like on that DOS 6.22 machine:
Code: Select all
DEVICE=C:\DOS\HIMEM.SYS /TESTMEM:OFF DEVICE=C:\DOS\EMM386.EXE RAM I=B000-B7FF DOS=HIGH,NOUMB BUFFERS=15,0 FILES=30 LASTDRIVE=E FCBS=4,0