TouchHLE - L'émulateur iPhone qui a compris qu'il ne fallait pas tout émuler
Après Wine, après Dolphin, après tous ces émulateurs qui se cassent le cerveau à reproduire le moindre transistor d'une console... voici TouchHLE !
Et celui-là, il a compris un truc que beaucoup oublient qui est que pour faire tourner des vieux jeux iPhone de 2008-2011, y'a pas besoin de recréer un iPhone complet dans votre PC.
Faut juste que les apps croient qu'elles tournent sur iOS. Du coup, le projet c'est de réimplémenter les frameworks Apple (UIKit, OpenGL ES, OpenAL) en natif, et seul le binaire ARM de l'app est émulé via dynarmic. Le reste, c'est du code Rust qui fait le boulot directement sur votre machine.
Bref, c'est de l'émulation "haut niveau" (HLE pour High-Level Emulation), l'approche opposée à QEMU qui simule chaque instruction du processeur. C'est la même philosophie que Dolphin pour la GameCube ou Wine pour Windows. Plus léger, plus rapide, mais ça demande de connaître intimement chaque fonction que les apps appellent.
Le logo TouchHLE : un engrenage Rust avec le bouton Home de l'iPhone, tout un symbole ( Source )
Et le résultat c'est que sur les 667 apps testées dans leur base de compatibilité , 153 fonctionnent parfaitement et 101 sont jouables avec des bugs mineurs. Je vous parle de pépites du gaming portable comme Super Monkey Ball, Doom, Sonic, Tetris, Pac-Man, Angry Birds ou Cut the Rope. De quoi croquer les madeleines de votre jeunesse iOS première génération.
Super Monkey Ball qui tourne dans TouchHLE, nostalgie de 2008 ( Source )
Le projet a été lancé en décembre 2022 par Hikari_no_yume, en mode "projet passion à plein temps". Et depuis la release publique de février 2023, c'est devenu un effort communautaire avec une quarantaine de contributeurs. Et ça tourne sur Windows, macOS et même Android.
Alors oui, ça ne fait pas tourner les apps modernes 64-bit, la FAQ est claire là-dessus. Le codebase est conçu pour le 32-bit de l'époque iPhone OS 2.x et 3.0, et l'équipe assume : les jeux post-iOS 7 avec leurs modèles freemium, c'est pas leur combat. Eux, ils préservent les classiques d'avant que le mobile gaming devienne un casino déguisé.
D'ailleurs, si la récente ouverture d'Apple aux émulateurs sur l'App Store vous a donné des idées, sachez que TouchHLE ne peut pas tourner sur iOS lui-même... il a besoin de compilation JIT, et Apple bloque ça sur sa propre plateforme. Hop, on reste donc sur PC ou Android.
Pour l'installer, c'est dispo sur GitHub avec des releases pour Windows, macOS et Android. Il vous faudra vos propres fichiers .ipa (les apps iPhone de l'époque), le projet ne fournit rien pour des raisons légales évidentes. Mais si vous avez gardé des backups iTunes d'il y a 15 ans... c'est le moment de les ressortir.
Perso, je trouve l'approche pas con. Plutôt que de s'acharner à reproduire le hardware Apple bit par bit (ce qui serait un cauchemar légal et technique), ils ont choisi la voie pragmatique : faire croire aux apps qu'elles sont chez elles, sans jamais toucher au code d'Apple. Et ça c'est malin !
