Under the microscope: Ford Street Racing (PlayStation 2, Xbox, PSP)
Reverse engineering a cheat code system that makes you wait
If you load a memory snapshot from Ford Bold Moves Street Racing (a.k.a. Ford Street Racing) into Ghidra and search for the word "cheat," you’ll get a few interesting hits:
002eb110 "UBERCHEAT"
002ec218 "SOUND_EFFECT_TYPE_UI_CHEATMODE"
002ec238 "SOUND_EFFECT_TYPE_UI_CHEAT"
00310868 "Cheat System Events"
00310880 "Cheat Events"As of this writing, none of the cheat sites have any codes listed for this game. So what are these strings for? Let’s find out.
The reverse engineering
Ghidra finds that a pointer to the Cheat Events string is used as an argument to the function at 00164270. That function executes when you’re on the main menu and press Select.
How did I know that? It was a lucky guess – Ford Racing 2, an earlier game from the same developer, listens for cheat codes when the Select button is pressed:
Unlock everything: On the mode select screen, hold Select and enter this sequence: Up, Up, Left, Left, Down, Up, Right, Right, Left, Down, Up, Up. The announcer’s voice will say “Cheat Activated.”
From GameFAQs
The second argument to the function at 00164270 is a pointer to another function. This function (which is at 0024e570) makes several calls, but the last one is the most interesting – a pointer to 0024e708 is used as an argument.
What’s at that address? Yet another function, which loops through pointers to these strings:
002df210 "DDDDDDDDDD"
002df228 "URDL"
002df240 "UDLRLR"
002df258 "UDLRRLL"
002df270 "UDLRRRR"
002df288 "UDLRRLUD"These, of course, look like button sequences for cheat codes – U for Up; R for Right; D for Down; L for Left. What happens if we put them in while holding Select?
…nothing. What gives? There are two issues:
Three of the six sequences don’t actually do anything.
The game makes you wait before entering them! If you put them in too quickly, it ignores you.
Here is some pseudocode that shows the logic:
cheat_timer += 1/60 # Advance by 1/60th of a second every frame
for i in (1, 3, 4, 5):
if (INPUT_BUFFER == CHEAT_STRING[i]) and (cheat_timer >= 0.5):
APPLY_CHEAT_FUNCTIONS[i]()The variable I’m calling cheat_timer is there to ensure that you wait 0.5 seconds (30 frames) after pressing Select before pressing buttons. You also have to keep holding Select for 0.5 seconds after the last button.
The indexes of the DDDDDDDDDD and UDLRLR codes are skipped entirely. The URDL code is checked, but it doesn’t do anything – the function that’s called to apply its effect just returns immediately. Here’s its disassembly:
0024ece0 jr ra # Return to caller
0024eec4 _nop # Null operation in the delay slotSo what do the three that work do?
The cheat codes (PlayStation 2 version)
One of the cheats that works is UDLRRLL. To put it in:
Start at the main menu.
Hold down Select for a half second.
Enter Up, Down, Left, Right, Right, Left, Left.
Keep holding down Select for another half second.
If you got it right, a little jingle will play. And you’ll have $1,000,000 to spend in Team Championship mode:
Another cheat that works is Up, Down, Left, Right, Right, Left, Up, Down. As above, enter it on the main menu while holding Select. Hold Select for a half second before pressing the other buttons and for a half second after.
When entered correctly, this code makes all of the cars available:
It also unlocks all of the tracks:
The third cheat is the best one: Up, Down, Left, Right, Right, Right, Right. It gives you both of the above effects – all cars and tracks, plus the $1 million to spend. It’s also entered on the main menu while holding Select. Don’t forget to wait a half second before and after pressing the D-pad buttons!
The cheat codes (Xbox and PSP versions)
The Xbox version of Ford Street Racing works just like the PS2 version – the only difference is that you hold Black / RB instead of Select. For the “unlock everything and get $1 million” cheat:
Start at the main menu.
Hold down Black / RB for a half second.
Enter Up, Down, Left, Right, Right, Right, Right.
Keep holding down Black / RB for another half second.
The codes work on the PSP version (which is called Ford Bold Moves Street Racing), too. You don’t have to enter them so slowly, though – the half second timer requirement isn’t present in this version.
For the cars, tracks, and money cheat:
Start at the main menu.
Hold down Select and enter Up, Down, Left, Right, Right, Right, Right.
Outro
There are some strings without references in the PlayStation 2 version that give names to the cheats:
00316660 "INVALID"
002eb140 "ALLINBLACK"
002eb130 "FAT_GARAGE"
002eb120 "MILLIONAIRE"
002eb110 "UBERCHEAT"
002eb0f8 "UNLOCK_EVERYTHING"The ones from above are Millionaire, Unlock everything, and Ubercheat. This Polish page claims that the PC version of Ford Street Racing has the “All in black” cheat enabled – it makes all of the cars black. I wasn’t able to get it running on my Windows XP machine to confirm, though.
Thanks for reading Rings of Saturn. I’ll be back soon with more from my retro game reverse engineering vault. Subscribe here on Substack to get the next article as soon as it comes out:









Sweet!