// CLUBIC — INTELLIGENZA ARTIFICIALE
Windows 1.1a : ce développeur vient de porter Microsoft Word de 1990 sur les systèmes x64
Le développeur Justin Marshall a publié un portage natif de Word pour Windows 1.1a, une version du traitement de texte Microsoft sortie en 1990 sous le nom de code Opus. Le projet s'appuie sur le code source original et fonctionne sans émulation sur les systèmes Windows 64 bits actuels.
Microsoft avait partagé le code source de Word for Windows 1.1a avec la communauté en 2014. Alors que les éditions récentes du logiciel de Microsoft s'enrichissent toujours plus de Copilot, le développeur revient aux fondamentaux pour les nostalgiques d'une version bien plus épurée.
Le projet ne repose ni sur une émulation, ni sur une machine virtuelle, ni sur une réécriture avec un éditeur de texte moderne. Le développeur s'est basé sur le code C original de Word pour Windows 1.1a ainsi que ses fichiers de ressources. Il explique que le principal obstacle venait de la gestion de la mémoire. Les programmes Windows 16 bits organisaient leurs données en segments limités à 64 Ko chacun, une contrainte disparue avec les systèmes 64 bits actuels, qui utilisent un espace d'adressage continu et beaucoup plus large. Il ne pouvait donc pas simplement recompiler le code d'origine.
Une partie du code de Word for Windows 1.1a était écrite en assembleur, un langage de programmation proche des instructions exécutées directement par le processeur, ici calibré pour les puces 16 bits des années 1980. Ce code ne fonctionne plus sur les processeurs 64 bits actuels. Marshall l'a remplacé par des équivalents modernes. Il a aussi réécrit les appels à l'API Windows, l'ensemble des fonctions standardisées utilisées pour afficher une fenêtre, ouvrir un fichier ou dessiner un menu. L'ancienne interface Win16 a ainsi cédé la place à son équivalent actuel, Win32.
Les éléments visuels comme les boîtes de dialogue, les curseurs ou les bitmaps (images fixes) sont habituellement stockés dans des fichiers de ressources séparés, puis intégrés au programme lors de la compilation. Les outils utilisés en 1990 pour préparer ces ressources ne fonctionnent plus avec les chaînes de compilation actuelles. Marshall les a donc reconstruites à l'identique avec des outils Windows natifs, pilotés par CMake, un logiciel qui automatise la compilation d'un projet. Le code assembleur d'origine n'a pas disparu pour autant. Sur la page GitHub, Marshall précise que CMake continue de le recenser sans l'intégrer au programme final. Il peut être consulté à titre de référence, tandis que seules les portions réécrites pour l'architecture x64 sont compilées et exécutées.