At 10:46 PM 12/9/2005 -0800, you wrote:
Hi. I've been having a problem with EMM386 where I always get the message 'UMBs unavailable!' even when using the option X=TEST or I=TEST. Those are the only options that I am giving EMM386. One thing I noticed differently, though, was that this seems to happen only when I've booted kernel.sys directly by the GRUB4DOS available here: http://grub4dos.jot.com/WikiHome I can't test otherwise because SYS doesn't work on the computer I've been testing on (I've already reported the problem) Any ideas? Is this a bug? Is GRUB4DOS simply incompatible?
Probably the same thing I see when soft rebooting from Windows to FreeDOS. The problem is that, due to an unknown mechanism, upper memory bytes do not get reset to original values you see on a hard boot. They contain junk values. It appears as if the memory stays remapped to garbage on the soft boot, or the boot manager is using upper memory for its own purposes and not resetting bytes on exit to the loader. There is simply no way to automatically detect this because the garbage values don't repeat and look like valid values to any nonsentient detection scheme.
There are several workarounds, but no real automatic fix -- nor does one seem possible.
First, you can explicitly I= include memory ranges you know are good and X= exclude those which are known bad. If this is done on a commonly used system, it's easy to determine what ranges are normally used via a nonproblematic VERBOSE X=TEST, and then just hard-code the desired ranges in there for future boots.
Second, you can not use either X=TEST or I=TEST and depend on the built-in ROM detection to bring in upper memory values -- the problem with this is a) many recent ROM setups no longer leave a valid signature so invalid ranges are included (requiring manual X=exclude) and b) the garbage byte values may contain signature traces so valid ranges are not included (although this is improbable).
As a third workaround, you can either reboot a second a time while in FreeDOS, which clears out the garbage leftovers, or you can hard reboot directly to FreeDOS to clear them out. That's what I do after using Windows, when upper memory cannot be reclaimed.
------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click _______________________________________________ Freedos-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/freedos-devel
