summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2018-01-07 00:40:31 -0500
committer AJR <ajrhacker@users.noreply.github.com>2018-01-07 00:40:31 -0500
commit59d836d95ad1bd09549d9fee28de0208416351f2 (patch)
treea9fe7d26ea060a97d3399b586b1139a02cde4d63
parent1aaed4a64ef0783c73730036dfa40edff7f572cc (diff)
zephyr: Put some text on that screen (nw)
-rw-r--r--src/mame/drivers/zms8085.cpp20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/mame/drivers/zms8085.cpp b/src/mame/drivers/zms8085.cpp
index 925cc310e8a..e033d3b04a8 100644
--- a/src/mame/drivers/zms8085.cpp
+++ b/src/mame/drivers/zms8085.cpp
@@ -1,5 +1,5 @@
// license:BSD-3-Clause
-// copyright-holders:
+// copyright-holders:AJR
/***********************************************************************************************************************************
Skeleton driver for Zentec's 8085-based Zephyr/ZMS-series terminals.
@@ -40,6 +40,24 @@ private:
u32 zms8085_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
+ u16 pos = m_mainram[17] | (u16(m_mainram[18]) << 8);
+
+ for (unsigned y = 0; y < 250; y++)
+ {
+ for (unsigned ch = 0; ch < 80; ch++)
+ {
+ unsigned x = ch * 10;
+ u8 code = m_mainram[(ch + pos) & 0xfff];
+ u8 data = m_p_chargen[(code & 0x7f) * 16 + y % 10];
+ for (int bit = 7; bit >= 0; bit--)
+ bitmap.pix(y, x++) = BIT(data, bit) ? rgb_t::black() : rgb_t::green();
+ bitmap.pix(y, x++) = rgb_t::black();
+ bitmap.pix(y, x++) = rgb_t::black();
+ bitmap.pix(y, x++) = rgb_t::black();
+ }
+ if ((y % 10) == 9)
+ pos += 80;
+ }
return 0;
}