| version 1.3, 2003/10/20 06:36:33 | version 1.8, 2005/02/08 09:19:00 | 
| Line 1 | Line 1 | 
 | #include        "compiler.h" | #include        "compiler.h" | 
| #include        "memory.h" | #include        "cpucore.h" | 
| #include        "egcmem.h" |  | 
 | #include        "pccore.h" | #include        "pccore.h" | 
 | #include        "iocore.h" | #include        "iocore.h" | 
 |  | #include        "memegc.h" | 
 | #include        "vram.h" | #include        "vram.h" | 
 |  |  | 
 |  |  | 
| Line 19  static const UINT16 maskword[16][4] = { | Line 19  static const UINT16 maskword[16][4] = { | 
 | {0x0000,0xffff,0xffff,0xffff}, {0xffff,0xffff,0xffff,0xffff}}; | {0x0000,0xffff,0xffff,0xffff}, {0xffff,0xffff,0xffff,0xffff}}; | 
 |  |  | 
 |  |  | 
| static void IOOUTCALL egc_o4a0(UINT port, BYTE value) { | static void IOOUTCALL egc_o4a0(UINT port, REG8 value) { | 
 |  |  | 
 | if (!(vramop.operate & VOP_EGCBIT)) { | if (!(vramop.operate & VOP_EGCBIT)) { | 
 | return; | return; | 
| Line 67  static void IOOUTCALL egc_o4a0(UINT port | Line 67  static void IOOUTCALL egc_o4a0(UINT port | 
 |  |  | 
 | case 0x08: | case 0x08: | 
 | if (!(egc.fgbg & 0x6000)) { | if (!(egc.fgbg & 0x6000)) { | 
| egc.mask._b[EGCADDR_L] = value; | egc.mask._b[0] = value; | 
 | } | } | 
 | break; | break; | 
 | case 0x09: | case 0x09: | 
 | if (!(egc.fgbg & 0x6000)) { | if (!(egc.fgbg & 0x6000)) { | 
| egc.mask._b[EGCADDR_H] = value; | egc.mask._b[1] = value; | 
 | } | } | 
 | break; | break; | 
 |  |  | 
| Line 91  static void IOOUTCALL egc_o4a0(UINT port | Line 91  static void IOOUTCALL egc_o4a0(UINT port | 
 | egc.sft &= 0xff00; | egc.sft &= 0xff00; | 
 | egc.sft |= value; | egc.sft |= value; | 
 | egcshift(); | egcshift(); | 
 |  | egc.srcmask.w = 0xffff; | 
 | break; | break; | 
 | case 0x0d: | case 0x0d: | 
 | egc.sft &= 0x00ff; | egc.sft &= 0x00ff; | 
 | egc.sft |= value << 8; | egc.sft |= value << 8; | 
 | egcshift(); | egcshift(); | 
 |  | egc.srcmask.w = 0xffff; | 
 | break; | break; | 
 |  |  | 
 | case 0x0e: | case 0x0e: | 
 | egc.leng &= 0xff00; | egc.leng &= 0xff00; | 
 | egc.leng |= value; | egc.leng |= value; | 
 | egcshift(); | egcshift(); | 
 |  | egc.srcmask.w = 0xffff; | 
 | break; | break; | 
 | case 0x0f: | case 0x0f: | 
 | egc.leng &= 0x00ff; | egc.leng &= 0x00ff; | 
 | egc.leng |= value << 8; | egc.leng |= value << 8; | 
 | egcshift(); | egcshift(); | 
 |  | egc.srcmask.w = 0xffff; | 
 | break; | break; | 
 | } | } | 
 | } | } | 
| Line 119  void egc_reset(void) { | Line 123  void egc_reset(void) { | 
 | egc.mask.w = 0xffff; | egc.mask.w = 0xffff; | 
 | egc.leng = 0x000f; | egc.leng = 0x000f; | 
 | egcshift(); | egcshift(); | 
 |  | egc.srcmask.w = 0xffff; | 
 | } | } | 
 |  |  | 
 | void egc_bind(void) { | void egc_bind(void) { | 
| Line 130  void egc_bind(void) { | Line 135  void egc_bind(void) { | 
 | } | } | 
 | } | } | 
 |  |  | 
| void IOOUTCALL egc_w16(UINT port, UINT16 value) { | void IOOUTCALL egc_w16(UINT port, REG16 value) { | 
 |  |  | 
 | if (!(vramop.operate & VOP_EGCBIT)) { | if (!(vramop.operate & VOP_EGCBIT)) { | 
 | return; | return; | 
| Line 171  void IOOUTCALL egc_w16(UINT port, UINT16 | Line 176  void IOOUTCALL egc_w16(UINT port, UINT16 | 
 | case 0x0c: | case 0x0c: | 
 | egc.sft = value; | egc.sft = value; | 
 | egcshift(); | egcshift(); | 
 |  | egc.srcmask.w = 0xffff; | 
 | break; | break; | 
 |  |  | 
 | case 0x0e: | case 0x0e: | 
 | egc.leng = value; | egc.leng = value; | 
 | egcshift(); | egcshift(); | 
 |  | egc.srcmask.w = 0xffff; | 
 | break; | break; | 
 | } | } | 
 | } | } |