home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / ENTERPRS / CPM / UTILS / A / CPM30.ARC / CPM30.APP next >
Text File  |  1991-10-05  |  30KB  |  917 lines

  1.           Program:  DDT-86
  2.           Products and Serial Numbers Affected:   CP/M-86    V1.0   C86-000-
  3.           00101 through C86-000-00252
  4.  
  5.  
  6.           Change Description:
  7.  
  8.                Two changes are introduced to DDT-86 by the  following  patch
  9.           procedure.  First,  more  than two file names can be entered using
  10.           the I command.  The first two file names are parsed into the  File
  11.           Control  Block  at 5CH and 6CH.  The entire command tail is copied
  12.           into the buffer at 80H.  Second, you can clear  the  File  Control
  13.           Block  in  your  base  page  following  an E command.  Using the I
  14.           command, programs that run with or  without  a  command  tail  can
  15.           execute properly with no specified command tail.
  16.  
  17.  
  18.           Patch Procedure:
  19.  
  20.                Make a back-up copy of DDT-86 before installing the patch  as
  21.           shown  below.  Notice  that  nnnn  is the base of the buffer where
  22.           DDT-86 reads the file.
  23.  
  24.  
  25.                   A>ddt86
  26.                   DDT86 1.0
  27.                   -rddt86.cmd
  28.                     START      END
  29.                   nnnn:0000 nnnn:377F
  30.                   -sd0d
  31.                   nnnn:0D0D 35 0
  32.                   nnnn:0D0E 1E .
  33.                   -lc22
  34.                   nnnn:0C22 CALL   0EF5
  35.                   nnnn:0C25 RET
  36.                   nnnn:0C26 JMP    033F
  37.                   -ac22
  38.                   nnnn:0C22 jmp 1230
  39.                   nnnn:0C25 .
  40.                   -a1230
  41.                   nnnn:1230 call ef5
  42.                   nnnn:1233 dec word [105b]
  43.                   nnnn:1237 jmp cf2
  44.                   nnnn:123A .
  45.                   -wddt86.cmd
  46.                   -^c
  47.                   A>
  48.  
  49.  
  50.                Licensed users are granted the right to include these changes
  51.           in CP/M-86 V1.0 software.
  52.  
  53.  
  54.  
  55.  
  56.  
  57. DL 1: f Digital Research.
  58.  
  59.  
  60.           Programs:  ASM86.COM, ASM86.CMD
  61.           Products and Serial Numbers Affected:   CP/M-86   ì
  62. áááááááááááááááááááá├P»M-╕6ááV▒.▒áforátΦeá╔BMááPer≤oεßlá├oφ≡⌡terì
  63. ááááááááááááááááááááááááááááA≡≡licßtioεáNoteá0▒¼á0┤»▓0»╕3ì
  64. áááááááááááááU≤iετátΦeá├olor»Grß≡Φic≤áAΣß≡toráwitΦáßáMoεocΦroφeáDi≤≡lßì
  65. ì
  66. áááááááááááááááááááááááá├o≡∙riτΦtááá▒9╕3áΓ∙áDiτitßlá╥e≤eßrcΦ.ì
  67. ááááááááááááááá├P»M-╕6ái≤áßáreτi≤tereΣátrßΣeφßrδáofáDiτitßlá╥e≤eßrcΦ.ì
  68. áááááááááá╔BMái≤áßáreτi≤tereΣátrßΣeφßrδáofá╔εterεßtioεßláB⌡≤iεe≤≤áMßcΦiεe≤.ì
  69. áááááááááááááááááááááááá╔BMáPer≤oεßlá├oφ≡⌡terái≤áßátrßΣeφßrδáì
  70. áááááááááááááááááááááááááofá╔εterεßtioεßláB⌡≤iεe≤≤áMßcΦiεe≤.ì
  71. ì
  72. ááááááááááProτrßφ:áá├PM.SYSì
  73. ááááááááááA≡≡licßΓleáProΣ⌡ct≤áßεΣáVer≤ioεáN⌡φΓer≤:áá├P»M-╕6ááV▒.▒ááforáátΦeì
  74. áááááááááá╔BM..Per≤oεßlá├oφ≡⌡terì
  75. ì
  76. áááááááááá├P»M-╕6áV▒.▒áforátΦeáá╔BMááP├áá≤⌡≡≡ort≤ááΓotΦáát∙≡e≤ááofááΣi≤≡lß∙ì
  77. ááááááááááiεterfßce≤ááß÷ßilßΓleááfroφá╔BM:áátΦeáφoεocΦroφe»≡ßrßllelá≡riεterì
  78. ááááááááááßΣß≡toráßεΣátΦeácolor»τrß≡Φic≤áßΣß≡tor.ááá╘Φeáá≤∙≤teφááΣeterφiεe≤ì
  79. ááááááááááwΦicΦáát∙≡eáofáΦßrΣwßreái≤áiε≤tßlleΣáΓ∙á≡erforφiετáßεá"eq⌡i≡φeεt-ì
  80. áááááááááácΦecδ"á╥╧MácßlláßεΣácoεfiτ⌡re≤áit≤elfáforátΦeáß≡≡ro≡rißteát∙≡eáofì
  81. ááááááááááΣi≤≡lß∙.áá╔fááΓotΦát∙≡e≤áofáßΣß≡tor≤áßreáßttßcΦeΣ¼átΦeáφoεocΦroφeì
  82. áááááááááácßrΣái≤ácΦo≤eεáΓ∙áΣefß⌡lt¼ááΓ⌡tátΦeácolorácßrΣáφß∙ΓeááΣ∙εßφicßll∙ì
  83. áááááááááá≤electeΣáá⌡εΣeráá≡roτrßφáácoεtrolááΓ∙áá⌡≤eááofátΦeácorrectáe≤cß≡eì
  84. áááááááááá≤eq⌡eεceá(≤eeátΦeá├P»M-╕6áforátΦeá╔BMáPer≤oεßlá├oφ≡⌡terá╧≡erßtiετì
  85. ááááááááááS∙≤teφ¼á≡.á3▒0⌐.ì
  86. ì
  87. áááááááááá┼ßcΦácΦßrßcteráΣi≤≡lß∙eΣáoεátΦeácoε≤oleáΦß≤áß≤≤ocißteΣáwitΦáitáßεì
  88. ááááááááááßttriΓ⌡teáΓ∙teátΦßtáΣeterφiεe≤áwΦetΦerátΦeácΦßrßcterái≤áΣi≤≡lß∙eΣì
  89. ááááááááááiεáεorφßl¼ááiε÷er≤e¼ááΓliεδiετ¼ááorááiεteε≤eááφoΣe¼ááß≤ááwellááß≤ì
  90. ááááááááááforeτro⌡εΣáááßεΣááΓßcδτro⌡εΣáácolorááforáácoloráá≤creeε≤.ááá├olorì
  91. ááááááááááßttriΓ⌡te≤áßreáiτεoreΣáforácΦßrßcter≤áwritteεátoáátΦeááφoεocΦroφeì
  92. áááááááááácßrΣ.ì
  93. ì
  94. áááááááááá╘Φeácolor»τrß≡Φic≤áßΣß≡torácßεáΓeá⌡≤eΣátoáiεterfßceátoáßáεoεcolorì
  95. áááááááááá├╥╘áátΦro⌡τΦáátΦeáácoφ≡o≤iteáá÷iΣeoáo⌡t≡⌡táoεátΦeácßrΣ.ááHowe÷er¼ì
  96. áááááááááá≤oφeáΓlßcδáßεΣáwΦiteáoráφoεocΦroφeáΣi≤≡lß∙≤ácoεεecteΣáiεátΦi≤áwß∙ì
  97. ááááááááááreεΣerááilleτiΓleáácΦßrßcter≤ááwΦeεáácolorááßttriΓ⌡teááΓ∙te≤ááßreì
  98. ááááááááááwritteεátoátΦeácolorácßrΣ.áá├P»M-╕6áV▒.▒áforátΦeáá╔BMááP├ááwrite≤ì
  99. ááááááááááit≤áá≤tßt⌡≤ááliεeááiεáácoloráá(liτΦtáác∙ßε⌐¼ááßεΣácΦoo≤e≤áßácolorì
  100. ááááááááááßttriΓ⌡teáá(∙ellow⌐áááforááácΦßrßcter≤áááo⌡t≡⌡táááfollowiετááátΦeì
  101. ááááááááááiεteε≤ifieΣ-φoΣeááe≤cß≡eá≤eq⌡eεceá(┼S├ár⌐.áá╔εátΦi≤ácß≤e¼ácoε≤oleì
  102. ááááááááááφoΣeá▓áφ⌡≤táΓeá≤le≡cteΣáΓ∙á⌡≤eáofáßεá"┼S├áßáá▓"áá≤eq⌡eεce.ááá╘Φi≤ì
  103. áááááááááácß⌡≤e≤áátΦeácoloráτrß≡Φic≤áßΣß≡torátoáΓeá≡roτrßφφeΣátoáΣeleteátΦeì
  104. áááááááááácoloráΓ⌡r≤tácoφ≡oεeεtáfroφáit≤á÷iΣeoá≤iτεßl.áá╘ΦreeáΓ∙te≤áφ⌡≤táΓeì
  105. áááááááááá≤eεtáátoáátΦeácoε≤oleátoá≡erforφátΦi≤átß≤δ:áá┼S├á(AS├╔╔á▒BΦ⌐¼á"ß"ì
  106. áááááááááá(AS├╔╔á6▒Φ⌐¼á"▓"á(AS├╔╔á3▓Φ⌐.ì
  107. ì
  108. áááááááááá╘Φeáá≤Φortááß≤≤eφΓl∙áálßετ⌡ßτeáá≡roτrßφááΓelowáácßεááΓeáá⌡≤eΣáátoì
  109. ááááááááááß⌡toφßticßll∙ááácoεfiτ⌡reáátΦeáácoε≤oleá≡ro≡erl∙áoεá≤tßrt-⌡≡á(≤eeì
  110. áááááááááátΦeáΣe≤cri≡tioεáofáS┼╘UP.├MD⌐.áááAácoφ≡leteáterφiεßláá≤e≤≤ioεáái≤ì
  111. ááááááááááli≤teΣááiεááwΦicΦáátΦeáá≤o⌡rceááfileáá(M╧D┼▓.A╕6⌐ái≤áeεtereΣáwitΦì
  112. áááááááááá┼D.├MD¼áß≤≤eφΓleΣáwitΦáASM╕6.├MD¼áßεΣáácoε÷erteΣáátoááßááloßΣßΓleì
  113. ááááááááááΓiεßr∙ááiφßτeááfileááwitΦááG┼N├MD.├MD.ááU≤erááeεtrie≤áßreáiεáΓolΣì
  114. áááááááááát∙≡e.ì
  115. ì
  116. ì
  117. ááááááááááA╛eΣáφoΣe▓.ß╕6ì
  118. ì
  119. ááááááááááN┼╫á╞╔╠┼ì
  120. ááááááááááááááá:á¬iì
  121. áááááááááááááá▒:áá╗M╧D┼▓.A╕6ì
  122. áááááááááááááá▓:ì
  123. áááááááááááááá3:áááááááá┼S├ááááááeq⌡áá▒ΓΦì
  124. áááááááááááááá┤:ááááááááM╧D┼áááááeq⌡áá'▓'ì
  125. áááááááááááááá5:ì
  126. áááááááááááááá6:ááorτáá▒00Φì
  127. áááááááááááááá╖:ááφo÷áá├╠¼9ì
  128. áááááááááááááá╕:ááφo÷ááΣx¼off≤etáS╘╥╔NGì
  129. áááááááááááááá9:ááiεtáá▓▓┤ì
  130. ááááááááááááá▒0:ì
  131. ááááááááááááá▒▒:ááφo÷áá├╠¼0ì
  132. ááááááááááááá▒▓:ááφo÷ááD╠¼0ì
  133. ááááááááááááá▒3:ááiεtáá▓▓┤ì
  134. ááááááááááááá▒┤:ì
  135. ááááááááááááá▒5:ááS╘╥╔NGááááΣΓááá┼S├¼'ß'¼M╧D┼¼'$'ì
  136. ááááááááááááá▒6:ì
  137. ááááááááááááá▒╖:ááeεΣì
  138. ááááááááááááá▒╕:áá▐·ì
  139. ááááááááááááááá:á¬eì
  140. ì
  141. ááááááááááA╛ß≤φ╕6áφoΣe▓ì
  142. ì
  143. áááááááááá├P»Má╕0╕6áASS┼MB╠┼╥áV┼╥á▒.▒ì
  144. áááááááááá┼NDá╧╞áPASSá▒ì
  145. áááááááááá┼NDá╧╞áPASSá▓ì
  146. áááááááááá┼NDá╧╞áASS┼MB╠Y.ááNUMB┼╥á╧╞á┼╥╥╧╥S:ááá0.ááUS┼á╞A├╘╧╥:áá0Ñì
  147. ì
  148. ááááááááááA╛τeεcφΣáφoΣe▓á╕0╕0ì
  149. ì
  150. ááááááááááBY╘┼Sá╥┼ADáááá00▒5ì
  151. áááááááááá╥┼├╧╥DSá╫╥╔╘╘┼Ná0┤ì
  152. ì
  153. ì
  154. ááááááááááA╛ì
  155. ì
  156. ì
  157. ááááááááááSelectátΦeá╞▒áo≡tioεáfroφátΦeáS┼╘UPáφeε⌡átoáiε≤tr⌡ctáátΦeáá≤∙≤teφì
  158. áááááááááátoáexec⌡teáM╧D┼▓áoεá≤tßrt⌡≡.ì
  159. ì
  160. áááááááááá╠iceε≤eΣáá⌡≤er≤ááßreááτrßεteΣáátΦeáááriτΦtááátoáááiεcl⌡ΣeááátΦe≤eì
  161. ááááááááááφoΣificßtioε≤áiεá├P»M-╕6áV▒.▒á≤oftwßre.ì
  162. ì
  163. ì
  164. ì
  165. ì
  166. ì
  167. ì
  168. ì
  169. áááááááááááááááááááá├P»M-╕6ááV▒.▒áforátΦeá╔BMááPer≤oεßlá├oφ≡⌡terì
  170. ááááááááááááááááááááááááááááA≡≡licßtioεáNoteá0▓¼á6»▒0»╕3ì
  171. ááááááááááááááááááááááááááááááDi≤ßΓliετátΦeáStßt⌡≤á╠iεeì
  172. ì
  173. áááááááááááááááááááááááá├o≡∙riτΦtááá▒9╕3áΓ∙áDiτitßlá╥e≤eßrcΦ.ì
  174. ááááááááááááááá├P»M-╕6ái≤áßáreτi≤tereΣátrßΣeφßrδáofáDiτitßlá╥e≤eßrcΦ.ì
  175. áááááááááááááááááááááASM-╕6ái≤áßátrßΣeφßrδáofáDiτitßlá╥e≤eßrcΦ.ì
  176. áááááááááá╔BMái≤áßáreτi≤tereΣátrßΣeφßrδáofá╔εterεßtioεßláB⌡≤iεe≤≤áMßcΦiεe≤.ì
  177. áááááááááááááááááááááááá╔BMáPer≤oεßlá├oφ≡⌡terái≤áßátrßΣeφßrδì
  178. áááááááááááááááááááááááááofá╔εterεßtioεßláB⌡≤iεe≤≤áMßcΦiεe≤.ì
  179. ááááááááááááááááááááááááááááááááá├oφ≡ileΣá╩⌡εeá▒9╕3ì
  180. ì
  181. ì
  182. ááááááááááA≡≡licßΓleáProΣ⌡ct≤áßεΣáVer≤ioεáN⌡φΓer≤:áá├P»M-╕6ááV▒.▒ááforáátΦeì
  183. áááááááááá╔BM..Per≤oεßlá├oφ≡⌡terì
  184. ì
  185. áááááááááá╘Φi≤áiφ≡leφeεtßtioεáofá├P»M-╕6áV▒.▒áá≤⌡≡≡ort≤ááßáácoε≤oleááStßt⌡≤ì
  186. ááááááááááliεe¼ááwΦicΦááre≡ort≤áác⌡rreεtáá⌡≤eráε⌡φΓer¼átiφe-of-Σß∙¼áΣß∙-of-ì
  187. áááááááááá∙eßr¼áßεΣátΦeáεßφeáofátΦeáfileátΦßtái≤ááΓeiετáá≡roce≤≤eΣááΓ∙áátΦeì
  188. ááááááááááP╥╔N╘.├MDá≤≡ooler.áá╘Φeáiεforφßtioεái≤á⌡≡ΣßteΣáoεceáßá≤ecoεΣ¼áßεΣì
  189. áááááááááátΦeá├PUáo÷erΦeßΣááiε÷ol÷eΣááwitΦááeßcΦáá⌡≡Σßteáái≤áále≤≤áátΦßεáá┤ì
  190. ááááááááááφilli≤ecoεΣ≤.ì
  191. ì
  192. ááááááááááSoφeácoφφ⌡εicßtioε≤á≤oftwßreáφiτΦtáΣe≤ireááΣßtßáátrßε≤φi≤≤ioεááßtì
  193. áááááááááárßte≤áátΦßtááwo⌡lΣááεotááßllowáá≤⌡cΦáo÷erΦeßΣ.áá╔εátΦi≤ácß≤e¼átΦeì
  194. áááááááááá≤tßt⌡≤áliεeácßεáΓeáΣi≤ßΓleΣáwΦileátΦeácoφφ.áá≡roτrßφáái≤ááßcti÷e¼ì
  195. áááááááááátΦeεááreeεßΓleΣááwΦeεáátΦeáá≡roτrßφááterφiεßte≤.áá╘Φi≤ái≤áΣoεeáΓ∙ì
  196. áááááááááá≡oiεtiετátΦeáΣo⌡Γle-worΣá÷ectoráforáiεterr⌡≡tá▒├Φátoáßε∙álocßtioεì
  197. ááááááááááiεááφeφor∙áátΦßtácoεtßiε≤áßáΓ∙teáwitΦátΦeá÷ßl⌡eá├╞Φ.áá╘Φi≤ái≤átΦeì
  198. ááááááááááo≡coΣeáforáßεá╕0╕6»╕╕áá╔╥┼╘ááiε≤tr⌡ctioε.ááá╘Φ⌡≤¼ááßfteráá≤⌡cΦááßì
  199. áááááááááá≤witcΦááái≤ááφßΣe¼áá≤⌡Γ≤eq⌡eεtáá▒-≤ecoεΣááiεterr⌡≡t≤ááßreáá≤iφ≡l∙ì
  200. ááááááááááterφiεßteΣáwitΦáεoá≤tßt⌡≤áliεeá≡roce≤≤iετ.ì
  201. ì
  202. áááááááááá╘Φeáfollowiετái≤áßá≡roτrßφáwritteεáiεáASM-╕6áááß≤≤eφΓl∙áálßετ⌡ßτeì
  203. áááááááááátΦßtáΣeφoε≤trßte≤átΦi≤áφetΦoΣ.áá╘Φi≤á≡roτrßφ¼áwΦeεáiε÷oδeΣáßtátΦeì
  204. áááááááááá├├Pále÷el¼átoττle≤áátΦeáá≤tßt⌡≤ááliεeááeεßΓleφeεt¼áátΦßtáái≤¼ááitì
  205. ááááááááááeεßΓle≤áifáΣi≤ßΓleΣáßεΣáΣi≤ßΓle≤áifáeεßΓleΣ.ì
  206. ì
  207. ì
  208. áááááááááá╗S╘A╘US.A╕6ì
  209. áááááááááá╗¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ì
  210. áááááááááá╗áProτrßφátoátoττleátΦeá≤tßt⌡≤áliεeá⌡≡Σßte¼á├P»M-╕6á÷▒.▒áforátΦeá╔BMáP├ì
  211. áááááááááá╗áfroφáDiτitßlá╥e≤eßrcΦ¼á╔εc.ì
  212. áááááááááá╗á├oφφßεΣáfileáτeεerßtioε:ì
  213. áááááááááá╗áááááááááááááááASM╕6áS╘A╘USì
  214. áááááááááá╗áááááááááááááááG┼N├MDáS╘A╘USá╕0╕0ì
  215. áááááááááá╗¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ì
  216. ì
  217. áááááááááá╔N╘_NUMáááááááááeq⌡ááááá▒├Φáááááááááááá╗"⌡≤er"á╘╧Dáiεterr⌡≡táε⌡φΓerì
  218. áááááááááá╔N╘_ADD╥ááááááááeq⌡ááááá╔N╘_NUMá¬á┤áááá╗off≤etáofá÷ectorì
  219. ááááááááááP╥N╘_S╘╥ááááááááeq⌡ááááá9áááááááááááááá╗BD╧Sá≡riεt-≤triετáf⌡εctioεì
  220. ááááááááááBD╧Sááááááááááááeq⌡ááááá▓▓┤ì
  221. ááááááááááY┼S_╧╞╞áááááááááeq⌡ááááá0▓┼┤AΦááááááááá╗÷ectoráoff≤etáforáεorφßlá⌡≡Σßteì
  222. ááááááááááY┼S_S┼Gáááááááááeq⌡ááááá0005▒Φááááááááá╗÷ectorá≤eτφeεtá"áááá"áááááá"ì
  223. ááááááááááN╧_╧╞╞ááááááááááeq⌡ááááá0╞┼╞▓Φááááááááá╗÷ectoráoff≤etáofá╔╥┼╘áiεá╥╧Mì
  224. ááááááááááN╧_S┼Gááááááááááeq⌡ááááá0╞000Φááááááááá╗÷ectorá≤eτφeεtá"áá"ááá"áá"ì
  225. ì
  226. ááááááááááááááááááorτááááá▒00Φáááááááááááá╗╕0╕0áφoΣelì
  227. ì
  228. ááááááááááááááááááxoráááááßx¼ßxááááááááááá╗≡oiεtá┼Sáßtáiεterr⌡≡tá÷ector≤ì
  229. ááááááááááááááááááφo÷ááááá┼S¼ßxì
  230. ááááááááááááááááááφo÷áááááΣi¼╔N╘_ADD╥ááááá╗D╔áßtáß≡≡ro≡rißteá÷ectorì
  231. ì
  232. ááááááááááááááááááφo÷ááááá≤i¼off≤etáY┼S_S╘A╘USááááá╗≡re≡ßreáforá≡o≤≤iΓleáj⌡φ≡ì
  233. ááááááááááááááááááφo÷áááááΣx¼off≤etáMSG_Yì
  234. ì
  235. áááááááááááááááááácφ≡ááááá┼S:█Σi▌¼Y┼S_╧╞╞áááááááááá╗cΦecδáforá≡re≤eεtá÷ßl⌡eì
  236. áááááááááááááááááájε·áááááS╫╔╘├Hááááááááááááááááááá╗j⌡φ≡áifátΦeá≤tßt⌡≤áliεeái≤ì
  237. ááááááááááááááááááááááááááááááááááááááááááááááááááá╗Σi≤ßΓleΣì
  238. ì
  239. ááááááááááááááááááφo÷ááááá≤i¼off≤etáN╧_S╘A╘USì
  240. ááááááááááááááááááφo÷áááááΣx¼off≤etáMSG_Nì
  241. ì
  242. ááááááááááS╫╔╘├H:ì
  243. ááááááááááááááááááclΣááááááááááááááááááááá╗forwßrΣáΣirectioεì
  244. áááááááááááááááááácliááááááááááááááááááááá╗Σi≤ßΓleáiεterr⌡≡t≤áforátΦeá≤witcΦì
  245. ááááááááááááááááááφo÷≤wì
  246. ááááááááááááááááááφo÷≤wì
  247. áááááááááááááááááá≤tiì
  248. ì
  249. ááááááááááááááááááφo÷ááááácl¼P╥N╘_S╘╥ááááá╗≡riεtátΦeáφe≤≤ßτeì
  250. ááááááááááááááááááiεtáááááBD╧Sì
  251. ì
  252. ááááááááááááááááááxorááááácl¼clááááááááááá╗Σoá≤∙≤teφáre≤etì
  253. ááááááááááááááááááxoráááááΣl¼Σlì
  254. ááááááááááááááááááiεtáááááBD╧Sì
  255. ì
  256. ááááááááááY┼S_S╘A╘USááááááΣwááááááY┼S_╧╞╞á╗εorφßlá÷ßl⌡eì
  257. ááááááááááááááááááááááááááΣwááááááY┼S_S┼Gì
  258. ááááááááááN╧_S╘A╘USáááááááΣwááááááN╧_╧╞╞áá╗╔╥┼╘áiε≤tr⌡ctioεì
  259. ááááááááááááááááááááááááááΣwááááááN╧_S┼Gì
  260. ì
  261. ááááááááááMSG_YáááááááááááΣΓáááááá0ΣΦ¼0ßΦ¼'S╘A╘USá⌡≡ΣßteáeεßΓleΣ.$'ì
  262. ááááááááááMSG_NáááááááááááΣΓáááááá0ΣΦ¼0ßΦ¼'S╘A╘USá⌡≡ΣßteáΣi≤ßΓleΣ.$'ì
  263. ì
  264. ì
  265. ì
  266. áááááááááááááááááá┼NDì
  267. ì
  268. ì
  269. áááááááááá╠iceε≤eΣá⌡≤er≤áßreáτrßεteΣátΦeáriτΦtátoáiεcl⌡ΣeátΦe≤eácΦßετe≤ááiεì
  270. áááááááááá├P»M-╕6áV▒.▒áforátΦeá╔BMáP├á≤oftwßre.ì
  271. ì
  272. ì
  273. ì
  274. ì
  275. ááááááááááááááááááááá├P»M-╕6áV.▒.▒áforì
  276. ááááááááááááááááááááááááá╔BMáP├áßεΣáP├╪╘ì
  277. áááááááááááááááááááááááA≡≡licßtioεáNoteá0┤ì
  278. ááááááááááááááááááááá┼ßrl∙áiAP╪á╕0╕╕áProΓleφì
  279. ì
  280. áì
  281. áááááááááááá├o≡∙riτΦtá▒9╕┤áΓ∙áDiτitßlá╥e≤eßrcΦ¼á╔εc.ì
  282. ááá├P»M-╕6ái≤áßáreτi≤tereΣátrßΣeφßrδáofáDiτitßlá╥e≤eßrcΦ¼á╔εc.ì
  283. ááááááááááááá╔BMáPer≤oεßlá├oφ≡⌡terái≤áßátrßΣeφßrδáofì
  284. ááááááááááááááááá╔εterεßtioεßláB⌡≤iεe≤≤áMßcΦiεe≤ì
  285. ááááááááááiAP╪á╕0╕╕¼á╔εtelái≤áßáreτi≤tereΣátrßΣeφßrδáofì
  286. áááááááááááááááááááááááá╔εtelá├or≡orßtioεì
  287. ááááááááááááááááááááááá├oφ≡ileΣáMßrcΦá▒9╕┤ì
  288. ì
  289. ì
  290. A≡≡licßΓleáProΣ⌡ct≤áßεΣá╥eleß≤eáN⌡φΓer≤:ááá├P»M-╕6ááV.▒.▒áforátΦeáì
  291. ╔BMáP├áßεΣáP├╪╘.ì
  292. ì
  293. ┼ßrl∙áá╔εteláá╕0╕╕ááφicro≡roce≤≤orácΦi≡≤áΦß÷eáßεááoΓ≤c⌡reááΣe≤iτεáì
  294. ≡roΓleφáátΦßtácßεácß⌡≤eá⌡εex≡ecteΣáφeφor∙áwrite≤áifáßεááiεterr⌡≡táì
  295. occ⌡r≤ááwΦeεátΦeá≤tßcδái≤áφo÷eΣ.ááá╔tátßδe≤átwoááiε≤tr⌡ctioε≤áátoáì
  296. loßΣáátΦeáStßcδáSeτφeεt:StßcδáPoiεterá(SS:SP⌐áreτi≤terá≡ßir¼ááßεΣáì
  297. ifáßεáiεterr⌡≡tái≤áßcδεowleΣτeΣáßfterátΦeá≤tßcδá≤eτφeεtái≤áloßΣeΣáì
  298. ßεΣáΓeforeátΦeá≤tßcδá≡oiεterái≤áloßΣeΣ¼átΦeáiεterr⌡≡tá≤tßt⌡≤áwilláì
  299. Γeá"≡⌡≤ΦeΣ"átoáßεáßrΓitrßr∙á≡lßceáwitΦáiεΣeterφiεßteáre≤⌡lt≤.ááì
  300. ì
  301. ╔tái≤árecoφφeεΣeΣátΦßtáßlláiAP╪á╕╕»╕6á≤oftwßreáΣi≤ßΓleáiεterr⌡≡t≤áì
  302. ≡rioráátoáΣoiετá≤tßcδáloßΣ≤.ááá╘Φeáfollowiετái≤áßááre≡re≤eεtßti÷eáì
  303. ≤ßφ≡leáofáßácoΣeá≤eq⌡eεceáwΦicΦáwilláßccoφ≡li≤ΦátΦi≤:ì
  304. ì
  305. ì
  306. áááááφo÷áááááááΓx¼εew_≤tßcδ_≤eτφeεtáìo
  307. ááááá≡⌡≤Φfááááááááááááááááááááááááá╗á≤ß÷eáolΣáiεterr⌡≡táflßτì
  308. ááááá≡o≡áááááááßxáááááááááááááááááá╗áiεtoáA╪áì
  309. ááááácliááááááááááááááááááááááááááá╗áΣi≤ßΓleáiεterr⌡≡t≤ì
  310. ì
  311. áááááφo÷áááááááSS¼Γxááááááááááááááá╗átΦe≤eátwoáiε≤tr⌡ctioε≤áì
  312. áááááφo÷áááááááSP¼εew_≤tßcδ_≡oiεter╗áφ⌡≤táΓeácoεtiτ⌡o⌡≤.ì
  313. ì
  314. ááááá≡⌡≤Φááááááßxáááááááááááááááááá╗á≡lßceáflßτ≤áiεáεewá≤tßcδì
  315. ááááá≡o≡fáááááááááááááááááááááááááá╗á≤oáweácßεì
  316. ááááá≤tiááááááááááááááááááááááááááá╗áre≤toreáiεterr⌡≡táflßτì
  317. ì
  318. ì
  319. Noε-φß≤δßΓleáá╔εterr⌡≡t≤áá(NM╔⌐áácßεá≤tillááocc⌡r¼ááß≤áácßεáátrßceáì
  320. iεterr⌡≡t≤áτeεerßteΣáΓ∙átΦeáΣeΓ⌡ττer≤á⌡≤iετátΦeá╘╥APáflßτ.ì
  321. ì
  322. ╘Φeáá├PUáácΦi≡≤áwereáfixeΣá≤oφeátiφeáßτoáá(▒╤¼áá▒9╕0⌐.ááá╘Φeááεewáì
  323. i╕0╕╕'≤ááφß≤δááA╠╠áiεterr⌡≡t≤áß⌡toφßticßll∙áforááoεeááiε≤tr⌡ctioεáì
  324. followiετáßε∙á≤eτφeεtáreτi≤teráloßΣ.ì
  325. ì
  326. i╕0╕╕ácΦi≡≤áwitΦá"(├⌐á╔N╘┼╠á'╖╕"áΦß÷eátΦeá≡roΓleφ.ì
  327. i╕0╕╕ácΦi≡≤áwitΦá"(├⌐á╔N╘┼╠á'╖9¼á'╖9"áΦß÷eáΓeeεáfixeΣ.ì
  328. ì
  329. ì
  330. Alláá╔BMáP├'≤áßεΣáP├╪╘'≤á≤Φi≡≡eΣá≡riorátoátΦeáφiΣΣleáofá▒9╕3á≤eeφáì
  331. toááΦß÷eátΦeá╧╠Dá÷er≤ioεáofátΦeá╕0╕╕áßεΣáwilláΦß÷eáátΦeáá≡roΓleφ.ááì
  332. ╔tái≤á≡o≤≤iΓleátΦßtátΦe∙áßreá≤tillá≤Φi≡≡iετáφßcΦiεe≤áwitΦátΦeáolΣáì
  333. cΦi≡.ì
  334. ì
  335. ╠iceε≤eΣááá⌡≤er≤áááßreááτrßεteΣáátΦeááriτΦtáátoáááiεcl⌡ΣeááátΦe≤eáì
  336. φoΣificßtioε≤áiεátΦeiráDiτitßlá╥e≤eßrcΦá≤oftwßre.ì
  337. ì
  338. ì
  339. ì
  340. ì
  341. ì
  342. ááááááááááááááááááááááá├P»M-╕6áV.▒.▒áforì
  343. ááááááááááááááááááááááááá╔BMáP├áßεΣáP├╪╘ì
  344. áááááááááááááááááááááááA≡≡licßtioεáNoteá05ì
  345. ááááááááááááááááááááááá╞lo≡≡∙áDi≤δá╞orφßtì
  346. ì
  347. ì
  348. áááááááááááá├o≡∙riτΦtá▒9╕┤áΓ∙áDiτitßlá╥e≤eßrcΦ¼á╔εc.ì
  349. ááá├P»M-╕6ái≤áßáreτi≤tereΣátrßΣeφßrδáofáDiτitßlá╥e≤eßrcΦ¼á╔εc.ì
  350. ááááááááááááá╔BMáPer≤oεßlá├oφ≡⌡terái≤áßátrßΣeφßrδáofì
  351. ááááááááááááááááá╔εterεßtioεßláB⌡≤iεe≤≤áMßcΦiεe≤ì
  352. ááááááááááááááááááááááá├oφ≡ileΣáMßrcΦá▒9╕┤ì
  353. ì
  354. ì
  355. A≡≡licßΓleáProΣ⌡ct≤áßεΣá╥eleß≤eáN⌡φΓer≤:áááá├P»M-╕6áV.▒.▒áforátΦeáì
  356. ╔BMáP├áßεΣáP├╪╘.ì
  357. ì
  358. ì
  359. ╘Φeáá╔BMááP├áá╞lo≡≡∙áDi≤δáDri÷eácßεáΓeáeitΦeráßááSiετleáá(SS⌐ááoráì
  360. Do⌡Γleá(DS⌐á≤iΣeΣ¼áΣo⌡ΓleáΣeε≤it∙¼á┤0átrßcδá≡erá≤iΣeá⌡εit.áá╔tái≤áì
  361. cß≡ßΓleááofááreßΣiετááßεΣáárecorΣiετááΣßtßáá⌡≤iετáátΦeáááMoΣifieΣáì
  362. ╞req⌡eεc∙ááMoΣ⌡lßtioεáá(M╞M⌐ááφetΦoΣ.ááááAΣΣitioεßláááiεforφßtioεáì
  363. reτßrΣiετáátΦeáá≤≡ecific≤áofátΦeá╔BMá╞lo≡≡∙áDi≤δáá├oεtrollerááßεΣáì
  364. ╞lo≡≡∙ááDi≤δááAΣß≡teráácßεáΓeáfo⌡εΣáiεá├Φß≡terá▓áofáátΦeáá╔BMááP├áì
  365. ╘ecΦεicßlá╥efereεceáMßε⌡ßl.ì
  366. ì
  367. áááááì
  368. ááááá╘ΦeáΣri÷eácΦßrßcteri≤tic≤áßreáß≤áfollow≤:ì
  369. ì
  370. áááááSiετleáSiΣeΣáDri÷e:ì
  371. ááááá▒¼▓┤╕:á▒▓╕ááB∙teáá╥ecorΣáá├ß≡ßcit∙ì
  372. ááááááá▒56:áKiloΓ∙teááDri÷eá├ß≡ßcit∙ì
  373. áááááááá6┤:á3▓áB∙teáDirector∙á┼εtrie≤ì
  374. áááááááá6┤:á├ΦecδeΣáDirector∙á┼εtrie≤ì
  375. ááááááá▒▓╕:á▒▓╕áB∙teá╥ecorΣ≤á»áDirector∙á┼εtr∙ì
  376. ááááááááá╕:á▒▓╕áB∙teá╥ecorΣ≤á»áBlocδì
  377. áááááááá3▓:á▒▓╕áB∙teá╥ecorΣ≤á»á╘rßcδì
  378. ááááááááá▒:á╥e≤er÷eΣá╘rßcδì
  379. ì
  380. áááááDo⌡ΓleáSiΣeΣáDri÷e:ì
  381. ááááá▓¼5▓╕:á▒▓╕ááB∙teáá╥ecorΣáá├ß≡ßcit∙ì
  382. ááááááá3▒6:áKiloΓ∙teááDri÷eá├ß≡ßcit∙ì
  383. áááááááá6┤:á3▓áB∙teáDirector∙á┼εtrie≤ì
  384. áááááááá6┤:á├ΦecδeΣáDirector∙á┼εtrie≤ì
  385. ááááááá▓56:á▒▓╕áB∙teá╥ecorΣ≤á»áDirector∙á┼εtr∙ì
  386. áááááááá▒6:á▒▓╕áB∙teá╥ecorΣ≤á»áBlocδì
  387. áááááááá3▓:á▒▓╕áB∙teá╥ecorΣ≤á»á╘rßcδì
  388. ááááááááá▒:á╥e≤er÷eΣá╘rßcδì
  389. ì
  390. ááááá╞orφßtá├Φßrßcterá:á┼5Hì
  391. ì
  392. áááááPΦ∙≤icßlá╘rßcδ≤:ááááDo⌡ΓleáSiΣeΣááááááááSiετleáSiΣeΣì
  393. ì
  394. ááááááááááááááááááááááááááá0á--╛á39áááááááááááá0á--╛á39ì
  395. ááááááááááááááááááááááááááá0á--╛á39áááááááááááá_________ì
  396. ì
  397. ááááá╠oτicßlá╘rßcδ≤:ááááááá0á--╛á39áááááááááááá0á--╛á39ì
  398. áááááááááááááááááááááááááá╖9á<--á┤0áááááááááááá--------ì
  399. ì
  400. ì
  401. ì
  402. ì
  403. áááááDi≤δáPßrßφeteráBlocδ:ì
  404. ì
  405. áááááááááááááááááááááááááááDo⌡ΓleáSiΣeΣáááááááSiετleáSiΣeΣì
  406. ì
  407. ááááááááááSP╘ááááááááááááááááá00▓0áááááááááááááááá00▓0ì
  408. ááááááááááBSHááááááááááááááááááá0┤áááááááááááááááááá03ì
  409. ááááááááááB╠Mááááááááááááááááááá0╞áááááááááááááááááá0╖ì
  410. áááááááááá┼╪Mááááááááááááááááááá0▒áááááááááááááááááá00ì
  411. ááááááááááDSMááááááááááááááááá009Dáááááááááááááááá009Bì
  412. ááááááááááD╥Mááááááááááááááááá003╞áááááááááááááááá003╞ì
  413. ááááááááááA╠0ááááááááááááááááááá╕0áááááááááááááááááá├0ì
  414. ááááááááááA╠▒ááááááááááááááááááá00áááááááááááááááááá00ì
  415. áááááááááá├KSááááááááááááááááá00▒0áááááááááááááááá00▒0ì
  416. áááááááááá╧╞╞ááááááááááááááááá000▒áááááááááááááááá000▒ì
  417. ì
  418. ╞╔┼╠DáááááááááááááááááááááááááD┼╞╔N╔╘╔╧Nì
  419. ì
  420. SP╘ááááááá╘otßláε⌡φΓeráofáSector≤áPerá╘rßcδì
  421. ì
  422. BSHáááááááDßtßáßllocßtioεáBlocδáSΦiftá╞ßctor¼ááΣeterφiεeΣáΓ∙átΦeáì
  423. ááááááááááΣßtßáΓlocδáßllocßtioεá≤i·eì
  424. ì
  425. B╠MáááááááBlocδáMß≤δáwΦicΦái≤áßl≤oáΣeterφiεeΣáΓ∙átΦeáΣßtßááΓlocδáì
  426. ááááááááááßllocßtioεá≤i·eì
  427. ì
  428. ┼╪Mááááááá┼╪teεtáMß≤δ¼ááΣeterφiεeΣáΓ∙átΦeáΣßtßáΓlocδááßllocßtioεáì
  429. áááááááááá≤i·eáßεΣátΦeáε⌡φΓeráofáΣi≤δáΓlocδ≤ì
  430. ì
  431. DSMáááááááMßxiφ⌡φáε⌡φΓeráofáDßtßáΓlocδ≤áS⌡≡≡orteΣ¼ááΣeterφiεeΣátΦeááááááááááì
  432. áááááááááátotßláá≤torßτeáácß≡ßcit∙áofátΦeáΣi≤δáΣri÷eáφeß≤⌡reΣáiεáB╠Sááááááááááááì
  433. áááááááááá(ΣßtßáßllocßtioεáBlocδáSi·e⌐á⌡εit≤áì
  434. ì
  435. D╥MáááááááMßxiφ⌡φáε⌡φΓeráofáDi╥ector∙áeεtrie≤áforátΦeáΣri÷eì
  436. ì
  437. A╠0áááááááΣeterφiεeáre≤er÷eΣá(A╠locßteΣ⌐áΣirector∙áΓlocδ≤ì
  438. A╠▒ì
  439. ì
  440. ├KSáááááááSi·eáofátΦeáΣirector∙á├ΦecKá÷ectorì
  441. ì
  442. ╧╞╞ááááááá╧╞╞≤etáfroφátΦeáΓeτiεεiετáofátΦeáá≡Φ∙≤icßlááΣi≤δ¼áátΦeáì
  443. ááááááááááε⌡φΓeráofáre≤er÷eΣátrßcδ≤áßtátΦeáΓeτiεεiετáofátΦeì
  444. ááááááááááΣi≤δì
  445. ì
  446. ì
  447. ╘Φeáá÷ßl⌡e≤ááofááBSHááßεΣáB╠MááΣeterφiεeáá(iφ≡licitl∙⌐áátΦeááΣßtßáì
  448. ßllocßtioεá≤i·eáB╠S¼ááwΦicΦái≤áεotáßεáeεtr∙áiεátΦeáDi≤δáPßrßφeteráì
  449. Blocδáá(DPB⌐.ááá╞orátΦeá÷ßl⌡e≤áli≤teΣáßΓo÷eátΦeáB╠Sái≤áá▓0┤╕ááßεΣáì
  450. ▒0▓┤¼áre≤≡ecti÷el∙áforátΦeáΣo⌡ΓleáßεΣá≤iετleá≤iΣeΣáΣri÷e.ì
  451. ì
  452. ╘Φeá≡roΣ⌡ctáofáB╠Sá¬á(DSM+▒⌐ái≤átΦeátotßláε⌡φΓeráofáΓ∙te≤áΦelΣáΓ∙áì
  453. tΦeááΣri÷eááßεΣ¼ááofááco⌡r≤eáφ⌡≤táΓeáwitΦiεátΦeácß≡ßcit∙ááofáátΦeáì
  454. ≡Φ∙≤icßláΣi≤δ¼áεotáco⌡εtiετátΦeáre≤er÷eΣáo≡erßtiετá≤∙≤teφátrßcδ≤.ááì
  455. ì
  456. ╘ΦeááD╥Mááeεtr∙ái≤áoεeále≤≤átΦßεátΦeátotßlááε⌡φΓerááofááΣirector∙áì
  457. eεtrie≤¼áwΦicΦácßεátßδeáoεáßá▒6-Γitá÷ßl⌡e.áá╘Φeá÷ßl⌡e≤áofáA╠0áßεΣáì
  458. Al▒¼ááΦowe÷er¼áßreáΣeterφiεeΣáΓ∙áD╥M.áá╘Φeátwoá÷ßl⌡e≤áA╠0áßεΣáA╠▒áì
  459. cßεáátoτetΦerááΓeácoε≤iΣereΣáßá≤triετáofá▒6-Γit≤ááε⌡φΓereΣáá00-▒5áì
  460. (leftáátoáriτΦt⌐.ááá┼ßcΦáΓitá≡o≤itioεáre≤er÷e≤áßáΣßtßáΓlocδáforáßáì
  461. ε⌡φΓeráofáΣirector∙áeεtrie≤á(Γit≤áßreáß≤≤iτεeΣá≤tßrtiετáßtá00áßεΣáì
  462. filleΣáátoátΦeáriτΦt⌐.ááá┼ßcΦáΣirector∙áeεtr∙áocc⌡≡ie≤á3▓ááΓ∙te≤¼áì
  463. tΦ⌡≤ááforá6┤áΣirector∙áeεtrie≤á▒áΓitái≤á≤etáforátΦeáΣo⌡Γleáá≤iΣeΣáì
  464. Σri÷eá(B╠Sá╜á▓0┤╕⌐áßεΣá▓áΓit≤áßreá≤etáforá≤iετleá≤iΣeΣáΣri÷eá(B╠Sáì
  465. ╜á▒0▓┤⌐.ì
  466. ì
  467. ╘Φeá├KSá÷ßl⌡eái≤áΣeterφiεeΣáß≤áfollow≤:ì
  468. ì
  469. ├KSá╜á(D╥M+▒⌐»┤¼áwΦereáD╥Mái≤átΦeálß≤táΣirector∙áeεtr∙áε⌡φΓer.ì
  470. ì
  471. ì
  472. ╘Φi≤ááA≡≡licßtioεáNoteáwß≤áΣe÷elo≡eΣáßεΣáte≤teΣáΓ∙áD╥╔áá╘ecΦεicßláì
  473. S⌡≡≡ortáá⌡≤iετá≤tßεΣßrΣáD╥╔á≡roΣ⌡ct≤.áááMoΣificßtioε≤áreq⌡ireΣátoáì
  474. iφ≡leφeεtááá⌡εΣerááεoε-≤tßεΣßrΣááorááεoε-D╥╔áá≡roΣ⌡ct≤ááßreááátΦeáì
  475. re≤≡oε≤iΓilit∙ááofátΦeá⌡≤er¼ááß≤áßreáφoΣificßtioε≤á≤≡ecificátoááßáì
  476. τi÷eεáß≡≡licßtioε.ì
  477. ì
  478. D╥╔áá≤≡ecificßll∙ááΣi≤clßiφ≤áßε∙áex≡re≤≤áoráiφ≡lieΣáwßrrßεt∙ááßεΣáì
  479. ≤ΦßllááεotáΓeálißΓleáforáßε∙álo≤≤áofá≡rofit≤¼áálo≤≤áofááΓ⌡≤iεe≤≤¼áì
  480. lo≤≤ááofáá⌡≤eááoráofáΣßtß¼ááiεterr⌡≡tioεááofááΓ⌡≤iεe≤≤¼ááεorááforáì
  481. iεΣirect¼áá≤≡ecißl¼ááiεciΣeεtßl¼ááorácoε≤eq⌡eεtißláΣßφßτe≤áofáßε∙áì
  482. δiεΣácß⌡≤eΣáΓ∙átΦeá⌡≤eáoráßΣß≡tßtioεáofátΦi≤áß≡≡licßtioεáεote.ì
  483. ì
  484. ╠iceε≤eΣááá⌡≤er≤áááßreááτrßεteΣáátΦeááriτΦtáátoáááiεcl⌡ΣeááátΦe≤eáì
  485. φoΣificßtioε≤áiεátΦeiráDiτitßlá╥e≤eßrcΦá≤oftwßre.ì
  486. ì
  487. ì
  488.    0108fh  ;new allocation routine
  489.           /;
  490.                   org     divmeml
  491.           divmem:
  492.                   org     new_allocationf
  493.           new_allocation:
  494.           ;
  495.           ;
  496.                   org     patjumpd
  497.                   call    bdosmod3
  498.           ;
  499.                   org     patoffsetd
  500.           bdosmod3:
  501.                   call    new_allocation
  502.                   jmp     divmem
  503.           ;
  504.                   end
  505.  
  506.  
  507.                The following procedure demonstrates the  use  of  DDT-86  to
  508.           make  corrections to the CP/M-86 CCP and BDOS.  Notice the nnnn is
  509.           the segment address of the DDT-86 Read buffer.
  510.  
  511.                   A>ddt86
  512.                   DDT86 1.0
  513.                   -rcpm.sys
  514.                     START      END
  515.                   nnnn:0000 nnnn:29FF
  516.                   -a866
  517.                   nnnn:0866 call a20
  518.                   nnnn:0869 nop
  519.                   nnnn:086A nop
  520.                   nnnn:086B .
  521.                   -aa20
  522.    
  523.  
  524.  
  525.  
  526.  
  527.  
  528.                                      CP/M-86  V1.1
  529.                                 Patch 01, BDOS, 3/03/82
  530.  
  531.                           Copyright   1982 by Digital Research
  532.                  CP/M-86 is a registered trademark of Digital Research.
  533.                        DDT-86 is a trademark of Digital Research.
  534.  
  535.  
  536.           Program:  CPM.SYS, CPM.H86
  537.           Products and Serial Numbers Affected:  CP/M-86   V1.1  C86-000-00746 
  538.           through C86-000-00900
  539.  
  540.  
  541.           Change Description:
  542.  
  543.                The following  patch  procedure  modifies  CPM.SYS  for  proper 
  544.           execution of the Chain Command Function.  (Function 47)
  545.  
  546.  
  547.           Patch Procedure:
  548.  
  549.                Make a back-up copy of CPM.SYS before using  DDT-86    to  make 
  550.           the following changes:
  551.  
  552.  
  553.                   A>ddt86
  554.                   -rcpm.sys
  555.                     START         END
  556.                   nnnn:0000        nnnn:397F
  557.                   -xcs
  558.                   CS 0000 nnnn+8  ;The effect of the register
  559.                   DS 0000 nnnn+8  ;change is to set all segment
  560.                   SS 0040 nnnn+8  ;registers to the beginning of
  561.                   ES 0000 nnnn+8  ;the program. (above the base page)
  562.                   IP 0000
  563.                   -a21e6
  564.                   nnnn+8 21E6 stosb
  565.                   nnnn+8 21E7 or al,al
  566.                   nnnn+8 21E9 jz 21ed
  567.                   nnnn+8 21EB .
  568.                   -a21f1
  569.                   nnnn+8 21F1 pop ds
  570.                   nnnn+8 21F2 mov [000a],al
  571.                   nnnn+8 21F5 .
  572.                   -wcpm.sys
  573.                   -^c
  574.                   A>
  575.  
  576.  
  577.                Or, you can assemble  the  following  code  file  (F47.A86)  to 
  578.           create  F47.H86.  Then,  concatenate CPM.H86, TBIOS.H86, and F47.H86 
  579.           using the following PIP command:
  580.  
  581.                   A>PIP CPMX.H86=CPM.H86,TBIOS.H86,F47.H86
  582.  
  583.  
  584.  
  585.           All Information Presented Here is Proprietary to Digital Research
  586.  
  587.                                           1
  588.  
  589.  
  590.  
  591.           CP/M-86 V1.1                                             Patch 01
  592.  
  593.  
  594.                Next, create a new command  (.CMD)  file  using  the  following 
  595.           GENCMD command line:
  596.  
  597.                   A>GENCMD CPMX 8080 code[a40].
  598.  
  599.                Then, rename the new CPMX.CMD file CPM.SYS using the  following 
  600.           commands:
  601.  
  602.                   ERA CPM.SYS
  603.                   REN CPM.SYS=CPMX.CMD
  604.  
  605.  
  606.           F47.A86 Code File
  607.  
  608.  
  609.                   Title   'F47 - Patch for CPM-86 Function'
  610.  
  611.                   Patch_1 Equ     21E6H           ; Location of first patch
  612.                   Patch_2 Equ     21F1H           ; Location of second patch
  613.  
  614.                   F472    Equ 21EDH
  615.                                   
  616.                   CCp_buff_len    Equ     Byte ptr .0AH
  617.  
  618.                           Cseg    $
  619.                           Org     F472
  620.                   Func472:
  621.                           Org     Patch_1
  622.  
  623.                           Stosb
  624.                           Or      Al, Al
  625.                           Jz      Func472
  626.  
  627.  
  628.                           Org     Patch_2
  629.  
  630.                           Pop     Ds
  631.                           Mov     CCp_Buff_len, Al
  632.  
  633.                           End
  634.  
  635.  
  636.           Function 47 TEST
  637.  
  638.                The following program can be used  to  test  the  patch.   DDT-
  639.           86.CMD and ED.CMD must be on your default drive to run the test.
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.           All Information Presented Here is Proprietary to Digital Research
  652.  
  653.                                           2
  654.  
  655.  
  656.  
  657.           CP/M-86 V1.1                                             Patch 01
  658.  
  659.  
  660.           Title   'Function 47 test'
  661.           Cseg
  662.           ;
  663.           ; This routine causes a chain to DDT-86
  664.  
  665.           Chain   Equ     2FH                           ; Function 47
  666.           Bdos    Equ     0E0H                          ; Bdos entry
  667.           Dseg
  668.                   Org     80H
  669.           Default_Dma_buffer      Rb 80H
  670.  
  671.           File_name       Db      'DDT86 Ed', 0H
  672.  
  673.           Cseg    $
  674.  
  675.                   Cld
  676.                   Mov     Si, Offset File_name          ; Mov File name into
  677.                   Mov     Di, Offset Default_Dma_Buffer ; Default dma buffer
  678.                   Mov     Cx, Length File_name + 1
  679.                   Push    ES
  680.                   Mov     Ax, Ds
  681.                   Mov     Es, Ax
  682.  
  683.                   Rep     Movsb
  684.  
  685.                   Pop     Es
  686.                   Mov     Cl, Chain                     ; Chain to program
  687.                   Int     Bdos
  688.                   End
  689.  
  690.  
  691.                Licensed users are granted the right to include  these  changes 
  692.           in CP/M-86 V1.1 software.
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.           All Information Presented Here is Proprietary to Digital Research
  718.  
  719.                                           3
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.                                     CP/M-86   V1.1 
  727.                                Patch 02, LDCOPY, 3/08/82
  728.  
  729.                           Copyright   1982 by Digital Research
  730.                  CP/M-86 is a registered trademark of Digital Research.
  731.  
  732.  
  733.           Program:  LDCOPY.A86
  734.           Products and Serial Numbers Affected:  CP/M-86   V1.1  C86-000-00746 
  735.           through C86-000-00900
  736.  
  737.  
  738.           Error Description:
  739.  
  740.                LDCOPY does not write the loader to the destination disk with a 
  741.           track buffered BIOS.
  742.  
  743.  
  744.           Patch Procedure:
  745.  
  746.                Change the distributed assembly file of the load  copy  program 
  747.           according  to the following procedure.  Instructions are modified in 
  748.           the Write routine.
  749.  
  750.  
  751.                1) Locate the label trysec:.
  752.                2) Locate the instruction just after the label jz tryread.
  753.                3) Add the following code:
  754.  
  755.  
  756.                        mov        cl, 00
  757.                        mov        ax, track
  758.                        inc        ax
  759.                        cmp        ax, nlt
  760.                        jne        normal_write
  761.  
  762.                        mov        ax, sector
  763.                        inc        ax
  764.                        cmp        ax, spt 
  765.                        jne        normal_write
  766.                        mov        cl, 01
  767.                   Normal_Write:
  768.                           .
  769.                           .
  770.                           .
  771.  
  772.  
  773.                4) Locate the beginning of the code segment, for example, Cseg.  
  774.                5) Locate the copyright notice: (copyright  (c)  1981,  Digital 
  775.                   Research).
  776.                6) Just after the copyright, add:
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.           All Information Presented Here is Proprietary to Digital Research
  784.  
  785.                                           1
  786.  
  787.  
  788.  
  789.           CP/M-86 V1.1                                             Patch 02
  790.  
  791.  
  792.                   rs      100H                    ;emergency patch area
  793.                   .
  794.                   .
  795.                   .
  796.  
  797.  
  798.  
  799.                Licensed users are granted the right to include  these  changes 
  800.           in CP/M-86 V1.1 software.
  801.  
  802.  
  803.  
  804.  
  805.  
  806.  
  807.  
  808.  
  809.  
  810.  
  811.  
  812.  
  813.  
  814.  
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.           All Information Presented Here is Proprietary to Digital Research
  850.  
  851.                                           2
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.                                     CP/M-86   V1.1 
  859.                                 Patch 03, GENDEF, 4/8/82
  860.  
  861.                           Copyright   1982 by Digital Research
  862.                  CP/M-86 is a registered trademark of Digital Research.
  863.                        DDT-86 is a trademark of Digital Research.
  864.  
  865.  
  866.           Program:  GENDEF.CMD
  867.           Products and Serial Numbers Affected:  CP/M-86   V1.1  C86-000-00746 
  868.           through C86-000-01001
  869.  
  870.  
  871.           Error Description:
  872.  
  873.                This  patch  corrects  the  GENDEF.CMD  program  to  parse  the 
  874.           parameters in the command tail.
  875.  
  876.  
  877.           Patch Procedure:
  878.  
  879.                Make a back-up copy of GENDEF.CMD before using DDT-86   to make 
  880.           the following changes:
  881.  
  882.  
  883.                   A>ddt86
  884.                   DDT86 1.1
  885.                   -rgendef.cmd
  886.                     START      END
  887.                   NNNN:0000 NNNN:25FF
  888.                   -xcs
  889.                   CS 0000 nnnn+8     ; The effect of the register
  890.                   DS 0000 nnnn+8     ; change is to set all segment
  891.                   SS 0040 nnnn+8     ; registers to the beginning of
  892.                   ES 0000 nnnn+8     ; the program. ( above the base page)
  893.                   IP 0000 .
  894.                   -aede
  895.                   NNNN+8:0EDE mov bx, 06d
  896.                   NNNN+8:0EE1 cmp byte [bx], 24
  897.                   NNNN+8:0EE4 nop
  898.                   NNNN+8:0EE5 nop
  899.                   NNNN+8:0EE6 .
  900.                   -aefb
  901.                   NNNN+8:0EFB mov bx, 06d
  902.                   NNNN+8:0EFE mov al, [bx+si]
  903.                   NNNN+8:0F00 nop
  904.                   NNNN+8:0F01 nop
  905.                   NNNN+8:0F02 .
  906.                   -wgendef.cmd
  907.                   -^c
  908.  
  909.  
  910.                Licensed users are granted the right to include  these  changes 
  911.           in CP/M-86 V1.1 software.
  912.  
  913.  
  914.  
  915.           All Information Presented Here is Proprietary to Digital Research
  916.  
  917.