--- np2/io/gdc_sub.h 2004/02/11 17:39:59 1.3 +++ np2/io/gdc_sub.h 2004/02/20 15:20:30 1.8 @@ -15,22 +15,32 @@ typedef struct { BYTE DM[2]; } GDCVECT; +extern const UINT32 gdcplaneseg[4]; + typedef void (*GDCSUBFN)(UINT32 csrw, const GDCVECT *vect, - UINT16 pat, BYTE ope); + REG16 pat, REG8 ope); #ifdef __cplusplus extern "C" { #endif +#if !defined(MEMOPTIMIZE) || (MEMOPTIMIZE < 2) +extern const UINT8 gdcbitreverse[0x100]; +#define GDCPATREVERSE(d) gdcbitreverse[(d) & 0xff] +#else +REG8 gdcbitreverse(REG8 data); +#define GDCPATREVERSE(d) gdcbitreverse((REG8)(d)) +#endif + void gdcslavewait(NEVENTITEM item); -void gdcsub_init(void); -void gdcsub_null(UINT32 csrw, const GDCVECT *vect, REG16 pat, REG8 ope); -void gdcsub_line(UINT32 csrw, const GDCVECT *vect, REG16 pat, REG8 ope); -void gdcsub_box(UINT32 csrw, const GDCVECT *vect, REG16 pat, REG8 ope); -void gdcsub_circle(UINT32 csrw, const GDCVECT *vect, REG16 pat, REG8 ope); -void gdcsub_txt(UINT32 csrw, const GDCVECT *vect, REG16 pat, REG8 ope); +void gdcsub_initialize(void); +void gdcsub_vect0(UINT32 csrw, const GDCVECT *vect, REG16 pat, REG8 ope); +void gdcsub_vectl(UINT32 csrw, const GDCVECT *vect, REG16 pat, REG8 ope); +void gdcsub_vectt(UINT32 csrw, const GDCVECT *vect, REG16 pat, REG8 ope); +void gdcsub_vectc(UINT32 csrw, const GDCVECT *vect, REG16 pat, REG8 ope); +void gdcsub_vectr(UINT32 csrw, const GDCVECT *vect, REG16 pat, REG8 ope); void gdcsub_text(UINT32 csrw, const GDCVECT *vect, const BYTE *pat, REG8 ope); void gdcsub_write(void);