Adding a digital output for old synths from the 90s
background
Surely everyone who made the DOS era met in games the choice of musical accompaniment – General MIDI, Roland Sound Canvas, Yamaha XG. I will not talk about what wonderful devices they are, and how well they played MIDI. Until the end of the 90s, all these home desktop romplers, like most other professional devices, had only analog outputs, however, they were quite acceptable in quality. In early 2010, out of nostalgia, I bought several devices of that era on eBay – these are the Roland Sound Canvas 88 Pro, Roland MT-32, Yamaha MU128 and Yamaha AN200. The first three should be familiar to gamers of the early 90s, while the AN200 module is an analog modeling synthesizer based on the Yamaha PLG150-AN plug-in card. Later Yamaha MU1000/2000 tone generators were also sold on the site – their difference from the MU128 consisted in a slightly expanded version of the sample bank, as well as in the presence of an optical TOSLINK output.
Actually, the presence of optics in the MU2000 prompted me to start comparing circuits to see if it is possible to modify the MU128 circuit and get a digital output on my own. In the MU2000 service manual, the optical output circuitry is based on a proprietary Yamaha YM3437C chip, which is very difficult to get for an ordinary radio amateur. We need to look for a more running DIT. A Google search on this topic led me to mod for Yamaha MU10. The author of the mod relied on Japanese revision Roland SC-88VL. The mod is based on the TC9231N chip from Toshiba, which implements a digital audio interface according to the SPDIF/TOSLINK standard. The chip can be ordered on eBay, it costs an average of $ 2.5 per piece (note: this was in 2010, the chip is almost impossible to find now); the rest of the parts are sold at any radio store. I assembled a Japanese version on a breadboard, and it turned out to be working – with a small caveat. The DAC of the Roland SC88 is 18-bit, while the TC9231N is 16-bit. The Japanese author made a binding for this, which allows either cutting off the top 2 bits in the stream – which could lead to clipping, or shifting the stream 2 bits lower (cutting off the bottom 2 bits), which led to a decrease in volume. In any case, 2 bits of information were lost – and that did not suit me.
18-bit DIT
I started looking for a transceiver that works with 18-bit stream in “iron” mode, i.e. that does not require setting the operating mode using an additional microcontroller. After a lot of experimentation with DIT 4096, 4192, TC9271N and others, I finally found a transceiver that works hard with 18-bit stream – AKM AK4103AVF. Thanks to the internal pull-up and pull-down resistors, you can get by with a minimum of detail.
Let’s sketch out the diagram first. Given that the board should be as versatile as possible, all configurable pins should be placed on jumpers. The output is tied according to the datasheet as a household (consumer) SPDIF. If XLR AES3 (AES/EBU) is needed, see AK4103 datasheet, also there you need another configuration on FS0-FS3 pins.
The input we mean is I2S, for this we need the data, lrck, bck and sclk lines on the sources. In different datasheets, these lines may be called differently, but their essence is always the same – DATA=SI=MDAC=SDTI, LRCK=LRCX=MWCLK, CLK=MQCLK, etc. All of these lines should be easily found in the circuits included in the DAC, with the exception of sysclk, which will have to be searched by the oscilloscope at different points in the circuit. Usually, in I2S, sysclk (or mclk) is not needed for transmission, but in AK4103AVF the line is used for correct synchronization.
It has been observed that if the circuit is turned on at the same time as the module, the AK4103 does not pick up the frequency and the digital output is silent. Empirically revealed that the frequency is caught after the initialization of the module, you need a power delay. In 2016, without thinking twice, I simply brought the “spdif reset” button to the case (shown in the diagram). At the beginning of June 2022, I was contacted by nikitalita and prompted the BRESET line in the PLG expansion connector. An oscilloscope check revealed that BRESET remained low for about 70ms, which was enough for the DIT to pick up the frequency.
Let’s find the lines on all three devices:
I2S line | Roland SC-88 Pro | Yamaha MU128 | Yamaha AN200 |
---|---|---|---|
syslck | CN105 pin 5 | IC39 pin 16 | IC17 pin 160 |
data | CN105 pin 3 | IC36 pin 15 | IC16 pin 15 |
qclk | IC35 pin 9 | IC36 pin 16 | IC16 pin 16 |
wclk | CN105 pin 6 | IC36 pin 13 | IC16 pin 13 |
reset | IC35 pin 9 | IC34 pin 19 | CN5 pin 4 |
Roland SC-88 Pro
Yamaha MU128
Yamaha AN200
The SC88 has an 18-bit PCM69AU, while the MU128 and AN200 have an 18-bit NEC D63200. The Roland MT-32 has a 16-bit DAC with a parallel bus, and digital audio output is a separate task, which we will not touch on. According to the specification, the SC-88 has a sample rate of 32kHz, MU128 and AN200 – 44kHz. According to the datasheet, we need to set the following modes: audio routing mode – normal, synchronous mode, 18bit right justified. We measure frequencies:
wlck | sysclk | qclk | dif0 | trans | fs0 | fs1 | |
---|---|---|---|---|---|---|---|
default | – | – | – | 0 | float | 0 | 0 |
SC88 | 32000Hz | 8.192MHz | 8.192MHz | one | 0 | one | one |
MU128 | 44100Hz | 11.2896 MHz | 2.82242MHz | 0 | 0 | 0 | 0 |
AN200 | 44100Hz | 16.9344MHz | 2.82244MHz | 0 | 0 | 0 | 0 |
To set the desired mode, the table lists only those pins that differ from their default state – fs0, fs1, dif0.
By the way, in 2010, the service manual for the MU128 could only be found on the same eBay for money. I bought it, got a PDF, and immediately shared it on my site for free for anyone who seeks it. After a few weeks, this service manual was no longer sold 🙂
This circuit was assembled on a breadboard and successfully worked in MU128 and AN200 in 2016.
In 2021, I suddenly decided to re-release the development in a decent way.
Board gerber files: dit_0.2_gerber.zip
Partlist
reference | value | package |
---|---|---|
U1 | AK4103AVF | TSSOP-24 |
T1 | PE-65612NL, TC-612 | |
C1, C2, C3 | 100nF | 0603 |
R1 | 330R | 0402 |
R2 | 100R | 0402 |
Hi ,
Do you sell this digital out board for the MU-128?
Thanks in advance.,
Greg.