VOGONS


Dos 6 conventional memory tricks

Topic actions

Reply 240 of 298, by GigAHerZ

User metadata
Rank Oldbie
Rank
Oldbie
Carrera wrote on 2021-03-17, 10:27:

I remember that tip as well!
Also, if you were lucky to have 2 hard drives setting those parameters to the other drive could sped things up a bit...

Woah, what's the logic in that? Something related to seek times?

"640K ought to be enough for anybody." - And i intend to get every last bit out of it even after loading every damn driver!

Reply 241 of 298, by Carrera

User metadata
Rank Member
Rank
Member

Basically.. Yeah
In general if you could afford it you put the operating system on one hard drive and all other stuff on another as you tend to read from one and write to the other thus saving (admittedly milliseconds) time.
It was probably not very useful....

There was also a trick of doing this with the other functions. I am nut sure it was SmartDrive or the swap file maybe...?

Reply 242 of 298, by megatron-uk

User metadata
Rank Oldbie
Rank
Oldbie

Actually, splitting temporary file areas, swap and other things across multiple drives, as well as seperating the OS out from applications is still very common - think about a modern multi-tasking operating system; it's nearly always doing more than one thing at a time. In the days when hard drive transfer rates were measured in single digits to dozens of megabytes it was incredibly easy for one badly performing process to lock up your system by starving all IO.

Move the IO for that application to another drive/channel, and your other applications (and the OS itself) can continue with other IO requests while that application (slowly) performs its reads and writes.

My collection database and technical wiki:
https://www.target-earth.net

Reply 243 of 298, by Jo22

User metadata
Rank l33t++
Rank
l33t++

^^ I think the same.

I guess ROM-based operating systems like Atari TOS did have an advantage here.

They had instant access to their libraries of code, without needing fixed disk drives.

In fact, they still have that advantage.
They never had to fight over disk i/o with the applications.

Operating systems like Windows will always be behind in this specific point, I think,
unless they are being run on a RAM drive.

Speaking of RAM drives/disks, Linux has the ability to run in such an environment (TO RAM argument).

However, if we're a little bit sarcastic, we could say that it requires that option somewhat badly also.
It handles everything through the file system, after all (everything's a file). 😉

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 244 of 298, by GigAHerZ

User metadata
Rank Oldbie
Rank
Oldbie

Well, today's operating systems keep a lot in the ram and therefore kinda run from a "ram drive". It's not a new idea...

"640K ought to be enough for anybody." - And i intend to get every last bit out of it even after loading every damn driver!

Reply 245 of 298, by Intel486dx33

User metadata
Rank l33t
Rank
l33t

By loading everything high in config files on my 486 I am able to use just 3 megabyte’s of conventional memory of my 16 megabyte’s of ram.
Has anyone been able to use less on a 486 running DOS 6.22 ?

Reply 246 of 298, by cyclone3d

User metadata
Rank l33t++
Rank
l33t++
Intel486dx33 wrote on 2021-06-03, 05:13:

By loading everything high in config files on my 486 I am able to use just 3 megabyte’s of conventional memory of my 16 megabyte’s of ram.
Has anyone been able to use less on a 486 running DOS 6.22 ?

What? Conventional memory is the first 640KB of RAM.

Did you mean to say that you are able to only use 3KB of conventional memory, giving you ~637KB of free conventional memory?

Yamaha modified setupds and drivers
Yamaha XG repository
YMF7x4 Guide
Aopen AW744L II SB-LINK

Reply 247 of 298, by Caluser2000

User metadata
Rank l33t
Rank
l33t
cyclone3d wrote on 2021-06-03, 05:25:
Intel486dx33 wrote on 2021-06-03, 05:13:

By loading everything high in config files on my 486 I am able to use just 3 megabyte’s of conventional memory of my 16 megabyte’s of ram.
Has anyone been able to use less on a 486 running DOS 6.22 ?

What? Conventional memory is the first 640KB of RAM.

Did you mean to say that you are able to only use 3KB of conventional memory, giving you ~637KB of free conventional memory?

I'd like to see his config.sys and autoexec.bat files........

As well as the C:\>mem output.

There's a glitch in the matrix.
A founding member of the 286 appreciation society.
Apparently 32-bit is dead and nobody likes P4s.
Of course, as always, I'm open to correction...😉

Reply 248 of 298, by GigAHerZ

User metadata
Rank Oldbie
Rank
Oldbie
Caluser2000 wrote on 2021-06-03, 06:50:

As well as the C:\>mem output.

"mem /c/a > output.txt" would be the best. 😀

"640K ought to be enough for anybody." - And i intend to get every last bit out of it even after loading every damn driver!

Reply 249 of 298, by honx

User metadata
Rank Newbie
Rank
Newbie
BloodyCactus wrote on 2019-03-05, 20:01:

its in this zip

https://kråketær.com/stuff.zip

mcbexp for mcb expander. I dont know if its latest version, I'll check when I get home tonight.

this link doesn't seem to work anymore. 🙁
can you please reupload that zip file? thanks in advance!

Reply 250 of 298, by BloodyCactus

User metadata
Rank Oldbie
Rank
Oldbie
honx wrote on 2021-08-26, 19:32:
BloodyCactus wrote on 2019-03-05, 20:01:

its in this zip

https://kråketær.com/stuff.zip

mcbexp for mcb expander. I dont know if its latest version, I'll check when I get home tonight.

this link doesn't seem to work anymore. 🙁
can you please reupload that zip file? thanks in advance!

its in here
Releasing some of my old DOS stuff

--/\-[ Stu : Bloody Cactus :: [ https://bloodycactus.com :: http://kråketær.com ]-/\--

Reply 251 of 298, by Nemo1985

User metadata
Rank Oldbie
Rank
Oldbie

I'm wasting back some time trying to further improve the free conventional memory.
I'm wondering in your opinion which of those 2 setup is better:

Older configuration:

 Tipo di memoria      Totale         Usata     Disponibile
---------------- ----------- ----------- -----------
Convenzionale 655.360 14.704 640.656
Superiore 223.664 57.824 165.840
Riservata 393.216 393.216 0
Estesa (XMS) 132.945.488 10.929.744 122.015.744
---------------- ----------- ----------- -----------
Memoria totale 134.217.728 11.395.488 122.822.240

Tot. inf. a 1 MB 879.024 72.528 806.496

Dim. massima di un programma eseguibile 640.640 (626K)
Dim. massima di un blocco libero di memoria superiore 155.248 (152K)

New configuration:

  Tipo di memoria      Totale         Usata     Disponibile
---------------- ----------- ----------- -----------
Convenzionale 655.360 9.968 645.392
Superiore 196.144 57.824 138.320
Riservata 393.216 393.216 0
Estesa (XMS) 132.973.008 10.854.864 122.118.144
---------------- ----------- ----------- -----------
Memoria totale 134.217.728 11.315.872 122.901.856

Tot. inf. a 1 MB 851.504 67.792 783.712

Dim. massima di un programma eseguibile 645.376 (630K)
Dim. massima di un blocco libero di memoria superiore 122.496 (120K)

The new configuration gives 4kb of free conventional memory but the upper memory block is quite smaller (that's a general configuration it still needs audio driver to be loaded and probably something else), also 626kb of free conventional memory should be enough for any program, is that right?

Reply 252 of 298, by Caluser2000

User metadata
Rank l33t
Rank
l33t
GigAHerZ wrote on 2021-06-03, 08:21:
Caluser2000 wrote on 2021-06-03, 06:50:

As well as the C:\>mem output.

"mem /c/a > output.txt" would be the best. 😀

Have we seen this yet?

There's a glitch in the matrix.
A founding member of the 286 appreciation society.
Apparently 32-bit is dead and nobody likes P4s.
Of course, as always, I'm open to correction...😉

Reply 253 of 298, by Caluser2000

User metadata
Rank l33t
Rank
l33t
Nemo1985 wrote on 2021-09-01, 03:21:
I'm wasting back some time trying to further improve the free conventional memory. I'm wondering in your opinion which of those […]
Show full quote

I'm wasting back some time trying to further improve the free conventional memory.
I'm wondering in your opinion which of those 2 setup is better:

Older configuration:

 Tipo di memoria      Totale         Usata     Disponibile
---------------- ----------- ----------- -----------
Convenzionale 655.360 14.704 640.656
Superiore 223.664 57.824 165.840
Riservata 393.216 393.216 0
Estesa (XMS) 132.945.488 10.929.744 122.015.744
---------------- ----------- ----------- -----------
Memoria totale 134.217.728 11.395.488 122.822.240

Tot. inf. a 1 MB 879.024 72.528 806.496

Dim. massima di un programma eseguibile 640.640 (626K)
Dim. massima di un blocco libero di memoria superiore 155.248 (152K)

New configuration:

  Tipo di memoria      Totale         Usata     Disponibile
---------------- ----------- ----------- -----------
Convenzionale 655.360 9.968 645.392
Superiore 196.144 57.824 138.320
Riservata 393.216 393.216 0
Estesa (XMS) 132.973.008 10.854.864 122.118.144
---------------- ----------- ----------- -----------
Memoria totale 134.217.728 11.315.872 122.901.856

Tot. inf. a 1 MB 851.504 67.792 783.712

Dim. massima di un programma eseguibile 645.376 (630K)
Dim. massima di un blocco libero di memoria superiore 122.496 (120K)

The new configuration gives 4kb of free conventional memory but the upper memory block is quite smaller (that's a general configuration it still needs audio driver to be loaded and probably something else), also 626kb of free conventional memory should be enough for any program, is that right?

In the big scheme of things it isn't going to make much difference at all.

There's a glitch in the matrix.
A founding member of the 286 appreciation society.
Apparently 32-bit is dead and nobody likes P4s.
Of course, as always, I'm open to correction...😉

Reply 254 of 298, by Nemo1985

User metadata
Rank Oldbie
Rank
Oldbie
Caluser2000 wrote on 2021-09-01, 04:10:

In the big scheme of things it isn't going to make much difference at all.

Well the first configuration use xmgr.sys and emm386, while the second use jemmex (I wasn't able to use xmgr and jemmex).

That being said, can you please elaborate? Which one would you use?

Edit: I just noticed that with jemmex windows 3.11 doesn't run because it complains the lack of himem.sys

Last edited by Nemo1985 on 2021-09-01, 05:15. Edited 1 time in total.

Reply 255 of 298, by canthearu

User metadata
Rank Oldbie
Rank
Oldbie
Carrera wrote on 2021-03-17, 11:05:
Basically.. Yeah In general if you could afford it you put the operating system on one hard drive and all other stuff on another […]
Show full quote

Basically.. Yeah
In general if you could afford it you put the operating system on one hard drive and all other stuff on another as you tend to read from one and write to the other thus saving (admittedly milliseconds) time.
It was probably not very useful....

There was also a trick of doing this with the other functions. I am nut sure it was SmartDrive or the swap file maybe...?

Wouldn't make any difference in DOS though.

DOS is strictly single tasking. It will sit there waiting for each I/O to complete no matter which drive you send it to.

Maybe with SMARTDRV or other smart caching software, you could eek out a small measure of improved performance with multiple drives vs 1, but it wouldn't be much.

To get benefit from multiple drives, you need software that is able to do multiple things at once.

Reply 256 of 298, by canthearu

User metadata
Rank Oldbie
Rank
Oldbie

In terms of how much I try to optimise memory, I don't run a lot of drivers on most of my systems so it isn't really that hard.

Default HIMEM.SYS then EMM386.EXE. Load DOS and all the drivers high. Do mild optimisation to get conventional memory free, and whatever high memory is left is fine, as non-TSR software generally doesn't care about high memory.

Reply 257 of 298, by Joseph_Joestar

User metadata
Rank l33t
Rank
l33t

Some interesting tips here. On my system, this line as posted by @DonutKing seems to be freeing up around 20 KB of conventional memory by itself:

DEVICE=C:\DOS\EMM386.EXE AUTO RAM M3 A=64 H=128 D=256 HIGHSCAN X=B800-C7FF I=C800-EFFF I=B000-B7FF NOTR

I have a couple of questions about that.

  1. What are the memory ranges listed here normally used for? Monochrome graphics adapters?
  2. What does the NOTR parameter do?
  3. Is HIGHSCAN necessary for this line to work?
  4. Are there any documented issues with games that arise from using this approach? I mean specific examples, not a general "some games might crash" warning

PC#1: Pentium MMX 166 / Soyo SY-5BT / S3 Trio64V+ / Voodoo1 / YMF719 / AWE64 Gold / SC-155
PC#2: AthlonXP 2100+ / ECS K7VTA3 / Voodoo3 / Audigy2 / Vortex2
PC#3: Athlon64 3400+ / Asus K8V-MX / 5900XT / Audigy2
PC#4: i5-3570K / MSI Z77A-G43 / GTX 970 / X-Fi

Reply 258 of 298, by dr_st

User metadata
Rank l33t
Rank
l33t
  1. DOS Memory Ranges. Specifically B000-B7FF is monochrome text - almost never used by games, so frequently recommended.
  2. EMM386 NOTR - can work around some hangs, does not increase available blocks as I understand it.
  3. HIGHSCAN tells EMM386 to try to search heuristically for free blocks. You don't need it if you specify I= and X= ranges manually. HIGHSCAN can also cause some PCs to hang.
  4. I know of at least one game that crashes with B000-B7FF (CDMan2), and there may be a couple of others. I found I=B400-B7FF (or even B100-B7FF) to be more compatible, at the cost of lower free UMBs.
  5. The other ranges (C000 and higher) are for BIOS expansion ROMs. They do not specifically conflict with games, but may conflict with expansion cards you have installed and cause lockups.

Full documentation of EMM386 options. In particular, I have no idea why one should use A=64; seems like it only increases EMM386's footprint with no gain (how frequently does one multi-task in DOS?)

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

Reply 259 of 298, by Joseph_Joestar

User metadata
Rank l33t
Rank
l33t
dr_st wrote on 2021-09-27, 07:07:

Cheers! That explains some things more clearly.

BTW, for testing purposes, I just reverted all of the tweaks that I added manually (including the EMM386 line listed previously) and let MEMMAKER.EXE work its magic on the unmodified AUTOEXEC.BAT and CONFIG.SYS. Surprisingly, it achieved an even better result, giving me 614 KB of free conventional memory. And this is without using any of those memory ranges and without HIGHSCAN.

I think I'm good with that and will likely keep this setup.

PC#1: Pentium MMX 166 / Soyo SY-5BT / S3 Trio64V+ / Voodoo1 / YMF719 / AWE64 Gold / SC-155
PC#2: AthlonXP 2100+ / ECS K7VTA3 / Voodoo3 / Audigy2 / Vortex2
PC#3: Athlon64 3400+ / Asus K8V-MX / 5900XT / Audigy2
PC#4: i5-3570K / MSI Z77A-G43 / GTX 970 / X-Fi