home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload
/
ShartewareOverload.cdr
/
utils
/
fcons1.zip
/
FCON200.PCH
< prev
next >
Wrap
Text File
|
1989-11-27
|
28KB
|
2,181 lines
A
; This is file: FCONSOLE.PCH / FCON200.PCH
;
; Use it only on FCONBETA.DEV/FCONSOLE.DEV version 2.00
; regardless of current the revision letter suffix,
; to bring your version up to the latest 2.00 revision.
; By our design, you may reapply this complete patch file and
; its successor versions, over and over, with the same result:
; The latest 2.00 version!
; No amount of patches will change the base number of a version.
;
; To use it: DEBUG FCONSOLE.DEV <FCON200.PCH
;
; When this command is given, this file will be echoed to your screen.
; Under DOS 2, the debugger may give error messages for the lines
; starting with semicolons. This is OK! Errors for other lines are not!
; If you get errors for every line, temporarily remove "CED"/"DOSEDIT"
; or other DOS command editor program from your AUTOEXEC.BAT file,
; reboot, and try it again!
;
; You then need to restart MS-DOS once the patch is applied.
A
; Patch A 11/02/86:
; Chg letter in scroll recall status.
A0FA9
DB 'A'
A
; Patch A (Part 1) 11/02/86:
; Fix Compaq scrn mode initialization table #.
; Symptoms:
; Screen comes up with 8 pixel rows
; per char instead of 14.
A81D0
ES: MOV BYTE [15C8],AL
ES: MOV BYTE [1518],AL
RET
AA019
CALL 81D0
NOP
A
; Patch A (Part 2) 11/02/86:
; Fix to not find "Compaq" on non-"Compaq".
; Symptoms:
; Screen display comes up distorted.
A81D9
MOV DX,SI
MOV SI,F0A4
MOV AX,DX
AND AL,BF
CMP AX,SI
RET
A9FE1
CALL 81D9
JNZ A023
A
; Patch A (Part 3) 11/02/86:
; Fix LF at FF,FF to roll to 0,FF.
; Symptoms:
; Screen writing does not appear on screen.
A35F9
JZ 3614
CMP DH,[1ED6]
JB 3644
JBE 361D
CMP DH,[1514]
JAE 3614
MOV AX,[DI+2354]
ADD AX,[1516]
JMP 3398
A3618
DEC DH
JMP 338E
A
; Patch A (Part 4) 11/02/86:
; Fix so changing FANSI-CRTTABLE resets page base to zero.
; Symptoms:
; Alt-Ctrl-LessThan/Alt-Ctrl-GreaterThan
; cause old data to appear.
A81E5
CALL 6DDE
JMP 665C
A616C
CALL 81E5
A
; Patch A (Part 5) 11/02/86:
; Fix FANSI-QUICK to use 16KB at most.
; Fix to have at least one page for each display.
A81EB
CMP BYTE [DI+1BA4],0
JNZ 81FB
MOV AX,2000
CMP SI,AX
JBE 81FB
MOV SI,AX
AND SI,SI
JNZ 8202
MOV SI,0800
MOV [DI+23C6],SI
RET
AA0BC
CALL 81EB
NOP
A
; Patch B 11/07/86:
; Chg letter in scroll recall status.
A0FA9
DB 'B'
A
; Patch B (Part 1) 11/07/86:
; Fix CGA cursor shape routine for slow blinking cursor.
;
A8207
MOV AX,CX
AND AX,1F1F
MOV DH,08
RET
A6B88
CALL 8207
NOP
CMP AL,DH
JA 6B94
CMP AH,DH
JBE 6B96
MOV DH,0E
A
; Patch B (Part 2) 11/07/86:
; Fix palette setting routine to use mono colors only
; for FANSI-NOCOLOR.
A820F
CMP BYTE [1541],0
JZ 8223
MOV DL,AL
AND AL,7
JZ 821E
MOV AL,7
AND DL,F8
OR AL,DL
JMP 8478
A84B3
CALL 820F
A
; Patch B (Part 3) 11/07/86:
; Requires Patch A (Part 1)
; Fix Compaq external monitor scrn mode initialization table #.
; Symptoms:
; Using external monitor on Compaq causes
; distorted screen.
A8226
CMP DX,SI
JNZ 81D0
RET
A9FFD
MOV AX,CS
; Watch out for bug in Compaq debugger:
; It does not assemble following instruction correctly!
; MOV ES,AX
; Use DB 8E,C0 instead
DB 8E,C0
AA019
ES: MOV [15C0],AL
CALL 8226
NOP
A
; Patch B (Part 4) 11/07/86:
; Fix /R=nn to not clobber 0000:0002.
; Symptoms:
; NMI interrupt handler may fail and cause hanging.
A31A6
MOV AX,DS
MOV ES,AX
MOV CX,0004
MOV DI,1616
MOV SI,00DE
REPZ
MOVSW
CALL 312D
A
; Patch B (Part 5) 11/07/86:
; Fix BIOS print screen flag saved in alternate printer.
A7F91
MOV AX,0040
MOV ES,AX
JZ 7F9A
MOV AH,FF
A
; Patch B (Part 6) 11/07/86:
; Fix FANSI-TIMEKEYS.
; Symptoms:
; FANSI-TIMEKEYS always acts reset.
A01AC
DW 2AF5
A
; Patch B (Part 7) 11/07/86:
; Fix scroll lock/num lock hanging problems
; caused by some computers' incompatible INT 15
; handlers which left interrupts off.
; May have caused problems with serial/modem programs.
A822B
MOV AL,02
STC
INT 15
STI
RET
A517F
CALL 822D
A4C43
MOV AH,91
CALL 822B
A5BDA
MOV AH,90
CALL 822B
A4F0C
JNZ 4F1B
A4F1A
STI
RET
A4F28
JMP 4F18
A
; Patch C 11/26/86:
; Chg letter in scroll recall status.
A0FA9
DB 'C'
A
; Patch C (Part 1) 11/26/86:
; Fix IL/DL/RI/SD/SU to clear one line region.
; Symptoms:
; Some one line regions do not erase properly.
A3505
CALL 342F
MOV AH,DH
DEC DH
DEC DL
A
; Patch C (Part 2) 11/26/86:
; Fix so setting FANSI-CRTTABLE does not unhide cursor.
; Symptoms:
; Alt-Ctrl-LessThan/Alt-Ctrl-GreaterThan
; change cursor shape and cause it to show.
A8232
MOV DI,[234E]
JMP [DI+230E]
A6181
CALL 8232
A
; Patch C (Part 3) 11/26/86:
; Fix EMS recall allocation to be zero when no room left.
; Symptoms:
; Setting FANSI-RECALL when no EMS space is left
; causes it to think 6555 lines are allocated.
A3065
XOR DX,DX
AND BX,BX
JZ 3074
DEC BX
JNZ 305D
NOP
NOP
NOP
NOP
NOP
NOP
A
; Patch C (Part 4) 11/26/86:
; Fix key repeat rate to work in local modes
; when FANSI-SUPERKEY is reset
A823A
CLI
CALL [1768]
STI
JNZ 8245
CALL 4B28
RET
A810F
CALL 823A
A
; Patch C (Part 5) 11/26/86:
; Fix border on EGD in modes 13 and 14 when EGDBORDER is reset.
; Symptoms:
; Border does not show in modes 13 and 14.
A8987
CMP AH,0E
A
; Patch C (Part 6) 11/26/86:
; Chg so that setting screen display mode sets Gsets to default.
; Symptoms:
; Cannot use MODE CO80 to clear alternate charsets.
A8246
CALL 2AFD
JMP 29C7
A61DC
CALL 8246
A2D15
CALL 8246
A
; Patch C (Part 7) 11/26/86:
; Fix so that total scan lines are used even when
; fonts are automatically loaded at mode change time.
A824C
DW 0000
MOV [23C2],AX
MOV [814C],AX
RET
A87AA
CALL 824E
A8787
MOV [814C],AX
A891E
MOV AX,[814C]
A
; Patch C (Part 8) 11/26/86:
; Fix so that Compaq color table is CRTTABLE 0, not 1.
; Symptoms:
; Alt-Ctrl-GreaterThan/Alt-Ctrl-LessThan work backwards.
AA007
JBE A00B
A
; Patch C (Part 9) 11/26/86:
; Fix to not include device name as parameters when
; path includes minus sign
; Symptoms:
; Strange character sets in graphics modes.
A8255
JCXZ 8259
MOV BL,0A
CALL 9D27
JZ 8259
RET
A9D4B
RET
NOP
A9D19
MOV BX,0010
CALL 9D27
JNZ 9D59
CALL 8255
JMP 9D4D
NOP
A825F
ES: LES SI,[SI+0012]
MOV DI,SI
CALL 9CFF
CMP AL,0D
JZ 8277
INC SI
CMP AL,5C
JZ 8263
CMP AL,2E
JZ 8263
JMP 8265
MOV SI,DI
RET
A9D60
CALL 825F
NOP
A
; Patch D 12/13/86:
; Chg letter in scroll recall status.
A0FA9
DB 'D'
A
; Patch D (Part 1) 12/13/86:
; Fix FANSI-CLICKREP to not repeat shift/lock clicks.
A516D
JMP 517B
MOV AL,[155F]
OR [1B76],AL
JMP 46B7
NOP
NOP
A4C40
CALL 516F
A
; Patch D (Part 2) 12/13/86:
; Fix FANSI-RECALL set to zero causing hanging.
A827A
MOV [151A],AX
MOV [1B8E],AL
RET
A3158
CALL 827A
A
; Patch D (Part 3) 12/13/86:
; Fix so lock status lights on 386 work.
; Symptoms:
; Locking lights did not light.
A8281
PUSH CX
MOV CX,0077
CALL [24A2]
POP CX
RET
A8293
CALL 8281
TEST BYTE [1738],30
RET
A7DFD
MOV CX,0064
CALL 8293
NOP
NOP
A
; Patch D (Part 4) 12/13/86:
; Fix enhanced mode scroll of nonleft justified area.
; Symptoms:
; Freelance screens messed up.
A829C
ADD AL,CL
ADC AH,0
RET
A8D83
CALL 829C
NOP
A
; Patch D (Part 5) 12/13/86:
; Fix number of mode F&10 pages when FANSI-DBLROWS is set.
; Symptoms:
; Freelance screens messed up.
A82A2
CMP BYTE [1511],1
JNZ 82AE
CMP BYTE [23D5],0
RET
A5F03
CALL 82A2
NOP
NOP
A
; Patch D (Part 6) 12/13/86:
; Fix to preserve AX across INT 10H, AH=13H.
; Symptoms:
; Freelance screens messed up.
A82AF
PUSH AX
JMP 640E
A82B3
POP CX
POP BX
POP AX
RET
A1454
DW 81AF
A14F6
DW 81AF
A1550
DW 81AF
A15AA
DW 81AF
A8438
DW 81AF
A6499
JMP 82B3
A641D
MOV ES,[BP+10]
A
; Patch D (Part 7) 12/13/86:
; Fix so that does not examine next line when no parameters.
; Symptoms:
; Extra parameters read from next line in CONFIG.SYS.
A82B7
CALL 9CFF
CMP AL,0D
JZ 82C0
CMP AL,0A
RET
A8265
CALL 82B7
NOP
NOP
A9D64
CALL 82B7
NOP
NOP
A9D74
CALL 82B7
NOP
NOP
A
; Patch D (Part 8) 12/13/86:
; Fix to not hang waiting for vertical retrace on autoswitch EGAs.
; Symptoms:
; Hanging with screen blank.
A82C1
MOV AL,[836C]
AND AL,AL
JZ 82CD
IN AL,DX
AND AL,08
JZ 82C8
RET
NOP
A8494
NOP
CALL 82C1
CLI
IN AL,DX
A
; Patch D (Part 9) 12/13/86:
; Fix KPNM to be effective.
; Symptoms:
; KPNM does not work.
A3E99
JMP 3E93
A
; Patch E 12/26/86:
; Chg letter in scroll recall status.
A0FA9
DB 'E'
A
; Patch E (Part 1) 12/26/86:
; Fix assignment of extended keycodes in macros
; to correctly allocate memory required.
; Symptoms:
; Mostly hanging but sometimes strange macros.
A42FE
AND AX,AX
A
; Patch E (Part 2) 12/26/86:
; Fix to use exact same length as IBM EGA for graphics modes.
; Symptoms:
; Freelance screens messed up.
A0FFD
DW 4000
DW 4000
DW 4000
DW 0002
DW 4000
DW 4000
DW 4000
DW 1000
DW 1000
DW 2000
DW 4000
DW 8000
DW 8000
DW 8000
DW 8000
A8640
JMP 865B
A
;F8642 L19 90
A830F
CMP BYTE [23D5],0
JNZ 831C
MOV AX,[15A8]
JMP 2A1D
MOV AX,[23B8]
JMP 2A2A
A2A1A
JMP 830F
A
; Patch E (Part 3) 12/26/86:
; Chg to reduce stack requirements in timer interrupt.
; Reduce problems with multiple resident programs.
; Only use if you experience automatic exits from 1-2-3!
; NOTE:
; BECAUSE THIS IS *NOT* A BUG IN FANSI-CONSOLE,
; THIS PATCH IS A *COMMENT* HERE.
; TO REALLY APPLY THIS PATCH,
; YOU MUST USE THE FILE 123V200.PCH
; OR REMOVE THE SEMICOLONS HERE!
A82CF
;DW 0
A82D1
;MOV AX,SS
;MOV DX,SP
;MOV DI,CS
;CLI
;CMP AX,DI
;JZ 82E9
;CS: CMP BYTE [81CF],0
;JNZ 82E9
;MOV SS,DI
;MOV SP,21FE
;CS: PUSH [81CF]
;CS: MOV BYTE [81CF],1
;STI
;PUSHF
;CS: CALL FAR [24B8]
;JMP 8047
A82FE
;POP DS
;POP AX
;CLI
;CS: POP [81CF]
;MOV SS,AX
;MOV SP,DX
;STI
;POP DI
;POP DX
;POP AX
;IRET
A8041
;PUSH AX
;PUSH DX
;PUSH DI
;JMP 82D1
A8147
;JMP 82FE
A
; Patch E (Part 4) 12/26/86:
; Fix INT 10H, AH=0EH, and AH=13H
; to calculate correct base in enhanced modes.
; Symptoms:
; Freelance screens messed up.
A9092
CALL 8E3B
A
; Patch E (Part 5) 12/26/86:
; Fix INT 10H, AH=13H to use correct reg for string type.
; Symptoms:
; Freelance screens messed up.
A642B
XCHG AL,BH
A
; Patch F 12/31/86:
; Chg letter in scroll recall status.
A0FA9
DB 'F'
A
; Patch F (Part 1) 12/31/86:
; Requires patch D (Part 8):
; Fix to not miss other interrupts while chging palettes on EGAs.
; Symptoms:
; Serial/communications program misses incoming chars.
A82CD
RET
NOP
A8495
CALL 82C1
CLI
IN AL,DX
A
; Patch F (Part 2) 12/31/86:
; Requires patch E (Part 2):
; Fix patch E part 2 to not do strange things on non-EGAs.
A
;F8642 L19 90
A830F
CMP BYTE [23D5],0
JNZ 831C
MOV AX,[15A8]
JMP 2A1D
MOV AX,[23B8]
JMP 2A2A
A2A1A
JMP 830F
A
; Patch G 01/18/87:
; Chg letter in scroll recall status.
A0FA9
DB 'G'
A
; Patch G (Part 1) 01/18/87:
; Fix INT 10 AH=10,AL=1,for EGA's to not clobber SI.
; Symptoms:
; Strange behavior
A8322
AND AL,20
ROR AL,1
RET
A8327
POP SI
JMP 848B
A8A7E
CALL 8322
PUSH SI
A8A9A
JMP 8327
A
; Patch G (Part 2) 01/18/87:
; Fix INT 10, AH=11,AL=30,BH=0 to return INT 1F, not 1D.
; Symptoms:
; Complaints about no EGA.
A610E
ES: LES BP,[007C]
A
; Patch G (Part 3) 01/18/87:
; Fix so that keystrokes are not missed on high speed ATs.
; (Removes part of Patch D Part 3).
;
; Patch G (Part 4) 01/18/87:
; Fix so we do not violate assumption that INT 16s do
; happen during INT 10s.
; (They will anyway, but not because of us!)
; (Wordperfect Tutor, XRAY)
; Symptoms:
; Hanging when keys are pressed
A7DC7
MOV CX,1000
IN AL,64
AND AL,02
A828B
PUSH SI
CALL 5BA0
STI
POP SI
RET
NOP
A5CDE
NOP
CALL 828B
A
; Patch H 03/23/87:
; Chg letter in scroll recall status.
A0FA9
DB 'H'
A
; Patch H (Part 1) 03/23/87:
; Fix so that printing highlighted lines works when
; FANSI-SAVEATTR is reset.
; Symptoms:
; Only every other character gets printed.
A832B
ES: LODSB
ES: CMP BYTE [6],0
JZ 8336
INC SI
RET
A5608
CALL 832B
A
; Patch H (Part 2) 03/23/87:
; Fix mode limiting to allow mono to be used inspite of
; equipment flag setting.
; (Periscope/Codeview on two screens should now work).
; (MODE MONO should now work).
A5D6C
JNZ 5D74
AND DL,08
OR DL,07
NOP
A5D81
XOR DI,DI
MOV AL,DH
AND AL,07
CMP AL,07
JE 5D8E
MOV DI,0002
MOV AL,DH
CMP AL,07
JBE 5DAB
CMP AL,12
JA 5DA3
CMP AL,10
JA 5DAB
CMP BYTE [1BA4+DI],00
JNZ 5DAB
MOV DH,07
AND DI,DI
JZ 5DAB
MOV DH,03
MOV AL,DH
NOP
A
; Patch H (Part 3) 03/23/87:
; Fix to initialize correctly with DOS 3.3 instead of
; not linking in FCON device.
; (FANSISET/FLAYOUT/DEJAVU can now "find" FANSI-CONSOLE)
; See also Patch I (Part 4)!
A0100
DW 001C
A9AFC
JMP 9B11
A
;F9AFE L13 90
A
; Patch H (Part 4) 03/23/87:
; Add support for F11 and F12.
A0710
DW 4BEF,4BEF,4BEF
A08B0
DW 4BEF,4BEF,4BEF
A0AB8
DB '/',56
DW 8500,8600
A0B88
DB '/',56
DW 8700,8800
A0C5A
DW 8900,8A00
A0D2A
DW 8B00,8C00
A0DF8
DB '/',56
DW 8500,8600
A0594
DB 58
A
; Patch H (Part 5) 03/23/87:
; Chg for bug in AST keyboards.
; (Cursor keys generate numerics)
A8337
CLI
OR BYTE [1738],20
RET
A833E
DB 0
MOV BYTE [823E],01
RET
A8346
AND AH,AH
JNS 834F
MOV BYTE [823E],00
MOV AL,AH
AND AL,7F
RET
A8354
CMP BYTE [823E],00
JZ 835D
AND AL,DC
TEST AL,03
JZ 8363
NOT AL
RET
A5239
CALL 8346
NOP
A529C
JNZ 52A3
CALL 8337
JMP 52A6
CALL 833F
A4DBB
CALL 8354
NOP
NOP
NOP
A4D70
CALL 8354
NOP
NOP
NOP
A
; Patch H (Part 6) 03/23/87:
; Fix test to find old Hercules Mono Cards and some poor clones.
; Replaced by Patch I (Part 1)
A
; Patch I 06/08/87:
; Chg letter in scroll recall status.
A0FA9
DB 'I'
A
; Patch I (Part 1) 06/08/87:
; Replaces Patch H (Part 6)
; Fix Patch H part 6 to not hang on some non-Herc mono cards.
AA056
XOR AX,AX
CALL 814A
MOV CX,0002
MOV DX,03BA
MOV DI,[1CC8]
INC DI
CMP DI,[1CC8]
JS A089
IN AL,DX
ROL AL,1
JNC A066
CMP DI,[1CC8]
JS A089
IN AL,DX
ROL AL,1
JC A071
LOOP A066
MOV BYTE [23D7],1
ADD DL,05
XOR AL,AL
OUT DX,AL
AA0E1
JMP A0EB
A
;FA0E3 L8 90
A
; Patch I (Part 2) 06/08/87:
; Requires Patch H (Part 2)
; Fix patch H part 2 mode limiting to not causing hanging.
A5D6C
JNZ 5D74
AND DL,08
OR DL,07
A
; Patch I (Part 3) 06/08/87:
; Requires Patch E (Part 2)
; Fix to not use "internal modes" B & C on EGA
; for loading charsets. (Smudge chars)
; Replaced by Patch J (Part 6)
A
; Patch I (Part 4) 06/08/87:
; Requires Patch H (Part 3):
; Fix to initialize correctly with DOS 3.3 so that it
; may be loaded after another device driver.
A9B61
MOV AX,[14FA]
LES DI,[1CCE]
ES: MOV WORD PTR [DI+0E],0000
INC AX
CALL 9AFE
A9AFE
ES: MOV [DI+10],AX
RET
A
; Patch J 12/18/87:
; Chg letter in scroll recall status.
A0FA9
DB 'J'
A
; Patch J (Part 1) 12/18/87:
; Fix copyright date range to include 1987.
A9333
DB '7'
A
; Patch J (Part 2) 12/18/87:
; Requires Patch H (Part 2)
; Fix patch H part 2 mode limiting to not exclude AT&T modes.
A5D77
XOR DI,DI
AND AL,07
CMP AL,07
JZ 5D82
MOV DI,0002
MOV AL,DL
AND AL,7F
AND DL,80
MOV DH,AL
CALL 5D48
NOP
NOP
A
; Patch J (Part 3) 12/18/87:
; Replaced by Patch L (Part 3):
A
; Patch J (Part 4) 12/18/87:
; Fix Alt-Ctrl-Grave mode to set AT&T status lights correctly.
A8399
CLI
PUSHF
CALL FAR [20F0]
MOV SI,0040
MOV DS,SI
MOV AX,[0017]
CS: MOV [1736],AX
JMP 51D1
A522D
CALL 8399
NOP
NOP
NOP
A51CC
CALL 839F
JMP 51DC
MOV AL,[0019]
MOV SI,CS
MOV DS,SI
MOV [1739],AL
RET
A
; Patch J (Part 5) 12/18/87:
; Add FANSI-mode to turn on Alt-Ctrl-Grave mode "permanently".
A838A
CMP SI,2C
JNE 8391
XOR SI,SI
RET
MOV AL,[153C]
MOV [1B78],AL
RET
A2D7D
CALL 838A
A0158
DW 8292
A5228
CALL 8392
NOP
NOP
A
; Patch J (Part 6) 12/18/87:
; Replaces Patch I (Part 3):
; Requires Patch E (Part 2):
; Fix to not use "internal modes" B & C on EGA
; for loading charsets. (Smudge chars or all black display)
A8642
CALL 846F
MOV DL,CE
XOR AX,AX
PUSH AX
CALL 846F
POP AX
INC AL
CMP AL,07
JBE 8649
MOV AX,0406
JMP 846F
A8632
MOV DX,03C4
MOV AX,0402
CALL 846F
MOV AX,0704
JMP 8642
A
; Patch K 12/18/87:
; Chg letter in scroll recall status.
A0FA9
DB 'K'
A
; Patch K (Part 1) 12/18/87:
; Requires Patch H (Part 3):
; Fix to use key status lights correctly on PS/2 models 30 & 80.
A9B03
MOV AX,FFFF
MOV ES,AX
MOV SI,994A
ES: MOV AL,[000E]
RET
NOP
AA252
CALL 9B03
CMP AL,FC
JZ A265
CMP AL,FA
JZ A265
CMP AL,F8
JZ A265
NOP
A
; Patch K (Part 2) 12/18/87:
; Fix to fake VGA aware programs to not use mode 13.
RCX
A215
AA2F2
PUSH BX
MOV AX,1A00
INT 10
CMP AL,1A
JNZ A311
CMP BL,07
JB A311
AND BL,01
ADD BL,04
MOV BYTE PTR [827E],01
MOV AX,1A01
INT 10
POP BX
JMP A1BB
AA04E
CALL A2F2
A
; Patch K (Part 3) 12/18/87:
; Requires Patch K (Part 2):
; Fix to scale cursor correctly on PS/2's.
A8364
CMP CL,DH
JB 836A
MOV DH,CL
CMP CH,DH
JB 8370
MOV DH,CH
INC DH
SHR DH,1
SHL DH,1
CMP DL,DH
JZ 837D
CALL 65D4
RET
DB 0
JZ 8389
CMP CL,[DI+1B0A]
JB 8389
XOR CL,CL
RET
A8720
CMP BYTE PTR [827E],00
JNZ 873B
INC CL
MOV AH,CH
AND AH,1F
CALL 837F
A871C
CALL 8364
A
; Patch K (Part 4) 12/18/87:
; Fix to treat MC (Media Copy) correctly.
; 0-3 should copy IMMEDIATELY and are not implemented
; 5,7 should be "Turn ON copy TO"
A444D
CMP AL,03
JBE 4473
AND AX,03
MOV DI,AX
AND AL,01
XOR DI,AX
A
; Patch L 01/25/88:
; Chg letter in scroll recall status.
A0FA9
DB 'L'
A
; Patch L (Part 1) 01/25/88:
; Fix copyright date range to include 1988.
A9333
DB '8'
A
; Patch L (Part 2) 01/25/88:
; Replaces Patch J (Part 3):
; Fix to repeat and use cursor keys correctly on 101 key keyboards.
A0594
DB 5F
A
; Patch L (Part 3) 01/25/88:
; Replaces Patch J (Part 3):
; Fix to not limit scan codes at all for Alt-Ctrl-Grave mode.
; Fix Alt-Ctrl-Grave to use original shifting keys.
A51E8
JMP 520A
A5208
JMP 5235
CALL 83AE
JNZ 51EA
A5222
JZ 522D
A83AE
AND AL,7F
CMP BYTE PTR [1B78],01
RET
A
; Patch L (Part 4) 01/25/88:
; Fix backspace at top of screen to do nothing.
A3568
RET
NOP
A
; Patch M 01/25/88:
; Chg letter in scroll recall status.
A0FA9
DB 'M'
A
; Patch M (Part 1) 01/25/88:
; Fix to update keyboard tables for 101/102 key keyboards.
F09A6 L0028 00
A0716
DW 4C23,4D57,4BEF,4C39,4D46,4D81,4BEF,4BEF
DW 4BEF,4BEF,4BEF,4BEF,4BEF,4BEF,4CAB,4BEF
A07E8
DW 4D57
A07EE
DW 4D46
A07F4
DW 4F2E,4F44
A07FE
DW 4F3D,4F53,4EC0,4EA2
A08B6
DW 4C23,4D57,4BEF,4C39,4D46,4D81,4BEF,4FA9
DW 4BEF,4FA9,4FA9,4BEF,4FA9,4BEF,4CAB,4BEF
A0935
DB 41
A0937
DB 44,43
A093A
DB 42
A099D
DB 41
A099F
DB 44,43
A09A2
DB 42
A0AA4
DW 4C00
A0AB8
DW 565C
A0ABE
DW E00D,0004,E02F
A0AC6
DW 0008
A0ACA
DW 4700,4800,4900,4B00,4D00,4F00,5000,5100,5200,5300
A0B88
DW 565C
A0B8E
DW E00D,0004,E02F
A0B96
DW 0008
A0B9A
DW 4700,4800,4900,4B00,4D00,4F00,5000,5100,5200,5300
A0BCA
DW 9400
A0C5E
DW E00A,0004,9500,7200
A0C66
DW 0008,4DE3,7700,00E0,8400,7300,7400,7500,00E0,7600,00E0,00E0,0100
A0C98
DW 0E00,A500
A0CB0
DW 1A00,1B00,1C00
A0CCA
DW 2700,2800,2900
A0CD2
DW 2B00
A0CE2
DW 3300,3400,3500
A0CEA
DW 5500
A0D10
DW 4A00
A0D18
DW 4E00
A0D2E
DW A600,0004,A400
A0D36
DW 0008
A0D3A
DW 9700,9800,9900,9B00,9D00,9F00,A000,A100,A200,A300
A0DE4
DW 4C00
A0DF8
DW 565C
A0DFE
DW 1C0D,0004,E02F
A0E06
DW 0008
A0E0A
DW 4700,4800,4900,4B00,4D00,4F00,5000,5100,5200,5300
A
; Patch M (Part 2) 01/25/88:
; Fix Ctrl NUM & CAPS LOCK for TANDY 1000 when in VT100 mode.
A94DA
DW 452B,452B
A
; Patch M (Part 3) 01/25/88:
; Fix DG1 CMD key to be treated as shiftlike.
A969E
DW 4D57
A96D8
DW 4D57
A9712
DW 4D57
A
; Patch N 03/28/88:
; Chg letter in scroll recall status.
A0FA9
DB 'N'
A
; Patch N (Part 1) 03/28/87:
; Replaces Patch I (Part 3):
; Replaces Patch J (Part 6):
; Requires Patch E (Part 2):
; Fix to not use "internal modes" B & C on EGA
; for loading charsets. (Smudge chars or all black display)
A22FE
MOV AL,[234E]
JZ 230C
MOV AL,[1B90]
CMP AL,09
JZ 230C
CMP AL,03
RET
CALL 22FE
JNZ 2317
MOV AL,[1510]
CMP AL,01
RET
CALL 846F
MOV AX,0300
CALL 846F
CALL 230D
MOV AL,23
JNZ 2332
MOV AL,A6
MOV AH,[234E]
SHR AH,1
OR AL,AH
MOV DX,03C2
OUT DX,AL
RET
A83B6
CALL 846F
MOV AX,0406
JMP 846F
A8654
NOT AH
JMP 83B6
A8642
CALL 2318
MOV DL,CE
XOR AX,AX
PUSH AX
CALL 846F
POP AX
INC AL
CMP AL,07
JBE 8649
A8632
MOV DX,03C4
MOV AX,0402
CALL 846F
MOV AX,0704
JMP 8642
A
; Patch N (Part 2) 03/28/88:
; Fix so that /I=1 is appropriate for
; Sperry/Mitsubishi/Leading Edge Hi Res boards.
A6B43
MOV AL,[1511]
SHL AL,1
OR AL,[1510]
JZ 6B5D
OR AL,01
MOV AH,AL
MOV DX,[2352]
MOV AL,08
OUT DX,AL
MOV AL,AH
INC DX
OUT DX,AL
RET
NOP
NOP
NOP
A2284
DB 03,0E,0E,0F
A2294
DB 03,0E,0E,0F
A
; Patch N (Part 3) 03/28/88:
; Requires Patch C (Part 7):
; Fix to use EGA table values for total scan lines.
A83BF
INC AX
ES: TEST BYTE [SI+13],80
JZ 83C9
SHR AX,1
JMP 824E
A879D
ES: MOV AL,[SI+1C]
ES: MOV AH,[SI+11]
SHR AH,1
AND AH,01
CALL 83BF
A
; Patch N (Part 4) 03/28/88:
; Fix MAD ESC and COMMA keys when Ctrl'd or Alt'd.
A9EB0
MOV [0C24],AX
MOV [0B54],AX
A
; Patch N (Part 5) 03/28/88:
; Fix TRS1000 NUM . keys when Alt-Ctrl'd.
A94CA
DW 4C9A
A
; Patch N (Part 6) 03/28/88:
; Fix to update keyboard tables for FKEYBRD.
A0666
DW 4587
A0680
DW 4587,4587
A06D6
DW 4587
A06DA
DW 4587,4587,4587,4587,4587,4587,4587,4587,4587,4587
A06F8
DW 4C9A
A0700
DW 4C9A
A070A
DW 4C9A
A0710
DW 4C13,4587,4587
A071A
DW 4587
A0722
DW 4C9A,4C9A,4C9A,4C9A,4C9A,4C9A,4C9A,4C9A
A0734
DW 4C9A
A0738
DW 4C13,4C13,4C13,4C13,4C13,4C13,4C13,4C13
DW 4C13,4C13
A074E
DW 4C13,4587
A0754
DW 4BAE,4BAE,4BAE,4BAE,4BAE,4BAE,4BAE,4BAE
DW 4BAE,4BAE,4C13,4C13,4C23
A0770
DW 4BAE,4B99,4BAE,4B99,4BAE,4BAE,4BAE,4BAE
DW 4BAE,4C13,4C13
A078A
DW 4C13,4BAE,4BAE,4B8B,4BAE,4BAE,4BAE,4BAE
A079E
DW 4C13
A07A2
DW 4C39
A07A6
DW 4587
A07AE
DW 4587,4587,4587,4587,4587,4587,4587,4587
A07C2
DW 4D80
A07CA
DW 4D80,4D80,4D80
A07D2
DW 4D80
A07E0
DW 4C13,4587,4587,4C23
A07EA
DW 4587
A07F0
DW 4D81,4C9A
A07F8
DW 4C9A,4C9A,4C9A
A0806
DW 4587
A0820
DW 4587,4587
A0876
DW 4587
A088A
DW 4587,4587
A08B0
DW 4C13,4587,4587
A08BA
DW 4587
A08C2
DW 4C9A
A08C6
DW 4C9A
A08CC
DW 4C9A
A08D0
DW 4C9A
A08D4
DW 4C9A
A0AC4
DW 372A
A0B4A
DW 372A
A0B88
DW 567C
A0B94
DW 372A
A0B9A
DW 4737,4838,4939,4B34,4D36,4F31,5032,5133,5230,532E
A0C3C
DW 8D00
A0C40
DW 8E00
A0C44
DW 8F00
A0C48
DW 9000
A0C4C
DW 9100
A0C50
DW 9200,9300
A0C6C
DW 8D00
A0C76
DW 9100
A0C7A
DW 9200
A0C7C
DW 9300
A0CEA
DW 3700
A0D20
DW 5200
A0D34
DW 0004
M0BAE L 00D0 0D4E
A9470
DW 4587,4587
A9480
DW 4587
A9488
DW 4587
A949A
DW 4C9A,4587,4587,4587
A94A4
DW 4D80
A94AC
DW 4D80,4D80,4D80
A94B4
DW 4D80,4D80,4D80,4D80,4D80,4D80,4D80,4D80
A94C6
DW 4D80
A94CA
DW 4D80,4D80,4D80,4D80,4D80
A94D4
DW 4587,4587
A9500
DW 4587,4587,4587
A9587
DW 372A
M95B5 L 0032 9619
A96A0
DW 4587,4587
A96D2
DW 4D80,4D80
A96DA
DW 4D80,4D80
A9714
DW 4587,4587
A987F
DW 532E
A98A8
DW 4587,4587,4587,4587,4587,4587,4587,4587,4587,4587,4587,4587
DW 4587,4587,4587,4587,4587,4587,4587,4587,4587
F98D2 L 002A 87 45
F98FC L 002A 87 45
M99B9 L 002A 9A0D
A
; Patch N (Part 7) 03/28/88:
; Fix Ctrl-Alt-Delete repeat.
A4FA2
JNZ 4FF8
A4FA8
JZ 4FF8
A
; Patch O 06/07/88:
; Chg letter in scroll recall status.
A0FA9
DB 'O'
A
; Patch O (Part 1) 06/07/88:
; Fix character set loading to not output to random port addr.
A2337
MOV DI,[234E]
MOV DX,[DI+0F54]
RET
JE 2346
CMP AL,03
JA 234B
MOV AL,09
CALL 846F
RET
A8757
CALL 2337
NOP
A876C
MOV AL,[23D8]
CMP AL,07
CALL 2340
NOP
A
; Patch O (Part 2) 06/07/88:
; Fix immediate hanging problems with /Q=1 on some adapters
; such as VEGA VGA.
A224C
MOV DI,AX
MOV DX,[2352]
PUSH DS
MOV AX,0040
MOV DS,AX
MOV AL,[0065]
POP DS
TEST AL,08
RET
A679F
CALL 224C
NOP
JZ 67B7
A
; Patch O (Part 3) 06/07/88:
; Fix keyboard flushing to not use BIOS calls.
; (Fixes KEY-FAKE problems)
A277B
RET
A
; Patch P 06/27/88:
; Chg letter in scroll recall status.
A0FA9
DB 'P'
A
; Patch P (Part 1) 06/27/88:
; Requires Patch O (Part 3)
; Fix Patch K Part 3 to allow FF,00 cursor shape
A277C
MOV AH,CL
AND AH,1F
CMP AH,DH
JB 2787
MOV DH,AH
RET
A225F
AND AH,1F
CMP AH,DH
RET
CMP DH,10
JA 226D
CALL 65D4
RET
A8364
CALL 277C
MOV AH,CH
CALL 225F
JB 8370
MOV DH,AH
A837A
CALL 2265
A
; Patch P (Part 2) 06/27/88:
; Fix UK character set pound and dollar sign.
A11D9
DB 9C,24
A
; Patch P (Part 3) 06/27/88:
; Fix LSR's to not affect GL and only have effects in 8-bits.
; Fix LSL's to affect GR only in 7-bits.
A3858
CMP BYTE [1506],01
JNZ 3865
MOV [1720],AX
NOP
NOP
NOP
A3870
CMP BYTE [1506],00
A
; Patch Q 09/02/88:
; Chg letter in scroll recall status.
A0FA9
DB 'Q'
A
; Patch Q (Part 1) 09/02/88:
; Fix scrolling to use XOR bit as intensity bit too.
; (No bright colors in some graphics modes).
A779C
TEST AL,F0
JZ 77A6
A8BCD
AND AL,F0
A
; Patch R 09/26/88:
; Chg letter in scroll recall status.
A0FA9
DB 'R'
A
; Patch R (Part 1) 09/26/88:
; Fix INT 16H, AH=03H to range check at 5 not 8.
A5C0B
CMP AL,05
A
; Patch R (Part 2) 09/26/88:
; Requires Patch K (Part 1):
; Fix to use key status lights correctly on PS/2 model 30.
AA25B
NOP
NOP
A
; Patch R (Part 3) 09/26/88:
; Fix border saving address.
A89E3
ES: MOV [SI+0011],AL
A
; Patch S 10/28/88:
; Chg letter in scroll recall status.
A0FA9
DB 'S'
A
; Patch S (Part 1) 10/28/88:
; Fix border saving address.
A89E3
ES: MOV [SI+0010],AL
A
; Patch T 01/04/89:
; Chg letter in scroll recall status.
A0FA9
DB 'T'
A
; Patch T (Part 1) 01/04/89:
; Fix INT 10H, AH=13H to leave cursor at active position.
A6485
NOP
NOP
A
; Patch T (Part 2) 01/04/89:
; Fix CGA palette reg to include useless bits set by IBM.
A6D41
OR AL,30
A226E
OR AL,30
JMP 60E9
A775E
CALL 226E
A
; Patch T (Part 3) 01/04/89:
; Fix INT 10H, AH=0xH to not recalculate scan limit/rows/spacing.
A8AA6
CALL 8AAC
JMP 6696
PUSH CX
MOV DI,[234E]
JMP 8775
A
; Patch T (Part 4) 01/04/89:
; Chg copyright end year to 1989.
A9333
DB '9'
A
; Patch U 11/29/89:
; Chg letter in scroll recall status.
A0FA9
DB 'U'
A8AB4
; Requires Patch T (Part 3):
; Next patch address.
; Last patch address plus 1 = 8ABC.
A83CC
; Next patch address.
; Last patch address plus 1 = 83D0.
A2273
; Next patch address.
; (key_marker_stack_area)
; Last patch address plus 1 = 237E.
; Other areas to look into:
; key_vt100_num 08d6-090c
; key_vt100_xlat 09a6-09dc
; key_vt100_alt 0a3e-0a74
; stack area
A8659
; EGA-only patch space.
; Last patch address plus 1 = 865B.
; Requires Patch E (Part 2)
AA0E3
; Init-only patch space.
; Last patch address plus 1 = A0EB.
; Requires Patch H (Part 6)
W
Q