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
