The VIC-II (Video Interface Chip II), specifically known as the
MOS Technology
MOS Technology, Inc. ("MOS" being short for Metal Oxide Semiconductor), later known as CSG (Commodore Semiconductor Group) and GMT Microelectronics, was a semiconductor design and fabrication company based in Audubon, Pennsylvania. It is mo ...
6567/8562/8564 (
NTSC
The first American standard for analog television broadcast was developed by National Television System Committee (NTSC)National Television System Committee (1951–1953), Report and Reports of Panel No. 11, 11-A, 12–19, with Some supplement ...
versions), 6569/8565/8566 (
PAL
Phase Alternating Line (PAL) is a colour encoding system for analogue television. It was one of three major analogue colour television standards, the others being NTSC and SECAM. In most countries it was broadcast at 625 lines, 50 fields (25 ...
), is the
microchip
An integrated circuit or monolithic integrated circuit (also referred to as an IC, a chip, or a microchip) is a set of electronic circuits on one small flat piece (or "chip") of semiconductor material, usually silicon. Large numbers of tiny ...
tasked with generating
Y/C video signals (combined to
composite video
Composite video is an analog video signal format that carries standard-definition video (typically at 525 lines or 625 lines) as a single channel. Video information is encoded on one channel, unlike the higher-quality S-Video (two channels) a ...
in the
RF modulator
An RF modulator (or radio frequency modulator) is an electronic device whose input is a baseband signal which is used to modulate a radio frequency source.
RF modulators are used to convert signals from devices such as media players, VCRs a ...
) and
DRAM
Dynamic random-access memory (dynamic RAM or DRAM) is a type of random-access semiconductor memory that stores each bit of data in a memory cell, usually consisting of a tiny capacitor and a transistor, both typically based on metal-oxid ...
refresh signals in the
Commodore 64
The Commodore 64, also known as the C64, is an 8-bit home computer introduced in January 1982 by Commodore International (first shown at the Consumer Electronics Show, January 7–10, 1982, in Las Vegas). It has been listed in the Guinness ...
and
C128 home computers.
Succeeding MOS's original
VIC
Vic (; es, Vic or Pancracio Celdrán (2004). Diccionario de topónimos españoles y sus gentilicios (5ª edición). Madrid: Espasa Calpe. p. 843. ISBN 978-84-670-3054-9. «Vic o Vich (viquense, vigitano, vigatán, ausense, ausetano, ausonense): ...
(used in the
VIC-20
The VIC-20 (known as the VC-20 in Germany and the VIC-1001 in Japan) is an 8-bit home computer that was sold by Commodore Business Machines. The VIC-20 was announced in 1980, roughly three years after Commodore's first personal computer, the PE ...
), the VIC-II was one of the two chips mainly responsible for the C64's success (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 game
Video games, also known as computer games, are electronic games that involves interaction with a user interface or input device such as a joystick, controller, keyboard, or motion sensing device to generate visual feedback. This fee ...
s, listing up the current features, and what features they wanted to have in the VIC-II. The idea of adding sprites came from the
TI-99/4A
The TI-99/4 and TI-99/4A are home computers released by Texas Instruments in 1979 and 1981, respectively. Based on the Texas Instruments TMS9900 microprocessor originally used in minicomputers, the TI-99/4 was the first 16-bit home computer. ...
computer and its
TMS9918
IMAGE:TMS9918A 01.jpg, VDP TMS9918A
IMAGE:TMS9918A 02.jpg, VDP TMS9918A
IMAGE:TMS9928A 01.jpg, VDP TMS9928A
The TMS9918 is a video display controller (VDC) manufactured by Texas Instruments, in manuals referenced as 'Video Display Processor' (VDP ...
graphics coprocessor. The idea to support collision detection came from the
Mattel Intellivision
The Intellivision is a home video game console released by Mattel Electronics in 1979. The name is a portmanteau of "intelligent television". Development began in 1977, the same year as the launch of its main competitor, the Atari 2600. In 1984, ...
. The
Atari 800
The Atari 8-bit family is a series of 8-bit home computers introduced by Atari, Inc. in 1979 as the Atari 400 and Atari 800. The series was successively upgraded to Atari 1200XL , Atari 600XL, Atari 800XL, Atari 65XE, Atari 130XE, Atari 800XE ...
was also mined for desired features, particularly bitmap mode, which was a desired goal of the MOS team as all of Commodore's principal home computer rivals had bitmap graphics while the VIC-20 only had redefinable characters.
About 3/4 of the chip surface is used for the sprite functionality.
The chip was partly laid out using
electronic design automation
Electronic design automation (EDA), also referred to as electronic computer-aided design (ECAD), is a category of software tools for designing Electronics, electronic systems such as integrated circuits and printed circuit boards. The tools wo ...
tools from ''Applicon'' (now a part of
UGS Corp.
UGS was a computer software company headquartered in Plano, Texas, specializing in 3D & 2D Product Lifecycle Management (PLM) software. Its operations were amalgamated into the Siemens Digital Industries Software business unit of Siemens Indust ...
), 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
Research and development (R&D or R+D), known in Europe as research and technological development (RTD), is the set of innovative activities undertaken by corporations or governments in developing new services or products, and improving existi ...
lab and semiconductor plant at the same location. The initial batch of test chips came out almost fully functional, with only one bad sprite. The chip was developed in 5 micrometer technology.
The work on the VIC-II was completed in November 1981 while
Robert Yannes
Robert Yannes (born 1957) is an American electronic engineer who designed the SID audio generator chip for the Commodore 64 and co-founded digital synthesizer company Ensoniq. He designed the Ensoniq 5503 Digital Oscillator Chip (DOC) which wa ...
was simultaneously working on the
SID chip. Both chips, like the
Commodore 64
The Commodore 64, also known as the C64, is an 8-bit home computer introduced in January 1982 by Commodore International (first shown at the Consumer Electronics Show, January 7–10, 1982, in Las Vegas). It has been listed in the Guinness ...
, were finished in time for the
Consumer Electronics Show
CES (; formerly an initialism for Consumer Electronics Show) is an annual trade show organized by the Consumer Technology Association (CTA). Held in January at the Las Vegas Convention Center in Winchester, Nevada, United States, the event typi ...
in the first weekend of January 1982.
VIC-II features
* 16
kB address space
In computing, an address space defines a range of discrete addresses, each of which may correspond to a network host, peripheral device, disk sector, a memory cell or other logical or physical entity.
For software programs to save and retrieve st ...
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
A scan line (also scanline) is one line, or row, in a raster scanning pattern, such as a line of video on a cathode ray tube (CRT) display of a television set or computer monitor.
On CRT screens the horizontal scan lines are visually discernible, ...
, each of 24 × 21 pixels (12 × 21 multicolor)
*
Raster interrupt
A raster interrupt (also called a horizontal blank interrupt) is an interrupt signal in a legacy computer system which is used for display timing. It is usually, though not always, generated by a system's graphics chip as the scan lines of a fr ...
(see details, below)
* Smooth
scrolling
In computer displays, filmmaking, television production, and other kinetic displays, scrolling is sliding text, images or video across a monitor or display, vertically or horizontally. "Scrolling," as such, does not change the layout of the text ...
* Independent dynamic
RAM refresh
*
Bus mastering
In computing, bus mastering is a feature supported by many bus architectures that enables a device connected to the bus to initiate direct memory access (DMA) transactions. It is also referred to as first-party DMA, in contrast with third-party ...
for a 6502-style
system bus; CPU and VIC-II accessing the bus during alternating half-
clock cycle
In electronics and especially synchronous digital circuits, a clock signal (historically also known as ''logic beat'') oscillates between a high and a low state and is used like a metronome to coordinate actions of digital circuits.
A clock sig ...
s (the VIC-II will halt the CPU when it needs extra cycles)
Technical details
Note that below register addresses are stated as seen by CPU in a C64. To yield the register numbers as usually given in data sheets (i. e. starting with 0), the leading "D0" should be omitted.
Programming
The VIC-II is programmed by manipulating its 47 control registers (up from 16 in the VIC), memory mapped to the range – in the C64 address space. Of all these registers, 34 deal exclusively with
sprite control (sprites being called MOBs, from "Movable Object Blocks", in the VIC-II documentation). Like its predecessor, the VIC-II handles
light pen
A light pen is a computer input device in the form of a light-sensitive wand used in conjunction with a computer's cathode-ray tube (CRT) display.
It allows the user to point to displayed objects or draw on the screen in a similar way to a tou ...
input, and with help from the C64's standard character ROM, provided the original
PETSCII
PETSCII (''PET Standard Code of Information Interchange''), also known as CBM ASCII, is the character set used in Commodore Business Machines (CBM)'s 8-bit home computers, starting with the PET from 1977 and including the C16, C64, C116, C1 ...
character set from 1977 on a similarly dimensioned display as the 40-column
PET
A pet, or companion animal, is an animal kept primarily for a person's company or entertainment rather than as a working animal, livestock, or a laboratory animal. Popular pets are often considered to have attractive appearances, intelligence ...
series.
By reloading the VIC-II's control registers via machine code hooked into the
raster interrupt
A raster interrupt (also called a horizontal blank interrupt) is an interrupt signal in a legacy computer system which is used for display timing. It is usually, though not always, generated by a system's graphics chip as the scan lines of a fr ...
routine (the scanline interrupt), one can 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
demo
Demo, usually short for demonstration, may refer to:
Music and film
*Demo (music), a song typically recorded for reference rather than release
* ''Demo'' (Behind Crimson Eyes), a 2004 recording by the band Behind Crimson Eyes
* ''Demo'' (Deafhea ...
s 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.
Character graphics
The C64 shipped with the PETSCII character set in a 4k ROM, but, like the VIC-20 before it, the actual data for the characters was read from memory at a specified location. This location was one of the VIC-II registers, which allowed programmers to construct their own characters sets by placing the appropriate data in memory; each character was an 8x8 grid, a byte represented 8 bits horizontally, so 8 bytes were required for a single character and thus the complete 256-character set used a total of 2,048 bytes. Theoretically as many as eight character sets can be used if the entire 16k of video memory were filled.
In addition to charsets, the VIC-II also uses 1000 bytes to store the 25 lines of 40 characters per line, one byte for each character, which in power on default configuration sits at -.
Color RAM is accessed as bits 8 to 11 of the video matrix;
in the 64 and 128, it is located in I/O space at - and cannot be moved from that location. It contains the values for color 1 (color 3 in multicolor mode) of each character.
The character ROM is mapped into two of the VIC-II's four "windows", at - and -, although the CPU cannot see it there (the character ROM may be switched into - where it is visible to the CPU, but not the VIC-II). Thus graphics data or video buffers cannot be placed at - or - because the VIC-II will see the character ROM there instead. Because these areas of RAM could not be used by the VIC-II graphics chip, they were frequently used for music/sound effects (the SID chip). The C64 has the ability to have RAM and ROM at the same address in memory but the CPU would "see" one and the VIC-II chip would "see" the other.
In default high-resolution character mode, the foreground of each character may be set individually in the color RAM. In multicolor character mode, color 3 is limited to the first eight possible color values; the fourth bit is then used as a flag indicating if this character is to be displayed in high-resolution or multicolor, thus making it possible to mix both types on one screen.
Colors 1 and 2 are set by the registers at and and are global for all characters.
If Extended Background Color Mode is used, the upper two bits of the character code are used to select one of four background color registers. This allows four different background colors on the screen, but at the expense of only allowing 64 different characters instead of 256. Because this is limiting, games seldom used it.
Bitmap mode
Adding an all-points-addressable bitmap mode was one of the Commodore design team's primary goals, as the VIC-I lacked such a feature. However, in order to use as little additional circuitry as possible, they organized it in the same manner as character mode, i.e. 8x8 and 4x8 tiles. Bitmap graphics require an 8k page for the pixel data and each byte corresponds to one row of eight or four pixels. The next byte is the row underneath it and after the 8th row, returning to the top of the next tile.
In hi-res bitmaps, screen RAM is used to hold the foreground and background colors of each tile (high and low nibble of each byte). This is the only VIC-II mode that does not make any use of the color RAM at or the background color register at .
Multicolor bitmap mode allows three colors per tile (the fourth is the background color as set in ). Colors 1 and 2 are selected by the bits in screen RAM (same as hires bitmaps) and the third is from color RAM.
Despite the high level of color detail and all-points-addressable capabilities of bitmap mode, it is generally impractical for in-game graphics due to requiring a high amount of system resources (8k for the pixel data plus considerable more CPU cycles to modify each tile) and normally cannot be scrolled. Thus, it is most commonly seen on loader and sometimes title screens.
Sprites
VIC-II sprites are either 24x21 monochrome or 12x21 multicolor. Similar to character graphics, the latter have one individual color for each sprite and two global ones. VIC-II has eight sprites, each of which uses 64 bytes of memory to store but, with certain limitations, it can display many more. Sprite multiplexing is a common method of getting more than eight on screen (although there still is a maximum of eight per scan line). The VIC-II scanline counters are polled until the desired point is reached on screen, after which the program quickly changes the sprite coordinates. This programming trick and other workarounds could result to over twenty sprites onscreen once. For a demo, though, the limit is considerably more flexible.
In theory the maximum number of different sprites visible at the same time is 256 (assuming the VIC-II's entire 16k page was filled). They are addressed by using a block number to refer to each sprite pattern in memory beginning with 0 and going to 255 ($FF) depending on their position in the video page. (if the second video bank (numbered as 0 1 2 and 3) is used, Block 0 would refer to the sprite stored at and Block 255 would be at ).
Each sprite may be double-sized vertically, horizontally or both. This does not make the sprite bigger (except visually) or add more pixels to the sprite, but merely upscales the existing pixels.
Because the horizontal position register for sprites is one byte and limited to a maximum value of 255, it could not cover the entire 320 pixels of the VIC-II's screen area, so an additional register called the Most Significant Byte Flag is provided for this.
and contain the Background and Sprite-to-Sprite Collision registers. The former is rarely used because it cannot provide information on the specific background object the sprite is touching.
contains the Sprite To Background priority register, which is used to govern whether a sprite moves behind or in front of background objects. When a sprite enters the same space as another sprite, the lower-numbered ones will always pass over the higher numbered ones.
Scrolling
In order to scroll a character screen, the VIC-II is set to 38-column and/or 24-line mode via the registers at and . This creates an off-screen buffer where the row of characters to be scrolled is placed. By adjusting the scroll bits in the above-mentioned registers, one row may be moved on-screen after which it repeats unless a new row is put in the buffer. Color RAM is scrolled simultaneous with screen RAM and works the same way.
VIC-II scrolling is a relatively complicated, CPU intensive task, although it was not uncommon for C64 game programmers to cheat by designing graphics so that the color RAM can remain static. Another standard trick is to cover the bottom or top 25% of the screen with a score counter to reduce the amount of scrolling that has to be performed. Finally, it is usually necessary to use an extra 1k piece of RAM to write character data to and then "blit" it into the screen RAM to prevent screen tearing, although this cannot be done with color RAM.
Late in the C64's commercial lifespan, an exploit known as VSP (Virtual Screen Positioning) was discovered that involved manipulation of the control bits in to produce fast scrolling at a much lower CPU cycle cost than the standard scroll registers, however it required careful, cycle-exact coding and did not work reliably on some VIC-II revisions, also it can only be used for horizontal scrolling. It is notably used in ''
Mayhem in Monsterland
''Mayhem in Monsterland'' is a 1993 platform game for the Commodore 64. Its titular hero, "Mayhem", is a yellow triceratops blessed with the gift of speed. His goal is to return his world from sad to happy, ridding the world of monsters along t ...
''.
Raster interrupts
Utilization of raster interrupts is an essential part of C64 game programming. In the computer's power-on default state, the first
MOS Technology CIA
The 6526/8520 Complex Interface Adapter (CIA) was an integrated circuit made by MOS Technology. It served as an I/O port controller for the 6502 family of microprocessors, providing for parallel and serial I/O capabilities as well as timers ...
chip generates a
maskable interrupt
In digital computers, an interrupt (sometimes referred to as a trap) is a request for the processor to ''interrupt'' currently executing code (when permitted), so that the event can be processed in a timely manner. If the request is accepted, ...
(IRQ) 60 times per second (NTSC) or 50 (PAL) which sends the CPU to the kernel IRQ handler at . The handler acknowledges the CIA's IRQ, updates the clock, scans the keyboard, and blinks the cursor in BASIC.
Games normally disable the CIA's interrupt and instead set up the VIC-II to generate interrupts when a specific scanline is reached, which is necessary for split-screen scrolling and playing music. The game remaps the
IRQ vector at / to its raster handler which performs these functions and then optionally executes a JMP instruction to return control to the kernel.
Some games use only one IRQ; however, nested ones are more common and improve program stability. In this setup, the IRQ is remapped to the second routine and so forth for each one until the last one restores it to the address of the first IRQ. When nested IRQs are used, only one JMP instruction is needed in the chain and the others can be ended with JMP , which simply goes to the end of the kernel handler. Also it is not uncommon for games to switch out the kernal and use their own IRQ handler instead. The NMI can be used for an additional interrupt thread, although undesirable side effects can result from accidentally pressing the Restore key as it triggers an NMI if pressed.
The VIC-II may also generate a raster interrupt from the collision registers, but this feature is rarely used.
Memory mapping
The VIC-II has a 14-bit address bus and can use any of the four 16k segments of the C64's memory space for video data. To manage this, two additional address bits are contributed by port bits of CIA. - is the power-on default. The second segment (–) is typically the best choice for programming from BASIC as it is the only segment that is completely free RAM with no ROMs or I/O registers mapped into it. The fourth segment (–) is also a good choice provided that machine language is used, as the kernel ROMs must be disabled to gain read access by the CPU, and it avoids having discontiguous program code and data that would result from using -. Note that graphics data may be freely stored underneath the BASIC ROM at -, the kernel ROM at - or I/O registers and color RAM at –, since the VIC-II only sees RAM, regardless of how the CPU memory mapping is adjusted; character ROM is visible only in the first and third segment, thus if segment two or four is used, the programmer must supply his own character data. The screen RAM, bitmap page, sprites, and character sets must all occupy the same segment window (provided the CIA bits aren't changed via scanline interrupt). The last six bytes of system memory (-) contain the IRQ, NMI, and reset vectors so if the top of memory is used to store a character set or sprite data, it will be necessary to sacrifice one character or sprite to avoid overwriting the vectors.
Registers
The VIC-II has 47 read/write registers listed below:
Colors
In multicolor character mode (160×200 pixels, which most games used) characters have 4×8 pixels (the characters are still approximately square since the pixels are double width) and 4 colors out of 16 colors. The 4th color is the same for the entire screen (the background color), while the other 3 can be set individually for every such 4×8 pixel area. Two colors are loaded from the active text screen, and the third is loaded from color RAM. Sprites in multicolor mode (12×21 pixels) have three colors: two shared among all sprites and one individual. The artists had to pick shared colors such that the combination with individual colors leads to a colorful impression. Some games reload shared colors during the raster interrupt; for example, the game ''
Turrican II's'' underwater area (which was vertically distinct) has different colors. Others, such as
Epyx
Epyx, Inc. was a video game developer and publisher active in the late 1970s and 1980s. The company was founded as Automated Simulations by Jim Connelley and Jon Freeman, originally using Epyx as a brand name for action-oriented games before rena ...
's ''
Summer Games'' and ''
COMPUTE!'s Gazette
''Compute!'s Gazette'' (), stylized as ''COMPUTE!'s Gazette'', was a computer magazine of the 1980s, directed at users of Commodore's 8-bit home computers. Announced as ''The Commodore Gazette'', it was a Commodore-only daughter magazine of the ...
s ''Basketball Sam & Ed'', overlay two high-resolution sprites to allow two foreground colors to be used without sacrificing horizontal resolutio
Of course, this technique reduces the number of available sprites by half.
On
PAL
Phase Alternating Line (PAL) is a colour encoding system for analogue television. It was one of three major analogue colour television standards, the others being NTSC and SECAM. In most countries it was broadcast at 625 lines, 50 fields (25 ...
C64s, the PAL
Analog delay line, delay line in the monitor or TV which averages the color
hue
In color theory, hue is one of the main properties (called color appearance parameters) of a color, defined technically in the CIECAM02 model as "the degree to which a stimulus can be described as similar to or different from stimuli that ...
, but not the brightness, of consecutive screen lines can be 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.''
Early versions of the VIC-II used in PAL C64s have a different color palette than later revisions.
The full palette of sixteen colors is generated based on variations of
YPbPr
YPbPr or Y'PbPr, also written as , is a color space used in video electronics, in particular in reference to component video cables. YPBPR is gamma corrected YCBCR color space (it is not analog YUV that was used for analog TV, though component ...
signals as shown below:
The VIC-IIe
The 8564/8566 VIC-IIe in the
Commodore 128
The Commodore 128, also known as the C128, C-128, C= 128,The "C=" represents the graphical part of the logo. is the last 8-bit home computer that was commercially released by Commodore Business Machines (CBM). Introduced in January 1985 at the ...
used 48 pins rather than 40, as it produced more signals, among them the clock for the additional
Zilog Z80
The Z80 is an 8-bit microprocessor introduced by Zilog as the startup company's first product. The Z80 was conceived by Federico Faggin in late 1974 and developed by him and his 11 employees starting in early 1975. The first working samples wer ...
CPU of that computer. It also had two extra registers. One of the additional registers was for accessing the added numerical keypad and other extra keys of that computer; this function was added to the VIC merely because that proved to be the easiest place in the computer to add the necessary three extra output pins. The other extra register was for toggling between a 1 MHz and a 2 MHz system clock; at the higher speed the VIC-II's video output is merely displaying every second byte in the code as black hires bit-pattern on the screen, 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
{{Unreferenced, date=April 2007
In computer science, a computer is CPU-bound (or compute-bound) when the time for it to complete a task is determined principally by the speed of the central processor: processor utilization is high, perhaps at 100% ...
code (such as intensive 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 - a few older C64 programs inadvertently wrote into the toggle bit, which would do nothing at all on a real C64, but would result in a messed-up display on a C128 in C64 mode.
The VIC-IIe has the little-known ability to create an additional set of colors by manipulating the registers in a specific way that puts the color signal out of phase with what other parts of the chip consider it to be in.
Using the specific behavior of the VIC-IIe's test bit, it is furthermore capable of producing a real interlace picture with a resolution of 320×400 (hires mode) and 160×400 (multicolor mode).
List of VIC-II versions
Commodore made many modifications to the VIC-II during its lifetime. ''
Compute!'s Gazette
''Compute!'s Gazette'' (), stylized as ''COMPUTE!'s Gazette'', was a computer magazine of the 1980s, directed at users of Commodore's 8-bit home computers. Announced as ''The Commodore Gazette'', it was a Commodore-only daughter magazine of the ...
''s first issue, in July 1983, reported that there had already been eight since the Commodore 64's release in mid-1982.
*
PAL
Phase Alternating Line (PAL) is a colour encoding system for analogue television. It was one of three major analogue colour television standards, the others being NTSC and SECAM. In most countries it was broadcast at 625 lines, 50 fields (25 ...
** MOS Technology 6569 – (
PAL-B, used in most PAL countries)
** MOS Technology 6572 – (
PAL-N
Phase Alternating Line (PAL) is a colour encoding system for analogue television. It was one of three major analogue colour television standards, the others being NTSC and SECAM. In most countries it was broadcast at 625 lines, 50 fields (25 ...
, used in southern South America only)
** MOS Technology 6573 – (
PAL-M
PAL-M is the analogue TV system used in Brazil since 19 February 1972. At that time, Brazil was the first South American country to broadcast in colour. Colour TV broadcast began on 19 February 1972, when the TV networks Globo and Bandeirantes t ...
, used in Brazil only)
** 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
The first American standard for analog television broadcast was developed by National Television System Committee (NTSC)National Television System Committee (1951–1953), Report and Reports of Panel No. 11, 11-A, 12–19, with Some supplement ...
** MOS Technology 6566 – designed for
SRAM/non-
muxed
In telecommunications and Computer network, computer networking, multiplexing (sometimes contracted to muxing) is a method by which multiple analog or digital signals are combined into one signal over a shared medium. The aim is to share a sc ...
address lines (used in the
Commodore MAX Machine
The Commodore MAX Machine, also known as Ultimax in the United States and Canada and VC-10 in Germany, is a home computer designed and sold by Commodore International in Japan, beginning in early 1982, a predecessor to the popular Commodore 64. ...
)
** MOS Technology 6567 – Original NMOS version
** MOS Technology 8562 – HMOS-II version
** MOS Technology 8564 – VIC-II E C128 version
The earliest revision of the VIC-II was used in machines made during 1982 and early 1983; it had a ceramic shell for thermal reasons and generated 64 NTSC color clocks per line. These chips also did not output separated chroma and luminance signals. All later revisions had a lower cost plastic shell and 63 color clocks per line, as well as separated chroma and luminance, allowing for an early form of S-video. Several revisions were made chiefly in the interest of improving video output quality, which was poor on the early units, and eliminating a bug that would cause random pixels to appear on screen (a few early games intentionally exploited this for graphics effects that consequently did not work on later C64s). The 64 color clocks on the initial VIC-II was done with the intention of allowing NTSC artifact color in high resolution bitmap mode as the Atari 8-bit computers did, but that idea was quickly dropped.
Because it was necessary for cost reasons to switch to a plastic shell, overheating tended to be a problem with the VIC-II. This was for several reasons including the high density of the die relative to the process used, and its high internal speed (8Mhz). Commodore tried an improptu solution for this by using the aluminum RF shield as a heat sink (on NTSC machines; PAL machines were sold in countries with less restrictive RF interference standards than the United States and so only used aluminized cardboard), however it was not entirely effective at preventing overheating and chip failure.
The 85xx VIC-II used in C64Cs was made with the more modern 3.5 μm HMOS process and requires only a single 5V power rail instead of the dual 12V and 5V rails of the 65xx VIC-II. These chips run significantly cooler and do not suffer from the overheating issues that affect the 65xx VIC-II.
Several revisions of 6569 exist: 6569R1 (usually gold plated), 6569R3, 6569R4 and 6569R5. The most common version of 8565 is 8565R2.
See also
*
Video Display Controller
A video display controller or VDC (also called a display engine or display interface) is an integrated circuit which is the main component in a video-signal generator, a device responsible for the production of a TV video signal in a computing ...
*
Motorola 6847
The MC6847 is a video display generator (VDG) first introduced by Motorola and used in the TRS-80 Color Computer, Dragon 32/64, Laser 200, TRS-80 MC-10/Matra Alice, PC-6000 series, NEC PC-6000 series, Acorn Atom, and the APF Imagination Machine, ...
*
List of home computers by video hardware
This is a list of home computers, sorted alphanumerically, which lists all relevant details of their video hardware.
Home computers are the second generation of desktop computers, entering the market in 1977 and becoming common during the 1980s. ...
References
*
External links
The MOS 6567/6569 video controller (VIC-II) and its application in the Commodore 64- detailed hardware description of the VIC-II.
- an attempt to provide accurate information as to the VIC-II color palette, by Philip Timmermann.
- simple explanations with example pictures of the common modes used for C64 graphics, including hacked and software-assisted modes.
Real Interlace video modesusing the VIC-IIe.
VIC programming informationon Codebase64.
Accurately reproducing the Video Output of a Commodore C64- VIC-II palette as seen on PAL and NTSC displays; calculation of pixel aspect ratios
{{DEFAULTSORT:Mos Technology Vic-Ii
MOS Technology integrated circuits
Graphics chips
Commodore 64
Computer display standards