--- np2/io/gdc_sub.h 2004/02/11 17:39:59 1.3 +++ np2/io/gdc_sub.h 2004/02/18 21:58:41 1.7 @@ -16,21 +16,29 @@ typedef struct { } GDCVECT; 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);