Scambia il clock chip sul Mac SE/30 con un ATTiny85

Scambia il clock chip sul Mac SE/30 con un ATTiny85

Nodo di origine: 1895248

Come spiega [Phil Greenland] nel prima parte del suo eccellente articolo, la batteria al litio utilizzata per mantenere attivo l'orologio in tempo reale (RTC) sul Macintosh SE/30 ha la brutta abitudine di esplodere e di spargere le sue interiora corrosive su tutta la scheda. Cercando sia di riparare il danno su un sistema che aveva già avuto una batteria scarica sia di evitare del tutto il problema su schede intatte, ha iniziato a ricercare come sostituire la batteria con qualcosa di un po' più moderno.

<img data-attachment-id="571063" data-permalink="https://hackaday.com/2023/01/13/swap-the-clock-chip-on-the-mac-se-30-with-an-attiny85/macrtc_detail2/" data-orig-file="https://platoaistream.net/wp-content/uploads/2023/01/swap-the-clock-chip-on-the-mac-se-30-with-an-attiny85-1.jpg" data-orig-size="925,708" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}" data-image-title="macrtc_detail2" data-image-description data-image-caption="

Danni derivanti da una batteria RTC rotta.

” data-medium-file=”https://platoaistream.net/wp-content/uploads/2023/01/swap-the-clock-chip-on-the-mac-se-30-with-an-attiny85.jpg” data-large-file=”https://platoaistream.net/wp-content/uploads/2023/01/swap-the-clock-chip-on-the-mac-se-30-with-an-attiny85-1.jpg?w=800″ decoding=”async” loading=”lazy” class=”size-medium wp-image-571063″ src=”https://platoaistream.net/wp-content/uploads/2023/01/swap-the-clock-chip-on-the-mac-se-30-with-an-attiny85.jpg” alt width=”400″ height=”306″ srcset=”https://platoaistream.net/wp-content/uploads/2023/01/swap-the-clock-chip-on-the-mac-se-30-with-an-attiny85-1.jpg 925w, https://platoaistream.net/wp-content/uploads/2023/01/swap-the-clock-chip-on-the-mac-se-30-with-an-attiny85-1.jpg?resize=250,191 250w, https://platoaistream.net/wp-content/uploads/2023/01/swap-the-clock-chip-on-the-mac-se-30-with-an-attiny85-1.jpg?resize=400,306 400w, https://platoaistream.net/wp-content/uploads/2023/01/swap-the-clock-chip-on-the-mac-se-30-with-an-attiny85-1.jpg?resize=800,612 800w” sizes=”(max-width: 400px) 100vw, 400px”>

Danni derivanti da una batteria RTC rotta.

Si scopre che ATtiny85 è compatibile a livello di pin con il chip RTC originale del Mac e, in effetti, [Andrew Makousky] aveva già scritto del codice ciò consentirebbe al microcontrollore di emularlo. In realtà questo è un po' più complesso di quanto si possa immaginare, poiché il chip RTC originale svolgeva un doppio compito: conteneva anche 256 byte di memoria ad accesso casuale con parametri (PRAM), che è dove la macchina memorizzava bit assortiti di informazioni come quale unità da cui eseguire l'avvio e la velocità del cursore del mouse.

Ma dopo aver installato la mod, il computer si è rifiutato di avviarsi. Si scopre che il progetto prendeva di mira macchine precedenti come Macintosh Plus e SE, e non il suo SE/30 ad alte prestazioni. Grazie a risorse della comunità come questa Ricreazione KiCad della scheda madre dell'SE/30, documenti tecnici contemporanei e il suo fidato analizzatore logico, [Phil] è stato in grado di capire che i tempi erano sbagliati: il codice stava semplicemente lottando per rispondere alla macchina più veloce.

[Phil] ha fatto in modo che le cose funzionassero in gran parte inserendo gran parte del codice in un gestore di interruzioni, aumentando così il tempo di risposta. Ma funzionava su una linea molto sottile, solo con il nuovo codice ad appena i tempi rientravano nelle specifiche e occasionalmente si allontanavano e generavano un errore. Era abbastanza buono per rimettere in funzione la macchina, ma non era la soluzione a lungo termine che aveva sperato.

Non è finché non arriviamo al seconda parte di questa avventura retroinformatica che [Phil] finalmente risolva il caso. Si è reso conto che la soluzione per ottenere prestazioni migliori dall'ATtiny85 era sfruttare la sua interfaccia seriale universale (USI), generalmente utilizzata per le comunicazioni SPI e I2C. Fortunatamente, il protocollo RTC di Apple era abbastanza vicino a I2C da far sì che tutti parlassero la stessa lingua non sarebbe stato un problema. L'unico lato negativo era che aveva bisogno di usare un diverso set di spilli per farcela.

Alla fine, ha dovuto abbandonare il classico ATtiny8 in stile DIP-85 e progettare un piccolo PCB personalizzato attorno alla versione SOIC-8. Ciò non solo gli ha permesso di instradare i pin in modo diverso, ma gli ha permesso di aggiungere un oscillatore a cristallo esterno che vanta una risoluzione leggermente superiore rispetto alle funzionalità integrate del chip.

Abbiamo già visto hacker creativi (o semplicemente disperati). "re-pin" un ATtiny85 capovolgendo i cavi e aggiungendo fili bodge; un hack molto letterale che avrebbe potuto funzionare anche qui. Ma riteniamo che il PCB personalizzato valga lo sforzo extra per produrre una soluzione drop-in permanente altri possessori di Mac SE/30 può beneficiare di. Dopotutto, quello che alcuni considerano il miglior computer mai realizzato non merita di meno.

Timestamp:

Di più da Hackera un giorno