home *** CD-ROM | disk | FTP | other *** search
/ Frostbyte's 1980s DOS Shareware Collection / floppyshareware.zip / floppyshareware / USCX / FANSI-01.ZIP / IBMBIO.330 < prev    next >
Text File  |  1988-12-29  |  9KB  |  312 lines

  1. A
  2. ;    This is file: IBMBIO.330
  3. ;
  4. ;    This is a patch file for the IBM-DOS 3.30 IBMBIO.COM system file.
  5. ;
  6. ;    DO NOT USE THIS FILE WITH *ANY* OTHER VERSION OF DOS!
  7. ;    DO NOT USE THIS FILE UNLESS YOU EXPERIENCE THE PROBLEMS NOTED!
  8. ;
  9. ;    Before using this file the IBMBIO.COM file must be unhidden.
  10. ;    After using this file the IBMBIO.COM file must be rehidden.
  11. ;
  12. ;    To use this file:
  13. ;        DEBUG IBMBIO.COM <IBMBIO.330
  14. ;
  15. ;    If you apply this patch to the IBMBIO.COM file on your fixed disk,
  16. ;    DOS will move the IBMBIO.COM file to a new place on your fixed disk.
  17. ;    However, the IBMBIO.COM file must remain in a specific location.
  18. ;    The solution is to make a bootable DOS diskette first.
  19. ;    Then apply the patches to the IBMBIO.COM on the diskette.
  20. ;    DOS will write to the same place on the diskette!
  21. ;    Finally, boot the diskette and use SYS to install the new
  22. ;    IBMBIO.COM file onto the fixed disk.
  23. ;
  24. ;    These patches are for programming errors in IBM-DOS 3.30.
  25. ;    Since it is not our job to make all versions of DOS correct,
  26. ;    it is up to you yourself or the manufacturer of your version
  27. ;    of DOS to make similar fixes if your DOS has similar problems.
  28. ;    We will provide similar patches only for other MS-DOS versions ONLY
  29. ;    if they come STRAIGHT from Microsoft with ***NO*** modifications!
  30. ;    IF you have ENOUGH programming background, you may use the comments
  31. ;    for each patch to find similar code in your NON-IBM NON-Microsoft
  32. ;    or NON-3.30 version of DOS and make appropriate patches ON YOUR OWN.
  33.  
  34. A1BE8
  35. ;Patch 0001:
  36. ;Fix INT 19H processing to correctly restore timer and keyboard interrupt
  37. ;vectors.  (Requires Patches 0002 & 0003 & 0004)
  38. ;Make sure interrupts are off while replacing interrupts!
  39. ;This affects FANSI-CONSOLE and such programs as:
  40. ;    QuadRam QM2
  41. ;And any other program which attempts an INT 19H to "reboot".
  42. ;Patch developed by Hersey Micro Consulting, Inc. (313) 994-3259
  43. ;Replace:
  44. ;xxxx:1BE8 E91001        JMP     1CFB
  45. ;With:
  46. JMP 1C8E
  47.  
  48. A1BF8
  49. ;Patch 0002:
  50. ;Fix INT 19H processing to correctly restore timer and keyboard interrupt
  51. ;vectors.  (Requires Patches 0001 & 0003 & 0004)
  52. ;Make sure interrupts are off while replacing interrupts!
  53. ;This affects FANSI-CONSOLE and such programs as:
  54. ;    QuadRam QM2
  55. ;And any other program which attempts an INT 19H to "reboot".
  56. ;Patch developed by Hersey Micro Consulting, Inc. (313) 994-3259
  57. ;Replace:
  58. ;xxxx:1BF8 E90001        JMP     1CFB
  59. ;With:
  60. JMP 1C8E
  61.  
  62. A1BFB
  63. ;Patch 0003:
  64. ;Fix INT 19H processing to correctly restore timer and keyboard interrupt
  65. ;vectors.  (Requires Patches 0001 & 0002 & 0004)
  66. ;Make sure interrupts are off while replacing interrupts!
  67. ;This affects FANSI-CONSOLE and such programs as:
  68. ;    QuadRam QM2
  69. ;And any other program which attempts an INT 19H to "reboot".
  70. ;Patch developed by Hersey Micro Consulting, Inc. (313) 994-3259
  71. ;Replace:
  72. ;xxxx:1BFB 33C0          XOR     AX,AX
  73. ;xxxx:1BFD 8ED8          MOV     DS,AX
  74. ;xxxx:1BFF 2E            CS:
  75. ;xxxx:1C00 C43E6B18      LES     DI,[186B]
  76. ;xxxx:1C04 83FFFF        CMP     DI,-01
  77. ;xxxx:1C07 7408          JZ      1C11
  78. ;xxxx:1C09 893E0800      MOV     [0008],DI
  79. ;xxxx:1C0D 8C060A00      MOV     [000A],ES
  80. ;xxxx:1C11 2E            CS:
  81. ;xxxx:1C12 C43E6F18      LES     DI,[186F]
  82. ;xxxx:1C16 83FFFF        CMP     DI,-01
  83. ;xxxx:1C19 7408          JZ      1C23
  84. ;xxxx:1C1B 893E2000      MOV     [0020],DI
  85. ;xxxx:1C1F 8C062200      MOV     [0022],ES
  86. ;xxxx:1C23 2E            CS:
  87. ;xxxx:1C24 C43E7318      LES     DI,[1873]
  88. ;xxxx:1C28 83FFFF        CMP     DI,-01
  89. ;xxxx:1C2B 7408          JZ      1C35
  90. ;xxxx:1C2D 893E2400      MOV     [0024],DI
  91. ;xxxx:1C31 8C062600      MOV     [0026],ES
  92. ;xxxx:1C35 2E            CS:
  93. ;xxxx:1C36 C43E7718      LES     DI,[1877]
  94. ;xxxx:1C3A 83FFFF        CMP     DI,-01
  95. ;xxxx:1C3D 7408          JZ      1C47
  96. ;xxxx:1C3F 893E2800      MOV     [0028],DI
  97. ;xxxx:1C43 8C062A00      MOV     [002A],ES
  98. ;xxxx:1C47 2E            CS:
  99. ;xxxx:1C48 C43E7B18      LES     DI,[187B]
  100. ;xxxx:1C4C 83FFFF        CMP     DI,-01
  101. ;xxxx:1C4F 7408          JZ      1C59
  102. ;xxxx:1C51 893E2C00      MOV     [002C],DI
  103. ;xxxx:1C55 8C062E00      MOV     [002E],ES
  104. ;xxxx:1C59 2E            CS:
  105. ;xxxx:1C5A C43E7F18      LES     DI,[187F]
  106. ;xxxx:1C5E 83FFFF        CMP     DI,-01
  107. ;xxxx:1C61 7408          JZ      1C6B
  108. ;xxxx:1C63 893E3000      MOV     [0030],DI
  109. ;xxxx:1C67 8C063200      MOV     [0032],ES
  110. ;xxxx:1C6B 2E            CS:
  111. ;xxxx:1C6C C43E8318      LES     DI,[1883]
  112. ;xxxx:1C70 83FFFF        CMP     DI,-01
  113. ;xxxx:1C73 7408          JZ      1C7D
  114. ;xxxx:1C75 893E3400      MOV     [0034],DI
  115. ;xxxx:1C79 8C063600      MOV     [0036],ES
  116. ;xxxx:1C7D 2E            CS:
  117. ;xxxx:1C7E C43E8718      LES     DI,[1887]
  118. ;xxxx:1C82 83FFFF        CMP     DI,-01
  119. ;xxxx:1C85 7408          JZ      1C8F
  120. ;xxxx:1C87 893E3800      MOV     [0038],DI
  121. ;xxxx:1C8B 8C063A00      MOV     [003A],ES
  122. ;xxxx:1C8F 2E            CS:
  123. ;xxxx:1C90 C43E8B18      LES     DI,[188B]
  124. ;xxxx:1C94 83FFFF        CMP     DI,-01
  125. ;xxxx:1C97 7408          JZ      1CA1
  126. ;xxxx:1C99 893EC001      MOV     [01C0],DI
  127. ;xxxx:1C9D 8C06C201      MOV     [01C2],ES
  128. ;xxxx:1CA1 2E            CS:
  129. ;xxxx:1CA2 C43E8F18      LES     DI,[188F]
  130. ;xxxx:1CA6 83FFFF        CMP     DI,-01
  131. ;xxxx:1CA9 7408          JZ      1CB3
  132. ;xxxx:1CAB 893EC801      MOV     [01C8],DI
  133. ;xxxx:1CAF 8C06CA01      MOV     [01CA],ES
  134. ;xxxx:1CB3 2E            CS:
  135. ;xxxx:1CB4 C43E9318      LES     DI,[1893]
  136. ;xxxx:1CB8 83FFFF        CMP     DI,-01
  137. ;xxxx:1CBB 7408          JZ      1CC5
  138. ;xxxx:1CBD 893ECC01      MOV     [01CC],DI
  139. ;xxxx:1CC1 8C06CE01      MOV     [01CE],ES
  140. ;xxxx:1CC5 2E            CS:
  141. ;xxxx:1CC6 C43E9718      LES     DI,[1897]
  142. ;xxxx:1CCA 83FFFF        CMP     DI,-01
  143. ;xxxx:1CCD 7408          JZ      1CD7
  144. ;xxxx:1CCF 893ED001      MOV     [01D0],DI
  145. ;xxxx:1CD3 8C06D201      MOV     [01D2],ES
  146. ;xxxx:1CD7 2E            CS:
  147. ;xxxx:1CD8 C43E9B18      LES     DI,[189B]
  148. ;xxxx:1CDC 83FFFF        CMP     DI,-01
  149. ;xxxx:1CDF 7408          JZ      1CE9
  150. ;xxxx:1CE1 893ED801      MOV     [01D8],DI
  151. ;xxxx:1CE5 8C06DA01      MOV     [01DA],ES
  152. ;xxxx:1CE9 2E            CS:
  153. ;xxxx:1CEA C43E9F18      LES     DI,[189F]
  154. ;xxxx:1CEE 83FFFF        CMP     DI,-01
  155. ;xxxx:1CF1 7408          JZ      1CFB
  156. ;xxxx:1CF3 893EDC01      MOV     [01DC],DI
  157. ;xxxx:1CF7 8C06DE01      MOV     [01DE],ES
  158. ;xxxx:1CFB 2E            CS:
  159. ;xxxx:1CFC C43E6618      LES     DI,[1866]
  160. ;xxxx:1D00 893E6400      MOV     [0064],DI
  161. ;xxxx:1D04 8C066600      MOV     [0066],ES
  162. ;xxxx:1D08 CD19          INT     19
  163. ;With:
  164. JMP 1C06
  165. LODSW
  166. CMP AX,FFFF
  167. JZ 1C05
  168. STOSW
  169. MOVSW
  170. RET
  171. XOR AX,AX
  172. MOV ES,AX
  173. MOV AX,CS
  174. MOV DS,AX
  175. CLD
  176. CLI
  177. MOV SI,186B
  178. MOV DI,0008
  179. CALL 1BFD
  180. ;Was 186F
  181. MOV SI,19BF
  182. MOV DI,0020
  183. CALL 1BFD
  184. ;Was 1873
  185. MOV SI,19C3
  186. MOV DI,0024
  187. CALL 1BFD
  188. MOV SI,1877
  189. MOV DI,0028
  190. CALL 1BFD
  191. MOV SI,187B
  192. MOV DI,002C
  193. CALL 1BFD
  194. MOV SI,187F
  195. MOV DI,0030
  196. CALL 1BFD
  197. MOV SI,1883
  198. MOV DI,0034
  199. CALL 1BFD
  200. MOV SI,1887
  201. MOV DI,0038
  202. CALL 1BFD
  203. MOV SI,188B
  204. MOV DI,01C0
  205. CALL 1BFD
  206. MOV SI,188F
  207. MOV DI,01C8
  208. CALL 1BFD
  209. MOV SI,1893
  210. MOV DI,01CC
  211. CALL 1BFD
  212. MOV SI,1897
  213. MOV DI,01D0
  214. CALL 1BFD
  215. MOV SI,189B
  216. MOV DI,01D8
  217. CALL 1BFD
  218. MOV SI,189F
  219. MOV DI,01DC
  220. CALL 1BFD
  221. MOV SI,1866
  222. MOV DI,0064
  223. CALL 1BFD
  224. STI
  225. JMP 1D08
  226. XOR AX,AX
  227. MOV DS,AX
  228. CLD
  229. MOV AX,CS
  230. MOV ES,AX
  231. MOV SI,0020
  232. MOV DI,19BF
  233. MOVSW
  234. MOVSW
  235. MOVSW
  236. MOVSW
  237. RET
  238.  
  239. F1CAE L8 AA
  240. F1CB6 1D07 90
  241.  
  242. A2DA8
  243. ;Patch 0004:
  244. ;Fix INT 19H processing to correctly restore timer and keyboard interrupt
  245. ;vectors.  (Requires Patches 0001 & 0002 & 0003)
  246. ;This affects FANSI-CONSOLE and such programs as:
  247. ;    QuadRam QM2
  248. ;And any other program which attempts an INT 19H to "reboot".
  249. ;Patch developed by Hersey Micro Consulting, Inc. (313) 994-3259
  250. ;Replace:
  251. ;xxxx:2DA8 33C0          XOR     AX,AX
  252. ;xxxx:2DAA 8ED8          MOV     DS,AX
  253. ;xxxx:2DAC A14C00        MOV     AX,[004C]
  254. ;xxxx:2DAF 2E            CS:
  255. ;xxxx:2DB0 A3B000        MOV     [00B0],AX
  256. ;xxxx:2DB3 2E            CS:
  257. ;xxxx:2DB4 A3B400        MOV     [00B4],AX
  258. ;xxxx:2DB7 A14E00        MOV     AX,[004E]
  259. ;xxxx:2DBA 2E            CS:
  260. ;xxxx:2DBB A3B200        MOV     [00B2],AX
  261. ;xxxx:2DBE 2E            CS:
  262. ;xxxx:2DBF A3B600        MOV     [00B6],AX
  263. ;xxxx:2DC2 C7064C007A0F  MOV     WORD PTR [004C],0F7A
  264. ;xxxx:2DC8 8C0E4E00      MOV     [004E],CS
  265. ;xxxx:2DCC A16400        MOV     AX,[0064]
  266. ;xxxx:2DCF 2E            CS:
  267. ;xxxx:2DD0 A36618        MOV     [1866],AX
  268. ;xxxx:2DD3 A16600        MOV     AX,[0066]
  269. ;xxxx:2DD6 2E            CS:
  270. ;xxxx:2DD7 A36818        MOV     [1868],AX
  271. ;xxxx:2DDA C7066400E018  MOV     WORD PTR [0064],18E0
  272. ;xxxx:2DE0 8C0E6600      MOV     [0066],CS
  273. ;xxxx:2DE4 FB            STI
  274. ;With:
  275. PUSH ES
  276. PUSH DI
  277. PUSH SI
  278. PUSHF
  279. CALL 1C9A
  280. MOV SI,004C
  281. MOV DI,00B0
  282. MOVSW
  283. MOVSW
  284. MOV SI,004C
  285. MOV DI,00B4
  286. MOVSW
  287. MOVSW
  288. MOV SI,0064
  289. MOV DI,1866
  290. MOVSW
  291. MOVSW
  292. MOV AX,DS
  293. MOV ES,AX
  294. MOV DI,004C
  295. MOV AX,0F7A
  296. STOSW
  297. MOV AX,CS
  298. STOSW
  299. MOV DI,0064
  300. MOV AX,18E0
  301. STOSW
  302. MOV AX,CS
  303. STOSW
  304. POPF
  305. POP SI
  306. POP DI
  307. POP ES
  308. NOP
  309.  
  310. W
  311. Q
  312.