Yamaha SW60XG Hack Lets You Use It As A Standalone MIDI Device

yamaha-sw60xg-hack

This is a Yamaha XG card, the SW60XG to be exact. It’s an audio card for a PC which extends the MIDI standard to include over six hundred instruments. By today’s standards the almost twenty year old card isn’t all that powerful, but it is interesting to see it used as a standalone device.

[Benji Kimba] posted the video overview of his project which you can watch after the break. The image above is found at about 2:35 seconds and about twenty seconds later you get a look at how he patched into the conductors on the edge connector on both sides followed by the MIDI in and out connections. Finally, we get a look at a proper schematic at the four minute mark which details the pull-up resistors, hardware reset circuit, and the optoisolator he added for the MIDI connections themselves.

[Thanks Gnif]

27 thoughts on “Yamaha SW60XG Hack Lets You Use It As A Standalone MIDI Device

    1. The only part you really need to care about it the schematic at 3m46s. To “too long; didn’t watch”: He’s basically just disabled the ISA bus by tying /IOW and /IOR to +5V through a resistor, grounding AEN, and then has a reset-on-power-applied circuit. Finally he found two resistors that happen to have the MIDI IN and MIDI OUT signals on them, and he built a simple circuit using a few resistors, a 74’14, and a PC410 to convert them to MIDI-compatible (but probably not compliant?).

  1. impressive…

    i thought me using the on-board(when present) speaker amp chip as standalone amp was clever.
    this is much much better!

    PS: to use the amp chip alone only connect 12v and not the others, then just probe input and jumper to an input jack, then just desolder or cut traces if signal gets eaten up by passives/dsp-output.
    i have seen just ONE card that defaults to having line-in turned on and up before communication with host. dsp often powered by 78L05 and thus the 12v,,, dsp often need very clean local 5v

    1. I always wanted one of the “Blue Meanies”. I’m hoping to come across a fixer up on CL one of these days. Had to let an ARP go the other day until taxes get back. Keep on playing :)

  2. This is pretty cool, It’s nice to hear the old XG sounds again, I should have a SW1000XG lying around somewhere, has anyone’s attempted this with a SW1000XG? If not is it possible?

  3. Nice you like it !!!

    Here are some quick answers;

    It took 4:33 because it’s a tribute to the composer and the soundquality, even after 20 years.

    The reset is made because the defaultstate is GM-mode, when playing an XG-midifile, card go in XG-mode, when playing another GM-midifile with no midi-reset command in it,
    card sound sometimes odd, reset put it back in GM/GS mode.

    I think it’s possible for every soundcard with external midi and a microcontroller on it,
    maybe not everything works, only what’s possible via midi.
    Try it ! Disable isa/pci bus, put requested power supply on and find out yourself.
    Card’s like SW1000XG, GUS, Turtle Beach and with Ensoniq chipset deserve a
    second live !!

  4. It’s tricky to do legally (not impossible,) but, for the record, you can actually grab a VSTi plugin that does the S-YXG50 synthesizer, grab the S-YXG50 files (namely you’ll want the 4MiB wave table,) and, in turn, there is a VSTi MIDI driver that works in even the latest versions of Windows here: http://www.mudlord.info/products.html This basically gives you DB50XG functionality. Presumably the SW60XG is better, but not many things can benefit from this anyway. Even back then almost nothing could (basically only people who actually did a lot of MIDI work themselves could benefit.) With this, you can then use the software synthesizer on modern systems even in things like DOSBox (just set it to use the Windows driver.) I’m afraid I couldn’t give you the specifics on how to legally get the VSTi driver — I’ve had it for quite some time now — but presumably this method will continue to give us MIDI for the foreseeable future on x86 devices (unfortunately, it appears to be a precompiled binary — specifically a DLL file — so I don’t think it will ever be possible on a non-x86 system sadly.) IMO this is a much better solution all around for pretty well everyone (does anyone really need the extra functionality of the 60? Modern composers should be using non-MIDI systems by now…) rather than trying to track down one of these and physically modify it or a DB50XG.

    Don’t worry. It is a software synthesizer, but it should run well on anything Pentium 2 class or better surely. I suspect it might be ok on a Pentium 1 as well even.

  5. I did it! After 20 years my SW60XG came to life again! Thanks to your incredible hack! I found the link this summer (2018!) after dismantling my old PC (P90!) which was equipped with this wonderful piece of hardware. I intended to sell it on ebay, but no surprise, there was no demand out there. But I found this hack, so I decided to keep the board and make it a standalone midi player. Now I’m enjoying listening to the distinct sound of the Yamaha XG series – just cool!

    1. Nice to here your managed it !!!
      After all that time I didn’t expected a reaction, Wow, a P90, I had a 486DX at that time !
      Hope you enjoyed for a long time.
      Maybe you can put your reaction also on my YouTube project ?
      Only reaction there is someone who didn’t managed it by messing up with an Arduino.
      Thanks, well done.

  6. Built one! But… I did mine using a 3 slot ISA backplane and an ISA protoboard so the only mods to the card were 2 wires attached for the MIDI data. :D

    I used unused pins on the ISA bus to connect the MIDI in and out from the card and to the MIDI jacks on the back of the case. That cut down on wiring and made it look really nice.

Leave a Reply to Joshua BoydCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.