Hacking friends in Pokemon Yellow
Some months ago, the source code of a game I and many others played as a kid was leaked. The game is written in assembly, and people have already reverse-engineered the original game. Still, I was very curious about the original comments in these source files.
After reading some source files, I started figuring out how to compile it. Luckily, people online have already figured it out and posted this online. After compiling and verifying it ran in an emulator, I decided it was time to edit some assembly to allow changes I wished I always had.
One of the things I never liked while replaying the game was how the messages appeared on the screen. The typewriter-style animation takes too much time to show, even when setting it to "fast".
I've edited the delay out. A simple change, but nice to have.
Another thing that bugged me had always been the extreme amount of wild pokemon that appear. So I programmed an extra menu option to activate a max repel on demand.
Sadly, I don't have the changed code anymore. I have the compiled binary, which should be reversely engineerable, but it wouldn't be worth the time.
Another fantastic journey was adding friends to the game. Replacing Pokémon was something I couldn't figure out online. The editing of the strings was the easy part, but adding the images took it to a whole other level. Images in Pokémon Yellow only use four colours: black, white, colour one shade one and colour one shade two. With the help of photoshop greyscale bitmap inverted images, my friends came alive in the game I loved.
That's it for this journey. I wished I still had the changed assembly parts to share, but sadly I've lost all of it due to data loss shortly after writing the extended version of this blog post.