中国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-09-15 03:05
47,812 topics / 349,917 posts / today 0 new / 48,268 members
DOS软件下载 & 游戏分享 (下载室) » Substitutes for EMM386
Printable Version  3,106 / 5
Floor1 nre Posted 2003-01-01 00:00
银牌会员 Posts 361 Credits 1,210
Strongly recommend that friends using EMM386.EXE switch to UMBPCI.SYS.

The following is the comparison between UMBPCI and EMM386. Part of the README is translated (for details, see the README of UMBPCI).

UMBPCI.SYS only occupies 240 bytes of conventional memory when loaded, and creates UMB in the "Request XMS-UMB" mode.

Microsoft's EMM386.EXE requires 150K of XMS, 4K of conventional memory, and 7K of HMA to create UMB. Because it uses the Memory Management Unit (MMU) mode to create UMB, when loading, it sets the CPU to protected mode, and DOS runs in virtual 8086 mode.

While UMBPCI.SYS is an extension of the function of HIMEM.SYS. The CPU runs in real mode, so it has higher speed and better compatibility.

Especially for friends using VPC, it is recommended to use this UMBPCI. MS's EMM386.EXE is definitely incompatible with the current VPC.

This is UMBPCI uploaded by YIYESONG.
http://www2.zzu.edu.cn/ie/newdos/uploadImages/2002123021281656800.rar
Floor2 imp Posted 2003-01-01 00:00
银牌会员 Posts 309 Credits 1,001
I loaded UMBPCI.SYS but the upper memory is only more than 80KB, while EMM386 is more than 120KB
Floor3 nre Posted 2003-01-01 00:00
银牌会员 Posts 361 Credits 1,210
Use UMBCHK to find available UMBs, and use /I=XXXX-YYYY to specify UMB PCI. How about that? I used UMBCHK and it showed that D000-DFFF is used, but I don't have UMBs...???
Floor4 imp Posted 2003-01-01 00:00
银牌会员 Posts 309 Credits 1,001
NO free areas found
All are called, only 81.888k

Just now, I put msdos.sys in the boot disk and then deleted it. Then why did it boot into 98?
Floor5 Wengier Posted 2003-01-01 00:00
系统支持 Posts 10,521 Credits 27,736
The best loading method is:

DEVICE=UMBPCI.SYS
DEVICE=HIRAM.EXE
DEVICEHIGH=HIMEM.SYS

In this way, not only does UMBPCI.SYS not take up any memory at all, but also HIMEM is moved to the UMB memory.
Floor6 imp Posted 2003-01-02 00:00
银牌会员 Posts 309 Credits 1,001
It doesn't work. Just writing like this, I can only call 80-some KB of UMB.
Then I looked at the picture of hiram at startup and saw that ca00-efff seemed all callable.
Then I wrote i=cc00-efff and used both emm386 and umbpci (both ran ccdos).

device=himem.sys /testmemff
device=emm386.exe noems novcpi i=cc00-efff

Modules using memory below 1 MB:

Name Total Conventional Upper Memory
-------- ---------------- ---------------- ----------------
SYSTEM 35,408 (35K) 13,984 (14K) 21,424 (21K)
HIMEM 1,120 (1K) 1,120 (1K) 0 (0K)
EMM386 3,120 (3K) 3,120 (3K) 0 (0K)
VIDE-CDD 5,024 (5K) 0 (0K) 5,024 (5K)
COMMAND 7,168 (7K) 0 (0K) 7,168 (7K)
CLOAKING 1,408 (1K) 0 (0K) 1,408 (1K)
MSCDEX 2,816 (3K) 0 (0K) 2,816 (3K)
CTMOUSE 3,344 (3K) 0 (0K) 3,344 (3K)
DOSKEY 3,936 (4K) 0 (0K) 3,936 (4K)
PERUSE 4,112 (4K) 0 (0K) 4,112 (4K)
CCDOS 27,920 (27K) 0 (0K) 27,920 (27K)
Free 701,904 (685K) 636,864 (622K) 65,040 (64K)

Memory Summary:

Type of Memory Total Used Free
---------------- ----------- ----------- -----------
Conventional 655,360 18,496 636,864
Upper 142,192 77,152 65,040
Reserved 0 0 0
Extended (XMS)* 258,790,544 1,691,792 257,098,752
---------------- ----------- ----------- -----------
Total memory 259,588,096 1,787,440 257,800,656

Total under 1 MB 797,552 95,648 701,904

Largest executable program size 636,848 (622K)
Largest free upper memory block 64,736 (63K)
Available space in High Memory Area 5,456 (5K)
MS-DOS is resident in the high memory area.

Here ccdos only used 28K, but below is different.

device=Umbpci.sys /i=cc00-efff
device=Hiram.exe
devicehigh=himem.sys /testmemff

Modules using memory below 1 MB:

Name Total Conventional Upper Memory
-------- ---------------- ---------------- ----------------
SYSTEM 35,392 (35K) 10,864 (11K) 24,528 (24K)
HIMEM 1,120 (1K) 0 (0K) 1,120 (1K)
VIDE-CDD 5,024 (5K) 0 (0K) 5,024 (5K)
COMMAND 7,168 (7K) 0 (0K) 7,168 (7K)
CLOAKING 1,408 (1K) 0 (0K) 1,408 (1K)
MSCDEX 2,816 (3K) 0 (0K) 2,816 (3K)
CTMOUSE 3,344 (3K) 0 (0K) 3,344 (3K)
DOSKEY 3,936 (4K) 0 (0K) 3,936 (4K)
PERUSE 4,112 (4K) 0 (0K) 4,112 (4K)
CCDOS 60,224 (59K) 0 (0K) 60,224 (59K) (Why used 60K so much)
Free 677,984 (662K) 644,192 (629K) 33,792 (33K)

Memory Summary:

Type of Memory Total Used Free
---------------- ----------- ----------- -----------
Conventional 655,360 11,168 644,192
Upper 147,472 113,680 33,792
Reserved 0 0 0
Extended (XMS)* 258,785,264 924,656 257,860,608
---------------- ----------- ----------- -----------
Total memory 259,588,096 1,049,504 258,538,592

Total under 1 MB 802,832 124,848 677,984

Largest executable program size 644,176 (629K)
Largest free upper memory block 33,488 (33K)
Available space in High Memory Area 5,440 (5K)
MS-DOS is resident in the high memory area.

I wrote according to umbpci's instructions like this:
device=Umbpci.sys /i=cc00-efff
device=Hiram.exe
devicehigh=himem.sys /testmemff /Q
device=emm386.exe X=D800-EFFF X=B800-C7FF I=C800-D7FF I=B000-B7FF RAM M3 D=256 AUTO

But ccdos can't run. Why?

Modules using memory below 1 MB:

Name Total Conventional Upper Memory
-------- ---------------- ---------------- ----------------
SYSTEM 35,408 (35K) 13,968 (14K) 21,440 (21K)
EMM386 3,120 (3K) 3,120 (3K) 0 (0K)
COMMAND 7,168 (7K) 0 (0K) 7,168 (7K)
CTMOUSE 3,344 (3K) 0 (0K) 3,344 (3K)
HIMEM 1,120 (1K) 0 (0K) 1,120 (1K)
VIDE-CDD 5,024 (5K) 0 (0K) 5,024 (5K)
CLOAKING 1,408 (1K) 0 (0K) 1,408 (1K)
MSCDEX 2,816 (3K) 0 (0K) 2,816 (3K)
DOSKEY 3,936 (4K) 0 (0K) 3,936 (4K)
PERUSE 4,112 (4K) 0 (0K) 4,112 (4K)
Free 762,560 (745K) 637,984 (623K) 124,576 (122K)

Memory Summary:

Type of Memory Total Used Free
---------------- ----------- ----------- -----------
Conventional 655,360 17,376 637,984
Upper 174,944 50,368 124,576
Reserved 0 0 0
Extended (XMS)* 258,757,792 1,265,824 257,491,968
---------------- ----------- ----------- -----------
Total memory 259,588,096 1,333,568 258,254,528

Total under 1 MB 830,304 67,744 762,560

Total Expanded (EMS) 33,947,648 (32M)
Free Expanded (EMS)* 33,554,432 (32M)

* EMM386 is using XMS memory to simulate EMS memory as needed.
Free EMS memory may change as free XMS memory changes.

Largest executable program size 637,968 (623K)
Largest free upper memory block 107,616 (105K)
Available space in High Memory Area 5,408 (5K)
MS-DOS is resident in the high memory area.



[ Contact the Union admin team - 中国DOS联盟 - Standard version ]
Sponsored by ifanr Inc | © 2001–2023