BAHN (earlier versions) under Windows95

When run in a standard DOS prompt under Windows95, I found the memory allocation to be rather limited - insufficient for running some of the more interesting layouts distributed. The information that comes with Windows95 on this topic seems wholly inadequate, but I finally got sight of the manual that comes with the Win95 resource kit, and it appears that memory management procedures in Win95 look much the same as they were in Win3.1 even, and by following similar guidelines it's possible to get a great deal more memory available in the conventional memory area for a DOS program like BAHN.

The procedure involves modifying CONFIG.SYS and AUTOEXEC.BAT. I take no responsibility for this! At least before you attempt this, please make sure that you have the necessary parachute, e.g a Win95 emergency startup diskette. If you didn't make one before, then make one now, using the appropriate subpage of the ControlPanel item "Add-Remove Programs". It would be useful to copy your original W95 hard-disk autoexec.bat/config.sys files to a private subdirectory of the diskette as backup copies (don't confuse them with any "live" config.sys/autoexec.bat files that are on the diskette!). If all else fails, then boot up the PC from the diskette and copy the original versions back to the hard disk, and then you should be OK for a fresh assault on the problem. So far (fingers crossed) all has gone fine for me, but that's not to say that things won't go sad in the end.

Now edit the hard-disk CONFIG.SYS to add the devices HIMEM.SYS and EMM386.EXE, in that order, with appropriate options, and the DOS=HIGH,UMB command. Ensure that any devices here are loaded with DEVICEHIGH (not DEVICE) commands.

EMM386.EXE should be loaded at least with the RAM option. It had been my experience with Win3.1 that the address range b000-b7ff was unused, and that it could be explicitly included in the area made available to EMM386 by means of the option /i=b000-b7ff: as far as I can see, this is also true of Win95, and I have added the option here too. Naturally, you mustn't do that if you have some memory-mapping I/O device that has been assigned to that memory range already!!!

The resulting CONFIG.SYS (including the device driver for my CD ROM) now looks like this:

device=c:\windows\himem.sys
device=c:\windows\emm386.exe ram /i=b000-b7ff
dos=high,umb
devicehigh=C:\imes_cd.SYS /D:OEMCD001
devicehigh=C:\WINDOWS\COMMAND\display.sys con=(ega,,1)
Country=044,850,C:\WINDOWS\COMMAND\country.sys
Further, in AUTOEXEC.BAT it should be ensured that any commands should use LH (loadhigh). My own AUTOEXEC.BAT now looks like this (omitting the commented-out stuff created "by Windows Setup", and a few environment-setting commands that have nothing to do with the present issue):
mode con codepage prepare=((850) C:\WINDOWS\COMMAND\ega.cpi)
mode con codepage select=850
lh keyb uk,,C:\WINDOWS\COMMAND\keyboard.sys
After this effort I am rewarded with the free area in conventional memory being 624,272, which is a considerable improvement on the 557,552 that I had before.

I suppose it would be asking too much to want MS to set up this arcane stuff sensibly without being asked, as part of the installation procedure?


[Up] [Rag-Bag][Me]

Original materials © Copyright 1994 - 2006 A.J.Flavell