Action Replay Encryption
Once you have picked a Command and filled in the Address and Value,
you need to encrypt the code so it can be used with the AR2. All 16
digits of the code are encrypted. There are currently three different
encryption schemes in use. Use the links below to select which encryption
you need to use. I have identified them by the value that 00000000 encrypts
to with each respective scheme.
1456E7A5 Encryption
This encryption is used for games that have a one-line (M) Must Be On code. Use the
two tables below to perform the encryption, or you can use kpdavatar's Hex-to-AR2 Converter.
|
|
|
Here are the equations that are used for the
encryption. The input to the encryption is denoted as
a0a1a2a3 d0d1d2d3, and the output is denoted as
A0A1A2A3 D0D1D2D3
. Each a0, a1, etc is a two digit hex number. In the equations below, the '$' means that the following number
is a hexidecimal number. XOR is a binary operation that can be performed on hex numbers using Windows Calculator in
Scientific Mode.
A0 = (a0 XOR $A6) - $6A
A1 = (a1 XOR $96) - $FF
A2 = (a2 XOR $01) - $7E
A3 = (a3 XOR $82) - $5A
D0 = (d0 XOR $D9) - $C5
D1 = (d1 XOR $3B) - $E5
D2 = (d2 XOR $1B) - $34
D3 = (d3 XOR $CC) - $27
|
Use the following table to encrypt or decrypt the first 8 digits of the code:
|
Digit of encrypted value |
| 1st | 2nd |
3rd | 4th |
5th | 6th |
7th | 8th |
U n e n c r y p t e d
V a l u e |
0 |
3 | C |
9 | 7 |
8 | 3 |
2 | 8 |
| 1 |
4 | D |
8 | 8 |
9 | 2 |
3 | 9 |
| 2 |
1 | A |
B | 5 |
A | 5 |
4 | 6 |
| 3 |
2 | B |
A | 6 |
B | 4 |
5 | 7 |
| 4 |
7 | 8 |
D | 3 |
C | 7 |
6 | C |
| 5 |
8 | 9 |
C | 4 |
D | 6 |
7 | D |
| 6 |
5 | 6 |
F | 1 |
E | 9 |
8 | A |
| 7 |
6 | 7 |
E | 2 |
F | 8 |
9 | B |
| 8 |
B | 4* |
1 | F |
0 | B |
A | 0* |
| 9 |
C | 5* |
0 | 0* |
1 | A |
B | 1* |
| A |
9 | 2* |
3 | D |
2 | D |
C | E |
| B |
A | 3* |
2 | E |
3 | C |
D | F |
| C |
F | 0* |
5 | B |
4 | F |
E | 4* |
| D |
0 | 1* |
4 | C |
5 | E |
F | 5* |
| E |
D | E |
7 | 9 |
6 | 1* |
0 | 2* |
| F |
E | F |
6 | A |
7 | 0* |
1 | 3* |
* - Subtract 1 from the left digit of the current pair before decrypting
* - Add 1 to the left digit of the current pair after encrypting
Use the following table to encrypt or decrypt the last 8 digits of the code:
|
Digit of encrypted value |
| 1st | 2nd |
3rd | 4th |
5th | 6th |
7th | 8th |
U n e n c r y p t e d
V a l u e |
0 |
1 | 4 |
5 | 6 |
E | 7 |
A | 5 |
| 1 |
0 | 3 |
4 | 5 |
D | 6 |
B | 6 |
| 2 |
3 | 6 |
3 | 4 |
0 | 5 |
C | 7 |
| 3 |
2 | 5 |
2 | 3 |
F | 4 |
D | 8 |
| 4 |
D | 8 |
9 | A |
2 | B |
6 | 1 |
| 5 |
C | 7 |
8 | 9 |
1 | A |
7 | 2 |
| 6 |
F | A |
7 | 8 |
4 | 9 |
8 | 3 |
| 7 |
E | 9 |
6 | 7 |
3 | 8 |
9 | 4 |
| 8 |
9 | C# |
D | E# |
6 | F# |
2 | D# |
| 9 |
8 | B# |
C | D# |
5 | E# |
3 | E# |
| A |
B | E# |
B | C# |
8 | D# |
4 | F# |
| B |
A | D# |
A | B# |
7 | C# |
5 | 0 |
| C |
5 | 0 |
1 | 2 |
A | 3 |
E | 9# |
| D |
4 | F# |
0 | 1 |
9 | 2 |
F | A# |
| E |
7 | 2 |
F | 0 |
C | 1 |
0 | B# |
| F |
6 | 1 |
E | F# |
B | 0 |
1 | C# |
# - Add 1 to the left digit of the current pair before decrypting
# - Subtract 1 from the left digit of the current pair after encrypting
Please send any additional information for this section to me at
hellion00@comcast.net.
|