R/escogita logo

the steed kulka presence on the world wide web

Camel Trophy Videogame twenty years later:

behind the scenes of Italy's first commercial videogame and the home computing roaring years

Tools of the trade

Storyboard draft

Some ideas are further explored in detail; some other (like the gold digger) will be eventually dropped.

While today's developers enjoy high-level languages, visual programming environments, cross-compilers and every other geek gizmo which, albeit in theory, should speed up software creation, recalling what we had available at that time gives the zeitgeist of an earlier, rougher era - albeit Run provided us with more professional tools than the average home hobbyist could afford on his ZX Spectrum.

The hardware toolkit was based on a standard ZX Spectrum 48K modified in order to get the composite video signal before the RF modulator, thus allowing to connect our Hantarex CRT monitors. Another favorite hack was to add a reset button on the computer chassis or its power cord, a feature notably lacking on the ZX Spectrum until the Plus edition: this was key to faster reboots after the inevitable crashes that happened while testing new code.

In the storage and media department we had more options available. Since the magnetic tape was slow (with the ubiquitous Compact Cassette format) when not simply unreliable (the infamous ZX Microdrives), our preferred solution was the Kempston DOS interface for 3,5" floppy disks manufactured in Italy by licensee firm Sandy, one of the official suppliers of Run whose name is linked to the failed attempt to produce in 1986 an interesting hybrid computer based on both Motorola 68000 and Intel 8086 architectures compatible with both the Sinclair QL and the upcoming MS-DOS PCs: the Futura, the brainchild of one of the original QL designers, Tony Tebby.

Storyboard draft

Working on the concept for the "arcade" section.

Other than this basic equipment we had other accessories available such as a Mannesmann-Tally MT80 pin printer that we routinely used to produce pages and pages of code listings to be reviewed and debugged while commuting or even when in the restroom. Other equipment included a Seikosha GP500 tape color printer; an Aiwa double-speed tape dubbing unit for backing up the backups; and a TEAC reel-tape unit which, together with a Panasonic graphic equalizer, produced the master reels we sent to the duplication facility.

Much more basic was the software toolset, including the Gens3M2 assembler and the Mons3M2 monitor/disassembler. Direct programming on target computers without any particular memory expansion required small and versatile tools, and the Gens/Mons combination provided excellent control on code writing and debugging even if it meant using a particularly crude program interface which was so Unix-like. Only one crucial tool was really missing: a proper linker to automate the merging process of all the code modules - a need that was resolved a long time later by Laser Genius, the internal toolset that the British powerhouse Ocean released to the market when it appeared clear that the gold age of the ZX Spectrum was over.

Programming the Z80, R. Zaks

R. Zaks, Programming the Z80.

Within the art department, the best tool was the ubiquitous Melbourne House's Melbourne Draw in a splendidly enhanced version developed by Mario Bianchi and Gianni Restano and published on Run 13 as Masterdraw. The first two sections of the Camel Trophy Videogame were mostly Basic code featuring the Beta Basic expansion, which provided additional useful commands such as ON ERROR GOTO and ON BREAK GOTO. Then we had many other in-house tools available - such as a code relocation utility, memory monitors and analyzers, data compressors, anti-piracy routines, line renumber and zero-number tools for Basic listings, turbo loaders etc. - to help both during the coding process and the post-mortem, bug-hunting analysis.

And what about the documentation? Essential reading was "The Complete ZX Spectrum ROM Disassembly" by Ian Logan and Frank O'Hara (ISBN 0-86759-117-X), a comprehensive tour of the operating system detailing its operations line by line, instruction by instruction (an online version of this book is now available within the book repository of World of Spectrum); and of course the fundamental "Programming the Z80" by Rodnay Zaks, which we had in multiple copies, both in the second 1980 Sybex edition (ISBN 0-89588-047-4) and in the Italian language 1981 edition. Only in late summer 1985 we were able to grab a copy of "Advanced Spectrum Machine Language" by David Webb (the author of the videogame Starion, and today financial fund manager in Hong Kong), ISBN 0-86161-160-8, a pleasant read and a true mine of brilliant ideas and tips.