VOGONS


Dos 6 conventional memory tricks

Topic actions

Reply 140 of 227, by Matth79

User metadata
Rank Oldbie
Rank
Oldbie

It seems to be creating EMS memory, so it must be finding a space for a pageframe somewhere.
Try using NOEMS instead of RAM.

Also, try STACKS=16,256 - it's a setting from another page that may help with EMM386

Another possibility, try the one piece JEMMEX instead of HIMEM & EMM386.

Any BIOS options relating to caching upper memory areas? if on, set them off.

Reply 141 of 227, by jwt27

User metadata
Rank Oldbie
Rank
Oldbie

I think STACKS= only wastes more memory, and is better left at 0,0 unless you actually encounter stack overflows.

Jorpho wrote:

Maybe there's just some kind of weird hardware fault in the motherboard.

The only other thing I can think of trying at this point is to try substituting HIMEM with HIMEMX, a free open-source replacement that under some conditions seems to work better than HIMEM.

Or, since this is a Pentium, it might be worthwhile to see if UMBPCI does anything.

I'd recommend UMBPCI too. Especially the included utilities (UMBCHK, DMACHK and UMBFILL) may prove helpful in this case.

WANTED - Manuals/drivers for:

  • Tecmar Graphics Master
  • Paradise Autoswitch EGA 350 (EGA1A)

Reply 142 of 227, by Sev80

User metadata
Rank Newbie
Rank
Newbie

any idea where i can get the 3rd party memory managers?

I have all the shadowing turned off in the bios.

Funny enough, I get similar results if i run this partition under vmware player, except it says 0k reserved memory, but also 0k upper memory..

Reply 143 of 227, by Jorpho

User metadata
Rank l33t++
Rank
l33t++

I suppose you could conceivably have a virus of some sort either in your boot sector or in command.com . The easiest way to clear the boot sector would be to run "fdisk /mbr" (which should be safe as long as you haven't been doing anything weird to the partition), unless of course your copy of fdisk got infected too.

Can you boot your computer from a floppy? There are lots of boot disks out there that should support an EMS configuration. If one of those works, then you can be sure it's probably not a hardware problem.

Sev80 wrote:

any idea where i can get the 3rd party memory managers?

Google.

Reply 144 of 227, by Sev80

User metadata
Rank Newbie
Rank
Newbie

im wondering it if is normal for DOS to report 0k upper memory. I just dusted off my old pentium 120 laptop booted it with win 95 dos into command prompt mode, nothing but himem.sys and emm386 loaded. I did a mem /c /p it still shows 384k reserved memory and 0k upper memory..

Maybe I just never noticed this before??

Reply 145 of 227, by Jorpho

User metadata
Rank l33t++
Rank
l33t++

Further research reveals someone else encountering precisely this problem, with a virus as culprit.
What the...??! my UMB blocks have dissapeared!

If you were running any of the same programs on your old laptop, your laptop may be infected too.

Reply 146 of 227, by Sev80

User metadata
Rank Newbie
Rank
Newbie

holy crap, i just ran a virus check on the CF card and found the same virus major.1644!!! I just cleaned the cf card, popped it back in the pentium machine and viola! it worked! i have 600k conventional memory now..

thanks so much guys!

Reply 149 of 227, by Tecchie

User metadata
Rank Newbie
Rank
Newbie
breech wrote:

Ed - short version: MS's code seems to have always been bloated, for instance mscdex.exe from dos 6.0 contained 10% garbage.

So I just sifted through all this crap.. 🤣

I will tell you that using all the FCBS, stacks, etc etc that all eats up memory. trust me.

Also, try using the boot files (io.sys, msdos.sys and command.com) from Windows 98SE, or even WinME.

a few utilities are useful from those, and especially if you accudentally boot command prompt onl;y and bypass loading your config.sys file, is XMSMMGR.EXE.

Memmaker as stated earlier DOES work best with vanilla lines/files.

After it runs it's optimizations, get rid of all the extra lines, but leave the LH commands, and "devicehigh" stuff.

I used to have around almost all my base memory free. One system I saw had (for some odd reason) 715k free base memory.. so not sure if it was a motherboard thing or the way all the boot files were loaded..

Reply 150 of 227, by FeedingDragon

User metadata
Rank Oldbie
Rank
Oldbie

There is only 1 way, with a standard PC, that I know of to get conventional memory over 640k (usually maxes at 620k-630k even with 3rd party memory managers.) That is to reclaim the hi-res color graphics RAM from A000-AFFF. Can't run anything with advanced graphics, but provides a large amount of conventional memory. I've seen people using this to run memory intensive programs that are limited to ANSI or text based graphics. Such as a BBS some DOS based servers, etc...

Feeding Dragon

Reply 151 of 227, by Disruptor

User metadata
Rank Member
Rank
Member

Try to include

DEVICE?=C:\DOS\EMM386.EXE NOEMS I=C800-F7FF I=B000-B7FF
DEVICE?=C:\DOS\EMM386.EXE NOEMS I=F000-F7FF

Most BIOS do have the setup part in lower F segment. Since this is shadowed it can be overwritten without a problem. Required BIOS routines reside in upper F segment. BIOS setup is only needed before booting into DOS. BIOS setup is restored on each cold/warm boot. Depends on motherboard/BIOS.

DEVICE?=C:\DOS\EMM386.EXE NOEMS I=C800-CFFF
DEVICE?=C:\DOS\EMM386.EXE NOEMS I=CC00-CFFF

Try to include half or quarter C seqment. Many graphic BIOS do not need the whole C segment. Newer graphic cards usually take more. Depends on graphics card.

Reply 152 of 227, by jmdlcar

User metadata
Rank Newbie
Rank
Newbie

I had to reinstall my Dos USB and I want someone help me with it.

Hope someone can understand this.

Modules using memory below 1 MB: […]
Show full quote

Modules using memory below 1 MB:

Name Total = Conventional + Upper Memory
-------- ---------------- ---------------- ----------------
MSDOS 16,141 (16K) 16,141 (16K) 0 (0K)
SETVER 480 (0K) 480 (0K) 0 (0K)
HIMEM 1,168 (1K) 1,168 (1K) 0 (0K)
OAKCDROM 36,064 (35K) 36,064 (35K) 0 (0K)
COMMAND 2,928 (3K) 2,928 (3K) 0 (0K)
SMARTDRV 29,024 (28K) 29,024 (28K) 0 (0K)
MSCDEX 27,952 (27K) 27,952 (27K) 0 (0K)
MOUSE 17,296 (17K) 17,296 (17K) 0 (0K)
Free 520,160 (508K) 520,160 (508K) 0 (0K)

Memory Summary:

Type of Memory Total = Used + Free
---------------- ---------- ---------- ----------
Conventional 651,264 131,104 520,160
Upper 0 0 0
Reserved 0 0 0
Extended (XMS) 66,060,288 2,162,688 63,897,600
---------------- ---------- ---------- ----------
Total memory 66,711,552 2,293,792 64,417,760

Total under 1 MB 651,264 131,104 520,160

Largest executable program size 519,952 (508K)
Largest free upper memory block 0 (0K)
MS-DOS is resident in the high memory area.

Autoexec.bat

@ECHO OFF C:\DOS\SMARTDRV.EXE /X C:\DOS\MSCDEX.EXE /D:MSCD001 /L:D C:\MOUSE\MOUSE.COM /Y PATH C:\;C:\DOS;C:\NC;C:\WORKS;C:\WOLF3 […]
Show full quote

@ECHO OFF
C:\DOS\SMARTDRV.EXE /X
C:\DOS\MSCDEX.EXE /D:MSCD001 /L:D
C:\MOUSE\MOUSE.COM /Y
PATH C:\;C:\DOS;C:\NC;C:\WORKS;C:\WOLF3D;C:\DOOM
PROMPT $p$g
SET TEMP=C:\TEMP\
SET MOUSE=C:

Config.sys

DEVICE=C:\DOS\SETVER.EXE DEVICE=C:\DOS\HIMEM.SYS /TESTMEM:OFF DEVICE=C:\DRIVER\OAKCDROM.SYS /D:MSCD001 DOS=HIGH FILES=30 BUFFERS […]
Show full quote

DEVICE=C:\DOS\SETVER.EXE
DEVICE=C:\DOS\HIMEM.SYS /TESTMEM:OFF
DEVICE=C:\DRIVER\OAKCDROM.SYS /D:MSCD001
DOS=HIGH
FILES=30
BUFFERS=20
LASTDRIVE=Z

I want the autoexec.bat and config.sys to give me better memory.

Hope this not in the wrong place. Move if it is.

Reply 153 of 227, by Karm

User metadata
Rank Newbie
Rank
Newbie

Okay first:
There are 3 Areas of memory:
Conventional memory, which is always the memory up to 640 kb (or 651,264)
Upper memory, which is always the memory from the first 640kb to 1 mb

The Conventional memory is also called LOW, the upper memory HIGH

Then there is the Extended memory which is everything left from the 1mb up to the amount you have installed in your machine.
(in this case a little less then 64 MB)

To load something in the upper memory (above 640) which you will not use for executing any program (the lower memory will be used)
first add UMB to your DOS= line: (DOS=UMB,HIGH)
Then Load everything you can in the higher Memory by adding LH (or LOADHIGH) and DEVICEHIGH

HIMEM.SYS is a program to manage the upper memory, so you probably don't want to lot this high but everything else.
means: It should be loaded first.
DOS=HIGH also tries to load the DOS KERNEL in the upper memory, but because you didn't tell DOS to use it, it probably doesn't use it.
For making use of the Memory above 1MB and using XMS and EMS you need himem.sys and something like emm386.exe to make all of your memory usable.

Because you are just using the 640kb, or the lower part of the 1mb window, you get none of the upper memory and just 500 something of the lower memory.

Try something like this: (I know it is not perfect 😉 )
Autoexec.bat

    @ECHO OFF
LH C:\DOS\SMARTDRV.EXE /X
LH C:\DOS\MSCDEX.EXE /D:MSCD001 /L:D
LH C:\MOUSE\MOUSE.COM /Y
PATH C:\;C:\DOS;C:\NC;C:\WORKS;C:\WOLF3D;C:\DOOM
PROMPT $p$g
SET TEMP=C:\TEMP\
REM SET MOUSE=C: <- what should this do??

Config.sys

    DEVICE=C:\DOS\HIMEM.SYS /TESTMEM:OFF
DEVICE=C:\DOS\EMM386.EXE HIGHSCAN
DOS=HIGH, UMB
FILES=30
BUFFERS=20
LASTDRIVE=Z
DEVICEHIGH=C:\DOS\SETVER.EXE
DEVICEHIGH=C:\DRIVER\OAKCDROM.SYS /D:MSCD001

Didn't tested it but should work.
I would also remove some Gamefolders from the PATH Variable...
Would like to see the result 😉

Reply 154 of 227, by jmdlcar

User metadata
Rank Newbie
Rank
Newbie

Here is what that didn't load High.

Autoexec.bat

@ECHO OFF LH C:\DOS\SMARTDRV.EXE 2048 128 <- Did not load high and I added this "2048 128" to see if it would help. LH C:\DOS\ […]
Show full quote

@ECHO OFF
LH C:\DOS\SMARTDRV.EXE 2048 128 <- Did not load high and I added this "2048 128" to see if it would help.
LH C:\DOS\MSCDEX.EXE /D:MSCD001 /L:D <- Did not load high
LH C:\MOUSE\MOUSE.COM /Y <- Did not load high
PATH C:\;C:\DOS;C:\NC;C:\WORKS <- Remove games
PROMPT $p$g
SET TEMP=C:\TEMP\
REM SET MOUSE=C: <- When I install the mouse it put it there

Config.sys

DEVICE=C:\DOS\HIMEM.SYS /TESTMEM:OFF DEVICE=C:\DOS\EMM386.EXE HIGHSCAN DOS=HIGH,UMB <- Had to fix this FILES=30 BUFFERS=20 LASTD […]
Show full quote

DEVICE=C:\DOS\HIMEM.SYS /TESTMEM:OFF
DEVICE=C:\DOS\EMM386.EXE HIGHSCAN
DOS=HIGH,UMB <- Had to fix this
FILES=30
BUFFERS=20
LASTDRIVE=Z
DEVICEHIGH=C:\DOS\SETVER.EXE <- Did not load high
DEVICEHIGH=C:\DRIVER\OAKCDROM.SYS /D:MSCD001 <- Did not load high

Reply 156 of 227, by tayyare

User metadata
Rank Oldbie
Rank
Oldbie
jmdlcar wrote:
Here is what that didn't load High. […]
Show full quote

Here is what that didn't load High.

Autoexec.bat

@ECHO OFF LH C:\DOS\SMARTDRV.EXE 2048 128 <- Did not load high and I added this "2048 128" to see if it would help. LH C:\DOS\ […]
Show full quote

@ECHO OFF
LH C:\DOS\SMARTDRV.EXE 2048 128 <- Did not load high and I added this "2048 128" to see if it would help.
LH C:\DOS\MSCDEX.EXE /D:MSCD001 /L:D <- Did not load high
LH C:\MOUSE\MOUSE.COM /Y <- Did not load high
PATH C:\;C:\DOS;C:\NC;C:\WORKS <- Remove games
PROMPT $p$g
SET TEMP=C:\TEMP\
REM SET MOUSE=C: <- When I install the mouse it put it there

Config.sys

DEVICE=C:\DOS\HIMEM.SYS /TESTMEM:OFF DEVICE=C:\DOS\EMM386.EXE HIGHSCAN DOS=HIGH,UMB <- Had to fix this FILES=30 BUFFERS=20 LASTD […]
Show full quote

DEVICE=C:\DOS\HIMEM.SYS /TESTMEM:OFF
DEVICE=C:\DOS\EMM386.EXE HIGHSCAN
DOS=HIGH,UMB <- Had to fix this
FILES=30
BUFFERS=20
LASTDRIVE=Z
DEVICEHIGH=C:\DOS\SETVER.EXE <- Did not load high
DEVICEHIGH=C:\DRIVER\OAKCDROM.SYS /D:MSCD001 <- Did not load high

Don't we need to add first, one of the "NOEMS" or "RAM" keys into EMM386.EXE command line, in order to load anything to upper memory area?

I might be wrong but this is how I remember it. By the way, I strongly suggest you to use memmaker, it will do everything for you automatically.

GA-6VTXE PIII 1.4+512MB
Geforce4 Ti 4200 64MB
Diamond Monster 3D 12MB SLI
SB AWE64 PNP+32MB
120GB IDE Samsung/80GB IDE Seagate/146GB SCSI Compaq/73GB SCSI IBM
Adaptec AHA29160
3com 3C905B-TX
Gotek+CF Reader
MSDOS 6.22+Win 3.11/95 OSR2.1/98SE/ME/2000

Reply 157 of 227, by elianda

User metadata
Rank l33t
Rank
l33t

You don't need NOEMS to enable Upper Memory Blocks in the Upper Memory Area.
I wrote this a while ago: http://www.vogonswiki.com/index.php/DOS_memory_management

Retronn.de - Vintage Hardware Gallery, Drivers, Guides, Videos. Now with file search
Youtube Channel
FTP Server - Driver Archive and more
DVI2PCIe alignment and 2D image quality measurement tool

Reply 158 of 227, by jmdlcar

User metadata
Rank Newbie
Rank
Newbie

This one was made yesterday. I don't know why it won't work.

Modules using memory below 1 MB: […]
Show full quote

Modules using memory below 1 MB:

Name Total = Conventional + Upper Memory
-------- ---------------- ---------------- ----------------
MSDOS 16,157 (16K) 16,157 (16K) 0 (0K)
HIMEM 1,168 (1K) 1,168 (1K) 0 (0K)
EMM386 8,368 (8K) 8,368 (8K) 0 (0K)
SETVER 480 (0K) 480 (0K) 0 (0K)
OAKCDROM 36,064 (35K) 36,064 (35K) 0 (0K)
COMMAND 2,928 (3K) 2,928 (3K) 0 (0K)
Free 586,064 (572K) 586,064 (572K) 0 (0K)

Memory Summary:

Type of Memory Total = Used + Free
---------------- ---------- ---------- ----------
Conventional 651,264 65,200 586,064
Upper 0 0 0
Reserved 0 0 0
Extended (XMS)* 66,060,288 573,440 65,486,848
---------------- ---------- ---------- ----------
Total memory 66,711,552 638,640 66,072,912

Total under 1 MB 651,264 65,200 586,064

Total Expanded (EMS) 33,947,648 (33,152K
Free Expanded (EMS)* 33,554,432 (32,768K

* EMM386 is using XMS memory to simulate EMS memory as needed.
Free EMS memory may change as free XMS memory changes.

Largest executable program size 585,968 (572K)
Largest free upper memory block 0 (0K)
MS-DOS is resident in the high memory area.

Reply 159 of 227, by tayyare

User metadata
Rank Oldbie
Rank
Oldbie
elianda wrote:

You don't need NOEMS to enable Upper Memory Blocks in the Upper Memory Area.
I wrote this a while ago: http://www.vogonswiki.com/index.php/DOS_memory_management

Is it a sure thing?

I just run my Pentium MMX rig with both using and not using "NOEMS" key. When I use it, every single LH and DEVICEHIGH command works and I have about 620KB free conventional memory. When I not use it, every single one of the TSRs and device drivers loaded into conventional memory. Not a single thing in upper memory area.

Am I doing something wrong?

GA-6VTXE PIII 1.4+512MB
Geforce4 Ti 4200 64MB
Diamond Monster 3D 12MB SLI
SB AWE64 PNP+32MB
120GB IDE Samsung/80GB IDE Seagate/146GB SCSI Compaq/73GB SCSI IBM
Adaptec AHA29160
3com 3C905B-TX
Gotek+CF Reader
MSDOS 6.22+Win 3.11/95 OSR2.1/98SE/ME/2000