Next Generation Emulation banner

1 - 20 of 31 Posts

·
Registered
Joined
·
38 Posts
Discussion Starter · #1 · (Edited)
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.
 

·
Premium Member
Joined
·
6,071 Posts
OpenXDK apps don't work because they access the hardware directly, since Cxbx uses HLE they will crash.
 

·
Registered
Joined
·
38 Posts
Discussion Starter · #9 ·
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?
 

·
Premium Member
Joined
·
6,071 Posts
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.
 

·
Registered
Joined
·
38 Posts
Discussion Starter · #11 ·
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?
 

·
Registered
Joined
·
38 Posts
Discussion Starter · #14 ·
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?
 

·
Premium Member
Joined
·
6,071 Posts
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.
 

·
Registered
Joined
·
38 Posts
Discussion Starter · #16 ·
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)
 

·
Premium Member
Joined
·
6,071 Posts
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.
 

·
Registered
Joined
·
38 Posts
Discussion Starter · #18 ·
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.
 

·
Premium Member
Joined
·
6,071 Posts
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.
 
1 - 20 of 31 Posts
Top