Dans la famille des 68000, Apple a utilisé une partie des puces (68000, 68020, 68030 et 68040) mais pas le 68060, le plus rapide des processeurs de la famille (il n’y a pas de 68050). La question d’utiliser un 68060 dans un Macintosh traîne depuis longtemps – j’en avais parlé en 2018 -, mais il n’y avait rien eu de concret jusqu’à maintenant. Car ZigZagJoe a en effet réussi à démarrer un Mac avec un 68060.
Le 68060 est un processeur Motorola qui succède au 68040. Il est plus performant, superscalaire (à la manière du Pentium), a une prédiction de branchement (ce qui améliore les performances) et fonctionne généralement avec un bus doublé, à la manière des 486 DX2. Le 68060 est à peu près compatible avec le 68040 sur le papier, et permet de réellement d’améliorer les performances : il fonctionne avec un multiplicateur, en plus d’être plus efficace à fréquence identique. Dans un Mac avec un 68040 à 33 MHz, il fonctionne donc à 66 MHz. Pourquoi est-ce que j’indique « à peu près » ? Parce qu’il faut un adaptateur physique et quelques modifications logicielles.
Pour la partie physique, il existe des adaptateurs. La raison principale, c’est un peu la même que pour les derniers 486 : le processeur fonctionne avec une tension de 3,3 V quand le 68040 est en 5 V. Donc il faut un régulateur de tension, et modifier quelques broches pour activer le multiplicateur, de ce que j’ai compris. Il faut aussi un dissipateur, vu que le processeur tourne quand même entre 40 et 80 MHz (en fonction des cas). Et le 68060 est (super) cher aussi. Je me plaignais du prix en 2018, où il fallait parfois débourser plus de 100 €, on est largement au-delà de 300 € en 2025 pour le même, dans sa version avec un FPU intégrée, et il y a le risque d’avoir une contrefaçon avec un CPU remarqué.
ZigZagJoe est passé par la méthode que j’avais évoqué en 2018 : une ROM programmable pour un Mac. Il en avait développé une, ça aide. La raison pour laquelle il faut une ROM vient de la façon dont Motorola a développé son processeur. Il n’a pas exactement le même jeu d’instructions que le 68040, avec quelques instructions en moins. C’est expliqué avec plus de détails dans le post sur 68KMLA mais en gros, Motorola proposait le code nécessaire pour effectuer les modifications logiciellement. Quand le code d’une application demande une instruction qui n’est pas gérée, la ROM l’intercepte pour passer sur une instruction qui fonctionne avec le 68060. C’est une solution qui peut être effectuée logiciellement sur les Amiga (qui ont des cartes accélératrices à base de 68060 depuis un moment) mais pas sur les Macintosh. Pour que ça fonctionne, le code doit être en ROM, ce qui nécessite une ROM modifiable.
ZigZagJoe a commencé le travail en question et c’est disponible en open source sur GitHub. Sa démonstration est sur un Quadra 650 (un modèle avec un 68040 à 33 MHz, donc un 68060 à 66 MHz) mais du coup, ça doit passer aussi sur le Centris 650, identique mais avec un 68040 à 25 MHz. Il est aussi peut-être possible d’installer un 68LC060, qui est une version sans FPU. En plus du Mac précis, il faut aussi l’adaptateur, un 68060 (logique) et une ROM programmable, donc. Pour le moment, le Mac démarre parfaitement sous System 7.1.
Questions performances, c’est encore du développement mais le CPU est deux fois plus rapide que le 68040 dans des benchmarks. Il explique que la prédiction de branchement ne fonctionne pas encore, que la FPU n’est pas utilisable (il y a encore des adaptations à effectuer) et que certains résultats sont un peu faibles parce que la mémoire de son Macintosh a un problème. La pile a coulé et emporté une partie de la RAM intégrée, ce qui réduit les performances (le Quadra 650 a 8 Mo de RAM directement sur la carte mère).
Il y a donc encore du travail pour adapter complètement la ROM, mais ça reste intéressant, même si c’est un peu inutile. Parce que ça arrive trente ans trop tard : un Power Macintosh peut émuler du code 68K nettement plus rapidement qu’un 68040 ou même un 68060 (si vous avez un CPU rapide) et les applications qui ne fonctionnent pas sur les PowerPC sont rares. Mais ça reste amusant à voir et ça peut amener des gains dans des cas précis. Et en pratique, ça nécessite quand même pas mal de matériel : un adaptateur, un CPU (c’est cher) et une ROM programmable. Enfin, il va probablement falloir aussi adapter le code aux autres ROM de Macintosh 68K, ce qui n’est a priori pas simple.







Merci Pierre!
Un truc de vieux, je partirais sur une boot ROM installée sur l’adaptateur, façon RootKit virtualisant certains services.
Au pire dans ce cas, on peut intercepter les traps 68K pour la FPU, moins rapide que du natif évidemment, mais bien plus que son émulation logicielle, et portable sur les machines avec des ROM ne supportant pas la FPU.
Certes pas facile.
Sur amiga il y a même le 68080 maintenant, en FPGA.
Apparemment + compatible avec le 040 que le 060.
Mais contrairement aux mac, c’est une machine qui n’a pas connu le PPC dans son ère commerciale, donc le 68k y est beaucoup moins inutile.