diff options
author | hap <happppp@users.noreply.github.com> | 2021-05-20 16:06:40 +0200 |
---|---|---|
committer | hap <happppp@users.noreply.github.com> | 2021-05-20 16:06:53 +0200 |
commit | 200d0b75cd25d20997a5654ea2dc242705df2180 (patch) | |
tree | 1bf283aec1048c45831746005c3070ba653a9360 /src/devices/bus/saitek_osa | |
parent | 5c1520fcfd7632f9fd5f3fa77579ce31b734c16b (diff) |
saitek_osa: add embedded screen
Diffstat (limited to 'src/devices/bus/saitek_osa')
-rw-r--r-- | src/devices/bus/saitek_osa/expansion.cpp | 19 | ||||
-rw-r--r-- | src/devices/bus/saitek_osa/expansion.h | 7 |
2 files changed, 26 insertions, 0 deletions
diff --git a/src/devices/bus/saitek_osa/expansion.cpp b/src/devices/bus/saitek_osa/expansion.cpp index b984d4b937c..afae7b15a56 100644 --- a/src/devices/bus/saitek_osa/expansion.cpp +++ b/src/devices/bus/saitek_osa/expansion.cpp @@ -63,6 +63,20 @@ void saitekosa_expansion_device::device_start() } //------------------------------------------------- +// device_add_mconfig - add device configuration +//------------------------------------------------- + +void saitekosa_expansion_device::device_add_mconfig(machine_config &config) +{ + // optional embedded screen + auto &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD)); + screen.set_refresh_hz(60); + screen.set_size(100, 100); + screen.set_visarea_full(); + screen.set_screen_update(FUNC(saitekosa_expansion_device::screen_update)); +} + +//------------------------------------------------- // host to module interface //------------------------------------------------- @@ -102,6 +116,11 @@ void saitekosa_expansion_device::ack_w(int state) m_ack = state; } +u32 saitekosa_expansion_device::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) +{ + return (m_module) ? m_module->screen_update(screen, bitmap, cliprect) : UPDATE_HAS_NOT_CHANGED; +} + //************************************************************************** // MODULE INTERFACE diff --git a/src/devices/bus/saitek_osa/expansion.h b/src/devices/bus/saitek_osa/expansion.h index 2e6727d3f1b..35449118b84 100644 --- a/src/devices/bus/saitek_osa/expansion.h +++ b/src/devices/bus/saitek_osa/expansion.h @@ -29,6 +29,8 @@ #pragma once +#include "screen.h" + //************************************************************************** // TYPE DEFINITIONS @@ -76,11 +78,14 @@ public: protected: // device-level overrides virtual void device_start() override; + virtual void device_add_mconfig(machine_config &config) override; private: devcb_write_line m_stb_handler; devcb_write_line m_rts_handler; + u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); + // input pins state u8 m_data = 0; int m_nmi = 0; @@ -102,6 +107,8 @@ public: virtual void nmi_w(int state) { } virtual void ack_w(int state) { } + virtual u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) { return UPDATE_HAS_NOT_CHANGED; } + protected: device_saitekosa_expansion_interface(const machine_config &mconfig, device_t &device); |