From 3ff40c0a36de403884ff1906126a30288f6b3c0c Mon Sep 17 00:00:00 2001 From: Carl Drougge Date: Sun, 30 Apr 2023 11:46:14 +0200 Subject: dec/vt100.cpp: add setting for phosphor color. (#11172) --- src/mame/dec/vt100.cpp | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/mame/dec/vt100.cpp b/src/mame/dec/vt100.cpp index ef58cdb0f6e..891a98aeafc 100644 --- a/src/mame/dec/vt100.cpp +++ b/src/mame/dec/vt100.cpp @@ -71,7 +71,8 @@ public: m_rstbuf(*this, "rstbuf"), m_rs232(*this, "rs232"), m_printer_uart(*this, "printuart"), - m_p_ram(*this, "p_ram") + m_p_ram(*this, "p_ram"), + m_phosphor(*this, "phosphor") { } @@ -93,6 +94,8 @@ private: optional_device m_printer_uart; required_shared_ptr m_p_ram; + required_ioport m_phosphor; + u8 flags_r(); u8 modem_r(); void nvr_latch_w(u8 data); @@ -232,10 +235,27 @@ void vt100_state::vt102_io(address_map &map) /* Input ports */ static INPUT_PORTS_START( vt100 ) + PORT_START("phosphor") + PORT_CONFNAME(0x03, 0x00, "Phosphor Color") + PORT_CONFSETTING(0x00, "Green") + PORT_CONFSETTING(0x01, "Amber") + PORT_CONFSETTING(0x02, "White") INPUT_PORTS_END u32 vt100_state::screen_update_vt100(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { + switch (m_phosphor->read()) + { + case 0x00: + screen.set_color(rgb_t::green()); + break; + case 0x01: + screen.set_color(rgb_t::amber()); + break; + case 0x02: + screen.set_color(rgb_t::white()); + break; + } m_crtc->video_update(bitmap, cliprect); return 0; } -- cgit v1.2.3