I started out in programming, writing games for the Sinclair ZX80 (the white one) and ZX81 (the black one), after learning Basic programming from a loaned copy of the Tandy TRS-80 manual, which was, incidentally, the finest "how-to-program" book I have ever read.
You could only get a reliable performance out of the ZX81 if you stood a carton of cold milk against the Ram pack - it acted like a big heat sink and stopped the little thing crashing, but tended to curdle the milk after a while.
I moved on to writing games professionally for the Sinclair Spectrum, and being a games writer, I had a full set of kit for it - Spectrum 48K, interface one (Microdrive, networking and RS232C support), interface two (joystick and cartridge port), microdrives, thermal (silver paper) printer and the obligatory dodgy tape deck.
The Zilog Z80B processor in the Spectrum ran at 3.5MHz - and I thought it was so fast! Actually, 3.5MHz was a bit of a gag because the other major chip in the Spectrum was a ULA (it drove the bit-mapped display) and this would slow the CPU down.
If it was processing the display (refresh rate 50Hz) it would override any CPU fetch request that came in the lower 32Kbytes of memory and force it to wait. This is why all the fastest pieces of machine code on a Spectrum were located above the 32Kbyte boundary.
Ten years after it started, it was all over. I moved on to writing business software for AS/400s, but I've never forgotten the Speccy - I still have all the kit, and the original promotional leaflets that were distributed at the time, plus magazines from 1982 with the first reviews. Ahh, happy days! I missed the old Z80 machine code so much that I wrote a Z80 compiler for the AS/400.
My favourite piece of Sinclair trivia is the alleged reasoning behind Uncle Clive's decision to call his electric tricycle a C5. It goes like this:
The ZX-80, 81 and Spectrum all used the eight-bit Z80 processor which had an instruction for loading the stack called Push BC. The Push BC instruction was number 197, which is C5 in hexadecimal. So in the back of the manual it says, "197 É C5 É Push BC".
Nobody would mispronounce Push BC as "push bike" would they?
This was first published in June 2000