Chi, per passione o per ragioni professionali, segue il mondo dell'elettronica e dei microcomputer, avrà sicuramente sentito parlare dell'Apple II, il primo vero successo commerciale della (allora) neonata casa di Cupertino. I due fondatori, Steve Jobs e Steve Wozniak, diedero infatti vita a un computer che, prodotto in oltre cinque milioni di esemplari durante la sua longeva carriera, permise l'introduzione dei calcolatori non solo negli ambienti professionali, ma anche e soprattutto in ambito domestico, con la nascita del cosiddetto "home computer". Da quel lontano 1977, data che segnò il debutto del primo Apple II (o meglio, Apple ][), di anni ne sono passati davvero tanti. Perchè allora non ridare vita al blasonato Apple II, almeno a livello di emulazione hardware, utilizzando la nota e diffusissima board Arduino Uno Rev3? C'è qualcuno che non solo ha pensato di farlo, ma addirittura si è cimentato nell'impresa, ottenendo risultati più che lusinghieri. Scopriamo come nell'articolo.
Introduzione
A Steve Wozniak, co-fondatore insieme a Steve Jobs della Apple Computer Inc., vanno senza alcun dubbio i principali meriti nella progettazione del computer Apple II. Secondo Wozniak stesso (soprannominato familiarmente "Woz"), il computer ideale doveva essere "piccolo, affidabile, semplice da usare, ed economico". Sono stati proprio questi i fattori chiave che hanno guidato la progettazione e lo sviluppo di questo microcomputer, considerato da molti un vero e proprio capolavoro di efficienza e riduzione dei costi.
Il suo predecessore, l'Apple I, era stato progettato sempre da Wozniak due anni prima, nel 1975. Si trattava più che altro di un prototipo, venduto inizialmente tramite "passaparola" in una ristretta cerchia di amici e conoscenti, e successivamente distribuito presso qualche rivenditore selezionato nello stato della California. L'Apple II aveva invece tutte le carte in regola per candidarsi a una vera e propria distribuzione di massa, con volumi di produzione e vendita mai raggiunti prima di allora. Oltre ad una attenta, e per certi versi geniale, fase di progettazione, Apple cominciò anche a introdurre la de-localizzazione della produzione, sempre nell'ottica globale di riduzione dei costi. L'Apple II utilizzava una manciata di componenti, ed era probabilmente il primo microcomputer ad integrare su una stessa board tutte le unità funzionali: CPU, memoria, alimentazione, e interfacce di input/output. Le prime schede furono prodotte in California e in Texas, ma successivamente, con il crescere dei volumi di vendita, la produzione fu spostata a Singapore e in Irlanda.
Il cuore dell'Apple II era rappresentato dal microprocessore 6502, prodotto da MOS Technology, con frequenza di funzionamento pari a 1,023 MHz. Il microcomputer era tutto racchiuso all'interno di un case molto compatto realizzato in plastica (progettato da Steve Jobs stesso), come visibile nell'immagine seguente. Il sistema utilizzava un interprete BASIC residente su memoria ROM, era dotato di un'uscita grafica in grado di operare sia in modalità testo che grafica (anche a colori), memoria RAM espandibile fino a 48 Kb, ed era equipaggiato con una tastiera ASCII. Come memoria di massa utilizzava un normale registratore a cassette, e non mancavano accessori per il gaming, rappresentati dai tipici "game paddle" in voga a quei tempi.
Le specifiche tecniche del microcomputer possono essere così riassunte:
- CPU: microprocessore MOS 6502 (1 MHz);
- Display Video: mappato in memoria, con diverse modalità operative, tutte selezionabili via software:
- modalità testo: 24 linee da 40 caratteri ciascuna, con caratteri solo maiuscoli;
- modalità grafica a colori di base: 40 pixel in orizzontale per 48 pixel in verticale, 15 colori;
- modalità grafica ad alta risoluzione: 280 pixel in orizzontale per 192 pixel in verticale, colori nero, bianco, violetto, e verde (richiede almeno 12 Kb di memoria RAM);
- è possibile selezionare entrambe le modalità grafiche, includendo 4 linee di testo nella parte bassa del display.
- Memoria RAM: 4 Kb, espandibile fino a 48 Kb. L'hardware è stato progettato sin dall'inizio per supportare sia i moduli di memoria a 4 Kb, che i moduli di memoria dinamica a 16 Kb;
- Memoria ROM: 8 Kb, espandibili fino a 12 Kb;
- Interprete BASIC esteso, residente in ROM, con comandi specifici per la gestione della grafica;
- Monitor esteso residente in memoria ROM;
- Interfaccia di I/O per registratore a cassette, con data rate pari a 1500 bps;
- Scheda madre con 8 slot di espansione. Sicuramente un'intuizione geniale da parte di Wozniak, in quanto permetteva di utilizzare schede di espansione o periferiche realizzate anche da terze parti;
- Connettore di I/O per game controller Apple;
- Porta per tastiera ASCII;
- Altoparlante;
- Uscita video composito, in grado di pilotare direttamente un monitor oppure un comune televisore (tramite l'aggiunta di modulatore RF opzionale).
Il MOS 6502
Qualche nota merita il processore MOS 6502, la CPU scelta da Apple come cuore dell'Apple II. Si trattava di un processore a 8 bit (con bus indirizzi a 16 bit) progettato nel 1975 dall'azienda MOS Technology, una startup fondata da alcuni ingegneri fuorisciti da Motorola, gli stessi che contribuirono alla realizzazione del processore 6800. [...]
ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 3313 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.
Un bel lavoro di software, a dir poco abbastanza elaborioso, per emulare il famoso Apple. Con l’arduino è stato anche fatto un bel lavoro di emulazione relativamente al commodore 64.
buonasera
sono abbonato, ma non riesco a leggere il contenuto di questo articolo,
dove sto sbagliando?
grazie x assistenza
saluti
LQuadri
Salve Lucio, hai un abbonamento Premium Annuale. L’articolo in questione, essendo un contenuto Firmware, è invece riservato agli abbonati Platinum!
Veramente bello come progetto. mi chiedo se usa l’uscita TVOut per l’uscita video
No Francesco, usa una finestra su app terminale interna al computer domestico per funzionare, non ha usicta a video rca etc nello sketch. penso si possa programmare con un puo di pazienza e un piccolo circuito tv out rca collegato tra Arduino uno e TV.