Add A Host Of 8-Bit Processors To Your Arduino

Normally when we bring you news of a retrocomputing design, it will centre around a single processor. At its heart will be a 6502, a Z80, or perhaps a 6809. There will be a host of support chips, some memory as RAM or ROM, and a bunch of interfaces. [Erturk Kocalar]’s RetroShield project for the Arduino Mega breaks all of those rules, because it supports all three of those classic processors, has no support chips, no memory, and no external interfaces beyond the shield connection to the Mega. What on earth is going on!

A closer look reveals that the project is a set of shields that use the Mega’s power to emulate all the support chips and peripherals you’d have seen on the original hardware. And while it would be impressive to have a single board with support for all three CPUs, in fact there is a PCB for each one. But that makes it no less interesting a project for those with an interest in 8-bit processors, because the focus becomes the software rather than a quest to find out-of-production silicon.

So far there is some limited demo software, and his website goes into some detail on the interfacing and code required. The Arduino can only clock the 8-bit CPU at 95kHz in software which may sound a bit low to those familiar with 1980s home computers, but it’s best to think of this as an experimentation platform and give up dreams of playing Elite. An exciting prospect comes in giving the 8-bit machine access to Arduino shields, if improbable hardware is your bag.

If this has captured your interest, you might also wish to take a look at the $4 Z80 single board computer which has a similar ethos.

Writing A Very Tiny Chess Program

When programming for modern platforms, the restraints are different to those of 30 years ago. Back in the dawn of the microcomputer age, storage and RAM were measured in kilobytes. It simply wasn’t possible to store large amounts of graphical data, and even code had to be pared back at times. [reeabgo] found out some of these limitations first hand, when coding a tiny chess program for the Sinclair ZX81.

[reeabgo]’s project goes by the name ChesSkelet, and is truly tiny. Measuring in at just 377 bytes in its smallest version, the entire program takes up less space than this very article describing it. To achieve these feat requires certain sacrifices, of course. The tiniest edition contains no graphics whatsoever, representing the game state with simple characters and featuring no adornments whatsoever. The full-fat version comes in at 477 bytes and adds quite a lot of functionality. There’s a proper checkerboard, along with move legality checks and pawn promotion.

Unfortunately, advanced chess play isn’t quite possible – castling is not implemented, and the AI doesn’t yet handle check situations properly. Despite this, it’s a solid approximation of the real game, all packed into an impressively small space.

We see plenty of chess hacks around these parts – including the robotic variety.

A Z80 Homebrew Console, With A Bit Of Modern Help

We see a lot of retrocomputing projects here at Hackaday that take devices from the 8-bit era and re-create them in the 21st century. Sometimes they remain period-accurate and stick to all contemporary devices, but in other cases they take full advantage of four decades of advancing technology. [Pkiller]’s Z80 console is one of this later category, creating peripherals for the classic CPU using microcontrollers in the place of the banks of 74 logic or ULA chips that might have graced a 1980s machine.

The video generation hardware produces a PAL signal using an interesting technique involving two RAM buffers. An ATmega644 microcontroller composites a single frame into one of the buffers while another ATmega644 is generating the previous frame of video from the other buffer. On each change of frame the buffers are switched between the two microcontrollers, requiring some extra 74 logic chips. Another AtMega chip provides the Z80 with I/O interfacing, and the sound comes via another dual-buffer microcontroller setup and a quick return to classic hardware with a YM3438 FM synthesis chip. The result can be seen in the video below, and would have not looked out of place in a late-’80s or even early-’90s living room.

Some people might ask why so much trouble should be gone to in the pursuit of a project like this one, but to do so is to miss the point. Sure, a Sega Master System can be had from the usual sources, but in creating  project such as this one the builder has to truly understand the technologies such as PAL generation or the internals of a Z80 in great detail. The result while it is undeniably impressive is almost secondary to the process of reaching it.

Continue reading “A Z80 Homebrew Console, With A Bit Of Modern Help”

In Soviet Russia, Computer Programs You

We admire [Alex Studer’s] approach to schoolwork. His final assignment in his history class was to do an open-ended research project on any topic and — this is key — using any medium. He’d recently watched a video about how Tetris came from the former Soviet Union, and adding in a little eBay research set out to build a period-accurate Soviet computer replica. The post covers the technical details, but if you want to read the historical aspects the school paper is also online.

The first decision was what CPU to use and [Alex] picked the U880 which is a Soviet Z80. All the usual parts you would use with a Z80 have U880 equivalents, so that fleshed out the rest of the design. There were a few concessions made. Instead of a bulky analog monitor, the replica uses an LCD display. Instead of an audio cassette recorder, the new machine uses a CompactFlash socket. We don’t think those are bad decisions. He also replaced the Soviet EPROMs with modern parts. Although the original parts appeared to program correctly, they were unreliable in operation. [Alex] theorizes that his programmer did not generate enough programming voltage to fully program the cells, so they would pass at the low speeds used by the programmer, but not work in the actual circuit.

Continue reading “In Soviet Russia, Computer Programs You”

Teardown: D50761 Aircraft Quick Access Recorder

Everyone’s heard of the “black box”. Officially known as the Flight Data Recorder (FDR), it’s a mandatory piece of equipment on commercial aircraft. The FDR is instrumental in investigating incidents or crashes, and is specifically designed to survive should the aircraft be destroyed. The search for the so-called “black box” often dominates the news cycle after the loss of a commercial aircraft; as finding it will almost certainly be necessary to determine the true cause of the accident. What you probably haven’t heard of is a Quick Access Recorder (QAR).

While it’s the best known, the FDR is not the only type of recording device used in aviation. The QAR could be thought of as the non-emergency alternative to the FDR. While retrieving data from the FDR usually means the worst has happened, the QAR is specifically designed to facilitate easy and regular access to flight data for research and maintenance purposes. Its data is stored on removable media and since the QAR is not expected to survive the loss of the aircraft it isn’t physically hardened. In fact, modern aircraft often use consumer-grade technology such as Compact Flash cards and USB flash drives as storage media in their QAR.

Through the wonders of eBay, I recently acquired a vintage Penny & Giles D50761 Quick Access Recorder. This was pulled out of an aircraft which had been in service with the now defunct airline, Air Toulouse International. Let’s crack open this relatively obscure piece of equipment and see just what goes into the hardware that airlines trust to help ensure their multi-million dollar aircraft are operating in peak condition.

Continue reading “Teardown: D50761 Aircraft Quick Access Recorder”

Bus Raider Allows Classic Micro Emulation On An RC2014

If you were lucky enough to own one of the crop of 1980s 8-bit computers, did you ever pause to consider how its graphics worked? Maybe the really expensive ones had dedicated CRT controller subsystems akin to the graphics cards you’d have found on a PC a few years later, but most of the affordable models would have stopped what they were doing every TV line interval period to allow access to their memory for their graphical output to be created.

The RC2014 retrocomputer dodges all this, by using a serial port as an interface and expecting your serial terminal to handle the screen. But what if it could produce its graphics directly as the machines of old did? [Rob Dobson] set out to achieve this, and not only did he succeed but he also found a way to directly emulate some classic machines along the way.

His RC2014 card which he calls the Bus Raider started as an attempt to use a Raspberry Pi to commandeer the RC2014 memory and read it via its GPIO lines, interpreting the graphics for its own screen. But even with bare metal Pi programming he couldn’t achieve the complex timing required for that, so he took an alternative approach. He ended up with an ESP32 that emulates a custom part of the RC2014 memory map and generates a display from there. Having created a custom memory map and hardware emulator for his RC2014, he then had the revelation that he could emulate any memory map, and thus he could make the retrocomputer perform natively as though it were any of a selection of classic micros. So far as well as a straight serial terminal he has a Sinclair ZX Spectrum and a Radio Shack TRS-80 running, as well as his own custom Z80 environment. And since the ESP32 also has WiFi, he can even connect to it through that medium.

Retrocomputers are something in which you might think that everything possible would already have been done, but projects like this one never cease to amaze us with their ingenuity. If you’d like to read more about the RC2014, we reviewed an earlier model back in 2016.

The $4 Z80 Single-Board Computer, Evolved.

We feature hundreds of projects here at Hackaday, and once they have passed by our front page and disappeared into our archives we often have no opportunity to return to them and see how they developed. Sometimes of course they are one-off builds, other times they wither as their creator loses interest, but just occasionally they develop and evolve into something rather interesting.

One that is taking that final trajectory is [Just4Fun]’s Z80-MBC, a single board computer with only 4 ICs, using an Atmel microcontroller to simulate the Z80 support chips. It has appeared as a revised version, on a smart new PCB rather than its original breadboard, and with built-in SD card and RTC support through readily available breakout boards, and banked RAM for CP/M support. You may remember the original from last year, when it was also a Hackaday Prize entry and stage finalist. From a Hackaday perspective this is particularly interesting, because it shows how the Prize can help a project evolve.

The Atmega32A uses the Arduino bootloader with programming through the ICSP port, and full instructions are given in the hackaday.io project page alongside all the files required to build your own board. There is no mention of whether boards can be bought, but we’d say this could be a commercial-quality product if they chose to take it in that direction.