MOS Technology VIC-II

MOS Technology VIC-II (skr. Video Interface Chip II) – układ scalony stworzony przez MOS Technology, odpowiedzialny za wyświetlanie obrazu i sygnały odświeżania pamięci DRAM w komputerach domowych Commodore 64 / 128. Dokładne oznaczenia to MOS 6569/8565/8566 (PAL) i 6567/8562/8564 (NTSC).

Wyprowadzenia układu MOS 6567 VIC-II

VIC-II obok układu SID stanowił główną przesłankę sukcesu rynkowego C-64. Początkowo projektowany był przez Ala Charpentiera i Charlesa Winterblea w MOS Technology jako następca poprzedniej wersji – MOS 6560 instalowanej w komputerze VIC-20. Konstruktorzy w swej pracy wzorowali się na ówczesnych konstrukcjach konkurencji. Pomysł dodania obsługi obiektów sprite zaczerpnięty został z konstrukcji Texas Instruments TI-99/4A oraz koprocesora graficznego TMS9918. Realizacja tejże funkcjonalności zajmuje około 3/4 powierzchni VIC-II. Część układu projektowana była za pomocą narzędzi Electronic Design Automation. Poprawność działania sprawdzano na układach testowych, zawierających wybrane elementy z całego projektu. Owa praktyka była łatwa do realizowania dzięki posiadaniu przez firmę MOS laboratorium B+R i miejsce wytwarzania półprzewodników w jednej lokalizacji. Praca nad VIC-II dobiegła końca w listopadzie 1981 r. w czasie, gdy Robert Yannes pracował nad układem SID.

Programowanie i sterowanie układem możliwe jest za pomocą 47 rejestrów. Pamięć adresową stanowi obszar z przedziału $D000-$D02E. Tak samo jak poprzednik, VIC-II umożliwia obsługę pióra świetlnego. Tryb tekstowy umożliwia wyświetlanie matrycy znaków w postaci 40 kolumn x 25 wierszy. Spośród 2 trybów graficznych pierwszy tzw. hi-res oferuje rozdzielczość 320x200 px z 2 kolorami, zaś drugi – multi-color udostępnia rozdzielczość 160x200 px z 2 bitami na pixel (4 kolorami). Sprzętowa paleta barw obejmuje 16 fabrycznie zdefiniowanych kolorów, jednak programowo ta liczba może być zwiększona do 128 kolorów (tzw. tryb z przeplotem). Obiekty sprite w trybie multi-color posiadają wielkość 12×21 px i zawierają 3 kolory, z których 2 są wspólne dla wszystkich obiektów, a 1 indywidualny. W tym trybie każdy piksel sprite'a zajmuje na ekranie 2 piksele w poziomie. Natomiast tryb hi-res udostępnia jednokolorowe (drugi kolor to przezroczystość) obiekty o matrycy 24x21 px[1].

Dane techniczne edytuj

 
Paleta kolorów VIC-II
  • 16 KB pamięci adresowej dla ekranu, znaków oraz obiektów sprite
  • Rozdzielczości ekranu: 320x200 px lub 160x200 px w trybie multi-color
  • Matryca znaku o wielkości 8x8 px lub 4x8 px
  • 16 kolorów możliwych do wyświetlenia
  • Płynne przewijanie grafiki
  • Niezależne odświeżanie pamięci RAM
  • Możliwość wyświetlenia do 8 obiektów sprite jednocześnie
  • Przerwanie rastra

Wersje edytuj

  • PAL
    • MOS Technology 6569 – (PAL-B)
    • MOS Technology 6572 – (PAL-N)
    • MOS Technology 6573 – (PAL-M)
    • MOS Technology 8565 – HMOS-II wersja dla płyt głównych "C64E"
    • MOS Technology 8566 – VIC-II E (PAL-B) wersja dla C128
    • MOS Technology 8569 – VIC-II E (PAL-N) wersja dla C128
  • NTSC
    • MOS Technology 6566 – zaprojektowany dla SRAM/non-muxed address lines (użyty w Commodore MAX Machine)
    • MOS Technology 6567 – oryginalna wersja NMOS
    • MOS Technology 8562 – wersja HMOS-II
    • MOS Technology 8564 – VIC-II E wersja dla C128

Przypisy edytuj

Bibliografia edytuj

  • Appendix N, "6566/6567 (VIC-II) Chip Specifications", of the Commodore 64 Programmer's Reference Guide (see the C64 article).
  • Brian Bagnall|Bagnall, Brian: On The Edge: The Spectacular Rise and Fall of Commodore, pp.228–231. ISBN 0-9738649-0-7.