From 5a94f0ee69c17c4e9973b37f9594ad2b307dda5c Mon Sep 17 00:00:00 2001 From: TC1995 Date: Sat, 14 Oct 2023 20:21:10 +0200 Subject: [PATCH] Corrected the fix for the 40x25 mode of the Plasma. --- src/machine/m_at_compaq.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/machine/m_at_compaq.c b/src/machine/m_at_compaq.c index 7fee735ee..86656b181 100644 --- a/src/machine/m_at_compaq.c +++ b/src/machine/m_at_compaq.c @@ -453,19 +453,16 @@ compaq_plasma_poll(void *priv) cols[0] = normcols[attr][0]; } /* character underline active and 7th row of pixels in character height being drawn */ - /* character underline active and 7th row of pixels in character height being drawn */ if (underline && (sc == 7)) { /* for each pixel in character width */ for (uint8_t c = 0; c < 8; c++) - buffer32->line[self->cga.displine][(x << 3) + c] = mdaattr[attr][blink][1]; + buffer32->line[self->cga.displine][(x << 4) + (c * 2)] = buffer32->line[self->cga.displine][(x << 4) + (c * 2) + 1] = mdaattr[attr][blink][1]; } else if (drawcursor) { - for (uint8_t c = 0; c < 8; c++) { + for (uint8_t c = 0; c < 8; c++) buffer32->line[self->cga.displine][(x << 4) + c * 2] = buffer32->line[self->cga.displine][(x << 4) + c * 2 + 1] = cols[(fontdatm2[chr][sc] & (1 << (c ^ 7))) ? 1 : 0] ^ (amber ^ black); - } } else { - for (uint8_t c = 0; c < 8; c++) { + for (uint8_t c = 0; c < 8; c++) buffer32->line[self->cga.displine][(x << 4) + c * 2] = buffer32->line[self->cga.displine][(x << 4) + c * 2 + 1] = cols[(fontdatm2[chr][sc] & (1 << (c ^ 7))) ? 1 : 0]; - } } ++ma; }