Latest test version of EMM386 is at ftp://ftp.devoresoftware.com/downloads in the files EMM386.ZIP and EMMSRC.ZIP, as executable and source.
These version corrects a problem with memory corruption in UMB's using VCPI, particularly notable with MCB panic errors. Non-DOS upper memory management is improved. This version should be compatible with a greater range of DOS-extended software. Additional details follow: Fixed the VCPI memory allocator which was broken such that it could, depending on uninteresting factors, supply the last 4K page of the last UMB block to a program as a free page or as available to be freed, leading to the UMB block page being overwritten or vanishing. If you had DOS=UMB in your config.sys and used a VCPI-allocating program, this problem would provoke DOS outrage and fatal MCB errors. The UMB handler in EMM386 (external to DOS and generally only useful if DOS is not =UMB) has been upgraded from the relative intelligence of a click beetle to that of an inbred ground squirrel. More specifically: up to eight UMB areas are supported, rather than four; the handler will not fail if the first block is too small, plus it returns the proper largest available block information; the handler will split a UMB block if a request allocation is 2K or more smaller than the actual block size into a smaller available block; and UMB's can now be released as well as allocated. Resizing a block (function 12h) remains unsupported. The V86-illegal instructions mov eax,cr0 and mov ebx,cr0 are emulated in EMM386 for programs which do such curious things. VCPI function 0de07h to return cr0 value is supported. An additional 96K EMS is supplied to EMM386 to provide better support for tables with large extended memory values and leave a little more room for VCPI. The EPROM scanner alignment was fixed per Tom Ehlert's posted code, slightly restyled. NOEMS leaves the following EMS functions available: 40h, 42h-43h, 45h-46h, 4bh-4dh, to better follow Microsoft EMM386. Turbo Debugger 2.5 still fails under NOEMS. NIOS still must either use NOEMS or keep the EMS setting down to not much more than 2M. No probable fix for those situations, they appear inherent to the programs. Under NOEMS, only 1 page of EMS is shown as available with function 42h, to keep DOS/4GW from switching away from XMS to VCPI-only allocations and subsequently failing with out of memory conditions. Any new or pre-existing errors I missed, or modest enhancement requests, let me know. Thanks. ------------------------------------------------------- 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