From 522948ccbb5b9185151f8e7b5fdefe8454f20ffb Mon Sep 17 00:00:00 2001 From: cracyc Date: Tue, 22 Oct 2024 15:30:05 -0500 Subject: [PATCH] pc9801_v: fix explicit tile lr upd7220: stop drawing if active lines is reached --- src/devices/video/upd7220.cpp | 2 +- src/mame/nec/pc9801_v.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/devices/video/upd7220.cpp b/src/devices/video/upd7220.cpp index e20c6ce920c..b302f8eff4b 100644 --- a/src/devices/video/upd7220.cpp +++ b/src/devices/video/upd7220.cpp @@ -1843,7 +1843,7 @@ void upd7220_device::update_graphics(bitmap_rgb32 &bitmap, const rectangle &clip for(int z = 0; z <= m_disp; ++z) { int yval = (y*zoom)+z + (bsy + m_vbp); - if(yval <= cliprect.bottom()) + if(yval <= cliprect.bottom() && (yval - m_vbp) < m_al) draw_graphics_line(bitmap, addr, yval, wd, mixed); } } diff --git a/src/mame/nec/pc9801_v.cpp b/src/mame/nec/pc9801_v.cpp index d355ac8ada7..b7b88602285 100644 --- a/src/mame/nec/pc9801_v.cpp +++ b/src/mame/nec/pc9801_v.cpp @@ -125,7 +125,7 @@ void pc9801_state::draw_text(bitmap_rgb32 &bitmap, uint32_t addr, int y, int wd, kanji_sel = 1; if((tile & 0x7e00) == 0x5600) { - if(lasttile == tile) + if(lasttile == (tile | knj_tile)) { tile_lr = 1; lasttile = -1; @@ -142,7 +142,7 @@ void pc9801_state::draw_text(bitmap_rgb32 &bitmap, uint32_t addr, int y, int wd, } else x_step = 1; - lasttile = tile; + lasttile = (tile | knj_tile); for(kanji_lr=0;kanji_lr