diff options
author | cracyc <cracyc@users.noreply.github.com> | 2021-08-05 21:54:55 -0500 |
---|---|---|
committer | cracyc <cracyc@users.noreply.github.com> | 2021-08-05 21:54:55 -0500 |
commit | 80ca53ad4524a747906f5ef7472f610a322556c9 (patch) | |
tree | 7dea1927a6bc13da80be9f0cee1c34e0dbc10e08 /src/mame/video | |
parent | a6ac620bf2e7d4ae3c8abe481f6199ef42664498 (diff) |
pc9801: shift underline attr 4 pixels to the right
Diffstat (limited to 'src/mame/video')
-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; } } } |