Diff for /xmil/z80c/z80c.mcr between versions 1.2 and 1.5

version 1.2, 2004/08/08 14:00:56 version 1.5, 2004/08/20 23:01:16
Line 9 Line 9
   
 #define Z80_COUNT(clock)                                                                                                \  #define Z80_COUNT(clock)                                                                                                \
         do {                                                                                                                            \          do {                                                                                                                            \
                 Z80_ICOUNT += (clock);                                                                                  \                  CPU_REMCLOCK -= (clock);                                                                                \
         } while (/*CONSTCOND*/ 0)          } while (/*CONSTCOND*/ 0)
   
 #define Z80IRQCHECKTERM                                                                                                 \  #define Z80IRQCHECKTERM                                                                                                 \
Line 66 Line 66
   
 #define MCR_INC(reg) {                                                                                                  \  #define MCR_INC(reg) {                                                                                                  \
                 R_Z80F &= C_FLAG;                                                                                               \                  R_Z80F &= C_FLAG;                                                                                               \
                   R_Z80F |= z80inc_flag2[(reg)];                                                                  \
                 (reg)++;                                                                                                                \                  (reg)++;                                                                                                                \
                 R_Z80F |= z80inc_flag[(reg)];                                                                   \  
         }          }
   
 #define MCR_DEC(reg) {                                                                                                  \  #define MCR_DEC(reg) {                                                                                                  \
                 R_Z80F &= C_FLAG;                                                                                               \                  R_Z80F &= C_FLAG;                                                                                               \
                   R_Z80F |= z80dec_flag2[(reg)];                                                                  \
                 (reg)--;                                                                                                                \                  (reg)--;                                                                                                                \
                 R_Z80F |= z80dec_flag[(reg)];                                                                   \  
         }          }
   
 #define LDB_b(reg) {                                                                                                    \  #define LDB_b(reg) {                                                                                                    \
Line 193 Line 193
                         }                                                                                                                       \                          }                                                                                                                       \
                 }                                                                                                                               \                  }                                                                                                                               \
                 R_Z80A = (UINT8)dst;                                                                                    \                  R_Z80A = (UINT8)dst;                                                                                    \
                 R_Z80F = flg | ZSPtable[dst & 0xff];                                                    \                  R_Z80F = flg | z80szp_flag[dst & 0xff];                                                 \
         }          }
   
 #define MCR_JRFLG(flg) {                                                                                                \  #define MCR_JRFLG(flg) {                                                                                                \
Line 226 Line 226
         }          }
   
 #define MCR_INC_MEM(adrs) {                                                                                             \  #define MCR_INC_MEM(adrs) {                                                                                             \
                 UINT8 tmp;                                                                                                              \                  REG8 tmp;                                                                                                               \
                 tmp = mem_read8((adrs));                                                                                \                  tmp = mem_read8((adrs));                                                                                \
                 tmp++;                                                                                                                  \  
                 mem_write8((adrs), tmp);                                                                                \  
                 R_Z80F &= C_FLAG;                                                                                               \                  R_Z80F &= C_FLAG;                                                                                               \
                 R_Z80F |= z80inc_flag[tmp];                                                                             \                  R_Z80F |= z80inc_flag2[tmp];                                                                    \
                   mem_write8((adrs), (REG8)(tmp + 1));                                                    \
         }          }
   
 #define MCR_DEC_MEM(adrs) {                                                                                             \  #define MCR_DEC_MEM(adrs) {                                                                                             \
                 UINT8 tmp;                                                                                                              \                  REG8 tmp;                                                                                                               \
                 tmp = mem_read8((adrs));                                                                                \                  tmp = mem_read8((adrs));                                                                                \
                 tmp--;                                                                                                                  \  
                 mem_write8((adrs), tmp);                                                                                \  
                 R_Z80F &= C_FLAG;                                                                                               \                  R_Z80F &= C_FLAG;                                                                                               \
                 R_Z80F |= z80dec_flag[tmp];                                                                             \                  R_Z80F |= z80dec_flag2[tmp];                                                                    \
                   mem_write8((adrs), (REG8)(tmp - 1));                                                    \
         }          }
   
 #define LDB_xhl_b {                                                                                                             \  #define LDB_xhl_b {                                                                                                             \
Line 343 Line 341
   
 #define MCR_AND(b) {                                                                                                    \  #define MCR_AND(b) {                                                                                                    \
                 R_Z80A &= (b);                                                                                                  \                  R_Z80A &= (b);                                                                                                  \
                 R_Z80F = ZSPtable[R_Z80A];                                                                              \                  R_Z80F = z80szp_flag[R_Z80A];                                                                   \
         }          }
   
 #define MCR_AND_XHL {                                                                                                   \  #define MCR_AND_XHL {                                                                                                   \
Line 354 Line 352
   
 #define MCR_XOR(b) {                                                                                                    \  #define MCR_XOR(b) {                                                                                                    \
                 R_Z80A ^= (b);                                                                                                  \                  R_Z80A ^= (b);                                                                                                  \
                 R_Z80F = ZSPtable[R_Z80A];                                                                              \                  R_Z80F = z80szp_flag[R_Z80A];                                                                   \
         }          }
   
 #define MCR_XOR_XHL {                                                                                                   \  #define MCR_XOR_XHL {                                                                                                   \
Line 366 Line 364
   
 #define MCR_OR(b) {                                                                                                             \  #define MCR_OR(b) {                                                                                                             \
                 R_Z80A |= (b);                                                                                                  \                  R_Z80A |= (b);                                                                                                  \
                 R_Z80F = ZSPtable[R_Z80A];                                                                              \                  R_Z80F = z80szp_flag[R_Z80A];                                                                   \
         }          }
   
 #define MCR_OR_XHL {                                                                                                    \  #define MCR_OR_XHL {                                                                                                    \
Line 566 Line 564
         }          }
   
 #define MCR_EI {                                                                                                                \  #define MCR_EI {                                                                                                                \
                 UINT op;                                                                                                                \                  REG8 iff;                                                                                                               \
                 Z80_IFF &= ~(1 << IFF_IFLAG);                                                                   \                  SINT32 rem;                                                                                                             \
                 op = mem_read8(R_Z80PC);                                                                                \                  iff = Z80_IFF;                                                                                                  \
                 if (op != 0xfb) {                                                                                               \                  if (iff & (1 << IFF_IFLAG)) {                                                                   \
                         R_Z80PC++;                                                                                                      \                          Z80_IFF = (UINT8)(iff & (~(1 << IFF_IFLAG)));                           \
                         R_Z80R++;                                                                                                       \                          rem = CPU_REMCLOCK - 1;                                                                         \
                         Z80_COUNT(cycles_main[op]);                                                                     \                          if ((rem < 0) ||                                                                                        \
                         z80c_mainop[op]();                                                                                      \                                  ((!(iff & (1 << IFF_NMI))) && (CPU_REQIRQ != 0))) {             \
                                   CPU_BASECLOCK -= rem;                                                                   \
                                   CPU_REMCLOCK = 1;                                                                               \
                           }                                                                                                                       \
                 }                                                                                                                               \                  }                                                                                                                               \
         }          }
   

Removed from v.1.2  
changed lines
  Added in v.1.5


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