Next Generation Emulation banner

1 - 20 of 28 Posts

·
Registered
Joined
·
18 Posts
Discussion Starter #1
blueshogun96 apparently making new emulator (Xenoborg), which will playing games like Midtown Madness 3 :drool: etc.. Are there any new news about this program?
 

·
Premium Member
Joined
·
6,071 Posts
I don't recall his progress was continued under the Xenoborg name, given he's been contributing his work to cxbx.
Looks like someone hasn't been following the blog :)

Btw, I already have a forum home for this project.
 

·
Linux's worst nightmare..
Joined
·
1,510 Posts
speaking of blogs any chance of a new blog post coming soon?
 

·
Registered
Joined
·
18 Posts
Discussion Starter #6
I'm just waiting for some new news from the Xenoborg :)

I might even help blueshogun96's in realization this project, but... I have no time :(
 

·
Linux's worst nightmare..
Joined
·
1,510 Posts
that sucks :( hope its not a show stopper...
 

·
Registered
Joined
·
34 Posts
Last time [about 5 minutes ago...] I checked the repo at code.google, it was mostly dummy files. Is there a private or shadow repo which has anything different on it?
If not: What does this even do?
With only a handful of kernel exports, no graphics emulation etc. this shouldn't be much more than a xbe-loader with some x86-interpreter and unnecessary patcher attached to it... - So why would anyone need a binary (yet)?
 

·
Premium Member
Joined
·
6,071 Posts
Removed link, for reasons I will explain later. Have to leave very soon.
 

·
Registered
Joined
·
107 Posts
Removed link, for reasons I will explain later. Have to leave very soon.
could explain why this topic or in your blog "xenoborg"?

As for your code, I understand (if you're wrong can correct me), this very truncated:

1) You call it. EXE, 2) it calls the process of DX, 3) the DX GUI API calls, 4) the GUI API is programmed instructions to open an XBE and 5) XBE's time to run the "CRITICAL ERROR INSIDE MEMORY "I understand. Is that right?

I think the only reason to have started a new emulator would not SYSWOW membership of 64.

Cause I really think I should not have compiled no, actually I could not even call it the source, has nothing necessarily the code. = /

Sorry Blueshogun else was trying to help see if anyone is interested in your code open source, although the same have much truncated and almost nothing really interesting in my opinion. :thumb:
 

·
Premium Member
Joined
·
6,071 Posts
I appreciate your interest, but the reason I removed that link was because I already have a forum for this project elsewhere. Last time something of this nature happened, I got into some huge trouble and almost lost it.

As for the reason I started this, HLE is inadequate and not the best way to emulate Xbox.
 

·
Classic Gamer
Joined
·
32 Posts
Just a Question, Since the Xbox uses PC hardware e.g. Pentium III and a Geforce Graphics Card, Would it not be Possible to Run the XBOX Operating System in a Virtual X86 Machine.
 

·
Never give up your dreams
Joined
·
181 Posts
Yeah... I think it would be possible, but I think that's not legal, because the Xbox 360 OS is a intellectual property of Microsoft. And even if there is a hole in the law about this... Microsoft would make rain knives on your head (and in your $ pocket $ :lol:) until you stop producing/improving this kind of software.

Anyway, this way of "emulate" consoles wouldn't give the programmer that feeling of power when a game is running under his emulator :p
 

·
Registered
Joined
·
177 Posts
Just a Question, Since the Xbox uses PC hardware e.g. Pentium III and a Geforce Graphics Card, Would it not be Possible to Run the XBOX Operating System in a Virtual X86 Machine.
That pretty much sums what cxbx, dxbx and xeon does. There are similarities, but there also a lot of custom stuff from the so called "Pentium 3" processor that the original Xbox has, like a few different instructions... Sounds easy? guess again, emulating a p3 is very complex and from what i understand not very well documented, with that said emulating that custom p3 for the xbox is pretty much next to impossible at this point with out some reverse engineering.

The problem with these emulators is that even though the XBE format comes very close to acting like an normal executable, there are just plenty of custom xbox direct3d calls that just aren't found in directX.

Yeah... I think it would be possible, but I think that's not legal, because the Xbox 360 OS is a intellectual property of Microsoft. And even if there is a hole in the law about this... Microsoft would make rain knives on your head (and in your $ pocket $ :lol:) until you stop producing/improving this kind of software.

Anyway, this way of "emulate" consoles wouldn't give the programmer that feeling of power when a game is running under his emulator :p
What are you on? oO
 

·
Registered
Joined
·
34 Posts
JoaoHadouken: We were talking about xbox 1, also get your facts straight..

That pretty much sums what cxbx, dxbx and xeon does. There are similarities, but there also a lot of custom stuff from the so called "Pentium 3" processor that the original Xbox has, like a few different instructions... Sounds easy? guess again, emulating a p3 is very complex and from what i understand not very well documented, with that said emulating that custom p3 for the xbox is pretty much next to impossible at this point with out some reverse engineering.

The problem with these emulators is that even though the XBE format comes very close to acting like an normal executable, there are just plenty of custom xbox direct3d calls that just aren't found in directX.
Cxbx, dxbx and xeon are software emulators - not actual xbox emulators. Which is also why I personally call them XTL software emulators.
Xenoborg is said to be a low-level-emulator (to me, this sounds like a hardware emulator), yet to me, it looks like another kernel-emulator too with some XTL parts slapped ontop. Personally, I still don't really get where Xenoborg is going to be or what it is.

The Pentium 3 is AFAIK stock.
No modifications it seems. Even normal CPUID and very old features which should have been stripped. Maybe the CPU would have been different if things had worked out with AMD. But the intel CPU in the final product seems to be unmodified.

Emulating Pentium 3 software without timing is rather easy. It's just a lot of work. But it can easily be done within a few days I believe. The architecture is very well documented and if you knew it before it all comes down to writing the code. The hard part is probably making a good emulator which is not only fast, but also accurate. Timing and interrupts are probably going to be pretty hard. Also memory segmentation [which is not necessary for XTL titles due to the use of flat memory] is very costly in emulation.

Personally I would say that the xbe is far more away from exe than the xbox d3d is away from the normal d3d8. But you are comparing oranges and apples here.

Also, xbes would - and could - not be emulated be anymore when emulating the hardware. It's the firmwares job to load the xbe.
Also, d3d would not have to be emulated anymore.
As cxbx and co. are simply trying to find d3d functions in memory this is what they try to emulate. However, these d3d functions would normally write to the nv2a (which is a 'custom' graphics processor) which would in turn draw stuff.
The nv2a seems to be built as opengl hardware (but I still think that it would be easier to emulate it using direct3d - shogun thinks otherwise) and it should also be rather easy to emulate it.

The problem with hardware emulation is that you could not ignore much about the hardware or the firmware won't even start. While we know a lot about some pieces of hardware we don't know much about others.
Also most of these machine emulators are way too slow to be of any use for now.

Personally I considered using qemu as a base for my emulator too because it allows you to connect anything to the PCI bus as you wish, it's ok-ish speed wise, portable and it's probably not too hard to write custom hardware. However, before you even see or hear anything you would have countless hours debugging the (huge) firmware.

My approach now is to do kernel level emulation (which is lower level than the XTL by a good bit) with all necessary hardware emulation. Once that does work stable enough I'll just try to add hardware support to the high level functions of my own emulator-kernel. Once that works too one could simply drop the kernel emulation layer and run xbe's straight away.
At that point you would have to rewrite basicly everything of the emulator so it supports all interrupts, timing, paging / segmentation etc.
And once that is done you can add the remaining hardware and hardware features to do a full firmware emulation. However, due to the complexity of the hardware this is VERY unlikely to happen.
 

·
Never give up your dreams
Joined
·
181 Posts
Sorry sorry... I was seeing a xbox 360 new in a website and then i jumped to here... I can't believe that I talked about the xbox 360 OS... I mean the original xbox OS. Really sorry!

The method I thought that you had in mind was to make an image of the xbox 1 HD and then install it on a virtual machine... for example, if you can run linux on a xbox, you can use a linux program which makes the image of an HD and then take this image to put on a VM.

That's why I said that MS would do everything to turn off your program.
 

·
Registered
Joined
·
177 Posts
JoaoHadouken: We were talking about xbox 1, also get your facts straight..



Cxbx, dxbx and xeon are software emulators - not actual xbox emulators. Which is also why I personally call them XTL software emulators.
Xenoborg is said to be a low-level-emulator (to me, this sounds like a hardware emulator), yet to me, it looks like another kernel-emulator too with some XTL parts slapped ontop. Personally, I still don't really get where Xenoborg is going to be or what it is.

The Pentium 3 is AFAIK stock.
No modifications it seems. Even normal CPUID and very old features which should have been stripped. Maybe the CPU would have been different if things had worked out with AMD. But the intel CPU in the final product seems to be unmodified.

Emulating Pentium 3 software without timing is rather easy. It's just a lot of work. But it can easily be done within a few days I believe. The architecture is very well documented and if you knew it before it all comes down to writing the code. The hard part is probably making a good emulator which is not only fast, but also accurate. Timing and interrupts are probably going to be pretty hard. Also memory segmentation [which is not necessary for XTL titles due to the use of flat memory] is very costly in emulation.

Personally I would say that the xbe is far more away from exe than the xbox d3d is away from the normal d3d8. But you are comparing oranges and apples here.

Also, xbes would - and could - not be emulated be anymore when emulating the hardware. It's the firmwares job to load the xbe.
Also, d3d would not have to be emulated anymore.
As cxbx and co. are simply trying to find d3d functions in memory this is what they try to emulate. However, these d3d functions would normally write to the nv2a (which is a 'custom' graphics processor) which would in turn draw stuff.
The nv2a seems to be built as opengl hardware (but I still think that it would be easier to emulate it using direct3d - shogun thinks otherwise) and it should also be rather easy to emulate it.

The problem with hardware emulation is that you could not ignore much about the hardware or the firmware won't even start. While we know a lot about some pieces of hardware we don't know much about others.
Also most of these machine emulators are way too slow to be of any use for now.

Personally I considered using qemu as a base for my emulator too because it allows you to connect anything to the PCI bus as you wish, it's ok-ish speed wise, portable and it's probably not too hard to write custom hardware. However, before you even see or hear anything you would have countless hours debugging the (huge) firmware.

My approach now is to do kernel level emulation (which is lower level than the XTL by a good bit) with all necessary hardware emulation. Once that does work stable enough I'll just try to add hardware support to the high level functions of my own emulator-kernel. Once that works too one could simply drop the kernel emulation layer and run xbe's straight away.
At that point you would have to rewrite basicly everything of the emulator so it supports all interrupts, timing, paging / segmentation etc.
And once that is done you can add the remaining hardware and hardware features to do a full firmware emulation. However, due to the complexity of the hardware this is VERY unlikely to happen.
Wow thank you for explaining this, there were quite a bit of things i didn't know.

At the moment, i'm experimenting with the Xbe file format and trying keep track of what i know so far on my blog. Sorry, if i said anything wrong, i'm not well-versed. :p

May i ask where did you get your documentations, or is this completely based on your own personal knowledge?
 

·
Premium Member
Joined
·
6,071 Posts
JoaoHadouken: We were talking about xbox 1, also get your facts straight..



Cxbx, dxbx and xeon are software emulators - not actual xbox emulators. Which is also why I personally call them XTL software emulators.
Xenoborg is said to be a low-level-emulator (to me, this sounds like a hardware emulator), yet to me, it looks like another kernel-emulator too with some XTL parts slapped ontop. Personally, I still don't really get where Xenoborg is going to be or what it is.

The Pentium 3 is AFAIK stock.
No modifications it seems. Even normal CPUID and very old features which should have been stripped. Maybe the CPU would have been different if things had worked out with AMD. But the intel CPU in the final product seems to be unmodified.

Emulating Pentium 3 software without timing is rather easy. It's just a lot of work. But it can easily be done within a few days I believe. The architecture is very well documented and if you knew it before it all comes down to writing the code. The hard part is probably making a good emulator which is not only fast, but also accurate. Timing and interrupts are probably going to be pretty hard. Also memory segmentation [which is not necessary for XTL titles due to the use of flat memory] is very costly in emulation.

Personally I would say that the xbe is far more away from exe than the xbox d3d is away from the normal d3d8. But you are comparing oranges and apples here.

Also, xbes would - and could - not be emulated be anymore when emulating the hardware. It's the firmwares job to load the xbe.
Also, d3d would not have to be emulated anymore.
As cxbx and co. are simply trying to find d3d functions in memory this is what they try to emulate. However, these d3d functions would normally write to the nv2a (which is a 'custom' graphics processor) which would in turn draw stuff.
The nv2a seems to be built as opengl hardware (but I still think that it would be easier to emulate it using direct3d - shogun thinks otherwise) and it should also be rather easy to emulate it.

The problem with hardware emulation is that you could not ignore much about the hardware or the firmware won't even start. While we know a lot about some pieces of hardware we don't know much about others.
Also most of these machine emulators are way too slow to be of any use for now.

Personally I considered using qemu as a base for my emulator too because it allows you to connect anything to the PCI bus as you wish, it's ok-ish speed wise, portable and it's probably not too hard to write custom hardware. However, before you even see or hear anything you would have countless hours debugging the (huge) firmware.

My approach now is to do kernel level emulation (which is lower level than the XTL by a good bit) with all necessary hardware emulation. Once that does work stable enough I'll just try to add hardware support to the high level functions of my own emulator-kernel. Once that works too one could simply drop the kernel emulation layer and run xbe's straight away.
At that point you would have to rewrite basicly everything of the emulator so it supports all interrupts, timing, paging / segmentation etc.
And once that is done you can add the remaining hardware and hardware features to do a full firmware emulation. However, due to the complexity of the hardware this is VERY unlikely to happen.
Okay, it looks like I'll be the one to say it...

You make alot of claims, but how much of this are you really capable of? I don't mean this as an insult, but for someone who just learned what a pointer was, like a year ago or maybe more, you sure do come off with a rather narcissist attitude. I'm just curious, how many emulators have you written in the past? Quite frankly, there may be much we can learn from each other and I don't claim to be better than anyone else, but so far, I'm still not convinced that you are as skilled as you claim. You have a few good here, and that's about all you have so far.
 
1 - 20 of 28 Posts
Top