summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/m6502/st2205u.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/m6502/st2205u.h')
-rw-r--r--src/devices/cpu/m6502/st2205u.h23
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;
};