Memory Expansion for DeltaLab Effectron I (ADM1020)
I have several digital delays, but they all have approx. 1 sec maximum
delay. While you can get longer delays in various FX boxes nowadays, I
really want the easy-access user interface of the old Echo units, where
you can continuously change the length and feedback with a dedicated knob.
I also prefer discreet (well, MSI) adress counters to DSPs or ASICs, as
you can hack the counting / reset more easily.
After a fruitless search for a cheap digital delay that fits my needs,
I decided to expand the memory of my DeltaLab Effectron I. This box looks
like the cheapest one of an entire line of FX devices, and while covering
Flanger / Chorus / Echo delay ranges, the Echo section is quite basic.
You can tune it from 250msec to 1sec with a knob that is shared by the
LFO modulation depth, you can set positive or negative feedback (with a
nice HF rolloff), and that's about it.
I wanted to have at least the double delay time (2sec is still not
much, but it's way more useful than 1sec.), a non-deteriorating
infinite repeat switch ("Loop"), and the ability to record a 1sec Loop
first and then double it to 2sec, to add more input signal on the 2sec
loop afterwards.
As it turned out, this is quite easy to accomplish on the ADM1020 (and
probably on other DeltaLab
products, too.)
DeltaLab used a special type of Adaptive Delta Modulation (ADM),
which they continuously improoved over the years. You might take a look
at US-Patents #31720, #4190801, 4254502, #4305050, #4313204 and #4462106.
This is much more sophisticated than the cheap ADM projects that were published
in various magazines as musical diy projects. (Elrad Delta-Delay, and others)
The great thing is that the patent text even has component values shown
!
While the whole ADM method is just of historic interest today (The
main advantage was that you got long delays with minimum RAM size ...),
the lucky electronics hacker benefits from the 1bit
data stream that was fed into a dedicated input pin of a RAM chip,
and was read out of the RAM chip at another dedicated pin. Allthough there
was some multiplexing needed for the adress inputs
(CAS, RAS), the data stream is handled as easily as you could
dream of.
For memory expansion, you just solder a new RAM chip on top of one
that's already in the circuit, simply soldering all pins down to the
corresponding pins of the original chip, except the two pins for
Data In and Data Out, which are bent sidewards. The new RAM is thus supplied
with all the voltages, strobes and adresses of the original one, and you
can connect the Data path of the new RAM in series with the Data path of
the old RAM with minimum re-wiring.
How is it done ? The following pictures should explain it all.
(The new RAM chips are drawn separate from the old ones, but they should
be mounted on top of the old ones, as just described.)
You need two additional switches - there is enough blank space on the
front panel. I have tried the modification just as it's shown in the drawing,
and in a second step I've used electronic switches instead (4053). There
was not much difference in performance, so I decided to publish the easy
version.
If you only want to expand the time of the delay, you don't need switches
at all. Just connect all 6 RAMs in series (data wise). The way Ive done
it, you can run it in 1sec mode, fill both halves of the RAM in parallel,
and then make a seamless switch to double the loop time. This is one of
the features I really wanted, and it works well with just two 10k resistors
for "normalizing" the data path, and overriding this with a different,
lower impedance, data path when the switches are closed.
Warning (as usual):
While I have actually built this into my ADM1020, I take no responsibility
if it does not work on yours, or if you damage anything. It's at your own
risk !
Good luck, and give me feedback if you're doing similar things, or if you have a long Delay (> 4sec) for sale.