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