中国DOS联盟论坛

China DOS Union

-- Unite DOS · Advance DOS · Grow DOS --
Union site: www.cn-dos.net Forum site: www.cn-dos.net/forum
Guest | Log in | Register | Members | Search | China DOS Union
中国DOS联盟论坛
The time now is 2026-08-17 17:53
47,814 topics / 349,907 posts / today 4 new / 48,259 members
DOS疑难解答 & 问题讨论 (解答室) » Is there any way to get smartdrv out of conventional memory?
Printable Version  1,024 / 8
Floor1 cain Posted 2005-12-11 13:01
中级用户 Posts 72 Credits 201
After loading smartdrv, is there any way to make it leave conventional memory?
Floor2 Jneny Posted 2005-12-11 14:28
高级用户 Posts 318 Credits 686
Seems not.
Floor3 htysm Posted 2005-12-13 11:41
高级用户 Posts 415 Credits 866
Re cain

Edit this in config.sys:
devicehigh=c:\windows\smartdrv.exe

Then smartdrv.exe can run in upper memory.
Floor4 darkradx Posted 2005-12-14 12:35
高级用户 Posts 420 Credits 972
Misleading people.
Floor5 rocchapter Posted 2005-12-14 16:53
中级用户 Posts 101 Credits 236
Post #3, don't mess around.

smartdrv.exe is loaded in autoexec.bat.
If you want to put it into upper memory, you should use lh + program name.
But whether it can actually be loaded there still depends on what you've already loaded before that.
Whether there is enough upper memory.
There is a bit of technique involved in this. Generally speaking, load the ones that take more memory first, and the ones that take less later.
You can first use mem to take a look, and then load it.
For a typical DOS boot, the things that usually take memory, aside from the system kernel itself, are generally setver
emm386 himem the CD-ROM driver's sys file and the mscdex.exe file
and then smartdrv, and finally the mouse driver too. If there are some other programs as well, those have to be taken into account too. Drivers such as for sound cards generally do not take extra memory (they only set interrupts and the like).
To increase upper memory, add suitable parameters when loading emm386.
As for exactly how to do it, I can't explain it clearly all at once... you can go look for some examples.
In my better case, after loading the above programs, only 20-25KB of conventional memory is used (out of 640KB total).
If you're using msdos6.22, you can try memmaker!
Floor6 baby15500 Posted 2005-12-14 23:29
中级用户 Posts 146 Credits 438
These days everyone uses UMBPCI! Super strong, highly recommended

You can have 160K of UMB left over. Even if you LOADHIGH all that messy stuff like SMARTDRV, MOUSE, MSCDEX and so on, you'll still have over 100K of UMB left, and conventional memory left is over 620, feels great
Floor7 htysm Posted 2005-12-15 09:28
高级用户 Posts 415 Credits 866
Re cain

For the detailed situation, please see my post:
http://www.cn-dos.net/forum/viewthread.php?tid=18083&fpage=3
Floor8 rocchapter Posted 2005-12-16 18:28
中级用户 Posts 101 Credits 236
Generally 600KB conventional is enough.
I've run into a game that wanted 610KB of memory.

If a program under DOS needs to use more than 570KB of memory, then when designing it they should have used various methods to use extended memory.
Floor9 Michael Posted 2005-12-16 18:59
钻石会员 Posts 3,041 Credits 10,056
This has already gone far off topic.
Once smartdrv is loaded, it cannot be unloaded.
But pc-cache and ncache both provide an unload option.
[ Contact the Union admin team - 中国DOS联盟 - Standard version ]
Sponsored by ifanr Inc | © 2001–2023