The name's Angel Candysalt, the great treasure hunter!
A euphemism? No, why do people always ask me that??
Anyways, I came here to nab the treasure hidden in this ship graveyard, only to discover it's protected by this rusted maze.
That must be why all these old ships are here. Their crew came to find the treasure, only to get lost in the labrynth.
At least it's obvious where this one is. See that shiny spot over to the right? That's gotta be where it is! If only I had a bird's eye view.
But how to get there? Up? Down? Left? Right? Oh well, that's your problem now!
Come back if you can find your way to it, and I'll tell you some secrets I've heard about this one.
Angel Candysalt gives us following hint:
The location of the treasure in Rusty Quay is marked by a shiny spot on the ground. To help with navigating the maze, try zooming out and changing the camera angle.
First we have to find the cartridge in the labyrinth. This is very easy if we zoom out.
After returning to Angel Candysalt he says
The life of a treasure hunter isn't easy, but it sure is exciting!
Oh it's a video game, I love video games! But you've claimed this treasure, nicely done.
Now, about those secrets I've been told. They're pretty cryptic, but they are. Hopefully that helps with something!
You have all three? Wow, you must be the greatest treasure hunter that ever lived!
And we get the following additional hint:
1) This one is a bit long, it never hurts to save your progress! 2) 8bit systems have much smaller registers than you’re used to. 3) Isn’t this great?!? The coins are OVERFLOWing in their abundance.
We use a GameBoy emulator under Windows, for example the visualboyadvance. To do this, we first download the corresponding ROM (game.gb
), which is displayed in the frame.
We can collect coins in this game. When we talk to the characters, we also learn that we need 999 coins to progress. If we collect that many coins, however, we will have the problem that the counter jumps from 998 to 001.
However, the game also offers the option of saving the status and reading it in again. Perhaps we can manipulate the save status so that we get exactly 999.
So let's collect 998 coins (fortunately there are 100, 10 and 1 coins). Then we save the score. As this is binary, we convert it into hex format.
xxd game.sav game.hex
If we also save another savegame and compare it, we can see that essentially only the first 4 lines change. So let's concentrate on that and change everything from 8 to 9, maybe that will be enough. When we restart the game, we realize that this is not enough. If we save 1 or 2 more savegames, we see that the block after 7, 8, 9, etc. also changes. So let's adjust this in the same way as the 9:
head -n 6 game.hex
00000000: ca5c 3cbd 0000 0000 0000 0000 0000 0000 .\<.............
00000010: 0000 0000 0900 0900 0900 0900 0900 0900 ................
00000020: 0900 0100 0900 0900 fe00 0900 fe00 0000 ............w...
00000030: 0900 0900 0900 0900 0900 0900 0100 0900 ................
00000040: 0900 0900 0900 fe00 0900 0900 0900 0900 ................
00000050: 0900 0900 0900 0100 0100 0000 0000 0000 ................
We convert this customized file back into binary format and start the game, which was indeed successful: xxd -r game.hex game.sav
We play a bit of classic platformers and eventually come to a big gap.
We cross this and reach a cave. Here we talk to the characters again in the correct order and see our flag at the end: !tom+elf!