Editing User talk:Kozarovv

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

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 95: Line 95:
|}
|}
Via: https://pastebin.com/jhG2ynHg
Via: https://pastebin.com/jhG2ynHg
==pcsx2 stuff temp==
=== Extended Commands Description ===
{| cellspacing="0" cellpadding="2" border="1" class="wikitable" style="text-align: left;"
|-
! colspan="3" | Write Commands
|-
| 8-bit Write  || 0aaaaaaa 000000dd ||
Write the value specified by dd to the address specified by aaaaaaa .
|-
| 16-bit Write || 1aaaaaaa 0000dddd ||
Write the value specified by dddd to the address specified by aaaaaaa .
|-
| 32-bit Write || 2aaaaaaa dddddddd ||
Write the value specified by dddddddd to the address specified by aaaaaaa .
|-
! colspan="3" | Increment/Decrement Commands
|-
| 8-bit Increment      || 300000nn aaaaaaaa ||
Adds the value specified by nn to the value stored at the address aaaaaaaa .
|-
| 8-bit Decrement      || 301000nn aaaaaaaa ||
Subtracts the value specified by nn from the value stored at the address aaaaaaaa .
|-
| 16-bit Increment      || 3020nnnn aaaaaaaa ||
Adds the value specified by nnnn to the value stored at the address aaaaaaaa .
|-
| 16-bit Decrement      || 3030nnnn aaaaaaaa ||
Subtracts the value specified by nnnn from the value stored at the address aaaaaaaa .
|-
| 32-bit Increment      ||
30400000 aaaaaaaa
nnnnnnnn 00000000
||
Adds the value specified by nnnnnnnn to the value stored at the address aaaaaaaa .
|-
| 32-bit Decrement      ||
30500000 aaaaaaaa
nnnnnnnn 00000000
||
Subtracts the value specified by nnnnnnnn from the value stored at the address aaaaaaaa .
|-
! colspan="3" | Miscellaneous Commands
|-
| 32-bit Multi-Address Write/Value increase ||
4aaaaaaa xxxxyyyy
dddddddd IIIIIIII
||
|-
| Copy Bytes            ||
5aaaaaaa nnnnnnnn
00000000 bbbbbbbb
||
a = Address to copy from
b = Address to copy to
n = Number of bytes to copy
|-
! colspan="3" | Boolean Commands
|-
| 8-bit OR              || 7aaaaaaa 000000vv ||
Performs a bitwise logical OR between given value vv,
and the value stored at given address, aaaaaaaa.
Then store result of operation at address aaaaaaa
|-
| 16-bit OR            || 7aaaaaaa 0010vvvv ||
Performs a bitwise logical OR between given value vvvv,
and the value stored at given address, aaaaaaaa.
Then store result of operation at address aaaaaaa
|-
| 8-bit AND            || 7aaaaaaa 002000vv ||
Performs a bitwise logical AND between given value vv,
and the value stored at given address, aaaaaaaa.
Then store result of operation at address aaaaaaa
|-
| 16-bit AND            || 7aaaaaaa 0030vvvv ||
Performs a bitwise logical AND between given value vvvv,
and the value stored at given address, aaaaaaaa.
Then store result of operation at address aaaaaaa
|-
| 8-bit XOR            || 7aaaaaaa 004000vv ||
Performs a bitwise logical XOR between given value vv,
and the value stored at given address, aaaaaaaa.
Then store result of operation at address aaaaaaa
|-
| 16-bit XOR            || 7aaaaaaa 0050vvvv ||
Performs a bitwise logical XOR between given value vvvv,
and the value stored at given address, aaaaaaaa.
Then store result of operation at address aaaaaaa
|-
! colspan="3" | Test/Compare Commands
|-
| 16-bit Equal          || Daaaaaaa 0000dddd ||
Only when the value at the address specified by aaaaaaa
is equal to the value specified by dddd next line of code be executed.
|-
| 16-bit Not Equal      || Daaaaaaa 0010dddd ||
Only when the value at the address specified by aaaaaaa
is not equal to the value specified by dddd next line of code be executed.
|-
| 16-bit Less Than      || Daaaaaaa 0020dddd ||
Only when the value at the address specified by aaaaaaa
is less than the value specified by dddd next line of code be executed.
|-
| 16-bit Greater Than  || Daaaaaaa 0030dddd ||
Only when the value at the address specified by aaaaaaa is
greater than the value specified by dddd next line of code be executed.
|-
| 16-bit Equal : Multiple Skip        || E0yyvvvv 0aaaaaaa ||
When value at the address specified by aaaaaaa is equal to the value specified
by vvvv the next yy lines of code be executed. Otherwise, they will be skipped.
|-
| 8-bit Equal : Multiple Skip        || E1yy00vv 0aaaaaaa ||
When value at the address specified by aaaaaaa is equal to the value specified
by vv the next yy lines of code be executed. Otherwise, they will be skipped.
|-
| 16-bit Not Equal : Multiple Skip    || E0yyvvvv 1aaaaaaa ||
When value at the address specified by aaaaaaa is not equal to the value specified
by vvvv the next yy lines of code be executed. Otherwise, they will be skipped.
|-
| 8-bit Not Equal : Multiple Skip    || E1yy00vv 1aaaaaaa ||
When value at the address specified by aaaaaaa is not equal to the value specified
by vv the next yy lines of code be executed. Otherwise, they will be skipped.
|-
| 16-bit Less Than : Multiple Skip    || E0yyvvvv 2aaaaaaa ||
When value at the address specified by aaaaaaa is less than the value specified
by vvvv the next yy lines of code be executed. Otherwise, they will be skipped.
|-
| 8-bit Less Than : Multiple Skip    || E1yy00vv 2aaaaaaa ||
When value at the address specified by aaaaaaa is less than to the value specified
by vv the next yy lines of code be executed. Otherwise, they will be skipped.
|-
| 16-bit Greater Than : Multiple Skip || E0yyvvvv 3aaaaaaa ||
When value at the address specified by aaaaaaa is greater than the value specified
by vvvv the next yy lines of code be executed. Otherwise, they will be skipped.
|-
| 8-bit Greater Than : Multiple Skip  || E1yy00vv 3aaaaaaa ||
When value at the address specified by aaaaaaa is greater than the value specified
by vv the next yy lines of code be executed. Otherwise, they will be skipped.
|-
|}
=== Extended Commands Pseudocode ===
{| cellspacing="0" cellpadding="2" border="1" class="wikitable" style="text-align: left;"
|-
! colspan="3" | Write Commands
|-
| 8-bit Write  || 0aaaaaaa 000000dd ||
*aaaaaaa = dd
|-
| 16-bit Write || 1aaaaaaa 0000dddd ||
*aaaaaaa = dddd
|-
| 32-bit Write || 2aaaaaaa dddddddd ||
*aaaaaaa = dddddddd
|-
! colspan="3" | Increment/Decrement Commands
|-
| 8-bit Increment      || 300000nn aaaaaaaa ||
val = *aaaaaaa
*aaaaaaa = val + nn
|-
| 8-bit Decrement      || 301000nn aaaaaaaa ||
val = *aaaaaaa
*aaaaaaa = val - nn
|-
| 16-bit Increment      || 3020nnnn aaaaaaaa ||
val = *aaaaaaa
*aaaaaaa = val + nnnn
|-
| 16-bit Decrement      || 3030nnnn aaaaaaaa ||
val = *aaaaaaa
*aaaaaaa = val - nnnn
|-
| 32-bit Increment      ||
30400000 aaaaaaaa
nnnnnnnn 00000000
||
val = *aaaaaaa
*aaaaaaa = val + nnnnnnnn
|-
| 32-bit Decrement      ||
30500000 aaaaaaaa
nnnnnnnn 00000000
||
val = *aaaaaaa
*aaaaaaa = val - nnnnnnnn
|-
! colspan="3" | Miscellaneous Commands
|-
| 32-bit Multi-Address Write/Value increase ||
4aaaaaaa xxxxyyyy
dddddddd IIIIIIII
||
|-
| Copy Bytes            ||
5aaaaaaa nnnnnnnn
00000000 bbbbbbbb
||
u8 source      = *aaaaaaa
u8 destination = *bbbbbbbb
while (nnnnnnnn != 0)
{
    source = destination
    nnnnnnnn--
    bbbbbbbb++
    aaaaaaa++
}
a = Address to copy from
b = Address to copy to
n = Number of bytes to copy
|-
! colspan="3" | Boolean Commands
|-
| 8-bit OR              || 7aaaaaaa 000000vv ||
u8 val = *aaaaaaa
*aaaaaaa = val | vv
|-
| 16-bit OR            || 7aaaaaaa 0010vvvv ||
u16 val = *aaaaaaa
*aaaaaaa = val | vvvv
|-
| 8-bit AND            || 7aaaaaaa 002000vv ||
u8 val = *aaaaaaa
*aaaaaaa = val & vv
|-
| 16-bit AND            || 7aaaaaaa 0030vvvv ||
u16 val = *aaaaaaa
*aaaaaaa = val & vvvv
|-
| 8-bit XOR            || 7aaaaaaa 004000vv ||
u8 val = *aaaaaaa
*aaaaaaa = val ^ vv
|-
| 16-bit XOR            || 7aaaaaaa 0050vvvv ||
u16 val = *aaaaaaa
*aaaaaaa = val ^ vvvv
|-
! colspan="3" | Test/Compare Commands
|-
| 16-bit Equal          || Daaaaaaa 0000dddd ||
a
|-
| 16-bit Not Equal      || Daaaaaaa 0010dddd ||
a
|-
| 16-bit Less Than      || Daaaaaaa 0020dddd ||
a
|-
| 16-bit Greater Than  || Daaaaaaa 0030dddd ||
a
|-
| 16-bit Equal : Multiple Skip        || E0yyvvvv 0aaaaaaa ||
a
|-
| 8-bit Equal : Multiple Skip        || E1yy00vv 0aaaaaaa ||
a
|-
| 16-bit Not Equal : Multiple Skip    || E0yyvvvv 1aaaaaaa ||
a
|-
| 8-bit Not Equal : Multiple Skip    || E1yy00vv 1aaaaaaa ||
a
|-
| 16-bit Less Than : Multiple Skip    || E0yyvvvv 2aaaaaaa ||
a
|-
| 8-bit Less Than : Multiple Skip    || E1yy00vv 2aaaaaaa ||
a
|-
| 16-bit Greater Than : Multiple Skip || E0yyvvvv 3aaaaaaa ||
a
|-
| 8-bit Greater Than : Multiple Skip  || E1yy00vv 3aaaaaaa ||
a
|-
|}
====Links====
* https://github.com/PCSX2/pcsx2/blob/master/pcsx2/Patch_Memory.cpp
* http://www.codemasters-project.net/portal-english/apportal/cmp_plugins/content/content.php?content.23
Please note that all contributions to PS2 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS2 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)