summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/video/imagetek_i4100.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/video/imagetek_i4100.h')
-rw-r--r--src/devices/video/imagetek_i4100.h20
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);
};