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 :
- TR-707
- TR-727
- TR-808
- TR-909
- LinnDrum
- LM-1
- DMX
- TR-707 + TR-727 mix (handy for those who don’t own both machines)
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. An optional add-on board now allows these to be changed as well.
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 machines' 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 :
- Program ROM - different SysEx ID, demo track, default MIDI note numbers
- Slightly different filtering, panning and volume on voices
- Voice tuning - the TR-727’s low conga plays at 25kHz, while the equivalent low tom on the TR-707 plays at 12.5kHz. This really just results in the order of the toms being shuffled around if you use a bank other than the stock sounds on the TR-727
Bank select system
A microcontroller is used to hook into the TR-707's front panel switch matrix and detects certain button presses - holding down the ENTER button and pressing one of the first 8 step keys will select one of the 8 banks of sounds. This can be done at any time while the TR-707 is running, even while a pattern is playing, and the selection is remembered when the power is turned off. The new 'Rev. 2' board also allows the bank to be selected with MIDI Program Change messages on channel 10.
Downloads
- Installation instructions for newer versions (kits supplied with a 10-way ribbon cable)
- Installation instructions for original version (kits supplied with a 9-way ribbon cable)