Main /

DOS Extender

Main.SideBar

FreeDOS Sections (components)

PmWiki

DOS Extender

Provides access to the standard DOS API [int 21h] and usually common BIOS [e.g. video int 10h] real mode APIs? from protected mode. When running 32bit DOS applications, the processor runs in protected mode (a mode of 80386 and higher microprocessors that allow use of advanced features including access of 4GB of memory, 32bit registers, memory paging and protection, etc) which is not compatible with the expected calling convention of real mode (another mode of Intel (R) and compatible x86 chipsets, this is the only mode of the 8086/8088 chips and the default [boot time] mode of 80286 and later chips) interrupt calls (the method used to call the BIOS and DOS APIs).

Many DOS extenders are DPMI (DOS Protected Mode Interface) clients so can coexist or work with many memory managers including under Microsoft (R) Windows (win32) environments. Some include a DPMI provider (controls memory) or can work with raw (no memory manager) or just a himem [see also fdxms for FreeDOS] (simply provides access to extended and high memory) memory manager.

DOS extenders can be either 16 bit (require 286 or better CPU, rare, obsolete), for example DOS/16M or the extender built in Borland's PASCAL & C compilers (latest DOS versions, not yet legally free), or 32 bit (require 386 or newer CPU, there are many, see list below).

Selecting DOS extenders:

By executable format and memory model:

LE/LX executables, used by DOS/4GW and its "family", and the later products designed as a drop-in replacement of it (PMODE/W, CAUSEWAY, DOS/32A)

COFF executables, used by CWSDPMI and PMODE/DJ

Others / Multi-format / PE executables

By supported amount od memory:

Older & worse extenders support 16...64 MB only, the newer and better ones 512 MB ... 4 GB (the hardware limit)

By swapping:

NO, YES & not deactivable or optional. Swapping is mostly not really useful in DOS, further today's and even semi-old PC's have more than enough memory.

By possibility the create standalone EXE files:

Most extenders do, like DOS/32A, CAUSEWAY, CWSDPMI (not default but doable), the minimal free DOS/4GW does not (the "premium" versions do). HX-DOS does not, but it still reduces amount of data needed to run a PE-EXE by factor cca 1000 (!!!) from cca 10'000 files totaling 1 GB (in XP) down to cca 10 files totalling 500 KB.

By license:

Nowadays no problem, all good extenders are free, even for commercial usage, sources are available also, expensive "premium" DOS/4GW products are obsolete.

Some 32 bit DOS Extenders:

CAUSEWAY
Written by M. Devore, commercial 1993...2000, then released into PD, drop-in replacement of DOS/4GW, most liberal license (public domain), supports DLL's, swaps, good performance

CWSDPMI
Written by C.W. Sandman & DJ Delorie, NOT compatible with DOS/4GW or DOS/32A, used by DJGPP, Free PASCAL (now abandoned) and Free BASIC, swaps by default but deactivable (option: -s- instead of -sc:\swapfile.tmp or any other -s[file] )

DOS/4G & DOS/4GW
Written by "Rational Systems" 1990...1995, then "Rational" renamed to "Trenberry", abandonated the DOS/4GW developement, but still distributes it for money, later a minimal version became free (bundled with OW), some "premium" versions still cost up to 1000$, most games are based on it, inefficient & huge, 32 MB RAM only, obsolete now, use DOS/32A instead

DOS/32A
Written by Narech Koumar, liberal open source license, fastest, very mature, still being developed and supported, very small and efficient, drop-in replacement for DOS/4GW, used by WATCOM & (for approximately $349,-) TMT PASCAL

HX-DOS
A new very useful product, slightly special, uses PE-EXE format, allows to run Win32 console software (for example the 7-Zip lossless datafile compressor and other compressors (KZIP, PNGOUT, FLAC, WAVPACK, OGG) ) in DOS (!!!), acting as a sort of "WINE" for DOS.

Pharlap 386 extender
Very old, used by some CAD & Electronic design software for DOS (no longer available)

PMODE/W
smallest, but some lacks/bugs, 16 MB RAM only, used mostly for console file to file utils, like ACE, free, but source not (no longer ?) available

PMODE/DJ
Based on PMODE/W, but compatible with CWSDPMI, no swap, sligtly smaller than CWSDPMI, rarely used (in 32bit UNZIP)

WDOSX
similar to HX-DOS and compatible with DOS/4GW also ???; for using Delphi (lastest incarnation of Turbo Pascal) under DOS see Delphi WDOSX Project

X-32 & X-32VM
based on DOSX extender written for Digital Mars (formally Zortech and Symantec compiler

EMX DOS Extender
Executables run in both DOS and OS/2 (?), in DOS CWSDPMI or other DPMI is also needed (?), rare and obsolete

and many others, rather rare / unfinished / unknown

Recent Changes (All) | Edit SideBar Page last modified on November 29, 2005, at 08:49 AM Edit Page | Page History
Powered by PmWiki