home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / utils / fcons1.zip / FCON200.PCH < prev    next >
Text File  |  1989-11-27  |  28KB  |  2,181 lines

  1. A
  2. ;    This is file: FCONSOLE.PCH / FCON200.PCH
  3. ;
  4. ;    Use it only on FCONBETA.DEV/FCONSOLE.DEV version 2.00
  5. ;    regardless of current the revision letter suffix,
  6. ;    to bring your version up to the latest 2.00 revision.
  7. ;    By our design, you may reapply this complete patch file and
  8. ;    its successor versions, over and over, with the same result:
  9. ;    The latest 2.00 version!
  10. ;    No amount of patches will change the base number of a version.
  11. ;
  12. ;    To use it: DEBUG FCONSOLE.DEV <FCON200.PCH 
  13. ;
  14. ;    When this command is given, this file will be echoed to your screen.
  15. ;    Under DOS 2, the debugger may give error messages for the lines
  16. ;    starting with semicolons.  This is OK!  Errors for other lines are not!
  17. ;    If you get errors for every line, temporarily remove "CED"/"DOSEDIT"
  18. ;    or other DOS command editor program from your AUTOEXEC.BAT file,
  19. ;    reboot, and try it again!
  20. ;
  21. ;    You then need to restart MS-DOS once the patch is applied.
  22.  
  23. A
  24. ;    Patch A 11/02/86:
  25. ;        Chg letter in scroll recall status.
  26.  
  27. A0FA9
  28. DB 'A'
  29.  
  30. A
  31. ;    Patch A (Part 1) 11/02/86:
  32. ;        Fix Compaq scrn mode initialization table #.
  33. ;        Symptoms:
  34. ;            Screen comes up with 8 pixel rows 
  35. ;            per char instead of 14.
  36.  
  37. A81D0
  38. ES: MOV BYTE [15C8],AL
  39. ES: MOV BYTE [1518],AL
  40. RET
  41.  
  42. AA019
  43. CALL 81D0
  44. NOP
  45.  
  46. A
  47. ;    Patch A (Part 2) 11/02/86:
  48. ;        Fix to not find "Compaq" on non-"Compaq".
  49. ;        Symptoms:
  50. ;            Screen display comes up distorted.
  51.  
  52. A81D9
  53. MOV DX,SI
  54. MOV SI,F0A4
  55. MOV AX,DX
  56. AND AL,BF
  57. CMP AX,SI
  58. RET
  59.  
  60. A9FE1
  61. CALL 81D9
  62. JNZ A023
  63.  
  64. A
  65. ;    Patch A (Part 3) 11/02/86:
  66. ;        Fix LF at FF,FF to roll to 0,FF.
  67. ;        Symptoms:
  68. ;            Screen writing does not appear on screen.
  69.  
  70. A35F9
  71. JZ 3614
  72. CMP DH,[1ED6]
  73. JB 3644
  74. JBE 361D
  75. CMP DH,[1514]
  76. JAE 3614
  77. MOV AX,[DI+2354]
  78. ADD AX,[1516]
  79. JMP 3398
  80.  
  81. A3618
  82. DEC DH
  83. JMP 338E
  84.  
  85. A
  86. ;    Patch A (Part 4) 11/02/86:
  87. ;        Fix so changing FANSI-CRTTABLE resets page base to zero.
  88. ;        Symptoms:
  89. ;            Alt-Ctrl-LessThan/Alt-Ctrl-GreaterThan 
  90. ;            cause old data to appear.
  91.  
  92. A81E5
  93. CALL 6DDE
  94. JMP 665C
  95.  
  96. A616C
  97. CALL 81E5
  98.  
  99. A
  100. ;    Patch A (Part 5) 11/02/86:
  101. ;        Fix FANSI-QUICK to use 16KB at most.
  102. ;        Fix to have at least one page for each display.
  103.  
  104. A81EB
  105. CMP BYTE [DI+1BA4],0
  106. JNZ 81FB
  107. MOV AX,2000
  108. CMP SI,AX
  109. JBE 81FB
  110. MOV SI,AX
  111. AND SI,SI
  112. JNZ 8202
  113. MOV SI,0800
  114. MOV [DI+23C6],SI
  115. RET
  116.  
  117. AA0BC
  118. CALL 81EB
  119. NOP
  120.  
  121. A
  122. ;    Patch B 11/07/86:
  123. ;        Chg letter in scroll recall status.
  124.  
  125. A0FA9
  126. DB 'B'
  127.  
  128. A
  129. ;    Patch B (Part 1) 11/07/86:
  130. ;        Fix CGA cursor shape routine for slow blinking cursor.
  131. ;
  132.  
  133. A8207
  134. MOV AX,CX
  135. AND AX,1F1F
  136. MOV DH,08
  137. RET
  138.  
  139. A6B88
  140. CALL 8207
  141. NOP
  142. CMP AL,DH
  143. JA 6B94
  144. CMP AH,DH
  145. JBE 6B96
  146. MOV DH,0E
  147.  
  148. A
  149. ;    Patch B (Part 2) 11/07/86:
  150. ;        Fix palette setting routine to use mono colors only 
  151. ;            for FANSI-NOCOLOR.
  152.  
  153. A820F
  154. CMP BYTE [1541],0
  155. JZ 8223
  156. MOV DL,AL
  157. AND AL,7
  158. JZ 821E
  159. MOV AL,7
  160. AND DL,F8
  161. OR AL,DL
  162. JMP 8478
  163.  
  164. A84B3
  165. CALL 820F
  166.  
  167. A
  168. ;    Patch B (Part 3) 11/07/86:
  169. ;        Requires Patch A (Part 1)
  170. ;        Fix Compaq external monitor scrn mode initialization table #.
  171. ;        Symptoms:
  172. ;            Using external monitor on Compaq causes 
  173. ;            distorted screen.
  174.  
  175. A8226
  176. CMP DX,SI
  177. JNZ 81D0
  178. RET
  179.  
  180. A9FFD
  181. MOV AX,CS
  182. ;    Watch out for bug in Compaq debugger: 
  183. ;    It does not assemble following instruction correctly!
  184. ;        MOV ES,AX 
  185. ;    Use    DB 8E,C0    instead
  186. DB 8E,C0
  187.  
  188. AA019
  189. ES: MOV [15C0],AL
  190. CALL 8226
  191. NOP
  192.  
  193. A
  194. ;    Patch B (Part 4) 11/07/86:
  195. ;        Fix /R=nn to not clobber 0000:0002.
  196. ;        Symptoms:
  197. ;            NMI interrupt handler may fail and cause hanging.
  198.  
  199. A31A6
  200. MOV AX,DS
  201. MOV ES,AX
  202. MOV CX,0004
  203. MOV DI,1616
  204. MOV SI,00DE
  205. REPZ
  206. MOVSW
  207. CALL 312D
  208.  
  209. A
  210. ;    Patch B (Part 5) 11/07/86:
  211. ;        Fix BIOS print screen flag saved in alternate printer.
  212.  
  213. A7F91
  214. MOV AX,0040
  215. MOV ES,AX
  216. JZ 7F9A
  217. MOV AH,FF
  218.  
  219. A
  220. ;    Patch B (Part 6) 11/07/86:
  221. ;        Fix FANSI-TIMEKEYS.
  222. ;        Symptoms:
  223. ;            FANSI-TIMEKEYS always acts reset.
  224.  
  225. A01AC
  226. DW 2AF5
  227.  
  228. A
  229. ;    Patch B (Part 7) 11/07/86:
  230. ;        Fix scroll lock/num lock hanging problems 
  231. ;            caused by some computers' incompatible INT 15 
  232. ;            handlers which left interrupts off.
  233. ;            May have caused problems with serial/modem programs.
  234.     
  235. A822B
  236. MOV AL,02
  237. STC
  238. INT 15
  239. STI
  240. RET
  241.  
  242. A517F
  243. CALL 822D
  244.  
  245. A4C43
  246. MOV AH,91
  247. CALL 822B
  248.  
  249. A5BDA
  250. MOV AH,90
  251. CALL 822B
  252.  
  253. A4F0C
  254. JNZ 4F1B
  255.  
  256. A4F1A
  257. STI
  258. RET
  259.  
  260. A4F28
  261. JMP 4F18
  262.  
  263. A
  264. ;    Patch C 11/26/86:
  265. ;        Chg letter in scroll recall status.
  266.  
  267. A0FA9
  268. DB 'C'
  269.  
  270. A
  271. ;    Patch C (Part 1) 11/26/86:
  272. ;        Fix IL/DL/RI/SD/SU to clear one line region.
  273. ;        Symptoms:
  274. ;            Some one line regions do not erase properly.
  275.  
  276. A3505
  277. CALL 342F
  278. MOV AH,DH
  279. DEC DH
  280. DEC DL
  281.  
  282. A
  283. ;    Patch C (Part 2) 11/26/86:
  284. ;        Fix so setting FANSI-CRTTABLE does not unhide cursor.
  285. ;        Symptoms:
  286. ;            Alt-Ctrl-LessThan/Alt-Ctrl-GreaterThan
  287. ;            change cursor shape and cause it to show.
  288.  
  289. A8232
  290. MOV DI,[234E]
  291. JMP [DI+230E]
  292.  
  293. A6181
  294. CALL 8232
  295.  
  296. A
  297. ;    Patch C (Part 3) 11/26/86:
  298. ;        Fix EMS recall allocation to be zero when no room left.
  299. ;        Symptoms:
  300. ;            Setting FANSI-RECALL when no EMS space is left
  301. ;            causes it to think 6555 lines are allocated.
  302.  
  303. A3065
  304. XOR DX,DX
  305. AND BX,BX
  306. JZ 3074
  307. DEC BX
  308. JNZ 305D
  309. NOP
  310. NOP
  311. NOP
  312. NOP
  313. NOP
  314. NOP
  315.  
  316. A
  317. ;    Patch C (Part 4) 11/26/86:
  318. ;        Fix key repeat rate to work in local modes
  319. ;        when FANSI-SUPERKEY is reset
  320.  
  321. A823A
  322. CLI
  323. CALL [1768]
  324. STI
  325. JNZ 8245
  326. CALL 4B28
  327. RET
  328.  
  329. A810F
  330. CALL 823A
  331.  
  332. A
  333. ;    Patch C (Part 5) 11/26/86:
  334. ;        Fix border on EGD in modes 13 and 14 when EGDBORDER is reset.
  335. ;        Symptoms:
  336. ;            Border does not show in modes 13 and 14.
  337.  
  338. A8987
  339. CMP AH,0E
  340.  
  341. A
  342. ;    Patch C (Part 6) 11/26/86:
  343. ;        Chg so that setting screen display mode sets Gsets to default.
  344. ;        Symptoms:
  345. ;            Cannot use MODE CO80 to clear alternate charsets.
  346.  
  347. A8246
  348. CALL 2AFD 
  349. JMP 29C7
  350.  
  351. A61DC
  352. CALL 8246
  353.  
  354. A2D15
  355. CALL 8246
  356.  
  357. A
  358. ;    Patch C (Part 7) 11/26/86:
  359. ;        Fix so that total scan lines are used even when
  360. ;            fonts are automatically loaded at mode change time.
  361.  
  362. A824C
  363. DW 0000
  364. MOV [23C2],AX
  365. MOV [814C],AX
  366. RET
  367.  
  368. A87AA
  369. CALL 824E
  370.  
  371. A8787
  372. MOV [814C],AX
  373.  
  374. A891E
  375. MOV AX,[814C]
  376.  
  377. A
  378. ;    Patch C (Part 8) 11/26/86:
  379. ;        Fix so that Compaq color table is CRTTABLE 0, not 1.
  380. ;        Symptoms:
  381. ;            Alt-Ctrl-GreaterThan/Alt-Ctrl-LessThan work backwards.
  382.  
  383. AA007
  384. JBE A00B
  385.  
  386. A
  387. ;    Patch C (Part 9) 11/26/86:
  388. ;        Fix to not include device name as parameters when
  389. ;            path includes minus sign
  390. ;        Symptoms:
  391. ;            Strange character sets in graphics modes.
  392.  
  393. A8255
  394. JCXZ 8259
  395. MOV BL,0A
  396. CALL 9D27
  397. JZ 8259
  398. RET
  399.  
  400. A9D4B
  401. RET
  402. NOP
  403.  
  404. A9D19
  405. MOV BX,0010
  406. CALL 9D27
  407. JNZ 9D59
  408. CALL 8255
  409. JMP 9D4D
  410. NOP
  411.  
  412. A825F
  413. ES: LES SI,[SI+0012]
  414. MOV DI,SI
  415. CALL 9CFF
  416. CMP AL,0D
  417. JZ 8277
  418. INC SI
  419. CMP AL,5C
  420. JZ 8263
  421. CMP AL,2E
  422. JZ 8263
  423. JMP 8265
  424. MOV SI,DI
  425. RET
  426.  
  427. A9D60
  428. CALL 825F
  429. NOP
  430.  
  431. A
  432. ;    Patch D 12/13/86:
  433. ;        Chg letter in scroll recall status.
  434.  
  435. A0FA9
  436. DB 'D'
  437.  
  438. A
  439. ;    Patch D (Part 1) 12/13/86:
  440. ;        Fix FANSI-CLICKREP to not repeat shift/lock clicks.
  441.  
  442. A516D
  443. JMP 517B
  444. MOV AL,[155F]
  445. OR [1B76],AL
  446. JMP 46B7
  447. NOP
  448. NOP
  449.  
  450. A4C40
  451. CALL 516F
  452.  
  453. A
  454. ;    Patch D (Part 2) 12/13/86:
  455. ;        Fix FANSI-RECALL set to zero causing hanging.
  456.  
  457. A827A
  458. MOV [151A],AX
  459. MOV [1B8E],AL
  460. RET
  461.  
  462. A3158
  463. CALL 827A
  464.  
  465. A
  466. ;    Patch D (Part 3) 12/13/86:
  467. ;        Fix so lock status lights on 386 work.
  468. ;        Symptoms:
  469. ;            Locking lights did not light.
  470.  
  471. A8281
  472. PUSH CX
  473. MOV CX,0077
  474. CALL [24A2]
  475. POP CX
  476. RET
  477.  
  478. A8293
  479. CALL 8281
  480. TEST BYTE [1738],30
  481. RET
  482.  
  483. A7DFD
  484. MOV CX,0064
  485. CALL 8293
  486. NOP
  487. NOP
  488.  
  489. A
  490. ;    Patch D (Part 4) 12/13/86:
  491. ;        Fix enhanced mode scroll of nonleft justified area.
  492. ;        Symptoms:
  493. ;            Freelance screens messed up.
  494.  
  495. A829C
  496. ADD AL,CL
  497. ADC AH,0
  498. RET
  499.  
  500. A8D83
  501. CALL 829C
  502. NOP
  503.  
  504. A
  505. ;    Patch D (Part 5) 12/13/86:
  506. ;        Fix number of mode F&10 pages when FANSI-DBLROWS is set.
  507. ;        Symptoms:
  508. ;            Freelance screens messed up.
  509.  
  510. A82A2
  511. CMP BYTE [1511],1
  512. JNZ 82AE
  513. CMP BYTE [23D5],0
  514. RET    
  515.  
  516. A5F03
  517. CALL 82A2
  518. NOP
  519. NOP
  520.  
  521. A
  522. ;    Patch D (Part 6) 12/13/86:
  523. ;        Fix to preserve AX across INT 10H, AH=13H.
  524. ;        Symptoms:
  525. ;            Freelance screens messed up.
  526.  
  527. A82AF
  528. PUSH AX
  529. JMP 640E
  530.  
  531. A82B3
  532. POP CX
  533. POP BX
  534. POP AX
  535. RET
  536.  
  537. A1454
  538. DW 81AF
  539.  
  540. A14F6
  541. DW 81AF
  542.  
  543. A1550
  544. DW 81AF
  545.  
  546. A15AA
  547. DW 81AF
  548.  
  549. A8438
  550. DW 81AF
  551.  
  552. A6499
  553. JMP 82B3
  554.  
  555. A641D
  556. MOV ES,[BP+10]
  557.  
  558. A
  559. ;    Patch D (Part 7) 12/13/86:
  560. ;        Fix so that does not examine next line when no parameters.
  561. ;        Symptoms:
  562. ;            Extra parameters read from next line in CONFIG.SYS.
  563.  
  564. A82B7
  565. CALL 9CFF
  566. CMP AL,0D
  567. JZ 82C0
  568. CMP AL,0A
  569. RET
  570.  
  571. A8265
  572. CALL 82B7
  573. NOP
  574. NOP
  575.  
  576. A9D64
  577. CALL 82B7
  578. NOP
  579. NOP
  580.  
  581. A9D74
  582. CALL 82B7
  583. NOP
  584. NOP
  585.  
  586. A
  587. ;    Patch D (Part 8) 12/13/86:
  588. ;        Fix to not hang waiting for vertical retrace on autoswitch EGAs.
  589. ;        Symptoms:
  590. ;            Hanging with screen blank.
  591.  
  592. A82C1
  593. MOV AL,[836C]
  594. AND AL,AL
  595. JZ 82CD
  596. IN AL,DX
  597. AND AL,08
  598. JZ 82C8
  599. RET
  600. NOP
  601.  
  602. A8494
  603. NOP
  604. CALL 82C1
  605. CLI
  606. IN AL,DX
  607.  
  608. A
  609. ;    Patch D (Part 9) 12/13/86:
  610. ;        Fix KPNM to be effective.
  611. ;        Symptoms:
  612. ;            KPNM does not work.
  613.  
  614. A3E99
  615. JMP 3E93
  616.  
  617. A
  618. ;    Patch E 12/26/86:
  619. ;        Chg letter in scroll recall status.
  620.  
  621. A0FA9
  622. DB 'E'
  623.  
  624. A
  625. ;    Patch E (Part 1) 12/26/86:
  626. ;        Fix assignment of extended keycodes in macros
  627. ;        to correctly allocate memory required.
  628. ;        Symptoms:
  629. ;            Mostly hanging but sometimes strange macros.
  630.  
  631. A42FE
  632. AND AX,AX
  633.  
  634. A
  635. ;    Patch E (Part 2) 12/26/86:
  636. ;        Fix to use exact same length as IBM EGA for graphics modes.
  637. ;        Symptoms:
  638. ;            Freelance screens messed up.
  639.  
  640. A0FFD
  641. DW 4000
  642. DW 4000
  643. DW 4000
  644. DW 0002
  645. DW 4000
  646. DW 4000
  647. DW 4000
  648. DW 1000
  649. DW 1000
  650. DW 2000
  651. DW 4000
  652. DW 8000
  653. DW 8000
  654. DW 8000
  655. DW 8000
  656.  
  657. A8640
  658. JMP 865B
  659.  
  660. A
  661. ;F8642 L19 90
  662.  
  663. A830F
  664. CMP BYTE [23D5],0
  665. JNZ 831C
  666. MOV AX,[15A8]
  667. JMP 2A1D
  668. MOV AX,[23B8]
  669. JMP 2A2A
  670.  
  671. A2A1A
  672. JMP 830F
  673.  
  674. A
  675. ;    Patch E (Part 3) 12/26/86:
  676. ;        Chg to reduce stack requirements in timer interrupt.
  677. ;            Reduce problems with multiple resident programs.
  678. ;            Only use if you experience automatic exits from 1-2-3!
  679. ;        NOTE: 
  680. ;            BECAUSE THIS IS *NOT* A BUG IN FANSI-CONSOLE,
  681. ;            THIS PATCH IS A *COMMENT* HERE.
  682. ;            TO REALLY APPLY THIS PATCH, 
  683. ;            YOU MUST USE THE FILE 123V200.PCH 
  684. ;            OR REMOVE THE SEMICOLONS HERE!
  685.  
  686. A82CF
  687. ;DW 0
  688.  
  689. A82D1
  690. ;MOV AX,SS
  691. ;MOV DX,SP
  692. ;MOV DI,CS
  693. ;CLI
  694. ;CMP AX,DI
  695. ;JZ 82E9
  696. ;CS: CMP BYTE [81CF],0
  697. ;JNZ 82E9
  698. ;MOV SS,DI
  699. ;MOV SP,21FE
  700. ;CS: PUSH [81CF]
  701. ;CS: MOV BYTE [81CF],1
  702. ;STI
  703. ;PUSHF
  704. ;CS: CALL FAR [24B8]
  705. ;JMP 8047
  706.  
  707. A82FE
  708. ;POP DS
  709. ;POP AX
  710. ;CLI
  711. ;CS: POP [81CF]
  712. ;MOV SS,AX
  713. ;MOV SP,DX
  714. ;STI
  715. ;POP DI
  716. ;POP DX
  717. ;POP AX
  718. ;IRET
  719.  
  720. A8041
  721. ;PUSH AX
  722. ;PUSH DX
  723. ;PUSH DI
  724. ;JMP 82D1
  725.  
  726. A8147
  727. ;JMP 82FE
  728.  
  729. A
  730. ;    Patch E (Part 4) 12/26/86:
  731. ;        Fix INT 10H, AH=0EH, and AH=13H
  732. ;        to calculate correct base in enhanced modes.
  733. ;        Symptoms:
  734. ;            Freelance screens messed up.
  735.  
  736. A9092
  737. CALL 8E3B
  738.  
  739. A
  740. ;    Patch E (Part 5) 12/26/86:
  741. ;        Fix INT 10H, AH=13H to use correct reg for string type.
  742. ;        Symptoms:
  743. ;            Freelance screens messed up.
  744.  
  745. A642B
  746. XCHG AL,BH
  747.  
  748. A
  749. ;    Patch F 12/31/86:
  750. ;        Chg letter in scroll recall status.
  751.  
  752. A0FA9
  753. DB 'F'
  754.  
  755. A
  756. ;    Patch F (Part 1) 12/31/86:
  757. ;    Requires patch D (Part 8):
  758. ;        Fix to not miss other interrupts while chging palettes on EGAs.
  759. ;        Symptoms:
  760. ;            Serial/communications program misses incoming chars.
  761.  
  762. A82CD
  763. RET
  764. NOP
  765.  
  766. A8495
  767. CALL 82C1
  768. CLI
  769. IN AL,DX
  770.  
  771. A
  772. ;    Patch F (Part 2) 12/31/86:
  773. ;    Requires patch E (Part 2):
  774. ;        Fix patch E part 2 to not do strange things on non-EGAs.
  775.  
  776. A
  777. ;F8642 L19 90
  778.  
  779. A830F
  780. CMP BYTE [23D5],0
  781. JNZ 831C
  782. MOV AX,[15A8]
  783. JMP 2A1D
  784. MOV AX,[23B8]
  785. JMP 2A2A
  786.  
  787. A2A1A
  788. JMP 830F
  789.  
  790. A
  791. ;    Patch G 01/18/87:
  792. ;        Chg letter in scroll recall status.
  793.  
  794. A0FA9
  795. DB 'G'
  796.  
  797. A
  798. ;    Patch G (Part 1) 01/18/87:
  799. ;        Fix INT 10 AH=10,AL=1,for EGA's to not clobber SI.
  800. ;        Symptoms:
  801. ;            Strange behavior
  802.  
  803. A8322
  804. AND AL,20
  805. ROR AL,1
  806. RET
  807.  
  808. A8327
  809. POP SI
  810. JMP 848B
  811.  
  812. A8A7E
  813. CALL 8322
  814. PUSH SI
  815.  
  816. A8A9A
  817. JMP 8327
  818.  
  819. A
  820. ;    Patch G (Part 2) 01/18/87:
  821. ;        Fix INT 10, AH=11,AL=30,BH=0 to return INT 1F, not 1D.
  822. ;        Symptoms:
  823. ;            Complaints about no EGA.
  824.  
  825. A610E
  826. ES: LES BP,[007C]
  827.  
  828. A
  829. ;    Patch G (Part 3) 01/18/87:
  830. ;        Fix so that keystrokes are not missed on high speed ATs.
  831. ;        (Removes part of Patch D Part 3).
  832. ;
  833. ;    Patch G (Part 4) 01/18/87:
  834. ;        Fix so we do not violate assumption that INT 16s do
  835. ;        happen during INT 10s.
  836. ;        (They will anyway, but not because of us!)    
  837. ;        (Wordperfect Tutor, XRAY)
  838. ;        Symptoms:
  839. ;            Hanging when keys are pressed
  840.  
  841. A7DC7
  842. MOV CX,1000
  843. IN AL,64
  844. AND AL,02
  845.  
  846. A828B
  847. PUSH SI
  848. CALL 5BA0
  849. STI
  850. POP SI
  851. RET
  852. NOP
  853.  
  854. A5CDE
  855. NOP
  856. CALL 828B
  857.  
  858. A
  859. ;    Patch H 03/23/87:
  860. ;        Chg letter in scroll recall status.
  861.  
  862. A0FA9
  863. DB 'H'
  864.  
  865. A
  866. ;    Patch H (Part 1) 03/23/87:
  867. ;        Fix so that printing highlighted lines works when
  868. ;            FANSI-SAVEATTR is reset.
  869. ;        Symptoms:
  870. ;            Only every other character gets printed.
  871.  
  872. A832B
  873. ES: LODSB
  874. ES: CMP BYTE [6],0
  875. JZ 8336
  876. INC SI
  877. RET
  878.  
  879. A5608
  880. CALL 832B
  881.  
  882. A
  883. ;    Patch H (Part 2) 03/23/87:
  884. ;        Fix mode limiting to allow mono to be used inspite of 
  885. ;            equipment flag setting.
  886. ;        (Periscope/Codeview on two screens should now work).
  887. ;        (MODE MONO should now work).
  888.  
  889. A5D6C
  890. JNZ 5D74
  891. AND DL,08
  892. OR DL,07
  893. NOP
  894.  
  895. A5D81
  896. XOR DI,DI
  897. MOV AL,DH
  898. AND AL,07
  899. CMP AL,07
  900. JE 5D8E
  901. MOV DI,0002
  902. MOV AL,DH
  903. CMP AL,07
  904. JBE 5DAB
  905. CMP AL,12
  906. JA 5DA3
  907. CMP AL,10
  908. JA 5DAB
  909. CMP BYTE [1BA4+DI],00
  910. JNZ 5DAB
  911. MOV DH,07
  912. AND DI,DI
  913. JZ 5DAB
  914. MOV DH,03
  915. MOV AL,DH
  916. NOP
  917.  
  918. A
  919. ;    Patch H (Part 3) 03/23/87:
  920. ;        Fix to initialize correctly with DOS 3.3 instead of 
  921. ;            not linking in FCON device.
  922. ;        (FANSISET/FLAYOUT/DEJAVU can now "find" FANSI-CONSOLE)
  923. ;    See also Patch I (Part 4)!
  924.  
  925. A0100
  926. DW 001C
  927.  
  928. A9AFC
  929. JMP 9B11
  930.  
  931. A
  932. ;F9AFE L13 90    
  933.  
  934. A
  935. ;    Patch H (Part 4) 03/23/87:
  936. ;        Add support for F11 and F12.
  937.  
  938. A0710
  939. DW 4BEF,4BEF,4BEF
  940.  
  941. A08B0
  942. DW 4BEF,4BEF,4BEF
  943.  
  944. A0AB8
  945. DB '/',56
  946. DW 8500,8600 
  947.  
  948. A0B88
  949. DB '/',56
  950. DW 8700,8800 
  951.  
  952. A0C5A
  953. DW 8900,8A00 
  954.  
  955. A0D2A
  956. DW 8B00,8C00 
  957.  
  958. A0DF8
  959. DB '/',56
  960. DW 8500,8600 
  961.  
  962. A0594
  963. DB 58
  964.  
  965. A
  966. ;    Patch H (Part 5) 03/23/87:
  967. ;        Chg for bug in AST keyboards.
  968. ;        (Cursor keys generate numerics)
  969.  
  970. A8337
  971. CLI
  972. OR BYTE [1738],20
  973. RET
  974.  
  975. A833E
  976. DB 0
  977. MOV BYTE [823E],01
  978. RET
  979.  
  980. A8346
  981. AND AH,AH
  982. JNS 834F
  983. MOV BYTE [823E],00
  984. MOV AL,AH
  985. AND AL,7F
  986. RET
  987.  
  988. A8354
  989. CMP BYTE [823E],00
  990. JZ 835D
  991. AND AL,DC
  992. TEST AL,03
  993. JZ 8363
  994. NOT AL
  995. RET
  996.  
  997. A5239
  998. CALL 8346
  999. NOP
  1000.  
  1001. A529C
  1002. JNZ 52A3
  1003. CALL 8337
  1004. JMP 52A6
  1005. CALL 833F
  1006.  
  1007. A4DBB
  1008. CALL 8354
  1009. NOP
  1010. NOP
  1011. NOP
  1012.  
  1013. A4D70
  1014. CALL 8354
  1015. NOP
  1016. NOP
  1017. NOP
  1018.  
  1019. A
  1020. ;    Patch H (Part 6) 03/23/87:
  1021. ;        Fix test to find old Hercules Mono Cards and some poor clones.
  1022. ;        Replaced by Patch I (Part 1)
  1023.  
  1024. A
  1025. ;    Patch I 06/08/87:
  1026. ;        Chg letter in scroll recall status.
  1027.  
  1028. A0FA9
  1029. DB 'I'
  1030.  
  1031. A
  1032. ;    Patch I (Part 1) 06/08/87:
  1033. ;    Replaces Patch H (Part 6)
  1034. ;        Fix Patch H part 6 to not hang on some non-Herc mono cards.
  1035.  
  1036. AA056
  1037. XOR AX,AX
  1038. CALL 814A
  1039. MOV CX,0002
  1040. MOV DX,03BA
  1041. MOV DI,[1CC8]
  1042. INC DI
  1043. CMP DI,[1CC8]
  1044. JS A089
  1045. IN AL,DX
  1046. ROL AL,1
  1047. JNC A066
  1048. CMP DI,[1CC8]
  1049. JS A089
  1050. IN AL,DX
  1051. ROL AL,1
  1052. JC A071
  1053. LOOP A066
  1054. MOV BYTE [23D7],1
  1055. ADD DL,05
  1056. XOR AL,AL
  1057. OUT DX,AL
  1058.  
  1059. AA0E1
  1060. JMP A0EB
  1061.  
  1062. A
  1063. ;FA0E3 L8 90
  1064.  
  1065. A
  1066. ;    Patch I (Part 2) 06/08/87:
  1067. ;    Requires Patch H (Part 2)
  1068. ;        Fix patch H part 2 mode limiting to not causing hanging.
  1069.  
  1070. A5D6C
  1071. JNZ 5D74
  1072. AND DL,08
  1073. OR DL,07
  1074.  
  1075. A
  1076. ;    Patch I (Part 3) 06/08/87:
  1077. ;    Requires Patch E (Part 2)
  1078. ;        Fix to not use "internal modes" B & C on EGA 
  1079. ;        for loading charsets.  (Smudge chars)
  1080. ;        Replaced by Patch J (Part 6)
  1081.  
  1082. A
  1083. ;    Patch I (Part 4) 06/08/87:
  1084. ;    Requires Patch H (Part 3):
  1085. ;        Fix to initialize correctly with DOS 3.3 so that it 
  1086. ;            may be loaded after another device driver.
  1087.  
  1088. A9B61
  1089. MOV AX,[14FA]
  1090. LES DI,[1CCE]
  1091. ES: MOV WORD PTR [DI+0E],0000
  1092. INC AX
  1093. CALL 9AFE
  1094.  
  1095. A9AFE
  1096. ES: MOV [DI+10],AX
  1097. RET
  1098.  
  1099. A
  1100. ;    Patch J 12/18/87:
  1101. ;        Chg letter in scroll recall status.
  1102.  
  1103. A0FA9
  1104. DB 'J'
  1105.  
  1106. A
  1107. ;    Patch J (Part 1) 12/18/87:
  1108. ;        Fix copyright date range to include 1987.
  1109.  
  1110. A9333
  1111. DB '7'
  1112.  
  1113. A
  1114. ;    Patch J (Part 2) 12/18/87:
  1115. ;    Requires Patch H (Part 2)
  1116. ;        Fix patch H part 2 mode limiting to not exclude AT&T modes.
  1117.  
  1118. A5D77
  1119. XOR DI,DI
  1120. AND AL,07
  1121. CMP AL,07
  1122. JZ 5D82
  1123. MOV DI,0002
  1124. MOV AL,DL
  1125. AND AL,7F
  1126. AND DL,80
  1127. MOV DH,AL
  1128. CALL 5D48
  1129. NOP
  1130. NOP
  1131.  
  1132. A
  1133. ;    Patch J (Part 3) 12/18/87:
  1134. ;    Replaced by Patch L (Part 3):
  1135.  
  1136. A
  1137. ;    Patch J (Part 4) 12/18/87:
  1138. ;        Fix Alt-Ctrl-Grave mode to set AT&T status lights correctly.
  1139.  
  1140. A8399
  1141. CLI
  1142. PUSHF
  1143. CALL FAR [20F0]
  1144. MOV SI,0040
  1145. MOV DS,SI
  1146. MOV AX,[0017]
  1147. CS: MOV [1736],AX
  1148. JMP 51D1
  1149.  
  1150. A522D
  1151. CALL 8399
  1152. NOP
  1153. NOP
  1154. NOP
  1155.  
  1156. A51CC
  1157. CALL 839F
  1158. JMP 51DC
  1159. MOV AL,[0019]
  1160. MOV SI,CS
  1161. MOV DS,SI
  1162. MOV [1739],AL
  1163. RET
  1164.  
  1165. A
  1166. ;    Patch J (Part 5) 12/18/87:
  1167. ;        Add FANSI-mode to turn on Alt-Ctrl-Grave mode "permanently".
  1168.  
  1169. A838A
  1170. CMP SI,2C
  1171. JNE 8391
  1172. XOR SI,SI
  1173. RET
  1174. MOV AL,[153C]
  1175. MOV [1B78],AL
  1176. RET
  1177.  
  1178. A2D7D
  1179. CALL 838A
  1180.  
  1181. A0158
  1182. DW 8292
  1183.  
  1184. A5228
  1185. CALL 8392
  1186. NOP
  1187. NOP
  1188.  
  1189. A
  1190. ;    Patch J (Part 6) 12/18/87:
  1191. ;    Replaces Patch I (Part 3):
  1192. ;    Requires Patch E (Part 2):
  1193. ;        Fix to not use "internal modes" B & C on EGA 
  1194. ;        for loading charsets.  (Smudge chars or all black display)
  1195.  
  1196. A8642
  1197. CALL 846F
  1198. MOV DL,CE
  1199. XOR AX,AX
  1200. PUSH AX
  1201. CALL 846F
  1202. POP AX
  1203. INC AL
  1204. CMP AL,07
  1205. JBE 8649
  1206. MOV AX,0406
  1207. JMP 846F
  1208.  
  1209. A8632
  1210. MOV DX,03C4
  1211. MOV AX,0402
  1212. CALL 846F
  1213. MOV AX,0704
  1214. JMP 8642
  1215.  
  1216. A
  1217. ;    Patch K 12/18/87:
  1218. ;        Chg letter in scroll recall status.
  1219.  
  1220. A0FA9
  1221. DB 'K'
  1222.  
  1223. A
  1224. ;    Patch K (Part 1) 12/18/87:
  1225. ;    Requires Patch H (Part 3):
  1226. ;        Fix to use key status lights correctly on PS/2 models 30 & 80.
  1227.  
  1228. A9B03
  1229. MOV AX,FFFF
  1230. MOV ES,AX
  1231. MOV SI,994A
  1232. ES: MOV AL,[000E]
  1233. RET
  1234. NOP
  1235.  
  1236. AA252
  1237. CALL 9B03
  1238. CMP AL,FC
  1239. JZ A265
  1240. CMP AL,FA
  1241. JZ A265
  1242. CMP AL,F8
  1243. JZ A265
  1244. NOP
  1245.  
  1246. A
  1247. ;    Patch K (Part 2) 12/18/87:
  1248. ;        Fix to fake VGA aware programs to not use mode 13.
  1249.  
  1250. RCX
  1251. A215
  1252.  
  1253. AA2F2
  1254. PUSH BX
  1255. MOV AX,1A00
  1256. INT 10
  1257. CMP AL,1A
  1258. JNZ A311
  1259. CMP BL,07
  1260. JB A311
  1261. AND BL,01
  1262. ADD BL,04
  1263. MOV BYTE PTR [827E],01
  1264. MOV AX,1A01
  1265. INT 10
  1266. POP BX
  1267. JMP A1BB
  1268.  
  1269. AA04E
  1270. CALL A2F2
  1271.  
  1272. A
  1273. ;    Patch K (Part 3) 12/18/87:
  1274. ;    Requires Patch K (Part 2):
  1275. ;        Fix to scale cursor correctly on PS/2's.
  1276.  
  1277. A8364
  1278. CMP CL,DH
  1279. JB 836A
  1280. MOV DH,CL
  1281. CMP CH,DH
  1282. JB 8370
  1283. MOV DH,CH
  1284. INC DH
  1285. SHR DH,1
  1286. SHL DH,1
  1287. CMP DL,DH
  1288. JZ 837D
  1289. CALL 65D4
  1290. RET
  1291. DB 0
  1292. JZ 8389
  1293. CMP CL,[DI+1B0A]
  1294. JB 8389
  1295. XOR CL,CL
  1296. RET
  1297.  
  1298. A8720
  1299. CMP BYTE PTR [827E],00
  1300. JNZ 873B
  1301. INC CL
  1302. MOV AH,CH
  1303. AND AH,1F
  1304. CALL 837F
  1305.  
  1306. A871C
  1307. CALL 8364
  1308.  
  1309. A
  1310. ;    Patch K (Part 4) 12/18/87:
  1311. ;        Fix to treat MC (Media Copy) correctly.
  1312. ;            0-3 should copy IMMEDIATELY and are not implemented
  1313. ;            5,7 should be "Turn ON copy TO"
  1314.  
  1315. A444D
  1316. CMP AL,03
  1317. JBE 4473
  1318. AND AX,03
  1319. MOV DI,AX
  1320. AND AL,01
  1321. XOR DI,AX
  1322.  
  1323. A
  1324. ;    Patch L 01/25/88:
  1325. ;        Chg letter in scroll recall status.
  1326.  
  1327. A0FA9
  1328. DB 'L'
  1329.  
  1330. A
  1331. ;    Patch L (Part 1) 01/25/88:
  1332. ;        Fix copyright date range to include 1988.
  1333.  
  1334. A9333
  1335. DB '8'
  1336.  
  1337. A
  1338. ;    Patch L (Part 2) 01/25/88:
  1339. ;    Replaces Patch J (Part 3):
  1340. ;        Fix to repeat and use cursor keys correctly on 101 key keyboards.
  1341.  
  1342. A0594
  1343. DB 5F
  1344.  
  1345. A
  1346. ;    Patch L (Part 3) 01/25/88:
  1347. ;    Replaces Patch J (Part 3):
  1348. ;        Fix to not limit scan codes at all for Alt-Ctrl-Grave mode.    
  1349. ;        Fix Alt-Ctrl-Grave to use original shifting keys.
  1350.  
  1351. A51E8
  1352. JMP 520A
  1353.  
  1354. A5208
  1355. JMP 5235
  1356. CALL 83AE
  1357. JNZ 51EA
  1358.  
  1359. A5222
  1360. JZ 522D
  1361.  
  1362. A83AE
  1363. AND AL,7F
  1364. CMP BYTE PTR [1B78],01
  1365. RET
  1366.  
  1367. A
  1368. ;    Patch L (Part 4) 01/25/88:
  1369. ;        Fix backspace at top of screen to do nothing.
  1370.  
  1371. A3568
  1372. RET
  1373. NOP
  1374.  
  1375. A
  1376. ;    Patch M 01/25/88:
  1377. ;        Chg letter in scroll recall status.
  1378.  
  1379. A0FA9
  1380. DB 'M'
  1381.  
  1382. A
  1383. ;    Patch M (Part 1) 01/25/88:
  1384. ;        Fix to update keyboard tables for 101/102 key keyboards.
  1385.  
  1386. F09A6 L0028 00
  1387.  
  1388. A0716
  1389. DW 4C23,4D57,4BEF,4C39,4D46,4D81,4BEF,4BEF
  1390. DW 4BEF,4BEF,4BEF,4BEF,4BEF,4BEF,4CAB,4BEF
  1391.  
  1392. A07E8
  1393. DW 4D57
  1394.  
  1395. A07EE
  1396. DW 4D46
  1397.  
  1398. A07F4
  1399. DW 4F2E,4F44
  1400.  
  1401. A07FE
  1402. DW 4F3D,4F53,4EC0,4EA2
  1403.  
  1404. A08B6
  1405. DW 4C23,4D57,4BEF,4C39,4D46,4D81,4BEF,4FA9
  1406. DW 4BEF,4FA9,4FA9,4BEF,4FA9,4BEF,4CAB,4BEF
  1407.  
  1408. A0935
  1409. DB 41
  1410.  
  1411. A0937
  1412. DB 44,43
  1413.  
  1414. A093A
  1415. DB 42
  1416.  
  1417. A099D
  1418. DB 41
  1419.  
  1420. A099F
  1421. DB 44,43
  1422.  
  1423. A09A2
  1424. DB 42
  1425.  
  1426. A0AA4
  1427. DW 4C00
  1428.  
  1429. A0AB8
  1430. DW 565C
  1431.  
  1432. A0ABE
  1433. DW E00D,0004,E02F
  1434.  
  1435. A0AC6
  1436. DW 0008
  1437.  
  1438. A0ACA
  1439. DW 4700,4800,4900,4B00,4D00,4F00,5000,5100,5200,5300
  1440.  
  1441. A0B88
  1442. DW 565C
  1443.  
  1444. A0B8E
  1445. DW E00D,0004,E02F
  1446.  
  1447. A0B96
  1448. DW 0008
  1449.  
  1450. A0B9A
  1451. DW 4700,4800,4900,4B00,4D00,4F00,5000,5100,5200,5300
  1452.  
  1453. A0BCA
  1454. DW 9400
  1455.  
  1456. A0C5E
  1457. DW E00A,0004,9500,7200
  1458.  
  1459. A0C66
  1460. DW 0008,4DE3,7700,00E0,8400,7300,7400,7500,00E0,7600,00E0,00E0,0100
  1461.  
  1462. A0C98
  1463. DW 0E00,A500
  1464.  
  1465. A0CB0
  1466. DW 1A00,1B00,1C00
  1467.  
  1468. A0CCA
  1469. DW 2700,2800,2900
  1470.  
  1471. A0CD2
  1472. DW 2B00
  1473.  
  1474. A0CE2
  1475. DW 3300,3400,3500
  1476.  
  1477. A0CEA
  1478. DW 5500
  1479.  
  1480. A0D10
  1481. DW 4A00
  1482.  
  1483. A0D18
  1484. DW 4E00
  1485.  
  1486. A0D2E
  1487. DW A600,0004,A400
  1488.  
  1489. A0D36
  1490. DW 0008
  1491.  
  1492. A0D3A
  1493. DW 9700,9800,9900,9B00,9D00,9F00,A000,A100,A200,A300
  1494.  
  1495. A0DE4
  1496. DW 4C00
  1497.  
  1498. A0DF8
  1499. DW 565C
  1500.  
  1501. A0DFE
  1502. DW 1C0D,0004,E02F
  1503.  
  1504. A0E06
  1505. DW 0008
  1506.  
  1507. A0E0A
  1508. DW 4700,4800,4900,4B00,4D00,4F00,5000,5100,5200,5300
  1509.  
  1510. A
  1511. ;    Patch M (Part 2) 01/25/88:
  1512. ;        Fix Ctrl NUM & CAPS LOCK for TANDY 1000 when in VT100 mode.
  1513.  
  1514. A94DA
  1515. DW 452B,452B
  1516.  
  1517. A
  1518. ;    Patch M (Part 3) 01/25/88:
  1519. ;        Fix DG1 CMD key to be treated as shiftlike.
  1520.  
  1521. A969E
  1522. DW 4D57
  1523.  
  1524. A96D8
  1525. DW 4D57
  1526.  
  1527. A9712
  1528. DW 4D57
  1529.  
  1530. A
  1531. ;    Patch N 03/28/88:
  1532. ;        Chg letter in scroll recall status.
  1533.  
  1534. A0FA9
  1535. DB 'N'
  1536.  
  1537. A
  1538. ;    Patch N (Part 1) 03/28/87:
  1539. ;    Replaces Patch I (Part 3):
  1540. ;    Replaces Patch J (Part 6):
  1541. ;    Requires Patch E (Part 2):
  1542. ;        Fix to not use "internal modes" B & C on EGA 
  1543. ;        for loading charsets.  (Smudge chars or all black display)
  1544.  
  1545. A22FE
  1546. MOV AL,[234E]
  1547. JZ 230C
  1548. MOV AL,[1B90]
  1549. CMP AL,09
  1550. JZ 230C
  1551. CMP AL,03
  1552. RET
  1553. CALL 22FE
  1554. JNZ 2317
  1555. MOV AL,[1510]
  1556. CMP AL,01
  1557. RET
  1558. CALL 846F
  1559. MOV AX,0300
  1560. CALL 846F
  1561. CALL 230D
  1562. MOV AL,23
  1563. JNZ 2332
  1564. MOV AL,A6
  1565. MOV AH,[234E]
  1566. SHR AH,1
  1567. OR AL,AH
  1568. MOV DX,03C2
  1569. OUT DX,AL
  1570. RET
  1571.  
  1572. A83B6
  1573. CALL 846F
  1574. MOV AX,0406
  1575. JMP 846F
  1576.  
  1577. A8654
  1578. NOT AH
  1579. JMP 83B6
  1580.  
  1581. A8642
  1582. CALL 2318
  1583. MOV DL,CE
  1584. XOR AX,AX
  1585. PUSH AX
  1586. CALL 846F
  1587. POP AX
  1588. INC AL
  1589. CMP AL,07
  1590. JBE 8649
  1591.  
  1592. A8632
  1593. MOV DX,03C4
  1594. MOV AX,0402
  1595. CALL 846F
  1596. MOV AX,0704
  1597. JMP 8642
  1598.  
  1599. A
  1600. ;    Patch N (Part 2) 03/28/88:
  1601. ;        Fix so that /I=1 is appropriate for 
  1602. ;            Sperry/Mitsubishi/Leading Edge Hi Res boards.
  1603.  
  1604. A6B43
  1605. MOV AL,[1511]
  1606. SHL AL,1
  1607. OR AL,[1510]
  1608. JZ 6B5D
  1609. OR AL,01
  1610. MOV AH,AL
  1611. MOV DX,[2352]
  1612. MOV AL,08
  1613. OUT DX,AL
  1614. MOV AL,AH
  1615. INC DX
  1616. OUT DX,AL
  1617. RET
  1618. NOP
  1619. NOP
  1620. NOP
  1621.  
  1622. A2284
  1623. DB 03,0E,0E,0F
  1624.  
  1625. A2294
  1626. DB 03,0E,0E,0F
  1627.  
  1628. A
  1629. ;    Patch N (Part 3) 03/28/88:
  1630. ;    Requires Patch C (Part 7):
  1631. ;        Fix to use EGA table values for total scan lines.
  1632.  
  1633. A83BF
  1634. INC AX
  1635. ES: TEST BYTE [SI+13],80
  1636. JZ 83C9
  1637. SHR AX,1
  1638. JMP 824E
  1639.  
  1640. A879D
  1641. ES: MOV AL,[SI+1C]
  1642. ES: MOV AH,[SI+11]
  1643. SHR AH,1
  1644. AND AH,01
  1645. CALL 83BF
  1646.  
  1647. A
  1648. ;    Patch N (Part 4) 03/28/88:
  1649. ;        Fix MAD ESC and COMMA keys when Ctrl'd or Alt'd.
  1650.  
  1651. A9EB0
  1652. MOV [0C24],AX
  1653. MOV [0B54],AX
  1654.  
  1655. A
  1656. ;    Patch N (Part 5) 03/28/88:
  1657. ;        Fix TRS1000 NUM . keys when Alt-Ctrl'd.
  1658.  
  1659. A94CA
  1660. DW 4C9A
  1661.  
  1662. A
  1663. ;    Patch N (Part 6) 03/28/88:
  1664. ;        Fix to update keyboard tables for FKEYBRD.
  1665.  
  1666. A0666
  1667. DW 4587
  1668.  
  1669. A0680
  1670. DW 4587,4587
  1671.  
  1672. A06D6
  1673. DW 4587
  1674.  
  1675. A06DA
  1676. DW 4587,4587,4587,4587,4587,4587,4587,4587,4587,4587
  1677.  
  1678. A06F8
  1679. DW 4C9A
  1680.  
  1681. A0700
  1682. DW 4C9A
  1683.  
  1684. A070A
  1685. DW 4C9A
  1686.  
  1687. A0710
  1688. DW 4C13,4587,4587
  1689.  
  1690. A071A
  1691. DW 4587
  1692.  
  1693. A0722
  1694. DW 4C9A,4C9A,4C9A,4C9A,4C9A,4C9A,4C9A,4C9A
  1695.  
  1696. A0734
  1697. DW 4C9A
  1698.  
  1699. A0738
  1700. DW 4C13,4C13,4C13,4C13,4C13,4C13,4C13,4C13
  1701. DW 4C13,4C13
  1702.  
  1703. A074E
  1704. DW 4C13,4587
  1705.  
  1706. A0754
  1707. DW 4BAE,4BAE,4BAE,4BAE,4BAE,4BAE,4BAE,4BAE
  1708. DW 4BAE,4BAE,4C13,4C13,4C23
  1709.  
  1710. A0770
  1711. DW 4BAE,4B99,4BAE,4B99,4BAE,4BAE,4BAE,4BAE
  1712. DW 4BAE,4C13,4C13
  1713.  
  1714. A078A
  1715. DW 4C13,4BAE,4BAE,4B8B,4BAE,4BAE,4BAE,4BAE
  1716.  
  1717. A079E
  1718. DW 4C13
  1719.  
  1720. A07A2
  1721. DW 4C39
  1722.  
  1723. A07A6
  1724. DW 4587
  1725.  
  1726. A07AE
  1727. DW 4587,4587,4587,4587,4587,4587,4587,4587
  1728.  
  1729. A07C2
  1730. DW 4D80
  1731.  
  1732. A07CA
  1733. DW 4D80,4D80,4D80
  1734.  
  1735. A07D2
  1736. DW 4D80
  1737.  
  1738. A07E0
  1739. DW 4C13,4587,4587,4C23
  1740.  
  1741. A07EA
  1742. DW 4587
  1743.  
  1744. A07F0
  1745. DW 4D81,4C9A
  1746.  
  1747. A07F8
  1748. DW 4C9A,4C9A,4C9A
  1749.  
  1750. A0806
  1751. DW 4587
  1752.  
  1753. A0820
  1754. DW 4587,4587
  1755.  
  1756. A0876
  1757. DW 4587
  1758.  
  1759. A088A
  1760. DW 4587,4587
  1761.  
  1762. A08B0
  1763. DW 4C13,4587,4587
  1764.  
  1765. A08BA
  1766. DW 4587
  1767.  
  1768. A08C2
  1769. DW 4C9A
  1770.  
  1771. A08C6
  1772. DW 4C9A
  1773.  
  1774. A08CC
  1775. DW 4C9A
  1776.  
  1777. A08D0
  1778. DW 4C9A
  1779.  
  1780. A08D4
  1781. DW 4C9A
  1782.  
  1783. A0AC4
  1784. DW 372A
  1785.  
  1786. A0B4A
  1787. DW 372A
  1788.  
  1789. A0B88
  1790. DW 567C
  1791.  
  1792. A0B94
  1793. DW 372A
  1794.  
  1795. A0B9A
  1796. DW 4737,4838,4939,4B34,4D36,4F31,5032,5133,5230,532E
  1797.  
  1798. A0C3C
  1799. DW 8D00
  1800.  
  1801. A0C40
  1802. DW 8E00
  1803.  
  1804. A0C44
  1805. DW 8F00
  1806.  
  1807. A0C48
  1808. DW 9000
  1809.  
  1810. A0C4C
  1811. DW 9100
  1812.  
  1813. A0C50
  1814. DW 9200,9300
  1815.  
  1816. A0C6C
  1817. DW 8D00
  1818.  
  1819. A0C76
  1820. DW 9100
  1821.  
  1822. A0C7A
  1823. DW 9200
  1824.  
  1825. A0C7C
  1826. DW 9300
  1827.  
  1828. A0CEA
  1829. DW 3700
  1830.  
  1831. A0D20
  1832. DW 5200
  1833.  
  1834. A0D34
  1835. DW 0004
  1836.  
  1837. M0BAE L 00D0 0D4E
  1838.  
  1839. A9470
  1840. DW 4587,4587
  1841.  
  1842. A9480
  1843. DW 4587
  1844.  
  1845. A9488
  1846. DW 4587
  1847.  
  1848. A949A
  1849. DW 4C9A,4587,4587,4587
  1850.  
  1851. A94A4
  1852. DW 4D80
  1853.  
  1854. A94AC
  1855. DW 4D80,4D80,4D80
  1856.  
  1857. A94B4
  1858. DW 4D80,4D80,4D80,4D80,4D80,4D80,4D80,4D80
  1859.  
  1860. A94C6
  1861. DW 4D80
  1862.  
  1863. A94CA
  1864. DW 4D80,4D80,4D80,4D80,4D80
  1865.  
  1866. A94D4
  1867. DW 4587,4587
  1868.  
  1869. A9500
  1870. DW 4587,4587,4587
  1871.  
  1872. A9587
  1873. DW 372A
  1874.  
  1875. M95B5 L 0032 9619
  1876.  
  1877. A96A0
  1878. DW 4587,4587
  1879.  
  1880. A96D2
  1881. DW 4D80,4D80
  1882.  
  1883. A96DA
  1884. DW 4D80,4D80
  1885.  
  1886. A9714
  1887. DW 4587,4587 
  1888.  
  1889. A987F
  1890. DW 532E
  1891.  
  1892. A98A8
  1893. DW 4587,4587,4587,4587,4587,4587,4587,4587,4587,4587,4587,4587
  1894. DW 4587,4587,4587,4587,4587,4587,4587,4587,4587
  1895.  
  1896. F98D2 L 002A 87 45
  1897. F98FC L 002A 87 45
  1898. M99B9 L 002A 9A0D
  1899.  
  1900. A
  1901. ;    Patch N (Part 7) 03/28/88:
  1902. ;        Fix Ctrl-Alt-Delete repeat.
  1903.  
  1904. A4FA2
  1905. JNZ 4FF8
  1906.  
  1907. A4FA8
  1908. JZ 4FF8
  1909.  
  1910. A
  1911. ;    Patch O 06/07/88:
  1912. ;        Chg letter in scroll recall status.
  1913.  
  1914. A0FA9
  1915. DB 'O'
  1916.  
  1917. A
  1918. ;    Patch O (Part 1) 06/07/88:
  1919. ;        Fix character set loading to not output to random port addr.
  1920.  
  1921. A2337
  1922. MOV DI,[234E]
  1923. MOV DX,[DI+0F54]
  1924. RET
  1925. JE 2346
  1926. CMP AL,03
  1927. JA 234B
  1928. MOV AL,09
  1929. CALL 846F
  1930. RET
  1931.  
  1932. A8757
  1933. CALL 2337
  1934. NOP
  1935.  
  1936. A876C
  1937. MOV AL,[23D8]
  1938. CMP AL,07
  1939. CALL 2340
  1940. NOP
  1941.  
  1942. A
  1943. ;    Patch O (Part 2) 06/07/88:
  1944. ;        Fix immediate hanging problems with /Q=1 on some adapters
  1945. ;            such as VEGA VGA.
  1946.  
  1947. A224C
  1948. MOV DI,AX
  1949. MOV DX,[2352]
  1950. PUSH DS
  1951. MOV AX,0040
  1952. MOV DS,AX
  1953. MOV AL,[0065]
  1954. POP DS
  1955. TEST AL,08
  1956. RET
  1957.  
  1958. A679F
  1959. CALL 224C
  1960. NOP
  1961. JZ 67B7
  1962.  
  1963. A
  1964. ;    Patch O (Part 3) 06/07/88:
  1965. ;        Fix keyboard flushing to not use BIOS calls.
  1966. ;            (Fixes KEY-FAKE problems)
  1967.  
  1968. A277B
  1969. RET
  1970.  
  1971. A
  1972. ;    Patch P 06/27/88:
  1973. ;        Chg letter in scroll recall status.
  1974.  
  1975. A0FA9
  1976. DB 'P'
  1977.  
  1978. A
  1979. ;    Patch P (Part 1) 06/27/88:
  1980. ;    Requires Patch O (Part 3)
  1981. ;        Fix Patch K Part 3 to allow FF,00 cursor shape
  1982.  
  1983. A277C
  1984. MOV AH,CL
  1985. AND AH,1F
  1986. CMP AH,DH
  1987. JB 2787
  1988. MOV DH,AH
  1989. RET
  1990.  
  1991. A225F
  1992. AND AH,1F
  1993. CMP AH,DH
  1994. RET
  1995. CMP DH,10
  1996. JA 226D
  1997. CALL 65D4
  1998. RET
  1999.  
  2000. A8364
  2001. CALL 277C
  2002. MOV AH,CH
  2003. CALL 225F
  2004. JB 8370
  2005. MOV DH,AH
  2006.  
  2007. A837A
  2008. CALL 2265
  2009.  
  2010. A
  2011. ;    Patch P (Part 2) 06/27/88:
  2012. ;        Fix UK character set pound and dollar sign.
  2013.  
  2014. A11D9
  2015. DB 9C,24
  2016.  
  2017. A
  2018. ;    Patch P (Part 3) 06/27/88:
  2019. ;        Fix LSR's to not affect GL and only have effects in 8-bits.
  2020. ;        Fix LSL's to affect GR only in 7-bits.
  2021.  
  2022. A3858
  2023. CMP BYTE [1506],01
  2024. JNZ 3865
  2025. MOV [1720],AX
  2026. NOP
  2027. NOP
  2028. NOP
  2029.  
  2030. A3870
  2031. CMP BYTE [1506],00
  2032.  
  2033. A
  2034. ;    Patch Q 09/02/88:
  2035. ;        Chg letter in scroll recall status.
  2036.  
  2037. A0FA9
  2038. DB 'Q'
  2039.  
  2040. A
  2041. ;    Patch Q (Part 1) 09/02/88:
  2042. ;        Fix scrolling to use XOR bit as intensity bit too.
  2043. ;            (No bright colors in some graphics modes).
  2044.  
  2045. A779C
  2046. TEST AL,F0
  2047. JZ 77A6
  2048.  
  2049. A8BCD
  2050. AND AL,F0
  2051.  
  2052. A
  2053. ;    Patch R 09/26/88:
  2054. ;        Chg letter in scroll recall status.
  2055.  
  2056. A0FA9
  2057. DB 'R'
  2058.  
  2059. A
  2060. ;    Patch R (Part 1) 09/26/88:
  2061. ;        Fix INT 16H, AH=03H to range check at 5 not 8.
  2062.  
  2063. A5C0B
  2064. CMP AL,05
  2065.  
  2066. A
  2067. ;    Patch R (Part 2) 09/26/88:
  2068. ;    Requires Patch K (Part 1):    
  2069. ;        Fix to use key status lights correctly on PS/2 model 30.
  2070.  
  2071. AA25B
  2072. NOP
  2073. NOP
  2074.  
  2075. A
  2076. ;    Patch R (Part 3) 09/26/88:
  2077. ;        Fix border saving address.
  2078.  
  2079. A89E3
  2080. ES: MOV [SI+0011],AL
  2081.  
  2082. A
  2083. ;    Patch S 10/28/88:
  2084. ;        Chg letter in scroll recall status.
  2085.  
  2086. A0FA9
  2087. DB 'S'
  2088.  
  2089. A
  2090. ;    Patch S (Part 1) 10/28/88:
  2091. ;        Fix border saving address.
  2092.  
  2093. A89E3
  2094. ES: MOV [SI+0010],AL
  2095.  
  2096. A
  2097. ;    Patch T 01/04/89:
  2098. ;        Chg letter in scroll recall status.
  2099.  
  2100. A0FA9
  2101. DB 'T'
  2102.  
  2103. A
  2104. ;    Patch T (Part 1) 01/04/89:
  2105. ;        Fix INT 10H, AH=13H to leave cursor at active position.
  2106.  
  2107. A6485
  2108. NOP
  2109. NOP
  2110.  
  2111. A
  2112. ;    Patch T (Part 2) 01/04/89:
  2113. ;        Fix CGA palette reg to include useless bits set by IBM.
  2114.  
  2115. A6D41
  2116. OR AL,30
  2117.  
  2118. A226E
  2119. OR AL,30
  2120. JMP 60E9
  2121.  
  2122. A775E
  2123. CALL 226E
  2124.  
  2125. A
  2126. ;    Patch T (Part 3) 01/04/89:
  2127. ;        Fix INT 10H, AH=0xH to not recalculate scan limit/rows/spacing.
  2128.  
  2129. A8AA6
  2130. CALL 8AAC
  2131. JMP 6696
  2132. PUSH CX
  2133. MOV DI,[234E]
  2134. JMP 8775
  2135.  
  2136. A
  2137. ;    Patch T (Part 4) 01/04/89:
  2138. ;        Chg copyright end year to 1989.
  2139.  
  2140. A9333
  2141. DB '9'
  2142.  
  2143. A
  2144. ;    Patch U 11/29/89:
  2145. ;        Chg letter in scroll recall status.
  2146.  
  2147. A0FA9
  2148. DB 'U'
  2149.  
  2150. A8AB4
  2151. ;    Requires Patch T (Part 3):
  2152. ;    Next patch address.
  2153. ;    Last patch address plus 1 = 8ABC.
  2154.  
  2155. A83CC
  2156. ;    Next patch address.
  2157. ;    Last patch address plus 1 = 83D0.
  2158.  
  2159. A2273
  2160. ;    Next patch address.
  2161. ;        (key_marker_stack_area)
  2162. ;    Last patch address plus 1 = 237E.
  2163. ;    Other areas to look into:
  2164. ;        key_vt100_num 08d6-090c
  2165. ;        key_vt100_xlat 09a6-09dc
  2166. ;        key_vt100_alt 0a3e-0a74
  2167. ;        stack area
  2168.  
  2169. A8659
  2170. ;    EGA-only patch space.
  2171. ;    Last patch address plus 1 = 865B.
  2172. ;    Requires Patch E (Part 2)
  2173.  
  2174. AA0E3
  2175. ;    Init-only patch space.
  2176. ;    Last patch address plus 1 = A0EB.
  2177. ;    Requires Patch H (Part 6)
  2178.  
  2179. W
  2180. Q
  2181.