void draw_background()
{
byte c;
if (!draw_this_line)
return;
switch (display_idx)
{
case 0: // Standard text
case 1: // Multicolor text
case 3: // Multicolor bitmap
c = b0c_color;
break;
case 2: // Standard bitmap
c = colors[last_char_data];
break;
case 4: // ECM text
if ((last_char_data & 0x80) != 0)
if ((last_char_data & 0x40) != 0)
c = b3c_color;
else
c = b2c_color;
else
if ((last_char_data & 0x40) != 0)
c = b1c_color;
else
c = b0c_color;
break;
default:
c = colors[0];
break;
}
//byte* p = chunky_ptr;
//p[0] = p[1] = p[2] = p[3] = p[4] = p[5] = p[6] = p[7] = c;
// -------------------------------------------------
// This line, in the past, caused the nasty 1px border artifacts. However, commenting it out will
// surely break other stuff. Investigate further
// -----------------------------------------------
_display.SetPixels(_chunkyIndex, 8, c);
}