Roland TR-707 ROM Expansion

Introduction

You asked for it, now here it is – a ROM expansion kit for the Roland TR-707 and TR-727. It gives the machine 8 banks of sounds you can select, including the stock sounds from both the TR-707 and TR-727, so you can turn one into the other (to an extent – more on this later).

Changing between 8 banks would be a bit cumbersome using toggle switches, and I didn’t want to spoil the machine’s futuristic looks either, so this time the bank switching is done by holding down one of the first 8 step keys while turning the machine on. The setting is remembered and will be recalled the next time it’s turned on. There are no modifications to the outside of the machine, and the installation is easily reversible.

Apart from having different sounds, a modified TR-707 / TR-727 behaves exactly the same as a stock unit, no functions are lost. The machine should also be compatible with any other modifications or circuit bends you may have fitted, such as voice tuning, hi-hat decay mods etc.

I’d like to extend a huge thank you to Sunshine Jones, who donated the TR-727 which I used to develop the modification, and who also provided the excellent TR-808 and TR-909 samples which were used in the expansion banks.

The 8 banks included are :

The ROM expansion kit will switch out all of the sounds (referred to as a bank) apart from the last two sounds (crash + ride / quijada + chime), which will remain the same across banks, as they are stored on their own ROMs in a different part of the machine. I may produce an optional add-on board that can switch these as well if there’s sufficient interest.

Sample ROM address map / encoding

Apart from the last two sounds as mentioned above, all of the sounds are stored as 8-bit linear PCM at either 12.5kHz or 25kHz, across two Hitachi HN61256 32kB mask ROMs and read out using a multiplexing system. These ROMs are a bit unusual in that i) they require a clock signal on the CS line to latch out their data; and ii) could be configured at the time of manufacture with the CS signal either active high or active low, which allows for both chips to be wired directly in parallel for a combined address space of 64kB.

The last two sounds (crash & ride / quijada & chime) are not multiplexed and instead have their own dedicated counters and DAC. This circuitry was more or less recycled straight from the TR-909’s crash and ride cymbals, albeit with different sounds in the ROMs. They are stored as 6-bit linear PCM at 25kHz.

When it came to dumping the TR-727’s stock ROMs for inclusion in the expansion, I was a bit stumped as how to get my chip programmer produce the clock signal until I realised I could instead tell it that it was reading a 64kB ROM, use A0 for the CS line and offset all the other address lines up by one; before finally discarding every other byte in the resulting dump.

TR-707 :

Sample at address Sample length Starting address Sample rate ROM
Bass drum 1 4k (even bytes) $0000 25,000 IC34
Bass drum 2 4k (odd bytes) $0001 25,000 IC34
Snare drum 1 4k (even bytes) $2000 25,000 IC34
Snare drum 2 4k (odd bytes) $2001 25,000 IC34
Low tom 8k $4000 12,500 IC34
Mid tom 8k $6000 12,500 IC34
Hi tom 8k $0000 12,500 IC35
Hi-hat 8k $2000 25,000 IC35
Rimshot 4k (even bytes) $4000 25,000 IC35
Cowbell 4k (odd bytes) $4001 25,000 IC35
Hand clap 4k (even bytes) $6000 25,000 IC35
Tambourine 4k (odd bytes) $6001 25,000 IC35

TR-727 :

Sample at address Sample length Starting address Sample rate ROM
High bongo 4k (even bytes) $0000 25,000 IC34
Low bongo 4k (odd bytes) $0001 25,000 IC34
Mute hi conga 4k (even bytes) $2000 25,000 IC34
Open hi conga 4k (odd bytes) $2001 25,000 IC34
Low conga 8k $4000 25,000* IC34
Hi timbale 8k $6000 12,500 IC34
Low timbale 8k $0000 12,500 IC35
Whistle 8k $2000 25,000 IC35
Hi agogo 4k (even bytes) $4000 25,000 IC35
Low agogo 4k (odd bytes) $4001 25,000 IC35
Cabasa 4k (even bytes) $6000 25,000 IC35
Maracas 4k (odd bytes) $6001 25,000 IC35

* note that sample rate for TR-727's low conga is twice that of the TR-707's low tom

TR-707 / TR-727 differences

Apart from the obvious sound and cosmetic differences, the TR-707 and TR-727 differ in a few other ways :

Bank select system

As mentioned earlier, banks are selected by holding down one of the first 8 step keys at power-on. This is accomplished with a microcontroller, which connects to the panel board with a ribbon cable to hook into the machine’s key scan matrix. It waits for the row select line to go high and then reads the data bus to get the status of those 8 keys.

If one is pressed within the first second of running, it outputs the appropriate bank select code to the sound ROM, and stores the setting in non-volatile memory for recall the next time it’s powered on.

Downloads

Purchase

This project is available for purchase as a self-install kit. It includes the pre-assembled expansion board, DIP socket and ribbon cable.

Photos