Remember the Z80 CPU I mentioned at the start of the article? It is still the typical 4 MHz CPU you have seen in many other consoles and microcomputers, but now it's got the privilege of driving a very versatile sound chip: the Yamaha YM2610.

The Yamaha YM2610 paired with the YM3016 below. Both chips are needed to output audio.
The YM2610 is another FM synthesiser from the popular Japanese manufacturer. It is closely related to the YM2612 featured in the Mega Drive, but do not let its name fool you, as the Neo Geo version is a bit more premium (albeit with some compromises).
Both the YM2610 and YM2612 are part of the high-end 'OPN' series, meaning Yamaha enables four operators per FM channel. Now, the Neo Geo's chip features four FM channels, which, to be fair, is two fewer than the YM2612. That is as far as the weaknesses go.
The FM channels are provided with a Low-Frequency Oscillator (LFO) to modulate either the amplitude or frequency of the operators. The LFO contains a predefined set of frequencies ranging from 3.98 Hz to 72.2 Hz .

Video - Oscilloscope display of Metal Slug 2 (1998), showing the FM and ADPCM channels used for music.
Now, even though the YM2610 is known for its FM synthesis, it houses additional functions that did not go unnoticed by music composers :
- A Software-controlled Sound Generator (SSG): This is Yamaha's name for a Programmable Sound Generator (PSG). In essence, the chip bundles a legacy Yamaha YM2149 inside, this can generate three square waves with optional noise. It also comes with an envelope control.
- The original YM2149 came with an interface called 'I/O ports' to transfer data between the CPU and another component . Since this is now irrelevant, the embedded variant in the YM2610 doesn't include it.
- Seven ADPCM channels: Enables to play samples using the 4-bit Adaptive Differential Pulse-Code Modulation (ADPCM) format. These channels are split into two groups:
- ADPCM-A: Consists of six channels, providing a sample resolution of 12 bits and a sampling frequency of ~18.5 kHz.
- ADPCM-B: This is the remaining channel, with a 16-bit resolution and a sampling frequency of up to ~55.56 kHz (better than CD quality).
The YM2610 is connected to two memory chips in the cartridge called V ROMs. These store the ADPCM samples, with one V ROM per ADPCM group.
All in all, the audio subsystem is a combination of the 3rd, 4th, and (then unreleased) 5th generation of consoles. However, unlike the CD medium, Neo Geo cartridges can only store so much, so the ADPCM channels are mainly bottlenecked by storage limitations. In any case, some games found clever arrangements for ADPCM while leaving FM as a secondary constituent .
Finally, the YM2610 is paired with another chip to work: the Yamaha YM3016. The latter is a dedicated 16-bit Digital-to-Analogue Converter (DAC), which takes the digital signal output from the YM2610 and converts it to analogue audio (that speakers understand).
The conductor
For the audio chip to do anything meaningful, the Z80 must command it properly. So, the Z80 runs a program stored in yet another distinct chip called M1 ROM. This is found inside the game cartridge, particularly, within the CHA Board. The program for the Z80 is often referred to as the sound driver, and there were many implementations .

The Zilog Z80, NEO-D0, and surroundings.
On a similar note, the Z80 is paired with a proprietary controller called NEO-D0; the latter acts as a memory bank and I/O controller.