          UMBPCI.SYS v3.00 - June 24 1999, English Release
        =====================================================

OVERVIEW
========

UMBPCI.SYS is a freeware MS-DOS 5.00/6.xx (and begining with v3.0 UMBPCI also
supports DR-DOS, Novell DOS and Caldera Open DOS) and MS Windows 9x/3.xx Upper
Memory Area (UMA) access driver (Microsoft HIMEM.SYS extender) for Intel, FIC
VIA, ALI and SiS PCI/AGP chipsets, supporting Pentium, Pentium Pro, Pentium
II/III, AMD and Cyrix CPUs.
UMBPCI.SYS is based on the German c't Magazine's free source code:
http://www.heise.de/ct/
The original UMBPCI (German version):
ftp://ftp.heise.de/pub/ct/ctsi/umbpci.zip
was developed by c't Magazine's editor Andreas Stiller in 1995, had several
problems, supported only Intel chipsets up to the 430FX, and there were no
free updates. Andreas further developed CTUMB, which is only available to c't
subscribers, on c't Magazine's Utilities CD-ROM.

UMBPCI.SYS is an unofficial release, unsupported by the c't Magazine!
If you have problems, please e-mail me:
uwe.sieber@gmx.de

UMBPCI.SYS details + info web pages:
Uwe Sieber's home page:
http://www.uwe-sieber.de
Uwe Sieber's UMBPCI German page:
http://www.uwe-sieber.de/umbpci.html
Uwe Sieber's UMBPCI English page:
http://www.uwe-sieber.de/umbpci_e.html
George Gombos' UMBPCI.SYS page [English]:
http://members.aol.com/axcel216/umb.htm

Download UMBPCI.SYS directly from Uwe Sieber's web site:
* UMBPCI v3.00 German release [12 KB, freeware]:
http://www.uwe-sieber.de/files/umbpci.zip
* UMBPCI v3.00 English release [12 KB, freeware]:
http://www.uwe-sieber.de/files/umbpci_e.zip

To make UMBPCI available for download on your homepage, please use the links
above, because of frequent updates.

DISCLAIMER
==========

This program and the accompanying documentation are offered "as is".
The user bears the entire risk of this software not performing as expected.


UPDATES
=======

New supported chipsets:

* UMBPCI v2.17: Intel 440ZX

* UMBPCI v2.18: SiS 530 (not tested)

* UMBPCI v2.19: FIC VIA 691 "Apollo Pro" and 693 "Pro Plus" (not tested)

* UMBPCI v2.20: ALI Alladin III, IV, V and Pro 2 (not tested)

* UMBPCI v2.21: Intel 810. UMBs no longer cacheable on SiS 59x

* UMBPCI v2.22: VIA MVP3 596 with southbridge (was buggy)

* UMBPCI v2.24: VIA MVP3 596 with southbridge

* UMBPCI v3.00
	- Autoscans for free upper memory ranges
	- /I=xxxx-yyyy parameter no longer needed
	- Upper memory enabled even if HIMEM.SYS not found (DR-DOS, Open DOS
	and Novell DOS only)


REQUIREMENTS
============

* Supported CPUs:
- Intel P2, P3, Celeron and Xeon are programmed for L2 cacheability
- all other stays untouched and should work as they are

* Supported Operating Systems + Environments:
- MS-DOS 5.00 - 6.22
- MS Windows/WfWG 3.xx
- MS Windows 95/OSR1/OSR2.x/98 (a.k.a. MS-DOS 7.xx)

* Additional Supported OSes by UMBPCI v3.0 and newer ONLY:
- DR-DOS
- PC-DOS
- Novell DOS
- Caldera Open DOS (renamed DR-DOS)

* Untested OSes (feedback or hints please)
- IBM DOS
- FreeDOS

* Unsupported OSes:
- MS Windows NT
- MS Windows 2000 (NT5)

* Supported Intel chipsets:
- 420EX (Aries) => doesn't work (datasheet needed)
- 420TX/420ZX (Saturn)
- 430LX (Mercury)
- 430NX (Neptune)
- 430FX (Triton)
- 430MX (Triton Mobile)
- 430HX (Triton II)
- 430VX (Triton)
- 430TX (Triton II)
- 440FX (Natoma)
- 440LX (AGPset)
- 440EX (AGPset)
- 440BX (AGPset)
- 440NX (PCIset)
- 440GX (AGPset)
- 440ZX (AGPset)
- 450KX/GX (Orion) => maybe?
- 810 (Whitney - low cost AGPset)

* Supported FIC VIA (Apollo) chipsets:
- VP
- VPX
- VP2
- VP2-97 (AMD-640)
- VP3
- MVP3
- MVP4
- 691 Pro => completely untested
- 693 Pro Plus => completely untested

* Supported SiS chipsets:
- 5511
- 5120
- 5571
- 5581/5582
- 5591/5592
- 530 => completely untested
- 59x

* Supported ALI (Alladin) chipsets:
- Alladin III => completely untested
- Alladin IV => completely untested
- Alladin V
- Alladin Pro 2 => completely untested


FEATURES + ADVANTAGES
=====================

UMBPCI.SYS extends Microsoft's HIMEM.SYS by enabling the "Request XMS-UMB"
function. Microsoft's EMM386.EXE does the same, when loaded with the "NOEMS",
"HIGHSCAN" or "RAM" parameters in CONFIG.SYS.
UMBPCI.SYS creates UMBs (Upper Memory Blocks) using the existing system memory
intended to be used as Shadow RAM, but disabled by default, ONLY in the
C800-EFFF range, NOT in B000-B7FF. The B000-B7FF area is normally used for
monochrome video (used by older graphics adapters), NOT for BIOS (ROM)
extensions, therefore X86 chipsets cannot enable shadow RAM within this
region.

UMBPCI.SYS takes ONLY 240 Bytes of conventional RAM (224 Bytes code + 16 Bytes
environment), while providing up to 629 KiloBytes (KB) of FREE conventional
(low) memory (RAM), IF loading ALL devices/drivers/TSRs "high"!

Microsoft EMM386.EXE also creates UMBs from the computer's physical XMS
(eXtended Memory Specifications), BUT needs an additional 150 KB of XMS, 4 KB
of low memory and 7 KB of UMA (Upper Memory Area) when loaded, and it also
switches the CPU into "protected mode" (slower). UMBPCI.SYS leaves the CPU in
"real mode", for better compatibility and faster performance.


Since V3.00 you can simply try UMBPCI without any checks. Because UMBPCI
is extension of HIMEM.SYS, UMBPCI.SYS must be loaded after this:

dos=high, umb
device=c:\windows\himem.sys
device=c:\umbpci.sys
devicehigh=....
installhigh=....

You will see a message like this:

UMBPCI c't 11/95 - Siering/Schpers/Stiller
V3.00 - support for new Intel/VIA/ALI/SIS chipsets + P2 - Uwe Sieber 06/99
Using C800-EFFF
Intel 440BX found
Programm installed

When your chipset isn't supported by UMBPCI you get this message:

No supported chipset found.
Problem programming the chipset.

If you get another message, please mail me. Please check which chipset 
you have with this tool:
ftp://ftp.heise.de/pub/ct/ctsi/ctpci330.zip


NEW TOOLS
=========

New tools introduced begining with UMBPCI.SYS v2.24 and newer:

1. UMBCHK.EXE:

UMBCHK is only needed if you want to use the parameter /I=xxxx-yyyy.

Reboot your computer WITHOUT processing the startup files (AUTOEXEC.BAT and
CONFIG.SYS): press F8 during the bootup routine (MS-DOS 6.xx or Windows 9x).
This is similar with the "Command prompt only" option from the Windows 9x
Startup Menu. Go to this page for more details:
http://members.aol.com/axcel216/msdos.htm#MEN
Then run UMBCHK.EXE to view all upper memory ranges available to UMBPCI, and
to display the suggested command line for use with UMBPCI. UMBCHK will
sugest the same ranges UMBPCI uses when it is loaded without commandline.
If you have a fast look at the message UMBPCI shows, you doesn't need
UMBCHK.

When UMBCHK suggests /I=C800-EFFF add this lines to your CONFIG.SYS

device=c:\windows\himem.sys
device=drive:\path\UMBPCI.SYS /I=C800-EFFF

UMBCHK and the /I=xxxx-yyyy parameter are NOT needed by UMBPCI v3.0 and newer,
which autodetect and map the available upper memory areas.


2. UMBFILL.COM:

Windows 9x takes over all remaining UMBs (not mapped by UMBPCI) and uses them
as normal memory. But the memory created by UMBPCI is sometimes not seen as
"normal" by MS-DOS/MS Windows. It may not be cacheable and/or ISA DMA may not
work. With the exception of the very first intel PCI chipsets the only one
really normal UMB UMBPCI creates is at E000-EFFF on intel chipsets up to the
440xX.
To prevent Windows 9x from using this remaining critical memory in such
cases, use UMBFILL.COM, to allocate ALL remaining UMBs before Windows 9x GUI
loads. Add a UMBFILL line, AFTER the lines that load all your other
devices/drivers/TSRs, and BEFORE the line that starts Windows in your
AUTOEXEC.BAT, IF you load Windows from AUTOEXEC.BAT. Example:

drive:\path\UMBFILL

The LOADHIGH (abbreviated as LH) command does NOT work with UMBFILL!
UMBFILL occupies only 800 Bytes of conventional memory.

If someone can write a UMBFILL program that can be loaded high or that doesn't
need low memory, please e-mail Uwe Sieber [uwe.sieber@gmx.de] to include it
with future UMBPCI releases. Many thanks!


RESTRICTIONS
============

ISA (Industry Standard Architecture) DMA (Direct Memory Access) is critical in
the created UMBs. ISA involves any 8-bit ISA expansion cards you might have on
your computer (modem, sound card, network card etc), and the Floppy Drive
Controller (FDC). A typical PC/AT IBM compatible clone has one (primary, 3.5",
1.44 MB, drive letter A, default bootable drive), or two (secondary, 5.25",
1.2 MB, drive letter B, optional) floppy drives.
Such devices MUST use the DMA controller (built into the motherboard chipset),
thus relieving the CPU of time consuming routine tasks (requiring extra CPU
cycles), so your processor can proceed with other operations at the same time
(multitasking).

* KNOWN PROBLEMS + SOLUTIONS [depending on your motherboard chipset type]:

1. The ISA DMA function might NOT be possible in certain UMA regions, because
the memory UMBPCI uses is intended as shadow RAM, NOT as normal RAM. This has
nothing to do with PCI Bus Mastering.

2. Level 2 (L2) CPU cache may be write-protected or doesn't work at all.

3. There are reports about crashes involving CMOS/BIOS corruption on some
Compaq Presarios. Maybe the reason was simply a wrong parameter, I have
no further information.

4. Some USB (Universal Serial Bus) keyboards use the C800-CBFF area, therefore
you need to restrict UMBPCI.SYS to the CC00-EFFF region in CONFIG.SYS when
you want to use the parameter /I=xxxx-yyyy (example):

DEVICE=drive:\path\UMBPCI.SYS /I=CC00-EFFF

5. No program that needs ISA DMA should be loaded, especially disk (floppy)
cache TSRs (Terminate and Stay Resident programs) like Microsoft SMARTDRV.EXE.
But you can use the /L parameter with SMARTDRV to force it to load into
conventional memory, or load it into the UMA using LOADHIGH (in your
AUTOEXEC.BAT) or INSTALLHIGH (in your CONFIG.SYS). The result will be a
"splitted load", exactly what UMBPCI.SYS needs.
You can also disable the SMARTDRV floppy cache by adding the A- and B-
parameters (depending on how many floppy drives you have), or by loading
SMARTDRV into the upper memory E segment [E000-EFFF] if you have an intel
430xX or 440xX chipset (tricky). Example of SMARTDRV line in AUTOEXEC.BAT:

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

The SMARTDRV settings above disable read and write caching on both floppy
drives (A and B), enable read and write caching on the hard drive (C), and
enable read-only caching on the CD-ROM/DVD drive (D).

One way is to force SMARTDRV to load into the E segment (depends only
intel chipsets), at least at E000-E3FF, is to load MSCDEX (MicroSoft
Compact Disk EXtensions) FIRST, by adding a line for loading MSCDEX high,
BEFORE the SMARTDRV line in AUTOEXEC.BAT.

NOTE: You also need to load your DOS mode cd-rom/dvd (supplied) driver in
CONFIG.SYS, if you want to have your cd-rom/dvd available in native MS-DOS
mode, AND to have it cached by SMARTDRV the same time. Example:

DEVICEHIGH=C:\CDROM\VIDE-CDD.SYS /D:MYCDROM

In case SMARTDRV loads partially at E000 (or below E000), or if it doesn't
occupy the entire E000-E3FF area, the floppy disk becomes UNREADABLE, when the
read and write floppy cache is enabled by using the SMARTDRV A+ and/or B+
switches!
Example of MSCDEX v2.25 and SMARTDRV v5.02 "combo" in AUTOEXEC.BAT (using
MS Windows 9x):

LOADHIGH=C:\WINDOWS\COMMAND\MSCDEX.EXE /D:MYCDROM /M:20
LOADHIGH=C:\WINDOWS\SMARTDRV.EXE 2048 16 A+ B+ C+ D /N

to force SMARTDRV to load at E000, and occupy the UMA at and above E3FF.
These are the ONLY ways I found to make floppy cache possible, other than
restricting available UMA to E000-EFFF, on the UMBPCI.SYS line in CONFIG.SYS
(example):

DEVICE=drive:\path\UMBPCI.SYS /I=E000-EFFF

which defeats the purpose of using UMBPCI.SYS for providing as much UMA as
possible.

TIP: MSCDEX provides support for accessing CD-ROM/DVD drives in native DOS
mode. Run MSCDEX /? from the true MS-DOS prompt to display its command line
switches.

Observe also the different DOS (2048) and Windows (16) SMARTDRV cache sizes
(in KiloBytes). You want to allocate a large SMARTDRV cache in native/true
MS-DOS mode (but not more than 1/6 of your installed memory, especially if you
only have 16 MB or less), and the smallest SMARTDRV cache size in Windows,
because Windows 9x and WfWG 3.1x provide their own 32-bit protected mode
virtual cache algorhythm, and do NOT need SMARTDRV to cache ANY drives.

Observe also the /N switch, which allows the return to the DOS prompt BEFORE
SMARTDRV's temporary memory cache buffer is flushed and data permanently
written to disk. Use /N with CAUTION, because you may experience DATA LOSS in
case of sudden power surges/outages!
SMARTDRV's buffer loads into the UMA in the above example, using the MS-DOS
built-in LOADHIGH command.
Note that usually SMARTDRV does not need a LOADHIGH command (or a similar 3rd
party "loader") to load itself in the upper memory (from AUTOEXEC.BAT), being
capable of using its own loading algorhythm, ONLY IF a memory manager that
provides access to and maps the UMA is used in CONFIG.SYS, like Microsoft's
HIMEM.SYS and EMM386.EXE "combo", or other 3rd party upper/extended memory
managers: Quarterdeck's QEMM386.SYS, Helix's NetRoom RM386.EXE, Caldera's
DR-DOS EMM386.EXE, Qualitas' 386MAX.SYS etc.

TIPS:
- Run:
SMARTDRV /?
from any DOS prompt to display all available command line parameters.
- Go to this page for more SMARTDRV info and usage details:
http://members.aol.com/axcel216/newtip2.htm#OUTSMART


KNOWN CHIPSET PROBLEMS
======================

* Intel:
Saturn, Mercury, Neptune => no problem
430xX, 440xX, 450xX	 => ISA-DMA only within the E segment
430MX			 => no ISA-DMA
810			 => no ISA-DMA

* FIC VIA (Apollo):
VIA up to VP2/97	 => not cacheable, no ISA-DMA
VIA VP3, MVP3, MVP4	 => not cacheable
VIA Pro			 => no feedback yet

* ALI (Alladin):
ALI			 => not cacheable
ALI Pro			 => no feedback yet

* SiS:
SiS			 => not cacheable, no ISA-DMA


CACHEABILITY
============

Some chipsets canNOT make the UMBs cacheable. These are: all VIA chipsets up
to MVP4, all ALI chipsets up to Aladin V, and all SiS chipsets.
Owners of the FIC VIA MVP4 chipset who would like to test it, please e-mail me
[uwe.sieber@gmx.de].


USAGE GUIDELINES
================

When you want to use the parameter /I=xxxx-yyyy make sure to check the free
UMA before using UMBPCI.SYS, by running UMBCHK (see the "NEW TOOLS" section
above).
If you use EMM386.EXE, you can "borrow" its /I=xxxx-yyyy parameter(s) for use
with UMBPCI.SYS v2.24 and older ONLY (UMBPCI v3.0 and newer do NOT need the
/I=xxxx-yyyy parameter), but this MUST be limited to the range C800-EFFF,
which is valid for ALL UMBPCI releases.
After adding a line for UMBPCI.SYS to your CONFIG.SYS, disable the EMM386.EXE
line by placing REM or a semicolon (;) in front of it. Examples:

REM DEVICE=C:\DOS\EMM386.EXE I=B000-B7FF RAM D=256 AUTO NOTR

or:

; DEVICE=C:\WINDOWS\EMM386.EXE I=B000-B7FF RAM D=256 AUTO NOTR



If you doesn't want to use the parameter /I=xxxx-yyyy (e.g. needed if you
want to use EMS) you can skip the follwing section.


UMBPCI.SYS accepts and recognizes only one command line parameter:
I=xxxx-yyyy, which MUST be used with UMBPCI v2.24 and older, preceeded by a
forward slash (/).
UMBPCI uses ONLY contiguous 16 KB Upper Memory Blocks. You may have to
increase the start address or decrease the end address to the nearest 16 KB
border for UMBPCI.SYS to operate properly!

In MSD's (MicroSoft Diagnostics Utility) Memory chart (displayed by pressing M
at the MSD main screen), look at your upper memory range.
Every caret (square) stands for 1 KB of memory, therefore each entire line
stands for 16 KB. Because UMBPCI.SYS can only use whole (contiguous) free 16
KB blocks, you have to look for lines that are COMPLETELY available (unused).

MSD.EXE is the MS-DOS based MicroSoft Diagnostics utility (included with
MS-DOS 6.xx and Windows 3.1x/9x), that you might need one day (hope not...) to
see how your System, Memory, Devices, TSRs, Video, Mouse, Disks, Ports etc...
are configured, and to detect eventual hardware conflicts: IRQ (Interrupt
ReQuest line), BA (hex Base Address), I/O (Input/Output) Port, COMx Port etc.

* MSD.EXE v2.14 is located on the Win98 Setup CD-ROM, in the \TOOLS\OLDMSDOS
folder.
* MSD.EXE v2.13 is located on the Win95 Setup CD-ROM, in the \OTHER\MSD
folder.
* MSD.EXE v3.0 (MS-DOS 6.00 - 6.22 users) is located in your \DOS directory
(default is C:\DOS). If you can't find it, extract it (using EXPAND.EXE) from
your MS-DOS 6.xx Install floppies, and place it into your DOS directory.

Users of MS-DOS 5.00 - 6.21 can download the updated MSD.EXE v2.11, also
included with MS-DOS 6.22 [180 KB, free]:
ftp://ftp.microsoft.com/softlib/mslfiles/GA0363.EXE
MSD.EXE is NOT installed by Windows 9x Setup by default! Copy MSD.EXE manually
from your Win9x Setup CD-ROM to a folder in your path (I recommend
\WINDOWS\COMMAND), or run it directly from your Win9x CD-ROM:

MSD

at any DOS prompt.

HINT: Try first to run MSD from outside the Windows GUI, in native/true MS-DOS
mode, by choosing to boot with the "Command prompt only" option from the
Windows 9x Startup Menu:
- Option 5 on Win9x machines without a Network and/or TCP/IP protocol
installed, or:
- Option 6 on Win9x Networked systems and/or TCP/IP enabled,
to see what lies under your PC's "hood".

When deciding which lines to use with the UMBPCI.SYS /I=xxxx-yyyy parameter,
take the starting upper memory address from the left side of the lowest line
and the end address from the right side of the highest line, as shown on your
MSD's memory screen. Example:

DEVICE=drive:\path\UMBPCI.SYS /I=C800-EFFF

Your Windows 9x (typically installed in C:\WINDOWS) CONFIG.SYS file should
look something like this, assuming the entire UMB area is contiguous and free:

DOS=HIGH,UMB
DEVICE=C:\WINDOWS\HIMEM.SYS /TESTMEM:OFF /Q
DEVICE=C:\UMBPCI\UMBPCI.SYS /I=C800-EFFF
DEVICEHIGH=...
INSTALLHIGH=...
SET=...
etc...

You MUST place HIMEM.SYS in CONFIG.SYS (using the DEVICE command), because
UMBPCI.SYS is an extension to HIMEM.SYS. Windows 9x loads HIMEM.SYS
automatically, but later in the sequence. Therefore the HIMEM.SYS command MUST
be loaded BEFORE the UMBPCI.SYS line!

EMM386.EXE is no longer needed, unless you need Expanded Memory (EMS) for
running DOS applications/games.
If you DO need EMS you MUST reserve 64 KB of contiguous upper memory for the
EMS Page Frame, and place the EMM386.EXE DEVICE line AFTER UMBPCI.SYS in your
CONFIG.SYS.
Also, you MUST exclude the contiguous Upper Memory Region (UMR) used by
EMM386.EXE's Page Frame from the UMBPCI.SYS /I=xxxx-yyyy range. This 64 KB
area is located by default between addresses C800-D7FF. EMM386.EXE tries to
place its Page Frame in this region upon loading. You can also force
EMM386.EXE to "fit" its Page Frame into the C800-D7FF region by adding the Mx
switch on the EMM386.EXE line (M3 in this case), ONLY IF this area is NOT used
by ROM/BIOS. Example of such CONFIG.SYS lines, combining UMBPCI.SYS and
EMM386.EXE to provide EMS, and to load all devices/TSRs "high" the same time:

DOS=HIGH,UMB
DEVICE=C:\WINDOWS\HIMEM.SYS /TESTMEM:OFF /Q
DEVICE=C:\UMBPCI\UMBPCI.SYS /I=D800-EFFF
DEVICE=C:\WINDOWS\EMM386.EXE X=D800-EFFF X=B800-C7FF I=C800-D7FF I=B000-B7FF RAM M3 D=256 AUTO NOTR
DEVICEHIGH=...
INSTALLHIGH=...
SET=...
etc...

IMPORTANT: To become familiar with HIMEM.SYS and EMM386.EXE command line
parameters:
- Windows 9x users: use Notepad to read the "HIMEM.SYS" and "EMM386.EXE"
topics in MSDOSDRV.TXT, a text file located in your Windows folder.
- MS-DOS 6.xx users: run these commands from any DOS prompt:
HELP HIMEM.SYS
and then:
HELP EMM386.EXE
and read the related topics.

Alternatively you can load EMM386.EXE without a Page Frame (by adding the
"FRAME=NONE" parameter to your EMM386.EXE CONFIG.SYS line), while still
providing EMS. Example:

DEVICE=C:\WINDOWS\EMM386.EXE FRAME=NONE X=D800-EFFF X=B800-C7FF I=C800-D7FF I=B000-B7FF RAM D=256 AUTO NOTR

But BEWARE of program errors, because older EMS DOS programs were not designed
to work properly WITHOUT a Page Frame.

Another method is to reserve the EMM386.EXE 64 KB Page Frame area and let
Windows 9x GUI provide EMS in its DOS boxes/sessions. This SYSTEM.INI [386enh]
section line:

[386enh]
EMMPageFrame=C800

does the trick, provided that the 64 KB upper memory region at C800-D7FF is
CONTIGUOUS and FREE (unused) when Windows 9x starts, and that EMM386.EXE does
NOT load from CONFIG.SYS.
Note that EMM386.EXE settings in CONFIG.SYS take precedence over the
SYSTEM.INI lines. If EMM386.EXE is set to provide expanded memory (with the
"RAM" or "HIGHSCAN" switch) in CONFIG.SYS, the SYSTEM.INI line above has NO
effect.
Use this workaround ONLY IF you have ANY DOS based programs/games that need
EMS to run in a DOS box/session.

Alternatively you can disable the Windows 9x search for free (unused) RAM in
the UMA, by adding/changing this line under the [386enh] section of your
SYSTEM.INI, to avoid incompatibilities with DOS mode drivers/TSRs or/and 3rd
party upper/extended/expanded memory managers loaded from your startup files
(CONFIG.SYS and AUTOEXEC.BAT):

[386enh]
EMMExclude=A000-FFFF

For more useful SYSTEM.INI settings go to this page:
http://members.aol.com/axcel216/lastweek.htm#SYSINI


ADDITIONAL OS COMPATIBILITY
===========================

UMBPCI begining with v3.0 is also compatible with DR-DOS, Novell DOS and
Caldera Open DOS.

When UMBPCI doesn't find an XMS driver (i.e. HIMEM.SYS), it only enables
(maps) the upper memory and ends. HIDOS.SYS can then create UMBs from this
memory.

1999/06/24

Uwe Sieber

English docs revised by George Gombos.

E-mail:
uwe.sieber@gmx.de
or
uwe.sieber@relay.boerde.de

Homepage URL:
http://www.uwe-sieber.de

Or go to:
http://www.altavista.com
and search for "Uwe Sieber's Homepage" or for "UMBPCI".
