globalment, il faut bien connaitre l´architecture matériel de la machine pour se rendre compte de ce qu´elle peut faire.
Puis faire quelques tests sur ta plateforme cible pour t´y habituer.
Ce faisant, tu aura remarqué les différences principales de développement entre cette plateforme et un PC (ou autre plateforme d´origine).
Bien evidement il te faudra une expertise sur le code de base.
Tu pourra alors commencer a changer le code pour qu´il prennent en compte ces contraintes matériel sur PC. Par exemple, la nintendo DS ne dispose pas de nombre flottant en natif (il y a peut etre une émulation du compilateur). Je commencerais alors a remplacer les différent flottant par autre chose (par exemple, des entiers a virgule fixe) et verifier que cela fonctionne bien sur PC.
Chaque module sera alors porté sur ta plateforme cible un par un, en vérifiant que tous fonctionne bien. Pour cela il te faudra probablement redevelopper quelques outils de débuggage pour pouvoir tester tout ca.
J´espère avoir répondu a ta question.