Diff for /np2/i286c/i286c.mcr between versions 1.7 and 1.8

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);
   

Removed from v.1.7  
changed lines
  Added in v.1.8


RetroPC.NET-CVS <cvs@retropc.net>