Émuler un Nokia 3310 en dessinant un écran monochrome et quatre menus serait assez facile. Le projet nokia-dct3-emulator choisit le problème beaucoup moins raisonnable : faire démarrer le vrai firmware de téléphones DCT3 en modélisant le matériel qu’il pense avoir sous lui.1
Le README liste le MAD2, le contrôleur d’alimentation CCONT, un DSP TMS320C54x, plusieurs contrôleurs LCD, la matrice du clavier, la SIM et les EEPROM internes ou externes.1 Le projet propose une version WebAssembly dans le navigateur et une interface SDL native. Le firmware, lui, n’est pas dans le dépôt. L’utilisateur doit fournir son propre fichier .fls.
C’est plus qu’une précaution de distribution. Le projet insiste sur une contrainte d’implémentation : le firmware n’est pas patché. Pas de saut forcé pour éviter un autotest, pas de verdict injecté pour faire croire au téléphone que son matériel fonctionne. L’émulateur essaie plutôt de produire les états et les échanges que le logiciel attend du silicium.1

La partie réseau rend le projet particulièrement étrange. Le README décrit une cellule GSM synthétique transportant l’enregistrement, les appels, les SMS et, pour certains modèles, un chemin de données permettant du WAP.1 Les capacités varient selon le firmware et la génération de DSP. Le tableau de compatibilité du projet est donc à lire comme un état des tests de ses auteurs, pas comme une certification externe. Un 3310 de référence est indiqué avec appels et SMS, tandis que des modèles disposant du navigateur adéquat peuvent aller jusqu’au WAP.
L’émulation descend aussi dans des zones qu’on associe rarement au souvenir d’un téléphone. Le bus de service MBUS peut être exposé sur un port série virtuel. Le README indique que d’anciens outils Nokia non modifiés peuvent alors dialoguer avec l’appareil émulé, lire l’IMEI, inspecter l’EEPROM ou exécuter les commandes de service qu’ils envoyaient au matériel.1
La liste des limites est longue, et c’est plutôt bon signe. Certains modèles ne passent pas tous les autotests, certaines fonctions dépendent du moteur DSP, une déviation connue efface EF_LOCI au démarrage par défaut, et le pont vers une SIM physique a ses propres contraintes.1
Ce projet ne préserve donc pas seulement l’apparence d’un Nokia. Il essaie de préserver la relation entre un firmware et la machine qu’il supposait autour de lui. Après le Famicom Network System, on retombe sur le même problème : un fichier binaire tout seul est une moitié d’objet. Pour le comprendre, il faut parfois reconstruire le monde matériel qui lui répond.
