in all pratical situations, it make most sense to have
DOS=HIGH,UMB BUFFERS=20
and all unused HMA is filled up with more BUFFERS (currently ~22), but could be reused by (not existing) HMA-TSR program.
the difference between BUFFERS=20 and BUFFERS=30 is that more HMA is marked as *used* and no longer available to some theoretical other HMA allocating program.
interesting.
minimum is 6
let's say N buffers are requested (-100<N<100)
let's say M buffers fit in HMA (0<=M<infinity, but normally [free_HMA_space DIV
buffsize])
if{M>=6}
{
if(6<=N<=M<100) --> mark N buffers as used
after marking, fill HMA with N=min(M,99) buffers // fill up until full or 99 reached.
}
else
{
N=max(-99,min(-1*(abs)N, -1)) // this takes care of buffers=0, buffers<-99 or
buffers>99
}
// buffers will always have been made negative, unless fits in HMA.
if buffers>0 -> put in HMA
if buffers<0 -> put in conventional memory
user is punished for specifying too big or too low numbers (when comparing to how much HMA is free), by putting buffers entirely in conventional RAM. so it's a wise thing to consider your best bet of BUFFERS=20
also takes care of not enough HMA space (0 for example when full or not available).
Bernd
------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
