• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Will the PS4's X86 'Supercharged PC Architecture' be easy to emulate?

PFD

Member
mxpWuwV.jpg


I don't know much about computer hardware, but Sony made it clear during the show that the PS4 is made up of several PC components. How hard do you think it would be to emulate if it's based on X86 architecture?

Can we expect PC emulators within a couple years? (as opposed to never for the PS3)
 

FourMyle

Member
I don't see the point. I'd rather see PCSX2 reach a 99%-100% compatibility rate over any PS3 or PS4 emu. All the PS2 games I have laying around benefit much, much more from emulation than PS3/4 games would.
 

Oppo

Member
I think it bodes well for PC emulation eventually. But not anytime soon.

What was the deal with the OG Xbox, that made it hard to emulate, anyways?
 
For future consoles? Sure. Well once they stick with AMD.


I wonder if it opens the system up to hacking more though. OG xbox was cracked wide open
 

spons

Gold Member
What was the deal with the OG Xbox, that made it hard to emulate, anyways?

Something with the GPU being largely undocumented as far as I know.

Anyway, emulating the instructions might be relatively simple, the GDDR5 RAM is going to be a hardware bottleneck for games that make full use of the provided bandwidth.
 

McHuj

Member
You can't emulate the bandwidth from memory to APU.

Emulation should be possible once PC's have 200+ GB/sec bandwidth from main memory to CPU.
 

Sentenza

Member
Wasn't OG XBOX x86 too and it's almost impossible to emulate?
Actually, it was a Power PC, and while emulation isn't as trivial as many imagined, if you don't see working Xbox emulators today more it's probably more for a lack of interest than for technical limitations.
 
here is what cxbx developer wrote about xbox emulation some time ago

Originally Posted by blueshogun96
"Xbox is just like a PC, it's easy to emulate!"

Yes, we've all heard this silly and pointless argument a million times and it usually ends in the same, and rather ignorant conclusion (or should I say assumption) that just because the Xbox is PC similar, it's hardware should be relatively easy to emulate. That's a very wrong frame of mind. How hard can it be? Very. Xbox's hardware is very complex and still poorly documented to this day. This requires some explanation.

1. Is a PC easy to emulate? Well, I wouldn't say so myself. Take a look at the source code from bochs. A lot of source code/work isn't it?

2. Emulating an x86 CPU is a lot harder than it sounds. I don't know where this mindless assumption comes from. Yes, there's loads of documentation on how the x86 processor works, but that doesn't exactly make it easy. First of all, the x86 instruction set is M-A-S-S-I-V-E! There can be at least 20 different versions of one instruction (i.e. There are many different versions of the MOV instruction, as well as INC, DEC, ADD, SUB, SHR, SHL, AND, OR, XOR etc.) and it takes time to implement them all. Of course, that's not exactly difficult. The real problem is that any modern x86 processor including the Pentium III can execute multiple instructions at once. So it's not like emulating a Z80 doing one instruction at a time. The actual algorithm and how x86 does this is undocumented and still unknown. In short, the Xbox's CPU can be emulated, but not accurately.

3. Emulating any hardware by NVIDIA is not a walk in the park! The Xbox's GPU, the NV2A is often assumed just a GeForce 3. It's not! It's similar but not identical. It has some GeForce 4 capabilities too, so it's more of a cross between an NV20 and NV25. This is by no means easy to emulate either. NVIDIA's GPUs have very large register sets and afaik not even half of them have been discovered, and a large portion of known registers have unknown purposes. There is little to no documentation on how NVIDIA GPUs work. The best thing to do is to look at similar GPUs such as RIVA, TNT, and older GeForce cards. Some registers are similar, but not identical. The best place to look for information is in open source drivers available on the net. Adding to the dificulty is that no one has ever discovered how pixel shaders work on NV2x cards, vertex shaders yes though. The Xbox GPU also has exclusive registers that are not found in other GeForce cards. Information on the NV2A's GPU registers are just now beginning to be discovered a few months ago. And yet, there's still a long way to go. The GeForce 3 series is the most mysterious of all NVIDIA GPUs (G7x and G8x aside) and the NV2A is alot worse. "But can't you just directly execute the NV2A instructions on another NVIDIA card?". No, I get alot of questions concerning this, and it is impossible. It's MMIO addresses are different and the exclusive registers must be emulated. Plus, in windows, we don't have ring 0 access anyway, so you all can scratch that idea now. Then comes the NForce 2 chipset. This is where it get easier. The NVIDIA MCPX is the control center for things such as audio, USB for input, Network adapters, PCI, AGP, etc. These things are not really that difficult to emulate IMO except for the audio.

4. The Audio system is rather complex. Xbox's audio consists of at least 4 DSPs, and audio codec (AC '97) and an NVIDIA SoundStorm APU. The DSPs shouldn't be a problem (just figuring out what they all are is) nor should the AC '97 but the NVIDIA SoundStorm APU is the really difficult part. So far I haven't found any information on this thing, but right now, it's relevance is low.

5. The Xbox BIOS isn't fully understood. The basic execution process of the BIOS is understood, but details on the process are at a loss. What we do know gives us hints, but before the BIOS can be emulated, we'll need a better understanding of the Xbox hardware layout because the BIOS does some unknown hardware initialization at boot time and writes to the hardware directly without using any XDK stuff. It will take some time, and effort, but I'll eventually get it working.

6. Video Encoder "Hell". Instead of using a RAMDAC for video output, the Xbox uses a Video Encoder. What makes this suck a pain? Microsoft sought the need to change the video encoder every other Xbox version (there are seven in all, 1.0 - 1.6). Why, I dunno, it's a Microsoft thing, they always tend to try to "fix" things that aren't broken >.> AFAIK, there are at least 3 different Video Encoders used: Conexant CX25871, Focus FS454, and Xcalibur. For more information in Xbox video encoders, click here. Emulating all three video encoders is only less than half the battle, the real problem is that BIOSes can be specifically tied to a specific encoder depending on it's version (don't quote me on this though). Like PS2, every Xbox model revision has a updated BIOS and has different expectations. This is a potential problem, but not exactly major.

Basically, I'm trying to get this "Xbox should be easy to emulate because it's just like a PC" crap out of your heads. I'm sure that most of you will disagree with me on this, but for these reasons and more, on a low level, Xbox is harder to emulate than PS2.

^ The exception to that above is that the NV2A is much better documented now, but not fully. There's an open source library for the OpenXDK called pbKit. It interfaces directly with the hardware to fully expose it's potential. This is what Microsoft should have done all along (or at least wrote a low-level OpenGL implementation).
 

zoku88

Member
It kind of depends on how the PS4 is actually built (and how games are built for it), wouldn't it?

Like, it could just be software emulation without the hardware emulation. That would probably be the ideal case.

Or they could make it in a way where you would actually have to emulate the hardware.
 

Zaptruder

Banned
You can't emulate the bandwidth from memory to APU.

Emulation should be possible once PC's have 200+ GB/sec bandwidth from main memory to CPU.

Which will rely on either a restructuring of PC design to something more fixed and less modular (not inconcievable; given the various rumours about Intel releasing CPU soldered to motherboard packages)...

Or a new bus transport system is developed and pushed out to consumers... which is also not inconceivable, IBM is developing a light based interconnect system which ups the bandwidth to the terabytes per second mark... which essentially means that interconnects between devices are no longer rate limiting factors.

But that technology might be 5+ years away, so can't be relied upon as a driver for short term technology growth.
 

Dylan

Member
It couldn't be simpler. They have already given us the architecture in the presentation.

In fact, I've already drawn up what I believe is a fairly accurate representation of what the final PS4 will look like.

ps4_zpsd8c09e45.jpg
 
Really depends on the hardware. Saturn for example has not a working or good emulator yet. Same for some arcade games. Of course here is the lack of the actual hardware a problem to start reverse engineering. 8 Core, 8GB GDDR5 and an unknown GPU is not a piece of cake. I'd say 10 years at least.
 

cyberheater

PS4 PS4 PS4 PS4 PS4 PS4 PS4 PS4 PS4 PS4 PS4 PS4 PS4 PS4 PS4 PS4 PS4 Xbone PS4 PS4
Given that the early Sony PS4 dev systems where high end PC's then I think it must be possible at some point.

Maybe 4 or 5 years down the road. Maybe earlier for some of the simpler arcade games that don't require that huge memory bandwidth.
 

friz898

Member
My friends and I were talking about this.


It is plausible to think that there may be some kind of emulation program similar to Bleem, where you need the game and a blu-ray drive on your comp, but the rest is emulated on your comp. (And of course a highly serious monster of a computer).
 
Really depends on the hardware. Saturn for example has not a working or good emulator yet. Same for some arcade games. Of course here is the lack of the actual hardware a problem to start reverse engineering. 8 Core, 8GB GDDR5 and an unknown GPU is not a piece of cake. I'd say 10 years at least.

Errr what? Nocturne in the Moonlight runs pretty much flawless.
 

joesiv

Member
mxpWuwV.jpg


I don't know much about computer hardware, but Sony made it clear during the show that the PS4 is made up of several PC components. How hard do you think it would be to emulate if it's based on X86 architecture?

Can we expect PC emulators within a couple years? (as opposed to never for the PS3)
My take:

I don't think you'll see emulation in windows for a long long time. If you think that Linux can't even "emulate" windows games very well using WINE or similar, and that's also running on the same hardware. Fact is, the Playstation 4 is running an OS, and that OS is not Windows, may be a variant of linux, but will be custom in anycase. Without the actual OS, emulation is very hard, let alone high performance emulation.

I think a better thing to hope for is for someone to dump the PS4 OS and have it installed on a PC as a dual boot setup (like how you can make a OSX box). You may need to have specific CPU/GPU setup for it to work reliably (or at all), but I could see that happening far before seeing actual emulation in windows.
 

Oppo

Member
It couldn't be simpler. They have already given us the architecture in the presentation.

In fact, I've already drawn up what I believe is a fairly accurate representation of what the final PS4 will look like.

ps4_zpsd8c09e45.jpg

Good job. Story checks out.
 

Sentenza

Member
lol... actually that's kind of funny. Why pay $500-600 for a PS4, when we can pay $1500+ for a PC to emulate it... ;)
Well, because if possible you would have a capable PC, with all that comes with it, PLUS all the PS4 software.
Paying less at first isn't necessarily the wisest choice in the long term.
 

Raticus79

Seek victory, not fairness
It couldn't be simpler. They have already given us the architecture in the presentation.

In fact, I've already drawn up what I believe is a fairly accurate representation of what the final PS4 will look like.

ps4_zpsd8c09e45.jpg

I was doing a search for a plain old PC case to show what the dev kit most likely looks like at the moment and found this:

 
that decades old ps2 emulator still has problems, good luck with a ps4 emulator...

It's really unnecessary to begin with, the effort it will take to make it work is not worth it and ps4 gaming will be about the wider experience(Social+cloud+portable) rather than just emulating games..Just buy the ps4 two years after launch(when its cheaper and has games) and till than roll with the PC and the support by thy lord gaben..
 

PFD

Member
It kind of depends on how the PS4 is actually built (and how games are built for it), wouldn't it?

Like, it could just be software emulation without the hardware emulation. That would probably be the ideal case.

Or they could make it in a way where you would actually have to emulate the hardware.

Wasn't aware of this concept. Has that ever been done for a previous console?
 
Top Bottom