Building A Sinclair ZX81 In 2022 With All New Parts

As the supply of genuine retrocomputers dwindles and their prices skyrocket, enthusiasts are turning their eyes in other directions to satisfy their need for 8-bit pixelated goodness. Some take the emulation route, but others demand a solution that’s closer to the original hardware. Following the latter path, [iNimbleSloth] is answering the question as to whether it’s possible to build a Sinclair ZX81 from all-new parts in 2022.

The ZX81 was Sir Clive’s second Z80-based computer, and its low price made it an instant success which paved the way for the legendary ZX Spectrum. From here in 2022 the original Ferranti ULA chip that contained all the logic is unobtainable except by raiding another ’81, so he’s using a design that has the same functionality in 74 series logic. The PCB is the same size as the original, and he’s paired it with a keyboard PCB using tactile switches. The video below the break is the first of what is to be a series, and he will be looking at a readily available 3D printed ZX81 case and the re-manufactured membrane keyboard.

For those of us who first learned to code in its meager 1k of memory the ’81 will always be a special computer. Sure it had many faults, but simply having an affordable real computer at all in 1981 was special. To see one being made from scratch is special then, and it would be nice to think that a few other people might learn how a computer works the Sinclair way.

50 thoughts on “Building A Sinclair ZX81 In 2022 With All New Parts

      1. The best RAM packs! I had a 16K one. Contoured to fit perfectly on the back of the ZX81, which let it support a thoroughly hi-tech solution to RAM pack wobble: the included strip of Velcro. (I mean, it worked…)

  1. Yes, you can, that’s the beauty of it, and yes I built that same release in 2020. But impressive is the amount of work that happened since I had my TK-85 when I was a kid.
    A ZX Spectrum, like the Harlequin, can be also built using TTL logic, and some eol’d RGB to Composite chip.

  2. I’d love a kit of this, along with a cost estimate/ballpark. I never played with this computer – my school had TRS-80s and a couple Apple ][, and I had an OSI Superboard at home, but if I could build a true clone (not an Arduino running an emulator) I’d do it in a heartbeat.

    1. The OSI Superboard wss cloned in the UK, the UK-101. I think it was originally a project in a magazine.

      Of course, no unique parts in the Superboard. Just ttl, RAM and some I/O.

    1. Honestly, I kind of like coverage like this specifically because it validates what someone else did and made available.

      There’s nothing like trying to use a tool someone has posted and finding out it’s missing the last little bit to make it functional.

  3. The problem with the ZX81 is that the CPU-driven video doesn’t turn out to save that much circuitry. Consider the Jupiter Ace, which has a parts count not all that different from the ZX81 or Galaksija (a couple of dozen chips from the 74 & 4000 series), but generates video without involving the Z80 – which consequently gets to run at full speed.

    1. I always thought it was pretty clever. It’s not just that the ZX81 generates a display partly in software, but that the design allows for a variable-sized display (character 118, a Z80 HALT instruction) ends each line.

      And surely it does use significantly less hardware? It’s based on Don Lancaster’s TV Typewriter concept. All the video hardware has to do is check that an instruction is being executed above address 0x8000 and it reads the instruction; substitutes a NOP (0x00); then when the Z80 generates the refresh cycle; inserts the read byte into bits 3..10 of the address.

      At the end of a row, the Z80 reads a 118 instruction which the ULA doesn’t translate and simply generates an interrupt at the next front porch.

      That’s about right isn’t it? That’s a lot simpler than maintaining all the logic for counting scans isn’t it? And it meant that ZX81 programmers were able to generate pseudo high resolution graphics for it!

      1. Looking at the board above, I count 25 chips; Grant Searle lists 30 chips in the original Jupiter Ace (https://www.jupiter-ace.co.uk/hardware_diy_ace.html), but suggests modern constructors swap in larger RAMs and ROMs instead of the 2532s and 2114s in the original plans – which reduces the chip count to 26. Considering that three of those will be RAM chips, rather than just one for the ZX81, one may conclude that the straightforward video generation circuitry of the Ace requires *fewer* 74LS chips than the CPU-tricking and NMI-generating ZX81 circuitry.

        1. Not really: remember that the only objective when creating the original ZX80 (the one with standard 74LS chips) was a reduced price, so reducing the number of chips from 30 to 25 was more important than to offer full-speed CPU processing power.

      2. I agree; the ZX80 circuit is pretty darned clever; a truly mad-genius design. Not only is the chip count pretty low, but they also did a lot more with those chips than you’d expect.

        For instance, the system ROM and character generator were the same part. During video, the address supplied by the Z80 went to the RAM (to provide the character), and then to the ROM (to look up the bit pattern for that character), and then to the video shift register (to serialize it into video).

        Another trick to minimize memory was that there was only 1K of RAM. The tokenized BASIC program in memory was displayed directly, without *any* video RAM. Character 118 both ended each BASIC line, and caused the Z80 to stop outputting video for the rest of that line.

        Later computers like the Jupiter ACE and Galaksija did similar things, but needed more chips and more memory to do it. Memory was expensive in those days, so that mattered.

  4. I built a ZX81+38. Working great. I had just one hitch with using the wrong type of inverter for the clock circuit.

    About the costs: actually, I wouldn’t be able to tell anyone. I used 90% of components that I already had on the shelf, and most of them from the 80’s themselves. :P Including the PCB, I don’t think I payed more than $50. Mostly the connectors, some passives and a few ic’s that I had in 74LSxx but not in 74HCxx. To be honest, I could have also used 74xx logic, but the power usage would increase a lot, I guess.

    I posted a pic of my board and keyboard on the ZX81plus38 forum:

    https://forums.raspberrypi.com/viewtopic.php?t=254492&sid=7e2caf7a44092b5993fe2c08c674847b&start=100#p2010849

  5. There’s not a MASSIVE difference between the zx81 and it’s predecessor the ZX80, which was all in discrete logic, and the few hardware differences are relatively easy to add to the zx80 design.

    1. In fact, there was an upgrade kit to make the ZX80 almost ZX81 compatible.
      Many programs for the ZX81 did run with it.
      https://sinclairzxworld.com/viewtopic.php?t=1390

      Don’t get me wrong, the ZX80 was neat as a prototype, but it has a limited software library. So a ZX81 upgrade made a lot of sense back in the day.
      All the unofficial ZX81 clones do have more applications than the ZX80, IMHO.

      Like the VTech Laser 200 or VZ200 with its hi-res graphics.
      https://retroordenadoresorty.blogspot.com/2020/04/ordenador-vtech-laser-200-1983-secam.html?m=1

      Also, there’s AX81 project. A ZX81 emulation on a single chip. Not the real thing, ofc. It’s still fun, though. And it has a 16KB RAM option with an external SRAM chip.
      https://www.jcwolfram.de/projekte/avr/ax81/main.php

      Personally, I think that a real ZX81 must be capable of running ‘3D Monster Maze’, at least. Just like an IBM PC compatible had to be able to run MS Flight Simulator back then. If it does, it qualifies as a ZX81. ;)

  6. It was my (from employer) computer, on that thing i (later we) did develope a user interface for the first fruitgrader what resulted in a user interface what was (later) used on a DOS based system that was in production from 1986 to 2015, there are stil around a thousant of them running at the moment.

    Programming in BASIC saving on / loading from audio tape was waayyy better than the retyping of hexcode on the first production production machines (a 8086 PLC converted back to a computer).

    It all started at the end of 1981, first proction machine in 1983 wholy done in hex, in 1985 converted from machine code to ASM (that was a big hassel as we used the 0xD4 0x10 intruction to pack 4 digits in a word.
    While in ASM there was DAA (Decimal Ascii Adjust) which translated to 0xD4 0x0A so we did expand the MacroAssembler with DAH (0xD4 0x10) at that time there was only 2k x 16 RAM available.

  7. don’t understand, why waste perfectly good chips making something that runs at a few Mhz, and is basically useless.

    Why not just emulate it?

    Dump the cartridges, archive them, and be done with it.

  8. The Z80 was so beautifully simple that you needed barely any external logic to build a system. I actually put a product together with no RAM – just a Z80, an EPROM, a tri-state buffer for a few inputs and a latch for outputs. The lack of RAM was a little tricky because it removed the ability to have a stack (and so no subroutine calls), but I could still use vectored interrupts with a bit of ingenuity. The video modulator and cassette interface on the ZX81 would be unnecessary today and all that stuff shrinks to nothing in board real estate when you go surface mount (which none of the Sinclair products did).
    Loved that little processor.

    1. +1

      Programming through the use of a stack/the registers instead of RAM is an almost forgotten craftsmanship, IMHO. Diagnostic EPROMs for PCs used this to work around faulty RAM, for example. You can’t properly test for faulty RAM after all, if the program testing it must run itself in faulty RAM.

  9. In many respects it shows how pioneering the ZX81’s ULA was in that all the logic chips were squeezed into one ASIC at a time when all the competitors had to use TTL chips. It also illustrates how far we’ve fallen, because if there were fully open-source CPLDs and / or FPGAs available today; even those that could substitute for the few hundred gates that the ZX81 ULA did, it would be trivial to produce an even more authentic ZX81.

    Instead we’ve wasted decades on proprietary programmable logic architectures backed by proprietary tools :-( .

  10. I am bittersweet about this, I like the idea of the TS-1000 reborn with current components, but I wish it allowed a USB or PS/2 keyboard (even if it required another processor e.g. Arduino, Blue Pill). You know, a real keyboard.

    1. I also designed a real keyboard, with real tactile buttons, to replace the horrid membrane keyboard you might remember. I also made a keyboard overlay with all the instructions etc on it which you can put over this keyboard. But there are also plenty of people designing their own keyboard with even better keys, like cherry MX keys.

    1. A dual-Z80 system? Sounds cool! 😎 I wonder if it’s possible to use its arch rival, the i8085, as a slave or video “co-processor”, also. An Z80/i8085 or Z80/i8080 pairing would be cool, albeit pointless maybe. But still kind of cool.. πŸ™‚

    1. That is why I also designed a keyboard with real tactical keys (keys you can feel when you push them down) and a keyboard overlay with all texts, you can glue on top, or punch holes for the key-stems to push through.

    1. I don’t think they did. It looks like a screengrab from 12:23 in the video where the board is a bit small in the frame and the video isn’t perfectly clear so the labels are there but just too blurry to make out.

    1. Yes there are dozens of people (actually there could be hundreds I don’t know of) that have built my ZX-81 clones (I published another one made with surface mount (SMT) chips, but that one was less popular because people don’t like to solder SMT chips) called ZX81+35 before this ZX81+38 one.
      Here is a post of just one of them https://forums.raspberrypi.com/viewtopic.php?t=254492&sid=7e2caf7a44092b5993fe2c08c674847b&start=100#p2010849

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

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