At 05:15 AM 8/21/2006 -0600, [EMAIL PROTECTED] wrote:
> This problem occurs when using SMARTDRV.EXE (with write caching
>enabled) from MSDOS 6.22 with FreeDOS. Replacing either avoids the
SMARTDRV is pretty particular on some machines. I just pulled the
following from the Microsoft site, it sound relevant to the issue. Let us
know the results.
Double Buffering and Bus Masters
Certain disk controllers support a concept called bus mastering. This is
where the actual disk controller takes over the bus in order to transfer
data to or from system RAM. Some SCSI controllers have this feature. A
problem occurs when running in the virtual 8086 mode that Windows 3.0 and
3.1 virtual machines provide. Memory managers such as QEMM and EMM386.EXE
also use virtual 8086 mode. The read or write address that is passed to
MS-DOS is often not the same as the actual physical memory address. This
can cause data to be read from the wrong location or cause data to be
written to the wrong address, which in turn can cause erratic system
behavior, general protection faults, and the system to stop responding (hang).
Microsoft created a standard called Virtual DMA Services, which provides an
interface that allows these bus-master controllers to get the correct
address and avoid the problems mentioned above. However, some older bus-
master controller cards do not support this standard. To allow SMARTDrive
to work with these older bus mastering cards, a feature has been added to
SMARTDrive that provides a memory buffer that has the same physical and
virtual addresses. This avoids the system instability problem at the cost
of 2.5K of conventional memory and a small amount of performance (the cost
of moving the data to and from the buffer.) To use this feature, place the
following line in the CONFIG.SYS file:
DEVICE=SMARTDRV.EXE /DOUBLE_BUFFER+ NOTE: This line does not install the
cache, only the double-buffer driver; the cache must be installed in the
Most disk controllers do not need double buffering. This includes all MFM,
RLL, and IDE controllers as well as many ESDI and SCSI devices. The Windows
3.1 Setup program will not install the double buffer driver in most cases.
In the cases where Setup is unable to determine if double buffering is
needed or not, it will install the driver based on the reasoning that it is
better to error on the side of safety.
A feature has been added to SMARTDrive to help determine if double
buffering is unneeded and allow removal of the driver. Once the system is
running with SMARTDrive loaded, type "SMARTDRV" (without quotation marks)
at the MS-DOS command prompt. The following will appear:
Copyright 1991,1992 Microsoft Corp.
Cache size: 1,048,576 bytes
Cache size while running Windows: 1,048,576 bytes
Disk Caching Status
drive read cache write cache buffering
A: yes no no
B: yes no no
C: yes yes yes
D: yes yes -
Microsoft SMARTDrive Disk Cache version 4.00
For help, type "Smartdrv /?".
NOTE: The double buffer driver must be loaded for SMARTDrive to determine
if there is a need for buffering. If the double buffer driver is not
loaded, all entries in the buffering column read "no."
To determine if double buffering is required, look at the column labeled
buffering. For each drive that is being cached, it can have one of three
values: yes, no, or -. "Yes" indicates that double buffering is needed and
being performed; "no" indicates that buffering is not needed. "-" indicates
that SMARTDrive has not yet determined the necessity of double buffering.If
the buffering column has all "no" entries in it, the double buffer driver
is unneeded and can be safely removed from the CONFIG.SYS file.
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
Freedos-user mailing list