home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-385-Vol-1of3.iso / t / tp6bugs6.zip / MOVEBUF.FIX < prev    next >
Text File  |  1992-04-18  |  944b  |  35 lines

  1.  
  2. #: 121 S0/CompuServe Mail
  3.     20-Mar-92 14:58 EST
  4. Sb: TP bug list
  5. Fm: Hans Schleichert [100031,775]
  6.  
  7. Duncan,
  8.   I send you a message some time ago concerning a bug in Turbo Vision. I
  9. could find a way to get round that one.
  10. This was the bug:
  11.   Calling MoveBuf (unit Drivers) with an Attr parameter of 0 would
  12. produce a corrupt draw buffer.
  13.  
  14. Reason:
  15.   There is a STOSB instruction where a MOVSB ought to be.
  16.  
  17. Workaround:
  18.   A run-time patch changes the STOSB into a MOVSB. Insert this line of
  19. Turbo Pascal code in your main program (or/and in any unit initialisation
  20. part which uses MoveBuf):
  21. Mem [Seg (MoveBuf):Ofs (MoveBuf) + $1F] := $A4 ;
  22. This works even with overlaid programs because DRIVERS.TPU cannot be
  23. overlaid.
  24.  
  25. That's it!
  26.         -  Hans
  27.  
  28.  
  29.   Action!
  30.  
  31. --------
  32. An alternative fix is to patch DRIVERS.TPU:
  33.  
  34. Patch the byte $AA at offset decimal 7085 (hex $1BAD) in DRIVERS.TPU to $A4 to
  35. make the change.