olzliberty.blogg.se

Sonic unleashed pc port
Sonic unleashed pc port












sonic unleashed pc port

Also, on the legal side, this is a fine line because getting anything bigger is tricky as it requires going basically to the Torrent Sites and digging through old Xbox Live Arcade content or pirated game. I've not yet attempted to run it with any real game as it probably would not work with anything big and serious. If you want to know how, keep reading :) Current state of the projectĬurrently the published branch of the project allows to run simple Xbox360 demo apps (samples). Nope, this is not going to happen.įortunately, every problem is solvable and the answer is YES in principle. This kills the dream of making "function level" wrapper where we could just go and wrap the "d3d->DrawPrimitive" call directly. Inlining of graphics/kernel functions - Some of the functions used while compiling the executable were inlined directly into the compiled code making it much harder to write a simple API level wrapper. To be honest probably differently for every game. Since there a lot of different ways people used the EDRAM on Xbox this part has to be emulated. Although some cards today still use similar concept this is never exposed directly to the user.

sonic unleashed pc port

Secondly, the Xbox360 GPU was using ~10MB of internal memory called EDRAM that was serving as a temporary storage of render target for the duration of rendering. Those shaders will have to be reverse engineered as well. There are two hard nuts to crack: first, the shaders we see will be complied into the GPU compatible format, no HLSL on input, sorry. There are some cleaver guys in Russia though that figured how :)ĭifferent and outdated GPU architecture - If we want to see any graphics rendered the GPU needs to be emulated. This may pose a significant performance issue.Įncrypted executable image - Yup, for various reasons the executables on Xbox360 are encrypted. To be compatible with incoming data that is being read from files and read/written into the memory all memory based operands must be byteswapped. Memory Layout - Xbox360 uses BigEndian byte ordering, x86 CPUs use LittleEndian. It's obvious that a simple transcription is not feasible.

sonic unleashed pc port

x86 is totally different on the other hand - not so many registers and many more instructions that are more complicated (addressing modes.). They are different in so many ways that I don't even know where to start :) PowerPC is RISC based, has shitloads of registers but very simple instructions. The idea is simple: what if you could take the Xbox360 game and run it on your PC? Is this even possible in principle? I was pondering this question few years ago and that should not come as a surprise that there are some obvious technical difficulties in getting this done:ĭifferent CPUs - Xbox360 uses PowerPC based CPU, our PCs are based on x86 architecture. Moving to clang/llvm soon :) Porting Xbox360 executables to Windows Note that it still requires Microsoft Visual Studio 2015 or newer to be installed.














Sonic unleashed pc port