A Personal Computing History – Part 1
I first became aware of the idea of a personal computer around 1982 (10 years old) when I saw a magazine ad for the Commodore Vic-20. The picture in the ad featured a color display with a roughly pixellated image of Earth (which looked amazing to me at the time). I hoped that one day I would get to have a go on one!
Later, some awesome guy, I think a school counselor, I think his name was Mr Smith, let it be known that he would bring in his own Vic-20 for free demonstration & lessons in the school library. Of course I attended, and learned my first bit of BASIC programming, of the no-doubt familiar form
10 INPUT “Enter your name:” n$
20 PRINT “Hello ” ; n$ ; “, My name is Computer!”
As ridiculous and pointless as this seems now, it was a great introduction to symbolic logic (especially since I would not be taught algebra for another year or two). Since computer time was severely limited (we had access to one computer maybe once a week, and there were at least six of us proto-geeks attending) I took to composing more and more advanced versions of the “what is your name” program on a manual typewriter– I wish I still had those hard copies for posterity!
Sometime shortly after that I met other people from relatively well-off families who owned their own computers, namely the Apple II. This was when I saw my first graphical adventure game, namely Robin Hood, and was blown away by the immersiveness of being able to see a glowing green rendition of a crossroads where the Tax Man dropped his bag of money, where I could type TAKE BAG and the machine would understand me! At some point I first experienced the tedium of the graphical programming language LOGO, which weirdly I was never particularly inspired by– it always seemed rather pointless for some reason.
In 1985, now 14 and at high school, I lobbied for a personal computer of our own, and my wonderful parents, possibly guilted into it by the popular message of the time that it would be good for their children’s education, purchased an Amstrad CPC464.
Although it was only the green-screen version, the graphical capabilities were impressive to me. It had 3 different display modes: Mode 0 (160 x 200 x 16 colors), Mode 1 (320 x 200 x 4 color) and Mode 2 (640 x 200 x 2 color– basically black and white). After dicking around in BASIC for a while, writing code to draw circles using trigonometric functions, I became more interested in how the machine worked, ie what was going on behind the scenes of my basic programs. So I started reading articles (in computer magazines) about the architecture of the machine, and began to understand the memory model, addressing and machine code.
I learned how to run machine code routines from BASIC, and was amazed at the vast speed improvements. Unfortunately the examples I had were all based on raw hexadecimal code entered directly from magazines into long and tedious data statements. While the articles had the Z80 assembly language listings alongside the raw code, I did not have an assembler. So of course, instead of simply acquiring one (what a silly idea!) I wrote my own, primarily by reverse engineering the listings from magazines and inferring a lot about the way instructions were represented by raw numbers. I think the coolest thing I did was when I optimized my assembler by replacing some of the BASIC code with machine code generated using the assembler itself– I had stumbled into the magic of bootstrapping! … although perhaps in a slightly ass-backwards way.
Other projects at the time (all now lost) included:
- A knock-off of the classic Elevator Action game, using modified character sets for the graphics, which never worked so great.
- A sliding puzzle game I called Hedgehog, which I was very pleased with and used my own assembly coded sprite routines. The blocks had to be rearranged in real time to stop the slow-moving hedgehog meeting its demise in various ways.
- A keyboard-based painting program (I never had a mouse) using fast custom-assembly fill routines.
- A ridiculously ambitious 3D modelling program, with a lathe feature (required for creating the obligatory 3D Goblet). By plugging the computer’s video output into our VCR I made painstaking animations by pressing pause/record rapidly, to achieve somewhere between 3 and 5 frames per second.
I was at that time extremely impressed by The Hobbit adventure game, and determined that my magnum opus would be a comprehensive Lord of the Rings sequel. Ideas about procedural generation were beginning to germinate and so I filled notebooks on how a thousand distinct locations could somehow be crammed into the rather meager 32K of space available for program data, along with characters, objects, a decent lexical parser and graphics. For some reason it never occurred to me that the last thing you want in a strongly narrative game is a thousand locations to have to search for clues, keys, treasure etc, but in the end that didn’t matter because…
I realized that girls did not seem in the slightest bit interested or impressed in any of this stuff, and so I lost interest too. This is an important point, I will come back to it later.
I did not really get back into computers until 1991, after I had managed to secure a girlfriend, finish high-school, and realize just how much I didn’t like undergraduate graphic design. You work for ages to create something and chances are it’s not that great, and then you have to work just as hard to create the next thing, and it might be only slightly better. Compared to programming, in which the effort/achievement curve feels practically exponential at the early stages, doing charcoal sketches of local buildings felt like a giant waste of time.
So I dropped out of university after just a few months, and took a crappy job working the phones and radio for a courier company, where during the quiet moments I reacquainted myself with programming via the wonderful QuickBasic installed on the office computer. After rediscovering the delight of making circles bounce around on the screen I cashed in my parental grant money (which I think I was supposed to put toward an overseas trip) to buy myself a 20MHz 286 PC for $1500, at the time a really nice machine which I still recall fondly. Except for the fact that I had my first ever panic attack while on my way to buy it (I collapsed just after crossing the road, the only time this ever happened).
Continued in Part 2…




is your mid life crisis peaking early Mark? there have been a few peaks into your past endeavouring to sum up your life so far.
oddly enough, your computing history parallels my own. Parents bought a BBC Micro model B on its release where I consumed the pascalised BASIC and then moved into 6502 assembler. After that, Z80 assembler. My working life started with COBOL/CICS and 31 bit mainframe assembler.
not really crisis related, more an attempt to create a reasonably comprehensive chronology of my journey as a programmer. I would hope that this alone would not serve as a life summary :-/
I had a similar start to what you’ve described here. I remember being blown away by the Hobbit too! I can still picture the John Howe artwork on the Lord of the Rings game that eventually came out.
Thanks Mark for sharing these stories. And kudos for having a panic attack whilst buying your first PC. I used to think that things were better when I was younger because I used to come up with game ideas whenever I saw a new movie… but I tried doing it recently, and its still jsut as easy if you set out to do it, and its a fun enjoyable experience… its just that I keep it all inside these days. Mostly.
why the collapse?? continue!!
I have no idea why I collapsed, and I was fine just a few minutes later.
Perhaps it was the anticipatory excitement over having a whopping 20mhz at your disposal?
Firstly, this is one of my favorite blog entries.
maybe we are all getting old, Back To The Future just had its 25 year anniversary.
I love that all of us computer geeks (i mean mechanics) have similar stories.
For me, my awesome dad got a C64 just as they came out. I loved that thing, lived on it. Lost interest in sports, going outside, tv, stayed very interested in girls but found there existed 16 color strippoker (actually i think i started with the 4 color??).
Then i too started on those same BASIC lines, added a GOTO after them and then loved writing my name in difference strolling colors :)
And then came Shoot Them Up Construction Kit! Anthony and i loved this! in my mind it was as good as Unity is today, maybe even better :) along with a few other Sprit/game tools.
What saddens me is how much code has been lost in time, like tears in the rain….
for the longest time i tried to keep my dos “games” working in Windows 95, 98, NT, etc.
Im so happy i got a job at BDE, thanks to MarkP for being one of my interviewers and hiring me, my demo was a Retained Mode space “game”, which i have to say had very cool OO collision detection (and a few other things).
I am SO happy that iphones and Androids are here, they are Fun to program for and introduce so many kids (and adults) to programming. Not only that but it is easy to achieve results.
I look forward to part 2. Anthony, you should write a similar blog, i/others should do the same.
I program, therefore i am.
ahhhh so *that’s* why you always wanted to grill potential employees about collision detection… I always wondered about that ;)
Looking forward to watching BttF trilogy again in 2015 on “future day”
The Hobbit was the first game I got for the c64 and I thought it was the coolest thing ever. I still remember the game in which Gandalf killed Thorin because he took the ring off me. There was a LOTR sequel that came out a few years later but it was buggy, slow and generally shite.
Nice to see some comments from former c64 owners.
I remember when I got my c64 a certain computerless school chum came marching up to me one day along with a certain Amstrad CPC464 owning chum (who shall remain nameless) so they could jointly pooh-pooh me for making the wrong choice.
Shortly afterwards the first chum saw the c64 in action and immediately set about convincing his folks to buy one. ;)
@Jed. Ah yes, good old SEUCK. What a fun application that was. I spent many enjoyable hours pottering away on making my magnum opus, LASERHAWK.
Okay, maybe not very magnum, but still fun to make!
One word –
Zork.
I should have named my son Zork…
PS Sheun = seriously cool!