• Please review our updated Terms and Rules here

Configuring memory for playing certain games

Bill-kun

Veteran Member
Joined
Nov 2, 2020
Messages
685
Location
Michigan
I remember my dad having to write several different AUTOEXEC.BAT files, depending on what game we wanted to play. Sierra games in particular. I am now trying to do the same, I suppose.

The computer is a JPL 386 PC compatible. Here is what the MEM command gives after my bootup.

JPL 386 mem - Screenshot 2021-10-07 113452.jpg - Click image for larger version  Name:	JPL 386 mem - Screenshot 2021-10-07 113452.jpg Views:	0 Size:	122.5 KB ID:	1227597

I try to run Quest for Glory 2 and the response is "Your computer does not have enough memory to run this game."

I am running DOS 6.22.

The technical requirements/supportability of the game according to the box are:
MS-DOS 5.0 or greater
286 or better
640 KB RAM
7.5 MB Hard drive space
Tandy Graphics, CGA (B &W), EGA, MCGA (PS/2), VGA or Hercules Monochrome
Roland MT-32, AdLib, Sound Blaster, PS/1 audio/joystick adapter or other music synthesizer
Mouse

1. First I need to learn about memory. There is conventional memory, upper memory, shadow memory, extended memory, and expanded memory. Any others? Why is there a difference in how the types are usable?

2. Can anyone point me to a crash course in how to do memory configurations? Possibly even how to create a boot menu that times out to a default?

3. Is there some lookup table on the Internet on what vintage games require what memory configuration? (Yes, such as sierrahelp.com)
 
Last edited:
Conventional = memory below 640k, where most programs mainly run.
Upper = UMB = memory between 640k and 1M, mostly useful for loading drivers into to free up conventional memory
Expanded = EMS = memory swapped in an out of a window in the Upper Memory area, older standard, mostly for 8088 and 286 class machines
Extended = XMS = memory above 1M, mostly used by 386 and later
High Memory Area = HMA = special 64k chunk at the top of 1M, can be used by dos to reduce it's conventional memory usage
 
In general, for config.sys-
DEVICE=C:\DOS\HIMEM.SYS <- gives access to memory above 1 Meg
DEVICE=C:\DOS\EMM386.EXE <- manages memory in the UMB area, also emulates/provides EMS memory unless you specify 'NOEMS'
DOS=HIGH,UMB <- loads part of dos into the HMA, allows loading of drivers into the UMB area?

DEVICEHIGH=cdrom.sys <- 'devicehigh' says to load the driver into the UMB area

autoexec.bat-
LH MOUSE.COM <- 'LH' says to load the driver into the UMB area

Basicaly, the idea is to maximize the available conventional memory. It starts to get tricky with lots of drivers, like network, cdrom, scsi, etc. Then it starts to be like tetris, 'Ok, If I leave the mouse driver in conventional memory, that will free up enough space in UMB for the network redirector. Oooh, this mouse driver is 240 bytes smaller than the one I was using...'
 
If you’re running DOS 6.22 the easiest thing to do is run memmaker, until you get up to speed enough to do it manually.

It will look at you current situation, ask a couple of questions, and then calculate a better use of himem.sys, emm386, and things like dos=high,umb and so forth.

If you want specific help with your current setup, we’d need to see your config.sys and autoexec.bat, and the output from mem /c /p
 
As mentioned above, memmaker would pretty much solve your issue. 415K of conventional RAM is strangling the opportunity to run much of anything in DOS (especially games). You might want to run it twice; I've occasionally seen where it does do a little better on the 2nd pass. And you could substitute some drivers (specifically a DOS mouse driver). CuteMouse was very tiny compared to virtually anything else. Just make sure you keep a copy of autoexec.bat and config.sys in case something goes horribly wrong ( which is highly unlikely).
 
Well, this led me to run across another instance of "a question I didn't even know I should ask." Searching the files in my DOS 6.22 directory, C:\DOS, MEMMAKER.EXE is not there. The contents of my C:\DOS were copied from a boot disk, the image for which I downloaded from bootdisk.com. After searching winworldpc.com for DOS 6.22, I now realize I have been using incomplete copies of DOS 6.22 for months! I downloaded those images onto floppies. The installation would need to be actually run; it's not a simple file copy.

Can I just install DOS 6.22 onto my existing vintage computers that already have C:\DOS and other hard drive contents? Or do I have to evacuate them, reformat so that they are bootable again, and then move all the evacuated contents back on?
 
Yeah, 177k is a lot to be using.

Can you post the output of "mem /c", rather than just "mem" ?

There may be some older drivers that take up a lot of memory (mouse.sys is one, I run CuteMouse instead, which needs only 2kb as mentioned above) which more up to date variants can help.
I have also turned to different EMS drivers, EMM386 will win you no awards for performance! Some people use Qemm, I have run Jemm for things that don't crash while using it (some games really don't like it, and it breaks ctrl-alt-del support on my 386).

Once you get a hang of it, writing a batch menu for selecting options in your autoexec is something well worth learning.


Phil
 
Can I just install DOS 6.22 onto my existing vintage computers that already have C:\DOS and other hard drive contents? Or do I have to evacuate them, reformat so that they are bootable again, and then move all the evacuated contents back on?

If your machine boots ok now, then it should be a matter of just installing (or preferably, upgrading) to DOS 6.22. There should be upgrade-disks somewhere out on the interwebs...
 
Yeah, 177k is a lot to be using.

Can you post the output of "mem /c", rather than just "mem" ?

Attached is the output.

C:>\mem /c/p

Modules using memory below 1 MB:

Name Total = Conventional + Upper Memory
-------- ---------------- ---------------- ----------------
MSDOS 71,053 (69K) 71,053 (69K) 0 (0K)
HIMEM 3,712 (4K) 3,712 (4K) 0 (0K)
CD1 28,880 (28K) 28,880 (28K) 0 (0K)
WORKGRP 3,104 (3K) 3,104 (3K) 0 (0K)
COMMAND 4,992 (5K) 4,992 (5K) 0 (0K)
EXPLOSIV 5,696 (6K) 5,696 (6K) 0 (0K)
MSCDEX 27,952 (27K) 27,952 (27K) 0 (0K)
GMOUSE 9,408 (9K) 9,408 (9K) 0 (0K)
Free 498,336 (487K) 498,336 (487K) 0 (0K)

Memory Summary:

Type of Memory Total = Used + Free
---------------- ---------- ---------- ----------
Conventional 653,312 154,976 498,336
Upper 0 0 0
Reserved 0 0 0
Extended (XMS) 7,340,032 65,536 7,274,496
---------------- ---------- ---------- ----------
Press any key to continue . . .
Total memory 7,993,344 220,512 7,772,832

Total under 1 MB 653,312 154,976 498,336

Largest executable program size 498,064 (486K)
Largest free upper memory block 0 (0K)
The high memory area is available.

C:\>

I will report later today how the installation of DOS 6.22 went. I backed up/copied off the 52 MB. hard drive from one of my 286s and I'll install on it to see what happens.
 

Attachments

  • MEM_C_P.TXT
    1.5 KB · Views: 1
Yeah, with HIMEM.SYS being loaded, I see a few things that will load into high memory and free up conventional for programs to use.

The easiest things I would suggest to do is this:

Edit c:\config.sys

​​​​​​The device=himem.sys line needs to be at or near the top of the list.
immediately below, if it isnt there, add DOS=HIGH,UMB below that, any other DEVICE= lines, change to DEVICEHIGH=

Save and exit. That'll attempt to load everything into high memory (it won't do it if the driver won't let).

Then edit c:\autoexec.bat

In front of any program that needs to be loaded (for instance gmouse, put LH before it- e.g.:-
lh c:\gmouse\gmouse.exe
​​​​(I just made that path for the file up as example to show how to add "LH", which stands for Load High).

That should free up as much memory as possible. Save file and exit.

Reboot computer and retry mem /c

​​​​Phil
 
The main items to load high are the CD-ROM drivers (CD1 and MSCDEX). That would free up more than 50K. Drop the screensaver (Explosiv). Combine that with letting DOS use the HMA should result in a free memory available of about 600K.
 
I tried Quest for Glory 2 on my other 2 working vintage computers (Swan 286/12 and KLH-195 286) and there was no problem running it. I have EXPLOSIV and GMOUSE on them, but not the CD-ROM stuff since they don't have CD-ROM drives.

Back to the 386. First, installing DOS 6.22 full, which includes MEMMAKER.EXE. I finally figured out how to create the DOS 6.22 installation disks so that they would work in installing.
1. Get the bulk file from pcwinworld.com on a modern computer.
2. Unzip the bulk file. Put each of the 4 *.img files in a directory.
3. Zip each of those files individually so they will each fit on a 3.5-inch floppy.
4. Switch to vintage computer. Move the *.zip files onto the hard drive.
5. Unzip each *.zip file onto the hard drive using PKZ240G or similar.
6. Write each of the *.img files onto a floppy using Rawread-Rawrite or similar. The installation disks are now created and ready.

I installed DOS 6.22 over my previously incomplete DOS 6.22 on my 386. It never asked for disk 4, the supplemental disk. Why didn't it? Will I have something missing?
I installed DOS 6.22 over my previously incomplete DOS 6.22 on my Swan and KLH (using the 5.25-inch *.img files instead of the 3.5-inch files). I believe they both asked for the supplemental disk.

Back to the 386. I edited my CONFIG.SYS and AUTOEXEC.BAT as told and rebooted. Here is the output from MEM /C.

Modules using memory below 1 MB:

Name Total = Conventional + Upper Memory
-------- ---------------- ---------------- ----------------
MSDOS 17,933 (18K) 17,933 (18K) 0 (0K)
HIMEM 1,088 (1K) 1,088 (1K) 0 (0K)
CD1 28,880 (28K) 28,880 (28K) 0 (0K)
WORKGRP 3,104 (3K) 3,104 (3K) 0 (0K)
COMMAND 2,928 (3K) 2,928 (3K) 0 (0K)
EXPLOSIV 5,696 (6K) 5,696 (6K) 0 (0K)
MSCDEX 27,952 (27K) 27,952 (27K) 0 (0K)
GMOUSE 9,408 (9K) 9,408 (9K) 0 (0K)
Free 556,144 (543K) 556,144 (543K) 0 (0K)

Memory Summary:

Type of Memory Total = Used + Free
---------------- ---------- ---------- ----------
Conventional 653,312 97,168 556,144
Upper 0 0 0
Reserved 0 0 0
Extended (XMS) 7,340,032 65,536 7,274,496
---------------- ---------- ---------- ----------
Total memory 7,993,344 162,704 7,830,640

Total under 1 MB 653,312 97,168 556,144

Largest executable program size 555,872 (543K)
Largest free upper memory block 0 (0K)
MS-DOS is resident in the high memory area.

Quest for Glory 2 now runs with no problem. I haven't used MEMMAKER,EXE yet. I will soon, I think, since eventually I want to be able to run The Dagger of Amon Ra from its original CD. I remember that took my dad forever to configure everything just right so it would fully work. And I still want to become skilled in writing AUTOEXEC.BAT and CONFIG.SYS files, including multiple boot options. Thanks!
 

Attachments

  • MEM_C2.TXT
    1.5 KB · Views: 1
Last edited:
Nothing is using high memory right now. I think to get UMB, you need emm386, not just himem. And if you add highscan to emm386, you might get a few more. Memmaker usually takes care of all of that.
 
Disk 4 is usually not needed. AFAIR, it's just supplemental stuff that generally isn't needed. Why some machines want it and others don't shouldn't be a concern.
 
Last edited:
Before I start using MEMMAKER, what exactly does it do? Is it just a really user-friendly way to automatically get CONFIG.SYS and AUTOEXEC.BAT files that allocate memory optimally? Or does it change stuff that would take a lot of trouble to undo? :dontgeti:

Side note: Due to various installations of software and maybe hardware, including DOS and Windows 3.1 for Workgroups, I've got about 6 different CONFIG.* and AUTOEXEC.* files in the C-root. I keep them all for the sake of knowing the history of the computer, even though it is modernly established. I don't want to lose any lines that are important to making the PC run the way I want (especially configuring hardware like my Zip drive). Once I get skilled in writing CONFIG.SYS and AUTOEXEC.BAT files, maybe I won't be so worried about that. :rolleyes:
 
It will ask you some questions at the beginning. It asks about reserving memory for windows 3.1, and I think that is rarely really needed, and it wastes memory for DOS programs.
It just edits those two files, it takes a couple of reboots to make the calculations and lets you confirm everything seems to be running.
If you back them up first, you should be good to go. It rarely completely clobbers anything, but a back up is always a good idea.
 
MEMMAKER did its job pretty well and harmlessly. It copied AUTOEXEC.BAT to AUTOEXEC.UMB and CONFIG.SYS to CONFIG.UMB, and edited AUTOEXEC.BAT and CONFIG.SYS.

For AUTOEXEC.BAT it added a switch to the lines to which I added "LH", and added what looks to me like a memory block pointer. So for example,
  • LH c:\util\explosiv\explosiv.com m5
became
  • LH /L:1,15264 c:\util\explosiv\explosiv.com m5
For CONFIG.SYS it added those likewise and some other things. Here is the output from MEM /C. It looks significantly higher. It added EMM386 as well.

Modules using memory below 1 MB:

Name Total = Conventional + Upper Memory
-------- ---------------- ---------------- ----------------
MSDOS 17,917 (17K) 17,917 (17K) 0 (0K)
HIMEM 1,168 (1K) 1,168 (1K) 0 (0K)
EMM386 3,120 (3K) 3,120 (3K) 0 (0K)
COMMAND 2,928 (3K) 2,928 (3K) 0 (0K)
CD1 28,912 (28K) 0 (0K) 28,912 (28K)
WORKGRP 3,136 (3K) 0 (0K) 3,136 (3K)
EXPLOSIV 5,696 (6K) 0 (0K) 5,696 (6K)
MSCDEX 27,952 (27K) 0 (0K) 27,952 (27K)
GMOUSE 9,408 (9K) 0 (0K) 9,408 (9K)
Free 695,072 (679K) 627,968 (613K) 67,104 (66K)

Memory Summary:

Type of Memory Total = Used + Free
---------------- ---------- ---------- ----------
Conventional 653,312 25,344 627,968
Upper 142,208 75,104 67,104
Reserved 0 0 0
Extended (XMS) 7,197,824 226,432 6,971,392
---------------- ---------- ---------- ----------
Total memory 7,993,344 326,880 7,666,464

Total under 1 MB 795,520 100,448 695,072

Largest executable program size 627,872 (613K)
Largest free upper memory block 66,928 (65K)
MS-DOS is resident in the high memory area.

It asked me if any of my programs require EMS memory. I gave the default answer of no since I didn't know.

MEMMAKER did ask about Windows 3.1, but I don't know what it did regarding that. I wish I did, because I just don't like knowledge of my own vintage computer's setup being obscured/taken away from me, after I've spent months setting up everything myself so that I know what is what and where it is.
 

Attachments

  • MEM_C3.TXT
    1.5 KB · Views: 1
Last edited:
memmaker does okay.

But when you really need every last ounce of conventional, there is nothing better than QEMM (Quarterdeck Expanded Memory Manager) You can find it online with a quick google.

Runs through thousands of permutations to get you every byte of memory free. Adds a nice quickboot feature too. I can't live without it these days. Works for Dos and Win9x
 
Before I start using MEMMAKER, what exactly does it do? Is it just a really user-friendly way to automatically get CONFIG.SYS and AUTOEXEC.BAT files that allocate memory optimally? Or does it change stuff that would take a lot of trouble to undo? :dontgeti:

It finds unused memory blocks in the upper 384k memory region and makes them available for use for TSRs and such so you can have as much free conventional memory as possible.

In FreeDOS, it can go further and actually give you more than 640k of conventional memory. I have it running on my 486, and I have 736k of free conventional memory.
 
It asked me if any of my programs require EMS memory. I gave the default answer of no since I didn't know.

MEMMAKER did ask about Windows 3.1, but I don't know what it did regarding that. I wish I did, because I just don't like knowledge of my own vintage computer's setup being obscured/taken away from me, after I've spent months setting up everything myself so that I know what is what and where it is.

I'm think the Win3.1 question determines whether to load part of dos in the High Memory Area (HMA), or leave it vacant for Windows to use. According to your mem/c/p, DOS is using the HMA, which is what you want unless you spend your time 100% in Windows.
 
Back
Top