Commodore 128

Made in USA by Commodore in 1985

Can be launched in C64 mode slowing down the 8502 to 1 MHz for compatibility.
Basic V7.0 by Microsoft. In C64 mode, certain bits of the 128 specific hardware can still be accessed, such as the sound hardware. The C64 mode could also be used with the 8502 running at 2 MHz. However, video would go blank when running that fast, so it was limited in its uses. The included BASIC was greatly improved and had access to the new sprite hardware among many other graphics commands that would otherwise require POKEs and PEEKs. There was a built in machine code monitor that could be used to enter machine code and debug software. There was also a built-in sprite editor.

The 128D model was its direct successor, the external case contained a Commodore 1571 floppy disk unit and a built-in PSU.

The major advantages of the C128 is hardware that it did not ship with (note to follow about the 128D). The 1571 drive for double-sided 5.25" disks & 1581 drive for double-sided 3.5" disks. They read more than 11 times faster than C64 disk drives. More importantly, they read disks from many other computer systems, Kaypro, Kaypro II, Kaypro III, Kaypro IV, Osborne, MS-DOS, TRS-80, and others. This made it easy to run most CP/M software written for Z80 CPUs. But it made it possible to transfer any files from these other systems, not just CP/M files. These disk drives were intended as C128 peripherals, but they are completely backwards compatible to the Vic-20 and anything between. 3.5"disks for any Commodore (except PET). This means, one can transfer files from say, a TRS-80, to a C64, then to MS-DOS.

The C128D shipped with a built-in 1571 disk drive. It also came with 64k VRAM for the 80-column chip (hardware hack included). The C128D, 1571, and 1581 were not an afterthoughts, they were always intended.

Although never used (or thought of) when first sold, the C128 is capable of practical multitasking by using multiple CPU stack and zero page locations.

Bil Herd, main designer of the C128, was having difficulty getting the Z80 to interface with the new 80 column chip. A salesman talked him into using his company's 80-column chip, that was being designed for the Z8000 CPU. Herd asked, "Is this a super-set of the 6845?" (In simple terms, if the C128 sent 6845 data to the 80-column chip, would it respond exactly like a 6845?). The salesmen answered, "Yes". years later Herd lamented, "I should have asked, 'Do you know what that question means?'" The 80-column chip has no interrupt function like the 6845 does. Basically, the 6845 does the job it has been given then interrupts the CPU to say "I'm done". The VCD does the job it has been given and tells itself, "I'm done" (Which is of no help to _any_ external hardware waiting to send the next job). "You can simply look at a register", he was told far to late in the C128's design. So thereafter, when a person from that company came to Commodore, Herd arranged for employees to constantly pickup their phones forcing the question to be asked why. "We always could just check the phone to see if there's an inbound call". The chip's design had not even been finalized and would not be until 2 weeks before the C128 made its public debut. Herd had planned to use color graphics in bitmap mode though the 80-column chip, But lack of an interrupt function meant this was not possible. The wonderful sprite capability of the C128 is also unavailable to the 80-column chip. 16-color graphics mush be done in 80x25 text mode (160x50 using hackery). Graphics mode is 640x200, but 1-bit color. Given the 80-column chip is so troublesome, there is no good reason to use it for color games. A simple 64k VRAM upgrade does allow for an overlay grid of 60x100 'color cells' to use 16 colors in 640x200 graphics mode. This is a hack for the C128, but not as unofficial as one might think because the 128D shipped with 64k VRAM (the C128 hack was equivalent to the C128D). Another way to explain this is swapping the 1-bit palette to two other colors than black and white every 8 pixels of a scanline (and the 8 pixels below those in the next scanline). C128 gamers could pay for a hardware upgrade and wait for developers to use the troublesome spriteless graphics mode on an unpopular business oriented machine (it never was gonna happen). So, C128 color gaming graphics is all about running double speed in C64 mode or using C64 graphics and C128 sprites in C128 mode.

A C128 be seen in the Sci-Fi film, Crash and Burn (Robot Jox 2), where it is used as a terminal to operate a mech. This would be entirely an realistic use if the computer were plugged into anything (a network, a monitor, a source of power) and if there were mechs.

tech info

resolution: 320 x 200 x 16 colors
memory: 128K RAM, 32K ROM
CPU: 8510, Z80
sound: 6581 SID, 3 voices, 6 octaves

Related systems

Commodore PET1977
Commodore 641982
Commodore 16/Plus 41984
Amiga OCS1985
Commodore 1281985
Amiga AGA1992