(I first asked this in the Raspberry Pi section, but it received no responses. I think this, Retrocomputing, might be a better fit.)
I the year 2003, I had my Xbox chipped in order to be able to run homebrew software, meaning a lot of emulators. Back then, I had very little understanding of what an emulator was, and I thought it was fantastic to be able to run all these games I never had back in the day for the actual consoles, although I was always frustrated that some wouldn't run at all or contain annoying visual/sound/logic glitches.
Fast-forward to 2020, I finally installed the latest stable version of RetroPie onto my Raspberry Pi which I bought in 2014 and which has mostly been sitting in a box since. Exact model: Raspberry Pi 700MHz Arm CPU 512MB RAM. Raspberry Pi Model B Rev 2.
(Yes, I know that the RetroPie website recommends using a RPI 4, but of course they are gonna say that since it's the latest and by far most powerful one. However, I don't have one of those: I have one of the original models, which are still supported.)
Having now spent two separate, long sessions in front of the TV evaluating this thing, trying many different games, I have to conclude that it seems... worse than the original Xbox. Some examples:
- R.C. Pro-Am II (NES) has such visual glitches while running the game that it's impossible to play it. The entire screen flickers/jumps around, but that doesn't happen in the intro or menu screen of the same game. This never happened on the Xbox.
- Super Mario All-Stars (SNES) and Super Mario Kart (SNES) run at slow motion speed all the time. They were very accurate on the Xbox.
- Most of the N64 games don't run at all. When I launch them, they just go back to the menu again, without any error message or explanation. The few that do run, for example Majora's Mask (which is odd since it was such a demanding game), or Super Mario 64, run so slowly that I had to chuckle and shake my head in disbelief. "Unplayable" doesn't even begin to describe it. N64 emulation on the Xbox was basically like running a real N64 compared to this.
With seventeen years of emulation development, and 512 MB of RAM compared to the Xbox's 64 MB, you'd think that it would at the very least be on par with that old "junk box", which I'm now starting to miss, but it's far worse! My guess is that the explanation must be that the 733 MHz x86 CPU in the Xbox is much, much faster than the 700 MHz ARM one in my RPI?
I cannot imagine that the flash card versus mechanical hard disk would matter as the ROMs would be loaded into RAM. (It does take a surprising amount of time to start playing each game, though, whereas it was instant on the Xbox. I cannot imagine that this is due to the I/O speed, though.) Maybe the video chip of the Xbox helped a lot with emulation somehow? This really makes me confused. While I didn't expect anything near perfect emulation, especially not for N64, this is remarkable.
I should note that all of this happened even without me even having applied any "shaders", so it was not that dragging down the performance of the poor RPI. I also did not change any of the settings into some kind of unusual/experimental way.