How to improve on the N64, Dreamcast and PSP emulation (RetroPie)
-
@Allanbuzzy said in How to improve on the N64, Dreamcast and PSP emulation (RetroPie):
What do you think could the RetroPie team improve on the PSP/DC/N64 emulation? Post your ideas here.
-
@Allanbuzzy said in How to improve on the N64, Dreamcast and PSP emulation (RetroPie):
Then what was the point of adding N64 if it was so laggy and buggy? Shouldn't they maybe like, keep it until a Raspberry Pi has a better CPU?
Feel free to uninstall the N64 emulators from the RetroPie-Setup script.
RetroPie works on other hardware also btw.
-
Did you overclock the cpu, the gpu, and add a cooling fan yet? Because I'm not having any problems with n64 at this point.
-
Honestly, feel free to contribute to the various emulator projects in the works, or write your own. Then give it out for free to be complained about because running it on a computer that is less expensive than a half decent meal is less than optimal.
Honestly.
-
Just a few loose facts (I'll let you connect the dots)
-
The Raspberry Pi isn't just "nearly better" than those systems. It is, indeed, MUCH MORE POWERFUL. The Dreamcast, the most powerful of the 3, has got a 200Mhz CPU and 16MB of ram. Stock Pi 3 has 1.2Ghz CPU and 1GB of ram, plus a nice integrated GPU.
-
There's something called "architecture" when it comes to hardware (type of internal instructions, the way those instructions are addressed, how the CPU reach out for the RAM, etc.). Those system are notoriously difficult to emulate even in beefier systems due to their "esoteric" architectures. The Raspberry Pi is esoteric itself, based on ARM, which is low voltage and made for mobile. The foundation of all those emulators is the 8086 architecture, which is basically the same for all Intel based desktop CPUs. So it's like having a Russian guy conversing with a Chinese having a Hungarian mediating (and they barely know each other's languages).
-
Some systems are so esoteric that we can barely get them to run at all, such as the Saturn and its 8 processor units.
-
Any emulation will take up more resources in the host HW than it needed in the original one. It's not a spec by spec thing. Unless you gonna go for brute force (dumb/unoptimized code running on extremely powerful HW to compensate), sometimes better specs don't help. Maybe a Pi 4 won't be any better at emulating those systems. A Pi 5 certainly won't run Saturn as it is today unless better coded emulators come around.
-
What can we do to improve those emulators - ideas here - is the silliest thing ever. Common sense dictates we already have hundreds of brilliant and talented guys from all around the world working on them as you read this, and for free. Think about it, you're not the first to have this idea, nor are the first wishing those emulators were running butter smooth. No great sparkle will come from this, specially from people who know fuck all like you and me and the rest of the users. We are retro gaming enthusiasts, but can only hope to give technical insights on how to better emulate the "detailed texture mapping with perspective correction, anti-aliasing, Z-buffering, trilinear filtering, Gouraud shading, and 256 level alpha blending" of the N64. "Oh, they should make they run faster", besides being freaking obvious, isn't really an idea.
-
Don't go to a medical forum and say "Hey guys, I'm annoyed that there's no cure for cancer. Ideas here."
-
The brilliant work done on those emulators renders some games playable. Not only that, they are the foundation on which anyone can make improvements, hence why they must be made public, so the knowledge is shared. And not only that, they're free. Please, don't complain. In fact, say thank you.
-
-
@fabio78 said in How to improve on the N64, Dreamcast and PSP emulation (RetroPie):
great post :)
Maybe a Pi 4 won't be any better at emulating those systems. A Pi 5 certainly won't run Saturn as it is today unless better coded emulators come around.
indeed, as the emulators progress they tend to become more accurate and less 'hacky', so the specs required to emulate any given system tend to go up. eg, it is said you need a 3GHz cpu to 'accurately' emulate the humble SNES: http://www.tested.com/tech/gaming/2712-why-perfect-hardware-snes-emulation-requires-a-3ghz-cpu/
ps if you want to feel good about n64 emulation, go look at the gliden64 repo: https://github.com/gonetz/GLideN64. it's the plugin used in mupen64plus-gliden64 and is getting better every day (although i think at the moment we're stuck at a slightly older version for whatever reason).
-
@dankcushions said in How to improve on the N64, Dreamcast and PSP emulation (RetroPie):
indeed, as the emulators progress they tend to become more accurate and less 'hacky', so the specs required to emulate any given system tend to go up. eg, it is said you need a 3GHz cpu to 'accurately' emulate the humble SNES: http://www.tested.com/tech/gaming/2712-why-perfect-hardware-snes-emulation-requires-a-3ghz-cpu/
Fascinating read. When those retro gaming consoles such as Retron 5 appeared, I was learning about the differences between some having the same microchips as the original HWs, some having programable chips (hardware emulation) and some having software emulation (just like Retropie) . What I never knew is how much in software emulation is hard coded for specific games instead of being an elegantly emulated environment on which they run. In the end, is like having lots of game specific emulators under a single emulator name. They're not that different than ports, then, in a sense.
-
The answer to your problem is to use a PC instead of a Raspberry Pi.
I posted a thread on this a while back, which was met with some derision:
https://retropie.org.uk/forum/topic/3574/try-retropie-on-a-pcThe short version is that, even though the Pi can't do what I need it to do, (run N64 games well) I'm still stupid because a Pi is smaller, uses less power, and somehow costs less than a free PC.
In this regard, the Pi is similar to a house brick, in that house bricks are also smaller than a PC, use less power, and cannot run N64 games satisfactorily.It's not as easy to set up as a Pi, but still pretty straightforward if you follow the tutorial:
https://github.com/retropie/RetroPie-Setup/wiki/RetroPie-Ubuntu-16.04-LTS-x86-Flavor
You don't need a particularly good PC - the one I'm using is a Core 2 Duo @ 3GHz.
Other advantages include:
- Probably free
- No special power requirements - just plug it in
- No messing around with SD cards
- Plenty of USB ports built in
- As much hard drive space as you want
- The ability to drop into a full desktop environment (Ubuntu) to perform routine maintenance, download roms etc.
Disadvantages are:
- Bigger
- Uses a bit more electricity
- It's not a Raspberry Pi
-
@jamesbeat said in How to improve on the N64, Dreamcast and PSP emulation (RetroPie):
The answer to your problem is to use a PC instead of a Raspberry Pi.
I posted a thread on this a while back, which was met with some derision:
https://retropie.org.uk/forum/topic/3574/try-retropie-on-a-pcThe short version is that, even though the Pi can't do what I need it to do, (run N64 games well) I'm still stupid because a Pi is smaller, uses less power, and somehow costs less than a free PC.
In this regard, the Pi is similar to a house brick, in that house bricks are also smaller than a PC, use less power, and cannot run N64 games satisfactorily.It's not as easy to set up as a Pi, but still pretty straightforward if you follow the tutorial:
https://github.com/retropie/RetroPie-Setup/wiki/RetroPie-Ubuntu-16.04-LTS-x86-Flavor
You don't need a particularly good PC - the one I'm using is a Core 2 Duo @ 3GHz.
Other advantages include:
- Probably free
- No special power requirements - just plug it in
- No messing around with SD cards
- Plenty of USB ports built in
- As much hard drive space as you want
- The ability to drop into a full desktop environment (Ubuntu) to perform routine maintenance, download roms etc.
Disadvantages are:
- Bigger
- Uses a bit more electricity
- It's not a Raspberry Pi
Well:
- Where do you obtain these free PCs?
- I doubt your PC runs directly on mains power. It also has special power requirement. I just plug my Pi in. Not sure what you are doing with yours.
- Burn SD image. Insert. So much hassle.
- The Pi3 has 4 USB ports. My laptop has 3. Also USB hubs are a thing.
- Connect a USB storage device. Connect an HDD or SSD. Like any computer.
- PIXEL desktop. A full LXDE desktop environment. If you don't like that one install another.Many are available.
Why do you seem to have a bug up your butt about Pis?
-
Here we go again...
Where do you obtain these free PCs? Work, friends, dumpsters, free PC's are everywhere. I've got one you can have if you can pick it up from NY.
I doubt your PC runs directly on mains power. It also has special power requirement. I just plug my Pi in. Not sure what you are doing with yours. Semantics. PC's have a built in PSU - Pi uses a specialized high power USB PSU.
Burn SD image. Insert. So much hassle. Not too difficult I agree, but still more of a pain to do
The Pi3 has 4 USB ports. My laptop has 3. Also USB hubs are a thing. Pi ends up resembling a dead octopus. USB hubs cost money and probably need powering. Extra PSU for the hub?
Connect a USB storage device. Connect an HDD or SSD. Like any computer. Yet another add-on that you have to find room and provide power for. Pi isn't looking so small and neat now, huh.
PIXEL desktop. A full LXDE desktop environment. If you don't like that one install another.Many are available.Why do you seem to have a bug up your butt about Pis?
I don't have a bug up my butt about Pi's, in fact under other circumstances I would consider myself a Pi fanboy. I was an early adopter and own several.
The Pi just can't run N64 games well. Not the best tool for the job in this case.Why do you seem to have a bug up your butt about PC's?
A PC would do what the OP wants to do.
And as you yourself said:
You do remember that the Pi is a $35 single board computer running a ten year old mobile phone CPU? I don't mean to be rude but you need to have realistic expectations. The N64 is notoriously difficult to emulate even on a good spec gaming PC. -
The Pi just can't run N64 games well.
some n64 games. your pc also can't run some n64 games well.. just not as many :)
we've already done this pi vs pc discussion on that linked thread. no point repeating it.
yes, a pc will probably be better at emulating the n64. but then you'll be complaining about it not running angrylion or paraLLEl at good speeds :)
-
@dankcushions said in How to improve on the N64, Dreamcast and PSP emulation (RetroPie):
.
we've already done this pi vs pc discussion on that linked thread. no point repeating it.
True, and I'm not interested in repeating the argument any more.
I replied to the thread to help out the OP - a PC does appear to be the best solution for the his particular use case, (as it was with mine) and I wanted to make him aware of it.
-
So this seems as good a thread as any to ask a fairly noob-ish question. I've scoured the internet for an answer to this question. It's probably the actual answer to OPs question seeing as N64 emulation certainly isn't a RetroPie problem (or even a RPi3 problem IMO if you look at PSX emu).
My question is, what is the process of an emulator becoming a core in RetroArch? PJ64 is probably the best N64 emulator out there, but obviously isn't a core for RetroArch and can't be used for RPi3. It has some nice features/accuracy compared to the current emulators (including Pokemon going over to Pokemon Stadium). It appears PJ64 became open source in 2013 (I had no idea as I dropped out of the emulation scene, before RA cured my apathy).
The TL;DR would be: What is the process of an emulator becoming a RA core/RetroPie? Is it the job of the devs to turn it into a RA core or the RA/RP team themselves? Is there any chance of PJ64 becoming an RA core or ported to RetroPie?
-
@hooperre said in How to improve on the N64, Dreamcast and PSP emulation (RetroPie):
The TL;DR would be: What is the process of an emulator becoming a RA core/RetroPie? Is it the job of the devs to turn it into a RA core or the RA/RP team themselves? Is there any chance of PJ64 becoming an RA core or ported to RetroPie?
well, it's no-ones "job" as such :) anyone could do it. both people within libretro have made libetro cores, and people outside of it. ideally the original emulator developer would bake-in support.
it's not a total re-write (the libretro api is quite robust and well documented, so you "just" need to get the hooks in the right place), but my understanding is that it gets more tricky with GL cores. i don't see a reason why pj64 couldn't be ported to libertro.. you just need to find someone to do it.
that said, as far as the pi goes, does it have an ARM dynarec like mupen64? i doubt the pi would keep up in interpreter mode. also, would the plugins work in GLES2? i fancy that it wouldn't be an improvement from mupen64, especially if you run gliden64 in both (as you probably would want to do).
-
@dankcushions said in How to improve on the N64, Dreamcast and PSP emulation (RetroPie):
@hooperre said in How to improve on the N64, Dreamcast and PSP emulation (RetroPie):
The TL;DR would be: What is the process of an emulator becoming a RA core/RetroPie? Is it the job of the devs to turn it into a RA core or the RA/RP team themselves? Is there any chance of PJ64 becoming an RA core or ported to RetroPie?
well, it's no-ones "job" as such :) anyone could do it. both people within libretro have made libetro cores, and people outside of it. ideally the original emulator developer would bake-in support.
it's not a total re-write (the libretro api is quite robust and well documented, so you "just" need to get the hooks in the right place), but my understanding is that it gets more tricky with GL cores. i don't see a reason why pj64 couldn't be ported to libertro.. you just need to find someone to do it.
that said, as far as the pi goes, does it have an ARM dynarec like mupen64? i doubt the pi would keep up in interpreter mode. also, would the plugins work in GLES2? i fancy that it wouldn't be an improvement from mupen64, especially if you run gliden64 in both (as you probably would want to do).
Haha job was certainly a poor word choice. I guess I keep thinking back to when PJ64 was closed source.
Thanks for the quick response.
-
@hooperre said in How to improve on the N64, Dreamcast and PSP emulation (RetroPie):
So this seems as good a thread as any to ask a fairly noob-ish question. I've scoured the internet for an answer to this question. It's probably the actual answer to OPs question seeing as N64 emulation certainly isn't a RetroPie problem (or even a RPi3 problem IMO if you look at PSX emu).
You are right. How can a Raspberry Pi 3 run PlayStation with no bother, but can't run a console that's advanced and more graphically intense? How can it run Super Mario 64 nearly perfect, even with some graphical and audio problems?
-
@Allanbuzzy The answer is because emulation of PSX is more mature and, quite honestly, more straight forward than emulation of a N64. It's not a RetroPie issue, or really probably even a Raspberry Pi issue, it's an emulation issue. If N64 emulation was as simple as PSX, it would likely run fine.
The question of what can the RetroPie team do to improve emulation, I thought, was a bit of an offensive one. I think the question is what can emulator devs do to improve N64 emulation on the RPi? But maybe I'm too thinned skinned when it comes to the wonderful work of the RetroPie team haha.
-
The N64 is less well understood than the PSX, so that's part of the issue.
Another part is processing power - the fact that N64 works better on a PC than a Pi proves that.My guess is that the extra processing power is only necessary because of the first issue, and that a more efficient emulator would indeed work on the lesser processing power of the Pi if one could be created.
That doesn't help us today though, which is why I'm using a PC for now.
A better emulator would be ideal, but at the moment we have to use brute force to get decent performance.It all boils down to the tightly closed and unconventional hardware of the N64.
-
@Allanbuzzy said in How to improve on the N64, Dreamcast and PSP emulation (RetroPie):
How can a Raspberry Pi 3 run PlayStation with no bother, but can't run a console that's advanced and more graphically intense?
Well, you just gave the response there in the very question, no? Isn't that obvious? Besides, have you actually read my long reply above? It explains why. Will you keep on banging on the same key?
-
@fabio78 Hahahaha! It just goes against "logic" but that's the way it is. The PSX and all following PS's have a pretty standard hardware set-up. The N64 had proprietary, complicated, custom hardware. It may be less "advanced" but it doesn't stop it being more complicated!
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.