• 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.

Digital Foundry - How Does Xbox 360 Backwards Compatibility on Xbox One Actually Work

What they gloss over since DZf is obcessed with graphics, is thst th x86 code undergoes static binary translation (a fancy way of saying “find and replace”), as emulating the PPC on even a top end gaming PC is a system buster. This is precisely the method Apple used to port their PPC apps over to x86 when they dropped out of the CELL group, when Jobs threw a fit Microsoft had joined up. Since the GPU in the 360 is just an ancestor of the ones they use today, the emulation layer is mostly a traffic cop. It’s emulating an environment, it’s not emulating hardware. As they got more experienced with doing then ports, the translator became more sophisticated and much less code had to be hand tweaked so output got faster and better.

I’ve been telling people,this since it was announced. Too bad it took the dips over at DF to finally get access to “prove it”

this is where we're at? lol

On to the topic, great vid and good support for back compat. Nice going Microsoft.
 
What they gloss over since DZf is obcessed with graphics, is thst th x86 code undergoes static binary translation (a fancy way of saying “find and replace”), as emulating the PPC on even a top end gaming PC is a system buster. This is precisely the method Apple used to port their PPC apps over to x86 when they dropped out of the CELL group, when Jobs threw a fit Microsoft had joined up. Since the GPU in the 360 is just an ancestor of the ones they use today, the emulation layer is mostly a traffic cop. It’s emulating an environment, it’s not emulating hardware. As they got more experienced with doing then ports, the translator became more sophisticated and much less code had to be hand tweaked so output got faster and better.

I’ve been telling people,this since it was announced. Too bad it took the dips over at DF to finally get access to “prove it”

I don't think what's said in the video really comes down to static recompilation (and calling static recomplilation "find and replace" is also pretty far off). Static recompilation is not done in emulators on the PC today as lots of game code modifies itself at runtime which is not compatible with static recompilation. So in all likelihood Microsoft isn't really statically recompiling either.

Given that we have a rather nicely working WiiU emulator in CEMU today, which also emulates PPC using dynamic recompilation, which mainly runs into issues when it needs to recompile shaders this too doesn't seem to hint towards static recompilation.

Where Microsoft really is ahead of the PC emulator scene (aside from better documentation of the hardware and resources in general) is that they managed to scale the emulation over multiple cores. The reason why emulators on PC have such high demands is that they mostly run single threaded to keep everything in sync. One possible advantage there might be that the emulator on Xbox One has 6 cores all to itself, so that more fine grained scheduling is possible then on a regular desktop version of Windows.

Where Microsoft has baked support into the hardware (and that's something we knew before this video) is supporting all Xbox 360 texture/color modes - so textures can be used as is without the need for conversion. It seems to be the same when it comes to the hardware support for audio processing.
 

Freshmaker

I am Korean.
The Sony Apathy? lol
That's mad.
Must be so apathetic with all the great games they're putting out lol
I already have a ps4 and a pro.

But that really wasn't my point. I like BC, and bought an XOX just because it had it. Much like why I bought my 60GB PS3.
 

Bickle2

Member
The strange thing is most of these details were actually known since BC started coming out (and I've mentioned it a few times in my post history) - straight from Microsoft no less.

They’ve never admitted to the binary translation. They let people think they’re just running a straight up emulator like MAME. Like I said, anyone who knows anything about how computers work could figure it out.

Many of these same people now think they can just bring it to Windows. The interpreter and emulator are designed specifically for Xbox hardware they can put pieces of the 360 1:1 with for purposes of timing to avoid train wrecks.
 

Kaleinc

Member
Ms said almost all of this previously, as for this ”find and replace" and ”traffic cop" description., why dont you take your stunningly acurate archtitecure knowledge over to develop the open source 360 emulator for pc. Im sure theyd love to hear about your insights.
Considering MS showcased their X1 games on Windows 7 PCs it requires very little effort.

ggOZPWn.jpg
 

Lort

Banned
Considering MS showcased their X1 games on Windows 7 PCs it requires very little effort.

ggOZPWn.jpg

Lol wtf we are talking about running 360 PPC games on x64 xbox not ..modern xbox one games that are often play anywhere and based on modified win 10 OS
( what xbox one uses) on pc.

And im sure internally MS prob has a version of the 360 emulator for windows pc they even said its the internal shared mem, bus speed as well as specific shader support ( and 360 audio chip in xbox one hardware) thats preventing a windows version running well.

But you know all this right? Or not...
 

Blam

Member
Lol wtf we are talking about running 360 PPC games on x64 xbox not ..modern xbox one games that are often play anywhere and based on modified win 10 OS
( what xbox one uses) on pc.

And im sure internally MS prob has a version of the 360 emulator for windows pc they even said its the internal shared mem, bus speed as well as specific shader support ( and 360 audio chip in xbox one hardware) thats preventing a windows version running well.

But you know all this right? Or not...

Microsoft does actually have one of these since they had a closed doors meeting between some people showcasing the Xbox Dashboard running on a browser, and games running on a Windows Phone.
 

arhra

Member
Microsoft does actually have one of these since they had a closed doors meeting between some people showcasing the Xbox Dashboard running on a browser, and games running on a Windows Phone.

That was a prototype for OnLive/PS Now-style streaming tech, nothing to do with 360 emulation.
 

Kaleinc

Member
Lol wtf we are talking about running 360 PPC games on x64 xbox not ..modern xbox one games that are often play anywhere and based on modified win 10 OS
( what xbox one uses) on pc.

And im sure internally MS prob has a version of the 360 emulator for windows pc they even said its the internal shared mem, bus speed as well as specific shader support ( and 360 audio chip in xbox one hardware) thats preventing a windows version running well.

But you know all this right? Or not...
No shit. There is a PS3 kinda working emulator devs of which have basically a black box to work with and MS has first hand access to hardware and much more simple architecture. There is no emulator for x360 for the same reason there is none for x1.

And wtf is this play anywhere nonsense you tried to slip through?
Play anywhere means digital copy grants you a windows license and x1 license which have nothing in common.
 

Lort

Banned
No shit. There is a PS3 kinda working emulator devs of which have basically a black box to work with and MS has first hand access to hardware and much more simple architecture. There is no emulator for x360 for the same reason there is none for x1.

And wtf is this play anywhere nonsense you tried to slip through?
Play anywhere means digital copy grants you a windows license and x1 license which have nothing in common.

Heres the emulator for the 360 i was talking about... https://en.m.wikipedia.org/wiki/Xenia_(emulator)

A playanywhere title already has code to run on pc or xbox so showing the pc version at an xbox show obviously dosent require any emulation.

Back to the point playing 360 games on xbox one rocks and its sad Sony cant offer this. I just had a great session of geometry wars 2.. played mirrors edge the other day looks awesome at 4k.

Why the sad bitchy posts this is awesome ?!?
 

daitoqu

Member
Static recompilation is not done in emulators on the PC today as lots of game code modifies itself at runtime which is not compatible with static recompilation. So in all likelihood Microsoft isn't really statically recompiling either.

RPCS3 (a PS3 emu) actually statically recompiles PPU executables. And i believe there was PoC static recompilers for 3DS and x360. Since modern consoles (PS3, X360, 3DS) do not allow code modification at run-time, static recompilation isn't technically impossible. As Citra dev wrote
Indeed, the 3DS disallows any code modification at run-time. You can load additional code, but that's only used by a few games, and even then the additional code must be present as a standalone file loaded via a service, so it could also be recompiled.

The issue was, as u/JMC4789 pointed out, that it simply took too long. IIRC with optimizations enabled it was a several hour process to recompile a commercial game. This could very likely be sped up with smarter code detection algorithms (iirc the one used by the recompiler was very brute force) but in any case it's not as helpful for performance as one would think. I believe Xenia also briefly considered static recompilation early on its life before moving to a JIT.
 

Kaleinc

Member
Heres the emulator for the 360 i was talking about... https://en.m.wikipedia.org/wiki/Xenia_(emulator)

A playanywhere title already has code to run on pc or xbox so showing the pc version at an xbox show obviously dosent require any emulation.

Back to the point playing 360 games on xbox one rocks and its sad Sony cant offer this. I just had a great session of geometry wars 2.. played mirrors edge the other day looks awesome at 4k.

Why the sad bitchy posts this is awesome ?!?
Is this a joke?
A playanywhere title already has code to run on pc or xbox so showing the pc version at an xbox show obviously dosent require any emulation.
There is no code, Gears 4 PA means MS made it for x1 then did a pc port and allowed to download respective version depending on the device you're using.

And jumping through similar hoops you're jumping if x1 is just x64 pc and bc between x1 and x360 is ok then there should be no problem in pc-x360 chain either.

So we're back at square 1 and you have no idea what you're talking about.
 

Lort

Banned
Is this a joke?

There is no code, Gears 4 PA means MS made it for x1 then did a pc port and allowed to download respective version depending on the device you're using.

And jumping through similar hoops you're jumping if x1 is just x64 pc and bc between x1 and x360 is ok then there should be no problem in pc-x360 chain either.

So we're back at square 1 and you have no idea what you're talking about.


Lol i coded ASM for 8086 and as a professional coder for 20 years. I told you all the reason MS said they found made it easier to run 360 code on an xbox one than on pc.

You didnt even know there was a 360 for pc emulator, your trying to argue against things Microsoft themselves has said.. this is a waste of time talking to you.
 

Kaleinc

Member
Lol i coded ASM for 8086 and as a professional coder for 20 years.
Professional coder who thinks x1 and pc run the same code, don't embarrass yourself.

And im sure internally MS prob has a version of the 360 emulator for windows pc
Heres the emulator for the 360 i was talking about... https://en.m.wikipedia.org/wiki/Xenia_(emulator)
You're just delusional this emulator is open source and not related to MS in any way.

Meaning
So we're back at square 1 and you have no idea what you're talking about.
 

Lort

Banned
You said there was no 360 emulator when theres actually the MS one and the open source one i linked to.

Playanywhere games are usually based on UWP..

https://en.m.wikipedia.org/wiki/Universal_Windows_Platform

“The purpose of this software platform is to help develop universal apps that run on Windows 10, Windows 10 Mobile, Xbox One and Hololens without the need to be re-written for each.”

Youve been arguing that running 360 games on an xbox one is no harder than running UWP games on an Xbox one. A strange argument to make but good luck with that.

For the rest of us .. lets get back on topic about how digital foundry and microsoft have discussed how they got this to work ..
 

Kaleinc

Member
You said there was no 360 emulator when theres actually the MS one and the open source one i linked to.
You were talking about internal ms emulator
And im sure internally MS prob has a version of the 360 emulator for windows pc they even said its the internal shared mem, bus speed as well as specific shader support ( and 360 audio chip in xbox one hardware) thats preventing a windows version running well.
and MS has first hand access to hardware and much more simple architecture. There is no emulator for x360 for the same reason there is none for x1.
There is none from ms because they don't want you to be able to play all x360 and x1 games on pc which is obvious.

All those wikipedia uwp links.. You said x1 and pc run the same code and don't even require emulation
A playanywhere title already has code to run on pc or xbox so showing the pc version at an xbox show obviously dosent require any emulation.
You need to support these magic territory claims with good examples.
 

hiphopcr

Member
Knowing any Xbox I buy going forward will also carry my entire history of Xbox games over is a massive selling point
 

thelastword

Banned
As I've said before, it is very easy for MS to do BC on their consoles, much easier than it will ever be for SONY, hence the reason Sony went with BC in hardware on PS3 PHAT and later on, PS3 BC through PS NOW. I imagine with a Zen processor and a much better GPU, they would be able to do something better on PS5 for PS3/2 games....PS4 BC on PS5 will be a no brainer, just as BC is for MS this gen..

All in all, it's always great to play your older titles at better rez, fps and AF. I don't think that's enough to move consoles though. Frankly, how many of us are even playing these older game... but it's certainly a nice bonus to have when we do...
 

JP

Member
As I've said before, it is very easy for MS to do BC on their consoles, much easier than it will ever be for SONY, hence the reason Sony went with BC in hardware on PS3 PHAT and later on, PS3 BC through PS NOW. I imagine with a Zen processor and a much better GPU, they would be able to do something better on PS5 for PS3/2 games....PS4 BC on PS5 will be a no brainer, just as BC is for MS this gen..

All in all, it's always great to play your older titles at better rez, fps and AF. I don't think that's enough to move consoles though. Frankly how many of us are even playing these older games, but it's certainly a nice bonus to have when we do...
I certainly wouldn't go as far as saying it was easy for them, there would have had to put a lot of work into getting it where it is now but yes, in comparison to how easy it would be for Sony to do the same they're certainly starting from an easier position.

I don't use it often but I've never failed to be amazed by how well it works and how much Microsoft have been willing to invest in terms of time and money to get the service where it is now.

I'd love for Sony to offer "backwards compatibility" as a service in the way that Microsoft do but I do feel that much of this stems from the foundations laid in previous generations. Hopefully we will see a change from Sony moving forwards but it certainly won't be easy for them to do the same as Microsoft have which is a shame because, for me at least, if I had a choice between playing every single Xbox game and every single PlayStation game then I'm sure there would be far more on the PlayStation side that I'd like to go back to. Ideally, we'd have access to the entire back catalogue of games on all consoles but that seems a step far too far, at least for a very long time.
 

Lort

Banned
There is a huge library of great 360 games i play and use with xbox live i still have some friends on 360 who i play with 2.

Recent 360 games ive played In last three weeks Skate 3, Mass effect series, Battlefield 3, Catherine, Mirrors Edge, Red Dead Redemption, Geometry Wars.

I have heaps of xbox one x games i havent finished yet Assasins Creed Origins, Star Wars battlefront 2, Titanfall 2, Mass Effect Andromeda, Ghost Recon,.. and other ganes you never finish like Overwatch and Rock Band 4.... this is less than 1/4 of my game library most of which i havent finished.

I dont even have close to the time needed to finish all these great games .. love the sulky salty fanboys telling me xbox is dead and has no games lol.

Keep on trollin...
 

Blam

Member
Was this confirmed?

This is what they push. As they said they'd want Xbox One games to run on the Next Xbox as well. And so forth. They'd like to push it as far as Windows Compatibility goes.

That was a prototype for OnLive/PS Now-style streaming tech, nothing to do with 360 emulation.

Yes I know, but Microsoft does have an emulator of the 360 working as they just tune it to run any of their BC games, that's how that works. They throw a compat layer ontop of the games and have it tweaked for each game. That's why it's so "easy" for MS to get them working, and also why they only need to ask for permission to enable it for BC. They do have it working on a PC obviously behind closed doors. I mean shit the entire Xbox OS is able to be put into a VM. And if you know how you can get Xbox One apps running on Base Windows 10. As it stands I know of friends of friends getting the Xbox Settings menu running and installed on their system. It crashes sure but they are running old apps so it makes sense.

But since UWP works on everything, then it's theoretically very easy to get it running on a Windows 10 PC, with a few tweaks obviously.
 

TLZ

Banned
This is what they push. As they said they'd want Xbox One games to run on the Next Xbox as well. And so forth. They'd like to push it as far as Windows Compatibility goes.
If that's true and they stay true to it then it's certainly big.
 

Bickle2

Member
This is what they push. As they said they'd want Xbox One games to run on the Next Xbox as well. And so forth. They'd like to push it as far as Windows Compatibility goes.



Yes I know, but Microsoft does have an emulator of the 360 working as they just tune it to run any of their BC games, that's how that works. They throw a compat layer ontop of the games and have it tweaked for each game. That's why it's so "easy" for MS to get them working, and also why they only need to ask for permission to enable it for BC. They do have it working on a PC obviously behind closed doors. I mean shit the entire Xbox OS is able to be put into a VM. And if you know how you can get Xbox One apps running on Base Windows 10. As it stands I know of friends of friends getting the Xbox Settings menu running and installed on their system. It crashes sure but they are running old apps so it makes sense.

But since UWP works on everything, then it's theoretically very easy to get it running on a Windows 10 PC, with a few tweaks obviously.

No, they don’t.

They have a hardware specific solution, that along with binary translation of PPC code to x86, works on hardware designed with such features in mind. A single hardware target (or two if you count the X) to make work. Rather than a million mixes of PC hardware.

There’s a reason you have to download every 360 games.

You’re confusing early development stations, specced to be as close as possible to final hardware with the finished product.
 

Blam

Member
No, they don't.

They have a hardware specific solution, that along with binary translation of PPC code to x86, works on hardware designed with such features in mind. A single hardware target (or two if you count the X) to make work. Rather than a million mixes of PC hardware.

There's a reason you have to download every 360 games.

You're confusing early development stations, specced to be as close as possible to final hardware with the finished product.

Yes they do. They literally have to tune the emulator to run with each game. That's how their emulator works. Each game is different. That's why you need to download each 360 title. Because they tweaked each build to include the emulator, and the changes they added to the title. Being performance updates, to fixing bugs.

That's how this works. UWP also works on all Windows 10 systems regardless if it was specced for it or not. UWP was made to remove the need for hardware specific solutions.
 
Top Bottom