Année 2001… Nintendo commercialise sa toute première console portable 32 bits, la bien connue Nintendo Game Boy Advance.

Sa puissance comparable à celle de la Super Nintendo Entertainment System a fait d’elle la console portable la plus performante dès sa sortie sur le marché.

Nintendo décida également de rééditer de nombreux jeux ayant fait le succès de la NES et de la SNES, profitant en plus de la rétrocompatibilité offerte par cette nouvelle console portable avec les jeux de la Nintendo Game Boy et Nintendo Game Boy Color, pour gonfler son catalogue de jeux déjà bien fourni à l’époque.

Ecran de démarrage de la Nintendo Game Boy Advance une fois mise en route

L’émulation

Tu n’es sans doute pas sans savoir que, de nos jours et depuis les années 60, il est possible de reproduire le comportement d’une machine dans une autre. C’est un concept qui est communément connu sous le terme d’émulation.

Je ne souhaite pas m’attarder sur de longues explications détaillées, c’est ce pour quoi je t’invite à lire cet excellent article qui retrace et conte l’Histoire de l’émulation, publié sur Tom’s Hardware en 2012.

IodineGBA

IodineGBA est un émulateur qui reproduit le comportement de la Nintendo Game Boy Advance, écrit entièrement en JavaScript et maintenu par Grant “taisel” Galitz depuis 2012. Sa dernière mise à jour remonte au 18 février 2017.

Cet émulateur utilise le canvas HTML5 et les APIs audio de JavaScript, ce qui fait de lui une application web native et pensée pour un usage online via un navigateur.

Ecran d'accueil du jeu A Link to the Past

L’application réagit bien malgré quelques baisses de performance selon le navigateur. Elle n’utilise pas énormément de mémoire mais nécessite un solide processeur pour profiter au maximum de l’émulation. Sa conception originale permet de jouer via un smartphone équipé d’Android, d’iOS ou de Windows Phone.

Installation

Son installation n’est malheureusement pas décrite, mais en analysant le code source de la page HTML du projet, tu peux t’apercevoir que les fichiers JavaScript sont importés un à un et peut alors constituer une base solide pour créer un projet open-source basé sur cet émulateur.

Un paquet NPM est aussi disponible qui inclut une version un peu vieillotte datée de 2014 de l’émulateur.

Tu peux aussi cloner le dépôt Git officiel via la ligne de commande suivante :

$ git clone https://github.com/taisel/IodineGBA.git
Ligne de commande Git depuis l'application Cmder

Il est également possible de tester la bête, mais tu dois bien évidemment être en possession du BIOS de la Nintendo Game Boy Advance et d’une ROM de l’un de ses jeux, qui ne sont pas fournis avec l’application.