Fullspeed xBox Emulation

General purpose discussion about gaming and emulation.
User avatar
DaMadFiddler
Team Screamcast
Team Screamcast
Posts: 7953
Joined: Fri Feb 06, 2004 7:17 am
Location: San Francisco, CA
Has liked: 0
Been liked: 0
Contact:

Fullspeed xBox Emulation

Post by DaMadFiddler » Thu Apr 08, 2004 11:22 pm

The work-in-progress emulator CXBX (which astounded people late last year by playing Halo) has finally reached the point where it can play at least one game full-speed. Unfortunately, that game is Turok Evolution :-P

I got the news from the Vintage Gaming Network, but I can't really try it out for myself as (A) I don't have any xBox games and (B) I'm not sure my computer is quite up to snuff (it's a pretty decent machine, but still a few years old).
User avatar
DaMadFiddler
Team Screamcast
Team Screamcast
Posts: 7953
Joined: Fri Feb 06, 2004 7:17 am
Location: San Francisco, CA
Has liked: 0
Been liked: 0
Contact:

Post by DaMadFiddler » Thu Apr 08, 2004 11:24 pm

Urgh; just noticed this had already been posted in the Sticky (does anyone read that thing consistently?) And just out of curiosity, is Hawq here the same as the Hawq who posts news at VGN?
area
DCEmu Super Poster
DCEmu Super Poster
Posts: 1403
Joined: Mon Feb 18, 2002 6:20 am
Location: πr?
Has liked: 0
Been liked: 0

Post by area » Fri Apr 09, 2004 9:41 am

Yes, and yes, respectively :)
Image
User avatar
Hawq
Soul Sold for DCEmu
Soul Sold for DCEmu
Posts: 7817
Joined: Sat Jan 05, 2002 1:43 pm
Location: Great Britain
Has liked: 0
Been liked: 0
Contact:

Post by Hawq » Fri Apr 09, 2004 1:20 pm

And over at the 'other' place as well, might as well use this thread to talk about the emu I guess. Should be good when that version gets released
Image
The Prisoner - Makes NGE's ending look almost intelligible.
theres no-one else to blame

Bored? figure out where the above lines from. Answers
Lartrak
DCEmu Respected
DCEmu Respected
Posts: 6166
Joined: Thu Jan 31, 2002 9:28 pm
Has liked: 0
Been liked: 0

Post by Lartrak » Fri Apr 09, 2004 4:37 pm

Is this actually emulating the xbox, or just converting the instructions the games use for PC use? There's a big difference.
How to be a Conservative:
You have to believe everything that has ever gone wrong in the history of your country was due to Liberals.
User avatar
DaMadFiddler
Team Screamcast
Team Screamcast
Posts: 7953
Joined: Fri Feb 06, 2004 7:17 am
Location: San Francisco, CA
Has liked: 0
Been liked: 0
Contact:

Post by DaMadFiddler » Fri Apr 09, 2004 4:58 pm

I'm pretty sure it's mostly the latter...but then again the xBox is the PERFECT candidate for efficient HLE.
User avatar
* illusion *
DCEmu Freak
DCEmu Freak
Posts: 58
Joined: Sun Feb 29, 2004 7:53 pm
Has liked: 0
Been liked: 0

Post by * illusion * » Fri Apr 09, 2004 5:55 pm

Just buy an Xbox and mod it...$175.
Image
sixteen-bit
Hardware Freak
Hardware Freak
Posts: 3246
Joined: Sat Dec 29, 2001 3:45 pm
Has liked: 0
Been liked: 0

Post by sixteen-bit » Fri Apr 09, 2004 6:31 pm

* illusion * wrote:Just buy an Xbox and mod it...$175.
What if you don't want to pay the $175 but still want to play all those stellar xbox-exclusive titles.
Oh, wait..

I kid, I kid. Xbox owners please don't kill me.
User avatar
DaMadFiddler
Team Screamcast
Team Screamcast
Posts: 7953
Joined: Fri Feb 06, 2004 7:17 am
Location: San Francisco, CA
Has liked: 0
Been liked: 0
Contact:

Post by DaMadFiddler » Fri Apr 09, 2004 6:35 pm

Well, this is really aimed more at folks interested in making a "console PC," I guess. Not that the xBox isn't a pretty decent emu-platform in its own right, but there's still a lot more you can do with an actual PC. In other situations, it's also nice to have in case something happens to your console...or if (and I'm actually serious) you want to play the games without the console...assuming it doesn't require the BIOS. I have a number of PlayStation games, but I just used Virtual GameStation until I got a PS2. The PSone never really attracted me as a console, but later in its life, there were a few games I was interested in that weren't really available elsewhere.
BlackAura
DC Developer
DC Developer
Posts: 9951
Joined: Sun Dec 30, 2001 9:02 am
Has liked: 0
Been liked: 0

Post by BlackAura » Fri Apr 09, 2004 8:54 pm

Lartrak wrote:Is this actually emulating the xbox, or just converting the instructions the games use for PC use? There's a big difference.
It's actually neither. It's more like WINE on Linux.

What it does it load the XBE file into memory, set up a memory map somewhat like the one the Xbox uses, and then it scans through the program searching for DirectX. It then redirects all the DirectX calls through a thin wrapper around the native version of DirectX, and uses that for everything else.

UltraHLE did something similar - it scanned the ROM for the library functions which every N64 game used, then simulated what they do. The difference is that UltraHLE actually had to emulate large chunks of the system, where CXBX basically emulates nothing.
Gav-X
Insane DCEmu
Insane DCEmu
Posts: 263
Joined: Mon Sep 01, 2003 2:27 pm
Has liked: 0
Been liked: 0

Post by Gav-X » Sat Apr 10, 2004 10:42 am

Why is there such an emulation overhead then? The author says he's using an 2.8 ghz P4 with a GeForce FX 5600. Granted, he can run the game up to 4X normal speed, but that's achieved by overclocking the emulator.
Image
BlackAura
DC Developer
DC Developer
Posts: 9951
Joined: Sun Dec 30, 2001 9:02 am
Has liked: 0
Been liked: 0

Post by BlackAura » Sat Apr 10, 2004 12:08 pm

Why is there such an emulation overhead then? The author says he's using an 2.8 ghz P4 with a GeForce FX 5600. Granted, he can run the game up to 4X normal speed, but that's achieved by overclocking the emulator.
Well, that'd be about right actually. A 2.8GHz P4 is just over four times as fast as the 733MHz CPU in an Xbox, and a GeForce FX is probably fast enough to handle Xbox games at four times the framerate the Xbox can manage.

The overhead comes in when you consider than the Xbox is running one program only, and it's running the program in kernel mode. That means there are no task switches, no process scheduler, and no need to switch between user and kernel mode every time you want to do something with the hardware. The version of DirectX that Xbox games use also isn't quite the same as any PC version, so you need to translate between those as well.
Envy
Insane DCEmu
Insane DCEmu
Posts: 188
Joined: Thu Nov 29, 2001 4:19 pm
Location: Iran
Has liked: 0
Been liked: 0
Contact:

Post by Envy » Sat Apr 10, 2004 7:24 pm

This has really got me excited. But what I am wondering is how come there is a more advanced xbox emulator than a ps2 emulator. The xbox is like 4 times as powerful as the ps2. Although it could be because it shares a lot of the same qualities as a pc.
User avatar
DaMadFiddler
Team Screamcast
Team Screamcast
Posts: 7953
Joined: Fri Feb 06, 2004 7:17 am
Location: San Francisco, CA
Has liked: 0
Been liked: 0
Contact:

Post by DaMadFiddler » Sat Apr 10, 2004 7:39 pm

Because the xBox is more of an "interpreter" than an "emulator." The xBox emulator is almost entirely HLE, and doesn't have to deal with the nitty-gritty of figuring out and emulating specific, custom hardware. However, the PS2 requires a LOT of custom hardware emulation, some of which we haven't entirely figured out the workings of yet.
Envy
Insane DCEmu
Insane DCEmu
Posts: 188
Joined: Thu Nov 29, 2001 4:19 pm
Location: Iran
Has liked: 0
Been liked: 0
Contact:

Post by Envy » Sat Apr 10, 2004 8:07 pm

heh can u explain that in english? What do u mean by its an interpreter?
User avatar
DaMadFiddler
Team Screamcast
Team Screamcast
Posts: 7953
Joined: Fri Feb 06, 2004 7:17 am
Location: San Francisco, CA
Has liked: 0
Been liked: 0
Contact:

Post by DaMadFiddler » Sat Apr 10, 2004 8:41 pm

I'm sure there are those who can explain it better than I can, such as Ian or BlackAura. But here's a VERY basic run-down of it:

Many systems, such as the NES and the Genesis, are emulated by having the machine run software simulators of the major hardware components and running the game data through that, so that it processes exactly as it would on the original machine. This can take a LOT of memory and CPU speed, since in addition to running the actual software (the game), it has to run virtual versions of all the HARDWARE that the software is running on. This is what's known as "low-level emulation" as it's emulating the base hardware itself.

Programs such as CXBX and UltraHLE rely largely on another method known as "high-level emulation (HLE)," which is sometimes harder to code but MUCH more system-efficient. Rather than running virtual hardware simulations, it simply serves as a "bridge" between the functions the software (the game) is trying to use, and the hardware/software your PC actually has in it. The xBox is an ideal candidate for HLE, because its hardware is very similar to that of a PC, and it actually runs its games using chunks of an operating system very similar to the core of the Windows you have on your computer. That's a major oversimplification, but I hope it gets the basic gist across. Refer to BlackAura's post above for a more accurate description of HLE.
Envy
Insane DCEmu
Insane DCEmu
Posts: 188
Joined: Thu Nov 29, 2001 4:19 pm
Location: Iran
Has liked: 0
Been liked: 0
Contact:

Post by Envy » Sat Apr 10, 2004 9:06 pm

thnx I understand it better now. :)
User avatar
* illusion *
DCEmu Freak
DCEmu Freak
Posts: 58
Joined: Sun Feb 29, 2004 7:53 pm
Has liked: 0
Been liked: 0

Post by * illusion * » Sun Apr 11, 2004 6:22 pm

Geforce FX 5600 is a pretty bad card...
Image
Lartrak
DCEmu Respected
DCEmu Respected
Posts: 6166
Joined: Thu Jan 31, 2002 9:28 pm
Has liked: 0
Been liked: 0

Post by Lartrak » Sun Apr 11, 2004 7:15 pm

Envy wrote:heh can u explain that in english? What do u mean by its an interpreter?
Pretty much because the Xbox is a lazily put together system of essentially off-the-shelf PC parts.
How to be a Conservative:
You have to believe everything that has ever gone wrong in the history of your country was due to Liberals.
User avatar
Hawq
Soul Sold for DCEmu
Soul Sold for DCEmu
Posts: 7817
Joined: Sat Jan 05, 2002 1:43 pm
Location: Great Britain
Has liked: 0
Been liked: 0
Contact:

Post by Hawq » Mon Apr 12, 2004 12:54 pm

* illusion * wrote:Geforce FX 5600 is a pretty bad card...
Well when the average most people have is around GF4 at best roughly then its a damn sight better than the average
Image
The Prisoner - Makes NGE's ending look almost intelligible.
theres no-one else to blame

Bored? figure out where the above lines from. Answers
Post Reply