home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / cpm / turbods / lufix.td < prev    next >
Encoding:
Text File  |  1984-09-30  |  1.9 KB  |  58 lines

  1. Dallas TX 09-26-84
  2.  
  3. LU (Library Utility) by Gary Novosielski was written mostly in BDS C.
  4. While BDS C is one of the best CP/M-80 C compilers, it seems to second-guess
  5. sometimes, which is what brings trouble under other operating systems,
  6. in this case TurboDOS.
  7.  
  8. While LU ran fine under earlier versions of TurboDOS, it failed to run
  9. properly under version 1.40. It seemed every time it made a console status
  10. call it would "see" a character and wait for keyboard entry. This way one
  11. had to hold down a repeating key while LU was extracting or whatever.
  12.  
  13. Turns out, LU (BDS C actually) uses unpublished information to see if a
  14. console character has been typed. Using BDOS call 11, the accumulator
  15. will return 00 if there is no console input or FF if there is a character
  16. waiting. In CP/M, HL will contain 0000 if no character else 0001. BDS C
  17. uses the (UNPUBLISHED!) value in HL to check console status rather than
  18. A. TurboDOS (and it may or may not have a bug there, but I wouldn't argue
  19. because HL is not defined as return value) returns HL=undefined if there
  20. is no character, or 00FF if there is.
  21.  
  22. The following patch will fix LU to work properly under TurboDOS. Please
  23. note that this patch utilizes string storage used to contain the
  24. error message, "EXECL: Command line overflow" and will shorten that
  25. message to just "EXECL".
  26.  
  27. The patch applies to LU300.COM...
  28.  
  29. 1. Using your favorite debugger, replace
  30.    4514  CALL 0005
  31.    with
  32.    4514  CALL 4BAD
  33.  
  34. 2. Now, change location 4BAC from
  35.    4BAC  3A
  36.    to
  37.    4BAC  24
  38.  
  39. 3. Finally, assemble the following at 4BAD:
  40.    4BAD  CPI 0B
  41.    4BAF  JNZ 0005
  42.    4BB2  CALL 0005
  43.    4BB5  MVI H,00
  44.    4BB7  MOV L,A
  45.    4BB8  RET
  46.  
  47. 4. Now save the modified LU.
  48.  
  49. Note that the above fix...
  50.  
  51. - has not yet been approved by the author
  52. - has been tested under TurboDOS 1.40
  53. - will not affect CP/M operation
  54.  
  55.  
  56. For more helpful hints, programs and info on TurboDOS, subscribe to
  57. SENECA RCPM (soon to be RTDS). 214-553-1363
  58.