Commodore 128
| Commodore 128 | |
| Specifications | |
|---|---|
| Manufacturer | Commodore Business Machines |
| Type | Home computer |
| Released | January 1985 (shown at the Winter CES)[1] |
| Discontinued | 1989[2] |
| CPU | 8502 at 1 or 2 MHz (U6) and Z80B (U10)[3] |
| Memory | 128 KB (sixteen 4164 DRAMs, U38-U53); expandable to 512 KB with the RAM disk option[3] |
| Storage | — |
| Display | — |
| Sound | 6581 SID (U5)[3] |
| Graphics | 8564 VIC (U21), 40 × 25 text, 320 × 200; 8563 VDC (U22), 80 × 25 text, 640 × 200[3] |
| ROM | 48 KB + 16 KB for DOS support in 128 mode; 16 KB in 64 mode[3] |
| Input | 92-key keyboard with 14-key numeric keypad[3] |
| Ports / interface | User, cassette, serial, two game ports, cartridge, RF, composite video, RGBI video, audio in and out[3] |
| Power | External supply; 117 V AC, 60 Hz, 15 W (NTSC)[3] |
| OS / Firmware | BASIC 7.0 (128 mode); BASIC 2.0 (64 mode); CP/M Plus 3.0 (CP/M mode)[3] |
| Predecessor | Commodore 64 |
The Commodore 128 (C128) is an 8-bit home computer made by Commodore Business Machines and shown at the Winter Consumer Electronics Show in January 1985.[1] It has three modes: 128 mode with BASIC 7.0, a 64 mode that runs Commodore 64 software, and CP/M mode on a second processor, a Z80. Commodore's specification calls it "100% compatible with Commodore 64".[3]
Specification
[edit | edit source]| 64 mode | 128 mode | CP/M mode | |
|---|---|---|---|
| Processor | 8502 | 8502 | Z80 |
| Sound | 6581 | 6581 | |
| RAM | 64 KB | 128 KB, expandable to 512 KB with the RAM disk option | 128 KB, expandable to 512 KB |
| ROM | 16 KB | 48 KB + 16 KB for DOS support | |
| Software | BASIC 2.0 | BASIC 7.0 and machine language monitor | CP/M Plus 3.0 |
| 40-column display | 40 × 25, 320 × 200 | 40 × 25, 320 × 200 | 40 × 25, 320 × 200 |
| 80-column display | 80 × 25, 640 × 200 | 80 × 25, 640 × 200 | |
| Colours and sprites | 16 colours, 8 sprites | 16 colours, 8 sprites (40-column only) | 16 colours |
The keyboard is full size with 92 keys, a 14-key numeric keypad, 8 programmable function keys, 6 cursor keys and Help, 40/80 Column, No Scroll, Line Feed, Escape, Tab, Caps Lock and Alt keys, not all usable in 64 mode. The power requirement for the NTSC machine is 117 V AC, 60 Hz, 15 W.[3]
Architecture
[edit | edit source]The 8502 (U6) is an HMOS-II processor software-compatible with the 6510, with the same zero-page port for memory management and cassette control, and is specified for 2 MHz as well as 1 MHz. The Z80B (U10) shares the bus; logic adapts its read and write enables to the 8502 bus protocol.[3] The 8722 MMU (U7) handles processor selection and memory banking, and the 8721 PLA (U11) decodes addresses.[3]
Clocks and 2 MHz mode
[edit | edit source]The 8564 VIC generates the clocks: a 1 MHz clock to which all I/O timing refers, a 2 MHz clock for the processor in 2 MHz mode, and the Z80 clock, "a 4 MHz clock that only takes place during the low half of the 1 MHz clock".[3]
Setting bit 0 of VIC register 48 selects 2 MHz operation, and "during 2 MHz operation, the VIC is disabled as a video processor"; the 40-column display goes and the 80-column display remains. During refresh and I/O access the system clock is forced to 1 MHz regardless of that bit. Because the SID and CIAs are 1 MHz parts, the PLA's IOACC signal tells the VIC to stretch the 2 MHz clock for I/O accesses that fall in the wrong phase; Commodore notes that in 2 MHz mode half of the I/O accesses run at an effective 1 MHz.[3]
Memory
[edit | edit source]The 128 KB of main memory is sixteen 4164 DRAMs at U38-U53. The 8563 VDC has its own 16 KB of video memory in two 4416 DRAMs (U23, U25) on its own local bus, and a 2016 static RAM at U19 holds the VIC's colour data.[3]
| Position | Contents | Commodore part |
|---|---|---|
| U18 | Character ROM | 390059-01 |
| U32 | ROM 1: C64 KERNAL and BASIC | 251913-01 |
| U33 | ROM 2: BASIC, $4000 | 318018-02 |
| U34 | ROM 3: BASIC, $8000 | 318019-02 |
| U35 | ROM 4: KERNAL, $C000 | 318020-03 |
| U36 | Function ROM socket | Empty as supplied |
Video
[edit | edit source]The 8564 VIC (U21) gives the 40-column picture on the composite and RF outputs, with the C64's 320 × 200 graphics, 16 colours and eight sprites. The 8563 VDC (U22) drives the 9-pin digital RGBI output at 80 × 25 text, 640 × 200, from its own DRAM on a separate local display bus (DA0-DA7, DD0-DD7).[3] On the C128D board in the same manual (assembly 250477) the 80-column controller is an 8568 at U22 and its RAM is two 64K × 4 DRAMs at U23 and U25.[3]
Board designators
[edit | edit source]| Position | Device | Commodore part |
|---|---|---|
| U1, U4 | 6526 CIA | 906108-01 |
| U2, U20 | 4066 analogue switch | |
| U5 | 6581 SID | 906112-01 |
| U6 | 8502 processor | 315020-01 |
| U7 | 8722-R1 MMU | 310389-01 |
| U10 | Z80B, 6 MHz part | 906150-02 |
| U11 | 8721-R3 PLA | 315012-01 |
| U14, U15, U26 | 74LS257A multiplexers | |
| U18 | Character ROM | 390059-01 |
| U19 | 2016 2K × 8 static RAM, 200 ns | |
| U21 | 8564-R4 VIC | 315009-01 |
| U22 | 8563-R7 VDC | 315014-01 |
| U23, U25 | 4416 DRAM, 150 ns | |
| U27 | 556 timer | |
| U28 | 8701 clock generator | 251527-01 (rev. 6), 251527-03 (rev. 7) |
| U29, U30, U37 | 7406 | |
| U38-U53 | 4164 DRAM | |
| U59 | 7812 regulator, TO-220 | |
| CR13 | Bridge rectifier, 100 V 2 A | 251026-01 |
The +5 V logic supply comes from the external power supply; the only regulator on the 310379 board is U59, a 7812, fed from the AC input through CR13.[3] The 250477 (C128D) parts list gives an 8580 SID at U5.[3]
History
[edit | edit source]Commodore decided in the summer of 1984 to replace the C64, and Bil Herd was made lead designer in September 1984, with the machine due at the January 1985 CES.[1] Herd gives the team as himself (design and hardware lead), Dave Haynie (timing, PLA emulator and DRAM), Frank Palaia (Z80 integration and RAM expansion), Fred Bowen (software lead, KERNAL and monitor), Terry Ryan (BASIC 7.0) and Von Ertwine (CP/M), and writes that marketing announced 100 % C64 compatibility a few weeks into the project.[4] commodore.ca credits Dave DiOrio with the VIC chip changes and as IC team leader, and records that management first specified the Z80 as the C64's external cartridge before Herd put it on the main board.[1]
Commodore's annual reports combined C64 and C128 sales. From those reports and internal records the Commodore International Historical Society estimates 1.756 million C128s, sold from fiscal 1986 to fiscal 1989; it traces the often-quoted 4.5 million to a 2002 Usenet post and finds no such figure in Commodore's 1993 annual report.[2] Herd's 2013 article says "5+ million" and commodore.ca "four million".[4][1]
Documentation
[edit | edit source]- Commodore 128 128D Service Manual (314001-08): Commodore's service manual, November 1987, with specifications, theory of operation, pin descriptions, parts lists and schematics for the 310379 board (rev. 6 and 7) and the C128D board 250477.
- Commodore 128 Diagnostic Instruction and Troubleshooting Manual (314060): Commodore's manual for the C128 diagnostic kit, 1986, with expected readings and symptom tables.
Related pages
[edit | edit source]- Commodore 128 General Maintenance
- Commodore 128 Troubleshooting Guide
- Commodore 128 Capacitor Replacement Guide
- Commodore 64
- Commodore 64 Troubleshooting Guide
- Capacitor Failure Symptoms
- Recommended Tools
References
[edit | edit source]- ↑ 1.0 1.1 1.2 1.3 1.4 "Commodore 128: The Most Versatile 8-Bit Computer Ever Made", commodore.ca, history and chronology sections. Retrieved 2026-10-01.
- ↑ 2.0 2.1 Dave McMurtrie, "How many C64 (and C128) were actually sold?", Commodore International Historical Society, 5 July 2021. Retrieved 2026-10-01.
- ↑ 3.00 3.01 3.02 3.03 3.04 3.05 3.06 3.07 3.08 3.09 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18 3.19 3.20 3.21 3.22 Commodore Business Machines, Service Manual C-128/C128D Computer, November 1987, PN-314001-08, hosted at Commodore 128 128D Service Manual (314001-08). Specifications p. 1; theory of operation pp. 4-55; parts lists for PCB assembly 310379 rev. 6 (pp. 64-65) and rev. 7 (pp. 71-72); C128D parts lists for assembly 250477.
- ↑ 4.0 4.1 Bil Herd, "The Real Story Of Hacking Together The Commodore C128", Hackaday, 9 December 2013.