From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search

The Commodore Vic-20 was Commodore's first attempt at a colour computer and its first machine in the all-in-the-keyboard format that became the norm. It was also the first computer from any manufacturer to sell more than a million units and can be seen as a technological forerunner to the Commodore 64.

Its hardware is primarily composed of a 6502 processor, the Video Interface Controller ('VIC') graphics and audio chip and two 6522 timers. The base machine shipped with just 5.5kb of RAM.

Unlike the VIC-II of the Commodore 64, the VIC acts invisibly: it interleaves its memory accesses with the 6502 and thereby never introduces a wait state or any other delay. As a result it has a much more limited amount of bandwidth, restricting it to 20-column display. The display is character mapped but the character set is stored in RAM so it nevertheless offers a large degree of pixel addressing. Individual characters can either use a Spectrum-esque approach of being 1bpp with a separate colour attribute byte, or can just be 2bpp with a semi-local palette from the colour attribute plus two global colours at the cost of pixels being twice as wide.

The sound generator is unrelated to that of the Commodore 64, providing two tone or noise channels. In the modern era it has been discovered that each is implemented as a shift register, allowing arbitrary 11-sample asymmetric 1-bit samples to be loaded.

The Vic-20 introduced the Commodore serial that carried over into the Commodore 64, so can use the same Commodore peripherals: the 1541 disk drive, Commodore's printers, etc.

The memory map is non-contiguous, and the part that stores colour attributes is only 4-bits wide. An unfortunate side effect is that the built-in ROM repositions BASIC's memory pool relative to the display buffer depending on the amount of memory available. Given that it was popular during the infancy of home computing, that means that many commercial titles require a *specific* amount of RAM to be installed rather than a *minimum* amount.

Also owing to its negligible base RAM, a significant amount of software was distributed on cartridge.