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