Article Image
Article Image
View All Posts

1971 was an auspicious year. I was born - and Intel released the first commercially produced microprocessor - the 4004. This would trigger a chain of events that would have a huge impact on the world and on my life.

The 4004 - By Thomas Nguyen - Own work, CC BY-SA 4.0,

When I look back at the child I was, I can see that there was obvious intelligence and a thirst for knowledge. But I can also see faults and flaws - I could be very lazy when it came to school work, being able to fall back on my innate intelligence to pass exams and tests - and also being very willing to prioritize subjects that I deemed important over ones that I knew I could not do well in.

Apparently, I had to Wear This Hat At All Times

As a very young child (maybe 2 or 3) I suffered a bout of meningitis and spent some time in an isolation ward - a surreal experience that I can still remember snatches of now. But fortunately I suffered no long term consequences and quickly bounced back.

Growing up my mother was the major influence. My father worked as a civil servant at the Houses of Parliament. In those days, MPs would keep debating late into the night and my father would be at his desk however it did come with the benefit of long summer breaks whilst parliament was in recess. But for the majority of the time it meant my mother picked up most of the duties of reading stories and entertaining the children before bed. I have fond memories of sitting with my sisters as my mother read books like The Hobbit to us.

The Hobbit

My father was a skilled woodworker and we were often called upon to hold or sit on various bits of wood as they were sawn up to create new bits of furniture and shelving. He was also able to turn his hand to most DIY jobs around the house and, although I am nowhere near as skilled with my hands as he was, I absorbed a lot of knowledge just by being around him as he worked.

Both my parents loved to read and many of my father’s projects involved constructing yet more bookcases to hold the books. We were also very lucky to have a local library just a few minutes from the house which was an invaluable source of entertainment from a very young age.

Teddington Library

I had a deep desire to take things apart. I wanted to understand how things worked - sadly, my ability to take things apart far outweighed my ability to put things back together again - much to the frustration of my parents.

As I grew older computers and electronics became a source of fascination. I remember the lead-up to Christmas spending time pouring through the pages of the Gratton catalog (a UK equivalent of the Sears catalog) looking at the various science and electronics kits along with the early computers - making long lists of things that I knew would never be satisfied due to money constraints.

Gratton Catelog circa winter 1983

My first real experience with a computer was when we visited some of my parent’s friends from church - the father owned a computer and I remember playing Hungry Horace on his ZX Spectrum. Even more amazingly he had written some games of his own. I deeply regret not taking advantage of this immense source of knowledge right on my doorstep.

Hungy Horace

Unfortunately, I’ve only been able to find one piece of software online that he published - a turtle graphics implementation for the ZX Spectrum.

Turtle Graphics for the ZX Spectrum - Colin Hicks

Around this time my mother was pursuing a part-time masters in education and had concluded that computers were the future and would play an important part in the world. Finances had improved to the point where spending £129 (about £460 in today’s money!) on a computer could be justified - we became the proud owners of our own 48K ZX Spectrum. This must have been around 1983 which would put my age at 11-12.

ZX Spectrum - What's in the Box

A couple of years earlier my younger sister had been born. Allegedly “mind the wire” were the first words she learned as it was constantly repeated due to cables strung across the living room to the TV set. It’s a good job that by this point my elder siblings had grown out of after-school children’s TV as I would not get my own television set for some years.

ZX Spectrum Setup - a trip hazard for any small child running around

The manuals that came with the spectrum were excellent - with beautiful cover art - and I studied them religiously. Though I must admit having scanned through them again whilst writing this post and I wonder how much of it I understood at the time.

The Awesome ArtWork of the ZX Spectrum Manual

It was around this time that my life was briefly interrupted by a second stay in hospital - this time with a broken leg. I was quite an accident-prone child and trips to the hospital to be put back together had been a regular event (I’d even been run over and only suffered a few stitches), but this was the first time an accident had required a hospital stay - three months in traction. Returning to school, for most subjects I was able to go straight back into the same level classes that I had been before, but for French, which I had put little to no effort into before, it was fairly obvious to the teachers that I was way behind. I spent a few months being taught properly and then unfortunately I was moved back into the top set where we were expected to learn in a more self-directed way. As you can probably guess, learning French for me was over.

Life resumed following the hospital stay pretty much as it had before. Any pocket money and additional money I earned from paper rounds were quickly consumed by computer magazines and games. The first games I played were rudimentary - the library had a small selection of games but these were massively outshone by commercial offerings. I’m amazed that the computer and joystick survived Daily Thompson’s Decathalon. I never quite made it to the Elite ranking, but did reach Deadly and even did some of the missions (Cloaking device and ECM jammer are what I can remember).

Where my Pocket Money Went

Elite - I was Deadly, but never Elite

From the various computer magazines, I became aware that “serious programmers” used assembly language and decided that I needed to learn it. My initial forays were limited by a complete lack of understanding.

I vaguely knew that machine language meant using numbers instead of text and had seen in the manual that there was a mapping from basic keywords and characters to a numeric code. So I simply tried to convert from a basic program to these numbers - poking each value into the computer’s memory - this failed miserably. And it was only after some research that I learned there was a whole new language to learn.

Simply poking the number 245 does not print...

Programming the Z80 by Rodney Zaks was duly ordered from my local bookshop and I learned as much as I could from this, skipping over the parts that I didn’t completely understand.

Programming the Z80 by Rodney Zaks

Later I would add The Complete Spectrum ROM Disassembly to my collection of programming books and I read it from cover to cover absorbing everything I could - though I think I struggled to understand the operation of the floating point calculator and basic interpreter.

Complete Spectrum ROM Disassembly

I was soon writing assembly language programs myself using the HiSoft DevPac software and messing around with custom tape loaders and learning how to draw to the screen.

HiSoft DevPac

Bits of hardware followed including a Currah Microspeech, a mouse, a Discovery interface and finally a printer. Again I was caught out by a lack of knowledge and bought a second-hand thermal printer not realizing that it wouldn’t print on normal sheets of paper.

At school we were taught Computer Studies and had a room full of BBC computers that were networked together and connected to a hard disk - I’m not sure how common this was at the time (the early to mid-1980s). I was extremely lucky to avoid the degeneration of the subject into ICT (Information and Communication Technology) which completely refocussed on learning to use computer applications at the cost of programming and understanding how computers work.

This looks like the hard disk we had in the computer lab, but I'm not completely sure

I can’t recall how much programming we did, but we must have done something to fill the time in the lessons and everyone did a project as part of their coursework. I was quite pleased with my project - I used my new mouse and wrote a graphical sprite editor in Z80 assembly language. In my write-up, I had printouts of the code. The Computer Studies teacher seemed to be quite impressed - but I was too shy to take credit and tried to make out that it was nothing special.

I was lucky in my early career to be surrounded by people who could see through my shyness and recognize my skills.

In 1985, the Atari ST was released and one of my friends got one. I followed suit a year or so later using the money from my paper round generously topped up with a loan from my parents.

Atari ST

I had ordered a very basic package and the computer came with no games - all I had to play with for the Christmas holidays was the terrible ST Basic that shipped with the computer - a truly dreadful piece of software. I would have to wait for the holidays to finish before being able to buy any new software.

…the magazine recommended: "avoid[ing] ST BASIC for serious programming". Regarding reports that MetaComCo was "one bug away" from releasing a long-delayed update to the language, it jokingly wondered "whether Atari has only one more bug to eliminate from ST BASIC or one more to add"

Fortunately, I was soon able to purchase an assembler - once again produced by HiSoft - they had seen the writing on the wall and jumped to 16-bit computers - and started to learn 68000 assembly language. I had a good book for this, but I can’t recall which one it was.

I even managed to get a small utility published on a magazine cover disk - and was paid for it! - I can’t remember the amount, but I think it was probably around five pounds.

I had been quite put off Computer Studies at GCSE so did not pursue the subject at A-Level and instead opted for Electronics. I had a close friend who built various Maplin kits and felt I should be on the practical side of things, avoiding the theoretical world of “Computer Science”. This carried onto my choice of subjects at University - but that is for another post.

I was however able to do a short course at college using Pascal on an RM Nimbus PC. One bright point in Computer Studies at school had been a talk by a University Student who explained how simple rules (what I would later learn are called heuristics) could make a computer appear to be intelligent. The example he used was the board game Othello (also known as Reversi). You can use some simple rules about where not to move to create a reasonably effective opponent - at least against unskilled players. Using this knowledge, I was able to create a computer opponent that could give a pretty decent game without needing to look ahead multiple moves.

Orange=bad, Red=really bad

For my Electronics project for A-Level, I created a simple communication system over a fiber optic cable. I based this on my knowledge of ZX Spectrum tape loading - using the length of pulses to detect a 1 or a 0. Not a very efficient use of bandwidth, but it worked.

Games such as Dungeon Master and the various copycats occupied my time along with small programming projects.

Dungeon Master

I was an extremely lazy student in college. From school, I knew that I could coast and still do well enough in exams to scrape by and I would often skip college to spend the afternoon watching re-runs of the Bionic Man and episodes of Going for Gold. I was very lucky to just about get the grades I needed for University. Despite this, I did learn a lot and came out with a pretty solid grounding in Electronics, Physics and Maths.

Six Billion Dollar Man

Is there anything I regret?

I could have learned so much from the people around me, adults and peers equally. But I was painfully shy and introverted. I had one very close friend and struggled to make and maintain connections with other people - even when we had common overlapping interests.

With good mentorship, more structure, and encouragement - who knows what I could have achieved in those early years? I envy the children of today with access to the internet and so much knowledge at their fingertips.

I was completely immersed in the world of Z80 and then 68000 assembly language - but now it’s only a fuzzy memory. I wish I’d preserved some notes or even better some of my code from then as it would be awesome to review it and see what I was thinking.

Why I’m happy:

I’m immensely grateful to have grown up in those early years when home computing was just starting to get going and things were so much simpler. You could easily learn everything about your computer - its hardware and software.

I came out with an excellent grounding in assembly language and basic electronics that would give me a huge edge at University and at work - particularly when it came to learning C and then C++.

Despite our family not having immense wealth, we lived a relatively good lower middle-class existence - going to libraries, having books around us, and having access to a computer - it’s a luxury that many of my contemporaries would not have had. A very good start to a life of tech.

Blog Logo

Chris Greening


> Image


A collection of slightly mad projects, instructive/educational videos, and generally interesting stuff. Building projects around the Arduino and ESP32 platforms - we'll be exploring AI, Computer Vision, Audio, 3D Printing - it may get a bit eclectic...

View All Posts