WelcomeUser Guide
ToSPrivacyCanary
DonateBugsLicense

©2025 Poal.co

(post is archived)

[–] 1 pt

Wow, still rocking an original B. I have a few of those laying around, but the two that run my network are a 2 and a 3, along with an Odroid C2 to handle the networking tasks that require a real Ethernet port. My original B units don't get much use these days, I should find something to do with them.

I can see why SNES and MAME are killing it tho a single core 800MHz ARM isn't anywhere near enough to handle the emulation properly with a giant OS in the way.

[–] 1 pt (edited )

Even without giant OS, it just can't handle snes emulation without something like 50% frame drop

However, neogeo emulation works fine, surprisingly... I guess this has to do with the neogeo processor which is maybe "a closer relative" to ARM types. I'm not sure, but I don't see any other explanation, because a neogeo is supposed to be a bigger animal than a snes, so it doesn't make much sense to be able to run neogeo but not snes, unless there's a trick, somehow

https://en.wikipedia.org/wiki/Neo_Geo_(system)#CPU

Main CPU processor: Motorola 68000 (often a second sourced version, usually by Toshiba or Hitachi) @ 12 MHz (16/32-bit instructions @ 1.75 MIPS[26])

CPU co-processor: Zilog Z80 @ 4 MHz (also used as audio controller) (8/16-bit instructions @ 0.58 MIPS[26])

...

Now I don't know much about processors

[–] 1 pt

It's more to do with the fact that they need to emulate all the specialty chips in software, using the Pi's CPU.

The CPUs used on the old consoles, typically a Z80 - as you said, an 8 bit CPU with 16 bit registers - and a Moto 68k, A 32 bit CPU, are well ancient and understood at this point, so making analogs of those devices is pretty easy. It's to the point where one of the larger arduino boards is more than capable of running the Z80's common OS, CP/M. Those two CPUs are just old school CISC processors, their relatively small instruction set and limited power make them easily emulatable.

It gets tricky when you try to emulate graphics and sound chips. If you're lucky, you have a GI AY-3-8910 or one of Yamaha's FM chips for sound, but graphics were usually special to the console and all of that has to be emulated, usually based on reverse engineering of the instruction set and how the device works. Since you don't have that silicon in your Pi, the CPU and software has to do it, and that requires a lot of power.

ARM is also a bit different in how it works, but what it boils down to is you can (typically) shove more junk through an x86 CPU compared to an ARM CPU of the same speed. More bits processed means more power for the emulator.

TL;DR: There's a lot going on under the hood of an emulator. The CPU is doing EVERYTHING.