> I'm also always amazed at the hardware reqs for emulators. They suggest at least an i5 or i7 and recommend a dedicated gpu! For a gamecube! Released 15 years ago!
But it works well enough for most games even with an integrated Intel GPU, as long as you don't try to improve on the base game too much (resolution, filtering, etc..)
Emulating something as humble as an NES authentically takes way more computing power than that. We're talking about trying to faithfully recreate the characteristics of a digital computer with multiple CPUs that are highly sensitive to timing delays as well as a good amount of analog circuitry on top of that.
The emulators that exist today don't have to emulate a single CPU, that would be trivial, but the surrounding hardware.
Here's an example of someone trying to emulate a 6502-based computer (BBC Micro) and the problems they encountered when trying to run Elite, just one game: https://www.youtube.com/watch?v=RiE5pTisEd8
Older games used any optimization they could get, and they'd often exploit quirks in the hardware if it made things work better. Elite flips video modes part-way through the rendering of the screen since it was made in an era of CRTs. Trying to reproduce that effect in a frame-buffer type system is hell.
So most of the emulators out there have to fake a lot of things in order to get software and games to run properly, or at all.
> So most of the emulators out there have to fake a lot of things in order to get software and games to run properly, or at all.
Not really. The emulators for recent systems don't try to emulate the hardware anymore, they emulate the outcome of the system calls and convert them to OpenGL most of the time (HLE).
That's actually necessary for stuff like the PSP. Sony made multiple revisions of the hardware over the course of the PSP life, and therefore relies on such a system anyway to maintain the output identical despite the hardware changes.
But it works well enough for most games even with an integrated Intel GPU, as long as you don't try to improve on the base game too much (resolution, filtering, etc..)