Jump to content

PC Apps & Utils: XBE Patcher


Recommended Posts

Upgraded CPU Consoles | How to patch your default.xbe (Correctly)

By reddit user : Trojanvirusmusic

This information is for people with Xbox's that have either an upgraded CPU or an overclocked/underclocked custom CPU frequency.

I'm sure you're familiar with some XBE Patcher's floating around the net. It has come to my attention that they do not patch the frequency code(s) in default.xbe files correctly.
To be completely clear, they do, but only in some cases, because they only patch one type of hex code.
The problem with that is, 
there are multiple codes that could be present in any given retail game default.xbe. The reason for this will differ from game to game. Certain aspects of a game will be tied to the frequency such as the frame rate of gameplay, or even FMV's.

As far as we're aware, every retail game default.xbe (and associated secondary .xbe files), references the expected frequency of the Xbox's CPU. Which is 733.33...MHz.

The way we mainly edit .xbe files is via a hex code analyzer such as HxD.

If you go into a default.xbe right now with HxD and search for the hex value "55C7B52B" you should find one or two results, (rarely more).
That hex value is a converted decimal value that the Xbox understands. Here's the simplified process for that:

Frequency (Decimal)

Hex converted

Endian swapped (inside xbe)

733333333 (Hz)

2BB5C755

55C7B52B

As you can see, our CPU frequency is represented in Hz, as a decimal value of "733333333".
If we take that and convert that decimal to hex, we get 
"2BB5C755".
Xbox executables operate in big endian mode, which means we need to swap it's "endian-ness" which results in "2BB5C755" becoming **"55C7B52B". (**It basically just swaps each byte, (2 characters), around from start to end).

We already know "55C7B52B" is in most default.xbe files.

The problem here is that some game developers didn't represent the frequency of the CPU in Hz, but instead as something like KHz.

So how do we deal with this?
Here's an informative table to illustrate any possible combinations that may have occurred:

Frequency (Decimal)

Hex converted

Endian swapped (inside xbe)

7333 (???)

1CA5

A51C

733333 (kHz)

0B3095

95300B

7333333 (???)

6FE5D5

D5E56F

733333333 (Hz)

2BB5C755

55C7B52B

73333333333 (???)

111301DD55

55DD011311

It's pretty unlikely game devs would've used the (???) values as they don't really numerically nor hexadecimally make sense, sort of an in-between point of core values such as Hz or kHz. The other values haven't popped up yet, time will tell. I've made the two we know of appear bold.

Anyway, now that we can see the values that could occur in xbe's, what do we know definitely does occur?
KHz and Hz. GTA San Andreas for example has "55C7B52B" but it also has "95300B" entries that appear twice.
All 3 need to be changed.

So what do we change these random values to?
You need to figure out what hex value YOUR CPU frequency is.
The very same method applies but in reverse, we already know the frequency so we just work backwards.
Considering we're replacing the Hz value;
733333333. That decimal frequency is 9 characters long. It represents 733.333333Hz (ignoring the decimal point).
For arguments sake your CPU is a 1.4GHz CPU.

  • Here is 1.4GHz represented in Hz1400000000. (it's 10 characters long).

  • That number converted from decimal to hex is: 53724E00

  • That hex with switched endian-ness: 004E7253

A 1.4GHz CPU is "004E7253".

Here's another table for CPU upgraded frequencies I've heard about (lets skip the conversion BS):

CPU Freq

Hz result (55C7B52B)

KHz result (95300B)

1.6GHz

00105E5f

006A18

1.4GHz

004E7253

C05C15

1.0GHz

00CA9A3B

"F4240" or "989680"

1.0GHz can be represented as a smaller hex value than the rest so I offered an alternative with an added "0" onto the equation.
You can use the tables provided to test.

We can't know for sure which values need changing without first testing, so I've set up a document for anyone with an upgraded Xbox to test and report back.

Sorry for the ramblings! The floor is open for your input, or if I got something blatantly wrong!
Cheers 
Trojanvirusmusic

Source : Reddit user Trojanvirusmusic

 

  • Thanks 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...