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

Forums - Microsoft - Microsoft Researching an Xbox 360 Emulator for the Xbox One.

It is somewhat embarassing to see how people are grasping at straws.
"MS looking into making an X360 emulator".
Do you remember the very early leak of a 20-page memorandum about X1 hardware? It had a hardware circuit for X360 backward compatibility. So, yes of course MS was and is looking into backward compatibility. We have the X1 now and it does not contain the circuitry. Can they make it in software?
As a rough estimate, it takes about four times cpu power to emulate another processor. The X360 has a 3GHz triple core power pc processor. So we need very roughly 30GHz of processing power to emulate it. Good luck with six 1.7GHz low power Jaguar cores. Sure we might add gpgpu power to an emulator. Maybe the whole, very complex thing would actually run some software at some 5-20fps. How many man-years of work would have to set aside for such an almost usable emulator? How many people would actually buy such an emulator? These are the problems MS is looking into when the question "How about an X360 emulator?" pops up. What should the guy on stage answer if he wants to avoid the simple, but truthful "Not in a million years" reply?



Around the Network

I own two xbox 360s and an Xbox One but even if they offered some sort of $100 add on for the Xbox One that allowed for 360 ganes to run on the new console, I might have to jump on it.,



That would be nice. I would like to have that for the few games I kept when I traded my x360 in.



 

I don't think this is coming anytime soon, if at all. It's too bad. One of the better things about X360 was the ability to play Xbox originals.



Adinnieken said:
torok said:
I believe that the word emulator isn't correct for this case. An emulator simulates the complete hardware (CPU, GPU, etc) of another machine, basically creating a software representation of the original machine. That's the magical concept: everything that is done in hardware can be done in software. But doing in software something that was done in hardware is painfully slow. It would be necessary a machine much more powerfull than a XB1 or even a high-end PC to do that. And the software side would be much more complex than a PS2 or Wii emulator because the X360 GPU (like the PS3 and all 8th gen consoles) is programmable. Complex and slow.

What they probably are researching is a translator. A way to get X360 instructions (in the game's binary) and translate it to equivalent instructions for the X1 architecture and OS. That can even allow to run the code form the other device with the same performance (of course, some instructions in 360 could need more than one instruction in X1, impacting performance, but it would be close anyway). It may be possible. There is a similar translator to run Windows programs on Linux, Wine. It isn't 100% compatible, it's being developed at almost 20 years, but it can actually run some modern games with minimal to no overhead. Of course, it is simpler because it is only translating from one OS to another, while the MS case would need to translate from one OS to another and one architecture to another.

Um, no.  Your use of a a "translator" is incorrect.  Translation is when you convert code from one language into code from another.

Wine isn't translation.  Wine is an emulator built via reverse engineering. 

Virtualization is when hardware is emulated in a virtual machine (software).  Video game emulators are a form of virtualization.

 


Wine isn't an emulator. Even Wine means "Wine is not an emulator". An emulator must reproduce the software or hardware environment precisely. Virtualization isn't emulation too, because the hardware isn't simulated (a lot of physical hardware is passed through directly and shared. That's why virtualization today can reach sometimes 80% or more of the performance of a native OS). 

Wine is translating because what it does is translate one language to another. He gets the instructions for a Windows software and converts in real time to calls for Linux equivalent operations, like translating the calls to draw a button in Windows to equivalent calls to X.Org on Linux. It isn't emulating a Windows environment, it's simply translating Assembly code in real time.

Emulation demands that you simulate other hardwares using software. Emulation never can come any close to the original in performance, demanding a much more powerful hardware. Hardware implementation is much faster than software and they can't change it. Anything that gives an almost 1:1 performance, like virtualization, isn't emulation.



Around the Network
Mr Puggsly said:
lucidium said:
Won't happen, were barely emulating the ppc CPU in the PS2 on PC, emulating the CPU and GPU on the 360 is going to take hardware a lot more powerful than a weak amd APU

Barely emulating PS2? Most PS2 games are fully playable on a PC.

The Gamecube and Wii use a PPC CPU and most of those games are emulated on PC as well.

 

People are with the wrong focus. CPU isn't the big problem. X360 CPU isn't much different of a Wii CPU in steroids with multiple cores. Problem is GPU. Wii uses a simple fixed function GPU that has all the functions implemented on hardware in a pretty predictable way. That's why lightning on the Wii is bland, because it has only one algorithm to do it and it is hardcoded. 360 GPU is programmable. Lightning is done with shaders so it can apply different lightning algorithms to any material. It's complex. This is what makes emulating any console after PS360 another level of challenge.



torok said:
 

People are with the wrong focus. CPU isn't the big problem. X360 CPU isn't much different of a Wii CPU in steroids with multiple cores. Problem is GPU. Wii uses a simple fixed function GPU that has all the functions implemented on hardware in a pretty predictable way. That's why lightning on the Wii is bland, because it has only one algorithm to do it and it is hardcoded. 360 GPU is programmable. Lightning is done with shaders so it can apply different lightning algorithms to any material. It's complex. This is what makes emulating any console after PS360 another level of challenge.

I think some might have read somewhere about CPU issues in emulation and taken it the wrong way. The problem doesn't falls squarely on the X360 CPU as much as on the XOne's. A huge part of both the CPU and GPU instructions of the X360 would fall as CPU work if it were to be emulated. The XOne and the PS4 don't have the juice to do it.

It would be amazing if it did, but then, a lot of things would be amazing and simply won't happen, so yeah.



 

 

 

 

 

haxxiy said:

I think some might have read somewhere about CPU issues in emulation and taken it the wrong way. The problem doesn't falls squarely on the X360 CPU as much as on the XOne's. A huge part of both the CPU and GPU instructions of the X360 would fall as CPU work if it were to be emulated. The XOne and the PS4 don't have the juice to do it.

It would be amazing if it did, but then, a lot of things would be amazing and simply won't happen, so yeah.

 

Yes, they don't have enough power to emulate it. Even high-end PCs wouldn't have it. A translator could run, but it looks like it's pretty complicated (since most consoles to date simply were shipped with entire hardware components from its predecessor to allow them to run games). Despite that, Hd re-releases are being a great cash cow. GoW HD versions sold around 3M combined, Ico and SoC sold some good few hundred thousands units. With low production costs to port them, it was pure money.



lucidium said:
Mr Puggsly said:
walsufnir said:


Yes, one CPU. And an especially slow one. No match for the 3 cores used in 360...

I'm not sure what your point is.

The 360 emulator would obviously be more demanding of resources than a Wii emulator. But does mean no PC can handle a 360 emulator? Absolutely not.

 

Topic said:

Microsoft Researching an Xbox 360 Emulator for the Xbox One.

And PS2 emulation still is "barely", theres a huge difference between running and running properly, after trying out latest SVN pcsx2 id say only about 20% are running with no notable issues, most of the time however theres graphical glitches here and then in 3d/menus, missing shadows, surfaces, sound syncing issues and so on.

If this was something Microsoft planned to release and make money from it would need to be in a form where such issues were near zero otherwise the backlash would be painful.

I tried 4 games thus far (all legitimate PS2 disks in my optical drive, all in minty fresh condition).

Okami (SLPM66375) - Would not boot at all, black screen
Spy Fiction (SLPS25311) - Worked okay, no major graphical glitches but sound syncing issues and points of slowdown
Ridge Racer V (SCES50000) - Major graphical glitches throughout all menus, video playback and environment/vehicle texures as well as shadows, large portions of slowdown during scripted events
KU-ON (SLUS21007) - Sound syncing issues and occasional slowdown

These all at native-ps2 resolution, no fancy stuff enabled, on a 3 way titan black system and an i7 3970X cpu, not exactly a sluggish machine.

Go to Youtube and try looking for video of people playing games you tested.

Here's a video of someone that successfully booted Okami.

https://www.youtube.com/watch?v=6QiDTci9uMA



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)

torok said:


Wine isn't an emulator. Even Wine means "Wine is not an emulator". An emulator must reproduce the software or hardware environment precisely. Virtualization isn't emulation too, because the hardware isn't simulated (a lot of physical hardware is passed through directly and shared. That's why virtualization today can reach sometimes 80% or more of the performance of a native OS). 

Wine is translating because what it does is translate one language to another. He gets the instructions for a Windows software and converts in real time to calls for Linux equivalent operations, like translating the calls to draw a button in Windows to equivalent calls to X.Org on Linux. It isn't emulating a Windows environment, it's simply translating Assembly code in real time.

Emulation demands that you simulate other hardwares using software. Emulation never can come any close to the original in performance, demanding a much more powerful hardware. Hardware implementation is much faster than software and they can't change it. Anything that gives an almost 1:1 performance, like virtualization, isn't emulation.

WinE originally meant Windows Emulator.

What you're calling translation isn't translation.  Translation is taking C++ and converting it into C# or VB#.  Windows calls aren't a language.  Nor are Linux calls. 

Every computer language is meaningless to a computer other than binary.  From Assembly on up to Javascript is simply a computer coding language intended to make programming easier for programmers.  If I open a file in Basic, C++, or Perl, I'm issuing essentially the same commands in Binary.  I'm just using an easier language to do so.   Where as it may take 3,000 lines of code to open a file in binary, it may only take four in VB or two in C.

So when an application makes a call to the OS to open a file, such as Word may do in Windows, the programmer makes a reference to a C Lib to open the file and pass it onto the application, where then the application does more with it.  That call to the OS that the application makes is the same in Windows as it is on Linux.  Now to save a file, the OS may do something different.  Maybe when the file is saved the application gives the user the ability to associate a unique icon with the file (as Word does), this may require a call to another file.  In order for WinE to emulate that or handle that call gracefully, they would need to emulate that call OR gracefully error out.       

While WinE doesn't have access to original source code to understand every hook and relied upon reverse engineering to identify the calls to the OS that applications were making, it is still an emulator.  What you're calling translation is actually what happens when you emulate a system.  You take a call that an application makes, then you emulate that call on a facimile of it.  Most of the time people are emulating (virtualizing) the hardware in software, WinE is simply emulating a portion of an OS functionality.     

Where WinE differs from a true emulator is that it doesn't emulate the entirety of Windows or even the hardware.    It is an application layer that emulates Windows calls.  Much in the same way that Windows NT itself could run POSIX and OS/2 applications, or OS/2 could run Windows 3.1 applications.  They're application layers that emulate a different OS.  

I would encourage you to educate yourself.  Emulation is a subset of virtualization.  They are almost synonmous.