Hey Ramsis,
Erst zu deinen Fragen:
Was bedeutet "High-Impedance State" genau? Und wie hast du die Funktion dieses Pins entdeckt?
Der "High-Impedance State" (wird auch "Z" genannt) verhindert einen Bus Conflict, sprich wenn du 2 Outputs an einen Input schaltest, würden diese einen Kurzschluss verursachen (auf lange Zeit für die SNES nicht gesund). Wenn du jetzt aber einen der Outputs in "Z" State versetzt, kann der andere Output ohne Probleme gelesen werden.
So werden beispielsweise RAM und ROM mithilfe von einem 74xx139 in einem SNES Modul gesteuert, beide sind an den Datenbus der SNES angeschlossen (D0-D7 von ROM, RAM und SNES sind alle jeweils untereinander verbunden). Der 74xx139 Baustein steuert die /OE Pins von ROM und RAM, dieser Pin setzt, wenn er HIGH ist, D0-D7 in "Z" State, wenn er LOW ist, werden valide Daten ausgegeben.
Du kannst
hier zum Thema "Tri-State" ("0", "1" und "Z" als möglicher Zustand für einen Output) nachlesen.
Ich selber hab die Funktion des BE Pins nicht entdeckt, die wurde im Datenblatt vom 65816 erläutert (65816 ist der Prozessor, aus dem dann der S-CPU entstanden ist). Nachdem Ich das im Datenblatt gesehen hatte, hab Ich das Pinout des S-CPU überprüft und den BE Pin gefunden, der zudem noch ungenutzt ist (also durch keine Logik gesteuert wird sondern einfach immer auf HIGH gesetzt ist).
Aber ist eine VWF-Routine denn nicht zu langsam, um z. B. eine bildschirmfüllende Dateiliste innerhalb von ein oder zwei Frames anzuzeigen? Schließlich hat ja bestimmt kaum jemand Lust, auf das Ende einer Laufschrift zu warten.
Alternativ könntest du übrigens auch den Horizontal-Hi-Res-Modus des SNES benutzen. Nachteil: Dazu bräuchtest du im einfachsten Fall beide verfügbaren BG-Layer, ein scrollender Hintergrund wäre also nicht möglich.
Ich habe mich, um ehrlich zu sein, nicht allzu viel mit VWF beschäftigt... Ich hab das Thema mal schnell überflogen (wurde SNES spezifisch erläutert), und es sah mir eigentlich nach einer nicht allzu komplizierten Aufgabe aus, die mit dem richtigen Code schnell abgearbeitet ist.
Vom Hi-Res Mode habe Ich auch mal gelesen, mit der Funktion müsste Ich mich aber noch auseinandersetzen, klingt eigentlich nach einer sehr guten Alternative.
Ich wollte eigentlich nichts neues zum BYOS posten, da Ich einfach keinen Fortschritt gemacht habe...
Problem ist hierbei der mC, der wird ohne viel extra Logik-ICs nichts taugen. Ich werde mit dem Projekt auf FPGA umsteigen (habe hier noch ein Board liegen). Mitunter ein Grund für den Umstieg ist auch die Wahl des Speichers, nach langer Recherche ließ sich kein (bezahlbarer) SRAM-Speicher finden, der groß genug ist (größte war 1MB, und Stückpreis lag bei 20€, bei 8MB viel zu teuer, und am Ende zu viele ICs). Besser geeignet ist daher ein DRAM, die gibt es auch in 8MB Ausführung, nur das Ansteuern wäre mit dem mC ohne viel Logik-ICs nicht möglich. Natürlich kann man den DRAM Controller in einen CPLD packen, aber Ich dachte, dass ein FPGA als Ersatz für CPLD und mC dann besser wäre (zumal der FPGA dann noch eine riesige Palette an Funktionen bietet).
Ich muss hier aber mal erwähnen, dass VHDL (die Sprache der CPLD und FPGA) relativ neu ist für mich, Ich habe nur ein wenig in der Uni damit bisher zu tun gehabt, es kann also dauern bis Ich die ersten Fortschritte mit dem FPGA mache.
Um die Überraschung nicht kaputt zu machen, verrate Ich erstmal nicht die weiteren geplanten Features, aber Ich bin mir sicher, dass die ziemlich nützlich sein werden

(zumindest sind das Features, die Ich gerne bei einer SNES gesehen hätte

).