• Please review our updated Terms and Rules here

How to see free memory areas on a 486 in dos or win 3.11?

pcm2a

Experienced Member
Joined
Jun 24, 2013
Messages
190
I have been playing with a IBM 755c laptop for a few days. I got sound and video working and also a Xircom parallel network adapter. The last thing on my list is the pcmcia slots. My wifi or lan cards are recognized but the drivers never load. For example on the lan card I get an error that the memory I've specified can't be used.

What is a good way in dos or win 3.11 to see what blocks are available? For example I tried C800 which was the default that worked on another laptop.
 

pcm2a

Experienced Member
Joined
Jun 24, 2013
Messages
190
Thanks I'll give that a shot and report back.

I also need to figure out how to use EMM386 better. The laptop has 12 megs of ram in it. I'll get EMM386 setup and sound + dos games work real good. Then win 3.1 will give me an out of memory error and while windows still starts WFW doesn't start (doesn't ask me for my password). If I tweak EMM386 again I can get win 3.1 to work right but not dos games and sound! Running mem or tools in windows shows barely any of the ram is taken up. I'll get some more specific details later tonight.
 

SpidersWeb

Veteran Member
Joined
Feb 16, 2012
Messages
2,697
Location
New Zealand
If you're running MS DOS 6, you can run memmaker and let it sort out the memory for you. It does amazing things.
 

deathshadow

Veteran Member
Joined
Jan 4, 2011
Messages
1,363
If you're running MS DOS 6, you can run memmaker and let it sort out the memory for you. It does amazing things.

I never found it all that amazing -- but by the time it came out I was already far more proficient than it in a sloppy single pass than it was in a half our of reboot, reboot, and reboot some more.

To do so, I generally used MSD (microsoft system diags) memory map, combined with "mem /c /p" - to then determine which memory blocks to load things into and what order. A normal LH or devicehigh just flat loads the program in to the first available UMB, instead of the smallest available UMB into which the program will fit. As a rule of thumb, putting the smallest ones in the smallest UMB's leaves more space to load big stuff into.

Of course, tools like QEMM could take things even further, letting you set things like fileshigh and buffershigh.

One thing that sucks is that a LOT of PCMCIA drivers just don't work loaded high; some programs can be relocated, others can't.

If you could share the output of mem /c /p with all your drivers loaded 'normally' and a snap of MSD's memory map, along with your config.sys and autoexec.bat, we might be able to help you dial in things a wee bit better.

Oh, and @stone... what is "MFT" other than the NTFS equivalent of a FAT table? Did you mean MSD?
 

pcm2a

Experienced Member
Joined
Jun 24, 2013
Messages
190
Ok, I have worked up some information for review. I'll have to split this into two posts, can only attach 5 files per post.

In this post I have a minimal autoexec.bat and config.sys setup. I don't have everything as DEVICEHIGH and the EMM386 line might not be the best.
- minimal-autoexec.txt is the autoexec.bat
- minimal-config.txt is the config.sys
- minimal-mem.txt is the mem /c command
- minimal-msd-memory1&2 are the MSD screenshots

In this setup I have my sound drivers, PCMCIA drivers and Vesa drivers running great. "Net start" is also being ran to start up my PCMCIA lan card.

With this setup some games won't work, like Blackthorne, that needs 495k of memory. I also get an error in WFW saying there is not enough memory to start WFW. Windows does start but you don't get the WFW login.
 

Attachments

  • minimal-autoexec.txt
    202 bytes · Views: 1
  • minimal-config.txt
    550 bytes · Views: 1
  • minimal-mem.txt
    2.4 KB · Views: 1
  • minimal-msd-memory1.jpg
    minimal-msd-memory1.jpg
    89.5 KB · Views: 1
  • minimal-msd-memory2.jpg
    minimal-msd-memory2.jpg
    97.4 KB · Views: 1

pcm2a

Experienced Member
Joined
Jun 24, 2013
Messages
190
In this post I have a I have added DEVICEHIGH to a bunch of things in the config.sys. I didn't put high on the two sound card lines or else there would be a memory error and the laptop wouldn't start

- devicehigh-config.txt is the config.sys
- devicehighl-mem.txt is the mem /c command

In this configuration all of my devices still work. I included this to show that they can run in the high area. Games still don't work and windows still gets the memory error.
 

Attachments

  • devicehigh-config.txt
    578 bytes · Views: 1
  • devicehigh-mem.txt
    2.4 KB · Views: 1

pcm2a

Experienced Member
Joined
Jun 24, 2013
Messages
190
I try putting DEVICEHIGH in front of things in the config.sys and after restarting I check with "mem /c /p" and they are still in the conventional memory. Why don't they move over intot he upper area?

If I comment out the 3 audio lines (one in autoexec, two in config) then it frees up enough conventional memory that everything runs. I see lots of examples where people LOADHIGH and DEVICEHIGH, but they never move when I do it.

Update: I think I'm beginning to understand. In one test I'm doing I have 42k available in the upper memory with the largest block being 24k. I clearly need this to be way higher!
 
Last edited:

SpidersWeb

Veteran Member
Joined
Feb 16, 2012
Messages
2,697
Location
New Zealand
I'm not an expert, just a memmaker whore, but I'm curious about EMM386 here:

DEVICE=C:\DOS\EMM386.EXE RAM I=E000-E5FF X=C800-CFFF

My guess would've been:

DEVICE=C:\DOS\EMM386.EXE NOEMS I=D000-EFFF X=C800-CFFF

If EMM386 is using D000 to DFFF for an EMS page frame, surely it can be used for UMB instead.
 

pcm2a

Experienced Member
Joined
Jun 24, 2013
Messages
190
Blackthorne wont load with NOEMS set at all. You can't use D000 or it will disable EMS. The original OS from 1993 had I=E000-E5FF. I immediately tried I=E000-EFFF but the computer won't boot past himem.sys with that.
 

pcm2a

Experienced Member
Joined
Jun 24, 2013
Messages
190
Still working on my config.sys trying to make magic happen. I did find a breakdown of the memory areas and why I can't use all the way to EFFF.

0000 - 9FFF System RAM
A000 - AFFF Video Graphics
B000 - B7FF Mono Video
B800 - BFFF Video Text
C000 - C7FF Default Video BIOS
C800 - DFFF Available
E000 - E7FF Available
E800 - EFFF Available (Optional Video BIOS)
F000 - FFFF System BIOS
 

SpidersWeb

Veteran Member
Joined
Feb 16, 2012
Messages
2,697
Location
New Zealand
I haven't used PC DOS much (since 3.2 anyway), but skimming through the PC DOS 7 manual (are you running 7?) http://bitsavers.trailing-edge.com/pdf/ibm/pc/dos/83G9260_IBM_PC_DOS_7.0_Users_Guide_Jan95.pdf
I noticed a few tools, RAMBOOST - their version of memaker - could be interesting to see the results, and startup menu support (so you can choose a different configuration when you start).

Just thought it might be something interesting to investigate/play with.
 

pcm2a

Experienced Member
Joined
Jun 24, 2013
Messages
190
I'm running Dos 6.22 and Win 3.11 WFW. Memmaker seems like total garbage. Most of the time it made things worse.

I have resorted to using a combination of mem /f, mem /c, msd, moving things around in autoexec.bat and config.sys, including every possible area allowed in emm386 and dosmax to come up with the best combination. I have both my sound card AND pcmcia + network card drivers loaded.

Conventional memory free: 600,912
Upper memory free: 14,000 (R1: 5584, R2: 8416)

I may make some additional autoexec.bat options to not load network or soundblaster files. That would free up 30k each, if I needed more than 600k for some reason.
 
Top