Xenia is an Xbox 360 device emulator. It has been in development since January 10th 2013 with 2956 commits of code to the popular open source code sharing website – Github. The developers have been very busy for the past two years creating this beast of an emulator, however, it is still in early days of development.
Recently they have been able to get Halo Reach to start on the emulator and managed to load into the game menu, but the game runs into an error when trying to select a game mode, which you can see the video below.
Things look promising for the project, they are trying to make a start on multi-platform, but won’t be able to run on Mac until Apple starts to support Vulkan. For now, you need to have Windows 8.1 with python 2.7 and Visual Studio 2015 installed to run it.
They have also been able to get Frogger 2 to run in the emulator:
The project is created by Ben Vanik, a developer from Seattle who works as an engineer for google, also he has worked for Microsoft in the past. He states on his blog how the emulator works.
“At the highest level the emulator needs to be able to take the original PowerPC instructions and run them on the host processor. These instructions come in the form of a giant assembled binary instruction stream loaded into memory – there is no concept of ‘functions’ or ‘types’ and no flow control information. Somehow, they must be quickly translated into a form the host processor can understand, either one at a time or in batches”
Pretty complex stuff, he also has to extract the XEX file from games and then reverse engineer the code to try to make it work on the Xenia emulator.