A Keyboard Interface For Your SInclair ZX

The SInclair ZX 8-bit computers of the early 1980s were masterpieces of economy, getting the most out of minimal hardware. The cassette tape interface was a one-bit port, the video was (on the first two models anyway) created by the processor itself rather than a CRT controller, and the keyboard? No fancy keyboard controllers here, just a key matrix and some diodes between a set of address lines and some data lines. The ZX80 and ZX81 were not very fast as a result of their processors being tied up with all this work, but it ensured that their retail price could break the magic £100 barrier in the British market, something of a feat in 1980.

A host of hackers still devote their time to these machines, and among them [Danjovic] has updated that ZX keyboard by producing an interface between that matrix and a PS/2 keyboard. As you might expect it uses a modern microcontroller board, in this case an Arduino Nano but it doesn’t stretch the imagination to think that a USB equipped board might perform the same task. It sits upon the relevant lines, and performs the necessary logical connection between them depending upon the serial input from an attached PS/2 keyboard. The project goes into some detail on PS/2 to ZX mappings, but perhaps of most interest is its explanation of the bus timings involved. The Arduino makes use of the ZX WAIT line to hold the Z80 and ensure that there is enough time for it to perform its task, it would be interesting to note whether or not this has a visible impact on BASIC program timing.

We are more used to seeing ZX keyboards being attached to PCs, rather than this way round.

ZX Spectrum image: Bill Bertram [CC BY-SA 2.5].

Spectrum Chiptunes On An STM

Some of us here at Hackaday are suckers for a bit of chiptune music as the backdrop for many excellent times. The authentic way to create chiptunes is of course the original hardware, but in 2019 it’s far more common to do so with an emulator on a modern computer. That computer doesn’t have to sport a high-end processor and desktop operating system though, as [Deater] shows us with his ZX spectrum chiptune player on an STM32L46G Discovery board.

The impetus for the project came he tells us while teaching students to code simple sine wave music players, having code already in the bag for emulating the classic AY-3-8910 sound chip on the Raspberry Pi and the Apple II he decided to port that to the STM32L476 dev board. An earlier version used the internal DAC, but this was refined to send I2S data to an external DAC. The code can be had from GitHub (confusingly buried among code for an LED driver), and we’ve attached a video below of it playing some chiptune goodness.

Of course, Sinclair chiptunes don’t grab all the limelight. There have been plenty of Nintendo and Sega players too. You might also recognize [Deater] from his non-chiptune work, porting Portal to the Apple ][.

Continue reading “Spectrum Chiptunes On An STM”

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.

 

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.

The Primordial Sinclair ZX Spectrum Emerges From The Cupboard

The Centre for Computing History in Cambridge, UK, receive many donations from which they can enrich their collection and museum displays. Many are interesting but mundane, but the subject of their latest video is far from that. The wire-wrapped prototype board they reveal with a flourish from beneath a folded antistatic mat is no ordinary computer, because it is the prototype Sinclair ZX Spectrum.

It came to the museum from Nine Tiles, a local consultancy firm that had been contracted by Sinclair Research in the early 1980s to produce the BASIC ROM that would run on the replacement for their popular ZX81 home microcomputer. The write-up and the video we’ve placed below the break give some detail on the history of the ROM project, the pressures from Sinclair’s legendary cost-cutting, and the decision to ship with an unfinished ROM version meaning that later peripherals had to carry shadow ROMs with updated routines.

The board itself is a standard wire-wrap protoboard with all the major Spectrum components there in some form.  This is a 16k model, there is no expansion connector, and the layout is back-to-front to that of the final machine. The ULA chip is a pre-production item in a ceramic package, and the keyboard is attached through a D connector. Decent quality key switches make a stark contrast to the rubber keys and membrane that Spectrum owners would later mash to pieces playing Daley Thompson’s Decathlon.

This machine is a remarkable artifact, and we should all be indebted to Nine Tiles for ensuring that it is preserved for those with an interest in computing to study and enjoy. It may not look like much, but that protoboard had a hand in launching a huge number of people’s careers in technology, and we suspect that some of those people will be Hackaday readers. We’ll certainly be dropping in to see it next time we’re in Cambridge.

If you haven’t been to the Centre for Computing History yet, we suggest you take a look at our review from a couple of years ago. And if prototype home computers are your thing, this certainly isn’t the first to grace these pages.

Continue reading “The Primordial Sinclair ZX Spectrum Emerges From The Cupboard”

Netflix Drops ZX Spectrum Homebrew Title Nohzdyve

The dark, dystopian future is ever-present in the Netflix show Black Mirror, but the latest release in the series, Bandersnatch, presents a decidedly different narrative. Bandersnatch is a branching story that follows the fictional events of a garage-programmer named Stephan who develops the titular game, Bandersnatch, for the Tuckersoft company set in 1980s England. The whole thing plays out as a choose-your-own adventure game fit straight off the Sega CD (albeit with actual full motion video) by allowing watchers to pick what happens next in the story. Not one to miss a cross-promotional opportunity, Netflix also released a playable ZX Spectrum homebrew title, Nohzdyve, developed by a friend of Hackaday, [Matt Westcott].

Keen viewers of Bandersnatch were able to ascertain that the screeching sound at the end of the show when loaded into a ZX Spectrum would display a QR code. That in turn led to a real website for the fake Tuckersoft company (thankfully in HTML). The website itself showcases the fictional company’s software library and upcoming releases, but it also took things a step further. The duality of Bandersnatch is carried over to the website as there are branching paths for those that remove ‘www’ from the URL. Doing so reveals Tuckersoft’s website from an alternate timeline where Bandersnatch was never created, however, a downloadable copy of Nohzdyve in a .tap file is there for the taking.

The Nohzdyve game itself is a vertically scrolling action game that uses the ZX Spectrum’s garish color palette to great effect. Racking up a high score in the game can be done via emulator (for example Speccy) or for the most authentic experience, on real hardware. This may be the best reason to fire up a tape drive in a while, but for those seeking the less-analog approach there is always this gameplay footage from Mr. Tom FTW’s channel:

Continue reading “Netflix Drops ZX Spectrum Homebrew Title Nohzdyve”

Little Emulators Do 8 Bits At A Time

Have you ever wondered how many, for example, Commodore 64s it would take to equal the processing power in your current PC? This site might not really answer that, but it does show that your machine can easily duplicate all the old 8-bit computers from Commodore, Sinclair, Acorn, and others. By our count, there are 86 emulators on the page, although many of those are a host machine running a particular application such as Forth or Digger.

If you are in the US, you might not recognize all the references to the KC85, this was an East German computer based on a Z80 clone. Very few of these were apparently available for personal purchase, but they were very popular in schools and industry. These were made by Robotron, and there are some other Robotron models on the page, too.

Continue reading “Little Emulators Do 8 Bits At A Time”