After long discussions with Team Xecuter (who produce mod chips for the Microsoft XBOX console) I have been able to unpack XBE files, which are binary executables for XBOX games and applications. I felt this presented an opportunity to learn more about the way the binaries are built and maybe write some custom XBOX software.
What I found, however, was much more exciting. Once unpacked, I was able to successfully recompile the binary in the XBOX development environment, and execute it on an XBOX, which proved that the binary could be unpacked and repacked successfully.
I then wrote an application for the Amiga which recompiles the unpacked XBE in to an Amiga PPC executable, which means an emulator is not required to execute it. This does still leave the problem that the software is unported - so it is still expecting the XBOX kernel and hardware to be there.
I realised that a potential solution would be to develop an emulation environment which loads a patched kernel image, and allows the recompiled XBE to run as a native PPC executable, while translating the requirements for XBOX hardware into Amiga equivalents.
I won't go in to technical details yet, but the upshot is that I have a working emulator. A utility patches the kernel image for use with the emulator. When run, the emulator executes the recompiled XBE and allows it to run as a native PPC executable. The modified kernel uses P96 instead of the XBOX GPU, and translates where necessary. Control of the game is achieved using a keyboard at present, but I am working on USB support. Since XBOX pads are only USB anyway, with the correct cable (or by wiring on a USB connector) you could in theory use an XBOX pad connected to a Subway/Spider USB controller to play the XBOX game. Sound doesn't work yet, but hopefully I can patch the kernel to use AHI instead of looking for the XBOX DSP chip.
Of course, it's not as simple as putting an XBOX game in a DVD drive on an Amiga and then running it. You need a modified XBOX so you can get FTP access to its DVD drive. Then you copy the files across a network connection from the XBOX DVD on to your Amiga. You also need to FTP across a kernel image. Then, once the files are on your Amiga, you patch the kernel image, run the utility which de-/re-compiles the XBE, and then it can run.
I have tested with a few games and it seems to work quite well, though obviously performance isn't as good as it is on a real XBOX. Nothing is released yet, but here is a screenshot to whet your appetite.
XBOXEmu Screenshot--
moto