Uploaded to ftp://ftp.devoresoftware.com/downloads/emm386 are the files emmx201.zip, EMM386/HIMEM mostly executable package, and emms201.zip, EMM386/HIMEM mostly source package. EMM386 Version 2.01 is a bugfix release for Version 2.0. It is required for everyone who has version 2.0, and is a recommended upgrade for earlier 1.x EMM386 versions. Approximately half of all users will experience a fatal error in version 2.0 that 2.01 fixes, and another bug fixed in 2.01 could cause a crash for any user as they run applications, although it is much less common. EMM version 2.01 also supports the CPU WRMSR instruction and DOS redirection of help screen output, as does the HIMEM included. This version should be quite a bit more stable, but the possibility of lingering or less serious bugs after the extensive 1.x -> 2.0 rewrite is moderate. Please report any problems. A quick rundown of change details follows: During initialization when pool-sharing was present (no EMM= setting), EMM386 could compute an odd 16K amount of free memory, depending on total available XMS memory. The odd 16K was not properly masked to an even 32K border, leading to immediate fatal errors when an application using EMS or VCPI was used and memory allocated to the program. It was pure luck whether your machine computed an odd or even amount of 16K blocks available, so approximately 50% of all users were probably affected. Another error that could occur during runtime allocation of XMS to an EMS/VCPI memory was a 8-bit value overflow if the value was 0FDh or higher. This could happen any time a new XMS allocation was made to EMS/VCPI pool allocation blocks. I'd roughly guess 5-10% of users might encounter the problem over the lifetime of a DOS session. EMM386 and HIMEM allow DOS redirection of their command line output to a file or through MORE, etc. Whoopee. The relevant modification is in PRF.C. Alert code browsers may note the user of an extremely dumb #ifdef to change to this behavior. Borland/Turbo C doesn't like #ifdef 0 for reasons which escape me, so I just forced it to work rather than waste time fooling around guessing how the compiler's brain worked. The protected CPU instruction WRMSR is supported via EMM386 emulation in its exception handler, to match its twin instruction RDMSR. Two trivial wording changes were made to HIMEM. -Michael Devore