Preparation | Calculation | Example | Using | Credits | Online Calculator

Gold / Silver / Crystal Versions

Version 1.1 ©2002-3 Phil Erwin Last Updated: 2/7/2003

When you start a new game of G/S/C Pokémon, you are asked to set the day of the week, the time, and daylight savings time. There are times when, for whatever reason, you need to change or reset that time.

Nintendo/Game Freak provided a way to reset the time, but the game requires a password. This FAQ will help you generate that password. The password is determined by several factors of your saved game.

Before you can calculate your time reset password, you have to know the following things related to your saved game:

- Your trainers Name (
*exactly*as it is entered in the game) - Your trainers held Money (do not include the money your Mom is saving for you).
- Your trainers ID number (Trainer ID)

Write these numbers down on scratch paper before you begin, you'll be referring to them later.

There are four steps to generating your password. You will be generating numbers based on your trainers Name, Money, and Trainer ID.

Char | Value | Char | Value | Char | Value |
---|---|---|---|---|---|

A | 128 | a | 160 | ( | 154 |

B | 129 | b | 161 | ) | 155 |

C | 130 | c | 162 | : | 156 |

D | 131 | d | 163 | ; | 157 |

E | 132 | e | 164 | [ | 158 |

F | 133 | f | 165 | ] | 159 |

G | 134 | g | 166 | P_{K} |
225 |

H | 135 | h | 167 | M_{N} |
226 |

I | 136 | i | 168 | - | 227 |

J | 137 | j | 169 | ? | 230 |

K | 138 | k | 170 | ! | 231 |

L | 139 | l | 171 | . | 232 |

M | 140 | m | 172 | * | 241 |

N | 141 | n | 173 | / | 243 |

O | 142 | o | 174 | , | 244 |

P | 143 | p | 175 | ||

Q | 144 | q | 176 | ||

R | 145 | r | 177 | ||

S | 146 | s | 178 | ||

T | 147 | t | 179 | ||

U | 148 | u | 180 | ||

V | 149 | v | 181 | ||

W | 150 | w | 182 | ||

X | 151 | x | 183 | ||

Y | 152 | y | 184 | ||

Z | 153 | z | 185 |

Using the values shown in Table 1, translate the first five
characters of your trainers name into values. Add these five numbers together.
This will be referred to as your **Name Total**.

The game places a special code at the end of the Trainers Name, which has a value of 80. Therefore, if your trainers name is less than five characters, you must add 80 to the Name Total.

The amount of Money you have in the game is stored as a 24-bit
number (also referred to as a *long* in programmer-speak) and therefore
takes 3 bytes of storage. These three individual bytes are to be added together
and this will be referred to as your **Money Total**.

**Byte 1 (High Byte)**Divide by integer division your Money by 65,536.**Byte 2 (Middle Byte)**Divide by integer division your Money by 256 and then apply modulus-256 (remainder) on this number.**Byte 3 (Low Byte)**Apply modulus-256 on your Money.

**Note:** In computer terminology, calculating the remainder
is also referred to as *modulus*, or simply Mod. Most scientific calculators
have this feature, including the Windows Calculator (set in Scientific mode).
For example, entering 50517 Mod 256 returns 85. What could be easier?

Lets say you are holding exactly 200,000 in the game. (This number is represented in hexadecimal as 0x030D40. For the programmers out there, what we are doing is simply adding 0x03 (3 in decimal) + 0x0D (13 in decimal) + 0x40 (64 in decimal), which results in 0x50, or 80 in decimal.)

But we'll do it the long way.

- Byte 1 (High Byte): 200,000 divided by 65,536 equals roughly 3.0517578125, but since we're doing integer division, it simply becomes 3.
- Byte 2: (Middle Byte): 200,000 divided by 256 equals 781.25. Applying a
modulus-256 operation (which basically is "
*What is the remainder of a division of this number by 256?*") on this value equals 13. - Byte 3: (Low Byte): Applying a modulus-256 operation on 200,000 results in 64.

The three numbers—3, 13, and 64—are added together and the result, 80, is the Money Total.

This operation is very similar to what was done in Step Two,
except now the Trainer ID number is used. The Trainer ID number is only stored
as a 16-bit number, which uses two bytes of memory. These two bytes are going
to be added together and this sum will be referred to as your **ID Total**.

**Byte 1 (High Byte)**Divide by integer division your Trainer ID by 256.**Byte 2 (Low Byte)**Apply modulus-256 on your Trainer ID.

Lets say your Trainer ID number is 12345. This number is stored as two bytes represented as 0x3039. The ID Total will be the sum of 0x30 (48 in decimal) and 0x39 (57 in decimal), which is 0x69 (105 in decimal). But that's the short way, lets do it again the long way.

- Byte 1 (High Byte): Dividing 12345 by 256 yields 48.22265625, and since this is an integer-division, only the 48 is retained.
- Byte 2 (Low Byte): Applying modulus-256 on 12345 results in 57 as the remainder.

The two numbers, 48 and 57, are added together and 105 is your ID Total.

Add your Name Total, Money Total, and ID Total numbers together. If the number of digits in the result is less than five, pad zeros on the left until there are five numerals. This five-digit code is your password.

Here is a complete example to illustrate the algorithm.

Name: | Charles |

ID: | 54201 |

Money: | 247,122 |

Translating the first five letters of his name, we get:

Char | Value |
---|---|

C | 130 |

h | 167 |

a | 160 |

r | 177 |

l | 171 |

130+167+160+177+171 = 805. This is the **Name Total**.

247,122 is stored as 0x03C552 (in hexadecimal), so we know the Money Total will equal 0x03 + 0xC5 + 0x52, which equals 0x11A (282 in decimal). But I'll do it longhand to verify.

- Byte 1 (High Byte): 247,122 divided by 65,536 is 3.770782470703125, which simply becomes 3.
- Byte 2 (Middle Byte): 247,122 divided by 256 equals 965.3203125, and the modulus-256 (remainder) of this number is 197.
- Byte 3 (Low Byte): Applying modulus-256 on 247,122 results in 82.

The **Money Total** is 3 + 197 + 82, or 282.

54201 is stored internally as 0xD3B9. 0xD3 + 0xB9 = 0x18C, which is 396. But we'll do it the longer way for giggles and grins.

- Byte 1 (High Byte): Dividing 54201 by 256 yields 211.72265625, and we strip off the decimals and it simply becomes 211.
- Byte 2 (Low Byte): Applying a modulus-256 operation on 54201 yields 185.

The **ID Total** is 211+185, or 396. The double-check matches, all is well
and right with the world.

Password = **Name Total** + **Money Total** + **ID Total**
= 805 + 282 + 396 = 1483. This doesn't have five digits, so we pad zeros to
the left. The password is 01483.

Finally, the part we've been waiting for: using the password!

This is the easy part. On the title screen, press Select+Down+B. A message will appear asking you if you want to reset the clock. Choosing Yes will prompt you to enter the password. After entering the correct password, the time is reset and you will be asked to set the clock like when you first started your game.

Unfortunately, the good people at Nintendo decided to take the Select+Down+B option out of the Crystal version. Maybe they thought too many people were abusing the time reset code or maybe someone just forgot. In any event, there is only one way to reset the clock using the password and that is by using a Gameshark code. I know, I know... I don't like using Gameshark codes myself, but in this instance it is necessary.

Enter Gameshark code ** 010464CF** and start your game. At the title screen,
press the A button. You will be prompted to reset the clock. Remove the Gameshark
code at this time and proceed entering the password as in the Gold and Silver
version.

- Jolt135 A huge thank-you for being gracious enough to let me update the password formulas from his formidable guide "Treatise On Pokémon Strategy" (available now at Gamefaqs) to a more streamlined and logical format. Thanks for persistently reminding me about the caveat of adding 80 to the Name Total if the Trainer Name is less than 5 characters.

If you don't have the patience to do the calculations yourself, feel free to use this Calculator.

Copyright ©2003 Phil Erwin All rights reserved