home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Supreme Volume 6 #1
/
swsii.zip
/
swsii
/
179
/
UNSLUSHV.ZIP
/
UNSLUSHV.DOC
< prev
next >
Wrap
Text File
|
1991-09-16
|
4KB
|
74 lines
All current Zenith 286 and 386 desktop systems (except
for the Z-286/25) are equipped with a system whereby slow ROMs
are copied to high speed RAM to increase performance. The system
is refered to as the slushware system, since it is a hybrid of
software (RAM) and firmware (ROM). Other manufacturers use a
similar scheme and refer to it as "shadow RAM."
Our systems use slushware for two different things: BIOS
(monitor) ROM slush and video ROM slush. It is impossible to
disable BIOS slush because the actual ROM is located just shy of
the 16MB line. DOS and other real mode applications are limited
to 1MB in their addressing capabilities. The ROM is copied to
some write-protected RAM at the top of the first meg, where the
ROM is traditionally located. There is no way an application can
know that there is not a ROM at that address--it can guess by
seeing t can be read faster, but that cannot affect operations.
The only potential problem with BIOS slush comes when you have
16MB of RAM in a system, or use a device that locates itself in
that neighborhood--like the ALL Chargecard.
Video slush is slightly different. Video cards with ROMs
(EGA and VGA) use the C0000H paragraph for their code. EGA ROMs
usually extend from C0000-C3FFFH; this is true for the Z-449. VGA
ROMs are slightly longer; they extend fro m C0000-C7FFFH. This
applies to most VGA cards including the Z-549. The Z-449 and
Z-549 cards have a ROM which is designed to be "slushware aware."
These ROMs have a special signature that tells our BIOS (monitor)
ROM that the code should be copied into slushware. EGA and VGA
cards from other vendors lack this signature and will not be
slushed. MDA and CGA cards don't have their own ROM code (they
use the system BIOS) and therefore are not slushed.
The area of memory from E0000-E7FFFH is reserved for
video slush. Regardless of the type of video card used, this
block of memory is used by write-protected RAM which cannot be
disabled. As a direct result of this, even when video slushware
is not used, those addresses are not available to any hardware
card.
The device driver UNSLUSHV.SYS does not disable video
slushware; all it does is make sure that it is not used. this
makes it possible for programs which use 386 memory mapping
techniques (like LIMSIM, QEMM, 386-to-the-Max) to use E0000H as
an EMS page frame or "high memory" for loading TSRs. These
programs don't care what is physically there, they just want to
use the addresses. The reason these programs fail when slushware
is used is that applications are expecting video BIOS to be at
E0000H, and they crash when they try to execute the EMS page
frame or other data that's been put there.
Disabling video slushware makes DOS video performance
suffer. Scrolling is slowed considerably. Still, most
graphics-intensive DOS applications (like Windows) bypass BIOS
and control the video hardware directly, so they run just as fast
as they normally do.
To summarize: BIOS slushware cannot be disabled. Doing so
would prevent the CPU from accessing the ROM code it requires to
operate. Video slushware can be disabled to the point where it is
no longer used, but will still be a block of write-protected RAM
from E0000-E7FFFH. This block will conflict with any other
hardware devices using those addresses. But if the block is
unused, software packages which use 386 memory mapping tricks can
use E0000-EFFFFH for EMS page frames and whatnot.
Using the driver: The command to use the driver is
"device=unslushv.sys." Just make that the first line in your
CONFIG.SYS file and put the driver in the root directory. That
will prevent the video card from using video slush.
Technical info: the driver changes the interrupt vectors
for INT 10H and 6DH so that they use C000H as the segment instead
of E000H.