Well, it more or less depends on the game at hand. A good place to start is using the "View Memory" function of Desmume so you can see what happens behind the scenes when a button is pressed or an event is triggered. You can also fool around by using a hex editor and modify bytes and see what they do. Also, you can view the internal filestructure using CrystalTile 2, and you can hear/extract the music using VGMTrans. It all depends on what you want to do.