Why Are PS2 Games Still So Hard To Emulate?


Having sold over 155 million units, Sony’s PS2 is the best-selling console of all time. Not only did it perform the function of a game console, but also acted as a DVD player for your living room. Emulation is the primary means for modern games to enjoy PS2 titles on their modern PCs, but you will be surprised how hard it is to pull off.

Why are PS2 games still so hard to emulate? The answer lies in the complexity of the PS2’s Emotion Engine processor and Graphics Synthesizer GPU which are very hard to recreate via software. Game developers in the early 2000s often complained about how difficult it was to code for the PS2.

Unlike the original Xbox which uses a Pentium III running x86 instructions, the PS2 is powered by a MIPS R5900 which is a RISC processor. Because of how the PS2’s hardware is designed, writing parallelized code is crucial to extracting maximum performance. The Emotion Engine’s dual vector units perform a lot of graphical calculations, and the DMA controller is essential to keep the various coprocessors fed.

Why Are PS2 Games Still So Hard To Emulate?

It all comes down to the complicated architecture of the PS2. Back then, game developers who were familiar with PC titles on engines like Unreal found it a daunting task to transfer that expertise into the PS2 environment. Microsoft’s Xbox was much easier to work with since it used a Pentium III- similar to gaming PCs of that time.

However, the PS2 featured a RISC microprocessor with dual special-purpose vector units. These vector units were designed to do one thing- 3D maths. With their exceptionally high floating point performance, these Vector Processing Units functioned as vertex shader pipelines.

And because the PS2 didn’t have massive amounts of cache or RAM like a PC, you couldn’t just hold data in the buffer to be processed in batches. To keep the various coprocessors fed with data, you had to use the DMAC. Which controlled the flow of data between the various components on the PS2’s board (the PS2 had no shortage of bandwidth despite its small memory and cache).

In addition to all this, the PS2 also had an I/O chip that handled communications between the CPU and controllers. This I/O chip also dealt with USB data. And the most interesting part is that Sony used a PS1 processor as the PS2’s I/O chip, to aid with backward compatibility.

Try imagining how hard it would be to recreate all of this in software, and somehow make it interface with your modern GPU + CPU that uses DirectX 11 or 12. You also have to go through a modern OS layer.

If you own a PC made in the last 12 years, your hardware has the raw performance to run a PS2 game with ease. But getting every PS2 game to work reliably with modern operating systems and graphics APIs is a tough job.

Why Is PCSX2 So Demanding?

Some gamers have noticed that they get frame drops and input lag despite running PCSX2 on a modern gaming PC. Surely it can’t be a RAM problem. Because any system with 512MB of RAM or more is equipped to emulate PS2 games with ease.

It also can’t be a processor bottleneck. Because modern CPUs are literally hundreds of times faster in both single and multicore performance compared to the PS2’s Emotion Engine. And a modern GPU is strong enough to run fifteen separate instances of the PS2 entirely in software.

So the issue comes down to optimization. Because of the wide range of possible PC configurations, PCSX2 developers must go through several test cycles and validate settings or features for different hardware. You could be running an Intel i5 from last year, but someone else could be running an AMD Athlon from 2012.

While you might have the latest RTX GPU in your system, there still are people using Intel HD integrated graphics. And because PCSX2’s code base has become bloated over the past decades, things tend to break. And PCSX2 can’t even take advantage of all 8 or 12 cores in your brand-new CPU.

Most of the time, the emulator limits itself to just 2 cores. If you’re getting graphical glitches and have a beefy CPU, try setting PCSX2 to render via CPU. If you have an older PC, try an older and lighter version of PCSX2.

How Much RAM Is Needed For PS2 Emulation?

On the upside, you don’t need to worry about RAM if you have a laptop or desktop built after 2008. Because anything with more than 512MB of RAM is technically capable of emulating PS2 games. However, the reality is a little different.

A modern operating system requires 1 to 2GB for itself. Then, you might have stuff running in the background, like Chrome and Discord (maybe some downloads going on too). Add all this up, and 4 out of 8GB might be getting used already.

Which leaves a portion of your RAM for PCSX2. If you’re running an old PC with an old OS like XP, you don’t have to worry much. PCSX2 has several versions, including ones that were released for older hardware.

But the modern PCSX2 requires at least 4GB of RAM for a satisfactory experience. And 8GB is recommended. If you add custom resolutions, shaders, patches, etc. you might need more RAM.

Can All PS2 Games Be Emulated?

According to Wikipedia, the PS2 has over 4000 games. And the latest version of PCSX2 supports 2667 of them.

In November 2021, the PCSX2 devs announced that 97% of all games ever released for the console are in a “playable” state. Playable, of course, is an arbitrary term and doesn’t tell you about the exact level of compatibility for each title. Some might consider 15FPS and flickering textures a playable experience.

Others might have higher standards. At the very least, PCSX2 can boot every single PS2 game. Except for one- Real World Golf.

PS2 vs GameCube Emulation

Even though Nintendo’s GameCube is a more powerful console on paper, it is easier to emulate than the PS2. Dolphin (GameCube emulator) delivers better performance on low-end PCs compared to PCSX2. That’s simply due to the complexity of the Emotion Engine and its Vector Units.

Hardware rendering also works better on Dolphin compared to PCSX2. The PS2’s graphics pipeline is very different from that of any modern GPU. Shaders aren’t fixed and the formulas used to achieve graphical effects can vary significantly from one game to another.

Can Android Phones Handle PS2 Emulation?

Yes, there are quite a few PS2 emulators for Android. Play!, DamonPS2, FPse, and PPSSPP are the top ones. But you won’t get an experience comparable to playing via PCSX2 on a PC.

Not because phone hardware isn’t strong enough to run PS2 games, but because the emulators aren’t as advanced as PCSX2. Developers for these don’t have the time and resources available to the PCSX2 team, nor do they have the experience.

PCSX2 has been around since the early 2000s, and it runs on x86 systems. Nobody has created a port of this emulator for Android, yet. Hence, most Android emulators suffer from graphical glitches and audio sync issues.

Conclusion

I hope this article gave you some insight into PS2 emulation via PCSX2, and why it’s so hard to run old console games on modern systems. Recreating an alien architecture from scratch in an entirely different host system is no easy job. And it gets even more complicated when your project’s goal is to create the most authentic experience, rather than delivering the best performance.

PCSX2 developers are adamant about making the most accurate PS2 emulator. I’m sure they could optimize for better gaming performance if they wanted, at the cost of accuracy. But that’s not what they are after.

Jacob

As long as I can remember myself I always enjoyed video games. I had amazing moments playing them and that's why I became a game developer, to create amazing experiences for the players. Read More About Me

Leave a Reply

Your email address will not be published. Required fields are marked *

Recent Posts