I created a video showing how to do a little bit of hacking/reverse programming on the Game Boy game Pokemon Red Version. This is a simple hack where we replace some text in the ROM. This video is not intended to be a tutorial, it is really just me setting down and recording myself going through the process of doing this hack. I’ve never done this particular kind of thing before on a Game Boy ROM so in a way we are learning it together.

The video

The tools

  1. Debugger - No$GMB
  2. Tile editor - Tile Designer
  3. Text editor - VS Code
  4. Hex editor - VS Code Hex Editor Plugin
  5. C compiler - Clang
  6. C check sum program - Sum C program code

TLDR; Steps

  1. Get your personal Pokemon Red Version Rom
  2. Create a copy of it and name it original.gb in case of mistakes
  3. Open the Tile editor and create 1-11 tiles of whatever you wish
  4. Export all 11 tiles (even if you didn’t use 11) to a binary file
  5. Copy the binary output in a hex editor
  6. Open the Pokemon Red rom (not original.gb)
  7. Locate address 0x000121F9
  8. Overwrite the values with the values from your binary file
  9. Copy this C program code to a file
  10. Compile the c code using Clang
  11. Pass your modified Pokemon Red rom into the compiled program
  12. Copy the last 4 numbers (2 bytes) of the Sum: output
  13. Open the Pokemon Red rom (not original.gb)
  14. Locate address 0x0000014E and 0x0000014F
  15. Replace those 2 bytes with the value you copied from the output of the program
  16. Save the rom
  17. Play the rom again in the debugger