also ich würde jetzt einfach mal die hex-werte 0x80, 0xa0, 0xc0, 0xe0 als startwerte für die vier zeilen nehmen und sehen, ob und wie sich der fehler verändert.möglicherweise ist ja mehr als ein fehler im programm. die verwendeten adressen (2. und 4. zeile) fürs DDRAM scheinen mir jedenfalls nicht richtig zu sein (steht ja auch schon im kommentar, das man z.b. für die zweite zeile entweder 0x8c (12 zeichen/zeile) oder 0xa0 (20 zeichen/zeile) verwenden muss.