Un computer del 1982 con 48 KB di RAM, processore a circa 3,5 MHz e una gestione video che sottrae cicli alla CPU mentre disegna lo schermo non sembra il candidato ideale per eseguire un ambiente grafico con finestre sovrapposte, menu, file manager, applicazioni e gestione dinamica della memoria. Eppure è esattamente ciò che fa ZXDesk, un progetto open source scritto interamente in assembly Z80 che porta sullo ZX Spectrum 48K qualcosa di sorprendentemente vicino al concetto di desktop che sarebbe diventato comune soltanto negli anni successivi.
L’autore del progetto ha documentato con precisione le scelte architetturali, le misurazioni effettuate sull’hardware reale e soprattutto i limiti incontrati nel tentativo di far stare un’interfaccia grafica completa dentro una macchina che dispone di meno memoria di quanta ne occupi oggi una singola icona ad alta risoluzione.
C’è poi una coincidenza storica che rende ZXDesk ancora più interessante: il processore alla base dello ZX Spectrum è lo Zilog Z80, una CPU la cui architettura fu concepita da Federico Faggin, che ne diresse lo sviluppo dopo aver lasciato Intel e fondato Zilog insieme a Ralph Ungermann. Masatoshi Shima ebbe un ruolo centrale nella progettazione del chip ma è a Faggin che va la concezione e l’architettura dello Z80, oltre alla direzione del relativo sviluppo.
Cinquant’anni dopo la nascita dello Z80, quel processore continua quindi a essere terreno di sperimentazione. E proprio Faggin, nel 2026, è tornato frequentemente sulle prime pagine per motivi molto diversi: il suo interesse si è ormai spostato dalla costruzione delle macchine alla domanda su ciò che, secondo lui, una macchina non potrà mai diventare.
ZXDesk: un ambiente grafico completo dentro 48 KB
ZXDesk nasce da un’idea che il suo autore racconta di avere avuto già negli anni ’80. Avrebbe voluto un Atari ST, con il suo ambiente grafico GEM, ma possedeva uno ZX Spectrum. La domanda era inevitabile: quanto di quell’esperienza sarebbe stato possibile ricreare sulla macchina Sinclair?
Il progetto rimase incompiuto allora ed è stato ripreso molti anni dopo. Il risultato attuale comprende finestre sovrapposte e ridimensionabili, ordinamento Z, gestione del focus, menu a tendina, finestre di dialogo, controlli grafici, coda degli eventi, heap, livello di astrazione per lo storage, blocco note, orologio, calendario, file manager a due pannelli e impostazioni persistenti. Non è una simulazione che funziona soltanto grazie alla potenza di un PC moderno: ZXDesk può essere eseguito sullo ZX Spectrum reale.

Scrivere una GUI all’interno di un emulatore potrebbe consentire qualche scorciatoia: ZXDesk deve invece fare i conti con le stesse limitazioni hardware che affrontavano i programmatori dell’epoca: memoria contesa, disposizione poco lineare della memoria video, timing della ULA (tempi con cui il chip video dello Spectrum accede alla memoria e genera l’immagine sullo schermo), interrupt e pochissimi kilobyte disponibili.
L’heap principale, cioè l’area di memoria che il sistema usa per allocare dinamicamente dati e strutture durante l’esecuzione, ad esempio, dispone di appena 8.112 byte. Da lì ZXDesk deve ricavare anche i buffer necessari alle finestre. Il sistema conserva inoltre quattro superfici temporanee utilizzate per ripristinare le porzioni dello schermo coperte da menu e altri elementi dell’interfaccia.
Un piccolo ambiente automatico di test
Davvero curioso è vedere tecniche tipiche dello sviluppo contemporaneo applicate a un software per ZX Spectrum. Il repository di ZXDesk contiene una routine Python, zxtest.py, capace di caricare il codice prodotto dalla compilazione, eseguire istruzioni Z80 e verificare direttamente lo stato della memoria.
Non sostituisce però i test con l’emulatore Fuse o con uno ZX Spectrum reale, perché esegue il codice Z80 senza riprodurre in modo completo tutto ciò che accade attorno alla CPU. È comunque molto utile per controllare automaticamente che singole routine producano i risultati attesi in memoria e nei registri, individuando errori senza dover ogni volta avviare il sistema e verificare manualmente ciò che compare sullo schermo.
ZXDesk può inoltre ricevere eventi di input sintetici: una sequenza come apertura di un menu, selezione di una voce, trascinamento di una finestra, digitazione e salvataggio può quindi essere riprodotta sempre nello stesso modo.
La distanza temporale tra hardware e metodologia di sviluppo rende il progetto particolarmente interessante: non si tratta semplicemente di scrivere software “come si faceva una volta“, ma di affrontare una macchina degli anni ’80 usando anche strumenti e criteri di verifica moderni.
Dentro ZXDesk c’è lo Z80 di Federico Faggin
Faggin lasciò Intel alla fine del 1974 dopo aver lavorato a processori destinati a cambiare l’informatica, tra cui il 4004 e l’8080.
In Zilog, lo Z80 nacque con l’obiettivo di conservare la compatibilità software con l’8080 aggiungendo però registri, istruzioni, modalità di indirizzamento e altre funzionalità. Il risultato arrivò sul mercato nel 1976 e sarebbe diventato una delle CPU a 8 bit più diffuse della storia.
Lo stesso Faggin, in una lunga testimonianza conservata dal Computer History Museum, ha ricordato come l’architettura Z80 rappresentasse un salto significativo rispetto all’8080, pur proteggendo gli investimenti software esistenti attraverso la compatibilità.
Fu esattamente questa combinazione tra compatibilità, prestazioni, semplicità del sistema e ricchezza dell’instruction set a favorirne la diffusione.
Vedere nel 2026 un desktop grafico con heap, eventi, finestre, applicazioni e file manager funzionare su quella stessa architettura è quindi quasi una dimostrazione retroattiva di quanto margine progettuale contenesse il chip.
Federico Faggin oggi: dai microprocessori alla coscienza
Il nome di Faggin, però, è tornato molto spesso sui media nel 2026 per ragioni completamente diverse.
Da tempo il fisico vicentino dedica gran parte della propria attività allo studio della coscienza e del libero arbitrio, sostenendo una posizione molto distante dalle interpretazioni computazionali della mente.
Il 19 settembre 2026, intervenendo allo Human Driven AI Summit di Pompei, Faggin ha ribadito la propria tesi: coscienza ed etica non sarebbero riproducibili mediante algoritmi. Secondo Faggin, un sistema di AI può elaborare informazioni e simboli, ma ciò non equivale all’esperienza cosciente associata al loro significato.
Che gli attuali modelli di AI non forniscano una dimostrazione scientifica dell’esistenza di una coscienza artificiale è un’affermazione molto diversa dal sostenere che la coscienza non possa esistere in nessuna macchina possibile. Quest’ultima è una delle conclusioni centrali del pensiero sviluppato da Faggin e non rappresenta una conclusione universalmente accettata dalla comunità scientifica.
Faggin propone infatti un modello molto più ampio nel quale la coscienza assume un ruolo fondamentale nella descrizione della realtà e viene collegata alla meccanica quantistica. Le sue tesi si collocano quindi sul confine tra fisica, filosofia della mente e ricerca sulla coscienza e rimangono oggetto di discussione.
Per Faggin il computer manipola simboli, l’uomo comprende significati
Nei suoi interventi recenti Faggin insiste soprattutto sulla differenza tra informazione simbolica ed esperienza. L’ingegnere
A settembre, durante un evento a Sandrigo (Vicenza), ha sintetizzato nuovamente il concetto sostenendo che il computer tratta simboli mentre per l’essere umano ciò che conta è il loro significato.
Un LLM (Large Language Model) può produrre frasi semanticamente coerenti, collegare concetti, rispondere a domande e risolvere problemi. Da ciò, tuttavia, non consegue automaticamente che possieda un’esperienza soggettiva associata alle rappresentazioni che manipola.
Il problema riguarda uno dei nodi più difficili delle neuroscienze e della filosofia della mente: stabilire cosa significhi realmente “comprendere” (per questo noi abbiamo sempre messo questi verbi tra doppie virgolette…) e soprattutto trovare un criterio osservabile capace di distinguere una sofisticatissima elaborazione dell’informazione da un’esperienza cosciente.
ZXDesk finisce così per raccontare involontariamente anche qualcosa della storia di Faggin. Lo Z80 rappresenta l’informatica nella sua forma più concreta: registri, cicli macchina, indirizzi, bus, memoria e interrupt.
La CPU sulla quale funziona ZXDesk deriva dal lavoro di un uomo che mezzo secolo fa cercava di inserire sempre più capacità di calcolo dentro pochi millimetri di silicio. Oggi quello stesso uomo sostiene che, indipendentemente da quanto potente possa diventare il calcolo, esista qualcosa nell’esperienza umana che non può essere “concentrato” in un algoritmo.
L’immagine di copertina è creata con un modello generativo (AI) avvalendosi anche di questa immagine (CC BY-SA 3.0).