This recent blogging about hypercomplex numbers reminds me, I still haven't shown you the outcome of the wager mentioned here in August 2009: "I bet a friend one pint of Guinness, that I could get a line drawing of a locomotive engine published in PCW." Well, it so happens that for reasons unrelated to trainspotting, recently I've also been re-reading that very copy of Personal Computer World magazine: December 1982, 300 pages, cover price 75p.
For my money, this issue marked the birth of "Lustworthy Computing", the cover star being the deliciously lustworthy Epson HX20. A self-contained, all-in-one battery-operated portable computer, with full size typewriter keyboard. No pointing device, of course; the Apple Lisa wasn't announced until the following year. The HX80 did sport 16k of NV-RAM, 32k Basic in ROM, a built in 20-character by 4-line (120x32 pixel) monochrome LCD dot matrix display, 2¼" dot matrix printer, and a micro tape cassette drive.
PCW's managing editor Dick Pountain memorably characterised this A4-sized beauty as one of two "handheld" (or was it "two-hand held";-) devices, the other being Hewlett Packard's contemporary HP75C, to "advance the art of portable computing beyond recognition." Just looking at that picture today, I still want one.
The Computing Collective
What we had instead, my pal Brian and I, was 50% shares in a Sharp PC-1211, which we'd bought in 1981. The world's first truly pocket sized Basic programmable computer with QWERTY style keyboard. Designed using off-the-shelf CMOS components, including 256 kHz (kiloHertz!) SC43177/SC43178 processors, and three TC5514P 4Kbit (bit!) RAM modules. Oh, and there was a docking adapter, which allowed saving of programs to a standard audio cassette recorder. We took turns using the PC-1211, weekly I think, until about a year later when I launched a hostile buyout.
The memory model on the PC-1211 is unique. 26 permanent variable locations are accessed as either packed BCD (10 digit precision, exponent ±99) numbers A-Z, or strings of up to seven characters A$-Z$. The remaining memory is shared between your program steps (up to 1424) and more variables (max. 178). Variables can also be addressed as one unbroken array A() or A$().
Now Dick Pountain, being also the portable computing specialist in charge of Calculator Corner, accepted my article and program "PC-1211 Complex Arithmetic" for publication in this December 1982 issue. Here's the proof (click to enlegibilify):
And here on the second page, below those 23 lines of Basic code is that "locomotive" syntax diagram. Lovingly hammered out on a Sharp electric typewriter, then manually marked up with graphics using black Biro and a flowchart stencil:
As for that cool, mathematically pleasing Basic dialect: take another look at the hypotenuse calculation at the start of line 100, and in particular, the use of a √ symbol as a keyword. Notice also how the PC-1211's memory model renders redundant the multiplication symbol * between variables:
100: U=√(XX+YY)In what was turning out to be a bumper month for pay copy, December 1982 also saw David Barrow join Alan Tootill in the magazine's machine code corner, PCW Sub Set, and they very kindly published the Zilog Z80 versions of my error correcting code assembler subroutines, ECal and EFix:
That the editors used to characterise this standard of contribution as "camera-ready", I guess just shows how uncritical was that hobbyist/enthusiast audience of three decades ago.
Sadly, the 1.35V MR44 mercuric oxide coin type cells used by the PC-1211 (a set of four lasting ~300 hours!) are now discontinued for environmental and toxicity reasons. Their manufacture being illegal since 1992, they're now virtually impossible to find. And when found, both ludicrously expensive, and already well beyond their nominal shelf life.