DOS extender
   HOME

TheInfoList



OR:

A DOS extender is a
computer software Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work. At the lowest programming level, executable code consists ...
program running under
DOS DOS is shorthand for the MS-DOS and IBM PC DOS family of operating systems. DOS may also refer to: Computing * Data over signalling (DoS), multiplexing data onto a signalling channel * Denial-of-service attack (DoS), an attack on a communicat ...
that enables software to run in a protected mode environment even though the host operating system is only capable of operating in real mode. DOS extenders were initially developed in the 1980s following the introduction of the
Intel 80286 The Intel 80286 (also marketed as the iAPX 286 and often called Intel 286) is a 16-bit microprocessor that was introduced on February 1, 1982. It was the first 8086-based CPU with separate, non- multiplexed address and data buses and also the ...
processor (and later expanded upon with the
Intel 80386 The Intel 386, originally released as 80386 and later renamed i386, is a 32-bit microprocessor introduced in 1985. The first versions had 275,000 transistorsDOS DOS is shorthand for the MS-DOS and IBM PC DOS family of operating systems. DOS may also refer to: Computing * Data over signalling (DoS), multiplexing data onto a signalling channel * Denial-of-service attack (DoS), an attack on a communicat ...
.


DOS extender operation

A DOS extender is a program that "extends" DOS so that programs running in protected mode can transparently interface with the underlying
DOS API The DOS API is an API which originated with 86-DOS and is used in MS-DOS/ PC DOS and other DOS-compatible operating systems. Most calls to the DOS API are invoked using software interrupt 21h ( INT 21h). By calling INT 21h with a subfunctio ...
. This was necessary because many of the functions provided by DOS require 16-bit segment and offset addresses pointing to memory locations within the first 640 kilobytes of memory. Protected mode, however, uses an incompatible addressing method where the segment registers (now called selectors) are used to point to an entry in the Global Descriptor Table which describes the characteristics of the segment. The two methods of addressing are mutually exclusive, with the processor having to make costly switches to real (or V86) mode to service non-protected mode requests. In addition to setting up the environment and loading the actual program to be executed, the DOS extender also provides (amongst other things) a translation layer that maintains buffers allocated below the 1 MB real mode memory barrier. These buffers are used to transfer data between the underlying real mode operating system and the protected mode program. Since switching between real/V86 mode and protected mode is a relatively time consuming operation, the extender attempts to minimize the number of switches by duplicating the functionality of many real mode operations within its own protected mode environment. As DOS uses interrupts extensively for communication between the operating system and user level software, DOS extenders intercept many of the common hardware (e.g. the
real-time clock A real-time clock (RTC) is an electronic device (most often in the form of an integrated circuit) that measures the passage of time. Although the term often refers to the devices in personal computers, servers and embedded systems, RTCs are pr ...
and keyboard controller) and software (e.g. DOS itself and the mouse API) interrupts. Some extenders also handle other common interrupt functions, such as video BIOS routines. Essentially, a DOS extender is like a miniature operating system, handling much of the functionality of the underlying operating system itself.


Development history

The DOS extender was arguably invented by
Phar Lap Phar Lap (4 October 1926 – 5 April 1932) was a champion New Zealand–bred Thoroughbred racehorse who is widely regarded as New Zealand's greatest racehorse ever. Achieving incredible success during his distinguished career, his initial u ...
, but it was Tenberry Software's (formerly Rational Systems) 386 extender DOS/4GW that brought protected mode DOS programs to a mass market. Included with
Watcom Watcom International Corporation was a software company, which was founded in 1981 by Wes Graham and Ian McPhee. Founding staff (Fred Crigger, Jack Schueler and McPhee) were formerly members of Professor Graham's Computer Systems Group at the Uni ...
's C, C++, and Fortran compilers for 386 class processors, it soon became a ubiquitous mainstay of PC applications and games such as
id Software id Software LLC () is an American video game developer based in Richardson, Texas. It was founded on February 1, 1991, by four members of the computer company Softdisk: game programmer, programmers John Carmack and John Romero, game designer T ...
's successful ''
Doom Doom is another name for damnation. Doom may also refer to: People * Doom (professional wrestling), the tag team of Ron Simmons and Butch Reed * Daniel Doom (born 1934), Belgian cyclist * Debbie Doom (born 1963), American softball pitcher * ...
''. While initially it was the memory-hungry business applications that drove the development of DOS extenders, it would be PC games that truly brought them into the spotlight. As a result of the development of DOS extenders, two new software interfaces were created to take care of the many potential conflicts that could arise from the varied methods of memory management that already existed, as well as provide a uniform interface for client programs. The first of these interfaces was the
Virtual Control Program Interface In computing, the Virtual Control Program Interface (VCPI) is a specification published in 1989 by Phar Lap Software that allows a DOS program to run in protected mode, granting access to many features of the processor not available in real mode ...
(VCPI), but this was rapidly overshadowed by the
DOS Protected Mode Interface In computing, the DOS Protected Mode Interface (DPMI) is a specification introduced in 1989 which allows a DOS program to run in protected mode, giving access to many features of the new PC processors of the time not available in real mode. It w ...
(DPMI) specification, which grew from the Windows 3.0 development. They provided an API through which an extended program could interface with real mode software, allocate memory, and handle interrupt services. They also provided an easy method for the extender to set up the switch to protected mode, and allowed multiple protected mode programs to coexist peacefully.


DOS extenders

* DOS/4G and DOS/4GW and DOS/16M by Tenberry Software, Inc. * 286, DOS Extender and 386, DOS Extender by
Phar Lap Phar Lap (4 October 1926 – 5 April 1932) was a champion New Zealand–bred Thoroughbred racehorse who is widely regarded as New Zealand's greatest racehorse ever. Achieving incredible success during his distinguished career, his initial u ...
. Later superseded by the TNT Dos Extender. * PROT by Al Williams, a 32-bit DOS extender published in Dr. Dobb's Journal and in two books. This extender had the virtue of running DOS and BIOS calls in emulated mode instead of switching back to real mode. * CauseWay was a formerly proprietary extender that competed with DOS4G. As of 2000 it has been released as open source. A few rare games such as DaggerFall use it. *
DOS/32 DOS/32 is an advanced 32-bit DOS extender created for replacing DOS/4GW extender and compatibles. This extender can be used in various environments, from embedded systems to DOS emulators, by both developers and end users alike. Unlike DOS/4GW, DO ...
as an alternative to DOS/4G by Narech K. * Ergo (formerly Eclipse, formerly A. I. Architects) OS/286 and OS/386 extenders, and DPM16 and DPM32 servers * 386Power 32-bit DOS Extender is an extender for 32-bit Assembly apps. Includes
source code In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the w ...
. * all Microsoft Windows versions since 1990, except NT branch, include both a DPMI server and DOS extender. * HX DOS Extender provides limited Win32 support to allow Windows console and some Win32 GUI applications to run under DOS. It contains both 16-bit and 32-bit DPMI servers (HDPMI16/HDPMI32) for use with protected mode DOS programs * DosWin32 provides limited Win32 support * WDosX was an early implementation of limited Win32 support, used by the TMT Pascal compiler. * Borland Power Pack was an extender included with some of their development suites that could access a limited portion of the Win32 API. * TASM, again from Borland, included 32RTM with DPMI32VM and RTM with DPMI16BI, two DPMI hosts. * CWSDPMI by Charles W. Sandmann, a DPMI server for use with 32-bit protected mode DOS DJGPP programs. * QDPMI by
Quarterdeck Office Systems Quarterdeck Office Systems, later Quarterdeck Corporation (NASDAQ: QDEK), was an American computer software company. It was founded by Therese Myers and Gary Pope in 1981 and incorporated in 1982. Their offices were initially located at 150 Pico B ...
, was a DPMI host included with
QEMM Quarterdeck Expanded Memory Manager (QEMM) is a memory manager produced by Quarterdeck Office Systems in the late 1980s through the late 1990s. It was the most popular third-party memory manager for the MS-DOS and other DOS operating systems. ...
. * GO32, used in older (pre-v2) versions of DJGPP, and
Free Pascal Free Pascal Compiler (FPC) is a compiler for the closely related programming-language dialects Pascal and Object Pascal. It is free software released under the GNU General Public License, witexception clausesthat allow static linking against its ...
* D3X is an DPMI sever written entirely in Assembly. Still in alpha state, but discontinued before completion. * DPMIONE is another DPMI sever. Originally developed for 32 bit programs generated by Borland C++ and Delphi. * DBOS by Salford Software, a 32-bit protected mode DOS extender used primarily by their FTN77 Fortran CompilerFTN77 Fortran Compiler
/ref> * X32 and X32VM by FlashTek and supported as a target by Digital Mars compilers * BLINKER by Blink Inc Version 3 and above provided a 286 DOS Extender for several 16 bit DOS compilers including CA-Clipper, Microsoft C/C++, PASCAL, FORTRAN and Borland C/C++. Supported unique 'Dual Mode' executables capable of running in either real or protected mode depending on the run time environment. * EMX


Notable DOS extended applications

* ATT Graphics Software Labs 'RIO' -- Resolution Independent Objects' graphics software. * Adobe Acrobat Reader 1.0 (uses an early version of DOS/4GW professional) *
AutoCAD AutoCAD is a commercial computer-aided design (CAD) and drafting software application. Developed and marketed by Autodesk, AutoCAD was first released in December 1982 as a desktop app running on microcomputers with internal graphics controllers. ...
11 (PharLap 386) *
Lotus 1-2-3 Lotus 1-2-3 is a discontinued spreadsheet program from Lotus Software (later part of IBM). It was the first killer application of the IBM PC, was hugely popular in the 1980s, and significantly contributed to the success of IBM PC-compatibles i ...
Release 3 (Rational Systems DOS/16M) * Oracle Professional * IBM
Interleaf Interleaf, Inc., was a company that created computer software products for the technical publishing creation and distribution process. Founded in 1981, its initial product was the first commercial document processor that integrated text and graph ...
*
Major BBS The Major BBS (sometimes MajorBBS or MBBS) was bulletin board software (a bulletin board system server) developed between 1986 and 1999 by Galacticomm. In 1995 it was renamed Worldgroup Server and bundled with a user client interface program na ...
, a 1980s
BBS BBS may refer to: Ammunition * BBs, BB gun metal bullets * BBs, airsoft gun plastic pellets Computing and gaming * Bulletin board system, a computer server users dial into via dial-up or telnet; precursor to the Internet * BIOS Boot Specificat ...
software package that utilized the
Phar Lap Phar Lap (4 October 1926 – 5 April 1932) was a champion New Zealand–bred Thoroughbred racehorse who is widely regarded as New Zealand's greatest racehorse ever. Achieving incredible success during his distinguished career, his initial u ...
DOS extender. * Quarterdeck
DESQview DESQview (DV) is a text mode multitasking operating environment developed by Quarterdeck Office Systems which enjoyed modest popularity in the late 1980s and early 1990s. Running on top of DOS, it allows users to run multiple programs concurren ...
and DESQview/X multitasking software *
Watcom Watcom International Corporation was a software company, which was founded in 1981 by Wes Graham and Ian McPhee. Founding staff (Fred Crigger, Jack Schueler and McPhee) were formerly members of Professor Graham's Computer Systems Group at the Uni ...
's C,
C++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
and Fortran
compiler In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs tha ...
s for the
x86 x86 (also known as 80x86 or the 8086 family) is a family of complex instruction set computer (CISC) instruction set architectures initially developed by Intel based on the Intel 8086 microprocessor and its 8088 variant. The 8086 was intr ...
* Countless DOS games from the early to mid 1990s, mostly using DOS/4GW, including: **
id Software id Software LLC () is an American video game developer based in Richardson, Texas. It was founded on February 1, 1991, by four members of the computer company Softdisk: game programmer, programmers John Carmack and John Romero, game designer T ...
's ''
DOOM Doom is another name for damnation. Doom may also refer to: People * Doom (professional wrestling), the tag team of Ron Simmons and Butch Reed * Daniel Doom (born 1934), Belgian cyclist * Debbie Doom (born 1963), American softball pitcher * ...
'' and its sequels, as well as '' Quake'' (built with DJGPP) **
Looking Glass Studios Looking Glass Studios, Inc. (formerly Blue Sky Productions and LookingGlass Technologies, Inc.) was an American video game developer based in Cambridge, Massachusetts. The company was founded by Paul Neurath with Ned Lerner as Blue Sky Produ ...
' '' System Shock'' **
Parallax Software Deep Silver Volition, LLC (formerly Parallax Software Corporation and Volition, Inc.) is an American video game developer based in Champaign, Illinois. Mike Kulas and Matt Toschlog founded the company as Parallax Software in June 1993, developi ...
's '' Descent'' **
Crack dot Com Crack dot Com was a computer game development company co-founded by ex-id Software programmer Dave Taylor, and Jonathan Clark. History Crack dot com started from home with a staff of just four people. Their first completed game, which had I ...
's '' Abuse'' **
Blizzard Entertainment Blizzard Entertainment, Inc. is an American video game developer and publisher based in Irvine, California. A subsidiary of Activision Blizzard, the company was founded on February 8, 1991, under the name Silicon & Synapse, Inc. by three gradu ...
's '' Warcraft: Orcs & Humans'' and '' Warcraft II: Tides of Darkness'' **
3D Realms 3D Realms Entertainment ApS is a video game publisher based in Aalborg, Denmark. Scott Miller (entrepreneur), Scott Miller founded the company in his parents' home in Garland, Texas, in 1987 as Apogee Software Productions to release his game ' ...
' ''
Duke Nukem 3D ''Duke Nukem 3D'' is a first-person shooter video game developed by 3D Realms. It is a sequel to the platform games ''Duke Nukem (video game), Duke Nukem'' and ''Duke Nukem II'', published by 3D Realms. ''Duke Nukem 3D'' features the adventures ...
'' ** Midway's '' Mortal Kombat'' **
Westwood Studios Westwood Studios, Inc. was an American video game developer, based in Las Vegas, Nevada. It was founded by Brett Sperry and Louis Castle in 1985 as Brelous Software, but got changed after 2 months into Westwood Associates and was renamed to Westw ...
' ''
Command & Conquer ''Command & Conquer'' (''C&C'') is a real-time strategy (RTS) video game franchise, first developed by Westwood Studios. The first game was one of the earliest of the RTS genre, itself based on Westwood Studios' influential strategy game '' Dune ...
'' and '' Command & Conquer: Red Alert'' **
DMA Design Rockstar North Limited (formerly DMA Design Limited) is a British video game development company and a studio of Rockstar Games based in Edinburgh. The company was founded as DMA Design in Dundee in 1987 by David Jones, soon hiring former cla ...
(now Rockstar North)'s ''
Grand Theft Auto ''Grand Theft Auto'' (''GTA'') is a series of action-adventure games created by David Jones and Mike Dailly. Later titles were developed under the oversight of brothers Dan and Sam Houser, Leslie Benzies and Aaron Garbut. It is primarily d ...
''. Later versions of the game were ported to Windows in order to make it more compatible with modern computers. ** '' Comanche: Maximum Overkill'' by NovaLogic used a custom Unreal mode memory manager which required a 80386 processor and was incompatible with memory managers and virtual DOS boxes, requiring a complicated DOS boot menu configuration in CONFIG.SYS. Later revisions included a DOS extender which solved the problem. ** Ultima VII and Ultima VII Part Two: Serpent Isle by
Origin Systems Origin Systems, Inc. was an American video game developer based in Austin, Texas. It was founded on March 3, 1983, by Richard Garriott and his brother Robert Garriott, Robert. Origin is best known for their groundbreaking work in multiple genres ...
also used an custom Unreal mode memory manager called the Voodoo Memory Manager which was incompatible with EMS memory and memory managers such as
EMM386 EMM386 is the expanded memory manager of Microsoft's MS-DOS, IBM's PC DOS, Digital Research's DR-DOS, and Datalight's ROM-DOS which is used to create expanded memory using extended memory on Intel 80386 CPUs. There also is an EMM386.EXE availa ...
.


References


External links

*
HX-DOS

The Free Country's list of DOS extenders
{{Disk operating systems