Slow Motion

misfire
"Slow Motion" code is supposed to slow down the execution of a game.
Delays are accomplished internally as the processor runs through a series of millisecond loops.

Generic code:

200C0220 3C0800YY
200C0224 1D00FFFF
200C0228 2508FFFF
200C022C 03E00008
2XXXXXXX 08030088

YY - delay value (loop is executed YY << 16 times), varies between games
XXXXXXX - hook address, e.g. 'jr ra' inside scePadRead

Example:

"FFX-2 US "
Slow Motion
200C0220 3C080080
200C0224 1D00FFFF
200C0228 2508FFFF
200C022C 03E00008
20321674 08030088

Disassembly:

__000c0220: --------> #
lui t0, $0080 --------> # 000c0220:3c080080 t0=$00800000
__000c0224: --------> #
bgtz t0, $000c0224 -> # 000c0224:1d00ffff <__000c0224
addiu t0, t0, $ffff ---> # 000c0228:2508ffff t0=$007fffff
jr ra ------------------> # 000c022c:03e00008
nop ------------------> # 000c0230:00000000



This text was brought to you by GSHI.org, unless someone else gave it to you, in which case it was only written by someone at GSHI.org. Heheh.