This release contains support for the following compilers:
\LIB\ASM - 80x86 Assembly language
\LIB\BCC20 - Borland C/C++ version 2.0 large and huge models
\LIB\BCC30 - Borland C/C++ version 3.0 & 3.1 large and huge models
\LIB\BCC40 - Borland C/C++ version 4.0, 4.02 & 4.5 large and huge models
\LIB\IBC11 - IBM C/2 version 1.10
\LIB\IBP10 - IBM Pascal version 1.0
\LIB\MSC51 - Microsoft C version 5.1 small, medium, and large models
\LIB\MSC60 - Microsoft C version 6.0 small, medium, and large models
\LIB\MSC70 - Microsoft C/C++ version 7.0 small, medium, and large models
\LIB\MSC80 - Microsoft C/C++ version 8.0 small, medium, and large models (Microsoft Visual C++ versions 1.0, 1.5, 1.51 and 1.52).
\LIB\MSF50 - Microsoft FORTRAN version 5.0
\LIB\MSF51 - Microsoft FORTRAN version 5.1
\LIB\MSP40 - Microsoft Pascal version 4.0
\LIB\MWC16 - MetaWare High C version 1.61 large and big models
\LIB\MWP28 - MetaWare ProPascal version 2.8 large and big models
\LIB\WTC70 - Watcom C version 7.0 large model
\LIB\ZTC34 - Zortech C++ version 3.04 large model
There is Beta-level support available for Symantec C++ v6.0 & 6.1
If you need support for this compiler, contact Technical Support at email@example.com
K - Kernal
D - Debugger
T - Tools
S - Support
E - Enhancement
B - Bug fix
M - Documentation
Fixes and Enhancements:
M ** A new manual is included with this release.
SE ** We have added support for Borland C/C++ v4.0, 4.02 & v4.5. You will find the replacement libraries in the directory LIB\BCC40.
SE ** We have removed support for Borland Turbo C v2.0. If you need this support, it is available.
SE ** The SAMPLE directory has been reorganized and improved. New sample programs and makefiles have been provided.
SE ** Microsoft FORTRAN v5.1 support has been enhanced to use either MSC7.0 or MSC8.0 (in addition to MSC6.0) support libraries.
SB ** We have fixed a problem with the floating point initialization in Borland C/C++ v3.0 & 3.1.
SB ** We have fixed problems with the trigonometric functions with Borland C/C++ v3.0 & 3.1.
SB ** We have fixed problems with running programs that have been loaded using d16LoadEXP() under Borland C/C++ v3.0 & 3.1.
SB ** If your DOS/16M TSR uses file I/O (e.g., loading a .dll), you must use the d16SwitchTsrIOState() function. This function correctly manages the environment segment/selector in the PSP.
TE ** We have fixed run-time and exit problems that would cause protection exceptions in IPX.DLL.
TE ** There is a new OPTEDIT flag "-UMB" (see below).
TE ** The segmented executable loader [NELOAD] now monitors all memory allocations made by a module and frees those allocations that remain when the module is unloaded.
TB ** NELOAD now correctly loads segments that are exactly 64 kb.
TB ** NELOAD now correctly loads a DLL from a DLL LibMain.
TB ** The floating point emulation DLL [EMU87.DLL] no longer disables emulation on exit.
DB ** A page fault caused by displaying non-existent memory (e.g., 'db &fffff') has been fixed.
DB ** A page fault that occurred after entering data at linear addresses (e.g. 'eb &b8000') has been fixed.
KE ** The kernel now supports INT 21 function 6C (Extended Open/Create).
KE ** The kernel will now move itself to a UMB if possible if the UMB option has been set by OPTEDIT.
KE ** The kernel will save & restore numeric co-processor emulation status of CR0.
KE ** RMINFO no longer makes up a number as to how much memory is available from a DPMI host (it can't tell from real mode).
KE ** The kernel's default stack size was of insufficient size if you were loading a very large program that had packages SPLICEd in. The default tansfer stack size is now 0x180.
KB ** Kernel initialization no longer crashes if the executable program's path > 40 characters.
KB ** Selector allocation (INT 31 w/AX=0000) now tries whole usable GDT if search from "descriptor strategy" to end unsuccessful.
KB ** DPMI function 0002 (Segment to Descriptor) has been fixed to return the same selector for subsequent requests to map a given segment.
KB ** An incompatibility with NETROOM'S VCPI host which caused returned pages to be forever lost has been resolved.
KB ** Fixup of a write-to-CS (by Microsoft FP emulation library) general protection fault now occurs under DPMI even with a 64K-exactly code segment.
Do not use QDPMI with EXTCHKOFF. The Windows debuggers [CVX & TDX] will not run properly with this option set.
There is a problem with some versions (6.02 & 6.3) of the Logitech mouse driver which causes erratic behavior with TDX and CVX.
The function d16FreeEXP() must be used to remove a program loaded with d16LoadEXP() from memory; the v5.0 manual suggests another method, but that method will not work.
The Microsoft linker with C v7.0 & v8.0 searches libraries in a not entirely obvious manner. When using LINK.EXE to link a program that uses floating point or graphics (which uses floating point), the module EMOEM.OBJ needs to be linked explicitly. Use LIB.EXE to extract EMEM.OBJ from MSC70x.LIB or MSC80x.LIB, where x is the appropriate model.