ZX81 Emulated On An Mbed

This is a wonderful example of the phenomenon of “feature creep”. [Gert] was working on getting a VGA output running on an mbed platform without using (hardly) any discrete components. Using only a few resistors, the mbed was connected to a VGA display running at 640×480. But what could he do with something with VGA out? He decided to emulate an entire Sinclair ZX81 computer, of course.

With more than 1.5 million units sold, the Sinclair ZX81 was a fairly popular computer in the early ’80s. It was [Gert]’s first computer, so it was a natural choice for him to try to emulate. Another reason for the choice was that his mbed-VGA device could only output monochrome color, which was another characteristic of the ZX81.

[Gert] started by modifying a very lean Z80 emulator to make the compiled code run as efficiently as possible on the mbed. Then he went about getting a picture to display on the screen, then he interfaced an SD card and a keyboard to his new machine. To be true to the original, he built everything into an original ZX81 case.

This isn’t the first time we’ve seen a ZX81, but it is one of the better implementations of an emulated version of this system we’ve seen.

Thanks to [Jeroen] for the tip!

7 thoughts on “ZX81 Emulated On An Mbed

    1. Given the context, it would be one of the many break out boards from different chips manufacturers embed sells.

      I would rather hear about the actual part # of the chip involved than the name of a company or product code name/trademark which have no meanings to people that can make/design their own breakout boards. In this case don’t even know the chip vendors, part# or even the board name from the write up.

    2. The first-gen mbed LPC1768 got Kleenex’d as “mbed” until the project regained geek cred for open sourcing the environment and adding other vendors besides NXP. NXP has a couple of other mbed boards called “mbed something-something”. Everything else is “mbed enabled” but doesn’t have “mbed” in the name.

      Outside of that, I don’t see how this is any more confusing than the overloading of the “Arduino” name.

  1. Lots of nice pictures, but no details at all about how any of it was done. Even the comment about starting with a “lean z80” emulator doesn’t tell you which one. I’d like to see more details and his code. Otherwise it is a “gee, that’s nice” sort of hack.

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.