Sharp PC1245
pocket computer

NEC PC8201a
laptop computer

EO tablet

Yarvik TAB250

Apple iPhone 5G clone

Other electronic gadgets
Battery Manager Ultra
Samsung ML-1640 laser printer


Also see:
Cycling Holidays
DutchBikeBits.com


Small computers

Ever since seeing a computer on Tomorrow's World in the early 1970s when I was about six years old, I've been fascinated by programmable machines. We lived in New Zealand for most of the 1970s, and I spent much of my time reading datasheets for integrated circuits and trying to design a computer of my own. Due to the information being available in our local library, the Intel 8080 was the chip that I planned to use. However, components were too expensive for my pocket money budget, and I never got around to building anything much more than a light-seeking robot with two photo-diodes and transistors driving motors, and a 555 based "synthesizer".

In the late 1970s, computers started to appear in the shops. A department store in Auckland had a Commodore Pet, Tandy TRS-80 Model 1 and an Apple ][ lined up to play with, and I spent many hours there. Later on, a shop near our home had an Ohio Superboard which drew my attention and I spent a lot of time there too. The low price of the Sinclair ZX80 made it attractive to my budget, and the Hewlett Packard HP41 seemed like a remarkable portable device, but with the high import tax to New Zealand, all of it was out of reach.

As it happened, in 1981 we returned to the UK. For me this had several advantages. 1. The huge New Zealand import tax no longer applied, so it was realistic to be able to afford a computer, 2. My new school had a computer ! An RML 380Z which booted up into a monitor program and could load BASIC from tape.

Still fascinated with the idea of owning something portable and programmable, I took some money from my bank account and bought a Texas Instruments TI57 programmable calculator. At last, a programmable device of my own. With 50 bytes of program space, it's far from the most powerful computer, but the key sequence programming was quite useful and it could be made to work out a wide range of problems. I spent many hours learning all the details of what could be achieved with this machine.

A Sinclair Spectrum followed. Now this was a powerful machine. 3.5 MHz Z80A processor and 16 Kb of RAM. At last I was to write the code which I would have liked to write for the 8080 (which had a subset of the Z80 instruction set). Unfortunately, after waiting months for delivery, my first Spectrum (an issue 1) lasted just a couple of weeks before the magic smoke came out and it stopped working. The replacement, an issue 2, lasted much longer. Some of the software that I wrote for the Spectrum can still be found and run on emulators, such as this.

The Spectrum allowed you to do everything. The edge connector at the rear gave access to everything and I built pieces of hardware to attach here, such as A/D and D/A converters which I used to sample sounds and also as an oscilloscope (max frequency ~= 40 kHz). I also built a CTC / PIO board which I used to interface all sorts of things to the machine.

I also wrote a lot of code for the Spectrum, including games, extensions to the BASIC interpreter, a couple of compilers for simple languages.

Shortly after this, I bought a Sharp PC1245 pocket computer. This was much more advanced than the TI57. It also made a very good calculator. It has proven to be very reliable too, and still works perfectly in 2012.

A Sinclair QL was the next machine. This had a proper operating system which supported such things as preemptive multi-tasking. I could now run microEMACS in one window while using make to compile my C code in another (as I recall, this required making some changes to the MetaComCo/Lattice C compiler to do so. This C compiler was very much K&R style, with few ANSI features. That was quite an advanced environment for the time. For this I bought an EPROM programmer and I continued to write compilers and assemblers. I used it for quite a lot of cross development, continuing to write Z80 code for the Spectrum and the Z88, as well as 8051 code, 6800 and others.

Shortly after the QL arrived, I had the opportunity to get an NEC PC8201A portable computer for a very good price. They were being discarded by a large company in the UK. Due to its excellent keyboard and the fact that it was portable, I used this a great deal for writing code. With the NEC, I could work from the bottom of the garden, or ride my bike to the beach and work there instead of being bound to a desk. The NEC was very much a computer for creating things with, and not one for consuming.

I briefly owned a Sinclair Z88. This was because I was writing code for a system to call nurses with pagers which worked on the Z88. The whole system was supposed to keep working without mains electricity which is why the Z88 made sense. My code wrote progressively into EPROM, using as few bytes as possible as it went, to update a database of the required information. Old records could be replaced with new only by marking the old as bad and using up more space. Erasure of data required removing the EPROM from the computer and putting it under a UV light. When the EPROM was approaching being full, the software would transfer all the good records to a new EPROM and suggest erasure of the old. Anyway, the code worked very well, and because updates were rare, the EPROM only had to be erased occasionally. The code was written using a structured Z80 cross assembler (if/then/else, loops and procedure calls were handled by the assembler) and linker which I'd written for the QL. This made for quite a productive programming environment. From a software point of view, the Z88 was much more advanced than the NEC. However, it had a horrible keyboard, and it was cheaply built. Mine didn't last very long, while the NEC has continued to work perfectly for nearly 30 years.

I resisted owning a PC for as long as I could. MS-DOS was primitive and the machines seemed expensive for the performance. However, my clients used them and I had little choice. I bought a 12 MHz 286 clone which I used for many years. This was actually much faster than the QL, and because I'd always written it with portability in mind, it didn't take long until my development environment ran on the PC. After this, the QL was mostly retired. The fabulous Zorland/Zortech C/C++ compiler made development swift, and of course the code that it generated was extremely efficient. Also, it was very nice to now have the stricter type checking of the ANSI C standard.

I rarely used MS-DOS on its own. Rather, I found that DesqVIEW made MS-DOS usable, with the multiple windows to which I was already accustomed, and that Concurrent DOS also worked extremely well. I wrote quite a lot of code for Concurrent DOS, and took a job working on an OEM version of the OS for a company in South London.

Several more years of contracting followed, before I took a job working on one of the first tablet computers.

To be continued...