Il microcontroller RP2040 è uno dei più versatili, flessibili e universalmente apprezzati. Utilizzando un’economica scheda Raspberry Pi Pico, equipaggiata appunto con il chip RP2040, un ricercatore indipendente ha sviluppato un progetto particolarmente entusiasmante, dall'”effetto nostalgia” assicurato.
Il progetto MicroMac scaturisce dall’idea di costruire un semplice sistema desktop dotato di interfaccia grafica. Perché non provare ad eseguire il sistema che “governava” il vecchio Macintosh su un microcontrollore moderno?
Macintosh 128K su Raspberry Pi: dai 7.500 dollari di un tempo ai 10 euro di oggi
Il Macintosh, lanciato oltre 40 anni fa, era una macchina innovativa, nonostante l’hardware semplice. Con solo 128 KB di memoria, era piuttosto limitato ma riusciva comunque a eseguire applicazioni utili nel “mondo reale”. La versione successiva, con 512 KB di memoria era sicuramente più adeguata, ma la versione da 128 KB conserva ancora oggi un fascino particolare per gli appassionati di retrocomputing e, ingenerale, della storia dell’informatica.
Guarda caso, Raspberry Pi Pico – acquistabile anche su Amazon Italia – integra 264 KB di SRAM. Più che sufficienti per emulare la memoria del Macintosh originale e gestire l’emulatore stesso. Inoltre, Pico assicura abilità USB host e può gestire l’output video VGA, permettendo di collegare tastiere, mouse USB e visualizzare un’interfaccia grafica su un monitor.
Hardware e software alla base del progetto MicroMac
L’ideatore del progetto MicroMac sottolinea che Raspberry Pi Pico offre inoltre 2 MB di memoria flash, più che adeguati per ospitare un’immagine con il sistema operativo e il software del Macintosh. L’hardware per il progetto, accanto alla scheda Pico, integra una resistenza da 100Ω per adattare i segnali video VGA e un connettore VGA recuperato altrove (il maker racconta di averlo addirittura trovarlo abbandonato in strada).
Il circuito è semplice, con il Pico che genera segnali video e gestisce input USB. Viceversa, è la parte software ciò che c’è di più impegnativo.
Il sistema messo a punto si basa sull’interprete Musashi 68K, implementazione C semplice da integrare. Le letture/scritture della CPU sono indirizzate verso RAM o ROM, con un registro di overlay che permette di avviare la ROM a un indirizzo basso per poi passare a un mirror in posizione più elevata.
MicroMac emula dispositivi come i chip VIA e SCC per tastiera, mouse e altre periferiche. “Patchando” la ROM, il ricercatore è riuscito a bypassare il floppy disk, previsto inizialmente sul Macintosh di quattro decenni fa.
Emulazione della CPU e ottimizzazioni
L’interprete Musashi 68K è semplice e modulare. Per ottimizzare le prestazioni sul Pico, il ricercatore ha creato una tabella delle istruzioni leggera per risparmiare RAM. Ha inoltre rimosso funzioni non strettamente necessarie per risparmiare spazio, cicli di clock e migliorare le performance.
Ottimizzazioni specifiche fanno leva su attributi di compilazione per copiare le funzioni più frequentemente utilizzate nella RAM veloce del Pico, migliorando significativamente la velocità di esecuzione del codice.
Display VGA e input USB
La generazione del segnale VGA è gestita tramite la PIO (Programmable Input/Output) del RP2040, un blocco hardware che consente di eseguire attività di I/O altamente personalizzabili e temporizzate con una latenza minima, fornendo un livello di flessibilità che va oltre le capacità dei normali GPIO. L’input da tastiera e mouse USB sfrutta invece TinyUSB, integrato nel firmware del Pico.
Questi componenti cooperano per emulare un sistema completo che può eseguire software Macintosh originale come MacDraw, MacWrite e MacPaint.
L’obiettivo di performance era raggiungere circa 1 MIPS, simile alla velocità del Macintosh originale. Attraverso le varie ottimizzazioni citate in precedenza, l’autore del progetto MicroMac è riuscito a ottenere circa 1,4 MIPS, con un’esperienza d’uso particolarmente fluida.
Niente male per un device come Raspberry Pi Pico che oggi costa circa 10 euro contro l’equivalente dei 7.500 dollari del Macintosh dell’epoca.
Con la documentazione disponibile, chiunque può costruire il proprio MicroMac e rivivere l’esperienza di utilizzare un Macintosh degli anni ’80.
Le immagini nell’articolo sono tratte dalla pagina del progetto.