Der MOS 6567/6569 Videocontroller (VIC-II) und seine Anwendung im Commodore 64 |
||||||||||||||||||||
Inhalt 3. Funktionsweise des VIC |
||||||||||||||||||||
|
||||||||||||||||||||
Der VIC benutzt zwei Flipflops, um den Rahmen um das Anzeigefenster herum zu erzeugen: Ein Haupt-Rahmenflipflop und ein vertikales Rahmenflipflop. Das Haupt-Rahmenflipflop steuert die Darstellung des Rahmens. Ist es gesetzt, stellt der VIC die in Register $d020 angegeben Farbe dar, sonst die Farbe, die der Prioritätsmultiplexer vom Grafik- oder Spritedatensequenzer durchschaltet. Der Rahmen überlagert also sowohl die Text-/Bitmapgrafik als auch die Sprites. Er hat die höchste Anzeigepriorität. Das vertikale Rahmenflipflop dient zur Unterstützung bei der Darstellung des oberen/unteren Rahmens. Ist es gesetzt, kann das Haupt-Rahmenflipflop nicht gelöscht werden. Außerdem steuert das vertikale Rahmenflipflop den Ausgang des Grafikdatensequenzers. Dieser liefert nur bei gelöschtem Flipflop Daten, ansonsten stellt er die Hintergrundfarbe dar. Dies dient vermutlich dazu, im Rahmen Sprite-Grafik-Kollisionen zu verhindern. Zu jedem der beiden Flipflops gehören 2×2 Komparatoren. Diese Komparatoren vergleichen die X-/Y-Position des Rasterstrahls mit einem von zwei festverdrahteten Werten (je nach Zustand der CSEL/RSEL-Bits) um die Flipflops zu steuern. Die Vergleiche fallen nur dann positiv aus, wenn der jeweilige Wert genau erreicht wird. Es findet kein Vergleich mit einem Intervall statt.
Die Flipflops werden nach den folgenden Regeln geschaltet:
Die Y-Koordinate wird also ein- oder zweimal innerhalb jeder Rasterzeile geprüft: In Zyklus 63 und wenn die X-Koordinate den linken Vergleichswert erreicht. Man kann durch geeignetes Umschalten der CSEL/RSEL-Bits verhindern, daß einer oder mehrere der Vergleichswerte erreicht werden und damit den Rahmen ganz oder teilweise abschalten (siehe 3.14.1.). |
||||||||||||||||||||
![]() ![]() |