Date : Mon, 27 Oct 1986 10:28:04 EST
From : David Towson (SECAD) <towson@AMSAA.ARPA>
Subject: Patching LU310.COM to run under later versions of TurboDOS:
Fellow CP/Mers - Directory <CPM.TURBODOS> on SIMTEL20 contains a file called
LUFIX.TD, which describes why LU300.COM won't run correctly without modif-
ication under later versions of TurboDOS. Patches are provided for LU300,
but not for LU310. This message contains the patches for LU310.
LUFIX.TD says in part:
"... LU (BDS C actually) uses unpublished information to see if a
console character has been typed. Using BDOS call 11, the accumulator
will return 00 if there is no console input or FF if there is a character
waiting. In CP/M, HL will contain 0000 if no character else 0001. BDS C
uses the (UNPUBLISHED!) value in HL to check console status rather than
A. TurboDOS (and it may or may not have a bug there, but I wouldn't argue
because HL is not defined as return value) returns HL=undefined if there
is no character, or 00FF if there is.
The following patch will fix LU to work properly under TurboDOS. Please
note that this patch utilizes string storage used to contain the
error message, "EXECL: Command line overflow" and will shorten that
message to just "EXECL". ..."
Since there is enough space available for it, I have used the same
technique as described above, but have provided a more meaningful error
message, "Cmd line ovrflow".
Fixes for LU.COM version 3.10:
1. At address 47FA, change CD 05 00 (CALL 0005) to CD A0 4E (CALL 4EA0).
2. At address 4E8D, modify the original code to the following:
4E8D 43 6D 64 20 6C 69 6E 65 20 6F 76 72 66 6C 6F 77 Cmd line ovrflow
4E9D 0D 0A 24 FE 0B C2 05 00 CD 05 00 26 00 6F C9 ..$~.B..M..&.oI
The above hex dump contains the following patch:
4EA0 CP A,0B
4EA2 JP NZ,0005
4EA5 CALL 0005
4EA8 LD H,00
4EAA LD L,A
4EAB RET
Dave