Audio Circuit (Neo Geo AES)
The Neo Geo AES has a fairly complex audio circuit worth exploring.
The audio is generated from several places:
- The Game Cartridge (over SDAC, SDPADC and SDRADC)
- The Z80 / Neo-C1 / Neo-D0 (over SDDC)
The Z80 CPU works in conjunction with the NEO-C1 to do the interactive data control to the YM2610 Sound Processor
IMPORTANT: If the !NMI (pin 17) has a damaged trace to NEO-D0 then its Read (pin 35) will never be high, and so it will never read in and process sound data causing no audio to play.
The NEO-C1 is a pin mapping controller to allow correct communications between the Z80 and other parts of the system, that will need to be working and connected for it to allow audio to be processed and dispatched by the Z80.
The Neo-D0 is responsible for generating the audio and controlling the YM2610 sound processor. It uses the Z80 in assistance to control the YM2610, this includes generating the audio for the BIOS intro.
The NEO-C1 / NEO-D0 / Z80 control the SDDC pins of the YM2610.
The D0-7 pins are interactive data which controls generating sounds using a process (the Z80).
The audio from the game cartridge comes in on SDAC, SDPADC and SDRADC.
ADAC0 and 1 are address pins for 2 bit digital audio so they toggle between 00, 01, 10 and 11.
The SDR is the PCB A channels address/data signals for generating PCM audio for channel A.
The SDP is the PCB B channels address/data signals for generating PCM audio for channel B.
Both are digital sound data as 8bit data.
Notice the changing digital data as audio plays.
When the game is quiet it looks like this (pin 10 of YM2610 as example).
Notice the completely static repeating pulses.
A good test is to remove the game, boot to blank screen BIOS, and a working YM2610 should show a single pulse or small peaks like so:
And a faulty YM2610 often looks like this on pin 10 with no game inserted (high then pulsing low, often stable or eratic):
The resulting combined audio from the game cartridge, Z80 and NEO-D0 are output as a single bit stream on pin 31 (OPO) which is the input to the YM3016 Digital To Analog converter on pin 4 (SD).
With no sound we get a pulse high every 9us (112kHz).
Then when audio plays it shows the streamed data.
After this the YM3016 has the job of converting this digital stream to analog audio output.
The YM3016 expects a 2.685MHz clock on pin 5.
As well as the two sample signals on pins 7 and 8 at 55.94kHz (generated by the YM2610).
And the audio digital stream on pin 4 (SD).
It will then output the audio on channels 1, 2 and Common (pins 10, 11 and 12 respectively).
There is also a TOBUF output on pin 13 that goes through a buffer and back into COM.
Without the op amp chip installed (PC458C / PC471 / 4558 / 4559) therefore no input into COM, the audio still works but is more gritty, so I suspect the TOBUF is a filter of some sort for the audio.
TOBUF is a 1Vpp audio signal.
RB (pin 16) is similar to TOBUF as an output to the op amp, and input fed back into BC/MP (pins 14/15).
Finally after the YM3016 has converted the digital audio into analog left and right, it passes these left and right signals from Channel 1 (pin 10, Left) and Channel 2 (pin 11, Right) through an op amp (PC458C / PC471 / 4558).
At this point the buffered left and right audio splits off. One path goes through the volume slider on the front of the console, then into the headphone amp (NJM2066, or discrete circuitry).
The other path sends the left and right audio channels through capacitors mixed together, then through one more op amp (PC458C / PC471 / 4558) and off to the AV port pin.