Emulation Arrives On the PS3
YokimaSun writes "Following the recent exploit that allows you to jailbreak your PS3, the homebrew community have now breached the console with the first homebrew game, which is the classic Pong. Also released is the first emulator for the system in the shape of a SNES Emulator great for those 16-bit games. Finally drk||Raziel, the coder of the Dreamcast Emulator NullDC, has posted screenshots of his Dreamcast emulator working on the PS3 (albeit at a very early stage). The PS3 is building up to be the Dream Console for emulation."
I am absolutely certain that Sony's upper management is absolutely thrilled at yet another demonstration of their brainchild's incredible versatility.
The higher the technology, the sharper that two-edged sword.
Only an extremely small subset of PS3s actually can play PS2 games out of the box. Even fewer don't entirely depend on poor software emulation to do it.
I would think that the ability to run linux *again* might be of more interest here on /.
Having to crack a console to get functionality back sounds like a joke but I suspect few are laughing.
To get back to the topic at hand, given John Carmac's view of the PS3 architecture, it's likely that porting emulators for the more modern consoles (i.e., those that require 3D accelleration) may be a lot more trouble than it was for, say, the original Xbox.
John: I never liked the Cell architecture. You can get high peak numbers out of it, but software development time matters a lot, and not having caches and virtual memory makes development take a lot longer, especially for the majority of applications that don't fit neatly into the DMA pipeline model.
From http://www.tomshardware.com/news/ps3-playstation-3-linux-john-carmack,10035.html
...that Microsoft's Xbox 360 *still* has not been exploited? PS3 has had a number of exploits over the years, but Xbox 360 is still locked down tight. Too bad desktop Windows still has remote code execution vulnerabilities discovered every month...
Probably an economic issue. Microsoft (and Sony, for that matter) doesn't make money from console hardware sales ... they need game sales to make a profit. So there's a clear incentive to make the Xbox hard to crack. Perhaps Microsoft is just better at that than Sony.
Have either of you actually played a video game before? Where do you get your intel from?
The 360 was the first to have a hypervisor exploit: http://www.xbox-scene.com/xbox1data/sep/EEZkykVkkFmojzapEq.php
The 360 was the first to allow playing burnt games: http://digg.com/news/technology/Modded_Xbox_360_Plays_Burned_Games
The 360 was the first to have homebrew: http://beta.ivancover.com/wiki/index.php/Xbox_360_King_Kong_Shader_Exploit
Sony, in their infinite wisdom, didn't create PS3's that can read PS2 game discs.
My PS3 reads and plays PS2 games quite well, actually: 60 GB PS3
The original 20 GB units would play PS2 games also.
The PS2 is a bitch to emulate because its processor and video processor are so strange. It doesn't even work all that great on high end modern PCs. Emulation incurs heavy overhead anyhow, but the more different the platforms, the harder it is. That's why PC on PC virtualization is so fast. You literally "virtualize" as in run most things natively, so you achieve high speeds.
Now maybe the Cell happens to be well designed for emulation the EE and VUs, but I kinda doubt it. If it were easy to do, I'd have thought Sony would do it to increase compatibility and keep people happy. Also the Cell's power seems to be in parallel processing and that is something that emulation doesn't do much of. I don't know that it couldn't, but it doesn't. Emulators are largely single thread, with maybe a second thread for some video rendering. PCSX2, the PS2 emulator, does use two threads well but that is it. Generally speaking, emulation coding seems to lag behind regular coding. Emulator authors seem to be good at emulation but not so good at current coding practices.
So my guess is probably not. It is just too powerful, and too odd, of a system to emulate on the PS3. You need a heavier hitting processor to do it, something like an i7.
There are already emulators for the 360, and have been for some time. The 360 also has the advantage of being a more computer-like architecture and thus taking less effort to make an efficient emu port.
However really, if emulation is your thing, a cheap media PC/netbook is the way to go. For anything that is, say, Playstation 1 or older, you need very little hardware to emulate it. Current PCs are plenty fast enough, even at the low end. Also, there are tons of emulators that are out and available and well developed. So to me, that seems to be the "dream system." If you have a media PC, just load up the emulators on it.
I don't see anything about the PS3 that makes it particularly suited to emulation as opposed to the 360.
Go look at PCSX2. All the video processing is done by your GPU, and thus you do get things like better resolution than the PS2 and so on. They make extensive use of HEL tricks, dynamic recompilation and so on. However for all that it is still slow. Also please remember the more tricks, the more problems. UltraHLE was neat but ran all of about 8 games.
There was also a big advantage emulating the processor: It was a very simple design. At its heart, it was just a MIPS R4300i. A well documented processor, with a simple instruction set. Also, few games made use of its 64-bit capabilities so pretending it wasn't was not a big deal for emulators.
The Emotion Engine? Much stranger. MIPS based, but all sorts of additional instructions, many not well documented by Sony. Heavily uses 64-bit (integer and floating point) and has 128-bit FP capability too. In particular the real problem happens with the VU0 and VU1 units, which are 128-bit vector units. The sort of stuff they do would normally be on the GPU in a computer, but it is on the CPU in the PS2.
At any rate, it is a difficult system to emulate, at least for the people trying to do so. If you think you could do a better job, it would be wonderful if you took a swing at it. I do get the feeling from what I've seen that many of the emulation programs aren't the best and brightest at programming overall, they just like emulation.
However as it stands, the very best PS2 emulator out there requires a heavy hitting system to make possible. You need a good CPU, good video card, and even then it can be slow and buggy.