home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / C / BC_DICE2.DMS / in.adf / INCLUDE / hardware / blit.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-01-10  |  1.7 KB  |  105 lines

  1. #ifndef HARDWARE_BLIT_H
  2. #define HARDWARE_BLIT_H
  3. /*
  4. ** $Filename: hardware/blit.h $
  5. ** $Release: 2.04 Includes, V37.4 $
  6. ** $Revision: 36.3 $
  7. ** $Date: 90/11/05 $
  8. **
  9. ** Defines for direct hardware use of the blitter.
  10. **
  11. ** (C) Copyright 1985-1991 Commodore-Amiga, Inc.
  12. ** All Rights Reserved
  13. */
  14.  
  15. #define HSIZEBITS 6
  16. #define VSIZEBITS 16-HSIZEBITS
  17. #define HSIZEMASK 0x3f 
  18. #define VSIZEMASK 0x3FF 
  19.  
  20.  
  21.  
  22.  
  23. #ifndef NO_BIG_BLITS
  24. #define MINBYTESPERROW 128
  25. #define MAXBYTESPERROW 4096
  26. #else
  27. #define MAXBYTESPERROW 128
  28. #endif
  29.  
  30.  
  31.  
  32. #define ABC 0x80
  33. #define ABNC 0x40
  34. #define ANBC 0x20
  35. #define ANBNC 0x10
  36. #define NABC 0x8
  37. #define NABNC 0x4
  38. #define NANBC 0x2
  39. #define NANBNC 0x1
  40.  
  41.  
  42. #define A_OR_B ABC|ANBC|NABC | ABNC|ANBNC|NABNC
  43. #define A_OR_C ABC|NABC|ABNC | ANBC|NANBC|ANBNC
  44. #define A_XOR_C NABC|ABNC | NANBC|ANBNC
  45. #define A_TO_D ABC|ANBC|ABNC|ANBNC
  46.  
  47. #define BC0B_DEST 8
  48. #define BC0B_SRCC 9
  49. #define BC0B_SRCB 10
  50. #define BC0B_SRCA 11
  51. #define BC0F_DEST 0x100
  52. #define BC0F_SRCC 0x200
  53. #define BC0F_SRCB 0x400
  54. #define BC0F_SRCA 0x800
  55.  
  56. #define BC1F_DESC 2 
  57.  
  58. #define DEST 0x100
  59. #define SRCC 0x200
  60. #define SRCB 0x400
  61. #define SRCA 0x800
  62.  
  63. #define ASHIFTSHIFT 12 
  64. #define BSHIFTSHIFT 12 
  65.  
  66.  
  67. #define LINEMODE 0x1
  68. #define FILL_OR 0x8
  69. #define FILL_XOR 0x10
  70. #define FILL_CARRYIN 0x4
  71. #define ONEDOT 0x2 
  72. #define OVFLAG 0x20
  73. #define SIGNFLAG 0x40
  74. #define BLITREVERSE 0x2
  75.  
  76. #define SUD 0x10
  77. #define SUL 0x8
  78. #define AUL 0x4
  79.  
  80. #define OCTANT8 24
  81. #define OCTANT7 4
  82. #define OCTANT6 12
  83. #define OCTANT5 28
  84. #define OCTANT4 20
  85. #define OCTANT3 8
  86. #define OCTANT2 0
  87. #define OCTANT1 16
  88.  
  89.  
  90. struct bltnode
  91. {
  92.  struct bltnode *n;
  93.  int (*function)();
  94.  char stat;
  95.  short blitsize;
  96.  short beamsync;
  97.  int (*cleanup)();
  98. };
  99.  
  100.  
  101. #define CLEANUP 0x40
  102. #define CLEANME CLEANUP
  103.  
  104. #endif 
  105.