BASIC CONSIDERATIONS -- DOS programs are designed to use memory in one of three ways: Most programs written BEFORE about 1994 that didn't fit in conventional memory required expanded memory. Those written AFTER about 1995 generally use the DOS4GW method. This latter method is actually compatible with Windows-95/98, but in some cases, a hardware call that conflicts with Windows messes things up, and MS-DOS mode becomes necesssary. Programs using the first OR third scheme can generally run in the same memory scheme, but programs using EXPANDED memory require this to be enabled in the CONFIG.SYS file. The method recommended by Microsoft is dead wrong. They advocate either enabling expanded memory in the default CONFIG.SYS file (which CAN occasionally conflict with Windows) OR setting up a Windows shortcut to the program, whose properties specify that it is to be run in MS-DOS mode with its own private configuration file. There are two problems with this method: What Windows does if this method is enabled is to "temporarily" write new startup files, reboot, run the program, restore the normal files and reboot again. So if the program crashes before exiting normally, the normal system files are never restored. The workaround is this: First back up your existing AUTOEXEC.BAT and CONFIG.SYS files (e.g. COPY AUTOEXEC.BAT AUTOEXEC.STD and COPY CONFIG.SYS CONFIG.STD). Then edit your AUTOEXEC.BAT file. First of all, be sure you add the lines in your C:\WINDOWS\DOSSTART.BAT file to the end of your AUTOEXEC.BAT file. Then modify your MSCDEX line to add the "/E" switch When you've done all this consider this question -- How often will you actually run programs neediing expanded memory? If this will be less than about once a month, I would recommend setting up a boot floppy and copy the optimized files to that floppy. JUST BE SURE THAT WHEN YOU COPY THE FILES, MAKE SURE THAT ALL REFERENCES TO FILES BEGIN WITH "C:\" (e. g. DEVICE=C:\WINDOWS\HIMEM.SYS, LOADHIGH XXXX C:\WINDOWS\...(you get the point). Otherwise the boot programs will look for the files on the A: drive. Whenever you need to run an expanded-memory program, just boot to the floppy. When you boot to the floppy in this manner, Windows is not started. You can go right into your DOS program. Now rename the optimized files to AUTOEXEC.EMS and CONFIG.EMS and restore the previously saved files (REN AUTOEXEC.STD AUTOEXEC.BAT and REN CONFIG.STD CONFIG.SYS) and move the mouse line, the CDROM line and the Soundcard initialization lines from the AUTOEXEC.BAT to the C:\WINDOWS\DOSSTART.BAT file that you will create anew (remember you saved the old file under the name DOSSTART.OLD). Next, edit the MSDOS.SYS file, removing the BootMenu=1 and BootMenuDefault lines. You're done! If done in this manner, Windows will start just as it did before. For MSDOS programs that are not compliant with Windows, restart the computer in MSDOS mode. Just to be safe, execute a MEM command once you're in MSDOS mode just to be sure that you have ther memory you require. (Occasionally if you've been running a lot of Windows programs first, the memory optimization gets messed up. -- The cure is reboot followed by immediate shutdown to MSDOS mode.) If the program requires expanded memory, boot the system to your EMS-enabling floppy you just created and run the program. If you're a die-hard DOS-aholic who uses these programs a lot and are not afraid of multiple configuration files, then Click here. |