DOS/16M Release Notes, v.6.01

Supported Compilers:

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

Release Specifics:

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.

[Tenberry Home] * [Tenberry Consulting] * [DOS/16M Home] * [FAQ] * [Release Notes] * [32-bit] * [Order]
Last modified 2002.10.1. Your questions, comments, and feedback are welcome.