|
|
| version 1.9, 2004/02/18 02:03:36 | version 1.11, 2005/02/07 14:46:10 |
|---|---|
| Line 49 static const UINT8 bytemask_d1[8] = // | Line 49 static const UINT8 bytemask_d1[8] = // |
| void egcshift(void) { | void egcshift(void) { |
| BYTE src8, dst8; | UINT8 src8, dst8; |
| egc.remain = LOW12(egc.leng) + 1; | egc.remain = LOW12(egc.leng) + 1; |
| egc.func = (egc.sft >> 12) & 1; | egc.func = (egc.sft >> 12) & 1; |
| Line 638 static void MEMCALL shiftinput_decw(void | Line 638 static void MEMCALL shiftinput_decw(void |
| #define EGCOPE_SHIFTB \ | #define EGCOPE_SHIFTB \ |
| if (egc.ope & 0x400) { \ | if (egc.ope & 0x400) { \ |
| egc.inptr[ 0] = (BYTE)value; \ | egc.inptr[ 0] = (UINT8)value; \ |
| egc.inptr[ 4] = (BYTE)value; \ | egc.inptr[ 4] = (UINT8)value; \ |
| egc.inptr[ 8] = (BYTE)value; \ | egc.inptr[ 8] = (UINT8)value; \ |
| egc.inptr[12] = (BYTE)value; \ | egc.inptr[12] = (UINT8)value; \ |
| shiftinput_byte(EGCADDR(ad & 1)); \ | shiftinput_byte(EGCADDR(ad & 1)); \ |
| } \ | } \ |
| #define EGCOPE_SHIFTW \ | #define EGCOPE_SHIFTW \ |
| if (egc.ope & 0x400) { \ | if (egc.ope & 0x400) { \ |
| if (!(egc.sft & 0x1000)) { \ | if (!(egc.sft & 0x1000)) { \ |
| egc.inptr[ 0] = (BYTE)value; \ | egc.inptr[ 0] = (UINT8)value; \ |
| egc.inptr[ 1] = (BYTE)(value >> 8); \ | egc.inptr[ 1] = (UINT8)(value >> 8); \ |
| egc.inptr[ 4] = (BYTE)value; \ | egc.inptr[ 4] = (UINT8)value; \ |
| egc.inptr[ 5] = (BYTE)(value >> 8); \ | egc.inptr[ 5] = (UINT8)(value >> 8); \ |
| egc.inptr[ 8] = (BYTE)value; \ | egc.inptr[ 8] = (UINT8)value; \ |
| egc.inptr[ 9] = (BYTE)(value >> 8); \ | egc.inptr[ 9] = (UINT8)(value >> 8); \ |
| egc.inptr[12] = (BYTE)value; \ | egc.inptr[12] = (UINT8)value; \ |
| egc.inptr[13] = (BYTE)(value >> 8); \ | egc.inptr[13] = (UINT8)(value >> 8); \ |
| shiftinput_incw(); \ | shiftinput_incw(); \ |
| } \ | } \ |
| else { \ | else { \ |
| egc.inptr[-1] = (BYTE)value; \ | egc.inptr[-1] = (UINT8)value; \ |
| egc.inptr[ 0] = (BYTE)(value >> 8); \ | egc.inptr[ 0] = (UINT8)(value >> 8); \ |
| egc.inptr[ 3] = (BYTE)value; \ | egc.inptr[ 3] = (UINT8)value; \ |
| egc.inptr[ 4] = (BYTE)(value >> 8); \ | egc.inptr[ 4] = (UINT8)(value >> 8); \ |
| egc.inptr[ 7] = (BYTE)value; \ | egc.inptr[ 7] = (UINT8)value; \ |
| egc.inptr[ 8] = (BYTE)(value >> 8); \ | egc.inptr[ 8] = (UINT8)(value >> 8); \ |
| egc.inptr[11] = (BYTE)value; \ | egc.inptr[11] = (UINT8)value; \ |
| egc.inptr[12] = (BYTE)(value >> 8); \ | egc.inptr[12] = (UINT8)(value >> 8); \ |
| shiftinput_decw(); \ | shiftinput_decw(); \ |
| } \ | } \ |
| } | } |
| Line 939 static const EGCQUAD * MEMCALL egc_opeb( | Line 939 static const EGCQUAD * MEMCALL egc_opeb( |
| EGCOPE_SHIFTB; | EGCOPE_SHIFTB; |
| egc.mask2.w &= egc.srcmask.w; | egc.mask2.w &= egc.srcmask.w; |
| tmp = egc.ope & 0xff; | tmp = egc.ope & 0xff; |
| return((*opefn[tmp])(tmp, ad & (~1))); | return((*opefn[tmp])((REG8)tmp, ad & (~1))); |
| case 0x1000: | case 0x1000: |
| switch(egc.fgbg & 0x6000) { | switch(egc.fgbg & 0x6000) { |
| Line 977 static const EGCQUAD * MEMCALL egc_opew( | Line 977 static const EGCQUAD * MEMCALL egc_opew( |
| EGCOPE_SHIFTW; | EGCOPE_SHIFTW; |
| egc.mask2.w &= egc.srcmask.w; | egc.mask2.w &= egc.srcmask.w; |
| tmp = egc.ope & 0xff; | tmp = egc.ope & 0xff; |
| return((*opefn[tmp])(tmp, ad)); | return((*opefn[tmp])((REG8)tmp, ad)); |
| case 0x1000: | case 0x1000: |
| switch(egc.fgbg & 0x6000) { | switch(egc.fgbg & 0x6000) { |