A test version of EMM386 is now available with VCPI support.  It could use any and all 
developers willing to bash on it.  Uploaded to ftp://ftp.devoresoftware.com/downloads 
are the files EMM386.ZIP and EMMSRC.ZIP available via anonymous ftp. Most recent 
browsers support direct downloads from the URL, as well.  File EMM386.ZIP has the 
uncompressed EXE EMM38664.EXE and the optional EMMSRC.ZIP has two source files used to 
build EMM38664.EXE.  You can either rename EMM38664.EXE to EMM386.EXE or change your 
CONFIG file to use EMM38664 rather than EMM386 (assuming it was present).

VCPI support allows things like DOS extenders and their applications to run when 
EMM386 is loaded.  Extended-DOS programs running using DOS/4GW, CauseWay, DOS32a, and 
the rest of the extender cast need VCPI support in EMM386.  VCPI is always present 
with EMM386 unless the NOVCPI parameter is used.  NOVCPI requires the NOEMS parameter 
to be present (you have to turn off EMS before you can turn off VCPI), as follows 
Microsoft's EMM386 behavior.  VCPI works even with NOEMS, but very little memory will 
be available through the VCPI interface in such cases.

What we need people to do is try EMM386 with any DOS extended program they may have 
available and see how well it works, or not, with interactive feedback either way.  
NOEMS and NOVCPI may be tried for the venturesome.

As with all FreeDOS utilities, use of EMM386 is at your own risk.  Should the test 
version of EMM386 contain a bug which signals Martian microbes to come down and 
roller-blade on your hard disk platters, nano-crowd management and cleanup is your 
life enhancement experience.

Additional details follow:

THe NOEMS parameter no longer zeroes out the INT 67h vector, unless NOVCPI is also 
present.  However, if NOEMS is present and NOVCPI is not, all standard EMS functions 
will return an unsupported error code.

DOS/4GW doesn't like the way I made NOEMS work and errors out.  I don't know why, but 
I'd like to fix it.  Anybody has educated guess on how to rework things vis-a-vis the 
INT 67h vector in conjunction with NOEMS and NOVCPI without breaking spec, post away.  
The CauseWay DOS extender, being more intelligent in all respects as a completely 
unbiased view, has no such problems.

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.

Maximum EMS has been reduced from 511M to 480M to easily align internal tables for 
VCPI's required 4K-boundary memory allocation.  Given that the official EMS 4.0 spec 
only supports up to 32M, the reduction from almost 16x to 15x that amount doesn't seem 
unduly burdensome.

All VCPI API functions are supported except for those dealing with reading CR0 and 
debug registers and remapping the 8259 vectors -- almost nothing supports that anyway. 
 Reading the 8259A vector mappings (0de0ah) is supported.

This version of EMM386 has been successfully tested under a moderately-sized DOS/4GW 
program and a couple of toy CauseWay programs.  A quick look at the DOS32A source code 
shows support for the all VCPI API functions it uses, but I didn't have access to any 
programs which used DOS32A, so DOS32A wasn't tested.  These may well be the only three 
programs in existence which currently work with EMM386 VCPI support, but I hope not.

Finally, this version of EMM386 includes support for EMS 4.0 API function 57h, 
move/exchange memory regions.  I know everyone is terribly excited about that.




-------------------------------------------------------
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