diff options
Diffstat (limited to 'src/devices/bus/nes/sunsoft.h')
-rw-r--r-- | src/devices/bus/nes/sunsoft.h | 35 |
1 files changed, 15 insertions, 20 deletions
diff --git a/src/devices/bus/nes/sunsoft.h b/src/devices/bus/nes/sunsoft.h index 6eb3f6b7af4..000150922c7 100644 --- a/src/devices/bus/nes/sunsoft.h +++ b/src/devices/bus/nes/sunsoft.h @@ -20,10 +20,6 @@ public: virtual void write_m(offs_t offset, uint8_t data) override; virtual void pcb_reset() override; - -protected: - // device-level overrides - virtual void device_start() override; }; @@ -38,10 +34,6 @@ public: virtual void write_h(offs_t offset, uint8_t data) override; virtual void pcb_reset() override; - -protected: - // device-level overrides - virtual void device_start() override; }; @@ -60,13 +52,13 @@ public: protected: // device-level overrides virtual void device_start() override; - virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; + + TIMER_CALLBACK_MEMBER(irq_timer_tick); private: uint16_t m_irq_count; int m_irq_enable, m_irq_toggle; - static const device_timer_id TIMER_IRQ = 0; emu_timer *irq_timer; }; @@ -77,24 +69,27 @@ class nes_sunsoft_4_device : public nes_nrom_device { public: // construction/destruction - nes_sunsoft_4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + nes_sunsoft_4_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); - virtual uint8_t read_m(offs_t offset) override; - virtual void write_m(offs_t offset, uint8_t data) override; - void sun4_write(offs_t offset, uint8_t data); - virtual void write_h(offs_t offset, uint8_t data) override { sun4_write(offset, data); } + virtual u8 read_m(offs_t offset) override; + virtual void write_m(offs_t offset, u8 data) override; + void sun4_write(offs_t offset, u8 data); + virtual void write_h(offs_t offset, u8 data) override { sun4_write(offset, data); } virtual void pcb_reset() override; protected: - nes_sunsoft_4_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + nes_sunsoft_4_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock); // device-level overrides virtual void device_start() override; - void sun4_mirror(int mirror, int mirr0, int mirr1); + u8 m_wram_enable; - int m_reg, m_latch1, m_latch2, m_wram_enable; +private: + void sun4_mirror(); + + u8 m_reg[3]; }; @@ -118,13 +113,13 @@ protected: // device-level overrides virtual void device_start() override; - virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; + + TIMER_CALLBACK_MEMBER(irq_timer_tick); private: uint16_t m_irq_count; int m_irq_enable; - static const device_timer_id TIMER_IRQ = 0; emu_timer *irq_timer; uint8_t m_latch; |