Commodore Vic/C64
Commodore 64
com_c64

The Commodore 64

The Commodore 64, also known as the C64 or the CBM 64, is an 8-bit home computer introduced in January 1982 by Commodore International (first shown at the Consumer Electronics Show, January 7 thru 10, 1982, in Las Vegas). It has been listed in the Guinness World Records as the highest-selling single computer model of all time, with independent estimates placing the number sold between 12.5 and 17 million units.

Volume production started in early 1982, marketing in August for US$595 (equivalent to $1,596 in 2020). Preceded by the Commodore VIC-20 and Commodore PET, the C64 took its name from its 64 kilobytes (65,536 bytes) of RAM. With support for multicolor sprites and a custom chip for waveform generation, the C64 could create superior visuals and audio compared to systems without such custom hardware.

The C64 dominated the low-end computer market (except in the UK and Japan, lasting only about six months in Japan) for most of the later years of the 1980s. For a substantial period (1983 through 1986), the C64 had between 30% and 40% share of the US market and two million units sold per year, outselling IBM PC compatibles, Apple computers, and the Atari 8-bit family of computers. Sam Tramiel, a later Atari president and the son of Commodore's founder, said in a 1989 interview, "When I was at Commodore we were building 400,000 C64s a month for a couple of years." In the UK market, the C64 faced competition from the BBC Micro and the ZX Spectrum, but the C64 was still the second most popular computer in the UK after the ZX Spectrum. The Commodore 64 failed to make any impact in Japan. The Japanese market was dominated by Japanese computers, such as the NEC PC-8801, Sharp X1, Fujitsu FM-7, and MSX.

Commodore BASIC

Commodore BASIC was a dialect of Microsoft BASIC, licensed by Commodore in 1977 for use in the PET 2001. It ran from ROM, freeing all RAM for user programs, and provided an immediate programming environment upon power-up. The interpreter was built on the 6502 processor, with tightly coded routines for tokenization, line storage, and execution. This structure allowed BASIC statements to be entered interactively, stored in memory as linked line records, and executed sequentially or via branching constructs. Commodore kept this design across its entire 8-bit product line, from the PET and VIC-20 to the Commodore 64 and beyond, creating a sense of continuity between machines.

Historically, Commodore BASIC differed from many other implementations in its limited feature set relative to machine capabilities. For example, the original PET BASIC lacked dedicated graphics or sound commands, requiring programmers to manipulate memory directly through PEEK and POKE. Even later versions, such as BASIC V2 on the C64, still omitted high-level graphics and sound statements, in contrast with Atari BASIC or BBC BASIC, which provided structured access to system hardware. Only with extended versions such as BASIC 3.5, 4.0, and 7.0 did Commodore add disk commands, string handling improvements, and more advanced features.

When compared to contemporaries, Commodore BASIC was often criticized as being underpowered, but its simplicity made it approachable. BBC BASIC, for example, incorporated structured programming constructs and inline assembler, whereas Commodore’s offering retained the line-numbered, unstructured style of early Microsoft BASIC. Atari BASIC, developed separately, emphasized graphics and sound integration through dedicated keywords. Commodore’s approach forced users to learn the underlying memory map, making them more technically literate about hardware but also raising the entry barrier for certain types of applications.

Despite its limitations, Commodore BASIC achieved massive popularity due to sheer reach. Millions of units shipped with it as the only built-in interface, ensuring every user interacted with it directly. Its ubiquity in schools, homes, and small businesses made it a de facto teaching language for a generation. Moreover, the reliance on PEEK and POKE, while cumbersome, fostered a culture of type-in listings and hardware exploration. This combination of accessibility, wide distribution, and necessity cemented Commodore BASIC’s role as one of the most influential programming environments of the late 1970s and 1980s.

Commodore BASIC Versioning

  • BASIC 1.0 (PET 2001, 1977)

    Computers: Commodore PET 2001
    Features: Essentially a stock Microsoft BASIC interpreter running in ROM, with support for integer and floating-point arithmetic, strings, arrays, and file operations for tape storage.
    Limitations: No disk commands, no advanced error trapping, and no machine-specific extensions. Designed as a minimal environment to ship the PET quickly.
  • BASIC 2.0 (VIC-20, C64, C-MAX, 1981–1982)

    Computers: VIC-20, Commodore 64, Commodore MAX Machine
    Features: Nearly identical to BASIC 1.0 with minor bug fixes, provided the same core Microsoft BASIC functionality.
    Limitations: No disk drive commands, no dedicated graphics or sound statements. Hardware had to be accessed through POKE and PEEK.
  • BASIC 3.5 (Commodore 16, C116, Plus/4, 1984)

    Computers: Commodore 16, Commodore 116, Commodore Plus/4
    Features: Added graphics and sound commands (GRAPHIC, CIRCLE, PAINT, SOUND, PLAY), integrated disk commands (DLOAD, DSAVE, DIRECTORY), plus utilities like RENUM and TRON/TROFF.
    Limitations: Still line-number oriented and lacked the structured programming richness of competitors like BBC BASIC.
  • BASIC 4.0 (PET/CBM Business Series, 1979+)

    Computers: PET/CBM 4000 and 8000 series
    Features: Expanded disk support with DLOAD, DSAVE, DIRECTORY, COPY, and SCRATCH. Improved error handling suitable for commercial environments.
    Limitations: Focused on business and disk operations, no graphics or sound capabilities because target hardware lacked them.
  • BASIC 7.0 (C-128, 1985)

    Computers: Commodore 128
    Features: Added high-level graphics (DRAW, CIRCLE, PAINT) and sound (PLAY, SOUND) commands, advanced disk operations, structured programming constructs like WHILE...WEND, RENUM, and support for memory banking and multi-mode operation.
    Limitations: Despite enhancements, still less sophisticated in structured constructs compared to BBC BASIC or contemporary Pascal-like systems.
  • BASIC 10.0 (C-65 prototype, 1990–1991)

    Computers: Commodore 65 (prototype, unreleased commercially)
    Features: Extended support for high-resolution graphics and larger color palettes through VIC-III, up to 8 MB memory addressing, advanced string handling, and structured commands.
    Limitations: Never commercially released, so its practical impact was negligible despite advanced features.

Sound - The Commodore SID (MOS 6581)

SID is short for Sound Interface Device. It is the name of the sound chip that was used in the VC10, the commodore 64 and the Commodore 128. SID was developed by Bob Yannes, an employee of MOS Technology. Bob was not only an engineer but also knew a lot about music. His intention was to create a different sound chip than other devices at the time. He implemented a subtractive synthesis chip. The chip's distinctive sound is easily recognized and was clearly ahead of the ocmpitition. The SID combines analog and digital circuitry that cannot be 100% emulated, even today.

Source: C64 Wiki

Video - The Video Interface Chip v2

The VIC-II, or Video Interface Chip II, is a chip from MOS Technology. There are a few variants:

  • For NTSC: 6567/8562/8564
  • For PAL: 6569/8565/8566

The VIC-II generates Y/C signals and DRAM refresh signals for the Commodore 64, Commodore MAX, and Commodore 128 computers. It is the successor of the original VIC chip used in the VIC-20 computer.

Features:

  • 16 KByte address space for screen, character and sprite memory
  • 320x200 graphics in 16 colors
  • 40x25 Text resolution
  • Capable of 8 sprites per scanline (24x21 or 12x21 multicolor sprites)
  • Raster interrupt
  • Smooth Scrolling
  • Independent DRAM refresh
  • BUS mastering for the 6502-style bus. CPU and VIC-II can access the bus during alternating half-clock cycles.

Programmers quickly learned that the VIC-II was more capable than the specifications would indicate. By manupulating the 47 different control registers, and by using machine code hooked into the raster interrupt routine (or the scanline interrupt), the chip can be programmed to do sprite multiplexing. This allows for more than 8 concurrent sprites on screen. It basically allows for the screen to be split up in different slices, giving each slice its own scrolling, resolution, color and sprite properties. This even allowed programmers to use graphics outside the upper and lower borders of the screen.

CPU - The Motorola 6510

The 6510 is an 8-bit MicroProcessor designed by MOS Technology. It is a modified version of the very successful 6502. The primary change in the 6510 was the addition of an 8-bit general purpose I/O port, altbough only six I/O pins were available in the most common version of the 6510.

The extra I/O pins were used for various purposes. In the Commodore 64, they were used to control bank switching, the signal lines for the Datasette tape recorder.

Source:WikiPedia
Technical Details
Released 1982
Country United States
Brand Commodore
Type Commodore Vic/C64
Name Commodore 64
CPU Class MOS 6510
CPU MOS 6510 @1MHz
Memory RAM: 64kB
Sound Chip SID (MOS 6581)
Sound 3 independent audio oscillators with 4 waveforms
Display Chip VIC-II (MOS 6566)
Display 25x40 text, 320x200 in 16 colors
Best Text 25x40
Best Color 16 colors
Graphics 320x200 in 16 colors
Sprites 8 24x21 hi-res or color sprites
System OS Commodore KERNAL/BASIC 2.0
Original Price $595
Related Systems 💾
Commodore PET/CBM - 2001/3000 Series
Commodore CBM 4000 Series
Commodore CBM 8000 Series
Commodore CBM-II 500 Series
Commodore CBM-II 600 Series
Commodore CBM-II 700 Series
Commodore C16
Commodore Vic/C64
Commodore Amiga
Commodore Amiga Desktops
Commodore Personal Computer
External Links 🌐
Commodore 64 Computer
Wikipage on the popular Commodore 64 computer
Commodore 64
Commodore.ca is a website dedicated to the history and preservation of the best selling 8-bit computer in History.
Commodore 64 Emulator
In-browser Commodore 64 Emulator
MOS Technology 6581 SID
Wikipage on Commodore's SID Chip
MOS Technology VIC II
Wikipage about the VIC II Chip
MOS Technology 6510
Wikipage about the 6510