Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Assembly C++ Batchfile Prolog IDL HTML
Fetching latest commit…
Cannot retrieve the latest commit at this time.
DPMIONE -- A DPMI 1.0 Host -- Version 0.91 (C) Copyright 1990-2004 Qualitas, Inc. All Rights Reserved. Overview -------- The DOS Protected Mode Interface (DPMI) Specification version 0.9 was created by the DPMI Committee in 1990, and extended to version 1.0 in 1991. From the introduction to the DPMI 1.0 spec, "The DOS Protected Mode Interface (DPMI) allows DOS programmers to access the advanced features of 80286, 80386, and 80486-based PCs in a well-behaved, hardware-independent fashion that does not compromise system protection". With this spec, it becomes especially easy to write a program which enters Protected Mode (PM), and has access to all of the system's extended memory. DPMI 0.9 hosts are readily available, standalone or otherwise. Some DPMI 0.9 hosts implemented a handful of DPMI 1.0 features, but other than 386MAX, none of them did the whole spec. DPMIONE is, to my knowledge, the first publicly available standalone DPMI 1.0 host. This program is an outgrowth of the DPMI 1.0 host which first appeared in 386MAX from Qualitas, Inc. in 1992. As such, it has undergone extensive testing in that commercial product before being ported to this standalone program. Features -------- * Supports DPMI 1.0 (superset of DPMI 0.9) * Starts from either Real Mode or Virtual Mode (using VCPI) * Low DOS memory resident size is about 15KB * Extended memory resident size is about 300KB plus Page Tables (4KB per 4MB of physical memory) * Loads from command line or as device driver so subsequently loaded device drivers can use DPMI * Supports both 16-bit and 32-bit DPMI clients * Supports nested DPMI clients * Supports uncommitted memory (a very handy DPMI 1.0 feature) (See the file UNCOMMIT.TXT for details.) * Full DOS (INT 21h) & Mouse (INT 33h) translation services * Swapfile support * Compatible with 386SWAT for debugging DPMI clients System Requirements ------------------- * 80386 CPU or later * XMS driver (HIMEM.SYS or Memory Manager EMM386/QEMM/etc. -- 386MAX 7 and later versions already support DPMI 1.0) Limitations ----------- * VM/RM exceptions 06h (Invalid Opcode) and 0Dh (GP Fault) only are reflected to PM. * The TSR facility of DPMI 1.0 is not supported. Installation ------------ 1. Unzip the files into a separate directory (say, C:\DPMIONE). 2. Edit the file DPMIONE.PRO to include a line which loads the DPMI.LOD file, e.g. load=c:\dpmione\dpmi.lod pro=c:\dpmione\dpmi.pro 3. Edit the DPMI.PRO file as necessary (no changes are needed from the defaults). 4. Decide whether you want to load DPMIONE.EXE in your CONFIG.SYS or AUTOEXEC.BAT file (or neither). Then, do either step 4a or 4b (but *NOT BOTH*): a. Edit your CONFIG.SYS file to include a line such as Device=c:\dpmione\dpmione.exe pro=c:\dpmione\dpmione.pro b. Edit your AUTOEXEC.BAT file to include a line such as c:\dpmione\dpmione pro=c:\dpmione\dpmione.pro c. If you chose not to load DPMIONE automatically, you can run it from the command line at a later time, with a line similar to the one in 4b. 5. If necessary, reboot your system to load DPMIONE. Compatibility ------------- As a test of this program's compatibility as a DPMI host, you can actually use it as a substitute for the Windows 3.1x DPMI host. That is, install a fresh copy of Windows 3.1x. Then, with DPMIONE resident, go to the WINDOWS directory and type system\krnl386 and Windows is up and running. This instance of Windows does not support DOS sessions or anything related to that, but most other Windows functions are there including File Manager. This has proven to be an exceptionally rigorous test of a DPMI host. No other unrelated DPMI host can make this claim. Expand Down Stacks ------------------ The Locked Protected Mode stack used by DPMIONE for hardware interrupts and faults is marked as Expand Down so it expands automatically. In the process of making this work, I learned a lot. For more details on Expand Down segments, see http://www.sudleyplace.com/dpmione/expanddown.htm. Author & Copyright ------------------ This program was written by Bob Smith (email@example.com) and is (C) Copyright 1990-2004 Qualitas, Inc. The most recent version may be found at http://www.sudleyplace.com/dpmione/. License ------- This program may be used free for non-commercial use; commercial use requires a volume purchase agreement from the author. It may be freely distributed as long as no part of the program or its documentation is altered and the program and its documentation are kept together. Download -------- The program files may be downloaded from our FTP site at ftp://ftp.sudleyplace.com/sudleyplace/dpmione.zip. Specification ------------- To view the DPMI 1.0 specification, try one of the following links: http://www.delorie.com/djgpp/doc/dpmi/ (HTML) http://clio.rice.edu/cwsdpmi/dpmispec1.pdf (PDF) Version History --------------- Please see the file VERSION.TXT. �