Der MOS 6567/6569 Videocontroller (VIC-II)
und seine Anwendung im Commodore 64
Inhalt
3. Funktionsweise des VIC
3.7. Text-/Bitmapdarstellung
3.7.3. Grafikmodi
3.7.3.3. Standard-Bitmap-Modus (ECM/BMM/MCM=0/1/0)
english Vorheriger Abschnitt Nächster Abschnitt

In diesem Modus (wie in allen Bitmap-Modi) liest der VIC die Grafikdaten aus einer 320×200-Bitmap, in der jedes Bit direkt einem Punkt auf dem Bildschirm entspricht. Die Daten aus der Videomatrix werden für die Farbinformation benutzt. Da die Videomatrix weiterhin nur eine 40×25-Matrix ist, können die Farben nur für Blöcke von 8×8 Pixeln individuell bestimmt werden (also eine Art YC-8:1-Format). Da die Entwickler des VIC-II den Bitmap-Modus mit sowenig zusätzlichem Schaltungsaufwand wie möglich realisieren wollten (der VIC-I hatte noch keinen Bitmap-Modus), ist die Bitmap etwas ungewöhnlich im Speicher abgelegt: Im Gegensatz zu modernen Videochips, die die Bitmap linear aus dem Speicher lesen, bilden beim VIC jeweils 8 aufeinanderfolgende Bytes einen 8×8-Pixelblock auf dem Bildschirm. Mit den Bits VM10-13 und CB13 aus Register $d018 lassen sich Videomatrix und Bitmap im Speicher verschieben.

Im Standard-Bitmap-Modus entspricht jedes Bit in der Bitmap direkt einem Pixel auf dem Bildschirm. Für jedem 8×8-Block können Vorder- und Hintergrundfarbe beliebig eingestellt werden.

c-Zugriff

Adressen
13 12 11 10 9 8 7 6 5 4 3 2 1 0
VM13 VM12 VM11 VM10 VC9 VC8 VC7 VC6 VC5 VC4 VC3 VC2 VC1 VC0

Daten
11 10 9 8 7 6 5 4 3 2 1 0
unbebutzt Farbe von "1"-Pixeln Farbe von "0"-Pixeln

g-Zugriff

Adressen
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CB13 VC9 VC8 VC7 VC6 VC5 VC4 VC3 VC2 VC1 VC0 RC2 RC1 RC0

Daten
7 6 5 4 3 2 1 0
8 Pixel (1 Bit/Pixel)

"0": Farbe aus Bits 0-3 der c-Daten
"1": Farbe aus Bits 4-7 der c-Daten