summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/mame/drivers/tv912.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/mame/drivers/tv912.cpp b/src/mame/drivers/tv912.cpp
index 7999d3474c1..1d40607b2e2 100644
--- a/src/mame/drivers/tv912.cpp
+++ b/src/mame/drivers/tv912.cpp
@@ -258,6 +258,12 @@ void tv912_state::device_timer(emu_timer &timer, device_timer_id id, int param,
u32 tv912_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
+ if (m_crtc->screen_reset())
+ {
+ bitmap.fill(rgb_t::black(), cliprect);
+ return 0;
+ }
+
u8 *dispram = static_cast<u8 *>(m_dispram_bank->base());
ioport_value videoctrl = m_video_control->read();
@@ -281,7 +287,7 @@ u32 tv912_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, cons
u8 data = (ra > 0 && ra < 9) ? charbase[(ch & 0x7f) << 3] : 0;
u8 dots = data >> 2;
- bool adv = BIT(data, 0);
+ bool adv = BIT(data, 1);
for (int d = 0; d < 7; d++)
{
@@ -296,8 +302,8 @@ u32 tv912_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, cons
if (!adv)
dots <<= 1;
- if (d == 3)
- adv = BIT(data, 1);
+ if (d == 2)
+ adv = BIT(data, 0);
}
}
}