illusion's Blog
Contact Patches

Removing Morphological Anti-Aliasing from MotorStorm: Apocalypse

Intro

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.

Awesome!

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.

Showcase

Below you can find a collection of images as well as a video from RPCS3 showing the differneces in detail.

Gallery

Download

For those looking to use the patch on the emulator, you can head over to the patch manager, click on the “Download Latest Patches” and find the patch you wanted to use with your game Title ID and version, click on the checkbox to enable the patch and save changes.