Great video, here are the steps to add custom content to a game boy cartridge based off what the author did (might be an easier way):
1. Map the pins on the cartridge and create custom hardware to rip the game from ROM over USB
2. Disassemble the ROM into gbZ80 assembly code
3. Add custom assembly code to ROM, making use of the weird memory bank allocation rules for the GBA.
4. Compile and flash back onto the GBA cartridge
What’s most interesting to me is the section on space saving hacks used in the Pokémon yellow code, for example each Pokémon image is only 4 colors: white black and two shades of grey. The game has a file to map the greys to other colors and applies the coloration in real time at render instead of storing the colors in the image file.
Great video, here are the steps to add custom content to a game boy cartridge based off what the author did (might be an easier way):
1. Map the pins on the cartridge and create custom hardware to rip the game from ROM over USB
2. Disassemble the ROM into gbZ80 assembly code
3. Add custom assembly code to ROM, making use of the weird memory bank allocation rules for the GBA.
4. Compile and flash back onto the GBA cartridge
What’s most interesting to me is the section on space saving hacks used in the Pokémon yellow code, for example each Pokémon image is only 4 colors: white black and two shades of grey. The game has a file to map the greys to other colors and applies the coloration in real time at render instead of storing the colors in the image file.