Tuesday, February 25, 2020

Eurorack to Oscilloscope Adapter

Here's another very simple adapter. 3.5mm to BNC, to allow patch cables to be plugged into a 'scope.

Required Parts:





Friday, February 21, 2020

DR-55 Battery Backup

I made a simple adapter to run my DR-55 from a wallwart instead of a battery. The DR-55 uses the battery to preserve the pattern memory, and my adapter forced me to remove the battery. So, I added a coin cell that is able to retain the patterns, and leaves room for my adapter.

This modification might still be useful without the wallwart adapter. It lets you remove, or run down your AAs without losing your patterns.
The modification requires:

I chose to replace the battery wires with JST terminated wires. This makes it easy to remove or replace the battery holder. I think it's nice to be able to easily "undo" a modification.

I then soldered a schottky diode in series with the battery. This prevents another power source attempting to "charge", and destroy the CR2032 coin cell. A schottky diode is used for the low voltage drop it offers. This lets the RAM see a higher voltage from the battery, and function longer as the voltage decreases.
The white line of the diode points away from the battery, and the other end is soldered to the red wire. A little heat shrink tubing keeps the diode lead, and wire, from shorting anything.


I attached the battery as shown across capacitor 39, as it bridges the RAM's supply pins.



I closed the machine up and slid the battery holder between the case and PCB. It can also be mounted in the battery compartment with some adhesive foam.


That's it! Make sure the holder is switched to "on" and that you put one battery in it. The holder is made for two batteries, but works fine with just one. In fact, two cells offer a bit too much voltage for the RAM, and may shorten its life.

Breadboard Friendly 3.5mm Jacks

Here's an easy one, breadboard friendly 3.5mm jacks. I got tired of struggling to connect eurorack patch cables and breadboards, so I put Dupont connectors on a 3.5mm pigtail. No soldering required, just crimping.

Here are the pigtail cables , and crimping kit I used.


Monday, February 17, 2020

Williams Defender Sound Disassembly

Here's something different, an in progress attempt to reverse engineer the sound board for the arcade game "Defender" (and others). The sounds are very recognizable, and unique to Williams arcade/pinball machines. They always interested me, so I'm making an attempt to understand them better.

The board is based around a 6808 CPU (relative of the 68000), and a DAC attached to an IO controller. The binary is floating around the web, as is this great disassembler: DASMx. I used it to disassemble the ROM into a code listing, and started commenting it.

Here are the schematics from one of the compatible service manuals:


I was able to use the schematics to figure out the memory map. This helps understand the significance of certain read/writes in the code.
RAM: $0000 - $007F (128 Bytes)
PIA: $0400 - $07FF
ROM: $F800 - $FFFF (2KB)

By loading the ROM into audacity I was able to see some recognizable shapes. These are the waveforms/look up tables stored alongside the code. Some are played directly, while others are used to modulate things like pitch, or volume.

There are some interesting tricks done in the code, and I hope to explain them here one day. Things like dynamically generated delay loops, and something akin to granular synthesis...

Until then, the current version of the commented disassembly lives here.

Friday, July 12, 2019

Cyclone TT-606 Kick Drum Decay Fix

I recently purchased a Cyclone Analogic TT-606 and was dissatisfied with the sound of the kick drum. Comped to my TR-606, it's too boomy. The decay is too long and the transient is muffled. I opened it to see if it could be fixed.

There is a sticker on the underside that covers two screws. This label can be heated and easily removed. I used a reflow station set to to its lowest setting.
There are also some snaps that must be pried apart somehow. I was able to use a guitar pick.

Once inside, there's a nicely labeled PCB with a "BD" section.



The board does not lend itself to being reverse engineered, despite the labeling. The solder resist makes it difficult to see the traces. It also makes it near impossible to shine light through the board. Additionally the solder resist covers the vias, making some signals harder to follow.

Despite this, it wasn't too hard to figure out. It is extremely similar to the TR-606 schematic, including component values.



I redrew the TT's kick similarly, until I found the difference. One of the two oscillators is mostly the same, the other has drastically different values.



It turns out that they roughly doubled the values for the leftmost oscillator's resistors. This increases the Q-factor, affecting the decay.
They also put a digital pot in parallel with R27 to give a kind of tuning control. The digital pot is a 10K that, when in parallel with R27's 6.8K, gives an equivalent 4K down to 500Ω. This is in series with R25, yielding a total equivalent range of  1.18K to 4.68K. Our original TR value of 3.3k falls inside this range, so it doesn't strictly need to be changed.

R28 and R90 sum to 1.24M instead of 680K. Something must be changed here. There are multiple ways to come up with a value around 680k. 1.5M in parallel would work, but I opted to change R28 to a 470K. This gives 710K and I find it suits my taste.



Here we can see a before and after of the kick waveform. Also included is a real TR-606 at the bottom. The TT is much tighter now and the transient is slightly louder than before.


While I was comparing the before and after, I noticed that the TT's triggers are too long! TR triggers are all 1ms while the TT's are 2ms. This is part of the issue with the transient and isn't as simple to sort out. Either a firmware patch is needed, or some kind of monostable osc would have to added onto every trigger.

Sunday, February 17, 2019

PAiA 8700 Schematic Redraw

The PAiA 8700 computer is an optional part for the PAiA 4700 modular system. It gives you the ability to run software like a "pink music" generator.

I took interest in it because it combines my favorite CPU, the 6502 (6503 here), and analog synthesis. It's pretty hard to find one these days, but PAiA published the schematics and they're still available. I needed them in Eagle CAD format to be able to work on them, so I redrew them here. In the process, I like to think I've improved the clarity and layout of the schematic.
The board is as close a reproduction as I could manage.

I've also typed out the original assembly source file and assembled binary.

Files available on my github




Also, a memory map. Why not?


I was able to find some NOS and begin assembling a brand new 8700 reproduction. More to come.

Saturday, December 8, 2018

Boss DR110 Modifications

Here's one from the archives, a set of changes I made to a Boss DR110. Here's the finished product, rehoused in a gun case.


Here is a version of the schematic that includes the modifications. It's pretty rough, as I never intended to share it, but here it is.


Most of the modifications are simple pot-for-resistor swaps and are already well documented. I scraped a few together in my notes:
Kick Pitch - R70
Kick Decay - R86
Kick "Oomph" - R70(add 10uF) 
Snare Tone - R80
Snare Body Pitch - R76/ R75
Snare Snappy Mix - R81
Snare Snappy Decay- C52/R84 
HiHat Tone - R14
Open HiHat Decay - R20
Closed HiHat Decay - R53
Cymbal Decay/Tone - R47/R44 
Clap Pitch/Mix - R114/R115
Clap Decay - R113/C50
 Also included is the standard DINSync mod that uses a 74*74 as a clock divider.





At the top is a simple replacement for the built in cymbal/metallic oscillator. It allows you to change each of the four frequencies. I designed a more complicated one that involved a kind of ring-mod, but it ended up inducing its signal into the other voices and causing a constant hum.

A large chunk of the circuit is devoted to buffering the voices for separate outs. I wanted them to be fully separate so that they could be added to/removed from the main mix and its accent VCA. 

The trick is that all the voices are interconnected and load each other in a way that affects the sound. This means you have to add a resistor and/or cap onto each voice to simulate the load of other voices that are now disconnected. The values for these components are up to the user's preference. They affect things like volume, decay and sometimes tone.


At the bottom is the second snare oscillator. It's a clone of the standard oscillator, but it's pitched a bit higher. It's similar in tuning to the 808's snare oscillators(depending on revision). Included is a mix adjustment between the original and new.

The last part is not pictured. It's an AVR that provides MIDI and trigger input functionality. It ties into the 110's button matrix and watches as it scans. Once the correct column is being scanned, the AVR controls the rows to simulate buttons being pressed. This leaves the original CPU to generate the triggers.
Here is the button matrix:


I designed an alternate way to provide trigger ins. You can add some tri-state buffers and use the column scanning signals to gate your triggers into the button matrix. The triggers come in the left side and pass through (when gated) to the right, pulling the rows low through diodes. Note, protection diodes are needed to make this tolerant of modular trigger levels.