- Published on
IBM MCGA Gate Array Reverse Engineering
- Authors

- Name
- DeepHorus
A recent reverse engineering effort has uncovered undocumented features in IBM's MCGA (Multi-Color Graphics Array) video chipset, revealing capabilities such as genlock synchronization and hidden manufacturing test modes. The findings, based on meticulous analysis of physical gate arrays, provide new insights into the low-cost video solution introduced with IBM's PS/2 models 25 and 30 in the late 1980s.
MCGA was designed as a cost-reduced alternative to VGA, used in entry-level PS/2 systems and third-party clones like the Epson Equity 1e. The chipset comprises two gate arrays: a memory controller (72x8300) and a video formatter (72x8205). These arrays were fabricated using either an internal IBM process or external Seiko gate arrays, with the reverse-engineered examples being Seiko SLA6430 and SLA6330 devices.
The memory controller gate array contains 4,342 basic cells arranged in 167 rows and 26 columns on a 2μm CMOS process. It integrates an MC6845 sync generator, manages video RAM and character RAM interfaces, and handles clock selection and monitor ID readback. The formatter array, with 3,312 basic cells, decodes ISA addresses, manages the RAMDAC, and generates pixel data in both graphics and text modes.
Key discoveries include MCGA's ability to genlock to external HSYNC and VSYNC signals, brought to the video connector's pins 11 and 12. Enabling this mode requires writing a 1 to bit 3 of register 0x12, previously marked as 'Reserved = 0' in official documentation. Additionally, register 0x10 bit 3 ('Compatibility') affects only 80x25 text modes by adjusting horizontal timing, while bit 2 allows switching the video clock between the default 25.175MHz and a 14.318MHz input.
Further undocumented registers include a manufacturing test mode at 0x20, and extended test registers accessed via 0x18 (data) and 0x19 (address). The test mode supports counter speedup for chip testing. These revelations suggest IBM intentionally withheld certain features, possibly for internal validation or future expansion.
The reverse engineering community has welcomed these findings as they enable better emulation and potential hardware modifications. Detailed schematics and layouts have been published in repositories, allowing enthusiasts to explore genlock for video mixing or custom resolutions. The discovery also highlights the value of physical analysis in uncovering hidden capabilities in legacy hardware.
Looking ahead, the reverse engineering of MCGA may inspire similar efforts on other IBM chipsets, potentially revealing more undocumented features. While practical applications are limited to vintage computing hobbyists, the work demonstrates that even decades-old hardware can yield surprises, fostering a deeper understanding of early PC graphics evolution.