Quando Microsoft costruiva hardware per Apple: la storia (quasi dimenticata) della Z-80 SoftCard

La Z-80 SoftCard fu il primo prodotto hardware di Microsoft, progettato per l’Apple II e capace di far girare il sistema operativo CP/M grazie a un ingegnoso equilibrio tra due CPU diverse.

Nel 1980, quando il nome Microsoft evocava un’azienda esclusivamente dedita al software, la società fondata da Bill Gates e Paul Allen presentò un progetto ambizioso: la Z-80 SoftCard, una scheda di espansione per Apple II che consentiva di eseguire il sistema operativo CP/M e il suo vastissimo ecosistema di applicazioni. Un dispositivo rivoluzionario, non solo per la sua funzione, ma anche per il suo significato storico: fu infatti il primo prodotto hardware mai realizzato da Microsoft, e divenne — sorprendentemente — la principale fonte di ricavi dell’azienda nel 1980. A rammentarlo, nell’anno del 45esimo anniversario della Z-80 SoftCard, è Raymond Chen, ingegnere software veterano di Microsoft, noto per aver lavorato su Windows sin dagli anni ’90 che oggi, dalle colonne del suo blog, ci delizia regolarmente con tante curiosità e dettagli poco noti sulla storia dell’azienda di Redmond.

Microsoft che costruisce ponti tra mondi diversi: Apple e PC Intel compatibili

L’Apple II, basato sul processore MOS 6502, era una macchina estremamente versatile ma tagliata fuori dal crescente universo del software sviluppato per CP/M, sistema operativo di riferimento per i computer professionali basati su CPU Intel 8080 o compatibili.

La SoftCard nasceva proprio per colmare questo divario: inserita in uno slot di espansione dell’Apple II, aggiungeva un processore Zilog Z80, compatibile con l’8080, permettendo così di avviare CP/M e utilizzare software fino ad allora inaccessibile, tra cui WordStar, dBase II e numerosi strumenti di programmazione.

In un certo senso, la SoftCard anticipò di decenni il concetto di compatibilità cross-platform, realizzandolo con puro ingegno elettronico e software a basso livello.

L’eleganza di un equilibrio impossibile

Come racconta Chen, la magia della SoftCard stava tutta nel far convivere due architetture radicalmente diverse. Il 6502 non poteva essere disattivato, poiché gestiva input/output e temporizzazioni essenziali per l’hardware dell’Apple II. Il Z80, d’altro canto, doveva acquisire “il predominio” sulla CPU host per eseguire il codice CP/M.

La soluzione ideata dai tecnici Microsoft fu un capolavoro di ingegneria: la scheda simulava un’operazione DMA (Direct Memory Access) per “mettere in pausa” temporaneamente il 6502 mentre il Z80 eseguiva codice.

Per evitare che il 6502 “perdesse i registri” in uso durante la fase di blocco, si sfruttava la linea REFRESH del Z80: quando quest’ultimo non accedeva alla memoria, la SoftCard permetteva al 6502 di “risvegliarsi” brevemente, mantenendo così il suo stato interno.

Quando il Z80 aveva bisogno del 6502, ad esempio per operazioni di I/O temporizzate, scriveva in una specifica area di memoria condivisa, inviando un comando che risvegliava la CPU nativa dell’Apple II. Questo scambio continuo tra le due CPU creava un meccanismo cooperativo di coesistenza, una danza di microsecondi tra due processori incompatibili che lavoravano come un’unica macchina ibrida.

Il problema della mappatura della memoria

Il secondo grande ostacolo fu la mappatura della memoria. Il 6502 e il Z80 avevano convenzioni di indirizzamento differenti: i primi 256 byte erano “riservati” in entrambi i casi, ma per scopi diversi. Inoltre, molte aree di memoria dell’Apple II erano già occupate da buffer video, ROM, periferiche e stack.

Per superare questi problemi, gli ingegneri Microsoft realizzarono una logica di traduzione degli indirizzi direttamente sulla scheda. Il risultato fu una mappa di memoria “virtuale” in cui le aree riservate al sistema Apple venivano spostate alle estremità dello spazio di indirizzamento dello Z80, consentendo a CP/M di percepire la presenza di una memoria continua e “pulita”.

Un’idea vincente che, in un certo senso, anticipava i concetti moderni di address translation e memory virtualization.

Un successo commerciale inatteso

La Z-80 SoftCard fu lanciata nel marzo del 1980 al prezzo di 350 dollari (circa 1.200 euro odierni). Il successo fu immediato: la domanda superò ogni aspettativa, al punto che Microsoft faticò a soddisfare gli ordini.

In quell’anno, le vendite della SoftCard superarono persino quelle dei prodotti software, trasformandola nella principale fonte di fatturato dell’azienda e consolidando la reputazione di Microsoft come fornitore di soluzioni a tutto tondo per il mondo PC.

Successi e cocenti sconfitte in ambito hardware

Microsoft non si sarebbe definita una “software and devices company” almeno fino al 2013. Tuttavia, la SoftCard dimostrò nei primi anni Ottanta che l’azienda aveva una visione sistemica del computing, dove hardware e software collaboravano per estendere i limiti dell’esperienza utente.

In seguito, prodotti hardware convincenti (ad esempio Microsoft Mouse nel 1983; Xbox nel 2001; Surface nel 2012; HoloLens nel 2016) si sono alternati a disfatte colossali.

Ci vengono in mente Zune (2006, il “killer dell’iPod” che non uccise nessuno), Kin (telefono social durato pochi giorni), i dispositivi Windows Phone e Lumia (2010, l’idea era ottima e la realizzazione molto buona ma le tempistiche furono sbagliate, con una scelta di app insufficiente), Surface RT (2012, l’equivoco del “quasi-Windows” basato su ARM), Windows 10X e Surface Neo (2020-2022), i dispositivi a doppio schermo della linea Surface Duo con Android (2020-2022), HoloLens 2.

L’immagine in apertura è di OlivierBerger – licenza CC BY-SA 4.0

Ti consigliamo anche

Link copiato negli appunti