Hello AOL members, I think that I have discovered an interesting anomaly in the MSCDEX driver. We use a CADD program, as well as a scanner, tape... on and on. When we added our CD-ROM we found that we had to play the memory mambo to get our CADD program to run (they are notorious memory hogs - ours need 545K +/- to load). We just managed to keep everything running when Artisoft decided that they needed more of our precious RAM to support their very minor upgrade to v5.0 (an unwarranted full version upgrade if I ever saw one, 800-TinyRam my &*#$.) Back to the drawing board. Now comes the part that we can All use. if you are suffering RAM cram anywhere near as bad as we are, DO NOT follow conventional wisdom, loading MSCDEX first in your Autoexec.bat file. Doing so will only cost you additional RAM to no benefit that we have been able to determine. We managed to save 23K of upper memory to use for other programs just by Moving MSCDEX to where we were told not to. I hope that the following list illustrate what can be done to squeeze every drop for your precious DOS programs. Until we see a CADD that can run properly (quickly, no blindingly fast) in Windows, we'll stay with DOS and all it's warts. Incidentally, some of you eagle eyes are going to see some odd combinations here... rest assured this is a compression of a multi-config. It runs Very well in its native state, I didn't feel like manually rewriting lines that had no bearing on our results. Yes, we know that there is no point in telling the CD-ROM to use EMM if we've shut it off in our EMM386 command line. Just pay attention to the good stuff, and stop being so picky... . If I thought I could sell this, I'd be happy to check for grammar errors. ATTEMPT 1 This represents the first placement tried. As the asterisk noted items point out, Mouse and Smartdrv are (properly) following MSCDEX. As mem reveals, MSCDEX's size comes in at 55K, exactly what we showed when it was loaded low. Though this is an improvement, we still could not get the CADD to run. We threw out Artisoft, and made the Switch to Windows for Workgroups (which is a story in itself) and finally we had met our minimum. We are still dangerously close to our CADD program's lower limit of 545K. We have 26K of upper memory still available, and decided to rearrange to see if we could force the mouse high, before we began the excruciating process of trading the small Config.sys drivers in and out for best fit. device=c:\himem.sys dos=high,umb device=c:\emm386.exe i=b000-b7ff i=d000-f7ff x=cc00-cfff noems ram devicehigh=c:\setver.exe switches=/f shell=c:\command.com /p /e:512 /f devicehigh=c:\calera\deskscan\sjii.sys devicehigh=d:\games\pas16\mvsound.sys D:7 Q:11 J:0 devicehigh=d:\games\pas16\tslcdr.sys /d:mvcd001 /r /p:3 devicehigh=c:\dos\dblspace.sys /move devicehigh=C:\WIN\protman.dos /i:C:\WIN devicehigh=C:\WIN\workgrp.sys devicehigh=C:\WIN\ne2000.dos DEVICE=c:\ndw\NAV&.SYS /b devicehigh=c:\ansi.sys files=65 buffers=40 fcbs=16,8 stacks=9,256 lastdrive=s prompt $p$g PATH c:\;c:\WIN;e:\win;c:\ndw;c:\dos;c:\calera\bin;e:\dos\me;c:\ndw\nu;e:\nu c:\ndw\nu\image c: d: e: /noback c:\share.exe /L:200 c:\win\net start **lh d:\games\pas16\mscdex.exe /d:mvcd001 /e /s /m:20 /L:R /V **c:\smartdrv.exe 4096 2048 **lh c:\mouse.com set TEMP=c:\win\temp set NU=c:\NDW\nu set nbackup=e:\nu\nb set TELIX=c:\TELIX set close-up=c:\telix\closeup set PC3ID=CO c:\ndw\nu\smartcan /on lh c:\vvesa.com > nul d:\games\pas16\pas turn enhanced bass on d:\games\pas16\pas turn enhanced treble on d:\games\pas16\pas set vol to 75 nc Modules using memory below 1 MB: Name Total = Conventional + Upper Memory -------- ---------------- ---------------- ---------------- MSDOS 20141 (20K) 20141 (20K) 0 (0K) MENU 192 (0K) 192 (0K) 0 (0K) HIMEM 1168 (1K) 1168 (1K) 0 (0K) EMM386 3120 (3K) 3120 (3K) 0 (0K) NAV& 8160 (8K) 8160 (8K) 0 (0K) COMMAND 3248 (3K) 3248 (3K) 0 (0K) SHARE 8496 (8K) 8496 (8K) 0 (0K) **SMARTDRV 31904 (31K) 15504 (15K) 16400 (16K) only half high, now **MOUSE 17088 (17K) 17088 (17K) 0 (0K) NC 13168 (13K) 13168 (13K) 0 (0K) COMMAND 3168 (3K) 3168 (3K) 0 (0K) SMARTCAN 10192 (10K) 0 (0K) 10192 (10K) VVESA 3280 (3K) 0 (0K) 3280 (3K) SETVER 704 (1K) 0 (0K) 704 (1K) SJII 7392 (7K) 0 (0K) 7392 (7K) MVSOUND 10800 (11K) 0 (0K) 10800 (11K) TSLCDR 12736 (12K) 0 (0K) 12736 (12K) DBLSPACE 44352 (43K) 0 (0K) 44352 (43K) PROTMAN 128 (0K) 0 (0K) 128 (0K) WORKGRP 4368 (4K) 0 (0K) 4368 (4K) NE2000 9152 (9K) 0 (0K) 9152 (9K) ANSI 4368 (4K) 0 (0K) 4368 (4K) **MSCDEX 57248 (56K) 0 (0K) 57248 (56K) moved high Free 588592 (575K) **561696**(549K) 26896 (26K) Memory Summary: Type of Memory Total = Used + Free ---------------- ----------------- ----------------- ----------------- Conventional 655360 (640K) 93664 (91K) 561696 (549K) Upper 208016 (203K) 181120 (177K) 26896 (26K) Adapter RAM/ROM 0 (0K) 0 (0K) 0 (0K) Extended (XMS) 15258480 (14901K) 4432752 (4329K) 10825728 (10572K) ---------------- ----------------- ----------------- ----------------- Total memory 16121856 (15744K) 4707536 (4597K) 11414320 (11147K) Total under 1 MB 863376 (843K) 274784 (268K) 588592 (575K) ATTEMPT 2 This represents the second placement tried. As the asterisk noted items point out, Mouse and Smartdrv were moved Ahead of MSCDEX. As mem reveals, MSCDEX's Size has Decreased significantly, down to 36K from 55K, originally. Overall memory improves as well, as Smartdrv now fully loads high. We still need to get mouse.com high, and obviously (?) have the room for it with 32K still available in high memory. We just need to figure out how to get there. Incidentally - How, exactly, can a device driver, namely MSCDEX, SHRINK? If you have the answer, Please E-mail me (are you out there Microsoft? The thought of spending an hour on hold, just to ask an academic question, doesn't appeal to me). prompt $p$g PATH c:\;c:\WIN;e:\win;c:\ndw;c:\dos;c:\calera\bin;e:\dos\me;c:\ndw\nu;e:\nu c:\ndw\nu\image c: d: e: /noback c:\share.exe /L:200 c:\win\net start **c:\smartdrv.exe 4096 2048 **lh c:\mouse.com **lh d:\games\pas16\mscdex.exe /d:mvcd001 /e /s /m:20 /L:R /V set TEMP=c:\win\temp set NU=c:\NDW\nu set nbackup=e:\nu\nb set TELIX=c:\TELIX set close-up=c:\telix\closeup set PC3ID=CO c:\ndw\nu\smartcan /on lh c:\vvesa.com > nul d:\games\pas16\pas turn enhanced bass on d:\games\pas16\pas turn enhanced treble on d:\games\pas16\pas set vol to 75 nc Modules using memory below 1 MB: Name Total = Conventional + Upper Memory -------- ---------------- ---------------- ---------------- MSDOS 20141 (20K) 20141 (20K) 0 (0K) MENU 192 (0K) 192 (0K) 0 (0K) HIMEM 1168 (1K) 1168 (1K) 0 (0K) EMM386 3120 (3K) 3120 (3K) 0 (0K) NAV& 8160 (8K) 8160 (8K) 0 (0K) COMMAND 3248 (3K) 3248 (3K) 0 (0K) SHARE 8496 (8K) 8496 (8K) 0 (0K) **MOUSE 17088 (17K) 17088 (17K) 0 (0K) NC 13168 (13K) 13168 (13K) 0 (0K) COMMAND 3168 (3K) 3168 (3K) 0 (0K) SMARTCAN 10192 (10K) 0 (0K) 10192 (10K) VVESA 3280 (3K) 0 (0K) 3280 (3K) SETVER 704 (1K) 0 (0K) 704 (1K) SJII 7392 (7K) 0 (0K) 7392 (7K) MVSOUND 10800 (11K) 0 (0K) 10800 (11K) TSLCDR 12736 (12K) 0 (0K) 12736 (12K) DBLSPACE 44352 (43K) 0 (0K) 44352 (43K) PROTMAN 128 (0K) 0 (0K) 128 (0K) WORKGRP 4368 (4K) 0 (0K) 4368 (4K) NE2000 9152 (9K) 0 (0K) 9152 (9K) ANSI 4368 (4K) 0 (0K) 4368 (4K) **SMARTDRV 31888 (31K) 0 (0K) 31888 (31K) Smartdrv fully loads high **MSCDEX 36576 (36K) 0 (0K) 36576 (36K) Free 609280 (595K) **577200**(564K) 32080 (31K) Memory Summary: Type of Memory Total = Used + Free ---------------- ----------------- ----------------- ----------------- Conventional 655360 (640K) 78160 (76K) 577200 (564K) Upper 208016 (203K) 175936 (172K) 32080 (31K) Adapter RAM/ROM 0 (0K) 0 (0K) 0 (0K) Extended (XMS) 15258480 (14901K) 4432752 (4329K) 10825728 (10572K) ---------------- ----------------- ----------------- ----------------- Total memory 16121856 (15744K) 4686848 (4577K) 11435008 (11167K) Total under 1 MB 863376 (843K) 254096 (248K) 609280 (595K) ATTEMPT 3 This represents the end of the experimentation so far. Mouse was moved ahead of Smartdrv, maintaining MSCDEX last. As mem reveals, MSCDEX's size has decreased again, this time to 26K. I'll reiterate, down from a high of 55K if you follow common wisdom, and the MS Memmaker instructions, of putting programs with the largest load sizes first in line. MSCDEX can seemingly be moved to anywhere it will run (it will finally refuse to run if you swipe enough memory) and save you up to 23K in the process. My best case was also a worst case, i.e., when Artisoft decided to increase the memory size of ALL their files, causing my CADD program to die of memory starvation, I began this odyssey. Before giving up on Artisoft altogether and switching to Windows for WorkGroups, I had MSCDEX down to 23K in upper memory. For all I know, there are other MS programs that behave this way. prompt $p$g PATH c:\;c:\WIN;e:\win;c:\ndw;c:\dos;c:\calera\bin;e:\dos\me;c:\ndw\nu;e:\nu c:\ndw\nu\image c: d: e: /noback c:\share.exe /L:200 c:\win\net start ***lh c:\mouse.com ***c:\smartdrv.exe 4096 2048 ***lh d:\games\pas16\mscdex.exe /d:mvcd001 /e /s /m:20 /L:R /V set TEMP=c:\win\temp set NU=c:\NDW\nu set nbackup=e:\nu\nb set TELIX=c:\TELIX set close-up=c:\telix\closeup set PC3ID=CO c:\ndw\nu\smartcan /on lh c:\vvesa.com > nul d:\games\pas16\pas turn enhanced bass on d:\games\pas16\pas turn enhanced treble on d:\games\pas16\pas set vol to 75 nc Modules using memory below 1 MB: Name Total = Conventional + Upper Memory -------- ---------------- ---------------- ---------------- MSDOS 20141 (20K) 20141 (20K) 0 (0K) MENU 192 (0K) 192 (0K) 0 (0K) HIMEM 1168 (1K) 1168 (1K) 0 (0K) EMM386 3120 (3K) 3120 (3K) 0 (0K) NAV& 8160 (8K) 8160 (8K) 0 (0K) COMMAND 3248 (3K) 3248 (3K) 0 (0K) SHARE 8496 (8K) 8496 (8K) 0 (0K) NC 13168 (13K) 13168 (13K) 0 (0K) COMMAND 3168 (3K) 3168 (3K) 0 (0K) **MSCDEX 26256 (26K) 0 (0K) 26256 (26K) VVESA 3280 (3K) 0 (0K) 3280 (3K) SMARTCAN 10192 (10K) 0 (0K) 10192 (10K) SETVER 704 (1K) 0 (0K) 704 (1K) SJII 7392 (7K) 0 (0K) 7392 (7K) MVSOUND 10800 (11K) 0 (0K) 10800 (11K) TSLCDR 12736 (12K) 0 (0K) 12736 (12K) DBLSPACE 44352 (43K) 0 (0K) 44352 (43K) PROTMAN 128 (0K) 0 (0K) 128 (0K) WORKGRP 4368 (4K) 0 (0K) 4368 (4K) NE2000 9152 (9K) 0 (0K) 9152 (9K) ANSI 4368 (4K) 0 (0K) 4368 (4K) **MOUSE 17088 (17K) 0 (0K) 17088 (17K) **SMARTDRV 31888 (31K) 0 (0K) 31888 (31K) Free 619600 (605K) **594288**(580K) 25312 (25K) Memory Summary: Type of Memory Total = Used + Free ---------------- ----------------- ----------------- ----------------- Conventional 655360 (640K) 61072 (60K) 594288 (580K) Upper 208016 (203K) 182704 (178K) 25312 (25K) Adapter RAM/ROM 0 (0K) 0 (0K) 0 (0K) Extended (XMS) 15258480 (14901K) 4432752 (4329K) 10825728 (10572K) ---------------- ----------------- ----------------- ----------------- Total memory 16121856 (15744K) 4676528 (4567K) 11445328 (11177K) Total under 1 MB 863376 (843K) 243776 (238K) 619600 (605K) With any luck, you will be able to get a couple ideas from this pile, it has been an interesting safari for us. memory management has always been a voodoo sort of art, but we enjoy it. Now that we have the F5 bailout, we can try any crazy idea that comes into our heads, and not need to scramble for the Setup disks every time we blow it. If you've not upgraded to DOS6 be careful with some of the EMM include statements used above. Some machines make use of F000-F7FF for daily running, instead of just SET-UP. Since you can by-pass config with the F5 switch in DOS6, I can see no reason Not to use this area for something productive, but if you're using DOS5, you'll need AUTOCON or its equivalent to bail you out if your machine seizes upon trying to use that area (it's not pretty, Don't try it without a contingency). Well, lessee. TEK may have just provided a means for you to enable 32-55K of upper memory for use by your DOS programs. That's probably enough for one day. Happy hunting, and drop me a line... 73's... Ken Fisher TEK Resources, Inc. mail: TEK