summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/tanbus/mpvdu.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/tanbus/mpvdu.cpp')
-rw-r--r--src/devices/bus/tanbus/mpvdu.cpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/devices/bus/tanbus/mpvdu.cpp b/src/devices/bus/tanbus/mpvdu.cpp
index d172c93cae0..a74bdddedaf 100644
--- a/src/devices/bus/tanbus/mpvdu.cpp
+++ b/src/devices/bus/tanbus/mpvdu.cpp
@@ -142,20 +142,22 @@ void tanbus_mpvdu_device::set_inhibit_lines(offs_t offset, int &inhram, int &inh
// IMPLEMENTATION
//**************************************************************************
-READ8_MEMBER(tanbus_mpvdu_device::videoram_r)
+uint8_t tanbus_mpvdu_device::videoram_r(offs_t offset)
{
return m_videoram[offset];
}
MC6845_UPDATE_ROW(tanbus_mpvdu_device::crtc_update_row)
{
- uint32_t *p = &bitmap.pix32(y);
+ uint32_t *p = &bitmap.pix(y);
m_trom->lose_w(1);
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);
@@ -167,16 +169,18 @@ MC6845_UPDATE_ROW(tanbus_mpvdu_device::crtc_update_row)
int col = m_trom->get_rgb() ^ ((column == cursor_x) ? 7 : 0);
- int r = BIT(col, 0) * 0xff;
- int g = BIT(col, 1) * 0xff;
- int b = BIT(col, 2) * 0xff;
+ if (BIT(code, 7)) col ^= 0x07;
+
+ int const r = BIT(col, 0) * 0xff;
+ int const g = BIT(col, 1) * 0xff;
+ int const b = BIT(col, 2) * 0xff;
*p++ = rgb_t(r, g, b);
}
}
}
-WRITE_LINE_MEMBER(tanbus_mpvdu_device::vsync_changed)
+void tanbus_mpvdu_device::vsync_changed(int state)
{
m_trom->dew_w(state);
}