MOS Technology VDC

Der MOS Technology VDC (Video Display Controller) ist ein Video Display Controller, der für die 80-Zeichen-Ausgabe im Commodore C128 zuständig ist. Er wird an einen Monitor mit RGBI-Eingang (z. B. CGA-Bildschirme) angeschlossen. Ursprünglich wurde der VDC für den CBM 900 entwickelt, ein Computersystem mit einer Zilog Z8001-CPU. Es wurden zwei nicht vollständig kompatible Versionen produziert, der 8563 und der 8568. Der Chip verfügt über ein eigenes Video-RAM, dieses ist in den alten C128-Versionen 16 KB groß, im neueren C128DCR 64 KB, jedoch können beide 64 KB adressieren. Der Chip wird asynchron zum Rest des Computers getaktet.

Technische Daten

  • 16 oder 64 KB Speicher
  • 16 Farben (RGBI)
  • Grafik-Auflösung 640 × 200 Pixel, bei 64-KB-Version auch erweiterbar auf 800 × 240 bzw. 480 (Interlaced) Pixel
  • Textmodus mit 80 Zeichen à 25 Zeilen, variierbar je nach Zeichengröße
  • 2 Zeichensätze à 256 Zeichen gleichzeitig nutzbar
  • Zeichengröße 2 bis 32 Rasterzeilen à 8 Pixel Breite
  • 1 bildschirmweite Hintergrundfarbe, 1 Vordergrundfarbe pro Zeichen und 4 Attribute (invertiert, blinkend, unterstrichen, Zeichensatz 1 oder 2)
  • Farbzellen im Bitmap-Modus von 8 Pixeln Breite und 2 bis 32 Pixeln Höhe, jede Zelle kann eine eigene Vorder- und Hintergrundfarbe benutzen.
  • Hardware-Textcursor
  • Fähigkeit zum Verschieben von bis zu 256 Bytes großen Datenblöcken
  • Horizontales und vertikales Hardware Scrolling

Programmierung des VDC

Der VDC verfügt über 36 (8563) bzw. 37 (8568) interne Register. Register 37 kam beim 8568 hinzu, wodurch der Refresh schneller getaktet werden konnte als bei seinem Vorgänger. Erreichbar sind die internen Register nur indirekt über zwei Speicherzellen im Ein/Ausgabe-Bereich an den Hexadezimal-Adressen $D600 und $D601. In Adresse $D600 wird angegeben, welches Register man ansprechen will, in Adresse $D601 wird dann das angesprochene Register ausgelesen oder beschrieben. Dabei muss man warten, bis Bit 7 von $D600 gesetzt ist. Beim C128 geht dies am einfachsten mit den folgenden beiden Betriebssystemfunktionen (auch in Basic):

  • $CDCC (Wert im Akku ins VDC-Register X schreiben)
  • $CDDA (Wert des VDC-Registers X in den Akkumulator holen)

Die Adresse $D600 hat noch weitere Bedeutungen, beim Auslesen erhält man:

  • Bit 7 = Statusbit: Hier erfährt man, ob der VDC mit seiner letzten Arbeit fertig ist (0 = fertig).
  • Bit 6 = Lichtgriffel (Lightpen)
  • Bit 5 = Kathodenstrahl-Rücklauf: 1 = Rücklauf.

Die anderen Bits sind nicht belegt.

Weblink

  • Informationen zum VDC im C64-Wiki
VD
Commodore-Produktübersicht
PET/CBM

KIM-1 • PET 2001 • CBM 3000 • CBM 4000 • CBM 8000 • CBM 8032MMF 9000

CBM II

CBM 500CBM 600CBM 700CBM 900

Heimcomputer

VC 10VC 20C64 (SX, GS) • 264-Reihe (C16, C116, Plus/4) • C128C65

Amiga

1000Sidecar500500 Plus2000CDTV6003000/T/UX12004000CD³²

IBM-kompatibel

PC-1 PC-10 bis PC-70x86LTA1060

Peripherie
Laufwerke

DatasetteCBM-DiskettenlaufwerkeVC15xx (VC1540/41, VC1551, VC1570/71, VC1581) • SFD100x (SFD1001, SFD1002) • CBM 2020 bis 8250CBM 4040A570 • A590 • A3070

Drucker

MPS-SerieMPS 801MPS 802MPS 803MPS 1000MPS 1270MPS 1500 CMPS 1550 CVC1520 • CBM-8000-Serie • CBM 4022CBM 4023

Sonstige Hardware

CBM-BusZorro-BusUhrenportWOMRAM Expansion UnitTurbokarte • Mäuse: Commodore 1350/1351 • Monochrom- und Farb-Monitore: 1701 • 1702 • 1703 • 1801 • 1802 • 1081 • 1084/1084S • 1085 • 1901 • 1942 • Lautsprecher A10 • Mehrfachbenutzersysteme (MBS)

Historische Hardware

Schreib- und Tischrechenmaschinen • LED-Uhren • 2000K/3000HChessmate

Chips

MOS Technology65026510VICVIC IITED • VDC • SIDPIAVIARIOTTPICIAACIA • Agnus (Blitter, Copper) • Paula • EHB-ModusHAM-Modus

Chipsätze

OCSECSAGAAAAChip-RAM und Fast-RAM

Software

Commodore BASICCommodore Basic V2KernalCBM-ASCII (PETSCII) • GEOS • Commodore DOSAmigaOSKickstartWorkbenchARexxAmigaGuideAMIX

†: Spielkonsole ‡: nur Prototyp