diff options
Diffstat (limited to 'src/devices/machine/spg2xx_video.h')
-rw-r--r-- | src/devices/machine/spg2xx_video.h | 33 |
1 files changed, 13 insertions, 20 deletions
diff --git a/src/devices/machine/spg2xx_video.h b/src/devices/machine/spg2xx_video.h index 2d48f247bdc..69a96b449c3 100644 --- a/src/devices/machine/spg2xx_video.h +++ b/src/devices/machine/spg2xx_video.h @@ -25,36 +25,29 @@ public: uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); - DECLARE_WRITE_LINE_MEMBER(vblank); + void vblank(int state); uint16_t video_r(offs_t offset); void video_w(offs_t offset, uint16_t data); - auto sprlimit_read_callback() { return m_sprlimit_read_cb.bind(); }; + auto sprlimit_read_callback() { return m_sprlimit_read_cb.bind(); } - auto write_video_irq_callback() { return m_video_irq_cb.bind(); }; + auto write_video_irq_callback() { return m_video_irq_cb.bind(); } protected: - virtual void device_add_mconfig(machine_config &config) override; - - devcb_read16 m_guny_in; - devcb_read16 m_gunx_in; - - inline void check_video_irq(); - - static const device_timer_id TIMER_SCREENPOS = 2; - virtual void device_start() override; virtual void device_reset() override; - virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; + virtual void device_add_mconfig(machine_config &config) override; - void do_sprite_dma(uint32_t len); + void check_video_irq(); + TIMER_CALLBACK_MEMBER(screenpos_hit); - uint16_t m_video_regs[0x100]; + void do_sprite_dma(uint32_t len); + devcb_read16 m_guny_in; + devcb_read16 m_gunx_in; devcb_read16 m_sprlimit_read_cb; - - emu_timer *m_screenpos_timer; + devcb_write_line m_video_irq_cb; required_device<unsp_device> m_cpu; required_device<screen_device> m_screen; @@ -62,10 +55,10 @@ protected: required_shared_ptr<uint16_t> m_hcompram; required_shared_ptr<uint16_t> m_paletteram; required_shared_ptr<uint16_t> m_spriteram; - - devcb_write_line m_video_irq_cb; - required_device<spg_renderer_device> m_renderer; + + emu_timer *m_screenpos_timer; + uint16_t m_video_regs[0x100]; }; class spg24x_video_device : public spg2xx_video_device |