MOS Technology VIC II

MOS Technology VIC II
MOS 6569R3 auf einem C64-Mainboard
Der VIC II 8565R2 für den C64-II

Der VIC (Video Interface Controller) II von MOS Technologies, Nachfolger des VIC, ist ein Video Display Controller, 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.

Inhaltsverzeichnis

Technische Daten

Die 16 Farben des VIC II
  • Erzeugung des Systemtakts für die anderen Chips
  • Automatischer Refresh für dynamische RAMs (DRAM).
  • 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.
  • 16 kB Adressbereich (DMA) für Video- und Zeichensatzspeicher
  • 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.)
  • 16 Farben
  • Textmodus mit 25 Zeilen zu 40 Zeichen
  • 3 Textmodi:
    • Hires mit 8 × 8 Pixeln pro Zeichen, einer aus 16 Vordergrundfarben je Zeichen und einer für den gesamten Bildschirm geltenden Hintergrundfarbe.
    • Extended-Color Mode (ECM) mit 8 × 8 Pixeln pro Zeichen, einer aus 16 Vordergrundfarben und einer von 4 (aus 16) Hintergrundfarben je Zeichen, Zeichensatz auf die ersten 64 Zeichen eingeschränkt.
    • Multi-Color mit 4 × 8 (doppeltbreiten) Pixeln pro Zeichen, je Zeichen eine aus 8 Vordergrundfarben, und 3 bildschirmweit geltenden weiteren Farben aus 16. Hires Zeichen und Multicolor-Zeichen können dabei beliebig gemischt werden, die Vordergrundfarbe ist nur aus den ersten 8 Farben wählbar.
  • 2 Grafikmodi:
    • Hires mit 320 × 200 Pixeln, und einer frei wählbaren Vorder- und Hintergrundfarbe pro 8 × 8-Pixel-Feld
    • Multi-Color mit 160 × 200 (doppeltbreiten) Pixeln, 3 frei wählbaren Farben je 4 × 8 Pixel-Feld sowie einer bildschirmweit einstellbaren Farbe.
  • Hardware-Pixel-Scrolling (vertikal und horizontal um maximal 8 Hires-Pixel)
  • 8 Hardware-Sprites mit 24 × 21 Pixeln Größe mit Kollisionsabfrage, Multicolor-Möglichkeit und getrennter Skalierbarkeit auf das jeweils Doppelte in X- und Y-Richtung.
  • Optionale Interrupts bei Sprite-Sprite- und Sprite-Grafik-Kollisionen
  • Rasterzeilen-Interrupts
  • Lichtgriffel-Funktion mit Interrupts
  • Ausgabesignal: Y/C, getrennte Luminanz und Chrominanz (ähnlich zu S-Video, nur mit geringerer Luma-Amplitude)
Der MOS 6567 VIC II

Programmierung des VIC II

Eine zentrale Rolle bei der Programmierung des VIC II spielt der Rasterinterrupt. Dieser kann 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 verschiedene Bereiche unterteilen (Split Screen). 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 zur richtigen Zeit 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, dass bei einer bildschirmfüllenden Grafik zwar mehr als 64% der Rechenzeit für die Grafikdarstellung aufgewendet wird, aber man erhält einen fast vollwertigen 16-Farben-Modus (FLI, Flexible Line Interpreter).

Schnelles Scrollen von Bitmap-Grafik ist ebenfalls durch ausgefeilte Registermanipulationen möglich, horizontal kann so der Bildschirmanfang verschoben werden (HSP - Horizontal Screen Position), was ein viel zu rechenaufwändiges Umkopieren der gesamten Bitmap alle 8 Pixel (wie es bei herkömmlichem Hardwarescrolling nötig wäre) überflüssig macht - es muss nur der hereinscrollende Bereich neu beschrieben werden. Vertikal kann die Bitmap mittels FLD (Flexible Line Distance) nach unten bzw. per Linecrunching nach oben verschoben werden (VSP - Vertical Screen Position). Zusammen ist dieser Effekt unter C64-Programmierern als AGSP (Any Given Screen Position) bekannt.[1]

Siehe auch: DYCP

Einzelnachweise

  1. codebase64.org: Any Given Screen Positioning (AGSP) HSP/VSP with a line crunch

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • MOS Technology VIC — VIC (Pal Version 6561) Der VIC (Video Interface Chip), technische Bezeichnung MOS Technology 6560 (NTSC Version) bzw. 6561 (PAL Version), ist ein Computer Chip zur Bild und Tonausgabe auf einem Fernseher oder einem Video Monitor. Ursprünglich… …   Deutsch Wikipedia

  • MOS Technology VIC-II — The VIC II (Video Interface Chip II), specifically known as the MOS Technology 6567/8562/8564 (NTSC versions), 6569/8565/8566 (PAL), is the microchip tasked with generating Y/C/composite video graphics and DRAM refresh signals in the Commodore 64 …   Wikipedia

  • MOS Technology VIC — The VIC (Video Interface Chip), specifically known as the MOS Technology 6560 (NTSC version) / 6561 (PAL version), is the integrated circuit chip responsible for generating video graphics and sound in the Commodore VIC 20 home computer. It was… …   Wikipedia

  • MOS Technology VIC — Внешний вид MOS 6561 101 …   Википедия

  • MOS Technologies VIC II — MOS 6569R3 auf einem C64 Mainboard Der VIC II 8565R2 für den C64 II Der VIC (Video Interface Controller) II von MOS Technologies, Nachfolger des …   Deutsch Wikipedia

  • MOS Technologies VIC — VIC (Pal Version 6561) Der VIC (Video Interface Chip), technische Bezeichnung MOS Technologies 6560 (NTSC Version) bzw. 6561 (PAL Version), ist ein Computer Chip zur Bild und Tonausgabe auf einem Fernseher oder einem Video Monitor. Ursprünglich… …   Deutsch Wikipedia

  • MOS Technology SID — MOS Technology SIDs. The right chip is a 6581 from MOS Technology, known at the time as the Commodore Semiconductor Group (CSG.) The left chip is an 8580, also from MOS Technology. The numbers 0488 and 3290 are in WWYY form, i.e. the chips were… …   Wikipedia

  • MOS Technology — MOS Technology, Inc., también conocida como Commodore Semiconductor Group, (al ser adquirida por CBM), fue un fabricante de calculadoras y microprocesadores, siendo famosa por su microprocesador MOS Technology 6502. Pese a la similitud, no tiene… …   Wikipedia Español

  • MOS Technology, Inc — MOS Technology MOS Technologie, également connue sous le nom de Commodore Semiconductor Group, fut une société américaine d électronique et un fondeur de microprocesseurs. La société est particulièrement connue pour avoir conçu la gamme des… …   Wikipédia en Français

  • MOS Technology — MOS Technology, Inc., также известная как CSG (Commodore Semiconductor Group)  американская компания, разработчик и производитель микросхем. Располагалась в Норристоне, штат Пенсильвания. Наиболее известна как разработчик микропроцессора… …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”