中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
作者:
标题: 新電腦的傳統記憶體不足 上一主题 | 下一主题
jonsun
新手上路





积分 12
发帖 5
注册 2007-8-22
来自 台灣
状态 离线
『楼 主』:  新電腦的傳統記憶體不足 使用 LLM 解释/回答一下

本人公司用純DOS掛倚天(繁體)上NOVELL,用P300印表.
軟體須要500K傳統記憶體,
因新電腦BIOS佔用太多upper memory,因此傳統記憶體變少了.
我試了在 XP WIN2000,DOS視窗,或模擬器多上不NOVELL.
不知是否設定錯誤.煩請高人指點.
或者有更好的方法.
謝謝!


2007-8-22 22:42
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
DOSforever
金牌会员





积分 4639
发帖 2239
注册 2005-1-30
状态 离线
『第 2 楼』:   使用 LLM 解释/回答一下

有个概念先要澄清一下,各种硬件的 BIOS 所占用的地址空间是在 Reserved Memory 中的,在 Reserved Memory 中未被占用的空间叫做 Upper Memory ,可以被用户程序所利用。由于 Upper Memory 不一定是连续的,每一个连续的空间叫做 Upper Memory Block ,简称 UMB 。你只要在 config.sys 和 autoexec.bat 中把设备驱动程序和 TSR 尽量加载到 Upper Memory 中去就能腾出更多的 Conventional Memory 。




DOS倒下了,但永远不死
DOS NEVER DIES !

投票调查:
http://www.cn-dos.net/forum/viewthread.php?tid=46187

本人尚未解决的疑难问题:
http://www.cn-dos.net/forum/viewthread.php?tid=15135
http://www.cn-dos.net/forum/viewthread.php?tid=47663
http://www.cn-dos.net/forum/viewthread.php?tid=48747
2007-8-23 12:44
查看资料  发短消息  网志   编辑帖子  回复  引用回复
jonsun
新手上路





积分 12
发帖 5
注册 2007-8-22
来自 台灣
状态 离线
『第 3 楼』:   使用 LLM 解释/回答一下

感謝DOSforever回應!
掛上
himem.sys
emm386.exe ,進入DOS後
mem
upper memory 只有 65K
倚天(繁體)大約有180k,加上驅動程式.
640+65-180-驅動程式=340K,軟體須要500K.
如何是好?


2007-8-23 19:02
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
DOSforever
金牌会员





积分 4639
发帖 2239
注册 2005-1-30
状态 离线
『第 4 楼』:   使用 LLM 解释/回答一下

把你的 config.sys 、autoexec.bat 文件的内容以及 mem/c/a 、mem/f、mem/d/a 的内容贴上来,最好把 MSD 仅内存报告部分的内容也贴上来。




DOS倒下了,但永远不死
DOS NEVER DIES !

投票调查:
http://www.cn-dos.net/forum/viewthread.php?tid=46187

本人尚未解决的疑难问题:
http://www.cn-dos.net/forum/viewthread.php?tid=15135
http://www.cn-dos.net/forum/viewthread.php?tid=47663
http://www.cn-dos.net/forum/viewthread.php?tid=48747
2007-8-24 00:06
查看资料  发短消息  网志   编辑帖子  回复  引用回复
jonsun
新手上路





积分 12
发帖 5
注册 2007-8-22
来自 台灣
状态 离线
『第 5 楼』:   使用 LLM 解释/回答一下

這是 ASUS P5GC-MX 主機板 純DOS

CONFIG.SYS:


menuitem=CD, Start computer with CD-ROM support.
menuitem=NOCD, Start computer without CD-ROM support.
menuitem=NOVELL, ON LINE NOVELL.
menudefault=NOVELL,10
menucolor=7,0


dos=high,umb
devicehigh=c:\dos98\himem.sys /testmem:off
rem devicehigh=c:\dos98\emm386.exe noems x=a000-c9ff i=e000-efff
devicehigh=c:\dos98\emm386.exe noems
lastdrive=e


INCLUDE NOCD
devicehigh=c:\dos98\teac_cdi.sys /D:TAC-CDI
lastdrive=f


INCLUDE NOCD


files=10
buffers=10
devicehigh=c:\dos98\ramdrive.sys /E 1024


autoexec.bat:

@ECHO OFF
set EXPAND=YES
SET DIRCMD=/O:N
set LglDrv=16 * 15
set LglDrv=%LglDrv% O 14 N 13 M 12 L 11 K 10 J 9 I 8 H 7 G 6 F 5 E 4 D 3 C
cls
call c:\dos98\setramd.bat %LglDrv%
SET PROMPT=$p$g
path=c:\;c:\dos98\;%RAMD%:\;%CDROM%:\
copy c:\dos98\command.com %RAMD%:\ > NUL
set comspec=%RAMD%:\command.com
IF "%config%"=="NOCD" GOTO QUIT
GOTO %config%

:NOCD
:CD
LH c:\dos98\MSCDEX.EXE /D:TAC-CDI
GOTO QUIT

:NOVELL
call c:\et3\et3
CALL c:\NET\NET.BAT
set CDROM=
set LglDrv=
f:
login acc1
cd \acc\prog

:QUIT
set CDROM=
set LglDrv=


c:>mem /d

Conventional Memory Detail:

Segment Total Name Type
------- ---------------- ----------- --------
00000 1,024 (1K) Interrupt Vector
00040 256 (0K) ROM Communication Area
00050 512 (1K) DOS Communication Area
00070 1,424 (1K) IO System Data
CON System Device Driver
AUX System Device Driver
PRN System Device Driver
CLOCK$ System Device Driver
A: - C: System Device Driver
COM1 System Device Driver
LPT1 System Device Driver
LPT2 System Device Driver
LPT3 System Device Driver
CONFIG$ System Device Driver
COM2 System Device Driver
COM3 System Device Driver
COM4 System Device Driver
000C9 5,120 (5K) MSDOS System Data
00209 7,584 (7K) IO System Data
1,024 (1K) Relocated EBIOS data
1,104 (1K) XMSXXXX0 Installed Device=HIMEM
4,304 (4K) EMMQXXX0 Installed Device=EMM386
544 (1K) Sector buffer
512 (1K) BUFFERS=10
003E3 80 (0K) MSDOS System Program
003E8 160 (0K) MEM Environment
003F2 90,624 (89K) MEM Program
01A12 548,560 (536K) MSDOS -- Free --

Upper Memory Detail:

Segment Region Total Name Type
------- ------ ---------------- ----------- --------
0CC5C 1 6,096 (6K) IO System Data
1,440 (1K) D: Installed Device=RAMDRIVE
464 (0K) Block device tables
304 (0K) FILES=10
256 (0K) FCBS=4
448 (0K) LASTDRIVE=E
3,072 (3K) STACKS=9,256
0CDD9 1 5,728 (6K) COMMAND Program
0CF3F 1 80 (0K) MSDOS -- Free --
0CF44 1 1,440 (1K) COMMAND Environment
0CF9E 1 67,104 (66K) MSDOS -- Free --

Memory Summary:

Type of Memory Total Used Free
---------------- ----------- ----------- -----------
Conventional 655,360 16,176 639,184
Upper 80,464 13,280 67,184
Reserved 0 0 0
Extended (XMS) 526,960,048 1,811,888 525,148,160
---------------- ----------- ----------- -----------
Total memory 527,695,872 1,841,344 525,854,528

Total under 1 MB 735,824 29,456 706,368
Memory accessible using Int 15h 0 (0K)
Largest executable program size 639,168 (624K)
Largest free upper memory block 67,104 (66K)
MS-DOS is resident in the high memory area.

XMS version 3.00; driver version 3.95


附帶請教:
devicehigh=c:\dos98\emm386.exe noems x=a000-c9ff i=e000-efff
config.sys 如加上這行,就當機

貼上這麼多,希望對你的判斷有所幫助.
謝謝!

Last edited by jonsun on 2007-8-25 at 11:14 PM ]


2007-8-25 23:01
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
DOSforever
金牌会员





积分 4639
发帖 2239
注册 2005-1-30
状态 离线
『第 6 楼』:   使用 LLM 解释/回答一下

从你的 config.sys 、autoexec.bat 以及 mem/d 的内容来看,基本的启动配置没占多少内存,看来也就是以后要加载的“倚天”汉字系统和其它的驱动程序所占的多。根据你的等式: 640+65-180-驅動程式=340K ,驱动程序要占用的内存应该是 640+65-340-180=185 (K) 。我的理解,你那65K空余的上位内存 Free Upper Memory 不需要算在其内,因为你需要的是更多的 Free Conventional Memory ,所以你只要计算 Conventional Memory 的使用量就可以了。按照前面的计算,你的“倚天”汉字系统和“其它驱动程序”相加就要占用365K的空间,即使是最理想的情况也开不出这么大的 Upper Memory 。“倚天”汉字系统我没用过,就我所用过的 SPDOS、UCDOS 来说它们都可以充分利用 XMS 或 EMS ,甚至较老方式通过 Int15h 来使用的 Extended Memeory ,我想“倚天”应该也可以,你看一下它的参数是否有这功能。UCDOS 可以自行判断是否有可利用的 EMS 或 XMS 从而节省 1M 一下内存的使用。你其它的“驱动程序”是什么?要占180K?!我在你的 config.sys 中看不出。就是要把这180K的驱动程序全都塞进 Upper Memory 也够呛的。

devicehigh=c:\dos98\emm386.exe noems x=a000-c9ff i=e000-efff

意思是排除 a000-c9ff 段作 Upper Memory ,把 e000-efff 段包括进来作 Upper Memory 。 x=a000-c9ff 我认为没什么问题,因为排除了嘛,总是比较保险的,最多就是排除部分过多了点,还可以减小些作 Upper Memory 用;问题很可能出在 i=e000-efff 上,可能这其中的某段地址已经被某个 BIOS 所占用,所以你把它拿进来作 Upper Memory 用就会引起死机。我不清楚你这段参数原来是怎么加上去的。




DOS倒下了,但永远不死
DOS NEVER DIES !

投票调查:
http://www.cn-dos.net/forum/viewthread.php?tid=46187

本人尚未解决的疑难问题:
http://www.cn-dos.net/forum/viewthread.php?tid=15135
http://www.cn-dos.net/forum/viewthread.php?tid=47663
http://www.cn-dos.net/forum/viewthread.php?tid=48747
2007-8-26 05:45
查看资料  发短消息  网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: