Accurate Dispensing Of Toilet Paper Will Get Us Through The Crisis

As we enter our second week of official COVID-19-related lockdown where this is being written, it’s evident that there are some resources we will have to conserve to help get us through all this. Instead of just using all of something because we can nip out to the store and buy more, we have to look at what we’ve got and treat it as though it will have to get us through the next three months. It’s not always certain that on our infrequent trips to the supermarket they’ll have stocks of what we want.

This is the very last of the toilet paper in my local supermarket, on the 8th of March.
This is the very last of the toilet paper in my local supermarket, on the 8th of March.

A particular shortage has been of toilet paper. The news was full of footage showing people fighting for the last twelve-pack, and since early last month there has been none to be had for love nor money. To conserve stocks and save us from the desperate measures of having to cut the Daily Mail into squares and hang them on the wall, a technical solution is required. To this end I’ve created a computerised toilet roll dispenser which carefully controls the quantity of the precious sanitary product, in the hope of curbing its consumption to see us through the crisis.

In the midst of a full lockdown it’s difficult to secure immediate delivery of our usual maker essentials, so rather than send off for the controller boards I might have liked it has been necessary to make do with what I had. In the end I selected an older single board computer I had in a box under my bench. The Sinclair ZX81 has a single-core Z80 processor running at 3.25 MHz, dual-channel memory, a Ferranti GPU, and plenty of expansion possibilities from its black plastic case. I chose it because I could repurpose its thermal printer peripheral as a toilet paper printer, and because it has an easily wiped and hygienic membrane keyboard rather than a conventional one that could harbour germs.

Hardware wise I found I was fairly easily able to adapt a standard roll of Cushelle to the ZX printer, and was soon dispensing sheets with the following BASIC code.

10 REM TOILET PAPER PRINTER
20 FOR T=0 TO 44
30 LPRINT ""
40 NEXT T
50 LPRINT "---------- TEAR HERE -----------"

For now it’s working on the bench, but it will soon be mounted with a small portable TV as a monitor on the wall next to the toilet. Dispensing toilet paper will be as simple as typing RUN and hitting the ZX’s NEW LINE key, before watching as a sheet of toilet paper emerges magically from the printer. It’s the little hacks like this one that will be so useful in getting us through the crisis. After all, this Sinclair always has a square to spare.

Two Vintage Calculators In One

The FPGA revolution that occurred within the past few decades was a boon to many people interested in “antique” electronics. The devices “wire together” logic elements as needed rather than emulating chips completely in a software layer, which makes them uniquely suited for replicating chips that are rare, no longer in production, damaged, or otherwise lost. They also make it easy to experiment with hardware, like this project which combines two antique calculators into one single unit.

The two calculators used in this combination device are the TI Datamath and the Sinclair Scientific, both released in the early 1970s, the former of which has been extensively documented and reverse engineered on at least one occasion. The reproduction from [zpekic] has a toggle that allows the user to switch between the two “modes”. This showcases the power of microprogramming and microcode, and of the FPGA platform itself. Although both modes are functional, there are still a few bugs resulting from how different the two pieces of hardware were, which is really more of an interesting facet of this project than anything.

The build is a great showcase of FPGA technology, not to mention a great read-through for understanding these two calculators and their fundamental differences in data entry and manipulation, clock cycles, memory, and everything in between. It’s worth checking out, even if you don’t plan on using a decades-old calculator in your day-to-day life.

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”