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, named MOS Technology VIC-II (Video Integrated Circuit for graphics) and MOS Technology SID (Sound Interface Device for audio), was completed in November 1981. Commodore then began a game console project that would use the new chips—called the Ultimax or the Commodore MAX Machine, engineered by Yash Terakura from Commodore Japan. This project was eventually cancelled after just a few machines were manufactured for the Japanese market. At the same time, Robert "Bob" Russell (system programmer and architect on the VIC-20) and Robert "Bob" Yannes (engineer of the SID) were critical of the current product line-up at Commodore, which was a continuation of the Commodore PET line aimed at business users. With the support of Al Charpentier (engineer of the VIC-II) and Charles Winterble (manager of MOS Technology), they proposed to Commodore CEO Jack Tramiel a true low-cost sequel to the VIC-20. Tramiel dictated that the machine should have 64 KB of random-access memory (RAM). Although 64-Kbit dynamic random-access memory (DRAM) chips cost over US$100 (equivalent to $222.68 in 2016) at the time, he knew that DRAM prices were falling, and would drop to an acceptable level before full production was reached. The team was able to quickly design the computer because, unlike most other home-computer companies, Commodore had its own semiconductor fab to produce test chips; because the fab was not running at full capacity, development costs were part of existing corporate overhead. The chips were complete by November, by which time Charpentier, Winterble, and Tramiel had decided to proceed with the new computer; the latter set a final deadline for the first weekend of January, to coincide with the 1982 Consumer Electronics Show (CES).
The product was code named the VIC-40 as the successor to the popular VIC-20. The team that constructed it consisted of Yash Terakura, Bob Russell, Bob Yannes and David A. Ziembicki. The design, prototypes and some sample software were finished in time for the show, after the team had worked tirelessly over both Thanksgiving and Christmas weekends. The machine used the same case, same-sized motherboard, and same Commodore BASIC 2.0 in ROM as the VIC-20. BASIC also served as the user interface shell and was available immediately on startup at the
READY prompt. When the product was to be presented, the VIC-40 product was renamed C64. The C64 made an impressive debut at the January 1982 Consumer Electronics Show, as recalled by Production Engineer David A. Ziembicki: "All we saw at our booth were Atari people with their mouths dropping open, saying, 'How can you do that for $595?'" The answer was vertical integration; due to Commodore's ownership of MOS Technology's semiconductor fabrication facilities, each C64 had an estimated production cost of US$135.
Commodore had a reputation for announcing products that never appeared, so sought to quickly ship the C64. Production began in spring 1982 and volume shipments began in August. The C64 faced a wide range of competing home computers, but with a lower price and more flexible hardware, it quickly outsold many of its competitors. In the United States the greatest competitors were the Atari 8-bit 400, the Atari 800, and the Apple II. The Atari 400 and 800 had been designed to accommodate previously stringent FCC emissions requirements and so were expensive to manufacture. The latest revision in the aging Apple II line, the Apple IIe, had higher-resolution graphics modes than the C64. Though similar in specifications, the two computers represented differing design philosophies; as an open architecture system, upgrade capability for the Apple II was granted by internal expansion slots, whereas the C64's comparatively closed architecture had only a single external ROM cartridge port for bus expansion. However, the Apple used its expansion slots for interfacing to common peripherals like disk drives, printers and modems; the C64 had a variety of ports integrated into its motherboard which were used for these purposes, usually leaving the cartridge port free. Commodore's was not a completely closed system, however; the company had published detailed specifications for most of their models since the PET and VIC-20 days, and the C64 was no exception. Initial C64 sales were nonetheless relatively slow due to a lack of software, reliability issues with early production models, and a shortage of 1541 disk drives, which also suffered rather severe reliability issues. During 1983 however, a trickle of software turned into a flood and sales began rapidly climbing, especially with price cuts from $600 to just $300.
All four machines had similar memory configurations which were standard in 1982–83: 48 KB for the Apple II+ (upgraded within months of C64's release to 64 KB with the Apple IIe) and 48 KB for the Atari 800. At upwards of $1,200, the Apple II was about twice as expensive, while the Atari 800 cost $899. One key to the C64's success was Commodore's aggressive marketing tactics, and they were quick to exploit the relative price/performance divisions between its competitors with a series of television commercials after the C64's launch in late 1982. The company also published detailed documentation to help developers, while Atari initially kept technical information secret. Because of production problems in Atari's supply chain, by the start of 1984 "the Commodore 64 largely has [the low-end] market to itself right now", The Washington Post reported.
By 1985, games were an estimated 60 to 70% of Commodore 64 software. At a mid-1984 conference of game developers and experts at Origins Game Fair, Dan Bunten, Sid Meier ("the computer of choice right now"), and a representative of Avalon Hill all stated that they were developing games for the C64 first as the most promising market. 35% of SSI's 1986 sales were for the C64, ten percentage points higher than for the Apple II; the C64 was even more important for other companies, which often found that more than half the sales for a title ported to six platforms came from the C64 version. That year Computer Gaming World published a survey of ten game publishers which found that they planned to release forty-three Commodore C64 games that year, compared to nineteen for Atari and forty-eight for Apple II, and Alan Miller stated that Accolade developed first for the C64 because "it will sell the most on that system".
Commodore sold the C64 not only through its network of authorized dealers, but also through department stores, discount stores, toy stores and college bookstores. The C64 had a built-in RF modulator and thus could be plugged into any television set. This allowed it (like its predecessor, the VIC-20) to compete directly against video game consoles such as the Atari 2600. Like the Apple IIe, the C64 can also output a composite video signal (avoiding the RF modulator) that can be plugged into a specialized monitor for a sharper picture. Unlike the IIe, the C64's NTSC output capability also includes separate luminance/chroma signal output equivalent to (and electrically compatible with) S-Video, for connection to the Commodore 1702 monitor, providing even better video quality than a composite signal. Aggressive pricing of the C64 is considered to have been a major catalyst in the North American video game crash of 1983. In January 1983, Commodore offered a $100 rebate in the United States on the purchase of a C64 to anyone that traded in another video game console or computer. To take advantage of this 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 TS1000 to Commodore, collect the rebate, and pocket the difference; Timex Corporation departed the computer market within a year. Commodore's tactics soon led to a price war with the major home computer manufacturers. The success of the VIC-20 and C64 contributed significantly to the exit from the field of Texas Instruments and other smaller competitors.
The price war with Texas Instruments was seen as a personal battle for Commodore president Jack Tramiel. Commodore dropped the C64's list price by $200 within two months after its release. In June 1983 the company lowered the price $300, and some stores sold the computer for $199. At one point, the company was selling as many C64s as all computers sold by the rest of the industry combined, while TI lost money by selling the 99/4A for $99. TI's subsequent demise in the home computer industry in October 1983 was seen as revenge for TI's tactics in the electronic calculator market in the mid-1970s, when Commodore was almost bankrupted by TI. Computer Gaming World stated in January 1985 that companies such as Epyx that survived the video game crash did so because they "jumped on the Commodore bandwagon early".
In Europe, the primary competitors to the C64 were British-built computers: the Sinclair ZX Spectrum, the BBC Micro and the Amstrad CPC464. In the UK, the 48K Spectrum had not only been released a few months ahead of the C64's early 1983 debut, but it was also selling for £175, less than half the C64's £399 price. The Spectrum quickly became the market leader and Commodore had an uphill struggle against it. The C64 did however go on to rival the Spectrum in popularity in the latter half of the 1980s. Adjusted to the size of population, the popularity of Commodore 64 was the highest in Finland where it was subsequently marketed as "the computer of the republic".
Although rumors spread in late 1983 that Commodore would discontinue the C64, By early 1985 the C64's price was $149; with an estimated production cost of $35-50, its profitability was still within the industry-standard markup of two to three times. Commodore sold about one million C64s in 1985 and a total of 3.5 million by mid-1986. Although the company reportedly attempted to discontinue the C64 more than once in favor of more expensive computers such as the Commodore 128, demand remained strong. In 1986, Commodore introduced the 64C, a redesigned 64, which Compute! saw as evidence that—contrary to C64 owners' fears that the company would abandon them in favor of the Amiga and 128—"the 64 refuses to die". Its introduction also meant that Commodore raised the price of the C64 for the first time, which the magazine cited as the end of the home-computer price war. Software sales also remained strong; MicroProse, for example, in 1987 cited the Commodore and IBM PC markets as its top priorities.
By 1988, Commodore was still selling between one and one and a half million C64s worldwide every year, although Epyx CEO David Shannon Morse cautioned that "there are no new 64 buyers, or very few. It's a consistent group that's not growing … it's going to shrink as part of our business" and most sales volume by the late 1980s was in PAL regions, the vast majority of US C64 sales having been between 1983-86. One computer-gaming executive stated that the Nintendo Entertainment System's enormous popularity—seven million sold that year, almost as many as the number of C64s sold in its first five years—had stopped the C64's growth, and Trip Hawkins stated that Nintendo was "the last hurrah of the 8-bit world". The C64 continued to be actively supported by US game developers to the end of the decade, however a large amount of games, especially arcade conversions, were simply imports from Europe converted to NTSC. Ultima VI, released in 1991, was the last major C64 game release from a North American developer.
In the United States, demand for 8 and 16-bit computers all-but ceased as the 1990s began and 32-bit PC compatibles became completely dominant, but the C64 continued to be popular in the UK and other European countries. In the end it was not lack of demand or the cost of the C64 itself (still profitable at a retail price point between £44 and £50), but the cost of producing the disk drive that ended the machine's long run. In March 1994, at CeBIT in Hanover, Germany, Commodore announced that the C64 would be finally discontinued in 1995, noting that the Commodore 1541 cost more than the C64 itself. However, only one month later, in April 1994, the company filed for bankruptcy. It has been widely claimed that between 18 and 22 million C64s were sold worldwide, however company sales records indicate that the total number was about 12.5 million. While only 360,000 C64s were sold in 1982, about 1.3 million were sold in 1983, followed by a major spike in 1984 when 2.6 million were sold. After that, sales held steady at between 1.3 and 1.6 million a year for the remainder of the decade and then dropped off after 1989.
In 1982, Commodore released the Commodore MAX Machine in Japan. It was called the Ultimax in the United States, and VC-10 in Germany. The MAX was intended to be a game console with limited computing capability, and was based on a very cut-down version of the hardware family later used in the C64. The MAX was discontinued months after its introduction because of poor sales in Japan. 1983 saw Commodore attempt to compete with the Apple II's hold on the US education market with the Educator 64, essentially a C64 and "greenscale" monochrome monitor in a PET case. Schools preferred the all-in-one metal construction of the PET over the standard C64's separate components, which could be easily damaged, vandalized or stolen. Schools did not prefer the Educator 64 to the wide range of software and hardware options the Apple IIe was able to offer, and it was produced in limited quantities.
Also in 1983, 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. While earlier computers using this form factor only incorporate monochrome ("green screen") displays, the base SX-64 unit features a 5 in (130 mm) color cathode ray tube (CRT) and an integrated 1541 floppy disk drive. Unlike most other C64s, the SX-64 does not have a cassette connector.
Two designers at Commodore, Fred Bowen and Bil Herd, were determined to rectify the problems of the Plus/4. They intended that the eventual successors to the C64—the Commodore 128 and 128D computers (1985)—were to build upon the C64, avoiding the Plus/4's flaws. The successors had many improvements such as a structured BASIC with graphics and sound commands, 80-column display ability, and full CP/M compatibility. The decision to make the Commodore 128 plug compatible with the C64 was made quietly by Bowen and Herd, software and hardware designers respectively, without the knowledge or approval by the management in the post Jack Tramiel era. The designers were careful not to reveal their decision until the project was too far along to be challenged or changed and still make the impending Consumer Electronics Show (CES) show in Las Vegas. Upon learning that the C128 was designed to be compatible with the C64, Commodore's marketing department independently announced that the C128 would be 100% compatible with the C64, thereby raising the bar for C64 support. In a case of malicious compliance, the 128 design was altered to include a separate "64 mode" using a complete C64 environment to ensure total compatibility.
The C64's designers intended the computer to have a new, wedge-shaped case within a year of release, but the change did not occur. In 1987, Commodore released the 64C computer, which is functionally identical to the original. The exterior design was remodeled in the sleeker style of the Commodore 128. The 64C uses new versions of the SID, VIC and I/O chips being deployed, with the core voltage reduced from 12V to 9V. Models with the C64E board had the graphic symbols printed on the top of the keys, instead of the normal location at the side. The sound chip (SID) were changed to use the MOS 8580 chip that uses other filter units, that results in "samples" almost being unaudible. The 64 KB RAM memory went from eight chips to two chips. Basic and KERNAL went from two separate chips into one 16 KB ROM chip. The PLA chip and some TTL chips were integrated into a DIL 64-pin chip. The "252535-01" PLA integrated the color RAM as well into the same chip. The smaller physical space made it impossible to put in some internal expansions like a floppy-speeder. In the United States, the 64C was often bundled with the third-party GEOS graphical user interface (GUI) based operating system, as well as the software needed to access QuantumLink. The 1541 drive received a matching face-lift resulting in the 1541C. Later a smaller, sleeker 1541-II model was introduced along with the 800 KB 3.5-inch microfloppy 1581.
In 1990, the C64 was repackaged in the form of a game console, called the C64 Games System (C64GS), with most external connectivity removed. A simple modification to the 64C's motherboard was made 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. Designed to compete with the Nintendo Entertainment System and the Sega Master System, it suffered from very low sales compared to its rivals. It was another commercial failure for Commodore, and it was never released outside Europe.
In 1990, an advanced successor to the C64, the Commodore 65 (also known as the "C64DX"), was prototyped, but the project was canceled by Commodore's chairman Irving Gould in 1991. The C65's specifications were impressive for an 8-bit computer, bringing specs comparable to the 16-bit Apple IIgs. For example, it could display 256 colors on screen, while OCS based Amigas could only display 64 in HalfBrite mode (32 colors and half-bright transformations). Although no specific reason was given for the C65's cancellation, it would have competed in the marketplace with Commodore's lower end Amigas and the Commodore CDTV.
Clones are computers that imitate C64 functions. In the middle 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 video 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. By "hacking" the circuit board, it is possible to attach C1541 floppy disk drives, hard drives, second joysticks, and PS/2-keyboards to these units, which gives the DTV devices nearly all the capabilities of a full Commodore 64. The DTV hardware is also used in the mini-console Hummer, sold at RadioShack in mid-2005. In 2015, a Commodore 64 compatible motherboard was produced by Individual Computers. Dubbed the "C64 Reloaded", it is a modern redesign of the Commodore 64 motherboard revision 250466 with a few new features. The motherboard itself is designed to be placed in an empty C64 or C64C case already owned by the user. Produced in limited quantities, models of this Commodore 64 "clone" sports either machined or ZIF sockets in which the custom C64 chips would be placed. The board also contains jumpers to accept different revisions of the VIC-II and SID chips, as well as the ability to jumper between the analogue video system modes PAL and NTSC. The motherboard contains several innovations, including selection via the RESTORE key of multiple KERNAL and character ROMs, built-in reset toggle on the power switch, and an S-video socket to replace the original TV modulator. The motherboard is powered by DC-to-DC converter that uses a single power input of 12 V DC from a mains adapter to power the unit rather than the original and failure prone Commodore 64 power supply brick.
As of 2008, 64 enthusiasts still develop new hardware, including Ethernet cards, specially adapted hard disks and flash card interfaces (sd2iec).
In 1998, the C64 brand was reused for the "Web.it Internet Computer", a low-powered (even for the time) Internet-oriented, all-in-one x86 PC running Windows 3.1. Despite its "Commodore 64" nameplate, the "C64 Web.it" is not directly compatible with the original (except via included emulation software), nor does it share its appearance. PC clones branded as C64x sold by Commodore USA, LLC, a company licensing the Commodore trademark, began shipping in June 2011. The C64x has a case resembling the original C64 computer, but- as with the "Web.it"- it is based on x86 architecture and is not compatible with the Commodore 64 on either hardware or software levels.
Several Commodore 64 games were released on the Nintendo Wii's Virtual Console service in Europe and North America only. The games were unlisted from the service as of August 2013 for unknown reasons.
In 1982, the C64's graphics and sound capabilities were rivaled only by the Atari 8-bit family, and appeared exceptional when compared with the widely publicized Atari VCS and Apple II. The C64 is often credited with starting the computer subculture known as the demoscene (see Commodore 64 demos). It is still being actively used in the demoscene, especially for music (its sound chip even being used in special sound cards for PCs, and the Elektron SidStation synthesizer). Even though other computers quickly caught up with it, the C64 remained a strong competitor to the later video game consoles Nintendo Entertainment System (NES) and Sega Master System, thanks in part to its by-then established software base, especially outside North America, where it comprehensively outsold the NES.
Due to the unusually high cost of disk drives in the UK, almost all British C64 software used cassette tapes. Few cassette C64 programs were released in the US and none after 1983, and in non-UK markets, the 1541 disk was the universal method of software distribution. The cartridge slot on the C64 was also mainly a feature used in the computer's first two years on the market and became rapidly obsolete once the price and reliability of 1541 drives improved. A handful of PAL region games used bank switched cartridges to get around the 16k memory limit. C64 cartridges normally map into $8000 and depending on the ROM size may extend up to $BFFF, in which case they displace the BASIC ROM. A special ID string is checked for on power-up; if found, the kernel will jump to the starting address specified in the ID string. A few early C64 cartridges released in 1982, used the so-called MAX Mode, a leftover feature of the failed MAX Machine. These cartridges map into $F000 rather than $8000 and displace the kernel ROM. If MAX Mode is used, the programmer will have to provide his own code for handling system interrupts. Disk and tape software normally load at the start of BASIC memory ($801) and use a small BASIC stub (e.g. 10 SYS(2064)) to jump to the start of the program. Although no Commodore 8-bit machine except the C128 can automatically boot from a floppy disk, some software intentionally overwrites certain BASIC vectors in the process of loading so that execution begins automatically rather than requiring the user to type RUN at the BASIC prompt following loading.
Utility software such as machine language monitors designed to be used from within BASIC loads at $8000 or $C000 and can generally be exited from and control returned to BASIC. Software that loads at $801 monopolizes the entire system and cannot be exited from aside from powering the computer off. Commodore did not include a reset button on any of their computers until the CBM-II line, but there were third party cartridges with a reset button on them. It is possible to trigger a soft reset by jumping to the CPU reset vector at $FCE2. A few programs use this as an "exit" feature, although it does not clear memory.
As is common for home computers of the early 1980s, the C64 incorporates a ROM-based version of the BASIC programming language. BASIC essentially serves as the operating system for the machine. The disk drive has its own microprocessor, much like the earlier CBM/PET systems and the Atari 400 and Atari 800. This means that no memory space is dedicated to running a disk operating system, as was the case with earlier systems such as the Apple II and TRS-80.
Commodore BASIC 2.0 is used instead of the more advanced BASIC 4.0 from the PET series, since C64 users were not expected to need the disk-oriented enhancements of BASIC 4.0. The company did not expect many to buy a disk drive, and using BASIC 2.0 simplified VIC-20 owners' transition to the 64. "The choice of BASIC 2.0 instead of 4.0 was made with some soul-searching, not just at random. The typical user of a C64 is not expected to need the direct disk commands as much as other extensions and the amount of memory to be committed to BASIC were to be limited. We chose to leave expansion space for color and sound extensions instead of the disk features. As a result, you will have to handle the disk in the more cumbersome manner of the 'old days'."
The version of BASIC is limited and does not include specific commands for sound or graphics manipulation, instead requiring users to use the "PEEK and POKE" commands to access the graphics and sound chip registers directly. To provide extended commands, including graphics and sound, Commodore produced two different cartridge-based extension to BASIC 2.0: Simons' BASIC and Super Expander 64. Other languages available for the C64 include Pascal, C, Logo, Forth, and FORTRAN. Compilers for BASIC 2.0 such as Petspeed 2 (from Commodore), Blitz (from Jason Ranheim) and Turbo Lightning (from Ocean Software) were produced. Most commercial C64 software was written in assembly language, either cross developed on a larger computer, or directly on the C64 using a machine code monitor or an assembler. This maximized speed and minimized memory use. Some games, particularly adventures, used high level scripting languages.
Many third party operating systems have been developed for the C64. As well as the original GEOS, two third-party GEOS-compatible systems have been written: Wheels and GEOS megapatch. Both of these require hardware upgrades to the original C64. Several other operating systems are or have been available, including WiNGS OS, the Unix-like LUnix, operated from a command-line, and the embedded systems OS Contiki, with full GUI. Other less well known OSes include ACE, Asterix, DOS/65 and GeckOS. A version of CP/M was released, but this requires the addition of an external Z80 processor to the expansion bus. Furthermore, the Z80 processor is underclocked to be compatible with the C64's memory bus, so performance is poor compared to other CP/M implementations. C64 CP/M and C128 CP/M both suffer a lack of software; although most commercial CP/M software can run on these systems, software media is incompatible between platforms. The low usage of CP/M on Commodores means that software houses saw no need to invest in mastering versions for the Commodore disk format. The C64 CP/M cartridge is also not compatible with anything except the early 326298 motherboards.
During the 1980s, the Commodore 64 was used to run bulletin board systems using software packages such as Bizarre 64, Blue Board, C-Net, Color 64, CMBBS, C-Base, DMBBS, Image BBS, EBBS, and The Deadlock Deluxe BBS Construction Kit, often with sysop-made modifications. These boards sometimes were used to distribute cracked software. As late as December 2013, there were 25 such Bulletin Board Systems in operation, reachable via the Telnet protocol. There were major commercial online services, such as Compunet (UK), CompuServe (US – later bought by America Online), The Source (US) and Minitel (France) among many others. These services usually required custom software which was often bundled with a modem and included free online time as they were billed by the minute. Quantum Link (or Q-Link) was a US and Canadian online service for Commodore 64 and 128 personal computers that operated from November 5, 1985, to November 1, 1994. It was operated by Quantum Computer Services of Vienna, Virginia, which in October 1991 changed its name to America Online, and continued to operate its AOL service for the IBM PC compatible and Apple Macintosh. Q-Link was a modified version of the PlayNET system, which Control Video Corporation (CVC, later renamed Quantum Computer Services) licensed.
The first graphical character-based interactive environment is Club Caribe. First released as Habitat in 1988, Club Caribe was introduced by LucasArts for Q-Link customers on their Commodore 64 computers. Users could interact with one another, chat and exchange items. Although the game's open world was very basic, its use of online avatars (already well-established off-line by Ultima and other games) and combination of chat and graphics was revolutionary. Online graphics in the late 1980s were severely restricted by the need to support modem data transfer rates as slow as 300 bits per second. Habitat's graphics were stored locally on floppy disk, eliminating the need for network transfer.
The C64 uses an 8-bit MOS Technology 6510 microprocessor. This is 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 read-only memory (ROM) in and out of the processor's address space, and to operate the datasette tape recorder. The C64 has 64½ KB of RAM, of which 1024× ½ bytes are color RAM for text mode and 38 KB are available to built-in Commodore BASIC 2.0 on startup. There is 20 KB of ROM, made up of the BASIC interpreter, the kernel, and the character ROM. As the processor could only address 64 KB at a time, the ROM was mapped into memory and only 38,911 bytes of RAM (plus 4 KB between ROMs) were available at startup. Most "breadbox" Commodore 64s used 4164 DRAM, with eight chips to total up 64k of system RAM. Late breadbox models and all C64Cs used 41464 DRAM (64kx4) chips which stored 32 KB per chip, so only two were required. Since 4164 DRAMs are 64kx1, eight chips are needed to make an entire byte and the computer will not function without all of them present. Thus the first chip contains Bit 0 for the entire memory space, the second chip contains Bit 1, and so forth. This also makes detecting faulty RAM easy as a bad chip will display random characters on the screen and the character displayed can be used to determine the faulty RAM.
The C64 performs a RAM test on power up and if a RAM error is detected, the amount of free BASIC memory will be lower than the normal 38911 figure. If the faulty chip is in lower memory, then an ?OUT OF MEMORY IN 0 error is displayed rather than the usual BASIC startup banner. The color RAM at $D800 uses a separate 2114 SRAM chip and is directly gated to the VIC-II. Unlike the rest of system RAM, it cannot be banked out by using the $0/$1 register. If a program does not use the BASIC interpreter, RAM can be read as well as written over that ROM's location. However, this means the character ROM is not available, and the RAM in its place is instead used for the character glyphs. Normally, this RAM is uninitialized, which then results in nothing but random patterns appearing on the screen. This is solved by copying the character ROM into RAM. Most C64 games are written in this way, using tile maps, which require much processor time and memory. The same technique was used earlier in the Atari 8-bit family (1979) and arcade hardware such as Pac-Man (1981).
The C64 uses a somewhat complicated memory banking scheme; the normal power on default is to have the BASIC ROM mapped in at $A000 and the screen editor/kernal ROM at $E000. Memory underneath the system ROMs can be written to, but not read back without swapping out the ROMs. $1 contains a register with control bits for enabling/disabling the system ROMS as well as the I/O area at $D000. Most software swaps out the BASIC ROM, less often the kernal as the user must then provide his own code for I/O and interrupt handling. The $D000 page contains the I/O registers at power on, it can either be swapped with the character ROM (normally invisible to the CPU) or else simply the bare RAM underneath. If the I/O registers are swapped out, it is also necessary to disable interrupts via an STI instruction. Theoretically, if all ROMs and the I/O area are swapped out, the entire 64k of system RAM is accessible to software aside from $0/$1 and the color RAM at $D800. If the kernel ROM is swapped out, BASIC will be removed with it and it is not possible to have BASIC active without the kernel.
The kernal ROM went through three separate revisions, mostly designed to fix bugs. The initial version is only found on 326298 motherboards, used in the first production models, and cannot detect if an NTSC or PAL VIC-II is present. The second revision is found on all C64s made from late 1982 through 1985. The third and last kernel ROM revision was introduced on the 250466 motherboard (late breadbin models with 41464 RAM) and is found in all C64Cs. The 6510 CPU is clocked at 1.023 MHz (NTSC) and 0.9 MHz (PAL); lower than some competing systems (for example, the Atari 800 is clocked at 1.79 MHz). A performance boost can be gained by disabling the VIC-II's video output via a register write; this feature is often used by tape and disk fastloaders as well as the kernel cassette routines.
The C64 retained the DE-9 joystick Atari joystick port from the VIC-20 and added another; any Atari specification game controller can be used on a C64. The joysticks are read from the registers at $DC00 and $DC01, and most software is designed to use a joystick in port 2 for control rather than port 1, as the upper bits of $DC00 are used by the keyboard and an I/O conflict can result. Although it is possible to use Sega gamepads on a C64, it is not recommended as the slightly different signal generated by them can damage the CIA chip. The Start button on Sega Genesis controllers outputs a −5V signal; and the other buttons also pull the lines on the CIA low, which is different from the behavior of Atari spec controllers. Register $D419 is used to control paddles and is an analog input. Atari paddles are electrically compatible with the C64, but have different resistance values than Commodore's paddles, which means most software will not work properly with them. However, only a handful of games, mostly ones released early in the computer's life cycle, can use paddles. In 1986, Commodore released two mice for the C64 and C128, the 1350 and 1351. The 1350 is a digital device, read from the joystick registers (and can be used with any program supporting joystick input); while the 1351 is a true mouse, read with the SID's analog-to-digital converter.
The graphics chip, VIC-II, features 16 colors, eight hardware sprites per scanline (enabling up to 112 sprites per PAL screen), scrolling capabilities, and two bitmap graphics modes. The standard text mode features 40 columns, like most Commodore PET models; the built in character encoding is not standard ASCII but PETSCII, an extended form of ASCII-1963. The kernel ROM sets the VIC-II to a dark blue background on power up with a light blue text and border. Unlike the PET and VIC-20, the C64 uses "fat" double-width text as some early VIC-IIs had poor video quality that resulted in a fuzzy picture. Most screenshots show borders around the screen, which is a feature of the VIC-II chip. By utilizing interrupts to reset various hardware registers on precise timings it was possible to place graphics within the borders and thus use the full screen.
There are two low-resolution and two bitmapped modes. Multicolor bitmapped mode has an addressable screen of 160 × 200 pixels, with a maximum of four colors per 4 × 8 character block. High-resolution bitmapped mode has an addressable screen of 320 × 200 pixels, with a maximum of two colors per 8 × 8 character block. Multicolor low-resolution has a screen of 160 × 200 pixels, 40 × 25 addressable with four colors per 8 × 8 character block; high resolution "low resolution" has a screen of 320 × 200 pixels, 40 × 25 addressable with two colors per 8 × 8 character block. Most C64 video games are multicolor low-resolution; this allows only block-by-block character animation due to the limited addressable space.
The SID chip has three channels, each with its own ADSR envelope generator and filter capabilities. Ring modulation makes use of channel N°3, to work with the other two channels. Bob Yannes developed the SID chip and later co-founded 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 has become a hit of its own among C64 users. Well-known composers and programmers of game music on the C64 are Rob Hubbard, Jeroen Tel, David Whittaker, Chris Hülsbeck, Ben Daglish, Martin Galway, Kjell Nordbø and David Dunn among many others. Due to the chip's three channels, chords are played as arpeggios, coining the C64's characteristic lively sound. It was also possible to continuously update the master volume with sampled data to enable the playback of 4-bit digitized audio. As of 2008, it became possible to play four channel 8-bit audio samples, 2 SID channels and still use filtering and azid.
There are two versions of the SID chip: the 6581 and the 8580. The MOS Technology 6581 was used in the original ("breadbox") C64s, the early versions of the 64C, and the Commodore 128. The 6581 was replaced with the MOS Technology 8580 in 1987. While the 6581 sound quality is a little crisper and many Commodore 64 fans say they prefer its sound, it lacks some versatility available in the 8580 – for example, the 8580 can mix all available waveforms on each channel, whereas the 6581 can only play a single waveform per channel. The main difference between the 6581 and the 8580 is the supply voltage. The 6581 uses a 12 volt supply—the 8580, a 9 volt supply. A modification can be made to use the 6581 in a newer 64C board (which uses the 9 volt chip). The SID chip's distinctive sound has allowed it to retain a following long after its host computer was discontinued. A number of audio enthusiasts and companies have designed SID-based products as add-ons for the C64, x86 PCs, and standalone or Musical Instrument Digital Interface (MIDI) music devices such as the Elektron SidStation. These devices use chips taken from excess stock, or removed from used computers. In 2007, Timbaland's extensive use of the SidStation led to the plagiarism controversy for "Block Party" and "Do It" (written for Nelly Furtado).
Commodore made many changes to the C64's hardware during its lifetime, sometimes causing compatibility issues. The computer's rapid development, and Commodore and Tramiel's focus on cost cutting instead of product testing, resulted in several defects that caused developers like Epyx to complain and required many revisions to fix; Charpentier said that "not coming a little close to quality" was one of the company's mistakes.
Cost reduction was the reason for many revisions. 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 portion of the cost was eliminated by reducing the number of discrete components, such as diodes and resistors, which enabled the use of a smaller printed circuit board. There were 16 total C64 motherboard revisions, most of them aimed at simplifying and reducing manufacturing costs. Some board revisions were exclusive to PAL regions. All C64 motherboards were manufactured in Hong Kong.
IC locations changed frequently on each motherboard revision, as did the presence or lack thereof of the metal RF shield around the VIC-II. PAL boards often had aluminized cardboard instead of a metal shield. The SID and VIC-II are socketed on all boards, however the other ICs may be either socketed or soldered. The first production C64s, made in 1982 to early 1983, are known as "silver label" models due to the case sporting a silver-colored "Commodore" logo. The power LED had a separate silver badge around it reading "64". These machines also have only a 5-pin video cable and cannot output S-video. In late 1982, Commodore introduced the familiar "rainbow badge" case, but many machines produced into early 1983 also used silver label cases until the existing stock of them was used up. In the spring of 1983, the original 326298 board was replaced by the 250407 motherboard which sported an 8-pin video connector and added S-video support for the first time. This case design would be used until the C64C appeared in 1987. All ICs switched to using plastic shells while the silver label C64s had some ceramic ICs, notably the VIC-II. The case is made from ABS plastic which may become brown with time. This can be reversed by using the public domain chemical mix "Retr0bright".
The VIC-II was manufactured with 5 micrometer NMOS technology and was clocked at either 17.73447 MHz (PAL) or 14.31818 MHz (NTSC). Internally, the clock was divided down to generate the dot clock (about 8 MHz) and the two-phase system clocks (about 1 MHz; the exact pixel and system clock speeds are slightly different between NTSC and PAL machines). At such high clock rates, the chip generated a lot of heat, forcing MOS Technology to use a ceramic dual in-line 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 dual in-line package, which reduced costs substantially, but it did not totally eliminate the heat problem. Without a ceramic package, the VIC-II required the use of a heat sink. To avoid extra cost, the metal RF shielding doubled as the heat sink 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 originally manufactured using NMOS at 7 and in some areas 6 micrometers. The prototype SID and some very early production models featured a ceramic dual in-line 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 for the two 64 kilobit × 4 bit DRAM chips that replaced the original eight 64 kilobit × 1 bit ICs. After the release of the Commodore 64C, MOS Technology began to reconfigure the original C64's chipset to use HMOS production 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 renumbered to 85xx to reflect the change to HMOS. In 1987, Commodore released a 64C variant with a highly redesigned motherboard commonly known as a "short board". The new board used the new HMOS chipset, featuring a new 64-pin PLA chip. The new "SuperPLA", as it was dubbed, integrated many discrete components and transistor–transistor logic (TTL) chips. In the last revision of the 64C motherboard, the 2114 color RAM was integrated into the SuperPLA.
The C64 used an external power supply, a conventional transformer with multiple tappings (as opposed to switch mode, the type now used on PC power supplies), encased in an epoxy resin gel which discouraged tampering but tended to increase the heat level during use. The design saved space within the computer's case and allowed international versions to be more easily manufactured. The 1541-II and 1581 disk drives, along with various third-party clones, also come with their own external power supply "bricks", as did most peripherals leading to a "spaghetti" of cables and the use of numerous double adapters by users.
Commodore power supplies often failed before expected; the computer reportedly had a 30% return rate in late 1983, compared to the 5-7% the industry considered acceptable. Malfunctioning power bricks were particularly notorious for damaging the RAM chips as they were made with the CMOS process rather than NMOS like the main ICs in the computer and due to their higher density had less tolerance for an overvoltage condition.
The original PSU included on early 1982-83 machines had a 5-pin connector and could accidentally be plugged into the video output. To prevent the user from making this fatal mistake, Commodore changed the plug design on 250407 motherboards to a 3-pin connector. Commodore later changed the design, omitting the gel. The follow-on model, the Commodore 128, used a larger, improved power supply that included a fuse. The power supply that came with the Commodore REU was similar to that of the Commodore 128's unit, providing an upgrade for customers who purchased that accessory.Microprocessor CPU:
MOS Technology 6510/8500 (the 6510/8500 is a modified 6502 with an integrated 6-bit I/O port)
Clock speed: 0.985 MHz (PAL) or 1.023 MHz (NTSC)
Video: MOS Technology VIC-II 6567/8562 (NTSC), 6569/8565 (PAL)
Text mode: 40×25 characters; 256 user-defined chars (8×8 pixels, or 4×8 in multicolor mode); or extended background color; 64 user-defined chars with 4 background colors, 4-bit color RAM defines foreground color
Bitmap modes: 320×200 (2 unique colors in each 8×8 pixel block), 160×200 (3 unique colors + 1 common color in each 4×8 block)
8 hardware sprites of 24×21 pixels (12×21 in multicolor mode)
Smooth scrolling, raster interrupts
Sound: MOS Technology 6581/8580 SID
3-channel synthesizer with programmable ADSR envelope
4 waveforms per audio channel: triangle, sawtooth, variable pulse, noise
Oscillator synchronization, ring modulation
Programmable filter: high pass, low pass, band pass, notch filter
Input/Output: Two 6526 Complex Interface Adapters
16 bit parallel I/O
8 bit serial I/O
24-hours (AM/PM) Time of Day clock (TOD), with programmable alarm clock
16 bit interval timers
64 KB, of which 38 KB (minus 1 byte) were available for BASIC programs
512 bytes color RAM (memory allocated for screen color data storage)
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. Creative Micro Designs also produced a 2 MB REU for the C64 and C128, called the 1750 XL. The technology actually supported up to 16 MB, but 2 MB was the biggest one officially made. Expansions of up to 16 MB were also possible via the CMD SuperCPU.
20 KB (9 KB Commodore BASIC 2.0; 7 KB KERNAL; 4 KB character generator, providing two 2 KB character sets)
I/O ports:ROM cartridge expansion slot (44-pin 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)
Integrated RF modulator antenna output via a RCA connector. The used channel could be adjusted from number 36 with the potentiometer to the left.
8-pin DIN connector containing composite video output, separate Y/C outputs and sound input/output. Beware that this is the 262° (horseshoe) version of the plug, not the 270° circular version. Some early C64 units use a 5-pin DIN connector that carries composite video and luminance signals, but lacks a chroma signal.
Serial bus (proprietary serial version of IEEE-488, 6-pin DIN plug) for CBM printers and disk drives
PET-type Commodore Datassette 300 baud tape interface (edge connector with digital cassette motor/read/write/key-sense signals, Ground and +5V DC lines. The cassette motor is controlled by a +5V DC signal from the 6502 CPU. The 9V AC input is transformed into unregulated 6.36V DC which is used to actually power the cassette motor.
User port (edge connector with TTL-level signals, for modems and so on.; byte-parallel signals which can be used to drive third-party parallel printers, among other things, 17 logic signals, 7 Ground and voltage pins, including 9V AC)
2 × screwless DE9M game controller ports (compatible with Atari 2600 controllers), each supporting five digital inputs and two analog inputs. Available peripherals included digital joysticks, analog paddles, a light pen, the Commodore 1351 mouse, and graphics tablets such as the KoalaPad.
5V DC and 9V AC from an external "power brick", attached to a 7-pin female DIN-connector on the computer.
The 9 volt AC is used to supply power via a charge pump to the SID sound generator chip, provide 6.8V via a rectifier to the cassette motor, a "0" pulse for every positive half wave to the time-of-day (TOD) input on the CIA chips, and 9 volts AC directly to the user-port. Thus, as a minimum, a 12 V square wave is required. But a 9 V sine wave is preferred.
Note that even if I/O chips like VIC-II only uses 64 positions in the memory address space, it will occupy 1,024 addresses because some address bits are left undecoded.
Vertical integration was the key to keep costs low. At the introduction in 1982, the production cost was US$135 and the retail price US$595. In 1985, the retail cost went down to US$149 (equivalent to $331.79 in 2016) and the production cost were believed to be somewhere between US$35–50 (c. US$80–110 today). Commodore would not confirm this cost figure. Dougherty of the Berkeley Softworks estimated the costs of the Commodore 64 parts based on his experience at Mattel and Imagic.
To lower costs TTL chips were replaced with less expensive custom chips and ways to increase the yields on the sound and graphics chips were found. The video chip 6567 had the ceramic package replaced with plastic but heat dissipation demanded a redesign of the chip and the development of a plastic package that can dissipate heat as well as ceramic.
The computer's designers claimed that "The freedom that allowed us to do the C-64 project will probably never exist again in that environment"; by spring 1983 most had left to found Ensoniq.
BYTE in July 1983 stated that "the 64 retails for $595. At that price it promises to be one of the hottest contenders in the under-$1000 personal computer market". It described SID as "a true music synthesizer...the quality of the sound has to be heard to be believed", while criticizing the use of Commodore BASIC 2.0, the floppy disk performance which is "even slower than the Atari 810 drive", and Commodore's quality control.
Commodore 64 emulators include the open source VICE, Hoxs64 and CCS64.