diff options
Diffstat (limited to 'src/mame/video/pc9801.cpp')
-rw-r--r-- | src/mame/video/pc9801.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/mame/video/pc9801.cpp b/src/mame/video/pc9801.cpp index 9c26ea25f91..11fe98b7d60 100644 --- a/src/mame/video/pc9801.cpp +++ b/src/mame/video/pc9801.cpp @@ -99,6 +99,7 @@ UPD7220_DRAW_TEXT_LINE_MEMBER( pc9801_state::hgdc_draw_text ) uint8_t char_size = m_video_ff[FONTSEL_REG] ? 16 : 8; uint8_t x_step; + uint8_t lastul = 0; for(int x=0;x<pitch;x+=x_step) { uint32_t tile_addr = addr+(x*(m_video_ff[WIDTH40_REG]+1)); @@ -188,7 +189,11 @@ UPD7220_DRAW_TEXT_LINE_MEMBER( pc9801_state::hgdc_draw_text ) } if(reverse) { tile_data^=0xff; } - if(u_line && yi == lr-1) { tile_data = 0xff; } + if(yi == lr-1) + { + if(u_line) tile_data = 0x0f; + if(lastul) tile_data |= 0xf0; + } if(v_line) { tile_data|=8; } /* TODO: proper blink rate for these two */ @@ -217,6 +222,7 @@ UPD7220_DRAW_TEXT_LINE_MEMBER( pc9801_state::hgdc_draw_text ) } } } + lastul = u_line; } } } |