Loved by many, MotorStorm: Apocalypse is a game fans would love to play on the PlayStation 3 Emulator RPCS3, however there was one roadblock preventing this game from shining - Pixelation when using the emulators upscaling feature.
Heavy-lifting in Hardware
Morphological Anti-Aliasing is a form of post process anti-aliasing which is done using the PlayStation 3 CELL SPUs instead of the Reality Synthesizer (RSX) for extra performance.
Some titles used this Anti-Aliasing solution to reduce load put on the RSX and run on the SPU instead. This includes MotorStorm: Apocalypse and other first and third parties titles as well, and it varies from one implementation to another.
Getting Rid of MLAA for Good
Some games disable MLAA during video playback, Possibly to reduce load on SPU to decode video faster.
This however gives us an entry point to find where this toggle is located.
Lookie, lookie, there it is.
Disabling this in-game results in Crystal Clear Image.
A Familiar Sight
Setting a breakpoint on 0x144D67C on Read, give executable address at 0x456C94, Let’s jump to this address in a debugger.
0x456c94 88 83 d6 7c lbz r4,-0x2984(r3)
To disable this permanently, we can load register 4 with value of 0 using Load Intermediate
38 80 00 00
A simple solution to a complicated problem.
Below you can find a collection of images as well as a video from RPCS3 showing the differneces in detail.
Since this patch is made specifically for use on an Emulator, you can download it through it’s built-in patch manager or look at the source code at the RPCS3 Wiki.