Moin,
mal sehen, ob ich das zu früher Stunde und bislang ohne Koffein schon richtig deuten kann.
Das habe ich anders interpretiert, denn /OE des Videospeichers muss immer auf low sein, da der VDC ja ständig lesen muss. /OE des Videospeichers ist daher fest mit GND verbunden. Geht /WR auch auf low, darf man trotzdem schreiben. Das RAM geht auf Tristate, wenn sowohl /OE als auch /WR auf high sind (und der Chip über /CS aktiv ist). So verstehe ich das Datenblatt des HY6264 (http://pdf1.alldatasheet.com/datasheet-pdf/view/65364/HYNIX/HY6264.html)
Hier bin ich insofern bei Dir, dass es wohl sinnvoller ist, nur dann die Switche zu öffnen, wenn seitens des Atmega wirklich ein Zugriff auf das Video-RAM erfolgen muss. Der Zugriff erfolgt dann trotzdem im /FS-Fenster, wenn es ohne Bildstörungen ablaufen soll.
Ich bin aber nicht sicher, ob es sinnvoll ist, /WR und /RD auch über die Switche laufen zu lassen. Hier könnte ein Timingproblem entstehen. Vielleicht tatsächlich über Waitstates lösbar (die kann man pro Speicherbank ja getrennt einstellen). Das schaue ich mir nochmal an.
Und was den Speicherzugriff des VDG auf das erste RAM betrifft: Never Ever! Der VDG lässt die Finger vom ersten RAM!
Grüße,
Uni
mal sehen, ob ich das zu früher Stunde und bislang ohne Koffein schon richtig deuten kann.
Nein, schau mal was ich in #76 geschrieben habe.
Derzeit kannst Du auch Deinen ersten SRAM nur im Fenster beschreiben - wenn Du nämlich außerhalb des Fensters schreibst, geht /WR low, und zwar auch für den Videospeicher. Dadurch werden dessen Datenpins Eingänge (tristate), wie Du richtig gesagt hast. Der VDG soll aber eigentlich da gerade lesen.
Das habe ich anders interpretiert, denn /OE des Videospeichers muss immer auf low sein, da der VDC ja ständig lesen muss. /OE des Videospeichers ist daher fest mit GND verbunden. Geht /WR auch auf low, darf man trotzdem schreiben. Das RAM geht auf Tristate, wenn sowohl /OE als auch /WR auf high sind (und der Chip über /CS aktiv ist). So verstehe ich das Datenblatt des HY6264 (http://pdf1.alldatasheet.com/datasheet-pdf/view/65364/HYNIX/HY6264.html)
Wie gesagt, würde ich die Switche nicht über das /FS-Netz bedienen (/CS), sondern über das /MS Netz. Auf das Fenster reagierst Du nur, wenn Du in den Videospeicher schreiben/lesen willst. Sonst läßt Du /MS oben, und hast Zugriff auf den ersten SRAM. Außerdem /RD und /WR mit über U6 schicken. Da die bei /MS=high tristate sind, wird /RD hinter dem Switch (also eigentlich /OE) via Pulldown auf Gnd gezogen. Die Datenrichtung der Adress-Switche können fest verdrahtet sein (äh... oder soll der VDG auch irgendwas aus dem ersten SRAM (direkt) darstellen?) - die des Datenswitches wird dann über /OE festgelegt (müßte man dann nochmal wegen den Timings schauen, ggf. mit Waitstates..) Mußt dann nur schauen, was an der A-, und was an der B-Seite sein muß.
Hier bin ich insofern bei Dir, dass es wohl sinnvoller ist, nur dann die Switche zu öffnen, wenn seitens des Atmega wirklich ein Zugriff auf das Video-RAM erfolgen muss. Der Zugriff erfolgt dann trotzdem im /FS-Fenster, wenn es ohne Bildstörungen ablaufen soll.
Ich bin aber nicht sicher, ob es sinnvoll ist, /WR und /RD auch über die Switche laufen zu lassen. Hier könnte ein Timingproblem entstehen. Vielleicht tatsächlich über Waitstates lösbar (die kann man pro Speicherbank ja getrennt einstellen). Das schaue ich mir nochmal an.
Und was den Speicherzugriff des VDG auf das erste RAM betrifft: Never Ever! Der VDG lässt die Finger vom ersten RAM!
Grüße,
Uni