home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / c / library / dos / tvision / dpmi / readme < prev    next >
Encoding:
Text File  |  1994-05-29  |  5.9 KB  |  201 lines

  1.  
  2. PMAPP.ZIP
  3. May 29, 1994
  4.  
  5. This is a toolkit to let you build large Borland C Applications that
  6. run in protected mode. This is an alpha release so please don't judge 
  7. it too harshly. At the end of this document is a list of known problems
  8. and areas where improvement is needed. I am very interested in any
  9. feedback.
  10.  
  11. If any part of this is missing or incomplete, if you have any suggestions
  12. or if you encounter any problems using it please let me know.
  13.  
  14.  
  15. COPYRIGHT
  16. ---------
  17. This distribution copyright (c) 1994, Kevin Morgan. All rights reserved.
  18.  
  19. None of Borland's code is included, so this should not infringe on
  20. Borland's copyright.
  21.  
  22.  
  23. ADVERTISEMENT
  24. -------------
  25.  
  26. This code is distributed as shareware. If you find this toolkit to be
  27. of value, please send $29.00 to the author:
  28.  
  29.         Kevin Morgan Software Services
  30.         P.O. Box 2760
  31.         Sunnyvale, CA 94087
  32.  
  33.         CompuServe Id: 72426,1466
  34.         Internet: kmorgan@netcom.com
  35.  
  36. For that $29.00 you will have one future update mailed to you.
  37.  
  38. If you encounter problems or have suggestions, please report them to me
  39. even.
  40.  
  41. It will probably be 3 to 6 months before enough changes have accumulated
  42. to justify sending out a disk. Meanwhile, I'll be periodically placing updates
  43. on CompuServe in the Borland C/DOS forum, in the TurboVision section.
  44.  
  45.  
  46. MANIFEST
  47. --------
  48.  
  49. This kit consists of several parts.
  50.  
  51.  
  52.     README              This note.
  53.  
  54.     TVPATCH.DOC         Instructions for patches to use with TurboVision
  55.  
  56.     EXE\DPMIRUN.EXE     Protected mode program loader
  57.  
  58.     EXE\RSTUB.EXE       Real mode stub to bind into protected apps
  59.  
  60.     LIB\C0WL.OBJ        A module to replace the Borland C0 to start the
  61.                         Protected mode application.
  62.  
  63.     CLIB.PRJ            BC3.1 Project file to build CLIB.LIB
  64.     CLIB.MAK            BC3.1 Make file to build CLIB.LIB
  65.  
  66.     DPMIRUN.PRJ         BC3.1 Project file to build DPMIRUN.EXE
  67.     DPMIRUN.MAK         BC3.1 Make file to build DPMIRUN.EXE
  68.  
  69.     RSTUB.PRJ           BC3.1 Project file to build RSTUB.EXE
  70.     RSTUB.MAK           BC3.1 Make file to build RSTUB.EXE
  71.  
  72.     TVGUID01.PRJ        BC3.1 Project file to build TVGUID01 as a protected app
  73.     TVGUID01.MAK        BC3.1 Make file to build TVGUID01 as a protected app
  74.  
  75.     CSD\CSDUDES.PRJ     BC3.1 Project file for Paradox Engine Example
  76.     CSD\CSDUDES.MAK     BC3.1 Make file for Paradox Engine Example
  77.  
  78.     DPMI.DEF            Def file to be used when linking protected mode apps
  79.  
  80.     CLIB\*.CPP          Source for CLIB routines
  81.  
  82.     DPMIRUN\*.*         Source for DPMIRUN.EXE
  83.  
  84.     INC\*.*             Include files needed
  85.  
  86.     DPMIRTL\BUILDC0.BAT Batch file to build C0WL.OBJ
  87.  
  88.     DPMIRTL\C0.ASM      Source for C0WL.OBJ
  89.  
  90.  
  91. HOW TO USE
  92. ----------
  93.  
  94. Patches need to be applied to the TurboVision code. See TVPATCH.DOC.
  95.  
  96. Patches need to be applied to the C runtime library. See CLPATCH.DOC.
  97.  
  98. Build your applications just as you would normally for DOS, with the following
  99. differences:
  100.  
  101. Compiler:
  102.     Memory Model must be Large
  103.  
  104. Directory path:
  105.     The library search path should point to the directory containing
  106.     the C0WL.OBJ with this toolkit first. (otherwise, the linker will
  107.     try to link in the regular Windows startup code.
  108.  
  109. Linker:
  110.     Output should be Windows .EXE
  111.     No default libraries
  112.     No standard libraries
  113.  
  114. Your project or make file should explicitly link in the following:
  115.  
  116.     CLIB.LIB
  117.  
  118.     TVPROT.LIB  (if a turbovision application)
  119.  
  120.     ...         any other libraries you need should be explicitly
  121.                 linked in
  122.  
  123.     DPMI.DEF
  124.  
  125.  
  126. When executing the resulting application, the protected mode loader
  127. DPMIRUN.EXE should be accessible through PATH or the current directory.
  128.  
  129. When your app runs, the real mode stub (RSTUB.EXE) gets executed.
  130. It invokes DPMIRUN.EXE which in turn loads and executes your app.
  131.  
  132. If a fault occurs during execution, the loader will report the exception,
  133. attempt to give you a traceback, and exit (without doing any real cleanup).
  134.  
  135. If your executable is compiled and linked with debug information, the
  136. traceback will be symbolic.
  137.  
  138. C RUNTIME LIBRARY PATCHES
  139. -------------------------
  140.  
  141. The source for all original CLIB routines are included.
  142.  
  143. The distribution CLIB.LIB needs to have CRTINIT (crtinit.cas) included if
  144. you want to use cprintf, cout, etc in your protected mode apps.
  145.  
  146. This should be the Borland standard crtinit.cas with patches in 
  147. CLPATCH.DOC applied to it.  You probably want this included in 
  148. CLIB.LIB instead of creating a new CL.LIB.
  149.  
  150.  
  151. TURBOVISION LIBRARY PATCHES
  152. ---------------------------
  153.  
  154. Before using this toolkit with TurboVision, there are a few small 
  155. patches you must apply to the TurboVision library. Then you must built
  156. a Protected mode version of the library (TVPROT.LIB).
  157.  
  158. To do this, apply the patches listed in TVPATCH.DOC, then
  159. build the protected mode library:
  160.  
  161.     SET PROT=y
  162.     make
  163.  
  164. If this all goes as it should, you should end up with TVPROT.LIB
  165.  
  166.  
  167. PARADOX DATABASE ENGINE
  168. -----------------------
  169. I have not included the source for CSDUDES, a demonstration program
  170. using the paradox database engine with turbovision, since that's 
  171. available on CompuServe, but I did include the make file and
  172. project file to build it with this toolkit.
  173.  
  174. ENHANCEMENTS THIS RELEASE
  175. -------------------------
  176. Better traceback when faults occur.
  177.  
  178. Bimodal async routines included in the loader for comm applications.
  179.  
  180. Fixes for int86 and int86x.
  181.  
  182.  
  183. KNOWN PROBLEMS
  184. --------------
  185. These are all being worked on.
  186.  
  187. This kit assumes that you have BC3.1. It will probably work alright
  188. with 3.0 or 4.0, but I haven't tried it.
  189.  
  190. The 8087 emulator still does not work.
  191.  
  192. The math library is untested.
  193.  
  194. The Paradox database engine seems to work, although I've only done cursory
  195. testing.
  196.  
  197. The memory routines (malloc(), etc...) included with this distribution
  198. are slow and clunky, although they do provide extra safety. 
  199.  
  200.  
  201.