The Complete Spectrum ROM Disassembly - Ian Logan and Frank O'Hara

The classic annotated disassembly of the ZX Spectrum's ROM. I got a copy of this years ago when I was still using the Spectrum, and gave it to another Spectrum-fanatical friend for his birthday. I was unable to find a new copy for years, until my sister rather brilliantly got me a copy. Joyous retro reading!

It's pretty insane code, too. The whole thing's designed for compactness, and there are many weird and wonderful low-level assembly tricks. The tape routines are interesting from the timing aspect. The floating-point implementation is also interesting, seeing everything built up to the level of being able to calculate transcendental functions in only a few K. The built-in calculator is pretty neat. The main thing, though, is just plain how unstructured the code is. It's practically in the style of BASIC, with control jumping all over the shop. Nutters. But it's still fun.

Posted 2004-05-05.