fbpx
Wikipedia

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 was initially developed by Microsoft for Windows 3.0, although Microsoft later turned control of the specification over to an industry committee with open membership.[1][2] Almost all modern DOS extenders are based on DPMI and allow DOS programs to address all memory available in the PC and to run in protected mode (mostly in ring 3, least privileged).[3]

DOS Protected Mode Interface
AbbreviationDPMI
StatusPublished
Year started1989; 35 years ago (1989)
OrganizationDPMI Committee
DomainApplication programming interfaces

Overview edit

DPMI stands for DOS Protected Mode Interface. It is an API that allows a program to run in protected mode on 80286 series and later processors, and do the calls to real mode without having to set up these CPU modes manually. DPMI also provides the functions for managing various resources, notably memory. This allows the DPMI-enabled programs to work in multi-tasking OSes, allowing an OS kernel to distribute such resources between multiple applications. DPMI provides only the functionality that needs to be implemented in supervisor mode. It can be thought of as a single-tasking microkernel. The rest of the functionality is available to DPMI-enabled programs via the calls to real-mode DOS and BIOS services, allowing the DPMI API itself to remain mostly independent of DOS. Things that make DPMI API DOS-specific, are just 3 functions for managing DOS memory, and the letter "D" in the "DPMI" acronym.

A DPMI service can be 16-bit, 32-bit, or "universal" and is called the DPMI kernel, DPMI host, or DPMI server. It is provided either by the host operating system (virtual DPMI host) or by a DOS extender (real DPMI host). The DPMI kernel can be a part of a DOS extender such as in DOS/4GW or DOS/32A, or separate, like CWSDPMI or HDPMI.

The primary use of DPMI API is to allow DOS extenders to provide the host-OS-agnostic environment. DOS extender checks the presence of a DPMI kernel, and installs its own only if the one was not installed already. This allows DOS-extended programs to run either in a multitasking OS that provides its own DPMI kernel, or directly under bare-metal DOS, in which case DOS extender uses its own DPMI kernel. Windows 3.x and 9x's user-mode kernels are built with a DOS extender, so they fully rely on a DPMI API that is provided by Windows's ring-0 kernel.

History edit

The first DPMI specification drafts were published in 1989 by Microsoft's Ralph Lipe.[4][1] While based on a prototypical version of DPMI for Windows 3.0 in 386 enhanced mode, several features of this implementation were removed from the official specification, including a feature named MS-DOS Extensions[5] or DOS API translation that had been proposed by Ralph Lipe in the original drafts.[6] Most of it was implementing DOS and BIOS interfaces (due to this history some INT 21h APIs like 4Ch have to be implemented by all DPMI implementations). DPMI version 0.9 was published in 1990 by the newly formed DPMI Committee. The version number 0.9 of the resulting specification was chosen to reflect the stripped-down nature and incomplete status of the standard the members of the DPMI Committee could agree upon.[1] While Windows reports DPMI version 0.9 for compatibility, it actually implements the other parts as well, since they present a vital part of the system.[5][1] This undocumented full nature of DPMI has become known as "true DPMI" in the industry.[7] The DPMI standard was not the only effort to overcome the shortcomings of the VCPI specification. At the same time that Microsoft developed DPMI for Windows 3.0, another industry alliance including Intel's Software Focus Group,[8][1] Lotus,[8] Digital Research, Interactive Systems and others developed a specification named Extended VCPI (XVCPI) to make the memory management and multitasking capabilities of the 386 available for extended DOS applications.[8][1][9] When it turned out that Microsoft's DPMI proposal addressed a number of similar issues and was supported by Windows, these efforts led to the creation of the DPMI Committee in February 1990 during a meeting at Intel in Santa Clara.[8][1]

In 1991, the DPMI Committee revised DPMI to version 1.0 in order to incorporate a number of clarifications and extensions, but it still did not include the missing "true DPMI" bits implemented in Windows. In fact, "true DPMI" never became part of the official DPMI specification, and Windows likewise never implemented the DPMI 1.0 extensions (and not many DPMI hosts did).

While DPMI is tailored to run extended DOS application software in protected mode and extended memory,[10] it is not particularly well suited for resident system extensions. Another specification named DPMS,[10] developed by Digital Research / Novell around 1992, specifically addresses requirements to easily relocate modified DOS driver software into extended memory and run them in protected mode, thereby reducing their conventional memory footprint down to small stubs. This is also supported by Helix Cloaking.

The DPMI "method" is specific to DOS and the IBM PC. Other computer types were upgraded from 16-bit to 32-bit, and the advanced program support was provided by upgrading the operating system with a new 32-bit API and new memory management/addressing capabilities. For example, the OS/2 core system supports 32-bit programs, and can be run without the GUI. The DPMI solution appears to be mainly needed to address third party need to get DOS protected mode programs running stably on Windows 3.x before the dominant operating system vendor, Microsoft, could or would address the future of 32-bit Windows. In addition, Microsoft didn't see the answer to the 32-bit transition as a 32-bit DOS, but rather a 32-bit Windows with a completely different (and incompatible) API.

Compatibility edit

While Windows 3.0 implements "true DPMI"[5] and reports support for DPMI 0.9,[11] DPMI version 1.0 was never implemented in Microsoft Windows, so most programs and DOS extenders were mostly only written for version 0.9. Few extenders, however, implement "true DPMI".

Beta versions of Qualitas 386MAX implemented "true DPMI" and could run Windows' KRNL386.EXE from the command line, but it was claimed that was disabled in the released product in an internal email.[5] However, DPMIONE (by Bob Smith based on the 386MAX code) can do it. Currently DPMIONE and 386MAX is also the only DPMI host which supports DPMI 1.0 completely (e.g. uncommitted memory) and they are the main supporter of DPMI 1.0.[12]

The KRNL386.SYS (aka "MultiMAX") of DR DOS "Panther" and "StarTrek", which has been under development since 1991,[nb 1] and the EMM386.EXE memory managers of Novell DOS 7,[10] Caldera OpenDOS and DR-DOS 7.02 and higher have built-in support for DPMI when loaded with the /DPMI[=ON] option. KRNL386.SYS even had a command line option /VER=0.9|1.0 to provide support for either DPMI 1.0 or 0.9.[13] DOS API translation was referred to as "called interrupt 21 from protected mode". Multiuser DOS, System Manager and REAL/32 support DPMI as well.

The most famous separate DPMI kernel is probably CWSDPMI; it supports DPMI 0.9, but no undocumented "DOS API translation". Another variant called PMODE by "TRAN" aka Thomas Pytel was popular with 32-bit programmers during the demo scene of the 1990s. Many games used DOS/4GW, which was developed by Rational Systems as a subset of DOS/4G and was distributed with the Watcom C compiler.

HDPMI (part of HX DOS Extender) provides "DOS API translation" and almost complete DPMI 1.0 implementation.

DPMI Committee edit

The DPMI 1.0 Committee met between 1990 through 1991 and consisted of 12 groups:

See also edit

Notes edit

  1. ^ KRNL386.SYS of DR DOS "Panther" has copyright strings "1991,1992".

References edit

  1. ^ a b c d e f g Duncan, Ray (1991-02-12). "Power Programming – An Introduction to the DOS Protected Mode Interface". PC Magazine. 10 (3). Ziff-Davis Publishing Co.: 367–371. ISSN 0888-8507. Retrieved 2016-05-21. […] The creators of the VCPI were well aware of its limitations and were already hard at work on a second generation specification called Extended VCPI (XVCPI), when Microsoft barged onto the scene with the beta-test versions of Windows 3.0 and its DPMI. For a few months it appeared that the fledgling DOS extender market would fragment into two mutually exclusive directions […] Microsoft turned control of the DPMI specification over to an industry committee with open membership, and the backers of the XVCPI effort decided to join forces behind the DPMI. […] Microsoft agreed to delete the portions of the DPMI that crossed into DOS extender territory - specifically, direct support of the DOS and ROM BIOS interrupts in protected mode. Consequently, DPMI, Version 0.9, the first public version, released by the DPMI Committee in May 1990, defines only the low-level or building-block functions […] Naturally, the higher level or DOS extender interface of Windows 3.0 still exists, but it has receded into the twilight zone of undocumented functionality. Undocumented, but hardly unusable […]
  2. ^ 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. 2 (2 ed.). Addison-Wesley Publishing Company, Inc. pp. 433–436. ISBN 0-201-56798-9.
  3. ^ Schmit, Michael L. (1995). Pentium Processor Optimization Tools (1 ed.). Cambridge, Massachusetts, USA: Academic Press, Inc. (AP Professional). ISBN 0-12-627230-1.
  4. ^ Microsoft (Fall 1989), DOS Protected Mode Interface Specification, Revision Prerelease 0.04 (Prerelease ed.)
  5. ^ a b c d Cole, Dave (1992-05-04). Neiminen, Bruce (ed.). "Re: MS-DOS DPMI extensions" (PDF) (Court document). Microsoft. pp. 123–124. MSC 00779372/00779373, MX3232616/3232617, Cole Exhibit 10, 2001-06-21. (PDF) from the original on 2018-09-18. Retrieved 2018-09-17 – via Comes v. Microsoft - Plaintiff's exhibit 1306. […] [Ralph Lipe:] I think, they're checked into Win386 project. In the root MSDOS.DOC (look at all the .DOC files in the root) […] NO! This is an extremely sensitive matter since it basically tells […] ISVs (AKA DR-DOS and IBM) how to run standard mode Windows. You need to clear it with BradSi[lverberg] before distributing it. [Greg Lowney:] SoftNet makes a limulator. They read in the C7 manual that you can run C7 dos-extended if your limulator supports the MS-DOS extensions to the DPMI specification. So […] they called us to get a spec on exactly what those extensions are. Apparently they are not documented. […] They are not that complicated, mostly just what MS-DOS and BIOS calls we map for the application, and Qualitas had no trouble reverse engineering them. (The new 386MAX was, in beta, able to run KRNL386 from the command line, but I believe they disabled that feature in their final product to avoid stepping on our feet. 386MAX does, of course, support C7.) […] Ralph, was the spec distributed to the members of the DPMI committee? […] [Dave Cole:] We should absolutely NOT document this. […]
  6. ^ Microsoft (1990-10-31). Sokolov, Michael (ed.). "MS-DOS API EXTENSIONS FOR DPMI HOSTS Version Pre-Release 0.02" (Annotated retyped preliminary ed.) (published 1999-04-08). Retrieved 2016-05-23.
  7. ^ Microsoft (1989). Sokolov, Michael (ed.). "DOS PROTECTED MODE INTERFACE (DPMI) – SPECIFICATION Protected Mode API For DOS Extended Applications" (Annotated incompletely reconstructed ed.) (published 1999-04-08). Retrieved 2016-05-23.
  8. ^ a b c d Wurthmann, Gerold; Wopperer, Bernhard; Wiesböck, Johann (1991). "Die DPMI-Spezifikation – Eine Einführung" [An introduction to the DPMI specification]. Vorträge und Begleittexte zum 2. Entwicklerforum der Design & Elektronik zum Thema: PC-Architektur, 17. September 1991, München [Presentations and supplemental material for the second developer forum on PC architecture on 17 September 1991, Munich] (book) (in German) (1 ed.). Munich, Germany: Markt & Technik Verlag Aktiengesellschaft. p. 223. (NB. The forum was organized by the German magazine Design & Elektronik and Intel.)
  9. ^ The DPMI Committee (1991-03-12). (PDF). 1.0. Intel. pp. 4–5. Intel order code 240977-001. Archived from the original (PDF) on 2013-05-31. Retrieved 2013-05-24. The initial DPMI prototype was developed by Microsoft for Windows version 3.0, with input from Lotus Corporation and Rational Systems, as part of a general effort to enhance Windows' performance by allowing the Windows kernel to run in extended memory. In parallel, Intel was working with manufacturers of multitasking environments, EMS emulators, and DOS extenders to ensure that an extended VCPI specification could fully utilize the 80386's virtualization and protection features. In February 1990, the parties involved in the above activities agreed to form the DPMI Committee and formulate an industry-wide standard for protected-mode DOS applications. The Committee released the first public DPMI Specification, Version 0.9 in May 1990.
  10. ^ a b c Schneider, Stefanie (1994-06-17). "Das Ende von DOS ist nur noch eine Frage der Zeit" [The end of DOS is only a question of time]. Computerwoche (in German). Munich, Germany: IDG Business Media GmbH. from the original on 2022-01-02. Retrieved 2022-01-02.
  11. ^ "FILE: Windows Int 21h and NetBIOS Support for DPMI". Knowledge Base. Microsoft. 2004-08-04 [1999-12-04]. KB65128. Q65128. from the original on 2020-02-20. Retrieved 2016-05-21.
  12. ^ Sokolov, Michael (1998-05-06). "lA correction to a previous posting". lynx-dev. from the original on 2020-02-20. Retrieved 2020-02-20.
  13. ^ Schulman, Andrew; Brown, Ralf D.; Maxey, David; Michels, Raymond J.; Kyle, Jim (1994) [November 1993]. Undocumented DOS: A programmer's guide to reserved MS-DOS functions and data structures - expanded to include MS-DOS 6, Novell DOS and Windows 3.1 (2 ed.). Reading, Massachusetts, USA: Addison Wesley. p. 194. ISBN 0-201-63287-X. (xviii+856+vi pages, 3.5"-floppy) Errata:

Further reading edit

  • An Introduction To The DOS Protected Mode Interface – White Paper. Intel. 1993. Intel order code 240787-003. (22 pages)
  • . Intel. 1990-07-26. Archived from the original on 2012-04-25. (112 pages)
  • The DPMI Committee (1991-03-12). (PDF). Intel. Intel order code 240977-001. Archived from the original (PDF) on 2013-05-31. Retrieved 2013-05-31. (160 pages)
  • Sokolov, Michael (1998-04-26). "Some history on DPMI". from the original on 2016-05-22. [3]
  • Chui, Paul (1992-02-01). "Undocumented DOS From Protected-Mode Windows 3". Dr. Dobb's Journal. Archived from the original on 2018-09-20. Retrieved 2018-09-20.
  • "MS-DOS 5.0 DPMI" (in English and Japanese). 2016-07-24 [2016-06-22]. Archived from the original on 2018-09-17. Retrieved 2018-09-17. (MSDPMI on Japanese MS-DOS 5.00A for PC-98 platform.)

External links edit

  • (HTML converted ed.). Tenberry Software, Inc. 1998 [1990-07-26]. Archived from the original on 2016-05-21. Retrieved 2006-12-19.
  • "DPMI 1.0 Programming API Specification" (HTML converted ed.). DJ Delorie. April 1996 [1991]. from the original on 2016-05-21. Retrieved 2019-07-28.
  • Microsoft (1990-10-31). "MS-DOS API EXTENSIONS FOR DPMI HOSTS Version Pre-Release 0.02".
  • Microsoft (1991-03-11). "MS-DOS API EXTENSIONS FOR DPMI HOSTS Version Pre-Release 0.04" (PDF).
  • Sandmann, Charles W. . Archived from the original on 2015-11-16.
  • Japheth. . Archived from the original on 2014-10-13.
  • Smith, Bob. "DPMIONE Documentation File Version 0.91". from the original on 2016-05-21. Retrieved 2019-07-28.

protected, mode, interface, computing, dpmi, specification, introduced, 1989, which, allows, program, protected, mode, giving, access, many, features, processors, time, available, real, mode, initially, developed, microsoft, windows, although, microsoft, later. 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 was initially developed by Microsoft for Windows 3 0 although Microsoft later turned control of the specification over to an industry committee with open membership 1 2 Almost all modern DOS extenders are based on DPMI and allow DOS programs to address all memory available in the PC and to run in protected mode mostly in ring 3 least privileged 3 DOS Protected Mode InterfaceAbbreviationDPMIStatusPublishedYear started1989 35 years ago 1989 OrganizationDPMI CommitteeDomainApplication programming interfaces Contents 1 Overview 2 History 2 1 Compatibility 2 2 DPMI Committee 3 See also 4 Notes 5 References 6 Further reading 7 External linksOverview editDPMI stands for DOS Protected Mode Interface It is an API that allows a program to run in protected mode on 80286 series and later processors and do the calls to real mode without having to set up these CPU modes manually DPMI also provides the functions for managing various resources notably memory This allows the DPMI enabled programs to work in multi tasking OSes allowing an OS kernel to distribute such resources between multiple applications DPMI provides only the functionality that needs to be implemented in supervisor mode It can be thought of as a single tasking microkernel The rest of the functionality is available to DPMI enabled programs via the calls to real mode DOS and BIOS services allowing the DPMI API itself to remain mostly independent of DOS Things that make DPMI API DOS specific are just 3 functions for managing DOS memory and the letter D in the DPMI acronym A DPMI service can be 16 bit 32 bit or universal and is called the DPMI kernel DPMI host or DPMI server It is provided either by the host operating system virtual DPMI host or by a DOS extender real DPMI host The DPMI kernel can be a part of a DOS extender such as in DOS 4GW or DOS 32A or separate like CWSDPMI or HDPMI The primary use of DPMI API is to allow DOS extenders to provide the host OS agnostic environment DOS extender checks the presence of a DPMI kernel and installs its own only if the one was not installed already This allows DOS extended programs to run either in a multitasking OS that provides its own DPMI kernel or directly under bare metal DOS in which case DOS extender uses its own DPMI kernel Windows 3 x and 9x s user mode kernels are built with a DOS extender so they fully rely on a DPMI API that is provided by Windows s ring 0 kernel History editThe first DPMI specification drafts were published in 1989 by Microsoft s Ralph Lipe 4 1 While based on a prototypical version of DPMI for Windows 3 0 in 386 enhanced mode several features of this implementation were removed from the official specification including a feature named MS DOS Extensions 5 or DOS API translation that had been proposed by Ralph Lipe in the original drafts 6 Most of it was implementing DOS and BIOS interfaces due to this history some INT 21h APIs like 4Ch have to be implemented by all DPMI implementations DPMI version 0 9 was published in 1990 by the newly formed DPMI Committee The version number 0 9 of the resulting specification was chosen to reflect the stripped down nature and incomplete status of the standard the members of the DPMI Committee could agree upon 1 While Windows reports DPMI version 0 9 for compatibility it actually implements the other parts as well since they present a vital part of the system 5 1 This undocumented full nature of DPMI has become known as true DPMI in the industry 7 The DPMI standard was not the only effort to overcome the shortcomings of the VCPI specification At the same time that Microsoft developed DPMI for Windows 3 0 another industry alliance including Intel s Software Focus Group 8 1 Lotus 8 Digital Research Interactive Systems and others developed a specification named Extended VCPI XVCPI to make the memory management and multitasking capabilities of the 386 available for extended DOS applications 8 1 9 When it turned out that Microsoft s DPMI proposal addressed a number of similar issues and was supported by Windows these efforts led to the creation of the DPMI Committee in February 1990 during a meeting at Intel in Santa Clara 8 1 In 1991 the DPMI Committee revised DPMI to version 1 0 in order to incorporate a number of clarifications and extensions but it still did not include the missing true DPMI bits implemented in Windows In fact true DPMI never became part of the official DPMI specification and Windows likewise never implemented the DPMI 1 0 extensions and not many DPMI hosts did While DPMI is tailored to run extended DOS application software in protected mode and extended memory 10 it is not particularly well suited for resident system extensions Another specification named DPMS 10 developed by Digital Research Novell around 1992 specifically addresses requirements to easily relocate modified DOS driver software into extended memory and run them in protected mode thereby reducing their conventional memory footprint down to small stubs This is also supported by Helix Cloaking The DPMI method is specific to DOS and the IBM PC Other computer types were upgraded from 16 bit to 32 bit and the advanced program support was provided by upgrading the operating system with a new 32 bit API and new memory management addressing capabilities For example the OS 2 core system supports 32 bit programs and can be run without the GUI The DPMI solution appears to be mainly needed to address third party need to get DOS protected mode programs running stably on Windows 3 x before the dominant operating system vendor Microsoft could or would address the future of 32 bit Windows In addition Microsoft didn t see the answer to the 32 bit transition as a 32 bit DOS but rather a 32 bit Windows with a completely different and incompatible API Compatibility edit While Windows 3 0 implements true DPMI 5 and reports support for DPMI 0 9 11 DPMI version 1 0 was never implemented in Microsoft Windows so most programs and DOS extenders were mostly only written for version 0 9 Few extenders however implement true DPMI Beta versions of Qualitas 386MAX implemented true DPMI and could run Windows KRNL386 EXE from the command line but it was claimed that was disabled in the released product in an internal email 5 However DPMIONE by Bob Smith based on the 386MAX code can do it Currently DPMIONE and 386MAX is also the only DPMI host which supports DPMI 1 0 completely e g uncommitted memory and they are the main supporter of DPMI 1 0 12 The KRNL386 SYS aka MultiMAX of DR DOS Panther and StarTrek which has been under development since 1991 nb 1 and the EMM386 EXE memory managers of Novell DOS 7 10 Caldera OpenDOS and DR DOS 7 02 and higher have built in support for DPMI when loaded with the DPMI ON option KRNL386 SYS even had a command line option VER 0 9 1 0 to provide support for either DPMI 1 0 or 0 9 13 DOS API translation was referred to as called interrupt 21 from protected mode Multiuser DOS System Manager and REAL 32 support DPMI as well The most famous separate DPMI kernel is probably CWSDPMI it supports DPMI 0 9 but no undocumented DOS API translation Another variant called PMODE by TRAN aka Thomas Pytel was popular with 32 bit programmers during the demo scene of the 1990s Many games used DOS 4GW which was developed by Rational Systems as a subset of DOS 4G and was distributed with the Watcom C compiler HDPMI part of HX DOS Extender provides DOS API translation and almost complete DPMI 1 0 implementation DPMI Committee edit The DPMI 1 0 Committee met between 1990 through 1991 and consisted of 12 groups Borland International Borland C Turbo Pascal IBM Corporation PC DOS OS 2 AI Architects Ergo Computer Solutions Eclipse Computer Solutions Ergo Computing OS 286 OS 386 DOS extenders Intelligent Graphics Corporation VM 386 multi user DOS Intel Corporation 286 386 486 microprocessors Locus Computing Corporation Merge Lotus Development Corporation Lotus 1 2 3 Microsoft Corporation MS DOS Microsoft Windows Phar Lap Software DOS 286 DOS 386 TNT Phoenix Technologies Phoenix BIOS PMate PForCe Plink 86 Quarterdeck Office Systems QEMM DESQview DESQview X Rational Systems Tenberry Software DOS 16M DOS 4G DOS 4GW DOS extenders See also editVirtual Control Program Interface VCPI DOS Protected Mode Services DPMS Helix Cloaking NetWare I O Subsystem NIOS Multiuser DOS FederationNotes edit KRNL386 SYS of DR DOS Panther has copyright strings 1991 1992 References edit a b c d e f g Duncan Ray 1991 02 12 Power Programming An Introduction to the DOS Protected Mode Interface PC Magazine 10 3 Ziff Davis Publishing Co 367 371 ISSN 0888 8507 Retrieved 2016 05 21 The creators of the VCPI were well aware of its limitations and were already hard at work on a second generation specification called Extended VCPI XVCPI when Microsoft barged onto the scene with the beta test versions of Windows 3 0 and its DPMI For a few months it appeared that the fledgling DOS extender market would fragment into two mutually exclusive directions Microsoft turned control of the DPMI specification over to an industry committee with open membership and the backers of the XVCPI effort decided to join forces behind the DPMI Microsoft agreed to delete the portions of the DPMI that crossed into DOS extender territory specifically direct support of the DOS and ROM BIOS interrupts in protected mode Consequently DPMI Version 0 9 the first public version released by the DPMI Committee in May 1990 defines only the low level or building block functions Naturally the higher level or DOS extender interface of Windows 3 0 still exists but it has receded into the twilight zone of undocumented functionality Undocumented but hardly unusable 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 2 2 ed Addison Wesley Publishing Company Inc pp 433 436 ISBN 0 201 56798 9 Schmit Michael L 1995 Pentium Processor Optimization Tools 1 ed Cambridge Massachusetts USA Academic Press Inc AP Professional ISBN 0 12 627230 1 Microsoft Fall 1989 DOS Protected Mode Interface Specification Revision Prerelease 0 04 Prerelease ed a b c d Cole Dave 1992 05 04 Neiminen Bruce ed Re MS DOS DPMI extensions PDF Court document Microsoft pp 123 124 MSC 00779372 00779373 MX3232616 3232617 Cole Exhibit 10 2001 06 21 Archived PDF from the original on 2018 09 18 Retrieved 2018 09 17 via Comes v Microsoft Plaintiff s exhibit 1306 Ralph Lipe I think they re checked into Win386 project In the root MSDOS DOC look at all the DOC files in the root NO This is an extremely sensitive matter since it basically tells ISVs AKA DR DOS and IBM how to run standard mode Windows You need to clear it with BradSi lverberg before distributing it Greg Lowney SoftNet makes a limulator They read in the C7 manual that you can run C7 dos extended if your limulator supports the MS DOS extensions to the DPMI specification So they called us to get a spec on exactly what those extensions are Apparently they are not documented They are not that complicated mostly just what MS DOS and BIOS calls we map for the application and Qualitas had no trouble reverse engineering them The new 386MAX was in beta able to run KRNL386 from the command line but I believe they disabled that feature in their final product to avoid stepping on our feet 386MAX does of course support C7 Ralph was the spec distributed to the members of the DPMI committee Dave Cole We should absolutely NOT document this Microsoft 1990 10 31 Sokolov Michael ed MS DOS API EXTENSIONS FOR DPMI HOSTS Version Pre Release 0 02 Annotated retyped preliminary ed published 1999 04 08 Retrieved 2016 05 23 Microsoft 1989 Sokolov Michael ed DOS PROTECTED MODE INTERFACE DPMI SPECIFICATION Protected Mode API For DOS Extended Applications Annotated incompletely reconstructed ed published 1999 04 08 Retrieved 2016 05 23 a b c d Wurthmann Gerold Wopperer Bernhard Wiesbock Johann 1991 Die DPMI Spezifikation Eine Einfuhrung An introduction to the DPMI specification Vortrage und Begleittexte zum 2 Entwicklerforum der Design amp Elektronik zum Thema PC Architektur 17 September 1991 Munchen Presentations and supplemental material for the second developer forum on PC architecture on 17 September 1991 Munich book in German 1 ed Munich Germany Markt amp Technik Verlag Aktiengesellschaft p 223 NB The forum was organized by the German magazine Design amp Elektronik and Intel The DPMI Committee 1991 03 12 DOS Protected Mode Interface DPMI Specification Version 1 0 Application Program Interface API for Protected Mode DOS Applications PDF 1 0 Intel pp 4 5 Intel order code 240977 001 Archived from the original PDF on 2013 05 31 Retrieved 2013 05 24 The initial DPMI prototype was developed by Microsoft for Windows version 3 0 with input from Lotus Corporation and Rational Systems as part of a general effort to enhance Windows performance by allowing the Windows kernel to run in extended memory In parallel Intel was working with manufacturers of multitasking environments EMS emulators and DOS extenders to ensure that an extended VCPI specification could fully utilize the 80386 s virtualization and protection features In February 1990 the parties involved in the above activities agreed to form the DPMI Committee and formulate an industry wide standard for protected mode DOS applications The Committee released the first public DPMI Specification Version 0 9 in May 1990 a b c Schneider Stefanie 1994 06 17 Das Ende von DOS ist nur noch eine Frage der Zeit The end of DOS is only a question of time Computerwoche in German Munich Germany IDG Business Media GmbH Archived from the original on 2022 01 02 Retrieved 2022 01 02 FILE Windows Int 21h and NetBIOS Support for DPMI Knowledge Base Microsoft 2004 08 04 1999 12 04 KB65128 Q65128 Archived from the original on 2020 02 20 Retrieved 2016 05 21 Sokolov Michael 1998 05 06 lA correction to a previous posting lynx dev Archived from the original on 2020 02 20 Retrieved 2020 02 20 Schulman Andrew Brown Ralf D Maxey David Michels Raymond J Kyle Jim 1994 November 1993 Undocumented DOS A programmer s guide to reserved MS DOS functions and data structures expanded to include MS DOS 6 Novell DOS and Windows 3 1 2 ed Reading Massachusetts USA Addison Wesley p 194 ISBN 0 201 63287 X xviii 856 vi pages 3 5 floppy Errata 1 2 Further reading editAn Introduction To The DOS Protected Mode Interface White Paper Intel 1993 Intel order code 240787 003 22 pages DOS Protected Mode Interface DPMI Specification Protected Mode API For DOS Extended Applications Version 0 9 Intel 1990 07 26 Archived from the original on 2012 04 25 112 pages The DPMI Committee 1991 03 12 DOS Protected Mode Interface DPMI Specification Version 1 0 Application Program Interface API for Protected Mode DOS Applications PDF Intel Intel order code 240977 001 Archived from the original PDF on 2013 05 31 Retrieved 2013 05 31 160 pages Sokolov Michael 1998 04 26 Some history on DPMI Archived from the original on 2016 05 22 3 4 Chui Paul 1992 02 01 Undocumented DOS From Protected Mode Windows 3 Dr Dobb s Journal Archived from the original on 2018 09 20 Retrieved 2018 09 20 MS DOS 5 0 DPMI in English and Japanese 2016 07 24 2016 06 22 Archived from the original on 2018 09 17 Retrieved 2018 09 17 MSDPMI on Japanese MS DOS 5 00A for PC 98 platform External links edit DOS Protected Mode Interface DPMI Specification Protected Mode API For DOS Extended Applications Version 0 9 HTML converted ed Tenberry Software Inc 1998 1990 07 26 Archived from the original on 2016 05 21 Retrieved 2006 12 19 DPMI 1 0 Programming API Specification HTML converted ed DJ Delorie April 1996 1991 Archived from the original on 2016 05 21 Retrieved 2019 07 28 Microsoft 1990 10 31 MS DOS API EXTENSIONS FOR DPMI HOSTS Version Pre Release 0 02 Microsoft 1991 03 11 MS DOS API EXTENSIONS FOR DPMI HOSTS Version Pre Release 0 04 PDF Sandmann Charles W CWSDPMI Archived from the original on 2015 11 16 Japheth HX DOS Extender Archived from the original on 2014 10 13 Smith Bob DPMIONE Documentation File Version 0 91 Archived from the original on 2016 05 21 Retrieved 2019 07 28 Retrieved from https en wikipedia org w index php title DOS Protected Mode Interface amp oldid 1210207418, 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.