Hi Bertho, maybe Tom does not have the patience to explain you why there are good reasons why FreeDOS does things the way they are done, but you can trust him :-) If you take the time to FULLY understand the issue and then have exact ideas on how to do things yet better, you are most welcome to submit patches or explain an algorithm change and why that new algorithm is good.
Cheers, Eric PS: XBDA and moving it is not necessarily trivial. > I"m using a kernel v. 2040 with XMS swapping compiled in. XMS swapping is done by FreeCOM, not the kernel... > " SWITCHES = /E " directive in Config.sys is ignored silently CfgSwitches says: > case 'E': /* /E[[:]nnnn] Set the desired EBDA amount to move in bytes > */ > { /* Note that if there is no EBDA, this will have no effect */ > int n = 0; > if (*++pLine == ':') > pLine++; /* skip optional separator */ > if (!isnum(*pLine)) > { > pLine--; > break; > } > pLine = GetNumArg(pLine, &n) - 1; > /* allowed values: [48..1024] bytes, multiples of 16 > * e.g. AwardBIOS: 48, AMIBIOS: 1024 > * (Phoenix, MRBIOS, Unicore = ????) > */ > if (n == -1) > { > Config.ebda2move = 0xffff; > break; > } > else if (n >= 48 && n <= 1024) > { > Config.ebda2move = (n + 15) & 0xfff0; > break; > } > /* else fall through (failure) */ > } Also, PreConfig2 says: > if (Config.ebda2move) > { > ebda_size = ebdasize(); > ram_top += ebda_size / 1024; > if (ebda_size > Config.ebda2move) > ebda_size = Config.ebda2move; > } ... > if (ebda_size) /* move the Extended BIOS Data Area from top of RAM here */ > movebda(ebda_size, FP_SEG(KernelAlloc(ebda_size, 'I', 0))); You also want to read some of the related code. You are right that there is no feedback telling you step by step what happens with the EBDA, but making the kernel that verbose would also make it unnecessarily large. >> Why these latter limits would be thus hard-coded is beyond me. > b7ff is shorter then 'the highest location in conventional memory' > > Really ? 80x86 systems /other/ than the "standard Wintel PC" (a moving goal Well... Anyway. The DOS running on not so standard PC, say TI PRO or TANDY, also was not vanilla but had to hardcode the non-standard aspects of those platforms. > Is there a FreeCOM 'blueprint' or design document for FreeCOM > other than the code comments ? There are some text files, wiki / homepage documents... But generally speaking: If it is not part of the source download, it is probably not included. ------------------------------------------------------------------------------ This SF.net email is sponsored by Windows: Build for Windows Store. http://p.sf.net/sfu/windows-dev2dev _______________________________________________ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user