home *** CD-ROM | disk | FTP | other *** search
- DPMI USER DOCUMENTATION
- Borland Pascal With Objects 7.0
-
- This file documents the use of RTM.EXE, RTMRES.EXE, DPMI16BI.OVL,
- DPMIINST.EXE and DPMILOAD.EXE is intended for redistribution
- under the terms of the license statement accompanying this
- product. Modify and use this text to provide information to users
- of your protected-mode applications.
-
- Included is documentation about these topics:
-
- o Running a DOS Protected-Mode Program
-
- o What to do if Borland's DPMI server does not run on your
- system
-
- o How to set DOS environment variables that affect all
- protected-mode programs generated by Borland Pascal with
- Objects 7.0
-
- o Special notes for running under Windows
-
- o Controlling the amount of memory the run-time manager uses
-
- o Special note for Borland C++ and Paradox 4.0 users
-
- ================================================================
- Running a DOS Protected-Mode Program
- ================================================================
-
- When you run a DOS protected-mode application, you must ensure
- that DPMI16BI.OVL (the DPMI server), RTM.EXE (the run-time
- manager), and any DLLs used by the application are present in the
- current directory, the same directory as the application, or on
- the DOS path.
-
-
- Protected Mode and Memory
- -------------------------
-
- A DOS protected-mode program uses DPMI (DOS Protected Mode
- Interface) to run in protected mode which gives the application
- access to all your computer's memory. With the exceptions
- outlined below, the DOS protected-mode technology is completely
- transparent and no extra steps are necessary in order to run a
- protected-mode application.
-
-
- DPMIINST
-
- One such exception might be when you run a protected-mode program
- for the very first time on a 286-based system. The protected mode
- technology uses an internal database which contains various
- machine characteristics to determine how to enable protected mode
- operation on your system, and configures itself accordingly. If
- you have a computer with an older 80286 microprocessor, your
- system might not be recognized. You'll see this message when you
- try to run a protected-mode application:
-
- Machine not in database (RUN DPMIINST)
-
- If you get this message, simply run the DPMIINST program by
- typing DPMIINST at the DOS prompt and following the program's
- instructions.
-
- DPMIINST runs your machine through a series of tests to determine
- the best way of enabling protected mode, and automatically
- configures accordingly. Once you have run DPMIINST, you won't
- have to run it again.
-
- Some memory managers, device drivers, and memory-resident (TSR)
- programs can interfere with DPMIINST's ability to analyze your
- system. If DPMIINST fails, try temporarily disabling or removing
- these programs. That gives DPMIINST the unrestricted access it
- needs to determine the best way to enter protected mode.
-
- Note that running DPMIINST.EXE will never be required on any
- system running HIMEM (or equivalent) or on any system based on
- an 80386 (or later) processor.
-
-
- DPMIMEM
-
- By default, the DPMI interface allocates all available extended
- memory for its own use. If you don't want all of the available
- memory to be taken by the DPMI kernel, you can set a DOS
- environment variable to specify the maximum amount of memory to
- use. This variable can be entered directly at the DOS prompt or
- inserted in your AUTOEXEC.BAT file, using this syntax:
-
- SET DPMIMEM=MAXMEM nnnn
-
- where nnnn is the amount of memory in kilobytes.
-
- For example, if you have a system with 4MB and want the DPMI
- kernel to use only 2MB of it, leaving the other 2MB alone, the
- DPMIMEM variable would be set as follows:
-
- SET DPMIMEM=MAXMEM 2048
-
- Some memory managers, like QEMM or 386^Max, allow allocating the
- same area of memory as either extended or expanded and many older
- applications can use only expanded memmory (EMS). By using the
- DPMIMEM DOS environment variable to limit the amount of extended
- memory used by the DPMI server, your system will still have
- expanded memory available for use by older applications.
-
-
- RTMRES
-
- RTMRES preloads the protected-mode system. Preloading the DPMI
- server lets you load a protected-mode program slightly faster.
- RTMRES will start a program if you specify a program name as a
- parameter. If no parameter is specified, RTMRES will run a DOS
- shell. Type EXIT to close the shell.
-
- RTMRES is especially useful if you start, exit, and start a
- protected-mode program frequently. Normally, every time you run a
- protected-mode application, the DPMI server is loaded. If you've
- run RTMRES previously, the server is already present, and the
- protected-mode application loads faster.
-
-
- EXTENDED MEMORY
-
- A protected-mode application interacts with the DPMI server
- through Borland's run-time manager (RTM.EXE). By default, a
- protected-mode application uses all the extended memory reserved
- by the DPMI kernel.
-
-
- ================================================================
- Running A DOS Protected-Mode Program from Windows
- ================================================================
-
- A DOS protected-mode program will run in Windows in 386 enhanced
- mode. To configure the amount of memory available to the
- application, create a Windows PIF file. To learn more about PIF
- files, see your Microsoft Windows User's Guide.
-
-
- Running Your Program in Windows Standard Mode
- ---------------------------------------------
-
- In order to run a protected-mode program from Windows
- standard-mode, you must set the DPMIMEM DOS environment variable
- and run RTMRES (both are described above) before running Windows.
- Make sure your DPMIMEM setting leaves enough physical memory for
- Windows to operate.
-
- Note that once you've run RTMRES, you won't be able to run
- Windows in 386 enhanced mode until you exit the RTMRES shell (by
- typing EXIT at a DOS prompt).
-
-
- Running from a Windows DOS Prompt
- ---------------------------------
-
- To run a DOS protected-mode application from a Windows DOS
- prompt, you must first modify the DOSPRMPT.PIF file found in your
- Windows directory so that the protected-mode program will be able
- to use extended memory.
-
- Using the Windows PIF editor, open the DOSPRMPT.PIF file, and
- indicate the amount of extended memory you want the
- protected-mode program to use. If you are unsure how to use the
- PIF editor, see your Microsoft Windows User's Guide.
-
-
- ================================================================
- Controlling the Amount of Memory the Run-Time Manager Uses
- ================================================================
-
- The run-time manager attempts to free as much conventional memory
- as possible (by moving moveable memory blocks into extended
- memory, for example) before starting an application. No attempt
- is made to release extended memory, however. Therefore, if you
- are going to run other protected-mode applications that don't use
- the run-time manager (Paradox 4.0, for example), use the RTM DOS
- environment variable to control the run-time manager's allocation
- of memory.
-
- Use the DOS command line to add the RTM environment variable to
- your system's DOS environment. Here is the syntax:
-
- SET RTM=[option nnnn]
-
- The following table lists the options you can use. nnnn can be a
- decimal number or a hex number in the form of xAB54 or xab54.
-
- Option Description
- -------------------------------------------------------------
- EXTLEAVE nnnn Always leave at least nnnn kilobytes of
- extended memory available. The default value
- is 640K.
-
- EXTMAX nnnn Don't allocate more than nnnn kilobytes of
- extended memory. The default value is 4
- gigabytes. In Windows, the default value is
- one-half the available memory.
-
- EXTMIN nnnn If fewer than nnnn kilobytes are available
- after applying EXTMAX and EXTLEAVE limits,
- terminate with an Out of Memory message. The
- default value is zero.
-
- REALLEAVE nnnn Always leave at least nnnn paragraphs of real
- memory available. The default value is 64K or
- 4096 paragraphs.
-
- REALMAX nnnn Don't allocate more than nnnn paragraphs of
- real memory. The default value is 1 megabyte
- or 65,535 paragraphs.
-
- REALMIN nnnn If fewer than nnnn paragraphs are available
- after applying REALMAX and REALLEAVE, terminate
- with an Out of Memory message. The default
- value is zero.
-
- The following DOS command limits RTM to 2M bytes of extended
- memory, and ensures that 128K bytes of real memory are left
- unallocated:
-
- SET RTM=EXTMAX 2048 REALLEAVE 8192
-
-
- ================================================================
- Important Note for Borland C++ and Paradox 4.0 Users
- ================================================================
-
- The DPMILOAD.EXE and DPMI16BI.OVL files provided in this package
- replace the older ones that came with Paradox 4.0 and BC++ 3.0 or
- later. Delete or rename the older versions and make sure the
- newer ones are on your DOS path (both Paradox and BC will search
- the path and find the newer versions).
-
- If you plan to shell out from Paradox or BC++ to run another
- protected-mode application, first limit the amount of extended
- memory used by Paradox or BC++. For Paradox, use its /extk
- command-line parameter; and for BC++, use its /x command-line
- parameter. Refer to the Paradox or BC++ documentation for more
- information on the use of command-line options.
-
- * * * * *