Help with Melty Blood: Act Cadenza
#1
Hey y'all,

Melty Blood: Act Cadenza seems to have a very strict dependence on some sync function in the game. Letting the game load the opening movie of the game leads to this printed in the console:


Code:
sceGsSyncPath: DMA Ch.1 does not terminate
    <D1_CHCR=10000145:D1_TADR=0068ffc0:D1_MADR=00000000:D1_QWC=0000000c>
    <D2_CHCR=00000005:D2_TADR=0079d400:D2_MADR=017ff200:D2_QWC=00000000>
    <VIF1_STAT=0c0000cb:GIF_STAT=00000b00>
sceGsSyncPath: DMA Ch.1 does not terminate
    <D1_CHCR=10000145:D1_TADR=0068ffc0:D1_MADR=00000000:D1_QWC=0000000c>
    <D2_CHCR=00000101:D2_TADR=0079d400:D2_MADR=0078feb0:D2_QWC=0000000f>
    <VIF1_STAT=0c0000cb:GIF_STAT=10000b00>
libdma: sync timeout

pcsx2 then just freezes forever. prafull pointed out a while back that EE timing hack fixes this, and it does. But why and how? I am trying to fix this via a memory patch to disable some sync check function or something that is causing this. This is a similar problem in PS3's ps2_netemu where an EE timing hack is not possible. I was trying to sit in the debugger and figure out why this happens but I just don't understand the mips assembly enough to comprehend what is going on.

Any help/guidance to find the cause of this?
Reply

Sponsored links

#2
Additionally, a similar crash can happen on Melty Blood: Actress Again on the intro screen. The debug text is a little different.

Code:
Warning! VIF1 starting a new Chain transfer with vif offset set (Possible force stop?)
sceGsSyncPath: DMA Ch.1 does not terminate
    <D1_CHCR=10000145:D1_TADR=004dce20:D1_MADR=00000000:D1_QWC=00000000>
    <D2_CHCR=00000005:D2_TADR=006ed140:D2_MADR=013666c0:D2_QWC=00000000>
    <VIF1_STAT=0000004b:GIF_STAT=00000a00>
libdma: sync timeout
Warning! VIF1 starting a new Chain transfer with vif offset set (Possible force stop?)
libdma: sync timeout
Warning! VIF1 starting a new Chain transfer with vif offset set (Possible force stop?)
sceGsSyncPath: DMA Ch.1 does not terminate
    <D1_CHCR=10000145:D1_TADR=004dce20:D1_MADR=00000000:D1_QWC=00000000>
    <D2_CHCR=00000005:D2_TADR=006ed140:D2_MADR=013666c0:D2_QWC=00000000>
    <VIF1_STAT=0000004b:GIF_STAT=00000a00>
sceGsSyncPath: DMA Ch.1 does not terminate
    <D1_CHCR=10000145:D1_TADR=004dce20:D1_MADR=00000000:D1_QWC=0000000a>
    <D2_CHCR=00000005:D2_TADR=006ed140:D2_MADR=013666c0:D2_QWC=00000000>
    <VIF1_STAT=0a00004b:GIF_STAT=00000a00>
sceGsSyncPath: DMA Ch.1 does not terminate
    <D1_CHCR=10000145:D1_TADR=004dce20:D1_MADR=00000000:D1_QWC=0000000a>
    <D2_CHCR=00000101:D2_TADR=006ed140:D2_MADR=004be390:D2_QWC=00000013>
    <VIF1_STAT=0a00004b:GIF_STAT=10000a00>
sceGsPutDrawEnv: DMA Ch.2 does not terminate
sceGsSyncPath: DMA Ch.1 does not terminate
    <D1_CHCR=10000145:D1_TADR=004dce20:D1_MADR=00000000:D1_QWC=0000000a>
    <D2_CHCR=00000101:D2_TADR=006ed140:D2_MADR=004be390:D2_QWC=00000013>
    <VIF1_STAT=0a00004b:GIF_STAT=10000a00>
libdma: sync timeout
Vif1 running when CHCR == 10000045

This happens on the main logo intro screen before the main menu/opening movie. Important to note that this doesn't happen 100% of the time and actually only happens around 5% (maybe less) of the time.
Reply




Users browsing this thread: 1 Guest(s)