Notes on Windows 3.0 and High Memory ************************************ As you may have discovered, the standard and 386 enhanced modes of Windows 3.0 are incompatible with 386 control programs like QEMM and 386-to-the-Max, and like Windows/386 2.1 before it, the latest release of Windows provides no "high memory" features. While this absence makes little difference to Windows applications, it does affect the maximum size of any DOS windows opened under the 386 enhanced mode of Windows 3.0. On many 386 machines, however, it is possible to endow a Windows 3.0 environment with high memory by loading either Quarterdeck's QRAM or Quantilas' Move'em AFTER Microsoft's HIMEM driver. Designed as memory enhancement products for 286 machines, these control programs do not attempt to access protected mode in any manner that conflicts with either Windows 3.0 (or Windows/386 2.1 for that matter). The conventional memory one saves by loading device drivers and TSRs into high memory, while insignificant as far as Windows is concerned, can be of critical significance when attempting to run standard DOS applications in Windows 3.0's enhanced 386 mode. The following are the contents of typical config and autoexec files, with and without the high memory produced by Move'em (the syntax is somewhat different for QRAM, but the results are similiar): Without high memory ******************* STACKS=0,0 FILES=30 BUFFERS=3 DEVICE=C:\HIMEM.SYS DEVICE=C:\WINDOWS\SMARTDRV.SYS 2048 512 DEVICE=C:\WINDOWS\RAMDRIVE.SYS 1024 /E DEVICE=C:\DOS\ANSI.SYS DEVICE=C:\DOS\MOUSE.SYS INSTALL=C:\DOS\SHARE.EXE SHELL=C:\COMMAND.COM /P /E:256 CLS SET TEMP=E:\ PATH C:\;C:\DOS;C:\WINDOWS PROMPT $P$  C:\DOS\DOSKEY.COM C:\DOS\MODE.EXE LPT1:,,P C:\DOS\MODE.EXE COM1: 9600,N,8,1 C:\DOS\MODE.EXE COM2: 9600,N,8,1 CLS With high memory **************** STACKS=0,0 FILES=30 BUFFERS=3 DEVICE=C:\HIMEM.SYS DEVICE=C:\MOVE'EM.MGR EXCLUDE=E000-EFFF DEVICE=C:\DOS\MOVE'EM.SYS PROG=C:\WINDOWS\SMARTDRV.SYS 2048 512 DEVICE=C:\DOS\MOVE'EM.SYS PROG=C:\WINDOWS\RAMDRIVE.SYS 1024 /E DEVICE=C:\DOS\MOVE'EM.SYS PROG=C:\DOS\ANSI.SYS DEVICE=C:\DOS\MOVE'EM.SYS PROG=C:\DOS\MOUSE.SYS SHELL=C:\COMMAND.COM /P /E:256 CLS SET TEMP=E:\ PATH C:\;C:\DOS;C:\WINDOWS PROMPT $P$  C:\DOS\MOVE'EM.COM PROG=C:\DOS\MODE.EXE LPT1:,,P C:\DOS\MOVE'EM.COM PROG=C:\DOS\DOSKEY.COM C:\DOS\MOVE'EM.COM PROG=C:\DOS\SHARE.EXE C:\DOS\MODE.EXE COM1: 9600,N,8,1 C:\DOS\MODE.EXE COM2: 9600,N,8,1 CLS (The 64K area from E000 to EFFF excluded on the Move'em load statement above leaves a page frame for Windows 3.0's own internal EMM manager, and a pointer to that area can be added to the system.ini file.) In this example, on a 386 with 4 MB of memory and a VGA1024 card, running under DOS 4.01, Move'em produces 96Kb of non-conflictual high memory, where some 40Kb worth of device drivers and TSRs are loaded, thus relieving the drain on conventional memory by just that much. Without any high memory, the maximum executable program size under DOS is 535Kb, while in a DOS window under Windows 3.0, you are left with 522Kb; the same setup with high memory, leaves a maximum executable program size of 579Kb under DOS, and 558Kb for a DOS window under Windows 3.0. The 36Kb saved can make all the difference between running an application inside Windows 3.0, and having to exit the environment altogether. Note that when loaded in high memory some device drivers and TSRs conflict with the environment Windows 3.0 attempts to create (the files.com utility packaged with QRAM, for example), so a trial-and- error approach is necessary. But even if the only device driver or TSR you find you can load in high memory is Smartdriv, you'll still have relieved your conventional memory drain by 20Kb. Ashley Saldanha 72677,2370