hasta donde yo he tocado, la gameboy se programa mediante ensamblador del Z80 (diferente al ensamblador de PC).
Se pueden hacer algunas cosas en C y mediante compilación cruzada compilarlo para Z80. Pero lo que quieres implica hacer ingenieria inversa y obtener el código en ensamblador y modificarlo. Creo recordar que algun emulador de gameboy permitía ver el código que se estaba ejecutando, la memoria gráfica,etc. Así podrías ir probando "en tiempo real" los resultados de modificar el código (diria que el No$GBA).