project64 icon indicating copy to clipboard operation
project64 copied to clipboard

Ocarina of Time JPEG backgrounds are inaccurate

Open GhostlyDark opened this issue 4 years ago • 6 comments

Dumping JPEG backgrounds with GLideN64 gives different results per RSP plugin. All the backgrounds of Ocarina of Time have different hashes using cxd4, PJ64 RSP and the mupen64plus HLE plugin. Assuming cxd4 gives 100% accurate results, the PJ64 RSP should reproduce the exact same images for accuracy. Visually they are nearly identical, but the hash differences show they aren't exactly the same. Dumps made with bgMode set to OnePiece: oot-backgrounds.zip

Compiler optimizations can mess with these depending on how the instructions are implemented, as is the case for the m64p HLE plugin: https://github.com/mupen64plus/mupen64plus-user-issues/issues/730

As a sidenote, Resident Evil 2 uses JPEG backgrounds as well and the PJ64 RSP accurately displays these and gives identical dumps to the cxd4 Static Interpreter.

GhostlyDark avatar Jul 14 '21 11:07 GhostlyDark

always did, working as intended.

Squall-Leonhart avatar Jul 14 '21 17:07 Squall-Leonhart

It appears that the 64-bit version of the RSP plugin does produce accurate results - the exact same ones as Static Interpreter. The 32-bit version continues to be visually off on current dev.

GhostlyDark avatar Jun 27 '24 15:06 GhostlyDark

It appears that the 64-bit version of the RSP plugin does produce accurate results - the exact same ones as Static Interpreter. The 32-bit version continues to be visually off on current dev.

It's probably caused by the default RSP recompiler settings. On 64bit, you're forced to use interpreter. Try disabling MMX in the RSP settings and see if it works in 32bit

LegendOfDragoon avatar Jan 05 '25 00:01 LegendOfDragoon

It appears that the 64-bit version of the RSP plugin does produce accurate results - the exact same ones as Static Interpreter. The 32-bit version continues to be visually off on current dev.

It's probably caused by the default RSP recompiler settings. On 64bit, you're forced to use interpreter. Try disabling MMX in the RSP settings and see if it works in 32bit

I didn't know it has settings. It was only after I looked at the source code that I realized it is hidden behind the debugger. Disabling MMX actually fixes this.

image

GhostlyDark avatar Jan 05 '25 15:01 GhostlyDark

Thanks for testing & verifying. I wonder if it still works with MMX, if you disable Microcode sections

LegendOfDragoon avatar Jan 09 '25 00:01 LegendOfDragoon

Thanks for testing & verifying. I wonder if it still works with MMX, if you disable Microcode sections

Yes, it does.

GhostlyDark avatar Jan 09 '25 20:01 GhostlyDark