Diff for /np2/i286c/i286c.mcr between versions 1.11 and 1.16

version 1.11, 2003/11/30 11:20:55 version 1.16, 2003/12/03 07:59:57
Line 1 Line 1
   
 #if defined(ARM) && defined(BYTESEX_LITTLE)  #if defined(X11) && (defined(i386) || defined(__i386__))
 #define INHIBIT_WORDP(m)        (((m) & 1) || ((m) >= 0xa0000))  #define INHIBIT_WORDP(m)        ((m) >= (I286_MEMWRITEMAX - 1))
   #elif (defined(ARM) || defined(X11)) && defined(BYTESEX_LITTLE)
   #define INHIBIT_WORDP(m)        (((m) & 1) || ((m) >= I286_MEMWRITEMAX))
 #else  #else
 #define INHIBIT_WORDP(m)        (1)  #define INHIBIT_WORDP(m)        (1)
 #endif  #endif
   
 #define __CBW(src)              (UINT16)((char)(src))  #define __CBW(src)              (UINT16)((SINT8)(src))
 #define __CBD(src)              ((char)(src))  #define __CBD(src)              ((SINT8)(src))
 #define WORD2LONG(src)  ((short)(src))  #define WORD2LONG(src)  ((SINT16)(src))
   
   
 #define SEGMENTPTR(s)   (((UINT16 *)&I286_SEGREG) + (s))  #define SEGMENTPTR(s)   (((UINT16 *)&I286_SEGREG) + (s))
Line 325  extern UINT calc_a(UINT op, UINT32 *seg) Line 327  extern UINT calc_a(UINT op, UINT32 *seg)
   
 #define BYTE_IMUL(r, d, s)                                                                                      \  #define BYTE_IMUL(r, d, s)                                                                                      \
                 I286_FLAGL &= (Z_FLAG | S_FLAG | A_FLAG | P_FLAG);                      \                  I286_FLAGL &= (Z_FLAG | S_FLAG | A_FLAG | P_FLAG);                      \
                 (r) = (char)(d) * (char)(s);                                                            \                  (r) = (SINT8)(d) * (SINT8)(s);                                                          \
                 I286_OV = ((r) + 0x80) & 0xffffff00;                                            \                  I286_OV = ((r) + 0x80) & 0xffffff00;                                            \
                 if (I286_OV) {                                                                                          \                  if (I286_OV) {                                                                                          \
                         I286_FLAGL |= C_FLAG;                                                                   \                          I286_FLAGL |= C_FLAG;                                                                   \
Line 333  extern UINT calc_a(UINT op, UINT32 *seg) Line 335  extern UINT calc_a(UINT op, UINT32 *seg)
   
 #define WORD_IMUL(r, d, s)                                                                                      \  #define WORD_IMUL(r, d, s)                                                                                      \
                 I286_FLAGL &= (Z_FLAG | S_FLAG | A_FLAG | P_FLAG);                      \                  I286_FLAGL &= (Z_FLAG | S_FLAG | A_FLAG | P_FLAG);                      \
                 (r) = (short)(d) * (short)(s);                                                          \                  (r) = (SINT16)(d) * (SINT16)(s);                                                        \
                 I286_OV = ((r) + 0x8000) & 0xffff0000;                                          \                  I286_OV = ((r) + 0x8000) & 0xffff0000;                                          \
                 if (I286_OV) {                                                                                          \                  if (I286_OV) {                                                                                          \
                         I286_FLAGL |= C_FLAG;                                                                   \                          I286_FLAGL |= C_FLAG;                                                                   \
Line 418  extern UINT calc_a(UINT op, UINT32 *seg) Line 420  extern UINT calc_a(UINT op, UINT32 *seg)
                 reg = i286_memoryread_w(I286_SP + SS_BASE);                                     \                  reg = i286_memoryread_w(I286_SP + SS_BASE);                                     \
                 I286_SP += 2;                  I286_SP += 2;
   
 #if defined(ARM) && defined(BYTESEX_LITTLE)  #if (defined(ARM) || defined(X11)) && defined(BYTESEX_LITTLE)
   
 #define REGPUSH(reg, clock)     {                                                                               \  #define REGPUSH(reg, clock)     {                                                                               \
                 UINT32 addr;                                                                                            \                  UINT32 addr;                                                                                            \
Line 500  extern UINT calc_a(UINT op, UINT32 *seg) Line 502  extern UINT calc_a(UINT op, UINT32 *seg)
         }          }
   
   
 #define INT_NUM(a, b)           i286_intnum(a, b)  #define INT_NUM(a, b)           i286_intnum((a), (REG16)(b))
   

Removed from v.1.11  
changed lines
  Added in v.1.16


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