Martin has been a software developer for many years. This is mixed with a passion for retro machines and game,
The last of Commodore's 8-bit machines (the C128) was launched at the Las Vegas Consumer Electronic Show in 1985. It was presented as a competitor to the Apple Macintosh and the IBM PC, but things never really panned out this way.
The Commodore 128 ended up being wedged between the already hugely successful Commodore 64 and the soon to be huge seller, the Commodore Amiga. So let us take a look at a machine that never quite got the recognition it deserved...
The Commodore 128 Machine
This machine was marketed as the successor to the Commodore 64 (which had already succeeded the Vic 20), it was compatible with all of the existing software (including those classic games!) and a lot of the hardware of the C64, being in the main compatible (unlike the Plus 4).
The MOS 8502 CPU that powered the machine could be clocked down from 2MHz to 1MHz for true C64 compatibility, an impressive feat.
One of the main specialities of this machine was the additional Z80 CPU and Video chip, which meant that you could attach two monitors to the computer.
You felt like rather special if you used TWO monitors back in 1985! One screen for playing games, the other for your homework! ;-)
As you may have guessed, the machine was blessed with 128KB of RAM, which was becoming the normal amount by the mid-eighties (with the likes of the ZX Spectrum 128, so it was also competing against this machine and it's large library of Spectrum Games). The RAM could be upgraded too, with up to a massive 640KB achievable through expansion.
Thanks to the Z80 chip, not only could you run 2 monitors, you could also select which mode to run the C128 under during boot up. The downside was that the 2 processors could not run concurrently, so it was not a true multiprocessing system.
But let us not focus on any downside to the machine here, the inclusion of BASIC 2.0 and the C64 KERNELS made C64 compatible mode possible, and it was almost 100% reliable. A multi-mode machine that was truly clever stuff from CBM.
A Commodore 128
Modes of Operation
While the C64's graphics and sound capabilities were generally considered excellent, the popular home computer had been subject to a number of criticisms (mostly unfairly I reckon).
The 40-column VIC-II video display while excellent for use with computer games, was often considered inadequate for 'office' applications such as word processing. The lack of a numeric keypad was also an issue with some office suite software. But come on, we didn't worry about stuff like that when Armalyte was on the go.
Commodore BASIC 2.0 that had been incorporated into the C64 was quite limited (to serious programmers anyway) as it 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 machine language routines.
Also criticized was the lack of a hardware reset button, which was an essential device when developing assembly language routines. The C64's 1541 disk drive was pretty much labelled as unreliable and slower than a Lionel Richie ballad.
The designers of the C128 managed to rectify most of these 'downsides'. A new chip (the VDC) provided the C128 with an 80 column colour CGA compatible display. Nice.
The new 8502 CPU was completely backward compatible with the C64's 6510, but could run at double the speed if you so desired. However, the VIC-II chip which controlled the 40-column display could not operate at the faster clock rate, so the 40 column display was not available in 'Fast Mode'. A numeric keypad was also added to the keyboard which was another great feature.
The C64's BASIC 2.0 was replaced with the far more powerful BASIC 7.0, which included keywords designed specifically to take advantage of the machine's capabilities. It also incorporated a sprite editor (very useful when developing arcade games) and a machine language monitor. The screen editor was further improved and an all important reset button was added to the system. All of these were brilliant features.
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'. You gotta love that technical jargon.
The 128KB RAM allowed a higher proportion to be 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 which greatly enhanced the machine's ability to handle more complex programs.
CP/M Mode: The second CPU (the Zilog Z80), allowed the C128 to run CP/M. The machine came bundled with CP/M 3.0 also known as CP/M Plus which was backwards compatible with CP/M 2.2 and ADM31/3A terminal emulation.
To allow a large application software library instantly available at launch, the CBM 128 CP/M and accompanying 1571 floppy disk drive was designed to run almost all Kaypro specific CP/M software without modification.
Unfortunately, the C128 ran CP/M slower than most dedicated CP/M systems, as the Z80 processor could only run at an effective speed of 2 MHz instead of the more common 4–6 MHz. Because it used CP/M 3.0 this versions complexity made it inherently slower than the earlier and more widespread, CP/M 2.2 system. CP/M never mode fully worked on the C128 - which was a bit of a bummer really.
C64 Mode: By incorporating the original C64 BASIC and KERNAL ROMs in their entirety (16 KB total) the C128 achieved almost 100% compatibility with C64 software (since it was known as a games machine with a large library of arcade games this was a good move.)
The C64 mode was accessed in a number of ways:
- Holding down the Commodore logo key when the system was booting up
- Entering the 'GO 64' command in BASIC 7.0 immediate mode
- Boot the thing with a C64 cartridge plugged in
Some of the few C64 programs that failed on a C128 ran correctly when the CAPS LOCK key was pressed (or the ASCII/National key on international C128 models). This has to do with the larger built-in I/O port of the C128's CPU. A little bit of trivia there for you.
The Commodore 128D
The 128D was the direct successor of the Commodore 128. It had exactly the same characteristics as the C128 apart from its external case which contained the Commodore 1571 floppy disk unit.
It did have a more professional look to it, akin to a desktop PC, but also lost some of that well known Commodore appeal. The C128 sold reasonably well, but never reached anywhere near the popularity of its predecessor.
It was also hampered by the release of 16-Bit machines such as the Amiga and the Atari ST which quickly built a large library of text adventures and classic games. A lot of users bypassed the C128 models and wanted to play the new and exciting Amiga games.
A Nice Brochure Highlighting the Commodore 128
A Nice Vid Telling the C128 Story
A Feature on the C128 From 1985
A TV Advert for the C128
It still rankles me to this day that a company such as Commodore that manufactured great home computers is no longer with us.
From the early years of the PET right through to the Amiga 1200 they were always a major force in the market, and in some cases market leaders.
With better marketing Commodore could still have been a major player in the market today...
© 2010 Martin Allan
Any fans of the C128?
Martin Allan (author) from Sunny Scotland on October 29, 2010:
Thanks for the comments guys, glad you like the hub (and the machine!) :-)
Uridium5 - yep, you are correct, the C128 does resemble the Amiga 500/1200 a lot.
I'll add another Commodore machine hub shortly
mtsi1098 on October 28, 2010:
well done...I remember the Commodore 64 very well...I like your retro links also...
uridium5 on October 28, 2010:
Guys, another wicked article....where doooooo you dig up those YouTube videos from....uhhh...YouTube I guess lol
The 128 was cool in the sense it was a lot more stable, more complete than the 64. With that said, it was starting to look very business like, and in fact the Amiga looked pretty similar right?
Ultima really started off a whole new generation of gaming, great game!