"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
Founded By Misfire
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
Founded By Misfire