If you grew up watching the Pokémon TV series, you’d naturally be familiar with the cries of all your favourite Pocket Monsters. Most of the creatures in the anime tend to say their own name, over and over again. Pour one out for the legions of parents who, upon hearing a distant “PIKA PIKA!”, still involuntarily twitch to this day.
However, the games differ heavily in this area. Generation I of Pokémon was released on the Game Boy, which simply didn’t have the sound capabilities to deliver full bitstream audio. Instead, sounds were synthesized for the various Pokémon based on various parameters. It’s quite a deep and involved system, but never fear – help is at hand via [Retro Game Mechanics Explained].
The video breaks down, at a bitwise level, how the parameters are stored for each Pokémon’s cry, and how they are synthesized. It’s broken down into easily understandable chunks, explaining first how the Game Boy’s sound hardware works, with two pulse channels and a noise channel, before later expanding upon why some Pokémon have the same or similar cries.
It’s a tour de force in retro game reverse engineering, and expertly presented with high quality graphical guides as to what’s going on at the software level. There’s even an emulator you can use to explore the various cries from the original game, and generate your own, too.
Now that we’re up to speed with Pokémon, how about fixing bugs in a 37 year old game? Video after the break.







[William] acknowledges that the build is a bit of a hack job, but the project page does a good job of documenting his build process and covering the kinds of decisions involved in interfacing to a separate piece of hardware. After all, most budding hackers have sooner or later asked themselves “how do I make my gadget press a button on this other thing?” [William] ends up using a small relay to close the connection between the traces for the B button when triggered by a microphone module, but he points out that it should be possible to do a non-destructive version of the mod. Examples exist of 