Commodore 128
![]() | |
| Commodore 128 | |
| Specifications | |
|---|---|
| Developer | Commodore Business Machines |
| Manufacturer | Commodore Business Machines (CBM) |
| Type | 8-bit home computer |
| Discontinued | 1989[1] |
| Intro price | $300 ($925 in 2023 dollars)[2] |
| CPU | 8502 microprocessor[3] @ 1.02 or 2.04 MHz[4]; Zilog Z80[5] @ 4 MHz[6] |
| Memory | 128 KB of RAM in two 64 KB banks[7] |
| Storage | — |
| Display | — |
| Sound | SID 6581/8580 |
| OS / Firmware | BASIC 7.0[8], CP/M[9], C64 mode |
| Predecessor | Commodore 64[10] |
| Successor | Amiga series |
The Commodore 128, also known as the C128, CBM 128, or C=128, is the last 8-bit home computer that was commercially released by Commodore Business Machines (CBM)[11]. Introduced in January 1985 at the CES in Las Vegas[12], it appeared three years after its predecessor, the Commodore 64, the bestselling computer of the 1980s[13]. Approximately 2.5 million C128s were sold during its four-year production run[14], though more recent analysis suggests 1.756 million total unit sales[15].
The C128 represents the world's first mass market multi-processor computer[16], featuring two processors: an MOS 6502 variant and a Z80[17]. The C128 is a significantly expanded successor to the C64, with nearly full compatibility[18], offering 99% compatibility with existing C64 programs[19].
History and Development
[edit | edit source]The development of the Commodore 128 began in earnest during the summer of 1984, when Bil Herd was appointed lead designer on the C128 project in an effort to get a new machine ready for show at CES in Las Vegas, the 2nd week of January 1985[20]. This gave the development team an incredibly tight deadline of approximately five months to complete the project.
The primary hardware designer of the C128 was Bil Herd, who had worked on the Plus/4[21]. Other hardware engineers were Dave Haynie and Frank Palaia, while the IC design work was done by Dave DiOrio[22]. The main Commodore system software was developed by Fred Bowen and Terry Ryan, while the CP/M subsystem was developed by Von Ertwine[23].
The development team, known internally as the "C128 Animals"[24], faced significant challenges. The team had an opportunity to slam out one last 8 bit computer, providing they accepted the fact that whatever they did had to be completed in 5 months… in time for the 1985 Consumer Electronics Show (CES) in Las Vegas[25].
Bil Herd got the top job as 128 lead Engineer because of his vocal criticism of the new management team's lack of vision: "No one dreamed that C64 compatibility was possible so, no one thought along those lines. I had decided to make the next machine compatible with something instead of yet another incompatible CBM machine"[26].
Initially, the design goals of the C128 did not include 100% compatibility with the C64. Some form of compatibility was always intended after Herd was approached at the Plus/4's introduction by a woman who was disappointed that the educational software package she had written for the C64 would not run on Commodore's new computer, but when Commodore's marketing department learned of this, they independently announced total compatibility[27].
Architecture and Processor
[edit | edit source]The Commodore 128 features a revolutionary dual-processor architecture that was unprecedented in the home computer market. Instead of the single 6510 microprocessor of the C64, the C128 incorporates a two-CPU design[28].
The primary processor is the then-new 8502 microprocessor, which is completely backward-compatible with the C64's 6510, but can run at double the speed if desired[29]. The 8502 operates at about 1.02 or 2.04 MHz memory clock[30], providing significantly improved performance over the C64's 1 MHz operation.
The secondary processor is a Zilog Z80 CPU which allows the C128 to run CP/M, as an alternative to the usual Commodore BASIC environment[31]. The Z80 runs at 4 MHz (running at an effective 2 MHz because of wait states to allow the VIC-II video chip access to the system bus)[32].
Herd gave the reason for the 128's inclusion of a Z80 processor as ensuring this "100% compatibility" claim, since supporting the C64's Z80 cartridge would have meant the C128 supplying additional power to the cartridge port[33].
The system includes a MOS Technology 8722 Memory Management Unit that controls 8502/Z80 processor selection and ROM/RAM banking[34].
Memory and Storage
[edit | edit source]The C128 features a substantial memory upgrade over its predecessor. Memory was enlarged to 128 KB of RAM in two 64 KB banks[35]. From this, 38,911 or 122,365 Bytes are free for use under BASIC[36].
The C128's RAM is expandable from the standard 128 KB to 256, 512 or even 1,024 KB, either by using commercial memory expansion modules, or by making one based on schematics available on the internet[37]. Commodore's RAM Expansion Units use an external 8726 DMA controller to transfer data between the C128's RAM and the RAM in the expansion unit[38].
The C128's complex architecture includes four differently accessed kinds of RAM (128 KB main RAM, 16–64 KB VDC video RAM, 2 kNibbles VIC-II Color RAM, 2-KB floppy-drive RAM on C128Ds, 0, 128 or 512 KB REU RAM)[39].
Display and Graphics
[edit | edit source]The C128 features a sophisticated dual-video system that was revolutionary for its time. A separate graphics chip provided 80-column color video output in addition to the original C64 modes[40].
A new chip, the VDC, provides the C128 with an 80-column color CGA-compatible display (also called RGBI for red-green-blue plus intensity)[41]. The 128's 80 column display mode would produce 640×200 which was better than the CGA mode that IBM PC's could produce even in the early 1990's![42]
The VIC-II or VIC-8564 for the 40 character mode has the ability for 25 (rows) × 40 (columns) characters (singlecolor and multicolor) in text mode or in graphic mode (HiRes) 320×200 pixel in 16 colors, 16 frame colors and 16 background colors or Multicolor mode (4 colors) 160×200 pixel, as well as 8 Sprites (singlecolor or multicolor, 24×21) displaying[43].
Unlike earlier MOS video chips such as the popular VIC-II, the VDC had dedicated video memory, 16 kilobytes (16,384 bytes; upgradable to 64 kilobytes, 65,536 bytes) in the original or "flat" C128 and 64 kilobytes in the C128DCR[44].
Audio Capabilities
[edit | edit source]The C128 retains the beloved SID (Sound Interface Device) chip from the C64, providing the same exceptional audio capabilities that made Commodore computers famous for their sound quality. The C128 used the same SID sound chip from the C64[45].
The SID chip provides three-voice synthesis with multiple waveforms, filters, and envelope control, enabling complex musical compositions and sound effects that were unmatched by competing systems of the era.
Input/Output and Expansion
[edit | edit source]The C128 is housed in a redesigned case with an improved keyboard including a numeric keypad and function keys[46]. The keyboard features 92 keys (QWERTY/QWERTZ), which are multiple reserved, with numeric keypad[47].
The C128's keyboard includes four cursor keys, Alt, Tab keys and a numeric keypad. None of these were present on the C64 which had only two cursor keys, requiring the use of the Shift key to move the cursor up or left[48].
The system includes comprehensive I/O capabilities: Game port (Control port) 1 and 2 with 9 pin Sub-D connectors for connecting joysticks, light pen, mouse or paddles; RGBI connector (9 pin, output only) for connecting an RGB or monochrome monitor in 80 char mode; Userport (RS-232 or Centronics; 24 pin; I/O), which can be used for connecting a modem or printer interface[49].
Operating System and Software
[edit | edit source]The C64's Commodore BASIC 2.0 was replaced with BASIC 7.0, which includes structured programming commands from the Plus/4's BASIC 3.5, as well as keywords designed specifically to take advantage of the machine's capabilities[50]. A sprite editor and machine language monitor were added. The screen-editor part of the Kernal was further improved to support an insert mode and other features accessed through ESC-key combinations, as well as a rudimentary windowing feature, and was relocated to a separate ROM[51].
The C128 operates in three distinct modes: 1. C128 Mode: Native mode
References
[edit | edit source]- ↑ Commodore 128 - Wikipedia, Wikipedia, 2025-06-06—link(accessed 2025-06-09)
- ↑ Commodore 128 – The Most Versatile 8-Bit Computer Ever Made, Commodore.ca, 2025—link(accessed 2025-06-09)
- ↑ Commodore 128 - Wikipedia, Wikipedia, 2025-06-06—link(accessed 2025-06-09)
- ↑ Commodore 128 - C64-Wiki, C64-Wiki, 2019-10-27—link(accessed 2025-06-09)
- ↑ Commodore 128 - Wikipedia, Wikipedia, 2025-06-06—link(accessed 2025-06-09)
- ↑ Commodore 128 - C64-Wiki, C64-Wiki, 2019-10-27—link(accessed 2025-06-09)
- ↑ Commodore 128 - Wikipedia, Wikipedia, 2025-06-06—link(accessed 2025-06-09)
- ↑ Commodore 128 - Wikipedia, Wikipedia, 2025-06-06—link(accessed 2025-06-09)
- ↑ Commodore 128 - Wikipedia, Wikipedia, 2025-06-06—link(accessed 2025-06-09)
- ↑ Commodore 128 - Wikipedia, Wikipedia, 2025-06-06—link(accessed 2025-06-09)
- ↑ Commodore 128 - Wikipedia, Wikipedia, 2025-06-06—link(accessed 2025-06-09)
- ↑ Commodore 128 - Wikipedia, Wikipedia, 2025-06-06—link(accessed 2025-06-09)
- ↑ Commodore 128 - Wikipedia, Wikipedia, 2025-06-06—link(accessed 2025-06-09)
- ↑ Commodore 128 - Wikipedia, Wikipedia, 2025-06-06—link(accessed 2025-06-09)
- ↑ How many c64 (and c128) were actually sold?, Commodore International Historical Society, 2021-07-05—link(accessed 2025-06-09)
- ↑ Commodore 128 – The Most Versatile 8-Bit Computer Ever Made, Commodore.ca, 2025—link(accessed 2025-06-09)
- ↑ Commodore 128 - C64-Wiki, C64-Wiki, 2019-10-27—link(accessed 2025-06-09)
- ↑ Commodore 128 - Wikipedia, Wikipedia, 2025-06-06—link(accessed 2025-06-09)
- ↑ Commodore 128 - C64-Wiki, C64-Wiki, 2019-10-27—link(accessed 2025-06-09)
- ↑ Commodore 128 – The Most Versatile 8-Bit Computer Ever Made, Commodore.ca, 2025—link(accessed 2025-06-09)
- ↑ Commodore 128 - Wikipedia, Wikipedia, 2025-06-06—link(accessed 2025-06-09)
- ↑ Commodore 128 - Wikipedia, Wikipedia, 2025-06-06—link(accessed 2025-06-09)
- ↑ Commodore 128 - Wikipedia, Wikipedia, 2025-06-06—link(accessed 2025-06-09)
- ↑ Commodore 128 - Wikipedia, Wikipedia, 2025-06-06—link(accessed 2025-06-09)
- ↑ Guest Post: The Real Story Of Hacking Together The Commodore C128, Hackaday, 2016-06-30—link(accessed 2025-06-09)
- ↑ Commodore 128 – The Most Versatile 8-Bit Computer Ever Made, Commodore.ca, 2025—link(accessed 2025-06-09)
- ↑ Commodore 128 - Wikipedia, Wikipedia, 2025-06-06—link(accessed 2025-06-09)
- ↑ Commodore 128 - Wikipedia, Wikipedia, 2025-06-06—link(accessed 2025-06-09)
- ↑ Commodore 128 - Wikipedia, Wikipedia, 2025-06-06—link(accessed 2025-06-09)
- ↑ Commodore 128 - C64-Wiki, C64-Wiki, 2019-10-27—link(accessed 2025-06-09)
- ↑ Commodore 128 - Wikipedia, Wikipedia, 2025-06-06—link(accessed 2025-06-09)
- ↑ Commodore 128 - Wikipedia, Wikipedia, 2025-06-06—link(accessed 2025-06-09)
- ↑ Commodore 128 - Wikipedia, Wikipedia, 2025-06-06—link(accessed 2025-06-09)
- ↑ Commodore 128 - Wikipedia, Wikipedia, 2025-06-06—link(accessed 2025-06-09)
- ↑ Commodore 128 - Wikipedia, Wikipedia, 2025-06-06—link(accessed 2025-06-09)
- ↑ Commodore 128 - C64-Wiki, C64-Wiki, 2019-10-27—link(accessed 2025-06-09)
- ↑ Commodore 128 - Wikipedia, Wikipedia, 2025-06-06—link(accessed 2025-06-09)
- ↑ Commodore 128 - Wikipedia, Wikipedia, 2025-06-06—link(accessed 2025-06-09)
- ↑ Commodore 128 - Wikipedia, Wikipedia, 2025-06-06—link(accessed 2025-06-09)
- ↑ Commodore 128 - Wikipedia, Wikipedia, 2025-06-06—link(accessed 2025-06-09)
- ↑ Commodore 128 - Wikipedia, Wikipedia, 2025-06-06—link(accessed 2025-06-09)
- ↑ Commodore 128 – The Most Versatile 8-Bit Computer Ever Made, Commodore.ca, 2025—link(accessed 2025-06-09)
- ↑ Commodore 128 - C64-Wiki, C64-Wiki, 2019-10-27—link(accessed 2025-06-09)
- ↑ MOS Technology 8563 - Wikipedia, Wikipedia, 2023-08-23—link(accessed 2025-06-09)
- ↑ James S' Kingdom - Commodore 128, James S' Kingdom, 2025—link(accessed 2025-06-09)
- ↑ Commodore 128 - Wikipedia, Wikipedia, 2025-06-06—link(accessed 2025-06-09)
- ↑ Commodore 128 - C64-Wiki, C64-Wiki, 2019-10-27—link(accessed 2025-06-09)
- ↑ Commodore 128 - Wikipedia, Wikipedia, 2025-06-06—link(accessed 2025-06-09)
- ↑ Commodore 128 - C64-Wiki, C64-Wiki, 2019-10-27—link(accessed 2025-06-09)
- ↑ Commodore 128 - Wikipedia, Wikipedia, 2025-06-06—link(accessed 2025-06-09)
- ↑ Commodore 128 - Wikipedia, Wikipedia, 2025-06-06—link(accessed 2025-06-09)
