I found a bug in the firmaware when a programs draws lots of lines and the SD card is plugged in.
This is my test program:
import m5
from m5 import lcd
m5.begin()
def lines_show(color):
steps = 20
w = lcd.width()
h = lcd.height()
ws = w / steps
hs = h / steps
lcd.startWrite()
for s in range(steps):
x1 = int(ws * s)
x2 = w - 1
y1 = 0
y2 = int(hs * s)
lcd.drawLine(x1, y1, x2, y2, color)
for s in range(steps):
x1 = w - 1
y1 = int(hs * s)
x2 = w - 1 - int(ws * s)
y2 = h - 1
lcd.drawLine(x1, y1, x2, y2, color)
for s in range(steps):
x1 = w - 1 - int(ws * s)
y1 = h - 1
x2 = 0
y2 = h - 1 - int(hs * s)
lcd.drawLine(x1, y1, x2, y2, color)
for s in range(steps):
x1 = 0
y1 = h - 1 - int(hs * s)
x2 = int(ws * s)
y2 = 0
lcd.drawLine(x1, y1, x2, y2, color)
lcd.endWrite()
lcd.fillScreen(lcd.BLACK)
lines_show(lcd.WHITE)
lines_show(lcd.RED)
lines_show(lcd.GREEN)
lines_show(lcd.YELLOW)
lines_show(lcd.BLUE)
If no SD is plugged in the drawing is correct:

If an SD card is inserted the output changes. The drawing appear with wrong colors and and some artifacts (horizontal lines):
