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