I'm actually learning how some of the things were made. The DS has some nifty features I guess Nintendo provided for developers. Crystal Tile will let you view the sprite layout data (I'm working on understanding that right now... then I'll go back to coding my Castlevania engine), as well as palettes and apparently animation data too... though not too sure about that one. And for the music it has the sequences stored. It reads the data and apparently in the DS games (or many of them), there are certain 4-byte codes which tell the DS where certain file data starts and ends. Inside that file data, among other things: palette indexing. Althoguh, even without the indexing, I could still figure it out through tria and error.
In Front Mission DS, the wanzer parts use a palette using little endian 4bpp RGB 15bit palettes. The weapons use little endian 4bpp BGR 15bit palettes. I'm trying to write up a code (in Game Maker for now) that will take a BMP of the tile data you rip from GGD and arrange the tiles based on the sprite layout data. As I said, though, I'm still trying to understand how that data's written. When the description is SSDPPMMMXXXXXXX, it's kinda tricky.
I haven't tested Crystal Tile with any other consoles like GBA. Right now I'm just playing with FMDS.