FB Alpha

CPS-2 Sound Tests


CPS-2 Sound Tests

Posted by barry on 23 November 2012 at 19:33:37

Smitdogg dumped a single-board version of Marvel Vs. Capcom recently. He remarked that the case had a volume knob (as opposed to digital up and down buttons usually seen on CPS-2 games) and that the sound test screen was missing the volume slider. At first it was assumed that this was due to differing program roms, but the program is the same as the normal Japanese version (the roms are byteswapped). I decided to take a look at what else could cause the different sound test screen.

I also decided whilst I was looking at CPS-2 sound volume, that I should take a look at how the actual slider works. All CPS-2 emulators currently lock the slider to the top (0xe021). There are 40 possible levels for the volume and from analysing the screen, I have found the values that need to be returned at 0x804030 for each of the volume levels. These are (if you look carefully there is a pattern there);

UINT16 Cps2VolumeStates[40] = { 0xf010, 0xf008, 0xf004, 0xf002, 0xf001, 0xe810, 0xe808, 0xe804, 0xe802, 0xe801, 0xe410, 0xe408, 0xe404, 0xe402, 0xe401, 0xe210, 0xe208, 0xe204, 0xe202, 0xe201, 0xe110, 0xe108, 0xe104, 0xe102, 0xe101, 0xe090, 0xe088, 0xe084, 0xe082, 0xe081, 0xe050, 0xe048, 0xe044, 0xe042, 0xe041, 0xe030, 0xe028, 0xe024, 0xe022, 0xe021};

I have hooked these up and added volume up and down buttons to the driver and the sliders now work in all games where they are present. I also added support to change the actual Q-Sound output based on the volume selected.

I also found that returning any number in the 0xd000-0xdfff range will disable the volume slider in the sound test screens, and added a seperate init for the single board game to return this value.

Below are screenshots of the Marvel Vs. Capcom sound test screen (with and without the slider).

Marvel Vs. Capcom sound testMarvel Vs. Capcom single board sound test

Not exactly a significant find, but it helps to further understand the hardware.