summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Nigel Barnes <Pernod70@users.noreply.github.com>2020-11-14 17:11:40 +0000
committer Nigel Barnes <Pernod70@users.noreply.github.com>2020-11-14 17:37:15 +0000
commite006e93ad537e950f2e517154a83bc273da8a345 (patch)
tree43f70cf9df49b40751d9e96e7073a8c5bcce94ad
parent918e31f109161c2d921bc536ae160620ddcd17c0 (diff)
tanbus_mpvdu/tanbus_ravdu: Cards support inverse video.
-rw-r--r--src/devices/bus/tanbus/mpvdu.cpp8
-rw-r--r--src/devices/bus/tanbus/ravdu.cpp8
2 files changed, 12 insertions, 4 deletions
diff --git a/src/devices/bus/tanbus/mpvdu.cpp b/src/devices/bus/tanbus/mpvdu.cpp
index 28cd0b988f9..43c303dff4b 100644
--- a/src/devices/bus/tanbus/mpvdu.cpp
+++ b/src/devices/bus/tanbus/mpvdu.cpp
@@ -155,7 +155,9 @@ MC6845_UPDATE_ROW(tanbus_mpvdu_device::crtc_update_row)
m_trom->lose_w(0);
for (int column = 0; column < x_count; column++)
{
- m_trom->write(m_videoram[(ma + column) & 0x7ff]);
+ uint8_t code = m_videoram[(ma + column) & 0x7ff];
+
+ m_trom->write(code);
m_trom->f1_w(1);
m_trom->f1_w(0);
@@ -165,7 +167,9 @@ MC6845_UPDATE_ROW(tanbus_mpvdu_device::crtc_update_row)
m_trom->tr6_w(1);
m_trom->tr6_w(0);
- int const col = m_trom->get_rgb() ^ ((column == cursor_x) ? 7 : 0);
+ int col = m_trom->get_rgb() ^ ((column == cursor_x) ? 7 : 0);
+
+ if (BIT(code, 7)) col ^= 0x07;
int const r = BIT(col, 0) * 0xff;
int const g = BIT(col, 1) * 0xff;
diff --git a/src/devices/bus/tanbus/ravdu.cpp b/src/devices/bus/tanbus/ravdu.cpp
index b93b1a41c35..43cd6ff45ab 100644
--- a/src/devices/bus/tanbus/ravdu.cpp
+++ b/src/devices/bus/tanbus/ravdu.cpp
@@ -168,7 +168,9 @@ MC6845_UPDATE_ROW(tanbus_ravdu_device::crtc_update_row)
for (int column = 0; column < x_count; column++)
{
- m_trom->write(m_videoram[(ma + column) & 0x7ff]);
+ uint8_t code = m_videoram[(ma + column) & 0x7ff];
+
+ m_trom->write(code);
m_trom->f1_w(1);
m_trom->f1_w(0);
@@ -178,7 +180,9 @@ MC6845_UPDATE_ROW(tanbus_ravdu_device::crtc_update_row)
m_trom->tr6_w(1);
m_trom->tr6_w(0);
- int const col = m_trom->get_rgb() ^ ((column == cursor_x) ? 7 : 0);
+ int col = m_trom->get_rgb() ^ ((column == cursor_x) ? 7 : 0);
+
+ if (BIT(code, 7)) col ^= 0x07;
int const r = BIT(col, 0) * 0xff;
int const g = BIT(col, 1) * 0xff;