Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
A game is still broken (r2802 vs modded r2801)
I'm currently racking a bug and i need to know something so i can narrow it down to a revision.
Now for some detailed info:
The game is Galaxy Angel II Mugen Kairou no Kagi.
The error appears during a FMV and i get theese error messages on the WX version:
EE: Unrecognized op 766e6152
EE: Unrecognized MMI op 71767778
EE: Unrecognized COP0 op 4047525e
and the emu crashes with a Runtime Error.
Also in r1385-legacygui after those errors:
(EE) Tlb Miss, addr=0x6a5a [load]
(EE) PC: 0x21c7af10 Cycle: 0x4b17bed7
In pcsx2-WX the console is spammed with "libpad: sceSifSetDma faild" in 0.9.6 and r1385 it appeared only once or twice.
Tried the EE,IOP,both VU's in interpreter mode (on PCSX2-WX) and got only this error:
Unknown MMI opcode called
then Runtime Error.

So i'm asking at what revision was Pcsx2 0.9.6 released because this bug isn't present there. I suppose its older than r1385-legacygui which has the bug.
This bug persists even in r2586-WX.

P.S: Speedhacks were DISABLED.
L.E: ok i found out 0.9.6 was around r600 (thanks Gigaherz) now working on narrowing the bug


Sponsored links

Narrowed down and cornered the bug its r965 ( a change in the IPU caused all this (the crashes and the libpad: sceSifSetDma faild spam)
More specifically the r965 had this line below moved to line 1451 (it was originally at line 1407)
g_nDMATransfer &= ~(IPU_DMA_ACTV1 | IPU_DMA_DOTIE1);
Now i just need someone too look at this since i lack the experience.
Not to mention that this may fix other games as well.

L.E: Fixed it myself (hope i didn't break anything):
In IPU.cpp from latest rev (r2586)
the line
if ((g_nDMATransfer.ACTV1) && ipu1dma->qwc > 0)
Changed it to:
if ((g_nDMATransfer.ACTV1) && ipu1dma->qwc >= 0)
It doesn't crash but message : "IPU Invalid Intra DC Precision, switching to 9 bits" appears when it should crash.
( libpad: sceSifSetDma faild spam remains but no biggie)

The game and the FMV work flawless now.

It's a buggy area of emulation, and your fix will definitely break other games.
Thanks for trying to fix it anyway Smile

Edit: Ok, wait. I looked at the code and you might have fixed a typo here. Checking more Tongue2
Sorry that i couldn't view the forum this morning my watercooling pump broke so i had to go buy another one.
Thank you that should really help because i'm not that experienced with C++ yet.
I really hope that i didn't break anything.
If you think its ok you can add it to the svn.

Any updates on this you left me in total darkness here.

Yeah, it wasn't a typo. This modification broke one other game (forgot which), which is really not surprising.
IPU code is in need of a rewrite (yet again). It'll possibly happen with the new, planned, dma controller addition.
Too much of it is guesswork currently :/
ok i got it mostly what i did was guesswork anyway Smile
ill stick with my modification for that game only then.
As usual ill be doing regular tests on all games that are broken that i have in my comp (Already seen some that work better/faster).

A rewrite will be really hard since i've seen how complicated the code is already but i wish you the best of luck.

P.S: What game was it can you remember ? (i want to know if I have it)

L.E: was the game Rayman 2 Revolution ? If not then its 2 games i broke damn. what can i say you win some you lose some.

i have more news : this also seems to be related to the Atelier Iris 2 FMV Crashes.
My last modification was bad but better yet, i think i nailed the bug this time and didn't break other games with this modification:
In IPU.cpp add :
g_nDMATransfer.DOTIE1 = false;
g_nDMATransfer.ACTV1 = false;
at line 1363.
Now my game works and Atelier Iris 2 is fixed too.
BUT, you can never be too sure that nothing broke so I once again ask for your assistance rama Smile .

PS: I didn't want to create another thread for the same thing so I posted in my old thread.

I hope for the best.

EDIT: Will check your replies tomorow because its 3:30 AM here and i need some sleep.

Thanks again, reviewing this change.
This stuff is really welcome Smile
No problem, i enjoy doing it and if it makes the emulator better i'm happy. Smile


Users browsing this thread: 1 Guest(s)