diff options
Diffstat (limited to 'src/devices/cpu/vt50/vt50.h')
-rw-r--r-- | src/devices/cpu/vt50/vt50.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/devices/cpu/vt50/vt50.h b/src/devices/cpu/vt50/vt50.h index 206dfe86488..fd73d1fd83e 100644 --- a/src/devices/cpu/vt50/vt50.h +++ b/src/devices/cpu/vt50/vt50.h @@ -6,7 +6,7 @@ #pragma once -class vt5x_cpu_device : public cpu_device +class vt5x_cpu_device : public cpu_device, public device_video_interface { public: enum { @@ -31,12 +31,17 @@ public: auto cen_callback() { return m_cen_callback.bind(); } auto ccf_callback() { return m_ccf_callback.bind(); } auto csf_callback() { return m_csf_callback.bind(); } + auto char_data_callback() { return m_char_data_callback.bind(); } + + // screen update method + u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); protected: // construction/destruction vt5x_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int bbits, int ybits); // device-level overrides + virtual void device_config_complete() override; virtual void device_resolve_objects() override; virtual void device_start() override; virtual void device_reset() override; @@ -50,6 +55,9 @@ protected: // device_state_interface overrides virtual void state_string_export(const device_state_entry &entry, std::string &str) const override; + // video helpers + void draw_char_line(); + // address translation offs_t translate_xy() const; @@ -83,6 +91,7 @@ protected: devcb_write_line m_cen_callback; devcb_read_line m_csf_callback; devcb_read_line m_ccf_callback; + devcb_read8 m_char_data_callback; // register dimensions const u8 m_bbits; @@ -116,6 +125,11 @@ protected: u8 m_horiz_count; u16 m_vert_count; bool m_top_of_screen; + u16 m_current_line; + u16 m_first_line; + + // display bitmap + bitmap_rgb32 m_bitmap; }; class vt50_cpu_device : public vt5x_cpu_device |