
Why is there no proper way to emulate XBOX on PC?
- Nintendork666
- Next-Gen
- Posts: 1523
- Joined: Fri Feb 19, 2010 11:52 am
- Location: Michigan, USA
Why is there no proper way to emulate XBOX on PC?
It's 2016 and there still isn't a proper way to emulate original XBOX games on a PC. Which is odd, because you can run ISO's of Dreamcast, PS2, Gamecube, and even Wii (w/ motion controls) games quite easily. Get your act together, nerds: I want to sell my XBOX collection.


AMD Ryzen™ 9 7900X // MSI GAMING X TRIO GeForce RTX 3090 

- Exhuminator
- Next-Gen
- Posts: 11573
- Joined: Tue Apr 30, 2013 8:24 am
- Contact:
Re: Why is there no proper way to emulate XBOX on PC?
I asked a bunch of emulator programmers that question a few years ago, and they all said the same thing. "The major Xbox games all got PC ports, so what's the point?" Clearly they are not aware of the large amount of OG Xbox exclusives:
https://en.wikipedia.org/wiki/Category:Xbox-only_games
You'd think making an OG Xbox emulator would be pretty damn simple compared to say the freaking Saturn which has a decent emulator.
https://en.wikipedia.org/wiki/Category:Xbox-only_games
You'd think making an OG Xbox emulator would be pretty damn simple compared to say the freaking Saturn which has a decent emulator.
PLAY KING'S FIELD.
- ElkinFencer10
- Next-Gen
- Posts: 8755
- Joined: Fri Aug 13, 2010 8:34 pm
- Location: Jonesville, North Carolina
- Contact:
Re: Why is there no proper way to emulate XBOX on PC?
Exhuminator wrote:I asked a bunch of emulator programmers that question a few years ago, and they all said the same thing. "The major Xbox games all got PC ports, so what's the point?" Clearly they are not aware of the large amount of OG Xbox exclusives:
https://en.wikipedia.org/wiki/Category:Xbox-only_games
You'd think making an OG Xbox emulator would be pretty damn simple compared to say the freaking Saturn which has a decent emulator.
Especially since the Xbox was originally designed specifically to be similar to a PC from a development standpoint. Hell, the name itself comes from the intention to make it "DirectX" compatible.
Patron Saint of Bitch Mode
Re: Why is there no proper way to emulate XBOX on PC?
You simply cannot emulate it's sheer power.


Re: Why is there no proper way to emulate XBOX on PC?
I thought I remembered reading that there is something supremely difficult about it. Which in turn helps with the whole why bother bit.
That was super vague and helpful, I know...
It's a shame though, it'd be fun to have the option.
That was super vague and helpful, I know...
It's a shame though, it'd be fun to have the option.
GameSack wrote:That's right, only Sega had the skill to make a proper Nintendo game.
Re: Why is there no proper way to emulate XBOX on PC?
People keep saying it is similar to a PC like that would make it easy, emulating an X86 processor would be a bitch because of the instruction sets and the lack of documentation.
Quoted from the developer of an Xbox emulator from a few years ago.
http://ngemu.com/threads/why-is-xbox-emulation-premature.132032/
Quoted from the developer of an Xbox emulator from a few years ago.
Xbox is just like a PC, it's easy to emulate!"
Yes, we've all heard this silly and pointless argument a million times and it usually ends in the same, and rather ignorant conclusion (or should I say assumption) that just because the Xbox is PC similar, it's hardware should be relatively easy to emulate. That's a very wrong frame of mind. How hard can it be? Very. Xbox's hardware is very complex and still poorly documented to this day. This requires some explanation.
1. Is a PC easy to emulate? Well, I wouldn't say so myself. Take a look at the source code from bochs. A lot of source code/work isn't it?
2. Emulating an x86 CPU is a lot harder than it sounds. I don't know where this mindless assumption comes from. Yes, there's loads of documentation on how the x86 processor works, but that doesn't exactly make it easy. First of all, the x86 instruction set is M-A-S-S-I-V-E! There can be at least 20 different versions of one instruction (i.e. There are many different versions of the MOV instruction, as well as INC, DEC, ADD, SUB, SHR, SHL, AND, OR, XOR etc.) and it takes time to implement them all. Of course, that's not exactly difficult. The real problem is that any modern x86 processor including the Pentium III can execute multiple instructions at once. So it's not like emulating a Z80 doing one instruction at a time. The actual algorithm and how x86 does this is undocumented and still unknown. In short, the Xbox's CPU can be emulated, but not accurately.
3. Emulating any hardware by NVIDIA is not a walk in the park! The Xbox's GPU, the NV2A is often assumed just a GeForce 3. It's not! It's similar but not identical. It has some GeForce 4 capabilities too, so it's more of a cross between an NV20 and NV25. This is by no means easy to emulate either. NVIDIA's GPUs have very large register sets and afaik not even half of them have been discovered, and a large portion of known registers have unknown purposes. There is little to no documentation on how NVIDIA GPUs work. The best thing to do is to look at similar GPUs such as RIVA, TNT, and older GeForce cards. Some registers are similar, but not identical. The best place to look for information is in open source drivers available on the net. Adding to the dificulty is that no one has ever discovered how pixel shaders work on NV2x cards, vertex shaders yes though. The Xbox GPU also has exclusive registers that are not found in other GeForce cards. Information on the NV2A's GPU registers are just now beginning to be discovered a few months ago. And yet, there's still a long way to go. The GeForce 3 series is the most mysterious of all NVIDIA GPUs (G7x and G8x aside) and the NV2A is alot worse. "But can't you just directly execute the NV2A instructions on another NVIDIA card?". No, I get alot of questions concerning this, and it is impossible. It's MMIO addresses are different and the exclusive registers must be emulated. Plus, in windows, we don't have ring 0 access anyway, so you all can scratch that idea now. Then comes the NForce 2 chipset. This is where it get easier. The NVIDIA MCPX is the control center for things such as audio, USB for input, Network adapters, PCI, AGP, etc. These things are not really that difficult to emulate IMO except for the audio.
4. The Audio system is rather complex. Xbox's audio consists of at least 4 DSPs, and audio codec (AC '97) and an NVIDIA SoundStorm APU. The DSPs shouldn't be a problem (just figuring out what they all are is) nor should the AC '97 but the NVIDIA SoundStorm APU is the really difficult part. So far I haven't found any information on this thing, but right now, it's relevance is low.
5. The Xbox BIOS isn't fully understood. The basic execution process of the BIOS is understood, but details on the process are at a loss. What we do know gives us hints, but before the BIOS can be emulated, we'll need a better understanding of the Xbox hardware layout because the BIOS does some unknown hardware initialization at boot time and writes to the hardware directly without using any XDK stuff. It will take some time, and effort, but I'll eventually get it working.
6. Video Encoder "Hell". Instead of using a RAMDAC for video output, the Xbox uses a Video Encoder. What makes this suck a pain? Microsoft sought the need to change the video encoder every other Xbox version (there are seven in all, 1.0 - 1.6). Why, I dunno, it's a Microsoft thing, they always tend to try to "fix" things that aren't broken >.> AFAIK, there are at least 3 different Video Encoders used: Conexant CX25871, Focus FS454, and Xcalibur. For more information in Xbox video encoders, click here. Emulating all three video encoders is only less than half the battle, the real problem is that BIOSes can be specifically tied to a specific encoder depending on it's version (don't quote me on this though). Like PS2, every Xbox model revision has a updated BIOS and has different expectations. This is a potential problem, but not exactly major.
Basically, I'm trying to get this "Xbox should be easy to emulate because it's just like a PC" crap out of your heads. I'm sure that most of you will disagree with me on this, but for these reasons and more, on a low level, Xbox is harder to emulate than PS2.
^ The exception to that above is that the NV2A is much better documented now, but not fully. There's an open source library for the OpenXDK called pbKit. It interfaces directly with the hardware to fully expose it's potential. This is what Microsoft should have done all along (or at least wrote a low-level OpenGL implementation).
http://ngemu.com/threads/why-is-xbox-emulation-premature.132032/
- Exhuminator
- Next-Gen
- Posts: 11573
- Joined: Tue Apr 30, 2013 8:24 am
- Contact:
Re: Why is there no proper way to emulate XBOX on PC?
After reading through that, I realize that emulating the Xbox is more difficult than it immediately seems. On the other hand, considering it was a western console, consisting of western designed components, and frequently developed for by westerners... I find it hard to believe that it's truly that difficult to find detailed hardware and software specs about its components and instruction sets. It's not like you'd be trying to track down that sort of stuff about a 30 year old Japanese console from obscure Japanese developers. With OG Xbox it's likely just a bit of detective work to find the right engineers and developers to email and request the pertinent information from.
PLAY KING'S FIELD.
- samsonlonghair
- Next-Gen
- Posts: 5188
- Joined: Tue Feb 17, 2009 2:11 pm
- Location: Now: Newport News, VA. Formerly: Richmond. Before that: Near the WV/VA border
Re: Why is there no proper way to emulate XBOX on PC?
Doesn't the XBOX 360 emulate half of all OXBOX games? I mean... It's not like the wii rebooting into gamecube mode by slowing down the processor. It's not like the Genesis playing Master System games via powerbase converter by utilizing the z80 already built into the Genesis for sound. When I pop Incredible Hulk Ultimate Destruction into an XBOX 360, It's using emulation, right?
So that means that at least Microsoft has the documentation they need to emulate XBOX. That might come across as a "Well, Duh" kind of statement. I'm just throwing it out there that an XBOX emulator already exists.
So that means that at least Microsoft has the documentation they need to emulate XBOX. That might come across as a "Well, Duh" kind of statement. I'm just throwing it out there that an XBOX emulator already exists.
Re: Why is there no proper way to emulate XBOX on PC?
Of course, the compatibility is pretty sketch. No question you could make a high-level emulator that would work for the most common stuff, but it does get back to the question of whether it's worth it to do so. I'd be interested to see the exclusive games on XBOX that don't run on the 360.
- Exhuminator
- Next-Gen
- Posts: 11573
- Joined: Tue Apr 30, 2013 8:24 am
- Contact:
Re: Why is there no proper way to emulate XBOX on PC?
Sarge wrote:I'd be interested to see the exclusive games on XBOX that don't run on the 360.
Well you could cross reference these two lists:
https://en.wikipedia.org/wiki/Category:Xbox-only_games
https://en.wikipedia.org/wiki/List_of_X ... ble_titles
PLAY KING'S FIELD.