Skip to content

Commodore 128: Missed Opportunities

The Commodore 128 should have been magnificent. It had every opportunity to be the machine that took the C64’s legacy and ran with it. Instead, Commodore’s engineers delivered something that was essentially a C64 with a Z80 bolted on and some banking tricks. What a waste.

What We Needed: A Real VIC-III

The single biggest missed opportunity was the VIC-IIe (8568). It’s basically a VIC-II with a few tweaks. What we actually needed was a proper VIC-III — a ground-up redesign running at 2MHz or higher, with 16+ hardware sprites, additional colours, and none of the legacy limitations that make C64 programming such a battle against the hardware. Imagine what coders could have done with double the sprites and a processor that didn’t have to slow down every time the video chip needed the bus.

The $D030 Test Bit

Here’s the maddening thing: PAL C128s have this undocumented test bit at $D030 that unlocks 11 extra colours from the VIC-IIe. Crest’s Risen From Oblivion demo exploited this beautifully. Eleven extra colours were sitting right there in the silicon, hidden behind a single bit, and Commodore never documented it or made it part of the official spec. That tells you everything about how little thought went into pushing the platform forward. The capability was literally there and they buried it.

The Z80: Nobody Asked For This

Who at Commodore thought CP/M compatibility was a selling point in 1985? By the time the C128 shipped, CP/M was already a dead man walking. The Z80 CPU sits there consuming board space and adding cost, doing absolutely nothing for games or demos. That silicon budget should have gone into a second SID chip, or a DMA controller, or literally anything useful.

The 2MHz Lie

The 8502 can technically run at 2MHz, and it does — but only when the VIC-IIe isn’t accessing memory, which in practice means only during the vertical blanking interval and in text mode with the screen blanked. The moment you need the VIC-IIe to display anything interesting, you’re back to 1MHz because the video chip needs the bus. So the “fast mode” is useless for games. You get 2MHz for file operations and BASIC programs running with a blank screen. Brilliant.

What Should Have Been

Dual CPUs done properly — not a 6502 and a Z80, but two 6502-family processors, one dedicated to I/O and sound, the other to game logic. A second SID for stereo audio. An expanded instruction set with some of the missing opcodes we’re always wishing for. Safe VSP scrolling without the badline timing nightmares. These weren’t impossible asks in 1985. The Amiga was doing far more ambitious things at the same price point.

Instead, we got a machine whose primary virtue was “it runs C64 software.” Which, frankly, the C64 already did perfectly well on its own.

See also: C64 development tools · retro coding thoughts · Seawolves — what the C64 can do