summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/video
diff options
context:
space:
mode:
author hap <happppp@users.noreply.github.com>2020-08-24 23:53:41 +0200
committer hap <happppp@users.noreply.github.com>2020-08-24 23:53:56 +0200
commited4a36eeacd94bbbbcbb710c18b3856f2f6a968e (patch)
treeaae716bacbda3563036b855d0b094bffa73b56dd /src/devices/video
parent2a50dbf9554ed721c060e103dacbd2c951896537 (diff)
ef9340: fix drawing over wrong area when service row is disabled
Diffstat (limited to 'src/devices/video')
-rw-r--r--src/devices/video/ef9340_1.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/devices/video/ef9340_1.cpp b/src/devices/video/ef9340_1.cpp
index b9e595511fd..9cc05ab747b 100644
--- a/src/devices/video/ef9340_1.cpp
+++ b/src/devices/video/ef9340_1.cpp
@@ -323,9 +323,6 @@ uint8_t ef9340_1_device::ef9341_read( uint8_t command, uint8_t b )
void ef9340_1_device::ef9340_scanline(int vpos)
{
- for (int i = 0; i < m_tmp_bitmap.width(); i++)
- m_tmp_bitmap.pix16(vpos, i) = 0;
-
vpos -= m_offset_y;
if (vpos < 0)
return;
@@ -360,7 +357,7 @@ void ef9340_1_device::ef9340_scanline(int vpos)
{
// Service row is disabled
for (int i = 0; i < 40 * 8; i++)
- m_tmp_bitmap.pix16(vpos, i) = 8;
+ m_tmp_bitmap.pix16(m_offset_y + vpos, m_offset_x + i) = 8;
return;
}
}
@@ -480,6 +477,11 @@ void ef9340_1_device::ef9340_scanline(int vpos)
}
}
}
+ else
+ {
+ for (int i = 0; i < 40 * 8; i++)
+ m_tmp_bitmap.pix16(m_offset_y + vpos, m_offset_x + i) = 0;
+ }
// determine next h parity
if (vpos >= 10 && slice == 9)