Dallas TX 09-26-84 LU (Library Utility) by Gary Novosielski was written mostly in BDS C. While BDS C is one of the best CP/M-80 C compilers, it seems to second-guess sometimes, which is what brings trouble under other operating systems, in this case TurboDOS. While LU ran fine under earlier versions of TurboDOS, it failed to run properly under version 1.40. It seemed every time it made a console status call it would "see" a character and wait for keyboard entry. This way one had to hold down a repeating key while LU was extracting or whatever. Turns out, 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". The patch applies to LU300.COM... 1. Using your favorite debugger, replace 4514 CALL 0005 with 4514 CALL 4BAD 2. Now, change location 4BAC from 4BAC 3A to 4BAC 24 3. Finally, assemble the following at 4BAD: 4BAD CPI 0B 4BAF JNZ 0005 4BB2 CALL 0005 4BB5 MVI H,00 4BB7 MOV L,A 4BB8 RET 4. Now save the modified LU. Note that the above fix... - has not yet been approved by the author - has been tested under TurboDOS 1.40 - will not affect CP/M operation For more helpful hints, programs and info on TurboDOS, subscribe to SENECA RCPM (soon to be RTDS). 214-553-1363