Hacker News new | past | comments | ask | show | jobs | submit login
The ZX81 Turns 40 (theregister.com)
156 points by ggambetta on March 7, 2021 | hide | past | favorite | 81 comments



In terms of ROI, the best £69.95 I ever spent (I still have the receipt from WH Smith). It wasn’t the first computer I ever used, but it’s the first one I ever owned at age 9 and it led me down the path that’ll be familiar to many here... I’m glad I still have it, and the Spectrum and Amiga’s that followed.

Incredibly, the ZX81 hardware and software scene is still alive. You can get parts for it quite easily, including keyboard membranes, molex connectors for the membranes, replacement jack sockets. SellmyRetro is a good place to start [1]. The composite video out is a simple and worthwhile modification.

The ZXPand+ interface [2] is an expansion unit that has a 32k RAM upgrade, SDCard slot, AY sound, hi-res support and a 9-pin joystick interface.

The zx-key is a replacement keyboard, and David Stephenson tells a great story about its creation [3].

And games too [4]. I always loved the design of the cassette covers, and cronosoft guys have done a great job reproducing them. I reminded how good an imagination you needed playing these games back in 1981!

[1] https://www.sellmyretro.com/category/retro-computers/sinclai... [2] http://www.rwapsoftware.co.uk/zx812.html [3] http://www.zx81keyboardadventure.com/search/label/ZXKey [4] https://cronosoft.fwscart.com/SINCLAIR_ZX81/cat5357733_41194...


> Incredibly, the ZX81 hardware and software scene is still alive.

Indeed. Here the German ZX81 User group:

http://www.zx81.de/

http://www.zx81.de/zxcms/English.html

They’ve managed to turn a ZX81 into a web server:

http://zx81-siggi.zx-team.org/ZxTeaM

(I hope it survives being HN‘d…)


> (I hope it survives being HN‘d…)

Looks like we sunk it.



One of these times I'm going to get into this bandwagon fast enough to see the original site :P .


Still seems to be down.


It appears to be up now, if you're interested in checking it out.


> I’m glad I still have it, and the Spectrum and Amiga’s that followed.

I wonder how many of us still have them all... I probably sound like a broken record at this time but I still have my Atari 600 XL, Commodore 128 (which I was only using in C64 mode) and Commodore Amiga.

The 600 XL and 128 are still working and the Amiga is probably easy to fix.


I ditched almost all my old computers as I upgraded, but i've still got my ZX-81 with a dk'tronics graphics rom, that was a killer combination in 1982 or whenever!

The ones that have left the building include C64, C128D, Amiga 1000, Amiga 500, before I got my first 'proper' computer, a Mac IIcx which I had for many years running Logic. I'd like to say those were the days, but actually i get much more done and have more fun with modern computers, it's really just nostalgia for simpler times...


I agree about the nostalgia, and will also add (differing), that at least in some ways, those were more fun times ... because the overhead of all this modern complexity (although it sure does confer greater features and power), does kill off some of the fun.


Oh totally: I'm not using them and much prefer my modern setup and its 3840x1600 monitor ; )

I just found these old machines of mine in a garage during the first Covid lockdown and decided to try them out and found out they were still working (still had an old CRT TV laying around).


Even Blu-Tack for holding on the RAM expansion is still available to buy (sorry, too hard to resist)


Real coders use Velcro ;)

[EDIT] actually, the Memotech units shipped with a piece of velcro to eliminate wobble. I think that Memotech kit had a great aesthetic.

https://www.nightfallcrew.com/27/09/2013/memotech-memopack-1...


Agreed. They carried it over to their own computers, too.

https://en.wikipedia.org/wiki/Memotech_MTX


I asked for a TI-99/4A because that's what my best friend had and we would make games and share them with each other.

When I think back to the microcomputers of the early 80's, I'm kind of astounded that they sold in the numbers they did. They were pretty useless.


They were imagination amplifiers. The computer itself didn't do much so you had to fill in the gaps by imagining the things it wasn't doing - often guided by some exciting cover art on books and games packaging.

You could also expand your imagination by thinking of the things you might do if you worked hard at it, or if it was only slightly bigger/faster/better.

Modern computing is the opposite. It does so much it doesn't leave any gaps for your imagination to fill - the creative equivalent of a distracting wall of noise for you to consume.


> They were imagination amplifiers.

That's a phrase that's always intrigued me. I think Douglas Engelbart and Ted Nelson said something similar and Steve Jobs is famous for saying computers are bicycles for the mind.

I've always wondered what exactly these people were thinking of when they said that. Maybe I'm just spoiled from having computers within reach for the past 40 years, but I wonder if the phrase still means anything. Do we all have mind bicycles now and so it's just the default state?


Great phrase!

In my view, this is one of the appeals very low resolution graphics can bring to the table.

Code does not have to do much, which helped the fun alone.

See the blue ones? Yeah, collect those. Reds are baddies...

Or, on a ZX81 or PET, it was just shapes.

Still that was enough. Let the mind run wild!


> imagination amplifiers

Thank you for that, yes - that explains them perfectly. Probably explains why I've always felt more at home in the terminal.


The TI 99/4A was great in some ways, especially because at one point TI was dumping or loss-leadering them, so, IIRC, a family eventually could pick up one for $50.

Though, one of the big drawbacks of it, relative to some other home computers of the time, is that you couldn't really take advantage of the overpowered graphics processor using the TI BASIC that came with it. To use assembly language, you needed a rare add-on. IIRC, there was also an Extended BASIC cartridge, which was also rare.

But the TI 99/4A wasn't useless -- you could do a lot with character set definition and sound from the stock BASIC, and it came with a great introductory book that taught you enough to get started creating with those. With some creativity, you could do a lot with that. (Flight simulator? So long as you didn't bank too fast for characters to be redefined for the horizon, maybe. :)

I recall the family going to some dingy school-supply audio-visual store to look at their Apple computers. They had the //c and I think //e on display. Then my parents saw the price, and I could tell it was way too high. So, TI 99/4A it was, plugged into a portable little B&W TV that my dad bought from a guy at work. (Until I made enough money lawn-mowing and babysitting and various money-making schemes, and a kindly computer store owner gave me what had to be a below-cost deal on a semi-compatible PC.) Apple got some pre-Mac glory for microcomputer innovation, but I suspect that the non-Apple $100-$250 home computers reached more families at the time.

Having a computer was infinitely better than no computer, and the TI 99/4A was a good little imperfect computer.


I never had any of the classic 8-bit home computers. I built a CP/M system from an Ampro Little Board, connected to the Heathkit H19 terminal I put together. The downside of that was little commercial software, but I mostly used it for accessing the University VAX 11/780. I follow a bunch of retro-computing Youtubers now and I feel like I missed out on something. My best friend had an Apple II and was always suggesting I get one. He still has it.


>pretty useless

Your opinion.

Even the micros of the 70's, not just 80's, were useful. Not just for fun. Even for work. Just do some Googling. And check out recent HN thread about Don Lancaster's sites and work, for just one interesting example. There were many more. Heard of Steve Ciarcia? Jerry Pournelle? BYTE? SCSI? S-100? Z80? 6502? 6809? Acorn? VIC-20? Commodore-64? BBC Micro? Amstrad? Also, without those precursors, you would not even have the h/w and s/w stuff you may consider "useful" today. Because, evolution.


1982 Atari 800 here (was 8 years old at the time). I remember thinking the same thing at the time. When we first bought the thing, there just wasn't much I/O beyond the tape drive (and later the disk drive), and therefore the things we could do seemed very limited. It wasn't until we got a printer (a Star Micronics SG-10 dot matrix tractor feed) and a 300-bps modem that the world really opened up!


ZX81 -> ZX Spectrum -> Atari 520ST

It wasn't the first computer I used but it was the first computer I owned. I still have all the hardware somewhere (including minutia like the ZX Microdrive sitting on my desk right now), I have some books as well ;)


One of the benefits of designing of almost entirely off the shelf components


I just posted a pic of my highly modified ZX81 here

https://mobile.twitter.com/njcw/status/1368566103933337603

In honour of the #zx81 40th bday I got mine out the attic. I modified it heavily to have external keyboard, programmable character generator and easy access to swap the ROM. I killed it trying to upgrade to 48k RAM but I haven't the heart to dispose of my first computing love!

In those days I obviously had no fear cutting into the case and soldering stuff on the motherboard! I'm not that brave any more.


What is the keyboard in your photo? The lack of oversized keys has me confused.

Also, love that it is a 3,284,741 byte image of a ZX81. And the ,/< because -- presumably -- a dog ate your 1 ;)


It is a cast off relay keyboard - easy to wire up to the ZX81. I don't recall where it came from, but I don't think it ever had a 1 key as was common on typewriters back then (you just used l instead).


Oh, I had absolutely no idea about that. I naively assumed the current number row was original. You've sent me down a rabbit hole that so far includes using f and L to produce a £ too, thanks!

For others like me the qwerty page¹ has some info, and some examples of original layouts without a 1 key².

¹ https://en.m.wikipedia.org/wiki/Qwerty

² https://en.m.wikipedia.org/wiki/File:QWERTY_1878.png


Looks very retro cyberdeck!


I did my first programming on one of these, translating text games (bitmapped graphics were possible with the 16K RAM pack, but I didn't have one of those for a long time) from a book of them written for the TRS-80. The combination of having to translate between dialects of BASIC and having to "translate" game features to match the ZX81's reduced capabilities was a great practical exercise in inventiveness and perseverance. I particularly remember a Star Trek combat game that ended up taking up so much of the onboard RAM (one whole kilobyte!) that it started eating into the screen buffer, reducing the number of lines the computer could display. I think I ended up with one or two lines of text telling me what was going on, and one line of input for my next command.

Today, I work at Amazon as a senior software engineer. I believe having access to this affordable[1] computer as a teenager helped make that career path possible.

[1] The TRS-80 and other contemporaries of the ZX81 were very not-affordable to my family at the time.


I think it was the ZX81 (and later the Spectrum) where my brother and I had it hooked up to the mains on my parent's boat. The problem was there was only one 12V battery (via a voltage regulator) which not only powered lights and our computer, but also served the engine. If we were sailing and the wind dropped, we established a protocol where my Dad would have to give sufficient notice for us to save whatever we were working on to tape before he started the engine, as the starter motor drew enough current to dip the voltage below the 9V the ZX81 needed, thus causing it to crash. And of course, RAM wobble wasn't helped if there were heavy waves. It's amazing what we put up with just to get some computing time.


I heard through the grapevine that K-Mart was blowing out a Timex/Sinclair computer for 30 bucks, so I hopped on my bike and brought one home. I used it to program a formula from a book about loudspeaker design, to make a speaker for my electric bass. My program spit out a bunch of numbers, which I graphed by hand, but I was in heaven. (Turns out looking back, I'm pretty sure the formula in the book was wrong).

I couldn't get the cassette interface to work, so I begged everybody in the house not to unplug the computer until I was done with my project. A few weeks later my mom got a Commodore VIC-20, which of course had a full keyboard, so it became my computer of choice until I finally got a more elaborate machine in college.


My first computer - I still have it although it needs restoration. We didn't know at the time it was so limited because there was nothing to compare it to.

The author of the programming manual - Steve Vickers - could be thought of both the first and last person to formally teach me computer science, since I eagerly followed the entire manual back in 1981, and then 15 years later I took his notoriously difficult and impenetrable course on Mathematical Structures at university.


My grandfather, who worked in electronics and ham radios, bought one of these. He didn't care for programming and gave it to me. "Here's the computer, the manuals, the wires and a black-and-white TV. You might like this. I didn't."

I grew up in a modest-income household and didn't get a lot of good guidance from my parents. My dad literally told me that I should not learn to work with computers because they would "think for me".

I learned it despite my father. I consider his hand-me-down gift as one of the most significant gifts in my life, as building computer software has been my career for over 25 years.


First computer of the family, received as a kit. My mother, my father and I took turns copying listings from books and magazines. I remember we were very enthusiastic and fascinated by this machine. The first words I achieved to type on it were swear words.

My phalanges still remember it!

Having said that, I had an instinct of repulsion at the sight of the RAM pack on the photo.


Ah the RAM pack. This resulted in a life of wiggle wiggle crash crash.

I managed to get my hands on a beeb eventually. Thank goodness.


If like me you have fond memories of the ZX81 (though not perhaps of the keyboard), then you might find this print interesting:

http://www.alisoneldred.com/john-harris/fine-art-prints-1/sc...


Good find. For me the artwork looks better as the manual with the red writing.


I found it a while back and couldn't resist. I'm having it framed at the moment. I have the original manual from my own ZX81 (from which I taught myself to program) so I get the best of both worlds there.

I plan to have the print visible in the background on the webcam for work meetings to earn a bit of nerd cred.


It deserves to be licensed as a desktop wallpaper in Ubuntu or another operating system.


How appropriate considering how the ZX81 launched the careers of many software engineers.


I had one of these at age 10. I still have it (at age 50) and it still works. Also the printer and a roll of paper.

Whenever people ask me what my earliest memory is, I say the 16k RAM Pack. :)


I recently restored a ZX Printer, bit of a pain but mostly because the belts disintegrate on touch. You can buy new ones though [1] and you see them on eBay too sometimes.

Worth the resto for the wonderful noise they make!

[1] https://www.sellmyretro.com/offer/details/zx-printer-replace...


I'm 40, I vaguely remember my parents had one at some stage, and I'm reasonably sure it had the 16k RAM pack, but the first I really remember is the ZX Spectrum with the 48K ram, and rubber keys. First thing I ever programmed, though mostly I wanted to play Chucky Egg, Manic Miner, Granny's Garden etc.


I never had a 'Speccy'.

Some old friends of mine wrote a song ages ago about the effect those machines had on us all, called "Hey Hey 16k" - https://www.youtube.com/watch?v=Ts96J7HhO28


My inner nine year old envies you for having the printer and paper.

I will memorise your earliest memory joke.


The 16k RAM Pack, a life lesson in itself.


One of the things that distinguished the ZX81 from its predecessor the ZX80 was the fact that the screen didn't go off when your program was running, which made it much more useful. The CPU was still driving the screen but interrupts ensured that it was doing so when needed so actual code execution was limited to times when it wasn't needed for the screen.

This of course made it exceedingly slow. Not helped by the fact that the BASIC - squeezed into 8k - was also very slow.

You could write a surprisingly big program in the 1k RAM though due to the fact that all the BASIC keywords were stored as one byte - and had to be entered using one keypress. Which given the quality of the key (not actually keys) board was a relief.

Truly a machine built down to a price, but with considerable ingenuity!


You could, for 170 pounds, get an Acorn Atom. It had 2KB of RAM (twice as much!), a proper keyboard, an excellent BASIC, and a video chip.


Wikipedia says that would be over £700 in 2019 money - too much for a 15 year old!

Besides the £170 Atom only had Integer Basic - we had real (sort of) floating point.

I'm still jealous of anyone who had an Atom though.


And the A in ARM stands for Acorn. And the ARM1 was based on a Berkeley design, now on version 5 (Risc V). Connections, connections everywhere.


I loved this computer as a kid. It didn't have hires graphics, but some clever people figured out how to do fake hires graphics by timing tricks. It blew my 10 year old mind. The timing tricks seem to work in this Javascript emulator:

http://www.zx81stuff.org.uk/zx81/jtyone.html?track=RocketMan...

https://retroresolution.com/2015/09/07/rocket-man-sinclair-z...


Speaking of modified ZX81's... I re-wired a full sized keyboard (I think I was ~15 at the time) to replace the original [i]

[i] https://i.imgur.com/MpoQP4u.jpg

The ZX81 along with the Z80 microprocessor book from Radio Shack [ii] were the gateway drugs that focused my career direction!

[ii] https://www.cpc-power.com/cpcarchives/index.php?page=article...

I'm retired now, but my career went from jr. programmer (in banking) thru to executive level IT management. A great ride thanks in large part to that inexpensive UK computer!


I grew up on the Apple ][ but I can certainly relate to some of the stories here.

Except now I hate Apple for turning into such a snob company :(


Imagine a Sinclair laptop. With options for a monochrome screen and a flat membrane keyboard. There would be no internal battery, just a wedge shaped power brick. The case would be black. RRP? 99.99


The Z88 came pretty close to that, though the keyboard was better. It's 34 years old, wow.

https://en.wikipedia.org/wiki/Cambridge_Z88


According to something I read somewhere. The ZX81 floating routines did incorperate some unique math:

(2^32) - ((2^32)-1) did not return 1

And the group of Cambridge mathamaticians that wrote the ROM turned out to be one man.

"ZX81 ROM Assembly Listing"

https://www.tablix.org/~avian/spectrum/rom/zx81.htm


I just tried it on the ZX81 online emulator: http://www.zx81stuff.org.uk/zx81/jtyone.html

You have to type the following sequence of keys:

  P  [Shift]I  2  [Shift]H  3  2  [Shift]O  -
  [Shift]I  [Shift]I  2  [Shift]H  3  2  [Shift]O
  -  1  [Shift]O  Enter
which should appear as:

  PRINT (2**32)-((2**32)-1)
It prints 0 which is not the expected answer! (The 0/0 at the bottom of the screeen is an OK message, the answer is printed in the top left corner). I think this isn't necessarily a bug, it's because the computer used something similar to modern single precision floating point.

Also try this (SQR is entered as: [Shift]Enter H):

  PRINT SQR 0.25
On the emulator it looks like the bug has been fixed, but on early models of the real hardware it would give a completely bogus result.

I think what was interesting was it used a kind of bytecode to run maths routines (similar to the Apple II's SWEET16 code).


0 is actually what I'd expect as an answer. Even on very modern Python you get

    In [1]: 2.0**64 - (2.0**64-1.0)
    Out[1]: 0.0
Thats how floats behave like with operands that differ greatly in magnitude. Also this

    In [2]: 2.0**64 == (2.0**64 - 1.0)
    Out[2]: True


> 0 is actually what I'd expect as an answer. Even on very modern Python you get

Given a four byte mantissa, it should be 1 for anything under and equal to 2^32 and 0 for anything over 2^32. Instead it outputted some random number. A bug in checking the flags or some-such. Or maybe a bug in the float to string routine.


The sign takes one bit off the mantissa.


"1" in Scheme:

    >(- (expt 2 64) (- (expt 2 64) 1))
    1
http://people.csail.mit.edu/jaffer/SCM.html


Are you sure that isn't just doing integer math? I don't have a scheme implementation handy, but I tried it in sbcl Common Lisp and while (- (expt 2 64) (- (expt 2 64) 1)) does yield 1,

(- (expt 2.0 64) (- (expt 2.0 64) 1)) yields 0.


True, 0. But I think Guile had an exact->inexact function.


According to the link to ""ZX81 ROM Assembly Listing"", it used a "FORTH-like, stack-based language.". Amazing all the same how they managed to squeeze so much out of so little.


The first computer I saw [0], and the first computer at home [1], were Brazilian clones of the Sinclair ZX81.

That's where I learned to program, in Basic. It changed my life.

Thanks Sinclair.

0 https://en.wikipedia.org/wiki/TK82C 1 https://pt.wikipedia.org/wiki/CP200

[ https://news.ycombinator.com/item?id=26360746 ]


I have a photo of my grandfather with a ZX81, though I never saw him use it. By the time I was around, he had an Apple //e and an IBM PS/2.


I remember them being wildly popular at first, because they were so much cheaper than other 8 bit computers. Then, price wars made computers with more memory and a better keyboard more competitive, and you started seeing much less of the ZX81.


I have a Timex Sinclair 1000 in my basement (the 2K USA version of the ZX81). Commodore had the largest warehouse of these in North America by 1984.


> Commodore had the largest warehouse of these in North America by 1984

That sounds like a story, have any more details?


sys_64738 is referring to Commodore running a tradein program for $100 off a C64 with any computer or videogame console. People purchased the Timex Sinclair for $45 solely to trade in (https://dfarq.homeip.net/wp-content/uploads/2020/08/timex-co... supposedly, Commodore used them as doorstops.


The C128 from 1985 had a Z80 built into it. Where did those come from I wonder?


Bil Herd claims he took the Z80 used in the prototype C128 from one of the ZX81 doorstops.


Great point. I just had a look in my C128 and they are just regular branded Zilog Z80s. I sure there's a story there too...


Thanks! I had no idea.


My dad bought me one in 1981 or 1982. It set the direction of my life. Today I'm Director of Engineering in a software company.


I had one. I loved it, even though I was too young to "get" coding on it. It was the arrival of Spectrum that got me in to coding.

That being said, when I got my Spectrum I taped my ZX81 to the handlebars of my bike because I thought it looked cool. I crashed in to a lamp post whilst pretending to type on it.


The father of a (still) very good friend bought one, and granted us access to the incredible binary world when we where 16.

I am 56 and every single $ I have made is based on the experiences I gathered during these endless hours of learning how to code on that machine.

I miss his dad as much as I am grateful.


This is the computer I learned to program on (the TS1000 US Version). The manual for it still has place of honor on my bookshelf.


The ZX81 was an amazing machine. Long live the ZX81.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: