mwaterbu's XBE autopatcher & other CPU fixes

Discussion in 'Xbox (Original console)' started by weinerschnitzel, Feb 14, 2014.

  1. weinerschnitzel

    weinerschnitzel Spirited Member

    Joined:
    Sep 23, 2012
    Messages:
    138
    Likes Received:
    5
    mwaterbu made a new XBE patcher that takes alot of the stress away from patching individual .xbe's. I recommend anyone with any upgraded processor or RAM upgrade to check it out!

    [​IMG]

    http://www.emuxtras.net/forum/viewtopic.php?f=179&t=3749
    (For now, I will link to here until mwaterbu wants to mirror somewhere else)

    ITT I would like to discuss this patcher, and anything it takes to patch edge-case games that require a special fix. This should include the tools needed to decompile and analyse an XBE, the sections relevant to patching, and actual hex edits themselves.


    I'm completely new to reverse engineering. We really need to come up with a list of broken games and eventually come up with a fix for all of them. I feel that if there is a pool of capable and interested people, it would be on this forum.

    I think that watching the XDK revision may give some hints to different patches.

    Help/Support/Advice/Ideas are all greatly appreciated.
     
  2. Dragonslayer182

    Dragonslayer182 Rising Member

    Joined:
    Jan 12, 2014
    Messages:
    55
    Likes Received:
    0
    Looks great! I had no idea games had to be patched for upgraded systems though.
     
  3. Myria

    Myria Peppy Member

    Joined:
    Aug 21, 2012
    Messages:
    316
    Likes Received:
    3
    How is QueryPerformanceCounter implemented? I'm not at home at the moment.
     
  4. sonicdude10

    sonicdude10 Insane redneck retro gamer...

    Joined:
    Jan 17, 2012
    Messages:
    2,564
    Likes Received:
    15
    Looks useful. I do know one game that is messed up and the older patcher for the DreamX 1480 doesn't seem to work on it for me. Shadow the Hedgehog. Game runs at double speed. I'd try it but I doubt if it will help me right now since it claims to only work on GTA.

    EDIT: Forgot to say what I have. Trusty mod 1.1 with 1.4GHz Tualatin and 128MB RAM.
     
    Last edited: Feb 14, 2014
  5. davidthomas

    davidthomas Site Supporter 2013,2014

    Joined:
    Jun 28, 2013
    Messages:
    461
    Likes Received:
    2
    Thanks! I have 950 original games and just to patch them for 128 RAM was a 2 day mission! I am very thankful for this tool! I wish I had it before but now is good also!
    I also have both the 1GHz and the 1.4GHz so I never patched them all. This way I can scan lets say coinops and then redo it for the other size processor. Very cool! I will try it out tonight!
     
  6. JayFoxRox

    JayFoxRox Spirited Member

    Joined:
    Dec 23, 2010
    Messages:
    175
    Likes Received:
    4
    Wouldn't an FTP tool and proper code-search make a lot more sense?
    I could imagine that just replacing 2BB5C755 could break a lot if it's found in a data section for example.

    It would probably be wise to monitor the hardware timing register access too (rdtsc).

    Myria: I believe they use the kernel? KeQueryPerformanceCounter (Ordinal 126) and KeQueryPerformanceFrequency (Ordinal 127). So one could probably easily create a trampoline function which wraps around these / or patch the kernel?

    I'm not sure about all of this CPU freq. modding though. But if you need to use a different kernel anyway then it would be the most logical step to fix the kernel.
    Personally I don't have any interest or time to do that though.
     
  7. RichardX

    RichardX Peppy Member

    Joined:
    Jun 3, 2008
    Messages:
    330
    Likes Received:
    2
    And you see any improvement ?
     
  8. sonicdude10

    sonicdude10 Insane redneck retro gamer...

    Joined:
    Jan 17, 2012
    Messages:
    2,564
    Likes Received:
    15
    Some do improve. I think one of the Halo games will do a bit better in multiplayer with the 128MB patch. Also helps to have the 1.4GHz CPU too for when your console hosts the match with more than 8 players. More CPU power prevents lag during heavy moments.
     
  9. emu_kidid

    emu_kidid Enthusiastic Member

    Joined:
    Jun 28, 2008
    Messages:
    515
    Likes Received:
    16
    I've been trying to get GTA Vice City running properly on my 1GHz Xbox but even with all instances of 0B3095 (733333) manually patched and the other patch I still get faster than expected speeds in game, any idea which GTA the author was referring to when he patched or how he got the symbol names for the XBE in IDA?
     
  10. weinerschnitzel

    weinerschnitzel Spirited Member

    Joined:
    Sep 23, 2012
    Messages:
    138
    Likes Received:
    5
    GTA SA was fixable if you patched the clockrate values in KHz instead of MHz.

    The other GTA's are less forgiving. I patched several values removing the last relevant numbers from "73333333" until I broke the game. Some parts of the game worked better with more patching.

    That tells me there are likely more values that effect gameplay speed. Searching for all suspicious occurrences relating remotely to the clockrate and then checking them in IDA should be the best way to come up with a custom patch.

    I'm curious about the relevance of code that does not get affected by using a CPU mod with a switch like DreamX or the new trusty board. Video playback in most games, (HL2 and other GTA's specifically) are still out of sync. Switch enabled or disabled. Those seem unbeatable to me through simple patches.
     
    Last edited: Oct 3, 2014

Share This Page