Commodore VIC-20: the first million
The VIC-20 was the first computer to sell more than one million units — about 2.5 million by 1985. Commodore pitched it as "The Friendly Computer": $299.95, colour, full-size keys and cartridges that start instantly. It has only 5 KB of memory and a 22-column screen — and yet it opened the mass market. Here you see what is inside, what is true, and how to run one today.
POKE 36879,8 gives a black background and black border (not a "blue border"), and the sound registers only sound for values 128–255 (a value of 100 makes no sound) — the program was fixed; "high/medium/low tone" for the voices was removed; Linus Torvalds received a VIC-20 at age 11 in 1981 and wrote first in BASIC, later in machine code; "many of today's IT leaders" was removed (no source). Units sold: about 2.5 million (C64-Wiki gives over 3 million — the sources disagree). Added: VICE 3.10 (24.12.2025), a timeline, the Scott Adams cartridges, the colour register formula, a "Try it yourself" section and a 4-question quiz. The Lemon64 and Internet Archive links did not open during checking and were removed. Prices are in historical US dollars ($), without conversion.
01What you'll learn
- What is inside the VIC-20: processor, memory, screen, sound, ports — with exact numbers.
- What the VIC chip could and could not do (no sprites, 16 colours).
- Why the cartridge port was key to the machine's success.
- How Commodore sold it: toy stores, William Shatner and a price under $300.
- How to set colour and sound from BASIC with
POKE— and the most common mistake. - How to run a VIC-20 today in the VICE emulator.
02Before you start
- No prior knowledge needed — knowing what a processor and RAM are is enough.
- Optional: a computer to run the VICE emulator 🔒 local (versions exist for Windows, Linux and macOS).
- Games and ROM files have owners. Use only those you are entitled to use.
03Steps
-
The machine at a glance
The VIC-20 is an 8-bit home computer in a single case with a keyboard. Commodore made it cheap on purpose: Jack Tramiel wanted "computers for the masses, not the classes", and the product had three names — VIC-20 in the US, VC-20 in Germany (marketed as "VolksComputer") and VIC-1001 in Japan. Why it matters: a colour computer under $300, sold in toy and department stores — according to Wikipedia, the first computer sold in K-Mart.
Parameter VIC-20 Announced September 1980 (VIC-1001 in Japan — June 1980); in US shops from early 1981 Processor MOS 6502 · 1.02 MHz (NTSC) / 1.10 MHz (PAL) RAM 5 KB static; 3,583 bytes free for BASIC ROM 20 KB: 8 KB BASIC + 8 KB KERNAL + 4 KB character set Video VIC chip (6560 for NTSC, 6561 for PAL) · 22 × 23 characters · 176 × 184 pixels · 16 colours Sound 3 square-wave generators + noise, mono Language Commodore BASIC 2.0 Ports cartridge/expansion, cassette (Datassette), CBM serial bus (disk drives, printers), user port (RS-232), joystick (Atari-compatible), composite video output Price $299.95 (historical price, 1981) 💡Why "20"?It is often assumed that "20" is the screen width — it is actually 22 columns. The other theory is the total ROM size (20 KB). Bob Yannes says "20" meant nothing in particular: it was picked as a "friendly number", and the marketing slogan was "The Friendly Computer". -
The VIC chip: what it could and could not do
The VIC (Video Interface Chip) was designed by Al Charpentier in 1977 for cheap terminals and game consoles, but Commodore could not find a market for it. Robert Yannes revised it before mass production — taking a better sound generator from one unfinished chip and more colours from another. A single chip produces both picture and sound.
Feature Value Note Colours 16 only 8 can be used for characters and the border; the rest are for the background and auxiliary colours Screen 22 × 23 characters · 176 × 184 pixels lower resolution than the competition Sprites and bitmap none graphics are made with programmable characters Sound 3 square-wave generators + noise one shared volume control Video output composite a sharper picture on a monitor; for a TV, an external RF modulator was included ✅Why static RAMCommodore had a surplus of static RAM chips, and Tramiel decided they should be used. That is why the board has no circuitry to refresh dynamic memory. With so little memory, the more expensive static RAM was acceptable — it uses less power, runs cooler and needs less support circuitry (Wikipedia). -
Cartridges and memory expansion
The cartridge port keeps the program in ROM — loading is instant, no tape needed. Commodore released cartridges for games and for memory: 3, 8 and 16 KB, for up to 27.5 KB for BASIC in total. The Super Expander cartridge adds BASIC graphics commands (up to 160 × 160 points). With 8 KB or more, the memory map is rearranged — which is why some programs only work with the exact amount of memory.
📦The first five Scott Adams cartridgesTo have software from the start, Commodore ported five Scott Adams text adventures (Adventureland, Pirate Cove, Mission Impossible, Voodoo Castle, The Count) to 16 KB ROM cartridges. The first run brought over $1.5 million in sales. According to commodore.ca there were about 800 software titles for the machine. -
Try it yourself: colour and sound from BASIC
The VIC-20 has no dedicated colour or sound commands — you use
POKE: writing a number to an address in the VIC chip's memory. The program below clears the screen, makes the background and border black, prints inverse text and plays three tones briefly.Commodore BASIC 2.0 · colour and sound (checked against the register documentation, not run)10 PRINT CHR$(147) 20 POKE 36879,8 30 POKE 36878,15 40 PRINT CHR$(18);"INVERSE";CHR$(146);" NORMAL" 50 POKE 36874,200:POKE 36875,215:POKE 36876,230 60 FOR D=1 TO 500:NEXT D 70 POKE 36874,0:POKE 36875,0:POKE 36876,0Line What it does CHR$(147)clears the screen POKE 36879,8colour register: value = 16 × background + 8 + border (border colour 0–7). With 8: black background, black border POKE 36878,15volume 0–15; without it there is no sound CHR$(18)/CHR$(146)inverse text on / off POKE 36874…36876three tone generators; they sound only for values 128–255; 0 stops them ⚠️Trap: a value below 128 is silentThe old version of this lesson set the third voice to 100 — that makes no sound, because the top bit of the register is the "on" switch. The colour formula is derived from the register layout (background in the upper 4 bits, a normal/inverse bit, border in the lower 3).⚠️Not tested liveThe program was checked against the register documentation but was not run in an emulator for this lesson — so there is no TESTED label. -
The games
Six titles with verified facts. Gorf and Omega Race are based on Bally arcade games — Bally licensed Commodore to make its arcade games into cartridges.
Game Year · team What it is Gorf 1982 · Bally/Midway, publisher Commodore A port of the arcade shooter; 8 KB cartridge. Reviewers note that the gameplay stays close to the original despite the limitations. Omega Race 1982 · Bally, publisher Commodore A port of the arcade game; cartridge. Radar Rat Race 1981 · Commodore An arcade-style maze game; Wikipedia's list marks it "aka Rally-X". Cartridge. Jupiter Lander 1981 · HAL Laboratory, publisher Commodore A landing simulation on Jupiter: limited fuel, three landing sites, three difficulty levels. Often shown in ads. Sword of Fargoal 1982 · Jeff McCord, publisher Epyx A roguelike dungeon game; released first for the VIC-20 (cassette and floppy), later for the C64. Based on his earlier game for the PET. The Count 1981 · Scott Adams, publisher Commodore A text adventure (no graphics) on cartridge — one of Adams's five VIC-20 games. -
How it was sold: "The Friendly Computer"
The PET was sold through authorised dealers and had a "business" image. The VIC-20 went where the buyers were: toy and discount stores. According to Wikipedia it was the first computer sold in K-Mart. The face of the ads was actor William Shatner ("Captain Kirk") asking "Why buy just a video game?" and calling it "The Wonder Computer of the 1980s".
Product manager Michael Tomczyk assembled a five-person team — the "VIC Commandos" — and insisted on "user-friendliness" as the prime directive, full-size keys and programmable function keys.
📊The numbers we knowThe first computer to sell over 1 million units. The date of the millionth unit is not known; about 750,000 had shipped by the end of 1982 (commodore.ca). About 2.5 million in total by 1985. According to commodore.ca it was "the first colour computer" sold to the masses for under $300. Linus Torvalds received a VIC-20 at age 11 in 1981 and wrote first in BASIC, later in 6502 machine code. -
Timeline: from the VIC-1001 to the end
Date Event June 1980 The VIC-1001 is announced in Japan (later renamed VIC-20 for the US). September 1980 Commodore announces the VIC-20. January–February 1981 The first units reach retailers. Price $299.95. 1981 The VIC-1540 disk drive is released. August 1982 Commodore 64 — 64 KB RAM and the VIC-II chip. The VIC-20 keeps selling. End of 1982 About 750,000 VIC-20s shipped. 1983 The "rainbow logo" version with the C64 keyboard appears; by mid-year the VIC-20 is widely available under $90. September 1984 The Canadian chain Canadian Tire advertises it at $80. January 1985 Commodore ends production. About 2.5 million units in total. -
Try it yourself: the VIC-20 in an emulator
The easiest path is VICE 🔒 local — a free emulator for Commodore 8-bit machines. The current version is 3.10 (24.12.2025); for the VIC-20 you use the
xvicemulator. We describe the steps in general terms; we have not checked the menus live.- Download VICE from its official site (see "Sources"); the GTK3 interface is recommended.
- Start
xvic— you see the BASIC start screen (on an unexpanded machine: "3583 BYTES FREE"). - Type the program line by line and enter
RUN.
⚠️Not tested liveWe did not run the emulator for this lesson. Follow the VICE manual for exact settings.⛔CopyrightGames and ROM files have owners. Do not upload or distribute other people's images.
04Check
Checklist
- I know the core numbers: 6502, 5 KB RAM (3,583 bytes free), 22 × 23 characters, 16 colours.
- I can explain why the cartridge port mattered.
- I can explain the "The Friendly Computer" strategy: toy stores, Shatner, a price under $300.
- I know the order of events: 1980 announced → 1981 in shops → August 1982 C64 → January 1985 end.
- I know that the sound registers need a value of 128 or more.
Quiz
1. How many bytes are free for BASIC programs on an unexpanded VIC-20?
2. How many text columns does the VIC-20 screen show?
3. Which port allows instant loading of games and adding memory?
4. When was the Commodore 64 released, and with how much memory?
05What's next
06Sources
- Commodore VIC-20 (Wikipedia) — announcement, specification, memory, ports, ads, prices, sales.
- MOS Technology VIC (Wikipedia) — colours, registers, sound, chip history.
- List of VIC-20 games (Wikipedia) — years and publishers.
- commodore.ca: VIC-20, the first computer to sell 1 million units 🌐 global — timeline, sales, prices, names in different countries.
- C64-Wiki: VIC-20 🌐 global — colour and sound registers, start screen, cartridge list.
- Commodore 64 (Wikipedia) — released August 1982.
- Linus Torvalds (Wikipedia) — his first computer.
- Games (Wikipedia): Gorf · Omega Race · Jupiter Lander · Sword of Fargoal · Adventureland.
- PETSCII (Wikipedia) — character control codes.
- VICE 🔒 local — official site, version 3.10 · manual: invoking the emulators.