Hallo Herr Paul Dufresne via Freedos-devel, am Donnerstag, 20. Februar 2025 um 11:34 schrieben Sie:
> I realize I tended to wrongly think that HIGH was in EMS or XMS regions (over > 1 Mb). > But now I kind of realize that HIGH is really above 640 kb, while still lower > than 1 MB (default addressable part). DOS=HIGH in config.sys instructs the kernel to load between 1MB and (1MB+64K) DOS=UMB instructs the kernel to load some data in UMB (between 640K and 1MB). Everywhere else 'HIGH' is actually 'UMB'. I admit that the wording is misleading, but has been in use for the last 40 years, and unlikely to change. > So High is a 1024 kb - 640 kb (Low) = 384 kb area. Thats UMB, actually. > And the basic idea is conventional area is for the main running application, > while High is mostly resident programs. if you exchange High with UMB, correct. > And XMS_Swap, is a feature that, when DOS is loaded in conventional memory > (Low), when calling a program, it > can remove almost all of itself from memory (except for about 3k), and after > the program returns, the 3k part > copy DOS back to conventional memory (Low) by using a copy of DOS in XMS > memory (over 1M area). XMS_SWAP is not a DOS feature, but a COMMAND.COM feature. And it works where ever it is loaded. > So when loaded High, DOS "waste" about 100k? (even more I think) from the 384 > kb area.... while loaded Low it "waste" only 3kb (if XMS_SWAP works). Nope. You could have tested this before stating this as 'fact'. > Not all High is available... there is a few regions for video memory, and > others things (frankly I cannot really say what)... is used for other things > than residents DOS programs and drivers. > Also I begin to see more why loading logger (High) was more likely to result > in the Out of memory when loading DOS high. right. You accidentally triggered a COMMAND.COm bug (failure to force allocation of enough heap), which is directly coupled to the available UMB space. > The basic idea, is that we choose in fdconfig.sys if we load DOS high or low, > before knowing how much of HIGH we need, > because it is mostly decided in FDAUTO.BAT. wrong. in config.sys is decided to load the kernel high (DOS=HIGH) and load command in UMB (SHELLHIGH= ) in autoexec.bat TSR'S may be loaded in UMB with LH somestuff > But from what I said, the 3K cost of reduction to loading DOS programs in > Low, seems a small price to me, compare to > the about 100k (or more?) of DOS loaded High. wrong facts, nonsense conclusion. > I prefer giving more space to residents programs. > So my proposition is to load DOS low, if XMS_SWAP is available. My suggestion is to learn your "101 DOS memory allocation" and "202 DOS advanced memory juggling" before coming up with propositions. Thanks for your time. Tom _______________________________________________ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel