Liste de logiciels libres pour Nintendo 2DS/3DS

Gestion de la mémoire permanente

La mémoire permanente est celle interne à la machine et l'éventuelle carte microSD. En revanche, la mémoire vive, aussi dite RAM, n'est pas permanente, puisque son contenu est perdu à chaque extinction (ou plutôt usuellement considéré comme tel, car il peut en réalité en être autrement et c'est donc à prendre en compte si vous avez besoin d'un haut niveau de sécurité, mais ce n'est fort vraisemblablement pas le cas avec une Nintendo 2DS/3DS sous le système de base altéré pour être plus permissif).

Gestion des sauvegardes de jeux natifs

Par jeux natifs, nous entendons ici tous les jeux que vous pouvez lancer sur une Nintendo 2DS/3DS sous le joug Nintendo. Cela inclut des jeux émulés. Ce que nous excluons ici ce sont les jeux émulés via un émulateur non-officiel, comme RetroArch ou mGBA, ainsi que les jeux natifs mais qui n'ont pas été approuvés par Nintendo et qui ne respectent pas la manière standard sur Nintendo 2DS/3DS de gérer les sauvegardes.

Jeux

Faire tourner un jeu, que ce soit nativement ou par émulation, demande de la puissance, assez de puissance. Et à ce propos, il y a une différence à faire entre les différents modèles de 2DS/3DS. En effet, avant la Nintendo Switch, Nintendo a sorti des nouveaux modèles de 2DS/3DS qui ont le préfixe new. Ces derniers modèles ont bien plus de puissance, donc sont capables de faire tourner plus de jeux. Si vous avez une old 2DS/3DS, attendez-vous donc à ce qu'une partie de ce qui est listé ci-après ne fonctionne pas ou lentement sur old 2DS/3DS.

Émulation sur Nintendo 2DS/3DS

Émulation de multiples plateformes

Émulation exclusivement de consoles Nintendo

Émulation exclusivement de consoles Nintendo portables
GameBoy Grey, Color et/ou Advance

La GBA est déjà nativement gérée par tous les modèles de 2DS/3DS. Mais les émulateurs peuvent offrir des fonctions supplémentaires (comme la sauvegarde à n'importe quel moment). Cependant, la old 2DS/3DS n'a pas la puissance nécessaire pour émuler la GBA ou l'émuler correctement, à contrario de la new 2DS/3DS.

Nintendo DS

Comme la GBA, la NDS est nativement géré par la 2DS/3DS. Il n'y a donc besoin d'émulateur pour jouer aux jeux de cette console. Mais contrairement à la GBA, même la new 2DS/3DS n'a pas la puissance nécessaire pour émuler la DS première du nom et donc il n'est possible de profiter des ajouts potentiels des émulateurs (comme la sauvegarde à n'importe quel moment).

Émulation exclusivement de consoles Nintendo de salon
GameCube et Wii

Même théoriquement, la new 2DS/3DS n'a pas de quoi émuler la GameCube et la Wii.

Émulation exclusivement de consoles Sony

Sony PlayStation 1 (PS1)

La old 2DS/3DS ne peut pas émuler la PS1, ou le échéant il faudrait faire un gros travail d'optimisation qui ne sera fort probablement jamais fait si tant est que ça puisse suffir. Par contre, la new 2DS/3DS peut émuler la PS1. En avril 2024, il ne semble y avoir aucun émulateur dédié à la PS1 pour new 2DS/3DS, mais il y a RetroArch.

Sony PlayStation Portable (PSP)

Même la new 2DS/3DS n'en a vraisemblablement pas assez dans le ventre pour émuler la PSP, du moins à minima correctement. Il serait toutefois peut-être possible d'émuler d'une manière raisonnable quelques rares jeux, mais il est peu probable que quelqu'un se fasse chier pour ça en faisant un émulateur PSP bien optimisé pour new 2DS/3DS.

Moteurs prêts à l'emploi

Émulation de la Nintendo 2DS/3DS

Programmation pour la Nintendo 2DS/3DS

  1. devkitPro est un projet qui fournit des compilateurs C et C++ pour des ordinateurs pensés en tant que console (dont la GBA, la première DS, la GameCube, la Wii 1 et la Wii U, mais aussi la Switch). Pour la 2DS/3DS, la suite de compilateurs se nomme devkitARM (à différencier de devkitA64 qui est pour l'ARM 64 bits, qui n'arrivera chez Nintendo qu'à partir de la Switch).
  2. libctru est une bibliothèque C pour intéragir avec ce que propose la Nintendo 2DS/3DS et son système d'exploitation de base. Il en existe une liste d'exemples d'utilisation sous forme de code.
  3. ctru-rs est un projet en langage Rust pour faire la même chose que libctru qui est lui en langage C.