home *** CD-ROM | disk | FTP | other *** search
- 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
-