Drum Synthesiser revisited

After a hard day’s coding, I decided to spend a bit of time this evening getting Synthesizer Dave’s Casio RZ1 finished off. Please bear with me, while this starts of as a bit of a “hardware hacking story”, there is an educational point to this discussion which you will see towards the end.

The RZ1 being an old device, is a bit of a dream to work on – no hidden clips, no strange star screws, just good ‘ol nuts and bolts and circuits you can see what is going on with.

Tonight’s task was to fix the sample 3/4 playback volume slider. I’d looked through my bag of pots and couldn’t find anything remotely like the sliders on the RZ1 – probably too old to find something with exactly the same dimensions and pinout. Dave and I discussed this at the weekend, and we’d decided to swap out one of the working Pot’s on one of the 10 drum channels to replace the sample 3/4 volume slider. Besides, I could fit a 10K resistor to the sacrificial lamb and hardwire it to “max”, we wouldn’t loose the channel, but we would then gain two user definable sample buttons – which is key to Dave generating the sound that he wants for his new drum track.

In the Lab

Soldering iron and solder sucker in hand, and I got the two pots out and moved it over – lovely big tracks, lots of space to get in with the solder sucker, quite easy to get out in the end – none of this pansy surface mount stuff that you need a microscope to even see!

Here’s the board with the Pot removed and a tiny 10K resistor fitted on the left in it’s place to simulate the pot being at max…

Of course, a Pot has 3 terminals – the two ends of the resistor and the wiper in the middle. So I tacked a wire on the back for the other connection…

Pot simulator fitted, all the lid back on – turned it on and the display came up in Japanese. Oh dear. Nothing in the manual about that, so pressed lots of buttons thinking I had entered some strange mode. All the numbers were correctly displayed, but all text came up in Japanese symbols (well, the best you can represent on an 8×8 dot matrix character set).

Scientific experiment

Then I thought “now if I was the software engineer that designed this system, how would I do language variants”. My way of implementing this would have been to have a link on the board somewhere read by the software at startup, which would switch the character set table and change the text strings on the display. Nothing obvious on the display board, so it must be on one of the other boards.

Then, asking myself that obvious question “what has changed – it used to work”, I came up with a scientific hypothesis – the link must be on the top board, and it’s sent over a wire on the ribbon cable to the main processor board. If the ribbon cable (which I removed several times to get the board in and out) had been disturbed, then it’s not reading the option properly.

Experiment and observation then takes place – remove and re fit all the ribbon cables, power it up, and it’s back in English again.

Plugged it in, pressed the START button and a lovely drum pattern came out. Pressed the Sample 3 and Sample 4 and hooray! They work at last!

My dog didn’t eat the homework

To stop this being one of those “the dog ate my homework” style anecdotes, let’s turn this into a learning opportunity. While the top was off, I scanned around the main board to look at some of the main chips on the board…

The big chip on the right running north to south is a Z80 variant by the looks of it (the embedded variant). The 4 big chips running east/west are ROM and RAM, and the other big chip on the left running north/south is another RAM chip – and notice the round silver battery near the bottom of the board – yep, that must be the battery backed RAM that holds the user samples. The smaller chips at the bottom left running north/south are various TTL logic gates, presumably dealing with chip selects, address decoding and other such things. All the ingredients of a real computer laid out there in front of me.

How would you explain modern tech to kids?

This got me thinking about how I might explain the innards of modern technology to kids at the STEM clubs – the problem with modern technology is that it’s all cost reduced, high volume and fully integrated. If there are 5 chips on the circuit board of a mobile phone, that’s probably because there are 5 different processors for things such as the main CPU, the wifi, the bluetooth, the Radio – not that they are 5 parts of the same computer system, but they are 5 separate computer systems. I heard an audioboo recording by Alan O’Donohoe @teknoteacher a while back, where he explains how he quized his GCSE computing students to define what a computer was, and challenged them when they listed keyboard and screen as parts of a computer [5]

I was looking through the OCR GCSE Computing specification in ref [1] below at what parts of a computer system kids learn about in school – they learn about the CPU, ROM and RAM, input and output, all the main building blocks. I then followed a reference to the Teacher Resources in ref [2], and found a lovely set of lesson plans and resources called the “Little Man Computer”. This is a complete computer instruction set with 8 instructions, a little bit of memory, and with it you can do real sums. The exercises ask the kids to say what is in memory at the start, write some instructions with real op codes and operands, and say what is in the memory after the program has completed.

A few weeks ago I went to the Milton Keynes Raspberry Jam at The National Museum of Computing, and met, who I cheekily referred to on the day as “the bearded one” @PeterOnion. Peter is a really interesting chap, and I spent quite a long time looking through the circuit diagrams of the Elliot machine with him – fascinating machine. But, before that, we had a demonstration of The Witch [3] – an old Dekatron computer. A Dekatron is a neon-like device that generates no heat, but has 10 positions. Because the positions are held by what is effectively a 10 position neon light, you can see what it is doing. See Ref [4] that has a fantastic demonstration of what a Dekatron looks like as it changes value.

In our demonstration of The Witch (recently restored to full working order), we were shown a multiplication routine running, and we could see each of the Dekatrons changing – this allowed us to see what data was in every memory location of the computer. There is even a push button on a bit of wire that you can press which single steps through instruction at a time, and also a mode where you can single step each micro-step of each instruction (seeing individual dekatrons change and hearing individual relays in the control unit change).

The program that the Witch was running, was listed out on a large board to the right, along with another large piece of card showing the very tiny instruction set that the computer had to operate from. Amazingly, this was very simple but very powerful, about as simple and as powerful as the “Little Man Computer” in the OCR sample lesson.

Relating this to tonight’s experience of popping the top off of an old computer controlled drum machine, it made me realise something. One of the reasons kids find it hard to relate to the innards of computers these days, is that we’ve cost reduced them and squashed them so tiny and into single packages, that it’s no longer possible to see the boundaries of the different modules. Even the Raspberry Pi, lovely machine that it is, is not a great “role model” for such a task – with its PIP (package on package) architecture where the RAM is sandwiched on top of the processor, even that’s not much use to allow kids to point at the different bits.

I must make a mental note to speak to @PeterOnion about exploring the option of using The Witch as a way to put together some resources for schools – what a great machine it is, you can see right into the insides of it’s memory, you can point at bits of metal and lights that light up and say “that bit is the memory” and “that bit is the program counter” and “that sound is the control unit clicking away”.

Links to further reading

[1] OCR GCSE Computing Specification

[2] OCR Sample lesson plans

[3] ‘The Witch’ Computer

[4] The Dekatron

[5] Alan O’Donohoe GCSE Computing audioboo recordings


This entry was posted in Older Stuff. Bookmark the permalink.

Comments are closed.