|
|
| version 1.7, 2003/11/21 06:51:11 | version 1.8, 2003/11/24 09:14:01 |
|---|---|
| Line 6 | Line 6 |
| #define WORD2LONG(src) ((short)(src)) | #define WORD2LONG(src) ((short)(src)) |
| #define SEGMENTPTR(s) ((UINT16 *)(&I286_SEGREG) + (s)) | #define SEGMENTPTR(s) (((UINT16 *)&I286_SEGREG) + (s)) |
| #define REAL_FLAGREG (UINT16)((I286_FLAG & 0x7ff) | (I286_OV?O_FLAG:0)) | #define REAL_FLAGREG (UINT16)((I286_FLAG & 0x7ff) | (I286_OV?O_FLAG:0)) |
| Line 14 | Line 14 |
| #define STRING_DIRx2 ((I286_FLAG & D_FLAG)?-2:2) | #define STRING_DIRx2 ((I286_FLAG & D_FLAG)?-2:2) |
| #if !defined(MEMOPTIMIZE) | #if !defined(MEMOPTIMIZE) |
| extern BYTE szpflag_w[0x10000]; | |
| #define WORDSZPF(a) szpflag_w[(a)] | #define WORDSZPF(a) szpflag_w[(a)] |
| #else | #else |
| #define WORDSZPF(a) ((szpcflag[(a) & 0xff] & P_FLAG) | \ | #define WORDSZPF(a) ((szpcflag[(a) & 0xff] & P_FLAG) | \ |
| Line 21 | Line 22 |
| #endif | #endif |
| #if !defined(MEMOPTIMIZE) || (MEMOPTIMIZE < 2) | #if !defined(MEMOPTIMIZE) || (MEMOPTIMIZE < 2) |
| extern BYTE *_reg8_b53[256]; | |
| extern BYTE *_reg8_b20[256]; | |
| #define REG8_B53(op) _reg8_b53[(op)] | #define REG8_B53(op) _reg8_b53[(op)] |
| #define REG8_B20(op) _reg8_b20[(op)] | #define REG8_B20(op) _reg8_b20[(op)] |
| #else | #else |
| Line 38 | Line 41 |
| #endif | #endif |
| #if !defined(MEMOPTIMIZE) || (MEMOPTIMIZE < 2) | #if !defined(MEMOPTIMIZE) || (MEMOPTIMIZE < 2) |
| extern UINT16 *_reg16_b53[256]; | |
| extern UINT16 *_reg16_b20[256]; | |
| #define REG16_B53(op) _reg16_b53[(op)] | #define REG16_B53(op) _reg16_b53[(op)] |
| #define REG16_B20(op) _reg16_b20[(op)] | #define REG16_B20(op) _reg16_b20[(op)] |
| #else | #else |
| Line 45 | Line 50 |
| #define REG16_B20(op) (((UINT16 *)&I286_REG) + ((op) & 7)) | #define REG16_B20(op) (((UINT16 *)&I286_REG) + ((op) & 7)) |
| #endif | #endif |
| #if !defined(MEMOPTIMIZE) || (MEMOPTIMIZE < 2) | |
| extern CALCEA _calc_ea_dst[]; | |
| extern CALCLEA _calc_lea[]; | |
| extern GETLEA _get_ea[]; | |
| #define CALC_EA(o) (_calc_ea_dst[(o)]()) | |
| #define CALC_LEA(o) (_calc_lea[(o)]()) | |
| #define GET_EA(o, s) (_get_ea[(o)](s)) | |
| #else | |
| extern UINT32 calc_ea_dst(UINT op); | |
| extern UINT16 calc_lea(UINT op); | |
| extern UINT16 calc_a(UINT op, UINT32 *seg); | |
| #define CALC_EA(o) (calc_ea_dst(o)) | |
| #define CALC_LEA(o) (calc_lea(o)) | |
| #define GET_EA(o, s) (calc_a(o, s)) | |
| #endif | |
| #define SWAPBYTE(p, q) { \ | #define SWAPBYTE(p, q) { \ |
| BYTE tmp = (p); \ | BYTE tmp = (p); \ |
| (p) = (q); \ | (p) = (q); \ |
| Line 123 | Line 144 |
| } \ | } \ |
| else { \ | else { \ |
| I286_WORKCLOCK(memclk); \ | I286_WORKCLOCK(memclk); \ |
| (s) = i286_memoryread(c_calc_ea_dst[(b)]()); \ | (s) = i286_memoryread(CALC_EA(b)); \ |
| } \ | } \ |
| (d) = REG8_B53(b); | (d) = REG8_B53(b); |
| Line 136 | Line 157 |
| } \ | } \ |
| else { \ | else { \ |
| I286_WORKCLOCK(memclk); \ | I286_WORKCLOCK(memclk); \ |
| s = i286_memoryread_w(c_calc_ea_dst[b]()); \ | s = i286_memoryread_w(CALC_EA(b)); \ |
| } \ | } \ |
| d = REG16_B53(b); | d = REG16_B53(b); |