Cxbx compatibility list (Updated September 29, 2012)

Discussion in 'Cxbx Official Discussion' started by blueshogun96, Oct 21, 2007.

  1. blueshogun96

    blueshogun96 Last Xbox Emu Author Moderator Emu Author

    Messages:
    5,930
    Likes Received:
    13
    Added Castlevania: Curse of Darkness (Menus?) and Nakashima Tetsunari no Othello Seminar (Ingame?).
  2. Bill_gates

    Bill_gates Linux's worst nightmare..

    Messages:
    1,510
    Likes Received:
    0
    nice to see some new screens! I have some free time till school starts so i'll try and do some testing myself.
  3. zaykho

    zaykho New Member

    Messages:
    7
    Likes Received:
    0
    DO IT !!!!
    Nah seriously, like a lot of people, i'm waiting in the shadow for hope that in the next future the xbox will have a great emulator, like dolphin.....

    I know it will take some time, but it's not a prob, we will wait....
  4. RoadTrain

    RoadTrain New Member

    Messages:
    9
    Likes Received:
    0
    Midtown Madness 3 is 'Nothing'
  5. fronzel

    fronzel New Member

    Messages:
    1
    Likes Received:
    0
    Hmmm, unless i did something wrong with my built i would say "Shenmue II" is "nothing".

    I get the typical access violation. The debug log reveals this:


    Code:
    
    EmuKrnl (0x924): IoCreateDevice
    (
       DriverObject          : 0x0045F2A0
       DeviceExtensionSize   : 0x00000170 (368)
       DeviceName            : 0x0A28FE4C
       DeviceType            : 0x0000003A (58)
       DeviceCharacteristics : 0x00000000
       Exclusive             : 0x00000054 (True)
       DeviceObject          : 0x0045F188
    );
    EmuKrnl (0x924): Unimplemented API : IoCreateDevice
    EmuMain (0x924): EmuException() with code 0xC0000005 (STATUS_ACCESS_VIOLATION) triggered at address 0x0045F5E1
    
     EIP := $0045F5E1 EFL := $00010286
     EAX := $C9335900 EBX := $000D0010 ECX := $0B5000B2 EDX := $0B500000
     ESI := $0045F17C EDI := $0B500000 ESP := $0A28FE60 EBP := $0A28FEA0
    
    
    
    

    Not sure if it helps. I am not really a good C++ programmer but from the message i assume the function "IoCreateDevice" is not implemented? Or did i miss to include some SDK (I included DX Summer 2004 SDK which i thought is fine)? At least i didn't get any errors on build, so i guess its just something not implemented yet, right?


    Anyways, even without any sign of life from Shenmue 2 definitely very impressive programming, so still thumbs up high!


    Edit: as a blind test i tried to run Nakashima Tetsunari no Othello Seminar (See Shoguns screenie above) and it also didnt work. So i guess I am doing something wrong?

    I compiled the sources from shoguns branch using the included visual c++ solution in bin/w32. Then i load the xbe from the game folder and start emulation. Do i need to attach a debugger and manually intercept something in order to get the same result like shogun?




    Edit2: In DxBx i always get the message "Direcxtsoundcreate8 failed - no sound driver available". So maybe its a problem of my windows installation. I will try to run it on another machine if i can.
    Last edited: Mar 8, 2012
  6. Bill_gates

    Bill_gates Linux's worst nightmare..

    Messages:
    1,510
    Likes Received:
    0
    it really is unimplemented you didnt do anything wrong
  7. ryman731

    ryman731 New Member

    Messages:
    1
    Likes Received:
    0
    thanks for updating it
  8. Turko

    Turko New Member

    Messages:
    1
    Likes Received:
    0
    Request

    There is any possibility that next version emule Conker: Live and Reloaded?:thumb:

    [​IMG]
  9. shadow_tj

    shadow_tj Emu author Emu Author

    Messages:
    906
    Likes Received:
    0
    conker has link time optimized libs.. so probably not.

    if you want to know wich versions got link time optimalisation .. check the xbox game list
    added it as attachment.
    Last edited: Mar 23, 2012
  10. Docwiz

    Docwiz New Member

    Messages:
    4
    Likes Received:
    0
    Hi Shadow,

    Are those games not possible to be emulated period or just not possible in the next version?
  11. Docwiz

    Docwiz New Member

    Messages:
    4
    Likes Received:
    0
    Shadow I have two questions for you....

    1) Have you thought about asking for donations to support you guys who work hard but have to have lives and to support the Xbox Project?

    2) This maybe a stupid question based on my lack of knowledge, but is it possible to use "Virtual Machine" technology from AMD and Intel to be able to speed up the emulator. For example, virtual box or VMware allow you to use the modern day hardware of Intel and AMD chips to be able to run an OS at Ring 1 I believe, 0 is for the main boot OS. Since Xbox uses a Pentium architecture, I was wondering if you could somehow use those Virtual Machine extensions for the boot process (NOTE: I am not talking about using VirtualBox as that is strictly for PC Operating Systems, but something that uses the "Virtual Machine" hardware extensions that is specific to your emulator).
    Last edited: Apr 14, 2012
  12. JayFoxRox

    JayFoxRox Member

    Messages:
    35
    Likes Received:
    0
    Adding LTCG scanning is somewhat harder and different from the current pattern scanner.

    Think of LTCG as dynamic patterns which are different for every game, but do the same thing.
    If you are not a coder think of it like this:

    Current pattern scanning looks for value 4 in a "list":
    1, 2, 6, 4, 8, 9, ...
    - It simply finds the 4 in the list and starts working from there.

    The LTCG titles would be similar to this:
    2*4, 5*4, 1-3, 2*2, 2+2, ... < this is what the game originally looked like
    = 8, 20, -2, 4, 4, ... < this is the LTCG version
    - Now finding the 4 is almost impossible. We don't know that the 8 resulted from 2*4. It might have been 2*2*2 (no four there..). Also, the -2 could have been 4-6 instead of 1-3.
    So finding the 4 is now very hard - almost impossible.

    To figure out where the fours have been originally, you have to analyze it's environment, state of the emulator etc etc etc.
    So with the current approach of Cxbx and Dxbx this is very hard to implement and almost impossible to do.

    Low-level emulation makes running LTCG titles possible but it's a lot more work to get even the basics working.




    The CPU extensions don't really help because the xbox games are running directly on the CPU anyway.
    There is no CPU emulation in Cxbx and Dxbx.

    However, when doing low-level emulation these extensions usually help.
    Personally, I looked at KVM (Kernel Virtual Machine) for linux already and thought about adding it to my emulator.

    However, it's a lot of work though. - So unless there is a cross-platform virtual machine library which provides a nice x86 interface, using the fastest option (such as KVM) possible on a the platform it's compiled for, it's not really an option for me.

    Otherwise, only x86-64 bit-ONLY systems would benefit from this and on those machines you can run most of the code natively anyway with slightly different approaches for the hardware and kernel emulation.
    (Currently, every Windows has WoW64 anyway, most Linux distros have either multilib OR at least they don't block switching the CPU into 32 bit mode - so there is basicly no x86-64 bit-ONLY system)
    //Edit: There might be a small problem with memory segmentation in WoW64 which might make it more stable to use a VM. But this only affects 64 Bit windows and there is another workaround for that problem. So: the gain of having VM extension support in the emu is probably not worth the effort to support it.

    //Edit: Turns out that windows has way more checks than I initially thought. Some can be worked around by booting with a "/3GB" switch, others are very hard to overcome - maybe even impossible. I'm not sure how easy it is to get VTX (or AMD-V) working on windows, but it's probably easier than working around these LDT limitations.
    Last edited: Apr 20, 2012
  13. Docwiz

    Docwiz New Member

    Messages:
    4
    Likes Received:
    0
    I think I understand. It's too bad that it can't be used like this because of the difficulties. It would probably be like this for the PlayStation 4 in which it uses off the shelf parts (x86-64 bit) and an ATI GPU.
  14. Docwiz

    Docwiz New Member

    Messages:
    4
    Likes Received:
    0
    By the way, you guys may already have this I am sure...

    But... There is a collection of Xbox SDK's on the Internet and it has many SDK's together for a total of 3.50 Gigabytes I do believe.

    Sorry, if this is a captain obvious thing, but I wanted to make sure that if anyone needed it, I had come across it by accident.
    Here is some info on it...

    "Here is my collection of Xbox SDKs. These files were released by multiple groups between 2002 and 2005.

    Xbox.SDK.March.4361-ACCESSION
    Xbox.SDK.June.4627-WAM
    XBOX.SDK.5558.June-COMPLEX
    XBOX.SDK.5659-COMPLEX
    XBOX.SDK.5788-COMPLEX
    XBOX.SDK.5849.December-COMPLEX
    XBOX.XDK.5933.UNOFFICIAL-WAM

    Visual Studio .Net 2003 is the only prerequisite, though you may want to pick up (retail conversion) debug bios from xbins if you intend to write your own code. Also, be sure to read the NFO(s). Some of these contain recovery files intended for debug kits and will brick retail units if used on them.

    Lastly, if you know of any missing SDKs, please speak up so we can get this collection updated."
  15. JayFoxRox

    JayFoxRox Member

    Messages:
    35
    Likes Received:
    0
    I have corrected my post above because I just found more limitations which make it virtually impossible to recreate the xbox environment accurately. Cxbx and Dxbx shouldn't be affected too much by those, but for anyone else who plans to work on a LLE this could be some serious trouble. Contact me if you need more details.

    Also, about the XDKs: There are way more than those, also some were released by different groups.
    I believe that I have a complete list of all XDKs that were leaked to public. I'll update my post later.
    Others were targeted at a different audience.
    That's why some XDK versions have different releases (with / without installer, with / without / only recovery disk, with / without tools, japanes / english, ...).
    Also note that more than the XDKs got leaked: Some middleware source codes were also leaked. Also the source code to at least 1 game was leaked.
    (Non-emu-related: Personally I'd be interested in Chihiro XDK / SDK and debug symbols of games)

    Another interesting sidenote about the XDKs: The latest XDK version always includes the symbols of all previously released XDK kernel symbols. Even though they are stored in different folders they are essentially the same files. As far as I know there are only 3 different kernels. Unpatched, dashboard patched (after Mech Exploit) and online dashboard patched (after Mech Exploit using online dashboard).
    Also some of the XDKs have leaked private keys in object files. Furthermore some tools include debug symbols which make it possible to extract all hardware register names for the nvidia chip.
  16. srdjan1995

    srdjan1995 New Member

    Messages:
    10
    Likes Received:
    0
    Is cxbx project still alive? Hope i'll see more games running on cxbx. Can u tell me on what revisions futurama works? I know it works on r163, but is there any other rev that can run futurama at some decent speed?
  17. blueshogun96

    blueshogun96 Last Xbox Emu Author Moderator Emu Author

    Messages:
    5,930
    Likes Received:
    13
    READ: http://forums.ngemu.com/showthread.php?t=148893 -_-
    It runs on the latest, so why does that matter?
  18. srdjan1995

    srdjan1995 New Member

    Messages:
    10
    Likes Received:
    0
    Tnx blueshogun96 :) Is latest rev 173? If it is i will try futurama on it. Just one more thing, are graphic glitches with black characters fixed in latest rev?
  19. blueshogun96

    blueshogun96 Last Xbox Emu Author Moderator Emu Author

    Messages:
    5,930
    Likes Received:
    13
    I can't fix a game I don't own. Futurama support wasn't added by me, and I have no idea how to fix it. The one who added support for that game disappeared and was never heard from in years. It's not an easy fix either.
  20. blueshogun96

    blueshogun96 Last Xbox Emu Author Moderator Emu Author

    Messages:
    5,930
    Likes Received:
    13
    Had some spare time to spend on Cxbx this Sunday evening. Here's what I did...

    After numerous requests, I went out and bought *another* copy of Blinx: The Time Sweeper as well as a handful of other Japanese imports. It's starting to work (at leas the Japanese version of it is) and appears to reach menus now (I can't tell for sure yet); I need fix D3DDevice::InsertCallback, and I'm sure that will help. It uses XDK 4831, so that makes my life a little easier.

    Also, I guess game region DOES make a difference, sometimes. Example: I got the NTSC version of Whacked working last year, then a guy I met on YouTube tells me he's having trouble getting the PAL version working, now I buy the NTSC-J version (Jap) and it works almost perfectly with minimal bugs and none of the driver related issues I was having before. Sorry for the lack of screens, I'm at work right now.

    I even got Cxbx working on my retro-gaming machine (Pentium III 1Ghz, 384mb Ram, GeForce FX 5200 AGP). Not the ideal specs as only a few games ran at playable speeds, like Turok and Smashing Drive. The others ran kinda slow.

    Yeah, I'm just going on about stuff now, since I haven't gotten any serious work done on this in ages, I figured at least one person would like to know. I have a few more new games I want to work on later, so we'll see what comes of all this.

Share This Page