By using this site, you agree to our Privacy Policy and our Terms of Use. Close
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.