Jump to content

UMBPCI.SYS v3.70/FastVid v1.10 PCI/AGP


Recommended Posts

Win98SE boot disk creates a RAM drive only when you 1st install the OS, or every time you boot from the emergency/startup floppy you created from Control Panel -> Add/Remove Programs -> Startup Disk.

When you load Windows in normal conditions [after install is successfully completed] you shouldn't have a RAM drive, unless you added specific commands for RAMDRIVE.SYS (M$ RAM Drive) or XMSDSK.EXE/EMSDSK.EXE (XMS/EMS RAM Disk) or SRDXMS.SYS/SRDEMS.SYS (SRDisk) into your autoexec.bat or config.sys, or if you load a RAM disk driver from within Windows.

But UMBPCI.SYS has nothing to do [as far as I'm aware] with RAM disks.

UMBPCI.SYS loads or does not load, depending on detected mobo chipset type.

More info:

http://www.mdgx.com/umb.htm

HTH

Link to comment
Share on other sites


DOS=HIGH,UMB,AUTO

BUFFERS=11,0

FILES=60

LASTDRIVE=H

FCBS=1,0

STACKS=0,0

DEVICE=c:\windows\himem.sys

DEVICEHIGH=c:\windows\emm386.exe ram auto

i have this in my config.sys

can i increase to the max.?

Please note that you need to run EMM386 with the AUTO parameter one more time [the 1st time loads from within config.sys] either from within autoexec.bat or from the native MS-DOS prompt, so it will provide expanded memory [EMS] + upper memory [uMBs] only when needed:

EMM386 AUTO

About how to optimize your autoexec.bat + config.sys:

download W95-11D.EXE:

http://www.mdgx.com/95.htm

and then start reading MEMORY.TXT, EMM386.TXT + REGIONS.TXT.

See also DOS9XMEM.TXT + WIN9XMEM.TXT and my examples of autoexec.bat + config.sys.

SECRETS.TXT [also online] contains undocumented parameters for himem.sys + emm386.exe:

http://www.mdgx.com/secrets.htm#EMM

http://www.mdgx.com/secrets.htm#HIMEM

which are listed also in EMM386.TXT.

Example:

You should add these switches to your himem.sys line:

DEVICE=C:\WINDOWS\HIMEM.SYS /NUMHANDLES=128 /TESTMEM:OFF /Q

Also, the RAM switch on the EMM386.EXE line provides expanded memory (EMS), which is necessary only for some older native DOS games/apps.

Windows 3.1x/9x does not use expanded memory.

So if you don't have any DOS games/apps that use EMS, use this line instead:

DEVICE=C:\WINDOWS\EMM386.EXE I=B000-B7FF A=64 H=120 D=256 AUTO NOEMS NOTR

This way EMS is disabled and EMM386 doesn't load the page frame for it, thus saving some upper memory [uMA] and performing faster at the same time, because EMS + the use of page frame slow down the computer a little.

NOEMS = provides only extended memory [XMS] but not EMS.

RAM = provides EMS memory and XMS memory.

UMA [a.k.a. UMBs] = always provided when EMM386 loads.

Notice that EMM386 cannot load in upper memory [uMA] with DEVICEHIGH, you must use DEVICE instead.

The EMM386 stub must load in conventional memory.

Notice also that FASTVID and MTTRLFB cannot function if EMM386 or similar EMS memory manager [like QEMM386, 386MAX, RM386 etc] is loaded at boot time.

HTH

Link to comment
Share on other sites

This is what i have

DOS=HIGH,UMB,AUTO

BUFFERS=11,0

FILES=60

LASTDRIVE=H

FCBS=1,0

STACKS=0,0

DEVICE=C:\WINDOWS\HIMEM.SYS /NUMHANDLES=128 /TESTMEM:OFF /Q

DEVICE=C:\WINDOWS\EMM386.EXE I=B000-B7FF A=64 H=120 D=256 AUTO NOEMS NOTR

should i add anything else to increse it more or is this good enough?

Link to comment
Share on other sites

This is what i have

DOS=HIGH,UMB,AUTO

BUFFERS=11,0

FILES=60

LASTDRIVE=H

FCBS=1,0

STACKS=0,0

DEVICE=C:\WINDOWS\HIMEM.SYS /NUMHANDLES=128 /TESTMEM:OFF /Q

DEVICE=C:\WINDOWS\EMM386.EXE I=B000-B7FF A=64 H=120 D=256 AUTO NOEMS NOTR

should i add anything else to increse it more or is this good enough?

Looks good to me, if everything works ok on your computer.

Let me ask you something:

What do you need EMS memory for?

Do you play any DOS games that require EMS?

If you don't, you can delete the EMM386.EXE line, and replace it with UMBPCI.SYS, which is much faster and occupies way less [or zero] memory.

To force UMBPCI to occupy no memory, you need HIRAM.EXE. Complete guide:

http://www.mdgx.com/umb.htm#HIR

Of course, to use UMBPCI you need a supported mobo chipset.

HTH

Link to comment
Share on other sites

Let me ask you something:

What do you need EMS memory for?

Do you play any DOS games that require EMS?

If you don't, you can delete the EMM386.EXE line, and replace it with UMBPCI.SYS, which is much faster and occupies way less [or zero] memory.

To force UMBPCI to occupy no memory, you need HIRAM.EXE. Complete guide:

http://www.mdgx.com/umb.htm#HIR

Of course, to use UMBPCI you need a supported mobo chipset.

HTH

I don't but when i install windows it is there i don't know how to get rid of it.

Edited by PROBLEMCHYLD
Link to comment
Share on other sites

>i would like the best setting meaning the highest/pushed to the limit

IMHO, the best way to use UMBPCI is to not use it at all. I believe it slows down memory (e.g. by a factor of 10); to check this you could try verifying the slowdown with the timing app that comes with UMBPCI.

UMBPCI can't access certain memory blocks (e.g. B000-B7FF) at all. If you install EMM386 on top of UMBPCI, I think you can access them; but what is the point of UMBPCI then?

UMBPCI also can lead to incompatibility problems such as crashes, floppy disk errors, and sound driver incompatibility. (And I've witnessed all three of these.) There are workaround programs bundled with UMBPCI which may or may not work. Note that having a certain Motherboard is not a guarantee if things working. With UMBPCI, you will have to tweak some Windows files to keep Windows from ralphing. UMBPCI also has poor granularity when using upper memory - a very large 0x4000 bytes IIRC; EMM386 has four times the granularity. The poor granularity increases the odds of being unable to access certain parts of memory.

FastVid is OK. But I found Zeno to be a better video speedup tool (I don't recall why; I think it needed less memory). There are a couple of Zeno tools modified by different authors and with confusing version numbers. Avoid the highest version; ZENO174.exe is the right one to use.

Edited by azagahl
Link to comment
Share on other sites

My experience with UMBPCI.SYS:

Just because you had problems with UMBPCI, doesn't mean that nobody else should use it.

I've been using UMBPCI for more than 7 years now, without any problems, but I guess that's because of the mobo chipsets [intel based] I've been using it on.

That's why I recommend everybody to try UMBPCI see if it works ok, because if it does, it provides a lot of free [usable] upper memory [without slowing the computer too much] for those of us who use native/true/real mode DOS based games/apps.

But if not using any native/true/real mode DOS based software, UMBPCI is of no use.

About memory slowdowns:

To my knowledge, EMM386.EXE and similar EMS managers are the ones which slow down the computer, not UMBPCI.

According to this graphic:

http://www.mdgx.com/umbpci.gif

EMM386 is ~ 3 times slower than UMBPCI.

On the other hand, any memory manager will slow down the overall performance a bit [or more, depending on their functions, memory areas accessed/mapped, page frame etc], no matter which one you use. Even HIMEM.SYS slows down the computer.

But out of all memory managers I know [and I've tested most all available ones], UMBPCI is the only one which slows down the least.

About B000-B7FF UMA area:

UMBPCI can't access it because it is not an actual memory manager [like EMM386 or QEMM386], UMBPCI is only a memory "extender" which works with HIMEM.SYS, and maps the unused DMA memory as UMBs. That's all it does. And DMA memory can be mapped only within the C000-FFFF area [X86 IBM/PC clone limitation, not UMBPCI's fault], and only if it is not occupied by other BIOSes/BIOS extensions at boot time, and only in contiguous "chunks" of 16 KB each.

That's probably why [as you say] the granularity of its mapped memory is "coarse".

Incompatibility with drivers/floppy controllers:

the floppy bug is well known, and together with its fix, they are all well documented by the author of UMBPCI, at his home page:

http://www.uwe-sieber.de/umbpci_e.html

and also at my UMBPCI guide page:

http://www.mdgx.com/umb.htm

Sound card drivers should not interfere with UMBPCI [unless they are poorly written], because UMBPCI does not occupy any memory, only maps it into UM blocks, which can be used by any properly written software meant to load/work in UMA.

And if sound drivers need to occupy UMA areas mapped by UMBPCI, you can always limit the UMA mapped by UMBPCI with the /I=Mxxx-Nyyy switch.

ZENO 1.74 [you're right, that's the newest one everybody should use]:

http://www.mdgx.com/files/ZENO174.ZIP

accelerates certain DOS mode BIOS functions [screen writes], but it does it in a completely different way compared [if you can even compare them] from FastVid or MTRRLFBE.

FastVid + MTRRLFBE enable certain video BIOS functions which may not be available on some mobo chipsets, and accelerate the linear frame buffer, banked VGA and write posting.

That's why I recommend to use both FastVid [or MTRRLFBE] and ZENO if using native/true/real mode DOS games/apps.

HTH

Link to comment
Share on other sites

To make UMBPCI work in your config.sys, these are the lines you need [example, change directories/drives if necessary to match yours]:

http://www.mdgx.com/umb.htm#HIR

Place these lines in this exact order, at the top of your config.sys:

DOS=HIGH,UMB,AUTO

DEVICE=C:\UMBPCI\UMBPCI.SYS

DEVICE=C:\UMBPCI\HIRAM.EXE

DEVICE=C:\WINDOWS\HIMEM.SYS /NUMHANDLES=120 /TESTMEM:OFF /Q

This way UMBPCI loads in upper memory, and does not occupy any memory after loading.

Remark [; ] all other memory manager lines [including EMM386] in your config.sys.

Reboot.

If this doesn't work, add these 3 lines:

HIRAM.EXE

HIMEM.SYS

UMBPCI.SYS

to your IOS.INI file under the [safeList] section, located in %windir% [edit it with Notepad].

Then reboot.

This should work, *if* your mobo chipset is compatible with UMBPCI:

http://www.mdgx.com/umb.htm#REQ

You can also load HIMEM.SYS in upper memory [uMA] by changing its line to read:

DEVICEHIGH=C:\WINDOWS\HIMEM.SYS /NUMHANDLES=120 /TESTMEM:OFF /Q

Please note that UMBPCI + HIRAM canNOT load in UMA with DEVICEHIGH .

P.S.:

Do not allow SMARTDRV [which probably loads from your autoexec.bat or config.sys] to cache floppy drives!

Floppy drives are letters A and/or B .

Example of smartdrv line in autoexec.bat:

LOADHIGH=C:\WINDOWS\SMARTDRV.EXE A- B- C+ 12288 16 /N /Q

Or [use 1 or the other, not both] example of smartdrv line in config.sys:

INSTALLHIGH=C:\WINDOWS\SMARTDRV.EXE 12288 16 A- B- C+ /N /Q

This is if you have only C as HD drive/partition.

If you have more than 1 HD, add more letters, like D+ .

If you want CD/DVD access in native MS-DOS, you must load a CD redirector [like QCDROM.SYS, VIDE-CDD.SYS, XCDROM.SYS or ATAPICDD.SYS] in config.sys:

http://www.mdgx.com/newtip1.htm#CDROM4

*and* a CDEX extensions driver [like MSCDEX, NWCDEX or SHCDX33C] in config.sys or autoexec.bat:

http://www.mdgx.com/drv.htm#CDR

Then add your CD/DVD drive letter(s) to the smartdrv line, like D , E , etc.

CD/DVD drives can only be cached as read-only, they are not writable, therefore do not place a plus sign after their drive letter(s).

Make sure your smartdrv line appears in config.sys or autoexec.bat *after* the CDEX extensions driver line [see above]. Otherwise smartdrv won't cache your CD/DVD drive(s).

HTH

Edited by MDGx
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...