Chiptunes Via USB MIDI With The AY-3-8910

There are many venerable soundchips in the chiptune pantheon, of which the AY-3-8910 is perhaps one of the lesser known. Having not served on active duty for Nintendo or Commodore it’s somewhat unloved in the USA, but it made its name in a variety of arcade and pinball machines and has quite a European following due to its appearance in machines bearing the Amstrad and Sinclair names. [TheSpodShed] decided to whip up a USB MIDI interface for the chip, with the help of the Arduino Pro Micro.

The Arduino Pro Micro is a Sparkfun creation, using the ATmega32U4 microcontroller. Its USB MIDI functionality makes it a perfect candidate for such a build, and it also packs enough digital IO to run the AY-3-8910, with 13 lines required to get things going. [TheSpodShed] whipped up the project on protoboard, with only a few passives needed along with the sound chip and Arduino.

The Arduino code was written with an eye to making the most of the chip’s limited polyphony. The synth prioritises the most recent received notes, while also aiming to keep the highest and lowest of the currently requested notes still playing where possible. This gives the synth the best chance of keeping the expected bass and melody intact when playing a wide variety of MIDI content.

It’s a tidy build, and one that shows some love for a soundchip some have forgotten. Of course, it’s not the only option – we’ve also seen the SAM2695 and YM2612 given the same treatment. Video after the break.

11 thoughts on “Chiptunes Via USB MIDI With The AY-3-8910

  1. Fantastic! I grew up in the 80s, on (among other things), the Spectravideo SV328 http://www.samdal.com/sv328.htm (forerunner of MSX), which uses this here AY-3-8910 for sound and two joystick ports (on it’s GPIO pins). I made a stepper motor controller using the joystick ports as outputs, and blew one pin on one port, so games always think the “up joystick” signal is on. Still have my SVI328 (and a spare).

  2. A popular add on for the old AY based computers is yet more AYs, for example, the Spectrum Next will have 3 AYs in its FPGA, whilst the Amstrad CPC has, for example, PlayCity expansion to add two more (amongst other things).

    I guess that it would be hard to add another AY to this project, I guess a couple more I/Os would be needed, but it could really enhance the output on multi-track MIDIs.

  3. I had an Apple ][ soundcard with three of these chips on board so it could play 9-voice polyphonic music. I can still remember how “sweet georgie brown” sounded. damn, now i have to search through all these boxes with stuff to find it,

  4. The Atari ST used the compatible YM2149 chip. The only differences AFAIK are that it has a 5 bit DAC instead of a 4 bit DAC and one of the test pins can be used to divide the master clock by two.

  5. Ah, a reminder of happy days in the early 80’s, interfacing this chip straight on to the bus of an Acorn Atom and writing a 6502 assembly code sequencer for it. I think it was pre-midi but my event structure was very similar to midi notes.
    On another note, I’m blown away by the genius of Mozart when you see it laid on on the sequencer piano roll in the video you can’t fail to wonder .

Leave a Reply

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