Four Chips To Retro Perfection

Over the years, we’ve seen many people build a computer from the ground up. It’s always great, but this one takes the cake. I’m not just saying that because there’s a cute little ‘Z80 Inside’ logo on the silk screen, either. It’s a four IC Z80 computer, a tiny board, and [Just4Fun]’s entry into this year’s Hackaday Prize.

This single board computer is only four chips, the most important being the CMOS Z80 CPU. This is the same CPU as was found in the TRS-80 and the ZX Spectrum, both classics from the early days of computing. In addition to the PCU, there’s a Toshiba SRAM with 128 whole kilobytes of random access memories. A 74HC00 is thrown into the mix for glue logic, and everything else happens through a specially-programmed ATMega32A. This last chip provides a universal I/O subsystem, the EEPROM, and the 4/8MHz clock for the CPU.

Those four chips are really all you need for a fully functional computer, but you can do so much more with this little board. There’s a uCom board, or basically a ‘transparent’ USB-to-serial emulator that will allow you to upload a hex file to the board. Of course this means you can also connect it to a terminal, and with FuzixOS, there’s Unix for the Z80. It’s a wonderment of retrocomputing, and one of the best ways to build an old computer today.

Continue reading “Four Chips To Retro Perfection”

Retrocomputing For The Masses Hack Chat

Join us on Wednesday 29 May 2019 at noon Pacific for the Retrocomputing for the Masses Hack Chat!

Of the early crop of personal computers that made their way to market before IBM and Apple came to dominate it, few machines achieved the iconic status that the Sinclair ZX80 did.

Perhaps it was its unusual and appealing design style, or maybe it had more to do with its affordability. Regardless, [Sir Clive]’s little machine sold north of 100,000 units and earned a place in both computing history and the hearts of early adopters.

Spencer Owen is one who still holds a torch for the ZX80, so much so that in 2013, he hatched a seemingly wacky idea to make his own. A breadboard prototype of the Z80 machine slowly came to life over Christmas 2013, one thing led to another, and the “RC2014” was born.

The RC2014 proved popular enough to sell on Tindie, and Spencer is now following his dream as a retrocomputing mogul and working on RC2014 full time. He’ll be joining us to discuss the RC2014, how it came to be, and how selling computing nostalgia can be more than just a dream.

join-hack-chatOur Hack Chats are live community events in the Hackaday.io Hack Chat group messaging. This week we’ll be sitting down on Wednesday May 29 at 12:00 PM Pacific time. If time zones have got you down, we have a handy time zone converter.

Click that speech bubble to the right, and you’ll be taken directly to the Hack Chat group on Hackaday.io. You don’t have to wait until Wednesday; join whenever you want and you can see what the community is talking about.

 

Pitting 8-Bit Chess Games Against Modern Foes

UltraChess is a vintage chess game for the 8-bit MSX platform, running on the Z80. [flok] wondered just how capable the game really was, and set forth to test it against a variety of other chess engines.

Having been designed in the 1980s, UltraChess is far from up-to-date as far as the chess software world is concerned. By using the OpenMSX emulator to run the game, [flok] was able to implement scripts to read and write the gamestate in UltraChess, and make it compatible with the Universal Chess Interface. This would allow UltraChess to be played off against a variety of other chess engines to determine its approximate ELO rating.

The scripts worked well, and are available on Github for those who wish to tinker further. Unfortunately, [flok] has thus far been unable to determine a rating for UltraChess, as it has lost every single game it has played against other chess engines. This is unsurprising given the limited processing power available, but we’d love to see a tweaked and hotrodded Z80 chess program take on the same challenge. If you’ve done such a thing, let us know, or alternatively  you might like to try playing like Harry Potter.

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”