Diff for /np2/i286c/i286c.mcr between versions 1.3 and 1.4

version 1.3, 2003/10/17 11:10:02 version 1.4, 2003/10/17 12:49:52
Line 13 Line 13
 #define STRING_DIR              ((I286_FLAG & D_FLAG)?-1:1)  #define STRING_DIR              ((I286_FLAG & D_FLAG)?-1:1)
 #define STRING_DIRx2    ((I286_FLAG & D_FLAG)?-2:2)  #define STRING_DIRx2    ((I286_FLAG & D_FLAG)?-2:2)
   
   #if defined(CPUW2TEST)
   #define WORDSZPF(a)             ((szpcflag[(a) & 0xff] & P_FLAG) | \
                                                                           (((a))?0:Z_FLAG) | (((a) >> 8) & S_FLAG))
   #else
   #define WORDSZPF(a)             szpflag_w[(a)]
   #endif
   
 #define SWAPBYTE(p, q) {                                                                                        \  #define SWAPBYTE(p, q) {                                                                                        \
                 BYTE tmp = (p);                                                                                         \                  BYTE tmp = (p);                                                                                         \
Line 125 Line 131
                         (r) &= 0x0000ffff;                                                                              \                          (r) &= 0x0000ffff;                                                                              \
                         I286_FLAGL |= C_FLAG;                                                                   \                          I286_FLAGL |= C_FLAG;                                                                   \
                 }                                                                                                                       \                  }                                                                                                                       \
                 I286_FLAGL |= szpflag_w[(r)];                  I286_FLAGL |= WORDSZPF(r);
   
   
 // flag no check  // flag no check
Line 138 Line 144
 #define ORWORD(d, s)                                                                                            \  #define ORWORD(d, s)                                                                                            \
                 (d) |= (s);                                                                                                     \                  (d) |= (s);                                                                                                     \
                 I286_OV = 0;                                                                                            \                  I286_OV = 0;                                                                                            \
                 I286_FLAGL = szpflag_w[(d)];                  I286_FLAGL = WORDSZPF(d);
   
   
 #define ADCBYTE(r, d, s)                                                                                        \  #define ADCBYTE(r, d, s)                                                                                        \
Line 156 Line 162
                         (r) &= 0x0000ffff;                                                                              \                          (r) &= 0x0000ffff;                                                                              \
                         I286_FLAGL |= C_FLAG;                                                                   \                          I286_FLAGL |= C_FLAG;                                                                   \
                 }                                                                                                                       \                  }                                                                                                                       \
                 I286_FLAGL |= szpflag_w[(r)];                  I286_FLAGL |= WORDSZPF(r);
   
   
 // flag no check  // flag no check
Line 174 Line 180
                         (r) &= 0x0000ffff;                                                                              \                          (r) &= 0x0000ffff;                                                                              \
                         I286_FLAGL |= C_FLAG;                                                                   \                          I286_FLAGL |= C_FLAG;                                                                   \
                 }                                                                                                                       \                  }                                                                                                                       \
                 I286_FLAGL |= szpflag_w[(r)];                  I286_FLAGL |= WORDSZPF(r);
   
   
 // flag no check  // flag no check
Line 187 Line 193
 #define ANDWORD(d, s)                                                                                           \  #define ANDWORD(d, s)                                                                                           \
                 (d) &= s;                                                                                                       \                  (d) &= s;                                                                                                       \
                 I286_OV = 0;                                                                                            \                  I286_OV = 0;                                                                                            \
                 I286_FLAGL = szpflag_w[(d)];                  I286_FLAGL = WORDSZPF(d);
   
   
 // flag no check  // flag no check
Line 205 Line 211
                         (r) &= 0x0000ffff;                                                                              \                          (r) &= 0x0000ffff;                                                                              \
                         I286_FLAGL |= C_FLAG;                                                                   \                          I286_FLAGL |= C_FLAG;                                                                   \
                 }                                                                                                                       \                  }                                                                                                                       \
                 I286_FLAGL |= szpflag_w[(r)];                  I286_FLAGL |= WORDSZPF(r);
   
   
 // flag no check  // flag no check
Line 218 Line 224
 #define WORD_XOR(d, s)                                                                                          \  #define WORD_XOR(d, s)                                                                                          \
                 (d) ^= (s);                                                                                                     \                  (d) ^= (s);                                                                                                     \
                 I286_OV = 0;                                                                                            \                  I286_OV = 0;                                                                                            \
                 I286_FLAGL = szpflag_w[(d)];                  I286_FLAGL = WORDSZPF(d);
   
   
 #define BYTE_NEG(d, s)                                                                                          \  #define BYTE_NEG(d, s)                                                                                          \
Line 236 Line 242
                         (d) &= 0x0000ffff;                                                                              \                          (d) &= 0x0000ffff;                                                                              \
                         I286_FLAGL |= C_FLAG;                                                                   \                          I286_FLAGL |= C_FLAG;                                                                   \
                 }                                                                                                                       \                  }                                                                                                                       \
                 I286_FLAGL |= szpflag_w[(d)];                  I286_FLAGL |= WORDSZPF(d);
   
   
 #define BYTE_MUL(r, d, s)                                                                                       \  #define BYTE_MUL(r, d, s)                                                                                       \
Line 295 Line 301
                 I286_OV = b & (b ^ (s)) & 0x8000;                                                       \                  I286_OV = b & (b ^ (s)) & 0x8000;                                                       \
                 I286_FLAGL &= C_FLAG;                                                                           \                  I286_FLAGL &= C_FLAG;                                                                           \
                 I286_FLAGL |= (BYTE)((b ^ (s)) & A_FLAG);                                       \                  I286_FLAGL |= (BYTE)((b ^ (s)) & A_FLAG);                                       \
                 I286_FLAGL |= szpflag_w[b];                                                                     \                  I286_FLAGL |= WORDSZPF(b);                                                                      \
                 (s) = b;                                                                                                        \                  (s) = b;                                                                                                        \
         }          }
   
Line 318 Line 324
                 I286_OV = (s) & (b ^ (s)) & 0x8000;                                                     \                  I286_OV = (s) & (b ^ (s)) & 0x8000;                                                     \
                 I286_FLAGL &= C_FLAG;                                                                           \                  I286_FLAGL &= C_FLAG;                                                                           \
                 I286_FLAGL |= (BYTE)((b ^ (s)) & A_FLAG);                                       \                  I286_FLAGL |= (BYTE)((b ^ (s)) & A_FLAG);                                       \
                 I286_FLAGL |= szpflag_w[b];                                                                     \                  I286_FLAGL |= WORDSZPF(b);                                                                      \
                 (s) = b;                                                                                                        \                  (s) = b;                                                                                                        \
         }          }
   
Line 331 Line 337
                 I286_OV = (w) & ((w) ^ bak) & 0x8000;                                           \                  I286_OV = (w) & ((w) ^ bak) & 0x8000;                                           \
                 I286_FLAGL &= C_FLAG;                                                                           \                  I286_FLAGL &= C_FLAG;                                                                           \
                 I286_FLAGL |= (BYTE)(((w) ^ bak) & A_FLAG);                                     \                  I286_FLAGL |= (BYTE)(((w) ^ bak) & A_FLAG);                                     \
                 I286_FLAGL |= szpflag_w[(w)];                                                           \                  I286_FLAGL |= WORDSZPF(w);                                                                      \
                 I286_CLOCK(clock);                                                                                      \                  I286_CLOCK(clock);                                                                                      \
         }          }
   
Line 343 Line 349
                 I286_OV = bak & (w ^ bak) & 0x8000;                                                     \                  I286_OV = bak & (w ^ bak) & 0x8000;                                                     \
                 I286_FLAGL &= C_FLAG;                                                                           \                  I286_FLAGL &= C_FLAG;                                                                           \
                 I286_FLAGL |= (BYTE)((w ^ bak) & A_FLAG);                                       \                  I286_FLAGL |= (BYTE)((w ^ bak) & A_FLAG);                                       \
                 I286_FLAGL |= szpflag_w[w];                                                                     \                  I286_FLAGL |= WORDSZPF(w);                                                                      \
                 I286_CLOCK(clock);                                                                                      \                  I286_CLOCK(clock);                                                                                      \
         }          }
   

Removed from v.1.3  
changed lines
  Added in v.1.4


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