Dos 6 conventional memory tricks

Getting old software/games running on older hardware.

Re: Dos 6 conventional memory tricks

Postby Matth79 » 2015-1-30 @ 17:25

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.
Matth79
Member
 
Posts: 410
Joined: 2014-5-19 @ 14:24

Re: Dos 6 conventional memory tricks

Postby jwt27 » 2015-1-30 @ 18:42

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)
User avatar
jwt27
Oldbie
 
Posts: 1628
Joined: 2011-8-15 @ 02:19
Location: Fryslân

Re: Dos 6 conventional memory tricks

Postby Sev80 » 2015-1-31 @ 00:18

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..
Sev80
Newbie
 
Posts: 66
Joined: 2014-4-16 @ 16:05

Re: Dos 6 conventional memory tricks

Postby Jorpho » 2015-1-31 @ 00:46

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.
User avatar
Jorpho
l33t++
 
Posts: 7043
Joined: 2003-2-14 @ 19:50
Location: Canada

Re: Dos 6 conventional memory tricks

Postby Sev80 » 2015-1-31 @ 01:12

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??
Sev80
Newbie
 
Posts: 66
Joined: 2014-4-16 @ 16:05

Re: Dos 6 conventional memory tricks

Postby Jorpho » 2015-1-31 @ 01:48

Further research reveals someone else encountering precisely this problem, with a virus as culprit.
viewtopic.php?t=26959

If you were running any of the same programs on your old laptop, your laptop may be infected too.
User avatar
Jorpho
l33t++
 
Posts: 7043
Joined: 2003-2-14 @ 19:50
Location: Canada

Re: Dos 6 conventional memory tricks

Postby Sev80 » 2015-1-31 @ 08:34

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!
Sev80
Newbie
 
Posts: 66
Joined: 2014-4-16 @ 16:05

Re: Dos 6 conventional memory tricks

Postby kin » 2015-6-01 @ 21:00

You'll never know what you will find with f-prot :) (taipan virus...)
kin
Newbie
 
Posts: 20
Joined: 2014-11-30 @ 15:41

Re: Dos 6 conventional memory tricks

Postby breech » 2016-2-12 @ 09:25

Ed - short version: MS's code seems to have always been bloated, for instance mscdex.exe from dos 6.0 contained 10% garbage.
User avatar
breech
Newbie
 
Posts: 24
Joined: 2005-12-19 @ 13:12

Re: Dos 6 conventional memory tricks

Postby Tecchie » 2017-9-26 @ 17:13

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.. lol

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..
User avatar
Tecchie
Newbie
 
Posts: 2
Joined: 2017-4-01 @ 20:45

Re: Dos 6 conventional memory tricks

Postby FeedingDragon » 2017-9-27 @ 19:24

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
User avatar
FeedingDragon
Oldbie
 
Posts: 812
Joined: 2003-8-24 @ 03:25
Location: Central Texas

Re: Dos 6 conventional memory tricks

Postby Disruptor » 2018-3-26 @ 17:43

Try to include
Code: Select all
DEVICE?=C:\DOS\EMM386.EXE NOEMS I=C800-F7FF I=B000-B7FF


Code: Select all
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.

Code: Select all
DEVICE?=C:\DOS\EMM386.EXE NOEMS I=C800-CFFF

Code: Select all
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.
Disruptor
Newbie
 
Posts: 19
Joined: 2018-3-22 @ 18:31

Re: Dos 6 conventional memory tricks

Postby jmdlcar » 2018-4-08 @ 23:23

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:

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:\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=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.
User avatar
jmdlcar
Newbie
 
Posts: 41
Joined: 2018-4-06 @ 20:01

Re: Dos 6 conventional memory tricks

Postby Karm » 2018-4-09 @ 20:49

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
Code: Select all
    @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
Code: Select all
    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 ;)
Karm
Newbie
 
Posts: 56
Joined: 2017-3-05 @ 17:34

Re: Dos 6 conventional memory tricks

Postby jmdlcar » 2018-4-09 @ 22:26

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\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
LASTDRIVE=Z
DEVICEHIGH=C:\DOS\SETVER.EXE <- Did not load high
DEVICEHIGH=C:\DRIVER\OAKCDROM.SYS /D:MSCD001 <- Did not load high
User avatar
jmdlcar
Newbie
 
Posts: 41
Joined: 2018-4-06 @ 20:01

Re: Dos 6 conventional memory tricks

Postby Karm » 2018-4-10 @ 11:18

could you please post the mem /c /p output or send it to me?
Would like to know, what is happening ;)
Karm
Newbie
 
Posts: 56
Joined: 2017-3-05 @ 17:34

Re: Dos 6 conventional memory tricks

Postby tayyare » 2018-4-10 @ 11:29

jmdlcar wrote: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\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
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
User avatar
tayyare
Oldbie
 
Posts: 1225
Joined: 2013-2-18 @ 18:54
Location: Turkey

Re: Dos 6 conventional memory tricks

Postby elianda » 2018-4-10 @ 11:51

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 ... management
Retronn.de - Vintage Hardware Gallery, Drivers, Guides, HQ Videos.
Youtube Channel
FTP Server - Driver Archive and more
DVI2PCIe alignment and 2D image quality measurement tool
User avatar
elianda
l33t
 
Posts: 2218
Joined: 2006-4-21 @ 16:56
Location: Halle / Germany

Re: Dos 6 conventional memory tricks

Postby jmdlcar » 2018-4-10 @ 14:21

This one was made yesterday. I don't know why it won't work.
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.
User avatar
jmdlcar
Newbie
 
Posts: 41
Joined: 2018-4-06 @ 20:01

Re: Dos 6 conventional memory tricks

Postby tayyare » 2018-4-10 @ 16:11

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 ... 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
User avatar
tayyare
Oldbie
 
Posts: 1225
Joined: 2013-2-18 @ 18:54
Location: Turkey

PreviousNext

Return to Software

Who is online

Users browsing this forum: No registered users and 1 guest