home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / ENTERPRS / CPM / UTILS / S / SGTOOL12.ARC / LIBC128.ARC / VDCPSTR.C < prev    next >
C/C++ Source or Header  |  1993-08-10  |  844b  |  35 lines

  1. /*
  2. SG C Tools 1.2
  3.  
  4. (C) 1993 Steve Goldsmith
  5. All Rights Reserved
  6.  
  7. Compiled with HI-TECH C 3.09 (CP/M-80).
  8. */
  9.  
  10. #include <string.h>
  11. #include <hitech.h>
  12. #include <vdc.h>
  13.  
  14. extern uchar  vdcScrHorz;
  15. extern ushort vdcDispMem;
  16.  
  17. /* fast vdc string print given x and y offset in current page */
  18.  
  19. void printstrvdc(uchar X, uchar Y, uchar Attr, char *TextStr)
  20. {
  21.   register uchar TextLen;
  22.   ushort DispOfs;
  23.  
  24.   TextLen = strlen(TextStr);
  25.   if(TextLen > 0)
  26.   {
  27.   DispOfs = Y*vdcScrHorz+vdcDispMem+X; /* calc disp mem offset */
  28.   fillattrvdc(X,Y,TextLen,Attr);       /* use block fill for attrs */
  29.   outvdc(vdcUpdAddrHi,(uchar) (DispOfs >> 8));
  30.   outvdc(vdcUpdAddrLo,(uchar) DispOfs); /* set addr of first char */
  31.   for(X = 0; X < TextLen; X++)          /* send str to vdc disp mem */
  32.     outvdc(vdcCPUData,TextStr[X]);
  33.   }
  34. }
  35.