VOGONS


MS-DOS 6.22 memory problem

Topic actions

First post, by Elia1995

User metadata
Rank Oldbie
Rank
Oldbie

Hi, I've been using MS-DOS 6.22 for almost 2 years now in my Celeron rig, it always worked perfectly, in fact it's been my best DOS computer so far, recently I had to swap the hardisk with another one due to some bad sectors in the previous one and not being able to 100% use it under Windows 98 (I made it dual boot with Windows 98 to manage files and bring stuff into it via USB), so I swapped the hardisk with another, smaller one, partitioned it, installed MS-DOS 6.22 first and then Windows 98 in the other partition hiding the other one with XFDISK (which I also use as boot manager), no problems at all, Windows 98 works fine, DOS works fine, I installed the MSCDEX SSCD000 driver to use CDs as usual, I then installed my AWE32 drivers from the CD, rebooted, added some Apogee games to test it, and memory problems began.

First of all, the computer has 512MB SDRAM, which are perfect since I dual boot with Windows 98, MS-DOS 6.22 should use 64MB, but for some reason I can't get more than 28K in the extended memory and I can't free up the conventional memory at all, even if I load everything in the autoexec using "LH", or in config.sys using "DEVICEHIGH", obviously I set DOS=HIGH at first and then DOS=HIGH,UMB in config.sys, but nothing changes.
Memmaker, which used to always solve my memory problems, this time isn't helpful, but actually harmful, when I use it, I get even less free memory than before, even enabling the BF0000 monochromatic memory banks.

The PC works just fine, all memory works just fine under Windows 98, it used to work fine in DOS before changing hardisk and formatting, so it has to be some odd memory management problem within MS-DOS 6.22's HIMEM and EMM386.

I also tried installing FreeDOS before installing MS-DOS 6.22, but the installation always got stuck in "creating boot files" after it copied all the system files in C:\, so after 4 retries, I gave up and installed MS-DOS 6.22.... I'd try to see if DR. DOS 7.03 automagically solves the memory problem, since it has different memory managers, but if it doesn't, it'd be just a waste of time and floppies.

Currently assembled vintage computers I own: 11

Most important ones:
A "modded" Olivetti M4 434 S (currently broken).
An Epson El Plus 386DX running MS-DOS 6.22 (currently broken).
Celeron Coppermine 1.10GHz on an M754LMRTP motherboard

Reply 1 of 28, by konc

User metadata
Rank l33t
Rank
l33t

You realize that you didn't tell us how much conventional you end up with and that you didn't post the contents of your config.sys, autoexec.bat and mem /c output, right? 🤣

Reply 2 of 28, by dr_st

User metadata
Rank l33t
Rank
l33t

Again, crap setups and waste of time... MS-DOS 6.22 triple booted with DR-DOS 7.03, and Windows 98 SE, hiding partitions from one another using third-party utilities...

When will this stupidity end, and people realize that Windows 98 SE in itself covers all the pure DOS modes they want, and in fact has better built-in memory management capabilities for freeing up more conventional memory?

https://cloakedthargoid.wordpress.com/ - Random content on hardware, software, games and toys

Reply 3 of 28, by derSammler

User metadata
Rank l33t
Rank
l33t
konc wrote:

You realize that you didn't tell us how much conventional you end up with and that you didn't post the contents of your config.sys, autoexec.bat and mem /c output, right? 🤣

I hope he also realize that there's not a single question in his post. 😵

Anyway, it's damn easy to get >610kb conventional memory under DOS even with mouse, cd-rom, sound card drivers etc. loaded. You just have to follow a few simple rules. First one is not to use MEMMAKER...

Reply 4 of 28, by timb.us

User metadata
Rank Newbie
Rank
Newbie
dr_st wrote:

Again, crap setups and waste of time... MS-DOS 6.22 triple booted with DR-DOS 7.03, and Windows 98 SE, hiding partitions from one another using third-party utilities...

When will this stupidity end, and people realize that Windows 98 SE in itself covers all the pure DOS modes they want, and in fact has better built-in memory management capabilities for freeing up more conventional memory?

Let me guess, you’re the kind of guy who likes to mix all the food together on his plate and eat it with regard to taste?

Windows 98 (MS-DOS 7.x) does break some MS-DOS 5 and 6.22 functions and also implements quite a few new, undocumented ones. For pure DOS use 6.22 will always provide better compatibility than 7.x. If you really need FAT32 support then I’d pick FreeDOS before Windows 98.

Also, DR-DOS provides some pretty unique functionality compared to MS-DOS (like the task switching), so I can see why someone might want it installed.

Windows 9x also lacks a lot of DOS utilities that come with earlier (and other) versions of DOS. So you still have to bring all that stuff over. If you’re going to go through all that hassle, why not just start out with the older, more compatible version to begin with?

As for multi-booting, it really isn’t hard to set up or complicated. For a simple setup you can use something like BOOTMGR.COM, which installs in the MBR itself, so it doesn’t require its own partition (and has no dependencies). It can be set to auto-hide partitions for each of the 5 available entries if desired.

GRUB4DOS works well for more complicated setups. It can even emulate CD, FDD and HDDs from image files.

On my Libretto I use GRUB4DOS to switch between FreeDOS, Windows 98 and Damn Small Linux.

On my 386 I have PC-DOS, MS-DOS, DR-DOS and FreeDOS Installed, and use BOOTMGR to switch between them. (In fairness, it’s test system for hardware and software development work.)

Personally, I don’t like my applesauce to taste like gravy, so I’ll keep my food separate thank you very much.

Any sufficiently advanced technology is indistinguishable from magic. (E.g., Cheez Whiz, RF, Hot Dogs)

Reply 5 of 28, by dr_st

User metadata
Rank l33t
Rank
l33t
timb.us wrote:

Let me guess, you’re the kind of guy who likes to mix all the food together on his plate and eat it with regard to taste?

Let me guess, you are the kind of guy that has separate washing machines for whites, colors, socks and blankets, instead of using the same machine and just setting the programs depending on the load?

timb.us wrote:

Windows 98 (MS-DOS 7.x) does break some MS-DOS 5 and 6.22 functions and also implements quite a few new, undocumented ones.

No. I mean, yes, technically it does, because it is not 100% identical, but so far no one has provided a single example of anything that actually matters for any game being broken. And that's in about 20 years of using that thing.

timb.us wrote:

Windows 9x also lacks a lot of DOS utilities that come with earlier (and other) versions of DOS. So you still have to bring all that stuff over. If you’re going to go through all that hassle, why not just start out with the older, more compatible version to begin with?

Because it's not more compatible, and the hassle of dealing with a multi-boot environment (at least when something breaks, as is the case here) is larger than the hassle of bringing the utilities over once.

https://cloakedthargoid.wordpress.com/ - Random content on hardware, software, games and toys

Reply 6 of 28, by konc

User metadata
Rank l33t
Rank
l33t
derSammler wrote:

I hope he also realize that there's not a single question in his post. 😵

Yeah I was just trying to reply politely and not with something like "so what exactly should we readers answer to?" 🤣

dr_st wrote:

No. I mean, yes, technically it does, because it is not 100% identical, but so far no one has provided a single example of anything that actually matters for any game being broken. And that's in about 20 years of using that thing.

This is a recurring statement and you are so right, no one has ever given a single example of a game compatibility issue with 7.1 vs 6.22. Not with older versions, strictly 7.1 vs 6.22.

Reply 7 of 28, by Scali

User metadata
Rank l33t
Rank
l33t

I don't know about games particularly, but my interests in DOS were more concentrated on the demoscene.
With DOS 7.x I found that certain demos couldn't be made to run, because of them using custom DOS extenders with very specific memory requirements.
For example, they may want at least X bytes of conventional memory free, and do not want the CPU to be in v86 mode, no EMM386 or HIMEM.SYS loaded.
I found that it was physically impossible to run these demos, because DOS 7.x just took up more memory than DOS 6.22. With DOS 6.22, you could just do a 'bare' boot without any config.sys or autoexec.bat, and you'd have more than X bytes free. With DOS 7.x you didn't.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 8 of 28, by Elia1995

User metadata
Rank Oldbie
Rank
Oldbie

I know I forgot to mention a few things, first of all I forgot to mention how much free conventional memory there was, but I assure you it was less than 520k, mem always reported as largest program executable around 512 to 520k whereas some games such as Realms of Chaos (ROC) required more than 525 if I remember correctly from its error message.
As I said, I installed MS-DOS along with Windows 98 for the unique purpose of bringing in software in my DOS system via USB, to avoid burning CD-ROMs for less than 20 MB per game and to avoid the usage of floppy disks, since I have very few of them and they seem to be all rotting while time passes by.

In the end I deleted all the partitions and the XFDISK boot manager and I installed OS/2 Warp 4.52, since it's been 2 years since I wanted to test this OS, this looked like the most appropriate moment, it's the first time I've ever used it, and I don't think I'll keep it in anyway, so I'll probably install Dr. DOS 7.03 as definitive system for that rig, since it looks like: the most reliable DOS along MS-DOS 6.22 and most feature-filled one for me (FreeDOS doesn't want to install, it just hangs at "installing boot filesystem" or something like that after it finishes decompressing and copying all the files, then if I reboot, it starts but 99% of the commands don't work, simple commands like even ren, deltree or del and edit ).

We'll see if DR-DOS 7.03 will automatically fix the memory problem with its own memory manager, I really don't know why MS-DOS 6.22 always worked fine with the exact same drivers and now it gave me these nightmares.

Currently assembled vintage computers I own: 11

Most important ones:
A "modded" Olivetti M4 434 S (currently broken).
An Epson El Plus 386DX running MS-DOS 6.22 (currently broken).
Celeron Coppermine 1.10GHz on an M754LMRTP motherboard

Reply 9 of 28, by Baoran

User metadata
Rank l33t
Rank
l33t

From my experience the newer the computer that you try to run dos in, less free space you have in high memory to load stuff in config.sys and autoexec.bat. At least that applies to all computers I have built.

Reply 10 of 28, by timb.us

User metadata
Rank Newbie
Rank
Newbie
dr_st wrote:

Because it's not more compatible, and the hassle of dealing with a multi-boot environment (at least when something breaks, as is the case here) is larger than the hassle of bringing the utilities over once.

Actually, I can think of several popover TSRs DOS 7.x breaks (in addition TSRs written with the PowerBasic compiler won’t run at all under DOS 7.x). There’s also some DOS extender issues that can crop up. This is just off the top of my head.

Multibooting isn’t the cause of the OP’s issues. So long as you use a reasonable boot manager and make a backup of your MBR first, there nothing wrong with multibooting.

As for my washing machines, since this isn’t Alabama *or* the 1950’s we don’t have separate (but equal) “Whites Only” and “Colored” machines here. I believe in the Laundry Bill of Rights. All clothes are allowed to use the same machine!

Any sufficiently advanced technology is indistinguishable from magic. (E.g., Cheez Whiz, RF, Hot Dogs)

Reply 11 of 28, by dr_st

User metadata
Rank l33t
Rank
l33t
timb.us wrote:

Actually, I can think of several popover TSRs DOS 7.x breaks (in addition TSRs written with the PowerBasic compiler won’t run at all under DOS 7.x). There’s also some DOS extender issues that can crop up. This is just off the top of my head.

This is exactly the type of response that I get every time I ask this question - some vague list of unspecific problems (several TSRs, some DOS extender issues...), with not a single concrete example.

Pray tell - which TSRs do not work, and what is their value to games / productivity applications (in other words - why should anyone care)?

Which DOS extender issues crop up? Do you have one specific example of something breaking? Preferably with enough details so that someone can actually verify and confirm that it's a DOS6 vs DOS7 compatibility problem, and not a configuration-specific glitch.

timb.us wrote:

Multibooting isn’t the cause of the OP’s issues. So long as you use a reasonable boot manager and make a backup of your MBR first, there nothing wrong with multibooting.

Indeed it is not the cause of his problems here, but it is an extra variable introduced into a setup, that must be accounted for.

And who in their right mind would say that there is something wrong with multi-booting? Heck, in the case of DOS and Win9x, you don't even need a "reasonable boot manager" - Windows 9x can take care of everything (changing between itself and the previous DOS version) without any extra utilities. The question is - why? Does it serve some purpose?

If it's for purposes of learning, tinkering, testing, providing support, or general education - this is all fine and well. But specifically in the case of DOS and Win9x, a lot of folks jump onto the "multi-booting" bandwagon, because they think there is some practical purpose to it, because they were told that there are some mysterious compatibility issues between DOS7.x and the games they want to play, which for all I know is simply false, and this misinformation goes on and spreads itself.

https://cloakedthargoid.wordpress.com/ - Random content on hardware, software, games and toys

Reply 12 of 28, by Elia1995

User metadata
Rank Oldbie
Rank
Oldbie

When I tried DOS 7.10, I remember that Windows 3.11 crashed every time I tried to run it, some games like Quake would crash with a BSoD (Black Screen of Death), with a bunch of run time and memory errors, Rayman used to freeze my keyboard after the Ubisoft logo and so on, are these examples enough to understand what I think about DOS 7.10 ?

Currently assembled vintage computers I own: 11

Most important ones:
A "modded" Olivetti M4 434 S (currently broken).
An Epson El Plus 386DX running MS-DOS 6.22 (currently broken).
Celeron Coppermine 1.10GHz on an M754LMRTP motherboard

Reply 13 of 28, by KCompRoom2000

User metadata
Rank Oldbie
Rank
Oldbie
Elia1995 wrote:

When I tried DOS 7.10, I remember that Windows 3.11 crashed every time I tried to run it, some games like Quake would crash with a BSoD (Black Screen of Death), with a bunch of run time and memory errors, Rayman used to freeze my keyboard after the Ubisoft logo and so on, are these examples enough to understand what I think about DOS 7.10 ?

Were you using Windows 3.11 in MS-DOS 7.1 CDU or Windows 98SE in DOS mode? Now that we know Windows 3.11 is important to you, I believe that's a genuine reason to be dual-booting MS-DOS 6.22 and Windows 9x. I've never had trouble playing DOS games in MS-DOS mode on Windows 9x, though.

Reply 14 of 28, by Elia1995

User metadata
Rank Oldbie
Rank
Oldbie

It was DOS 7.10 installed from some floppies or CD

Currently assembled vintage computers I own: 11

Most important ones:
A "modded" Olivetti M4 434 S (currently broken).
An Epson El Plus 386DX running MS-DOS 6.22 (currently broken).
Celeron Coppermine 1.10GHz on an M754LMRTP motherboard

Reply 15 of 28, by dr_st

User metadata
Rank l33t
Rank
l33t
Elia1995 wrote:

When I tried DOS 7.10, I remember that Windows 3.11 crashed every time I tried to run it, some games like Quake would crash with a BSoD (Black Screen of Death), with a bunch of run time and memory errors, Rayman used to freeze my keyboard after the Ubisoft logo and so on, are these examples enough to understand what I think about DOS 7.10 ?

Other than maybe Windows 3.11, all the others are for sure due to problems with your setup or you doing something wrong (like perhaps downloading some hacked Chinese "DOS 7.1" distribution). That is because I (and I am sure many others) have been successfully running Quake and Rayman, in Windows 98 SE DOS with zero issues.

Indeed Windows 3.11 may be the only genuine reason to have DOS 6.22 around, since its tighter integration does have the potential to cause various issues with the DOS 7.x. I think that there are ways to work around those as well (I never felt the need to use Win 3.x once I switched to Win9x, so I never bothered investigating it), but at that point they may be more complicated than just booting DOS 6.22, if for whatever reason you want to run Windows 3.11.

https://cloakedthargoid.wordpress.com/ - Random content on hardware, software, games and toys

Reply 16 of 28, by Elia1995

User metadata
Rank Oldbie
Rank
Oldbie

I still have to check if Caldera Dr. DOS 7.03 will fix the memory issues, I remember using it in my Olivetti 486 rig and was as stable as 6.22, Windows 3.11 worked perfectly

Currently assembled vintage computers I own: 11

Most important ones:
A "modded" Olivetti M4 434 S (currently broken).
An Epson El Plus 386DX running MS-DOS 6.22 (currently broken).
Celeron Coppermine 1.10GHz on an M754LMRTP motherboard

Reply 17 of 28, by tpowell.ca

User metadata
Rank Member
Rank
Member
timb.us wrote:
Actually, I can think of several popover TSRs DOS 7.x breaks (in addition TSRs written with the PowerBasic compiler won’t run at […]
Show full quote
dr_st wrote:

Because it's not more compatible, and the hassle of dealing with a multi-boot environment (at least when something breaks, as is the case here) is larger than the hassle of bringing the utilities over once.

Actually, I can think of several popover TSRs DOS 7.x breaks (in addition TSRs written with the PowerBasic compiler won’t run at all under DOS 7.x). There’s also some DOS extender issues that can crop up. This is just off the top of my head.

Multibooting isn’t the cause of the OP’s issues. So long as you use a reasonable boot manager and make a backup of your MBR first, there nothing wrong with multibooting.

As for my washing machines, since this isn’t Alabama *or* the 1950’s we don’t have separate (but equal) “Whites Only” and “Colored” machines here. I believe in the Laundry Bill of Rights. All clothes are allowed to use the same machine!

NOTE: My system has 256MB of RAM (AMD K6-III+).
I know I'm going to get blasted for saying this but I did recall also having issues with DOS 7.xx, vs 6.22. In my case though, I think it was because DOS7 could see more than 64MB of RAM causing oddly enough, out-of-memory errors in some games. Since DOS6 cannot see more than 64MB, these games ran without error. I cannot remember the game(s) but I do know they needed XMS and not EMS.
One more note, since DOs7 does things better than DOS6, with WAY better memory management, and support for FAT32, I wanted to keep my system DOS7 native,
However, I found that you *could* load the HIMEM.SYS (and EMM386.EXE) from DOS6 while booting from DOS7 (DOS7 IO.SYS and COMMAND.COM). It works, and negates the need for any FAT16 partitions or a full DOS6 install. Basically crappy DOS6 limitations, but on a FAT32 partition.
No need for multiboot, just a boot menu for those stupid games that need DOS6 memory management.

Last edited by tpowell.ca on 2018-03-19, 14:50. Edited 1 time in total.
  • Merlin: MS-4144, AMD5x86-160 32MB, 16GB CF, ZIP100, Orpheus, GUS, S3 VirgeGX 2MB
    Tesla: GA-6BXC, VIA C3 Ezra-T, 256MB, 120GB SATA, YMF744, GUSpnp, Quadro2
    Newton: K6XV3+/66, AMD K6-III+500, 256MB, 32GB SSD, AWE32, Voodoo3

Reply 18 of 28, by dr_st

User metadata
Rank l33t
Rank
l33t
tpowell.ca wrote:

I know I'm going to get blasted for saying this but I did recall also having issues with DOS 7.xx, vs 6.22. In my case though, I think it was because DOS7 could see more than 32MB of RAM causing oddly enough, out-of-memory errors in some games. Since DOS6 cannot see more than 32MB, these games ran without error. I cannot remember the game(s) but I do know they needed XMS and not EMS.

True. Aladdin is one example that comes to mind. There is a nifty EATXMS utility that "eats" XMS memory, which I used to get Aladdin to run on my 256MB RAM system. I think you cannot undo what it does without rebooting, though. There is a RAM disk solution that's more flexible. Both are available here:
http://www.oldskool.org/guides/oldonnew/resources

https://cloakedthargoid.wordpress.com/ - Random content on hardware, software, games and toys

Reply 19 of 28, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie

Since DOS6 cannot see more than 32MB, these games ran without error. I cannot remember the game(s) but I do know they needed XMS and not EMS.

I don't think the limit is 32MB. Even XMS 2.0 implemented in HIMEM.SYS of DOS 6.22 supports 64MB of memory. It's because the 16bit DX register that stores the number of blocks that used for querying/allocating XMS memory uses 1K units.
So the maximum available XMS is 1024 * 65535 = 64MB. With later HIMEM.SYS in DOS 7.1 you can reach 4GB XMS since according to XMS 3.0 specification the full 32bit EDX register can be used.
https://en.wikipedia.org/wiki/Extended_memory
http://www.phatcode.net/res/219/files/xms20.txt

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper