• Welcome to Circuitbenders Forum.

Korg DDD-1 sampling board

Started by Circuitbenders, April 03, 2007, 09:34:28 PM

Previous topic - Next topic

plasticanimal

I'm just glad it has some way to hold sample memory. My Boss RSD-10 loses the sample after power down. Wonder if there is a way to back it up? Oh well, that's another thread. Thanks for the tips about the ROMs. I think I'll start with my old DDD-1 that's full of roach guts and God knows what else. Still runs like a champ though. ;D

Gordonjcp

The ROM pinouts will be standard JEDEC, as will the RAM chips.  You can replace the failed nicad with a nimh battery, because they are a straight drop-in replacement.
If at first you don't succeed, stick it through a fuzzbox.

niklasni1

Hello!

The DDD1 service manual (which is easily found online) has a nice description of the sampling board, as well as full schematics, pin-outs for connectors, etc, etc.

It turns out it's an incredibly simple affair, and completely isolated from the main system. Really, the communication consists of three signals, whether sample or play, which of the two banks to play, and when to start doing it.

This communication goes through a 82c55, completely standard chip that puts three 8-bit registers on a 8085-style buss.

The sampling and playback itself is implemented with the gate array that also controls the RAM, but if one were to reimplement it, one could basically ignore whatever Korg did and build a sampler based on those three signals, no need to reverse engineer it bit-for-bit. Samplers that match the sophistication of the Korg board are basically a set of up-counters and some battery backed RAM.

The 82c55 is also used to generate two control voltages, one for the pitch and one for the amp envelope, so you can set these from the main interface. You could duplicate the Korg schematics if you wanted to, or just handle the incoming digital values. Or ignore them -- the sampler board just passes analogue audio out.

HOWEVER

That's not what I'd do if I were to do it. No.

First I'd make a ROM emulator. Basically, you have a microcontroller with some memory, either flash chips or SD card, that pretends to be a ROM. This is fairly trivial, especially given that a modern ARM Cortex-M has I/O that's 10x faster than any signal in the DDD1.

Then I'd make a small board which plugs into the sample board slot, and takes the audio signal and the digital signals coming in from the main board and goes to the ROM emulator. The DDD1 thinks it's talking to the sampler board, and tells it to start sampling. But it's not sampling into battery-backed RAM in the sampler slot, it's sampling into the ROM emulator. So instead of assigning the pads to the sample slots to play sounds, you assign them to the ROM slot the emulator is plugged into. And now, instead of two slots for samples, you've got however many sound slots are on a ROM card. Multiplied by N, if the ROM emulator presents some interface for bank switching.

The only thing I'm a little hazy on is how to select which sound to sample into, but the ROM emulator could probably tell from the address that was last accessed -- i.e., the sound that was just played. So you assign a pad to the ROM slot you want to sample into, hit it, enter sampling mode, play your noise into the DDD1, and the sound is now in the ROM emulator. No changes to the UI necessary, and most likely no irreversible physical changes to the DDD1.