ZX Computing

Spectrum +2 Machine Language For The Absolute Beginner
By Melbourne House
Spectrum +2

Published in ZX Computing #35

Spectrum +2 Machine Language For The Absolute Beginner

This book contains the best and clearest explanation of the Z80 instructions that I have ever come across. In that respect, it is an excellent book for the beginner, but the author seems to have forgotten that the newcomer to machine code also needs to be shown how to string the instructions together to make the computer actually *do* something. The books is peppered with short routines, but most of them simply show that if you load a couple of registers with numbers and add or subtract them, you get the right answers. The beginner might be forgiven for thinking that you could do most of this in half the time with a calculator.

There is an excellent chapter on hex, binary and decimal arithmetic, and it shows clearly how to calculate the conversions from one to the other, which is just as well. Most of the examples are in decimal, there is a decimal loader and no hex loader, but the tables of opcodes and instructions are in hex and there is no conversion table. It seems a certain recipe for disaster to expect the beginner to calculate conversions between conventions.

There is a splendid chapter on interrupts which makes the use of vector addresses absolutely clear, but again the examples only show how to add 1 to a variable on every interrupt, and the chapter ends by saying that "there are other things you can achieve with interrupt-driven routines, but they need some programming experience".

The author skates briefly over keyboard reading and printing to the screen but the chapter on sound makes the whole book worthwhile. At last we are given routines which achieve something and show the reader how to build on the examples to make their own routines. This chapter, and the sections on memory paging, will be useful to anyone, even the more experienced machine code user, who is net to the 128K and +2. Despite the title, I think Joe Pritchard is more familiar with the 128K model, because he talks of amplifying the sound via the ear/mic sockets which of course the +2 does not have - and there is no mention of the +2's sound socket.

If you are new to the 128K or +2, then get this book. If you are a machine code novice, buy it for its clarity, but get another at the same time with better examples. This one tells you all about Z80 instructions but nothing much about programming.

Carol Brooksbank