Editing Talk:PS2 Emulation
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 1: | Line 1: | ||
==Table Tests== | |||
===PS2 Emulator Types and Versions=== | |||
{| class="wikitable" style="font-size:small;" | |||
|+ ps2_netemu.self versions | |||
! Firmware !! Version !! <abbr title="Maximun number of supported commands">Commands</abbr> | |||
|- | |||
! [[3.70_CEX|3.70]] | |||
| 15686 || rowspan="4" | 0x41 | |||
|- | |||
! [[3.73_CEX|3.73]] ~ [[3.74_CEX|3.74]] | |||
| 15936 | |||
|- | |||
! [[4.00_CEX|4.00]] ~ [[4.01_CEX|4.01]] | |||
| 16195 | |||
|- | |||
! [[4.10_CEX|4.10]] ~ [[4.11_CEX|4.11]] | |||
| 16361 | |||
|- | |||
! [[4.20_CEX|4.20]] ~ [[4.23_SEX|4.23]] | |||
| 16604 || rowspan="2" | 0x43 | |||
|- | |||
! [[4.25_CEX|4.25]] ~ [[4.26_SEX|4.26]] | |||
| 16740 | |||
|- | |||
! [[4.30_CEX|4.30]] ~ [[4.31_CEX|4.31]] | |||
| 16808 || 0x45 | |||
|- | |||
! [[4.40_CEX|4.40]] ~ [[4.41_CEX|4.41]] | |||
| 16916 || 0x46 | |||
|- | |||
! [[4.45_CEX|4.45]] ~ [[4.46_CEX|4.46]] | |||
| 17041 || 0x48 | |||
|- | |||
! [[4.50_CEX|4.50]] | |||
| 17179 || 0x4A | |||
|- | |||
! [[4.55_CEX|4.55]] | |||
| 17277 || rowspan="2" | 0x4D | |||
|- | |||
! [[4.60_CEX|4.60]] ~ [[4.76_CEX|4.76]] | |||
| 17314 | |||
|- | |||
! [[4.78_CEX|4.78]] ~ [[4.81_CEX|4.81]] | |||
| 17495 || 0x50 | |||
|} | |||
{{spoiler|Purpose and style of the table (info only useful for wiki editors)| | |||
This table was intended to replace the small one for netemu command 0x3D inside the huge table of config commands in frontpage, i realized there was a lot of duplicates inside but i did not wanted to mess around with the original table, and this talk page was saturated of text so i made it in my user page and now is moved here, is cute and small but is not definite though, lets say this one is the "vertical version" of it, but what i really want to do is to display the info in horizontally and to add together all the info from the other .self versions of the ps2 emus, something like the experiments done here [[Talk:PS1_Emulation#PS1_Emulators_versions_.28experimental_table.29 | PS1 table tests]], i like this one too though so probably i will made another one for the "horizontal version" | |||
}} | |||
===PS2 Emulators Config Commands=== | |||
<div> | |||
<div style="float:top; text-align:center;">'''PS2 Emulators Config Commands'''</div> | |||
<div style="float:left; width:49%;"> | |||
<div style="float:right;"> | |||
{| class="wikitable" style="font-size:x-small;" | |||
|- | |||
! rowspan="2" | Command Name !! colspan="3" | Command ID !! rowspan="2" | Max<br>Usage !! colspan="3" | Command Data | |||
|- | |||
! ps2_gxemu !! ps2_softemu !! ps2_netemu !! Length !! colspan="2" | Valid Values | |||
|- | |||
| Config terminator or TitleID enforcer || {{no}} || No ? || 0x00 || 1 || Nothing or 0xA bytes || colspan="2" | TitleID | |||
|- | |||
| {{cellcolors|#ff9933}} Hook function ? || 0x00 || ? || 0x01 || 3 ? || 2 * uint32_t || data || id | |||
|- | |||
| Set something || 0x01 || ? || 0x02 || 1 || uint32_t || colspan="2" | 1000=?<br>3000=?<br>6000=? | |||
|- | |||
| <abbr title="After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE">Switch</abbr> something || 0x02 ? || ? || 0x03 || 1 || colspan="3" style="text-align:center; background-color:lightgrey;" | ''Nothing'' | |||
|- | |||
| Set something || 0x03 || ? || 0x04 || 1 || uint32_t || colspan="3" | 8=?<br>0x10=? | |||
|- | |||
| <abbr title="After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE">Switch</abbr> something ? || 0x04 || {{cellcolors|#CC5555}} ? || {{cellcolors|#CC5555}} 0x05 || 1 || colspan="3" style="text-align:center; background-color:lightgrey;" | ''Nothing'' | |||
|- | |||
| {{cellcolors|#ddddff}} <abbr title="After the purpose of this command is identifyed, this word should be replaced by something like: 'Enable buffer size 4k'">Switch</abbr> something to 0x14F80 || 0x05 || ? || 0x06 || 1 || colspan="3" style="text-align:center; background-color:lightgrey;" | ''Nothing'' | |||
|- | |||
| Set something || 0x06 || ? || 0x07 || 1 || uint32_t || colspan="2" | 8=? | |||
|- | |||
| {{cellcolors|lightgreen}} <!--Patch EE memory with 4 opcodes-->? || 0x07 || ? || 0x08 || 3 || colspan="3" | 8 * uint32_t | |||
|- | |||
| {{cellcolors|lightgreen}} Patch EE memory with 2 opcodes || 0x08 || ? || 0x09 || 1 || colspan="3" | <abbr title="the first uint32_t, indicates the entry_count, maximun number of entries: 32">0x4</abbr> + (entry_count * 0x14) | |||
|- | |||
| {{cellcolors|lightgreen}} Patch EE memory with 1 opcode || {{no}} ? || ? || 0x0A || 1 || colspan="3" | <abbr title="the first uint32_t, indicates the entry_count, maximun number of entries: 32">0x4</abbr> + (entry_count * 0xC) | |||
|- | |||
| {{cellcolors|lightgreen}} Patch game disc || 0x09 || ? || 0x0B || 1 || colspan="3" | <s><abbr title="the first uint32_t, indicates the entry_count, maximun number of entries: 47">0x4</abbr> + (entry_count * (0x8 + (patch_size * 0x8)))</s> | |||
|- | |||
| Set something || 0x0A || ? || 0x0C || 1 || 2 * uint16_t || 0=?<br>1=?<br>2=? || 0=?<br>0x180=?<br>0x400=?<br>0x800=?<br>0x63=? | |||
|- | |||
| Set something || 0x0B ? || ? || 0x0D || 1 || uint32_t || colspan="2" | 0=?<br>1=? | |||
|- | |||
| {{cellcolors|#77aaff}} Set something || 0x0C || ? || 0x0E || 31 || uint32_t || colspan="2" | ? | |||
|- | |||
| {{cellcolors|lightgreen}} ? || 0x0D || ? || 0x0F || 1 || colspan="3" | <abbr title="the first uint32_t, indicates the entry_count, maximun number of entries: 31">0x4</abbr> + (entry_count * 0x8) ? | |||
|- | |||
| {{cellcolors|lightgreen}} ? || 0x0E ? || ? || 0x10 || 1 || colspan="3" | <abbr title="the first uint32_t, indicates the entry_count, maximun number of entries: 31">0x4</abbr> + (entry_count * 0x8) ? | |||
|- | |||
| {{cellcolors|#77aaff}} Set something || 0x0F || ? || 0x11 || 31 || uint32_t || colspan="2" | ? | |||
|- | |||
| {{cellcolors|lightgreen}} ? || 0x10 || ? || 0x12 || 1 || colspan="3" | ? | |||
|- | |||
| Set something || 0x11 || ? || 0x13 || 1 || uint64_t || colspan="2" | 0xF960=? | |||
|- | |||
| <abbr title="After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE">Switch</abbr> something || 0x12 || ? || 0x14 || 1 || colspan="3" style="text-align:center; background-color:lightgrey;" | ''Nothing'' | |||
|- | |||
| Set something || 0x13 || ? || 0x15 || 1 || uint32_t || colspan="2" | 2=?<br>4=? | |||
|- | |||
| ? || ? || {{cellcolors|#CC5555}} ? || {{cellcolors|#CC5555}} 0x16 || ? || colspan="3" | ? | |||
|- | |||
| Set something || ? || ? || 0x17 || 1 || uint32_t || colspan="2" | 1=? | |||
|- | |||
| ? || ? || {{cellcolors|#CC5555}} ? || {{cellcolors|#CC5555}} 0x18 || ? || colspan="3" | ? | |||
|- | |||
| <abbr title="After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE">Switch</abbr> something || ? || ? || 0x19 || 1 || colspan="3" style="text-align:center; background-color:lightgrey;" | ''Nothing'' | |||
|- | |||
| <abbr title="After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE">Switch</abbr> something || ? || ? || 0x1A || 1 || colspan="3" style="text-align:center; background-color:lightgrey;" | ''Nothing'' | |||
|- | |||
| <abbr title="After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE">Switch</abbr> something || 0x18 || ? || 0x1B || 1 || colspan="3" style="text-align:center; background-color:lightgrey;" | ''Nothing'' | |||
|- | |||
| {{cellcolors|#ffff99}} ? || 0x19 ? || ? || 0x1C || 1 || 4 * uint8_t ? || colspan="2" | ? | |||
|- | |||
| {{cellcolors|#ffff99}} ? || 0x1A ? || ? || 0x1D || 1 || 4 * uint8_t ? || colspan="2" | ? | |||
|- | |||
| {{cellcolors|#ffff99}} ? || 0x1B || ? || 0x1E || 1 || 4 * uint8_t || colspan="2" | 3,0,0,0=? | |||
|- | |||
| Set something || 0x1C || ? || 0x1F || 1 || uint32_t || colspan="2" | 200=?<br>1000=?(default) | |||
|- | |||
| Set something || 0x1D || ? || 0x20 || 1 || uint64_t || colspan="2" | 60=?(default)<br>200=?<br>240=? | |||
|- | |||
| Set something || 0x1E || ? || 0x21 || 1 || uint32_t || colspan="2" | 0=?<br>1=?<br>2=? | |||
|- | |||
| <abbr title="After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE">Switch</abbr> something || 0x1F ? || ? || 0x22 || 1 || colspan="3" style="text-align:center; background-color:lightgrey;" | ''Nothing'' | |||
|- | |||
| {{cellcolors|#ddddff}} <abbr title="After the purpose of this command is identifyed, this word should be replaced by something like: 'Enable buffer size 4k'">Switch</abbr> something to 0x14E00 || {{no}} ? || ? || 0x23 || 1 || colspan="3" style="text-align:center; background-color:lightgrey;" | ''Nothing'' | |||
|- | |||
| Set something || 0x20 || ? || 0x24 || 1 || uint64_t || colspan="2" | 12000=?<br>48000=? | |||
|- | |||
| ? || 0x21 ? || {{cellcolors|#CC5555}} ? || {{cellcolors|#CC5555}} 0x25 || ? || colspan="3" | ? | |||
|- | |||
| {{cellcolors|lightgreen}} ? || 0x22 || ? || 0x26 || 4 ? || colspan="3" | <abbr title="the first uint32_t, indicates the entry_count, maximun number of entries: 31">0x4</abbr> + (entry_count * 0x8) ? | |||
|- | |||
| {{cellcolors|lightgreen}} ? || 0x23 || ? || 0x27 || 1 || colspan="3" | <abbr title="the first uint32_t, indicates the entry_count, maximun number of entries: 31">0x4</abbr> + (entry_count * 0x8) ? | |||
|} | |||
</div> | |||
</div> | |||
<div style="float:right; width:49%;"> | |||
<div style="float:left;"> | |||
{| class="wikitable" style="font-size:x-small;" | |||
|- | |||
! rowspan="2" | Command Name !! colspan="3" | Command ID !! rowspan="2" | Max<br>Usage !! colspan="3" | Command Data | |||
|- | |||
! ps2_gxemu !! ps2_softemu !! ps2_netemu !! Length !! colspan="2" | Valid Values | |||
|- | |||
| Set something || 0x24 ? || ? || 0x28 || 1 || uint32_t || colspan="2" | 0=?<br>1=?<br>2=?<br>3=? | |||
|- | |||
| Set something || 0x25 ? || ? || 0x29 || 1 || 2 * uint32_t || ? || ? | |||
|- | |||
| <abbr title="After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE">Switch</abbr> something || 0x26 ? || ? || 0x2A || 1 || colspan="3" style="text-align:center; background-color:lightgrey;" | ''Nothing'' | |||
|- | |||
| <abbr title="After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE">Switch</abbr> something || 0x27 ? || ? || 0x2B || 1 || colspan="3" style="text-align:center; background-color:lightgrey;" | ''Nothing'' | |||
|- | |||
| Set something || 0x28 || ? || 0x2C || 1 || uint32_t || colspan="2" | 1=? | |||
|- | |||
| ? || 0x29 ? || {{cellcolors|#CC5555}} ? || {{cellcolors|#CC5555}} 0x2D || ? || ? || colspan="2" | ? | |||
|- | |||
| Set something || 0x2A ? || ? || 0x2E || 1 || uint32_t || colspan="2" | ? | |||
|- | |||
| Set something || 0x2B || ? || 0x2F || 1 || uint32_t || colspan="2" | ? | |||
|- | |||
| ? || {{no}} || Yes ? || {{cellcolors|#CC5555}} 0x30 || ? || ? || colspan="2" | ? | |||
|- | |||
| ? || {{no}} || Yes ? || {{cellcolors|#CC5555}} 0x31 || ? || ? || colspan="2" | ? | |||
|- | |||
| ? || {{no}} || Yes ? || {{cellcolors|#CC5555}} 0x32 || ? || ? || colspan="2" | ? | |||
|- | |||
| ? || {{no}} || Yes ? || {{cellcolors|#CC5555}} 0x33 || ? || ? || colspan="2" | ? | |||
|- | |||
| ? || {{no}} || Yes ? || {{cellcolors|#CC5555}} 0x34 || ? || ? || colspan="2" | ? | |||
|- | |||
| Enable Force Flip Field || {{no}} || Yes ? || 0x35 || 1 || colspan="3" style="text-align:center; background-color:lightgrey;" | ''Nothing'' | |||
|- | |||
| ? || {{no}} || Yes ? || {{cellcolors|#CC5555}} 0x36 || ? || ? || colspan="2" | ? | |||
|- | |||
| ? || {{no}} || Yes ? || {{cellcolors|#CC5555}} 0x37 || ? || ? || colspan="2" | ? | |||
|- | |||
| ? || {{no}} || Yes ? || {{cellcolors|#CC5555}} 0x38 || ? || ? || colspan="2" | ? | |||
|- | |||
| ? || {{no}} || Yes ? || {{cellcolors|#CC5555}} 0x39 || ? || ? || colspan="2" | ? | |||
|- | |||
| ? || {{no}} || Yes ? || {{cellcolors|#CC5555}} 0x3A || ? || ? || colspan="2" | ? | |||
|- | |||
| ? || {{no}} || Yes ? || {{cellcolors|#CC5555}} 0x3B || ? || ? || colspan="2" | ? | |||
|- | |||
| ? || {{no}} || Yes ? || {{cellcolors|#CC5555}} 0x3C || ? || ? || colspan="2" | ? | |||
|- | |||
| Config file revision || {{no}} || {{no}} || 0x3D || 1 || uint32_t || colspan="2" | >=15686 | |||
|- | |||
| Disable something || {{no}} || {{no}} || 0x3E || 1 || colspan="3" style="text-align:center; background-color:lightgrey;" | ''Nothing'' | |||
|- | |||
| Set something || {{no}} || {{no}} || 0x3F || 1 || uint32_t || colspan="2" | ? | |||
|- | |||
| <abbr title="After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE">Switch</abbr> something || {{no}} || {{no}} || 0x40 || 1 || colspan="3" style="text-align:center; background-color:lightgrey;" | ''Nothing'' | |||
|- | |||
| Disable lwsync ? || {{no}} || {{no}} || 0x41 || 1 || colspan="3" style="text-align:center; background-color:lightgrey;" | ''Nothing'' | |||
|- | |||
| ? || {{no}} || {{no}} || 0x42 || 1 || uint32_t || colspan="2" | ? | |||
|- | |||
| Set something || {{no}} || {{no}} || 0x43 || 1 || uint32_t || colspan="2" | 0=?(default)<br>1=? | |||
|- | |||
| Disable Smoothing filter || {{no}} || {{no}} || 0x44 || 1 || colspan="3" style="text-align:center; background-color:lightgrey;" | ''Nothing'' | |||
|- | |||
| <abbr title="After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE">Switch</abbr> something || {{no}} || {{no}} || 0x45 || 1 || colspan="3" style="text-align:center; background-color:lightgrey;" | ''Nothing'' | |||
|- | |||
| Enable L2H Improvement || {{no}} || {{no}} || 0x46 || 1 || colspan="3" style="text-align:center; background-color:lightgrey;" | ''Nothing'' | |||
|- | |||
| Enable XOR CSR || {{no}} || {{no}} || 0x47 || 1 || colspan="3" style="text-align:center; background-color:lightgrey;" | ''Nothing'' | |||
|- | |||
| Set VSYNC IPU & Delay || {{no}} || {{no}} || 0x48 || 1 || 2 * uint32_t || 1=No IPU<br>2=IPU<br>3=Anytime || 20000=Conservative<br>100000=Normal<br>250000=Agressive<br>Any other | |||
|- | |||
| <abbr title="After the purpose of this command is identifyed, this word should be replaced by something like: 'Enable buffer size 4k'">Switch</abbr> something to 0xB,0,0 || {{no}} || {{no}} || 0x49 || 1 || colspan="3" style="text-align:center; background-color:lightgrey;" | ''Nothing'' | |||
|- | |||
| {{cellcolors|#ddddff}} <abbr title="After the purpose of this command is identifyed, this word should be replaced by something like: 'Enable buffer size 4k'">Switch</abbr> something to 0x15100 || {{no}} || {{no}} || 0x4A || 1 || colspan="3" style="text-align:center; background-color:lightgrey;" | ''Nothing'' | |||
|- | |||
| Set something || {{no}} || {{no}} || 0x4B || 1 || 2 * uint32_t || ? || ? | |||
|- | |||
| Set something || {{no}} || {{no}} || 0x4C || 1 || 2 * uint32_t || ? || ? | |||
|- | |||
| Set something || {{no}} || {{no}} || 0x4D || 1 || uint32_t || colspan="2" | ? | |||
|- | |||
| ? || {{no}} || {{no}} || 0x4E || 1 || || colspan="2" | ? | |||
|- | |||
| ? || {{no}} || {{no}} || 0x4F || 1 || || colspan="2" | ? | |||
|- | |||
| <abbr title="After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE">Switch</abbr> something || {{no}} || {{no}} || 0x50 || 1 || colspan="3" style="text-align:center; background-color:lightgrey;" | ''Nothing'' | |||
|} | |||
</div> | |||
</div> | |||
</div> | |||
<br style="clear: both;" /> | |||
*Notes | |||
**The colors used at the cells of the left column in the table are just temporal, later willl be needd to decide if using them, how many to color, and the color palette used in them... by now works a bit as an small hint of the complexity of the commands, and a rought way of grouping them | |||
{{spoiler|Purpose and style of the table (info only useful for wiki editors)| | |||
This one started as a notepad to compare the command IDs from gxemu and netemu, time ago i was thinking in adding some info in the huge table for config commands in frontpage (more eyecatchig, or noob friendly, or adding some mark to the commands to differenciate them in groups by its purpose), when i started making this table i realized it was posible to display all commands together in a 1080p PC monitor and that was very cool because it can be used like a "cheatsheet" when researching about this commands (for a fast compare, also remember wiki allows to print pages), the table was not intended to replace the other in frontpage, there is some info in the other that is not here, and here there is some info here that is not in the other (and this is a problem), what happened is this table started growing and at the time of moving it here (2017 november 4) it reached some "maturity", is at a point where can be done two different things with it, we can step back and simplify it (by removing the columns at right and the redundant info with the table of frontpage), or we can continue expanding it by adding here the info of the other table in frontpage, note this table right now is splitted horizontally but if we join it together in a single vertical table there is a lot of room to add more info, so it can replace the table in frontpage potentially at some point (not yet), i dont have a clear view of which path is better to follow though so by now i think im not going to modify it much more, is better to focus in filling the info inside it and continue rushing with it to see how it grows | |||
}} | |||
==Game CONFIG commands (notepad and worklog)== | ==Game CONFIG commands (notepad and worklog)== | ||
All info here related with commands needs to be moved to frontpage at some point | |||
====ps2_netemu command 0x1==== | |||
There are some additional internal patches using CONFIG cmd id 0x01, using subs not available in 0x3B list | |||
condition: 0xBBB5F800, 0x3B949C00, 0x42133A90 | |||
setting: | |||
0x18E1F0, sub_4670C (4.70) | |||
0x348EC8, sub_44338 (4.70) | |||
in id0x01, function id 0x18 | |||
condition: [ 0x20183F04 (+200000000 base) ] == 0x0C060F2C | |||
setting: | |||
stores 0 in address 0x20183F04, 0x20183F34, 0x20183F3C - with 200000000 base | |||
0x183F0C, sub_46334 (4.70) | |||
0x183F3C, sub_45DA4 (4.70) | |||
0x183D74, sub_47B50 (4.70) | |||
===ps2_netemu command 0x5=== | |||
This command seems to be disabled in netemu, but is used in gxemu with ID 0x4 | |||
*There are several games that uses it in his config data hardcoded inside ps2_gxemu.self such: | |||
**SLES-51823 | 1 | cmd: 0x4 | |||
**SLES-54135 | 1 | cmd: 0x4 | |||
**SLES-54136 | 1 | cmd: 0x4 | |||
**SLES-54622 | 1 | cmd: 0x4 | |||
**SLES-54623 | 1 | cmd: 0x4 | |||
**SLPM-65340 | 1 | cmd: 0x4 | |||
**SLPM-66275 | 1 | cmd: 0x4 | |||
**SLUS-20001 | 1 | cmd: 0x4 Tekken tag tournament | |||
**SLUS-21423 | 1 | cmd: 0x4 | |||
**SLUS-21590 | 1 | cmd: 0x4 | |||
===ps2_netemu command 0x12=== | |||
====type 1==== | |||
Playground discussion, unsure about clrlslwi r11, r0, 16,3 result | |||
<pre> | |||
Syphon Filter The Omega Strain | |||
298 00 00 00 00 | |||
29C 00 00 00 00 | |||
2A0 01 00>02 00< Type1, Count 2 | |||
2A4 31 00 99 18 | |||
2A8 32 00 B6 18 | |||
type 1: (Syphon Filter The Omega Strain ) | |||
*0x48 | ptr to 1st value *0x2A4 (0x15F) | |||
*0x50 | count of type values | |||
(0x18990031 >> 0xC) & 0xFFFF0 = 0x18990 | |||
(0x18B60032 >> 0xC) & 0xFFFF0 = 0x18B60 | |||
store value in [0x18990 + ??? ] | |||
seg017:0000000000198498 next_value: # CODE XREF: read_id0x12_type_1+120�j | |||
seg017:0000000000198498 lwz r0, 0(r10) # -> 0x18990031 | |||
seg017:000000000019849C addi r8, r8, 1 # counter | |||
seg017:00000000001984A0 ld r29, 0(r31) | |||
seg017:00000000001984A4 addi r10, r10, 4 # ptr to next value | |||
seg017:00000000001984A8 rlwinm r28, r0, 20,12,27 # r28 = (r0 >> 12) & 0xFFFF0 = (0x18990031 >> 12) & 0xFFFF0 = 0x18990 | |||
seg017:00000000001984AC clrlslwi r11, r0, 16,3 # r11 = 0x0031 << 3 = 0x188 | |||
seg017:00000000001984B0 add r26, r28, r29 # r26 = 0x18990 + ?? | |||
seg017:00000000001984B4 stw r11, 4(r26) # store 0x62000? or 0x188? in r26 | |||
seg017:00000000001984B8 lwz r5, 0x50(r31) # count | |||
seg017:00000000001984BC cmplw cr6, r5, r8 | |||
seg017:00000000001984C0 bgt cr6, next_value | |||
</pre> | |||
====type 2==== | |||
Fix on Interpretation? | |||
<pre> | |||
Primal | |||
298 00 00 00 04 | |||
29C 00 00 00 00 | |||
2A0 02 00>03 00< Type 2, Count 3 | |||
2A4 5F 01 00 00 | |||
2A8 8D BD 6F 2C | |||
2AC 67 03 00 00 | |||
2B0 02 00>03 00< Type 2, Count 3 | |||
2B4 6B 01 00 00 | |||
2B8 31 35 70 E9 | |||
2BC 72 03 00 00 | |||
2C0 03 00>02 00< Type 3, Count 2 | |||
2C4 60 9B 39 10 | |||
2C8 18 9C 39 10 | |||
2CC | |||
type 2: | |||
*0x20C | counter | |||
*0x210 | 1st value: 0x15F -> only gets compared, if passed check 2nd value | |||
*0x214 | 2nd value: 0x2C6FBD8D -> only gets compared, if passed use *0x218 + *0x21C | |||
*0x218 | 1 ( = count - 2) | |||
*0x21C | ptr to 3rd value *0x2AC (0x367) | |||
</pre> | |||
====type 3==== | |||
<pre> | |||
Example Primal | |||
*0x11B4| counter | |||
*0x11B8| -1 -> 0x399B60? | |||
*0x11BC| 0 -> 0x399B60? | |||
*0x11C0| ptr to *0x2C4 values | |||
*0x11C4| count (2) | |||
r11 = r0 & 0xFFFFFFF = 0x10399B60 & 0xFFFFFFF = 0x399B60 | |||
0x10399C18 & 0xFFFFFFF = 0x399C18 | |||
r3 = r31 >> 28 = 0x10399B60 >> 0x1C = 1 | |||
a check if 1,2 | |||
</pre> | |||
====type 4==== | |||
cmpwi cr7, r0, 4 | |||
bne cr7, panic_dword_1967BC | |||
srwi r9, r6, 1 # r9 = r6 >> 1 = count >> 1 | |||
addi r11, r4, 4 | |||
stw r9, 0x1238(r31) save count>>1 | |||
std r11, 0x1240(r31) save ptr to table values start | |||
---big handler, different register settings?--- | |||
==XMB messages related with PS2 Emulation== | ==XMB messages related with PS2 Emulation== | ||
'''From: explore_category_sysconf.rco\Text\English.xml''' | |||
<Text name="msg_ps_ps2_upconvert">PS/PS2 - Upscaler</Text> | <Text name="msg_ps_ps2_upconvert">PS/PS2 - Upscaler</Text> | ||
<Text name="msg_ps_upconvert">PS - Upscaler</Text> | <Text name="msg_ps_upconvert">PS - Upscaler</Text> | ||
Line 9: | Line 380: | ||
<Text name="msg_ps_smoothing">PS - Smoothing</Text> | <Text name="msg_ps_smoothing">PS - Smoothing</Text> | ||
<Text name="msg_ps_ps2_smoothing_explanation">Reduces the roughness of the displayed image.</Text> | <Text name="msg_ps_ps2_smoothing_explanation">Reduces the roughness of the displayed image.</Text> | ||
'''From: game_ext_plugin.rco\Text\English.xml''' | |||
<Text name="msg_error_cannot_play_ps2disc_scee">This title is not currently compatible with the PS3™ system. Please visit faq.eu.playstation.com/bc for a list of PlayStation®2 format software titles that are compatible, and to update the System Software that will enable your PS3™ system to play additional PlayStation®2 format software titles.</Text> | <Text name="msg_error_cannot_play_ps2disc_scee">This title is not currently compatible with the PS3™ system. Please visit faq.eu.playstation.com/bc for a list of PlayStation®2 format software titles that are compatible, and to update the System Software that will enable your PS3™ system to play additional PlayStation®2 format software titles.</Text> | ||
<Text name="msg_error_cannot_play_ps2disc_scea">This title is not currently compatible with the PS3™ system. If you update your system software the title may become compatible with your system. Please visit http://www.us.playstation.com/Support/CompatibleStatus to check whether a specific PlayStation®2 format software title is compatible with the PS3™ system.</Text> | <Text name="msg_error_cannot_play_ps2disc_scea">This title is not currently compatible with the PS3™ system. If you update your system software the title may become compatible with your system. Please visit http://www.us.playstation.com/Support/CompatibleStatus to check whether a specific PlayStation®2 format software title is compatible with the PS3™ system.</Text> | ||
Line 19: | Line 389: | ||
<Text name="msg_cannot_run_ps2_fromat_corretly_stop">A problem has occurred. This PlayStation®2 format software was forced to quit.</Text> | <Text name="msg_cannot_run_ps2_fromat_corretly_stop">A problem has occurred. This PlayStation®2 format software was forced to quit.</Text> | ||
'''From: explore_plugin_full.rco\Text\English.xml''' | |||
<Text name="msg_setting_file_ps2">Settings File (PlayStation®2)</Text> | <Text name="msg_setting_file_ps2">Settings File (PlayStation®2)</Text> | ||
<Text name="msg_your_bb_navigator">Your PlayStation®BB Navigator</Text> | <Text name="msg_your_bb_navigator">Your PlayStation®BB Navigator</Text> | ||
Line 28: | Line 397: | ||
<Text name="msg_error_cannot_play_ps2_format">This model of the PS3™ system is not compatible with PlayStation®2 format software.</Text> | <Text name="msg_error_cannot_play_ps2_format">This model of the PS3™ system is not compatible with PlayStation®2 format software.</Text> | ||
</ | |||
==Orphan info== | |||
This is misterious info that cant be unveilled | |||
===ps2_netemu=== | |||
<pre> | |||
seg017:00000000001355B4 ld r28, off_74BA20 # unk_933F80 | |||
seg017:00000000001355B8 .using unk_933F80, r28 | |||
seg017:00000000001355B8 lis r0, 0x4000 # 0x40000020 | |||
seg017:00000000001355BC ori r0, r0, 0x20 # 0x40000020 | |||
seg017:00000000001355C0 ld r9, off_934158 # unk_0 | |||
seg017:00000000001355C4 and r9, r9, r0 # r9 = r9 & 0x40000020 | |||
seg017:00000000001355C8 cmpdi cr7, r9, 0 | |||
seg017:00000000001355CC bne cr7, loc_1356E4 | |||
seg017:00000000001355D0 ld r0, off_934158 # unk_0 | |||
seg017:00000000001355D4 rlwinm r0, r0, 0,2,2 # r0 = r0 & 0x20000000 | |||
seg017:00000000001355D8 cmpdi cr7, r0, 0 | |||
seg017:00000000001355DC bne cr7, image_selection | |||
seg017:00000000001355E0 ld r0, off_934158 # unk_0 | |||
seg017:00000000001355E4 rlwinm r0, r0, 0,5,5 # r0 = r0 & 0x4000000 | |||
seg017:00000000001355E8 cmpdi cr7, r0, 0 | |||
seg017:00000000001355EC beq cr7, static_path | |||
</pre> | |||
=== Cold Fear === | |||
frequenlty, as if you pressed pause | |||
0x46 | |||
0x19 | |||
==Obsolete experiments== | ==Obsolete experiments== | ||
Line 50: | Line 446: | ||
* http://tortuga-cove.com/forums/viewtopic.php?f=57&t=530 | * http://tortuga-cove.com/forums/viewtopic.php?f=57&t=530 | ||
* [[Talk:Emulation#PS2.2FPStwo]] | * [[Talk:Emulation#PS2.2FPStwo]] | ||
=== Enable Playstation 2 on non BC's=== | === Enable Playstation 2 on non BC's=== | ||
Line 91: | Line 475: | ||
* Without Factory Service Mode : gives "Incompatible Data" when inserting PS2 disc | * Without Factory Service Mode : gives "Incompatible Data" when inserting PS2 disc | ||
* When enabling [ | * When enabling [http://www.ps3devwiki.com/files/devtools/lv2-v9-pkg/ LV2Patcher] without factory service mode (patch4 set as http://pastie.org/private/jp8zhvuocjz95cfrjm0uzg) : no changes in XMB:Game (still only PS upscaler/smoothing, no PS2 mention at all) | ||
* When enabling [ | * When enabling [http://www.ps3devwiki.com/files/devtools/lv2-v9-pkg/ LV2Patcher] without factory service mode (patch4 set as http://pastie.org/4355919) : gives XMB:Game PS2 smoothing/upscaling options, it also make an inserted disk to be seen as PS2 format. Still same problem of ¨incompatible title¨ and loss of BT/settings. Also after returning to XMB, it no longer sees the disc as PS2 format but as incompatible data (which suggests the lv2 patch is undone, as lv2 is reloaded when returning from the ps2 lpar) | ||
* Using [ | * Using [http://www.ps3devwiki.com/files/OtherOSplusplus/misc/boot_ps2.pkg boot_ps2.pkg] without factory service mode : no resetting of date/time/displayoutput (still output on mainscreen), but all connection to any bound bluetooth device is lost, even when connected via USB (need PS button reactivation), and after a long while comes up with the message that the title is not compatible and that the ps3 needs to be updated (Basic nag screen that is on BC PS3s when inserting a noncompatible title). | ||
* With Factory Service Mode enabled (there are no Xmb options to combinetest with [ | * With Factory Service Mode enabled (there are no Xmb options to combinetest with [http://www.ps3devwiki.com/files/devtools/lv2-v9-pkg/ LV2Patcher] or [http://www.ps3devwiki.com/files/OtherOSplusplus/misc/boot_ps2.pkg boot_ps2.pkg]): gives ´PS2 disc´ detected at disc icon, but starting gives: resetting of date/time/displayoutput (effectively disabling my mainscreen), then all connection to any bound bluetooth device is lost, even when connected via USB (needs multiple PS button reactivation), and after a long while comes up with the message that the title is not compatible and that the ps3 needs to be updated (Basic nag screen that is on BC PS3s when inserting a noncompatible title). | ||
In short: [ | In short: [http://www.ps3devwiki.com/files/OtherOSplusplus/misc/boot_ps2.pkg boot_ps2.pkg] and Factory Service Mode seem to enable simulare (it tries to boot it) while [http://www.ps3devwiki.com/files/OtherOSplusplus/misc/boot_ps2.pkg boot_ps2.pkg] gives you more options e.g. using [http://www.ps3devwiki.com/files/devtools/lv2-v9-pkg/ LV2Patcher]. | ||
Perhaps hardswapping out all the dev_flash ps2 emu files for the same software only emulator would circumvent the 'incompatible title' message. | Perhaps hardswapping out all the dev_flash ps2 emu files for the same software only emulator would circumvent the 'incompatible title' message. | ||
==== Second test: FW 2.70/3.15 ==== | ==== Second test: FW 2.70/3.15 ==== | ||
Silent Hill : gives disk icon "unsupported data" and error message like "This model of the PS3 system is not compatible with Playstation2 format software" when run via disc icon. Using [ | Silent Hill : gives disk icon "unsupported data" and error message like "This model of the PS3 system is not compatible with Playstation2 format software" when run via disc icon. Using [http://www.ps3devwiki.com/files/OtherOSplusplus/misc/boot_ps2.pkg boot_ps2.pkg] gives title not supported error message like "This title is not currently compatible with the PS3 system". | ||
==== Third test: FW 3.55 OtherOS++22GB (with SS Patches) ==== | ==== Third test: FW 3.55 OtherOS++22GB (with SS Patches) ==== | ||
Silent Hill : gives disk icon "unsupported data" and error message like "This model of the PS3 system is not compatible with Playstation2 format software" when run via disc icon. Using [ | Silent Hill : gives disk icon "unsupported data" and error message like "This model of the PS3 system is not compatible with Playstation2 format software" when run via disc icon. Using [http://www.ps3devwiki.com/files/OtherOSplusplus/misc/boot_ps2.pkg boot_ps2.pkg] gives blackscreen lockup, not reacting on PS button, or powerbutton, requiring removing powercord. | ||
Line 137: | Line 521: | ||
* Silent Hill 3 | * Silent Hill 3 | ||
Line 297: | Line 676: | ||
Comparative listings: http://tortuga-cove.com/forums/viewtopic.php?f=57&t=530 | Comparative listings: http://tortuga-cove.com/forums/viewtopic.php?f=57&t=530 | ||
== | ==Game compatibility lists== | ||
There was some game compatibility tables here that was intended as a layout with lot of game names but no info about them that was never used | |||
The info has been moved to: [[Talk:PS2 Emulation/Old PS2 Game Compatibility Lists]] | |||