Fullspeed xBox Emulation
- DaMadFiddler
- Team Screamcast
- Posts: 7953
- https://www.artistsworkshop.eu/meble-kuchenne-na-wymiar-warszawa-gdzie-zamowic/
- Joined: Fri Feb 06, 2004 7:17 am
- Location: San Francisco, CA
- Has thanked: 0
- Been thanked: 0
- Contact:
Fullspeed xBox Emulation
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
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).
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).
- DaMadFiddler
- Team Screamcast
- Posts: 7953
- Joined: Fri Feb 06, 2004 7:17 am
- Location: San Francisco, CA
- Has thanked: 0
- Been thanked: 0
- Contact:
- Hawq
- Soul Sold for DCEmu
- Posts: 7817
- Joined: Sat Jan 05, 2002 1:43 pm
- Location: Great Britain
- Has thanked: 0
- Been thanked: 0
- Contact:
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
theres no-one else to blameThe Prisoner - Makes NGE's ending look almost intelligible.
Bored? figure out where the above lines from. Answers
- DaMadFiddler
- Team Screamcast
- Posts: 7953
- Joined: Fri Feb 06, 2004 7:17 am
- Location: San Francisco, CA
- Has thanked: 0
- Been thanked: 0
- Contact:
- * illusion *
- DCEmu Freak
- Posts: 58
- Joined: Sun Feb 29, 2004 7:53 pm
- Has thanked: 0
- Been thanked: 0
-
- Hardware Freak
- Posts: 3246
- Joined: Sat Dec 29, 2001 3:45 pm
- Has thanked: 0
- Been thanked: 0
- DaMadFiddler
- Team Screamcast
- Posts: 7953
- Joined: Fri Feb 06, 2004 7:17 am
- Location: San Francisco, CA
- Has thanked: 0
- Been thanked: 0
- Contact:
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.
-
- DC Developer
- Posts: 9951
- Joined: Sun Dec 30, 2001 9:02 am
- Has thanked: 0
- Been thanked: 1 time
It's actually neither. It's more like WINE on Linux.Lartrak wrote:Is this actually emulating the xbox, or just converting the instructions the games use for PC use? There's a big difference.
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.
-
- DC Developer
- Posts: 9951
- Joined: Sun Dec 30, 2001 9:02 am
- Has thanked: 0
- Been thanked: 1 time
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.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.
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.
- DaMadFiddler
- Team Screamcast
- Posts: 7953
- Joined: Fri Feb 06, 2004 7:17 am
- Location: San Francisco, CA
- Has thanked: 0
- Been thanked: 0
- Contact:
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.
- DaMadFiddler
- Team Screamcast
- Posts: 7953
- Joined: Fri Feb 06, 2004 7:17 am
- Location: San Francisco, CA
- Has thanked: 0
- Been thanked: 0
- Contact:
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.
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.
- * illusion *
- DCEmu Freak
- Posts: 58
- Joined: Sun Feb 29, 2004 7:53 pm
- Has thanked: 0
- Been thanked: 0
Pretty much because the Xbox is a lazily put together system of essentially off-the-shelf PC parts.Envy wrote:heh can u explain that in english? What do u mean by its an interpreter?
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.
You have to believe everything that has ever gone wrong in the history of your country was due to Liberals.
- Hawq
- Soul Sold for DCEmu
- Posts: 7817
- Joined: Sat Jan 05, 2002 1:43 pm
- Location: Great Britain
- Has thanked: 0
- Been thanked: 0
- Contact:
Well when the average most people have is around GF4 at best roughly then its a damn sight better than the average* illusion * wrote:Geforce FX 5600 is a pretty bad card...
theres no-one else to blameThe Prisoner - Makes NGE's ending look almost intelligible.
Bored? figure out where the above lines from. Answers