Next Generation Emulation banner
1 - 14 of 14 Posts

· 将軍
Joined
·
565 Posts
Allow me to ask, why yes and why no?
 

· Premium Member
Joined
·
8,437 Posts
Allow me to ask, why yes and why no?
Because the hardware is [mostly] the same, but the software is [mostly] different. Unfortunately the XDK for Chihiro was never leaked.

More on Chihiro, it uses .xbe files, but they are loaded differently than Xbox versions. The entry point and base addresses are very different (afaik... well, at least the dashboard is). So far, it looks like Cxbx can still load the xbe fine, but the memory address issues will have to be addressed first. It's still low priority for Cxbx to emulate this now though.
 

· 将軍
Joined
·
565 Posts
Understood, thanks shogun, I really enjoy reading your technical post about Xbox/Chihiro.

Cheers :).
 

· Premium Member
Joined
·
8,437 Posts
This thread was worth it because I'm also VERY interested in this (and I have been for over a year now). This is very exciting news, and I'm glad I have this information on this for my Non-Cxbx related projects :evil:

It may not be related to Cxbx directly, but not everything revolves around Cxbx either.
 

· Banned
Joined
·
221 Posts
but you said that : Because the hardware is [mostly] the same, but the software is [mostly] different. Unfortunately the XDK for Chihiro was never leaked...


i´m confuse the b.i.o...this code system integrated with cxbx help you to the out of some xbox games??is the same board for to run it?....
simple question:
if each error in reads of cxbx rpresents 2 codes: [email protected]::0x000....why are in 2 parts ? is a call?
 

· Premium Member
Joined
·
8,437 Posts
but you said that : Because the hardware is [mostly] the same, but the software is [mostly] different. Unfortunately the XDK for Chihiro was never leaked...
This thread wasn't targeted at Cxbx at all to begin with. It was really intended for me and other arcade emulation enthusiasts to read. Hence it's better off in the Misc Xbox Discussion.

i´m confuse the b.i.o...this code system integrated with cxbx help you to the out of some xbox games??is the same board for to run it?....
Since the boot process is the same as a debug Xbox (which I do have), it can be useful for LLE purposes.

simple question:
if each error in reads of cxbx rpresents 2 codes: [email protected]::0x000....why are in 2 parts ? is a call?
This is a complex question actually, therefore I can only give you a complex answer. I understand that you really want to be a dev someday, so listen up. The first one is the type of exception. 0xC0000005 is the most common (Access Violation). They all correspond to the Windows NT kernel. There's a large list of exception codes on the net:
[jcifs] NT Status Code Descriptions?

The next one is where the crash occurs. This location can represent many things. Usually, the serverity of a crash can be determined by looking at where it crashes (and sometimes how, explained above). I'll try to list a few common locations:

  • 0x0000_0000: The beginning of the 4GB address space (NULL). When you crash here, then chances are Cxbx tried to read or write to a NULL location.
  • 0x0000_0001 - 0x0000_017A: Missing Xbox Kernel API. There are multiple lists on the net you can read to see what they all are and they all have a distinct number on the list (most are numbered). You can tell which one it is by matching the number with the API in the list.
  • Crashes within the .xbe per section itself have to be located manually. IDAPro can disassemble .xbe files and also tell you what section/library the crash occurs. Either way, you don't need IDA to find it each time. Compare the crash location with the HLE output in the KrnlDbg.txt file generated by Cxbx with the game you are trying to run. It should be similar to one at the top where Cxbx starts locating functions. If you don't get a hex value close to any of those, it's either regular game code, or something else. This is a complex topic so I can't cover everything here.
  • 0x1001xxxx: This is a problem inside CxbxKrnl.dll. This means there's a bug in one of Cxbx's implementations or the game is using invalid data.
  • 0x5xxx_xxxx & 0x6xxx_xxxx: This is commonly tracked back to the d3d8 and dsound .dll files. So these are unpredictable. This usually happens when invalid data is passed into a Direct3D or DirectSound API. Things like this can't always be fixed on the game's part.
  • 0x7xxx_xxxx: These can vary. Usually it's within ntdll.dll. The problem is similar to above

Nisse's branch (and now mine) can trace the EIP register's history so we can see what happens before the crash. This is useful for tracking DirectSound stuff (where XREFs are common).

Thanks for asking, it gives me a good idea. When an Nt* function fails, it would be a good idea to show in the debug output what error code it is. This will help a lot.
 

· Banned
Joined
·
221 Posts
Windows NT kernel??? wow why is this inside? do you have fixe something like 0xC0000005 ??
CxbxKrnl.dll., dsound .dll , ntdll.dll. is posible make a general fixes with all this dll ? this codes apply to 0x8combinations, maybe you need a variable, if some addres like this is rejected try mode fixes, and turn in the debugger...something like this:debug info:
code exeption [email protected]::0x000 , the program goes to this steps:tryng dsound hack integrated adding addres, solve null allocation, if som hack doesn´t works, try with general kernel api allocation, or d3d parameters tries....well is a idea, somthing like atabase applied to a routine test for self-correction
that the program has a many options, variables, and wildcards
thanks for your awesone answer...atte: saintseiya
 

· Registered
Joined
·
8 Posts
Windows NT kernel??? wow why is this inside? do you have fixe something like 0xC0000005 ??
CxbxKrnl.dll., dsound .dll , ntdll.dll. is posible make a general fixes with all this dll ? this codes apply to 0x8combinations, maybe you need a variable, if some addres like this is rejected try mode fixes, and turn in the debugger...something like this:debug info:
code exeption [email protected]::0x000 , the program goes to this steps:tryng dsound hack integrated adding addres, solve null allocation, if som hack doesn´t works, try with general kernel api allocation, or d3d parameters tries....well is a idea, somthing like atabase applied to a routine test for self-correction
that the program has a many options, variables, and wildcards
thanks for your awesone answer...atte: saintseiya
I beg your pardon - but: Do you have any clue at all what you're talking about???

Sorry, but your posts always look like a script collecting random buzzwords and throwing them out to public.

I understand that you are really interested and one of the few who are actively posting but don't you think that a post should at least somehow make sense?
 
1 - 14 of 14 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