summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/spg2xx_video.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/spg2xx_video.h')
-rw-r--r--src/devices/machine/spg2xx_video.h33
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