User talk:Kozarovv: Difference between revisions

From PS2 Developer wiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
 
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

Latest revision as of 22:58, 22 March 2021

PS2 Diag History[edit source]

Version Date SDK EE ver. GS ver. Rom Notes
1.2-x ????/??/?? SDK 0.4.0 EE 2.4 GS 4.8
1.3-x ????/??/?? SDK 0.4.0 EE 2.4 GS 4.8
1.4-2 1999/09/07 SDK 0.5.0 EE 2.5 GS 4.9 + DECI2, DTL-T10000 start
1.4-3 1999/09/08
1.4-3.1 1999/09/08
1.4-4 1999/09/13
1.4-5 1999/09/24
1.4-6 1999/10/05
1.4-7 1999/10/12
1.4-8 1999/10/18
1.4-9 1999/10/20
1.5-2 1999/11/12 SDK 1.1 EE 2.9 GS 4.91 t10000-1108.bin
1.5-3 1999/11/16
1.5-4 1999/11/22
1.6-1 1999/12/02 SDK 1.2 t10000-1201.bin + DVD drive
1.6-2 1999/12/06 SDK 1.2 t10000-1201.bin
1.6-3 1999/12/19
1.7-1 1999/12/19 SDK 1.3 t10000-1215.bin + MagicGate
1.7-2 1999/12/27 SDK 1.3-1 t10000-1223.bin
1.8-1 2000/01/24 SDK 1.3-4 PS20100TD20000117.bin
1.8-2 2000/02/01
2.0-1 2000/09/08 SDK 1.3-4 PS20100TD20000117.bin + external HDD
2.0-2 2000/09/13 SDK 1.3-4 PS20100TD20000117.bin + change MIF to CXD9566R
2.0-3 2000/09/14 SDK 1.3-4 PS20100TD20000117.bin
2.0-4 2000/09/26 SDK 1.3-4 PS20100TD20000117.bin
2.0-5 2000/10/16 SDK 1.3-4 PS20100TD20000117.bin
2.0-6 2000/10/17 SDK 1.3-4 PS20100TD20000117.bin
2.0-7 2000/10/17 SDK 1.3-4 PS20100TD20000117.bin DTL-T10000H start
2.0-8 2000/11/20 SDK 1.3-4 PS20100TD20000117.bin
2.0-9 2000/12/01 SDK 1.3-4 PS20100TD20000117.bin
2.0-10 2000/12/04 SDK 1.3-4 PS20100TD20000117.bin
2.0-11 2000/12/05 SDK 1.3-4 PS20100TD20000117.bin
2.0-12 2000/12/19 SDK 1.3-4 PS20100TD20000117.bin
2.0-14 2000/12/21 SDK 1.3-4 PS20100TD20000117.bin
2.0-15 2001/01/15 SDK 1.3-4 PS20100TD20000117.bin
2.0-16 2001/01/16 SDK 1.3-4 PS20100TD20000117.bin
2.0-17 2001/01/17 SDK 1.3-4 PS20100TD20000117.bin + DVD Emu
2.0-18 2001/03/07 SDK 1.3-4 PS20100TD20000117.bin
2.0-19 2001/03/07 SDK 1.3-4 PS20100TD20000117.bin + HDD whitelist
2.0-20 2001/03/30 SDK 1.3-4 PS20100TD20000117.bin + change SPU2 to CXD2942BR
2.1-1 2001/07/13 SDK 1.3-4 PS20100TD20000117.bin + switch to Redhat 6.2
2.1-2 2001/07/25
2.1-3 2001/08/31
2.1-3-2 2001/10/11

Via: https://pastebin.com/jhG2ynHg