diff --git a/src/mame/video/pc9801.cpp b/src/mame/video/pc9801.cpp index 421bb6fc530..e421b995cd5 100644 --- a/src/mame/video/pc9801.cpp +++ b/src/mame/video/pc9801.cpp @@ -448,7 +448,7 @@ READ16_MEMBER(pc9801_state::tvram_r) if((offset & 0x1000) && (mem_mask == 0xff00)) return 0xffff; - if(offset < (0x3fe0>>1)) + if(offset < (0x3fe2>>1)) res = m_tvram[offset]; else res = m_memsw->read(offset & 0xf); @@ -458,10 +458,10 @@ READ16_MEMBER(pc9801_state::tvram_r) WRITE16_MEMBER(pc9801_state::tvram_w) { - if(offset < (0x3fe0>>1)) + if(offset < (0x3fe2>>1)) COMBINE_DATA(&m_tvram[offset]); - else if(m_video_ff[MEMSW_REG]) - m_memsw->write(offset & 0x0f, data); + else if(m_video_ff[MEMSW_REG] && ACCESSING_BITS_0_7) + m_memsw->write(offset & 0x0f, data & 0xff); COMBINE_DATA(&m_video_ram_1[offset]); //TODO: check me }