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

Reply via email to