How do you fix game-bugs?
After reporting several game related bugs, i think i understand the situation. Current me if i am wrong.

If on of the developers have this exact version of the game, he can explore the bug using provided memsave and hopefully fix the problem.

But if no one of developers have the game
a) user with problem must try to find the version (or options) of pcsx2 where it worked and hopefully developers can locate the problem just by the changelog
b) if "a" was unsuccessful, there is no hope of fixing the bug until it will be fixed "in general", accidentally (just because of emulation progress in general).

Is this accurate?

if it is, the list of "available for debug" games would be nice.
And why dont you use some kind of crash-reports?

sorry if i sound rude or something. I am not native english speaker. Appreciate your work!
Phenom II X4 940 3 Ghz / 8 gb RAM 800 / Geforce GTX 460 / win7 64

Sponsored links

This is a complex thing, and therefore we don't have a "standardized" way of bug tracking.
These days most bugs stem from emulation flaws we know exist, and for which fixes are planned (dma controller, sigh Tongue2 ).
We do however try to improve the current system as well, which is why oftentimes some new games start working.
There are of course more ps2 components that are constantly being worked on, which also affect compatibility.

So regarding the initial question: We'll usually try to reproduce the bug, and see if we can track what goes wrong (often not possible Sad )
You're kinda right, when it comes to bugs that don't have known or strongly suspect causes. However at this point most compatibility problems stem from known limitations in the emulator that are either very difficult to address properly because they need sweeping changes to the emu engine, or are almost impossible to address properly because of differences between PS2 and PC hardware design.

In those cases even though some of us may have specific games with bugs, they aren't going to be fixed overnight.

The main 'known' problems are:

* DMAC - PCSX2 simply doesn't emulate it and instead uses "likely case" timing logic between the SIF/GIF/VIF components of the PS2 to keep most games happy. It's 50% uber clever code, and 50% voodoo.

* SIF timing - The SIF is the interface between EE and IOP chips on the PS2. Currently, PCSX2's event management and the emulated SIF don't totally agree with each other, causing the CPUs to fall out of sync and and hang. This is the likely cause for many or most games that hang during bootup, or right before/after FMVs and such.

* Floating Point Unit - the PS2's FPU (both on the Emotion Engine and VUs) is a non-standard hack that gives it's results an extra bit of precision compared to the IEEE standard FPU in x86 cpus. The only way to emulate it 100% is with a fully soft-based FPU, which would be like 2fps on current hardware, or something. Clamping hacks reduce the impact to a minimum, but some persisting problems with inverted controls, rare SPS, and AI glitches may turn out to only be fixable through such a soft fpu.

* GPU shader limitations - the PS2's GS is very custom and unusual in how it's hardware works, and uses a unique texture memory arrangement and various mixtures of fixed and floating point math during the 'render pipeline'. These things are basically impossible to emulate with complete accuracy using current shader design of modern GPUs, when using render target upscaling (which is the main feature that makes games look really nice on the PC compared to the PS2). Overall accuracy could probably be improved over what GSdx currently sports, but not without major changes and significant performance hits to possibly all games. (but fortunately software mode is very nearly 99% accurate at this time)
Jake Stine (Air) - Programmer - PCSX2 Dev Team
Tnx for such complex answer. I am glad you are on track of these problems.
Phenom II X4 940 3 Ghz / 8 gb RAM 800 / Geforce GTX 460 / win7 64
Yeah, a nice breakdown indeed. Main page material, I'd say Tongue2
agree. i am sure many people will be interested i it.
don't make this info dissolve in forum archives..
Phenom II X4 940 3 Ghz / 8 gb RAM 800 / Geforce GTX 460 / win7 64
I'd say it's even dev blog material^^
Chicken is not Vegan?

(01-09-2010, 01:29 PM)kabooz Wrote: I'd say it's even dev blog material^^

nah, i think is more like an explanation of currently pcsx2 common failures and the actual limit of emulation,also a very good explanation i must say im impressed,but i didnt expect less from air Tongue
Well, I might make it into a formal blog post, or a series of a couple. We'll see. I've never been much of a publicist type, and usually I just do personal Q&A here on forums, and then my blogs happen to be about whatever specific challenges I'm focusing on in code at that time.
Jake Stine (Air) - Programmer - PCSX2 Dev Team
That entire post was incredible. I didn't know about 90% of that information since most of it is only mentioned behind the scenes. It would be nice to learn more about the emulated components (what they do, how they work, limitations with emulation, etc.) in an in-dept PCSX2 manual/guide or a thread/post for peeling away the mysteries of PS2 emulation for end users.

Users browsing this thread: 1 Guest(s)