Diff for /np2/i286c/i286c_sf.mcr between versions 1.8 and 1.9

version 1.8, 2003/12/11 04:03:35 version 1.9, 2003/12/11 21:57:38
Line 37 Line 37
 #define BYTE_SHR1(d, s)                                                                                         \  #define BYTE_SHR1(d, s)                                                                                         \
                 (d) = (s) >> 1;                                                                                         \                  (d) = (s) >> 1;                                                                                         \
                 I286_OV = (s) & 0x80;                                                                           \                  I286_OV = (s) & 0x80;                                                                           \
                 I286_FLAGL = (BYTE)(BYTESZPF(d) | A_FLAG | ((s) & 1));                  I286_FLAGL = (UINT8)(BYTESZPF(d) | A_FLAG | ((s) & 1));
   
 #if 1  #if 1
 #define BYTE_SAR1(d, s)                                                                                         \  #define BYTE_SAR1(d, s)                                                                                         \
                 (d) = ((s) & 0x80) + ((s) >> 1);                                                        \                  (d) = ((s) & 0x80) + ((s) >> 1);                                                        \
                 I286_OV = 0;                                                                                            \                  I286_OV = 0;                                                                                            \
                 I286_FLAGL = (BYTE)(BYTESZPF(d) | A_FLAG | ((s) & 1));                  I286_FLAGL = (UINT8)(BYTESZPF(d) | A_FLAG | ((s) & 1));
 #else   // eVC3/4 compiler bug  #else   // eVC3/4 compiler bug
 #define BYTE_SAR1(d, s)                                                                                         \  #define BYTE_SAR1(d, s)                                                                                         \
                 (d) = (BYTE)(((SINT8)(s)) >> 1);                                                        \                  (d) = (BYTE)(((SINT8)(s)) >> 1);                                                        \
                 I286_OV = 0;                                                                                            \                  I286_OV = 0;                                                                                            \
                 I286_FLAGL = (BYTE)(BYTESZPF(d) | A_FLAG | ((s) & 1));                  I286_FLAGL = (UINT8)(BYTESZPF(d) | A_FLAG | ((s) & 1));
 #endif  #endif
   
   
Line 88 Line 88
 #define WORD_SHR1(d, s)                                                                                         \  #define WORD_SHR1(d, s)                                                                                         \
                 (d) = (s) >> 1;                                                                                         \                  (d) = (s) >> 1;                                                                                         \
                 I286_OV = (s) & 0x8000;                                                                         \                  I286_OV = (s) & 0x8000;                                                                         \
                 I286_FLAGL = (BYTE)(WORDSZPF(d) | A_FLAG | ((s) & 1));                  I286_FLAGL = (UINT8)(WORDSZPF(d) | A_FLAG | ((s) & 1));
   
 #if 1  #if 1
 #define WORD_SAR1(d, s)                                                                                         \  #define WORD_SAR1(d, s)                                                                                         \
                 (d) = ((s) & 0x8000) + ((s) >> 1);                                                      \                  (d) = ((s) & 0x8000) + ((s) >> 1);                                                      \
                 I286_OV = 0;                                                                                            \                  I286_OV = 0;                                                                                            \
                 I286_FLAGL = (BYTE)(WORDSZPF(d) | A_FLAG | ((s) & 1));                  I286_FLAGL = (UINT8)(WORDSZPF(d) | A_FLAG | ((s) & 1));
 #else   // eVC3/4 compiler bug  #else   // eVC3/4 compiler bug
 #define WORD_SAR1(d, s)                                                                                         \  #define WORD_SAR1(d, s)                                                                                         \
                 (d) = (UINT16)(((SINT16)(s)) >> 1);                                                     \                  (d) = (UINT16)(((SINT16)(s)) >> 1);                                                     \
                 I286_OV = 0;                                                                                            \                  I286_OV = 0;                                                                                            \
                 I286_FLAGL = (BYTE)(WORDSZPF(d) | A_FLAG | ((s) & 1));                  I286_FLAGL = (UINT8)(WORDSZPF(d) | A_FLAG | ((s) & 1));
 #endif  #endif
   
   
Line 303 Line 303
                         else {                                                                                                  \                          else {                                                                                                  \
                                 I286_OV = (s) & 0x8000;                                                         \                                  I286_OV = (s) & 0x8000;                                                         \
                         }                                                                                                               \                          }                                                                                                               \
                         I286_FLAGL = (BYTE)((s) & 1);                                                   \                          I286_FLAGL = (UINT8)((s) & 1);                                                  \
                         (s) >>= 1;                                                                                              \                          (s) >>= 1;                                                                                              \
                         I286_FLAGL |= WORDSZPF(s);                                                              \                          I286_FLAGL |= WORDSZPF(s);                                                              \
                 }                                                                                                                       \                  }                                                                                                                       \
Line 314 Line 314
                 (c) &= 0x1f;                                                                                            \                  (c) &= 0x1f;                                                                                            \
                 if (c) {                                                                                                        \                  if (c) {                                                                                                        \
                         (s) = ((SINT16)(s)) >> ((c) - 1);                                               \                          (s) = ((SINT16)(s)) >> ((c) - 1);                                               \
                         I286_FLAGL = (BYTE)((s) & 1);                                                   \                          I286_FLAGL = (UINT8)((s) & 1);                                                  \
                         (s) = (UINT16)(((SINT16)s) >> 1);                                               \                          (s) = (UINT16)(((SINT16)s) >> 1);                                               \
                         I286_OV = 0;                                                                                    \                          I286_OV = 0;                                                                                    \
                         I286_FLAGL |= WORDSZPF(s);                                                              \                          I286_FLAGL |= WORDSZPF(s);                                                              \
Line 327 Line 327
                         SINT32 tmp;                                                                                             \                          SINT32 tmp;                                                                                             \
                         tmp = (s) << 16;                                                                                \                          tmp = (s) << 16;                                                                                \
                         tmp = tmp >> (16 + (c) - 1);                                                    \                          tmp = tmp >> (16 + (c) - 1);                                                    \
                         I286_FLAGL = (BYTE)(tmp & 1);                                                   \                          I286_FLAGL = (UINT8)(tmp & 1);                                                  \
                         (s) = (UINT16)(tmp >> 1);                                                               \                          (s) = (UINT16)(tmp >> 1);                                                               \
                         I286_OV = 0;                                                                                    \                          I286_OV = 0;                                                                                    \
                         I286_FLAGL |= WORDSZPF(s);                                                              \                          I286_FLAGL |= WORDSZPF(s);                                                              \

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


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