Hallo Mehto

Schreib doch einfach ein paar Routinen die dir Rechtecke, Kreise, Geraden usw. erstellen. Du rufst dann nur die Routinen auf und übergibst die Parameter und diese erzeugen dann die graphishen primitiven im Bildspeicher.

Von der Adressierung eigentlich ganz einfach, wobei die Routine zeichnet indem die berechnet welcher benachbarte Punkt gesetzt werden soll:

Also in der Senkrechten nach unten ist die Pixeladresse "+Byte/Zeile", nach ben "-Byte/Zeile" Nach links "-1Bit", nach rechts "+1Bit", rechts oben "-Byte/Zeile" + "+1Bit", und entsprechen alle anderen möglichen benachbarte Bildpunkte. (Natürlich musst du bei der Senkrechten auf das entsprechende Bit auflösen), das ist nur als Hinweis gedacht!

Übrigens, ich finde dieses Projekt spitze! Ich denke der Ansatz mit dem externen 16Bit Zähler zum erzeugen der Adressen zum Auslesen des SRAM die erfolgsversprechendste Methode. Allerdings muß man vom mega32 zum verändern des Inhalts des Bildspeichers im Sram die Zugriffe auf die "Rücklaufzeiten" pro Bildzeile, bzw. beim Rücklauf von unten links nach oben 1. Zeile begrenzen, da man sonst Zugriffskonflikte zwischen der Auslese-Mechanik und dem mega32 hat. Die andere Alternative ist es einen kompletten Bildschirm-Auslesezyklus ausfallen zu lassen und in der Zeit größere Änderungen einzupflegen. Eine 3. Möglichkeit wäre es den SRAM in logische Bänke aufzugliedern und in einem das Bild aufbauen, während die andere Speicherbank ausgelesen wird. Tut man es im gleichen SRAM Baustein dann würde man dadurch nicht sehen wie der neue Bildschirm aufgebaut wird, schaltet dann 1 Bit in der Adresse und die Auslese-Mechanik würde dann die alternative Speicherbank auslesen wo das neue Bild fertig ist, usw.

Verwendet man 2 SRAM Bausteine und schaltet über ein Gatter die Auslese-Daten von einem zum anderen SRAM Baustein, dann könnte der mega32 100% Zugriffszeit zum Pflegen des Bildschirmspeichers haben und das Bild würde in Bruchteilen der Zeit neu erstellt und für den Betrachter unsichtbar. Diese Lösung würde mir am Besten zusagen, da man nach diesem Prinzip auch mehrere Bits pro Bildpunkt erzeugen könnte und ich damit meine bei Ebay billig erworbenen Farb-Dual Panel-LCD`s verwenden könnte!