Next Generation Emulation banner

Cxbx Error

6681 Views 30 Replies 5 Participants Last post by  Smellypumba
Newbie here, I don't really know what I'm missing.

I am running Windows 2000 SP 4, and when I try to load any .XBE file (All are from the OpenXDK Sample files) It causes the same error:

'The instruction at "0x00402071" referenced memory at "0x00000004". The memory could not be "read".

The Error always happens at the line: EmuExe::EmuExe: Generating Section Header 0x0008 (.cxbxlpg)...

Any Help would be great,

Thanks.
1 - 20 of 31 Posts
Then do you know where I can find a sample that Does work?
Only things that are known to work are a select few demos build with retail xdks and turok. (xbins)
the ones that say cxbx in the name that were built specificly for this emulator again check xbins.
turok is running and the game marbles is working..
OpenXDK apps don't work because they access the hardware directly, since Cxbx uses HLE they will crash.
I Got Marbles running, so the problem is direct hardware access?
So, how would you fix that? I should think that there would be some Bounds-checking or something like that to find incorrect codes...

Well, I guess that would slow it down. So what's the difference between MS XDK and OpenXDK that causes this error?
Ok, first of all, do you know what HLE is? Just in case you don't know, I'll try to explain in a way so that you might understand easier. The XDK is DirectX based so we can use HLE (High Level Emulation) to attempt to emulate it (like PC DirectX). There are major differences between every XDK version so we have to hack every XDK to get games using that XDK working. So basically, we are trying to predict what the game wants to do every step and give that game a simulated invironment in an attempt to make the xbox game think that it is on an xbox. The game crashes if it finds out it's not on a real Xbox (sort of). Cxbx converts an xbe to an exe and tries to see if the conversion was done correctly. Oops forgot about the OpenXDK part :emb: The openxdk acceses the xbox at the hardware level. Cxbx cannot emulate that now, so that is why it crashes. Did that make a little more sense at the least? If not, I'll go a bit more in depth.
Yes, That makes a lot of sense, But I wouldn't mind your going more into depth :D
So the OpenXDK Does not use the DirectX API that the XDK Uses?

And each XDK uses different methods of doing something?
Oh, and another thing,

If the OpenXDK isn't supported, why is it bundled with the source...
because the openxdk has the xbox kernel wich is beeing used by cxbx
I just used the "Import Exe" function in Cxbx to import a really simple DirectX program I made that just displays a spinning cylinder, and It gave me:

"The Instruction at "0x00402071" referenced memory at "0x00000004". The memory could not be "read"

What's at 0x00000004?
The Only places this memory location shows up in the sources, are flags, So unless it's the Digital Signature, I don't really know whyIt's trying to access that location.

Any Ideas?
Smellypumba said:
I just used the "Import Exe" function in Cxbx to import a really simple DirectX program I made that just displays a spinning cylinder, and It gave me:

"The Instruction at "0x00402071" referenced memory at "0x00000004". The memory could not be "read"

What's at 0x00000004?
The Only places this memory location shows up in the sources, are flags, So unless it's the Digital Signature, I don't really know whyIt's trying to access that location.

Any Ideas?
I'm sorry, but you can't import a DirectX program into Cxbx. It only works on exe that was made from xbe with Cxbx conversion methiod.
So When it says "import EXE" It means "Import EXE that has been Relinked using CXBE"...

So, if I wanted to make an .XBE, would I compile the source of that program using the "supported" version of OpenXDK? (e.g. 0.0.1-BETA2)
Smellypumba said:
So When it says "import EXE" It means "Import EXE that has been Relinked using CXBE"...
No, what I mean is an exe that was formed as a result of an attempt to emulate an XDK app. OpenXDK apps generally crash when it attempts to create an exe of that OpenXDK app.
I Compiled this .exe with VC++ 6, using the DirectX 9 SDK, I didn't use OpenXDK at all.
I then used Cxbx's ImportEXE function, thinking it would convert an EXE to XBE. (Now that I think about it, That wouldn't work for two reasons,

1) Why would you want to do that in the first place? When you have an EXE that works fine, why emulate it?
2) This program was made with DirectX 9, not 8.
Smellypumba said:
I Compiled this .exe with VC++ 6, using the DirectX 9 SDK, I didn't use OpenXDK at all.
I then used Cxbx's ImportEXE function, thinking it would convert an EXE to XBE. (Now that I think about it, That wouldn't work for two reasons,

1) Why would you want to do that in the first place? When you have an EXE that works fine, why emulate it?
2) This program was made with DirectX 9, not 8.
And besides, not only won't the Win32 stuff won't "mix" with the Xbox, a Win32 exe and an Xbox exe are two totally different formats.
lol... openxdk is there to make your homebrew games for the xbox
1 - 20 of 31 Posts
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.
Top