Hi all,
Eric Auer escreveu:
All tests got down to ONLY this umb+udma is very slow (almost the same
as no udma). Only umb and *everything* loaded low is just the same. The
real prblem is that without DOS=UMB, I cannot access umb at all.
This would be VERY strange. So you use DOS=UMB and explicitly load all
drivers low, verified with MEM /c that UMBs are actually empty (you
can even use EMM386 X=c800-efff to force to zero size to reach that)
and you STILL get slow UDMA? At least it is ONLY UDMA which gets slow.
"Almost the same as no UDMA" could mean that the UDMA driver decides
that it should disable itself - did you get any messages about that on
screen? Did it make a difference whether you load UDMA before EMM386
or after EMM386 (the latter being the normal way), in combination with
using or not using the VDS option of EMM386? How much of the problem
was left after you enabled output-overlap mode (very clever mode :-))
of UDMA?
In spite of all UDMA problems, if no other slowdown happens (e.g.
DOS=NOUMB is as fast as DOS=UMB if you do both tests without UDMA),
we at least know WHERE we have to look for the problem.
The test where very conclusive: UMB makes it slow. Loading everything
low *makes*no*difference*
Memory moving to/from HMA is quite fast, as is moving inside low RAM.
OK
Enabling / disabling HMA (A20) can take time, but A20 is usually on
most of the time anyway, and as said, FreeDOS EMM386 even blocks
attempts to switch A20 off
It is allways on: explicitely decribed by emm386
. MS EMM386 instead provides a fast A20
simulation created by page mapping. Things which can be slow in V86
mode (only EMM386 and other protected mode environments activate V86
mode for DOS: UMBPCI does not use V86 mode) are IRQs and access to
trapped I/O ports (EMM386 traps access to the old PC DMA controller
to redirect DMA access to UMBs to where the RAM which is mapped to
the UMBs actually is hardware-wise, which can HOPEFULLY be anywhere
in 4 GB range, otherwise EMM386 probably just takes care that the
UMB RAM is taken from RAM which is in the first 4 MB hardware-wise).
The IRQ speed can be improved by using some Pentium features, and
Win9x EMM386 and DR DOS EMM386 might use that and might be a bit
faster that way. Note that access to UDMA DMA controllers (which I
believe to be not the same as the normal DMA controllers) is not
trapped by EMM386. So UDMA access to UMBs is not automatically made
working. Instead, the UDMA driver has to explicitly ask the EMM386
for advice, which it can do with the VDS interface (EMM386 VDS option
enables that).
As I said *everything*else*has*no*effect*, I even tested VDS. I only had
limited success in mixing drivers from other DOSes.
Alain
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel