diff --git a/src/emu/video/upd7220.c b/src/emu/video/upd7220.c index e31f14f8ce8..d869b16f052 100644 --- a/src/emu/video/upd7220.c +++ b/src/emu/video/upd7220.c @@ -1592,7 +1592,7 @@ void upd7220_device::update_graphics(bitmap_rgb32 &bitmap, const rectangle &clip addr = ((sad << 1) & 0x3ffff) + (y * (m_pitch << (im ? 0 : 1))); if (!m_display_cb.isnull()) - draw_graphics_line(bitmap, addr, y + (im ? bsy : (bsy >> 1)), wd); + draw_graphics_line(bitmap, addr, y + (bsy / m_lr), wd); } } else diff --git a/src/mess/drivers/pc9801.c b/src/mess/drivers/pc9801.c index 1b4e31003c0..3576ce68bd0 100644 --- a/src/mess/drivers/pc9801.c +++ b/src/mess/drivers/pc9801.c @@ -1908,6 +1908,12 @@ READ8_MEMBER(pc9801_state::pc9801rs_knjram_r) pcg_offset|= offset & 0x1e; pcg_offset|= m_font_lr; + if(!(m_font_addr & 0xff)) + { + int char_size = m_video_ff[FONTSEL_REG]; + return m_char_rom[(m_font_addr >> 8) * (8 << char_size) + (char_size * 0x800) + ((offset >> 1) & 0xf)]; + } + /* TODO: investigate on this difference */ if((m_font_addr & 0xff00) == 0x5600 || (m_font_addr & 0xff00) == 0x5700) return m_kanji_rom[pcg_offset];