The ZX81 was my first computer, before this I had only programmed a Texas Instruments calculator. The first thing I programmed was a simple slalom game but I later programmed it to play Othello reasonably well, using machine code to calculate the best move and Basic to draw the board on the screen. I remember the "floppy ram" 16KB RAM pack which plugged on the back in a very insecure way and was prone to falling off at a crucial moment. I also remember using a cassette deck to record and load software, and I had a printer which sparked through the aluminium coating on black paper to print. I later added a proper keyboard. All very elementary but it got me started and I gained a reaonable understanding of the Z80 processor. My next computer was an Amstrad PCW, which also had a Z80 and to which I also added a lot of extras including a mouse and rudimentary scanner.
I was Manufacturing Director at AB Electronics where we assembled them for Sinclair. Usual story - product launched before all the bugs were cleared out, so no easy task.
Oh yes, I soldered mine together from the kit - £50 as I recall. I think I got the resistor networks back to front, but it still worked, with its 1K of RAM. Still have it, and I think it might still work! I used it to calculate the coefficients of a chebyshev filter for an audio crossover - a real use!. Rather simplified as it kept running out of memory. Oh the pain...the pain
I had a ZX Spectrum and used an audio cassette to store programmes. I did not even have a colour television to use as a monitor - had to use a small b/w tv. My first programme was a very basic assembler which I used to do simple animations - very simple!
Unfortunately I did a clearout some years ago and gave it to charity in its original box. I am sorry now.
I also had a Sinclair programmable calculator which allowed for a programme of 50 key clicks (one key click was one step in the programme).
Was very proud of myself when I programmed the calculator to do the factorial function - it just fitted in 50 steps! There was no way to store the programme for transmission to the calculator, so I had to write it down on paper and type it in if I wanted to run it. So only a geek like myself would bother writing a 50 step programme for this device!!
I bought a ZX81 second hand when I was around 14 years old. I knew nothing about computers! I booted it up and after a short while, a default message appeared on the screen. It read
"Well press something then" I really did think it was alive!
Anyone remember the books you could get of "games for your ZX81" - they were basically source code listings you had to copy (and debug if you'd mistyped). I never had the 16k RAM pack so would try and fit games (always the better ones) that required the 16k RAM pack into my modest 1K RAM. It was usually just about possible if you decided what to leave out, most games only required an extra 0.5k or so as if they were too long nobody would ever have the patience to type them in (especially with that finger bruising keyboard). I learned a lot about programming from that.
I still have a ZX81 and a BBC Micro Model B (not my original ones, got them on eBay), they are proudly displayed on my office wall.
I'm starting this post by going a little off-topic here but bear with me... G3NGD - now there's a great pseudonym! There's a separate topic out there about pseudonyms, and this one has a ring to it that shouts engineering and technology.
Stepping back into the discussion at hand, I was really into electronics construction when the ZX81 came out. As a 12 year old who voluntarily stayed back after school for electronics tuition and computer programming (which was quite progressive for a comprehensive in the Thatcher years!), and spending most of my spare time with a soldering iron in my hand building projects from my Dad's collection of Practical Electronics magazines, I suppose these days I'd be called a geek. Or words to that effect... Back then I was just a weirdo, but I really didn't care and I stuck with it. I only found out the ZX81 was available in kit form after I'd been using it for some time, and remember feeling a bit deflated that I hadn't built my own.
But the memories are flooding back! Remember fast mode? Useful to an extent, but I couldn't get away with it, the screen flickered every time you pressed a key. And for some reason, nearly 40 years on, I remember the command "poke 16510 0" - I used to use it every time I wrote a basic programme, it set memory location 16510 (corresponding to the first line number of the programme) to zero. And if you wanted to programme in machine code, because the 81 was set up for basic, you had to "hide" the code in a REM statement at the start of the programme, containing the same amount of characters as your machine code (thinking about it now, it was to all intents and purposes an early Trojan...). Then you'd have to type the code in letter by letter. I seem to think that the memory location of the first character of the REM statement was at 16514, so you had to use the command RAND USR 16514 to tell the machine where the code was. Told you I was a geek...
Cutting out 30-odd years... many years later I discovered Microsoft QBasic hiding away in a Windows 95 CD ROM and was instantly transported back to the 80's. It had so many similarities to ZX Basic you could pick it up in minutes. The geek was back! I wrote some cracking little personalised programmes with it to help my kids with their maths.