The Commodore 128, also known as the C128, C-128, C= 128, is the last 8-bit home computer that was commercially released by Commodore Business Machines (CBM). Introduced in January 1985 at the CES in Las Vegas, it appeared three years after its predecessor, the Commodore 64, the bestselling computer of the 1980s.
The C128 is a significantly expanded successor to the C64, with nearly full compatibility. The newer machine has 128 KB of RAM in two 64 KB banks, and an 80-column color video output. It has a redesigned case and keyboard. Also included is a Zilog Z80 CPU which allows the C128 to run CP/M, as an alternative to the usual Commodore BASIC environment. The presence of the Z80 and the huge CP/M software library it brings, coupled with the C64's software library, gave the C128 one of the broadest ranges of available software among its competitors.
The primary hardware designer of the C128 was Bil Herd, who had worked on the Plus/4. Other hardware engineers were Dave Haynie and Frank Palaia, while the IC design work was done by Dave DiOrio. The main Commodore system software was developed by Fred Bowen and Terry Ryan, while the CP/M subsystem was developed by Von Ertwine.
Technical overview
The C128's keyboard includes four cursor keys, an Alt key, Help key, Esc key, Tab key 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. This alternate arrangement was retained on the 128, for use under C64 mode. The lack of a numeric keypad, Alt key, and Esc key on the C64 was an issue with some CP/M productivity software when used with the C64's Z80 cartridge. A keypad was requested by many C64 owners who spent long hours entering machine language type-in programs. Many of the added keys matched counterparts present on the IBM PC's keyboard and made the new computer more attractive to business software developers. While the 128's 40-column mode closely duplicates that of the C64, an extra 1K of color RAM is made available to the programmer, as it is multiplexed through memory address 1. The C128's power supply is improved over the C64's unreliable design, being much larger and equipped with cooling vents and a replaceable fuse. The C128 does not perform a system RAM test on power-up like previous Commodore machines. Instead of the single 6510 microprocessor of the C64, the C128 incorporates a two-CPU design. The primary CPU, the 8502, is a slightly improved version of the 6510, capable of being clocked at 2 MHz. The second CPU is a Zilog Z80 which is used to run CP/M software, as well as to initiate operating-mode selection at boot time. The two processors cannot run concurrently, thus the C128 is not a multiprocessing system.
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), two or three CPUs (main: 8502, Z80 for CP/M; the 128D also incorporates a 6502 in the disk drive), and two different video chips (VIC-IIe and VDC) for its various operational modes.
Early versions of the C128 occasionally experience temperature-related reliability issues due to the use of an electromagnetic shield over the main circuit board. The shield was equipped with fingers that contacted the tops of the major chips, ostensibly causing the shield to act as a large heat sink. A combination of poor contact between the shield and the chips, the inherently limited heat conductivity of plastic chip packages, as well as the relatively poor thermal conductivity of the shield itself, resulted in overheating and failure in some cases. The SID sound chip is particularly vulnerable in this respect. The most common remedy is to remove the shield, which Commodore had added late in development to comply with FCC radio-frequency regulations.
The C128 has three operating modes. C128 Mode (native mode) runs at 1 or 2 MHz with the 8502 CPU and has both 40- and 80-column text modes available. CP/M Mode uses both the Z80 and the 8502, and is able to function in both 40- or 80-column text mode. C64 Mode is nearly 100 percent compatible with the earlier computer. Selection of these modes is implemented via the Z80 chip. The Z80 controls the bus on initial boot-up and checks to see if there is a CP/M disk in the drive, if there are any C64/C128 cartridges present, or if the Commodore key (which serves as the C64-mode selector) is being depressed on boot-up. Based on these conditions, it will switch to the appropriate mode of operation.