Amiga Hardware Reference Manual - CBM Inc.

It may (I guess) surprise you to hear that this was a wedding present. In the five years since I've been very much looking forward to reading it, but having children for around four of those years has made the chance somewhat rarer. Finally, though, I've had the opportunity.

The Amiga was a great piece of hardware - you can see why it achieved it somewhat fabled status. Fundamentally it comes down to the insight that most complex effects you want can be achieved through judicious use of simple coprocessors and DMA. The basic 68K, being in something of a CISC mould (albeit with a fairly uniform set of registers and instructions) takes plenty of cycles to do stuff, and getting it to handle lots of operations is a pain. So, the 'blitter' handles block moves efficiently, and the 'copper' co-processor can trigger various I/O operations in sync with the raster scan (allowing those pretty smooth vertical shade effects, despite a small colour palette).

Flexible video fetch circuitry with sprites and DMA-driven audio sampling finish off the accelerated I/O. The rest of the manual covers stuff like interrupt handling, plus the interfacing of peripherals.

It's a funny book. Some topics are covered in immense depth, with copious examples, while others are skimmed over - there are assembly examples for most graphics operations, but only the briefest explanation of how disk I/O works. I guess this is in line with what readers are likely to want - lots of people wanting to do direct graphics, but most will defer to the OS for disk management.

Much of the earlier part discusses the operation from a purely software point of view, with the occasional cryptic remark providing an oblique insight into the actual hardware implementation. The neat memory access prioritisation and timing scheme for DMA (including graphics etc.) to share with the CPU is mostly inferred, until near the end, where an explicit and rather helpful chart appears.

The uneven detail and inability to decide whether the book is really describing the system from a software or hardware point of view is slightly annoying, but actually kind of retro and charming. Back in the day, I expect this book would be a starting point for DIY experimentation with the actual machine. Nowadays, I'm sure the internet has more detail on the subject than you could possibly care about (probably down to full circuit diagrams of the custom chips. :p ). This book, however, is a perfect introduction to understanding what it was that made the Amiga special.

The precisely crafted hardware, with everything timed exactly against the video signals, and low-level details exposed directly to the developer, made the machine a great gaming and multi-media system, but also lead to its downfall, as it couldn't evolve and change in the way that other, more loosely spec'd systems could. In other words, it's a fantastic example of a great low-level design that turned out to be a bad long-term architecture.

A most enjoyable book, though.

Posted 2013-09-28.