Retro Home Computers – Commodore 128


Commodore 128,
1985 – 1989

The Commodore 128 was a significantly expanded, and compatible, successor to the earlier C64, the new machine featuring 128 kB of RAM, which was expandable to 640 kB and had an 80-column RGB monitor output, as well as a redesigned case/keyboard with a numeric keypad. Instead of the 6510 CPU of the C64, the C128 incorporated a two-CPU design.

Commodore 128

Above: Commodore 128 with built in floppy drive

The primary CPU, the 8502, was a slightly improved version of the 6510; its main addition was the ability to run at a 2 MHz clock rate. The second CPU was a Zilog Z80, which was used for ensuring CP/M compatibility and for mode-selection of the computer upon boot-up. The two processors cannot run concurrently, thus the C128 was not a multiprocessing system.

Commodore 128D

Above: Commodore 128D

The C128 had three modes of operation: C128 Mode (native mode), which ran at 1 or 2 MHz with the 8502 CPU and had both 40- and 80-column text modes available; CP/M Mode, which used the Z80 second CPU in either 40- or 80-column text mode; and C64 Mode, which was very nearly 100% compatible with the earlier computer.

It should be noted that none of these modes would have been possible as implemented on the C128 without the Z80 chip. The Z80 controls the bus on initial boot-up and checks to see if there is a CP/M boot disk, if there are any C64/C128 cartridges present, and if the Commodore key (C64-mode selector) is active on boot-up. Based on what it finds, it will switch to the appropriate mode of operation.

Some 128s suffered from a reliability problem caused by the electromagnetic shield over the internal board. The shield had fingers that rested on the top of the major chips to conduct heat into the shield which then acted as a large heatsink. A combination of poor contact and the fact that plastic encased chips do not lose heat that way plus the shield being made from mu-metal saw some chips overheat and fail. The SID sound chip was particularly vulnerable in this respect as it operated from a 9-volt supply. The situation could be vastly improved by removing the shield completely.

While the C64’s graphics and sound capabilities were generally considered excellent, the popular home computer was the subject of a number of perennial criticisms. The 40-column VIC-II video display, while excellent for gaming, was often considered inadequate for productivity applications such as word processing.

The lack of a numeric keypad was also an issue with some office suite software. Furthermore, the 2.0 revision of Commodore BASIC that was incorporated into the C64 was quite limited, and lacked keywords to handle the system’s graphical and sound capabilities. These features had to be accessed via cumbersome PEEK and POKE commands, or by custom written machine language routines. Also criticized was the lack of a hardware-reset button, an essential device when developing assembly routines. Finally, the C64’s 1541 disk drive was almost universally condemned as slow and unreliable.

The designers of the C128 succeeded in rectifying most of these concerns. A new chip, the VDC, provided the C128 with an 80-column colour RGB display. The new 8502 CPU was completely backward-compatible with the C64’s 6510, but could run at double the speed if desired. A numeric keypad was added to the keyboard, as were various other keys.

The C64’s rudimentary BASIC 2.0 was replaced with the far more flexible and powerful BASIC 7.0, which included keywords designed specifically to take advantage of the machine’s capabilities, and also incorporated a sprite editor and machine language monitor. The screen editor was further improved. A reset button was added to the system.

Three new disk drives were introduced in conjunction with the C128, the 1570, 1571, and 3.5 inch 1581 drives promising far faster transfer speeds via a new “burst mode”. With these three drives, more complex drive data arrangements were also made available to Commodore users in the nature of “track and sector” oriented subdirectories, a feature not available to PC users, who instead had to convolute their file allocation tables to do the same thing. The disk drives also had more on-board RAM than their predecessors, the 1540 and 1541 drives.

The C128 also had far more RAM than the C64, and a far higher proportion was available for BASIC programming, due to the new MMU bankswitching chip. This feature made it possible for BASIC program code to be stored separately from variables, greatly enhancing the machine’s ability to handle complex programs.

The C128’s greater hardware capabilities, especially the increased RAM, screen display resolution, and serial bus speed, made it the preferred platform for running the GEOS graphical operating system.

The system architecture of the C128, which in case of a C128D with memory expansion included three CPUs, five types of RAM memory, three operating modes, two system speeds, two graphics chips and two completely different low-level floppy disk encoding schemes was positively baroque and not at all orthogonal.

This high complexity was probably a factor in the limited success of the C128—but of course also much of the reason for the machine’s popularity among long-time CBM users and ‘hackers’, who enjoyed the capability of full C64 compatibility in a computer which was also fully usable as a BBS terminal and general office application platform in 80-column mode running native or CP/M programs. Another selling point for this group of users was the full-featured business keyboard, which was the first ‘real’ keyboard of a CBM computer since the less flexible (and thence, less popular) CBM-II/B series.

Because the C128 would run virtually all C64 software, and because the next-generation, 16-bit, home computers, primarily the Commodore Amiga and Atari ST, were gaining ground, relatively little software for the C128’s native mode appeared (probably on the order of 100–200 fully commercial titles, plus the usual share of public domain and magazine type-in programs). While the C128 sold a total number of 4 million units between 1985 and 1989, its popularity paled in comparison to that of its predecessor.

This has been blamed on the lack of native software and on Commodore’s less-aggressive marketing. An additional explanation may be found in the fact that the C64 sold huge numbers to people primarily interested in computer games, which the more expensive C128 didn’t add much value towards improving (with the exception of a few Infocom text adventures)—the C128 was certainly a better business machine than the C64, but not really a better gaming machine, and people who wanted business machines bought IBM PC clones almost exclusively by the time the C128 was released. The main reason that the C128 still sold fairly well was probably that it was also a much better machine for hobbyist programming than the C64.

Also, when the C128(D/DCR) was discontinued in 1989, it was reported to cost nearly as much to manufacture as the 16-bit Amiga 500, even though the C128D had to sell for several hundred dollars less to keep the Amiga’s high-value marketing image intact.

Bil Herd commented on the Wikipedia C128 article himself, stating: “We considered the C128 to be a holding action until the next generation computers arrived, we were trying to up the game as far as expectations for new machines and buy a year, two at the max in the process. In that we exceeded our initial goals but probably due in part to Commodore’s lacklustre follow through on marketing and selling the Amiga.”