Necesitas saber programar al menos en asm.
Aquí en Wah hay un tutorial muy bueno de ASM orientado a GBA, la cpu de GBA y NDS son parecidas, se pueden programar en Arm y Thumb.
En cuanto a como, tienes que hacer un proceso de ingeniera inversa de la ROM para encontrar el código del menú opc.
Esto ya es algo complicado pero una vez que lo encuentres puedes trabajar en base a el.
Dato 1:
Los juegos de DS no se pueden hacer hook como en GBA, pero hay un post de Mikelan dónde uso una especie de carga de Overlay que se carga desde el inicio del juego y te da la posibilidad de usar 96kb para código y otras cosas.
Este post se encuentra en pokehacking.com
Dato 2:
Si te quieres adentrar en DS para estás cosas lo mejor es que revises GBATek.
Es una referencia de GBA/NDS dónde puedes saber técnicamente como funciona la consola y sus Desplazamientos de memoria.
En fin, te toca investigar bastante.
Puedes empezar por aquí si quieres, es para PMD pero es lo mismo para los juegos de 4ta Gen.
How to reverse engineer a DS game, using Pokémon Mystery Dungeon: Explorers of Sky as an example.
www.starcubelabs.com