PS3 emulator?

Page 4 - Seeking answers? Join the Tom's Hardware community: where nearly two million members share solutions and discuss the latest tech.
Status
Not open for further replies.

So, based on the ps3's difficulty to emulate, do you think the ps4 could be emulated earlier or is that even harder?
[/quotemsg]

much harder, since the gddr5 ram is shared between the cpu and gpu. It'd require a lot more power than would the ram types separately.
 


much harder, since the gddr5 ram is shared between the cpu and gpu. It'd require a lot more power than would the ram types separately.[/quotemsg]

when you say harder you mean to code it or how much power we need (like we need to wait into ddr4 or ddr5 ram comes out
 


The hardware would be a LOT easier to emulate; no more having to keep the PPE/SPE's filled, no more EDRAM buffer. Its a more sane architecture. Obviously, the hardware is more powerful though, so while the act of emulating the hardware will be simpler, you'll likely have significant performance issues, simply due to the power behind it.

The OS behind it would be a lot HARDER though, and that might be the real performance killer. As VMWare can attest, emulating an X86 OS within an X86 OS can take quiet a bit of power to perform.
 


Since the thread has already been necro-ed and the topic has changed...

Just so we get a handle on what we're talking about here, are we saying you'd need a heavily overclocked i5 and high end gaming card, or are we talking six-core i7s and extremely high-compute cards? (We'll consider a x64 OS and 8-16GB of ram to be a minimum.)

As for emulating the OS, that should be something avoidable, shouldn't it? If we skip the OS emulation and have it only send the commands like the OS would - i.e. when you pick a game in the emulator it skips loading the BIOS (similar to what PCSX 2 can do) and jumps straight to as though you had just told the os to run that game.

Also... if there were a kickstarter out there to fund the hardware and manpower for developing this thing, I would more than happily throw in $60-$120 into the pot, and I know a lot of other people who would as well. We need to make this happen!
 
Personally, I'm not that interested in whether we can run PS3 games smoothly on a gaming PC yet - we obviously can't unless there is a change in the way we do emulation. What I'm interested in first is whether, any time soon, we will actually be able to run PS3 games (or even just one commercial game) on any computer, even if we have to suffer low framerates or not-quite-high-definition.

This must be possible; the issue is just finding someone (or more likely a team of people) with enough knowledge to be able to do this. If this is possible, how come (assuming we have the programming power) we can't run PS3 games on our PCs? Many gaming PCs are much more powerful than a PS3 and some PC games have more involved graphics, so what's the problem (ignoring the fact that the emulator has to run on top of our GUI operating system)? The problem (as far as I can tell) must therefore lie in emulating the PS3's architecture.

If we have the (object) code that was written for one particular machine and then we try and run that on another machine, obviously we are going to have some problems. Firstly, the instruction sets are different, but the emulator knows this and accounts for it. Secondly, when, for example, the processor gets told to store 1GB of data in its cache registers, we aren't going to be able to do this. So what do we do? We find a work around and write the emulator so that when the cache gets full we put things in main memory instead.

I don't understand why this has to be the case - couldn't we create an emulator that translates the ROMs you download (before you play them, not in-game) so that they can be processed in the same way as PC games? This would speed things up as emulators wouldn't have to translate non-sensical instructions on the fly (e.g. so that they refer to main memory instead of cache). We have also seen that we don't need to put everything in cache - high intensity PC games don't do that and still manage not to implode. Ergo, when translating a ROM we can change most of the 'store in processor cache' commands to 'store in main memory' - the only reason the game developers choose to put so much in cache on the PS3 is because they can so may as well. (Excuse me if I'm wrong about the PS3 having more cache, this is kind of a generic emulator example)

This principle can apply in many other areas, such as the fact that instructions don't have to be executed on a particular core, and some don't have to be executed in exactly the right order. When a user presses the up key, instead of the emulator sensing this and sending a trigger to the game code that the analogue stick has been pushed up, the game code can instead be adapted to sense for the up key being pressed, meaning the middle man (the emulator) is removed and processing/time is saved. The timings can also be adapted depending on the CPU's clock speed. A framerate of 60 fps is also not essential, as the difference people think they can see is almost always a placebo effect. In my experience with emulators, choosing the right 3-D renderer also plays a large part in performance, but many don't bother experimenting and give up.

I don't claim to be an expert on this kind of thing, but I do have experience of CGI, graphics and programming. Emulators are probably doing some of this stuff already, but I'm pretty sure there won't be one going to this extent. Perhaps there's a reason that this won't work; if so, enlighten me.
 
Clearly, you don't really understand how it all works.

In emulation, everything is fictively designed. An emulated CPU is nothing more than synchronized instruction management implemented through a layer of APIs down to the actual, real machine code(CPU). Emulating a CPU can be done very easily; just know how a CPU works! That's the first step. Now, emulating a bunch of different CPUs (vector processors, co-processors, etc.), pipelines (GPGPU/GPU, CPU, buses), memory synchronization (DDR3/DDR4/DDR5), timing calls, instruction sets through binary decoding, high-level emulation when necessary, and managing everything working together straightforwardly. That is what makes it intensive and difficult, but impossible is always out of question.

PS3 emulation can exist, but it is going to be nightmarishly hard. If more people contributed to RPCS3 who know what they're doing, the process will move alonger much faster, and some kind of firmware emulation/gameplay can indeed happen(even if at 5-10 FPS of gameplay).

If you mean can the PS3/PS4 be emulated? Sure. Can they emulate a commercial game and the system entirely? Sure, but that's where nightmarishly comes to use again. If there was a bigger team of people working on this, we'd see appreciable PS3 emulation in the years to come. PS4 as well, but the project becomes much more at a halt. You aren't just emulating the CPU; you're emulating all the big components to some degree. High-level emulation is a gap filler; it tries to emulate something without actually emulating the underlying routine(kind of like emulating the emulating).

Anyways, RPCS3 has come a long a good way so far, but it's still a poor project with only 12 active developers. At that rate it will take forever.
 
I agree that emulation of any games console would be immensely complex, but there must be some way of simplifying the operations that need to be performed by the CPU/GPU, as I can't help thinking we're missing something if the emulator needs 5 times the processing power of the original console. It seems to me that this is either because the number of operations needs to be reduced, and/or they need to be distributed over the different hardware components more effectively. What the technology community has achieved so far in terms of emulation is very good and hardly anyone had even heard of it or considered it a few years back, but concerning the PS3, we haven't reached anywhere near the entropy yet.
 
There are many ways to simplify the process. Some of these ways are to, instead of emulating the entire system perfectly, emulate enough of it to where it is sufficient enough. Since the key here is emulation, not simulation, we are trying to be able to play these games LIKE they were on the real hardware(they aren't). Hardware is orders of magnitudes harder to emulate perfectly as it gets more and more modern.

PS3 is very much insane to emulate perfectly, so the current devs are probably doing their best to chip at any edges they can to emulate it without the need of so much memory and processing power. They want accuracy, but shooting for too much accuracy will bite you when you need more resources than can be called for to get a perfect glimpse.

The PS2 emulator, PCSX2, managed with dynamic recompilation, and looking through the source code it's not out of this world difficult. And it emulates enough of the PS2 hardware to parse the games and give the 100% illusion of playing it on your actual PS2.

But since PS3:

1.Uses locked-down Blu-ray discs to store the games, and only hackarounds have enabled viewing of the source contents.
2.Uses eight processors, each with their own memory bus, instruction set, 128-bit SIMD, static RAM, plus a main CeLL processor(which is tough to emulate). One of the eight SPEs used is for the OS, and the rest must work in-sync(this is hell to get to right).
3.EIB, or Element Interconnect Bus, which connects all components together, including the PPE core which encompasses all eight SPEs.
4.RSX "Reality Synthesizer", the graphics chip. Based on the difficult NVIDIA GeForce 7 line of graphics GPUs, this is no walk in the park.

So yes, in theory, of course, we should be expecting it one day in the future(especially if more people work at it, and work at it right), but the people working now on PS4 EMX have really bit off more than they can chew(a small group of people reportedly are trying to write Playstation 4 Emulator).
 


You have it wrong somewhat, BahamaMan. Dynamic recompilation is used so, instead of having to purely interpret every instruction by the emulated instruction parser, code is recompiled as you play so it can be fetched when needed(also, cache is used). While most of everything else you said is okay, the dynamic recompilation part is wrong.
 


Item 2 is the one that will kill you. Remember that you need to keep all 7 SPE's [remember: One is disabled due to yield constraints], and their cache, and for perfect accuracy, instruction pipelines, in sync, at all times. While going through an OS like Windows where you have almost ZERO control over when any given thread actually runs. Which means the process for managing this is either going to be cooperative threading [which is a PAIN], or using a single thread, and emulating 8 SPE's on a single CPU core, obviously, is going to be a major performance bottleneck.

The GPU is also going to be a pain, since NVIDIA is very secretive about how its GPU's actually work. That's the main reason we don't have an Xbox 1 emulator yet; no one can figure out the hardware behind the NVIDIA GPU. And no, you can't just pump the information to a NVIDIA GPU sitting in your system; you still have to emulate the thing.

If you had infinite processing power, sure, its doable. But we don't, so you'll see a lot of shortcuts taken for performance reasons, which ALWAYS results in those titles that simply will not work. Hence the old "cycle accuracy" debate in the emulation community.
 
Well, if the question is simply "Will pS3 games be playable perfectly on my computer through an emulator anytime soon?" expect a big NO.

If the question is, and more appropriately, "Can RPCS3 maybe manage to emulate basic bootup and possibly run an OS/game at any speed/rate anytime in the near future" the answer is more towards a YES.

Waiting on firmware emulation and game execution in general is one thing ... waiting for perfect emulation is a long path. At least with HLE you might be able to play SOME game(s) in several years forward, depending on how strong the coding base is for PS3 development(as of now it sucks with 12 Github members).
 
I know this may sound crazy but, what if an emulation process was ran individually for each process core except for the one for the OS that would ran them in sync. wouldnt it be easier to sync the information for the game if the emulation process was divided by the ammount of cores then re-synced?
 


it will not emulate the bios but
Everything will be HLEd which means no firmware emulation
 


That would be even worse, since you'd have to put a ton of software locks to keep each core in sync. That would kill performance more then brute forcing all 8 SPEs on a single core.
 


So Far there is no such thing known as PS3 Emulator!
This Link is Fake with Virus if u downloaded anything from Here: [strike]http://playstation3emulator.net/[/strike]
Please Delete the file before ur PC gets infected!

However there is a small PS3 development going on with a nice group of programmers they are legit but they only managed to run small games like tennis on that emulator If u want the link to LEGIT PS3 emulator go Here:
https://code.google.com/p/rpcs3/
but its not done and it probably better if u don't download it at all cause its screws up the machine....
 


they have started to work on github
https://github.com/DHrpcs3/rpcs3

it has to show some grahics in commercial game like i ve posted above and it surely doesn't screw ur machine

 


Its a virus does not and says no bios found
 


Well, after having downloaded and installed it, I have concluded that it is indeed some sort of scam.
8TsEZ.png

For one, it doesn't like closing.
8TsHU.png

When it opens (assuming you've done the BIOS crap correctly), it tells you there are missing dependencies.
8TsKG.png

Finally, a blank, never-loading window appears asking you to complete a survey.
My (uneducated, but nonetheless logical) guess? Definitely a scam.
(it doesn't even have an uninstall, so I guess I'll have to restart my computer in order to delete the files)

 


Wow thank you, just went to that site, they say now you can run gta v , hurry up and bla bla, and came to this site lol i am still confused
 


If you're still confused, here's the long and short of it:

ANY PS3 emulator out there that claims to play commercial games is a scam either used for advertising or for viruses.
 
Its a scam, period. The scam is this: The emulator forces you to take a survey, they site owners make a few bucks, and the emulator never works due to some dependency/windows errors, which in reality are due to the fact the "emulator" does nothing except throw those errors.
 
Status
Not open for further replies.

Latest posts