News:

Forum Updated! 

Main Menu

MU10 S/PDIF mod

Started by Stefan_L, April 06, 2010, 04:47:16 AM

Previous topic - Next topic

Stefan_L

I was planning on modding my Yamaha MU10 with S/PDIF (TOSlink connector) and i think it will be possible to use the info seen on the followin two links:
http://www3.big.or.jp/~fujikko/sc88vl/kaizo.html
http://www.uyouyo.com/special/soundcrd/sc88.htm

I did first use my DB50XG (wich is an waveblaster daughterboard version of MU10) wich had thes ame DAC as SC-88 (D63200) to trace the needed pins, but later when i opened the MU10 case so did it not use the same DAC as DB50XG but the actual soundchip was same (XQ036A0) so i know wich pins that are needed.

Here is a pic of it marked with the pin names of the D63200:



Also here is big version of the MU10 PCB and DB50XG:
http://www.ym2149.com/mu10_spdif/mu10_pcb.jpg
http://www.ym2149.com/mu10_spdif/db50xg.jpg

I guess the only thing that is needed to change from the schematics from the japanese pages i posted is to connect ground to pins 24 and 25 of the Toshiba chip as that means 44.1 khz (i measured the LRCK pin of "XQ036A0" to 44.1017) and the SC-88 is outputting 32khz (5v to pins 24 and 25).

I dont have all parts yet to do this mod, but if anybody has info that says the mod will not work on MU10 please say so :)

Hojo_Norem

In response to your PM:  I dare say the DIT4096 could be used, but as I mention in my PSX S/PDIF mod thread it took a bit of deciphering with the help of the Gamecube S/PDIF info.  Now looking at the pages for your mod it seems that there might not be a easy way.

One thing that the GC and PXS mods (and all the other digital audio mods on the Wiki) have in common is that they all have a MCLK signal (on the TC9231N it's referred to as 'XI' on the CG mod, which generates this using a separate crystal).   The mod you mention dose not have a dedicated MCLK signal and it seems it is generated using the extra logic and possibly even a special function of the TC9231N, but as I havn't seen a datasheet for that I can't be certain.
Formerly 'butter_pat_head'

Stefan_L

I have the datasheet for the Toshiba chip: http://www.ym2149.com/mu10_spdif/TC9231N.pdf

and also as i just found the datasheet for the DAC/ADC (ak4510) used on MU10 i traced the wich pin on the Yamaha chip that was MCLK, so i can now connect the MCLK to the mod if needed.
The DAC on the DB50XG did not have any MCLK input.

Here is the datasheet for AK4150 (not easy to find) http://www.ym2149.com/mu10_spdif/ak4510.pdf

Stefan_L

butter_pat_head... exactly how did you connect the pins not used on the DIT4096 used in the playstation mod?
Is "reset" pin really a must for the DIT4096 to work, as i dont know if the MU10 chip output a reset signal?

Hojo_Norem

Quote from: Stefan_L on April 24, 2010, 11:16:46 PM
butter_pat_head... exactly how did you connect the pins not used on the DIT4096 used in the playstation mod?
Is "reset" pin really a must for the DIT4096 to work, as i dont know if the MU10 chip output a reset signal?

TBO, all I did was look at the datasheet for the the DIT4096 and the Gamecube mod (it has thie pinnames for the toshiba chip, it'l be a bit easier with the datasheet) and a little bit of deduction and just matched up the pin functions on the DIT with those on the Toshiba... and then prayed...

As for the reset line, I connected it because I could.  I saw that the DAC in the PSX has a reset input so I just connected the DIT's reset pin to that.  If you cant find a suitable reset source then it should be possible to build a simple rc reset circuit.  I don't know if the DIT absolutely needs the reset but the datasheet recommends that you have it present.
Formerly 'butter_pat_head'

Stefan_L

I just built it and it works fine with my MU10 ;D
I will post some more details how it is connected later.

meanwhile here is a pic of the mod and two digital recordings of some midi files:

http://www.ym2149.com/mu10_spdif/trond_olsen-jamma_(mu10_spdif).mp3
http://www.ym2149.com/mu10_spdif/matt_e_johnson-Random_Paths_(MU10_spdif).mp3

Is there any way of lowering the output signal of SPDIF? it is so loud wich makes many songs clip :-\




Hojo_Norem

Quote from: Stefan_L on April 26, 2010, 03:14:48 AM
I just built it and it works fine with my MU10 ;D
I will post some more details how it is connected later.

Is there any way of lowering the output signal of SPDIF? it is so loud wich makes many songs clip :-\


Great!  Nice to see (or rather hear) that you got it working.  ;)

As for the clipping issue, I might be taking a wild stab in the dark with this but you may have an issue with the pre-emphasis.  The DIT's emphasis control (pin 23) is active low while on the TC9231N (pin 26) it is active high.  The mods you linked to earlier have this pin tied to ground so with the DIT it should be tied to VCC.  Other than that I don't think theres much you can do electronically.  Maybe you could lower the playback volume in your midi software?


The 74HC04 in the original mods (in fact its in every mod that the TC9231N uses) is a hex inverter, which is used to invert a number if the incoming signals.  Toshiba, not very fond of sticking to the standards...

BTW, thats some nice music there.  It would be interesting how they would sound on my SBLive with it's 230+Megabyte soundfont.  :D

Formerly 'butter_pat_head'

Stefan_L

Pin 23 of the DIT is connected to VCC... but i tried to connect it to ground also just to test but there was no difference.
The sound is clipping from the DAC (AK4510) in the MU10, so i guess it's the natural sound of MU10 :)
Actually this was the main reason i wanted to spdif mod my MU10... i wanted to get rid of the clipping sounds as i thought it could not happen if the signal was digital.

And about your 230mb soundfont... here is the two midis:
http://www.ym2149.com/mu10_spdif/JAMMA.MID
http://www.ym2149.com/mu10_spdif/Paths.mid
SBlive has not a chance against the mighty 4mb of the MU10  ;)

If anybody knows any game that supports Yamaha XG let me know, i only know of "Final Fantasy 7", all other games i checked that state "support" DB50XG(MU10) just uses it as a Genaral Midi device :-\

Hojo_Norem

Quote from: Stefan_L on April 30, 2010, 04:58:33 AM
Pin 23 of the DIT is connected to VCC... but i tried to connect it to ground also just to test but there was no difference.
The sound is clipping from the DAC (AK4510) in the MU10, so i guess it's the natural sound of MU10 :)
Actually this was the main reason i wanted to spdif mod my MU10... i wanted to get rid of the clipping sounds as i thought it could not happen if the signal was digital.

Are the two MP3 recordings meant to have examples of the clipping?  Because when I listened to them they sounded OK to me through my AV receiver and Hi-Fi speakers.

QuoteAnd about your 230mb soundfont... here is the two midis:
http://www.ym2149.com/mu10_spdif/JAMMA.MID
http://www.ym2149.com/mu10_spdif/Paths.mid
SBlive has not a chance against the mighty 4mb of the MU10  ;)

I admit defeat on this one!  :P
WinAmp's info dialogue says these are XG tracks.  I may be using a 230Mb soundfont, but its still going to sound like pants cause its a GM soundfont  :D
Formerly 'butter_pat_head'

Stefan_L

Quote from: butter_pat_head on April 30, 2010, 08:50:41 AM
Are the two MP3 recordings meant to have examples of the clipping?  Because when I listened to them they sounded OK to me through my AV receiver and Hi-Fi speakers.

No they are not clipping, i'll see if i can record an example... it is not really any difference from the analog sound output and digital when it comes to the clipping on loud songs. I  can of course lower the volume using the midiplayer program but on some songs it affects the instrument volume more than the DSP effects so it can sound unbalanced (bad).

Stefan_L

Here is an midi that clips badly, just open it in an sound editor: http://www.ym2149.com/mu10_spdif/Luke_Schneider-DissentingTrance.mp3

Stefan_L

A thing i might point out is that when i connected the wires to the dit4096 so did i solder directly on the DAC pins and not thfrom the holes i marked in the pic in the first post (with exception of masterclock). the clock pins goes directly to the DAC but the data goes to the chip that is to the top right corner seen in the bigger MU10 pic i posted (marked XR976A0).

If i connect the dataline before it goes thru that chip then i get a louder volume signal wich crackles alot and seems sensitive to higher sounds? here is an recording (excerpt from Random Paths)
http://www.ym2149.com/mu10_spdif/randompaths_data_fromxgchip_notdac.mp3

I did get a better sound when get the data after it passes thru the XR976 chip as you can hear, this would mean i can't modify the DB50XG as it does not have an XR976 chip.

I am speculating if this has something to do with the fact that the DB50XG has 18bit DAC(nec D63200) while the MU10 has a 16bit DAC(AK4510)... i mean the data needs to be converted from 18bit to 16bit on MU10 before it goes to the DAC?

Hojo_Norem

Quote from: Stefan_L on May 14, 2010, 03:39:38 AM
A thing i might point out is that when i connected the wires to the dit4096 so did i solder directly on the DAC pins and not thfrom the holes i marked in the pic in the first post (with exception of masterclock). the clock pins goes directly to the DAC but the data goes to the chip that is to the top right corner seen in the bigger MU10 pic i posted (marked XR976A0).

If i connect the dataline before it goes thru that chip then i get a louder volume signal wich crackles alot and seems sensitive to higher sounds? here is an recording (excerpt from Random Paths)
http://www.ym2149.com/mu10_spdif/randompaths_data_fromxgchip_notdac.mp3

I did get a better sound when get the data after it passes thru the XR976 chip as you can hear, this would mean i can't modify the DB50XG as it does not have an XR976 chip.

I am speculating if this has something to do with the fact that the DB50XG has 18bit DAC(nec D63200) while the MU10 has a 16bit DAC(AK4510)... i mean the data needs to be converted from 18bit to 16bit on MU10 before it goes to the DAC?

Sounds ban on that sample there.  Im taking a wild guess that the DIT is dropping the 2 most significant bits from the audio stream and is also why it sounds louder.

I just checked up on the DIT4069's datasheet and it does support 18bps but ony in the dreaded software control mode.  At a minimum thats an extra uIC like a Atmel AVR with a program to setup the DIT over a I2C connection.  Not that it matters anyway because AFAIK most consumer grade equipment will only accept 16 or 24bps (I could be wildly wrong on this).

Converting 18 to 16 bit isn't that hard to do in theory, just drop the 2 least significant bits.  Super easy to do in software but to do it in hardware real time would require something like a CPLD and the know-how to program it.
Formerly 'butter_pat_head'

Stefan_L

Well, i guess it might be worth to try the mod using the Toshiba chip as it seems to support 32-bit.

Although i have no idea what my soundcard spdif input supports... maybe only 16-bit? It's a Terratec DMX6fire USB.

Stefan_L

#14
Here is a pic of how i setup the DIT4096, i hope it does not look too messy, i tried to make it as easy to understand as i could so as many as possible would understand it.

This is a "general" setup that would work on several systems... not only the MU10, i think it would work on Playstation also.
Just ask if there is something you don't understand but i can't garantee i have any answer;  i'm still an noob when it comes to DIT circuits  ;)




bitbull

Hi @Stefan_L, I'd endeavour modding the Yamaha MU100, which has a D63200 DAC too.
Which pins of the D63200 (WDCK, CLK, RSI, SI/LSI) did you connect to which pins of the DIT4096 (MCLK, SCLK, SYNC, SDATA)?
ALso, I understand, other than for RST, there are no more passive components involved?
Thank You in advance!

Gradius2

Quote from: bitbull on December 23, 2020, 05:24:14 AMthe Yamaha MU100, which has a D63200 DAC too.
Which pins of the D63200 (WDCK, CLK, RSI, SI/LSI) did you connect to which pins of the DIT4096 (MCLK, SCLK, SYNC, SDATA)?

There are much better methods now for toslink/spdif out of those old modules.

WDCK = LRCLK/WS/FS (Left right clock)
CLK = BCK/BCLK/SCK/SCLK (Serial clock)
SI/LSI = DATA/SDOUT
MCK = Master Clock

RSI is Left/Righ Selection (R-ch series input).  Low is LRCK.  High is R-ch.  You don't need this.

For I²S you normally uses just 3: LRCLK, BCK, DATA

Segasonicfan

I recently work on some projects similar to this.

For decoding the digital audio (I2S as mentioned) there are some very easy solutions. The best one I'd recommend is using a PCM5102 with an ESP32 microcontroller.

There are some great breakout boards for both of these:
https://www.ebay.com/i/201980418950? "GY-PCM5102 I2S Player Module"
https://www.ebay.com/itm/LoLin32-ESP32-WiFi-Bluetooth-Development-Board-CP2104-w-Lithium-Battery-Conn/124442956544? "ESP32"


My favorite of the ESP32 is the LOLIN32 by WEMOS which includes a lithium-ion battery charger and voltage conversion circuitry.

I made a custom footprint for an eagle (attached).
MY WEBSITE: https://segasonicfan.wixsite.com/retro
I design PCBs for retro game systems :)