Something Is Very Wrong With The AY-3-8913 Sound Generator

Revision D PCB of Mockingboard with GI AY-3-8913 PSGs.

The General Instruments AY-3-8910 was a quite popular Programmable Sound Generator (PSG) that saw itself used in a wide variety of systems, including Apple II soundcards such as the Mockingboard and various arcade systems. In addition to the Yamaha variants (e.g. YM2149), two cut-down were created by GI: these being the AY-3-8912 and the AY-3-8913, which should have been differentiated only by the number of GPIO banks broken out in the IC package (one or zero, respectively). However, research by [fenarinarsa] and others have shown that the AY-3-8913 variant has some actual hardware issues as a PSG.

With only 24 pins, the AY-3-8913 is significantly easier to integrate than the 40-pin AY-3-8910, at the cost of the (rarely used) GPIO functionality, but as it turns out with a few gotchas in terms of timing and register access. Although the Mockingboard originally used the AY-3-8910, latter revisions would use two AY-3-8913 instead, including the MS revision that was the Mac version of the Mindscape Music Board for IBM PCs.

The first hint that something was off with the AY-3-8913 came when [fenarinarsa] was experimenting with effect composition on an Apple II and noticed very poor sound quality, as demonstrated in an example comparison video (also embedded below). The issue was very pronounced in bass envelopes, with an oscilloscope capture showing a very distorted output compared to a YM2149. As for why this was not noticed decades ago can likely be explained by that the current chiptune scene is pushing the hardware in very different ways than back then.

As for potential solutions, the [French Touch] project has created an adapter to allow an AY-3-8910 (or YM2149) to be used in place of an AY-3-8913.

Top image: Revision D PCB of Mockingboard with GI AY-3-8913 PSGs.

13 thoughts on “Something Is Very Wrong With The AY-3-8913 Sound Generator

    1. Hi! I suggest to use Hi-Fi stereo headphones, like those from your 1970s walkman.
      With an 16 Hz to 16 KHz or 20 Hz to 20 KHz range, typically.
      The built-in speakers in mobile devices aren’t that great.

    2. nothing to do with high frequency loss imo. the bug is a random low gravelly sound that is out of rhythm with the music. i was a trained musician so it’s easier for me to hear it.

    1. Understandable. To non-native speakers of English language the pun perhaps isn’t obvious, though.

      They think about a board that is mocking up its own users rather than mockingboard vs mockingbird reference (as in, mock up the user/make fun of him).

      Some English puns are fine, but others are just so rudimentary that they fly under the radar of speakers of more complex languages.
      Some things are simply lost in translation, also.

      1. I thought it was mocking board. Because to mock something means to fake it or copy it. Which is where a mocking bird got it’s name. This board also replicates sounds

        Maybe that’s what you were saying but it went right over my head if so.

        1. Ah, you mean in the sense of a “mock-up”, a copy.
          Yes, that makes sense.

          What I had thought of was the word “mocking-up”, rather.
          The mockingbird, the bird, is something that English learners in other countries have rarely heard of.

          Also perhaps because they don’t have mockingbirds living in their country.
          Here in Europe, they aren’t exactly common, I suppose.

          I rather think that birds such as swan, woodpicker, duck, crow, eagle, blackbird, nightingale, swallow etc are more common.

  1. if there are any good reverse engineers here, Travis Goodspeed on Twitter decapped an 8910, 8912, and 8913 and you can actually see there are hardware differences with the 8913 (it’s not just an 8910 with some pins disconnected like the 8912 is). I should try to find a better link that has the images for viewing.

  2. “at the cost of the (rarely used) GPIO functionality, ”
    Not sure if “rarely used” is justified. In MSX computers, the GPIO pins are used for the joystick ports (or General Purpose Ports as they were called in the official MSX spec).

    1. But they use two 6522? Atleast in the pic they used

      2 Ay8910 plus a few 74gates for bus decoding, and you have 32bit of gpio…. You could run an 8910 thru the gpio of another 8910 if you really wanted

      1. Konami Scramble arcade hardware does it like that.

        And there’s the MAC pinball machines (rare spanish company) that uses every single I/O line on two AY-3-8910. Turns out finding an AY-3-8910 in the spares pile that makes music (“or goes bleep bloop” for you chiptune haters) is easy. Finding one where all I/O lines work isn’t. Luckily on Konami Scramble HW, the “slave” AY’s I/O is completely unused so after pillaging several (more than two) boards I managed to find two AYs with all working I/O lines. And Scramble doesn’t care if some of the second AY’s I/O lines aren’t working.

        Funny: Scramble also uses two 8255 PIOs. They’re like an AY-3-8910 without the capability to make sound (o rly tho? I had a board that wouldn’t boot and kept crashing and one of the 8255 actually made a repeating sound FROM THE CHIP ITSELF. Replacing it with two different 8255 from other manufacturers made the same exact sound).
        They’re used to read DIP switches, joysticks and communicate with the sound board.

Leave a Reply to RichardCancel 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.