Hi Thinker,
bin seit gestern spaet Abends einen Schritt weiter.
Lasse es aber gerade noch von anderen Testen.

Das Programm selber ist eigentlich fehlerfrei. Nur das Display macht hier einen Strich durch die Rechnung.
Fuer die Initialisierung brauche ich Data0 und Data1. Wie in allen Implementierungen die ich kenne und auch selebr verwende bin ich davon ausgegangen das es reicht, die beiden Pins zu setzen und vom ueblichen Gedanken auszugehen das automatisch der Prozessor beim Initialisieren Data2 und Data3 auf Low setzt.
Pustekuchen. Anfangs ist ja noch alles OK. Kaum habe ich dann aber den ersten Prozessor des Displays initialisiert spielen Data2 und Data3 verrueckt. Zum Teil sitzen die ploetzlich auf High. Pulldown Widerstaende haben das sogar noch verschlimmert.
Ich setze nun die beiden Pins jeweils vor der Initialisierung explizit auf low. Und schon klappt es prima.
Wenn der Code ausgetestet ist stell ich ihn hier rein. Vielleicht kann ihn ja jemand brauchen.
Ist glaube ich die erste Implementierung die wahlweise mit und ohne RW arbeiten kann, alle Pinbelegungen unterstuetzt und egal ob mit oder ohne RW das wunderschoene C Newline Konstrukt /n kann.