#ifndef HARDWARE_BLIT_H
#define HARDWARE_BLIT_H
#define HSIZEBITS 6L
#define VSIZEBITS 16-HSIZEBITS
#define HSIZEMASK 0x3fL
#define VSIZEMASK 0x3FFL
#define MAXBYTESPERROW 128L
#define ABC 0x80L
#define ABNC 0x40L
#define ANBC 0x20L
#define ANBNC 0x10L
#define NABC 0x8L
#define NABNC 0x4L
#define NANBC 0x2L
#define NANBNC 0x1L
#define A_OR_B ABC|ANBC|NABC | ABNC|ANBNC|NABNC
#define A_OR_C ABC|NABC|ABNC | ANBC|NANBC|ANBNC
#define A_XOR_C NABC|ABNC | NANBC|ANBNC
#define A_TO_D ABC|ANBC|ABNC|ANBNC
#define BC0B_DEST 8L
#define BC0B_SRCC 9L
#define BC0B_SRCB 10L
#define BC0B_SRCA 11L
#define BC0F_DEST 0x100L
#define BC0F_SRCC 0x200L
#define BC0F_SRCB 0x400L
#define BC0F_SRCA 0x800L
#define BC1F_DESC 2L
#define DEST 0x100L
#define SRCC 0x200L
#define SRCB 0x400L
#define SRCA 0x800L
#define ASHIFTSHIFT 12L
#define BSHIFTSHIFT 12L
#define LINEMODE 0x1L
#define FILL_OR 0x8L
#define FILL_XOR 0x10L
#define FILL_CARRYIN 0x4L
#define ONEDOT 0x2L
#define OVFLAG 0x20L
#define SIGNFLAG 0x40L
#define BLITREVERSE 0x2L
#define SUD 0x10L
#define SUL 0x8L
#define AUL 0x4L
#define OCTANT8 24L
#define OCTANT7 4L
#define OCTANT6 12L
#define OCTANT5 28L
#define OCTANT4 20L
#define OCTANT3 8L
#define OCTANT2 0L
#define OCTANT1 16L
struct bltnode
{
struct bltnode *n;
int (*function)();
char stat;
short blitsize;
short beamsync;
int (*cleanup)();
};
#define CLEANUP 0x40L
#define CLEANME CLEANUP
#endif !HARDWARE_BLIT_H
