This is a little tutorial on Hex code for everyone who's interested in what all those freaks are talking about.

Computer use the binary system consisting of zeros and ones. This

system is used to code characters or commands. But a binary unit is

only one bit. With one bit only two things can be represented as either

zero or one. To code more thing a bigger unit is needed which is a

byte. A byte has 8 bits and you can code 256 things.

The next unit is a word (2 bytes), then a long word (4 bytes).

Since it's inconvenient to write all the bits out, a new counting

system is used to represent the value. This system is called

hexadecimal system, hence, hexadecial code.

The hexadecimal system has sixten basic numbers instead of ten as in the decimal system.

They are 0,1,2, ... ,9,A,B,C,D,E,F

The number digits are composed as in the decimal system. A hexadecimal

number is usually written with two digits and always represents one

Byte.

Examples:

01 = a byte with a value of 1

0A = a byte with a value of 10

0F = a byte with a value of 15

1F = a byte with a value of 16+15=31

20 = a byte with a value of 2*16=32

Likewise a word will be represented by two hexadecimal numbers

Example:

01 10 = a word with a value of 1*256+1*16= 272

---------------------------------------------------------------

So how do I calculate the value quickly?

Here you have to understand the binary system. With each increased

digit you multyply by two to get the maximum value of that digit

position. Or in simple mathemathics it's 2 to the n-th power, with n

being the digit position.

The first digit is then 2^0 (n=0)which is 1, so each number at this position equals a one difference.

The second digit is then 2^1 which is 2, so each number at this position equals a two difference.

To calculate hexnumbers you do the same. So for the first digit it's a one difference.

For the second digit it's a 16 difference etc.

You can use windows calculator to make the calculation, just mark the

hex box and type then mark the decimal box and you got the value in

decimal number.

------------------------------------------------------------------------------------------

In order to navigate in files a position system is needed to find certain bytes.

The system is simply a counter which just counts or numbers the bytes within a file.

This counter is colled

So the first byte in a file gets the number zero. The second byte the number 1 and so on.

Example:

an offset of 0x011 means the 17th byte in a file.

------------------------------------------------------------------------------------------

As humans we read a number from left to right with left being the higher digits.

A computer reads only forward so there is a problem if where the higer digits should be.

Historically, we have intel and motorola as the first major processor producers, hence we have two solutions.

They are called 'Little Endian' (Intel) and 'Big Endian' (Motorola)

Intel order the last digits first, while Motorola order the higher digits first.

Intel further orders the words like wise.

Example:

0xE1A2B3F2 would look as follows:

Intel: F2B3 A2E1

Motorola: E1A2 B3F2

------------------------------------------------------------------------------------------

Japan usually uses the Motorola convention, and it's own coding systems.

Games usually have custom systems. Newer ones also have been featuring variable macro codes build on micro codes. For each part of the game play the codes have also been shown to be different.

Computer use the binary system consisting of zeros and ones. This

system is used to code characters or commands. But a binary unit is

only one bit. With one bit only two things can be represented as either

zero or one. To code more thing a bigger unit is needed which is a

byte. A byte has 8 bits and you can code 256 things.

The next unit is a word (2 bytes), then a long word (4 bytes).

Since it's inconvenient to write all the bits out, a new counting

system is used to represent the value. This system is called

hexadecimal system, hence, hexadecial code.

The hexadecimal system has sixten basic numbers instead of ten as in the decimal system.

They are 0,1,2, ... ,9,A,B,C,D,E,F

The number digits are composed as in the decimal system. A hexadecimal

number is usually written with two digits and always represents one

Byte.

Examples:

01 = a byte with a value of 1

0A = a byte with a value of 10

0F = a byte with a value of 15

1F = a byte with a value of 16+15=31

20 = a byte with a value of 2*16=32

Likewise a word will be represented by two hexadecimal numbers

Example:

01 10 = a word with a value of 1*256+1*16= 272

---------------------------------------------------------------

So how do I calculate the value quickly?

Here you have to understand the binary system. With each increased

digit you multyply by two to get the maximum value of that digit

position. Or in simple mathemathics it's 2 to the n-th power, with n

being the digit position.

The first digit is then 2^0 (n=0)which is 1, so each number at this position equals a one difference.

The second digit is then 2^1 which is 2, so each number at this position equals a two difference.

To calculate hexnumbers you do the same. So for the first digit it's a one difference.

For the second digit it's a 16 difference etc.

You can use windows calculator to make the calculation, just mark the

hex box and type then mark the decimal box and you got the value in

decimal number.

------------------------------------------------------------------------------------------

In order to navigate in files a position system is needed to find certain bytes.

The system is simply a counter which just counts or numbers the bytes within a file.

This counter is colled

**offset**. It's also a hex number. Usually a hexcode or an offset is writtin with leading 0x to indicate that it's a hexadecimal number.So the first byte in a file gets the number zero. The second byte the number 1 and so on.

Example:

an offset of 0x011 means the 17th byte in a file.

------------------------------------------------------------------------------------------

As humans we read a number from left to right with left being the higher digits.

A computer reads only forward so there is a problem if where the higer digits should be.

Historically, we have intel and motorola as the first major processor producers, hence we have two solutions.

They are called 'Little Endian' (Intel) and 'Big Endian' (Motorola)

Intel order the last digits first, while Motorola order the higher digits first.

Intel further orders the words like wise.

Example:

0xE1A2B3F2 would look as follows:

Intel: F2B3 A2E1

Motorola: E1A2 B3F2

------------------------------------------------------------------------------------------

Japan usually uses the Motorola convention, and it's own coding systems.

Games usually have custom systems. Newer ones also have been featuring variable macro codes build on micro codes. For each part of the game play the codes have also been shown to be different.