diff options
Diffstat (limited to 'src/devices/video/imagetek_i4100.h')
-rw-r--r-- | src/devices/video/imagetek_i4100.h | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/devices/video/imagetek_i4100.h b/src/devices/video/imagetek_i4100.h index 4d40c585ff1..c18122221de 100644 --- a/src/devices/video/imagetek_i4100.h +++ b/src/devices/video/imagetek_i4100.h @@ -52,13 +52,16 @@ public: } auto irq_cb() { return m_irq_cb.bind(); } + auto ext_ctrl_0_cb() { return m_ext_ctrl_0_cb.bind(); } + auto ext_ctrl_1_cb() { return m_ext_ctrl_1_cb.bind(); } + auto ext_ctrl_2_cb() { return m_ext_ctrl_2_cb.bind(); } void set_vblank_irq_level(int level) { m_vblank_irq_level = level; } void set_blit_irq_level(int level) { m_blit_irq_level = level; } void set_spriteram_buffered(bool buffer) { m_spriteram_buffered = buffer; } u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); void draw_foreground(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); - DECLARE_WRITE_LINE_MEMBER(screen_eof); + void screen_eof(int state); // TODO: privatize eventually u8 irq_enable() const { return m_irq_enable; } @@ -75,10 +78,11 @@ protected: virtual void device_add_mconfig(machine_config &config) override; 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 update_irq_state(); + TIMER_CALLBACK_MEMBER(blit_done); + required_shared_ptr_array<u16, 3> m_vram; required_shared_ptr<u16> m_scratchram; required_shared_ptr<u16> m_blitter_regs; @@ -137,11 +141,6 @@ protected: void blt_write(const int tmap, const offs_t offs, const u16 data, const u16 mask); - enum - { - TIMER_BLIT_END = 1 - }; - emu_timer *m_blit_done_timer; // I/O operations @@ -191,7 +190,6 @@ protected: uint16_t scroll_r(offs_t offset); void scroll_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); - uint16_t gfxrom_r(offs_t offset); void crtc_vert_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); void crtc_horz_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); @@ -222,6 +220,10 @@ protected: bool m_inited_hack; DECLARE_GFXDECODE_MEMBER(gfxinfo); DECLARE_GFXDECODE_MEMBER(gfxinfo_ext); + + devcb_write_line m_ext_ctrl_0_cb; + devcb_write_line m_ext_ctrl_1_cb; + devcb_write_line m_ext_ctrl_2_cb; }; class imagetek_i4220_device : public imagetek_i4100_device @@ -232,7 +234,7 @@ public: // needed by Blazing Tornado / Grand Striker 2 for mixing with PSAC // (it's unknown how the chip enables external sync) - u32 get_background_pen() { return m_palette->pen(m_background_color); }; + u32 get_background_pen() { return m_palette->pen(m_background_color); } void v2_map(address_map &map); }; |