text: Hardware-Aktuell - Lexikon - MOS Technology VIC II
  Der VIC (Video Interface Controller) II von MOS Technologies, Nachfolger des VIC, ist ein Videochip, der im Commodore-Heimcomputer C64 und (als leicht erweiterter VIC IIE bzw. VIC III) im C128 zum Einsatz kam. Er wurde in NTSC- (MOS 6567/MOS 8562) und PAL-Versionen (MOS 6569/MOS 8565) produziert. Eine Besonderheit des VIC II sind seine 8 Hardware-Sprites mit Kollisionsabfrage.
  Die 16 VIC II Farben
  Bus und Speicher kann mit Prozessoren der 6502-Familie ohne große Verlangsamung eines der beiden Chips geteilt werden, beide Chips greifen abwechselnd darauf zu.
  separater 1000 × 4 Bit Farbspeicher, beim C64 mit statischem RAM (SRAM) realisiert. (Im für die CPU vorgesehenen Adressraum der Größe 1 kB erscheint nur ein Nibble je adressiertem Byte.)
  Normal mit 8 × 8 Pixel pro Zeichen, einer aus 16 Vordergrundfarben je Zeichen und einer festen Hintergrundfarbe
  Extended-Color mit einer aus 16 Vordergrundfarben und einer von 4 (aus 16) Hintergrundfarben je Zeichen, Zeichensatz auf 64 Zeichen eingeschränkt
  Multi-Color mit 4 × 8 (doppeltbreiten) Pixel pro Zeichen, je Zeichen eine aus 8 Vordergrundfarben, und 3 bildschirmweit festzulegende weiteren Farben aus 16. Normale Zeichen und Multicolor-Zeichen können dabei beliebig gemischt werden; aber die normalen Zeichen sind in diesem Fall auf 8 Vordergrundfarben beschränkt.
  Multi-Color mit 160 × 200 (doppeltbreiten) Pixeln, 3 frei wählbaren Farben je 4 × 8 Pixel-Feld sowie 1 bildschirmweit einstellbaren Farbe.
  Hardware-Pixel-Scrolling (vertikal und horizontal um je 8 Hires- bzw. Normal-Pixel)
  8 Hardware-Sprites mit 24 × 21 Pixeln Größe mit Kollisionsabfrage, Multicolor-Möglichkeit, getrennte Vergrößerbarkeit auf das jeweils Doppelte in X- und Y-Richtung.
  Videoformat: FBAS
  [Bearbeiten] Programmierung des VIC II
  Eine zentrale Rolle bei der Programmierung des VIC II spielen die Rasterinterrupts. Diese können dazu dienen, an bestimmten Bildschirmpositionen das aktuelle Hauptprogramm anzuhalten und neue Registerinhalte in einige VIC II-Register zu laden. Auf diese Weise kann man sehr einfach den Bildschirm in mehrere verschiede Bereiche unterteilen. Weiterhin kann man mit deren Hilfe recht leicht die 8 Sprites mehrfach pro Bildaufbau verwenden, so dass man sehr viel mehr Sprites darstellen kann. Diese beiden Verfahren werden von sehr vielen C64-Spielen verwendet.
  Weiterhin stellt der Rahmen um die Grafik des C64 ein Problem dar, besonders bei PAL-Systemen ist dieser sehr breit. Der VIC II bietet keinerlei Register, die Darstellung von Grafik in diesem Bereich ermöglichen, allerdings kann man durch einige geschickte Registermanipulationen die Maskierung der Darstellung durch den Rahmen abschalten und so zumindest Sprites in diesem Bereich darstellen, so dass sich die Grafikdarstellung auf bis zu 402 Pixel Breite und in etwa 284 Pixel Höhe (bei PAL, weniger bei NTSC-Systemen) erweitern lässt.
  Auch die Farbauflösung in den Grafikmodi lässt sich durch geschickte Registermanipulation erhöhen. Man kann den VIC II dazu zwingen, nicht nur bei jeder achten, sondern bei jeder Rasterzeile neue Farbinformation aus dem Speicher zu laden. Das hat zur Folge, daß bei einer 160x200-Grafik zwar mehr als 64% der Rechenzeit für die Grafikdarstellung verlorengeht, aber man erhält einen fast vollwertigen 16-Farben-Modus.