For hardware enthusiasts and retro gaming historians, the project bridges two distinct eras of video game history. It highlights how legacy standards, dating back to the Atari 2600, influenced console design for decades, while demonstrating the power of modern microcontroller technology and open-source collaboration to overcome hardware incompatibilities.
The Engineering Challenge: Bridging Two Distinct Eras
To understand the significance of MattKC’s adapter, one must examine the vastly different design philosophies of the hardware involved. The Philips CD-i (Compact Disc Interactive), released in 1991, occupied a strange space in home entertainment. Conceived primarily as an interactive multimedia device rather than a dedicated video game console, its control scheme options were notoriously clunky, ranging from infrared remote controls and trackballs to proprietary, poorly responsive gamepads.
On the other end of the spectrum sits the Sega Genesis (Mega Drive outside of North America), a 16-bit powerhouse launched in 1989 that prioritized fast-paced arcade action. The Genesis relied on precision control inputs, most notably its iconic ergonomic gamepads. For decades, players locked into the Philips CD-i ecosystem lamented the lack of reliable, high-performance controller options.
The core of MattKC’s project involved designing a custom hardware and software bridge—dubbed gencdi—that translates the electrical signals of a Sega Genesis controller into a language the Philips CD-i can understand. However, the endeavor required much more than simple wire-crossing; it demanded a deep dive into the historical evolution of joystick ports and data polling methods.
A Historical Journey Through the DB9 Connector
MattKC’s documentation begins with the foundational ancestor of modern console control ports: the Atari 2600. Released in 1977, the Atari 2600 standardized the 9-pin D-sub (DB9) connector for joysticks. This simple design utilized discrete digital lines corresponding to up, down, left, right, and a single action button. Each direction and button acted as a simple switch that completed an electrical circuit to ground when pressed.
This standardized DB9 interface proved so robust and cost-effective that generations of computer and console manufacturers adopted it, including Commodore, MSX, and eventually Sega for the Master System and Genesis.
However, as video games grew more complex, a single action button was no longer sufficient. When Sega developed the Genesis, engineers retained the familiar DB9 physical connector to maintain backward compatibility with Master System accessories, but they faced a severe shortage of unused pins to accommodate a multi-button layout.
The Genesis 3-button controller cleverly worked around this limitation by utilizing multiplexing. By toggling a select line (pin 7) controlled by the console, the hardware could alternate which buttons were reported across the limited available data lines. This ingenuity allowed a compact cable to transmit multiple distinct inputs without requiring a complete redesign of the port architecture.
The complexity escalated further with the introduction of the Genesis 6-button controller. To pack six action buttons (A, B, C, X, Y, Z) plus a Start button into the same DB9 footprint, Sega engineers devised a rapid-polling handshake protocol. By cycling the select line multiple times in a specific sequence within a single video frame, the console could query the state of all buttons sequentially before the player even noticed a delay.
Decoding the Philips CD-i Protocol
Having established how the Genesis controller reads and transmits input data, MattKC turned his attention to the target hardware: the Philips CD-i. Unlike the straightforward switch-based or multiplexed designs of the Atari and Sega eras, the CD-i utilized its own proprietary communication protocols for peripherals.

Interfacing with the CD-i required reverse-engineering how the console requests and receives data from its native controllers. Rather than relying on simple continuous electrical connections, the CD-i expects specific data packets and timing sequences.
To bridge this gap, MattKC utilized a modern microcontroller programmed to act as a translator. The open-source adapter—freely available on GitHub under the repository name gencdi—reads the rapid multiplexed state of the Sega Genesis controller, processes the digital signals in real-time, and reformats the output into the precise data stream demanded by the Philips CD-i console.
The Physics of Input Lag and Rapid Polling
One of the most fascinating technical observations highlighted in the project is the mechanics of input polling frequency. Because adapters like gencdi must interpret complex polling sequences from both the source controller and the destination console, questions of latency naturally arise.
In his technical breakdown, Matt noted that these microcontroller-based adapters cycle through button state changes multiple times per frame. This ultra-fast processing cycle ensures that translation happens virtually instantaneously, resulting in little to no perceptible input lag during actual gameplay.
In the realm of retro gaming, where precise timing can mean the difference between victory and defeat, input lag is a critical metric. The ability of modern microcontrollers to execute thousands of instructions per microsecond allows hardware translators to bridge generational divides without degrading the responsive feel of classic controllers. While theoretical edge cases might exist—such as comparing the processing overhead of a 3-button Genesis controller versus a more complex 6-button variant—practical testing confirms that the added latency is effectively zero.
Open-Source Evolution and Community Impact
True to the ethos of the modern retro gaming and maker communities, MattKC’s release of the gencdi project was designed to be collaborative and accessible. By publishing the schematic, firmware, and documentation on GitHub, he invited other engineers, hobbyists, and developers to inspect, replicate, and improve upon his work.
Shortly after the project’s public debut, members of the retro tech community began building upon the foundation, modifying the design to suit alternative form factors and expanding compatibility options. This rapid iteration underscores the vitality of open-source hardware development. When creators share their methodologies transparently, innovations multiply, transforming niche hardware hacks into polished, community-refined tools.
Broader Implications for Retro Gaming Preservation
Projects like the Genesis-to-CD-i adapter carry significant implications for the broader ecosystem of video game preservation and hardware restoration. As original controllers for niche, commercial failures like the Philips CD-i age, break, or become prohibitively expensive on the secondary market, finding reliable replacement input devices becomes a major hurdle for enthusiasts.
Original CD-i controllers are notoriously prone to mechanical failure, degraded rubber membranes, and failing internal components. By enabling players to substitute ubiquitous, durable, and ergonomically superior controllers—such as the Sega Genesis gamepad—into vintage systems, hardware modders are extending the operational lifespan of aging media platforms.
Furthermore, these initiatives demystify vintage hardware engineering. By documenting the exact electrical characteristics of DB9 ports, multiplexing schemes, and proprietary console handshakes, creators provide educational resources for a new generation of electronics enthusiasts.
Ultimately, MattKC’s endeavor demonstrates that the boundaries of retro hardware are entirely malleable. Through a combination of historical research, microcontroller programming, and community collaboration, classic systems can be given a new lease on life, proving that even the most maligned relics of multimedia history can still be enjoyed the way they were meant to be played: with a great D-pad in hand.
