Facts

  • Type: Home computer
  • Released: January 1985
  • Discontinued: 1989
  • Units sold: >1 million
  • OS: Commodore BASIC 7.0, Commodore BASIC 2.0, CP/M 3.1 (3.0 in Commodore marketing)
  • CPU: MOS 8502 @ 2 MHz, Zilog: Z80 @ 4 MHz
  • Memory: 128 KB RAM, 2 KB color RAM (for VIC-II), 16 KB or 64 KB video RAM (for VDC), up to 512 KB REU expansion RAM
  • Graphics: VIC-II (320×200, 16 colors, sprites, raster interrupt), MOS 8563 (RGBI 640×200i 16 colors, programmable – 640x400i and 800x600i possible), blitter)
  • Sound: SID 6581/8580 (3 channels)
  • Predecessor: Commodore 64 (C64 outlived C128)
  • MMU: MOS Technology 8722
  • ROM: 72 kB
  • I/0: All C64 ports + higher speed possible on the serial bus + exp. port more flexibly programmable, RGBI output, Ext. keyboard input (C128D/C128D-CR) only)

Released 1985: The Commodore 128, also known as the C128 or occasionally CBM 128, is the last 8-bit home computer 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 bestselling Commodore 64.

The C128 is an 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, gives the C128 one of the broadest ranges of available software among its competitors.

Late in 1985, Commodore released to the European market a new version of the C128 with a redesigned chassis resembling the Amiga 1000. It was named the Commodore 128D, this new model features a plastic chassis with a carrying handle on the side, incorporates a 1571 disk drive into the main chassis, replaces the built-in keyboard with a detachable one …

Go to C128D article >>>

Three in one
The C128 has three operating modes.

  1. C128 mode (native mode) runs at 1 or 2 MHz using the MOS 8502 CPU and has both 40- and 80-column text modes available.
  2. CP/M mode uses the Z80 CPU and the 8502 CPU function as I/O controller. CP/M mode also function in both 40- or 80-column text mode.
  3. C64 mode is nearly 100 percent compatible, both hardware peripherals and software with the earlier computer. The C64 mode is restricted to the VICII chip and 40 column just like an real C64 machine.

Selection of these modes is implemented via the Z80 CPU. 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, and if the Commodore key (which serves as the C64-mode selector) is depressed on boot-up. Based on these conditions, it will switch to the appropriate mode of operation.

C128 operation mode
Unfortunately, not many games were made specially for the C128 and majority of C128 owners probably stuck to the C64 operation mode which could run thousands of games and programs made for the C64. Because of C128’s compatibility with the C64, software houses prioritized the new line of 16 bit computers instead of making yet another 8-bit port specially for the C128. Only a few months after the release of C128, Commodore released
a much more powerful 16 bit computer, the first Amiga.

GEOS128 from Berkeley Softworks was a graphical “OS” that fully took advantage of the C128 and peripherals. GEOS is short for “Graphical Environment Operating System”. GEOS software were available from Berkeley Softworks and others. Popular programs were, geoWrite, geoDraw, geoCalc, geoPublish, geoProgrammer, geoPaint. I’ve put together a incomplete list of commercial software released specially for C128:

List of Commodore 128 commercial software >>>
C128 running WheelsOS 128, a later third party update for GEOS 2.0.

CP/M operation mode
CP/M was a mass-market operating system created for S-100 bus based computers with Intel 8080/85 or Z80 processor. It was an early industry standard for microcomputers and was widely used in business through the late 70’s and into the mid-80’s. CP/M also was the planned operating system for the IBM PC and was optional instead of PCDOS with the first IBM PC model.

C128 has a Z80 CPU running at 4 MHz in CP/M mode. Because it’s “sharing RAM with the VICII chip” it’s equal to only about 3 MHz. The same goes for the Z80 CP/M cartridge for Commodore 64, which I’m happy to have in my collection as well.

CP/M is a disk intensive operating system. The 1571 floppy drive that was launched with the C128 and is integrated in the C128D and C128D-CR take advantage of the faster serial bus (IEC) in the C128. This helps performance in CP/M. Speed will also increase a significantly by using “unofficial” CP/M builds wish are optimized from Z80 assembler code. Later C128 CP/M bundled versions also supports the REU RAM expansion as a bootable RAM disk.

Programs written for CP/M were normally compatible among different machines, but contrary to MS-DOS, there were extremely many floppy formats as each computer manufacture typically had their own format. The software publishers had to make many master disks in different formats for the same program, even the program itself was compatible. Luckily, the 1571 drive is able to read a wide range of floppy formats, “Jugg’ler 128” is a program that reads more than 140 different formats, including MSDOS disks.

C64 operation mode
More than 10 000 commercial games and software titles are released for the C64, while only a few games were released especially for the C128. Many owners used their C128 solely as a C64 because of this. C128 is almost 100% both software and hardware compatible with the C64.  For those not familiar with the C64, it’s regarded as the best selling computer of all time with about 17 million units sold. Production of C64 continued on until close up to the demise of Commodore in 1994, and outlived it’s successor the C128. Even the C128 was meant as a successor, the C64 remained very popular and price was reduced during the years.

My C128, repair and upgrade

When I first got it, programs where freezing in C128 mode at the same places, machine was working other wise. This symptom could indicate a faulty RAM chip (a stuck bit in chip). I located the faulty chip using the “piggy back” method where I carefully put a new chip on top of the old chip. When I found it I soldered in a new chip. Success, the C128 was working.

I’ve also updated the C128 to 64 KB video RAM later (a later cost reduced model, C128D-CR came with 64 KB video RAM originally) for the VDC chip (80 column display). The C128 and the C128D both has only 16 KB of video RAM originally as the 80 column display initially was mostly intended for text display. All C128’s can easily be upgraded to 64 KB video RAM.

Commodore 128

Remi Jakobsen


I'm collecting classic computers and video games, stretching from the 70's into the 90's. Restoration, history, usage ...


Post navigation


5 thoughts on “Commodore 128

  1. Heisann! Jeg har en del gamle Commodore maskiner som har sluttet å virke, En C=64, en C=128 og en Amiga 500. 64 er helt død, 128 er ustabil og har feil på IEC bussen slik at den ikke kan laste spill og prog. Og Amiga 500’en er heller ikke helt “frisk”. Jeg ønsker å komme i kontakt med folk i Retro maskin miljøet slik at man kan få tak i komponenter og deler. Og også få tips om hvor man kan henvende seg for å få reparert Commodore maskinene. Hadde vært topp om du kunne sende meg en mail eller om du synes det er greit, legge meg til på Facebook. (Rune Egilson Kaarud)

    1. Jeg vil på det sterkeste anbefale Retro-Service i Sandefjord som drives av Geir O. Bye. Han har et skikkelig godt rykte og gjør en veldig bra jobb. Han er ganske overarbeidet så det kan ta litt tid bare.

  2. Hello! I am interested in some of your C128 hardware, specifically the COMAL C128 cartridge. If you could email me at acarmony1 at gmail I would explain in detail. Much thanks!

Leave a Reply to Remi Jakobsen Cancel reply

Your email address will not be published. Required fields are marked *