fbpx
Wikipedia

DOS extender

A DOS extender is a computer software program running under DOS that enables software to run in a protected mode environment even though the host operating system is only capable of operating in real mode.

Tenberry Software's DOS/4GW startup banner

DOS extenders were initially developed in the 1980s following the introduction of the Intel 80286 processor (and later expanded upon with the Intel 80386), to cope with the memory limitations of DOS.

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. 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 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

 
Tenberry Software's DOS/4G product logo

The DOS extender was arguably invented by Phar Lap, 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'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's successful Doom.

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 (VCPI), but this was rapidly overshadowed by the DOS Protected Mode Interface (DPMI) specification, which grew from the Windows 3.0 development.[1] 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. Later superseded by the TNT Dos Extender.
  • PROT by Al Williams, a 32-bit DOS extender published in Dr. Dobb's Journal[2][3] and in two books.[4][5] 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 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.
  • all Microsoft Windows versions since 1990, except NT branch, include both a DPMI server and DOS extender.[6]
  • 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[7]
  • 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, was a DPMI host included with QEMM.
  • GO32, used in older (pre-v2) versions of DJGPP, and Free Pascal
  • 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 Compiler[8]
  • 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

References

  1. ^ Duncan, Ray; Petzold, Charles; Schulman, Andrew; Baker, M. Steven; Nelson, Ross P.; Davis, Stephen R.; Moote, Robert (1992). Extending DOS: A Programmer's Guide to Protected-Mode DOS (2nd ed.). Addison-Wesley Publishing Company, Inc. pp. 433–462. ISBN 0-201-56798-9.
  2. ^ Williams, Al (October 1990). "Roll your own DOS extender: Part I". Dr. Dobb's Journal. CMP Technology. 15 (10): 16–18, 20, 24. ISSN 1044-789X.
  3. ^ Williams, Al (November 1990). "Roll Your Own DOS Extender: Part II". Dr. Dobb's Journal. CMP Technology. 15 (11): 74, 76, 80, 81–83, 85, 122–128, 130. ISSN 1044-789X.
  4. ^ Williams, Al (1991). DOS 5: A Developer's Guide. Redwood City, California, USA: Markt&Technik. ISBN 1-55851-177-6.
  5. ^ Williams, Al (1993). DOS 6: A Developer's Guide. Markt&Technik. ISBN 1-55851-309-4.
  6. ^ Williams, Al (1993). DOS and Windows Protected Mode: Programming with DOS Extenders in C. Addison-Wesley. p. 30. ISBN 0-201-63218-7.
  7. ^ "HX DOS Extender".
  8. ^ FTN77 Fortran Compiler

External links

  • . Archived from the original on March 2, 2009. Retrieved August 12, 2009.{{cite web}}: CS1 maint: unfit URL (link)
  • HX-DOS
  • The Free Country's list of DOS extenders

extender, this, article, needs, additional, citations, verification, please, help, improve, this, article, adding, citations, reliable, sources, unsourced, material, challenged, removed, find, sources, news, newspapers, books, scholar, jstor, march, 2011, lear. This article needs additional citations for verification Please help improve this article by adding citations to reliable sources Unsourced material may be challenged and removed Find sources DOS extender news newspapers books scholar JSTOR March 2011 Learn how and when to remove this template message A DOS extender is a computer software program running under DOS that enables software to run in a protected mode environment even though the host operating system is only capable of operating in real mode Tenberry Software s DOS 4GW startup banner DOS extenders were initially developed in the 1980s following the introduction of the Intel 80286 processor and later expanded upon with the Intel 80386 to cope with the memory limitations of DOS Contents 1 DOS extender operation 2 Development history 3 DOS extenders 4 Notable DOS extended applications 5 References 6 External linksDOS extender operation EditA DOS extender is a program that extends DOS so that programs running in protected mode can transparently interface with the underlying DOS API 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 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 Edit Tenberry Software s DOS 4G product logo The DOS extender was arguably invented by Phar Lap 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 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 s successful Doom 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 VCPI but this was rapidly overshadowed by the DOS Protected Mode Interface DPMI specification which grew from the Windows 3 0 development 1 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 EditDOS 4G and DOS 4GW and DOS 16M by Tenberry Software Inc 286 DOS Extender and 386 DOS Extender by Phar Lap Later superseded by the TNT Dos Extender PROT by Al Williams a 32 bit DOS extender published in Dr Dobb s Journal 2 3 and in two books 4 5 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 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 all Microsoft Windows versions since 1990 except NT branch include both a DPMI server and DOS extender 6 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 7 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 was a DPMI host included with QEMM GO32 used in older pre v2 versions of DJGPP and Free Pascal 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 Compiler 8 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 EMXNotable DOS extended applications EditThis section does not cite any sources Please help improve this section by adding citations to reliable sources Unsourced material may be challenged and removed March 2011 Learn how and when to remove this template message ATT Graphics Software Labs RIO Resolution Independent Objects graphics software Adobe Acrobat Reader 1 0 uses an early version of DOS 4GW professional AutoCAD 11 PharLap 386 Lotus 1 2 3 Release 3 Rational Systems DOS 16M Oracle Professional IBM Interleaf Major BBS a 1980s BBS software package that utilized the Phar Lap DOS extender Quarterdeck DESQview and DESQview X multitasking software Watcom s C C and Fortran compilers for the x86 Countless DOS games from the early to mid 1990s mostly using DOS 4GW including id Software s DOOM and its sequels as well as Quake built with DJGPP Looking Glass Studios System Shock Parallax Software s Descent Crack dot Com s Abuse Blizzard Entertainment s Warcraft Orcs amp Humans and Warcraft II Tides of Darkness 3D Realms Duke Nukem 3D Midway s Mortal Kombat Westwood Studios Command amp Conquer and Command amp Conquer Red Alert DMA Design now Rockstar North s Grand Theft Auto 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 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 References Edit Duncan Ray Petzold Charles Schulman Andrew Baker M Steven Nelson Ross P Davis Stephen R Moote Robert 1992 Extending DOS A Programmer s Guide to Protected Mode DOS 2nd ed Addison Wesley Publishing Company Inc pp 433 462 ISBN 0 201 56798 9 Williams Al October 1990 Roll your own DOS extender Part I Dr Dobb s Journal CMP Technology 15 10 16 18 20 24 ISSN 1044 789X Williams Al November 1990 Roll Your Own DOS Extender Part II Dr Dobb s Journal CMP Technology 15 11 74 76 80 81 83 85 122 128 130 ISSN 1044 789X Williams Al 1991 DOS 5 A Developer s Guide Redwood City California USA Markt amp Technik ISBN 1 55851 177 6 Williams Al 1993 DOS 6 A Developer s Guide Markt amp Technik ISBN 1 55851 309 4 Williams Al 1993 DOS and Windows Protected Mode Programming with DOS Extenders in C Addison Wesley p 30 ISBN 0 201 63218 7 HX DOS Extender FTN77 Fortran CompilerExternal links Edit DOS Extender on the FreeDOS wiki Archived from the original on March 2 2009 Retrieved August 12 2009 a href Template Cite web html title Template Cite web cite web a CS1 maint unfit URL link HX DOS The Free Country s list of DOS extenders Retrieved from https en wikipedia org w index php title DOS extender amp oldid 1124663794, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.