Emu Talk Goes Here
User avatar
Nintendork666
Next-Gen
 
Posts: 1518
Joined: Fri Feb 19, 2010 11:52 am
Location: Michigan, USA

Why is there no proper way to emulate XBOX on PC?

by Nintendork666 Fri Jun 17, 2016 3:35 pm

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.

:evil:
PC [Xeon 1231 + RTX 2070] O.G. Xbox PSP 3000Image
User avatar
Exhuminator
Next-Gen
 
Posts: 11573
Joined: Tue Apr 30, 2013 8:24 am

Re: Why is there no proper way to emulate XBOX on PC?

by Exhuminator Fri Jun 17, 2016 10:20 pm

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.
PLAY KING'S FIELD.
User avatar
ElkinFencer10
Next-Gen
 
Posts: 7510
Joined: Fri Aug 13, 2010 8:34 pm
Location: Henderson, North Carolina

Re: Why is there no proper way to emulate XBOX on PC?

by ElkinFencer10 Fri Jun 17, 2016 10:25 pm

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.
Exhuminator wrote:Ecchi lords must unite for great justice.

Image
User avatar
Xeogred
Next-Gen
 
Posts: 14378
Joined: Thu Apr 02, 2009 7:49 pm
Location: KC

Re: Why is there no proper way to emulate XBOX on PC?

by Xeogred Fri Jun 17, 2016 10:31 pm

You simply cannot emulate it's sheer power.

Image
User avatar
CFFJR
Next-Gen
 
Posts: 4372
Joined: Sun Feb 21, 2010 7:51 am
Location: Denver, CO

Re: Why is there no proper way to emulate XBOX on PC?

by CFFJR Sat Jun 18, 2016 1:12 am

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.
GameSack wrote:That's right, only Sega had the skill to make a proper Nintendo game.
User avatar
emwearz
Next-Gen
 
Posts: 4669
Joined: Fri Jul 31, 2009 9:24 pm
Location: Melbourne, Australia

Re: Why is there no proper way to emulate XBOX on PC?

by emwearz Sat Jun 18, 2016 1:39 am

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.

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/
User avatar
Exhuminator
Next-Gen
 
Posts: 11573
Joined: Tue Apr 30, 2013 8:24 am

Re: Why is there no proper way to emulate XBOX on PC?

by Exhuminator Sat Jun 18, 2016 10:13 am

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.
User avatar
samsonlonghair
Next-Gen
 
Posts: 5030
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?

by samsonlonghair Fri Jul 01, 2016 6:24 am

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.
User avatar
Sarge
Next-Gen
 
Posts: 7234
Joined: Thu Mar 14, 2013 12:08 pm

Re: Why is there no proper way to emulate XBOX on PC?

by Sarge Fri Jul 01, 2016 11:34 am

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.
User avatar
Exhuminator
Next-Gen
 
Posts: 11573
Joined: Tue Apr 30, 2013 8:24 am

Re: Why is there no proper way to emulate XBOX on PC?

by Exhuminator Fri Jul 01, 2016 11:58 am

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.
Return to Emulation

Who is online

Users browsing this forum: No registered users and 3 guests