summaryrefslogtreecommitdiff
path: root/include/z80_private.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/z80_private.h')
-rw-r--r--include/z80_private.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/include/z80_private.h b/include/z80_private.h
index 10cf97e..e0b3381 100644
--- a/include/z80_private.h
+++ b/include/z80_private.h
@@ -48,6 +48,8 @@ struct Z80Private
{
Z80Val cycle;
+ Z80Val timer[Z80_NO_TIMERS];
+
int halt;
Z80Byte shift;
@@ -178,7 +180,13 @@ static inline Z80Word PEEKW(Z80Word addr)
#define IS_IX_IY (PRIV->shift==0xdd || PRIV->shift==0xfd)
#define OFFSET(off) off=(IS_IX_IY ? (Z80Relative)FETCH_BYTE:0)
-#define TSTATE(n) PRIV->cycle+=n
+#define TSTATE(n) do \
+ { \
+ PRIV->cycle+=n; \
+ PRIV->timer[Z80_TIMER_1]+=n; \
+ PRIV->timer[Z80_TIMER_2]+=n; \
+ PRIV->timer[Z80_TIMER_3]+=n; \
+ } while(0)
#define ADD_R(v) cpu->R=((cpu->R&0x80)|((cpu->R+(v))&0x7f))
#define INC_R ADD_R(1)