home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C128CPM / SGTOOL11.ARC / LIBC128.ARC / VDCMEMX.C < prev    next >
Encoding:
C/C++ Source or Header  |  1993-07-25  |  886 b   |  46 lines

  1. /*
  2. SG C Tools 1.1
  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 <stdlib.h>
  11. #include <hitech.h>
  12. #include <vdc.h>
  13.  
  14. /* alloc buffer and copy vdc mem into it */
  15.  
  16. uchar * memtobufvdc(ushort VidMem, ushort CopyLen)
  17. {
  18.   ushort I;
  19.   uchar *BufPtr;
  20.  
  21.   BufPtr = (uchar *) malloc(CopyLen);
  22.   if (BufPtr != NULL)
  23.   {
  24.     outvdc(vdcUpdAddrHi,(uchar) (VidMem >> 8));
  25.     outvdc(vdcUpdAddrLo,(uchar) VidMem);
  26.     for(I = 0; I < CopyLen; I++)
  27.       BufPtr[I] = invdc(vdcCPUData);
  28.   }
  29.   return(BufPtr);
  30. }
  31.  
  32. /* copy buffer to vdc mem */
  33.  
  34. void buftomemvdc(uchar *BufPtr, ushort VidMem, ushort CopyLen)
  35. {
  36.   ushort I;
  37.  
  38.   if (BufPtr != NULL)
  39.   {
  40.     outvdc(vdcUpdAddrHi,(uchar) (VidMem >> 8));
  41.     outvdc(vdcUpdAddrLo,(uchar) VidMem);
  42.     for(I = 0; I < CopyLen; I++)
  43.       outvdc(vdcCPUData,BufPtr[I]);
  44.   }
  45. }
  46.