Rambling/Thoughts on Xbox Emulator/Emulation
I've been keeping my eye on the research for a small while. Just here and there every year.
Tl;dr "its not that simple"
We've gone from having no emulators at all to having
Xeon Cxbx Dxbx
I'm not fully 100% sure on the history of each of the emulators.
I know Xeon can only run Halo:Combat Evolved and thats just about it. I imagine by now its a dead project cause there hasn't been an update in forever on it.
Dxbx is on standby since November of 2011 because the head devs left so I guess thats dead by now.
So our only hope is Cxbx which, has had extremely slow progress. Sure, their list of what games can run completely, list of issues etc. Their forums don't have much action although the last xbox emu dev is still posting and working (and apparently has a contract with Microsoft?) so I imagine the project isn't completely dead just yet because the latest thread was updated two days ago.
This actually pretty sad to see. We have a Gamecube and a PS2 emulator thats 10x more stable than a Dreamcast emulator that we can't even perfect. And I get that. That coding is fucking warped as far as I'm concerned. Trying to figure out that emulators is a fucking hell hat and a half. But even that, THATS still sad we can't perfect it.
This thread provides some insight on why its not easy though: http://www.ngemu.com/forums/showthread.php?t=132032.
Basically its clarifying the statement of ""Xbox is just like a PC, it's easy to emulate!" It talks about every single inch and department of the xbox and why its different and how it changes etc. Which is interesting and brings me to my next point.
The XDK codes. This is extremely interesting and as a technical lover to see something like this. All devs of each project divided the games up by these codes. Which tells me that if they can figure out one code of each game, they can figure out the rest of the games that have the same build code.
In fact the dev of Cxbx even said that himself. "If Jet Set Radio Future had build number 'x' instead of this one, we'd have it done completely already." That was found in the capability list comments when someone brought up JSRF.
But my question is when I looked into this thread here: http://forums.ngemu.com/showthread.php?t=109507
I'd like to make a request to anybody out there that has access to an XDK and IDA Pro's Flirt package : Could you please create patterns files for at least these xbox lib files? :
XDK\xbox\lib\d3d8.lib
XDK\xbox\lib\d3d8ltcg.lib (new)
XDK\xbox\lib\d3dx8.lib
XDK\xbox\lib\dsound.lib
XDK\xbox\lib\libcmt.lib
XDK\xbox\lib\xapilib.lib
XDK\xbox\lib\xgraphics.lib
XDK\xbox\lib\xgraphicsltcg.lib (new)
XDK\xbox\lib\xmv.lib
More might be added to this list, since I recently updated XDKTracker to keep record of all libraries in use by various games (this list was hard-coded until recently). Normally, it's enough to drag'n'drop the .lib file on top of pcf.exe - a .pat will be generated and that's all we want. Please prepend the .pat file with the version-number of the XDK, so you'll get "4637xapilib.pat" for example. We use these to detect as much API's as possible (and I'm working on a much more efficient trie-structure to store them in), so : please send 'em in! Thanks in advance! PS: If anyone 'in the know' has comments on the legality of these pattern files, please contact us - we really don't want anyone to get in trouble because of this! PS 2: Note that it's the xbox library patternswe're requesting, not the actual XDK's themselves (we don't really need them actually) !
So these are just library patterns then? Why don't you need the xdks themselves? If you have them AND looking at the library location, wouldn't these things be in the same place as the xdks?
This was found for Cxbx section of the forums.
But looking at http://www.caustik.com/cxbx/progress.htm
I guess there is a lot more to this. Stuff I don't exactly understand considering I'm not a programmer myself. Considering Cameron is a programer, I went to him about this. I have a slight better understanding of what it means and takes to emulate such stuff since the architecture and different hardware platforms etc.
Tl;dr "its not that simple"
That and, we need more devs considering each project has died or is slowly dying because of the lack of workers they have going towards it.
Guess we'll just have to keep waiting.








