home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / c / library / dos / tvision / dpmi / tvpatch.doc < prev   
Encoding:
Text File  |  1994-05-22  |  3.6 KB  |  157 lines

  1. These are the patches that need to be applied to build a protected
  2. mode TurboVision application (including the makefile).
  3.  
  4. These patches assume you have the version of TurboVision that comes
  5. with Borland C 3.1.
  6.  
  7.  
  8. ============================= 
  9. Comparing makefile with n:makefile 
  10. ============================= 
  11. 64 a 65
  12. > LSTDIR = $(TVDIR)\lst
  13. 66 c 67,76
  14. < .path.obj = $(OBJDIR)
  15. ---
  16. > !ifdef PROT
  17. > CPROT = -DPROTECT -2 -vi -h
  18. > APROT = -DPROTECT
  19. > OBJDIR = $(TVDIR)\pobjs
  20. > TVLIB = tvprot.lib
  21. > !else
  22. > CPROT =
  23. > APROT =
  24. > TVLIB = tv.lib
  25. > !endif
  26. 67 a 78,79
  27. > .path.obj = $(OBJDIR)
  28. 100,101 c 112,113
  29. < CFLAGS = -c $(CCOVYFLAGS) -P -O1 -m$(MODEL) -I$(INCLUDE) -n$(OBJDIR) $(CBUGFLAGS)
  30. < AFLAGS = /m$(MODEL) $(AOVYFLAGS) $(ABUGFLAGS)
  31. ---
  32. > CFLAGS = -c $(CCOVYFLAGS) -P -O1 -m$(MODEL) -I$(INCLUDE) -n$(OBJDIR) $(CBUGFLAGS) $(CPROT)
  33. > AFLAGS = /m$(MODEL) $(AOVYFLAGS) $(ABUGFLAGS) $(APROT)
  34. 272 c 284
  35. <      $(TASM) $&.asm, $(OBJDIR)\$&.obj
  36. ---
  37. >      $(TASM) $&.asm, $(OBJDIR)\$&.obj, $(LSTDIR)\$&.lst
  38. 277 c 289
  39. < all: tv.cfg dirs $(TVLIBDIR)\tv.lib
  40. ---
  41. > all: tv.cfg dirs $(TVLIBDIR)\$(TVLIB)
  42. 290 c 302,304
  43. <     echo $(CFLAGS) >tv.cfg
  44. ---
  45. >     -copy &&|
  46. > $(CFLAGS)
  47. > | tv.cfg
  48. 312,313 c 326,327
  49. < $(TVLIBDIR)\tv.lib: $(OBJS)
  50. <      del $(TVLIBDIR)\tv.lib
  51. ---
  52. > $(TVLIBDIR)\$(TVLIB): $(OBJS)
  53. >      del $(TVLIBDIR)\$(TVLIB)
  54. 315 c 329
  55. <      $(TLIB) $(LBUGFLAGS) $(TVLIBDIR)\tv.lib @$(TVDIR)\source\tvlib.rsp
  56. ---
  57. >      $(TLIB) $(LBUGFLAGS) $(TVLIBDIR)\$(TVLIB) @$(TVDIR)\source\tvlib.rsp
  58. ============================= 
  59. Comparing tscreen.cpp with n:tscreen.cpp 
  60. ============================= 
  61. 47,100 c 47
  62. < extern "C"
  63. <     extern char _protected;
  64. < #pragma warn -asc
  65. < static ushort protGetRows(void)
  66. < {
  67. <     _AX = 0x1130;
  68. <     _BH = 0;
  69. <     _DL = 0;
  70. <     if (_protected)
  71. <     {
  72. <     asm {
  73. <         PUSH ES
  74. <         PUSH DS
  75. <         PUSH DI
  76. <         PUSH SI
  77. <         PUSHF
  78. <         PUSH DX
  79. <         PUSH CX
  80. <         PUSH BX
  81. <         PUSH AX
  82. <         MOV  DX,SP
  83. <         PUSH SS
  84. <         POP  DS     /* DS:DX points to the MSB */
  85. <         MOV  BX, 8      /* only AX - DX can be changed */
  86. <         MOV  AX, 0E310h /* call int 10H in real mode */
  87. <         INT  21h
  88. <         POP  AX
  89. <         POP  BX
  90. <         POP  CX
  91. <         POP  CX
  92. <         POPF        /* flags and below were not modified by E3 */
  93. <         POP  SI
  94. <         POP  DI
  95. <         POP  DS
  96. <         POP  ES
  97. <     }
  98. <     }
  99. <     else
  100. <     {
  101. <     asm INT 10h
  102. <     }
  103. <     if (_DL == 0)
  104. <         _DL = 24;
  105. <     return _DL + 1;
  106. < }
  107. < #pragma warn .asc
  108. ---
  109. > extern "C" ushort protGetRows(void);
  110. ============================= 
  111. Comparing tvwrite.asm with n:tvwrite.asm 
  112. ============================= 
  113. 55,57 c 55,57
  114. < IFDEF 0; PROTECT
  115. <         EXTRN _MONOSEG:WORD
  116. <         EXTRN _COLRSEG:WORD
  117. ---
  118. > IFDEF PROTECT
  119. >         EXTRN _monoSeg:WORD
  120. >         EXTRN _colrSeg:WORD
  121. 215 c 215
  122. < IFDEF 0; PROTECT
  123. ---
  124. > IFDEF PROTECT
  125. 221 c 221
  126. <         CMP     SI,[_MONOSEG]
  127. ---
  128. >         CMP     SI,[_monoSeg]
  129. 225 c 225
  130. < @@P01:  CMP     SI,[_COLRSEG]
  131. ---
  132. > @@P01:  CMP     SI,[_colrSeg]
  133. ============================= 
  134. Comparing tobjstrm.cpp with n:tobjstrm.cpp 
  135. ============================= 
  136. 158 a 159,161
  137. > #ifdef PROTECT
  138. >     else if( ((char far *)o1)+1 < ((char far *)o2)+1 ) // force normalization
  139. > #else
  140. 159 a 163
  141. > #endif
  142. ============================= 
  143. Comparing tview.cpp with n:tview.cpp 
  144. ============================= 
  145. 23 a 24
  146. > #define Uses_TScreen
  147. ============================= 
  148.