Un émulateur pour le premier iPhoneOS… dans sa version iPod touch

Pierre Dandumont |

Un développeur néerlandais, Martijn de Vos, a montré récemment un émulateur un peu particulier : il utilise QEMU pour lancer iPhoneOS 1.0 sur un iPod touch virtuel.

Un iPod touch virtuel sans trop de fonctions

Émuler un appareil iOS n'est pas totalement une première : Correlium le fait pour ses offres, par exemple. Mais la solution de Vos est open source et utilise QEMU comme base, un outil largement employé, multiplateforme et complet.

Il ne se connecte pas à Internet.

Il a choisi iPhoneOS 1.0 (oui, à l'époque iOS ne s'appelait pas encore iOS) dans sa toute première version pour un appareil… qui n'est pas l'iPhone. Il a en effet développé son programme pour émuler le premier iPod touch. S'il est techniquement assez proche de l'iPhone, il n'a pas de modem cellulaire, pas de Bluetooth, pas d'appareil photo. Il explique dans un premier billet ce qui fonctionne et ce qui ne fonctionne pas.

Vous ne lancerez pas vos applications préférées

Le processeur lui-même fonctionne, mais c'est logique : Apple utilisait à l'époque un modèle directement fourni par ARM, l'ARM11, et QEMU l'émulait déjà. Il a surtout dû développer les composants nécessaires à la prise en charge du stockage et quelques puces annexes, pour permettre à iPhoneOS de démarrer. Il a aussi implémenté la gestion partielle du multitouch (certains gestes ne fonctionnent pas) et un affichage en 2D. Il n'émule en effet pas encore le GPU de l'iPod touch (un PowerVR MBX Lite) mais l'OS et l'interface peuvent démarrer sans accélération vidéo, avec un rendu purement logiciel.

Calculatrice et alarme.

Si quelques applications livrées avec l'OS existent, n'espérez évidemment pas lancer vos jeux préférés : cette version du système n'acceptait pas les applications tierces et il manque encore pas mal de choses. Premièrement, il n'émule pas le Wi-Fi (donc l'iPod touch ne communique pas), l'audio, tout ce qui est lié au GPU, les capteurs ou l'USB. Deuxièmement, dans ce qui fonctionne, le clavier virtuel ne marche pas, c'est instable, les gestes avancés ne sont pas gérés et l'ensemble n'est pas persistant, c'est-à-dire que les modifications effectuées ne sont pas sauvegardées lors de l'arrêt.

Malgré tout, il s'agit d'un exploit : c'est le premier émulateur open source qui lance le système d'Apple. Et si vous avez envie d'essayer l'émulateur en question (et que la ligne de commande ne vous effraye pas), un second billet explique comment exécuter le programme.

avatar roms.nc | 

Nostalgie, ça me rappelle mon premier iPhone edge 4go refurb 🇺🇸

avatar raoolito | 

et on voit combien l’app des paramètres systèmes littéralement explosé avec le temps.
rien d’illogique mais quelle claque!

avatar Lecorbubu | 

C’est bien dans ces petits moments de rétrospectives que l’on mesure à quel point l’iPhone fut un produit de rupture à son époque : entre ce que l’on voit dans cet émulateur et l’UX d’aujourd’hui les grands principes de navigations sont très proches.

Les fondations posées en 2007 restent donc d’actualité, et les années passant semblent démontrer qu’ à leur sortie l’iPhone couplé de son OS ont posé et démocratisé les grands principes de l’informatique mobiles comme le Macintosh était parvenu à populariser le paradigme de l’interface graphique avec l’environnement du bureau pilotable à la souris et au clavier (dont on ne manquera pas de remercier au passage Douglas Engelbart, Alan Kay, Xerox ou même Susan Kare).

Nous verrons à la venir si la comparaison mérite d’être perpétuée mais en l’état tout porte à confirmer que le monde du smartphone est bel et bien arrivé à maturité. On le voit depuis quelques années que ce soit chez Android où Apple les innovations sont de l’ordre l’évolution incremental.

Reste à voir maintenant si les usagers se satisfont de cette nouvelle dynamique ou si celles-ci et ceux-ci sont désireuses et désireux de nouvelles expériences plus conséquentes dans les innovations technologiques qu’elles proposent. Oui, casque AR/VR je pense à toi ! 2023 devrait enfin nous en montrer plus à ce sujet !

avatar stefhan | 

+1

avatar joneskind | 

Qu’en est-il de la version de Safari installée ?

Si j’ai bon souvenir, les web apps étaient la seule source de logiciel extérieur sur cet OS. Je serais donc curieux de voir ce que le JS de l’époque a permettait de faire.

avatar Link1993 | 

@joneskind

C'était iPhone OS 1.1. Cette proposition de webapp est passée avec iPhone OS 1.2 ou 1.3 de mémoire.

avatar iHac 45 | 

Moi ça me rappelle mon iPhone 3G blanc.

CONNEXION UTILISATEUR