flyinghead / flycast

Flycast is a multiplatform Sega Dreamcast, Naomi, Naomi 2 and Atomiswave emulator
GNU General Public License v2.0
1.37k stars 167 forks source link

Ms. Pac-Man Maze Madness no music audio when entering the first portal of the first level. #786

Open BParks21 opened 1 year ago

BParks21 commented 1 year ago

Windows 11, 8086K, GTX 1080ti

When entering the first portal of the first level the music cuts out and stops playing. Not supposed to happen. Running the NTSC version of the game. Confirmed clean dump, tested in bin/cue format and chd format.

flyinghead commented 1 year ago

Known issue. You can pause and resume the game to work around it.

BParks21 commented 1 year ago

Oh ok will test that thanks.

kihato commented 6 months ago

I found that many games are GD_PAUSE with SPI_CD_PLAY command. It works fine if I change the code like this.

gdromv3.cpp

void libCore_CDDA_Sector(s16* sector)
{
    //silence ! :p
    if (cdda.status == cdda_t::Playing)
    {
                SecNumber.Status = GD_PLAY;
                libGDR_ReadSector((u8*)sector,cdda.CurrAddr.FAD,1,2352);
case SPI_CD_PLAY:
        {
            ...
                        cdda.status = cdda_t::Playing;
                       //SecNumber.Status = GD_PLAY;
                       SecNumber.Status = GD_PAUSE;
kihato commented 6 months ago

Unfortunately, the above code seems to be incorrect as a bug was found in some games (Bust-A-Move 4).

flyinghead commented 6 months ago

It does fix Ms. Pac-Man though, so that's a good hint at what the problem could be.

flyinghead commented 6 months ago

I checked on real hardware and Status=GD_PLAY is set immediately when a CD_PLAY command is issued. So it's probably not the right fix.