Chapter 1: OVERVIEW
What Is CauseWay for Watcom C++ and Assembly Language? CauseWay is a 386 DOS extender package for use with Watcom C++ and assembly language programs. It consists of a DOS extender, provided as a stub EXE for Watcom C++ applications and bound to a protected mode linker for assembly language applications, as well as several support and enhancement utilities.
Within the standard DOS, and Windows and OS/2 DOS box environments, CauseWay supports very large memory models for applications on PC compatibles with an 80386SX processor or above without the need to use overlays or crude stopgap measures such as EMS/XMS swapping. To do this, the DOS extender runs applications in protected mode, rather than the real mode normally used in the DOS environments. CauseWay supports both 16-bit and 32-bit protected mode applications operating under a DOS environment.. It makes full use of 386-level chip capabilities including demand paging of code and data, variable-sized segments up to 4G in length, mixing 16- and 32-bit segments as well as support for flat (non-segmented) memory addressing models. The CauseWay implementation of these powerful capabilities provides all their benefits while being transparent to the application user.
Applications created using CauseWay are compatible with the VCPI and DPMI standards and run equally well on systems with no protected mode drivers or programs. CauseWay applications work with such diverse environments as normal DOS, DesqView, Windows 3.0 and above in both standard and enhanced modes, as well as DOS windows within OS/2 2.0 and above. CauseWay allocates memory from DPMI, VCPI, XMS, and INT 15H services, in addition to conventional DOS memory. This allows CauseWay applications to allocate memory through the CauseWay DOS extender without the need to detect or manipulate the various memory handling schemes.
A primary objective of CauseWay development was to ensure minimal effort would be needed by programmers to adapt their code to work with the CauseWay DOS extender. As a result, most Watcom C++ and many real mode assembly language programs need no or minor changes to produce a fully operational CauseWay protected mode application.
Go to Table of Contents