PCSX2 / pcsx2

PCSX2 - The Playstation 2 Emulator
https://pcsx2.net
GNU General Public License v3.0
11.66k stars 1.61k forks source link

Meta: Games with IPU issues #2132

Open MrCK1 opened 6 years ago

MrCK1 commented 6 years ago

I figured a meta issue to track games with various IPU issues would be helpful since they're not always well documented/found easily. FMV issues related to GSdx are not included here.

Feel to make corrections as necesssary. The games here are based off my own tests, and data from the wiki, so re-tests would always be nice.

Unconfirmed:

False Positives:

ghost commented 6 years ago

You can add Onimusha - Dawn of Dreams, it have some corruption in opening/title screen and have a patch to avoid some IPU issues.

ghost commented 6 years ago

I have update my GameDB PR with games that need skipmpeg to work. Also you can add "lethal skies 2" and "Paris dakar rally".

MrCK1 commented 6 years ago

Done. Did you test those yourself? I believe Paris-Dakar Rally doesn't have any entries in the wiki.

ghost commented 6 years ago

Only Paris-Dakar and lethal skies 2 both pal.

Edit: are you sure about The incrdible Hulk? I should be fix according to a IPU PR (IPU normal error fix).

MrCK1 commented 6 years ago

Oh you're right about the Hulk. I'll remove that then.

ghost commented 6 years ago

Hum, you are right with lethal skies 2, I have test it on the 1.4 version but it work just fine in 1.5dev, unfortunatly, paris dakar is still broken.

MrCK1 commented 6 years ago

@atomic83GitHub Can you upload blockdumps during an IPU segment of the games you own here?

ghost commented 6 years ago

So I have Lethal Skies II, Paris Dakar and Guitar Hero (I have not Onimusha at the moment because it is a friend game), I did a Blockdump on these but this issue happen in booth of them :( https://github.com/PCSX2/pcsx2/issues/2266 , I will try the linuz cdvd plugin

MrCK1 commented 6 years ago

@FlatOutPS2 Here's a blockdump for Harry Potter, I'll get the others and modify this post accordingly.

https://drive.google.com/open?id=1j-I9fOuAmw4olM5djnhtCXjxDkzJhPmj (github's filesize limit is stupid) :(

FlatOutPS2 commented 6 years ago

@atomic83GitHub @MrCK1 Can either of you upload a (linuz cdvd) blockdump of one of the "hangs without SkipMpeg" games. I might look into this on the weekend.

MrCK1 commented 6 years ago

I can check tonight unless @atomic83GitHub does first ;P

ghost commented 6 years ago

Here is the Guitar Hero dump, Paris arrive next. https://drive.google.com/file/d/104wWmm_pOauFI1HzIeYKfdRY2leVPqSg/view?usp=sharing

FlatOutPS2 commented 6 years ago

@atomic83GitHub Thanks for the dump. Sadly, the guitar hero dump is still not working. It now prints Block ... not found in dump instead of showing the FMV. I guess a succesful dump of this game won't be possible.

ghost commented 6 years ago

Hum, I have a demo disk wich sometimes fail to read the FMV's (like Spyro), would you want a Blockdump on it?

Edit: Someone tested .hack // Fragment? It have a Skip Mpeg hack in the GameDB.

FlatOutPS2 commented 6 years ago

Hum, I have a demo disk wich sometimes fail to read the FMV's (like Spyro), would you want a Blockdump on it?

Do you know which demo disk? I might have the same/similar demo myself.

I would still like the Paris Dakar Rally blockdump though.

ghost commented 6 years ago

I will do the Blockdump when I back home, also it's the SCEE hits demo [SCED-52970].

FlatOutPS2 commented 6 years ago

it's the SCEE hits demo [SCED-52970].

I have this demo. But it doesn't have a Spyro FMV? See: https://wiki.pcsx2.net/SCEE_Hits_Demo

ghost commented 6 years ago

No, you probably misunderstood me :). I was just saying that this demo seems to do the same issue as the Spyro game :).

Also, I found some games that have a custom IPU patch in the DB:

capture

capture2

capture3

capture5

capture6

capture7

FlatOutPS2 commented 6 years ago

No, you probably misunderstood me :). I was just saying that this demo seems to do the same issue as the Spyro game :).

Oh, right. So does it fail the same as the Spyro issue too, 40% chance of failing. and returns to main menu straightaway?

I know about some of those other games. F1 2001 should be fine without the patch now, and Tekken 4 could be related(seemed like it when I tested the FMV). Dakar 2(it's not called Paris-Dakar 2) is probaly the same issue as the original game.

ghost commented 6 years ago

@FlatOutPS2, yes, this is the issue I was talking about.

MrCK1 commented 6 years ago

@FlatOutPS2 Does the blockdump from Harry Potter work? Just making sure ;)

FlatOutPS2 commented 6 years ago

Yes, it seemed to work as it should. The corruption is very, very bad though, I couldn't even tell if the FMVs ended early or not. I assume it's the same on the real game?

MrCK1 commented 6 years ago

Not sure if you had noticed while playing the blockdump, but the game's logging is very verbose. I'll look again tonight, but I'm not 100% positive if the FMVs are actually ending early or not.

FlatOutPS2 commented 6 years ago

@atomic83GitHub I tried the SCEE Hits Demo FMVs, and they all worked without fail over several runs.

ghost commented 6 years ago

And strangely, I notice the same thing, something seems to have fixed the problem very recently. Edit: Same on Paris Dakar!! it has been fix in a recent PR.

ghost commented 6 years ago

Paris Dakar don't anymore hang in FMV's I don't know what PR solve it but it should be very recent.

MrCK1 commented 6 years ago

You should still find out what PR it was, it may help other games.

FlatOutPS2 commented 6 years ago

I tried some older revisions and I could reproduce it with v1.4.0 and some early v1.5.0 builds. But a build from april 2017 no longer reproduced it.

ghost commented 6 years ago

I will try the @turtleli PR for Guitar Hero, I will post the results here.

FlatOutPS2 commented 6 years ago

@MrCK1 Are there any other games in the top list which are untested? If so, you should move those to the unconfirmed list.

ghost commented 6 years ago

Nope, still doesn't work.

MrCK1 commented 6 years ago

I updated the list and moved a few to unconfirmed. I'll have to check Guitar Hero later, as I said before I never got it to freeze consistently - it could be an issue with a specific region of the game.

MrCK1 commented 6 years ago

@prafullpcsx2 Can you see if videos in Dino Stalker still hang at the end? Thanks.

prafullpcsx2 commented 6 years ago

@MrCK1 Dino stalker video hangs were fixed long time ago. I retested the game today and can confirm the videos don't hang.

FlatOutPS2 commented 6 years ago

@MrCK1 Did you test Black& Bruised yourself? @prafullpcsx2 once mentioned it was fixed years ago: https://github.com/PCSX2/pcsx2/pull/1507#issuecomment-241102750

MrCK1 commented 6 years ago

I took that one from the wiki, didn't test it myself. The last test case there is older.

FlatOutPS2 commented 6 years ago

@prafullpcsx2 Does Crashed still freeze without the patch? If so can you upload a block dump of the issue?

MrCK1 commented 6 years ago

Added Dropship United Peace Force as noted in https://forums.pcsx2.net/Thread-Core-Bug-Report-Dropship-United-Peace-Force-NTSC?pid=580678#pid580678

FlatOutPS2 commented 6 years ago

Added Dropship United Peace Force as noted in https://forums.pcsx2.net/Thread-Core-Bug-Report-Dropship-United-Peace-Force-NTSC?pid=580678#pid580678

@MrCK1 Can you make a blockdump of the issue?

rcaridade145 commented 6 years ago

By looking at the source of Play! and PCSX2, PCSX2 on read32 seems does not cover 2 cases that Play! covers

case IPU_TOP + 0x0:
        if(!m_isBusy)
        {
            unsigned int availableSize = std::min<unsigned int>(32, m_IN_FIFO.GetAvailableBits());
            //If no bits are available, return zero immediately, shift below won't have any effect
            if(availableSize == 0) return 0;
            uint32 result = m_IN_FIFO.PeekBits_MSBF(availableSize);
            result <<= (32 - availableSize);
            return result;
        }
        else
        {
            return 0;
        }
        break;

    case IPU_TOP + 0x4:
        {
            //Not quite sure about this... are we really busy if there's no data in the FIFO?
            //This was needed to fix Timesplitters
            unsigned int availableSize = std::min<unsigned int>(32, m_IN_FIFO.GetAvailableBits());
            return GetBusyBit(m_isBusy) | GetBusyBit(availableSize != 32);
        }
        break;
MrCK1 commented 6 years ago

Added "Shox" to the list, corruption looks the same as Harry Potter: QWC (FMVs also end early) - nice verbose output too. Anyways, I'll upload a blockdump when I get around to it.

lightningterror commented 5 years ago

Likewise with this one, switching it with 1.8

refractionpcsx2 commented 3 years ago

Marked Arctic Thunder as fixed by #3877

seta-san commented 3 years ago

myst 3.. although a patch was released..

RedDevilus commented 3 years ago

Sims bustin out: In the past needed the skip mpeg but now it has corrupted sprites at the end of the starter FMV (after the couple drives away on the beach). I doubt many will notice it. It only lasts about 2-3 seconds. image

JordanTheToaster commented 2 years ago

Conflict: Desert Storm 2 PAL has extremely bad flickering in FMVs.

Goatman13 commented 2 years ago

The Sims need error checking implementation. Game overflow while reading coeff table, and expect ECD to be set when that happen. Fuuraiki2 send 256 intra slices, then send trash like 0x10,0x20,0x30,0x40. Game worked at some point because this trigger macroblock_modes == 0, and old version of mpeg decoder finished command in that situation. Now pcsx2 return 0, which is probably wrong thing to do as command go into processing random data. I suspect that game use this as fancy way to force finish IDEC, and old solution actually wasn't wrong.

refractionpcsx2 commented 2 years ago

Thanks for the information, that's very interesting :) I still have no idea how to fix it lol

I must say though, it's a bit annoying (and maybe suspicious?) That the game would be relying on error checking to make the video play.

seta-san commented 2 years ago

i checked up on the guy game. i looked back at old versions and the earliest version i saw the video corruption was 1.0. it's long been fixed.

JimScript commented 2 years ago

Jimmy Neutron - Boy Genius needs Skip MPEG Hack to get to the start menu, otherwise it HARD crashes the emulator after the last video. With the hack it does get there but with no start screen visible, but after pressing the start button everything is normal and FMVs play without issue. Log: emulog.txt