|
|
| version 1.1, 2003/10/16 17:57:51 | version 1.3, 2003/10/20 06:36:33 |
|---|---|
| Line 1 | Line 1 |
| typedef union { | typedef union { |
| BYTE b[2]; | BYTE _b[2]; |
| UINT16 w; | UINT16 w; |
| } WORD_P; | } EGCWORD; |
| typedef union { | typedef union { |
| BYTE b[4][2]; | BYTE _b[4][2]; |
| UINT16 w[4]; | UINT16 w[4]; |
| UINT32 d[2]; | UINT32 d[2]; |
| } QWORD_P; | } EGCQUAD; |
| #if defined(BYTESEX_LITTLE) | |
| enum { | |
| EGCADDR_L = 0, | |
| EGCADDR_H = 1 | |
| }; | |
| #define EGCADDR(a) (a) | |
| #elif defined(BYTESEX_BIG) | |
| enum { | |
| EGCADDR_L = 1, | |
| EGCADDR_H = 0 | |
| }; | |
| #define EGCADDR(a) ((a) ^ 1) | |
| #endif | |
| typedef struct { | typedef struct { |
| UINT16 access; | UINT16 access; |
| UINT16 fgbg; | UINT16 fgbg; |
| UINT16 ope; | UINT16 ope; |
| UINT16 fg; | UINT16 fg; |
| WORD_P mask; | EGCWORD mask; |
| UINT16 bg; | UINT16 bg; |
| UINT16 sft; | UINT16 sft; |
| UINT16 leng; | UINT16 leng; |
| QWORD_P lastvram; | EGCQUAD lastvram; |
| QWORD_P patreg; | EGCQUAD patreg; |
| QWORD_P fgc; | EGCQUAD fgc; |
| QWORD_P bgc; | EGCQUAD bgc; |
| int func; | int func; |
| UINT remain; | UINT remain; |
| UINT stack; | UINT stack; |
| UINT padding_b[4]; | UINT padding_b[4]; |
| BYTE buf[4096/8 + 4*4]; | BYTE buf[4096/8 + 4*4]; |
| UINT padding_a[4]; | UINT padding_a[4]; |
| BYTE *inptr; | BYTE *inptr; |
| BYTE *outptr; | BYTE *outptr; |
| WORD_P mask2; | EGCWORD mask2; |
| WORD_P srcmask; | EGCWORD srcmask; |
| BYTE srcbit; | BYTE srcbit; |
| BYTE dstbit; | BYTE dstbit; |
| BYTE sft8bitl; | BYTE sft8bitl; |
| BYTE sft8bitr; | BYTE sft8bitr; |
| } _EGC, *EGC; | } _EGC, *EGC; |
| Line 45 typedef struct { | Line 63 typedef struct { |
| extern "C" { | extern "C" { |
| #endif | #endif |
| extern const UINT32 maskword[16][2]; | |
| void egc_reset(void); | void egc_reset(void); |
| void egc_bind(void); | void egc_bind(void); |
| void IOOUTCALL egc_w16(UINT port, UINT16 value); | void IOOUTCALL egc_w16(UINT port, UINT16 value); |