Tech

Reverse Engineering IBM's MCGA Gate Array: A Deep Dive into 1980s Graphics

One hacker's quest to decode the chip that powered PS/2 graphics

Alex Novak|
Reverse Engineering IBM's MCGA Gate Array: A Deep Dive into 1980s Graphics
Photo by Auto Tech on Pexels

In the summer of 1987, IBM launched the Personal System/2 line, and with it, a new graphics standard: the Multi-Color Graphics Array, or MCGA. For years, the chip that drove it — IBM's proprietary MCGA gate array — remained a black box. Now, a reverse engineer named Schlae has torn it open, and the results are a masterclass in 1980s chip design.

Why MCGA Matters

MCGA was IBM's cost-reduced answer to VGA. It powered the PS/2 Model 25 and 30 — the machines schools bought, the ones that ended up in basements and thrift stores. But unlike VGA, MCGA integrated the entire graphics subsystem into a single gate array, making it a nightmare to clone. Clone makers couldn't replicate it. Emulator authors struggled. Even now, 35 years later, FPGA implementations of MCGA are incomplete.

That's why Schlae's work matters. He's not just documenting a chip. He's preserving a piece of computing history that's teetering on the edge of irrelevance.

The Reverse Engineering Process

Schlae started where any good reverse engineer would: with a microscope. He used a technique called delayering — chemically stripping away the chip's layers to expose the silicon underneath. Then came hours of photographing each layer, stitching thousands of images into a single, massive composite. The result? A 1,600x1,400-pixel image of the die, with every transistor visible.

But that's just the start. From the images, he extracted the netlist — a map of every logic gate and connection. Then he wrote a simulator to test the chip's behavior against known MCGA operations. And it worked. The simulator can now run old PS/2 games, generating VGA-like output.

“This isn't just about nostalgia. Understanding the MCGA gate array helps us understand how IBM thought about graphics in the late 1980s — and why the ecosystem evolved the way it did.”

What He Found Inside

The gate array, designated IBM 61G4133, is a 144-pin beast built on a 1.5-micron process. It contains roughly 50,000 transistors — laughable by today's standards, but in 1987, it was a marvel of integration. The chip handles everything from pixel generation to CRT timing, all in a single package.

Schlae discovered several undocumented features. There's a hidden register that controls the thermal shutdown threshold. Another register disables the DAC's internal pull-up resistors. These are the kinds of things that only matter if you're building a clone, but they're gold for anyone trying to understand the design philosophy.

The clock generator, for instance, is a ring oscillator with seven stages — a design choice that trades jitter for simplicity. The palette RAM uses a 4-transistor SRAM cell, which is smaller but slower than the more common 6T cell. Each decision tells a story about what the engineers prioritized: cost and die size over raw speed.

The Bigger Picture

This isn't an isolated effort. The hobbyist reverse engineering community has been on a tear lately. From the Intel 8086 to the Amiga's Agnus, old chips are being decapped and decoded at a rate we haven't seen in decades. The motivation? Preservation, mostly. But also the pure intellectual challenge.

MCGA is a perfect target because it's obscure enough to be interesting, but well-documented enough that you can verify your results. There are existing FPGA implementations, but they're buggy. Schlae's work provides a ground truth — a reference design that emulator authors can use to fix their bugs.

The implications go beyond graphics. MCGA is a gate array, meaning its logic is semi-custom. By reverse engineering it, Schlae has effectively published IBM's proprietary logic design. That's legally murky, but practically, it's a gift to the open source hardware community. Anyone can now build an MCGA-compatible graphics card from scratch, using the netlist as a starting point.

What's Next

Schlae has released his work under a Creative Commons license, and the full dataset is on GitHub. The next step is a proper FPGA implementation — one that exactly matches the original chip's behavior, quirks and all. That might take another year, but the foundation is laid.

For the rest of us, this is a reminder that the history of computing is fragile. Every proprietary chip that goes undocumented is a piece of that history lost. Hackers like Schlae are the archaeologists of our digital past, and their work ensures that the machines of the 1980s aren't just forgotten artifacts in landfills.

So here's to the MCGA — the ugly duckling of IBM graphics. It never got the glory of VGA, but thanks to one obsessive reverse engineer, its secrets are finally on the table.

Advertisement
#IBM#MCGA#reverse engineering#graphics#retro computing
分享到:XfWB