Emulare il classico ZX Spectrum non è difficile oggi. La comunità ha documentato completamente questo computer, e possiamo persino ottenere pezzi per riparare i sistemi originali, ma se ciò che ci interessa è solo l'ambiente, ci sono diverse opzioni disponibili. Tuttavia, «atomic14» su YouTube ha deciso di esplorare un'altra strada: eseguire l'emulazione usando un microcontrollore a basso costo come l'ESP32, con un PCB personalizzato che assume anche il ruolo di tastiera.
Un po' di storia: lo ZX Spectrum debuttò il 23 aprile 1982, quattro mesi prima del Commodore 64. Intere generazioni di professionisti hanno avuto lo Spectrum come «primo computer», e oltre ai suoi problemi originali (dalla tastiera di gomma alla distribuzione dell'hardware), ha venduto più di cinque milioni di unità.
Oggi, lo ZX Spectrum non è solo un sistema essenziale per qualsiasi collezionista, ma anche un grande progetto per affinare le nostre abilità nell'emulazione e nel design. Così arriviamo al canale di «atomic14» (che ricordiamo per il suo programmatore ESP32 minimalista e le sue partite di Doom con ricarica wireless), che ha recentemente presentato l'ESP32-S3 ZX Spectrum.
Emulazione di ZX Spectrum su un ESP32, con tastiera integrata
Ci sono ancora alcuni dettagli da risolvere, e «atomic14» ammette di aver commesso un paio di errori nel design, ma non sembra un prototipo, per quanto sia ben fatto. La nuova stampa dei silkscreen colorati di PCBWay ha un alto livello di precisione, e con una semplice custodia, questo «computer» sarebbe pronto per l'uso. Come suggerisce il nome, l'ESP32-S3 ZX Spectrum utilizza un microcontrollore ESP32-S3, che oltre a collegarsi direttamente via USB, può anche elaborare tutti i segnali della tastiera (servono 13 pin tattili, e ne ha 14).
La scheda microSD contiene tutti i giochi compatibili con lo ZX Spectrum (una è più che sufficiente), e il PCB include un circuito di ricarica per collegare una batteria e rendere il dispositivo portatile. Qual è il prossimo passo? Tre sfide: correggere i problemi della tastiera (alcune combinazioni di tasti non vengono registrate correttamente), offrire un'opzione di compatibilità per collegare diversi schermi (magari sotto forma di un breakout), e un suggerimento personale... includere un interruttore per spegnere l'altoparlante. I suoni a un bit non sono per tutti...