eli5 If video game consoles are essentially just weaker computers, why did it take so long for PCs to get 7th gen console emulators, why are we only just getting 8th gen emulators, and how long until we see 9th gen emulators?

620 views

eli5 If video game consoles are essentially just weaker computers, why did it take so long for PCs to get 7th gen console emulators, why are we only just getting 8th gen emulators, and how long until we see 9th gen emulators?

In: 1

14 Answers

Anonymous 0 Comments

Former game developer here,

> If video game consoles are essentially just weaker computers

They aren’t.

> why did it take so long for PCs to get 7th gen console emulators

You need to emulate a 3.2 GHz processor for both the XBox 360 and PS 3. Processors today are still in the 2.x-3.x range, with bursting maybe up to 4.x. Not only is speed a concern, but more importantly there is architecture that needs to be translated from one CPU to the other. “A + B” may not be implemented in the circuitry the same way from the PowerPC to the x86. The complexity of this issue is one that cannot be summarized easily. There are very subtle timing issues, even bugs at the hardware level, that need to be correctly emulated. Plus you have the overhead of reading the program as data in software and dispatching each opcode to your emulator subroutine. So you’re not going to emulate a 3.x GHz CPU on another completely different 3.x GHz CPU.

There’s a project called GateBoy, which is a first-gen gameboy emulator, all the way down to the circuitry. They did it by decapping a GameBoy CPU, taking a picture of the traces under a microscope, and using software to generate a map, and again to generate the emulator code from that. It’s a per transistor emulator. A) It’s still not completely correct, because there are hardware error cases that are not trivial to reproduce – there are test cases compared to actual hardware the emulator still fails to faithfully emulate. And B) It only runs 5-6 FPS on modern hardware.

Do you need that much faithful reproduction? Not always, and game emulators try to skirt as much responsibility for the sake of performance as possible, but sometimes it is indeed necessary, especially if games rely on some weird quirk. This is by no means a trivial problem.

In short, emulation is mostly overhead. Mapping the ADD instruction from one CPU to another isn’t enough. You can do all that and still have a non-functioning emulator.

Given the level of difficulty, I’m not sure why developers even try. Really. It would likely be faster and easier to JUST BUY a compatible CPU and build a PCI-E daughter board that just runs the program for you. Or if the CPUs are out of production, reproduce it with an FPGA.

I mean, that’s what Sony did. The PS3 was backward compatible with the PS2 because they built a PS2 into the PS3, processor and all. There was no emulator there. I haven’t kept track of more modern consoles, but each generation switches architecture, so this is how the manufacturers mostly maintain backward compatibility, if they bother in the first place.

> why are we only just getting 8th gen emulators

Both the XBox and PS were based off the AMD Jaguar. By the graces of AMD, this very-not-x86 CPU still supported a lot of x86 extended instruction sets like SSE and MMX. AMD basically copy/pasted these units from their x86 lines and made this hodge-podge weird processor. This means a fair amount of instructions in program code will map pretty efficiently to x86 in an emulator.

> how long until we see 9th gen emulators?

9th gen are x86 processors. This is going to be more of a DRM problem than an emulation problem. It’s hard to say, really.

I recommend you just buy a PC port of the same game, if available.

You are viewing 1 out of 14 answers, click here to view all answers.