Tempi inemulabili

Mele e appunti

In questi giorni, in molti blog autorevoli, si è parlato di iPhone, del problema di iTunes Store e le suonerie, di iPod touch (Macworld USA ha messo in linea alcune foto che mostrano un confronto fra lo schermo dell’iPhone e quello dell’iPod touch: pare che la qualità e la resa del primo siano superiori al secondo), e via dicendo. In merito a questi argomenti non ho gran che da aggiungere. John Gruber ha già detto quel che c’è da dire sul problema delle suonerie, per esempio, e sono d’accordissimo con lui.

Invece oggi ho voglia di fare un tuffo nel passato, all’epoca del Commodore 64 e dei giochi per le macchine a 8 bit.

Ventidue anni fa circa, quando mi fu regalato il Commodore 64, fui naturalmente intrigato dall’enorme biblioteca di giochi allora disponibili, ma anche dalla programmazione che vi era dietro. Avevo solo 14 anni, ma mi affascinava moltissimo cercare di capire come i giochi e gli applicativi più seri venissero creati e, spesso (molto più spesso, forse, di quanto accada ora) portati da e verso molte altre piattaforme (Sinclair Spectrum, Apple II, Atari, Texas Instruments, ecc.).

Il mio buon vecchio C64, dopo un paio di interventi chirurgici, tirò definitivamente le cuoia nel 1992, e a malincuore vendetti le varie periferiche (joystick, registratore a cassette, unità floppy, monitor). Poi, qualche anno fa, la riscoperta e il revival di quel mondo grazie agli emulatori. Power64 è stata una benedizione. Scaricato, provato e subito comprato. È a mio avviso il miglior emulatore di C64 per il Macintosh (PowerPC) in circolazione. Ho potuto, a distanza di anni, rivedere e riutilizzare il mitico GEOS.

Dell’altro giorno è invece la scoperta di un ottimo sito Web, vero punto di riferimento dell’universo Commodore 64: Lemon64. Qui è possibile sfogliare un nutrito database di giochi, entrare nel forum e interagire con molti altri appassionati, leggere recensioni dei giochi (sia quelle scritte di recente dagli utenti del sito, sia quelle di vent’anni fa, direttamente dalle pagine scansionate di una rivista-culto del mondo C64, Zzap! [Qui il sito Web] ), leggere interviste con gli sviluppatori di molti dei giochi che ci hanno entusiasmato, e molto altro.

Compulsando Lemon64, ho trovato la recensione di uno dei tanti giochi a cui giocavo, Sammy Lightfoot, scritta dall’autore del gioco stesso, Dean Creehan (per l’esattezza, Creehan è l’autore della versione per C64). Trovo che sia una testimonianza interessante di come venivano sviluppati i giochi nei primi anni Ottanta, e di come venivano risolti i problemi legati al porting verso altre piattaforme. Ho pensato di tradurla e di condividerla qui.

Ho programmato questo gioco nel 1983. A quei tempi, il metodo con cui si scrivevano giochi per più piattaforme era il seguente: una persona scriveva il gioco su una macchina, altri ricevevano copie provvisorie del gioco, vi giocavano sulla piattaforma nativa, per poi scrivere un programma su un’altra piattaforma che fosse il più possibile fedele all’essenza del gioco originario.

In merito a questo gioco [Sammy Lightfoot], Warren Schwader ne mandava periodicamente una copia giocabile su un Apple II. Non ricevevamo il codice sorgente, e io non sono mai riuscito a parlare con Warren. Pertanto mi presi alcune libertà con lo stile della grafica del gioco. La parte più frustrante di tutto il processo era ricevere una copia aggiornata del gioco e constatare che Schwader aveva modificato parti già codificate e funzionanti.

All’epoca non esisteva un compilatore assembly per il C64, quindi utilizzammo un setup insolito che prefigurava l’approccio moderno di Windows alla programmazione. Il codice veniva scritto sull’Apple in un programma chiamato Lisa e ivi compilato, poi lo si scaricava sul Commodore attraverso la porta stampante. Ciò era possibile perché entrambe le macchine montavano il microprocessore 6502. Se si usavano due monitor, il vantaggio di questo setup era la possibilità di far girare il gioco e modificare il codice allo stesso tempo. Una soluzione piuttosto avanzata per i tempi.

Una cosa che occorre tener presente è che quando scrissi questo gioco mi fu permesso di utilizzare solo 16 KB per l’intero codice, la grafica e il suono. Ciò perché il tutto doveva stare in un cartridge. Ogni cosa doveva essere scritta e riscritta affinché occupasse sempre meno spazio. Invece di memorizzare l’elemento grafico rappresentante una sponda o una piattaforma, per esempio, ne conservavo una piccola porzione e registravo il numero di volte che bisognava replicarla. Se avessi saputo che il gioco sarebbe stato disponibile su floppy disk, ne avrei scritto una versione ottimizzata per tale supporto.

Per darvi un’idea della difficoltà del processo, mi ci sono volute 800 ore del mio tempo libero per scriverlo. Mi auguro che almeno qualcuno si sia divertito con Sammy Lightfoot

Con un mio amico ci siamo dilettati a scribacchiare qualche giochino per C64 a quei tempi, e posso capire benissimo le frustrazioni di Creehan. Magari avessimo avuto due monitor, però!

The Author

Writer. Translator. Mac consultant. Enthusiast photographer. • If you like what I write, please consider supporting my writing by purchasing my short stories, Minigrooves or by making a donation. Thank you!

3 Comments

Comments are closed.