Blog

Software

AN.

Blog

The James Pond 3 F.I.5.H. Code

4 April 2018

James Pond 3 is a great game. It has many levels and objectives so it uses a password system to save your progress. Although you can't generate a password on demand, the game does give you a password any time you pick up a surveillance beacon or defeat a boss. Revisiting a boss level and defeating it again gets you a password at any time (luckily most of the bosses are easy).

If you visit the password entry screen and enter an incorrect code, you get this enticing message:

Message stating that I should try harder.

It's almost like a challenge! Every now and then I search the web to see if anyone has worked out the F.I.5.H. code, but so far nobody has. Ciphers and such aren't my thing, so I'm a fish out of water in this case. Nevertheless, I wanted to see if I could do it. I am working with the Mega Drive version of the game for this - other platforms also use the same kind of code, but they aren't interchangeable (so you can't put an Amiga code into the Mega Drive).

Complexity

The password screen contains 32 symbols, 4 possible colours for each symbol, and a maximum of 22 empty spaces for them to occupy. I make that (4 x 32)22 = 22,835,963,083,295,358,096,932,575,511,191,922,182,123,945,984 possible unique combinations. Brute force is out of the question, then.

Strategy

Going to a boss level to get codes is a good way when playing the game normally, but I am impatient. Also, I want to change as few variables as possible. So with the help of Kega Fusion's cheat code finder, I work out that the code for the surveillance beacon is FFF918:00FF. Turning on that cheat code will give you a password every time you win a level.

To keep it simple, I start playing with only the first level (Garden of Edam). I generate a code for finishing the level with 1 heart (lives), 2 hearts and so on. No other variables change, and I get 9 codes.

A matrix of symbols from the password screen, demonstrating similarities.

So let's look at what is the same: blue frog, and a repeating sequence of green cars and yellow cats. The next 5 symbols have something to do with the number of hearts; nothing else that's different should be changed. I imagine there must be a checksum somewhere in the algorithm it uses to create a code, otherwise the game might accept any gibberish.

My first thought was, "why does having 3 hearts or 5 hearts generate 5 symbols, when the rest only generate 4?" So I went back and did the levels again. No mistake. In what numbering system does holding the value "3" occupy more memory than "4"?

I don't know. My only guess so far is that there is some sort of encoding going on, and when it divides 3 or 5 it overflows something. It's a weak theory because picking on those two digits makes no sense at the moment, but it's all I have.

Discouraged, I played through some more levels and got their passwords. Here are my hypothesises thus far:

Not Saved in a Password:

  • Moons, Fishes/Stars, Score
  • Map routes not taken

Is or Probably Saved:

  • Lives/Hearts (assume integer)
  • Completed Levels (102 levels, boolean flag for each)
  • Agents rescued (3 flags)
  • Stiltonium Machine destroyed (4 flags)
  • Satellite piece found (3 flags)
  • Moon treasure found (5 flags)
  • Key found (2 flags - 1 for mines, 1 for crystal caverns)

I've decided to leave it for now, and come back another day. As some final thoughts: there are plenty of recurring symbols on the first change - column 2 has skull, cake, and bottle repeated. Column 3 has computers every other time. Moons end a lot of the codes (6/9). And those repeating cars and cats; I am betting they are a placeholder for the levels completed. After all, 102 flags would need the most space.

I also think there might be some sort of header and value system going on, as the code only gets longer when you do something new. For example, picking up a piece of moon treasure increases the size by one symbol (but changes more symbols too). So perhaps a code is internally laid out like:

LEVELS (1,0,0,0, ...102 times...). AGENTS (1, 0, 0). MOON TREASURE (0,0,1,0,0). SATELLITE (1,1,1,1,1). KEYS (0,1).

If anyone knows how the code works, I'd be curious; but as long as cheats and emulators exist, I'm not dying to know.

Return to Blog Index

2024

2023

2022

2021

2020

2019

2018

© Andrew Nile 2018-2024. Privacy