Status: Repaired successfully on 6/7/2023
In for repair is a Capcom CPS1 arcade board with the Marqs HDMI mod already installed.
The HDMI display output had an unusual issue – it would look fine during gameplay, but anytime the screen transitioned with a fade in or fade out, mid-transition the fade would “pop” to full brightness briefly.
It’s easier to see the problem in a video than it is for me to describe it. In the video below, compare the HDMI digital output on the left monitor to the analog RGB output on the right monitor during fade transitions.
The board owner asked Marqs about the issue on the Shmups forum, and Marqs said:
With that information in mind, I started my diagnostic by looking at Pins 6 – 9 on the U4 buffer chip.
The pin headers on the right side of U4 are connected to data lines on the CPS’s video frame buffer. The frame buffer lines feed into the U4 buffer, and from there into the Intel Cyclone FPGA.
I checked continuity on Pins 6 – 9 of U4 to the pin header with my multimeter and found a broken connection on Pin 9. I patched it with a small bodge wire.
This fixed the fading issue with the HDMI output. Here’s another video demonstrating the HDMI digital output and RGB analog output after the fix.
I would have been done with this board at this point, except that a good intention inadvertently ended up creating extra work for myself.
I wanted to redo some of the hookup wiring on the HDMI mod because some of the wires were fraying, and I was concerned that a stray wire strand could easily bridge over to an adjacent connection.
I redid the most severe frayed wiring with fresh wires.
However, when testing the board again afterward, I noticed that while the analog audio was still functional as expected, the HDMI digital audio was silent.
This sent me on a run of research to learn how audio is handled with the CPS HDMI mod and which signals go where. Here is a summary of what each of the audio pins on the HDMI should read with an oscilloscope when checking for audio problems with this mod.
PROTIP: If you use a Rygol oscilloscope (such as the DS1054Z) like I do, you can turn on an accurate clock frequency counter by pressing the Measure button, select Counter, then CH1. The new display will appear in the upper-right and will show 6 decimal points of accuracy.
CPS HDMI Audio Pins
BCK = Audio DAC Clock – should read 1.78978 Mhz
WS = Sample and Hold Clock – should read 55.9307 Khz
DAT = Serial Output – should read 223.728 Khz
CPS1 Adapter Board Audio Pins
DAO = Common Analogue Output from Pin 36 on the MSM6295 audio mixing chip on the CPS Mainboard – should read waveforms on the scope when game audio is playing. Should be connected with shielded coax to avoid RF interference.
oCM = Audio System Master Clock – should read 3.57955 Mhz. Should be connected with shielded coax to avoid RF interference.
oC1 = Audio Interface Bit Clock (for syncronization) – should read 3.57958 Mhz.
SH1 = Data Alignment Clock – should read 111.881 Khz
SO = Final Digital Audio Output from the ADC to the FPGA.
TL;DR: for HDMI audio issues, check the following pins:
CPS1 Adapter WM8782 chip
Pin 1 – constant clock pulses
Pin 2 – constant clock pulses (digital audio output)
Pin 3 – constant clock pulses
Pin 4, 8, 11, 14, 20 – Ground
Pin 5 – 3.3V supply
Pin 6 – constant clock pulses
Pin 13 – 5.0V supply
Pin 17 – waveform signals when audio is playing (analog audio input)
CPS1 Adapter 74LVC112
Pin 1 – constant clock pulses
Pin 2, 3, 4, 10, 15, 16 – 3.3V supply
Pin 5 – constant clock pulses
Pin 8, 11, 12, 13, 14 – Ground
Ultimately, the culprit ended up being the oC1 line – a connecting wire on top of the HDMI PCB was bridging over to an adjacent 5.0V supply pad that then pulled all of the clock signals High. Redoing the connection fixed the issue.
Final pic of the HDMI mod post-fix:
Also for reference, here are links to the datasheets on the various parts used for CPS1 audio and the HDMI mod’s audio: