Computer History  

Custom Search

Computer History
Tracing the History of the Computer - Commodore 64 (C64, CBM 64/CBM64, C=64)

 

Commodore 64

Commodore 64C system with 1541-II floppy drive and 1084S RGB monitor (1986)

The Commodore 64 (C64, CBM 64/CBM64, C=64) is a home computer with 64 kilobytes of RAM that was popular in the 1980s. Released by Commodore Business Machines (CBM) to the public in August 1982 at a price of US$595, it offered unprecedented value in sound and graphics performance. With estimated sales between 17 and 25 million units until discontinuation in 1993, the C64 remains one of the best-selling computers of all time.

Unlike computers that were distributed only through authorized dealers, Commodore also targeted department stores and toy stores. The unit could be plugged directly into a television set and play compelling games, giving it much of the appeal of dedicated video game consoles like the Atari 2600. Aggressive pricing of the C64 is considered to be a major catalyst in the video game crash of 1983.

Approximately 10,000 software titles were made for the Commodore 64. This includes development tools, office applications, and games. The machine is also credited with popularizing the computer demo scene. Though the original hardware is now used only by a few hobbyists, emulators allow anyone with a modern computer to run these programs on their desktop.

A bit of history

In January 1981, MOS Technology, Inc., Commodore's integrated-circuit design subsidiary, initiated a project to design the graphic and audio chips for a next generation video game console. Design work for the chips was completed in November 1981, but the console project was soon cancelled after a meeting with Commodore president Jack Tramiel. Tramiel wanted the chips to form the base for a sequel to the very popular VIC-20 with 64 kB of RAM, which was double the amount of RAM many computers contained in late 1981. Although 64 kB of RAM was very expensive, Tramiel knew that DRAM prices were falling, and that it would eventually drop to an acceptable level before going into full production.

The design team was given less than two months to develop a working prototype - codenamed the VIC-30 - so that it could be finished in time for the winter Consumer Electronics Show in January 1982. The C64 made an impressive debut, as David A. Ziembicki, a former Production Engineer at Commodore, recalled: "All we saw at our booth were Atari people with their mouths dropping open, saying, 'How can you do that for $595?'". The cost of building each C64 was estimated at US$135 due to Commodore's vertical integration and more crucially, MOS Technology's integrated-circuit fabrication facilities, leaving a large margin to work with.

Winning the market war

The C64 faced a wide range of competing home computers at its introduction in August 1982. With an impressive price point coupled with the 64's advanced hardware, it quickly out-classed many of its competitors. In the United States the greatest competitors to the C64 were the Atari 800 and Apple II. The Atari 800 was very similar in hardware terms, but it was very expensive to build, which soon forced Atari to move their production to the Far East. It also forced Atari to redesign their machine to be more cost effective, resulting in the 600XL/800XL line. The aging Apple II was no match for the C64's graphics and sound abilities, but was very expandable with its internal expansion slots, a feature lacking in the 64.

     


In the United Kingdom, the primary competitors to the C64 were the British-built Sinclair ZX Spectrum and the Amstrad CPC. Released a few months ahead of the C64, and selling for almost half the price, the Spectrum quickly became the market leader. The C64 would rival the Spectrum in popularity in the latter half of the 1980s eventually outliving the Spectrum when it was discontinued in 1992.

The key to the 64's success was Commodore's aggressive marketing tactics, selling it in department stores, discount stores, and toy stores in addition to its network of authorized dealers. The unit could be plugged directly into a television set and play compelling games. This allowed it, like its predecessor, to compete against video game consoles like the Atari 2600.

Aggressive pricing of the C64 is considered to be a major catalyst in the video game crash of 1983. In 1983, Commodore offered a $100 rebate in the United States on the purchase of a C64 upon receipt of any video game console or computer. To take advantage of the $100 rebate, some mail-order dealers and retailers offered a Timex Sinclair 1000 for as little as $10 with purchase of a C64 so the consumer could send the computer to Commodore, collect the rebate, and pocket the difference. Timex Corporation departed the marketplace within a year. The success of the VIC-20 and C64 also contributed significantly to the exit of Texas Instruments' TI-99/4A and other competitors from the field.

C64 successors and the 64C

Commodore SX-64 (1984)

In 1984 Commodore released the SX-64, a portable version of the C64. The SX-64 has the distinction of being the first full-color portable computer. The base unit featured a 5 inch (127 mm) CRT and an integral 1541 floppy disk drive. Fewer than 10,000 had been sold when it was discontinued in 1986.

Commodore attempted in 1984 to replace the C64 with the Commodore Plus/4, which offered a higher-color display, a better implementation of BASIC (V3.5), and built-in software. But Commodore committed the major strategic error of making it incompatible with the huge C64 software library. To top it all off, the Plus/4 lacked hardware sprite capability and had much poorer sound, thus seriously underperforming in two of the areas that had made the C64 a star. The new machine flopped, to no one's surprise except Commodore's, while the C64 soldiered on.

Commodore was determined not to repeat the same mistake, and made sure that the eventual successors to the C64 - the Commodore 128 and 128D computers (1985) - were as good as, and fully compatible with, the original, as well as offering a host of long-sought improvements (such as a structured BASIC with graphics and sound commands, 80-column display capability, and full CP/M compatibility). As the Commodore 128 and other manufacturers' more advanced computers came onto the market, Commodore positioned the 64 as an entry-level computer, lowering the price as necessary.

Commodore 64C (1986)

In 1986, Commodore released the Commodore 64C (C64C) computer, which was functionally identical to the original, but whose exterior design was remodelled in the spirit of the C128 and other contemporary design trends. In the U.S., the C64C often came bundled with the third-party GEOS GUI-based operating system.

An active demoscene

At the time of its introduction, the C64's graphics and sound capabilities were rivaled only by the Atari 8-bit family. This was at a time when most IBM PCs and compatibles had text-only graphics cards, green screen monitors, and sound consisting of squeaks and beeps from the built-in tiny, low-quality speaker. Due to its advanced graphics and sound, the 64 is often credited with starting the computer subculture known as the demoscene. As of the turn of the millennium, it is still being actively used as a demo machine, especially for music (its sound chip even being used in special sound cards for PCs). For all other than die-hard enthusiasts, however, the C64 lost its top position when the 16-bit Atari ST and Commodore Amiga were released in the mid-80s.

The demoscene is far from being dead even more than 20 years after the C64 was invented. New games are still being developed. A noteworthy one is Enhanced Newcomer, which took almost 10 years of development.

The differences between PAL and NTSC C64s cause compatibility problems between US/Canadian C64s and those from most other countries. Most demos run only on PAL machines.

1990s and 2000s hardware

In 1990 the C64 was re-released in the form of a games console, called the C64 Games System (C64GS). It was basically a C64 motherboard modified to orient the cartridge connector to a vertical position, to allow cartridges to be inserted from above. A modified ROM replaced the BASIC interpreter with a boot screen to inform the user to insert a cartridge. Needless to say, the C64GS was another commercial failure for Commodore, and was never even released outside of Europe. In 1990/91, an advanced intended successor to the C64, the Commodore 65 (also known as the "C64DX"), was prototyped, but never released.

In the summer of 2004, after an absence from the marketplace of more than 10 years, PC manufacturer Tulip Computers BV (owners of the Commodore brand since 1997) announced the C64 Direct-to-TV (C64DTV), a joystick-based TV game based on the C64 with 30 games built into ROM. Designed by Jeri Ellsworth, a self-taught computer designer who had earlier designed the modern C-One C64 implementation, the C64DTV was similar in concept to other mini-consoles based on the Atari 2600 and Intellivision which had gained modest success earlier in the decade. The product was advertised on QVC in the United States for the 2004 holiday season.

As of 2005 C64 enthusiasts still developed new hardware, including Ethernet cards, specially adapted hard disks, and Flash Card interfaces.

Hardware

Graphics and sound

The C64 used an 8-bit MOS Technology 6510 microprocessor (a close derivative of the 6502 with an added 6-bit internal I/O port that in the C64 is used for two purposes: to bank-switch the machine's ROM in and out of the processor's address space, and to operate the datasette tape recorder) and had 64 kilobytes of RAM, of which 38 KB were available to built-in Commodore BASIC 2.0.

The graphics chip, VIC-II, featured 16 colors, eight sprites, scrolling capabilities, and two bitmap graphics modes. The standard text mode featured 40 columns, like most Commodore PET models. Computer/video game and demo programmers quickly learned how to exploit quirks in the VIC-II to gain additional capabilities, like making more than 8 sprites appear, and move, simultaneously.

The sound chip, SID, had three channels with several different waveforms, ring modulation and filter capabilities. It, too, was very advanced for its time. It was designed by Bob Yannes, who would later co-found synthesizer company Ensoniq. Yannes criticized other contemporary computer sound chips as "primitive, obviously (...) designed by people who knew nothing about music." Often the game music became a hit of its own among C64 users. Well-known composers and programmers of game music on the C64 were Rob Hubbard, Ben Daglish and Martin Galway, among many others.

The SID chip has a distinctive sound which retained a following of devotees. In 1999, Swedish company Elektron produced a "SID Station" synth module, built around the SID chip, using remaining stocks of the chip.

Hardware revisions

Cost reduction was the driving force for hardware revisions to the C64's motherboard. Reducing manufacturing costs was vitally important to Commodore's survival during the price war and leaner years of the 16-bit era. The C64's original (NMOS based) motherboard would go through two major redesigns, (and numerous sub-revisions) exchanging positions of the VIC-II, SID and PLA chips. Initially, a large proportion of the cost was lowered by reducing the number of discrete components used, such as diodes and resistors.

The VIC-II was manufactured with 5 micrometer NMOS technology, clocked at 8 MHz. At such a high clock rate, it generated a lot of heat, forcing MOS Technology to use a ceramic DIL package (called a "CERDIP"). The ceramic package was more expensive, but it dissipated heat more effectively than plastic.

After a redesign in 1983, the VIC-II was encased in a plastic DIL package, which reduced costs substantially, but it did not eliminate the heat problem. Without a ceramic package, the VIC-II required the use of a heatsink. To avoid extra cost, the metal RF shielding doubled as the heatsink for the VIC, although not all units shipped with this type of shielding. Most C64s in Europe shipped with a cardboard RF shield, coated with a layer of metal foil. The effectiveness of the cardboard was highly questionable, and worse still it acted as an insulator, blocking airflow which trapped heat generated by the SID, VIC and PLA chips.

The SID was manufactured using NMOS at 7 and in some areas 6 micrometers. The prototype SID and some very early production models featured a ceramic DIL package, but unlike the VIC-II, these are extremely rare as the SID was encased in plastic when production started in early 1982.

In 1986 Commodore released the last revision to the "classic" C64 motherboard. It was otherwise identical to the 1984 design, except that it now used two 64 k x4 DRAM chips rather than the original eight 64-kbit x1.

After the release of the C64C, MOS Technology began to reconfigure the C64's chipset to use HMOS technology. The main benefit of using HMOS was that it required less voltage to drive the IC, which consequently generates less heat. This enhanced the overall reliability of the SID and VIC-II. The new chipset was re-numbered to 85xx in order to reflect the change to HMOS.

In 1987 Commodore released C64Cs with a totally redesigned motherboard commonly known as a "short board". The new board used the new HMOS chipset, featuring new 64-pin PLA chip. The new "SuperPLA" as it was dubbed, integrated many discrete components and TTL chips. The 2114 color RAM was integrated into the last revision of the PLA.

Power problems

The C64 used an external power supply. While this saved valuable space within the computer's case, the supply itself was inadequate for the C64's power requirements and often failed from overheat. Many users purchased heavier-duty, better-cooled, third-party power supplies.

Peripheral units

Floppy and tape drives

Although not always supplied with the machine, floppy disk drives of the 5¼ inch (Commodore 1541 and 1571) and, later, 3½ inch (1581) variety were available. The 1541 was excruciatingly slow in loading programs because of a poorly-implemented serial bus, a legacy of the Commodore VIC-20. A common joke advised users to 'go grab a cup of coffee' after entering the command to load a program on the C64.

The 1541 was notorious for its unreliability. Perhaps the most-common failure involved the drive's read-write head mechanism. Many complex software copy-protection schemes used data stored on nonstandard tracks on floppies, forcing the drive head, while reading the data, to repeatedly slam into either end of the arm that the mechanism was mounted in. This caused a loud, telltale knocking[2] and, more seriously, would over time often move the head mechanism out of precise alignment, resulting in read errors and necessitating repairs. Also, as with the C64, many 1541 drives overheated due to a design that did not permit adequate cooling.

In the following example, where '*' designates the last program loaded, or the first program on the disk, '8' is the disk drive device number, and the '1' signifies that the file is to be loaded not to the standard memory address, but to the address where its program header says - this usually signifies an executable file, as opposed to a BASIC program.

LOAD "*",8,1

However, third-party developers showed that the notoriously-slow floppy drive operation could be overcome by a piece of clever software that took over control of the serial bus signal lines and implemented a better transfer protocol between the computer and floppy drive. In 1984 Epyx released its FastLoad cartridge for the C64 which replaced some of the 1541's slow routines with its own custom code, thus allowing users to load programs at a fraction of the time (~ 1/5th). Despite being incompatible with many programs' copy protection schemes, the cartridge became so popular among grateful C64 owners (likely the most-widespread third-party enhancement for the C64 of all time) that many Commodore dealers sold the Epyx cartridge as a standard item when selling a new C64 with the 1541.

As a free alternative to FastLoad cartridges, numerous pure software turbo-loader programs were also created that were loaded to RAM each time after the computer was reset. The best of these turbo-loaders were able to accelerate the time required for loading a program from the floppy drive up to a very remarkable factor of 20x, demonstrating the default bus implementation's inadequacy. As turbo-loader programs were relatively small programs, it was common to place one on almost each floppy disk so that it could be quickly loaded to RAM after restart.

The 1541 floppy drive contained a MOS 6502 chip acting as the drive controller, along with a built-in Disk Operating System (DOS). Since this chip was a fully capable CPU, it was possible to write custom controller routines and load them into the drive's on-board RAM, thus making the drive work independently of the C64 machine. In fact, there were many software packages that took advantage of this; for example, certain back up software allowed users to make multiple disk copies directly between daisy-chained drives without a C64.

In the United States, the 1541 was widespread. By contrast, in Europe the C64 was often used with cassette tape drives (Datassettes), which were much cheaper, but also much slower than floppy drives. Many European software developers wrote their own fast tape loaders which replaced the internal kernel code in the C64 and offered loading times often faster than standard-speed floppy disc. Novaload was the most popular tape loader used by the majority of British and American software developers.

Commodore sold an IEEE-488-standard parallel bus converter for the C64 which plugged into the machine's expansion port, but few C64 owners took advantage of this and the accompanying IEEE devices that Commodore sold (the SFD-1001 1-megabyte 5¼ inch floppy disk drive, and the peripherals originally made for the IEEE equipped PET computers, such as the 4040 and 8050 drives and the 9060/9090 hard disk drives). Because of the 1541's speed and the IEEE converter and drives' cost, a number of third-party serial-bus drives appeared that often offered better reliability, quieter operation, or simply a lower price than the 1541, although often at the expense of compatibility due to the difficulty of reverse-engineering the DOS built into the 1541's hardware. (Commodore's IEEE-based drives faced the same issue.)

One advantage the serial bus did offer was the ability to daisy chain hardware together - that is, one device (disk drive or printer) was connected to the Commodore 64 and the others were connected to each other. This led to Commodore producing (via a third party) the Commodore 4015, or VIC-switch. This device (now rarely seen) allowed up to 8 Commodore 64s to be connected to the device along with a string of peripherals, allowing each Commodore to share the connected hardware. It was also possible, without requiring a VIC-switch, to connect two Commodore 64s to one 1541 floppy disk drive to simulate an elementary network, allowing the two computers to share data on a single disk (if the two computers made simultaneous requests, the 1541 admirably handled one whilst returning an error to the other, which surprised many people who expected the 1541's less-than-stellar drive controller to crash or hang). This functionality also worked with mixed combinations of PET, VIC-20, and other selected Commodore 8-bit computers.

Serial communications

Likewise, because Commodore offered a number of inexpensive modems for the C64, the machine also helped popularize the use of modems for telecommunications. In the United States, Quantum Computer Services (later America Online) offered an online service called Quantum Link for the C64 that featured chat, downloads, and online games. In the UK, Compunet was a very popular online service for C64 users (requiring special Compunet modems) from 1984 to the early 1990s. In Germany the very restictive rules of the state-owned telephone system prevented widespread use of modems, prompting the use of inferior acoustic couplers instead.

Like the VIC-20, the C64 lacked a real UART chip such as the 6551 and used a software emulation. This limited the maximum speed to about 2400 bit/s. Third-party cartridges with UART chips offered better performance.

Other peripherals

The Commodore 1702 was a 13 inch (330 mm) color monitor for the C64 which accepted as input analog composite video or separate chrominance and luminance signals, similar to the S-Video standard, for superior performance with the C64.

Like the Apple II family, third-party acceleration units providing a faster CPU appeared late in the C64's life. Due to timing issues with the VIC-II chip, however, C64 accelerators were much more complex and expensive to implement than their counterparts for other computers. So while accelerators based on the Western Design Center 65C02, usually running at 4 MHz, and on the 65816 at up to 20 MHz appeared, they appeared too late and at a price of US$199 or higher were too expensive to gain widespread use.

The most well-known accelerator for the C64 is probably Creative Micro Designs' SuperCPU, which gives the C64 a 20 MHz processor (instead of ~1 MHz) and up to 16 MB of RAM if combined with CMD's SuperRamCard. Understandably, due to a very limited "market" and number of developers, there has not been much software tailored for the SuperCPU to date - among the few offerings available are the web browser Wave, a Unix/QNX-like graphical OS called Wings, some demos, and a shooter in the old Katakis-style called Metal Dust. Also, as of 2005, new peripherals are still being developed, mostly for mass storage or networking purposes, but an MP3 player is also in the making.

Software

The C64 amassed a large software library of nearly 10,000 commercial titles, rivaled in its day only by the Apple II family (an Apple II+ emulator called The Spartan, manufactured by Mimic Systems Inc., was available for the C-64 but never gained much popularity).

BASIC

Unfortunately, the onboard BASIC programming language offered no easy way to tap the machine's advanced graphics and sound capabilities. Accessing these associated memory addresses to make use of the advanced features required using the PEEK and POKE commands, third party BASIC extensions, such as Simons' BASIC, or to program in assembly language. Commodore had a better implementation of BASIC but chose to ship the C64 with the same BASIC 2.0 used in the VIC-20 to minimize cost. This, however, did not stop countless people making thousands of programs in the BASIC V2 language, and teaching people their first steps in computer programming.

Development tools

Aside from games and office applications such as word processors, spreadsheets, and database programs, the C64 was well equipped with development tools from Commodore as well as third-party vendors. Various assembler solutions were available, though perhaps the Rolls-Royce of these was the MIKRO assembler, which came in cartridge form and integrated seamlessly with the standard BASIC screen editor. Several companies sold BASIC compilers, C compilers and Pascal compilers, and a subset of Ada, to mention but a few popular languages available for the machine.

The likely-most popular entertainment oriented development suite was the Shoot'Em-Up Construction Kit, affectionately known as SEUCK. SEUCK allowed those non-skilled in programming to create original, professional-looking shooting games. Gary Kitchen's Gamemaker and Arcade Game Construction Kit also allowed non-programmers to create simple games with little effort. Text adventure game tools included The Quill and Graphic Adventure Creator development suites. The Pinball Construction Set gave users a pinball machine to design.

Type-ins, bulletin boards, and disk magazines

Besides prepackaged commercial software, the C64, like the VIC before it, had a large library of type-in programs. Numerous computer magazines offered type-in programs, usually written in BASIC or assembly language or a combination of the two. Because of its immense popularity, many general-purpose magazines that supported other computers offered C64 type-ins (Compute! was one of these), and at its peak, there were many magazines in North America (Ahoy!, Commodore Magazine, Compute!'s Gazette, Power/Play, RUN and Transactor) dedicated to Commodore computers exclusively. These magazines sometimes had disk companion subscriptions available at extra cost with the programs stored on disk to avoid the need to type them in. The disk magazine Loadstar offered fairly elaborate ready-to-run programs, music, and graphics. Books of type-ins were also common, especially in the machine's early days. A large library of public domain and freeware programs, distributed by online services such as Q-Link and CompuServe, BBSs, and user groups also emerged.

Perhaps because of its low cost and easy availability of inexpensive modems, the C64 software market had widespread problems with software piracy. Several popular utilities were sold that contained custom routines to defeat most copy-protection schemes in commercial software. (Appropriately, Fast Hack'em--probably the most popular example--was itself widely pirated.) Many BBSs offered cracked commercial software, sometimes requiring special access and usually requiring users to maintain an upload/download ratio. A large number of warez groups existed, including Fairlight, which continued to exist more than a decade after the C64's demise. Some members of these groups turned to telephone phreaking and credit card or calling card fraud to make long-distance calls, either to download new titles not yet available locally, or to upload newly cracked titles released by the group.

Specifications

Internal hardware

Microprocessor CPU:

  • MOS Technology 6510/8500 (the 6510/8500 being a modified 6502 with an integrated 6-bit I/O port)
  • Clock speed: 1.023 MHz (NTSC) or 0.985 MHz (PAL)

Video: MOS Technology VIC-II 6567/8567 (NTSC), 6569/8569 (PAL)

  • 16 colors
  • Text mode: 40x25 characters; 256 user-defined chars (8x8 pixels, or 4x8 in multicolor mode); 4-bit color RAM defines foreground color
  • Bitmap modes: 320x200 (2 colors in each 8x8 block), 160x200 (3 colors plus background in each 4x8 block)
  • 8 hardware sprites of 24x21 pixels (12x21 in multicolor mode)
  • Smooth scrolling, raster interrupts

Sound: MOS Technology 6581/8580 SID

  • 3-channel synthesizer with programmable ADSR envelope
  • 4 waveforms: triangle, sawtooth, variable pulse, noise
  • Oscillator synchronization, ring modulation
  • Programmable filter: high pass, low pass, band pass, notch filter

RAM:

  • 64 kB (65,536 bytes), of which 38 kB minus 1 byte (38911 bytes) were available for BASIC programs
  • 0.5 kB color RAM (1 k nybbles)
  • Expandable to 320 kB with Commodore 1764 256 kB RAM Expansion Unit (REU); although only 64 kB directly accessible; REU mostly intended for GEOS. REUs of 128 kB and 512 kB, originally designed for the C128, were also available, but required the user to buy a stronger power supply from some third party supplier; with the 1764 this was included.

ROM:

  • 20 kB (9 kB BASIC 2.0, 7 kB KERNAL, 4 kB character generator providing two 2 KB character sets)

I/O ports and power supply

I/O ports:

  • High-quality Y/C (S-Video) (8-pin DIN plug) with chroma/luma out and sound in + out, used with some Commodore video monitors (DIN-to-phono plug converter delivered with monitor). This was not available on the earliest units, which used a 5 pin DIN. The now-standard 4-pin Mini-DIN S-Video plug didn't yet exist back then, but adapters are easy to build.
  • Composite video (one-signal video output to monitor included in afore mentioned 8-pin DIN plug, and separate integrated RF modulator antenna output, which also carries sound, to TV on an RCA socket)
  • 2 x screwless DE9M game controller ports (Atari 2600 de facto standard, supporting one digital joystick and/or one pair of analog paddles each; one of them also supports a light pen. Later a C64-specific computer mouse was released by Commodore that (ab)uses the paddle pins to transmit its signals)
  • Cartridge expansion slot (slot for edge connector with 6510 CPU address/data bus lines and control signals, as well as GND and voltage pins; used for program modules and memory expansions, among others)
  • PET-type Datassette 300 baud tape interface (edge connector with cassette motor/read/write/sense signals and GND and +5 V pins; the motor pin is powered to directly supply the motor)
  • User port (edge connector with TTL-level RS-232 signals, for modems, etc; and byte-parallel signals which can be used to drive third-party parallel printers, among other things; with 17 logic signals, 7 GND and voltage pins, including 9 V AC voltage)
  • Serial bus (serial version of IEEE-488, 6-pin DIN plug) for CBM printers and disk drives

Power supply:

  • 5 V DC and 9 V AC from external "monolithic power brick", attached to computer's 7-pin female DIN-connector

Resources

Commodore International

Jack Tramiel

MOS Technology

Chuck Peddle

6502 Microprocessor

This article is derived from http://en.wikipedia.org/wiki/Commodore_64

Copyright Notice for Computer Nostalgia

 Disclaimers 

  Privacy Policy 

 GNU License