Sinclair I/O Board Completed Over 30 Years Later

In the early 1980s when the 8-bit microcomputer boom was well under way, [Alan Faulds] was a student, and an owner of a Sinclair ZX81. He had ambitions to use it, in his words, “to control the world“, but since the Sinclair lacked an I/O port he was thwarted. He bought an expander board and a couple of I/O card PCBs from the British electronic supplier Maplin in the days when they were a mail order parts stockist rather than a chain of stores chasing Radio Shack’s vacated retail position.

Sadly for [Alan], he didn’t have the cash to buy all the parts to populate the boards, then the pressures of a final year at university intervened, and he never built those Maplin kits. They sat forgotten in their padded envelope for over three decades until a chance conversation with a friend reminded him of his unfinished student project. He sought it out, and set about recreating the board.

zx-io-thumbnailThe ZX81 had a single port: a PCB edge connector at its rear that exposed all the Z80 processor’s lines. It was notorious for unreliability, as the tiniest vibration when a peripheral was connected would crash the machine. Maplin’s expansion system featured a backplane with a series of edge connector sockets, and cards with bare PCB edge connectors. Back in the 1980s it was easy to find edge connectors of the right size with the appropriate key installed, but not these days. [Alan] had to make one himself for his build.

The I/O card with its 8255 and brace of 74 series chips was a double-sided affair with vias made through the use of little snap-off hand-soldered pins. [Alan] put his ICs in sockets, a sensible choice given that when he powered it up he found he’d put a couple of the 74 chips in the wrong positions. With that error rectified the board worked exactly as it should, giving the little ZX three I/O ports, albeit with one of them a buffered output.

We haven’t featured the little Sinclair micro as often as we should have here at Hackaday, it seems to have been overshadowed by its ZX Spectrum successor. We did show you a VGA ZX81 emulated on an mbed though, and a rather neat color video hack for its Brazilian cousin.

14 thoughts on “Sinclair I/O Board Completed Over 30 Years Later

  1. I once had a ZX81, with memory expansion and external keyboard, and I even managed to add a parallel port, that in theory could’ve been used to drive a printer, but I never did more than driving a few LEDs, because programming the ZX was a pain in the back, and I couldn’t afford a printer back then anyway.
    When I could, PC time had come, and nobody wanted to use a ZX anymore.

    Nice to see that others saved their ZX81 (I didn’t), and are finally able to do something useful with it (I never did).

    The ZX81 was always a very limited machine, as it used nearly all of it’s marginal computing power to generate the video signal by software. User calculations (speak: BASIC) were only running during vertical blanking, making them extremely slow.
    There was a fast mode, though, that switched the video signal off completely, while the user code was running.
    This was usable for calculations that only presented the result afterwards, but not for things like games, text processing and graphics editors.

    All in all it was just a cheap Z80 board, with a ROM BASIC, a toy keyboard, a tape interface, and a software generated video output as a bonus.

    1. Still, £49.95 as a kit, £99.95 assembled, you can’t argue with the price. I think the American price was the same, but in dollars, a bit toward the end of the ZX81’s life. Which wasn’t really a long one. Once the Spectrum came out in 1982 / 83, there was no reason to buy a ZX81. The Speccy was about 2.5 times the price, but had full colour and a little beeper, which beepy though it is, was SOUND! Also 16K or 48K RAM. The ZX81 came with 1K, adding the 16K RAM pack you need to actually do anything, the Speccy’s price starts to look much closer.

      I don’t think Sinclair Osborne-Effected themselves with the Spectrum. Even if it bit into sales of the ZX81, the ZX81 itself can’t have cost much to make, so any left-over inventory wouldn’t have been a big problem.

      The ZX81 had 4 chips (Z80, Sinclair-custom ULA, 1K RAM, 8K ROM), a couple of dozen passives, and maybe a quad-NAND or something for glue. Not much, and the ULA was most of the glue the machine needed. And it didn’t need much glue logic anyway! So assembling one as a kit isn’t really daunting. Especially compared to the ZX80’s 120-odd chips, on a small crowded PCB, in a little plastic case and an even more horrible keyboard than the ZX81.

      But actually as a cheap Z80 board it wasn’t bad. I was too young back then, I didn’t even have a ZX81 til it was retro, but I had a Spectrum instead. The ZX81’s manual (and the Spectrum’s copied from it) even suggested you might want to experiment, informing you that the edge connector was a full Z80 bus that you could do what you liked with, though sometimes the machine’s hardware might get in your way. Not often though. And the ULA had a couple of pins that you could use to fit in around it’s requests the bus.

      Actually on the ZX81 it might even be possible to set the ULA to never make requests, since video is partly software generated. The Speccy’s ULA needed to read screen RAM constantly, because the screen was always on (what a luxury!).

      The manual noted that A6 and A7 were not used by anything inside the Spectrum, and warned that the other I/O addresses were not fully decoded (instead, one address line per peripheral device, limiting it to 8 instead of 256). Most joystick interfaces used A6 to read, used active low, or IN(31) from BASIC. Or asm, actually!

      If I were grown-up back then and needed to do some developing, I might well use a ZX81 to do it on. Cheap and sturdy, reliable enough (put a heatsink on that 7805!) and open enough, you’d have an embedded dev board, with the luxury of it’s own keyboard and display. Plus an endless, very cheap supply of them, if you needed more. I wonder if anyone used embedded ZX81s for anything? I suppose it didn’t have the reputation, back then embedders would’ve been blowing EPROMs, using DIP switches, and generally having a miserable time with 256-byte SRAM, if they wanted to control anything by computer.

      Sinclair bragged that a ZX81 could control a nuclear power station. With the RAM pack wobble, it’s probably a good job nobody ever did.

      The immensely cheap price, and educational potential, is something that only happened at that time in technology, never since. Although cheap Android tablets are somewhat comparable.

      The other nice thing about technology then, was that anyone could design their own machine, and even start a company to sell it. Take a Z80 or 6502, wire up the RAM as standard, then design the rest yourself. You could use existing chips for display, keyboard, and I/O, if you wanted a quick start and weren’t trying to keep the price down. Get one of hundreds of small companies to do the BASIC for you, perhaps adapting Microsoft’s. Sort out the injection moulding.

      Then depending on your aim, you could have a computer of any price and capabilities. The BBC went with “bloody expensive” and “unimpressive / shameful” with their 32K RAM machine, where you needed 20K to use the full-colour mode. Sinclair went with “cheap as dirt” and “not bad at all considering it’s cheap as dirt”. Commodore did “pricey, but you get plenty for your money”, and Atari went with “Cuckoo!” and charged 1979 prices for 1985 technology in 1982. Very very expensive, but that hardware was luscious, no other 8-bit could touch the Ataris. Shame nobody bothered writing any software for them. I’ll blame Atari for that, since it’s probably their fault, they messed everything else up.

      Pardon me, shooting from the hip. Feel free to skip past this. I do love my old computers. Used to have a hell of a collection at one time, and finally all the peripherals and games I could never afford! Including a few old consoles too. Turns out the thrill of getting that disk drive for your 8-bitter is still as strong, even 20 years later!

      1. The ZX81 was my first computer, and in the US it initially sold for $99 as a kit. I bought one as soon as I as saw the ad for it. Also go the memotek 32k memory, as it allowed you to still use the I/O port. Still have both. And one copy of Sync Magazine (it hate seeing the ads and not having a WAYBAC machine so i could order stuff to play with).

        I used it to learn programming basics. I never intended to pay serious games, though i had “Chess for Two” as my only game. You know you are bad at chess when a 1 mhz PC with 16K memory can kick your but.

        Once I got my C-64, I felt free to hack my ZX81. Added a power switch and mounted a solderless breadboard on it, as I found a card edge advertised in some magazine so I could route the I/O to the breadboard.

        I ended up selling off most of my old PCs, but give the size of the Sinclair, there is no reason not to keep it. Given the USAF also thought it was a great idea to etch your SSN on all your valuables back then is also a factor of it being in my permanent collection.

  2. I built an IO board for my ZX Spectrum in the mid 80s (think it was just a Z80 PIO, no other chips…)

    Trouble was I couldn’t make a PCB at the time so used veroboard… I seem to remember all but one of the connections I needed were on one side of the edge connector so could easily just solder the connector to the tracks. The wiring to the chip was a spectacular web of single core wiring. My electronics teacher was pretty impressed with my folly. :)

  3. Hmm, 30 year old computer interfacing projects. I have a few I could dig out. Did anyone do the McGraw Hill Contemporary Electronics series. It was in big white binders that every month they sent you a new section and every 4 months a new binder. There was a little breadboarding system where there was a tray that they slid small modules into. Anyone remember the brand of those? They were right about the same width as my C64 user port. I made a small breadboard interface.

  4. ZX81 was my first machine. I added the 16K memory, expansion card, printer, sound card, the 8bit I/O and the Maplin keyboard. The best enjoyment was when my Meccano models were connected to the I/O. It was a great device on which to learn about hardware and software.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.