Jump to content

Commodore 64: Difference between revisions

From RetroTechCollection
Name the two Commodore books whose content is nearest to hardware, with what each actually documents and, for Machine Language for Beginners, the extent of the missing pages in the scan
Rewrite: cite 1992 service manual page by page; add history (Ars, BCS), I/O map and port tables; SID VDD is 9 V on 8580 boards; drop uncited dimensions, weight, VIC-40 codename, sales range; remove bold and self-reference
Line 1: Line 1:
{{Infobox computer
{{Infobox computer
| name        = Commodore 64
| name        = Commodore 64
| image        = [[File:Commodore64.jpg|250px]]
| logo        = [[File:Commodore 64 logo-00.svg|200px]]
| caption      = Commodore 64 – the best-selling home computer
| image        = [[File:Commodore64.jpg|260px|frameless]]
| caption      = Commodore 64 in the original case
| manufacturer = Commodore Business Machines
| manufacturer = Commodore Business Machines
| type        = Home computer
| type        = Home computer
| release date = August 1982
| release date = 1982<ref name="ars">Jeremy Reimer, [https://arstechnica.com/features/2005/12/total-share/ "Total share: 30 years of personal computer market share figures"], ''Ars Technica'', December 2005. Debut in late 1982 at US$595; 2 million sold in 1983; sales of 1.25 million in 1989 and 175,000 in 1993.</ref>
| discontinued = April 1994
| discontinued = 1994<ref name="bcs">Martin Cooper, [https://www.bcs.org/articles-opinion-and-research/the-rise-and-fall-of-commodore/ "The rise and fall of Commodore"], BCS, The Chartered Institute for IT, 2 July 2019. Interview with David Pleasance, former managing director of Commodore UK.</ref>
| price        = US$595 (1982)
| price        = US$595 (1982)<ref name="ars" />
| cpu          = MOS Technology 6510 @ 1.023 MHz (NTSC) / 0.985 MHz (PAL)
| cpu          = MOS 6510 at 1.02 MHz (NTSC), 0.985 MHz (PAL)
| memory      = 64 KB RAM, 20 KB ROM (BASIC 2.0, KERNAL, character generator)
| memory      = 64 KB RAM; 20 KB ROM
| storage      = Datasette cassette recorder; 1540/1541 5.25-inch floppy drive
| storage      = 1530 Datasette; 1541 floppy disk drive
| display      = 320×200 pixels, 40×25 text characters, 16 colours
| display      = 320 × 200 pixels; 40 × 25 text; 16 colours
| graphics    = MOS 6567 (NTSC) / 6569 (PAL) VIC-II, 8 hardware sprites
| graphics    = VIC-II: 6567 (NTSC), 6569 (PAL)
| sound        = MOS 6581 / 8580 SID: 3 voices, 4 waveforms, filter, ADSR
| sound        = 6581 SID (8580 on late boards)
| dimensions  = 40.6 cm × 21.6 cm × 7.6 cm
| power        = External supply: +5 V DC and 9 V AC on a 7-pin DIN
| weight      = 1.8 kg
| os          = Commodore BASIC 2.0 and KERNAL in ROM
| power        = External brick: regulated +5 V DC and 9 V AC, 7-pin DIN
| os          = Commodore BASIC 2.0 in ROM
| predecessor  = [[Commodore VIC-20]]
| predecessor  = [[Commodore VIC-20]]
| successor    = [[Commodore 64C]]
| successor    = [[Commodore 128]]
| codename    = VIC-40
| model        = C64; later [[Commodore 64C]]
| model        = C64, C64C, SX-64
| logo        = [[File:Commodore 64 logo-00.svg|250px]]
}}
}}
<templatestyles src="Template:StyledTable/styles.css" />
<templatestyles src="Template:StyledTable/styles.css" />
The '''Commodore 64''' (C64) is an 8-bit home computer made by Commodore Business Machines. It went on sale in 1982 at US$595 and has 64 KB of RAM, the VIC-II video chip and the SID sound chip.<ref name="ars" /><ref name="smspec">Commodore Business Machines, ''Service Manual C64/C64C'', March 1992, PN-314001-03, hosted at [[Commodore 64 / 64C Service Manual]]. Specifications, p. 1.</ref> It was built on six main board designs over its life, the last of them in the slimmer [[Commodore 64C]] case.


The '''Commodore 64''' (C64) is an 8-bit home computer introduced by Commodore Business Machines in August 1982 and sold until Commodore's collapse in April 1994. It is generally regarded as the best-selling single computer model ever made; the commonly quoted range is '''12.5 to 17 million units''', the upper figure being Commodore's own claim and the lower an estimate derived from Commodore's published financial data. No audited production total was ever released, so any single number given as fact is a choice between those two.<ref name="reimer">Jeremy Reimer, "Total share: 30 years of personal computer market share figures", Ars Technica, 14 December 2005, and the author's subsequent sales-data spreadsheet. The source of the ~12.5 million estimate, derived from Commodore's quarterly reports, against Commodore's own marketing claim of 17 million.</ref>
== History ==
Commodore sold 2 million C64s in 1983. Annual sales were still 1.25 million in 1989 and fell to 175,000 in 1993.<ref name="ars" /> Commodore never published a production total. The C64-Wiki gives 17 million as the most likely figure;<ref name="c64w">C64-Wiki, [https://www.c64-wiki.com/wiki/C64 "C64"]. Retrieved 2026-10-01.</ref> David Pleasance, Commodore UK's former managing director, said in 2019 that the figures he saw during a management buyout attempt put it "just a tad under 27 million".<ref name="bcs" /> Commodore International went into liquidation in April 1994.<ref name="bcs" />


'''The hardware figures on this page are taken from Commodore's own service literature''' — the ''C64 / C64C Service Manual'' and the ''Commodore 64 Technical Manual and Parts List'', both hosted here.<ref name="sm">Commodore Business Machines, ''C64 / C64C Service Manual'', March 1992, PN-314001-03, hosted at [[Commodore 64 / 64C Service Manual]]. Contains the board-identification tables, the circuit-theory sections describing the power supply, reset and clock circuits, component-level parts lists for every mainboard assembly, Commodore's symptom-to-component troubleshooting table, and schematics 252278 (B-3) and 252312 (E).</ref><ref name="tmpl">Commodore Business Machines, ''Commodore 64 Technical Manual and Parts List'', hosted at [[Commodore 64 Technical Manual and Parts List]]. Assembly-level parts lists and board drawings.</ref>
Variants listed by the C64-Wiki include the SX-64 portable (1983), the C64C in a flatter case (1986), the low-cost C64G (1988) and the keyboardless C64 Games System (1990).<ref name="c64w" />


== Architecture and processor ==
== Processor and memory ==
The CPU is the 6510 (U7), a 6502-compatible processor with a six-bit I/O port, P0-P5, controlled through locations $0000 and $0001. The port switches the ROMs in and out of the address map and drives the cassette interface: P3 is the write line, P4 senses the play key and P5 switches the motor.<ref name="smpin">''Service Manual C64/C64C'' (1992), pin assignments for U7 6510 and U17 PLA, p. 27.</ref><ref name="smcas">''Service Manual C64/C64C'' (1992), Circuit Theory, "The Cassette Interface Circuits", p. 11.</ref> Commodore lists a 1.02 MHz clock.<ref name="smspec" /> The VIC-II divides the dot clock (8.18 MHz NTSC, 7.88 MHz PAL) by eight to make the CPU's phase 0 clock.<ref name="smclk">''Service Manual C64/C64C'' (1992), Circuit Theory, "The C64 Clock Circuits", p. 6; dot clock frequencies from the notes to schematic 252312, p. 42.</ref>


The CPU is the '''MOS Technology 6510''', a 6502 core with an on-chip 6-bit I/O port at $0000/$0001 used to bank ROM, RAM and I/O in and out of the address space and to control the Datasette motor. It runs at '''1.023 MHz''' on NTSC machines and '''0.985 MHz''' on PAL machines, both derived from the video crystal rather than from a separate CPU oscillator.<ref name="sm" />
The 6510's +5 V supply is pin 6 and ground is pin 21; pin 40 is RESET.<ref name="smpin" />


'''The 6510's +5 V supply is pin 6, not pin 40.''' Pin 40 is RESET and pin 21 is ground. This matters because probing pin 40 for a supply rail is a documented way to misdiagnose a healthy CPU, and because the 6502 in other machines is pinned differently.<ref name="sm" />
The 64 KB of RAM is eight 4164 DRAMs on the long boards, with a 2114 static RAM (U6) holding the 1 K × 4-bit colour memory.<ref name="smram">''Service Manual C64/C64C'' (1992), Circuit Theory, "RAM Control Logic", p. 8.</ref> The B-3 and E boards use two 64K × 4 DRAMs.<ref name="smid">''Service Manual C64/C64C'' (1992), "C64 Board Identification" and "C64C Board Identification", p. 17; parts lists pp. 34 and 40.</ref> BASIC has 38,911 bytes free at power-up.<ref name="c64w" />


== Memory ==
The 20 KB of ROM holds BASIC at $A000-$BFFF, the KERNAL at $E000-$FFFF and the character generator, which the processor sees at $D000-$DFFF when I/O is switched out. The PLA (U17, an 82S100 on the long boards) decodes the ROMs, the I/O chips and the cartridge lines ROML ($8000-$9FFF) and ROMH.<ref name="smio">''Service Manual C64/C64C'' (1992), Circuit Theory, "I/O and ROM Address Decoding and Expansion Port", p. 7.</ref> The 6510 port lines and the cartridge's GAME and EXROM lines together select the memory map. The block at $C000-$CFFF is RAM in every configuration except the cartridge "Ultimax" mode, in which it is unmapped.<ref name="c64wbank">C64-Wiki, [https://www.c64-wiki.com/wiki/Bank_Switching "Bank Switching"]. Retrieved 2026-10-01.</ref>


* '''64 KB RAM''', of which 38,911 bytes are free to BASIC.
{| class="wikitable styled-table" style="width:70%; text-align:center;"
* '''20 KB ROM''': 8 KB BASIC 2.0, 8 KB KERNAL, 4 KB character generator holding two 2 KB sets.
|+'''I/O addresses decoded by the PLA'''<ref name="smio" />
! Device !! Address range
|-
| VIC-II || $D000-$D02E
|-
| SID || $D400-$D7FF
|-
| Colour RAM || $D800-$DBFF
|-
| CIA 1 (U1) || $DC00-$DC0F
|-
| CIA 2 (U2) || $DD00-$DD0F
|-
| I/O 1 (expansion port) || $DE00-$DEFF
|-
| I/O 2 (expansion port) || $DF00-$DFFF
|}


Banking is done by the 6510's port lines together with the /GAME and /EXROM lines from the cartridge port, so a cartridge can replace BASIC, the KERNAL or both.
== Video and sound ==
The VIC-II is a 6567 on NTSC boards and a 6569 on PAL boards.<ref name="tm">Commodore, ''Commodore 64 Computer Technical Manual'', P/N 990439, drawing 250407 rev. B, sheet 2 of 7 (PDF p. 5), hosted at [[Commodore 64 Technical Manual and Parts List]].</ref> Commodore's specification gives 40 columns × 25 lines of text, 16 colours, 320 × 200 pixel bitmap graphics and eight sprites of 24 × 21 pixels, each with up to four colours, independently expandable, with sprite-to-sprite and sprite-to-data collision detection.<ref name="smspec" />


'''$C000–$CFFF is plain RAM.''' It is a 4 KB block that no ROM or I/O device overlays, which is why so much machine code lives there. It is not an I/O window, and pages that describe it as one are wrong.
The 6581 SID has three tone generators covering nine octaves, each with an ADSR envelope and sawtooth, triangle, variable pulse and noise waveforms, plus low-, high- and band-pass filtering and an external audio input.<ref name="smspec" /> Its audio output is pin 27 and its audio input pin 26; the SID also reads the paddles on pins 23 and 24.<ref name="smav">''Service Manual C64/C64C'' (1992), Circuit Theory, "8 Pin Video and Audio Output Circuits", p. 10.</ref> Pin 28 (VDD) takes the +12 V rail from VR1 on the long boards. On the E board it comes from a transistor regulator set by zener CR7: 12.6 V for a 6581, 9.6 V for the 8580.<ref name="smps">''Service Manual C64/C64C'' (1992), Circuit Theory, "The Power Supply", p. 4; notes 6 and 8 to E schematic 252312, p. 42.</ref>
 
== Display and graphics ==
 
Graphics come from the '''VIC-II''' — 6567 on NTSC machines, 6569 on PAL:
 
* 320×200 pixels, or 40 columns × 25 rows of text
* 16 colours
* 8 hardware sprites of 24×21 pixels with collision detection
* Smooth scrolling and raster interrupts
 
== Sound ==
 
The '''SID''' (Sound Interface Device), 6581 on earlier machines and 8580 on later ones, provides three independent voices with ADSR envelopes, four waveforms (triangle, sawtooth, pulse, noise), ring modulation, oscillator sync and a multi-mode filter.
 
'''SID audio output is pin 27.''' Pin 28 is Vdd — the 12 V supply — and pin 26 is the external audio input. Taking audio from pin 28 puts 12 V into whatever you connect, and is a mistake that appears on a number of modding guides.<ref name="sm" />


== Power ==
== Power ==
The external supply (Commodore part 251053-02 in the US parts list) provides regulated +5 V DC and 9 V AC.<ref name="smparts">''Service Manual C64/C64C'' (1992), Parts List, p. 2.</ref><ref name="smps" /> The +5 V passes through the power switch and supplies the logic directly; only the video and clock circuits take their +5 V from an on-board regulator.<ref name="smps" /> A supply that fails with a high output therefore puts that voltage on the processor logic. The C64-Wiki records that the original supplies tend to rise in voltage as they age and that most C64s killed by their supply had seen more than 6 V, the RAM usually failing first.<ref name="c64wps">C64-Wiki, [https://www.c64-wiki.com/wiki/Power_Supply "Power Supply"], section "Failure". Retrieved 2026-10-01.</ref>


The C64's power comes from an external brick that supplies '''a regulated +5 V DC rail and a 9 V AC winding''' on a 7-pin DIN. Commodore's circuit theory is explicit that the 5 V from the brick feeds the logic directly — there is no second regulator on the board standing between the brick and the chips, which is why a brick that fails high takes the custom chips with it.<ref name="sm" />
{| class="wikitable styled-table" style="width:70%; text-align:center;"
 
|+'''Power connector CN7 (7-pin DIN)'''<ref name="smps" />
{| class="wikitable styled-table" style="width:80%; text-align:left;"
! Pin !! Long boards !! E board
|+'''Power connector CN7, 7-pin DIN'''
! Pin !! Function
|-
|-
| 1, 2, 3 || Ground
| 1, 2, 3 || Ground || Ground
|-
|-
| 4 || Not connected on long boards; +5 V on the E board
| 4 || Not connected || +5 V
|-
|-
| 5 || +5 V DC, regulated, from the brick
| 5 || +5 V DC || +5 V DC
|-
|-
| 6, 7 || 9 V AC
| 6, 7 || 9 V AC || 9 V AC
|}
|}


'''Pins 1 to 3 are all ground''', so measuring between pin 1 and pin 2 measures nothing. The 9 V AC also appears across '''user-port pins 10 and 11''', which is where it is normally taken from for expansions.<ref name="sm" />
The 9 V AC also appears on user port pins 10 and 11.<ref name="smps" /> On the long boards it is used three ways: rectified by CR4 and regulated by VR2 (MC7805CT) to "+5 V CAN" for the video and clock circuits; combined with the rectified DC through CR5 and CR6 and regulated by VR1 (MC7812CT) to +12 V for the VIC-II, SID and audio stages; and left unregulated at about 9 V DC for the cassette motor.<ref name="smps" /> The E board has neither regulator. The [[Commodore 64 Capacitor Replacement Guide]] and [[Commodore 64C Capacitor Replacement Guide]] describe each board's supply in detail. For an over-voltage cut-out see [[Commodore 64 Power-Supply Protector (C64 Saver)]].


On the board, 9 V AC is rectified and regulated to produce '''+12 V''' (VR1, an MC7812CT, feeding the VIC-II, the SID and the audio stages) and a second '''+5 V''' for the video and clock circuits (VR2, an MC7805CT), plus a '''+9 V unregulated''' rail for the cassette motor.<ref name="sm" />
== Ports ==
 
{| class="wikitable styled-table" style="width:100%; text-align:left;"
For over-voltage protection see [[Commodore 64 Power-Supply Protector (C64 Saver)]]; for a modern replacement mainboard see [[C64 Reloaded MK2]].
|+'''External connectors'''
 
! Port !! Connector !! Notes
== Input, output and expansion ==
|-
 
| Cartridge / expansion (CN6) || 44-pin card edge || Processor address, data and control bus; ROML, ROMH, I/O 1, I/O 2, GAME and EXROM<ref name="smio" />
* '''Cartridge expansion port''' — full address and data bus, plus /GAME and /EXROM
|-
* '''User port''' — 6526 CIA#2 port B, plus the 9 V AC on pins 10 and 11
| User port (CN2) || 24-pin card edge || CIA 2 port B (PB0-PB7), the two CIA serial ports and their clocks, and 9 V AC on pins 10 and 11<ref name="smser">''Service Manual C64/C64C'' (1992), Circuit Theory, "The Serial Interface and User Port Circuits", p. 13.</ref><ref name="smps" />
* '''Serial port''' — Commodore's own bus, for 1541 drives and printers
|-
* '''Cassette port''' — Datasette
| Serial bus (CN4) || 6-pin DIN || Commodore serial bus for the 1541 and printers, driven by CIA 2 PA3-PA7 through the 7406 (U8)<ref name="smser" />
* '''Two control ports''' — Atari-style 9-pin, also used by paddles, mice and light pens
|-
* '''RF and composite video''' — the video connector is 5-pin DIN on the original board and 8-pin on all later ones, which is the easiest way to tell an original board from a revision<ref name="sm" />
| Cassette (CN3) || Card edge || 1530 Datasette; write from 6510 P3, motor from P5, read to CIA 1 FLAG<ref name="smcas" />
|-
| Control ports (CN8, CN9) || 9-pin D || Joysticks and paddles; paddles are read by the SID<ref name="smav" />
|-
| Audio/video (CN5) || 5-pin DIN on the 326298 board; 8-pin DIN on later boards || The 8-pin version adds separate luminance and colour outputs<ref name="smvid">''Service Manual C64/C64C'' (1992), Circuit Theory, "5 Pin Video and Audio Output Circuits", p. 9, and "8 Pin Video and Audio Output Circuits", p. 10.</ref>
|-
| RF output || RF modulator (M1) || Composite video and audio modulated for a television<ref name="smav" />
|}


== Board revisions ==
== Board revisions ==
 
The assembly number is printed on the board. Commodore's identification table:<ref name="smid" />
Commodore's own identification table. The assembly number is silkscreened on the board; the case badge tells you nothing useful.<ref name="sm" />


{| class="wikitable styled-table" style="width:100%; text-align:left;"
{| class="wikitable styled-table" style="width:100%; text-align:left;"
|+'''C64 and C64C mainboard assemblies'''
|+'''C64 and C64C board assemblies'''
! Version !! Commodore's identifying factor !! PCB assembly !! Schematic
! Version !! Assembly !! Schematic !! Identifying factor (Commodore)
|-
|-
| Original || 5-pin video connector (CN5) || 326298-01 || 326106
| Original || 326298-01 || 326106 || 5-pin video connector
|-
|-
| A (CR) || 8-pin video connector || 250407-01 || 251138
| A (CR) || 250407 || 251138 || 8-pin video connector
|-
|-
| B || 8-pin connector, reduced oscillator circuit || 250425 || 251469
| B || 250425 || 251469 || 8-pin; reduced oscillator circuit
|-
|-
| B-2 || Reduced oscillator with component changes || 250441-01 || 251469
| B-2 || 250441-01 || 251469 || As B, with component location changes
|-
|-
| B-3 || Only two RAM chips, U9 and U10 || 250466-01 || 252278
| B-3 || 250466-01 || 252278 || Two RAM chips, U9 and U10
|-
|-
| E || BASIC and KERNAL combined into U4, new memory controller at U8 || 250469-01 || 252312
| E || 250469 || 252312 || BASIC and KERNAL combined in U4; new memory controller at U8
|}
|}


'''250425 is a long board, not a C64C board.''' The two assemblies Commodore lists under C64C identification are the '''B-3 (250466-01)''' and the '''E (250469-01)''' — see [[Commodore 64C]].<ref name="sm" />
The first four are full-length "long boards". Commodore lists the B-3 and E under C64C identification.<ref name="smid" /> On the B-2, resistors R28, R29, R30, R36 and R48 became resistor pack RP5, and diodes CR100-CR105 moved from piggyback positions to CR9 and CR12-CR16.<ref name="smid" />


On the B-2, Commodore records that resistors R28, R29, R30, R36 and R48 were replaced by resistor pack RP5, and that diodes CR100–CR105 are no longer piggybacked but fitted at CR9 and CR12–CR16.<ref name="sm" />
=== Board and schematic ===
 
=== Motherboard and schematic ===
{| class="wikitable styled-table" style="width:75%; text-align:center;"
{| class="wikitable styled-table" style="width:75%; text-align:center;"
|-
|-
! Logic board !! Schematic diagrams
! Logic board !! Schematic
|-
|-
| [[File:C64 Logic Board.jpg|thumb|center|350px|Commodore 64 logic board]]
| [[File:C64 Logic Board.jpg|thumb|center|350px|250407 board, artwork 251137 rev. C]]
| [[File:C64 Schematic Page 1.png|center|thumb|350x350px|C64 logic board schematic, page 1]][[File:C64 Schematic Page 2.png|center|thumb|352x352px|C64 logic board schematic, page 2]]
| [[File:C64 Schematic Page 1.png|center|thumb|350x350px|C64 schematic, sheet 1]][[File:C64 Schematic Page 2.png|center|thumb|352x352px|C64 schematic, sheet 2]]
|}
|}


== Maintenance ==
== Maintenance and repair ==
Commodore's troubleshooting table starts with the external power supply for a blank screen at power-up and for bands that scroll through the picture as the machine warms up, before naming any chip.<ref name="smts">''Service Manual C64/C64C'' (1992), "64 Troubleshooting Guide", pp. 14-16.</ref> Measure the supply's +5 V output before opening the case.


Failure modes worth knowing before opening one:
* [[Commodore 64 General Maintenance]]
 
* [[Commodore 64 Troubleshooting Guide]]
* '''The power supply.''' Potted in epoxy, not serviceable, and it gives no warning before it fails high. This is the single most destructive fault on the machine.
* [[Commodore 64 Capacitor Replacement Guide]]
* '''Keyboard contacts.''' Carbon pads and a Mylar membrane, both of which wear.
* [[Commodore 64 Power-Supply Protector (C64 Saver)]] and [[C64 Reloaded MK2]] (a replacement main board)
* '''The regulators and the bridge rectifier.''' VR1, VR2 and CR4 are heavy-current, thermally cycled joints; a cracked one produces an intermittent that mimics a failing chip.
* '''The RF modulator.''' Degrades and is often bypassed rather than repaired.
 
For procedures see [[Commodore 64 General Maintenance]], [[Commodore 64 Troubleshooting Guide]] and [[Commodore 64 Capacitor Replacement Guide]].
 
== Documentation hosted here ==
 
=== Commodore's own ===


== Documentation ==
=== Commodore ===
{| class="wikitable styled-table" style="width:100%; text-align:left;"
{| class="wikitable styled-table" style="width:100%; text-align:left;"
! Document !! What it is good for
! Document !! Contents
|-
|-
| '''[[Commodore 64 / 64C Service Manual]]''' || March 1992, PN-314001-03, 57 pp. The primary reference. Board identification, circuit theory, Commodore's own troubleshooting table, and component-level parts lists for '''all five''' mainboard assemblies. The only document here with the B-3 (250466) and E (250469) boards and schematics 252278 and 252312
| [[Commodore 64 / 64C Service Manual]] || March 1992, PN-314001-03. Specifications, circuit theory, troubleshooting table, board identification, and parts lists, layouts and schematics for 326298, 250407, 250425, 250466 (B-3) and 250469 (E). The only hosted Commodore source for the B-3 and E boards.
|-
|-
| '''[[Commodore 64 Technical Manual and Parts List]]''' || P/N 990439, 22 pp. The drawing package: drawing tree 326101, the seven-sheet parts list for assembly '''250407 rev B''', and schematic '''251138 rev A'''. An independent Commodore source for the 250407 values
| [[Commodore 64 Service Manual (1985 Mar)]] and [[Commodore 64 Service Manual (1985 Sep)]] || Earlier scans of the same manual, PN-314001-02, covering 326298, 250407 and 250425. [[Commodore 64 Service Manual (1985 Feb)]] holds the March file.
|-
|-
| '''[[Commodore 64 Service Manual (1985 Mar)]]''' and '''[[Commodore 64 Service Manual (1985 Sep)]]''' || Both PN-314001-02. The three early assemblies 326298-01, 250407-04 and 250425-01, with schematics 326106, 251138 and 251469. [[Commodore 64 Service Manual (1985 Feb)]] holds the same file as the March page &mdash; there is no February document here
| [[Commodore 64 Technical Manual and Parts List]] || P/N 990439. Commodore's drawing packages for assemblies 250407 (rev. B) and 326298, with parts lists, layouts and schematics.
|-
|-
| '''[[Commodore 64 Diagnostic Instruction and Troubleshooting Manual (326070-01)]]''' || Commodore's dealer diagnostic kit. Seventeen named tests, and an explicit warning that the control port test can report a false failure
| [[Commodore 64 Diagnostic Instruction and Troubleshooting Manual (326070-01)]] || Commodore's dealer diagnostic cartridge and harness.
|-
|-
| '''[[Commodore 64GS Technical Data (400401-01, 1990 May)]]''' || The Commodore 64 Games System. Assembly level only &mdash; no schematic and no component parts list. Its own cover is dated '''November 1990''', not May
| [[Commodore 64GS Technical Data (400401-01, 1990 May)]] || The C64 Games System, assembly level only.
|-
|-
| '''[[Commodore Test Cartridge Index]]''' || The diagnostic cartridges themselves
| [[Commodore Test Cartridge Index]] || Diagnostic cartridges.
|}
|}


=== Third-party books ===
=== Books ===
 
The wiki hosts many third-party C64 books; [[:Category:Commodore Books]] is the annotated index. Most are programming books. Those that cover the hardware include [[Troubleshooting and Repairing your Commodore 64]] (Art Margolis, TAB Books), [[Commodore 64 Troubleshooting and Repair Guide]] (Robert C. Brenner, Howard W. Sams), [[The Commodore 64 Kernal and Hardware Revealed]] (Nick Hampshire, Collins) and [[The Anatomy of a Commodore 64]] (Data Becker). They are secondary to Commodore's manuals.
Sixty-nine third-party Commodore books are hosted on this wiki; [[:Category:Commodore Books]] is the annotated index. Almost all are programming or games books with no hardware content at all, and none should be cited for a component value. '''Four of them do reach the hardware''':
 
* '''[[Troubleshooting and Repairing your Commodore 64]]''' &mdash; Art Margolis, TAB Books, 1985, 377 pp. Twenty-one test point charts and a master schematic in the appendix.
* '''[[Commodore 64 Troubleshooting and Repair Guide]]''' &mdash; Robert C. Brenner, Sams, 1985, 183 pp. Symptom-first diagnosis, a power supply chapter and a chapter on testing capacitors.
* '''[[The Commodore 64 Kernal and Hardware Revealed]]''' &mdash; Nick Hampshire, Collins, 1985, 213 pp. Reproduces Commodore's own schematic by permission, and traces the cassette motor supply and its output waveforms.
* '''[[The Anatomy of a Commodore 64]]''' &mdash; Data Becker / First Publishing, 309 pp. Chip level rather than board level: the 6510 and the 6526 in detail and a full ROM listing, but no schematic and no parts list in this edition.
 
All four are secondary sources. Where any of them disagrees with Commodore's service manual or technical manual, those are primary. '''No figure on this page has been taken from any of them.'''
 
Two more are worth naming for what they are:
 
* '''[[DIY Robotics and Sensors]]''' &mdash; John Billingsley, Sunshine Books, 1984, 141 pp. The only book in the collection that is about '''electronics''' rather than software, and it documents the '''user port and the analogue port from the outside''' &mdash; signal levels, data direction registers, address decoding, and analogue output from CB2 on the PET. It contains no Commodore schematic and no component value for any Commodore board; its circuits are the author's own designs for things to plug in.
* '''[[Machine Language for Beginners]]''' &mdash; Richard Mansfield, COMPUTE! Publications. Its Appendix B holds the '''Commodore 64 memory map''', but '''the scan hosted here is missing about 117 of its 350 printed pages''', including the PET/CBM and VIC maps and the PET 4.0 ROM routine list. The gaps are documented on that page.


== Gallery ==
== Gallery ==
<gallery mode="packed" heights="200">
<gallery mode="packed" heights="200">
File:Commodore-64-Computer-FL.jpg|Front view of the Commodore 64
File:Commodore-64-Computer-FL.jpg|Commodore 64, front
File:Commodore-64-Computer-BL.jpg|Rear panel showing the I/O ports
File:Commodore-64-Computer-BL.jpg|Rear panel
File:Commodore 1530 Datasette C64.jpg|Commodore 1530 Datasette
File:Commodore 1530 Datasette C64.jpg|1530 Datasette
File:C64 Logic Board.jpg|Internal motherboard layout
File:C64 Logic Board.jpg|250407 logic board
</gallery>
</gallery>


Line 184: Line 171:
* [[Commodore 64C]]
* [[Commodore 64C]]
* [[Commodore VIC-20]]
* [[Commodore VIC-20]]
* [[Commodore 128]]
* [[Commodore 64 General Maintenance]]
* [[Commodore 64 General Maintenance]]
* [[Commodore 64 Troubleshooting Guide]]
* [[Commodore 64 Troubleshooting Guide]]

Revision as of 09:40, 1 October 2026

Commodore 64
Commodore 64 in the original case
Specifications
ManufacturerCommodore Business Machines
TypeHome computer
Released1982[1]
Discontinued1994[2]
Intro priceUS$595 (1982)[1]
CPUMOS 6510 at 1.02 MHz (NTSC), 0.985 MHz (PAL)
Memory64 KB RAM; 20 KB ROM
Storage1530 Datasette; 1541 floppy disk drive
Display320 × 200 pixels; 40 × 25 text; 16 colours
Sound6581 SID (8580 on late boards)
GraphicsVIC-II: 6567 (NTSC), 6569 (PAL)
PowerExternal supply: +5 V DC and 9 V AC on a 7-pin DIN
OS / FirmwareCommodore BASIC 2.0 and KERNAL in ROM
PredecessorCommodore VIC-20
SuccessorCommodore 128
Model no.C64; later Commodore 64C

The Commodore 64 (C64) is an 8-bit home computer made by Commodore Business Machines. It went on sale in 1982 at US$595 and has 64 KB of RAM, the VIC-II video chip and the SID sound chip.[1][3] It was built on six main board designs over its life, the last of them in the slimmer Commodore 64C case.

History

Commodore sold 2 million C64s in 1983. Annual sales were still 1.25 million in 1989 and fell to 175,000 in 1993.[1] Commodore never published a production total. The C64-Wiki gives 17 million as the most likely figure;[4] David Pleasance, Commodore UK's former managing director, said in 2019 that the figures he saw during a management buyout attempt put it "just a tad under 27 million".[2] Commodore International went into liquidation in April 1994.[2]

Variants listed by the C64-Wiki include the SX-64 portable (1983), the C64C in a flatter case (1986), the low-cost C64G (1988) and the keyboardless C64 Games System (1990).[4]

Processor and memory

The CPU is the 6510 (U7), a 6502-compatible processor with a six-bit I/O port, P0-P5, controlled through locations $0000 and $0001. The port switches the ROMs in and out of the address map and drives the cassette interface: P3 is the write line, P4 senses the play key and P5 switches the motor.[5][6] Commodore lists a 1.02 MHz clock.[3] The VIC-II divides the dot clock (8.18 MHz NTSC, 7.88 MHz PAL) by eight to make the CPU's phase 0 clock.[7]

The 6510's +5 V supply is pin 6 and ground is pin 21; pin 40 is RESET.[5]

The 64 KB of RAM is eight 4164 DRAMs on the long boards, with a 2114 static RAM (U6) holding the 1 K × 4-bit colour memory.[8] The B-3 and E boards use two 64K × 4 DRAMs.[9] BASIC has 38,911 bytes free at power-up.[4]

The 20 KB of ROM holds BASIC at $A000-$BFFF, the KERNAL at $E000-$FFFF and the character generator, which the processor sees at $D000-$DFFF when I/O is switched out. The PLA (U17, an 82S100 on the long boards) decodes the ROMs, the I/O chips and the cartridge lines ROML ($8000-$9FFF) and ROMH.[10] The 6510 port lines and the cartridge's GAME and EXROM lines together select the memory map. The block at $C000-$CFFF is RAM in every configuration except the cartridge "Ultimax" mode, in which it is unmapped.[11]

I/O addresses decoded by the PLA[10]
Device Address range
VIC-II $D000-$D02E
SID $D400-$D7FF
Colour RAM $D800-$DBFF
CIA 1 (U1) $DC00-$DC0F
CIA 2 (U2) $DD00-$DD0F
I/O 1 (expansion port) $DE00-$DEFF
I/O 2 (expansion port) $DF00-$DFFF

Video and sound

The VIC-II is a 6567 on NTSC boards and a 6569 on PAL boards.[12] Commodore's specification gives 40 columns × 25 lines of text, 16 colours, 320 × 200 pixel bitmap graphics and eight sprites of 24 × 21 pixels, each with up to four colours, independently expandable, with sprite-to-sprite and sprite-to-data collision detection.[3]

The 6581 SID has three tone generators covering nine octaves, each with an ADSR envelope and sawtooth, triangle, variable pulse and noise waveforms, plus low-, high- and band-pass filtering and an external audio input.[3] Its audio output is pin 27 and its audio input pin 26; the SID also reads the paddles on pins 23 and 24.[13] Pin 28 (VDD) takes the +12 V rail from VR1 on the long boards. On the E board it comes from a transistor regulator set by zener CR7: 12.6 V for a 6581, 9.6 V for the 8580.[14]

Power

The external supply (Commodore part 251053-02 in the US parts list) provides regulated +5 V DC and 9 V AC.[15][14] The +5 V passes through the power switch and supplies the logic directly; only the video and clock circuits take their +5 V from an on-board regulator.[14] A supply that fails with a high output therefore puts that voltage on the processor logic. The C64-Wiki records that the original supplies tend to rise in voltage as they age and that most C64s killed by their supply had seen more than 6 V, the RAM usually failing first.[16]

Power connector CN7 (7-pin DIN)[14]
Pin Long boards E board
1, 2, 3 Ground Ground
4 Not connected +5 V
5 +5 V DC +5 V DC
6, 7 9 V AC 9 V AC

The 9 V AC also appears on user port pins 10 and 11.[14] On the long boards it is used three ways: rectified by CR4 and regulated by VR2 (MC7805CT) to "+5 V CAN" for the video and clock circuits; combined with the rectified DC through CR5 and CR6 and regulated by VR1 (MC7812CT) to +12 V for the VIC-II, SID and audio stages; and left unregulated at about 9 V DC for the cassette motor.[14] The E board has neither regulator. The Commodore 64 Capacitor Replacement Guide and Commodore 64C Capacitor Replacement Guide describe each board's supply in detail. For an over-voltage cut-out see Commodore 64 Power-Supply Protector (C64 Saver).

Ports

External connectors
Port Connector Notes
Cartridge / expansion (CN6) 44-pin card edge Processor address, data and control bus; ROML, ROMH, I/O 1, I/O 2, GAME and EXROM[10]
User port (CN2) 24-pin card edge CIA 2 port B (PB0-PB7), the two CIA serial ports and their clocks, and 9 V AC on pins 10 and 11[17][14]
Serial bus (CN4) 6-pin DIN Commodore serial bus for the 1541 and printers, driven by CIA 2 PA3-PA7 through the 7406 (U8)[17]
Cassette (CN3) Card edge 1530 Datasette; write from 6510 P3, motor from P5, read to CIA 1 FLAG[6]
Control ports (CN8, CN9) 9-pin D Joysticks and paddles; paddles are read by the SID[13]
Audio/video (CN5) 5-pin DIN on the 326298 board; 8-pin DIN on later boards The 8-pin version adds separate luminance and colour outputs[18]
RF output RF modulator (M1) Composite video and audio modulated for a television[13]

Board revisions

The assembly number is printed on the board. Commodore's identification table:[9]

C64 and C64C board assemblies
Version Assembly Schematic Identifying factor (Commodore)
Original 326298-01 326106 5-pin video connector
A (CR) 250407 251138 8-pin video connector
B 250425 251469 8-pin; reduced oscillator circuit
B-2 250441-01 251469 As B, with component location changes
B-3 250466-01 252278 Two RAM chips, U9 and U10
E 250469 252312 BASIC and KERNAL combined in U4; new memory controller at U8

The first four are full-length "long boards". Commodore lists the B-3 and E under C64C identification.[9] On the B-2, resistors R28, R29, R30, R36 and R48 became resistor pack RP5, and diodes CR100-CR105 moved from piggyback positions to CR9 and CR12-CR16.[9]

Board and schematic

Logic board Schematic
250407 board, artwork 251137 rev. C
C64 schematic, sheet 1
C64 schematic, sheet 2

Maintenance and repair

Commodore's troubleshooting table starts with the external power supply for a blank screen at power-up and for bands that scroll through the picture as the machine warms up, before naming any chip.[19] Measure the supply's +5 V output before opening the case.

Documentation

Commodore

Document Contents
Commodore 64 / 64C Service Manual March 1992, PN-314001-03. Specifications, circuit theory, troubleshooting table, board identification, and parts lists, layouts and schematics for 326298, 250407, 250425, 250466 (B-3) and 250469 (E). The only hosted Commodore source for the B-3 and E boards.
Commodore 64 Service Manual (1985 Mar) and Commodore 64 Service Manual (1985 Sep) Earlier scans of the same manual, PN-314001-02, covering 326298, 250407 and 250425. Commodore 64 Service Manual (1985 Feb) holds the March file.
Commodore 64 Technical Manual and Parts List P/N 990439. Commodore's drawing packages for assemblies 250407 (rev. B) and 326298, with parts lists, layouts and schematics.
Commodore 64 Diagnostic Instruction and Troubleshooting Manual (326070-01) Commodore's dealer diagnostic cartridge and harness.
Commodore 64GS Technical Data (400401-01, 1990 May) The C64 Games System, assembly level only.
Commodore Test Cartridge Index Diagnostic cartridges.

Books

The wiki hosts many third-party C64 books; Category:Commodore Books is the annotated index. Most are programming books. Those that cover the hardware include Troubleshooting and Repairing your Commodore 64 (Art Margolis, TAB Books), Commodore 64 Troubleshooting and Repair Guide (Robert C. Brenner, Howard W. Sams), The Commodore 64 Kernal and Hardware Revealed (Nick Hampshire, Collins) and The Anatomy of a Commodore 64 (Data Becker). They are secondary to Commodore's manuals.

References

  1. ↑ 1.0 1.1 1.2 1.3 Jeremy Reimer, "Total share: 30 years of personal computer market share figures", Ars Technica, December 2005. Debut in late 1982 at US$595; 2 million sold in 1983; sales of 1.25 million in 1989 and 175,000 in 1993.
  2. ↑ 2.0 2.1 2.2 Martin Cooper, "The rise and fall of Commodore", BCS, The Chartered Institute for IT, 2 July 2019. Interview with David Pleasance, former managing director of Commodore UK.
  3. ↑ 3.0 3.1 3.2 3.3 Commodore Business Machines, Service Manual C64/C64C, March 1992, PN-314001-03, hosted at Commodore 64 / 64C Service Manual. Specifications, p. 1.
  4. ↑ 4.0 4.1 4.2 C64-Wiki, "C64". Retrieved 2026-10-01.
  5. ↑ 5.0 5.1 Service Manual C64/C64C (1992), pin assignments for U7 6510 and U17 PLA, p. 27.
  6. ↑ 6.0 6.1 Service Manual C64/C64C (1992), Circuit Theory, "The Cassette Interface Circuits", p. 11.
  7. ↑ Service Manual C64/C64C (1992), Circuit Theory, "The C64 Clock Circuits", p. 6; dot clock frequencies from the notes to schematic 252312, p. 42.
  8. ↑ Service Manual C64/C64C (1992), Circuit Theory, "RAM Control Logic", p. 8.
  9. ↑ 9.0 9.1 9.2 9.3 Service Manual C64/C64C (1992), "C64 Board Identification" and "C64C Board Identification", p. 17; parts lists pp. 34 and 40.
  10. ↑ 10.0 10.1 10.2 Service Manual C64/C64C (1992), Circuit Theory, "I/O and ROM Address Decoding and Expansion Port", p. 7.
  11. ↑ C64-Wiki, "Bank Switching". Retrieved 2026-10-01.
  12. ↑ Commodore, Commodore 64 Computer Technical Manual, P/N 990439, drawing 250407 rev. B, sheet 2 of 7 (PDF p. 5), hosted at Commodore 64 Technical Manual and Parts List.
  13. ↑ 13.0 13.1 13.2 Service Manual C64/C64C (1992), Circuit Theory, "8 Pin Video and Audio Output Circuits", p. 10.
  14. ↑ 14.0 14.1 14.2 14.3 14.4 14.5 14.6 Service Manual C64/C64C (1992), Circuit Theory, "The Power Supply", p. 4; notes 6 and 8 to E schematic 252312, p. 42.
  15. ↑ Service Manual C64/C64C (1992), Parts List, p. 2.
  16. ↑ C64-Wiki, "Power Supply", section "Failure". Retrieved 2026-10-01.
  17. ↑ 17.0 17.1 Service Manual C64/C64C (1992), Circuit Theory, "The Serial Interface and User Port Circuits", p. 13.
  18. ↑ Service Manual C64/C64C (1992), Circuit Theory, "5 Pin Video and Audio Output Circuits", p. 9, and "8 Pin Video and Audio Output Circuits", p. 10.
  19. ↑ Service Manual C64/C64C (1992), "64 Troubleshooting Guide", pp. 14-16.