[net.micro.cpm] Patching LU310.COM to run under later versions of TurboDOS:

towson@AMSAA.ARPA (SECAD) (10/27/86)

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