By using this site, you agree to our Privacy Policy and our Terms of Use. Close

Forums - Gaming Discussion - Digital Foundry: How Does Xbox 360 Backwards Compatibility on Xbox One Actually Work?

Machiavellian said:
Errorist76 said:

I know what you mean and you're basically right, but more often lately they just seemed to repeat MS's PR because even they simply did't know it better. They were praising the "new enhanced CPU" on high levels because that's the info MS was giving them. They let themselves being used by the MS marketing machinery.

Now that reality kicks in and, as can be seen with many games lately, the "enhanced CPU" is nothing more than a slight overclock which even leads to more and more games lately performing worse on the X1X than on the Pro, because this CPU has to deal with higher amounts of data.

 

That's what a little money can do sometimes, you get what I mean.

I do not know any article from DF that praised the CPU.  If anything they have always stated its slightly speedy variant of the same chip.  In multiple articles from DF they have also stated that the CPU is usually the bottleneck in some games being able to push better performance when CPU limited.

Here's the whole hype article and according video. I'm sure you have seen it already. 

http://www.eurogamer.net/articles/digitalfoundry-2017-project-scorpio-tech-revealed



Around the Network
Errorist76 said:
Machiavellian said:

I do not know any article from DF that praised the CPU.  If anything they have always stated its slightly speedy variant of the same chip.  In multiple articles from DF they have also stated that the CPU is usually the bottleneck in some games being able to push better performance when CPU limited.

Here's the whole hype article and according video. I'm sure you have seen it already. 

http://www.eurogamer.net/articles/digitalfoundry-2017-project-scorpio-tech-revealed

Yes, I read that article, is there anything in it that is incorrect about the CPU.  In other words does it do what it says it does.  As for hyping up the X1X, I guess its perspective.  I read the article as information more than anything else.  Anyone with any ounce of hardware knowledge knows that just improving draw calls is only one aspect of what the CPU does and would not equate that with anything more than CPU enhancements, just like the increase in CPU processing speed.  

Also we have seen with a few games that are CPU limited that the X1X does have a advantage over the Pro but since its still the same CPU as in the X1, I doubt anyone thought their would be any real Oh Shit moment of discovery.



DonFerrari said:
As far as I'm concerned it's much more of a port than emulation... it not only improves several aspects of the IQ, but it also is restricted to selected games and also face licensing rights.

No, its emulation.

Its emulating 360 hardware, it signs into your 360 profile, you can play with 360 users online, you have the 360 dashboard... Its emulating 360 and resembles nothing of a port.

It can override some settings like resolution, vsync, and even eliminate some or all bottleneck, but emulators have been known to do that.

The licensing issues has nothing to do with emulation. To be frank, this is emulation because its a program acting as a different platform. Its running code designed for 360 with a program that translates it for X1. Thats emulation in a nutshell.



Recently Completed
River City: Rival Showdown
for 3DS (3/5) - River City: Tokyo Rumble for 3DS (4/5) - Zelda: BotW for Wii U (5/5) - Zelda: BotW for Switch (5/5) - Zelda: Link's Awakening for Switch (4/5) - Rage 2 for X1X (4/5) - Rage for 360 (3/5) - Streets of Rage 4 for X1/PC (4/5) - Gears 5 for X1X (5/5) - Mortal Kombat 11 for X1X (5/5) - Doom 64 for N64 (emulator) (3/5) - Crackdown 3 for X1S/X1X (4/5) - Infinity Blade III - for iPad 4 (3/5) - Infinity Blade II - for iPad 4 (4/5) - Infinity Blade - for iPad 4 (4/5) - Wolfenstein: The Old Blood for X1 (3/5) - Assassin's Creed: Origins for X1 (3/5) - Uncharted: Lost Legacy for PS4 (4/5) - EA UFC 3 for X1 (4/5) - Doom for X1 (4/5) - Titanfall 2 for X1 (4/5) - Super Mario 3D World for Wii U (4/5) - South Park: The Stick of Truth for X1 BC (4/5) - Call of Duty: WWII for X1 (4/5) -Wolfenstein II for X1 - (4/5) - Dead or Alive: Dimensions for 3DS (4/5) - Marvel vs Capcom: Infinite for X1 (3/5) - Halo Wars 2 for X1/PC (4/5) - Halo Wars: DE for X1 (4/5) - Tekken 7 for X1 (4/5) - Injustice 2 for X1 (4/5) - Yakuza 5 for PS3 (3/5) - Battlefield 1 (Campaign) for X1 (3/5) - Assassin's Creed: Syndicate for X1 (4/5) - Call of Duty: Infinite Warfare for X1 (4/5) - Call of Duty: MW Remastered for X1 (4/5) - Donkey Kong Country Returns for 3DS (4/5) - Forza Horizon 3 for X1 (5/5)

Mr Puggsly said:
DonFerrari said:
As far as I'm concerned it's much more of a port than emulation... it not only improves several aspects of the IQ, but it also is restricted to selected games and also face licensing rights.

No, its emulation.

Its emulating 360 hardware, it signs into your 360 profile, you can play with 360 users online, you have the 360 dashboard... Its emulating 360 and resembles nothing of a port.

It can override some settings like resolution, vsync, and even eliminate some or all bottleneck, but emulators have been known to do that.

The licensing issues has nothing to do with emulation. To be frank, this is emulation because its a program acting as a different platform. Its running code designed for 360 with a program that translates it for X1. Thats emulation in a nutshell.

But not pure emulation. Still doesn't explain why it is an emulation case by case.



duduspace11 "Well, since we are estimating costs, Pokemon Red/Blue did cost Nintendo about $50m to make back in 1996"

http://gamrconnect.vgchartz.com/post.php?id=8808363

Mr Puggsly: "Hehe, I said good profit. You said big profit. Frankly, not losing money is what I meant by good. Don't get hung up on semantics"

http://gamrconnect.vgchartz.com/post.php?id=9008994

Azzanation: "PS5 wouldn't sold out at launch without scalpers."

Errorist76 said:

It can't be pure emulation...if it was all games would be compatible. All so called backwards compatible games, 360 or original XBox, need to be recoded to certain aspects to be able to work on the X1 with the added benefits.

Most every available emulator has special considerations for certain titles that works out the wrinkles in each game - which is why more obscure titles from older systems tend to have more glitches and problems than the most popular titles when playing them on an emulator. 

Just because the emulation needs some (game specific) tweaks before the game will run to a satisfying level does not mean the games aren't being emulated.



Retro Tech Select - My Youtube channel. Covers throwback consumer electronics with a focus on "vid'ya games."

Latest Video: Top 12: Best Games on the N64 - Special Features, Episode 7

Around the Network
StuOhQ said:
Errorist76 said:

It can't be pure emulation...if it was all games would be compatible. All so called backwards compatible games, 360 or original XBox, need to be recoded to certain aspects to be able to work on the X1 with the added benefits.

Most every available emulator has special considerations for certain titles that works out the wrinkles in each game - which is why more obscure titles from older systems tend to have more glitches and problems than the most popular titles when playing them on an emulator. 

Just because the emulation needs some (game specific) tweaks before the game will run to a satisfying level does not mean the games aren't being emulated.

But in this case it's most games or all needing specific work done on them.



duduspace11 "Well, since we are estimating costs, Pokemon Red/Blue did cost Nintendo about $50m to make back in 1996"

http://gamrconnect.vgchartz.com/post.php?id=8808363

Mr Puggsly: "Hehe, I said good profit. You said big profit. Frankly, not losing money is what I meant by good. Don't get hung up on semantics"

http://gamrconnect.vgchartz.com/post.php?id=9008994

Azzanation: "PS5 wouldn't sold out at launch without scalpers."

DonFerrari said:
Mr Puggsly said:

No, its emulation.

Its emulating 360 hardware, it signs into your 360 profile, you can play with 360 users online, you have the 360 dashboard... Its emulating 360 and resembles nothing of a port.

It can override some settings like resolution, vsync, and even eliminate some or all bottleneck, but emulators have been known to do that.

The licensing issues has nothing to do with emulation. To be frank, this is emulation because its a program acting as a different platform. Its running code designed for 360 with a program that translates it for X1. Thats emulation in a nutshell.

But not pure emulation. Still doesn't explain why it is an emulation case by case.

Well an emulator can override some settings but isnt changing the code of the game per se.

Hence, its emulation but the emulator has some features. Calling it a port though is inaccurate because its running the 360 game.



Recently Completed
River City: Rival Showdown
for 3DS (3/5) - River City: Tokyo Rumble for 3DS (4/5) - Zelda: BotW for Wii U (5/5) - Zelda: BotW for Switch (5/5) - Zelda: Link's Awakening for Switch (4/5) - Rage 2 for X1X (4/5) - Rage for 360 (3/5) - Streets of Rage 4 for X1/PC (4/5) - Gears 5 for X1X (5/5) - Mortal Kombat 11 for X1X (5/5) - Doom 64 for N64 (emulator) (3/5) - Crackdown 3 for X1S/X1X (4/5) - Infinity Blade III - for iPad 4 (3/5) - Infinity Blade II - for iPad 4 (4/5) - Infinity Blade - for iPad 4 (4/5) - Wolfenstein: The Old Blood for X1 (3/5) - Assassin's Creed: Origins for X1 (3/5) - Uncharted: Lost Legacy for PS4 (4/5) - EA UFC 3 for X1 (4/5) - Doom for X1 (4/5) - Titanfall 2 for X1 (4/5) - Super Mario 3D World for Wii U (4/5) - South Park: The Stick of Truth for X1 BC (4/5) - Call of Duty: WWII for X1 (4/5) -Wolfenstein II for X1 - (4/5) - Dead or Alive: Dimensions for 3DS (4/5) - Marvel vs Capcom: Infinite for X1 (3/5) - Halo Wars 2 for X1/PC (4/5) - Halo Wars: DE for X1 (4/5) - Tekken 7 for X1 (4/5) - Injustice 2 for X1 (4/5) - Yakuza 5 for PS3 (3/5) - Battlefield 1 (Campaign) for X1 (3/5) - Assassin's Creed: Syndicate for X1 (4/5) - Call of Duty: Infinite Warfare for X1 (4/5) - Call of Duty: MW Remastered for X1 (4/5) - Donkey Kong Country Returns for 3DS (4/5) - Forza Horizon 3 for X1 (5/5)

DonFerrari said:
drkohler said:

For those who want a starting point, google "Static binary translation". From that point on, it gets more difficult because of multicore architecture, but it also gets easier as self-modifying code is forbidden in consoles - a major obstacle in PC code. It also helps that MS owns all the OS and library sources which makes it possible to write and constantly refine a crossassembler that probably does 99% of the work.

And that needs to redownload the game, severely improves graphics and just work on specific games cause of reason?

First of all, when you play a BC game, there is not a single line of X360 code involved. Not a single bit. You redownload "the game" because components in the run time system (might) have been improved since.

Here's a simple example (for illustration only, not real functions or memnonics). Suppose you disassemble some x360 game code and you come across something like:

PUSH $500

PUSH $300

CALL $ACFE000

Now this is the end for us, no outsider knows what that mystery procedure call does. But not for MS. Since they have all the x360 source code, they know these three lines resolve to a call of a procedure named CreateShadowBuffer(xsize,ysize)

So MS instantly knows the game allocates memory for a 1280*768 buffer. It can now replace these lines with the corresponding X1 procedure CreateSBufSize(1920,1080)

And they have automatically increased the resolution to 1920*1080. Of course this doesn't magically create better shadows, but it will not break the game at all (the game still uses the 1280,768 sizes for all calculationssince those are variables you have to find in your disassembly. Until MS finds the variables that are set to 1280,768 and replaces them with 1920,1080 and presto your BC game has better shadows. 

Apparently there are enough "MS grunt workers" around to look for stuff like this and improve the code bit by bit, hence you redownload the runtime system to profit from those finds. Since every x360 game uses different "ideas for programming" (for lack of a better word), every BC game comes with its own run time system. Which, again, contains zero x360 code lines (but an entire x360 os written in Jaguar code, for starters).



Mr Puggsly said:
DonFerrari said:

But not pure emulation. Still doesn't explain why it is an emulation case by case.

Well an emulator can override some settings but isnt changing the code of the game per se.

Hence, its emulation but the emulator has some features. Calling it a port though is inaccurate because its running the 360 game.

I accept port being inaccurate, but I don't think anyone can say it's pure BC or emulation either.

drkohler said:
DonFerrari said:

And that needs to redownload the game, severely improves graphics and just work on specific games cause of reason?

First of all, when you play a BC game, there is not a single line of X360 code involved. Not a single bit. You redownload "the game" because components in the run time system (might) have been improved since.

Here's a simple example (for illustration only, not real functions or memnonics). Suppose you disassemble some x360 game code and you come across something like:

PUSH $500

PUSH $300

CALL $ACFE000

Now this is the end for us, no outsider knows what that mystery procedure call does. But not for MS. Since they have all the x360 source code, they know these three lines resolve to a call of a procedure named CreateShadowBuffer(xsize,ysize)

So MS instantly knows the game allocates memory for a 1280*768 buffer. It can now replace these lines with the corresponding X1 procedure CreateSBufSize(1920,1080)

And they have automatically increased the resolution to 1920*1080. Of course this doesn't magically create better shadows, but it will not break the game at all (the game still uses the 1280,768 sizes for all calculationssince those are variables you have to find in your disassembly. Until MS finds the variables that are set to 1280,768 and replaces them with 1920,1080 and presto your BC game has better shadows. 

Apparently there are enough "MS grunt workers" around to look for stuff like this and improve the code bit by bit, hence you redownload the runtime system to profit from those finds. Since every x360 game uses different "ideas for programming" (for lack of a better word), every BC game comes with its own run time system. Which, again, contains zero x360 code lines (but an entire x360 os written in Jaguar code, for starters).

Appreciate the explain. But at least where I come from when you write an emulator it basically run like 90% of the code of the system it's emulating as is. That is my hard time with this "emulation" that have to be made one by one. Even if the code or the inner core are secrets to MS only and they are the ones that need to make the emulator, doesn't make sense to have the core changing all the time.



duduspace11 "Well, since we are estimating costs, Pokemon Red/Blue did cost Nintendo about $50m to make back in 1996"

http://gamrconnect.vgchartz.com/post.php?id=8808363

Mr Puggsly: "Hehe, I said good profit. You said big profit. Frankly, not losing money is what I meant by good. Don't get hung up on semantics"

http://gamrconnect.vgchartz.com/post.php?id=9008994

Azzanation: "PS5 wouldn't sold out at launch without scalpers."

DonFerrari said:

I accept port being inaccurate, but I don't think anyone can say it's pure BC or emulation either.

Appreciate the explain. But at least where I come from when you write an emulator it basically run like 90% of the code of the system it's emulating as is.

That was the old age of emulation. It worked like "Grab a line of original code, figure out what it does, execute it on your cpu with your instruction set" (dynamic binary translation). That worked for years - as long as your cpu is at least 10-20 times more powerful than the cpu you are trying to emulate, because figuring out things takes time. Those times are long gone.

Again a simple example, the old "switch two values" function. It goes like

c :=a; a :=b; b:=c; and you have succefully exchanged the values in variables a and b.

These are very simple commands on both the ppc and Jaguar. However, the ppc does it with 3.2GHz in the x360, the Jaguar in the X1 does it with 1.75GHz only - so you are actually slower on the "higher end" system doing exactly the same thing.  If you added to that the time of "figuring out" in a dynamic binary translation system, your speed would be absolutely, hopelessly slow.

Hence the need to "convert everything before the start" - you'll probably still lose a little time here and there, but the speed of the X1 gpu makes up for it more than enough to get a "better game".