(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:

  1. 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.
  2. 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.
  3. 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.

  • 4
    I'm sorry, but I suspect that both your XBox and Raspberry Pi are too modern to count as retro for the purposes of this site, and questions about emulating old machines are discouraged unless they are also about the old machines themselves. – Mark Williams Oct 23 '20 at 20:10
  • Maybe could be moved to rpi stack? – knol Oct 23 '20 at 21:43
  • Different design goals: An R Pi is meant to be physically tiny, to consume very little electrical power, and to be cheap as dirt. Not really compatible with the design goals of a game console. – Solomon Slow Oct 24 '20 at 17:27

The original Xbox has a 733MHz Pentium 3 CPU, coupled to a GPU that is essentially an Nvidia Geforce 3. They share a 128-bit DDR memory interface that supports 6.4 GB/s bandwidth.

The original Raspberry Pi Model B has a 700MHz ARM1176JZF-S CPU core, coupled to a Broadcom VideoCore 4 GPU (which occupies the majority of the die area in the central SoC). The RAM interface is DDR2 but only 64-bit, and I wasn't quickly able to find out its bandwidth.

The GPUs of the two machines are fairly similar in performance. The CPUs however are not, as an interview shortly before the Raspberry Pi's release makes clear:

Overall real world performance is something like a 300MHz Pentium 2…

Emulation relies heavily on CPU performance, so that is what's holding you back. Later Raspberry Pi models have considerably more capable CPUs.

  • and even with rPI3 not all games are smooth. ARM chips were designed for low power consumption, intel chips didn't care about that aspect, and are generally faster (and hotter too) – Jean-François Fabre Oct 23 '20 at 20:45

Not the answer you're looking for? Browse other questions tagged or ask your own question.