Sinclair BASIC For Today

If you are of a certain age, your first exposure to computer programming was probably BASIC. For a few years, there were few cheaper ways to program in BASIC than the Sinclair ZX series of computers. If you long for those days, you might find the 1980-something variant of BASIC a little limiting. Or you could use SpecBasic from [Paul Dunn].

SpecBasic is apparently reasonably compatible with the Spectrum, but lets you use your better hardware. For example, instead of a 256×192 8-color screen, SpecBas accommodates larger screens and up to 256 colors. However, that does lead to certain incompatibilities that you can read about in the project’s README file.

Continue reading “Sinclair BASIC For Today”

Sinclair QL Repairs And Restoration

[Noel] was in possession of two non-working Sinclair QLs and made a series of videos about his attempts to repair and restore them. If you don’t remember the QL, it was a computer by the famous Clive Sinclair and while it was ahead of its time in some ways, it didn’t become as ubiquitous as some of its siblings or the IBM PC. It did, however, develop an almost cult-like following. You can see the trilogy of videos, below.

The machine was sophisticated for its day–after all, the QL was for quantum leap. Based on a Motorola 68008 processor running at 7.5 MHz, the QL included 128 KB of RAM and could handle up to 896 KB, a respectable amount for 1984. It even had a proprietary network interface. However, it was especially well known for having a pair of microtape drives. These were nicer than cassette tapes but perhaps not as handy as floppy disks. They were, however, cheaper to put into a computer. While there was an official operating system, it wasn’t long before most QL users switched to Minerva, a better OS.

Continue reading “Sinclair QL Repairs And Restoration”

The ZX Microdrive: Budget Data Storage, 1980s Style

An enduring memory for most who used the 8-bit home computers of the early 1980s is the use of cassette tapes for program storage. Only the extremely well-heeled could afford a disk drive, so if you didn’t fancy the idea of waiting an eternity for your code to load then you were out of luck. If you had a Sinclair Spectrum though, by 1983 you had another option in the form of the unique Sinclair ZX Microdrive.

This was a format developed in-house by Sinclair Research that was essentially a miniaturized version of the endless-loop tape carts which had appeared as 8-track Hi-Fi cartridges in the previous decade, and promised lightning fast load times of within a few seconds along with a relatively huge storage capacity of over 80 kB. Sinclair owners could take their place alongside the Big Boys of the home computer world, and they could do so without breaking the bank too much.

Continue reading “The ZX Microdrive: Budget Data Storage, 1980s Style”

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.

20 FOR T=0 TO 44
30 LPRINT ""
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”