Hi, Jack should shout less and should not cross-post the same mail
on two lists... Whatever...

He writes that it is VERY important to have VDS because you must
know where the memory used for UMBs is physically, for DMA purposes.
And that you must allow programs to get a LOCK on that UMB/physical
mapping. So far so good.

I also do know that Windows remaps various physical memory locations
to the first 1 MB to be able to run more than 1 DOS box at a time.
You should know that this only works in 386 enhanced mode, while the
other modes are 286-compatible and use disk swapping instead of memory
mapping. The 386 enhanced mode is known not to work in FreeDOS yet.

>    B) If upper-memory WILL NOT be used when MS-DOS EMM386 loads,
>          VDS calls are left INACTIVE!   Thereafter, upper-memory
>          and VDS calls can NEVER be ENABLED!

Why that? Windows uses GEMMIS (which our EMM386 does not support, very
complex and not well documented) to take over all EMS control, so it
can know the physical address of a given EMS page and could even use
that as DMA buffer. Then there might be cases where Windows itself has
to provide VDS to make disk drivers happy - conceivably, but actually
I do not think that this happens. "Can never be enabled" is still a
strong wording. You just GENERALLY do not need VDS if you have no UMBs
(how about HMA, by the way? Our kernel never transfers data between
disk and HMA directly!).
With EMS 4.0, you can even map to locations outside UMBs, so you get
again some reason why VDS can be useful without UMBs / without page frame.

> As may be seen in the preceding two paragraphs, THERE ARE REASONS
> why MS-DOS EMM386 drivers run on such unwritten and STRICT rules!

Hi immortal Jack, looks like you have a copy of those - as you
say - unwritten rules engraved in marble? Just the usual pain
of having to mimick MS DOS'es undocumented behaviour because
"everybody knows that it has to be like in MS DOS" :-(.

Anyway, point taken, if there are VDS functions missing in our
EMM386, and they are important, then we have to provide them.
Current version supports functions 2 (version), 3 (lock), 5 (scatter-
lock), 6 (unlock - is dummy), 4 (same).Both lock functions are NO dummies.

Eric


-------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to