HOW TO CONVERT CODES FROM ONE COUNTRY TO ANOTHER
(this only works for the PSX, not any other console!!)
First off you will need:
1: a scientific calculator
2: USA codes for a game you want to port
3: Known pal codes that match some of the USA codes (like inf money, lives, shotgun shells or whatever)
4:Patience
Converting codes in this way is commony know as 'porting'
As a general rule of thumb, the games will be essentally the same, the only diffrence is that the game data will be written
to diffrent areas of memory. The good news is that in a lot of games the diffrence is consistent. In other words, once
you find the porting factor of one code, a lot of codes will have the same porting factor.
For example let's say that we have found some USA codes for a certain game and there are a few PAL codes.
USA code for inf money is :80 0a0000 ffff
PAL code for inf money is 80 0a0200 ffff
The "80" (command type) and "FFFF" (value) are not changed and are the same for both versions of the game.
We don't need a calculator here to see that the PAL version= USA version + 200hex= (0a0200 minus 0a0000=200)
Ok so you see on a US website some codes that you want to hack "inf golden guns" 800A4600 FFFF there is a
very good chance that the PAL code for this will be 800A4800 FFFF (0A4600+200= 0A4800)
Most of the time it will be as simple as this, though the numbers may not be quite so obvious in fact most codes will
remain in the same area of memory. So in reality we only need the last four digts of the adress (4600+200=4800)
to do the equasion.practice useing the scientific calculator it should get easier as you gain experience.
Peice of cake you say?...
But before we start jumping up and down shouting "you beauty" I should add that for some games there could be more than
one porting factor. Item codes may have one factor, battle codes could have another, in games that have a diffrent health
code for each level which will probably find that there is a diffrent factor for each level. Some code types, like assembler
and break point codes normaly identified as short one or two line codes are associated with all levels, inf item use,
inf magic use, all character stats, one shot kill, all characters, invincible, walk thru walls, etc) probaly wont have a consistent
factor. Codes that are derived from "button cheats" may not be avalible at all from USA to PAL.
However the majority of games are not so complicated and can be worked out with patientence.
SPECIAL NOTES:
For all those just starting out, i should explain about diffrent code types, and how to deal with the when porting codes.
My explaination may not be 100% technicaly correct, bare with me.
1) "50" code types: serial code that is a repeat commant for the code below it.
50000908 0000
80094218 0001
The top line 50000908 0000 will not change between versions. 50 types will not work with CDX or pre ver 2.2 action replays.
2) "D0" code types: act only on the line of code written directly underneath.
D0 082468 0001
80 0A0200 FFFF
Means that when adress 80 082468 has a value of 0001 then adress 80 0a0300 will have a value of FFFF. If the "D0" adress
here has a value other than 0001, it will have no control of the adress "80" below.
There are 2 main ways that a " D0" code is used:
A:most common use for this is a "joypad joker command" There will be instruction on which buttons to press to activate
the code.
In many cases the "joker" will have the same porting factor as the code below it. If not it should be some reliable jokers
for the PAL version-try one of those.
B: The other common use is as an " in game trigger" the code maker wants the code to be activated at certain points in
the agme. Either for a affect, or because the game may not load with the codes enabled. Rules can go out the window here.
The best I can offer is a few tips:
If both lines are near in memory, eg:
D0091600 0006
800916020000
They will definitely have a common porting factor.
If they look like this:
D00600CC 0006
801F238D 0000
Probably a 50/50 chance. You may have to try other porting factors that you have found.
However, if you find:
D001D7A0 0006
801F238D 0000
Try the "D0" line as written-this area of memory may be the same for all versions.
3) "E0" code types: For this purpose of thise exercise, treat exactly as a "D0" code.
Appears they can not be used with CDX.
4) "C0" code types: same as "D0" codes, but they act on ALL codes.
The code maker wants the codes active only from a certain point in the game. This happens because the "C0" code is probaly
an "in-game" trigger and the codemaker can choose the code that suits. The good news is that type of code is not seen often.
If it's used because the game won't load with codes active, "C1" (see below) is just as effecive.
Cannot be used with older AR'S that have an on/off switch. these code types are useualy for the CD based types.
5) "C1" code types: delay all codes untill the game has loaded.
These codes will remain the same.
Cannot be used with older AR'S. that have a on/off switch. again only used for CD based cheat devices.
6) "D4" code types: universial "joker" command.
Only used with ver3 AR pros (not sure about CDX) may not work with some games.
These will remain the same.
You should be aware that a codemaker may use D4 merely to illustrate how a code can be a "joker". he/she would expect
the user to substitute a known joker for that particular code.
HAVE FUN HACKING!!!
here is a hex/dec chart for you, this can prove a lot of help It has also helped me! It's very long!
00
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
0E
0F
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
1F
20
21
22
23
24
25
26
27
28
29
2A
2B
2C
2D
2E
2F
30
31
32
33
34
35
36
37
38
39
3A
3B
3C
3D
3E
3F
40
41
42
43
44
45
46
47
48
49
4A
4B
4C
4D
4E
4F
50
51
52
53
54
55
56
57
58
59
5A
5B
5C
5D
5E
5F
60
61
62
63
64
65
66
67
68
69
6A
6B
6C
6D
6F
70
71
72
73
74
75
76
77
78
79
7A
7B
7C
7D
7E
7F
80
81
82
83
84
85
86
87
88
89
8A
8B
8C
8D
8E
8F
90
91
92
93
94
95
96
97
98
99
9A
9B
9C
9D
9E
9F
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
AA
AB
AC
AD
AE
AF
B0
B1
B2
B3
B4
B5
B6
B7
B8
B9
BA
BB
BC
BD
BE
BF
C0
C1
C2
C3
C4
C5
C6
C7
C8
C9
CA
CB
CD
CE
CF
D0
D1
D2
D3
D4
D5
D6
D7
D8
D9
DA
DB
DC
DE
DF
E0
E1
E2
E3
E4
E5
E6
E7
E8
E9
EA
EB
EC
ED
EF
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
FA
FB
FC
FD
FE
FF
then it just goes around back to the beginning again.