Ja, dachte ich zuerst auch. Wenn ich die Startadressen so einstelle und im Quellcode die Anweisung schreibe:
lcd_puts("Zeile1\nZeile2\nZeile3\nZeile4");
erhalte ich als Ausgabe:

Zeile1
________Zeile3
Zeile2
________Zeile4
(je 8 Leerzeichen vor der 2. und 3. Zeile und diese beiden Zeilen sind vertauscht)

Im Datenblatt des LCD's steht:
Zeile1 : $00...$13
Zeile2 : $20...33
Zeile3 : $40...53
Zeile4 : $60...73

Wenn ich das jetzt (siehe letzter Post) einstelle, geht's aber noch weniger...