pc9801: if neighboring char tiles have the same code then draw them as left and right

This commit is contained in:
cracyc 2024-10-15 21:54:41 -05:00
parent 83c3e33f96
commit 831246469b

View file

@ -89,6 +89,7 @@ void pc9801_state::draw_text(bitmap_rgb32 &bitmap, uint32_t addr, int y, int wd,
uint8_t x_step;
uint8_t lastul = 0;
uint16_t lasttile = -1;
int scroll_start = 33 - (m_txt_scroll_reg[4] & 0x1f);
int scroll_end = scroll_start + m_txt_scroll_reg[5];
@ -121,7 +122,13 @@ void pc9801_state::draw_text(bitmap_rgb32 &bitmap, uint32_t addr, int y, int wd,
kanji_sel = 1;
if((tile & 0x7e00) == 0x5600)
{
tile_lr = pcg_lr;
if(lasttile == tile)
{
tile_lr = 1;
lasttile = -1;
}
else
tile_lr = pcg_lr;
x_step = 1;
}
else if((tile & 0x7c00) == 0x0800) // 8x16 charset selector
@ -132,6 +139,7 @@ void pc9801_state::draw_text(bitmap_rgb32 &bitmap, uint32_t addr, int y, int wd,
}
else
x_step = 1;
lasttile = tile;
for(kanji_lr=0;kanji_lr<x_step;kanji_lr++)
{