The other day I did a long drive for a business trip, which meant a lot of listening to music. And that’s when I wondered something about a CD I’ve had for some time. Let’s look at some Neo Geo music. And maybe learn something I didn’t know about the AES before.

King of Fighters 96 soundtrack CD

This is the Pony Canyon/SCI soundtrack for The King of Fighters ‘96. Now, The King of Fighters ‘96 has one of the best soundtracks in the series, especially on the Neo Geo. And if you’re familiar with the series from an audio perspective, you might be wondering if this is the arranged version, used on the Neo Geo CD release, which is really good.


Nope, it’s just the original soundtrack, from the good ‘ol YM2610. I actually bought this thinking it was the arranged version, and was then annoyed at myself for not paying close attention. But the OST of this game is still solid, so I ripped the music tracks, added them to my music library, and called it a day. Until they happened to show up on a “shuffle all tracks” playlist.

King of Fighters 96 box for AES

What am I talking about? Here, let’s break out the AES version:

And here’s the CD.

What’s that? You can’t hear the difference, other than a slight ground hum on the one I captured? I’ll have you know that ground hums add character! Let’s take a look at the waveform. Remember, the YM2610 is a stereo chip. You can really see the sample playback here.

Two stereo waveforms. The lower one is slower.

The CD is ever so slightly too slow compared to my AES. It’s slight, but it’s there. And why is that?

Well, I spent a long time looking at the waveforms. I took a fourier transform and found a peak at 1184Hz had moved down to 1177 Hz. I scratched my mind looking at CD standards and the YM2610 datasheet to figure out what Pony Canyon got wrong. They got Pitfall II wrong, so I wasn’t willing to give them the benefit of the doubt.

Here’s the thing: the AES is at fault here. Here’s the master oscillator on a Neo Geo MVS circuitboard. This is a MV1C from 1999, so by this time the Neo Geo hardware was well consolidated and efficiently made. It’s 24.000MHz; all frequencies derive from this.

A tiny oscillator labeled 24.000.

And here’s the oscillator from my Neo Geo AES, a NEO-AES3-6. You might remember this circuitboard as having bad jailbars on its composite output, which I fixed. It’s also had a Unibios mod; other than that it is stock. The AES actually has a second crystal inside for the color burst oscillator, but that’s only part of the output and we don’t care about that.

A slighlty larger oscillator can labeled 24.167829.

It’s 24.167829MHz. This is, as far as I know, true of all Neo Geo AES models. As the Neo Geo Dev wiki states, all clocks in the Neo Geo (other than that colorburst) derive from this clock; so we’d expect everything on a Neo Geo AES to be slightly faster. The 8MHz YM2610 clock, for example, becomes 8.055943MHz.

Why did they do this? Let’s look at the video timing; the Neo Geo uses a 6MHz video clock, the 24MHz clock divided by four. All other video signals derive from the pixel clock.

  MVS AES NTSC standard
Main oscillator 24MHz 24.167829MHz  
Pixel clock 6MHz 6.042MHz  
Line rate 15.625kHz 15.734kHz 15.734kHz
Field rate 59.19Hz 59.60Hz 59.94Hz

As is typical for arcade systems, the MVS is a bit out of spec. The faster oscillator allows the AES’ line rate to be in spec, but its still not quite in line with the overall NTSC field rate; I assume this helped the AES’ compatibility with various televisions of the era, though it still has compatibility issues even today.

It might be interesting to put a 24.000MHz oscillator into my AES and see what happens; but that’s a project for another time.