Posts: 22
Threads: 1
Joined: Feb 2014
Reputation:
0
(03-30-2014, 04:22 PM)mushroom Wrote: There is a xbox emulator called cxbx. I have played like 5 ot so games on it, and several play all the way through. Commercial games yes.It is called cxbx, and it loads the Xbox menu screen as well. The issue is with the graphics textures and gpu emulation; some can still try and fix this, it is not hopeless
I don't really understand why would anyone want to emulate the very first version of Xbox nowadays. There was very little interest in it overall throughout the whole existence of that console and now even its successor Xbox 360 is slowly heading towards the end of its existence with Xbox One being on the market, I really doubt there are many developers still interested to dedicate their time and energy to emulation of this now obsolete console. I know, there are emulators for even older consoles and whatnot, but the very first version of Xbox is very specific "specimen" in its category, unfortunately now for many even less interesting than Super Nintendo or Nintendo 64.
Rpcs3 team, I believe in you, you can do this!
Posts: 218
Threads: 2
Joined: Mar 2014
Reputation:
8
I always found it weird that Cxbx (and like-projects) didn't take off. The Xbox was a fine console, and it's relatively easy enough to emulate (and fairly quickly though static recompilation). Hell, I'm sure Halo 2 in Cxbx would run faster than Halo 2 for Windows.
Posts: 11
Threads: 0
Joined: Mar 2014
Reputation:
0
Static recompilation of x86 (which is CISC) is much more difficult than PPC (which is RISC), unless you mean executing the code directly without touching it...
Posts: 218
Threads: 2
Joined: Mar 2014
Reputation:
8
(03-31-2014, 08:28 AM)Ashe Wrote: Static recompilation of x86 (which is CISC) is much more difficult than PPC (which is RISC), unless you mean executing the code directly without touching it...
Right, compiling/converting it into a Windows PE binary with all of the relevant libraries implemented.
Posts: 22
Threads: 1
Joined: Feb 2014
Reputation:
0
(03-31-2014, 09:26 AM)derpf Wrote: (03-31-2014, 08:28 AM)Ashe Wrote: Static recompilation of x86 (which is CISC) is much more difficult than PPC (which is RISC), unless you mean executing the code directly without touching it...
Right, compiling/converting it into a Windows PE binary with all of the relevant libraries implemented.
Isn't it more like Xbox to Exe convertor rather than Xbox emulator then? I believe that was the main idea of the existing emulator of the very first Xbox console and even then I think it was said it is not really emulator, just a program that attempts to translate instructions of Xbox executables into standard executables for Windows, as from my understanding they were supposedly similar and therefore easy to convert. I don't remember what was the reason why the developers stopped developing it but maybe they found some unexpected limits of the emulation method as a whole that will eventually prevent them the correct emulation of all the games on that console and fixing that would basically mean re-building the whole emulator from scratch by using different emulation method? Well if that was the case, that could be a great setback considering the time and energy it would take and time and energy they already lost in developing the first emulator. Just a thought.
Rpcs3 team, I believe in you, you can do this!
Posts: 35
Threads: 4
Joined: Mar 2014
03-31-2014, 07:23 PM
(This post was last modified: 03-31-2014, 07:24 PM by mushroom.)
Well, here's Cxbx running the Xbox dashboard, which means it's more of a low-level emulator than just a HLE or attempt to convert to .exes. The developer has quit though, but there's room for improvement:
http://www.youtube.com/watch?v=cIeMbH6ug-c
Anyways, going astray, are we? This topic was originally PS4. ;D
Posts: 181
Threads: 0
Joined: May 2009
Reputation:
5
just my two cents...
dashboard is probably an xbe, so it doesn't imply Cxbx is a low level emulator. As far as I know, xbox 1rst generation is more or like a Windows having DirectX, so it shouldn't be too complicated to run an xbe if you can map the system calls through the host Windows and DirectX. In fact, it is more easier than Wine. And as far as I know this is the strategy used in Xenia minus the fact you need to interpret/dynarec PPC code (but win32 functions are so similar that you almost need only to reroute XBOX360 win32 functions to Windows 8 win32 functions).
Posts: 11
Threads: 0
Joined: Mar 2014
Reputation:
0
04-01-2014, 12:06 PM
(This post was last modified: 04-01-2014, 12:10 PM by Ashe.)
(04-01-2014, 11:24 AM)hlide Wrote: just my two cents...
dashboard is probably an xbe, so it doesn't imply Cxbx is a low level emulator. As far as I know, xbox 1rst generation is more or like a Windows having DirectX, so it shouldn't be too complicated to run an xbe if you can map the system calls through the host Windows and DirectX. In fact, it is more easier than Wine. And as far as I know this is the strategy used in Xenia minus the fact you need to interpret/dynarec PPC code (but win32 functions are so similar that you almost need only to reroute XBOX360 win32 functions to Windows 8 win32 functions). The functions imported by Xbox 360 titles are kernel functions, which means you don't have access to most of their Win32 equivalent from user-land (not to mention you'll have a hard time getting it to work with Linux, OS X and mobiles OSes this way). And that's only for basic system functions: I/O, concurrency, etc.
The DirectX code cannot be mapped either as DirectX is statically linked. All you get are the system calls (and there are only a handful of them) that the DirectX library makes to the kernel. Basically you have one function that receives all the draw data at once. Of course you could have some heuristics to detect which DirectX functions it was in the first place, but as the SDK has evolved quite a bit over time, that means an awful lot of signature matching. And in the end, forcing you to go through one single place makes it possible to get better performance out of it anyway.
edit: also, if I remember correctly, isn't the emulator that does what is mentioned in the previous posts called Xeon or Xenosomething?
Posts: 181
Threads: 0
Joined: May 2009
Reputation:
5
see http://www.noxa.org/blog/2011/08/13/buil...xex-files/.
Xeon is an Intel processor. Xenos is the first 90 nm chispset (CPU+GPU) without HDMI (the first model of xbox360). Xenia is the name of an emulator for xbox360 under a Windows 8 pc.
Posts: 11
Threads: 0
Joined: Mar 2014
Reputation:
0
I don't need to look at that page, I know how the Xbox 360 works
As for Xeon: http://www.emulator-zone.com/doc.php/xbox/xeon.html
|