diff options
Diffstat (limited to 'src/devices/bus/nes/bootleg.h')
-rw-r--r-- | src/devices/bus/nes/bootleg.h | 83 |
1 files changed, 36 insertions, 47 deletions
diff --git a/src/devices/bus/nes/bootleg.h b/src/devices/bus/nes/bootleg.h index 8367ba8fe1d..93cdaa2ec6f 100644 --- a/src/devices/bus/nes/bootleg.h +++ b/src/devices/bus/nes/bootleg.h @@ -15,7 +15,7 @@ public: nes_sc127_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); virtual void write_h(offs_t offset, uint8_t data) override; - virtual void hblank_irq(int scanline, int vblank, int blanked) override; + virtual void hblank_irq(int scanline, bool vblank, bool blanked) override; virtual void pcb_reset() override; protected: @@ -34,25 +34,25 @@ class nes_mbaby_device : public nes_nrom_device { public: // construction/destruction - nes_mbaby_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - virtual uint8_t read_m(offs_t offset) override; - virtual void write_h(offs_t offset, uint8_t data) override; + nes_mbaby_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + + virtual u8 read_m(offs_t offset) override; + virtual void write_h(offs_t offset, u8 data) override; virtual void pcb_reset() override; 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; -private: - static constexpr device_timer_id TIMER_IRQ = 0; + TIMER_CALLBACK_MEMBER(irq_timer_tick); - uint8_t m_latch; +private: + u16 m_irq_count; int m_irq_enable; + u8 m_latch; emu_timer *irq_timer; - attotime timer_freq; }; @@ -94,13 +94,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: u16 m_irq_count; int m_irq_enable; - static const device_timer_id TIMER_IRQ = 0; emu_timer *irq_timer; }; @@ -127,7 +127,7 @@ public: nes_btl_dn_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); virtual void write_h(offs_t offset, uint8_t data) override; - virtual void hblank_irq(int scanline, int vblank, int blanked) override; + virtual void hblank_irq(int scanline, bool vblank, bool blanked) override; virtual void pcb_reset() override; protected: @@ -158,7 +158,8 @@ 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: void update_irq(u8 data); @@ -166,7 +167,6 @@ private: u16 m_irq_count; int m_irq_enable; - static const device_timer_id TIMER_IRQ = 0; emu_timer *irq_timer; }; @@ -187,13 +187,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: u16 m_irq_count; int m_irq_enable; - static const device_timer_id TIMER_IRQ = 0; emu_timer *irq_timer; }; @@ -213,11 +213,12 @@ public: virtual void pcb_reset() override; protected: - nes_smb2jb_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock); + nes_smb2jb_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 bank67); // 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); u16 m_irq_count; int m_irq_enable; @@ -225,9 +226,8 @@ protected: private: void write_45(offs_t offset, u8 data); - u8 m_bank67; + const u8 m_bank67; - static const device_timer_id TIMER_IRQ = 0; emu_timer *irq_timer; }; @@ -285,14 +285,14 @@ 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: u16 m_irq_count; int m_irq_enable; u8 m_reg; - static const device_timer_id TIMER_IRQ = 0; emu_timer *irq_timer; }; @@ -312,12 +312,12 @@ 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: u16 m_irq_count; - static const device_timer_id TIMER_IRQ = 0; emu_timer *irq_timer; }; @@ -337,13 +337,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: u16 m_irq_count; int m_irq_enable; - static const device_timer_id TIMER_IRQ = 0; emu_timer *irq_timer; }; @@ -400,6 +400,7 @@ class nes_whirlwind_device : public nes_nrom_device { public: virtual u8 read_m(offs_t offset) override; + virtual void pcb_reset() override; protected: @@ -533,11 +534,11 @@ class nes_lh10_device : public nes_nrom_device { public: // construction/destruction - nes_lh10_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + nes_lh10_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); - virtual uint8_t read_h(offs_t offset) override; - virtual uint8_t read_m(offs_t offset) override; - virtual void write_h(offs_t offset, uint8_t data) override; + virtual u8 read_h(offs_t offset) override; + virtual u8 read_m(offs_t offset) override; + virtual void write_h(offs_t offset, u8 data) override; virtual void pcb_reset() override; @@ -546,9 +547,7 @@ protected: virtual void device_start() override; private: - void update_prg(); - uint8_t m_latch; - uint8_t m_reg[8]; + u8 m_latch; }; @@ -584,14 +583,14 @@ 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; uint8_t m_reg; - static const device_timer_id TIMER_IRQ = 0; emu_timer *irq_timer; attotime timer_freq; }; @@ -654,12 +653,6 @@ public: virtual uint8_t read_m(offs_t offset) override; 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; }; @@ -674,10 +667,6 @@ public: virtual uint8_t read_h(offs_t offset) override; virtual void pcb_reset() override; - -protected: - // device-level overrides - virtual void device_start() override; }; @@ -699,14 +688,14 @@ 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: void write_45(offs_t offset, u8 data); u16 m_irq_count; int m_irq_latch; - static const device_timer_id TIMER_IRQ = 0; emu_timer *irq_timer; }; |