Contexte de compatibilité de Windows 11
Windows 11, version 64 bits, ne propose plus le sous‑système NTVDM. Cette suppression empêche l’exécution native de programmes 16 bits, ce qui contraint la recherche à des exécutables 32 bits compatibles avec l’architecture x86‑64. Le mécanisme WoW64 (Windows on Windows 64) assure la traduction des appels système 32 bits vers le noyau 64 bits, mais il ne garantit pas la prise en charge de formats d’exécutable obsolètes ou de conventions d’appel non standard.
Analyse des exécutables compatibles
Le premier candidat identifié est FREECELL.EXE, issu du paquet Win32s et daté du 22‑févr‑1993. Ce fichier possède un en‑tête PE (Portable Executable) conforme aux spécifications actuelles, utilise la convention d’appel stdcall pour les API Windows, et dépend uniquement de DLL système présentes dans Windows 11 (user32.dll, kernel32.dll, etc.). Aucun ajustement du code n’est requis, ce qui explique son exécution immédiate.
Un second exemple, CDPLAYER.EXE, provient du build 347 de Windows NT 3.1, lié le 16‑nov‑1992. À cette époque, le runtime C était fourni par crtdll.dll. Windows 11 conserve encore ce DLL dans le répertoire SysWOW64, permettant à CDPLAYER d’accéder à ses fonctions d’entrée‑sortie sans crash. Le programme échoue initialement faute de lecteur CD, mais l’ajout d’un petit module cdemu.dll émule le matériel et rend la lecture audio possible.
push hwnd ; 4 bytes d'arguments
call [ShowWindow] ; Win11 ShowWindow est stdcall, termine par "ret 4"
add esp, 4 ; le code 1992 retire à nouveau les argumentsCe fragment illustre le problème rencontré avec les versions antérieures à mi‑1992, où la convention cdecl était encore utilisée. L’appel double de add esp,4 provoque un débordement de pile, entraînant un plantage sous Windows 11.
Limites et contournements
Les programmes 16 bits, comme REVERSI.EXE (15‑nov‑1985, Windows 1.01), restent inaccessibles sans émulateur. L’outil otvdm fournit une couche d’émulation NTVDM, mais son usage constitue un « cheat » hors du cadre de la compatibilité native. Ainsi, la frontière entre les applications réellement compatibles et celles nécessitant un environnement d’émulation reste nette.
En pratique, la capacité d’un exécutable à fonctionner sous Windows 11 dépend de trois critères : (1) un en‑tête PE reconnu, (2) l’usage de conventions d’appel standardisées (stdcall), et (3) la disponibilité des DLL système requises. Les programmes qui s’appuient sur des runtimes ou des pilotes disparus (ex. les versions antérieures à 1992 utilisant cdecl ou des bibliothèques graphiques propriétaires) ne survivent pas.
En résumé, le plus ancien logiciel graphique fonctionnant sans modification sur Windows 11 est FREECELL.EXE de 1993, suivi de près par CDPLAYER.EXE de 1992, à condition d’ajouter une émulation de lecteur CD. Tout logiciel antérieur nécessite une couche d’émulation supplémentaire.