R/escogita logo

the steed kulka presence on the world wide web

Camel Trophy Videogame vent'anni dopo:

dietro le quinte del primo videogioco commerciale italiano e degli anni pionieristici dell'home computing

L'equipaggiamento

Bozza storyboard

Si approfondiscono alcune idee, altre (come quella del cercatore d'oro) verranno poi abbandonate.

Se gli sviluppatori sono oggi abituati a linguaggi di alto livello, ambienti di programmazione grafici, cross-compilatori e tutta la parafernalia di strumenti che (almeno sulla carta) rendono così rapida la stesura del software, quello che avevamo a disposizione allora merita di essere ricordato come testamento di un'epoca indubbamente più "rustica", per quanto Run ci mettesse in grado di lavorare con ben altri tool rispetto a quelli di cui poteva giovarsi il tipico programmatore ZX Spectrum casalingo.

L'hardware comprendeva innanzitutto un normale ZX Spectrum 48K. Le uniche variazioni che apportavamo di default ai nostri computer erano l'aggiunta di un'uscita video composita a monte del modulatore televisivo per potersi collegare ai monitor Hantarex della redazione, e l'applicazione di un pulsante di reset sul corpo del computer o sul cavo di alimentazione per rendere più rapido il riavvio delle macchine dopo i crash che risultavano inevitabili nel corso di qualunque lavoro di sviluppo.

La dotazione hardware iniziava a farsi interessante con le memorie di massa: poiché il nastro magnetico risultava quantomeno lento (con le tradizionali Compact Cassette) se non addirittura inaffidabile (con i famigerati ZX Microdrive), la scelta era caduta sull'interfaccia Kempston DOS per floppy disk da 3,5", un notevole add-on di provenienza britannica che veniva prodotto anche in Italia su licenza da Sandy, uno dei fornitori "ufficiali" di Run passato alla storia soprattutto per il tentativo fallito di dar vita nel 1986 al Futura, un interessante computer ibrido Motorola 68000/Intel 8086 compatibile sia con il Sinclair QL sia con i nascenti PC basati su MS-DOS e progettato da uno dei padri dello stesso QL, Tony Tebby.

Bozza storyboard

Fin dall'inizio viene delineata quella che sarà la forma definitiva della parte "arcade".

Oltre a questo equipaggiamento di base potevamo avvalerci di altri accessori come una stampante ad aghi Mannesmann-Tally MT80, dalla quale uscivano quotidianamente decine e decine di pagine di listati che venivano poi riesaminati e debuggati nei lunghi tragitti casa-ufficio o in situazioni più prosaiche come le pause-bagno; una stampante ad aghi a colori Seikosha GP550, un modello che utilizzava un nastro inchiostrato con bande di colori differenti; un duplicatore di Compact Cassette a doppia velocità Aiwa, per gli immancabili backup dei backup; e un registratore a bobine TEAC che veniva utilizzato, insieme con un equalizzatore grafico Panasonic, per la produzione dei master destinati alla duplicazione.

Assai più limitato invece il toolset software, che in buona sostanza si limitava all'assembler Gens3M2 e al relativo monitor/disassembler Mons3M2. Programmando direttamente sulle macchine target senza particolari espansioni di memoria, avevamo infatti l'esigenza di utilizzare tool molto compatti e versatili, e l'abbinamento Gens/Mons ci permetteva di avere un buon controllo sulle fasi di stesura e debug del codice anche se a prezzo di un'interfaccia alquanto grezza che faceva tanto Unix. L'elemento di cui forse sentivamo più la mancanza era un linker che automatizzasse il lavoro di "cucitura" dei singoli moduli di software che venivano sviluppati per il progetto. A quanto ricordo, questo problema venne risolto diverso tempo dopo con l'uscita sul mercato di Laser Genius, il toolset che una delle maggiori software house dell'epoca, la britannica Ocean, aveva utilizzato internamente fino a quel momento e che decise di rilasciare al pubblico quando ormai era chiaro che il periodo d'oro dello ZX Spectrum era ormai irrimediabilmente trascorso.

Programming the Z80, R. Zaks

R. Zaks, Programming the Z80.

Per la grafica il programma più utilizzato era l'onnipresente Melbourne Draw nella versione superbamente ampliata da Mario Bianchi e Gianni Restano che apparve su Run 13 con il titolo Masterdraw. Per la programmazione dei primi due blocchi del Camel Trophy Videogame scritti in linguaggio Basic era stata utilizzata l'estensione Beta Basic, che forniva alcuni comodi comandi supplementari come ON ERROR GOTO e ON BREAK GOTO che erano assolutamente necessari a un programma commerciale. Vi erano quindi i numerosi tool scritti internamente alla redazione - rilocatori, monitor e analizzatori di memoria, compattatori, programmi di protezione, rinumeratori e azzeratori dei numeri di linea dei programmi Basic, caricatori turbo ecc. - che aiutavano sia in fase di stesura del codice, sia durante l'analisi post-mortem dei programmi bloccatisi per colpa di qualche bug.

Infine, la documentazione: si limitava praticamente a un testo essenziale come "The Complete ZX Spectrum ROM Disassembly" di Ian Logan e Frank O'Hara (ISBN 0-86759-117-X), ovvero l'intero sistema operativo del computer disassemblato, analizzato e commentato nel dettaglio (di cui oggi esiste una versione online nell'archivio libri di World of Spectrum), naturalmente accompagnato dall'altrettanto fondamentale "Programming the Z80" di Rodnay Zaks, consultatissimo in redazione sia nella seconda edizione originale Sybex del 1980 (ISBN 0-89588-047-4) che nella versione italiana edita da Jackson nel 1981. Solo nella tarda estate del 1985 saremmo poi riusciti a impossessarci di un'altra opera notevole come "Advanced Spectrum Machine Language" di David Webb (già noto per essere l'autore del gioco Starion e oggi affermato investitore finanziario in quel di Hong Kong), ISBN 0-86161-160-8, lettura godibilissima oltre che vera miniera di idee e suggerimenti.