# 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 PET. The VIC-20 was the first computer of any description to sell one million units, eventually reaching 2.5 million. It was described as "one of the first anti-spectatorial, non-esoteric computers by design...no longer relegated to hobbyist/enthusiasts or those with money, the computer Commodore developed was the computer of the future."

## History

As the Apple II gained momentum with the advent of VisiCalc in 1979, Jack Tramiel wanted a product that would compete in the same segment, to be presented at the January 1980 CES. For this reason Chuck Peddle and Bill Seiler started to design a computer named TOI (The Other Intellect). The TOI computer failed to materialize, mostly because it required an 80-column character display which in turn required the MOS Technology 6564 chip. However, the chip could not be used in the TOI since it required very expensive static RAM to operate fast enough.
As the new decade began, the price of computer hardware was dropping and Tramiel saw an emerging market for low-price computers, that could be sold at retail stores to relative novices rather than professionals or people with an electronics or programming background. Radio Shack had been achieving considerable success with the TRS-80 Model I, a relatively low-cost machine that was widely sold to novices and in 1980 released the Color Computer, which was aimed at the home and educational markets, used ROM cartridges for software, and connected to a TV set.

### Development

In the meantime, new engineer Robert Yannes at MOS Technology (then a part of Commodore) designed a computer in his home dubbed the MicroPET and finished a prototype with help from Al Charpentier and Charles Winterble. With the TOI unfinished, when Jack Tramiel was shown the MicroPET prototype, he immediately said he wanted it to be finished and ordered it to be mass-produced following a limited demonstration at the CES.
The prototype produced by Yannes had few of the features required for a real computer, so Robert Russell at Commodore headquarters had to coordinate and finish large parts of the design under the codename Vixen. The parts contributed by Russell included a port of the operating system (kernel and BASIC interpreter) taken from John Feagans' design for the Commodore PET, a character set with the characteristic PETSCII, an Atari CX40 joystick-compatible interface, and a ROM cartridge port. The serial IEEE-488-derivative CBM-488 interface was designed by Glenn Stark. It served several purposes, including costing substantially less than the IEEE-488 interface on the PET, using smaller cables and connectors that allowed for a more compact case design, and also complying with newly imposed FCC regulations on RFI emissions by home electronics (the PET was certified as Class B office equipment which had less stringent RFI requirements). Some features, like the memory add-in board, were designed by Bill Seiler.
Altogether, the VIC 20 development team consisted of five people led by Michael Tomczyk, the product manager who recruited the group and dubbed them the VIC Commandos. Commodore founder Jack Tramiel initially gave Tomczyk the title VIC Czar and later appointed him product manager. Tomczyk insisted on several features including full-size typewriter keys, programmable function keys, and a built-in RS-232 interface. Michael later contracted and co-designed a $100 modem, the VICModem, which became the first modem to sell 1 million units. According to one of the development team, Neil Harris, "[W]e couldn't get any cooperation from the rest of the company who thought we were jokers because we were working late, about an hour after everyone else had left the building. We'd swipe whatever equipment we needed to get our jobs done. There was no other way to get the work done! [...] they'd discover it was missing and they would just order more stuff from the warehouse, so everybody had what they needed to do their work."
At the time, Commodore had a glut of 1 Kbit×4 SRAM chips, so Tramiel decided these should be used in the new computer. The result was arguably closer to the PET or TOI computers than to Yannes' prototype, albeit with a 22-column VIC chip instead of the custom chips designed for the more ambitious computers. As the amount of memory on the VIC-20's system board was very small even for 1981 standards, the design team could get away with using more expensive SRAM due to its lower power consumption, heat output, and less supporting circuitry. The original Revision A system board found in all silver-label VIC-20s used 2114 SRAMs and due to their tiny size (only 512 bytes per chip), ten of them were required to reach 5 KB of system RAM. The Revision B system board, found in rainbow logo VIC-20s (see below) switched to larger 2048-byte SRAMs which reduced the memory count to five chips: 2× 2048-byte chips + 3× 2114 (the 1024 × 4 bits) chips.
In April 1980, at a meeting of general managers outside London, Jack Tramiel declared he wanted a low-cost color computer. When most of the GMs argued against it, preferring Peddle's more sophisticated design, he said: "The Japanese are coming, so we must become the Japanese!" (in reference to the threats of low-cost systems from Japan). This was in keeping with Tramiel's philosophy which was to make "computers for the masses, not the classes". The concept was supported at the meeting by Tomczyk, newly hired marketing strategist and assistant to the president; Tony Tokai, General Manager of Commodore Japan, and Kit Spencer, the UK's top marketing executive. Peddle disagreed with the decision and left the company with other engineers, so an engineering team in Commodore Japan led by Yash Terakura helped finish the design. The VIC-20 was marketed in Japan as VIC-1001 before VIC-20 was introduced to the US.
When they returned to California from that meeting, Tomczyk wrote a 30-page memo detailing recommendations for the new computer and presented it to Tramiel. Recommendations included programmable function keys (inspired by competing Japanese computers), full-size typewriter-style keys, and built-in RS-232. Tomczyk insisted on "user-friendliness" as the prime directive for the new computer, to engineer Terakura, and proposed a retail price of US$299.95. He recruited a marketing team and a small group of computer enthusiasts and worked closely with colleagues in the UK and Japan to create colorful packaging, user manuals, and the first wave of games and home applications.
Scott Adams was contracted to provide a series of text adventure games. With help from a Commodore engineer who came to Longwood, Florida, to assist in the effort, five of Adams's Adventure International game series were ported to the VIC. They got around the limited memory of VIC-20 by having the 16 KB games reside in a ROM cartridge instead of being loaded into main memory via cassette as they were on the TRS-80 and other machines. The first production run of the five cartridges generated over $1,500,000 in sales for Commodore.

### Evolution

The VIC-20 went through several variations in its three-and-a-half years of production. First-year models (1980) had a PET-style keyboard with a blocky typeface while most VIC-20s made during 1981 had a slightly different keyboard also shared with early C64s. The rainbow logo VIC-20 was introduced in early 1983 and has the newer C64 keyboard with gray function keys and the Revision B motherboard. It has a similar power supply to the C64 PSU, although the amperage is slightly lower. A C64 "black brick" PSU is compatible with Revision B VIC-20s; however, the VIC's PSU is not recommended on a C64 if any external devices, such as cartridges or user port accessories, are installed, as it will overdraw the available power. Older Revision A VIC-20s cannot use a C64 PSU or vice versa as their power requirement is too high.

### Decline

The VIC-20 was a bestseller, becoming the first computer to sell over a million. In total, 2.5 million computers were sold. In summer 1982, Commodore unveiled the Commodore 64, a more advanced machine with 64 KB of RAM and considerably improved sound and graphics. Initial sales of the C64 were slow but took off in mid-1983. The VIC-20 was widely available for under $90 by that time. Commodore discontinued the VIC-20 in January 1985.
Perhaps the last new commercially available VIC-20 peripheral was the VIC-Talker, a speech synthesizer. Ahoy! wrote in January 1986, "Believe it or not, a new VIC accessory... We were as surprised as you."

## Design

The VIC-20 was intended to be more economical than the PET computer. It was equipped with 5 KB of static RAM and used the same MOS 6502 CPU as the PET. The VIC-20's video chip, the MOS Technology VIC, was a general-purpose color video chip designed by Al Charpentier in 1977 and intended for use in inexpensive display terminals and game consoles, but Commodore could not find a market for the chip.
While newer PETs had the upgraded BASIC 4.0, with disk commands and improved garbage collection, the VIC-20 reverted to the 8 KB BASIC 2.0 used on earlier PETs as part of another of the design team's goals: 20 KB system ROMs. There are no dedicated sound or graphics features.
The VIC-20 has a composite output, which provides a sharper, cleaner picture if a dedicated monitor is used. The TRS-80 Color Computer and Atari 400 have only RF video output. An external RF modulator was necessary to use the computer with a TV set.
The "20" in the computer's name was widely assumed to refer to the text width of the screen (although in fact, the VIC-20 has 22-column text, not 20) or that it referred to the combined size of the system ROMs (8 KB BASIC+8 KB KERNAL+4 KB character ROM). Bob Yannes claimed that "20" meant nothing in particular and said "We simply picked '20' because it seemed like a friendly number and the computer's marketing slogan was 'The Friendly Computer'. I felt it balanced things out a bit since 'Vic' sounded like the name of a truck driver."

### Graphics

The graphics capabilities of the VIC chip (6560/6561) are limited but flexible. At startup, the screen shows 176×184 pixels, with a fixed-color border to the edges of the screen. Since a PAL or NTSC screen has a 4:3 width-to-height ratio, each VIC pixel is much wider than it is high. The screen normally shows 22 columns and 23 rows of 8-by-8-pixel characters; it is possible to increase these dimensions up to 27 columns, but the characters would soon run out the sides of the monitor at about 25 columns. Just as on the PET, two different 256-character sets are included, the uppercase/graphics character set and the upper/lowercase set, and reverse video versions of both. Normally, the VIC-20 operates in a high-resolution mode whereby each character is 8×8 pixels in size and uses one color. A lower-resolution multicolor mode can also be used with 4×8 characters and three colors each, but it is not used as often due to its extreme blockiness.
The VIC chip does not support a true bitmap mode, but programmers can define their own custom character sets. It is possible to get a fully addressable screen, although slightly smaller than normal, by filling the screen with a sequence of different double-height characters, then turning on the pixels selectively inside the RAM-based character definitions. The Super Expander cartridge adds BASIC commands supporting such a graphics mode using a resolution of 160×160 pixels. It is also possible to fill a larger area of the screen with addressable graphics using a more dynamic allocation scheme if the contents are sparse or repetitive enough. This is used by the port of Omega Race.
The VIC chip has readable scan-line counters but cannot generate interrupts based on the scan position. The two VIA timer chips can serve this purpose through an elaborate programming technique, allowing graphics to be mixed with text above or below it, two different backgrounds and border colors, or more than 200 characters for the pseudo-high-resolution mode.
The VIC chip can process a light pen signal via the joystick port, but few appeared on the market.
The VIC chip outputs Luma+Sync and Chroma video signals, which are combined to create the VIC-20's composite video output. Commodore did not include an RF modulator inside the computer's case because of FCC regulations. It can either be attached to a dedicated monitor or a TV set using the external modulator included with the computer.

### Sound

The VIC chip has three pulse wave generators and a white noise generator with overall volume control and mono output. Each pulse wave generator has a range of three octaves located on the scale about an octave apart, giving a total range of about five octaves.

### Memory

The VIC-20 shipped with 5 KB RAM, but 1.5 KB of this is used for the video display and dynamic aspects of the ROM-resident Commodore BASIC and KERNAL (a low-level operating system). Only 3,583 bytes of BASIC program memory for code and variables are actually available on an unexpanded machine.
Unlike the PET, the VIC-20 does not include a machine language monitor, but Commodore offered them on disk, tape, or cartridge, with several different executables to load into various memory locations. The monitor programs were the same as the PET monitor but added a mini-assembler instead of requiring the user to enter hexadecimal opcodes.
The VIC-20's RAM is expandable through the cartridge port via a RAM cartridge. RAM cartridges were available from Commodore in several sizes: 3 KB (with or without an included "Super Expander" BASIC extension ROM), 8 KB, and 16 KB. The internal memory map is reorganized if you plug in 8 KB and 16 KB cartridges, leading to a situation where some programs only work if the right amount of memory is present (the most significant divide being between a machine with no or 3 KB extra memory on one hand, and a machine with more extra memory on the other).
Most expansion cartridges featured hardware DIP switches, allowing the RAM to be enabled in user-selectable memory blocks. Since the VIC-20 was designed to use SRAM rather than DRAM, the system board has no provisions for DRAM refresh. RAM expansion cartridges ultimately allowed adding up to 24 KB to the BASIC user memory; together with the 3.5 KB built-in user memory, this gave a maximum of 27.5 KB for BASIC programs and variables. Memory not visible to BASIC could still be used by machine code programs.
Memory map :
| Address (hexadecimal) | Size [in KB] | Description | Cartridge decoded |
| 0000 | 1.0 | RAM with jump vectors etc. | |
| 0400 | 3.0 | Expansion | * |
| 1000 | 4.0 | RAM for BASIC and screen | |
| 2000 | 8.0 | Expansion block 1 | * |
| 4000 | 8.0 | Expansion block 2 | * |
| 6000 | 8.0 | Expansion block 3 | * |
| 8000 | 4.0 | ROM character bitmap | |
| 9000 | 1.0 | I/O for VIC, 6522 VIA#1, 6522 VIA#2, block 0 | |
| 9400 | 0.5 | Used for color RAM when expansion RAM at block 1 | |
| 9600 | 0.5 | Color RAM (normally) | |
| 9800 | 1.0 | I/O block 2 | * |
| 9C00 | 1.0 | I/O block 3 | * |
| A000 | 8.0 | Decoded for expansion ROM | * |
| C000 | 8.0 | ROM BASIC | |
| E000 | 8.0 | ROM KERNAL | |

### Peripherals and expansion

The VIC-20 has card edge connectors for program/expansion cartridges and a PET-standard Datassette tape drive. The VIC-20 did not originally have a disk drive; the VIC-1540 disk drive was released in 1981.
There is one Atari joystick port, compatible with the digital joysticks and paddles used with Atari VCS and Atari 8-bit computers; a serial CBM-488 bus (a serial version of the PET's IEEE-488 bus) for daisy chaining disk drives and printers; a TTL-level "user port" with both RS-232 and Centronics signals (most frequently used as RS-232, for connecting a modem).
The VIC has a ROM cartridge port for games and other software as well as for adding memory to the machine. Port expander boxes from Commodore and other vendors allow more than one cartridge to be attached at a time. Cartridge size ranges from 4–16 KB in size, although the latter was uncommon due to its cost.
The VIC-20 can be hooked into external electronic circuitry via the joystick port, the "user port," or the memory expansion cartridge port, which exposes various analog to digital, memory bus, and other internal I/O circuits to the experimenter. PEEK and POKE commands from BASIC can be used to perform data acquisition from temperature sensors, control robotic stepper motors, etc. In 1981, Tomczyk contracted with an outside engineering group to develop a direct-connect modem-on-a-cartridge (the VICModem), which at US$99 became the first modem priced under US$100. The VICModem was also the first modem to sell over 1 million units. VICModem was packaged with US$197.50 worth of free telecomputing services from The Source, CompuServe, and Dow Jones. Tomczyk also created a SIG called the Commodore Information Network to enable users to exchange information and take some of the pressure off of Customer Support inquiries, which were straining Commodore's lean organization. In 1982, this network accounted for the largest traffic on CompuServe.
Commodore's VIC-1010 Expansion allows the user to connect multiple devices to the VIC-20's cartridge port. It has its own power supply and six slots that can be used to connect memory extensions, game cartridges or other peripherals.

## Applications

The VIC-20's BASIC is compatible with the PET's, and the Datasette format is the same. Before the computer's release, a Commodore executive promised it would have "enough additional documentation to enable an experienced programmer/hobbyist to get inside and let his imagination work". Compute! favorably contrasted the company's encouragement of "cottage industry software developers" to Texas Instruments discouraging third-party software. Because of its small memory and low-resolution display compared to some other computers of the time, the VIC-20 was primarily used for educational software and games. However, productivity applications such as home finance programs, spreadsheets, and communication terminal programs were also made for the machine.
The VIC had a sizable library of public domain and freeware software. This software was distributed via online services such as CompuServe, BBSs, as well as offline by mail order and by user groups. Several computer magazines sold on newsstands, such as Compute!, Family Computing, RUN, Ahoy!, and the CBM-produced Commodore Power/Play, offered programming tips and type-in programs for the VIC-20.
An estimated 300 commercial titles were available on cartridge and another 500+ were available on tape. A handful of disk applications were released.
The VIC's low cost led to it being used by the Fort Pierce, Florida, Utilities Authority to measure the input and output of two of their generators and display the results on monitors throughout the plant. The utility was able to purchase multiple VIC and C64 systems for the cost of one IBM PC compatible.

## Marketing and retail

While the PET was sold through authorized dealers the VIC-20 primarily sold at retail, especially discount and toy stores, where it could compete directly with game consoles. It was the first computer to be sold in K-Mart. Commodore took out advertisements featuring actor William Shatner (of Star Trek fame) as its spokesman, asking: "Why buy just a video game?" and describing it as "The Wonder Computer of the 1980s". Television personality Henry Morgan (best known as a panelist on the TV game show I've Got a Secret) became the commentator in a series of Commodore product ads.
The VIC-20 was called VC-20 in Germany and was marketed as though it were an abbreviation of VolksComputer ("people's computer," similar to Volkswagen and Volksempfänger).

## Reception

Describing it as "an astounding machine for the price", Compute! in 1981 expected the VIC-20 would be popular in classrooms and homes with small children, with "excellent graphic and sound capabilities". While predicting the 22-column screen was "too small to support any but the most rudimentary business applications" the magazine observed that "at a price of $299, that is hardly the point", stating that "the VIC will provide very stiff competition to the TRS-80 Color Computer" and "is a much more valuable computer literacy tool than" other products like the TRS-80 Pocket Computer. Compute! concluded "VIC will create its own market, and it will be a big one". While also noting the small screen size and RAM, BYTE stated that the VIC-20 was "unexcelled as low-cost, consumer-oriented computer. Even with some of its limitations...it makes an impressive showing against...the Apple II, the Radio Shack TRS-80, and the Atari 800". The magazine praised the price ("Looking at a picture...might cause you to think $600 would be a fair price...But it does not cost $600—the VIC 20 retails for $299.95"), keyboard ("the equal of any personal-computer keyboard in both appearance and performance. This is a remarkable achievement, almost unbelievable considering the price of the entire unit"), graphics, documentation, and ease of software development with the KERNAL.