MOS Technology VIC-II

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 and C128 home computers.

Succeeding MOS's original VIC (used in the VIC-20), the VIC-II was one of the two chips mainly responsible for the C64's success as the best-selling computer model of all time (the other chip being the 6581 SID).

Development history

The VIC-II chip was designed primarily by Al Charpentier and Charles Winterble at MOS Technology, Inc. as a successor to the MOS Technology 6560 "VIC". The team at MOS Technology had previously failed to produce two graphics chips named "MOS Technology 6562" for the Commodore TOI computer, and "MOS Technology 6564" for the Color PET, due to memory speed constraints.

In order to construct the VIC-II, Charpentier and Winterble made a market survey of current home computers and video games, listing up the current features, and what features they wanted to have in the VIC-II. The idea of adding sprites came from the Texas Instruments TI-99/4A computer and its TMS9918 graphics coprocessor. About 3/4 of the chip surface is used for the sprite functionality.

The chip was partly laid out using electronic design automation tools from "Applicon" (now a part of UGS Corp.), and partly laid out manually on vellum paper. The design was partly debugged by fabricating chips containing small subsets of the design, which could then be tested separately. This was easy since MOS Technology had both its research and development lab and semiconductor plant at the same location.

The work on the VIC-II was completed in November 1981 while Robert Yannes was simultaneously working on the SID chip. Both chips, like the Commodore 64, were finished in time for the Consumer Electronics Show in the first weekend of January 1982.

VIC-II features

*16 KiB address space for screen, character and sprite memory
*320 × 200 pixels video resolution (160 × 200 in multi-color mode)
*40 × 25 characters text resolution
*three character display modes and two bitmap modes
*16 colors
*concurrent handling of 8 sprites per scanline, each of 24 × 21 pixels (12 × 21 multicolor)
*raster interrupt (see details, below)
*smooth scrolling
*independent dynamic RAM refresh
*bus mastering for a 6502-style system bus; CPU and VIC-II accessing the bus during alternating half-clock cycles (the VIC-II will halt the CPU when it needs extra cycles)

Technical details

Programming

[
type-in program published by "COMPUTE!'s Gazette" in November 1988, showcases the careful use of raster interrupts to display information outside of the standard screen borders (here: the upper and lower border).]

The VIC-II was programmed by manipulating its 47 control registers (up from 16 in the VIC), memory mapped to the range $D000–$D02E in the C64 address space. Of all these registers, 34 dealt exclusively with sprite control (sprites being called MOBs, from Movable Object Blocks, in the VIC-II documentation). Like its predecessor, the VIC-II handled light pen input, and, with help from the C64s standard character ROM, provided the original PETSCII character set from 1977 on a similarly dimensioned display as the 40-column PET series, allowing some degree of PET BASIC program emulation on the C64.

By reloading the VIC-II's control registers via machine code hooked into the raster interrupt routine (the scanline interrupt), one could program the chip to generate significantly more than 8 concurrent sprites (a process known as sprite multiplexing), and generally give every program-defined slice of the screen different scrolling, resolution and color properties. The hardware limitation of 8 sprites per scanline could be increased further by letting the sprites flicker rapidly on and off. Mastery of the raster interrupt was essential in order to unleash the VIC-II's capabilities. Many demos and some later games would establish a fixed "lock-step" between the CPU and the VIC-II so that the VIC registers could be manipulated at exactly the right moment.

Colors

In multicolor bitmap mode (160×200 pixels, which most games used) characters had 4×8 pixels (the characters were still square since the pixels were double width) and 4 colors out of 16 colors. The 4th color was the same for the entire screen (the background color), while the other 3 could be set individually for every such 4×8 pixel area. Two colors were loaded from the active text screen, and the third was loaded from color RAM. Sprites in multicolor mode (12×21 pixels) had three colors: two shared among all sprites and one individual. The artist had to pick shared colors such that the combination with individual colors lead to a colorful impression. Some games reloaded shared colors during the raster interrupt; for example, the game "Turrican II" 's underwater area (which was vertically distinct) had different colors. Others, such as Epyx's "Summer Games" and "COMPUTE!'s Gazette"'s "Basketball Sam & Ed", overlaid two high-resolution sprites to allow two foreground colors to be used without sacrificing horizontal resolution [http://home.arcor.de/cybergoth/gamesa/summer1interview1.html] . Of course, this technique reduced the number of available sprites by half.

On PAL C64s, the PAL delay line in the monitor or TV which averages the color hue, but not the brightness, of consecutive screen lines can be (ab)used to create seven nonstandard colors by alternating screen lines showing two colors of identical brightness. There are seven such pairs of colors in the VIC chip.

The C64's team did not spend much time on mathematically computing the 16 color palette. Robert Yannes, who was involved with the development of the VIC-II, said:

I'm afraid that not nearly as much effort went into the color selection as you think. Since we had total control over hue, saturation and luminance, we picked colors that we liked. In order to save space on the chip, though, many of the colors were simply the opposite side of the color wheel from ones that we picked. This allowed us to reuse the existing resistor values, rather than having a completely unique set for each color. [http://www.pepto.de/projects/colorvic/]

The 1993 game "Mayhem in Monsterland" used software techniques to derive additional colors from the standard 16 color palette, thus allowing the VIC-II to display game graphics comparable to 16 bit machines of the era.

The VIC-II E

The 8564/8566 VIC-II E in the Commodore 128 used 48 pins and had two extra registers, one for accessing the added numerical keypad and other extra keys of that computer, and the other for toggling between a 1 MHz and a 2 MHz system clock; at the higher speed the VIC-II's video output did not work, suggesting use of the C128's 80-column mode at that speed (via the 8563 VDC RGB chip). Rather unofficially, the two extra registers were also available in the C128's C64 mode, permitting some use of the extra keys, as well as double-speed-no-video execution of CPU-bound code (i.e. numerical calculations) in self-made C64 programs. The extra registers were also one source of minor incompatibility between the C128's C64 mode and a real C64; probably more than half of the few C64 programs that don't run on the C128 erroneously access these registers.

List of VIC-II versions

*PAL
** MOS Technology 6569 – (PAL-B)
** MOS Technology 6572 – (PAL-N)
** MOS Technology 6573 – (PAL-M)
** MOS Technology 8565 – HMOS-II version for "C64E" motherboards
** MOS Technology 8566 – VIC-II E (PAL-B) C128 version
** MOS Technology 8569 – VIC-II E (PAL-N) C128 version

*NTSC
** MOS Technology 6566 – designed for SRAM/non-muxed address lines (used in the Commodore MAX Machine)
** MOS Technology 6567 – Original NMOS version
** MOS Technology 8562 – HMOS-II version
** MOS Technology 8564 – VIC-II E C128 version

References

*Appendix N, "6566/6567 (VIC-II) Chip Specifications", of the "Commodore 64 Programmer's Reference Guide" (see the C64 article).
*Bagnall, Brian: "", pp.228–231. ISBN 0-9738649-0-7.

ee also

* Video Display Controller
* List of home computers by video hardware

External links

* [http://www.cebix.net/VIC-Article.txt The MOS 6567/6569 video controller (VIC-II) and its application in the Commodore 64] - detailed hardware description of the VIC-II
* [http://unusedino.de/ec64/technical/misc/vic656x/colors/index.html Commodore VIC-II Color Analysis (Preview)] - an attempt to provide accurate information as to the VIC-II color palette, by Philip Timmermann
* [http://www.studiostyle.sk/dmagic/gallery/gfxmodes.htm Description of C64 graphics modes] - simple explanations with example pictures of the common modes used for C64 graphics, including hacked and software-assisted modes.
* [http://c64preservation.com C64 Preservation Project] - Saving the Original Disks!


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • MOS Technology VIC II — MOS 6569R3 auf einem C64 Mainboard Der VIC II 8565 …   Deutsch Wikipedia

  • 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 — 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”