A Software Idiot Tries Hardware

Building modern reproductions of the ZX Spectrum is a staple of middle-aged retro-nostalgia YouTube. I’m a big fan. You can build according to the original design, but with (mostly) all new components:

The Retro Shack

Mr Retro-Shack at The Retro Shack

Or you can build using fancy CPLDs as ULA replacements:

More Fun Making It

More Fun Lee at More Fun Making It

You can even build Soviet-style (discrete logic) clones:

8 bits in the basement

Huit-bit Pete at 8bitsinthebasement

Building a Spectrum clone looks like a piece of cake. So let’s have a go!

The Mistrum

At the beginning of 1989, the Czechoslovak Amatérské Radio magazine (issue 1/891) featured instructions and schematics for building the Mistrum, a ZX Spectrum compatible micro designed by Milan Prazan and Jaromir Mynarik. An English translation was later made available by Marek Bartoň2. You can find a tidied-up version, with the diagrams restored and the errata from the next issue added, in the Archive section here. It’s a work in progress, which I’ll be adding to as the build progresses.

The introductory section of the Amatérské Radio article gives us a fascinating snapshot of our hobby as it was practised in Czechoslovakia at that time. The Iron Curtain still divided Europe. The Velvet Revolution would not begin in earnest until the end of that year. A cautious form of Perestroika is in place, but political and economic freedom is still absent. And yet here we are discussing how one would go about constructing a personal microcomputer – one styled after a Western design and most likely destined to be used to play games. The authors discuss how the Spectrum has become the most popular micro in Czechoslovakia – it’s cheap, simple, and there’s lots of software available for it – and the difficulties the builder will face in sourcing components, whether they look to the Communist Bloc or the Capitalist countries for parts.

The article continues with a section which presents an in-depth explanation of how the Sinclair Spectrum works, down to the timing level. The level of detail and the clarity of the discussion is excellent. It appears to draw from original research by contributors to the magazine over the previous years.

Next we come to the bulk of the article, the build instructions for the Mistrum.

The Mistrum

Jealous? You will be.

The Mistrum is a clone of the Spectrum 48K with a few improvements. There is 64K of RAM, with the option to move the 16K ROM out of the address space so that it is all available, making running CP/M on the machine a possibility. There is support for keyboard-mapped joysticks. There is no extended memory banking, sound chip or serial ports, but as the authors describe the machine, it is designed as a base upon which each constructor can build.

The most interesting part of the design is the discrete logic replacement for the ULA. The authors name their replacement the ‘ULAM’. Faced with the problem of sourcing sufficiently-fast RAM for the lower 16K – Soviet memory was apparently not graded by speed – to allow for shared access by both the CPU and video circuitry, they took a different approach. An extra 8K SRAM is used to store the display data, to which the video circuitry has almost-exclusive access. Any writes to the 8K area of main RAM containing the display file are written through to this video RAM. One side effect is that all main memory can run without contention, which the authors claim yields an additional 3% performance over the Spectrum 48K. It will be interesting to see if this is the case.

The architecture of the Mistrum

The architecture of the Mistrum

What the Hell Am I Doing?

I have no idea what I’m doing. I’m a software engineer by trade. I know nothing beyond the very basics of electronics. I think I understand what’s going on with the logic gates, but there’s only so far that will get me. This will be a learning exercise. Why are all those resistors? Why?

There’s a temptation to assume that, because the Mistrum was designed to be built by Czechoslovakian comrades on their kitchen table with a box of scraps, the process will be easy. I’m going to try my best to avoid falling into that trap. I know it will not be simple, and I’m sure that the already high respect I have for those who pioneered microcomputing under such difficult circumstances will only rise higher. I will try to stick to the original designs as closely as I can – if for no other reason than I don’t know what I’m doing – but in some places it appears that will not be possible. Many components which were hard to source back then are even harder to find now. And I’m not going to even think about building my own power supply.

I am waiting for more components to arrive before I get started. I expect this is a method of procrastination I will employ a lot during this project. In the mean time there are already a couple of issues I will need to resolve:

PROMs: The original design uses PROMs to hold look-up tables for the video timings and address decoder. While some PROMs appear to be available from eg. AliExpress, there’s something about second-hand one-time-programmable components which I implicitly do not trust. I heard they’re also a pain to program. Reading around, it appears the best replacements would be either PALs/GALs or fast EPROMs. For now I will start with EEPROMs while researching SPLDs with a view to switching to those later if they seem a better solution.

Transistors: The bill of materials in the article lists most components by both their Western and local – generally Tesla – part numbers. The exception seems to be the transistors. Matching these to modern components appears to be a dark art. Luckily here I can lean on the work of z00m3, who has produced an interpretation of the Mistrum schematics which include the contemporary part numbers.

Layout: I’m going to start by building on breadboard. I expect I’ll have to change things around a lot as I learn, so it seems the easiest way to go. The article does include a suggested layout for the finished board, but half of it – page 33 – is missing from the linked Internet Archive copy. I’ll file this one under ‘it will make it more interesting’. While sets of full schematics are available online, I’m going to try to figure it out on my own, at least to begin with.

Resources

  • Lazarus Long, who successfully built a Mistrum clone and provides a number of resources.

Notes

  1. https://archive.org/details/amaterske_radio_1989/b89-01/

  2. Available via the Wayback Machine here

  3. His entire site is an amazing resource. The Mistrum schematics can be accessed via https://z00m.speccy.cz/?file=hardware