diff options
author | Ian C <ianc@noddybox.co.uk> | 2021-08-03 20:26:23 +0000 |
---|---|---|
committer | Ian C <ianc@noddybox.co.uk> | 2021-08-03 20:26:23 +0000 |
commit | b7e8b634595445325d10f8fcddcb7d6cdaa8a922 (patch) | |
tree | 7ecd54e8539cbe1abd37ffda8d3fcd9eb0ddf258 /include/z80_private.h | |
parent | 30c4591b629bb96e9ff99aca24d0e0e51cedbf23 (diff) |
First attempt at sound
Diffstat (limited to 'include/z80_private.h')
-rw-r--r-- | include/z80_private.h | 10 |
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) |