Commodore 128

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.

[7] 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.

[8] 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.

[citation needed] Early versions of the C128 occasionally experience temperature-related reliability issues due to the use of an RF shield over the main circuit board.

The most common remedy is to remove the shield, which Commodore had added late in development to comply with FCC radio-frequency regulations.

Although targeted at a low-end business market that could not afford the relatively high cost and training requirements of early IBM PC compatibles, it was perceived by the Commodore press as a follow-up to the 64 and would be expected to improve upon that model's capabilities.

[citation needed] The 1581 drive also has more on-board RAM than its predecessors, making it possible to open a larger number of files at one time.

In addition, the C128 introduces auto-booting of disk software, a feature standard on most personal computers, but absent from Commodore machines up to that point.

[citation needed] The C128 has twice the RAM of the C64, a far higher proportion of which is available for BASIC programming, due to the new MMU bank-switching chip.

[citation needed] The 128's ROM contains an easter egg: Entering the command SYS 32800,123,45,6 in native mode reveals a screen with a listing of the machine's main developers followed by the message Link arms, don't make them."

When the C128 is powered on, the Z80 is active first and executes a small boot loader ROM at $0-$FFF to check for the presence of a CP/M disk.

Aside from the standard ADM-3A terminal commands, a number of extra ones are available to use the VIC-II and VDC's features, including setting the text and background color.

Compared with the native mode BASIC 7.0, MBASIC is terse and limited in its capabilities, requiring the use of terminal-style key combinations to edit program lines or move the text cursor and lacking any sound or graphics features.

[citation needed] It was reported that the programmer in charge of porting CP/M to the C128 had intended to have the CBIOS interface with the hardware directly in Z80 machine language, but had great difficulty with the VDU chips as they were prone to overheating and self-destructing.

The VDU also underwent numerous hardware revisions while the C128 was in development and the CP/M programmer was unable to get his code working properly, so the C128 engineering team requested instead that he simply rewrite the CBIOS to pass function calls to the 8502.

By incorporating the original C64 BASIC and Kernal ROMs in their entirety (16 KB total), the C128 achieves almost 100 percent compatibility with the Commodore 64.

A few C64 programs are confused by this extra I/O bit; keeping the ⇪ Caps Lock key in the down position will force the I/O line low, matching the C64's configuration and resolving the issue.

By using the higher clock rate during the vertical blank period, standard video display is maintained while increasing overall execution speed by about 20 percent.

[citation needed] To handle the relatively large amounts of ROM and RAM (tenfold the size of 8502's 64 KB address space) the C128 uses the 8722 MMU chip to create different memory maps, in which different combinations of RAM and ROM would appear according to bit patterns written into the MMU's configuration register at memory address $FF00.

But since block 0 contains the ROMs and I/O registers from $4000 onward, BASIC uses an internal switching routine to read program text higher than $3FFF.

A number of components on the mainboard were consolidated to reduce production costs and, as an additional cost-reduction measure, the cooling fan that was fitted to the D model's power supply was removed.

The four-fold increase in video RAM over that installed in the "flat" C128 made it possible, among other things, to maintain multiple text screens in support of a true windowing system, or generate higher-resolution graphics with a more flexible color palette.

"[27] Because the 128 would run virtually all 64 software, and because the next-generation 32/16-bit home computers—primarily the Commodore Amiga and Atari ST—represented the latest technology, relatively little software for the C128's native mode appeared (probably on the order of 100–200 commercial titles, plus the usual share of public domain and magazine type-in programs), leading some users to regret their purchase.

Some C64 software such as Bard's Tale III and Kid Niki ran in 128 mode without stating this in the documentation, using the autoboot and the 1571's faster disk access.

Some C64 games were ported to native mode like Kikstart 2 and The Last V8 from Mastertronic, which had separate C128 versions, and Ultima V: Warriors of Destiny from Origin Systems, which used extra RAM for music if running on the C128.

[33] This software used the extra memory, 80-column screen, enhanced keyboard and large-capacity disk drives to provide features that were considered essential for business use.

[citation needed] People who wanted business machines bought IBM PC clones almost exclusively by the time the C128 was released.

The availability of low-cost IBM compatibles like the Leading Edge Model D and Tandy 1000 that, in some cases, sold for less than a complete C128 system derailed Commodore's small business computer strategy.

The main reason that the C128 still sold fairly well was probably that it was a much better machine for hobbyist programming than the C64, as well as being a natural follow-on model to owners with significant investments in C64 peripherals and software.

Herd added that "I only expected the C128 to be sold for about a year, we figured a couple of million would be nice and of course it wouldn't undercut Amiga or even the C64".

The BASIC prompt for the Commodore 128 in 40-column mode, running Commodore BASIC V7.0
C128 main board
The back of the Commodore 128
Using CP/M mode requires use of a boot diskette. The diskette was included with the computer, which did not include a disk drive.
Photo from the 1980s showing a C128 setup with two disk drives and two monitors displaying the independent 40- and 80-column screens. Many users continued to use the 1541 inherited from their C64 system as a second drive.
Commodore 128D on display at the Musée Bolo , EPFL , Switzerland
Commodore 128DCR switch-mode power supply , fitted with a 60 mm cooling fan