dmitrysmagin / pcsx4all

Pcsx4all v2.4 with mips-to-mips recompiler by Ulrich Hecht https://github.com/uli/psx4all-dingoo/
23 stars 34 forks source link

HLE Bios : Magic numbers, autobias, ReturnFromException... #49

Open gameblabla opened 5 years ago

gameblabla commented 5 years ago

So while investigating for the hang issues in Digimon Rumble Arena and Final Fantasy 8, i found this mysterious commented line of code

https://github.com/dmitrysmagin/pcsx4all/blob/master/src/psxbios.cpp#L1693

Commenting out this exact line allows Digimon Rumble Arena to go a bit further before it triggers the bios's exit function. I asked Senquack about it and he has no idea, looking at nocash documentation does not give me any clues either.

This commit https://github.com/dmitrysmagin/pcsx4all/commit/4a18d9e54360d3af3d09f333a07de3031fbd40de#diff-58e9dc1093d659513f538cf2d0f50fc6 added a lot of stuff but the diffing did not work properly unfortunately... Here's a diff between the initial import of PSX4ALL v2 and the commit followed after that touches psxbios.cpp https://pastebin.com/crvN8wGU

Yeah there's a lot of stuff, including things not seen in other forks. I later noticed that you removed autobias later https://github.com/dmitrysmagin/pcsx4all/commit/a7adf8b86edd4558fcc292450b0c64027b6bc8cf followed by the magic numbers : https://github.com/dmitrysmagin/pcsx4all/commit/487a575667cbdfb49c113df4cf765720b5e31953

So hmm what was the purpose of autobias ? You said that it wasn't working properly but there's a few games requiring cycle accuracy for memory card functions afaik. And what about the magic numbers ? How did you get them ? Reverse engineering ?