Knowledge (XXG)

DOS Protected Mode Interface

Source 📝

1116:
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.
2102: 253:. 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. 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. This undocumented full nature of DPMI has become known as " 2113: 805:. 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 285:) to make the memory management and multitasking capabilities of the 386 available for extended DOS applications. 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. 988:
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? We should absolutely NOT document this.
328:
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
979:
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
288:
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
796:
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
1115:
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
215:
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
248:
that had been proposed by Ralph Lipe in the original drafts. 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
351:
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. However, DPMIONE (by Bob Smith based on the 386MAX code) can do it. Currently
319:
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
164:
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.
292:
While DPMI is tailored to run extended DOS application software in protected mode and extended memory, it is not particularly well suited for resident system extensions. Another specification named
304:
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
329:
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.
1574: 1148: 2153: 1058:
Wurthmann, Gerold; Wopperer, Bernhard; Wiesböck, Johann (1991). "Die DPMI-Spezifikation – Eine Einführung" [An introduction to the DPMI specification].
1067: 148:
OSes, allowing an OS kernel to distribute such resources between multiple applications. DPMI provides only the functionality that needs to be implemented in
1267: 1352: 924: 1375: 1265: 1030: 2117: 1477: 1005: 1240:
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
830: 1359: 1211: 947:
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
1567: 1317:
DOS Protected Mode Interface (DPMI) Specification – Version 1.0 – Application Program Interface (API) for Protected Mode DOS Applications
1089:
DOS Protected Mode Interface (DPMI) Specification – Version 1.0 – Application Program Interface (API) for Protected Mode DOS Applications
1614: 1394: 240:
in 386 enhanced mode, several features of this implementation were removed from the official specification, including a feature named
360:
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.
112:, although Microsoft later turned control of the specification over to an industry committee with open membership. Almost all modern 1609: 1257: 871: 838: 771: 656: 258: 72: 1315: 1087: 1060:
Vorträge und Begleittexte zum 2. Entwicklerforum der Design & Elektronik zum Thema: PC-Architektur, 17. September 1991, München
1295: 507: 395:
to provide support for either DPMI 1.0 or 0.9. DOS API translation was referred to as "called interrupt 21 from protected mode".
1508: 1181: 2106: 1727: 1560: 341:, so most programs and DOS extenders were mostly only written for version 0.9. Few extenders, however, implement "true DPMI". 2143: 140:
without having to set up these CPU modes manually. DPMI also provides the functions for managing various resources, notably
1134: 116:
are based on DPMI and allow DOS programs to address all memory available in the PC and to run in protected mode (mostly in
545: 266: 1937: 2022: 1972: 1064:
Presentations and supplemental material for the second developer forum on PC architecture on 17 September 1991, Munich
948: 662: 535: 293: 1425: 337:
While Windows 3.0 implements "true DPMI" and reports support for DPMI 0.9, DPMI version 1.0 was never implemented in
224:
kernels are built with a DOS extender, so they fully rely on a DPMI API that is provided by Windows's ring-0 kernel.
1456: 1426:"DOS Protected Mode Interface (DPMI) Specification – Protected Mode API For DOS Extended Applications – Version 0.9" 1365: 2052: 609: 262: 1297:
DOS Protected Mode Interface (DPMI) Specification – Protected Mode API For DOS Extended Applications – Version 0.9
1642: 1538: 751: 489: 913: 679: 117: 414:; it supports DPMI 0.9, but no undocumented "DOS API translation". Another variant called PMODE by "TRAN" aka 368: 1483: 774:
were well aware of its limitations and were already hard at work on a second generation specification called
485: 2138: 1967: 1942: 1429: 1144: 1521: 699: 364: 2148: 1752: 400: 1583: 1494: 673: 581: 555: 453: 145: 1370: 1031:"DOS PROTECTED MODE INTERFACE (DPMI) – SPECIFICATION Protected Mode API For DOS Extended Applications" 261:. At the same time that Microsoft developed DPMI for Windows 3.0, another industry alliance including 1619: 976: 859: 587: 493: 1912: 1357: 1203: 481: 274: 1977: 415: 1892: 1887: 1732: 1624: 1390: 938: 257:" in the industry. The DPMI standard was not the only effort to overcome the shortcomings of the 156:. The rest of the functionality is available to DPMI-enabled programs via the calls to real-mode 1249: 233: 2032: 1253: 981: 867: 834: 755: 737: 631: 603: 569: 563: 517: 431: 345: 338: 968: 635: 577: 573: 353: 627: 599: 539: 501: 497: 423: 305: 297: 270: 923:. pp. 123–124. MSC 00779372/00779373, MX3232616/3232617, Cole Exhibit 10, 2001-06-21. 595: 1782: 964: 863: 818: 467: 438: 380: 309: 149: 141: 1328: 1100: 1737: 1305: 1245: 1238: 802: 668: 313: 133: 100:, giving access to many features of the new PC processors of the time not available in 97: 1348: 2132: 2027: 1882: 1777: 1512: 1233: 1169: 1139: 776: 396: 278: 1902: 1857: 1407: 822: 793: 591: 461: 376: 212: 185: 113: 797:
crossed into DOS extender territory - specifically, direct support of the DOS and
449:
The DPMI 1.0 Committee met between 1990 through 1991 and consisted of 12 groups:
2047: 1712: 1072:(NB. The forum was organized by the German magazine Design & Elektronik and 944: 789: 742: 549: 529: 525: 521: 237: 153: 109: 1552: 220:
DOS, in which case DOS extender uses its own DPMI kernel. Windows 3.x and 9x's
1797: 1787: 1684: 1674: 1654: 1452: 621: 441:) provides "DOS API translation" and almost complete DPMI 1.0 implementation. 419: 372: 217: 759: 2042: 1997: 1872: 1867: 1862: 1852: 1490: 1473: 1177: 1026: 1001: 972: 920: 887: 785: 221: 137: 105: 101: 81: 1433: 821:; Schulman, Andrew; Baker, M. Steven; Nelson, Ross P.; Davis, Stephen R.; 232:
The first DPMI specification drafts were published in 1989 by Microsoft's
2072: 2037: 1837: 1822: 1817: 1762: 1757: 1647: 1448: 798: 738:"Power Programming – An Introduction to the DOS Protected Mode Interface" 617: 289:
never implemented the DPMI 1.0 extensions (and not many DPMI hosts did).
2087: 2057: 2012: 1987: 1922: 1917: 1907: 1812: 1802: 1792: 1772: 1742: 1717: 1694: 1689: 1679: 1604: 960: 643: 457: 411: 404: 201: 197: 193: 168:
A DPMI service can be 16-bit, 32-bit, or "universal" and is called the
1534: 1053: 1051: 1049: 1047: 1033:(Annotated incompletely reconstructed ed.) (published 1999-04-08) 2067: 2062: 1962: 1952: 1947: 1927: 1877: 1842: 1767: 1722: 1664: 1637: 985: 952: 639: 559: 511: 471: 427: 384: 357: 348: 301: 892:
DOS Protected Mode Interface Specification, Revision Prerelease 0.04
387:
7.02 and higher have built-in support for DPMI when loaded with the
324:
and new memory management/addressing capabilities. For example, the
2082: 2017: 2007: 1992: 1957: 1847: 1807: 1669: 1659: 1411: 1324: 1301: 1286: 1096: 1073: 781: 282: 205: 1283:
An Introduction To The DOS Protected Mode Interface – White Paper
2077: 2002: 1982: 1932: 1897: 1747: 1525: 613: 475: 325: 161: 1556: 1495:"MS-DOS API extensions for DPMI hosts version pre-release 0.04" 1478:"MS-DOS API extensions for DPMI hosts version pre-release 0.02" 1008:(Annotated retyped preliminary ed.) (published 1999-04-08) 1006:"MS-DOS API EXTENSIONS FOR DPMI HOSTS Version Pre-Release 0.02" 1705: 956: 792:
and its DPMI. For a few months it appeared that the fledgling
422:
of the 1990s. Many games used DOS/4GW, which was developed by
321: 192:). The DPMI kernel can be a part of a DOS extender such as in 157: 129: 93: 1099:. pp. 4–5. Intel order code 240977-001. Archived from 136:
on 80286 series and later processors, and do the calls to
827:
Extending DOS: A Programmer's Guide to Protected-Mode DOS
1236:; Maxey, David; Michels, Raymond J.; Kyle, Jim (1994) . 1066:] (book) (in German) (1 ed.). Munich, Germany: 371:, which has been under development since 1991, and the 128:
DPMI stands for DOS Protected Mode Interface. It is an
92:) is a specification introduced in 1989 which allows a 180:. It is provided either by the host operating system ( 1137:[The end of DOS is only a question of time]. 788:
barged onto the scene with the beta-test versions of
1170:"FILE: Windows Int 21h and NetBIOS Support for DPMI" 907: 905: 903: 901: 236:. While based on a prototypical version of DPMI for 1830: 1703: 1591: 1135:"Das Ende von DOS ist nur noch eine Frage der Zeit" 391:option. KRNL386.SYS even had a command line option 144:. This allows the DPMI-enabled programs to work in 68: 60: 42: 34: 26: 1237: 984:had no trouble reverse engineering them. (The new 1128: 1126: 1124: 410:The most famous separate DPMI kernel is probably 1366:"Undocumented DOS From Protected-Mode Windows 3" 912:Cole, Dave (1992-05-04). Neiminen, Bruce (ed.). 418:was popular with 32-bit programmers during the 1568: 1327:. Intel order code 240977-001. Archived from 1068:Markt & Technik Verlag Aktiengesellschaft 858:(1 ed.). Cambridge, Massachusetts, USA: 731: 729: 727: 725: 723: 721: 719: 8: 21: 1244:(2 ed.). Reading, Massachusetts, USA: 277:and others developed a specification named 152:. It can be thought of as a single-tasking 2112: 1597: 1575: 1561: 1553: 1264:(xviii+856+vi pages, 3.5"-floppy) Errata: 20: 1535:"DPMIONE Documentation File Version 0.91" 1449:"DPMI 1.0 Programming API Specification" 1393:(in English and Japanese). 2016-07-24 . 211:The primary use of DPMI API is to allow 831:Addison-Wesley Publishing Company, Inc. 715: 691: 2154:Computer-related introductions in 1989 1004:(1990-10-31). Sokolov, Michael (ed.). 1204:"lA correction to a previous posting" 7: 1289:. 1993. Intel order code 240787-003. 856:Pentium Processor Optimization Tools 363:The KRNL386.SYS (aka "MultiMAX") of 250: 1133:Schneider, Stefanie (1994-06-17). 702:has copyright strings "1991,1992". 73:Application programming interfaces 14: 1314:The DPMI Committee (1991-03-12). 1086:The DPMI Committee (1991-03-12). 657:Virtual Control Program Interface 2111: 2101: 2100: 1355:from the original on 2016-05-22. 1180:. 2004-08-04 . KB65128. Q65128. 1029:(1989). Sokolov, Michael (ed.). 508:Intelligent Graphics Corporation 132:that allows a program to run in 104:. It was initially developed by 1541:from the original on 2016-05-21 1459:from the original on 2016-05-21 1397:from the original on 2018-09-17 1378:from the original on 2018-09-20 1347:Sokolov, Michael (1998-04-26). 1214:from the original on 2020-02-20 1202:Sokolov, Michael (1998-05-06). 1184:from the original on 2020-02-20 1151:from the original on 2022-01-02 930:from the original on 2018-09-18 1143:(in German). Munich, Germany: 943:I think, they're checked into 1: 546:Lotus Development Corporation 430:and was distributed with the 1304:. 1990-07-26. Archived from 963:. You need to clear it with 941:- Plaintiff's exhibit 1306. 914:"Re: MS-DOS DPMI extensions" 312:. This is also supported by 263:Intel's Software Focus Group 86:DOS Protected Mode Interface 22:DOS Protected Mode Interface 1643:Multitasking MS-DOS 4.0/4.1 1451:(HTML converted ed.). 1428:(HTML converted ed.). 959:) how to run standard mode 854:Schmit, Michael L. (1995). 663:DOS Protected Mode Services 536:Locus Computing Corporation 48:; 35 years ago 2170: 2053:Technical Support SuperDOS 736:Duncan, Ray (1991-02-12). 610:Quarterdeck Office Systems 490:Eclipse Computer Solutions 2096: 1600: 1364:Chui, Paul (1992-02-01). 980:for the application, and 967:before distributing it. 752:Ziff-Davis Publishing Co. 680:Multiuser DOS Federation 1430:Tenberry Software, Inc. 1145:IDG Business Media GmbH 486:Ergo Computer Solutions 1753:Datapac System Manager 1584:Disk operating systems 1349:"Some history on DPMI" 407:support DPMI as well. 120:3, least privileged). 2144:DOS memory management 1507:Sandmann, Charles W. 1432:1998 . Archived from 894:(Prerelease ed.) 674:NetWare I/O Subsystem 556:Microsoft Corporation 454:Borland International 365:DR DOS "Panther" 1484:Alternate HTTPS link 1406:(MSDPMI on Japanese 860:Academic Press, Inc. 770:The creators of the 588:Phoenix Technologies 200:, or separate, like 1913:DEC BATCH-11/DOS-11 1592:MS-DOS, IBM PC DOS, 975:. They read in the 375:memory managers of 275:Interactive Systems 246:DOS API translation 23: 1893:Concurrent DOS V60 1888:Concurrent DOS 68K 1733:Concurrent CP/M-86 1594:compatible systems 1371:Dr. Dobb's Journal 1232:Schulman, Andrew; 939:Comes v. Microsoft 919:(Court document). 833:pp. 433–436. 829:. 2 (2 ed.). 259:VCPI specification 96:program to run in 2126: 2125: 1633: 1632: 1522:"HX DOS Extender" 1391:"MS-DOS 5.0 DPMI" 632:Tenberry Software 570:Phar Lap Software 564:Microsoft Windows 518:Intel Corporation 432:Watcom C compiler 344:Beta versions of 339:Microsoft Windows 242:MS-DOS Extensions 182:virtual DPMI host 78: 77: 16:DOS specification 2161: 2115: 2114: 2104: 2103: 1598: 1577: 1570: 1563: 1554: 1549: 1547: 1546: 1529: 1524:. Archived from 1516: 1511:. Archived from 1501: 1499: 1481: 1467: 1465: 1464: 1444: 1442: 1441: 1405: 1403: 1402: 1386: 1384: 1383: 1356: 1342: 1340: 1339: 1333: 1322: 1309: 1290: 1269: 1263: 1243: 1229: 1223: 1222: 1220: 1219: 1199: 1193: 1192: 1190: 1189: 1166: 1160: 1159: 1157: 1156: 1130: 1119: 1118: 1112: 1111: 1105: 1094: 1083: 1077: 1071: 1055: 1042: 1041: 1039: 1038: 1023: 1017: 1016: 1014: 1013: 998: 992: 991: 936: 935: 929: 918: 909: 896: 895: 884: 878: 877: 851: 845: 844: 819:Petzold, Charles 814: 808: 807: 767: 766: 733: 703: 700:DR DOS "Panther" 696: 628:Rational Systems 532:microprocessors) 424:Rational Systems 394: 390: 306:memory footprint 298:Digital Research 271:Digital Research 56: 54: 49: 24: 2169: 2168: 2164: 2163: 2162: 2160: 2159: 2158: 2129: 2128: 2127: 2122: 2092: 1831:Other platforms 1826: 1783:NetWare PalmDOS 1699: 1629: 1593: 1587: 1581: 1544: 1542: 1532: 1519: 1506: 1497: 1489: 1472: 1462: 1460: 1455:. April 1996 . 1447: 1439: 1437: 1424: 1421: 1400: 1398: 1389: 1381: 1379: 1363: 1346: 1337: 1335: 1331: 1320: 1313: 1294: 1281: 1278: 1276:Further reading 1273: 1272: 1260: 1231: 1230: 1226: 1217: 1215: 1201: 1200: 1196: 1187: 1185: 1168: 1167: 1163: 1154: 1152: 1132: 1131: 1122: 1109: 1107: 1103: 1092: 1085: 1084: 1080: 1057: 1056: 1045: 1036: 1034: 1025: 1024: 1020: 1011: 1009: 1000: 999: 995: 933: 931: 927: 916: 911: 910: 899: 886: 885: 881: 874: 864:AP Professional 853: 852: 848: 841: 816: 815: 811: 764: 762: 735: 734: 717: 712: 707: 706: 698:KRNL386.SYS of 697: 693: 688: 653: 514:multi-user DOS) 468:IBM Corporation 447: 439:HX DOS Extender 437:HDPMI (part of 426:as a subset of 392: 388: 381:Caldera OpenDOS 335: 296:, developed by 230: 150:supervisor mode 126: 52: 50: 47: 17: 12: 11: 5: 2167: 2165: 2157: 2156: 2151: 2146: 2141: 2139:DOS technology 2131: 2130: 2124: 2123: 2121: 2120: 2109: 2097: 2094: 2093: 2091: 2090: 2085: 2080: 2075: 2070: 2065: 2060: 2055: 2050: 2045: 2040: 2035: 2030: 2025: 2020: 2015: 2010: 2005: 2000: 1995: 1990: 1985: 1980: 1975: 1970: 1965: 1960: 1955: 1950: 1945: 1940: 1935: 1930: 1925: 1920: 1915: 1910: 1905: 1900: 1895: 1890: 1885: 1880: 1875: 1870: 1865: 1860: 1855: 1850: 1845: 1840: 1834: 1832: 1828: 1827: 1825: 1820: 1815: 1810: 1805: 1800: 1795: 1790: 1785: 1780: 1775: 1770: 1765: 1760: 1755: 1750: 1745: 1740: 1738:Concurrent DOS 1735: 1730: 1725: 1720: 1715: 1710: 1708: 1701: 1700: 1698: 1697: 1692: 1687: 1682: 1677: 1672: 1667: 1662: 1657: 1652: 1651: 1650: 1645: 1634: 1631: 1630: 1628: 1627: 1622: 1617: 1612: 1607: 1601: 1595: 1589: 1588: 1582: 1580: 1579: 1572: 1565: 1557: 1551: 1550: 1530: 1528:on 2014-10-13. 1517: 1515:on 2015-11-16. 1503: 1502: 1493:(1991-03-11). 1487: 1476:(1990-10-31). 1469: 1468: 1445: 1420: 1419:External links 1417: 1416: 1415: 1387: 1361: 1344: 1311: 1308:on 2012-04-25. 1292: 1277: 1274: 1271: 1270: 1258: 1246:Addison Wesley 1234:Brown, Ralf D. 1224: 1194: 1174:Knowledge Base 1161: 1120: 1078: 1070:. p. 223. 1043: 1018: 993: 897: 879: 872: 846: 839: 809: 803:protected mode 801:interrupts in 714: 713: 711: 708: 705: 704: 690: 689: 687: 684: 683: 682: 677: 671: 669:Helix Cloaking 666: 660: 652: 649: 648: 647: 646:DOS extenders) 625: 607: 585: 567: 553: 543: 533: 515: 505: 504:DOS extenders) 494:Ergo Computing 479: 465: 446: 445:DPMI Committee 443: 401:System Manager 334: 331: 314:Helix Cloaking 308:down to small 251:DPMI Committee 229: 226: 190:real DPMI host 134:protected mode 125: 122: 98:protected mode 76: 75: 70: 66: 65: 64:DPMI Committee 62: 58: 57: 44: 40: 39: 36: 32: 31: 28: 15: 13: 10: 9: 6: 4: 3: 2: 2166: 2155: 2152: 2150: 2149:DOS extenders 2147: 2145: 2142: 2140: 2137: 2136: 2134: 2119: 2110: 2108: 2099: 2098: 2095: 2089: 2086: 2084: 2081: 2079: 2076: 2074: 2071: 2069: 2066: 2064: 2061: 2059: 2056: 2054: 2051: 2049: 2046: 2044: 2041: 2039: 2036: 2034: 2031: 2029: 2028:Sinclair QDOS 2026: 2024: 2021: 2019: 2016: 2014: 2011: 2009: 2006: 2004: 2001: 1999: 1996: 1994: 1991: 1989: 1986: 1984: 1981: 1979: 1976: 1974: 1971: 1969: 1966: 1964: 1961: 1959: 1956: 1954: 1951: 1949: 1946: 1944: 1941: 1939: 1936: 1934: 1931: 1929: 1926: 1924: 1921: 1919: 1916: 1914: 1911: 1909: 1906: 1904: 1901: 1899: 1896: 1894: 1891: 1889: 1886: 1884: 1883:Commodore DOS 1881: 1879: 1876: 1874: 1871: 1869: 1866: 1864: 1861: 1859: 1856: 1854: 1851: 1849: 1846: 1844: 1841: 1839: 1836: 1835: 1833: 1829: 1824: 1821: 1819: 1816: 1814: 1811: 1809: 1806: 1804: 1801: 1799: 1796: 1794: 1791: 1789: 1786: 1784: 1781: 1779: 1778:Multiuser DOS 1776: 1774: 1771: 1769: 1766: 1764: 1761: 1759: 1756: 1754: 1751: 1749: 1746: 1744: 1741: 1739: 1736: 1734: 1731: 1729: 1726: 1724: 1721: 1719: 1716: 1714: 1711: 1709: 1707: 1702: 1696: 1693: 1691: 1688: 1686: 1683: 1681: 1678: 1676: 1673: 1671: 1668: 1666: 1663: 1661: 1658: 1656: 1653: 1649: 1646: 1644: 1641: 1640: 1639: 1636: 1635: 1626: 1623: 1621: 1618: 1616: 1613: 1611: 1608: 1606: 1603: 1602: 1599: 1596: 1590: 1585: 1578: 1573: 1571: 1566: 1564: 1559: 1558: 1555: 1540: 1536: 1531: 1527: 1523: 1518: 1514: 1510: 1505: 1504: 1496: 1492: 1488: 1485: 1479: 1475: 1471: 1470: 1458: 1454: 1450: 1446: 1436:on 2016-05-21 1435: 1431: 1427: 1423: 1422: 1418: 1413: 1409: 1396: 1392: 1388: 1377: 1373: 1372: 1367: 1362: 1360: 1358: 1354: 1350: 1345: 1334:on 2013-05-31 1330: 1326: 1319: 1318: 1312: 1307: 1303: 1299: 1298: 1293: 1288: 1284: 1280: 1279: 1275: 1268: 1266: 1261: 1259:0-201-63287-X 1255: 1251: 1247: 1242: 1241: 1235: 1228: 1225: 1213: 1209: 1205: 1198: 1195: 1183: 1179: 1175: 1171: 1165: 1162: 1150: 1146: 1142: 1141: 1140:Computerwoche 1136: 1129: 1127: 1125: 1121: 1117: 1106:on 2013-05-31 1102: 1098: 1091: 1090: 1082: 1079: 1075: 1069: 1065: 1061: 1054: 1052: 1050: 1048: 1044: 1032: 1028: 1022: 1019: 1007: 1003: 997: 994: 990: 987: 983: 978: 974: 970: 966: 962: 958: 954: 950: 946: 940: 926: 922: 915: 908: 906: 904: 902: 898: 893: 890:(Fall 1989), 889: 883: 880: 875: 873:0-12-627230-1 869: 865: 861: 857: 850: 847: 842: 840:0-201-56798-9 836: 832: 828: 824: 823:Moote, Robert 820: 817:Duncan, Ray; 813: 810: 806: 804: 800: 795: 791: 787: 783: 779: 778: 777:Extended VCPI 773: 761: 757: 753: 749: 745: 744: 739: 732: 730: 728: 726: 724: 722: 720: 716: 709: 701: 695: 692: 685: 681: 678: 675: 672: 670: 667: 664: 661: 658: 655: 654: 650: 645: 641: 637: 633: 629: 626: 623: 619: 615: 611: 608: 605: 601: 597: 593: 589: 586: 583: 579: 575: 571: 568: 565: 561: 557: 554: 551: 547: 544: 541: 537: 534: 531: 527: 523: 519: 516: 513: 509: 506: 503: 499: 495: 491: 487: 483: 482:AI Architects 480: 477: 473: 469: 466: 463: 459: 455: 452: 451: 450: 444: 442: 440: 435: 433: 429: 425: 421: 417: 413: 408: 406: 402: 398: 397:Multiuser DOS 386: 382: 378: 374: 370: 366: 361: 359: 355: 350: 347: 342: 340: 333:Compatibility 332: 330: 327: 323: 317: 315: 311: 307: 303: 299: 295: 290: 286: 284: 280: 279:Extended VCPI 276: 272: 268: 264: 260: 256: 252: 247: 243: 239: 235: 227: 225: 223: 219: 214: 213:DOS extenders 209: 207: 203: 199: 195: 191: 187: 183: 179: 175: 171: 166: 163: 159: 155: 151: 147: 146:multi-tasking 143: 139: 135: 131: 123: 121: 119: 115: 114:DOS extenders 111: 107: 103: 99: 95: 91: 87: 83: 74: 71: 67: 63: 59: 45: 41: 37: 33: 29: 25: 19: 1903:Cromemco DOS 1858:Apple ProDOS 1543:. Retrieved 1533:Smith, Bob. 1526:the original 1513:the original 1461:. Retrieved 1438:. Retrieved 1434:the original 1408:MS-DOS 5.00A 1399:. Retrieved 1380:. Retrieved 1369: 1336:. Retrieved 1329:the original 1316: 1306:the original 1296: 1282: 1239: 1227: 1216:. Retrieved 1207: 1197: 1186:. Retrieved 1173: 1164: 1153:. Retrieved 1138: 1114: 1108:. Retrieved 1101:the original 1088: 1081: 1063: 1059: 1035:. Retrieved 1021: 1010:. Retrieved 996: 942: 937:– via 932:. Retrieved 891: 882: 855: 849: 826: 812: 794:DOS extender 775: 769: 763:. Retrieved 747: 741: 694: 592:Phoenix BIOS 462:Turbo Pascal 448: 436: 416:Thomas Pytel 409: 393:/VER=0.9|1.0 377:Novell DOS 7 362: 343: 336: 318: 291: 287: 254: 245: 241: 231: 210: 189: 186:DOS extender 181: 177: 173: 169: 167: 127: 89: 85: 79: 61:Organization 43:Year started 27:Abbreviation 18: 2048:SpartaDOS X 1343:(160 pages) 1310:(112 pages) 790:Windows 3.0 754:: 367–371. 743:PC Magazine 550:Lotus 1-2-3 238:Windows 3.0 178:DPMI server 170:DPMI kernel 154:microkernel 110:Windows 3.0 2133:Categories 1798:PC-MOS/386 1788:Novell DOS 1685:SISNE plus 1675:Novell DOS 1655:IBM PC DOS 1615:Comparison 1545:2019-07-28 1463:2019-07-28 1453:DJ Delorie 1440:2006-12-19 1414:platform.) 1401:2018-09-17 1382:2018-09-20 1338:2013-05-31 1291:(22 pages) 1248:. p.  1218:2020-02-20 1188:2016-05-21 1155:2022-01-02 1110:2013-05-24 1037:2016-05-23 1012:2016-05-23 934:2018-09-17 765:2016-05-21 710:References 622:DESQview/X 420:demo scene 373:EMM386.EXE 369:"StarTrek" 234:Ralph Lipe 218:bare-metal 184:) or by a 2043:SpartaDOS 1998:NewDos/80 1873:Atari TOS 1868:Atari DOS 1863:Apple SOS 1853:Apple DOS 1520:Japheth. 1509:"CWSDPMI" 1491:Microsoft 1474:Microsoft 1178:Microsoft 1027:Microsoft 1002:Microsoft 973:limulator 921:Microsoft 888:Microsoft 786:Microsoft 760:0888-8507 255:true DPMI 222:user-mode 174:DPMI host 138:real mode 106:Microsoft 102:real mode 82:computing 38:Published 2107:Category 2073:TurboDOS 2038:SmartDOS 1978:MicroDOS 1838:AmigaDOS 1823:TurboDOS 1818:Towns OS 1763:K8918-OS 1758:DOS Plus 1648:MS-DOS 7 1620:Commands 1610:Timeline 1539:Archived 1457:Archived 1395:Archived 1376:Archived 1353:Archived 1212:Archived 1208:lynx-dev 1182:Archived 1149:Archived 982:Qualitas 971:makes a 925:Archived 825:(1992). 799:ROM BIOS 784:), when 651:See also 618:DESQview 604:Plink-86 346:Qualitas 124:Overview 2088:Z80-RIO 2058:Top-DOS 2013:RealDOS 1988:MSX-DOS 1923:DOS/360 1918:DIP DOS 1908:CSI-DOS 1813:SCP1700 1803:REAL/32 1793:OpenDOS 1773:MP/M-86 1743:CP/M-86 1718:4690 OS 1713:4680 OS 1695:FreeDOS 1690:PTS-DOS 1680:ROM-DOS 1095:. 1.0. 969:SoftNet 961:Windows 644:DOS/4GW 636:DOS/16M 578:DOS|386 574:DOS|286 458:Borland 412:CWSDPMI 405:REAL/32 354:DPMIONE 228:History 202:CWSDPMI 198:DOS/32A 194:DOS/4GW 51: ( 2116:  2105:  2068:TRSDOS 2063:TR-DOS 1963:iS-DOS 1953:IDEDOS 1948:GEMDOS 1928:DOS XL 1878:BW-DOS 1843:AMSDOS 1768:FlexOS 1723:86-DOS 1704:Other 1665:DR-DOS 1638:MS-DOS 1256:  986:386MAX 965:BradSi 953:DR-DOS 945:Win386 870:  837:  758:  676:(NIOS) 665:(DPMS) 659:(VCPI) 640:DOS/4G 600:PForCe 560:MS-DOS 512:VM/386 502:OS/386 498:OS/286 472:PC DOS 428:DOS/4G 385:DR-DOS 349:386MAX 302:Novell 142:memory 84:, the 69:Domain 35:Status 2083:Z-DOS 2018:SB-80 2008:PTDOS 1993:MyDOS 1958:IMDOS 1848:ANDOS 1808:SB-86 1670:H-DOS 1660:DOS/V 1625:Games 1586:(DOS) 1498:(PDF) 1412:PC-98 1332:(PDF) 1325:Intel 1321:(PDF) 1302:Intel 1287:Intel 1104:(PDF) 1097:Intel 1093:(PDF) 1074:Intel 1062:[ 951:(AKA 928:(PDF) 917:(PDF) 782:XVCPI 750:(3). 686:Notes 596:PMate 540:Merge 389:/DPMI 310:stubs 283:XVCPI 267:Lotus 206:HDPMI 176:, or 2118:List 2078:UDOS 2033:RDOS 2003:OS/M 1983:MP/M 1973:MDOS 1968:ISIS 1943:FLEX 1933:Edos 1898:CP/M 1748:CP/K 1728:ADOS 1410:for 1254:ISBN 955:and 949:ISVs 868:ISBN 835:ISBN 772:VCPI 756:ISSN 614:QEMM 476:OS/2 403:and 383:and 367:and 356:and 326:OS/2 294:DPMS 162:BIOS 160:and 118:ring 108:for 90:DPMI 53:1989 46:1989 30:DPMI 2023:SCP 1938:EOS 1706:x86 1605:API 1250:194 957:IBM 866:). 582:TNT 530:486 526:386 522:286 460:C, 358:386 322:API 244:or 204:or 196:or 158:DOS 130:API 94:DOS 80:In 2135:: 1537:. 1374:. 1368:. 1351:. 1323:. 1300:. 1285:. 1252:. 1210:. 1206:. 1176:. 1172:. 1147:. 1123:^ 1113:. 1076:.) 1046:^ 977:C7 900:^ 768:. 748:10 746:. 740:. 718:^ 642:, 638:, 620:, 616:, 602:, 598:, 594:, 580:, 576:, 562:, 528:, 524:, 500:, 474:, 434:. 399:, 379:, 316:. 300:/ 273:, 269:, 265:, 208:. 172:, 1576:e 1569:t 1562:v 1548:. 1500:. 1486:) 1482:( 1480:. 1466:. 1443:. 1404:. 1385:. 1341:. 1262:. 1221:. 1191:. 1158:. 1040:. 1015:. 876:. 862:( 843:. 780:( 634:( 630:/ 624:) 612:( 606:) 590:( 584:) 572:( 566:) 558:( 552:) 548:( 542:) 538:( 520:( 510:( 496:( 492:/ 488:/ 484:/ 478:) 470:( 464:) 456:( 281:( 188:( 88:( 55:)

Index

Application programming interfaces
computing
DOS
protected mode
real mode
Microsoft
Windows 3.0
DOS extenders
ring
API
protected mode
real mode
memory
multi-tasking
supervisor mode
microkernel
DOS
BIOS
DOS extender
DOS/4GW
DOS/32A
CWSDPMI
HDPMI
DOS extenders
bare-metal
user-mode
Ralph Lipe
Windows 3.0
DPMI Committee
VCPI specification

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.