YAMAHA DX100

The DX100 is a 4 operator FM synth that was first produced around 1986 and was the smallest and cutest of the seemingly endless Yamaha DX series. Essentially its a miniature battery powered version of the DX27, but with a tiny toy keyboard. The guitar strap connections on either end, and the placement of the pitch bend and mod wheels on the rear left of the machine would suggest that it was originally intended to be worn as a keytar. To get an idea of the size of this thing, its about 60cm long, or slightly smaller than one of the larger Yamaha PSS or PSR home keyboards.

Circuit Bent Yamaha DX100

If you don't know anything about FM synthesis you can get a quick overview from wikipedia HERE, but essentially the principles are as follows:

We're willing to bet that most FM synths are still programmed pretty much randomly, with very little real understanding of how the operators actually interact with each. In that spirit of random abuse, we have added 8 'dataline' cut switches to this DX100.

Circuit Bent Yamaha DX100 switches

Dataline cutting is a fairly common mod that can also be installed on many of the smaller Yamaha toy keyboards from the 80's and early 90's, as long as they use some form of FM synthesis.

The basic FM circuitry setup consists of a CPU, some kind of RAM/ROM chip, and an FM synthesis chip. On a toy keyboard with 100 preset sounds, when you select a preset the CPU will tell the ROM to pull up the parameters for that sound and send them via 8 data lines to the FM synthesis chip. The synth chip then recreates the stored sound from that data so you can play it.

The 'dataline cut' mod involves installing on/off switches across all eight of these data lines so you can individually disconnect them and prevent certain sections of the sound setup data from getting to the FM chip. You can see the FM chip from the DX100 on the schematic below. The data lines are the pins labelled D0-D7.

DX100 FM chip

On a toy keyboard with preset sounds this mod is achieved by disconnecting datalines with the switches, and then selecting a new preset sound. The sound produced will be related to the preset sound you selected, but the missing parts of the setup data tend to result in something totally alien. You can repeat this process as many times as you like for sounds that get more and more bizarre. Below is a demo of a Yamaha PSS270 modded in this manner.

 

This mod seems to work differently on the DX100. The DX100 is programmable and responds to midi sysex messages to alter most of its parameters. As a result the CPU seems to be continually updating the FM chip with sound setup data. This means that the effect of disconnecting datalines is usually heard immediately in some form or other, rather than having to wait for a new stored sound to be selected.

The really weird bit is that each voice of the DX100's eight note polyphony is usually affected by the missing parameter data in a slightly different way. This means that once the datalines are disconnected, each successive note you play will use a different sound to the previous note, but repeating in an eight note cycle. Basically if you played 8 notes one after the other then each individual note would be played using a different sound, but note 9 would use the same sound as note 1, note 10 would use the same sound as note 2 etc etc. Obviously you don't actually have to play the same notes repeatedly.
Its difficult to explain, but essentially it allows you to programme very strange eight note sequences with a different, but related sound produced on every note. Have a listen to the demos at the bottom of the page to get an idea of the kind of evolving alien sequences this can generate.

Circuit Bent Yamaha DX100

You can connect or disconnect as many data lines as you want at any time. The only minor drawbacks are that the DX100 will inevitably crash every now and then as it can't really deal with this kind of abuse, and you can't actually store the resulting sounds in memory as the parameters tend to go to values outside of what can normally be programmed. With a bit of practice the crashing issue can be largely avoided as long as you are careful about the switch combinations you use and when you chose to use them.

Listen to the demos below for an idea of the kind of sounds this mod can produce. All of these demos were recorded using an arpeggiator from an external sequencer playing the DX100 via midi.


UPDATE: 5/12/15

This new version has the 8 data line cut switches, band alos has a couple of extra mods in the form of a switchable LTC1799 clock speed/pitch control, and a new knob that duplicates the effect of having a breath controller.

Modified Yamaha DX100 mk2

The clock speed knob controls the spped of the whole system. This means it will also control the clock speed and therefore the pitch of the synthesis circuitry. You can get down to some glacially slow playback speeds where the sound becomes a wash of dark granular noise.
The only drawback is that changing the clock speed of the whole system also changes the response speed of the midi and keyboard scanning, meaning that at very low clock speeds you can hear a noticable gap between pressing a key or playing a midi note, and the DX100 actually responding.
The pitch control is switchable between standard pitch and knob control. Unfortunately this switch has to be done with the synth turned off, or else it will crash.

circuit bent Yamaha DX100

The breath control mod adds a knob that can simulate using the Yamaha BC1 external breath controller. The breath controller input can be assigned to several parameters, and these can now be controlled with a knob, rather than having to sit there looking like a gurning muppet blowing into a silver dummy.
The breath controller source can be switched from the knob to the normal input.