Editing PS2 Custom Configs
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 169: | Line 169: | ||
== D == | == D == | ||
{{jumptosection|current=D}} | {{jumptosection|current=D}} | ||
=== Destroy All Humans! === | === Destroy All Humans! === | ||
Line 399: | Line 377: | ||
}} | }} | ||
Fixes black screen after PlayStation 2 logo. Skips some VIF1 flag being set to avoid some infinite loops in a couple functions reading VIF1 data from DMAC (0x10009000 | Fixes black screen after PlayStation 2 logo. Skips some VIF1 flag being set to avoid some infinite loops in a couple functions reading VIF1 data from DMAC (0x10009000). | ||
{{boxcode|float=left|title=Commands Info|ps2configrev=16454|code=<syntaxhighlight lang=bash> | {{boxcode|float=left|title=Commands Info|ps2configrev=16454|code=<syntaxhighlight lang=bash> | ||
Line 413: | Line 391: | ||
=== Ice Age 2 The Meltdown === | === Ice Age 2 The Meltdown === | ||
{{boxcodelite|title=SLUS-21307 (standard config)|ps2configrev=15753|code= | {{boxcodelite|title=SLUS-21307 (standard config)|ps2configrev=15753|code= | ||
3D 00 00 00 89 3D 00 00 0B 00 00 00 01 00 00 00 | 3D 00 00 00 89 3D 00 00 0B 00 00 00 01 00 00 00 | ||
Line 427: | Line 404: | ||
53 4C 55 53 2D 32 31 33 30 37 | 53 4C 55 53 2D 32 31 33 30 37 | ||
}} | }} | ||
{{boxcodelite|title=SLUS-21307 (alternative config)|ps2configrev=16740|code= | {{boxcodelite|title=SLUS-21307 (alternative config)|ps2configrev=16740|code= | ||
3D 00 00 00 64 41 00 00 0A 00 00 00 02 00 00 00 | 3D 00 00 00 64 41 00 00 0A 00 00 00 02 00 00 00 | ||
Line 438: | Line 415: | ||
20 01 BD 27 00 00 00 00 | 20 01 BD 27 00 00 00 00 | ||
}} | }} | ||
*Standard config fixes the freeze at the game logo. Function allocate too small stack, causing issues later. This patch fix it. | *Standard config fixes the freeze at the game logo. Function allocate too small stack, causing issues later. This patch fix it. | ||
*Alternative config to show 0x42 command usage, as a bonus is using less code than original to do the same. | *Alternative config to show 0x42 command usage, as a bonus is using less code than original to do the same. | ||
Line 471: | Line 448: | ||
== K == | == K == | ||
{{jumptosection|current=K}} | {{jumptosection|current=K}} | ||
=== Kuon === | === Kuon === | ||
Line 664: | Line 626: | ||
}} | }} | ||
Fixes the missing polygons on characters | Fixes the missing polygons on characters and the inaccurate camera angles. Enables the pressure sensitivity for melee attack differentiation. | ||
{{boxcode|float=left|title=Commands Info|code=<syntaxhighlight lang=bash> | {{boxcode|float=left|title=Commands Info|code=<syntaxhighlight lang=bash> | ||
Line 685: | Line 647: | ||
Fixes camera inaccuracies. | Fixes camera inaccuracies. | ||
{{boxcode|float=left|title=Commands Info|code=<syntaxhighlight lang=bash> | {{boxcode|float=left|width=750px|title=Commands Info|code=<syntaxhighlight lang=bash> | ||
0x3D => 0x4457 (17495) | 0x3D => 0x4457 (17495) | ||
0x0E => 0x19AC34 madda.s f13,f10 | 0x0E => 0x19AC34 madda.s f13,f10 | ||
Line 698: | Line 660: | ||
0x3D => 0x41F6 (16886) | 0x3D => 0x41F6 (16886) | ||
0x40 => (sets some value 1) | 0x40 => (sets some value 1) | ||
</syntaxhighlight>}} | |||
=== SRS: Street Racing Syndicate === | |||
{{boxcodelite|title=SLUS-20582|ps2configrev=17495|code= | |||
3D 00 00 00 57 44 00 00 0A 00 00 00 0F 00 00 00 | |||
44 55 10 00 20 00 B0 7F E8 FF 03 08 68 56 10 00 | |||
F8 7E 04 0C F4 FF 03 08 A0 FF 0F 00 00 00 00 00 | |||
20 00 B0 7F A4 FF 0F 00 00 00 00 00 55 00 10 3C | |||
A8 FF 0F 00 00 00 00 00 01 00 02 24 AC FF 0F 00 | |||
00 00 00 00 78 21 03 8E B0 FF 0F 00 00 00 00 00 | |||
02 00 43 14 B8 FF 0F 00 00 00 00 00 78 21 00 AE | |||
BC FF 0F 00 00 00 00 00 53 15 04 08 C0 FF 0F 00 | |||
00 00 00 00 20 00 B0 7B D0 FF 0F 00 00 00 00 00 | |||
55 00 04 3C D4 FF 0F 00 00 00 00 00 01 00 02 24 | |||
D8 FF 0F 00 00 00 00 00 F8 7E 04 0C DC FF 0F 00 | |||
00 00 00 00 78 21 82 AC E0 FF 0F 00 00 00 00 00 | |||
9C 15 04 08 15 00 00 00 04 00 00 00 0B 00 00 00 | |||
01 00 00 00 5D 01 00 00 68 06 00 00 14 00 00 00 | |||
00 00 00 00 0C 04 7E A8 00 00 00 00 00 00 00 00 | |||
10 40 FF FC 0C 04 7E A8 00 00 00 00 00 00 00 00 | |||
00 00 00 00 10 40 FF FB 01 00 00 00 40 55 10 00 | |||
1B 00 00 00 01 00 00 00 68 56 10 00 1C 00 00 00 | |||
00 00 00 00 | |||
}} | |||
Multi-version config. Fixes the hang on the splash screen. Based on the original GX config which does work only for the 1.03 version, because of the offset difference. A value of zero in 0x552168 (1.03 version) or 0x552178 (2.00 version) is expected to avoid the hang. This value is stored there using either the 0x01 command (1.03) or custom hook (2.00). Original value is reverted back later. 0x0B patch is delaying the jump. It seems the emulator is not able to execute the 0x01 hook on the jump or branch instructions due to how the recompiler works. What is interesting, the 0x0B command there does not use 0xC offset correction. | |||
{{boxcode|float=left|title=Commands Info|code=<syntaxhighlight lang=bash> | |||
0x3D => 0x4457 (17495) | |||
0x0A => 0xF | |||
0x105544 | |||
0x7FB00020 sq s0,0x20(sp) -> 0x0803FFE8 j 0xFFFA0 | |||
0x105668 (patch does apply to the 2.00 version only) | |||
0x0C047EF8 jal 0x11FBE0 -> 0x0803FFF4 j 0xFFFD0 | |||
0xFFFA0 (start of the first hook) | |||
0x7FB00020 sq s0,0x20(sp) | |||
0xFFFA4 | |||
0x3C100055 lui s0,0x55 | |||
0xFFFA8 | |||
0x24020001 addiu v0,zero,0x1 | |||
0xFFFAC | |||
0x8E032178 lw v1,0x2178(s0) | |||
0xFFFB0 | |||
0x14430002 bne v0,v1,0xFFFBC | |||
0xFFFB8 | |||
0xAE002178 sw zero,0x2178(s0) | |||
0xFFFBC | |||
0x08041553 j 0x10554C | |||
0xFFFC0 | |||
0x7BB00020 lq s0,0x20(sp) | |||
0xFFFD0 (start of the second hook, executed only in the 2.00 version) | |||
0x3C040055 lui a0,0x55 | |||
0xFFFD4 | |||
0x24020001 addiu v0,zero,0x1 | |||
0xFFFD8 | |||
0x0C047EF8 jal 0x11FBE0 | |||
0xFFFDC | |||
0xAC822178 sw v0,0x2178(a0) | |||
0xFFFE0 | |||
0x0804159C j 0x105670 | |||
0x15 => 4 | |||
0x0B => 1 | |||
0x15D (sector) | |||
0x668 (offset -> 0xAEE68 in the image) | |||
0x14 (bytes to replace) | |||
Replaced bytes: | |||
00 00 00 00 nop | |||
A8 7E 04 0C jal 0x11FAA0 | |||
00 00 00 00 nop | |||
00 00 00 00 nop | |||
FC FF 40 10 beqz v0,0x10566C | |||
Original bytes: | |||
A8 7E 04 0C jal 0x11FAA0 | |||
00 00 00 00 nop | |||
00 00 00 00 nop | |||
00 00 00 00 nop | |||
FB FF 40 10 beqz v0,0x105668 | |||
0x01 => 0x105540 addiu sp,-0x30 -> 0x1B | |||
0x01 => 0x105668 nop (after applying the 0x0B patch) -> 0x1C | |||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
Line 757: | Line 799: | ||
Fix graphical gliches, subtitles, QTE buttons, missing HUD | Fix graphical gliches, subtitles, QTE buttons, missing HUD | ||
== T == | == T == | ||
Line 802: | Line 813: | ||
Fixes the freeze at the Choral Castle. | Fixes the freeze at the Choral Castle. | ||
{{boxcode|float=left|title=Commands Info|code=<syntaxhighlight lang=bash> | {{boxcode|float=left|width=750px|title=Commands Info|code=<syntaxhighlight lang=bash> | ||
0x3D => 0x3D65 (15717) | 0x3D => 0x3D65 (15717) | ||
0x0E => 0x2921F4 add.s f00,f11,f00 | 0x0E => 0x2921F4 add.s f00,f11,f00 | ||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
=== Tokyo Extreme Racer 3 === | === Tokyo Extreme Racer 3 === |