|
|
| version 1.6, 2004/01/23 15:05:05 | version 1.10, 2007/11/03 00:00:20 |
|---|---|
| Line 1 | Line 1 |
| #include "compiler.h" | #include "compiler.h" |
| #include "cpucore.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 21 static const UINT16 maskword[16][4] = { | Line 21 static const UINT16 maskword[16][4] = { |
| static void IOOUTCALL egc_o4a0(UINT port, REG8 value) { | static void IOOUTCALL egc_o4a0(UINT port, REG8 value) { |
| if (!(vramop.operate & VOP_EGCBIT)) { | if (!(vramop.operate & (1 << VOPBIT_EGC))) { |
| return; | return; |
| } | } |
| 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; |
| } | } |
| } | } |
| void egc_reset(void) { | void egc_reset(const NP2CFG *pConfig) { |
| ZeroMemory(&egc, sizeof(egc)); | ZeroMemory(&egc, sizeof(egc)); |
| egc.access = 0xfff0; | egc.access = 0xfff0; |
| 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)pConfig; | |
| } | } |
| void egc_bind(void) { | void egc_bind(void) { |
| Line 132 void egc_bind(void) { | Line 139 void egc_bind(void) { |
| void IOOUTCALL egc_w16(UINT port, REG16 value) { | void IOOUTCALL egc_w16(UINT port, REG16 value) { |
| if (!(vramop.operate & VOP_EGCBIT)) { | if (!(vramop.operate & (1 << VOPBIT_EGC))) { |
| return; | return; |
| } | } |
| Line 171 void IOOUTCALL egc_w16(UINT port, REG16 | Line 178 void IOOUTCALL egc_w16(UINT port, REG16 |
| 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; |
| } | } |
| } | } |