Note: Computers were harmed in the making of this teardown.
A Brief History of the Commodore 64
The Commodore 64 was an 8-bit 6510-based computer manufactured by Commodore Computers for personal use. Production of the Commodore 64 began in 1982 to compete with the ever growing personal computer market. Production was stopped in 1994 with over 17 million units sold.
The Commodore 64 is considered to be one of the most (if not THE most) iconic computers ever produced due to its price, availability, and computing power. Unlike many computers on the market at the time, the Commodore 64 was geared for gaming as it not only contained a real video graphics system with sprite capabilities but also a dedicated sound chip that could produce music and sound effects simultaneously.
The CPU that powers the Commodore ran at either 0.985MHz (PAL) or 1.023 (NTSC) whereas other computers of the same era used processors such as the Z80 at 4Mhz and above. However, the 6510 (which is a modified 6502) typically uses fewer clock cycles per instruction so that a 1MHz 6502 was comparable to a 2Mhz Z80.
Thanks to the Commodore's low price, many home users were introduced into the world of computing for the first time. With the simplistic assembly language and built-in BASIC, it was not long before home users began writing their own programs and games. This sparked a massive inrush of home-brew games and lead to many Commodore games including Zak McKracken and the Alien Mindbenders, Maniac Mansion, and IK+.
For more history and interesting links check out these places:
Commodore 64 Overview
The Commodore 64 in this teardown is the first version, also known as the “Bread Bin”. The plastic casing is strong with a stylish colour of 80s grey.
The system has a state-of-the-art (at the time) red LED for power indication and a flashy Commodore 64 logo on the top right to let us know that this is definitely a commodore and nothing else!
Overview of the Commodore 64
With the cover taken off (via screws in the back), we can see the Commodore 64 motherboard. There are four major areas to note here:
- Bottom left: Many individual DRAM chips (each holding 1 bit)
- Middle: A large single chip, the VIC
- Upper left: The CPU and supporting chip
- Upper right: IO, including the PAL converter
Insides of the Commodore 64
RAM, PLA, & VIC
Here we can see the DRAM chips, PLA (upper right large 28 DIP), and the odd glue logic 7400 series IC.
Note that each IC has an associated ceramic decoupling capacitor to ensure high-frequency signals are removed from the power lines. You also may notice that someone has taken an IC out of this computer (this is a second-hand computer after all)!
RAM chips (left), support logic (all over the place), & PLA (28 DIP chip right)
The PLA (Programmable Logic Array) is a custom IC that controls internal timings in the Commodore 64. It's also often the device's Achilles Heel: these typically run rather hot and thus are the first to break.
I suspect the system did not work in this Commodore so the old owner attempted to fix the computer (hence the missing RAM chip) with little success.
The large 28 DIP chip is the PLA - MOS 906114-01
The RAM chips are 64K X 1 bit (TMS4164) which only have 8 address bits. Therefore, to access the whole range of addresses, there are two strobe signals: CAS and RAS. CAS selects the column and RAS selects the row. This way, you give the chip the entire 16-bit address in two 8-bit data transfers.
The commodore uses 8 of these ICs to give the entire 64KB of data. The use of 8 RAM chips can be found in multiple computer designs in the early 80s including the ZX Spectrum.
8 RAM chips (TMS4164) provide 64KB RAM
The Commodore 64 VIC (6569 VIC-II) is the video processing unit for the computer and was surprisingly powerful with 16KB of address space, 320 x 200 video resolution (160 x 200 for multi-colour), 16 colours, 8 sprites per scan line, smooth scrolling, and bus mastering for 6502 based machines.
The small chip next to the VIC is the MOS 8701 clock generator which generates the needed clock signal for the VIC.
The Commodore 64 VIC - MOS 6569R3
CPU, IO Control, ROM, and SID
Here we can see the supporting chips for the system including two MOS 6526 chips (IO Support) and three ROM chips (901225, 901226, and 901227). The 901225 holds character information whereas the other two chips are responsible for the commodore kernel.
Plenty of large chips shoved next to each other! This is because of all the ICs sharing the common bus!
The CPU in all its glory is the 6510 40 DIP processor! On the right of the processor is the MOS 6581 SID which stands for Sound Interface Device. The MOS 6581 is a rather powerful sound chip with three independent programmable oscillators which can all have four different waveforms (saw tooth, triangle, pulse, and noise).
Each oscillator also has ADSR (Attack, Decay, Sustain, and Release) and ring modulators. The SID chip also has two A/D converts for use with game pedals.
The CPU (6510 - 40DIP) in the middle and the SID (6581 - 28DIP) on the right
Commodore PAL Conversion and Power
The Commodore natively produces near composite video signals (it only needs a few components) which are then converted to a TV PAL (or NTSC in America) so that it can use a household TV display. The conversion is done inside a metal container that essentially acts as a TV transmitter.
The reason for the metal enclosure is so that other signals cannot interfere with the Commodore's video transmission and so your next door neighbour does not view your computer output on channel 36!
The PAL circuitry inside the metal Faraday cage
Time to remove the lid!
Discrete components make electronics look so cool!
Interestingly, the Commodore (despite its size) uses an external power brick to take the main's voltage and step it down to a suitable voltage (5V DC & 9V AC). The AC voltage may be needed for the PAL video generation, but the 5V will be the power source for the ICs.
Considering its age, the electrolytic capacitors look great! Also, that is a chunky heatsink for the 7805 regulator
The branding! Just...love It!
Due to the constantly changing technological scene, computer designers of the past always attempted to make their machines as “undefined” as possible. In other words, they tried to make their designs account for future tech and devices.
For example, the memory expansion gives the commodore the ability to increase its memory size even though when the commodore first came out there were no such expansion cards available.
Memory expansion was found on most computers (even in the form of a generic IO port)
The Commodore also has multiple output formats for video. The first, RF, was designed for home users who would use a TV as a monitor. The second was a video port that would connect to computer monitors.
The serial port is for IO devices such as disk drives and tape readers, which allows users to save files and programs to external media such as 5 ¼ floppies and tape cassettes. The H-L port is not a port but a control for the RF port (adjusts the frequency of the RF carrier wave).
Video and serial output ports
The last IO ports on the back (there are more on the side) are a cassette port specifically for the Commodore cassette unit and a user port for generic IO.
The cassette port provided tape-drive interface while the user port could be used for custom hardware
On the side of the Commodore are two controller ports (primarily for gaming), an on/off switch, and a power inlet. The power needs to be from a Commodore 64 PSU as it provides 5V and 9VAC. Of course, there is no reason why you can’t design your own PSU.
It is unusual to find a computer that requires an AC input voltage because most computers will use a 9V DC PSU which is then fed into a 7805 5V TO-220 regulator (5V was the standard back then for basic home computers). Interestingly, some Intel processors also needed -5V and 12V!
The side ports. Useful for gaming
Ah, the Commodore keyboard. It definitely has to be one of the best out there (the BBC micro and Acorn Electron also have great keyboards). They are “half” mechanical keyboards that use a spring to push the key back up with contacts under the key. The reason I say half mechanical is because these keys are not connected to mechanical switches (such as tactile switches). When the key is pressed it does not make a click sound.
Underneath the keyboard - Appears to be an FR2 based PCB
The keyboard. It's a little dusty
Note the use of a spring to ensure the key is up. This implies that the rubber membrane underneath is not very strong
Wrapping It Up!
So that's the iconic Commodore 64 torn down! Now it's time to rebuild this and get it working. This hand-me-down didn't power up when I got it, so I'll puzzle out what the issue is. I will start by sorting out the memory bank then proceeding to see if the PLA is at fault.
Thanks for checking out this retro teardown! Share your fond memories of the Commodore 64 in the comments below.
Next Retro Teardown: Sinclair 300 Calculator