Michael Devore escreveu:

At 07:34 PM 3/10/2004 -0300, Alain wrote:

EMM386 will only allocate VCPI memory from the EMS memory pool. Making it
automatically use the XMS memory pool would require backdoor interaction
with HIMEM[64] and generally make things quite a bit more complex.
Of course, a DOS extender/extended program can still use XMS in addition to VCPI and 
many of them do.
I can see aproblem here (or I can have missunderstood): IMHO what will be used a lot 
is UMB+VCPI without EMS. The reason for this configuration is whe 1) UMBPCI does not 
work (new hw), 2) no need for EMS (few programs use it) 3) free as much as possible 
Low-Memory
for comon programs (EMS takes 64k of UMB)(very often needed). Will this configuration 
work??
Depends. Some extenders have absolutely no problem allocating from XMS if no VCPI memory available.
For what I learned here, if the machine is not in real mode, which is needed to get UMB, then VCPI is needed. am I wrong?

No, it's not necessary. UMB's are mapped at startup by the EMM. VCPI is simply an interface (the 'I' part of the acronym) with EMM386 to make it, among other things, do what you want from V86, aka virtual 8086, mode. V86 is what DOS runs at under EMM386 rather than real mode. The EM monitor itself substantially runs in protected mode.

Some cpu instructions _cannot_ be used in V86 mode in i586 machines. So if the machine _is_ in V86 someone has to control it, ok? that one is VCPI, ok?
So if I need UMB without umbpci, I need to put the machine in V86 mode. What you are saying is that _some_ dos extenders (but not dos4gw) can do that even without VCPI, ok?
Sorry, but it looks like I missunderstood something somewhere, this is why I am re-phrasing most of what you say so that I can see where is my erros ;-)


What is himem+emm386 footprint in memor(low+umb)?
Don't know. HIMEM conventional memory footprint is low, around 3K(?) someone said a while back. EMM386 is growing and definitely higher than that, although most internal tables and structures are in high memory outside of pure DOS. I did misstate how the NOEMS allocation for UMB's works. Under NOEMS EMM386 allocates enough for the current UMB's, plus 32K for VCPI, meaning lower UMB's allocations won't increase the minimum VCPI pool size. Right now, EMM386 shuts off VCPI if there isn't a minimum 32K for VCPI after UMB allocation, but I'm probably going to change that since some programs will work with a zero-sized VCPI pool.
I think.

So EMM386 has a small code in memory, _plus_ 32k for the VCPI pool. The diference seems to be that this 32k are hidden somewhere in MS-EMM386, ok?


Alain



-------------------------------------------------------
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-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to