PlayStation 2's backwards compatibility with PS1 games wasn't a simple software emulation. Sony engineer Matt Doherty reveals the PS2 hardware incorporated a full PS1 CPU, dubbed the "IOP," alongside the PS2's "Emotion Engine." This dual-core approach, while costly, provided near-perfect compatibility without the performance issues of emulation. The IOP handled PS1 game logic, graphics, and sound, sending the final video output to the PS2's Graphics Synthesizer. Minor compatibility hiccups stemmed from differences in CD-ROM drives and memory card access speeds. Doherty highlights challenges like fitting the IOP onto the already complex PS2 motherboard and ensuring smooth handoff between the two processors, emphasizing the tremendous engineering effort that went into making the PS2 backward compatible.
In a detailed 2020 Medium post entitled "The PS2’s backwards compatibility from the engineer who built it," Matt Godbolt recounts the intricate and often challenging process of ensuring the PlayStation 2 could play the original PlayStation's extensive library. Godbolt, a young engineer at Sony's Cambridge studio at the time, was tasked with leading the project of creating a PlayStation 1 emulator for the new hardware, a significant undertaking considering the different architectures of the two consoles.
The PS2's "Emotion Engine," designed for advanced 3D graphics processing, was vastly more complex than the PS1's simpler architecture. This difference meant directly porting the PS1's BIOS was impossible. Godbolt's team had to painstakingly recreate the behavior of the PS1's hardware through software emulation, including the Graphics Processing Unit (GPU), the Sound Processing Unit (SPU), and the Memory Control Unit (MCU). This emulation had to be cycle-accurate to handle the precise timing requirements of the original games.
A significant hurdle was the PS1's reliance on undocumented hardware quirks and behaviors. Games were often optimized to exploit these quirks, meaning the emulator had to replicate these undocumented features flawlessly. Godbolt describes the arduous process of analyzing the PS1's hardware using logic analyzers and other tools, essentially reverse-engineering its internal workings to understand how these games interacted with the system. He highlights specific examples, like a peculiar memory timing issue that affected certain game loading screens, demonstrating the granular level of detail required for accurate emulation.
Further complicating the project was the need to account for the various revisions and peripheral hardware of the PS1, including the CD-ROM drive and memory card reader. Different models and peripherals had slightly different characteristics that could impact game compatibility, adding another layer of complexity to the emulation process. Godbolt mentions the intricacies of accurately emulating the behavior of the original PlayStation's CD-ROM drive, which involved simulating the drive’s access times and other physical properties.
Godbolt’s narrative also touches upon the pressures of working within the constraints of a large corporation and the challenges of collaborating with different teams across international boundaries. He describes working long hours and dealing with tight deadlines, underscoring the dedication and effort required to achieve backwards compatibility. He also highlights the satisfaction of seeing their work come to fruition, allowing gamers to seamlessly transition to the new console while preserving their existing game libraries. Ultimately, the successful implementation of PS1 backwards compatibility in the PS2 is presented as a testament to the ingenuity and persistence of Godbolt and his team.
Summary of Comments ( 84 )
https://news.ycombinator.com/item?id=42931241
Hacker News commenters generally praised the article for its technical depth and the engineer's clear explanations of the challenges involved in achieving PS1 backwards compatibility on the PS2. Several commenters with hardware engineering backgrounds offered further insights into the complexities of hardware/software integration and the trade-offs involved in such projects. Some discussed the declining trend of backwards compatibility in newer consoles, attributing it to increasing complexity and cost. A few nostalgic comments reminisced about their experiences with the PS2 and its extensive game library. Others pointed out interesting details from the article, like the use of an interpreter for PS1 games and the clever way the engineer handled the different memory architectures. The engineer's pragmatic approach and dedication to quality were also frequently commended.
The Hacker News post titled "The PS2’s backwards compatibility from the engineer who built it (2020)" has generated a number of comments discussing various aspects of the original PlayStation 2's hardware and software design choices related to backwards compatibility.
Several commenters express admiration for the engineering ingenuity involved in achieving PS1 backwards compatibility on the PS2, especially given the differing architectures of the two consoles. They highlight the complexities of emulating the PS1's custom hardware, including the Graphics Processing Unit (GPU), on the PS2's more advanced hardware. The challenges of handling different clock speeds and memory management are also mentioned.
Some comments delve into the technical specifics of the PS2's "Emotion Engine" and how it interacted with the embedded PS1 "IOP" (Input/Output Processor) to provide the backwards compatibility functionality. The discussion includes references to the PS1's BIOS being included on the PS2, further emphasizing the hardware-level integration.
A few commenters share personal anecdotes about their experiences with the PS2's backwards compatibility, noting varying levels of success with different PS1 games. Some mention specific titles that exhibited compatibility issues, like graphical glitches or performance problems, while others recall a seamless transition between generations.
The topic of using different versions of the PS2 BIOS to improve compatibility with certain PS1 games also emerges in the comments. This suggests that the emulation wasn't perfect and required ongoing tweaks and adjustments.
There's a thread discussing the impact of regional differences (NTSC, PAL, etc.) on backwards compatibility, with some users reporting issues playing games from different regions on their consoles.
Finally, several comments compare the PS2's approach to backwards compatibility with other consoles, both past and present. Some argue that the PS2's solution was particularly elegant and effective, especially given the technological limitations of the time. Others point out that later consoles have adopted different strategies, such as software emulation or virtualization, which offer different trade-offs in terms of performance and accuracy.