Talk:PS2 Emulation
Table Tests
PS2 Emulator Types and Revisions
Firmware | Bytes | MD5 | Timestamp | Rev | Comm |
---|---|---|---|---|---|
1.00 AV | 8 258 328 | 19DC714F1109FF772BEF5B00C4AF2CF7 | 06/10/04/12:15 | ? | ? |
1.02 | 8.258.504 | FF9C1C465DF6F501E418602A488CBD40 | 06/10/21/00:01 | ? | ? |
1.10 | 8.254.568 | 72EFF1FB3E9A175253687634B698CC91 | 06/11/09/06:08 | ? | ? |
1.11 | 8.255.192 | 98BCC06ACA07971DFE57A126000B6DEE | 06/11/21/17:54 | ? | ? |
1.30 | 8.787.800 | 3F1E943139329E8AD5461FA43DB4DD0E | 06/12/05/05:33 | same | ? |
1.30 AV | 8.787.800 | F2CE2D8CF41FF38E586AE7A91A13980C | 06/12/05/07:15 | ||
1.31 | 8.790.440 | CF13D31F202DA3C55009C06B6A2B27A0 | 06/12/12/18:47 | ? | ? |
1.32 | 8.794.664 | 6DD631EEDE321AC7F59C85BC6AC0DCA9 | 06/12/18/05:54 | ? | ? |
1.50 | 8.805.912 | 81B38EE824E460385B44FADE78CAA5DC | 07/01/18/22:52 | ? | ? |
? | ? | ? | ? | ? | ? |
? | ? | ? | ? | ? | ? |
? | ? | ? | ? | ? | ? |
1.90 | 5.190.280 | 88B26FDC910B8633613BC366D39F439D | 07/07/21/06:44 | ? | ? |
? | ? | ? | ? | ? | ? |
? | ? | ? | ? | ? | ? |
? | ? | ? | ? | ? | ? |
3.66 | 5.267.112 | BE20230D091F5C8AB8364607D49A6992 | 11/06/16/03:51 | same | ? |
~ | Any | ||||
3.74 | 5B2CA12EE08298094177667C681BC75F | 11/10/25/00:30 | |||
4.00 | 5.272.152 | 08516640BE636F3E633C0416F09EF941 | 11/11/22/03:10 | same | ? |
4.01 | 61ECD51036247547736274EEB52FA4C4 | 11/12/23/01:02 | |||
4.10 | 5.272.008 | 88CFD465D2F412C075C69531278BB3A9 | 12/02/05/23:08 | same | ? |
4.11 | 2B45F72675B844C08E1735059F9826E3 | 12/02/11/07:05 | |||
4.15 | ? | ? | ? | ? | ? |
4.20 | 5.272.264 | 23D3F9909EBA3F1AB0D757850C5D6809 | 12/06/15/02:01 | same | ? |
4.21 | 110F0D01B39193F1A2031BBC7ADBBC2F | 12/06/30/01:06 | |||
4.23 S | 5.271.912 | 783201F2541117E545B8E01B3A0B1955 | 12/07/31/00:17 | ? | ? |
4.25 | 5.272.264 | C895EAA3F79BA2040D6C828A5B811139 | 12/09/07/06:55 | ? | ? |
? | ? | ? | ? | ? | ? |
? | ? | ? | ? | ? | ? |
? | ? | ? | ? | ? | ? |
4.78 | 5.274.984 | ABC9228FCEA0E779E3157CA546A1FD02 | 15/12/17/01:14 | same | ? |
~ | Any | ||||
4.82 | FAA3EAE26B3311DE78C5FB5788CFEC11 | 17/08/24/15:38 |
· Decrypted (elf): changes every firmware version
· Build label: yes, with timestamp, search for ps2ver:
· Target Firmware: no/unknown
· Revision: unknown
Firmware | Bytes | MD5 | Rev | Comm |
---|---|---|---|---|
1.00 ~ 1.32 | No | |||
1.50 | 6.106.040 | BACC208C8A793F82D71F85B02DD2D318 | ? | ? |
? | ? | ? | ? | ? |
? | ? | ? | ? | ? |
? | ? | ? | ? | ? |
1.90 | 6.802.720 | B9E2CC8D72779650D9B500B75AE552EB | ? | ? |
? | ? | ? | ? | ? |
? | ? | ? | ? | ? |
? | ? | ? | ? | ? |
3.66 ~ 3.74 | 6.867.024 | E04FA0FE63A968C53AE366B3AAD0141A | ? | ? |
4.00 ~ 4.11 | 6.871.848 | D5E97019132848203970213FF96F2AAB | ? | ? |
4.15 | ? | ? | ? | ? |
4.20 ~ 4.25 | 6.872.128 | 678F16283CAA8CFBC03A5FBCB6ABA41E | ? | ? |
? | ? | ? | ? | ? |
? | ? | ? | ? | ? |
? | ? | ? | ? | ? |
4.78 ~ 4.82 | 6.874.848 | C7681420A7B3A2A6E3BF89F4A12A3DD6 | ? | 0x2B ? |
· Decrypted (elf): changes every emu revision
· Build label: no/unknown
· Target Firmware: no/unknown
· Revision: unknown
Firmware | Bytes | MD5 | Rev | Comm |
---|---|---|---|---|
1.00 ~ 1.82 | No | |||
1.90 ~ 1.94 | 6.142.080 | 812330515D01291488315BBE7E0F339E | 11065 | ? |
1.97 | ? | ? | ? | ? |
2.00 ~ 2.10 | ? | ? | 11830 | ? |
2.16 | ? | ? | ? | ? |
? ~ ? | ? | ? | ? | ? |
3.10 | ? | ? | ? | ? |
3.15 | ? | ? | 12840 | ? |
3.16 | ? | ? | ? | ? |
? ~ ? | ? | ? | ? | ? |
3.40 | ? | ? | ? | ? |
3.41 ~ 3.65 | ? | ? | 13474 | ? |
3.66 ~ 3.71 | 6.147.120 | 513B9160AD8C199CAEFC82C1B7D9D794 | 15435 | ? |
3.72 ~ 4.01 | 6.146.992 | 1232D3EEB48F301CBB61D76EB3046111 | 15529 | ? |
4.10 ~ Template:Latest | No |
· Decrypted (elf): changes every emu revision
· Build label: no/unknown
· Target Firmware: no/unknown
· Revision: unknown
Firmware | Bytes | MD5 | Rev | Comm |
---|---|---|---|---|
1.00 ~ 3.66 | No | |||
3.70 ~ 3.71 | 11.036.504 | 0D021D18CC63DDBDA530A93C41ABF865 | 15686 | 0x41 |
3.72 | 11.036.504 | 38EABD7E5F998BC04922CA3B70211208 | 15842 | |
3.73 ~ 3.74 | 11.036.504 | F21110A93BBEA416749283E6BF3D3C6B | 15936 | |
4.00 ~ 4.01 | 11.033.048 | F770442DFA626282B01FEBE3DDFFC477 | 16195 | |
4.10 ~ 4.11 | 11.033.216 | 8F0885BCC80A3617E654BB6151F4F718 | 16361 | |
4.15 | ? | ? | ? | ? |
4.20 ~ 4.23 | 11.033.728 | 8EB5492E453C50B6D728E7999A57A689 | 16604 | 0x43 |
4.25 ~ 4.26 | 11.033.728 | E38059300E31432A62967770C3E99EF6 | 16740 | |
4.30 ~ 4.31 | ? | ? | 16808 | 0x45 |
4.40 ~ 4.41 | ? | ? | 16916 | 0x46 |
4.45 ~ 4.46 | ? | ? | 17041 | 0x48 |
4.50 | ? | ? | 17179 | 0x4A |
4.55 | ? | ? | 17277 | 0x4D |
4.60 ~ 4.76 | ? | ? | 17314 | |
4.78 ~ 4.82 | 10.442.536 | 8B2DBD1AAD22A0EDCF9C867A1A1FB94D | 17495 | 0x50 |
· Decrypted (elf): changes every emu revision
· Build label: yes, without timestamp, search for build r
· Target Firmware: included in the build label
· Revision: yes, one time, and included in the build label
PS2 Emulators Config Commands
Command Name | Command ID | Max Usage |
Command Data | |||||
---|---|---|---|---|---|---|---|---|
ps2_gxemu | ps2_softemu | ps2_netemu | Length | Valid Values | ||||
Config terminator or TitleID enforcer | No | No | 0x00 | 1 | Nothing or 0xA bytes | TitleID | ||
Hook EE memory offset with emu function | 0x00 | 0x00 | 0x01 | 3 ? | 2 * uint32_t | EE_memory_offset | emu_function | |
Set something | 0x01 | 0x01 | 0x02 | 1 | uint32_t | 1000=? 3000=? 6000=? | ||
Switch something | 0x02 | 0x02 | 0x03 | 1 | Nothing | |||
Set something | 0x03 | 0x03 | 0x04 | 1 | uint32_t | 8=? 0x10=? | ||
Switch something | 0x04 | 0x04 | 0x05 | 1 | Nothing | |||
Switch something | 0x05 | 0x05 | 0x06 | 1 | Nothing | |||
Set something | 0x06 | 0x06 | 0x07 | 1 | uint32_t | 2=? 4=? 8=? | ||
Patch something with 2 opcodes and masks | 0x07 | 0x07 | 0x08 | 3 | Expanded Data List | |||
Patch EE memory with 2 opcodes | 0x08 | 0x08 | 0x09 | 1 | Expanded Data List | |||
Patch EE memory with 1 opcode | No | No | 0x0A | 1 | Expanded Data List | |||
Patch game disc by sector & offset | 0x09 | 0x09 | 0x0B | 1 | Expanded Data List | |||
Set something | 0x0A | 0x0A | 0x0C | 1 | 2 * uint16_t | 0=? 1=? 2=? |
0=? 0x180=? 0x400=? 0x800=? | |
Set something | 0x0B | 0x0B | 0x0D | 1 | uint32_t | 0=? 1=?(default?) | ||
? | 0x0C | 0x0C | 0x0E | 31 | uint32_t | data | ||
Improved Accuracy Range (unknown type) | 0x0D | 0x0D | 0x0F | 31 | 2 * uint32_t | start offset | end offset | |
Improved Accuracy Range (unknown type) | 0x0E | 0x0E | 0x10 | 31 | 2 * uint32_t | start offset | end offset | |
? | 0x0F | 0x0F | 0x11 | 31 | uint32_t | data | ||
? | 0x10 | 0x10 | 0x12 | 1 | Expanded Data List | |||
? | 0x11 | 0x11 | 0x13 | 1 | uint64_t | data | ||
Switch something | 0x12 | 0x12 | 0x14 | 1 | Nothing | |||
Set something (with bit flags) | 0x13 | 0x13 | 0x15 | 1 | uint32_t | 2=? (gxemu and softemu only) 0x14=? (softemu only) 4=? | ||
? | 0x14 ? | 0x14 ? | 0x16 | ? | ? | |||
Set something | 0x15 | 0x15 | 0x17 | 1 | uint8_t | 0=? 1=? | ||
Switch something | 0x16 | 0x16 | 0x18 | 1 | Nothing | |||
Switch something | No | 0x17 | 0x19 | 1 | Nothing | |||
Switch something | 0x17 | 0x18 | 0x1A | 1 | Nothing | |||
Switch something | 0x18 | 0x19 | 0x1B | 1 | Nothing | |||
Set something | 0x19 ? | 0x1A ? | 0x1C | 1 | uint8_t | ? | ||
Set something | 0x1A | 0x1B | 0x1D | 1 | uint8_t | 2=? | ||
Set something | 0x1B | No | 0x1E | 1 | uint8_t | 3=? | ||
Set something | 0x1C | 0x1C | 0x1F | 1 | uint32_t | 200=? 1000=?(default) | ||
Set something | 0x1D | 0x1D | 0x20 | 1 | uint64_t | 10=? 60=?(default) 100=? 120=? 200=? 240=? | ||
Set something | 0x1E | 0x1E | 0x21 | 1 | uint32_t | 0=? 1=? 2=? |
Command Name | Command ID | Max Usage |
Command Data | ||||
---|---|---|---|---|---|---|---|
ps2_gxemu | ps2_softemu | ps2_netemu | Length | Valid Values | |||
Switch something | 0x1F | 0x1F | 0x22 | 1 | Nothing | ||
Switch something | No | 0x20 | 0x23 | 1 | Nothing | ||
Set something | 0x20 | 0x21 | 0x24 | 1 | uint64_t | 12000=? 48000=? | |
Switch something | 0x21 | 0x22 | 0x25 | 1 | Nothing | ||
Improved Accuracy Range (ADD instruction related) | 0x22 | 0x23 | 0x26 | 31 | 2 * uint32_t | start offset | end offset |
Improved Accuracy Range (unknown type) | 0x23 | 0x24 | 0x27 | 31 | 2 * uint32_t | start offset | end offset |
Set something (MECHA) | 0x24 ? | 0x25 ? | 0x28 | 1 | uint32_t | 0=? 1=? 2=? 3=? | |
Set something (MECHA) | 0x25 ? | 0x26 ? | 0x29 | 1 | 2 * uint32_t | ? | ? |
Switch something | 0x26 ? | 0x27 | 0x2A | 1 | Nothing | ||
Switch something (MECHA) | 0x27 ? | 0x28 | 0x2B | 1 | Nothing | ||
Set something | 0x28 | 0x29 | 0x2C | 1 | uint32_t | 1=? | |
Switch something | 0x29 ? | 0x2A | 0x2D | 1 | Nothing | ||
Set something | 0x2A | 0x2B | 0x2E | 1 | uint32_t | 0x172=? | |
Set something | 0x2B | No ? | 0x2F | 1 | uint32_t | 1=? | |
? | No ? | No ? | 0x30 | ? | ? | ? | |
? | No ? | No ? | 0x31 | ? | ? | ? | |
? | No ? | No ? | 0x32 | ? | ? | ? | |
? | No ? | No ? | 0x33 | ? | ? | ? | |
? | No ? | No ? | 0x34 | ? | ? | ? | |
Enable Force Flip Field | No | No | 0x35 | 1 | Nothing | ||
? | No ? | No ? | 0x36 | ? | ? | ? | |
? | No ? | No ? | 0x37 | ? | ? | ? | |
? | No ? | No ? | 0x38 | ? | ? | ? | |
? | No ? | No ? | 0x39 | ? | ? | ? | |
? | No ? | No ? | 0x3A | ? | ? | ? | |
? | No ? | No ? | 0x3B | ? | ? | ? | |
? | No ? | No ? | 0x3C | ? | ? | ? | |
Config file revision | No | No | 0x3D | 1 | uint32_t | >=15686 | |
Disable something | No | No | 0x3E | 1 | Nothing | ||
Set something | No | No | 0x3F | 1 | uint32_t | ? | |
Switch something | No | No | 0x40 | 1 | Nothing | ||
Disable lwsync ? | No | No | 0x41 | 1 | Nothing | ||
Set something ? | No | No | 0x42 | 1 | uint32_t | ? | |
Set something | No | No | 0x43 | 1 | uint32_t | 0=?(default) 1=? | |
Disable Smoothing filter | No | No | 0x44 | 1 | Nothing | ||
Switch something | No | No | 0x45 | 1 | Nothing | ||
Enable L2H Improvement | No | No | 0x46 | 1 | Nothing | ||
Enable XOR CSR | No | No | 0x47 | 1 | Nothing | ||
Set VSYNC IPU & Delay | No | No | 0x48 | 1 | 2 * uint32_t | 1=No IPU 2=IPU 3=Anytime |
20000=Conservative 100000=Normal 250000=Agressive Any other |
Switch something | No | No | 0x49 | 1 | Nothing | ||
Switch something | No | No | 0x4A | 1 | 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 | ? | |
? | No | No | 0x4E | 1 | ? | ||
? | No | No | 0x4F | 1 | ? | ||
Switch something | No | No | 0x50 | 1 | Nothing |
- 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
- This 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 that is not in the other (and this is a problem), what happened is this table started growing and 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
ps2_netemu cmd 0x01 function comparison
netemu 0x01 | gxemu 0x00 | softemu 0x00 | ||||
---|---|---|---|---|---|---|
3.70~Template:Latest | 3.70~3.74 | 4.00~4.01 | 4.10~4.25 | 4.78~4.82 | 4.78~4.82 | 3.72~4.01 |
funct_id | funct_offset | funct_offset | funct_offset | funct_offset | funct_offset | funct_offset |
0x00 | 0x46720 | 0x42E00 | 0x42EB8 | 0x42F70 | 0x36B40 | 0x2FEF0 |
0x01 | 0x42DB0 | 0x42EC4 | 0x42F7C | 0x43034 | 0x35FB0 | 0x31E38 |
0x02 | 0x44394 | 0x4456C | 0x44560 | 0x447C0 | 0x34068 | 0x30220 |
0x03 | 0x442B4 | 0x4448C | 0x44480 | 0x446E0 | 0x34144 | 0x302FC |
0x04 | 0x43100 | 0x43214 | 0x432CC | 0x43384 | 0x33F98 ? | 0x30150 |
0x05 | 0x46A90 | 0x46DB4 | 0x47184 | 0x4745C | 0x36CF8 | 0x31D08 |
0x06 | 0x46D64 | 0x46AE0 | 0x46934 | 0x46D20 | 0x34224 | 0x303DC |
0x07 | 0x47134 | 0x47154 | 0x47524 | 0x47C1C | 0x37850 | |
0x08 | 0x42E7C | 0x42F90 | 0x43048 | 0x43100 | 0x33DFC | 0x2FFB4 |
0x09 | 0x42F54 | 0x43068 | 0x43120 | 0x431D8 | 0x36C04 | 0x31C14 |
0x0A | 0x431C4 | 0x432D8 | 0x43390 | 0x43448 | 0x36EF0 | 0x31FCC |
0x0B | 0x4329C | 0x433B0 | 0x43468 | 0x43520 | 0x34354 | |
0x0C | 0x441BC | 0x44394 | 0x44388 | 0x445E8 | 0x34424 | 0x30518 |
netemu 0x01 | gxemu 0x00 | softemu 0x00 | ||||
---|---|---|---|---|---|---|
3.70~Template:Latest | 3.70~3.74 | 4.00~4.01 | 4.10~4.25 | 4.78~4.82 | 4.78~4.82 | 3.72~4.01 |
funct_id | funct_offset | funct_offset | funct_offset | funct_offset | funct_offset | funct_offset |
0x0D | 0x440E0 | 0x442B8 | 0x442AC | 0x4450C | 0x34520 | |
0x0E | 0x44004 | 0x441DC | 0x441D0 | 0x44430 | 0x345FC | 0x306F0 |
0x0F | 0x43E28 | 0x44000 | 0x43FF4 | 0x44254 | 0x365F0 | 0x31124 |
0x10 | 0x43D44 | 0x43F1C | 0x43F10 | 0x44170 | 0x36510 | 0x31044 |
0x11 | 0x43C64 | 0x43E3C | 0x43E30 | 0x4408C | 0x36430 | 0x30F64 |
0x12 | 0x45CD4 | 0x45EAC | 0x46EA0 | 0x460FC | 0x34DD0 | 0x311F8 |
0x13 | 0x469C0 | 0x43474 | 0x46864 | 0x435E4 | 0x366C4 | 0x30C28 |
0x14 | 0x4777C | 0x4779C | 0x478CC | 0x47FC4 | 0x34EDC | 0x31304 |
0x15 | 0x455F0 | 0x457C8 | 0x457BC | 0x45A1C | 0x3795C | 0x327B4 |
0x16 | 0x45164 | 0x4533C | 0x45330 | 0x45590 | 0x3521C | 0x31580 |
0x17 | 0x468C8 | 0x469DC | 0x4676C | 0x46ADC | 0x347D0 | 0x308C4 |
0x18 | 0x45B80 | 0x45D58 | 0x45D48 | 0x45FA8 | 0x35300 | 0x31664 |
0x19 | 0x4706C | 0x46FC0 | 0x4745C | 0x47A88 | 0x36E28 | 0x31F04 |
0x1A | 0x45844 | 0x45A1C | 0x45A0C | 0x45C6C | 0x37614 | 0x325B4 |
netemu 0x01 | gxemu 0x00 | softemu 0x00 | ||||
---|---|---|---|---|---|---|
3.70~Template:Latest | 3.70~3.74 | 4.00~4.01 | 4.10~4.25 | 4.78~4.82 | 4.78~4.82 | 3.72~4.01 |
funct_id | funct_offset | funct_offset | funct_offset | funct_offset | funct_offset | funct_offset |
0x1B | 0x45094 | 0x4526C | 0x45260 | 0x454C0 | 0x35434 | 0x31798 |
0x1C | 0x44FC4 | 0x4519C | 0x45190 | 0x453F0 | 0x354F8 | 0x30A88 |
0x1D | 0x44EF4 | 0x450CC | 0x450C0 | 0x45320 | 0x355BC | |
0x1E | 0x44E24 | 0x44FFC | 0x44FF0 | 0x45250 | 0x35680 | |
0x1F | 0x44D54 | 0x44F2C | 0x44F20 | 0x45180 | 0x35744 | |
0x20 | 0x44C84 | 0x44E5C | 0x44E50 | 0x450B0 | 0x35808 | |
0x21 | 0x44BB4 | 0x44D8C | 0x44D80 | 0x44FE0 | 0x358CC | |
0x22 | 0x44AE4 | 0x44CBC | 0x44CB0 | 0x44F10 | 0x35990 | |
0x23 | 0x44A14 | 0x44BEC | 0x44BE0 | 0x44E40 | 0x35A54 | |
0x24 | 0x44944 | 0x44B1C | 0x44B10 | 0x44D70 | 0x35B18 | |
0x25 | 0x44874 | 0x44A4C | 0x44A40 | 0x44CA0 | 0x35BDC | |
0x26 | 0x447A4 | 0x4497C | 0x44970 | 0x44BD0 | 0x35CA0 | |
0x27 | 0x446D4 | 0x448AC | 0x448A0 | 0x44B00 | 0x35D64 | |
0x28 | 0x44604 | 0x447DC | 0x447D0 | 0x44A30 | 0x35E28 | |
0x29 | 0x44534 | 0x4470C | 0x44700 | 0x44960 | 0x35EEC | |
0x2A | 0x44464 | 0x4463C | 0x44630 | 0x44890 | 0x35158 |
netemu 0x01 | gxemu 0x00 | softemu 0x00 | ||||
---|---|---|---|---|---|---|
3.70~Template:Latest | 3.70~3.74 | 4.00~4.01 | 4.10~4.25 | 4.78~4.82 | 4.78~4.82 | 3.72~4.01 |
funct_id | funct_offset | funct_offset | funct_offset | funct_offset | funct_offset | funct_offset |
0x2B | 0x467E4 | 0x463DC | 0x46688 | 0x4662C | 0x34994 | |
0x2C | 0x465D0 | 0x464B4 | 0x46D28 | 0x47114 | 0x36FC8 | |
0x2D | 0x47384 | 0x473A4 | 0x46BB0 | 0x46F9C | 0x3607C | |
0x2E | 0x47234 | 0x47254 | 0x46A38 | 0x46E24 | ||
0x2F | 0x45500 | 0x456D8 | 0x456CC | 0x4592C | 0x34A70 | |
0x30 | 0x4541C | 0x455F4 | 0x455E8 | 0x45848 | 0x34B48 | |
0x31 | 0x45338 | 0x45510 | 0x45504 | 0x45764 | 0x34C20 | |
0x32 | 0x45254 | 0x4542C | 0x45420 | 0x45680 | 0x34CF8 | |
0x33 | 0x46E74 | 0x46EB8 | 0x47288 | 0x47560 | 0x37714 | |
0x34 | 0x00000 | 0x00000 | 0x00000 | 0x00000 | ||
0x35 | 0x45DF0 | 0x45FC8 | 0x46274 | 0x46218 | ||
0x36 | 0x4336C | 0x43544 | 0x43538 | 0x436B4 | ||
0x37 | 0x474E0 | 0x47500 | 0x47630 | 0x47D28 | ||
0x38 | 0x46BA0 | 0x46BF0 | 0x46FC0 | 0x47298 | ||
0x39 | No | No | No | 0x47674 | ||
0x3A | No | No | No | 0x46BD4 | ||
0x3B | No | No | No | 0x43FAC |
ps2_netemu cmd 0x01 funct_offsets_table
ps2_netemu.self contains a table (with entry_length=8 and entry_number=variable) where are listed the function offsets used by config command 0x01
This table is used to assign a funct_id to a funct_offset. The funct_id is given by the position of the entry in the table, so the first entry in the table is funct_id=0x00, second entry is funct_id=0x01 and so on
The purpose of this table is to be able use the same funct_id values in the external CONFIG files for netemu, this way even if the funct_offset changes in between versions (internally inside the ps2_netemu.self file structure) the funct_id will be the same. The other ps2 emulator types doesnt have this table (doesnt needs it because doesnt uses external CONFIG files)
- funct_offset_table location by ps2_netemu versions:
- Table v1 (the table contains the same data)
- Firmware:370-374 offset:0x897ED8 length:0x1C8
- Table v2 (the table contains the same data)
- Firmware:400-401 offset:0x8970E8 length:0x1C8
- Table v3 (the table contains the same data)
- Firmware:410-411 offset:0x8971E8 length:0x1C8
- Firmware:420-425 offset:0x8972F8 length:0x1C8
- Table v4
- Firmwares 4.30 up to 4.76 was not tested (if someone wants to add this info do it here)
- Table vX (latest)
- Firmware:478-482 offset:0x8063f8 length:0x1E0
- Table v1 (the table contains the same data)
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
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
type 2
Fix on Interpretation?
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)
type 3
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
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?---
Code Sample
Orphan info
This is misterious info that cant be unveilled
ps2_netemu
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
Cold Fear
frequenlty, as if you pressed pause 0x46 0x19
Obsolete experiments
This is kept here for historical purposes, but needs to be rewritten or deleted
Getting Playstation 2 Software Emulator working
Method (on Firmware 3.55, without! Cobra-USB Dongle or Downgrade) for all consoles (fat & slim).
1. Replace following files on your consoles /dev_flash/ with the ones included in this archive p3dwik-ps2compatfiles.rar 2. Get into Factory Service Mode (FSM Tool/Dongle) 3. Insert your Original PS2 Game Disc 4. It will run.
Note: Backups wont work. You're getting the compatibility of the 2.60 software emulator with all of its bugs.
Download: p3dwik-ps2compatfiles.rar
Possible compatibility Lists:
Enable Playstation 2 on non BC's
[Getting Playstation 2 Software Emulator working]
Service Mode in relation to PS2 emulation tests
- Service mode resets display settings (on default it uses HDMI with composite on MultiAV connector) - this means that users of Component cables can get garbled screen / no display output (in tests below, the primairy screen) unless using composite wiring/screen (in tests below, the secondairy screen).
- Service Mode also resets user presets like disc autoboot, so it needs to be disabled again if needed.
- Any made Virtual Memory Cards previously will be removed and you will have no access to them, nor be able to create one.
- When PS3 is switching to PS2, connection with Sixaxis / Dualshock 3 will be lost (even when using USB wired connection). In some cases easily resyncable by using PS button, but in other cases the leds stay off and the controller cannot be used (until ps2 mode is exited or console rebooted)
- As a workaround for above wireless controller issue, you can use an USB2PS2 converter and connect an old PS2 / Dualshock2 controller.
tests on 2000 series PS3 Slim
Testplatform:
SKU: 2000 series slim (minver 2.70) Firmware: 3.55 'Rogero 3.4' mmap114+peek/poke but no SS-patches Memorycards: MC:PS1 in slot1, MC:PS2 in slot2. Mainscreen: Component+Composite 576i+P/720i+P//1080i Sec.screen: Composite 576i 48 titles tested (PAL disc on PAL SKU) // Euss
- Without Factory Service Mode : gives "Incompatible Data" when inserting PS2 disc
- When enabling 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 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 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 LV2Patcher or 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: boot_ps2.pkg and Factory Service Mode seem to enable simulare (it tries to boot it) while boot_ps2.pkg gives you more options e.g. using LV2Patcher. 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
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 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)
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 boot_ps2.pkg gives blackscreen lockup, not reacting on PS button, or powerbutton, requiring removing powercord.
considering titles to test
- http://en.wikipedia.org/wiki/List_of_PlayStation_3_backward_compatible_PlayStation_2_and_PlayStation_games
- http://tortuga-cove.com/forums/viewtopic.php?f=57&t=530
- http://us.playstation.com/support/compatiblestatus/index.htm
These have no listed issues:
- Half-Life
- Hulk
- Medal of Honor: Frontline
These have minor issues listed (but should still play):
- Silent Hill 3
- Second Sight
tests on CECHC04 (partial BC)
on 3.41 or on 3.55 in normal XMB mode (no disc icon in XMB): boot_ps2.pkg gives 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 "The system was not turned off properly" as if it had experienced poweroff and from there booted back to XMB. It then returns to the XMB, but first gives an error screen, mentioning 0x80028F17 occured (PS2 mode error 0x80028F17 "An error occurred during the start operation (80028F17)," PlayStation 2 disc Boot Error, also related to PS1 PSN games.)
on 3.41 or on 3.55 in normal XMB mode (disc icon in XMB): boot_ps2.pkg gives resetting of date/time/displayoutput (no output on mainscreen), but all connection to any bound bluetooth device is lost, even when connected via USB (need PS button reactivation). The game is playable on secondary screen, and exit to XMB with holding PS button goes without 0x80028F17 errors, but does give the "The system was not turned off properly" error.
no disc icon:
- Medal of Honor: Rising Sun
- Half-Life
disc icon:
- Hulk
- Second Sight
- Silent Hill 3
Renaming ps2_netemu to ps2_emu
Tested renaming ps2_netemu.self to ps2_emu.self on CECHB01/rogero 4.21 with dev_blind mounting via multiMAN but boots to black screen, no disc activity, but controller shuts off and is synced. No PS button menu or anything.
boot_ps2.pkg boots, no disc activities, then throws up an error depending if the file is resigned for 4.21 or not. (tried both a resigned and the existing version)
PS2 on non BC HW - Tests
Title | DiscID | Disc Icon | ps2_softemu | Remarks | |||
---|---|---|---|---|---|---|---|
Normal | FSM | 2.50 | 2.60 | 2.70 | |||
Action Replay MAX | SCED54409 | No | |||||
Battlefield 2 Modern Combat | SLES53729 | No | |||||
Constantine | SLES52872 | No | |||||
Demo Disc 3-073-543-11 | PBPX95514 | No | |||||
EyeToy Play | SCES51513 | No | |||||
EyeToy Play 2 | SCES52748 | No | |||||
EyeToy Play 3 | SLES53315 | No | |||||
Freedom Fighters | SLES51467 | No | |||||
Ghost in the Shell Standalone Complex | SLES53020 | No | |||||
GoldenEye Rogue Agent | SLES52974 | No | |||||
Guerrilla Strike | SLES53344 | No | |||||
Gunfighter 2 Revenge of Jessy James | SLES51289 | No | |||||
Half Life | SLES50504 | No | |||||
HDLoader | - | No | |||||
International Golf Pro | SLES52349 | No | |||||
Jet Ion GP | SLES50544 | No | |||||
killer7 | SLES53366 | No | |||||
Kya Dark Lineage | SLES51473 | No | |||||
London Racer Destruction Madness | SLES53654 | No | |||||
London Racer Police Madness | SLES53536 | No | |||||
Manhunt | SLES52023 | No | |||||
Max Play - 10 Classic Retro Games | - | No | |||||
Medal of Honor European Assault | SLES53332 | No | |||||
Medal of Honor Frontline | SLES50684 | No | |||||
Medal of Honor Rising Sun | SLES51873 | No | |||||
Medal of Honor Vanguard | SLES54683 | No | |||||
Men in Black II Alien Escape | SLES50789 | No | |||||
Network Access Disc | SCES51578 | No | |||||
OPM #66 | SCED54409 | No | |||||
OPM #67 | SCED54410 | No | |||||
OPM #68 | SCED54412 | No | |||||
OPM #69 | SCED54413 | No | |||||
OPM #70 | SCED54415 | No | |||||
OPM #72 | SCED54417 | No | |||||
OPM #73 | SCED54418 | No | |||||
OPM #74 | SCED55113 | No | |||||
OPM #75 | SCED55114 | No | |||||
OPM #77 | SCED55117 | No | |||||
OPM #79 | SCED55119 | No | |||||
Perfect Ace Pro Tournament Tennis | SLES51735 | No | |||||
Prisoner of War | SLES50397 | No | |||||
Ratchet & Clank 3 | SCES52456 | No | |||||
Red Baron | SLES53434 | No | |||||
SAS Anti-terror Force | SLES53435 | No | |||||
Second Sight | SLES52670 | No | |||||
Seek and Destroy | SLES51603 | No | |||||
Silent Hill 3 | SLES51434 | Yes | No | ||||
Socom US Navy SEALs | SCES50928 | No | |||||
Socom II US Navy SEALs | SCES51904 | No | |||||
Socom 3 US Navy SEALs | SCES53300 | No | |||||
Socom US Navy SEALs Combined Assault | SCES54477 | No | |||||
Swap Magic 3 plus (PAL version 3.6) CD | SCED54409 | No | - | No | |||
Swap Magic 3 plus (PAL version 3.6) DVD | SCED54409 | Yes | No | ||||
Tenchu Wrath of Heaven | SLES50679 | No | |||||
Terminator 3 Rise of the Machines | SLES52152 | No | |||||
The Great Escape | SLES51315 | No | |||||
The Hulk | SLES51508 | Yes | No | ||||
The Matrix Path of Neo | SLES53799 | No | |||||
The Plan | SLES53965 | No | |||||
Time Crisis 3 | SCES51844 | No | |||||
Tom Clancy's Ghost Recon | SLES51181 | No | |||||
Tom Clancy's Rainbow Six 3 | SLES52288 | No | |||||
Tom Clancy's Splinter Cell | SLES51466 | No | |||||
Tom Clancy's Splinter Cell Chaos Theory | SLES53007 | No | |||||
Tom Clancy's Splinter Cell Pandora Tomorrow | SLES52149 | No | |||||
Trapt | SLES53824 | No |
Tests on NON-BC CECHP01/NTSC-U (Firmware 2.60/boot_ps2.pkg)
Amplitude - Intro prompts are completely glitched, unresponsive to controller input.
Backyard Football 2007 - Graphical glitches during menu and gameplay. Frame rate is okay.
Boogie - Intro FMV runs very slow, fails to recognize input after the title screen.
MLB 08: The Show - Intro videos run smoothly. Menus load with no issue. Gameplay is extremely slow with graphical glitches. Network configuration utility is completely garbled.
-- Moose
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