summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/m6502/st2204.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/m6502/st2204.h')
-rw-r--r--src/devices/cpu/m6502/st2204.h45
1 files changed, 8 insertions, 37 deletions
diff --git a/src/devices/cpu/m6502/st2204.h b/src/devices/cpu/m6502/st2204.h
index 63ef404ea48..fbc1f69563d 100644
--- a/src/devices/cpu/m6502/st2204.h
+++ b/src/devices/cpu/m6502/st2204.h
@@ -17,11 +17,8 @@ class st2204_device : public st2xxx_device
{
public:
enum {
- ST_BTEN = ST_LYMAX + 1,
- ST_BTSR,
- ST_DMS,
- ST_DMD,
- ST_DMR
+ ST_DMS = ST_LYMAX + 1,
+ ST_DMD
};
st2204_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
@@ -30,6 +27,12 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
+ virtual u16 st2xxx_ireq_mask() const override { return 0x0f7f; }
+ 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 0xff; }
+ virtual bool st2xxx_has_dma() const override { return true; }
+
private:
class mi_st2204 : public mi_st2xxx {
public:
@@ -46,34 +49,10 @@ private:
u8 dread(u16 adr);
u8 dreadc(u16 adr);
void dwrite(u16 adr, u8 val);
-
- bool irr_enable;
- u8 irr;
- u16 prr;
- u16 drr;
- u16 dmr;
};
- template<int N> TIMER_CALLBACK_MEMBER(bt_interrupt);
-
- u8 sys_r();
- void sys_w(u8 data);
- u8 irr_r();
- void irr_w(u8 data);
- u8 prrl_r();
- void prrl_w(u8 data);
- u8 prrh_r();
- void prrh_w(u8 data);
- u8 drrl_r();
- void drrl_w(u8 data);
- u8 drrh_r();
- void drrh_w(u8 data);
u8 pmcr_r();
void pmcr_w(u8 data);
- u8 bten_r();
- void bten_w(u8 data);
- u8 btsr_r();
- void btsr_w(u8 data);
u8 dmsl_r();
void dmsl_w(u8 data);
u8 dmsh_r();
@@ -84,10 +63,6 @@ private:
void dmdh_w(u8 data);
void dcntl_w(u8 data);
void dcnth_w(u8 data);
- u8 dmrl_r();
- void dmrl_w(u8 data);
- u8 dmrh_r();
- void dmrh_w(u8 data);
u8 pmem_r(offs_t offset);
void pmem_w(offs_t offset, u8 data);
@@ -96,10 +71,6 @@ private:
void int_map(address_map &map);
- u8 m_bten;
- u8 m_btsr;
- emu_timer *m_base_timer[5];
-
u16 m_dms;
u16 m_dmd;
u8 m_dcnth;