diff options
Diffstat (limited to 'src/devices/cpu/m6502/st2205u.h')
-rw-r--r-- | src/devices/cpu/m6502/st2205u.h | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/src/devices/cpu/m6502/st2205u.h b/src/devices/cpu/m6502/st2205u.h index 5eafabb9c74..9d9958873ea 100644 --- a/src/devices/cpu/m6502/st2205u.h +++ b/src/devices/cpu/m6502/st2205u.h @@ -17,7 +17,13 @@ class st2205u_device : public st2xxx_device { public: enum { - ST_BTC = ST_LYMAX + 1, + ST_BTC = ST_LPWM + 1, + ST_T0C, + ST_T1C, + ST_T2C, + ST_T3C, + ST_T4C, + ST_TIEN, ST_BRR, ST_LVCTR }; @@ -32,7 +38,13 @@ protected: virtual const char *st2xxx_irq_name(int i) const override; virtual unsigned st2xxx_bt_divider(int n) const override; virtual u8 st2xxx_sys_mask() const override { return 0xfe; } + virtual u8 st2xxx_misc_mask() const override { return 0x0f; } + virtual bool st2xxx_wdten_on_reset() const override { return true; } virtual bool st2xxx_has_dma() const override { return true; } + virtual u8 st2xxx_lpan_mask() const override { return 0x0f; } + virtual u8 st2xxx_lctr_mask() const override { return 0xef; } + virtual u8 st2xxx_lckr_mask() const override { return 0x3f; } + virtual u8 st2xxx_lpwm_mask() const override { return 0xff; } private: class mi_st2205u : public mi_st2xxx { @@ -68,6 +80,12 @@ private: void pmcr_w(u8 data); u8 btc_r(); void btc_w(u8 data); + u8 tc_12bit_r(offs_t offset); + void tc_12bit_w(offs_t offset, u8 data); + u8 t4c_r(); + void t4c_w(u8 data); + u8 tien_r(); + void tien_w(u8 data); u8 lvctr_r(); void lvctr_w(u8 data); @@ -83,6 +101,9 @@ private: void int_map(address_map &map); u8 m_btc; + u16 m_tc_12bit[4]; + u8 m_t4c; + u8 m_tien; u8 m_lvctr; }; |