Échangez la puce d’horloge sur le Mac SE / 30 avec un ATTiny85

Comme [Phil Greenland] explique dans la première partie de son excellent article, la pile au lithium utilisée pour maintenir l’horloge en temps réel (RTC) sur le Macintosh SE/30 a la mauvaise habitude d’exploser et de laisser échapper ses entrailles corrosives partout. Cherchant à la fois à réparer les dommages sur un système dont la batterie avait déjà sauté et à éviter complètement le problème sur des cartes vierges, il a commencé à rechercher comment remplacer la batterie par quelque chose d’un peu plus moderne.

Dommages causés par une batterie RTC rompue.

Il s’avère que l’ATtiny85 est compatible avec la puce RTC d’origine du Mac, et en effet, [Andrew Makousky] avait déjà écrit du code qui permettrait au microcontrôleur de l’émuler. C’est en fait un peu plus complexe que vous ne le pensez, car la puce RTC d’origine remplissait une double fonction : elle contenait également 256 octets de mémoire à accès aléatoire (PRAM) de paramètres, où la machine stockait des informations assorties comme quel lecteur pour démarrer et la vitesse du curseur de la souris.

Mais après avoir installé le mod, l’ordinateur a refusé de démarrer. Il s’avère que le projet visait des machines antérieures comme le Macintosh Plus et SE, et non son SE/30 plus performant. Grâce aux ressources communautaires telles que cette recréation KiCad de la carte mère du SE/30, des documents techniques contemporains et son fidèle analyseur logique, [Phil] a pu comprendre que le timing était décalé – le code avait simplement du mal à répondre à la machine plus rapide.

[Phil] a fait fonctionner les choses en grande partie en poussant une grande partie du code dans un gestionnaire d’interruptions, augmentant ainsi le temps de réponse. Mais il fonctionnait sur une ligne très fine, le nouveau code seulement seulement a obtenu le timing dans les spécifications, et parfois il dériverait et entraînerait une erreur. C’était suffisant pour remettre la machine en marche, mais ce n’était pas la solution à long terme qu’il espérait.

Ce n’est que lorsque nous arrivons à la deuxième partie de cette aventure de rétroinformatique que [Phil] finit par craquer l’affaire. Il s’est rendu compte que la solution pour obtenir de meilleures performances de l’ATtiny85 était de tirer parti de son interface série universelle (USI), qui est généralement utilisée pour les communications SPI et I2C. Heureusement, le protocole Apple RTC était suffisamment proche de I2C pour que tout le monde parle la même langue ne serait pas un problème. Le seul inconvénient était qu’il devait utiliser un jeu de broches différent pour le retirer.

En fin de compte, il a dû abandonner le classique ATtiny85 de style DIP-8 et concevoir un minuscule PCB personnalisé autour de la version SOIC-8. Cela lui a non seulement permis d’acheminer les broches différemment, mais lui a également permis de virer sur un oscillateur à cristal externe qui offre une résolution un peu plus élevée que les installations intégrées de la puce.

Nous avons déjà vu des hackers créatifs (ou simplement désespérés) « ré-épingler » un ATtiny85 en retournant les fils et en ajoutant des fils bodge ; un hack très littéral qui aurait pu aussi fonctionner ici. Mais nous pensons que le PCB personnalisé valait l’effort supplémentaire pour produire une solution permanente dont les autres propriétaires de Mac SE/30 peuvent bénéficier. Après tout, ce que certains considèrent comme le meilleur ordinateur jamais conçu ne mérite rien de moins.

François Zipponi
Je suis François Zipponi, éditorialiste pour le site 10-raisons.fr. J'ai commencé ma carrière de journaliste en 2004, et j'ai travaillé pour plusieurs médias français, dont le Monde et Libération. En 2016, j'ai rejoint 10-raisons.fr, un site innovant proposant des articles sous la forme « 10 raisons de... ». En tant qu'éditorialiste, je me suis engagé à fournir un contenu original et pertinent, abordant des sujets variés tels que la politique, l'économie, les sciences, l'histoire, etc. Je m'efforce de toujours traiter les sujets de façon objective et impartiale. Mes articles sont régulièrement partagés sur les réseaux sociaux et j'interviens dans des conférences et des tables rondes autour des thèmes abordés sur 10-raisons.fr.