home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / MM1 / DRIVERS / windio54.lzh / testkyimg.c < prev    next >
C/C++ Source or Header  |  1995-01-31  |  1KB  |  64 lines

  1. /*
  2.  *    sample code to test _gs_kyimg (windio #54)
  3.  *    requires cgfx.l
  4.  *
  5.  *    NOTE:  This code eats quite a bit of CPU time.
  6.  */
  7.  
  8. #include <stdio.h>
  9.  
  10. main()
  11. {
  12.     char *imgaddr, *i2;
  13.     char c;
  14.     int h, i;
  15.  
  16.     if (_gs_kyimg(1, &imgaddr) == -1) {
  17.         printf("This call requires windio #54 or greater!\n");
  18.         exit(0);
  19.     } else {
  20.         Clear(1);
  21.         CurXY(1, 0, 0);
  22.         printf("===============================\n");
  23.         for (;;) {
  24.             i2 = imgaddr;
  25.             for (h = 0; h < 13; h++) {
  26.                 for (i = 1; i < 256; i *= 2) {
  27.                     printf("%d ", *i2 & i ? 1 : 0);
  28.                 }
  29.                 printf("\n");
  30.                 i2++;
  31.             }
  32.             printf("===============================\n");
  33.             tsleep(4);
  34.             CurXY(1, 0, 1);
  35.         }
  36.     }
  37. }
  38.  
  39.  
  40. #include <types.h>
  41. #include <machine/reg.h>
  42. #define    DS_KyImg 174
  43. #define I_SetStt 0x8e
  44. #define I_GetStt 0x8d
  45.  
  46.  
  47. _gs_kyimg(path, imgaddr)
  48. int             path;               /* Path to window */
  49. char            **imgaddr;
  50. {
  51.     REGISTERS reg;
  52.  
  53.     reg.d[0] = path;
  54.     reg.d[1] = DS_KyImg;
  55.  
  56.     if (_osk(I_GetStt,®) == -1) {
  57.         return(-1);
  58.     }
  59.  
  60.     *imgaddr = reg.a[0];
  61.     return(0);
  62. }
  63.  
  64.