Contexte historique
Copland était le projet d’Apple visant à remplacer System 7 par un système d’exploitation à base de micro‑noyau. Le projet a été abandonné en 1996, Apple ayant acheté NeXTSTEP, qui a donné naissance à macOS X. Le build D11E4, publié en 1995, représente la dernière version fonctionnelle du noyau Copland et n’a jamais été disponible en émulation officielle.
Architecture et exigences de Copland
Copland repose sur un micro‑noyau PowerPC, séparant le gestionnaire de mémoire, le planificateur de tâches et les services système en modules distincts. Cette séparation impose un démarrage séquentiel où le chargeur charge d’abord le micro‑noyau, puis les serveurs de fichiers et enfin l’interface graphique. Le système nécessite 11 correctifs spécifiques pour débloquer le code de démarrage, ces correctifs étant fournis dans le dépôt GitHub de l’auteur sous forme de commits détaillés. Sans ces patches, le chargeur s’arrête sur une assertion et entre en mode débogage.
Emulation WebAssembly avec DingusPPC
Le développeur Michael Steil a intégré le dernier build D11E4 dans DingusPPC, un émulateur PowerPC compilé en WebAssembly (wasm). Le code wasm s’exécute dans le navigateur, offrant une interface graphique où le clic active le clavier et la souris, et la touche Esc les désactive. Le temps de démarrage sur du matériel moderne correspond à celui d’un Mac PowerPC réel, soit environ 30 secondes. La traduction du code machine PowerPC en wasm repose sur une couche d’interprétation JIT qui conserve les cycles d’horloge virtuels, expliquant la synchronisation temporelle.
Performances et limites
Le principal avantage de l’émulation wasm est la capacité à reproduire le comportement temps‑réel sans accès matériel. Cependant, la précision dépend de la puissance du processeur hôte : les systèmes à faible fréquence peuvent dépasser les 30 s de boot. De plus, les 11 patches nécessaires ne sont pas générés automatiquement ; ils doivent être appliqués manuellement depuis la branche du fork, ce qui limite la reproductibilité. Enfin, l’émulateur ne supporte pas les extensions matérielles spécifiques aux cartes graphiques PowerPC, ce qui empêche l’exécution de certaines applications 3D de Copland.