--- np2/io/gdc_sub.h 2003/10/16 17:57:54 1.1.1.1 +++ np2/io/gdc_sub.h 2004/02/14 07:56:51 1.5 @@ -16,20 +16,31 @@ 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(d) +#endif + void gdcslavewait(NEVENTITEM item); void gdcsub_init(void); -void gdcsub_line(UINT32 csrw, const GDCVECT *vect, UINT16 pat, BYTE ope); -void gdcsub_box(UINT32 csrw, const GDCVECT *vect, UINT16 pat, BYTE ope); -void gdcsub_circle(UINT32 csrw, const GDCVECT *vect, UINT16 pat, BYTE ope); -void gdcsub_text(UINT32 csrw, const GDCVECT *vect, UINT16 pat, BYTE ope); +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); #ifdef __cplusplus