China DOS Union

-- Unite DOS · Advance DOS · Grow DOS --

Union site: www.cn-dos.net Forum site: www.cn-dos.net/forum
DOS stands for freedom, openness and progress. Let us work hard, learn from the openness and GNU spirit of FreeDOS and Linux, and together build and grow a free GNU GPL world!

中国DOS联盟论坛
The time now is 2026-06-29 14:17
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » Is there any way to get smartdrv out of conventional memory? View 971 Replies 8
Original Poster Posted 2005-12-11 13:01 ·  中国 广东 河源 电信
中级用户
★★
Credits 201
Posts 72
Joined 2005-11-20 20:57
20-year member
UID 45624
Status Offline
After loading smartdrv, is there any way to make it leave conventional memory?
Floor 2 Posted 2005-12-11 14:28 ·  中国 江西 抚州 电信
高级用户
★★★
中國DOS聯盟常任參議员
Credits 686
Posts 318
Joined 2005-11-04 13:00
20-year member
UID 77577
Gender Male
Status Offline
Seems not.
Floor 3 Posted 2005-12-13 11:41 ·  中国 安徽 芜湖 电信
高级用户
★★★
Credits 866
Posts 415
Joined 2005-12-04 11:19
20-year member
UID 46459
Status Offline
Re cain

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

Then smartdrv.exe can run in upper memory.
Floor 4 Posted 2005-12-14 12:35 ·  中国 广东 中山 电信
高级用户
★★★
Credits 972
Posts 420
Joined 2004-05-16 00:00
22-year member
UID 24467
Gender Male
Status Offline
Misleading people.
平生进退如飙风
Floor 5 Posted 2005-12-14 16:53 ·  中国 重庆 渝中区 联通
中级用户
★★
Credits 236
Posts 101
Joined 2005-11-27 19:35
20-year member
UID 46050
Status Offline
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!
Floor 6 Posted 2005-12-14 23:29 ·  阿根廷
中级用户
★★
Credits 438
Posts 146
Joined 2004-03-10 00:00
22-year member
UID 19720
Gender Female
Status Offline
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
Floor 7 Posted 2005-12-15 09:28 ·  中国 安徽 芜湖 电信
高级用户
★★★
Credits 866
Posts 415
Joined 2005-12-04 11:19
20-year member
UID 46459
Status Offline
Re cain

For the detailed situation, please see my post:
http://www.cn-dos.net/forum/viewthread.php?tid=18083&fpage=3
Floor 8 Posted 2005-12-16 18:28 ·  中国 重庆 渝中区 联通
中级用户
★★
Credits 236
Posts 101
Joined 2005-11-27 19:35
20-year member
UID 46050
Status Offline
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.
Floor 9 Posted 2005-12-16 18:59 ·  中国 山东 济南 移动
钻石会员
★★★★★
Credits 10,046
Posts 3,039
Joined 2002-11-11 00:00
23-year member
UID 223
Gender Male
Status Offline
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.
简单就是美
Forum Jump: