commodore-128
Commodore 16 and Plus/4: the big failure​
1984 is a pivotal year: Tramiel left Commodore at the beginning, for unclear reason, but mostly on disagreement on how to manage the company in the future.
Atari just failed, Apple was in trouble and Commodore was the company selling or licensing the MOS6502 8bit CPU to the rest of the world.
In the 1984 Commodore launched two version of the same base machine called Commodore 16 and Commodore Plus /4.
C/16 was aimed to home whereas Plus/4 should be a "business" machine.
The two units are based on the same hardware: the difference is the amount of RAM of each.
As we will see these computer was a big mistake because failed on a lot of critical aspects:
C/16 has only 16KB of RAM(!) and Plus/4 had 64KB of RAM. A way too little, remember C/64 was released two years ago, so no "cool stuff" here.
VIC-II chip was replaced by TED, which was a step backward because have no sprites, and still have only 40×25 characters.
On that time, 80 columns was aimed by computers for "office" work, because 40 columns was too little.17
Plus/4 provided 4 program on ROM (word processor, spreadsheet, database, and graphing) but they was:
Not compatible with C/64
Inferior to software provided on C/64. C/64 had a huge software base.
Unable to be upgraded.
Perhaps Tramiel was thinking yet in term of a "calculator" you must turn on and get the software inside, but providing this software on floppy or cartridge would be a way better.
BASIC 3.5 was good but Plus/4 had a rubber based keyboard: another big mistake for a "office" machine.
On the game side, all the games targeted the low-end machine, the C/16, so in effect no one would use the amount of memory of Plus/4\ Gaming was important on that time, because out-of --the box (without additional disks or printers) the Commodore could be used easily as cartige-based console, a sufficient purchase reason.
The Plus/4 was introduced in June 1984 and priced at US$299 (equivalent to $721.07 in 2018). It was discontinued in 1985.
On the same time customers start to buy IBM PC, and Apple computers.
Commodore 128 (1985)​
The C128 team:
Software: Fred Bowen, Terry Ryan, Von Ertwine
Hardware: Bil Herd, Dave Haynie, Frank Palaia
Disk Drive: Greg Berlin, Dave Saracusa
Chips: Dave Diorio, Kym Eckert, Eric Chow Yan Yang
Techs: Gale Moyer, Kim Constein, Curt "Arlo" Guthrie, Jeff Brenecke, Lucky Kowlaski,
Chip Layout: Micheal "Monsuer" Angelina, Dave Esposito, Joan Brenecke, "Reverend" Jim Rollhauser, Sandy Roshong
PCB: Terry "Fish" Fisher, Claude Guay, Paul Robino
Management: Adam Chowaniec, Joe Krusuki, Bob Olah, Ed Parks18
The Commodore 128 is the last 8-bit home computer that was 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 a significantly expanded successor to the C/64, with nearly full compatibility.
Commodore release cycle was roughly two-year based: for instance Vic20 in 1980, C/64 in 1982, and C/16-Plus/4 on 1984. So C/128 release is a bit odd. As we will see the C/128 is an unfinished product, which would require additional time to be completed, and it is a very strange beast.
For C/128 we are lucky because we can know the story directly by Bill Herd19 head of the C/128 Project (edited by us):
The Z80 started by me looking at two problems at roughly the same time: 1) The CPM cart was having problems with the C/64, and was sensitive to the version VIC chip and also a brand of 74ls257's, 2) the CPM cart needed about another 1 to 1.5 Amp from the power supply. The C/64 supply just gets hotter and the voltage drops, but the C128 being a switching supply meant that I would have had to specify and pay (times millions) for an extra 1.5 Amp that would probably seldom get used.
Designing the Z80 in costed about $2, and was cheaper than the power supply increase.
So, Z80 was here as a workaround to avoid adding a bigger power supply to the C/128!
Later the Z80 saved our asses when the Magic Voice cartridge (designed by CBM Texas) would crash on a C128 when it tried to jam the reset vectors at boot which would crash since the system was in C128 mode w/ MMU wait[u]ing to be initialized, etc. Overnight we inverted the reset line and called Von the Z80/CPM guy (he wasn't home but his wife was a programmer and read me the assembler code to punch into the eprom burner) and from then on the Z80 booted first. It would carefully look at the cartridge port and if it saw a C/64 cart it would set up the MMU/PLA and then jump to C/64 mode. This is when we also decided to make the C= key be a hard C/64 mode start.
[...]
We didn't tell management that we had built in the Z80 until it was too late to stop us. We got a telex from CBM Australia telling us that they would "personally" open the C128's and remove the Z80s if we insisted on shipping with it, which just made us want it more.
Frank Palaia was tasked with all of that crazy jungle logic needed to make the Z80 work using packages already on the motherboard, A PAL would have been safest and easier but it was too costly, took too much power and we didn't make the chip (The Z80 was a rare exception to either using jellybeans or CBM chips.)[...]
So C/128 ended two have two processors, and also two video chips.
The other processor was the MOS 8502, a small evolution 6502. A Memory Management Unit (MMU) was provided to access to the 128Kb via bank switching,
A full feature Basic V7 by Microsoft was provided.
C/128 Motherboard​
MOS 8502​
MOS 8502 could ran at 2Mhz by the main VIC video chip could not work at that speed and need to be disabled (blank screen). Because little software used the other video chip (VDC) this "FAST" mode was difficult to use: if you get blinded, you for sure cannot show faster screen refresh.
Also, the chip needs banking to access to more memory. Basic V7 tried to use all the 128Kb but was slower then BasicV2 because of bank switching and more commands to address.
CP/M​
CP/M was dead-on-arrival on 1985, superseded by MS-DOS. So CP/M capability would have been interesting in 1982, not in 1985.
Also C/64 compatibility mode was very close to original C/64, and it had the same (slow) speed. So why buy a costly C/128 if all the software park was on the "C/64 Mode"?
VDC​
As you see in the diagram above, VDC was equipped with 16Kb of video RAM, so it can work on its own. Anyway
VDC missed an interrupt vector synced with the raster.
To program VDC you have to POKE commands into few hardware registers making it very difficult to program.
C/128 Easter eggs​
Running
SYS 32800,123,45,6
Will show you the authors of C/128 also with a "pacific" message in reverse:
C/128 Summary​
C/128 was a dual head monitor computer with two CPU and very advanced Basic. Its VDC 80-column mode would position it to the office segment, anyway it shipped without disk drive and with little basic memory for the time it was announced.\ So it was a more pricey machine mostly used in C/64 compatibility mode.
In Italy, a magazine called Commodore Computer Club decided to stop publishing C/128 programs while continuing to support C/64 for a while (!) which was a clear signal of the status of the C/128 acceptance by the market.
Price and some bad decision doomed C/128, even if its Basic was powerful and nice. Perhaps if C/128 was delayed a bit, the project would fix some of its bigger mistake like unusable VDC chip.\ C/128 will be discontinued in 1989, after 4 years.
Lessons learned form C/64 success (WIP)​
There is an important lesson I'd like to stress here. I call it software "inertia". In mid '80 there were a huge number of companies which lived developing software for C/64. At some point C/64 become very difficult to kill. Commodore was forced to continue production, and C/128 never took off like expected. C/64 survived to two computers generation (C16+PLUS/4, C/128) how was it possible?
C/64 for sure was cheap: in 1986 the "C64C" was a 4-years-old computer produced in a different form factor but with exact the same functionality (more or less) as we saw. It was cheap to produce and cheap to buy.
It was a missed opportunity. If the C64C was a C64 with for instance a bank switching functionality (to address 128Kb of RAM), something like the SuperCPU, but with full retro-compatibility, it could lift the Commodore again.
Or a VIC-III with some retro compatibility. Or two stereo SIDs. A clean migration path from the C/64 to another machine would be great, but was it too complex to achive?
Appendix: major reference material
The Commodore 64 Architecture\ from COMPUTE! Issue 32, January 1983
Geos https://en.wikipedia.org/wiki/GEOS_(8-bit_operating_system)
For SID chip see also
For Apple II see https://en.wikipedia.org/wiki/Apple_II
Appendix: reference material in Italian
Il sito microatena offre una vasta selezione di libri in italiano, tra cui:
- Guida ufficiale alla programmazione di GEOS http://www.microatena.it/scheda_libro.php?id=66&ord=N#menu_tabs
- La serie conoscere il computer direttamente dal computer, basata su audicassette con software didattico della 'Edizioni Beatrice d'Este' http://www.microatena.it/biblioteca.php?id=1&ord=N&p=3#menu_tabs
- Giochiamo con il VIC 20, giochi basic in meno di 5k! http://www.microatena.it/scheda_libro.php?id=311&ord=N#menu_tabs
- See also this video from The 8Bit Guy titled "The Quest for 80 Columns on the Commodore 64" https://youtu.be/BJzOErvJwZs↩
- https://www.reddit.com/r/c128/comments/682da4/c128_ama_from_bil_herd/dgy3sln?utm_source=share&utm_medium=web2x↩
- See https://www.reddit.com/r/c128/comments/682da4/c128_ama_from_bil_herd/dgvcla9/↩