YM2151 FM synthesis sound card

Skip to first unread message

Ed Brindley

Feb 28, 2022, 4:41:14 AMFeb 28
to RC2014-Z80
Hi there!

Since November I've been working on and off on a YM2151 sound card for the RC2014. This came about after talking to Sheila Dixon at the Retro Computer Festival in Cambridge, which inspired me to get working on the idea!

The KiCad files for the board are here: https://github.com/electrified/mdxplay-rc2014

And the port of mdxplay to z88dk/C from the original Arduino/C++ code is here: https://github.com/electrified/mdxplay-rc2014

A modified version of jblang/ Maccasoft's VGM player with added YM2151 playback is here https://github.com/electrified/rc2014-ym2151/tree/main/software/vgmplay

The first version of the board, I failed to wire up the interrupt pin. That's now been corrected, fixing the mdx file playback speed issues in the YouTube video, and I'm looking at doing another spin of the board. 

Before doing that I though I'd post here to see if anyone has any design suggestions! The current schematic is attached.

The software is definitely rough round the edges at the moment and I've only tested mdxplay via z80ctrl's CP/M emulation.

Many thanks,


shadow 338

Mar 1, 2022, 8:23:55 AMMar 1
to RC2014-Z80

This is awesome! thanks for sharing. I don't see the Kicad files in the repo though.

Do you know if this module can be programed from BASIC the same as your awesome YM2149F/AY-3-8190 card?


Ed Brindley

Mar 1, 2022, 12:36:14 PMMar 1
to RC2014-Z80

The Kicad files are in the top level of the repository (they are KiCad 6 format so extensions .kicad_pcb / .kicad_sch / kicad_pro)

Yes programming from basic is possible, see this example which plays a beep https://github.com/electrified/rc2014-ym2151/blob/main/software/test_programs/beep.bas I hope to provide some more sophisticated examples in the future.

Programming is considerably more complicated than the AY however, as there are a much larger number of registers (see the application note https://github.com/electrified/rc2014-ym2151/blob/main/docs/LSI-_______%20Yamaha%20YM2151%20(OPM)%20Application%20Manual.pdf )


Greg Dyke

Jun 13, 2022, 6:20:57 AMJun 13
to RC2014-Z80

Really like this design, I had a lot of fun with your YM board so I thought I'd give this a spin...

I don't suppose there are any known issues between the latest Kicad files and the zipped gerbers in the release section? Something seems to be halting boot when the board is in the backplane (an SC126). I'd suspected a grounded reset pin (or maybe INT) but having removed those from the equation and leaving really only address, data and bus control signals I'm slightly stumped.

It's entirely my own fault for being in a rush and not verifying the schema and generating the gerbers myself from the Kicad source (and I'll do that next batch), but I thought I'd ask!



Ed Brindley

Jul 26, 2022, 6:57:41 AMJul 26
to RC2014-Z80
Hi Greg, apologies for the slow reply.

The files in the release section were what I sent to JLCPCB and are the boards I'm currently using. The INT pin isn't wired up on that version (vs the checked in Kicad files), but other than that there are no known issues.

Did you get to the bottom of what was wrong?

What power supply are you using? The YM takes a fair bit so you may be running into the limits if you are powering it over USB.

Reply all
Reply to author
0 new messages