Der MOS 6567/6569 Videocontroller (VIC-II) und seine Anwendung im Commodore 64
Inhalt 3. Funktionsweise des VIC 3.7. Text-/Bitmapdarstellung
3.7.1. Idle-Zustand/Display-Zustand |
Die Text-/Bitmap-Anzeigelogik im VIC befindet sich zu jedem Zeitpunkt in einem von zwei Zuständen: Dem Idle-Zustand oder dem Display-Zustand. Im Display-Zustand finden c- und g-Zugriffe statt, die Adressen und die Interpretation der Daten sind vom gewählten Anzeigemodus abhängig. Im Idle-Zustand finden nur g-Zugriffe statt. Der Zugriff erfolgt immer an Videoadresse $3fff ($39ff bei gesetztem ECM-Bit in Register $d016). Die Grafik wird vom Sequencer genau wie im Display-Zustand dargestellt, wobei aber die Videomatrix-Daten als "0"-Bits angesehen werden. Der Übergang vom Idle- in den Display-Zustand erfolgt, sobald ein Bad-Line-Zustand auftritt (siehe Abschnitt 3.5.). Der Übergang vom Display- in den Idle-Zustand erfolgt in Zyklus 58 einer Zeile, wenn der RC (siehe nächsten Abschnitt) den Wert 7 hat und kein Bad-Line-Zustand vorliegt. Solange an Register $d011 innerhalb des Bildes keine Veränderungen vorgenommen werden, befindet sich die Anzeigelogik innerhalb des Anzeigefensters im Display-Zustand und außerhalb davon im Idle-Zustand. Wenn man bei einem 25-Zeilen-Anzeigefenster einen anderen YSCROLL als 3 einstellt und in $3fff einen Wert ungleich Null ablegt, kann man am oberen bzw. unteren Rand des Fensters die Streifen sehen, die der Sequenzer im Idle-Zustand produziert. In [4] werden sowohl die Idle-Zugriffe als auch die g-Zugriffe während des Idle-Zustand als "idle bus cycle" bezeichnet. Beide Phänomene haben jedoch nichts miteinander zu tun. Die in den Diagrammen in [4] mit "+" gekennzeichneten Zugriffe sind normale g-Zugriffe. Der Begriff "Idle-Zugriff" wird in diesem Artikel ausschließlich für die in den Diagrammen in Abschnitt 3.6.3. mit "i" gekennzeichneten Zugriffe benutzt, nicht jedoch für die g-Zugriffe während des Idle-Zustands.