http://www.psdevwiki.com/ps3/api.php?action=feedcontributions&user=Mysis&feedformat=atom PS3 Developer wiki - User contributions [en] 2024-03-28T17:43:24Z User contributions MediaWiki 1.39.6 http://www.psdevwiki.com/ps3/index.php?title=PS2_Emulation&diff=72952 PS2 Emulation 2023-08-20T15:56:07Z <p>Mysis: Grandia 3 multi disc</p> <hr /> <div>==Description==<br /> [[File:Ps2_block_diagram.png|200px|thumb|right|Simplified block diagram of a PS2&lt;br /&gt;[http://www.philvaz.com/games/PS2.htm source]]]<br /> Emulation of Playstation 2 is currently handled by 3 kind of emulators. CECH-A/B models use ps2_emu.self able to use built-in PS2 hardware (EE/GS/Rambus memory), and have best compatibility. CECH-C/E use ps2_gxemu, this emulator use physical Graphic Synthesizer found in this ps3 model, but Emotion Engine is fully emulated here, also there is no Rambus memory. All other models emulate PS2 thru fully software based ps2_netemu used for ps2 classics, and hacked now to use decrypted ISO files. Earlier before Sony provided ps2 classics on PS Store there was another soft only emulator strongly based on ps2_gxemu. It was called ps2_softemu, and had support for original PS2 CDVD. Only emulator not able to run physical discs is ps2_netemu. <br /> <br /> Emulators are self files, but not typical one. Emulators are not truly PS3 Game OS elf executables, but Guest OS'es running on LV1 of PS3. This mean that LV2, or more friendly Game OS is unloaded before emulator is loaded. This also mean that while emulators are running we can't call any LV2 function. Also LV1 syscalls are limited to call from all emulators, but can be fully unlocked.<br /> <br /> All emulators use built-in stripped developement version of PS2 BIOS with disabled debug functions that can affect some games. This is done because some games print debug info on screen when found that are run on dev bios. Bios between ps2_emu, and ps2_gxemu/ps2_netemu are different. Ps2_emu BIOS is able to run only on ps2emu version of emulator due to RDRAM check.<br /> <br /> PS3 models without Emotion Engine unit use &quot;SPE-compatible SIMD graphics-rounding mode for VMX/Altivec Instructions&quot; for FPU, and VU0 emulated floats calculations. This is set on emulator init by HV call 97 with param 1. VU1 actually run at SPE core so no compatibility mode need (or can) to be set. SPE compatible mode for PPE mean that rounding mode is set as round to zero, denormals are treated as zero, and there are no infinities or NaNs. So theoretically what PS2 FPU/VU was originally. Although SPE and PPE SPE compatibility mode is still inaccurate comparing to PS2, because Sony decided to cut off 2 guard bits from calculations on PS2. Probably because there was no need for round and sticky bits (no Nan/Inf, one round mode, etc.). Additionally float divide algorithm is custom and not fully understood up to this day. Good example here are TriAce games, or Castlevania COD where SPE calculation is wrong by 1 bit making games unplayable without patch. This are PS2 math algo specific inaccuracies in FPU/VU implementation that are not present on any other hardware.<br /> <br /> Note: <br /> * not available in early Tool/DECR and Debug/DEX firmwares. But available in AV TOOL firmware since 1.00<br /> * Emulation is based on a SCPH-50000/SCPH-20401 Playstation 2 Model.<br /> * [https://web.archive.org/web/20211118050305/http://unina.stidue.net/Universita'%20di%20Trieste/Ingegneria%20Industriale%20e%20dell'Informazione/Tuzzi/Architetture_Avanzate_dei_Calcolatori/Emotion_2.pdf Introduction to PlayStation2 Architecture.pdf]<br /> * ps2tek docs - https://psi-rockin.github.io/ps2tek/<br /> <br /> ==PS2 emulators workload comparison==<br /> {{PS2 emulators workload comparison}}<br /> Note: Apparently ps2_gxemu SPU layout changed at some point (maybe ps2_emu too), and above table is not accurate for latest emu versions.&lt;br&gt;<br /> 0-6 layout for ps2_gxemu currently look like this: IOP, SPU2, IPU, VU1, EEDMA, GSGIF, UNK(probably isolation).<br /> <br /> ==PS2 Emulator Types and Revisions==<br /> <br /> &lt;div&gt;<br /> &lt;div style=&quot;float:top; text-align:center;&quot;&gt;'''PS2 Emulator Types and Revisions'''&lt;/div&gt;<br /> &lt;div style=&quot;float:left; width:28%;&quot;&gt;<br /> {| class=&quot;wikitable&quot; style=&quot;font-size:xx-small;&quot;<br /> |+ ps2_emu.elf (decrypted)<br /> ! Firmware !! Bytes !! MD5 !! Timestamp !! &lt;abbr title=&quot;Revision&quot;&gt;Rev&lt;/abbr&gt; !! &lt;abbr title=&quot;Maximun number of supported commands&quot;&gt;Comm&lt;/abbr&gt;<br /> |-<br /> ! [[1.00_AV|1.00 AV]]<br /> | 8 258 328 || 19DC714F1109FF772BEF5B00C4AF2CF7 || 06/10/04/12:15 || ? || ?<br /> |-<br /> ! [[1.02_CEX|1.02]]<br /> | 8.258.504 || FF9C1C465DF6F501E418602A488CBD40 || 06/10/21/00:01 || ? || ?<br /> |-<br /> ! [[1.10_CEX|1.10]]<br /> | 8.254.568 || 72EFF1FB3E9A175253687634B698CC91 || 06/11/09/06:08 || ? || ?<br /> |-<br /> ! [[1.11_CEX|1.11]]<br /> | 8.255.192 || 98BCC06ACA07971DFE57A126000B6DEE || 06/11/21/17:54 || ? || ?<br /> |-<br /> ! [[1.30_CEX|1.30]]<br /> | 8.787.800 || 3F1E943139329E8AD5461FA43DB4DD0E || 06/12/05/05:33 || rowspan=&quot;2&quot; | same || rowspan=&quot;2&quot; | ?<br /> |-<br /> ! [[1.30_AV|1.30 AV]]<br /> | 8.787.800 || F2CE2D8CF41FF38E586AE7A91A13980C || 06/12/05/07:15<br /> |-<br /> ! [[1.31_CEX|1.31]]<br /> | 8.790.440 || CF13D31F202DA3C55009C06B6A2B27A0 || 06/12/12/18:47 || ? || ?<br /> |-<br /> ! [[1.32_CEX|1.32]]<br /> | 8.794.664 || 6DD631EEDE321AC7F59C85BC6AC0DCA9 || 06/12/18/05:54 || ? || ?<br /> |-<br /> ! [[1.50_CEX|1.50]]<br /> | 8.805.912 || 81B38EE824E460385B44FADE78CAA5DC || 07/01/18/22:52 || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ? || ?<br /> |-<br /> ! [[1.70_CEX|1.70]]<br /> | 8.854.680 || CEACBB22EB450C5CC587C193CE7BBE91 || 07/04/16/16:11 || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ? || ?<br /> |-<br /> ! [[1.90_CEX|1.90]]<br /> | 5.190.280 || 88B26FDC910B8633613BC366D39F439D || 07/07/21/06:44 || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ? || ?<br /> |-<br /> ! [[2.10_CEX|2.10]]<br /> | 5.223.112 || CB1924E7163F01EA2DD3965918BACCE4 || 07/12/15/05:29 || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ? || ?<br /> |-<br /> ! [[3.40_CEX|3.40]]<br /> | 5.267.128 || 916603300F798139456FCF1A40384A97 || 10/06/23/15:44 || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ? || ?<br /> |-{{cellcolors|#ddddff}}<br /> ! [[3.66_CEX|3.66]]<br /> | rowspan=&quot;3&quot; | 5.267.112 || BE20230D091F5C8AB8364607D49A6992 || 11/06/16/03:51 || rowspan=&quot;3&quot; | same || rowspan=&quot;3&quot; | ?<br /> |-{{cellcolors|#ddddff}}<br /> ! ~<br /> | colspan=&quot;2&quot; style=&quot;text-align:center; background-color:#ddddff;&quot; | ''Any''<br /> |-{{cellcolors|#ddddff}}<br /> ! [[3.74_CEX|3.74]]<br /> | 5B2CA12EE08298094177667C681BC75F || 11/10/25/00:30<br /> |-{{cellcolors|#bbbbff}}<br /> ! [[4.00_CEX|4.00]]<br /> | rowspan=&quot;2&quot; | 5.272.152 || 08516640BE636F3E633C0416F09EF941 || 11/11/22/03:10 || rowspan=&quot;2&quot; | same || rowspan=&quot;2&quot; | ?<br /> |-{{cellcolors|#bbbbff}}<br /> ! [[4.01_CEX|4.01]]<br /> | 61ECD51036247547736274EEB52FA4C4 || 11/12/23/01:02<br /> |-{{cellcolors|#ddddff}}<br /> ! [[4.10_CEX|4.10]]<br /> | rowspan=&quot;2&quot; | 5.272.008 || 88CFD465D2F412C075C69531278BB3A9 || 12/02/05/23:08 || rowspan=&quot;2&quot; | same || rowspan=&quot;2&quot; | ?<br /> |-{{cellcolors|#ddddff}}<br /> ! [[4.11_CEX|4.11]]<br /> | 2B45F72675B844C08E1735059F9826E3 || 12/02/11/07:05<br /> |-{{cellcolors|#bbbbff}}<br /> ! [[4.20_CEX|4.20]]<br /> | rowspan=&quot;2&quot; | 5.272.264 || 23D3F9909EBA3F1AB0D757850C5D6809 || 12/06/15/02:01 || rowspan=&quot;2&quot; | same || rowspan=&quot;2&quot; | ?<br /> |-{{cellcolors|#bbbbff}}<br /> ! [[4.21_CEX|4.21]]<br /> | 110F0D01B39193F1A2031BBC7ADBBC2F || 12/06/30/01:06<br /> |-<br /> ! [[4.23_SEX|4.23 S]]<br /> | 5.271.912 || 783201F2541117E545B8E01B3A0B1955 || 12/07/31/00:17 || ? || ?<br /> |-<br /> ! [[4.25_CEX|4.25]]<br /> | 5.272.264 || C895EAA3F79BA2040D6C828A5B811139 || 12/09/07/06:55 || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ? || ?<br /> |-<br /> ! colspan=&quot;6&quot; style=&quot;background:#80ff80; line-height:75%&quot; | Abandoned (last revision)<br /> |-{{cellcolors|#ddddff}}<br /> ! [[4.78_CEX|4.78]]<br /> | rowspan=&quot;3&quot; | 5.274.984 || ABC9228FCEA0E779E3157CA546A1FD02 || 15/12/17/01:14 || rowspan=&quot;3&quot; | same || rowspan=&quot;3&quot; | ?<br /> |-{{cellcolors|#ddddff}}<br /> ! ~<br /> | colspan=&quot;2&quot; style=&quot;text-align:center; background-color:#ddddff;&quot; | ''Any''<br /> |-{{cellcolors|#ddddff}}<br /> ! [[4.89_CEX|4.89]]<br /> | 7523DE6D38B13B9C4B9F72419C50D4A7 || 22/02/04/14:35<br /> |}<br /> &lt;span style=&quot;font-size:small&quot;&gt;<br /> {{dot}}'''Decrypted (elf)''': changes &lt;abbr title=&quot;when comparing two decrypted files of the same revision from different firmwares the only difference is the build label&quot;&gt;every firmware version&lt;/abbr&gt;&lt;br&gt;<br /> {{dot}}'''&lt;abbr title=&quot;0x20 bytes&quot;&gt;Build label&lt;/abbr&gt;''': yes, with timestamp, search for '''ps2ver:'''&lt;br&gt;<br /> {{dot}}'''Target Firmware''': no/unknown&lt;br&gt;<br /> {{dot}}'''Revision''': unknown<br /> &lt;/span&gt;<br /> &lt;/div&gt;<br /> &lt;div style=&quot;float:left; width:24%;&quot;&gt;<br /> {| class=&quot;wikitable&quot; style=&quot;font-size:xx-small;&quot;<br /> |+ ps2_gxemu.elf (decrypted)<br /> ! Firmware !! Bytes !! MD5 !! &lt;abbr title=&quot;Revision&quot;&gt;Rev&lt;/abbr&gt; !! &lt;abbr title=&quot;Maximun number of supported commands&quot;&gt;Comm&lt;/abbr&gt;<br /> |-<br /> ! [[1.00_CEX|1.00]] ~ [[1.32_CEX|1.32]]<br /> | colspan=&quot;4&quot; {{no}}<br /> |-<br /> ! [[1.50_CEX|1.50]]<br /> | 6.106.040 || BACC208C8A793F82D71F85B02DD2D318 || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! [[1.70_CEX|1.70]]<br /> | 6.763.336 || B70A15512EF9FA74B798A5E9241FE571 || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! [[1.90_CEX|1.90]]<br /> | 6.802.720 || B9E2CC8D72779650D9B500B75AE552EB || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! [[2.10_CEX|2.10]]<br /> | 6.822.576 || E34C4EB587CCE44AB4B92D848DC391A7 || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! [[3.40_CEX|3.40]]<br /> | 6.866.424 || 80091C68E2F8D2385A2125AB38085A3C || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! [[3.66_CEX|3.66]] ~ [[3.74_CEX|3.74]]<br /> | 6.867.024 || E04FA0FE63A968C53AE366B3AAD0141A || ? || ?<br /> |-<br /> ! [[4.00_CEX|4.00]] ~ [[4.11_CEX|4.11]]<br /> | 6.871.848 || D5E97019132848203970213FF96F2AAB || ? || ?<br /> |-<br /> ! [[4.20_CEX|4.20]] ~ [[4.25_CEX|4.25]]<br /> | 6.872.128 || 678F16283CAA8CFBC03A5FBCB6ABA41E || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! colspan=&quot;6&quot; style=&quot;background:#80ff80; line-height:75%&quot; | Abandoned (last revision)<br /> |-<br /> ! [[4.78_CEX|4.78]] ~ [[4.89_CEX|4.89]]<br /> | 6.874.848 || C7681420A7B3A2A6E3BF89F4A12A3DD6 || ? || 0x2B ?<br /> |}<br /> &lt;span style=&quot;font-size:small&quot;&gt;<br /> {{dot}}'''Decrypted (elf)''': changes &lt;abbr title=&quot;when comparing two decrypted files of the same revision from different firmwares there are no differences&quot;&gt;every emu revision&lt;/abbr&gt;&lt;br&gt;<br /> {{dot}}'''&lt;abbr title=&quot;0x20 bytes&quot;&gt;Build label&lt;/abbr&gt;''': no/unknown&lt;br&gt;<br /> {{dot}}'''Target Firmware''': no/unknown&lt;br&gt;<br /> {{dot}}'''Revision''': unknown<br /> &lt;/span&gt;<br /> &lt;/div&gt;&lt;div style=&quot;float:left; width:24%;&quot;&gt;<br /> {| class=&quot;wikitable&quot; style=&quot;font-size:xx-small;&quot;<br /> |+ ps2_softemu.elf (decrypted)<br /> ! Firmware !! Bytes !! MD5 !! &lt;abbr title=&quot;Revision&quot;&gt;Rev&lt;/abbr&gt; !! &lt;abbr title=&quot;Maximun number of supported commands&quot;&gt;Comm&lt;/abbr&gt;<br /> |-<br /> ! [[1.00_CEX|1.00]] ~ [[1.82_CEX|1.82]]<br /> | colspan=&quot;4&quot; {{no}}<br /> |-<br /> ! [[1.90_CEX|1.90]] ~ [[1.94_CEX|1.94]]<br /> | 6.142.080 || 812330515D01291488315BBE7E0F339E || 11065 || ?<br /> |-<br /> ! [[1.97_CEX|1.97]]<br /> | ? || ? || ? || ?<br /> |-<br /> ! [[2.00_CEX|2.00]] ~ [[2.10_CEX|2.10]]<br /> | 6.143.048 || C0964350E3E8EA80EB5C7CB34901E9DE || 11830 || ?<br /> |-<br /> ! [[2.16_CEX|2.16]]<br /> | ? || ? || ? || ?<br /> |-<br /> ! ? ~ ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! [[3.10_CEX|3.10]]<br /> | ? || ? || ? || ?<br /> |-<br /> ! [[3.15_CEX|3.15]]<br /> | ? || ? || 12840 || ?<br /> |-<br /> ! [[3.16_CEX|3.16]]<br /> | ? || ? || ? || ?<br /> |-<br /> ! ? ~ ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! [[3.40_CEX|3.40]]<br /> | 6.146.424 || 97C33E83E14399EED1BD4F5351443E1C || ? || ?<br /> |-<br /> ! [[3.41-1_CEX|3.41]] ~ [[3.65_CEX|3.65]]<br /> | ? || ? || 13474 || ?<br /> |-<br /> ! [[3.66_CEX|3.66]] ~ [[3.71_CEX|3.71]]<br /> | 6.147.120 || 513B9160AD8C199CAEFC82C1B7D9D794 || 15435 || ?<br /> |-<br /> ! [[3.72_CEX|3.72]] ~ [[4.01_CEX|4.01]]<br /> | 6.146.992 || 1232D3EEB48F301CBB61D76EB3046111 || 15529 || ?<br /> |-<br /> ! [[4.10_CEX|4.10]] ~ {{latestPS3}}<br /> | colspan=&quot;4&quot; {{no}}<br /> |}<br /> &lt;span style=&quot;font-size:small&quot;&gt;<br /> {{dot}}'''Decrypted (elf)''': changes &lt;abbr title=&quot;when comparing two decrypted files of the same revision from different firmwares there are no differences&quot;&gt;every emu revision&lt;/abbr&gt;&lt;br&gt;<br /> {{dot}}'''&lt;abbr title=&quot;0x20 bytes&quot;&gt;Build label&lt;/abbr&gt;''': no/unknown&lt;br&gt;<br /> {{dot}}'''Target Firmware''': no/unknown&lt;br&gt;<br /> {{dot}}'''Revision''': unknown<br /> &lt;/span&gt;<br /> &lt;/div&gt;&lt;div style=&quot;float:left; width:24%;&quot;&gt;<br /> {| class=&quot;wikitable&quot; style=&quot;font-size:xx-small;&quot;<br /> |+ ps2_netemu.elf (decrypted)<br /> ! Firmware !! Bytes !! MD5 !! &lt;abbr title=&quot;Revision&quot;&gt;Rev&lt;/abbr&gt; !! &lt;abbr title=&quot;Maximun number of supported commands&quot;&gt;Comm&lt;/abbr&gt;<br /> |-<br /> ! [[1.00_CEX|1.00]] ~ [[3.66_CEX|3.66]]<br /> | colspan=&quot;4&quot; {{no}}<br /> |-<br /> ! [[3.70_CEX|3.70]] ~ [[3.71_CEX|3.71]]<br /> | 11.036.504 || 0D021D18CC63DDBDA530A93C41ABF865 || &lt;abbr title=&quot;build r15686-gif-xdr-user2-usb3&quot;&gt;15686&lt;/abbr&gt; || rowspan=&quot;5&quot; | 0x41<br /> |-<br /> ! [[3.72_CEX|3.72]]<br /> | 11.036.504 || 38EABD7E5F998BC04922CA3B70211208 || &lt;abbr title=&quot;build r15842-target370&quot;&gt;15842&lt;/abbr&gt;<br /> |-<br /> ! [[3.73_CEX|3.73]] ~ [[3.74_CEX|3.74]]<br /> | 11.036.504 || F21110A93BBEA416749283E6BF3D3C6B || &lt;abbr title=&quot;build r15936-target370&quot;&gt;15936&lt;/abbr&gt;<br /> |-<br /> ! [[4.00_CEX|4.00]] ~ [[4.01_CEX|4.01]]<br /> | 11.033.048 || F770442DFA626282B01FEBE3DDFFC477 || &lt;abbr title=&quot;build r16195-target400&quot;&gt;16195&lt;/abbr&gt;<br /> |-<br /> ! [[4.10_CEX|4.10]] ~ [[4.11_CEX|4.11]]<br /> | 11.033.216 || 8F0885BCC80A3617E654BB6151F4F718 || &lt;abbr title=&quot;build r16361-target410&quot;&gt;16361&lt;/abbr&gt;<br /> |-<br /> ! [[4.20_CEX|4.20]] ~ [[4.23_SEX|4.23]]<br /> | 11.033.728 || 8EB5492E453C50B6D728E7999A57A689 || &lt;abbr title=&quot;build r16604-target420&quot;&gt;16604&lt;/abbr&gt; || rowspan=&quot;2&quot; | 0x43<br /> |-<br /> ! [[4.25_CEX|4.25]] ~ [[4.26_SEX|4.26]]<br /> | 11.033.728 || E38059300E31432A62967770C3E99EF6 || &lt;abbr title=&quot;build r16740-target420&quot;&gt;16740&lt;/abbr&gt;<br /> |-<br /> ! [[4.30_CEX|4.30]] ~ [[4.31_CEX|4.31]]<br /> | ? || ? || 16808 || 0x45<br /> |-<br /> ! [[4.40_CEX|4.40]] ~ [[4.41_CEX|4.41]]<br /> | ? || ? || 16916 || 0x46<br /> |-<br /> ! [[4.45_CEX|4.45]] ~ [[4.46_CEX|4.46]]<br /> | ? || ? || 17041 || 0x48<br /> |-<br /> ! [[4.50_CEX|4.50]]<br /> | ? || ? || 17179 || 0x4A<br /> |-<br /> ! [[4.55_CEX|4.55]]<br /> | ? || ? || 17277 || rowspan=&quot;2&quot; | 0x4D<br /> |- <br /> ! [[4.60_CEX|4.60]] ~ [[4.76_CEX|4.76]]<br /> | ? || ? || 17314<br /> |-<br /> ! colspan=&quot;6&quot; style=&quot;background:#80ff80; line-height:75%&quot; | Abandoned (last revision)<br /> |- <br /> ! [[4.78_CEX|4.78]] ~ [[4.89_CEX|4.89]]<br /> | 10.442.536 || 8B2DBD1AAD22A0EDCF9C867A1A1FB94D || &lt;abbr title=&quot;build r17495-main-rel&quot;&gt;17495&lt;/abbr&gt; || 0x50<br /> |}<br /> &lt;span style=&quot;font-size:small&quot;&gt;<br /> {{dot}}'''Decrypted (elf)''': changes &lt;abbr title=&quot;when comparing two decrypted files of the same revision from different firmwares there are no differences&quot;&gt;every emu revision&lt;/abbr&gt;&lt;br&gt;<br /> {{dot}}'''&lt;abbr title=&quot;0x20 bytes&quot;&gt;Build label&lt;/abbr&gt;''': yes, without timestamp, search for '''build r'''&lt;br&gt;<br /> {{dot}}'''Target Firmware''': included in the build label&lt;br&gt;<br /> {{dot}}'''Revision''': yes, &lt;abbr title=&quot;the location can be seen by comparing 4.23 (value 0x40DC) with 4.25 (value 0x4164) at offset 0x3E4BA in both&quot;&gt;'''one''' time&lt;/abbr&gt;, and included in the build label<br /> &lt;/span&gt;<br /> &lt;/div&gt;<br /> &lt;/div&gt;<br /> &lt;br style=&quot;clear: both;&quot; /&gt;<br /> <br /> *Alternative tables&lt;!-- What means TOC ?, is needed to explain it and/or include this TOC info in the other tables --&gt;<br /> {| class=&quot;wikitable&quot; style=&quot;float:left; margin:5px&quot;<br /> |+ps2_emu.self<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 1.00 AV || 0x7C3150 ||<br /> |-<br /> | 1.02 || 0x7C31F0 ||<br /> |-<br /> | 1.10 || 0x7C2168 ||<br /> |-<br /> | 1.11 || 0x7C23C8 ||<br /> |-<br /> | 1.30 || 0x8442E8 ||<br /> |-<br /> | 1.30 AV || 0x8442E8 ||<br /> |-<br /> | 1.31 || 0x844C98 ||<br /> |-<br /> | 1.32 || 0x845CA0 ||<br /> |-<br /> | 1.50 || 0x848728 ||<br /> |-<br /> | 1.90 || 0x4D7ED8 ||<br /> |-<br /> | 3.66 - 3.74 || 0x4E9A20 ||<br /> |-<br /> | 4.00 - 4.01 || 0x4EADB8 ||<br /> |-<br /> | 4.10 - 4.11 || 0x4EAD28 ||<br /> |-<br /> | 4.20 - 4.21 || 0x4EAE30 ||<br /> |-<br /> | 4.23 || 0x4EACE0 ||<br /> |-<br /> | 4.25 || 0x4EAE30 || Reverted to 4.20 - 4.21 version?<br /> |-<br /> | 4.78 - 4.82 || 0x4EB8C0 ||<br /> |}<br /> <br /> {| class=&quot;wikitable&quot; style=&quot;float:left; margin:5px&quot;<br /> |+ps2_gxemu.self<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 1.50 || 0x5BDFC8 ||<br /> |-<br /> | 1.90 || 0x666C78 ||<br /> |-<br /> | 3.66 - 3.74 || 0x6766B8 ||<br /> |-<br /> | 4.00 - 4.11 || 0x677990 ||<br /> |-<br /> | 3.66 - 3.74 || 0x677AA8 ||<br /> |-<br /> | 4.78 - 4.82 || 0x678548 || <br /> |}<br /> <br /> {| class=&quot;wikitable&quot; style=&quot;float:left; margin:5px&quot;<br /> |+ps2_softemu.self<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 1.90 || 0x5C7B10 ||<br /> |-<br /> | 2.50 || 0x5C7ED8 ||<br /> |-<br /> | 3.41 || 0x5C8C00 || <br /> |-<br /> | 3.66 - 3.71 || 0x5C8EC0 ||<br /> |-<br /> | 3.72 - 4.01 || 0x5C8E40 ||<br /> |}<br /> <br /> {| class=&quot;wikitable&quot; style=&quot;float:left; margin:5px&quot;<br /> |+ps2_netemu.self<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 3.73 - 3.74 || 0x7D8B00 ||<br /> |-<br /> | 4.00 - 4.01 || 0x7DA200 ||<br /> |-<br /> | 4.10 - 4.11 || 0x7DA180 ||<br /> |-<br /> | 4.20 - 4.25 || 0x7DA500 ||<br /> |-<br /> | 4.78 - 4.83 || 0x751280 || <br /> |}{{clear}}<br /> <br /> ==General observations regarding PS2 Classics emulator (ps2_netemu)==<br /> * Virtual memory cards are per title based, but apparently run through the current memory card system. The module used to manage memory cards is: vmc_savedata_plugin.sprx - Using a regular memory card that has been renamed result in a &quot;The save data is corrupt (8XXXXXXX) error&quot;<br /> * Loads an epilepsy warning before PS2 logo (PS button menu appears during epilepsy warning if controller is synced)<br /> * Does not support online functionality of PS2 titles (network configuration utility inside Full Spectrum Warrior claims no network adaptor has been found, same with Syphon Filter: The Omega Strain).<br /> <br /> - Only file that is needed in the folder for PS2 Classics is &quot;iso.bin.enc&quot;. Removing the manuals/DXT files will cause the game to boot IMMEDIATELY to the PS2 logo upon switching to 720p/starting PS2 LPAR.<br /> <br /> ===LIMG Segment===<br /> The ISO.BIN.ENC has a block of 0x4000 bytes added at the end codenamed &quot;LIMG&quot; that works as a descriptor for the ISO structure<br /> <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Offset !! Length !! Name !! Example !! Description<br /> |-<br /> | 0x00 || 0x4 || '''magic''' || LIMG || '''L'''ogical '''IM'''a'''G'''e (layout) ?<br /> |-<br /> | 0x04 || 0x4 || '''img_type''' || 0x00000001 || 1=DVD&lt;br&gt;2=CD<br /> |-<br /> | 0x08 || 0x4 || '''sector_count''' || 0x00279890 || ''sector_count = img_size / sector_size''<br /> |-<br /> | 0x0C || 0x4 || '''sector_size''' || 0x0000800 || ''sector_size = img_size / sector_count''&lt;br&gt;0x800=DVD (Mode1/2048)&lt;br&gt;0x930=CD (Mode2/2352)<br /> |-<br /> | 0x10 || 0x3FF0 || ''padding'' || 0x00000000... || <br /> |}<br /> <br /> ===folder/file layout===<br /> (in this example GTA San Andreas Classic)<br /> &lt;pre&gt;<br /> [NPUD20946]<br /> [USRDIR]<br /> [CONTENT]<br /> 001.dxt<br /> 002.dxt<br /> 003.dxt<br /> 004.dxt<br /> 005.dxt<br /> 006.dxt<br /> 007.dxt<br /> 008.dxt<br /> 009.dxt<br /> 010.dxt<br /> 011.dxt<br /> 012.dxt<br /> 013.dxt<br /> 014.dxt<br /> 015.dxt<br /> 016.dxt<br /> 017.dxt<br /> Others.dxt<br /> Manual.idx<br /> [SAVEDATA]<br /> SCEVMC0.VME<br /> SCEVMC1.VME<br /> CONFIG<br /> ISO.BIN.EDAT<br /> ISO.BIN.ENC<br /> PS3LOGO.DAT<br /> PARAM.SFO<br /> ICON0.PNG<br /> PIC0.PNG<br /> PIC1.PNG<br /> PIC2.PNG<br /> &lt;/pre&gt;<br /> <br /> ==Virtual PS2 (emulated machine) usage and features==<br /> <br /> ===Video Modes===<br /> '''Note:''' Real PS2 : http://users.neoscientists.org/~blue/ps2videomodes.txt<br /> <br /> Video Modes<br /> ----.-----------.---------------.-----------.-----------.<br /> No | Name | Resolution | fV(Hz) | fH(kHz) |<br /> ----+-----------+---------------+-----------+-----------|<br /> 0 | NTSC-NI | 640x240(224) | 59.940 | 15.734 |<br /> 1 | NTSC-I | 640x480(448) | 59.820 | 15.734 |<br /> 2 | PAL-NI | 640x288(256) | 50.000 | 15.625 |<br /> 3 | PAL-I | 640x576(512) | 49.760 | 15.625 |<br /> 4 | VESA-1A | 640x480 | 59.940 | 31.469 |<br /> 5 | VESA-1C | 640x480 | 75.000 | 37.500 |<br /> 6 | VESA-2B | 800x600 | 60.317 | 37.879 |<br /> 7 | VESA-2D | 800x600 | 75.000 | 46.875 |<br /> 8 | VESA-3B | 1024x768 | 60.004 | 48.363 |<br /> 9 | VESA-3D | 1024x768 | 75.029 | 60.023 |<br /> 10 | VESA-4A | 1280x1024 | 60.020 | 63.981 |<br /> 11 | VESA-4B | 1280x1024 | 75.025 | 79.976 |<br /> 12 | DTV-480P | 720x480 | 59.940 | 31.469 |<br /> 13 | DTV-1080I | 1920x1080 | 60.000 | 33.750 |<br /> 14 | DTV-720P | 1280x720 | ?? | ?? |<br /> ----^-----------^---------------^-----------^-----------'<br /> <br /> ==Memory Mapping==<br /> <br /> === ps2netemu === <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Name !! ea !! lpar2(netemu 4.81) !! size !! flags !! lpar1(lv1 4.81)<br /> |-<br /> | text || 0x0 || 0x3D00000 || 0x300000( 3 MB) || 0x8000000000000003 0000000000000003 || 0x7D00000<br /> |- <br /> | ro_work || 0x300000 || 0x300000 || 0x500000( 5 MB) || 0x0000000000000003 0000000000000003 || 0x4300000<br /> |- <br /> | rw_work || 0x800000 || 0x800000 || 0x2A00000( 42 MB) || 0x0000000000000001 0000000000000003 || 0x4800000<br /> |- <br /> | negmem || 0x1FFF0000 || 0x3210000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000000 || 0x7210000<br /> |- <br /> | ee_ram || 0x100000000 || 0x64000E000000 || 0x2000000( 32 MB) || 0x0000000000000001 0000000000000000 || 0x3C00000 - 0x3F00000, 0x8000000 - 0x9B00000<br /> |- <br /> | ee_jit_code || 0xD00000000 || 0x680024000000 || 0x3000000( 48 MB) || 0x8000000000000001 0000000000000003 || 0xBC00000 - 0xEB00000<br /> |- <br /> | vu0_jit_code || 0xD08000000 || 0x580000800000 || 0x400000( 4 MB) || 0x8000000000000001 0000000000000003 || 0x900000 - 0xC00000<br /> |- <br /> | vu0_jit_data || 0xD0C000000 || 0x3700000 || 0x400000( 4 MB) || 0x0000000000000002 0000000000000003 || 0x7700000<br /> |- <br /> | eeram_jit_lut || 0xE00000000 || 0x640010000000 || 0x2000000( 32 MB) || 0x0000000000000001 0000000000000003 || 0x9C00000 - 0xBB00000<br /> |- <br /> | eerom_jit_lut || 0xE0FC00000 || 0x580000C00000 || 0x400000( 4 MB) || 0x0000000000000001 0000000000000003 || 0xD00000 - 0x1000000<br /> |- <br /> | ee_dbg_ram || 0x90FFF8000 || 0x64000E078000 || 0x8000( 32 KB) || 0x0000000000000001 0000000000000000 || <br /> |- <br /> | iop_ram || 0x400000000 || 0x3300000 || 0x200000( 2 MB) || 0x0000000000000001 0000000000000000 || 0x7300000<br /> |- <br /> | iop_rom || 0x50FC00000 || 0x580001000000 || 0x400000( 4 MB) || 0x0000000000000001 0000000000000002 || 0x1100000 - 0x1400000<br /> |- <br /> | iop_spad || 0x50F800000 || 0x3220000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000002 || 0x7220000<br /> |- <br /> | spu2_ram || 0x600000000 || 0x3500000 || 0x200000( 2 MB) || 0x0000000000000001 0000000000000000 || 0x7500000<br /> |- <br /> | spu2_ram2 || 0x600200000 || 0x3500000 || 0x200000( 2 MB) || 0x0000000000000001 0000000000000000 || 0x7500000<br /> |- <br /> | spu2_pcm || 0x1000000000 || 0x3230000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000000 || 0x7230000<br /> |- <br /> | ee_spr_lo || 0x700000000 || 0x3201000 || 0x2000( 8 KB) || 0x0000000000000001 0000000000000000 || 0x7201000<br /> |- <br /> | ee_spr || 0x800000000 || 0x3203000 || 0x6000( 24 KB) || 0x0000000000000001 0000000000000000 || 0x7203000<br /> |- <br /> | ee_vu0_dmem0 || 0x301004000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_vu0_dmem1 || 0x301005000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_vu0_dmem2 || 0x301006000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_vu0_dmem3 || 0x301007000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_rom || 0x30FC00000 || 0x580001000000 || 0x400000( 4 MB) || 0x0000000000000001 0000000000000001 || 0x1100000 - 0x1400000<br /> |- <br /> | vrc || 0xC00000000 || 0x600005000000 || 0x1000000( 16 MB) || 0x0000000000000001 0000000000000000 || 0x1500000 - 0x2400000<br /> |- <br /> | /dev/zero || 0x4000000000 || 0x3240000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000001 || 0x7240000<br /> |- <br /> | dma_vu0_dmem0 || 0x4001004000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | dma_vu0_dmem1 || 0x4001005000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | dma_vu0_dmem2 || 0x4001006000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | dma_vu0_dmem3 || 0x4001007000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem0 || 0x30000000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem1 || 0x30001000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem2 || 0x30002000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem3 || 0x30003000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | SGSXdr || 0x1904000000 || 0x64000C000000 || 0x1700000( 23 MB) || 0x0000000000000001 0000000000000000 || 0x2500000 - 0x3B00000<br /> |- <br /> | iopTrace || 0x1400000000 || 0x3250000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000000 || 0x7250000<br /> |}<br /> <br /> ====SPE local storage====<br /> Emulator access SPE LS by accessing special addresses. Mapping as follows:<br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! SPE Num. !! SPE task !! Address in netemu !! address in SPE<br /> |-<br /> | 0 || IOP || 0x40000000 - 0x4003FFFF || 0x0 - 3FFFF<br /> |-<br /> | 1 || SPU2 || 0x40080000 - 0x400BFFFF || 0x0 - 3FFFF<br /> |-<br /> | 2 || VU1 || 0x40100000 - 0x4013FFFF || 0x0 - 3FFFF<br /> |-<br /> | 3 || EEDMA || 0x40180000 - 0x401BFFFF || 0x0 - 3FFFF<br /> |-<br /> | 4 || FE || 0x40200000 - 0x4023FFFF || 0x0 - 3FFFF<br /> |-<br /> | 5 || BE || 0x40280000 - 0x402BFFFF || 0x0 - 3FFFF<br /> |-<br /> | 6 || IPU || 0x40300000 - 0x4033FFFF || 0x0 - 3FFFF<br /> |-<br /> |}<br /> <br /> Additionally, emulator access SPU directly with those addresses. &lt;br&gt;<br /> <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Address !! Channel !! Channel description !! Access type !! Notes<br /> |-<br /> | 0x44004 || SPU_Out_Mbox || SPU Outbound Mailbox Register || Read only || Used to read 32 bits of data from the corresponding SPU outbound mailbox queue. Outbound Mailbox Register has a corresponding SPU Write Outbound Mailbox Channel for writing data into outbound mailbox queue.<br /> |-<br /> | 0x4400C || SPU_In_Mbox || SPU Inbound Mailbox Register || Write only || Used to write 32 bits of data into the corresponding SPU inbound mailbox queue. Inbound mailbox queue has a corresponding SPU Read Inbound Mailbox Channel for reading data from the queue.<br /> |-<br /> | 0x44014 || SPU_Mbox_Stat || SPU Mailbox Status Register || Read only || Contains the current In_Mbox/Out_Mbox/Out_Intr_Mbox count of the mailbox queues in the corresponding SPE. <br /> |-<br /> | 0x4401C || SPU_RunCntl || SPU Run Control Register || Read/Write || Used to start and stop the execution of instructions in the SPU. <br /> The SPU can dynamically change the state of the Run Status bit (that is, SPU_Status[R]). <br /> |-<br /> | 0x44024 || SPU_Status || SPU Status Register || Read only || Used to report the status (state) of an SPU. Emulator use it mostly to check if SPU is running (bit31).<br /> |-<br /> | 0x44034 || SPU_NPC || SPU Next Program Counter Register || Read/Write || Contains the address from which an SPU starts executing when the Run Control bit is set in the SPU Run Control Register.<br /> Used in function that start SPU programs, and in interrupts handlers, plus in few other places.<br /> |-<br /> | 0x5400C || SPU_Sig_Notify_1 || SPU Signal Notification 1 Register || Read/Write || Used to write data that can be read in SPU_RdSigNotify1 channel corresponding SPE.<br /> |-<br /> | 0x5C00C || SPU_Sig_Notify_2 || SPU Signal Notification 2 Register || Read/Write || Used to write data that can be read in SPU_RdSigNotify2 channel corresponding SPE.<br /> |-<br /> |}<br /> <br /> Address = SPU base + Address. For example, IPU SPU is mapped to 0x40300000 so accessing SPU_Sig_Notify1 will be done by read/write to 0x4035400C.<br /> <br /> ===PS2 Memory and Hardware Mapped Registers Layout===<br /> &lt;pre&gt;<br /> EE Virtual/Physical Memory Map<br /> KUSEG: 00000000h-7FFFFFFFh User segment<br /> KSEG0: 80000000h-9FFFFFFFh Kernel segment 0<br /> KSEG1: A0000000h-BFFFFFFFh Kernel segment 1<br /> KSSEG: C0000000h-DFFFFFFFh Supervisor segment<br /> KSEG3: E0000000h-FFFFFFFFh Kernel segment 3<br /> <br /> Virtual Physical<br /> 00000000h 00000000h 32 MB Main RAM (first 1 MB reserved for kernel)<br /> 20000000h 00000000h 32 MB Main RAM, uncached<br /> 30100000h 00100000h 31 MB Main RAM, uncached and accelerated<br /> 10000000h 10000000h 64 KB I/O registers<br /> 11000000h 11000000h 4 KB VU0 code memory<br /> 11004000h 11004000h 4 KB VU0 data memory<br /> 11008000h 11008000h 16 KB VU1 code memory<br /> 1100C000h 1100C000h 16 KB VU1 data memory<br /> 12000000h 12000000h 8 KB GS privileged registers<br /> 1C000000h 1C000000h 2 MB IOP RAM<br /> 1FC00000h 1FC00000h 4 MB BIOS, uncached (rom0)<br /> 9FC00000h 1FC00000h 4 MB BIOS, cached (rom09)<br /> BFC00000h 1FC00000h 4 MB BIOS, uncached (rom0b)<br /> 70000000h --------- 16 KB Scratchpad RAM (only accessible via virtual addressing)<br /> <br /> IOP Physical Memory Map<br /> KUSEG: 00000000h-7FFFFFFFh User segment<br /> KSEG0: 80000000h-9FFFFFFFh Kernel segment 0<br /> KSEG1: A0000000h-BFFFFFFFh Kernel segment 1<br /> <br /> Physical<br /> 00000000h 2 MB Main RAM (same as on PSX)<br /> 1D000000h SIF registers<br /> 1F800000h 64 KB Various I/O registers<br /> 1F900000h 1 KB SPU2 registers<br /> 1FC00000h 4 MB BIOS (rom0) - Same as EE BIOS<br /> <br /> FFFE0000h (KSEG2) Cache control<br /> <br /> Additional Memory<br /> 4 MB GS VRAM (used for framebuffer, textures, zbuffer, etc)<br /> 2 MB SPU2 work RAM - quadrupled from PSX's SPU<br /> 8 MB Memory card<br /> <br /> <br /> Hardware Mapped Registers<br /> EE Map<br /> EE Timers<br /> 100000xxh Timer 0<br /> 100008xxh Timer 1<br /> 100010xxh Timer 2<br /> 100018xxh Timer 3<br /> Image Processing Unit (IPU)<br /> 10002000h 8h IPU Command<br /> 10002010h 4h IPU Control<br /> 10002020h 4h IPU bit pointer control<br /> 10002030h 8h Top of bitstream<br /> 10007000h 10h Out FIFO (read)<br /> 10007010h 10h In FIFO (write)<br /> Graphics Interface (GIF)<br /> 10003000h 4h GIF_CTRL - Control register<br /> 10003010h 4h GIF_MODE - Mode setting<br /> 10003020h 4h GIF_STAT - Status<br /> 10003040h 4h GIF_TAG0 - Bits 0-31 of tag before<br /> 10003050h 4h GIF_TAG1 - Bits 32-63 of tag before<br /> 10003060h 4h GIF_TAG2 - Bits 64-95 of tag before<br /> 10003070h 4h GIF_TAG3 - Bits 96-127 of tag before<br /> 10003080h 4h GIF_CNT - Transfer status counter<br /> 10003090h 4h GIF_P3CNT - PATH3 transfer status counter<br /> 100030A0h 4h GIF_P3TAG - Bits 0-31 of PATH3 tag when interrupted<br /> 10006000h 10h GIF FIFO<br /> DMA Controller (DMAC)<br /> 100080xxh VIF0 - channel 0<br /> 100090xxh VIF1 - channel 1<br /> 1000A0xxh GIF - channel 2<br /> 1000B0xxh IPU_FROM - channel 3<br /> 1000B4xxh IPU_TO - channel 4<br /> 1000C0xxh SIF0 - channel 5<br /> 1000C4xxh SIF1 - channel 6<br /> 1000C8xxh SIF2 - channel 7<br /> 1000D0xxh SPR_FROM - channel 8<br /> 1000D4xxh SPR_TO - channel 9<br /> 1000E000h 4h D_CTRL - DMAC control<br /> 1000E010h 4h D_STAT - DMAC interrupt status<br /> 1000E020h 4h D_PCR - DMAC priority control<br /> 1000E030h 4h D_SQWC - DMAC skip quadword<br /> 1000E040h 4h D_RBSR - DMAC ringbuffer size<br /> 1000E050h 4h D_RBOR - DMAC ringbuffer offset<br /> 1000E060h 4h D_STADR - DMAC stall address<br /> 1000F520h 4h D_ENABLER - DMAC disabled status<br /> 1000F590h 4h D_ENABLEW - DMAC disable<br /> Interrupt Controller (INTC)<br /> 1000F000h 4h INTC_STAT - Interrupt status<br /> 1000F010h 4h INTC_MASK - Interrupt mask<br /> Subsystem Interface (SIF)<br /> 1000F200h 4h MSCOM - EE-&gt;IOP communication<br /> 1000F210h 4h SMCOM - IOP-&gt;EE communication<br /> 1000F220h 4h MSFLAG - EE-&gt;IOP flags<br /> 1000F230h 4h SMFLAG - IOP-&gt;EE flags<br /> 1000F240h 4h Control register<br /> Privileged GS registers<br /> 12000000h 8h PMODE - various PCRTC controls<br /> 12000010h 8h SMODE1<br /> 12000020h 8h SMODE2<br /> 12000030h 8h SRFSH<br /> 12000040h 8h SYNCH1<br /> 12000050h 8h SYNCH2<br /> 12000060h 8h SYNCV<br /> 12000070h 8h DISPFB1 - display buffer for output circuit 1<br /> 12000080h 8h DISPLAY1 - output circuit 1 control<br /> 12000090h 8h DISPFB2 - display buffer for output circuit 2<br /> 120000A0h 8h DISPLAY2 - output circuit 2 control<br /> 120000B0h 8h EXTBUF<br /> 120000C0h 8h EXTDATA<br /> 120000D0h 8h EXTWRITE<br /> 120000E0h 8h BGCOLOR - background color<br /> 12001000h 8h GS_CSR - control register<br /> 12001010h 8h GS_IMR - GS interrupt control<br /> 12001040h 8h BUSDIR - transfer direction<br /> 12001080h 8h SIGLBLID - signal<br /> <br /> IOP Map<br /> Subsystem Interface (SIF)<br /> 1D000000h 4h MSCOM - EE-&gt;IOP communication<br /> 1D000010h 4h SMCOM - IOP-&gt;EE communication<br /> 1D000020h 4h MSFLAG - EE-&gt;IOP flags<br /> 1D000030h 4h SMFLAG - IOP-&gt;EE flags<br /> 1D000040h 4h Control register<br /> CDVD Drive<br /> 1F402004h 1h Current N command<br /> 1F402005h 1h N command status (R)<br /> 1F402005h 1h N command params (W)<br /> 1F402006h 1h Error<br /> 1F402007h 1h Send BREAK command<br /> 1F402008h 1h CDVD I_STAT - interrupt register<br /> 1F40200Ah 1h Drive status<br /> 1F40200Fh 1h Disk type<br /> 1F402016h 1h Current S command<br /> 1F402017h 1h S command status<br /> 1F402018h 1h S command params<br /> Interrupt Control<br /> 1F801070h 4h I_STAT - Interrupt status<br /> 1F801074h 4h I_MASK - Interrupt mask<br /> 1F801078h 1h I_CTRL - Global interrupt disable<br /> DMA registers<br /> 1F80108xh MDECin - channel 0<br /> 1F80109xh MDECout - channel 1<br /> 1F8010Axh SIF2 (GPU) - channel 2<br /> 1F8010Bxh CDVD - channel 3<br /> 1F8010Cxh SPU2 Core0 - channel 4<br /> 1F8010Dxh PIO - channel 5<br /> 1F8010Exh OTC - channel 6<br /> 1F80150xh SPU2 Core1 - channel 8<br /> 1F80151xh ??? - channel 9<br /> 1F80152xh SIF0 - channel 10<br /> 1F80153xh SIF1 - channel 11<br /> 1F80154xh SIO2in - channel 12<br /> 1F80155xh SIO2out - channel 13<br /> <br /> 1F8010F0h 4h DPCR - DMA priority control<br /> 1F8010F4h 4h DICR - DMA interrupt control<br /> 1F801570h 4h DPCR2 - DMA priority control 2<br /> 1F801574h 4h DICR2 - DMA priority control 2<br /> IOP Timers<br /> 1F80110xh Timer 0<br /> 1F80111xh Timer 1<br /> 1F80112xh Timer 2<br /> 1F80148xh Timer 3<br /> 1F80149xh Timer 4<br /> 1F8014Axh Timer 5<br /> Serial Interface (SIO2)<br /> 1F808200h 40h SEND3 buffer<br /> 1F808240h 20h SEND1/2 buffers<br /> 1F808260h 1h In FIFO<br /> 1F808264h 1h Out FIFO<br /> 1F808268h 4h SIO2 control<br /> 1F80826Ch 4h RECV1<br /> 1F808270h 4h RECV2<br /> 1F808274h 4h RECV3<br /> Sound Processing Unit (SPU2)<br /> 1F900000h 180h Core0 Voice 0-23 registers<br /> 1F900190h 4h Key ON 0/1<br /> 1F900194h 4h Key OFF 0/1<br /> 1F90019Ah 2h Core attributes<br /> 1F90019Ch 4h Interrupt address H/L<br /> 1F9001A8h 4h DMA transfer address H/L<br /> 1F9001ACh 2h Internal transfer FIFO<br /> 1F9001B0h 2h AutoDMA status<br /> 1F9001C0h 120h Core0 Voice 0-23 start/loop/next addresses<br /> 1F900340h 4h ENDX 0/1<br /> 1F900344h 2h Status register<br /> <br /> ... above addresses repeat for Core1 starting at 1F900400h ...<br /> <br /> 1F900760h 2h Master Volume Left<br /> 1F900762h 2h Master Volume Right<br /> 1F900764h 2h Effect Volume Left<br /> 1F900766h 2h Effect Volume Right<br /> 1F900768h 2h Core1 External Input Volume Left<br /> 1F90076Ah 2h Core1 External Input Volume Right<br /> &lt;/pre&gt;<br /> <br /> == Memory Allocation ==<br /> ===ps2_netemu===<br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Name !! Size !! page_log2 !! lpar2(netemu 4.81) !! lpar1(lv1 4.81)<br /> |-<br /> | ra_vu0_dmem || 0x1000 (4 KB) || 12 (4 KB) || 0x3200000 || 0x7200000<br /> |- <br /> | ra_ee_spr_lo || 0x2000 (8 KB) || 12 (4 KB) || 0x3201000 || 0x7201000<br /> |- <br /> | ra_ee_sprx || 0x6000 (24 KB) || 12 (4 KB) || 0x3203000 || 0x7203000<br /> |- <br /> | ra_negmem || 0x10000 (64 KB) || 16 (64 KB) || 0x3210000 || 0x7210000<br /> |- <br /> | ra_iop_spad || 0x10000 (64 KB) || 16 (64 KB) || 0x3220000 || 0x7220000<br /> |- <br /> | ra_spu2_pcm || 0x10000 (64 KB) || 16 (64 KB) || 0x3230000 || 0x7230000<br /> |- <br /> | ra_nulls || 0x10000 (64 KB) || 16 (64 KB) || 0x3240000 || 0x7240000<br /> |- <br /> | ra_itrace || 0x10000 (64 KB) || 16 (64 KB) || 0x3250000 || 0x7250000<br /> |- <br /> | ra_iop_ram || 0x200000 (2 MB) || 20 (1 MB) || 0x3300000 || 0x7300000<br /> |- <br /> | ra_spu2_ram || 0x200000 (2 MB) || 20 (1 MB) || 0x3500000 || 0x7500000<br /> |- <br /> | ra_vu0_code || 0x400000 (4 MB) || 20 (1 MB) || 0x580000800000 || 0x900000 - 0xC00000<br /> |- <br /> | ra_vu0_data || 0x400000 (4 MB) || 20 (1 MB) || 0x3700000 || 0x7700000<br /> |- <br /> | ra_ee_rom_pc || 0x400000 (4 MB) || 20 (1 MB) || 0x580000C00000 || 0xD00000 - 0x1000000<br /> |- <br /> | ra_ps2_rom || 0x400000 (4 MB) || 20 (1 MB) || 0x580001000000 || 0x1100000 - 0x1400000<br /> |- <br /> | ra_vrc_mem || 0x1000000 (16 MB) || 20 (1 MB) || 0x600005000000 || 0x1500000 - 0x2400000<br /> |- <br /> | ra_sgs_xdr || 0x1700000 (23 MB) || 20 (1 MB) || 0x64000C000000 || 0x2500000 - 0x3B00000<br /> |- <br /> | ra_ee_ram || 0x2000000 (32 MB) || 20 (1 MB) || 0x64000E000000 || 0x3C00000 - 0x3F00000, 0x8000000 - 0x9B00000<br /> |- <br /> | ra_ee_ram_pc || 0x2000000 (32 MB) || 20 (1 MB) || 0x640010000000 || 0x9C00000 - 0xBB00000<br /> |- <br /> | ra_trans_code || 0x3000000 (48 MB) || 20 (1 MB) || 0x680024000000 || 0xBC00000 - 0xEB00000<br /> |}<br /> <br /> <br /> ==Controller==<br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! ID !! Controller #Number !! Note<br /> |-<br /> | 1 (1-A) || 1 ||<br /> |-<br /> | 2 (2-A) || 2 ||<br /> |-<br /> | 3 (1-B) || 3 ||<br /> |-<br /> | 4 (2-B) || 4 ||<br /> |-<br /> | 5 (1-C) || 5 || Gamepad LED #1 + #4<br /> |-<br /> | 6 (2-C) || 6 || Gamepad LED #2 + #4<br /> |-<br /> | 7 (1-D) || 7 || Gamepad LED #3 + #4<br /> |-<br /> |}<br /> <br /> ==Peripheral support==<br /> ===ps2_emu.self / ps2_gxemu.self===<br /> #Hub<br /> #Mouse<br /> #Keyboard<br /> #EyeToy<br /> #Head Mount Display<br /> #Mic<br /> #Ascii Mic<br /> #Socom USB Headset<br /> #Usb Headset<br /> #Sea Mic Controller<br /> #Force Feedback device<br /> #GT Force<br /> #Momo Force<br /> #Driving Force Pro<br /> #G25/G27<br /> #Momo Racing<br /> #Flight Force<br /> #Force 3D Pro<br /> #Modem<br /> #Guncon2<br /> #Densya de GO! controller type 2<br /> #Densya de GO! Sincansen senyou controller<br /> #Capture Eye<br /> #Flight Stick<br /> #Flight Stick 2<br /> #Pop Egg<br /> #Trance Vibrator<br /> #PSP<br /> #Compact Flight Controller<br /> #Flash Memory<br /> #Buzz!<br /> #Pachi-Slot Controller Kurouto<br /> #Usb Adapter<br /> #Guncon3<br /> #Multi Train Controller<br /> #Para Para Paradise controller<br /> <br /> ===ps2_netemu.self===<br /> #BD Remote Control<br /> #PLAYSTATION(R)3 Controller (Vendor ID 0x54C, Product ID 0x268), <br /> #Motion Controller - Move (Vendor ID 0x54C, Product ID 0x3D5), <br /> #Navigation Controller (Vendor ID 0x54C, Product ID 0x42F)<br /> #&quot;guncon3&quot;<br /> &lt;br/&gt;<br /> Unknown: <br /> #Vendor ID 0xF0D (Hori), Product ID 0x4A <br /> #Vendor ID 0x54C (Sony), Product ID 0x5AF<br /> &lt;br/&gt;<br /> Few peripherals not listed above work fine or with issues.<br /> #PS3 Dance Dance Revolution Dance Pad - not ps2 accessory, opposite arrows can't be pressed at the same time.<br /> #Pop'N Music controllers - Require PS2 to USB converter. Wrong button mappings can be fixed by remap in config file.<br /> <br /> ==BIOS==<br /> ===ps2_netemu.self===<br /> Ps2_netemu use integrated PS2 bios included in ps2netemu.elf, not additional file like in ps1_emu. In 4.81 firmware BIOS is located from 0x820A00 to 0x9F09FF (0x820900 to 0x9F08FF in fw4.50). Bios version is Developement v2.20 (22/01/2007).<br /> <br /> Notable thing is that ps2_netemu use the same bios as ps2_gxemu, and ps2onps4. ps2_netemu not boot using ps2_emu bios because of failing RDRAM check. <br /> <br /> ===Content===<br /> Files included in ps2_netemu/ps2_gxemu bios.<br /> <br /> {| class=&quot;wikitable&quot; style=&quot;font-size:small;&quot;<br /> |-<br /> ! File !! Offset in fw4.81 ps2_netemu !! Offset in exported bin !! Description !! File type (exportable)<br /> |-<br /> | RESET || 0x820A00 || 0x00 || Bootstrap code for the EE and IOP. || BIN<br /> |-<br /> | ROMDIR || 0x823180 || 0x2780 || The ROMDIR part of the ROM image, which provides information on the location and name of files contained in the image. || BIN<br /> |-<br /> | EXTINFO || 0x8236C0 || 0x2CC0 || Contains the &quot;EXTINFO&quot; for all files in the ROM image. || BIN<br /> |-<br /> | SBIN || 0x823D30 || 0x3330 || Seems to be the pad controller library for the PS1 monitor. || BIN<br /> |-<br /> | LOGO || 0x82ACD0 || 0xA2D0 || PS1 logo? || BIN<br /> |-<br /> | IOPBTCONF || 0x83F420 || 0x1EA20 || Boot configuration file for the IOP, during the final phase of the IOP reset. If no UDNL module is specified, the IOP will only have a single IOP reset in the reboot process, with the modules listed in IOPBTCONF. || BIN<br /> |-<br /> | IOPBTCON2 || 0x83F510 || 0x1EB10 || Boot configuration file for the IOP, for the first phase of the IOP reset (before UDNL is loaded). || BIN<br /> |-<br /> | SYSMEM || 0x83F5E0 || 0x1EBE0 || System Memory Manager. || ELF<br /> |-<br /> | LOADCORE || 0x840800 || 0x1FE00 || The core of IOP module loading. Provides the lowest level of IOP module loading functions. Also handles the startup of the IOP. || ELF<br /> |-<br /> | EXCEPMAN || 0x842D80 || 0x22380 || Exception manager. || ELF<br /> |-<br /> | INTRMANP || 0x843960 || 0x22F60 || Interrupt Manager. According to wisi, it is for PS mode. || ELF<br /> |-<br /> | INTRMANI || 0x845370 || 0x24970 || Interrupt Manager. According to wisi, it is for IOP mode. || ELF<br /> |-<br /> | SSBUSC || 0x8471B0 || 0x267B0 || SSBUS Controller library. The SSBUS seems to be the bus that all peripherals get connected to. It seems to have the power to control the mapping of the device registers, as well as access timing. || ELF<br /> |-<br /> | TIMEMANP || 0x847920 || 0x26F20 || Timer Manager (PS mode) || ELF<br /> |-<br /> | TIMEMANI || 0x848500 || 0x27B00 || Timer Manager (IOP mode) || ELF<br /> |-<br /> | DMACMAN || 0x849130 || 0x28730 || DMA Controller Manager. || ELF<br /> |-<br /> | SYSCLIB || 0x84C830 || 0x2BE30 || System C Library. || ELF<br /> |-<br /> | HEAPLIB || 0x84EF90 || 0x2E590 || Memory HEAP LIBrary (i.e. thvpool, thfpool) || ELF<br /> |-<br /> | THREADLIB || 0x84FC90 || 0x2F290 || Multi_Thread_Manager || ELF<br /> |-<br /> | VBLANK || 0x858A20 || 0x38020 || V-Blank management || ELF<br /> |-<br /> | IOMAN || 0x8597B0 || 0x38DB0 || IO Manager || ELF<br /> |-<br /> | MODLOAD || 0x85B720 || 0x3AD20 || IOP module loader. || ELF<br /> |-<br /> | ROMDRV || 0x85DA70 || 0x3D070 || ROM driver. Provides access to the boot ROM (rom0). || ELF<br /> |-<br /> | ADDDRV || 0x85E960 || 0x3DF60 || Adds support for the DVD ROM (rom1:), via ROMDRV. || ELF<br /> |-<br /> | STDIO || 0x85EDC0 || 0x3D3C0 || Standard I/O library. || ELF<br /> |-<br /> | SIFMAN || 0x85F9B0 || 0x3EFB0 || SIF manager. || ELF<br /> |-<br /> | SIFINIT || 0x860F50 || 0x40550 || Initializes the SIF. || ELF<br /> |-<br /> | EESYNC || 0x861370 || 0x40970 || For synchronizing with the EE, at the end of IOP resets. EESYNC from DNAS images are evil; they also perform a memory wipe of the region from 0x00084000 to .0x00100000. || ELF<br /> |-<br /> | EENULL || 0x861810 || 0x40E10 || The idle thread (id #0) module, in ps2 loaded to 0x00081FC0. || BIN<br /> |-<br /> | PS1ID || 0x861850 || 0x40E50 || Only found in newer boot ROMs || BIN<br /> |-<br /> | LIBFI || 0x861860 || 0x40E60 || Not present in the boot ROM of the SCPH-10000 and SCPH-15000. || BIN<br /> |-<br /> | PS1VERJ || 0x861950 || 0x40F50 || || BIN<br /> |-<br /> | PS1VERA || 0x861960 || 0x40F60 || || BIN<br /> |-<br /> | PS1VERE || 0x861970 || 0x40F70 || || BIN<br /> |-<br /> | PS1VERC || 0x861980 || 0x40F80 || || BIN<br /> |-<br /> | PS1VERH || 0x861990 || 0x40F90 || || BIN<br /> |-<br /> | OSDSYS || 0x8619A0 || 0x40FA0 || The browser || BIN<br /> |-<br /> | - || 0x8619B0 || 0x40FB0 || || BIN<br /> |-<br /> | RDRAM || 0x861A00 || 0x41000 || Provides a RDRAM test for the EE at power-on. This is run from RESET. || BIN<br /> |-<br /> | - || 0x864190 || 0x43A30 || || BIN<br /> |-<br /> | EELOADCNF || 0x864200 || 0x43D50 || Contains the IOP boot configuration file for EELOAD. || BIN<br /> |-<br /> | SIFCMD || 0x864900 || 0x43F00 || SIF command module. Contains the SIF command and SIF RPC functions. || ELF<br /> |-<br /> | REBOOT || 0x866B40 || 0x46140 || The reboot service. Receives IOP reset packets from the EE, from across the SIF. || ELF<br /> |-<br /> | LOADFILE || 0x867310 || 0x46910 || The RPC server for MODLOAD || ELF<br /> |-<br /> | EECONF || 0x869A70 || 0x49070 || Loads part of the system configuration from the MECHACON EEPROM. Also configures and resets some peripherals, depending on the model version. In slimlines, and possibly on PS3 EECONF will also load the MAC address. || ELF<br /> |-<br /> | - || 0x86A9F0 || 0x49FF0 || || BIN<br /> |-<br /> | IOPBOOT || 0x86AA00 || 0x4A000 || IOP bootup program || BIN<br /> |-<br /> | - || 0x86BB60 || 0x4B160 || || BIN<br /> |-<br /> | TBIN || 0x86C200 || 0x4B800 || The PS1 monitor program. Seems to be the PS1 BIOS. This is started by RESET, when the IOP is in PS1 mode. || BIN<br /> |-<br /> | XSHA1 || 0x87A170 || 0x59770 || sha1 - this only present in PS3. It is used as additional antipiracy check. It seems that it calculate disc main elf checksum and compares it with some database. Config related?|| ELF<br /> |-<br /> | XLOADFILE || 0x87B140 || 0x5A740 || Updated module || ELF<br /> |-<br /> | SIO2MAN || 0x87E1F0 || 0x5D7F0 || SIO2 manager. Provides access to the SIO2 interface. || ELF<br /> |-<br /> | - || 0x87FE20 || 0x5F420 || || BIN<br /> |-<br /> | BNNETCNF || 0x881D00 || 0x61300 || Network configuration. Used by BB Navigator Network Configuration Library. || BIN<br /> |-<br /> | MCSERV || 0x881D40 || 0x61340 || RPC server for MCMAN. || ELF<br /> |-<br /> | - || 0x883A40 || 0x63040 || || BIN<br /> |-<br /> | KROMG || 0x884A00 || 0x64000 || || BIN<br /> |-<br /> | - || 0x8866C0 || 0x65CC0 || || BIN<br /> |-<br /> | KROM || 0x886A30 || 0x66030 || Kanji ROM? Not sure where this is used. || BIN<br /> |-<br /> | - || 0x8A0870 || 0x7FE70 || || BIN<br /> |-<br /> | ROMVER || 0x8A0900 || 0x7FF00 || ROM version. || BIN<br /> |-<br /> | - || 0x8A0910 || 0x7FF10 || || BIN<br /> |-<br /> | VERSTR || 0x8A0930 || 0x7FF30 || Version string. Probably PS1 ROM will use this because that this string is also present in PlayStation consoles. || BIN<br /> |-<br /> | - || 0x8A0990 || 0x7FF90 || || BIN<br /> |-<br /> | ROMGSCRT || 0x8A0A00 || 0x80000 || || BIN<br /> |-<br /> | NCDVDMAN || 0x8A3730 || 0x82D30 || It seems to be a heavily stripped-down CDVDMAN module, with no support for some S-command functions like sceCdRI. || ELF<br /> |-<br /> | SECRMAN || 0x8B0170 || 0x8F770 || Security Manager. Signing is NOT done with the one in ROM, but with a special version that comes with the utility discs. Looks like PS3 units have a different SECRMAN module from retail sets, similar to PS2 TOOL one. || ELF<br /> |-<br /> | MCMAN || 0x8B4630 || 0x93C30 || Memory Card Manager. || ELF<br /> |-<br /> | PADMAN || 0x8C3AC0 || 0xA30C0 || Pad manager. || ELF<br /> |-<br /> | CDVDMAN || 0x8CD210 || 0xAC810 || The CD/DVD manager. || ELF<br /> |-<br /> | CDVDFSV || 0x8D55C0 || 0xB4BC0 || The RPC server for CDVDMAN. || ELF<br /> |-<br /> | FILEIO || 0x8DD980 || 0xBCF80 || RPC server for IOMAN. Sony has greatly changed the semantics and design of FILEIO after some point. Connecting an old FILEIO EE RPC client to a newer server will result in a severe IOP crash. || ELF<br /> |-<br /> | CLEARSPU || 0x8DFA80 || 0xBF080 || Seems to clear/reset the SPU, but is known to cause crashes under some conditions. Not sure if it's buggy or not. Only used by the OSDSYS of the SCPH-10000 and SCPH-15000, probably retained for backward-compatibility. || ELF<br /> |-<br /> | UDNL || 0x8E16C0 || 0xC0CC0 || It is responsible for selecting the modules and starting the IOP, during the final phase of the IOP reset where the desired modules are to be loaded into the IOP. || ELF<br /> |-<br /> | IGREETING || 0x8E35C0 || 0xC2BC0 || Displays boot information (i.e. IOP boot type, EBOOTP, IBOOTP, switch positions for DSW602 and the type of DSW602 board installed || ELF<br /> |-<br /> | EELOAD || 0x8E4620 || 0xC3C20 || The EE ELF loader, which is loaded by LoadExecPS2() to 0x00082000 in PS2 for loading ELFs. || BIN<br /> |-<br /> | XCDVDMAN || 0x8F37A0 || 0xD2DA0 || cdvd_driver - Updated module || ELF<br /> |-<br /> | XCDVDFSV || 0x902530 || 0xE1B30 || cdvd_ee_driver - Updated module || ELF<br /> |-<br /> | OSDSND || 0x910960 || 0xEFF60 || OSD sound library. This is actually the tentative sound driver, which is called &quot;librspu2&quot; in the Sony SDK. || ELF<br /> |-<br /> | PS2LOGO || 0x93B5B0 || 0x11ABB0 || Displays the PlayStation 2 logo from the inserted disc. For newer consoles, if the logo cannot be decrypted properly, it will fall back to the browser. Not actually required to boot games, but the Sony OSDSYS boots PS2 games through this program. || ELF<br /> |-<br /> | XPARAM2 || 0x957F00 || 0x137500 || Store IOP emulation settings/flags || ELF<br /> |-<br /> | OSDSYS || 0x95A400 || 0x139A00 || The browser, in ps3 is stripped to parse xparam2. No real browser here. || BIN<br /> |-<br /> | PIOPRP || 0x998280 || 0x177880 || Present in the PS3 ps2_(gx/soft/net)emu; contains version 3.1.0 of the IOP software (compared to version 1.3.4 on the root). || BIN<br /> |-<br /> | KERNEL || 0x9DC1E0 || 0x1BB7E0 || The EE kernel || BIN<br /> |}<br /> Description source: https://gist.github.com/uyjulian/25291080f083987d3f3c134f593483c5<br /> <br /> ===Bios region patch===<br /> <br /> Emulator patch loaded bios image to set proper region based on target_id, and string (separated for readability):<br /> JJjpnJJ AAengAUU EEengEEE EEengEOA HHengJAG ERengERD CCschJCC HKkorJAG HHtchJAG AAspaAMM<br /> Note: Additional space after first set is intentional and exist also in full string.&lt;br&gt;&lt;br&gt;<br /> '''Target id to region pairing:'''<br /> * JJjpnJJ for 0x83<br /> * AAengAUU for 0x84 , others (DECR, etc.)<br /> * EEengEEE for 0x85 , 0x87 (also forced if game id from SYSTEM.CNF is xxEx_yy.zzz)<br /> * HHengJAG for 0x86 , 0x8A , 0x8E<br /> * AAspaAMM for 0x88 , 0x8F<br /> * EEengEOA for 0x89<br /> * HHtchJAG for 0x8B<br /> * ERengERD for 0x8C<br /> * CCschJCC for 0x8D (unreleased PS3 Chinese model)<br /> * HKkorJAG unused<br /> <br /> Bios is patched using EE memory mapping addresses, so offset in file + 0x1FC00000.<br /> Using HKkorJAG example, addresses below are set to:<br /> <br /> * 0x1FC7FF04 = H (x in &quot;0220xD20121227&quot; string)<br /> * 0x1FC7FF14 = K<br /> * 0x1FC7FF15 = k<br /> * 0x1FC7FF16 = o<br /> * 0x1FC7FF17 = r<br /> * 0x1FC7FF52 = J (x in &quot;System ROM Version 5.0 12/27/12 x&quot; string)<br /> * 0x1FC7FF20 = A<br /> * 0x1FC7FF90 = G<br /> <br /> ==Virtual PS2 HDD==<br /> There are 2 different &quot;PS2 game&quot; contents that can be installed in PS3 HDD (CATEGORY's [[PARAM.SFO#CATEGORY_For_HDD_contents | 2P and 2G ]]).<br /> '''2P''' are games released from PSN as &quot;PS2 Classic&quot; in .PKG format, and '''2G''' are a few real &quot;PS2 DVD discs&quot; that can be installed in the PS3 HDD, this installation is managed by the '''PS2_system_data.pkg'''.<br /> <br /> This games can be installed in real PS2 (in the internall HDD of a PS2 fat)... later this same installation was used in the [http://en.wikipedia.org/wiki/PSX_(DVR) PSX]... and when implemented in PS3 there was needed to use a '''virtual PS2 HDD''' image file keeping the same format than the original HDD used in PS2.<br /> <br /> Game files (extracted from the real PS2 disc) are installed in a '''IMAGE.DAT''' file, this file is a 1:1 &quot;raw copy&quot; of a PS2 HDD.<br /> <br /> This '''IMAGE.DAT''' is placed in the &quot;install folder&quot; (inside USRDIR folder) and his size can vary up to 10+GB<br /> <br /> There are 2 different installations: the most common is used to store &quot;game expansions&quot; (e.g: used by additional content in SOCOM games)... the other type of installation is a &quot;full install&quot; and it seems the only game that uses it is &quot;Final Fantasy XI&quot; (main game installation when the game boots for first time + game expansions added later when needed in the same '''IMAGE.DAT''')<br /> <br /> '''PS2_system_data.pkg''' itself uses an '''IMAGE.DAT''' file (6.43 MB)<br /> <br /> The structure of this &quot;virtual PS2 HDD&quot; uses an &quot;APA header&quot; and a &quot;APA MBR&quot; + several &quot;APA partitions&quot;, some of them containing &quot;PFS filesystems&quot;.<br /> <br /> Error message trying to boot a CATEGORY &quot;2G&quot; game with hand-made SFO's and invalid IMAGE.DAT file:<br /> '''The game partition for this game cannot be created because the installed game is corrupted.'''<br /> '''To perform this operation, delete the game, and then reinstall the game using the disc.'''<br /> <br /> *Notes<br /> **List of PS2 disc games compatibles with PS3 HDD installation hardcoded in '''dev_flash/vsh/module/[[game_ext_plugin]].sprx'''<br /> **Virtual PS2 HDD support module '''dev_flash/vsh/module/[[libps2hdd]].sprx''' ?<br /> <br /> ===PS2 System Data (PSN HDD Tool package)===<br /> A direct link to the package can be found in NoPayStation database in DLCs<br /> <br /> Content ID: IP9100-NPIA00001_00-PS2HDDSYSDAT0001<br /> QA Digest: 2A876715D42678BB7A6E00C030C0121B<br /> HASH: E1B0DBE46FC44190DC7A140681D8B9D4<br /> <br /> http://manuals.playstation.net/document/en/ps3/current/game/hddinstall.html<br /> <br /> '''Titles supporting HDD installation'''<br /> * Nobunaga's Ambition Online and Expansion Packs<br /> * Final Fantasy XI (disc1=SCUS97266 disc2=SCUS97269)and Expansion Discs<br /> * SOCOM II: U.S. NAVY SEALs and Related discs included with OPM Issue 87, OPM Issue 88, OPM Issue 89, OPM Issue 90<br /> * SOCOM 3: U.S. NAVY SEALs<br /> * SOCOM: U.S. NAVY SEALs Combined Assault<br /> * Front Mission Online<br /> * Official PlayStation Magazine Issue 87, 88, 89, 90 Discs<br /> ([[Talk:Emulation#PS2_HDD | non-official ps2hdd gameslist ]])<br /> <br /> ===TitleID/DiscID in game_ext_plugin.sprx===<br /> <br /> Mainly Final Fantasy 11, Nobunaga Ambition Online, Socom IDs and the required HDD Gigabyte amount for install onto the internal hdd.<br /> <br /> Speculation: flags are AND' with 0,1,2 (selected from sys_sm_get_hw_config according to ps2emu hardware flags? 0 = no hw?, 1 = gxemu?, 2=full hw? )<br /> <br /> {| class=&quot;wikitable&quot; style=&quot;font-size:small;&quot;<br /> ! Flags !! DiscID !! Alternative? DiscID !! GigaByte !! Title !! 0 = VMC&lt;br&gt;1 = IMAGE.DAT !! Internal Name? !! GigaByte<br /> |-<br /> | rowspan=&quot;9&quot; | 0xFFFF || SLPS20200 || rowspan=&quot;9&quot; | SLPS25200 || rowspan=&quot;9&quot; | 0x15 || rowspan=&quot;9&quot; | FINAL FANTASY XI || rowspan=&quot;9&quot; | 1 || rowspan=&quot;9&quot; | PP.SLPM-25200.MAGIC.APPLICATION || rowspan=&quot;9&quot; | 0x15<br /> |-<br /> | SLPM65705<br /> |-<br /> | SLPM65706<br /> |-<br /> | SLPM65953<br /> |-<br /> | SLPM66393<br /> |-<br /> | SLPM66394<br /> |-<br /> | SLPM66893<br /> |-<br /> | SLPM66894<br /> |-<br /> | SLPM55229<br /> |-<br /> |rowspan=&quot;4&quot; | 0x0001 || SLPM65197 || rowspan=&quot;4&quot; | SLPM65197 || rowspan=&quot;4&quot; | 0x07 || rowspan=&quot;4&quot; | 信長の野望 Online || rowspan=&quot;4&quot; | 1 || rowspan=&quot;4&quot; | PP.SLPM-65197.MAGIC.APPLICATION || rowspan=&quot;4&quot; | 0x07<br /> |-<br /> | SLPM65783<br /> |-<br /> | SLPM66539<br /> |-<br /> | SLPM66954<br /> |-<br /> |rowspan=&quot;5&quot; | 0xFFFF || SCUS97269 || rowspan=&quot;5&quot; | SCUS97269 || rowspan=&quot;5&quot; | 0x15 || rowspan=&quot;5&quot; | FINAL FANTASY XI || rowspan=&quot;5&quot; | 1 || rowspan=&quot;5&quot; | PP.SCUS-97266.MAGIC.APPLICATION || rowspan=&quot;5&quot; | 0x15<br /> |-<br /> | SLUS21070<br /> |-<br /> | SLUS21404<br /> |-<br /> | SLUS21694<br /> |-<br /> | SLUS21704<br /> |-<br /> |rowspan=&quot;7&quot; | 0xFFFF || SCUS97275 || rowspan=&quot;7&quot; | SCUS97275 || rowspan=&quot;7&quot; | 0x02 || rowspan=&quot;7&quot; | SOCOM || rowspan=&quot;7&quot; | 0 || rowspan=&quot;7&quot; | PP.SCUS-97275..SOCOM_II || rowspan=&quot;7&quot; | 0x02<br /> |-<br /> | SCUS97474<br /> |-<br /> | SCUS97340<br /> |-<br /> | SCUS97341<br /> |-<br /> | SCUS97342<br /> |-<br /> | SCUS97442<br /> |-<br /> | SCUS97545<br /> |}<br /> <br /> In PS2 Emulator same Title IDs are present with following information: <br /> SLPS25200 FINAL FANTASY XI : 0x100000000 (4 GB?)<br /> SCUS97269 FINAL FANTASY XI : 0x300000000 (12GB?)<br /> SLPM65981 Front Mission Online : 0x100000000 (4 GB?)<br /> SLPM65197 Nobunagas Ambition Online : 0x200000000 (8 GB?)<br /> <br /> ==Emulators management from GameOS==<br /> <br /> ===Mountpoints===<br /> dev_ps2disc<br /> dev_ps2disc1 <br /> <br /> ===ps2_netemu syscalls ===<br /> Vector at 0xC00 address.<br /> 0x00 -<br /> 0 = exec smth, <br /> 1 = 0x132 lv1 panic<br /> 2 = 0x133 lv1 panic<br /> 3 = 0x134 lv1 panic<br /> 4 = 0x135 lv1 panic<br /> else = 0x136 lv1 panic<br /> 0x02 - Destroy init code and perform illegal instructions check. Memzero following addresses:<br /> CODE: 0x16000 - 0x20B80<br /> DATA: 0x930F80 - 0x933F80<br /> UNK: 0x3D016000 - 0x3D020B80<br /> 0x03 - Enable additional code related to VU0/COP2.<br /> 3 = Patch 0x186C10 to NOP<br /> 4 = Patch 0x186C40 to NOP<br /> anything else = LV1 panic<br /> 0x04 - Unknown. Available for HW0 only. <br /> 0x05 - External interrupt disable (48 bit in MSR).<br /> 0x06 - External interrupt enable (48 bit in MSR) with param 0x8000, otherwise do nothing.<br /> 0x0A - IPU emulation related syscall<br /> 0x0B - IPU emulation related syscall<br /> 0x0C - Used in PS2 COP0 MTC0/MFC0 r9/r25 (count/perf), decrementer/timing related, return value in r15.<br /> Config CMD 0x17 disable that syscall for r9 (count) r/w, and alternative path is used. Perf r/w still use it.<br /> 0x10 - lv1 panic.<br /> 0x1002 - Invalidate gpu hvcalls.<br /> 0x800000XX - HV Syscall where XX is syscall nr.<br /> else (other syscalls) - jump to 0x12670 (FW4.78 - current) for HW_0<br /> jump to 0x12050 (FW4.78 - current) for HW_1 <br /> <br /> List of used HV syscalls:<br /> <br /> 0x80000000 - [[HV_Syscall_Reference#lv1_allocate_memory]]<br /> 0x80000001 - [[HV_Syscall_Reference#lv1_write_htab_entry]]<br /> 0x80000002 - [[HV_Syscall_Reference#lv1_construct_virtual_address_space]]<br /> 0x80000007 - [[HV_Syscall_Reference#lv1_select_virtual_address_space]]<br /> 0x80000009 - [[HV_Syscall_Reference#lv1_pause]]<br /> 0x8000000F - [[HV_Syscall_Reference#lv1_put_iopte]]<br /> 0x80000012 - [[HV_Syscall_Reference#lv1_construct_event_receive_port]]<br /> 0x8000001A - [[HV_Syscall_Reference#lv1_detect_pending_interrupts]]<br /> 0x8000001B - [[HV_Syscall_Reference#lv1_end_of_interrupt]]<br /> 0x8000001C - [[HV_Syscall_Reference#lv1_connect_irq_plug]]<br /> 0x80000039 - [[HV_Syscall_Reference#lv1_construct_logical_spe]]<br /> 0x8000003D - [[HV_Syscall_Reference#lv1_set_spe_interrupt_mask]]<br /> 0x80000042 - [[HV_Syscall_Reference#lv1_clear_spe_interrupt_status]]<br /> 0x80000043 - [[HV_Syscall_Reference#lv1_get_spe_interrupt_status]]<br /> 0x80000045 - [[HV_Syscall_Reference#lv1_get_logical_ppe_id]]<br /> 0x80000049 - [[HV_Syscall_Reference#lv1_set_interrupt_mask]]<br /> 0x8000004A - [[HV_Syscall_Reference#lv1_get_logical_partition_id]]<br /> 0x8000004E - [[HV_Syscall_Reference#lv1_get_spe_irq_outlet]]<br /> 0x8000005B - [[HV_Syscall_Reference#lv1_get_repository_node_value]]<br /> 0x8000005F - [[HV_Syscall_Reference#lv1_read_htab_entries]]<br /> 0x80000061 - [[HV_Syscall_Reference#lv1_set_vmx_graphics_mode]]<br /> 0x80000062 - [[HV_Syscall_Reference#lv1_set_thread_switch_control_register]]<br /> 0x80000074 - [[HV_Syscall_Reference#lv1_allocate_io_segment]]<br /> 0x80000076 - [[HV_Syscall_Reference#lv1_allocate_ioid]]<br /> 0x80000078 - [[HV_Syscall_Reference#lv1_construct_io_irq_outlet]]<br /> 0x8000007C - [[HV_Syscall_Reference#lv1_undocumented_function_124]]<br /> 0x8000007D - [[HV_Syscall_Reference#lv1_undocumented_function_125]]<br /> 0x8000007E - [[HV_Syscall_Reference#lv1_undocumented_function_126]]<br /> 0x80000088 - [[HV_Syscall_Reference#lv1_undocumented_function_136]]<br /> 0x8000008C - [[HV_Syscall_Reference#lv1_construct_lpm]]<br /> 0x8000008D - [[HV_Syscall_Reference#lv1_destruct_lpm]]<br /> 0x8000008E - [[HV_Syscall_Reference#lv1_start_lpm]]<br /> 0x8000008F - [[HV_Syscall_Reference#lv1_stop_lpm]]<br /> 0x80000090 - [[HV_Syscall_Reference#lv1_copy_lpm_trace_buffer]]<br /> 0x80000091 - [[HV_Syscall_Reference#lv1_add_lpm_event_bookmark]]<br /> 0x80000092 - [[HV_Syscall_Reference#lv1_delete_lpm_event_bookmark]]<br /> 0x80000093 - [[HV_Syscall_Reference#lv1_set_lpm_interrupt_mask]]<br /> 0x80000094 - [[HV_Syscall_Reference#lv1_get_lpm_interrupt_status]]<br /> 0x80000095 - [[HV_Syscall_Reference#lv1_set_lpm_general_control]]<br /> 0x80000096 - [[HV_Syscall_Reference#lv1_set_lpm_interval]]<br /> 0x80000097 - [[HV_Syscall_Reference#lv1_set_lpm_trigger_control]]<br /> 0x80000098 - [[HV_Syscall_Reference#lv1_set_lpm_counter_control]]<br /> 0x80000099 - [[HV_Syscall_Reference#lv1_set_lpm_group_control]]<br /> 0x8000009A - [[HV_Syscall_Reference#lv1_set_lpm_debug_bus_control]]<br /> 0x8000009B - [[HV_Syscall_Reference#lv1_set_lpm_counter]]<br /> 0x8000009C - [[HV_Syscall_Reference#lv1_set_lpm_signal]]<br /> 0x8000009D - [[HV_Syscall_Reference#lv1_set_lpm_spr_trigger]]<br /> 0x800000A3 - [[HV_Syscall_Reference#lv1_write_virtual_uart]]<br /> 0x800000A4 - [[HV_Syscall_Reference#lv1_set_virtual_uart_param]]<br /> 0x800000A5 - [[HV_Syscall_Reference#lv1_get_virtual_uart_param]]<br /> 0x800000A6 - [[HV_Syscall_Reference#lv1_configure_virtual_uart_irq]]<br /> 0x800000AA - [[HV_Syscall_Reference#lv1_open_device]]<br /> 0x800000AB - [[HV_Syscall_Reference#lv1_close_device]]<br /> 0x800000AC - [[HV_Syscall_Reference#lv1_map_device_mmio_region]]<br /> 0x800000AE - [[HV_Syscall_Reference#lv1_allocate_device_dma_region]]<br /> 0x800000AF - [[HV_Syscall_Reference#lv1_free_device_dma_region]]<br /> 0x800000B0 - [[HV_Syscall_Reference#lv1_map_device_dma_region]]<br /> 0x800000B1 - [[HV_Syscall_Reference#lv1_unmap_device_dma_region]]<br /> 0x800000B2 - [[HV_Syscall_Reference#lv1_read_pci_config]]<br /> 0x800000B3 - [[HV_Syscall_Reference#lv1_write_pci_config]]<br /> 0x800000C5 - [[HV_Syscall_Reference#lv1_connect_interrupt_event_receive_port]]<br /> 0x800000CF - [[HV_Syscall_Reference#lv1_enable_logical_spe]]<br /> 0x800000D2 - [[HV_Syscall_Reference#lv1_gpu_open]]<br /> 0x800000D4 - [[HV_Syscall_Reference#lv1_gpu_device_map]]<br /> 0x800000D6 - [[HV_Syscall_Reference#lv1_gpu_memory_allocate]]<br /> 0x800000D9 - [[HV_Syscall_Reference#lv1_gpu_context_allocate]]<br /> 0x800000DD - [[HV_Syscall_Reference#lv1_gpu_context_iomap]]<br /> 0x800000E1 - [[HV_Syscall_Reference#lv1_gpu_context_attribute]]<br /> 0x800000E3 - [[HV_Syscall_Reference#lv1_gpu_context_intr]]<br /> 0x800000E4 - [[HV_Syscall_Reference#lv1_gpu_attribute]]<br /> 0x800000F5 - [[HV_Syscall_Reference#lv1_storage_read]]<br /> 0x800000F6 - [[HV_Syscall_Reference#lv1_storage_write]]<br /> 0x800000F9 - [[HV_Syscall_Reference#lv1_storage_get_async_status]]<br /> 0x800000FF - [[HV_Syscall_Reference#lv1_panic]]<br /> <br /> ===LPAR / AUTH ID's===<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Name !! Auth ID !! Self&lt;br /&gt;(/dev_flash/ps2emu) !! Notes<br /> |-<br /> | PS2_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_emu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2 || 0x107000001D000001 || <br /> |-<br /> | PS2_GX_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_gxemu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2_GX || 0x107000001D000001 || <br /> |-<br /> | PS2_SW_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_softemu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2_SW || 0x107000001D000001 || <br /> |-<br /> | PS2_NE_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_netemu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2_NE || 0x107000001D000001 || <br /> |-<br /> |}<br /> <br /> ===Getting compatibility hardware info===<br /> See: [[PS2_Compatibility#Software]]<br /> <br /> ===ps2bootparam.dat===<br /> A file created at path: dev_hdd0/tmp/game/'''ps2bootparam.dat'''<br /> *See: [[ps2bootparam.dat]]&lt;!--we need this page because we have others like that in wiki--&gt;<br /> <br /> ===Cobra core===<br /> taken from storage_ext.c<br /> &lt;pre&gt; patch_ps2emu_entry(ps2emu_type); &lt;/pre&gt;<br /> *sets proper ps2_(gx/soft)emu.self path for reboot<br /> *patches ss_storage service 0x5004 disc checks on ss_server3.self inside lv1<br /> (Change from Parameter li r3, 2 and li r3, 1E (Drive Authentification) to li r3, 0x29 (Reset Drive))<br /> *and the usual either replace read/ioctl for iso etc.<br /> <br /> ==Game CONFIG==<br /> Some of the PS2 emulator types (such ps2_gxemu.self, ps2netemu.self) are able to load config commands that are applyed &quot;by game ID&quot;. The concept of &quot;game patches&quot; is not technically correct because some of the commands does patching functions but others does other things (not patching), and other commands works as switches or sets a value that are enviromental settings for the emulator (not for the game) but because are applyed &quot;by game&quot; should be considered enviromental settings for that specific game, so for simplification purposes you can think in all this data as &quot;game configs&quot;<br /> <br /> This &quot;game config&quot; data seems to work in the same way for all the PS2 emulator types but can be located in different places, some are hardcoded inside the emulators itself (inside the .self), and at the time the &quot;PS2 classics&quot; emulator (ps2_netemu.self) was developed this config can be loaded from an external file&lt;!--and there is some more inside some .sprx or inside the ps2 hdd data pkg ?--&gt;<br /> <br /> In short, the &quot;game configs&quot; can modify the game image (by patching it) and can be used to configure the virtual PS2 (the emulated machine). And can be loaded from hardcoded data (inside the .self) or from an external file (this feature is supported only by ps2_netemu.self). Maximum CONFIG size for ps2_netemu is 16384 bytes.<br /> <br /> The config data consists in a list of concatenated values of 8 bytes length (uint32_t), and can be processed like this:<br /> union{<br /> uint32_t command<br /> ...data...<br /> }<br /> <br /> ===Config Commands===<br /> ps2_netemu.self fw4.50 sub_12D7D8, fw4.81 sub_12E050<br /> params are uint32_t unless noted.<br /> <br /> At the time of writing this, most of the commands are completely or partially unknown.&lt;br /&gt;<br /> If you want to read some speculation and brainstorming about them, please join the {{talk}} page<br /> <br /> {| class=&quot;wikitable&quot; style=&quot;font-size:85%; line-height:100%; text-align:center&quot;<br /> |+PS2 Emulators Config Commands Overview<br /> ! rowspan=&quot;2&quot; | Command Name !! colspan=&quot;3&quot; | Command ID !! rowspan=&quot;2&quot; style=&quot;padding:1px&quot; | Max&lt;br&gt;Usage !! colspan=&quot;4&quot; | Command Data<br /> |-<br /> ! style=&quot;padding:1px&quot; | gxemu !! style=&quot;padding:1px&quot; | softemu !! style=&quot;padding:1px&quot; | netemu !! Length !! colspan=&quot;3&quot; | Params<br /> |-<br /> ! {{cellcolors|#c96|#000}} TitleID enforce<br /> | {{NA}} || {{NA}} || 0x00<br /> | 1 || style=&quot;text-align:left&quot; | char[10]<br /> | colspan=&quot;3&quot; {{cellcolors|#c96|#000|center}} titleid<br /> |-<br /> ! {{cellcolors|#555|#fff}} Hook EE memory offset with emu function ID<br /> | 0x00 || 0x00 || 0x01<br /> | 3 ? || style=&quot;text-align:left&quot; | 2&amp;nbsp;*&amp;nbsp;uint32_t<br /> | {{cellcolors|#555|#fff|center}} offset || colspan=&quot;2&quot; {{cellcolors|#555|#fff|center}} functionid<br /> |-<br /> ! {{cellcolors|#fff|#000}} Set something<br /> | 0x01 || 0x01 || 0x02<br /> | 1 || style=&quot;text-align:left&quot; | uint32_t<br /> | colspan=&quot;3&quot; | ?<br /> |-<br /> ! {{cellcolors|#fff|#000}} Switch something<br /> | 0x02 || 0x02 || 0x03<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#bd5|#000}} Patch something in SP3 EEDMA<br /> | 0x03 || 0x03 || 0x04<br /> | 1 || style=&quot;text-align:left&quot; | uint32_t<br /> | colspan=&quot;3&quot; | ?<br /> |-<br /> ! {{cellcolors|#bd5|#000}} Set DIRECT/DIRECTHL VIF1 in SP3 EEDMA<br /> | 0x04 || 0x04 || {{cellcolors|#eee|#b44|center}} &lt;abbr style=&quot;cursor:help; text-decoration:none&quot; title=&quot;Not Available&quot;&gt;0x05&lt;/abbr&gt;<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#fff|#000}} Switch something<br /> | 0x05 || 0x05 || 0x06<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#c96|#000}} Delay VU xgkick by X cycles<br /> | 0x06 || 0x06 || 0x07<br /> | 1 || style=&quot;text-align:left&quot; | uint32_t<br /> | colspan=&quot;3&quot; {{cellcolors|#c96|#000|center}} &lt;abbr title=&quot;2=2cycles, 4=4cycles, 8=8cycles&quot;&gt;cycles&lt;/abbr&gt;<br /> |-<br /> ! {{cellcolors|#c96|#000}} Patch VU memory by &lt;abbr title=&quot;two bit masks for original and patched data&quot;&gt;bitmask&lt;/abbr&gt;<br /> | 0x07 || 0x07 || 0x08<br /> | 3 || style=&quot;text-align:left&quot; | 8&amp;nbsp;*&amp;nbsp;uint32_t<br /> | colspan=&quot;3&quot; {{cellcolors|#c96|#000|center}} &lt;abbr title=&quot;read mask, read mask, original opcode, original opcode, write mask, write mask, replace opcode, replace opcode&quot;&gt;MASK&lt;/abbr&gt;<br /> |-<br /> ! {{cellcolors|#9f9|#000}} Patch EE memory with 2 opcodes<br /> | 0x08 || 0x08 || 0x09<br /> | &lt;abbr title=&quot;command&quot;&gt;1&lt;/abbr&gt;→&lt;abbr title=&quot;list&quot;&gt;32&lt;/abbr&gt; || style=&quot;text-align:left&quot; | uint32_t&amp;nbsp;+&amp;nbsp;LIST<br /> | {{cellcolors|#9f9|#000|center}} &lt;abbr title=&quot;amount of patches in the LIST&quot;&gt;count&lt;/abbr&gt; || colspan=&quot;2&quot; {{cellcolors|#9f9|#000|center}} &lt;abbr title=&quot;offset, original opcode, original opcode, replace opcode, replace opcode&quot;&gt;LIST&lt;/abbr&gt;<br /> |-<br /> ! {{cellcolors|#9f9|#000}} Patch EE memory with 1 opcode<br /> | {{NA}} || {{NA}} || 0x0A<br /> | &lt;abbr title=&quot;command&quot;&gt;1&lt;/abbr&gt;→&lt;abbr title=&quot;list&quot;&gt;32&lt;/abbr&gt; || style=&quot;text-align:left&quot; | uint32_t&amp;nbsp;+&amp;nbsp;LIST<br /> | {{cellcolors|#9f9|#000|center}} &lt;abbr title=&quot;amount of patches in the LIST&quot;&gt;count&lt;/abbr&gt; || colspan=&quot;2&quot; {{cellcolors|#9f9|#000|center}} &lt;abbr title=&quot;offset, original opcode, replace opcode&quot;&gt;LIST&lt;/abbr&gt;<br /> |-<br /> ! {{cellcolors|#9f9|#000}} Patch game disc by sector &amp; offset<br /> | 0x09 || 0x09 || 0x0B<br /> | &lt;abbr title=&quot;command&quot;&gt;1&lt;/abbr&gt;→&lt;abbr title=&quot;list&quot;&gt;47&lt;/abbr&gt; || style=&quot;text-align:left&quot; | uint32_t&amp;nbsp;+&amp;nbsp;LIST<br /> | {{cellcolors|#9f9|#000|center}} &lt;abbr title=&quot;amount of patches in the LIST&quot;&gt;count&lt;/abbr&gt; || colspan=&quot;2&quot; {{cellcolors|#9f9|#000|center}} &lt;abbr title=&quot;sector id, offset, sizeof present opcodes, replace opcodes, original opcodes&quot;&gt;LIST&lt;/abbr&gt;<br /> |-<br /> ! {{cellcolors|#fff|#000}} Set something<br /> | 0x0A || 0x0A || 0x0C<br /> | 1 || style=&quot;text-align:left&quot; | 2&amp;nbsp;*&amp;nbsp;uint16_t<br /> | &lt;abbr title=&quot;0=?, 1=?, 2=?&quot;&gt;unk_mode&lt;/abbr&gt; || colspan=&quot;2&quot; | &lt;abbr title=&quot;min 0x0, max 0xFFFF&quot;&gt;unk_range&lt;/abbr&gt;<br /> |-<br /> ! {{cellcolors|#fff|#000}} Set something<br /> | 0x0B || 0x0B || 0x0D<br /> | 1 || style=&quot;text-align:left&quot; | uint32_t<br /> | colspan=&quot;3&quot; | &lt;abbr title=&quot;0=skip, 1=don't skip (default)&quot;&gt;skip&lt;/abbr&gt;<br /> |-<br /> ! {{cellcolors|#f93|#000}} COP2 and FPU accurate ADD/SUB address<br /> | 0x0C || 0x0C || 0x0E<br /> | 32 || style=&quot;text-align:left&quot; | uint32_t<br /> | colspan=&quot;3&quot; {{cellcolors|#f93|#000|center}} &lt;abbr title=&quot;min 0x100000 ?, max 0x1FFFFFFF ?&quot;&gt;offset&lt;/abbr&gt;<br /> |-<br /> ! {{cellcolors|#f93|#000}} COP2 and FPU accurate ADD/SUB range<br /> | 0x0D || 0x0D || 0x0F<br /> | 32 || style=&quot;text-align:left&quot; | 2&amp;nbsp;*&amp;nbsp;uint32_t<br /> | {{cellcolors|#f93|#000|center}} &lt;abbr title=&quot;min 0x100000&quot;&gt;start&amp;nbsp;offset&lt;/abbr&gt; || colspan=&quot;2&quot; {{cellcolors|#f93|#000|center}} &lt;abbr title=&quot;max 0x1FFFFFFF&quot;&gt;end&amp;nbsp;offset&lt;/abbr&gt;<br /> |-<br /> ! {{cellcolors|#f93|#000}} COP2 accurate MUL/DIV range<br /> | 0x0E || 0x0E || 0x10<br /> | 32 || style=&quot;text-align:left&quot; | 2&amp;nbsp;*&amp;nbsp;uint32_t<br /> | {{cellcolors|#f93|#000|center}} &lt;abbr title=&quot;min 0x100000&quot;&gt;start&amp;nbsp;offset&lt;/abbr&gt; || colspan=&quot;2&quot; {{cellcolors|#f93|#000|center}} &lt;abbr title=&quot;max 0x1FFFFFFF&quot;&gt;end&amp;nbsp;offset&lt;/abbr&gt;<br /> |-<br /> ! {{cellcolors|#f93|#000}} VU0 accurate ADD/SUB address<br /> | 0x0F || 0x0F || 0x11<br /> | 32 || style=&quot;text-align:left&quot; | uint32_t<br /> | colspan=&quot;3&quot; {{cellcolors|#f93|#000|center}} &lt;abbr title=&quot;min 0x000, max 0xFF8&quot;&gt;offset&lt;/abbr&gt;<br /> |-<br /> ! {{cellcolors|#588|#fff}} VU related ?<br /> | 0x10 || 0x10 || 0x12<br /> | &lt;abbr title=&quot;command&quot;&gt;1&lt;/abbr&gt;→&lt;abbr title=&quot;list&quot;&gt;63&lt;/abbr&gt; || style=&quot;text-align:left&quot; | uint32_t&amp;nbsp;+&amp;nbsp;LIST<br /> | {{cellcolors|#588|#fff|center}} flags ? || colspan=&quot;2&quot; {{cellcolors|#588|#fff|center}} LIST<br /> |-<br /> ! {{cellcolors|#dda|#000}} Memory Card Delay<br /> | 0x11 || 0x11 || 0x13<br /> | 1 || style=&quot;text-align:left&quot; | uint64_t<br /> | colspan=&quot;3&quot; {{cellcolors|#dda|#000|center}} time ?<br /> |-<br /> ! {{cellcolors|#f93|#000}} VU1 transform ADD/SUB<br /> | 0x12 || 0x12 || 0x14<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#fff|#000}} Set something with bit flags<br /> | 0x13 || 0x13 || 0x15<br /> | 1 || style=&quot;text-align:left&quot; | uint32_t<br /> | colspan=&quot;3&quot; | ?<br /> |-<br /> ! {{cellcolors|#fff|#000}} Unknown<br /> | 0x14? || 0x14? || {{cellcolors|#eee|#b44|center}} &lt;abbr style=&quot;cursor:help; text-decoration:none&quot; title=&quot;Not Available&quot;&gt;0x16&lt;/abbr&gt;<br /> | ? || style=&quot;text-align:left&quot; | ?<br /> | colspan=&quot;3&quot; | ?<br /> |-<br /> ! {{cellcolors|#9cf|#000}} COP0 configure MTC0/MFC0<br /> | 0x15 || 0x15 || 0x17<br /> | 1 || style=&quot;text-align:left&quot; | uint8_t ?<br /> | colspan=&quot;3&quot; {{cellcolors|#9cf|#000|center}} &lt;abbr title=&quot;0=disabled, 1=enabled&quot;&gt;status&lt;/abbr&gt;<br /> |-<br /> ! {{cellcolors|#fff|#000}} Switch something<br /> | 0x16 || 0x16 || {{cellcolors|#eee|#b44|center}} &lt;abbr style=&quot;cursor:help; text-decoration:none&quot; title=&quot;Not Available&quot;&gt;0x18&lt;/abbr&gt;<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#ff9|#000}} Force analog controller mode<br /> | {{NA}} || 0x17 || 0x19<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#fff|#000}} Switch something<br /> | 0x17 || 0x18 || 0x1A<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#fff|#000}} Switch something<br /> | 0x18 || 0x19 || 0x1B<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#ff9|#000}} Emulate Multitap<br /> | 0x19? || 0x1A? || 0x1C<br /> | 1 || style=&quot;text-align:left&quot; | uint8_t<br /> | colspan=&quot;3&quot; {{cellcolors|#ff9|#000|center}} port<br /> |-<br /> ! {{cellcolors|#ff9|#000}} Set Multitap<br /> | 0x1A || 0x1B || 0x1D<br /> | 1 || style=&quot;text-align:left&quot; | uint8_t<br /> | colspan=&quot;3&quot; {{cellcolors|#ff9|#000|center}} order<br /> |-<br /> ! {{cellcolors|#ff9|#000}} Multitap related<br /> | 0x1B || {{NA}} || 0x1E<br /> | 1 || style=&quot;text-align:left&quot; | uint8_t<br /> | colspan=&quot;3&quot; | ?<br /> |-<br /> ! {{cellcolors|#fff|#000}} Set something<br /> | 0x1C || 0x1C || 0x1F<br /> | 1 || style=&quot;text-align:left&quot; | uint32_t<br /> | colspan=&quot;3&quot; | ?<br /> |-<br /> ! {{cellcolors|#fff|#000}} Set something<br /> | 0x1D || 0x1D || 0x20<br /> | 1 || style=&quot;text-align:left&quot; | uint64_t<br /> | colspan=&quot;3&quot; | ?<br /> |-<br /> ! {{cellcolors|#fff|#000}} Set something<br /> | 0x1E || 0x1E || 0x21<br /> | 1 || style=&quot;text-align:left&quot; | uint32_t<br /> | colspan=&quot;3&quot; | ?<br /> |-<br /> ! {{cellcolors|#fff|#000}} Switch something<br /> | {{NA}} || 0x1F || 0x22<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#fff|#000}} Switch something<br /> | 0x1F || 0x20 || 0x23<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#ddf|#000}} Internal image aspect ratio ?<br /> | 0x20 || 0x21 || 0x24<br /> | 1 || style=&quot;text-align:left&quot; | uint64_t<br /> | colspan=&quot;3&quot; | ?<br /> |-<br /> ! {{cellcolors|#fff|#000}} Switch something<br /> | 0x21 || 0x22 || {{cellcolors|#eee|#b44|center}} &lt;abbr style=&quot;cursor:help; text-decoration:none&quot; title=&quot;Not Available&quot;&gt;0x25&lt;/abbr&gt;<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#f93|#000}} FPU accurate ADD/SUB range<br /> | 0x22 || 0x23 || 0x26<br /> | 32 || style=&quot;text-align:left&quot; | 2&amp;nbsp;*&amp;nbsp;uint32_t<br /> | {{cellcolors|#f93|#000|center}} &lt;abbr title=&quot;min 0x100000&quot;&gt;start&amp;nbsp;offset&lt;/abbr&gt; || colspan=&quot;2&quot; {{cellcolors|#f93|#000|center}} &lt;abbr title=&quot;max 0x1FFFFFFF&quot;&gt;end&amp;nbsp;offset&lt;/abbr&gt;<br /> |-<br /> ! {{cellcolors|#f93|#000}} COP2 accurate ADD/SUB range<br /> | 0x23 || 0x24 || 0x27<br /> | 32 || style=&quot;text-align:left&quot; | 2&amp;nbsp;*&amp;nbsp;uint32_t<br /> | {{cellcolors|#f93|#000|center}} &lt;abbr title=&quot;min 0x100000&quot;&gt;start&amp;nbsp;offset&lt;/abbr&gt; || colspan=&quot;2&quot; {{cellcolors|#f93|#000|center}} &lt;abbr title=&quot;max 0x1FFFFFFF&quot;&gt;end&amp;nbsp;offset&lt;/abbr&gt;<br /> |-<br /> ! {{cellcolors|#aaf|#000}} Set something &lt;abbr title=&quot;PS2 MECHACON related&quot;&gt;(CDVD)&lt;/abbr&gt;<br /> | 0x24 || 0x25? || 0x28<br /> | 1 || style=&quot;text-align:left&quot; | uint32_t<br /> | colspan=&quot;3&quot; | ?<br /> |-<br /> ! {{cellcolors|#aaf|#000}} CDVD read/seek timings ?<br /> | 0x25 || 0x26? || 0x29<br /> | 1 || style=&quot;text-align:left&quot; | 2&amp;nbsp;*&amp;nbsp;uint32_t<br /> | ? || colspan=&quot;2&quot; | ?<br /> |-<br /> ! {{cellcolors|#fff|#000}} Switch something<br /> | 0x26 || 0x27 || 0x2A<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#aaf|#000}} Switch something &lt;abbr title=&quot;PS2 MECHACON related&quot;&gt;(CDVD)&lt;/abbr&gt;<br /> | 0x27? || 0x28 || 0x2B<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#fff|#000}} Set something<br /> | 0x28 || 0x29 || 0x2C<br /> | 1 || style=&quot;text-align:left&quot; | uint32_t<br /> | colspan=&quot;3&quot; | ?<br /> |-<br /> ! {{cellcolors|#fff|#000}} Switch something<br /> | 0x29? || 0x2A || {{cellcolors|#eee|#b44|center}} &lt;abbr style=&quot;cursor:help; text-decoration:none&quot; title=&quot;Not Available&quot;&gt;0x2D&lt;/abbr&gt;<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#fff|#000}} Set something<br /> | 0x2A || 0x2B || 0x2E<br /> | 1 || style=&quot;text-align:left&quot; | uint32_t<br /> | colspan=&quot;3&quot; | ?<br /> |-<br /> ! {{cellcolors|#fff|#000}} Set something<br /> | 0x2B || {{NA}} || 0x2F<br /> | 1 || style=&quot;text-align:left&quot; | uint32_t<br /> | colspan=&quot;3&quot; | ?<br /> |-<br /> ! {{cellcolors|#eee|#b44|left}} Reserved<br /> | {{cellcolors|#eee|#b44|center}} &lt;abbr style=&quot;cursor:help; text-decoration:none&quot; title=&quot;Not Available&quot;&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;/abbr&gt; || {{cellcolors|#eee|#b44|center}} &lt;abbr style=&quot;cursor:help; text-decoration:none&quot; title=&quot;Not Available&quot;&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;/abbr&gt; || {{cellcolors|#eee|#b44|center}} &lt;abbr style=&quot;cursor:help; text-decoration:none&quot; title=&quot;Not Available&quot;&gt;0x30&lt;br&gt;0x31&lt;br&gt;0x32&lt;br&gt;0x33&lt;br&gt;0x34&lt;/abbr&gt;<br /> | 0 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#f66|#000}} Enable Force Flip Field<br /> | {{NA}} || {{NA}} || 0x35<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#eee|#b44|left}} Reserved<br /> | {{cellcolors|#eee|#b44|center}} &lt;abbr style=&quot;cursor:help; text-decoration:none&quot; title=&quot;Not Available&quot;&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;/abbr&gt; || {{cellcolors|#eee|#b44|center}} &lt;abbr style=&quot;cursor:help; text-decoration:none&quot; title=&quot;Not Available&quot;&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;/abbr&gt; || {{cellcolors|#eee|#b44|center}} &lt;abbr style=&quot;cursor:help; text-decoration:none&quot; title=&quot;Not Available&quot;&gt;0x36&lt;br&gt;0x37&lt;br&gt;0x38&lt;br&gt;0x39&lt;br&gt;0x3A&lt;br&gt;0x3B&lt;br&gt;0x3C&lt;/abbr&gt;<br /> | 0 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#c96|#000}} Config revision<br /> | {{NA}} || {{NA}} || 0x3D<br /> | 1 || style=&quot;text-align:left&quot; | uint32_t<br /> | colspan=&quot;3&quot; {{cellcolors|#c96|#000|center}} revision<br /> |-<br /> ! {{cellcolors|#fff|#000}} Switch something<br /> | {{NA}} || {{NA}} || 0x3E<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#fff|#000}} Set something<br /> | {{NA}} || {{NA}} || 0x3F<br /> | 1 || style=&quot;text-align:left&quot; | uint32_t<br /> | colspan=&quot;3&quot; | ?<br /> |-<br /> ! {{cellcolors|#fff|#000}} Switch something<br /> | {{NA}} || {{NA}} || 0x40<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#fff|#000}} Switch something<br /> | {{NA}} || {{NA}} || 0x41<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#9f9|#000}} Patch EE memory by overlay<br /> | {{NA}} || {{NA}} || 0x42<br /> | &lt;abbr title=&quot;command&quot;&gt;1&lt;/abbr&gt;→&lt;abbr title=&quot;list&quot;&gt;1023&lt;/abbr&gt; || style=&quot;text-align:left&quot; | 2&amp;nbsp;*&amp;nbsp;uint32_t&amp;nbsp;+&amp;nbsp;LIST<br /> | {{cellcolors|#9f9|#000|center}} offset || {{cellcolors|#9f9|#000|center}} count || {{cellcolors|#9f9|#000|center}} &lt;abbr title=&quot;opcode,opcode,opcode, etc...&quot;&gt;LIST&lt;/abbr&gt;<br /> |-<br /> ! {{cellcolors|#fff|#000}} Set something<br /> | {{NA}} || {{NA}} || 0x43<br /> | 1 || style=&quot;text-align:left&quot; | uint32_t<br /> | colspan=&quot;3&quot; | ?<br /> |-<br /> ! {{cellcolors|#fcc|#000}} Disable smoothing filter<br /> | {{NA}} || {{NA}} || 0x44<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#fff|#000}} Switch something<br /> | {{NA}} || {{NA}} || 0x45<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#f66|#000}} Enable L2H Improvement<br /> | {{NA}} || {{NA}} || 0x46<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#f66|#000}} Enable XOR CSR<br /> | {{NA}} || {{NA}} || 0x47<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#f66|#000}} Set VSYNC IPU &amp; Delay<br /> | {{NA}} || {{NA}} || 0x48<br /> | 1 || style=&quot;text-align:left&quot; | 2&amp;nbsp;*&amp;nbsp;uint32_t<br /> | {{cellcolors|#f66|#000|center}} &lt;abbr title=&quot;1=No IPU, 2=IPU, 3=Anytime&quot;&gt;ipu&lt;/abbr&gt; || colspan=&quot;2&quot; {{cellcolors|#f66|#000|center}} &lt;abbr title=&quot;20000=Conservative, 100000=Normal, 250000=Agressive, Any other&quot;&gt;delay&lt;/abbr&gt;<br /> |-<br /> ! {{cellcolors|#fff|#000}} Switch something<br /> | {{NA}} || {{NA}} || 0x49<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#fff|#000}} Switch something<br /> | {{NA}} || {{NA}} || 0x4A<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#fff|#000}} Set something<br /> | {{NA}} || {{NA}} || 0x4B<br /> | 1 || style=&quot;text-align:left&quot; | 2&amp;nbsp;*&amp;nbsp;uint32_t<br /> | ? || colspan=&quot;2&quot; | ?<br /> |-<br /> ! {{cellcolors|#fff|#000}} Set something<br /> | {{NA}} || {{NA}} || 0x4C<br /> | 1 || style=&quot;text-align:left&quot; | 2&amp;nbsp;*&amp;nbsp;uint32_t<br /> | ? || colspan=&quot;2&quot; | ?<br /> |-<br /> ! {{cellcolors|#fff|#000}} Set something<br /> | {{NA}} || {{NA}} || 0x4D<br /> | 1 || style=&quot;text-align:left&quot; | uint32_t<br /> | colspan=&quot;3&quot; | ?<br /> |-<br /> ! {{cellcolors|#fff|#000}} Unknown<br /> | {{NA}} || {{NA}} || 0x4E<br /> | 1 || style=&quot;text-align:left&quot; | ?<br /> | colspan=&quot;3&quot; | ?<br /> |-<br /> ! {{cellcolors|#fff|#000}} Unknown<br /> | {{NA}} || {{NA}} || 0x4F<br /> | 1 || style=&quot;text-align:left&quot; | ?<br /> | colspan=&quot;3&quot; | ?<br /> |-<br /> ! {{cellcolors|#ff9|#000}} Enable pressure sensitive controls<br /> | {{NA}} || {{NA}} || 0x50<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |}<br /> <br /> &lt;!-- We need to find a better way to organize the commands info below, right now all the info is &quot;constricted&quot; inside the same table but is better to take them out of the table to have more freedon when adding comments, etc... Are a lot so by now i prefer to dont make page sections for every command. Im going to try something that visually looks like page sections but are not (so are not going to be displayed in the TOC at top of the page). With this change we are moving forward because the command info is not going to be inside the same table anymore, im going to split them but the visual look and other details are not going to be definitive because later can be converted into page sections if someone insists in it --&gt;<br /> <br /> <br /> {{Boxcomm|id=0x00|name=Title ID Enforce / Multidisc config|data=1x String in format: ABCD-12345}}<br /> Restricts the CONFIG to be used only by a specific [[Template:TITLE_ID_for_Physical_Media|Title ID]]<br /> The presence of this command in the CONFIG is optional. If present it needs to be located always at the last position in the CONFIG. When bytes are present after Title ID, emulator read them to setup multidisc info.<br /> Multidisc info bytes:<br /> First byte: Unknown, seems to be unused. 00 in known configs (Grandia 3).<br /> Second byte: Discs count (0-9), when 0 or 1 emulator don't enable multidisc mode.<br /> Third byte: Which disc in set is this one (0-8 for discs 1-9)<br /> Fourth byte: That one is optional, but very important. When set to 1,<br /> disc swap menu will be in &quot;Reset game&quot; menu and disc change will trigger reset (default behavior).<br /> But when this byte is set to 0, new option in main emu menu called &quot;Switch Discs&quot; will appear. Emulator change disc without reset. <br /> Keep in mind we don't know how accurate swap emulation is here, games are picky for some details. <br /> Every iso bin enc in set need to have proper data in separate config. <br /> Disc 1: ISO.BIN.ENC --&gt; CONFIG --&gt; 00 02 00 00,<br /> 00000000 3D 00 00 00 A8 3E 00 00 00 00 00 00 53 4C 55 53 =...¨&gt;......SLUS<br /> 00000010 2D 32 31 33 33 34 00 02 00 -21334...<br /> <br /> Disc 2: ISO.BIN.ENC2--&gt; CONFIG2--&gt; 00 02 01 00, etc.<br /> 00000000 3D 00 00 00 A8 3E 00 00 00 00 00 00 53 4C 55 53 =...¨&gt;......SLUS<br /> 00000010 2D 32 31 33 34 35 00 02 01 -21345...<br /> <br /> Grandia 3 DISC.IDX, content:<br /> 00000000 00 00 ..<br /> <br /> <br /> {{Boxcomm|id=0x01|name=EE_ADD_HOOK|data=2x uint32_t Params (addr, func_id 0-0x3B)}}<br /> Most of the hooks availables in netemu command 0x01 are fixes for a specific game, or a game engine&lt;br&gt;<br /> The Maximum Amount of times netemu command 0x01 can be used consecutivelly in the same config is 255. This is actually limit for EE hooks at all, 0x01 don't have own limit.<br /> <br /> &lt;div style=&quot;overflow-x:auto&quot;&gt;<br /> {| class=&quot;wikitable&quot; style=&quot;width:100%; font-size:0.9em; line-height:90%&quot;<br /> |-<br /> !Function ID!! Notes<br /> |-<br /> |0x00|| FIFA 2000 use it as hook for EE kernel at 0x800017E8 (DMAC related). Command backup value from r5900 s0 register.<br /> |-<br /> |0x01|| FIFA 2000 use it as hook for EE kernel at 0x80001858 (DMAC related). Command restore previously backed up value to r5900 s0 register.<br /> |-<br /> |0x02|| <br /> Max Payne<br /> Write 0 to D_ENABLEW in SPE 3 (EEDMA). D_ENABLER is NOT updated on PPE side.<br /> |-<br /> |0x03|| <br /> Max Payne<br /> Write 0xFFFFFFFF (0x10000, other bits are ignored anyway) to D_ENABLEW in SPE 3 (EEDMA). D_ENABLER is NOT updated on PPE side.<br /> |-<br /> |0x04|| Castle Shikigami II<br /> Skip r5900 CACHE IXIN/IHIN (Index/Hit invalidate) opcodes. Same as 0x03 command, but applied of selected ee offset.<br /> This is probably command from times when 0x03 was non existing, and while it apply on selected ee offset, command never recover default IXIN/IHIN handling.<br /> Note: There is leftover in emulator from command that reenable default behavior, but is unused now, and is not accessible by current config commands.<br /> |-<br /> |0x05|| Force events test if D2_CHCR &amp; 0x100 is true (if GIF dma is running). For more info check _cpuEventTest_Shared from pcsx2. Star Wars games developed by Pandemic Studios (freeze fix), Worms 3D and NBA 08.<br /> |-<br /> |0x06|| Force events test if D1_CHCR &amp; 0x100 is true (if VIF1 dma is running). For more info check _cpuEventTest_Shared from pcsx2.<br /> |-<br /> |0x07|| <br /> |-<br /> |0x08|| Backup current unmodified COP0 status register state. Then disable EI bit, and notify emu that cmd 0x09 could be run. Harry Potter - Quidditch World Cup US use it at offset 0x2BD45C (EE)<br /> |-<br /> |0x09|| Restore COP0 status register state from previously created backup. Harry Potter - Quidditch World Cup US use it at offset 0x2BD620 (EE)<br /> |-<br /> |0x0A|| Fix for TriAce executable unpack function.<br /> Games unpack data using VU0 microruntime (not COP2). Because unpack involve floating points operations result can be inaccurate. And it is,<br /> exactly by 1 byte. Config add 1 to result of unpacked data. This can be confirmed also on pcsx2 with turned off TriAce hack, example for Radiata Stories US release.<br /> Set breakpoint on 0x124D90, and then when it's hit, add 1 to lower 64 bits of vf03 reg (in vu0f tab) and hit run.<br /> Game now work as it should. On PS3 this probably can be fixed also by 0x11 command, but since they had hook already done before 0x11 was a thing, it stayed as is.<br /> |-<br /> |0x0B|| Set lower 64 bits of mips $at register to 0<br /> |-<br /> |0x0C|| Piglet's Big Game<br /> |-<br /> |0x0D|| usleep(100)<br /> |-<br /> |0x0E|| Used 3 times in Need for Speed - Carbon [Collector's Edition] US.<br /> Used in place where game load code overlays, and in place where game self modify code. <br /> Config run the same function which is run when PS2 syscall 7 (ExecPS2) hook is triggered (0x1831A8 in latest emu memory).<br /> Only difference is that 0x42 overlay is not reloaded, and check for &quot;cdrom0&quot; string is not performed. <br /> Command could be potentially useful for games that like to change own code. Eg. Load &quot;bin&quot; files with code (HSG/HST), or modify own code by direct writes to memory (NFS Carbon CE...)<br /> |-<br /> |0x0F|| <br /> Grand Theft Auto 3 (SLUS-20062)<br /> using 0x348B40, 0x18E1F0, 0x348EC8 ( + 200000000 base )<br /> 0x348B40 = start CTheScripts::ClearSpaceForMissionEntity((CVector const &amp;, CEntity *)) <br /> 0x18E1F0 = start CCollision::ProcessColModels((CMatrix const &amp;, CColModel &amp;, CMatrix const &amp;, CColModel &amp;, CColPoint *, CColPoint *, float *))<br /> 0x348EC8 = Almost end (only loading values preserved on stack) of CTheScripts::ClearSpaceForMissionEntity((CVector const &amp;, CEntity *)) <br /> |-<br /> |0x10|| <br /> Grand Theft Auto 3 (SLES-50330)<br /> using 0x349790, 0x18E1F0, 0x349B18 ( + 200000000 base ) <br /> 0x349790 = start CTheScripts::ClearSpaceForMissionEntity((CVector const &amp;, CEntity *)) <br /> 0x18E1F0 = start CCollision::ProcessColModels((CMatrix const &amp;, CColModel &amp;, CMatrix const &amp;, CColModel &amp;, CColPoint *, CColPoint *, float *))<br /> 0x349B18 = Almost end (only loading values preserved on stack) of CTheScripts::ClearSpaceForMissionEntity((CVector const &amp;, CEntity *)) <br /> |-<br /> |0x11|| <br /> Grand Theft Auto 3 (SLES-50793)<br /> using 0x3495C0, 0x18E1F0, 0x349948 ( + 200000000 base )<br /> 0x3495C0 = start CTheScripts::ClearSpaceForMissionEntity((CVector const &amp;, CEntity *)) <br /> 0x18E1F0 = start CCollision::ProcessColModels((CMatrix const &amp;, CColModel &amp;, CMatrix const &amp;, CColModel &amp;, CColPoint *, CColPoint *, float *))<br /> 0x349948 = Almost end (only loading values preserved on stack) of CTheScripts::ClearSpaceForMissionEntity((CVector const &amp;, CEntity *)) <br /> |-<br /> |0x12|| Disney/Pixar Finding Nemo (fixes the pause menu freeze)<br /> if COP0 status EI and EXL bits are 0, and other condition related to DMAC is met...<br /> store 0 in [ 0x204FC500 + 200000000 base] 0x4FC500 EE memory, and set lower 64 bits of mips $s0 register to 0.<br /> |-<br /> |0x13|| Snowblind Engine specific fix. Applies to the beginning of function called initLump. Config is responsible for grabbing data from one of registers for use in 0x14/0x15 hooks. Mentioned data is EE memory offset, if data from 0x13 is 0, 0x14/0x15 don't apply. <br /> |-<br /> |0x14|| Snowblind Engine specific fix. Applies to the end of function called initLump. Used in the older version of Snowblind Engine (Dark Alliance duology, The Bard's Tale, Fallout).<br /> |-<br /> |0x15|| Snowblind Engine specific fix. Applies to the end of function called initLump. Used in the newer version of Snowblind Engine (Champions duology, Justice League Heroes, Combat Elite).<br /> |-<br /> |0x16|| Champions of Norrath (SLUS-20565)<br /> store 0x01114BA8 in [ 0x208EAB4C + 200000000 base]<br /> store 0x010C9E40 in [ 0x208EAB6C + 200000000 base]<br /> |-<br /> |0x17|| NFS HP2 fpu rounding fix. <br /> Check if a0 == 0x8000 (32768), apply config if true. Config is little bit more complicated than it should, emu flush all fpu regs to memory just to modify one field in altivec vector register.<br /> When condition is met ps2 cop1 f08 register is modified from 0x40490FDB to 0x40490FDA, this result in next operations to end up as negative 0.0 (0x80000000) instead of just 0.0 (0x00000000).<br /> Seems to trigger when loading of stage or loading of attract mode is close to finish or done.<br /> |-<br /> |0x18|| Okami PAL specific hook. <br /> Check if opcode at 0x183F04 of EE memory is jal 0x183CB0 (0x0C060F2C). This is used to run additional hook patcher only 1 time.<br /> Later it will be nop here. so it means that new hooks are already applied. So function will just return early.<br /> if opcode at 0x183F04 is still jal 0x183CB0 (0x0C060F2C),<br /> then patch addresses 0x183F04 (jal 0x183CB0), 0x183F34 (jal 0x183CB0), 0x183F3C (jal 0x183D18) to nop.<br /> Finally adds 3 additional EE hooks. Emu addresses for ps2_netemu 4.70+<br /> <br /> EE address | EMU address <br /> 0x183F0C | sub_46334<br /> 0x183F3C | sub_45DA4<br /> 0x183D74 | sub_47B50<br /> <br /> First hook is responsible for grabbing EE addresses from one of EE gpr register. Second hook perform few checks from data in EE gpr registers, and <br /> eventually store data from EE gpr registers on previously grabbed addresses. Hook 3 store one of previosly grabbed EE address on unknown part of memory.<br /> Whole thing looks like HLE version of noped functions.<br /> |-<br /> |0x19|| Burnout 2<br /> Copy lower 64 bits of $v0 r5900 register to lower 64 bits of $a1 r5900 register.<br /> All that to make next opcode (hook address + 4) &quot;beq $a1, $v0, addr&quot; always true. Because $a1 and $v0 now have the same value.<br /> This in turn skip CTimer::GetTimeSeconds((void)) in function CReplay::NextFrame((CDrivingControls *)). Worth to note that CReplay::NextFrame seems to be not related to replay per se, but to car physics.<br /> |-<br /> |0x1A|| <br /> store 0 in [ 0x209FD560 + 200000000 base]<br /> store 0 in [ 0x209F9550 + 200000000 base]<br /> store 0 in [ 0x20A01570 + 200000000 base]<br /> store 0 in [ 0x209F9540 + 200000000 base]<br /> store 0 in [ 0x209F5540 + 200000000 base]<br /> store 0 in [ 0x209F1530 + 200000000 base]<br /> |-<br /> |0x1B||<br /> store 0 in [ 0x20552168 + 200000000 base]<br /> |-<br /> |0x1C||<br /> store 1 in [ 0x20552168 + 200000000 base]<br /> |-<br /> |0x1D||<br /> store 0 in [ 0x20556C08 + 200000000 base]<br /> |-<br /> |0x1E||<br /> store 1 in [ 0x20556C08 + 200000000 base]<br /> |-<br /> |0x1F||<br /> store 0 in [ 0x205243D8 + 200000000 base]<br /> |-<br /> |0x20||<br /> store 1 in [ 0x205243D8 + 200000000 base]<br /> |-<br /> |0x21||<br /> store 0 in [ 0x20524F88 + 200000000 base]<br /> |-<br /> |0x22||<br /> store 1 in [ 0x20524F88 + 200000000 base]<br /> |-<br /> |0x23||<br /> store 0 in [ 0x2047E7F8 + 200000000 base]<br /> |-<br /> |0x24||<br /> store 1 in [ 0x2047E7F8 + 200000000 base]<br /> |-<br /> |0x25||<br /> store 0 in [ 0x204802B8 + 200000000 base]<br /> |-<br /> |0x26||<br /> store 1 in [ 0x204802B8 + 200000000 base]<br /> |-<br /> |0x27||<br /> store 0 in [ 0x20586348 + 200000000 base]<br /> |-<br /> |0x28||<br /> store 1 in [ 0x20586348 + 200000000 base]<br /> |-<br /> |0x29||<br /> store 0 in [ 0x205868A8 + 200000000 base]<br /> |-<br /> |0x2A||<br /> store 1 in [ 0x205868A8 + 200000000 base]<br /> |-<br /> |0x2B|| <br /> if ($a1 &amp; 0xF0000000 != 0) a1 = 0 <br /> |-<br /> |0x2C|| Shin Onimusha - Dawn of Dreams Fix IPU DMA JPN((PlayStation 2 the Best)/US release.<br /> |-<br /> |0x2D|| Shin Onimusha - Dawn of Dreams Fix IPU DMA PAL release.<br /> |-<br /> |0x2E|| Shin Onimusha - Dawn of Dreams Fix IPU DMA Unk release. Code from emu match SLPM-66275 release. Why it is unused? Hook address will be 0x3BB4EC.<br /> |-<br /> |0x2F||<br /> if value at EE Mem 0x37B0C4 == 0, set mips pc register (program counter) to 0x100B98<br /> Config is supposed to repeat chunk of code if EE mem 0x37BB0C == 0. <br /> |-<br /> |0x30||<br /> if value at EE Mem 0x37B704 == 0, set mips pc register (program counter) to 0x100B98<br /> Config is supposed to repeat chunk of code if EE mem 0x37BB0C == 0.<br /> |-<br /> |0x31||<br /> if value at EE Mem 0x37630C == 0, set mips pc register (program counter) to 0x100BA8 <br /> Config is supposed to repeat chunk of code if EE mem 0x37BB0C == 0.<br /> |-<br /> |0x32||<br /> if value at EE Mem 0x37BB0C == 0, set mips pc register (program counter) to 0x100BA8.<br /> Config is supposed to repeat chunk of code if EE mem 0x37BB0C == 0.<br /> |-<br /> |0x33|| <br /> |-<br /> |0x34|| not filled<br /> |-<br /> |0x35|| Ninkyouden: Toseinin Ichidaiki<br /> |-<br /> |0x36|| <br /> |-<br /> |0x37|| <br /> |-<br /> |0x38||<br /> |-<br /> |0x39|| Used silently in command 0x4B with first param from 0x4B as hook address. Hook seems to be unusable without 0x4B command, because there is no way to setup redirect mode and ID without 0x4B.<br /> |-<br /> |0x3A|| Used silently in command 0x4C with first param from 0x4C as hook address. Hook seems to be unusable without 0x4C command, because there is no way to setup mode and ID without 0x4C.<br /> |-<br /> |0x3B|| Grand Theft Auto 3 (SLPM-55293 &quot;Rockstar Classics&quot;)<br /> using 0x351210, 0x18F590, 0x351568 ( + 200000000 base )<br /> 0x351210 = start CTheScripts::ClearSpaceForMissionEntity((CVector const &amp;, CEntity *)) <br /> 0x18F590 = start CCollision::ProcessColModels((CMatrix const &amp;, CColModel &amp;, CMatrix const &amp;, CColModel &amp;, CColPoint *, CColPoint *, float *))<br /> 0x351568 = Almost end (only loading values preserved on stack) of CTheScripts::ClearSpaceForMissionEntity((CVector const &amp;, CEntity *)) <br /> |}<br /> &lt;/div&gt;<br /> <br /> {{Boxcomm|id=0x02|name=Unknown|data=1x int32}}<br /> Used in function that handle D6 CHCR writes (SIF1), seems to be some kind of timing command for EE --&gt; IOP DMA.<br /> *Valid values found:<br /> **1000d<br /> **3000d<br /> **6000d<br /> <br /> {{Boxcomm|id=0x03|name=Unknown|data=N/A}}<br /> Skip r5900 CACHE IXIN/IHIN (Index/Hit invalidate) opcodes.<br /> <br /> {{Boxcomm|id=0x04|name=Unknown|data=1x uint32_t index (i*0x80, special 0x12345: 0x91a280?)}} <br /> Patch SPE 3 program (eedma) by searching for ila r4, xxxxx, starting at 0x178A0 and replacing them with (0x42000004 | ((value &lt;&lt; 7) &amp; 0x1FFFF80)<br /> 0x42000004 is ila r4 opcode. Due to opcode encoding example result of that patch with value 0x08 will be 0x42000404 (ila r4, 0x08). There is little bit more than that, but main purpose is just to patch SPE program behavior.<br /> *Valid values found:<br /> **0x08<br /> **0x10<br /> <br /> {{Boxcomm|id=0x05|name=N/A|data=N/A}} <br /> Command not available in ps2_netemu.self<br /> <br /> {{Boxcomm|id=0x06|name=Unknown|data=N/A}}<br /> Change VIF1 command 02h OFFSET behavior by patching pointer to function which process it to different previously unused function.<br /> <br /> {{Boxcomm|id=0x07|name=Delay VU xgkick by X cycles|data=1x uint32_t}}<br /> Default 1<br /> <br /> {{Boxcomm|id=0x08|name=Patch VU memory by mask |data=8x uint32_t (read mask,read mask, original opcode, original opcode, write mask, write mask, replace opcode, replace opcode)}}<br /> Maximum Amount of Usage: 3 times<br /> <br /> {{Boxcomm|id=0x09|name=EE_INSN_REPLACE64|data=uint32_t count, &lt;list&gt; (offset, original opcode, original opcode, replace opcode, replace opcode)}}<br /> Maximum List Count: 32<br /> *Valid values found<br /> **1 [Dark Cloud] and [Dead Or Alive 2 Hardcore]<br /> <br /> {{Boxcomm|id=0x0A|name=EE_INSN_REPLACE32|data=uint32_t count, &lt;List&gt; (&lt;nowiki&gt;mode | offset&lt;/nowiki&gt;, original opcode, replace opcode)}}<br /> Command present only in the ps2_netemu. Maximum List Count: 32. Mode is first 4 bits of address field (Xyyyyyyy), can be either 0, 1, or 2. All known examples use this command in 0 mode, and modes 1 and 2 are here just for documentation purposes. <br /> <br /> *mode 0 - Replace 32 bit of EE memory. Params are EE offset, original opcode, replace opcode. <br /> *mode 1 - Write jr ra, li v0, xxxx to selected memory range. Params are EE memory start address, original opcode, u16 counter, u16 value for li, v0 xxxx<br /> *mode 2 - NOP memory at selected range. Params: start address, end address, unused (can be anything, but is required to align config).<br /> Problem: Original opcode validity check is performed before testing config for special cases. Thus making mode 2 almost inaccessible.&lt;br&gt;<br /> Solution: We can patch that one line of code by the same 0x0A config. So if we want to nop region from 0x100000 to 0x100080, first we need to patch 0x100000 to 0x100080 opcode. So check will pass, &quot;simple&quot; as that.<br /> <br /> {{Boxcomm|id=0x0B|name=MECHA_SET_PATCH|data=1x uint32_t count, &lt;List&gt; {sector id, offset, sizeof present opcodes, replace opcodes, original opcodes)}}<br /> Offset on the disc = sector id * sector size + offset + correction [see below]&lt;br&gt;<br /> Offset correction is based on selected read mode (not on media type):&lt;br&gt;&lt;br&gt;<br /> CDRead requested block size (CD disc):<br /> *2048 = Offset + 0x18 (skip 12 sync bytes, 4 of header, and 8 of subheader)<br /> *2328 = Offset + 0x18 (skip 12 sync bytes, 4 of header, and 8 of subheader)<br /> *2340 = Offset + 0x0C (skip only 12 bytes of sync data)<br /> <br /> DVDRead requested block size (DVD Disc):<br /> *2064 = Offset match, but only until the 349th sector. Otherwise is offset - 0x0C because that read mode see data as ID DATA (4) + ID DATA EDC (2) + Reserved bytes (6) + 2048 data + EDC (4).<br /> <br /> &quot;Offset + XX&quot; for CD assume that you use Isobuster RAW mode. &quot;Offset - XX&quot; for DVD assume that you use Isobuster NON RAW mode&lt;br&gt;<br /> Special case is DVD read on very low sector, here you need to use exact offset without substrating 0x0C. Highest confirmed sector that don't use correction for now is 349.<br /> [Dead Or Alive 2 Hardcore] uses 7<br /> [Gradius V] uses 1<br /> [Grand Theft Auto III] uses 1<br /> [Katamari Damacy] uses 1<br /> [Manhunt] uses 1<br /> [Odin Sphere] uses 2<br /> [Primal] uses 1<br /> [Psychonauts] uses 1<br /> [Syphon Filter The Omega Strain] uses 1<br /> Maximum List Count: 47<br /> <br /> {{Boxcomm|id=0x0C|name=Unknown|data=1x (uint16_t, uint16_t)}}<br /> First param can be 0, 1, or 2. Second param in range of 0 and 0xFFFF. Second param is used only if first param == 1. Default values are (1, 0x1000) for PS2DVD, and (1, 0x400) for PS2CD and PS2CDDA.&lt;br&gt;<br /> Other valid values for the second param (found in oficial configs ?): 0x180, 0x800<br /> <br /> {{Boxcomm|id=0x0D|name=Unknown|data=1x int32}}<br /> True/false. Default = 1<br /> 0 = Skip some IOP related code responsible for check value from IOP SPE LS 0x2C0C0 (and skip panic if value is 0 or -1).<br /> Also skip write of value 0x80000000 to SPU Signal Notification 1 Register of IOP SPE.<br /> <br /> {{Boxcomm|id=0x0E|name=Improves ADD/SUB accuracy|data=1x int32}}<br /> 1 Param offset --- Improves ADD/SUB FPU/COP2 accuracy for selected offset. Work with opcodes from commands 0x26/0x27. Basically command like 0x0F just per offset, no per range.<br /> [Rygar] only has 0x147DA8 sub.s $f12, $f20, $f12<br /> Used in official configs: SCUS97501=0x3C458C, SCES53642=0x3C4854, SLUS21026=0x386864, SLUS20916=0x121F64, SLUS20437=0x11EDF0<br /> Maximum Amount of Usage: 32 times<br /> <br /> {{Boxcomm|id=0x0F|name=More accurate ADD/SUB memory range|data=List &lt;uint32_t Param, uint32_t Param&gt;}}<br /> More accurate memory range. This command is combined 0x26, and 0x27 command.<br /> [Dark Cloud] uses 0x239334, 0x1FFFFFF<br /> [Grand Theft Auto SA] uses 0x1E46DC, 0x1E4AE8<br /> Maximum Amount of Usage: 32 (if there is no additional 0x26/0x27 command)<br /> <br /> {{Boxcomm|id=0x10|name=MULDIV Accurate range|data=List &lt;uint32_t Param, uint32_t Param&gt;}}<br /> More accurate MUL/DIV handling on selected memory range for selected FPU opcodes. Effectively work only with: <br /> MUL.s, DIV.s, MULA.s, MADD.s, MSUB.s, MADDA.s, MSUBA.s. <br /> For ADD/SUB opcodes, command is active only on Multiply stage.<br /> Maximum List Count: 32 <br /> <br /> {{Boxcomm|id=0x11|name=VU0 Accurate ADD/SUB|data=1x uint32_t Param}}<br /> Param is VU0 (MICROPROGRAM) memory offset, correct param is in range of 0x000 to 0xFF8.<br /> Lower pipeline fetch opcode from address, Upper from address + 4. So correct address for config needs to be 8 bytes aligned.<br /> Used in official configs: SLUS21172=0x208, SLUS20878=0x140,0x368,0x570<br /> Maximum Amount of Usage: 32 times<br /> <br /> {{Boxcomm|id=0x12|name=Unknown|data=&lt;List&gt; (uint32_t count,}}<br /> VU0/COP2 related multicommand.<br /> First 8 bytes of that command are special flags. Not quite sure about bytes 5-8 yet,<br /> because at some point they are used to &quot;andc&quot; with first 4 bytes.<br /> Some examples for first 4 bytes:<br /> 0x1000 = Run additional flag related code after every FMAC operation, VU0 only, COP2 do this by default.<br /> 0x2000 = Emit some additional code when lower opcode is fsset, this flag require 0x1000 to be enabled. VU0 only. <br /> 0x100000 = When enabled opcodes like MSUB, MADDA, etc, do proper multiply first, then add/sub. When disabled (default) single opcode is used (vmaddfp / vmmsubfp). Not used in COP2 mode.<br /> Note: When this command is disabled, then &quot;Accurate MUL&quot; is skipped for MADDxx/MSUBxx regardless that 0x30000000 is set or not.<br /> Because there is no way to do correct MUL separately when altivec madd/msub is used.<br /> 0x200000 = Run some additional code in VU0 load/store opcodes (ILW, LQI, ISWR, etc.) Not used in COP2 mode.<br /> 0x400000 = Skip emu syscall 3 (3)<br /> 0x800000 = Skip emu syscall 3 (4)<br /> 0x4000000 = Enable type 2 config from cmd 0x12.<br /> 0x8000000 = Accurate VU0 DIV opcode, not used in COP2 mode.<br /> 0x10000000 = Fast Accurate VU0 MUL. Try to round mantissa. Opcodes like MSUB/MADD additionally require 0x100000 to be enabled, otherwise command skip them. Not used in COP2 mode.<br /> 0x20000000 = Full Accurate VU0 MUL. Use runtime from CMD 0x10, but for every matching VU0 opcode, including opcodes like MSUB for mul part.<br /> Opcodes like MSUB/MADD additionally require 0x100000 to be enabled, otherwise command skip them.<br /> <br /> Selecting both 0x10000000 and 0x20000000 (0x30000000) work the same way as 0x20000000.<br /> Keep in mind that you still need to use at least 8 bytes for cmd 0x12, just use 00 for bytes 5,6,7,8. <br /> Later bits are dependent on which subcommand we want to run.<br /> <br /> [Primal] uses 0xD of type 2/3 subcommand (minus 0x2 for flags)<br /> [Rayman Arena] uses 0x11 of type 2/3 subcommand (minus 0x2 for flags)<br /> [Syphon Filter: The Omega Strain] uses 0x5 of type 1 subcommand (minus 0x2 for flags)<br /> Maximum List Count: 63 <br /> <br /> {{Boxcomm|id=0x13|name=Memory card timing related delay|data=1x uint64_t Param}}<br /> 0x9bdc (39900) - Used by &quot;Phantasy Star Universe&quot; (official config for SLPM-66031), &quot;WRC II Extreme&quot;, and &quot;Burnout Dominator&quot;<br /> 0xf960 (63840) - Used by &quot;Jak X: Combat Racing&quot; (official config for SCUS-97429), and &quot;Netsu Chu! Pro Yakyuu 2004&quot;<br /> 0x1d394 (119700) - Used by &quot;Jissen Pachi-Slot Hisshouhou! Kemono-Oh&quot; (official config for SLPS-20131)<br /> <br /> {{Boxcomm|id=0x14|name=VU1 transform ADD/SUB|data=N/A}}<br /> When enabled ADD/SUB VU1 opcodes are processed differently on recompiling/translation stage. Seems to be very specific hack, most likely not usable outside of THPS 4+ engine games. &lt;br&gt;<br /> Note: This setting affects only VU1, and only ADD/SUB. All other opcodes like ADDi,ADDq, MSUB, ADDbc, are not affected.<br /> <br /> {{Boxcomm|id=0x15|name=Unknown|data=1 Param ( &lt;1, &gt;1 )}}<br /> Patch SPE 0 (IOP) program in local memory. Command search for absolute branches in LS 0x3A2C0 - 0x3A6C0 and patch first branch that match to &quot;bi r127&quot;. That weird approach was probably used because spe program differ little bit between emu versions, so they don't need to update command on every new emu revision. Currently (4.75+) this command patch branch at address 0x3A3A4 (bra sub_2E600). This command takes partially unused value. Value 0,1 do nothing, values 2 and above run command. Doesn't matter is 2,4, or 10. Nothing will change in command behavior.<br /> [Aeon Flux] uses 2 (gxemu config)<br /> [Bloodrayne 2] uses 4<br /> [GRIMgRiMoiRe] uses 4<br /> [Mana Khemia 2] uses 4<br /> [Odin Sphere] uses 4<br /> [SMT Persona 3 FES] uses 4<br /> [Parappa the Rapper 2] uses 0x14 (softemu config) or 0x4 (gxemu config)<br /> {{Boxcomm|id=0x16|name=N/A|data=N/A}}<br /> Command not available in ps2_netemu.self<br /> <br /> {{Boxcomm|id=0x17|name=COP0 configure MTC0/MFC0|data=1x int32 ?}}<br /> True/false. Default 0.<br /> &lt;br&gt;Command change behavior of MTC0/MFC0 operation of COP0 Count ($9) register. When enabled time base register is used as a base for calculation, when disabled decrementer register is used as a base for calculations (using emu syscall 12). <br /> [Bully] uses 1<br /> <br /> {{Boxcomm|id=0x18|name=N/A|data=N/A}}<br /> Command not available in ps2_netemu.self<br /> <br /> {{Boxcomm|id=0x19|name=Force analog controller mode|data=N/A}}<br /> Skips check for analog/digital controller mode and returns forced analog mode<br /> [Grand Theft Auto III]<br /> [Grandia II]<br /> [Red Faction 2]<br /> [Siren]<br /> <br /> {{Boxcomm|id=0x1A|name=Unknown|data=N/A}}<br /> IPU hack to end fromIPU DMA transfer on BCLR command (store 0 on D3_QWC and D3_CHCR.STR). Not stopping that transfer is actually correct behavior..<br /> <br /> {{Boxcomm|id=0x1B|name=Unknown|data=N/A}}<br /> When IDEC command don't finish, probably due to bad timings. Hack clear D3_CHCR.STR bit when there is still QW left in D3_QWC reg , and IDEC finished already. <br /> [Mana Khemia 2]<br /> <br /> {{Boxcomm|id=0x1C|name=Emulate Multitap|data=read uint32_t (use uint8_t)}}<br /> Enables/disables Multitap emulation. Default 3<br /> 0 = disable multitap emulation<br /> 1 = enable multitap in controller port 1 (when needed)<br /> 2 = enable multitap in controller port 2 (when needed)<br /> 3 = enable multitaps in both controller ports (when needed)<br /> [Medal of Honor: European Assault] uses 1<br /> [Twisted Metal: Black] uses 1<br /> <br /> <br /> {{Boxcomm|id=0x1D|name=Set Multitap|data=read uint32_t (use uint8_t)}}<br /> Sets multitap to specific controller ports and adjusts the order of ports to which controllers are synced. Default 0?<br /> 0 = no multitap set (only when needed)<br /> Controller sync order: 1/1-A, 2/2-A, 1-B, 2-B...<br /> 1 = sets multitap in controller port 1 at all times<br /> Controller sync order: 1/1-A, 1-B, 1-C, 1-D...<br /> 2 = sets multitap in controller port 2 at all times<br /> Controller sync order: 1/1-A, 2/2-A, 2-B, 2-C...<br /> 3 = sets multitaps in both controller ports at all times<br /> Controller sync order: same as 0<br /> [Medal of Honor: European Assault] uses 1<br /> [Twisted Metal: Black] uses 1<br /> [Mystic Heroes] uses 2 (game does not detect multitap in controller port 1)<br /> [Sonic Riders] uses 2 (GX config, game may not detect multitap in controller port 1)<br /> <br /> {{Boxcomm|id=0x1E|name=Multitap related|data=read uint32_t (use uint8_t)}}<br /> [FIFA 2001] uses 3 (settings for both multitaps?)<br /> <br /> {{Boxcomm|id=0x1F|name=Unknown|data=1x uint32_t}}<br /> Default 1<br /> Make VIF0 commands MSCAL/MSCALF/MSCNT/MPG/FLUSHE non instant. By default every VIF0 command take 1 cycle, so it's instant.<br /> This config give vif0 some timing sense.<br /> When delta from config passed and vpustat vu0 bits are non 0 (so practically if vif0 is still running),<br /> add 500 cycles and go on until next event test before doing anything on vif0.<br /> This can also be used to ensure that next vif0 command won't run until delta from config passed.<br /> Value from config is added to current r5900 cycles and vif0 will do nothing unless current cycles match new value.<br /> *Valid values found: 200d, 1000d<br /> <br /> {{Boxcomm|id=0x20|name=Unknown|data=1x uint64_t}}<br /> Default 0x3C<br /> Config value is used as multiplier for some value, and result is used in vsync related runtimes.<br /> Is worth to note that 0x3C is default multiplier even for PAL titles, so is not stricly related to framerate,<br /> but to vsync counters (where 0x3C is still wrong anyway..). Result of multiply is also compared at some point to vsync delay value. <br /> *Valid values found: 10d, 60d, 100d, 120d, 200d, 240d<br /> <br /> {{Boxcomm|id=0x21|name=Unknown|data=1x uint32_t}}<br /> Option one default value = 1, when set to 0: r5900 CACHE opcode IXLTG store 0 in COP0 TagLo register. More than that recompiler skip function responsible for analyze and emitting costly iCache checks.<br /> This drastically reduce emitted code size, and practically disable iCache emulation. Additionally CACHE IXIN/IHIN opcodes use different very long code path (this can be skipped with cmd 0x03).<br /> Option two default value = 0, when set to 1: Emit some kind of check for current r5900 PC with possible trap (tw opcode) at the end. 1 is valid only when option one is 0.<br /> <br /> 0 = sets an option one to 0 and option two to 0<br /> 1 = sets an option one to 0 and option two to 1<br /> 2 = sets an option one to 1 and option two to 0 (default)<br /> [Fatal Frame II] uses 0<br /> [Grand Theft Auto Vice City] uses 1<br /> [Grand Theft Auto III (EU)] uses 1<br /> [SMT Persona 3 FES] uses 0<br /> <br /> {{Boxcomm|id=0x22|name=Unknown|data=N/A}}<br /> Sets something 1<br /> <br /> {{Boxcomm|id=0x23|name=Unknown|data=N/A}}<br /> Copy VIF1 command 01h STCYCL handler struct into unused 08h slot (slots are 100 bytes per command, include pointer to function that handle command, and other data). Then patch slot 08h function pointers to function at 0x14E00. 08h is normally unused, and handled as a NOP. This command is useful only with additional 0x01 (0x13-0x15) hooks, which inject 08h VIF1 command into game code when other conditions are met.<br /> <br /> {{Boxcomm|id=0x24|name=Unknown|data=1x uint64_t}}<br /> SIO2 related<br /> *Valid values found: 12000d, 48000d<br /> <br /> {{Boxcomm|id=0x25|name=N/A|data=N/A}}<br /> Command not available in ps2_netemu.self<br /> <br /> {{Boxcomm|id=0x26|name=FPU Accurate ADD/SUB range|data=List &lt;uint32_t Param,uint32_t Param&gt;}}<br /> Improves FPU accuracy for selected memory range. Efective only on:<br /> ADD.s, SUB.s, ADDA.s, SUBA.s, MADD.s, MSUB.s, MADDA.s, MSUBA.s<br /> For M(UL) opcodes, command is active only on ADD/SUB stage.<br /> <br /> [Bloodrayne 2] uses 0x340000, 0x350000<br /> [Gradius V] uses 0x3046E0, 0x0x305E44<br /> Maximum Amount of Usage: 32 (if there is no additional 0x0F command)<br /> <br /> {{Boxcomm|id=0x27|name=VU0 macromode accurate range|data=List &lt;uint32_t Param,uint32_t Param&gt;}}<br /> Improves COP2 operations accuracy for selected memory range. Effective only for opcodes:<br /> VSUBAxyzw, VSUBAq, VSUBAi, VSUBA, VSUBxyzw, VSUBq, VSUBi, VSUB, VMSUBAxyzw,<br /> VMSUBAq, VMSUBAi, VMSUBA, VMSUBxyzw, VMSUBq, VMSUBi, VMSUB, VMADDAxyzw,<br /> VMADDAq, VMADDAi, VMADDA, VMADDxyzw, VMADDq, VMADDi, VMADD, VADDAxyzw,<br /> VADDAq, VADDAi, VADDA, VADDxyzw, VADDq, VADDi, VADD<br /> <br /> Maximum Amount of Usage: 32 (if there is no additional 0x0F command)<br /> Seems to affect only ADD/SUB part of opcode. <br /> <br /> {{Boxcomm|id=0x28|name=Unknown|data=1x uint32_t}}<br /> &lt;=3<br /> *Valid values found: 0, 1, 2, 3<br /> <br /> {{Boxcomm|id=0x29|name=Unknown|data=2x uint32_t}}<br /> Seek time modifier. Exact values meaning is unknown for now, they are used as multiplier. First param affect fast seek time, second param affect full seek time. Default value is 0x1F40, 0xBB80 (8000, 48000). Config affect only CDVD N Command Seek, read command that &quot;SeekToSector&quot; is not affected.<br /> <br /> {{Boxcomm|id=0x2A|name=Unknown|data=N/A}}<br /> Sets something 1. <br /> All-Star Baseball 2004<br /> <br /> {{Boxcomm|id=0x2B|name=Unknown|data=N/A}}<br /> When enabled emulated register 0x1F40200F (disc type) is set to 0x13 (PS2CDDA) when media type detected by emu is 0x12 (PS2CD), confirmed in emu code/assembly. Ps2_emu do same thing in &quot;Setting mecha HACK to show GODZCD as GODZCDDA&quot;, but due to real media support this is done in little bit different way (but still, 1F40200F is set to 0x13). During testing Dance Factory game, still no tracks are detected regardless of the command. Could be a netemu or Cobra issue (single, mixed mode .bin/.cue loaded).<br /> Dance Factory<br /> <br /> {{Boxcomm|id=0x2C|name=Unknown|data=1x uint32_t}}<br /> Store (value | value &lt;&lt; 32 | value &lt;&lt; 64 | value &lt;&lt; 96) on 0x2B4F0 of SPE 0 (IOP) LS.<br /> In summoner config it will be 0x00000001000000010000000100000001 stored at 0x2B4F0.<br /> Value is later used in clgt compare as rb register. Default seems to be 0x00000020000000200000002000000020.<br /> Summoner uses 0x1<br /> <br /> {{Boxcomm|id=0x2D|name=N/A|data=N/A}}<br /> Command not available in ps2_netemu.self<br /> <br /> {{Boxcomm|id=0x2E|name=Unknown|data=1x uint32_t}}<br /> *Valid values found: 0x172<br /> <br /> {{Boxcomm|id=0x2F|name=Unknown|data=1x uint32_t}}<br /> Store value on 0x2E784 in SPE 1 (PS2 SPU2) LS. Used values are 1, and 2 (after andi, so 3 trigger both configs).<br /> * Infamous Final Fantasy confirmation sound issue (in fact it does affect every sound effect using the reverb and only in the ps2_netemu) is fixed by 0x2 value.<br /> Indigo Prophecy/Fahrenheit uses 0x1<br /> Kengo 3 uses 0x2<br /> <br /> {{Boxcomm|id=0x30|name=N/A|data=N/A}}<br /> Command not available in ps2_netemu.self<br /> <br /> {{Boxcomm|id=0x31|name=N/A|data=N/A}}<br /> Command not available in ps2_netemu.self<br /> <br /> {{Boxcomm|id=0x32|name=N/A|data=N/A}}<br /> Command not available in ps2_netemu.self<br /> <br /> {{Boxcomm|id=0x33|name=N/A|data=N/A}}<br /> Command not available in ps2_netemu.self<br /> <br /> {{Boxcomm|id=0x34|name=N/A|data=N/A}}<br /> Command not available in ps2_netemu.self<br /> <br /> {{Boxcomm|id=0x35|name=Enable Force Flip Field|data=N/A}}<br /> Described in emu setting as &quot;''Fix for [Hang] for soft-lock''&quot;<br /> <br /> {{Boxcomm|id=0x36|name=N/A|data=N/A}}<br /> Command not available in ps2_netemu.self<br /> <br /> {{Boxcomm|id=0x37|name=N/A|data=N/A}}<br /> Command not available in ps2_netemu.self<br /> <br /> {{Boxcomm|id=0x38|name=N/A|data=N/A}}<br /> Command not available in ps2_netemu.self<br /> <br /> {{Boxcomm|id=0x39|name=N/A|data=N/A}}<br /> Command not available in ps2_netemu.self<br /> <br /> {{Boxcomm|id=0x3A|name=N/A|data=N/A}}<br /> Command not available in ps2_netemu.self<br /> <br /> {{Boxcomm|id=0x3B|name=N/A|data=N/A}}<br /> Command not available in ps2_netemu.self<br /> <br /> {{Boxcomm|id=0x3C|name=N/A|data=N/A}}<br /> Command not available in ps2_netemu.self<br /> <br /> {{Boxcomm|id=0x3D|name=Config revision|data=1x uint32_t}}<br /> Used by debug menu to print config revision. While every official and unofficial config use it, command is not mandatory. Debug menu will just print '''None''' as a config revision if command is missing. Official configs use this as a kind of debugging info to know minimal required emu revision.<br /> <br /> {| class=&quot;wikitable&quot; style=&quot;font-size:1em; line-height:1em&quot;<br /> |+Config commands supported by emulator revision<br /> ! Supported Commands !! ps2_netemu Revision !! PS3 Firmware<br /> |-<br /> | Up to 0x41 || 15686 || 3.70 or newer<br /> |-<br /> | Unknown || 16040 || Unknown<br /> |-<br /> | Up to 0x43 || 16604 || 4.20 or newer<br /> |-<br /> | Up to 0x45 || 16808 || 4.30 or newer<br /> |-<br /> | Up to 0x46 || 16916 || 4.40 or newer<br /> |-<br /> | Up to 0x48 || 17041 || 4.45 or newer<br /> |-<br /> | Up to 0x4A || 17179 || 4.50 or newer<br /> |-<br /> | Up to 0x4D || 17277 || 4.55 or newer<br /> |- <br /> | Up to 0x50 || 17495 || 4.78 or newer<br /> |}<br /> See: [[PS2_Emulation#PS2 Emulator Types and Revisions|PS2 Emulator Types and Revisions]]<br /> <br /> {{Boxcomm|id=0x3E|name=Unknown|data=N/A}}<br /> Similar to 0x0D with param 0. Affect the same IOP related code path, but skips more code. <br /> <br /> <br /> {{Boxcomm|id=0x3F|name=Unknown|data=1x uint32_t}}<br /> Store value on 0x2B700 of SPE 0 (IOP) LS. SIF1 DMA related.<br /> <br /> {{Boxcomm|id=0x40|name=Unknown|data=N/A}}<br /> Command change GIF behavior by setting value to 1 at address 0x2F0 LS in SPU4.<br /> Grand Theft Auto SA<br /> Silent Hill Origins - unofficial fix<br /> <br /> {{Boxcomm|id=0x41|name=Unknown|data=N/A}}<br /> When enabled ignore D_ENABLEW (1000F590) writes from EE on SPE3 (EEDMA). D_ENABLER is updated regardless of cmd on PPE side. Enabling that command nullify 0x01 hooks for Max Payne!<br /> Dragon Force<br /> God Hand<br /> Gradius V<br /> Katamari Damacy<br /> <br /> {{Boxcomm|id=0x42|name=EE Overlay patch|data=2 main Params + patch data: uint32_t address, uint32_t count, opcode,opcode,opcode...}}<br /> Applied on game start (more precisely while executing ps2 bios syscall 7 ExecPS2), if game overwrite selected part of memory, it will wipe 0x42 patch. See [[Special:Diff/67828/67858]]<br /> Start address can be (in theory) anywhere, but Sony used the 0xFF000 - 0xFFFFC range for this purpose.<br /> Count is size of patch in 4 bytes opcodes. So 5 opcode patch = count 5.<br /> Opcodes will be placed on selected address, we use only patch code, no need for original opcode.<br /> Next opcode addresses are auto calculated (+4..) so we need to specify only patch start address.<br /> Remember we need to jump to our new code, best way is command 0x0A with j (jump) opcode.<br /> Also is important to add return jump if required. That one need to be added in our 0x42 patch.<br /> Maximum opcodes count seems to be 0x3FF (1023 opcodes).<br /> <br /> {{Boxcomm|id=0x43|name=Unknown|data=1x int32}}<br /> Equal to command 0x40, but with Parameter:<br /> Command change GIF behavior by setting value at address 0x2F0 LS in SPU4, correct values are:<br /> 0 = Default<br /> 1 = More agressive changes (like 0x40)<br /> anything other = less agressive changes<br /> Code on SPU side check for non zero value, and in few places explicitly for 1 (ceqi rxx,rxx,1) without mask. <br /> Config have weird behavior. When there is no param, and config end (no more bytes after 43 00 00 00), then param 0xFFFFFFFF is set automatically. <br /> <br /> Shin Sangoku Musou uses 0xFFFFFFFF<br /> <br /> {{Boxcomm|id=0x44|name=Disables Smoothing and Smoothing option|data=N/A}}<br /> <br /> {{Boxcomm|id=0x45|name=Unknown|data=N/A}}<br /> Sets something 1<br /> Prevent display_mode 2 (CELL_GCM_DISPLAY_576_unk) [640x576]<br /> and display_mode 0 (CELL_GCM_DISPLAY_480_unk) (60Hz?) [640x480]<br /> from beign set.<br /> <br /> Allow display_mode 1 (CELL_GCM_DISPLAY_480_unk2) (59Hz?) [640x480]<br /> and display_mode 5 (CELL_GCM_DISPLAY_720P_59) [1280x720]<br /> depending on sys_info.video_mode &amp; 0x200 is 0 or not.<br /> Both 480 modes can be either I or P, so is something else, probably 59/60Hz.<br /> This config possibly affect only in-emu UI, but this require testing.<br /> <br /> Phantasy Star Complete Collection<br /> <br /> {{Boxcomm|id=0x46|name=Enable L2H Improvement|data=N/A}}<br /> Performance related setting for titles using L2H (Local to Host, so called GS download (from GS to EE))<br /> SMT Digital Devil Saga 1 - Crazy amount of GS downloads used to draw characters in-game<br /> SMT Nocturne<br /> Fatal Frame II<br /> Other games affected (not in official config)<br /> Soul Calibur 2 - When looking at the sun<br /> GT4 - When looking at the sun<br /> Valkyrie Profile 2 - Similar situation to SMT DDS1, in Solde game literally do thousands of 30QWC downloads all the time.<br /> Tak and the Power of JuJu - Fix freeze during loading of the Burial Ground level in the NTSC version. This probably getting lucky with VIF1/GIF timing, normally command is not supposed to fix hang issues.<br /> <br /> {{Boxcomm|id=0x47|name=Enables XOR CSR|data=N/A}}<br /> Graphics related setting.&lt;br&gt;<br /> XOR bit 13 of GS CSR register (CSR.FIELD). Should fix fullscreen line corruption, maybe some interlacing issues. Long shot, but can possibly affect SCANMSK games.<br /> <br /> {{Boxcomm|id=0x48|name=VSYNC Delay|data=2x uint32_t}}<br /> *First param possible value are 1 = No IPU, 2 = IPU, 3 = Anytime.<br /> *Second param is delay (in ms?), and can be also negative value.<br /> **Emu has standard presets for second param.<br /> ***Agressive = 0x3D090 (250000 decimal),<br /> ***Normal = 0x186A0 (100000 decimal),<br /> ***Conservative = 0x4E20 (20000 decimal),<br /> ***But other values can be used.<br /> [SMT Digital Devil Saga 1] uses 1, 0x3D090<br /> [Fatal Frame II] uses 0x2, 0xFFFFE69C (-6500 decimal)<br /> <br /> {{Boxcomm|id=0x49|name=Unknown|data=N/A}}<br /> Skip part of code which use GS XYOFFSET_1 register, possibly ignore it at all. <br /> Trapt<br /> <br /> {{Boxcomm|id=0x4A|name=Unknown|data=N/A}}<br /> Change VIF1 command 14h MSCAL behavior to use 15h MSCALF (VIF1) instead. MSCALF behavior is the same as MSCAL, but also waits for PATH1 and PATH2 to not be active before starting a microprogram. This is hack, and MSCAL should be fixed instead to wait in queue instead of triggering early.<br /> Applies to the Snowblind Engine games. Fixes the rest of flickering textures.<br /> Meant to be used in conjunction with the GX/SOFT Snowblind Engine's specific commands (double 0x01 and 0x23 combo).<br /> <br /> {{Boxcomm|id=0x4B|name=Redirect SAVEDATA by ID|data=2x uint32_t + ID: offset, int, char[]}}<br /> For proper config we need at least 2 (can be more if needed) 0x4B commands, one to enable redirect, one to disable.<br /> First param is EE memory offset that when is hit enable/disable redirection.<br /> Second param is used to select which card will be redirected:<br /> 0x00 do nothing<br /> 0x01 for SCEVMC0.VME<br /> 0x02 for SCEVMC1.VME<br /> 0x03 for SCEVMC0.VME and SCEVMC1.VME<br /> 0xFFFFFFFF to disable redirection, and use original VMEs.<br /> Third param is ID of SAVEDATA we want to use padded with 00 to match 12 bytes, or all 00 in disable redirect config.<br /> Important note here is that config have own 00 00 00 00 terminator at the end. <br /> So after 12 bytes of ID we need to add 4 bytes of 00. That apply also to disable redirect version.<br /> Under the hood config also setup 0x01 hook commands with 0x39 subcommand on selected addresses. <br /> <br /> {{Boxcomm|id=0x4C|name=Unknown|data=2x uint32_t + ID: offset, int, char[]}}<br /> Used to redirect to different ISO without game reset. First param is EE offset to hook, second param is some kind of mode selector, depending on that <br /> emulator later set mecha switch disc state:<br /> mode 0x01 = set disc switch state to 1 (on next mecha main loop it will emulate opening the tray).<br /> mode 0x02 = set disc switch state to 3.<br /> mode 0x03 = set disc switch state to 3. This state repeats because it work different way depending that emulated tray is closed or no.<br /> mode 0x04 = set disc switch state to 2.<br /> mode anything else = do nothing.<br /> Third value is ID in big endian hex ascii (eg. NPJD12345), additionally 0x4C expect own 00 00 00 00 terminator. To eventually end redirection use <br /> another 0x4C but with (offset, 0xFFFFFFFF, 4 * 0x00000000 . This config have very similar usage to 0x4B, just redirect to different iso, instead to <br /> different MC. Currently is unknown that cobra patched emulators support that config properly, and swap disc thru 0x00 command seems to be easier.<br /> This config don't work if 0x00 multidisc config is detected. Config under the hood setup 0x01 hooks with subcommand 0x3A<br /> <br /> {{Boxcomm|id=0x4D|name=Unknown|data=1x uint32_t}}<br /> Param is floating point value. Default value 0.<br /> if Q in GS RGBAQ write is 0.0 or -0.0 then<br /> Q = Q | value from config<br /> else<br /> Q = Q<br /> <br /> Wild Arms: The Fifth Vanguard uses 0x3F800000 (1.0)<br /> <br /> {{Boxcomm|id=0x4E|name=Unknown|data=Unknown}}<br /> <br /> {{Boxcomm|id=0x4F|name=Unknown|data=Unknown}}<br /> <br /> {{Boxcomm|id=0x50|name=Enable pressure sensitive controls|data=N/A}}<br /> <br /> ===Config file examples (for netemu)===<br /> <br /> ====Official PS2 Classic====<br /> See: [[PS2 Official Configs]]<br /> <br /> ====Official GXEMU/SOFTEMU extracted====<br /> See: [[PS2 Official Configs]]<br /> <br /> ==== Custom Configs ====<br /> See: [[PS2 Custom Configs]]<br /> <br /> ===Config data examples (hardcoded)===<br /> ====Inside ps2_emu.self====<br /> Embedded patches are based on Checksum/Hash of title. ps2_emu is only emulator version where patches are described inside self file in ascii. Known patch types described in ascii are: Patch data, new SPU2 params, and Setting mecha HACK to show GODZCD as GODZCDDA.<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> ! PS2 Title !! Hash !! Game !! Patch Type !! Data<br /> |-<br /> | SCUS_971.46|| 0x6B1ADE00D||Disney's Treasure Planet || Patch data - Fixes black screen at start, it apply to STREAM_D.IRX file in IOP folder. || 0x147C (sector) , 0x580 (offset) (- 0xC on disc) <br /> Replace opcodes<br /> 00 01 01 3C lui at,0x0100<br /> 80 BF 03 3C lui v1,0xBF80<br /> C8 10 63 8C lw v1,0x10C8(v1)<br /> 24 18 61 00 and v1,at<br /> FB FF 61 10 beq v1,at, -0x10<br /> 00 00 00 00 nop <br /> <br /> Original opcodes<br /> FF FF 01 24 li at,-0x1<br /> 04 00 61 14 bne at,v1, +0x14<br /> 00 80 01 3C lui at,0x8000<br /> 02 00 41 14 bne at,v0, +0x0C<br /> 00 00 00 00 nop <br /> 0D 00 06 00 break <br /> |-<br /> |SLUS_201.74 ||0x23D92589C5|| Rumble Racing || Patch data - fixes black screen after Playstation 2 logo. Patch apply to AUDIO.IRX file in MODULES folder || 0x3AEDA (sector), 0x120 (offset)<br /> Replace opcodes<br /> 06 00 80 14 bnez a0, +0x1C<br /> 21 20 43 00 addu a0,v0,v1<br /> 21 10 A0 00 move v0,a1<br /> 02 00 A0 14 bnez a1, +0x0C<br /> 00 00 00 00 nop <br /> 01 00 05 24 li a1,0x1<br /> EB FF 40 10 beqz v0, -0x50<br /> 04 00 84 24 addiu a0,0x4<br /> FC FF 90 24 addiu s0,a0,-0x4<br /> <br /> Original opcodes<br /> 07 00 80 14 bnez a0, +0x20<br /> 21 80 43 00 addu s0,v0,v1<br /> 21 10 A0 00 move v0,a1<br /> 02 00 A0 14 bnez a1, +0x0C<br /> 00 00 00 00 nop <br /> 01 00 05 24 li a1,0x1<br /> FC FF 40 10 beqz v0, -0x0C<br /> 00 00 00 00 nop <br /> 04 00 04 26 addiu a0,s0,0x4<br /> <br /> |-<br /> |SLUS_211.96||0x24D92589D5|| Indigo Prophecy || new SPU2 params || 1<br /> |-<br /> |SLPM_661.93||0x608634992D|| &lt;abbr title=&quot;https://www.gamefaqs.com/ps2/544598-indigo-prophecy/data&quot;&gt;Fahrenheit (NTSC-J)&lt;/abbr&gt; || new SPU2 params || 1<br /> |-<br /> |SLUS_212.96||0x5CA15DF14D|| Dance Factory ||Setting mecha HACK to show GODZCD as GODZCDDA ||<br /> |}<br /> <br /> ====Inside ps2_gxemu.self/ps2_softemu.self====<br /> There are hundreds of configs hidden in ps2_gxemu, and ps2_softemu self files. Internal config structure is basing on custom hash based on Title ID, internal memory offset pointing to place where true patch instruction is, and count of used commands. When disc/iso is started emulator search for configs, and if config for selected ID exist, then emulator apply it by itself. Is not perfect way of applying patches, because some games use the same ID, but different content. Good example here is Star Wars Battlefront II SLUS-21240, where some versions of game can refuse to work because it apply bad patch.<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> ! PS2 Title !! Hash !! Game !! Patch Type !! Data<br /> |-<br /> | || || || || <br /> |}<br /> <br /> ==Known Emulation Bugs==<br /> This list known bugs inside emulator code that make emulation inaccurate. Since those are only EE side bugs for now, ps2_gxemu/ps2_netemu/ps_softemu share the same issues. <br /> {| class=&quot;wikitable sortable&quot;<br /> ! Bug !! Description !! Known Affected Games<br /> |-<br /> | Missing Emotion Engine Data Cache emulation || Emulating that is literally not possible without making games run at 3 fps. Fixed by patches to game image, or EE code. Instruction Cache (not Data) seems to be implemented, at least partially. || Ice Age 2, DOA2: Extreme, Nascar 2009.<br /> |-<br /> | Branch delay slot violation not supported on EE || Some games have Branch instruction inside Branch delay slots, this is not emulated correctly on EE (VU have proper emulation of that). This is patched in configs by rearangging MIPS code. || WRC 3,4,Rally Evolved, one of Action Replay discs. <br /> |-<br /> | Unmapped write only EE memory (confirmed only for SIF) || Reads/Writes to 0x2000000+ shouldn't throw bus error on dma transfers. Write should be performed as successful, memory should stay unchanged. Reads should return 0. || Games developed by In Utero, while creating initial save file, send DMA where address is EE stack pointer. At the time of transfer start $sp is too high, and requested transfer size make MADR overflow above 0x2000000 at some point. This is game bug, and happen also on real hardware. Fixed by config.<br /> |-<br /> | VIF bugs || There is no correct timing, and queuing for some VIF commands like MSCAL. || Snowblind Engine games. Probably more. <br /> |-<br /> | XGKick is instant || Some games expect to XGKick happen few cycles in future, on PS3 is done instant. Fixed by config 0x07 which delay XGKick by selected value || WRC series, Wakeboarding Unleashed, TriAce games, World of Outlaws - Sprint Cars, Ty - The Tazmanian Tiger, dot Hack - G.U. series, and more<br /> |-<br /> | COP2 instructions are instant || Some games rely on fact that COP2 operations can take some time, on PS3 emulators they are done instantly due to lack of correctly emulated pipeline Patched by rearranging mips code || FFX, FFX-2, Ghost in The Shell SAC, Ace Combat series, Sprint Cars 1/2, Black, Run Like Hell, Everblue 2, Dragon Quest - Shounen Yangus no Fushigi na Daibouken, and many more<br /> |-<br /> | VU0 is not running in sync with EE core || VU0 is running program &quot;at once&quot;, which mean that VU0 run until it hits E bit. From EE perspective it looks like whole VU0 program run in 1 cycle. Games that expect VU0 registers to be changed from EE side while VU0 is running are broken due to that. Partially resolved using 0x12 command with 2/3 subcommands, or by code rearranging.|| 24 The Game, ATV Quad Power Racing 2, Twisted Metal Head-On, Primal, Ghosthunter, Rayman Arena, Rayman 3, Largo winch. All games using M-bit. <br /> |-<br /> | M-Bit not supported || Emulator ignore VU0 M-Bit, that cause issues for games that need it to work correctly. This is done because there is no way to sync correctly running VU0 without sync with EE. Partially resolved on emu using 0x12 command with 2/3 subcommands, or direct VU0/MIPS code rearranging. || Totally Spies! Totally Party, Mike Tyson Heavyweight Boxing, My Street, Crash Twinsanity, Marvel Nemesis, Panzer Elite Action - Fields of Glory, TriAce games (speed optimizations only), Super Monkey Ball Adventure, most Eko Software games, and many more.<br /> |-<br /> | T-Bit not supported on VU0 || Emulator ignore VU0 T-Bit, that cause issues for games that need it to work. Note: T-Bit is correctly handled for VU1. || Spiderman 3 set T-Bit, then do cfc2 from TPC (address where VU0 stopped). Since T-Bit is ignored, TPC is wrong. Value is later copied to CMSAR0, and program continue at wrong address. Well that's what should happen, but T-Bit also not signalize correct bit in VPU-STAT. Causing another issue, also in Spiderman 3. <br /> |-<br /> | Emulator do not update correct flag instances for COP2 while ending VU0 program on Ebit || This cause few games to read bad flag status (not status flag!) on COP2. This is resolved on emu by forcing update of MAC flag on every STATUS flag read (by config 0x12), this cause slowdowns creating a lot of unnecessary operations. || Driving Emotion Type-S, State of Emergency 2, The Getaway Black Monday.<br /> |-<br /> | Not updated status flag when VDIV/VSQRT/VRSQRT is done on COP2 || Potential bad flag state can cause a lot of issues that are not related on first sight || Yanya Caballista (already patched by custom config)<br /> |-<br /> | In corner cases emu select wrong block flags pipeline state (both VU0/EEonBE and VU1/VRC affected). || This can cause various issues, mostly SPS, missing graphic, specific slowdowns, etc. Issue seems to occur when branch/jump delay slot have opcode important for flags calculation. Theory is that cached microprogram don't include modified flags state from delay slot instruction. So when already recompiled program is fetched from pool, it will miss one cycle in fmac flags pipeline. This can be crucial in games that rely on it. || Tales of Legendia and Klonoa 2 set sticky flag bits to 0 and branch with sub.xyzw in delay slot (expecting that sub change status flag), Tamsoft engine games set sticky bits to 0 in branch delay slot, this was most ridiculous bug, because problematic branch was pointing to next opcode after delay slot, removing branch was enough. True Crime: NY is only known game where VU0 is affected by this bug. more..<br /> |-<br /> | CTC2 opcode write whole value to R register, while only 23 bits are writable. Rest is hardcoded to 0x3F800000. || Can cause many weird issues like broken physics, broken graphics. PCSX2 was also affected [[https://github.com/PCSX2/pcsx2/pull/6611 more]]. || The one game that is known to be affected, and is already patched, is Musashi: Samurai Legend.<br /> |-<br /> | CFC2 from R register should return only 23 lower bits. || CFC2 from R on real PS2 return only lower 23 bits. Originally found out by PCSX2 team [[https://github.com/PCSX2/pcsx2/pull/8409 more]] and later confirmed to affect ps2_netemu in emu assembly. || There is only one game that is known to be affected, Onimusha Dawn of Dreams.<br /> |-<br /> | Missing floating point result overflow/underflow detection (U/O flags not set) || Since this affect all units (FPU/VU), many issues can occur. But in reality it seems to not affect any games. While this is easier to implement than on x86 system (full floats range, compared to ieee754), there is no way to do that by hardware way. Because SPU add/sub don't set those flags on single precision operations, and vmx have them disabled in spu compatibility mode. || Superman Returns.<br /> |-<br /> | DMA between SPR and VU1 memory cause emulator panic. || Currently cause is unknown. It seems that functions responsible for transfer don't check that VU is running. Manual state that dma can be performed only when VU is not active, and pcsx2 wait until VU end. Games affected in emulators on ps3 display this warning in pcsx2 if mtvu is enabled: &quot;MTVU: SPR Accessing VU1 Memory&quot;. Affected games are fixed by rearranging code to do lq/sq loop instead of DMA. || Summoner 2 (SPRfrom to VU1 data mem), Kaena (SPRto from VU1 data mem).<br /> |-<br /> | IOP SIF0/1 DMA IRQs can be disabled (masked), which is not true on real hardware. || IOP interrupts 0x2A and 0x2B should always trigger. Fixed by patches to IOP code. Ps2_emu seems to be unfacted, probably handled on real hw in CXD9208GP. || Knockout Kings 2001, DOA2: Hardcore.<br /> |}<br /> ===Software emulation bugs===<br /> Related to the GS emulation issues mostly. Apply to the ps2_netemu especially.<br /> {| class=&quot;wikitable sortable&quot;<br /> ! Bug !! Description !! Known Affected Games<br /> |-<br /> | No mipmapping support || Emulator does ignore the mipmap layers, probably for performance reasons. It is processing only the level 0 texture base pointer specified in the TEX0 register. There are games writing a garbage data into that memory area, when the mipmap level is different than zero. As a result, a garbled texture is shown instead of a correct one. || Ace Combat series, Ape Escape 2, EA Sports F1 series, Harry Potter series, ICO (psuedo volumetric rays), Jak and Daxter series, Nickelodeon Barnyard and Nicktoons Unite (very strange implementation), Ratchet and Clank series and more.<br /> |-<br /> | SCANMSK register ignored || Emulator does ignore the SCANMSK setting responsible for restricting the drawing primitives on the odd or even lines. It is used as a fake transparency effect in some games by merging the two display circuits. || Metal Gear Solid series (heavy used in the MGS2 on the water and reflection effects), Gran Turismo series (ghost cars), Raw Danger! (depth of field/tonemapping effect)<br /> |-<br /> |}<br /> <br /> ==TitleID/DiscID in ps2_netemu.self==<br /> There are 193 titleIDs listed inside ps2_netemu.self. More precisely, into XPARAM2.ELF file of PS2 Bios included in ps2_netemu.self. XPARAM2.ELF is called by OSDSYS, then ID check is performed. If title ID match to one of included in the table, different IOP emulation settings are applied.<br /> There are internal flags related to every title ID included inside file, still unknown what they do. Also some arguments, in plain text. File in real ps2 is introduced in SCPH-750XX models so exactly when DECKARD Power PC chip exchanged original IOP chip. This can explain why it is still in PS3 netemu bios. Because PS3 it is ppc that can need the same/similar flags.<br /> <br /> Original PS2 bios include similar list file called XPARAM.ELF, but Title IDs there are not the same, although some of them exist on both lists.<br /> <br /> {| class=&quot;wikitable sortable&quot; || <br /> |- <br /> ! Command !! Name<br /> |-<br /> | 0x00 || TITLE_MASK <br /> |-<br /> | 0x01 || SIO2_MASK<br /> |-<br /> | 0x02 || DEV9_MASK<br /> |-<br /> | 0x03 || USB_MASK<br /> |-<br /> | 0x04 || SIF_DMA_SYNC<br /> |-<br /> | 0x05 || SIF_DMA_LOAD<br /> |-<br /> | 0x06 || DMAC_CH10_INT_DELAY<br /> |-<br /> | 0x07 || MECHA_RECOGTIME<br /> |-<br /> | 0x08 || CPU_DELAY<br /> |-<br /> | 0x09 || DEV5_INT_SPEED<br /> |-<br /> | 0x0A || CDVD_READ_DELAY<br /> |-<br /> | 0x0B || SPU2_BEHAVIOR<br /> |-<br /> |}<br /> <br /> {| class=&quot;wikitable sortable&quot; || <br /> |- <br /> ! ID !! Title !! Command !! Value !! Remarks <br /> |- <br /> |PBPX_952.01 || DVD Utility Disc Version 1.00 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.02 || DVD Utility Disc Version 1.01 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.03 || DVD Utility Disc Version 1.01 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.06 || DVD Player (Version 2.01) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.07 || DVD Player (Version 2.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.08 || DVD Player (Version 2.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.09 || DVD Player (Version 2.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.10 || DVD Utility Disc Version 2.10 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.11 || DVD Utility Disc Version 1.00 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.21 || DVD Player (Version 2.12) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.22 || DVD Player (Version 2.14) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.24 || DVD Player (Version 2.16) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.28 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.35 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.39 || Online Start Up Disc v3.0 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.01 || Linux for PS2 Beta Release 1 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.07 || Playstation 2 Linux Runtime Environment v1.0 (Disc 1) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.09 || Linux for PS2 Release 1.0 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.18 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PDPX_991.09 || DVD Player (Version 3.04) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PSXC_002.01 || PSX Update Disc 1.10 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PSXC_002.02 || PSX Update Disc 1.20 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PSXC_002.03 || PSX Update Disc 1.31 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PTPX_970.38 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCAJ_201.25 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCAJ_201.26 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCES_532.02 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCKA_200.49 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCPM_621.15 || || 0x00 || 0x1000000 || TITLE_MASK<br /> |-<br /> |SCPM_621.16 || || 0x00 || 0x1000000 || TITLE_MASK<br /> |-<br /> |SCPN_601.01 || PlayStation BB Navigator (Version 0.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.30 || PlayStation BB Navigator (Version 0.20) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.40 || PlayStation BB Navigator (Version 0.30) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.50 || PlayStation BB Navigator (Version 0.31) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.60 || PlayStation BB Navigator (Version 0.32) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPS_110.01 || I.Q. Remix || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPS_110.10 || Yoake no Mariko (Performance Pack Edition) || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_110.18 || Yoake no Mariko || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_110.21 || Yoake no Mariko 2nd Act (Limited Edition) || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_110.22 || Yoake no Mariko 2nd Act || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_150.38 || Lifeline || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SCPS_150.39 || Lifeline || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SCPS_170.01 || Gran Turismo 4 || 0x0B || 0x10000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCPS_175.01 || Linux (for PlayStation2) Release 1.0 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPS_200.39 || || 0x00 || 0x4000000 || TITLE_MASK<br /> |-<br /> |SCUS_971.67 || PaRappa the Rapper 2 || 0x04 || 0x2000 || SIF_DMA_SYNC<br /> |-<br /> |SCUS_972.69 || Final Fantasy XI [Disc 2] || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLES_500.48 || Donald Duck: Quack Attack || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_500.62 || Orphen: Scion of Sorcery || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLES_503.64 || City Crisis || 0x0A || 0x80BB8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_504.46 || Shadow Man 2: The Second Coming || 0x0A || 0x80600 || CDVD_READ_DELAY<br /> |-<br /> |SLES_505.40 || Simpsons: Road Rage || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_506.08 || Shadow Man 2: The Second Coming || 0x0A || 0x80600 || CDVD_READ_DELAY<br /> |-<br /> |SLES_506.28 || Simpsons: Road Rage || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_507.28 || Tiger Woods PGA Tour 2002 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_507.29 || || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_512.82 || Tiger Woods PGA Tour 2003 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_514.79 || Def Jam Vendetta || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLES_518.41 || SpyHunter 2 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_518.44 || Time Crisis 3 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_519.97 || SWAT: Global Strike Team || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_520.97 || SWAT: Global Strike Force || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_530.37 || Super Monkey Ball Deluxe || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLES_536.68 || Micro Machines v4 || 0x01 || 0x801 || SIO2_MASK<br /> |-<br /> |SLES_537.55 || Castlevania: Curse of Darkness || 0x04 || 0x10 || SIF_DMA_SYNC<br /> |-<br /> |SLES_537.96 || FIFA Street 2 || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_620.42 || Kurogane no Houkou: Warship Commander || 0x01 || 0x3000 || SIO2_MASK<br /> |-<br /> |SLPM_620.62 || Gitaroo Man One || 0x0A || 0x80540 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_621.05 || Taikou Risshiden IV || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPM_621.24 || Ready 2 Rumble Boxing: Round 2 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_621.25 || Gauntlet: Dark Legacy || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPM_621.25 || Gauntlet: Dark Legacy || 0x09 || 0x2B470005 || DEV5_INT_SPEED<br /> |-<br /> |SLPM_621.35 || Final Fantasy: XI (Beta Version) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SLPM_621.54 || DDRMAX Dance Dance Revolution 6thMix || 0x08 || 0x1A5E || CPU_DELAY<br /> |-<br /> |SLPM_622.39 || Supercar Street Challenge || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_623.69 || Karaoke Revolution: J-Pop Vol.1 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.79 || Karaoke Revolution: J-Pop Vol.2 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.80 || Karaoke Revolution: J-Pop Vol.3 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.81 || Karaoke Revolution: J-Pop Vol.4 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.82 || Karaoke Revolution: Love &amp; Ballad || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.83 || Karaoke Revolution: Night Selection 2003 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.14 || Karaoke Revolution: Dreams &amp; Memories || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.37 || Suisui Sweet: Amai Ai no Mitsukekata || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_624.50 || Karaoke Revolution: Anime Song Selection || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.51 || Karaoke Revolution: J-Pop Vol.5 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.54 || Karaoke Revolution: J-Pop Vol.6 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.55 || Karaoke Revolution: J-Pop Vol.7 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.56 || Karaoke Revolution: J-Pop Vol.8 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.57 || Karaoke Revolution: Snow &amp; Party || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.64 || Pop'n Taisen Pazurudame Online || 0x08 || 0x1F40 || CPU_DELAY<br /> |-<br /> |SLPM_624.79 || Karaoke Revolution: J-Pop Vol.9 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.91 || Mega Man: The Power Battle || 0x04 || 0x2000 || SIF_DMA_SYNC<br /> |-<br /> |SLPM_624.92 || Karaoke Revolution: Kids Song Selection || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_625.28 || Karaoke Revolution: Kazoku Idol Sengen (Bundle Edition) || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_625.29 || Karaoke Revolution: Kazoku Idol Sengen || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_650.86 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 (Disc 1) || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPM_650.87 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 (Disc 2) || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPM_650.90 || Spy Hunter || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_651.97 || Nobunaga's Ambition Online || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_652.09 || Star Ocean: Till the End of Time || 0x0B || 0x20014 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_654.38 || Star Ocean: Till the End of Time (Director's Cut) (Disc 1) || 0x0B || 0x20014 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_654.39 || Star Ocean: Till the End of Time (Director's Cut) (Disc 2) || 0x0B || 0x20014 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_654.88 || Grand Theft Auto: Vice City || 0x0A || 0x300 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_654.88 || Grand Theft Auto: Vice City || 0x09 || 0x36000200 || DEV5_INT_SPEED<br /> |-<br /> |SLPM_656.33 || I Love Baseball: Pro Yakyu wo Koyonaku || 0x08 || 0xFA0 || CPU_DELAY<br /> |-<br /> |SLPM_656.98 || Love Songs: ADV Futaba Riho 14-sai Natsu || 0x0A || 0x80380 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_657.05 || Final Fantasy XI: Chains of Promathia (Expansion Disc) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_657.06 || Final Fantasy XI: Chains of Promathia (All-In-One Edition) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_657.19 || Burnout 3: Takedown || 0x01 || 0x1C00 || SIO2_MASK<br /> |-<br /> |SLPM_657.83 || Nobunaga no Yabou Online: Tappi no Shou || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_658.94 || Winning Post 6: 2005 Version || 0x01 || 0x2400 || SIO2_MASK<br /> |-<br /> |SLPM_659.34 || Maple Colors || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_659.53 || Final Fantasy: XI (Entry Disc 2005) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_659.84 || Grand Theft Auto: San Andreas || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_660.33 || The Sword of Etheria || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPM_660.33 || The Sword of Etheria || 0x00 || 0x2000000 || TITLE_MASK<br /> |-<br /> |SLPM_660.48 || The Sword of Etheria || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPM_660.48 || The Sword of Etheria || 0x00 || 0x2000000 || TITLE_MASK<br /> |-<br /> |SLPM_660.57 || Taito Memories Vol.1 || 0x08 || 0xCE4 || CPU_DELAY<br /> |-<br /> |SLPM_661.56 || Marheaven: Arm Fight Dream || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_661.75 || Akumajo Dracula: Yami no Juin || 0x08 || 0x60 || CPU_DELAY<br /> |-<br /> |SLPM_661.75 || Akumajo Dracula: Yami no Juin || 0x0B || 0x2001C || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_663.93 || Final Fantasy XI: Treasures of Aht Urhgan (All-In-One Edition) || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_663.93 || Final Fantasy XI: Treasures of Aht Urhgan (All-In-One Edition) || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPM_663.93 || Final Fantasy XI: Treasures of Aht Urhgan (All-In-One Edition) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_663.94 || Final Fantasy XI: Treasures of Aht Urhgan || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_664.36 || Aria the Natural || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_664.36 || Aria the Natural || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLPM_665.39 || Nobunaga no Yabou Online: Haten no Shou || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_665.58 || Tomb Raider: Legend || 0x08 || 0x3E8 || CPU_DELAY<br /> |-<br /> |SLPM_665.74 || Detective Evangelion || 0x00 || 0x2000000 || TITLE_MASK<br /> |-<br /> |SLPM_680.07 || Karaoke Revolution (Trial) || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_680.10 || || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPS_200.08 || Morita Shogi || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPS_200.20 || FIFA 2000 World Championship || 0x04 || 0x2001 || SIF_DMA_SYNC<br /> |-<br /> |SLPS_200.37 || Go Go Golf || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_200.38 || Grappler Baki: Baki Saidai no Tournament || 0x08 || 0x1194 || CPU_DELAY<br /> |-<br /> |SLPS_200.53 || Tenshi no Present: Marle Oukoku Monogatari (Limited Edition) || 0x0B || 0x20000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_200.66 || Tenshi no Present: Marle Oukoku Monogatari || 0x0B || 0x20000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_201.01 || City Crisis || 0x0A || 0x80BB8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_201.11 || Magical Sports Pro Baseball 2001 || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_201.72 || Koushien: Konpeki no Sora || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_201.73 || Hard Hitter 2 || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_201.97 || Surfing Air Show with RatBoy || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_201.99 || F1 2002 || 0x0B || 0x20005 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_202.00 || Final Fantasy XI || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPS_204.04 || Rakushou! Pachi-Slot Sengen 2 || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_204.29 || Hissatsu Pachi-Slot Evolution: Ninja Hattori-Kun V || 0x08 || 0x1B58 || CPU_DELAY<br /> |-<br /> |SLPS_204.55 || Simple 2000 Series Vol.94: The Aka-Champion - Come on Baby || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_250.08 || Sorcerous Stabber Orphen || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPS_250.71 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPS_250.72 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPS_250.81 || Saishuu Densha || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_251.36 || Kuon no Kizuna Sairin Mikotonori || 0x0A || 0x805DC || CDVD_READ_DELAY<br /> |-<br /> |SLPS_251.42 || Tiger Woods PGA Tour 2002 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_251.50 || Only You || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_252.37 || Only You || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_252.75 || Def Jam: Vendetta || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLPS_252.78 || Memories Off: Mix || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_252.90 || Time Crisis 3 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLPS_253.15 || One Piece: Grand Battle 3 || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPS_253.57 || 3-Nen B-Gumi Kinpachi Sensei: Densetsu no Kyoudan ni Tate! || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPS_253.79 || Tokyo Majin Gakuen: Kaihoujyou Kefurokou || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_254.06 || Hitman: Contracts || 0x08 || 0xDAC || CPU_DELAY<br /> |-<br /> |SLPS_254.18 || Ace Combat 5: The Unsung War || 0x0A || 0x500000 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_255.10 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_255.85 || Monster Farm 5: Circus Caravan || 0x07 || 5 || MECHA_RECOGTIME<br /> |-<br /> |SLPS_255.86 || Tales of the Abyss || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_256.04 || Ar tonelico Qoga: Knell of Ar Ciel || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLPS_256.67 || Daito Giken Premium Pachi-Slot Collection: Yoshimune || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPS_256.98 || Fatal Fury Battle Archives Volume 2 || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLPS_257.08 || The Familiar of Zero (Limited Edition) || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_257.09 || The Familiar of Zero || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_257.21 || HimeHibi - Princess Days || 0x0B || 0x8000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_257.22 || Routes PE (Limited Edition) || 0x08 || 0x3E8 || CPU_DELAY<br /> |-<br /> |SLPS_257.27 || Routes PE || 0x08 || 0x3E8 || CPU_DELAY<br /> |-<br /> |SLPS_732.49 || Ar tonelico Qoga: Knell of Ar Ciel (Platinum) || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLUS_200.11 || Orphen: Ocion of Sorcery || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_200.11 || Orphen: Ocion of Sorcery || 0x09 || 0x8000010 || DEV5_INT_SPEED<br /> |-<br /> |SLUS_200.77 || Donald Duck: Go'in Quackers || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_202.74 || City Crisis || 0x0A || 0x80BB8 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_203.05 || Simpsons: Road Rage || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_203.64 || Tiger Woods PGA Tour 2002 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_204.13 || Shadowman 2 || 0x0A || 0x80600 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_204.33 || SWAT: Global Strike Team || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_204.88 || Star Ocean: Til the end of Time [Disc 1] || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_205.72 || Tiger Woods PGA Tour 2003 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_205.90 || Spyhunter 2 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_206.35 || Muppets Party Cruise || 0x01 || 0x801 || SIO2_MASK<br /> |-<br /> |SLUS_206.39 || Def Jam Vendetta || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_206.86 || Splashdown: Rides Gone Wild || 0x0A || 0x80400 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_208.38 || All-Star Baseball 2005 || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLUS_208.51 || Ace Combat 5: The Unsung War || 0x0A || 0x500000 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_208.91 || Star Ocean: Til the end of Time [Disc 2] || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_209.18 || Super Monkey Ball: Deluxe || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_210.59 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLUS_210.70 || Final Fantasy XI: Chains of Promathia || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLUS_210.89 || Karaoke Revolution Vol.3 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_213.31 || Sonic Riders || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_213.39 || Puzzle Challenge || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_214.04 || Final Fantasy XI: Treasures of Aht Urhgan || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLUS_214.52 || Valkyrie Profile 2: Silmeria || 0x08 || 0x1388 || CPU_DELAY<br /> |- <br /> |}<br /> <br /> ==Other game patches (unofficial)==<br /> There are other unofficial ways to patch the PS2 games such the [https://forums.pcsx2.net/Thread-A-simplistic-guide-to-pnach-files-aka-pnach-for-dummies pnach] format, or the widescreen patches that allows 16:9 screen output for some games by hex editing the ISO, or by applying ppf patches. Games work fine on PS3 with same compatibility like before patching. Also some 480p (aka progressive scan) patches work fine. http://ps2wide.net/<br /> <br /> The problem of this methods is the patch is applyed over the ISO and is modifyed permanently, but this problem can be avoided in PS3 because that unofficial patches can be &quot;ported&quot; to the official config format to be used by ps2_netemu.self, by using the official config format the settings and patchs from the config file are applyed &quot;on the fly&quot; and the ISO is not modifyed<br /> <br /> ==ps2_title_brute code==<br /> <br /> A script to calculate cdvd key magic used in ps2emu, gxemu and softemu from given input title id.<br /> On real PS2 this value seems to be stored at 0x1F402020-0x1F402024.<br /> It contains code for bruting as well. Just call gen_sum with the title id in a specific format to get it.<br /> <br /> &lt;syntaxhighlight lang=&quot;python&quot;&gt;<br /> title_ = &quot;SLUS_200.73&quot;<br /> <br /> #patches = [0x6b1ade00dL, 0x23d92589c5L, 0x24d92589d5L, 0x608634992dL, 0x5ca15df14dL]<br /> #patches = [0x37ae1cb18dL, 0x608634999dL, 0x06b1ade00dL, 0x5fc674d915L, 0x178e3c9165L, 0x3889349935L,0x18fe4ce145L,0xc126943985,0xe90ebc11b5,0x58be0ca165L]<br /> patches = [ 0xCD1298155L, 0x12C93199A5L, 0x15C93199ADL, 0x24D92589A5L, 0x2CD12D8125L, 0x34C9359935L, 0x34C93599E5L, 0x34C93599E5L, 0x449961C9E5L, 0x4C9169C1CDL, 0x4C9169C1D5L, 0x4C9169C1DDL, 0x4C9169C1E5L, 0x4C9169C1F5L, 0x4C9169C1FDL, 0x4CB14DE12DL, 0x54A955F915L, 0x5CA15DF165L, 0x5CA15DF1FDL, 0x5CA15DF1FDL, 0x649965C94DL, 0x649965C955L, 0x649965C95DL, 0x649965C965L, 0x649965C96DL, 0x6BB149E15DL, 0x6C916DC165L, 0x6C916DC1A5L, 0x6C916DC1ADL, 0x6C916DC1B5L, 0x6C916DC1D5L, 0x6C916DC1DDL, 0x748975D9DDL, 0x7C817DD125L, 0x7C817DD165L, 0x7C817DD16DL, 0x7C817DD175L, 0x7C817DD1CDL, 0x84798529BDL, 0x8559A109ADL, 0x8579852915L, 0x8579852965L, 0x8D51A90145L, 0x8D51A901B5L, 0x8D51A901BDL, 0x8D718D21BDL, 0x9C619D31E5L, 0x9D41B911ADL, 0x9D619D31C5L, 0x9F29357805L, 0x9F293578E5L, 0xB549B51915L, 0xB549B51925L, 0xB549B5195DL, 0xB549B519A5L, 0xB549B519ADL, 0xBC61793025L, 0xBD41BD1105L, 0xC439C569F5L, 0xC7716D20D5L, 0xC7716D20D5L, 0xCA11E941F5L, 0xCF7965285DL, 0xCF7965285DL, 0xD20911582DL, 0xD7617D308DL, 0xE339C1695DL, 0xE794CCB06DL, 0xEA3129608DL, 0xEC11ED4115L, 0xEF594508D5L, 0xF409F559ADL, 0xF7415D10E5L, 0xF7415D10E5L]<br /> <br /> def gen_sum(title):<br /> var_30 = []<br /> for i in range(0x1A):<br /> var_30.append(0)<br /> r9=5<br /> r31=0<br /> #Title 2 decimal<br /> while r9 != 0xB:<br /> r11 = r9 + 1<br /> if r9 == 8:<br /> pass<br /> else:<br /> r5 = ord(title[r9:r9+1])<br /> r7 = r31 * 0xA<br /> r6 = r7 &amp; 0xFFFFFFFF<br /> r4 = r5 + r6<br /> r9 = r4 - 0x30<br /> r31 = r9 &amp; 0xFFFFFFFF<br /> r9 = r11<br /> #print r31<br /> r10 = ord(title[3:4]) # S<br /> r7 = (r31 &gt;&gt; 10) &amp; 0x7F<br /> r11 = ord(title[1:2]) # L<br /> r8 = ord(title[2:3]) # U<br /> r6 = (r10 &gt;&gt; 1) &amp; 0x3F<br /> r12 = ord(title[0:1]) # S<br /> r4 = (r11 &gt;&gt; 3) &amp; 0xF<br /> r5 = (r8 &gt;&gt; 2) &amp; 0x1F<br /> r3 = (r12 &gt;&gt; 4) &amp; 7<br /> r9 = r10 &lt;&lt; 7<br /> r0 = r8 &lt;&lt; 6<br /> r10 = r11 &lt;&lt; 5<br /> r8 = r12 &lt;&lt; 4<br /> r12 = r31 &lt;&lt; 3<br /> r11 = r10 | r5<br /> r9 = r9 | r7<br /> r0 = r0 | r6<br /> var_30[2] = r11 &amp; 0xFF<br /> r7 = r8 | r4<br /> var_30[0] = (r9 &amp; 0xFF)<br /> r10 = r12 | r3<br /> var_30[1] = (r0 &amp; 0xFF)<br /> r12 = (r31 &gt;&gt; 2) &amp; 0x3FFFFFF8<br /> var_30[3] = (r7 &amp; 0xFF)<br /> r8 = 5<br /> var_30[4] = (r10 &amp; 0xFF)<br /> var_30[0x19] = (r12 &amp; 0xFF)<br /> var_30[0x18] = (r8 &amp; 0xFF)<br /> var_30 = [int(v) for v in var_30]<br /> #print [hex(v) for v in var_30]<br /> r5 = var_30<br /> r6 = 0<br /> r4 = 0<br /> while r6 &lt; 5:<br /> r12 = r5[r6:r6+1][0]<br /> r7 = r6 + 1<br /> r0 = var_30[0x19]<br /> r3 = r6 + 0x10<br /> r9 = r12 ^ r0<br /> r31 = r3<br /> r5[r6] = r9<br /> r6 = r7<br /> r5[r31] = r4<br /> #print [hex(v) for v in r5]<br /> r9 = 0<br /> r10 = 0<br /> while r10 &lt; 5:<br /> r11 = r10 + 1<br /> r6 = r5[r10:r10+1][0]<br /> r4 = r9 &lt;&lt; 8<br /> r10 = r11<br /> r9 = r4 | r6<br /> return r9<br /> '''<br /> print hex(gen_sum(title_))<br /> <br /> a1='A'<br /> a2='A'<br /> a3='A'<br /> a4='A'<br /> while a1 &lt;= 'Z':<br /> a2='A'<br /> a3='A'<br /> a4='A'<br /> while a2 &lt;= 'Z':<br /> a3='A'<br /> a4='A'<br /> while a3 &lt;= 'Z':<br /> a4='A'<br /> while a4 &lt;= 'Z':<br /> #print &quot;%s%s%s%s&quot; % (a1,a2,a3,a4)<br /> for i in range(99999):<br /> t = &quot;%s%s%s%s_&quot; % (a1,a2,a3,a4) + '{4}{3}{2}.{1}{0}'.format(i%10,(i/10)%10,(i/100)%10,(i/1000)%10,(i/10000)%10)<br /> if gen_sum(t) in patches:<br /> print t<br /> print True<br /> a4=chr(ord(a4)+1)<br /> print &quot;%s%s%s%s&quot; % (a1,a2,a3,a4)<br /> a3=chr(ord(a3)+1)<br /> print &quot;%s%s%s%s&quot; % (a1,a2,a3,a4)<br /> a2=chr(ord(a2)+1)<br /> a1=chr(ord(a1)+1)<br /> '''<br /> <br /> print hex(gen_sum(&quot;SLUS_213.86&quot;))<br /> '''<br /> for i in range(99999):<br /> t = &quot;SLUS_&quot; + '{4}{3}{2}.{1}{0}'.format(i%10,(i/10)%10,(i/100)%10,(i/1000)%10,(i/10000)%10)<br /> if gen_sum(t) in patches:<br /> print &quot;%s %x&quot; % (t, gen_sum(t))<br /> <br /> '''<br /> &lt;/syntaxhighlight&gt;<br /> &lt;br&gt;<br /> Alternative script version for better readability. Work same way as one above, just cleaner looking code.<br /> &lt;syntaxhighlight lang=&quot;python&quot;&gt;<br /> ID = &quot;SLUS_202.02&quot;<br /> <br /> def gen_sum2(title):<br /> <br /> decimal_id = 0<br /> decimal_id += ( ord(title[10:11]) - 0x30)<br /> decimal_id += ((ord(title[9:10]) - 0x30) * 10)<br /> decimal_id += ((ord(title[7:8]) - 0x30) * 100)<br /> decimal_id += ((ord(title[6:7]) - 0x30) * 1000)<br /> decimal_id += ((ord(title[5:6]) - 0x30) * 10000)<br /> <br /> first_char = ord(title[0:1])<br /> second_char = ord(title[1:2])<br /> third_char = ord(title[2:3])<br /> fourth_char = ord(title[3:4])<br /> <br /> temp0 = (first_char &gt;&gt; 4) &amp; 7<br /> temp1 = (second_char &gt;&gt; 3) &amp; 0xF<br /> temp2 = (third_char &gt;&gt; 2) &amp; 0x1F<br /> temp3 = (fourth_char &gt;&gt; 1) &amp; 0x3F<br /> temp4 = (first_char &lt;&lt; 4)<br /> temp5 = (second_char &lt;&lt; 5)<br /> temp6 = (third_char &lt;&lt; 6)<br /> temp7 = (fourth_char &lt;&lt; 7)<br /> <br /> temp8 = (decimal_id &gt;&gt; 10) &amp; 0x7F<br /> temp9 = (decimal_id &lt;&lt; 3 )<br /> temp10 = (decimal_id &gt;&gt; 2 ) &amp; 0xF8<br /> <br /> temp8 |= temp7<br /> temp3 |= temp6<br /> temp2 |= temp5<br /> temp1 |= temp4<br /> temp0 |= temp9<br /> <br /> temp8 &amp;= 0xFF<br /> temp3 &amp;= 0xFF<br /> temp2 &amp;= 0xFF<br /> temp1 &amp;= 0xFF<br /> temp0 &amp;= 0xFF<br /> <br /> temp8 ^= temp10<br /> temp3 ^= temp10<br /> temp2 ^= temp10<br /> temp1 ^= temp10<br /> temp0 ^= temp10 <br /> <br /> result = (temp0 | (temp1 &lt;&lt; 8) | (temp2 &lt;&lt; 16) | (temp3 &lt;&lt; 24) | (temp8 &lt;&lt; 32))<br /> return result<br /> <br /> print(hex(gen_sum2(ID)))<br /> &lt;/syntaxhighlight&gt;<br /> Alternative implementation: https://github.com/PCSX2/pcsx2/blob/1a3d77b2c0c6b57313f0dceaf5ecc3f8cb453497/pcsx2/CDVD/CDVD.cpp#L545<br /> <br /> ==External References==<br /> * [http://www.eurogamer.net/articles/digitalfoundry-vs-ps2-classics-on-ps3 Digital Foundry vs. PS2 Classics on PS3]<br /> * [http://www.ps3hax.net/showthread.php?t=53444 PS2 Classics Algorithm By flatz]<br /> * [https://web.archive.org/web/20140422030433/http://gitorious.ps3dev.net/ps2classic C port]<br /> * [https://web.archive.org/web/20150623164110/http://www.pshomebrew.net/wiki/PS2_Classics_Emulator_Compatibility_List Alternative Compatibility List (outdated)]<br /> * [http://www.ps3hax.net/showthread.php?p=620747#post620747 How to properly convert Final Fantasy XII: IZJS For ps2classics]<br /> * [https://en.wikipedia.org/wiki/List_of_PlayStation_2_Classics Wikipedia list of officially released PS2 Classics]<br /> &lt;br&gt;<br /> CPU-GPU intensive games + games only playable in software render on PCSX2:<br /> * http://wiki.pcsx2.net/index.php/Category:GPU_intensive_games<br /> * http://wiki.pcsx2.net/index.php/Category:CPU_intensive_games<br /> * http://wiki.pcsx2.net/index.php/Category:Software_rendering_only_games<br /> <br /> {{Reverse engineering}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=PS2_Emulation&diff=72951 PS2 Emulation 2023-08-20T15:52:31Z <p>Mysis: Grandia 3</p> <hr /> <div>==Description==<br /> [[File:Ps2_block_diagram.png|200px|thumb|right|Simplified block diagram of a PS2&lt;br /&gt;[http://www.philvaz.com/games/PS2.htm source]]]<br /> Emulation of Playstation 2 is currently handled by 3 kind of emulators. CECH-A/B models use ps2_emu.self able to use built-in PS2 hardware (EE/GS/Rambus memory), and have best compatibility. CECH-C/E use ps2_gxemu, this emulator use physical Graphic Synthesizer found in this ps3 model, but Emotion Engine is fully emulated here, also there is no Rambus memory. All other models emulate PS2 thru fully software based ps2_netemu used for ps2 classics, and hacked now to use decrypted ISO files. Earlier before Sony provided ps2 classics on PS Store there was another soft only emulator strongly based on ps2_gxemu. It was called ps2_softemu, and had support for original PS2 CDVD. Only emulator not able to run physical discs is ps2_netemu. <br /> <br /> Emulators are self files, but not typical one. Emulators are not truly PS3 Game OS elf executables, but Guest OS'es running on LV1 of PS3. This mean that LV2, or more friendly Game OS is unloaded before emulator is loaded. This also mean that while emulators are running we can't call any LV2 function. Also LV1 syscalls are limited to call from all emulators, but can be fully unlocked.<br /> <br /> All emulators use built-in stripped developement version of PS2 BIOS with disabled debug functions that can affect some games. This is done because some games print debug info on screen when found that are run on dev bios. Bios between ps2_emu, and ps2_gxemu/ps2_netemu are different. Ps2_emu BIOS is able to run only on ps2emu version of emulator due to RDRAM check.<br /> <br /> PS3 models without Emotion Engine unit use &quot;SPE-compatible SIMD graphics-rounding mode for VMX/Altivec Instructions&quot; for FPU, and VU0 emulated floats calculations. This is set on emulator init by HV call 97 with param 1. VU1 actually run at SPE core so no compatibility mode need (or can) to be set. SPE compatible mode for PPE mean that rounding mode is set as round to zero, denormals are treated as zero, and there are no infinities or NaNs. So theoretically what PS2 FPU/VU was originally. Although SPE and PPE SPE compatibility mode is still inaccurate comparing to PS2, because Sony decided to cut off 2 guard bits from calculations on PS2. Probably because there was no need for round and sticky bits (no Nan/Inf, one round mode, etc.). Additionally float divide algorithm is custom and not fully understood up to this day. Good example here are TriAce games, or Castlevania COD where SPE calculation is wrong by 1 bit making games unplayable without patch. This are PS2 math algo specific inaccuracies in FPU/VU implementation that are not present on any other hardware.<br /> <br /> Note: <br /> * not available in early Tool/DECR and Debug/DEX firmwares. But available in AV TOOL firmware since 1.00<br /> * Emulation is based on a SCPH-50000/SCPH-20401 Playstation 2 Model.<br /> * [https://web.archive.org/web/20211118050305/http://unina.stidue.net/Universita'%20di%20Trieste/Ingegneria%20Industriale%20e%20dell'Informazione/Tuzzi/Architetture_Avanzate_dei_Calcolatori/Emotion_2.pdf Introduction to PlayStation2 Architecture.pdf]<br /> * ps2tek docs - https://psi-rockin.github.io/ps2tek/<br /> <br /> ==PS2 emulators workload comparison==<br /> {{PS2 emulators workload comparison}}<br /> Note: Apparently ps2_gxemu SPU layout changed at some point (maybe ps2_emu too), and above table is not accurate for latest emu versions.&lt;br&gt;<br /> 0-6 layout for ps2_gxemu currently look like this: IOP, SPU2, IPU, VU1, EEDMA, GSGIF, UNK(probably isolation).<br /> <br /> ==PS2 Emulator Types and Revisions==<br /> <br /> &lt;div&gt;<br /> &lt;div style=&quot;float:top; text-align:center;&quot;&gt;'''PS2 Emulator Types and Revisions'''&lt;/div&gt;<br /> &lt;div style=&quot;float:left; width:28%;&quot;&gt;<br /> {| class=&quot;wikitable&quot; style=&quot;font-size:xx-small;&quot;<br /> |+ ps2_emu.elf (decrypted)<br /> ! Firmware !! Bytes !! MD5 !! Timestamp !! &lt;abbr title=&quot;Revision&quot;&gt;Rev&lt;/abbr&gt; !! &lt;abbr title=&quot;Maximun number of supported commands&quot;&gt;Comm&lt;/abbr&gt;<br /> |-<br /> ! [[1.00_AV|1.00 AV]]<br /> | 8 258 328 || 19DC714F1109FF772BEF5B00C4AF2CF7 || 06/10/04/12:15 || ? || ?<br /> |-<br /> ! [[1.02_CEX|1.02]]<br /> | 8.258.504 || FF9C1C465DF6F501E418602A488CBD40 || 06/10/21/00:01 || ? || ?<br /> |-<br /> ! [[1.10_CEX|1.10]]<br /> | 8.254.568 || 72EFF1FB3E9A175253687634B698CC91 || 06/11/09/06:08 || ? || ?<br /> |-<br /> ! [[1.11_CEX|1.11]]<br /> | 8.255.192 || 98BCC06ACA07971DFE57A126000B6DEE || 06/11/21/17:54 || ? || ?<br /> |-<br /> ! [[1.30_CEX|1.30]]<br /> | 8.787.800 || 3F1E943139329E8AD5461FA43DB4DD0E || 06/12/05/05:33 || rowspan=&quot;2&quot; | same || rowspan=&quot;2&quot; | ?<br /> |-<br /> ! [[1.30_AV|1.30 AV]]<br /> | 8.787.800 || F2CE2D8CF41FF38E586AE7A91A13980C || 06/12/05/07:15<br /> |-<br /> ! [[1.31_CEX|1.31]]<br /> | 8.790.440 || CF13D31F202DA3C55009C06B6A2B27A0 || 06/12/12/18:47 || ? || ?<br /> |-<br /> ! [[1.32_CEX|1.32]]<br /> | 8.794.664 || 6DD631EEDE321AC7F59C85BC6AC0DCA9 || 06/12/18/05:54 || ? || ?<br /> |-<br /> ! [[1.50_CEX|1.50]]<br /> | 8.805.912 || 81B38EE824E460385B44FADE78CAA5DC || 07/01/18/22:52 || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ? || ?<br /> |-<br /> ! [[1.70_CEX|1.70]]<br /> | 8.854.680 || CEACBB22EB450C5CC587C193CE7BBE91 || 07/04/16/16:11 || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ? || ?<br /> |-<br /> ! [[1.90_CEX|1.90]]<br /> | 5.190.280 || 88B26FDC910B8633613BC366D39F439D || 07/07/21/06:44 || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ? || ?<br /> |-<br /> ! [[2.10_CEX|2.10]]<br /> | 5.223.112 || CB1924E7163F01EA2DD3965918BACCE4 || 07/12/15/05:29 || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ? || ?<br /> |-<br /> ! [[3.40_CEX|3.40]]<br /> | 5.267.128 || 916603300F798139456FCF1A40384A97 || 10/06/23/15:44 || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ? || ?<br /> |-{{cellcolors|#ddddff}}<br /> ! [[3.66_CEX|3.66]]<br /> | rowspan=&quot;3&quot; | 5.267.112 || BE20230D091F5C8AB8364607D49A6992 || 11/06/16/03:51 || rowspan=&quot;3&quot; | same || rowspan=&quot;3&quot; | ?<br /> |-{{cellcolors|#ddddff}}<br /> ! ~<br /> | colspan=&quot;2&quot; style=&quot;text-align:center; background-color:#ddddff;&quot; | ''Any''<br /> |-{{cellcolors|#ddddff}}<br /> ! [[3.74_CEX|3.74]]<br /> | 5B2CA12EE08298094177667C681BC75F || 11/10/25/00:30<br /> |-{{cellcolors|#bbbbff}}<br /> ! [[4.00_CEX|4.00]]<br /> | rowspan=&quot;2&quot; | 5.272.152 || 08516640BE636F3E633C0416F09EF941 || 11/11/22/03:10 || rowspan=&quot;2&quot; | same || rowspan=&quot;2&quot; | ?<br /> |-{{cellcolors|#bbbbff}}<br /> ! [[4.01_CEX|4.01]]<br /> | 61ECD51036247547736274EEB52FA4C4 || 11/12/23/01:02<br /> |-{{cellcolors|#ddddff}}<br /> ! [[4.10_CEX|4.10]]<br /> | rowspan=&quot;2&quot; | 5.272.008 || 88CFD465D2F412C075C69531278BB3A9 || 12/02/05/23:08 || rowspan=&quot;2&quot; | same || rowspan=&quot;2&quot; | ?<br /> |-{{cellcolors|#ddddff}}<br /> ! [[4.11_CEX|4.11]]<br /> | 2B45F72675B844C08E1735059F9826E3 || 12/02/11/07:05<br /> |-{{cellcolors|#bbbbff}}<br /> ! [[4.20_CEX|4.20]]<br /> | rowspan=&quot;2&quot; | 5.272.264 || 23D3F9909EBA3F1AB0D757850C5D6809 || 12/06/15/02:01 || rowspan=&quot;2&quot; | same || rowspan=&quot;2&quot; | ?<br /> |-{{cellcolors|#bbbbff}}<br /> ! [[4.21_CEX|4.21]]<br /> | 110F0D01B39193F1A2031BBC7ADBBC2F || 12/06/30/01:06<br /> |-<br /> ! [[4.23_SEX|4.23 S]]<br /> | 5.271.912 || 783201F2541117E545B8E01B3A0B1955 || 12/07/31/00:17 || ? || ?<br /> |-<br /> ! [[4.25_CEX|4.25]]<br /> | 5.272.264 || C895EAA3F79BA2040D6C828A5B811139 || 12/09/07/06:55 || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ? || ?<br /> |-<br /> ! colspan=&quot;6&quot; style=&quot;background:#80ff80; line-height:75%&quot; | Abandoned (last revision)<br /> |-{{cellcolors|#ddddff}}<br /> ! [[4.78_CEX|4.78]]<br /> | rowspan=&quot;3&quot; | 5.274.984 || ABC9228FCEA0E779E3157CA546A1FD02 || 15/12/17/01:14 || rowspan=&quot;3&quot; | same || rowspan=&quot;3&quot; | ?<br /> |-{{cellcolors|#ddddff}}<br /> ! ~<br /> | colspan=&quot;2&quot; style=&quot;text-align:center; background-color:#ddddff;&quot; | ''Any''<br /> |-{{cellcolors|#ddddff}}<br /> ! [[4.89_CEX|4.89]]<br /> | 7523DE6D38B13B9C4B9F72419C50D4A7 || 22/02/04/14:35<br /> |}<br /> &lt;span style=&quot;font-size:small&quot;&gt;<br /> {{dot}}'''Decrypted (elf)''': changes &lt;abbr title=&quot;when comparing two decrypted files of the same revision from different firmwares the only difference is the build label&quot;&gt;every firmware version&lt;/abbr&gt;&lt;br&gt;<br /> {{dot}}'''&lt;abbr title=&quot;0x20 bytes&quot;&gt;Build label&lt;/abbr&gt;''': yes, with timestamp, search for '''ps2ver:'''&lt;br&gt;<br /> {{dot}}'''Target Firmware''': no/unknown&lt;br&gt;<br /> {{dot}}'''Revision''': unknown<br /> &lt;/span&gt;<br /> &lt;/div&gt;<br /> &lt;div style=&quot;float:left; width:24%;&quot;&gt;<br /> {| class=&quot;wikitable&quot; style=&quot;font-size:xx-small;&quot;<br /> |+ ps2_gxemu.elf (decrypted)<br /> ! Firmware !! Bytes !! MD5 !! &lt;abbr title=&quot;Revision&quot;&gt;Rev&lt;/abbr&gt; !! &lt;abbr title=&quot;Maximun number of supported commands&quot;&gt;Comm&lt;/abbr&gt;<br /> |-<br /> ! [[1.00_CEX|1.00]] ~ [[1.32_CEX|1.32]]<br /> | colspan=&quot;4&quot; {{no}}<br /> |-<br /> ! [[1.50_CEX|1.50]]<br /> | 6.106.040 || BACC208C8A793F82D71F85B02DD2D318 || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! [[1.70_CEX|1.70]]<br /> | 6.763.336 || B70A15512EF9FA74B798A5E9241FE571 || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! [[1.90_CEX|1.90]]<br /> | 6.802.720 || B9E2CC8D72779650D9B500B75AE552EB || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! [[2.10_CEX|2.10]]<br /> | 6.822.576 || E34C4EB587CCE44AB4B92D848DC391A7 || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! [[3.40_CEX|3.40]]<br /> | 6.866.424 || 80091C68E2F8D2385A2125AB38085A3C || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! [[3.66_CEX|3.66]] ~ [[3.74_CEX|3.74]]<br /> | 6.867.024 || E04FA0FE63A968C53AE366B3AAD0141A || ? || ?<br /> |-<br /> ! [[4.00_CEX|4.00]] ~ [[4.11_CEX|4.11]]<br /> | 6.871.848 || D5E97019132848203970213FF96F2AAB || ? || ?<br /> |-<br /> ! [[4.20_CEX|4.20]] ~ [[4.25_CEX|4.25]]<br /> | 6.872.128 || 678F16283CAA8CFBC03A5FBCB6ABA41E || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! colspan=&quot;6&quot; style=&quot;background:#80ff80; line-height:75%&quot; | Abandoned (last revision)<br /> |-<br /> ! [[4.78_CEX|4.78]] ~ [[4.89_CEX|4.89]]<br /> | 6.874.848 || C7681420A7B3A2A6E3BF89F4A12A3DD6 || ? || 0x2B ?<br /> |}<br /> &lt;span style=&quot;font-size:small&quot;&gt;<br /> {{dot}}'''Decrypted (elf)''': changes &lt;abbr title=&quot;when comparing two decrypted files of the same revision from different firmwares there are no differences&quot;&gt;every emu revision&lt;/abbr&gt;&lt;br&gt;<br /> {{dot}}'''&lt;abbr title=&quot;0x20 bytes&quot;&gt;Build label&lt;/abbr&gt;''': no/unknown&lt;br&gt;<br /> {{dot}}'''Target Firmware''': no/unknown&lt;br&gt;<br /> {{dot}}'''Revision''': unknown<br /> &lt;/span&gt;<br /> &lt;/div&gt;&lt;div style=&quot;float:left; width:24%;&quot;&gt;<br /> {| class=&quot;wikitable&quot; style=&quot;font-size:xx-small;&quot;<br /> |+ ps2_softemu.elf (decrypted)<br /> ! Firmware !! Bytes !! MD5 !! &lt;abbr title=&quot;Revision&quot;&gt;Rev&lt;/abbr&gt; !! &lt;abbr title=&quot;Maximun number of supported commands&quot;&gt;Comm&lt;/abbr&gt;<br /> |-<br /> ! [[1.00_CEX|1.00]] ~ [[1.82_CEX|1.82]]<br /> | colspan=&quot;4&quot; {{no}}<br /> |-<br /> ! [[1.90_CEX|1.90]] ~ [[1.94_CEX|1.94]]<br /> | 6.142.080 || 812330515D01291488315BBE7E0F339E || 11065 || ?<br /> |-<br /> ! [[1.97_CEX|1.97]]<br /> | ? || ? || ? || ?<br /> |-<br /> ! [[2.00_CEX|2.00]] ~ [[2.10_CEX|2.10]]<br /> | 6.143.048 || C0964350E3E8EA80EB5C7CB34901E9DE || 11830 || ?<br /> |-<br /> ! [[2.16_CEX|2.16]]<br /> | ? || ? || ? || ?<br /> |-<br /> ! ? ~ ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! [[3.10_CEX|3.10]]<br /> | ? || ? || ? || ?<br /> |-<br /> ! [[3.15_CEX|3.15]]<br /> | ? || ? || 12840 || ?<br /> |-<br /> ! [[3.16_CEX|3.16]]<br /> | ? || ? || ? || ?<br /> |-<br /> ! ? ~ ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! [[3.40_CEX|3.40]]<br /> | 6.146.424 || 97C33E83E14399EED1BD4F5351443E1C || ? || ?<br /> |-<br /> ! [[3.41-1_CEX|3.41]] ~ [[3.65_CEX|3.65]]<br /> | ? || ? || 13474 || ?<br /> |-<br /> ! [[3.66_CEX|3.66]] ~ [[3.71_CEX|3.71]]<br /> | 6.147.120 || 513B9160AD8C199CAEFC82C1B7D9D794 || 15435 || ?<br /> |-<br /> ! [[3.72_CEX|3.72]] ~ [[4.01_CEX|4.01]]<br /> | 6.146.992 || 1232D3EEB48F301CBB61D76EB3046111 || 15529 || ?<br /> |-<br /> ! [[4.10_CEX|4.10]] ~ {{latestPS3}}<br /> | colspan=&quot;4&quot; {{no}}<br /> |}<br /> &lt;span style=&quot;font-size:small&quot;&gt;<br /> {{dot}}'''Decrypted (elf)''': changes &lt;abbr title=&quot;when comparing two decrypted files of the same revision from different firmwares there are no differences&quot;&gt;every emu revision&lt;/abbr&gt;&lt;br&gt;<br /> {{dot}}'''&lt;abbr title=&quot;0x20 bytes&quot;&gt;Build label&lt;/abbr&gt;''': no/unknown&lt;br&gt;<br /> {{dot}}'''Target Firmware''': no/unknown&lt;br&gt;<br /> {{dot}}'''Revision''': unknown<br /> &lt;/span&gt;<br /> &lt;/div&gt;&lt;div style=&quot;float:left; width:24%;&quot;&gt;<br /> {| class=&quot;wikitable&quot; style=&quot;font-size:xx-small;&quot;<br /> |+ ps2_netemu.elf (decrypted)<br /> ! Firmware !! Bytes !! MD5 !! &lt;abbr title=&quot;Revision&quot;&gt;Rev&lt;/abbr&gt; !! &lt;abbr title=&quot;Maximun number of supported commands&quot;&gt;Comm&lt;/abbr&gt;<br /> |-<br /> ! [[1.00_CEX|1.00]] ~ [[3.66_CEX|3.66]]<br /> | colspan=&quot;4&quot; {{no}}<br /> |-<br /> ! [[3.70_CEX|3.70]] ~ [[3.71_CEX|3.71]]<br /> | 11.036.504 || 0D021D18CC63DDBDA530A93C41ABF865 || &lt;abbr title=&quot;build r15686-gif-xdr-user2-usb3&quot;&gt;15686&lt;/abbr&gt; || rowspan=&quot;5&quot; | 0x41<br /> |-<br /> ! [[3.72_CEX|3.72]]<br /> | 11.036.504 || 38EABD7E5F998BC04922CA3B70211208 || &lt;abbr title=&quot;build r15842-target370&quot;&gt;15842&lt;/abbr&gt;<br /> |-<br /> ! [[3.73_CEX|3.73]] ~ [[3.74_CEX|3.74]]<br /> | 11.036.504 || F21110A93BBEA416749283E6BF3D3C6B || &lt;abbr title=&quot;build r15936-target370&quot;&gt;15936&lt;/abbr&gt;<br /> |-<br /> ! [[4.00_CEX|4.00]] ~ [[4.01_CEX|4.01]]<br /> | 11.033.048 || F770442DFA626282B01FEBE3DDFFC477 || &lt;abbr title=&quot;build r16195-target400&quot;&gt;16195&lt;/abbr&gt;<br /> |-<br /> ! [[4.10_CEX|4.10]] ~ [[4.11_CEX|4.11]]<br /> | 11.033.216 || 8F0885BCC80A3617E654BB6151F4F718 || &lt;abbr title=&quot;build r16361-target410&quot;&gt;16361&lt;/abbr&gt;<br /> |-<br /> ! [[4.20_CEX|4.20]] ~ [[4.23_SEX|4.23]]<br /> | 11.033.728 || 8EB5492E453C50B6D728E7999A57A689 || &lt;abbr title=&quot;build r16604-target420&quot;&gt;16604&lt;/abbr&gt; || rowspan=&quot;2&quot; | 0x43<br /> |-<br /> ! [[4.25_CEX|4.25]] ~ [[4.26_SEX|4.26]]<br /> | 11.033.728 || E38059300E31432A62967770C3E99EF6 || &lt;abbr title=&quot;build r16740-target420&quot;&gt;16740&lt;/abbr&gt;<br /> |-<br /> ! [[4.30_CEX|4.30]] ~ [[4.31_CEX|4.31]]<br /> | ? || ? || 16808 || 0x45<br /> |-<br /> ! [[4.40_CEX|4.40]] ~ [[4.41_CEX|4.41]]<br /> | ? || ? || 16916 || 0x46<br /> |-<br /> ! [[4.45_CEX|4.45]] ~ [[4.46_CEX|4.46]]<br /> | ? || ? || 17041 || 0x48<br /> |-<br /> ! [[4.50_CEX|4.50]]<br /> | ? || ? || 17179 || 0x4A<br /> |-<br /> ! [[4.55_CEX|4.55]]<br /> | ? || ? || 17277 || rowspan=&quot;2&quot; | 0x4D<br /> |- <br /> ! [[4.60_CEX|4.60]] ~ [[4.76_CEX|4.76]]<br /> | ? || ? || 17314<br /> |-<br /> ! colspan=&quot;6&quot; style=&quot;background:#80ff80; line-height:75%&quot; | Abandoned (last revision)<br /> |- <br /> ! [[4.78_CEX|4.78]] ~ [[4.89_CEX|4.89]]<br /> | 10.442.536 || 8B2DBD1AAD22A0EDCF9C867A1A1FB94D || &lt;abbr title=&quot;build r17495-main-rel&quot;&gt;17495&lt;/abbr&gt; || 0x50<br /> |}<br /> &lt;span style=&quot;font-size:small&quot;&gt;<br /> {{dot}}'''Decrypted (elf)''': changes &lt;abbr title=&quot;when comparing two decrypted files of the same revision from different firmwares there are no differences&quot;&gt;every emu revision&lt;/abbr&gt;&lt;br&gt;<br /> {{dot}}'''&lt;abbr title=&quot;0x20 bytes&quot;&gt;Build label&lt;/abbr&gt;''': yes, without timestamp, search for '''build r'''&lt;br&gt;<br /> {{dot}}'''Target Firmware''': included in the build label&lt;br&gt;<br /> {{dot}}'''Revision''': yes, &lt;abbr title=&quot;the location can be seen by comparing 4.23 (value 0x40DC) with 4.25 (value 0x4164) at offset 0x3E4BA in both&quot;&gt;'''one''' time&lt;/abbr&gt;, and included in the build label<br /> &lt;/span&gt;<br /> &lt;/div&gt;<br /> &lt;/div&gt;<br /> &lt;br style=&quot;clear: both;&quot; /&gt;<br /> <br /> *Alternative tables&lt;!-- What means TOC ?, is needed to explain it and/or include this TOC info in the other tables --&gt;<br /> {| class=&quot;wikitable&quot; style=&quot;float:left; margin:5px&quot;<br /> |+ps2_emu.self<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 1.00 AV || 0x7C3150 ||<br /> |-<br /> | 1.02 || 0x7C31F0 ||<br /> |-<br /> | 1.10 || 0x7C2168 ||<br /> |-<br /> | 1.11 || 0x7C23C8 ||<br /> |-<br /> | 1.30 || 0x8442E8 ||<br /> |-<br /> | 1.30 AV || 0x8442E8 ||<br /> |-<br /> | 1.31 || 0x844C98 ||<br /> |-<br /> | 1.32 || 0x845CA0 ||<br /> |-<br /> | 1.50 || 0x848728 ||<br /> |-<br /> | 1.90 || 0x4D7ED8 ||<br /> |-<br /> | 3.66 - 3.74 || 0x4E9A20 ||<br /> |-<br /> | 4.00 - 4.01 || 0x4EADB8 ||<br /> |-<br /> | 4.10 - 4.11 || 0x4EAD28 ||<br /> |-<br /> | 4.20 - 4.21 || 0x4EAE30 ||<br /> |-<br /> | 4.23 || 0x4EACE0 ||<br /> |-<br /> | 4.25 || 0x4EAE30 || Reverted to 4.20 - 4.21 version?<br /> |-<br /> | 4.78 - 4.82 || 0x4EB8C0 ||<br /> |}<br /> <br /> {| class=&quot;wikitable&quot; style=&quot;float:left; margin:5px&quot;<br /> |+ps2_gxemu.self<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 1.50 || 0x5BDFC8 ||<br /> |-<br /> | 1.90 || 0x666C78 ||<br /> |-<br /> | 3.66 - 3.74 || 0x6766B8 ||<br /> |-<br /> | 4.00 - 4.11 || 0x677990 ||<br /> |-<br /> | 3.66 - 3.74 || 0x677AA8 ||<br /> |-<br /> | 4.78 - 4.82 || 0x678548 || <br /> |}<br /> <br /> {| class=&quot;wikitable&quot; style=&quot;float:left; margin:5px&quot;<br /> |+ps2_softemu.self<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 1.90 || 0x5C7B10 ||<br /> |-<br /> | 2.50 || 0x5C7ED8 ||<br /> |-<br /> | 3.41 || 0x5C8C00 || <br /> |-<br /> | 3.66 - 3.71 || 0x5C8EC0 ||<br /> |-<br /> | 3.72 - 4.01 || 0x5C8E40 ||<br /> |}<br /> <br /> {| class=&quot;wikitable&quot; style=&quot;float:left; margin:5px&quot;<br /> |+ps2_netemu.self<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 3.73 - 3.74 || 0x7D8B00 ||<br /> |-<br /> | 4.00 - 4.01 || 0x7DA200 ||<br /> |-<br /> | 4.10 - 4.11 || 0x7DA180 ||<br /> |-<br /> | 4.20 - 4.25 || 0x7DA500 ||<br /> |-<br /> | 4.78 - 4.83 || 0x751280 || <br /> |}{{clear}}<br /> <br /> ==General observations regarding PS2 Classics emulator (ps2_netemu)==<br /> * Virtual memory cards are per title based, but apparently run through the current memory card system. The module used to manage memory cards is: vmc_savedata_plugin.sprx - Using a regular memory card that has been renamed result in a &quot;The save data is corrupt (8XXXXXXX) error&quot;<br /> * Loads an epilepsy warning before PS2 logo (PS button menu appears during epilepsy warning if controller is synced)<br /> * Does not support online functionality of PS2 titles (network configuration utility inside Full Spectrum Warrior claims no network adaptor has been found, same with Syphon Filter: The Omega Strain).<br /> <br /> - Only file that is needed in the folder for PS2 Classics is &quot;iso.bin.enc&quot;. Removing the manuals/DXT files will cause the game to boot IMMEDIATELY to the PS2 logo upon switching to 720p/starting PS2 LPAR.<br /> <br /> ===LIMG Segment===<br /> The ISO.BIN.ENC has a block of 0x4000 bytes added at the end codenamed &quot;LIMG&quot; that works as a descriptor for the ISO structure<br /> <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Offset !! Length !! Name !! Example !! Description<br /> |-<br /> | 0x00 || 0x4 || '''magic''' || LIMG || '''L'''ogical '''IM'''a'''G'''e (layout) ?<br /> |-<br /> | 0x04 || 0x4 || '''img_type''' || 0x00000001 || 1=DVD&lt;br&gt;2=CD<br /> |-<br /> | 0x08 || 0x4 || '''sector_count''' || 0x00279890 || ''sector_count = img_size / sector_size''<br /> |-<br /> | 0x0C || 0x4 || '''sector_size''' || 0x0000800 || ''sector_size = img_size / sector_count''&lt;br&gt;0x800=DVD (Mode1/2048)&lt;br&gt;0x930=CD (Mode2/2352)<br /> |-<br /> | 0x10 || 0x3FF0 || ''padding'' || 0x00000000... || <br /> |}<br /> <br /> ===folder/file layout===<br /> (in this example GTA San Andreas Classic)<br /> &lt;pre&gt;<br /> [NPUD20946]<br /> [USRDIR]<br /> [CONTENT]<br /> 001.dxt<br /> 002.dxt<br /> 003.dxt<br /> 004.dxt<br /> 005.dxt<br /> 006.dxt<br /> 007.dxt<br /> 008.dxt<br /> 009.dxt<br /> 010.dxt<br /> 011.dxt<br /> 012.dxt<br /> 013.dxt<br /> 014.dxt<br /> 015.dxt<br /> 016.dxt<br /> 017.dxt<br /> Others.dxt<br /> Manual.idx<br /> [SAVEDATA]<br /> SCEVMC0.VME<br /> SCEVMC1.VME<br /> CONFIG<br /> ISO.BIN.EDAT<br /> ISO.BIN.ENC<br /> PS3LOGO.DAT<br /> PARAM.SFO<br /> ICON0.PNG<br /> PIC0.PNG<br /> PIC1.PNG<br /> PIC2.PNG<br /> &lt;/pre&gt;<br /> <br /> ==Virtual PS2 (emulated machine) usage and features==<br /> <br /> ===Video Modes===<br /> '''Note:''' Real PS2 : http://users.neoscientists.org/~blue/ps2videomodes.txt<br /> <br /> Video Modes<br /> ----.-----------.---------------.-----------.-----------.<br /> No | Name | Resolution | fV(Hz) | fH(kHz) |<br /> ----+-----------+---------------+-----------+-----------|<br /> 0 | NTSC-NI | 640x240(224) | 59.940 | 15.734 |<br /> 1 | NTSC-I | 640x480(448) | 59.820 | 15.734 |<br /> 2 | PAL-NI | 640x288(256) | 50.000 | 15.625 |<br /> 3 | PAL-I | 640x576(512) | 49.760 | 15.625 |<br /> 4 | VESA-1A | 640x480 | 59.940 | 31.469 |<br /> 5 | VESA-1C | 640x480 | 75.000 | 37.500 |<br /> 6 | VESA-2B | 800x600 | 60.317 | 37.879 |<br /> 7 | VESA-2D | 800x600 | 75.000 | 46.875 |<br /> 8 | VESA-3B | 1024x768 | 60.004 | 48.363 |<br /> 9 | VESA-3D | 1024x768 | 75.029 | 60.023 |<br /> 10 | VESA-4A | 1280x1024 | 60.020 | 63.981 |<br /> 11 | VESA-4B | 1280x1024 | 75.025 | 79.976 |<br /> 12 | DTV-480P | 720x480 | 59.940 | 31.469 |<br /> 13 | DTV-1080I | 1920x1080 | 60.000 | 33.750 |<br /> 14 | DTV-720P | 1280x720 | ?? | ?? |<br /> ----^-----------^---------------^-----------^-----------'<br /> <br /> ==Memory Mapping==<br /> <br /> === ps2netemu === <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Name !! ea !! lpar2(netemu 4.81) !! size !! flags !! lpar1(lv1 4.81)<br /> |-<br /> | text || 0x0 || 0x3D00000 || 0x300000( 3 MB) || 0x8000000000000003 0000000000000003 || 0x7D00000<br /> |- <br /> | ro_work || 0x300000 || 0x300000 || 0x500000( 5 MB) || 0x0000000000000003 0000000000000003 || 0x4300000<br /> |- <br /> | rw_work || 0x800000 || 0x800000 || 0x2A00000( 42 MB) || 0x0000000000000001 0000000000000003 || 0x4800000<br /> |- <br /> | negmem || 0x1FFF0000 || 0x3210000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000000 || 0x7210000<br /> |- <br /> | ee_ram || 0x100000000 || 0x64000E000000 || 0x2000000( 32 MB) || 0x0000000000000001 0000000000000000 || 0x3C00000 - 0x3F00000, 0x8000000 - 0x9B00000<br /> |- <br /> | ee_jit_code || 0xD00000000 || 0x680024000000 || 0x3000000( 48 MB) || 0x8000000000000001 0000000000000003 || 0xBC00000 - 0xEB00000<br /> |- <br /> | vu0_jit_code || 0xD08000000 || 0x580000800000 || 0x400000( 4 MB) || 0x8000000000000001 0000000000000003 || 0x900000 - 0xC00000<br /> |- <br /> | vu0_jit_data || 0xD0C000000 || 0x3700000 || 0x400000( 4 MB) || 0x0000000000000002 0000000000000003 || 0x7700000<br /> |- <br /> | eeram_jit_lut || 0xE00000000 || 0x640010000000 || 0x2000000( 32 MB) || 0x0000000000000001 0000000000000003 || 0x9C00000 - 0xBB00000<br /> |- <br /> | eerom_jit_lut || 0xE0FC00000 || 0x580000C00000 || 0x400000( 4 MB) || 0x0000000000000001 0000000000000003 || 0xD00000 - 0x1000000<br /> |- <br /> | ee_dbg_ram || 0x90FFF8000 || 0x64000E078000 || 0x8000( 32 KB) || 0x0000000000000001 0000000000000000 || <br /> |- <br /> | iop_ram || 0x400000000 || 0x3300000 || 0x200000( 2 MB) || 0x0000000000000001 0000000000000000 || 0x7300000<br /> |- <br /> | iop_rom || 0x50FC00000 || 0x580001000000 || 0x400000( 4 MB) || 0x0000000000000001 0000000000000002 || 0x1100000 - 0x1400000<br /> |- <br /> | iop_spad || 0x50F800000 || 0x3220000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000002 || 0x7220000<br /> |- <br /> | spu2_ram || 0x600000000 || 0x3500000 || 0x200000( 2 MB) || 0x0000000000000001 0000000000000000 || 0x7500000<br /> |- <br /> | spu2_ram2 || 0x600200000 || 0x3500000 || 0x200000( 2 MB) || 0x0000000000000001 0000000000000000 || 0x7500000<br /> |- <br /> | spu2_pcm || 0x1000000000 || 0x3230000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000000 || 0x7230000<br /> |- <br /> | ee_spr_lo || 0x700000000 || 0x3201000 || 0x2000( 8 KB) || 0x0000000000000001 0000000000000000 || 0x7201000<br /> |- <br /> | ee_spr || 0x800000000 || 0x3203000 || 0x6000( 24 KB) || 0x0000000000000001 0000000000000000 || 0x7203000<br /> |- <br /> | ee_vu0_dmem0 || 0x301004000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_vu0_dmem1 || 0x301005000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_vu0_dmem2 || 0x301006000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_vu0_dmem3 || 0x301007000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_rom || 0x30FC00000 || 0x580001000000 || 0x400000( 4 MB) || 0x0000000000000001 0000000000000001 || 0x1100000 - 0x1400000<br /> |- <br /> | vrc || 0xC00000000 || 0x600005000000 || 0x1000000( 16 MB) || 0x0000000000000001 0000000000000000 || 0x1500000 - 0x2400000<br /> |- <br /> | /dev/zero || 0x4000000000 || 0x3240000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000001 || 0x7240000<br /> |- <br /> | dma_vu0_dmem0 || 0x4001004000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | dma_vu0_dmem1 || 0x4001005000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | dma_vu0_dmem2 || 0x4001006000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | dma_vu0_dmem3 || 0x4001007000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem0 || 0x30000000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem1 || 0x30001000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem2 || 0x30002000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem3 || 0x30003000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | SGSXdr || 0x1904000000 || 0x64000C000000 || 0x1700000( 23 MB) || 0x0000000000000001 0000000000000000 || 0x2500000 - 0x3B00000<br /> |- <br /> | iopTrace || 0x1400000000 || 0x3250000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000000 || 0x7250000<br /> |}<br /> <br /> ====SPE local storage====<br /> Emulator access SPE LS by accessing special addresses. Mapping as follows:<br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! SPE Num. !! SPE task !! Address in netemu !! address in SPE<br /> |-<br /> | 0 || IOP || 0x40000000 - 0x4003FFFF || 0x0 - 3FFFF<br /> |-<br /> | 1 || SPU2 || 0x40080000 - 0x400BFFFF || 0x0 - 3FFFF<br /> |-<br /> | 2 || VU1 || 0x40100000 - 0x4013FFFF || 0x0 - 3FFFF<br /> |-<br /> | 3 || EEDMA || 0x40180000 - 0x401BFFFF || 0x0 - 3FFFF<br /> |-<br /> | 4 || FE || 0x40200000 - 0x4023FFFF || 0x0 - 3FFFF<br /> |-<br /> | 5 || BE || 0x40280000 - 0x402BFFFF || 0x0 - 3FFFF<br /> |-<br /> | 6 || IPU || 0x40300000 - 0x4033FFFF || 0x0 - 3FFFF<br /> |-<br /> |}<br /> <br /> Additionally, emulator access SPU directly with those addresses. &lt;br&gt;<br /> <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Address !! Channel !! Channel description !! Access type !! Notes<br /> |-<br /> | 0x44004 || SPU_Out_Mbox || SPU Outbound Mailbox Register || Read only || Used to read 32 bits of data from the corresponding SPU outbound mailbox queue. Outbound Mailbox Register has a corresponding SPU Write Outbound Mailbox Channel for writing data into outbound mailbox queue.<br /> |-<br /> | 0x4400C || SPU_In_Mbox || SPU Inbound Mailbox Register || Write only || Used to write 32 bits of data into the corresponding SPU inbound mailbox queue. Inbound mailbox queue has a corresponding SPU Read Inbound Mailbox Channel for reading data from the queue.<br /> |-<br /> | 0x44014 || SPU_Mbox_Stat || SPU Mailbox Status Register || Read only || Contains the current In_Mbox/Out_Mbox/Out_Intr_Mbox count of the mailbox queues in the corresponding SPE. <br /> |-<br /> | 0x4401C || SPU_RunCntl || SPU Run Control Register || Read/Write || Used to start and stop the execution of instructions in the SPU. <br /> The SPU can dynamically change the state of the Run Status bit (that is, SPU_Status[R]). <br /> |-<br /> | 0x44024 || SPU_Status || SPU Status Register || Read only || Used to report the status (state) of an SPU. Emulator use it mostly to check if SPU is running (bit31).<br /> |-<br /> | 0x44034 || SPU_NPC || SPU Next Program Counter Register || Read/Write || Contains the address from which an SPU starts executing when the Run Control bit is set in the SPU Run Control Register.<br /> Used in function that start SPU programs, and in interrupts handlers, plus in few other places.<br /> |-<br /> | 0x5400C || SPU_Sig_Notify_1 || SPU Signal Notification 1 Register || Read/Write || Used to write data that can be read in SPU_RdSigNotify1 channel corresponding SPE.<br /> |-<br /> | 0x5C00C || SPU_Sig_Notify_2 || SPU Signal Notification 2 Register || Read/Write || Used to write data that can be read in SPU_RdSigNotify2 channel corresponding SPE.<br /> |-<br /> |}<br /> <br /> Address = SPU base + Address. For example, IPU SPU is mapped to 0x40300000 so accessing SPU_Sig_Notify1 will be done by read/write to 0x4035400C.<br /> <br /> ===PS2 Memory and Hardware Mapped Registers Layout===<br /> &lt;pre&gt;<br /> EE Virtual/Physical Memory Map<br /> KUSEG: 00000000h-7FFFFFFFh User segment<br /> KSEG0: 80000000h-9FFFFFFFh Kernel segment 0<br /> KSEG1: A0000000h-BFFFFFFFh Kernel segment 1<br /> KSSEG: C0000000h-DFFFFFFFh Supervisor segment<br /> KSEG3: E0000000h-FFFFFFFFh Kernel segment 3<br /> <br /> Virtual Physical<br /> 00000000h 00000000h 32 MB Main RAM (first 1 MB reserved for kernel)<br /> 20000000h 00000000h 32 MB Main RAM, uncached<br /> 30100000h 00100000h 31 MB Main RAM, uncached and accelerated<br /> 10000000h 10000000h 64 KB I/O registers<br /> 11000000h 11000000h 4 KB VU0 code memory<br /> 11004000h 11004000h 4 KB VU0 data memory<br /> 11008000h 11008000h 16 KB VU1 code memory<br /> 1100C000h 1100C000h 16 KB VU1 data memory<br /> 12000000h 12000000h 8 KB GS privileged registers<br /> 1C000000h 1C000000h 2 MB IOP RAM<br /> 1FC00000h 1FC00000h 4 MB BIOS, uncached (rom0)<br /> 9FC00000h 1FC00000h 4 MB BIOS, cached (rom09)<br /> BFC00000h 1FC00000h 4 MB BIOS, uncached (rom0b)<br /> 70000000h --------- 16 KB Scratchpad RAM (only accessible via virtual addressing)<br /> <br /> IOP Physical Memory Map<br /> KUSEG: 00000000h-7FFFFFFFh User segment<br /> KSEG0: 80000000h-9FFFFFFFh Kernel segment 0<br /> KSEG1: A0000000h-BFFFFFFFh Kernel segment 1<br /> <br /> Physical<br /> 00000000h 2 MB Main RAM (same as on PSX)<br /> 1D000000h SIF registers<br /> 1F800000h 64 KB Various I/O registers<br /> 1F900000h 1 KB SPU2 registers<br /> 1FC00000h 4 MB BIOS (rom0) - Same as EE BIOS<br /> <br /> FFFE0000h (KSEG2) Cache control<br /> <br /> Additional Memory<br /> 4 MB GS VRAM (used for framebuffer, textures, zbuffer, etc)<br /> 2 MB SPU2 work RAM - quadrupled from PSX's SPU<br /> 8 MB Memory card<br /> <br /> <br /> Hardware Mapped Registers<br /> EE Map<br /> EE Timers<br /> 100000xxh Timer 0<br /> 100008xxh Timer 1<br /> 100010xxh Timer 2<br /> 100018xxh Timer 3<br /> Image Processing Unit (IPU)<br /> 10002000h 8h IPU Command<br /> 10002010h 4h IPU Control<br /> 10002020h 4h IPU bit pointer control<br /> 10002030h 8h Top of bitstream<br /> 10007000h 10h Out FIFO (read)<br /> 10007010h 10h In FIFO (write)<br /> Graphics Interface (GIF)<br /> 10003000h 4h GIF_CTRL - Control register<br /> 10003010h 4h GIF_MODE - Mode setting<br /> 10003020h 4h GIF_STAT - Status<br /> 10003040h 4h GIF_TAG0 - Bits 0-31 of tag before<br /> 10003050h 4h GIF_TAG1 - Bits 32-63 of tag before<br /> 10003060h 4h GIF_TAG2 - Bits 64-95 of tag before<br /> 10003070h 4h GIF_TAG3 - Bits 96-127 of tag before<br /> 10003080h 4h GIF_CNT - Transfer status counter<br /> 10003090h 4h GIF_P3CNT - PATH3 transfer status counter<br /> 100030A0h 4h GIF_P3TAG - Bits 0-31 of PATH3 tag when interrupted<br /> 10006000h 10h GIF FIFO<br /> DMA Controller (DMAC)<br /> 100080xxh VIF0 - channel 0<br /> 100090xxh VIF1 - channel 1<br /> 1000A0xxh GIF - channel 2<br /> 1000B0xxh IPU_FROM - channel 3<br /> 1000B4xxh IPU_TO - channel 4<br /> 1000C0xxh SIF0 - channel 5<br /> 1000C4xxh SIF1 - channel 6<br /> 1000C8xxh SIF2 - channel 7<br /> 1000D0xxh SPR_FROM - channel 8<br /> 1000D4xxh SPR_TO - channel 9<br /> 1000E000h 4h D_CTRL - DMAC control<br /> 1000E010h 4h D_STAT - DMAC interrupt status<br /> 1000E020h 4h D_PCR - DMAC priority control<br /> 1000E030h 4h D_SQWC - DMAC skip quadword<br /> 1000E040h 4h D_RBSR - DMAC ringbuffer size<br /> 1000E050h 4h D_RBOR - DMAC ringbuffer offset<br /> 1000E060h 4h D_STADR - DMAC stall address<br /> 1000F520h 4h D_ENABLER - DMAC disabled status<br /> 1000F590h 4h D_ENABLEW - DMAC disable<br /> Interrupt Controller (INTC)<br /> 1000F000h 4h INTC_STAT - Interrupt status<br /> 1000F010h 4h INTC_MASK - Interrupt mask<br /> Subsystem Interface (SIF)<br /> 1000F200h 4h MSCOM - EE-&gt;IOP communication<br /> 1000F210h 4h SMCOM - IOP-&gt;EE communication<br /> 1000F220h 4h MSFLAG - EE-&gt;IOP flags<br /> 1000F230h 4h SMFLAG - IOP-&gt;EE flags<br /> 1000F240h 4h Control register<br /> Privileged GS registers<br /> 12000000h 8h PMODE - various PCRTC controls<br /> 12000010h 8h SMODE1<br /> 12000020h 8h SMODE2<br /> 12000030h 8h SRFSH<br /> 12000040h 8h SYNCH1<br /> 12000050h 8h SYNCH2<br /> 12000060h 8h SYNCV<br /> 12000070h 8h DISPFB1 - display buffer for output circuit 1<br /> 12000080h 8h DISPLAY1 - output circuit 1 control<br /> 12000090h 8h DISPFB2 - display buffer for output circuit 2<br /> 120000A0h 8h DISPLAY2 - output circuit 2 control<br /> 120000B0h 8h EXTBUF<br /> 120000C0h 8h EXTDATA<br /> 120000D0h 8h EXTWRITE<br /> 120000E0h 8h BGCOLOR - background color<br /> 12001000h 8h GS_CSR - control register<br /> 12001010h 8h GS_IMR - GS interrupt control<br /> 12001040h 8h BUSDIR - transfer direction<br /> 12001080h 8h SIGLBLID - signal<br /> <br /> IOP Map<br /> Subsystem Interface (SIF)<br /> 1D000000h 4h MSCOM - EE-&gt;IOP communication<br /> 1D000010h 4h SMCOM - IOP-&gt;EE communication<br /> 1D000020h 4h MSFLAG - EE-&gt;IOP flags<br /> 1D000030h 4h SMFLAG - IOP-&gt;EE flags<br /> 1D000040h 4h Control register<br /> CDVD Drive<br /> 1F402004h 1h Current N command<br /> 1F402005h 1h N command status (R)<br /> 1F402005h 1h N command params (W)<br /> 1F402006h 1h Error<br /> 1F402007h 1h Send BREAK command<br /> 1F402008h 1h CDVD I_STAT - interrupt register<br /> 1F40200Ah 1h Drive status<br /> 1F40200Fh 1h Disk type<br /> 1F402016h 1h Current S command<br /> 1F402017h 1h S command status<br /> 1F402018h 1h S command params<br /> Interrupt Control<br /> 1F801070h 4h I_STAT - Interrupt status<br /> 1F801074h 4h I_MASK - Interrupt mask<br /> 1F801078h 1h I_CTRL - Global interrupt disable<br /> DMA registers<br /> 1F80108xh MDECin - channel 0<br /> 1F80109xh MDECout - channel 1<br /> 1F8010Axh SIF2 (GPU) - channel 2<br /> 1F8010Bxh CDVD - channel 3<br /> 1F8010Cxh SPU2 Core0 - channel 4<br /> 1F8010Dxh PIO - channel 5<br /> 1F8010Exh OTC - channel 6<br /> 1F80150xh SPU2 Core1 - channel 8<br /> 1F80151xh ??? - channel 9<br /> 1F80152xh SIF0 - channel 10<br /> 1F80153xh SIF1 - channel 11<br /> 1F80154xh SIO2in - channel 12<br /> 1F80155xh SIO2out - channel 13<br /> <br /> 1F8010F0h 4h DPCR - DMA priority control<br /> 1F8010F4h 4h DICR - DMA interrupt control<br /> 1F801570h 4h DPCR2 - DMA priority control 2<br /> 1F801574h 4h DICR2 - DMA priority control 2<br /> IOP Timers<br /> 1F80110xh Timer 0<br /> 1F80111xh Timer 1<br /> 1F80112xh Timer 2<br /> 1F80148xh Timer 3<br /> 1F80149xh Timer 4<br /> 1F8014Axh Timer 5<br /> Serial Interface (SIO2)<br /> 1F808200h 40h SEND3 buffer<br /> 1F808240h 20h SEND1/2 buffers<br /> 1F808260h 1h In FIFO<br /> 1F808264h 1h Out FIFO<br /> 1F808268h 4h SIO2 control<br /> 1F80826Ch 4h RECV1<br /> 1F808270h 4h RECV2<br /> 1F808274h 4h RECV3<br /> Sound Processing Unit (SPU2)<br /> 1F900000h 180h Core0 Voice 0-23 registers<br /> 1F900190h 4h Key ON 0/1<br /> 1F900194h 4h Key OFF 0/1<br /> 1F90019Ah 2h Core attributes<br /> 1F90019Ch 4h Interrupt address H/L<br /> 1F9001A8h 4h DMA transfer address H/L<br /> 1F9001ACh 2h Internal transfer FIFO<br /> 1F9001B0h 2h AutoDMA status<br /> 1F9001C0h 120h Core0 Voice 0-23 start/loop/next addresses<br /> 1F900340h 4h ENDX 0/1<br /> 1F900344h 2h Status register<br /> <br /> ... above addresses repeat for Core1 starting at 1F900400h ...<br /> <br /> 1F900760h 2h Master Volume Left<br /> 1F900762h 2h Master Volume Right<br /> 1F900764h 2h Effect Volume Left<br /> 1F900766h 2h Effect Volume Right<br /> 1F900768h 2h Core1 External Input Volume Left<br /> 1F90076Ah 2h Core1 External Input Volume Right<br /> &lt;/pre&gt;<br /> <br /> == Memory Allocation ==<br /> ===ps2_netemu===<br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Name !! Size !! page_log2 !! lpar2(netemu 4.81) !! lpar1(lv1 4.81)<br /> |-<br /> | ra_vu0_dmem || 0x1000 (4 KB) || 12 (4 KB) || 0x3200000 || 0x7200000<br /> |- <br /> | ra_ee_spr_lo || 0x2000 (8 KB) || 12 (4 KB) || 0x3201000 || 0x7201000<br /> |- <br /> | ra_ee_sprx || 0x6000 (24 KB) || 12 (4 KB) || 0x3203000 || 0x7203000<br /> |- <br /> | ra_negmem || 0x10000 (64 KB) || 16 (64 KB) || 0x3210000 || 0x7210000<br /> |- <br /> | ra_iop_spad || 0x10000 (64 KB) || 16 (64 KB) || 0x3220000 || 0x7220000<br /> |- <br /> | ra_spu2_pcm || 0x10000 (64 KB) || 16 (64 KB) || 0x3230000 || 0x7230000<br /> |- <br /> | ra_nulls || 0x10000 (64 KB) || 16 (64 KB) || 0x3240000 || 0x7240000<br /> |- <br /> | ra_itrace || 0x10000 (64 KB) || 16 (64 KB) || 0x3250000 || 0x7250000<br /> |- <br /> | ra_iop_ram || 0x200000 (2 MB) || 20 (1 MB) || 0x3300000 || 0x7300000<br /> |- <br /> | ra_spu2_ram || 0x200000 (2 MB) || 20 (1 MB) || 0x3500000 || 0x7500000<br /> |- <br /> | ra_vu0_code || 0x400000 (4 MB) || 20 (1 MB) || 0x580000800000 || 0x900000 - 0xC00000<br /> |- <br /> | ra_vu0_data || 0x400000 (4 MB) || 20 (1 MB) || 0x3700000 || 0x7700000<br /> |- <br /> | ra_ee_rom_pc || 0x400000 (4 MB) || 20 (1 MB) || 0x580000C00000 || 0xD00000 - 0x1000000<br /> |- <br /> | ra_ps2_rom || 0x400000 (4 MB) || 20 (1 MB) || 0x580001000000 || 0x1100000 - 0x1400000<br /> |- <br /> | ra_vrc_mem || 0x1000000 (16 MB) || 20 (1 MB) || 0x600005000000 || 0x1500000 - 0x2400000<br /> |- <br /> | ra_sgs_xdr || 0x1700000 (23 MB) || 20 (1 MB) || 0x64000C000000 || 0x2500000 - 0x3B00000<br /> |- <br /> | ra_ee_ram || 0x2000000 (32 MB) || 20 (1 MB) || 0x64000E000000 || 0x3C00000 - 0x3F00000, 0x8000000 - 0x9B00000<br /> |- <br /> | ra_ee_ram_pc || 0x2000000 (32 MB) || 20 (1 MB) || 0x640010000000 || 0x9C00000 - 0xBB00000<br /> |- <br /> | ra_trans_code || 0x3000000 (48 MB) || 20 (1 MB) || 0x680024000000 || 0xBC00000 - 0xEB00000<br /> |}<br /> <br /> <br /> ==Controller==<br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! ID !! Controller #Number !! Note<br /> |-<br /> | 1 (1-A) || 1 ||<br /> |-<br /> | 2 (2-A) || 2 ||<br /> |-<br /> | 3 (1-B) || 3 ||<br /> |-<br /> | 4 (2-B) || 4 ||<br /> |-<br /> | 5 (1-C) || 5 || Gamepad LED #1 + #4<br /> |-<br /> | 6 (2-C) || 6 || Gamepad LED #2 + #4<br /> |-<br /> | 7 (1-D) || 7 || Gamepad LED #3 + #4<br /> |-<br /> |}<br /> <br /> ==Peripheral support==<br /> ===ps2_emu.self / ps2_gxemu.self===<br /> #Hub<br /> #Mouse<br /> #Keyboard<br /> #EyeToy<br /> #Head Mount Display<br /> #Mic<br /> #Ascii Mic<br /> #Socom USB Headset<br /> #Usb Headset<br /> #Sea Mic Controller<br /> #Force Feedback device<br /> #GT Force<br /> #Momo Force<br /> #Driving Force Pro<br /> #G25/G27<br /> #Momo Racing<br /> #Flight Force<br /> #Force 3D Pro<br /> #Modem<br /> #Guncon2<br /> #Densya de GO! controller type 2<br /> #Densya de GO! Sincansen senyou controller<br /> #Capture Eye<br /> #Flight Stick<br /> #Flight Stick 2<br /> #Pop Egg<br /> #Trance Vibrator<br /> #PSP<br /> #Compact Flight Controller<br /> #Flash Memory<br /> #Buzz!<br /> #Pachi-Slot Controller Kurouto<br /> #Usb Adapter<br /> #Guncon3<br /> #Multi Train Controller<br /> #Para Para Paradise controller<br /> <br /> ===ps2_netemu.self===<br /> #BD Remote Control<br /> #PLAYSTATION(R)3 Controller (Vendor ID 0x54C, Product ID 0x268), <br /> #Motion Controller - Move (Vendor ID 0x54C, Product ID 0x3D5), <br /> #Navigation Controller (Vendor ID 0x54C, Product ID 0x42F)<br /> #&quot;guncon3&quot;<br /> &lt;br/&gt;<br /> Unknown: <br /> #Vendor ID 0xF0D (Hori), Product ID 0x4A <br /> #Vendor ID 0x54C (Sony), Product ID 0x5AF<br /> &lt;br/&gt;<br /> Few peripherals not listed above work fine or with issues.<br /> #PS3 Dance Dance Revolution Dance Pad - not ps2 accessory, opposite arrows can't be pressed at the same time.<br /> #Pop'N Music controllers - Require PS2 to USB converter. Wrong button mappings can be fixed by remap in config file.<br /> <br /> ==BIOS==<br /> ===ps2_netemu.self===<br /> Ps2_netemu use integrated PS2 bios included in ps2netemu.elf, not additional file like in ps1_emu. In 4.81 firmware BIOS is located from 0x820A00 to 0x9F09FF (0x820900 to 0x9F08FF in fw4.50). Bios version is Developement v2.20 (22/01/2007).<br /> <br /> Notable thing is that ps2_netemu use the same bios as ps2_gxemu, and ps2onps4. ps2_netemu not boot using ps2_emu bios because of failing RDRAM check. <br /> <br /> ===Content===<br /> Files included in ps2_netemu/ps2_gxemu bios.<br /> <br /> {| class=&quot;wikitable&quot; style=&quot;font-size:small;&quot;<br /> |-<br /> ! File !! Offset in fw4.81 ps2_netemu !! Offset in exported bin !! Description !! File type (exportable)<br /> |-<br /> | RESET || 0x820A00 || 0x00 || Bootstrap code for the EE and IOP. || BIN<br /> |-<br /> | ROMDIR || 0x823180 || 0x2780 || The ROMDIR part of the ROM image, which provides information on the location and name of files contained in the image. || BIN<br /> |-<br /> | EXTINFO || 0x8236C0 || 0x2CC0 || Contains the &quot;EXTINFO&quot; for all files in the ROM image. || BIN<br /> |-<br /> | SBIN || 0x823D30 || 0x3330 || Seems to be the pad controller library for the PS1 monitor. || BIN<br /> |-<br /> | LOGO || 0x82ACD0 || 0xA2D0 || PS1 logo? || BIN<br /> |-<br /> | IOPBTCONF || 0x83F420 || 0x1EA20 || Boot configuration file for the IOP, during the final phase of the IOP reset. If no UDNL module is specified, the IOP will only have a single IOP reset in the reboot process, with the modules listed in IOPBTCONF. || BIN<br /> |-<br /> | IOPBTCON2 || 0x83F510 || 0x1EB10 || Boot configuration file for the IOP, for the first phase of the IOP reset (before UDNL is loaded). || BIN<br /> |-<br /> | SYSMEM || 0x83F5E0 || 0x1EBE0 || System Memory Manager. || ELF<br /> |-<br /> | LOADCORE || 0x840800 || 0x1FE00 || The core of IOP module loading. Provides the lowest level of IOP module loading functions. Also handles the startup of the IOP. || ELF<br /> |-<br /> | EXCEPMAN || 0x842D80 || 0x22380 || Exception manager. || ELF<br /> |-<br /> | INTRMANP || 0x843960 || 0x22F60 || Interrupt Manager. According to wisi, it is for PS mode. || ELF<br /> |-<br /> | INTRMANI || 0x845370 || 0x24970 || Interrupt Manager. According to wisi, it is for IOP mode. || ELF<br /> |-<br /> | SSBUSC || 0x8471B0 || 0x267B0 || SSBUS Controller library. The SSBUS seems to be the bus that all peripherals get connected to. It seems to have the power to control the mapping of the device registers, as well as access timing. || ELF<br /> |-<br /> | TIMEMANP || 0x847920 || 0x26F20 || Timer Manager (PS mode) || ELF<br /> |-<br /> | TIMEMANI || 0x848500 || 0x27B00 || Timer Manager (IOP mode) || ELF<br /> |-<br /> | DMACMAN || 0x849130 || 0x28730 || DMA Controller Manager. || ELF<br /> |-<br /> | SYSCLIB || 0x84C830 || 0x2BE30 || System C Library. || ELF<br /> |-<br /> | HEAPLIB || 0x84EF90 || 0x2E590 || Memory HEAP LIBrary (i.e. thvpool, thfpool) || ELF<br /> |-<br /> | THREADLIB || 0x84FC90 || 0x2F290 || Multi_Thread_Manager || ELF<br /> |-<br /> | VBLANK || 0x858A20 || 0x38020 || V-Blank management || ELF<br /> |-<br /> | IOMAN || 0x8597B0 || 0x38DB0 || IO Manager || ELF<br /> |-<br /> | MODLOAD || 0x85B720 || 0x3AD20 || IOP module loader. || ELF<br /> |-<br /> | ROMDRV || 0x85DA70 || 0x3D070 || ROM driver. Provides access to the boot ROM (rom0). || ELF<br /> |-<br /> | ADDDRV || 0x85E960 || 0x3DF60 || Adds support for the DVD ROM (rom1:), via ROMDRV. || ELF<br /> |-<br /> | STDIO || 0x85EDC0 || 0x3D3C0 || Standard I/O library. || ELF<br /> |-<br /> | SIFMAN || 0x85F9B0 || 0x3EFB0 || SIF manager. || ELF<br /> |-<br /> | SIFINIT || 0x860F50 || 0x40550 || Initializes the SIF. || ELF<br /> |-<br /> | EESYNC || 0x861370 || 0x40970 || For synchronizing with the EE, at the end of IOP resets. EESYNC from DNAS images are evil; they also perform a memory wipe of the region from 0x00084000 to .0x00100000. || ELF<br /> |-<br /> | EENULL || 0x861810 || 0x40E10 || The idle thread (id #0) module, in ps2 loaded to 0x00081FC0. || BIN<br /> |-<br /> | PS1ID || 0x861850 || 0x40E50 || Only found in newer boot ROMs || BIN<br /> |-<br /> | LIBFI || 0x861860 || 0x40E60 || Not present in the boot ROM of the SCPH-10000 and SCPH-15000. || BIN<br /> |-<br /> | PS1VERJ || 0x861950 || 0x40F50 || || BIN<br /> |-<br /> | PS1VERA || 0x861960 || 0x40F60 || || BIN<br /> |-<br /> | PS1VERE || 0x861970 || 0x40F70 || || BIN<br /> |-<br /> | PS1VERC || 0x861980 || 0x40F80 || || BIN<br /> |-<br /> | PS1VERH || 0x861990 || 0x40F90 || || BIN<br /> |-<br /> | OSDSYS || 0x8619A0 || 0x40FA0 || The browser || BIN<br /> |-<br /> | - || 0x8619B0 || 0x40FB0 || || BIN<br /> |-<br /> | RDRAM || 0x861A00 || 0x41000 || Provides a RDRAM test for the EE at power-on. This is run from RESET. || BIN<br /> |-<br /> | - || 0x864190 || 0x43A30 || || BIN<br /> |-<br /> | EELOADCNF || 0x864200 || 0x43D50 || Contains the IOP boot configuration file for EELOAD. || BIN<br /> |-<br /> | SIFCMD || 0x864900 || 0x43F00 || SIF command module. Contains the SIF command and SIF RPC functions. || ELF<br /> |-<br /> | REBOOT || 0x866B40 || 0x46140 || The reboot service. Receives IOP reset packets from the EE, from across the SIF. || ELF<br /> |-<br /> | LOADFILE || 0x867310 || 0x46910 || The RPC server for MODLOAD || ELF<br /> |-<br /> | EECONF || 0x869A70 || 0x49070 || Loads part of the system configuration from the MECHACON EEPROM. Also configures and resets some peripherals, depending on the model version. In slimlines, and possibly on PS3 EECONF will also load the MAC address. || ELF<br /> |-<br /> | - || 0x86A9F0 || 0x49FF0 || || BIN<br /> |-<br /> | IOPBOOT || 0x86AA00 || 0x4A000 || IOP bootup program || BIN<br /> |-<br /> | - || 0x86BB60 || 0x4B160 || || BIN<br /> |-<br /> | TBIN || 0x86C200 || 0x4B800 || The PS1 monitor program. Seems to be the PS1 BIOS. This is started by RESET, when the IOP is in PS1 mode. || BIN<br /> |-<br /> | XSHA1 || 0x87A170 || 0x59770 || sha1 - this only present in PS3. It is used as additional antipiracy check. It seems that it calculate disc main elf checksum and compares it with some database. Config related?|| ELF<br /> |-<br /> | XLOADFILE || 0x87B140 || 0x5A740 || Updated module || ELF<br /> |-<br /> | SIO2MAN || 0x87E1F0 || 0x5D7F0 || SIO2 manager. Provides access to the SIO2 interface. || ELF<br /> |-<br /> | - || 0x87FE20 || 0x5F420 || || BIN<br /> |-<br /> | BNNETCNF || 0x881D00 || 0x61300 || Network configuration. Used by BB Navigator Network Configuration Library. || BIN<br /> |-<br /> | MCSERV || 0x881D40 || 0x61340 || RPC server for MCMAN. || ELF<br /> |-<br /> | - || 0x883A40 || 0x63040 || || BIN<br /> |-<br /> | KROMG || 0x884A00 || 0x64000 || || BIN<br /> |-<br /> | - || 0x8866C0 || 0x65CC0 || || BIN<br /> |-<br /> | KROM || 0x886A30 || 0x66030 || Kanji ROM? Not sure where this is used. || BIN<br /> |-<br /> | - || 0x8A0870 || 0x7FE70 || || BIN<br /> |-<br /> | ROMVER || 0x8A0900 || 0x7FF00 || ROM version. || BIN<br /> |-<br /> | - || 0x8A0910 || 0x7FF10 || || BIN<br /> |-<br /> | VERSTR || 0x8A0930 || 0x7FF30 || Version string. Probably PS1 ROM will use this because that this string is also present in PlayStation consoles. || BIN<br /> |-<br /> | - || 0x8A0990 || 0x7FF90 || || BIN<br /> |-<br /> | ROMGSCRT || 0x8A0A00 || 0x80000 || || BIN<br /> |-<br /> | NCDVDMAN || 0x8A3730 || 0x82D30 || It seems to be a heavily stripped-down CDVDMAN module, with no support for some S-command functions like sceCdRI. || ELF<br /> |-<br /> | SECRMAN || 0x8B0170 || 0x8F770 || Security Manager. Signing is NOT done with the one in ROM, but with a special version that comes with the utility discs. Looks like PS3 units have a different SECRMAN module from retail sets, similar to PS2 TOOL one. || ELF<br /> |-<br /> | MCMAN || 0x8B4630 || 0x93C30 || Memory Card Manager. || ELF<br /> |-<br /> | PADMAN || 0x8C3AC0 || 0xA30C0 || Pad manager. || ELF<br /> |-<br /> | CDVDMAN || 0x8CD210 || 0xAC810 || The CD/DVD manager. || ELF<br /> |-<br /> | CDVDFSV || 0x8D55C0 || 0xB4BC0 || The RPC server for CDVDMAN. || ELF<br /> |-<br /> | FILEIO || 0x8DD980 || 0xBCF80 || RPC server for IOMAN. Sony has greatly changed the semantics and design of FILEIO after some point. Connecting an old FILEIO EE RPC client to a newer server will result in a severe IOP crash. || ELF<br /> |-<br /> | CLEARSPU || 0x8DFA80 || 0xBF080 || Seems to clear/reset the SPU, but is known to cause crashes under some conditions. Not sure if it's buggy or not. Only used by the OSDSYS of the SCPH-10000 and SCPH-15000, probably retained for backward-compatibility. || ELF<br /> |-<br /> | UDNL || 0x8E16C0 || 0xC0CC0 || It is responsible for selecting the modules and starting the IOP, during the final phase of the IOP reset where the desired modules are to be loaded into the IOP. || ELF<br /> |-<br /> | IGREETING || 0x8E35C0 || 0xC2BC0 || Displays boot information (i.e. IOP boot type, EBOOTP, IBOOTP, switch positions for DSW602 and the type of DSW602 board installed || ELF<br /> |-<br /> | EELOAD || 0x8E4620 || 0xC3C20 || The EE ELF loader, which is loaded by LoadExecPS2() to 0x00082000 in PS2 for loading ELFs. || BIN<br /> |-<br /> | XCDVDMAN || 0x8F37A0 || 0xD2DA0 || cdvd_driver - Updated module || ELF<br /> |-<br /> | XCDVDFSV || 0x902530 || 0xE1B30 || cdvd_ee_driver - Updated module || ELF<br /> |-<br /> | OSDSND || 0x910960 || 0xEFF60 || OSD sound library. This is actually the tentative sound driver, which is called &quot;librspu2&quot; in the Sony SDK. || ELF<br /> |-<br /> | PS2LOGO || 0x93B5B0 || 0x11ABB0 || Displays the PlayStation 2 logo from the inserted disc. For newer consoles, if the logo cannot be decrypted properly, it will fall back to the browser. Not actually required to boot games, but the Sony OSDSYS boots PS2 games through this program. || ELF<br /> |-<br /> | XPARAM2 || 0x957F00 || 0x137500 || Store IOP emulation settings/flags || ELF<br /> |-<br /> | OSDSYS || 0x95A400 || 0x139A00 || The browser, in ps3 is stripped to parse xparam2. No real browser here. || BIN<br /> |-<br /> | PIOPRP || 0x998280 || 0x177880 || Present in the PS3 ps2_(gx/soft/net)emu; contains version 3.1.0 of the IOP software (compared to version 1.3.4 on the root). || BIN<br /> |-<br /> | KERNEL || 0x9DC1E0 || 0x1BB7E0 || The EE kernel || BIN<br /> |}<br /> Description source: https://gist.github.com/uyjulian/25291080f083987d3f3c134f593483c5<br /> <br /> ===Bios region patch===<br /> <br /> Emulator patch loaded bios image to set proper region based on target_id, and string (separated for readability):<br /> JJjpnJJ AAengAUU EEengEEE EEengEOA HHengJAG ERengERD CCschJCC HKkorJAG HHtchJAG AAspaAMM<br /> Note: Additional space after first set is intentional and exist also in full string.&lt;br&gt;&lt;br&gt;<br /> '''Target id to region pairing:'''<br /> * JJjpnJJ for 0x83<br /> * AAengAUU for 0x84 , others (DECR, etc.)<br /> * EEengEEE for 0x85 , 0x87 (also forced if game id from SYSTEM.CNF is xxEx_yy.zzz)<br /> * HHengJAG for 0x86 , 0x8A , 0x8E<br /> * AAspaAMM for 0x88 , 0x8F<br /> * EEengEOA for 0x89<br /> * HHtchJAG for 0x8B<br /> * ERengERD for 0x8C<br /> * CCschJCC for 0x8D (unreleased PS3 Chinese model)<br /> * HKkorJAG unused<br /> <br /> Bios is patched using EE memory mapping addresses, so offset in file + 0x1FC00000.<br /> Using HKkorJAG example, addresses below are set to:<br /> <br /> * 0x1FC7FF04 = H (x in &quot;0220xD20121227&quot; string)<br /> * 0x1FC7FF14 = K<br /> * 0x1FC7FF15 = k<br /> * 0x1FC7FF16 = o<br /> * 0x1FC7FF17 = r<br /> * 0x1FC7FF52 = J (x in &quot;System ROM Version 5.0 12/27/12 x&quot; string)<br /> * 0x1FC7FF20 = A<br /> * 0x1FC7FF90 = G<br /> <br /> ==Virtual PS2 HDD==<br /> There are 2 different &quot;PS2 game&quot; contents that can be installed in PS3 HDD (CATEGORY's [[PARAM.SFO#CATEGORY_For_HDD_contents | 2P and 2G ]]).<br /> '''2P''' are games released from PSN as &quot;PS2 Classic&quot; in .PKG format, and '''2G''' are a few real &quot;PS2 DVD discs&quot; that can be installed in the PS3 HDD, this installation is managed by the '''PS2_system_data.pkg'''.<br /> <br /> This games can be installed in real PS2 (in the internall HDD of a PS2 fat)... later this same installation was used in the [http://en.wikipedia.org/wiki/PSX_(DVR) PSX]... and when implemented in PS3 there was needed to use a '''virtual PS2 HDD''' image file keeping the same format than the original HDD used in PS2.<br /> <br /> Game files (extracted from the real PS2 disc) are installed in a '''IMAGE.DAT''' file, this file is a 1:1 &quot;raw copy&quot; of a PS2 HDD.<br /> <br /> This '''IMAGE.DAT''' is placed in the &quot;install folder&quot; (inside USRDIR folder) and his size can vary up to 10+GB<br /> <br /> There are 2 different installations: the most common is used to store &quot;game expansions&quot; (e.g: used by additional content in SOCOM games)... the other type of installation is a &quot;full install&quot; and it seems the only game that uses it is &quot;Final Fantasy XI&quot; (main game installation when the game boots for first time + game expansions added later when needed in the same '''IMAGE.DAT''')<br /> <br /> '''PS2_system_data.pkg''' itself uses an '''IMAGE.DAT''' file (6.43 MB)<br /> <br /> The structure of this &quot;virtual PS2 HDD&quot; uses an &quot;APA header&quot; and a &quot;APA MBR&quot; + several &quot;APA partitions&quot;, some of them containing &quot;PFS filesystems&quot;.<br /> <br /> Error message trying to boot a CATEGORY &quot;2G&quot; game with hand-made SFO's and invalid IMAGE.DAT file:<br /> '''The game partition for this game cannot be created because the installed game is corrupted.'''<br /> '''To perform this operation, delete the game, and then reinstall the game using the disc.'''<br /> <br /> *Notes<br /> **List of PS2 disc games compatibles with PS3 HDD installation hardcoded in '''dev_flash/vsh/module/[[game_ext_plugin]].sprx'''<br /> **Virtual PS2 HDD support module '''dev_flash/vsh/module/[[libps2hdd]].sprx''' ?<br /> <br /> ===PS2 System Data (PSN HDD Tool package)===<br /> A direct link to the package can be found in NoPayStation database in DLCs<br /> <br /> Content ID: IP9100-NPIA00001_00-PS2HDDSYSDAT0001<br /> QA Digest: 2A876715D42678BB7A6E00C030C0121B<br /> HASH: E1B0DBE46FC44190DC7A140681D8B9D4<br /> <br /> http://manuals.playstation.net/document/en/ps3/current/game/hddinstall.html<br /> <br /> '''Titles supporting HDD installation'''<br /> * Nobunaga's Ambition Online and Expansion Packs<br /> * Final Fantasy XI (disc1=SCUS97266 disc2=SCUS97269)and Expansion Discs<br /> * SOCOM II: U.S. NAVY SEALs and Related discs included with OPM Issue 87, OPM Issue 88, OPM Issue 89, OPM Issue 90<br /> * SOCOM 3: U.S. NAVY SEALs<br /> * SOCOM: U.S. NAVY SEALs Combined Assault<br /> * Front Mission Online<br /> * Official PlayStation Magazine Issue 87, 88, 89, 90 Discs<br /> ([[Talk:Emulation#PS2_HDD | non-official ps2hdd gameslist ]])<br /> <br /> ===TitleID/DiscID in game_ext_plugin.sprx===<br /> <br /> Mainly Final Fantasy 11, Nobunaga Ambition Online, Socom IDs and the required HDD Gigabyte amount for install onto the internal hdd.<br /> <br /> Speculation: flags are AND' with 0,1,2 (selected from sys_sm_get_hw_config according to ps2emu hardware flags? 0 = no hw?, 1 = gxemu?, 2=full hw? )<br /> <br /> {| class=&quot;wikitable&quot; style=&quot;font-size:small;&quot;<br /> ! Flags !! DiscID !! Alternative? DiscID !! GigaByte !! Title !! 0 = VMC&lt;br&gt;1 = IMAGE.DAT !! Internal Name? !! GigaByte<br /> |-<br /> | rowspan=&quot;9&quot; | 0xFFFF || SLPS20200 || rowspan=&quot;9&quot; | SLPS25200 || rowspan=&quot;9&quot; | 0x15 || rowspan=&quot;9&quot; | FINAL FANTASY XI || rowspan=&quot;9&quot; | 1 || rowspan=&quot;9&quot; | PP.SLPM-25200.MAGIC.APPLICATION || rowspan=&quot;9&quot; | 0x15<br /> |-<br /> | SLPM65705<br /> |-<br /> | SLPM65706<br /> |-<br /> | SLPM65953<br /> |-<br /> | SLPM66393<br /> |-<br /> | SLPM66394<br /> |-<br /> | SLPM66893<br /> |-<br /> | SLPM66894<br /> |-<br /> | SLPM55229<br /> |-<br /> |rowspan=&quot;4&quot; | 0x0001 || SLPM65197 || rowspan=&quot;4&quot; | SLPM65197 || rowspan=&quot;4&quot; | 0x07 || rowspan=&quot;4&quot; | 信長の野望 Online || rowspan=&quot;4&quot; | 1 || rowspan=&quot;4&quot; | PP.SLPM-65197.MAGIC.APPLICATION || rowspan=&quot;4&quot; | 0x07<br /> |-<br /> | SLPM65783<br /> |-<br /> | SLPM66539<br /> |-<br /> | SLPM66954<br /> |-<br /> |rowspan=&quot;5&quot; | 0xFFFF || SCUS97269 || rowspan=&quot;5&quot; | SCUS97269 || rowspan=&quot;5&quot; | 0x15 || rowspan=&quot;5&quot; | FINAL FANTASY XI || rowspan=&quot;5&quot; | 1 || rowspan=&quot;5&quot; | PP.SCUS-97266.MAGIC.APPLICATION || rowspan=&quot;5&quot; | 0x15<br /> |-<br /> | SLUS21070<br /> |-<br /> | SLUS21404<br /> |-<br /> | SLUS21694<br /> |-<br /> | SLUS21704<br /> |-<br /> |rowspan=&quot;7&quot; | 0xFFFF || SCUS97275 || rowspan=&quot;7&quot; | SCUS97275 || rowspan=&quot;7&quot; | 0x02 || rowspan=&quot;7&quot; | SOCOM || rowspan=&quot;7&quot; | 0 || rowspan=&quot;7&quot; | PP.SCUS-97275..SOCOM_II || rowspan=&quot;7&quot; | 0x02<br /> |-<br /> | SCUS97474<br /> |-<br /> | SCUS97340<br /> |-<br /> | SCUS97341<br /> |-<br /> | SCUS97342<br /> |-<br /> | SCUS97442<br /> |-<br /> | SCUS97545<br /> |}<br /> <br /> In PS2 Emulator same Title IDs are present with following information: <br /> SLPS25200 FINAL FANTASY XI : 0x100000000 (4 GB?)<br /> SCUS97269 FINAL FANTASY XI : 0x300000000 (12GB?)<br /> SLPM65981 Front Mission Online : 0x100000000 (4 GB?)<br /> SLPM65197 Nobunagas Ambition Online : 0x200000000 (8 GB?)<br /> <br /> ==Emulators management from GameOS==<br /> <br /> ===Mountpoints===<br /> dev_ps2disc<br /> dev_ps2disc1 <br /> <br /> ===ps2_netemu syscalls ===<br /> Vector at 0xC00 address.<br /> 0x00 -<br /> 0 = exec smth, <br /> 1 = 0x132 lv1 panic<br /> 2 = 0x133 lv1 panic<br /> 3 = 0x134 lv1 panic<br /> 4 = 0x135 lv1 panic<br /> else = 0x136 lv1 panic<br /> 0x02 - Destroy init code and perform illegal instructions check. Memzero following addresses:<br /> CODE: 0x16000 - 0x20B80<br /> DATA: 0x930F80 - 0x933F80<br /> UNK: 0x3D016000 - 0x3D020B80<br /> 0x03 - Enable additional code related to VU0/COP2.<br /> 3 = Patch 0x186C10 to NOP<br /> 4 = Patch 0x186C40 to NOP<br /> anything else = LV1 panic<br /> 0x04 - Unknown. Available for HW0 only. <br /> 0x05 - External interrupt disable (48 bit in MSR).<br /> 0x06 - External interrupt enable (48 bit in MSR) with param 0x8000, otherwise do nothing.<br /> 0x0A - IPU emulation related syscall<br /> 0x0B - IPU emulation related syscall<br /> 0x0C - Used in PS2 COP0 MTC0/MFC0 r9/r25 (count/perf), decrementer/timing related, return value in r15.<br /> Config CMD 0x17 disable that syscall for r9 (count) r/w, and alternative path is used. Perf r/w still use it.<br /> 0x10 - lv1 panic.<br /> 0x1002 - Invalidate gpu hvcalls.<br /> 0x800000XX - HV Syscall where XX is syscall nr.<br /> else (other syscalls) - jump to 0x12670 (FW4.78 - current) for HW_0<br /> jump to 0x12050 (FW4.78 - current) for HW_1 <br /> <br /> List of used HV syscalls:<br /> <br /> 0x80000000 - [[HV_Syscall_Reference#lv1_allocate_memory]]<br /> 0x80000001 - [[HV_Syscall_Reference#lv1_write_htab_entry]]<br /> 0x80000002 - [[HV_Syscall_Reference#lv1_construct_virtual_address_space]]<br /> 0x80000007 - [[HV_Syscall_Reference#lv1_select_virtual_address_space]]<br /> 0x80000009 - [[HV_Syscall_Reference#lv1_pause]]<br /> 0x8000000F - [[HV_Syscall_Reference#lv1_put_iopte]]<br /> 0x80000012 - [[HV_Syscall_Reference#lv1_construct_event_receive_port]]<br /> 0x8000001A - [[HV_Syscall_Reference#lv1_detect_pending_interrupts]]<br /> 0x8000001B - [[HV_Syscall_Reference#lv1_end_of_interrupt]]<br /> 0x8000001C - [[HV_Syscall_Reference#lv1_connect_irq_plug]]<br /> 0x80000039 - [[HV_Syscall_Reference#lv1_construct_logical_spe]]<br /> 0x8000003D - [[HV_Syscall_Reference#lv1_set_spe_interrupt_mask]]<br /> 0x80000042 - [[HV_Syscall_Reference#lv1_clear_spe_interrupt_status]]<br /> 0x80000043 - [[HV_Syscall_Reference#lv1_get_spe_interrupt_status]]<br /> 0x80000045 - [[HV_Syscall_Reference#lv1_get_logical_ppe_id]]<br /> 0x80000049 - [[HV_Syscall_Reference#lv1_set_interrupt_mask]]<br /> 0x8000004A - [[HV_Syscall_Reference#lv1_get_logical_partition_id]]<br /> 0x8000004E - [[HV_Syscall_Reference#lv1_get_spe_irq_outlet]]<br /> 0x8000005B - [[HV_Syscall_Reference#lv1_get_repository_node_value]]<br /> 0x8000005F - [[HV_Syscall_Reference#lv1_read_htab_entries]]<br /> 0x80000061 - [[HV_Syscall_Reference#lv1_set_vmx_graphics_mode]]<br /> 0x80000062 - [[HV_Syscall_Reference#lv1_set_thread_switch_control_register]]<br /> 0x80000074 - [[HV_Syscall_Reference#lv1_allocate_io_segment]]<br /> 0x80000076 - [[HV_Syscall_Reference#lv1_allocate_ioid]]<br /> 0x80000078 - [[HV_Syscall_Reference#lv1_construct_io_irq_outlet]]<br /> 0x8000007C - [[HV_Syscall_Reference#lv1_undocumented_function_124]]<br /> 0x8000007D - [[HV_Syscall_Reference#lv1_undocumented_function_125]]<br /> 0x8000007E - [[HV_Syscall_Reference#lv1_undocumented_function_126]]<br /> 0x80000088 - [[HV_Syscall_Reference#lv1_undocumented_function_136]]<br /> 0x8000008C - [[HV_Syscall_Reference#lv1_construct_lpm]]<br /> 0x8000008D - [[HV_Syscall_Reference#lv1_destruct_lpm]]<br /> 0x8000008E - [[HV_Syscall_Reference#lv1_start_lpm]]<br /> 0x8000008F - [[HV_Syscall_Reference#lv1_stop_lpm]]<br /> 0x80000090 - [[HV_Syscall_Reference#lv1_copy_lpm_trace_buffer]]<br /> 0x80000091 - [[HV_Syscall_Reference#lv1_add_lpm_event_bookmark]]<br /> 0x80000092 - [[HV_Syscall_Reference#lv1_delete_lpm_event_bookmark]]<br /> 0x80000093 - [[HV_Syscall_Reference#lv1_set_lpm_interrupt_mask]]<br /> 0x80000094 - [[HV_Syscall_Reference#lv1_get_lpm_interrupt_status]]<br /> 0x80000095 - [[HV_Syscall_Reference#lv1_set_lpm_general_control]]<br /> 0x80000096 - [[HV_Syscall_Reference#lv1_set_lpm_interval]]<br /> 0x80000097 - [[HV_Syscall_Reference#lv1_set_lpm_trigger_control]]<br /> 0x80000098 - [[HV_Syscall_Reference#lv1_set_lpm_counter_control]]<br /> 0x80000099 - [[HV_Syscall_Reference#lv1_set_lpm_group_control]]<br /> 0x8000009A - [[HV_Syscall_Reference#lv1_set_lpm_debug_bus_control]]<br /> 0x8000009B - [[HV_Syscall_Reference#lv1_set_lpm_counter]]<br /> 0x8000009C - [[HV_Syscall_Reference#lv1_set_lpm_signal]]<br /> 0x8000009D - [[HV_Syscall_Reference#lv1_set_lpm_spr_trigger]]<br /> 0x800000A3 - [[HV_Syscall_Reference#lv1_write_virtual_uart]]<br /> 0x800000A4 - [[HV_Syscall_Reference#lv1_set_virtual_uart_param]]<br /> 0x800000A5 - [[HV_Syscall_Reference#lv1_get_virtual_uart_param]]<br /> 0x800000A6 - [[HV_Syscall_Reference#lv1_configure_virtual_uart_irq]]<br /> 0x800000AA - [[HV_Syscall_Reference#lv1_open_device]]<br /> 0x800000AB - [[HV_Syscall_Reference#lv1_close_device]]<br /> 0x800000AC - [[HV_Syscall_Reference#lv1_map_device_mmio_region]]<br /> 0x800000AE - [[HV_Syscall_Reference#lv1_allocate_device_dma_region]]<br /> 0x800000AF - [[HV_Syscall_Reference#lv1_free_device_dma_region]]<br /> 0x800000B0 - [[HV_Syscall_Reference#lv1_map_device_dma_region]]<br /> 0x800000B1 - [[HV_Syscall_Reference#lv1_unmap_device_dma_region]]<br /> 0x800000B2 - [[HV_Syscall_Reference#lv1_read_pci_config]]<br /> 0x800000B3 - [[HV_Syscall_Reference#lv1_write_pci_config]]<br /> 0x800000C5 - [[HV_Syscall_Reference#lv1_connect_interrupt_event_receive_port]]<br /> 0x800000CF - [[HV_Syscall_Reference#lv1_enable_logical_spe]]<br /> 0x800000D2 - [[HV_Syscall_Reference#lv1_gpu_open]]<br /> 0x800000D4 - [[HV_Syscall_Reference#lv1_gpu_device_map]]<br /> 0x800000D6 - [[HV_Syscall_Reference#lv1_gpu_memory_allocate]]<br /> 0x800000D9 - [[HV_Syscall_Reference#lv1_gpu_context_allocate]]<br /> 0x800000DD - [[HV_Syscall_Reference#lv1_gpu_context_iomap]]<br /> 0x800000E1 - [[HV_Syscall_Reference#lv1_gpu_context_attribute]]<br /> 0x800000E3 - [[HV_Syscall_Reference#lv1_gpu_context_intr]]<br /> 0x800000E4 - [[HV_Syscall_Reference#lv1_gpu_attribute]]<br /> 0x800000F5 - [[HV_Syscall_Reference#lv1_storage_read]]<br /> 0x800000F6 - [[HV_Syscall_Reference#lv1_storage_write]]<br /> 0x800000F9 - [[HV_Syscall_Reference#lv1_storage_get_async_status]]<br /> 0x800000FF - [[HV_Syscall_Reference#lv1_panic]]<br /> <br /> ===LPAR / AUTH ID's===<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Name !! Auth ID !! Self&lt;br /&gt;(/dev_flash/ps2emu) !! Notes<br /> |-<br /> | PS2_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_emu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2 || 0x107000001D000001 || <br /> |-<br /> | PS2_GX_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_gxemu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2_GX || 0x107000001D000001 || <br /> |-<br /> | PS2_SW_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_softemu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2_SW || 0x107000001D000001 || <br /> |-<br /> | PS2_NE_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_netemu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2_NE || 0x107000001D000001 || <br /> |-<br /> |}<br /> <br /> ===Getting compatibility hardware info===<br /> See: [[PS2_Compatibility#Software]]<br /> <br /> ===ps2bootparam.dat===<br /> A file created at path: dev_hdd0/tmp/game/'''ps2bootparam.dat'''<br /> *See: [[ps2bootparam.dat]]&lt;!--we need this page because we have others like that in wiki--&gt;<br /> <br /> ===Cobra core===<br /> taken from storage_ext.c<br /> &lt;pre&gt; patch_ps2emu_entry(ps2emu_type); &lt;/pre&gt;<br /> *sets proper ps2_(gx/soft)emu.self path for reboot<br /> *patches ss_storage service 0x5004 disc checks on ss_server3.self inside lv1<br /> (Change from Parameter li r3, 2 and li r3, 1E (Drive Authentification) to li r3, 0x29 (Reset Drive))<br /> *and the usual either replace read/ioctl for iso etc.<br /> <br /> ==Game CONFIG==<br /> Some of the PS2 emulator types (such ps2_gxemu.self, ps2netemu.self) are able to load config commands that are applyed &quot;by game ID&quot;. The concept of &quot;game patches&quot; is not technically correct because some of the commands does patching functions but others does other things (not patching), and other commands works as switches or sets a value that are enviromental settings for the emulator (not for the game) but because are applyed &quot;by game&quot; should be considered enviromental settings for that specific game, so for simplification purposes you can think in all this data as &quot;game configs&quot;<br /> <br /> This &quot;game config&quot; data seems to work in the same way for all the PS2 emulator types but can be located in different places, some are hardcoded inside the emulators itself (inside the .self), and at the time the &quot;PS2 classics&quot; emulator (ps2_netemu.self) was developed this config can be loaded from an external file&lt;!--and there is some more inside some .sprx or inside the ps2 hdd data pkg ?--&gt;<br /> <br /> In short, the &quot;game configs&quot; can modify the game image (by patching it) and can be used to configure the virtual PS2 (the emulated machine). And can be loaded from hardcoded data (inside the .self) or from an external file (this feature is supported only by ps2_netemu.self). Maximum CONFIG size for ps2_netemu is 16384 bytes.<br /> <br /> The config data consists in a list of concatenated values of 8 bytes length (uint32_t), and can be processed like this:<br /> union{<br /> uint32_t command<br /> ...data...<br /> }<br /> <br /> ===Config Commands===<br /> ps2_netemu.self fw4.50 sub_12D7D8, fw4.81 sub_12E050<br /> params are uint32_t unless noted.<br /> <br /> At the time of writing this, most of the commands are completely or partially unknown.&lt;br /&gt;<br /> If you want to read some speculation and brainstorming about them, please join the {{talk}} page<br /> <br /> {| class=&quot;wikitable&quot; style=&quot;font-size:85%; line-height:100%; text-align:center&quot;<br /> |+PS2 Emulators Config Commands Overview<br /> ! rowspan=&quot;2&quot; | Command Name !! colspan=&quot;3&quot; | Command ID !! rowspan=&quot;2&quot; style=&quot;padding:1px&quot; | Max&lt;br&gt;Usage !! colspan=&quot;4&quot; | Command Data<br /> |-<br /> ! style=&quot;padding:1px&quot; | gxemu !! style=&quot;padding:1px&quot; | softemu !! style=&quot;padding:1px&quot; | netemu !! Length !! colspan=&quot;3&quot; | Params<br /> |-<br /> ! {{cellcolors|#c96|#000}} TitleID enforce<br /> | {{NA}} || {{NA}} || 0x00<br /> | 1 || style=&quot;text-align:left&quot; | char[10]<br /> | colspan=&quot;3&quot; {{cellcolors|#c96|#000|center}} titleid<br /> |-<br /> ! {{cellcolors|#555|#fff}} Hook EE memory offset with emu function ID<br /> | 0x00 || 0x00 || 0x01<br /> | 3 ? || style=&quot;text-align:left&quot; | 2&amp;nbsp;*&amp;nbsp;uint32_t<br /> | {{cellcolors|#555|#fff|center}} offset || colspan=&quot;2&quot; {{cellcolors|#555|#fff|center}} functionid<br /> |-<br /> ! {{cellcolors|#fff|#000}} Set something<br /> | 0x01 || 0x01 || 0x02<br /> | 1 || style=&quot;text-align:left&quot; | uint32_t<br /> | colspan=&quot;3&quot; | ?<br /> |-<br /> ! {{cellcolors|#fff|#000}} Switch something<br /> | 0x02 || 0x02 || 0x03<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#bd5|#000}} Patch something in SP3 EEDMA<br /> | 0x03 || 0x03 || 0x04<br /> | 1 || style=&quot;text-align:left&quot; | uint32_t<br /> | colspan=&quot;3&quot; | ?<br /> |-<br /> ! {{cellcolors|#bd5|#000}} Set DIRECT/DIRECTHL VIF1 in SP3 EEDMA<br /> | 0x04 || 0x04 || {{cellcolors|#eee|#b44|center}} &lt;abbr style=&quot;cursor:help; text-decoration:none&quot; title=&quot;Not Available&quot;&gt;0x05&lt;/abbr&gt;<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#fff|#000}} Switch something<br /> | 0x05 || 0x05 || 0x06<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#c96|#000}} Delay VU xgkick by X cycles<br /> | 0x06 || 0x06 || 0x07<br /> | 1 || style=&quot;text-align:left&quot; | uint32_t<br /> | colspan=&quot;3&quot; {{cellcolors|#c96|#000|center}} &lt;abbr title=&quot;2=2cycles, 4=4cycles, 8=8cycles&quot;&gt;cycles&lt;/abbr&gt;<br /> |-<br /> ! {{cellcolors|#c96|#000}} Patch VU memory by &lt;abbr title=&quot;two bit masks for original and patched data&quot;&gt;bitmask&lt;/abbr&gt;<br /> | 0x07 || 0x07 || 0x08<br /> | 3 || style=&quot;text-align:left&quot; | 8&amp;nbsp;*&amp;nbsp;uint32_t<br /> | colspan=&quot;3&quot; {{cellcolors|#c96|#000|center}} &lt;abbr title=&quot;read mask, read mask, original opcode, original opcode, write mask, write mask, replace opcode, replace opcode&quot;&gt;MASK&lt;/abbr&gt;<br /> |-<br /> ! {{cellcolors|#9f9|#000}} Patch EE memory with 2 opcodes<br /> | 0x08 || 0x08 || 0x09<br /> | &lt;abbr title=&quot;command&quot;&gt;1&lt;/abbr&gt;→&lt;abbr title=&quot;list&quot;&gt;32&lt;/abbr&gt; || style=&quot;text-align:left&quot; | uint32_t&amp;nbsp;+&amp;nbsp;LIST<br /> | {{cellcolors|#9f9|#000|center}} &lt;abbr title=&quot;amount of patches in the LIST&quot;&gt;count&lt;/abbr&gt; || colspan=&quot;2&quot; {{cellcolors|#9f9|#000|center}} &lt;abbr title=&quot;offset, original opcode, original opcode, replace opcode, replace opcode&quot;&gt;LIST&lt;/abbr&gt;<br /> |-<br /> ! {{cellcolors|#9f9|#000}} Patch EE memory with 1 opcode<br /> | {{NA}} || {{NA}} || 0x0A<br /> | &lt;abbr title=&quot;command&quot;&gt;1&lt;/abbr&gt;→&lt;abbr title=&quot;list&quot;&gt;32&lt;/abbr&gt; || style=&quot;text-align:left&quot; | uint32_t&amp;nbsp;+&amp;nbsp;LIST<br /> | {{cellcolors|#9f9|#000|center}} &lt;abbr title=&quot;amount of patches in the LIST&quot;&gt;count&lt;/abbr&gt; || colspan=&quot;2&quot; {{cellcolors|#9f9|#000|center}} &lt;abbr title=&quot;offset, original opcode, replace opcode&quot;&gt;LIST&lt;/abbr&gt;<br /> |-<br /> ! {{cellcolors|#9f9|#000}} Patch game disc by sector &amp; offset<br /> | 0x09 || 0x09 || 0x0B<br /> | &lt;abbr title=&quot;command&quot;&gt;1&lt;/abbr&gt;→&lt;abbr title=&quot;list&quot;&gt;47&lt;/abbr&gt; || style=&quot;text-align:left&quot; | uint32_t&amp;nbsp;+&amp;nbsp;LIST<br /> | {{cellcolors|#9f9|#000|center}} &lt;abbr title=&quot;amount of patches in the LIST&quot;&gt;count&lt;/abbr&gt; || colspan=&quot;2&quot; {{cellcolors|#9f9|#000|center}} &lt;abbr title=&quot;sector id, offset, sizeof present opcodes, replace opcodes, original opcodes&quot;&gt;LIST&lt;/abbr&gt;<br /> |-<br /> ! {{cellcolors|#fff|#000}} Set something<br /> | 0x0A || 0x0A || 0x0C<br /> | 1 || style=&quot;text-align:left&quot; | 2&amp;nbsp;*&amp;nbsp;uint16_t<br /> | &lt;abbr title=&quot;0=?, 1=?, 2=?&quot;&gt;unk_mode&lt;/abbr&gt; || colspan=&quot;2&quot; | &lt;abbr title=&quot;min 0x0, max 0xFFFF&quot;&gt;unk_range&lt;/abbr&gt;<br /> |-<br /> ! {{cellcolors|#fff|#000}} Set something<br /> | 0x0B || 0x0B || 0x0D<br /> | 1 || style=&quot;text-align:left&quot; | uint32_t<br /> | colspan=&quot;3&quot; | &lt;abbr title=&quot;0=skip, 1=don't skip (default)&quot;&gt;skip&lt;/abbr&gt;<br /> |-<br /> ! {{cellcolors|#f93|#000}} COP2 and FPU accurate ADD/SUB address<br /> | 0x0C || 0x0C || 0x0E<br /> | 32 || style=&quot;text-align:left&quot; | uint32_t<br /> | colspan=&quot;3&quot; {{cellcolors|#f93|#000|center}} &lt;abbr title=&quot;min 0x100000 ?, max 0x1FFFFFFF ?&quot;&gt;offset&lt;/abbr&gt;<br /> |-<br /> ! {{cellcolors|#f93|#000}} COP2 and FPU accurate ADD/SUB range<br /> | 0x0D || 0x0D || 0x0F<br /> | 32 || style=&quot;text-align:left&quot; | 2&amp;nbsp;*&amp;nbsp;uint32_t<br /> | {{cellcolors|#f93|#000|center}} &lt;abbr title=&quot;min 0x100000&quot;&gt;start&amp;nbsp;offset&lt;/abbr&gt; || colspan=&quot;2&quot; {{cellcolors|#f93|#000|center}} &lt;abbr title=&quot;max 0x1FFFFFFF&quot;&gt;end&amp;nbsp;offset&lt;/abbr&gt;<br /> |-<br /> ! {{cellcolors|#f93|#000}} COP2 accurate MUL/DIV range<br /> | 0x0E || 0x0E || 0x10<br /> | 32 || style=&quot;text-align:left&quot; | 2&amp;nbsp;*&amp;nbsp;uint32_t<br /> | {{cellcolors|#f93|#000|center}} &lt;abbr title=&quot;min 0x100000&quot;&gt;start&amp;nbsp;offset&lt;/abbr&gt; || colspan=&quot;2&quot; {{cellcolors|#f93|#000|center}} &lt;abbr title=&quot;max 0x1FFFFFFF&quot;&gt;end&amp;nbsp;offset&lt;/abbr&gt;<br /> |-<br /> ! {{cellcolors|#f93|#000}} VU0 accurate ADD/SUB address<br /> | 0x0F || 0x0F || 0x11<br /> | 32 || style=&quot;text-align:left&quot; | uint32_t<br /> | colspan=&quot;3&quot; {{cellcolors|#f93|#000|center}} &lt;abbr title=&quot;min 0x000, max 0xFF8&quot;&gt;offset&lt;/abbr&gt;<br /> |-<br /> ! {{cellcolors|#588|#fff}} VU related ?<br /> | 0x10 || 0x10 || 0x12<br /> | &lt;abbr title=&quot;command&quot;&gt;1&lt;/abbr&gt;→&lt;abbr title=&quot;list&quot;&gt;63&lt;/abbr&gt; || style=&quot;text-align:left&quot; | uint32_t&amp;nbsp;+&amp;nbsp;LIST<br /> | {{cellcolors|#588|#fff|center}} flags ? || colspan=&quot;2&quot; {{cellcolors|#588|#fff|center}} LIST<br /> |-<br /> ! {{cellcolors|#dda|#000}} Memory Card Delay<br /> | 0x11 || 0x11 || 0x13<br /> | 1 || style=&quot;text-align:left&quot; | uint64_t<br /> | colspan=&quot;3&quot; {{cellcolors|#dda|#000|center}} time ?<br /> |-<br /> ! {{cellcolors|#f93|#000}} VU1 transform ADD/SUB<br /> | 0x12 || 0x12 || 0x14<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#fff|#000}} Set something with bit flags<br /> | 0x13 || 0x13 || 0x15<br /> | 1 || style=&quot;text-align:left&quot; | uint32_t<br /> | colspan=&quot;3&quot; | ?<br /> |-<br /> ! {{cellcolors|#fff|#000}} Unknown<br /> | 0x14? || 0x14? || {{cellcolors|#eee|#b44|center}} &lt;abbr style=&quot;cursor:help; text-decoration:none&quot; title=&quot;Not Available&quot;&gt;0x16&lt;/abbr&gt;<br /> | ? || style=&quot;text-align:left&quot; | ?<br /> | colspan=&quot;3&quot; | ?<br /> |-<br /> ! {{cellcolors|#9cf|#000}} COP0 configure MTC0/MFC0<br /> | 0x15 || 0x15 || 0x17<br /> | 1 || style=&quot;text-align:left&quot; | uint8_t ?<br /> | colspan=&quot;3&quot; {{cellcolors|#9cf|#000|center}} &lt;abbr title=&quot;0=disabled, 1=enabled&quot;&gt;status&lt;/abbr&gt;<br /> |-<br /> ! {{cellcolors|#fff|#000}} Switch something<br /> | 0x16 || 0x16 || {{cellcolors|#eee|#b44|center}} &lt;abbr style=&quot;cursor:help; text-decoration:none&quot; title=&quot;Not Available&quot;&gt;0x18&lt;/abbr&gt;<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#ff9|#000}} Force analog controller mode<br /> | {{NA}} || 0x17 || 0x19<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#fff|#000}} Switch something<br /> | 0x17 || 0x18 || 0x1A<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#fff|#000}} Switch something<br /> | 0x18 || 0x19 || 0x1B<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#ff9|#000}} Emulate Multitap<br /> | 0x19? || 0x1A? || 0x1C<br /> | 1 || style=&quot;text-align:left&quot; | uint8_t<br /> | colspan=&quot;3&quot; {{cellcolors|#ff9|#000|center}} port<br /> |-<br /> ! {{cellcolors|#ff9|#000}} Set Multitap<br /> | 0x1A || 0x1B || 0x1D<br /> | 1 || style=&quot;text-align:left&quot; | uint8_t<br /> | colspan=&quot;3&quot; {{cellcolors|#ff9|#000|center}} order<br /> |-<br /> ! {{cellcolors|#ff9|#000}} Multitap related<br /> | 0x1B || {{NA}} || 0x1E<br /> | 1 || style=&quot;text-align:left&quot; | uint8_t<br /> | colspan=&quot;3&quot; | ?<br /> |-<br /> ! {{cellcolors|#fff|#000}} Set something<br /> | 0x1C || 0x1C || 0x1F<br /> | 1 || style=&quot;text-align:left&quot; | uint32_t<br /> | colspan=&quot;3&quot; | ?<br /> |-<br /> ! {{cellcolors|#fff|#000}} Set something<br /> | 0x1D || 0x1D || 0x20<br /> | 1 || style=&quot;text-align:left&quot; | uint64_t<br /> | colspan=&quot;3&quot; | ?<br /> |-<br /> ! {{cellcolors|#fff|#000}} Set something<br /> | 0x1E || 0x1E || 0x21<br /> | 1 || style=&quot;text-align:left&quot; | uint32_t<br /> | colspan=&quot;3&quot; | ?<br /> |-<br /> ! {{cellcolors|#fff|#000}} Switch something<br /> | {{NA}} || 0x1F || 0x22<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#fff|#000}} Switch something<br /> | 0x1F || 0x20 || 0x23<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#ddf|#000}} Internal image aspect ratio ?<br /> | 0x20 || 0x21 || 0x24<br /> | 1 || style=&quot;text-align:left&quot; | uint64_t<br /> | colspan=&quot;3&quot; | ?<br /> |-<br /> ! {{cellcolors|#fff|#000}} Switch something<br /> | 0x21 || 0x22 || {{cellcolors|#eee|#b44|center}} &lt;abbr style=&quot;cursor:help; text-decoration:none&quot; title=&quot;Not Available&quot;&gt;0x25&lt;/abbr&gt;<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#f93|#000}} FPU accurate ADD/SUB range<br /> | 0x22 || 0x23 || 0x26<br /> | 32 || style=&quot;text-align:left&quot; | 2&amp;nbsp;*&amp;nbsp;uint32_t<br /> | {{cellcolors|#f93|#000|center}} &lt;abbr title=&quot;min 0x100000&quot;&gt;start&amp;nbsp;offset&lt;/abbr&gt; || colspan=&quot;2&quot; {{cellcolors|#f93|#000|center}} &lt;abbr title=&quot;max 0x1FFFFFFF&quot;&gt;end&amp;nbsp;offset&lt;/abbr&gt;<br /> |-<br /> ! {{cellcolors|#f93|#000}} COP2 accurate ADD/SUB range<br /> | 0x23 || 0x24 || 0x27<br /> | 32 || style=&quot;text-align:left&quot; | 2&amp;nbsp;*&amp;nbsp;uint32_t<br /> | {{cellcolors|#f93|#000|center}} &lt;abbr title=&quot;min 0x100000&quot;&gt;start&amp;nbsp;offset&lt;/abbr&gt; || colspan=&quot;2&quot; {{cellcolors|#f93|#000|center}} &lt;abbr title=&quot;max 0x1FFFFFFF&quot;&gt;end&amp;nbsp;offset&lt;/abbr&gt;<br /> |-<br /> ! {{cellcolors|#aaf|#000}} Set something &lt;abbr title=&quot;PS2 MECHACON related&quot;&gt;(CDVD)&lt;/abbr&gt;<br /> | 0x24 || 0x25? || 0x28<br /> | 1 || style=&quot;text-align:left&quot; | uint32_t<br /> | colspan=&quot;3&quot; | ?<br /> |-<br /> ! {{cellcolors|#aaf|#000}} CDVD read/seek timings ?<br /> | 0x25 || 0x26? || 0x29<br /> | 1 || style=&quot;text-align:left&quot; | 2&amp;nbsp;*&amp;nbsp;uint32_t<br /> | ? || colspan=&quot;2&quot; | ?<br /> |-<br /> ! {{cellcolors|#fff|#000}} Switch something<br /> | 0x26 || 0x27 || 0x2A<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#aaf|#000}} Switch something &lt;abbr title=&quot;PS2 MECHACON related&quot;&gt;(CDVD)&lt;/abbr&gt;<br /> | 0x27? || 0x28 || 0x2B<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#fff|#000}} Set something<br /> | 0x28 || 0x29 || 0x2C<br /> | 1 || style=&quot;text-align:left&quot; | uint32_t<br /> | colspan=&quot;3&quot; | ?<br /> |-<br /> ! {{cellcolors|#fff|#000}} Switch something<br /> | 0x29? || 0x2A || {{cellcolors|#eee|#b44|center}} &lt;abbr style=&quot;cursor:help; text-decoration:none&quot; title=&quot;Not Available&quot;&gt;0x2D&lt;/abbr&gt;<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#fff|#000}} Set something<br /> | 0x2A || 0x2B || 0x2E<br /> | 1 || style=&quot;text-align:left&quot; | uint32_t<br /> | colspan=&quot;3&quot; | ?<br /> |-<br /> ! {{cellcolors|#fff|#000}} Set something<br /> | 0x2B || {{NA}} || 0x2F<br /> | 1 || style=&quot;text-align:left&quot; | uint32_t<br /> | colspan=&quot;3&quot; | ?<br /> |-<br /> ! {{cellcolors|#eee|#b44|left}} Reserved<br /> | {{cellcolors|#eee|#b44|center}} &lt;abbr style=&quot;cursor:help; text-decoration:none&quot; title=&quot;Not Available&quot;&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;/abbr&gt; || {{cellcolors|#eee|#b44|center}} &lt;abbr style=&quot;cursor:help; text-decoration:none&quot; title=&quot;Not Available&quot;&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;/abbr&gt; || {{cellcolors|#eee|#b44|center}} &lt;abbr style=&quot;cursor:help; text-decoration:none&quot; title=&quot;Not Available&quot;&gt;0x30&lt;br&gt;0x31&lt;br&gt;0x32&lt;br&gt;0x33&lt;br&gt;0x34&lt;/abbr&gt;<br /> | 0 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#f66|#000}} Enable Force Flip Field<br /> | {{NA}} || {{NA}} || 0x35<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#eee|#b44|left}} Reserved<br /> | {{cellcolors|#eee|#b44|center}} &lt;abbr style=&quot;cursor:help; text-decoration:none&quot; title=&quot;Not Available&quot;&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;/abbr&gt; || {{cellcolors|#eee|#b44|center}} &lt;abbr style=&quot;cursor:help; text-decoration:none&quot; title=&quot;Not Available&quot;&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;br&gt;N&amp;thinsp;/&amp;thinsp;A&lt;/abbr&gt; || {{cellcolors|#eee|#b44|center}} &lt;abbr style=&quot;cursor:help; text-decoration:none&quot; title=&quot;Not Available&quot;&gt;0x36&lt;br&gt;0x37&lt;br&gt;0x38&lt;br&gt;0x39&lt;br&gt;0x3A&lt;br&gt;0x3B&lt;br&gt;0x3C&lt;/abbr&gt;<br /> | 0 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#c96|#000}} Config revision<br /> | {{NA}} || {{NA}} || 0x3D<br /> | 1 || style=&quot;text-align:left&quot; | uint32_t<br /> | colspan=&quot;3&quot; {{cellcolors|#c96|#000|center}} revision<br /> |-<br /> ! {{cellcolors|#fff|#000}} Switch something<br /> | {{NA}} || {{NA}} || 0x3E<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#fff|#000}} Set something<br /> | {{NA}} || {{NA}} || 0x3F<br /> | 1 || style=&quot;text-align:left&quot; | uint32_t<br /> | colspan=&quot;3&quot; | ?<br /> |-<br /> ! {{cellcolors|#fff|#000}} Switch something<br /> | {{NA}} || {{NA}} || 0x40<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#fff|#000}} Switch something<br /> | {{NA}} || {{NA}} || 0x41<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#9f9|#000}} Patch EE memory by overlay<br /> | {{NA}} || {{NA}} || 0x42<br /> | &lt;abbr title=&quot;command&quot;&gt;1&lt;/abbr&gt;→&lt;abbr title=&quot;list&quot;&gt;1023&lt;/abbr&gt; || style=&quot;text-align:left&quot; | 2&amp;nbsp;*&amp;nbsp;uint32_t&amp;nbsp;+&amp;nbsp;LIST<br /> | {{cellcolors|#9f9|#000|center}} offset || {{cellcolors|#9f9|#000|center}} count || {{cellcolors|#9f9|#000|center}} &lt;abbr title=&quot;opcode,opcode,opcode, etc...&quot;&gt;LIST&lt;/abbr&gt;<br /> |-<br /> ! {{cellcolors|#fff|#000}} Set something<br /> | {{NA}} || {{NA}} || 0x43<br /> | 1 || style=&quot;text-align:left&quot; | uint32_t<br /> | colspan=&quot;3&quot; | ?<br /> |-<br /> ! {{cellcolors|#fcc|#000}} Disable smoothing filter<br /> | {{NA}} || {{NA}} || 0x44<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#fff|#000}} Switch something<br /> | {{NA}} || {{NA}} || 0x45<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#f66|#000}} Enable L2H Improvement<br /> | {{NA}} || {{NA}} || 0x46<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#f66|#000}} Enable XOR CSR<br /> | {{NA}} || {{NA}} || 0x47<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#f66|#000}} Set VSYNC IPU &amp; Delay<br /> | {{NA}} || {{NA}} || 0x48<br /> | 1 || style=&quot;text-align:left&quot; | 2&amp;nbsp;*&amp;nbsp;uint32_t<br /> | {{cellcolors|#f66|#000|center}} &lt;abbr title=&quot;1=No IPU, 2=IPU, 3=Anytime&quot;&gt;ipu&lt;/abbr&gt; || colspan=&quot;2&quot; {{cellcolors|#f66|#000|center}} &lt;abbr title=&quot;20000=Conservative, 100000=Normal, 250000=Agressive, Any other&quot;&gt;delay&lt;/abbr&gt;<br /> |-<br /> ! {{cellcolors|#fff|#000}} Switch something<br /> | {{NA}} || {{NA}} || 0x49<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#fff|#000}} Switch something<br /> | {{NA}} || {{NA}} || 0x4A<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |-<br /> ! {{cellcolors|#fff|#000}} Set something<br /> | {{NA}} || {{NA}} || 0x4B<br /> | 1 || style=&quot;text-align:left&quot; | 2&amp;nbsp;*&amp;nbsp;uint32_t<br /> | ? || colspan=&quot;2&quot; | ?<br /> |-<br /> ! {{cellcolors|#fff|#000}} Set something<br /> | {{NA}} || {{NA}} || 0x4C<br /> | 1 || style=&quot;text-align:left&quot; | 2&amp;nbsp;*&amp;nbsp;uint32_t<br /> | ? || colspan=&quot;2&quot; | ?<br /> |-<br /> ! {{cellcolors|#fff|#000}} Set something<br /> | {{NA}} || {{NA}} || 0x4D<br /> | 1 || style=&quot;text-align:left&quot; | uint32_t<br /> | colspan=&quot;3&quot; | ?<br /> |-<br /> ! {{cellcolors|#fff|#000}} Unknown<br /> | {{NA}} || {{NA}} || 0x4E<br /> | 1 || style=&quot;text-align:left&quot; | ?<br /> | colspan=&quot;3&quot; | ?<br /> |-<br /> ! {{cellcolors|#fff|#000}} Unknown<br /> | {{NA}} || {{NA}} || 0x4F<br /> | 1 || style=&quot;text-align:left&quot; | ?<br /> | colspan=&quot;3&quot; | ?<br /> |-<br /> ! {{cellcolors|#ff9|#000}} Enable pressure sensitive controls<br /> | {{NA}} || {{NA}} || 0x50<br /> | 1 || style=&quot;text-align:left&quot; | 0<br /> | colspan=&quot;3&quot; {{cellcolors|#ddd|#666|center}} ''Nothing''<br /> |}<br /> <br /> &lt;!-- We need to find a better way to organize the commands info below, right now all the info is &quot;constricted&quot; inside the same table but is better to take them out of the table to have more freedon when adding comments, etc... Are a lot so by now i prefer to dont make page sections for every command. Im going to try something that visually looks like page sections but are not (so are not going to be displayed in the TOC at top of the page). With this change we are moving forward because the command info is not going to be inside the same table anymore, im going to split them but the visual look and other details are not going to be definitive because later can be converted into page sections if someone insists in it --&gt;<br /> <br /> <br /> {{Boxcomm|id=0x00|name=Title ID Enforce / Multidisc config|data=1x String in format: ABCD-12345}}<br /> Restricts the CONFIG to be used only by a specific [[Template:TITLE_ID_for_Physical_Media|Title ID]]<br /> The presence of this command in the CONFIG is optional. If present it needs to be located always at the last position in the CONFIG. When bytes are present after Title ID, emulator read them to setup multidisc info.<br /> Multidisc info bytes:<br /> First byte: Unknown, seems to be unused. 00 in known configs (Grandia 3).<br /> Second byte: Discs count (0-9), when 0 or 1 emulator don't enable multidisc mode.<br /> Third byte: Which disc in set is this one (0-8 for discs 1-9)<br /> Fourth byte: That one is optional, but very important. When set to 1,<br /> disc swap menu will be in &quot;Reset game&quot; menu and disc change will trigger reset (default behavior).<br /> But when this byte is set to 0, new option in main emu menu called &quot;Switch Discs&quot; will appear. Emulator change disc without reset. <br /> Keep in mind we don't know how accurate swap emulation is here, games are picky for some details. <br /> Every iso bin enc in set need to have proper data in separate config. <br /> Disc 1: ISO.BIN.ENC --&gt; CONFIG --&gt; 00 02 00 00,<br /> 00000000 3D 00 00 00 A8 3E 00 00 00 00 00 00 53 4C 55 53 =...¨&gt;......SLUS<br /> 00000010 2D 32 31 33 33 34 00 02 00 -21334...<br /> <br /> Disc 2: ISO.BIN.ENC2--&gt; CONFIG2--&gt; 00 02 01 00, etc.<br /> 00000000 3D 00 00 00 A8 3E 00 00 00 00 00 00 53 4C 55 53 =...¨&gt;......SLUS<br /> 00000010 2D 32 31 33 34 35 00 02 01 -21345...<br /> <br /> {{Boxcomm|id=0x01|name=EE_ADD_HOOK|data=2x uint32_t Params (addr, func_id 0-0x3B)}}<br /> Most of the hooks availables in netemu command 0x01 are fixes for a specific game, or a game engine&lt;br&gt;<br /> The Maximum Amount of times netemu command 0x01 can be used consecutivelly in the same config is 255. This is actually limit for EE hooks at all, 0x01 don't have own limit.<br /> <br /> &lt;div style=&quot;overflow-x:auto&quot;&gt;<br /> {| class=&quot;wikitable&quot; style=&quot;width:100%; font-size:0.9em; line-height:90%&quot;<br /> |-<br /> !Function ID!! Notes<br /> |-<br /> |0x00|| FIFA 2000 use it as hook for EE kernel at 0x800017E8 (DMAC related). Command backup value from r5900 s0 register.<br /> |-<br /> |0x01|| FIFA 2000 use it as hook for EE kernel at 0x80001858 (DMAC related). Command restore previously backed up value to r5900 s0 register.<br /> |-<br /> |0x02|| <br /> Max Payne<br /> Write 0 to D_ENABLEW in SPE 3 (EEDMA). D_ENABLER is NOT updated on PPE side.<br /> |-<br /> |0x03|| <br /> Max Payne<br /> Write 0xFFFFFFFF (0x10000, other bits are ignored anyway) to D_ENABLEW in SPE 3 (EEDMA). D_ENABLER is NOT updated on PPE side.<br /> |-<br /> |0x04|| Castle Shikigami II<br /> Skip r5900 CACHE IXIN/IHIN (Index/Hit invalidate) opcodes. Same as 0x03 command, but applied of selected ee offset.<br /> This is probably command from times when 0x03 was non existing, and while it apply on selected ee offset, command never recover default IXIN/IHIN handling.<br /> Note: There is leftover in emulator from command that reenable default behavior, but is unused now, and is not accessible by current config commands.<br /> |-<br /> |0x05|| Force events test if D2_CHCR &amp; 0x100 is true (if GIF dma is running). For more info check _cpuEventTest_Shared from pcsx2. Star Wars games developed by Pandemic Studios (freeze fix), Worms 3D and NBA 08.<br /> |-<br /> |0x06|| Force events test if D1_CHCR &amp; 0x100 is true (if VIF1 dma is running). For more info check _cpuEventTest_Shared from pcsx2.<br /> |-<br /> |0x07|| <br /> |-<br /> |0x08|| Backup current unmodified COP0 status register state. Then disable EI bit, and notify emu that cmd 0x09 could be run. Harry Potter - Quidditch World Cup US use it at offset 0x2BD45C (EE)<br /> |-<br /> |0x09|| Restore COP0 status register state from previously created backup. Harry Potter - Quidditch World Cup US use it at offset 0x2BD620 (EE)<br /> |-<br /> |0x0A|| Fix for TriAce executable unpack function.<br /> Games unpack data using VU0 microruntime (not COP2). Because unpack involve floating points operations result can be inaccurate. And it is,<br /> exactly by 1 byte. Config add 1 to result of unpacked data. This can be confirmed also on pcsx2 with turned off TriAce hack, example for Radiata Stories US release.<br /> Set breakpoint on 0x124D90, and then when it's hit, add 1 to lower 64 bits of vf03 reg (in vu0f tab) and hit run.<br /> Game now work as it should. On PS3 this probably can be fixed also by 0x11 command, but since they had hook already done before 0x11 was a thing, it stayed as is.<br /> |-<br /> |0x0B|| Set lower 64 bits of mips $at register to 0<br /> |-<br /> |0x0C|| Piglet's Big Game<br /> |-<br /> |0x0D|| usleep(100)<br /> |-<br /> |0x0E|| Used 3 times in Need for Speed - Carbon [Collector's Edition] US.<br /> Used in place where game load code overlays, and in place where game self modify code. <br /> Config run the same function which is run when PS2 syscall 7 (ExecPS2) hook is triggered (0x1831A8 in latest emu memory).<br /> Only difference is that 0x42 overlay is not reloaded, and check for &quot;cdrom0&quot; string is not performed. <br /> Command could be potentially useful for games that like to change own code. Eg. Load &quot;bin&quot; files with code (HSG/HST), or modify own code by direct writes to memory (NFS Carbon CE...)<br /> |-<br /> |0x0F|| <br /> Grand Theft Auto 3 (SLUS-20062)<br /> using 0x348B40, 0x18E1F0, 0x348EC8 ( + 200000000 base )<br /> 0x348B40 = start CTheScripts::ClearSpaceForMissionEntity((CVector const &amp;, CEntity *)) <br /> 0x18E1F0 = start CCollision::ProcessColModels((CMatrix const &amp;, CColModel &amp;, CMatrix const &amp;, CColModel &amp;, CColPoint *, CColPoint *, float *))<br /> 0x348EC8 = Almost end (only loading values preserved on stack) of CTheScripts::ClearSpaceForMissionEntity((CVector const &amp;, CEntity *)) <br /> |-<br /> |0x10|| <br /> Grand Theft Auto 3 (SLES-50330)<br /> using 0x349790, 0x18E1F0, 0x349B18 ( + 200000000 base ) <br /> 0x349790 = start CTheScripts::ClearSpaceForMissionEntity((CVector const &amp;, CEntity *)) <br /> 0x18E1F0 = start CCollision::ProcessColModels((CMatrix const &amp;, CColModel &amp;, CMatrix const &amp;, CColModel &amp;, CColPoint *, CColPoint *, float *))<br /> 0x349B18 = Almost end (only loading values preserved on stack) of CTheScripts::ClearSpaceForMissionEntity((CVector const &amp;, CEntity *)) <br /> |-<br /> |0x11|| <br /> Grand Theft Auto 3 (SLES-50793)<br /> using 0x3495C0, 0x18E1F0, 0x349948 ( + 200000000 base )<br /> 0x3495C0 = start CTheScripts::ClearSpaceForMissionEntity((CVector const &amp;, CEntity *)) <br /> 0x18E1F0 = start CCollision::ProcessColModels((CMatrix const &amp;, CColModel &amp;, CMatrix const &amp;, CColModel &amp;, CColPoint *, CColPoint *, float *))<br /> 0x349948 = Almost end (only loading values preserved on stack) of CTheScripts::ClearSpaceForMissionEntity((CVector const &amp;, CEntity *)) <br /> |-<br /> |0x12|| Disney/Pixar Finding Nemo (fixes the pause menu freeze)<br /> if COP0 status EI and EXL bits are 0, and other condition related to DMAC is met...<br /> store 0 in [ 0x204FC500 + 200000000 base] 0x4FC500 EE memory, and set lower 64 bits of mips $s0 register to 0.<br /> |-<br /> |0x13|| Snowblind Engine specific fix. Applies to the beginning of function called initLump. Config is responsible for grabbing data from one of registers for use in 0x14/0x15 hooks. Mentioned data is EE memory offset, if data from 0x13 is 0, 0x14/0x15 don't apply. <br /> |-<br /> |0x14|| Snowblind Engine specific fix. Applies to the end of function called initLump. Used in the older version of Snowblind Engine (Dark Alliance duology, The Bard's Tale, Fallout).<br /> |-<br /> |0x15|| Snowblind Engine specific fix. Applies to the end of function called initLump. Used in the newer version of Snowblind Engine (Champions duology, Justice League Heroes, Combat Elite).<br /> |-<br /> |0x16|| Champions of Norrath (SLUS-20565)<br /> store 0x01114BA8 in [ 0x208EAB4C + 200000000 base]<br /> store 0x010C9E40 in [ 0x208EAB6C + 200000000 base]<br /> |-<br /> |0x17|| NFS HP2 fpu rounding fix. <br /> Check if a0 == 0x8000 (32768), apply config if true. Config is little bit more complicated than it should, emu flush all fpu regs to memory just to modify one field in altivec vector register.<br /> When condition is met ps2 cop1 f08 register is modified from 0x40490FDB to 0x40490FDA, this result in next operations to end up as negative 0.0 (0x80000000) instead of just 0.0 (0x00000000).<br /> Seems to trigger when loading of stage or loading of attract mode is close to finish or done.<br /> |-<br /> |0x18|| Okami PAL specific hook. <br /> Check if opcode at 0x183F04 of EE memory is jal 0x183CB0 (0x0C060F2C). This is used to run additional hook patcher only 1 time.<br /> Later it will be nop here. so it means that new hooks are already applied. So function will just return early.<br /> if opcode at 0x183F04 is still jal 0x183CB0 (0x0C060F2C),<br /> then patch addresses 0x183F04 (jal 0x183CB0), 0x183F34 (jal 0x183CB0), 0x183F3C (jal 0x183D18) to nop.<br /> Finally adds 3 additional EE hooks. Emu addresses for ps2_netemu 4.70+<br /> <br /> EE address | EMU address <br /> 0x183F0C | sub_46334<br /> 0x183F3C | sub_45DA4<br /> 0x183D74 | sub_47B50<br /> <br /> First hook is responsible for grabbing EE addresses from one of EE gpr register. Second hook perform few checks from data in EE gpr registers, and <br /> eventually store data from EE gpr registers on previously grabbed addresses. Hook 3 store one of previosly grabbed EE address on unknown part of memory.<br /> Whole thing looks like HLE version of noped functions.<br /> |-<br /> |0x19|| Burnout 2<br /> Copy lower 64 bits of $v0 r5900 register to lower 64 bits of $a1 r5900 register.<br /> All that to make next opcode (hook address + 4) &quot;beq $a1, $v0, addr&quot; always true. Because $a1 and $v0 now have the same value.<br /> This in turn skip CTimer::GetTimeSeconds((void)) in function CReplay::NextFrame((CDrivingControls *)). Worth to note that CReplay::NextFrame seems to be not related to replay per se, but to car physics.<br /> |-<br /> |0x1A|| <br /> store 0 in [ 0x209FD560 + 200000000 base]<br /> store 0 in [ 0x209F9550 + 200000000 base]<br /> store 0 in [ 0x20A01570 + 200000000 base]<br /> store 0 in [ 0x209F9540 + 200000000 base]<br /> store 0 in [ 0x209F5540 + 200000000 base]<br /> store 0 in [ 0x209F1530 + 200000000 base]<br /> |-<br /> |0x1B||<br /> store 0 in [ 0x20552168 + 200000000 base]<br /> |-<br /> |0x1C||<br /> store 1 in [ 0x20552168 + 200000000 base]<br /> |-<br /> |0x1D||<br /> store 0 in [ 0x20556C08 + 200000000 base]<br /> |-<br /> |0x1E||<br /> store 1 in [ 0x20556C08 + 200000000 base]<br /> |-<br /> |0x1F||<br /> store 0 in [ 0x205243D8 + 200000000 base]<br /> |-<br /> |0x20||<br /> store 1 in [ 0x205243D8 + 200000000 base]<br /> |-<br /> |0x21||<br /> store 0 in [ 0x20524F88 + 200000000 base]<br /> |-<br /> |0x22||<br /> store 1 in [ 0x20524F88 + 200000000 base]<br /> |-<br /> |0x23||<br /> store 0 in [ 0x2047E7F8 + 200000000 base]<br /> |-<br /> |0x24||<br /> store 1 in [ 0x2047E7F8 + 200000000 base]<br /> |-<br /> |0x25||<br /> store 0 in [ 0x204802B8 + 200000000 base]<br /> |-<br /> |0x26||<br /> store 1 in [ 0x204802B8 + 200000000 base]<br /> |-<br /> |0x27||<br /> store 0 in [ 0x20586348 + 200000000 base]<br /> |-<br /> |0x28||<br /> store 1 in [ 0x20586348 + 200000000 base]<br /> |-<br /> |0x29||<br /> store 0 in [ 0x205868A8 + 200000000 base]<br /> |-<br /> |0x2A||<br /> store 1 in [ 0x205868A8 + 200000000 base]<br /> |-<br /> |0x2B|| <br /> if ($a1 &amp; 0xF0000000 != 0) a1 = 0 <br /> |-<br /> |0x2C|| Shin Onimusha - Dawn of Dreams Fix IPU DMA JPN((PlayStation 2 the Best)/US release.<br /> |-<br /> |0x2D|| Shin Onimusha - Dawn of Dreams Fix IPU DMA PAL release.<br /> |-<br /> |0x2E|| Shin Onimusha - Dawn of Dreams Fix IPU DMA Unk release. Code from emu match SLPM-66275 release. Why it is unused? Hook address will be 0x3BB4EC.<br /> |-<br /> |0x2F||<br /> if value at EE Mem 0x37B0C4 == 0, set mips pc register (program counter) to 0x100B98<br /> Config is supposed to repeat chunk of code if EE mem 0x37BB0C == 0. <br /> |-<br /> |0x30||<br /> if value at EE Mem 0x37B704 == 0, set mips pc register (program counter) to 0x100B98<br /> Config is supposed to repeat chunk of code if EE mem 0x37BB0C == 0.<br /> |-<br /> |0x31||<br /> if value at EE Mem 0x37630C == 0, set mips pc register (program counter) to 0x100BA8 <br /> Config is supposed to repeat chunk of code if EE mem 0x37BB0C == 0.<br /> |-<br /> |0x32||<br /> if value at EE Mem 0x37BB0C == 0, set mips pc register (program counter) to 0x100BA8.<br /> Config is supposed to repeat chunk of code if EE mem 0x37BB0C == 0.<br /> |-<br /> |0x33|| <br /> |-<br /> |0x34|| not filled<br /> |-<br /> |0x35|| Ninkyouden: Toseinin Ichidaiki<br /> |-<br /> |0x36|| <br /> |-<br /> |0x37|| <br /> |-<br /> |0x38||<br /> |-<br /> |0x39|| Used silently in command 0x4B with first param from 0x4B as hook address. Hook seems to be unusable without 0x4B command, because there is no way to setup redirect mode and ID without 0x4B.<br /> |-<br /> |0x3A|| Used silently in command 0x4C with first param from 0x4C as hook address. Hook seems to be unusable without 0x4C command, because there is no way to setup mode and ID without 0x4C.<br /> |-<br /> |0x3B|| Grand Theft Auto 3 (SLPM-55293 &quot;Rockstar Classics&quot;)<br /> using 0x351210, 0x18F590, 0x351568 ( + 200000000 base )<br /> 0x351210 = start CTheScripts::ClearSpaceForMissionEntity((CVector const &amp;, CEntity *)) <br /> 0x18F590 = start CCollision::ProcessColModels((CMatrix const &amp;, CColModel &amp;, CMatrix const &amp;, CColModel &amp;, CColPoint *, CColPoint *, float *))<br /> 0x351568 = Almost end (only loading values preserved on stack) of CTheScripts::ClearSpaceForMissionEntity((CVector const &amp;, CEntity *)) <br /> |}<br /> &lt;/div&gt;<br /> <br /> {{Boxcomm|id=0x02|name=Unknown|data=1x int32}}<br /> Used in function that handle D6 CHCR writes (SIF1), seems to be some kind of timing command for EE --&gt; IOP DMA.<br /> *Valid values found:<br /> **1000d<br /> **3000d<br /> **6000d<br /> <br /> {{Boxcomm|id=0x03|name=Unknown|data=N/A}}<br /> Skip r5900 CACHE IXIN/IHIN (Index/Hit invalidate) opcodes.<br /> <br /> {{Boxcomm|id=0x04|name=Unknown|data=1x uint32_t index (i*0x80, special 0x12345: 0x91a280?)}} <br /> Patch SPE 3 program (eedma) by searching for ila r4, xxxxx, starting at 0x178A0 and replacing them with (0x42000004 | ((value &lt;&lt; 7) &amp; 0x1FFFF80)<br /> 0x42000004 is ila r4 opcode. Due to opcode encoding example result of that patch with value 0x08 will be 0x42000404 (ila r4, 0x08). There is little bit more than that, but main purpose is just to patch SPE program behavior.<br /> *Valid values found:<br /> **0x08<br /> **0x10<br /> <br /> {{Boxcomm|id=0x05|name=N/A|data=N/A}} <br /> Command not available in ps2_netemu.self<br /> <br /> {{Boxcomm|id=0x06|name=Unknown|data=N/A}}<br /> Change VIF1 command 02h OFFSET behavior by patching pointer to function which process it to different previously unused function.<br /> <br /> {{Boxcomm|id=0x07|name=Delay VU xgkick by X cycles|data=1x uint32_t}}<br /> Default 1<br /> <br /> {{Boxcomm|id=0x08|name=Patch VU memory by mask |data=8x uint32_t (read mask,read mask, original opcode, original opcode, write mask, write mask, replace opcode, replace opcode)}}<br /> Maximum Amount of Usage: 3 times<br /> <br /> {{Boxcomm|id=0x09|name=EE_INSN_REPLACE64|data=uint32_t count, &lt;list&gt; (offset, original opcode, original opcode, replace opcode, replace opcode)}}<br /> Maximum List Count: 32<br /> *Valid values found<br /> **1 [Dark Cloud] and [Dead Or Alive 2 Hardcore]<br /> <br /> {{Boxcomm|id=0x0A|name=EE_INSN_REPLACE32|data=uint32_t count, &lt;List&gt; (&lt;nowiki&gt;mode | offset&lt;/nowiki&gt;, original opcode, replace opcode)}}<br /> Command present only in the ps2_netemu. Maximum List Count: 32. Mode is first 4 bits of address field (Xyyyyyyy), can be either 0, 1, or 2. All known examples use this command in 0 mode, and modes 1 and 2 are here just for documentation purposes. <br /> <br /> *mode 0 - Replace 32 bit of EE memory. Params are EE offset, original opcode, replace opcode. <br /> *mode 1 - Write jr ra, li v0, xxxx to selected memory range. Params are EE memory start address, original opcode, u16 counter, u16 value for li, v0 xxxx<br /> *mode 2 - NOP memory at selected range. Params: start address, end address, unused (can be anything, but is required to align config).<br /> Problem: Original opcode validity check is performed before testing config for special cases. Thus making mode 2 almost inaccessible.&lt;br&gt;<br /> Solution: We can patch that one line of code by the same 0x0A config. So if we want to nop region from 0x100000 to 0x100080, first we need to patch 0x100000 to 0x100080 opcode. So check will pass, &quot;simple&quot; as that.<br /> <br /> {{Boxcomm|id=0x0B|name=MECHA_SET_PATCH|data=1x uint32_t count, &lt;List&gt; {sector id, offset, sizeof present opcodes, replace opcodes, original opcodes)}}<br /> Offset on the disc = sector id * sector size + offset + correction [see below]&lt;br&gt;<br /> Offset correction is based on selected read mode (not on media type):&lt;br&gt;&lt;br&gt;<br /> CDRead requested block size (CD disc):<br /> *2048 = Offset + 0x18 (skip 12 sync bytes, 4 of header, and 8 of subheader)<br /> *2328 = Offset + 0x18 (skip 12 sync bytes, 4 of header, and 8 of subheader)<br /> *2340 = Offset + 0x0C (skip only 12 bytes of sync data)<br /> <br /> DVDRead requested block size (DVD Disc):<br /> *2064 = Offset match, but only until the 349th sector. Otherwise is offset - 0x0C because that read mode see data as ID DATA (4) + ID DATA EDC (2) + Reserved bytes (6) + 2048 data + EDC (4).<br /> <br /> &quot;Offset + XX&quot; for CD assume that you use Isobuster RAW mode. &quot;Offset - XX&quot; for DVD assume that you use Isobuster NON RAW mode&lt;br&gt;<br /> Special case is DVD read on very low sector, here you need to use exact offset without substrating 0x0C. Highest confirmed sector that don't use correction for now is 349.<br /> [Dead Or Alive 2 Hardcore] uses 7<br /> [Gradius V] uses 1<br /> [Grand Theft Auto III] uses 1<br /> [Katamari Damacy] uses 1<br /> [Manhunt] uses 1<br /> [Odin Sphere] uses 2<br /> [Primal] uses 1<br /> [Psychonauts] uses 1<br /> [Syphon Filter The Omega Strain] uses 1<br /> Maximum List Count: 47<br /> <br /> {{Boxcomm|id=0x0C|name=Unknown|data=1x (uint16_t, uint16_t)}}<br /> First param can be 0, 1, or 2. Second param in range of 0 and 0xFFFF. Second param is used only if first param == 1. Default values are (1, 0x1000) for PS2DVD, and (1, 0x400) for PS2CD and PS2CDDA.&lt;br&gt;<br /> Other valid values for the second param (found in oficial configs ?): 0x180, 0x800<br /> <br /> {{Boxcomm|id=0x0D|name=Unknown|data=1x int32}}<br /> True/false. Default = 1<br /> 0 = Skip some IOP related code responsible for check value from IOP SPE LS 0x2C0C0 (and skip panic if value is 0 or -1).<br /> Also skip write of value 0x80000000 to SPU Signal Notification 1 Register of IOP SPE.<br /> <br /> {{Boxcomm|id=0x0E|name=Improves ADD/SUB accuracy|data=1x int32}}<br /> 1 Param offset --- Improves ADD/SUB FPU/COP2 accuracy for selected offset. Work with opcodes from commands 0x26/0x27. Basically command like 0x0F just per offset, no per range.<br /> [Rygar] only has 0x147DA8 sub.s $f12, $f20, $f12<br /> Used in official configs: SCUS97501=0x3C458C, SCES53642=0x3C4854, SLUS21026=0x386864, SLUS20916=0x121F64, SLUS20437=0x11EDF0<br /> Maximum Amount of Usage: 32 times<br /> <br /> {{Boxcomm|id=0x0F|name=More accurate ADD/SUB memory range|data=List &lt;uint32_t Param, uint32_t Param&gt;}}<br /> More accurate memory range. This command is combined 0x26, and 0x27 command.<br /> [Dark Cloud] uses 0x239334, 0x1FFFFFF<br /> [Grand Theft Auto SA] uses 0x1E46DC, 0x1E4AE8<br /> Maximum Amount of Usage: 32 (if there is no additional 0x26/0x27 command)<br /> <br /> {{Boxcomm|id=0x10|name=MULDIV Accurate range|data=List &lt;uint32_t Param, uint32_t Param&gt;}}<br /> More accurate MUL/DIV handling on selected memory range for selected FPU opcodes. Effectively work only with: <br /> MUL.s, DIV.s, MULA.s, MADD.s, MSUB.s, MADDA.s, MSUBA.s. <br /> For ADD/SUB opcodes, command is active only on Multiply stage.<br /> Maximum List Count: 32 <br /> <br /> {{Boxcomm|id=0x11|name=VU0 Accurate ADD/SUB|data=1x uint32_t Param}}<br /> Param is VU0 (MICROPROGRAM) memory offset, correct param is in range of 0x000 to 0xFF8.<br /> Lower pipeline fetch opcode from address, Upper from address + 4. So correct address for config needs to be 8 bytes aligned.<br /> Used in official configs: SLUS21172=0x208, SLUS20878=0x140,0x368,0x570<br /> Maximum Amount of Usage: 32 times<br /> <br /> {{Boxcomm|id=0x12|name=Unknown|data=&lt;List&gt; (uint32_t count,}}<br /> VU0/COP2 related multicommand.<br /> First 8 bytes of that command are special flags. Not quite sure about bytes 5-8 yet,<br /> because at some point they are used to &quot;andc&quot; with first 4 bytes.<br /> Some examples for first 4 bytes:<br /> 0x1000 = Run additional flag related code after every FMAC operation, VU0 only, COP2 do this by default.<br /> 0x2000 = Emit some additional code when lower opcode is fsset, this flag require 0x1000 to be enabled. VU0 only. <br /> 0x100000 = When enabled opcodes like MSUB, MADDA, etc, do proper multiply first, then add/sub. When disabled (default) single opcode is used (vmaddfp / vmmsubfp). Not used in COP2 mode.<br /> Note: When this command is disabled, then &quot;Accurate MUL&quot; is skipped for MADDxx/MSUBxx regardless that 0x30000000 is set or not.<br /> Because there is no way to do correct MUL separately when altivec madd/msub is used.<br /> 0x200000 = Run some additional code in VU0 load/store opcodes (ILW, LQI, ISWR, etc.) Not used in COP2 mode.<br /> 0x400000 = Skip emu syscall 3 (3)<br /> 0x800000 = Skip emu syscall 3 (4)<br /> 0x4000000 = Enable type 2 config from cmd 0x12.<br /> 0x8000000 = Accurate VU0 DIV opcode, not used in COP2 mode.<br /> 0x10000000 = Fast Accurate VU0 MUL. Try to round mantissa. Opcodes like MSUB/MADD additionally require 0x100000 to be enabled, otherwise command skip them. Not used in COP2 mode.<br /> 0x20000000 = Full Accurate VU0 MUL. Use runtime from CMD 0x10, but for every matching VU0 opcode, including opcodes like MSUB for mul part.<br /> Opcodes like MSUB/MADD additionally require 0x100000 to be enabled, otherwise command skip them.<br /> <br /> Selecting both 0x10000000 and 0x20000000 (0x30000000) work the same way as 0x20000000.<br /> Keep in mind that you still need to use at least 8 bytes for cmd 0x12, just use 00 for bytes 5,6,7,8. <br /> Later bits are dependent on which subcommand we want to run.<br /> <br /> [Primal] uses 0xD of type 2/3 subcommand (minus 0x2 for flags)<br /> [Rayman Arena] uses 0x11 of type 2/3 subcommand (minus 0x2 for flags)<br /> [Syphon Filter: The Omega Strain] uses 0x5 of type 1 subcommand (minus 0x2 for flags)<br /> Maximum List Count: 63 <br /> <br /> {{Boxcomm|id=0x13|name=Memory card timing related delay|data=1x uint64_t Param}}<br /> 0x9bdc (39900) - Used by &quot;Phantasy Star Universe&quot; (official config for SLPM-66031), &quot;WRC II Extreme&quot;, and &quot;Burnout Dominator&quot;<br /> 0xf960 (63840) - Used by &quot;Jak X: Combat Racing&quot; (official config for SCUS-97429), and &quot;Netsu Chu! Pro Yakyuu 2004&quot;<br /> 0x1d394 (119700) - Used by &quot;Jissen Pachi-Slot Hisshouhou! Kemono-Oh&quot; (official config for SLPS-20131)<br /> <br /> {{Boxcomm|id=0x14|name=VU1 transform ADD/SUB|data=N/A}}<br /> When enabled ADD/SUB VU1 opcodes are processed differently on recompiling/translation stage. Seems to be very specific hack, most likely not usable outside of THPS 4+ engine games. &lt;br&gt;<br /> Note: This setting affects only VU1, and only ADD/SUB. All other opcodes like ADDi,ADDq, MSUB, ADDbc, are not affected.<br /> <br /> {{Boxcomm|id=0x15|name=Unknown|data=1 Param ( &lt;1, &gt;1 )}}<br /> Patch SPE 0 (IOP) program in local memory. Command search for absolute branches in LS 0x3A2C0 - 0x3A6C0 and patch first branch that match to &quot;bi r127&quot;. That weird approach was probably used because spe program differ little bit between emu versions, so they don't need to update command on every new emu revision. Currently (4.75+) this command patch branch at address 0x3A3A4 (bra sub_2E600). This command takes partially unused value. Value 0,1 do nothing, values 2 and above run command. Doesn't matter is 2,4, or 10. Nothing will change in command behavior.<br /> [Aeon Flux] uses 2 (gxemu config)<br /> [Bloodrayne 2] uses 4<br /> [GRIMgRiMoiRe] uses 4<br /> [Mana Khemia 2] uses 4<br /> [Odin Sphere] uses 4<br /> [SMT Persona 3 FES] uses 4<br /> [Parappa the Rapper 2] uses 0x14 (softemu config) or 0x4 (gxemu config)<br /> {{Boxcomm|id=0x16|name=N/A|data=N/A}}<br /> Command not available in ps2_netemu.self<br /> <br /> {{Boxcomm|id=0x17|name=COP0 configure MTC0/MFC0|data=1x int32 ?}}<br /> True/false. Default 0.<br /> &lt;br&gt;Command change behavior of MTC0/MFC0 operation of COP0 Count ($9) register. When enabled time base register is used as a base for calculation, when disabled decrementer register is used as a base for calculations (using emu syscall 12). <br /> [Bully] uses 1<br /> <br /> {{Boxcomm|id=0x18|name=N/A|data=N/A}}<br /> Command not available in ps2_netemu.self<br /> <br /> {{Boxcomm|id=0x19|name=Force analog controller mode|data=N/A}}<br /> Skips check for analog/digital controller mode and returns forced analog mode<br /> [Grand Theft Auto III]<br /> [Grandia II]<br /> [Red Faction 2]<br /> [Siren]<br /> <br /> {{Boxcomm|id=0x1A|name=Unknown|data=N/A}}<br /> IPU hack to end fromIPU DMA transfer on BCLR command (store 0 on D3_QWC and D3_CHCR.STR). Not stopping that transfer is actually correct behavior..<br /> <br /> {{Boxcomm|id=0x1B|name=Unknown|data=N/A}}<br /> When IDEC command don't finish, probably due to bad timings. Hack clear D3_CHCR.STR bit when there is still QW left in D3_QWC reg , and IDEC finished already. <br /> [Mana Khemia 2]<br /> <br /> {{Boxcomm|id=0x1C|name=Emulate Multitap|data=read uint32_t (use uint8_t)}}<br /> Enables/disables Multitap emulation. Default 3<br /> 0 = disable multitap emulation<br /> 1 = enable multitap in controller port 1 (when needed)<br /> 2 = enable multitap in controller port 2 (when needed)<br /> 3 = enable multitaps in both controller ports (when needed)<br /> [Medal of Honor: European Assault] uses 1<br /> [Twisted Metal: Black] uses 1<br /> <br /> <br /> {{Boxcomm|id=0x1D|name=Set Multitap|data=read uint32_t (use uint8_t)}}<br /> Sets multitap to specific controller ports and adjusts the order of ports to which controllers are synced. Default 0?<br /> 0 = no multitap set (only when needed)<br /> Controller sync order: 1/1-A, 2/2-A, 1-B, 2-B...<br /> 1 = sets multitap in controller port 1 at all times<br /> Controller sync order: 1/1-A, 1-B, 1-C, 1-D...<br /> 2 = sets multitap in controller port 2 at all times<br /> Controller sync order: 1/1-A, 2/2-A, 2-B, 2-C...<br /> 3 = sets multitaps in both controller ports at all times<br /> Controller sync order: same as 0<br /> [Medal of Honor: European Assault] uses 1<br /> [Twisted Metal: Black] uses 1<br /> [Mystic Heroes] uses 2 (game does not detect multitap in controller port 1)<br /> [Sonic Riders] uses 2 (GX config, game may not detect multitap in controller port 1)<br /> <br /> {{Boxcomm|id=0x1E|name=Multitap related|data=read uint32_t (use uint8_t)}}<br /> [FIFA 2001] uses 3 (settings for both multitaps?)<br /> <br /> {{Boxcomm|id=0x1F|name=Unknown|data=1x uint32_t}}<br /> Default 1<br /> Make VIF0 commands MSCAL/MSCALF/MSCNT/MPG/FLUSHE non instant. By default every VIF0 command take 1 cycle, so it's instant.<br /> This config give vif0 some timing sense.<br /> When delta from config passed and vpustat vu0 bits are non 0 (so practically if vif0 is still running),<br /> add 500 cycles and go on until next event test before doing anything on vif0.<br /> This can also be used to ensure that next vif0 command won't run until delta from config passed.<br /> Value from config is added to current r5900 cycles and vif0 will do nothing unless current cycles match new value.<br /> *Valid values found: 200d, 1000d<br /> <br /> {{Boxcomm|id=0x20|name=Unknown|data=1x uint64_t}}<br /> Default 0x3C<br /> Config value is used as multiplier for some value, and result is used in vsync related runtimes.<br /> Is worth to note that 0x3C is default multiplier even for PAL titles, so is not stricly related to framerate,<br /> but to vsync counters (where 0x3C is still wrong anyway..). Result of multiply is also compared at some point to vsync delay value. <br /> *Valid values found: 10d, 60d, 100d, 120d, 200d, 240d<br /> <br /> {{Boxcomm|id=0x21|name=Unknown|data=1x uint32_t}}<br /> Option one default value = 1, when set to 0: r5900 CACHE opcode IXLTG store 0 in COP0 TagLo register. More than that recompiler skip function responsible for analyze and emitting costly iCache checks.<br /> This drastically reduce emitted code size, and practically disable iCache emulation. Additionally CACHE IXIN/IHIN opcodes use different very long code path (this can be skipped with cmd 0x03).<br /> Option two default value = 0, when set to 1: Emit some kind of check for current r5900 PC with possible trap (tw opcode) at the end. 1 is valid only when option one is 0.<br /> <br /> 0 = sets an option one to 0 and option two to 0<br /> 1 = sets an option one to 0 and option two to 1<br /> 2 = sets an option one to 1 and option two to 0 (default)<br /> [Fatal Frame II] uses 0<br /> [Grand Theft Auto Vice City] uses 1<br /> [Grand Theft Auto III (EU)] uses 1<br /> [SMT Persona 3 FES] uses 0<br /> <br /> {{Boxcomm|id=0x22|name=Unknown|data=N/A}}<br /> Sets something 1<br /> <br /> {{Boxcomm|id=0x23|name=Unknown|data=N/A}}<br /> Copy VIF1 command 01h STCYCL handler struct into unused 08h slot (slots are 100 bytes per command, include pointer to function that handle command, and other data). Then patch slot 08h function pointers to function at 0x14E00. 08h is normally unused, and handled as a NOP. This command is useful only with additional 0x01 (0x13-0x15) hooks, which inject 08h VIF1 command into game code when other conditions are met.<br /> <br /> {{Boxcomm|id=0x24|name=Unknown|data=1x uint64_t}}<br /> SIO2 related<br /> *Valid values found: 12000d, 48000d<br /> <br /> {{Boxcomm|id=0x25|name=N/A|data=N/A}}<br /> Command not available in ps2_netemu.self<br /> <br /> {{Boxcomm|id=0x26|name=FPU Accurate ADD/SUB range|data=List &lt;uint32_t Param,uint32_t Param&gt;}}<br /> Improves FPU accuracy for selected memory range. Efective only on:<br /> ADD.s, SUB.s, ADDA.s, SUBA.s, MADD.s, MSUB.s, MADDA.s, MSUBA.s<br /> For M(UL) opcodes, command is active only on ADD/SUB stage.<br /> <br /> [Bloodrayne 2] uses 0x340000, 0x350000<br /> [Gradius V] uses 0x3046E0, 0x0x305E44<br /> Maximum Amount of Usage: 32 (if there is no additional 0x0F command)<br /> <br /> {{Boxcomm|id=0x27|name=VU0 macromode accurate range|data=List &lt;uint32_t Param,uint32_t Param&gt;}}<br /> Improves COP2 operations accuracy for selected memory range. Effective only for opcodes:<br /> VSUBAxyzw, VSUBAq, VSUBAi, VSUBA, VSUBxyzw, VSUBq, VSUBi, VSUB, VMSUBAxyzw,<br /> VMSUBAq, VMSUBAi, VMSUBA, VMSUBxyzw, VMSUBq, VMSUBi, VMSUB, VMADDAxyzw,<br /> VMADDAq, VMADDAi, VMADDA, VMADDxyzw, VMADDq, VMADDi, VMADD, VADDAxyzw,<br /> VADDAq, VADDAi, VADDA, VADDxyzw, VADDq, VADDi, VADD<br /> <br /> Maximum Amount of Usage: 32 (if there is no additional 0x0F command)<br /> Seems to affect only ADD/SUB part of opcode. <br /> <br /> {{Boxcomm|id=0x28|name=Unknown|data=1x uint32_t}}<br /> &lt;=3<br /> *Valid values found: 0, 1, 2, 3<br /> <br /> {{Boxcomm|id=0x29|name=Unknown|data=2x uint32_t}}<br /> Seek time modifier. Exact values meaning is unknown for now, they are used as multiplier. First param affect fast seek time, second param affect full seek time. Default value is 0x1F40, 0xBB80 (8000, 48000). Config affect only CDVD N Command Seek, read command that &quot;SeekToSector&quot; is not affected.<br /> <br /> {{Boxcomm|id=0x2A|name=Unknown|data=N/A}}<br /> Sets something 1. <br /> All-Star Baseball 2004<br /> <br /> {{Boxcomm|id=0x2B|name=Unknown|data=N/A}}<br /> When enabled emulated register 0x1F40200F (disc type) is set to 0x13 (PS2CDDA) when media type detected by emu is 0x12 (PS2CD), confirmed in emu code/assembly. Ps2_emu do same thing in &quot;Setting mecha HACK to show GODZCD as GODZCDDA&quot;, but due to real media support this is done in little bit different way (but still, 1F40200F is set to 0x13). During testing Dance Factory game, still no tracks are detected regardless of the command. Could be a netemu or Cobra issue (single, mixed mode .bin/.cue loaded).<br /> Dance Factory<br /> <br /> {{Boxcomm|id=0x2C|name=Unknown|data=1x uint32_t}}<br /> Store (value | value &lt;&lt; 32 | value &lt;&lt; 64 | value &lt;&lt; 96) on 0x2B4F0 of SPE 0 (IOP) LS.<br /> In summoner config it will be 0x00000001000000010000000100000001 stored at 0x2B4F0.<br /> Value is later used in clgt compare as rb register. Default seems to be 0x00000020000000200000002000000020.<br /> Summoner uses 0x1<br /> <br /> {{Boxcomm|id=0x2D|name=N/A|data=N/A}}<br /> Command not available in ps2_netemu.self<br /> <br /> {{Boxcomm|id=0x2E|name=Unknown|data=1x uint32_t}}<br /> *Valid values found: 0x172<br /> <br /> {{Boxcomm|id=0x2F|name=Unknown|data=1x uint32_t}}<br /> Store value on 0x2E784 in SPE 1 (PS2 SPU2) LS. Used values are 1, and 2 (after andi, so 3 trigger both configs).<br /> * Infamous Final Fantasy confirmation sound issue (in fact it does affect every sound effect using the reverb and only in the ps2_netemu) is fixed by 0x2 value.<br /> Indigo Prophecy/Fahrenheit uses 0x1<br /> Kengo 3 uses 0x2<br /> <br /> {{Boxcomm|id=0x30|name=N/A|data=N/A}}<br /> Command not available in ps2_netemu.self<br /> <br /> {{Boxcomm|id=0x31|name=N/A|data=N/A}}<br /> Command not available in ps2_netemu.self<br /> <br /> {{Boxcomm|id=0x32|name=N/A|data=N/A}}<br /> Command not available in ps2_netemu.self<br /> <br /> {{Boxcomm|id=0x33|name=N/A|data=N/A}}<br /> Command not available in ps2_netemu.self<br /> <br /> {{Boxcomm|id=0x34|name=N/A|data=N/A}}<br /> Command not available in ps2_netemu.self<br /> <br /> {{Boxcomm|id=0x35|name=Enable Force Flip Field|data=N/A}}<br /> Described in emu setting as &quot;''Fix for [Hang] for soft-lock''&quot;<br /> <br /> {{Boxcomm|id=0x36|name=N/A|data=N/A}}<br /> Command not available in ps2_netemu.self<br /> <br /> {{Boxcomm|id=0x37|name=N/A|data=N/A}}<br /> Command not available in ps2_netemu.self<br /> <br /> {{Boxcomm|id=0x38|name=N/A|data=N/A}}<br /> Command not available in ps2_netemu.self<br /> <br /> {{Boxcomm|id=0x39|name=N/A|data=N/A}}<br /> Command not available in ps2_netemu.self<br /> <br /> {{Boxcomm|id=0x3A|name=N/A|data=N/A}}<br /> Command not available in ps2_netemu.self<br /> <br /> {{Boxcomm|id=0x3B|name=N/A|data=N/A}}<br /> Command not available in ps2_netemu.self<br /> <br /> {{Boxcomm|id=0x3C|name=N/A|data=N/A}}<br /> Command not available in ps2_netemu.self<br /> <br /> {{Boxcomm|id=0x3D|name=Config revision|data=1x uint32_t}}<br /> Used by debug menu to print config revision. While every official and unofficial config use it, command is not mandatory. Debug menu will just print '''None''' as a config revision if command is missing. Official configs use this as a kind of debugging info to know minimal required emu revision.<br /> <br /> {| class=&quot;wikitable&quot; style=&quot;font-size:1em; line-height:1em&quot;<br /> |+Config commands supported by emulator revision<br /> ! Supported Commands !! ps2_netemu Revision !! PS3 Firmware<br /> |-<br /> | Up to 0x41 || 15686 || 3.70 or newer<br /> |-<br /> | Unknown || 16040 || Unknown<br /> |-<br /> | Up to 0x43 || 16604 || 4.20 or newer<br /> |-<br /> | Up to 0x45 || 16808 || 4.30 or newer<br /> |-<br /> | Up to 0x46 || 16916 || 4.40 or newer<br /> |-<br /> | Up to 0x48 || 17041 || 4.45 or newer<br /> |-<br /> | Up to 0x4A || 17179 || 4.50 or newer<br /> |-<br /> | Up to 0x4D || 17277 || 4.55 or newer<br /> |- <br /> | Up to 0x50 || 17495 || 4.78 or newer<br /> |}<br /> See: [[PS2_Emulation#PS2 Emulator Types and Revisions|PS2 Emulator Types and Revisions]]<br /> <br /> {{Boxcomm|id=0x3E|name=Unknown|data=N/A}}<br /> Similar to 0x0D with param 0. Affect the same IOP related code path, but skips more code. <br /> <br /> <br /> {{Boxcomm|id=0x3F|name=Unknown|data=1x uint32_t}}<br /> Store value on 0x2B700 of SPE 0 (IOP) LS. SIF1 DMA related.<br /> <br /> {{Boxcomm|id=0x40|name=Unknown|data=N/A}}<br /> Command change GIF behavior by setting value to 1 at address 0x2F0 LS in SPU4.<br /> Grand Theft Auto SA<br /> Silent Hill Origins - unofficial fix<br /> <br /> {{Boxcomm|id=0x41|name=Unknown|data=N/A}}<br /> When enabled ignore D_ENABLEW (1000F590) writes from EE on SPE3 (EEDMA). D_ENABLER is updated regardless of cmd on PPE side. Enabling that command nullify 0x01 hooks for Max Payne!<br /> Dragon Force<br /> God Hand<br /> Gradius V<br /> Katamari Damacy<br /> <br /> {{Boxcomm|id=0x42|name=EE Overlay patch|data=2 main Params + patch data: uint32_t address, uint32_t count, opcode,opcode,opcode...}}<br /> Applied on game start (more precisely while executing ps2 bios syscall 7 ExecPS2), if game overwrite selected part of memory, it will wipe 0x42 patch. See [[Special:Diff/67828/67858]]<br /> Start address can be (in theory) anywhere, but Sony used the 0xFF000 - 0xFFFFC range for this purpose.<br /> Count is size of patch in 4 bytes opcodes. So 5 opcode patch = count 5.<br /> Opcodes will be placed on selected address, we use only patch code, no need for original opcode.<br /> Next opcode addresses are auto calculated (+4..) so we need to specify only patch start address.<br /> Remember we need to jump to our new code, best way is command 0x0A with j (jump) opcode.<br /> Also is important to add return jump if required. That one need to be added in our 0x42 patch.<br /> Maximum opcodes count seems to be 0x3FF (1023 opcodes).<br /> <br /> {{Boxcomm|id=0x43|name=Unknown|data=1x int32}}<br /> Equal to command 0x40, but with Parameter:<br /> Command change GIF behavior by setting value at address 0x2F0 LS in SPU4, correct values are:<br /> 0 = Default<br /> 1 = More agressive changes (like 0x40)<br /> anything other = less agressive changes<br /> Code on SPU side check for non zero value, and in few places explicitly for 1 (ceqi rxx,rxx,1) without mask. <br /> Config have weird behavior. When there is no param, and config end (no more bytes after 43 00 00 00), then param 0xFFFFFFFF is set automatically. <br /> <br /> Shin Sangoku Musou uses 0xFFFFFFFF<br /> <br /> {{Boxcomm|id=0x44|name=Disables Smoothing and Smoothing option|data=N/A}}<br /> <br /> {{Boxcomm|id=0x45|name=Unknown|data=N/A}}<br /> Sets something 1<br /> Prevent display_mode 2 (CELL_GCM_DISPLAY_576_unk) [640x576]<br /> and display_mode 0 (CELL_GCM_DISPLAY_480_unk) (60Hz?) [640x480]<br /> from beign set.<br /> <br /> Allow display_mode 1 (CELL_GCM_DISPLAY_480_unk2) (59Hz?) [640x480]<br /> and display_mode 5 (CELL_GCM_DISPLAY_720P_59) [1280x720]<br /> depending on sys_info.video_mode &amp; 0x200 is 0 or not.<br /> Both 480 modes can be either I or P, so is something else, probably 59/60Hz.<br /> This config possibly affect only in-emu UI, but this require testing.<br /> <br /> Phantasy Star Complete Collection<br /> <br /> {{Boxcomm|id=0x46|name=Enable L2H Improvement|data=N/A}}<br /> Performance related setting for titles using L2H (Local to Host, so called GS download (from GS to EE))<br /> SMT Digital Devil Saga 1 - Crazy amount of GS downloads used to draw characters in-game<br /> SMT Nocturne<br /> Fatal Frame II<br /> Other games affected (not in official config)<br /> Soul Calibur 2 - When looking at the sun<br /> GT4 - When looking at the sun<br /> Valkyrie Profile 2 - Similar situation to SMT DDS1, in Solde game literally do thousands of 30QWC downloads all the time.<br /> Tak and the Power of JuJu - Fix freeze during loading of the Burial Ground level in the NTSC version. This probably getting lucky with VIF1/GIF timing, normally command is not supposed to fix hang issues.<br /> <br /> {{Boxcomm|id=0x47|name=Enables XOR CSR|data=N/A}}<br /> Graphics related setting.&lt;br&gt;<br /> XOR bit 13 of GS CSR register (CSR.FIELD). Should fix fullscreen line corruption, maybe some interlacing issues. Long shot, but can possibly affect SCANMSK games.<br /> <br /> {{Boxcomm|id=0x48|name=VSYNC Delay|data=2x uint32_t}}<br /> *First param possible value are 1 = No IPU, 2 = IPU, 3 = Anytime.<br /> *Second param is delay (in ms?), and can be also negative value.<br /> **Emu has standard presets for second param.<br /> ***Agressive = 0x3D090 (250000 decimal),<br /> ***Normal = 0x186A0 (100000 decimal),<br /> ***Conservative = 0x4E20 (20000 decimal),<br /> ***But other values can be used.<br /> [SMT Digital Devil Saga 1] uses 1, 0x3D090<br /> [Fatal Frame II] uses 0x2, 0xFFFFE69C (-6500 decimal)<br /> <br /> {{Boxcomm|id=0x49|name=Unknown|data=N/A}}<br /> Skip part of code which use GS XYOFFSET_1 register, possibly ignore it at all. <br /> Trapt<br /> <br /> {{Boxcomm|id=0x4A|name=Unknown|data=N/A}}<br /> Change VIF1 command 14h MSCAL behavior to use 15h MSCALF (VIF1) instead. MSCALF behavior is the same as MSCAL, but also waits for PATH1 and PATH2 to not be active before starting a microprogram. This is hack, and MSCAL should be fixed instead to wait in queue instead of triggering early.<br /> Applies to the Snowblind Engine games. Fixes the rest of flickering textures.<br /> Meant to be used in conjunction with the GX/SOFT Snowblind Engine's specific commands (double 0x01 and 0x23 combo).<br /> <br /> {{Boxcomm|id=0x4B|name=Redirect SAVEDATA by ID|data=2x uint32_t + ID: offset, int, char[]}}<br /> For proper config we need at least 2 (can be more if needed) 0x4B commands, one to enable redirect, one to disable.<br /> First param is EE memory offset that when is hit enable/disable redirection.<br /> Second param is used to select which card will be redirected:<br /> 0x00 do nothing<br /> 0x01 for SCEVMC0.VME<br /> 0x02 for SCEVMC1.VME<br /> 0x03 for SCEVMC0.VME and SCEVMC1.VME<br /> 0xFFFFFFFF to disable redirection, and use original VMEs.<br /> Third param is ID of SAVEDATA we want to use padded with 00 to match 12 bytes, or all 00 in disable redirect config.<br /> Important note here is that config have own 00 00 00 00 terminator at the end. <br /> So after 12 bytes of ID we need to add 4 bytes of 00. That apply also to disable redirect version.<br /> Under the hood config also setup 0x01 hook commands with 0x39 subcommand on selected addresses. <br /> <br /> {{Boxcomm|id=0x4C|name=Unknown|data=2x uint32_t + ID: offset, int, char[]}}<br /> Used to redirect to different ISO without game reset. First param is EE offset to hook, second param is some kind of mode selector, depending on that <br /> emulator later set mecha switch disc state:<br /> mode 0x01 = set disc switch state to 1 (on next mecha main loop it will emulate opening the tray).<br /> mode 0x02 = set disc switch state to 3.<br /> mode 0x03 = set disc switch state to 3. This state repeats because it work different way depending that emulated tray is closed or no.<br /> mode 0x04 = set disc switch state to 2.<br /> mode anything else = do nothing.<br /> Third value is ID in big endian hex ascii (eg. NPJD12345), additionally 0x4C expect own 00 00 00 00 terminator. To eventually end redirection use <br /> another 0x4C but with (offset, 0xFFFFFFFF, 4 * 0x00000000 . This config have very similar usage to 0x4B, just redirect to different iso, instead to <br /> different MC. Currently is unknown that cobra patched emulators support that config properly, and swap disc thru 0x00 command seems to be easier.<br /> This config don't work if 0x00 multidisc config is detected. Config under the hood setup 0x01 hooks with subcommand 0x3A<br /> <br /> {{Boxcomm|id=0x4D|name=Unknown|data=1x uint32_t}}<br /> Param is floating point value. Default value 0.<br /> if Q in GS RGBAQ write is 0.0 or -0.0 then<br /> Q = Q | value from config<br /> else<br /> Q = Q<br /> <br /> Wild Arms: The Fifth Vanguard uses 0x3F800000 (1.0)<br /> <br /> {{Boxcomm|id=0x4E|name=Unknown|data=Unknown}}<br /> <br /> {{Boxcomm|id=0x4F|name=Unknown|data=Unknown}}<br /> <br /> {{Boxcomm|id=0x50|name=Enable pressure sensitive controls|data=N/A}}<br /> <br /> ===Config file examples (for netemu)===<br /> <br /> ====Official PS2 Classic====<br /> See: [[PS2 Official Configs]]<br /> <br /> ====Official GXEMU/SOFTEMU extracted====<br /> See: [[PS2 Official Configs]]<br /> <br /> ==== Custom Configs ====<br /> See: [[PS2 Custom Configs]]<br /> <br /> ===Config data examples (hardcoded)===<br /> ====Inside ps2_emu.self====<br /> Embedded patches are based on Checksum/Hash of title. ps2_emu is only emulator version where patches are described inside self file in ascii. Known patch types described in ascii are: Patch data, new SPU2 params, and Setting mecha HACK to show GODZCD as GODZCDDA.<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> ! PS2 Title !! Hash !! Game !! Patch Type !! Data<br /> |-<br /> | SCUS_971.46|| 0x6B1ADE00D||Disney's Treasure Planet || Patch data - Fixes black screen at start, it apply to STREAM_D.IRX file in IOP folder. || 0x147C (sector) , 0x580 (offset) (- 0xC on disc) <br /> Replace opcodes<br /> 00 01 01 3C lui at,0x0100<br /> 80 BF 03 3C lui v1,0xBF80<br /> C8 10 63 8C lw v1,0x10C8(v1)<br /> 24 18 61 00 and v1,at<br /> FB FF 61 10 beq v1,at, -0x10<br /> 00 00 00 00 nop <br /> <br /> Original opcodes<br /> FF FF 01 24 li at,-0x1<br /> 04 00 61 14 bne at,v1, +0x14<br /> 00 80 01 3C lui at,0x8000<br /> 02 00 41 14 bne at,v0, +0x0C<br /> 00 00 00 00 nop <br /> 0D 00 06 00 break <br /> |-<br /> |SLUS_201.74 ||0x23D92589C5|| Rumble Racing || Patch data - fixes black screen after Playstation 2 logo. Patch apply to AUDIO.IRX file in MODULES folder || 0x3AEDA (sector), 0x120 (offset)<br /> Replace opcodes<br /> 06 00 80 14 bnez a0, +0x1C<br /> 21 20 43 00 addu a0,v0,v1<br /> 21 10 A0 00 move v0,a1<br /> 02 00 A0 14 bnez a1, +0x0C<br /> 00 00 00 00 nop <br /> 01 00 05 24 li a1,0x1<br /> EB FF 40 10 beqz v0, -0x50<br /> 04 00 84 24 addiu a0,0x4<br /> FC FF 90 24 addiu s0,a0,-0x4<br /> <br /> Original opcodes<br /> 07 00 80 14 bnez a0, +0x20<br /> 21 80 43 00 addu s0,v0,v1<br /> 21 10 A0 00 move v0,a1<br /> 02 00 A0 14 bnez a1, +0x0C<br /> 00 00 00 00 nop <br /> 01 00 05 24 li a1,0x1<br /> FC FF 40 10 beqz v0, -0x0C<br /> 00 00 00 00 nop <br /> 04 00 04 26 addiu a0,s0,0x4<br /> <br /> |-<br /> |SLUS_211.96||0x24D92589D5|| Indigo Prophecy || new SPU2 params || 1<br /> |-<br /> |SLPM_661.93||0x608634992D|| &lt;abbr title=&quot;https://www.gamefaqs.com/ps2/544598-indigo-prophecy/data&quot;&gt;Fahrenheit (NTSC-J)&lt;/abbr&gt; || new SPU2 params || 1<br /> |-<br /> |SLUS_212.96||0x5CA15DF14D|| Dance Factory ||Setting mecha HACK to show GODZCD as GODZCDDA ||<br /> |}<br /> <br /> ====Inside ps2_gxemu.self/ps2_softemu.self====<br /> There are hundreds of configs hidden in ps2_gxemu, and ps2_softemu self files. Internal config structure is basing on custom hash based on Title ID, internal memory offset pointing to place where true patch instruction is, and count of used commands. When disc/iso is started emulator search for configs, and if config for selected ID exist, then emulator apply it by itself. Is not perfect way of applying patches, because some games use the same ID, but different content. Good example here is Star Wars Battlefront II SLUS-21240, where some versions of game can refuse to work because it apply bad patch.<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> ! PS2 Title !! Hash !! Game !! Patch Type !! Data<br /> |-<br /> | || || || || <br /> |}<br /> <br /> ==Known Emulation Bugs==<br /> This list known bugs inside emulator code that make emulation inaccurate. Since those are only EE side bugs for now, ps2_gxemu/ps2_netemu/ps_softemu share the same issues. <br /> {| class=&quot;wikitable sortable&quot;<br /> ! Bug !! Description !! Known Affected Games<br /> |-<br /> | Missing Emotion Engine Data Cache emulation || Emulating that is literally not possible without making games run at 3 fps. Fixed by patches to game image, or EE code. Instruction Cache (not Data) seems to be implemented, at least partially. || Ice Age 2, DOA2: Extreme, Nascar 2009.<br /> |-<br /> | Branch delay slot violation not supported on EE || Some games have Branch instruction inside Branch delay slots, this is not emulated correctly on EE (VU have proper emulation of that). This is patched in configs by rearangging MIPS code. || WRC 3,4,Rally Evolved, one of Action Replay discs. <br /> |-<br /> | Unmapped write only EE memory (confirmed only for SIF) || Reads/Writes to 0x2000000+ shouldn't throw bus error on dma transfers. Write should be performed as successful, memory should stay unchanged. Reads should return 0. || Games developed by In Utero, while creating initial save file, send DMA where address is EE stack pointer. At the time of transfer start $sp is too high, and requested transfer size make MADR overflow above 0x2000000 at some point. This is game bug, and happen also on real hardware. Fixed by config.<br /> |-<br /> | VIF bugs || There is no correct timing, and queuing for some VIF commands like MSCAL. || Snowblind Engine games. Probably more. <br /> |-<br /> | XGKick is instant || Some games expect to XGKick happen few cycles in future, on PS3 is done instant. Fixed by config 0x07 which delay XGKick by selected value || WRC series, Wakeboarding Unleashed, TriAce games, World of Outlaws - Sprint Cars, Ty - The Tazmanian Tiger, dot Hack - G.U. series, and more<br /> |-<br /> | COP2 instructions are instant || Some games rely on fact that COP2 operations can take some time, on PS3 emulators they are done instantly due to lack of correctly emulated pipeline Patched by rearranging mips code || FFX, FFX-2, Ghost in The Shell SAC, Ace Combat series, Sprint Cars 1/2, Black, Run Like Hell, Everblue 2, Dragon Quest - Shounen Yangus no Fushigi na Daibouken, and many more<br /> |-<br /> | VU0 is not running in sync with EE core || VU0 is running program &quot;at once&quot;, which mean that VU0 run until it hits E bit. From EE perspective it looks like whole VU0 program run in 1 cycle. Games that expect VU0 registers to be changed from EE side while VU0 is running are broken due to that. Partially resolved using 0x12 command with 2/3 subcommands, or by code rearranging.|| 24 The Game, ATV Quad Power Racing 2, Twisted Metal Head-On, Primal, Ghosthunter, Rayman Arena, Rayman 3, Largo winch. All games using M-bit. <br /> |-<br /> | M-Bit not supported || Emulator ignore VU0 M-Bit, that cause issues for games that need it to work correctly. This is done because there is no way to sync correctly running VU0 without sync with EE. Partially resolved on emu using 0x12 command with 2/3 subcommands, or direct VU0/MIPS code rearranging. || Totally Spies! Totally Party, Mike Tyson Heavyweight Boxing, My Street, Crash Twinsanity, Marvel Nemesis, Panzer Elite Action - Fields of Glory, TriAce games (speed optimizations only), Super Monkey Ball Adventure, most Eko Software games, and many more.<br /> |-<br /> | T-Bit not supported on VU0 || Emulator ignore VU0 T-Bit, that cause issues for games that need it to work. Note: T-Bit is correctly handled for VU1. || Spiderman 3 set T-Bit, then do cfc2 from TPC (address where VU0 stopped). Since T-Bit is ignored, TPC is wrong. Value is later copied to CMSAR0, and program continue at wrong address. Well that's what should happen, but T-Bit also not signalize correct bit in VPU-STAT. Causing another issue, also in Spiderman 3. <br /> |-<br /> | Emulator do not update correct flag instances for COP2 while ending VU0 program on Ebit || This cause few games to read bad flag status (not status flag!) on COP2. This is resolved on emu by forcing update of MAC flag on every STATUS flag read (by config 0x12), this cause slowdowns creating a lot of unnecessary operations. || Driving Emotion Type-S, State of Emergency 2, The Getaway Black Monday.<br /> |-<br /> | Not updated status flag when VDIV/VSQRT/VRSQRT is done on COP2 || Potential bad flag state can cause a lot of issues that are not related on first sight || Yanya Caballista (already patched by custom config)<br /> |-<br /> | In corner cases emu select wrong block flags pipeline state (both VU0/EEonBE and VU1/VRC affected). || This can cause various issues, mostly SPS, missing graphic, specific slowdowns, etc. Issue seems to occur when branch/jump delay slot have opcode important for flags calculation. Theory is that cached microprogram don't include modified flags state from delay slot instruction. So when already recompiled program is fetched from pool, it will miss one cycle in fmac flags pipeline. This can be crucial in games that rely on it. || Tales of Legendia and Klonoa 2 set sticky flag bits to 0 and branch with sub.xyzw in delay slot (expecting that sub change status flag), Tamsoft engine games set sticky bits to 0 in branch delay slot, this was most ridiculous bug, because problematic branch was pointing to next opcode after delay slot, removing branch was enough. True Crime: NY is only known game where VU0 is affected by this bug. more..<br /> |-<br /> | CTC2 opcode write whole value to R register, while only 23 bits are writable. Rest is hardcoded to 0x3F800000. || Can cause many weird issues like broken physics, broken graphics. PCSX2 was also affected [[https://github.com/PCSX2/pcsx2/pull/6611 more]]. || The one game that is known to be affected, and is already patched, is Musashi: Samurai Legend.<br /> |-<br /> | CFC2 from R register should return only 23 lower bits. || CFC2 from R on real PS2 return only lower 23 bits. Originally found out by PCSX2 team [[https://github.com/PCSX2/pcsx2/pull/8409 more]] and later confirmed to affect ps2_netemu in emu assembly. || There is only one game that is known to be affected, Onimusha Dawn of Dreams.<br /> |-<br /> | Missing floating point result overflow/underflow detection (U/O flags not set) || Since this affect all units (FPU/VU), many issues can occur. But in reality it seems to not affect any games. While this is easier to implement than on x86 system (full floats range, compared to ieee754), there is no way to do that by hardware way. Because SPU add/sub don't set those flags on single precision operations, and vmx have them disabled in spu compatibility mode. || Superman Returns.<br /> |-<br /> | DMA between SPR and VU1 memory cause emulator panic. || Currently cause is unknown. It seems that functions responsible for transfer don't check that VU is running. Manual state that dma can be performed only when VU is not active, and pcsx2 wait until VU end. Games affected in emulators on ps3 display this warning in pcsx2 if mtvu is enabled: &quot;MTVU: SPR Accessing VU1 Memory&quot;. Affected games are fixed by rearranging code to do lq/sq loop instead of DMA. || Summoner 2 (SPRfrom to VU1 data mem), Kaena (SPRto from VU1 data mem).<br /> |-<br /> | IOP SIF0/1 DMA IRQs can be disabled (masked), which is not true on real hardware. || IOP interrupts 0x2A and 0x2B should always trigger. Fixed by patches to IOP code. Ps2_emu seems to be unfacted, probably handled on real hw in CXD9208GP. || Knockout Kings 2001, DOA2: Hardcore.<br /> |}<br /> ===Software emulation bugs===<br /> Related to the GS emulation issues mostly. Apply to the ps2_netemu especially.<br /> {| class=&quot;wikitable sortable&quot;<br /> ! Bug !! Description !! Known Affected Games<br /> |-<br /> | No mipmapping support || Emulator does ignore the mipmap layers, probably for performance reasons. It is processing only the level 0 texture base pointer specified in the TEX0 register. There are games writing a garbage data into that memory area, when the mipmap level is different than zero. As a result, a garbled texture is shown instead of a correct one. || Ace Combat series, Ape Escape 2, EA Sports F1 series, Harry Potter series, ICO (psuedo volumetric rays), Jak and Daxter series, Nickelodeon Barnyard and Nicktoons Unite (very strange implementation), Ratchet and Clank series and more.<br /> |-<br /> | SCANMSK register ignored || Emulator does ignore the SCANMSK setting responsible for restricting the drawing primitives on the odd or even lines. It is used as a fake transparency effect in some games by merging the two display circuits. || Metal Gear Solid series (heavy used in the MGS2 on the water and reflection effects), Gran Turismo series (ghost cars), Raw Danger! (depth of field/tonemapping effect)<br /> |-<br /> |}<br /> <br /> ==TitleID/DiscID in ps2_netemu.self==<br /> There are 193 titleIDs listed inside ps2_netemu.self. More precisely, into XPARAM2.ELF file of PS2 Bios included in ps2_netemu.self. XPARAM2.ELF is called by OSDSYS, then ID check is performed. If title ID match to one of included in the table, different IOP emulation settings are applied.<br /> There are internal flags related to every title ID included inside file, still unknown what they do. Also some arguments, in plain text. File in real ps2 is introduced in SCPH-750XX models so exactly when DECKARD Power PC chip exchanged original IOP chip. This can explain why it is still in PS3 netemu bios. Because PS3 it is ppc that can need the same/similar flags.<br /> <br /> Original PS2 bios include similar list file called XPARAM.ELF, but Title IDs there are not the same, although some of them exist on both lists.<br /> <br /> {| class=&quot;wikitable sortable&quot; || <br /> |- <br /> ! Command !! Name<br /> |-<br /> | 0x00 || TITLE_MASK <br /> |-<br /> | 0x01 || SIO2_MASK<br /> |-<br /> | 0x02 || DEV9_MASK<br /> |-<br /> | 0x03 || USB_MASK<br /> |-<br /> | 0x04 || SIF_DMA_SYNC<br /> |-<br /> | 0x05 || SIF_DMA_LOAD<br /> |-<br /> | 0x06 || DMAC_CH10_INT_DELAY<br /> |-<br /> | 0x07 || MECHA_RECOGTIME<br /> |-<br /> | 0x08 || CPU_DELAY<br /> |-<br /> | 0x09 || DEV5_INT_SPEED<br /> |-<br /> | 0x0A || CDVD_READ_DELAY<br /> |-<br /> | 0x0B || SPU2_BEHAVIOR<br /> |-<br /> |}<br /> <br /> {| class=&quot;wikitable sortable&quot; || <br /> |- <br /> ! ID !! Title !! Command !! Value !! Remarks <br /> |- <br /> |PBPX_952.01 || DVD Utility Disc Version 1.00 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.02 || DVD Utility Disc Version 1.01 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.03 || DVD Utility Disc Version 1.01 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.06 || DVD Player (Version 2.01) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.07 || DVD Player (Version 2.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.08 || DVD Player (Version 2.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.09 || DVD Player (Version 2.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.10 || DVD Utility Disc Version 2.10 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.11 || DVD Utility Disc Version 1.00 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.21 || DVD Player (Version 2.12) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.22 || DVD Player (Version 2.14) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.24 || DVD Player (Version 2.16) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.28 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.35 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.39 || Online Start Up Disc v3.0 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.01 || Linux for PS2 Beta Release 1 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.07 || Playstation 2 Linux Runtime Environment v1.0 (Disc 1) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.09 || Linux for PS2 Release 1.0 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.18 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PDPX_991.09 || DVD Player (Version 3.04) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PSXC_002.01 || PSX Update Disc 1.10 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PSXC_002.02 || PSX Update Disc 1.20 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PSXC_002.03 || PSX Update Disc 1.31 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PTPX_970.38 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCAJ_201.25 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCAJ_201.26 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCES_532.02 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCKA_200.49 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCPM_621.15 || || 0x00 || 0x1000000 || TITLE_MASK<br /> |-<br /> |SCPM_621.16 || || 0x00 || 0x1000000 || TITLE_MASK<br /> |-<br /> |SCPN_601.01 || PlayStation BB Navigator (Version 0.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.30 || PlayStation BB Navigator (Version 0.20) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.40 || PlayStation BB Navigator (Version 0.30) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.50 || PlayStation BB Navigator (Version 0.31) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.60 || PlayStation BB Navigator (Version 0.32) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPS_110.01 || I.Q. Remix || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPS_110.10 || Yoake no Mariko (Performance Pack Edition) || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_110.18 || Yoake no Mariko || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_110.21 || Yoake no Mariko 2nd Act (Limited Edition) || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_110.22 || Yoake no Mariko 2nd Act || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_150.38 || Lifeline || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SCPS_150.39 || Lifeline || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SCPS_170.01 || Gran Turismo 4 || 0x0B || 0x10000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCPS_175.01 || Linux (for PlayStation2) Release 1.0 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPS_200.39 || || 0x00 || 0x4000000 || TITLE_MASK<br /> |-<br /> |SCUS_971.67 || PaRappa the Rapper 2 || 0x04 || 0x2000 || SIF_DMA_SYNC<br /> |-<br /> |SCUS_972.69 || Final Fantasy XI [Disc 2] || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLES_500.48 || Donald Duck: Quack Attack || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_500.62 || Orphen: Scion of Sorcery || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLES_503.64 || City Crisis || 0x0A || 0x80BB8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_504.46 || Shadow Man 2: The Second Coming || 0x0A || 0x80600 || CDVD_READ_DELAY<br /> |-<br /> |SLES_505.40 || Simpsons: Road Rage || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_506.08 || Shadow Man 2: The Second Coming || 0x0A || 0x80600 || CDVD_READ_DELAY<br /> |-<br /> |SLES_506.28 || Simpsons: Road Rage || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_507.28 || Tiger Woods PGA Tour 2002 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_507.29 || || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_512.82 || Tiger Woods PGA Tour 2003 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_514.79 || Def Jam Vendetta || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLES_518.41 || SpyHunter 2 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_518.44 || Time Crisis 3 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_519.97 || SWAT: Global Strike Team || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_520.97 || SWAT: Global Strike Force || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_530.37 || Super Monkey Ball Deluxe || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLES_536.68 || Micro Machines v4 || 0x01 || 0x801 || SIO2_MASK<br /> |-<br /> |SLES_537.55 || Castlevania: Curse of Darkness || 0x04 || 0x10 || SIF_DMA_SYNC<br /> |-<br /> |SLES_537.96 || FIFA Street 2 || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_620.42 || Kurogane no Houkou: Warship Commander || 0x01 || 0x3000 || SIO2_MASK<br /> |-<br /> |SLPM_620.62 || Gitaroo Man One || 0x0A || 0x80540 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_621.05 || Taikou Risshiden IV || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPM_621.24 || Ready 2 Rumble Boxing: Round 2 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_621.25 || Gauntlet: Dark Legacy || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPM_621.25 || Gauntlet: Dark Legacy || 0x09 || 0x2B470005 || DEV5_INT_SPEED<br /> |-<br /> |SLPM_621.35 || Final Fantasy: XI (Beta Version) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SLPM_621.54 || DDRMAX Dance Dance Revolution 6thMix || 0x08 || 0x1A5E || CPU_DELAY<br /> |-<br /> |SLPM_622.39 || Supercar Street Challenge || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_623.69 || Karaoke Revolution: J-Pop Vol.1 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.79 || Karaoke Revolution: J-Pop Vol.2 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.80 || Karaoke Revolution: J-Pop Vol.3 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.81 || Karaoke Revolution: J-Pop Vol.4 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.82 || Karaoke Revolution: Love &amp; Ballad || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.83 || Karaoke Revolution: Night Selection 2003 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.14 || Karaoke Revolution: Dreams &amp; Memories || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.37 || Suisui Sweet: Amai Ai no Mitsukekata || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_624.50 || Karaoke Revolution: Anime Song Selection || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.51 || Karaoke Revolution: J-Pop Vol.5 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.54 || Karaoke Revolution: J-Pop Vol.6 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.55 || Karaoke Revolution: J-Pop Vol.7 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.56 || Karaoke Revolution: J-Pop Vol.8 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.57 || Karaoke Revolution: Snow &amp; Party || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.64 || Pop'n Taisen Pazurudame Online || 0x08 || 0x1F40 || CPU_DELAY<br /> |-<br /> |SLPM_624.79 || Karaoke Revolution: J-Pop Vol.9 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.91 || Mega Man: The Power Battle || 0x04 || 0x2000 || SIF_DMA_SYNC<br /> |-<br /> |SLPM_624.92 || Karaoke Revolution: Kids Song Selection || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_625.28 || Karaoke Revolution: Kazoku Idol Sengen (Bundle Edition) || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_625.29 || Karaoke Revolution: Kazoku Idol Sengen || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_650.86 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 (Disc 1) || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPM_650.87 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 (Disc 2) || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPM_650.90 || Spy Hunter || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_651.97 || Nobunaga's Ambition Online || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_652.09 || Star Ocean: Till the End of Time || 0x0B || 0x20014 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_654.38 || Star Ocean: Till the End of Time (Director's Cut) (Disc 1) || 0x0B || 0x20014 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_654.39 || Star Ocean: Till the End of Time (Director's Cut) (Disc 2) || 0x0B || 0x20014 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_654.88 || Grand Theft Auto: Vice City || 0x0A || 0x300 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_654.88 || Grand Theft Auto: Vice City || 0x09 || 0x36000200 || DEV5_INT_SPEED<br /> |-<br /> |SLPM_656.33 || I Love Baseball: Pro Yakyu wo Koyonaku || 0x08 || 0xFA0 || CPU_DELAY<br /> |-<br /> |SLPM_656.98 || Love Songs: ADV Futaba Riho 14-sai Natsu || 0x0A || 0x80380 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_657.05 || Final Fantasy XI: Chains of Promathia (Expansion Disc) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_657.06 || Final Fantasy XI: Chains of Promathia (All-In-One Edition) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_657.19 || Burnout 3: Takedown || 0x01 || 0x1C00 || SIO2_MASK<br /> |-<br /> |SLPM_657.83 || Nobunaga no Yabou Online: Tappi no Shou || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_658.94 || Winning Post 6: 2005 Version || 0x01 || 0x2400 || SIO2_MASK<br /> |-<br /> |SLPM_659.34 || Maple Colors || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_659.53 || Final Fantasy: XI (Entry Disc 2005) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_659.84 || Grand Theft Auto: San Andreas || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_660.33 || The Sword of Etheria || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPM_660.33 || The Sword of Etheria || 0x00 || 0x2000000 || TITLE_MASK<br /> |-<br /> |SLPM_660.48 || The Sword of Etheria || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPM_660.48 || The Sword of Etheria || 0x00 || 0x2000000 || TITLE_MASK<br /> |-<br /> |SLPM_660.57 || Taito Memories Vol.1 || 0x08 || 0xCE4 || CPU_DELAY<br /> |-<br /> |SLPM_661.56 || Marheaven: Arm Fight Dream || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_661.75 || Akumajo Dracula: Yami no Juin || 0x08 || 0x60 || CPU_DELAY<br /> |-<br /> |SLPM_661.75 || Akumajo Dracula: Yami no Juin || 0x0B || 0x2001C || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_663.93 || Final Fantasy XI: Treasures of Aht Urhgan (All-In-One Edition) || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_663.93 || Final Fantasy XI: Treasures of Aht Urhgan (All-In-One Edition) || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPM_663.93 || Final Fantasy XI: Treasures of Aht Urhgan (All-In-One Edition) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_663.94 || Final Fantasy XI: Treasures of Aht Urhgan || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_664.36 || Aria the Natural || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_664.36 || Aria the Natural || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLPM_665.39 || Nobunaga no Yabou Online: Haten no Shou || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_665.58 || Tomb Raider: Legend || 0x08 || 0x3E8 || CPU_DELAY<br /> |-<br /> |SLPM_665.74 || Detective Evangelion || 0x00 || 0x2000000 || TITLE_MASK<br /> |-<br /> |SLPM_680.07 || Karaoke Revolution (Trial) || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_680.10 || || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPS_200.08 || Morita Shogi || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPS_200.20 || FIFA 2000 World Championship || 0x04 || 0x2001 || SIF_DMA_SYNC<br /> |-<br /> |SLPS_200.37 || Go Go Golf || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_200.38 || Grappler Baki: Baki Saidai no Tournament || 0x08 || 0x1194 || CPU_DELAY<br /> |-<br /> |SLPS_200.53 || Tenshi no Present: Marle Oukoku Monogatari (Limited Edition) || 0x0B || 0x20000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_200.66 || Tenshi no Present: Marle Oukoku Monogatari || 0x0B || 0x20000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_201.01 || City Crisis || 0x0A || 0x80BB8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_201.11 || Magical Sports Pro Baseball 2001 || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_201.72 || Koushien: Konpeki no Sora || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_201.73 || Hard Hitter 2 || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_201.97 || Surfing Air Show with RatBoy || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_201.99 || F1 2002 || 0x0B || 0x20005 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_202.00 || Final Fantasy XI || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPS_204.04 || Rakushou! Pachi-Slot Sengen 2 || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_204.29 || Hissatsu Pachi-Slot Evolution: Ninja Hattori-Kun V || 0x08 || 0x1B58 || CPU_DELAY<br /> |-<br /> |SLPS_204.55 || Simple 2000 Series Vol.94: The Aka-Champion - Come on Baby || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_250.08 || Sorcerous Stabber Orphen || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPS_250.71 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPS_250.72 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPS_250.81 || Saishuu Densha || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_251.36 || Kuon no Kizuna Sairin Mikotonori || 0x0A || 0x805DC || CDVD_READ_DELAY<br /> |-<br /> |SLPS_251.42 || Tiger Woods PGA Tour 2002 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_251.50 || Only You || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_252.37 || Only You || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_252.75 || Def Jam: Vendetta || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLPS_252.78 || Memories Off: Mix || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_252.90 || Time Crisis 3 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLPS_253.15 || One Piece: Grand Battle 3 || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPS_253.57 || 3-Nen B-Gumi Kinpachi Sensei: Densetsu no Kyoudan ni Tate! || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPS_253.79 || Tokyo Majin Gakuen: Kaihoujyou Kefurokou || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_254.06 || Hitman: Contracts || 0x08 || 0xDAC || CPU_DELAY<br /> |-<br /> |SLPS_254.18 || Ace Combat 5: The Unsung War || 0x0A || 0x500000 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_255.10 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_255.85 || Monster Farm 5: Circus Caravan || 0x07 || 5 || MECHA_RECOGTIME<br /> |-<br /> |SLPS_255.86 || Tales of the Abyss || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_256.04 || Ar tonelico Qoga: Knell of Ar Ciel || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLPS_256.67 || Daito Giken Premium Pachi-Slot Collection: Yoshimune || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPS_256.98 || Fatal Fury Battle Archives Volume 2 || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLPS_257.08 || The Familiar of Zero (Limited Edition) || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_257.09 || The Familiar of Zero || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_257.21 || HimeHibi - Princess Days || 0x0B || 0x8000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_257.22 || Routes PE (Limited Edition) || 0x08 || 0x3E8 || CPU_DELAY<br /> |-<br /> |SLPS_257.27 || Routes PE || 0x08 || 0x3E8 || CPU_DELAY<br /> |-<br /> |SLPS_732.49 || Ar tonelico Qoga: Knell of Ar Ciel (Platinum) || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLUS_200.11 || Orphen: Ocion of Sorcery || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_200.11 || Orphen: Ocion of Sorcery || 0x09 || 0x8000010 || DEV5_INT_SPEED<br /> |-<br /> |SLUS_200.77 || Donald Duck: Go'in Quackers || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_202.74 || City Crisis || 0x0A || 0x80BB8 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_203.05 || Simpsons: Road Rage || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_203.64 || Tiger Woods PGA Tour 2002 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_204.13 || Shadowman 2 || 0x0A || 0x80600 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_204.33 || SWAT: Global Strike Team || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_204.88 || Star Ocean: Til the end of Time [Disc 1] || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_205.72 || Tiger Woods PGA Tour 2003 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_205.90 || Spyhunter 2 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_206.35 || Muppets Party Cruise || 0x01 || 0x801 || SIO2_MASK<br /> |-<br /> |SLUS_206.39 || Def Jam Vendetta || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_206.86 || Splashdown: Rides Gone Wild || 0x0A || 0x80400 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_208.38 || All-Star Baseball 2005 || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLUS_208.51 || Ace Combat 5: The Unsung War || 0x0A || 0x500000 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_208.91 || Star Ocean: Til the end of Time [Disc 2] || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_209.18 || Super Monkey Ball: Deluxe || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_210.59 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLUS_210.70 || Final Fantasy XI: Chains of Promathia || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLUS_210.89 || Karaoke Revolution Vol.3 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_213.31 || Sonic Riders || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_213.39 || Puzzle Challenge || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_214.04 || Final Fantasy XI: Treasures of Aht Urhgan || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLUS_214.52 || Valkyrie Profile 2: Silmeria || 0x08 || 0x1388 || CPU_DELAY<br /> |- <br /> |}<br /> <br /> ==Other game patches (unofficial)==<br /> There are other unofficial ways to patch the PS2 games such the [https://forums.pcsx2.net/Thread-A-simplistic-guide-to-pnach-files-aka-pnach-for-dummies pnach] format, or the widescreen patches that allows 16:9 screen output for some games by hex editing the ISO, or by applying ppf patches. Games work fine on PS3 with same compatibility like before patching. Also some 480p (aka progressive scan) patches work fine. http://ps2wide.net/<br /> <br /> The problem of this methods is the patch is applyed over the ISO and is modifyed permanently, but this problem can be avoided in PS3 because that unofficial patches can be &quot;ported&quot; to the official config format to be used by ps2_netemu.self, by using the official config format the settings and patchs from the config file are applyed &quot;on the fly&quot; and the ISO is not modifyed<br /> <br /> ==ps2_title_brute code==<br /> <br /> A script to calculate cdvd key magic used in ps2emu, gxemu and softemu from given input title id.<br /> On real PS2 this value seems to be stored at 0x1F402020-0x1F402024.<br /> It contains code for bruting as well. Just call gen_sum with the title id in a specific format to get it.<br /> <br /> &lt;syntaxhighlight lang=&quot;python&quot;&gt;<br /> title_ = &quot;SLUS_200.73&quot;<br /> <br /> #patches = [0x6b1ade00dL, 0x23d92589c5L, 0x24d92589d5L, 0x608634992dL, 0x5ca15df14dL]<br /> #patches = [0x37ae1cb18dL, 0x608634999dL, 0x06b1ade00dL, 0x5fc674d915L, 0x178e3c9165L, 0x3889349935L,0x18fe4ce145L,0xc126943985,0xe90ebc11b5,0x58be0ca165L]<br /> patches = [ 0xCD1298155L, 0x12C93199A5L, 0x15C93199ADL, 0x24D92589A5L, 0x2CD12D8125L, 0x34C9359935L, 0x34C93599E5L, 0x34C93599E5L, 0x449961C9E5L, 0x4C9169C1CDL, 0x4C9169C1D5L, 0x4C9169C1DDL, 0x4C9169C1E5L, 0x4C9169C1F5L, 0x4C9169C1FDL, 0x4CB14DE12DL, 0x54A955F915L, 0x5CA15DF165L, 0x5CA15DF1FDL, 0x5CA15DF1FDL, 0x649965C94DL, 0x649965C955L, 0x649965C95DL, 0x649965C965L, 0x649965C96DL, 0x6BB149E15DL, 0x6C916DC165L, 0x6C916DC1A5L, 0x6C916DC1ADL, 0x6C916DC1B5L, 0x6C916DC1D5L, 0x6C916DC1DDL, 0x748975D9DDL, 0x7C817DD125L, 0x7C817DD165L, 0x7C817DD16DL, 0x7C817DD175L, 0x7C817DD1CDL, 0x84798529BDL, 0x8559A109ADL, 0x8579852915L, 0x8579852965L, 0x8D51A90145L, 0x8D51A901B5L, 0x8D51A901BDL, 0x8D718D21BDL, 0x9C619D31E5L, 0x9D41B911ADL, 0x9D619D31C5L, 0x9F29357805L, 0x9F293578E5L, 0xB549B51915L, 0xB549B51925L, 0xB549B5195DL, 0xB549B519A5L, 0xB549B519ADL, 0xBC61793025L, 0xBD41BD1105L, 0xC439C569F5L, 0xC7716D20D5L, 0xC7716D20D5L, 0xCA11E941F5L, 0xCF7965285DL, 0xCF7965285DL, 0xD20911582DL, 0xD7617D308DL, 0xE339C1695DL, 0xE794CCB06DL, 0xEA3129608DL, 0xEC11ED4115L, 0xEF594508D5L, 0xF409F559ADL, 0xF7415D10E5L, 0xF7415D10E5L]<br /> <br /> def gen_sum(title):<br /> var_30 = []<br /> for i in range(0x1A):<br /> var_30.append(0)<br /> r9=5<br /> r31=0<br /> #Title 2 decimal<br /> while r9 != 0xB:<br /> r11 = r9 + 1<br /> if r9 == 8:<br /> pass<br /> else:<br /> r5 = ord(title[r9:r9+1])<br /> r7 = r31 * 0xA<br /> r6 = r7 &amp; 0xFFFFFFFF<br /> r4 = r5 + r6<br /> r9 = r4 - 0x30<br /> r31 = r9 &amp; 0xFFFFFFFF<br /> r9 = r11<br /> #print r31<br /> r10 = ord(title[3:4]) # S<br /> r7 = (r31 &gt;&gt; 10) &amp; 0x7F<br /> r11 = ord(title[1:2]) # L<br /> r8 = ord(title[2:3]) # U<br /> r6 = (r10 &gt;&gt; 1) &amp; 0x3F<br /> r12 = ord(title[0:1]) # S<br /> r4 = (r11 &gt;&gt; 3) &amp; 0xF<br /> r5 = (r8 &gt;&gt; 2) &amp; 0x1F<br /> r3 = (r12 &gt;&gt; 4) &amp; 7<br /> r9 = r10 &lt;&lt; 7<br /> r0 = r8 &lt;&lt; 6<br /> r10 = r11 &lt;&lt; 5<br /> r8 = r12 &lt;&lt; 4<br /> r12 = r31 &lt;&lt; 3<br /> r11 = r10 | r5<br /> r9 = r9 | r7<br /> r0 = r0 | r6<br /> var_30[2] = r11 &amp; 0xFF<br /> r7 = r8 | r4<br /> var_30[0] = (r9 &amp; 0xFF)<br /> r10 = r12 | r3<br /> var_30[1] = (r0 &amp; 0xFF)<br /> r12 = (r31 &gt;&gt; 2) &amp; 0x3FFFFFF8<br /> var_30[3] = (r7 &amp; 0xFF)<br /> r8 = 5<br /> var_30[4] = (r10 &amp; 0xFF)<br /> var_30[0x19] = (r12 &amp; 0xFF)<br /> var_30[0x18] = (r8 &amp; 0xFF)<br /> var_30 = [int(v) for v in var_30]<br /> #print [hex(v) for v in var_30]<br /> r5 = var_30<br /> r6 = 0<br /> r4 = 0<br /> while r6 &lt; 5:<br /> r12 = r5[r6:r6+1][0]<br /> r7 = r6 + 1<br /> r0 = var_30[0x19]<br /> r3 = r6 + 0x10<br /> r9 = r12 ^ r0<br /> r31 = r3<br /> r5[r6] = r9<br /> r6 = r7<br /> r5[r31] = r4<br /> #print [hex(v) for v in r5]<br /> r9 = 0<br /> r10 = 0<br /> while r10 &lt; 5:<br /> r11 = r10 + 1<br /> r6 = r5[r10:r10+1][0]<br /> r4 = r9 &lt;&lt; 8<br /> r10 = r11<br /> r9 = r4 | r6<br /> return r9<br /> '''<br /> print hex(gen_sum(title_))<br /> <br /> a1='A'<br /> a2='A'<br /> a3='A'<br /> a4='A'<br /> while a1 &lt;= 'Z':<br /> a2='A'<br /> a3='A'<br /> a4='A'<br /> while a2 &lt;= 'Z':<br /> a3='A'<br /> a4='A'<br /> while a3 &lt;= 'Z':<br /> a4='A'<br /> while a4 &lt;= 'Z':<br /> #print &quot;%s%s%s%s&quot; % (a1,a2,a3,a4)<br /> for i in range(99999):<br /> t = &quot;%s%s%s%s_&quot; % (a1,a2,a3,a4) + '{4}{3}{2}.{1}{0}'.format(i%10,(i/10)%10,(i/100)%10,(i/1000)%10,(i/10000)%10)<br /> if gen_sum(t) in patches:<br /> print t<br /> print True<br /> a4=chr(ord(a4)+1)<br /> print &quot;%s%s%s%s&quot; % (a1,a2,a3,a4)<br /> a3=chr(ord(a3)+1)<br /> print &quot;%s%s%s%s&quot; % (a1,a2,a3,a4)<br /> a2=chr(ord(a2)+1)<br /> a1=chr(ord(a1)+1)<br /> '''<br /> <br /> print hex(gen_sum(&quot;SLUS_213.86&quot;))<br /> '''<br /> for i in range(99999):<br /> t = &quot;SLUS_&quot; + '{4}{3}{2}.{1}{0}'.format(i%10,(i/10)%10,(i/100)%10,(i/1000)%10,(i/10000)%10)<br /> if gen_sum(t) in patches:<br /> print &quot;%s %x&quot; % (t, gen_sum(t))<br /> <br /> '''<br /> &lt;/syntaxhighlight&gt;<br /> &lt;br&gt;<br /> Alternative script version for better readability. Work same way as one above, just cleaner looking code.<br /> &lt;syntaxhighlight lang=&quot;python&quot;&gt;<br /> ID = &quot;SLUS_202.02&quot;<br /> <br /> def gen_sum2(title):<br /> <br /> decimal_id = 0<br /> decimal_id += ( ord(title[10:11]) - 0x30)<br /> decimal_id += ((ord(title[9:10]) - 0x30) * 10)<br /> decimal_id += ((ord(title[7:8]) - 0x30) * 100)<br /> decimal_id += ((ord(title[6:7]) - 0x30) * 1000)<br /> decimal_id += ((ord(title[5:6]) - 0x30) * 10000)<br /> <br /> first_char = ord(title[0:1])<br /> second_char = ord(title[1:2])<br /> third_char = ord(title[2:3])<br /> fourth_char = ord(title[3:4])<br /> <br /> temp0 = (first_char &gt;&gt; 4) &amp; 7<br /> temp1 = (second_char &gt;&gt; 3) &amp; 0xF<br /> temp2 = (third_char &gt;&gt; 2) &amp; 0x1F<br /> temp3 = (fourth_char &gt;&gt; 1) &amp; 0x3F<br /> temp4 = (first_char &lt;&lt; 4)<br /> temp5 = (second_char &lt;&lt; 5)<br /> temp6 = (third_char &lt;&lt; 6)<br /> temp7 = (fourth_char &lt;&lt; 7)<br /> <br /> temp8 = (decimal_id &gt;&gt; 10) &amp; 0x7F<br /> temp9 = (decimal_id &lt;&lt; 3 )<br /> temp10 = (decimal_id &gt;&gt; 2 ) &amp; 0xF8<br /> <br /> temp8 |= temp7<br /> temp3 |= temp6<br /> temp2 |= temp5<br /> temp1 |= temp4<br /> temp0 |= temp9<br /> <br /> temp8 &amp;= 0xFF<br /> temp3 &amp;= 0xFF<br /> temp2 &amp;= 0xFF<br /> temp1 &amp;= 0xFF<br /> temp0 &amp;= 0xFF<br /> <br /> temp8 ^= temp10<br /> temp3 ^= temp10<br /> temp2 ^= temp10<br /> temp1 ^= temp10<br /> temp0 ^= temp10 <br /> <br /> result = (temp0 | (temp1 &lt;&lt; 8) | (temp2 &lt;&lt; 16) | (temp3 &lt;&lt; 24) | (temp8 &lt;&lt; 32))<br /> return result<br /> <br /> print(hex(gen_sum2(ID)))<br /> &lt;/syntaxhighlight&gt;<br /> Alternative implementation: https://github.com/PCSX2/pcsx2/blob/1a3d77b2c0c6b57313f0dceaf5ecc3f8cb453497/pcsx2/CDVD/CDVD.cpp#L545<br /> <br /> ==External References==<br /> * [http://www.eurogamer.net/articles/digitalfoundry-vs-ps2-classics-on-ps3 Digital Foundry vs. PS2 Classics on PS3]<br /> * [http://www.ps3hax.net/showthread.php?t=53444 PS2 Classics Algorithm By flatz]<br /> * [https://web.archive.org/web/20140422030433/http://gitorious.ps3dev.net/ps2classic C port]<br /> * [https://web.archive.org/web/20150623164110/http://www.pshomebrew.net/wiki/PS2_Classics_Emulator_Compatibility_List Alternative Compatibility List (outdated)]<br /> * [http://www.ps3hax.net/showthread.php?p=620747#post620747 How to properly convert Final Fantasy XII: IZJS For ps2classics]<br /> * [https://en.wikipedia.org/wiki/List_of_PlayStation_2_Classics Wikipedia list of officially released PS2 Classics]<br /> &lt;br&gt;<br /> CPU-GPU intensive games + games only playable in software render on PCSX2:<br /> * http://wiki.pcsx2.net/index.php/Category:GPU_intensive_games<br /> * http://wiki.pcsx2.net/index.php/Category:CPU_intensive_games<br /> * http://wiki.pcsx2.net/index.php/Category:Software_rendering_only_games<br /> <br /> {{Reverse engineering}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=4.90_CEX&diff=69567 4.90 CEX 2023-03-05T13:26:06Z <p>Mysis: /* Changed files compared to 4.89 CEX */</p> <hr /> <div>Released: {{date|28-02-2023}}<br /> <br /> = Changes =<br /> This system software update improves system performance.<br /> <br /> == Changed files compared to [[4.89 CEX]]==<br /> <br /> === CORE OS ===<br /> <br /> * lv0<br /> * lv1.self<br /> * lv2_kernel.self<br /> <br /> === dev_flash ===<br /> <br /> <br /> bdplayer\<br /> * AacsModule.spu.isoself<br /> * bdp_BDMV.self<br /> * bdp_BDVD.self<br /> <br /> ps1emu\<br /> * ps1_emu.self<br /> * ps1_netemu.self<br /> * ps1_newemu.self<br /> <br /> ps2emu\<br /> * ps2_emu.self<br /> <br /> pspemu\<br /> * psp_emulator.self<br /> * psp_translator.self<br /> <br /> pspemu\release\<br /> * PEmuCoreLib.sprx<br /> <br /> sys\external\<br /> * libadec.sprx<br /> * libadec2.sprx<br /> * libadec_internal.sprx<br /> * libfiber.sprx<br /> * libhttp.sprx<br /> * liblv2coredump.sprx<br /> * libmedi.sprx<br /> * libmp4.sprx<br /> * libsail.sprx<br /> * libsail_rec.sprx<br /> * libspurs_jq.sprx<br /> * libsre.sprx<br /> * libsync2.sprx<br /> * libvdec.sprx<br /> <br /> sys\internal\<br /> * sys_audio.self<br /> * sys_init_osd.self<br /> <br /> vsh\module\<br /> * avc2_text_plugin.sprx<br /> * dtcpip_util.sprx<br /> * explore_category_friend.sprx<br /> * explore_plugin.sprx<br /> * explore_plugin_np.sprx<br /> * friendim_plugin.sprx<br /> * friendml_plugin.sprx<br /> * friendtrophy_plugin.sprx<br /> * hknw_plugin.sprx<br /> * msmw2.sprx<br /> * np_oauth.sprx<br /> * profile_plugin.sprx<br /> * rec_plugin.sprx<br /> * swagner.self<br /> * swreset.self<br /> * sysconf_plugin.sprx<br /> * vsh.self<br /> * x3_mdimp7.sprx<br /> <br /> = Download =<br /> *<br /> * {{updates|ps3.update.playstation.net/update/ps3/image/jp/2023_0228_05fe32f5dc8c78acbcd84d36ee7fdc5b}}<br /> <br /> = PUP hashes =<br /> 4.90 RETAIL/CEX | MD5:05FE32F5DC8C78ACBCD84D36EE7FDC5B | SHA1:? | CRC32:?<br /> <br /> = PUP Information =<br /> <br /> Name: PS3UPDAT.PUP<br /> Size: ? bytes (? MiB)<br /> <br /> = CoreOS Filehashes =<br /> <br /> <br /> {{System Firmware}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=Template:HDMI_Controller_pinout_BGA_144_pads&diff=67038 Template:HDMI Controller pinout BGA 144 pads 2022-06-10T09:55:06Z <p>Mysis: </p> <hr /> <div>&lt;br style=&quot;clear: both;&quot; /&gt;<br /> &lt;span style=&quot;font-size:175%; font-family:Times New Roman;&quot;&gt;Pinout&lt;/span&gt;<br /> ----<br /> &lt;div style=&quot;float:right&quot;&gt;[[File:SII9132CBUTR-GRID-bw-pcbview.png|200px|thumb|right|SII9132CBU, padlayout&lt;br /&gt;PCB view facing 12x12 BGA&lt;br /&gt;A1 marker:northwest/topleft]]&lt;br /&gt;[[File:Silicon Image Vastlane SCEI SIL9132CBU.jpg|200px|thumb|right|Silicon Image Sil9132CBU as seen on COK-002]]&lt;br&gt;[[File:HDMI pads as seen on JTP-001 - (Mr.Dutch).jpg|200px|thumb|right|HDMI connector pads]]&lt;br&gt;[[File:RSX SKEMA.jpg|200px|thumb|right|RSX 41x41 pad layout]]&lt;/div&gt;<br /> <br /> &lt;div style=&quot;overflow:auto; &lt;includeonly&gt;height:1400px;&lt;/includeonly&gt;&quot;&gt;<br /> {|class=&quot;wikitable mw-datatable&quot; style=&quot;width:100%; line-height:120%; font-size:90%&quot;<br /> |+ {{captionlinks|HDMI Controller pinout BGA 144 pads}}<br /> ! style=&quot;width:0px&quot; | Pad&amp;nbsp;# !! style=&quot;width:0px&quot; | Name !! Description<br /> |-<br /> | A1 || HPD || <br /> |-<br /> | A2 || TX2+_25 || Connected to D2+ HDMI connector<br /> |-<br /> | A3 || TX2-_25 || Connected to D2- HDMI connector<br /> |-<br /> | A4 || GND || <br /> |-<br /> | A5 || TX1+_25 || <br /> |-<br /> | A6 || TX1-_25 || <br /> |-<br /> | A7 || TX0+_25 || <br /> |-<br /> | A8 || TX0-_25 || <br /> |-<br /> | A9 || || Connected 0.001u resistor to GND/VCC?<br /> |-<br /> | A10 || TXC+_25 || <br /> |-<br /> | A11 || TXC-_25 || <br /> |-<br /> | A12 || || Connected to 0.5/160ohm resistor to VCC?<br /> |-<br /> | B1 || || Connected to DDCLK HDMI Connector?<br /> |-<br /> | B2 || GND? || <br /> |-<br /> | B3 || GND? || <br /> |-<br /> | B4 || GND? || <br /> |-<br /> | B5 || GND? || <br /> |-<br /> | B6 || GND? || <br /> |-<br /> | B7 || GND? || <br /> |-<br /> | B8 || GND? || <br /> |-<br /> | B9 || GND? || <br /> |-<br /> | B10 || GND? || <br /> |-<br /> | B11 || GND? || <br /> |-<br /> | B12 || NC || <br /> |-<br /> | C1 || GND? || <br /> |-<br /> | C2 || || Connected to DDData HDMI Connector?<br /> |-<br /> | C3 || GND? || <br /> |-<br /> | C4 || GND? || <br /> |-<br /> | C5 || GND? || <br /> |-<br /> | C6 || GND? || <br /> |-<br /> | C7 || GND? || <br /> |-<br /> | C8 || GND? || <br /> |-<br /> | C9 || GND? || <br /> |-<br /> | C10 || GND? || <br /> |-<br /> | C11 || NC || <br /> |-<br /> | C12 || NC || <br /> |-<br /> | D1 || NC || <br /> |-<br /> | D2 || HDMI_I2C_SDA || <br /> |-<br /> | D3 || GND? || <br /> |-<br /> | D4 || GND? || <br /> |-<br /> | D5 || GND? || <br /> |-<br /> | D6 || GND? || <br /> |-<br /> | D7 || GND? || <br /> |-<br /> | D8 || GND? || <br /> |-<br /> | D9 || GND? || <br /> |-<br /> | D10 || NC || <br /> |-<br /> | D11 || NC || <br /> |-<br /> | D12 || SII0_WS || Connected to RS_LRCKO ?<br /> |-<br /> | E1 || GND? || <br /> |-<br /> | E2 || HDMI_I2C_SCL || <br /> |-<br /> | E3 || GND? || <br /> |-<br /> | E4 || GND? || <br /> |-<br /> | E5 || GND? || <br /> |-<br /> | E6 || GND? || <br /> |-<br /> | E7 || GND? || <br /> |-<br /> | E8 || GND? || <br /> |-<br /> | E9 || GND? || <br /> |-<br /> | E10 || || Connected to TC7WP3125FK A2 level shift<br /> |-<br /> | E11 || SII0_SD0 || Connected to RS_SDOUT0 ?<br /> |-<br /> | E12 || SII0_SCK || Connected to RS_BCLKO ?<br /> |-<br /> | F1 || NC || <br /> |-<br /> | F2 || NC || <br /> |-<br /> | F3 || NC || <br /> |-<br /> | F4 || GND? || <br /> |-<br /> | F5 || GND? || <br /> |-<br /> | F6 || GND? || <br /> |-<br /> | F7 || GND? || <br /> |-<br /> | F8 || GND? || <br /> |-<br /> | F9 || GND? || <br /> |-<br /> | F10 || GND? || <br /> |-<br /> | F11 || SII0_SD2 || Connected to RS_SDOUT2 ?<br /> |-<br /> | F12 || SII0_SD1 || Connected to RS_SDOUT1 ?<br /> |-<br /> | G1 || SII0_D35 || Connected to RSX_VO35 ?<br /> |-<br /> | G2 || SII0_/RESET || Connected to /RSX_VORST0 and /HDMI_RST<br /> |-<br /> | G3 || GND? || <br /> |-<br /> | G4 || GND? || <br /> |-<br /> | G5 || GND? || <br /> |-<br /> | G6 || GND? || <br /> |-<br /> | G7 || GND? || <br /> |-<br /> | G8 || GND? || <br /> |-<br /> | G9 || GND? || <br /> |-<br /> | G10 || SII0_SPDIF || Connected to RS_SPD01 ?<br /> |-<br /> | G11 || SII0_MCLK || Connected to HDMI_MCLKO0 ?<br /> |-<br /> | G12 || SII0_SD3 || Connected to RS_SDOUT3 ? <br /> |-<br /> | H1 || SII0_D34 || Connected to RSX_VO34 ?<br /> |-<br /> | H2 || SII0_D33 || Connected to RSX_VO33 ?<br /> |-<br /> | H3 || GND? || <br /> |-<br /> | H4 || GND? || <br /> |-<br /> | H5 || GND? || <br /> |-<br /> | H6 || GND? || <br /> |-<br /> | H7 || GND? || <br /> |-<br /> | H8 || GND? || <br /> |-<br /> | H9 || GND? || <br /> |-<br /> | H10 || GND? || <br /> |-<br /> | H11 || GND? || <br /> |-<br /> | H12 || SII0_DE || Connected to RSX_VO_DE0 ?<br /> |-<br /> | J1 || SII0_D32 || Connected to RSX_VO32 ?<br /> |-<br /> | J2 || SII0_D31 || Connected to RSX_VO31 ?<br /> |-<br /> | J3 || GND? || <br /> |-<br /> | J4 || GND? || <br /> |-<br /> | J5 || GND? || <br /> |-<br /> | J6 || GND? || <br /> |-<br /> | J7 || GND? || <br /> |-<br /> | J8 || GND? || <br /> |-<br /> | J9 || GND? || <br /> |-<br /> | J10 || GND? || <br /> |-<br /> | J11 || SII0_VSYNC || Connected to RSX_VSYNCO0 ?<br /> |-<br /> | J12 || SII0_HSYNC || Connected to RSX_HSYNCO0 ?<br /> |-<br /> | K1 || SII0_D30 || Connected to RSX_VO30 ?<br /> |-<br /> | K2 || SII0_D29 || Connected to RSX_VO29 ?<br /> |-<br /> | K3 || GND? || <br /> |-<br /> | K4 || SII0_D20 || Connected to RSX_VO20 ?<br /> |-<br /> | K5 || GND? || <br /> |-<br /> | K6 || SII0_IDCK || Connected to RSX_SUBPCLK0 ?<br /> |-<br /> | K7 || GND? || <br /> |-<br /> | K8 || SII0_D11 || Connected to RSX_VO11 ?<br /> |-<br /> | K9 || GND? || <br /> |-<br /> | K10 || SII0_D0 || Connected to RSX_VO0 ?<br /> |-<br /> | K11 || SII0_D1 || Connected to RSX_VO1 ?<br /> |-<br /> | K12 || SII0_D2 || Connected to RSX_VO2 ?<br /> |-<br /> | L1 || SII0_D28 || Connected to RSX_VO28 ?<br /> |-<br /> | L2 || SII0_D27 || Connected to RSX_VO27 ?<br /> |-<br /> | L3 || SII0_D23 || Connected to RSX_VO23 ?<br /> |-<br /> | L4 || SII0_D21 || Connected to RSX_VO21 ?<br /> |-<br /> | L5 || SII0_D18 || Connected to RSX_VO18 ?<br /> |-<br /> | L6 || SII0_D16 || Connected to RSX_VO16 ?<br /> |-<br /> | L7 || SII0_D14 || Connected to RSX_VO14 ?<br /> |-<br /> | L8 || SII0_D12 || Connected to RSX_VO12 ?<br /> |-<br /> | L9 || SII0_D9 || Connected to RSX_VO9 ?<br /> |-<br /> | L10 || SII0_D7 || Connected to RSX_VO7 ?<br /> |-<br /> | L11 || SII0_D5 || Connected to RSX_VO5 ?<br /> |-<br /> | L12 || SII0_D3 || <br /> |-<br /> | M1 || SII0_D26 || Connected to RSX_VO26 ?<br /> |-<br /> | M2 || SII0_D25 || Connected to RSX_VO25 ?<br /> |-<br /> | M3 || SII0_D24 || Connected to RSX_VO24 ?<br /> |-<br /> | M4 || SII0_D22 || Connected to RSX_VO22 ?<br /> |-<br /> | M5 || SII0_D19 || Connected to RSX_VO19 ?<br /> |-<br /> | M6 || SII0_D17 || Connected to RSX_VO17 ?<br /> |-<br /> | M7 || SII0_D15 || Connected to RSX_VO15 ?<br /> |-<br /> | M8 || SII0_D13 || Connected to RSX_VO13 ?<br /> |-<br /> | M9 || SII0_D10 || Connected to RSX_VO10 ?<br /> |-<br /> | M10 || SII0_D8 || Connected to RSX_VO8 ?<br /> |-<br /> | M11 || SII0_D6 || Connected to RSX_VO6 ?<br /> |-<br /> | M12 || SII0_D4 || Connected to RSX_VO4 ?<br /> |-<br /> |}&lt;/div&gt;&lt;noinclude&gt;[[Category:Templates]]&lt;/noinclude&gt;<br /> <br /> Note: pinconfig undocumented, but is has D0-D35 from RSX. Other notable signals (excluding the HDMI connector): IDCLK, DE, Hsync. Vsync. Reset, SPD, SDout1-3, SD, SCK, MCLK, WS and I2C SCL, SDA</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=Template:HDMI_Controller_pinout_BGA_144_pads&diff=67037 Template:HDMI Controller pinout BGA 144 pads 2022-06-10T09:38:29Z <p>Mysis: Speculative pinout added</p> <hr /> <div>&lt;br style=&quot;clear: both;&quot; /&gt;<br /> &lt;span style=&quot;font-size:175%; font-family:Times New Roman;&quot;&gt;Pinout&lt;/span&gt;<br /> ----<br /> &lt;div style=&quot;float:right&quot;&gt;[[File:SII9132CBUTR-GRID-bw-pcbview.png|200px|thumb|right|SII9132CBU, padlayout&lt;br /&gt;PCB view facing 12x12 BGA&lt;br /&gt;A1 marker:northwest/topleft]]&lt;br /&gt;[[File:Silicon Image Vastlane SCEI SIL9132CBU.jpg|200px|thumb|right|Silicon Image Sil9132CBU as seen on COK-002]]&lt;br&gt;[[File:HDMI pads as seen on JTP-001 - (Mr.Dutch).jpg|200px|thumb|right|HDMI connector pads]]&lt;br&gt;[[File:RSX SKEMA.jpg|200px|thumb|right|RSX 41x41 pad layout]]&lt;/div&gt;<br /> <br /> &lt;div style=&quot;overflow:auto; &lt;includeonly&gt;height:1400px;&lt;/includeonly&gt;&quot;&gt;<br /> {|class=&quot;wikitable mw-datatable&quot; style=&quot;width:100%; line-height:120%; font-size:90%&quot;<br /> |+ {{captionlinks|HDMI Controller pinout BGA 144 pads}}<br /> ! style=&quot;width:0px&quot; | Pad&amp;nbsp;# !! style=&quot;width:0px&quot; | Name !! Description<br /> |-<br /> | A1 || HPD || <br /> |-<br /> | A2 || TX2+_25 || Connected to D2+ HDMI connector<br /> |-<br /> | A3 || TX2-_25 || Connected to D2- HDMI connector<br /> |-<br /> | A4 || GND || <br /> |-<br /> | A5 || TX1+_25 || <br /> |-<br /> | A6 || TX1-_25 || <br /> |-<br /> | A7 || TX0+_25 || <br /> |-<br /> | A8 || TX0-_25 || <br /> |-<br /> | A9 || || Connected 0.001u resistor to GND/VCC?<br /> |-<br /> | A10 || TXC+_25 || <br /> |-<br /> | A11 || TXC-_25 || <br /> |-<br /> | A12 || || Connected to 0.5/160ohm resistor to VCC?<br /> |-<br /> | B1 || || Connected to DDCLK HDMI Connector?<br /> |-<br /> | B2 || GND? || <br /> |-<br /> | B3 || GND? || <br /> |-<br /> | B4 || GND? || <br /> |-<br /> | B5 || GND? || <br /> |-<br /> | B6 || GND? || <br /> |-<br /> | B7 || GND? || <br /> |-<br /> | B8 || GND? || <br /> |-<br /> | B9 || GND? || <br /> |-<br /> | B10 || GND? || <br /> |-<br /> | B11 || GND? || <br /> |-<br /> | B12 || NC || <br /> |-<br /> | C1 || GND? || <br /> |-<br /> | C2 || || Connected to DDData HDMI Connector?<br /> |-<br /> | C3 || GND? || <br /> |-<br /> | C4 || GND? || <br /> |-<br /> | C5 || GND? || <br /> |-<br /> | C6 || GND? || <br /> |-<br /> | C7 || GND? || <br /> |-<br /> | C8 || GND? || <br /> |-<br /> | C9 || GND? || <br /> |-<br /> | C10 || GND? || <br /> |-<br /> | C11 || NC || <br /> |-<br /> | C12 || NC || <br /> |-<br /> | D1 || NC || <br /> |-<br /> | D2 || HDMI_I2C_SDA || <br /> |-<br /> | D3 || GND? || <br /> |-<br /> | D4 || GND? || <br /> |-<br /> | D5 || GND? || <br /> |-<br /> | D6 || GND? || <br /> |-<br /> | D7 || GND? || <br /> |-<br /> | D8 || GND? || <br /> |-<br /> | D9 || GND? || <br /> |-<br /> | D10 || NC || <br /> |-<br /> | D11 || NC || <br /> |-<br /> | D12 || SII0_WS || <br /> |-<br /> | E1 || GND? || <br /> |-<br /> | E2 || HDMI_I2C_SCL || <br /> |-<br /> | E3 || GND? || <br /> |-<br /> | E4 || GND? || <br /> |-<br /> | E5 || GND? || <br /> |-<br /> | E6 || GND? || <br /> |-<br /> | E7 || GND? || <br /> |-<br /> | E8 || GND? || <br /> |-<br /> | E9 || GND? || <br /> |-<br /> | E10 || || Connected to TC7WP3125FK A2 level shift<br /> |-<br /> | E11 || SII0_SD0 || <br /> |-<br /> | E12 || SII0_SCK || <br /> |-<br /> | F1 || NC || <br /> |-<br /> | F2 || NC || <br /> |-<br /> | F3 || NC || <br /> |-<br /> | F4 || GND? || <br /> |-<br /> | F5 || GND? || <br /> |-<br /> | F6 || GND? || <br /> |-<br /> | F7 || GND? || <br /> |-<br /> | F8 || GND? || <br /> |-<br /> | F9 || GND? || <br /> |-<br /> | F10 || GND? || <br /> |-<br /> | F11 || SII0_SD2 || <br /> |-<br /> | F12 || SII0_SD1 || <br /> |-<br /> | G1 || SII0_D35 || <br /> |-<br /> | G2 || SII0_/RESET || <br /> |-<br /> | G3 || GND? || <br /> |-<br /> | G4 || GND? || <br /> |-<br /> | G5 || GND? || <br /> |-<br /> | G6 || GND? || <br /> |-<br /> | G7 || GND? || <br /> |-<br /> | G8 || GND? || <br /> |-<br /> | G9 || GND? || <br /> |-<br /> | G10 || SII0_SPDIF || <br /> |-<br /> | G11 || SII0_MCLK || <br /> |-<br /> | G12 || SII0_SD3 || <br /> |-<br /> | H1 || SII0_D34 || <br /> |-<br /> | H2 || SII0_D33 || <br /> |-<br /> | H3 || GND? || <br /> |-<br /> | H4 || GND? || <br /> |-<br /> | H5 || GND? || <br /> |-<br /> | H6 || GND? || <br /> |-<br /> | H7 || GND? || <br /> |-<br /> | H8 || GND? || <br /> |-<br /> | H9 || GND? || <br /> |-<br /> | H10 || GND? || <br /> |-<br /> | H11 || GND? || <br /> |-<br /> | H12 || SII0_DE || <br /> |-<br /> | J1 || SII0_D32 || <br /> |-<br /> | J2 || SII0_D31 || <br /> |-<br /> | J3 || GND? || <br /> |-<br /> | J4 || GND? || <br /> |-<br /> | J5 || GND? || <br /> |-<br /> | J6 || GND? || <br /> |-<br /> | J7 || GND? || <br /> |-<br /> | J8 || GND? || <br /> |-<br /> | J9 || GND? || <br /> |-<br /> | J10 || GND? || <br /> |-<br /> | J11 || SII0_VSYNC || <br /> |-<br /> | J12 || SII0_HSYNC || <br /> |-<br /> | K1 || SII0_D30 || <br /> |-<br /> | K2 || SII0_D29 || <br /> |-<br /> | K3 || GND? || <br /> |-<br /> | K4 || SII0_D20 || <br /> |-<br /> | K5 || GND? || <br /> |-<br /> | K6 || SII0_IDCK || <br /> |-<br /> | K7 || GND? || <br /> |-<br /> | K8 || SII0_D11 || <br /> |-<br /> | K9 || GND? || <br /> |-<br /> | K10 || SII0_D0 || <br /> |-<br /> | K11 || SII0_D1 || <br /> |-<br /> | K12 || SII0_D2 || <br /> |-<br /> | L1 || SII0_D28 || <br /> |-<br /> | L2 || SII0_D27 || <br /> |-<br /> | L3 || SII0_D23 || <br /> |-<br /> | L4 || SII0_D21 || <br /> |-<br /> | L5 || SII0_D18 || <br /> |-<br /> | L6 || SII0_D16 || <br /> |-<br /> | L7 || SII0_D14 || <br /> |-<br /> | L8 || SII0_D12 || <br /> |-<br /> | L9 || SII0_D9 || <br /> |-<br /> | L10 || SII0_D7 || <br /> |-<br /> | L11 || SII0_D6 || <br /> |-<br /> | L12 || SII0_D3 || <br /> |-<br /> | M1 || SII0_D26 || <br /> |-<br /> | M2 || SII0_D25 || <br /> |-<br /> | M3 || SII0_D24 || <br /> |-<br /> | M4 || SII0_D22 || <br /> |-<br /> | M5 || SII0_D19 || <br /> |-<br /> | M6 || SII0_D17 || <br /> |-<br /> | M7 || SII0_D15 || <br /> |-<br /> | M8 || SII0_D13 || <br /> |-<br /> | M9 || SII0_D10 || <br /> |-<br /> | M10 || SII0_D8 || <br /> |-<br /> | M11 || SII0_D6 || <br /> |-<br /> | M12 || SII0_D4 || <br /> |-<br /> |}&lt;/div&gt;&lt;noinclude&gt;[[Category:Templates]]&lt;/noinclude&gt;<br /> <br /> Note: pinconfig undocumented, but is has D0-D35 from RSX. Other notable signals (excluding the HDMI connector): IDCLK, DE, Hsync. Vsync. Reset, SPD, SDout1-3, SD, SCK, MCLK, WS and I2C SCL, SDA</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=4.89_CEX&diff=66648 4.89 CEX 2022-05-11T11:11:43Z <p>Mysis: Created page with &quot;Released: {{date|05-10-2022}} = Changes = This system software update improves system performance. == Changed files compared to 4.88 CEX== === CORE OS === *...&quot;</p> <hr /> <div>Released: {{date|05-10-2022}}<br /> <br /> = Changes =<br /> This system software update improves system performance.<br /> <br /> == Changed files compared to [[4.88_CEX|4.88 CEX]]==<br /> <br /> === CORE OS ===<br /> <br /> * lv0<br /> * lv1.self<br /> * lv2_kernel.self<br /> <br /> === dev_flash ===<br /> <br /> bdplayer\<br /> * AacsModule.spu.isoself<br /> * bdp_BDMV.self<br /> * bdp_BDVD.self<br /> <br /> ps1emu\<br /> * ps1_emu.self<br /> * ps1_netemu.self<br /> * ps1_newemu.self<br /> <br /> ps2emu\<br /> * ps2_emu.self<br /> <br /> pspemu\<br /> * psp_emulator.self<br /> * psp_translator.self<br /> <br /> pspemu\release\<br /> * PEmuCoreLib.sprx<br /> <br /> sys\external\<br /> * libadec.sprx<br /> * libadec2.sprx<br /> * libadec_internal.sprx<br /> * libfiber.sprx<br /> * libhttp.sprx<br /> * liblv2coredump.sprx<br /> * libmedi.sprx<br /> * libsail.sprx<br /> * libsail_rec.sprx<br /> * libspurs_jq.sprx<br /> * libsre.sprx<br /> * libsync2.sprx<br /> * libvdec.sprx<br /> <br /> sys\internal\<br /> * sys_audio.self<br /> * sys_init_osd.self<br /> <br /> vsh\module\<br /> * audioplayer_plugin.sprx<br /> * autodownload_plugin.sprx<br /> * avc2_text_plugin.sprx<br /> * avc_plugin.sprx<br /> * basic_plugins.sprx<br /> * bdp_plugin.sprx<br /> * category_setting_plugin.sprx<br /> * closedcaption_config_plugin.sprx<br /> * download_plugin.sprx<br /> * dtcpip_util.sprx<br /> * edy_plugin.sprx<br /> * eula_cddb_plugin.sprx<br /> * eula_hcopy_plugin.sprx<br /> * eula_net_plugin.sprx<br /> * explore_category_friend.sprx<br /> * explore_category_game.sprx<br /> * explore_category_music.sprx<br /> * explore_category_network.sprx<br /> * explore_category_photo.sprx<br /> * explore_category_psn.sprx<br /> * explore_category_sysconf.sprx<br /> * explore_category_tv.sprx<br /> * explore_category_user.sprx<br /> * explore_category_video.sprx<br /> * explore_plugin.sprx<br /> * explore_plugin_ft.sprx<br /> * explore_plugin_game.sprx<br /> * explore_plugin_np.sprx<br /> * friendim_plugin.sprx<br /> * friendml_plugin.sprx<br /> * friendtrophy_plugin.sprx<br /> * game_ext_plugin.sprx<br /> * gameupdate_plugin.sprx<br /> * hknw_plugin.sprx<br /> * msmw2.sprx<br /> * nas_plugin.sprx<br /> * newstore_plugin.sprx<br /> * np_eula_plugin.sprx<br /> * np_multisignin_plugin.sprx<br /> * np_oauth.sprx<br /> * np_sns_plugin.sprx<br /> * np_trophy_ingame.sprx<br /> * np_trophy_plugin.sprx<br /> * npsignin_plugin.sprx<br /> * osk_plugin.sprx<br /> * oskfullkeypanel_plugin.sprx<br /> * oskpanel_plugin.sprx<br /> * photo_network_sharing_plugin.sprx<br /> * photoupload_plugin.sprx<br /> * playlist_plugin.sprx<br /> * premo_game_plugin.sprx<br /> * premo_plugin.sprx<br /> * profile_plugin.sprx<br /> * ps3_savedata_plugin.sprx<br /> * ps3_savedata_plugin_game.sprx<br /> * ps3_savedata_plugin_psp.sprx<br /> * rec_plugin.sprx<br /> * regcam_plugin.sprx<br /> * sacd_plugin.sprx<br /> * scenefolder_plugin.sprx<br /> * software_update_plugin.sprx<br /> * strviewer_plugin.sprx<br /> * swagner.self<br /> * swreset.self<br /> * sysconf_plugin.sprx<br /> * upload_util.sprx<br /> * videoeditor_plugin.sprx<br /> * videoplayer_plugin.sprx<br /> * videoplayer_util.sprx<br /> * vmc_savedata_plugin.sprx<br /> * vsh.self<br /> * x3_mdimp10.sprx<br /> * x3_mdimp7.sprx<br /> * ycon_manual_plugin.sprx<br /> * x3_mdimp10.sprx<br /> * x3_mdimp7.sprx<br /> <br /> = Download =<br /> *<br /> * {{updates|ps3.update.playstation.net/update/ps3/image/jp/2022_0510_95307e1b51d3bcc33a274db91488d29f}}<br /> <br /> = PUP hashes =<br /> 4.89 RETAIL/CEX | MD5:| SHA1:| CRC32:<br /> <br /> = PUP Information =<br /> <br /> Name: PS3UPDAT.PUP<br /> Size: 206197040 bytes (196 MiB)<br /> <br /> = CoreOS Filehashes =<br /> <br /> {{System Firmware}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=Indi_Info_Manager&diff=63868 Indi Info Manager 2021-12-15T14:57:27Z <p>Mysis: /* 0x17007 - Read System Data From EEPROM */</p> <hr /> <div> note: inside ss_server2.fself<br /> Indi Info Manager (Individual Info Manager) is accessed e.g. in '''syscall 868''' on GameOS<br /> &lt;br&gt;<br /> <br /> Indi Info Manager runs in HV Process 5. (from [[User Token Manager]])<br /> <br /> == 0x17000 - Indi Info Manager ==<br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Packet ID <br /> ! Description<br /> ! Lv1 Parameter Usage<br /> ! Lv2Syscall Parameter<br /> ! notes<br /> |-<br /> | 0x17001 <br /> | get_individual_info_size (Read EID Data Size By Index/Read metldr Size)<br /> |<br /> |<br /> |<br /> |-<br /> | 0x17002 <br /> | read_individual_info (Read EID Data By Index/Read metldr)<br /> |<br /> |<br /> |<br /> |-<br /> | 0x17003 <br /> | get_system_data_size (Read ID Data)<br /> |<br /> |<br /> |<br /> |-<br /> | 0x17004 <br /> | Read System Data<br /> |<br /> |<br /> |<br /> |-<br /> | 0x17005 <br /> | Write System Data<br /> |<br /> |<br /> |<br /> |-<br /> | 0x17006 <br /> | Get EEPROM System Data Size<br /> |<br /> |<br /> |<br /> |-<br /> | 0x17007 <br /> | Read System Data From EEPROM<br /> |<br /> |<br /> |<br /> |-<br /> | 0x17008 <br /> | not implemented<br /> |<br /> |<br /> |<br /> |-<br /> | 0x17009 <br /> | Read EID<br /> |<br /> |<br /> |<br /> |-<br /> | 0x1700A <br /> | not implemented<br /> |<br /> |<br /> |<br /> |-<br /> | 0x1700B <br /> | not implemented<br /> |<br /> |<br /> |<br /> |-<br /> | 0x1700C <br /> | not implemented<br /> |<br /> |<br /> |<br /> |-<br /> | 0x1700D <br /> | not implemented<br /> |<br /> |<br /> |<br /> |-<br /> | 0x1700E <br /> | not implemented<br /> |<br /> |<br /> |<br /> |-<br /> | 0x1700F <br /> | not implemented<br /> |<br /> |<br /> |<br /> |-<br /> | 0x17010 <br /> | Write EID<br /> |<br /> |<br /> |<br /> |-<br /> | 0x17011 <br /> | Read Backup Region<br /> |<br /> |<br /> |<br /> |-<br /> | 0x17012 <br /> | Write Backup Region<br /> |<br /> |<br /> |<br /> |-<br /> | 0x17013 <br /> | Read eEID Size<br /> |<br /> |<br /> |<br /> |-<br /> | 0x17014 <br /> | Write Individual Info(Write eEID/Write metldr)<br /> |<br /> |<br /> |<br /> |-<br /> | 0x17015 <br /> | Read cISD Size<br /> |<br /> |<br /> |<br /> |-<br /> | 0x17016 <br /> | Read cISD<br /> |<br /> |<br /> |<br /> |-<br /> | 0x17017 <br /> | Write cISD<br /> |<br /> |<br /> |<br /> |}<br /> <br /> <br /> === 0x17001 - Read EID Data Size By Index ===<br /> <br /> *I have got access to this service through DM and tested it <br /> *This service is used e.g. by Update Manager, User Token Manager or Storage Manager <br /> *The service expects 2 additional parameters, each parameter is 8 bytes <br /> *I tested it with values: 0x0, 0x4 and 0x1000 for the 1st parameter. I extracted this values from HV Processes which use this service <br /> *The 2nd parameter is not used in a request but in a response. It contains EID size.<br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Index <br /> ! Size Of Data <br /> ! Description<br /> |-<br /> | 0 <br /> | 0x860<br /> | [[Flash:Encrypted_Individual_Data_-_eEID#EID0|EID0]]<br /> |-<br /> | 1 <br /> | 0x2A0 <br /> | [[Flash:Encrypted_Individual_Data_-_eEID#EID1|EID1]]<br /> |-<br /> | 2 <br /> | 0x730 <br /> | [[Flash:Encrypted_Individual_Data_-_eEID#EID2|EID2]]<br /> |-<br /> | 3 <br /> | 0x100 <br /> | [[Flash:Encrypted_Individual_Data_-_eEID#EID3|EID3]]<br /> |-<br /> | 4 <br /> | 0x030 <br /> | [[Flash:Encrypted_Individual_Data_-_eEID#EID4|EID4]]<br /> |-<br /> | 5 <br /> | 0xA00 <br /> | [[Flash:Encrypted_Individual_Data_-_eEID#EID5|EID5]]<br /> |-<br /> | 6 <br /> | 0x020 <br /> | cISD0<br /> |-<br /> | 7 <br /> | 0x200 <br /> | cISD1<br /> |-<br /> | 8 <br /> | 0x010 <br /> | cISD2<br /> |-<br /> | 9 <br /> | 0x030 <br /> | cCSD0<br /> |-<br /> | 0x1000 <br /> | 0xe960<br /> | metldr - size is version dependand<br /> |}<br /> <br /> === 0x17002 - Read EID Data By Index ===<br /> <br /> *I have got access to this service through DM and tested it <br /> *This service is used e.g. by Update Manager, User Token Manager or Storage Manager <br /> *The service expects 2 additional parameters, each parameter is 8 bytes <br /> *The 1st parameter is same as the 1st parameter of service '''Read EID Data Size By Index''' <br /> *The 2nd parameter is '''EID Data Size''' that is returned by the service '''Read EID Data Size By Index''' <br /> *The returned data is some binary data. <br /> *The data returned by the service with 1st parameter set to 0x0 or 0x4 is from file '''eEID''' stored on FLASH storage device region 0. <br /> *The data returned by the service with 1st parameter set to 0x1000 contains string '''metldr'''. <br /> *E.g. EID0 data is passed by Update Manager to SPU module '''spu_token_processor.self''' when Update Manager loads and executes it with syscall '''0x10043'''. <br /> *E.g. EID4 data is passed by Storage Manager to SPU module '''sb_iso_spu_module.self'''.<br /> <br /> === 0x17004 - Read System Data ===<br /> <br /> *Reads data from '''cISD''' or '''cCSD''' files stored on '''/dev/rflash1'''. <br /> *E.g. Gelic MAC address is stored in file '''cISD'''.<br /> <br /> === 0x17007 - Read System Data From EEPROM ===<br /> <br /> *Reads data from SC EEPROM <br /> *An index is passed to the service. The index is mapped to a specific SC EEPROM offset.<br /> <br /> Here is the list of possible EEPROM offsets from HV 3.15: <br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Index <br /> ! SC EEPROM Offset <br /> ! Size Of Data<br /> ! Notes<br /> |-<br /> | 0 <br /> | 0x48D20 <br /> | 6<br /> | spider.gbe0.macaddr.0<br /> |-<br /> | 1 <br /> | 0x48D28 <br /> | 6<br /> | spider.gbe0.macaddr.1<br /> |-<br /> | 2 <br /> | 0x48D30 <br /> | 6<br /> | spider.gbe0.macaddr.2<br /> |-<br /> | 3 <br /> | 0x48D38 <br /> | 6<br /> | spider.gbe0.macaddr.3<br /> |-<br /> | 4 <br /> | 0x48D00 <br /> | 4<br /> | ip_addr<br /> |-<br /> | 5 <br /> | 0x48D04 <br /> | 4<br /> | ip_netmask<br /> |-<br /> | 6 <br /> | 0x48D08 <br /> | 4<br /> | ip_gateway<br /> |-<br /> | 7<br /> | <br /> | <br /> | idlog<br /> |-<br /> | 8<br /> | <br /> | <br /> | wlan<br /> |}<br /> <br /> === 0x17014 - Write eEID/Write metldr ===<br /> <br /> *'''Holy crap, it writes passed data to the region of FLASH memory where eEID or metldr data is stored&amp;nbsp;!!!''' <br /> *'''And GameOS is allowed to use this service&amp;nbsp;!!!''' <br /> *'''Do not experiment with this service if you don't know what it does or else your PS3 will not work anymore&amp;nbsp;!!!'''<br /> <br /> === 0x17015 - Read cISD Size ===<br /> <br /> *Returns size of data '''cISD''' that is stored on '''FLASH storage device region 0'''<br /> <br /> === 0x17016 - Read cISD ===<br /> <br /> *Returns data '''cISD''' that is stored on '''FLASH storage device region 0'''<br /> <br /> === 0x17017 - Write cISD ===<br /> <br /> *'''Writes passed data to the region of FLASH memory where cISD data is stored&amp;nbsp;!!!'''<br /> <br /> <br /> {{Reverse engineering}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=QA_Flagging&diff=63867 QA Flagging 2021-12-15T13:02:53Z <p>Mysis: /* Token Flags */</p> <hr /> <div>{{Wikify}}<br /> = QA Flag =<br /> A QA flag is a value set in [[SC EEPROM]] at address 0x48C0A. When this flag is set, the token is read from SYSCON and decrypted, this gets passed to various modules to unlock certain functionality.<br /> <br /> = QA Token =<br /> A QA token is an 80 byte value that determines amount of functionality on your console.<br /> It is signed with a 20 byte SHA1 key then encrypted using AES256CBC. Please see the [[keys]] page.<br /> <br /> == Unencrypted Token Structure ==<br /> <br /> &lt;pre&gt;<br /> Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F<br /> <br /> 00000000 00 00 00 01 00 11 22 33 44 55 66 77 88 99 AA BB<br /> 00000010 CC DD EE FF 00 00 00 00 00 00 00 00 00 00 00 00<br /> 00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00<br /> 00000030 00 00 00 00 00 00 00 00 00 00 00 00 19 4A 4B BA<br /> 00000040 15 97 AE 71 36 CC B6 65 7F C3 B5 3F 49 22 2F B1<br /> &lt;/pre&gt;<br /> <br /> {|class=&quot;wikitable&quot;<br /> |-<br /> ! Address !! Length !! Value !! Description<br /> |-<br /> | 0x00 || 0x4 || 0x01 || QA-Flag Version<br /> |-<br /> | 0x04 || 0x10 || 0x00112233445566778899AABBCCDDEEFF || [[IDPS]]<br /> |-<br /> | 0x14 || 0x20 || 0x00 || [[#Token Flags|Token Flags]]<br /> |-<br /> | 0x34 || 0x8 || 0x00 || padding<br /> |-<br /> | 0x3C || 0x14 || 0x194A4BBA1597Ae7136CCB6657FC33F49222FB1 || digest<br /> |}<br /> <br /> == Encrypted Token ==<br /> The entire token is then encrypted with AES256CBC. You will find the keys on the [[keys]] page.<br /> This is then stored on [[SC EEPROM]] at 0x48D3E<br /> <br /> == Token Flags ==<br /> The flags are a 32 (0x20) bytes value containing a set of flags that enable specific features on the PS3 console. These flags are largely unknown.<br /> <br /> {|class=&quot;wikitable&quot;<br /> |-<br /> ! Location !! Value (Binary OR assigned) !! Description<br /> |-<br /> | 0x14 byte(21) || 2 bytes || BDP CONTROL - Checked by appldr, isoldr. <br /> 0x1 DEH_DEBUG_DISABLE&lt;br&gt;<br /> 0x2 DEX_DEBUG_DISABLE&lt;br&gt;<br /> 0x8 DEH_BOOT_ENABLE&lt;br&gt;<br /> 0x10 DEX_BOOT_ENABLE&lt;br&gt;<br /> 0x20 CEX_BOOT_ENABLE&lt;br&gt;<br /> 0x40 ARCADE_BOOT_ENABLE<br /> |-<br /> | 0x16 byte(23) || 2 bytes || CONNECT_CONTROL - Checked by appldr, isoldr.<br /> 0x1 DEH_DEBUG_DISABLE&lt;br&gt;<br /> 0x2 DEX_DEBUG_DISABLE &lt;br&gt;<br /> 0x4 ALL_DEBUG_DISABLE&lt;br&gt;<br /> 0x8 DEH_BOOT_ENABLE &lt;br&gt;<br /> 0x10 DEX_BOOT_ENABLE &lt;br&gt;<br /> 0x20 CEX_BOOT_ENABLE &lt;br&gt;<br /> 0x40 ARCADE_BOOT_ENABLE&lt;br&gt;<br /> |-<br /> | 0x24 byte(36) || 0x1 / 0x2 / 0x4 / 0x8 || QA_FLAG_RESERVED_FOR_VSH<br /> |-<br /> | 0x24 byte(36) || 0x1 || QA_FLAG_RESERVED_FOR_VSH0<br /> |-<br /> | 0x24 byte(36) || 0x2 || QA_FLAG_RESERVED_FOR_VSH1<br /> |-<br /> | 0x24 byte(36) || 0x4 || QA_FLAG_RESERVED_FOR_VSH2<br /> |-<br /> | 0x24 byte(36) || 0x8 || QA_FLAG_RESERVED_FOR_VSH3<br /> |-<br /> | 0x27 byte(39) || 0x1 || QA_FLAG_EXAM_API_ENABLE<br /> |-<br /> | 0x27 byte(39) || 0x2 || QA_FLAG_QA_MODE_ENABLE<br /> |-<br /> | 0x2B byte(43) || 0x1 || System Debug (lv1ldr decrypts token and send it to lv0, lv0 sets sys.ac.sd repo node)<br /> |-<br /> | 0x2B byte(43) || 0x2 || LV2 System App Debug<br /> |-<br /> | 0x2C byte(44) || 0x9 || Advanced Token Flag!!<br /> |-<br /> | 0x2F byte(47) || 0x1 / 0x2 / 0x3 / 0x4 || QA-Token-Flag: (0x01 : Minimum) (0x02 : Advanced) (0x03 : undocumented) <br /> |-<br /> | 0x2F byte(47) || 0x1 || QA_FLAG_SPECIAL_I<br /> it allows isoldr(and may be other loaders) to use second key_table<br /> |-<br /> | 0x2F byte(47) || 0x2 || QA_FLAG_ALLOW_TEST_APP<br /> |-<br /> | 0x2F byte(47) || 0x4 || QA_FLAG_ALLOW_REMOTE_SPAWN<br /> internal mode(QA flag minimum or advanced): Allows lv2_kernel.self to run sys_init_osd.self, liblv2.sprx and sys_init_osd.self to run vsh.self and sys_audio.self from /app_home/<br /> |-<br /> | 0x33 byte(51) || 0x1 || QA_FLAG_ALLOW_NON_QA <br /> special execution mode: Allows sys_init_osd.self to run either 2nd_image_writer.self or cellftp.self (copy_script.txt), setmonitor.self (monitor.conf) and lv2diag2.self to run from /dev_usb000/<br /> &lt;!-- there's also a 2nd way to launch lv2diag2.self and a way to launch /app_home/uinit_app.elf instead of sys_agent.self ???--&gt;<br /> |-<br /> | 0x33 byte(51) || 0x2 || QA_FLAG_FORCE_UPDATE<br /> |}<br /> <br /> = Setting QA Flag &amp; Token with Linux =<br /> <br /> == Prerequisites ==<br /> *First you need to have linux installed on your PS3, you can have grafs kernel or glevands rework<br /> <br /> If you are using glevand´s kernel you will have to first enable the require module <br /> <br /> modprobe ps3dmproxy<br /> <br /> *Then you will have to have the latest ps3dm-utils you can get from [http://git.gitbrew.org/ps3/ gitbrew] or here you have a precompiled [http://www.multiupload.com/CVN3Y9QBQX ps3dm_um] [http://www.multiupload.com/FQNWIBBIOB ps3dm_aim]<br /> <br /> and you will need Slynk tools<br /> <br /> Here's my app. I'd have a full tutorial but I'm having to deal with some bullshit right now. Sorry guys.<br /> I'll make a better tutorial later but basically. Flag yourself. Dump your idps (that's the first 16 bytes of your eid0).<br /> Type it into my app in the format I provided, click the button, and run that command. Should work. <br /> [http://www.multiupload.com/N3365C67ZT Tokenator.7z (26.42 KB)]<br /> [https://mega.co.nz/#!ogMSUADB!WF274UWZDKIszA-5hwkTPgfVL5FOq8KuZ_k52o82564 Tokenator mirror(with src included)]<br /> [http://psx-scene.com/forums/f149/qa-flags-discussion-86504/index92.html#post842118 Slynk]<br /> <br /> == Procedure ==<br /> <br /> === Getting the info ===<br /> First you need your IDPS. Obtain this using ps3dm_aim.<br /> <br /> &lt;pre&gt;<br /> # ./ps3dm_aim /dev/ps3dmproxy get_dev_id<br /> &lt;/pre&gt;<br /> <br /> Write it down and load it using Slynk's Tokenator app.<br /> <br /> It will give you the command you should use in linux + your encrypted token. The tool should output something like this:<br /> &lt;pre&gt;<br /> ./ps3dm_um /dev/ps3dmproxy set_token 0x7E 0xDA 0xE2 0x68...<br /> &lt;/pre&gt;<br /> <br /> === Setting the flag ===<br /> <br /> &lt;pre&gt;<br /> ./ps3dm_um /dev/ps3dmproxy write_eprom 0x48C0A 0x00<br /> &lt;/pre&gt;<br /> (you may skip this step, because UM set_token takes care of it)<br /> <br /> === Setting the token ===<br /> Just copy paste the command you got from tokenator<br /> &lt;pre&gt;<br /> ./ps3dm_um /dev/ps3dmproxy set_token 0x7E 0xDA 0xE2 0x68...<br /> &lt;/pre&gt;<br /> '''Congrats now you ps3 is QA flagged'''<br /> '''Reboot'''<br /> <br /> === Getting the QA flag menu ===<br /> Set your cursor '''on''' (not ''in'') Network Settings and press the key combo (all at the same time): {{dpadd}} + {{padl1}} + {{padl2}} + {{padr1}} + {{padr2}} + {{padl3}}<br /> <br /> You should see Edy Viewer, Debug Settings, and Install Package Files if done correctly.<br /> <br /> = Setting QA Flag &amp; Token with Grafs Payload =<br /> <br /> You can follow this tutorial to set the flag and token and then get the menu with the combo needed <br /> [http://www.ps3devwiki.com/index.php?title=Graf%27s_PSGroove_Payload#Setting_QA_Mode GrafPayload]<br /> <br /> = GameOS app to QA flag =<br /> <br /> == Glevand's QA flagging tools ==<br /> <br /> [http://wiki.gitbrew.org/index.php/QA_Flagging_Tools QA_Flagging_Tools]:<br /> *Source : git://git.gitbrew.org/ps3/otheros-utils/qa_flag.git<br /> <br /> *Prebuild packages :<br /> http://store.brewology.com/ahomebrew.php?brewid=214<br /> <br /> **[http://gitbrew.org/~glevand/ps3/pkgs/qa_flag.pkg qa_flag.pkg] // (mirror:[http://www.multiupload.com/P5Q2R5R1YG qa_flag.pkg (69.92 KB)]) (to enable QA)<br /> **[http://gitbrew.org/~glevand/ps3/pkgs/qa_flag_extra.pkg qa_flag_extra.pkg] // (mirror:[http://psx-scene.com/forums/attachments/f177/37188d1345489767-help-finding-qa-flag-extra-qa_flag_extra.pkg qa_flag_extra.pkg (69.98 KB)]) (to enable QA with downgrade)<br /> **[http://gitbrew.org/~glevand/ps3/pkgs/reset_qa_flag.pkg reset_qa_flag.pkg] // (mirrors: [http://www.multiupload.com/VEUMEDINGU] [http://www.multiupload.nl/QGB1Z6W5U9]) (to reset the QA flags back to default - virtually ''never'' needed, there is '''''no benefit removing it''''')<br /> **[http://gitbrew.org/~glevand/ps3/pkgs/get_token_seed.pkg get_token_seed.pkg] // (mirror:[http://www.multiupload.com/G8GBEIABKT get_token_seed.pkg (59.73 KB)])<br /> **[http://gitbrew.org/~glevand/ps3/pkgs/get_applicable_version.pkg get_applicable_version.pkg] // (mirror:[http://www.multiupload.com/GXERV38F5A get_applicable_version.pkg (69.3 KB)]) (to get the low/high version lock via Debug UDP)<br /> <br /> == Alternative ==<br /> <br /> This is a work in progress, it should already work, but feel free to review the code and improve it<br /> <br /> [http://pastie.org/2105541 source]<br /> [http://pastie.org/2105567 Makefile]<br /> <br /> based on [http://git.gitbrew.org/ps3/?p=otheros-utils/product_mode_toggle.git;a=tree;hb=312c21d8ee297e0225ca2495aeefef5cd07d034b Product Mode Toogle]<br /> <br /> == Toggle QA - rebug.me ==<br /> qa-toggle.pkg<br /> CRC-16: 032F<br /> CRC-32 (Ethernet and PKZIP): D0DC4C0F<br /> SHA-1: 9B5C215E50B4DEC02E6171B0252A977DD599E3BA<br /> SHA-256: 845BCE0134A6DF6CF1966F2D4D4F8380DEF121ACA7AB1FA022B73A8F5E9FEEA3<br /> SHA-384: A791A022F879C972CDBD85A26AF32FDAEF25D32FA28CA47F55AFFAA471EACD1EC6D2761CD4E0E92D93F11A7002AAC281<br /> SHA-512: D3CA8DC93019181B0FD30B9618264F5C5CB8559F7AF1A4C2353AB5DBFD8B2FD4AD0EA63E2140E73F63D57E2252FB7DEAC53FA2B36919B703A477540D08C13EF9<br /> MD-2: 5262E62B55CE972F5E58A13657B4143E<br /> MD-4: D6C9A681F0605C6AACBC61EDB7D43DD5<br /> MD-5: FB11BEC5A0DDE6600BAEE0CC36742D54<br /> <br /> Needs mmap114 lv1 patch + lv2 peek&amp;poke MFW 3.41 or 3.55 (all other patches are done on the fly, when needed) - 3.15 will NOT work (blackscreen lock)<br /> <br /> This is compatible with Kmeaw CFW and {{RogeroFirmware}}.<br /> <br /> http://rebug.me/?p=1358 / backup/mirror : [http://www.mediafire.com/download/jjb74lyoe4irzn8/toggle_qa.pkg toggle_qa.pkg (94.22 KB)]<br /> <br /> other mirrors: <br /> * {{google|FB11BEC5A0DDE6600BAEE0CC36742D54}}<br /> <br /> =QA Flags Features=<br /> {{QA Flag Features}}<br /> <br /> ===Debug Menu settings not in Retail/CEX QA===<br /> {{Debug Menu settings not in Retail/CEX QA}}<br /> <br /> ==Install Package Files==<br /> Will install all package files found on the root of the USB stick sequentially in alphabetical order until an installation of a package is aborted or fails for any reason. It will work only with properly signed packages. Unlike the Install Package File function in the Game menu the .pkg extension name is not case sensitive.<br /> <br /> Option present in FW 1.02 and above.<br /> <br /> As on DEX/DECH Stations is already a &quot;Install Package Files&quot; function, no new icon is added, but the ability to install retail packages via the &quot;game column&quot; &quot;Install Package Files&quot;.<br /> <br /> =On 3.6x Firmwares=<br /> As we know Sony has &lt;strike&gt;taken QA Flag away&lt;/strike&gt; changed the Auth for QA-flag on 3.6x Firmwares. Until someone changes it to work with the new method (which doesnt work on the old), your QA Flag will not work on 3.6x.<br /> <br /> From 3.60 Sony added a new step in the authentication process in the [[Iso module]] &quot;spu_token_processor.self&quot;.<br /> This new step is a digital signature verification using ECDSA (&quot;Elliptic Curve Digital Signature Algorithm&quot;).<br /> The old token, the IDPS taked from the machine, the version of the Token (1), the array of flags, and the HMAC hash of the previous parts, remains valid as such.<br /> No key (AES, HMAC) were changed in the new module.<br /> However, after the decryption of the token, [[IDPS]] and verification of the machine with which it has the token performs a digital signature verification of all encrypted token (0x50 bytes).<br /> This performs a SHA-1 hash of the entire token (like Sony performed at the time of the digital signature) and passes to check the signature, if it validates the token is considered authentic and returned both encrypted as decrypted (this with the hash hmac set to 0), as happened in 3.56 and lower.<br /> In the event that the digital signature fails, consider that the token is not valid, as would happen if the token decryption fails, or any of your previous checks (HMAC computed with token bearing the token, the [[IDPS]] , ...).<br /> In this case it will return an empty buffer (instead of the decrypted token) and one with a token prepared but without any active flag, or indeed with any digital signature, as happened in 3.56 and lower.<br /> In short it is not possible to put a machine QA in firmware 3.60 and higher unless you are patching the module (thus only work in that customized firmware), or getting a whole token and a valid digital signature for.<br /> Given that the token varies by the [[IDPS]] to prevent universal token exists, only the IDPS should know that token, and change the [[IDPS]] of section one of [[Flash#EID0_-_Section_0|EID0]] (which is what the [[Iso module]] checks), but this could have unintended consequences in some cases.<br /> <br /> = QA Downgrading =<br /> Crossreference: [http://portal.gitbrew.org/wikibrew/PS3:Downgrade gitbrew.org PS3:Downgrade] &lt;br /&gt;<br /> <br /> == Notes ==<br /> These tools COULD format your ps3. (which means Any and ALL psn / downloaded data could be erased)<br /> <br /> note: several people noted that they did not suffer from dataloss even after several downgrades, but its good measure to backup before downgrading (esp. ACT.DAT which DO get erased)<br /> <br /> == Tools Needed ==<br /> *[http://git.gitbrew.org/~glevand/public/CFW355-OTHEROS++-SPECIAL.PUP CFW355-OTHEROS++-SPECIAL.PUP] // (mirror:[http://www.multiupload.com/UITB9EY84F CFW355-OTHEROS++-SPECIAL.PUP (170.64 MB)] / http://www.mirrorcreator.com/files/TTL1FPNF/CFW355-OTHEROS__-SPECIAL.PUP_links) - QA Flag CFW with SS patches, Can be used to downgrade your ps3 from 3.55 to lower firmwares.<br /> **[http://gitbrew.org/~glevand/ps3/pkgs/qa_flag_extra.pkg qa_flag_extra.pkg] // (mirror:[http://www.multiupload.com/KAGDSQ9QG9 qa_flag_extra.pkg (69.98 KB)]) (to enable QA with downgrade)<br /> <br /> *Firmware you want to downgrade to. (3.41, 3.15)<br /> <br /> == Installation Process ==<br /> 1. Install CFW355-OTHEROS++-SPECIAL.pup (Doesn't matter what version you are. 3.55 and lower ONLY.)<br /> 2. Install qa_flag_extra.pkg <br /> 3. Run qa_flag (It will show up as this, that is fine)<br /> 4. If you hear the beeps, continue. If you do not hear beeping, come to irc.<br /> 5. Reboot<br /> 6. Go into recovery menu and Update your ps3 with the firmware that you want (3.15, 3.41 etc)<br /> 7. have it install<br /> And now you're done. You just successfully downgraded your ps3.<br /> <br /> ==User Submitted Videos==<br /> http://www.youtube.com/watch?v=ZLk3dq944-s - QA Downgrade<br /> <br /> == Known Issues with QA flag / QA downgrades ==<br /> <br /> === act.dat (PSN activation) gets deleted ===<br /> Make sure you backup the file before enabling QA-extra flag and downgrade. There have been reports of ACT.DAT (&quot;home/000000XX/exdata/act.dat&quot;) get's deleted. So make sure to backup that entire folder before flagging/downgrading.<br /> <br /> * http://rebug.me/xreg-plus-v1-0/<br /> * http://www.maxconsole.com/maxcon_forums/threads/270400-Restore-act-dat-Homebrew-to-help-with-copying-your-PSN-activation-files!<br /> <br /> = Useful links =<br /> <br /> * https://rmscrypt.wordpress.com/<br /> <br /> <br /> {{Reverse engineering}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=Certified_File&diff=63866 Certified File 2021-12-15T12:41:25Z <p>Mysis: /* Struct */</p> <hr /> <div>Certified Files are the most common encrypted files on PS3 and PSVita.<br /> <br /> = Introduction =<br /> <br /> Not only ELF/PRX files can be signed with this format, other known Certified Files are:<br /> * revoke list<br /> * PS3 security policy profile<br /> * system software package (e.g. .pkg, .spkg_hdr.X)<br /> * PSVita diff file (never met such a file yet)<br /> * PSVita game cartridge param.sfo (gro0:gc/param.sfo)<br /> <br /> = Structure =<br /> <br /> It is important to notice that PS3 uses big-endian whilst PSVita uses little-endian.<br /> <br /> == Header ==<br /> <br /> &lt;source lang=&quot;C&quot;&gt;<br /> typedef struct { // Size is 0x20 for v2, 0x30 for v3<br /> uint32_t magic;<br /> uint32_t version;<br /> uint16_t attribute;<br /> uint16_t category;<br /> uint32_t ext_header_size;<br /> uint64_t file_offset;<br /> uint64_t file_size;<br /> union {<br /> struct {<br /> uint64_t cf_file_size;<br /> uint64_t padding;<br /> };<br /> };<br /> } __attribute__((packed)) cf_header;<br /> &lt;/source&gt;<br /> <br /> {| class=&quot;wikitable&quot;<br /> ! field !! offset !! type !! notes<br /> |-<br /> | Magic || 0x0 || u32 || Must be &quot;SCE\0&quot;.<br /> |-<br /> | Version || 0x4 || u32 || 2 for PS3, 3 for PSVita.<br /> |-<br /> | Attribute || 0x8 || u16|| Corresponds to the revision of the enc/dec key. See [https://www.psdevwiki.com/ps3/Revision_versus_Version Attribute].<br /> |-<br /> | Category || 0xA || u16 || See [[Certified_File#Category|Category]].<br /> |-<br /> | Extended Header size || 0xC || u32 || For SELF category only, set to 0 for other categories. See Extended Header.<br /> |-<br /> | File offset || 0x10 || u64 || Offset to encapsulated data.<br /> |-<br /> | File size || 0x18 || u64 || Size of the encapsulated data.<br /> |-<br /> | CF file size || 0x20 || u64 || Size of the CF file. Present on version 3 only.<br /> |-<br /> | Padding || 0x28 || u64 || Padding. Set to 0. Present on version 3 only.<br /> |}<br /> <br /> === Category ===<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> ! Value !! Type !! Name !! Remark<br /> |-<br /> | 1 || SELF - SPRX || signed-elf - signed-prx || Used for storing ELF and PRX. Both PS3 and PSVita.<br /> |-<br /> | 2 || SRVK || signed-revoke-list || Used for [[Revokation]]. Both PS3 and PSVita.<br /> |-<br /> | 3 || SPKG || signed-package || Used for [[PKG_files#Firmware_Packages|System Software Packages]]. Both PS3 and PSVita.<br /> |-<br /> | 4 || SSPP || signed-security-policy-profile || The only file of this category is [[Default.spp]]. PS3 only.<br /> |-<br /> | 5 || SDIFF || signed-diff || Used in Prototype PSVita Applier module. PSVita only. Never met such a file yet.<br /> |-<br /> | 6 || SPSFO || signed-param-sfo || Spsfo (signed param.sfo) file is located in game cartridge at path gro0:gc/param.sfo. PSVita only.<br /> |}<br /> <br /> == Encryption Root Header ==<br /> <br /> Temp name was Metadata Information. Official name is encryption_root_header.<br /> <br /> This is not present in fCF (fSELF, fSPP, etc...).<br /> <br /> The key and iv fields are encrypted using AES256CBC.<br /> <br /> === Struct ===<br /> <br /> &lt;source lang=&quot;C&quot;&gt;<br /> typedef struct {<br /> uint8_t key[16];<br /> uint8_t key_pad[16];<br /> uint8_t iv[16];<br /> uint8_t iv_pad[16];<br /> } __attribute__((packed)) encryption_root_header;<br /> &lt;/source&gt;<br /> <br /> === Comments ===<br /> <br /> == Certification Header ==<br /> <br /> Temp name was Metadata Header. Official name is certification_header.<br /> <br /> It is only present if the Encryption Root Header is present.<br /> <br /> It is decrypted using AES128 with the key and iv entries from the Encryption Root Header.<br /> <br /> It is located after the Encryption Root Header in the SELF file.<br /> <br /> === Struct ===<br /> <br /> &lt;source lang=&quot;C&quot;&gt;<br /> typedef struct {<br /> uint64_t sign_offset; <br /> uint32_t sign_algorithm; // 1 = ECDSA160, 2 = HMACSHA1, 3 = SHA1, 5 = RSA2048<br /> uint32_t cert_entry_number;<br /> uint32_t attr_entry_num; <br /> uint32_t optional_header_size;<br /> uint64_t pad;<br /> } __attribute__((packed)) certification_header;<br /> &lt;/source&gt;<br /> <br /> === Comments ===<br /> <br /> == Certification Body ==<br /> <br /> *It is decrypted with the key and iv entries from the Encryption Root Header.<br /> <br /> === Segment Certification Header ===<br /> <br /> Temp name was Metadata Section Header. Official name is segment_certification_header.<br /> <br /> It is only present if the Certification Header is present.<br /> <br /> The number of sections is indicated by the segment_count entry in the Certification Header.<br /> <br /> The Segment Certification Header is located after the Certification Header in the SELF file.<br /> <br /> ==== Struct ====<br /> <br /> &lt;source lang=&quot;C&quot;&gt;<br /> typedef struct {<br /> uint64_t segment_offset;<br /> uint64_t segment_size;<br /> uint32_t segment_type; // 1 = shdr, 2 = phdr, 3 = sceversion<br /> uint32_t segment_id; // 0,1,2,3,etc for phdr, always 3 for shdrs, sceversion shdr number for sceversion<br /> uint32_t sign_algorithm; // ?1 = none?, 2 = sha1_hmac, 3 = sha1, 6 = sha256_hmac<br /> uint32_t sign_idx;<br /> uint32_t decrypt_algorithm; // 1 = none, 2 = aes128cbccfb, 3 = aes128ctr<br /> uint32_t decrypt_idx; // -1 when decrypt_algorithm = none<br /> uint32_t iv_idx; // -1 when decrypt_algorithm = none<br /> uint32_t comp_algorithm; // 1 = plain, 2 = zlib<br /> } __attribute__((packed)) segment_certification_header;<br /> &lt;/source&gt;<br /> <br /> ==== Comments ====<br /> <br /> Notes:<br /> *Segment data is decrypted using decrypt_algorithm with the key and iv from the Segment Certification specified by key_idx and iv_idx.<br /> *The segment_offset of the Segment Certification Header matches in general the offset from the Segment Extended Header.<br /> <br /> === Segment Certification ===<br /> <br /> Temp name was Metadata Keys, Section Hash. Official name is attribute(s), found sub get_attribute(unsigned char *, unsigned int) on spp_verifier which returns pointer to signature/key/iv by it's id.<br /> <br /> The number of Segment Certifications is indicated by the segment_count entry in the Certification Header.<br /> <br /> The Segment Certifications are located after the Segment Certification Headers in the SELF file.<br /> <br /> ==== Struct ====<br /> <br /> &lt;source lang=&quot;C&quot;&gt;<br /> typedef struct {<br /> union { // size is 0x60 bytes<br /> uint8_t signature[0x20]; // hmac_sha1<br /> uint8_t sign_key[0x40]; // certainly hmac_key<br /> } signature_type2;<br /> union { // size is 0x20 bytes<br /> uint8_t signature[0x20]; // sha1_hash<br /> } signature_type3;<br /> union { // size is 0x40 bytes<br /> uint8_t signature[0x20]; // hmac_sha256<br /> uint8_t hmac_key[0x20];<br /> } signature_type6;<br /> union { // size is 0x20 bytes<br /> uint8_t key[0x10];<br /> uint8_t iv[0x10];<br /> } encryption_params; // present for type 2 and 3<br /> } __attribute__((packed)) segment_certification;<br /> &lt;/source&gt;<br /> <br /> ==== Comments ====<br /> <br /> Notes:<br /> *The HMAC-SHA1 is calculated on the decrypted data and before the decompression.<br /> <br /> === Optional Header Table ===<br /> <br /> Temp name was Signature Info, Capabilities Info. Official name is optional_header_table.<br /> <br /> The Optional Header Table is located after the Section Hash in the SELF file. <br /> <br /> It is only present if optional_header_size in the Certification Header is not zero.<br /> <br /> ==== Struct ====<br /> <br /> &lt;source lang=&quot;C&quot;&gt;<br /> typedef struct {<br /> uint32_t type; // 1=capability_header, 2=individual_seed_header, 3=attribute_header<br /> uint32_t size;<br /> uint64_t next; // 1 if another optional_header structure follows else 0<br /> union {<br /> // type 1<br /> struct { // 0x20 bytes of data<br /> uint8_t capability[0x20];<br /> } capability_header;<br /> // type 2<br /> struct { // 0x100 bytes of data<br /> uint8_t individual_seed[0x100];<br /> } individual_seed_header;<br /> // type 3<br /> struct { // 0x20 bytes of data<br /> uint8_t attribute[0x20];<br /> } attribute_header;<br /> };<br /> } __attribute__((packed)) optional_header;<br /> &lt;/source&gt;<br /> <br /> === Comments ===<br /> <br /> * Type 1 contains encrypted_capability. See [[Capability Flags]].<br /> <br /> == Certification Footer ==<br /> <br /> Temp name was Signature.<br /> <br /> It is located at the Certification Header footer_offset in the SELF file.<br /> <br /> It is decrypted with the key and iv entries from the Encryption Root Header.<br /> <br /> It can be ECDSA160 or RSA2048, according to the Certification Header.<br /> <br /> === Struct ===<br /> <br /> &lt;source lang=&quot;C&quot;&gt;<br /> typedef struct {<br /> union {<br /> uint8_t r[21];<br /> uint8_t s[21];<br /> uint8_t padding[6];<br /> } ECDSA160;<br /> union {<br /> uint8_t rsa[0x100];<br /> } RSA2048;<br /> } __attribute__((packed)) certification_footer;<br /> &lt;/source&gt;<br /> <br /> === Comments ===<br /> <br /> * footer_offset is the number of bytes which are used to generate the SHA-1 which is used to generate the ECDSA signature. The length should be eveything from the beginning until the signature itself. The decrypted version of the input data is used for signature.<br /> <br /> = Decryption =<br /> <br /> Certified Files are all encrypted using the exact same algorithm (except for Fake Certified Files). They can be encrypted, hashed and signed. This section only focuses on the encryption layer.<br /> <br /> * Step 0: Get Encryption Root Header Master Keys<br /> <br /> On PS3, TO DOCUMENT.<br /> <br /> On PSVita, static key and IV are contained within the relevant Secure Module. For example, SPKG keys are located in update_service_sm.self, KPRX keys are located in kprx_auth_sm.self, Secure Modules (SM) as well as kernel_boot_loader.self keys are located in secure_kernel.<br /> <br /> * Step 1: Get Encryption Root key and IV<br /> <br /> Decrypt the Certification Header using AES256CBC on PSVita (to document for PS3).<br /> <br /> This results into the key and IV used in step 2.<br /> <br /> * Step 2: Get plain Certification<br /> <br /> Use the key and IV decrypted from the Encryption Root Header to decrypt the Certification using AES128CBC on PSVita (what on PS3 ?).<br /> <br /> * Step 3: Parse Certification<br /> <br /> The SELF Certification is typically stored in the following format (below is a CF metadata example of a 4 sections PSVita SELF).<br /> <br /> The SPKG Certification follows the same principles but is slightly different (different Magic/Header).<br /> <br /> &lt;source lang = &quot;C&quot;&gt;<br /> Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F<br /> <br /> 00000000 F0 07 00 00 00 00 00 00 05 00 00 00 04 00 00 00 ð............... &lt;&lt;&lt; Certification Header<br /> 00000010 18 00 00 00 70 01 00 00 00 00 00 00 00 00 00 00 ....p........... &lt;&lt;&lt; Certification Header<br /> 00000020 00 0A 00 00 00 00 00 00 C0 00 00 00 00 00 00 00 ........À....... &lt;&lt;&lt; First section address<br /> 00000030 02 00 00 00 01 00 00 00 06 00 00 00 00 00 00 00 ................<br /> 00000040 03 00 00 00 04 00 00 00 05 00 00 00 01 00 00 00 ................<br /> 00000050 00 0B 00 00 00 00 00 00 FC B4 07 00 00 00 00 00 ........ü´...... &lt;&lt;&lt; Second section address<br /> 00000060 02 00 00 00 02 00 00 00 06 00 00 00 06 00 00 00 ................<br /> 00000070 03 00 00 00 0A 00 00 00 0B 00 00 00 01 00 00 00 ................<br /> 00000080 00 C0 07 00 00 00 00 00 98 1E 00 00 00 00 00 00 .À......˜....... &lt;&lt;&lt; Third section address<br /> 00000090 02 00 00 00 03 00 00 00 06 00 00 00 0C 00 00 00 ................<br /> 000000A0 03 00 00 00 10 00 00 00 11 00 00 00 01 00 00 00 ................<br /> 000000B0 00 DF 07 00 00 00 00 00 9D BA 02 00 00 00 00 00 .ß.......º...... &lt;&lt;&lt; Fourth section address<br /> 000000C0 02 00 00 00 04 00 00 00 06 00 00 00 12 00 00 00 ................<br /> 000000D0 03 00 00 00 16 00 00 00 17 00 00 00 01 00 00 00 ................<br /> 000000E0 AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ªªªªªªªªªªªªªªªª &lt;&lt;&lt; First Section Hash<br /> 000000F0 AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ªªªªªªªªªªªªªªªª &lt;&lt;&lt; First Section Hash<br /> 00000100 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ<br /> 00000110 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ<br /> 00000120 EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE îîîîîîîîîîîîîîîî &lt;&lt;&lt; First Section random key<br /> 00000130 EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE îîîîîîîîîîîîîîîî &lt;&lt;&lt; First Section random IV<br /> 00000140 BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB »»»»»»»»»»»»»»»» &lt;&lt;&lt; Second Section Hash<br /> 00000150 BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB »»»»»»»»»»»»»»»» &lt;&lt;&lt; Second Section Hash<br /> 00000160 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ &lt;&lt;&lt; HMAC key<br /> 00000170 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ &lt;&lt;&lt; HMAC key<br /> 00000180 EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE îîîîîîîîîîîîîîîî &lt;&lt;&lt; Second Section random key<br /> 00000190 EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE îîîîîîîîîîîîîîîî &lt;&lt;&lt; Second Section random IV<br /> 000001A0 CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌ &lt;&lt;&lt; Third Section Hash<br /> 000001B0 CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌ &lt;&lt;&lt; Third Section Hash<br /> 000001C0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ &lt;&lt;&lt; HMAC key<br /> 000001D0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ &lt;&lt;&lt; HMAC key<br /> 000001E0 EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE îîîîîîîîîîîîîîîî &lt;&lt;&lt; Third Section random key<br /> 000001F0 EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE îîîîîîîîîîîîîîîî &lt;&lt;&lt; Third Section random IV<br /> 00000200 DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝ &lt;&lt;&lt; Fourth Section Hash<br /> 00000210 DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD ÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝ &lt;&lt;&lt; Fourth Section Hash<br /> 00000220 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ &lt;&lt;&lt; HMAC key<br /> 00000230 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ &lt;&lt;&lt; HMAC key<br /> 00000240 EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE îîîîîîîîîîîîîîîî &lt;&lt;&lt; Fourth Section random key<br /> 00000250 EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE îîîîîîîîîîîîîîîî &lt;&lt;&lt; Fourth Section random IV<br /> 00000260 01 00 00 00 30 00 00 00 01 00 00 00 00 00 00 00 ....0........... &lt;&lt;&lt; type (u32), section size (u32), isMoreSections (u32)<br /> 00000270 80 00 00 00 C0 00 F0 00 00 00 00 00 FF FF FF FF €...À.ð.....ÿÿÿÿ <br /> 00000270 80 00 00 00 C0 00 F0 00 00 00 00 00 FF FF FF FF €...À.ð.....ÿÿÿÿ<br /> 00000280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00000290 02 00 00 00 10 01 00 00 01 00 00 00 00 00 00 00 ................ &lt;&lt;&lt; type (u32), section size (u32), isMoreSections (u32)<br /> 000002A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000002B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000002C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000002D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000002E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000002F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00000300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00000310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00000320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00000330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00000340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00000350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00000360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00000370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00000380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00000390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000003A0 03 00 00 00 30 00 00 00 00 00 00 00 00 00 00 00 ....0........... &lt;&lt;&lt; type (u32), section size (u32), isMoreSections (u32)<br /> 000003B0 80 09 80 03 00 00 C3 00 00 00 80 09 80 00 00 00 €.€...Ã...€.€...<br /> 000003C0 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF ............ÿÿÿÿ<br /> 000003D0 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 ................ &lt;&lt;&lt; RSA SIG<br /> 000003E0 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 ................ &lt;&lt;&lt; RSA SIG<br /> 000003F0 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 ................ &lt;&lt;&lt; RSA SIG<br /> 00000400 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 ................ &lt;&lt;&lt; RSA SIG<br /> 00000410 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 ................ &lt;&lt;&lt; RSA SIG<br /> 00000420 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 ................ &lt;&lt;&lt; RSA SIG<br /> 00000430 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 ................ &lt;&lt;&lt; RSA SIG<br /> 00000440 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 ................ &lt;&lt;&lt; RSA SIG<br /> 00000450 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 ................ &lt;&lt;&lt; RSA SIG<br /> 00000460 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 ................ &lt;&lt;&lt; RSA SIG<br /> 00000470 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 ................ &lt;&lt;&lt; RSA SIG<br /> 00000480 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 ................ &lt;&lt;&lt; RSA SIG<br /> 00000490 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 ................ &lt;&lt;&lt; RSA SIG<br /> 000004A0 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 ................ &lt;&lt;&lt; RSA SIG<br /> 000004B0 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 ................ &lt;&lt;&lt; RSA SIG<br /> 000004C0 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 ................ &lt;&lt;&lt; RSA SIG<br /> 000004D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ &lt;&lt;&lt; Certification Body end, padding<br /> &lt;/source&gt;<br /> <br /> Following the same principles, a plain SPKG Certification Body looks like this: <br /> &lt;source lang = &quot;C&quot;&gt;<br /> Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F<br /> <br /> 00000000 00 02 00 00 00 00 00 00 05 00 00 00 03 00 00 00 ................ &lt;&lt;&lt; Certification Header<br /> 00000010 0E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ &lt;&lt;&lt; Certification Header<br /> 00000020 00 03 00 00 00 00 00 00 40 00 00 00 00 00 00 00 ........@.......<br /> 00000030 01 00 00 00 01 00 00 00 06 00 00 00 00 00 00 00 ................<br /> 00000040 01 00 00 00 FF FF FF FF FF FF FF FF 01 00 00 00 ....ÿÿÿÿÿÿÿÿ....<br /> 00000050 40 03 00 00 00 00 00 00 40 00 00 00 00 00 00 00 @.......@.......<br /> 00000060 02 00 00 00 02 00 00 00 06 00 00 00 04 00 00 00 ................<br /> 00000070 01 00 00 00 FF FF FF FF FF FF FF FF 01 00 00 00 ....ÿÿÿÿÿÿÿÿ....<br /> 00000080 80 03 00 00 00 00 00 00 00 00 80 00 00 00 00 00 €.........€.....<br /> 00000090 03 00 00 00 03 00 00 00 06 00 00 00 08 00 00 00 ................<br /> 000000A0 03 00 00 00 0C 00 00 00 0D 00 00 00 01 00 00 00 ................<br /> 000000B0 AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ªªªªªªªªªªªªªªªª &lt;&lt;&lt; Hash<br /> 000000C0 AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA ªªªªªªªªªªªªªªªª &lt;&lt;&lt; Hash<br /> 000000D0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ<br /> 000000E0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ<br /> 000000F0 BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB »»»»»»»»»»»»»»»» &lt;&lt;&lt; Hash<br /> 00000100 BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB »»»»»»»»»»»»»»»» &lt;&lt;&lt; Hash<br /> 00000110 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ<br /> 00000120 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ<br /> 00000130 CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌ &lt;&lt;&lt; Hash<br /> 00000140 CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌ &lt;&lt;&lt; Hash<br /> 00000150 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ &lt;&lt;&lt; Random key<br /> 00000160 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ &lt;&lt;&lt; Random IV<br /> 00000170 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ &lt;&lt;&lt; Random key<br /> 00000180 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ &lt;&lt;&lt; Random IV<br /> 00000190 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 ................ &lt;&lt;&lt; RSA SIG<br /> 000001A0 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 ................ &lt;&lt;&lt; RSA SIG<br /> 000001B0 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 ................ &lt;&lt;&lt; RSA SIG<br /> 000001C0 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 ................ &lt;&lt;&lt; RSA SIG<br /> 000001D0 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 ................ &lt;&lt;&lt; RSA SIG<br /> 000001E0 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 ................ &lt;&lt;&lt; RSA SIG<br /> 000001F0 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 ................ &lt;&lt;&lt; RSA SIG<br /> 00000200 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 ................ &lt;&lt;&lt; RSA SIG<br /> 00000210 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 ................ &lt;&lt;&lt; RSA SIG<br /> 00000220 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 ................ &lt;&lt;&lt; RSA SIG<br /> 00000230 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 ................ &lt;&lt;&lt; RSA SIG<br /> 00000240 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 ................ &lt;&lt;&lt; RSA SIG<br /> 00000250 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 ................ &lt;&lt;&lt; RSA SIG<br /> 00000260 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 ................ &lt;&lt;&lt; RSA SIG<br /> 00000270 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 ................ &lt;&lt;&lt; RSA SIG<br /> &lt;/source&gt;<br /> <br /> * Step 4: Get plain CF sections<br /> <br /> Use the keys and IVs with the specified algorithm from the Segment Certification to decrypt the respective sections.<br /> <br /> * Step 5: Uncompress CF sections if needed<br /> <br /> CF sections can be compressed. This is reported in the Segment Certification Header.<br /> <br /> <br /> {{File Formats}}<br /> &lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=4.88_CEX&diff=59419 4.88 CEX 2021-06-01T07:11:38Z <p>Mysis: Created page with &quot;Released: {{date|01-06-2021}} = Changes = This system software update improves system performance. == Changed files compared to 4.87 CEX== === CORE OS === *...&quot;</p> <hr /> <div>Released: {{date|01-06-2021}}<br /> <br /> = Changes =<br /> This system software update improves system performance.<br /> <br /> == Changed files compared to [[4.87_CEX|4.87 CEX]]==<br /> <br /> === CORE OS ===<br /> <br /> * lv0<br /> * lv1.self<br /> * lv2_kernel.self<br /> <br /> === dev_flash ===<br /> <br /> <br /> bdplayer\<br /> * AacsModule.spu.isoself<br /> * bdp_BDMV.self<br /> * bdp_BDVD.self<br /> <br /> ps1emu\<br /> * ps1_emu.self<br /> * ps1_netemu.self<br /> * ps1_newemu.self<br /> <br /> ps2emu\<br /> * ps2_emu.self<br /> <br /> pspemu\<br /> * psp_emulator.self<br /> * psp_translator.self<br /> <br /> pspemu\release\<br /> * PEmuCoreLib.sprx<br /> <br /> sys\external\<br /> * libadec.sprx<br /> * libadec2.sprx<br /> * libadec_internal.sprx<br /> * libfiber.sprx<br /> * libhttp.sprx<br /> * liblv2coredump.sprx<br /> * libmedi.sprx<br /> * libsail.sprx<br /> * libsail_rec.sprx<br /> * libspurs_jq.sprx<br /> * libsre.sprx<br /> * libsync2.sprx<br /> * libvdec.sprx<br /> <br /> sys\internal\<br /> * sys_audio.self<br /> * sys_init_osd.self<br /> <br /> vsh\module\<br /> * avc2_text_plugin.sprx<br /> * dtcpip_util.sprx<br /> * explore_category_friend.sprx<br /> * explore_plugin.sprx<br /> * explore_plugin_np.sprx<br /> * friendim_plugin.sprx<br /> * friendml_plugin.sprx<br /> * friendtrophy_plugin.sprx<br /> * hknw_plugin.sprx<br /> * msmw2.sprx<br /> * np_oauth.sprx<br /> * profile_plugin.sprx<br /> * rec_plugin.sprx<br /> * swagner.self<br /> * swreset.self<br /> * sysconf_plugin.sprx<br /> * vsh.self<br /> * x3_mdimp10.sprx<br /> * x3_mdimp7.sprx<br /> <br /> <br /> = Download =<br /> *<br /> * {{updates|ps3.update.playstation.net/update/ps3/image/jp/2021_0601_a0b63a3e4ae92ed176d6b9a67ce447f0}}<br /> <br /> = PUP hashes =<br /> 4.88 RETAIL/CEX | MD5: | SHA1: | CRC32:has <br /> <br /> = PUP Information =<br /> <br /> Name: PS3UPDAT.PUP<br /> Size: 206146716 bytes (196 MiB)<br /> <br /> = CoreOS Filehashes =<br /> <br /> {{System Firmware}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=Switch_boards&diff=58024 Switch boards 2021-02-18T12:58:15Z <p>Mysis: Reverted edits by 98.232.153.152 (talk) to last revision by Sandungas</p> <hr /> <div>= Description =<br /> The [[Switch boards|Switch board]] is a daughterboard where are located the input switches, and some leds for outputs and fireworks<br /> <br /> *'''Switch board components'''<br /> **'''Switches''': Power and Eject buttons<br /> **'''Green and Red leds''', all switch board models have them, are needed to show the standby/poweron modes and the infamous YLOD<br /> **'''Eject led''', this is the only led not controlled by syscon, the line goes to the bluray controller, so is the bluray controller who decides when is lighted on<br /> **'''White backlight leds''', this was added for PS3 slim models with the new case design and the new pressure buttons (not touch sensitive)<br /> **'''Unknown subcircuit leds''', this seems some kind of experiment that escaped the prototyping table and entered retail production, for some reason exists in some retail PS3 but seems deactivated and partially unpopulated<br /> **'''IC''', there are a couple of &quot;chips&quot; only in the first model of the switch board, probably related with the touch sensitive feature and maybe others<br /> <br /> <br /> *'''Switch board circuit overview''' (based on how [[HSW-001]] works, this could be different for other switch board models)<br /> **When Power or Eject switches are pressed the correlating syscon pins are pulled down (grounded)<br /> **All LED's have its own resistor with a different value to control the current (thus light intensity) and one or more diodes to protect the circuit<br /> **The LED's on the switch board are turned on either by syscon (all them except one) or by the BD drive controller (only the eject blue led) by using an intermediary transistor<br /> **That transistors connects the LED ground pin to ground when the signal to turn them on is sent by syscon or by the BD drive controller (the other pin of the LED is connected permanently to the 5 volts standby line)<br /> <br /> = Comparison of functionality =<br /> <br /> {| class=&quot;wikitable&quot;<br /> |+PS3 retail switch boards<br /> ! colspan=&quot;2&quot; | PS3 !! colspan=&quot;3&quot; | Switch board !! colspan=&quot;2&quot; | Switches || colspan=&quot;4&quot; | Leds<br /> |-<br /> ! [[SKU_Models|PS3 Model]] !! [[Motherboard_Revisions|Motherboard]] !! Model !! Part number !! Connector !! Power !! Eject !! Standby/PowerOn/&lt;abbr title=&quot;Yellow color is made by lighting red + green leds together&quot;&gt;YLOD&lt;/abbr&gt; !! Eject !! Switches Backlight !! Board Contour Backlight<br /> |- <br /> | colspan=&quot;11&quot; {{cellcolors|lightblue}}<br /> |-<br /> | [[CECHAxx]]&lt;BR/&gt;[[CECHBxx]]<br /> | [[COK-001]]<br /> | rowspan=&quot;2&quot; | [[CSW-001]] || rowspan=&quot;2&quot; | 1-871-871-21 || rowspan=&quot;2&quot; | 10 pins || rowspan=&quot;2&quot; | Touch sensitive || rowspan=&quot;2&quot; | Touch sensitive<br /> | rowspan=&quot;2&quot; | 1x &lt;span style=&quot;color:#ffffff; background:#ff0000;&quot;&gt;red&lt;/span&gt; (2 pins)&lt;BR/&gt;1x &lt;span style=&quot;color:#ffffff; background:#00ff00;&quot;&gt;green&lt;/span&gt; (2 pins) || rowspan=&quot;2&quot; | 1x &lt;span style=&quot;color:#ffffff; background:#0000ff;&quot;&gt;blue&lt;/span&gt; || rowspan=&quot;2&quot; {{no}} || rowspan=&quot;2&quot; {{no}}<br /> |-<br /> | [[CECHCxx]]&lt;BR/&gt;[[CECHExx]]<br /> | [[COK-002]]<br /> |-<br /> | [[CECHGxx]]<br /> | [[SEM-001]]<br /> | colspan=&quot;3&quot; rowspan=&quot;4&quot; {{cellcolors|lightgrey}} Integrated on motherboard || rowspan=&quot;4&quot; | Touch sensitive || rowspan=&quot;4&quot; | Touch sensitive<br /> | rowspan=&quot;4&quot; | 1x &lt;span style=&quot;color:#ffffff; background:#ff0000;&quot;&gt;red&lt;/span&gt; (2 pins) ?&lt;BR/&gt;1x &lt;span style=&quot;color:#ffffff; background:#00ff00;&quot;&gt;green&lt;/span&gt; (2 pins) ? || rowspan=&quot;4&quot; | 1x &lt;span style=&quot;color:#ffffff; background:#0000ff;&quot;&gt;blue&lt;/span&gt; || rowspan=&quot;4&quot; {{no}} || rowspan=&quot;4&quot; {{no}}<br /> |- <br /> | [[CECHHxx]]<br /> | [[DIA-001]]<br /> |- <br /> | [[CECHJxx]]&lt;BR/&gt;[[CECHKxx]]<br /> | [[DIA-002]]<br /> |- <br /> | [[CECHLxx]]&lt;BR/&gt;[[CECHMxx]]&lt;BR/&gt;[[CECHPxx]]&lt;BR/&gt;[[CECHQxx]]<br /> | [[VER-001]]<br /> |- <br /> | colspan=&quot;11&quot; {{cellcolors|lightblue}}<br /> |-<br /> | [[CECH-20xx]]<br /> | [[DYN-001]]<br /> | [[DSW-001]] || 1-880-056-11 || 10 pins || Pressure || Pressure<br /> | 1x &lt;span style=&quot;color:#ffffff; background:#ff0000;&quot;&gt;red&lt;/span&gt;/&lt;span style=&quot;color:#ffffff; background:#00ff00;&quot;&gt;green&lt;/span&gt; (dual, 4 pins) || 1x &lt;span style=&quot;color:#ffffff; background:#0000ff;&quot;&gt;blue&lt;/span&gt; || 2x &lt;span style=&quot;color:#000000; background:#cccccc;&quot;&gt;white&lt;/span&gt; (power)&lt;BR/&gt;2x &lt;span style=&quot;color:#000000; background:#cccccc;&quot;&gt;white&lt;/span&gt; (eject) || {{cellcolors|grey|lightgrey}} 1x &lt;span style=&quot;color:#ffffff; background:#ff0000;&quot;&gt;red&lt;/span&gt; (left-top). 1x &lt;span style=&quot;color:#ffffff; background:#0000ff;&quot;&gt;blue&lt;/span&gt; (right-top)&lt;BR/&gt;1x &lt;span style=&quot;color:#ffffff; background:#0000ff;&quot;&gt;blue&lt;/span&gt; (left-bottom). 1x unpopulated (right-bottom)<br /> |-<br /> | [[CECH-21xx]]<br /> | [[SUR-001]]<br /> | rowspan=&quot;2&quot; | [[HSW-001]] || rowspan=&quot;2&quot; | 1-881-946-11&lt;BR/&gt;1-881-946-21 || rowspan=&quot;2&quot; | 10 pins || rowspan=&quot;2&quot; | Pressure || rowspan=&quot;2&quot; | Pressure<br /> | rowspan=&quot;2&quot; | 1x &lt;span style=&quot;color:#ffffff; background:#ff0000;&quot;&gt;red&lt;/span&gt;/&lt;span style=&quot;color:#ffffff; background:#00ff00;&quot;&gt;green&lt;/span&gt; (dual, 4 pins) || rowspan=&quot;2&quot; | 1x &lt;span style=&quot;color:#ffffff; background:#0000ff;&quot;&gt;blue&lt;/span&gt; || rowspan=&quot;2&quot; | 2x &lt;span style=&quot;color:#000000; background:#cccccc;&quot;&gt;white&lt;/span&gt; (power)&lt;BR/&gt;2x &lt;span style=&quot;color:#000000; background:#cccccc;&quot;&gt;white&lt;/span&gt; (eject) || rowspan=&quot;2&quot; {{cellcolors|grey|lightgrey}} 1x &lt;span style=&quot;color:#ffffff; background:#ff0000;&quot;&gt;red&lt;/span&gt; (left-top). 1x unpopulated (right-top)&lt;BR/&gt;1x &lt;span style=&quot;color:#ffffff; background:#0000ff;&quot;&gt;blue&lt;/span&gt; (left-bottom). 1x unpopulated (right-bottom)<br /> |-<br /> | [[CECH-25xx]]<br /> | [[JTP-001]]&lt;BR/&gt;[[JSD-001]]<br /> |-<br /> | [[CECH-30xx]]<br /> | [[KTE-001]]<br /> | [[KSW-001]] || 1-884-751-31 || 6 pins || Pressure || Pressure<br /> | 1x &lt;span style=&quot;color:#ffffff; background:#ff0000;&quot;&gt;red&lt;/span&gt;/&lt;span style=&quot;color:#ffffff; background:#00ff00;&quot;&gt;green&lt;/span&gt; (dual, 4 pins) || {{no}} || {{no}} || {{no}}<br /> |- <br /> | colspan=&quot;11&quot; {{cellcolors|lightblue}}<br /> |-<br /> | rowspan=&quot;1&quot; | SuperSlim<br /> | [[MSX-001]]&lt;BR/&gt;[[MPX-001]]&lt;BR/&gt;[[NPX-001]] ?&lt;BR/&gt;[[PPX-001]] ?&lt;BR/&gt;[[PQX-001]] ?&lt;BR/&gt;[[RTX-001]] ?<br /> | [[MSW-001]]&lt;BR/&gt;[[PSW-001]]&lt;BR/&gt;[[RSW-001]] || 1-886-929-11/21/31&lt;BR/&gt;1-888-628-21&lt;BR/&gt;1-893-506-11/31 || 6 pins || Pressure || {{no}}<br /> | 1x &lt;span style=&quot;color:#ffffff; background:#ff0000;&quot;&gt;red&lt;/span&gt;/&lt;span style=&quot;color:#ffffff; background:#00ff00;&quot;&gt;green&lt;/span&gt; (dual, 4 pins) || {{no}} || {{no}} || {{no}}<br /> |-<br /> |}<br /> <br /> *Notes<br /> **Switch board model naming seems to follow the first letter of the first motherboard that used that switch board + the letters '''SW''' (acronym of '''sw'''itch)<br /> **C'''SW'''=COK, D'''SW'''=DYN, K'''SW'''=KTE, M'''SW'''=MSX, P'''SW'''=PPX, R'''SW'''=RTX<br /> **The only exception is HSW-001 (because doesnt exists a retail motherboard model starting with H... this opens speculations because maybe there is a non-retail prototype unknown motherboard in between DYN-001 and SUR-001 with a name starting with H)<br /> <br /> = Flex Ribbon cables =<br /> <br /> &lt;gallery&gt;<br /> File:Power Eject Flex Ribbon Cable (PS3 1000 series, top view).jpg|Switch board Flex Ribbon Cable (PS3 1000 series, top view)<br /> File:Power Eject Flex Ribbon Cable (PS3 1000 series, bottom view).jpg|Switch board Flex Ribbon Cable (PS3 1000 series, bottom view)<br /> File:Power Eject Flex Ribbon Cable (PS3 2000 series, top view).jpg|Switch board Flex Ribbon Cable (PS3 2000 series, top view)<br /> File:Power Eject Flex Ribbon Cable (PS3 3000 series, top view).jpg|Switch board Flex Ribbon Cable (PS3 3000 series, top view)<br /> File:Power Eject Flex Ribbon Cable (PS3 3000 series, bottom view).jpg|Switch board Flex Ribbon Cable (PS3 3000 series, bottom view)<br /> &lt;/gallery&gt;<br /> <br /> = Switch boards Pinout comparison =<br /> == CSW-001 ==<br /> &lt;div style=&quot;float:right&quot;&gt;[[File:Power Eject board CSW-001 (PCB top view).jpg|500px|thumb|left|Switch board CSW-001 (PCB top view)]]&lt;/div&gt;<br /> *[[CSW-001]] is a [[Switch boards|switch board]] compatible with PS3 models:<br /> **[[CECHAxx]], [[CECHBxx]] with motherboard [[COK-001]]<br /> **[[CECHCxx]], [[CECHExx]] with motherboard [[COK-002]]<br /> {{CSW-001 pinout}}<br /> == DSW-001 ==<br /> &lt;div style=&quot;float:right&quot;&gt;[[File:Power Eject board DSW-001 (PCB top view).jpg|500px|thumb|left|Switch board DSW-001 (PCB top view)]]&lt;/div&gt;<br /> *[[DSW-001]] is a [[Switch boards|switch board]] compatible with PS3 models:<br /> **[[CECH-20xx]] with [[DYN-001]] motherboard<br /> {{DSW-001 pinout}}<br /> == HSW-001 ==<br /> &lt;div style=&quot;float:right&quot;&gt;[[File:Power Eject board HSW-001 (PCB top view).jpg|500px|thumb|left|Switch board HSW-001 (PCB top view)]]&lt;/div&gt;<br /> *[[HSW-001]] is a [[Switch boards|switch board]] compatible with PS3 models:<br /> **[[CECH-21xx]] with [[SUR-001]] motherboard<br /> **[[CECH-25xx]] with [[JTP-001]] or [[JSD-001]] motherboards<br /> {{HSW-001 pinout}}<br /> == KSW-001 ==<br /> &lt;div style=&quot;float:right&quot;&gt;[[File:Power Eject board KSW-001 (PCB top view).jpg|700px|thumb|left|Switch board KSW-001 (PCB top view)]]&lt;/div&gt;<br /> *[[KSW-001]] is a [[Switch boards|switch board]] compatible with PS3 models:<br /> **[[CECH-30xx]] with [[KTE-001]] motherboard<br /> {{KSW-001 pinout}}<br /> == MSW-001 ==<br /> &lt;div style=&quot;float:right&quot;&gt;[[File:Power Eject board MSW-001 (PCB top view).jpg|700px|thumb|left|Switch board MSW-001 (PCB top view)]]&lt;/div&gt;<br /> *[[MSW-001]] is a [[Switch boards|switch board]] compatible with PS3 models:<br /> ** ?<br /> {{MSW-001 pinout}}<br /> == PSW-001 ==<br /> *[[PSW-001]] is a [[Switch boards|switch board]] compatible with PS3 models:<br /> ** ?<br /> PSW-001 pinout... is the same than MSW-001 ?<br /> == RSW-001 ==<br /> *[[RSW-001]] is a [[Switch boards|switch board]] compatible with PS3 models:<br /> ** ?<br /> RSW-001 pinout... is the same than MSW-001 ?<br /> <br /> = Modding =<br /> <br /> == Contour backlight in PS3 2000 Series boards ==<br /> &lt;div style=&quot;float:right&quot;&gt;[[File:Power Eject board PS3 2000 series (light rays schematic in contour leds).jpg|500px|thumb|left|Switch board PS3 2000 series&lt;BR /&gt;Light rays schematic in contour leds]]&lt;/div&gt;<br /> PS3 2000 series [[CECH-20xx]] (with Switch board [[DSW-001]]), [[CECH-21xx]] and [[CECH-25xx]] (with Switch board [[HSW-001]]) has been designed to have a lighted line all around the top edge of the Switch board<br /> <br /> The plastic plate uses a &quot;light reactive&quot; material along the edge and in a squared hole in the corner allows the light to &quot;transpass&quot; it<br /> <br /> The ligth rays &quot;bounces&quot; inside this material, and the first bouncing surface over the squared hole is a plane at 45 degrees angle. This first bounce aligns the light rays in paralell to the board, the next bounces happens all along the curved surface in horizontal<br /> <br /> The reflection of this surfaces can be increased a bit with chrome stickers (or alluminium tape). The case has a plane border of 3,5mm x 17,7cm perfect to stick in it, this way the glue layer of the sticker is at the other side, but the case doesnt have the 45 degrees surface (it has a weird hole instead), you can use other colors for the sticker/s because the color is partially visible from outside (preferably lighter colors or one that matches your led/s color to enhance it)<br /> <br /> For more detailed info about this boards see: [[DSW-001]] and [[HSW-001]] pages<br /> <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> | {{#ev:youtube|leapBkrm5tk}} || {{#ev:youtube|FUk1q4af7TE}}<br /> |-<br /> | PS3 [[CECH-20xx]] Switch board [[DSW-001]]. Tests || PS3 [[CECH-25xx]] Switch board [[HSW-001]]. Enabled subcircuit with 2 leds (blue + red)<br /> |}<br /> <br /> {{Components}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=4.87_CEX&diff=57615 4.87 CEX 2020-12-03T11:51:19Z <p>Mysis: /* PUP hashes */</p> <hr /> <div>Released: {{date|03-12-2020}}<br /> <br /> = Changes =<br /> This system software update improves system performance.<br /> <br /> == Changed files compared to [[4.86_CEX|4.86 CEX]]==<br /> <br /> === CORE OS ===<br /> <br /> * lv0<br /> * lv1.self<br /> * lv2_kernel.self<br /> <br /> <br /> === dev_flash ===<br /> <br /> bdplayer\<br /> * AacsModule.spu.isoself<br /> * bdp_BDMV.self<br /> * bdp_BDVD.self<br /> <br /> ps1emu\<br /> * ps1_emu.self<br /> * ps1_netemu.self<br /> * ps1_newemu.self<br /> <br /> ps2emu\<br /> * ps2_emu.self<br /> <br /> pspemu\<br /> * psp_emulator.self<br /> * psp_translator.self<br /> <br /> pspemu\release\<br /> * PEmuCoreLib.sprx<br /> <br /> sys\external\<br /> * libadec.sprx<br /> * libadec2.sprx<br /> * libadec_internal.sprx<br /> * libfiber.sprx<br /> * libhttp.sprx<br /> * liblv2coredump.sprx<br /> * libmedi.sprx<br /> * libsail.sprx<br /> * libsail_rec.sprx<br /> * libspurs_jq.sprx<br /> * libsre.sprx<br /> * libsync2.sprx<br /> * libvdec.sprx<br /> <br /> sys\internal\<br /> * sys_audio.self<br /> * sys_init_osd.self<br /> <br /> vsh\module\<br /> * avc2_text_plugin.sprx<br /> * explore_category_friend.sprx<br /> * explore_plugin.sprx<br /> * explore_plugin_np.sprx<br /> * friendim_plugin.sprx<br /> * friendml_plugin.sprx<br /> * friendtrophy_plugin.sprx<br /> * hknw_plugin.sprx<br /> * msmw2.sprx<br /> * np_oauth.sprx<br /> * profile_plugin.sprx<br /> * rec_plugin.sprx<br /> * vsh.self<br /> * x3_mdimp10.sprx<br /> * x3_mdimp7.sprx<br /> <br /> <br /> = Download =<br /> *<br /> * {{updates|ps3.update.playstation.net/update/ps3/image/jp/2020_1203_03373a581934f0d2b796156d2fb28b39/PS3UPDAT.PUP}}<br /> <br /> = PUP hashes =<br /> 4.87 RETAIL/CEX | MD5: | SHA1: | CRC32:has<br /> <br /> = PUP Information =<br /> <br /> Name: PS3UPDAT.PUP<br /> Size: 206126236 bytes (196 MiB)<br /> <br /> = CoreOS Filehashes =<br /> <br /> {{System Firmware}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=4.87_CEX&diff=57614 4.87 CEX 2020-12-03T11:51:05Z <p>Mysis: Created page with &quot;Released: {{date|03-12-2020}} = Changes = This system software update improves system performance. == Changed files compared to 4.86 CEX== === CORE OS === *...&quot;</p> <hr /> <div>Released: {{date|03-12-2020}}<br /> <br /> = Changes =<br /> This system software update improves system performance.<br /> <br /> == Changed files compared to [[4.86_CEX|4.86 CEX]]==<br /> <br /> === CORE OS ===<br /> <br /> * lv0<br /> * lv1.self<br /> * lv2_kernel.self<br /> <br /> <br /> === dev_flash ===<br /> <br /> bdplayer\<br /> * AacsModule.spu.isoself<br /> * bdp_BDMV.self<br /> * bdp_BDVD.self<br /> <br /> ps1emu\<br /> * ps1_emu.self<br /> * ps1_netemu.self<br /> * ps1_newemu.self<br /> <br /> ps2emu\<br /> * ps2_emu.self<br /> <br /> pspemu\<br /> * psp_emulator.self<br /> * psp_translator.self<br /> <br /> pspemu\release\<br /> * PEmuCoreLib.sprx<br /> <br /> sys\external\<br /> * libadec.sprx<br /> * libadec2.sprx<br /> * libadec_internal.sprx<br /> * libfiber.sprx<br /> * libhttp.sprx<br /> * liblv2coredump.sprx<br /> * libmedi.sprx<br /> * libsail.sprx<br /> * libsail_rec.sprx<br /> * libspurs_jq.sprx<br /> * libsre.sprx<br /> * libsync2.sprx<br /> * libvdec.sprx<br /> <br /> sys\internal\<br /> * sys_audio.self<br /> * sys_init_osd.self<br /> <br /> vsh\module\<br /> * avc2_text_plugin.sprx<br /> * explore_category_friend.sprx<br /> * explore_plugin.sprx<br /> * explore_plugin_np.sprx<br /> * friendim_plugin.sprx<br /> * friendml_plugin.sprx<br /> * friendtrophy_plugin.sprx<br /> * hknw_plugin.sprx<br /> * msmw2.sprx<br /> * np_oauth.sprx<br /> * profile_plugin.sprx<br /> * rec_plugin.sprx<br /> * vsh.self<br /> * x3_mdimp10.sprx<br /> * x3_mdimp7.sprx<br /> <br /> <br /> = Download =<br /> *<br /> * {{updates|ps3.update.playstation.net/update/ps3/image/jp/2020_1203_03373a581934f0d2b796156d2fb28b39/PS3UPDAT.PUP}}<br /> <br /> = PUP hashes =<br /> 4.86 RETAIL/CEX | MD5: | SHA1: | CRC32:has <br /> <br /> = PUP Information =<br /> <br /> Name: PS3UPDAT.PUP<br /> Size: 206126236 bytes (196 MiB)<br /> <br /> = CoreOS Filehashes =<br /> <br /> {{System Firmware}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=Bugs_%26_Vulnerabilities&diff=56439 Bugs & Vulnerabilities 2020-06-16T15:28:52Z <p>Mysis: /* Lv2 578 Syscall stack overflow */</p> <hr /> <div>== Unknown / unpatched ==<br /> <br /> === Webkit buffer overflow ===<br /> <br /> * [http://playstationhax.xyz/forums/topic/2807-release-full-rsx-vramio-access-exploit/?do=findComment&amp;comment=28458]<br /> <br /> Not Patched<br /> <br /> === RSX VRAM Access ===<br /> <br /> * [http://playstationhax.xyz/forums/topic/2807-release-full-rsx-vramio-access-exploit/?do=findComment&amp;comment=28421]<br /> <br /> Not Patched<br /> <br /> === Memory corruption and NULL pointer in Unreal Tournament III 1.2 ===<br /> <br /> * [http://cxsecurity.com/issue/WLB-2008070060]<br /> <br /> unsure if it applies to PS3<br /> <br /> === MacOS X 10.5/10.6 libc/strtod(3) buffer overflow ===<br /> <br /> * [http://cxsecurity.com/issue/WLB-2010010162]<br /> <br /> unsure if it applies to PS3<br /> <br /> === OpenPrinter() stack-based buffer overflow ===<br /> <br /> * [http://seclists.org/fulldisclosure/2007/Jan/474]<br /> <br /> Patched: ?<br /> <br /> === DOM flaw ===<br /> <br /> http://seclists.org/fulldisclosure/2009/Jul/299<br /> <br /> Patched: ?<br /> <br /> === PS3xploit Kernel Exploit ===<br /> <br /> Unpatched: To be disclosed.<br /> <br /> === Leakage of PTCH body plaintext over SPI on all BGA SYSCONs ===<br /> <br /> When reading the body via the EEPROM read command, in all cases, the MISO of the SPI will leak the plaintext of the PTCH body to someone who might be interacting with the EEPROM interface. Note that this ONLY happens when SC interacts with patch body and some specific areas.<br /> <br /> ==== Examples ====<br /> <br /> ===== MISO =====<br /> <br /> &lt;pre&gt;<br /> 04 C8 34 30 BD E4 9F 27 16 DE 5C C1 E7 A3 DA 9C <br /> 7F 5B 29 9A 5A 48 5C 14 ED B2 DE 28 84 43 68 82 <br /> 98 87 4E D4 62 51 01 A9 24 34 02 B3 FF 26 63 17 <br /> 77 8E 95 56 B1 5F 9F 22 93 46 DE 4E 3A 5E 8A D3<br /> &lt;/pre&gt;<br /> <br /> ===== MOSI =====<br /> <br /> &lt;pre&gt;<br /> 3C 3A 04 3F 25 A6 68 09 02 00 04 00 00 00 00 00 (0x26B0)<br /> 3C 3A 04 3F 71 AD 00 00 09 00 00 00 00 00 00 00 (0x26C0)<br /> 3C 3A 04 3F 8E D5 75 0D 00 00 00 00 00 00 00 00 (0x26D0)<br /> 3C 3A 04 3F 80 86 48 0B 0B 00 03 00 00 00 00 00 (0x26E0)<br /> &lt;/pre&gt;<br /> <br /> == Patched ==<br /> <br /> === Lv2 sys_fs_mount stack overflow ===<br /> <br /> Stack buffer overflow with required privileges when passing a length greater than 10. It now checks for length less than or equal to 10. If larger than 10, the length gets set to 10.&lt;br&gt;<br /> * [https://nwert.wordpress.com/2012/09/19/exploiting-lv2/ writeup]<br /> * [https://web.archive.org/web/20141201184718/http://pastie.org/4755699 code]<br /> <br /> Patched: sometime before [[4.40_CEX|4.40]] (only fw I checked)<br /> <br /> === RSX Syscall bug ===<br /> <br /> In most syscalls sony reduces a pointer to 32 bits and would use a special function to write to that pointer.&lt;br&gt; however, in certain rsx syscalls, sony forgot about it, allowing the attacker to write to any part of lv2 memory.<br /> <br /> Patched: [[4.40_CEX|4.40]]<br /> <br /> === Lv2 sys_prx_register_module stack overflow ===<br /> <br /> Stack buffer overflow which is fixed around 4.3x or 4.4x. Does not require any privileges.<br /> <br /> === Lv2 578 Syscall stack overflow ===<br /> <br /> Stack buffer overflow which is fixed around 4.3x or 4.4x. Requires root privileges. Syscall is compiled with stack cookies.<br /> <br /> Patched: [[4.4x_CEX|4.4x]]<br /> <br /> === AES CTR vulnerability on SELFs (and ebootroms maybe?) ===<br /> <br /> Sometimes SCE reused the same AES CTR keys and IVs in different [[Certified Files]].<br /> <br /> See also [http://crypto.stackexchange.com/questions/14628/why-do-we-use-xts-over-ctr-for-disk-encryption].<br /> <br /> Patched: since PSVita prototype FWs as their [[Certified Files]] don't use AES CTR but instead AES CBC.<br /> <br /> Maybe not patched on ebootroms.<br /> <br /> === PARAM.SFO stack-based buffer overflow ===<br /> <br /> * [http://seclists.org/fulldisclosure/2013/May/113]<br /> <br /> Patched: since 2012-05-01 ([[4.40_CEX|4.40]] and later)<br /> <br /> ==== Proof of Concept ====<br /> <br /> Unsigned code can be added to the [[PARAM.SFO]] because the console does not recognize special characters.<br /> <br /> * [http://www.exploit-db.com/exploits/25718/]<br /> <br /> Working on [[4.31_CEX|4.31]]. Patched: since 2012-05-01 ([[4.40_CEX|4.40]] and later).<br /> <br /> PoC: PARAM.SFO<br /> &lt;pre&gt;<br /> PSF�� Ä @� � � � � � ��� � � � ��� � � � ��h � � % � � � �� , � � � �� 4<br /> ��� �<br /> $� C ��� @ (� V ��� � h� j ��<br /> &amp;#8364; p� t ��� &amp;#8364; &amp;#240;�<br /> ACCOUNT_ID ATTRIBUTE CATEGORY DETAIL PARAMS PARAMS2 PARENTAL_LEVEL SAVEDATA_DIRECTORY SAVEDATA_LIST_PARAM SUB_TITLE<br /> TITLE<br /> 40ac78551a88fdc<br /> SD<br /> PSHACK: Benjamin Ninja H%20'&gt;&quot;&lt;[PERSISTENT INJECTED SYSTEM COMMAND OR CODE!]<br /> <br /> Hackizeit: 1:33:07<br /> <br /> ExpSkills: VL-LAB-TRAINING<br /> <br /> Operation: 1%<br /> Trojaners: 0%<br /> ... &amp;#213;&amp;#245;~\&amp;#732;&amp;#242;íA×éú�;óç� 40ac78551a88fdc<br /> ...<br /> BLES00371-NARUTO_STORM-0<br /> HACKINGBKM 1<br /> PSHACK: Benjamin Ninja H%20'&gt;&quot;&lt;[PERSISTENT INJECTED SYSTEM COMMAND OR CODE!];<br /> &lt;/pre&gt;<br /> <br /> === AVP patch bypass exploit ===<br /> <br /> Patched: since [[3.70_CEX|3.70]] and later.<br /> <br /> === PSN security intrusion ===<br /> <br /> Patched: since [[3.61_CEX|3.61]] enforced password change<br /> <br /> === Sony PSN Account Service - Password Reset Vulnerability ===<br /> <br /> * [http://www.vulnerability-lab.com/get_content.php?id=740]<br /> <br /> Patched: since 2012-05-01<br /> <br /> === ECDSA private key non-random fail ===<br /> <br /> See fail0verfl0w talk.<br /> <br /> Patched: since [[3.56-1 CEX|3.56]]<br /> <br /> === JIG downgrade ===<br /> <br /> Patched: since [[3.56-1 CEX|3.56]]<br /> <br /> === USB config heap-based buffer overflow (PSjailbreak/PSGroove) ===<br /> <br /> Patched: since [[3.42_CEX|3.42]] and later<br /> <br /> === Leap year bug ===<br /> <br /> Patched: since [[3.40_CEX|3.40]] and later<br /> <br /> === MP4 vulnerability ===<br /> <br /> Patched: since [[3.21_CEX|3.21]] and later<br /> <br /> === Playback of Cinavia DRM protected titles ===<br /> <br /> Patched: since [[3.10_CEX|3.10]] and later<br /> <br /> === Open Remote Play ===<br /> <br /> Patched: since [[2.80_CEX|2.80]] and later<br /> <br /> === BD-J homebrew ===<br /> <br /> Patched: since [[2.50_CEX|2.50]] and later<br /> <br /> === System Software Downgrade with hardware flasher ===<br /> <br /> See also: [[Downgrading with Hardware flasher]].<br /> <br /> Patched: since [[2.20_CEX|2.20]] and later (by adding [[CoreOS]] hashing in [[Syscon Hardware|Syscon]] to be checked by [[Hypervisor Reverse Engineering|hypervisor]]; worked around by patching hypervisor on [[3.56-1 CEX|3.56]] and lower capable consoles).<br /> <br /> === Full RSX access in OtherOS ===<br /> <br /> Patched: since [[2.10_CEX|2.10]] and later<br /> <br /> === Web browser DoS via a large integer value for the length property of a Select object ===<br /> <br /> * [http://www.cvedetails.com/cve/CVE-2009-2541/]<br /> <br /> Patched: since 4 sept 2009<br /> <br /> === Remote Play UDP packets DoS ===<br /> <br /> * [http://www.cvedetails.com/cve/CVE-2007-1728/ / http://cxsecurity.com/issue/WLB-2007030183]<br /> <br /> Affected: [[1.60_CEX|2.10]] and PSP 3.10 OE-A<br /> <br /> Patched: since 13 nov 2008<br /> <br /> === Resistance: Fall of Man network update exploit ===<br /> <br /> Patched<br /> <br /> === Warhawk network update exploit ===<br /> <br /> Patched<br /> <br /> === Game Bugs patched via Firmware ===<br /> <br /> ==== Afro Samurai Black Screen ====<br /> <br /> Black screen as a failed attempt to call:<br /> cellAudioOutConfigure<br /> cellSysutilAvconfExt_FA611DF4<br /> <br /> Occours in [[3.01_CEX|Firmware 3.01]] <br /> BLUS30264<br /> NPUB90215<br /> BLES00516<br /> <br /> In order to correct this problem start up your Playstation 3 system and while on the XMB (Cross Media Bar/System Menu)<br /> go to &quot;Settings&quot; and select &quot;Sound Settings&quot; from here select &quot;Audio Multi-Output&quot; and set this option to &quot;OFF&quot;. <br /> You should be able to play the Afro Samurai Demo or update the retail game properly to the latest patch after this.<br /> <br /> Source: [http://support.bandainamcogames.com/index.php?/Knowledgebase/Article/View/216/233/afro-samurai-why-doesnt-my-game-start-up-ps3-only]<br /> <br /> Patched: in Firmware ([[VSH]]) since (unknown)<br /> <br /> <br /> {{Reverse engineering}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=Bugs_%26_Vulnerabilities&diff=56438 Bugs & Vulnerabilities 2020-06-16T15:26:45Z <p>Mysis: Patched syscall vuln 2</p> <hr /> <div>== Unknown / unpatched ==<br /> <br /> === Webkit buffer overflow ===<br /> <br /> * [http://playstationhax.xyz/forums/topic/2807-release-full-rsx-vramio-access-exploit/?do=findComment&amp;comment=28458]<br /> <br /> Not Patched<br /> <br /> === RSX VRAM Access ===<br /> <br /> * [http://playstationhax.xyz/forums/topic/2807-release-full-rsx-vramio-access-exploit/?do=findComment&amp;comment=28421]<br /> <br /> Not Patched<br /> <br /> === Memory corruption and NULL pointer in Unreal Tournament III 1.2 ===<br /> <br /> * [http://cxsecurity.com/issue/WLB-2008070060]<br /> <br /> unsure if it applies to PS3<br /> <br /> === MacOS X 10.5/10.6 libc/strtod(3) buffer overflow ===<br /> <br /> * [http://cxsecurity.com/issue/WLB-2010010162]<br /> <br /> unsure if it applies to PS3<br /> <br /> === OpenPrinter() stack-based buffer overflow ===<br /> <br /> * [http://seclists.org/fulldisclosure/2007/Jan/474]<br /> <br /> Patched: ?<br /> <br /> === DOM flaw ===<br /> <br /> http://seclists.org/fulldisclosure/2009/Jul/299<br /> <br /> Patched: ?<br /> <br /> === PS3xploit Kernel Exploit ===<br /> <br /> Unpatched: To be disclosed.<br /> <br /> === Leakage of PTCH body plaintext over SPI on all BGA SYSCONs ===<br /> <br /> When reading the body via the EEPROM read command, in all cases, the MISO of the SPI will leak the plaintext of the PTCH body to someone who might be interacting with the EEPROM interface. Note that this ONLY happens when SC interacts with patch body and some specific areas.<br /> <br /> ==== Examples ====<br /> <br /> ===== MISO =====<br /> <br /> &lt;pre&gt;<br /> 04 C8 34 30 BD E4 9F 27 16 DE 5C C1 E7 A3 DA 9C <br /> 7F 5B 29 9A 5A 48 5C 14 ED B2 DE 28 84 43 68 82 <br /> 98 87 4E D4 62 51 01 A9 24 34 02 B3 FF 26 63 17 <br /> 77 8E 95 56 B1 5F 9F 22 93 46 DE 4E 3A 5E 8A D3<br /> &lt;/pre&gt;<br /> <br /> ===== MOSI =====<br /> <br /> &lt;pre&gt;<br /> 3C 3A 04 3F 25 A6 68 09 02 00 04 00 00 00 00 00 (0x26B0)<br /> 3C 3A 04 3F 71 AD 00 00 09 00 00 00 00 00 00 00 (0x26C0)<br /> 3C 3A 04 3F 8E D5 75 0D 00 00 00 00 00 00 00 00 (0x26D0)<br /> 3C 3A 04 3F 80 86 48 0B 0B 00 03 00 00 00 00 00 (0x26E0)<br /> &lt;/pre&gt;<br /> <br /> == Patched ==<br /> <br /> === Lv2 sys_fs_mount stack overflow ===<br /> <br /> Stack buffer overflow with required privileges when passing a length greater than 10. It now checks for length less than or equal to 10. If larger than 10, the length gets set to 10.&lt;br&gt;<br /> * [https://nwert.wordpress.com/2012/09/19/exploiting-lv2/ writeup]<br /> * [https://web.archive.org/web/20141201184718/http://pastie.org/4755699 code]<br /> <br /> Patched: sometime before [[4.40_CEX|4.40]] (only fw I checked)<br /> <br /> === RSX Syscall bug ===<br /> <br /> In most syscalls sony reduces a pointer to 32 bits and would use a special function to write to that pointer.&lt;br&gt; however, in certain rsx syscalls, sony forgot about it, allowing the attacker to write to any part of lv2 memory.<br /> <br /> Patched: [[4.40_CEX|4.40]]<br /> <br /> === Lv2 sys_prx_register_module stack overflow ===<br /> <br /> Stack buffer overflow which is fixed around 4.3x or 4.4x. Does not require any privileges.<br /> <br /> === Lv2 578 Syscall stack overflow ===<br /> <br /> Stack buffer overflow which is fixed around 4.3x or 4.4x. Requires root privileges.<br /> <br /> Patched: [[4.4x_CEX|4.4x]]<br /> <br /> === AES CTR vulnerability on SELFs (and ebootroms maybe?) ===<br /> <br /> Sometimes SCE reused the same AES CTR keys and IVs in different [[Certified Files]].<br /> <br /> See also [http://crypto.stackexchange.com/questions/14628/why-do-we-use-xts-over-ctr-for-disk-encryption].<br /> <br /> Patched: since PSVita prototype FWs as their [[Certified Files]] don't use AES CTR but instead AES CBC.<br /> <br /> Maybe not patched on ebootroms.<br /> <br /> === PARAM.SFO stack-based buffer overflow ===<br /> <br /> * [http://seclists.org/fulldisclosure/2013/May/113]<br /> <br /> Patched: since 2012-05-01 ([[4.40_CEX|4.40]] and later)<br /> <br /> ==== Proof of Concept ====<br /> <br /> Unsigned code can be added to the [[PARAM.SFO]] because the console does not recognize special characters.<br /> <br /> * [http://www.exploit-db.com/exploits/25718/]<br /> <br /> Working on [[4.31_CEX|4.31]]. Patched: since 2012-05-01 ([[4.40_CEX|4.40]] and later).<br /> <br /> PoC: PARAM.SFO<br /> &lt;pre&gt;<br /> PSF�� Ä @� � � � � � ��� � � � ��� � � � ��h � � % � � � �� , � � � �� 4<br /> ��� �<br /> $� C ��� @ (� V ��� � h� j ��<br /> &amp;#8364; p� t ��� &amp;#8364; &amp;#240;�<br /> ACCOUNT_ID ATTRIBUTE CATEGORY DETAIL PARAMS PARAMS2 PARENTAL_LEVEL SAVEDATA_DIRECTORY SAVEDATA_LIST_PARAM SUB_TITLE<br /> TITLE<br /> 40ac78551a88fdc<br /> SD<br /> PSHACK: Benjamin Ninja H%20'&gt;&quot;&lt;[PERSISTENT INJECTED SYSTEM COMMAND OR CODE!]<br /> <br /> Hackizeit: 1:33:07<br /> <br /> ExpSkills: VL-LAB-TRAINING<br /> <br /> Operation: 1%<br /> Trojaners: 0%<br /> ... &amp;#213;&amp;#245;~\&amp;#732;&amp;#242;íA×éú�;óç� 40ac78551a88fdc<br /> ...<br /> BLES00371-NARUTO_STORM-0<br /> HACKINGBKM 1<br /> PSHACK: Benjamin Ninja H%20'&gt;&quot;&lt;[PERSISTENT INJECTED SYSTEM COMMAND OR CODE!];<br /> &lt;/pre&gt;<br /> <br /> === AVP patch bypass exploit ===<br /> <br /> Patched: since [[3.70_CEX|3.70]] and later.<br /> <br /> === PSN security intrusion ===<br /> <br /> Patched: since [[3.61_CEX|3.61]] enforced password change<br /> <br /> === Sony PSN Account Service - Password Reset Vulnerability ===<br /> <br /> * [http://www.vulnerability-lab.com/get_content.php?id=740]<br /> <br /> Patched: since 2012-05-01<br /> <br /> === ECDSA private key non-random fail ===<br /> <br /> See fail0verfl0w talk.<br /> <br /> Patched: since [[3.56-1 CEX|3.56]]<br /> <br /> === JIG downgrade ===<br /> <br /> Patched: since [[3.56-1 CEX|3.56]]<br /> <br /> === USB config heap-based buffer overflow (PSjailbreak/PSGroove) ===<br /> <br /> Patched: since [[3.42_CEX|3.42]] and later<br /> <br /> === Leap year bug ===<br /> <br /> Patched: since [[3.40_CEX|3.40]] and later<br /> <br /> === MP4 vulnerability ===<br /> <br /> Patched: since [[3.21_CEX|3.21]] and later<br /> <br /> === Playback of Cinavia DRM protected titles ===<br /> <br /> Patched: since [[3.10_CEX|3.10]] and later<br /> <br /> === Open Remote Play ===<br /> <br /> Patched: since [[2.80_CEX|2.80]] and later<br /> <br /> === BD-J homebrew ===<br /> <br /> Patched: since [[2.50_CEX|2.50]] and later<br /> <br /> === System Software Downgrade with hardware flasher ===<br /> <br /> See also: [[Downgrading with Hardware flasher]].<br /> <br /> Patched: since [[2.20_CEX|2.20]] and later (by adding [[CoreOS]] hashing in [[Syscon Hardware|Syscon]] to be checked by [[Hypervisor Reverse Engineering|hypervisor]]; worked around by patching hypervisor on [[3.56-1 CEX|3.56]] and lower capable consoles).<br /> <br /> === Full RSX access in OtherOS ===<br /> <br /> Patched: since [[2.10_CEX|2.10]] and later<br /> <br /> === Web browser DoS via a large integer value for the length property of a Select object ===<br /> <br /> * [http://www.cvedetails.com/cve/CVE-2009-2541/]<br /> <br /> Patched: since 4 sept 2009<br /> <br /> === Remote Play UDP packets DoS ===<br /> <br /> * [http://www.cvedetails.com/cve/CVE-2007-1728/ / http://cxsecurity.com/issue/WLB-2007030183]<br /> <br /> Affected: [[1.60_CEX|2.10]] and PSP 3.10 OE-A<br /> <br /> Patched: since 13 nov 2008<br /> <br /> === Resistance: Fall of Man network update exploit ===<br /> <br /> Patched<br /> <br /> === Warhawk network update exploit ===<br /> <br /> Patched<br /> <br /> === Game Bugs patched via Firmware ===<br /> <br /> ==== Afro Samurai Black Screen ====<br /> <br /> Black screen as a failed attempt to call:<br /> cellAudioOutConfigure<br /> cellSysutilAvconfExt_FA611DF4<br /> <br /> Occours in [[3.01_CEX|Firmware 3.01]] <br /> BLUS30264<br /> NPUB90215<br /> BLES00516<br /> <br /> In order to correct this problem start up your Playstation 3 system and while on the XMB (Cross Media Bar/System Menu)<br /> go to &quot;Settings&quot; and select &quot;Sound Settings&quot; from here select &quot;Audio Multi-Output&quot; and set this option to &quot;OFF&quot;. <br /> You should be able to play the Afro Samurai Demo or update the retail game properly to the latest patch after this.<br /> <br /> Source: [http://support.bandainamcogames.com/index.php?/Knowledgebase/Article/View/216/233/afro-samurai-why-doesnt-my-game-start-up-ps3-only]<br /> <br /> Patched: in Firmware ([[VSH]]) since (unknown)<br /> <br /> <br /> {{Reverse engineering}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=Bugs_%26_Vulnerabilities&diff=56437 Bugs & Vulnerabilities 2020-06-16T09:40:03Z <p>Mysis: /* Patched syscall vuln */</p> <hr /> <div>== Unknown / unpatched ==<br /> <br /> === Webkit buffer overflow ===<br /> <br /> * [http://playstationhax.xyz/forums/topic/2807-release-full-rsx-vramio-access-exploit/?do=findComment&amp;comment=28458]<br /> <br /> Not Patched<br /> <br /> === RSX VRAM Access ===<br /> <br /> * [http://playstationhax.xyz/forums/topic/2807-release-full-rsx-vramio-access-exploit/?do=findComment&amp;comment=28421]<br /> <br /> Not Patched<br /> <br /> === Memory corruption and NULL pointer in Unreal Tournament III 1.2 ===<br /> <br /> * [http://cxsecurity.com/issue/WLB-2008070060]<br /> <br /> unsure if it applies to PS3<br /> <br /> === MacOS X 10.5/10.6 libc/strtod(3) buffer overflow ===<br /> <br /> * [http://cxsecurity.com/issue/WLB-2010010162]<br /> <br /> unsure if it applies to PS3<br /> <br /> === OpenPrinter() stack-based buffer overflow ===<br /> <br /> * [http://seclists.org/fulldisclosure/2007/Jan/474]<br /> <br /> Patched: ?<br /> <br /> === DOM flaw ===<br /> <br /> http://seclists.org/fulldisclosure/2009/Jul/299<br /> <br /> Patched: ?<br /> <br /> === PS3xploit Kernel Exploit ===<br /> <br /> Unpatched: To be disclosed.<br /> <br /> === Leakage of PTCH body plaintext over SPI on all BGA SYSCONs ===<br /> <br /> When reading the body via the EEPROM read command, in all cases, the MISO of the SPI will leak the plaintext of the PTCH body to someone who might be interacting with the EEPROM interface. Note that this ONLY happens when SC interacts with patch body and some specific areas.<br /> <br /> ==== Examples ====<br /> <br /> ===== MISO =====<br /> <br /> &lt;pre&gt;<br /> 04 C8 34 30 BD E4 9F 27 16 DE 5C C1 E7 A3 DA 9C <br /> 7F 5B 29 9A 5A 48 5C 14 ED B2 DE 28 84 43 68 82 <br /> 98 87 4E D4 62 51 01 A9 24 34 02 B3 FF 26 63 17 <br /> 77 8E 95 56 B1 5F 9F 22 93 46 DE 4E 3A 5E 8A D3<br /> &lt;/pre&gt;<br /> <br /> ===== MOSI =====<br /> <br /> &lt;pre&gt;<br /> 3C 3A 04 3F 25 A6 68 09 02 00 04 00 00 00 00 00 (0x26B0)<br /> 3C 3A 04 3F 71 AD 00 00 09 00 00 00 00 00 00 00 (0x26C0)<br /> 3C 3A 04 3F 8E D5 75 0D 00 00 00 00 00 00 00 00 (0x26D0)<br /> 3C 3A 04 3F 80 86 48 0B 0B 00 03 00 00 00 00 00 (0x26E0)<br /> &lt;/pre&gt;<br /> <br /> == Patched ==<br /> <br /> === Lv2 sys_fs_mount stack overflow ===<br /> <br /> Stack buffer overflow with required privileges when passing a length greater than 10. It now checks for length less than or equal to 10. If larger than 10, the length gets set to 10.&lt;br&gt;<br /> * [https://nwert.wordpress.com/2012/09/19/exploiting-lv2/ writeup]<br /> * [https://web.archive.org/web/20141201184718/http://pastie.org/4755699 code]<br /> <br /> Patched: sometime before [[4.40_CEX|4.40]] (only fw I checked)<br /> <br /> === RSX Syscall bug ===<br /> <br /> In most syscalls sony reduces a pointer to 32 bits and would use a special function to write to that pointer.&lt;br&gt; however, in certain rsx syscalls, sony forgot about it, allowing the attacker to write to any part of lv2 memory.<br /> <br /> Patched: [[4.40_CEX|4.40]]<br /> <br /> === Lv2 sys_prx_register_module stack overflow ===<br /> <br /> Stack buffer overflow which is fixed around 4.3x or 4.4x. Does not require any privileges.<br /> <br /> Patched: [[4.4x_CEX|4.4x]]<br /> <br /> === AES CTR vulnerability on SELFs (and ebootroms maybe?) ===<br /> <br /> Sometimes SCE reused the same AES CTR keys and IVs in different [[Certified Files]].<br /> <br /> See also [http://crypto.stackexchange.com/questions/14628/why-do-we-use-xts-over-ctr-for-disk-encryption].<br /> <br /> Patched: since PSVita prototype FWs as their [[Certified Files]] don't use AES CTR but instead AES CBC.<br /> <br /> Maybe not patched on ebootroms.<br /> <br /> === PARAM.SFO stack-based buffer overflow ===<br /> <br /> * [http://seclists.org/fulldisclosure/2013/May/113]<br /> <br /> Patched: since 2012-05-01 ([[4.40_CEX|4.40]] and later)<br /> <br /> ==== Proof of Concept ====<br /> <br /> Unsigned code can be added to the [[PARAM.SFO]] because the console does not recognize special characters.<br /> <br /> * [http://www.exploit-db.com/exploits/25718/]<br /> <br /> Working on [[4.31_CEX|4.31]]. Patched: since 2012-05-01 ([[4.40_CEX|4.40]] and later).<br /> <br /> PoC: PARAM.SFO<br /> &lt;pre&gt;<br /> PSF�� Ä @� � � � � � ��� � � � ��� � � � ��h � � % � � � �� , � � � �� 4<br /> ��� �<br /> $� C ��� @ (� V ��� � h� j ��<br /> &amp;#8364; p� t ��� &amp;#8364; &amp;#240;�<br /> ACCOUNT_ID ATTRIBUTE CATEGORY DETAIL PARAMS PARAMS2 PARENTAL_LEVEL SAVEDATA_DIRECTORY SAVEDATA_LIST_PARAM SUB_TITLE<br /> TITLE<br /> 40ac78551a88fdc<br /> SD<br /> PSHACK: Benjamin Ninja H%20'&gt;&quot;&lt;[PERSISTENT INJECTED SYSTEM COMMAND OR CODE!]<br /> <br /> Hackizeit: 1:33:07<br /> <br /> ExpSkills: VL-LAB-TRAINING<br /> <br /> Operation: 1%<br /> Trojaners: 0%<br /> ... &amp;#213;&amp;#245;~\&amp;#732;&amp;#242;íA×éú�;óç� 40ac78551a88fdc<br /> ...<br /> BLES00371-NARUTO_STORM-0<br /> HACKINGBKM 1<br /> PSHACK: Benjamin Ninja H%20'&gt;&quot;&lt;[PERSISTENT INJECTED SYSTEM COMMAND OR CODE!];<br /> &lt;/pre&gt;<br /> <br /> === AVP patch bypass exploit ===<br /> <br /> Patched: since [[3.70_CEX|3.70]] and later.<br /> <br /> === PSN security intrusion ===<br /> <br /> Patched: since [[3.61_CEX|3.61]] enforced password change<br /> <br /> === Sony PSN Account Service - Password Reset Vulnerability ===<br /> <br /> * [http://www.vulnerability-lab.com/get_content.php?id=740]<br /> <br /> Patched: since 2012-05-01<br /> <br /> === ECDSA private key non-random fail ===<br /> <br /> See fail0verfl0w talk.<br /> <br /> Patched: since [[3.56-1 CEX|3.56]]<br /> <br /> === JIG downgrade ===<br /> <br /> Patched: since [[3.56-1 CEX|3.56]]<br /> <br /> === USB config heap-based buffer overflow (PSjailbreak/PSGroove) ===<br /> <br /> Patched: since [[3.42_CEX|3.42]] and later<br /> <br /> === Leap year bug ===<br /> <br /> Patched: since [[3.40_CEX|3.40]] and later<br /> <br /> === MP4 vulnerability ===<br /> <br /> Patched: since [[3.21_CEX|3.21]] and later<br /> <br /> === Playback of Cinavia DRM protected titles ===<br /> <br /> Patched: since [[3.10_CEX|3.10]] and later<br /> <br /> === Open Remote Play ===<br /> <br /> Patched: since [[2.80_CEX|2.80]] and later<br /> <br /> === BD-J homebrew ===<br /> <br /> Patched: since [[2.50_CEX|2.50]] and later<br /> <br /> === System Software Downgrade with hardware flasher ===<br /> <br /> See also: [[Downgrading with Hardware flasher]].<br /> <br /> Patched: since [[2.20_CEX|2.20]] and later (by adding [[CoreOS]] hashing in [[Syscon Hardware|Syscon]] to be checked by [[Hypervisor Reverse Engineering|hypervisor]]; worked around by patching hypervisor on [[3.56-1 CEX|3.56]] and lower capable consoles).<br /> <br /> === Full RSX access in OtherOS ===<br /> <br /> Patched: since [[2.10_CEX|2.10]] and later<br /> <br /> === Web browser DoS via a large integer value for the length property of a Select object ===<br /> <br /> * [http://www.cvedetails.com/cve/CVE-2009-2541/]<br /> <br /> Patched: since 4 sept 2009<br /> <br /> === Remote Play UDP packets DoS ===<br /> <br /> * [http://www.cvedetails.com/cve/CVE-2007-1728/ / http://cxsecurity.com/issue/WLB-2007030183]<br /> <br /> Affected: [[1.60_CEX|2.10]] and PSP 3.10 OE-A<br /> <br /> Patched: since 13 nov 2008<br /> <br /> === Resistance: Fall of Man network update exploit ===<br /> <br /> Patched<br /> <br /> === Warhawk network update exploit ===<br /> <br /> Patched<br /> <br /> === Game Bugs patched via Firmware ===<br /> <br /> ==== Afro Samurai Black Screen ====<br /> <br /> Black screen as a failed attempt to call:<br /> cellAudioOutConfigure<br /> cellSysutilAvconfExt_FA611DF4<br /> <br /> Occours in [[3.01_CEX|Firmware 3.01]] <br /> BLUS30264<br /> NPUB90215<br /> BLES00516<br /> <br /> In order to correct this problem start up your Playstation 3 system and while on the XMB (Cross Media Bar/System Menu)<br /> go to &quot;Settings&quot; and select &quot;Sound Settings&quot; from here select &quot;Audio Multi-Output&quot; and set this option to &quot;OFF&quot;. <br /> You should be able to play the Afro Samurai Demo or update the retail game properly to the latest patch after this.<br /> <br /> Source: [http://support.bandainamcogames.com/index.php?/Knowledgebase/Article/View/216/233/afro-samurai-why-doesnt-my-game-start-up-ps3-only]<br /> <br /> Patched: in Firmware ([[VSH]]) since (unknown)<br /> <br /> <br /> {{Reverse engineering}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=PS2bootparam.dat&diff=56185 PS2bootparam.dat 2020-05-18T15:56:11Z <p>Mysis: /* File layout */</p> <hr /> <div>&lt;big&gt;PS2 boot param file stored in dev_hdd0/tmp/game/ps2bootparam.dat used to pass settings from GameOS to emulator after unloading LV2. <br /> &lt;/big&gt;<br /> ===File layout===<br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Name !! offset !! size !! type !! notes<br /> |-<br /> | rtc_epoch || 0x00 || 0x08 || u64 || time since epoch in seconds (hex)<br /> |-<br /> | target_id || 0x08 || 0x02 || u16 || [[Product_Code]]<br /> |-<br /> | toggle_XO || 0x0A || 0x01 || u8 || 1 - (X enter and O back), 0 - (O enter and X back)<br /> |-<br /> | boot_type || 0x0B || 0x01 || u8 || known used value 0x00 (hdd install?) / 0x01 / 0x02 / 0x03 (&quot;2P&quot; classic)<br /> |-<br /> | ps2_title_id || 0x0C || unk (at least 0x0A) || string || SLES50920<br /> |-<br /> | _ || 0x2C || 0x01 || u8 || _<br /> |-<br /> | system_lang || 0x2D || 0x01 || u8 || 2 digits code from [[Languages]] is used (in hex form)<br /> |-<br /> | time_zone || 0x2E || 0x02 || u16 || sys_time_get_timezone(), known value 0x3E<br /> |-<br /> | summer_time || 0x30 || 0x01 || u8 || &quot;/setting/dateTime/summerTime&quot;, known value 0<br /> |-<br /> | net_device || 0x31 || 0x01 || u8 || xsettings &quot;/setting/net/device&quot;, known value 1 (enabled wifi?)<br /> |-<br /> | wlan_ssid || 0x32 || 0x21 || string || 32 characters + null terminator<br /> |-<br /> | _ || 0x52 || 0x01 || u8 || _<br /> |-<br /> | net_authProto || 0x53 || 0x01 || u8 || &quot;/setting/net/authProto&quot;, known value 7 (wlan encryption type?)<br /> |-<br /> | wlan_pass || 0x54 || 0x40 || string || 63 + null terminator<br /> |-<br /> | _ || 0x94 || 0x01 || u8 || _<br /> |-<br /> | _ || 0x98 || 0x04 || unk || _<br /> |-<br /> | _ || 0x9C || 0x01 || u8 || _<br /> |-<br /> | _ || 0x9E || 0x02 || u16 || _<br /> |-<br /> | _ || 0xA0 || 0x04 || unk || _<br /> |-<br /> | _ || 0xA4 || 0x01 || u8 || _<br /> |-<br /> | _ || 0xA6 || 0x02 || u16 || _<br /> |-<br /> | _ || 0xA8 || 0x04 || unk || _<br /> |-<br /> | _ || 0xAC || 0x01 || u8 || _<br /> |-<br /> | _ || 0xAE || 0x02 (?) || unk || _<br /> |-<br /> | color_space || 0x118 || 0x02 || u16 || _<br /> |-<br /> | video_mode || 0x11A || 0x02 || u16 || max possible value 0x3FFF, known value 0x702<br /> |-<br /> | display_type || 0x11C || 0x01 || u8 || _<br /> |-<br /> | sound_type || 0x11D || 0x01 || u8 || _<br /> |-<br /> | _ || 0x11E || unk || string || _<br /> |-<br /> | _ || 0x220 || 0x04 || u32 || _<br /> |-<br /> | net_enable || 0x224 || 0x01 || u8 || xregistry &quot;/setting/net/enable&quot;<br /> |-<br /> | _ || 0x225 || 0x01 || u8 || xregistry &quot;/setting/net/aoss/aossFlag&quot;<br /> |-<br /> | _ || 0x226 || 0x188 || unk || _<br /> |-<br /> | _ || 0x246 || 0x1 || u8 || _<br /> |-<br /> | _ || 0x3AF || 0x04 || unk || _<br /> |-<br /> | _ || 0x3B3 || 0x04 || unk || _<br /> |-<br /> | _ || 0x3B7 || 0x01 || unk || _<br /> |-<br /> | _ || 0x3BB || 0x04 || unk || _<br /> |-<br /> | _ || 0x3BC || 0x04 || unk || _<br /> |-<br /> | _ || 0x3C0 || 0x04 || unk || _<br /> |-<br /> | _ || 0x3CC || 0x80 || unk || _<br /> |-<br /> | _ || 0x44C || 0x80 || unk || _<br /> |-<br /> | up_convert || 0x4CC || 0x01 || u8 || _<br /> |-<br /> | _ || 0x4CD || 0x01 || u8 || _<br /> |-<br /> | rgb_output_range || 0x4CE || 0x01 || u8 || _<br /> |-<br /> | _ || 0x4D0 || 0x08 || u64 || known value 0x800000001000007<br /> |-<br /> | _ || 0x4D8 || 0x01 || u8 || _<br /> |-<br /> | || || || ||<br /> |-<br /> |}<br /> Note: This table for now only cover first 0x4F0 of file, next block are controllers settings.</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=PS2bootparam.dat&diff=56183 PS2bootparam.dat 2020-05-18T15:32:38Z <p>Mysis: </p> <hr /> <div>&lt;big&gt;PS2 boot param file stored in dev_hdd0/tmp/game/ps2bootparam.dat used to pass settings from GameOS to emulator after unloading LV2. <br /> &lt;/big&gt;<br /> ===File layout===<br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Name !! offset !! size !! type !! notes<br /> |-<br /> | rtc_epoch || 0x00 || 0x08 || u64 || time since epoch in seconds (hex)<br /> |-<br /> | target_id || 0x08 || 0x02 || u16 || [[Product_Code]]<br /> |-<br /> | toggle_XO || 0x0A || 0x01 || u8 || 1 - (X enter and O back), 0 - (O enter and X back)<br /> |-<br /> | boot_type || 0x0B || 0x01 || u8 || known used value 0x00 (hdd install?) / 0x01 / 0x02 / 0x03 (&quot;2P&quot; classic)<br /> |-<br /> | ps2_title_id || 0x0C || unk (at least 0x0A) || string || SLES50920<br /> |-<br /> | _ || 0x2C || 0x01 || u8 || _<br /> |-<br /> | system_lang || 0x2D || 0x01 || u8 || 2 digits code from [[Languages]] is used (in hex form)<br /> |-<br /> | _ || 0x2E || 0x02 || u16 || known value 0x3E<br /> |-<br /> | _ || 0x30 || 0x01 || u8 || known value 0<br /> |-<br /> | _ || 0x31 || 0x01 || u8 || known value 1 (enabled wifi?)<br /> |-<br /> | wlan_ssid || 0x32 || 0x21 || string || 32 characters + null terminator<br /> |-<br /> | _ || 0x53 || 0x01 || u8 || known value 7 (wlan encryption type?)<br /> |-<br /> | wlan_pass || 0x54 || 0x40 || string || 63 + null terminator<br /> |-<br /> | _ || 0x98 || 0x04 || unk || _<br /> |-<br /> | _ || 0x9C || 0x01 || u8 || _<br /> |-<br /> | _ || 0x9E || 0x02 || u16 || _<br /> |-<br /> | _ || 0xA0 || 0x04 || unk || _<br /> |-<br /> | _ || 0xA4 || 0x01 || u8 || _<br /> |-<br /> | _ || 0xA6 || 0x02 || u16 || _<br /> |-<br /> | _ || 0xA8 || 0x04 || unk || _<br /> |-<br /> | _ || 0xAC || 0x01 || u8 || _<br /> |-<br /> | _ || 0xAE || 0x02 (?) || unk || _<br /> |-<br /> | color_space || 0x118 || 0x02 || u16 || _<br /> |-<br /> | video_mode || 0x11A || 0x02 || u16 || max possible value 0x3FFF, known value 0x702<br /> |-<br /> | display_type || 0x11C || 0x01 || u8 || _<br /> |-<br /> | sound_type || 0x11D || 0x01 || u8 || _<br /> |-<br /> | _ || 0x11E || unk || string || _<br /> |-<br /> | _ || 0x220 || 0x04 || u32 || _<br /> |-<br /> | net_enable || 0x224 || 0x01 || u8 || xregistry &quot;/setting/net/enable&quot;<br /> |-<br /> | _ || 0x225 || 0x01 || u8 || _<br /> |-<br /> | _ || 0x226 || 0x188 || unk || _<br /> |-<br /> | _ || 0x3AF || 0x04 || unk || _<br /> |-<br /> | _ || 0x3B3 || 0x04 || unk || _<br /> |-<br /> | _ || 0x3B7 || 0x01 || unk || _<br /> |-<br /> | _ || 0x3BB || 0x04 || unk || _<br /> |-<br /> | _ || 0x3BC || 0x04 || unk || _<br /> |-<br /> | _ || 0x3C0 || 0x04 || unk || _<br /> |-<br /> | _ || 0x3CC || 0x80 || unk || _<br /> |-<br /> | _ || 0x44C || 0x80 || unk || _<br /> |-<br /> | up_convert || 0x4CC || 0x01 || u8 || _<br /> |-<br /> | _ || 0x4CD || 0x01 || u8 || _<br /> |-<br /> | rgb_output_range || 0x4CE || 0x01 || u8 || _<br /> |-<br /> | _ || 0x4D0 || 0x08 || u64 || known value 0x800000001000007<br /> |-<br /> | _ || 0x4D8 || 0x01 || u8 || _<br /> |-<br /> | || || || ||<br /> |-<br /> |}<br /> Note: This table for now only cover first 0x4F0 of file, next block are controllers settings.</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=PS2_Emulation&diff=55881 PS2 Emulation 2020-04-01T22:49:30Z <p>Mysis: /* Config Commands */</p> <hr /> <div>==Description==<br /> Emulation of Playstation 2 is currently handled by 3 kind of emulators. CECH-A/B models use ps2_emu.self able to use built-in PS2 hardware (EE/GS/Rambus memory), and have best compatibility. CECH-C/E use ps2_gxemu, this emulator use physical Graphic Synthesizer found in this ps3 model, but Emotion Engine is fully emulated here, also there is no Rambus memory. All other models emulate PS2 thru fully software based ps2_netemu used for ps2 classics, and hacked now to use decrypted ISO files. Earlier before Sony provided ps2 classics on PS Store there was another soft only emulator strongly based on ps2_gxemu. It was called ps2_softemu, and had support for original PS2 CDVD. Only emulator not able to run physical discs is ps2_netemu. <br /> <br /> Emulators are self files, but not typical one. Emulators are not truly PS3 Game OS elf executables, but Guest OS'es running on LV1 of PS3. This mean that LV2, or more friendly Game OS is unloaded before emulator is loaded. This also mean that while emulators are running we can't call any LV2 function. Also LV1 syscalls are limited to call from all emulators, but can be fully unlocked. <br /> <br /> All emulators use built-in stripped developement version of PS2 BIOS with disabled debug functions that can affect some games. This is done because some games print debug info on screen when found that are run on dev bios. Bios between ps2_emu, ps2_gxemu, and ps2_netemu are different. Although bios from gxemu run fine on netemu, and vice-versa. While ps2_emu BIOS is able to run only on ps2emu version of emulator. <br /> <br /> [[File:Ps2_block_diagram.png|200px|thumb|right|Simplified block diagram of a PS2&lt;br /&gt;[http://www.philvaz.com/games/PS2.htm source]]]<br /> Note: <br /> * not available in early Tool/DECR and Debug/DEX firmwares. But available in AV TOOL firmware since 1.00<br /> * Emulation is based on a SCPH-50000/SCPH-20401 Playstation 2 Model.<br /> * [http://unina.stidue.net/Universita'%20di%20Trieste/Ingegneria%20Industriale%20e%20dell'Informazione/Tuzzi/Architetture_Avanzate_dei_Calcolatori/Emotion_2.pdf Introduction to PlayStation2 Architecture.pdf]<br /> <br /> ==PS2 Emulators types and versions==<br /> ps2_emu.self (1.02++)<br /> ps2_gxemu.self (1.50++)<br /> ps2_softemu.self (1.90++) 1.90-1.94 (11065), 2.00-2.10 (11830), 3.15 (12840), 3.41-3.65 (13474), 3.66-3.70 (15435), 3.72-4.21 (15529)<br /> (Changes: -2.50] [2.52-2.60] [2.70] [2.80] [3.00-3.65] [3.66-3.70] [3.74])<br /> ps2_netemu.self (3.70++)<br /> <br /> &lt;s&gt;<br /> *http://www.crocko.com/651925F44E444D8390E41A39A577BE48/ps2emu.rar<br /> *http://filerio.in/2xjqscjklj72<br /> *http://freakshare.com/files/bp53qpcy/ps2emu.rar.html<br /> *http://www.mirrorcreator.com/files/4BNITIXD/ps2_netemu.7z_links<br /> &lt;/s&gt;<br /> <br /> {{PS2 emulators workload comparison}}<br /> <br /> ===ps2_emu.self===<br /> <br /> ====Self System Table Offset====<br /> {| cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; border=&quot;1&quot; class=&quot;wikitable&quot; style=&quot;text-align: center;&quot;<br /> |-<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 1.00 AV || 0x7C3150 ||<br /> |-<br /> | 1.02 || 0x7C31F0 ||<br /> |-<br /> | 1.10 || 0x7C2168 ||<br /> |-<br /> | 1.11 || 0x7C23C8 ||<br /> |-<br /> | 1.30 || 0x8442E8 ||<br /> |-<br /> | 1.30 AV || 0x8442E8 ||<br /> |-<br /> | 1.31 || 0x844C98 ||<br /> |-<br /> | 1.32 || 0x845CA0 ||<br /> |-<br /> | 1.50 || 0x848728 ||<br /> |-<br /> | 1.90 || 0x4D7ED8 ||<br /> |-<br /> | 3.66 - 3.74 || 0x4E9A20 ||<br /> |-<br /> | 4.00 - 4.01 || 0x4EADB8 ||<br /> |-<br /> | 4.10 - 4.11 || 0x4EAD28 ||<br /> |-<br /> | 4.20 - 4.21 || 0x4EAE30 ||<br /> |-<br /> | 4.23 || 0x4EACE0 ||<br /> |-<br /> | 4.25 || 0x4EAE30 || Reverted to 4.20 - 4.21 version?<br /> |-<br /> | 4.78 - 4.82 || 0x4EB8C0 ||<br /> |}<br /> <br /> ===ps2_gxemu.self===<br /> <br /> ====Self System Table Offset====<br /> {| cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; border=&quot;1&quot; class=&quot;wikitable&quot; style=&quot;text-align: center;&quot;<br /> |-<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 1.50 || 0x5BDFC8 ||<br /> |-<br /> | 1.90 || 0x666C78 ||<br /> |-<br /> | 3.66 - 3.74 || 0x6766B8 ||<br /> |-<br /> | 4.00 - 4.11 || 0x677990 ||<br /> |-<br /> | 3.66 - 3.74 || 0x677AA8 ||<br /> |-<br /> | 4.78 - 4.82 || 0x678548 || <br /> |-<br /> |}<br /> <br /> ===ps2_softemu.self===<br /> <br /> ====Self System Table Offset====<br /> {| cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; border=&quot;1&quot; class=&quot;wikitable&quot; style=&quot;text-align: center;&quot;<br /> |-<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 1.90 || 0x5C7B10 ||<br /> |-<br /> | 2.50 || 0x5C7ED8 ||<br /> |-<br /> | 3.41 || 0x5C8C00 || <br /> |-<br /> | 3.66 - 3.71 || 0x5C8EC0 ||<br /> |-<br /> | 3.72 - 4.01 || 0x5C8E40 ||<br /> |}<br /> <br /> ===ps2_netemu.self===<br /> [[PS2_Classics_Emulator_Compatibility_List|PS2 Classics Emulator Compatibility List]]<br /> <br /> ====Self System Table Offset====<br /> {| cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; border=&quot;1&quot; class=&quot;wikitable&quot; style=&quot;text-align: center;&quot;<br /> |-<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 3.73 - 3.74 || 0x7D8B00 ||<br /> |-<br /> | 4.00 - 4.01 || 0x7DA200 ||<br /> |-<br /> | 4.10 - 4.11 || 0x7DA180 ||<br /> |-<br /> | 4.20 - 4.25 || 0x7DA500 ||<br /> |-<br /> | 4.78 - 4.83 || 0x751280 || <br /> |-<br /> |}<br /> <br /> ====General observations regarding PS2 Classics emulator====<br /> * Virtual memory cards are per title based, but apparently run through the current memory card system. The module used to manage memory cards is: vmc_savedata_plugin.sprx - Using a regular memory card that has been renamed result in a &quot;The save data is corrupt (8XXXXXXX) error&quot;<br /> * Loads an epilepsy warning before PS2 logo (PS button menu appears during epilepsy warning if controller is synced)<br /> * Does not support online functionality of PS2 titles (network configuration utility inside Full Spectrum Warrior claims no network adaptor has been found, same with Syphon Filter: The Omega Strain).<br /> <br /> - Only file that is needed in the folder for PS2 Classics is &quot;iso.bin.enc&quot;. Removing the manuals/DXT files will cause the game to boot IMMEDIATELY to the PS2 logo upon switching to 720p/starting PS2 LPAR.<br /> <br /> ====folder/file layout====<br /> (in this example GTA San Andreas Classic)<br /> &lt;pre&gt;<br /> [NPUD20946]<br /> [USRDIR]<br /> [CONTENT]<br /> 001.dxt<br /> 002.dxt<br /> 003.dxt<br /> 004.dxt<br /> 005.dxt<br /> 006.dxt<br /> 007.dxt<br /> 008.dxt<br /> 009.dxt<br /> 010.dxt<br /> 011.dxt<br /> 012.dxt<br /> 013.dxt<br /> 014.dxt<br /> 015.dxt<br /> 016.dxt<br /> 017.dxt<br /> Others.dxt<br /> Manual.idx<br /> [SAVEDATA]<br /> SCEVMC0.VME<br /> SCEVMC1.VME<br /> CONFIG<br /> ISO.BIN.EDAT<br /> ISO.BIN.ENC<br /> PS3LOGO.DAT<br /> PARAM.SFO<br /> ICON0.PNG<br /> PIC0.PNG<br /> PIC1.PNG<br /> PIC2.PNG<br /> &lt;/pre&gt;<br /> <br /> ==Virtual PS2 (emulated machine) usage and features==<br /> <br /> ===Video Modes===<br /> '''Note:''' Real PS2 : http://users.neoscientists.org/~blue/ps2videomodes.txt<br /> <br /> Video Modes<br /> ----.-----------.---------------.-----------.-----------.<br /> No | Name | Resolution | fV(Hz) | fH(kHz) |<br /> ----+-----------+---------------+-----------+-----------|<br /> 0 | NTSC-NI | 640x240(224) | 59.940 | 15.734 |<br /> 1 | NTSC-I | 640x480(448) | 59.820 | 15.734 |<br /> 2 | PAL-NI | 640x288(256) | 50.000 | 15.625 |<br /> 3 | PAL-I | 640x576(512) | 49.760 | 15.625 |<br /> 4 | VESA-1A | 640x480 | 59.940 | 31.469 |<br /> 5 | VESA-1C | 640x480 | 75.000 | 37.500 |<br /> 6 | VESA-2B | 800x600 | 60.317 | 37.879 |<br /> 7 | VESA-2D | 800x600 | 75.000 | 46.875 |<br /> 8 | VESA-3B | 1024x768 | 60.004 | 48.363 |<br /> 9 | VESA-3D | 1024x768 | 75.029 | 60.023 |<br /> 10 | VESA-4A | 1280x1024 | 60.020 | 63.981 |<br /> 11 | VESA-4B | 1280x1024 | 75.025 | 79.976 |<br /> 12 | DTV-480P | 720x480 | 59.940 | 31.469 |<br /> 13 | DTV-1080I | 1920x1080 | 60.000 | 33.750 |<br /> 14 | DTV-720P | 1280x720 | ?? | ?? |<br /> ----^-----------^---------------^-----------^-----------'<br /> <br /> ===Memory Mapping===<br /> == PCSX2 ==<br /> Mapping host memory for virtual systems...<br /> EE Main Memory @ 0x20000000 -&gt; 0x22884000 [40mb]<br /> IOP Main Memory (2mb) @ 0x24000000 -&gt; 0x24211000 [2mb]<br /> VU0/1 on-chip memory @ 0x28000000 -&gt; 0x2800A000 [40kb]<br /> Reserving memory for recompilers...<br /> SuperVU0 Recompiler Cache @ 0x0E800000 -&gt; 0x0F000000 [8mb]<br /> SuperVU1 Recompiler Cache @ 0x0F000000 -&gt; 0x0F800000 [8mb]<br /> Micro VU0 Recompiler Cache @ 0x3C000000 -&gt; 0x40000000 [64mb]<br /> Micro VU1 Recompiler Cache @ 0x40000000 -&gt; 0x44000000 [64mb]<br /> (thread:MTVU) Calling pthread_create...<br /> R5900-32 Recompiler Cache @ 0x30000000 -&gt; 0x34000000 [64mb]<br /> R3000A Recompiler Cache @ 0x34000000 -&gt; 0x36000000 [32mb]<br /> VIF0 Unpack Recompiler Cache @ 0x36000000 -&gt; 0x36800000 [8mb]<br /> VIF1 Unpack Recompiler Cache @ 0x38000000 -&gt; 0x38800000 [8mb]<br /> <br /> == ps2netemu == <br /> Mapping ELF @ 0x200000000<br /> <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Name !! ea !! lpar2(netemu 4.81) !! size !! flags !! lpar1(lv1 4.81)<br /> |-<br /> | text || 0x0 || 0x3D00000 || 0x300000( 3 MB) || 0x8000000000000003 0000000000000003 || 0x7D00000<br /> |- <br /> | ro_work || 0x300000 || 0x300000 || 0x500000( 5 MB) || 0x0000000000000003 0000000000000003 || 0x4300000<br /> |- <br /> | rw_work || 0x800000 || 0x800000 || 0x2A00000( 42 MB) || 0x0000000000000001 0000000000000003 || 0x4800000<br /> |- <br /> | negmem || 0x1FFF0000 || 0x3210000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000000 || 0x7210000<br /> |- <br /> | ee_ram || 0x100000000 || 0x64000E000000 || 0x2000000( 32 MB) || 0x0000000000000001 0000000000000000 || 0x3C00000 - 0x3F00000, 0x8000000 - 0x9B00000<br /> |- <br /> | ee_jit_code || 0xD00000000 || 0x680024000000 || 0x3000000( 48 MB) || 0x8000000000000001 0000000000000003 || 0xBC00000 - 0xEB00000<br /> |- <br /> | vu0_jit_code || 0xD08000000 || 0x580000800000 || 0x400000( 4 MB) || 0x8000000000000001 0000000000000003 || 0x900000 - 0xC00000<br /> |- <br /> | vu0_jit_data || 0xD0C000000 || 0x3700000 || 0x400000( 4 MB) || 0x0000000000000002 0000000000000003 || 0x7700000<br /> |- <br /> | eeram_jit_lut || 0xE00000000 || 0x640010000000 || 0x2000000( 32 MB) || 0x0000000000000001 0000000000000003 || 0x9C00000 - 0xBB00000<br /> |- <br /> | eerom_jit_lut || 0xE0FC00000 || 0x580000C00000 || 0x400000( 4 MB) || 0x0000000000000001 0000000000000003 || 0xD00000 - 0x1000000<br /> |- <br /> | ee_dbg_ram || 0x90FFF8000 || 0x64000E078000 || 0x8000( 32 KB) || 0x0000000000000001 0000000000000000 || <br /> |- <br /> | iop_ram || 0x400000000 || 0x3300000 || 0x200000( 2 MB) || 0x0000000000000001 0000000000000000 || 0x7300000<br /> |- <br /> | iop_rom || 0x50FC00000 || 0x580001000000 || 0x400000( 4 MB) || 0x0000000000000001 0000000000000002 || 0x1100000 - 0x1400000<br /> |- <br /> | iop_spad || 0x50F800000 || 0x3220000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000002 || 0x7220000<br /> |- <br /> | spu2_ram || 0x600000000 || 0x3500000 || 0x200000( 2 MB) || 0x0000000000000001 0000000000000000 || 0x7500000<br /> |- <br /> | spu2_ram2 || 0x600200000 || 0x3500000 || 0x200000( 2 MB) || 0x0000000000000001 0000000000000000 || 0x7500000<br /> |- <br /> | spu2_pcm || 0x1000000000 || 0x3230000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000000 || 0x7230000<br /> |- <br /> | ee_spr_lo || 0x700000000 || 0x3201000 || 0x2000( 8 KB) || 0x0000000000000001 0000000000000000 || 0x7201000<br /> |- <br /> | ee_spr || 0x800000000 || 0x3203000 || 0x6000( 24 KB) || 0x0000000000000001 0000000000000000 || 0x7203000<br /> |- <br /> | ee_vu0_dmem0 || 0x301004000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_vu0_dmem1 || 0x301005000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_vu0_dmem2 || 0x301006000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_vu0_dmem3 || 0x301007000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_rom || 0x30FC00000 || 0x580001000000 || 0x400000( 4 MB) || 0x0000000000000001 0000000000000001 || 0x1100000 - 0x1400000<br /> |- <br /> | vrc || 0xC00000000 || 0x600005000000 || 0x1000000( 16 MB) || 0x0000000000000001 0000000000000000 || 0x1500000 - 0x2400000<br /> |- <br /> | /dev/zero || 0x4000000000 || 0x3240000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000001 || 0x7240000<br /> |- <br /> | dma_vu0_dmem0 || 0x4001004000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | dma_vu0_dmem1 || 0x4001005000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | dma_vu0_dmem2 || 0x4001006000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | dma_vu0_dmem3 || 0x4001007000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem0 || 0x30000000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem1 || 0x30001000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem2 || 0x30002000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem3 || 0x30003000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | SGSXdr || 0x1904000000 || 0x64000C000000 || 0x1700000( 23 MB) || 0x0000000000000001 0000000000000000 || 0x2500000 - 0x3B00000<br /> |- <br /> | iopTrace || 0x1400000000 || 0x3250000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000000 || 0x7250000<br /> |}<br /> <br /> === Memory Allocation ===<br /> <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Name !! Size !! page_log2 !! lpar2(netemu 4.81) !! lpar1(lv1 4.81)<br /> |-<br /> | ra_vu0_dmem || 0x1000 (4 KB) || 12 (4 KB) || 0x3200000 || 0x7200000<br /> |- <br /> | ra_ee_spr_lo || 0x2000 (8 KB) || 12 (4 KB) || 0x3201000 || 0x7201000<br /> |- <br /> | ra_ee_sprx || 0x6000 (24 KB) || 12 (4 KB) || 0x3203000 || 0x7203000<br /> |- <br /> | ra_negmem || 0x10000 (64 KB) || 16 (64 KB) || 0x3210000 || 0x7210000<br /> |- <br /> | ra_iop_spad || 0x10000 (64 KB) || 16 (64 KB) || 0x3220000 || 0x7220000<br /> |- <br /> | ra_spu2_pcm || 0x10000 (64 KB) || 16 (64 KB) || 0x3230000 || 0x7230000<br /> |- <br /> | ra_nulls || 0x10000 (64 KB) || 16 (64 KB) || 0x3240000 || 0x7240000<br /> |- <br /> | ra_itrace || 0x10000 (64 KB) || 16 (64 KB) || 0x3250000 || 0x7250000<br /> |- <br /> | ra_iop_ram || 0x200000 (2 MB) || 20 (1 MB) || 0x3300000 || 0x7300000<br /> |- <br /> | ra_spu2_ram || 0x200000 (2 MB) || 20 (1 MB) || 0x3500000 || 0x7500000<br /> |- <br /> | ra_vu0_code || 0x400000 (4 MB) || 20 (1 MB) || 0x580000800000 || 0x900000 - 0xC00000<br /> |- <br /> | ra_vu0_data || 0x400000 (4 MB) || 20 (1 MB) || 0x3700000 || 0x7700000<br /> |- <br /> | ra_ee_rom_pc || 0x400000 (4 MB) || 20 (1 MB) || 0x580000C00000 || 0xD00000 - 0x1000000<br /> |- <br /> | ra_ps2_rom || 0x400000 (4 MB) || 20 (1 MB) || 0x580001000000 || 0x1100000 - 0x1400000<br /> |- <br /> | ra_vrc_mem || 0x1000000 (16 MB) || 20 (1 MB) || 0x600005000000 || 0x1500000 - 0x2400000<br /> |- <br /> | ra_sgs_xdr || 0x1700000 (23 MB) || 20 (1 MB) || 0x64000C000000 || 0x2500000 - 0x3B00000<br /> |- <br /> | ra_ee_ram || 0x2000000 (32 MB) || 20 (1 MB) || 0x64000E000000 || 0x3C00000 - 0x3F00000, 0x8000000 - 0x9B00000<br /> |- <br /> | ra_ee_ram_pc || 0x2000000 (32 MB) || 20 (1 MB) || 0x640010000000 || 0x9C00000 - 0xBB00000<br /> |- <br /> | ra_trans_code || 0x3000000 (48 MB) || 20 (1 MB) || 0x680024000000 || 0xBC00000 - 0xEB00000<br /> |}<br /> <br /> ===PS2 Memory and Hardware Mapped Registers Layout===<br /> ----------------------------------------------- <br /> PCSX2<br /> Mapping host memory for virtual systems...<br /> EE Main Memory @ 0x20000000 -&gt; 0x22884000 [40mb]<br /> IOP Main Memory (2mb) @ 0x24000000 -&gt; 0x24211000 [2mb]<br /> VU0/1 on-chip memory @ 0x28000000 -&gt; 0x2800A000 [40kb]<br /> Reserving memory for recompilers...<br /> SuperVU0 Recompiler Cache @ 0x0E800000 -&gt; 0x0F000000 [8mb]<br /> SuperVU1 Recompiler Cache @ 0x0F000000 -&gt; 0x0F800000 [8mb]<br /> Micro VU0 Recompiler Cache @ 0x3C000000 -&gt; 0x40000000 [64mb]<br /> Micro VU1 Recompiler Cache @ 0x40000000 -&gt; 0x44000000 [64mb]<br /> (thread:MTVU) Calling pthread_create...<br /> R5900-32 Recompiler Cache @ 0x30000000 -&gt; 0x34000000 [64mb]<br /> R3000A Recompiler Cache @ 0x34000000 -&gt; 0x36000000 [32mb]<br /> VIF0 Unpack Recompiler Cache @ 0x36000000 -&gt; 0x36800000 [8mb]<br /> VIF1 Unpack Recompiler Cache @ 0x38000000 -&gt; 0x38800000 [8mb]<br /> <br /> R5900 RAM copy @ 0x11C20000 -&gt; 0x13C20000 [32mb]<br /> R5900 RAM LUT @ 0x13C20000 -&gt; 0x16060000 [36mb]<br /> <br /> RAM Sizes - Overview<br /> --------------------<br /> EE - 32 MB<br /> GS - 4 MB<br /> IOP - 2 MB<br /> SPU - 2 MB <br /> <br /> Logical Address Range Physical Address Range Description Size<br /> --------------------- ---------------------- ----------- -----<br /> 0x80000000-0x800FFFFF 0x00000000-0x000FFFFF EE Kernel 1 MB<br /> 0x00100000-0x01FFFFFF 0x00100000-0x01FFFFFF EE RAM (Cached) 31 MB<br /> 0x20100000-0x21FFFFFF 0x00100000-0x01FFFFFF EE RAM (Uncached) 31 MB<br /> 0x30100000-0x31FFFFFF 0x00100000-0x01FFFFFF EE RAM (Uncached&amp;accelerated) 31 MB<br /> 0x10000000-0x11FFFFFF 0x10000000-0x11FFFFFF EE Registers (uncached) 32 MB<br /> 0x12000000-0x13FFFFFF 0x12000000-0x13FFFFFF GS Registers (uncached) 32 MB<br /> 0x1FC00000-0x1FFFFFFF 0x1FC00000-0x1FFFFFFF? Boot ROM0 (uncached) 4 MB<br /> 0x9FC00000-0x9FFFFFFF 0x1FC00000-0x1FFFFFFF? Boot ROM09 (cached) 4 MB<br /> 0xBFC00000-0xBFFFFFFF 0x1FC00000-0x1FFFFFFF? Boot ROM0b (uncached) 4 MB<br /> 0xBE000000-0xBE040000 0x1E000000-0x1E03FFFF? Boot ROM1 256 KB<br /> 0xBE400000-0xBE440000 0x1E400000-0x1E43FFFF? Boot ROM2 256 KB<br /> 0xBC000000-0xBC1FFFFF 0x1C000000-0x1C1FFFFF? IOP RAM 2 MB<br /> 0x70000000-0x70003FFF ---------------------- Scratch Pad 16 KB <br /> <br /> Kernel empty and unused areas (NB: On non-modded consoles)<br /> ----------------------------------------------------------<br /> Area Logical Address Range Physical Address Range Size<br /> ---- --------------------- ---------------------- ----<br /> #1 0x80030000-0x80074FFF 0x00030000-0x00074FFF 282624 Bytes<br /> #2 0x80078250-0x8007FFFF 0x00078250-0x0007FFFF 32176 Bytes<br /> <br /> RAM Mirror Modes Logical Address Range Physical Address Range Size<br /> ---------------- --------------------- ---------------------- ----<br /> Cached 0x00100000-0x01FFFFFF 0x00100000-0x01FFFFFF 31 MB<br /> Uncached 0x20100000-0x21FFFFFF 0x00100000-0x01FFFFFF 31 MB<br /> Uncached&amp;accelerated 0x30100000-0x31FFFFFF 0x00100000-0x01FFFFFF 31 MB<br /> <br /> Operating Modes Logical Address Range Physical Address Range Size<br /> --------------- --------------------- ---------------------- ----<br /> USEG 0x00000000-0x01FFFFFF 0x00000000-0x01FFFFFF 32 MB<br /> KSEG0 0x80000000-0x81FFFFFF 0x00000000-0x01FFFFFF 32 MB<br /> KSEG1 0xA0000000-0xA1FFFFFF 0x00000000-0x01FFFFFF 32 MB<br /> <br /> Hardware Mapped Registers <br /> ------------------------- <br /> <br /> COUNTERS' REGISTERS<br /> -------------------<br /> 10000000 T0_COUNT Timer Count<br /> 10000010 T0_MODE Timer Mode<br /> 10000020 T0_COMP Timer Compare value<br /> 10000030 T0_HOLD Timer Pause <br /> <br /> 10000800 T1_COUNT Timer Count<br /> 10000810 T1_MODE Timer Mode<br /> 10000820 T1_COMP Timer Compare value<br /> 10000830 T1_HOLD Timer Pause <br /> <br /> 10001000 T2_COUNT Timer Count<br /> 10001010 T2_MODE Timer Mode<br /> 10001020 T2_COMP Timer Compare value<br /> <br /> 10001810 T3_COUNT Timer Count<br /> 10001820 T3_MODE Timer Mode<br /> 10001830 T3_COMP Timer Compare value<br /> <br /> IPU REGISTERS (MPEG2 DECODER)<br /> -----------------------------<br /> 10002000 IPU_CMD<br /> 10002010 IPU_CTRL<br /> 10002020 IPU_BP<br /> 10002030 IPU_TOP<br /> <br /> GIF REGISTERS<br /> -------------<br /> 10003000 GIF_CTRL<br /> 10003010 GIF_MODE<br /> 10003020 GIF_STAT<br /> 10003040 GIF_TAG0<br /> 10003050 GIF_TAG1<br /> 10003060 GIF_TAG2<br /> 10003070 GIF_TAG3<br /> 10003080 GIF_CNT<br /> 10003090 GIF_P3CNT<br /> 100030a0 GIF_P3TAG <br /> <br /> VIF0 REGISTERS<br /> -------------- <br /> 10003800 VIF0_STAT VIF0 Status<br /> 10003810 VIF0_FBRST<br /> 10003820 VIF0_ERR<br /> 10003830 VIF0_MARK<br /> 10003840 VIF0_CYCLE<br /> 10003850 VIF0_MODE <br /> 10003860 VIF0_NUM<br /> 10003870 VIF0_MASK<br /> 10003880 VIF0_CODE<br /> 10003890 VIF0_ITOPS<br /> 100038d0 VIF0_ITOP<br /> 10003900 VIF0_R0<br /> 10003910 VIF0_R1<br /> 10003920 VIF0_R2<br /> 10003930 VIF0_R3<br /> 10003940 VIF0_C0<br /> 10003950 VIF0_C1<br /> 10003960 VIF0_C2<br /> 10003970 VIF0_C3 <br /> <br /> VIF1 REGISTERS<br /> --------------<br /> 10003c00 VIF1_STAT<br /> 10003c10 VIF1_FBRST<br /> 10003c20 VIF1_ERR<br /> 10003c30 VIF1_MARK<br /> 10003c40 VIF1_CYCLE<br /> 10003c50 VIF1_MODE<br /> 10003c60 VIF1_NUM<br /> 10003c70 VIF1_MASK<br /> 10003c80 VIF1_CODE<br /> 10003c90 VIF1_ITOPS<br /> 10003ca0 VIF1_BASE<br /> 10003cb0 VIF1_OFST<br /> 10003cc0 VIF1_TOPS<br /> 10003cd0 VIF1_ITOP<br /> 10003ce0 VIF1_TOP<br /> 10003d00 VIF1_R0<br /> 10003d10 VIF1_R1<br /> 10003d20 VIF1_R2<br /> 10003d30 VIF1_R3<br /> 10003d40 VIF1_C0<br /> 10003d50 VIF1_C1<br /> 10003d60 VIF1_C2<br /> 10003d70 VIF1_C3<br /> <br /> FIFO<br /> ----<br /> 10004000 VIF0_FIFO(write)<br /> 10005000 VIF1_FIFO(read/write) <br /> <br /> 10006000 GIF_FIFO0<br /> 10006010 GIF_FIFO1<br /> 10006020 GIF_FIFO2 <br /> <br /> 10007000 IPU_out_FIFO(read)<br /> 10007010 IPU_in_FIFO(write)<br /> <br /> DMA CH0 REGISTERS (Linked to VIF0)<br /> ----------------------------------<br /> 10008000 D0_CHCR DMA-0 Channel Control<br /> 10008010 D0_MADR Memory Address<br /> 10008020 D0_SIZE Transfer Size (they call it D0_QWC)<br /> 10008030 D0_TAG DMA Tag (they call it D0_TADR)<br /> 10008040 D0_??LO they call it D0_ASR0<br /> 10008050 D0_??HI they call it D0_ASR1 <br /> <br /> DMA CH1 REGISTERS (Linked to VIF1)<br /> ----------------------------------<br /> 10009000 D1_CHCR DMA-1 Channel Control<br /> 10009010 D1_MADR Memory Address<br /> 10009020 D1_SIZE Transfer Size (they call it D1_QWC)<br /> 10009030 D1_TAG DMA Tag (they call it D1_TADR)<br /> 10009040 D1_??LO they call it D1_ASR0<br /> 10009050 D1_??HI they call it D1_ASR1 <br /> <br /> DMA CH2 REGISTERS (Linked to GIF)<br /> ---------------------------------<br /> 1000A000 D2_CHCR DMA-2 Channel Control<br /> 1000A010 D2_MADR Memory Address<br /> 1000A020 D2_SIZE Transfer Size (they call it D2_QWC)<br /> 1000A030 D2_TAG DMA Tag (they call it D2_TADR)<br /> 1000A040 D2_??LO they call it D2_ASR0<br /> 1000A050 D2_??HI they call it D2_ASR1<br /> 1000A080 D2_SADR<br /> <br /> DMA CH3 REGISTERS (Linked to IPU (FROM???))<br /> --------------------------------------------<br /> 1000B000 D3_CHCR DMA-3 Channel Control<br /> 1000B010 D3_MADR Memory Address<br /> 1000B020 D3_QWC Transfer Size<br /> <br /> DMA CH4 REGISTERS (Linked to IPU (TO???))<br /> -----------------------------------------<br /> 1000B400 D4_CHCR DMA-4 Channel Control<br /> 1000B410 D4_MADR Memory Address<br /> 1000B420 D4_QWC Transfer Size<br /> 1000B430 D4_TADR DMA Tag<br /> <br /> DMA CH5 REGISTERS (Linked to SIF0)<br /> ----------------------------------<br /> 1000C000 D5_CHCR DMA-4 Channel Control<br /> 1000C010 D5_MADR Memory Address<br /> 1000C020 D5_QWC Transfer Size <br /> <br /> DMA CH6 REGISTERS (Linked to SIF1)<br /> ----------------------------------<br /> 1000C400 D6_CHCR DMA-6 Channel Control<br /> 1000C410 D6_MADR Memory Address<br /> 1000C420 D6_QWC Transfer Size<br /> 1000C430 D6_TADR DMA Tag <br /> <br /> DMA CH7 REGISTERS (Linked to SIF2)<br /> ----------------------------------<br /> 1000C800 D7_CHCR DMA-7 Channel Control<br /> 1000C810 D7_MADR Memory Address<br /> 1000C820 D7_QWC Transfer Size<br /> <br /> DMA CH8 REGISTERS (Linked to SPR (form SCRATCH PAD to RAM???)<br /> --------------------------------------------------------------<br /> 1000D000 D8_CHCR DMA-8 Channel Control<br /> 1000D010 D8_MADR Memory Address<br /> 1000D020 D8_QWC Transfer Size<br /> 1000D080 D8_MCR ???<br /> <br /> DMA CH9 REGISTERS (Linked to SPR (form RAM to SCRATCH PAD???)<br /> --------------------------------------------------------------<br /> 1000D400 D9_CHCR DMA-9 Channel Control<br /> 1000D410 D9_MADR Memory Address<br /> 1000D420 D9_QWC Transfer Size<br /> 1000D430 D9_TADR DMA Tag<br /> 1000D480 D9_MCR? ??? <br /> <br /> DMA CONTROL REGISTERS<br /> ---------------------<br /> 1000E000 D_CTRL DMA Control<br /> 1000E010 D_STAT DMA Status<br /> 1000E020 D_PCR <br /> 1000E030 D_SQWC<br /> 1000E040 D_RBSR<br /> 1000E050 D_RBOR<br /> 1000E060 D_STADR<br /> <br /> 1000F000 INTC_STAT<br /> 1000F010 INTC_MASK<br /> <br /> 1000F100<br /> 1000F120<br /> 1000F130 STD-OUT STATUS???<br /> 1000F140<br /> 1000F150<br /> 1000F180 STD-OUT DATA???<br /> <br /> 1000F230 SBUS_SMFLG<br /> <br /> 1000F410<br /> 1000F430<br /> 1000F440<br /> 1000F480<br /> 1000F490<br /> 1000F500 <br /> <br /> 1000f520 D_ENABLEW<br /> 1000f590 D_ENABLER<br /> <br /> <br /> VU MAPPED MEMORY REGISTERS<br /> --------------------------<br /> 11000000 VU0 PROGRAM MEMORY Program Memory (4K ROM)<br /> 11001000 VU0 MEMORY Memory (4K ROM)<br /> 11008000 VU1 PROGAM MEMORY VU1 Program Memory (16K ROM)<br /> 1100C000 VU1 MEMORY VU1 Memory (16K ROM)<br /> <br /> GS<br /> --<br /> 12000000 GS_PMODE<br /> 12000010 GS_SMODE1<br /> 12000020 GS_SMODE2<br /> 12000030 GS_SRFSH<br /> 12000040 GS_SYNCH1<br /> 12000050 GS_SYNCH2<br /> 12000060 GS_SYNCV<br /> 12000070 GS_DISPFB1<br /> 12000080 GS_DISPLAY1<br /> 12000090 GS_DISPFB2<br /> 120000a0 GS_DISPLAY2<br /> 120000b0 GS_EXTBUF<br /> 120000c0 GS_EXTDATA<br /> 120000d0 GS_EXTWRITE<br /> 120000e0 GS_BGCOLOR<br /> 12001000 GS_CSR<br /> 12001010 GS_IMR<br /> 12001040 GS_BUSDIR<br /> 12001080 GS_SIGLBLID<br /> <br /> Scratch Pad RAM Address Range<br /> -----------------------------<br /> 0x70000000-0x70003FFF<br /> <br /> ROM BIOS Mirror Address Range Logical Address Range Physical Address Range<br /> ----------------------------- --------------------- ----------------------<br /> Uncached 0x1FC00000-0x1FFFFFFF 0x1FC00000-0x1FFFFFFF<br /> Cached 0x9FC00000-0x9FFFFFFF 0x1FC00000-0x1FFFFFFF<br /> Uncached 0xBFC00000-0xBFFFFFFF 0x1FC00000-0x1FFFFFFF <br /> <br /> Some Acronyms<br /> --------<br /> EE - Emotion Engine (main CPU)<br /> GS - Graphics Synthesizer<br /> IOP - Input/Output Processor<br /> SPU - Sound Processor Unit<br /> USEG - User Mode Segment<br /> KSEG0 - Kernel Mode, Segment 0<br /> KSEG1 - Kernel Mode, Segment 1 <br /> <br /> Sources<br /> -------<br /> TX System RISC TX79 Core Architecture (Symmetric 2-way superscalar 64-bit CPU) Rev. 2.0<br /> (http://lukasz.dk/files/tx79architecture.pdf)<br /> PS2 MEMORY &amp; HARDWARE MAPPED REGISTERS LAYOUT, by Minmei (https://web.archive.org/web/20080722165353/http://ps2dev.org/ps2/Technical_Documentation/Other/PS2_Memory_and_Hardware_Mapped_Registers_Layout.download) <br /> Kernel empty and unused areas, by GTLCPIMP (https://artemis.bountysource.com/task/show/2270)<br /> dump2mass, by misfire (https://artemis.bountysource.com/solution/show/1074)<br /> ... and others ones spreaded out on the World Wide Web which I can't remember<br /> <br /> ===Controller===<br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! ID !! Controller #Number !! Note<br /> |-<br /> | 1 (1-A) || 1 ||<br /> |-<br /> | 2 (2-A) || 2 ||<br /> |-<br /> | 3 (1-B) || 3 ||<br /> |-<br /> | 4 (2-B) || 4 ||<br /> |-<br /> | 5 (1-C) || 5 || Gamepad LED #1 + #4<br /> |-<br /> | 6 (2-C) || 6 || Gamepad LED #2 + #4<br /> |-<br /> | 7 (1-D) || 7 || Gamepad LED #3 + #4<br /> |-<br /> |}<br /> <br /> ===Peripheral support===<br /> ====ps2_emu.self / ps2_gxemu.self====<br /> #Hub<br /> #Mouse<br /> #Keyboard<br /> #EyeToy<br /> #Head Mount Display<br /> #Mic<br /> #Ascii Mic<br /> #Socom USB Headset<br /> #Usb Headset<br /> #Sea Mic Controller<br /> #Force Feedback device<br /> #GT Force<br /> #Momo Force<br /> #Driving Force Pro<br /> #G25/G27<br /> #Momo Racing<br /> #Flight Force<br /> #Force 3D Pro<br /> #Modem<br /> #Guncon2<br /> #Densya de GO! controller type 2<br /> #Densya de GO! Sincansen senyou controller<br /> #Capture Eye<br /> #Flight Stick<br /> #Flight Stick 2<br /> #Pop Egg<br /> #Trance Vibrator<br /> #PSP<br /> #Compact Flight Controller<br /> #Flash Memory<br /> #Buzz!<br /> #Pachi-Slot Controller Kurouto<br /> #Usb Adapter<br /> #Guncon3<br /> #Multi Train Controller<br /> <br /> ====ps2_netemu.self====<br /> #BD Remote Control<br /> #PLAYSTATION(R)3 Controller (Vendor ID 0x54C, Product ID 0x268), <br /> #Motion Controller - Move (Vendor ID 0x54C, Product ID 0x3D5), <br /> #Navigation Controller (Vendor ID 0x54C, Product ID 0x42F)<br /> #&quot;guncon3&quot;<br /> &lt;br/&gt;<br /> Unknown: <br /> #Vendor ID 0xF0D (Hori), Product ID 0x4A <br /> #Vendor ID 0x54C (Sony), Product ID 0x5AF<br /> <br /> ===BIOS===<br /> ====ps2_netemu.self====<br /> Ps2_netemu use integrated PS2 bios included in ps2netemu.elf, not additional file like in ps1emu case. In 4.81 firmware BIOS is located from 0x820A00 to 0x9F09FF (0x820900 to 0x9F08FF in fw4.50). Bios version seems to be Developement v2.20 from Japan region (22/01/2007), but it's of course not limited to booting only NTSC-J games.<br /> <br /> Notable thing is that ps2_netemu run fine with ps2_gxemu bios, but fail to boot using ps2_emu bios. <br /> <br /> {| class=&quot;wikitable&quot; style=&quot;font-size:small;&quot;<br /> |-<br /> ! File !! Offset in fw4.81 ps2_netemu !! Offset in exported bin !! Description !! File type (exportable)<br /> |-<br /> | RESET || 0x820A00 || 0x00 || Bootstrap code for the EE and IOP. || BIN<br /> |-<br /> | ROMDIR || 0x823180 || 0x2780 || The ROMDIR part of the ROM image, which provides information on the location and name of files contained in the image. || BIN<br /> |-<br /> | EXTINFO || 0x8236C0 || 0x2CC0 || Contains the &quot;EXTINFO&quot; for all files in the ROM image. || BIN<br /> |-<br /> | SBIN || 0x823D30 || 0x3330 || Seems to be the pad controller library for the PS1 monitor. || BIN<br /> |-<br /> | LOGO || 0x82ACD0 || 0xA2D0 || PS1 logo? || BIN<br /> |-<br /> | IOPBTCONF || 0x83F420 || 0x1EA20 || Boot configuration file for the IOP, during the final phase of the IOP reset. If no UDNL module is specified, the IOP will only have a single IOP reset in the reboot process, with the modules listed in IOPBTCONF. || BIN<br /> |-<br /> | IOPBTCON2 || 0x83F510 || 0x1EB10 || Boot configuration file for the IOP, for the first phase of the IOP reset (before UDNL is loaded). || BIN<br /> |-<br /> | SYSMEM || 0x83F5E0 || 0x1EBE0 || System Memory Manager. || ELF<br /> |-<br /> | LOADCORE || 0x840800 || 0x1FE00 || The core of IOP module loading. Provides the lowest level of IOP module loading functions. Also handles the startup of the IOP. || ELF<br /> |-<br /> | EXCEPMAN || 0x842D80 || 0x22380 || Exception manager. || ELF<br /> |-<br /> | INTRMANP || 0x843960 || 0x22F60 || Interrupt Manager. According to wisi, it is for PS mode. || ELF<br /> |-<br /> | INTRMANI || 0x845370 || 0x24970 || Interrupt Manager. According to wisi, it is for IOP mode. || ELF<br /> |-<br /> | SSBUSC || 0x8471B0 || 0x267B0 || SSBUS Controller library. The SSBUS seems to be the bus that all peripherals get connected to. It seems to have the power to control the mapping of the device registers, as well as access timing. || ELF<br /> |-<br /> | TIMEMANP || 0x847920 || 0x26F20 || Timer Manager (PS mode) || ELF<br /> |-<br /> | TIMEMANI || 0x848500 || 0x27B00 || Timer Manager (IOP mode) || ELF<br /> |-<br /> | DMACMAN || 0x849130 || 0x28730 || DMA Controller Manager. || ELF<br /> |-<br /> | SYSCLIB || 0x84C830 || 0x2BE30 || System C Library. || ELF<br /> |-<br /> | HEAPLIB || 0x84EF90 || 0x2E590 || Memory HEAP LIBrary (i.e. thvpool, thfpool) || ELF<br /> |-<br /> | THREADLIB || 0x84FC90 || 0x2F290 || Multi_Thread_Manager || ELF<br /> |-<br /> | VBLANK || 0x858A20 || 0x38020 || V-Blank management || ELF<br /> |-<br /> | IOMAN || 0x8597B0 || 0x38DB0 || IO Manager || ELF<br /> |-<br /> | MODLOAD || 0x85B720 || 0x3AD20 || IOP module loader. || ELF<br /> |-<br /> | ROMDRV || 0x85DA70 || 0x3D070 || ROM driver. Provides access to the boot ROM (rom0). || ELF<br /> |-<br /> | ADDDRV || 0x85E960 || 0x3DF60 || Adds support for the DVD ROM (rom1:), via ROMDRV. || ELF<br /> |-<br /> | STDIO || 0x85DDC0 || 0x3D3C0 || Standard I/O library. || ELF<br /> |-<br /> | SIFMAN || 0x85F9B0 || 0x3EFB0 || SIF manager. || ELF<br /> |-<br /> | SIFINIT || 0x860F50 || 0x40550 || Initializes the SIF. || ELF<br /> |-<br /> | EESYNC || 0x861370 || 0x40970 || For synchronizing with the EE, at the end of IOP resets. EESYNC from DNAS images are evil; they also perform a memory wipe of the region from 0x00084000 to .0x00100000. || ELF<br /> |-<br /> | EENULL || 0x861810 || 0x40E10 || The idle thread (id #0) module, in ps2 loaded to 0x00081FC0. || BIN<br /> |-<br /> | PS1ID || 0x861850 || 0x40E50 || Only found in newer boot ROMs || BIN<br /> |-<br /> | LIBFI || 0x861860 || 0x40E60 || Not present in the boot ROM of the SCPH-10000 and SCPH-15000. || BIN<br /> |-<br /> | PS1VERJ || 0x861950 || 0x40F50 || || BIN<br /> |-<br /> | PS1VERA || 0x861960 || 0x40F60 || || BIN<br /> |-<br /> | PS1VERE || 0x861970 || 0x40F70 || || BIN<br /> |-<br /> | PS1VERC || 0x861980 || 0x40F80 || || BIN<br /> |-<br /> | PS1VERH || 0x861990 || 0x40F90 || || BIN<br /> |-<br /> | OSDSYS || 0x8619A0 || 0x40FA0 || The browser || BIN<br /> |-<br /> | - || 0x8619B0 || 0x40FB0 || || BIN<br /> |-<br /> | RDRAM || 0x861A00 || 0x41000 || Provides a RDRAM test for the EE at power-on. This is run from RESET. || BIN<br /> |-<br /> | EELOADCNF || 0x864750 || 0x43D50 || Contains the IOP boot configuration file for EELOAD. || BIN<br /> |-<br /> | SIFCMD || 0x864900 || 0x43F00 || SIF command module. Contains the SIF command and SIF RPC functions. || ELF<br /> |-<br /> | REBOOT || 0x866B40 || 0x46140 || The reboot service. Receives IOP reset packets from the EE, from across the SIF. || ELF<br /> |-<br /> | LOADFILE || 0x867310 || 0x46910 || The RPC server for MODLOAD || ELF<br /> |-<br /> | EECONF || 0x869A70 || 0x49070 || Loads part of the system configuration from the MECHACON EEPROM. Also configures and resets some peripherals, depending on the model version. In slimlines, and possibly on PS3 EECONF will also load the MAC address. || ELF<br /> |-<br /> | - || 0x86A9F0 || 0x49FF0 || || BIN<br /> |-<br /> | IOPBOOT || 0x86AA00 || 0x4A000 || IOP bootup program || BIN<br /> |-<br /> | - || 0x86BB60 || 0x4B160 || || BIN<br /> |-<br /> | TBIN || 0x86C200 || 0x4B800 || The PS1 monitor program. Seems to be the PS1 BIOS. This is started by RESET, when the IOP is in PS1 mode. || BIN<br /> |-<br /> | XSHA1 || 0x87A170 || 0x59770 || sha1 - this only present in PS3. It is used as additional antipiracy check. It seems that it calculate disc main elf checksum and compares it with some database. Config related?|| ELF<br /> |-<br /> | XLOADFILE || 0x87B140 || 0x5A740 || Updated module || ELF<br /> |-<br /> | SIO2MAN || 0x87E1F0 || 0x5D7F0 || SIO2 manager. Provides access to the SIO2 interface. || ELF<br /> |-<br /> | - || 0x87FE20 || 0x5F420 || || BIN<br /> |-<br /> | MCSERV || 0x881D40 || 0x61340 || RPC server for MCMAN. || ELF<br /> |-<br /> | - || 0x883A40 || 0x63040 || || BIN<br /> |-<br /> | KROMG || 0x884A00 || 0x64000 || || BIN<br /> |-<br /> | - || 0x8866C0 || 0x65CC0 || || BIN<br /> |-<br /> | KROM || 0x886A00 || 0x66000 || Kanji ROM? Not sure where this is used. || BIN<br /> |-<br /> | - || 0x8A0870 || 0x7FE70 || || BIN<br /> |-<br /> | ROMVER || 0x8A0900 || 0x7FF00 || ROM version. || BIN<br /> |-<br /> | - || 0x8A0910 || 0x7FF10 || || BIN<br /> |-<br /> | VERSTR || 0x8A0930 || 0x7FF30 || Version string. Probably PS1 ROM will use this because that this string is also present in PlayStation consoles. || BIN<br /> |-<br /> | - || 0x8A0990 || 0x7FF90 || || BIN<br /> |-<br /> | ROMGSCRT || 0x8A0A00 || 0x80000 || || BIN<br /> |-<br /> | NCDVDMAN || 0x8A3730 || 0x82D30 || It seems to be a heavily stripped-down CDVDMAN module, with no support for some S-command functions like sceCdRI. || ELF<br /> |-<br /> | SECRMAN || 0x8B0170 || 0x8F770 || Security Manager. Signing is NOT done with the one in ROM, but with a special version that comes with the utility discs. Looks like PS3 units have a different SECRMAN module from retail sets, similar to PS2 TOOL one. || ELF<br /> |-<br /> | MCMAN || 0x8B4630 || 0x93C30 || Memory Card Manager. || ELF<br /> |-<br /> | PADMAN || 0x8C3AC0 || 0xA30C0 || Pad manager. || ELF<br /> |-<br /> | CDVDMAN || 0x8CD210 || 0xAC810 || The CD/DVD manager. || ELF<br /> |-<br /> | CDVDFSV || 0x8D55C0 || 0xB4BC0 || The RPC server for CDVDMAN. || ELF<br /> |-<br /> | FILEIO || 0x8DD980 || 0xBCF80 || RPC server for IOMAN. Sony has greatly changed the semantics and design of FILEIO after some point. Connecting an old FILEIO EE RPC client to a newer server will result in a severe IOP crash. || ELF<br /> |-<br /> | CLEARSPU || 0x8DFA80 || 0xBF080 || Seems to clear/reset the SPU, but is known to cause crashes under some conditions. Not sure if it's buggy or not. Only used by the OSDSYS of the SCPH-10000 and SCPH-15000, probably retained for backward-compatibility. || ELF<br /> |-<br /> | UDNL || 0x8E16C0 || 0xC0CC0 || It is responsible for selecting the modules and starting the IOP, during the final phase of the IOP reset where the desired modules are to be loaded into the IOP. || ELF<br /> |-<br /> | IGREETING || 0x8E35C0 || 0xC2BC0 || Displays boot information (i.e. IOP boot type, EBOOTP, IBOOTP, switch positions for DSW602 and the type of DSW602 board installed || ELF<br /> |-<br /> | EELOAD || 0x8E4620 || 0xC3C20 || The EE ELF loader, which is loaded by LoadExecPS2() to 0x00082000 in PS2 for loading ELFs. || BIN<br /> |-<br /> | XCDVDMAN || 0x8F37A0 || 0xD2DA0 || cdvd_driver - Updated module || ELF<br /> |-<br /> | XCDVDFSV || 0x902530 || 0xE1B30 || cdvd_ee_driver - Updated module || ELF<br /> |-<br /> | OSDSND || 0x910960 || 0xEFF60 || OSD sound library. This is actually the tentative sound driver, which is called &quot;librspu2&quot; in the Sony SDK. || ELF<br /> |-<br /> | PS2LOGO || 0x93B5B0 || 0x11ABB0 || Displays the PlayStation 2 logo from the inserted disc. For newer consoles, if the logo cannot be decrypted properly, it will fall back to the browser. Not actually required to boot games, but the Sony OSDSYS boots PS2 games through this program. || ELF<br /> |-<br /> | XPARAM2 || 0x957F00 || 0x137500 || Store IOP emulation settings/flags || ELF<br /> |-<br /> | OSDSYS || 0x95A400 || 0x139A00 || The browser || BIN<br /> |-<br /> | PIOPRP || 0x998280 || 0x177880 || Present in the PS3 ps2_(gx/soft/net)emu; contains version 3.1.0 of the IOP software (compared to version 1.3.4 on the root). || BIN<br /> |-<br /> | KERNEL || 0x9DC1E0 || 0x1BB7E0 || The EE kernel || BIN<br /> |}<br /> Description source: https://gist.github.com/uyjulian/25291080f083987d3f3c134f593483c5<br /> <br /> ==Virtual PS2 HDD==<br /> There are 2 different &quot;PS2 game&quot; contents that can be installed in PS3 HDD (CATEGORY's [[PARAM.SFO#CATEGORY_For_HDD_contents | 2P and 2G ]]).<br /> '''2P''' are games released from PSN as &quot;PS2 Classic&quot; in .PKG format, and '''2G''' are a few real &quot;PS2 DVD discs&quot; that can be installed in the PS3 HDD, this installation is managed by the '''PS2_system_data.pkg'''.<br /> <br /> This games can be installed in real PS2 (in the internall HDD of a PS2 fat)... later this same installation was used in the [http://en.wikipedia.org/wiki/PSX_(DVR) PSX]... and when implemented in PS3 there was needed to use a '''virtual PS2 HDD''' image file keeping the same format than the original HDD used in PS2.<br /> <br /> Game files (extracted from the real PS2 disc) are installed in a '''IMAGE.DAT''' file, this file is a 1:1 &quot;raw copy&quot; of a PS2 HDD.<br /> <br /> This '''IMAGE.DAT''' is placed in the &quot;install folder&quot; (inside USRDIR folder) and his size can vary up to 10+GB<br /> <br /> There are 2 different installations: the most common is used to store &quot;game expansions&quot; (e.g: used by additional content in SOCOM games)... the other type of installation is a &quot;full install&quot; and it seems the only game that uses it is &quot;Final Fantasy XI&quot; (main game installation when the game boots for first time + game expansions added later when needed in the same '''IMAGE.DAT''')<br /> <br /> '''PS2_system_data.pkg''' itself uses an '''IMAGE.DAT''' file (6.43 MB)<br /> <br /> The structure of this &quot;virtual PS2 HDD&quot; uses an &quot;APA header&quot; and a &quot;APA MBR&quot; + several &quot;APA partitions&quot;, some of them containing &quot;PFS filesystems&quot;.<br /> <br /> Error message trying to boot a CATEGORY &quot;2G&quot; game with hand-made SFO's and invalid IMAGE.DAT file:<br /> '''The game partition for this game cannot be created because the installed game is corrupted.'''<br /> '''To perform this operation, delete the game, and then reinstall the game using the disc.'''<br /> <br /> *Notes<br /> **List of PS2 disc games compatibles with PS3 HDD installation hardcoded in '''dev_flash/vsh/module/[[game_ext_plugin]].sprx'''<br /> **Virtuall PS2 HDD support module '''dev_flash/vsh/module/[[libps2hdd]].sprx''' ?<br /> <br /> ===PS2 System Data (PSN HDD Tool package)===<br /> A direct link to the package can be found in NoPayStation database in DLCs<br /> <br /> Content ID: IP9100-NPIA00001_00-PS2HDDSYSDAT0001<br /> QA Digest: 2A876715D42678BB7A6E00C030C0121B<br /> HASH: E1B0DBE46FC44190DC7A140681D8B9D4<br /> <br /> http://manuals.playstation.net/document/en/ps3/current/game/hddinstall.html<br /> <br /> '''Titles supporting HDD installation'''<br /> * Nobunaga's Ambition Online and Expansion Packs<br /> * Final Fantasy XI (disc1=SCUS97266 disc2=SCUS97269)and Expansion Discs<br /> * SOCOM II: U.S. NAVY SEALs and Related discs included with OPM Issue 87, OPM Issue 88, OPM Issue 89, OPM Issue 90<br /> * SOCOM 3: U.S. NAVY SEALs<br /> * SOCOM: U.S. NAVY SEALs Combined Assault<br /> * Front Mission Online<br /> * Official PlayStation Magazine Issue 87, 88, 89, 90 Discs<br /> ([[Talk:Emulation#PS2_HDD | non-official ps2hdd gameslist ]])<br /> <br /> ===TitleID/DiscID in game_ext_plugin.sprx===<br /> <br /> Mainly Final Fantasy 11, Nobunaga Ambition Online, Socom IDs and the required HDD Gigabyte amount for install onto the internal hdd.<br /> <br /> Speculation: flags are AND' with 0,1,2 (selected from sys_sm_get_hw_config according to ps2emu hardware flags? 0 = no hw?, 1 = gxemu?, 2=full hw? )<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> ! flags !! DiscID !! Alternative? DiscID !! GigaByte !! Title !! 0 = VMC&lt;br&gt;1 = IMAGE.DAT !! Internal Name? !! GigaByte<br /> |-<br /> |0xFFFF || &quot;SLPS20200&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM65705&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM65706&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM65953&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM66393&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM66394&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM66893&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM66894&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM55229&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0x0001 || &quot;SLPM65197&quot; || &quot;SLPM65197&quot; || 0x07 || &quot;信長の野望 Online&quot; || 1 || &quot;PP.SLPM-65197.MAGIC.APPLICATION&quot; || 0x07<br /> |-<br /> |0x0001 || &quot;SLPM65783&quot; || &quot;SLPM65197&quot; || 0x07 || &quot;信長の野望 Online&quot; || 1 || &quot;PP.SLPM-65197.MAGIC.APPLICATION&quot; || 0x07<br /> |-<br /> |0x0001 || &quot;SLPM66539&quot; || &quot;SLPM65197&quot; || 0x07 || &quot;信長の野望 Online&quot; || 1 || &quot;PP.SLPM-65197.MAGIC.APPLICATION&quot; || 0x07<br /> |-<br /> |0x0001 || &quot;SLPM66954&quot; || &quot;SLPM65197&quot; || 0x07 || &quot;信長の野望 Online&quot; || 1 || &quot;PP.SLPM-65197.MAGIC.APPLICATION&quot; || 0x07<br /> |-<br /> |0xFFFF || &quot;SCUS97269&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLUS21070&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLUS21404&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLUS21694&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLUS21704&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SCUS97275&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97474&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97340&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97341&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97342&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97442&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97545&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |}<br /> <br /> In PS2 Emulator same Title IDs are present with following information: <br /> SLPS25200 FINAL FANTASY XI : 0x100000000 (4 GB?)<br /> SCUS97269 FINAL FANTASY XI : 0x300000000 (12GB?)<br /> SLPM65981 Front Mission Online : 0x100000000 (4 GB?)<br /> SLPM65197 Nobunagas Ambition Online : 0x200000000 (8 GB?)<br /> <br /> ==Emulators management from GameOS==<br /> <br /> ===Mountpoints===<br /> dev_ps2disc<br /> dev_ps2disc1 <br /> <br /> ===ps2_netemu syscalls ===<br /> <br /> 0x0 - 0 = exec smth, <br /> 1 = 0x132 panic, <br /> 2 = 0x133 panic, <br /> 3 = 0x134 panic,<br /> 4 = 0x135 panic, <br /> else = 0x136 panic)<br /> 0xC - exec smth<br /> 0x5 - exec smth<br /> 0x6 - exec smth<br /> 0x10 - panic<br /> <br /> Basically are [[HV_Syscalls#HV_Syscalls|hvsc syscalls]] (xoris r11, r11, 0x8000)<br /> <br /> 0x80000000 - [[HV_Syscall_Reference#lv1_allocate_memory]]<br /> 0x80000001 - [[HV_Syscall_Reference#lv1_write_htab_entry]]<br /> 0x80000002 - [[HV_Syscall_Reference#lv1_construct_virtual_address_space]]<br /> 0x80000007 - [[HV_Syscall_Reference#lv1_select_virtual_address_space]]<br /> 0x80000009 - [[HV_Syscall_Reference#lv1_pause]]<br /> 0x8000000F - [[HV_Syscall_Reference#lv1_put_iopte]]<br /> 0x80000012 - [[HV_Syscall_Reference#lv1_construct_event_receive_port]]<br /> 0x8000001A - [[HV_Syscall_Reference#lv1_detect_pending_interrupts]]<br /> 0x8000001B - [[HV_Syscall_Reference#lv1_end_of_interrupt]]<br /> 0x8000001C - [[HV_Syscall_Reference#lv1_connect_irq_plug]]<br /> 0x80000039 - [[HV_Syscall_Reference#lv1_construct_logical_spe]]<br /> 0x8000003D - [[HV_Syscall_Reference#lv1_set_spe_interrupt_mask]]<br /> 0x80000042 - [[HV_Syscall_Reference#lv1_clear_spe_interrupt_status]]<br /> 0x80000043 - [[HV_Syscall_Reference#lv1_get_spe_interrupt_status]]<br /> 0x80000045 - [[HV_Syscall_Reference#lv1_get_logical_ppe_id]]<br /> 0x80000049 - [[HV_Syscall_Reference#lv1_set_interrupt_mask]]<br /> 0x8000004A - [[HV_Syscall_Reference#lv1_get_logical_partition_id]]<br /> 0x8000004E - [[HV_Syscall_Reference#lv1_get_spe_irq_outlet]]<br /> 0x8000005B - [[HV_Syscall_Reference#lv1_get_repository_node_value]]<br /> 0x8000005F - [[HV_Syscall_Reference#lv1_read_htab_entries]]<br /> 0x80000061 - [[HV_Syscall_Reference#lv1_set_vmx_graphics_mode]]<br /> 0x80000062 - [[HV_Syscall_Reference#lv1_set_thread_switch_control_register]]<br /> 0x80000074 - [[HV_Syscall_Reference#lv1_allocate_io_segment]]<br /> 0x80000076 - [[HV_Syscall_Reference#lv1_allocate_ioid]]<br /> 0x80000078 - [[HV_Syscall_Reference#lv1_construct_io_irq_outlet]]<br /> 0x8000007C - [[HV_Syscall_Reference#lv1_undocumented_function_124]]<br /> 0x8000007D - [[HV_Syscall_Reference#lv1_undocumented_function_125]]<br /> 0x8000007E - [[HV_Syscall_Reference#lv1_undocumented_function_126]]<br /> 0x80000088 - [[HV_Syscall_Reference#lv1_undocumented_function_136]]<br /> 0x8000008C - [[HV_Syscall_Reference#lv1_construct_lpm]]<br /> 0x8000008D - [[HV_Syscall_Reference#lv1_destruct_lpm]]<br /> 0x8000008E - [[HV_Syscall_Reference#lv1_start_lpm]]<br /> 0x8000008F - [[HV_Syscall_Reference#lv1_stop_lpm]]<br /> 0x80000090 - [[HV_Syscall_Reference#lv1_copy_lpm_trace_buffer]]<br /> 0x80000091 - [[HV_Syscall_Reference#lv1_add_lpm_event_bookmark]]<br /> 0x80000092 - [[HV_Syscall_Reference#lv1_delete_lpm_event_bookmark]]<br /> 0x80000093 - [[HV_Syscall_Reference#lv1_set_lpm_interrupt_mask]]<br /> 0x80000094 - [[HV_Syscall_Reference#lv1_get_lpm_interrupt_status]]<br /> 0x80000095 - [[HV_Syscall_Reference#lv1_set_lpm_general_control]]<br /> 0x80000096 - [[HV_Syscall_Reference#lv1_set_lpm_interval]]<br /> 0x80000097 - [[HV_Syscall_Reference#lv1_set_lpm_trigger_control]]<br /> 0x80000098 - [[HV_Syscall_Reference#lv1_set_lpm_counter_control]]<br /> 0x80000099 - [[HV_Syscall_Reference#lv1_set_lpm_group_control]]<br /> 0x8000009A - [[HV_Syscall_Reference#lv1_set_lpm_debug_bus_control]]<br /> 0x8000009B - [[HV_Syscall_Reference#lv1_set_lpm_counter]]<br /> 0x8000009C - [[HV_Syscall_Reference#lv1_set_lpm_signal]]<br /> 0x8000009D - [[HV_Syscall_Reference#lv1_set_lpm_spr_trigger]]<br /> 0x800000A3 - [[HV_Syscall_Reference#lv1_write_virtual_uart]]<br /> 0x800000A4 - [[HV_Syscall_Reference#lv1_set_virtual_uart_param]]<br /> 0x800000A5 - [[HV_Syscall_Reference#lv1_get_virtual_uart_param]]<br /> 0x800000A6 - [[HV_Syscall_Reference#lv1_configure_virtual_uart_irq]]<br /> 0x800000AA - [[HV_Syscall_Reference#lv1_open_device]]<br /> 0x800000AB - [[HV_Syscall_Reference#lv1_close_device]]<br /> 0x800000AC - [[HV_Syscall_Reference#lv1_map_device_mmio_region]]<br /> 0x800000AE - [[HV_Syscall_Reference#lv1_allocate_device_dma_region]]<br /> 0x800000AF - [[HV_Syscall_Reference#lv1_free_device_dma_region]]<br /> 0x800000B0 - [[HV_Syscall_Reference#lv1_map_device_dma_region]]<br /> 0x800000B1 - [[HV_Syscall_Reference#lv1_unmap_device_dma_region]]<br /> 0x800000B2 - [[HV_Syscall_Reference#lv1_read_pci_config]]<br /> 0x800000B3 - [[HV_Syscall_Reference#lv1_write_pci_config]]<br /> 0x800000C5 - [[HV_Syscall_Reference#lv1_connect_interrupt_event_receive_port]]<br /> 0x800000CF - [[HV_Syscall_Reference#lv1_enable_logical_spe]]<br /> 0x800000D2 - [[HV_Syscall_Reference#lv1_gpu_open]]<br /> 0x800000D4 - [[HV_Syscall_Reference#lv1_gpu_device_map]]<br /> 0x800000D6 - [[HV_Syscall_Reference#lv1_gpu_memory_allocate]]<br /> 0x800000D9 - [[HV_Syscall_Reference#lv1_gpu_context_allocate]]<br /> 0x800000DD - [[HV_Syscall_Reference#lv1_gpu_context_iomap]]<br /> 0x800000E1 - [[HV_Syscall_Reference#lv1_gpu_context_attribute]]<br /> 0x800000E3 - [[HV_Syscall_Reference#lv1_gpu_context_intr]]<br /> 0x800000E4 - [[HV_Syscall_Reference#lv1_gpu_attribute]]<br /> 0x800000F5 - [[HV_Syscall_Reference#lv1_storage_read]]<br /> 0x800000F6 - [[HV_Syscall_Reference#lv1_storage_write]]<br /> 0x800000F9 - [[HV_Syscall_Reference#lv1_storage_get_async_status]]<br /> <br /> ===LPAR / AUTH ID's===<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Name !! Auth ID !! Self&lt;br /&gt;(/dev_flash/ps2emu) !! Notes<br /> |-<br /> | PS2_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_emu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2 || 0x107000001D000001 || <br /> |-<br /> | PS2_GX_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_gxemu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2_GX || 0x107000001D000001 || <br /> |-<br /> | PS2_SW_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_softemu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2_SW || 0x107000001D000001 || <br /> |-<br /> | PS2_NE_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_netemu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2_NE || 0x107000001D000001 || <br /> |-<br /> |}<br /> <br /> ====boot_ps2====<br /> http://foxbrew.org/ps3/otheros-utils/boot_ps2.git &lt;br /&gt;<br /> http://www.multi...upload.com/QKK7ETPHXZ boot_ps2-src.rar (1.43 KB) &lt;br /&gt;<br /> http://www.multi...upload.com/YCZ63Y6TQ5 boot_ps2.pkg (69.17 KB) &lt;br /&gt;<br /> <br /> any chance of having this package resigned for 4.21 cfw? might be useful to see if it'll boot ps2_netemu.self LPAR.<br /> <br /> (can boot ps2lpar, but also petitboot if otheros installed! 50:50 chance)<br /> <br /> [http://rghost.net/42586725 boot_ps2 4.xx eboots.zip (153 KB)] &lt;br /&gt; installing 3.55 pkg and replacing the eboot and editing the sfo should work.<br /> <br /> ===Getting compatibility hardware info===<br /> See: [[PS2_Compatibility#Software]]<br /> <br /> ===ps2bootparam.dat===<br /> A file created at path: dev_hdd0/tmp/game/'''ps2bootparam.dat'''<br /> *See: [[ps2bootparam.dat]]&lt;!--we need this page because we have others like that in wiki--&gt;<br /> <br /> ===Cobra core===<br /> taken from storage_ext.c<br /> &lt;pre&gt; patch_ps2emu_entry(ps2emu_type); &lt;/pre&gt;<br /> *sets proper ps2_(gx/soft)emu.self path for reboot<br /> *patches ss_storage service 0x5004 disc checks on ss_server3.self inside lv1<br /> (Change from Parameter li r3, 2 and li r3, 1E (Drive Authentification) to li r3, 0x29 (Reset Drive))<br /> *and the usual either replace read/ioctl for iso etc.<br /> <br /> ==Game CONFIG==<br /> Some of the PS2 emulator types (such ps2_gxemu.self, ps2netemu.self) are able to load config commands that are applyed &quot;by game ID&quot;. The concept of &quot;game patches&quot; is not technically correct because some of the commands does patching functions but others does other things (not patching), and other commands works as switches or sets a value that are enviromental settings for the emulator (not for the game) but because are applyed &quot;by game&quot; should be considered enviromental settings for that specific game, so for simplification purposes you can think in all this data as &quot;game configs&quot;<br /> <br /> This &quot;game config&quot; data seems to work in the same way for all the PS2 emulator types but can be located in different places, some are hardcoded inside the emulators itself (inside the .self), and at the time the &quot;PS2 classics&quot; emulator (ps2_netemu.self) was developed this config can be loaded from an external file&lt;!--and there is some more inside some .sprx or inside the ps2 hdd data pkg ?--&gt;<br /> <br /> In short, the &quot;game configs&quot; can modify the game image (by patching it) and can be used to configure the virtual PS2 (the emulated machine). And can be loaded from hardcoded data (inside the .self) or from an external file (this feature is supported only by ps2_netemu.self)<br /> <br /> The config data consists in a list of concatenated values of 8 bytes lenght (uint32_t), and can be processed like this:<br /> union{<br /> uint32_t command<br /> ...data...<br /> }<br /> <br /> ===Config Commands===<br /> ps2_netemu.self fw4.50 sub_12D7D8, fw4.81 sub_12E050<br /> params are uint32_t unless noted.<br /> <br /> At the time of writing this, most of the commands are completely or partially unknown.&lt;br /&gt;<br /> If you want to read some speculation and brainstorming about them, please join the {{talk}} page<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! CMD ID !! Example !! Notes<br /> |-<br /> | 0x00|||| Copy following title id for enforcing if available + end config<br /> |-<br /> | 0x01|||| 2x uint32_t Params ( addr, func_id 0-0x3B) - EE_ADD_HOOK<br /> [Grand Theft Auto 3 (EU)] uses 0x349790, 0x10 (somewhat floats related)<br /> [Max Payne] uses 0x52E9F4, 3 and 0x52EB78, 2 (set lwsync 0)<br /> Maximum Amount of Usage: ?<br /> (The command is used 3 times consecutively by SLUS-20565 (Champions of Norrath) and SLUS-21494 (Need for Speed Carbon)<br /> game configs hardcoded inside ps2_gxemu.self)<br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> !Function ID!! Notes<br /> |-<br /> |0x00|| <br /> |-<br /> |0x01|| <br /> |-<br /> |0x02|| <br /> Max Payne<br /> sets some sync off?<br /> |-<br /> |0x03|| <br /> Max Payne<br /> sets some sync on?<br /> |-<br /> |0x04|| <br /> |-<br /> |0x05|| <br /> |-<br /> |0x06|| <br /> |-<br /> |0x07|| <br /> |-<br /> |0x08||<br /> |-<br /> |0x09|| <br /> |-<br /> |0x0A|| <br /> |-<br /> |0x0B|| <br /> |-<br /> |0x0C|| <br /> |-<br /> |0x0D|| usleep(100)<br /> |-<br /> |0x0E||<br /> |-<br /> |0x0F|| <br /> GTA 3 (US)<br /> using 0x348B40, 0x18E1F0, 0x348EC8 ( + 200000000 base )<br /> |-<br /> |0x10|| <br /> GTA 3 (EU)<br /> using 0x349790, 0x18E1F0, 0x349B18 ( + 200000000 base )<br /> |-<br /> |0x11|| <br /> GTA 3 (JP/AS)?<br /> using 0x3495C0, 0x18E1F0, 0x349948 ( + 200000000 base )<br /> |-<br /> |0x12|| <br /> condition ...<br /> store 0 in [ 0x204FC500 + 200000000 base]<br /> |-<br /> |0x13|| <br /> |-<br /> |0x14|| <br /> |-<br /> |0x15|| <br /> |-<br /> |0x16|| <br /> store 0x01114BA8 in [ 0x208EAB4C + 200000000 base]<br /> store 0x010C9E40 in [ 0x208EAB6C + 200000000 base]<br /> |-<br /> |0x17|| <br /> condition r18 == 0x8000<br /> setting:<br /> stores 0x40490FDA somewhere <br /> Note: 0x40490FDA (3.14159250) is the highest float approximation to π in hexadecimal without going over the value.&lt;br /&gt;<br /> Probably can improve FPU accuracy for some games.<br /> |-<br /> |0x18||<br /> condition [ 0x20183F04 + 200000000 base ] == 0x0C060F2C <br /> setting:<br /> stores 0 in address 0x20183F04, 0x20183F34, 0x20183F3C ( + 0x200000000 base )<br /> 0x183F0C, sub_46334 (4.70)<br /> 0x183F3C, sub_45DA4 (4.70)<br /> 0x183D74, sub_47B50 (4.70)<br /> |-<br /> |0x19|| <br /> |-<br /> |0x1A|| <br /> store 0 in [ 0x209FD560 + 200000000 base]<br /> store 0 in [ 0x209F9550 + 200000000 base]<br /> store 0 in [ 0x20A01570 + 200000000 base]<br /> store 0 in [ 0x209F9540 + 200000000 base]<br /> store 0 in [ 0x209F5540 + 200000000 base]<br /> store 0 in [ 0x209F1530 + 200000000 base]<br /> |-<br /> |0x1B|| store 0 in [ 0x20552168 + 200000000 base]<br /> |-<br /> |0x1C|| store 1 in [ 0x20552168 + 200000000 base]<br /> |-<br /> |0x1D|| store 0 in [ 0x20556C08 + 200000000 base]<br /> |-<br /> |0x1E|| store 1 in [ 0x20556C08 + 200000000 base]<br /> |-<br /> |0x1F|| store 0 in [ 0x205243D8 + 200000000 base]<br /> |-<br /> |0x20|| store 1 in [ 0x205243D8 + 200000000 base]<br /> |-<br /> |0x21|| store 0 in [ 0x20524F88 + 200000000 base]<br /> |-<br /> |0x22|| store 1 in [ 0x20524F88 + 200000000 base]<br /> |-<br /> |0x23|| store 0 in [ 0x2047E7F8 + 200000000 base]<br /> |-<br /> |0x24|| store 1 in [ 0x2047E7F8 + 200000000 base]<br /> |-<br /> |0x25|| store 0 in [ 0x204802B8 + 200000000 base]<br /> |-<br /> |0x26|| store 1 in [ 0x204802B8 + 200000000 base]<br /> |-<br /> |0x27|| store 0 in [ 0x20586348 + 200000000 base]<br /> |-<br /> |0x28|| store 1 in [ 0x20586348 + 200000000 base]<br /> |-<br /> |0x29|| store 0 in [ 0x205868A8 + 200000000 base]<br /> |-<br /> |0x2A|| store 1 in [ 0x205868A8 + 200000000 base]<br /> |-<br /> |0x2B|| <br /> |-<br /> |0x2C|| <br /> |-<br /> |0x2D|| <br /> |-<br /> |0x2E|| <br /> |-<br /> |0x2F|| condition [ 0x37B0C4 + 200000000 base ] == 0 -&gt; 00 10 0B 98 <br /> |-<br /> |0x30|| condition [ 0x37B704 + 200000000 base ] == 0 -&gt; 00 10 0B 98 <br /> |-<br /> |0x31|| condition [ 0x37630C + 200000000 base ] == 0 -&gt; 00 10 0B A8 <br /> |-<br /> |0x32|| condition [ 0x37BB0C + 200000000 base ] == 0 -&gt; 00 10 0B A8 <br /> |-<br /> |0x33|| <br /> |-<br /> |0x34|| not filled<br /> |-<br /> |0x35|| <br /> |-<br /> |0x36|| <br /> |-<br /> |0x37|| <br /> |-<br /> |0x38||<br /> |-<br /> |0x39|| <br /> |-<br /> |0x3A|| <br /> |-<br /> |0x3B|| GTA 3 (JP/AS) ? using 0x351210, 0x18F590, 0x351568 ( + 200000000 base )<br /> |}<br /> |-<br /> |0x02|||| 1 Param, Config file revision ?<br /> |-<br /> |0x03|||| 0 Param, sets something 0 (Fire Pro Wrestling Returns)<br /> |-<br /> |0x04|||| 1 Param uint32_t index (i*0x80, special 0x12345: 0x91a280?)<br /> |-<br /> |0x05|||| read next command<br /> |-<br /> |0x06|||| 0 Param, sets something 0x14F80 (85888'd)<br /> |-<br /> |0x07|||| 1 Param uint32_t (default 1)<br /> Delay VU xgkick by X cycles<br /> |-<br /> |0x08|||| 8 Param uint32_t (read mask,read mask, original opcode, original opcode, write mask, write mask, replace opcode, replace opcode)<br /> Maximum Amount of Usage: 3 times<br /> Patch VU memory by mask <br /> Mask = F - read/write, 0 - Not read/write, 8 - ignore 4 bytes, E - seems to be used as last character before wildcards (Superman returns).<br /> |-<br /> |0x09|||| uint32_t count, &lt;list&gt; (offset, original opcode, original opcode, replace opcode, replace opcode) - EE_INSN_REPLACE64<br /> [Dark Cloud] uses 1<br /> [Dead Or Alive 2 Hardcore] uses 1<br /> Maximum List Count: 32<br /> |-<br /> |0x0A|||| uint32_t count, &lt;List&gt; (offset, original opcode, replace opcode) - EE_INSN_REPLACE32<br /> [Deadly Strike] uses 1<br /> [Dragon Force] uses 2<br /> Maximum List Count: 32<br /> |-<br /> |0x0B|||| 1 Param uint32_t count, &lt;List&gt; {sector id, offset, sizeof present opcodes, replace opcodes, original opcodes} - MECHA_SET_PATCH<br /> offset on disc = sector id * sector size + offset (-0xC)<br /> [Dead Or Alive 2 Hardcore] uses 7<br /> [Gradius V] uses 1<br /> [Grand Theft Auto III] uses 1<br /> [Katamari Damacy] uses 1<br /> [Manhunt] uses 1<br /> [Odin Sphere] uses 2<br /> [Primal] uses 1<br /> [Psychonauts] uses 1<br /> [Syphon Filter The Omega Strain] uses 1<br /> Maximum List Count: 47<br /> |-<br /> |0x0C|||| 1 Param (uint16_t, uint16_t) --- 0/1/2,&lt;0x63&gt;<br /> |-<br /> |0x0D|||| 1 Param, true/false?<br /> Default Init = 1?<br /> 0 == skip some code, <br /> 1 == some code + checks<br /> |-<br /> |0x0E|||| 1 Param offset --- Improves ADD/SUB accuracy for selected offset (incl. Floats) <br /> [Rygar] only has 0x147DA8 sub.s $f12, $f20, $f12<br /> Maximum Amount of Usage: 31 times<br /> |-<br /> |0x0F|||| List &lt;uint32_t Param, uint32_t Param&gt; --- More accurate memory range (FPU mul/div/sub/add accuracy related) <br /> [Dark Cloud] uses 0x239334, 0x1FFFFFF<br /> [Grand Theft Auto SA] uses 0x1E46DC, 0x1E4AE8<br /> Maximum List Count: 31 <br /> |-<br /> |0x10|||| List &lt;uint32_t Param, uint32_t Param&gt; --- More accurate memory range (COP2, mul/div/sub/add accuracy related) - MULDIV_Accurate_range<br /> Maximum List Count: 31 <br /> |-<br /> |0x11|||| 1x uint32_t Param. ADD/SUB accuracy related, all emulated ADD/SUB instruction variations check that value. Param seems to be VU memory offset (need confirmation).<br /> Maximum Amount of Usage: 31 times<br /> |-<br /> |0x12|||| &lt;List&gt; (uint32_t count,<br /> [Primal] uses 0xD<br /> [Rayman Arena] uses 0x11<br /> [Syphon Filter: The Omega Strain] uses 0x5<br /> 00 00 00 0?<br /> 00 00 00 00<br /> type? count?<br /> ... <br /> Maximum List Count: 63 <br /> |-<br /> | 0x13|||| 1x uint64_t Param<br /> Jak X: Combat Racing uses 0xf960 (63840)<br /> Netsu Chu! Pro Yakyuu 2004 uses 0xf960 (63840)<br /> Phantasy Star Universe uses 0x9bdc (39900)<br /> WRC II Extreme uses 0x9bdc (39900)<br /> Burnout Dominator uses 0x9bdc (39900)<br /> Jissen Pachi-Slot Hisshouhou! Kemono-Oh uses 0x1d394 (119700)<br /> |-<br /> | 0x14|||| 0 Param, sets something 1<br /> |-<br /> | 0x15|| 4 || 1 Param ( &lt;1, &gt;1 ), different settings/mode?<br /> [Bloodrayne 2] uses 4<br /> [GRIMgRiMoiRe] uses 4<br /> [Mana Khemia 2] uses 4<br /> [Odin Sphere] uses 4<br /> [SMT Persona 3 FES] uses 4<br /> |-<br /> | 0x16|||| = 0x05 (next id)<br /> |-<br /> | 0x17||1 || 1 Param, true/false?<br /> [Bully] uses 1<br /> |-<br /> | 0x18|||| = 0x16 = 0x05 (next id)<br /> |-<br /> | 0x19 |||| 0 Param, sets something 1 --- SB_SIO2 related?<br /> [Grand Theft Auto III]<br /> [Red Faction 2]<br /> [Siren]<br /> |-<br /> | 0x1A|||| 0 Param, sets something 1<br /> |-<br /> | 0x1B|||| 0 Param, sets something 1<br /> [Mana Khemia 2]<br /> |-<br /> | 0x1C |||| read uint32_t (use uint8_t) Param (default 3)<br /> |-<br /> | 0x1D |||| read uint32_t (use uint8_t) Param <br /> |-<br /> | 0x1E |||| read uint32_t (use uint8_t) Param <br /> |-<br /> | 0x1F |||| uint32_t Param (default 0x3E8?)<br /> |-<br /> | 0x20|||| uint64_t Param (default 0x3C)<br /> |-<br /> | 0x21|| 1 || 1 Param: <br /> 0 = sets an option from 1 to 0 and another one to 0,<br /> 1 = sets an option from 1 to 0 and another one to 1,<br /> 2 = sets an option from 1 to 1 and another one to 0<br /> [Fatal Frame II] uses 0<br /> [Grand Theft Auto Vice City] uses 1<br /> [Grand Theft Auto III (EU)] uses 1<br /> [SMT Persona 3 FES] uses 0<br /> |-<br /> | 0x22|||| 0 Param, sets something 1<br /> |-<br /> | 0x23|||| 0 Param --- memcpy 0x100 Bytes and sets 0x14E00<br /> |-<br /> | 0x24|||| uint64_t Param<br /> |-<br /> | 0x25|||| = 0x18 = 0x16 = 0x05 (next id)<br /> |-<br /> | 0x26|||| List &lt;uint32_t Param,uint32_t Param&gt; --- Improves ADD/SUB accuracy for selected memory range (incl. Floats) - FPU_Accurate_range<br /> <br /> [Bloodrayne 2] uses 0x340000, 0x350000<br /> [Gradius V] uses 0x3046E0, 0x0x305E44<br /> Maximum List Count: 31 <br /> Maximum Amount of Usage: ??<br /> The command is used 4 times consecutively by [Strawberry Shortcake: The Sweet Dreams]<br /> SLES-54309 (EU) and<br /> SLUS-21497 (US) game configs hardcoded inside ps2_gxemu.self<br /> |-<br /> | 0x27|||| List &lt;uint32_t Param,uint32_t Param&gt; --- Improves COP2 operations accuracy for selected memory range - VU0 macromode accurate range<br /> Maximum List Count: 31 <br /> |-<br /> | 0x28|||| 1x uint32_t Param (&lt;=3)<br /> |-<br /> | 0x29 |||| 2x uint32_t Param,<br /> |-<br /> | 0x2A|||| 0 Param, sets something 1 --- Allow online downloadable content (HDD)? Multitap? Local 2 player?<br /> All-Star Baseball 2004<br /> |-<br /> | 0x2B|||| 0 Param, sets something 1 --- Allow disc eject/swap?<br /> Dance Factory<br /> |-<br /> | 0x2C |||| 1 Param, uint32_t<br /> Summoner uses 0x1<br /> |-<br /> | 0x2D |||| = 0x25 = 0x18 = 0x16 = 0x05 (next id)<br /> |-<br /> | 0x2E |||| 1 Param, uint32_t<br /> |-<br /> | 0x2F |||| 1 Param, uint32_t --- SPU2 related?<br /> Indigo Prophecy/Fahrenheit uses 0x1 <br /> |-<br /> | 0x30|||| (nothing)<br /> |-<br /> | 0x31|||| (nothing)<br /> |-<br /> | 0x32|||| (nothing)<br /> |-<br /> | 0x33|||| (nothing)<br /> |-<br /> | 0x34|||| (nothing)<br /> |-<br /> | 0x35|||| 0 Param --- Enables Force Flip Field, described in emu setting as &quot;''Fix for [Hang] for soft-lock''&quot;<br /> |-<br /> | 0x36|||| (nothing)<br /> |-<br /> | 0x37|||| (nothing)<br /> |-<br /> | 0x38|||| (nothing)<br /> |-<br /> | 0x39 |||| (nothing)<br /> |-<br /> | 0x3A|||| (nothing)<br /> |-<br /> | 0x3B|||| (nothing)<br /> |-<br /> | 0x3C |||| (nothing)<br /> |-<br /> | 0x3D |||| 1 Param, uint32_t Config file revision<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Firmware !! ps2_netemu Revision !! Max Supported Commands<br /> |-<br /> | 3.70 || 15686 || 0x41<br /> |-<br /> | 3.73 || 15936 || 0x41<br /> |-<br /> | 3.74 || 15936 || 0x41<br /> |-<br /> | 4.00 || 16195 || 0x41<br /> |-<br /> | 4.01 || 16195 || 0x41<br /> |-<br /> | 4.10 || 16361 || 0x41<br /> |-<br /> | 4.11 || 16361 || 0x41<br /> |-<br /> | 4.20 || 16604 || 0x43<br /> |-<br /> | 4.21 || 16604 || 0x43<br /> |-<br /> | 4.23 || 16604 || 0x43<br /> |-<br /> | 4.25 || 16740 || 0x43<br /> |-<br /> | 4.26 || 16740 || 0x43<br /> |-<br /> | 4.30 || 16808 || 0x45<br /> |-<br /> | 4.31 || 16808 || 0x45<br /> |-<br /> | 4.40 || 16916 || 0x46<br /> |-<br /> | 4.41 || 16916 || 0x46<br /> |-<br /> | 4.45 || 17041 || 0x48<br /> |-<br /> | 4.46 || 17041 || 0x48<br /> |-<br /> | 4.50 || 17179 || 0x4A<br /> |-<br /> | 4.55 || 17277 || 0x4D<br /> |- <br /> |4.60&lt;br /&gt;<br /> 4.70&lt;br /&gt;<br /> 4.75&lt;br /&gt;<br /> 4.76&lt;br /&gt;<br /> || 17314 || 0x4D<br /> |- <br /> |4.78&lt;br /&gt;<br /> 4.80&lt;br /&gt;<br /> 4.81&lt;br /&gt;<br /> || 17495 || 0x50<br /> |- <br /> |}<br /> |-<br /> | 0x3E |||| 0 Params --- Sets something 1<br /> Default Init = 0<br /> 0 == do set some stuff, <br /> 1 == skip<br /> |-<br /> | 0x3F |||| 1 Param, uint32_t<br /> |-<br /> | 0x40|||| 0 Param --- Sets something 1<br /> Grand Theft Auto SA<br /> Silent Hill Origins - unofficial fix<br /> |-<br /> | 0x41|||| 0 Param --- Sets something 1 (Disables some lwsync - speedhack?)<br /> Dragon Force<br /> God Hand<br /> Gradius V<br /> Katamari Damacy<br /> |-<br /> | 0x42|||| 2 Param: uint32_t address, uint32_t count --- Overlay area? <br /> |-<br /> | 0x43|||| 1 Param --- Equal to 0x40, but with Parameter:<br /> 0 = Default<br /> 1 = (like 0x40)<br /> param = <br /> -1 = failure?<br /> |-<br /> | 0x44|||| 0 Param --- Disables Smoothing and Smoothing option<br /> |-<br /> | 0x45|||| 0 Param --- Sets something 1<br /> Phantasy Star Complete Collection<br /> |-<br /> | 0x46|||| 0 Param --- Enables L2H Improvement, [Performance] related setting for titles using L2H<br /> SMT Digital Devil Saga 1<br /> SMT Nocturne<br /> Fatal Frame II<br /> |-<br /> | 0x47|||| 0 Param --- Enables XOR CSR - XOR System Status Register (0x12001000)?, [Graphics] related setting, should fix fullscreen line corruption<br /> |-<br /> | 0x48|||| VSYNC Delay, 2x uint32_t Param<br /> *First param possible value are 1 = No IPU, 2 = IPU, 3 = Anytime.<br /> *Second param is delay (in ms?), and can be also negative value.<br /> **Emu has standard presets for second param.<br /> ***Agressive = 0x3D090 (250000 decimal),<br /> ***Normal = 0x186A0 (100000 decimal),<br /> ***Conservative = 0x4E20 (20000 decimal),<br /> ***But other values can be used.<br /> [SMT Digital Devil Saga 1] uses 1, 0x3D090<br /> [Fatal Frame II] uses 0x2, 0xFFFFE69C (-6500 decimal)<br /> |-<br /> | 0x49|||| 0 Param --- Sets something 0xB,0,0<br /> |-<br /> | 0x4A|||| 0 Param --- Sets something 0x15100<br /> |-<br /> | 0x4B|||| 2x uint32_t Params: offset,int (-1? selects different titleid?) - /game/ /../ USRDIR/SAVEDATA related<br /> |-<br /> | 0x4C|||| 2x uint32_t Params: offset,int (2 = current path?, 3 = new ISO.BIN.ENC path?, other= ?)<br /> |-<br /> | 0x4D|||| 1 uint32_t Param (can be -1) --- Sets something (same as 0x49 but) 0xC, Param, 0<br /> |-<br /> | 0x4E|||| (nothing)<br /> |-<br /> | 0x4F|||| (nothing)<br /> |-<br /> | 0x50|||| 0 Param --- Switch to default gamepad config ?<br /> |-<br /> |}<br /> <br /> ===Config file examples (for netemu)===<br /> <br /> ====Official====<br /> {| class=&quot;wikitable sortable&quot; style=&quot;width: 1920px;&quot; | <br /> |-<br /> ! Title ID !! Title !! Config Data !! Revision !! Notes<br /> |-<br /> | style=&quot;width: 5px;&quot; | NPUD20461 || Bloodrayne || style=&quot;width: 650px;&quot; | <br /> 00000000 3D 00 00 00 46 3E 00 00 16 00 00 00 0B 00 00 00 =...F&gt;..........<br /> 00000010 04 00 00 00 07 01 00 00 C0 02 00 00 10 00 00 00 ........+.......<br /> 00000020 00 09 3C 52 52 3C 09 00 03 1F 90 14 14 90 1F 03 ..&lt;RR&lt;....É..É..<br /> 00000030 00 09 3C 52 52 3C 09 00 03 20 C0 04 04 C0 20 03 ..&lt;RR&lt;... +..+ .<br /> 00000040 56 A0 09 00 10 00 00 00 04 00 00 00 00 00 90 01 Vá............É.<br /> 00000050 FA 0F BD 01 21 39 07 00 B8 06 00 00 28 00 00 00 ·.¢.!9..©...(...<br /> 00000060 35 4A 02 02 00 0A 54 38 35 4A 62 7E 34 A5 00 A0 5J....T85Jb~4Ñ.á<br /> 00000070 3C 09 00 1B 35 29 FA 00 00 09 4C 38 35 29 02 02 &lt;...5)·...L85)..<br /> 00000080 00 09 4C 38 35 29 62 7E 35 4A 02 03 00 0A 54 38 ..L85)b~5J....T8<br /> 00000090 35 4A 22 7E 34 A5 00 A0 3C 09 00 1B 35 29 FA 00 5J&quot;~4Ñ.á&lt;...5)·.<br /> 000000A0 00 09 4C 38 35 29 02 03 00 09 4C 38 35 29 22 7E ..L85)....L85)&quot;~<br /> 000000B0 27 39 07 00 80 03 00 00 24 00 00 00 35 6B 02 02 '9..Ç...$...5k..<br /> 000000C0 00 0B 5C 38 35 6B 62 7E 3C 0C 00 1B 35 8C FA 00 ..\85kb~&lt;...5î·.<br /> 000000D0 00 0C 64 38 35 8C 02 02 00 0C 64 38 35 8C 62 7E ..d85î....d85îb~<br /> 000000E0 35 6B 02 03 00 0B 5C 38 35 6B 22 7E 3C 0C 00 1B 5k....\85k&quot;~&lt;...<br /> 000000F0 35 8C FA 00 00 0C 64 38 35 8C 02 03 00 0C 64 38 5î·...d85î....d8<br /> 00000100 35 8C 22 7E 5î&quot;~<br /> || 15942 (4.00+) ||<br /> 0x3D =&gt; 0x3E46 (15942)<br /> 0x16 =&gt; 0xB =&gt; 4<br /> 0x107, (sector)<br /> 0x2C0, (offset -&gt; 0x1072B4 in iso)<br /> 0x10, <br /> 0x523C0900, (beql s1, gp, ?)<br /> 0x00093C52, (mflo a3)<br /> 0x14901F03, (bne a0, s0, ?)<br /> 0x031F9014, (dsllv s2, ra, t8)<br /> 0x523C0900, (beql s1, gp, ?)<br /> 0x00093C52, (mflo a3)<br /> 0x04C02003, (bltz a2, ?)<br /> 0x0320C004 (sllv t8, zero, t9)<br /> 0x9A056, (sector)<br /> 0x10, (offset -&gt; 0x4D02B004 in iso)<br /> 0x04, <br /> 0x01900000 (sll zero, s0, 0x00?), <br /> 0x01BD0FFA (dsrl at,sp,0x1F?)<br /> 0x73921, (sector)<br /> 0x6B8, (offset -&gt; 0x39C90EAC in iso)<br /> 0x28, <br /> 21 39 07 00 addi t9,t1,0x0700<br /> B8 06 00 00 swr a2,(zero)<br /> 28 00 00 00 slti zero,0x0000<br /> 35 4A 02 02 ori t2,0x202<br /> 00 0A 54 38 dsll t2,0x10<br /> 35 4A 62 7E ori t2,0x627E<br /> 34 A5 00 A0 ori a1,0xA0<br /> 3C 09 00 1B lui t1,0x001B<br /> 35 29 FA 00 ori t1,0xFA00<br /> 00 09 4C 38 dsll t1,0x10<br /> 35 29 02 02 ori t1,0x202<br /> 00 09 4C 38 dsll t1,0x10<br /> 35 29 62 7E ori t1,0x627E<br /> 35 4A 02 03 ori t2,0x203<br /> 00 0A 54 38 dsll t2,0x10<br /> 35 4A 22 7E ori t2,0x227E<br /> 34 A5 00 A0 ori a1,0xA0<br /> 3C 09 00 1B lui t1,0x001B<br /> 35 29 FA 00 ori t1,0xFA00<br /> 00 09 4C 38 dsll t1,0x10<br /> 35 29 02 03 ori t1,0x203<br /> 00 09 4C 38 dsll t1,0x10<br /> 35 29 22 7E ori t1,0x227E<br /> 0x73927, (sector)<br /> 0x380, (offset -&gt; 0x39C93B74 in iso)<br /> 0x24, <br /> 35 6B 02 02 ori t3,0x202<br /> 00 0B 5C 38 dsll t3,0x10<br /> 35 6B 62 7E ori t3,0x627E<br /> 3C 0C 00 1B lui t4,0x001B<br /> 35 8C FA 00 ori t4,0xFA00<br /> 00 0C 64 38 dsll t4,0x10<br /> 35 8C 02 02 ori t4,0x202<br /> 00 0C 64 38 dsll t4,0x10<br /> 35 8C 62 7E ori t4,0x627E<br /> 35 6B 02 03 ori t3,0x203<br /> 00 0B 5C 38 dsll t3,0x10<br /> 35 6B 22 7E ori t3,0x227E<br /> 3C 0C 00 1B lui t4,0x001B<br /> 35 8C FA 00 ori t4,0xFA00<br /> 00 0C 64 38 dsll t4,0x10<br /> 35 8C 02 03 ori t4,0x203<br /> 00 0C 64 38 dsll t4,0x10<br /> 35 8C 22 7E ori t4,0x227E<br /> |-<br /> | NPUD20862 || Bloodrayne 2 ||<br /> 00000000 3D 00 00 00 3D 3F 00 00 15 00 00 00 04 00 00 00 =...=?..........<br /> 00000010 26 00 00 00 00 00 34 00 00 00 35 00 00 00 00 00 &amp;.....4...5.....<br /> 00000020 53 4C 55 53 2D 32 30 38 36 32 SLUS-20862<br /> || 16189 (4.00+) ||<br /> 0x3D =&gt; 0x3F3D (16189)<br /> 0x15 =&gt; 4<br /> 0x26 =&gt; 0x340000, 0x350000<br /> |-<br /> | NPUD21269 || Bully ||<br /> 00000000 3D 00 00 00 89 3D 00 00 17 00 00 00 01 00 00 00 =....=..........<br /> 00000010 00 00 00 00 53 4C 55 53 2D 32 31 32 36 39 ....SLUS-21269<br /> || 15753 (3.73+) ||<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x17 =&gt; 1<br /> |-<br /> | NPJD00004 || Contra Shattered Soldier || <br /> 00000000 3D 00 00 00 BF 3F 00 00 0A 00 00 00 12 00 00 00 =...+?..........<br /> 00000010 A0 FF 0F 00 00 00 00 00 10 00 01 3C A4 FF 0F 00 á .........&lt;ñ ..<br /> 00000020 00 00 00 00 90 FF 24 8C A8 FF 0F 00 00 00 00 00 ....É $î¿ ......<br /> 00000030 81 00 85 2C AC FF 0F 00 00 00 00 00 06 00 A0 10 ü.à,¼ ........á.<br /> 00000040 B0 FF 0F 00 00 00 00 00 01 00 84 24 B4 FF 0F 00 ¦ ........ä$¦ ..<br /> 00000050 00 00 00 00 90 FF 24 AC B8 FF 0F 00 00 00 00 00 ....É $¼© ......<br /> 00000060 81 00 85 2C BC FF 0F 00 00 00 00 00 02 00 A0 14 ü.à,+ ........á.<br /> 00000070 C0 FF 0F 00 00 00 00 00 00 00 00 00 C4 FF 0F 00 + ..........- ..<br /> 00000080 00 00 00 00 00 07 02 34 C8 FF 0F 00 00 00 00 00 .......4+ ......<br /> 00000090 08 00 E0 03 CC FF 0F 00 00 00 00 00 00 00 00 00 ..Ó.¦ ..........<br /> 000000A0 D0 FF 0F 00 00 00 00 00 10 00 01 3C D4 FF 0F 00 ð .........&lt;È ..<br /> 000000B0 00 00 00 00 08 00 E0 03 D8 FF 0F 00 00 00 00 00 ......Ó.Ï ......<br /> 000000C0 90 FF 20 AC DC FF 0F 00 00 00 00 00 00 00 00 00 É ¼_ ..........<br /> 000000D0 C0 72 42 00 08 00 E0 03 E8 FF 03 08 B4 7C 42 00 +rB...Ó.Þ ..¦|B.<br /> 000000E0 08 00 E0 03 F4 FF 03 08 00 00 00 00 53 4C 50 4D ..Ó.¶ ......SLPM<br /> 000000F0 2D 36 32 32 34 37 -62247<br /> || 16319 (4.10+)||<br /> 0x3D =&gt; 0x3FBF (16319)<br /> 0x0A =&gt; 0x12, <br /> 0xFFFA0,0, 0x3C010010 lui at,0x0010 <br /> 0xFFFA4,0, 0x8C24FF90 lw a0,-0x70(at) <br /> 0xFFFA8,0, 0x2C850081 sltiu a1,a0,0x0081 <br /> 0xFFFAC,0, 0x10A00006 beqz a1,pos_000FFFC8 <br /> 0xFFFB0,0, 0x24840001 addiu a0,0x1 <br /> 0xFFFB4,0, 0xAC24FF90 sw a0,-0x70(at) <br /> 0xFFFB8,0, 0x2C850081 sltiu a1,a0,0x0081 <br /> 0xFFFBC,0, 0x14A00002 bnez a1,pos_000FFFC8 <br /> 0xFFFC0,0, 0x00000000 nop <br /> 0xFFFC4,0, 0x34020700 li v0,0x700 <br /> 0xFFFC8,0, 0x03E00008 jr t9 <br /> 0xFFFCC,0, 0x00000000 nop <br /> 0xFFFD0,0, 0x3C010010 lui at,0x0010 <br /> 0xFFFD4,0, 0x03E00008 jr ra <br /> 0xFFFD8,0, 0xAC20FF90 sw zero,-0x70(at) <br /> 0xFFFDC,0, 0x00000000 nop <br /> 0x4272C0, 0x03E00008 (jr ra), 0x0803FFE8 j pos_000FFFA0<br /> 0x427CB4, 0x03E00008 (jr ra), 0x0803FFF4 j pos_000FFFD0<br /> |-<br /> | NPJC00002 || Dark Cloud ||<br /> 00000000 3D 00 00 00 07 3F 00 00 0F 00 00 00 34 93 23 00 =....?......4.#.<br /> 00000010 FF FF FF 01 09 00 00 00 01 00 00 00 B0 8E 13 00 ................<br /> 00000020 20 00 BF 7F B0 FF BD 27 00 00 00 00 08 00 E0 03 ......'........<br /> 00000030 00 00 00 00 53 43 50 53 2D 31 35 30 30 34 ....SCPS-15004<br /> || 16135 (4.00+)||<br /> 0x3D =&gt; 0x3F07 (16135)<br /> 0x0F =&gt; 0x239334, 0x01FFFFFF<br /> 0x09 =&gt; 1,<br /> 0x138EB0 , <br /> 0x7FBF0020 (sq ra,0x20(sp)),<br /> 0x27BDFFB0 (addiu sp,-0x50),<br /> 0x00000000 (nop),<br /> 0x03E00008 (jr ra)<br /> <br /> 0x239334 = end of code segment?<br /> 0x138EB0 = DrawShadow__10CCharacterFv Function Offset<br /> config 20 00 BF 7F 0x7FBF0020 sq ra, 0x20(sp)<br /> B0 FF BD 27 0x27BDFFB0 addiu sp, -0x50<br /> 00 00 00 00 0x00000000 nop<br /> 08 00 E0 03 0x03E00008 jr ra<br /> |-<br /> | NPUD20071 || Dead Or Alive 2 Hardcore ||<br /> 00000000 3D 00 00 00 F0 42 00 00 0A 00 00 00 01 00 00 00 =....B..........<br /> 00000010 EC 06 2B 00 01 00 06 24 00 00 06 24 0B 00 00 00 ..+....$...$....<br /> 00000020 07 00 00 00 71 6A 18 00 F4 07 00 00 04 00 00 00 ....qj..........<br /> 00000030 0C 00 32 B7 0C 00 32 B3 71 6A 18 00 F4 05 00 00 ..2...2.qj......<br /> 00000040 08 00 00 00 03 E0 00 08 00 00 00 00 27 BD FF F0 ............'...<br /> 00000050 AF BE 00 08 7B 6A 18 00 08 07 00 00 08 00 00 00 ....{j..........<br /> 00000060 03 E0 00 08 00 00 00 00 27 BD FF F0 AF BE 00 08 ........'.......<br /> 00000070 85 6A 18 00 18 01 00 00 08 00 00 00 03 E0 00 08 .j..............<br /> 00000080 00 00 00 00 27 BD FF F0 AF BE 00 08 85 6A 18 00 ....'........j..<br /> 00000090 70 01 00 00 08 00 00 00 03 E0 00 08 00 00 00 00 p...............<br /> 000000A0 27 BD FF F0 AF BE 00 08 85 6A 18 00 C8 01 00 00 '........j......<br /> 000000B0 08 00 00 00 03 E0 00 08 00 00 00 00 27 BD FF F0 ............'...<br /> 000000C0 AF BE 00 08 86 6A 18 00 FC 07 00 00 08 00 00 00 .....j..........<br /> 000000D0 03 E0 00 08 00 00 00 00 27 BD FF F0 AF BE 00 08 ........'.......<br /> 000000E0 00 00 00 00 53 4C 55 53 2D 32 30 30 37 31 ....SLUS-20071 <br /> || 17136 (4.50+) || fixes blackscreen<br /> 0x3D =&gt; 0x42F0 (17136)<br /> 0x0A =&gt; 0x01,<br /> 0x2B06EC, 0x24060001 (li a2,0x1), <br /> 0x24060000 (li a2,0x0)<br /> 0x0B =&gt; 0x07,<br /> 0x186A71, 0x7F4, 0x04, <br /> 0xB732000C (jal -0x2A9B90), <br /> 0xB332000C (jal -0x2A9BA0)<br /> 0x186A71, 0x5F4, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A7B, 0x708, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A85, 0x118, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A85, 0x170, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A85, 0x1C8, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A86, 0x7FC, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp))<br /> <br /> |-<br /> | NPJD00011 || Dead Or Alive 2 Hardcore || <br /> 00000000 3D 00 00 00 89 3D 00 00 09 00 00 00 01 00 00 00 =...ë=..........<br /> 00000010 6C 66 2B 00 80 00 08 24 01 00 06 24 80 00 08 24 lf+.Ç..$...$Ç..$<br /> 00000020 00 00 06 24 0B 00 00 00 07 00 00 00 05 FF 17 00 ...$......... ..<br /> 00000030 F0 07 00 00 0C 00 00 00 27 C4 00 10 0C 00 32 B7 ­.......'-....2À<br /> 00000040 00 00 00 00 24 04 00 2B 0C 00 32 B3 27 C5 00 10 ....$..+..2¦'+..<br /> 00000050 05 FF 17 00 F4 05 00 00 08 00 00 00 03 E0 00 08 . ..¶........Ó..<br /> 00000060 00 00 00 00 27 BD FF F0 AF BE 00 08 0F FF 17 00 ....'¢ ­»¥... ..<br /> 00000070 08 07 00 00 08 00 00 00 03 E0 00 08 00 00 00 00 .........Ó......<br /> 00000080 27 BD FF F0 AF BE 00 08 19 FF 17 00 18 01 00 00 '¢ ­»¥... ......<br /> 00000090 08 00 00 00 03 E0 00 08 00 00 00 00 27 BD FF F0 .....Ó......'¢ ­<br /> 000000A0 AF BE 00 08 19 FF 17 00 70 01 00 00 08 00 00 00 »¥... ..p.......<br /> 000000B0 03 E0 00 08 00 00 00 00 27 BD FF F0 AF BE 00 08 .Ó......'¢ ­»¥..<br /> 000000C0 19 FF 17 00 C8 01 00 00 08 00 00 00 03 E0 00 08 . ..+........Ó..<br /> 000000D0 00 00 00 00 27 BD FF F0 AF BE 00 08 1A FF 17 00 ....'¢ ­»¥... ..<br /> 000000E0 FC 07 00 00 08 00 00 00 03 E0 00 08 00 00 00 00 ³........Ó......<br /> 000000F0 27 BD FF F0 AF BE 00 08 00 00 00 00 53 4C 50 53 '¢ ­»¥......SLPS<br /> 00000100 2D 32 35 30 32 36 -25026<br /> || 15753 (3.73+) || fixes blackscreen<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x09 =&gt; 1,<br /> 0x2B666C, <br /> 0x24080080 (li t0,0x80), <br /> 0x24060001 (li a2,0x1), <br /> 0x24080080 (li t0,0x80), <br /> 0x24060000 (li a2,0x0)<br /> 0x0B =&gt; 7, <br /> 0x17FF05, 0x7F0, 0x0C ,<br /> 0x1000C427 addiu a0,fp,0x10,<br /> 0xB732000C jal -0x2A9B90,<br /> 0x00000000 nop, <br /> 0x2B000424 li a0,0x2B,<br /> 0xB332000C jal -0x2A9BA0,<br /> 0x1000C527 addiu a1,fp,0x10,<br /> 0x17FF05, 0x5F4, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF0F, 0x708, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF19, 0x118, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF19, 0x170, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF19, 0x1C8, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF1A, 0x7FC, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> <br /> 002B666C 01 00 06 24 0x24060001 li a2,0x1<br /> 80 00 08 24 0x24080080 li t0,0x80 <br /> 2D 48 E0 00 0x00E0482D dmove t1,a3<br /> 10 00 0A 24 0x240A0010 li t2,0x10<br /> <br /> config 80 00 08 24 0x24080080 li t0,0x80<br /> 01 00 06 24 0x24060001 li a2,0x1<br /> 80 00 08 24 0x24080080 li t0,0x80<br /> 00 00 06 24 0x24060000 li a2,0x0<br /> |-<br /> | NPED00027 || Deadly Strike ||<br /> 00000000 3D 00 00 00 96 40 00 00 0A 00 00 00 01 00 00 00 =....@..........<br /> 00000010 14 09 1E 00 17 37 01 3C 14 37 01 3C 00 00 00 00 .....7.&lt;.7.&lt;....<br /> 00000020 53 4C 45 53 2D 35 32 39 35 35 SLES-52955<br /> || 16534 (4.20+) ||<br /> 0x3D =&gt; 0x4096 (16534)<br /> 0x0A =&gt; 1 <br /> 0x1E0914, 17 37 01 3C 0x3C013717 li at,0x3717<br /> 14 37 01 3C 0x3C013714 li at,0x3714 <br /> |-<br /> | NPED00087 || Disneys PK: Out of the Shadows ||<br /> <br /> || || blackscreen<br /> <br /> |-<br /> | NPUD21944 || Doras Big Birthday Adventure ||<br /> 00000000 3D 00 00 00 ED 3F 00 00 0A 00 00 00 0A 00 00 00 =....?..........<br /> 00000010 00 FF 0F 00 00 00 00 00 07 00 40 14 04 FF 0F 00 ..........@.....<br /> 00000020 00 00 00 00 10 00 01 3C 08 FF 0F 00 00 00 00 00 .......&lt;........<br /> 00000030 F0 FF 28 8C 0C FF 0F 00 00 00 00 00 20 01 09 2D ..(......... ..-<br /> 00000040 10 FF 0F 00 00 00 00 00 03 00 20 11 14 FF 0F 00 .......... .....<br /> 00000050 00 00 00 00 01 00 08 25 18 FF 0F 00 00 00 00 00 .......%........<br /> 00000060 F0 FF 28 AC 1C FF 0F 00 00 00 00 00 06 00 02 24 ..(............$<br /> 00000070 20 FF 0F 00 00 00 00 00 08 00 E0 03 90 9B 1E 00 ...............<br /> 00000080 08 00 E0 03 C0 FF 03 08 00 00 00 00 53 4C 55 53 ............SLUS<br /> 00000090 2D 32 31 39 34 34 -21944<br /> || 16365 (4.20+) ||<br /> 0x3D =&gt; 0x3FED (16365)<br /> 0x0A =&gt; 0xA,<br /> 0xFFF00,0,0x14400007 bnez v0,pos_000FFF20<br /> 0xFFF04,0,0x3C010010 lui at,0x0010<br /> 0xFFF08,0,0x8C28FFF0 lw t0,-0x10(at)<br /> 0xFFF0C,0,0x2D090120 sltiu t1,t0,0x0120<br /> 0xFFF10,0,0x11200003 beqz t1,pos_000FFF20<br /> 0xFFF14,0,0x25080001 addiu t0,0x1<br /> 0xFFF18,0,0xAC28FFF0 sw t0,-0x10(at)<br /> 0xFFF1C,0,0x24020006 li v0,0x6<br /> 0xFFF20,0,0x03E00008 jr ra<br /> 0x1E9B90, 0x03E00008 (jr ra), 0x0803FFC0 j pos_000FFF00<br /> |-<br /> | NPJD00005 || Dragon Force ||<br /> 00000000 3D 00 00 00 D6 40 00 00 0A 00 00 00 02 00 00 00 =....@..........<br /> 00000010 B4 41 10 00 1C 00 40 10 F9 FF 40 14 BC 41 10 00 .A....@...@..A..<br /> 00000020 1D 00 02 3C 1A 00 40 10 41 00 00 00 00 00 00 00 ...&lt;..@.A.......<br /> 00000030 53 4C 50 4D 2D 36 35 37 37 38 SLPM-65778<br /> || 16598 (4.20+) ||<br /> 0x3D =&gt; 0x40D6 (16598)<br /> 0x0A =&gt; 2, <br /> 0x1041B4, 0x1040001C beqz v0,pos_00104228<br /> 0x1440FFF9 bnez v0,pos_0010419C<br /> 0x1041BC, 0x3C02001D lui v0,0x001D<br /> 0x1040001A beqz v0,pos_00104228<br /> 0x41 =&gt; (sets some value 1, sync? - speedhack?)<br /> |-<br /> | NPUD20766 || Fatal Frame II ||<br /> 00000000 3D 00 00 00 AF 42 00 00 21 00 00 00 00 00 00 00 =....B..!.......<br /> 00000010 48 00 00 00 02 00 00 00 9C E6 FF FF 0A 00 00 00 H...............<br /> 00000020 01 00 00 00 1C 70 17 00 41 01 0F 24 61 01 0F 24 .....p..A..$a..$<br /> 00000030 46 00 00 00 0B 00 00 00 01 00 00 00 DD 04 00 00 F...............<br /> 00000040 E8 02 00 00 04 00 00 00 00 42 73 84 00 00 02 FF .........Bs.....<br /> 00000050 00 00 00 00 53 4C 55 53 2D 32 30 37 36 36 ....SLUS-20766 <br /> || 17071 (4.50+) ||<br /> 0x3D =&gt; 0x42AF (17071)<br /> 0x21 =&gt; 0<br /> 0x48 =&gt; 0x2, 0xFFFFE69C<br /> 0x0A =&gt; 1, <br /> 0x17701C, 0x240F0141 (li t7,0x141)<br /> 0x240F0161 (li t7,0x161)<br /> 0x46<br /> 0x0B =&gt; 1<br /> 0x4DD, (sector)<br /> 0x2E8, (offset -&gt; 0x26EADC in iso)<br /> 0x04,<br /> 0x84734200 lh s3,0x4200(v1),<br /> 0xFF020000 sd v0,(t8)<br /> |-<br /> | NPED00052 || God Hand || <br /> 00000000 3D 00 00 00 5F 3F 00 00 41 00 00 00 0A 00 00 00 =..._?..A.......<br /> 00000010 14 00 00 00 A0 FF 0F 00 00 00 00 00 01 00 02 3C ....á .........&lt;<br /> 00000020 A4 FF 0F 00 00 00 00 00 21 20 82 00 A8 FF 0F 00 ñ ......! é.¿ ..<br /> 00000030 00 00 00 00 4D 00 02 24 AC FF 0F 00 00 00 00 00 ....M..$¼ ......<br /> 00000040 0E 00 45 14 B4 FF 0F 00 00 00 00 00 3E 18 06 00 ..E.¦ ......&gt;...<br /> 00000050 B8 FF 0F 00 00 00 00 00 FF 3F 63 38 BC FF 0F 00 © ...... ?c8+ ..<br /> 00000060 00 00 00 00 60 00 02 24 C0 FF 0F 00 00 00 00 00 ....`..$+ ......<br /> 00000070 0A 10 03 00 C4 FF 0F 00 00 00 00 00 00 00 83 8C ....- ........âî<br /> 00000080 C8 FF 0F 00 00 00 00 00 00 00 62 FC CC FF 0F 00 + ........b³¦ ..<br /> 00000090 00 00 00 00 15 00 02 24 D0 FF 0F 00 00 00 00 00 .......$ð ......<br /> 000000A0 08 00 62 FC D4 FF 0F 00 00 00 00 00 10 00 63 24 ..b³È ........c$<br /> 000000B0 D8 FF 0F 00 00 00 00 00 00 00 83 AC DC FF 0F 00 Ï ........â¼_ ..<br /> 000000C0 00 00 00 00 10 00 83 8C E0 FF 0F 00 00 00 00 00 ......âîÓ ......<br /> 000000D0 01 00 63 24 E4 FF 0F 00 00 00 00 00 10 00 83 AC ..c$õ ........â¼<br /> 000000E0 E8 FF 0F 00 00 00 00 00 A6 67 0A 08 90 9E 29 00 Þ ......ªg..É×).<br /> 000000F0 01 00 02 3C E8 FF 03 08 94 9E 29 00 21 20 82 00 ...&lt;Þ ..ö×).! é.<br /> 00000100 00 00 00 00 00 00 00 00 53 4C 45 53 2D 35 34 34 ........SLES-544<br /> 00000110 39 30 90<br /> || 16223 (4.10+) ||<br /> 0x3D =&gt; 0x3F5F (16223)<br /> 0x41 =&gt; (sets some value 1, sync? - speedhack?)<br /> 0x0A =&gt; 0x14<br /> 0xFFFA0,0,0x3C020001 lui v0,0x0001<br /> 0xFFFA4,0,0x00822021 addu a0,v0<br /> 0xFFFA8,0,0x2402004D li v0,0x4D<br /> 0xFFFAC,0,0x1445000E bne v0,a1,pos_000FFFE8<br /> 0xFFFB4,0,0x0006183E dsrl32 v1,a2,0x00<br /> 0xFFFB8,0,0x38633FFF xori v1,0x3FFF<br /> 0xFFFBC,0,0x24020060 li v0,0x60<br /> 0xFFFC0,0,0x0003100A movz v0,zero,v1<br /> 0xFFFC4,0,0x8C830000 lw v1,(a0)<br /> 0xFFFC8,0,0xFC620000 sd v0,(v1)<br /> 0xFFFCC,0,0x24020015 li v0,0x15<br /> 0xFFFD0,0,0xFC620008 sd v0,0x8(v1)<br /> 0xFFFD4,0,0x24630010 addiu v1,0x10<br /> 0xFFFD8,0,0xAC830000 sw v1,(a0)<br /> 0xFFFDC,0,0x8C830010 lw v1,0x10(a0)<br /> 0xFFFE0,0,0x24630001 addiu v1,0x1<br /> 0xFFFE4,0,0xAC830010 sw v1,0x10(a0)<br /> 0xFFFE8,0,0x080A67A6 j pos_00299E98<br /> 0x299E90,0x3C020001 (lui v0,0x0001),0x0803FFE8 j pos_000FFFA0<br /> 0x299E94,0x00822021 (addu a0,v0),0x00000000 nop<br /> |-<br /> | NPUD20712 || Gradius V ||<br /> 00000000 3D 00 00 00 37 3E 00 00 0B 00 00 00 01 00 00 00 =...7&gt;..........<br /> 00000010 D3 05 00 00 10 03 00 00 08 00 00 00 03 E0 00 08 ................<br /> 00000020 00 00 00 00 27 BD FF C0 3C 03 00 4C 41 00 00 00 ....'...&lt;..LA...<br /> 00000030 26 00 00 00 E0 46 30 00 44 5E 30 00 00 00 00 00 &amp;....F0.D^0.....<br /> 00000040 53 4C 55 53 2D 32 30 37 31 32 SLUS-20712 <br /> || 15927 (3.71+) || <br /> 0x3D =&gt; 0x3E37 (15927)<br /> 0x0B =&gt; 1<br /> 0x5D3, (sector)<br /> 0x310, (offset -&gt; 0x2E9B04 in iso)<br /> 0x08, <br /> 03 E0 00 08 jr ra<br /> 00 00 00 00 nop<br /> 27 BD FF C0 addiu sp,-0x40<br /> 3C 03 00 4C lui v1,0x004C<br /> 0x41 =&gt; (sets some value 1, sync? - speedhack?)<br /> 0x26 =&gt; 0x3046E0, 0x0x305E44<br /> |-<br /> | NPUD20552 || Grand Theft Auto - Vice City ||<br /> 00000000 3D 00 00 00 A5 41 00 00 21 00 00 00 01 00 00 00 =....A..!.......<br /> 00000010 0A 00 00 00 0D 00 00 00 A0 FF 0F 00 00 00 00 00 ................<br /> 00000020 17 00 01 24 A4 FF 0F 00 00 00 00 00 08 00 24 14 ...$..........$.<br /> 00000030 AC FF 0F 00 00 00 00 00 10 00 01 3C B0 FF 0F 00 ...........&lt;....<br /> 00000040 00 00 00 00 90 FF 22 8C B4 FF 0F 00 00 00 00 00 ......&quot;.........<br /> 00000050 FF FF 42 24 B8 FF 0F 00 00 00 00 00 05 00 40 1C ..B$..........@.<br /> 00000060 C0 FF 0F 00 00 00 00 00 04 00 02 24 C4 FF 0F 00 ...........$....<br /> 00000070 00 00 00 00 90 FF 22 AC C8 FF 0F 00 00 00 00 00 ......&quot;.........<br /> 00000080 C1 3A 0B 08 CC FF 0F 00 00 00 00 00 D0 FF BD 27 .:.............'<br /> 00000090 D0 FF 0F 00 00 00 00 00 08 00 E0 03 D4 FF 0F 00 ................<br /> 000000A0 00 00 00 00 90 FF 22 AC 00 EB 2C 00 D0 FF BD 27 ......&quot;...,....'<br /> 000000B0 E8 FF 03 08 00 00 00 00 53 4C 55 53 2D 32 30 35 ........SLUS-205<br /> 000000C0 35 32 52<br /> || 16805 (4.30+) ||<br /> 0x3D =&gt; 0x41A5 (16805)<br /> 0x21 =&gt; 1<br /> 0x0A = 0xD<br /> 0xFFFA0,0,0x24010017 li at,0x17<br /> 0xFFFA4,0,0x14240008 bne at,a0,pos_000FFFC8<br /> 0xFFFAC,0,0x3C010010 lui at,0x0010<br /> 0xFFFB0,0,0x8C22FF90 lw v0,-0x70(at)<br /> 0xFFFB4,0,0x2442FFFF addiu v0,-0x1<br /> 0xFFFB8,0,0x1C400005 bgtz v0,pos_000FFFD0<br /> 0xFFFC0,0,0x24020004 li v0,0x4<br /> 0xFFFC4,0,0xAC22FF90 sw v0,-0x70(at)<br /> 0xFFFC8,0,0x080B3AC1 j pos_002CEB04<br /> 0xFFFCC,0,0x27BDFFD0 addiu sp,-0x30<br /> 0xFFFD0,0,0x03E00008 jr ra<br /> 0xFFFD4,0,0xAC22FF90 sw v0,-0x70(at)<br /> 0x2CEB00,0x27BDFFD0 ( addiu sp,-0x30 ),0x0803FFE8 j pos_000FFFA0<br /> <br /> |-<br /> | NPED00063 || Grand Theft Auto III ||<br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 90 97 34 00 =....=........4.<br /> 00000010 10 00 00 00 21 00 00 00 01 00 00 00 00 00 00 00 ....!...........<br /> 00000020 53 4C 45 53 2D 35 30 33 33 30 SLES-50330<br /> || 15753 (3.73+) ||<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x01 =&gt; 0x349790, 0x10<br /> 0x21 =&gt; 1<br /> |-<br /> | NPUD20062 || Grand Theft Auto III ||<br /> 00000000 3D 00 00 00 48 3F 00 00 19 00 00 00 01 00 00 00 =...H?..........<br /> 00000010 40 8B 34 00 0F 00 00 00 21 00 00 00 01 00 00 00 @.4.....!.......<br /> 00000020 0B 00 00 00 01 00 00 00 71 6D 0F 00 EC 04 00 00 ........qm......<br /> 00000030 B0 00 00 00 03 E0 00 08 00 00 00 00 3C 01 00 10 ............&lt;...<br /> 00000040 8C 21 FE F0 14 20 00 25 00 00 00 00 27 BD FF 50 .!... .%....'..P<br /> 00000050 08 0B 64 B9 7F BF 00 50 00 00 00 00 34 02 00 03 ..d....P....4...<br /> 00000060 34 01 00 43 10 81 00 15 34 03 00 00 34 01 00 20 4..C....4...4.. <br /> 00000070 10 81 00 12 34 03 00 01 34 01 00 1F 10 81 00 0F ....4...4.......<br /> 00000080 34 03 00 02 34 01 00 1D 10 81 00 0C 34 03 00 03 4...4.......4...<br /> 00000090 34 02 00 02 34 01 00 39 10 81 00 08 34 03 00 04 4...4..9....4...<br /> 000000A0 34 02 00 01 34 01 00 1A 10 81 00 04 34 03 00 05 4...4.......4...<br /> 000000B0 27 BD FE F0 08 0B 1D 05 7F BF 00 90 3C 01 00 10 '...........&lt;...<br /> 000000C0 00 23 18 21 90 79 FE E0 27 39 00 01 03 22 08 2A .#.!.y..'9...&quot;.*<br /> 000000D0 00 01 C8 0A 13 20 FF F6 A0 79 FE E0 03 E0 00 08 ..... ...y......<br /> 000000E0 00 00 00 00 27 BD FE D0 7F BF 00 B0 7F BE 00 A0 ....'...........<br /> 000000F0 7F B7 00 90 7F B6 00 80 7F B5 00 70 7F B4 00 60 ...........p...`<br /> 00000100 7F B3 00 50 7F B2 00 40 7F B1 00 30 7F B0 00 20 ...P...@...0... <br /> 00000110 E7 B7 00 1C E7 B6 00 18 E7 B5 00 14 E7 B4 00 10 ................<br /> 00000120 27 B7 00 F4 46 00 65 06 E7 AC 00 F0 24 07 00 01 '...F.e.....$...<br /> 00000130 46 00 75 86 27 B0 00 F8 46 00 7D 46 E6 ED 00 00 F.u.'...F.}F....<br /> 00000140 3C 02 C4 7A AE 02 00 00 3C 02 44 7A FF A0 00 00 &lt;..z....&lt;.Dz....<br /> 00000150 44 82 60 00 27 A4 00 F0 46 00 6D C6 27 A5 00 C0 D.`.'...F.m.'...<br /> 00000160 27 A6 01 2C 70 00 46 28 70 00 4E 28 70 00 56 28 '..,p.F(p.N(p.V(<br /> 00000170 70 E0 5E 28 0C 0A A8 34 FF A0 00 08 27 B1 00 C8 p.^(...4....'...<br /> 00000180 C6 20 00 00 3C 02 40 00 44 82 08 00 24 07 00 01 . ..&lt;.@.D...$...<br /> 00000190 3C 02 44 7A 0A 00 00 00 07 00 00 00 40 7D 24 00 &lt;.Dz........@}$.<br /> 000001A0 08 00 E0 03 10 00 01 3C 44 7D 24 00 00 00 00 00 .......&lt;D}$.....<br /> 000001B0 08 00 E0 03 48 7D 24 00 00 00 00 00 F0 FE 22 AC ....H}$.......&quot;.<br /> 000001C0 E0 92 2D 00 50 FF BD 27 1A 2B 0D 08 E4 92 2D 00 ..-.P..'.+....-.<br /> 000001D0 50 00 BF 7F 00 00 00 00 10 74 2C 00 F0 FE BD 27 P........t,....'<br /> 000001E0 22 2B 0D 08 14 74 2C 00 90 00 BF 7F 00 00 00 00 &quot;+...t,.........<br /> 000001F0 00 00 00 00 53 4C 55 53 2D 32 30 30 36 32 ....SLUS-20062 <br /> || 16200 (4.10+) ||<br /> 0x3D =&gt; 0x3F48 (16200)<br /> 0x19 =&gt; (sets some value 1)<br /> 0x01 =&gt; 0x348B40, 0xF<br /> 0x21 =&gt; 1<br /> 0x0B =&gt; 1<br /> 0xF6D71, (sector)<br /> 0x4EC, (offset -&gt; 0x7B6B8CE0 in iso)<br /> 0xB0, <br /> 03 E0 00 08 jr ra<br /> 00 00 00 00 nop<br /> 3C 01 00 10 lui at,0x0010<br /> 8C 21 FE F0 lw at,-0x110(at)<br /> 14 20 00 25 bnez at,+0x98<br /> 00 00 00 00 nop<br /> 27 BD FF 50 addiu sp,-0xB0<br /> 08 0B 64 B9 j +0x22C78<br /> 7F BF 00 50 sq ra,0x50(sp)<br /> 00 00 00 00 nop<br /> 34 02 00 03 li v0,0x3<br /> 34 01 00 43 li at,0x43<br /> 10 81 00 15 beq a0,at,+0x5C<br /> 34 03 00 00 li v1,0x0<br /> 34 01 00 20 li at,0x20<br /> 10 81 00 12 beq a0,at,+0x4C<br /> 34 03 00 01 li v1,0x1<br /> 34 01 00 1F li at,0x1F<br /> 10 81 00 0F beq a0,at,+0x3C<br /> 34 03 00 02 li v1,0x2<br /> 34 01 00 1D li at,0x1D<br /> 10 81 00 0C beq a0,at,+0x2C<br /> 34 03 00 03 li v1,0x3<br /> 34 02 00 02 li v0,0x2<br /> 34 01 00 39 li at,0x39<br /> 10 81 00 08 beq a0,at,+0x24<br /> 34 03 00 04 li v1,0x4<br /> 34 02 00 01 li v0,0x1<br /> 34 01 00 1A li at,0x1A<br /> 10 81 00 04 beq a0,at,+0x14<br /> 34 03 00 05 li v1,0x5<br /> 27 BD FE F0 addiu sp,-0x110<br /> 08 0B 1D 05 j +0x10D54<br /> 7F BF 00 90 sq ra,0x90(sp)<br /> 3C 01 00 10 lui at,0x0010<br /> 00 23 18 21 addu v1,at<br /> 90 79 FE E0 lbu t9,-0x120(v1)<br /> 27 39 00 01 addiu t9,0x1<br /> 03 22 08 2A slt at,t9,v0<br /> 00 01 C8 0A movz t9,zero,at<br /> 13 20 FF F6 beqz t9,-0x24<br /> A0 79 FE E0 sb t9,-0x120(v1)<br /> 03 E0 00 08 jr ra<br /> 00 00 00 00 nop<br /> 27 BD FE D0 addiu sp,-0x130<br /> 7F BF 00 B0 sq ra,0xB0(sp)<br /> 7F BE 00 A0 sq fp,0xA0(sp)<br /> 7F B7 00 90 sq s7,0x90(sp)<br /> 7F B6 00 80 sq s6,0x80(sp)<br /> 7F B5 00 70 sq s5,0x70(sp)<br /> 7F B4 00 60 sq s4,0x60(sp)<br /> 7F B3 00 50 sq s3,0x50(sp)<br /> 7F B2 00 40 sq s2,0x40(sp)<br /> 7F B1 00 30 sq s1,0x30(sp)<br /> 7F B0 00 20 sq s0,0x20(sp)<br /> E7 B7 00 1C swc1 f23,0x1C(sp)<br /> E7 B6 00 18 swc1 f22,0x18(sp)<br /> E7 B5 00 14 swc1 f21,0x14(sp)<br /> E7 B4 00 10 swc1 f20,0x10(sp)<br /> 27 B7 00 F4 addiu s7,sp,0xF4<br /> 46 00 65 06 mov.s f20,f12<br /> E7 AC 00 F0 swc1 f12,0xF0(sp)<br /> 24 07 00 01 li a3,0x1<br /> 46 00 75 86 mov.s f22,f14<br /> 27 B0 00 F8 addiu s0,sp,0xF8<br /> 46 00 7D 46 mov.s f21,f15<br /> E6 ED 00 00 swc1 f13,(s7)<br /> 3C 02 C4 7A lui v0,0xC47A<br /> AE 02 00 00 sw v0,(s0)<br /> 3C 02 44 7A lui v0,0x447A<br /> FF A0 00 00 sd zero,(sp)<br /> 44 82 60 00 mtc1 v0,f12<br /> 27 A4 00 F0 addiu a0,sp,0xF0<br /> 46 00 6D C6 mov.s f23,f13<br /> 27 A5 00 C0 addiu a1,sp,0xC0<br /> 27 A6 01 2C addiu a2,sp,0x12C<br /> 70 00 46 28 paddub t0,zero,zero<br /> 70 00 4E 28 paddub t1,zero,zero<br /> 70 00 56 28 paddub t2,zero,zero<br /> 70 E0 5E 28 paddub t3,a3,zero<br /> 0C 0A A8 34 jal -0xC5C4<br /> FF A0 00 08 sd zero,0x8(sp)<br /> 27 B1 00 C8 addiu s1,sp,0xC8<br /> C6 20 00 00 lwc1 f00,(s1)<br /> 3C 02 40 00 lui v0,0x4000<br /> 44 82 08 00 mtc1 v0,f01<br /> 24 07 00 01 li a3,0x1<br /> 3C 02 44 7A lui v0,0x447A<br /> 0x0A =&gt; 7<br /> 0x247D40, 0x03E00008 (jr ra), 0x3C010010 lui at,0x0010<br /> 0x247D44, 0x00000000 (nop), 0x03E00008 jr ra<br /> 0x247D48, 0x00000000 (nop), 0xAC22FEF0 sw v0,-0x110(at)<br /> 0x2D92E0, 0x27BDFF50 (addiu sp,-0xB0), 0x080D2B1A j pos_0034AC68<br /> 0x2D92E4, 0x7FBF0050 (sq ra,0x50(sp)), 0x00000000 nop<br /> 0x2C7410, 0x27BDFEF0 (addiu sp,-0x110), 0x080D2B22 j pos_0034AC88<br /> 0x2C7414, 0x7FBF0090 (sq ra,0x90(sp)), 0x00000000 nop<br /> |-<br /> | NPED00070 || Grand Theft Auto - San Andreas ||<br /> 00000000 3D 00 00 00 60 40 00 00 0F 00 00 00 B0 45 1E 00 =...`@.......E..<br /> 00000010 08 51 1E 00 40 00 00 00 00 00 00 00 53 4C 45 53 .Q..@.......SLES<br /> 00000020 2D 35 32 39 32 37 -52927<br /> || 16480 (4.20+) ||<br /> 0x3D =&gt; 0x4060 (16480)<br /> 0x0F =&gt; 0x1E45B0, 0x1E5108<br /> 0x40 =&gt; (sets some value 1)<br /> |-<br /> | NPUD20946 || Grand Theft Auto - San Andreas ||<br /> 00000000 3D 00 00 00 60 40 00 00 0F 00 00 00 DC 46 1E 00 =...`@.......F..<br /> 00000010 E8 4A 1E 00 40 00 00 00 00 00 00 00 53 4C 55 53 .J..@.......SLUS<br /> 00000020 2D 32 30 39 34 36 -20946<br /> || 16480 (4.20+) ||<br /> 0x3D =&gt; 0x4060 (16480)<br /> 0x0F =&gt; 0x1E46DC, 0x1E4AE8<br /> 0x40 =&gt; (sets some value 1)<br /> |-<br /> | NPJD00062 || Grandia II ||<br /> <br /> || || texture bugs<br /> <br /> |-<br /> | NPUD21604 || GRIMgRiMoiRe ||<br /> 00000000 3D 00 00 00 12 3D 00 00 15 00 00 00 04 00 00 00 =....=..........<br /> || 15634 (3.70+) ||<br /> 0x3D =&gt; 0x3D12 (15634)<br /> 0x15 =&gt; 4<br /> |-<br /> | NPJD00020 || Katamari Damacy ||<br /> 00000000 3D 00 00 00 46 40 00 00 41 00 00 00 0B 00 00 00 =...F@..A.......<br /> 00000010 01 00 00 00 29 04 00 00 40 00 00 00 04 00 00 00 ....)...@.......<br /> 00000020 00 24 77 68 00 00 00 00 00 00 00 00 53 4C 50 53 .$wh........SLPS<br /> 00000030 2D 32 35 33 36 30 -25360<br /> || 16454 (4.20+)||<br /> 0x3D =&gt; 0x4046 (16454)<br /> 0x41 =&gt; (sets some value 1, sync? - speedhack?)<br /> 0x0B =&gt; 1<br /> 0x429, (sector)<br /> 0x40, (offset -&gt; 0x214834 in iso)<br /> 0x04,<br /> 0x68772400 mfsa t6 , <br /> 0x00000000 nop<br /> |-<br /> | NPUD20847 || La Pucelle: Tactics ||<br /> 00000000 3D 00 00 00 DB 3F 00 00 0A 00 00 00 0B 00 00 00 =....?..........<br /> 00000010 40 FA 0F 00 00 00 00 00 0C 01 0A 3C 44 FA 0F 00 @..........&lt;D...<br /> 00000020 00 00 00 00 04 DE 4A 35 48 FA 0F 00 00 00 00 00 ......J5H.......<br /> 00000030 04 00 45 11 4C FA 0F 00 00 00 00 00 00 00 00 00 ..E.L...........<br /> 00000040 50 FA 0F 00 00 00 00 00 10 00 0A 8E 54 FA 0F 00 P...........T...<br /> 00000050 00 00 00 00 9A E2 04 08 58 FA 0F 00 00 00 00 00 ........X.......<br /> 00000060 14 00 0B 8E 5C FA 0F 00 00 00 00 00 9C E2 04 08 ....\...........<br /> 00000070 60 FA 0F 00 00 00 00 00 00 00 00 00 60 8A 13 00 `...........`...<br /> 00000080 10 00 0A 8E 90 FE 03 08 64 8A 13 00 14 00 0B 8E ........d.......<br /> 00000090 00 00 00 00 00 00 00 00 53 4C 55 53 2D 32 30 38 ........SLUS-208<br /> 000000A0 34 37 47 <br /> || 16347 (4.10+) || fixes blackscreen - config rebuild function/opcode from 0x138A60 by rewrite it under 0x100000 offset, and jump to it by j 0x000FFA40 (note: area under 0x100000 is unused in 99% games, but can be freely addressed).<br /> 0x3D =&gt; 0x3FDB (16347)<br /> 0x0A =&gt; 0xB<br /> 0xFFA40,0,0x3C0A010C lui t2, 0x010C<br /> 0xFFA44,0,0x354ADE04 ori t2, 0xDE04<br /> 0xFFA48,0,0x11450004 beq t2, a1, 0x000FFA5C<br /> 0xFFA4C,0,0 nop<br /> 0xFFA50,0,0x8E0A0010 lw t2, 0x10(s0)<br /> 0xFFA54,0,0x0804E29A j 0x00138A68<br /> 0xFFA58,0,0x8E0B0014 lw t3, 0x14(s0)<br /> 0xFFA5C,0,0x0804E29C j 0x00138A70<br /> 0xFFA60,0,0 nop<br /> 0x138A60,0x8E0A0010 (lw t2, 0x10(s0)),0x0803FE90 j 0x000FFA40<br /> 0x138A64,0x8E0B0014 (lw t3, 0x14(s0)),0 (nop)<br /> |-<br /> | NPUD20275 || Kessen II ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0B 00 00 00 03 00 00 00 =....=..........<br /> 00000010 10 76 00 00 BC 07 00 00 10 00 00 00 48 43 88 00 .v..........HC..<br /> 00000020 4B E5 21 AC 30 84 80 00 4B E7 2B 3C 4B E5 21 AC K.!.0...K.+&lt;K.!.<br /> 00000030 30 84 80 00 4B E7 2B 3C 48 43 88 00 64 76 00 00 0...K.+&lt;HC..dv..<br /> 00000040 10 05 00 00 0C 00 00 00 4B C0 10 9C 4B C0 18 DC ........K...K...<br /> 00000050 4A 68 03 BE 4A 68 03 BE 4B C0 10 9C 4B C0 18 DC Jh..Jh..K...K...<br /> 00000060 64 76 00 00 C8 06 00 00 0C 00 00 00 4B C0 10 9C dv..........K...<br /> 00000070 4B C0 18 DC 4A 68 03 BE 4A 68 03 BE 4B C0 10 9C K...Jh..Jh..K...<br /> 00000080 4B C0 18 DC 00 00 00 00 53 4C 55 53 2D 32 30 32 K.......SLUS-202<br /> 00000090 37 35 75 <br /> || 15753 (3.73+) || fixes spickey polygon syndrome problems for characters in cutscenes/selection/..<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0B =&gt; 3<br /> 0x7610, 0x07BC, 0x10, <br /> Patched Bytes:<br /> 0x00884348 00 88 43 48 cfc2 $v1, $17 (cfc2 v1,MACflag)<br /> 0xAC21E54B AC 21 E5 4B cop2 0x1E521AC (vsub.xyzw vf06, vf04, vf05)<br /> 0x00808430 00 80 84 30 andi $a0, 0x8000<br /> 0x3C2BE74B 3C 2B E7 4B cop2 0x1E72B3C (vmove.xyzw, vf07, vf05)<br /> Original Bytes:<br /> 0xAC21E54B AC 21 E5 4B cop2 0x1E521AC (vsub.xyzw vf06, vf04, vf05)<br /> 0x00808430 00 80 84 30 andi $a0, 0x8000<br /> 0x3C2BE74B 3C 2B E7 4B cop2 0x1E72B3C (vmove.xyzw, vf07, vf05)<br /> 0x00884348 00 88 43 48 cfc2 $v1, $17 (cfc2 v1,MACflag)<br /> 0x7664, 0x0510, 0x0C,<br /> Patched Bytes:<br /> 0x9C10C04B 9C 10 C0 4B cop2 0x1C0109C (vmulq.xyz vf02,vf02,Q)<br /> 0xDC18C04B DC 18 C0 4B cop2 0x1C018DC (vmulq.xyz vf03,vf03,Q)<br /> 0xBE03684A BE 03 68 4A cop2 0x6803BE (vrsqrt Q, vf00w, vf08x)<br /> Original Bytes:<br /> 0xBE03684A BE 03 68 4A cop2 0x6803BE (vrsqrt Q, vf00w, vf08x)<br /> 0x9C10C04B 9C 10 C0 4B cop2 0x1C0109C (vmulq.xyz vf02,vf02,Q)<br /> 0xDC18C04B DC 18 C0 4B cop2 0x1C018DC (vmulq.xyz vf03,vf03,Q)<br /> 0x7664, 0x06C8, 0x0C, <br /> Patched Bytes:<br /> 0x9C10C04B 9C 10 C0 4B cop2 0x1C0109C (vmulq.xyz vf02,vf02,Q)<br /> 0xDC18C04B DC 18 C0 4B cop2 0x1C018DC (vmulq.xyz vf03,vf03,Q)<br /> 0xBE03684A BE 03 68 4A cop2 0x6803BE (vrsqrt Q, vf00w, vf08x)<br /> Original Bytes:<br /> 0xBE03684A BE 03 68 4A cop2 0x6803BE (vrsqrt Q, vf00w, vf08x)<br /> 0x9C10C04B 9C 10 C0 4B cop2 0x1C0109C (vmulq.xyz vf02,vf02,Q)<br /> 0xDC18C04B DC 18 C0 4B cop2 0x1C018DC (vmulq.xyz vf03,vf03,Q)<br /> |-<br /> | NPJD00040 || Mana Khemia 2 ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 53 4C 50 4D 2D 35 35 31 ........SLPM-551<br /> 00000020 31 34 14<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> |-<br /> | NPUD20827 || Manhunt ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0A 00 00 00 0F 00 00 00 =....=..........<br /> 00000010 A0 FF 0F 00 00 00 00 00 2D 68 A0 00 A4 FF 0F 00 ........-h......<br /> 00000020 00 00 00 00 14 00 AE 8D A8 FF 0F 00 00 00 00 00 ................<br /> 00000030 10 00 AC 8D AC FF 0F 00 00 00 00 00 50 00 AF 8D ............P...<br /> 00000040 B0 FF 0F 00 00 00 00 00 08 00 8F 15 B4 FF 0F 00 ................<br /> 00000050 00 00 00 00 54 00 AB 8D B8 FF 0F 00 00 00 00 00 ....T...........<br /> 00000060 06 00 CB 15 BC FF 0F 00 00 00 00 00 00 80 8F 25 ...............%<br /> 00000070 C0 FF 0F 00 00 00 00 00 00 80 CE 25 C4 FF 0F 00 ...........%....<br /> 00000080 00 00 00 00 54 00 AE AD C8 FF 0F 00 00 00 00 00 ....T...........<br /> 00000090 50 00 AF AD CC FF 0F 00 00 00 00 00 10 00 AF AD P...............<br /> 000000A0 D0 FF 0F 00 00 00 00 00 14 00 AE AD D4 FF 0F 00 ................<br /> 000000B0 00 00 00 00 04 68 10 08 D8 FF 0F 00 00 00 00 00 .....h..........<br /> 000000C0 5F 00 03 3C 0B 00 00 00 01 00 00 00 22 0D 00 00 _..&lt;........&quot;...<br /> 000000D0 14 01 00 00 08 00 00 00 08 03 FF E8 27 BD FF F0 ............'...<br /> 000000E0 3C 03 00 5F 27 BD FF F0 00 00 00 00 53 4C 55 53 &lt;.._'.......SLUS<br /> 000000F0 2D 32 30 38 32 37 -20827<br /> || 15753 (3.73+) || fixes graphical issues<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0A =&gt; 0x0F<br /> 0xFFFA0,0, 0x00A0682D 2D 68 A0 00 dmove t5,a1<br /> 0xFFFA4,0, 0x8DAE0014 14 00 AE 8D lw t6,0x14(t5)<br /> 0xFFFA8,0, 0x8DAC0010 10 00 AC 8D lw t4,0x10(t5)<br /> 0xFFFAC,0, 0x8DAF0050 50 00 AF 8D lw t7,0x50(t5)<br /> 0xFFFB0,0, 0x158F0008 08 00 8F 15 bne t4,t7,pos_000FFFD4<br /> 0xFFFB4,0, 0x8DAB0054 54 00 AB 8D lw t3,0x54(t5)<br /> 0xFFFB8,0, 0x15CB0006 06 00 CB 15 bne t6,t3,pos_000FFFD4<br /> 0xFFFBC,0, 0x258F8000 00 80 8F 25 addiu t7,t4,-0x8000<br /> 0xFFFC0,0, 0x25CE8000 00 80 CE 25 addiu t6,-0x8000<br /> 0xFFFC4,0, 0xADAE0054 54 00 AE AD sw t6,0x54(t5)<br /> 0xFFFC8,0, 0xADAF0050 50 00 AF AD sw t7,0x50(t5)<br /> 0xFFFCC,0, 0xADAF0010 10 00 AF AD sw t7,0x10(t5)<br /> 0xFFFD0,0, 0xADAE0014 14 00 AE AD sw t6,0x14(t5)<br /> 0xFFFD4,0, 0x08106804 04 68 10 08 j pos_0041A010<br /> 0xFFFD8,0, 0x3C03005F 5F 00 03 3C lui v1,0x005F<br /> 0x0B =&gt; 1<br /> 0xD22, (disc sector)<br /> 0x114, (offset -&gt; 0x691108 in iso)<br /> 0x08,<br /> 0x0803FFE8 E8 FF 03 08 j pos_000FFFA0<br /> 0x27BDFFF0 F0 FF BD 27 addiu sp,-0x10<br /> 0x3C03005F 5F 00 03 3C lui v1,0x005F<br /> 0x27BDFFF0 F0 FF BD 27 addiu sp,-0x10<br /> &lt;pre&gt;<br /> z_un_0041a008:<br /> <br /> lui v1,0x005F &lt;- gets overwritten<br /> addiu sp,-0x10<br /> lw v0,-0x5C14(v1)<br /> sd ra,(sp)<br /> jalr v0<br /> nop <br /> ld ra,(sp)<br /> jr ra<br /> addiu sp,0x10<br /> nop <br /> &lt;/pre&gt;<br /> |-<br /> | NPED00145 || Max Payne ||<br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 F4 E9 52 00 =....=........R.<br /> 00000010 03 00 00 00 01 00 00 00 78 EB 52 00 02 00 00 00 ........x.R.....<br /> 00000020 00 00 00 00 53 4C 45 53 2D 35 30 33 32 35 ....SLES-50325<br /> || 15753 (3.73+) || fixes game hang on first cutscene/cutscenes<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x01 =&gt; 0x52E9F4, 3 (applies to main_p.run ELF on disc: 0x52E9F4 dmove a1,v0 )<br /> 0x01 =&gt; 0x52EB78, 2 (applies to main_p.run ELF on disc: 0x52EB78 lq s1,0x10(sp) )<br /> |-<br /> | NPED00055 || MX World Tour: Featuring Jamie Little ||<br /> <br /> || || blackscreen<br /> <br /> |-<br /> | NPUD21577 || Odin Sphere ||<br /> 00000000 3D 00 00 00 10 3D 00 00 0B 00 00 00 02 00 00 00 =....=..........<br /> 00000010 52 04 00 00 F8 03 00 00 04 00 00 00 2D 02 49 0C R...........-.I.<br /> 00000020 2D 02 49 14 52 04 00 00 70 04 00 00 04 00 00 00 -.I.R...p.......<br /> 00000030 2D 03 49 0C 2D 03 49 14 15 00 00 00 04 00 00 00 -.I.-.I.........<br /> || 15632 (3.70+) ||<br /> 0x3D =&gt; 0x3D10 (15632)<br /> 0x0B =&gt; 2<br /> 0x452, (sector)<br /> 0x3F8, (offset -&gt; 0x2293EC in iso)<br /> 0x04,<br /> 0x0C49022D sltiu v0,t0,0x490C,<br /> 0x1449022D sltiu v0,t0,0x4914,<br /> 0x452, (sector)<br /> 0x470, (offset -&gt; 0x229464 in iso)<br /> 0x04,<br /> 0x0C49032D sltiu v1,t0,0x490C,<br /> 0x1449032D sltiu v1,t0,0x4914<br /> 0x15 =&gt; 4<br /> |-<br /> | NPJD00028 || Phantasy Star Complete Collection ||<br /> 00000000 3D 00 00 00 B8 41 00 00 45 00 00 00 00 00 00 00 =....A..E.......<br /> 00000010 53 4C 50 4D 2D 36 32 37 37 35 SLPM-62775<br /> || 16824 (4.40+)||<br /> 0x3D =&gt; 0x41B8 (16824)<br /> 0x45 =&gt; (sets some value 1)<br /> |-<br /> | NPUC97142 || Primal ||<br /> 00000000 3D 00 00 00 65 3D 00 00 12 00 00 00 0D 00 00 00 =...e=..........<br /> 00000010 00 00 00 04 00 00 00 00 02 00 03 00 5F 01 00 00 ............_...<br /> 00000020 8D BD 6F 2C 67 03 00 00 02 00 03 00 6B 01 00 00 ..o,g.......k...<br /> 00000030 31 35 70 E9 72 03 00 00 03 00 02 00 60 9B 39 10 15p.r.......`.9.<br /> 00000040 18 9C 39 10 0B 00 00 00 01 00 00 00 47 07 00 00 ..9.........G...<br /> 00000050 6C 04 00 00 04 00 00 00 80 5F 03 3C 80 00 03 3C l........_.&lt;...&lt;<br /> || 15717 (3.73+) || fixes loading screen freezing<br /> 0x3D =&gt; 0x3D65 (15717)<br /> 0x12 =&gt; 0x0D, (fixes freezing)<br /> 00 00 00 04 0x04000000 (64 MB?)<br /> 00 00 00 00 <br /> 02 00&gt;'''03 00'''&lt; Count, Type 2<br /> 5F 01 00 00 0x15F<br /> 8D BD 6F 2C 0x2C6FBD8D<br /> 67 03 00 00 0x367<br /> 02 00&gt;'''03 00'''&lt; Count, Type 2<br /> 6B 01 00 00 0x16B<br /> 31 35 70 E9 0xE9703531<br /> 72 03 00 00 0x372<br /> 03 00&gt;'''02 00'''&lt; Count<br /> 60 9B 39 10 -&gt; 0x399B60 ctc2 $zero, $5<br /> 18 9C 39 10 -&gt; 0x399C18 ctc2 $zero, $5<br /> 0x0B =&gt; 1<br /> 0x747, (disc sector)<br /> 0x46C, (offset -&gt; 0x3A3C60 - this patch is for another (hidden) .elf (.vutext) on disc) <br /> 0x04,<br /> 0x3C035F80 lui v1,0x5F80,<br /> 0x3C030080 lui v1,0x0080<br /> |-<br /> | NPUD21120 || Psychonauts ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0B 00 00 00 01 00 00 00 =....=..........<br /> 00000010 12 01 00 00 58 00 00 00 04 00 00 00 00 00 00 00 ....X...........<br /> 00000020 11 CF FF F9 00 00 00 00 53 4C 55 53 2D 32 31 31 ........SLUS-211<br /> 00000030 32 30 20<br /> || 15753 (3.73+) || <br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0B =&gt; 1<br /> 0x112, (sector)<br /> 0x58, (offset -&gt; 0x8904C in iso)<br /> 0x04,<br /> 0x00000000 nop, <br /> 0xF9FFCF11 beq t6,t7,-0x18<br /> |-<br /> | NPUD20272 || Rayman Arena||<br /> 00000000 3D 00 00 00 89 3D 00 00 12 00 00 00 11 00 00 00 =....=..........<br /> 00000010 00 00 00 04 00 00 00 00 02 00 04 00 00 00 00 00 ................<br /> 00000020 AE B3 4E 5D 20 02 00 00 46 02 00 00 03 00 09 00 ..N] ...F.......<br /> 00000030 B0 E9 1D 10 94 EB 1D 10 00 EC 1D 10 54 EC 1D 10 ............T...<br /> 00000040 A0 EE 1D 10 DC EE 1D 10 78 F0 1D 10 B4 F0 1D 10 ........x.......<br /> 00000050 54 F1 1D 10 00 00 00 00 53 4C 55 53 2D 32 30 32 T.......SLUS-202<br /> 00000060 37 32 72 <br /> || 15753 (3.73+) || <br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x12 =&gt; 0x11<br /> 00 00 00 04 <br /> 00 00 00 00 <br /> 02 00&gt;'''04 00'''&lt; Count<br /> 00 00 00 00 <br /> AE B3 4E 5D <br /> 20 02 00 00 <br /> 46 02 00 00 <br /> 03 00&gt;'''09 00'''&lt; Count<br /> B0 E9 1D 10 -&gt; 0x1DE9B0 ctc2 $t0, $6<br /> 94 EB 1D 10 -&gt; 0x1DEB94 ctc2 $t0, $6<br /> 00 EC 1D 10 -&gt; 0x1DEC00 ctc2 $t0, $6<br /> 54 EC 1D 10 -&gt; 0x1DEC54 ctc2 $t0, $6<br /> A0 EE 1D 10 -&gt; 0x1DEEA0 ctc2 $t0, $6<br /> DC EE 1D 10 -&gt; 0x1DEEDC ctc2 $t0, $6<br /> 78 F0 1D 10 -&gt; 0x1DF078 ctc2 $t0, $6<br /> B4 F0 1D 10 -&gt; 0x1DF0B4 ctc2 $t0, $6<br /> 54 F1 1D 10 -&gt; 0x1DF154 ctc2 $t0, $6<br /> |-<br /> | NPJD00079 || Raw Danger! ||<br /> <br /> || || fps problem<br /> <br /> |-<br /> | NPUD20442 || Red Faction 2 ||<br /> 00000000 3D 00 00 00 42 3F 00 00 19 00 00 00 00 00 00 00 =...B?..........<br /> 00000010 53 4C 55 53 2D 32 30 34 34 32 SLUS-20442<br /> || 16194 (4.00+) || <br /> 0x3D =&gt; 0x3F42 (16194)<br /> 0x19 =&gt; (sets some value 1)<br /> |-<br /> | NPUD20471 || Rygar ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0E 00 00 00 A8 7D 14 00 =....=.......}..<br /> 00000010 00 00 00 00 53 4C 55 53 2D 32 30 34 37 31 ....SLUS-20471<br /> || 15753 (3.73+) || fixes hard crash at start when leaving the place<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0E =&gt; 0x147DA8 (offset)<br /> <br /> .text:00147DA8 sub.s $f12, $f20, $f12<br /> |-<br /> | NPUD20974 || Shin Megami Tensei Digital Devil Saga 1|| <br /> 00000000 3D 00 00 00 EC 42 00 00 46 00 00 00 48 00 00 00 =....B..F...H...<br /> 00000010 01 00 00 00 90 D0 03 00 00 00 00 00 53 4C 55 53 ............SLUS<br /> 00000020 2D 32 30 39 37 34 -20974<br /> || 17132 (4.50+) || fixes screen shakes/framerate cracks<br /> 0x3D =&gt; 0x42EC (17132)<br /> 0x46 =&gt; (sets some value 1)<br /> 0x48 =&gt; 0x1 , 0x3D090<br /> |-<br /> | NPUD20911 || Shin Megami Tensei Nocturne || <br /> 00000000 3D 00 00 00 F6 41 00 00 46 00 00 00 00 00 00 00 =....A..F.......<br /> 00000010 53 4C 55 53 2D 32 30 39 31 31 SLUS-20911<br /> || 16886 (4.40+) || fixes screen shakes/flickers (and much more importantly, game crashes)<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x46 =&gt; (sets some value 1)<br /> |-<br /> | NPUD21621 || Shin Megami Tensei Persona 3 FES ||<br /> 00000000 3D 00 00 00 48 41 00 00 0A 00 00 00 20 00 00 00 =...HA...... ...<br /> 00000010 00 FA 0F 00 00 00 00 00 E0 00 A4 8F 04 FA 0F 00 .·......Ó.ñÅ.·..<br /> 00000020 00 00 00 00 6C 01 03 24 08 FA 0F 00 00 00 00 00 ....l..$.·......<br /> 00000030 0A 00 83 14 0C FA 0F 00 00 00 00 00 FF 00 04 24 ..â..·...... ..$<br /> 00000040 10 FA 0F 00 00 00 00 00 B8 26 04 00 14 FA 0F 00 .·......©&amp;...·..<br /> 00000050 00 00 00 00 27 20 84 00 18 FA 0F 00 00 00 00 00 ....' ä..·......<br /> 00000060 D0 00 A3 DF 1C FA 0F 00 00 00 00 00 24 18 83 00 ð.ú¯.·......$.â.<br /> 00000070 20 FA 0F 00 00 00 00 00 0B 00 63 64 24 FA 0F 00 ·........cd$·..<br /> 00000080 00 00 00 00 33 00 04 24 28 FA 0F 00 00 00 00 00 ....3..$(·......<br /> 00000090 B8 26 04 00 2C FA 0F 00 00 00 00 00 25 18 83 00 ©&amp;..,·......%.â.<br /> 000000A0 30 FA 0F 00 00 00 00 00 D0 00 A3 FF 34 FA 0F 00 0·......ð.ú 4·..<br /> 000000B0 00 00 00 00 E1 B3 11 08 38 FA 0F 00 00 00 00 00 ....ߦ..8·......<br /> 000000C0 50 00 64 8E 7C CF 46 00 50 00 64 8E 80 FE 03 08 P.dÄ|¤F.P.dÄǦ..<br /> 000000D0 40 FA 0F 00 00 00 00 00 00 3C 04 3C 44 FA 0F 00 @·.......&lt;.&lt;D·..<br /> 000000E0 00 00 00 00 18 3F 05 3C 48 FA 0F 00 00 00 00 00 .....?.&lt;H·......<br /> 000000F0 20 00 24 AE 4C FA 0F 00 00 00 00 00 24 00 24 AE .$«L·......$.$«<br /> 00000100 50 FA 0F 00 00 00 00 00 60 00 25 AE 54 FA 0F 00 P·......`.%«T·..<br /> 00000110 00 00 00 00 64 00 24 AE 58 FA 0F 00 00 00 00 00 ....d.$«X·......<br /> 00000120 A0 00 24 AE 5C FA 0F 00 00 00 00 00 A4 00 25 AE á.$«\·......ñ.%«<br /> 00000130 60 FA 0F 00 00 00 00 00 E0 00 25 AE 64 FA 0F 00 `·......Ó.%«d·..<br /> 00000140 00 00 00 00 E4 00 25 AE 68 FA 0F 00 00 00 00 00 ....õ.%«h·......<br /> 00000150 04 00 04 24 6C FA 0F 00 00 00 00 00 39 9B 10 08 ...$l·......9ø..<br /> 00000160 70 FA 0F 00 00 00 00 00 10 00 25 26 DC 6C 42 00 p·........%&amp;_lB.<br /> 00000170 04 00 04 24 90 FE 03 08 E0 6C 42 00 10 00 25 26 ...$ɦ..ÓlB...%&amp;<br /> 00000180 00 00 00 00 30 6A 4C 00 80 3F 02 3C 7F 3F 02 3C ....0jL.Ç?.&lt;?.&lt;<br /> 00000190 21 00 00 00 00 00 00 00 15 00 00 00 04 00 00 00 !...............<br /> 000001A0 00 00 00 00 53 4C 55 53 2D 32 31 36 32 31 ....SLUS-21621<br /> || 16712 (4.25+)||<br /> 0x3D =&gt; 0x4148 (16712)<br /> 0x0A =&gt; 0x20<br /> 0xFFA00,0,0x8FA400E0 lw a0,0xE0(sp)<br /> 0xFFA04,0,0x2403016C li v1,0x16C<br /> 0xFFA08,0,0x1483000A bne a0,v1,pos_000FFA34<br /> 0xFFA0C,0,0x240400FF li a0,0xFF<br /> 0xFFA10,0,0x000426B8 dsll a0,0x1A<br /> 0xFFA14,0,0x00842027 nor a0,a0<br /> 0xFFA18,0,0xDFA300D0 ld v1,0xD0(sp)<br /> 0xFFA1C,0,0x00831824 and v1,a0,v1<br /> 0xFFA20,0,0x6463000B daddiu v1,0x000B<br /> 0xFFA24,0,0x24040030 li a0,0x30<br /> 0xFFA28,0,0x000426B8 dsll a0,0x1A<br /> 0xFFA2C,0,0x00831825 or v1,a0,v1<br /> 0xFFA30,0,0xFFA300D0 sd v1,0xD0(sp)<br /> 0xFFA34,0,0x0811B3E1 j pos_0046CF84<br /> 0xFFA38,0,0x8E640050 lw a0,0x50(s3)<br /> 0x46CF7C,0x8E640050 (lw a0,0x50(s3),0x0803FE80 j pos_000FFA00<br /> 0xFFA40,0,0x3C043C00 lui a0,0x3C00<br /> 0xFFA44,0,0x3C053F18 lui a1,0x3F18<br /> 0xFFA48,0,0xAE240020 sw a0,0x20(s1)<br /> 0xFFA4C,0,0xAE240024 sw a0,0x24(s1)<br /> 0xFFA50,0,0xAE250060 sw a1,0x60(s1)<br /> 0xFFA54,0,0xAE240064 sw a0,0x64(s1)<br /> 0xFFA58,0,0xAE2400A0 sw a0,0xA0(s1)<br /> 0xFFA5C,0,0xAE2500A4 sw a1,0xA4(s1)<br /> 0xFFA60,0,0xAE2500E0 sw a1,0xE0(s1)<br /> 0xFFA64,0,0xAE2500E4 sw a1,0xE4(s1)<br /> 0xFFA68,0,0x24040004 li a0,0x4<br /> 0xFFA6C,0,0x08109B39 j pos_00426CE4<br /> 0xFFA70,0,0x26250010 addiu a1,s1,0x10<br /> 0x426CDC,0x24040004(li a0,0x4),0x0803FE90 j pos_000FFA40<br /> 0x426CE0,0x26250010(addiu a1,s1,0x10),0 nop<br /> 0x4C6A30,0x3C023F80(lui v0,0x3F80),0x3C023F7F lui v0,0x3F7F<br /> 0x21 =&gt; 0<br /> 0x15 =&gt; 4<br /> |-<br /> | NPUD21782 || Shin Megami Tensei Persona 4 || <br /> 00000000 3D 00 00 00 89 3D 00 00 0A 00 00 00 01 00 00 00 =....=..........<br /> 00000010 60 9C 18 00 80 3F 02 3C 7F 3F 02 3C 00 00 00 00 `....?.&lt;.?.&lt;....<br /> 00000020 53 4C 55 53 2D 32 31 37 38 32 SLUS-21782<br /> || 15753 (3.73+) || Dungeon name in the corner is glitched (shows black bar).<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0A =&gt; 1<br /> 0x189C60, 0x3C023F80 lui v0,0x3F80 <br /> 0x3C023F7F lui v0,0x3F7F<br /> |-<br /> | NPUC97355 || Siren ||<br /> 00000000 3D 00 00 00 15 41 00 00 19 00 00 00 00 00 00 00 =....A..........<br /> 00000010 53 43 55 53 2D 39 37 33 35 35 SCUS-97355<br /> || 16661 (4.25+)|| <br /> 0x3D =&gt; 0x4115 (16661)<br /> 0x19 =&gt; (sets some value 1)<br /> |-<br /> | NPED00272 || Summoner ||<br /> 00000000 3D 00 00 00 89 3D 00 00 2C 00 00 00 01 00 00 00 =....=..,.......<br /> 00000010 00 00 00 00 53 4C 45 53 2D 38 32 30 30 35 ....SLES-82005 <br /> || 15753 (3.73+) || fixes blackscreen<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x2C =&gt; 0x1<br /> |-<br /> | NPUC97264 || Syphon Filter The Omega Strain || <br /> 00000000 3D 00 00 00 1F 40 00 00 12 00 00 00 05 00 00 00 =....@..........<br /> 00000010 00 00 00 00 00 00 00 00 01 00 02 00 31 00 99 18 ............1...<br /> 00000020 32 00 B6 18 0B 00 00 00 01 00 00 00 F5 05 00 00 2...............<br /> 00000030 8C 02 00 00 04 00 00 00 00 00 00 00 0C 0D C1 54 ...............T<br /> 00000040 0A 00 00 00 0B 00 00 00 F8 35 37 00 1B 52 06 4B .........57..R.K<br /> 00000050 00 80 43 48 FC 35 37 00 00 80 43 48 1B 52 06 4B ..CH.57...CH.R.K<br /> 00000060 EC 6F 3A 00 00 00 00 00 00 00 11 64 F8 6F 3A 00 .o:........d.o:.<br /> 00000070 78 A1 0E 0C 80 FE 03 0C 00 FA 0F 00 00 00 00 00 x...............<br /> 00000080 02 00 08 3C 04 FA 0F 00 00 00 00 00 2B 40 28 02 ...&lt;........+@(.<br /> 00000090 08 FA 0F 00 00 00 00 00 02 00 00 15 0C FA 0F 00 ................<br /> 000000A0 00 00 00 00 54 00 01 3C 10 FA 0F 00 00 00 00 00 ....T..&lt;........<br /> 000000B0 00 28 20 AC 14 FA 0F 00 00 00 00 00 78 A1 0E 08 .( .........x...<br /> 000000C0 18 FA 0F 00 00 00 00 00 01 00 31 26 00 00 00 00 ..........1&amp;....<br /> 000000D0 53 43 55 53 2D 39 37 32 36 34 SCUS-97264<br /> || 16415 (4.20+)|| fixes texture bugs<br /> 0x3D =&gt; 0x401F (16415)<br /> 0x12 =&gt; 0x5 <br /> 00 00 00 00 <br /> 00 00 00 00 <br /> 01 00&gt;'''02 00'''&lt; Count<br /> 31 00 99 18 -&gt; 0x18990<br /> 32 00 B6 18 -&gt; 0x18B60<br /> 0x0B =&gt; 1<br /> 0x5F5, (sector)<br /> 0x28C, (offset -&gt; 0x2FAA80 in iso)<br /> 0x04,<br /> 0x00000000 (nop), <br /> 0x54C10D0C (jal sub_370550)<br /> 0x0A =&gt; 0xB<br /> 0x3735F8, 0x4B06521B (cop2 0x106521B, vmulw.x vf08,vf10,vf06w), 0x48438000 cfc2 v1,Status<br /> 0x3735FC, 0x48438000 (cfc2 v1,Status), 0x4B06521B cop2 0x106521B (vmulw.x vf08,vf10,vf06w)<br /> 0x3A6FEC, 0 (nop), 0x64110000 li $s1, 0<br /> 0x3A6FF8, 0x0C0EA178 (jal pos_003A85E0), 0x0c03FE80 jal pos_000FFA00<br /> 0xFFA00, 0 (nop), 0x3C080002 lui t0,0x0002<br /> 0xFFA04, 0 (nop), 0x0228402B sltu t0,s1,t0<br /> 0xFFA08, 0 (nop), 0x15000002 bnez t0,pos_000FFA14<br /> 0xFFA0C, 0 (nop), 0x3C010054 lui at,0x0054<br /> 0xFFA10, 0 (nop), 0xAC202800 sw zero,0x2800(at)<br /> 0xFFA14, 0 (nop), 0x080EA178 j pos_003A85E0<br /> 0xFFA18, 0 (nop), 0x26310001 addiu s1,0x1<br /> |-<br /> | NPJD00080 || Zettaizetsumei Toshi (Disaster Report) ||<br /> 00000000 3D 00 00 00 26 44 00 00 44 00 00 00 00 00 00 00 =...&amp;D..D.......<br /> 00000010 53 4C 50 53 2D 32 35 31 31 33 SLPS-25113<br /> || 17446 (4.78)|| <br /> 0x3D =&gt; 0x4426 (17446)<br /> 0x44 =&gt; (disables smoothing and smoothing option)<br /> |}<br /> <br /> ====Unofficial====<br /> {| class=&quot;wikitable sortable&quot; style=&quot;width: 1920px;&quot; | <br /> |-<br /> ! style=&quot;width: 10px;&quot; | ID !! Title !! style=&quot;width: 600px;&quot; | Config Data !! Revision !! Notes<br /> |-<br /> | ALL || .hack\\infection Part 1 || <br /> 00000000 3D 00 00 00 89 3D 00 00 08 00 00 00 FF FF FF FF =....=..........<br /> 00000010 FF FF FF FF 8D 94 11 01 FC 0E 00 80 FF FF FF FF ................<br /> 00000020 FF FF FF FF 8D 94 11 01 03 02 03 10 08 00 00 00 ................<br /> 00000030 FF FF FF FF FF FF FF FF 40 A7 E0 01 3C 03 00 80 ........@...&lt;...<br /> 00000040 FF FF FF FF FF FF FF FF 40 A7 E1 01 FC 1E 00 80 ........@.......<br /> 00000050 00 00 00 00 ....<br /> || 15753 (3.73+) || fix freeze<br /> <br /> |-<br /> | SLUS-21268 || 24 The Game ||<br /> 00000000 3D 00 00 00 65 3D 00 00 12 00 00 00 0D 00 00 00 =...e=..........<br /> 00000010 00 00 00 04 00 00 00 00 02 00 03 00 E7 00 00 00 ................<br /> 00000020 45 AD 6E AA EF 02 00 00 02 00 03 00 F3 00 00 00 E.n.............<br /> 00000030 E4 A0 6E 47 FA 02 00 00 03 00 02 00 B0 55 41 10 ..nG.........UA.<br /> 00000040 68 56 41 10 00 00 00 00 hVA..... <br /> <br /> || 15717 (3.73+) || fixes loading screen freezing<br /> 0x3D =&gt; 0x3D65 (15717)<br /> 0x12 =&gt; 0x0D, <br /> 00 00 00 04 <br /> 00 00 00 00 <br /> 02 00&gt;'''03 00'''&lt; Count, Type 2<br /> E7 00 00 00 <br /> 45 AD 6E AA <br /> EF 02 00 00 <br /> 02 00&gt;'''03 00'''&lt; Count, Type 2<br /> F3 00 00 00 <br /> E4 A0 6E 47 <br /> FA 02 00 00 <br /> 03 00&gt;'''02 00'''&lt; Count, Type 3<br /> B0 55 41 10 -&gt; 0x4155B0<br /> 68 56 41 10 -&gt; 0x415668 <br /> <br /> |-<br /> | SCES-50885 || Ape Escape 2 || <br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 01 00 00 00 =...WD..........<br /> 00000010 E0 E0 34 00 16 00 40 14 00 00 00 00 00 00 00 00 ŕŕ4...@.........<br /> || 17495 (4.78+) || Force game to not create Mipmaps. Fix flickering textures completely. <br /> <br /> |-<br /> | SLUS-21165 || Arc the Lad End of Darkness ||<br /> 00000000 3D 00 00 00 60 40 00 00 0F 00 00 00 B8 DD 26 00 =...`@........&amp;.<br /> 00000010 AC FE 26 00 00 00 00 00 ..&amp;..... <br /> || 15634 (3.70+) || fixes not displaying/freezing dialogs<br /> 0x3D =&gt; 0x3D12 (15634)<br /> 0x0F =&gt; 0x26DDB8, 0x26FEAC<br /> |-<br /> | SLUS-21445 || Ar Tonelico - Melody of Elemia ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> |-<br /> | SLUS-21788 || Ar tonelico II - Melody of Metafalica ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | || Atelier Iris ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | || Atelier Iris 2 ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | || Atelier Iris 3 ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | SLES-50672/SLUS-20035 || Baldur's Gate - Dark Alliance || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly (see: [https://www.dropbox.com/s/92n81uot56czb5v/Datei%2018.08.17%2011%2011%2029.jpeg?dl=0] )<br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> |-<br /> | || Baldur's Gate 2 || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | || Bard's Tale || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | SLES-51044 / SLES-52968 || Burnout 2: POI || <br /> 00000000 3D 00 00 00 46 40 00 00 0A 00 00 00 05 00 00 00 =...F@..........<br /> 00000010 B8 85 24 00 18 0D 80 C6 16 43 01 3C CC 85 24 00 ¸…$...€Ć.C.&lt;Ě…$.<br /> 00000020 00 00 40 E4 00 00 41 AC 04 26 26 00 80 97 80 C7 ..@ä..A¬.&amp;&amp;.€—€Ç<br /> 00000030 16 43 01 3C 18 26 26 00 00 00 40 E4 00 00 41 AC .C.&lt;.&amp;&amp;...@ä..A¬<br /> 00000040 B8 64 25 00 64 97 82 8F 00 00 02 24 00 00 00 00 ¸d%.d—‚Ź...$....<br /> || 16454 ||<br /> Fixes all white rendered textures/shadows (Big thanks to Maori-Jigglypuff for patch code! )<br /> 0x3D =&gt; 0x4046 (16454)<br /> 0x0A =&gt; 0x5 (5 Patches to EE memory)<br /> // Remove the whitish Car-Parts from the Racer Cars<br /> // [Control Address and Value: 2039917C 43160000]<br /> 0x2485B8, 0xC6800D18 (lwc1 $f0, 0xD18(s4)), 0x3C014316 (lui at, 0x4316)<br /> 0x2485СС, 0xE4400000 (swc1 $f0, 0(v0)), 0xAC410000 (sw at, 0(v0))<br /> <br /> // Remove the whitish Car-Parts from the Traffic Cars<br /> 0x262604, 0xC7809780 (lwc1 $f0, 0x9780(gp)), 0x3C014316 (lui at, 0x4316)<br /> 0x262618, 0xE4400000 (swc1 $f0, 0(v0)), 0xAC410000 (sw at, 0(v0))<br /> <br /> // Remove whitish Reflections on Anything!!!<br /> // (on Buildings, Bridges, Streets)<br /> 0x2564B8, 0x8F829764 (lw v0, 0x9764(gp)), 0x24020000 (li v0, 0)<br /> <br /> |-<br /> | SLUS-20497 || Burnout 2: POI || <br /> 00000000 3D 00 00 00 46 40 00 00 0A 00 00 00 05 00 00 00<br /> 00000010 A8 85 24 00 18 0D 80 C6 16 43 01 3C BC 85 24 00<br /> 00000020 00 00 40 E4 00 00 41 AC F4 25 26 00 80 97 80 C7<br /> 00000030 16 43 01 3C 08 26 26 00 00 00 40 E4 00 00 41 AC<br /> 00000040 A8 64 25 00 64 97 82 8F 00 00 02 24 00 00 00 00<br /> || 16454 ||<br /> Fixes all white rendered textures/shadows (Big thanks to Maori-Jigglypuff for patch code! )<br /> 0x3D =&gt; 0x4046 (16454)<br /> 0x0A =&gt; 0x5 (5 Patches to EE memory)<br /> // Remove the whitish Car-Parts from the Racer Cars<br /> // [Control Address and Value: 2039917C 43160000]<br /> 0x2485A8, 0xC6800D18 (lwc1 $f0, 0xD18(s4)), 0x3C014316 (lui at, 0x4316)<br /> 0x2485bc, 0xE4400000 (swc1 $f0, 0(v0)), 0xAC410000 (sw at, 0(v0))<br /> <br /> // Remove the whitish Car-Parts from the Traffic Cars<br /> 0x2625F4, 0xC7809780 (lwc1 $f0, 0x9780(gp)), 0x3C014316 (lui at, 0x4316)<br /> 0x262608, 0xE4400000 (swc1 $f0, 0(v0)), 0xAC410000 (sw at, 0(v0))<br /> <br /> // Remove whitish Reflections on Anything!!!<br /> // (on Buildings, Bridges, Streets)<br /> 0x2564A8, 0x8F829764 (lw v0, 0x9764(gp)), 0x24020000 (li v0, 0)<br /> <br /> |-<br /> | SLUS-21168/SLES-53755/SLPM-66175/SLKA-25328 || Castlevania: Curse of Darkness ||<br /> 00000000 3D 00 00 00 89 3D 00 00 08 00 00 00 00 00 00 80 =....=..........<br /> 00000010 FF FF FF FF 00 00 00 80 00 80 FF FF 00 00 00 80 ................<br /> 00000020 FF FF FF FF 00 00 00 80 01 80 FF FF 00 00 00 00 ................<br /> || || fixes Graphic issues with Spiky Polygons (PCSX2 workaround VU clamping mode none) <br /> <br /> |-<br /> | || Champions of Norath || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | || Champions Return to Arms || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | SLUS-21574 || Dawn of Mana || <br /> 00000000 3D 00 00 00 65 3D 00 00 12 00 00 00 04 00 00 00 =...e=..........<br /> 00000010 00 00 00 00 00 00 00 00 01 00 01 00 0C 00 DF 0D ................<br /> 00000020 00 00 00 00 ....<br /> || 15717 (3.70+) ||<br /> fix? (untested)<br /> 0x3D =&gt; 0x3D65 (15717)<br /> 0x12 =&gt; 0x04, <br /> 00 00 00 00 <br /> 00 00 00 00 <br /> 01 00&gt;01 00&lt; Count, Type 1<br /> 0C 00 DF 0D <br /> <br /> |-<br /> | SCUS-97146 || Disney's Treasure Planet ||<br /> 00000000 3D 00 00 00 F0 42 00 00 0B 00 00 00 01 00 00 00 =...đB..........<br /> 00000010 7C 14 00 00 80 05 00 00 18 00 00 00 3C 01 01 00 |...€.......&lt;...<br /> 00000020 3C 03 BF 80 8C 63 10 C8 00 61 18 24 10 61 FF FB &lt;.ż€Śc.Č.a.$.a˙ű<br /> 00000030 00 00 00 00 24 01 FF FF 14 61 00 04 3C 01 80 00 ....$.˙˙.a..&lt;.€.<br /> 00000040 14 41 00 02 00 00 00 00 00 06 00 0D 00 00 00 00 .A..............<br /> <br /> || 17136 (4.50+) || Fixes black screen at start, it apply to STREAM_D.IRX file in IOP folder. Patch is very weird because it apply to bad offset (should be 0x574), but if applied to correct one then game error with &quot;invalid tp2 file&quot;<br /> <br /> 0x3D =&gt; 0x42F0 (17136)<br /> 0x0B =&gt; 1<br /> 0x147C, (sector)<br /> 0x580, (offset)<br /> 0x18 (bytes to replace), <br /> <br /> <br /> Replaced opcodes<br /> 00 01 01 3C lui at,0x0100<br /> 80 BF 03 3C lui v1,0xBF80<br /> C8 10 63 8C lw v1,0x10C8(v1)<br /> 24 18 61 00 and v1,at<br /> FB FF 61 10 beq v1,at, -0x10<br /> 00 00 00 00 nop <br /> <br /> Original opcodes<br /> FF FF 01 24 li at,-0x1<br /> 04 00 61 14 bne at,v1, +0x14<br /> 00 80 01 3C lui at,0x8000<br /> 02 00 41 14 bne at,v0, +0x0C<br /> 00 00 00 00 nop <br /> 0D 00 06 00 break <br /> <br /> |-<br /> | ALL || Dynasty Warriors 3/Dynasty Warriors 3 Xtreme Legends ||<br /> 00000000 3D 00 00 00 89 3D 00 00 35 00 00 00 00 00 00 00 =...‰=..5.......<br /> || 15753 (3.73+) || <br /> fix blackscreen<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x35 =&gt; (enable Force Flip Field)<br /> <br /> |-<br /> | SLES-53539 || Fahrenheit || <br /> 00000000 3D 00 00 00 F6 41 00 00 40 00 00 00 00 00 00 00 =....A..@.......<br /> Alternative<br /> 00000000 3D 00 00 00 89 3D 00 00 2F 00 00 00 01 00 00 00 =....=../.......<br /> 00000010 00 00 00 00 ....<br /> || 16886 (4.40+) / ||<br /> fixes freeze after Lucas' apartment<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x40 =&gt; (sets some value 1)<br /> <br /> |-<br /> | || Fallout || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | SLUS-20658 SLES-51467 SLPM-65548 SLPM-65803 || Freedom Fighters ||<br /> 00000000 3D 00 00 00 65 3D 00 00 1F 00 00 00 E8 03 00 00 =...e=......č...<br /> 00000010 00 00 00 00 .... <br /> || 15717 (3.70+) ||<br /> fix freeze when you get control at start<br /> 3D =&gt; 0x3D17 (15717)<br /> 0x1F =&gt; 0x3E8 (sets something 3E8 - 1000 in decimal)<br /> <br /> |-<br /> | SLUS-21702 || Fire Pro Wrestling Returns || <br /> 00000000 3D 00 00 00 F6 41 00 00 03 00 00 00 00 00 00 00 =....A..@.......<br /> || 16886 (4.40+) ||<br /> fixes interlaced artifacts<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x03 =&gt; (sets some value 0)<br /> <br /> |-<br /> | SLES-52065 || Flipnic || <br /> 00000000 3D 00 00 00 57 44 00 00 46 00 00 00 47 00 00 00 =...WD..F...G...<br /> 00000010 00 00 00 00 ....<br /> || 17495 (4.78+) || Remove horizontal lines at full screen, and reducing screen shakes little bit<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x46 =&gt; Enable L2H Improvement<br /> 0x47 =&gt; Enable XOR CSR<br /> <br /> |-<br /> | SCES-53851 || Forbidden Siren 2 ||<br /> 00000000 3D 00 00 00 F6 41 00 00 0A 00 00 00 02 00 00 00 =....A..........<br /> 00000010 44 2B 2E 00 FF 49 C9 4B 00 90 44 48 4C 2B 2E 00 D+...I.K..DHL+..<br /> 00000020 00 90 44 48 FF 49 C9 4B 00 00 00 00 ..DH.I.K.... <br /> || 16886 (4.40+) || Graphic issues with Spiky Polygons<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x0A =&gt; 0x2<br /> 0x2E2B44, 0x4BC949FF (vclip vf09xyz, vf09w), 0x48449000 (cfc2 $a1, $18)<br /> 0x2E2B4C, 0x48449000 (cfc2 $a1, $18), 0x4BC949FF (vclip vf09xyz, vf09w)<br /> <br /> |-<br /> | SLUS-20343 || Forever Kingdom || <br /> 00000000 3D 00 00 00 46 40 00 00 26 00 00 00 00 DC 21 00 =...F@..&amp;....Ü!.<br /> 00000010 00 DD 21 00 00 00 00 00 .Ý!.....<br /> || 16454 ||<br /> Fix for bridge that can't be crossed after opening.<br /> 0x3D =&gt; 0x4046 (16454)<br /> 0x26 =&gt; 0x21DC00, 0x21DD00<br /> <br /> |-<br /> | SLUS-20993 || Ghosthunter || <br /> 00000000 3D 00 00 00 57 44 00 00 0E 00 00 00 84 2B 29 00 =...WD......„+).<br /> 00000010 0B 00 00 00 01 00 00 00 A7 06 00 00 98 02 00 00 ........§.......<br /> 00000020 14 00 00 00 4A 00 02 FF 48 45 88 00 4B E0 19 BF ....J..˙HE..Kŕ.ż<br /> 00000030 4B EA 48 BC 4B EA 18 8C 4B E0 19 BF 4B EA 48 BC KęHĽKę.ŚKŕ.żKęHĽ<br /> 00000040 4B EA 18 8C 4A 00 02 FF 48 45 88 00 00 00 00 00 Kę.ŚJ..˙HE......<br /> || 17495 (4.78+) ||<br /> fixes random minor flickering, and ladder bug (see: [https://www.youtube.com/watch?v=WbJzzMYQLI0] )<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x0E =&gt; 0x292B84 (Improve floating point subtract accuracy)<br /> 0x0B =&gt; Disc patch for hidden elf<br /> |-<br /> | SLES-54317 || Ghost Rider || <br /> 00000000 3D 00 00 00 F6 41 00 00 40 00 00 00 00 00 00 00 =....A..@.......<br /> || 16886 (4.40+) ||<br /> texture fix: white overblending ingame<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x40 =&gt; (sets some value 1)<br /> <br /> |-<br /> | SLUS-20552 || Grand Theft Auto - Vice City ||<br /> 00000000 3D 00 00 00 A5 41 00 00 21 00 00 00 01 00 00 00 =...¥A..!.......<br /> 00000010 0A 00 00 00 0D 00 00 00 A0 FF 0F 00 00 00 00 00 ........ ÿ......<br /> 00000020 17 00 01 24 A4 FF 0F 00 00 00 00 00 08 00 24 14 ...$¤ÿ........$.<br /> 00000030 AC FF 0F 00 00 00 00 00 10 00 01 3C B0 FF 0F 00 ¬ÿ.........&lt;°ÿ..<br /> 00000040 00 00 00 00 90 FF 22 8C B4 FF 0F 00 00 00 00 00 .....ÿ&quot;Œ´ÿ......<br /> 00000050 FF FF 42 24 B8 FF 0F 00 00 00 00 00 05 00 40 1C ÿÿB$¸ÿ........@.<br /> 00000060 C0 FF 0F 00 00 00 00 00 04 00 02 24 C4 FF 0F 00 Àÿ.........$Äÿ..<br /> 00000070 00 00 00 00 90 FF 22 AC C8 FF 0F 00 00 00 00 00 .....ÿ&quot;¬Èÿ......<br /> 00000080 21 1D 0B 08 CC FF 0F 00 00 00 00 00 D0 FF BD 27 !...Ìÿ......Ðÿ½'<br /> 00000090 D0 FF 0F 00 00 00 00 00 08 00 E0 03 D4 FF 0F 00 Ðÿ........à.Ôÿ..<br /> 000000A0 00 00 00 00 90 FF 22 AC 80 74 2C 00 D0 FF BD 27 .....ÿ&quot;¬€t,.Ðÿ½'<br /> 000000B0 E8 FF 03 08 00 00 00 00 53 4C 55 53 2D 32 30 35 èÿ......SLUS-205<br /> 000000C0 35 32 52<br /> || 16805 (4.30+) ||<br /> backport of the official config above (disc version 3.00) for the original release<br /> (disc version 1.40). it patches a particle related function when type is 0x17.<br /> 0x0A =&gt; 0x2CEB00 to 0x2C7480<br /> 0x0A =&gt; 0x080B3AC1 to 0x080B1D21 (j pos_002C7484)<br /> <br /> |-<br /> | SLUS-20758 || Growlanser Generations || <br /> 00000000 3D 00 00 00 89 3D 00 00 2C 00 00 00 72 01 00 00 =....=..,...r...<br /> 00000010 0B 00 00 00 01 00 00 00 F8 03 00 00 7C 05 00 00 ............|...<br /> 00000020 04 00 00 00 00 00 00 00 10 40 FF FC 00 00 00 00 .........@......<br /> 00000030 53 4C 55 53 2D 32 30 37 35 38 SLUS-20758 <br /> || 15753 (3.73+) ||<br /> fix menu freeze? (untested)<br /> <br /> |-<br /> | SLUS-20576 || Harry Potter and the Chamber of Secrets || <br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =....=..........<br /> 00000010 00 00 00 00 ....<br /> || 15753 (3.73+) ||<br /> Fix black screen? (untested)<br /> <br /> |-<br /> | SLUS-20926/SLPM-65612/SLKA-25172/SLES-52440/SLES-52527/SLES-52600 || Harry Potter and The Prisoner of Azkaban || <br /> 00000000 3D 00 00 00 57 44 00 00 07 00 00 00 08 00 =...WD........<br /> 0000000E 00 00 00 00 00 00 ......<br /> || 17495 (4.78+) ||<br /> Fix for 3D graphics issues. However sometimes textures have a problem (mipmap?)<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x07 =&gt; 8<br /> <br /> |-<br /> | SLES-54971(?)/SLUS-21628 || Hot Wheels: Beat That! || <br /> 00000000 3D 00 00 00 89 3D 00 00 15 00 00 00 04 00 00 00 =....=..........<br /> 00000010 00 00 00 00 ....<br /> || 15753 (3.73+) ||<br /> Fix for turning off ps3 after selecting track<br /> <br /> |-<br /> | SLUS-21307 || Ice Age 2 The Meltdown ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0B 00 00 00 01 00 00 00 =....=..........<br /> 00000010 31 05 00 00 8C 03 00 00 40 00 00 00 27 BD FE E0 1.......@...'...<br /> 00000020 24 06 00 6C FF BF 00 70 03 A0 20 2D 7F B0 00 80 $..l...p.. -....<br /> 00000030 8C B0 00 00 0C 0C 88 B5 00 00 28 2D 02 00 20 2D ..........(-.. -<br /> 00000040 0C 0A 84 CE 03 A0 28 2D 7B B0 00 80 03 A0 10 2D ......(-{......-<br /> 00000050 DF BF 00 70 03 E0 00 08 27 BD 01 20 27 BD FF 70 ...p....'.. '..p<br /> 00000060 24 06 00 6C FF BF 00 70 03 A0 20 2D 7F B0 00 80 $..l...p.. -....<br /> 00000070 8C B0 00 00 0C 0C 88 B5 00 00 28 2D 02 00 20 2D ..........(-.. -<br /> 00000080 0C 0A 84 CE 03 A0 28 2D 7B B0 00 80 03 A0 10 2D ......(-{......-<br /> 00000090 DF BF 00 70 03 E0 00 08 27 BD 00 90 00 00 00 00 ...p....'.......<br /> 000000A0 53 4C 55 53 2D 32 31 33 30 37 SLUS-21307 <br /> || 15753 (3.73+) || Fix freeze at the game logo<br /> <br /> |-<br /> | SLUS-21196 || Indigo Prophecy || <br /> 00000000 3D 00 00 00 89 3D 00 00 2F 00 00 00 01 00 00 00 =....A..@.......<br /> 00000010 00 00 00 00 ....<br /> || 15753 (3.73+) || Fixes freeze<br /> <br /> |-<br /> | SCES-53286/SCUS-97429 || Jak X || <br /> 00000000 3D 00 00 00 57 3D 00 00 24 00 00 00 00 00 00 00 =...W=..$.......<br /> 00000010 80 BB 00 00 13 00 00 00 00 00 00 00 60 F9 00 00 €»..........`ů..<br /> 00000020 00 00 00 00 .... <br /> || 15753 (3.73+) || Fixes freeze while saving game<br /> <br /> |-<br /> | SLPM-66675 || Kingdom Hearts II Final Mix || <br /> 00000000 3D 00 00 00 89 3D 00 00 26 00 00 00 58 A5 1D 00 =....A..&amp;...XĄ..<br /> 00000010 F4 AE 1D 00 00 00 00 00 ô®...... <br /> || 15753 (3.73+) ||<br /> Fixes Hostile Program Boss issue.<br /> <br /> |-<br /> | SLUS-21799 || Kingdom Hearts Re: Chain of Memories || <br /> 00000000 3D 00 00 00 89 3D 00 00 0F 00 00 00 90 05 10 00 =....=..........<br /> 00000010 78 C2 10 00 00 00 00 00 53 4C 55 53 2D 32 31 37 x.......SLUS-217<br /> 00000020 39 39 99 <br /> || 15753 (3.73+) ||<br /> Fixes tutorial issue? (untested)<br /> <br /> |-<br /> | SLES-50196 || Legacy of Kain: Soul Reaver 2 || <br /> 00000000 3D 00 00 00 43 21 00 00 0A 00 00 00 01 00 00 00 =...C!..........<br /> 00000010 80 1F 2A 00 01 00 00 00 00 00 00 00 00 00 00 00 €.*............. 99 <br /> || 15753 (3.73+) ||<br /> Turn off mipmapping in game engine. Completely fix flickering, and bad texturing.<br /> <br /> |-<br /> | SLUS-20671 || Mafia || <br /> 00000000 3D 00 00 00 89 3D 00 00 09 00 00 00 05 00 00 00 =...‰=..........<br /> 00000010 B0 68 3E 00 34 A3 0F 0C 9C 90 84 8F 00 10 01 3C °h&gt;.4Ł..ś.„Ź...&lt;<br /> 00000020 08 00 02 24 B8 68 3E 00 08 00 02 24 01 00 05 24 ...$¸h&gt;....$...$<br /> 00000030 9C 90 84 8F 10 3C 22 AC C0 68 3E 00 10 3C 22 AC ś.„Ź.&lt;&quot;¬Ŕh&gt;..&lt;&quot;¬<br /> 00000040 00 10 01 3C 01 00 05 24 34 A3 0F 0C B4 2B 3E 00 ...&lt;...$4Ł..´+&gt;.<br /> 00000050 FF FF 02 24 0A 00 50 10 FF FF 02 24 00 00 00 00 ˙˙.$..P.˙˙.$....<br /> 00000060 4C F0 16 00 00 60 80 44 50 07 42 8E 00 60 80 44 Lđ...`€DP.BŽ.`€D<br /> 00000070 0D 00 00 10 00 00 00 00 ........ <br /> || 15753 (3.73+) || Fix freeze at start. Additional two patches comparing to gxemu included here allow to avoid translation lookaside buffer misses in some places, and are required to finish game.<br /> <br /> |-<br /> | SLUS-21735 || Mana Khemia: Alchemists of Al-Revis ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | SLES-53585 || Marvel Nemesis: Rise of the Imperfects ||<br /> 00000000 3D 00 00 00 89 3D 00 00 12 00 00 00 0D 00 00 00 =....=..........<br /> 00000010 00 F0 FF 04 00 00 00 00 02 00 03 00 11 00 00 00 ................<br /> 00000020 7A 7F CE 5D 14 02 00 00 03 00 06 00 EC 8F 55 10 z..]..........U.<br /> 00000030 C0 45 55 10 28 49 55 10 40 4A 55 10 60 7F 55 10 .EU.(IU.@JU.`.U.<br /> 00000040 C0 8F 55 10 00 00 00 00 53 4C 45 53 2D 35 33 35 ..U.....SLES-535<br /> 00000050 38 35 85 <br /> || 15753 (3.73+) || fixes loading/crash?<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x12 =&gt; 0x0D<br /> 00 F0 FF 04<br /> 00 00 00 00<br /> 02 00 03 00 count 3, type 2<br /> 11 00 00 00<br /> 7A 7F CE 5D<br /> 14 02 00 00<br /> 03 00 06 00 count 6, type 3<br /> EC 8F 55 10 0x558fec<br /> C0 45 55 10 0x5545c0<br /> 28 49 55 10 0x554928<br /> 40 4A 55 10 0x554a40<br /> 60 7F 55 10 0x557f60<br /> C0 8F 55 10 0x558fc0<br /> |-<br /> | SLUS-21281 || Marvel Nemesis: Rise of the Imperfects ||<br /> 00000000 3D 00 00 00 89 3D 00 00 12 00 00 00 09 00 00 00 =....=..........<br /> 00000010 00 F0 FF 04 00 00 00 00 02 00 03 00 11 00 00 00 ................<br /> 00000020 7A 7F CE 5D 14 02 00 00 03 00 02 00 88 76 55 10 z..].........vU.<br /> 00000030 08 87 55 10 00 00 00 00 53 4C 55 53 2D 32 31 32 ..U.....SLUS-212<br /> 00000040 38 31 81 <br /> || 15753 (3.73+) || fixes loading/crash?<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x12 =&gt; 0x09<br /> 00 F0 FF 04<br /> 00 00 00 00<br /> 02 00 03 00 count 3, type 2<br /> 11 00 00 00<br /> 7A 7F CE 5D<br /> 14 02 00 00<br /> 03 00 02 00 count 2, type 3<br /> 88 76 55 10 0x557688<br /> 08 87 55 10 0x558708<br /> |-<br /> | SLUS-20230 || Max Payne ||<br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 E4 E6 52 00 =....=........R.<br /> 00000010 03 00 00 00 01 00 00 00 68 E8 52 00 02 00 00 00 ........x.R.....<br /> 00000020 00 00 00 00 ....<br /> || 15753 (3.73+) || fixes game hang on first cutscene/cutscenes<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x01 =&gt; 0x52E6E4, 3 (applies to main.run ELF on disc: 0x52E6E4 dmove a1,v0 )<br /> 0x01 =&gt; 0x52E868, 2 (applies to main.run ELF on disc: 0x52E868 lq s1,0x10(sp) )<br /> <br /> |-<br /> | SLUS-21550 || Metal Slug Anthology ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0A 00 00 00 01 00 00 00 =...‰=..........<br /> 00000010 24 9C 18 00 F8 F7 08 0C D2 1D 06 0C 00 00 00 00 $ś..ř÷..Ň.......<br /> || 15753 (3.73+) || Fix launching MS6 by using LoadImageAndReboot instead of FlushCache. Seems to work much better than GXemu solution.<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0A =&gt; 0x1<br /> 0x189C24, 0x0C08F7F8 (jal sub_23DFE0), 0x0C061DD2 (jal sub_187748)<br /> <br /> |-<br /> | SLUS-20983 || Musashi: Samurai Legend || <br /> 00000000 3D 00 00 00 F6 41 00 00 17 00 00 00 01 00 00 00 =....A..@.......<br /> 00000010 00 00 00 00 ....<br /> || 16886 (4.40+) ||<br /> no sps fix, but reduces heavily<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x17 =&gt; 1 <br /> <br /> |-<br /> | SLES-50134 SLES-50176 SLES-50177 SLES-50178 SLES-50179 || Oni || <br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 01 00 00 00 =...WD..........<br /> 00000010 7C EF 1C 00 FF FF 00 41 00 00 00 00 00 00 00 00 |ď..˙˙.A........<br /> || 17495 (4.78+) ||<br /> fixes black screen at start<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x0A =&gt; 0x1<br /> 0x1CEF7C 0x4100FFFF (mftgpr $ra, $zero), 0x00000000 (nop)<br /> <br /> |-<br /> | SLUS-20064 || Oni || <br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 01 00 00 00 =...WD..........<br /> 00000010 CC F3 1C 00 FF FF 00 41 00 00 00 00 00 00 00 00 Ěó..˙˙.A........<br /> || 17495 (4.78+) ||<br /> fixes black screen at start<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x0A =&gt; 0x1<br /> 0x1CF3CC 0x4100FFFF (mftgpr $ra, $zero), 0x00000000 (nop)<br /> <br /> |-<br /> | SLUS-21037 || Project: Snowblind || <br /> 00000000 3D 00 00 00 39 05 00 00 0B 00 00 00 03 00 00 00 =...9...........<br /> 00000010 69 02 00 00 78 00 00 00 04 00 00 00 10 00 00 07 i...x...........<br /> 00000020 45 00 00 07 00 0C 0D 00 78 05 00 00 04 00 00 00 E.......x.......<br /> 00000030 10 00 00 07 45 00 00 07 BB 15 0D 00 F8 05 00 00 ....E...»...ř...<br /> 00000040 04 00 00 00 10 00 00 07 45 00 00 07 00 00 00 00 ........E.......<br /> || ||<br /> fixes mipmap/texturing issues<br /> <br /> <br /> |-<br /> | SLES-52384 || Project Zero II ||<br /> 00000000 3D 00 00 00 AF 42 00 00 21 00 00 00 00 00 00 00 =...ŻB..!.......<br /> 00000010 48 00 00 00 02 00 00 00 9C E6 FF FF 0A 00 00 00 H.......ść˙˙....<br /> 00000020 01 00 00 00 0C 94 17 00 41 01 0F 24 61 01 0F 24 .....”..A..$a..$<br /> 00000030 46 00 00 00 0B 00 00 00 01 00 00 00 F6 03 00 00 F...........ö...<br /> 00000040 98 03 00 00 04 00 00 00 00 42 73 84 00 00 02 FF .........Bs„...˙<br /> 00000050 00 00 00 00 53 4C 45 53 2D 35 32 33 38 34 ....SLES-52384<br /> || 17071 (4.50+) || Fix textures problems + performance improvement<br /> 0x3D =&gt; 0x42AF (17071)<br /> 0x21 =&gt; 0<br /> 0x48 =&gt; 0x2, 0xFFFFE69C<br /> 0x0A =&gt; 1, <br /> 0x17940C, 0x240F0141 (li t7,0x141)<br /> 0x240F0161 (li t7,0x161)<br /> 0x46<br /> 0x0B =&gt; 1<br /> 0x3F6, (sector)<br /> 0x398, (offset)<br /> 0x04,<br /> 0x84734200 lh s3,0x4200(v1),<br /> 0xFF020000 sd v0,(t8)<br /> <br /> |-<br /> | SLUS-20167 || Quake 3 - Revolution ||<br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 02 00 00 00 =...WD..........<br /> 00000010 98 03 2D 00 40 FF BD 27 08 00 E0 03 9C 03 2D 00 ..-.@˙˝'..ŕ.ś.-.<br /> 00000020 A0 00 BE 7F 00 00 00 00 00 00 00 00 <br /> || 17495 (4.78+) || Break creating mipmaps to fix graphical issues / flickering (ps2_netemu not support mipmapping)<br /> <br /> |-<br /> | SLES-50126 || Quake 3 - Revolution ||<br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 02 00 00 00 =...WD..........<br /> 00000010 20 03 2D 00 40 FF BD 27 08 00 E0 03 9C 03 2D 00 ..-.@˙˝'..ŕ.ś.-.<br /> 00000020 A0 00 BE 7F 00 00 00 00 00 00 00 00 <br /> || 17495 (4.78+) || Break creating mipmaps to fix graphical issues / flickering (ps2_netemu not support mipmapping)<br /> <br /> |-<br /> | SLUS-21262 || Radiata Stories ||<br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =...‰=..........<br /> 00000010 01 00 00 00 94 4D 12 00 0A 00 00 00 01 00 00 00 ....”M..........<br /> 00000020 18 F6 1A 00 0B 00 00 00 44 00 00 00 00 00 00 00 .ö......D.......<br /> 00000030 53 4C 55 53 2D 32 31 32 36 32 SLUS-21262 <br /> || 15753 (3.73+) || Fix black screen and ghosting/gfx<br /> <br /> |-<br /> | SLPS-25606/SLPS-25851 || Raw Danger! ||<br /> 00000000 3D 00 00 00 A8 41 00 00 44 00 00 00 00 00 00 00 =...&amp;D..D.......<br /> || 16808 (4.30+) || Untested! But Raw Danger! is Zettaizetsumei Toshi 2, so same issue + solution as part 1? <br /> 0x3D =&gt; 0x41A8 (16808)<br /> 0x44 =&gt; (disables smoothing and smoothing<br /> <br /> |-<br /> | SLUS-20174 || Rumble Racing ||<br /> 00000000 3D 00 00 00 F0 42 00 00 0B 00 00 00 01 00 00 00 =...đB..........<br /> 00000010 DA AE 03 00 20 01 00 00 24 00 00 00 14 80 00 06 Ú®.. ...$....€..<br /> 00000020 00 43 20 21 00 A0 10 21 14 A0 00 02 00 00 00 00 .C !. .!. ......<br /> 00000030 24 05 00 01 10 40 FF EB 24 84 00 04 24 90 FF FC $....@˙ë$„..$.˙ü<br /> 00000040 14 80 00 07 00 43 80 21 00 A0 10 21 14 A0 00 02 .€...C€!. .!. ..<br /> 00000050 00 00 00 00 24 05 00 01 10 40 FF FC 00 00 00 00 ....$....@˙ü....<br /> 00000060 26 04 00 04 00 00 00 00 &amp;.......<br /> || 17136 (4.50+) || fixes black screen after Playstation 2 logo. Patch apply to AUDIO.IRX file in MODULES folder<br /> <br /> 0x3D =&gt; 0x42F0 (17136)<br /> 0x0B =&gt; 1<br /> 0x03AEDA, (sector)<br /> 0x120, (offset)<br /> 0x24 (bytes to replace), <br /> <br /> <br /> Replaced opcodes<br /> 06 00 80 14 bnez a0, +0x1C<br /> 21 20 43 00 addu a0,v0,v1<br /> 21 10 A0 00 move v0,a1<br /> 02 00 A0 14 bnez a1, +0x0C<br /> 00 00 00 00 nop <br /> 01 00 05 24 li a1,0x1<br /> EB FF 40 10 beqz v0, -0x50<br /> 04 00 84 24 addiu a0,0x4<br /> FC FF 90 24 addiu s0,a0,-0x4<br /> <br /> Original opcodes<br /> 07 00 80 14 bnez a0, +0x20<br /> 21 80 43 00 addu s0,v0,v1<br /> 21 10 A0 00 move v0,a1<br /> 02 00 A0 14 bnez a1, +0x0C<br /> 00 00 00 00 nop <br /> 01 00 05 24 li a1,0x1<br /> FC FF 40 10 beqz v0, -0x0C<br /> 00 00 00 00 nop <br /> 04 00 04 26 addiu a0,s0,0x4<br /> <br /> |-<br /> | SLES-51345 || Run Like Hell ||<br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 04 00 00 00 =...WD..........<br /> 00000010 34 45 1D 00 0B FA 07 4B FF 02 00 4A 44 45 1D 00 4E...ú.K˙..JDE..<br /> 00000020 FF 02 00 4A 0B FA 07 4B 20 47 1D 00 BE F8 07 4B ˙..J.ú.K G..ľř.K<br /> 00000030 FF 02 00 4A 30 47 1D 00 AC F7 FE 4B 0B FA 07 4B ˙..J0G..¬÷ţK.ú.K<br /> 00000040 00 00 00 00 ....<br /> || 17495 (4.78+) || fixes main character flickering/texturing<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x0A =&gt; 0x4<br /> <br /> 0x1D4534 0x4B07FA0B (cop2 0x107FA0B), 0x4A0002FF (cop2 0x2FF)<br /> 0x1D4544 0x4A0002FF (cop2 0x2FF) , 0x4B07FA0B (cop2 0x107FA0B)<br /> 0x1D4720 0x4B07F8BE (cop2 0x107F8BE), 0x4A0002FF (cop2 0x2FF)<br /> 0x1D4750 0x4BFEF7AC (cop2 0x1FEF7AC), 0x4B07FA0B (cop2 0x107FA0B)<br /> |-<br /> | SLES-51445 || Rygar: The Legendary Adventure ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0E 00 00 00 50 D0 14 00 =...‰=......PĐ..<br /> 00000010 00 00 00 00 ....<br /> || 15753 (3.73+) || fixes hard crash at start when leaving the place<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0E =&gt; 0x14D050 (offset)<br /> <br /> .text:0014D050 sub.s $f12, $f20, $f12<br /> |-<br /> | SLES-55147/SLUS-21731 || Silent Hill: Origins || <br /> 00000000 3D 00 00 00 F6 41 00 00 40 00 00 00 00 00 00 00 =....A..@.......<br /> || 16886 (4.40+) ||<br /> fixes white overblending at burning house<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x40 =&gt; (sets some value 1)<br /> <br /> |-<br /> | SLUS-20488 || Star Ocean - Till the End of Time ||<br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =....=..........<br /> 00000010 01 00 00 00 48 09 10 00 0A 00 00 00 2C 00 00 00 ....H.......,...<br /> 00000020 72 01 00 00 00 00 00 00 53 4C 55 53 2D 32 30 34 r.......SLUS-204<br /> 00000030 38 38 88 <br /> || 15753 (3.73+) || Fix black screen<br /> <br /> |-<br /> | SLUS-21240 (v1.01)|| Star Wars: Battlefront II || <br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 84 B7 49 00 =...‰=......„·I.<br /> 00000010 05 00 00 00 00 00 00 00 53 4C 55 53 2D 32 31 32 ........SLUS-212<br /> 00000020 34 30 40 <br /> || 15753 (3.73+) || Fix freeze. Work only with v1.01 version of game. Patch apply to SWBFRNT2.ELF file.<br /> <br /> |-<br /> | SLUS-21240 (v2.01)|| Star Wars: Battlefront II || <br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 04 97 49 00 =...‰=.......—I.<br /> 00000010 05 00 00 00 00 00 00 00 53 4C 55 53 2D 32 31 32 ........SLUS-212<br /> 00000020 34 30 40 <br /> || 15753 (3.73+) || Fix freeze. Work only with v2.01 version of game. Patch apply to SWBFRNT2.ELF file.<br /> <br /> |-<br /> | SLES-50371 || Star Wars: Jedi Starfighter || <br /> 00000000 3D 00 00 00 65 3D 00 00 0A 00 00 00 01 00 00 00 =...e=..........<br /> 00000010 98 33 32 00 B4 6B 11 0C 00 00 00 00 00 00 00 00 .32.´k..........<br /> || 15717 (3.73+) || Without it title calls PS2::Exit() at the end of a bonus stage.<br /> <br /> |-<br /> | SLUS-21913 || Star Wars: The Clone Wars – Republic Heroes ||<br /> 00000000 3D 00 00 00 39 05 00 00 0A 00 00 00 01 00 00 00 =...9...........<br /> 00000010 28 33 17 00 FF FF 64 34 FD FF 64 34 00 00 00 00 „Ë..˙˙d4đ˙d4.Ë..<br /> || 1337 (ALL) || Fix graphical gliches, subtitles, QTE buttons, missing HUD<br /> <br /> <br /> |-<br /> | SLES-54658 || Star Wars: The Force Unleashed ||<br /> 00000000 3D 00 00 00 39 05 00 00 0A 00 00 00 02 00 00 00 =...9...........<br /> 00000010 84 CB 17 00 FF FF 64 34 F0 FF 64 34 90 CB 17 00 „Ë..˙˙d4đ˙d4.Ë..<br /> 00000020 FE FF 63 34 FC FF 63 34 00 00 00 00 ţ˙c4ü˙c4....<br /> || 1337 (ALL) || Fix graphical gliches, subtitles, QTE buttons, missing HUD<br /> <br /> |-<br /> | ALL || Superman Returns ||<br /> 00000000 3D 00 00 00 89 3D 00 00 08 00 00 00 00 00 00 00 =...‰=..........<br /> 00000010 00 00 00 FE 00 00 00 00 00 00 00 2C 00 00 00 00 ...ţ.......,....<br /> 00000020 00 00 00 FE 00 00 00 00 00 00 00 10 00 00 00 00 ...ţ............<br /> || 15753 (3.73+) || fixes Graphic issues <br /> <br /> |-<br /> | SLUS-21386 || Tales of The Abyss || <br /> 00000000 3D 00 00 00 65 3D 00 00 26 00 00 00 FC FF 27 00 =...e=..&amp;...ü˙'.<br /> 00000010 FF FF 27 00 26 00 00 00 F4 21 29 00 F8 21 29 00 ˙˙'.&amp;...ô!).ř!).<br /> 00000020 00 00 00 00 ....<br /> || 15717 (3.73+) || Fix freeze at Choral Castle <br /> Improve add accuracy range =&gt; 0x27FFFC , 0x27FFFF<br /> Improve add accuracy range =&gt; 0x2921F4 , 0x2921F8<br /> |-<br /> | SLPS-25842 || Tales of Destiny (Director's cut) || <br /> 00000000 3D 00 00 00 57 44 00 00 0F 00 00 00 00 00 1C 00 =...WD..........<br /> 00000010 00 00 1D 00 00 00 00 00 ........<br /> || 17495 (4.78+) || Fix freezes <br /> Improve FPU accuracy range =&gt; 0x1C0000 , 0x1D0000<br /> <br /> |-<br /> | ALL || Tokyo Extreme Racer 3 || <br /> 00000000 3D 00 00 00 91 42 00 00 48 00 00 00 01 00 00 00 =...‘B..H.......<br /> 00000010 F0 49 02 00 00 00 00 00 đI...... <br /> || 17041 (4.46+) || Fix screen jumps <br /> Vsync Delay -&gt; No IPU 150,000<br /> <br /> |-<br /> | ALL || Tony Hawk's series ||<br /> 00000000 3D 00 00 00 89 3D 00 00 08 00 00 00 00 00 00 80 =....=..........<br /> 00000010 FF FF FF FF 00 00 00 80 00 00 40 53 00 00 00 80 ..........@S....<br /> 00000020 FF FF FF FF 00 00 00 80 00 00 40 D3 14 00 00 00 ..........@Ó....<br /> 00000030 00 00 00 00 ....<br /> || 15753 (3.73+) || fixes Graphic issues with Spiky Polygons<br /> <br /> |-<br /> | ALL || TY The Tasmanian Tiger || <br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =...‰=..........<br /> 00000010 00 00 00 00 <br /> || 15753 (3.73+) || Fix graphical glitches, and fix locks up once you're given control.<br /> <br /> |-<br /> | SLUS-21106 || True Crime: NYC ||<br /> 00000000 3D 00 00 00 89 3D 00 00 27 00 00 00 D8 2A 41 00 =...‰=..'...Ř*A.<br /> 00000010 50 2E 41 00 00 00 00 00 P.A.....<br /> || 15753 (3.73+) || fixes freeze when something in 3D appearing<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x27 =&gt; 0x412AD8, 0x412E50<br /> <br /> |-<br /> | SLES-51958 || Whiplash ||<br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 01 00 00 00 =...WD..........<br /> 00000010 84 D5 25 00 07 00 02 45 07 00 00 10 00 00 00 00 „Ő%....E........<br /> || || Trick game to not produce mipmaps. Fix graphical issues. <br /> <br /> |-<br /> | SLUS-21452 || Valkyrie Profile 2 - Silmeria ||<br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =...‰=..........<br /> 00000010 01 00 00 00 28 09 10 00 0A 00 00 00 01 00 00 00 ....(...........<br /> 00000020 48 98 2B 00 0B 00 00 00 44 00 00 00 00 00 00 00 H.+.....D.......<br /> 00000030 53 4C 55 53 2D 32 31 34 35 32 SLUS-21452<br /> || 15753 (3.73+) || Fix black screen and ghosting/gfx (requires speed fix)<br /> <br /> |-<br /> | SLUS-20469 || Xenosaga Episode I: Der Wille zur Macht || <br /> 00000000 3D 00 00 00 57 44 00 00 0F 00 00 00 00 24 32 00 =...WD.......$2.<br /> 00000010 00 29 32 00 00 00 00 00 .)2..... ........<br /> || 17495 (4.78+) || Fix &quot;erde kaiser&quot; quest. Config cause massive slow down, and should be used only for that part of game, then removed safely. <br /> Improve FPU accuracy range =&gt; 0x322400 , 0x322900<br /> <br /> |-<br /> | SLUS-20228GH || Silent Hill 2 ||<br /> 00000000 3D 00 00 00 34 12 00 00 0E 00 00 00 B4 53 17 00 =...4.......´S..<br /> 00000010 0F 00 00 00 18 5D 17 00 18 5D 17 00 00 00 00 00 .....]...]......<br /> || || Fixes the missing polygons on characters and the inaccurate camera angles<br /> |-<br /> | SLUS-20622 || Silent Hill 3 ||<br /> 00000000 3D 00 00 00 57 44 00 00 0F 00 00 00 34 AC 19 00 =...WD......4¬..<br /> 00000010 34 AC 19 00 00 00 00 00 4¬......<br /> || || Fixes camera inaccuracies<br /> <br /> |-<br /> <br /> | || || || || <br /> <br /> |}<br /> <br /> ===Config data examples (hardcoded)===<br /> ====Inside ps2_emu.self====<br /> Embedded patches are based on Checksum/Hash of title. ps2_emu is only emulator version where patches are described inside self file in ascii. Known patch types described in ascii are: Patch data, new SPU2 params, and Setting mecha HACK to show GODZCD as GODZCDDA.<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> ! PS2 Title !! Hash !! Game !! Patch Type !! Data<br /> |-<br /> | SCUS_971.46|| 0x6B1ADE00D||Disney's Treasure Planet || Patch data - Fixes black screen at start, it apply to STREAM_D.IRX file in IOP folder. || 0x147C (sector) , 0x580 (offset) (- 0xC on disc) <br /> Replace opcodes<br /> 00 01 01 3C lui at,0x0100<br /> 80 BF 03 3C lui v1,0xBF80<br /> C8 10 63 8C lw v1,0x10C8(v1)<br /> 24 18 61 00 and v1,at<br /> FB FF 61 10 beq v1,at, -0x10<br /> 00 00 00 00 nop <br /> <br /> Original opcodes<br /> FF FF 01 24 li at,-0x1<br /> 04 00 61 14 bne at,v1, +0x14<br /> 00 80 01 3C lui at,0x8000<br /> 02 00 41 14 bne at,v0, +0x0C<br /> 00 00 00 00 nop <br /> 0D 00 06 00 break <br /> |-<br /> |SLUS_201.74 ||0x23D92589C5|| Rumble Racing || Patch data - fixes black screen after Playstation 2 logo. Patch apply to AUDIO.IRX file in MODULES folder || 0x3AEDA (sector), 0x120 (offset)<br /> Replace opcodes<br /> 06 00 80 14 bnez a0, +0x1C<br /> 21 20 43 00 addu a0,v0,v1<br /> 21 10 A0 00 move v0,a1<br /> 02 00 A0 14 bnez a1, +0x0C<br /> 00 00 00 00 nop <br /> 01 00 05 24 li a1,0x1<br /> EB FF 40 10 beqz v0, -0x50<br /> 04 00 84 24 addiu a0,0x4<br /> FC FF 90 24 addiu s0,a0,-0x4<br /> <br /> Original opcodes<br /> 07 00 80 14 bnez a0, +0x20<br /> 21 80 43 00 addu s0,v0,v1<br /> 21 10 A0 00 move v0,a1<br /> 02 00 A0 14 bnez a1, +0x0C<br /> 00 00 00 00 nop <br /> 01 00 05 24 li a1,0x1<br /> FC FF 40 10 beqz v0, -0x0C<br /> 00 00 00 00 nop <br /> 04 00 04 26 addiu a0,s0,0x4<br /> <br /> |-<br /> |SLUS_211.96||0x24D92589D5|| Indigo Prophecy || new SPU2 params || 1<br /> |-<br /> |SLPM_661.93||0x608634992D|| &lt;abbr title=&quot;https://www.gamefaqs.com/ps2/544598-indigo-prophecy/data&quot;&gt;Fahrenheit (NTSC-J)&lt;/abbr&gt; || new SPU2 params || 1<br /> |-<br /> |SLUS_212.96||0x5CA15DF14D|| Dance Factory ||Setting mecha HACK to show GODZCD as GODZCDDA ||<br /> |}<br /> <br /> ====Inside ps2_gxemu.self/ps2_softemu.self====<br /> There are hundreds of configs hidden in ps2_gxemu, and ps2_softemu self files. Internal config structure is basing on custom hash based on Title ID, internal memory offset pointing to place where true patch instruction is, and count of used commands. When disc/iso is started emulator search for configs, and if config for selected ID exist, then emulator apply it by itself. Is not perfect way of applying patches, because some games use the same ID, but different content. Good example here is Star Wars Battlefront II SLUS-21240, where some versions of game can refuse to work because it apply bad patch.<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> ! PS2 Title !! Hash !! Game !! Patch Type !! Data<br /> |-<br /> | || || || || <br /> |}<br /> <br /> ==TitleID/DiscID in ps2_netemu.self==<br /> There are 193 titleIDs listed inside ps2_netemu.self. More precisely, into XPARAM2.ELF file of PS2 Bios included in ps2_netemu.self. XPARAM2.ELF is called by OSDSYS, then ID check is performed. If title ID match to one of included in the table, different IOP emulation settings are applied.<br /> There are internal flags related to every title ID included inside file, still unknown what they do. Also some arguments, in plain text. File in real ps2 is introduced in SCPH-750XX models so exactly when DECKARD Power PC chip exchanged original IOP chip. This can explain why it is still in PS3 netemu bios. Because PS3 it is ppc that can need the same/similar flags.<br /> <br /> Original PS2 bios include similar list file called XPARAM.ELF, but Title IDs there are not the same, although some of them exist on both lists.<br /> <br /> {| class=&quot;wikitable sortable&quot; || <br /> |- <br /> ! Command !! Name<br /> |-<br /> | 0x00 || TITLE_MASK <br /> |-<br /> | 0x01 || SIO2_MASK<br /> |-<br /> | 0x02 || DEV9_MASK<br /> |-<br /> | 0x03 || USB_MASK<br /> |-<br /> | 0x04 || SIF_DMA_SYNC<br /> |-<br /> | 0x05 || SIF_DMA_LOAD<br /> |-<br /> | 0x06 || DMAC_CH10_INT_DELAY<br /> |-<br /> | 0x07 || MECHA_RECOGTIME<br /> |-<br /> | 0x08 || CPU_DELAY<br /> |-<br /> | 0x09 || DEV5_INT_SPEED<br /> |-<br /> | 0x0A || CDVD_READ_DELAY<br /> |-<br /> | 0x0B || SPU2_BEHAVIOR<br /> |-<br /> |}<br /> <br /> {| class=&quot;wikitable sortable&quot; || <br /> |- <br /> ! ID !! Title !! Command !! Value !! Remarks <br /> |- <br /> |PBPX_952.01 || DVD Utility Disc Version 1.00 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.02 || DVD Utility Disc Version 1.01 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.03 || DVD Utility Disc Version 1.01 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.06 || DVD Player (Version 2.01) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.07 || DVD Player (Version 2.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.08 || DVD Player (Version 2.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.09 || DVD Player (Version 2.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.10 || DVD Utility Disc Version 2.10 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.11 || DVD Utility Disc Version 1.00 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.21 || DVD Player (Version 2.12) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.22 || DVD Player (Version 2.14) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.24 || DVD Player (Version 2.16) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.28 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.35 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.39 || Online Start Up Disc v3.0 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.01 || Linux for PS2 Beta Release 1 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.07 || Playstation 2 Linux Runtime Environment v1.0 (Disc 1) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.09 || Linux for PS2 Release 1.0 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.18 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PDPX_991.09 || DVD Player (Version 3.04) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PSXC_002.01 || PSX Update Disc 1.10 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PSXC_002.02 || PSX Update Disc 1.20 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PSXC_002.03 || PSX Update Disc 1.31 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PTPX_970.38 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCAJ_201.25 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCAJ_201.26 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCES_532.02 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCKA_200.49 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCPM_621.15 || || 0x00 || 0x1000000 || TITLE_MASK<br /> |-<br /> |SCPM_621.16 || || 0x00 || 0x1000000 || TITLE_MASK<br /> |-<br /> |SCPN_601.01 || PlayStation BB Navigator (Version 0.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.30 || PlayStation BB Navigator (Version 0.20) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.40 || PlayStation BB Navigator (Version 0.30) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.50 || PlayStation BB Navigator (Version 0.31) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.60 || PlayStation BB Navigator (Version 0.32) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPS_110.01 || I.Q. Remix || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPS_110.10 || Yoake no Mariko (Performance Pack Edition) || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_110.18 || Yoake no Mariko || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_110.21 || Yoake no Mariko 2nd Act (Limited Edition) || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_110.22 || Yoake no Mariko 2nd Act || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_150.38 || Lifeline || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SCPS_150.39 || Lifeline || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SCPS_170.01 || Gran Turismo 4 || 0x0B || 0x10000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCPS_175.01 || Linux (for PlayStation2) Release 1.0 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPS_200.39 || || 0x00 || 0x4000000 || TITLE_MASK<br /> |-<br /> |SCUS_971.67 || PaRappa the Rapper 2 || 0x04 || 0x2000 || SIF_DMA_SYNC<br /> |-<br /> |SCUS_972.69 || Final Fantasy XI [Disc 2] || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLES_500.48 || Donald Duck: Quack Attack || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_500.62 || Orphen: Scion of Sorcery || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLES_503.64 || City Crisis || 0x0A || 0x80BB8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_504.46 || Shadow Man 2: The Second Coming || 0x0A || 0x80600 || CDVD_READ_DELAY<br /> |-<br /> |SLES_505.40 || Simpsons: Road Rage || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_506.08 || Shadow Man 2: The Second Coming || 0x0A || 0x80600 || CDVD_READ_DELAY<br /> |-<br /> |SLES_506.28 || Simpsons: Road Rage || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_507.28 || Tiger Woods PGA Tour 2002 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_507.29 || || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_512.82 || Tiger Woods PGA Tour 2003 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_514.79 || Def Jam Vendetta || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLES_518.41 || SpyHunter 2 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_518.44 || Time Crisis 3 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_519.97 || SWAT: Global Strike Team || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_520.97 || SWAT: Global Strike Force || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_530.37 || Super Monkey Ball Deluxe || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLES_536.68 || Micro Machines v4 || 0x01 || 0x801 || SIO2_MASK<br /> |-<br /> |SLES_537.55 || Castlevania: Curse of Darkness || 0x04 || 0x10 || SIF_DMA_SYNC<br /> |-<br /> |SLES_537.96 || FIFA Street 2 || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_620.42 || Kurogane no Houkou: Warship Commander || 0x01 || 0x3000 || SIO2_MASK<br /> |-<br /> |SLPM_620.62 || Gitaroo Man One || 0x0A || 0x80540 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_621.05 || Taikou Risshiden IV || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPM_621.24 || Ready 2 Rumble Boxing: Round 2 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_621.25 || Gauntlet: Dark Legacy || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPM_621.25 || Gauntlet: Dark Legacy || 0x09 || 0x2B470005 || DEV5_INT_SPEED<br /> |-<br /> |SLPM_621.35 || Final Fantasy: XI (Beta Version) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SLPM_621.54 || DDRMAX Dance Dance Revolution 6thMix || 0x08 || 0x1A5E || CPU_DELAY<br /> |-<br /> |SLPM_622.39 || Supercar Street Challenge || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_623.69 || Karaoke Revolution: J-Pop Vol.1 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.79 || Karaoke Revolution: J-Pop Vol.2 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.80 || Karaoke Revolution: J-Pop Vol.3 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.81 || Karaoke Revolution: J-Pop Vol.4 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.82 || Karaoke Revolution: Love &amp; Ballad || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.83 || Karaoke Revolution: Night Selection 2003 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.14 || Karaoke Revolution: Dreams &amp; Memories || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.37 || Suisui Sweet: Amai Ai no Mitsukekata || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_624.50 || Karaoke Revolution: Anime Song Selection || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.51 || Karaoke Revolution: J-Pop Vol.5 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.54 || Karaoke Revolution: J-Pop Vol.6 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.55 || Karaoke Revolution: J-Pop Vol.7 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.56 || Karaoke Revolution: J-Pop Vol.8 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.57 || Karaoke Revolution: Snow &amp; Party || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.64 || Pop'n Taisen Pazurudame Online || 0x08 || 0x1F40 || CPU_DELAY<br /> |-<br /> |SLPM_624.79 || Karaoke Revolution: J-Pop Vol.9 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.91 || Mega Man: The Power Battle || 0x04 || 0x2000 || SIF_DMA_SYNC<br /> |-<br /> |SLPM_624.92 || Karaoke Revolution: Kids Song Selection || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_625.28 || Karaoke Revolution: Kazoku Idol Sengen (Bundle Edition) || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_625.29 || Karaoke Revolution: Kazoku Idol Sengen || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_650.86 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 (Disc 1) || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPM_650.87 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 (Disc 2) || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPM_650.90 || Spy Hunter || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_651.97 || Nobunaga's Ambition Online || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_652.09 || Star Ocean: Till the End of Time || 0x0B || 0x20014 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_654.38 || Star Ocean: Till the End of Time (Director's Cut) (Disc 1) || 0x0B || 0x20014 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_654.39 || Star Ocean: Till the End of Time (Director's Cut) (Disc 2) || 0x0B || 0x20014 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_654.88 || Grand Theft Auto: Vice City || 0x0A || 0x300 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_654.88 || Grand Theft Auto: Vice City || 0x09 || 0x36000200 || DEV5_INT_SPEED<br /> |-<br /> |SLPM_656.33 || I Love Baseball: Pro Yakyu wo Koyonaku || 0x08 || 0xFA0 || CPU_DELAY<br /> |-<br /> |SLPM_656.98 || Love Songs: ADV Futaba Riho 14-sai Natsu || 0x0A || 0x80380 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_657.05 || Final Fantasy XI: Chains of Promathia (Expansion Disc) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_657.06 || Final Fantasy XI: Chains of Promathia (All-In-One Edition) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_657.19 || Burnout 3: Takedown || 0x01 || 0x1C00 || SIO2_MASK<br /> |-<br /> |SLPM_657.83 || Nobunaga no Yabou Online: Tappi no Shou || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_658.94 || Winning Post 6: 2005 Version || 0x01 || 0x2400 || SIO2_MASK<br /> |-<br /> |SLPM_659.34 || Maple Colors || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_659.53 || Final Fantasy: XI (Entry Disc 2005) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_659.84 || Grand Theft Auto: San Andreas || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_660.33 || The Sword of Etheria || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPM_660.33 || The Sword of Etheria || 0x00 || 0x2000000 || TITLE_MASK<br /> |-<br /> |SLPM_660.48 || The Sword of Etheria || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPM_660.48 || The Sword of Etheria || 0x00 || 0x2000000 || TITLE_MASK<br /> |-<br /> |SLPM_660.57 || Taito Memories Vol.1 || 0x08 || 0xCE4 || CPU_DELAY<br /> |-<br /> |SLPM_661.56 || Marheaven: Arm Fight Dream || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_661.75 || Akumajo Dracula: Yami no Juin || 0x08 || 0x60 || CPU_DELAY<br /> |-<br /> |SLPM_661.75 || Akumajo Dracula: Yami no Juin || 0x0B || 0x2001C || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_663.93 || Final Fantasy XI: Treasures of Aht Urhgan (All-In-One Edition) || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_663.93 || Final Fantasy XI: Treasures of Aht Urhgan (All-In-One Edition) || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPM_663.93 || Final Fantasy XI: Treasures of Aht Urhgan (All-In-One Edition) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_663.94 || Final Fantasy XI: Treasures of Aht Urhgan || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_664.36 || Aria the Natural || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_664.36 || Aria the Natural || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLPM_665.39 || Nobunaga no Yabou Online: Haten no Shou || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_665.58 || Tomb Raider: Legend || 0x08 || 0x3E8 || CPU_DELAY<br /> |-<br /> |SLPM_665.74 || Detective Evangelion || 0x00 || 0x2000000 || TITLE_MASK<br /> |-<br /> |SLPM_680.07 || Karaoke Revolution (Trial) || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_680.10 || || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPS_200.08 || Morita Shogi || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPS_200.20 || FIFA 2000 World Championship || 0x04 || 0x2001 || SIF_DMA_SYNC<br /> |-<br /> |SLPS_200.37 || Go Go Golf || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_200.38 || Grappler Baki: Baki Saidai no Tournament || 0x08 || 0x1194 || CPU_DELAY<br /> |-<br /> |SLPS_200.53 || Tenshi no Present: Marle Oukoku Monogatari (Limited Edition) || 0x0B || 0x20000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_200.66 || Tenshi no Present: Marle Oukoku Monogatari || 0x0B || 0x20000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_201.01 || City Crisis || 0x0A || 0x80BB8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_201.11 || Magical Sports Pro Baseball 2001 || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_201.72 || Koushien: Konpeki no Sora || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_201.73 || Hard Hitter 2 || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_201.97 || Surfing Air Show with RatBoy || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_201.99 || F1 2002 || 0x0B || 0x20005 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_202.00 || Final Fantasy XI || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPS_204.04 || Rakushou! Pachi-Slot Sengen 2 || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_204.29 || Hissatsu Pachi-Slot Evolution: Ninja Hattori-Kun V || 0x08 || 0x1B58 || CPU_DELAY<br /> |-<br /> |SLPS_204.55 || Simple 2000 Series Vol.94: The Aka-Champion - Come on Baby || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_250.08 || Sorcerous Stabber Orphen || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPS_250.71 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPS_250.72 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPS_250.81 || Saishuu Densha || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_251.36 || Kuon no Kizuna Sairin Mikotonori || 0x0A || 0x805DC || CDVD_READ_DELAY<br /> |-<br /> |SLPS_251.42 || Tiger Woods PGA Tour 2002 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_251.50 || Only You || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_252.37 || Only You || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_252.75 || Def Jam: Vendetta || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLPS_252.78 || Memories Off: Mix || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_252.90 || Time Crisis 3 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLPS_253.15 || One Piece: Grand Battle 3 || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPS_253.57 || 3-Nen B-Gumi Kinpachi Sensei: Densetsu no Kyoudan ni Tate! || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPS_253.79 || Tokyo Majin Gakuen: Kaihoujyou Kefurokou || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_254.06 || Hitman: Contracts || 0x08 || 0xDAC || CPU_DELAY<br /> |-<br /> |SLPS_254.18 || Ace Combat 5: The Unsung War || 0x0A || 0x500000 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_255.10 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_255.85 || Monster Farm 5: Circus Caravan || 0x07 || 5 || MECHA_RECOGTIME<br /> |-<br /> |SLPS_255.86 || Tales of the Abyss || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_256.04 || Ar tonelico Qoga: Knell of Ar Ciel || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLPS_256.67 || Daito Giken Premium Pachi-Slot Collection: Yoshimune || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPS_256.98 || Fatal Fury Battle Archives Volume 2 || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLPS_257.08 || The Familiar of Zero (Limited Edition) || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_257.09 || The Familiar of Zero || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_257.21 || HimeHibi - Princess Days || 0x0B || 0x8000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_257.22 || Routes PE (Limited Edition) || 0x08 || 0x3E8 || CPU_DELAY<br /> |-<br /> |SLPS_257.27 || Routes PE || 0x08 || 0x3E8 || CPU_DELAY<br /> |-<br /> |SLPS_732.49 || Ar tonelico Qoga: Knell of Ar Ciel (Platinum) || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLUS_200.11 || Orphen: Ocion of Sorcery || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_200.11 || Orphen: Ocion of Sorcery || 0x09 || 0x8000010 || DEV5_INT_SPEED<br /> |-<br /> |SLUS_200.77 || Donald Duck: Go'in Quackers || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_202.74 || City Crisis || 0x0A || 0x80BB8 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_203.05 || Simpsons: Road Rage || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_203.64 || Tiger Woods PGA Tour 2002 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_204.13 || Shadowman 2 || 0x0A || 0x80600 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_204.33 || SWAT: Global Strike Team || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_204.88 || Star Ocean: Til the end of Time [Disc 1] || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_205.72 || Tiger Woods PGA Tour 2003 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_205.90 || Spyhunter 2 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_206.35 || Muppets Party Cruise || 0x01 || 0x801 || SIO2_MASK<br /> |-<br /> |SLUS_206.39 || Def Jam Vendetta || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_206.86 || Splashdown: Rides Gone Wild || 0x0A || 0x80400 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_208.38 || All-Star Baseball 2005 || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLUS_208.51 || Ace Combat 5: The Unsung War || 0x0A || 0x500000 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_208.91 || Star Ocean: Til the end of Time [Disc 2] || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_209.18 || Super Monkey Ball: Deluxe || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_210.59 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLUS_210.70 || Final Fantasy XI: Chains of Promathia || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLUS_210.89 || Karaoke Revolution Vol.3 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_213.31 || Sonic Riders || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_213.39 || Puzzle Challenge || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_214.04 || Final Fantasy XI: Treasures of Aht Urhgan || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLUS_214.52 || Valkyrie Profile 2: Silmeria || 0x08 || 0x1388 || CPU_DELAY<br /> |- <br /> |}<br /> <br /> ==Other game patches (unofficial)==<br /> There are other unofficial ways to patch the PS2 games such the [https://forums.pcsx2.net/Thread-A-simplistic-guide-to-pnach-files-aka-pnach-for-dummies pnach] format, or the widescreen patches that allows 16:9 screen output for some games by hex editing the ISO, or by applying ppf patches. Games work fine on PS3 with same compatibility like before patching. Also some 480p (aka progressive scan) patches work fine. http://ps2wide.net/<br /> <br /> The problem of this methods is the patch is applyed over the ISO and is modifyed permanently, but this problem can be avoided in PS3 because that unofficial patches can be &quot;ported&quot; to the official config format to be used by ps2_netemu.self, by using the official config format the settings and patchs from the config file are applyed &quot;on the fly&quot; and the ISO is not modifyed<br /> <br /> ==ps2_title_brute code==<br /> <br /> A script to calculate whatever this encode is that is used in ps2emu, gxemu and softemu from given input title id.<br /> <br /> It contains code for bruting as well. Just call gen_sum with the title id in a specific format to get it.<br /> <br /> &lt;syntaxhighlight lang=&quot;python&quot;&gt;<br /> title_ = &quot;SLUS_200.73&quot;<br /> <br /> #patches = [0x6b1ade00dL, 0x23d92589c5L, 0x24d92589d5L, 0x608634992dL, 0x5ca15df14dL]<br /> #patches = [0x37ae1cb18dL, 0x608634999dL, 0x06b1ade00dL, 0x5fc674d915L, 0x178e3c9165L, 0x3889349935L,0x18fe4ce145L,0xc126943985,0xe90ebc11b5,0x58be0ca165L]<br /> patches = [ 0xCD1298155L, 0x12C93199A5L, 0x15C93199ADL, 0x24D92589A5L, 0x2CD12D8125L, 0x34C9359935L, 0x34C93599E5L, 0x34C93599E5L, 0x449961C9E5L, 0x4C9169C1CDL, 0x4C9169C1D5L, 0x4C9169C1DDL, 0x4C9169C1E5L, 0x4C9169C1F5L, 0x4C9169C1FDL, 0x4CB14DE12DL, 0x54A955F915L, 0x5CA15DF165L, 0x5CA15DF1FDL, 0x5CA15DF1FDL, 0x649965C94DL, 0x649965C955L, 0x649965C95DL, 0x649965C965L, 0x649965C96DL, 0x6BB149E15DL, 0x6C916DC165L, 0x6C916DC1A5L, 0x6C916DC1ADL, 0x6C916DC1B5L, 0x6C916DC1D5L, 0x6C916DC1DDL, 0x748975D9DDL, 0x7C817DD125L, 0x7C817DD165L, 0x7C817DD16DL, 0x7C817DD175L, 0x7C817DD1CDL, 0x84798529BDL, 0x8559A109ADL, 0x8579852915L, 0x8579852965L, 0x8D51A90145L, 0x8D51A901B5L, 0x8D51A901BDL, 0x8D718D21BDL, 0x9C619D31E5L, 0x9D41B911ADL, 0x9D619D31C5L, 0x9F29357805L, 0x9F293578E5L, 0xB549B51915L, 0xB549B51925L, 0xB549B5195DL, 0xB549B519A5L, 0xB549B519ADL, 0xBC61793025L, 0xBD41BD1105L, 0xC439C569F5L, 0xC7716D20D5L, 0xC7716D20D5L, 0xCA11E941F5L, 0xCF7965285DL, 0xCF7965285DL, 0xD20911582DL, 0xD7617D308DL, 0xE339C1695DL, 0xE794CCB06DL, 0xEA3129608DL, 0xEC11ED4115L, 0xEF594508D5L, 0xF409F559ADL, 0xF7415D10E5L, 0xF7415D10E5L]<br /> <br /> def gen_sum(title):<br /> var_30 = []<br /> for i in range(0x1A):<br /> var_30.append(0)<br /> r9=5<br /> r31=0<br /> #Title 2 decimal<br /> while r9 != 0xB:<br /> r11 = r9 + 1<br /> if r9 == 8:<br /> pass<br /> else:<br /> r5 = ord(title[r9:r9+1])<br /> r7 = r31 * 0xA<br /> r6 = r7 &amp; 0xFFFFFFFF<br /> r4 = r5 + r6<br /> r9 = r4 - 0x30<br /> r31 = r9 &amp; 0xFFFFFFFF<br /> r9 = r11<br /> #print r31<br /> r10 = ord(title[3:4]) # S<br /> r7 = (r31 &gt;&gt; 10) &amp; 0x7F<br /> r11 = ord(title[1:2]) # L<br /> r8 = ord(title[2:3]) # U<br /> r6 = (r10 &gt;&gt; 1) &amp; 0x3F<br /> r12 = ord(title[0:1]) # S<br /> r4 = (r11 &gt;&gt; 3) &amp; 0xF<br /> r5 = (r8 &gt;&gt; 2) &amp; 0x1F<br /> r3 = (r12 &gt;&gt; 4) &amp; 7<br /> r9 = r10 &lt;&lt; 7<br /> r0 = r8 &lt;&lt; 6<br /> r10 = r11 &lt;&lt; 5<br /> r8 = r12 &lt;&lt; 4<br /> r12 = r31 &lt;&lt; 3<br /> r11 = r10 | r5<br /> r9 = r9 | r7<br /> r0 = r0 | r6<br /> var_30[2] = r11 &amp; 0xFF<br /> r7 = r8 | r4<br /> var_30[0] = (r9 &amp; 0xFF)<br /> r10 = r12 | r3<br /> var_30[1] = (r0 &amp; 0xFF)<br /> r12 = (r31 &gt;&gt; 2) &amp; 0x3FFFFFF8<br /> var_30[3] = (r7 &amp; 0xFF)<br /> r8 = 5<br /> var_30[4] = (r10 &amp; 0xFF)<br /> var_30[0x19] = (r12 &amp; 0xFF)<br /> var_30[0x18] = (r8 &amp; 0xFF)<br /> var_30 = [int(v) for v in var_30]<br /> #print [hex(v) for v in var_30]<br /> r5 = var_30<br /> r6 = 0<br /> r4 = 0<br /> while r6 &lt; 5:<br /> r12 = r5[r6:r6+1][0]<br /> r7 = r6 + 1<br /> r0 = var_30[0x19]<br /> r3 = r6 + 0x10<br /> r9 = r12 ^ r0<br /> r31 = r3<br /> r5[r6] = r9<br /> r6 = r7<br /> r5[r31] = r4<br /> #print [hex(v) for v in r5]<br /> r9 = 0<br /> r10 = 0<br /> while r10 &lt; 5:<br /> r11 = r10 + 1<br /> r6 = r5[r10:r10+1][0]<br /> r4 = r9 &lt;&lt; 8<br /> r10 = r11<br /> r9 = r4 | r6<br /> return r9<br /> '''<br /> print hex(gen_sum(title_))<br /> <br /> a1='A'<br /> a2='A'<br /> a3='A'<br /> a4='A'<br /> while a1 &lt;= 'Z':<br /> a2='A'<br /> a3='A'<br /> a4='A'<br /> while a2 &lt;= 'Z':<br /> a3='A'<br /> a4='A'<br /> while a3 &lt;= 'Z':<br /> a4='A'<br /> while a4 &lt;= 'Z':<br /> #print &quot;%s%s%s%s&quot; % (a1,a2,a3,a4)<br /> for i in range(99999):<br /> t = &quot;%s%s%s%s_&quot; % (a1,a2,a3,a4) + '{4}{3}{2}.{1}{0}'.format(i%10,(i/10)%10,(i/100)%10,(i/1000)%10,(i/10000)%10)<br /> if gen_sum(t) in patches:<br /> print t<br /> print True<br /> a4=chr(ord(a4)+1)<br /> print &quot;%s%s%s%s&quot; % (a1,a2,a3,a4)<br /> a3=chr(ord(a3)+1)<br /> print &quot;%s%s%s%s&quot; % (a1,a2,a3,a4)<br /> a2=chr(ord(a2)+1)<br /> a1=chr(ord(a1)+1)<br /> '''<br /> <br /> print hex(gen_sum(&quot;SLUS_213.86&quot;))<br /> '''<br /> for i in range(99999):<br /> t = &quot;SLUS_&quot; + '{4}{3}{2}.{1}{0}'.format(i%10,(i/10)%10,(i/100)%10,(i/1000)%10,(i/10000)%10)<br /> if gen_sum(t) in patches:<br /> print &quot;%s %x&quot; % (t, gen_sum(t))<br /> <br /> '''<br /> &lt;/syntaxhighlight&gt;<br /> <br /> <br /> ==External References==<br /> * [http://www.eurogamer.net/articles/digitalfoundry-vs-ps2-classics-on-ps3]<br /> * [http://www.ps3hax.net/showthread.php?t=53444 PS2 Classics Algorithm By flatz]<br /> * [http://gitorious.ps3dev.net/ps2classic c port]<br /> * https://docs.google.com/spreadsheet/ccc?key=0As9ZdsrJoSp1dC1NTTRCSE5vbTlkOGItTC1CVzE5U3c#gid=7<br /> * http://www.pshomebrew.net/wiki/PS2_Classics_Emulator_Compatibility_List<br /> * [http://www.ps3hax.net/showthread.php?p=620747#post620747 How to properly convert Final Fantasy XII: IZJS For ps2classics]<br /> * https://en.wikipedia.org/wiki/List_of_PlayStation_2_Classics<br /> <br /> CPU-GPU intensive games + games only playable in software render on PCSX2:<br /> * http://wiki.pcsx2.net/index.php/Category:GPU_intensive_games<br /> * http://wiki.pcsx2.net/index.php/Category:CPU_intensive_games<br /> * http://wiki.pcsx2.net/index.php/Category:Software_rendering_only_games<br /> <br /> {{Reverse engineering}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=Talk:PS2_Emulation&diff=55880 Talk:PS2 Emulation 2020-04-01T22:45:26Z <p>Mysis: /* PS2 Emulators Config Commands */</p> <hr /> <div>==Table Tests==<br /> <br /> ===PS2 Emulator Types and Revisions===<br /> <br /> &lt;div&gt;<br /> &lt;div style=&quot;float:top; text-align:center;&quot;&gt;'''PS2 Emulators Types and Revisions'''&lt;/div&gt;<br /> &lt;div style=&quot;float:left; width:28%;&quot;&gt;<br /> {| class=&quot;wikitable&quot; style=&quot;font-size:xx-small;&quot;<br /> |+ ps2_emu.elf (decrypted)<br /> ! Firmware !! Bytes !! MD5 !! Timestamp !! &lt;abbr title=&quot;Revision&quot;&gt;Rev&lt;/abbr&gt; !! &lt;abbr title=&quot;Maximun number of supported commands&quot;&gt;Comm&lt;/abbr&gt;<br /> |-<br /> ! [[1.00_AV|1.00 AV]]<br /> | 8 258 328 || 19DC714F1109FF772BEF5B00C4AF2CF7 || 06/10/04/12:15 || ? || ?<br /> |-<br /> ! [[1.02_CEX|1.02]]<br /> | 8.258.504 || FF9C1C465DF6F501E418602A488CBD40 || 06/10/21/00:01 || ? || ?<br /> |-<br /> ! [[1.10_CEX|1.10]]<br /> | 8.254.568 || 72EFF1FB3E9A175253687634B698CC91 || 06/11/09/06:08 || ? || ?<br /> |-<br /> ! [[1.11_CEX|1.11]]<br /> | 8.255.192 || 98BCC06ACA07971DFE57A126000B6DEE || 06/11/21/17:54 || ? || ?<br /> |-<br /> ! [[1.30_CEX|1.30]]<br /> | 8.787.800 || 3F1E943139329E8AD5461FA43DB4DD0E || 06/12/05/05:33 || rowspan=&quot;2&quot; | same || rowspan=&quot;2&quot; | ?<br /> |-<br /> ! [[1.30_AV|1.30 AV]]<br /> | 8.787.800 || F2CE2D8CF41FF38E586AE7A91A13980C || 06/12/05/07:15<br /> |-<br /> ! [[1.31_CEX|1.31]]<br /> | 8.790.440 || CF13D31F202DA3C55009C06B6A2B27A0 || 06/12/12/18:47 || ? || ?<br /> |-<br /> ! [[1.32_CEX|1.32]]<br /> | 8.794.664 || 6DD631EEDE321AC7F59C85BC6AC0DCA9 || 06/12/18/05:54 || ? || ?<br /> |-<br /> ! [[1.50_CEX|1.50]]<br /> | 8.805.912 || 81B38EE824E460385B44FADE78CAA5DC || 07/01/18/22:52 || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ? || ?<br /> |-<br /> ! [[1.90_CEX|1.90]]<br /> | 5.190.280 || 88B26FDC910B8633613BC366D39F439D || 07/07/21/06:44 || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ? || ?<br /> |-{{cellcolors|#ddddff}}<br /> ! [[3.66_CEX|3.66]]<br /> | rowspan=&quot;3&quot; | 5.267.112 || BE20230D091F5C8AB8364607D49A6992 || 11/06/16/03:51 || rowspan=&quot;3&quot; | same || rowspan=&quot;3&quot; | ?<br /> |-{{cellcolors|#ddddff}}<br /> ! ~<br /> | colspan=&quot;2&quot; style=&quot;text-align:center; background-color:#ddddff;&quot; | ''Any''<br /> |-{{cellcolors|#ddddff}}<br /> ! [[3.74_CEX|3.74]]<br /> | 5B2CA12EE08298094177667C681BC75F || 11/10/25/00:30<br /> |-{{cellcolors|#bbbbff}}<br /> ! [[4.00_CEX|4.00]]<br /> | rowspan=&quot;2&quot; | 5.272.152 || 08516640BE636F3E633C0416F09EF941 || 11/11/22/03:10 || rowspan=&quot;2&quot; | same || rowspan=&quot;2&quot; | ?<br /> |-{{cellcolors|#bbbbff}}<br /> ! [[4.01_CEX|4.01]]<br /> | 61ECD51036247547736274EEB52FA4C4 || 11/12/23/01:02<br /> |-{{cellcolors|#ddddff}}<br /> ! [[4.10_CEX|4.10]]<br /> | rowspan=&quot;2&quot; | 5.272.008 || 88CFD465D2F412C075C69531278BB3A9 || 12/02/05/23:08 || rowspan=&quot;2&quot; | same || rowspan=&quot;2&quot; | ?<br /> |-{{cellcolors|#ddddff}}<br /> ! [[4.11_CEX|4.11]]<br /> | 2B45F72675B844C08E1735059F9826E3 || 12/02/11/07:05<br /> |-{{cellcolors|#bbbbff}}<br /> ! [[4.20_CEX|4.20]]<br /> | rowspan=&quot;2&quot; | 5.272.264 || 23D3F9909EBA3F1AB0D757850C5D6809 || 12/06/15/02:01 || rowspan=&quot;2&quot; | same || rowspan=&quot;2&quot; | ?<br /> |-{{cellcolors|#bbbbff}}<br /> ! [[4.21_CEX|4.21]]<br /> | 110F0D01B39193F1A2031BBC7ADBBC2F || 12/06/30/01:06<br /> |-<br /> ! [[4.23_SEX|4.23 S]]<br /> | 5.271.912 || 783201F2541117E545B8E01B3A0B1955 || 12/07/31/00:17 || ? || ?<br /> |-<br /> ! [[4.25_CEX|4.25]]<br /> | 5.272.264 || C895EAA3F79BA2040D6C828A5B811139 || 12/09/07/06:55 || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ? || ?<br /> |-{{cellcolors|#ddddff}}<br /> ! [[4.78_CEX|4.78]]<br /> | rowspan=&quot;3&quot; | 5.274.984 || ABC9228FCEA0E779E3157CA546A1FD02 || 15/12/17/01:14 || rowspan=&quot;3&quot; | same || rowspan=&quot;3&quot; | ?<br /> |-{{cellcolors|#ddddff}}<br /> ! ~<br /> | colspan=&quot;2&quot; style=&quot;text-align:center; background-color:#ddddff;&quot; | ''Any''<br /> |-{{cellcolors|#ddddff}}<br /> ! [[4.82_CEX|4.82]]<br /> | FAA3EAE26B3311DE78C5FB5788CFEC11 || 17/08/24/15:38<br /> |}<br /> &lt;span style=&quot;font-size:small&quot;&gt;<br /> {{widedot}}'''Decrypted (elf)''': changes &lt;abbr title=&quot;when comparing two decrypted files of the same revision from different firmwares the only difference is the build label&quot;&gt;every firmware version&lt;/abbr&gt;&lt;br&gt;<br /> {{widedot}}'''&lt;abbr title=&quot;0x20 bytes&quot;&gt;Build label&lt;/abbr&gt;''': yes, with timestamp, search for '''ps2ver:'''&lt;br&gt;<br /> {{widedot}}'''Target Firmware''': no/unknown&lt;br&gt;<br /> {{widedot}}'''Revision''': unknown<br /> &lt;/span&gt;<br /> &lt;/div&gt;<br /> &lt;div style=&quot;float:left; width:24%;&quot;&gt;<br /> {| class=&quot;wikitable&quot; style=&quot;font-size:xx-small;&quot;<br /> |+ ps2_gxemu.elf (decrypted)<br /> ! Firmware !! Bytes !! MD5 !! &lt;abbr title=&quot;Revision&quot;&gt;Rev&lt;/abbr&gt; !! &lt;abbr title=&quot;Maximun number of supported commands&quot;&gt;Comm&lt;/abbr&gt;<br /> |-<br /> ! [[1.00_CEX|1.00]] ~ [[1.32_CEX|1.32]]<br /> | colspan=&quot;4&quot; {{no}}<br /> |-<br /> ! [[1.50_CEX|1.50]]<br /> | 6.106.040 || BACC208C8A793F82D71F85B02DD2D318 || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! [[1.90_CEX|1.90]]<br /> | 6.802.720 || B9E2CC8D72779650D9B500B75AE552EB || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! [[3.66_CEX|3.66]] ~ [[3.74_CEX|3.74]]<br /> | 6.867.024 || E04FA0FE63A968C53AE366B3AAD0141A || ? || ?<br /> |-<br /> ! [[4.00_CEX|4.00]] ~ [[4.11_CEX|4.11]]<br /> | 6.871.848 || D5E97019132848203970213FF96F2AAB || ? || ?<br /> |-<br /> ! [[4.20_CEX|4.20]] ~ [[4.25_CEX|4.25]]<br /> | 6.872.128 || 678F16283CAA8CFBC03A5FBCB6ABA41E || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! [[4.78_CEX|4.78]] ~ [[4.82_CEX|4.82]]<br /> | 6.874.848 || C7681420A7B3A2A6E3BF89F4A12A3DD6 || ? || 0x2B ?<br /> |}<br /> &lt;span style=&quot;font-size:small&quot;&gt;<br /> {{widedot}}'''Decrypted (elf)''': changes &lt;abbr title=&quot;when comparing two decrypted files of the same revision from different firmwares there are no differences&quot;&gt;every emu revision&lt;/abbr&gt;&lt;br&gt;<br /> {{widedot}}'''&lt;abbr title=&quot;0x20 bytes&quot;&gt;Build label&lt;/abbr&gt;''': no/unknown&lt;br&gt;<br /> {{widedot}}'''Target Firmware''': no/unknown&lt;br&gt;<br /> {{widedot}}'''Revision''': unknown<br /> &lt;/span&gt;<br /> &lt;/div&gt;&lt;div style=&quot;float:left; width:24%;&quot;&gt;<br /> {| class=&quot;wikitable&quot; style=&quot;font-size:xx-small;&quot;<br /> |+ ps2_softemu.elf (decrypted)<br /> ! Firmware !! Bytes !! MD5 !! &lt;abbr title=&quot;Revision&quot;&gt;Rev&lt;/abbr&gt; !! &lt;abbr title=&quot;Maximun number of supported commands&quot;&gt;Comm&lt;/abbr&gt;<br /> |-<br /> ! [[1.00_CEX|1.00]] ~ [[1.82_CEX|1.82]]<br /> | colspan=&quot;4&quot; {{no}}<br /> |-<br /> ! [[1.90_CEX|1.90]] ~ [[1.94_CEX|1.94]]<br /> | 6.142.080 || 812330515D01291488315BBE7E0F339E || 11065 || ?<br /> |-<br /> ! [[1.97_CEX|1.97]]<br /> | ? || ? || ? || ?<br /> |-<br /> ! [[2.00_CEX|2.00]] ~ [[2.10_CEX|2.10]]<br /> | ? || ? || 11830 || ?<br /> |-<br /> ! [[2.16_CEX|2.16]]<br /> | ? || ? || ? || ?<br /> |-<br /> ! ? ~ ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! [[3.10_CEX|3.10]]<br /> | ? || ? || ? || ?<br /> |-<br /> ! [[3.15_CEX|3.15]]<br /> | ? || ? || 12840 || ?<br /> |-<br /> ! [[3.16_CEX|3.16]]<br /> | ? || ? || ? || ?<br /> |-<br /> ! ? ~ ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! [[3.40_CEX|3.40]]<br /> | ? || ? || ? || ?<br /> |-<br /> ! [[3.41-1_CEX|3.41]] ~ [[3.65_CEX|3.65]]<br /> | ? || ? || 13474 || ?<br /> |-<br /> ! [[3.66_CEX|3.66]] ~ [[3.71_CEX|3.71]]<br /> | 6.147.120 || 513B9160AD8C199CAEFC82C1B7D9D794 || 15435 || ?<br /> |-<br /> ! [[3.72_CEX|3.72]] ~ [[4.01_CEX|4.01]]<br /> | 6.146.992 || 1232D3EEB48F301CBB61D76EB3046111 || 15529 || ?<br /> |-<br /> ! [[4.10_CEX|4.10]] ~ {{latest}}<br /> | colspan=&quot;4&quot; {{no}}<br /> |}<br /> &lt;span style=&quot;font-size:small&quot;&gt;<br /> {{widedot}}'''Decrypted (elf)''': changes &lt;abbr title=&quot;when comparing two decrypted files of the same revision from different firmwares there are no differences&quot;&gt;every emu revision&lt;/abbr&gt;&lt;br&gt;<br /> {{widedot}}'''&lt;abbr title=&quot;0x20 bytes&quot;&gt;Build label&lt;/abbr&gt;''': no/unknown&lt;br&gt;<br /> {{widedot}}'''Target Firmware''': no/unknown&lt;br&gt;<br /> {{widedot}}'''Revision''': unknown<br /> &lt;/span&gt;<br /> &lt;/div&gt;&lt;div style=&quot;float:left; width:24%;&quot;&gt;<br /> {| class=&quot;wikitable&quot; style=&quot;font-size:xx-small;&quot;<br /> |+ ps2_netemu.elf (decrypted)<br /> ! Firmware !! Bytes !! MD5 !! &lt;abbr title=&quot;Revision&quot;&gt;Rev&lt;/abbr&gt; !! &lt;abbr title=&quot;Maximun number of supported commands&quot;&gt;Comm&lt;/abbr&gt;<br /> |-<br /> ! [[1.00_CEX|1.00]] ~ [[3.66_CEX|3.66]]<br /> | colspan=&quot;4&quot; {{no}}<br /> |-<br /> ! [[3.70_CEX|3.70]] ~ [[3.71_CEX|3.71]]<br /> | 11.036.504 || 0D021D18CC63DDBDA530A93C41ABF865 || &lt;abbr title=&quot;build r15686-gif-xdr-user2-usb3&quot;&gt;15686&lt;/abbr&gt; || rowspan=&quot;5&quot; | 0x41<br /> |-<br /> ! [[3.72_CEX|3.72]]<br /> | 11.036.504 || 38EABD7E5F998BC04922CA3B70211208 || &lt;abbr title=&quot;build r15842-target370&quot;&gt;15842&lt;/abbr&gt;<br /> |-<br /> ! [[3.73_CEX|3.73]] ~ [[3.74_CEX|3.74]]<br /> | 11.036.504 || F21110A93BBEA416749283E6BF3D3C6B || &lt;abbr title=&quot;build r15936-target370&quot;&gt;15936&lt;/abbr&gt;<br /> |-<br /> ! [[4.00_CEX|4.00]] ~ [[4.01_CEX|4.01]]<br /> | 11.033.048 || F770442DFA626282B01FEBE3DDFFC477 || &lt;abbr title=&quot;build r16195-target400&quot;&gt;16195&lt;/abbr&gt;<br /> |-<br /> ! [[4.10_CEX|4.10]] ~ [[4.11_CEX|4.11]]<br /> | 11.033.216 || 8F0885BCC80A3617E654BB6151F4F718 || &lt;abbr title=&quot;build r16361-target410&quot;&gt;16361&lt;/abbr&gt;<br /> |-<br /> ! [[4.20_CEX|4.20]] ~ [[4.23_SEX|4.23]]<br /> | 11.033.728 || 8EB5492E453C50B6D728E7999A57A689 || &lt;abbr title=&quot;build r16604-target420&quot;&gt;16604&lt;/abbr&gt; || rowspan=&quot;2&quot; | 0x43<br /> |-<br /> ! [[4.25_CEX|4.25]] ~ [[4.26_SEX|4.26]]<br /> | 11.033.728 || E38059300E31432A62967770C3E99EF6 || &lt;abbr title=&quot;build r16740-target420&quot;&gt;16740&lt;/abbr&gt;<br /> |-<br /> ! [[4.30_CEX|4.30]] ~ [[4.31_CEX|4.31]]<br /> | ? || ? || 16808 || 0x45<br /> |-<br /> ! [[4.40_CEX|4.40]] ~ [[4.41_CEX|4.41]]<br /> | ? || ? || 16916 || 0x46<br /> |-<br /> ! [[4.45_CEX|4.45]] ~ [[4.46_CEX|4.46]]<br /> | ? || ? || 17041 || 0x48<br /> |-<br /> ! [[4.50_CEX|4.50]]<br /> | ? || ? || 17179 || 0x4A<br /> |-<br /> ! [[4.55_CEX|4.55]]<br /> | ? || ? || 17277 || rowspan=&quot;2&quot; | 0x4D<br /> |- <br /> ! [[4.60_CEX|4.60]] ~ [[4.76_CEX|4.76]]<br /> | ? || ? || 17314<br /> |- <br /> ! [[4.78_CEX|4.78]] ~ [[4.82_CEX|4.82]]<br /> | 10.442.536 || 8B2DBD1AAD22A0EDCF9C867A1A1FB94D || &lt;abbr title=&quot;build r17495-main-rel&quot;&gt;17495&lt;/abbr&gt; || 0x50<br /> |}<br /> &lt;span style=&quot;font-size:small&quot;&gt;<br /> {{widedot}}'''Decrypted (elf)''': changes &lt;abbr title=&quot;when comparing two decrypted files of the same revision from different firmwares there are no differences&quot;&gt;every emu revision&lt;/abbr&gt;&lt;br&gt;<br /> {{widedot}}'''&lt;abbr title=&quot;0x20 bytes&quot;&gt;Build label&lt;/abbr&gt;''': yes, without timestamp, search for '''build r'''&lt;br&gt;<br /> {{widedot}}'''Target Firmware''': included in the build label&lt;br&gt;<br /> {{widedot}}'''Revision''': yes, &lt;abbr title=&quot;the location can be seen by comparing 4.23 (value 0x40DC) with 4.25 (value 0x4164) at offset 0x3E4BA in both&quot;&gt;'''one''' time&lt;/abbr&gt;, and included in the build label<br /> &lt;/span&gt;<br /> &lt;/div&gt;<br /> &lt;/div&gt;<br /> &lt;br style=&quot;clear: both;&quot; /&gt;<br /> <br /> ===PS2 Emulators Config Commands===<br /> &lt;div&gt;<br /> &lt;div style=&quot;float:top; text-align:center;&quot;&gt;'''PS2 Emulators Config Commands'''&lt;/div&gt;<br /> &lt;div style=&quot;float:left; width:49%;&quot;&gt;<br /> &lt;div style=&quot;float:right;&quot;&gt;<br /> {| class=&quot;wikitable&quot; style=&quot;font-size:x-small;&quot;<br /> |-<br /> ! rowspan=&quot;2&quot; | Command Name !! colspan=&quot;3&quot; | Command ID !! rowspan=&quot;2&quot; | Max&lt;br&gt;Usage !! colspan=&quot;3&quot; | Command Data<br /> |-<br /> ! ps2_gxemu !! ps2_softemu !! ps2_netemu !! Length !! colspan=&quot;2&quot; | Valid Values<br /> |-<br /> | Config terminator or TitleID enforcer || {{no}} || {{no}} || 0x00 || 1 || Nothing or 0xA bytes || colspan=&quot;2&quot; | TitleID<br /> |-<br /> | {{cellcolors|#555555|#ffffff}} Hook EE memory offset with emu function || 0x00 || 0x00 || 0x01 || 3 ? || 2 * uint32_t || {{cellcolors|#555555|#ffffff}} EE_memory_offset || {{cellcolors|#555555|#ffffff}} emu_function<br /> |-<br /> | {{cellcolors|#ddddff}} Set something || 0x01 || 0x01 || 0x02 || 1 || uint32_t || colspan=&quot;2&quot; | 1000=?&lt;br&gt;3000=?&lt;br&gt;6000=?<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE&quot;&gt;Switch&lt;/abbr&gt; something || 0x02 || 0x02 || 0x03 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | {{cellcolors|#ddddff}} Set something || 0x03 || 0x03 || 0x04 || 1 || uint32_t || colspan=&quot;3&quot; | 8=?&lt;br&gt;0x10=?<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE&quot;&gt;Switch&lt;/abbr&gt; something || 0x04 || 0x04 || {{cellcolors|#CC5555}} 0x05 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced by something like: 'Enable buffer size 4k'&quot;&gt;Switch&lt;/abbr&gt; something || 0x05 || 0x05 || 0x06 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | &lt;abbr title=&quot;0x14F80 if enabled&quot;&gt;''Nothing''&lt;/abbr&gt;<br /> |-<br /> | {{cellcolors|#ddddff}} Set something || 0x06 || 0x06 || 0x07 || 1 || uint32_t || colspan=&quot;2&quot; | 2=?&lt;br&gt;4=?&lt;br&gt;8=?<br /> |-<br /> | {{cellcolors|lightgreen}} Patch &lt;abbr title=&quot;is not EE memory&quot;&gt;something&lt;/abbr&gt; with 2 opcodes and &lt;abbr title=&quot;two bit masks for original and patched data&quot;&gt;masks&lt;/abbr&gt; || 0x07 || 0x07 || 0x08 || 3 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgreen;&quot; | ''Expanded Data List''<br /> |-<br /> | {{cellcolors|lightgreen}} Patch EE memory with 2 opcodes || 0x08 || 0x08 || 0x09 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgreen;&quot; | ''Expanded Data List''<br /> |-<br /> | {{cellcolors|lightgreen}} Patch EE memory with 1 opcode || {{no}} || {{no}} || 0x0A || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgreen;&quot; | ''Expanded Data List''<br /> |-<br /> | {{cellcolors|lightgreen}} Patch game disc by sector &amp; offset || 0x09 || 0x09 || 0x0B || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgreen;&quot; | ''Expanded Data List''<br /> |-<br /> | {{cellcolors|#ddddff}} Set something || 0x0A || 0x0A || 0x0C || 1 || 2 * uint16_t || 0=?&lt;br&gt;1=?&lt;br&gt;2=? || 0=?&lt;br&gt;0x180=?&lt;br&gt;0x400=?&lt;br&gt;0x800=?<br /> |-<br /> | {{cellcolors|#ddddff}} Set something || 0x0B || 0x0B || 0x0D || 1 || uint32_t || colspan=&quot;2&quot; | 0=?&lt;br&gt;1=?(default?)<br /> |-<br /> | {{cellcolors|#77aaff}} ? || 0x0C || 0x0C || 0x0E || 31 || uint32_t || colspan=&quot;2&quot; {{cellcolors|#77aaff}} &lt;abbr title=&quot;SCUS-97501=0x3C458C, SCES-53642=0x3C4854, SLUS-21026=0x386864, SLUS-20916=0x121F64, SLUS-20437=0x11EDF0&quot;&gt;data&lt;/abbr&gt;<br /> |-<br /> | {{cellcolors|#ff9933}} &lt;abbr title=&quot;Defines a memory range where the emulator is more accurate calculating some instructions&quot;&gt;Improved Accuracy Range&lt;/abbr&gt; (unknown type) || 0x0D || 0x0D || 0x0F || 31 || 2 * uint32_t || {{cellcolors|#ff9933}} &lt;abbr title=&quot;Always smaller than the end_offset&quot;&gt;start offset&lt;/abbr&gt; || {{cellcolors|#ff9933}} &lt;abbr title=&quot;Always bigger than the start_offset&quot;&gt;end offset&lt;/abbr&gt;<br /> |-<br /> | {{cellcolors|#ff9933}} &lt;abbr title=&quot;Defines a memory range where the emulator is more accurate calculating some instructions&quot;&gt;Improved Accuracy Range&lt;/abbr&gt; (unknown type) || 0x0E || 0x0E || 0x10 || 31 || 2 * uint32_t || {{cellcolors|#ff9933}} &lt;abbr title=&quot;Always smaller than the end_offset&quot;&gt;start offset&lt;/abbr&gt; || {{cellcolors|#ff9933}} &lt;abbr title=&quot;Always bigger than the start_offset&quot;&gt;end offset&lt;/abbr&gt;<br /> |-<br /> | {{cellcolors|#77aaff}} ? || 0x0F || 0x0F || 0x11 || 31 || uint32_t || colspan=&quot;2&quot; {{cellcolors|#77aaff}} &lt;abbr title=&quot;SLUS-21172=0x208, SLUS-20878=0x140,0x368,0x570&quot;&gt;data&lt;/abbr&gt;<br /> |-<br /> | {{cellcolors|lightgreen}} ? || 0x10 || 0x10 || 0x12 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgreen;&quot; | ''Expanded Data List''<br /> |-<br /> | {{cellcolors|#77aaff}} ? || 0x11 || 0x11 || 0x13 || 1 || uint64_t || colspan=&quot;2&quot; {{cellcolors|#77aaff}} &lt;abbr title=&quot;SCUS-97429=0xF960, SLPM-66031=0x9BDC, SLPS-20131=0x1D394&quot;&gt;data&lt;br&gt;<br /> 0x9bdc=? (39900)&lt;br&gt;0xf960=? (63840)&lt;br&gt;0x1d394=? (119700)&lt;/abbr&gt;<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE&quot;&gt;Switch&lt;/abbr&gt; something || 0x12 || 0x12 || 0x14 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | {{cellcolors|#CA2691}} Set something (with bit flags) || 0x13 || 0x13 || 0x15 || 1 || uint32_t || colspan=&quot;2&quot; {{cellcolors|#CA2691}} 2=? (&lt;abbr title=&quot;only valid for gxemu and softemu, when used in netemu the result is the same than using value 4&quot;&gt;gxemu and softemu only&lt;/abbr&gt;)&lt;br&gt;0x14=? (&lt;abbr title=&quot;only valid for softemu, when used in netemu the result is the same than using value 4&quot;&gt;softemu only&lt;/abbr&gt;)&lt;br&gt;4=?<br /> |-<br /> | ? || 0x14 ? || 0x14 ? || {{cellcolors|#CC5555}} 0x16 || ? || colspan=&quot;3&quot; | ?<br /> |-<br /> | {{cellcolors|#ffff99}} Set something || 0x15 || 0x15 || 0x17 || 1 || uint8_t || colspan=&quot;2&quot; | 0=?&lt;br&gt;1=?<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE&quot;&gt;Switch&lt;/abbr&gt; something || 0x16 || 0x16 || {{cellcolors|#CC5555}} 0x18 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE&quot;&gt;Switch&lt;/abbr&gt; something || {{no}} || 0x17 || 0x19 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE&quot;&gt;Switch&lt;/abbr&gt; something || 0x17 || 0x18 || 0x1A || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE&quot;&gt;Switch&lt;/abbr&gt; something || 0x18 || 0x19 || 0x1B || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | {{cellcolors|#ffff99}} Set something || 0x19 ? || 0x1A ? || 0x1C || 1 || uint8_t || colspan=&quot;2&quot; | ?<br /> |-<br /> | {{cellcolors|#ffff99}} Set something || 0x1A || 0x1B || 0x1D || 1 || uint8_t || colspan=&quot;2&quot; | 2=?<br /> |-<br /> | {{cellcolors|#ffff99}} Set something || 0x1B || {{no}} || 0x1E || 1 || uint8_t || colspan=&quot;2&quot; | 3=?<br /> |-<br /> | {{cellcolors|#ddddff}} Set something || 0x1C || 0x1C || 0x1F || 1 || uint32_t || colspan=&quot;2&quot; | 200=?&lt;br&gt;1000=?(default)<br /> |-<br /> | {{cellcolors|#ddddff}} Set something || 0x1D || 0x1D || 0x20 || 1 || uint64_t || colspan=&quot;2&quot; | 10=?&lt;br&gt;60=?(default)&lt;br&gt;100=?&lt;br&gt;120=?&lt;br&gt;200=?&lt;br&gt;240=?<br /> |-<br /> | {{cellcolors|#ddddff}} Set something || 0x1E || 0x1E || 0x21 || 1 || uint32_t || colspan=&quot;2&quot; | 0=?&lt;br&gt;1=?&lt;br&gt;2=?<br /> |}<br /> &lt;/div&gt;<br /> &lt;/div&gt;<br /> &lt;div style=&quot;float:right; width:49%;&quot;&gt;<br /> &lt;div style=&quot;float:left;&quot;&gt;<br /> {| class=&quot;wikitable&quot; style=&quot;font-size:x-small;&quot;<br /> |-<br /> ! rowspan=&quot;2&quot; | Command Name !! colspan=&quot;3&quot; | Command ID !! rowspan=&quot;2&quot; | Max&lt;br&gt;Usage !! colspan=&quot;3&quot; | Command Data<br /> |-<br /> ! ps2_gxemu !! ps2_softemu !! ps2_netemu !! Length !! colspan=&quot;2&quot; | Valid Values<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE&quot;&gt;Switch&lt;/abbr&gt; something || 0x1F || 0x1F || 0x22 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced by something like: 'Enable buffer size 4k'&quot;&gt;Switch&lt;/abbr&gt; something || {{no}} || 0x20 || 0x23 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | &lt;abbr title=&quot;0x14E00 if enabled&quot;&gt;''Nothing''&lt;/abbr&gt;<br /> |-<br /> | {{cellcolors|#ddddff}} PS2 internal widescreen/Ratio setting? || 0x20 || 0x21 || 0x24 || 1 || uint64_t || colspan=&quot;2&quot; | 12000=?&lt;br&gt;48000=?<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE&quot;&gt;Switch&lt;/abbr&gt; something || 0x21 || 0x22 || {{cellcolors|#CC5555}} 0x25 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | {{cellcolors|#ff9933}} &lt;abbr title=&quot;Defines a memory range where the emulator is more accurate calculating some instructions&quot;&gt;Improved Accuracy Range&lt;/abbr&gt; (ADD instruction related) || 0x22 || 0x23 || 0x26 || 31 || 2 * uint32_t || {{cellcolors|#ff9933}} &lt;abbr title=&quot;Always smaller than the end_offset&quot;&gt;start offset&lt;/abbr&gt; || {{cellcolors|#ff9933}} &lt;abbr title=&quot;Always bigger than the start_offset&quot;&gt;end offset&lt;/abbr&gt;<br /> |-<br /> | {{cellcolors|#ff9933}} &lt;abbr title=&quot;Defines a memory range where the emulator is more accurate calculating some instructions&quot;&gt;Improved Accuracy Range&lt;/abbr&gt; (unknown type) || 0x23 || 0x24 || 0x27 || 31 || 2 * uint32_t || {{cellcolors|#ff9933}} &lt;abbr title=&quot;Always smaller than the end_offset&quot;&gt;start offset&lt;/abbr&gt; || {{cellcolors|#ff9933}} &lt;abbr title=&quot;Always bigger than the start_offset&quot;&gt;end offset&lt;/abbr&gt;<br /> |-<br /> | {{cellcolors|#ddddff}} Set something &lt;abbr title=&quot;PS2 MECHACON related&quot;&gt;(MECHA)&lt;/abbr&gt; || 0x24 ? || 0x25 ? || 0x28 || 1 || uint32_t || colspan=&quot;2&quot; | 0=?&lt;br&gt;1=?&lt;br&gt;2=?&lt;br&gt;3=?<br /> |-<br /> | {{cellcolors|#ddddff}} Set something &lt;abbr title=&quot;PS2 MECHACON related&quot;&gt;(MECHA)&lt;/abbr&gt; || 0x25 ? || 0x26 ? || 0x29 || 1 || 2 * uint32_t || ? || ?<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE&quot;&gt;Switch&lt;/abbr&gt; something || 0x26 ? || 0x27 || 0x2A || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE&quot;&gt;Switch&lt;/abbr&gt; something &lt;abbr title=&quot;PS2 MECHACON related&quot;&gt;(MECHA)&lt;/abbr&gt; || 0x27 ? || 0x28 || 0x2B || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | {{cellcolors|#ddddff}} Set something || 0x28 || 0x29 || 0x2C || 1 || uint32_t || colspan=&quot;2&quot; | 1=?<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE&quot;&gt;Switch&lt;/abbr&gt; something || 0x29 ? || 0x2A || {{cellcolors|#CC5555}} 0x2D || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | {{cellcolors|#ddddff}} Set something || 0x2A || 0x2B || 0x2E || 1 || uint32_t || colspan=&quot;2&quot; | 0x172=?<br /> |-<br /> | {{cellcolors|#ddddff}} Set something || 0x2B || {{no}} ? || 0x2F || 1 || uint32_t || colspan=&quot;2&quot; | 1=?<br /> |-<br /> | ? || {{no}} ? || {{no}} ? || {{cellcolors|#CC5555}} 0x30 || ? || ? || colspan=&quot;2&quot; | ?<br /> |-<br /> | ? || {{no}} ? || {{no}} ? || {{cellcolors|#CC5555}} 0x31 || ? || ? || colspan=&quot;2&quot; | ?<br /> |-<br /> | ? || {{no}} ? || {{no}} ? || {{cellcolors|#CC5555}} 0x32 || ? || ? || colspan=&quot;2&quot; | ?<br /> |-<br /> | ? || {{no}} ? || {{no}} ? || {{cellcolors|#CC5555}} 0x33 || ? || ? || colspan=&quot;2&quot; | ?<br /> |-<br /> | ? || {{no}} ? || {{no}} ? || {{cellcolors|#CC5555}} 0x34 || ? || ? || colspan=&quot;2&quot; | ?<br /> |-<br /> | Enable Force Flip Field || {{no}} || {{no}} || 0x35 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | ? || {{no}} ? || {{no}} ? || {{cellcolors|#CC5555}} 0x36 || ? || ? || colspan=&quot;2&quot; | ?<br /> |-<br /> | ? || {{no}} ? || {{no}} ? || {{cellcolors|#CC5555}} 0x37 || ? || ? || colspan=&quot;2&quot; | ?<br /> |-<br /> | ? || {{no}} ? || {{no}} ? || {{cellcolors|#CC5555}} 0x38 || ? || ? || colspan=&quot;2&quot; | ?<br /> |-<br /> | ? || {{no}} ? || {{no}} ? || {{cellcolors|#CC5555}} 0x39 || ? || ? || colspan=&quot;2&quot; | ?<br /> |-<br /> | ? || {{no}} ? || {{no}} ? || {{cellcolors|#CC5555}} 0x3A || ? || ? || colspan=&quot;2&quot; | ?<br /> |-<br /> | ? || {{no}} ? || {{no}} ? || {{cellcolors|#CC5555}} 0x3B || ? || ? || colspan=&quot;2&quot; | ?<br /> |-<br /> | ? || {{no}} ? || {{no}} ? || {{cellcolors|#CC5555}} 0x3C || ? || ? || colspan=&quot;2&quot; | ?<br /> |-<br /> | Config file revision || {{no}} || {{no}} || 0x3D || 1 || uint32_t || colspan=&quot;2&quot; | &gt;=15686<br /> |-<br /> | Disable something || {{no}} || {{no}} || 0x3E || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | {{cellcolors|#ddddff}} Set something || {{no}} || {{no}} || 0x3F || 1 || uint32_t || colspan=&quot;2&quot; | ?<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE&quot;&gt;Switch&lt;/abbr&gt; something || {{no}} || {{no}} || 0x40 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | Disable lwsync ? || {{no}} || {{no}} || 0x41 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | {{cellcolors|#ddddff}} Set something ? || {{no}} || {{no}} || 0x42 || 1 || uint32_t || colspan=&quot;2&quot; | ?<br /> |-<br /> | {{cellcolors|#ddddff}} Set something || {{no}} || {{no}} || 0x43 || 1 || uint32_t || colspan=&quot;2&quot; | 0=?(default)&lt;br&gt;1=?<br /> |-<br /> | Disable Smoothing filter || {{no}} || {{no}} || 0x44 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE&quot;&gt;Switch&lt;/abbr&gt; something || {{no}} || {{no}} || 0x45 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | Enable L2H Improvement || {{no}} || {{no}} || 0x46 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | Enable XOR CSR || {{no}} || {{no}} || 0x47 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | {{cellcolors|#ddddff}} Set VSYNC IPU &amp; Delay || {{no}} || {{no}} || 0x48 || 1 || 2 * uint32_t || 1=No IPU&lt;br&gt;2=IPU&lt;br&gt;3=Anytime || 20000=Conservative&lt;br&gt;100000=Normal&lt;br&gt;250000=Agressive&lt;br&gt;Any other<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced by something like: 'Enable buffer size 4k'&quot;&gt;Switch&lt;/abbr&gt; something || {{no}} || {{no}} || 0x49 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | &lt;abbr title=&quot;0xB,0,0 if enabled&quot;&gt;''Nothing''&lt;/abbr&gt;<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced by something like: 'Enable buffer size 4k'&quot;&gt;Switch&lt;/abbr&gt; something || {{no}} || {{no}} || 0x4A || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | &lt;abbr title=&quot;0x15100 if enabled&quot;&gt;''Nothing''&lt;/abbr&gt;<br /> |-<br /> | {{cellcolors|#ddddff}} Set something || {{no}} || {{no}} || 0x4B || 1 || 2 * uint32_t || ? || ?<br /> |-<br /> | {{cellcolors|#ddddff}} Set something || {{no}} || {{no}} || 0x4C || 1 || 2 * uint32_t || ? || ?<br /> |-<br /> | {{cellcolors|#ddddff}} Set something || {{no}} || {{no}} || 0x4D || 1 || uint32_t || colspan=&quot;2&quot; | ?<br /> |-<br /> | ? || {{no}} || {{no}} || 0x4E || 1 || || colspan=&quot;2&quot; | ?<br /> |-<br /> | ? || {{no}} || {{no}} || 0x4F || 1 || || colspan=&quot;2&quot; | ?<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE&quot;&gt;Switch&lt;/abbr&gt; something || {{no}} || {{no}} || 0x50 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |}<br /> &lt;/div&gt;<br /> &lt;/div&gt;<br /> &lt;/div&gt;<br /> &lt;br style=&quot;clear: both;&quot; /&gt;<br /> *Notes<br /> **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<br /> **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<br /> <br /> ===ps2_netemu cmd 0x01 function comparison===<br /> <br /> &lt;div&gt;<br /> &lt;div style=&quot;float:left; width:25%;&quot;&gt;<br /> {| class=&quot;wikitable&quot; style=&quot;font-size:xx-small;&quot;<br /> ! colspan=&quot;5&quot; | netemu 0x01 !! gxemu 0x00 !! softemu 0x00<br /> |-<br /> ! [[3.70_CEX|3.70]]~{{latest}} !! [[3.70_CEX|3.70]]~[[3.74_CEX|3.74]] !! [[4.00_CEX|4.00]]~[[4.01_CEX|4.01]] !! [[4.10_CEX|4.10]]~[[4.25_CEX|4.25]] !! [[4.78_CEX|4.78]]~[[4.82_CEX|4.82]] !! [[4.78_CEX|4.78]]~[[4.82_CEX|4.82]] !! [[3.72_CEX|3.72]]~[[4.01_CEX|4.01]]<br /> |-<br /> ! funct_id !! funct_offset !! funct_offset !! funct_offset !! funct_offset !! funct_offset !! funct_offset<br /> |-<br /> | 0x00 || 0x46720 || 0x42E00 || 0x42EB8 || 0x42F70 || 0x36B40 || 0x2FEF0<br /> |-<br /> | 0x01 || 0x42DB0 || 0x42EC4 || 0x42F7C || 0x43034 || 0x35FB0 || 0x31E38<br /> |-<br /> | 0x02 || 0x44394 || 0x4456C || 0x44560 || 0x447C0 || 0x34068 || 0x30220<br /> |-<br /> | 0x03 || 0x442B4 || 0x4448C || 0x44480 || 0x446E0 || 0x34144 || 0x302FC<br /> |-<br /> | 0x04 || 0x43100 || 0x43214 || 0x432CC || 0x43384 || 0x33F98 ? || 0x30150<br /> |-<br /> | 0x05 || 0x46A90 || 0x46DB4 || 0x47184 || 0x4745C || 0x36CF8 || 0x31D08<br /> |-<br /> | 0x06 || 0x46D64 || 0x46AE0 || 0x46934 || 0x46D20 || 0x34224 || 0x303DC<br /> |-<br /> | 0x07 || 0x47134 || 0x47154 || 0x47524 || 0x47C1C || 0x37850 || <br /> |-<br /> | 0x08 || 0x42E7C || 0x42F90 || 0x43048 || 0x43100 || 0x33DFC&lt;!--0x33E00 ? (old)--&gt; || 0x2FFB4<br /> |-<br /> | 0x09 || 0x42F54 || 0x43068 || 0x43120 || 0x431D8 || 0x36C04 || 0x31C14<br /> |-<br /> | 0x0A || 0x431C4 || 0x432D8 || 0x43390 || 0x43448 || 0x36EF0 || 0x31FCC<br /> |-<br /> | 0x0B || 0x4329C || 0x433B0 || 0x43468 || 0x43520 || 0x34354 || <br /> |-<br /> | 0x0C || 0x441BC || 0x44394 || 0x44388 || 0x445E8 || 0x34424 || 0x30518<br /> |}<br /> &lt;/div&gt;<br /> <br /> &lt;div style=&quot;float:left; width:25%;&quot;&gt;<br /> {| class=&quot;wikitable&quot; style=&quot;font-size:xx-small;&quot;<br /> ! colspan=&quot;5&quot; | netemu 0x01 !! gxemu 0x00 !! softemu 0x00<br /> |-<br /> ! [[3.70_CEX|3.70]]~{{latest}} !! [[3.70_CEX|3.70]]~[[3.74_CEX|3.74]] !! [[4.00_CEX|4.00]]~[[4.01_CEX|4.01]] !! [[4.10_CEX|4.10]]~[[4.25_CEX|4.25]] !! [[4.78_CEX|4.78]]~[[4.82_CEX|4.82]] !! [[4.78_CEX|4.78]]~[[4.82_CEX|4.82]] !! [[3.72_CEX|3.72]]~[[4.01_CEX|4.01]]<br /> |-<br /> ! funct_id !! funct_offset !! funct_offset !! funct_offset !! funct_offset !! funct_offset !! funct_offset<br /> |-<br /> | 0x0D || 0x440E0 || 0x442B8 || 0x442AC || 0x4450C || 0x34520 || <br /> |-<br /> | 0x0E || 0x44004 || 0x441DC || 0x441D0 || 0x44430 || 0x345FC || 0x306F0<br /> |-<br /> | 0x0F || 0x43E28 || 0x44000 || 0x43FF4 || 0x44254 || 0x365F0 || 0x31124<br /> |-<br /> | 0x10 || 0x43D44 || 0x43F1C || 0x43F10 || 0x44170 || 0x36510 || 0x31044<br /> |-<br /> | 0x11 || 0x43C64 || 0x43E3C || 0x43E30 || 0x4408C || 0x36430 || 0x30F64<br /> |-<br /> | 0x12 || 0x45CD4 || 0x45EAC || 0x46EA0 || 0x460FC || 0x34DD0&lt;!--0x366C4 ? (old)--&gt; || 0x311F8&lt;!--0x30C28 ? (old)--&gt;<br /> |-<br /> | 0x13 || 0x469C0 || 0x43474 || 0x46864 || 0x435E4 || 0x366C4 || 0x30C28<br /> |-<br /> | 0x14 || 0x4777C || 0x4779C || 0x478CC || 0x47FC4 || 0x34EDC || 0x31304<br /> |-<br /> | 0x15 || 0x455F0 || 0x457C8 || 0x457BC || 0x45A1C || 0x3795C || 0x327B4<br /> |-<br /> | 0x16 || 0x45164 || 0x4533C || 0x45330 || 0x45590 || 0x3521C || 0x31580<br /> |-<br /> | 0x17 || 0x468C8 || 0x469DC || 0x4676C || 0x46ADC || 0x347D0 || 0x308C4<br /> |-<br /> | 0x18 || 0x45B80 || 0x45D58 || 0x45D48 || 0x45FA8 || 0x35300&lt;!--0x373FC ? (old)--&gt; || 0x31664<br /> |-<br /> | 0x19 || 0x4706C || 0x46FC0 || 0x4745C || 0x47A88 || 0x36E28 || 0x31F04<br /> |-<br /> | 0x1A || 0x45844 || 0x45A1C || 0x45A0C || 0x45C6C || 0x37614 || 0x325B4<br /> |}<br /> &lt;/div&gt;<br /> <br /> &lt;div style=&quot;float:left; width:25%;&quot;&gt;<br /> {| class=&quot;wikitable&quot; style=&quot;font-size:xx-small;&quot;<br /> ! colspan=&quot;5&quot; | netemu 0x01 !! gxemu 0x00 !! softemu 0x00<br /> |-<br /> ! [[3.70_CEX|3.70]]~{{latest}} !! [[3.70_CEX|3.70]]~[[3.74_CEX|3.74]] !! [[4.00_CEX|4.00]]~[[4.01_CEX|4.01]] !! [[4.10_CEX|4.10]]~[[4.25_CEX|4.25]] !! [[4.78_CEX|4.78]]~[[4.82_CEX|4.82]] !! [[4.78_CEX|4.78]]~[[4.82_CEX|4.82]] !! [[3.72_CEX|3.72]]~[[4.01_CEX|4.01]]<br /> |-<br /> ! funct_id !! funct_offset !! funct_offset !! funct_offset !! funct_offset !! funct_offset !! funct_offset<br /> |-{{cellcolors|#ddddff}}<br /> | 0x1B || 0x45094 || 0x4526C || 0x45260 || 0x454C0 || 0x35434 || 0x31798<br /> |-{{cellcolors|#ddddff}}<br /> | 0x1C || 0x44FC4 || 0x4519C || 0x45190 || 0x453F0 || 0x354F8 || 0x30A88<br /> |-{{cellcolors|#bbbbff}}<br /> | 0x1D || 0x44EF4 || 0x450CC || 0x450C0 || 0x45320 || 0x355BC || <br /> |-{{cellcolors|#bbbbff}}<br /> | 0x1E || 0x44E24 || 0x44FFC || 0x44FF0 || 0x45250 || 0x35680 || <br /> |-{{cellcolors|#ddddff}}<br /> | 0x1F || 0x44D54 || 0x44F2C || 0x44F20 || 0x45180 || 0x35744 || <br /> |-{{cellcolors|#ddddff}}<br /> | 0x20 || 0x44C84 || 0x44E5C || 0x44E50 || 0x450B0 || 0x35808 || <br /> |-{{cellcolors|#bbbbff}}<br /> | 0x21 || 0x44BB4 || 0x44D8C || 0x44D80 || 0x44FE0 || 0x358CC || <br /> |-{{cellcolors|#bbbbff}}<br /> | 0x22 || 0x44AE4 || 0x44CBC || 0x44CB0 || 0x44F10 || 0x35990 || <br /> |-{{cellcolors|#ddddff}}<br /> | 0x23 || 0x44A14 || 0x44BEC || 0x44BE0 || 0x44E40 || 0x35A54 || <br /> |-{{cellcolors|#ddddff}}<br /> | 0x24 || 0x44944 || 0x44B1C || 0x44B10 || 0x44D70 || 0x35B18 || <br /> |-{{cellcolors|#bbbbff}}<br /> | 0x25 || 0x44874 || 0x44A4C || 0x44A40 || 0x44CA0 || 0x35BDC || <br /> |-{{cellcolors|#bbbbff}}<br /> | 0x26 || 0x447A4 || 0x4497C || 0x44970 || 0x44BD0 || 0x35CA0 || <br /> |-{{cellcolors|#ddddff}}<br /> | 0x27 || 0x446D4 || 0x448AC || 0x448A0 || 0x44B00 || 0x35D64 || <br /> |-{{cellcolors|#ddddff}}<br /> | 0x28 || 0x44604 || 0x447DC || 0x447D0 || 0x44A30 || 0x35E28 || <br /> |-{{cellcolors|#bbbbff}}<br /> | 0x29 || 0x44534 || 0x4470C || 0x44700 || 0x44960 || 0x35EEC || <br /> |-{{cellcolors|#bbbbff}}<br /> | 0x2A || 0x44464 || 0x4463C || 0x44630 || 0x44890 || 0x35158 || <br /> |}<br /> &lt;/div&gt;<br /> <br /> &lt;div style=&quot;float:left; width:25%;&quot;&gt;<br /> {| class=&quot;wikitable&quot; style=&quot;font-size:xx-small;&quot;<br /> ! colspan=&quot;5&quot; | netemu 0x01 !! gxemu 0x00 !! softemu 0x00<br /> |-<br /> ! [[3.70_CEX|3.70]]~{{latest}} !! [[3.70_CEX|3.70]]~[[3.74_CEX|3.74]] !! [[4.00_CEX|4.00]]~[[4.01_CEX|4.01]] !! [[4.10_CEX|4.10]]~[[4.25_CEX|4.25]] !! [[4.78_CEX|4.78]]~[[4.82_CEX|4.82]] !! [[4.78_CEX|4.78]]~[[4.82_CEX|4.82]] !! [[3.72_CEX|3.72]]~[[4.01_CEX|4.01]]<br /> |-<br /> ! funct_id !! funct_offset !! funct_offset !! funct_offset !! funct_offset !! funct_offset !! funct_offset<br /> |-<br /> | 0x2B || 0x467E4 || 0x463DC || 0x46688 || 0x4662C || 0x34994 || <br /> |-<br /> | 0x2C || 0x465D0 || 0x464B4 || 0x46D28 || 0x47114 || 0x36FC8 || <br /> |-<br /> | 0x2D || 0x47384 || 0x473A4 || 0x46BB0 || 0x46F9C || 0x3607C || <br /> |-<br /> | 0x2E || 0x47234 || 0x47254 || 0x46A38 || 0x46E24 || || <br /> |-<br /> | 0x2F || 0x45500 || 0x456D8 || 0x456CC || 0x4592C || 0x34A70 || <br /> |-<br /> | 0x30 || 0x4541C || 0x455F4 || 0x455E8 || 0x45848 || 0x34B48 || <br /> |-<br /> | 0x31 || 0x45338 || 0x45510 || 0x45504 || 0x45764 || 0x34C20 || <br /> |-<br /> | 0x32 || 0x45254 || 0x4542C || 0x45420 || 0x45680 || 0x34CF8 || <br /> |-<br /> | 0x33 || 0x46E74 || 0x46EB8 || 0x47288 || 0x47560 || 0x37714 || <br /> |-<br /> | 0x34 || {{cellcolors|#CC5555}} 0x00000 || {{cellcolors|#CC5555}} 0x00000 || {{cellcolors|#CC5555}} 0x00000 || {{cellcolors|#CC5555}} 0x00000 || || <br /> |-<br /> | 0x35 || 0x45DF0 || 0x45FC8 || 0x46274 || 0x46218 || || <br /> |-<br /> | 0x36 || 0x4336C || 0x43544 || 0x43538 || 0x436B4 || || <br /> |-<br /> | 0x37 || 0x474E0 || 0x47500 || 0x47630 || 0x47D28 || || <br /> |-<br /> | 0x38 || 0x46BA0 || 0x46BF0 || 0x46FC0 || 0x47298 || || <br /> |-<br /> | 0x39 || {{no}} || {{no}} || {{no}} || 0x47674 || || <br /> |-<br /> | 0x3A || {{no}} || {{no}} || {{no}} || 0x46BD4 || || <br /> |-<br /> | 0x3B || {{no}} || {{no}} || {{no}} || 0x43FAC || || <br /> |}<br /> &lt;/div&gt;<br /> &lt;/div&gt;<br /> &lt;br style=&quot;clear: both;&quot; /&gt;<br /> <br /> ====ps2_netemu cmd 0x01 funct_offsets_table====<br /> 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<br /> <br /> 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<br /> <br /> 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 func_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)<br /> <br /> <br /> *funct_offset_table location by ps2_netemu versions:<br /> **Table v1 (the table contains the same data)<br /> ***Firmware:370-371 offset:0x897ED8 length:0x1C8<br /> ***Firmware:372 offset:0x897ED8 length:0x1C8<br /> ***Firmware:373-374 offset:0x897ED8 length:0x1C8<br /> **Table v2 (the table contains the same data)<br /> ***Firmware:400-401 offset:0x8970E8 length:0x1C8<br /> **Table v3 (the table contains the same data)<br /> ***Firmware:410-411 offset:0x8971E8 length:0x1C8<br /> ***Firmware:420-423 offset:0x8972F8 length:0x1C8<br /> ***Firmware:425 offset:0x8972F8 length:0x1C8<br /> **Table v4<br /> ***Firmwares 4.30 up to 4.76 was not tested (if someone wants to add this info do it here)<br /> **Table vX (latest)<br /> ***Firmware:478-482 offset:0x8063f8 length:0x1E0<br /> <br /> ==Game CONFIG commands (notepad and worklog)==<br /> All info here related with commands needs to be moved to frontpage at some point<br /> <br /> ===ps2_netemu command 0x1===<br /> There are some additional internal patches using CONFIG cmd id 0x01, using subs not available in 0x3B list<br /> condition: 0xBBB5F800, 0x3B949C00, 0x42133A90<br /> setting: <br /> 0x18E1F0, sub_4670C (4.70)<br /> 0x348EC8, sub_44338 (4.70)<br /> <br /> in id0x01, function id 0x18 <br /> condition: [ 0x20183F04 (+200000000 base) ] == 0x0C060F2C<br /> setting:<br /> stores 0 in address 0x20183F04, 0x20183F34, 0x20183F3C - with 200000000 base<br /> 0x183F0C, sub_46334 (4.70)<br /> 0x183F3C, sub_45DA4 (4.70)<br /> 0x183D74, sub_47B50 (4.70)<br /> <br /> ===ps2_netemu command 0x5===<br /> This command seems to be disabled in netemu, but is used in gxemu with ID 0x4<br /> <br /> *There are several games that uses it in his config data hardcoded inside ps2_gxemu.self such:<br /> **SLES-51823 | 1 | cmd: 0x4 Hunter: The Reckoning Wayward<br /> **SLES-54135 | 1 | cmd: 0x4 Grand Theft Auto: Liberty City Stories<br /> **SLES-54136 | 1 | cmd: 0x4 Grand Theft Auto: Liberty City Stories<br /> **SLES-54622 | 1 | cmd: 0x4 Grand Theft Auto: Vice City Stories<br /> **SLES-54623 | 1 | cmd: 0x4 Grand Theft Auto: Vice City Stories<br /> **SLPM-65340 | 1 | cmd: 0x4 Shinseiki Evangelion: Ayanami Ikusei Keikaku with Asuka Hokan Keikaku<br /> **SLPM-66275 | 1 | cmd: 0x4 Onimusha : Dawn of Dreams<br /> **SLUS-20001 | 1 | cmd: 0x4 Tekken Tag Tournament<br /> **SLUS-21423 | 1 | cmd: 0x4 Grand Theft Auto: Liberty City Stories<br /> **SLUS-21590 | 1 | cmd: 0x4 Grand Theft Auto: Vice City Stories<br /> <br /> ===ps2_netemu command 0x12===<br /> <br /> ====type 1====<br /> Playground discussion, unsure about clrlslwi r11, r0, 16,3 result<br /> <br /> &lt;pre&gt;<br /> Syphon Filter The Omega Strain<br /> 298 00 00 00 00 <br /> 29C 00 00 00 00 <br /> 2A0 01 00&gt;02 00&lt; Type1, Count 2<br /> 2A4 31 00 99 18 <br /> 2A8 32 00 B6 18 <br /> <br /> <br /> type 1: (Syphon Filter The Omega Strain )<br /> *0x48 | ptr to 1st value *0x2A4 (0x15F)<br /> *0x50 | count of type values<br /> <br /> (0x18990031 &gt;&gt; 0xC) &amp; 0xFFFF0 = 0x18990<br /> (0x18B60032 &gt;&gt; 0xC) &amp; 0xFFFF0 = 0x18B60<br /> <br /> store value in [0x18990 + ??? ] <br /> <br /> seg017:0000000000198498 next_value: # CODE XREF: read_id0x12_type_1+120�j<br /> seg017:0000000000198498 lwz r0, 0(r10) # -&gt; 0x18990031<br /> seg017:000000000019849C addi r8, r8, 1 # counter<br /> seg017:00000000001984A0 ld r29, 0(r31)<br /> seg017:00000000001984A4 addi r10, r10, 4 # ptr to next value<br /> seg017:00000000001984A8 rlwinm r28, r0, 20,12,27 # r28 = (r0 &gt;&gt; 12) &amp; 0xFFFF0 = (0x18990031 &gt;&gt; 12) &amp; 0xFFFF0 = 0x18990<br /> seg017:00000000001984AC clrlslwi r11, r0, 16,3 # r11 = 0x0031 &lt;&lt; 3 = 0x188<br /> seg017:00000000001984B0 add r26, r28, r29 # r26 = 0x18990 + ??<br /> seg017:00000000001984B4 stw r11, 4(r26) # store 0x62000? or 0x188? in r26<br /> seg017:00000000001984B8 lwz r5, 0x50(r31) # count<br /> seg017:00000000001984BC cmplw cr6, r5, r8<br /> seg017:00000000001984C0 bgt cr6, next_value<br /> &lt;/pre&gt;<br /> <br /> ====type 2====<br /> <br /> Fix on Interpretation?<br /> <br /> &lt;pre&gt;<br /> Primal<br /> 298 00 00 00 04 <br /> 29C 00 00 00 00 <br /> 2A0 02 00&gt;03 00&lt; Type 2, Count 3<br /> 2A4 5F 01 00 00 <br /> 2A8 8D BD 6F 2C <br /> 2AC 67 03 00 00 <br /> 2B0 02 00&gt;03 00&lt; Type 2, Count 3<br /> 2B4 6B 01 00 00 <br /> 2B8 31 35 70 E9 <br /> 2BC 72 03 00 00 <br /> 2C0 03 00&gt;02 00&lt; Type 3, Count 2<br /> 2C4 60 9B 39 10 <br /> 2C8 18 9C 39 10 <br /> 2CC<br /> <br /> type 2:<br /> *0x20C | counter<br /> *0x210 | 1st value: 0x15F -&gt; only gets compared, if passed check 2nd value<br /> *0x214 | 2nd value: 0x2C6FBD8D -&gt; only gets compared, if passed use *0x218 + *0x21C<br /> *0x218 | 1 ( = count - 2)<br /> *0x21C | ptr to 3rd value *0x2AC (0x367)<br /> <br /> &lt;/pre&gt;<br /> <br /> ====type 3====<br /> <br /> &lt;pre&gt;<br /> Example Primal<br /> *0x11B4| counter<br /> *0x11B8| -1 -&gt; 0x399B60? <br /> *0x11BC| 0 -&gt; 0x399B60?<br /> *0x11C0| ptr to *0x2C4 values<br /> *0x11C4| count (2)<br /> <br /> r11 = r0 &amp; 0xFFFFFFF = 0x10399B60 &amp; 0xFFFFFFF = 0x399B60<br /> 0x10399C18 &amp; 0xFFFFFFF = 0x399C18<br /> <br /> r3 = r31 &gt;&gt; 28 = 0x10399B60 &gt;&gt; 0x1C = 1<br /> a check if 1,2<br /> &lt;/pre&gt;<br /> <br /> ====type 4====<br /> <br /> cmpwi cr7, r0, 4<br /> bne cr7, panic_dword_1967BC<br /> srwi r9, r6, 1 # r9 = r6 &gt;&gt; 1 = count &gt;&gt; 1<br /> addi r11, r4, 4<br /> stw r9, 0x1238(r31) save count&gt;&gt;1<br /> std r11, 0x1240(r31) save ptr to table values start<br /> ---big handler, different register settings?---<br /> <br /> ==XMB messages related with PS2 Emulation==<br /> {{Boxcode|content=&lt;syntaxhighlight lang=&quot;xml&quot;&gt;<br /> &lt;!-- From: explore_category_sysconf.rco\Text\English.xml --&gt;<br /> &lt;Text name=&quot;msg_ps_ps2_upconvert&quot;&gt;PS/PS2 - Upscaler&lt;/Text&gt;<br /> &lt;Text name=&quot;msg_ps_upconvert&quot;&gt;PS - Upscaler&lt;/Text&gt;<br /> <br /> &lt;Text name=&quot;msg_ps_ps2_smoothing&quot;&gt;PS/PS2 - Smoothing&lt;/Text&gt;<br /> &lt;Text name=&quot;msg_ps_smoothing&quot;&gt;PS - Smoothing&lt;/Text&gt;<br /> &lt;Text name=&quot;msg_ps_ps2_smoothing_explanation&quot;&gt;Reduces the roughness of the displayed image.&lt;/Text&gt;<br /> <br /> &lt;!-- From: game_ext_plugin.rco\Text\English.xml --&gt;<br /> &lt;Text name=&quot;msg_error_cannot_play_ps2disc_scee&quot;&gt;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.&lt;/Text&gt;<br /> &lt;Text name=&quot;msg_error_cannot_play_ps2disc_scea&quot;&gt;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.&lt;/Text&gt;<br /> &lt;Text name=&quot;msg_error_cannot_play_ps2disc_scej&quot;&gt;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.jp.playstation.com/ps3/status/ to check whether a specific PlayStation®2 format software title is compatible with the PS3™ system.&lt;/Text&gt;<br /> &lt;Text name=&quot;msg_error_cannot_play_ps2disc_scek&quot;&gt;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.playstation.co.kr/info/bc to check whether a specific PlayStation®2 format software title is compatible with the PS3™ system.&lt;/Text&gt;<br /> &lt;Text name=&quot;msg_error_cannot_play_ps2disc_sceasia&quot;&gt;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://asia.playstation.com/status to check whether a specific PlayStation®2 format software title is compatible with the PS3™ system.&lt;/Text&gt;<br /> <br /> &lt;Text name=&quot;msg_cannot_run_ps2_fromat_corretly_stop&quot;&gt;A problem has occurred. This PlayStation®2 format software was forced to quit.&lt;/Text&gt;<br /> <br /> &lt;!-- From: explore_plugin_full.rco\Text\English.xml --&gt;<br /> &lt;Text name=&quot;msg_setting_file_ps2&quot;&gt;Settings File (PlayStation®2)&lt;/Text&gt;<br /> &lt;Text name=&quot;msg_your_bb_navigator&quot;&gt;Your PlayStation®BB Navigator&lt;/Text&gt;<br /> &lt;Text name=&quot;msg_system_driver_ps1&quot;&gt;System Driver&lt;/Text&gt;<br /> &lt;Text name=&quot;msg_system_driver_ps2&quot;&gt;System Driver (PlayStation®2)&lt;/Text&gt;<br /> <br /> &lt;Text name=&quot;msg_error_cannot_play_ps2_format&quot;&gt;This model of the PS3™ system is not compatible with PlayStation®2 format software.&lt;/Text&gt;<br /> &lt;/syntaxhighlight&gt;}}<br /> <br /> ==Orphan info==<br /> This is misterious info that cant be unveilled<br /> <br /> ===ps2_netemu===<br /> &lt;pre&gt;<br /> seg017:00000000001355B4 ld r28, off_74BA20 # unk_933F80<br /> seg017:00000000001355B8 .using unk_933F80, r28<br /> seg017:00000000001355B8 lis r0, 0x4000 # 0x40000020<br /> seg017:00000000001355BC ori r0, r0, 0x20 # 0x40000020<br /> seg017:00000000001355C0 ld r9, off_934158 # unk_0<br /> seg017:00000000001355C4 and r9, r9, r0 # r9 = r9 &amp; 0x40000020<br /> seg017:00000000001355C8 cmpdi cr7, r9, 0<br /> seg017:00000000001355CC bne cr7, loc_1356E4<br /> seg017:00000000001355D0 ld r0, off_934158 # unk_0<br /> seg017:00000000001355D4 rlwinm r0, r0, 0,2,2 # r0 = r0 &amp; 0x20000000<br /> seg017:00000000001355D8 cmpdi cr7, r0, 0<br /> seg017:00000000001355DC bne cr7, image_selection<br /> seg017:00000000001355E0 ld r0, off_934158 # unk_0<br /> seg017:00000000001355E4 rlwinm r0, r0, 0,5,5 # r0 = r0 &amp; 0x4000000<br /> seg017:00000000001355E8 cmpdi cr7, r0, 0<br /> seg017:00000000001355EC beq cr7, static_path<br /> &lt;/pre&gt;<br /> <br /> === Cold Fear ===<br /> frequenlty, as if you pressed pause<br /> 0x46<br /> 0x19<br /> <br /> ==Obsolete experiments==<br /> This is kept here for historical purposes, but needs to be rewritten or deleted<br /> <br /> ===Getting Playstation 2 Software Emulator working===<br /> <br /> Method (on Firmware 3.55, without! Cobra-USB Dongle or Downgrade) for all consoles (fat &amp; slim).<br /> <br /> 1. Replace following files on your consoles /dev_flash/<br /> with the ones included in this archive<br /> p3dwik-ps2compatfiles.rar<br /> 2. Get into Factory Service Mode (FSM Tool/Dongle)<br /> 3. Insert your Original PS2 Game Disc<br /> 4. It will run.<br /> <br /> Note: Backups wont work. You're getting the compatibility of the 2.60 software emulator with all of its bugs.<br /> <br /> Download: [http://www.sendspace.com/file/bm9z9v p3dwik-ps2compatfiles.rar]&lt;br&gt;<br /> Possible compatibility Lists:<br /> * http://tortuga-cove.com/forums/viewtopic.php?f=57&amp;t=530<br /> * [[Talk:Emulation#PS2.2FPStwo]]<br /> <br /> === Enable Playstation 2 on non BC's===<br /> <br /> [[http://www.ps3devwiki.com/index.php?title=Emulation#Getting_Playstation_2_Software_Emulator_working Getting Playstation 2 Software Emulator working]]<br /> <br /> [[Image:Vsh_ps2_change1.png|left|thumb|400px|XMB Game Settings non BC/BC,patched]]&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;<br /> <br /> ==== Service Mode in relation to PS2 emulation tests ====<br /> * 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).<br /> <br /> * Service Mode also resets user presets like disc autoboot, so it needs to be disabled again if needed.<br /> <br /> * Any made Virtual Memory Cards previously will be removed and you will have no access to them, nor be able to create one.<br /> <br /> * 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)<br /> <br /> * As a workaround for above wireless controller issue, you can use an USB2PS2 converter and connect an old PS2 / Dualshock2 controller.<br /> <br /> ==== tests on 2000 series PS3 Slim ====<br /> Testplatform:<br /> SKU: 2000 series slim (minver 2.70)<br /> Firmware: 3.55 'Rogero 3.4' mmap114+peek/poke but no SS-patches<br /> Memorycards: MC:PS1 in slot1, MC:PS2 in slot2.<br /> Mainscreen: Component+Composite 576i+P/720i+P//1080i<br /> Sec.screen: Composite 576i<br /> 48 titles tested (PAL disc on PAL SKU) // [[User:Euss|Euss]]<br /> <br /> * Without Factory Service Mode : gives &quot;Incompatible Data&quot; when inserting PS2 disc<br /> <br /> * 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)<br /> <br /> * 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)<br /> <br /> * 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). <br /> <br /> * 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).<br /> <br /> 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].<br /> Perhaps hardswapping out all the dev_flash ps2 emu files for the same software only emulator would circumvent the 'incompatible title' message.<br /> <br /> <br /> ==== Second test: FW 2.70/3.15 ==== <br /> Silent Hill : gives disk icon &quot;unsupported data&quot; and error message like &quot;This model of the PS3 system is not compatible with Playstation2 format software&quot; 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 &quot;This title is not currently compatible with the PS3 system&quot;.<br /> <br /> ==== Third test: FW 3.55 OtherOS++22GB (with SS Patches) ==== <br /> Silent Hill : gives disk icon &quot;unsupported data&quot; and error message like &quot;This model of the PS3 system is not compatible with Playstation2 format software&quot; 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.<br /> <br /> <br /> ===== considering titles to test =====<br /> * http://en.wikipedia.org/wiki/List_of_PlayStation_3_backward_compatible_PlayStation_2_and_PlayStation_games<br /> * http://tortuga-cove.com/forums/viewtopic.php?f=57&amp;t=530<br /> * http://us.playstation.com/support/compatiblestatus/index.htm<br /> <br /> These have no listed issues:<br /> * Half-Life<br /> * Hulk<br /> * Medal of Honor: Frontline<br /> These have minor issues listed (but should still play):<br /> * Silent Hill 3<br /> * Second Sight<br /> <br /> ==== tests on CECHC04 (partial BC) ====<br /> 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 &quot;The system was not turned off properly&quot; 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 &quot;An error occurred during the start operation (80028F17),&quot; PlayStation 2 disc Boot Error, also related to PS1 PSN games.'')<br /> <br /> 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 &quot;The system was not turned off properly&quot; error.<br /> <br /> no disc icon:<br /> * Medal of Honor: Rising Sun<br /> * Half-Life<br /> <br /> disc icon:<br /> * Hulk<br /> * Second Sight<br /> * Silent Hill 3<br /> <br /> ==== Renaming ps2_netemu to ps2_emu ====<br /> <br /> 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.<br /> <br /> 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)<br /> <br /> <br /> ==== PS2 on non BC HW - Tests ====<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! rowspan=&quot;2&quot; | Title !! rowspan=&quot;2&quot; | DiscID !! colspan=&quot;2&quot; | Disc Icon !! colspan=&quot;3&quot; | ps2_softemu !! rowspan=&quot;2&quot; | Remarks<br /> |-<br /> ! &lt;abbr title=&quot;Normal Mode&quot;&gt;Normal&lt;/abbr&gt; !! &lt;abbr title=&quot;Factory Service Mode&quot;&gt;FSM&lt;/abbr&gt; !! 2.50 !! 2.60 !! 2.70<br /> |-<br /> | Action Replay MAX || SCED54409 || || {{ps2cd}} || || || {{no}} || <br /> |-<br /> | Battlefield 2 Modern Combat || SLES53729 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Constantine || SLES52872 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Demo Disc 3-073-543-11 || PBPX95514 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | EyeToy Play || SCES51513 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | EyeToy Play 2 || SCES52748 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | EyeToy Play 3 || SLES53315 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Freedom Fighters || SLES51467 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Ghost in the Shell Standalone Complex || SLES53020 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | GoldenEye Rogue Agent || SLES52974 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Guerrilla Strike || SLES53344 || || {{ps2cd}} || || || {{no}} || <br /> |-<br /> | Gunfighter 2 Revenge of Jessy James || SLES51289 || || {{ps2cd}} || || || {{no}} || <br /> |-<br /> | Half Life || SLES50504 || || {{ps2cd}} || || || {{no}} || <br /> |-<br /> | HDLoader || - || || {{ps2cd}} || || || {{no}} || <br /> |-<br /> | International Golf Pro || SLES52349 || || {{ps2cd}} || || || {{no}} || <br /> |-<br /> | Jet Ion GP || SLES50544 || || {{ps2cd}} || || || {{no}} || <br /> |-<br /> | killer7 || SLES53366 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Kya Dark Lineage || SLES51473 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | London Racer Destruction Madness || SLES53654 || || {{ps2cd}} || || || {{no}} || <br /> |-<br /> | London Racer Police Madness || SLES53536 || || {{ps2cd}} || || || {{no}} || <br /> |-<br /> | Manhunt || SLES52023 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Max Play - 10 Classic Retro Games || - || || {{ps2cd}} || || || {{no}} || <br /> |-<br /> | Medal of Honor European Assault || SLES53332 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Medal of Honor Frontline || SLES50684 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Medal of Honor Rising Sun || SLES51873 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Medal of Honor Vanguard || SLES54683 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Men in Black II Alien Escape || SLES50789 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Network Access Disc || SCES51578 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | OPM #66 || SCED54409 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | OPM #67 || SCED54410 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | OPM #68 || SCED54412 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | OPM #69 || SCED54413 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | OPM #70 || SCED54415 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | OPM #72 || SCED54417 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | OPM #73 || SCED54418 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | OPM #74 || SCED55113 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | OPM #75 || SCED55114 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | OPM #77 || SCED55117 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | OPM #79 || SCED55119 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Perfect Ace Pro Tournament Tennis || SLES51735 || || {{ps2cd}} || || || {{no}} || <br /> |-<br /> | Prisoner of War || SLES50397 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Ratchet &amp; Clank 3 || SCES52456 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Red Baron || SLES53434 || || {{ps2cd}} || || || {{no}} || <br /> |-<br /> | SAS Anti-terror Force || SLES53435 || || {{ps2cd}} || || || {{no}} || <br /> |-<br /> | Second Sight || SLES52670 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Seek and Destroy || SLES51603 || || {{ps2cd}} || || || {{no}} || <br /> |-<br /> | Silent Hill 3 || SLES51434 || || {{ps2dvd}} || {{yes}} || || {{no}} || <br /> |-<br /> | Socom US Navy SEALs || SCES50928 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Socom II US Navy SEALs || SCES51904 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Socom 3 US Navy SEALs || SCES53300 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Socom US Navy SEALs Combined Assault || SCES54477 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Swap Magic 3 plus (PAL version 3.6) CD || SCED54409 || || {{no}} || - || || {{no}} || <br /> |-<br /> | Swap Magic 3 plus (PAL version 3.6) DVD || SCED54409 || || {{ps2dvd}} || {{yes}} || || {{no}} || <br /> |-<br /> | Tenchu Wrath of Heaven || SLES50679 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Terminator 3 Rise of the Machines || SLES52152 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | The Great Escape || SLES51315 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | The Hulk || SLES51508 || || {{ps2dvd}} || {{yes}} || || {{no}} || <br /> |-<br /> | The Matrix Path of Neo || SLES53799 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | The Plan || SLES53965 || || {{ps2cd}} || || || {{no}} || <br /> |-<br /> | Time Crisis 3 || SCES51844 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Tom Clancy's Ghost Recon || SLES51181 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Tom Clancy's Rainbow Six 3 || SLES52288 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Tom Clancy's Splinter Cell || SLES51466 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Tom Clancy's Splinter Cell Chaos Theory || SLES53007 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Tom Clancy's Splinter Cell Pandora Tomorrow || SLES52149 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Trapt || SLES53824 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> |}<br /> <br /> ==== Tests on NON-BC CECHP01/NTSC-U (Firmware 2.60/boot_ps2.pkg) ====<br /> &lt;br&gt;<br /> &lt;br&gt;Amplitude - Intro prompts are completely glitched, unresponsive to controller input.<br /> &lt;br&gt;Backyard Football 2007 - Graphical glitches during menu and gameplay. Frame rate is okay.<br /> &lt;br&gt;Boogie - Intro FMV runs very slow, fails to recognize input after the title screen.<br /> &lt;br&gt;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.<br /> <br /> -- Moose<br /> <br /> Comparative listings: http://tortuga-cove.com/forums/viewtopic.php?f=57&amp;t=530<br /> <br /> ==Game compatibility lists==<br /> 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<br /> <br /> The info has been moved to: [[Talk:PS2 Emulation/Old PS2 Game Compatibility Lists]]</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=Talk:PS2_Emulation&diff=55879 Talk:PS2 Emulation 2020-04-01T22:34:38Z <p>Mysis: /* PS2 Emulators Config Commands */</p> <hr /> <div>==Table Tests==<br /> <br /> ===PS2 Emulator Types and Revisions===<br /> <br /> &lt;div&gt;<br /> &lt;div style=&quot;float:top; text-align:center;&quot;&gt;'''PS2 Emulators Types and Revisions'''&lt;/div&gt;<br /> &lt;div style=&quot;float:left; width:28%;&quot;&gt;<br /> {| class=&quot;wikitable&quot; style=&quot;font-size:xx-small;&quot;<br /> |+ ps2_emu.elf (decrypted)<br /> ! Firmware !! Bytes !! MD5 !! Timestamp !! &lt;abbr title=&quot;Revision&quot;&gt;Rev&lt;/abbr&gt; !! &lt;abbr title=&quot;Maximun number of supported commands&quot;&gt;Comm&lt;/abbr&gt;<br /> |-<br /> ! [[1.00_AV|1.00 AV]]<br /> | 8 258 328 || 19DC714F1109FF772BEF5B00C4AF2CF7 || 06/10/04/12:15 || ? || ?<br /> |-<br /> ! [[1.02_CEX|1.02]]<br /> | 8.258.504 || FF9C1C465DF6F501E418602A488CBD40 || 06/10/21/00:01 || ? || ?<br /> |-<br /> ! [[1.10_CEX|1.10]]<br /> | 8.254.568 || 72EFF1FB3E9A175253687634B698CC91 || 06/11/09/06:08 || ? || ?<br /> |-<br /> ! [[1.11_CEX|1.11]]<br /> | 8.255.192 || 98BCC06ACA07971DFE57A126000B6DEE || 06/11/21/17:54 || ? || ?<br /> |-<br /> ! [[1.30_CEX|1.30]]<br /> | 8.787.800 || 3F1E943139329E8AD5461FA43DB4DD0E || 06/12/05/05:33 || rowspan=&quot;2&quot; | same || rowspan=&quot;2&quot; | ?<br /> |-<br /> ! [[1.30_AV|1.30 AV]]<br /> | 8.787.800 || F2CE2D8CF41FF38E586AE7A91A13980C || 06/12/05/07:15<br /> |-<br /> ! [[1.31_CEX|1.31]]<br /> | 8.790.440 || CF13D31F202DA3C55009C06B6A2B27A0 || 06/12/12/18:47 || ? || ?<br /> |-<br /> ! [[1.32_CEX|1.32]]<br /> | 8.794.664 || 6DD631EEDE321AC7F59C85BC6AC0DCA9 || 06/12/18/05:54 || ? || ?<br /> |-<br /> ! [[1.50_CEX|1.50]]<br /> | 8.805.912 || 81B38EE824E460385B44FADE78CAA5DC || 07/01/18/22:52 || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ? || ?<br /> |-<br /> ! [[1.90_CEX|1.90]]<br /> | 5.190.280 || 88B26FDC910B8633613BC366D39F439D || 07/07/21/06:44 || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ? || ?<br /> |-{{cellcolors|#ddddff}}<br /> ! [[3.66_CEX|3.66]]<br /> | rowspan=&quot;3&quot; | 5.267.112 || BE20230D091F5C8AB8364607D49A6992 || 11/06/16/03:51 || rowspan=&quot;3&quot; | same || rowspan=&quot;3&quot; | ?<br /> |-{{cellcolors|#ddddff}}<br /> ! ~<br /> | colspan=&quot;2&quot; style=&quot;text-align:center; background-color:#ddddff;&quot; | ''Any''<br /> |-{{cellcolors|#ddddff}}<br /> ! [[3.74_CEX|3.74]]<br /> | 5B2CA12EE08298094177667C681BC75F || 11/10/25/00:30<br /> |-{{cellcolors|#bbbbff}}<br /> ! [[4.00_CEX|4.00]]<br /> | rowspan=&quot;2&quot; | 5.272.152 || 08516640BE636F3E633C0416F09EF941 || 11/11/22/03:10 || rowspan=&quot;2&quot; | same || rowspan=&quot;2&quot; | ?<br /> |-{{cellcolors|#bbbbff}}<br /> ! [[4.01_CEX|4.01]]<br /> | 61ECD51036247547736274EEB52FA4C4 || 11/12/23/01:02<br /> |-{{cellcolors|#ddddff}}<br /> ! [[4.10_CEX|4.10]]<br /> | rowspan=&quot;2&quot; | 5.272.008 || 88CFD465D2F412C075C69531278BB3A9 || 12/02/05/23:08 || rowspan=&quot;2&quot; | same || rowspan=&quot;2&quot; | ?<br /> |-{{cellcolors|#ddddff}}<br /> ! [[4.11_CEX|4.11]]<br /> | 2B45F72675B844C08E1735059F9826E3 || 12/02/11/07:05<br /> |-{{cellcolors|#bbbbff}}<br /> ! [[4.20_CEX|4.20]]<br /> | rowspan=&quot;2&quot; | 5.272.264 || 23D3F9909EBA3F1AB0D757850C5D6809 || 12/06/15/02:01 || rowspan=&quot;2&quot; | same || rowspan=&quot;2&quot; | ?<br /> |-{{cellcolors|#bbbbff}}<br /> ! [[4.21_CEX|4.21]]<br /> | 110F0D01B39193F1A2031BBC7ADBBC2F || 12/06/30/01:06<br /> |-<br /> ! [[4.23_SEX|4.23 S]]<br /> | 5.271.912 || 783201F2541117E545B8E01B3A0B1955 || 12/07/31/00:17 || ? || ?<br /> |-<br /> ! [[4.25_CEX|4.25]]<br /> | 5.272.264 || C895EAA3F79BA2040D6C828A5B811139 || 12/09/07/06:55 || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ? || ?<br /> |-{{cellcolors|#ddddff}}<br /> ! [[4.78_CEX|4.78]]<br /> | rowspan=&quot;3&quot; | 5.274.984 || ABC9228FCEA0E779E3157CA546A1FD02 || 15/12/17/01:14 || rowspan=&quot;3&quot; | same || rowspan=&quot;3&quot; | ?<br /> |-{{cellcolors|#ddddff}}<br /> ! ~<br /> | colspan=&quot;2&quot; style=&quot;text-align:center; background-color:#ddddff;&quot; | ''Any''<br /> |-{{cellcolors|#ddddff}}<br /> ! [[4.82_CEX|4.82]]<br /> | FAA3EAE26B3311DE78C5FB5788CFEC11 || 17/08/24/15:38<br /> |}<br /> &lt;span style=&quot;font-size:small&quot;&gt;<br /> {{widedot}}'''Decrypted (elf)''': changes &lt;abbr title=&quot;when comparing two decrypted files of the same revision from different firmwares the only difference is the build label&quot;&gt;every firmware version&lt;/abbr&gt;&lt;br&gt;<br /> {{widedot}}'''&lt;abbr title=&quot;0x20 bytes&quot;&gt;Build label&lt;/abbr&gt;''': yes, with timestamp, search for '''ps2ver:'''&lt;br&gt;<br /> {{widedot}}'''Target Firmware''': no/unknown&lt;br&gt;<br /> {{widedot}}'''Revision''': unknown<br /> &lt;/span&gt;<br /> &lt;/div&gt;<br /> &lt;div style=&quot;float:left; width:24%;&quot;&gt;<br /> {| class=&quot;wikitable&quot; style=&quot;font-size:xx-small;&quot;<br /> |+ ps2_gxemu.elf (decrypted)<br /> ! Firmware !! Bytes !! MD5 !! &lt;abbr title=&quot;Revision&quot;&gt;Rev&lt;/abbr&gt; !! &lt;abbr title=&quot;Maximun number of supported commands&quot;&gt;Comm&lt;/abbr&gt;<br /> |-<br /> ! [[1.00_CEX|1.00]] ~ [[1.32_CEX|1.32]]<br /> | colspan=&quot;4&quot; {{no}}<br /> |-<br /> ! [[1.50_CEX|1.50]]<br /> | 6.106.040 || BACC208C8A793F82D71F85B02DD2D318 || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! [[1.90_CEX|1.90]]<br /> | 6.802.720 || B9E2CC8D72779650D9B500B75AE552EB || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! [[3.66_CEX|3.66]] ~ [[3.74_CEX|3.74]]<br /> | 6.867.024 || E04FA0FE63A968C53AE366B3AAD0141A || ? || ?<br /> |-<br /> ! [[4.00_CEX|4.00]] ~ [[4.11_CEX|4.11]]<br /> | 6.871.848 || D5E97019132848203970213FF96F2AAB || ? || ?<br /> |-<br /> ! [[4.20_CEX|4.20]] ~ [[4.25_CEX|4.25]]<br /> | 6.872.128 || 678F16283CAA8CFBC03A5FBCB6ABA41E || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! [[4.78_CEX|4.78]] ~ [[4.82_CEX|4.82]]<br /> | 6.874.848 || C7681420A7B3A2A6E3BF89F4A12A3DD6 || ? || 0x2B ?<br /> |}<br /> &lt;span style=&quot;font-size:small&quot;&gt;<br /> {{widedot}}'''Decrypted (elf)''': changes &lt;abbr title=&quot;when comparing two decrypted files of the same revision from different firmwares there are no differences&quot;&gt;every emu revision&lt;/abbr&gt;&lt;br&gt;<br /> {{widedot}}'''&lt;abbr title=&quot;0x20 bytes&quot;&gt;Build label&lt;/abbr&gt;''': no/unknown&lt;br&gt;<br /> {{widedot}}'''Target Firmware''': no/unknown&lt;br&gt;<br /> {{widedot}}'''Revision''': unknown<br /> &lt;/span&gt;<br /> &lt;/div&gt;&lt;div style=&quot;float:left; width:24%;&quot;&gt;<br /> {| class=&quot;wikitable&quot; style=&quot;font-size:xx-small;&quot;<br /> |+ ps2_softemu.elf (decrypted)<br /> ! Firmware !! Bytes !! MD5 !! &lt;abbr title=&quot;Revision&quot;&gt;Rev&lt;/abbr&gt; !! &lt;abbr title=&quot;Maximun number of supported commands&quot;&gt;Comm&lt;/abbr&gt;<br /> |-<br /> ! [[1.00_CEX|1.00]] ~ [[1.82_CEX|1.82]]<br /> | colspan=&quot;4&quot; {{no}}<br /> |-<br /> ! [[1.90_CEX|1.90]] ~ [[1.94_CEX|1.94]]<br /> | 6.142.080 || 812330515D01291488315BBE7E0F339E || 11065 || ?<br /> |-<br /> ! [[1.97_CEX|1.97]]<br /> | ? || ? || ? || ?<br /> |-<br /> ! [[2.00_CEX|2.00]] ~ [[2.10_CEX|2.10]]<br /> | ? || ? || 11830 || ?<br /> |-<br /> ! [[2.16_CEX|2.16]]<br /> | ? || ? || ? || ?<br /> |-<br /> ! ? ~ ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! [[3.10_CEX|3.10]]<br /> | ? || ? || ? || ?<br /> |-<br /> ! [[3.15_CEX|3.15]]<br /> | ? || ? || 12840 || ?<br /> |-<br /> ! [[3.16_CEX|3.16]]<br /> | ? || ? || ? || ?<br /> |-<br /> ! ? ~ ?<br /> | ? || ? || ? || ?<br /> |-<br /> ! [[3.40_CEX|3.40]]<br /> | ? || ? || ? || ?<br /> |-<br /> ! [[3.41-1_CEX|3.41]] ~ [[3.65_CEX|3.65]]<br /> | ? || ? || 13474 || ?<br /> |-<br /> ! [[3.66_CEX|3.66]] ~ [[3.71_CEX|3.71]]<br /> | 6.147.120 || 513B9160AD8C199CAEFC82C1B7D9D794 || 15435 || ?<br /> |-<br /> ! [[3.72_CEX|3.72]] ~ [[4.01_CEX|4.01]]<br /> | 6.146.992 || 1232D3EEB48F301CBB61D76EB3046111 || 15529 || ?<br /> |-<br /> ! [[4.10_CEX|4.10]] ~ {{latest}}<br /> | colspan=&quot;4&quot; {{no}}<br /> |}<br /> &lt;span style=&quot;font-size:small&quot;&gt;<br /> {{widedot}}'''Decrypted (elf)''': changes &lt;abbr title=&quot;when comparing two decrypted files of the same revision from different firmwares there are no differences&quot;&gt;every emu revision&lt;/abbr&gt;&lt;br&gt;<br /> {{widedot}}'''&lt;abbr title=&quot;0x20 bytes&quot;&gt;Build label&lt;/abbr&gt;''': no/unknown&lt;br&gt;<br /> {{widedot}}'''Target Firmware''': no/unknown&lt;br&gt;<br /> {{widedot}}'''Revision''': unknown<br /> &lt;/span&gt;<br /> &lt;/div&gt;&lt;div style=&quot;float:left; width:24%;&quot;&gt;<br /> {| class=&quot;wikitable&quot; style=&quot;font-size:xx-small;&quot;<br /> |+ ps2_netemu.elf (decrypted)<br /> ! Firmware !! Bytes !! MD5 !! &lt;abbr title=&quot;Revision&quot;&gt;Rev&lt;/abbr&gt; !! &lt;abbr title=&quot;Maximun number of supported commands&quot;&gt;Comm&lt;/abbr&gt;<br /> |-<br /> ! [[1.00_CEX|1.00]] ~ [[3.66_CEX|3.66]]<br /> | colspan=&quot;4&quot; {{no}}<br /> |-<br /> ! [[3.70_CEX|3.70]] ~ [[3.71_CEX|3.71]]<br /> | 11.036.504 || 0D021D18CC63DDBDA530A93C41ABF865 || &lt;abbr title=&quot;build r15686-gif-xdr-user2-usb3&quot;&gt;15686&lt;/abbr&gt; || rowspan=&quot;5&quot; | 0x41<br /> |-<br /> ! [[3.72_CEX|3.72]]<br /> | 11.036.504 || 38EABD7E5F998BC04922CA3B70211208 || &lt;abbr title=&quot;build r15842-target370&quot;&gt;15842&lt;/abbr&gt;<br /> |-<br /> ! [[3.73_CEX|3.73]] ~ [[3.74_CEX|3.74]]<br /> | 11.036.504 || F21110A93BBEA416749283E6BF3D3C6B || &lt;abbr title=&quot;build r15936-target370&quot;&gt;15936&lt;/abbr&gt;<br /> |-<br /> ! [[4.00_CEX|4.00]] ~ [[4.01_CEX|4.01]]<br /> | 11.033.048 || F770442DFA626282B01FEBE3DDFFC477 || &lt;abbr title=&quot;build r16195-target400&quot;&gt;16195&lt;/abbr&gt;<br /> |-<br /> ! [[4.10_CEX|4.10]] ~ [[4.11_CEX|4.11]]<br /> | 11.033.216 || 8F0885BCC80A3617E654BB6151F4F718 || &lt;abbr title=&quot;build r16361-target410&quot;&gt;16361&lt;/abbr&gt;<br /> |-<br /> ! [[4.20_CEX|4.20]] ~ [[4.23_SEX|4.23]]<br /> | 11.033.728 || 8EB5492E453C50B6D728E7999A57A689 || &lt;abbr title=&quot;build r16604-target420&quot;&gt;16604&lt;/abbr&gt; || rowspan=&quot;2&quot; | 0x43<br /> |-<br /> ! [[4.25_CEX|4.25]] ~ [[4.26_SEX|4.26]]<br /> | 11.033.728 || E38059300E31432A62967770C3E99EF6 || &lt;abbr title=&quot;build r16740-target420&quot;&gt;16740&lt;/abbr&gt;<br /> |-<br /> ! [[4.30_CEX|4.30]] ~ [[4.31_CEX|4.31]]<br /> | ? || ? || 16808 || 0x45<br /> |-<br /> ! [[4.40_CEX|4.40]] ~ [[4.41_CEX|4.41]]<br /> | ? || ? || 16916 || 0x46<br /> |-<br /> ! [[4.45_CEX|4.45]] ~ [[4.46_CEX|4.46]]<br /> | ? || ? || 17041 || 0x48<br /> |-<br /> ! [[4.50_CEX|4.50]]<br /> | ? || ? || 17179 || 0x4A<br /> |-<br /> ! [[4.55_CEX|4.55]]<br /> | ? || ? || 17277 || rowspan=&quot;2&quot; | 0x4D<br /> |- <br /> ! [[4.60_CEX|4.60]] ~ [[4.76_CEX|4.76]]<br /> | ? || ? || 17314<br /> |- <br /> ! [[4.78_CEX|4.78]] ~ [[4.82_CEX|4.82]]<br /> | 10.442.536 || 8B2DBD1AAD22A0EDCF9C867A1A1FB94D || &lt;abbr title=&quot;build r17495-main-rel&quot;&gt;17495&lt;/abbr&gt; || 0x50<br /> |}<br /> &lt;span style=&quot;font-size:small&quot;&gt;<br /> {{widedot}}'''Decrypted (elf)''': changes &lt;abbr title=&quot;when comparing two decrypted files of the same revision from different firmwares there are no differences&quot;&gt;every emu revision&lt;/abbr&gt;&lt;br&gt;<br /> {{widedot}}'''&lt;abbr title=&quot;0x20 bytes&quot;&gt;Build label&lt;/abbr&gt;''': yes, without timestamp, search for '''build r'''&lt;br&gt;<br /> {{widedot}}'''Target Firmware''': included in the build label&lt;br&gt;<br /> {{widedot}}'''Revision''': yes, &lt;abbr title=&quot;the location can be seen by comparing 4.23 (value 0x40DC) with 4.25 (value 0x4164) at offset 0x3E4BA in both&quot;&gt;'''one''' time&lt;/abbr&gt;, and included in the build label<br /> &lt;/span&gt;<br /> &lt;/div&gt;<br /> &lt;/div&gt;<br /> &lt;br style=&quot;clear: both;&quot; /&gt;<br /> <br /> ===PS2 Emulators Config Commands===<br /> &lt;div&gt;<br /> &lt;div style=&quot;float:top; text-align:center;&quot;&gt;'''PS2 Emulators Config Commands'''&lt;/div&gt;<br /> &lt;div style=&quot;float:left; width:49%;&quot;&gt;<br /> &lt;div style=&quot;float:right;&quot;&gt;<br /> {| class=&quot;wikitable&quot; style=&quot;font-size:x-small;&quot;<br /> |-<br /> ! rowspan=&quot;2&quot; | Command Name !! colspan=&quot;3&quot; | Command ID !! rowspan=&quot;2&quot; | Max&lt;br&gt;Usage !! colspan=&quot;3&quot; | Command Data<br /> |-<br /> ! ps2_gxemu !! ps2_softemu !! ps2_netemu !! Length !! colspan=&quot;2&quot; | Valid Values<br /> |-<br /> | Config terminator or TitleID enforcer || {{no}} || {{no}} || 0x00 || 1 || Nothing or 0xA bytes || colspan=&quot;2&quot; | TitleID<br /> |-<br /> | {{cellcolors|#555555|#ffffff}} Hook EE memory offset with emu function || 0x00 || 0x00 || 0x01 || 3 ? || 2 * uint32_t || {{cellcolors|#555555|#ffffff}} EE_memory_offset || {{cellcolors|#555555|#ffffff}} emu_function<br /> |-<br /> | {{cellcolors|#ddddff}} Set something || 0x01 || 0x01 || 0x02 || 1 || uint32_t || colspan=&quot;2&quot; | 1000=?&lt;br&gt;3000=?&lt;br&gt;6000=?<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE&quot;&gt;Switch&lt;/abbr&gt; something || 0x02 || 0x02 || 0x03 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | {{cellcolors|#ddddff}} Set something || 0x03 || 0x03 || 0x04 || 1 || uint32_t || colspan=&quot;3&quot; | 8=?&lt;br&gt;0x10=?<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE&quot;&gt;Switch&lt;/abbr&gt; something || 0x04 || 0x04 || {{cellcolors|#CC5555}} 0x05 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced by something like: 'Enable buffer size 4k'&quot;&gt;Switch&lt;/abbr&gt; something || 0x05 || 0x05 || 0x06 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | &lt;abbr title=&quot;0x14F80 if enabled&quot;&gt;''Nothing''&lt;/abbr&gt;<br /> |-<br /> | {{cellcolors|#ddddff}} Set something || 0x06 || 0x06 || 0x07 || 1 || uint32_t || colspan=&quot;2&quot; | 2=?&lt;br&gt;4=?&lt;br&gt;8=?<br /> |-<br /> | {{cellcolors|lightgreen}} Patch &lt;abbr title=&quot;is not EE memory&quot;&gt;something&lt;/abbr&gt; with 2 opcodes and &lt;abbr title=&quot;two bit masks for original and patched data&quot;&gt;masks&lt;/abbr&gt; || 0x07 || 0x07 || 0x08 || 3 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgreen;&quot; | ''Expanded Data List''<br /> |-<br /> | {{cellcolors|lightgreen}} Patch EE memory with 2 opcodes || 0x08 || 0x08 || 0x09 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgreen;&quot; | ''Expanded Data List''<br /> |-<br /> | {{cellcolors|lightgreen}} Patch EE memory with 1 opcode || {{no}} || {{no}} || 0x0A || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgreen;&quot; | ''Expanded Data List''<br /> |-<br /> | {{cellcolors|lightgreen}} Patch game disc by sector &amp; offset || 0x09 || 0x09 || 0x0B || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgreen;&quot; | ''Expanded Data List''<br /> |-<br /> | {{cellcolors|#ddddff}} Set something || 0x0A || 0x0A || 0x0C || 1 || 2 * uint16_t || 0=?&lt;br&gt;1=?&lt;br&gt;2=? || 0=?&lt;br&gt;0x180=?&lt;br&gt;0x400=?&lt;br&gt;0x800=?<br /> |-<br /> | {{cellcolors|#ddddff}} Set something || 0x0B || 0x0B || 0x0D || 1 || uint32_t || colspan=&quot;2&quot; | 0=?&lt;br&gt;1=?(default?)<br /> |-<br /> | {{cellcolors|#77aaff}} ? || 0x0C || 0x0C || 0x0E || 31 || uint32_t || colspan=&quot;2&quot; {{cellcolors|#77aaff}} &lt;abbr title=&quot;SCUS-97501=0x3C458C, SCES-53642=0x3C4854, SLUS-21026=0x386864, SLUS-20916=0x121F64, SLUS-20437=0x11EDF0&quot;&gt;data&lt;/abbr&gt;<br /> |-<br /> | {{cellcolors|#ff9933}} &lt;abbr title=&quot;Defines a memory range where the emulator is more accurate calculating some instructions&quot;&gt;Improved Accuracy Range&lt;/abbr&gt; (unknown type) || 0x0D || 0x0D || 0x0F || 31 || 2 * uint32_t || {{cellcolors|#ff9933}} &lt;abbr title=&quot;Always smaller than the end_offset&quot;&gt;start offset&lt;/abbr&gt; || {{cellcolors|#ff9933}} &lt;abbr title=&quot;Always bigger than the start_offset&quot;&gt;end offset&lt;/abbr&gt;<br /> |-<br /> | {{cellcolors|#ff9933}} &lt;abbr title=&quot;Defines a memory range where the emulator is more accurate calculating some instructions&quot;&gt;Improved Accuracy Range&lt;/abbr&gt; (unknown type) || 0x0E || 0x0E || 0x10 || 31 || 2 * uint32_t || {{cellcolors|#ff9933}} &lt;abbr title=&quot;Always smaller than the end_offset&quot;&gt;start offset&lt;/abbr&gt; || {{cellcolors|#ff9933}} &lt;abbr title=&quot;Always bigger than the start_offset&quot;&gt;end offset&lt;/abbr&gt;<br /> |-<br /> | {{cellcolors|#77aaff}} ? || 0x0F || 0x0F || 0x11 || 31 || uint32_t || colspan=&quot;2&quot; {{cellcolors|#77aaff}} &lt;abbr title=&quot;SLUS-21172=0x208, SLUS-20878=0x140,0x368,0x570&quot;&gt;data&lt;/abbr&gt;<br /> |-<br /> | {{cellcolors|lightgreen}} ? || 0x10 || 0x10 || 0x12 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgreen;&quot; | ''Expanded Data List''<br /> |-<br /> | {{cellcolors|#77aaff}} ? || 0x11 || 0x11 || 0x13 || 1 || uint64_t || colspan=&quot;2&quot; {{cellcolors|#77aaff}} &lt;abbr title=&quot;SCUS-97429=0xF960, SLPM-66031=0x9BDC, SLPS-20131=0x1D394&quot;&gt;data&lt;/abbr&gt;<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE&quot;&gt;Switch&lt;/abbr&gt; something || 0x12 || 0x12 || 0x14 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | {{cellcolors|#CA2691}} Set something (with bit flags) || 0x13 || 0x13 || 0x15 || 1 || uint32_t || colspan=&quot;2&quot; {{cellcolors|#CA2691}} 2=? (&lt;abbr title=&quot;only valid for gxemu and softemu, when used in netemu the result is the same than using value 4&quot;&gt;gxemu and softemu only&lt;/abbr&gt;)&lt;br&gt;0x14=? (&lt;abbr title=&quot;only valid for softemu, when used in netemu the result is the same than using value 4&quot;&gt;softemu only&lt;/abbr&gt;)&lt;br&gt;4=?<br /> |-<br /> | ? || 0x14 ? || 0x14 ? || {{cellcolors|#CC5555}} 0x16 || ? || colspan=&quot;3&quot; | ?<br /> |-<br /> | {{cellcolors|#ffff99}} Set something || 0x15 || 0x15 || 0x17 || 1 || uint8_t || colspan=&quot;2&quot; | 0=?&lt;br&gt;1=?<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE&quot;&gt;Switch&lt;/abbr&gt; something || 0x16 || 0x16 || {{cellcolors|#CC5555}} 0x18 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE&quot;&gt;Switch&lt;/abbr&gt; something || {{no}} || 0x17 || 0x19 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE&quot;&gt;Switch&lt;/abbr&gt; something || 0x17 || 0x18 || 0x1A || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE&quot;&gt;Switch&lt;/abbr&gt; something || 0x18 || 0x19 || 0x1B || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | {{cellcolors|#ffff99}} Set something || 0x19 ? || 0x1A ? || 0x1C || 1 || uint8_t || colspan=&quot;2&quot; | ?<br /> |-<br /> | {{cellcolors|#ffff99}} Set something || 0x1A || 0x1B || 0x1D || 1 || uint8_t || colspan=&quot;2&quot; | 2=?<br /> |-<br /> | {{cellcolors|#ffff99}} Set something || 0x1B || {{no}} || 0x1E || 1 || uint8_t || colspan=&quot;2&quot; | 3=?<br /> |-<br /> | {{cellcolors|#ddddff}} Set something || 0x1C || 0x1C || 0x1F || 1 || uint32_t || colspan=&quot;2&quot; | 200=?&lt;br&gt;1000=?(default)<br /> |-<br /> | {{cellcolors|#ddddff}} Set something || 0x1D || 0x1D || 0x20 || 1 || uint64_t || colspan=&quot;2&quot; | 10=?&lt;br&gt;60=?(default)&lt;br&gt;100=?&lt;br&gt;120=?&lt;br&gt;200=?&lt;br&gt;240=?<br /> |-<br /> | {{cellcolors|#ddddff}} Set something || 0x1E || 0x1E || 0x21 || 1 || uint32_t || colspan=&quot;2&quot; | 0=?&lt;br&gt;1=?&lt;br&gt;2=?<br /> |}<br /> &lt;/div&gt;<br /> &lt;/div&gt;<br /> &lt;div style=&quot;float:right; width:49%;&quot;&gt;<br /> &lt;div style=&quot;float:left;&quot;&gt;<br /> {| class=&quot;wikitable&quot; style=&quot;font-size:x-small;&quot;<br /> |-<br /> ! rowspan=&quot;2&quot; | Command Name !! colspan=&quot;3&quot; | Command ID !! rowspan=&quot;2&quot; | Max&lt;br&gt;Usage !! colspan=&quot;3&quot; | Command Data<br /> |-<br /> ! ps2_gxemu !! ps2_softemu !! ps2_netemu !! Length !! colspan=&quot;2&quot; | Valid Values<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE&quot;&gt;Switch&lt;/abbr&gt; something || 0x1F || 0x1F || 0x22 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced by something like: 'Enable buffer size 4k'&quot;&gt;Switch&lt;/abbr&gt; something || {{no}} || 0x20 || 0x23 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | &lt;abbr title=&quot;0x14E00 if enabled&quot;&gt;''Nothing''&lt;/abbr&gt;<br /> |-<br /> | {{cellcolors|#ddddff}} PS2 internal widescreen/Ratio setting? || 0x20 || 0x21 || 0x24 || 1 || uint64_t || colspan=&quot;2&quot; | 12000=?&lt;br&gt;48000=?<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE&quot;&gt;Switch&lt;/abbr&gt; something || 0x21 || 0x22 || {{cellcolors|#CC5555}} 0x25 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | {{cellcolors|#ff9933}} &lt;abbr title=&quot;Defines a memory range where the emulator is more accurate calculating some instructions&quot;&gt;Improved Accuracy Range&lt;/abbr&gt; (ADD instruction related) || 0x22 || 0x23 || 0x26 || 31 || 2 * uint32_t || {{cellcolors|#ff9933}} &lt;abbr title=&quot;Always smaller than the end_offset&quot;&gt;start offset&lt;/abbr&gt; || {{cellcolors|#ff9933}} &lt;abbr title=&quot;Always bigger than the start_offset&quot;&gt;end offset&lt;/abbr&gt;<br /> |-<br /> | {{cellcolors|#ff9933}} &lt;abbr title=&quot;Defines a memory range where the emulator is more accurate calculating some instructions&quot;&gt;Improved Accuracy Range&lt;/abbr&gt; (unknown type) || 0x23 || 0x24 || 0x27 || 31 || 2 * uint32_t || {{cellcolors|#ff9933}} &lt;abbr title=&quot;Always smaller than the end_offset&quot;&gt;start offset&lt;/abbr&gt; || {{cellcolors|#ff9933}} &lt;abbr title=&quot;Always bigger than the start_offset&quot;&gt;end offset&lt;/abbr&gt;<br /> |-<br /> | {{cellcolors|#ddddff}} Set something &lt;abbr title=&quot;PS2 MECHACON related&quot;&gt;(MECHA)&lt;/abbr&gt; || 0x24 ? || 0x25 ? || 0x28 || 1 || uint32_t || colspan=&quot;2&quot; | 0=?&lt;br&gt;1=?&lt;br&gt;2=?&lt;br&gt;3=?<br /> |-<br /> | {{cellcolors|#ddddff}} Set something &lt;abbr title=&quot;PS2 MECHACON related&quot;&gt;(MECHA)&lt;/abbr&gt; || 0x25 ? || 0x26 ? || 0x29 || 1 || 2 * uint32_t || ? || ?<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE&quot;&gt;Switch&lt;/abbr&gt; something || 0x26 ? || 0x27 || 0x2A || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE&quot;&gt;Switch&lt;/abbr&gt; something &lt;abbr title=&quot;PS2 MECHACON related&quot;&gt;(MECHA)&lt;/abbr&gt; || 0x27 ? || 0x28 || 0x2B || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | {{cellcolors|#ddddff}} Set something || 0x28 || 0x29 || 0x2C || 1 || uint32_t || colspan=&quot;2&quot; | 1=?<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE&quot;&gt;Switch&lt;/abbr&gt; something || 0x29 ? || 0x2A || {{cellcolors|#CC5555}} 0x2D || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | {{cellcolors|#ddddff}} Set something || 0x2A || 0x2B || 0x2E || 1 || uint32_t || colspan=&quot;2&quot; | 0x172=?<br /> |-<br /> | {{cellcolors|#ddddff}} Set something || 0x2B || {{no}} ? || 0x2F || 1 || uint32_t || colspan=&quot;2&quot; | 1=?<br /> |-<br /> | ? || {{no}} ? || {{no}} ? || {{cellcolors|#CC5555}} 0x30 || ? || ? || colspan=&quot;2&quot; | ?<br /> |-<br /> | ? || {{no}} ? || {{no}} ? || {{cellcolors|#CC5555}} 0x31 || ? || ? || colspan=&quot;2&quot; | ?<br /> |-<br /> | ? || {{no}} ? || {{no}} ? || {{cellcolors|#CC5555}} 0x32 || ? || ? || colspan=&quot;2&quot; | ?<br /> |-<br /> | ? || {{no}} ? || {{no}} ? || {{cellcolors|#CC5555}} 0x33 || ? || ? || colspan=&quot;2&quot; | ?<br /> |-<br /> | ? || {{no}} ? || {{no}} ? || {{cellcolors|#CC5555}} 0x34 || ? || ? || colspan=&quot;2&quot; | ?<br /> |-<br /> | Enable Force Flip Field || {{no}} || {{no}} || 0x35 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | ? || {{no}} ? || {{no}} ? || {{cellcolors|#CC5555}} 0x36 || ? || ? || colspan=&quot;2&quot; | ?<br /> |-<br /> | ? || {{no}} ? || {{no}} ? || {{cellcolors|#CC5555}} 0x37 || ? || ? || colspan=&quot;2&quot; | ?<br /> |-<br /> | ? || {{no}} ? || {{no}} ? || {{cellcolors|#CC5555}} 0x38 || ? || ? || colspan=&quot;2&quot; | ?<br /> |-<br /> | ? || {{no}} ? || {{no}} ? || {{cellcolors|#CC5555}} 0x39 || ? || ? || colspan=&quot;2&quot; | ?<br /> |-<br /> | ? || {{no}} ? || {{no}} ? || {{cellcolors|#CC5555}} 0x3A || ? || ? || colspan=&quot;2&quot; | ?<br /> |-<br /> | ? || {{no}} ? || {{no}} ? || {{cellcolors|#CC5555}} 0x3B || ? || ? || colspan=&quot;2&quot; | ?<br /> |-<br /> | ? || {{no}} ? || {{no}} ? || {{cellcolors|#CC5555}} 0x3C || ? || ? || colspan=&quot;2&quot; | ?<br /> |-<br /> | Config file revision || {{no}} || {{no}} || 0x3D || 1 || uint32_t || colspan=&quot;2&quot; | &gt;=15686<br /> |-<br /> | Disable something || {{no}} || {{no}} || 0x3E || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | {{cellcolors|#ddddff}} Set something || {{no}} || {{no}} || 0x3F || 1 || uint32_t || colspan=&quot;2&quot; | ?<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE&quot;&gt;Switch&lt;/abbr&gt; something || {{no}} || {{no}} || 0x40 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | Disable lwsync ? || {{no}} || {{no}} || 0x41 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | {{cellcolors|#ddddff}} Set something ? || {{no}} || {{no}} || 0x42 || 1 || uint32_t || colspan=&quot;2&quot; | ?<br /> |-<br /> | {{cellcolors|#ddddff}} Set something || {{no}} || {{no}} || 0x43 || 1 || uint32_t || colspan=&quot;2&quot; | 0=?(default)&lt;br&gt;1=?<br /> |-<br /> | Disable Smoothing filter || {{no}} || {{no}} || 0x44 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE&quot;&gt;Switch&lt;/abbr&gt; something || {{no}} || {{no}} || 0x45 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | Enable L2H Improvement || {{no}} || {{no}} || 0x46 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | Enable XOR CSR || {{no}} || {{no}} || 0x47 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |-<br /> | {{cellcolors|#ddddff}} Set VSYNC IPU &amp; Delay || {{no}} || {{no}} || 0x48 || 1 || 2 * uint32_t || 1=No IPU&lt;br&gt;2=IPU&lt;br&gt;3=Anytime || 20000=Conservative&lt;br&gt;100000=Normal&lt;br&gt;250000=Agressive&lt;br&gt;Any other<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced by something like: 'Enable buffer size 4k'&quot;&gt;Switch&lt;/abbr&gt; something || {{no}} || {{no}} || 0x49 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | &lt;abbr title=&quot;0xB,0,0 if enabled&quot;&gt;''Nothing''&lt;/abbr&gt;<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced by something like: 'Enable buffer size 4k'&quot;&gt;Switch&lt;/abbr&gt; something || {{no}} || {{no}} || 0x4A || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | &lt;abbr title=&quot;0x15100 if enabled&quot;&gt;''Nothing''&lt;/abbr&gt;<br /> |-<br /> | {{cellcolors|#ddddff}} Set something || {{no}} || {{no}} || 0x4B || 1 || 2 * uint32_t || ? || ?<br /> |-<br /> | {{cellcolors|#ddddff}} Set something || {{no}} || {{no}} || 0x4C || 1 || 2 * uint32_t || ? || ?<br /> |-<br /> | {{cellcolors|#ddddff}} Set something || {{no}} || {{no}} || 0x4D || 1 || uint32_t || colspan=&quot;2&quot; | ?<br /> |-<br /> | ? || {{no}} || {{no}} || 0x4E || 1 || || colspan=&quot;2&quot; | ?<br /> |-<br /> | ? || {{no}} || {{no}} || 0x4F || 1 || || colspan=&quot;2&quot; | ?<br /> |-<br /> | &lt;abbr title=&quot;After the purpose of this command is identifyed, this word should be replaced either by DISABLE or ENABLE&quot;&gt;Switch&lt;/abbr&gt; something || {{no}} || {{no}} || 0x50 || 1 || colspan=&quot;3&quot; style=&quot;text-align:center; background-color:lightgrey;&quot; | ''Nothing''<br /> |}<br /> &lt;/div&gt;<br /> &lt;/div&gt;<br /> &lt;/div&gt;<br /> &lt;br style=&quot;clear: both;&quot; /&gt;<br /> *Notes<br /> **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<br /> **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<br /> <br /> ===ps2_netemu cmd 0x01 function comparison===<br /> <br /> &lt;div&gt;<br /> &lt;div style=&quot;float:left; width:25%;&quot;&gt;<br /> {| class=&quot;wikitable&quot; style=&quot;font-size:xx-small;&quot;<br /> ! colspan=&quot;5&quot; | netemu 0x01 !! gxemu 0x00 !! softemu 0x00<br /> |-<br /> ! [[3.70_CEX|3.70]]~{{latest}} !! [[3.70_CEX|3.70]]~[[3.74_CEX|3.74]] !! [[4.00_CEX|4.00]]~[[4.01_CEX|4.01]] !! [[4.10_CEX|4.10]]~[[4.25_CEX|4.25]] !! [[4.78_CEX|4.78]]~[[4.82_CEX|4.82]] !! [[4.78_CEX|4.78]]~[[4.82_CEX|4.82]] !! [[3.72_CEX|3.72]]~[[4.01_CEX|4.01]]<br /> |-<br /> ! funct_id !! funct_offset !! funct_offset !! funct_offset !! funct_offset !! funct_offset !! funct_offset<br /> |-<br /> | 0x00 || 0x46720 || 0x42E00 || 0x42EB8 || 0x42F70 || 0x36B40 || 0x2FEF0<br /> |-<br /> | 0x01 || 0x42DB0 || 0x42EC4 || 0x42F7C || 0x43034 || 0x35FB0 || 0x31E38<br /> |-<br /> | 0x02 || 0x44394 || 0x4456C || 0x44560 || 0x447C0 || 0x34068 || 0x30220<br /> |-<br /> | 0x03 || 0x442B4 || 0x4448C || 0x44480 || 0x446E0 || 0x34144 || 0x302FC<br /> |-<br /> | 0x04 || 0x43100 || 0x43214 || 0x432CC || 0x43384 || 0x33F98 ? || 0x30150<br /> |-<br /> | 0x05 || 0x46A90 || 0x46DB4 || 0x47184 || 0x4745C || 0x36CF8 || 0x31D08<br /> |-<br /> | 0x06 || 0x46D64 || 0x46AE0 || 0x46934 || 0x46D20 || 0x34224 || 0x303DC<br /> |-<br /> | 0x07 || 0x47134 || 0x47154 || 0x47524 || 0x47C1C || 0x37850 || <br /> |-<br /> | 0x08 || 0x42E7C || 0x42F90 || 0x43048 || 0x43100 || 0x33DFC&lt;!--0x33E00 ? (old)--&gt; || 0x2FFB4<br /> |-<br /> | 0x09 || 0x42F54 || 0x43068 || 0x43120 || 0x431D8 || 0x36C04 || 0x31C14<br /> |-<br /> | 0x0A || 0x431C4 || 0x432D8 || 0x43390 || 0x43448 || 0x36EF0 || 0x31FCC<br /> |-<br /> | 0x0B || 0x4329C || 0x433B0 || 0x43468 || 0x43520 || 0x34354 || <br /> |-<br /> | 0x0C || 0x441BC || 0x44394 || 0x44388 || 0x445E8 || 0x34424 || 0x30518<br /> |}<br /> &lt;/div&gt;<br /> <br /> &lt;div style=&quot;float:left; width:25%;&quot;&gt;<br /> {| class=&quot;wikitable&quot; style=&quot;font-size:xx-small;&quot;<br /> ! colspan=&quot;5&quot; | netemu 0x01 !! gxemu 0x00 !! softemu 0x00<br /> |-<br /> ! [[3.70_CEX|3.70]]~{{latest}} !! [[3.70_CEX|3.70]]~[[3.74_CEX|3.74]] !! [[4.00_CEX|4.00]]~[[4.01_CEX|4.01]] !! [[4.10_CEX|4.10]]~[[4.25_CEX|4.25]] !! [[4.78_CEX|4.78]]~[[4.82_CEX|4.82]] !! [[4.78_CEX|4.78]]~[[4.82_CEX|4.82]] !! [[3.72_CEX|3.72]]~[[4.01_CEX|4.01]]<br /> |-<br /> ! funct_id !! funct_offset !! funct_offset !! funct_offset !! funct_offset !! funct_offset !! funct_offset<br /> |-<br /> | 0x0D || 0x440E0 || 0x442B8 || 0x442AC || 0x4450C || 0x34520 || <br /> |-<br /> | 0x0E || 0x44004 || 0x441DC || 0x441D0 || 0x44430 || 0x345FC || 0x306F0<br /> |-<br /> | 0x0F || 0x43E28 || 0x44000 || 0x43FF4 || 0x44254 || 0x365F0 || 0x31124<br /> |-<br /> | 0x10 || 0x43D44 || 0x43F1C || 0x43F10 || 0x44170 || 0x36510 || 0x31044<br /> |-<br /> | 0x11 || 0x43C64 || 0x43E3C || 0x43E30 || 0x4408C || 0x36430 || 0x30F64<br /> |-<br /> | 0x12 || 0x45CD4 || 0x45EAC || 0x46EA0 || 0x460FC || 0x34DD0&lt;!--0x366C4 ? (old)--&gt; || 0x311F8&lt;!--0x30C28 ? (old)--&gt;<br /> |-<br /> | 0x13 || 0x469C0 || 0x43474 || 0x46864 || 0x435E4 || 0x366C4 || 0x30C28<br /> |-<br /> | 0x14 || 0x4777C || 0x4779C || 0x478CC || 0x47FC4 || 0x34EDC || 0x31304<br /> |-<br /> | 0x15 || 0x455F0 || 0x457C8 || 0x457BC || 0x45A1C || 0x3795C || 0x327B4<br /> |-<br /> | 0x16 || 0x45164 || 0x4533C || 0x45330 || 0x45590 || 0x3521C || 0x31580<br /> |-<br /> | 0x17 || 0x468C8 || 0x469DC || 0x4676C || 0x46ADC || 0x347D0 || 0x308C4<br /> |-<br /> | 0x18 || 0x45B80 || 0x45D58 || 0x45D48 || 0x45FA8 || 0x35300&lt;!--0x373FC ? (old)--&gt; || 0x31664<br /> |-<br /> | 0x19 || 0x4706C || 0x46FC0 || 0x4745C || 0x47A88 || 0x36E28 || 0x31F04<br /> |-<br /> | 0x1A || 0x45844 || 0x45A1C || 0x45A0C || 0x45C6C || 0x37614 || 0x325B4<br /> |}<br /> &lt;/div&gt;<br /> <br /> &lt;div style=&quot;float:left; width:25%;&quot;&gt;<br /> {| class=&quot;wikitable&quot; style=&quot;font-size:xx-small;&quot;<br /> ! colspan=&quot;5&quot; | netemu 0x01 !! gxemu 0x00 !! softemu 0x00<br /> |-<br /> ! [[3.70_CEX|3.70]]~{{latest}} !! [[3.70_CEX|3.70]]~[[3.74_CEX|3.74]] !! [[4.00_CEX|4.00]]~[[4.01_CEX|4.01]] !! [[4.10_CEX|4.10]]~[[4.25_CEX|4.25]] !! [[4.78_CEX|4.78]]~[[4.82_CEX|4.82]] !! [[4.78_CEX|4.78]]~[[4.82_CEX|4.82]] !! [[3.72_CEX|3.72]]~[[4.01_CEX|4.01]]<br /> |-<br /> ! funct_id !! funct_offset !! funct_offset !! funct_offset !! funct_offset !! funct_offset !! funct_offset<br /> |-{{cellcolors|#ddddff}}<br /> | 0x1B || 0x45094 || 0x4526C || 0x45260 || 0x454C0 || 0x35434 || 0x31798<br /> |-{{cellcolors|#ddddff}}<br /> | 0x1C || 0x44FC4 || 0x4519C || 0x45190 || 0x453F0 || 0x354F8 || 0x30A88<br /> |-{{cellcolors|#bbbbff}}<br /> | 0x1D || 0x44EF4 || 0x450CC || 0x450C0 || 0x45320 || 0x355BC || <br /> |-{{cellcolors|#bbbbff}}<br /> | 0x1E || 0x44E24 || 0x44FFC || 0x44FF0 || 0x45250 || 0x35680 || <br /> |-{{cellcolors|#ddddff}}<br /> | 0x1F || 0x44D54 || 0x44F2C || 0x44F20 || 0x45180 || 0x35744 || <br /> |-{{cellcolors|#ddddff}}<br /> | 0x20 || 0x44C84 || 0x44E5C || 0x44E50 || 0x450B0 || 0x35808 || <br /> |-{{cellcolors|#bbbbff}}<br /> | 0x21 || 0x44BB4 || 0x44D8C || 0x44D80 || 0x44FE0 || 0x358CC || <br /> |-{{cellcolors|#bbbbff}}<br /> | 0x22 || 0x44AE4 || 0x44CBC || 0x44CB0 || 0x44F10 || 0x35990 || <br /> |-{{cellcolors|#ddddff}}<br /> | 0x23 || 0x44A14 || 0x44BEC || 0x44BE0 || 0x44E40 || 0x35A54 || <br /> |-{{cellcolors|#ddddff}}<br /> | 0x24 || 0x44944 || 0x44B1C || 0x44B10 || 0x44D70 || 0x35B18 || <br /> |-{{cellcolors|#bbbbff}}<br /> | 0x25 || 0x44874 || 0x44A4C || 0x44A40 || 0x44CA0 || 0x35BDC || <br /> |-{{cellcolors|#bbbbff}}<br /> | 0x26 || 0x447A4 || 0x4497C || 0x44970 || 0x44BD0 || 0x35CA0 || <br /> |-{{cellcolors|#ddddff}}<br /> | 0x27 || 0x446D4 || 0x448AC || 0x448A0 || 0x44B00 || 0x35D64 || <br /> |-{{cellcolors|#ddddff}}<br /> | 0x28 || 0x44604 || 0x447DC || 0x447D0 || 0x44A30 || 0x35E28 || <br /> |-{{cellcolors|#bbbbff}}<br /> | 0x29 || 0x44534 || 0x4470C || 0x44700 || 0x44960 || 0x35EEC || <br /> |-{{cellcolors|#bbbbff}}<br /> | 0x2A || 0x44464 || 0x4463C || 0x44630 || 0x44890 || 0x35158 || <br /> |}<br /> &lt;/div&gt;<br /> <br /> &lt;div style=&quot;float:left; width:25%;&quot;&gt;<br /> {| class=&quot;wikitable&quot; style=&quot;font-size:xx-small;&quot;<br /> ! colspan=&quot;5&quot; | netemu 0x01 !! gxemu 0x00 !! softemu 0x00<br /> |-<br /> ! [[3.70_CEX|3.70]]~{{latest}} !! [[3.70_CEX|3.70]]~[[3.74_CEX|3.74]] !! [[4.00_CEX|4.00]]~[[4.01_CEX|4.01]] !! [[4.10_CEX|4.10]]~[[4.25_CEX|4.25]] !! [[4.78_CEX|4.78]]~[[4.82_CEX|4.82]] !! [[4.78_CEX|4.78]]~[[4.82_CEX|4.82]] !! [[3.72_CEX|3.72]]~[[4.01_CEX|4.01]]<br /> |-<br /> ! funct_id !! funct_offset !! funct_offset !! funct_offset !! funct_offset !! funct_offset !! funct_offset<br /> |-<br /> | 0x2B || 0x467E4 || 0x463DC || 0x46688 || 0x4662C || 0x34994 || <br /> |-<br /> | 0x2C || 0x465D0 || 0x464B4 || 0x46D28 || 0x47114 || 0x36FC8 || <br /> |-<br /> | 0x2D || 0x47384 || 0x473A4 || 0x46BB0 || 0x46F9C || 0x3607C || <br /> |-<br /> | 0x2E || 0x47234 || 0x47254 || 0x46A38 || 0x46E24 || || <br /> |-<br /> | 0x2F || 0x45500 || 0x456D8 || 0x456CC || 0x4592C || 0x34A70 || <br /> |-<br /> | 0x30 || 0x4541C || 0x455F4 || 0x455E8 || 0x45848 || 0x34B48 || <br /> |-<br /> | 0x31 || 0x45338 || 0x45510 || 0x45504 || 0x45764 || 0x34C20 || <br /> |-<br /> | 0x32 || 0x45254 || 0x4542C || 0x45420 || 0x45680 || 0x34CF8 || <br /> |-<br /> | 0x33 || 0x46E74 || 0x46EB8 || 0x47288 || 0x47560 || 0x37714 || <br /> |-<br /> | 0x34 || {{cellcolors|#CC5555}} 0x00000 || {{cellcolors|#CC5555}} 0x00000 || {{cellcolors|#CC5555}} 0x00000 || {{cellcolors|#CC5555}} 0x00000 || || <br /> |-<br /> | 0x35 || 0x45DF0 || 0x45FC8 || 0x46274 || 0x46218 || || <br /> |-<br /> | 0x36 || 0x4336C || 0x43544 || 0x43538 || 0x436B4 || || <br /> |-<br /> | 0x37 || 0x474E0 || 0x47500 || 0x47630 || 0x47D28 || || <br /> |-<br /> | 0x38 || 0x46BA0 || 0x46BF0 || 0x46FC0 || 0x47298 || || <br /> |-<br /> | 0x39 || {{no}} || {{no}} || {{no}} || 0x47674 || || <br /> |-<br /> | 0x3A || {{no}} || {{no}} || {{no}} || 0x46BD4 || || <br /> |-<br /> | 0x3B || {{no}} || {{no}} || {{no}} || 0x43FAC || || <br /> |}<br /> &lt;/div&gt;<br /> &lt;/div&gt;<br /> &lt;br style=&quot;clear: both;&quot; /&gt;<br /> <br /> ====ps2_netemu cmd 0x01 funct_offsets_table====<br /> 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<br /> <br /> 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<br /> <br /> 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 func_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)<br /> <br /> <br /> *funct_offset_table location by ps2_netemu versions:<br /> **Table v1 (the table contains the same data)<br /> ***Firmware:370-371 offset:0x897ED8 length:0x1C8<br /> ***Firmware:372 offset:0x897ED8 length:0x1C8<br /> ***Firmware:373-374 offset:0x897ED8 length:0x1C8<br /> **Table v2 (the table contains the same data)<br /> ***Firmware:400-401 offset:0x8970E8 length:0x1C8<br /> **Table v3 (the table contains the same data)<br /> ***Firmware:410-411 offset:0x8971E8 length:0x1C8<br /> ***Firmware:420-423 offset:0x8972F8 length:0x1C8<br /> ***Firmware:425 offset:0x8972F8 length:0x1C8<br /> **Table v4<br /> ***Firmwares 4.30 up to 4.76 was not tested (if someone wants to add this info do it here)<br /> **Table vX (latest)<br /> ***Firmware:478-482 offset:0x8063f8 length:0x1E0<br /> <br /> ==Game CONFIG commands (notepad and worklog)==<br /> All info here related with commands needs to be moved to frontpage at some point<br /> <br /> ===ps2_netemu command 0x1===<br /> There are some additional internal patches using CONFIG cmd id 0x01, using subs not available in 0x3B list<br /> condition: 0xBBB5F800, 0x3B949C00, 0x42133A90<br /> setting: <br /> 0x18E1F0, sub_4670C (4.70)<br /> 0x348EC8, sub_44338 (4.70)<br /> <br /> in id0x01, function id 0x18 <br /> condition: [ 0x20183F04 (+200000000 base) ] == 0x0C060F2C<br /> setting:<br /> stores 0 in address 0x20183F04, 0x20183F34, 0x20183F3C - with 200000000 base<br /> 0x183F0C, sub_46334 (4.70)<br /> 0x183F3C, sub_45DA4 (4.70)<br /> 0x183D74, sub_47B50 (4.70)<br /> <br /> ===ps2_netemu command 0x5===<br /> This command seems to be disabled in netemu, but is used in gxemu with ID 0x4<br /> <br /> *There are several games that uses it in his config data hardcoded inside ps2_gxemu.self such:<br /> **SLES-51823 | 1 | cmd: 0x4 Hunter: The Reckoning Wayward<br /> **SLES-54135 | 1 | cmd: 0x4 Grand Theft Auto: Liberty City Stories<br /> **SLES-54136 | 1 | cmd: 0x4 Grand Theft Auto: Liberty City Stories<br /> **SLES-54622 | 1 | cmd: 0x4 Grand Theft Auto: Vice City Stories<br /> **SLES-54623 | 1 | cmd: 0x4 Grand Theft Auto: Vice City Stories<br /> **SLPM-65340 | 1 | cmd: 0x4 Shinseiki Evangelion: Ayanami Ikusei Keikaku with Asuka Hokan Keikaku<br /> **SLPM-66275 | 1 | cmd: 0x4 Onimusha : Dawn of Dreams<br /> **SLUS-20001 | 1 | cmd: 0x4 Tekken Tag Tournament<br /> **SLUS-21423 | 1 | cmd: 0x4 Grand Theft Auto: Liberty City Stories<br /> **SLUS-21590 | 1 | cmd: 0x4 Grand Theft Auto: Vice City Stories<br /> <br /> ===ps2_netemu command 0x12===<br /> <br /> ====type 1====<br /> Playground discussion, unsure about clrlslwi r11, r0, 16,3 result<br /> <br /> &lt;pre&gt;<br /> Syphon Filter The Omega Strain<br /> 298 00 00 00 00 <br /> 29C 00 00 00 00 <br /> 2A0 01 00&gt;02 00&lt; Type1, Count 2<br /> 2A4 31 00 99 18 <br /> 2A8 32 00 B6 18 <br /> <br /> <br /> type 1: (Syphon Filter The Omega Strain )<br /> *0x48 | ptr to 1st value *0x2A4 (0x15F)<br /> *0x50 | count of type values<br /> <br /> (0x18990031 &gt;&gt; 0xC) &amp; 0xFFFF0 = 0x18990<br /> (0x18B60032 &gt;&gt; 0xC) &amp; 0xFFFF0 = 0x18B60<br /> <br /> store value in [0x18990 + ??? ] <br /> <br /> seg017:0000000000198498 next_value: # CODE XREF: read_id0x12_type_1+120�j<br /> seg017:0000000000198498 lwz r0, 0(r10) # -&gt; 0x18990031<br /> seg017:000000000019849C addi r8, r8, 1 # counter<br /> seg017:00000000001984A0 ld r29, 0(r31)<br /> seg017:00000000001984A4 addi r10, r10, 4 # ptr to next value<br /> seg017:00000000001984A8 rlwinm r28, r0, 20,12,27 # r28 = (r0 &gt;&gt; 12) &amp; 0xFFFF0 = (0x18990031 &gt;&gt; 12) &amp; 0xFFFF0 = 0x18990<br /> seg017:00000000001984AC clrlslwi r11, r0, 16,3 # r11 = 0x0031 &lt;&lt; 3 = 0x188<br /> seg017:00000000001984B0 add r26, r28, r29 # r26 = 0x18990 + ??<br /> seg017:00000000001984B4 stw r11, 4(r26) # store 0x62000? or 0x188? in r26<br /> seg017:00000000001984B8 lwz r5, 0x50(r31) # count<br /> seg017:00000000001984BC cmplw cr6, r5, r8<br /> seg017:00000000001984C0 bgt cr6, next_value<br /> &lt;/pre&gt;<br /> <br /> ====type 2====<br /> <br /> Fix on Interpretation?<br /> <br /> &lt;pre&gt;<br /> Primal<br /> 298 00 00 00 04 <br /> 29C 00 00 00 00 <br /> 2A0 02 00&gt;03 00&lt; Type 2, Count 3<br /> 2A4 5F 01 00 00 <br /> 2A8 8D BD 6F 2C <br /> 2AC 67 03 00 00 <br /> 2B0 02 00&gt;03 00&lt; Type 2, Count 3<br /> 2B4 6B 01 00 00 <br /> 2B8 31 35 70 E9 <br /> 2BC 72 03 00 00 <br /> 2C0 03 00&gt;02 00&lt; Type 3, Count 2<br /> 2C4 60 9B 39 10 <br /> 2C8 18 9C 39 10 <br /> 2CC<br /> <br /> type 2:<br /> *0x20C | counter<br /> *0x210 | 1st value: 0x15F -&gt; only gets compared, if passed check 2nd value<br /> *0x214 | 2nd value: 0x2C6FBD8D -&gt; only gets compared, if passed use *0x218 + *0x21C<br /> *0x218 | 1 ( = count - 2)<br /> *0x21C | ptr to 3rd value *0x2AC (0x367)<br /> <br /> &lt;/pre&gt;<br /> <br /> ====type 3====<br /> <br /> &lt;pre&gt;<br /> Example Primal<br /> *0x11B4| counter<br /> *0x11B8| -1 -&gt; 0x399B60? <br /> *0x11BC| 0 -&gt; 0x399B60?<br /> *0x11C0| ptr to *0x2C4 values<br /> *0x11C4| count (2)<br /> <br /> r11 = r0 &amp; 0xFFFFFFF = 0x10399B60 &amp; 0xFFFFFFF = 0x399B60<br /> 0x10399C18 &amp; 0xFFFFFFF = 0x399C18<br /> <br /> r3 = r31 &gt;&gt; 28 = 0x10399B60 &gt;&gt; 0x1C = 1<br /> a check if 1,2<br /> &lt;/pre&gt;<br /> <br /> ====type 4====<br /> <br /> cmpwi cr7, r0, 4<br /> bne cr7, panic_dword_1967BC<br /> srwi r9, r6, 1 # r9 = r6 &gt;&gt; 1 = count &gt;&gt; 1<br /> addi r11, r4, 4<br /> stw r9, 0x1238(r31) save count&gt;&gt;1<br /> std r11, 0x1240(r31) save ptr to table values start<br /> ---big handler, different register settings?---<br /> <br /> ==XMB messages related with PS2 Emulation==<br /> {{Boxcode|content=&lt;syntaxhighlight lang=&quot;xml&quot;&gt;<br /> &lt;!-- From: explore_category_sysconf.rco\Text\English.xml --&gt;<br /> &lt;Text name=&quot;msg_ps_ps2_upconvert&quot;&gt;PS/PS2 - Upscaler&lt;/Text&gt;<br /> &lt;Text name=&quot;msg_ps_upconvert&quot;&gt;PS - Upscaler&lt;/Text&gt;<br /> <br /> &lt;Text name=&quot;msg_ps_ps2_smoothing&quot;&gt;PS/PS2 - Smoothing&lt;/Text&gt;<br /> &lt;Text name=&quot;msg_ps_smoothing&quot;&gt;PS - Smoothing&lt;/Text&gt;<br /> &lt;Text name=&quot;msg_ps_ps2_smoothing_explanation&quot;&gt;Reduces the roughness of the displayed image.&lt;/Text&gt;<br /> <br /> &lt;!-- From: game_ext_plugin.rco\Text\English.xml --&gt;<br /> &lt;Text name=&quot;msg_error_cannot_play_ps2disc_scee&quot;&gt;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.&lt;/Text&gt;<br /> &lt;Text name=&quot;msg_error_cannot_play_ps2disc_scea&quot;&gt;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.&lt;/Text&gt;<br /> &lt;Text name=&quot;msg_error_cannot_play_ps2disc_scej&quot;&gt;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.jp.playstation.com/ps3/status/ to check whether a specific PlayStation®2 format software title is compatible with the PS3™ system.&lt;/Text&gt;<br /> &lt;Text name=&quot;msg_error_cannot_play_ps2disc_scek&quot;&gt;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.playstation.co.kr/info/bc to check whether a specific PlayStation®2 format software title is compatible with the PS3™ system.&lt;/Text&gt;<br /> &lt;Text name=&quot;msg_error_cannot_play_ps2disc_sceasia&quot;&gt;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://asia.playstation.com/status to check whether a specific PlayStation®2 format software title is compatible with the PS3™ system.&lt;/Text&gt;<br /> <br /> &lt;Text name=&quot;msg_cannot_run_ps2_fromat_corretly_stop&quot;&gt;A problem has occurred. This PlayStation®2 format software was forced to quit.&lt;/Text&gt;<br /> <br /> &lt;!-- From: explore_plugin_full.rco\Text\English.xml --&gt;<br /> &lt;Text name=&quot;msg_setting_file_ps2&quot;&gt;Settings File (PlayStation®2)&lt;/Text&gt;<br /> &lt;Text name=&quot;msg_your_bb_navigator&quot;&gt;Your PlayStation®BB Navigator&lt;/Text&gt;<br /> &lt;Text name=&quot;msg_system_driver_ps1&quot;&gt;System Driver&lt;/Text&gt;<br /> &lt;Text name=&quot;msg_system_driver_ps2&quot;&gt;System Driver (PlayStation®2)&lt;/Text&gt;<br /> <br /> &lt;Text name=&quot;msg_error_cannot_play_ps2_format&quot;&gt;This model of the PS3™ system is not compatible with PlayStation®2 format software.&lt;/Text&gt;<br /> &lt;/syntaxhighlight&gt;}}<br /> <br /> ==Orphan info==<br /> This is misterious info that cant be unveilled<br /> <br /> ===ps2_netemu===<br /> &lt;pre&gt;<br /> seg017:00000000001355B4 ld r28, off_74BA20 # unk_933F80<br /> seg017:00000000001355B8 .using unk_933F80, r28<br /> seg017:00000000001355B8 lis r0, 0x4000 # 0x40000020<br /> seg017:00000000001355BC ori r0, r0, 0x20 # 0x40000020<br /> seg017:00000000001355C0 ld r9, off_934158 # unk_0<br /> seg017:00000000001355C4 and r9, r9, r0 # r9 = r9 &amp; 0x40000020<br /> seg017:00000000001355C8 cmpdi cr7, r9, 0<br /> seg017:00000000001355CC bne cr7, loc_1356E4<br /> seg017:00000000001355D0 ld r0, off_934158 # unk_0<br /> seg017:00000000001355D4 rlwinm r0, r0, 0,2,2 # r0 = r0 &amp; 0x20000000<br /> seg017:00000000001355D8 cmpdi cr7, r0, 0<br /> seg017:00000000001355DC bne cr7, image_selection<br /> seg017:00000000001355E0 ld r0, off_934158 # unk_0<br /> seg017:00000000001355E4 rlwinm r0, r0, 0,5,5 # r0 = r0 &amp; 0x4000000<br /> seg017:00000000001355E8 cmpdi cr7, r0, 0<br /> seg017:00000000001355EC beq cr7, static_path<br /> &lt;/pre&gt;<br /> <br /> === Cold Fear ===<br /> frequenlty, as if you pressed pause<br /> 0x46<br /> 0x19<br /> <br /> ==Obsolete experiments==<br /> This is kept here for historical purposes, but needs to be rewritten or deleted<br /> <br /> ===Getting Playstation 2 Software Emulator working===<br /> <br /> Method (on Firmware 3.55, without! Cobra-USB Dongle or Downgrade) for all consoles (fat &amp; slim).<br /> <br /> 1. Replace following files on your consoles /dev_flash/<br /> with the ones included in this archive<br /> p3dwik-ps2compatfiles.rar<br /> 2. Get into Factory Service Mode (FSM Tool/Dongle)<br /> 3. Insert your Original PS2 Game Disc<br /> 4. It will run.<br /> <br /> Note: Backups wont work. You're getting the compatibility of the 2.60 software emulator with all of its bugs.<br /> <br /> Download: [http://www.sendspace.com/file/bm9z9v p3dwik-ps2compatfiles.rar]&lt;br&gt;<br /> Possible compatibility Lists:<br /> * http://tortuga-cove.com/forums/viewtopic.php?f=57&amp;t=530<br /> * [[Talk:Emulation#PS2.2FPStwo]]<br /> <br /> === Enable Playstation 2 on non BC's===<br /> <br /> [[http://www.ps3devwiki.com/index.php?title=Emulation#Getting_Playstation_2_Software_Emulator_working Getting Playstation 2 Software Emulator working]]<br /> <br /> [[Image:Vsh_ps2_change1.png|left|thumb|400px|XMB Game Settings non BC/BC,patched]]&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;<br /> <br /> ==== Service Mode in relation to PS2 emulation tests ====<br /> * 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).<br /> <br /> * Service Mode also resets user presets like disc autoboot, so it needs to be disabled again if needed.<br /> <br /> * Any made Virtual Memory Cards previously will be removed and you will have no access to them, nor be able to create one.<br /> <br /> * 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)<br /> <br /> * As a workaround for above wireless controller issue, you can use an USB2PS2 converter and connect an old PS2 / Dualshock2 controller.<br /> <br /> ==== tests on 2000 series PS3 Slim ====<br /> Testplatform:<br /> SKU: 2000 series slim (minver 2.70)<br /> Firmware: 3.55 'Rogero 3.4' mmap114+peek/poke but no SS-patches<br /> Memorycards: MC:PS1 in slot1, MC:PS2 in slot2.<br /> Mainscreen: Component+Composite 576i+P/720i+P//1080i<br /> Sec.screen: Composite 576i<br /> 48 titles tested (PAL disc on PAL SKU) // [[User:Euss|Euss]]<br /> <br /> * Without Factory Service Mode : gives &quot;Incompatible Data&quot; when inserting PS2 disc<br /> <br /> * 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)<br /> <br /> * 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)<br /> <br /> * 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). <br /> <br /> * 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).<br /> <br /> 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].<br /> Perhaps hardswapping out all the dev_flash ps2 emu files for the same software only emulator would circumvent the 'incompatible title' message.<br /> <br /> <br /> ==== Second test: FW 2.70/3.15 ==== <br /> Silent Hill : gives disk icon &quot;unsupported data&quot; and error message like &quot;This model of the PS3 system is not compatible with Playstation2 format software&quot; 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 &quot;This title is not currently compatible with the PS3 system&quot;.<br /> <br /> ==== Third test: FW 3.55 OtherOS++22GB (with SS Patches) ==== <br /> Silent Hill : gives disk icon &quot;unsupported data&quot; and error message like &quot;This model of the PS3 system is not compatible with Playstation2 format software&quot; 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.<br /> <br /> <br /> ===== considering titles to test =====<br /> * http://en.wikipedia.org/wiki/List_of_PlayStation_3_backward_compatible_PlayStation_2_and_PlayStation_games<br /> * http://tortuga-cove.com/forums/viewtopic.php?f=57&amp;t=530<br /> * http://us.playstation.com/support/compatiblestatus/index.htm<br /> <br /> These have no listed issues:<br /> * Half-Life<br /> * Hulk<br /> * Medal of Honor: Frontline<br /> These have minor issues listed (but should still play):<br /> * Silent Hill 3<br /> * Second Sight<br /> <br /> ==== tests on CECHC04 (partial BC) ====<br /> 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 &quot;The system was not turned off properly&quot; 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 &quot;An error occurred during the start operation (80028F17),&quot; PlayStation 2 disc Boot Error, also related to PS1 PSN games.'')<br /> <br /> 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 &quot;The system was not turned off properly&quot; error.<br /> <br /> no disc icon:<br /> * Medal of Honor: Rising Sun<br /> * Half-Life<br /> <br /> disc icon:<br /> * Hulk<br /> * Second Sight<br /> * Silent Hill 3<br /> <br /> ==== Renaming ps2_netemu to ps2_emu ====<br /> <br /> 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.<br /> <br /> 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)<br /> <br /> <br /> ==== PS2 on non BC HW - Tests ====<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! rowspan=&quot;2&quot; | Title !! rowspan=&quot;2&quot; | DiscID !! colspan=&quot;2&quot; | Disc Icon !! colspan=&quot;3&quot; | ps2_softemu !! rowspan=&quot;2&quot; | Remarks<br /> |-<br /> ! &lt;abbr title=&quot;Normal Mode&quot;&gt;Normal&lt;/abbr&gt; !! &lt;abbr title=&quot;Factory Service Mode&quot;&gt;FSM&lt;/abbr&gt; !! 2.50 !! 2.60 !! 2.70<br /> |-<br /> | Action Replay MAX || SCED54409 || || {{ps2cd}} || || || {{no}} || <br /> |-<br /> | Battlefield 2 Modern Combat || SLES53729 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Constantine || SLES52872 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Demo Disc 3-073-543-11 || PBPX95514 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | EyeToy Play || SCES51513 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | EyeToy Play 2 || SCES52748 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | EyeToy Play 3 || SLES53315 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Freedom Fighters || SLES51467 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Ghost in the Shell Standalone Complex || SLES53020 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | GoldenEye Rogue Agent || SLES52974 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Guerrilla Strike || SLES53344 || || {{ps2cd}} || || || {{no}} || <br /> |-<br /> | Gunfighter 2 Revenge of Jessy James || SLES51289 || || {{ps2cd}} || || || {{no}} || <br /> |-<br /> | Half Life || SLES50504 || || {{ps2cd}} || || || {{no}} || <br /> |-<br /> | HDLoader || - || || {{ps2cd}} || || || {{no}} || <br /> |-<br /> | International Golf Pro || SLES52349 || || {{ps2cd}} || || || {{no}} || <br /> |-<br /> | Jet Ion GP || SLES50544 || || {{ps2cd}} || || || {{no}} || <br /> |-<br /> | killer7 || SLES53366 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Kya Dark Lineage || SLES51473 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | London Racer Destruction Madness || SLES53654 || || {{ps2cd}} || || || {{no}} || <br /> |-<br /> | London Racer Police Madness || SLES53536 || || {{ps2cd}} || || || {{no}} || <br /> |-<br /> | Manhunt || SLES52023 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Max Play - 10 Classic Retro Games || - || || {{ps2cd}} || || || {{no}} || <br /> |-<br /> | Medal of Honor European Assault || SLES53332 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Medal of Honor Frontline || SLES50684 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Medal of Honor Rising Sun || SLES51873 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Medal of Honor Vanguard || SLES54683 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Men in Black II Alien Escape || SLES50789 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Network Access Disc || SCES51578 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | OPM #66 || SCED54409 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | OPM #67 || SCED54410 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | OPM #68 || SCED54412 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | OPM #69 || SCED54413 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | OPM #70 || SCED54415 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | OPM #72 || SCED54417 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | OPM #73 || SCED54418 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | OPM #74 || SCED55113 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | OPM #75 || SCED55114 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | OPM #77 || SCED55117 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | OPM #79 || SCED55119 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Perfect Ace Pro Tournament Tennis || SLES51735 || || {{ps2cd}} || || || {{no}} || <br /> |-<br /> | Prisoner of War || SLES50397 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Ratchet &amp; Clank 3 || SCES52456 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Red Baron || SLES53434 || || {{ps2cd}} || || || {{no}} || <br /> |-<br /> | SAS Anti-terror Force || SLES53435 || || {{ps2cd}} || || || {{no}} || <br /> |-<br /> | Second Sight || SLES52670 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Seek and Destroy || SLES51603 || || {{ps2cd}} || || || {{no}} || <br /> |-<br /> | Silent Hill 3 || SLES51434 || || {{ps2dvd}} || {{yes}} || || {{no}} || <br /> |-<br /> | Socom US Navy SEALs || SCES50928 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Socom II US Navy SEALs || SCES51904 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Socom 3 US Navy SEALs || SCES53300 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Socom US Navy SEALs Combined Assault || SCES54477 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Swap Magic 3 plus (PAL version 3.6) CD || SCED54409 || || {{no}} || - || || {{no}} || <br /> |-<br /> | Swap Magic 3 plus (PAL version 3.6) DVD || SCED54409 || || {{ps2dvd}} || {{yes}} || || {{no}} || <br /> |-<br /> | Tenchu Wrath of Heaven || SLES50679 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Terminator 3 Rise of the Machines || SLES52152 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | The Great Escape || SLES51315 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | The Hulk || SLES51508 || || {{ps2dvd}} || {{yes}} || || {{no}} || <br /> |-<br /> | The Matrix Path of Neo || SLES53799 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | The Plan || SLES53965 || || {{ps2cd}} || || || {{no}} || <br /> |-<br /> | Time Crisis 3 || SCES51844 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Tom Clancy's Ghost Recon || SLES51181 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Tom Clancy's Rainbow Six 3 || SLES52288 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Tom Clancy's Splinter Cell || SLES51466 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Tom Clancy's Splinter Cell Chaos Theory || SLES53007 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Tom Clancy's Splinter Cell Pandora Tomorrow || SLES52149 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> | Trapt || SLES53824 || || {{ps2dvd}} || || || {{no}} || <br /> |-<br /> |}<br /> <br /> ==== Tests on NON-BC CECHP01/NTSC-U (Firmware 2.60/boot_ps2.pkg) ====<br /> &lt;br&gt;<br /> &lt;br&gt;Amplitude - Intro prompts are completely glitched, unresponsive to controller input.<br /> &lt;br&gt;Backyard Football 2007 - Graphical glitches during menu and gameplay. Frame rate is okay.<br /> &lt;br&gt;Boogie - Intro FMV runs very slow, fails to recognize input after the title screen.<br /> &lt;br&gt;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.<br /> <br /> -- Moose<br /> <br /> Comparative listings: http://tortuga-cove.com/forums/viewtopic.php?f=57&amp;t=530<br /> <br /> ==Game compatibility lists==<br /> 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<br /> <br /> The info has been moved to: [[Talk:PS2 Emulation/Old PS2 Game Compatibility Lists]]</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=PS2_Emulation&diff=55878 PS2 Emulation 2020-04-01T21:42:14Z <p>Mysis: </p> <hr /> <div>==Description==<br /> Emulation of Playstation 2 is currently handled by 3 kind of emulators. CECH-A/B models use ps2_emu.self able to use built-in PS2 hardware (EE/GS/Rambus memory), and have best compatibility. CECH-C/E use ps2_gxemu, this emulator use physical Graphic Synthesizer found in this ps3 model, but Emotion Engine is fully emulated here, also there is no Rambus memory. All other models emulate PS2 thru fully software based ps2_netemu used for ps2 classics, and hacked now to use decrypted ISO files. Earlier before Sony provided ps2 classics on PS Store there was another soft only emulator strongly based on ps2_gxemu. It was called ps2_softemu, and had support for original PS2 CDVD. Only emulator not able to run physical discs is ps2_netemu. <br /> <br /> Emulators are self files, but not typical one. Emulators are not truly PS3 Game OS elf executables, but Guest OS'es running on LV1 of PS3. This mean that LV2, or more friendly Game OS is unloaded before emulator is loaded. This also mean that while emulators are running we can't call any LV2 function. Also LV1 syscalls are limited to call from all emulators, but can be fully unlocked. <br /> <br /> All emulators use built-in stripped developement version of PS2 BIOS with disabled debug functions that can affect some games. This is done because some games print debug info on screen when found that are run on dev bios. Bios between ps2_emu, ps2_gxemu, and ps2_netemu are different. Although bios from gxemu run fine on netemu, and vice-versa. While ps2_emu BIOS is able to run only on ps2emu version of emulator. <br /> <br /> [[File:Ps2_block_diagram.png|200px|thumb|right|Simplified block diagram of a PS2&lt;br /&gt;[http://www.philvaz.com/games/PS2.htm source]]]<br /> Note: <br /> * not available in early Tool/DECR and Debug/DEX firmwares. But available in AV TOOL firmware since 1.00<br /> * Emulation is based on a SCPH-50000/SCPH-20401 Playstation 2 Model.<br /> * [http://unina.stidue.net/Universita'%20di%20Trieste/Ingegneria%20Industriale%20e%20dell'Informazione/Tuzzi/Architetture_Avanzate_dei_Calcolatori/Emotion_2.pdf Introduction to PlayStation2 Architecture.pdf]<br /> <br /> ==PS2 Emulators types and versions==<br /> ps2_emu.self (1.02++)<br /> ps2_gxemu.self (1.50++)<br /> ps2_softemu.self (1.90++) 1.90-1.94 (11065), 2.00-2.10 (11830), 3.15 (12840), 3.41-3.65 (13474), 3.66-3.70 (15435), 3.72-4.21 (15529)<br /> (Changes: -2.50] [2.52-2.60] [2.70] [2.80] [3.00-3.65] [3.66-3.70] [3.74])<br /> ps2_netemu.self (3.70++)<br /> <br /> &lt;s&gt;<br /> *http://www.crocko.com/651925F44E444D8390E41A39A577BE48/ps2emu.rar<br /> *http://filerio.in/2xjqscjklj72<br /> *http://freakshare.com/files/bp53qpcy/ps2emu.rar.html<br /> *http://www.mirrorcreator.com/files/4BNITIXD/ps2_netemu.7z_links<br /> &lt;/s&gt;<br /> <br /> {{PS2 emulators workload comparison}}<br /> <br /> ===ps2_emu.self===<br /> <br /> ====Self System Table Offset====<br /> {| cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; border=&quot;1&quot; class=&quot;wikitable&quot; style=&quot;text-align: center;&quot;<br /> |-<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 1.00 AV || 0x7C3150 ||<br /> |-<br /> | 1.02 || 0x7C31F0 ||<br /> |-<br /> | 1.10 || 0x7C2168 ||<br /> |-<br /> | 1.11 || 0x7C23C8 ||<br /> |-<br /> | 1.30 || 0x8442E8 ||<br /> |-<br /> | 1.30 AV || 0x8442E8 ||<br /> |-<br /> | 1.31 || 0x844C98 ||<br /> |-<br /> | 1.32 || 0x845CA0 ||<br /> |-<br /> | 1.50 || 0x848728 ||<br /> |-<br /> | 1.90 || 0x4D7ED8 ||<br /> |-<br /> | 3.66 - 3.74 || 0x4E9A20 ||<br /> |-<br /> | 4.00 - 4.01 || 0x4EADB8 ||<br /> |-<br /> | 4.10 - 4.11 || 0x4EAD28 ||<br /> |-<br /> | 4.20 - 4.21 || 0x4EAE30 ||<br /> |-<br /> | 4.23 || 0x4EACE0 ||<br /> |-<br /> | 4.25 || 0x4EAE30 || Reverted to 4.20 - 4.21 version?<br /> |-<br /> | 4.78 - 4.82 || 0x4EB8C0 ||<br /> |}<br /> <br /> ===ps2_gxemu.self===<br /> <br /> ====Self System Table Offset====<br /> {| cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; border=&quot;1&quot; class=&quot;wikitable&quot; style=&quot;text-align: center;&quot;<br /> |-<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 1.50 || 0x5BDFC8 ||<br /> |-<br /> | 1.90 || 0x666C78 ||<br /> |-<br /> | 3.66 - 3.74 || 0x6766B8 ||<br /> |-<br /> | 4.00 - 4.11 || 0x677990 ||<br /> |-<br /> | 3.66 - 3.74 || 0x677AA8 ||<br /> |-<br /> | 4.78 - 4.82 || 0x678548 || <br /> |-<br /> |}<br /> <br /> ===ps2_softemu.self===<br /> <br /> ====Self System Table Offset====<br /> {| cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; border=&quot;1&quot; class=&quot;wikitable&quot; style=&quot;text-align: center;&quot;<br /> |-<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 1.90 || 0x5C7B10 ||<br /> |-<br /> | 2.50 || 0x5C7ED8 ||<br /> |-<br /> | 3.41 || 0x5C8C00 || <br /> |-<br /> | 3.66 - 3.71 || 0x5C8EC0 ||<br /> |-<br /> | 3.72 - 4.01 || 0x5C8E40 ||<br /> |}<br /> <br /> ===ps2_netemu.self===<br /> [[PS2_Classics_Emulator_Compatibility_List|PS2 Classics Emulator Compatibility List]]<br /> <br /> ====Self System Table Offset====<br /> {| cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; border=&quot;1&quot; class=&quot;wikitable&quot; style=&quot;text-align: center;&quot;<br /> |-<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 3.73 - 3.74 || 0x7D8B00 ||<br /> |-<br /> | 4.00 - 4.01 || 0x7DA200 ||<br /> |-<br /> | 4.10 - 4.11 || 0x7DA180 ||<br /> |-<br /> | 4.20 - 4.25 || 0x7DA500 ||<br /> |-<br /> | 4.78 - 4.83 || 0x751280 || <br /> |-<br /> |}<br /> <br /> ====General observations regarding PS2 Classics emulator====<br /> * Virtual memory cards are per title based, but apparently run through the current memory card system. The module used to manage memory cards is: vmc_savedata_plugin.sprx - Using a regular memory card that has been renamed result in a &quot;The save data is corrupt (8XXXXXXX) error&quot;<br /> * Loads an epilepsy warning before PS2 logo (PS button menu appears during epilepsy warning if controller is synced)<br /> * Does not support online functionality of PS2 titles (network configuration utility inside Full Spectrum Warrior claims no network adaptor has been found, same with Syphon Filter: The Omega Strain).<br /> <br /> - Only file that is needed in the folder for PS2 Classics is &quot;iso.bin.enc&quot;. Removing the manuals/DXT files will cause the game to boot IMMEDIATELY to the PS2 logo upon switching to 720p/starting PS2 LPAR.<br /> <br /> ====folder/file layout====<br /> (in this example GTA San Andreas Classic)<br /> &lt;pre&gt;<br /> [NPUD20946]<br /> [USRDIR]<br /> [CONTENT]<br /> 001.dxt<br /> 002.dxt<br /> 003.dxt<br /> 004.dxt<br /> 005.dxt<br /> 006.dxt<br /> 007.dxt<br /> 008.dxt<br /> 009.dxt<br /> 010.dxt<br /> 011.dxt<br /> 012.dxt<br /> 013.dxt<br /> 014.dxt<br /> 015.dxt<br /> 016.dxt<br /> 017.dxt<br /> Others.dxt<br /> Manual.idx<br /> [SAVEDATA]<br /> SCEVMC0.VME<br /> SCEVMC1.VME<br /> CONFIG<br /> ISO.BIN.EDAT<br /> ISO.BIN.ENC<br /> PS3LOGO.DAT<br /> PARAM.SFO<br /> ICON0.PNG<br /> PIC0.PNG<br /> PIC1.PNG<br /> PIC2.PNG<br /> &lt;/pre&gt;<br /> <br /> ==Virtual PS2 (emulated machine) usage and features==<br /> <br /> ===Video Modes===<br /> '''Note:''' Real PS2 : http://users.neoscientists.org/~blue/ps2videomodes.txt<br /> <br /> Video Modes<br /> ----.-----------.---------------.-----------.-----------.<br /> No | Name | Resolution | fV(Hz) | fH(kHz) |<br /> ----+-----------+---------------+-----------+-----------|<br /> 0 | NTSC-NI | 640x240(224) | 59.940 | 15.734 |<br /> 1 | NTSC-I | 640x480(448) | 59.820 | 15.734 |<br /> 2 | PAL-NI | 640x288(256) | 50.000 | 15.625 |<br /> 3 | PAL-I | 640x576(512) | 49.760 | 15.625 |<br /> 4 | VESA-1A | 640x480 | 59.940 | 31.469 |<br /> 5 | VESA-1C | 640x480 | 75.000 | 37.500 |<br /> 6 | VESA-2B | 800x600 | 60.317 | 37.879 |<br /> 7 | VESA-2D | 800x600 | 75.000 | 46.875 |<br /> 8 | VESA-3B | 1024x768 | 60.004 | 48.363 |<br /> 9 | VESA-3D | 1024x768 | 75.029 | 60.023 |<br /> 10 | VESA-4A | 1280x1024 | 60.020 | 63.981 |<br /> 11 | VESA-4B | 1280x1024 | 75.025 | 79.976 |<br /> 12 | DTV-480P | 720x480 | 59.940 | 31.469 |<br /> 13 | DTV-1080I | 1920x1080 | 60.000 | 33.750 |<br /> 14 | DTV-720P | 1280x720 | ?? | ?? |<br /> ----^-----------^---------------^-----------^-----------'<br /> <br /> ===Memory Mapping===<br /> == PCSX2 ==<br /> Mapping host memory for virtual systems...<br /> EE Main Memory @ 0x20000000 -&gt; 0x22884000 [40mb]<br /> IOP Main Memory (2mb) @ 0x24000000 -&gt; 0x24211000 [2mb]<br /> VU0/1 on-chip memory @ 0x28000000 -&gt; 0x2800A000 [40kb]<br /> Reserving memory for recompilers...<br /> SuperVU0 Recompiler Cache @ 0x0E800000 -&gt; 0x0F000000 [8mb]<br /> SuperVU1 Recompiler Cache @ 0x0F000000 -&gt; 0x0F800000 [8mb]<br /> Micro VU0 Recompiler Cache @ 0x3C000000 -&gt; 0x40000000 [64mb]<br /> Micro VU1 Recompiler Cache @ 0x40000000 -&gt; 0x44000000 [64mb]<br /> (thread:MTVU) Calling pthread_create...<br /> R5900-32 Recompiler Cache @ 0x30000000 -&gt; 0x34000000 [64mb]<br /> R3000A Recompiler Cache @ 0x34000000 -&gt; 0x36000000 [32mb]<br /> VIF0 Unpack Recompiler Cache @ 0x36000000 -&gt; 0x36800000 [8mb]<br /> VIF1 Unpack Recompiler Cache @ 0x38000000 -&gt; 0x38800000 [8mb]<br /> <br /> == ps2netemu == <br /> Mapping ELF @ 0x200000000<br /> <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Name !! ea !! lpar2(netemu 4.81) !! size !! flags !! lpar1(lv1 4.81)<br /> |-<br /> | text || 0x0 || 0x3D00000 || 0x300000( 3 MB) || 0x8000000000000003 0000000000000003 || 0x7D00000<br /> |- <br /> | ro_work || 0x300000 || 0x300000 || 0x500000( 5 MB) || 0x0000000000000003 0000000000000003 || 0x4300000<br /> |- <br /> | rw_work || 0x800000 || 0x800000 || 0x2A00000( 42 MB) || 0x0000000000000001 0000000000000003 || 0x4800000<br /> |- <br /> | negmem || 0x1FFF0000 || 0x3210000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000000 || 0x7210000<br /> |- <br /> | ee_ram || 0x100000000 || 0x64000E000000 || 0x2000000( 32 MB) || 0x0000000000000001 0000000000000000 || 0x3C00000 - 0x3F00000, 0x8000000 - 0x9B00000<br /> |- <br /> | ee_jit_code || 0xD00000000 || 0x680024000000 || 0x3000000( 48 MB) || 0x8000000000000001 0000000000000003 || 0xBC00000 - 0xEB00000<br /> |- <br /> | vu0_jit_code || 0xD08000000 || 0x580000800000 || 0x400000( 4 MB) || 0x8000000000000001 0000000000000003 || 0x900000 - 0xC00000<br /> |- <br /> | vu0_jit_data || 0xD0C000000 || 0x3700000 || 0x400000( 4 MB) || 0x0000000000000002 0000000000000003 || 0x7700000<br /> |- <br /> | eeram_jit_lut || 0xE00000000 || 0x640010000000 || 0x2000000( 32 MB) || 0x0000000000000001 0000000000000003 || 0x9C00000 - 0xBB00000<br /> |- <br /> | eerom_jit_lut || 0xE0FC00000 || 0x580000C00000 || 0x400000( 4 MB) || 0x0000000000000001 0000000000000003 || 0xD00000 - 0x1000000<br /> |- <br /> | ee_dbg_ram || 0x90FFF8000 || 0x64000E078000 || 0x8000( 32 KB) || 0x0000000000000001 0000000000000000 || <br /> |- <br /> | iop_ram || 0x400000000 || 0x3300000 || 0x200000( 2 MB) || 0x0000000000000001 0000000000000000 || 0x7300000<br /> |- <br /> | iop_rom || 0x50FC00000 || 0x580001000000 || 0x400000( 4 MB) || 0x0000000000000001 0000000000000002 || 0x1100000 - 0x1400000<br /> |- <br /> | iop_spad || 0x50F800000 || 0x3220000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000002 || 0x7220000<br /> |- <br /> | spu2_ram || 0x600000000 || 0x3500000 || 0x200000( 2 MB) || 0x0000000000000001 0000000000000000 || 0x7500000<br /> |- <br /> | spu2_ram2 || 0x600200000 || 0x3500000 || 0x200000( 2 MB) || 0x0000000000000001 0000000000000000 || 0x7500000<br /> |- <br /> | spu2_pcm || 0x1000000000 || 0x3230000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000000 || 0x7230000<br /> |- <br /> | ee_spr_lo || 0x700000000 || 0x3201000 || 0x2000( 8 KB) || 0x0000000000000001 0000000000000000 || 0x7201000<br /> |- <br /> | ee_spr || 0x800000000 || 0x3203000 || 0x6000( 24 KB) || 0x0000000000000001 0000000000000000 || 0x7203000<br /> |- <br /> | ee_vu0_dmem0 || 0x301004000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_vu0_dmem1 || 0x301005000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_vu0_dmem2 || 0x301006000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_vu0_dmem3 || 0x301007000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_rom || 0x30FC00000 || 0x580001000000 || 0x400000( 4 MB) || 0x0000000000000001 0000000000000001 || 0x1100000 - 0x1400000<br /> |- <br /> | vrc || 0xC00000000 || 0x600005000000 || 0x1000000( 16 MB) || 0x0000000000000001 0000000000000000 || 0x1500000 - 0x2400000<br /> |- <br /> | /dev/zero || 0x4000000000 || 0x3240000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000001 || 0x7240000<br /> |- <br /> | dma_vu0_dmem0 || 0x4001004000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | dma_vu0_dmem1 || 0x4001005000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | dma_vu0_dmem2 || 0x4001006000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | dma_vu0_dmem3 || 0x4001007000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem0 || 0x30000000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem1 || 0x30001000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem2 || 0x30002000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem3 || 0x30003000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | SGSXdr || 0x1904000000 || 0x64000C000000 || 0x1700000( 23 MB) || 0x0000000000000001 0000000000000000 || 0x2500000 - 0x3B00000<br /> |- <br /> | iopTrace || 0x1400000000 || 0x3250000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000000 || 0x7250000<br /> |}<br /> <br /> === Memory Allocation ===<br /> <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Name !! Size !! page_log2 !! lpar2(netemu 4.81) !! lpar1(lv1 4.81)<br /> |-<br /> | ra_vu0_dmem || 0x1000 (4 KB) || 12 (4 KB) || 0x3200000 || 0x7200000<br /> |- <br /> | ra_ee_spr_lo || 0x2000 (8 KB) || 12 (4 KB) || 0x3201000 || 0x7201000<br /> |- <br /> | ra_ee_sprx || 0x6000 (24 KB) || 12 (4 KB) || 0x3203000 || 0x7203000<br /> |- <br /> | ra_negmem || 0x10000 (64 KB) || 16 (64 KB) || 0x3210000 || 0x7210000<br /> |- <br /> | ra_iop_spad || 0x10000 (64 KB) || 16 (64 KB) || 0x3220000 || 0x7220000<br /> |- <br /> | ra_spu2_pcm || 0x10000 (64 KB) || 16 (64 KB) || 0x3230000 || 0x7230000<br /> |- <br /> | ra_nulls || 0x10000 (64 KB) || 16 (64 KB) || 0x3240000 || 0x7240000<br /> |- <br /> | ra_itrace || 0x10000 (64 KB) || 16 (64 KB) || 0x3250000 || 0x7250000<br /> |- <br /> | ra_iop_ram || 0x200000 (2 MB) || 20 (1 MB) || 0x3300000 || 0x7300000<br /> |- <br /> | ra_spu2_ram || 0x200000 (2 MB) || 20 (1 MB) || 0x3500000 || 0x7500000<br /> |- <br /> | ra_vu0_code || 0x400000 (4 MB) || 20 (1 MB) || 0x580000800000 || 0x900000 - 0xC00000<br /> |- <br /> | ra_vu0_data || 0x400000 (4 MB) || 20 (1 MB) || 0x3700000 || 0x7700000<br /> |- <br /> | ra_ee_rom_pc || 0x400000 (4 MB) || 20 (1 MB) || 0x580000C00000 || 0xD00000 - 0x1000000<br /> |- <br /> | ra_ps2_rom || 0x400000 (4 MB) || 20 (1 MB) || 0x580001000000 || 0x1100000 - 0x1400000<br /> |- <br /> | ra_vrc_mem || 0x1000000 (16 MB) || 20 (1 MB) || 0x600005000000 || 0x1500000 - 0x2400000<br /> |- <br /> | ra_sgs_xdr || 0x1700000 (23 MB) || 20 (1 MB) || 0x64000C000000 || 0x2500000 - 0x3B00000<br /> |- <br /> | ra_ee_ram || 0x2000000 (32 MB) || 20 (1 MB) || 0x64000E000000 || 0x3C00000 - 0x3F00000, 0x8000000 - 0x9B00000<br /> |- <br /> | ra_ee_ram_pc || 0x2000000 (32 MB) || 20 (1 MB) || 0x640010000000 || 0x9C00000 - 0xBB00000<br /> |- <br /> | ra_trans_code || 0x3000000 (48 MB) || 20 (1 MB) || 0x680024000000 || 0xBC00000 - 0xEB00000<br /> |}<br /> <br /> ===PS2 Memory and Hardware Mapped Registers Layout===<br /> ----------------------------------------------- <br /> PCSX2<br /> Mapping host memory for virtual systems...<br /> EE Main Memory @ 0x20000000 -&gt; 0x22884000 [40mb]<br /> IOP Main Memory (2mb) @ 0x24000000 -&gt; 0x24211000 [2mb]<br /> VU0/1 on-chip memory @ 0x28000000 -&gt; 0x2800A000 [40kb]<br /> Reserving memory for recompilers...<br /> SuperVU0 Recompiler Cache @ 0x0E800000 -&gt; 0x0F000000 [8mb]<br /> SuperVU1 Recompiler Cache @ 0x0F000000 -&gt; 0x0F800000 [8mb]<br /> Micro VU0 Recompiler Cache @ 0x3C000000 -&gt; 0x40000000 [64mb]<br /> Micro VU1 Recompiler Cache @ 0x40000000 -&gt; 0x44000000 [64mb]<br /> (thread:MTVU) Calling pthread_create...<br /> R5900-32 Recompiler Cache @ 0x30000000 -&gt; 0x34000000 [64mb]<br /> R3000A Recompiler Cache @ 0x34000000 -&gt; 0x36000000 [32mb]<br /> VIF0 Unpack Recompiler Cache @ 0x36000000 -&gt; 0x36800000 [8mb]<br /> VIF1 Unpack Recompiler Cache @ 0x38000000 -&gt; 0x38800000 [8mb]<br /> <br /> R5900 RAM copy @ 0x11C20000 -&gt; 0x13C20000 [32mb]<br /> R5900 RAM LUT @ 0x13C20000 -&gt; 0x16060000 [36mb]<br /> <br /> RAM Sizes - Overview<br /> --------------------<br /> EE - 32 MB<br /> GS - 4 MB<br /> IOP - 2 MB<br /> SPU - 2 MB <br /> <br /> Logical Address Range Physical Address Range Description Size<br /> --------------------- ---------------------- ----------- -----<br /> 0x80000000-0x800FFFFF 0x00000000-0x000FFFFF EE Kernel 1 MB<br /> 0x00100000-0x01FFFFFF 0x00100000-0x01FFFFFF EE RAM (Cached) 31 MB<br /> 0x20100000-0x21FFFFFF 0x00100000-0x01FFFFFF EE RAM (Uncached) 31 MB<br /> 0x30100000-0x31FFFFFF 0x00100000-0x01FFFFFF EE RAM (Uncached&amp;accelerated) 31 MB<br /> 0x10000000-0x11FFFFFF 0x10000000-0x11FFFFFF EE Registers (uncached) 32 MB<br /> 0x12000000-0x13FFFFFF 0x12000000-0x13FFFFFF GS Registers (uncached) 32 MB<br /> 0x1FC00000-0x1FFFFFFF 0x1FC00000-0x1FFFFFFF? Boot ROM0 (uncached) 4 MB<br /> 0x9FC00000-0x9FFFFFFF 0x1FC00000-0x1FFFFFFF? Boot ROM09 (cached) 4 MB<br /> 0xBFC00000-0xBFFFFFFF 0x1FC00000-0x1FFFFFFF? Boot ROM0b (uncached) 4 MB<br /> 0xBE000000-0xBE040000 0x1E000000-0x1E03FFFF? Boot ROM1 256 KB<br /> 0xBE400000-0xBE440000 0x1E400000-0x1E43FFFF? Boot ROM2 256 KB<br /> 0xBC000000-0xBC1FFFFF 0x1C000000-0x1C1FFFFF? IOP RAM 2 MB<br /> 0x70000000-0x70003FFF ---------------------- Scratch Pad 16 KB <br /> <br /> Kernel empty and unused areas (NB: On non-modded consoles)<br /> ----------------------------------------------------------<br /> Area Logical Address Range Physical Address Range Size<br /> ---- --------------------- ---------------------- ----<br /> #1 0x80030000-0x80074FFF 0x00030000-0x00074FFF 282624 Bytes<br /> #2 0x80078250-0x8007FFFF 0x00078250-0x0007FFFF 32176 Bytes<br /> <br /> RAM Mirror Modes Logical Address Range Physical Address Range Size<br /> ---------------- --------------------- ---------------------- ----<br /> Cached 0x00100000-0x01FFFFFF 0x00100000-0x01FFFFFF 31 MB<br /> Uncached 0x20100000-0x21FFFFFF 0x00100000-0x01FFFFFF 31 MB<br /> Uncached&amp;accelerated 0x30100000-0x31FFFFFF 0x00100000-0x01FFFFFF 31 MB<br /> <br /> Operating Modes Logical Address Range Physical Address Range Size<br /> --------------- --------------------- ---------------------- ----<br /> USEG 0x00000000-0x01FFFFFF 0x00000000-0x01FFFFFF 32 MB<br /> KSEG0 0x80000000-0x81FFFFFF 0x00000000-0x01FFFFFF 32 MB<br /> KSEG1 0xA0000000-0xA1FFFFFF 0x00000000-0x01FFFFFF 32 MB<br /> <br /> Hardware Mapped Registers <br /> ------------------------- <br /> <br /> COUNTERS' REGISTERS<br /> -------------------<br /> 10000000 T0_COUNT Timer Count<br /> 10000010 T0_MODE Timer Mode<br /> 10000020 T0_COMP Timer Compare value<br /> 10000030 T0_HOLD Timer Pause <br /> <br /> 10000800 T1_COUNT Timer Count<br /> 10000810 T1_MODE Timer Mode<br /> 10000820 T1_COMP Timer Compare value<br /> 10000830 T1_HOLD Timer Pause <br /> <br /> 10001000 T2_COUNT Timer Count<br /> 10001010 T2_MODE Timer Mode<br /> 10001020 T2_COMP Timer Compare value<br /> <br /> 10001810 T3_COUNT Timer Count<br /> 10001820 T3_MODE Timer Mode<br /> 10001830 T3_COMP Timer Compare value<br /> <br /> IPU REGISTERS (MPEG2 DECODER)<br /> -----------------------------<br /> 10002000 IPU_CMD<br /> 10002010 IPU_CTRL<br /> 10002020 IPU_BP<br /> 10002030 IPU_TOP<br /> <br /> GIF REGISTERS<br /> -------------<br /> 10003000 GIF_CTRL<br /> 10003010 GIF_MODE<br /> 10003020 GIF_STAT<br /> 10003040 GIF_TAG0<br /> 10003050 GIF_TAG1<br /> 10003060 GIF_TAG2<br /> 10003070 GIF_TAG3<br /> 10003080 GIF_CNT<br /> 10003090 GIF_P3CNT<br /> 100030a0 GIF_P3TAG <br /> <br /> VIF0 REGISTERS<br /> -------------- <br /> 10003800 VIF0_STAT VIF0 Status<br /> 10003810 VIF0_FBRST<br /> 10003820 VIF0_ERR<br /> 10003830 VIF0_MARK<br /> 10003840 VIF0_CYCLE<br /> 10003850 VIF0_MODE <br /> 10003860 VIF0_NUM<br /> 10003870 VIF0_MASK<br /> 10003880 VIF0_CODE<br /> 10003890 VIF0_ITOPS<br /> 100038d0 VIF0_ITOP<br /> 10003900 VIF0_R0<br /> 10003910 VIF0_R1<br /> 10003920 VIF0_R2<br /> 10003930 VIF0_R3<br /> 10003940 VIF0_C0<br /> 10003950 VIF0_C1<br /> 10003960 VIF0_C2<br /> 10003970 VIF0_C3 <br /> <br /> VIF1 REGISTERS<br /> --------------<br /> 10003c00 VIF1_STAT<br /> 10003c10 VIF1_FBRST<br /> 10003c20 VIF1_ERR<br /> 10003c30 VIF1_MARK<br /> 10003c40 VIF1_CYCLE<br /> 10003c50 VIF1_MODE<br /> 10003c60 VIF1_NUM<br /> 10003c70 VIF1_MASK<br /> 10003c80 VIF1_CODE<br /> 10003c90 VIF1_ITOPS<br /> 10003ca0 VIF1_BASE<br /> 10003cb0 VIF1_OFST<br /> 10003cc0 VIF1_TOPS<br /> 10003cd0 VIF1_ITOP<br /> 10003ce0 VIF1_TOP<br /> 10003d00 VIF1_R0<br /> 10003d10 VIF1_R1<br /> 10003d20 VIF1_R2<br /> 10003d30 VIF1_R3<br /> 10003d40 VIF1_C0<br /> 10003d50 VIF1_C1<br /> 10003d60 VIF1_C2<br /> 10003d70 VIF1_C3<br /> <br /> FIFO<br /> ----<br /> 10004000 VIF0_FIFO(write)<br /> 10005000 VIF1_FIFO(read/write) <br /> <br /> 10006000 GIF_FIFO0<br /> 10006010 GIF_FIFO1<br /> 10006020 GIF_FIFO2 <br /> <br /> 10007000 IPU_out_FIFO(read)<br /> 10007010 IPU_in_FIFO(write)<br /> <br /> DMA CH0 REGISTERS (Linked to VIF0)<br /> ----------------------------------<br /> 10008000 D0_CHCR DMA-0 Channel Control<br /> 10008010 D0_MADR Memory Address<br /> 10008020 D0_SIZE Transfer Size (they call it D0_QWC)<br /> 10008030 D0_TAG DMA Tag (they call it D0_TADR)<br /> 10008040 D0_??LO they call it D0_ASR0<br /> 10008050 D0_??HI they call it D0_ASR1 <br /> <br /> DMA CH1 REGISTERS (Linked to VIF1)<br /> ----------------------------------<br /> 10009000 D1_CHCR DMA-1 Channel Control<br /> 10009010 D1_MADR Memory Address<br /> 10009020 D1_SIZE Transfer Size (they call it D1_QWC)<br /> 10009030 D1_TAG DMA Tag (they call it D1_TADR)<br /> 10009040 D1_??LO they call it D1_ASR0<br /> 10009050 D1_??HI they call it D1_ASR1 <br /> <br /> DMA CH2 REGISTERS (Linked to GIF)<br /> ---------------------------------<br /> 1000A000 D2_CHCR DMA-2 Channel Control<br /> 1000A010 D2_MADR Memory Address<br /> 1000A020 D2_SIZE Transfer Size (they call it D2_QWC)<br /> 1000A030 D2_TAG DMA Tag (they call it D2_TADR)<br /> 1000A040 D2_??LO they call it D2_ASR0<br /> 1000A050 D2_??HI they call it D2_ASR1<br /> 1000A080 D2_SADR<br /> <br /> DMA CH3 REGISTERS (Linked to IPU (FROM???))<br /> --------------------------------------------<br /> 1000B000 D3_CHCR DMA-3 Channel Control<br /> 1000B010 D3_MADR Memory Address<br /> 1000B020 D3_QWC Transfer Size<br /> <br /> DMA CH4 REGISTERS (Linked to IPU (TO???))<br /> -----------------------------------------<br /> 1000B400 D4_CHCR DMA-4 Channel Control<br /> 1000B410 D4_MADR Memory Address<br /> 1000B420 D4_QWC Transfer Size<br /> 1000B430 D4_TADR DMA Tag<br /> <br /> DMA CH5 REGISTERS (Linked to SIF0)<br /> ----------------------------------<br /> 1000C000 D5_CHCR DMA-4 Channel Control<br /> 1000C010 D5_MADR Memory Address<br /> 1000C020 D5_QWC Transfer Size <br /> <br /> DMA CH6 REGISTERS (Linked to SIF1)<br /> ----------------------------------<br /> 1000C400 D6_CHCR DMA-6 Channel Control<br /> 1000C410 D6_MADR Memory Address<br /> 1000C420 D6_QWC Transfer Size<br /> 1000C430 D6_TADR DMA Tag <br /> <br /> DMA CH7 REGISTERS (Linked to SIF2)<br /> ----------------------------------<br /> 1000C800 D7_CHCR DMA-7 Channel Control<br /> 1000C810 D7_MADR Memory Address<br /> 1000C820 D7_QWC Transfer Size<br /> <br /> DMA CH8 REGISTERS (Linked to SPR (form SCRATCH PAD to RAM???)<br /> --------------------------------------------------------------<br /> 1000D000 D8_CHCR DMA-8 Channel Control<br /> 1000D010 D8_MADR Memory Address<br /> 1000D020 D8_QWC Transfer Size<br /> 1000D080 D8_MCR ???<br /> <br /> DMA CH9 REGISTERS (Linked to SPR (form RAM to SCRATCH PAD???)<br /> --------------------------------------------------------------<br /> 1000D400 D9_CHCR DMA-9 Channel Control<br /> 1000D410 D9_MADR Memory Address<br /> 1000D420 D9_QWC Transfer Size<br /> 1000D430 D9_TADR DMA Tag<br /> 1000D480 D9_MCR? ??? <br /> <br /> DMA CONTROL REGISTERS<br /> ---------------------<br /> 1000E000 D_CTRL DMA Control<br /> 1000E010 D_STAT DMA Status<br /> 1000E020 D_PCR <br /> 1000E030 D_SQWC<br /> 1000E040 D_RBSR<br /> 1000E050 D_RBOR<br /> 1000E060 D_STADR<br /> <br /> 1000F000 INTC_STAT<br /> 1000F010 INTC_MASK<br /> <br /> 1000F100<br /> 1000F120<br /> 1000F130 STD-OUT STATUS???<br /> 1000F140<br /> 1000F150<br /> 1000F180 STD-OUT DATA???<br /> <br /> 1000F230 SBUS_SMFLG<br /> <br /> 1000F410<br /> 1000F430<br /> 1000F440<br /> 1000F480<br /> 1000F490<br /> 1000F500 <br /> <br /> 1000f520 D_ENABLEW<br /> 1000f590 D_ENABLER<br /> <br /> <br /> VU MAPPED MEMORY REGISTERS<br /> --------------------------<br /> 11000000 VU0 PROGRAM MEMORY Program Memory (4K ROM)<br /> 11001000 VU0 MEMORY Memory (4K ROM)<br /> 11008000 VU1 PROGAM MEMORY VU1 Program Memory (16K ROM)<br /> 1100C000 VU1 MEMORY VU1 Memory (16K ROM)<br /> <br /> GS<br /> --<br /> 12000000 GS_PMODE<br /> 12000010 GS_SMODE1<br /> 12000020 GS_SMODE2<br /> 12000030 GS_SRFSH<br /> 12000040 GS_SYNCH1<br /> 12000050 GS_SYNCH2<br /> 12000060 GS_SYNCV<br /> 12000070 GS_DISPFB1<br /> 12000080 GS_DISPLAY1<br /> 12000090 GS_DISPFB2<br /> 120000a0 GS_DISPLAY2<br /> 120000b0 GS_EXTBUF<br /> 120000c0 GS_EXTDATA<br /> 120000d0 GS_EXTWRITE<br /> 120000e0 GS_BGCOLOR<br /> 12001000 GS_CSR<br /> 12001010 GS_IMR<br /> 12001040 GS_BUSDIR<br /> 12001080 GS_SIGLBLID<br /> <br /> Scratch Pad RAM Address Range<br /> -----------------------------<br /> 0x70000000-0x70003FFF<br /> <br /> ROM BIOS Mirror Address Range Logical Address Range Physical Address Range<br /> ----------------------------- --------------------- ----------------------<br /> Uncached 0x1FC00000-0x1FFFFFFF 0x1FC00000-0x1FFFFFFF<br /> Cached 0x9FC00000-0x9FFFFFFF 0x1FC00000-0x1FFFFFFF<br /> Uncached 0xBFC00000-0xBFFFFFFF 0x1FC00000-0x1FFFFFFF <br /> <br /> Some Acronyms<br /> --------<br /> EE - Emotion Engine (main CPU)<br /> GS - Graphics Synthesizer<br /> IOP - Input/Output Processor<br /> SPU - Sound Processor Unit<br /> USEG - User Mode Segment<br /> KSEG0 - Kernel Mode, Segment 0<br /> KSEG1 - Kernel Mode, Segment 1 <br /> <br /> Sources<br /> -------<br /> TX System RISC TX79 Core Architecture (Symmetric 2-way superscalar 64-bit CPU) Rev. 2.0<br /> (http://lukasz.dk/files/tx79architecture.pdf)<br /> PS2 MEMORY &amp; HARDWARE MAPPED REGISTERS LAYOUT, by Minmei (https://web.archive.org/web/20080722165353/http://ps2dev.org/ps2/Technical_Documentation/Other/PS2_Memory_and_Hardware_Mapped_Registers_Layout.download) <br /> Kernel empty and unused areas, by GTLCPIMP (https://artemis.bountysource.com/task/show/2270)<br /> dump2mass, by misfire (https://artemis.bountysource.com/solution/show/1074)<br /> ... and others ones spreaded out on the World Wide Web which I can't remember<br /> <br /> ===Controller===<br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! ID !! Controller #Number !! Note<br /> |-<br /> | 1 (1-A) || 1 ||<br /> |-<br /> | 2 (2-A) || 2 ||<br /> |-<br /> | 3 (1-B) || 3 ||<br /> |-<br /> | 4 (2-B) || 4 ||<br /> |-<br /> | 5 (1-C) || 5 || Gamepad LED #1 + #4<br /> |-<br /> | 6 (2-C) || 6 || Gamepad LED #2 + #4<br /> |-<br /> | 7 (1-D) || 7 || Gamepad LED #3 + #4<br /> |-<br /> |}<br /> <br /> ===Peripheral support===<br /> ====ps2_emu.self / ps2_gxemu.self====<br /> #Hub<br /> #Mouse<br /> #Keyboard<br /> #EyeToy<br /> #Head Mount Display<br /> #Mic<br /> #Ascii Mic<br /> #Socom USB Headset<br /> #Usb Headset<br /> #Sea Mic Controller<br /> #Force Feedback device<br /> #GT Force<br /> #Momo Force<br /> #Driving Force Pro<br /> #G25/G27<br /> #Momo Racing<br /> #Flight Force<br /> #Force 3D Pro<br /> #Modem<br /> #Guncon2<br /> #Densya de GO! controller type 2<br /> #Densya de GO! Sincansen senyou controller<br /> #Capture Eye<br /> #Flight Stick<br /> #Flight Stick 2<br /> #Pop Egg<br /> #Trance Vibrator<br /> #PSP<br /> #Compact Flight Controller<br /> #Flash Memory<br /> #Buzz!<br /> #Pachi-Slot Controller Kurouto<br /> #Usb Adapter<br /> #Guncon3<br /> #Multi Train Controller<br /> <br /> ====ps2_netemu.self====<br /> #BD Remote Control<br /> #PLAYSTATION(R)3 Controller (Vendor ID 0x54C, Product ID 0x268), <br /> #Motion Controller - Move (Vendor ID 0x54C, Product ID 0x3D5), <br /> #Navigation Controller (Vendor ID 0x54C, Product ID 0x42F)<br /> #&quot;guncon3&quot;<br /> &lt;br/&gt;<br /> Unknown: <br /> #Vendor ID 0xF0D (Hori), Product ID 0x4A <br /> #Vendor ID 0x54C (Sony), Product ID 0x5AF<br /> <br /> ===BIOS===<br /> ====ps2_netemu.self====<br /> Ps2_netemu use integrated PS2 bios included in ps2netemu.elf, not additional file like in ps1emu case. In 4.81 firmware BIOS is located from 0x820A00 to 0x9F09FF (0x820900 to 0x9F08FF in fw4.50). Bios version seems to be Developement v2.20 from Japan region (22/01/2007), but it's of course not limited to booting only NTSC-J games.<br /> <br /> Notable thing is that ps2_netemu run fine with ps2_gxemu bios, but fail to boot using ps2_emu bios. <br /> <br /> {| class=&quot;wikitable&quot; style=&quot;font-size:small;&quot;<br /> |-<br /> ! File !! Offset in fw4.81 ps2_netemu !! Offset in exported bin !! Description !! File type (exportable)<br /> |-<br /> | RESET || 0x820A00 || 0x00 || Bootstrap code for the EE and IOP. || BIN<br /> |-<br /> | ROMDIR || 0x823180 || 0x2780 || The ROMDIR part of the ROM image, which provides information on the location and name of files contained in the image. || BIN<br /> |-<br /> | EXTINFO || 0x8236C0 || 0x2CC0 || Contains the &quot;EXTINFO&quot; for all files in the ROM image. || BIN<br /> |-<br /> | SBIN || 0x823D30 || 0x3330 || Seems to be the pad controller library for the PS1 monitor. || BIN<br /> |-<br /> | LOGO || 0x82ACD0 || 0xA2D0 || PS1 logo? || BIN<br /> |-<br /> | IOPBTCONF || 0x83F420 || 0x1EA20 || Boot configuration file for the IOP, during the final phase of the IOP reset. If no UDNL module is specified, the IOP will only have a single IOP reset in the reboot process, with the modules listed in IOPBTCONF. || BIN<br /> |-<br /> | IOPBTCON2 || 0x83F510 || 0x1EB10 || Boot configuration file for the IOP, for the first phase of the IOP reset (before UDNL is loaded). || BIN<br /> |-<br /> | SYSMEM || 0x83F5E0 || 0x1EBE0 || System Memory Manager. || ELF<br /> |-<br /> | LOADCORE || 0x840800 || 0x1FE00 || The core of IOP module loading. Provides the lowest level of IOP module loading functions. Also handles the startup of the IOP. || ELF<br /> |-<br /> | EXCEPMAN || 0x842D80 || 0x22380 || Exception manager. || ELF<br /> |-<br /> | INTRMANP || 0x843960 || 0x22F60 || Interrupt Manager. According to wisi, it is for PS mode. || ELF<br /> |-<br /> | INTRMANI || 0x845370 || 0x24970 || Interrupt Manager. According to wisi, it is for IOP mode. || ELF<br /> |-<br /> | SSBUSC || 0x8471B0 || 0x267B0 || SSBUS Controller library. The SSBUS seems to be the bus that all peripherals get connected to. It seems to have the power to control the mapping of the device registers, as well as access timing. || ELF<br /> |-<br /> | TIMEMANP || 0x847920 || 0x26F20 || Timer Manager (PS mode) || ELF<br /> |-<br /> | TIMEMANI || 0x848500 || 0x27B00 || Timer Manager (IOP mode) || ELF<br /> |-<br /> | DMACMAN || 0x849130 || 0x28730 || DMA Controller Manager. || ELF<br /> |-<br /> | SYSCLIB || 0x84C830 || 0x2BE30 || System C Library. || ELF<br /> |-<br /> | HEAPLIB || 0x84EF90 || 0x2E590 || Memory HEAP LIBrary (i.e. thvpool, thfpool) || ELF<br /> |-<br /> | THREADLIB || 0x84FC90 || 0x2F290 || Multi_Thread_Manager || ELF<br /> |-<br /> | VBLANK || 0x858A20 || 0x38020 || V-Blank management || ELF<br /> |-<br /> | IOMAN || 0x8597B0 || 0x38DB0 || IO Manager || ELF<br /> |-<br /> | MODLOAD || 0x85B720 || 0x3AD20 || IOP module loader. || ELF<br /> |-<br /> | ROMDRV || 0x85DA70 || 0x3D070 || ROM driver. Provides access to the boot ROM (rom0). || ELF<br /> |-<br /> | ADDDRV || 0x85E960 || 0x3DF60 || Adds support for the DVD ROM (rom1:), via ROMDRV. || ELF<br /> |-<br /> | STDIO || 0x85DDC0 || 0x3D3C0 || Standard I/O library. || ELF<br /> |-<br /> | SIFMAN || 0x85F9B0 || 0x3EFB0 || SIF manager. || ELF<br /> |-<br /> | SIFINIT || 0x860F50 || 0x40550 || Initializes the SIF. || ELF<br /> |-<br /> | EESYNC || 0x861370 || 0x40970 || For synchronizing with the EE, at the end of IOP resets. EESYNC from DNAS images are evil; they also perform a memory wipe of the region from 0x00084000 to .0x00100000. || ELF<br /> |-<br /> | EENULL || 0x861810 || 0x40E10 || The idle thread (id #0) module, in ps2 loaded to 0x00081FC0. || BIN<br /> |-<br /> | PS1ID || 0x861850 || 0x40E50 || Only found in newer boot ROMs || BIN<br /> |-<br /> | LIBFI || 0x861860 || 0x40E60 || Not present in the boot ROM of the SCPH-10000 and SCPH-15000. || BIN<br /> |-<br /> | PS1VERJ || 0x861950 || 0x40F50 || || BIN<br /> |-<br /> | PS1VERA || 0x861960 || 0x40F60 || || BIN<br /> |-<br /> | PS1VERE || 0x861970 || 0x40F70 || || BIN<br /> |-<br /> | PS1VERC || 0x861980 || 0x40F80 || || BIN<br /> |-<br /> | PS1VERH || 0x861990 || 0x40F90 || || BIN<br /> |-<br /> | OSDSYS || 0x8619A0 || 0x40FA0 || The browser || BIN<br /> |-<br /> | - || 0x8619B0 || 0x40FB0 || || BIN<br /> |-<br /> | RDRAM || 0x861A00 || 0x41000 || Provides a RDRAM test for the EE at power-on. This is run from RESET. || BIN<br /> |-<br /> | EELOADCNF || 0x864750 || 0x43D50 || Contains the IOP boot configuration file for EELOAD. || BIN<br /> |-<br /> | SIFCMD || 0x864900 || 0x43F00 || SIF command module. Contains the SIF command and SIF RPC functions. || ELF<br /> |-<br /> | REBOOT || 0x866B40 || 0x46140 || The reboot service. Receives IOP reset packets from the EE, from across the SIF. || ELF<br /> |-<br /> | LOADFILE || 0x867310 || 0x46910 || The RPC server for MODLOAD || ELF<br /> |-<br /> | EECONF || 0x869A70 || 0x49070 || Loads part of the system configuration from the MECHACON EEPROM. Also configures and resets some peripherals, depending on the model version. In slimlines, and possibly on PS3 EECONF will also load the MAC address. || ELF<br /> |-<br /> | - || 0x86A9F0 || 0x49FF0 || || BIN<br /> |-<br /> | IOPBOOT || 0x86AA00 || 0x4A000 || IOP bootup program || BIN<br /> |-<br /> | - || 0x86BB60 || 0x4B160 || || BIN<br /> |-<br /> | TBIN || 0x86C200 || 0x4B800 || The PS1 monitor program. Seems to be the PS1 BIOS. This is started by RESET, when the IOP is in PS1 mode. || BIN<br /> |-<br /> | XSHA1 || 0x87A170 || 0x59770 || sha1 - this only present in PS3. It is used as additional antipiracy check. It seems that it calculate disc main elf checksum and compares it with some database. Config related?|| ELF<br /> |-<br /> | XLOADFILE || 0x87B140 || 0x5A740 || Updated module || ELF<br /> |-<br /> | SIO2MAN || 0x87E1F0 || 0x5D7F0 || SIO2 manager. Provides access to the SIO2 interface. || ELF<br /> |-<br /> | - || 0x87FE20 || 0x5F420 || || BIN<br /> |-<br /> | MCSERV || 0x881D40 || 0x61340 || RPC server for MCMAN. || ELF<br /> |-<br /> | - || 0x883A40 || 0x63040 || || BIN<br /> |-<br /> | KROMG || 0x884A00 || 0x64000 || || BIN<br /> |-<br /> | - || 0x8866C0 || 0x65CC0 || || BIN<br /> |-<br /> | KROM || 0x886A00 || 0x66000 || Kanji ROM? Not sure where this is used. || BIN<br /> |-<br /> | - || 0x8A0870 || 0x7FE70 || || BIN<br /> |-<br /> | ROMVER || 0x8A0900 || 0x7FF00 || ROM version. || BIN<br /> |-<br /> | - || 0x8A0910 || 0x7FF10 || || BIN<br /> |-<br /> | VERSTR || 0x8A0930 || 0x7FF30 || Version string. Probably PS1 ROM will use this because that this string is also present in PlayStation consoles. || BIN<br /> |-<br /> | - || 0x8A0990 || 0x7FF90 || || BIN<br /> |-<br /> | ROMGSCRT || 0x8A0A00 || 0x80000 || || BIN<br /> |-<br /> | NCDVDMAN || 0x8A3730 || 0x82D30 || It seems to be a heavily stripped-down CDVDMAN module, with no support for some S-command functions like sceCdRI. || ELF<br /> |-<br /> | SECRMAN || 0x8B0170 || 0x8F770 || Security Manager. Signing is NOT done with the one in ROM, but with a special version that comes with the utility discs. Looks like PS3 units have a different SECRMAN module from retail sets, similar to PS2 TOOL one. || ELF<br /> |-<br /> | MCMAN || 0x8B4630 || 0x93C30 || Memory Card Manager. || ELF<br /> |-<br /> | PADMAN || 0x8C3AC0 || 0xA30C0 || Pad manager. || ELF<br /> |-<br /> | CDVDMAN || 0x8CD210 || 0xAC810 || The CD/DVD manager. || ELF<br /> |-<br /> | CDVDFSV || 0x8D55C0 || 0xB4BC0 || The RPC server for CDVDMAN. || ELF<br /> |-<br /> | FILEIO || 0x8DD980 || 0xBCF80 || RPC server for IOMAN. Sony has greatly changed the semantics and design of FILEIO after some point. Connecting an old FILEIO EE RPC client to a newer server will result in a severe IOP crash. || ELF<br /> |-<br /> | CLEARSPU || 0x8DFA80 || 0xBF080 || Seems to clear/reset the SPU, but is known to cause crashes under some conditions. Not sure if it's buggy or not. Only used by the OSDSYS of the SCPH-10000 and SCPH-15000, probably retained for backward-compatibility. || ELF<br /> |-<br /> | UDNL || 0x8E16C0 || 0xC0CC0 || It is responsible for selecting the modules and starting the IOP, during the final phase of the IOP reset where the desired modules are to be loaded into the IOP. || ELF<br /> |-<br /> | IGREETING || 0x8E35C0 || 0xC2BC0 || Displays boot information (i.e. IOP boot type, EBOOTP, IBOOTP, switch positions for DSW602 and the type of DSW602 board installed || ELF<br /> |-<br /> | EELOAD || 0x8E4620 || 0xC3C20 || The EE ELF loader, which is loaded by LoadExecPS2() to 0x00082000 in PS2 for loading ELFs. || BIN<br /> |-<br /> | XCDVDMAN || 0x8F37A0 || 0xD2DA0 || cdvd_driver - Updated module || ELF<br /> |-<br /> | XCDVDFSV || 0x902530 || 0xE1B30 || cdvd_ee_driver - Updated module || ELF<br /> |-<br /> | OSDSND || 0x910960 || 0xEFF60 || OSD sound library. This is actually the tentative sound driver, which is called &quot;librspu2&quot; in the Sony SDK. || ELF<br /> |-<br /> | PS2LOGO || 0x93B5B0 || 0x11ABB0 || Displays the PlayStation 2 logo from the inserted disc. For newer consoles, if the logo cannot be decrypted properly, it will fall back to the browser. Not actually required to boot games, but the Sony OSDSYS boots PS2 games through this program. || ELF<br /> |-<br /> | XPARAM2 || 0x957F00 || 0x137500 || Store IOP emulation settings/flags || ELF<br /> |-<br /> | OSDSYS || 0x95A400 || 0x139A00 || The browser || BIN<br /> |-<br /> | PIOPRP || 0x998280 || 0x177880 || Present in the PS3 ps2_(gx/soft/net)emu; contains version 3.1.0 of the IOP software (compared to version 1.3.4 on the root). || BIN<br /> |-<br /> | KERNEL || 0x9DC1E0 || 0x1BB7E0 || The EE kernel || BIN<br /> |}<br /> Description source: https://gist.github.com/uyjulian/25291080f083987d3f3c134f593483c5<br /> <br /> ==Virtual PS2 HDD==<br /> There are 2 different &quot;PS2 game&quot; contents that can be installed in PS3 HDD (CATEGORY's [[PARAM.SFO#CATEGORY_For_HDD_contents | 2P and 2G ]]).<br /> '''2P''' are games released from PSN as &quot;PS2 Classic&quot; in .PKG format, and '''2G''' are a few real &quot;PS2 DVD discs&quot; that can be installed in the PS3 HDD, this installation is managed by the '''PS2_system_data.pkg'''.<br /> <br /> This games can be installed in real PS2 (in the internall HDD of a PS2 fat)... later this same installation was used in the [http://en.wikipedia.org/wiki/PSX_(DVR) PSX]... and when implemented in PS3 there was needed to use a '''virtual PS2 HDD''' image file keeping the same format than the original HDD used in PS2.<br /> <br /> Game files (extracted from the real PS2 disc) are installed in a '''IMAGE.DAT''' file, this file is a 1:1 &quot;raw copy&quot; of a PS2 HDD.<br /> <br /> This '''IMAGE.DAT''' is placed in the &quot;install folder&quot; (inside USRDIR folder) and his size can vary up to 10+GB<br /> <br /> There are 2 different installations: the most common is used to store &quot;game expansions&quot; (e.g: used by additional content in SOCOM games)... the other type of installation is a &quot;full install&quot; and it seems the only game that uses it is &quot;Final Fantasy XI&quot; (main game installation when the game boots for first time + game expansions added later when needed in the same '''IMAGE.DAT''')<br /> <br /> '''PS2_system_data.pkg''' itself uses an '''IMAGE.DAT''' file (6.43 MB)<br /> <br /> The structure of this &quot;virtual PS2 HDD&quot; uses an &quot;APA header&quot; and a &quot;APA MBR&quot; + several &quot;APA partitions&quot;, some of them containing &quot;PFS filesystems&quot;.<br /> <br /> Error message trying to boot a CATEGORY &quot;2G&quot; game with hand-made SFO's and invalid IMAGE.DAT file:<br /> '''The game partition for this game cannot be created because the installed game is corrupted.'''<br /> '''To perform this operation, delete the game, and then reinstall the game using the disc.'''<br /> <br /> *Notes<br /> **List of PS2 disc games compatibles with PS3 HDD installation hardcoded in '''dev_flash/vsh/module/[[game_ext_plugin]].sprx'''<br /> **Virtuall PS2 HDD support module '''dev_flash/vsh/module/[[libps2hdd]].sprx''' ?<br /> <br /> ===PS2 System Data (PSN HDD Tool package)===<br /> A direct link to the package can be found in NoPayStation database in DLCs<br /> <br /> Content ID: IP9100-NPIA00001_00-PS2HDDSYSDAT0001<br /> QA Digest: 2A876715D42678BB7A6E00C030C0121B<br /> HASH: E1B0DBE46FC44190DC7A140681D8B9D4<br /> <br /> http://manuals.playstation.net/document/en/ps3/current/game/hddinstall.html<br /> <br /> '''Titles supporting HDD installation'''<br /> * Nobunaga's Ambition Online and Expansion Packs<br /> * Final Fantasy XI (disc1=SCUS97266 disc2=SCUS97269)and Expansion Discs<br /> * SOCOM II: U.S. NAVY SEALs and Related discs included with OPM Issue 87, OPM Issue 88, OPM Issue 89, OPM Issue 90<br /> * SOCOM 3: U.S. NAVY SEALs<br /> * SOCOM: U.S. NAVY SEALs Combined Assault<br /> * Front Mission Online<br /> * Official PlayStation Magazine Issue 87, 88, 89, 90 Discs<br /> ([[Talk:Emulation#PS2_HDD | non-official ps2hdd gameslist ]])<br /> <br /> ===TitleID/DiscID in game_ext_plugin.sprx===<br /> <br /> Mainly Final Fantasy 11, Nobunaga Ambition Online, Socom IDs and the required HDD Gigabyte amount for install onto the internal hdd.<br /> <br /> Speculation: flags are AND' with 0,1,2 (selected from sys_sm_get_hw_config according to ps2emu hardware flags? 0 = no hw?, 1 = gxemu?, 2=full hw? )<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> ! flags !! DiscID !! Alternative? DiscID !! GigaByte !! Title !! 0 = VMC&lt;br&gt;1 = IMAGE.DAT !! Internal Name? !! GigaByte<br /> |-<br /> |0xFFFF || &quot;SLPS20200&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM65705&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM65706&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM65953&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM66393&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM66394&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM66893&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM66894&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM55229&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0x0001 || &quot;SLPM65197&quot; || &quot;SLPM65197&quot; || 0x07 || &quot;信長の野望 Online&quot; || 1 || &quot;PP.SLPM-65197.MAGIC.APPLICATION&quot; || 0x07<br /> |-<br /> |0x0001 || &quot;SLPM65783&quot; || &quot;SLPM65197&quot; || 0x07 || &quot;信長の野望 Online&quot; || 1 || &quot;PP.SLPM-65197.MAGIC.APPLICATION&quot; || 0x07<br /> |-<br /> |0x0001 || &quot;SLPM66539&quot; || &quot;SLPM65197&quot; || 0x07 || &quot;信長の野望 Online&quot; || 1 || &quot;PP.SLPM-65197.MAGIC.APPLICATION&quot; || 0x07<br /> |-<br /> |0x0001 || &quot;SLPM66954&quot; || &quot;SLPM65197&quot; || 0x07 || &quot;信長の野望 Online&quot; || 1 || &quot;PP.SLPM-65197.MAGIC.APPLICATION&quot; || 0x07<br /> |-<br /> |0xFFFF || &quot;SCUS97269&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLUS21070&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLUS21404&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLUS21694&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLUS21704&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SCUS97275&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97474&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97340&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97341&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97342&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97442&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97545&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |}<br /> <br /> In PS2 Emulator same Title IDs are present with following information: <br /> SLPS25200 FINAL FANTASY XI : 0x100000000 (4 GB?)<br /> SCUS97269 FINAL FANTASY XI : 0x300000000 (12GB?)<br /> SLPM65981 Front Mission Online : 0x100000000 (4 GB?)<br /> SLPM65197 Nobunagas Ambition Online : 0x200000000 (8 GB?)<br /> <br /> ==Emulators management from GameOS==<br /> <br /> ===Mountpoints===<br /> dev_ps2disc<br /> dev_ps2disc1 <br /> <br /> ===ps2_netemu syscalls ===<br /> <br /> 0x0 - 0 = exec smth, <br /> 1 = 0x132 panic, <br /> 2 = 0x133 panic, <br /> 3 = 0x134 panic,<br /> 4 = 0x135 panic, <br /> else = 0x136 panic)<br /> 0xC - exec smth<br /> 0x5 - exec smth<br /> 0x6 - exec smth<br /> 0x10 - panic<br /> <br /> Basically are [[HV_Syscalls#HV_Syscalls|hvsc syscalls]] (xoris r11, r11, 0x8000)<br /> <br /> 0x80000000 - [[HV_Syscall_Reference#lv1_allocate_memory]]<br /> 0x80000001 - [[HV_Syscall_Reference#lv1_write_htab_entry]]<br /> 0x80000002 - [[HV_Syscall_Reference#lv1_construct_virtual_address_space]]<br /> 0x80000007 - [[HV_Syscall_Reference#lv1_select_virtual_address_space]]<br /> 0x80000009 - [[HV_Syscall_Reference#lv1_pause]]<br /> 0x8000000F - [[HV_Syscall_Reference#lv1_put_iopte]]<br /> 0x80000012 - [[HV_Syscall_Reference#lv1_construct_event_receive_port]]<br /> 0x8000001A - [[HV_Syscall_Reference#lv1_detect_pending_interrupts]]<br /> 0x8000001B - [[HV_Syscall_Reference#lv1_end_of_interrupt]]<br /> 0x8000001C - [[HV_Syscall_Reference#lv1_connect_irq_plug]]<br /> 0x80000039 - [[HV_Syscall_Reference#lv1_construct_logical_spe]]<br /> 0x8000003D - [[HV_Syscall_Reference#lv1_set_spe_interrupt_mask]]<br /> 0x80000042 - [[HV_Syscall_Reference#lv1_clear_spe_interrupt_status]]<br /> 0x80000043 - [[HV_Syscall_Reference#lv1_get_spe_interrupt_status]]<br /> 0x80000045 - [[HV_Syscall_Reference#lv1_get_logical_ppe_id]]<br /> 0x80000049 - [[HV_Syscall_Reference#lv1_set_interrupt_mask]]<br /> 0x8000004A - [[HV_Syscall_Reference#lv1_get_logical_partition_id]]<br /> 0x8000004E - [[HV_Syscall_Reference#lv1_get_spe_irq_outlet]]<br /> 0x8000005B - [[HV_Syscall_Reference#lv1_get_repository_node_value]]<br /> 0x8000005F - [[HV_Syscall_Reference#lv1_read_htab_entries]]<br /> 0x80000061 - [[HV_Syscall_Reference#lv1_set_vmx_graphics_mode]]<br /> 0x80000062 - [[HV_Syscall_Reference#lv1_set_thread_switch_control_register]]<br /> 0x80000074 - [[HV_Syscall_Reference#lv1_allocate_io_segment]]<br /> 0x80000076 - [[HV_Syscall_Reference#lv1_allocate_ioid]]<br /> 0x80000078 - [[HV_Syscall_Reference#lv1_construct_io_irq_outlet]]<br /> 0x8000007C - [[HV_Syscall_Reference#lv1_undocumented_function_124]]<br /> 0x8000007D - [[HV_Syscall_Reference#lv1_undocumented_function_125]]<br /> 0x8000007E - [[HV_Syscall_Reference#lv1_undocumented_function_126]]<br /> 0x80000088 - [[HV_Syscall_Reference#lv1_undocumented_function_136]]<br /> 0x8000008C - [[HV_Syscall_Reference#lv1_construct_lpm]]<br /> 0x8000008D - [[HV_Syscall_Reference#lv1_destruct_lpm]]<br /> 0x8000008E - [[HV_Syscall_Reference#lv1_start_lpm]]<br /> 0x8000008F - [[HV_Syscall_Reference#lv1_stop_lpm]]<br /> 0x80000090 - [[HV_Syscall_Reference#lv1_copy_lpm_trace_buffer]]<br /> 0x80000091 - [[HV_Syscall_Reference#lv1_add_lpm_event_bookmark]]<br /> 0x80000092 - [[HV_Syscall_Reference#lv1_delete_lpm_event_bookmark]]<br /> 0x80000093 - [[HV_Syscall_Reference#lv1_set_lpm_interrupt_mask]]<br /> 0x80000094 - [[HV_Syscall_Reference#lv1_get_lpm_interrupt_status]]<br /> 0x80000095 - [[HV_Syscall_Reference#lv1_set_lpm_general_control]]<br /> 0x80000096 - [[HV_Syscall_Reference#lv1_set_lpm_interval]]<br /> 0x80000097 - [[HV_Syscall_Reference#lv1_set_lpm_trigger_control]]<br /> 0x80000098 - [[HV_Syscall_Reference#lv1_set_lpm_counter_control]]<br /> 0x80000099 - [[HV_Syscall_Reference#lv1_set_lpm_group_control]]<br /> 0x8000009A - [[HV_Syscall_Reference#lv1_set_lpm_debug_bus_control]]<br /> 0x8000009B - [[HV_Syscall_Reference#lv1_set_lpm_counter]]<br /> 0x8000009C - [[HV_Syscall_Reference#lv1_set_lpm_signal]]<br /> 0x8000009D - [[HV_Syscall_Reference#lv1_set_lpm_spr_trigger]]<br /> 0x800000A3 - [[HV_Syscall_Reference#lv1_write_virtual_uart]]<br /> 0x800000A4 - [[HV_Syscall_Reference#lv1_set_virtual_uart_param]]<br /> 0x800000A5 - [[HV_Syscall_Reference#lv1_get_virtual_uart_param]]<br /> 0x800000A6 - [[HV_Syscall_Reference#lv1_configure_virtual_uart_irq]]<br /> 0x800000AA - [[HV_Syscall_Reference#lv1_open_device]]<br /> 0x800000AB - [[HV_Syscall_Reference#lv1_close_device]]<br /> 0x800000AC - [[HV_Syscall_Reference#lv1_map_device_mmio_region]]<br /> 0x800000AE - [[HV_Syscall_Reference#lv1_allocate_device_dma_region]]<br /> 0x800000AF - [[HV_Syscall_Reference#lv1_free_device_dma_region]]<br /> 0x800000B0 - [[HV_Syscall_Reference#lv1_map_device_dma_region]]<br /> 0x800000B1 - [[HV_Syscall_Reference#lv1_unmap_device_dma_region]]<br /> 0x800000B2 - [[HV_Syscall_Reference#lv1_read_pci_config]]<br /> 0x800000B3 - [[HV_Syscall_Reference#lv1_write_pci_config]]<br /> 0x800000C5 - [[HV_Syscall_Reference#lv1_connect_interrupt_event_receive_port]]<br /> 0x800000CF - [[HV_Syscall_Reference#lv1_enable_logical_spe]]<br /> 0x800000D2 - [[HV_Syscall_Reference#lv1_gpu_open]]<br /> 0x800000D4 - [[HV_Syscall_Reference#lv1_gpu_device_map]]<br /> 0x800000D6 - [[HV_Syscall_Reference#lv1_gpu_memory_allocate]]<br /> 0x800000D9 - [[HV_Syscall_Reference#lv1_gpu_context_allocate]]<br /> 0x800000DD - [[HV_Syscall_Reference#lv1_gpu_context_iomap]]<br /> 0x800000E1 - [[HV_Syscall_Reference#lv1_gpu_context_attribute]]<br /> 0x800000E3 - [[HV_Syscall_Reference#lv1_gpu_context_intr]]<br /> 0x800000E4 - [[HV_Syscall_Reference#lv1_gpu_attribute]]<br /> 0x800000F5 - [[HV_Syscall_Reference#lv1_storage_read]]<br /> 0x800000F6 - [[HV_Syscall_Reference#lv1_storage_write]]<br /> 0x800000F9 - [[HV_Syscall_Reference#lv1_storage_get_async_status]]<br /> <br /> ===LPAR / AUTH ID's===<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Name !! Auth ID !! Self&lt;br /&gt;(/dev_flash/ps2emu) !! Notes<br /> |-<br /> | PS2_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_emu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2 || 0x107000001D000001 || <br /> |-<br /> | PS2_GX_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_gxemu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2_GX || 0x107000001D000001 || <br /> |-<br /> | PS2_SW_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_softemu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2_SW || 0x107000001D000001 || <br /> |-<br /> | PS2_NE_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_netemu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2_NE || 0x107000001D000001 || <br /> |-<br /> |}<br /> <br /> ====boot_ps2====<br /> http://foxbrew.org/ps3/otheros-utils/boot_ps2.git &lt;br /&gt;<br /> http://www.multi...upload.com/QKK7ETPHXZ boot_ps2-src.rar (1.43 KB) &lt;br /&gt;<br /> http://www.multi...upload.com/YCZ63Y6TQ5 boot_ps2.pkg (69.17 KB) &lt;br /&gt;<br /> <br /> any chance of having this package resigned for 4.21 cfw? might be useful to see if it'll boot ps2_netemu.self LPAR.<br /> <br /> (can boot ps2lpar, but also petitboot if otheros installed! 50:50 chance)<br /> <br /> [http://rghost.net/42586725 boot_ps2 4.xx eboots.zip (153 KB)] &lt;br /&gt; installing 3.55 pkg and replacing the eboot and editing the sfo should work.<br /> <br /> ===Getting compatibility hardware info===<br /> See: [[PS2_Compatibility#Software]]<br /> <br /> ===ps2bootparam.dat===<br /> A file created at path: dev_hdd0/tmp/game/'''ps2bootparam.dat'''<br /> *See: [[ps2bootparam.dat]]&lt;!--we need this page because we have others like that in wiki--&gt;<br /> <br /> ===Cobra core===<br /> taken from storage_ext.c<br /> &lt;pre&gt; patch_ps2emu_entry(ps2emu_type); &lt;/pre&gt;<br /> *sets proper ps2_(gx/soft)emu.self path for reboot<br /> *patches ss_storage service 0x5004 disc checks on ss_server3.self inside lv1<br /> (Change from Parameter li r3, 2 and li r3, 1E (Drive Authentification) to li r3, 0x29 (Reset Drive))<br /> *and the usual either replace read/ioctl for iso etc.<br /> <br /> ==Game CONFIG==<br /> Some of the PS2 emulator types (such ps2_gxemu.self, ps2netemu.self) are able to load config commands that are applyed &quot;by game ID&quot;. The concept of &quot;game patches&quot; is not technically correct because some of the commands does patching functions but others does other things (not patching), and other commands works as switches or sets a value that are enviromental settings for the emulator (not for the game) but because are applyed &quot;by game&quot; should be considered enviromental settings for that specific game, so for simplification purposes you can think in all this data as &quot;game configs&quot;<br /> <br /> This &quot;game config&quot; data seems to work in the same way for all the PS2 emulator types but can be located in different places, some are hardcoded inside the emulators itself (inside the .self), and at the time the &quot;PS2 classics&quot; emulator (ps2_netemu.self) was developed this config can be loaded from an external file&lt;!--and there is some more inside some .sprx or inside the ps2 hdd data pkg ?--&gt;<br /> <br /> In short, the &quot;game configs&quot; can modify the game image (by patching it) and can be used to configure the virtual PS2 (the emulated machine). And can be loaded from hardcoded data (inside the .self) or from an external file (this feature is supported only by ps2_netemu.self)<br /> <br /> The config data consists in a list of concatenated values of 8 bytes lenght (uint32_t), and can be processed like this:<br /> union{<br /> uint32_t command<br /> ...data...<br /> }<br /> <br /> ===Config Commands===<br /> ps2_netemu.self fw4.50 sub_12D7D8, fw4.81 sub_12E050<br /> params are uint32_t unless noted.<br /> <br /> At the time of writing this, most of the commands are completely or partially unknown.&lt;br /&gt;<br /> If you want to read some speculation and brainstorming about them, please join the {{talk}} page<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! CMD ID !! Example !! Notes<br /> |-<br /> | 0x00|||| Copy following title id for enforcing if available + end config<br /> |-<br /> | 0x01|||| 2x uint32_t Params ( addr, func_id 0-0x3B) - EE_ADD_HOOK<br /> [Grand Theft Auto 3 (EU)] uses 0x349790, 0x10 (somewhat floats related)<br /> [Max Payne] uses 0x52E9F4, 3 and 0x52EB78, 2 (set lwsync 0)<br /> Maximum Amount of Usage: ?<br /> (The command is used 3 times consecutively by SLUS-20565 (Champions of Norrath) and SLUS-21494 (Need for Speed Carbon)<br /> game configs hardcoded inside ps2_gxemu.self)<br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> !Function ID!! Notes<br /> |-<br /> |0x00|| <br /> |-<br /> |0x01|| <br /> |-<br /> |0x02|| <br /> Max Payne<br /> sets some sync off?<br /> |-<br /> |0x03|| <br /> Max Payne<br /> sets some sync on?<br /> |-<br /> |0x04|| <br /> |-<br /> |0x05|| <br /> |-<br /> |0x06|| <br /> |-<br /> |0x07|| <br /> |-<br /> |0x08||<br /> |-<br /> |0x09|| <br /> |-<br /> |0x0A|| <br /> |-<br /> |0x0B|| <br /> |-<br /> |0x0C|| <br /> |-<br /> |0x0D|| usleep(100)<br /> |-<br /> |0x0E||<br /> |-<br /> |0x0F|| <br /> GTA 3 (US)<br /> using 0x348B40, 0x18E1F0, 0x348EC8 ( + 200000000 base )<br /> |-<br /> |0x10|| <br /> GTA 3 (EU)<br /> using 0x349790, 0x18E1F0, 0x349B18 ( + 200000000 base )<br /> |-<br /> |0x11|| <br /> GTA 3 (JP/AS)?<br /> using 0x3495C0, 0x18E1F0, 0x349948 ( + 200000000 base )<br /> |-<br /> |0x12|| <br /> condition ...<br /> store 0 in [ 0x204FC500 + 200000000 base]<br /> |-<br /> |0x13|| <br /> |-<br /> |0x14|| <br /> |-<br /> |0x15|| <br /> |-<br /> |0x16|| <br /> store 0x01114BA8 in [ 0x208EAB4C + 200000000 base]<br /> store 0x010C9E40 in [ 0x208EAB6C + 200000000 base]<br /> |-<br /> |0x17|| <br /> condition r18 == 0x8000<br /> setting:<br /> stores 0x40490FDA somewhere <br /> Note: 0x40490FDA (3.14159250) is the highest float approximation to π in hexadecimal without going over the value.&lt;br /&gt;<br /> Probably can improve FPU accuracy for some games.<br /> |-<br /> |0x18||<br /> condition [ 0x20183F04 + 200000000 base ] == 0x0C060F2C <br /> setting:<br /> stores 0 in address 0x20183F04, 0x20183F34, 0x20183F3C ( + 0x200000000 base )<br /> 0x183F0C, sub_46334 (4.70)<br /> 0x183F3C, sub_45DA4 (4.70)<br /> 0x183D74, sub_47B50 (4.70)<br /> |-<br /> |0x19|| <br /> |-<br /> |0x1A|| <br /> store 0 in [ 0x209FD560 + 200000000 base]<br /> store 0 in [ 0x209F9550 + 200000000 base]<br /> store 0 in [ 0x20A01570 + 200000000 base]<br /> store 0 in [ 0x209F9540 + 200000000 base]<br /> store 0 in [ 0x209F5540 + 200000000 base]<br /> store 0 in [ 0x209F1530 + 200000000 base]<br /> |-<br /> |0x1B|| store 0 in [ 0x20552168 + 200000000 base]<br /> |-<br /> |0x1C|| store 1 in [ 0x20552168 + 200000000 base]<br /> |-<br /> |0x1D|| store 0 in [ 0x20556C08 + 200000000 base]<br /> |-<br /> |0x1E|| store 1 in [ 0x20556C08 + 200000000 base]<br /> |-<br /> |0x1F|| store 0 in [ 0x205243D8 + 200000000 base]<br /> |-<br /> |0x20|| store 1 in [ 0x205243D8 + 200000000 base]<br /> |-<br /> |0x21|| store 0 in [ 0x20524F88 + 200000000 base]<br /> |-<br /> |0x22|| store 1 in [ 0x20524F88 + 200000000 base]<br /> |-<br /> |0x23|| store 0 in [ 0x2047E7F8 + 200000000 base]<br /> |-<br /> |0x24|| store 1 in [ 0x2047E7F8 + 200000000 base]<br /> |-<br /> |0x25|| store 0 in [ 0x204802B8 + 200000000 base]<br /> |-<br /> |0x26|| store 1 in [ 0x204802B8 + 200000000 base]<br /> |-<br /> |0x27|| store 0 in [ 0x20586348 + 200000000 base]<br /> |-<br /> |0x28|| store 1 in [ 0x20586348 + 200000000 base]<br /> |-<br /> |0x29|| store 0 in [ 0x205868A8 + 200000000 base]<br /> |-<br /> |0x2A|| store 1 in [ 0x205868A8 + 200000000 base]<br /> |-<br /> |0x2B|| <br /> |-<br /> |0x2C|| <br /> |-<br /> |0x2D|| <br /> |-<br /> |0x2E|| <br /> |-<br /> |0x2F|| condition [ 0x37B0C4 + 200000000 base ] == 0 -&gt; 00 10 0B 98 <br /> |-<br /> |0x30|| condition [ 0x37B704 + 200000000 base ] == 0 -&gt; 00 10 0B 98 <br /> |-<br /> |0x31|| condition [ 0x37630C + 200000000 base ] == 0 -&gt; 00 10 0B A8 <br /> |-<br /> |0x32|| condition [ 0x37BB0C + 200000000 base ] == 0 -&gt; 00 10 0B A8 <br /> |-<br /> |0x33|| <br /> |-<br /> |0x34|| not filled<br /> |-<br /> |0x35|| <br /> |-<br /> |0x36|| <br /> |-<br /> |0x37|| <br /> |-<br /> |0x38||<br /> |-<br /> |0x39|| <br /> |-<br /> |0x3A|| <br /> |-<br /> |0x3B|| GTA 3 (JP/AS) ? using 0x351210, 0x18F590, 0x351568 ( + 200000000 base )<br /> |}<br /> |-<br /> |0x02|||| 1 Param, Config file revision ?<br /> |-<br /> |0x03|||| 0 Param, sets something 0 (Fire Pro Wrestling Returns)<br /> |-<br /> |0x04|||| 1 Param uint32_t index (i*0x80, special 0x12345: 0x91a280?)<br /> |-<br /> |0x05|||| read next command<br /> |-<br /> |0x06|||| 0 Param, sets something 0x14F80 (85888'd)<br /> |-<br /> |0x07|||| 1 Param uint32_t (default 1)<br /> Delay VU xgkick by X cycles<br /> |-<br /> |0x08|||| 8 Param uint32_t (read mask,read mask, original opcode, original opcode, write mask, write mask, replace opcode, replace opcode)<br /> Maximum Amount of Usage: 3 times<br /> Patch VU memory by mask <br /> Mask = F - read/write, 0 - Not read/write, 8 - ignore 4 bytes, E - seems to be used as last character before wildcards (Superman returns).<br /> |-<br /> |0x09|||| uint32_t count, &lt;list&gt; (offset, original opcode, original opcode, replace opcode, replace opcode) - EE_INSN_REPLACE64<br /> [Dark Cloud] uses 1<br /> [Dead Or Alive 2 Hardcore] uses 1<br /> Maximum List Count: 32<br /> |-<br /> |0x0A|||| uint32_t count, &lt;List&gt; (offset, original opcode, replace opcode) - EE_INSN_REPLACE32<br /> [Deadly Strike] uses 1<br /> [Dragon Force] uses 2<br /> Maximum List Count: 32<br /> |-<br /> |0x0B|||| 1 Param uint32_t count, &lt;List&gt; {sector id, offset, sizeof present opcodes, replace opcodes, original opcodes} - MECHA_SET_PATCH<br /> offset on disc = sector id * sector size + offset (-0xC)<br /> [Dead Or Alive 2 Hardcore] uses 7<br /> [Gradius V] uses 1<br /> [Grand Theft Auto III] uses 1<br /> [Katamari Damacy] uses 1<br /> [Manhunt] uses 1<br /> [Odin Sphere] uses 2<br /> [Primal] uses 1<br /> [Psychonauts] uses 1<br /> [Syphon Filter The Omega Strain] uses 1<br /> Maximum List Count: 47<br /> |-<br /> |0x0C|||| 1 Param (uint16_t, uint16_t) --- 0/1/2,&lt;0x63&gt;<br /> |-<br /> |0x0D|||| 1 Param, true/false?<br /> Default Init = 1?<br /> 0 == skip some code, <br /> 1 == some code + checks<br /> |-<br /> |0x0E|||| 1 Param offset --- Improves ADD/SUB accuracy for selected offset (incl. Floats) <br /> [Rygar] only has 0x147DA8 sub.s $f12, $f20, $f12<br /> Maximum Amount of Usage: 31 times<br /> |-<br /> |0x0F|||| List &lt;uint32_t Param, uint32_t Param&gt; --- More accurate memory range (FPU mul/div/sub/add accuracy related) <br /> [Dark Cloud] uses 0x239334, 0x1FFFFFF<br /> [Grand Theft Auto SA] uses 0x1E46DC, 0x1E4AE8<br /> Maximum List Count: 31 <br /> |-<br /> |0x10|||| List &lt;uint32_t Param, uint32_t Param&gt; --- More accurate memory range (COP2, mul/div/sub/add accuracy related) - MULDIV_Accurate_range<br /> Maximum List Count: 31 <br /> |-<br /> |0x11|||| 1x uint32_t Param. ADD/SUB accuracy related, all emulated ADD/SUB instruction variations check that value. Param seems to be VU memory offset (need confirmation).<br /> Maximum Amount of Usage: 31 times<br /> |-<br /> |0x12|||| &lt;List&gt; (uint32_t count,<br /> [Primal] uses 0xD<br /> [Rayman Arena] uses 0x11<br /> [Syphon Filter: The Omega Strain] uses 0x5<br /> 00 00 00 0?<br /> 00 00 00 00<br /> type? count?<br /> ... <br /> Maximum List Count: 63 <br /> |-<br /> | 0x13|||| 1x uint64_t Param<br /> |-<br /> | 0x14|||| 0 Param, sets something 1<br /> |-<br /> | 0x15|| 4 || 1 Param ( &lt;1, &gt;1 ), different settings/mode?<br /> [Bloodrayne 2] uses 4<br /> [GRIMgRiMoiRe] uses 4<br /> [Mana Khemia 2] uses 4<br /> [Odin Sphere] uses 4<br /> [SMT Persona 3 FES] uses 4<br /> |-<br /> | 0x16|||| = 0x05 (next id)<br /> |-<br /> | 0x17||1 || 1 Param, true/false?<br /> [Bully] uses 1<br /> |-<br /> | 0x18|||| = 0x16 = 0x05 (next id)<br /> |-<br /> | 0x19 |||| 0 Param, sets something 1 --- SB_SIO2 related?<br /> [Grand Theft Auto III]<br /> [Red Faction 2]<br /> [Siren]<br /> |-<br /> | 0x1A|||| 0 Param, sets something 1<br /> |-<br /> | 0x1B|||| 0 Param, sets something 1<br /> [Mana Khemia 2]<br /> |-<br /> | 0x1C |||| read uint32_t (use uint8_t) Param (default 3)<br /> |-<br /> | 0x1D |||| read uint32_t (use uint8_t) Param <br /> |-<br /> | 0x1E |||| read uint32_t (use uint8_t) Param <br /> |-<br /> | 0x1F |||| uint32_t Param (default 0x3E8?)<br /> |-<br /> | 0x20|||| uint64_t Param (default 0x3C)<br /> |-<br /> | 0x21|| 1 || 1 Param: <br /> 0 = sets an option from 1 to 0 and another one to 0,<br /> 1 = sets an option from 1 to 0 and another one to 1,<br /> 2 = sets an option from 1 to 1 and another one to 0<br /> [Fatal Frame II] uses 0<br /> [Grand Theft Auto Vice City] uses 1<br /> [Grand Theft Auto III (EU)] uses 1<br /> [SMT Persona 3 FES] uses 0<br /> |-<br /> | 0x22|||| 0 Param, sets something 1<br /> |-<br /> | 0x23|||| 0 Param --- memcpy 0x100 Bytes and sets 0x14E00<br /> |-<br /> | 0x24|||| uint64_t Param<br /> |-<br /> | 0x25|||| = 0x18 = 0x16 = 0x05 (next id)<br /> |-<br /> | 0x26|||| List &lt;uint32_t Param,uint32_t Param&gt; --- Improves ADD/SUB accuracy for selected memory range (incl. Floats) - FPU_Accurate_range<br /> <br /> [Bloodrayne 2] uses 0x340000, 0x350000<br /> [Gradius V] uses 0x3046E0, 0x0x305E44<br /> Maximum List Count: 31 <br /> Maximum Amount of Usage: ??<br /> The command is used 4 times consecutively by [Strawberry Shortcake: The Sweet Dreams]<br /> SLES-54309 (EU) and<br /> SLUS-21497 (US) game configs hardcoded inside ps2_gxemu.self<br /> |-<br /> | 0x27|||| List &lt;uint32_t Param,uint32_t Param&gt; --- Improves COP2 operations accuracy for selected memory range - VU0 macromode accurate range<br /> Maximum List Count: 31 <br /> |-<br /> | 0x28|||| 1x uint32_t Param (&lt;=3)<br /> |-<br /> | 0x29 |||| 2x uint32_t Param,<br /> |-<br /> | 0x2A|||| 0 Param, sets something 1 --- Allow online downloadable content (HDD)? Multitap? Local 2 player?<br /> All-Star Baseball 2004<br /> |-<br /> | 0x2B|||| 0 Param, sets something 1 --- Allow disc eject/swap?<br /> Dance Factory<br /> |-<br /> | 0x2C |||| 1 Param, uint32_t<br /> Summoner uses 0x1<br /> |-<br /> | 0x2D |||| = 0x25 = 0x18 = 0x16 = 0x05 (next id)<br /> |-<br /> | 0x2E |||| 1 Param, uint32_t<br /> |-<br /> | 0x2F |||| 1 Param, uint32_t --- SPU2 related?<br /> Indigo Prophecy/Fahrenheit uses 0x1 <br /> |-<br /> | 0x30|||| (nothing)<br /> |-<br /> | 0x31|||| (nothing)<br /> |-<br /> | 0x32|||| (nothing)<br /> |-<br /> | 0x33|||| (nothing)<br /> |-<br /> | 0x34|||| (nothing)<br /> |-<br /> | 0x35|||| 0 Param --- Enables Force Flip Field, described in emu setting as &quot;''Fix for [Hang] for soft-lock''&quot;<br /> |-<br /> | 0x36|||| (nothing)<br /> |-<br /> | 0x37|||| (nothing)<br /> |-<br /> | 0x38|||| (nothing)<br /> |-<br /> | 0x39 |||| (nothing)<br /> |-<br /> | 0x3A|||| (nothing)<br /> |-<br /> | 0x3B|||| (nothing)<br /> |-<br /> | 0x3C |||| (nothing)<br /> |-<br /> | 0x3D |||| 1 Param, uint32_t Config file revision<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Firmware !! ps2_netemu Revision !! Max Supported Commands<br /> |-<br /> | 3.70 || 15686 || 0x41<br /> |-<br /> | 3.73 || 15936 || 0x41<br /> |-<br /> | 3.74 || 15936 || 0x41<br /> |-<br /> | 4.00 || 16195 || 0x41<br /> |-<br /> | 4.01 || 16195 || 0x41<br /> |-<br /> | 4.10 || 16361 || 0x41<br /> |-<br /> | 4.11 || 16361 || 0x41<br /> |-<br /> | 4.20 || 16604 || 0x43<br /> |-<br /> | 4.21 || 16604 || 0x43<br /> |-<br /> | 4.23 || 16604 || 0x43<br /> |-<br /> | 4.25 || 16740 || 0x43<br /> |-<br /> | 4.26 || 16740 || 0x43<br /> |-<br /> | 4.30 || 16808 || 0x45<br /> |-<br /> | 4.31 || 16808 || 0x45<br /> |-<br /> | 4.40 || 16916 || 0x46<br /> |-<br /> | 4.41 || 16916 || 0x46<br /> |-<br /> | 4.45 || 17041 || 0x48<br /> |-<br /> | 4.46 || 17041 || 0x48<br /> |-<br /> | 4.50 || 17179 || 0x4A<br /> |-<br /> | 4.55 || 17277 || 0x4D<br /> |- <br /> |4.60&lt;br /&gt;<br /> 4.70&lt;br /&gt;<br /> 4.75&lt;br /&gt;<br /> 4.76&lt;br /&gt;<br /> || 17314 || 0x4D<br /> |- <br /> |4.78&lt;br /&gt;<br /> 4.80&lt;br /&gt;<br /> 4.81&lt;br /&gt;<br /> || 17495 || 0x50<br /> |- <br /> |}<br /> |-<br /> | 0x3E |||| 0 Params --- Sets something 1<br /> Default Init = 0<br /> 0 == do set some stuff, <br /> 1 == skip<br /> |-<br /> | 0x3F |||| 1 Param, uint32_t<br /> |-<br /> | 0x40|||| 0 Param --- Sets something 1<br /> Grand Theft Auto SA<br /> Silent Hill Origins - unofficial fix<br /> |-<br /> | 0x41|||| 0 Param --- Sets something 1 (Disables some lwsync - speedhack?)<br /> Dragon Force<br /> God Hand<br /> Gradius V<br /> Katamari Damacy<br /> |-<br /> | 0x42|||| 2 Param: uint32_t address, uint32_t count --- Overlay area? <br /> |-<br /> | 0x43|||| 1 Param --- Equal to 0x40, but with Parameter:<br /> 0 = Default<br /> 1 = (like 0x40)<br /> param = <br /> -1 = failure?<br /> |-<br /> | 0x44|||| 0 Param --- Disables Smoothing and Smoothing option<br /> |-<br /> | 0x45|||| 0 Param --- Sets something 1<br /> Phantasy Star Complete Collection<br /> |-<br /> | 0x46|||| 0 Param --- Enables L2H Improvement, [Performance] related setting for titles using L2H<br /> SMT Digital Devil Saga 1<br /> SMT Nocturne<br /> Fatal Frame II<br /> |-<br /> | 0x47|||| 0 Param --- Enables XOR CSR - XOR System Status Register (0x12001000)?, [Graphics] related setting, should fix fullscreen line corruption<br /> |-<br /> | 0x48|||| VSYNC Delay, 2x uint32_t Param<br /> *First param possible value are 1 = No IPU, 2 = IPU, 3 = Anytime.<br /> *Second param is delay (in ms?), and can be also negative value.<br /> **Emu has standard presets for second param.<br /> ***Agressive = 0x3D090 (250000 decimal),<br /> ***Normal = 0x186A0 (100000 decimal),<br /> ***Conservative = 0x4E20 (20000 decimal),<br /> ***But other values can be used.<br /> [SMT Digital Devil Saga 1] uses 1, 0x3D090<br /> [Fatal Frame II] uses 0x2, 0xFFFFE69C (-6500 decimal)<br /> |-<br /> | 0x49|||| 0 Param --- Sets something 0xB,0,0<br /> |-<br /> | 0x4A|||| 0 Param --- Sets something 0x15100<br /> |-<br /> | 0x4B|||| 2x uint32_t Params: offset,int (-1? selects different titleid?) - /game/ /../ USRDIR/SAVEDATA related<br /> |-<br /> | 0x4C|||| 2x uint32_t Params: offset,int (2 = current path?, 3 = new ISO.BIN.ENC path?, other= ?)<br /> |-<br /> | 0x4D|||| 1 uint32_t Param (can be -1) --- Sets something (same as 0x49 but) 0xC, Param, 0<br /> |-<br /> | 0x4E|||| (nothing)<br /> |-<br /> | 0x4F|||| (nothing)<br /> |-<br /> | 0x50|||| 0 Param --- Switch to default gamepad config ?<br /> |-<br /> |}<br /> <br /> ===Config file examples (for netemu)===<br /> <br /> ====Official====<br /> {| class=&quot;wikitable sortable&quot; style=&quot;width: 1920px;&quot; | <br /> |-<br /> ! Title ID !! Title !! Config Data !! Revision !! Notes<br /> |-<br /> | style=&quot;width: 5px;&quot; | NPUD20461 || Bloodrayne || style=&quot;width: 650px;&quot; | <br /> 00000000 3D 00 00 00 46 3E 00 00 16 00 00 00 0B 00 00 00 =...F&gt;..........<br /> 00000010 04 00 00 00 07 01 00 00 C0 02 00 00 10 00 00 00 ........+.......<br /> 00000020 00 09 3C 52 52 3C 09 00 03 1F 90 14 14 90 1F 03 ..&lt;RR&lt;....É..É..<br /> 00000030 00 09 3C 52 52 3C 09 00 03 20 C0 04 04 C0 20 03 ..&lt;RR&lt;... +..+ .<br /> 00000040 56 A0 09 00 10 00 00 00 04 00 00 00 00 00 90 01 Vá............É.<br /> 00000050 FA 0F BD 01 21 39 07 00 B8 06 00 00 28 00 00 00 ·.¢.!9..©...(...<br /> 00000060 35 4A 02 02 00 0A 54 38 35 4A 62 7E 34 A5 00 A0 5J....T85Jb~4Ñ.á<br /> 00000070 3C 09 00 1B 35 29 FA 00 00 09 4C 38 35 29 02 02 &lt;...5)·...L85)..<br /> 00000080 00 09 4C 38 35 29 62 7E 35 4A 02 03 00 0A 54 38 ..L85)b~5J....T8<br /> 00000090 35 4A 22 7E 34 A5 00 A0 3C 09 00 1B 35 29 FA 00 5J&quot;~4Ñ.á&lt;...5)·.<br /> 000000A0 00 09 4C 38 35 29 02 03 00 09 4C 38 35 29 22 7E ..L85)....L85)&quot;~<br /> 000000B0 27 39 07 00 80 03 00 00 24 00 00 00 35 6B 02 02 '9..Ç...$...5k..<br /> 000000C0 00 0B 5C 38 35 6B 62 7E 3C 0C 00 1B 35 8C FA 00 ..\85kb~&lt;...5î·.<br /> 000000D0 00 0C 64 38 35 8C 02 02 00 0C 64 38 35 8C 62 7E ..d85î....d85îb~<br /> 000000E0 35 6B 02 03 00 0B 5C 38 35 6B 22 7E 3C 0C 00 1B 5k....\85k&quot;~&lt;...<br /> 000000F0 35 8C FA 00 00 0C 64 38 35 8C 02 03 00 0C 64 38 5î·...d85î....d8<br /> 00000100 35 8C 22 7E 5î&quot;~<br /> || 15942 (4.00+) ||<br /> 0x3D =&gt; 0x3E46 (15942)<br /> 0x16 =&gt; 0xB =&gt; 4<br /> 0x107, (sector)<br /> 0x2C0, (offset -&gt; 0x1072B4 in iso)<br /> 0x10, <br /> 0x523C0900, (beql s1, gp, ?)<br /> 0x00093C52, (mflo a3)<br /> 0x14901F03, (bne a0, s0, ?)<br /> 0x031F9014, (dsllv s2, ra, t8)<br /> 0x523C0900, (beql s1, gp, ?)<br /> 0x00093C52, (mflo a3)<br /> 0x04C02003, (bltz a2, ?)<br /> 0x0320C004 (sllv t8, zero, t9)<br /> 0x9A056, (sector)<br /> 0x10, (offset -&gt; 0x4D02B004 in iso)<br /> 0x04, <br /> 0x01900000 (sll zero, s0, 0x00?), <br /> 0x01BD0FFA (dsrl at,sp,0x1F?)<br /> 0x73921, (sector)<br /> 0x6B8, (offset -&gt; 0x39C90EAC in iso)<br /> 0x28, <br /> 21 39 07 00 addi t9,t1,0x0700<br /> B8 06 00 00 swr a2,(zero)<br /> 28 00 00 00 slti zero,0x0000<br /> 35 4A 02 02 ori t2,0x202<br /> 00 0A 54 38 dsll t2,0x10<br /> 35 4A 62 7E ori t2,0x627E<br /> 34 A5 00 A0 ori a1,0xA0<br /> 3C 09 00 1B lui t1,0x001B<br /> 35 29 FA 00 ori t1,0xFA00<br /> 00 09 4C 38 dsll t1,0x10<br /> 35 29 02 02 ori t1,0x202<br /> 00 09 4C 38 dsll t1,0x10<br /> 35 29 62 7E ori t1,0x627E<br /> 35 4A 02 03 ori t2,0x203<br /> 00 0A 54 38 dsll t2,0x10<br /> 35 4A 22 7E ori t2,0x227E<br /> 34 A5 00 A0 ori a1,0xA0<br /> 3C 09 00 1B lui t1,0x001B<br /> 35 29 FA 00 ori t1,0xFA00<br /> 00 09 4C 38 dsll t1,0x10<br /> 35 29 02 03 ori t1,0x203<br /> 00 09 4C 38 dsll t1,0x10<br /> 35 29 22 7E ori t1,0x227E<br /> 0x73927, (sector)<br /> 0x380, (offset -&gt; 0x39C93B74 in iso)<br /> 0x24, <br /> 35 6B 02 02 ori t3,0x202<br /> 00 0B 5C 38 dsll t3,0x10<br /> 35 6B 62 7E ori t3,0x627E<br /> 3C 0C 00 1B lui t4,0x001B<br /> 35 8C FA 00 ori t4,0xFA00<br /> 00 0C 64 38 dsll t4,0x10<br /> 35 8C 02 02 ori t4,0x202<br /> 00 0C 64 38 dsll t4,0x10<br /> 35 8C 62 7E ori t4,0x627E<br /> 35 6B 02 03 ori t3,0x203<br /> 00 0B 5C 38 dsll t3,0x10<br /> 35 6B 22 7E ori t3,0x227E<br /> 3C 0C 00 1B lui t4,0x001B<br /> 35 8C FA 00 ori t4,0xFA00<br /> 00 0C 64 38 dsll t4,0x10<br /> 35 8C 02 03 ori t4,0x203<br /> 00 0C 64 38 dsll t4,0x10<br /> 35 8C 22 7E ori t4,0x227E<br /> |-<br /> | NPUD20862 || Bloodrayne 2 ||<br /> 00000000 3D 00 00 00 3D 3F 00 00 15 00 00 00 04 00 00 00 =...=?..........<br /> 00000010 26 00 00 00 00 00 34 00 00 00 35 00 00 00 00 00 &amp;.....4...5.....<br /> 00000020 53 4C 55 53 2D 32 30 38 36 32 SLUS-20862<br /> || 16189 (4.00+) ||<br /> 0x3D =&gt; 0x3F3D (16189)<br /> 0x15 =&gt; 4<br /> 0x26 =&gt; 0x340000, 0x350000<br /> |-<br /> | NPUD21269 || Bully ||<br /> 00000000 3D 00 00 00 89 3D 00 00 17 00 00 00 01 00 00 00 =....=..........<br /> 00000010 00 00 00 00 53 4C 55 53 2D 32 31 32 36 39 ....SLUS-21269<br /> || 15753 (3.73+) ||<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x17 =&gt; 1<br /> |-<br /> | NPJD00004 || Contra Shattered Soldier || <br /> 00000000 3D 00 00 00 BF 3F 00 00 0A 00 00 00 12 00 00 00 =...+?..........<br /> 00000010 A0 FF 0F 00 00 00 00 00 10 00 01 3C A4 FF 0F 00 á .........&lt;ñ ..<br /> 00000020 00 00 00 00 90 FF 24 8C A8 FF 0F 00 00 00 00 00 ....É $î¿ ......<br /> 00000030 81 00 85 2C AC FF 0F 00 00 00 00 00 06 00 A0 10 ü.à,¼ ........á.<br /> 00000040 B0 FF 0F 00 00 00 00 00 01 00 84 24 B4 FF 0F 00 ¦ ........ä$¦ ..<br /> 00000050 00 00 00 00 90 FF 24 AC B8 FF 0F 00 00 00 00 00 ....É $¼© ......<br /> 00000060 81 00 85 2C BC FF 0F 00 00 00 00 00 02 00 A0 14 ü.à,+ ........á.<br /> 00000070 C0 FF 0F 00 00 00 00 00 00 00 00 00 C4 FF 0F 00 + ..........- ..<br /> 00000080 00 00 00 00 00 07 02 34 C8 FF 0F 00 00 00 00 00 .......4+ ......<br /> 00000090 08 00 E0 03 CC FF 0F 00 00 00 00 00 00 00 00 00 ..Ó.¦ ..........<br /> 000000A0 D0 FF 0F 00 00 00 00 00 10 00 01 3C D4 FF 0F 00 ð .........&lt;È ..<br /> 000000B0 00 00 00 00 08 00 E0 03 D8 FF 0F 00 00 00 00 00 ......Ó.Ï ......<br /> 000000C0 90 FF 20 AC DC FF 0F 00 00 00 00 00 00 00 00 00 É ¼_ ..........<br /> 000000D0 C0 72 42 00 08 00 E0 03 E8 FF 03 08 B4 7C 42 00 +rB...Ó.Þ ..¦|B.<br /> 000000E0 08 00 E0 03 F4 FF 03 08 00 00 00 00 53 4C 50 4D ..Ó.¶ ......SLPM<br /> 000000F0 2D 36 32 32 34 37 -62247<br /> || 16319 (4.10+)||<br /> 0x3D =&gt; 0x3FBF (16319)<br /> 0x0A =&gt; 0x12, <br /> 0xFFFA0,0, 0x3C010010 lui at,0x0010 <br /> 0xFFFA4,0, 0x8C24FF90 lw a0,-0x70(at) <br /> 0xFFFA8,0, 0x2C850081 sltiu a1,a0,0x0081 <br /> 0xFFFAC,0, 0x10A00006 beqz a1,pos_000FFFC8 <br /> 0xFFFB0,0, 0x24840001 addiu a0,0x1 <br /> 0xFFFB4,0, 0xAC24FF90 sw a0,-0x70(at) <br /> 0xFFFB8,0, 0x2C850081 sltiu a1,a0,0x0081 <br /> 0xFFFBC,0, 0x14A00002 bnez a1,pos_000FFFC8 <br /> 0xFFFC0,0, 0x00000000 nop <br /> 0xFFFC4,0, 0x34020700 li v0,0x700 <br /> 0xFFFC8,0, 0x03E00008 jr t9 <br /> 0xFFFCC,0, 0x00000000 nop <br /> 0xFFFD0,0, 0x3C010010 lui at,0x0010 <br /> 0xFFFD4,0, 0x03E00008 jr ra <br /> 0xFFFD8,0, 0xAC20FF90 sw zero,-0x70(at) <br /> 0xFFFDC,0, 0x00000000 nop <br /> 0x4272C0, 0x03E00008 (jr ra), 0x0803FFE8 j pos_000FFFA0<br /> 0x427CB4, 0x03E00008 (jr ra), 0x0803FFF4 j pos_000FFFD0<br /> |-<br /> | NPJC00002 || Dark Cloud ||<br /> 00000000 3D 00 00 00 07 3F 00 00 0F 00 00 00 34 93 23 00 =....?......4.#.<br /> 00000010 FF FF FF 01 09 00 00 00 01 00 00 00 B0 8E 13 00 ................<br /> 00000020 20 00 BF 7F B0 FF BD 27 00 00 00 00 08 00 E0 03 ......'........<br /> 00000030 00 00 00 00 53 43 50 53 2D 31 35 30 30 34 ....SCPS-15004<br /> || 16135 (4.00+)||<br /> 0x3D =&gt; 0x3F07 (16135)<br /> 0x0F =&gt; 0x239334, 0x01FFFFFF<br /> 0x09 =&gt; 1,<br /> 0x138EB0 , <br /> 0x7FBF0020 (sq ra,0x20(sp)),<br /> 0x27BDFFB0 (addiu sp,-0x50),<br /> 0x00000000 (nop),<br /> 0x03E00008 (jr ra)<br /> <br /> 0x239334 = end of code segment?<br /> 0x138EB0 = DrawShadow__10CCharacterFv Function Offset<br /> config 20 00 BF 7F 0x7FBF0020 sq ra, 0x20(sp)<br /> B0 FF BD 27 0x27BDFFB0 addiu sp, -0x50<br /> 00 00 00 00 0x00000000 nop<br /> 08 00 E0 03 0x03E00008 jr ra<br /> |-<br /> | NPUD20071 || Dead Or Alive 2 Hardcore ||<br /> 00000000 3D 00 00 00 F0 42 00 00 0A 00 00 00 01 00 00 00 =....B..........<br /> 00000010 EC 06 2B 00 01 00 06 24 00 00 06 24 0B 00 00 00 ..+....$...$....<br /> 00000020 07 00 00 00 71 6A 18 00 F4 07 00 00 04 00 00 00 ....qj..........<br /> 00000030 0C 00 32 B7 0C 00 32 B3 71 6A 18 00 F4 05 00 00 ..2...2.qj......<br /> 00000040 08 00 00 00 03 E0 00 08 00 00 00 00 27 BD FF F0 ............'...<br /> 00000050 AF BE 00 08 7B 6A 18 00 08 07 00 00 08 00 00 00 ....{j..........<br /> 00000060 03 E0 00 08 00 00 00 00 27 BD FF F0 AF BE 00 08 ........'.......<br /> 00000070 85 6A 18 00 18 01 00 00 08 00 00 00 03 E0 00 08 .j..............<br /> 00000080 00 00 00 00 27 BD FF F0 AF BE 00 08 85 6A 18 00 ....'........j..<br /> 00000090 70 01 00 00 08 00 00 00 03 E0 00 08 00 00 00 00 p...............<br /> 000000A0 27 BD FF F0 AF BE 00 08 85 6A 18 00 C8 01 00 00 '........j......<br /> 000000B0 08 00 00 00 03 E0 00 08 00 00 00 00 27 BD FF F0 ............'...<br /> 000000C0 AF BE 00 08 86 6A 18 00 FC 07 00 00 08 00 00 00 .....j..........<br /> 000000D0 03 E0 00 08 00 00 00 00 27 BD FF F0 AF BE 00 08 ........'.......<br /> 000000E0 00 00 00 00 53 4C 55 53 2D 32 30 30 37 31 ....SLUS-20071 <br /> || 17136 (4.50+) || fixes blackscreen<br /> 0x3D =&gt; 0x42F0 (17136)<br /> 0x0A =&gt; 0x01,<br /> 0x2B06EC, 0x24060001 (li a2,0x1), <br /> 0x24060000 (li a2,0x0)<br /> 0x0B =&gt; 0x07,<br /> 0x186A71, 0x7F4, 0x04, <br /> 0xB732000C (jal -0x2A9B90), <br /> 0xB332000C (jal -0x2A9BA0)<br /> 0x186A71, 0x5F4, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A7B, 0x708, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A85, 0x118, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A85, 0x170, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A85, 0x1C8, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A86, 0x7FC, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp))<br /> <br /> |-<br /> | NPJD00011 || Dead Or Alive 2 Hardcore || <br /> 00000000 3D 00 00 00 89 3D 00 00 09 00 00 00 01 00 00 00 =...ë=..........<br /> 00000010 6C 66 2B 00 80 00 08 24 01 00 06 24 80 00 08 24 lf+.Ç..$...$Ç..$<br /> 00000020 00 00 06 24 0B 00 00 00 07 00 00 00 05 FF 17 00 ...$......... ..<br /> 00000030 F0 07 00 00 0C 00 00 00 27 C4 00 10 0C 00 32 B7 ­.......'-....2À<br /> 00000040 00 00 00 00 24 04 00 2B 0C 00 32 B3 27 C5 00 10 ....$..+..2¦'+..<br /> 00000050 05 FF 17 00 F4 05 00 00 08 00 00 00 03 E0 00 08 . ..¶........Ó..<br /> 00000060 00 00 00 00 27 BD FF F0 AF BE 00 08 0F FF 17 00 ....'¢ ­»¥... ..<br /> 00000070 08 07 00 00 08 00 00 00 03 E0 00 08 00 00 00 00 .........Ó......<br /> 00000080 27 BD FF F0 AF BE 00 08 19 FF 17 00 18 01 00 00 '¢ ­»¥... ......<br /> 00000090 08 00 00 00 03 E0 00 08 00 00 00 00 27 BD FF F0 .....Ó......'¢ ­<br /> 000000A0 AF BE 00 08 19 FF 17 00 70 01 00 00 08 00 00 00 »¥... ..p.......<br /> 000000B0 03 E0 00 08 00 00 00 00 27 BD FF F0 AF BE 00 08 .Ó......'¢ ­»¥..<br /> 000000C0 19 FF 17 00 C8 01 00 00 08 00 00 00 03 E0 00 08 . ..+........Ó..<br /> 000000D0 00 00 00 00 27 BD FF F0 AF BE 00 08 1A FF 17 00 ....'¢ ­»¥... ..<br /> 000000E0 FC 07 00 00 08 00 00 00 03 E0 00 08 00 00 00 00 ³........Ó......<br /> 000000F0 27 BD FF F0 AF BE 00 08 00 00 00 00 53 4C 50 53 '¢ ­»¥......SLPS<br /> 00000100 2D 32 35 30 32 36 -25026<br /> || 15753 (3.73+) || fixes blackscreen<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x09 =&gt; 1,<br /> 0x2B666C, <br /> 0x24080080 (li t0,0x80), <br /> 0x24060001 (li a2,0x1), <br /> 0x24080080 (li t0,0x80), <br /> 0x24060000 (li a2,0x0)<br /> 0x0B =&gt; 7, <br /> 0x17FF05, 0x7F0, 0x0C ,<br /> 0x1000C427 addiu a0,fp,0x10,<br /> 0xB732000C jal -0x2A9B90,<br /> 0x00000000 nop, <br /> 0x2B000424 li a0,0x2B,<br /> 0xB332000C jal -0x2A9BA0,<br /> 0x1000C527 addiu a1,fp,0x10,<br /> 0x17FF05, 0x5F4, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF0F, 0x708, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF19, 0x118, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF19, 0x170, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF19, 0x1C8, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF1A, 0x7FC, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> <br /> 002B666C 01 00 06 24 0x24060001 li a2,0x1<br /> 80 00 08 24 0x24080080 li t0,0x80 <br /> 2D 48 E0 00 0x00E0482D dmove t1,a3<br /> 10 00 0A 24 0x240A0010 li t2,0x10<br /> <br /> config 80 00 08 24 0x24080080 li t0,0x80<br /> 01 00 06 24 0x24060001 li a2,0x1<br /> 80 00 08 24 0x24080080 li t0,0x80<br /> 00 00 06 24 0x24060000 li a2,0x0<br /> |-<br /> | NPED00027 || Deadly Strike ||<br /> 00000000 3D 00 00 00 96 40 00 00 0A 00 00 00 01 00 00 00 =....@..........<br /> 00000010 14 09 1E 00 17 37 01 3C 14 37 01 3C 00 00 00 00 .....7.&lt;.7.&lt;....<br /> 00000020 53 4C 45 53 2D 35 32 39 35 35 SLES-52955<br /> || 16534 (4.20+) ||<br /> 0x3D =&gt; 0x4096 (16534)<br /> 0x0A =&gt; 1 <br /> 0x1E0914, 17 37 01 3C 0x3C013717 li at,0x3717<br /> 14 37 01 3C 0x3C013714 li at,0x3714 <br /> |-<br /> | NPED00087 || Disneys PK: Out of the Shadows ||<br /> <br /> || || blackscreen<br /> <br /> |-<br /> | NPUD21944 || Doras Big Birthday Adventure ||<br /> 00000000 3D 00 00 00 ED 3F 00 00 0A 00 00 00 0A 00 00 00 =....?..........<br /> 00000010 00 FF 0F 00 00 00 00 00 07 00 40 14 04 FF 0F 00 ..........@.....<br /> 00000020 00 00 00 00 10 00 01 3C 08 FF 0F 00 00 00 00 00 .......&lt;........<br /> 00000030 F0 FF 28 8C 0C FF 0F 00 00 00 00 00 20 01 09 2D ..(......... ..-<br /> 00000040 10 FF 0F 00 00 00 00 00 03 00 20 11 14 FF 0F 00 .......... .....<br /> 00000050 00 00 00 00 01 00 08 25 18 FF 0F 00 00 00 00 00 .......%........<br /> 00000060 F0 FF 28 AC 1C FF 0F 00 00 00 00 00 06 00 02 24 ..(............$<br /> 00000070 20 FF 0F 00 00 00 00 00 08 00 E0 03 90 9B 1E 00 ...............<br /> 00000080 08 00 E0 03 C0 FF 03 08 00 00 00 00 53 4C 55 53 ............SLUS<br /> 00000090 2D 32 31 39 34 34 -21944<br /> || 16365 (4.20+) ||<br /> 0x3D =&gt; 0x3FED (16365)<br /> 0x0A =&gt; 0xA,<br /> 0xFFF00,0,0x14400007 bnez v0,pos_000FFF20<br /> 0xFFF04,0,0x3C010010 lui at,0x0010<br /> 0xFFF08,0,0x8C28FFF0 lw t0,-0x10(at)<br /> 0xFFF0C,0,0x2D090120 sltiu t1,t0,0x0120<br /> 0xFFF10,0,0x11200003 beqz t1,pos_000FFF20<br /> 0xFFF14,0,0x25080001 addiu t0,0x1<br /> 0xFFF18,0,0xAC28FFF0 sw t0,-0x10(at)<br /> 0xFFF1C,0,0x24020006 li v0,0x6<br /> 0xFFF20,0,0x03E00008 jr ra<br /> 0x1E9B90, 0x03E00008 (jr ra), 0x0803FFC0 j pos_000FFF00<br /> |-<br /> | NPJD00005 || Dragon Force ||<br /> 00000000 3D 00 00 00 D6 40 00 00 0A 00 00 00 02 00 00 00 =....@..........<br /> 00000010 B4 41 10 00 1C 00 40 10 F9 FF 40 14 BC 41 10 00 .A....@...@..A..<br /> 00000020 1D 00 02 3C 1A 00 40 10 41 00 00 00 00 00 00 00 ...&lt;..@.A.......<br /> 00000030 53 4C 50 4D 2D 36 35 37 37 38 SLPM-65778<br /> || 16598 (4.20+) ||<br /> 0x3D =&gt; 0x40D6 (16598)<br /> 0x0A =&gt; 2, <br /> 0x1041B4, 0x1040001C beqz v0,pos_00104228<br /> 0x1440FFF9 bnez v0,pos_0010419C<br /> 0x1041BC, 0x3C02001D lui v0,0x001D<br /> 0x1040001A beqz v0,pos_00104228<br /> 0x41 =&gt; (sets some value 1, sync? - speedhack?)<br /> |-<br /> | NPUD20766 || Fatal Frame II ||<br /> 00000000 3D 00 00 00 AF 42 00 00 21 00 00 00 00 00 00 00 =....B..!.......<br /> 00000010 48 00 00 00 02 00 00 00 9C E6 FF FF 0A 00 00 00 H...............<br /> 00000020 01 00 00 00 1C 70 17 00 41 01 0F 24 61 01 0F 24 .....p..A..$a..$<br /> 00000030 46 00 00 00 0B 00 00 00 01 00 00 00 DD 04 00 00 F...............<br /> 00000040 E8 02 00 00 04 00 00 00 00 42 73 84 00 00 02 FF .........Bs.....<br /> 00000050 00 00 00 00 53 4C 55 53 2D 32 30 37 36 36 ....SLUS-20766 <br /> || 17071 (4.50+) ||<br /> 0x3D =&gt; 0x42AF (17071)<br /> 0x21 =&gt; 0<br /> 0x48 =&gt; 0x2, 0xFFFFE69C<br /> 0x0A =&gt; 1, <br /> 0x17701C, 0x240F0141 (li t7,0x141)<br /> 0x240F0161 (li t7,0x161)<br /> 0x46<br /> 0x0B =&gt; 1<br /> 0x4DD, (sector)<br /> 0x2E8, (offset -&gt; 0x26EADC in iso)<br /> 0x04,<br /> 0x84734200 lh s3,0x4200(v1),<br /> 0xFF020000 sd v0,(t8)<br /> |-<br /> | NPED00052 || God Hand || <br /> 00000000 3D 00 00 00 5F 3F 00 00 41 00 00 00 0A 00 00 00 =..._?..A.......<br /> 00000010 14 00 00 00 A0 FF 0F 00 00 00 00 00 01 00 02 3C ....á .........&lt;<br /> 00000020 A4 FF 0F 00 00 00 00 00 21 20 82 00 A8 FF 0F 00 ñ ......! é.¿ ..<br /> 00000030 00 00 00 00 4D 00 02 24 AC FF 0F 00 00 00 00 00 ....M..$¼ ......<br /> 00000040 0E 00 45 14 B4 FF 0F 00 00 00 00 00 3E 18 06 00 ..E.¦ ......&gt;...<br /> 00000050 B8 FF 0F 00 00 00 00 00 FF 3F 63 38 BC FF 0F 00 © ...... ?c8+ ..<br /> 00000060 00 00 00 00 60 00 02 24 C0 FF 0F 00 00 00 00 00 ....`..$+ ......<br /> 00000070 0A 10 03 00 C4 FF 0F 00 00 00 00 00 00 00 83 8C ....- ........âî<br /> 00000080 C8 FF 0F 00 00 00 00 00 00 00 62 FC CC FF 0F 00 + ........b³¦ ..<br /> 00000090 00 00 00 00 15 00 02 24 D0 FF 0F 00 00 00 00 00 .......$ð ......<br /> 000000A0 08 00 62 FC D4 FF 0F 00 00 00 00 00 10 00 63 24 ..b³È ........c$<br /> 000000B0 D8 FF 0F 00 00 00 00 00 00 00 83 AC DC FF 0F 00 Ï ........â¼_ ..<br /> 000000C0 00 00 00 00 10 00 83 8C E0 FF 0F 00 00 00 00 00 ......âîÓ ......<br /> 000000D0 01 00 63 24 E4 FF 0F 00 00 00 00 00 10 00 83 AC ..c$õ ........â¼<br /> 000000E0 E8 FF 0F 00 00 00 00 00 A6 67 0A 08 90 9E 29 00 Þ ......ªg..É×).<br /> 000000F0 01 00 02 3C E8 FF 03 08 94 9E 29 00 21 20 82 00 ...&lt;Þ ..ö×).! é.<br /> 00000100 00 00 00 00 00 00 00 00 53 4C 45 53 2D 35 34 34 ........SLES-544<br /> 00000110 39 30 90<br /> || 16223 (4.10+) ||<br /> 0x3D =&gt; 0x3F5F (16223)<br /> 0x41 =&gt; (sets some value 1, sync? - speedhack?)<br /> 0x0A =&gt; 0x14<br /> 0xFFFA0,0,0x3C020001 lui v0,0x0001<br /> 0xFFFA4,0,0x00822021 addu a0,v0<br /> 0xFFFA8,0,0x2402004D li v0,0x4D<br /> 0xFFFAC,0,0x1445000E bne v0,a1,pos_000FFFE8<br /> 0xFFFB4,0,0x0006183E dsrl32 v1,a2,0x00<br /> 0xFFFB8,0,0x38633FFF xori v1,0x3FFF<br /> 0xFFFBC,0,0x24020060 li v0,0x60<br /> 0xFFFC0,0,0x0003100A movz v0,zero,v1<br /> 0xFFFC4,0,0x8C830000 lw v1,(a0)<br /> 0xFFFC8,0,0xFC620000 sd v0,(v1)<br /> 0xFFFCC,0,0x24020015 li v0,0x15<br /> 0xFFFD0,0,0xFC620008 sd v0,0x8(v1)<br /> 0xFFFD4,0,0x24630010 addiu v1,0x10<br /> 0xFFFD8,0,0xAC830000 sw v1,(a0)<br /> 0xFFFDC,0,0x8C830010 lw v1,0x10(a0)<br /> 0xFFFE0,0,0x24630001 addiu v1,0x1<br /> 0xFFFE4,0,0xAC830010 sw v1,0x10(a0)<br /> 0xFFFE8,0,0x080A67A6 j pos_00299E98<br /> 0x299E90,0x3C020001 (lui v0,0x0001),0x0803FFE8 j pos_000FFFA0<br /> 0x299E94,0x00822021 (addu a0,v0),0x00000000 nop<br /> |-<br /> | NPUD20712 || Gradius V ||<br /> 00000000 3D 00 00 00 37 3E 00 00 0B 00 00 00 01 00 00 00 =...7&gt;..........<br /> 00000010 D3 05 00 00 10 03 00 00 08 00 00 00 03 E0 00 08 ................<br /> 00000020 00 00 00 00 27 BD FF C0 3C 03 00 4C 41 00 00 00 ....'...&lt;..LA...<br /> 00000030 26 00 00 00 E0 46 30 00 44 5E 30 00 00 00 00 00 &amp;....F0.D^0.....<br /> 00000040 53 4C 55 53 2D 32 30 37 31 32 SLUS-20712 <br /> || 15927 (3.71+) || <br /> 0x3D =&gt; 0x3E37 (15927)<br /> 0x0B =&gt; 1<br /> 0x5D3, (sector)<br /> 0x310, (offset -&gt; 0x2E9B04 in iso)<br /> 0x08, <br /> 03 E0 00 08 jr ra<br /> 00 00 00 00 nop<br /> 27 BD FF C0 addiu sp,-0x40<br /> 3C 03 00 4C lui v1,0x004C<br /> 0x41 =&gt; (sets some value 1, sync? - speedhack?)<br /> 0x26 =&gt; 0x3046E0, 0x0x305E44<br /> |-<br /> | NPUD20552 || Grand Theft Auto - Vice City ||<br /> 00000000 3D 00 00 00 A5 41 00 00 21 00 00 00 01 00 00 00 =....A..!.......<br /> 00000010 0A 00 00 00 0D 00 00 00 A0 FF 0F 00 00 00 00 00 ................<br /> 00000020 17 00 01 24 A4 FF 0F 00 00 00 00 00 08 00 24 14 ...$..........$.<br /> 00000030 AC FF 0F 00 00 00 00 00 10 00 01 3C B0 FF 0F 00 ...........&lt;....<br /> 00000040 00 00 00 00 90 FF 22 8C B4 FF 0F 00 00 00 00 00 ......&quot;.........<br /> 00000050 FF FF 42 24 B8 FF 0F 00 00 00 00 00 05 00 40 1C ..B$..........@.<br /> 00000060 C0 FF 0F 00 00 00 00 00 04 00 02 24 C4 FF 0F 00 ...........$....<br /> 00000070 00 00 00 00 90 FF 22 AC C8 FF 0F 00 00 00 00 00 ......&quot;.........<br /> 00000080 C1 3A 0B 08 CC FF 0F 00 00 00 00 00 D0 FF BD 27 .:.............'<br /> 00000090 D0 FF 0F 00 00 00 00 00 08 00 E0 03 D4 FF 0F 00 ................<br /> 000000A0 00 00 00 00 90 FF 22 AC 00 EB 2C 00 D0 FF BD 27 ......&quot;...,....'<br /> 000000B0 E8 FF 03 08 00 00 00 00 53 4C 55 53 2D 32 30 35 ........SLUS-205<br /> 000000C0 35 32 52<br /> || 16805 (4.30+) ||<br /> 0x3D =&gt; 0x41A5 (16805)<br /> 0x21 =&gt; 1<br /> 0x0A = 0xD<br /> 0xFFFA0,0,0x24010017 li at,0x17<br /> 0xFFFA4,0,0x14240008 bne at,a0,pos_000FFFC8<br /> 0xFFFAC,0,0x3C010010 lui at,0x0010<br /> 0xFFFB0,0,0x8C22FF90 lw v0,-0x70(at)<br /> 0xFFFB4,0,0x2442FFFF addiu v0,-0x1<br /> 0xFFFB8,0,0x1C400005 bgtz v0,pos_000FFFD0<br /> 0xFFFC0,0,0x24020004 li v0,0x4<br /> 0xFFFC4,0,0xAC22FF90 sw v0,-0x70(at)<br /> 0xFFFC8,0,0x080B3AC1 j pos_002CEB04<br /> 0xFFFCC,0,0x27BDFFD0 addiu sp,-0x30<br /> 0xFFFD0,0,0x03E00008 jr ra<br /> 0xFFFD4,0,0xAC22FF90 sw v0,-0x70(at)<br /> 0x2CEB00,0x27BDFFD0 ( addiu sp,-0x30 ),0x0803FFE8 j pos_000FFFA0<br /> <br /> |-<br /> | NPED00063 || Grand Theft Auto III ||<br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 90 97 34 00 =....=........4.<br /> 00000010 10 00 00 00 21 00 00 00 01 00 00 00 00 00 00 00 ....!...........<br /> 00000020 53 4C 45 53 2D 35 30 33 33 30 SLES-50330<br /> || 15753 (3.73+) ||<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x01 =&gt; 0x349790, 0x10<br /> 0x21 =&gt; 1<br /> |-<br /> | NPUD20062 || Grand Theft Auto III ||<br /> 00000000 3D 00 00 00 48 3F 00 00 19 00 00 00 01 00 00 00 =...H?..........<br /> 00000010 40 8B 34 00 0F 00 00 00 21 00 00 00 01 00 00 00 @.4.....!.......<br /> 00000020 0B 00 00 00 01 00 00 00 71 6D 0F 00 EC 04 00 00 ........qm......<br /> 00000030 B0 00 00 00 03 E0 00 08 00 00 00 00 3C 01 00 10 ............&lt;...<br /> 00000040 8C 21 FE F0 14 20 00 25 00 00 00 00 27 BD FF 50 .!... .%....'..P<br /> 00000050 08 0B 64 B9 7F BF 00 50 00 00 00 00 34 02 00 03 ..d....P....4...<br /> 00000060 34 01 00 43 10 81 00 15 34 03 00 00 34 01 00 20 4..C....4...4.. <br /> 00000070 10 81 00 12 34 03 00 01 34 01 00 1F 10 81 00 0F ....4...4.......<br /> 00000080 34 03 00 02 34 01 00 1D 10 81 00 0C 34 03 00 03 4...4.......4...<br /> 00000090 34 02 00 02 34 01 00 39 10 81 00 08 34 03 00 04 4...4..9....4...<br /> 000000A0 34 02 00 01 34 01 00 1A 10 81 00 04 34 03 00 05 4...4.......4...<br /> 000000B0 27 BD FE F0 08 0B 1D 05 7F BF 00 90 3C 01 00 10 '...........&lt;...<br /> 000000C0 00 23 18 21 90 79 FE E0 27 39 00 01 03 22 08 2A .#.!.y..'9...&quot;.*<br /> 000000D0 00 01 C8 0A 13 20 FF F6 A0 79 FE E0 03 E0 00 08 ..... ...y......<br /> 000000E0 00 00 00 00 27 BD FE D0 7F BF 00 B0 7F BE 00 A0 ....'...........<br /> 000000F0 7F B7 00 90 7F B6 00 80 7F B5 00 70 7F B4 00 60 ...........p...`<br /> 00000100 7F B3 00 50 7F B2 00 40 7F B1 00 30 7F B0 00 20 ...P...@...0... <br /> 00000110 E7 B7 00 1C E7 B6 00 18 E7 B5 00 14 E7 B4 00 10 ................<br /> 00000120 27 B7 00 F4 46 00 65 06 E7 AC 00 F0 24 07 00 01 '...F.e.....$...<br /> 00000130 46 00 75 86 27 B0 00 F8 46 00 7D 46 E6 ED 00 00 F.u.'...F.}F....<br /> 00000140 3C 02 C4 7A AE 02 00 00 3C 02 44 7A FF A0 00 00 &lt;..z....&lt;.Dz....<br /> 00000150 44 82 60 00 27 A4 00 F0 46 00 6D C6 27 A5 00 C0 D.`.'...F.m.'...<br /> 00000160 27 A6 01 2C 70 00 46 28 70 00 4E 28 70 00 56 28 '..,p.F(p.N(p.V(<br /> 00000170 70 E0 5E 28 0C 0A A8 34 FF A0 00 08 27 B1 00 C8 p.^(...4....'...<br /> 00000180 C6 20 00 00 3C 02 40 00 44 82 08 00 24 07 00 01 . ..&lt;.@.D...$...<br /> 00000190 3C 02 44 7A 0A 00 00 00 07 00 00 00 40 7D 24 00 &lt;.Dz........@}$.<br /> 000001A0 08 00 E0 03 10 00 01 3C 44 7D 24 00 00 00 00 00 .......&lt;D}$.....<br /> 000001B0 08 00 E0 03 48 7D 24 00 00 00 00 00 F0 FE 22 AC ....H}$.......&quot;.<br /> 000001C0 E0 92 2D 00 50 FF BD 27 1A 2B 0D 08 E4 92 2D 00 ..-.P..'.+....-.<br /> 000001D0 50 00 BF 7F 00 00 00 00 10 74 2C 00 F0 FE BD 27 P........t,....'<br /> 000001E0 22 2B 0D 08 14 74 2C 00 90 00 BF 7F 00 00 00 00 &quot;+...t,.........<br /> 000001F0 00 00 00 00 53 4C 55 53 2D 32 30 30 36 32 ....SLUS-20062 <br /> || 16200 (4.10+) ||<br /> 0x3D =&gt; 0x3F48 (16200)<br /> 0x19 =&gt; (sets some value 1)<br /> 0x01 =&gt; 0x348B40, 0xF<br /> 0x21 =&gt; 1<br /> 0x0B =&gt; 1<br /> 0xF6D71, (sector)<br /> 0x4EC, (offset -&gt; 0x7B6B8CE0 in iso)<br /> 0xB0, <br /> 03 E0 00 08 jr ra<br /> 00 00 00 00 nop<br /> 3C 01 00 10 lui at,0x0010<br /> 8C 21 FE F0 lw at,-0x110(at)<br /> 14 20 00 25 bnez at,+0x98<br /> 00 00 00 00 nop<br /> 27 BD FF 50 addiu sp,-0xB0<br /> 08 0B 64 B9 j +0x22C78<br /> 7F BF 00 50 sq ra,0x50(sp)<br /> 00 00 00 00 nop<br /> 34 02 00 03 li v0,0x3<br /> 34 01 00 43 li at,0x43<br /> 10 81 00 15 beq a0,at,+0x5C<br /> 34 03 00 00 li v1,0x0<br /> 34 01 00 20 li at,0x20<br /> 10 81 00 12 beq a0,at,+0x4C<br /> 34 03 00 01 li v1,0x1<br /> 34 01 00 1F li at,0x1F<br /> 10 81 00 0F beq a0,at,+0x3C<br /> 34 03 00 02 li v1,0x2<br /> 34 01 00 1D li at,0x1D<br /> 10 81 00 0C beq a0,at,+0x2C<br /> 34 03 00 03 li v1,0x3<br /> 34 02 00 02 li v0,0x2<br /> 34 01 00 39 li at,0x39<br /> 10 81 00 08 beq a0,at,+0x24<br /> 34 03 00 04 li v1,0x4<br /> 34 02 00 01 li v0,0x1<br /> 34 01 00 1A li at,0x1A<br /> 10 81 00 04 beq a0,at,+0x14<br /> 34 03 00 05 li v1,0x5<br /> 27 BD FE F0 addiu sp,-0x110<br /> 08 0B 1D 05 j +0x10D54<br /> 7F BF 00 90 sq ra,0x90(sp)<br /> 3C 01 00 10 lui at,0x0010<br /> 00 23 18 21 addu v1,at<br /> 90 79 FE E0 lbu t9,-0x120(v1)<br /> 27 39 00 01 addiu t9,0x1<br /> 03 22 08 2A slt at,t9,v0<br /> 00 01 C8 0A movz t9,zero,at<br /> 13 20 FF F6 beqz t9,-0x24<br /> A0 79 FE E0 sb t9,-0x120(v1)<br /> 03 E0 00 08 jr ra<br /> 00 00 00 00 nop<br /> 27 BD FE D0 addiu sp,-0x130<br /> 7F BF 00 B0 sq ra,0xB0(sp)<br /> 7F BE 00 A0 sq fp,0xA0(sp)<br /> 7F B7 00 90 sq s7,0x90(sp)<br /> 7F B6 00 80 sq s6,0x80(sp)<br /> 7F B5 00 70 sq s5,0x70(sp)<br /> 7F B4 00 60 sq s4,0x60(sp)<br /> 7F B3 00 50 sq s3,0x50(sp)<br /> 7F B2 00 40 sq s2,0x40(sp)<br /> 7F B1 00 30 sq s1,0x30(sp)<br /> 7F B0 00 20 sq s0,0x20(sp)<br /> E7 B7 00 1C swc1 f23,0x1C(sp)<br /> E7 B6 00 18 swc1 f22,0x18(sp)<br /> E7 B5 00 14 swc1 f21,0x14(sp)<br /> E7 B4 00 10 swc1 f20,0x10(sp)<br /> 27 B7 00 F4 addiu s7,sp,0xF4<br /> 46 00 65 06 mov.s f20,f12<br /> E7 AC 00 F0 swc1 f12,0xF0(sp)<br /> 24 07 00 01 li a3,0x1<br /> 46 00 75 86 mov.s f22,f14<br /> 27 B0 00 F8 addiu s0,sp,0xF8<br /> 46 00 7D 46 mov.s f21,f15<br /> E6 ED 00 00 swc1 f13,(s7)<br /> 3C 02 C4 7A lui v0,0xC47A<br /> AE 02 00 00 sw v0,(s0)<br /> 3C 02 44 7A lui v0,0x447A<br /> FF A0 00 00 sd zero,(sp)<br /> 44 82 60 00 mtc1 v0,f12<br /> 27 A4 00 F0 addiu a0,sp,0xF0<br /> 46 00 6D C6 mov.s f23,f13<br /> 27 A5 00 C0 addiu a1,sp,0xC0<br /> 27 A6 01 2C addiu a2,sp,0x12C<br /> 70 00 46 28 paddub t0,zero,zero<br /> 70 00 4E 28 paddub t1,zero,zero<br /> 70 00 56 28 paddub t2,zero,zero<br /> 70 E0 5E 28 paddub t3,a3,zero<br /> 0C 0A A8 34 jal -0xC5C4<br /> FF A0 00 08 sd zero,0x8(sp)<br /> 27 B1 00 C8 addiu s1,sp,0xC8<br /> C6 20 00 00 lwc1 f00,(s1)<br /> 3C 02 40 00 lui v0,0x4000<br /> 44 82 08 00 mtc1 v0,f01<br /> 24 07 00 01 li a3,0x1<br /> 3C 02 44 7A lui v0,0x447A<br /> 0x0A =&gt; 7<br /> 0x247D40, 0x03E00008 (jr ra), 0x3C010010 lui at,0x0010<br /> 0x247D44, 0x00000000 (nop), 0x03E00008 jr ra<br /> 0x247D48, 0x00000000 (nop), 0xAC22FEF0 sw v0,-0x110(at)<br /> 0x2D92E0, 0x27BDFF50 (addiu sp,-0xB0), 0x080D2B1A j pos_0034AC68<br /> 0x2D92E4, 0x7FBF0050 (sq ra,0x50(sp)), 0x00000000 nop<br /> 0x2C7410, 0x27BDFEF0 (addiu sp,-0x110), 0x080D2B22 j pos_0034AC88<br /> 0x2C7414, 0x7FBF0090 (sq ra,0x90(sp)), 0x00000000 nop<br /> |-<br /> | NPED00070 || Grand Theft Auto - San Andreas ||<br /> 00000000 3D 00 00 00 60 40 00 00 0F 00 00 00 B0 45 1E 00 =...`@.......E..<br /> 00000010 08 51 1E 00 40 00 00 00 00 00 00 00 53 4C 45 53 .Q..@.......SLES<br /> 00000020 2D 35 32 39 32 37 -52927<br /> || 16480 (4.20+) ||<br /> 0x3D =&gt; 0x4060 (16480)<br /> 0x0F =&gt; 0x1E45B0, 0x1E5108<br /> 0x40 =&gt; (sets some value 1)<br /> |-<br /> | NPUD20946 || Grand Theft Auto - San Andreas ||<br /> 00000000 3D 00 00 00 60 40 00 00 0F 00 00 00 DC 46 1E 00 =...`@.......F..<br /> 00000010 E8 4A 1E 00 40 00 00 00 00 00 00 00 53 4C 55 53 .J..@.......SLUS<br /> 00000020 2D 32 30 39 34 36 -20946<br /> || 16480 (4.20+) ||<br /> 0x3D =&gt; 0x4060 (16480)<br /> 0x0F =&gt; 0x1E46DC, 0x1E4AE8<br /> 0x40 =&gt; (sets some value 1)<br /> |-<br /> | NPJD00062 || Grandia II ||<br /> <br /> || || texture bugs<br /> <br /> |-<br /> | NPUD21604 || GRIMgRiMoiRe ||<br /> 00000000 3D 00 00 00 12 3D 00 00 15 00 00 00 04 00 00 00 =....=..........<br /> || 15634 (3.70+) ||<br /> 0x3D =&gt; 0x3D12 (15634)<br /> 0x15 =&gt; 4<br /> |-<br /> | NPJD00020 || Katamari Damacy ||<br /> 00000000 3D 00 00 00 46 40 00 00 41 00 00 00 0B 00 00 00 =...F@..A.......<br /> 00000010 01 00 00 00 29 04 00 00 40 00 00 00 04 00 00 00 ....)...@.......<br /> 00000020 00 24 77 68 00 00 00 00 00 00 00 00 53 4C 50 53 .$wh........SLPS<br /> 00000030 2D 32 35 33 36 30 -25360<br /> || 16454 (4.20+)||<br /> 0x3D =&gt; 0x4046 (16454)<br /> 0x41 =&gt; (sets some value 1, sync? - speedhack?)<br /> 0x0B =&gt; 1<br /> 0x429, (sector)<br /> 0x40, (offset -&gt; 0x214834 in iso)<br /> 0x04,<br /> 0x68772400 mfsa t6 , <br /> 0x00000000 nop<br /> |-<br /> | NPUD20847 || La Pucelle: Tactics ||<br /> 00000000 3D 00 00 00 DB 3F 00 00 0A 00 00 00 0B 00 00 00 =....?..........<br /> 00000010 40 FA 0F 00 00 00 00 00 0C 01 0A 3C 44 FA 0F 00 @..........&lt;D...<br /> 00000020 00 00 00 00 04 DE 4A 35 48 FA 0F 00 00 00 00 00 ......J5H.......<br /> 00000030 04 00 45 11 4C FA 0F 00 00 00 00 00 00 00 00 00 ..E.L...........<br /> 00000040 50 FA 0F 00 00 00 00 00 10 00 0A 8E 54 FA 0F 00 P...........T...<br /> 00000050 00 00 00 00 9A E2 04 08 58 FA 0F 00 00 00 00 00 ........X.......<br /> 00000060 14 00 0B 8E 5C FA 0F 00 00 00 00 00 9C E2 04 08 ....\...........<br /> 00000070 60 FA 0F 00 00 00 00 00 00 00 00 00 60 8A 13 00 `...........`...<br /> 00000080 10 00 0A 8E 90 FE 03 08 64 8A 13 00 14 00 0B 8E ........d.......<br /> 00000090 00 00 00 00 00 00 00 00 53 4C 55 53 2D 32 30 38 ........SLUS-208<br /> 000000A0 34 37 47 <br /> || 16347 (4.10+) || fixes blackscreen - config rebuild function/opcode from 0x138A60 by rewrite it under 0x100000 offset, and jump to it by j 0x000FFA40 (note: area under 0x100000 is unused in 99% games, but can be freely addressed).<br /> 0x3D =&gt; 0x3FDB (16347)<br /> 0x0A =&gt; 0xB<br /> 0xFFA40,0,0x3C0A010C lui t2, 0x010C<br /> 0xFFA44,0,0x354ADE04 ori t2, 0xDE04<br /> 0xFFA48,0,0x11450004 beq t2, a1, 0x000FFA5C<br /> 0xFFA4C,0,0 nop<br /> 0xFFA50,0,0x8E0A0010 lw t2, 0x10(s0)<br /> 0xFFA54,0,0x0804E29A j 0x00138A68<br /> 0xFFA58,0,0x8E0B0014 lw t3, 0x14(s0)<br /> 0xFFA5C,0,0x0804E29C j 0x00138A70<br /> 0xFFA60,0,0 nop<br /> 0x138A60,0x8E0A0010 (lw t2, 0x10(s0)),0x0803FE90 j 0x000FFA40<br /> 0x138A64,0x8E0B0014 (lw t3, 0x14(s0)),0 (nop)<br /> |-<br /> | NPUD20275 || Kessen II ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0B 00 00 00 03 00 00 00 =....=..........<br /> 00000010 10 76 00 00 BC 07 00 00 10 00 00 00 48 43 88 00 .v..........HC..<br /> 00000020 4B E5 21 AC 30 84 80 00 4B E7 2B 3C 4B E5 21 AC K.!.0...K.+&lt;K.!.<br /> 00000030 30 84 80 00 4B E7 2B 3C 48 43 88 00 64 76 00 00 0...K.+&lt;HC..dv..<br /> 00000040 10 05 00 00 0C 00 00 00 4B C0 10 9C 4B C0 18 DC ........K...K...<br /> 00000050 4A 68 03 BE 4A 68 03 BE 4B C0 10 9C 4B C0 18 DC Jh..Jh..K...K...<br /> 00000060 64 76 00 00 C8 06 00 00 0C 00 00 00 4B C0 10 9C dv..........K...<br /> 00000070 4B C0 18 DC 4A 68 03 BE 4A 68 03 BE 4B C0 10 9C K...Jh..Jh..K...<br /> 00000080 4B C0 18 DC 00 00 00 00 53 4C 55 53 2D 32 30 32 K.......SLUS-202<br /> 00000090 37 35 75 <br /> || 15753 (3.73+) || fixes spickey polygon syndrome problems for characters in cutscenes/selection/..<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0B =&gt; 3<br /> 0x7610, 0x07BC, 0x10, <br /> Patched Bytes:<br /> 0x00884348 00 88 43 48 cfc2 $v1, $17 (cfc2 v1,MACflag)<br /> 0xAC21E54B AC 21 E5 4B cop2 0x1E521AC (vsub.xyzw vf06, vf04, vf05)<br /> 0x00808430 00 80 84 30 andi $a0, 0x8000<br /> 0x3C2BE74B 3C 2B E7 4B cop2 0x1E72B3C (vmove.xyzw, vf07, vf05)<br /> Original Bytes:<br /> 0xAC21E54B AC 21 E5 4B cop2 0x1E521AC (vsub.xyzw vf06, vf04, vf05)<br /> 0x00808430 00 80 84 30 andi $a0, 0x8000<br /> 0x3C2BE74B 3C 2B E7 4B cop2 0x1E72B3C (vmove.xyzw, vf07, vf05)<br /> 0x00884348 00 88 43 48 cfc2 $v1, $17 (cfc2 v1,MACflag)<br /> 0x7664, 0x0510, 0x0C,<br /> Patched Bytes:<br /> 0x9C10C04B 9C 10 C0 4B cop2 0x1C0109C (vmulq.xyz vf02,vf02,Q)<br /> 0xDC18C04B DC 18 C0 4B cop2 0x1C018DC (vmulq.xyz vf03,vf03,Q)<br /> 0xBE03684A BE 03 68 4A cop2 0x6803BE (vrsqrt Q, vf00w, vf08x)<br /> Original Bytes:<br /> 0xBE03684A BE 03 68 4A cop2 0x6803BE (vrsqrt Q, vf00w, vf08x)<br /> 0x9C10C04B 9C 10 C0 4B cop2 0x1C0109C (vmulq.xyz vf02,vf02,Q)<br /> 0xDC18C04B DC 18 C0 4B cop2 0x1C018DC (vmulq.xyz vf03,vf03,Q)<br /> 0x7664, 0x06C8, 0x0C, <br /> Patched Bytes:<br /> 0x9C10C04B 9C 10 C0 4B cop2 0x1C0109C (vmulq.xyz vf02,vf02,Q)<br /> 0xDC18C04B DC 18 C0 4B cop2 0x1C018DC (vmulq.xyz vf03,vf03,Q)<br /> 0xBE03684A BE 03 68 4A cop2 0x6803BE (vrsqrt Q, vf00w, vf08x)<br /> Original Bytes:<br /> 0xBE03684A BE 03 68 4A cop2 0x6803BE (vrsqrt Q, vf00w, vf08x)<br /> 0x9C10C04B 9C 10 C0 4B cop2 0x1C0109C (vmulq.xyz vf02,vf02,Q)<br /> 0xDC18C04B DC 18 C0 4B cop2 0x1C018DC (vmulq.xyz vf03,vf03,Q)<br /> |-<br /> | NPJD00040 || Mana Khemia 2 ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 53 4C 50 4D 2D 35 35 31 ........SLPM-551<br /> 00000020 31 34 14<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> |-<br /> | NPUD20827 || Manhunt ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0A 00 00 00 0F 00 00 00 =....=..........<br /> 00000010 A0 FF 0F 00 00 00 00 00 2D 68 A0 00 A4 FF 0F 00 ........-h......<br /> 00000020 00 00 00 00 14 00 AE 8D A8 FF 0F 00 00 00 00 00 ................<br /> 00000030 10 00 AC 8D AC FF 0F 00 00 00 00 00 50 00 AF 8D ............P...<br /> 00000040 B0 FF 0F 00 00 00 00 00 08 00 8F 15 B4 FF 0F 00 ................<br /> 00000050 00 00 00 00 54 00 AB 8D B8 FF 0F 00 00 00 00 00 ....T...........<br /> 00000060 06 00 CB 15 BC FF 0F 00 00 00 00 00 00 80 8F 25 ...............%<br /> 00000070 C0 FF 0F 00 00 00 00 00 00 80 CE 25 C4 FF 0F 00 ...........%....<br /> 00000080 00 00 00 00 54 00 AE AD C8 FF 0F 00 00 00 00 00 ....T...........<br /> 00000090 50 00 AF AD CC FF 0F 00 00 00 00 00 10 00 AF AD P...............<br /> 000000A0 D0 FF 0F 00 00 00 00 00 14 00 AE AD D4 FF 0F 00 ................<br /> 000000B0 00 00 00 00 04 68 10 08 D8 FF 0F 00 00 00 00 00 .....h..........<br /> 000000C0 5F 00 03 3C 0B 00 00 00 01 00 00 00 22 0D 00 00 _..&lt;........&quot;...<br /> 000000D0 14 01 00 00 08 00 00 00 08 03 FF E8 27 BD FF F0 ............'...<br /> 000000E0 3C 03 00 5F 27 BD FF F0 00 00 00 00 53 4C 55 53 &lt;.._'.......SLUS<br /> 000000F0 2D 32 30 38 32 37 -20827<br /> || 15753 (3.73+) || fixes graphical issues<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0A =&gt; 0x0F<br /> 0xFFFA0,0, 0x00A0682D 2D 68 A0 00 dmove t5,a1<br /> 0xFFFA4,0, 0x8DAE0014 14 00 AE 8D lw t6,0x14(t5)<br /> 0xFFFA8,0, 0x8DAC0010 10 00 AC 8D lw t4,0x10(t5)<br /> 0xFFFAC,0, 0x8DAF0050 50 00 AF 8D lw t7,0x50(t5)<br /> 0xFFFB0,0, 0x158F0008 08 00 8F 15 bne t4,t7,pos_000FFFD4<br /> 0xFFFB4,0, 0x8DAB0054 54 00 AB 8D lw t3,0x54(t5)<br /> 0xFFFB8,0, 0x15CB0006 06 00 CB 15 bne t6,t3,pos_000FFFD4<br /> 0xFFFBC,0, 0x258F8000 00 80 8F 25 addiu t7,t4,-0x8000<br /> 0xFFFC0,0, 0x25CE8000 00 80 CE 25 addiu t6,-0x8000<br /> 0xFFFC4,0, 0xADAE0054 54 00 AE AD sw t6,0x54(t5)<br /> 0xFFFC8,0, 0xADAF0050 50 00 AF AD sw t7,0x50(t5)<br /> 0xFFFCC,0, 0xADAF0010 10 00 AF AD sw t7,0x10(t5)<br /> 0xFFFD0,0, 0xADAE0014 14 00 AE AD sw t6,0x14(t5)<br /> 0xFFFD4,0, 0x08106804 04 68 10 08 j pos_0041A010<br /> 0xFFFD8,0, 0x3C03005F 5F 00 03 3C lui v1,0x005F<br /> 0x0B =&gt; 1<br /> 0xD22, (disc sector)<br /> 0x114, (offset -&gt; 0x691108 in iso)<br /> 0x08,<br /> 0x0803FFE8 E8 FF 03 08 j pos_000FFFA0<br /> 0x27BDFFF0 F0 FF BD 27 addiu sp,-0x10<br /> 0x3C03005F 5F 00 03 3C lui v1,0x005F<br /> 0x27BDFFF0 F0 FF BD 27 addiu sp,-0x10<br /> &lt;pre&gt;<br /> z_un_0041a008:<br /> <br /> lui v1,0x005F &lt;- gets overwritten<br /> addiu sp,-0x10<br /> lw v0,-0x5C14(v1)<br /> sd ra,(sp)<br /> jalr v0<br /> nop <br /> ld ra,(sp)<br /> jr ra<br /> addiu sp,0x10<br /> nop <br /> &lt;/pre&gt;<br /> |-<br /> | NPED00145 || Max Payne ||<br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 F4 E9 52 00 =....=........R.<br /> 00000010 03 00 00 00 01 00 00 00 78 EB 52 00 02 00 00 00 ........x.R.....<br /> 00000020 00 00 00 00 53 4C 45 53 2D 35 30 33 32 35 ....SLES-50325<br /> || 15753 (3.73+) || fixes game hang on first cutscene/cutscenes<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x01 =&gt; 0x52E9F4, 3 (applies to main_p.run ELF on disc: 0x52E9F4 dmove a1,v0 )<br /> 0x01 =&gt; 0x52EB78, 2 (applies to main_p.run ELF on disc: 0x52EB78 lq s1,0x10(sp) )<br /> |-<br /> | NPED00055 || MX World Tour: Featuring Jamie Little ||<br /> <br /> || || blackscreen<br /> <br /> |-<br /> | NPUD21577 || Odin Sphere ||<br /> 00000000 3D 00 00 00 10 3D 00 00 0B 00 00 00 02 00 00 00 =....=..........<br /> 00000010 52 04 00 00 F8 03 00 00 04 00 00 00 2D 02 49 0C R...........-.I.<br /> 00000020 2D 02 49 14 52 04 00 00 70 04 00 00 04 00 00 00 -.I.R...p.......<br /> 00000030 2D 03 49 0C 2D 03 49 14 15 00 00 00 04 00 00 00 -.I.-.I.........<br /> || 15632 (3.70+) ||<br /> 0x3D =&gt; 0x3D10 (15632)<br /> 0x0B =&gt; 2<br /> 0x452, (sector)<br /> 0x3F8, (offset -&gt; 0x2293EC in iso)<br /> 0x04,<br /> 0x0C49022D sltiu v0,t0,0x490C,<br /> 0x1449022D sltiu v0,t0,0x4914,<br /> 0x452, (sector)<br /> 0x470, (offset -&gt; 0x229464 in iso)<br /> 0x04,<br /> 0x0C49032D sltiu v1,t0,0x490C,<br /> 0x1449032D sltiu v1,t0,0x4914<br /> 0x15 =&gt; 4<br /> |-<br /> | NPJD00028 || Phantasy Star Complete Collection ||<br /> 00000000 3D 00 00 00 B8 41 00 00 45 00 00 00 00 00 00 00 =....A..E.......<br /> 00000010 53 4C 50 4D 2D 36 32 37 37 35 SLPM-62775<br /> || 16824 (4.40+)||<br /> 0x3D =&gt; 0x41B8 (16824)<br /> 0x45 =&gt; (sets some value 1)<br /> |-<br /> | NPUC97142 || Primal ||<br /> 00000000 3D 00 00 00 65 3D 00 00 12 00 00 00 0D 00 00 00 =...e=..........<br /> 00000010 00 00 00 04 00 00 00 00 02 00 03 00 5F 01 00 00 ............_...<br /> 00000020 8D BD 6F 2C 67 03 00 00 02 00 03 00 6B 01 00 00 ..o,g.......k...<br /> 00000030 31 35 70 E9 72 03 00 00 03 00 02 00 60 9B 39 10 15p.r.......`.9.<br /> 00000040 18 9C 39 10 0B 00 00 00 01 00 00 00 47 07 00 00 ..9.........G...<br /> 00000050 6C 04 00 00 04 00 00 00 80 5F 03 3C 80 00 03 3C l........_.&lt;...&lt;<br /> || 15717 (3.73+) || fixes loading screen freezing<br /> 0x3D =&gt; 0x3D65 (15717)<br /> 0x12 =&gt; 0x0D, (fixes freezing)<br /> 00 00 00 04 0x04000000 (64 MB?)<br /> 00 00 00 00 <br /> 02 00&gt;'''03 00'''&lt; Count, Type 2<br /> 5F 01 00 00 0x15F<br /> 8D BD 6F 2C 0x2C6FBD8D<br /> 67 03 00 00 0x367<br /> 02 00&gt;'''03 00'''&lt; Count, Type 2<br /> 6B 01 00 00 0x16B<br /> 31 35 70 E9 0xE9703531<br /> 72 03 00 00 0x372<br /> 03 00&gt;'''02 00'''&lt; Count<br /> 60 9B 39 10 -&gt; 0x399B60 ctc2 $zero, $5<br /> 18 9C 39 10 -&gt; 0x399C18 ctc2 $zero, $5<br /> 0x0B =&gt; 1<br /> 0x747, (disc sector)<br /> 0x46C, (offset -&gt; 0x3A3C60 - this patch is for another (hidden) .elf (.vutext) on disc) <br /> 0x04,<br /> 0x3C035F80 lui v1,0x5F80,<br /> 0x3C030080 lui v1,0x0080<br /> |-<br /> | NPUD21120 || Psychonauts ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0B 00 00 00 01 00 00 00 =....=..........<br /> 00000010 12 01 00 00 58 00 00 00 04 00 00 00 00 00 00 00 ....X...........<br /> 00000020 11 CF FF F9 00 00 00 00 53 4C 55 53 2D 32 31 31 ........SLUS-211<br /> 00000030 32 30 20<br /> || 15753 (3.73+) || <br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0B =&gt; 1<br /> 0x112, (sector)<br /> 0x58, (offset -&gt; 0x8904C in iso)<br /> 0x04,<br /> 0x00000000 nop, <br /> 0xF9FFCF11 beq t6,t7,-0x18<br /> |-<br /> | NPUD20272 || Rayman Arena||<br /> 00000000 3D 00 00 00 89 3D 00 00 12 00 00 00 11 00 00 00 =....=..........<br /> 00000010 00 00 00 04 00 00 00 00 02 00 04 00 00 00 00 00 ................<br /> 00000020 AE B3 4E 5D 20 02 00 00 46 02 00 00 03 00 09 00 ..N] ...F.......<br /> 00000030 B0 E9 1D 10 94 EB 1D 10 00 EC 1D 10 54 EC 1D 10 ............T...<br /> 00000040 A0 EE 1D 10 DC EE 1D 10 78 F0 1D 10 B4 F0 1D 10 ........x.......<br /> 00000050 54 F1 1D 10 00 00 00 00 53 4C 55 53 2D 32 30 32 T.......SLUS-202<br /> 00000060 37 32 72 <br /> || 15753 (3.73+) || <br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x12 =&gt; 0x11<br /> 00 00 00 04 <br /> 00 00 00 00 <br /> 02 00&gt;'''04 00'''&lt; Count<br /> 00 00 00 00 <br /> AE B3 4E 5D <br /> 20 02 00 00 <br /> 46 02 00 00 <br /> 03 00&gt;'''09 00'''&lt; Count<br /> B0 E9 1D 10 -&gt; 0x1DE9B0 ctc2 $t0, $6<br /> 94 EB 1D 10 -&gt; 0x1DEB94 ctc2 $t0, $6<br /> 00 EC 1D 10 -&gt; 0x1DEC00 ctc2 $t0, $6<br /> 54 EC 1D 10 -&gt; 0x1DEC54 ctc2 $t0, $6<br /> A0 EE 1D 10 -&gt; 0x1DEEA0 ctc2 $t0, $6<br /> DC EE 1D 10 -&gt; 0x1DEEDC ctc2 $t0, $6<br /> 78 F0 1D 10 -&gt; 0x1DF078 ctc2 $t0, $6<br /> B4 F0 1D 10 -&gt; 0x1DF0B4 ctc2 $t0, $6<br /> 54 F1 1D 10 -&gt; 0x1DF154 ctc2 $t0, $6<br /> |-<br /> | NPJD00079 || Raw Danger! ||<br /> <br /> || || fps problem<br /> <br /> |-<br /> | NPUD20442 || Red Faction 2 ||<br /> 00000000 3D 00 00 00 42 3F 00 00 19 00 00 00 00 00 00 00 =...B?..........<br /> 00000010 53 4C 55 53 2D 32 30 34 34 32 SLUS-20442<br /> || 16194 (4.00+) || <br /> 0x3D =&gt; 0x3F42 (16194)<br /> 0x19 =&gt; (sets some value 1)<br /> |-<br /> | NPUD20471 || Rygar ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0E 00 00 00 A8 7D 14 00 =....=.......}..<br /> 00000010 00 00 00 00 53 4C 55 53 2D 32 30 34 37 31 ....SLUS-20471<br /> || 15753 (3.73+) || fixes hard crash at start when leaving the place<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0E =&gt; 0x147DA8 (offset)<br /> <br /> .text:00147DA8 sub.s $f12, $f20, $f12<br /> |-<br /> | NPUD20974 || Shin Megami Tensei Digital Devil Saga 1|| <br /> 00000000 3D 00 00 00 EC 42 00 00 46 00 00 00 48 00 00 00 =....B..F...H...<br /> 00000010 01 00 00 00 90 D0 03 00 00 00 00 00 53 4C 55 53 ............SLUS<br /> 00000020 2D 32 30 39 37 34 -20974<br /> || 17132 (4.50+) || fixes screen shakes/framerate cracks<br /> 0x3D =&gt; 0x42EC (17132)<br /> 0x46 =&gt; (sets some value 1)<br /> 0x48 =&gt; 0x1 , 0x3D090<br /> |-<br /> | NPUD20911 || Shin Megami Tensei Nocturne || <br /> 00000000 3D 00 00 00 F6 41 00 00 46 00 00 00 00 00 00 00 =....A..F.......<br /> 00000010 53 4C 55 53 2D 32 30 39 31 31 SLUS-20911<br /> || 16886 (4.40+) || fixes screen shakes/flickers (and much more importantly, game crashes)<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x46 =&gt; (sets some value 1)<br /> |-<br /> | NPUD21621 || Shin Megami Tensei Persona 3 FES ||<br /> 00000000 3D 00 00 00 48 41 00 00 0A 00 00 00 20 00 00 00 =...HA...... ...<br /> 00000010 00 FA 0F 00 00 00 00 00 E0 00 A4 8F 04 FA 0F 00 .·......Ó.ñÅ.·..<br /> 00000020 00 00 00 00 6C 01 03 24 08 FA 0F 00 00 00 00 00 ....l..$.·......<br /> 00000030 0A 00 83 14 0C FA 0F 00 00 00 00 00 FF 00 04 24 ..â..·...... ..$<br /> 00000040 10 FA 0F 00 00 00 00 00 B8 26 04 00 14 FA 0F 00 .·......©&amp;...·..<br /> 00000050 00 00 00 00 27 20 84 00 18 FA 0F 00 00 00 00 00 ....' ä..·......<br /> 00000060 D0 00 A3 DF 1C FA 0F 00 00 00 00 00 24 18 83 00 ð.ú¯.·......$.â.<br /> 00000070 20 FA 0F 00 00 00 00 00 0B 00 63 64 24 FA 0F 00 ·........cd$·..<br /> 00000080 00 00 00 00 33 00 04 24 28 FA 0F 00 00 00 00 00 ....3..$(·......<br /> 00000090 B8 26 04 00 2C FA 0F 00 00 00 00 00 25 18 83 00 ©&amp;..,·......%.â.<br /> 000000A0 30 FA 0F 00 00 00 00 00 D0 00 A3 FF 34 FA 0F 00 0·......ð.ú 4·..<br /> 000000B0 00 00 00 00 E1 B3 11 08 38 FA 0F 00 00 00 00 00 ....ߦ..8·......<br /> 000000C0 50 00 64 8E 7C CF 46 00 50 00 64 8E 80 FE 03 08 P.dÄ|¤F.P.dÄǦ..<br /> 000000D0 40 FA 0F 00 00 00 00 00 00 3C 04 3C 44 FA 0F 00 @·.......&lt;.&lt;D·..<br /> 000000E0 00 00 00 00 18 3F 05 3C 48 FA 0F 00 00 00 00 00 .....?.&lt;H·......<br /> 000000F0 20 00 24 AE 4C FA 0F 00 00 00 00 00 24 00 24 AE .$«L·......$.$«<br /> 00000100 50 FA 0F 00 00 00 00 00 60 00 25 AE 54 FA 0F 00 P·......`.%«T·..<br /> 00000110 00 00 00 00 64 00 24 AE 58 FA 0F 00 00 00 00 00 ....d.$«X·......<br /> 00000120 A0 00 24 AE 5C FA 0F 00 00 00 00 00 A4 00 25 AE á.$«\·......ñ.%«<br /> 00000130 60 FA 0F 00 00 00 00 00 E0 00 25 AE 64 FA 0F 00 `·......Ó.%«d·..<br /> 00000140 00 00 00 00 E4 00 25 AE 68 FA 0F 00 00 00 00 00 ....õ.%«h·......<br /> 00000150 04 00 04 24 6C FA 0F 00 00 00 00 00 39 9B 10 08 ...$l·......9ø..<br /> 00000160 70 FA 0F 00 00 00 00 00 10 00 25 26 DC 6C 42 00 p·........%&amp;_lB.<br /> 00000170 04 00 04 24 90 FE 03 08 E0 6C 42 00 10 00 25 26 ...$ɦ..ÓlB...%&amp;<br /> 00000180 00 00 00 00 30 6A 4C 00 80 3F 02 3C 7F 3F 02 3C ....0jL.Ç?.&lt;?.&lt;<br /> 00000190 21 00 00 00 00 00 00 00 15 00 00 00 04 00 00 00 !...............<br /> 000001A0 00 00 00 00 53 4C 55 53 2D 32 31 36 32 31 ....SLUS-21621<br /> || 16712 (4.25+)||<br /> 0x3D =&gt; 0x4148 (16712)<br /> 0x0A =&gt; 0x20<br /> 0xFFA00,0,0x8FA400E0 lw a0,0xE0(sp)<br /> 0xFFA04,0,0x2403016C li v1,0x16C<br /> 0xFFA08,0,0x1483000A bne a0,v1,pos_000FFA34<br /> 0xFFA0C,0,0x240400FF li a0,0xFF<br /> 0xFFA10,0,0x000426B8 dsll a0,0x1A<br /> 0xFFA14,0,0x00842027 nor a0,a0<br /> 0xFFA18,0,0xDFA300D0 ld v1,0xD0(sp)<br /> 0xFFA1C,0,0x00831824 and v1,a0,v1<br /> 0xFFA20,0,0x6463000B daddiu v1,0x000B<br /> 0xFFA24,0,0x24040030 li a0,0x30<br /> 0xFFA28,0,0x000426B8 dsll a0,0x1A<br /> 0xFFA2C,0,0x00831825 or v1,a0,v1<br /> 0xFFA30,0,0xFFA300D0 sd v1,0xD0(sp)<br /> 0xFFA34,0,0x0811B3E1 j pos_0046CF84<br /> 0xFFA38,0,0x8E640050 lw a0,0x50(s3)<br /> 0x46CF7C,0x8E640050 (lw a0,0x50(s3),0x0803FE80 j pos_000FFA00<br /> 0xFFA40,0,0x3C043C00 lui a0,0x3C00<br /> 0xFFA44,0,0x3C053F18 lui a1,0x3F18<br /> 0xFFA48,0,0xAE240020 sw a0,0x20(s1)<br /> 0xFFA4C,0,0xAE240024 sw a0,0x24(s1)<br /> 0xFFA50,0,0xAE250060 sw a1,0x60(s1)<br /> 0xFFA54,0,0xAE240064 sw a0,0x64(s1)<br /> 0xFFA58,0,0xAE2400A0 sw a0,0xA0(s1)<br /> 0xFFA5C,0,0xAE2500A4 sw a1,0xA4(s1)<br /> 0xFFA60,0,0xAE2500E0 sw a1,0xE0(s1)<br /> 0xFFA64,0,0xAE2500E4 sw a1,0xE4(s1)<br /> 0xFFA68,0,0x24040004 li a0,0x4<br /> 0xFFA6C,0,0x08109B39 j pos_00426CE4<br /> 0xFFA70,0,0x26250010 addiu a1,s1,0x10<br /> 0x426CDC,0x24040004(li a0,0x4),0x0803FE90 j pos_000FFA40<br /> 0x426CE0,0x26250010(addiu a1,s1,0x10),0 nop<br /> 0x4C6A30,0x3C023F80(lui v0,0x3F80),0x3C023F7F lui v0,0x3F7F<br /> 0x21 =&gt; 0<br /> 0x15 =&gt; 4<br /> |-<br /> | NPUD21782 || Shin Megami Tensei Persona 4 || <br /> 00000000 3D 00 00 00 89 3D 00 00 0A 00 00 00 01 00 00 00 =....=..........<br /> 00000010 60 9C 18 00 80 3F 02 3C 7F 3F 02 3C 00 00 00 00 `....?.&lt;.?.&lt;....<br /> 00000020 53 4C 55 53 2D 32 31 37 38 32 SLUS-21782<br /> || 15753 (3.73+) || Dungeon name in the corner is glitched (shows black bar).<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0A =&gt; 1<br /> 0x189C60, 0x3C023F80 lui v0,0x3F80 <br /> 0x3C023F7F lui v0,0x3F7F<br /> |-<br /> | NPUC97355 || Siren ||<br /> 00000000 3D 00 00 00 15 41 00 00 19 00 00 00 00 00 00 00 =....A..........<br /> 00000010 53 43 55 53 2D 39 37 33 35 35 SCUS-97355<br /> || 16661 (4.25+)|| <br /> 0x3D =&gt; 0x4115 (16661)<br /> 0x19 =&gt; (sets some value 1)<br /> |-<br /> | NPED00272 || Summoner ||<br /> 00000000 3D 00 00 00 89 3D 00 00 2C 00 00 00 01 00 00 00 =....=..,.......<br /> 00000010 00 00 00 00 53 4C 45 53 2D 38 32 30 30 35 ....SLES-82005 <br /> || 15753 (3.73+) || fixes blackscreen<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x2C =&gt; 0x1<br /> |-<br /> | NPUC97264 || Syphon Filter The Omega Strain || <br /> 00000000 3D 00 00 00 1F 40 00 00 12 00 00 00 05 00 00 00 =....@..........<br /> 00000010 00 00 00 00 00 00 00 00 01 00 02 00 31 00 99 18 ............1...<br /> 00000020 32 00 B6 18 0B 00 00 00 01 00 00 00 F5 05 00 00 2...............<br /> 00000030 8C 02 00 00 04 00 00 00 00 00 00 00 0C 0D C1 54 ...............T<br /> 00000040 0A 00 00 00 0B 00 00 00 F8 35 37 00 1B 52 06 4B .........57..R.K<br /> 00000050 00 80 43 48 FC 35 37 00 00 80 43 48 1B 52 06 4B ..CH.57...CH.R.K<br /> 00000060 EC 6F 3A 00 00 00 00 00 00 00 11 64 F8 6F 3A 00 .o:........d.o:.<br /> 00000070 78 A1 0E 0C 80 FE 03 0C 00 FA 0F 00 00 00 00 00 x...............<br /> 00000080 02 00 08 3C 04 FA 0F 00 00 00 00 00 2B 40 28 02 ...&lt;........+@(.<br /> 00000090 08 FA 0F 00 00 00 00 00 02 00 00 15 0C FA 0F 00 ................<br /> 000000A0 00 00 00 00 54 00 01 3C 10 FA 0F 00 00 00 00 00 ....T..&lt;........<br /> 000000B0 00 28 20 AC 14 FA 0F 00 00 00 00 00 78 A1 0E 08 .( .........x...<br /> 000000C0 18 FA 0F 00 00 00 00 00 01 00 31 26 00 00 00 00 ..........1&amp;....<br /> 000000D0 53 43 55 53 2D 39 37 32 36 34 SCUS-97264<br /> || 16415 (4.20+)|| fixes texture bugs<br /> 0x3D =&gt; 0x401F (16415)<br /> 0x12 =&gt; 0x5 <br /> 00 00 00 00 <br /> 00 00 00 00 <br /> 01 00&gt;'''02 00'''&lt; Count<br /> 31 00 99 18 -&gt; 0x18990<br /> 32 00 B6 18 -&gt; 0x18B60<br /> 0x0B =&gt; 1<br /> 0x5F5, (sector)<br /> 0x28C, (offset -&gt; 0x2FAA80 in iso)<br /> 0x04,<br /> 0x00000000 (nop), <br /> 0x54C10D0C (jal sub_370550)<br /> 0x0A =&gt; 0xB<br /> 0x3735F8, 0x4B06521B (cop2 0x106521B, vmulw.x vf08,vf10,vf06w), 0x48438000 cfc2 v1,Status<br /> 0x3735FC, 0x48438000 (cfc2 v1,Status), 0x4B06521B cop2 0x106521B (vmulw.x vf08,vf10,vf06w)<br /> 0x3A6FEC, 0 (nop), 0x64110000 li $s1, 0<br /> 0x3A6FF8, 0x0C0EA178 (jal pos_003A85E0), 0x0c03FE80 jal pos_000FFA00<br /> 0xFFA00, 0 (nop), 0x3C080002 lui t0,0x0002<br /> 0xFFA04, 0 (nop), 0x0228402B sltu t0,s1,t0<br /> 0xFFA08, 0 (nop), 0x15000002 bnez t0,pos_000FFA14<br /> 0xFFA0C, 0 (nop), 0x3C010054 lui at,0x0054<br /> 0xFFA10, 0 (nop), 0xAC202800 sw zero,0x2800(at)<br /> 0xFFA14, 0 (nop), 0x080EA178 j pos_003A85E0<br /> 0xFFA18, 0 (nop), 0x26310001 addiu s1,0x1<br /> |-<br /> | NPJD00080 || Zettaizetsumei Toshi (Disaster Report) ||<br /> 00000000 3D 00 00 00 26 44 00 00 44 00 00 00 00 00 00 00 =...&amp;D..D.......<br /> 00000010 53 4C 50 53 2D 32 35 31 31 33 SLPS-25113<br /> || 17446 (4.78)|| <br /> 0x3D =&gt; 0x4426 (17446)<br /> 0x44 =&gt; (disables smoothing and smoothing option)<br /> |}<br /> <br /> ====Unofficial====<br /> {| class=&quot;wikitable sortable&quot; style=&quot;width: 1920px;&quot; | <br /> |-<br /> ! style=&quot;width: 10px;&quot; | ID !! Title !! style=&quot;width: 600px;&quot; | Config Data !! Revision !! Notes<br /> |-<br /> | ALL || .hack\\infection Part 1 || <br /> 00000000 3D 00 00 00 89 3D 00 00 08 00 00 00 FF FF FF FF =....=..........<br /> 00000010 FF FF FF FF 8D 94 11 01 FC 0E 00 80 FF FF FF FF ................<br /> 00000020 FF FF FF FF 8D 94 11 01 03 02 03 10 08 00 00 00 ................<br /> 00000030 FF FF FF FF FF FF FF FF 40 A7 E0 01 3C 03 00 80 ........@...&lt;...<br /> 00000040 FF FF FF FF FF FF FF FF 40 A7 E1 01 FC 1E 00 80 ........@.......<br /> 00000050 00 00 00 00 ....<br /> || 15753 (3.73+) || fix freeze<br /> <br /> |-<br /> | SLUS-21268 || 24 The Game ||<br /> 00000000 3D 00 00 00 65 3D 00 00 12 00 00 00 0D 00 00 00 =...e=..........<br /> 00000010 00 00 00 04 00 00 00 00 02 00 03 00 E7 00 00 00 ................<br /> 00000020 45 AD 6E AA EF 02 00 00 02 00 03 00 F3 00 00 00 E.n.............<br /> 00000030 E4 A0 6E 47 FA 02 00 00 03 00 02 00 B0 55 41 10 ..nG.........UA.<br /> 00000040 68 56 41 10 00 00 00 00 hVA..... <br /> <br /> || 15717 (3.73+) || fixes loading screen freezing<br /> 0x3D =&gt; 0x3D65 (15717)<br /> 0x12 =&gt; 0x0D, <br /> 00 00 00 04 <br /> 00 00 00 00 <br /> 02 00&gt;'''03 00'''&lt; Count, Type 2<br /> E7 00 00 00 <br /> 45 AD 6E AA <br /> EF 02 00 00 <br /> 02 00&gt;'''03 00'''&lt; Count, Type 2<br /> F3 00 00 00 <br /> E4 A0 6E 47 <br /> FA 02 00 00 <br /> 03 00&gt;'''02 00'''&lt; Count, Type 3<br /> B0 55 41 10 -&gt; 0x4155B0<br /> 68 56 41 10 -&gt; 0x415668 <br /> <br /> |-<br /> | SCES-50885 || Ape Escape 2 || <br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 01 00 00 00 =...WD..........<br /> 00000010 E0 E0 34 00 16 00 40 14 00 00 00 00 00 00 00 00 ŕŕ4...@.........<br /> || 17495 (4.78+) || Force game to not create Mipmaps. Fix flickering textures completely. <br /> <br /> |-<br /> | SLUS-21165 || Arc the Lad End of Darkness ||<br /> 00000000 3D 00 00 00 60 40 00 00 0F 00 00 00 B8 DD 26 00 =...`@........&amp;.<br /> 00000010 AC FE 26 00 00 00 00 00 ..&amp;..... <br /> || 15634 (3.70+) || fixes not displaying/freezing dialogs<br /> 0x3D =&gt; 0x3D12 (15634)<br /> 0x0F =&gt; 0x26DDB8, 0x26FEAC<br /> |-<br /> | SLUS-21445 || Ar Tonelico - Melody of Elemia ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> |-<br /> | SLUS-21788 || Ar tonelico II - Melody of Metafalica ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | || Atelier Iris ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | || Atelier Iris 2 ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | || Atelier Iris 3 ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | SLES-50672/SLUS-20035 || Baldur's Gate - Dark Alliance || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly (see: [https://www.dropbox.com/s/92n81uot56czb5v/Datei%2018.08.17%2011%2011%2029.jpeg?dl=0] )<br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> |-<br /> | || Baldur's Gate 2 || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | || Bard's Tale || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | SLES-51044 / SLES-52968 || Burnout 2: POI || <br /> 00000000 3D 00 00 00 46 40 00 00 0A 00 00 00 05 00 00 00 =...F@..........<br /> 00000010 B8 85 24 00 18 0D 80 C6 16 43 01 3C CC 85 24 00 ¸…$...€Ć.C.&lt;Ě…$.<br /> 00000020 00 00 40 E4 00 00 41 AC 04 26 26 00 80 97 80 C7 ..@ä..A¬.&amp;&amp;.€—€Ç<br /> 00000030 16 43 01 3C 18 26 26 00 00 00 40 E4 00 00 41 AC .C.&lt;.&amp;&amp;...@ä..A¬<br /> 00000040 B8 64 25 00 64 97 82 8F 00 00 02 24 00 00 00 00 ¸d%.d—‚Ź...$....<br /> || 16454 ||<br /> Fixes all white rendered textures/shadows (Big thanks to Maori-Jigglypuff for patch code! )<br /> 0x3D =&gt; 0x4046 (16454)<br /> 0x0A =&gt; 0x5 (5 Patches to EE memory)<br /> // Remove the whitish Car-Parts from the Racer Cars<br /> // [Control Address and Value: 2039917C 43160000]<br /> 0x2485B8, 0xC6800D18 (lwc1 $f0, 0xD18(s4)), 0x3C014316 (lui at, 0x4316)<br /> 0x2485СС, 0xE4400000 (swc1 $f0, 0(v0)), 0xAC410000 (sw at, 0(v0))<br /> <br /> // Remove the whitish Car-Parts from the Traffic Cars<br /> 0x262604, 0xC7809780 (lwc1 $f0, 0x9780(gp)), 0x3C014316 (lui at, 0x4316)<br /> 0x262618, 0xE4400000 (swc1 $f0, 0(v0)), 0xAC410000 (sw at, 0(v0))<br /> <br /> // Remove whitish Reflections on Anything!!!<br /> // (on Buildings, Bridges, Streets)<br /> 0x2564B8, 0x8F829764 (lw v0, 0x9764(gp)), 0x24020000 (li v0, 0)<br /> <br /> |-<br /> | SLUS-20497 || Burnout 2: POI || <br /> 00000000 3D 00 00 00 46 40 00 00 0A 00 00 00 05 00 00 00<br /> 00000010 A8 85 24 00 18 0D 80 C6 16 43 01 3C BC 85 24 00<br /> 00000020 00 00 40 E4 00 00 41 AC F4 25 26 00 80 97 80 C7<br /> 00000030 16 43 01 3C 08 26 26 00 00 00 40 E4 00 00 41 AC<br /> 00000040 A8 64 25 00 64 97 82 8F 00 00 02 24 00 00 00 00<br /> || 16454 ||<br /> Fixes all white rendered textures/shadows (Big thanks to Maori-Jigglypuff for patch code! )<br /> 0x3D =&gt; 0x4046 (16454)<br /> 0x0A =&gt; 0x5 (5 Patches to EE memory)<br /> // Remove the whitish Car-Parts from the Racer Cars<br /> // [Control Address and Value: 2039917C 43160000]<br /> 0x2485A8, 0xC6800D18 (lwc1 $f0, 0xD18(s4)), 0x3C014316 (lui at, 0x4316)<br /> 0x2485bc, 0xE4400000 (swc1 $f0, 0(v0)), 0xAC410000 (sw at, 0(v0))<br /> <br /> // Remove the whitish Car-Parts from the Traffic Cars<br /> 0x2625F4, 0xC7809780 (lwc1 $f0, 0x9780(gp)), 0x3C014316 (lui at, 0x4316)<br /> 0x262608, 0xE4400000 (swc1 $f0, 0(v0)), 0xAC410000 (sw at, 0(v0))<br /> <br /> // Remove whitish Reflections on Anything!!!<br /> // (on Buildings, Bridges, Streets)<br /> 0x2564A8, 0x8F829764 (lw v0, 0x9764(gp)), 0x24020000 (li v0, 0)<br /> <br /> |-<br /> | SLUS-21168/SLES-53755/SLPM-66175/SLKA-25328 || Castlevania: Curse of Darkness ||<br /> 00000000 3D 00 00 00 89 3D 00 00 08 00 00 00 00 00 00 80 =....=..........<br /> 00000010 FF FF FF FF 00 00 00 80 00 80 FF FF 00 00 00 80 ................<br /> 00000020 FF FF FF FF 00 00 00 80 01 80 FF FF 00 00 00 00 ................<br /> || || fixes Graphic issues with Spiky Polygons (PCSX2 workaround VU clamping mode none) <br /> <br /> |-<br /> | || Champions of Norath || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | || Champions Return to Arms || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | SLUS-21574 || Dawn of Mana || <br /> 00000000 3D 00 00 00 65 3D 00 00 12 00 00 00 04 00 00 00 =...e=..........<br /> 00000010 00 00 00 00 00 00 00 00 01 00 01 00 0C 00 DF 0D ................<br /> 00000020 00 00 00 00 ....<br /> || 15717 (3.70+) ||<br /> fix? (untested)<br /> 0x3D =&gt; 0x3D65 (15717)<br /> 0x12 =&gt; 0x04, <br /> 00 00 00 00 <br /> 00 00 00 00 <br /> 01 00&gt;01 00&lt; Count, Type 1<br /> 0C 00 DF 0D <br /> <br /> |-<br /> | SCUS-97146 || Disney's Treasure Planet ||<br /> 00000000 3D 00 00 00 F0 42 00 00 0B 00 00 00 01 00 00 00 =...đB..........<br /> 00000010 7C 14 00 00 80 05 00 00 18 00 00 00 3C 01 01 00 |...€.......&lt;...<br /> 00000020 3C 03 BF 80 8C 63 10 C8 00 61 18 24 10 61 FF FB &lt;.ż€Śc.Č.a.$.a˙ű<br /> 00000030 00 00 00 00 24 01 FF FF 14 61 00 04 3C 01 80 00 ....$.˙˙.a..&lt;.€.<br /> 00000040 14 41 00 02 00 00 00 00 00 06 00 0D 00 00 00 00 .A..............<br /> <br /> || 17136 (4.50+) || Fixes black screen at start, it apply to STREAM_D.IRX file in IOP folder. Patch is very weird because it apply to bad offset (should be 0x574), but if applied to correct one then game error with &quot;invalid tp2 file&quot;<br /> <br /> 0x3D =&gt; 0x42F0 (17136)<br /> 0x0B =&gt; 1<br /> 0x147C, (sector)<br /> 0x580, (offset)<br /> 0x18 (bytes to replace), <br /> <br /> <br /> Replaced opcodes<br /> 00 01 01 3C lui at,0x0100<br /> 80 BF 03 3C lui v1,0xBF80<br /> C8 10 63 8C lw v1,0x10C8(v1)<br /> 24 18 61 00 and v1,at<br /> FB FF 61 10 beq v1,at, -0x10<br /> 00 00 00 00 nop <br /> <br /> Original opcodes<br /> FF FF 01 24 li at,-0x1<br /> 04 00 61 14 bne at,v1, +0x14<br /> 00 80 01 3C lui at,0x8000<br /> 02 00 41 14 bne at,v0, +0x0C<br /> 00 00 00 00 nop <br /> 0D 00 06 00 break <br /> <br /> |-<br /> | ALL || Dynasty Warriors 3/Dynasty Warriors 3 Xtreme Legends ||<br /> 00000000 3D 00 00 00 89 3D 00 00 35 00 00 00 00 00 00 00 =...‰=..5.......<br /> || 15753 (3.73+) || <br /> fix blackscreen<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x35 =&gt; (enable Force Flip Field)<br /> <br /> |-<br /> | SLES-53539 || Fahrenheit || <br /> 00000000 3D 00 00 00 F6 41 00 00 40 00 00 00 00 00 00 00 =....A..@.......<br /> Alternative<br /> 00000000 3D 00 00 00 89 3D 00 00 2F 00 00 00 01 00 00 00 =....=../.......<br /> 00000010 00 00 00 00 ....<br /> || 16886 (4.40+) / ||<br /> fixes freeze after Lucas' apartment<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x40 =&gt; (sets some value 1)<br /> <br /> |-<br /> | || Fallout || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | SLUS-20658 SLES-51467 SLPM-65548 SLPM-65803 || Freedom Fighters ||<br /> 00000000 3D 00 00 00 65 3D 00 00 1F 00 00 00 E8 03 00 00 =...e=......č...<br /> 00000010 00 00 00 00 .... <br /> || 15717 (3.70+) ||<br /> fix freeze when you get control at start<br /> 3D =&gt; 0x3D17 (15717)<br /> 0x1F =&gt; 0x3E8 (sets something 3E8 - 1000 in decimal)<br /> <br /> |-<br /> | SLUS-21702 || Fire Pro Wrestling Returns || <br /> 00000000 3D 00 00 00 F6 41 00 00 03 00 00 00 00 00 00 00 =....A..@.......<br /> || 16886 (4.40+) ||<br /> fixes interlaced artifacts<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x03 =&gt; (sets some value 0)<br /> <br /> |-<br /> | SLES-52065 || Flipnic || <br /> 00000000 3D 00 00 00 57 44 00 00 46 00 00 00 47 00 00 00 =...WD..F...G...<br /> 00000010 00 00 00 00 ....<br /> || 17495 (4.78+) || Remove horizontal lines at full screen, and reducing screen shakes little bit<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x46 =&gt; Enable L2H Improvement<br /> 0x47 =&gt; Enable XOR CSR<br /> <br /> |-<br /> | SCES-53851 || Forbidden Siren 2 ||<br /> 00000000 3D 00 00 00 F6 41 00 00 0A 00 00 00 02 00 00 00 =....A..........<br /> 00000010 44 2B 2E 00 FF 49 C9 4B 00 90 44 48 4C 2B 2E 00 D+...I.K..DHL+..<br /> 00000020 00 90 44 48 FF 49 C9 4B 00 00 00 00 ..DH.I.K.... <br /> || 16886 (4.40+) || Graphic issues with Spiky Polygons<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x0A =&gt; 0x2<br /> 0x2E2B44, 0x4BC949FF (vclip vf09xyz, vf09w), 0x48449000 (cfc2 $a1, $18)<br /> 0x2E2B4C, 0x48449000 (cfc2 $a1, $18), 0x4BC949FF (vclip vf09xyz, vf09w)<br /> <br /> |-<br /> | SLUS-20343 || Forever Kingdom || <br /> 00000000 3D 00 00 00 46 40 00 00 26 00 00 00 00 DC 21 00 =...F@..&amp;....Ü!.<br /> 00000010 00 DD 21 00 00 00 00 00 .Ý!.....<br /> || 16454 ||<br /> Fix for bridge that can't be crossed after opening.<br /> 0x3D =&gt; 0x4046 (16454)<br /> 0x26 =&gt; 0x21DC00, 0x21DD00<br /> <br /> |-<br /> | SLUS-20993 || Ghosthunter || <br /> 00000000 3D 00 00 00 57 44 00 00 0E 00 00 00 84 2B 29 00 =...WD......„+).<br /> 00000010 0B 00 00 00 01 00 00 00 A7 06 00 00 98 02 00 00 ........§.......<br /> 00000020 14 00 00 00 4A 00 02 FF 48 45 88 00 4B E0 19 BF ....J..˙HE..Kŕ.ż<br /> 00000030 4B EA 48 BC 4B EA 18 8C 4B E0 19 BF 4B EA 48 BC KęHĽKę.ŚKŕ.żKęHĽ<br /> 00000040 4B EA 18 8C 4A 00 02 FF 48 45 88 00 00 00 00 00 Kę.ŚJ..˙HE......<br /> || 17495 (4.78+) ||<br /> fixes random minor flickering, and ladder bug (see: [https://www.youtube.com/watch?v=WbJzzMYQLI0] )<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x0E =&gt; 0x292B84 (Improve floating point subtract accuracy)<br /> 0x0B =&gt; Disc patch for hidden elf<br /> |-<br /> | SLES-54317 || Ghost Rider || <br /> 00000000 3D 00 00 00 F6 41 00 00 40 00 00 00 00 00 00 00 =....A..@.......<br /> || 16886 (4.40+) ||<br /> texture fix: white overblending ingame<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x40 =&gt; (sets some value 1)<br /> <br /> |-<br /> | SLUS-20552 || Grand Theft Auto - Vice City ||<br /> 00000000 3D 00 00 00 A5 41 00 00 21 00 00 00 01 00 00 00 =...¥A..!.......<br /> 00000010 0A 00 00 00 0D 00 00 00 A0 FF 0F 00 00 00 00 00 ........ ÿ......<br /> 00000020 17 00 01 24 A4 FF 0F 00 00 00 00 00 08 00 24 14 ...$¤ÿ........$.<br /> 00000030 AC FF 0F 00 00 00 00 00 10 00 01 3C B0 FF 0F 00 ¬ÿ.........&lt;°ÿ..<br /> 00000040 00 00 00 00 90 FF 22 8C B4 FF 0F 00 00 00 00 00 .....ÿ&quot;Œ´ÿ......<br /> 00000050 FF FF 42 24 B8 FF 0F 00 00 00 00 00 05 00 40 1C ÿÿB$¸ÿ........@.<br /> 00000060 C0 FF 0F 00 00 00 00 00 04 00 02 24 C4 FF 0F 00 Àÿ.........$Äÿ..<br /> 00000070 00 00 00 00 90 FF 22 AC C8 FF 0F 00 00 00 00 00 .....ÿ&quot;¬Èÿ......<br /> 00000080 21 1D 0B 08 CC FF 0F 00 00 00 00 00 D0 FF BD 27 !...Ìÿ......Ðÿ½'<br /> 00000090 D0 FF 0F 00 00 00 00 00 08 00 E0 03 D4 FF 0F 00 Ðÿ........à.Ôÿ..<br /> 000000A0 00 00 00 00 90 FF 22 AC 80 74 2C 00 D0 FF BD 27 .....ÿ&quot;¬€t,.Ðÿ½'<br /> 000000B0 E8 FF 03 08 00 00 00 00 53 4C 55 53 2D 32 30 35 èÿ......SLUS-205<br /> 000000C0 35 32 52<br /> || 16805 (4.30+) ||<br /> backport of the official config above (disc version 3.00) for the original release<br /> (disc version 1.40). it patches a particle related function when type is 0x17.<br /> 0x0A =&gt; 0x2CEB00 to 0x2C7480<br /> 0x0A =&gt; 0x080B3AC1 to 0x080B1D21 (j pos_002C7484)<br /> <br /> |-<br /> | SLUS-20758 || Growlanser Generations || <br /> 00000000 3D 00 00 00 89 3D 00 00 2C 00 00 00 72 01 00 00 =....=..,...r...<br /> 00000010 0B 00 00 00 01 00 00 00 F8 03 00 00 7C 05 00 00 ............|...<br /> 00000020 04 00 00 00 00 00 00 00 10 40 FF FC 00 00 00 00 .........@......<br /> 00000030 53 4C 55 53 2D 32 30 37 35 38 SLUS-20758 <br /> || 15753 (3.73+) ||<br /> fix menu freeze? (untested)<br /> <br /> |-<br /> | SLUS-20576 || Harry Potter and the Chamber of Secrets || <br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =....=..........<br /> 00000010 00 00 00 00 ....<br /> || 15753 (3.73+) ||<br /> Fix black screen? (untested)<br /> <br /> |-<br /> | SLUS-20926/SLPM-65612/SLKA-25172/SLES-52440/SLES-52527/SLES-52600 || Harry Potter and The Prisoner of Azkaban || <br /> 00000000 3D 00 00 00 57 44 00 00 07 00 00 00 08 00 =...WD........<br /> 0000000E 00 00 00 00 00 00 ......<br /> || 17495 (4.78+) ||<br /> Fix for 3D graphics issues. However sometimes textures have a problem (mipmap?)<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x07 =&gt; 8<br /> <br /> |-<br /> | SLES-54971(?)/SLUS-21628 || Hot Wheels: Beat That! || <br /> 00000000 3D 00 00 00 89 3D 00 00 15 00 00 00 04 00 00 00 =....=..........<br /> 00000010 00 00 00 00 ....<br /> || 15753 (3.73+) ||<br /> Fix for turning off ps3 after selecting track<br /> <br /> |-<br /> | SLUS-21307 || Ice Age 2 The Meltdown ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0B 00 00 00 01 00 00 00 =....=..........<br /> 00000010 31 05 00 00 8C 03 00 00 40 00 00 00 27 BD FE E0 1.......@...'...<br /> 00000020 24 06 00 6C FF BF 00 70 03 A0 20 2D 7F B0 00 80 $..l...p.. -....<br /> 00000030 8C B0 00 00 0C 0C 88 B5 00 00 28 2D 02 00 20 2D ..........(-.. -<br /> 00000040 0C 0A 84 CE 03 A0 28 2D 7B B0 00 80 03 A0 10 2D ......(-{......-<br /> 00000050 DF BF 00 70 03 E0 00 08 27 BD 01 20 27 BD FF 70 ...p....'.. '..p<br /> 00000060 24 06 00 6C FF BF 00 70 03 A0 20 2D 7F B0 00 80 $..l...p.. -....<br /> 00000070 8C B0 00 00 0C 0C 88 B5 00 00 28 2D 02 00 20 2D ..........(-.. -<br /> 00000080 0C 0A 84 CE 03 A0 28 2D 7B B0 00 80 03 A0 10 2D ......(-{......-<br /> 00000090 DF BF 00 70 03 E0 00 08 27 BD 00 90 00 00 00 00 ...p....'.......<br /> 000000A0 53 4C 55 53 2D 32 31 33 30 37 SLUS-21307 <br /> || 15753 (3.73+) || Fix freeze at the game logo<br /> <br /> |-<br /> | SLUS-21196 || Indigo Prophecy || <br /> 00000000 3D 00 00 00 89 3D 00 00 2F 00 00 00 01 00 00 00 =....A..@.......<br /> 00000010 00 00 00 00 ....<br /> || 15753 (3.73+) || Fixes freeze<br /> <br /> |-<br /> | SCES-53286/SCUS-97429 || Jak X || <br /> 00000000 3D 00 00 00 57 3D 00 00 24 00 00 00 00 00 00 00 =...W=..$.......<br /> 00000010 80 BB 00 00 13 00 00 00 00 00 00 00 60 F9 00 00 €»..........`ů..<br /> 00000020 00 00 00 00 .... <br /> || 15753 (3.73+) || Fixes freeze while saving game<br /> <br /> |-<br /> | SLPM-66675 || Kingdom Hearts II Final Mix || <br /> 00000000 3D 00 00 00 89 3D 00 00 26 00 00 00 58 A5 1D 00 =....A..&amp;...XĄ..<br /> 00000010 F4 AE 1D 00 00 00 00 00 ô®...... <br /> || 15753 (3.73+) ||<br /> Fixes Hostile Program Boss issue.<br /> <br /> |-<br /> | SLUS-21799 || Kingdom Hearts Re: Chain of Memories || <br /> 00000000 3D 00 00 00 89 3D 00 00 0F 00 00 00 90 05 10 00 =....=..........<br /> 00000010 78 C2 10 00 00 00 00 00 53 4C 55 53 2D 32 31 37 x.......SLUS-217<br /> 00000020 39 39 99 <br /> || 15753 (3.73+) ||<br /> Fixes tutorial issue? (untested)<br /> <br /> |-<br /> | SLES-50196 || Legacy of Kain: Soul Reaver 2 || <br /> 00000000 3D 00 00 00 43 21 00 00 0A 00 00 00 01 00 00 00 =...C!..........<br /> 00000010 80 1F 2A 00 01 00 00 00 00 00 00 00 00 00 00 00 €.*............. 99 <br /> || 15753 (3.73+) ||<br /> Turn off mipmapping in game engine. Completely fix flickering, and bad texturing.<br /> <br /> |-<br /> | SLUS-20671 || Mafia || <br /> 00000000 3D 00 00 00 89 3D 00 00 09 00 00 00 05 00 00 00 =...‰=..........<br /> 00000010 B0 68 3E 00 34 A3 0F 0C 9C 90 84 8F 00 10 01 3C °h&gt;.4Ł..ś.„Ź...&lt;<br /> 00000020 08 00 02 24 B8 68 3E 00 08 00 02 24 01 00 05 24 ...$¸h&gt;....$...$<br /> 00000030 9C 90 84 8F 10 3C 22 AC C0 68 3E 00 10 3C 22 AC ś.„Ź.&lt;&quot;¬Ŕh&gt;..&lt;&quot;¬<br /> 00000040 00 10 01 3C 01 00 05 24 34 A3 0F 0C B4 2B 3E 00 ...&lt;...$4Ł..´+&gt;.<br /> 00000050 FF FF 02 24 0A 00 50 10 FF FF 02 24 00 00 00 00 ˙˙.$..P.˙˙.$....<br /> 00000060 4C F0 16 00 00 60 80 44 50 07 42 8E 00 60 80 44 Lđ...`€DP.BŽ.`€D<br /> 00000070 0D 00 00 10 00 00 00 00 ........ <br /> || 15753 (3.73+) || Fix freeze at start. Additional two patches comparing to gxemu included here allow to avoid translation lookaside buffer misses in some places, and are required to finish game.<br /> <br /> |-<br /> | SLUS-21735 || Mana Khemia: Alchemists of Al-Revis ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | SLES-53585 || Marvel Nemesis: Rise of the Imperfects ||<br /> 00000000 3D 00 00 00 89 3D 00 00 12 00 00 00 0D 00 00 00 =....=..........<br /> 00000010 00 F0 FF 04 00 00 00 00 02 00 03 00 11 00 00 00 ................<br /> 00000020 7A 7F CE 5D 14 02 00 00 03 00 06 00 EC 8F 55 10 z..]..........U.<br /> 00000030 C0 45 55 10 28 49 55 10 40 4A 55 10 60 7F 55 10 .EU.(IU.@JU.`.U.<br /> 00000040 C0 8F 55 10 00 00 00 00 53 4C 45 53 2D 35 33 35 ..U.....SLES-535<br /> 00000050 38 35 85 <br /> || 15753 (3.73+) || fixes loading/crash?<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x12 =&gt; 0x0D<br /> 00 F0 FF 04<br /> 00 00 00 00<br /> 02 00 03 00 count 3, type 2<br /> 11 00 00 00<br /> 7A 7F CE 5D<br /> 14 02 00 00<br /> 03 00 06 00 count 6, type 3<br /> EC 8F 55 10 0x558fec<br /> C0 45 55 10 0x5545c0<br /> 28 49 55 10 0x554928<br /> 40 4A 55 10 0x554a40<br /> 60 7F 55 10 0x557f60<br /> C0 8F 55 10 0x558fc0<br /> |-<br /> | SLUS-21281 || Marvel Nemesis: Rise of the Imperfects ||<br /> 00000000 3D 00 00 00 89 3D 00 00 12 00 00 00 09 00 00 00 =....=..........<br /> 00000010 00 F0 FF 04 00 00 00 00 02 00 03 00 11 00 00 00 ................<br /> 00000020 7A 7F CE 5D 14 02 00 00 03 00 02 00 88 76 55 10 z..].........vU.<br /> 00000030 08 87 55 10 00 00 00 00 53 4C 55 53 2D 32 31 32 ..U.....SLUS-212<br /> 00000040 38 31 81 <br /> || 15753 (3.73+) || fixes loading/crash?<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x12 =&gt; 0x09<br /> 00 F0 FF 04<br /> 00 00 00 00<br /> 02 00 03 00 count 3, type 2<br /> 11 00 00 00<br /> 7A 7F CE 5D<br /> 14 02 00 00<br /> 03 00 02 00 count 2, type 3<br /> 88 76 55 10 0x557688<br /> 08 87 55 10 0x558708<br /> |-<br /> | SLUS-20230 || Max Payne ||<br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 E4 E6 52 00 =....=........R.<br /> 00000010 03 00 00 00 01 00 00 00 68 E8 52 00 02 00 00 00 ........x.R.....<br /> 00000020 00 00 00 00 ....<br /> || 15753 (3.73+) || fixes game hang on first cutscene/cutscenes<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x01 =&gt; 0x52E6E4, 3 (applies to main.run ELF on disc: 0x52E6E4 dmove a1,v0 )<br /> 0x01 =&gt; 0x52E868, 2 (applies to main.run ELF on disc: 0x52E868 lq s1,0x10(sp) )<br /> <br /> |-<br /> | SLUS-21550 || Metal Slug Anthology ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0A 00 00 00 01 00 00 00 =...‰=..........<br /> 00000010 24 9C 18 00 F8 F7 08 0C D2 1D 06 0C 00 00 00 00 $ś..ř÷..Ň.......<br /> || 15753 (3.73+) || Fix launching MS6 by using LoadImageAndReboot instead of FlushCache. Seems to work much better than GXemu solution.<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0A =&gt; 0x1<br /> 0x189C24, 0x0C08F7F8 (jal sub_23DFE0), 0x0C061DD2 (jal sub_187748)<br /> <br /> |-<br /> | SLUS-20983 || Musashi: Samurai Legend || <br /> 00000000 3D 00 00 00 F6 41 00 00 17 00 00 00 01 00 00 00 =....A..@.......<br /> 00000010 00 00 00 00 ....<br /> || 16886 (4.40+) ||<br /> no sps fix, but reduces heavily<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x17 =&gt; 1 <br /> <br /> |-<br /> | SLES-50134 SLES-50176 SLES-50177 SLES-50178 SLES-50179 || Oni || <br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 01 00 00 00 =...WD..........<br /> 00000010 7C EF 1C 00 FF FF 00 41 00 00 00 00 00 00 00 00 |ď..˙˙.A........<br /> || 17495 (4.78+) ||<br /> fixes black screen at start<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x0A =&gt; 0x1<br /> 0x1CEF7C 0x4100FFFF (mftgpr $ra, $zero), 0x00000000 (nop)<br /> <br /> |-<br /> | SLUS-20064 || Oni || <br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 01 00 00 00 =...WD..........<br /> 00000010 CC F3 1C 00 FF FF 00 41 00 00 00 00 00 00 00 00 Ěó..˙˙.A........<br /> || 17495 (4.78+) ||<br /> fixes black screen at start<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x0A =&gt; 0x1<br /> 0x1CF3CC 0x4100FFFF (mftgpr $ra, $zero), 0x00000000 (nop)<br /> <br /> |-<br /> | SLUS-21037 || Project: Snowblind || <br /> 00000000 3D 00 00 00 39 05 00 00 0B 00 00 00 03 00 00 00 =...9...........<br /> 00000010 69 02 00 00 78 00 00 00 04 00 00 00 10 00 00 07 i...x...........<br /> 00000020 45 00 00 07 00 0C 0D 00 78 05 00 00 04 00 00 00 E.......x.......<br /> 00000030 10 00 00 07 45 00 00 07 BB 15 0D 00 F8 05 00 00 ....E...»...ř...<br /> 00000040 04 00 00 00 10 00 00 07 45 00 00 07 00 00 00 00 ........E.......<br /> || ||<br /> fixes mipmap/texturing issues<br /> <br /> <br /> |-<br /> | SLES-52384 || Project Zero II ||<br /> 00000000 3D 00 00 00 AF 42 00 00 21 00 00 00 00 00 00 00 =...ŻB..!.......<br /> 00000010 48 00 00 00 02 00 00 00 9C E6 FF FF 0A 00 00 00 H.......ść˙˙....<br /> 00000020 01 00 00 00 0C 94 17 00 41 01 0F 24 61 01 0F 24 .....”..A..$a..$<br /> 00000030 46 00 00 00 0B 00 00 00 01 00 00 00 F6 03 00 00 F...........ö...<br /> 00000040 98 03 00 00 04 00 00 00 00 42 73 84 00 00 02 FF .........Bs„...˙<br /> 00000050 00 00 00 00 53 4C 45 53 2D 35 32 33 38 34 ....SLES-52384<br /> || 17071 (4.50+) || Fix textures problems + performance improvement<br /> 0x3D =&gt; 0x42AF (17071)<br /> 0x21 =&gt; 0<br /> 0x48 =&gt; 0x2, 0xFFFFE69C<br /> 0x0A =&gt; 1, <br /> 0x17940C, 0x240F0141 (li t7,0x141)<br /> 0x240F0161 (li t7,0x161)<br /> 0x46<br /> 0x0B =&gt; 1<br /> 0x3F6, (sector)<br /> 0x398, (offset)<br /> 0x04,<br /> 0x84734200 lh s3,0x4200(v1),<br /> 0xFF020000 sd v0,(t8)<br /> <br /> |-<br /> | SLUS-20167 || Quake 3 - Revolution ||<br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 02 00 00 00 =...WD..........<br /> 00000010 98 03 2D 00 40 FF BD 27 08 00 E0 03 9C 03 2D 00 ..-.@˙˝'..ŕ.ś.-.<br /> 00000020 A0 00 BE 7F 00 00 00 00 00 00 00 00 <br /> || 17495 (4.78+) || Break creating mipmaps to fix graphical issues / flickering (ps2_netemu not support mipmapping)<br /> <br /> |-<br /> | SLES-50126 || Quake 3 - Revolution ||<br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 02 00 00 00 =...WD..........<br /> 00000010 20 03 2D 00 40 FF BD 27 08 00 E0 03 9C 03 2D 00 ..-.@˙˝'..ŕ.ś.-.<br /> 00000020 A0 00 BE 7F 00 00 00 00 00 00 00 00 <br /> || 17495 (4.78+) || Break creating mipmaps to fix graphical issues / flickering (ps2_netemu not support mipmapping)<br /> <br /> |-<br /> | SLUS-21262 || Radiata Stories ||<br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =...‰=..........<br /> 00000010 01 00 00 00 94 4D 12 00 0A 00 00 00 01 00 00 00 ....”M..........<br /> 00000020 18 F6 1A 00 0B 00 00 00 44 00 00 00 00 00 00 00 .ö......D.......<br /> 00000030 53 4C 55 53 2D 32 31 32 36 32 SLUS-21262 <br /> || 15753 (3.73+) || Fix black screen and ghosting/gfx<br /> <br /> |-<br /> | SLPS-25606/SLPS-25851 || Raw Danger! ||<br /> 00000000 3D 00 00 00 A8 41 00 00 44 00 00 00 00 00 00 00 =...&amp;D..D.......<br /> || 16808 (4.30+) || Untested! But Raw Danger! is Zettaizetsumei Toshi 2, so same issue + solution as part 1? <br /> 0x3D =&gt; 0x41A8 (16808)<br /> 0x44 =&gt; (disables smoothing and smoothing<br /> <br /> |-<br /> | SLUS-20174 || Rumble Racing ||<br /> 00000000 3D 00 00 00 F0 42 00 00 0B 00 00 00 01 00 00 00 =...đB..........<br /> 00000010 DA AE 03 00 20 01 00 00 24 00 00 00 14 80 00 06 Ú®.. ...$....€..<br /> 00000020 00 43 20 21 00 A0 10 21 14 A0 00 02 00 00 00 00 .C !. .!. ......<br /> 00000030 24 05 00 01 10 40 FF EB 24 84 00 04 24 90 FF FC $....@˙ë$„..$.˙ü<br /> 00000040 14 80 00 07 00 43 80 21 00 A0 10 21 14 A0 00 02 .€...C€!. .!. ..<br /> 00000050 00 00 00 00 24 05 00 01 10 40 FF FC 00 00 00 00 ....$....@˙ü....<br /> 00000060 26 04 00 04 00 00 00 00 &amp;.......<br /> || 17136 (4.50+) || fixes black screen after Playstation 2 logo. Patch apply to AUDIO.IRX file in MODULES folder<br /> <br /> 0x3D =&gt; 0x42F0 (17136)<br /> 0x0B =&gt; 1<br /> 0x03AEDA, (sector)<br /> 0x120, (offset)<br /> 0x24 (bytes to replace), <br /> <br /> <br /> Replaced opcodes<br /> 06 00 80 14 bnez a0, +0x1C<br /> 21 20 43 00 addu a0,v0,v1<br /> 21 10 A0 00 move v0,a1<br /> 02 00 A0 14 bnez a1, +0x0C<br /> 00 00 00 00 nop <br /> 01 00 05 24 li a1,0x1<br /> EB FF 40 10 beqz v0, -0x50<br /> 04 00 84 24 addiu a0,0x4<br /> FC FF 90 24 addiu s0,a0,-0x4<br /> <br /> Original opcodes<br /> 07 00 80 14 bnez a0, +0x20<br /> 21 80 43 00 addu s0,v0,v1<br /> 21 10 A0 00 move v0,a1<br /> 02 00 A0 14 bnez a1, +0x0C<br /> 00 00 00 00 nop <br /> 01 00 05 24 li a1,0x1<br /> FC FF 40 10 beqz v0, -0x0C<br /> 00 00 00 00 nop <br /> 04 00 04 26 addiu a0,s0,0x4<br /> <br /> |-<br /> | SLES-51345 || Run Like Hell ||<br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 04 00 00 00 =...WD..........<br /> 00000010 34 45 1D 00 0B FA 07 4B FF 02 00 4A 44 45 1D 00 4E...ú.K˙..JDE..<br /> 00000020 FF 02 00 4A 0B FA 07 4B 20 47 1D 00 BE F8 07 4B ˙..J.ú.K G..ľř.K<br /> 00000030 FF 02 00 4A 30 47 1D 00 AC F7 FE 4B 0B FA 07 4B ˙..J0G..¬÷ţK.ú.K<br /> 00000040 00 00 00 00 ....<br /> || 17495 (4.78+) || fixes main character flickering/texturing<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x0A =&gt; 0x4<br /> <br /> 0x1D4534 0x4B07FA0B (cop2 0x107FA0B), 0x4A0002FF (cop2 0x2FF)<br /> 0x1D4544 0x4A0002FF (cop2 0x2FF) , 0x4B07FA0B (cop2 0x107FA0B)<br /> 0x1D4720 0x4B07F8BE (cop2 0x107F8BE), 0x4A0002FF (cop2 0x2FF)<br /> 0x1D4750 0x4BFEF7AC (cop2 0x1FEF7AC), 0x4B07FA0B (cop2 0x107FA0B)<br /> |-<br /> | SLES-51445 || Rygar: The Legendary Adventure ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0E 00 00 00 50 D0 14 00 =...‰=......PĐ..<br /> 00000010 00 00 00 00 ....<br /> || 15753 (3.73+) || fixes hard crash at start when leaving the place<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0E =&gt; 0x14D050 (offset)<br /> <br /> .text:0014D050 sub.s $f12, $f20, $f12<br /> |-<br /> | SLES-55147/SLUS-21731 || Silent Hill: Origins || <br /> 00000000 3D 00 00 00 F6 41 00 00 40 00 00 00 00 00 00 00 =....A..@.......<br /> || 16886 (4.40+) ||<br /> fixes white overblending at burning house<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x40 =&gt; (sets some value 1)<br /> <br /> |-<br /> | SLUS-20488 || Star Ocean - Till the End of Time ||<br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =....=..........<br /> 00000010 01 00 00 00 48 09 10 00 0A 00 00 00 2C 00 00 00 ....H.......,...<br /> 00000020 72 01 00 00 00 00 00 00 53 4C 55 53 2D 32 30 34 r.......SLUS-204<br /> 00000030 38 38 88 <br /> || 15753 (3.73+) || Fix black screen<br /> <br /> |-<br /> | SLUS-21240 (v1.01)|| Star Wars: Battlefront II || <br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 84 B7 49 00 =...‰=......„·I.<br /> 00000010 05 00 00 00 00 00 00 00 53 4C 55 53 2D 32 31 32 ........SLUS-212<br /> 00000020 34 30 40 <br /> || 15753 (3.73+) || Fix freeze. Work only with v1.01 version of game. Patch apply to SWBFRNT2.ELF file.<br /> <br /> |-<br /> | SLUS-21240 (v2.01)|| Star Wars: Battlefront II || <br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 04 97 49 00 =...‰=.......—I.<br /> 00000010 05 00 00 00 00 00 00 00 53 4C 55 53 2D 32 31 32 ........SLUS-212<br /> 00000020 34 30 40 <br /> || 15753 (3.73+) || Fix freeze. Work only with v2.01 version of game. Patch apply to SWBFRNT2.ELF file.<br /> <br /> |-<br /> | SLES-50371 || Star Wars: Jedi Starfighter || <br /> 00000000 3D 00 00 00 65 3D 00 00 0A 00 00 00 01 00 00 00 =...e=..........<br /> 00000010 98 33 32 00 B4 6B 11 0C 00 00 00 00 00 00 00 00 .32.´k..........<br /> || 15717 (3.73+) || Without it title calls PS2::Exit() at the end of a bonus stage.<br /> <br /> |-<br /> | SLUS-21913 || Star Wars: The Clone Wars – Republic Heroes ||<br /> 00000000 3D 00 00 00 39 05 00 00 0A 00 00 00 01 00 00 00 =...9...........<br /> 00000010 28 33 17 00 FF FF 64 34 FD FF 64 34 00 00 00 00 „Ë..˙˙d4đ˙d4.Ë..<br /> || 1337 (ALL) || Fix graphical gliches, subtitles, QTE buttons, missing HUD<br /> <br /> <br /> |-<br /> | SLES-54658 || Star Wars: The Force Unleashed ||<br /> 00000000 3D 00 00 00 39 05 00 00 0A 00 00 00 02 00 00 00 =...9...........<br /> 00000010 84 CB 17 00 FF FF 64 34 F0 FF 64 34 90 CB 17 00 „Ë..˙˙d4đ˙d4.Ë..<br /> 00000020 FE FF 63 34 FC FF 63 34 00 00 00 00 ţ˙c4ü˙c4....<br /> || 1337 (ALL) || Fix graphical gliches, subtitles, QTE buttons, missing HUD<br /> <br /> |-<br /> | ALL || Superman Returns ||<br /> 00000000 3D 00 00 00 89 3D 00 00 08 00 00 00 00 00 00 00 =...‰=..........<br /> 00000010 00 00 00 FE 00 00 00 00 00 00 00 2C 00 00 00 00 ...ţ.......,....<br /> 00000020 00 00 00 FE 00 00 00 00 00 00 00 10 00 00 00 00 ...ţ............<br /> || 15753 (3.73+) || fixes Graphic issues <br /> <br /> |-<br /> | SLUS-21386 || Tales of The Abyss || <br /> 00000000 3D 00 00 00 65 3D 00 00 26 00 00 00 FC FF 27 00 =...e=..&amp;...ü˙'.<br /> 00000010 FF FF 27 00 26 00 00 00 F4 21 29 00 F8 21 29 00 ˙˙'.&amp;...ô!).ř!).<br /> 00000020 00 00 00 00 ....<br /> || 15717 (3.73+) || Fix freeze at Choral Castle <br /> Improve add accuracy range =&gt; 0x27FFFC , 0x27FFFF<br /> Improve add accuracy range =&gt; 0x2921F4 , 0x2921F8<br /> |-<br /> | SLPS-25842 || Tales of Destiny (Director's cut) || <br /> 00000000 3D 00 00 00 57 44 00 00 0F 00 00 00 00 00 1C 00 =...WD..........<br /> 00000010 00 00 1D 00 00 00 00 00 ........<br /> || 17495 (4.78+) || Fix freezes <br /> Improve FPU accuracy range =&gt; 0x1C0000 , 0x1D0000<br /> <br /> |-<br /> | ALL || Tokyo Extreme Racer 3 || <br /> 00000000 3D 00 00 00 91 42 00 00 48 00 00 00 01 00 00 00 =...‘B..H.......<br /> 00000010 F0 49 02 00 00 00 00 00 đI...... <br /> || 17041 (4.46+) || Fix screen jumps <br /> Vsync Delay -&gt; No IPU 150,000<br /> <br /> |-<br /> | ALL || Tony Hawk's series ||<br /> 00000000 3D 00 00 00 89 3D 00 00 08 00 00 00 00 00 00 80 =....=..........<br /> 00000010 FF FF FF FF 00 00 00 80 00 00 40 53 00 00 00 80 ..........@S....<br /> 00000020 FF FF FF FF 00 00 00 80 00 00 40 D3 14 00 00 00 ..........@Ó....<br /> 00000030 00 00 00 00 ....<br /> || 15753 (3.73+) || fixes Graphic issues with Spiky Polygons<br /> <br /> |-<br /> | ALL || TY The Tasmanian Tiger || <br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =...‰=..........<br /> 00000010 00 00 00 00 <br /> || 15753 (3.73+) || Fix graphical glitches, and fix locks up once you're given control.<br /> <br /> |-<br /> | SLUS-21106 || True Crime: NYC ||<br /> 00000000 3D 00 00 00 89 3D 00 00 27 00 00 00 D8 2A 41 00 =...‰=..'...Ř*A.<br /> 00000010 50 2E 41 00 00 00 00 00 P.A.....<br /> || 15753 (3.73+) || fixes freeze when something in 3D appearing<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x27 =&gt; 0x412AD8, 0x412E50<br /> <br /> |-<br /> | SLES-51958 || Whiplash ||<br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 01 00 00 00 =...WD..........<br /> 00000010 84 D5 25 00 07 00 02 45 07 00 00 10 00 00 00 00 „Ő%....E........<br /> || || Trick game to not produce mipmaps. Fix graphical issues. <br /> <br /> |-<br /> | SLUS-21452 || Valkyrie Profile 2 - Silmeria ||<br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =...‰=..........<br /> 00000010 01 00 00 00 28 09 10 00 0A 00 00 00 01 00 00 00 ....(...........<br /> 00000020 48 98 2B 00 0B 00 00 00 44 00 00 00 00 00 00 00 H.+.....D.......<br /> 00000030 53 4C 55 53 2D 32 31 34 35 32 SLUS-21452<br /> || 15753 (3.73+) || Fix black screen and ghosting/gfx (requires speed fix)<br /> <br /> |-<br /> | SLUS-20469 || Xenosaga Episode I: Der Wille zur Macht || <br /> 00000000 3D 00 00 00 57 44 00 00 0F 00 00 00 00 24 32 00 =...WD.......$2.<br /> 00000010 00 29 32 00 00 00 00 00 .)2..... ........<br /> || 17495 (4.78+) || Fix &quot;erde kaiser&quot; quest. Config cause massive slow down, and should be used only for that part of game, then removed safely. <br /> Improve FPU accuracy range =&gt; 0x322400 , 0x322900<br /> <br /> |-<br /> | SLUS-20228GH || Silent Hill 2 ||<br /> 00000000 3D 00 00 00 34 12 00 00 0E 00 00 00 B4 53 17 00 =...4.......´S..<br /> 00000010 0F 00 00 00 18 5D 17 00 18 5D 17 00 00 00 00 00 .....]...]......<br /> || || Fixes the missing polygons on characters and the inaccurate camera angles<br /> |-<br /> | SLUS-20622 || Silent Hill 3 ||<br /> 00000000 3D 00 00 00 57 44 00 00 0F 00 00 00 34 AC 19 00 =...WD......4¬..<br /> 00000010 34 AC 19 00 00 00 00 00 4¬......<br /> || || Fixes camera inaccuracies<br /> <br /> |-<br /> <br /> | || || || || <br /> <br /> |}<br /> <br /> ===Config data examples (hardcoded)===<br /> ====Inside ps2_emu.self====<br /> Embedded patches are based on Checksum/Hash of title. ps2_emu is only emulator version where patches are described inside self file in ascii. Known patch types described in ascii are: Patch data, new SPU2 params, and Setting mecha HACK to show GODZCD as GODZCDDA.<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> ! PS2 Title !! Hash !! Game !! Patch Type !! Data<br /> |-<br /> | SCUS_971.46|| 0x6B1ADE00D||Disney's Treasure Planet || Patch data - Fixes black screen at start, it apply to STREAM_D.IRX file in IOP folder. || 0x147C (sector) , 0x580 (offset) (- 0xC on disc) <br /> Replace opcodes<br /> 00 01 01 3C lui at,0x0100<br /> 80 BF 03 3C lui v1,0xBF80<br /> C8 10 63 8C lw v1,0x10C8(v1)<br /> 24 18 61 00 and v1,at<br /> FB FF 61 10 beq v1,at, -0x10<br /> 00 00 00 00 nop <br /> <br /> Original opcodes<br /> FF FF 01 24 li at,-0x1<br /> 04 00 61 14 bne at,v1, +0x14<br /> 00 80 01 3C lui at,0x8000<br /> 02 00 41 14 bne at,v0, +0x0C<br /> 00 00 00 00 nop <br /> 0D 00 06 00 break <br /> |-<br /> |SLUS_201.74 ||0x23D92589C5|| Rumble Racing || Patch data - fixes black screen after Playstation 2 logo. Patch apply to AUDIO.IRX file in MODULES folder || 0x3AEDA (sector), 0x120 (offset)<br /> Replace opcodes<br /> 06 00 80 14 bnez a0, +0x1C<br /> 21 20 43 00 addu a0,v0,v1<br /> 21 10 A0 00 move v0,a1<br /> 02 00 A0 14 bnez a1, +0x0C<br /> 00 00 00 00 nop <br /> 01 00 05 24 li a1,0x1<br /> EB FF 40 10 beqz v0, -0x50<br /> 04 00 84 24 addiu a0,0x4<br /> FC FF 90 24 addiu s0,a0,-0x4<br /> <br /> Original opcodes<br /> 07 00 80 14 bnez a0, +0x20<br /> 21 80 43 00 addu s0,v0,v1<br /> 21 10 A0 00 move v0,a1<br /> 02 00 A0 14 bnez a1, +0x0C<br /> 00 00 00 00 nop <br /> 01 00 05 24 li a1,0x1<br /> FC FF 40 10 beqz v0, -0x0C<br /> 00 00 00 00 nop <br /> 04 00 04 26 addiu a0,s0,0x4<br /> <br /> |-<br /> |SLUS_211.96||0x24D92589D5|| Indigo Prophecy || new SPU2 params || 1<br /> |-<br /> |SLPM_661.93||0x608634992D|| &lt;abbr title=&quot;https://www.gamefaqs.com/ps2/544598-indigo-prophecy/data&quot;&gt;Fahrenheit (NTSC-J)&lt;/abbr&gt; || new SPU2 params || 1<br /> |-<br /> |SLUS_212.96||0x5CA15DF14D|| Dance Factory ||Setting mecha HACK to show GODZCD as GODZCDDA ||<br /> |}<br /> <br /> ====Inside ps2_gxemu.self/ps2_softemu.self====<br /> There are hundreds of configs hidden in ps2_gxemu, and ps2_softemu self files. Internal config structure is basing on custom hash based on Title ID, internal memory offset pointing to place where true patch instruction is, and count of used commands. When disc/iso is started emulator search for configs, and if config for selected ID exist, then emulator apply it by itself. Is not perfect way of applying patches, because some games use the same ID, but different content. Good example here is Star Wars Battlefront II SLUS-21240, where some versions of game can refuse to work because it apply bad patch.<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> ! PS2 Title !! Hash !! Game !! Patch Type !! Data<br /> |-<br /> | || || || || <br /> |}<br /> <br /> ==TitleID/DiscID in ps2_netemu.self==<br /> There are 193 titleIDs listed inside ps2_netemu.self. More precisely, into XPARAM2.ELF file of PS2 Bios included in ps2_netemu.self. XPARAM2.ELF is called by OSDSYS, then ID check is performed. If title ID match to one of included in the table, different IOP emulation settings are applied.<br /> There are internal flags related to every title ID included inside file, still unknown what they do. Also some arguments, in plain text. File in real ps2 is introduced in SCPH-750XX models so exactly when DECKARD Power PC chip exchanged original IOP chip. This can explain why it is still in PS3 netemu bios. Because PS3 it is ppc that can need the same/similar flags.<br /> <br /> Original PS2 bios include similar list file called XPARAM.ELF, but Title IDs there are not the same, although some of them exist on both lists.<br /> <br /> {| class=&quot;wikitable sortable&quot; || <br /> |- <br /> ! Command !! Name<br /> |-<br /> | 0x00 || TITLE_MASK <br /> |-<br /> | 0x01 || SIO2_MASK<br /> |-<br /> | 0x02 || DEV9_MASK<br /> |-<br /> | 0x03 || USB_MASK<br /> |-<br /> | 0x04 || SIF_DMA_SYNC<br /> |-<br /> | 0x05 || SIF_DMA_LOAD<br /> |-<br /> | 0x06 || DMAC_CH10_INT_DELAY<br /> |-<br /> | 0x07 || MECHA_RECOGTIME<br /> |-<br /> | 0x08 || CPU_DELAY<br /> |-<br /> | 0x09 || DEV5_INT_SPEED<br /> |-<br /> | 0x0A || CDVD_READ_DELAY<br /> |-<br /> | 0x0B || SPU2_BEHAVIOR<br /> |-<br /> |}<br /> <br /> {| class=&quot;wikitable sortable&quot; || <br /> |- <br /> ! ID !! Title !! Command !! Value !! Remarks <br /> |- <br /> |PBPX_952.01 || DVD Utility Disc Version 1.00 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.02 || DVD Utility Disc Version 1.01 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.03 || DVD Utility Disc Version 1.01 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.06 || DVD Player (Version 2.01) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.07 || DVD Player (Version 2.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.08 || DVD Player (Version 2.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.09 || DVD Player (Version 2.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.10 || DVD Utility Disc Version 2.10 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.11 || DVD Utility Disc Version 1.00 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.21 || DVD Player (Version 2.12) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.22 || DVD Player (Version 2.14) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.24 || DVD Player (Version 2.16) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.28 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.35 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.39 || Online Start Up Disc v3.0 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.01 || Linux for PS2 Beta Release 1 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.07 || Playstation 2 Linux Runtime Environment v1.0 (Disc 1) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.09 || Linux for PS2 Release 1.0 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.18 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PDPX_991.09 || DVD Player (Version 3.04) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PSXC_002.01 || PSX Update Disc 1.10 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PSXC_002.02 || PSX Update Disc 1.20 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PSXC_002.03 || PSX Update Disc 1.31 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PTPX_970.38 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCAJ_201.25 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCAJ_201.26 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCES_532.02 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCKA_200.49 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCPM_621.15 || || 0x00 || 0x1000000 || TITLE_MASK<br /> |-<br /> |SCPM_621.16 || || 0x00 || 0x1000000 || TITLE_MASK<br /> |-<br /> |SCPN_601.01 || PlayStation BB Navigator (Version 0.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.30 || PlayStation BB Navigator (Version 0.20) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.40 || PlayStation BB Navigator (Version 0.30) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.50 || PlayStation BB Navigator (Version 0.31) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.60 || PlayStation BB Navigator (Version 0.32) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPS_110.01 || I.Q. Remix || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPS_110.10 || Yoake no Mariko (Performance Pack Edition) || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_110.18 || Yoake no Mariko || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_110.21 || Yoake no Mariko 2nd Act (Limited Edition) || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_110.22 || Yoake no Mariko 2nd Act || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_150.38 || Lifeline || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SCPS_150.39 || Lifeline || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SCPS_170.01 || Gran Turismo 4 || 0x0B || 0x10000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCPS_175.01 || Linux (for PlayStation2) Release 1.0 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPS_200.39 || || 0x00 || 0x4000000 || TITLE_MASK<br /> |-<br /> |SCUS_971.67 || PaRappa the Rapper 2 || 0x04 || 0x2000 || SIF_DMA_SYNC<br /> |-<br /> |SCUS_972.69 || Final Fantasy XI [Disc 2] || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLES_500.48 || Donald Duck: Quack Attack || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_500.62 || Orphen: Scion of Sorcery || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLES_503.64 || City Crisis || 0x0A || 0x80BB8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_504.46 || Shadow Man 2: The Second Coming || 0x0A || 0x80600 || CDVD_READ_DELAY<br /> |-<br /> |SLES_505.40 || Simpsons: Road Rage || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_506.08 || Shadow Man 2: The Second Coming || 0x0A || 0x80600 || CDVD_READ_DELAY<br /> |-<br /> |SLES_506.28 || Simpsons: Road Rage || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_507.28 || Tiger Woods PGA Tour 2002 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_507.29 || || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_512.82 || Tiger Woods PGA Tour 2003 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_514.79 || Def Jam Vendetta || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLES_518.41 || SpyHunter 2 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_518.44 || Time Crisis 3 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_519.97 || SWAT: Global Strike Team || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_520.97 || SWAT: Global Strike Force || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_530.37 || Super Monkey Ball Deluxe || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLES_536.68 || Micro Machines v4 || 0x01 || 0x801 || SIO2_MASK<br /> |-<br /> |SLES_537.55 || Castlevania: Curse of Darkness || 0x04 || 0x10 || SIF_DMA_SYNC<br /> |-<br /> |SLES_537.96 || FIFA Street 2 || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_620.42 || Kurogane no Houkou: Warship Commander || 0x01 || 0x3000 || SIO2_MASK<br /> |-<br /> |SLPM_620.62 || Gitaroo Man One || 0x0A || 0x80540 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_621.05 || Taikou Risshiden IV || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPM_621.24 || Ready 2 Rumble Boxing: Round 2 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_621.25 || Gauntlet: Dark Legacy || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPM_621.25 || Gauntlet: Dark Legacy || 0x09 || 0x2B470005 || DEV5_INT_SPEED<br /> |-<br /> |SLPM_621.35 || Final Fantasy: XI (Beta Version) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SLPM_621.54 || DDRMAX Dance Dance Revolution 6thMix || 0x08 || 0x1A5E || CPU_DELAY<br /> |-<br /> |SLPM_622.39 || Supercar Street Challenge || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_623.69 || Karaoke Revolution: J-Pop Vol.1 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.79 || Karaoke Revolution: J-Pop Vol.2 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.80 || Karaoke Revolution: J-Pop Vol.3 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.81 || Karaoke Revolution: J-Pop Vol.4 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.82 || Karaoke Revolution: Love &amp; Ballad || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.83 || Karaoke Revolution: Night Selection 2003 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.14 || Karaoke Revolution: Dreams &amp; Memories || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.37 || Suisui Sweet: Amai Ai no Mitsukekata || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_624.50 || Karaoke Revolution: Anime Song Selection || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.51 || Karaoke Revolution: J-Pop Vol.5 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.54 || Karaoke Revolution: J-Pop Vol.6 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.55 || Karaoke Revolution: J-Pop Vol.7 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.56 || Karaoke Revolution: J-Pop Vol.8 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.57 || Karaoke Revolution: Snow &amp; Party || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.64 || Pop'n Taisen Pazurudame Online || 0x08 || 0x1F40 || CPU_DELAY<br /> |-<br /> |SLPM_624.79 || Karaoke Revolution: J-Pop Vol.9 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.91 || Mega Man: The Power Battle || 0x04 || 0x2000 || SIF_DMA_SYNC<br /> |-<br /> |SLPM_624.92 || Karaoke Revolution: Kids Song Selection || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_625.28 || Karaoke Revolution: Kazoku Idol Sengen (Bundle Edition) || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_625.29 || Karaoke Revolution: Kazoku Idol Sengen || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_650.86 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 (Disc 1) || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPM_650.87 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 (Disc 2) || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPM_650.90 || Spy Hunter || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_651.97 || Nobunaga's Ambition Online || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_652.09 || Star Ocean: Till the End of Time || 0x0B || 0x20014 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_654.38 || Star Ocean: Till the End of Time (Director's Cut) (Disc 1) || 0x0B || 0x20014 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_654.39 || Star Ocean: Till the End of Time (Director's Cut) (Disc 2) || 0x0B || 0x20014 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_654.88 || Grand Theft Auto: Vice City || 0x0A || 0x300 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_654.88 || Grand Theft Auto: Vice City || 0x09 || 0x36000200 || DEV5_INT_SPEED<br /> |-<br /> |SLPM_656.33 || I Love Baseball: Pro Yakyu wo Koyonaku || 0x08 || 0xFA0 || CPU_DELAY<br /> |-<br /> |SLPM_656.98 || Love Songs: ADV Futaba Riho 14-sai Natsu || 0x0A || 0x80380 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_657.05 || Final Fantasy XI: Chains of Promathia (Expansion Disc) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_657.06 || Final Fantasy XI: Chains of Promathia (All-In-One Edition) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_657.19 || Burnout 3: Takedown || 0x01 || 0x1C00 || SIO2_MASK<br /> |-<br /> |SLPM_657.83 || Nobunaga no Yabou Online: Tappi no Shou || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_658.94 || Winning Post 6: 2005 Version || 0x01 || 0x2400 || SIO2_MASK<br /> |-<br /> |SLPM_659.34 || Maple Colors || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_659.53 || Final Fantasy: XI (Entry Disc 2005) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_659.84 || Grand Theft Auto: San Andreas || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_660.33 || The Sword of Etheria || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPM_660.33 || The Sword of Etheria || 0x00 || 0x2000000 || TITLE_MASK<br /> |-<br /> |SLPM_660.48 || The Sword of Etheria || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPM_660.48 || The Sword of Etheria || 0x00 || 0x2000000 || TITLE_MASK<br /> |-<br /> |SLPM_660.57 || Taito Memories Vol.1 || 0x08 || 0xCE4 || CPU_DELAY<br /> |-<br /> |SLPM_661.56 || Marheaven: Arm Fight Dream || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_661.75 || Akumajo Dracula: Yami no Juin || 0x08 || 0x60 || CPU_DELAY<br /> |-<br /> |SLPM_661.75 || Akumajo Dracula: Yami no Juin || 0x0B || 0x2001C || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_663.93 || Final Fantasy XI: Treasures of Aht Urhgan (All-In-One Edition) || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_663.93 || Final Fantasy XI: Treasures of Aht Urhgan (All-In-One Edition) || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPM_663.93 || Final Fantasy XI: Treasures of Aht Urhgan (All-In-One Edition) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_663.94 || Final Fantasy XI: Treasures of Aht Urhgan || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_664.36 || Aria the Natural || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_664.36 || Aria the Natural || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLPM_665.39 || Nobunaga no Yabou Online: Haten no Shou || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_665.58 || Tomb Raider: Legend || 0x08 || 0x3E8 || CPU_DELAY<br /> |-<br /> |SLPM_665.74 || Detective Evangelion || 0x00 || 0x2000000 || TITLE_MASK<br /> |-<br /> |SLPM_680.07 || Karaoke Revolution (Trial) || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_680.10 || || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPS_200.08 || Morita Shogi || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPS_200.20 || FIFA 2000 World Championship || 0x04 || 0x2001 || SIF_DMA_SYNC<br /> |-<br /> |SLPS_200.37 || Go Go Golf || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_200.38 || Grappler Baki: Baki Saidai no Tournament || 0x08 || 0x1194 || CPU_DELAY<br /> |-<br /> |SLPS_200.53 || Tenshi no Present: Marle Oukoku Monogatari (Limited Edition) || 0x0B || 0x20000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_200.66 || Tenshi no Present: Marle Oukoku Monogatari || 0x0B || 0x20000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_201.01 || City Crisis || 0x0A || 0x80BB8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_201.11 || Magical Sports Pro Baseball 2001 || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_201.72 || Koushien: Konpeki no Sora || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_201.73 || Hard Hitter 2 || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_201.97 || Surfing Air Show with RatBoy || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_201.99 || F1 2002 || 0x0B || 0x20005 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_202.00 || Final Fantasy XI || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPS_204.04 || Rakushou! Pachi-Slot Sengen 2 || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_204.29 || Hissatsu Pachi-Slot Evolution: Ninja Hattori-Kun V || 0x08 || 0x1B58 || CPU_DELAY<br /> |-<br /> |SLPS_204.55 || Simple 2000 Series Vol.94: The Aka-Champion - Come on Baby || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_250.08 || Sorcerous Stabber Orphen || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPS_250.71 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPS_250.72 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPS_250.81 || Saishuu Densha || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_251.36 || Kuon no Kizuna Sairin Mikotonori || 0x0A || 0x805DC || CDVD_READ_DELAY<br /> |-<br /> |SLPS_251.42 || Tiger Woods PGA Tour 2002 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_251.50 || Only You || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_252.37 || Only You || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_252.75 || Def Jam: Vendetta || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLPS_252.78 || Memories Off: Mix || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_252.90 || Time Crisis 3 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLPS_253.15 || One Piece: Grand Battle 3 || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPS_253.57 || 3-Nen B-Gumi Kinpachi Sensei: Densetsu no Kyoudan ni Tate! || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPS_253.79 || Tokyo Majin Gakuen: Kaihoujyou Kefurokou || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_254.06 || Hitman: Contracts || 0x08 || 0xDAC || CPU_DELAY<br /> |-<br /> |SLPS_254.18 || Ace Combat 5: The Unsung War || 0x0A || 0x500000 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_255.10 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_255.85 || Monster Farm 5: Circus Caravan || 0x07 || 5 || MECHA_RECOGTIME<br /> |-<br /> |SLPS_255.86 || Tales of the Abyss || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_256.04 || Ar tonelico Qoga: Knell of Ar Ciel || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLPS_256.67 || Daito Giken Premium Pachi-Slot Collection: Yoshimune || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPS_256.98 || Fatal Fury Battle Archives Volume 2 || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLPS_257.08 || The Familiar of Zero (Limited Edition) || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_257.09 || The Familiar of Zero || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_257.21 || HimeHibi - Princess Days || 0x0B || 0x8000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_257.22 || Routes PE (Limited Edition) || 0x08 || 0x3E8 || CPU_DELAY<br /> |-<br /> |SLPS_257.27 || Routes PE || 0x08 || 0x3E8 || CPU_DELAY<br /> |-<br /> |SLPS_732.49 || Ar tonelico Qoga: Knell of Ar Ciel (Platinum) || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLUS_200.11 || Orphen: Ocion of Sorcery || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_200.11 || Orphen: Ocion of Sorcery || 0x09 || 0x8000010 || DEV5_INT_SPEED<br /> |-<br /> |SLUS_200.77 || Donald Duck: Go'in Quackers || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_202.74 || City Crisis || 0x0A || 0x80BB8 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_203.05 || Simpsons: Road Rage || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_203.64 || Tiger Woods PGA Tour 2002 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_204.13 || Shadowman 2 || 0x0A || 0x80600 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_204.33 || SWAT: Global Strike Team || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_204.88 || Star Ocean: Til the end of Time [Disc 1] || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_205.72 || Tiger Woods PGA Tour 2003 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_205.90 || Spyhunter 2 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_206.35 || Muppets Party Cruise || 0x01 || 0x801 || SIO2_MASK<br /> |-<br /> |SLUS_206.39 || Def Jam Vendetta || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_206.86 || Splashdown: Rides Gone Wild || 0x0A || 0x80400 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_208.38 || All-Star Baseball 2005 || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLUS_208.51 || Ace Combat 5: The Unsung War || 0x0A || 0x500000 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_208.91 || Star Ocean: Til the end of Time [Disc 2] || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_209.18 || Super Monkey Ball: Deluxe || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_210.59 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLUS_210.70 || Final Fantasy XI: Chains of Promathia || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLUS_210.89 || Karaoke Revolution Vol.3 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_213.31 || Sonic Riders || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_213.39 || Puzzle Challenge || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_214.04 || Final Fantasy XI: Treasures of Aht Urhgan || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLUS_214.52 || Valkyrie Profile 2: Silmeria || 0x08 || 0x1388 || CPU_DELAY<br /> |- <br /> |}<br /> <br /> ==Other game patches (unofficial)==<br /> There are other unofficial ways to patch the PS2 games such the [https://forums.pcsx2.net/Thread-A-simplistic-guide-to-pnach-files-aka-pnach-for-dummies pnach] format, or the widescreen patches that allows 16:9 screen output for some games by hex editing the ISO, or by applying ppf patches. Games work fine on PS3 with same compatibility like before patching. Also some 480p (aka progressive scan) patches work fine. http://ps2wide.net/<br /> <br /> The problem of this methods is the patch is applyed over the ISO and is modifyed permanently, but this problem can be avoided in PS3 because that unofficial patches can be &quot;ported&quot; to the official config format to be used by ps2_netemu.self, by using the official config format the settings and patchs from the config file are applyed &quot;on the fly&quot; and the ISO is not modifyed<br /> <br /> ==ps2_title_brute code==<br /> <br /> A script to calculate whatever this encode is that is used in ps2emu, gxemu and softemu from given input title id.<br /> <br /> It contains code for bruting as well. Just call gen_sum with the title id in a specific format to get it.<br /> <br /> &lt;syntaxhighlight lang=&quot;python&quot;&gt;<br /> title_ = &quot;SLUS_200.73&quot;<br /> <br /> #patches = [0x6b1ade00dL, 0x23d92589c5L, 0x24d92589d5L, 0x608634992dL, 0x5ca15df14dL]<br /> #patches = [0x37ae1cb18dL, 0x608634999dL, 0x06b1ade00dL, 0x5fc674d915L, 0x178e3c9165L, 0x3889349935L,0x18fe4ce145L,0xc126943985,0xe90ebc11b5,0x58be0ca165L]<br /> patches = [ 0xCD1298155L, 0x12C93199A5L, 0x15C93199ADL, 0x24D92589A5L, 0x2CD12D8125L, 0x34C9359935L, 0x34C93599E5L, 0x34C93599E5L, 0x449961C9E5L, 0x4C9169C1CDL, 0x4C9169C1D5L, 0x4C9169C1DDL, 0x4C9169C1E5L, 0x4C9169C1F5L, 0x4C9169C1FDL, 0x4CB14DE12DL, 0x54A955F915L, 0x5CA15DF165L, 0x5CA15DF1FDL, 0x5CA15DF1FDL, 0x649965C94DL, 0x649965C955L, 0x649965C95DL, 0x649965C965L, 0x649965C96DL, 0x6BB149E15DL, 0x6C916DC165L, 0x6C916DC1A5L, 0x6C916DC1ADL, 0x6C916DC1B5L, 0x6C916DC1D5L, 0x6C916DC1DDL, 0x748975D9DDL, 0x7C817DD125L, 0x7C817DD165L, 0x7C817DD16DL, 0x7C817DD175L, 0x7C817DD1CDL, 0x84798529BDL, 0x8559A109ADL, 0x8579852915L, 0x8579852965L, 0x8D51A90145L, 0x8D51A901B5L, 0x8D51A901BDL, 0x8D718D21BDL, 0x9C619D31E5L, 0x9D41B911ADL, 0x9D619D31C5L, 0x9F29357805L, 0x9F293578E5L, 0xB549B51915L, 0xB549B51925L, 0xB549B5195DL, 0xB549B519A5L, 0xB549B519ADL, 0xBC61793025L, 0xBD41BD1105L, 0xC439C569F5L, 0xC7716D20D5L, 0xC7716D20D5L, 0xCA11E941F5L, 0xCF7965285DL, 0xCF7965285DL, 0xD20911582DL, 0xD7617D308DL, 0xE339C1695DL, 0xE794CCB06DL, 0xEA3129608DL, 0xEC11ED4115L, 0xEF594508D5L, 0xF409F559ADL, 0xF7415D10E5L, 0xF7415D10E5L]<br /> <br /> def gen_sum(title):<br /> var_30 = []<br /> for i in range(0x1A):<br /> var_30.append(0)<br /> r9=5<br /> r31=0<br /> #Title 2 decimal<br /> while r9 != 0xB:<br /> r11 = r9 + 1<br /> if r9 == 8:<br /> pass<br /> else:<br /> r5 = ord(title[r9:r9+1])<br /> r7 = r31 * 0xA<br /> r6 = r7 &amp; 0xFFFFFFFF<br /> r4 = r5 + r6<br /> r9 = r4 - 0x30<br /> r31 = r9 &amp; 0xFFFFFFFF<br /> r9 = r11<br /> #print r31<br /> r10 = ord(title[3:4]) # S<br /> r7 = (r31 &gt;&gt; 10) &amp; 0x7F<br /> r11 = ord(title[1:2]) # L<br /> r8 = ord(title[2:3]) # U<br /> r6 = (r10 &gt;&gt; 1) &amp; 0x3F<br /> r12 = ord(title[0:1]) # S<br /> r4 = (r11 &gt;&gt; 3) &amp; 0xF<br /> r5 = (r8 &gt;&gt; 2) &amp; 0x1F<br /> r3 = (r12 &gt;&gt; 4) &amp; 7<br /> r9 = r10 &lt;&lt; 7<br /> r0 = r8 &lt;&lt; 6<br /> r10 = r11 &lt;&lt; 5<br /> r8 = r12 &lt;&lt; 4<br /> r12 = r31 &lt;&lt; 3<br /> r11 = r10 | r5<br /> r9 = r9 | r7<br /> r0 = r0 | r6<br /> var_30[2] = r11 &amp; 0xFF<br /> r7 = r8 | r4<br /> var_30[0] = (r9 &amp; 0xFF)<br /> r10 = r12 | r3<br /> var_30[1] = (r0 &amp; 0xFF)<br /> r12 = (r31 &gt;&gt; 2) &amp; 0x3FFFFFF8<br /> var_30[3] = (r7 &amp; 0xFF)<br /> r8 = 5<br /> var_30[4] = (r10 &amp; 0xFF)<br /> var_30[0x19] = (r12 &amp; 0xFF)<br /> var_30[0x18] = (r8 &amp; 0xFF)<br /> var_30 = [int(v) for v in var_30]<br /> #print [hex(v) for v in var_30]<br /> r5 = var_30<br /> r6 = 0<br /> r4 = 0<br /> while r6 &lt; 5:<br /> r12 = r5[r6:r6+1][0]<br /> r7 = r6 + 1<br /> r0 = var_30[0x19]<br /> r3 = r6 + 0x10<br /> r9 = r12 ^ r0<br /> r31 = r3<br /> r5[r6] = r9<br /> r6 = r7<br /> r5[r31] = r4<br /> #print [hex(v) for v in r5]<br /> r9 = 0<br /> r10 = 0<br /> while r10 &lt; 5:<br /> r11 = r10 + 1<br /> r6 = r5[r10:r10+1][0]<br /> r4 = r9 &lt;&lt; 8<br /> r10 = r11<br /> r9 = r4 | r6<br /> return r9<br /> '''<br /> print hex(gen_sum(title_))<br /> <br /> a1='A'<br /> a2='A'<br /> a3='A'<br /> a4='A'<br /> while a1 &lt;= 'Z':<br /> a2='A'<br /> a3='A'<br /> a4='A'<br /> while a2 &lt;= 'Z':<br /> a3='A'<br /> a4='A'<br /> while a3 &lt;= 'Z':<br /> a4='A'<br /> while a4 &lt;= 'Z':<br /> #print &quot;%s%s%s%s&quot; % (a1,a2,a3,a4)<br /> for i in range(99999):<br /> t = &quot;%s%s%s%s_&quot; % (a1,a2,a3,a4) + '{4}{3}{2}.{1}{0}'.format(i%10,(i/10)%10,(i/100)%10,(i/1000)%10,(i/10000)%10)<br /> if gen_sum(t) in patches:<br /> print t<br /> print True<br /> a4=chr(ord(a4)+1)<br /> print &quot;%s%s%s%s&quot; % (a1,a2,a3,a4)<br /> a3=chr(ord(a3)+1)<br /> print &quot;%s%s%s%s&quot; % (a1,a2,a3,a4)<br /> a2=chr(ord(a2)+1)<br /> a1=chr(ord(a1)+1)<br /> '''<br /> <br /> print hex(gen_sum(&quot;SLUS_213.86&quot;))<br /> '''<br /> for i in range(99999):<br /> t = &quot;SLUS_&quot; + '{4}{3}{2}.{1}{0}'.format(i%10,(i/10)%10,(i/100)%10,(i/1000)%10,(i/10000)%10)<br /> if gen_sum(t) in patches:<br /> print &quot;%s %x&quot; % (t, gen_sum(t))<br /> <br /> '''<br /> &lt;/syntaxhighlight&gt;<br /> <br /> <br /> ==External References==<br /> * [http://www.eurogamer.net/articles/digitalfoundry-vs-ps2-classics-on-ps3]<br /> * [http://www.ps3hax.net/showthread.php?t=53444 PS2 Classics Algorithm By flatz]<br /> * [http://gitorious.ps3dev.net/ps2classic c port]<br /> * https://docs.google.com/spreadsheet/ccc?key=0As9ZdsrJoSp1dC1NTTRCSE5vbTlkOGItTC1CVzE5U3c#gid=7<br /> * http://www.pshomebrew.net/wiki/PS2_Classics_Emulator_Compatibility_List<br /> * [http://www.ps3hax.net/showthread.php?p=620747#post620747 How to properly convert Final Fantasy XII: IZJS For ps2classics]<br /> * https://en.wikipedia.org/wiki/List_of_PlayStation_2_Classics<br /> <br /> CPU-GPU intensive games + games only playable in software render on PCSX2:<br /> * http://wiki.pcsx2.net/index.php/Category:GPU_intensive_games<br /> * http://wiki.pcsx2.net/index.php/Category:CPU_intensive_games<br /> * http://wiki.pcsx2.net/index.php/Category:Software_rendering_only_games<br /> <br /> {{Reverse engineering}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=PS2_Emulation&diff=55877 PS2 Emulation 2020-04-01T21:35:52Z <p>Mysis: /* Config Commands */</p> <hr /> <div>==Description==<br /> Emulation of Playstation 2 is currently handled by 3 kind of emulators. CECH-A/B models use ps2_emu.self able to use built-in PS2 hardware (EE/GS/Rambus memory), and have best compatibility. CECH-C/E use ps2_gxemu, this emulator use physical Graphic Synthesizer found in this ps3 model, but Emotion Engine is fully emulated here, also there is no Rambus memory. All other models emulate PS2 thru fully software based ps2_netemu used for ps2 classics, and hacked now to use decrypted ISO files. Earlier before Sony provided ps2 classics on PS Store there was another soft only emulator strongly based on ps2_gxemu. It was called ps2_softemu, and had support for original PS2 CDVD. Only emulator not able to run physical discs is ps2_netemu. <br /> <br /> Emulators are self files, but not typical one. Emulators are not truly PS3 Game OS elf executables, but Guest OS'es running on LV1 of PS3. This mean that LV2, or more friendly Game OS is unloaded before emulator is loaded. This also mean that while emulators are running we can't call any LV2 function. Also LV1 syscalls are limited to call from all emulators, but can be fully unlocked. <br /> <br /> All emulators use built-in stripped developement version of PS2 BIOS with disabled debug functions that can affect some games. This is done because some games print debug info on screen when found that are run on dev bios. Bios between ps2_emu, ps2_gxemu, and ps2_netemu are different. Although bios from gxemu run fine on netemu, and vice-versa. While ps2_emu BIOS is able to run only on ps2emu version of emulator. <br /> <br /> [[File:Ps2_block_diagram.png|200px|thumb|right|Simplified block diagram of a PS2&lt;br /&gt;[http://www.philvaz.com/games/PS2.htm source]]]<br /> Note: <br /> * not available in early Tool/DECR and Debug/DEX firmwares. But available in AV TOOL firmware since 1.00<br /> * Emulation is based on a SCPH-50000/SCPH-20401 Playstation 2 Model.<br /> * [http://unina.stidue.net/Universita'%20di%20Trieste/Ingegneria%20Industriale%20e%20dell'Informazione/Tuzzi/Architetture_Avanzate_dei_Calcolatori/Emotion_2.pdf Introduction to PlayStation2 Architecture.pdf]<br /> <br /> ==PS2 Emulators types and versions==<br /> ps2_emu.self (1.02++)<br /> ps2_gxemu.self (1.50++)<br /> ps2_softemu.self (1.90++) 1.90-1.94 (11065), 2.00-2.10 (11830), 3.15 (12840), 3.41-3.65 (13474), 3.66-3.70 (15435), 3.72-4.21 (15529)<br /> (Changes: -2.50] [2.52-2.60] [2.70] [2.80] [3.00-3.65] [3.66-3.70] [3.74])<br /> ps2_netemu.self (3.70++)<br /> <br /> &lt;s&gt;<br /> *http://www.crocko.com/651925F44E444D8390E41A39A577BE48/ps2emu.rar<br /> *http://filerio.in/2xjqscjklj72<br /> *http://freakshare.com/files/bp53qpcy/ps2emu.rar.html<br /> *http://www.mirrorcreator.com/files/4BNITIXD/ps2_netemu.7z_links<br /> &lt;/s&gt;<br /> <br /> {{PS2 emulators workload comparison}}<br /> <br /> ===ps2_emu.self===<br /> <br /> ====Self System Table Offset====<br /> {| cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; border=&quot;1&quot; class=&quot;wikitable&quot; style=&quot;text-align: center;&quot;<br /> |-<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 1.00 AV || 0x7C3150 ||<br /> |-<br /> | 1.02 || 0x7C31F0 ||<br /> |-<br /> | 1.10 || 0x7C2168 ||<br /> |-<br /> | 1.11 || 0x7C23C8 ||<br /> |-<br /> | 1.30 || 0x8442E8 ||<br /> |-<br /> | 1.30 AV || 0x8442E8 ||<br /> |-<br /> | 1.31 || 0x844C98 ||<br /> |-<br /> | 1.32 || 0x845CA0 ||<br /> |-<br /> | 1.50 || 0x848728 ||<br /> |-<br /> | 1.90 || 0x4D7ED8 ||<br /> |-<br /> | 3.66 - 3.74 || 0x4E9A20 ||<br /> |-<br /> | 4.00 - 4.01 || 0x4EADB8 ||<br /> |-<br /> | 4.10 - 4.11 || 0x4EAD28 ||<br /> |-<br /> | 4.20 - 4.21 || 0x4EAE30 ||<br /> |-<br /> | 4.23 || 0x4EACE0 ||<br /> |-<br /> | 4.25 || 0x4EAE30 || Reverted to 4.20 - 4.21 version?<br /> |-<br /> | 4.78 - 4.82 || 0x4EB8C0 ||<br /> |}<br /> <br /> ===ps2_gxemu.self===<br /> <br /> ====Self System Table Offset====<br /> {| cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; border=&quot;1&quot; class=&quot;wikitable&quot; style=&quot;text-align: center;&quot;<br /> |-<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 1.50 || 0x5BDFC8 ||<br /> |-<br /> | 1.90 || 0x666C78 ||<br /> |-<br /> | 3.66 - 3.74 || 0x6766B8 ||<br /> |-<br /> | 4.00 - 4.11 || 0x677990 ||<br /> |-<br /> | 3.66 - 3.74 || 0x677AA8 ||<br /> |-<br /> | 4.78 - 4.82 || 0x678548 || <br /> |-<br /> |}<br /> <br /> ===ps2_softemu.self===<br /> <br /> ====Self System Table Offset====<br /> {| cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; border=&quot;1&quot; class=&quot;wikitable&quot; style=&quot;text-align: center;&quot;<br /> |-<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 1.90 || 0x5C7B10 ||<br /> |-<br /> | 2.50 || 0x5C7ED8 ||<br /> |-<br /> | 3.41 || 0x5C8C00 || <br /> |-<br /> | 3.66 - 3.71 || 0x5C8EC0 ||<br /> |-<br /> | 3.72 - 4.01 || 0x5C8E40 ||<br /> |}<br /> <br /> ===ps2_netemu.self===<br /> [[PS2_Classics_Emulator_Compatibility_List|PS2 Classics Emulator Compatibility List]]<br /> <br /> ====Self System Table Offset====<br /> {| cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; border=&quot;1&quot; class=&quot;wikitable&quot; style=&quot;text-align: center;&quot;<br /> |-<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 3.73 - 3.74 || 0x7D8B00 ||<br /> |-<br /> | 4.00 - 4.01 || 0x7DA200 ||<br /> |-<br /> | 4.10 - 4.11 || 0x7DA180 ||<br /> |-<br /> | 4.20 - 4.25 || 0x7DA500 ||<br /> |-<br /> | 4.78 - 4.83 || 0x751280 || <br /> |-<br /> |}<br /> <br /> ====General observations regarding PS2 Classics emulator====<br /> * Virtual memory cards are per title based, but apparently run through the current memory card system. The module used to manage memory cards is: vmc_savedata_plugin.sprx - Using a regular memory card that has been renamed result in a &quot;The save data is corrupt (8XXXXXXX) error&quot;<br /> * Loads an epilepsy warning before PS2 logo (PS button menu appears during epilepsy warning if controller is synced)<br /> * Does not support online functionality of PS2 titles (network configuration utility inside Full Spectrum Warrior claims no network adaptor has been found, same with Syphon Filter: The Omega Strain).<br /> <br /> - Only file that is needed in the folder for PS2 Classics is &quot;iso.bin.enc&quot;. Removing the manuals/DXT files will cause the game to boot IMMEDIATELY to the PS2 logo upon switching to 720p/starting PS2 LPAR.<br /> <br /> ====folder/file layout====<br /> (in this example GTA San Andreas Classic)<br /> &lt;pre&gt;<br /> [NPUD20946]<br /> [USRDIR]<br /> [CONTENT]<br /> 001.dxt<br /> 002.dxt<br /> 003.dxt<br /> 004.dxt<br /> 005.dxt<br /> 006.dxt<br /> 007.dxt<br /> 008.dxt<br /> 009.dxt<br /> 010.dxt<br /> 011.dxt<br /> 012.dxt<br /> 013.dxt<br /> 014.dxt<br /> 015.dxt<br /> 016.dxt<br /> 017.dxt<br /> Others.dxt<br /> Manual.idx<br /> [SAVEDATA]<br /> SCEVMC0.VME<br /> SCEVMC1.VME<br /> CONFIG<br /> ISO.BIN.EDAT<br /> ISO.BIN.ENC<br /> PS3LOGO.DAT<br /> PARAM.SFO<br /> ICON0.PNG<br /> PIC0.PNG<br /> PIC1.PNG<br /> PIC2.PNG<br /> &lt;/pre&gt;<br /> <br /> ==Virtual PS2 (emulated machine) usage and features==<br /> <br /> ===Video Modes===<br /> '''Note:''' Real PS2 : http://users.neoscientists.org/~blue/ps2videomodes.txt<br /> <br /> Video Modes<br /> ----.-----------.---------------.-----------.-----------.<br /> No | Name | Resolution | fV(Hz) | fH(kHz) |<br /> ----+-----------+---------------+-----------+-----------|<br /> 0 | NTSC-NI | 640x240(224) | 59.940 | 15.734 |<br /> 1 | NTSC-I | 640x480(448) | 59.820 | 15.734 |<br /> 2 | PAL-NI | 640x288(256) | 50.000 | 15.625 |<br /> 3 | PAL-I | 640x576(512) | 49.760 | 15.625 |<br /> 4 | VESA-1A | 640x480 | 59.940 | 31.469 |<br /> 5 | VESA-1C | 640x480 | 75.000 | 37.500 |<br /> 6 | VESA-2B | 800x600 | 60.317 | 37.879 |<br /> 7 | VESA-2D | 800x600 | 75.000 | 46.875 |<br /> 8 | VESA-3B | 1024x768 | 60.004 | 48.363 |<br /> 9 | VESA-3D | 1024x768 | 75.029 | 60.023 |<br /> 10 | VESA-4A | 1280x1024 | 60.020 | 63.981 |<br /> 11 | VESA-4B | 1280x1024 | 75.025 | 79.976 |<br /> 12 | DTV-480P | 720x480 | 59.940 | 31.469 |<br /> 13 | DTV-1080I | 1920x1080 | 60.000 | 33.750 |<br /> 14 | DTV-720P | 1280x720 | ?? | ?? |<br /> ----^-----------^---------------^-----------^-----------'<br /> <br /> ===Memory Mapping===<br /> == PCSX2 ==<br /> Mapping host memory for virtual systems...<br /> EE Main Memory @ 0x20000000 -&gt; 0x22884000 [40mb]<br /> IOP Main Memory (2mb) @ 0x24000000 -&gt; 0x24211000 [2mb]<br /> VU0/1 on-chip memory @ 0x28000000 -&gt; 0x2800A000 [40kb]<br /> Reserving memory for recompilers...<br /> SuperVU0 Recompiler Cache @ 0x0E800000 -&gt; 0x0F000000 [8mb]<br /> SuperVU1 Recompiler Cache @ 0x0F000000 -&gt; 0x0F800000 [8mb]<br /> Micro VU0 Recompiler Cache @ 0x3C000000 -&gt; 0x40000000 [64mb]<br /> Micro VU1 Recompiler Cache @ 0x40000000 -&gt; 0x44000000 [64mb]<br /> (thread:MTVU) Calling pthread_create...<br /> R5900-32 Recompiler Cache @ 0x30000000 -&gt; 0x34000000 [64mb]<br /> R3000A Recompiler Cache @ 0x34000000 -&gt; 0x36000000 [32mb]<br /> VIF0 Unpack Recompiler Cache @ 0x36000000 -&gt; 0x36800000 [8mb]<br /> VIF1 Unpack Recompiler Cache @ 0x38000000 -&gt; 0x38800000 [8mb]<br /> <br /> == ps2netemu == <br /> Mapping ELF @ 0x200000000<br /> <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Name !! ea !! lpar2(netemu 4.81) !! size !! flags !! lpar1(lv1 4.81)<br /> |-<br /> | text || 0x0 || 0x3D00000 || 0x300000( 3 MB) || 0x8000000000000003 0000000000000003 || 0x7D00000<br /> |- <br /> | ro_work || 0x300000 || 0x300000 || 0x500000( 5 MB) || 0x0000000000000003 0000000000000003 || 0x4300000<br /> |- <br /> | rw_work || 0x800000 || 0x800000 || 0x2A00000( 42 MB) || 0x0000000000000001 0000000000000003 || 0x4800000<br /> |- <br /> | negmem || 0x1FFF0000 || 0x3210000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000000 || 0x7210000<br /> |- <br /> | ee_ram || 0x100000000 || 0x64000E000000 || 0x2000000( 32 MB) || 0x0000000000000001 0000000000000000 || 0x3C00000 - 0x3F00000, 0x8000000 - 0x9B00000<br /> |- <br /> | ee_jit_code || 0xD00000000 || 0x680024000000 || 0x3000000( 48 MB) || 0x8000000000000001 0000000000000003 || 0xBC00000 - 0xEB00000<br /> |- <br /> | vu0_jit_code || 0xD08000000 || 0x580000800000 || 0x400000( 4 MB) || 0x8000000000000001 0000000000000003 || 0x900000 - 0xC00000<br /> |- <br /> | vu0_jit_data || 0xD0C000000 || 0x3700000 || 0x400000( 4 MB) || 0x0000000000000002 0000000000000003 || 0x7700000<br /> |- <br /> | eeram_jit_lut || 0xE00000000 || 0x640010000000 || 0x2000000( 32 MB) || 0x0000000000000001 0000000000000003 || 0x9C00000 - 0xBB00000<br /> |- <br /> | eerom_jit_lut || 0xE0FC00000 || 0x580000C00000 || 0x400000( 4 MB) || 0x0000000000000001 0000000000000003 || 0xD00000 - 0x1000000<br /> |- <br /> | ee_dbg_ram || 0x90FFF8000 || 0x64000E078000 || 0x8000( 32 KB) || 0x0000000000000001 0000000000000000 || <br /> |- <br /> | iop_ram || 0x400000000 || 0x3300000 || 0x200000( 2 MB) || 0x0000000000000001 0000000000000000 || 0x7300000<br /> |- <br /> | iop_rom || 0x50FC00000 || 0x580001000000 || 0x400000( 4 MB) || 0x0000000000000001 0000000000000002 || 0x1100000 - 0x1400000<br /> |- <br /> | iop_spad || 0x50F800000 || 0x3220000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000002 || 0x7220000<br /> |- <br /> | spu2_ram || 0x600000000 || 0x3500000 || 0x200000( 2 MB) || 0x0000000000000001 0000000000000000 || 0x7500000<br /> |- <br /> | spu2_ram2 || 0x600200000 || 0x3500000 || 0x200000( 2 MB) || 0x0000000000000001 0000000000000000 || 0x7500000<br /> |- <br /> | spu2_pcm || 0x1000000000 || 0x3230000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000000 || 0x7230000<br /> |- <br /> | ee_spr_lo || 0x700000000 || 0x3201000 || 0x2000( 8 KB) || 0x0000000000000001 0000000000000000 || 0x7201000<br /> |- <br /> | ee_spr || 0x800000000 || 0x3203000 || 0x6000( 24 KB) || 0x0000000000000001 0000000000000000 || 0x7203000<br /> |- <br /> | ee_vu0_dmem0 || 0x301004000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_vu0_dmem1 || 0x301005000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_vu0_dmem2 || 0x301006000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_vu0_dmem3 || 0x301007000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_rom || 0x30FC00000 || 0x580001000000 || 0x400000( 4 MB) || 0x0000000000000001 0000000000000001 || 0x1100000 - 0x1400000<br /> |- <br /> | vrc || 0xC00000000 || 0x600005000000 || 0x1000000( 16 MB) || 0x0000000000000001 0000000000000000 || 0x1500000 - 0x2400000<br /> |- <br /> | /dev/zero || 0x4000000000 || 0x3240000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000001 || 0x7240000<br /> |- <br /> | dma_vu0_dmem0 || 0x4001004000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | dma_vu0_dmem1 || 0x4001005000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | dma_vu0_dmem2 || 0x4001006000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | dma_vu0_dmem3 || 0x4001007000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem0 || 0x30000000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem1 || 0x30001000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem2 || 0x30002000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem3 || 0x30003000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | SGSXdr || 0x1904000000 || 0x64000C000000 || 0x1700000( 23 MB) || 0x0000000000000001 0000000000000000 || 0x2500000 - 0x3B00000<br /> |- <br /> | iopTrace || 0x1400000000 || 0x3250000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000000 || 0x7250000<br /> |}<br /> <br /> === Memory Allocation ===<br /> <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Name !! Size !! page_log2 !! lpar2(netemu 4.81) !! lpar1(lv1 4.81)<br /> |-<br /> | ra_vu0_dmem || 0x1000 (4 KB) || 12 (4 KB) || 0x3200000 || 0x7200000<br /> |- <br /> | ra_ee_spr_lo || 0x2000 (8 KB) || 12 (4 KB) || 0x3201000 || 0x7201000<br /> |- <br /> | ra_ee_sprx || 0x6000 (24 KB) || 12 (4 KB) || 0x3203000 || 0x7203000<br /> |- <br /> | ra_negmem || 0x10000 (64 KB) || 16 (64 KB) || 0x3210000 || 0x7210000<br /> |- <br /> | ra_iop_spad || 0x10000 (64 KB) || 16 (64 KB) || 0x3220000 || 0x7220000<br /> |- <br /> | ra_spu2_pcm || 0x10000 (64 KB) || 16 (64 KB) || 0x3230000 || 0x7230000<br /> |- <br /> | ra_nulls || 0x10000 (64 KB) || 16 (64 KB) || 0x3240000 || 0x7240000<br /> |- <br /> | ra_itrace || 0x10000 (64 KB) || 16 (64 KB) || 0x3250000 || 0x7250000<br /> |- <br /> | ra_iop_ram || 0x200000 (2 MB) || 20 (1 MB) || 0x3300000 || 0x7300000<br /> |- <br /> | ra_spu2_ram || 0x200000 (2 MB) || 20 (1 MB) || 0x3500000 || 0x7500000<br /> |- <br /> | ra_vu0_code || 0x400000 (4 MB) || 20 (1 MB) || 0x580000800000 || 0x900000 - 0xC00000<br /> |- <br /> | ra_vu0_data || 0x400000 (4 MB) || 20 (1 MB) || 0x3700000 || 0x7700000<br /> |- <br /> | ra_ee_rom_pc || 0x400000 (4 MB) || 20 (1 MB) || 0x580000C00000 || 0xD00000 - 0x1000000<br /> |- <br /> | ra_ps2_rom || 0x400000 (4 MB) || 20 (1 MB) || 0x580001000000 || 0x1100000 - 0x1400000<br /> |- <br /> | ra_vrc_mem || 0x1000000 (16 MB) || 20 (1 MB) || 0x600005000000 || 0x1500000 - 0x2400000<br /> |- <br /> | ra_sgs_xdr || 0x1700000 (23 MB) || 20 (1 MB) || 0x64000C000000 || 0x2500000 - 0x3B00000<br /> |- <br /> | ra_ee_ram || 0x2000000 (32 MB) || 20 (1 MB) || 0x64000E000000 || 0x3C00000 - 0x3F00000, 0x8000000 - 0x9B00000<br /> |- <br /> | ra_ee_ram_pc || 0x2000000 (32 MB) || 20 (1 MB) || 0x640010000000 || 0x9C00000 - 0xBB00000<br /> |- <br /> | ra_trans_code || 0x3000000 (48 MB) || 20 (1 MB) || 0x680024000000 || 0xBC00000 - 0xEB00000<br /> |}<br /> <br /> ===PS2 Memory and Hardware Mapped Registers Layout===<br /> ----------------------------------------------- <br /> PCSX2<br /> Mapping host memory for virtual systems...<br /> EE Main Memory @ 0x20000000 -&gt; 0x22884000 [40mb]<br /> IOP Main Memory (2mb) @ 0x24000000 -&gt; 0x24211000 [2mb]<br /> VU0/1 on-chip memory @ 0x28000000 -&gt; 0x2800A000 [40kb]<br /> Reserving memory for recompilers...<br /> SuperVU0 Recompiler Cache @ 0x0E800000 -&gt; 0x0F000000 [8mb]<br /> SuperVU1 Recompiler Cache @ 0x0F000000 -&gt; 0x0F800000 [8mb]<br /> Micro VU0 Recompiler Cache @ 0x3C000000 -&gt; 0x40000000 [64mb]<br /> Micro VU1 Recompiler Cache @ 0x40000000 -&gt; 0x44000000 [64mb]<br /> (thread:MTVU) Calling pthread_create...<br /> R5900-32 Recompiler Cache @ 0x30000000 -&gt; 0x34000000 [64mb]<br /> R3000A Recompiler Cache @ 0x34000000 -&gt; 0x36000000 [32mb]<br /> VIF0 Unpack Recompiler Cache @ 0x36000000 -&gt; 0x36800000 [8mb]<br /> VIF1 Unpack Recompiler Cache @ 0x38000000 -&gt; 0x38800000 [8mb]<br /> <br /> R5900 RAM copy @ 0x11C20000 -&gt; 0x13C20000 [32mb]<br /> R5900 RAM LUT @ 0x13C20000 -&gt; 0x16060000 [36mb]<br /> <br /> RAM Sizes - Overview<br /> --------------------<br /> EE - 32 MB<br /> GS - 4 MB<br /> IOP - 2 MB<br /> SPU - 2 MB <br /> <br /> Logical Address Range Physical Address Range Description Size<br /> --------------------- ---------------------- ----------- -----<br /> 0x80000000-0x800FFFFF 0x00000000-0x000FFFFF EE Kernel 1 MB<br /> 0x00100000-0x01FFFFFF 0x00100000-0x01FFFFFF EE RAM (Cached) 31 MB<br /> 0x20100000-0x21FFFFFF 0x00100000-0x01FFFFFF EE RAM (Uncached) 31 MB<br /> 0x30100000-0x31FFFFFF 0x00100000-0x01FFFFFF EE RAM (Uncached&amp;accelerated) 31 MB<br /> 0x10000000-0x11FFFFFF 0x10000000-0x11FFFFFF EE Registers (uncached) 32 MB<br /> 0x12000000-0x13FFFFFF 0x12000000-0x13FFFFFF GS Registers (uncached) 32 MB<br /> 0x1FC00000-0x1FFFFFFF 0x1FC00000-0x1FFFFFFF? Boot ROM0 (uncached) 4 MB<br /> 0x9FC00000-0x9FFFFFFF 0x1FC00000-0x1FFFFFFF? Boot ROM09 (cached) 4 MB<br /> 0xBFC00000-0xBFFFFFFF 0x1FC00000-0x1FFFFFFF? Boot ROM0b (uncached) 4 MB<br /> 0xBE000000-0xBE040000 0x1E000000-0x1E03FFFF? Boot ROM1 256 KB<br /> 0xBE400000-0xBE440000 0x1E400000-0x1E43FFFF? Boot ROM2 256 KB<br /> 0xBC000000-0xBC1FFFFF 0x1C000000-0x1C1FFFFF? IOP RAM 2 MB<br /> 0x70000000-0x70003FFF ---------------------- Scratch Pad 16 KB <br /> <br /> Kernel empty and unused areas (NB: On non-modded consoles)<br /> ----------------------------------------------------------<br /> Area Logical Address Range Physical Address Range Size<br /> ---- --------------------- ---------------------- ----<br /> #1 0x80030000-0x80074FFF 0x00030000-0x00074FFF 282624 Bytes<br /> #2 0x80078250-0x8007FFFF 0x00078250-0x0007FFFF 32176 Bytes<br /> <br /> RAM Mirror Modes Logical Address Range Physical Address Range Size<br /> ---------------- --------------------- ---------------------- ----<br /> Cached 0x00100000-0x01FFFFFF 0x00100000-0x01FFFFFF 31 MB<br /> Uncached 0x20100000-0x21FFFFFF 0x00100000-0x01FFFFFF 31 MB<br /> Uncached&amp;accelerated 0x30100000-0x31FFFFFF 0x00100000-0x01FFFFFF 31 MB<br /> <br /> Operating Modes Logical Address Range Physical Address Range Size<br /> --------------- --------------------- ---------------------- ----<br /> USEG 0x00000000-0x01FFFFFF 0x00000000-0x01FFFFFF 32 MB<br /> KSEG0 0x80000000-0x81FFFFFF 0x00000000-0x01FFFFFF 32 MB<br /> KSEG1 0xA0000000-0xA1FFFFFF 0x00000000-0x01FFFFFF 32 MB<br /> <br /> Hardware Mapped Registers <br /> ------------------------- <br /> <br /> COUNTERS' REGISTERS<br /> -------------------<br /> 10000000 T0_COUNT Timer Count<br /> 10000010 T0_MODE Timer Mode<br /> 10000020 T0_COMP Timer Compare value<br /> 10000030 T0_HOLD Timer Pause <br /> <br /> 10000800 T1_COUNT Timer Count<br /> 10000810 T1_MODE Timer Mode<br /> 10000820 T1_COMP Timer Compare value<br /> 10000830 T1_HOLD Timer Pause <br /> <br /> 10001000 T2_COUNT Timer Count<br /> 10001010 T2_MODE Timer Mode<br /> 10001020 T2_COMP Timer Compare value<br /> <br /> 10001810 T3_COUNT Timer Count<br /> 10001820 T3_MODE Timer Mode<br /> 10001830 T3_COMP Timer Compare value<br /> <br /> IPU REGISTERS (MPEG2 DECODER)<br /> -----------------------------<br /> 10002000 IPU_CMD<br /> 10002010 IPU_CTRL<br /> 10002020 IPU_BP<br /> 10002030 IPU_TOP<br /> <br /> GIF REGISTERS<br /> -------------<br /> 10003000 GIF_CTRL<br /> 10003010 GIF_MODE<br /> 10003020 GIF_STAT<br /> 10003040 GIF_TAG0<br /> 10003050 GIF_TAG1<br /> 10003060 GIF_TAG2<br /> 10003070 GIF_TAG3<br /> 10003080 GIF_CNT<br /> 10003090 GIF_P3CNT<br /> 100030a0 GIF_P3TAG <br /> <br /> VIF0 REGISTERS<br /> -------------- <br /> 10003800 VIF0_STAT VIF0 Status<br /> 10003810 VIF0_FBRST<br /> 10003820 VIF0_ERR<br /> 10003830 VIF0_MARK<br /> 10003840 VIF0_CYCLE<br /> 10003850 VIF0_MODE <br /> 10003860 VIF0_NUM<br /> 10003870 VIF0_MASK<br /> 10003880 VIF0_CODE<br /> 10003890 VIF0_ITOPS<br /> 100038d0 VIF0_ITOP<br /> 10003900 VIF0_R0<br /> 10003910 VIF0_R1<br /> 10003920 VIF0_R2<br /> 10003930 VIF0_R3<br /> 10003940 VIF0_C0<br /> 10003950 VIF0_C1<br /> 10003960 VIF0_C2<br /> 10003970 VIF0_C3 <br /> <br /> VIF1 REGISTERS<br /> --------------<br /> 10003c00 VIF1_STAT<br /> 10003c10 VIF1_FBRST<br /> 10003c20 VIF1_ERR<br /> 10003c30 VIF1_MARK<br /> 10003c40 VIF1_CYCLE<br /> 10003c50 VIF1_MODE<br /> 10003c60 VIF1_NUM<br /> 10003c70 VIF1_MASK<br /> 10003c80 VIF1_CODE<br /> 10003c90 VIF1_ITOPS<br /> 10003ca0 VIF1_BASE<br /> 10003cb0 VIF1_OFST<br /> 10003cc0 VIF1_TOPS<br /> 10003cd0 VIF1_ITOP<br /> 10003ce0 VIF1_TOP<br /> 10003d00 VIF1_R0<br /> 10003d10 VIF1_R1<br /> 10003d20 VIF1_R2<br /> 10003d30 VIF1_R3<br /> 10003d40 VIF1_C0<br /> 10003d50 VIF1_C1<br /> 10003d60 VIF1_C2<br /> 10003d70 VIF1_C3<br /> <br /> FIFO<br /> ----<br /> 10004000 VIF0_FIFO(write)<br /> 10005000 VIF1_FIFO(read/write) <br /> <br /> 10006000 GIF_FIFO0<br /> 10006010 GIF_FIFO1<br /> 10006020 GIF_FIFO2 <br /> <br /> 10007000 IPU_out_FIFO(read)<br /> 10007010 IPU_in_FIFO(write)<br /> <br /> DMA CH0 REGISTERS (Linked to VIF0)<br /> ----------------------------------<br /> 10008000 D0_CHCR DMA-0 Channel Control<br /> 10008010 D0_MADR Memory Address<br /> 10008020 D0_SIZE Transfer Size (they call it D0_QWC)<br /> 10008030 D0_TAG DMA Tag (they call it D0_TADR)<br /> 10008040 D0_??LO they call it D0_ASR0<br /> 10008050 D0_??HI they call it D0_ASR1 <br /> <br /> DMA CH1 REGISTERS (Linked to VIF1)<br /> ----------------------------------<br /> 10009000 D1_CHCR DMA-1 Channel Control<br /> 10009010 D1_MADR Memory Address<br /> 10009020 D1_SIZE Transfer Size (they call it D1_QWC)<br /> 10009030 D1_TAG DMA Tag (they call it D1_TADR)<br /> 10009040 D1_??LO they call it D1_ASR0<br /> 10009050 D1_??HI they call it D1_ASR1 <br /> <br /> DMA CH2 REGISTERS (Linked to GIF)<br /> ---------------------------------<br /> 1000A000 D2_CHCR DMA-2 Channel Control<br /> 1000A010 D2_MADR Memory Address<br /> 1000A020 D2_SIZE Transfer Size (they call it D2_QWC)<br /> 1000A030 D2_TAG DMA Tag (they call it D2_TADR)<br /> 1000A040 D2_??LO they call it D2_ASR0<br /> 1000A050 D2_??HI they call it D2_ASR1<br /> 1000A080 D2_SADR<br /> <br /> DMA CH3 REGISTERS (Linked to IPU (FROM???))<br /> --------------------------------------------<br /> 1000B000 D3_CHCR DMA-3 Channel Control<br /> 1000B010 D3_MADR Memory Address<br /> 1000B020 D3_QWC Transfer Size<br /> <br /> DMA CH4 REGISTERS (Linked to IPU (TO???))<br /> -----------------------------------------<br /> 1000B400 D4_CHCR DMA-4 Channel Control<br /> 1000B410 D4_MADR Memory Address<br /> 1000B420 D4_QWC Transfer Size<br /> 1000B430 D4_TADR DMA Tag<br /> <br /> DMA CH5 REGISTERS (Linked to SIF0)<br /> ----------------------------------<br /> 1000C000 D5_CHCR DMA-4 Channel Control<br /> 1000C010 D5_MADR Memory Address<br /> 1000C020 D5_QWC Transfer Size <br /> <br /> DMA CH6 REGISTERS (Linked to SIF1)<br /> ----------------------------------<br /> 1000C400 D6_CHCR DMA-6 Channel Control<br /> 1000C410 D6_MADR Memory Address<br /> 1000C420 D6_QWC Transfer Size<br /> 1000C430 D6_TADR DMA Tag <br /> <br /> DMA CH7 REGISTERS (Linked to SIF2)<br /> ----------------------------------<br /> 1000C800 D7_CHCR DMA-7 Channel Control<br /> 1000C810 D7_MADR Memory Address<br /> 1000C820 D7_QWC Transfer Size<br /> <br /> DMA CH8 REGISTERS (Linked to SPR (form SCRATCH PAD to RAM???)<br /> --------------------------------------------------------------<br /> 1000D000 D8_CHCR DMA-8 Channel Control<br /> 1000D010 D8_MADR Memory Address<br /> 1000D020 D8_QWC Transfer Size<br /> 1000D080 D8_MCR ???<br /> <br /> DMA CH9 REGISTERS (Linked to SPR (form RAM to SCRATCH PAD???)<br /> --------------------------------------------------------------<br /> 1000D400 D9_CHCR DMA-9 Channel Control<br /> 1000D410 D9_MADR Memory Address<br /> 1000D420 D9_QWC Transfer Size<br /> 1000D430 D9_TADR DMA Tag<br /> 1000D480 D9_MCR? ??? <br /> <br /> DMA CONTROL REGISTERS<br /> ---------------------<br /> 1000E000 D_CTRL DMA Control<br /> 1000E010 D_STAT DMA Status<br /> 1000E020 D_PCR <br /> 1000E030 D_SQWC<br /> 1000E040 D_RBSR<br /> 1000E050 D_RBOR<br /> 1000E060 D_STADR<br /> <br /> 1000F000 INTC_STAT<br /> 1000F010 INTC_MASK<br /> <br /> 1000F100<br /> 1000F120<br /> 1000F130 STD-OUT STATUS???<br /> 1000F140<br /> 1000F150<br /> 1000F180 STD-OUT DATA???<br /> <br /> 1000F230 SBUS_SMFLG<br /> <br /> 1000F410<br /> 1000F430<br /> 1000F440<br /> 1000F480<br /> 1000F490<br /> 1000F500 <br /> <br /> 1000f520 D_ENABLEW<br /> 1000f590 D_ENABLER<br /> <br /> <br /> VU MAPPED MEMORY REGISTERS<br /> --------------------------<br /> 11000000 VU0 PROGRAM MEMORY Program Memory (4K ROM)<br /> 11001000 VU0 MEMORY Memory (4K ROM)<br /> 11008000 VU1 PROGAM MEMORY VU1 Program Memory (16K ROM)<br /> 1100C000 VU1 MEMORY VU1 Memory (16K ROM)<br /> <br /> GS<br /> --<br /> 12000000 GS_PMODE<br /> 12000010 GS_SMODE1<br /> 12000020 GS_SMODE2<br /> 12000030 GS_SRFSH<br /> 12000040 GS_SYNCH1<br /> 12000050 GS_SYNCH2<br /> 12000060 GS_SYNCV<br /> 12000070 GS_DISPFB1<br /> 12000080 GS_DISPLAY1<br /> 12000090 GS_DISPFB2<br /> 120000a0 GS_DISPLAY2<br /> 120000b0 GS_EXTBUF<br /> 120000c0 GS_EXTDATA<br /> 120000d0 GS_EXTWRITE<br /> 120000e0 GS_BGCOLOR<br /> 12001000 GS_CSR<br /> 12001010 GS_IMR<br /> 12001040 GS_BUSDIR<br /> 12001080 GS_SIGLBLID<br /> <br /> Scratch Pad RAM Address Range<br /> -----------------------------<br /> 0x70000000-0x70003FFF<br /> <br /> ROM BIOS Mirror Address Range Logical Address Range Physical Address Range<br /> ----------------------------- --------------------- ----------------------<br /> Uncached 0x1FC00000-0x1FFFFFFF 0x1FC00000-0x1FFFFFFF<br /> Cached 0x9FC00000-0x9FFFFFFF 0x1FC00000-0x1FFFFFFF<br /> Uncached 0xBFC00000-0xBFFFFFFF 0x1FC00000-0x1FFFFFFF <br /> <br /> Some Acronyms<br /> --------<br /> EE - Emotion Engine (main CPU)<br /> GS - Graphics Synthesizer<br /> IOP - Input/Output Processor<br /> SPU - Sound Processor Unit<br /> USEG - User Mode Segment<br /> KSEG0 - Kernel Mode, Segment 0<br /> KSEG1 - Kernel Mode, Segment 1 <br /> <br /> Sources<br /> -------<br /> TX System RISC TX79 Core Architecture (Symmetric 2-way superscalar 64-bit CPU) Rev. 2.0<br /> (http://lukasz.dk/files/tx79architecture.pdf)<br /> PS2 MEMORY &amp; HARDWARE MAPPED REGISTERS LAYOUT, by Minmei (https://web.archive.org/web/20080722165353/http://ps2dev.org/ps2/Technical_Documentation/Other/PS2_Memory_and_Hardware_Mapped_Registers_Layout.download) <br /> Kernel empty and unused areas, by GTLCPIMP (https://artemis.bountysource.com/task/show/2270)<br /> dump2mass, by misfire (https://artemis.bountysource.com/solution/show/1074)<br /> ... and others ones spreaded out on the World Wide Web which I can't remember<br /> <br /> ===Controller===<br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! ID !! Controller #Number !! Note<br /> |-<br /> | 1 (1-A) || 1 ||<br /> |-<br /> | 2 (2-A) || 2 ||<br /> |-<br /> | 3 (1-B) || 3 ||<br /> |-<br /> | 4 (2-B) || 4 ||<br /> |-<br /> | 5 (1-C) || 5 || Gamepad LED #1 + #4<br /> |-<br /> | 6 (2-C) || 6 || Gamepad LED #2 + #4<br /> |-<br /> | 7 (1-D) || 7 || Gamepad LED #3 + #4<br /> |-<br /> |}<br /> <br /> ===Peripheral support===<br /> ====ps2_emu.self / ps2_gxemu.self====<br /> #Hub<br /> #Mouse<br /> #Keyboard<br /> #EyeToy<br /> #Head Mount Display<br /> #Mic<br /> #Ascii Mic<br /> #Socom USB Headset<br /> #Usb Headset<br /> #Sea Mic Controller<br /> #Force Feedback device<br /> #GT Force<br /> #Momo Force<br /> #Driving Force Pro<br /> #G25/G27<br /> #Momo Racing<br /> #Flight Force<br /> #Force 3D Pro<br /> #Modem<br /> #Guncon2<br /> #Densya de GO! controller type 2<br /> #Densya de GO! Sincansen senyou controller<br /> #Capture Eye<br /> #Flight Stick<br /> #Flight Stick 2<br /> #Pop Egg<br /> #Trance Vibrator<br /> #PSP<br /> #Compact Flight Controller<br /> #Flash Memory<br /> #Buzz!<br /> #Pachi-Slot Controller Kurouto<br /> #Usb Adapter<br /> #Guncon3<br /> #Multi Train Controller<br /> <br /> ====ps2_netemu.self====<br /> #BD Remote Control<br /> #PLAYSTATION(R)3 Controller (Vendor ID 0x54C, Product ID 0x268), <br /> #Motion Controller - Move (Vendor ID 0x54C, Product ID 0x3D5), <br /> #Navigation Controller (Vendor ID 0x54C, Product ID 0x42F)<br /> #&quot;guncon3&quot;<br /> &lt;br/&gt;<br /> Unknown: <br /> #Vendor ID 0xF0D (Hori), Product ID 0x4A <br /> #Vendor ID 0x54C (Sony), Product ID 0x5AF<br /> <br /> ===BIOS===<br /> ====ps2_netemu.self====<br /> Ps2_netemu use integrated PS2 bios included in ps2netemu.elf, not additional file like in ps1emu case. In 4.81 firmware BIOS is located from 0x820A00 to 0x9F09FF (0x820900 to 0x9F08FF in fw4.50). Bios version seems to be Developement v2.20 from Japan region (22/01/2007), but it's of course not limited to booting only NTSC-J games.<br /> <br /> Notable thing is that ps2_netemu run fine with ps2_gxemu bios, but fail to boot using ps2_emu bios. <br /> <br /> {| class=&quot;wikitable&quot; style=&quot;font-size:small;&quot;<br /> |-<br /> ! File !! Offset in fw4.81 ps2_netemu !! Offset in exported bin !! Description !! File type (exportable)<br /> |-<br /> | RESET || 0x820A00 || 0x00 || Bootstrap code for the EE and IOP. || BIN<br /> |-<br /> | ROMDIR || 0x823180 || 0x2780 || The ROMDIR part of the ROM image, which provides information on the location and name of files contained in the image. || BIN<br /> |-<br /> | EXTINFO || 0x8236C0 || 0x2CC0 || Contains the &quot;EXTINFO&quot; for all files in the ROM image. || BIN<br /> |-<br /> | SBIN || 0x823D30 || 0x3330 || Seems to be the pad controller library for the PS1 monitor. || BIN<br /> |-<br /> | LOGO || 0x82ACD0 || 0xA2D0 || PS1 logo? || BIN<br /> |-<br /> | IOPBTCONF || 0x83F420 || 0x1EA20 || Boot configuration file for the IOP, during the final phase of the IOP reset. If no UDNL module is specified, the IOP will only have a single IOP reset in the reboot process, with the modules listed in IOPBTCONF. || BIN<br /> |-<br /> | IOPBTCON2 || 0x83F510 || 0x1EB10 || Boot configuration file for the IOP, for the first phase of the IOP reset (before UDNL is loaded). || BIN<br /> |-<br /> | SYSMEM || 0x83F5E0 || 0x1EBE0 || System Memory Manager. || ELF<br /> |-<br /> | LOADCORE || 0x840800 || 0x1FE00 || The core of IOP module loading. Provides the lowest level of IOP module loading functions. Also handles the startup of the IOP. || ELF<br /> |-<br /> | EXCEPMAN || 0x842D80 || 0x22380 || Exception manager. || ELF<br /> |-<br /> | INTRMANP || 0x843960 || 0x22F60 || Interrupt Manager. According to wisi, it is for PS mode. || ELF<br /> |-<br /> | INTRMANI || 0x845370 || 0x24970 || Interrupt Manager. According to wisi, it is for IOP mode. || ELF<br /> |-<br /> | SSBUSC || 0x8471B0 || 0x267B0 || SSBUS Controller library. The SSBUS seems to be the bus that all peripherals get connected to. It seems to have the power to control the mapping of the device registers, as well as access timing. || ELF<br /> |-<br /> | TIMEMANP || 0x847920 || 0x26F20 || Timer Manager (PS mode) || ELF<br /> |-<br /> | TIMEMANI || 0x848500 || 0x27B00 || Timer Manager (IOP mode) || ELF<br /> |-<br /> | DMACMAN || 0x849130 || 0x28730 || DMA Controller Manager. || ELF<br /> |-<br /> | SYSCLIB || 0x84C830 || 0x2BE30 || System C Library. || ELF<br /> |-<br /> | HEAPLIB || 0x84EF90 || 0x2E590 || Memory HEAP LIBrary (i.e. thvpool, thfpool) || ELF<br /> |-<br /> | THREADLIB || 0x84FC90 || 0x2F290 || Multi_Thread_Manager || ELF<br /> |-<br /> | VBLANK || 0x858A20 || 0x38020 || V-Blank management || ELF<br /> |-<br /> | IOMAN || 0x8597B0 || 0x38DB0 || IO Manager || ELF<br /> |-<br /> | MODLOAD || 0x85B720 || 0x3AD20 || IOP module loader. || ELF<br /> |-<br /> | ROMDRV || 0x85DA70 || 0x3D070 || ROM driver. Provides access to the boot ROM (rom0). || ELF<br /> |-<br /> | ADDDRV || 0x85E960 || 0x3DF60 || Adds support for the DVD ROM (rom1:), via ROMDRV. || ELF<br /> |-<br /> | STDIO || 0x85DDC0 || 0x3D3C0 || Standard I/O library. || ELF<br /> |-<br /> | SIFMAN || 0x85F9B0 || 0x3EFB0 || SIF manager. || ELF<br /> |-<br /> | SIFINIT || 0x860F50 || 0x40550 || Initializes the SIF. || ELF<br /> |-<br /> | EESYNC || 0x861370 || 0x40970 || For synchronizing with the EE, at the end of IOP resets. EESYNC from DNAS images are evil; they also perform a memory wipe of the region from 0x00084000 to .0x00100000. || ELF<br /> |-<br /> | EENULL || 0x861810 || 0x40E10 || The idle thread (id #0) module, in ps2 loaded to 0x00081FC0. || BIN<br /> |-<br /> | PS1ID || 0x861850 || 0x40E50 || Only found in newer boot ROMs || BIN<br /> |-<br /> | LIBFI || 0x861860 || 0x40E60 || Not present in the boot ROM of the SCPH-10000 and SCPH-15000. || BIN<br /> |-<br /> | PS1VERJ || 0x861950 || 0x40F50 || || BIN<br /> |-<br /> | PS1VERA || 0x861960 || 0x40F60 || || BIN<br /> |-<br /> | PS1VERE || 0x861970 || 0x40F70 || || BIN<br /> |-<br /> | PS1VERC || 0x861980 || 0x40F80 || || BIN<br /> |-<br /> | PS1VERH || 0x861990 || 0x40F90 || || BIN<br /> |-<br /> | OSDSYS || 0x8619A0 || 0x40FA0 || The browser || BIN<br /> |-<br /> | - || 0x8619B0 || 0x40FB0 || || BIN<br /> |-<br /> | RDRAM || 0x861A00 || 0x41000 || Provides a RDRAM test for the EE at power-on. This is run from RESET. || BIN<br /> |-<br /> | EELOADCNF || 0x864750 || 0x43D50 || Contains the IOP boot configuration file for EELOAD. || BIN<br /> |-<br /> | SIFCMD || 0x864900 || 0x43F00 || SIF command module. Contains the SIF command and SIF RPC functions. || ELF<br /> |-<br /> | REBOOT || 0x866B40 || 0x46140 || The reboot service. Receives IOP reset packets from the EE, from across the SIF. || ELF<br /> |-<br /> | LOADFILE || 0x867310 || 0x46910 || The RPC server for MODLOAD || ELF<br /> |-<br /> | EECONF || 0x869A70 || 0x49070 || Loads part of the system configuration from the MECHACON EEPROM. Also configures and resets some peripherals, depending on the model version. In slimlines, and possibly on PS3 EECONF will also load the MAC address. || ELF<br /> |-<br /> | - || 0x86A9F0 || 0x49FF0 || || BIN<br /> |-<br /> | IOPBOOT || 0x86AA00 || 0x4A000 || IOP bootup program || BIN<br /> |-<br /> | - || 0x86BB60 || 0x4B160 || || BIN<br /> |-<br /> | TBIN || 0x86C200 || 0x4B800 || The PS1 monitor program. Seems to be the PS1 BIOS. This is started by RESET, when the IOP is in PS1 mode. || BIN<br /> |-<br /> | XSHA1 || 0x87A170 || 0x59770 || sha1 - this only present in PS3. It is used as additional antipiracy check. It seems that it calculate disc main elf checksum and compares it with some database. Config related?|| ELF<br /> |-<br /> | XLOADFILE || 0x87B140 || 0x5A740 || Updated module || ELF<br /> |-<br /> | SIO2MAN || 0x87E1F0 || 0x5D7F0 || SIO2 manager. Provides access to the SIO2 interface. || ELF<br /> |-<br /> | - || 0x87FE20 || 0x5F420 || || BIN<br /> |-<br /> | MCSERV || 0x881D40 || 0x61340 || RPC server for MCMAN. || ELF<br /> |-<br /> | - || 0x883A40 || 0x63040 || || BIN<br /> |-<br /> | KROMG || 0x884A00 || 0x64000 || || BIN<br /> |-<br /> | - || 0x8866C0 || 0x65CC0 || || BIN<br /> |-<br /> | KROM || 0x886A00 || 0x66000 || Kanji ROM? Not sure where this is used. || BIN<br /> |-<br /> | - || 0x8A0870 || 0x7FE70 || || BIN<br /> |-<br /> | ROMVER || 0x8A0900 || 0x7FF00 || ROM version. || BIN<br /> |-<br /> | - || 0x8A0910 || 0x7FF10 || || BIN<br /> |-<br /> | VERSTR || 0x8A0930 || 0x7FF30 || Version string. Probably PS1 ROM will use this because that this string is also present in PlayStation consoles. || BIN<br /> |-<br /> | - || 0x8A0990 || 0x7FF90 || || BIN<br /> |-<br /> | ROMGSCRT || 0x8A0A00 || 0x80000 || || BIN<br /> |-<br /> | NCDVDMAN || 0x8A3730 || 0x82D30 || It seems to be a heavily stripped-down CDVDMAN module, with no support for some S-command functions like sceCdRI. || ELF<br /> |-<br /> | SECRMAN || 0x8B0170 || 0x8F770 || Security Manager. Signing is NOT done with the one in ROM, but with a special version that comes with the utility discs. Looks like PS3 units have a different SECRMAN module from retail sets, similar to PS2 TOOL one. || ELF<br /> |-<br /> | MCMAN || 0x8B4630 || 0x93C30 || Memory Card Manager. || ELF<br /> |-<br /> | PADMAN || 0x8C3AC0 || 0xA30C0 || Pad manager. || ELF<br /> |-<br /> | CDVDMAN || 0x8CD210 || 0xAC810 || The CD/DVD manager. || ELF<br /> |-<br /> | CDVDFSV || 0x8D55C0 || 0xB4BC0 || The RPC server for CDVDMAN. || ELF<br /> |-<br /> | FILEIO || 0x8DD980 || 0xBCF80 || RPC server for IOMAN. Sony has greatly changed the semantics and design of FILEIO after some point. Connecting an old FILEIO EE RPC client to a newer server will result in a severe IOP crash. || ELF<br /> |-<br /> | CLEARSPU || 0x8DFA80 || 0xBF080 || Seems to clear/reset the SPU, but is known to cause crashes under some conditions. Not sure if it's buggy or not. Only used by the OSDSYS of the SCPH-10000 and SCPH-15000, probably retained for backward-compatibility. || ELF<br /> |-<br /> | UDNL || 0x8E16C0 || 0xC0CC0 || It is responsible for selecting the modules and starting the IOP, during the final phase of the IOP reset where the desired modules are to be loaded into the IOP. || ELF<br /> |-<br /> | IGREETING || 0x8E35C0 || 0xC2BC0 || Displays boot information (i.e. IOP boot type, EBOOTP, IBOOTP, switch positions for DSW602 and the type of DSW602 board installed || ELF<br /> |-<br /> | EELOAD || 0x8E4620 || 0xC3C20 || The EE ELF loader, which is loaded by LoadExecPS2() to 0x00082000 in PS2 for loading ELFs. || BIN<br /> |-<br /> | XCDVDMAN || 0x8F37A0 || 0xD2DA0 || cdvd_driver - Updated module || ELF<br /> |-<br /> | XCDVDFSV || 0x902530 || 0xE1B30 || cdvd_ee_driver - Updated module || ELF<br /> |-<br /> | OSDSND || 0x910960 || 0xEFF60 || OSD sound library. This is actually the tentative sound driver, which is called &quot;librspu2&quot; in the Sony SDK. || ELF<br /> |-<br /> | PS2LOGO || 0x93B5B0 || 0x11ABB0 || Displays the PlayStation 2 logo from the inserted disc. For newer consoles, if the logo cannot be decrypted properly, it will fall back to the browser. Not actually required to boot games, but the Sony OSDSYS boots PS2 games through this program. || ELF<br /> |-<br /> | XPARAM2 || 0x957F00 || 0x137500 || Store IOP emulation settings/flags || ELF<br /> |-<br /> | OSDSYS || 0x95A400 || 0x139A00 || The browser || BIN<br /> |-<br /> | PIOPRP || 0x998280 || 0x177880 || Present in the PS3 ps2_(gx/soft/net)emu; contains version 3.1.0 of the IOP software (compared to version 1.3.4 on the root). || BIN<br /> |-<br /> | KERNEL || 0x9DC1E0 || 0x1BB7E0 || The EE kernel || BIN<br /> |}<br /> Description source: https://gist.github.com/uyjulian/25291080f083987d3f3c134f593483c5<br /> <br /> ==Virtual PS2 HDD==<br /> There are 2 different &quot;PS2 game&quot; contents that can be installed in PS3 HDD (CATEGORY's [[PARAM.SFO#CATEGORY_For_HDD_contents | 2P and 2G ]]).<br /> '''2P''' are games released from PSN as &quot;PS2 Classic&quot; in .PKG format, and '''2G''' are a few real &quot;PS2 DVD discs&quot; that can be installed in the PS3 HDD, this installation is managed by the '''PS2_system_data.pkg'''.<br /> <br /> This games can be installed in real PS2 (in the internall HDD of a PS2 fat)... later this same installation was used in the [http://en.wikipedia.org/wiki/PSX_(DVR) PSX]... and when implemented in PS3 there was needed to use a '''virtual PS2 HDD''' image file keeping the same format than the original HDD used in PS2.<br /> <br /> Game files (extracted from the real PS2 disc) are installed in a '''IMAGE.DAT''' file, this file is a 1:1 &quot;raw copy&quot; of a PS2 HDD.<br /> <br /> This '''IMAGE.DAT''' is placed in the &quot;install folder&quot; (inside USRDIR folder) and his size can vary up to 10+GB<br /> <br /> There are 2 different installations: the most common is used to store &quot;game expansions&quot; (e.g: used by additional content in SOCOM games)... the other type of installation is a &quot;full install&quot; and it seems the only game that uses it is &quot;Final Fantasy XI&quot; (main game installation when the game boots for first time + game expansions added later when needed in the same '''IMAGE.DAT''')<br /> <br /> '''PS2_system_data.pkg''' itself uses an '''IMAGE.DAT''' file (6.43 MB)<br /> <br /> The structure of this &quot;virtual PS2 HDD&quot; uses an &quot;APA header&quot; and a &quot;APA MBR&quot; + several &quot;APA partitions&quot;, some of them containing &quot;PFS filesystems&quot;.<br /> <br /> Error message trying to boot a CATEGORY &quot;2G&quot; game with hand-made SFO's and invalid IMAGE.DAT file:<br /> '''The game partition for this game cannot be created because the installed game is corrupted.'''<br /> '''To perform this operation, delete the game, and then reinstall the game using the disc.'''<br /> <br /> *Notes<br /> **List of PS2 disc games compatibles with PS3 HDD installation hardcoded in '''dev_flash/vsh/module/[[game_ext_plugin]].sprx'''<br /> **Virtuall PS2 HDD support module '''dev_flash/vsh/module/[[libps2hdd]].sprx''' ?<br /> <br /> ===PS2 System Data (PSN HDD Tool package)===<br /> A direct link to the package can be found in NoPayStation database in DLCs<br /> <br /> Content ID: IP9100-NPIA00001_00-PS2HDDSYSDAT0001<br /> QA Digest: 2A876715D42678BB7A6E00C030C0121B<br /> HASH: E1B0DBE46FC44190DC7A140681D8B9D4<br /> <br /> http://manuals.playstation.net/document/en/ps3/current/game/hddinstall.html<br /> <br /> '''Titles supporting HDD installation'''<br /> * Nobunaga's Ambition Online and Expansion Packs<br /> * Final Fantasy XI (disc1=SCUS97266 disc2=SCUS97269)and Expansion Discs<br /> * SOCOM II: U.S. NAVY SEALs and Related discs included with OPM Issue 87, OPM Issue 88, OPM Issue 89, OPM Issue 90<br /> * SOCOM 3: U.S. NAVY SEALs<br /> * SOCOM: U.S. NAVY SEALs Combined Assault<br /> * Front Mission Online<br /> * Official PlayStation Magazine Issue 87, 88, 89, 90 Discs<br /> ([[Talk:Emulation#PS2_HDD | non-official ps2hdd gameslist ]])<br /> <br /> ===TitleID/DiscID in game_ext_plugin.sprx===<br /> <br /> Mainly Final Fantasy 11, Nobunaga Ambition Online, Socom IDs and the required HDD Gigabyte amount for install onto the internal hdd.<br /> <br /> Speculation: flags are AND' with 0,1,2 (selected from sys_sm_get_hw_config according to ps2emu hardware flags? 0 = no hw?, 1 = gxemu?, 2=full hw? )<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> ! flags !! DiscID !! Alternative? DiscID !! GigaByte !! Title !! 0 = VMC&lt;br&gt;1 = IMAGE.DAT !! Internal Name? !! GigaByte<br /> |-<br /> |0xFFFF || &quot;SLPS20200&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM65705&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM65706&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM65953&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM66393&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM66394&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM66893&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM66894&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM55229&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0x0001 || &quot;SLPM65197&quot; || &quot;SLPM65197&quot; || 0x07 || &quot;信長の野望 Online&quot; || 1 || &quot;PP.SLPM-65197.MAGIC.APPLICATION&quot; || 0x07<br /> |-<br /> |0x0001 || &quot;SLPM65783&quot; || &quot;SLPM65197&quot; || 0x07 || &quot;信長の野望 Online&quot; || 1 || &quot;PP.SLPM-65197.MAGIC.APPLICATION&quot; || 0x07<br /> |-<br /> |0x0001 || &quot;SLPM66539&quot; || &quot;SLPM65197&quot; || 0x07 || &quot;信長の野望 Online&quot; || 1 || &quot;PP.SLPM-65197.MAGIC.APPLICATION&quot; || 0x07<br /> |-<br /> |0x0001 || &quot;SLPM66954&quot; || &quot;SLPM65197&quot; || 0x07 || &quot;信長の野望 Online&quot; || 1 || &quot;PP.SLPM-65197.MAGIC.APPLICATION&quot; || 0x07<br /> |-<br /> |0xFFFF || &quot;SCUS97269&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLUS21070&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLUS21404&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLUS21694&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLUS21704&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SCUS97275&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97474&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97340&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97341&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97342&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97442&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97545&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |}<br /> <br /> In PS2 Emulator same Title IDs are present with following information: <br /> SLPS25200 FINAL FANTASY XI : 0x100000000 (4 GB?)<br /> SCUS97269 FINAL FANTASY XI : 0x300000000 (12GB?)<br /> SLPM65981 Front Mission Online : 0x100000000 (4 GB?)<br /> SLPM65197 Nobunagas Ambition Online : 0x200000000 (8 GB?)<br /> <br /> ==Emulators management from GameOS==<br /> <br /> ===Mountpoints===<br /> dev_ps2disc<br /> dev_ps2disc1 <br /> <br /> ===ps2_netemu syscalls ===<br /> <br /> 0x0 - 0 = exec smth, <br /> 1 = 0x132 panic, <br /> 2 = 0x133 panic, <br /> 3 = 0x134 panic,<br /> 4 = 0x135 panic, <br /> else = 0x136 panic)<br /> 0xC - exec smth<br /> 0x5 - exec smth<br /> 0x6 - exec smth<br /> 0x10 - panic<br /> <br /> Basically are [[HV_Syscalls#HV_Syscalls|hvsc syscalls]] (xoris r11, r11, 0x8000)<br /> <br /> 0x80000000 - [[HV_Syscall_Reference#lv1_allocate_memory]]<br /> 0x80000001 - [[HV_Syscall_Reference#lv1_write_htab_entry]]<br /> 0x80000002 - [[HV_Syscall_Reference#lv1_construct_virtual_address_space]]<br /> 0x80000007 - [[HV_Syscall_Reference#lv1_select_virtual_address_space]]<br /> 0x80000009 - [[HV_Syscall_Reference#lv1_pause]]<br /> 0x8000000F - [[HV_Syscall_Reference#lv1_put_iopte]]<br /> 0x80000012 - [[HV_Syscall_Reference#lv1_construct_event_receive_port]]<br /> 0x8000001A - [[HV_Syscall_Reference#lv1_detect_pending_interrupts]]<br /> 0x8000001B - [[HV_Syscall_Reference#lv1_end_of_interrupt]]<br /> 0x8000001C - [[HV_Syscall_Reference#lv1_connect_irq_plug]]<br /> 0x80000039 - [[HV_Syscall_Reference#lv1_construct_logical_spe]]<br /> 0x8000003D - [[HV_Syscall_Reference#lv1_set_spe_interrupt_mask]]<br /> 0x80000042 - [[HV_Syscall_Reference#lv1_clear_spe_interrupt_status]]<br /> 0x80000043 - [[HV_Syscall_Reference#lv1_get_spe_interrupt_status]]<br /> 0x80000045 - [[HV_Syscall_Reference#lv1_get_logical_ppe_id]]<br /> 0x80000049 - [[HV_Syscall_Reference#lv1_set_interrupt_mask]]<br /> 0x8000004A - [[HV_Syscall_Reference#lv1_get_logical_partition_id]]<br /> 0x8000004E - [[HV_Syscall_Reference#lv1_get_spe_irq_outlet]]<br /> 0x8000005B - [[HV_Syscall_Reference#lv1_get_repository_node_value]]<br /> 0x8000005F - [[HV_Syscall_Reference#lv1_read_htab_entries]]<br /> 0x80000061 - [[HV_Syscall_Reference#lv1_set_vmx_graphics_mode]]<br /> 0x80000062 - [[HV_Syscall_Reference#lv1_set_thread_switch_control_register]]<br /> 0x80000074 - [[HV_Syscall_Reference#lv1_allocate_io_segment]]<br /> 0x80000076 - [[HV_Syscall_Reference#lv1_allocate_ioid]]<br /> 0x80000078 - [[HV_Syscall_Reference#lv1_construct_io_irq_outlet]]<br /> 0x8000007C - [[HV_Syscall_Reference#lv1_undocumented_function_124]]<br /> 0x8000007D - [[HV_Syscall_Reference#lv1_undocumented_function_125]]<br /> 0x8000007E - [[HV_Syscall_Reference#lv1_undocumented_function_126]]<br /> 0x80000088 - [[HV_Syscall_Reference#lv1_undocumented_function_136]]<br /> 0x8000008C - [[HV_Syscall_Reference#lv1_construct_lpm]]<br /> 0x8000008D - [[HV_Syscall_Reference#lv1_destruct_lpm]]<br /> 0x8000008E - [[HV_Syscall_Reference#lv1_start_lpm]]<br /> 0x8000008F - [[HV_Syscall_Reference#lv1_stop_lpm]]<br /> 0x80000090 - [[HV_Syscall_Reference#lv1_copy_lpm_trace_buffer]]<br /> 0x80000091 - [[HV_Syscall_Reference#lv1_add_lpm_event_bookmark]]<br /> 0x80000092 - [[HV_Syscall_Reference#lv1_delete_lpm_event_bookmark]]<br /> 0x80000093 - [[HV_Syscall_Reference#lv1_set_lpm_interrupt_mask]]<br /> 0x80000094 - [[HV_Syscall_Reference#lv1_get_lpm_interrupt_status]]<br /> 0x80000095 - [[HV_Syscall_Reference#lv1_set_lpm_general_control]]<br /> 0x80000096 - [[HV_Syscall_Reference#lv1_set_lpm_interval]]<br /> 0x80000097 - [[HV_Syscall_Reference#lv1_set_lpm_trigger_control]]<br /> 0x80000098 - [[HV_Syscall_Reference#lv1_set_lpm_counter_control]]<br /> 0x80000099 - [[HV_Syscall_Reference#lv1_set_lpm_group_control]]<br /> 0x8000009A - [[HV_Syscall_Reference#lv1_set_lpm_debug_bus_control]]<br /> 0x8000009B - [[HV_Syscall_Reference#lv1_set_lpm_counter]]<br /> 0x8000009C - [[HV_Syscall_Reference#lv1_set_lpm_signal]]<br /> 0x8000009D - [[HV_Syscall_Reference#lv1_set_lpm_spr_trigger]]<br /> 0x800000A3 - [[HV_Syscall_Reference#lv1_write_virtual_uart]]<br /> 0x800000A4 - [[HV_Syscall_Reference#lv1_set_virtual_uart_param]]<br /> 0x800000A5 - [[HV_Syscall_Reference#lv1_get_virtual_uart_param]]<br /> 0x800000A6 - [[HV_Syscall_Reference#lv1_configure_virtual_uart_irq]]<br /> 0x800000AA - [[HV_Syscall_Reference#lv1_open_device]]<br /> 0x800000AB - [[HV_Syscall_Reference#lv1_close_device]]<br /> 0x800000AC - [[HV_Syscall_Reference#lv1_map_device_mmio_region]]<br /> 0x800000AE - [[HV_Syscall_Reference#lv1_allocate_device_dma_region]]<br /> 0x800000AF - [[HV_Syscall_Reference#lv1_free_device_dma_region]]<br /> 0x800000B0 - [[HV_Syscall_Reference#lv1_map_device_dma_region]]<br /> 0x800000B1 - [[HV_Syscall_Reference#lv1_unmap_device_dma_region]]<br /> 0x800000B2 - [[HV_Syscall_Reference#lv1_read_pci_config]]<br /> 0x800000B3 - [[HV_Syscall_Reference#lv1_write_pci_config]]<br /> 0x800000C5 - [[HV_Syscall_Reference#lv1_connect_interrupt_event_receive_port]]<br /> 0x800000CF - [[HV_Syscall_Reference#lv1_enable_logical_spe]]<br /> 0x800000D2 - [[HV_Syscall_Reference#lv1_gpu_open]]<br /> 0x800000D4 - [[HV_Syscall_Reference#lv1_gpu_device_map]]<br /> 0x800000D6 - [[HV_Syscall_Reference#lv1_gpu_memory_allocate]]<br /> 0x800000D9 - [[HV_Syscall_Reference#lv1_gpu_context_allocate]]<br /> 0x800000DD - [[HV_Syscall_Reference#lv1_gpu_context_iomap]]<br /> 0x800000E1 - [[HV_Syscall_Reference#lv1_gpu_context_attribute]]<br /> 0x800000E3 - [[HV_Syscall_Reference#lv1_gpu_context_intr]]<br /> 0x800000E4 - [[HV_Syscall_Reference#lv1_gpu_attribute]]<br /> 0x800000F5 - [[HV_Syscall_Reference#lv1_storage_read]]<br /> 0x800000F6 - [[HV_Syscall_Reference#lv1_storage_write]]<br /> 0x800000F9 - [[HV_Syscall_Reference#lv1_storage_get_async_status]]<br /> <br /> ===LPAR / AUTH ID's===<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Name !! Auth ID !! Self&lt;br /&gt;(/dev_flash/ps2emu) !! Notes<br /> |-<br /> | PS2_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_emu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2 || 0x107000001D000001 || <br /> |-<br /> | PS2_GX_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_gxemu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2_GX || 0x107000001D000001 || <br /> |-<br /> | PS2_SW_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_softemu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2_SW || 0x107000001D000001 || <br /> |-<br /> | PS2_NE_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_netemu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2_NE || 0x107000001D000001 || <br /> |-<br /> |}<br /> <br /> ====boot_ps2====<br /> http://foxbrew.org/ps3/otheros-utils/boot_ps2.git &lt;br /&gt;<br /> http://www.multi...upload.com/QKK7ETPHXZ boot_ps2-src.rar (1.43 KB) &lt;br /&gt;<br /> http://www.multi...upload.com/YCZ63Y6TQ5 boot_ps2.pkg (69.17 KB) &lt;br /&gt;<br /> <br /> any chance of having this package resigned for 4.21 cfw? might be useful to see if it'll boot ps2_netemu.self LPAR.<br /> <br /> (can boot ps2lpar, but also petitboot if otheros installed! 50:50 chance)<br /> <br /> [http://rghost.net/42586725 boot_ps2 4.xx eboots.zip (153 KB)] &lt;br /&gt; installing 3.55 pkg and replacing the eboot and editing the sfo should work.<br /> <br /> ===Getting compatibility hardware info===<br /> See: [[PS2_Compatibility#Software]]<br /> <br /> ===ps2bootparam.dat===<br /> A file created at path: dev_hdd0/tmp/game/'''ps2bootparam.dat'''<br /> *See: [[ps2bootparam.dat]]&lt;!--we need this page because we have others like that in wiki--&gt;<br /> <br /> ===Cobra core===<br /> taken from storage_ext.c<br /> &lt;pre&gt; patch_ps2emu_entry(ps2emu_type); &lt;/pre&gt;<br /> *sets proper ps2_(gx/soft)emu.self path for reboot<br /> *patches ss_storage service 0x5004 disc checks on ss_server3.self inside lv1<br /> (Change from Parameter li r3, 2 and li r3, 1E (Drive Authentification) to li r3, 0x29 (Reset Drive))<br /> *and the usual either replace read/ioctl for iso etc.<br /> <br /> ==Game CONFIG==<br /> Some of the PS2 emulator types (such ps2_gxemu.self, ps2netemu.self) are able to load config commands that are applyed &quot;by game ID&quot;. The concept of &quot;game patches&quot; is not technically correct because some of the commands does patching functions but others does other things (not patching), and other commands works as switches or sets a value that are enviromental settings for the emulator (not for the game) but because are applyed &quot;by game&quot; should be considered enviromental settings for that specific game, so for simplification purposes you can think in all this data as &quot;game configs&quot;<br /> <br /> This &quot;game config&quot; data seems to work in the same way for all the PS2 emulator types but can be located in different places, some are hardcoded inside the emulators itself (inside the .self), and at the time the &quot;PS2 classics&quot; emulator (ps2_netemu.self) was developed this config can be loaded from an external file&lt;!--and there is some more inside some .sprx or inside the ps2 hdd data pkg ?--&gt;<br /> <br /> In short, the &quot;game configs&quot; can modify the game image (by patching it) and can be used to configure the virtual PS2 (the emulated machine). And can be loaded from hardcoded data (inside the .self) or from an external file (this feature is supported only by ps2_netemu.self)<br /> <br /> The config data consists in a list of concatenated values of 8 bytes lenght (uint32_t), and can be processed like this:<br /> union{<br /> uint32_t command<br /> ...data...<br /> }<br /> <br /> ===Config Commands===<br /> ps2_netemu.self fw4.50 sub_12D7D8, fw4.81 sub_12E050<br /> params are uint32_t unless noted.<br /> <br /> At the time of writing this, most of the commands are completely or partially unknown.&lt;br /&gt;<br /> If you want to read some speculation and brainstorming about them, please join the {{talk}} page<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! CMD ID !! Example !! Notes<br /> |-<br /> | 0x00|||| Copy following title id for enforcing if available + end config<br /> |-<br /> | 0x01|||| 2x uint32_t Params ( addr, func_id 0-0x3B) - EE_ADD_HOOK<br /> [Grand Theft Auto 3 (EU)] uses 0x349790, 0x10 (somewhat floats related)<br /> [Max Payne] uses 0x52E9F4, 3 and 0x52EB78, 2 (set lwsync 0)<br /> Maximum Amount of Usage: ?<br /> (The command is used 3 times consecutively by SLUS-20565 (Champions of Norrath) and SLUS-21494 (Need for Speed Carbon)<br /> game configs hardcoded inside ps2_gxemu.self)<br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> !Function ID!! Notes<br /> |-<br /> |0x00|| <br /> |-<br /> |0x01|| <br /> |-<br /> |0x02|| <br /> Max Payne<br /> sets some sync off?<br /> |-<br /> |0x03|| <br /> Max Payne<br /> sets some sync on?<br /> |-<br /> |0x04|| <br /> |-<br /> |0x05|| <br /> |-<br /> |0x06|| <br /> |-<br /> |0x07|| <br /> |-<br /> |0x08||<br /> |-<br /> |0x09|| <br /> |-<br /> |0x0A|| <br /> |-<br /> |0x0B|| <br /> |-<br /> |0x0C|| <br /> |-<br /> |0x0D|| usleep(100)<br /> |-<br /> |0x0E||<br /> |-<br /> |0x0F|| <br /> GTA 3 (US)<br /> using 0x348B40, 0x18E1F0, 0x348EC8 ( + 200000000 base )<br /> |-<br /> |0x10|| <br /> GTA 3 (EU)<br /> using 0x349790, 0x18E1F0, 0x349B18 ( + 200000000 base )<br /> |-<br /> |0x11|| <br /> GTA 3 (JP/AS)?<br /> using 0x3495C0, 0x18E1F0, 0x349948 ( + 200000000 base )<br /> |-<br /> |0x12|| <br /> condition ...<br /> store 0 in [ 0x204FC500 + 200000000 base]<br /> |-<br /> |0x13|| <br /> |-<br /> |0x14|| <br /> |-<br /> |0x15|| <br /> |-<br /> |0x16|| <br /> store 0x01114BA8 in [ 0x208EAB4C + 200000000 base]<br /> store 0x010C9E40 in [ 0x208EAB6C + 200000000 base]<br /> |-<br /> |0x17|| <br /> condition r18 == 0x8000<br /> setting:<br /> stores 0x40490FDA somewhere <br /> Note: 0x40490FDA (3.14159250) is the highest float approximation to π in hexadecimal without going over the value.&lt;br /&gt;<br /> Probably can improve FPU accuracy for some games.<br /> |-<br /> |0x18||<br /> condition [ 0x20183F04 + 200000000 base ] == 0x0C060F2C <br /> setting:<br /> stores 0 in address 0x20183F04, 0x20183F34, 0x20183F3C ( + 0x200000000 base )<br /> 0x183F0C, sub_46334 (4.70)<br /> 0x183F3C, sub_45DA4 (4.70)<br /> 0x183D74, sub_47B50 (4.70)<br /> |-<br /> |0x19|| <br /> |-<br /> |0x1A|| <br /> store 0 in [ 0x209FD560 + 200000000 base]<br /> store 0 in [ 0x209F9550 + 200000000 base]<br /> store 0 in [ 0x20A01570 + 200000000 base]<br /> store 0 in [ 0x209F9540 + 200000000 base]<br /> store 0 in [ 0x209F5540 + 200000000 base]<br /> store 0 in [ 0x209F1530 + 200000000 base]<br /> |-<br /> |0x1B|| store 0 in [ 0x20552168 + 200000000 base]<br /> |-<br /> |0x1C|| store 1 in [ 0x20552168 + 200000000 base]<br /> |-<br /> |0x1D|| store 0 in [ 0x20556C08 + 200000000 base]<br /> |-<br /> |0x1E|| store 1 in [ 0x20556C08 + 200000000 base]<br /> |-<br /> |0x1F|| store 0 in [ 0x205243D8 + 200000000 base]<br /> |-<br /> |0x20|| store 1 in [ 0x205243D8 + 200000000 base]<br /> |-<br /> |0x21|| store 0 in [ 0x20524F88 + 200000000 base]<br /> |-<br /> |0x22|| store 1 in [ 0x20524F88 + 200000000 base]<br /> |-<br /> |0x23|| store 0 in [ 0x2047E7F8 + 200000000 base]<br /> |-<br /> |0x24|| store 1 in [ 0x2047E7F8 + 200000000 base]<br /> |-<br /> |0x25|| store 0 in [ 0x204802B8 + 200000000 base]<br /> |-<br /> |0x26|| store 1 in [ 0x204802B8 + 200000000 base]<br /> |-<br /> |0x27|| store 0 in [ 0x20586348 + 200000000 base]<br /> |-<br /> |0x28|| store 1 in [ 0x20586348 + 200000000 base]<br /> |-<br /> |0x29|| store 0 in [ 0x205868A8 + 200000000 base]<br /> |-<br /> |0x2A|| store 1 in [ 0x205868A8 + 200000000 base]<br /> |-<br /> |0x2B|| <br /> |-<br /> |0x2C|| <br /> |-<br /> |0x2D|| <br /> |-<br /> |0x2E|| <br /> |-<br /> |0x2F|| condition [ 0x37B0C4 + 200000000 base ] == 0 -&gt; 00 10 0B 98 <br /> |-<br /> |0x30|| condition [ 0x37B704 + 200000000 base ] == 0 -&gt; 00 10 0B 98 <br /> |-<br /> |0x31|| condition [ 0x37630C + 200000000 base ] == 0 -&gt; 00 10 0B A8 <br /> |-<br /> |0x32|| condition [ 0x37BB0C + 200000000 base ] == 0 -&gt; 00 10 0B A8 <br /> |-<br /> |0x33|| <br /> |-<br /> |0x34|| not filled<br /> |-<br /> |0x35|| <br /> |-<br /> |0x36|| <br /> |-<br /> |0x37|| <br /> |-<br /> |0x38||<br /> |-<br /> |0x39|| <br /> |-<br /> |0x3A|| <br /> |-<br /> |0x3B|| GTA 3 (JP/AS) ? using 0x351210, 0x18F590, 0x351568 ( + 200000000 base )<br /> |}<br /> |-<br /> |0x02|||| 1 Param, Config file revision ?<br /> |-<br /> |0x03|||| 0 Param, sets something 0 (Fire Pro Wrestling Returns)<br /> |-<br /> |0x04|||| 1 Param uint32_t index (i*0x80, special 0x12345: 0x91a280?)<br /> |-<br /> |0x05|||| read next command<br /> |-<br /> |0x06|||| 0 Param, sets something 0x14F80 (85888'd)<br /> |-<br /> |0x07|||| 1 Param uint32_t (default 1)<br /> Delay VU xgkick by X cycles<br /> |-<br /> |0x08|||| 8 Param uint32_t (read mask,read mask, original opcode, original opcode, write mask, write mask, replace opcode, replace opcode)<br /> Maximum Amount of Usage: 3 times<br /> Patch VU memory by mask <br /> Mask = F - read/write, 0 - Not read/write, 8 - ignore 4 bytes, E - seems to be used as last character before wildcards (Superman returns).<br /> |-<br /> |0x09|||| uint32_t count, &lt;list&gt; (offset, original opcode, original opcode, replace opcode, replace opcode) - EE_INSN_REPLACE64<br /> [Dark Cloud] uses 1<br /> [Dead Or Alive 2 Hardcore] uses 1<br /> Maximum List Count: 32<br /> |-<br /> |0x0A|||| uint32_t count, &lt;List&gt; (offset, original opcode, replace opcode) - EE_INSN_REPLACE32<br /> [Deadly Strike] uses 1<br /> [Dragon Force] uses 2<br /> Maximum List Count: 32<br /> |-<br /> |0x0B|||| 1 Param uint32_t count, &lt;List&gt; {sector id, offset, sizeof present opcodes, replace opcodes, original opcodes} - MECHA_SET_PATCH<br /> offset on disc = sector id * sector size + offset (-0xC)<br /> [Dead Or Alive 2 Hardcore] uses 7<br /> [Gradius V] uses 1<br /> [Grand Theft Auto III] uses 1<br /> [Katamari Damacy] uses 1<br /> [Manhunt] uses 1<br /> [Odin Sphere] uses 2<br /> [Primal] uses 1<br /> [Psychonauts] uses 1<br /> [Syphon Filter The Omega Strain] uses 1<br /> Maximum List Count: 47<br /> |-<br /> |0x0C|||| 1 Param (uint16_t, uint16_t) --- 0/1/2,&lt;0x63&gt;<br /> |-<br /> |0x0D|||| 1 Param, true/false?<br /> Default Init = 1?<br /> 0 == skip some code, <br /> 1 == some code + checks<br /> |-<br /> |0x0E|||| 1 Param offset --- Improves ADD/SUB accuracy for selected offset (incl. Floats) <br /> [Rygar] only has 0x147DA8 sub.s $f12, $f20, $f12<br /> Maximum Amount of Usage: 31 times<br /> |-<br /> |0x0F|||| List &lt;uint32_t Param, uint32_t Param&gt; --- More accurate memory range (FPU mul/div/sub/add accuracy related) <br /> [Dark Cloud] uses 0x239334, 0x1FFFFFF<br /> [Grand Theft Auto SA] uses 0x1E46DC, 0x1E4AE8<br /> Maximum List Count: 31 <br /> |-<br /> |0x10|||| List &lt;uint32_t Param, uint32_t Param&gt; --- More accurate memory range (COP2, mul/div/sub/add accuracy related) - MULDIV_Accurate_range<br /> Maximum List Count: 31 <br /> |-<br /> |0x11|||| 1x uint32_t Param. ADD/SUB accuracy related, all emulated ADD/SUB instruction variations check that value. Param seems to be VU memory offset (need confirmation).<br /> Maximum Amount of Usage: 31 times<br /> |-<br /> |0x12|||| &lt;List&gt; (uint32_t count,<br /> [Primal] uses 0xD<br /> [Rayman Arena] uses 0x11<br /> [Syphon Filter: The Omega Strain] uses 0x5<br /> 00 00 00 0?<br /> 00 00 00 00<br /> type? count?<br /> ... <br /> Maximum List Count: 63 <br /> |-<br /> | 0x13|||| 1x uint64_t Param<br /> |-<br /> | 0x14|||| 0 Param, sets something 1<br /> |-<br /> | 0x15|| 4 || 1 Param ( &lt;1, &gt;1 ), different settings/mode?<br /> [Bloodrayne 2] uses 4<br /> [GRIMgRiMoiRe] uses 4<br /> [Mana Khemia 2] uses 4<br /> [Odin Sphere] uses 4<br /> [SMT Persona 3 FES] uses 4<br /> |-<br /> | 0x16|||| = 0x05 (next id)<br /> |-<br /> | 0x17||1 || 1 Param, true/false?<br /> [Bully] uses 1<br /> |-<br /> | 0x18|||| = 0x16 = 0x05 (next id)<br /> |-<br /> | 0x19 |||| 0 Param, sets something 1 --- SB_SIO2 related?<br /> [Grand Theft Auto III]<br /> [Red Faction 2]<br /> [Siren]<br /> |-<br /> | 0x1A|||| 0 Param, sets something 1<br /> |-<br /> | 0x1B|||| 0 Param, sets something 1<br /> [Mana Khemia 2]<br /> |-<br /> | 0x1C |||| read uint32_t (use uint8_t) Param (default 3)<br /> |-<br /> | 0x1D |||| read uint32_t (use uint8_t) Param <br /> |-<br /> | 0x1E |||| read uint32_t (use uint8_t) Param <br /> |-<br /> | 0x1F |||| uint32_t Param (default 0x3E8?)<br /> |-<br /> | 0x20|||| uint64_t Param (default 0x3C)<br /> |-<br /> | 0x21|| 1 || 1 Param: <br /> 0 = sets an option from 1 to 0 and another one to 0,<br /> 1 = sets an option from 1 to 0 and another one to 1,<br /> 2 = sets an option from 1 to 1 and another one to 0<br /> [Fatal Frame II] uses 0<br /> [Grand Theft Auto Vice City] uses 1<br /> [Grand Theft Auto III (EU)] uses 1<br /> [SMT Persona 3 FES] uses 0<br /> |-<br /> | 0x22|||| 0 Param, sets something 1<br /> |-<br /> | 0x23|||| 0 Param --- memcpy 0x100 Bytes and sets 0x14E00<br /> |-<br /> | 0x24|||| uint64_t Param<br /> |-<br /> | 0x25|||| = 0x18 = 0x16 = 0x05 (next id)<br /> |-<br /> | 0x26|||| List &lt;uint32_t Param,uint32_t Param&gt; --- Improves ADD/SUB accuracy for selected memory range (incl. Floats) - FPU_Accurate_range<br /> <br /> [Bloodrayne 2] uses 0x340000, 0x350000<br /> [Gradius V] uses 0x3046E0, 0x0x305E44<br /> Maximum List Count: 31 <br /> Maximum Amount of Usage: ??<br /> The command is used 4 times consecutively by [Strawberry Shortcake: The Sweet Dreams]<br /> SLES-54309 (EU) and<br /> SLUS-21497 (US) game configs hardcoded inside ps2_gxemu.self<br /> |-<br /> | 0x27|||| List &lt;uint32_t Param,uint32_t Param&gt; --- Improves COP2 operations accuracy for selected memory range - VU0 macromode accurate range<br /> Maximum List Count: 31 <br /> |-<br /> | 0x28|||| 1x uint32_t Param (&lt;=3)<br /> |-<br /> | 0x29 |||| 2x uint32_t Param,<br /> |-<br /> | 0x2A|||| 0 Param, sets something 1<br /> |-<br /> | 0x2B|||| 0 Param, sets something 1 --- Allow disc eject/swap?<br /> Dance Factory<br /> |-<br /> | 0x2C |||| 1 Param, uint32_t<br /> Summoner uses 0x1<br /> |-<br /> | 0x2D |||| = 0x25 = 0x18 = 0x16 = 0x05 (next id)<br /> |-<br /> | 0x2E |||| 1 Param, uint32_t<br /> |-<br /> | 0x2F |||| 1 Param, uint32_t --- SPU2 related?<br /> Indigo Prophecy/Fahrenheit uses 0x1 <br /> |-<br /> | 0x30|||| (nothing)<br /> |-<br /> | 0x31|||| (nothing)<br /> |-<br /> | 0x32|||| (nothing)<br /> |-<br /> | 0x33|||| (nothing)<br /> |-<br /> | 0x34|||| (nothing)<br /> |-<br /> | 0x35|||| 0 Param --- Enables Force Flip Field, described in emu setting as &quot;''Fix for [Hang] for soft-lock''&quot;<br /> |-<br /> | 0x36|||| (nothing)<br /> |-<br /> | 0x37|||| (nothing)<br /> |-<br /> | 0x38|||| (nothing)<br /> |-<br /> | 0x39 |||| (nothing)<br /> |-<br /> | 0x3A|||| (nothing)<br /> |-<br /> | 0x3B|||| (nothing)<br /> |-<br /> | 0x3C |||| (nothing)<br /> |-<br /> | 0x3D |||| 1 Param, uint32_t Config file revision<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Firmware !! ps2_netemu Revision !! Max Supported Commands<br /> |-<br /> | 3.70 || 15686 || 0x41<br /> |-<br /> | 3.73 || 15936 || 0x41<br /> |-<br /> | 3.74 || 15936 || 0x41<br /> |-<br /> | 4.00 || 16195 || 0x41<br /> |-<br /> | 4.01 || 16195 || 0x41<br /> |-<br /> | 4.10 || 16361 || 0x41<br /> |-<br /> | 4.11 || 16361 || 0x41<br /> |-<br /> | 4.20 || 16604 || 0x43<br /> |-<br /> | 4.21 || 16604 || 0x43<br /> |-<br /> | 4.23 || 16604 || 0x43<br /> |-<br /> | 4.25 || 16740 || 0x43<br /> |-<br /> | 4.26 || 16740 || 0x43<br /> |-<br /> | 4.30 || 16808 || 0x45<br /> |-<br /> | 4.31 || 16808 || 0x45<br /> |-<br /> | 4.40 || 16916 || 0x46<br /> |-<br /> | 4.41 || 16916 || 0x46<br /> |-<br /> | 4.45 || 17041 || 0x48<br /> |-<br /> | 4.46 || 17041 || 0x48<br /> |-<br /> | 4.50 || 17179 || 0x4A<br /> |-<br /> | 4.55 || 17277 || 0x4D<br /> |- <br /> |4.60&lt;br /&gt;<br /> 4.70&lt;br /&gt;<br /> 4.75&lt;br /&gt;<br /> 4.76&lt;br /&gt;<br /> || 17314 || 0x4D<br /> |- <br /> |4.78&lt;br /&gt;<br /> 4.80&lt;br /&gt;<br /> 4.81&lt;br /&gt;<br /> || 17495 || 0x50<br /> |- <br /> |}<br /> |-<br /> | 0x3E |||| 0 Params --- Sets something 1<br /> Default Init = 0<br /> 0 == do set some stuff, <br /> 1 == skip<br /> |-<br /> | 0x3F |||| 1 Param, uint32_t<br /> |-<br /> | 0x40|||| 0 Param --- Sets something 1<br /> Grand Theft Auto SA<br /> Silent Hill Origins - unofficial fix<br /> |-<br /> | 0x41|||| 0 Param --- Sets something 1 (Disables some lwsync - speedhack?)<br /> Dragon Force<br /> God Hand<br /> Gradius V<br /> Katamari Damacy<br /> |-<br /> | 0x42|||| 2 Param: uint32_t address, uint32_t count --- Overlay area? <br /> |-<br /> | 0x43|||| 1 Param --- Equal to 0x40, but with Parameter:<br /> 0 = Default<br /> 1 = (like 0x40)<br /> param = <br /> -1 = failure?<br /> |-<br /> | 0x44|||| 0 Param --- Disables Smoothing and Smoothing option<br /> |-<br /> | 0x45|||| 0 Param --- Sets something 1<br /> Phantasy Star Complete Collection<br /> |-<br /> | 0x46|||| 0 Param --- Enables L2H Improvement, [Performance] related setting for titles using L2H<br /> SMT Digital Devil Saga 1<br /> SMT Nocturne<br /> Fatal Frame II<br /> |-<br /> | 0x47|||| 0 Param --- Enables XOR CSR - XOR System Status Register (0x12001000)?, [Graphics] related setting, should fix fullscreen line corruption<br /> |-<br /> | 0x48|||| VSYNC Delay, 2x uint32_t Param<br /> *First param possible value are 1 = No IPU, 2 = IPU, 3 = Anytime.<br /> *Second param is delay (in ms?), and can be also negative value.<br /> **Emu has standard presets for second param.<br /> ***Agressive = 0x3D090 (250000 decimal),<br /> ***Normal = 0x186A0 (100000 decimal),<br /> ***Conservative = 0x4E20 (20000 decimal),<br /> ***But other values can be used.<br /> [SMT Digital Devil Saga 1] uses 1, 0x3D090<br /> [Fatal Frame II] uses 0x2, 0xFFFFE69C (-6500 decimal)<br /> |-<br /> | 0x49|||| 0 Param --- Sets something 0xB,0,0<br /> |-<br /> | 0x4A|||| 0 Param --- Sets something 0x15100<br /> |-<br /> | 0x4B|||| 2x uint32_t Params: offset,int (-1? selects different titleid?) - /game/ /../ USRDIR/SAVEDATA related<br /> |-<br /> | 0x4C|||| 2x uint32_t Params: offset,int (2 = current path?, 3 = new ISO.BIN.ENC path?, other= ?)<br /> |-<br /> | 0x4D|||| 1 uint32_t Param (can be -1) --- Sets something (same as 0x49 but) 0xC, Param, 0<br /> |-<br /> | 0x4E|||| (nothing)<br /> |-<br /> | 0x4F|||| (nothing)<br /> |-<br /> | 0x50|||| 0 Param --- Switch to default gamepad config ?<br /> |-<br /> |}<br /> <br /> ===Config file examples (for netemu)===<br /> <br /> ====Official====<br /> {| class=&quot;wikitable sortable&quot; style=&quot;width: 1920px;&quot; | <br /> |-<br /> ! Title ID !! Title !! Config Data !! Revision !! Notes<br /> |-<br /> | style=&quot;width: 5px;&quot; | NPUD20461 || Bloodrayne || style=&quot;width: 650px;&quot; | <br /> 00000000 3D 00 00 00 46 3E 00 00 16 00 00 00 0B 00 00 00 =...F&gt;..........<br /> 00000010 04 00 00 00 07 01 00 00 C0 02 00 00 10 00 00 00 ........+.......<br /> 00000020 00 09 3C 52 52 3C 09 00 03 1F 90 14 14 90 1F 03 ..&lt;RR&lt;....É..É..<br /> 00000030 00 09 3C 52 52 3C 09 00 03 20 C0 04 04 C0 20 03 ..&lt;RR&lt;... +..+ .<br /> 00000040 56 A0 09 00 10 00 00 00 04 00 00 00 00 00 90 01 Vá............É.<br /> 00000050 FA 0F BD 01 21 39 07 00 B8 06 00 00 28 00 00 00 ·.¢.!9..©...(...<br /> 00000060 35 4A 02 02 00 0A 54 38 35 4A 62 7E 34 A5 00 A0 5J....T85Jb~4Ñ.á<br /> 00000070 3C 09 00 1B 35 29 FA 00 00 09 4C 38 35 29 02 02 &lt;...5)·...L85)..<br /> 00000080 00 09 4C 38 35 29 62 7E 35 4A 02 03 00 0A 54 38 ..L85)b~5J....T8<br /> 00000090 35 4A 22 7E 34 A5 00 A0 3C 09 00 1B 35 29 FA 00 5J&quot;~4Ñ.á&lt;...5)·.<br /> 000000A0 00 09 4C 38 35 29 02 03 00 09 4C 38 35 29 22 7E ..L85)....L85)&quot;~<br /> 000000B0 27 39 07 00 80 03 00 00 24 00 00 00 35 6B 02 02 '9..Ç...$...5k..<br /> 000000C0 00 0B 5C 38 35 6B 62 7E 3C 0C 00 1B 35 8C FA 00 ..\85kb~&lt;...5î·.<br /> 000000D0 00 0C 64 38 35 8C 02 02 00 0C 64 38 35 8C 62 7E ..d85î....d85îb~<br /> 000000E0 35 6B 02 03 00 0B 5C 38 35 6B 22 7E 3C 0C 00 1B 5k....\85k&quot;~&lt;...<br /> 000000F0 35 8C FA 00 00 0C 64 38 35 8C 02 03 00 0C 64 38 5î·...d85î....d8<br /> 00000100 35 8C 22 7E 5î&quot;~<br /> || 15942 (4.00+) ||<br /> 0x3D =&gt; 0x3E46 (15942)<br /> 0x16 =&gt; 0xB =&gt; 4<br /> 0x107, (sector)<br /> 0x2C0, (offset -&gt; 0x1072B4 in iso)<br /> 0x10, <br /> 0x523C0900, (beql s1, gp, ?)<br /> 0x00093C52, (mflo a3)<br /> 0x14901F03, (bne a0, s0, ?)<br /> 0x031F9014, (dsllv s2, ra, t8)<br /> 0x523C0900, (beql s1, gp, ?)<br /> 0x00093C52, (mflo a3)<br /> 0x04C02003, (bltz a2, ?)<br /> 0x0320C004 (sllv t8, zero, t9)<br /> 0x9A056, (sector)<br /> 0x10, (offset -&gt; 0x4D02B004 in iso)<br /> 0x04, <br /> 0x01900000 (sll zero, s0, 0x00?), <br /> 0x01BD0FFA (dsrl at,sp,0x1F?)<br /> 0x73921, (sector)<br /> 0x6B8, (offset -&gt; 0x39C90EAC in iso)<br /> 0x28, <br /> 21 39 07 00 addi t9,t1,0x0700<br /> B8 06 00 00 swr a2,(zero)<br /> 28 00 00 00 slti zero,0x0000<br /> 35 4A 02 02 ori t2,0x202<br /> 00 0A 54 38 dsll t2,0x10<br /> 35 4A 62 7E ori t2,0x627E<br /> 34 A5 00 A0 ori a1,0xA0<br /> 3C 09 00 1B lui t1,0x001B<br /> 35 29 FA 00 ori t1,0xFA00<br /> 00 09 4C 38 dsll t1,0x10<br /> 35 29 02 02 ori t1,0x202<br /> 00 09 4C 38 dsll t1,0x10<br /> 35 29 62 7E ori t1,0x627E<br /> 35 4A 02 03 ori t2,0x203<br /> 00 0A 54 38 dsll t2,0x10<br /> 35 4A 22 7E ori t2,0x227E<br /> 34 A5 00 A0 ori a1,0xA0<br /> 3C 09 00 1B lui t1,0x001B<br /> 35 29 FA 00 ori t1,0xFA00<br /> 00 09 4C 38 dsll t1,0x10<br /> 35 29 02 03 ori t1,0x203<br /> 00 09 4C 38 dsll t1,0x10<br /> 35 29 22 7E ori t1,0x227E<br /> 0x73927, (sector)<br /> 0x380, (offset -&gt; 0x39C93B74 in iso)<br /> 0x24, <br /> 35 6B 02 02 ori t3,0x202<br /> 00 0B 5C 38 dsll t3,0x10<br /> 35 6B 62 7E ori t3,0x627E<br /> 3C 0C 00 1B lui t4,0x001B<br /> 35 8C FA 00 ori t4,0xFA00<br /> 00 0C 64 38 dsll t4,0x10<br /> 35 8C 02 02 ori t4,0x202<br /> 00 0C 64 38 dsll t4,0x10<br /> 35 8C 62 7E ori t4,0x627E<br /> 35 6B 02 03 ori t3,0x203<br /> 00 0B 5C 38 dsll t3,0x10<br /> 35 6B 22 7E ori t3,0x227E<br /> 3C 0C 00 1B lui t4,0x001B<br /> 35 8C FA 00 ori t4,0xFA00<br /> 00 0C 64 38 dsll t4,0x10<br /> 35 8C 02 03 ori t4,0x203<br /> 00 0C 64 38 dsll t4,0x10<br /> 35 8C 22 7E ori t4,0x227E<br /> |-<br /> | NPUD20862 || Bloodrayne 2 ||<br /> 00000000 3D 00 00 00 3D 3F 00 00 15 00 00 00 04 00 00 00 =...=?..........<br /> 00000010 26 00 00 00 00 00 34 00 00 00 35 00 00 00 00 00 &amp;.....4...5.....<br /> 00000020 53 4C 55 53 2D 32 30 38 36 32 SLUS-20862<br /> || 16189 (4.00+) ||<br /> 0x3D =&gt; 0x3F3D (16189)<br /> 0x15 =&gt; 4<br /> 0x26 =&gt; 0x340000, 0x350000<br /> |-<br /> | NPUD21269 || Bully ||<br /> 00000000 3D 00 00 00 89 3D 00 00 17 00 00 00 01 00 00 00 =....=..........<br /> 00000010 00 00 00 00 53 4C 55 53 2D 32 31 32 36 39 ....SLUS-21269<br /> || 15753 (3.73+) ||<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x17 =&gt; 1<br /> |-<br /> | NPJD00004 || Contra Shattered Soldier || <br /> 00000000 3D 00 00 00 BF 3F 00 00 0A 00 00 00 12 00 00 00 =...+?..........<br /> 00000010 A0 FF 0F 00 00 00 00 00 10 00 01 3C A4 FF 0F 00 á .........&lt;ñ ..<br /> 00000020 00 00 00 00 90 FF 24 8C A8 FF 0F 00 00 00 00 00 ....É $î¿ ......<br /> 00000030 81 00 85 2C AC FF 0F 00 00 00 00 00 06 00 A0 10 ü.à,¼ ........á.<br /> 00000040 B0 FF 0F 00 00 00 00 00 01 00 84 24 B4 FF 0F 00 ¦ ........ä$¦ ..<br /> 00000050 00 00 00 00 90 FF 24 AC B8 FF 0F 00 00 00 00 00 ....É $¼© ......<br /> 00000060 81 00 85 2C BC FF 0F 00 00 00 00 00 02 00 A0 14 ü.à,+ ........á.<br /> 00000070 C0 FF 0F 00 00 00 00 00 00 00 00 00 C4 FF 0F 00 + ..........- ..<br /> 00000080 00 00 00 00 00 07 02 34 C8 FF 0F 00 00 00 00 00 .......4+ ......<br /> 00000090 08 00 E0 03 CC FF 0F 00 00 00 00 00 00 00 00 00 ..Ó.¦ ..........<br /> 000000A0 D0 FF 0F 00 00 00 00 00 10 00 01 3C D4 FF 0F 00 ð .........&lt;È ..<br /> 000000B0 00 00 00 00 08 00 E0 03 D8 FF 0F 00 00 00 00 00 ......Ó.Ï ......<br /> 000000C0 90 FF 20 AC DC FF 0F 00 00 00 00 00 00 00 00 00 É ¼_ ..........<br /> 000000D0 C0 72 42 00 08 00 E0 03 E8 FF 03 08 B4 7C 42 00 +rB...Ó.Þ ..¦|B.<br /> 000000E0 08 00 E0 03 F4 FF 03 08 00 00 00 00 53 4C 50 4D ..Ó.¶ ......SLPM<br /> 000000F0 2D 36 32 32 34 37 -62247<br /> || 16319 (4.10+)||<br /> 0x3D =&gt; 0x3FBF (16319)<br /> 0x0A =&gt; 0x12, <br /> 0xFFFA0,0, 0x3C010010 lui at,0x0010 <br /> 0xFFFA4,0, 0x8C24FF90 lw a0,-0x70(at) <br /> 0xFFFA8,0, 0x2C850081 sltiu a1,a0,0x0081 <br /> 0xFFFAC,0, 0x10A00006 beqz a1,pos_000FFFC8 <br /> 0xFFFB0,0, 0x24840001 addiu a0,0x1 <br /> 0xFFFB4,0, 0xAC24FF90 sw a0,-0x70(at) <br /> 0xFFFB8,0, 0x2C850081 sltiu a1,a0,0x0081 <br /> 0xFFFBC,0, 0x14A00002 bnez a1,pos_000FFFC8 <br /> 0xFFFC0,0, 0x00000000 nop <br /> 0xFFFC4,0, 0x34020700 li v0,0x700 <br /> 0xFFFC8,0, 0x03E00008 jr t9 <br /> 0xFFFCC,0, 0x00000000 nop <br /> 0xFFFD0,0, 0x3C010010 lui at,0x0010 <br /> 0xFFFD4,0, 0x03E00008 jr ra <br /> 0xFFFD8,0, 0xAC20FF90 sw zero,-0x70(at) <br /> 0xFFFDC,0, 0x00000000 nop <br /> 0x4272C0, 0x03E00008 (jr ra), 0x0803FFE8 j pos_000FFFA0<br /> 0x427CB4, 0x03E00008 (jr ra), 0x0803FFF4 j pos_000FFFD0<br /> |-<br /> | NPJC00002 || Dark Cloud ||<br /> 00000000 3D 00 00 00 07 3F 00 00 0F 00 00 00 34 93 23 00 =....?......4.#.<br /> 00000010 FF FF FF 01 09 00 00 00 01 00 00 00 B0 8E 13 00 ................<br /> 00000020 20 00 BF 7F B0 FF BD 27 00 00 00 00 08 00 E0 03 ......'........<br /> 00000030 00 00 00 00 53 43 50 53 2D 31 35 30 30 34 ....SCPS-15004<br /> || 16135 (4.00+)||<br /> 0x3D =&gt; 0x3F07 (16135)<br /> 0x0F =&gt; 0x239334, 0x01FFFFFF<br /> 0x09 =&gt; 1,<br /> 0x138EB0 , <br /> 0x7FBF0020 (sq ra,0x20(sp)),<br /> 0x27BDFFB0 (addiu sp,-0x50),<br /> 0x00000000 (nop),<br /> 0x03E00008 (jr ra)<br /> <br /> 0x239334 = end of code segment?<br /> 0x138EB0 = DrawShadow__10CCharacterFv Function Offset<br /> config 20 00 BF 7F 0x7FBF0020 sq ra, 0x20(sp)<br /> B0 FF BD 27 0x27BDFFB0 addiu sp, -0x50<br /> 00 00 00 00 0x00000000 nop<br /> 08 00 E0 03 0x03E00008 jr ra<br /> |-<br /> | NPUD20071 || Dead Or Alive 2 Hardcore ||<br /> 00000000 3D 00 00 00 F0 42 00 00 0A 00 00 00 01 00 00 00 =....B..........<br /> 00000010 EC 06 2B 00 01 00 06 24 00 00 06 24 0B 00 00 00 ..+....$...$....<br /> 00000020 07 00 00 00 71 6A 18 00 F4 07 00 00 04 00 00 00 ....qj..........<br /> 00000030 0C 00 32 B7 0C 00 32 B3 71 6A 18 00 F4 05 00 00 ..2...2.qj......<br /> 00000040 08 00 00 00 03 E0 00 08 00 00 00 00 27 BD FF F0 ............'...<br /> 00000050 AF BE 00 08 7B 6A 18 00 08 07 00 00 08 00 00 00 ....{j..........<br /> 00000060 03 E0 00 08 00 00 00 00 27 BD FF F0 AF BE 00 08 ........'.......<br /> 00000070 85 6A 18 00 18 01 00 00 08 00 00 00 03 E0 00 08 .j..............<br /> 00000080 00 00 00 00 27 BD FF F0 AF BE 00 08 85 6A 18 00 ....'........j..<br /> 00000090 70 01 00 00 08 00 00 00 03 E0 00 08 00 00 00 00 p...............<br /> 000000A0 27 BD FF F0 AF BE 00 08 85 6A 18 00 C8 01 00 00 '........j......<br /> 000000B0 08 00 00 00 03 E0 00 08 00 00 00 00 27 BD FF F0 ............'...<br /> 000000C0 AF BE 00 08 86 6A 18 00 FC 07 00 00 08 00 00 00 .....j..........<br /> 000000D0 03 E0 00 08 00 00 00 00 27 BD FF F0 AF BE 00 08 ........'.......<br /> 000000E0 00 00 00 00 53 4C 55 53 2D 32 30 30 37 31 ....SLUS-20071 <br /> || 17136 (4.50+) || fixes blackscreen<br /> 0x3D =&gt; 0x42F0 (17136)<br /> 0x0A =&gt; 0x01,<br /> 0x2B06EC, 0x24060001 (li a2,0x1), <br /> 0x24060000 (li a2,0x0)<br /> 0x0B =&gt; 0x07,<br /> 0x186A71, 0x7F4, 0x04, <br /> 0xB732000C (jal -0x2A9B90), <br /> 0xB332000C (jal -0x2A9BA0)<br /> 0x186A71, 0x5F4, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A7B, 0x708, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A85, 0x118, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A85, 0x170, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A85, 0x1C8, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A86, 0x7FC, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp))<br /> <br /> |-<br /> | NPJD00011 || Dead Or Alive 2 Hardcore || <br /> 00000000 3D 00 00 00 89 3D 00 00 09 00 00 00 01 00 00 00 =...ë=..........<br /> 00000010 6C 66 2B 00 80 00 08 24 01 00 06 24 80 00 08 24 lf+.Ç..$...$Ç..$<br /> 00000020 00 00 06 24 0B 00 00 00 07 00 00 00 05 FF 17 00 ...$......... ..<br /> 00000030 F0 07 00 00 0C 00 00 00 27 C4 00 10 0C 00 32 B7 ­.......'-....2À<br /> 00000040 00 00 00 00 24 04 00 2B 0C 00 32 B3 27 C5 00 10 ....$..+..2¦'+..<br /> 00000050 05 FF 17 00 F4 05 00 00 08 00 00 00 03 E0 00 08 . ..¶........Ó..<br /> 00000060 00 00 00 00 27 BD FF F0 AF BE 00 08 0F FF 17 00 ....'¢ ­»¥... ..<br /> 00000070 08 07 00 00 08 00 00 00 03 E0 00 08 00 00 00 00 .........Ó......<br /> 00000080 27 BD FF F0 AF BE 00 08 19 FF 17 00 18 01 00 00 '¢ ­»¥... ......<br /> 00000090 08 00 00 00 03 E0 00 08 00 00 00 00 27 BD FF F0 .....Ó......'¢ ­<br /> 000000A0 AF BE 00 08 19 FF 17 00 70 01 00 00 08 00 00 00 »¥... ..p.......<br /> 000000B0 03 E0 00 08 00 00 00 00 27 BD FF F0 AF BE 00 08 .Ó......'¢ ­»¥..<br /> 000000C0 19 FF 17 00 C8 01 00 00 08 00 00 00 03 E0 00 08 . ..+........Ó..<br /> 000000D0 00 00 00 00 27 BD FF F0 AF BE 00 08 1A FF 17 00 ....'¢ ­»¥... ..<br /> 000000E0 FC 07 00 00 08 00 00 00 03 E0 00 08 00 00 00 00 ³........Ó......<br /> 000000F0 27 BD FF F0 AF BE 00 08 00 00 00 00 53 4C 50 53 '¢ ­»¥......SLPS<br /> 00000100 2D 32 35 30 32 36 -25026<br /> || 15753 (3.73+) || fixes blackscreen<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x09 =&gt; 1,<br /> 0x2B666C, <br /> 0x24080080 (li t0,0x80), <br /> 0x24060001 (li a2,0x1), <br /> 0x24080080 (li t0,0x80), <br /> 0x24060000 (li a2,0x0)<br /> 0x0B =&gt; 7, <br /> 0x17FF05, 0x7F0, 0x0C ,<br /> 0x1000C427 addiu a0,fp,0x10,<br /> 0xB732000C jal -0x2A9B90,<br /> 0x00000000 nop, <br /> 0x2B000424 li a0,0x2B,<br /> 0xB332000C jal -0x2A9BA0,<br /> 0x1000C527 addiu a1,fp,0x10,<br /> 0x17FF05, 0x5F4, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF0F, 0x708, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF19, 0x118, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF19, 0x170, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF19, 0x1C8, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF1A, 0x7FC, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> <br /> 002B666C 01 00 06 24 0x24060001 li a2,0x1<br /> 80 00 08 24 0x24080080 li t0,0x80 <br /> 2D 48 E0 00 0x00E0482D dmove t1,a3<br /> 10 00 0A 24 0x240A0010 li t2,0x10<br /> <br /> config 80 00 08 24 0x24080080 li t0,0x80<br /> 01 00 06 24 0x24060001 li a2,0x1<br /> 80 00 08 24 0x24080080 li t0,0x80<br /> 00 00 06 24 0x24060000 li a2,0x0<br /> |-<br /> | NPED00027 || Deadly Strike ||<br /> 00000000 3D 00 00 00 96 40 00 00 0A 00 00 00 01 00 00 00 =....@..........<br /> 00000010 14 09 1E 00 17 37 01 3C 14 37 01 3C 00 00 00 00 .....7.&lt;.7.&lt;....<br /> 00000020 53 4C 45 53 2D 35 32 39 35 35 SLES-52955<br /> || 16534 (4.20+) ||<br /> 0x3D =&gt; 0x4096 (16534)<br /> 0x0A =&gt; 1 <br /> 0x1E0914, 17 37 01 3C 0x3C013717 li at,0x3717<br /> 14 37 01 3C 0x3C013714 li at,0x3714 <br /> |-<br /> | NPED00087 || Disneys PK: Out of the Shadows ||<br /> <br /> || || blackscreen<br /> <br /> |-<br /> | NPUD21944 || Doras Big Birthday Adventure ||<br /> 00000000 3D 00 00 00 ED 3F 00 00 0A 00 00 00 0A 00 00 00 =....?..........<br /> 00000010 00 FF 0F 00 00 00 00 00 07 00 40 14 04 FF 0F 00 ..........@.....<br /> 00000020 00 00 00 00 10 00 01 3C 08 FF 0F 00 00 00 00 00 .......&lt;........<br /> 00000030 F0 FF 28 8C 0C FF 0F 00 00 00 00 00 20 01 09 2D ..(......... ..-<br /> 00000040 10 FF 0F 00 00 00 00 00 03 00 20 11 14 FF 0F 00 .......... .....<br /> 00000050 00 00 00 00 01 00 08 25 18 FF 0F 00 00 00 00 00 .......%........<br /> 00000060 F0 FF 28 AC 1C FF 0F 00 00 00 00 00 06 00 02 24 ..(............$<br /> 00000070 20 FF 0F 00 00 00 00 00 08 00 E0 03 90 9B 1E 00 ...............<br /> 00000080 08 00 E0 03 C0 FF 03 08 00 00 00 00 53 4C 55 53 ............SLUS<br /> 00000090 2D 32 31 39 34 34 -21944<br /> || 16365 (4.20+) ||<br /> 0x3D =&gt; 0x3FED (16365)<br /> 0x0A =&gt; 0xA,<br /> 0xFFF00,0,0x14400007 bnez v0,pos_000FFF20<br /> 0xFFF04,0,0x3C010010 lui at,0x0010<br /> 0xFFF08,0,0x8C28FFF0 lw t0,-0x10(at)<br /> 0xFFF0C,0,0x2D090120 sltiu t1,t0,0x0120<br /> 0xFFF10,0,0x11200003 beqz t1,pos_000FFF20<br /> 0xFFF14,0,0x25080001 addiu t0,0x1<br /> 0xFFF18,0,0xAC28FFF0 sw t0,-0x10(at)<br /> 0xFFF1C,0,0x24020006 li v0,0x6<br /> 0xFFF20,0,0x03E00008 jr ra<br /> 0x1E9B90, 0x03E00008 (jr ra), 0x0803FFC0 j pos_000FFF00<br /> |-<br /> | NPJD00005 || Dragon Force ||<br /> 00000000 3D 00 00 00 D6 40 00 00 0A 00 00 00 02 00 00 00 =....@..........<br /> 00000010 B4 41 10 00 1C 00 40 10 F9 FF 40 14 BC 41 10 00 .A....@...@..A..<br /> 00000020 1D 00 02 3C 1A 00 40 10 41 00 00 00 00 00 00 00 ...&lt;..@.A.......<br /> 00000030 53 4C 50 4D 2D 36 35 37 37 38 SLPM-65778<br /> || 16598 (4.20+) ||<br /> 0x3D =&gt; 0x40D6 (16598)<br /> 0x0A =&gt; 2, <br /> 0x1041B4, 0x1040001C beqz v0,pos_00104228<br /> 0x1440FFF9 bnez v0,pos_0010419C<br /> 0x1041BC, 0x3C02001D lui v0,0x001D<br /> 0x1040001A beqz v0,pos_00104228<br /> 0x41 =&gt; (sets some value 1, sync? - speedhack?)<br /> |-<br /> | NPUD20766 || Fatal Frame II ||<br /> 00000000 3D 00 00 00 AF 42 00 00 21 00 00 00 00 00 00 00 =....B..!.......<br /> 00000010 48 00 00 00 02 00 00 00 9C E6 FF FF 0A 00 00 00 H...............<br /> 00000020 01 00 00 00 1C 70 17 00 41 01 0F 24 61 01 0F 24 .....p..A..$a..$<br /> 00000030 46 00 00 00 0B 00 00 00 01 00 00 00 DD 04 00 00 F...............<br /> 00000040 E8 02 00 00 04 00 00 00 00 42 73 84 00 00 02 FF .........Bs.....<br /> 00000050 00 00 00 00 53 4C 55 53 2D 32 30 37 36 36 ....SLUS-20766 <br /> || 17071 (4.50+) ||<br /> 0x3D =&gt; 0x42AF (17071)<br /> 0x21 =&gt; 0<br /> 0x48 =&gt; 0x2, 0xFFFFE69C<br /> 0x0A =&gt; 1, <br /> 0x17701C, 0x240F0141 (li t7,0x141)<br /> 0x240F0161 (li t7,0x161)<br /> 0x46<br /> 0x0B =&gt; 1<br /> 0x4DD, (sector)<br /> 0x2E8, (offset -&gt; 0x26EADC in iso)<br /> 0x04,<br /> 0x84734200 lh s3,0x4200(v1),<br /> 0xFF020000 sd v0,(t8)<br /> |-<br /> | NPED00052 || God Hand || <br /> 00000000 3D 00 00 00 5F 3F 00 00 41 00 00 00 0A 00 00 00 =..._?..A.......<br /> 00000010 14 00 00 00 A0 FF 0F 00 00 00 00 00 01 00 02 3C ....á .........&lt;<br /> 00000020 A4 FF 0F 00 00 00 00 00 21 20 82 00 A8 FF 0F 00 ñ ......! é.¿ ..<br /> 00000030 00 00 00 00 4D 00 02 24 AC FF 0F 00 00 00 00 00 ....M..$¼ ......<br /> 00000040 0E 00 45 14 B4 FF 0F 00 00 00 00 00 3E 18 06 00 ..E.¦ ......&gt;...<br /> 00000050 B8 FF 0F 00 00 00 00 00 FF 3F 63 38 BC FF 0F 00 © ...... ?c8+ ..<br /> 00000060 00 00 00 00 60 00 02 24 C0 FF 0F 00 00 00 00 00 ....`..$+ ......<br /> 00000070 0A 10 03 00 C4 FF 0F 00 00 00 00 00 00 00 83 8C ....- ........âî<br /> 00000080 C8 FF 0F 00 00 00 00 00 00 00 62 FC CC FF 0F 00 + ........b³¦ ..<br /> 00000090 00 00 00 00 15 00 02 24 D0 FF 0F 00 00 00 00 00 .......$ð ......<br /> 000000A0 08 00 62 FC D4 FF 0F 00 00 00 00 00 10 00 63 24 ..b³È ........c$<br /> 000000B0 D8 FF 0F 00 00 00 00 00 00 00 83 AC DC FF 0F 00 Ï ........â¼_ ..<br /> 000000C0 00 00 00 00 10 00 83 8C E0 FF 0F 00 00 00 00 00 ......âîÓ ......<br /> 000000D0 01 00 63 24 E4 FF 0F 00 00 00 00 00 10 00 83 AC ..c$õ ........â¼<br /> 000000E0 E8 FF 0F 00 00 00 00 00 A6 67 0A 08 90 9E 29 00 Þ ......ªg..É×).<br /> 000000F0 01 00 02 3C E8 FF 03 08 94 9E 29 00 21 20 82 00 ...&lt;Þ ..ö×).! é.<br /> 00000100 00 00 00 00 00 00 00 00 53 4C 45 53 2D 35 34 34 ........SLES-544<br /> 00000110 39 30 90<br /> || 16223 (4.10+) ||<br /> 0x3D =&gt; 0x3F5F (16223)<br /> 0x41 =&gt; (sets some value 1, sync? - speedhack?)<br /> 0x0A =&gt; 0x14<br /> 0xFFFA0,0,0x3C020001 lui v0,0x0001<br /> 0xFFFA4,0,0x00822021 addu a0,v0<br /> 0xFFFA8,0,0x2402004D li v0,0x4D<br /> 0xFFFAC,0,0x1445000E bne v0,a1,pos_000FFFE8<br /> 0xFFFB4,0,0x0006183E dsrl32 v1,a2,0x00<br /> 0xFFFB8,0,0x38633FFF xori v1,0x3FFF<br /> 0xFFFBC,0,0x24020060 li v0,0x60<br /> 0xFFFC0,0,0x0003100A movz v0,zero,v1<br /> 0xFFFC4,0,0x8C830000 lw v1,(a0)<br /> 0xFFFC8,0,0xFC620000 sd v0,(v1)<br /> 0xFFFCC,0,0x24020015 li v0,0x15<br /> 0xFFFD0,0,0xFC620008 sd v0,0x8(v1)<br /> 0xFFFD4,0,0x24630010 addiu v1,0x10<br /> 0xFFFD8,0,0xAC830000 sw v1,(a0)<br /> 0xFFFDC,0,0x8C830010 lw v1,0x10(a0)<br /> 0xFFFE0,0,0x24630001 addiu v1,0x1<br /> 0xFFFE4,0,0xAC830010 sw v1,0x10(a0)<br /> 0xFFFE8,0,0x080A67A6 j pos_00299E98<br /> 0x299E90,0x3C020001 (lui v0,0x0001),0x0803FFE8 j pos_000FFFA0<br /> 0x299E94,0x00822021 (addu a0,v0),0x00000000 nop<br /> |-<br /> | NPUD20712 || Gradius V ||<br /> 00000000 3D 00 00 00 37 3E 00 00 0B 00 00 00 01 00 00 00 =...7&gt;..........<br /> 00000010 D3 05 00 00 10 03 00 00 08 00 00 00 03 E0 00 08 ................<br /> 00000020 00 00 00 00 27 BD FF C0 3C 03 00 4C 41 00 00 00 ....'...&lt;..LA...<br /> 00000030 26 00 00 00 E0 46 30 00 44 5E 30 00 00 00 00 00 &amp;....F0.D^0.....<br /> 00000040 53 4C 55 53 2D 32 30 37 31 32 SLUS-20712 <br /> || 15927 (3.71+) || <br /> 0x3D =&gt; 0x3E37 (15927)<br /> 0x0B =&gt; 1<br /> 0x5D3, (sector)<br /> 0x310, (offset -&gt; 0x2E9B04 in iso)<br /> 0x08, <br /> 03 E0 00 08 jr ra<br /> 00 00 00 00 nop<br /> 27 BD FF C0 addiu sp,-0x40<br /> 3C 03 00 4C lui v1,0x004C<br /> 0x41 =&gt; (sets some value 1, sync? - speedhack?)<br /> 0x26 =&gt; 0x3046E0, 0x0x305E44<br /> |-<br /> | NPUD20552 || Grand Theft Auto - Vice City ||<br /> 00000000 3D 00 00 00 A5 41 00 00 21 00 00 00 01 00 00 00 =....A..!.......<br /> 00000010 0A 00 00 00 0D 00 00 00 A0 FF 0F 00 00 00 00 00 ................<br /> 00000020 17 00 01 24 A4 FF 0F 00 00 00 00 00 08 00 24 14 ...$..........$.<br /> 00000030 AC FF 0F 00 00 00 00 00 10 00 01 3C B0 FF 0F 00 ...........&lt;....<br /> 00000040 00 00 00 00 90 FF 22 8C B4 FF 0F 00 00 00 00 00 ......&quot;.........<br /> 00000050 FF FF 42 24 B8 FF 0F 00 00 00 00 00 05 00 40 1C ..B$..........@.<br /> 00000060 C0 FF 0F 00 00 00 00 00 04 00 02 24 C4 FF 0F 00 ...........$....<br /> 00000070 00 00 00 00 90 FF 22 AC C8 FF 0F 00 00 00 00 00 ......&quot;.........<br /> 00000080 C1 3A 0B 08 CC FF 0F 00 00 00 00 00 D0 FF BD 27 .:.............'<br /> 00000090 D0 FF 0F 00 00 00 00 00 08 00 E0 03 D4 FF 0F 00 ................<br /> 000000A0 00 00 00 00 90 FF 22 AC 00 EB 2C 00 D0 FF BD 27 ......&quot;...,....'<br /> 000000B0 E8 FF 03 08 00 00 00 00 53 4C 55 53 2D 32 30 35 ........SLUS-205<br /> 000000C0 35 32 52<br /> || 16805 (4.30+) ||<br /> 0x3D =&gt; 0x41A5 (16805)<br /> 0x21 =&gt; 1<br /> 0x0A = 0xD<br /> 0xFFFA0,0,0x24010017 li at,0x17<br /> 0xFFFA4,0,0x14240008 bne at,a0,pos_000FFFC8<br /> 0xFFFAC,0,0x3C010010 lui at,0x0010<br /> 0xFFFB0,0,0x8C22FF90 lw v0,-0x70(at)<br /> 0xFFFB4,0,0x2442FFFF addiu v0,-0x1<br /> 0xFFFB8,0,0x1C400005 bgtz v0,pos_000FFFD0<br /> 0xFFFC0,0,0x24020004 li v0,0x4<br /> 0xFFFC4,0,0xAC22FF90 sw v0,-0x70(at)<br /> 0xFFFC8,0,0x080B3AC1 j pos_002CEB04<br /> 0xFFFCC,0,0x27BDFFD0 addiu sp,-0x30<br /> 0xFFFD0,0,0x03E00008 jr ra<br /> 0xFFFD4,0,0xAC22FF90 sw v0,-0x70(at)<br /> 0x2CEB00,0x27BDFFD0 ( addiu sp,-0x30 ),0x0803FFE8 j pos_000FFFA0<br /> <br /> |-<br /> | NPED00063 || Grand Theft Auto III ||<br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 90 97 34 00 =....=........4.<br /> 00000010 10 00 00 00 21 00 00 00 01 00 00 00 00 00 00 00 ....!...........<br /> 00000020 53 4C 45 53 2D 35 30 33 33 30 SLES-50330<br /> || 15753 (3.73+) ||<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x01 =&gt; 0x349790, 0x10<br /> 0x21 =&gt; 1<br /> |-<br /> | NPUD20062 || Grand Theft Auto III ||<br /> 00000000 3D 00 00 00 48 3F 00 00 19 00 00 00 01 00 00 00 =...H?..........<br /> 00000010 40 8B 34 00 0F 00 00 00 21 00 00 00 01 00 00 00 @.4.....!.......<br /> 00000020 0B 00 00 00 01 00 00 00 71 6D 0F 00 EC 04 00 00 ........qm......<br /> 00000030 B0 00 00 00 03 E0 00 08 00 00 00 00 3C 01 00 10 ............&lt;...<br /> 00000040 8C 21 FE F0 14 20 00 25 00 00 00 00 27 BD FF 50 .!... .%....'..P<br /> 00000050 08 0B 64 B9 7F BF 00 50 00 00 00 00 34 02 00 03 ..d....P....4...<br /> 00000060 34 01 00 43 10 81 00 15 34 03 00 00 34 01 00 20 4..C....4...4.. <br /> 00000070 10 81 00 12 34 03 00 01 34 01 00 1F 10 81 00 0F ....4...4.......<br /> 00000080 34 03 00 02 34 01 00 1D 10 81 00 0C 34 03 00 03 4...4.......4...<br /> 00000090 34 02 00 02 34 01 00 39 10 81 00 08 34 03 00 04 4...4..9....4...<br /> 000000A0 34 02 00 01 34 01 00 1A 10 81 00 04 34 03 00 05 4...4.......4...<br /> 000000B0 27 BD FE F0 08 0B 1D 05 7F BF 00 90 3C 01 00 10 '...........&lt;...<br /> 000000C0 00 23 18 21 90 79 FE E0 27 39 00 01 03 22 08 2A .#.!.y..'9...&quot;.*<br /> 000000D0 00 01 C8 0A 13 20 FF F6 A0 79 FE E0 03 E0 00 08 ..... ...y......<br /> 000000E0 00 00 00 00 27 BD FE D0 7F BF 00 B0 7F BE 00 A0 ....'...........<br /> 000000F0 7F B7 00 90 7F B6 00 80 7F B5 00 70 7F B4 00 60 ...........p...`<br /> 00000100 7F B3 00 50 7F B2 00 40 7F B1 00 30 7F B0 00 20 ...P...@...0... <br /> 00000110 E7 B7 00 1C E7 B6 00 18 E7 B5 00 14 E7 B4 00 10 ................<br /> 00000120 27 B7 00 F4 46 00 65 06 E7 AC 00 F0 24 07 00 01 '...F.e.....$...<br /> 00000130 46 00 75 86 27 B0 00 F8 46 00 7D 46 E6 ED 00 00 F.u.'...F.}F....<br /> 00000140 3C 02 C4 7A AE 02 00 00 3C 02 44 7A FF A0 00 00 &lt;..z....&lt;.Dz....<br /> 00000150 44 82 60 00 27 A4 00 F0 46 00 6D C6 27 A5 00 C0 D.`.'...F.m.'...<br /> 00000160 27 A6 01 2C 70 00 46 28 70 00 4E 28 70 00 56 28 '..,p.F(p.N(p.V(<br /> 00000170 70 E0 5E 28 0C 0A A8 34 FF A0 00 08 27 B1 00 C8 p.^(...4....'...<br /> 00000180 C6 20 00 00 3C 02 40 00 44 82 08 00 24 07 00 01 . ..&lt;.@.D...$...<br /> 00000190 3C 02 44 7A 0A 00 00 00 07 00 00 00 40 7D 24 00 &lt;.Dz........@}$.<br /> 000001A0 08 00 E0 03 10 00 01 3C 44 7D 24 00 00 00 00 00 .......&lt;D}$.....<br /> 000001B0 08 00 E0 03 48 7D 24 00 00 00 00 00 F0 FE 22 AC ....H}$.......&quot;.<br /> 000001C0 E0 92 2D 00 50 FF BD 27 1A 2B 0D 08 E4 92 2D 00 ..-.P..'.+....-.<br /> 000001D0 50 00 BF 7F 00 00 00 00 10 74 2C 00 F0 FE BD 27 P........t,....'<br /> 000001E0 22 2B 0D 08 14 74 2C 00 90 00 BF 7F 00 00 00 00 &quot;+...t,.........<br /> 000001F0 00 00 00 00 53 4C 55 53 2D 32 30 30 36 32 ....SLUS-20062 <br /> || 16200 (4.10+) ||<br /> 0x3D =&gt; 0x3F48 (16200)<br /> 0x19 =&gt; (sets some value 1)<br /> 0x01 =&gt; 0x348B40, 0xF<br /> 0x21 =&gt; 1<br /> 0x0B =&gt; 1<br /> 0xF6D71, (sector)<br /> 0x4EC, (offset -&gt; 0x7B6B8CE0 in iso)<br /> 0xB0, <br /> 03 E0 00 08 jr ra<br /> 00 00 00 00 nop<br /> 3C 01 00 10 lui at,0x0010<br /> 8C 21 FE F0 lw at,-0x110(at)<br /> 14 20 00 25 bnez at,+0x98<br /> 00 00 00 00 nop<br /> 27 BD FF 50 addiu sp,-0xB0<br /> 08 0B 64 B9 j +0x22C78<br /> 7F BF 00 50 sq ra,0x50(sp)<br /> 00 00 00 00 nop<br /> 34 02 00 03 li v0,0x3<br /> 34 01 00 43 li at,0x43<br /> 10 81 00 15 beq a0,at,+0x5C<br /> 34 03 00 00 li v1,0x0<br /> 34 01 00 20 li at,0x20<br /> 10 81 00 12 beq a0,at,+0x4C<br /> 34 03 00 01 li v1,0x1<br /> 34 01 00 1F li at,0x1F<br /> 10 81 00 0F beq a0,at,+0x3C<br /> 34 03 00 02 li v1,0x2<br /> 34 01 00 1D li at,0x1D<br /> 10 81 00 0C beq a0,at,+0x2C<br /> 34 03 00 03 li v1,0x3<br /> 34 02 00 02 li v0,0x2<br /> 34 01 00 39 li at,0x39<br /> 10 81 00 08 beq a0,at,+0x24<br /> 34 03 00 04 li v1,0x4<br /> 34 02 00 01 li v0,0x1<br /> 34 01 00 1A li at,0x1A<br /> 10 81 00 04 beq a0,at,+0x14<br /> 34 03 00 05 li v1,0x5<br /> 27 BD FE F0 addiu sp,-0x110<br /> 08 0B 1D 05 j +0x10D54<br /> 7F BF 00 90 sq ra,0x90(sp)<br /> 3C 01 00 10 lui at,0x0010<br /> 00 23 18 21 addu v1,at<br /> 90 79 FE E0 lbu t9,-0x120(v1)<br /> 27 39 00 01 addiu t9,0x1<br /> 03 22 08 2A slt at,t9,v0<br /> 00 01 C8 0A movz t9,zero,at<br /> 13 20 FF F6 beqz t9,-0x24<br /> A0 79 FE E0 sb t9,-0x120(v1)<br /> 03 E0 00 08 jr ra<br /> 00 00 00 00 nop<br /> 27 BD FE D0 addiu sp,-0x130<br /> 7F BF 00 B0 sq ra,0xB0(sp)<br /> 7F BE 00 A0 sq fp,0xA0(sp)<br /> 7F B7 00 90 sq s7,0x90(sp)<br /> 7F B6 00 80 sq s6,0x80(sp)<br /> 7F B5 00 70 sq s5,0x70(sp)<br /> 7F B4 00 60 sq s4,0x60(sp)<br /> 7F B3 00 50 sq s3,0x50(sp)<br /> 7F B2 00 40 sq s2,0x40(sp)<br /> 7F B1 00 30 sq s1,0x30(sp)<br /> 7F B0 00 20 sq s0,0x20(sp)<br /> E7 B7 00 1C swc1 f23,0x1C(sp)<br /> E7 B6 00 18 swc1 f22,0x18(sp)<br /> E7 B5 00 14 swc1 f21,0x14(sp)<br /> E7 B4 00 10 swc1 f20,0x10(sp)<br /> 27 B7 00 F4 addiu s7,sp,0xF4<br /> 46 00 65 06 mov.s f20,f12<br /> E7 AC 00 F0 swc1 f12,0xF0(sp)<br /> 24 07 00 01 li a3,0x1<br /> 46 00 75 86 mov.s f22,f14<br /> 27 B0 00 F8 addiu s0,sp,0xF8<br /> 46 00 7D 46 mov.s f21,f15<br /> E6 ED 00 00 swc1 f13,(s7)<br /> 3C 02 C4 7A lui v0,0xC47A<br /> AE 02 00 00 sw v0,(s0)<br /> 3C 02 44 7A lui v0,0x447A<br /> FF A0 00 00 sd zero,(sp)<br /> 44 82 60 00 mtc1 v0,f12<br /> 27 A4 00 F0 addiu a0,sp,0xF0<br /> 46 00 6D C6 mov.s f23,f13<br /> 27 A5 00 C0 addiu a1,sp,0xC0<br /> 27 A6 01 2C addiu a2,sp,0x12C<br /> 70 00 46 28 paddub t0,zero,zero<br /> 70 00 4E 28 paddub t1,zero,zero<br /> 70 00 56 28 paddub t2,zero,zero<br /> 70 E0 5E 28 paddub t3,a3,zero<br /> 0C 0A A8 34 jal -0xC5C4<br /> FF A0 00 08 sd zero,0x8(sp)<br /> 27 B1 00 C8 addiu s1,sp,0xC8<br /> C6 20 00 00 lwc1 f00,(s1)<br /> 3C 02 40 00 lui v0,0x4000<br /> 44 82 08 00 mtc1 v0,f01<br /> 24 07 00 01 li a3,0x1<br /> 3C 02 44 7A lui v0,0x447A<br /> 0x0A =&gt; 7<br /> 0x247D40, 0x03E00008 (jr ra), 0x3C010010 lui at,0x0010<br /> 0x247D44, 0x00000000 (nop), 0x03E00008 jr ra<br /> 0x247D48, 0x00000000 (nop), 0xAC22FEF0 sw v0,-0x110(at)<br /> 0x2D92E0, 0x27BDFF50 (addiu sp,-0xB0), 0x080D2B1A j pos_0034AC68<br /> 0x2D92E4, 0x7FBF0050 (sq ra,0x50(sp)), 0x00000000 nop<br /> 0x2C7410, 0x27BDFEF0 (addiu sp,-0x110), 0x080D2B22 j pos_0034AC88<br /> 0x2C7414, 0x7FBF0090 (sq ra,0x90(sp)), 0x00000000 nop<br /> |-<br /> | NPED00070 || Grand Theft Auto - San Andreas ||<br /> 00000000 3D 00 00 00 60 40 00 00 0F 00 00 00 B0 45 1E 00 =...`@.......E..<br /> 00000010 08 51 1E 00 40 00 00 00 00 00 00 00 53 4C 45 53 .Q..@.......SLES<br /> 00000020 2D 35 32 39 32 37 -52927<br /> || 16480 (4.20+) ||<br /> 0x3D =&gt; 0x4060 (16480)<br /> 0x0F =&gt; 0x1E45B0, 0x1E5108<br /> 0x40 =&gt; (sets some value 1)<br /> |-<br /> | NPUD20946 || Grand Theft Auto - San Andreas ||<br /> 00000000 3D 00 00 00 60 40 00 00 0F 00 00 00 DC 46 1E 00 =...`@.......F..<br /> 00000010 E8 4A 1E 00 40 00 00 00 00 00 00 00 53 4C 55 53 .J..@.......SLUS<br /> 00000020 2D 32 30 39 34 36 -20946<br /> || 16480 (4.20+) ||<br /> 0x3D =&gt; 0x4060 (16480)<br /> 0x0F =&gt; 0x1E46DC, 0x1E4AE8<br /> 0x40 =&gt; (sets some value 1)<br /> |-<br /> | NPJD00062 || Grandia II ||<br /> <br /> || || texture bugs<br /> <br /> |-<br /> | NPUD21604 || GRIMgRiMoiRe ||<br /> 00000000 3D 00 00 00 12 3D 00 00 15 00 00 00 04 00 00 00 =....=..........<br /> || 15634 (3.70+) ||<br /> 0x3D =&gt; 0x3D12 (15634)<br /> 0x15 =&gt; 4<br /> |-<br /> | NPJD00020 || Katamari Damacy ||<br /> 00000000 3D 00 00 00 46 40 00 00 41 00 00 00 0B 00 00 00 =...F@..A.......<br /> 00000010 01 00 00 00 29 04 00 00 40 00 00 00 04 00 00 00 ....)...@.......<br /> 00000020 00 24 77 68 00 00 00 00 00 00 00 00 53 4C 50 53 .$wh........SLPS<br /> 00000030 2D 32 35 33 36 30 -25360<br /> || 16454 (4.20+)||<br /> 0x3D =&gt; 0x4046 (16454)<br /> 0x41 =&gt; (sets some value 1, sync? - speedhack?)<br /> 0x0B =&gt; 1<br /> 0x429, (sector)<br /> 0x40, (offset -&gt; 0x214834 in iso)<br /> 0x04,<br /> 0x68772400 mfsa t6 , <br /> 0x00000000 nop<br /> |-<br /> | NPUD20847 || La Pucelle: Tactics ||<br /> 00000000 3D 00 00 00 DB 3F 00 00 0A 00 00 00 0B 00 00 00 =....?..........<br /> 00000010 40 FA 0F 00 00 00 00 00 0C 01 0A 3C 44 FA 0F 00 @..........&lt;D...<br /> 00000020 00 00 00 00 04 DE 4A 35 48 FA 0F 00 00 00 00 00 ......J5H.......<br /> 00000030 04 00 45 11 4C FA 0F 00 00 00 00 00 00 00 00 00 ..E.L...........<br /> 00000040 50 FA 0F 00 00 00 00 00 10 00 0A 8E 54 FA 0F 00 P...........T...<br /> 00000050 00 00 00 00 9A E2 04 08 58 FA 0F 00 00 00 00 00 ........X.......<br /> 00000060 14 00 0B 8E 5C FA 0F 00 00 00 00 00 9C E2 04 08 ....\...........<br /> 00000070 60 FA 0F 00 00 00 00 00 00 00 00 00 60 8A 13 00 `...........`...<br /> 00000080 10 00 0A 8E 90 FE 03 08 64 8A 13 00 14 00 0B 8E ........d.......<br /> 00000090 00 00 00 00 00 00 00 00 53 4C 55 53 2D 32 30 38 ........SLUS-208<br /> 000000A0 34 37 47 <br /> || 16347 (4.10+) || fixes blackscreen - config rebuild function/opcode from 0x138A60 by rewrite it under 0x100000 offset, and jump to it by j 0x000FFA40 (note: area under 0x100000 is unused in 99% games, but can be freely addressed).<br /> 0x3D =&gt; 0x3FDB (16347)<br /> 0x0A =&gt; 0xB<br /> 0xFFA40,0,0x3C0A010C lui t2, 0x010C<br /> 0xFFA44,0,0x354ADE04 ori t2, 0xDE04<br /> 0xFFA48,0,0x11450004 beq t2, a1, 0x000FFA5C<br /> 0xFFA4C,0,0 nop<br /> 0xFFA50,0,0x8E0A0010 lw t2, 0x10(s0)<br /> 0xFFA54,0,0x0804E29A j 0x00138A68<br /> 0xFFA58,0,0x8E0B0014 lw t3, 0x14(s0)<br /> 0xFFA5C,0,0x0804E29C j 0x00138A70<br /> 0xFFA60,0,0 nop<br /> 0x138A60,0x8E0A0010 (lw t2, 0x10(s0)),0x0803FE90 j 0x000FFA40<br /> 0x138A64,0x8E0B0014 (lw t3, 0x14(s0)),0 (nop)<br /> |-<br /> | NPUD20275 || Kessen II ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0B 00 00 00 03 00 00 00 =....=..........<br /> 00000010 10 76 00 00 BC 07 00 00 10 00 00 00 48 43 88 00 .v..........HC..<br /> 00000020 4B E5 21 AC 30 84 80 00 4B E7 2B 3C 4B E5 21 AC K.!.0...K.+&lt;K.!.<br /> 00000030 30 84 80 00 4B E7 2B 3C 48 43 88 00 64 76 00 00 0...K.+&lt;HC..dv..<br /> 00000040 10 05 00 00 0C 00 00 00 4B C0 10 9C 4B C0 18 DC ........K...K...<br /> 00000050 4A 68 03 BE 4A 68 03 BE 4B C0 10 9C 4B C0 18 DC Jh..Jh..K...K...<br /> 00000060 64 76 00 00 C8 06 00 00 0C 00 00 00 4B C0 10 9C dv..........K...<br /> 00000070 4B C0 18 DC 4A 68 03 BE 4A 68 03 BE 4B C0 10 9C K...Jh..Jh..K...<br /> 00000080 4B C0 18 DC 00 00 00 00 53 4C 55 53 2D 32 30 32 K.......SLUS-202<br /> 00000090 37 35 75 <br /> || 15753 (3.73+) || fixes spickey polygon syndrome problems for characters in cutscenes/selection/..<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0B =&gt; 3<br /> 0x7610, 0x07BC, 0x10, <br /> Patched Bytes:<br /> 0x00884348 00 88 43 48 cfc2 $v1, $17 (cfc2 v1,MACflag)<br /> 0xAC21E54B AC 21 E5 4B cop2 0x1E521AC (vsub.xyzw vf06, vf04, vf05)<br /> 0x00808430 00 80 84 30 andi $a0, 0x8000<br /> 0x3C2BE74B 3C 2B E7 4B cop2 0x1E72B3C (vmove.xyzw, vf07, vf05)<br /> Original Bytes:<br /> 0xAC21E54B AC 21 E5 4B cop2 0x1E521AC (vsub.xyzw vf06, vf04, vf05)<br /> 0x00808430 00 80 84 30 andi $a0, 0x8000<br /> 0x3C2BE74B 3C 2B E7 4B cop2 0x1E72B3C (vmove.xyzw, vf07, vf05)<br /> 0x00884348 00 88 43 48 cfc2 $v1, $17 (cfc2 v1,MACflag)<br /> 0x7664, 0x0510, 0x0C,<br /> Patched Bytes:<br /> 0x9C10C04B 9C 10 C0 4B cop2 0x1C0109C (vmulq.xyz vf02,vf02,Q)<br /> 0xDC18C04B DC 18 C0 4B cop2 0x1C018DC (vmulq.xyz vf03,vf03,Q)<br /> 0xBE03684A BE 03 68 4A cop2 0x6803BE (vrsqrt Q, vf00w, vf08x)<br /> Original Bytes:<br /> 0xBE03684A BE 03 68 4A cop2 0x6803BE (vrsqrt Q, vf00w, vf08x)<br /> 0x9C10C04B 9C 10 C0 4B cop2 0x1C0109C (vmulq.xyz vf02,vf02,Q)<br /> 0xDC18C04B DC 18 C0 4B cop2 0x1C018DC (vmulq.xyz vf03,vf03,Q)<br /> 0x7664, 0x06C8, 0x0C, <br /> Patched Bytes:<br /> 0x9C10C04B 9C 10 C0 4B cop2 0x1C0109C (vmulq.xyz vf02,vf02,Q)<br /> 0xDC18C04B DC 18 C0 4B cop2 0x1C018DC (vmulq.xyz vf03,vf03,Q)<br /> 0xBE03684A BE 03 68 4A cop2 0x6803BE (vrsqrt Q, vf00w, vf08x)<br /> Original Bytes:<br /> 0xBE03684A BE 03 68 4A cop2 0x6803BE (vrsqrt Q, vf00w, vf08x)<br /> 0x9C10C04B 9C 10 C0 4B cop2 0x1C0109C (vmulq.xyz vf02,vf02,Q)<br /> 0xDC18C04B DC 18 C0 4B cop2 0x1C018DC (vmulq.xyz vf03,vf03,Q)<br /> |-<br /> | NPJD00040 || Mana Khemia 2 ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 53 4C 50 4D 2D 35 35 31 ........SLPM-551<br /> 00000020 31 34 14<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> |-<br /> | NPUD20827 || Manhunt ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0A 00 00 00 0F 00 00 00 =....=..........<br /> 00000010 A0 FF 0F 00 00 00 00 00 2D 68 A0 00 A4 FF 0F 00 ........-h......<br /> 00000020 00 00 00 00 14 00 AE 8D A8 FF 0F 00 00 00 00 00 ................<br /> 00000030 10 00 AC 8D AC FF 0F 00 00 00 00 00 50 00 AF 8D ............P...<br /> 00000040 B0 FF 0F 00 00 00 00 00 08 00 8F 15 B4 FF 0F 00 ................<br /> 00000050 00 00 00 00 54 00 AB 8D B8 FF 0F 00 00 00 00 00 ....T...........<br /> 00000060 06 00 CB 15 BC FF 0F 00 00 00 00 00 00 80 8F 25 ...............%<br /> 00000070 C0 FF 0F 00 00 00 00 00 00 80 CE 25 C4 FF 0F 00 ...........%....<br /> 00000080 00 00 00 00 54 00 AE AD C8 FF 0F 00 00 00 00 00 ....T...........<br /> 00000090 50 00 AF AD CC FF 0F 00 00 00 00 00 10 00 AF AD P...............<br /> 000000A0 D0 FF 0F 00 00 00 00 00 14 00 AE AD D4 FF 0F 00 ................<br /> 000000B0 00 00 00 00 04 68 10 08 D8 FF 0F 00 00 00 00 00 .....h..........<br /> 000000C0 5F 00 03 3C 0B 00 00 00 01 00 00 00 22 0D 00 00 _..&lt;........&quot;...<br /> 000000D0 14 01 00 00 08 00 00 00 08 03 FF E8 27 BD FF F0 ............'...<br /> 000000E0 3C 03 00 5F 27 BD FF F0 00 00 00 00 53 4C 55 53 &lt;.._'.......SLUS<br /> 000000F0 2D 32 30 38 32 37 -20827<br /> || 15753 (3.73+) || fixes graphical issues<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0A =&gt; 0x0F<br /> 0xFFFA0,0, 0x00A0682D 2D 68 A0 00 dmove t5,a1<br /> 0xFFFA4,0, 0x8DAE0014 14 00 AE 8D lw t6,0x14(t5)<br /> 0xFFFA8,0, 0x8DAC0010 10 00 AC 8D lw t4,0x10(t5)<br /> 0xFFFAC,0, 0x8DAF0050 50 00 AF 8D lw t7,0x50(t5)<br /> 0xFFFB0,0, 0x158F0008 08 00 8F 15 bne t4,t7,pos_000FFFD4<br /> 0xFFFB4,0, 0x8DAB0054 54 00 AB 8D lw t3,0x54(t5)<br /> 0xFFFB8,0, 0x15CB0006 06 00 CB 15 bne t6,t3,pos_000FFFD4<br /> 0xFFFBC,0, 0x258F8000 00 80 8F 25 addiu t7,t4,-0x8000<br /> 0xFFFC0,0, 0x25CE8000 00 80 CE 25 addiu t6,-0x8000<br /> 0xFFFC4,0, 0xADAE0054 54 00 AE AD sw t6,0x54(t5)<br /> 0xFFFC8,0, 0xADAF0050 50 00 AF AD sw t7,0x50(t5)<br /> 0xFFFCC,0, 0xADAF0010 10 00 AF AD sw t7,0x10(t5)<br /> 0xFFFD0,0, 0xADAE0014 14 00 AE AD sw t6,0x14(t5)<br /> 0xFFFD4,0, 0x08106804 04 68 10 08 j pos_0041A010<br /> 0xFFFD8,0, 0x3C03005F 5F 00 03 3C lui v1,0x005F<br /> 0x0B =&gt; 1<br /> 0xD22, (disc sector)<br /> 0x114, (offset -&gt; 0x691108 in iso)<br /> 0x08,<br /> 0x0803FFE8 E8 FF 03 08 j pos_000FFFA0<br /> 0x27BDFFF0 F0 FF BD 27 addiu sp,-0x10<br /> 0x3C03005F 5F 00 03 3C lui v1,0x005F<br /> 0x27BDFFF0 F0 FF BD 27 addiu sp,-0x10<br /> &lt;pre&gt;<br /> z_un_0041a008:<br /> <br /> lui v1,0x005F &lt;- gets overwritten<br /> addiu sp,-0x10<br /> lw v0,-0x5C14(v1)<br /> sd ra,(sp)<br /> jalr v0<br /> nop <br /> ld ra,(sp)<br /> jr ra<br /> addiu sp,0x10<br /> nop <br /> &lt;/pre&gt;<br /> |-<br /> | NPED00145 || Max Payne ||<br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 F4 E9 52 00 =....=........R.<br /> 00000010 03 00 00 00 01 00 00 00 78 EB 52 00 02 00 00 00 ........x.R.....<br /> 00000020 00 00 00 00 53 4C 45 53 2D 35 30 33 32 35 ....SLES-50325<br /> || 15753 (3.73+) || fixes game hang on first cutscene/cutscenes<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x01 =&gt; 0x52E9F4, 3 (applies to main_p.run ELF on disc: 0x52E9F4 dmove a1,v0 )<br /> 0x01 =&gt; 0x52EB78, 2 (applies to main_p.run ELF on disc: 0x52EB78 lq s1,0x10(sp) )<br /> |-<br /> | NPED00055 || MX World Tour: Featuring Jamie Little ||<br /> <br /> || || blackscreen<br /> <br /> |-<br /> | NPUD21577 || Odin Sphere ||<br /> 00000000 3D 00 00 00 10 3D 00 00 0B 00 00 00 02 00 00 00 =....=..........<br /> 00000010 52 04 00 00 F8 03 00 00 04 00 00 00 2D 02 49 0C R...........-.I.<br /> 00000020 2D 02 49 14 52 04 00 00 70 04 00 00 04 00 00 00 -.I.R...p.......<br /> 00000030 2D 03 49 0C 2D 03 49 14 15 00 00 00 04 00 00 00 -.I.-.I.........<br /> || 15632 (3.70+) ||<br /> 0x3D =&gt; 0x3D10 (15632)<br /> 0x0B =&gt; 2<br /> 0x452, (sector)<br /> 0x3F8, (offset -&gt; 0x2293EC in iso)<br /> 0x04,<br /> 0x0C49022D sltiu v0,t0,0x490C,<br /> 0x1449022D sltiu v0,t0,0x4914,<br /> 0x452, (sector)<br /> 0x470, (offset -&gt; 0x229464 in iso)<br /> 0x04,<br /> 0x0C49032D sltiu v1,t0,0x490C,<br /> 0x1449032D sltiu v1,t0,0x4914<br /> 0x15 =&gt; 4<br /> |-<br /> | NPJD00028 || Phantasy Star Complete Collection ||<br /> 00000000 3D 00 00 00 B8 41 00 00 45 00 00 00 00 00 00 00 =....A..E.......<br /> 00000010 53 4C 50 4D 2D 36 32 37 37 35 SLPM-62775<br /> || 16824 (4.40+)||<br /> 0x3D =&gt; 0x41B8 (16824)<br /> 0x45 =&gt; (sets some value 1)<br /> |-<br /> | NPUC97142 || Primal ||<br /> 00000000 3D 00 00 00 65 3D 00 00 12 00 00 00 0D 00 00 00 =...e=..........<br /> 00000010 00 00 00 04 00 00 00 00 02 00 03 00 5F 01 00 00 ............_...<br /> 00000020 8D BD 6F 2C 67 03 00 00 02 00 03 00 6B 01 00 00 ..o,g.......k...<br /> 00000030 31 35 70 E9 72 03 00 00 03 00 02 00 60 9B 39 10 15p.r.......`.9.<br /> 00000040 18 9C 39 10 0B 00 00 00 01 00 00 00 47 07 00 00 ..9.........G...<br /> 00000050 6C 04 00 00 04 00 00 00 80 5F 03 3C 80 00 03 3C l........_.&lt;...&lt;<br /> || 15717 (3.73+) || fixes loading screen freezing<br /> 0x3D =&gt; 0x3D65 (15717)<br /> 0x12 =&gt; 0x0D, (fixes freezing)<br /> 00 00 00 04 0x04000000 (64 MB?)<br /> 00 00 00 00 <br /> 02 00&gt;'''03 00'''&lt; Count, Type 2<br /> 5F 01 00 00 0x15F<br /> 8D BD 6F 2C 0x2C6FBD8D<br /> 67 03 00 00 0x367<br /> 02 00&gt;'''03 00'''&lt; Count, Type 2<br /> 6B 01 00 00 0x16B<br /> 31 35 70 E9 0xE9703531<br /> 72 03 00 00 0x372<br /> 03 00&gt;'''02 00'''&lt; Count<br /> 60 9B 39 10 -&gt; 0x399B60 ctc2 $zero, $5<br /> 18 9C 39 10 -&gt; 0x399C18 ctc2 $zero, $5<br /> 0x0B =&gt; 1<br /> 0x747, (disc sector)<br /> 0x46C, (offset -&gt; 0x3A3C60 - this patch is for another (hidden) .elf (.vutext) on disc) <br /> 0x04,<br /> 0x3C035F80 lui v1,0x5F80,<br /> 0x3C030080 lui v1,0x0080<br /> |-<br /> | NPUD21120 || Psychonauts ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0B 00 00 00 01 00 00 00 =....=..........<br /> 00000010 12 01 00 00 58 00 00 00 04 00 00 00 00 00 00 00 ....X...........<br /> 00000020 11 CF FF F9 00 00 00 00 53 4C 55 53 2D 32 31 31 ........SLUS-211<br /> 00000030 32 30 20<br /> || 15753 (3.73+) || <br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0B =&gt; 1<br /> 0x112, (sector)<br /> 0x58, (offset -&gt; 0x8904C in iso)<br /> 0x04,<br /> 0x00000000 nop, <br /> 0xF9FFCF11 beq t6,t7,-0x18<br /> |-<br /> | NPUD20272 || Rayman Arena||<br /> 00000000 3D 00 00 00 89 3D 00 00 12 00 00 00 11 00 00 00 =....=..........<br /> 00000010 00 00 00 04 00 00 00 00 02 00 04 00 00 00 00 00 ................<br /> 00000020 AE B3 4E 5D 20 02 00 00 46 02 00 00 03 00 09 00 ..N] ...F.......<br /> 00000030 B0 E9 1D 10 94 EB 1D 10 00 EC 1D 10 54 EC 1D 10 ............T...<br /> 00000040 A0 EE 1D 10 DC EE 1D 10 78 F0 1D 10 B4 F0 1D 10 ........x.......<br /> 00000050 54 F1 1D 10 00 00 00 00 53 4C 55 53 2D 32 30 32 T.......SLUS-202<br /> 00000060 37 32 72 <br /> || 15753 (3.73+) || <br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x12 =&gt; 0x11<br /> 00 00 00 04 <br /> 00 00 00 00 <br /> 02 00&gt;'''04 00'''&lt; Count<br /> 00 00 00 00 <br /> AE B3 4E 5D <br /> 20 02 00 00 <br /> 46 02 00 00 <br /> 03 00&gt;'''09 00'''&lt; Count<br /> B0 E9 1D 10 -&gt; 0x1DE9B0 ctc2 $t0, $6<br /> 94 EB 1D 10 -&gt; 0x1DEB94 ctc2 $t0, $6<br /> 00 EC 1D 10 -&gt; 0x1DEC00 ctc2 $t0, $6<br /> 54 EC 1D 10 -&gt; 0x1DEC54 ctc2 $t0, $6<br /> A0 EE 1D 10 -&gt; 0x1DEEA0 ctc2 $t0, $6<br /> DC EE 1D 10 -&gt; 0x1DEEDC ctc2 $t0, $6<br /> 78 F0 1D 10 -&gt; 0x1DF078 ctc2 $t0, $6<br /> B4 F0 1D 10 -&gt; 0x1DF0B4 ctc2 $t0, $6<br /> 54 F1 1D 10 -&gt; 0x1DF154 ctc2 $t0, $6<br /> |-<br /> | NPJD00079 || Raw Danger! ||<br /> <br /> || || fps problem<br /> <br /> |-<br /> | NPUD20442 || Red Faction 2 ||<br /> 00000000 3D 00 00 00 42 3F 00 00 19 00 00 00 00 00 00 00 =...B?..........<br /> 00000010 53 4C 55 53 2D 32 30 34 34 32 SLUS-20442<br /> || 16194 (4.00+) || <br /> 0x3D =&gt; 0x3F42 (16194)<br /> 0x19 =&gt; (sets some value 1)<br /> |-<br /> | NPUD20471 || Rygar ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0E 00 00 00 A8 7D 14 00 =....=.......}..<br /> 00000010 00 00 00 00 53 4C 55 53 2D 32 30 34 37 31 ....SLUS-20471<br /> || 15753 (3.73+) || fixes hard crash at start when leaving the place<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0E =&gt; 0x147DA8 (offset)<br /> <br /> .text:00147DA8 sub.s $f12, $f20, $f12<br /> |-<br /> | NPUD20974 || Shin Megami Tensei Digital Devil Saga 1|| <br /> 00000000 3D 00 00 00 EC 42 00 00 46 00 00 00 48 00 00 00 =....B..F...H...<br /> 00000010 01 00 00 00 90 D0 03 00 00 00 00 00 53 4C 55 53 ............SLUS<br /> 00000020 2D 32 30 39 37 34 -20974<br /> || 17132 (4.50+) || fixes screen shakes/framerate cracks<br /> 0x3D =&gt; 0x42EC (17132)<br /> 0x46 =&gt; (sets some value 1)<br /> 0x48 =&gt; 0x1 , 0x3D090<br /> |-<br /> | NPUD20911 || Shin Megami Tensei Nocturne || <br /> 00000000 3D 00 00 00 F6 41 00 00 46 00 00 00 00 00 00 00 =....A..F.......<br /> 00000010 53 4C 55 53 2D 32 30 39 31 31 SLUS-20911<br /> || 16886 (4.40+) || fixes screen shakes/flickers (and much more importantly, game crashes)<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x46 =&gt; (sets some value 1)<br /> |-<br /> | NPUD21621 || Shin Megami Tensei Persona 3 FES ||<br /> 00000000 3D 00 00 00 48 41 00 00 0A 00 00 00 20 00 00 00 =...HA...... ...<br /> 00000010 00 FA 0F 00 00 00 00 00 E0 00 A4 8F 04 FA 0F 00 .·......Ó.ñÅ.·..<br /> 00000020 00 00 00 00 6C 01 03 24 08 FA 0F 00 00 00 00 00 ....l..$.·......<br /> 00000030 0A 00 83 14 0C FA 0F 00 00 00 00 00 FF 00 04 24 ..â..·...... ..$<br /> 00000040 10 FA 0F 00 00 00 00 00 B8 26 04 00 14 FA 0F 00 .·......©&amp;...·..<br /> 00000050 00 00 00 00 27 20 84 00 18 FA 0F 00 00 00 00 00 ....' ä..·......<br /> 00000060 D0 00 A3 DF 1C FA 0F 00 00 00 00 00 24 18 83 00 ð.ú¯.·......$.â.<br /> 00000070 20 FA 0F 00 00 00 00 00 0B 00 63 64 24 FA 0F 00 ·........cd$·..<br /> 00000080 00 00 00 00 33 00 04 24 28 FA 0F 00 00 00 00 00 ....3..$(·......<br /> 00000090 B8 26 04 00 2C FA 0F 00 00 00 00 00 25 18 83 00 ©&amp;..,·......%.â.<br /> 000000A0 30 FA 0F 00 00 00 00 00 D0 00 A3 FF 34 FA 0F 00 0·......ð.ú 4·..<br /> 000000B0 00 00 00 00 E1 B3 11 08 38 FA 0F 00 00 00 00 00 ....ߦ..8·......<br /> 000000C0 50 00 64 8E 7C CF 46 00 50 00 64 8E 80 FE 03 08 P.dÄ|¤F.P.dÄǦ..<br /> 000000D0 40 FA 0F 00 00 00 00 00 00 3C 04 3C 44 FA 0F 00 @·.......&lt;.&lt;D·..<br /> 000000E0 00 00 00 00 18 3F 05 3C 48 FA 0F 00 00 00 00 00 .....?.&lt;H·......<br /> 000000F0 20 00 24 AE 4C FA 0F 00 00 00 00 00 24 00 24 AE .$«L·......$.$«<br /> 00000100 50 FA 0F 00 00 00 00 00 60 00 25 AE 54 FA 0F 00 P·......`.%«T·..<br /> 00000110 00 00 00 00 64 00 24 AE 58 FA 0F 00 00 00 00 00 ....d.$«X·......<br /> 00000120 A0 00 24 AE 5C FA 0F 00 00 00 00 00 A4 00 25 AE á.$«\·......ñ.%«<br /> 00000130 60 FA 0F 00 00 00 00 00 E0 00 25 AE 64 FA 0F 00 `·......Ó.%«d·..<br /> 00000140 00 00 00 00 E4 00 25 AE 68 FA 0F 00 00 00 00 00 ....õ.%«h·......<br /> 00000150 04 00 04 24 6C FA 0F 00 00 00 00 00 39 9B 10 08 ...$l·......9ø..<br /> 00000160 70 FA 0F 00 00 00 00 00 10 00 25 26 DC 6C 42 00 p·........%&amp;_lB.<br /> 00000170 04 00 04 24 90 FE 03 08 E0 6C 42 00 10 00 25 26 ...$ɦ..ÓlB...%&amp;<br /> 00000180 00 00 00 00 30 6A 4C 00 80 3F 02 3C 7F 3F 02 3C ....0jL.Ç?.&lt;?.&lt;<br /> 00000190 21 00 00 00 00 00 00 00 15 00 00 00 04 00 00 00 !...............<br /> 000001A0 00 00 00 00 53 4C 55 53 2D 32 31 36 32 31 ....SLUS-21621<br /> || 16712 (4.25+)||<br /> 0x3D =&gt; 0x4148 (16712)<br /> 0x0A =&gt; 0x20<br /> 0xFFA00,0,0x8FA400E0 lw a0,0xE0(sp)<br /> 0xFFA04,0,0x2403016C li v1,0x16C<br /> 0xFFA08,0,0x1483000A bne a0,v1,pos_000FFA34<br /> 0xFFA0C,0,0x240400FF li a0,0xFF<br /> 0xFFA10,0,0x000426B8 dsll a0,0x1A<br /> 0xFFA14,0,0x00842027 nor a0,a0<br /> 0xFFA18,0,0xDFA300D0 ld v1,0xD0(sp)<br /> 0xFFA1C,0,0x00831824 and v1,a0,v1<br /> 0xFFA20,0,0x6463000B daddiu v1,0x000B<br /> 0xFFA24,0,0x24040030 li a0,0x30<br /> 0xFFA28,0,0x000426B8 dsll a0,0x1A<br /> 0xFFA2C,0,0x00831825 or v1,a0,v1<br /> 0xFFA30,0,0xFFA300D0 sd v1,0xD0(sp)<br /> 0xFFA34,0,0x0811B3E1 j pos_0046CF84<br /> 0xFFA38,0,0x8E640050 lw a0,0x50(s3)<br /> 0x46CF7C,0x8E640050 (lw a0,0x50(s3),0x0803FE80 j pos_000FFA00<br /> 0xFFA40,0,0x3C043C00 lui a0,0x3C00<br /> 0xFFA44,0,0x3C053F18 lui a1,0x3F18<br /> 0xFFA48,0,0xAE240020 sw a0,0x20(s1)<br /> 0xFFA4C,0,0xAE240024 sw a0,0x24(s1)<br /> 0xFFA50,0,0xAE250060 sw a1,0x60(s1)<br /> 0xFFA54,0,0xAE240064 sw a0,0x64(s1)<br /> 0xFFA58,0,0xAE2400A0 sw a0,0xA0(s1)<br /> 0xFFA5C,0,0xAE2500A4 sw a1,0xA4(s1)<br /> 0xFFA60,0,0xAE2500E0 sw a1,0xE0(s1)<br /> 0xFFA64,0,0xAE2500E4 sw a1,0xE4(s1)<br /> 0xFFA68,0,0x24040004 li a0,0x4<br /> 0xFFA6C,0,0x08109B39 j pos_00426CE4<br /> 0xFFA70,0,0x26250010 addiu a1,s1,0x10<br /> 0x426CDC,0x24040004(li a0,0x4),0x0803FE90 j pos_000FFA40<br /> 0x426CE0,0x26250010(addiu a1,s1,0x10),0 nop<br /> 0x4C6A30,0x3C023F80(lui v0,0x3F80),0x3C023F7F lui v0,0x3F7F<br /> 0x21 =&gt; 0<br /> 0x15 =&gt; 4<br /> |-<br /> | NPUD21782 || Shin Megami Tensei Persona 4 || <br /> 00000000 3D 00 00 00 89 3D 00 00 0A 00 00 00 01 00 00 00 =....=..........<br /> 00000010 60 9C 18 00 80 3F 02 3C 7F 3F 02 3C 00 00 00 00 `....?.&lt;.?.&lt;....<br /> 00000020 53 4C 55 53 2D 32 31 37 38 32 SLUS-21782<br /> || 15753 (3.73+) || Dungeon name in the corner is glitched (shows black bar).<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0A =&gt; 1<br /> 0x189C60, 0x3C023F80 lui v0,0x3F80 <br /> 0x3C023F7F lui v0,0x3F7F<br /> |-<br /> | NPUC97355 || Siren ||<br /> 00000000 3D 00 00 00 15 41 00 00 19 00 00 00 00 00 00 00 =....A..........<br /> 00000010 53 43 55 53 2D 39 37 33 35 35 SCUS-97355<br /> || 16661 (4.25+)|| <br /> 0x3D =&gt; 0x4115 (16661)<br /> 0x19 =&gt; (sets some value 1)<br /> |-<br /> | NPED00272 || Summoner ||<br /> 00000000 3D 00 00 00 89 3D 00 00 2C 00 00 00 01 00 00 00 =....=..,.......<br /> 00000010 00 00 00 00 53 4C 45 53 2D 38 32 30 30 35 ....SLES-82005 <br /> || 15753 (3.73+) || fixes blackscreen<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x2C =&gt; 0x1<br /> |-<br /> | NPUC97264 || Syphon Filter The Omega Strain || <br /> 00000000 3D 00 00 00 1F 40 00 00 12 00 00 00 05 00 00 00 =....@..........<br /> 00000010 00 00 00 00 00 00 00 00 01 00 02 00 31 00 99 18 ............1...<br /> 00000020 32 00 B6 18 0B 00 00 00 01 00 00 00 F5 05 00 00 2...............<br /> 00000030 8C 02 00 00 04 00 00 00 00 00 00 00 0C 0D C1 54 ...............T<br /> 00000040 0A 00 00 00 0B 00 00 00 F8 35 37 00 1B 52 06 4B .........57..R.K<br /> 00000050 00 80 43 48 FC 35 37 00 00 80 43 48 1B 52 06 4B ..CH.57...CH.R.K<br /> 00000060 EC 6F 3A 00 00 00 00 00 00 00 11 64 F8 6F 3A 00 .o:........d.o:.<br /> 00000070 78 A1 0E 0C 80 FE 03 0C 00 FA 0F 00 00 00 00 00 x...............<br /> 00000080 02 00 08 3C 04 FA 0F 00 00 00 00 00 2B 40 28 02 ...&lt;........+@(.<br /> 00000090 08 FA 0F 00 00 00 00 00 02 00 00 15 0C FA 0F 00 ................<br /> 000000A0 00 00 00 00 54 00 01 3C 10 FA 0F 00 00 00 00 00 ....T..&lt;........<br /> 000000B0 00 28 20 AC 14 FA 0F 00 00 00 00 00 78 A1 0E 08 .( .........x...<br /> 000000C0 18 FA 0F 00 00 00 00 00 01 00 31 26 00 00 00 00 ..........1&amp;....<br /> 000000D0 53 43 55 53 2D 39 37 32 36 34 SCUS-97264<br /> || 16415 (4.20+)|| fixes texture bugs<br /> 0x3D =&gt; 0x401F (16415)<br /> 0x12 =&gt; 0x5 <br /> 00 00 00 00 <br /> 00 00 00 00 <br /> 01 00&gt;'''02 00'''&lt; Count<br /> 31 00 99 18 -&gt; 0x18990<br /> 32 00 B6 18 -&gt; 0x18B60<br /> 0x0B =&gt; 1<br /> 0x5F5, (sector)<br /> 0x28C, (offset -&gt; 0x2FAA80 in iso)<br /> 0x04,<br /> 0x00000000 (nop), <br /> 0x54C10D0C (jal sub_370550)<br /> 0x0A =&gt; 0xB<br /> 0x3735F8, 0x4B06521B (cop2 0x106521B, vmulw.x vf08,vf10,vf06w), 0x48438000 cfc2 v1,Status<br /> 0x3735FC, 0x48438000 (cfc2 v1,Status), 0x4B06521B cop2 0x106521B (vmulw.x vf08,vf10,vf06w)<br /> 0x3A6FEC, 0 (nop), 0x64110000 li $s1, 0<br /> 0x3A6FF8, 0x0C0EA178 (jal pos_003A85E0), 0x0c03FE80 jal pos_000FFA00<br /> 0xFFA00, 0 (nop), 0x3C080002 lui t0,0x0002<br /> 0xFFA04, 0 (nop), 0x0228402B sltu t0,s1,t0<br /> 0xFFA08, 0 (nop), 0x15000002 bnez t0,pos_000FFA14<br /> 0xFFA0C, 0 (nop), 0x3C010054 lui at,0x0054<br /> 0xFFA10, 0 (nop), 0xAC202800 sw zero,0x2800(at)<br /> 0xFFA14, 0 (nop), 0x080EA178 j pos_003A85E0<br /> 0xFFA18, 0 (nop), 0x26310001 addiu s1,0x1<br /> |-<br /> | NPJD00080 || Zettaizetsumei Toshi (Disaster Report) ||<br /> 00000000 3D 00 00 00 26 44 00 00 44 00 00 00 00 00 00 00 =...&amp;D..D.......<br /> 00000010 53 4C 50 53 2D 32 35 31 31 33 SLPS-25113<br /> || 17446 (4.78)|| <br /> 0x3D =&gt; 0x4426 (17446)<br /> 0x44 =&gt; (disables smoothing and smoothing option)<br /> |}<br /> <br /> ====Unofficial====<br /> {| class=&quot;wikitable sortable&quot; style=&quot;width: 1920px;&quot; | <br /> |-<br /> ! style=&quot;width: 10px;&quot; | ID !! Title !! style=&quot;width: 600px;&quot; | Config Data !! Revision !! Notes<br /> |-<br /> | ALL || .hack\\infection Part 1 || <br /> 00000000 3D 00 00 00 89 3D 00 00 08 00 00 00 FF FF FF FF =....=..........<br /> 00000010 FF FF FF FF 8D 94 11 01 FC 0E 00 80 FF FF FF FF ................<br /> 00000020 FF FF FF FF 8D 94 11 01 03 02 03 10 08 00 00 00 ................<br /> 00000030 FF FF FF FF FF FF FF FF 40 A7 E0 01 3C 03 00 80 ........@...&lt;...<br /> 00000040 FF FF FF FF FF FF FF FF 40 A7 E1 01 FC 1E 00 80 ........@.......<br /> 00000050 00 00 00 00 ....<br /> || 15753 (3.73+) || fix freeze<br /> <br /> |-<br /> | SLUS-21268 || 24 The Game ||<br /> 00000000 3D 00 00 00 65 3D 00 00 12 00 00 00 0D 00 00 00 =...e=..........<br /> 00000010 00 00 00 04 00 00 00 00 02 00 03 00 E7 00 00 00 ................<br /> 00000020 45 AD 6E AA EF 02 00 00 02 00 03 00 F3 00 00 00 E.n.............<br /> 00000030 E4 A0 6E 47 FA 02 00 00 03 00 02 00 B0 55 41 10 ..nG.........UA.<br /> 00000040 68 56 41 10 00 00 00 00 hVA..... <br /> <br /> || 15717 (3.73+) || fixes loading screen freezing<br /> 0x3D =&gt; 0x3D65 (15717)<br /> 0x12 =&gt; 0x0D, <br /> 00 00 00 04 <br /> 00 00 00 00 <br /> 02 00&gt;'''03 00'''&lt; Count, Type 2<br /> E7 00 00 00 <br /> 45 AD 6E AA <br /> EF 02 00 00 <br /> 02 00&gt;'''03 00'''&lt; Count, Type 2<br /> F3 00 00 00 <br /> E4 A0 6E 47 <br /> FA 02 00 00 <br /> 03 00&gt;'''02 00'''&lt; Count, Type 3<br /> B0 55 41 10 -&gt; 0x4155B0<br /> 68 56 41 10 -&gt; 0x415668 <br /> <br /> |-<br /> | SCES-50885 || Ape Escape 2 || <br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 01 00 00 00 =...WD..........<br /> 00000010 E0 E0 34 00 16 00 40 14 00 00 00 00 00 00 00 00 ŕŕ4...@.........<br /> || 17495 (4.78+) || Force game to not create Mipmaps. Fix flickering textures completely. <br /> <br /> |-<br /> | SLUS-21165 || Arc the Lad End of Darkness ||<br /> 00000000 3D 00 00 00 60 40 00 00 0F 00 00 00 B8 DD 26 00 =...`@........&amp;.<br /> 00000010 AC FE 26 00 00 00 00 00 ..&amp;..... <br /> || 15634 (3.70+) || fixes not displaying/freezing dialogs<br /> 0x3D =&gt; 0x3D12 (15634)<br /> 0x0F =&gt; 0x26DDB8, 0x26FEAC<br /> |-<br /> | SLUS-21445 || Ar Tonelico - Melody of Elemia ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> |-<br /> | SLUS-21788 || Ar tonelico II - Melody of Metafalica ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | || Atelier Iris ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | || Atelier Iris 2 ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | || Atelier Iris 3 ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | SLES-50672/SLUS-20035 || Baldur's Gate - Dark Alliance || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly (see: [https://www.dropbox.com/s/92n81uot56czb5v/Datei%2018.08.17%2011%2011%2029.jpeg?dl=0] )<br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> |-<br /> | || Baldur's Gate 2 || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | || Bard's Tale || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | SLES-51044 / SLES-52968 || Burnout 2: POI || <br /> 00000000 3D 00 00 00 46 40 00 00 0A 00 00 00 05 00 00 00 =...F@..........<br /> 00000010 B8 85 24 00 18 0D 80 C6 16 43 01 3C CC 85 24 00 ¸…$...€Ć.C.&lt;Ě…$.<br /> 00000020 00 00 40 E4 00 00 41 AC 04 26 26 00 80 97 80 C7 ..@ä..A¬.&amp;&amp;.€—€Ç<br /> 00000030 16 43 01 3C 18 26 26 00 00 00 40 E4 00 00 41 AC .C.&lt;.&amp;&amp;...@ä..A¬<br /> 00000040 B8 64 25 00 64 97 82 8F 00 00 02 24 00 00 00 00 ¸d%.d—‚Ź...$....<br /> || 16454 ||<br /> Fixes all white rendered textures/shadows (Big thanks to Maori-Jigglypuff for patch code! )<br /> 0x3D =&gt; 0x4046 (16454)<br /> 0x0A =&gt; 0x5 (5 Patches to EE memory)<br /> // Remove the whitish Car-Parts from the Racer Cars<br /> // [Control Address and Value: 2039917C 43160000]<br /> 0x2485B8, 0xC6800D18 (lwc1 $f0, 0xD18(s4)), 0x3C014316 (lui at, 0x4316)<br /> 0x2485СС, 0xE4400000 (swc1 $f0, 0(v0)), 0xAC410000 (sw at, 0(v0))<br /> <br /> // Remove the whitish Car-Parts from the Traffic Cars<br /> 0x262604, 0xC7809780 (lwc1 $f0, 0x9780(gp)), 0x3C014316 (lui at, 0x4316)<br /> 0x262618, 0xE4400000 (swc1 $f0, 0(v0)), 0xAC410000 (sw at, 0(v0))<br /> <br /> // Remove whitish Reflections on Anything!!!<br /> // (on Buildings, Bridges, Streets)<br /> 0x2564B8, 0x8F829764 (lw v0, 0x9764(gp)), 0x24020000 (li v0, 0)<br /> <br /> |-<br /> | SLUS-20497 || Burnout 2: POI || <br /> 00000000 3D 00 00 00 46 40 00 00 0A 00 00 00 05 00 00 00<br /> 00000010 A8 85 24 00 18 0D 80 C6 16 43 01 3C BC 85 24 00<br /> 00000020 00 00 40 E4 00 00 41 AC F4 25 26 00 80 97 80 C7<br /> 00000030 16 43 01 3C 08 26 26 00 00 00 40 E4 00 00 41 AC<br /> 00000040 A8 64 25 00 64 97 82 8F 00 00 02 24 00 00 00 00<br /> || 16454 ||<br /> Fixes all white rendered textures/shadows (Big thanks to Maori-Jigglypuff for patch code! )<br /> 0x3D =&gt; 0x4046 (16454)<br /> 0x0A =&gt; 0x5 (5 Patches to EE memory)<br /> // Remove the whitish Car-Parts from the Racer Cars<br /> // [Control Address and Value: 2039917C 43160000]<br /> 0x2485A8, 0xC6800D18 (lwc1 $f0, 0xD18(s4)), 0x3C014316 (lui at, 0x4316)<br /> 0x2485bc, 0xE4400000 (swc1 $f0, 0(v0)), 0xAC410000 (sw at, 0(v0))<br /> <br /> // Remove the whitish Car-Parts from the Traffic Cars<br /> 0x2625F4, 0xC7809780 (lwc1 $f0, 0x9780(gp)), 0x3C014316 (lui at, 0x4316)<br /> 0x262608, 0xE4400000 (swc1 $f0, 0(v0)), 0xAC410000 (sw at, 0(v0))<br /> <br /> // Remove whitish Reflections on Anything!!!<br /> // (on Buildings, Bridges, Streets)<br /> 0x2564A8, 0x8F829764 (lw v0, 0x9764(gp)), 0x24020000 (li v0, 0)<br /> <br /> |-<br /> | SLUS-21168/SLES-53755/SLPM-66175/SLKA-25328 || Castlevania: Curse of Darkness ||<br /> 00000000 3D 00 00 00 89 3D 00 00 08 00 00 00 00 00 00 80 =....=..........<br /> 00000010 FF FF FF FF 00 00 00 80 00 80 FF FF 00 00 00 80 ................<br /> 00000020 FF FF FF FF 00 00 00 80 01 80 FF FF 00 00 00 00 ................<br /> || || fixes Graphic issues with Spiky Polygons (PCSX2 workaround VU clamping mode none) <br /> <br /> |-<br /> | || Champions of Norath || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | || Champions Return to Arms || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | SLUS-21574 || Dawn of Mana || <br /> 00000000 3D 00 00 00 65 3D 00 00 12 00 00 00 04 00 00 00 =...e=..........<br /> 00000010 00 00 00 00 00 00 00 00 01 00 01 00 0C 00 DF 0D ................<br /> 00000020 00 00 00 00 ....<br /> || 15717 (3.70+) ||<br /> fix? (untested)<br /> 0x3D =&gt; 0x3D65 (15717)<br /> 0x12 =&gt; 0x04, <br /> 00 00 00 00 <br /> 00 00 00 00 <br /> 01 00&gt;01 00&lt; Count, Type 1<br /> 0C 00 DF 0D <br /> <br /> |-<br /> | SCUS-97146 || Disney's Treasure Planet ||<br /> 00000000 3D 00 00 00 F0 42 00 00 0B 00 00 00 01 00 00 00 =...đB..........<br /> 00000010 7C 14 00 00 80 05 00 00 18 00 00 00 3C 01 01 00 |...€.......&lt;...<br /> 00000020 3C 03 BF 80 8C 63 10 C8 00 61 18 24 10 61 FF FB &lt;.ż€Śc.Č.a.$.a˙ű<br /> 00000030 00 00 00 00 24 01 FF FF 14 61 00 04 3C 01 80 00 ....$.˙˙.a..&lt;.€.<br /> 00000040 14 41 00 02 00 00 00 00 00 06 00 0D 00 00 00 00 .A..............<br /> <br /> || 17136 (4.50+) || Fixes black screen at start, it apply to STREAM_D.IRX file in IOP folder. Patch is very weird because it apply to bad offset (should be 0x574), but if applied to correct one then game error with &quot;invalid tp2 file&quot;<br /> <br /> 0x3D =&gt; 0x42F0 (17136)<br /> 0x0B =&gt; 1<br /> 0x147C, (sector)<br /> 0x580, (offset)<br /> 0x18 (bytes to replace), <br /> <br /> <br /> Replaced opcodes<br /> 00 01 01 3C lui at,0x0100<br /> 80 BF 03 3C lui v1,0xBF80<br /> C8 10 63 8C lw v1,0x10C8(v1)<br /> 24 18 61 00 and v1,at<br /> FB FF 61 10 beq v1,at, -0x10<br /> 00 00 00 00 nop <br /> <br /> Original opcodes<br /> FF FF 01 24 li at,-0x1<br /> 04 00 61 14 bne at,v1, +0x14<br /> 00 80 01 3C lui at,0x8000<br /> 02 00 41 14 bne at,v0, +0x0C<br /> 00 00 00 00 nop <br /> 0D 00 06 00 break <br /> <br /> |-<br /> | ALL || Dynasty Warriors 3/Dynasty Warriors 3 Xtreme Legends ||<br /> 00000000 3D 00 00 00 89 3D 00 00 35 00 00 00 00 00 00 00 =...‰=..5.......<br /> || 15753 (3.73+) || <br /> fix blackscreen<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x35 =&gt; (enable Force Flip Field)<br /> <br /> |-<br /> | SLES-53539 || Fahrenheit || <br /> 00000000 3D 00 00 00 F6 41 00 00 40 00 00 00 00 00 00 00 =....A..@.......<br /> Alternative<br /> 00000000 3D 00 00 00 89 3D 00 00 2F 00 00 00 01 00 00 00 =....=../.......<br /> 00000010 00 00 00 00 ....<br /> || 16886 (4.40+) / ||<br /> fixes freeze after Lucas' apartment<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x40 =&gt; (sets some value 1)<br /> <br /> |-<br /> | || Fallout || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | SLUS-20658 SLES-51467 SLPM-65548 SLPM-65803 || Freedom Fighters ||<br /> 00000000 3D 00 00 00 65 3D 00 00 1F 00 00 00 E8 03 00 00 =...e=......č...<br /> 00000010 00 00 00 00 .... <br /> || 15717 (3.70+) ||<br /> fix freeze when you get control at start<br /> 3D =&gt; 0x3D17 (15717)<br /> 0x1F =&gt; 0x3E8 (sets something 3E8 - 1000 in decimal)<br /> <br /> |-<br /> | SLUS-21702 || Fire Pro Wrestling Returns || <br /> 00000000 3D 00 00 00 F6 41 00 00 03 00 00 00 00 00 00 00 =....A..@.......<br /> || 16886 (4.40+) ||<br /> fixes interlaced artifacts<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x03 =&gt; (sets some value 0)<br /> <br /> |-<br /> | SLES-52065 || Flipnic || <br /> 00000000 3D 00 00 00 57 44 00 00 46 00 00 00 47 00 00 00 =...WD..F...G...<br /> 00000010 00 00 00 00 ....<br /> || 17495 (4.78+) || Remove horizontal lines at full screen, and reducing screen shakes little bit<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x46 =&gt; Enable L2H Improvement<br /> 0x47 =&gt; Enable XOR CSR<br /> <br /> |-<br /> | SCES-53851 || Forbidden Siren 2 ||<br /> 00000000 3D 00 00 00 F6 41 00 00 0A 00 00 00 02 00 00 00 =....A..........<br /> 00000010 44 2B 2E 00 FF 49 C9 4B 00 90 44 48 4C 2B 2E 00 D+...I.K..DHL+..<br /> 00000020 00 90 44 48 FF 49 C9 4B 00 00 00 00 ..DH.I.K.... <br /> || 16886 (4.40+) || Graphic issues with Spiky Polygons<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x0A =&gt; 0x2<br /> 0x2E2B44, 0x4BC949FF (vclip vf09xyz, vf09w), 0x48449000 (cfc2 $a1, $18)<br /> 0x2E2B4C, 0x48449000 (cfc2 $a1, $18), 0x4BC949FF (vclip vf09xyz, vf09w)<br /> <br /> |-<br /> | SLUS-20343 || Forever Kingdom || <br /> 00000000 3D 00 00 00 46 40 00 00 26 00 00 00 00 DC 21 00 =...F@..&amp;....Ü!.<br /> 00000010 00 DD 21 00 00 00 00 00 .Ý!.....<br /> || 16454 ||<br /> Fix for bridge that can't be crossed after opening.<br /> 0x3D =&gt; 0x4046 (16454)<br /> 0x26 =&gt; 0x21DC00, 0x21DD00<br /> <br /> |-<br /> | SLUS-20993 || Ghosthunter || <br /> 00000000 3D 00 00 00 57 44 00 00 0E 00 00 00 84 2B 29 00 =...WD......„+).<br /> 00000010 0B 00 00 00 01 00 00 00 A7 06 00 00 98 02 00 00 ........§.......<br /> 00000020 14 00 00 00 4A 00 02 FF 48 45 88 00 4B E0 19 BF ....J..˙HE..Kŕ.ż<br /> 00000030 4B EA 48 BC 4B EA 18 8C 4B E0 19 BF 4B EA 48 BC KęHĽKę.ŚKŕ.żKęHĽ<br /> 00000040 4B EA 18 8C 4A 00 02 FF 48 45 88 00 00 00 00 00 Kę.ŚJ..˙HE......<br /> || 17495 (4.78+) ||<br /> fixes random minor flickering, and ladder bug (see: [https://www.youtube.com/watch?v=WbJzzMYQLI0] )<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x0E =&gt; 0x292B84 (Improve floating point subtract accuracy)<br /> 0x0B =&gt; Disc patch for hidden elf<br /> |-<br /> | SLES-54317 || Ghost Rider || <br /> 00000000 3D 00 00 00 F6 41 00 00 40 00 00 00 00 00 00 00 =....A..@.......<br /> || 16886 (4.40+) ||<br /> texture fix: white overblending ingame<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x40 =&gt; (sets some value 1)<br /> <br /> |-<br /> | SLUS-20552 || Grand Theft Auto - Vice City ||<br /> 00000000 3D 00 00 00 A5 41 00 00 21 00 00 00 01 00 00 00 =...¥A..!.......<br /> 00000010 0A 00 00 00 0D 00 00 00 A0 FF 0F 00 00 00 00 00 ........ ÿ......<br /> 00000020 17 00 01 24 A4 FF 0F 00 00 00 00 00 08 00 24 14 ...$¤ÿ........$.<br /> 00000030 AC FF 0F 00 00 00 00 00 10 00 01 3C B0 FF 0F 00 ¬ÿ.........&lt;°ÿ..<br /> 00000040 00 00 00 00 90 FF 22 8C B4 FF 0F 00 00 00 00 00 .....ÿ&quot;Œ´ÿ......<br /> 00000050 FF FF 42 24 B8 FF 0F 00 00 00 00 00 05 00 40 1C ÿÿB$¸ÿ........@.<br /> 00000060 C0 FF 0F 00 00 00 00 00 04 00 02 24 C4 FF 0F 00 Àÿ.........$Äÿ..<br /> 00000070 00 00 00 00 90 FF 22 AC C8 FF 0F 00 00 00 00 00 .....ÿ&quot;¬Èÿ......<br /> 00000080 21 1D 0B 08 CC FF 0F 00 00 00 00 00 D0 FF BD 27 !...Ìÿ......Ðÿ½'<br /> 00000090 D0 FF 0F 00 00 00 00 00 08 00 E0 03 D4 FF 0F 00 Ðÿ........à.Ôÿ..<br /> 000000A0 00 00 00 00 90 FF 22 AC 80 74 2C 00 D0 FF BD 27 .....ÿ&quot;¬€t,.Ðÿ½'<br /> 000000B0 E8 FF 03 08 00 00 00 00 53 4C 55 53 2D 32 30 35 èÿ......SLUS-205<br /> 000000C0 35 32 52<br /> || 16805 (4.30+) ||<br /> backport of the official config above (disc version 3.00) for the original release<br /> (disc version 1.40). it patches a particle related function when type is 0x17.<br /> 0x0A =&gt; 0x2CEB00 to 0x2C7480<br /> 0x0A =&gt; 0x080B3AC1 to 0x080B1D21 (j pos_002C7484)<br /> <br /> |-<br /> | SLUS-20758 || Growlanser Generations || <br /> 00000000 3D 00 00 00 89 3D 00 00 2C 00 00 00 72 01 00 00 =....=..,...r...<br /> 00000010 0B 00 00 00 01 00 00 00 F8 03 00 00 7C 05 00 00 ............|...<br /> 00000020 04 00 00 00 00 00 00 00 10 40 FF FC 00 00 00 00 .........@......<br /> 00000030 53 4C 55 53 2D 32 30 37 35 38 SLUS-20758 <br /> || 15753 (3.73+) ||<br /> fix menu freeze? (untested)<br /> <br /> |-<br /> | SLUS-20576 || Harry Potter and the Chamber of Secrets || <br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =....=..........<br /> 00000010 00 00 00 00 ....<br /> || 15753 (3.73+) ||<br /> Fix black screen? (untested)<br /> <br /> |-<br /> | SLUS-20926/SLPM-65612/SLKA-25172/SLES-52440/SLES-52527/SLES-52600 || Harry Potter and The Prisoner of Azkaban || <br /> 00000000 3D 00 00 00 57 44 00 00 07 00 00 00 08 00 =...WD........<br /> 0000000E 00 00 00 00 00 00 ......<br /> || 17495 (4.78+) ||<br /> Fix for 3D graphics issues. However sometimes textures have a problem (mipmap?)<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x07 =&gt; 8<br /> <br /> |-<br /> | SLES-54971(?)/SLUS-21628 || Hot Wheels: Beat That! || <br /> 00000000 3D 00 00 00 89 3D 00 00 15 00 00 00 04 00 00 00 =....=..........<br /> 00000010 00 00 00 00 ....<br /> || 15753 (3.73+) ||<br /> Fix for turning off ps3 after selecting track<br /> <br /> |-<br /> | SLUS-21307 || Ice Age 2 The Meltdown ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0B 00 00 00 01 00 00 00 =....=..........<br /> 00000010 31 05 00 00 8C 03 00 00 40 00 00 00 27 BD FE E0 1.......@...'...<br /> 00000020 24 06 00 6C FF BF 00 70 03 A0 20 2D 7F B0 00 80 $..l...p.. -....<br /> 00000030 8C B0 00 00 0C 0C 88 B5 00 00 28 2D 02 00 20 2D ..........(-.. -<br /> 00000040 0C 0A 84 CE 03 A0 28 2D 7B B0 00 80 03 A0 10 2D ......(-{......-<br /> 00000050 DF BF 00 70 03 E0 00 08 27 BD 01 20 27 BD FF 70 ...p....'.. '..p<br /> 00000060 24 06 00 6C FF BF 00 70 03 A0 20 2D 7F B0 00 80 $..l...p.. -....<br /> 00000070 8C B0 00 00 0C 0C 88 B5 00 00 28 2D 02 00 20 2D ..........(-.. -<br /> 00000080 0C 0A 84 CE 03 A0 28 2D 7B B0 00 80 03 A0 10 2D ......(-{......-<br /> 00000090 DF BF 00 70 03 E0 00 08 27 BD 00 90 00 00 00 00 ...p....'.......<br /> 000000A0 53 4C 55 53 2D 32 31 33 30 37 SLUS-21307 <br /> || 15753 (3.73+) || Fix freeze at the game logo<br /> <br /> |-<br /> | SLUS-21196 || Indigo Prophecy || <br /> 00000000 3D 00 00 00 89 3D 00 00 2F 00 00 00 01 00 00 00 =....A..@.......<br /> 00000010 00 00 00 00 ....<br /> || 15753 (3.73+) || Fixes freeze<br /> <br /> |-<br /> | SCES-53286/SCUS-97429 || Jak X || <br /> 00000000 3D 00 00 00 57 3D 00 00 24 00 00 00 00 00 00 00 =...W=..$.......<br /> 00000010 80 BB 00 00 13 00 00 00 00 00 00 00 60 F9 00 00 €»..........`ů..<br /> 00000020 00 00 00 00 .... <br /> || 15753 (3.73+) || Fixes freeze while saving game<br /> <br /> |-<br /> | SLPM-66675 || Kingdom Hearts II Final Mix || <br /> 00000000 3D 00 00 00 89 3D 00 00 26 00 00 00 58 A5 1D 00 =....A..&amp;...XĄ..<br /> 00000010 F4 AE 1D 00 00 00 00 00 ô®...... <br /> || 15753 (3.73+) ||<br /> Fixes Hostile Program Boss issue.<br /> <br /> |-<br /> | SLUS-21799 || Kingdom Hearts Re: Chain of Memories || <br /> 00000000 3D 00 00 00 89 3D 00 00 0F 00 00 00 90 05 10 00 =....=..........<br /> 00000010 78 C2 10 00 00 00 00 00 53 4C 55 53 2D 32 31 37 x.......SLUS-217<br /> 00000020 39 39 99 <br /> || 15753 (3.73+) ||<br /> Fixes tutorial issue? (untested)<br /> <br /> |-<br /> | SLES-50196 || Legacy of Kain: Soul Reaver 2 || <br /> 00000000 3D 00 00 00 43 21 00 00 0A 00 00 00 01 00 00 00 =...C!..........<br /> 00000010 80 1F 2A 00 01 00 00 00 00 00 00 00 00 00 00 00 €.*............. 99 <br /> || 15753 (3.73+) ||<br /> Turn off mipmapping in game engine. Completely fix flickering, and bad texturing.<br /> <br /> |-<br /> | SLUS-20671 || Mafia || <br /> 00000000 3D 00 00 00 89 3D 00 00 09 00 00 00 05 00 00 00 =...‰=..........<br /> 00000010 B0 68 3E 00 34 A3 0F 0C 9C 90 84 8F 00 10 01 3C °h&gt;.4Ł..ś.„Ź...&lt;<br /> 00000020 08 00 02 24 B8 68 3E 00 08 00 02 24 01 00 05 24 ...$¸h&gt;....$...$<br /> 00000030 9C 90 84 8F 10 3C 22 AC C0 68 3E 00 10 3C 22 AC ś.„Ź.&lt;&quot;¬Ŕh&gt;..&lt;&quot;¬<br /> 00000040 00 10 01 3C 01 00 05 24 34 A3 0F 0C B4 2B 3E 00 ...&lt;...$4Ł..´+&gt;.<br /> 00000050 FF FF 02 24 0A 00 50 10 FF FF 02 24 00 00 00 00 ˙˙.$..P.˙˙.$....<br /> 00000060 4C F0 16 00 00 60 80 44 50 07 42 8E 00 60 80 44 Lđ...`€DP.BŽ.`€D<br /> 00000070 0D 00 00 10 00 00 00 00 ........ <br /> || 15753 (3.73+) || Fix freeze at start. Additional two patches comparing to gxemu included here allow to avoid translation lookaside buffer misses in some places, and are required to finish game.<br /> <br /> |-<br /> | SLUS-21735 || Mana Khemia: Alchemists of Al-Revis ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | SLES-53585 || Marvel Nemesis: Rise of the Imperfects ||<br /> 00000000 3D 00 00 00 89 3D 00 00 12 00 00 00 0D 00 00 00 =....=..........<br /> 00000010 00 F0 FF 04 00 00 00 00 02 00 03 00 11 00 00 00 ................<br /> 00000020 7A 7F CE 5D 14 02 00 00 03 00 06 00 EC 8F 55 10 z..]..........U.<br /> 00000030 C0 45 55 10 28 49 55 10 40 4A 55 10 60 7F 55 10 .EU.(IU.@JU.`.U.<br /> 00000040 C0 8F 55 10 00 00 00 00 53 4C 45 53 2D 35 33 35 ..U.....SLES-535<br /> 00000050 38 35 85 <br /> || 15753 (3.73+) || fixes loading/crash?<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x12 =&gt; 0x0D<br /> 00 F0 FF 04<br /> 00 00 00 00<br /> 02 00 03 00 count 3, type 2<br /> 11 00 00 00<br /> 7A 7F CE 5D<br /> 14 02 00 00<br /> 03 00 06 00 count 6, type 3<br /> EC 8F 55 10 0x558fec<br /> C0 45 55 10 0x5545c0<br /> 28 49 55 10 0x554928<br /> 40 4A 55 10 0x554a40<br /> 60 7F 55 10 0x557f60<br /> C0 8F 55 10 0x558fc0<br /> |-<br /> | SLUS-21281 || Marvel Nemesis: Rise of the Imperfects ||<br /> 00000000 3D 00 00 00 89 3D 00 00 12 00 00 00 09 00 00 00 =....=..........<br /> 00000010 00 F0 FF 04 00 00 00 00 02 00 03 00 11 00 00 00 ................<br /> 00000020 7A 7F CE 5D 14 02 00 00 03 00 02 00 88 76 55 10 z..].........vU.<br /> 00000030 08 87 55 10 00 00 00 00 53 4C 55 53 2D 32 31 32 ..U.....SLUS-212<br /> 00000040 38 31 81 <br /> || 15753 (3.73+) || fixes loading/crash?<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x12 =&gt; 0x09<br /> 00 F0 FF 04<br /> 00 00 00 00<br /> 02 00 03 00 count 3, type 2<br /> 11 00 00 00<br /> 7A 7F CE 5D<br /> 14 02 00 00<br /> 03 00 02 00 count 2, type 3<br /> 88 76 55 10 0x557688<br /> 08 87 55 10 0x558708<br /> |-<br /> | SLUS-20230 || Max Payne ||<br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 E4 E6 52 00 =....=........R.<br /> 00000010 03 00 00 00 01 00 00 00 68 E8 52 00 02 00 00 00 ........x.R.....<br /> 00000020 00 00 00 00 ....<br /> || 15753 (3.73+) || fixes game hang on first cutscene/cutscenes<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x01 =&gt; 0x52E6E4, 3 (applies to main.run ELF on disc: 0x52E6E4 dmove a1,v0 )<br /> 0x01 =&gt; 0x52E868, 2 (applies to main.run ELF on disc: 0x52E868 lq s1,0x10(sp) )<br /> <br /> |-<br /> | SLUS-21550 || Metal Slug Anthology ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0A 00 00 00 01 00 00 00 =...‰=..........<br /> 00000010 24 9C 18 00 F8 F7 08 0C D2 1D 06 0C 00 00 00 00 $ś..ř÷..Ň.......<br /> || 15753 (3.73+) || Fix launching MS6 by using LoadImageAndReboot instead of FlushCache. Seems to work much better than GXemu solution.<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0A =&gt; 0x1<br /> 0x189C24, 0x0C08F7F8 (jal sub_23DFE0), 0x0C061DD2 (jal sub_187748)<br /> <br /> |-<br /> | SLUS-20983 || Musashi: Samurai Legend || <br /> 00000000 3D 00 00 00 F6 41 00 00 17 00 00 00 01 00 00 00 =....A..@.......<br /> 00000010 00 00 00 00 ....<br /> || 16886 (4.40+) ||<br /> no sps fix, but reduces heavily<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x17 =&gt; 1 <br /> <br /> |-<br /> | SLES-50134 SLES-50176 SLES-50177 SLES-50178 SLES-50179 || Oni || <br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 01 00 00 00 =...WD..........<br /> 00000010 7C EF 1C 00 FF FF 00 41 00 00 00 00 00 00 00 00 |ď..˙˙.A........<br /> || 17495 (4.78+) ||<br /> fixes black screen at start<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x0A =&gt; 0x1<br /> 0x1CEF7C 0x4100FFFF (mftgpr $ra, $zero), 0x00000000 (nop)<br /> <br /> |-<br /> | SLUS-20064 || Oni || <br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 01 00 00 00 =...WD..........<br /> 00000010 CC F3 1C 00 FF FF 00 41 00 00 00 00 00 00 00 00 Ěó..˙˙.A........<br /> || 17495 (4.78+) ||<br /> fixes black screen at start<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x0A =&gt; 0x1<br /> 0x1CF3CC 0x4100FFFF (mftgpr $ra, $zero), 0x00000000 (nop)<br /> <br /> |-<br /> | SLUS-21037 || Project: Snowblind || <br /> 00000000 3D 00 00 00 39 05 00 00 0B 00 00 00 03 00 00 00 =...9...........<br /> 00000010 69 02 00 00 78 00 00 00 04 00 00 00 10 00 00 07 i...x...........<br /> 00000020 45 00 00 07 00 0C 0D 00 78 05 00 00 04 00 00 00 E.......x.......<br /> 00000030 10 00 00 07 45 00 00 07 BB 15 0D 00 F8 05 00 00 ....E...»...ř...<br /> 00000040 04 00 00 00 10 00 00 07 45 00 00 07 00 00 00 00 ........E.......<br /> || ||<br /> fixes mipmap/texturing issues<br /> <br /> <br /> |-<br /> | SLES-52384 || Project Zero II ||<br /> 00000000 3D 00 00 00 AF 42 00 00 21 00 00 00 00 00 00 00 =...ŻB..!.......<br /> 00000010 48 00 00 00 02 00 00 00 9C E6 FF FF 0A 00 00 00 H.......ść˙˙....<br /> 00000020 01 00 00 00 0C 94 17 00 41 01 0F 24 61 01 0F 24 .....”..A..$a..$<br /> 00000030 46 00 00 00 0B 00 00 00 01 00 00 00 F6 03 00 00 F...........ö...<br /> 00000040 98 03 00 00 04 00 00 00 00 42 73 84 00 00 02 FF .........Bs„...˙<br /> 00000050 00 00 00 00 53 4C 45 53 2D 35 32 33 38 34 ....SLES-52384<br /> || 17071 (4.50+) || Fix textures problems + performance improvement<br /> 0x3D =&gt; 0x42AF (17071)<br /> 0x21 =&gt; 0<br /> 0x48 =&gt; 0x2, 0xFFFFE69C<br /> 0x0A =&gt; 1, <br /> 0x17940C, 0x240F0141 (li t7,0x141)<br /> 0x240F0161 (li t7,0x161)<br /> 0x46<br /> 0x0B =&gt; 1<br /> 0x3F6, (sector)<br /> 0x398, (offset)<br /> 0x04,<br /> 0x84734200 lh s3,0x4200(v1),<br /> 0xFF020000 sd v0,(t8)<br /> <br /> |-<br /> | SLUS-20167 || Quake 3 - Revolution ||<br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 02 00 00 00 =...WD..........<br /> 00000010 98 03 2D 00 40 FF BD 27 08 00 E0 03 9C 03 2D 00 ..-.@˙˝'..ŕ.ś.-.<br /> 00000020 A0 00 BE 7F 00 00 00 00 00 00 00 00 <br /> || 17495 (4.78+) || Break creating mipmaps to fix graphical issues / flickering (ps2_netemu not support mipmapping)<br /> <br /> |-<br /> | SLES-50126 || Quake 3 - Revolution ||<br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 02 00 00 00 =...WD..........<br /> 00000010 20 03 2D 00 40 FF BD 27 08 00 E0 03 9C 03 2D 00 ..-.@˙˝'..ŕ.ś.-.<br /> 00000020 A0 00 BE 7F 00 00 00 00 00 00 00 00 <br /> || 17495 (4.78+) || Break creating mipmaps to fix graphical issues / flickering (ps2_netemu not support mipmapping)<br /> <br /> |-<br /> | SLUS-21262 || Radiata Stories ||<br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =...‰=..........<br /> 00000010 01 00 00 00 94 4D 12 00 0A 00 00 00 01 00 00 00 ....”M..........<br /> 00000020 18 F6 1A 00 0B 00 00 00 44 00 00 00 00 00 00 00 .ö......D.......<br /> 00000030 53 4C 55 53 2D 32 31 32 36 32 SLUS-21262 <br /> || 15753 (3.73+) || Fix black screen and ghosting/gfx<br /> <br /> |-<br /> | SLPS-25606/SLPS-25851 || Raw Danger! ||<br /> 00000000 3D 00 00 00 A8 41 00 00 44 00 00 00 00 00 00 00 =...&amp;D..D.......<br /> || 16808 (4.30+) || Untested! But Raw Danger! is Zettaizetsumei Toshi 2, so same issue + solution as part 1? <br /> 0x3D =&gt; 0x41A8 (16808)<br /> 0x44 =&gt; (disables smoothing and smoothing<br /> <br /> |-<br /> | SLUS-20174 || Rumble Racing ||<br /> 00000000 3D 00 00 00 F0 42 00 00 0B 00 00 00 01 00 00 00 =...đB..........<br /> 00000010 DA AE 03 00 20 01 00 00 24 00 00 00 14 80 00 06 Ú®.. ...$....€..<br /> 00000020 00 43 20 21 00 A0 10 21 14 A0 00 02 00 00 00 00 .C !. .!. ......<br /> 00000030 24 05 00 01 10 40 FF EB 24 84 00 04 24 90 FF FC $....@˙ë$„..$.˙ü<br /> 00000040 14 80 00 07 00 43 80 21 00 A0 10 21 14 A0 00 02 .€...C€!. .!. ..<br /> 00000050 00 00 00 00 24 05 00 01 10 40 FF FC 00 00 00 00 ....$....@˙ü....<br /> 00000060 26 04 00 04 00 00 00 00 &amp;.......<br /> || 17136 (4.50+) || fixes black screen after Playstation 2 logo. Patch apply to AUDIO.IRX file in MODULES folder<br /> <br /> 0x3D =&gt; 0x42F0 (17136)<br /> 0x0B =&gt; 1<br /> 0x03AEDA, (sector)<br /> 0x120, (offset)<br /> 0x24 (bytes to replace), <br /> <br /> <br /> Replaced opcodes<br /> 06 00 80 14 bnez a0, +0x1C<br /> 21 20 43 00 addu a0,v0,v1<br /> 21 10 A0 00 move v0,a1<br /> 02 00 A0 14 bnez a1, +0x0C<br /> 00 00 00 00 nop <br /> 01 00 05 24 li a1,0x1<br /> EB FF 40 10 beqz v0, -0x50<br /> 04 00 84 24 addiu a0,0x4<br /> FC FF 90 24 addiu s0,a0,-0x4<br /> <br /> Original opcodes<br /> 07 00 80 14 bnez a0, +0x20<br /> 21 80 43 00 addu s0,v0,v1<br /> 21 10 A0 00 move v0,a1<br /> 02 00 A0 14 bnez a1, +0x0C<br /> 00 00 00 00 nop <br /> 01 00 05 24 li a1,0x1<br /> FC FF 40 10 beqz v0, -0x0C<br /> 00 00 00 00 nop <br /> 04 00 04 26 addiu a0,s0,0x4<br /> <br /> |-<br /> | SLES-51345 || Run Like Hell ||<br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 04 00 00 00 =...WD..........<br /> 00000010 34 45 1D 00 0B FA 07 4B FF 02 00 4A 44 45 1D 00 4E...ú.K˙..JDE..<br /> 00000020 FF 02 00 4A 0B FA 07 4B 20 47 1D 00 BE F8 07 4B ˙..J.ú.K G..ľř.K<br /> 00000030 FF 02 00 4A 30 47 1D 00 AC F7 FE 4B 0B FA 07 4B ˙..J0G..¬÷ţK.ú.K<br /> 00000040 00 00 00 00 ....<br /> || 17495 (4.78+) || fixes main character flickering/texturing<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x0A =&gt; 0x4<br /> <br /> 0x1D4534 0x4B07FA0B (cop2 0x107FA0B), 0x4A0002FF (cop2 0x2FF)<br /> 0x1D4544 0x4A0002FF (cop2 0x2FF) , 0x4B07FA0B (cop2 0x107FA0B)<br /> 0x1D4720 0x4B07F8BE (cop2 0x107F8BE), 0x4A0002FF (cop2 0x2FF)<br /> 0x1D4750 0x4BFEF7AC (cop2 0x1FEF7AC), 0x4B07FA0B (cop2 0x107FA0B)<br /> |-<br /> | SLES-51445 || Rygar: The Legendary Adventure ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0E 00 00 00 50 D0 14 00 =...‰=......PĐ..<br /> 00000010 00 00 00 00 ....<br /> || 15753 (3.73+) || fixes hard crash at start when leaving the place<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0E =&gt; 0x14D050 (offset)<br /> <br /> .text:0014D050 sub.s $f12, $f20, $f12<br /> |-<br /> | SLES-55147/SLUS-21731 || Silent Hill: Origins || <br /> 00000000 3D 00 00 00 F6 41 00 00 40 00 00 00 00 00 00 00 =....A..@.......<br /> || 16886 (4.40+) ||<br /> fixes white overblending at burning house<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x40 =&gt; (sets some value 1)<br /> <br /> |-<br /> | SLUS-20488 || Star Ocean - Till the End of Time ||<br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =....=..........<br /> 00000010 01 00 00 00 48 09 10 00 0A 00 00 00 2C 00 00 00 ....H.......,...<br /> 00000020 72 01 00 00 00 00 00 00 53 4C 55 53 2D 32 30 34 r.......SLUS-204<br /> 00000030 38 38 88 <br /> || 15753 (3.73+) || Fix black screen<br /> <br /> |-<br /> | SLUS-21240 (v1.01)|| Star Wars: Battlefront II || <br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 84 B7 49 00 =...‰=......„·I.<br /> 00000010 05 00 00 00 00 00 00 00 53 4C 55 53 2D 32 31 32 ........SLUS-212<br /> 00000020 34 30 40 <br /> || 15753 (3.73+) || Fix freeze. Work only with v1.01 version of game. Patch apply to SWBFRNT2.ELF file.<br /> <br /> |-<br /> | SLUS-21240 (v2.01)|| Star Wars: Battlefront II || <br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 04 97 49 00 =...‰=.......—I.<br /> 00000010 05 00 00 00 00 00 00 00 53 4C 55 53 2D 32 31 32 ........SLUS-212<br /> 00000020 34 30 40 <br /> || 15753 (3.73+) || Fix freeze. Work only with v2.01 version of game. Patch apply to SWBFRNT2.ELF file.<br /> <br /> |-<br /> | SLES-50371 || Star Wars: Jedi Starfighter || <br /> 00000000 3D 00 00 00 65 3D 00 00 0A 00 00 00 01 00 00 00 =...e=..........<br /> 00000010 98 33 32 00 B4 6B 11 0C 00 00 00 00 00 00 00 00 .32.´k..........<br /> || 15717 (3.73+) || Without it title calls PS2::Exit() at the end of a bonus stage.<br /> <br /> |-<br /> | SLUS-21913 || Star Wars: The Clone Wars – Republic Heroes ||<br /> 00000000 3D 00 00 00 39 05 00 00 0A 00 00 00 01 00 00 00 =...9...........<br /> 00000010 28 33 17 00 FF FF 64 34 FD FF 64 34 00 00 00 00 „Ë..˙˙d4đ˙d4.Ë..<br /> || 1337 (ALL) || Fix graphical gliches, subtitles, QTE buttons, missing HUD<br /> <br /> <br /> |-<br /> | SLES-54658 || Star Wars: The Force Unleashed ||<br /> 00000000 3D 00 00 00 39 05 00 00 0A 00 00 00 02 00 00 00 =...9...........<br /> 00000010 84 CB 17 00 FF FF 64 34 F0 FF 64 34 90 CB 17 00 „Ë..˙˙d4đ˙d4.Ë..<br /> 00000020 FE FF 63 34 FC FF 63 34 00 00 00 00 ţ˙c4ü˙c4....<br /> || 1337 (ALL) || Fix graphical gliches, subtitles, QTE buttons, missing HUD<br /> <br /> |-<br /> | ALL || Superman Returns ||<br /> 00000000 3D 00 00 00 89 3D 00 00 08 00 00 00 00 00 00 00 =...‰=..........<br /> 00000010 00 00 00 FE 00 00 00 00 00 00 00 2C 00 00 00 00 ...ţ.......,....<br /> 00000020 00 00 00 FE 00 00 00 00 00 00 00 10 00 00 00 00 ...ţ............<br /> || 15753 (3.73+) || fixes Graphic issues <br /> <br /> |-<br /> | SLUS-21386 || Tales of The Abyss || <br /> 00000000 3D 00 00 00 65 3D 00 00 26 00 00 00 FC FF 27 00 =...e=..&amp;...ü˙'.<br /> 00000010 FF FF 27 00 26 00 00 00 F4 21 29 00 F8 21 29 00 ˙˙'.&amp;...ô!).ř!).<br /> 00000020 00 00 00 00 ....<br /> || 15717 (3.73+) || Fix freeze at Choral Castle <br /> Improve add accuracy range =&gt; 0x27FFFC , 0x27FFFF<br /> Improve add accuracy range =&gt; 0x2921F4 , 0x2921F8<br /> |-<br /> | SLPS-25842 || Tales of Destiny (Director's cut) || <br /> 00000000 3D 00 00 00 57 44 00 00 0F 00 00 00 00 00 1C 00 =...WD..........<br /> 00000010 00 00 1D 00 00 00 00 00 ........<br /> || 17495 (4.78+) || Fix freezes <br /> Improve FPU accuracy range =&gt; 0x1C0000 , 0x1D0000<br /> <br /> |-<br /> | ALL || Tokyo Extreme Racer 3 || <br /> 00000000 3D 00 00 00 91 42 00 00 48 00 00 00 01 00 00 00 =...‘B..H.......<br /> 00000010 F0 49 02 00 00 00 00 00 đI...... <br /> || 17041 (4.46+) || Fix screen jumps <br /> Vsync Delay -&gt; No IPU 150,000<br /> <br /> |-<br /> | ALL || Tony Hawk's series ||<br /> 00000000 3D 00 00 00 89 3D 00 00 08 00 00 00 00 00 00 80 =....=..........<br /> 00000010 FF FF FF FF 00 00 00 80 00 00 40 53 00 00 00 80 ..........@S....<br /> 00000020 FF FF FF FF 00 00 00 80 00 00 40 D3 14 00 00 00 ..........@Ó....<br /> 00000030 00 00 00 00 ....<br /> || 15753 (3.73+) || fixes Graphic issues with Spiky Polygons<br /> <br /> |-<br /> | ALL || TY The Tasmanian Tiger || <br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =...‰=..........<br /> 00000010 00 00 00 00 <br /> || 15753 (3.73+) || Fix graphical glitches, and fix locks up once you're given control.<br /> <br /> |-<br /> | SLUS-21106 || True Crime: NYC ||<br /> 00000000 3D 00 00 00 89 3D 00 00 27 00 00 00 D8 2A 41 00 =...‰=..'...Ř*A.<br /> 00000010 50 2E 41 00 00 00 00 00 P.A.....<br /> || 15753 (3.73+) || fixes freeze when something in 3D appearing<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x27 =&gt; 0x412AD8, 0x412E50<br /> <br /> |-<br /> | SLES-51958 || Whiplash ||<br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 01 00 00 00 =...WD..........<br /> 00000010 84 D5 25 00 07 00 02 45 07 00 00 10 00 00 00 00 „Ő%....E........<br /> || || Trick game to not produce mipmaps. Fix graphical issues. <br /> <br /> |-<br /> | SLUS-21452 || Valkyrie Profile 2 - Silmeria ||<br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =...‰=..........<br /> 00000010 01 00 00 00 28 09 10 00 0A 00 00 00 01 00 00 00 ....(...........<br /> 00000020 48 98 2B 00 0B 00 00 00 44 00 00 00 00 00 00 00 H.+.....D.......<br /> 00000030 53 4C 55 53 2D 32 31 34 35 32 SLUS-21452<br /> || 15753 (3.73+) || Fix black screen and ghosting/gfx (requires speed fix)<br /> <br /> |-<br /> | SLUS-20469 || Xenosaga Episode I: Der Wille zur Macht || <br /> 00000000 3D 00 00 00 57 44 00 00 0F 00 00 00 00 24 32 00 =...WD.......$2.<br /> 00000010 00 29 32 00 00 00 00 00 .)2..... ........<br /> || 17495 (4.78+) || Fix &quot;erde kaiser&quot; quest. Config cause massive slow down, and should be used only for that part of game, then removed safely. <br /> Improve FPU accuracy range =&gt; 0x322400 , 0x322900<br /> <br /> |-<br /> | SLUS-20228GH || Silent Hill 2 ||<br /> 00000000 3D 00 00 00 34 12 00 00 0E 00 00 00 B4 53 17 00 =...4.......´S..<br /> 00000010 0F 00 00 00 18 5D 17 00 18 5D 17 00 00 00 00 00 .....]...]......<br /> || || Fixes the missing polygons on characters and the inaccurate camera angles<br /> |-<br /> | SLUS-20622 || Silent Hill 3 ||<br /> 00000000 3D 00 00 00 57 44 00 00 0F 00 00 00 34 AC 19 00 =...WD......4¬..<br /> 00000010 34 AC 19 00 00 00 00 00 4¬......<br /> || || Fixes camera inaccuracies<br /> <br /> |-<br /> <br /> | || || || || <br /> <br /> |}<br /> <br /> ===Config data examples (hardcoded)===<br /> ====Inside ps2_emu.self====<br /> Embedded patches are based on Checksum/Hash of title. ps2_emu is only emulator version where patches are described inside self file in ascii. Known patch types described in ascii are: Patch data, new SPU2 params, and Setting mecha HACK to show GODZCD as GODZCDDA.<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> ! PS2 Title !! Hash !! Game !! Patch Type !! Data<br /> |-<br /> | SCUS_971.46|| 0x6B1ADE00D||Disney's Treasure Planet || Patch data - Fixes black screen at start, it apply to STREAM_D.IRX file in IOP folder. || 0x147C (sector) , 0x580 (offset) (- 0xC on disc) <br /> Replace opcodes<br /> 00 01 01 3C lui at,0x0100<br /> 80 BF 03 3C lui v1,0xBF80<br /> C8 10 63 8C lw v1,0x10C8(v1)<br /> 24 18 61 00 and v1,at<br /> FB FF 61 10 beq v1,at, -0x10<br /> 00 00 00 00 nop <br /> <br /> Original opcodes<br /> FF FF 01 24 li at,-0x1<br /> 04 00 61 14 bne at,v1, +0x14<br /> 00 80 01 3C lui at,0x8000<br /> 02 00 41 14 bne at,v0, +0x0C<br /> 00 00 00 00 nop <br /> 0D 00 06 00 break <br /> |-<br /> |SLUS_201.74 ||0x23D92589C5|| Rumble Racing || Patch data - fixes black screen after Playstation 2 logo. Patch apply to AUDIO.IRX file in MODULES folder || 0x3AEDA (sector), 0x120 (offset)<br /> Replace opcodes<br /> 06 00 80 14 bnez a0, +0x1C<br /> 21 20 43 00 addu a0,v0,v1<br /> 21 10 A0 00 move v0,a1<br /> 02 00 A0 14 bnez a1, +0x0C<br /> 00 00 00 00 nop <br /> 01 00 05 24 li a1,0x1<br /> EB FF 40 10 beqz v0, -0x50<br /> 04 00 84 24 addiu a0,0x4<br /> FC FF 90 24 addiu s0,a0,-0x4<br /> <br /> Original opcodes<br /> 07 00 80 14 bnez a0, +0x20<br /> 21 80 43 00 addu s0,v0,v1<br /> 21 10 A0 00 move v0,a1<br /> 02 00 A0 14 bnez a1, +0x0C<br /> 00 00 00 00 nop <br /> 01 00 05 24 li a1,0x1<br /> FC FF 40 10 beqz v0, -0x0C<br /> 00 00 00 00 nop <br /> 04 00 04 26 addiu a0,s0,0x4<br /> <br /> |-<br /> |SLUS_211.96||0x24D92589D5|| Indigo Prophecy || new SPU2 params || 1<br /> |-<br /> |SLPM_661.93||0x608634992D|| &lt;abbr title=&quot;https://www.gamefaqs.com/ps2/544598-indigo-prophecy/data&quot;&gt;Fahrenheit (NTSC-J)&lt;/abbr&gt; || new SPU2 params || 1<br /> |-<br /> |SLUS_212.96||0x5CA15DF14D|| Dance Factory ||Setting mecha HACK to show GODZCD as GODZCDDA ||<br /> |}<br /> <br /> ====Inside ps2_gxemu.self/ps2_softemu.self====<br /> There are hundreds of configs hidden in ps2_gxemu, and ps2_softemu self files. Internal config structure is basing on custom hash based on Title ID, internal memory offset pointing to place where true patch instruction is, and count of used commands. When disc/iso is started emulator search for configs, and if config for selected ID exist, then emulator apply it by itself. Is not perfect way of applying patches, because some games use the same ID, but different content. Good example here is Star Wars Battlefront II SLUS-21240, where some versions of game can refuse to work because it apply bad patch.<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> ! PS2 Title !! Hash !! Game !! Patch Type !! Data<br /> |-<br /> | || || || || <br /> |}<br /> <br /> ==TitleID/DiscID in ps2_netemu.self==<br /> There are 193 titleIDs listed inside ps2_netemu.self. More precisely, into XPARAM2.ELF file of PS2 Bios included in ps2_netemu.self. XPARAM2.ELF is called by OSDSYS, then ID check is performed. If title ID match to one of included in the table, different IOP emulation settings are applied.<br /> There are internal flags related to every title ID included inside file, still unknown what they do. Also some arguments, in plain text. File in real ps2 is introduced in SCPH-750XX models so exactly when DECKARD Power PC chip exchanged original IOP chip. This can explain why it is still in PS3 netemu bios. Because PS3 it is ppc that can need the same/similar flags.<br /> <br /> Original PS2 bios include similar list file called XPARAM.ELF, but Title IDs there are not the same, although some of them exist on both lists.<br /> <br /> {| class=&quot;wikitable sortable&quot; || <br /> |- <br /> ! Command !! Name<br /> |-<br /> | 0x00 || TITLE_MASK <br /> |-<br /> | 0x01 || SIO2_MASK<br /> |-<br /> | 0x02 || DEV9_MASK<br /> |-<br /> | 0x03 || USB_MASK<br /> |-<br /> | 0x04 || SIF_DMA_SYNC<br /> |-<br /> | 0x05 || SIF_DMA_LOAD<br /> |-<br /> | 0x06 || DMAC_CH10_INT_DELAY<br /> |-<br /> | 0x07 || MECHA_RECOGTIME<br /> |-<br /> | 0x08 || CPU_DELAY<br /> |-<br /> | 0x09 || DEV5_INT_SPEED<br /> |-<br /> | 0x0A || CDVD_READ_DELAY<br /> |-<br /> | 0x0B || SPU2_BEHAVIOR<br /> |-<br /> |}<br /> <br /> {| class=&quot;wikitable sortable&quot; || <br /> |- <br /> ! ID !! Title !! Command !! Value !! Remarks <br /> |- <br /> |PBPX_952.01 || DVD Utility Disc Version 1.00 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.02 || DVD Utility Disc Version 1.01 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.03 || DVD Utility Disc Version 1.01 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.06 || DVD Player (Version 2.01) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.07 || DVD Player (Version 2.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.08 || DVD Player (Version 2.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.09 || DVD Player (Version 2.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.10 || DVD Utility Disc Version 2.10 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.11 || DVD Utility Disc Version 1.00 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.21 || DVD Player (Version 2.12) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.22 || DVD Player (Version 2.14) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.24 || DVD Player (Version 2.16) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.28 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.35 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.39 || Online Start Up Disc v3.0 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.01 || Linux for PS2 Beta Release 1 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.07 || Playstation 2 Linux Runtime Environment v1.0 (Disc 1) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.09 || Linux for PS2 Release 1.0 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.18 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PDPX_991.09 || DVD Player (Version 3.04) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PSXC_002.01 || PSX Update Disc 1.10 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PSXC_002.02 || PSX Update Disc 1.20 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PSXC_002.03 || PSX Update Disc 1.31 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PTPX_970.38 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCAJ_201.25 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCAJ_201.26 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCES_532.02 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCKA_200.49 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCPM_621.15 || || 0x00 || 0x1000000 || TITLE_MASK<br /> |-<br /> |SCPM_621.16 || || 0x00 || 0x1000000 || TITLE_MASK<br /> |-<br /> |SCPN_601.01 || PlayStation BB Navigator (Version 0.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.30 || PlayStation BB Navigator (Version 0.20) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.40 || PlayStation BB Navigator (Version 0.30) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.50 || PlayStation BB Navigator (Version 0.31) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.60 || PlayStation BB Navigator (Version 0.32) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPS_110.01 || I.Q. Remix || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPS_110.10 || Yoake no Mariko (Performance Pack Edition) || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_110.18 || Yoake no Mariko || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_110.21 || Yoake no Mariko 2nd Act (Limited Edition) || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_110.22 || Yoake no Mariko 2nd Act || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_150.38 || Lifeline || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SCPS_150.39 || Lifeline || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SCPS_170.01 || Gran Turismo 4 || 0x0B || 0x10000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCPS_175.01 || Linux (for PlayStation2) Release 1.0 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPS_200.39 || || 0x00 || 0x4000000 || TITLE_MASK<br /> |-<br /> |SCUS_971.67 || PaRappa the Rapper 2 || 0x04 || 0x2000 || SIF_DMA_SYNC<br /> |-<br /> |SCUS_972.69 || Final Fantasy XI [Disc 2] || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLES_500.48 || Donald Duck: Quack Attack || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_500.62 || Orphen: Scion of Sorcery || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLES_503.64 || City Crisis || 0x0A || 0x80BB8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_504.46 || Shadow Man 2: The Second Coming || 0x0A || 0x80600 || CDVD_READ_DELAY<br /> |-<br /> |SLES_505.40 || Simpsons: Road Rage || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_506.08 || Shadow Man 2: The Second Coming || 0x0A || 0x80600 || CDVD_READ_DELAY<br /> |-<br /> |SLES_506.28 || Simpsons: Road Rage || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_507.28 || Tiger Woods PGA Tour 2002 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_507.29 || || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_512.82 || Tiger Woods PGA Tour 2003 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_514.79 || Def Jam Vendetta || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLES_518.41 || SpyHunter 2 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_518.44 || Time Crisis 3 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_519.97 || SWAT: Global Strike Team || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_520.97 || SWAT: Global Strike Force || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_530.37 || Super Monkey Ball Deluxe || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLES_536.68 || Micro Machines v4 || 0x01 || 0x801 || SIO2_MASK<br /> |-<br /> |SLES_537.55 || Castlevania: Curse of Darkness || 0x04 || 0x10 || SIF_DMA_SYNC<br /> |-<br /> |SLES_537.96 || FIFA Street 2 || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_620.42 || Kurogane no Houkou: Warship Commander || 0x01 || 0x3000 || SIO2_MASK<br /> |-<br /> |SLPM_620.62 || Gitaroo Man One || 0x0A || 0x80540 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_621.05 || Taikou Risshiden IV || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPM_621.24 || Ready 2 Rumble Boxing: Round 2 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_621.25 || Gauntlet: Dark Legacy || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPM_621.25 || Gauntlet: Dark Legacy || 0x09 || 0x2B470005 || DEV5_INT_SPEED<br /> |-<br /> |SLPM_621.35 || Final Fantasy: XI (Beta Version) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SLPM_621.54 || DDRMAX Dance Dance Revolution 6thMix || 0x08 || 0x1A5E || CPU_DELAY<br /> |-<br /> |SLPM_622.39 || Supercar Street Challenge || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_623.69 || Karaoke Revolution: J-Pop Vol.1 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.79 || Karaoke Revolution: J-Pop Vol.2 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.80 || Karaoke Revolution: J-Pop Vol.3 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.81 || Karaoke Revolution: J-Pop Vol.4 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.82 || Karaoke Revolution: Love &amp; Ballad || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.83 || Karaoke Revolution: Night Selection 2003 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.14 || Karaoke Revolution: Dreams &amp; Memories || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.37 || Suisui Sweet: Amai Ai no Mitsukekata || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_624.50 || Karaoke Revolution: Anime Song Selection || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.51 || Karaoke Revolution: J-Pop Vol.5 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.54 || Karaoke Revolution: J-Pop Vol.6 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.55 || Karaoke Revolution: J-Pop Vol.7 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.56 || Karaoke Revolution: J-Pop Vol.8 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.57 || Karaoke Revolution: Snow &amp; Party || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.64 || Pop'n Taisen Pazurudame Online || 0x08 || 0x1F40 || CPU_DELAY<br /> |-<br /> |SLPM_624.79 || Karaoke Revolution: J-Pop Vol.9 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.91 || Mega Man: The Power Battle || 0x04 || 0x2000 || SIF_DMA_SYNC<br /> |-<br /> |SLPM_624.92 || Karaoke Revolution: Kids Song Selection || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_625.28 || Karaoke Revolution: Kazoku Idol Sengen (Bundle Edition) || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_625.29 || Karaoke Revolution: Kazoku Idol Sengen || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_650.86 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 (Disc 1) || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPM_650.87 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 (Disc 2) || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPM_650.90 || Spy Hunter || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_651.97 || Nobunaga's Ambition Online || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_652.09 || Star Ocean: Till the End of Time || 0x0B || 0x20014 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_654.38 || Star Ocean: Till the End of Time (Director's Cut) (Disc 1) || 0x0B || 0x20014 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_654.39 || Star Ocean: Till the End of Time (Director's Cut) (Disc 2) || 0x0B || 0x20014 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_654.88 || Grand Theft Auto: Vice City || 0x0A || 0x300 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_654.88 || Grand Theft Auto: Vice City || 0x09 || 0x36000200 || DEV5_INT_SPEED<br /> |-<br /> |SLPM_656.33 || I Love Baseball: Pro Yakyu wo Koyonaku || 0x08 || 0xFA0 || CPU_DELAY<br /> |-<br /> |SLPM_656.98 || Love Songs: ADV Futaba Riho 14-sai Natsu || 0x0A || 0x80380 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_657.05 || Final Fantasy XI: Chains of Promathia (Expansion Disc) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_657.06 || Final Fantasy XI: Chains of Promathia (All-In-One Edition) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_657.19 || Burnout 3: Takedown || 0x01 || 0x1C00 || SIO2_MASK<br /> |-<br /> |SLPM_657.83 || Nobunaga no Yabou Online: Tappi no Shou || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_658.94 || Winning Post 6: 2005 Version || 0x01 || 0x2400 || SIO2_MASK<br /> |-<br /> |SLPM_659.34 || Maple Colors || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_659.53 || Final Fantasy: XI (Entry Disc 2005) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_659.84 || Grand Theft Auto: San Andreas || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_660.33 || The Sword of Etheria || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPM_660.33 || The Sword of Etheria || 0x00 || 0x2000000 || TITLE_MASK<br /> |-<br /> |SLPM_660.48 || The Sword of Etheria || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPM_660.48 || The Sword of Etheria || 0x00 || 0x2000000 || TITLE_MASK<br /> |-<br /> |SLPM_660.57 || Taito Memories Vol.1 || 0x08 || 0xCE4 || CPU_DELAY<br /> |-<br /> |SLPM_661.56 || Marheaven: Arm Fight Dream || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_661.75 || Akumajo Dracula: Yami no Juin || 0x08 || 0x60 || CPU_DELAY<br /> |-<br /> |SLPM_661.75 || Akumajo Dracula: Yami no Juin || 0x0B || 0x2001C || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_663.93 || Final Fantasy XI: Treasures of Aht Urhgan (All-In-One Edition) || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_663.93 || Final Fantasy XI: Treasures of Aht Urhgan (All-In-One Edition) || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPM_663.93 || Final Fantasy XI: Treasures of Aht Urhgan (All-In-One Edition) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_663.94 || Final Fantasy XI: Treasures of Aht Urhgan || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_664.36 || Aria the Natural || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_664.36 || Aria the Natural || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLPM_665.39 || Nobunaga no Yabou Online: Haten no Shou || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_665.58 || Tomb Raider: Legend || 0x08 || 0x3E8 || CPU_DELAY<br /> |-<br /> |SLPM_665.74 || Detective Evangelion || 0x00 || 0x2000000 || TITLE_MASK<br /> |-<br /> |SLPM_680.07 || Karaoke Revolution (Trial) || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_680.10 || || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPS_200.08 || Morita Shogi || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPS_200.20 || FIFA 2000 World Championship || 0x04 || 0x2001 || SIF_DMA_SYNC<br /> |-<br /> |SLPS_200.37 || Go Go Golf || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_200.38 || Grappler Baki: Baki Saidai no Tournament || 0x08 || 0x1194 || CPU_DELAY<br /> |-<br /> |SLPS_200.53 || Tenshi no Present: Marle Oukoku Monogatari (Limited Edition) || 0x0B || 0x20000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_200.66 || Tenshi no Present: Marle Oukoku Monogatari || 0x0B || 0x20000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_201.01 || City Crisis || 0x0A || 0x80BB8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_201.11 || Magical Sports Pro Baseball 2001 || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_201.72 || Koushien: Konpeki no Sora || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_201.73 || Hard Hitter 2 || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_201.97 || Surfing Air Show with RatBoy || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_201.99 || F1 2002 || 0x0B || 0x20005 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_202.00 || Final Fantasy XI || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPS_204.04 || Rakushou! Pachi-Slot Sengen 2 || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_204.29 || Hissatsu Pachi-Slot Evolution: Ninja Hattori-Kun V || 0x08 || 0x1B58 || CPU_DELAY<br /> |-<br /> |SLPS_204.55 || Simple 2000 Series Vol.94: The Aka-Champion - Come on Baby || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_250.08 || Sorcerous Stabber Orphen || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPS_250.71 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPS_250.72 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPS_250.81 || Saishuu Densha || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_251.36 || Kuon no Kizuna Sairin Mikotonori || 0x0A || 0x805DC || CDVD_READ_DELAY<br /> |-<br /> |SLPS_251.42 || Tiger Woods PGA Tour 2002 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_251.50 || Only You || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_252.37 || Only You || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_252.75 || Def Jam: Vendetta || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLPS_252.78 || Memories Off: Mix || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_252.90 || Time Crisis 3 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLPS_253.15 || One Piece: Grand Battle 3 || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPS_253.57 || 3-Nen B-Gumi Kinpachi Sensei: Densetsu no Kyoudan ni Tate! || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPS_253.79 || Tokyo Majin Gakuen: Kaihoujyou Kefurokou || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_254.06 || Hitman: Contracts || 0x08 || 0xDAC || CPU_DELAY<br /> |-<br /> |SLPS_254.18 || Ace Combat 5: The Unsung War || 0x0A || 0x500000 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_255.10 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_255.85 || Monster Farm 5: Circus Caravan || 0x07 || 5 || MECHA_RECOGTIME<br /> |-<br /> |SLPS_255.86 || Tales of the Abyss || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_256.04 || Ar tonelico Qoga: Knell of Ar Ciel || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLPS_256.67 || Daito Giken Premium Pachi-Slot Collection: Yoshimune || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPS_256.98 || Fatal Fury Battle Archives Volume 2 || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLPS_257.08 || The Familiar of Zero (Limited Edition) || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_257.09 || The Familiar of Zero || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_257.21 || HimeHibi - Princess Days || 0x0B || 0x8000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_257.22 || Routes PE (Limited Edition) || 0x08 || 0x3E8 || CPU_DELAY<br /> |-<br /> |SLPS_257.27 || Routes PE || 0x08 || 0x3E8 || CPU_DELAY<br /> |-<br /> |SLPS_732.49 || Ar tonelico Qoga: Knell of Ar Ciel (Platinum) || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLUS_200.11 || Orphen: Ocion of Sorcery || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_200.11 || Orphen: Ocion of Sorcery || 0x09 || 0x8000010 || DEV5_INT_SPEED<br /> |-<br /> |SLUS_200.77 || Donald Duck: Go'in Quackers || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_202.74 || City Crisis || 0x0A || 0x80BB8 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_203.05 || Simpsons: Road Rage || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_203.64 || Tiger Woods PGA Tour 2002 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_204.13 || Shadowman 2 || 0x0A || 0x80600 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_204.33 || SWAT: Global Strike Team || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_204.88 || Star Ocean: Til the end of Time [Disc 1] || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_205.72 || Tiger Woods PGA Tour 2003 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_205.90 || Spyhunter 2 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_206.35 || Muppets Party Cruise || 0x01 || 0x801 || SIO2_MASK<br /> |-<br /> |SLUS_206.39 || Def Jam Vendetta || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_206.86 || Splashdown: Rides Gone Wild || 0x0A || 0x80400 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_208.38 || All-Star Baseball 2005 || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLUS_208.51 || Ace Combat 5: The Unsung War || 0x0A || 0x500000 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_208.91 || Star Ocean: Til the end of Time [Disc 2] || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_209.18 || Super Monkey Ball: Deluxe || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_210.59 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLUS_210.70 || Final Fantasy XI: Chains of Promathia || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLUS_210.89 || Karaoke Revolution Vol.3 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_213.31 || Sonic Riders || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_213.39 || Puzzle Challenge || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_214.04 || Final Fantasy XI: Treasures of Aht Urhgan || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLUS_214.52 || Valkyrie Profile 2: Silmeria || 0x08 || 0x1388 || CPU_DELAY<br /> |- <br /> |}<br /> <br /> ==Other game patches (unofficial)==<br /> There are other unofficial ways to patch the PS2 games such the [https://forums.pcsx2.net/Thread-A-simplistic-guide-to-pnach-files-aka-pnach-for-dummies pnach] format, or the widescreen patches that allows 16:9 screen output for some games by hex editing the ISO, or by applying ppf patches. Games work fine on PS3 with same compatibility like before patching. Also some 480p (aka progressive scan) patches work fine. http://ps2wide.net/<br /> <br /> The problem of this methods is the patch is applyed over the ISO and is modifyed permanently, but this problem can be avoided in PS3 because that unofficial patches can be &quot;ported&quot; to the official config format to be used by ps2_netemu.self, by using the official config format the settings and patchs from the config file are applyed &quot;on the fly&quot; and the ISO is not modifyed<br /> <br /> ==ps2_title_brute code==<br /> <br /> A script to calculate whatever this encode is that is used in ps2emu, gxemu and softemu from given input title id.<br /> <br /> It contains code for bruting as well. Just call gen_sum with the title id in a specific format to get it.<br /> <br /> &lt;syntaxhighlight lang=&quot;python&quot;&gt;<br /> title_ = &quot;SLUS_200.73&quot;<br /> <br /> #patches = [0x6b1ade00dL, 0x23d92589c5L, 0x24d92589d5L, 0x608634992dL, 0x5ca15df14dL]<br /> #patches = [0x37ae1cb18dL, 0x608634999dL, 0x06b1ade00dL, 0x5fc674d915L, 0x178e3c9165L, 0x3889349935L,0x18fe4ce145L,0xc126943985,0xe90ebc11b5,0x58be0ca165L]<br /> patches = [ 0xCD1298155L, 0x12C93199A5L, 0x15C93199ADL, 0x24D92589A5L, 0x2CD12D8125L, 0x34C9359935L, 0x34C93599E5L, 0x34C93599E5L, 0x449961C9E5L, 0x4C9169C1CDL, 0x4C9169C1D5L, 0x4C9169C1DDL, 0x4C9169C1E5L, 0x4C9169C1F5L, 0x4C9169C1FDL, 0x4CB14DE12DL, 0x54A955F915L, 0x5CA15DF165L, 0x5CA15DF1FDL, 0x5CA15DF1FDL, 0x649965C94DL, 0x649965C955L, 0x649965C95DL, 0x649965C965L, 0x649965C96DL, 0x6BB149E15DL, 0x6C916DC165L, 0x6C916DC1A5L, 0x6C916DC1ADL, 0x6C916DC1B5L, 0x6C916DC1D5L, 0x6C916DC1DDL, 0x748975D9DDL, 0x7C817DD125L, 0x7C817DD165L, 0x7C817DD16DL, 0x7C817DD175L, 0x7C817DD1CDL, 0x84798529BDL, 0x8559A109ADL, 0x8579852915L, 0x8579852965L, 0x8D51A90145L, 0x8D51A901B5L, 0x8D51A901BDL, 0x8D718D21BDL, 0x9C619D31E5L, 0x9D41B911ADL, 0x9D619D31C5L, 0x9F29357805L, 0x9F293578E5L, 0xB549B51915L, 0xB549B51925L, 0xB549B5195DL, 0xB549B519A5L, 0xB549B519ADL, 0xBC61793025L, 0xBD41BD1105L, 0xC439C569F5L, 0xC7716D20D5L, 0xC7716D20D5L, 0xCA11E941F5L, 0xCF7965285DL, 0xCF7965285DL, 0xD20911582DL, 0xD7617D308DL, 0xE339C1695DL, 0xE794CCB06DL, 0xEA3129608DL, 0xEC11ED4115L, 0xEF594508D5L, 0xF409F559ADL, 0xF7415D10E5L, 0xF7415D10E5L]<br /> <br /> def gen_sum(title):<br /> var_30 = []<br /> for i in range(0x1A):<br /> var_30.append(0)<br /> r9=5<br /> r31=0<br /> #Title 2 decimal<br /> while r9 != 0xB:<br /> r11 = r9 + 1<br /> if r9 == 8:<br /> pass<br /> else:<br /> r5 = ord(title[r9:r9+1])<br /> r7 = r31 * 0xA<br /> r6 = r7 &amp; 0xFFFFFFFF<br /> r4 = r5 + r6<br /> r9 = r4 - 0x30<br /> r31 = r9 &amp; 0xFFFFFFFF<br /> r9 = r11<br /> #print r31<br /> r10 = ord(title[3:4]) # S<br /> r7 = (r31 &gt;&gt; 10) &amp; 0x7F<br /> r11 = ord(title[1:2]) # L<br /> r8 = ord(title[2:3]) # U<br /> r6 = (r10 &gt;&gt; 1) &amp; 0x3F<br /> r12 = ord(title[0:1]) # S<br /> r4 = (r11 &gt;&gt; 3) &amp; 0xF<br /> r5 = (r8 &gt;&gt; 2) &amp; 0x1F<br /> r3 = (r12 &gt;&gt; 4) &amp; 7<br /> r9 = r10 &lt;&lt; 7<br /> r0 = r8 &lt;&lt; 6<br /> r10 = r11 &lt;&lt; 5<br /> r8 = r12 &lt;&lt; 4<br /> r12 = r31 &lt;&lt; 3<br /> r11 = r10 | r5<br /> r9 = r9 | r7<br /> r0 = r0 | r6<br /> var_30[2] = r11 &amp; 0xFF<br /> r7 = r8 | r4<br /> var_30[0] = (r9 &amp; 0xFF)<br /> r10 = r12 | r3<br /> var_30[1] = (r0 &amp; 0xFF)<br /> r12 = (r31 &gt;&gt; 2) &amp; 0x3FFFFFF8<br /> var_30[3] = (r7 &amp; 0xFF)<br /> r8 = 5<br /> var_30[4] = (r10 &amp; 0xFF)<br /> var_30[0x19] = (r12 &amp; 0xFF)<br /> var_30[0x18] = (r8 &amp; 0xFF)<br /> var_30 = [int(v) for v in var_30]<br /> #print [hex(v) for v in var_30]<br /> r5 = var_30<br /> r6 = 0<br /> r4 = 0<br /> while r6 &lt; 5:<br /> r12 = r5[r6:r6+1][0]<br /> r7 = r6 + 1<br /> r0 = var_30[0x19]<br /> r3 = r6 + 0x10<br /> r9 = r12 ^ r0<br /> r31 = r3<br /> r5[r6] = r9<br /> r6 = r7<br /> r5[r31] = r4<br /> #print [hex(v) for v in r5]<br /> r9 = 0<br /> r10 = 0<br /> while r10 &lt; 5:<br /> r11 = r10 + 1<br /> r6 = r5[r10:r10+1][0]<br /> r4 = r9 &lt;&lt; 8<br /> r10 = r11<br /> r9 = r4 | r6<br /> return r9<br /> '''<br /> print hex(gen_sum(title_))<br /> <br /> a1='A'<br /> a2='A'<br /> a3='A'<br /> a4='A'<br /> while a1 &lt;= 'Z':<br /> a2='A'<br /> a3='A'<br /> a4='A'<br /> while a2 &lt;= 'Z':<br /> a3='A'<br /> a4='A'<br /> while a3 &lt;= 'Z':<br /> a4='A'<br /> while a4 &lt;= 'Z':<br /> #print &quot;%s%s%s%s&quot; % (a1,a2,a3,a4)<br /> for i in range(99999):<br /> t = &quot;%s%s%s%s_&quot; % (a1,a2,a3,a4) + '{4}{3}{2}.{1}{0}'.format(i%10,(i/10)%10,(i/100)%10,(i/1000)%10,(i/10000)%10)<br /> if gen_sum(t) in patches:<br /> print t<br /> print True<br /> a4=chr(ord(a4)+1)<br /> print &quot;%s%s%s%s&quot; % (a1,a2,a3,a4)<br /> a3=chr(ord(a3)+1)<br /> print &quot;%s%s%s%s&quot; % (a1,a2,a3,a4)<br /> a2=chr(ord(a2)+1)<br /> a1=chr(ord(a1)+1)<br /> '''<br /> <br /> print hex(gen_sum(&quot;SLUS_213.86&quot;))<br /> '''<br /> for i in range(99999):<br /> t = &quot;SLUS_&quot; + '{4}{3}{2}.{1}{0}'.format(i%10,(i/10)%10,(i/100)%10,(i/1000)%10,(i/10000)%10)<br /> if gen_sum(t) in patches:<br /> print &quot;%s %x&quot; % (t, gen_sum(t))<br /> <br /> '''<br /> &lt;/syntaxhighlight&gt;<br /> <br /> <br /> ==External References==<br /> * [http://www.eurogamer.net/articles/digitalfoundry-vs-ps2-classics-on-ps3]<br /> * [http://www.ps3hax.net/showthread.php?t=53444 PS2 Classics Algorithm By flatz]<br /> * [http://gitorious.ps3dev.net/ps2classic c port]<br /> * https://docs.google.com/spreadsheet/ccc?key=0As9ZdsrJoSp1dC1NTTRCSE5vbTlkOGItTC1CVzE5U3c#gid=7<br /> * http://www.pshomebrew.net/wiki/PS2_Classics_Emulator_Compatibility_List<br /> * [http://www.ps3hax.net/showthread.php?p=620747#post620747 How to properly convert Final Fantasy XII: IZJS For ps2classics]<br /> * https://en.wikipedia.org/wiki/List_of_PlayStation_2_Classics<br /> <br /> CPU-GPU intensive games + games only playable in software render on PCSX2:<br /> * http://wiki.pcsx2.net/index.php/Category:GPU_intensive_games<br /> * http://wiki.pcsx2.net/index.php/Category:CPU_intensive_games<br /> * http://wiki.pcsx2.net/index.php/Category:Software_rendering_only_games<br /> <br /> {{Reverse engineering}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=PS2_Emulation&diff=55876 PS2 Emulation 2020-04-01T21:21:45Z <p>Mysis: /* Config Commands */</p> <hr /> <div>==Description==<br /> Emulation of Playstation 2 is currently handled by 3 kind of emulators. CECH-A/B models use ps2_emu.self able to use built-in PS2 hardware (EE/GS/Rambus memory), and have best compatibility. CECH-C/E use ps2_gxemu, this emulator use physical Graphic Synthesizer found in this ps3 model, but Emotion Engine is fully emulated here, also there is no Rambus memory. All other models emulate PS2 thru fully software based ps2_netemu used for ps2 classics, and hacked now to use decrypted ISO files. Earlier before Sony provided ps2 classics on PS Store there was another soft only emulator strongly based on ps2_gxemu. It was called ps2_softemu, and had support for original PS2 CDVD. Only emulator not able to run physical discs is ps2_netemu. <br /> <br /> Emulators are self files, but not typical one. Emulators are not truly PS3 Game OS elf executables, but Guest OS'es running on LV1 of PS3. This mean that LV2, or more friendly Game OS is unloaded before emulator is loaded. This also mean that while emulators are running we can't call any LV2 function. Also LV1 syscalls are limited to call from all emulators, but can be fully unlocked. <br /> <br /> All emulators use built-in stripped developement version of PS2 BIOS with disabled debug functions that can affect some games. This is done because some games print debug info on screen when found that are run on dev bios. Bios between ps2_emu, ps2_gxemu, and ps2_netemu are different. Although bios from gxemu run fine on netemu, and vice-versa. While ps2_emu BIOS is able to run only on ps2emu version of emulator. <br /> <br /> [[File:Ps2_block_diagram.png|200px|thumb|right|Simplified block diagram of a PS2&lt;br /&gt;[http://www.philvaz.com/games/PS2.htm source]]]<br /> Note: <br /> * not available in early Tool/DECR and Debug/DEX firmwares. But available in AV TOOL firmware since 1.00<br /> * Emulation is based on a SCPH-50000/SCPH-20401 Playstation 2 Model.<br /> * [http://unina.stidue.net/Universita'%20di%20Trieste/Ingegneria%20Industriale%20e%20dell'Informazione/Tuzzi/Architetture_Avanzate_dei_Calcolatori/Emotion_2.pdf Introduction to PlayStation2 Architecture.pdf]<br /> <br /> ==PS2 Emulators types and versions==<br /> ps2_emu.self (1.02++)<br /> ps2_gxemu.self (1.50++)<br /> ps2_softemu.self (1.90++) 1.90-1.94 (11065), 2.00-2.10 (11830), 3.15 (12840), 3.41-3.65 (13474), 3.66-3.70 (15435), 3.72-4.21 (15529)<br /> (Changes: -2.50] [2.52-2.60] [2.70] [2.80] [3.00-3.65] [3.66-3.70] [3.74])<br /> ps2_netemu.self (3.70++)<br /> <br /> &lt;s&gt;<br /> *http://www.crocko.com/651925F44E444D8390E41A39A577BE48/ps2emu.rar<br /> *http://filerio.in/2xjqscjklj72<br /> *http://freakshare.com/files/bp53qpcy/ps2emu.rar.html<br /> *http://www.mirrorcreator.com/files/4BNITIXD/ps2_netemu.7z_links<br /> &lt;/s&gt;<br /> <br /> {{PS2 emulators workload comparison}}<br /> <br /> ===ps2_emu.self===<br /> <br /> ====Self System Table Offset====<br /> {| cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; border=&quot;1&quot; class=&quot;wikitable&quot; style=&quot;text-align: center;&quot;<br /> |-<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 1.00 AV || 0x7C3150 ||<br /> |-<br /> | 1.02 || 0x7C31F0 ||<br /> |-<br /> | 1.10 || 0x7C2168 ||<br /> |-<br /> | 1.11 || 0x7C23C8 ||<br /> |-<br /> | 1.30 || 0x8442E8 ||<br /> |-<br /> | 1.30 AV || 0x8442E8 ||<br /> |-<br /> | 1.31 || 0x844C98 ||<br /> |-<br /> | 1.32 || 0x845CA0 ||<br /> |-<br /> | 1.50 || 0x848728 ||<br /> |-<br /> | 1.90 || 0x4D7ED8 ||<br /> |-<br /> | 3.66 - 3.74 || 0x4E9A20 ||<br /> |-<br /> | 4.00 - 4.01 || 0x4EADB8 ||<br /> |-<br /> | 4.10 - 4.11 || 0x4EAD28 ||<br /> |-<br /> | 4.20 - 4.21 || 0x4EAE30 ||<br /> |-<br /> | 4.23 || 0x4EACE0 ||<br /> |-<br /> | 4.25 || 0x4EAE30 || Reverted to 4.20 - 4.21 version?<br /> |-<br /> | 4.78 - 4.82 || 0x4EB8C0 ||<br /> |}<br /> <br /> ===ps2_gxemu.self===<br /> <br /> ====Self System Table Offset====<br /> {| cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; border=&quot;1&quot; class=&quot;wikitable&quot; style=&quot;text-align: center;&quot;<br /> |-<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 1.50 || 0x5BDFC8 ||<br /> |-<br /> | 1.90 || 0x666C78 ||<br /> |-<br /> | 3.66 - 3.74 || 0x6766B8 ||<br /> |-<br /> | 4.00 - 4.11 || 0x677990 ||<br /> |-<br /> | 3.66 - 3.74 || 0x677AA8 ||<br /> |-<br /> | 4.78 - 4.82 || 0x678548 || <br /> |-<br /> |}<br /> <br /> ===ps2_softemu.self===<br /> <br /> ====Self System Table Offset====<br /> {| cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; border=&quot;1&quot; class=&quot;wikitable&quot; style=&quot;text-align: center;&quot;<br /> |-<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 1.90 || 0x5C7B10 ||<br /> |-<br /> | 2.50 || 0x5C7ED8 ||<br /> |-<br /> | 3.41 || 0x5C8C00 || <br /> |-<br /> | 3.66 - 3.71 || 0x5C8EC0 ||<br /> |-<br /> | 3.72 - 4.01 || 0x5C8E40 ||<br /> |}<br /> <br /> ===ps2_netemu.self===<br /> [[PS2_Classics_Emulator_Compatibility_List|PS2 Classics Emulator Compatibility List]]<br /> <br /> ====Self System Table Offset====<br /> {| cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; border=&quot;1&quot; class=&quot;wikitable&quot; style=&quot;text-align: center;&quot;<br /> |-<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 3.73 - 3.74 || 0x7D8B00 ||<br /> |-<br /> | 4.00 - 4.01 || 0x7DA200 ||<br /> |-<br /> | 4.10 - 4.11 || 0x7DA180 ||<br /> |-<br /> | 4.20 - 4.25 || 0x7DA500 ||<br /> |-<br /> | 4.78 - 4.83 || 0x751280 || <br /> |-<br /> |}<br /> <br /> ====General observations regarding PS2 Classics emulator====<br /> * Virtual memory cards are per title based, but apparently run through the current memory card system. The module used to manage memory cards is: vmc_savedata_plugin.sprx - Using a regular memory card that has been renamed result in a &quot;The save data is corrupt (8XXXXXXX) error&quot;<br /> * Loads an epilepsy warning before PS2 logo (PS button menu appears during epilepsy warning if controller is synced)<br /> * Does not support online functionality of PS2 titles (network configuration utility inside Full Spectrum Warrior claims no network adaptor has been found, same with Syphon Filter: The Omega Strain).<br /> <br /> - Only file that is needed in the folder for PS2 Classics is &quot;iso.bin.enc&quot;. Removing the manuals/DXT files will cause the game to boot IMMEDIATELY to the PS2 logo upon switching to 720p/starting PS2 LPAR.<br /> <br /> ====folder/file layout====<br /> (in this example GTA San Andreas Classic)<br /> &lt;pre&gt;<br /> [NPUD20946]<br /> [USRDIR]<br /> [CONTENT]<br /> 001.dxt<br /> 002.dxt<br /> 003.dxt<br /> 004.dxt<br /> 005.dxt<br /> 006.dxt<br /> 007.dxt<br /> 008.dxt<br /> 009.dxt<br /> 010.dxt<br /> 011.dxt<br /> 012.dxt<br /> 013.dxt<br /> 014.dxt<br /> 015.dxt<br /> 016.dxt<br /> 017.dxt<br /> Others.dxt<br /> Manual.idx<br /> [SAVEDATA]<br /> SCEVMC0.VME<br /> SCEVMC1.VME<br /> CONFIG<br /> ISO.BIN.EDAT<br /> ISO.BIN.ENC<br /> PS3LOGO.DAT<br /> PARAM.SFO<br /> ICON0.PNG<br /> PIC0.PNG<br /> PIC1.PNG<br /> PIC2.PNG<br /> &lt;/pre&gt;<br /> <br /> ==Virtual PS2 (emulated machine) usage and features==<br /> <br /> ===Video Modes===<br /> '''Note:''' Real PS2 : http://users.neoscientists.org/~blue/ps2videomodes.txt<br /> <br /> Video Modes<br /> ----.-----------.---------------.-----------.-----------.<br /> No | Name | Resolution | fV(Hz) | fH(kHz) |<br /> ----+-----------+---------------+-----------+-----------|<br /> 0 | NTSC-NI | 640x240(224) | 59.940 | 15.734 |<br /> 1 | NTSC-I | 640x480(448) | 59.820 | 15.734 |<br /> 2 | PAL-NI | 640x288(256) | 50.000 | 15.625 |<br /> 3 | PAL-I | 640x576(512) | 49.760 | 15.625 |<br /> 4 | VESA-1A | 640x480 | 59.940 | 31.469 |<br /> 5 | VESA-1C | 640x480 | 75.000 | 37.500 |<br /> 6 | VESA-2B | 800x600 | 60.317 | 37.879 |<br /> 7 | VESA-2D | 800x600 | 75.000 | 46.875 |<br /> 8 | VESA-3B | 1024x768 | 60.004 | 48.363 |<br /> 9 | VESA-3D | 1024x768 | 75.029 | 60.023 |<br /> 10 | VESA-4A | 1280x1024 | 60.020 | 63.981 |<br /> 11 | VESA-4B | 1280x1024 | 75.025 | 79.976 |<br /> 12 | DTV-480P | 720x480 | 59.940 | 31.469 |<br /> 13 | DTV-1080I | 1920x1080 | 60.000 | 33.750 |<br /> 14 | DTV-720P | 1280x720 | ?? | ?? |<br /> ----^-----------^---------------^-----------^-----------'<br /> <br /> ===Memory Mapping===<br /> == PCSX2 ==<br /> Mapping host memory for virtual systems...<br /> EE Main Memory @ 0x20000000 -&gt; 0x22884000 [40mb]<br /> IOP Main Memory (2mb) @ 0x24000000 -&gt; 0x24211000 [2mb]<br /> VU0/1 on-chip memory @ 0x28000000 -&gt; 0x2800A000 [40kb]<br /> Reserving memory for recompilers...<br /> SuperVU0 Recompiler Cache @ 0x0E800000 -&gt; 0x0F000000 [8mb]<br /> SuperVU1 Recompiler Cache @ 0x0F000000 -&gt; 0x0F800000 [8mb]<br /> Micro VU0 Recompiler Cache @ 0x3C000000 -&gt; 0x40000000 [64mb]<br /> Micro VU1 Recompiler Cache @ 0x40000000 -&gt; 0x44000000 [64mb]<br /> (thread:MTVU) Calling pthread_create...<br /> R5900-32 Recompiler Cache @ 0x30000000 -&gt; 0x34000000 [64mb]<br /> R3000A Recompiler Cache @ 0x34000000 -&gt; 0x36000000 [32mb]<br /> VIF0 Unpack Recompiler Cache @ 0x36000000 -&gt; 0x36800000 [8mb]<br /> VIF1 Unpack Recompiler Cache @ 0x38000000 -&gt; 0x38800000 [8mb]<br /> <br /> == ps2netemu == <br /> Mapping ELF @ 0x200000000<br /> <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Name !! ea !! lpar2(netemu 4.81) !! size !! flags !! lpar1(lv1 4.81)<br /> |-<br /> | text || 0x0 || 0x3D00000 || 0x300000( 3 MB) || 0x8000000000000003 0000000000000003 || 0x7D00000<br /> |- <br /> | ro_work || 0x300000 || 0x300000 || 0x500000( 5 MB) || 0x0000000000000003 0000000000000003 || 0x4300000<br /> |- <br /> | rw_work || 0x800000 || 0x800000 || 0x2A00000( 42 MB) || 0x0000000000000001 0000000000000003 || 0x4800000<br /> |- <br /> | negmem || 0x1FFF0000 || 0x3210000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000000 || 0x7210000<br /> |- <br /> | ee_ram || 0x100000000 || 0x64000E000000 || 0x2000000( 32 MB) || 0x0000000000000001 0000000000000000 || 0x3C00000 - 0x3F00000, 0x8000000 - 0x9B00000<br /> |- <br /> | ee_jit_code || 0xD00000000 || 0x680024000000 || 0x3000000( 48 MB) || 0x8000000000000001 0000000000000003 || 0xBC00000 - 0xEB00000<br /> |- <br /> | vu0_jit_code || 0xD08000000 || 0x580000800000 || 0x400000( 4 MB) || 0x8000000000000001 0000000000000003 || 0x900000 - 0xC00000<br /> |- <br /> | vu0_jit_data || 0xD0C000000 || 0x3700000 || 0x400000( 4 MB) || 0x0000000000000002 0000000000000003 || 0x7700000<br /> |- <br /> | eeram_jit_lut || 0xE00000000 || 0x640010000000 || 0x2000000( 32 MB) || 0x0000000000000001 0000000000000003 || 0x9C00000 - 0xBB00000<br /> |- <br /> | eerom_jit_lut || 0xE0FC00000 || 0x580000C00000 || 0x400000( 4 MB) || 0x0000000000000001 0000000000000003 || 0xD00000 - 0x1000000<br /> |- <br /> | ee_dbg_ram || 0x90FFF8000 || 0x64000E078000 || 0x8000( 32 KB) || 0x0000000000000001 0000000000000000 || <br /> |- <br /> | iop_ram || 0x400000000 || 0x3300000 || 0x200000( 2 MB) || 0x0000000000000001 0000000000000000 || 0x7300000<br /> |- <br /> | iop_rom || 0x50FC00000 || 0x580001000000 || 0x400000( 4 MB) || 0x0000000000000001 0000000000000002 || 0x1100000 - 0x1400000<br /> |- <br /> | iop_spad || 0x50F800000 || 0x3220000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000002 || 0x7220000<br /> |- <br /> | spu2_ram || 0x600000000 || 0x3500000 || 0x200000( 2 MB) || 0x0000000000000001 0000000000000000 || 0x7500000<br /> |- <br /> | spu2_ram2 || 0x600200000 || 0x3500000 || 0x200000( 2 MB) || 0x0000000000000001 0000000000000000 || 0x7500000<br /> |- <br /> | spu2_pcm || 0x1000000000 || 0x3230000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000000 || 0x7230000<br /> |- <br /> | ee_spr_lo || 0x700000000 || 0x3201000 || 0x2000( 8 KB) || 0x0000000000000001 0000000000000000 || 0x7201000<br /> |- <br /> | ee_spr || 0x800000000 || 0x3203000 || 0x6000( 24 KB) || 0x0000000000000001 0000000000000000 || 0x7203000<br /> |- <br /> | ee_vu0_dmem0 || 0x301004000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_vu0_dmem1 || 0x301005000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_vu0_dmem2 || 0x301006000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_vu0_dmem3 || 0x301007000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_rom || 0x30FC00000 || 0x580001000000 || 0x400000( 4 MB) || 0x0000000000000001 0000000000000001 || 0x1100000 - 0x1400000<br /> |- <br /> | vrc || 0xC00000000 || 0x600005000000 || 0x1000000( 16 MB) || 0x0000000000000001 0000000000000000 || 0x1500000 - 0x2400000<br /> |- <br /> | /dev/zero || 0x4000000000 || 0x3240000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000001 || 0x7240000<br /> |- <br /> | dma_vu0_dmem0 || 0x4001004000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | dma_vu0_dmem1 || 0x4001005000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | dma_vu0_dmem2 || 0x4001006000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | dma_vu0_dmem3 || 0x4001007000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem0 || 0x30000000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem1 || 0x30001000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem2 || 0x30002000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem3 || 0x30003000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | SGSXdr || 0x1904000000 || 0x64000C000000 || 0x1700000( 23 MB) || 0x0000000000000001 0000000000000000 || 0x2500000 - 0x3B00000<br /> |- <br /> | iopTrace || 0x1400000000 || 0x3250000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000000 || 0x7250000<br /> |}<br /> <br /> === Memory Allocation ===<br /> <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Name !! Size !! page_log2 !! lpar2(netemu 4.81) !! lpar1(lv1 4.81)<br /> |-<br /> | ra_vu0_dmem || 0x1000 (4 KB) || 12 (4 KB) || 0x3200000 || 0x7200000<br /> |- <br /> | ra_ee_spr_lo || 0x2000 (8 KB) || 12 (4 KB) || 0x3201000 || 0x7201000<br /> |- <br /> | ra_ee_sprx || 0x6000 (24 KB) || 12 (4 KB) || 0x3203000 || 0x7203000<br /> |- <br /> | ra_negmem || 0x10000 (64 KB) || 16 (64 KB) || 0x3210000 || 0x7210000<br /> |- <br /> | ra_iop_spad || 0x10000 (64 KB) || 16 (64 KB) || 0x3220000 || 0x7220000<br /> |- <br /> | ra_spu2_pcm || 0x10000 (64 KB) || 16 (64 KB) || 0x3230000 || 0x7230000<br /> |- <br /> | ra_nulls || 0x10000 (64 KB) || 16 (64 KB) || 0x3240000 || 0x7240000<br /> |- <br /> | ra_itrace || 0x10000 (64 KB) || 16 (64 KB) || 0x3250000 || 0x7250000<br /> |- <br /> | ra_iop_ram || 0x200000 (2 MB) || 20 (1 MB) || 0x3300000 || 0x7300000<br /> |- <br /> | ra_spu2_ram || 0x200000 (2 MB) || 20 (1 MB) || 0x3500000 || 0x7500000<br /> |- <br /> | ra_vu0_code || 0x400000 (4 MB) || 20 (1 MB) || 0x580000800000 || 0x900000 - 0xC00000<br /> |- <br /> | ra_vu0_data || 0x400000 (4 MB) || 20 (1 MB) || 0x3700000 || 0x7700000<br /> |- <br /> | ra_ee_rom_pc || 0x400000 (4 MB) || 20 (1 MB) || 0x580000C00000 || 0xD00000 - 0x1000000<br /> |- <br /> | ra_ps2_rom || 0x400000 (4 MB) || 20 (1 MB) || 0x580001000000 || 0x1100000 - 0x1400000<br /> |- <br /> | ra_vrc_mem || 0x1000000 (16 MB) || 20 (1 MB) || 0x600005000000 || 0x1500000 - 0x2400000<br /> |- <br /> | ra_sgs_xdr || 0x1700000 (23 MB) || 20 (1 MB) || 0x64000C000000 || 0x2500000 - 0x3B00000<br /> |- <br /> | ra_ee_ram || 0x2000000 (32 MB) || 20 (1 MB) || 0x64000E000000 || 0x3C00000 - 0x3F00000, 0x8000000 - 0x9B00000<br /> |- <br /> | ra_ee_ram_pc || 0x2000000 (32 MB) || 20 (1 MB) || 0x640010000000 || 0x9C00000 - 0xBB00000<br /> |- <br /> | ra_trans_code || 0x3000000 (48 MB) || 20 (1 MB) || 0x680024000000 || 0xBC00000 - 0xEB00000<br /> |}<br /> <br /> ===PS2 Memory and Hardware Mapped Registers Layout===<br /> ----------------------------------------------- <br /> PCSX2<br /> Mapping host memory for virtual systems...<br /> EE Main Memory @ 0x20000000 -&gt; 0x22884000 [40mb]<br /> IOP Main Memory (2mb) @ 0x24000000 -&gt; 0x24211000 [2mb]<br /> VU0/1 on-chip memory @ 0x28000000 -&gt; 0x2800A000 [40kb]<br /> Reserving memory for recompilers...<br /> SuperVU0 Recompiler Cache @ 0x0E800000 -&gt; 0x0F000000 [8mb]<br /> SuperVU1 Recompiler Cache @ 0x0F000000 -&gt; 0x0F800000 [8mb]<br /> Micro VU0 Recompiler Cache @ 0x3C000000 -&gt; 0x40000000 [64mb]<br /> Micro VU1 Recompiler Cache @ 0x40000000 -&gt; 0x44000000 [64mb]<br /> (thread:MTVU) Calling pthread_create...<br /> R5900-32 Recompiler Cache @ 0x30000000 -&gt; 0x34000000 [64mb]<br /> R3000A Recompiler Cache @ 0x34000000 -&gt; 0x36000000 [32mb]<br /> VIF0 Unpack Recompiler Cache @ 0x36000000 -&gt; 0x36800000 [8mb]<br /> VIF1 Unpack Recompiler Cache @ 0x38000000 -&gt; 0x38800000 [8mb]<br /> <br /> R5900 RAM copy @ 0x11C20000 -&gt; 0x13C20000 [32mb]<br /> R5900 RAM LUT @ 0x13C20000 -&gt; 0x16060000 [36mb]<br /> <br /> RAM Sizes - Overview<br /> --------------------<br /> EE - 32 MB<br /> GS - 4 MB<br /> IOP - 2 MB<br /> SPU - 2 MB <br /> <br /> Logical Address Range Physical Address Range Description Size<br /> --------------------- ---------------------- ----------- -----<br /> 0x80000000-0x800FFFFF 0x00000000-0x000FFFFF EE Kernel 1 MB<br /> 0x00100000-0x01FFFFFF 0x00100000-0x01FFFFFF EE RAM (Cached) 31 MB<br /> 0x20100000-0x21FFFFFF 0x00100000-0x01FFFFFF EE RAM (Uncached) 31 MB<br /> 0x30100000-0x31FFFFFF 0x00100000-0x01FFFFFF EE RAM (Uncached&amp;accelerated) 31 MB<br /> 0x10000000-0x11FFFFFF 0x10000000-0x11FFFFFF EE Registers (uncached) 32 MB<br /> 0x12000000-0x13FFFFFF 0x12000000-0x13FFFFFF GS Registers (uncached) 32 MB<br /> 0x1FC00000-0x1FFFFFFF 0x1FC00000-0x1FFFFFFF? Boot ROM0 (uncached) 4 MB<br /> 0x9FC00000-0x9FFFFFFF 0x1FC00000-0x1FFFFFFF? Boot ROM09 (cached) 4 MB<br /> 0xBFC00000-0xBFFFFFFF 0x1FC00000-0x1FFFFFFF? Boot ROM0b (uncached) 4 MB<br /> 0xBE000000-0xBE040000 0x1E000000-0x1E03FFFF? Boot ROM1 256 KB<br /> 0xBE400000-0xBE440000 0x1E400000-0x1E43FFFF? Boot ROM2 256 KB<br /> 0xBC000000-0xBC1FFFFF 0x1C000000-0x1C1FFFFF? IOP RAM 2 MB<br /> 0x70000000-0x70003FFF ---------------------- Scratch Pad 16 KB <br /> <br /> Kernel empty and unused areas (NB: On non-modded consoles)<br /> ----------------------------------------------------------<br /> Area Logical Address Range Physical Address Range Size<br /> ---- --------------------- ---------------------- ----<br /> #1 0x80030000-0x80074FFF 0x00030000-0x00074FFF 282624 Bytes<br /> #2 0x80078250-0x8007FFFF 0x00078250-0x0007FFFF 32176 Bytes<br /> <br /> RAM Mirror Modes Logical Address Range Physical Address Range Size<br /> ---------------- --------------------- ---------------------- ----<br /> Cached 0x00100000-0x01FFFFFF 0x00100000-0x01FFFFFF 31 MB<br /> Uncached 0x20100000-0x21FFFFFF 0x00100000-0x01FFFFFF 31 MB<br /> Uncached&amp;accelerated 0x30100000-0x31FFFFFF 0x00100000-0x01FFFFFF 31 MB<br /> <br /> Operating Modes Logical Address Range Physical Address Range Size<br /> --------------- --------------------- ---------------------- ----<br /> USEG 0x00000000-0x01FFFFFF 0x00000000-0x01FFFFFF 32 MB<br /> KSEG0 0x80000000-0x81FFFFFF 0x00000000-0x01FFFFFF 32 MB<br /> KSEG1 0xA0000000-0xA1FFFFFF 0x00000000-0x01FFFFFF 32 MB<br /> <br /> Hardware Mapped Registers <br /> ------------------------- <br /> <br /> COUNTERS' REGISTERS<br /> -------------------<br /> 10000000 T0_COUNT Timer Count<br /> 10000010 T0_MODE Timer Mode<br /> 10000020 T0_COMP Timer Compare value<br /> 10000030 T0_HOLD Timer Pause <br /> <br /> 10000800 T1_COUNT Timer Count<br /> 10000810 T1_MODE Timer Mode<br /> 10000820 T1_COMP Timer Compare value<br /> 10000830 T1_HOLD Timer Pause <br /> <br /> 10001000 T2_COUNT Timer Count<br /> 10001010 T2_MODE Timer Mode<br /> 10001020 T2_COMP Timer Compare value<br /> <br /> 10001810 T3_COUNT Timer Count<br /> 10001820 T3_MODE Timer Mode<br /> 10001830 T3_COMP Timer Compare value<br /> <br /> IPU REGISTERS (MPEG2 DECODER)<br /> -----------------------------<br /> 10002000 IPU_CMD<br /> 10002010 IPU_CTRL<br /> 10002020 IPU_BP<br /> 10002030 IPU_TOP<br /> <br /> GIF REGISTERS<br /> -------------<br /> 10003000 GIF_CTRL<br /> 10003010 GIF_MODE<br /> 10003020 GIF_STAT<br /> 10003040 GIF_TAG0<br /> 10003050 GIF_TAG1<br /> 10003060 GIF_TAG2<br /> 10003070 GIF_TAG3<br /> 10003080 GIF_CNT<br /> 10003090 GIF_P3CNT<br /> 100030a0 GIF_P3TAG <br /> <br /> VIF0 REGISTERS<br /> -------------- <br /> 10003800 VIF0_STAT VIF0 Status<br /> 10003810 VIF0_FBRST<br /> 10003820 VIF0_ERR<br /> 10003830 VIF0_MARK<br /> 10003840 VIF0_CYCLE<br /> 10003850 VIF0_MODE <br /> 10003860 VIF0_NUM<br /> 10003870 VIF0_MASK<br /> 10003880 VIF0_CODE<br /> 10003890 VIF0_ITOPS<br /> 100038d0 VIF0_ITOP<br /> 10003900 VIF0_R0<br /> 10003910 VIF0_R1<br /> 10003920 VIF0_R2<br /> 10003930 VIF0_R3<br /> 10003940 VIF0_C0<br /> 10003950 VIF0_C1<br /> 10003960 VIF0_C2<br /> 10003970 VIF0_C3 <br /> <br /> VIF1 REGISTERS<br /> --------------<br /> 10003c00 VIF1_STAT<br /> 10003c10 VIF1_FBRST<br /> 10003c20 VIF1_ERR<br /> 10003c30 VIF1_MARK<br /> 10003c40 VIF1_CYCLE<br /> 10003c50 VIF1_MODE<br /> 10003c60 VIF1_NUM<br /> 10003c70 VIF1_MASK<br /> 10003c80 VIF1_CODE<br /> 10003c90 VIF1_ITOPS<br /> 10003ca0 VIF1_BASE<br /> 10003cb0 VIF1_OFST<br /> 10003cc0 VIF1_TOPS<br /> 10003cd0 VIF1_ITOP<br /> 10003ce0 VIF1_TOP<br /> 10003d00 VIF1_R0<br /> 10003d10 VIF1_R1<br /> 10003d20 VIF1_R2<br /> 10003d30 VIF1_R3<br /> 10003d40 VIF1_C0<br /> 10003d50 VIF1_C1<br /> 10003d60 VIF1_C2<br /> 10003d70 VIF1_C3<br /> <br /> FIFO<br /> ----<br /> 10004000 VIF0_FIFO(write)<br /> 10005000 VIF1_FIFO(read/write) <br /> <br /> 10006000 GIF_FIFO0<br /> 10006010 GIF_FIFO1<br /> 10006020 GIF_FIFO2 <br /> <br /> 10007000 IPU_out_FIFO(read)<br /> 10007010 IPU_in_FIFO(write)<br /> <br /> DMA CH0 REGISTERS (Linked to VIF0)<br /> ----------------------------------<br /> 10008000 D0_CHCR DMA-0 Channel Control<br /> 10008010 D0_MADR Memory Address<br /> 10008020 D0_SIZE Transfer Size (they call it D0_QWC)<br /> 10008030 D0_TAG DMA Tag (they call it D0_TADR)<br /> 10008040 D0_??LO they call it D0_ASR0<br /> 10008050 D0_??HI they call it D0_ASR1 <br /> <br /> DMA CH1 REGISTERS (Linked to VIF1)<br /> ----------------------------------<br /> 10009000 D1_CHCR DMA-1 Channel Control<br /> 10009010 D1_MADR Memory Address<br /> 10009020 D1_SIZE Transfer Size (they call it D1_QWC)<br /> 10009030 D1_TAG DMA Tag (they call it D1_TADR)<br /> 10009040 D1_??LO they call it D1_ASR0<br /> 10009050 D1_??HI they call it D1_ASR1 <br /> <br /> DMA CH2 REGISTERS (Linked to GIF)<br /> ---------------------------------<br /> 1000A000 D2_CHCR DMA-2 Channel Control<br /> 1000A010 D2_MADR Memory Address<br /> 1000A020 D2_SIZE Transfer Size (they call it D2_QWC)<br /> 1000A030 D2_TAG DMA Tag (they call it D2_TADR)<br /> 1000A040 D2_??LO they call it D2_ASR0<br /> 1000A050 D2_??HI they call it D2_ASR1<br /> 1000A080 D2_SADR<br /> <br /> DMA CH3 REGISTERS (Linked to IPU (FROM???))<br /> --------------------------------------------<br /> 1000B000 D3_CHCR DMA-3 Channel Control<br /> 1000B010 D3_MADR Memory Address<br /> 1000B020 D3_QWC Transfer Size<br /> <br /> DMA CH4 REGISTERS (Linked to IPU (TO???))<br /> -----------------------------------------<br /> 1000B400 D4_CHCR DMA-4 Channel Control<br /> 1000B410 D4_MADR Memory Address<br /> 1000B420 D4_QWC Transfer Size<br /> 1000B430 D4_TADR DMA Tag<br /> <br /> DMA CH5 REGISTERS (Linked to SIF0)<br /> ----------------------------------<br /> 1000C000 D5_CHCR DMA-4 Channel Control<br /> 1000C010 D5_MADR Memory Address<br /> 1000C020 D5_QWC Transfer Size <br /> <br /> DMA CH6 REGISTERS (Linked to SIF1)<br /> ----------------------------------<br /> 1000C400 D6_CHCR DMA-6 Channel Control<br /> 1000C410 D6_MADR Memory Address<br /> 1000C420 D6_QWC Transfer Size<br /> 1000C430 D6_TADR DMA Tag <br /> <br /> DMA CH7 REGISTERS (Linked to SIF2)<br /> ----------------------------------<br /> 1000C800 D7_CHCR DMA-7 Channel Control<br /> 1000C810 D7_MADR Memory Address<br /> 1000C820 D7_QWC Transfer Size<br /> <br /> DMA CH8 REGISTERS (Linked to SPR (form SCRATCH PAD to RAM???)<br /> --------------------------------------------------------------<br /> 1000D000 D8_CHCR DMA-8 Channel Control<br /> 1000D010 D8_MADR Memory Address<br /> 1000D020 D8_QWC Transfer Size<br /> 1000D080 D8_MCR ???<br /> <br /> DMA CH9 REGISTERS (Linked to SPR (form RAM to SCRATCH PAD???)<br /> --------------------------------------------------------------<br /> 1000D400 D9_CHCR DMA-9 Channel Control<br /> 1000D410 D9_MADR Memory Address<br /> 1000D420 D9_QWC Transfer Size<br /> 1000D430 D9_TADR DMA Tag<br /> 1000D480 D9_MCR? ??? <br /> <br /> DMA CONTROL REGISTERS<br /> ---------------------<br /> 1000E000 D_CTRL DMA Control<br /> 1000E010 D_STAT DMA Status<br /> 1000E020 D_PCR <br /> 1000E030 D_SQWC<br /> 1000E040 D_RBSR<br /> 1000E050 D_RBOR<br /> 1000E060 D_STADR<br /> <br /> 1000F000 INTC_STAT<br /> 1000F010 INTC_MASK<br /> <br /> 1000F100<br /> 1000F120<br /> 1000F130 STD-OUT STATUS???<br /> 1000F140<br /> 1000F150<br /> 1000F180 STD-OUT DATA???<br /> <br /> 1000F230 SBUS_SMFLG<br /> <br /> 1000F410<br /> 1000F430<br /> 1000F440<br /> 1000F480<br /> 1000F490<br /> 1000F500 <br /> <br /> 1000f520 D_ENABLEW<br /> 1000f590 D_ENABLER<br /> <br /> <br /> VU MAPPED MEMORY REGISTERS<br /> --------------------------<br /> 11000000 VU0 PROGRAM MEMORY Program Memory (4K ROM)<br /> 11001000 VU0 MEMORY Memory (4K ROM)<br /> 11008000 VU1 PROGAM MEMORY VU1 Program Memory (16K ROM)<br /> 1100C000 VU1 MEMORY VU1 Memory (16K ROM)<br /> <br /> GS<br /> --<br /> 12000000 GS_PMODE<br /> 12000010 GS_SMODE1<br /> 12000020 GS_SMODE2<br /> 12000030 GS_SRFSH<br /> 12000040 GS_SYNCH1<br /> 12000050 GS_SYNCH2<br /> 12000060 GS_SYNCV<br /> 12000070 GS_DISPFB1<br /> 12000080 GS_DISPLAY1<br /> 12000090 GS_DISPFB2<br /> 120000a0 GS_DISPLAY2<br /> 120000b0 GS_EXTBUF<br /> 120000c0 GS_EXTDATA<br /> 120000d0 GS_EXTWRITE<br /> 120000e0 GS_BGCOLOR<br /> 12001000 GS_CSR<br /> 12001010 GS_IMR<br /> 12001040 GS_BUSDIR<br /> 12001080 GS_SIGLBLID<br /> <br /> Scratch Pad RAM Address Range<br /> -----------------------------<br /> 0x70000000-0x70003FFF<br /> <br /> ROM BIOS Mirror Address Range Logical Address Range Physical Address Range<br /> ----------------------------- --------------------- ----------------------<br /> Uncached 0x1FC00000-0x1FFFFFFF 0x1FC00000-0x1FFFFFFF<br /> Cached 0x9FC00000-0x9FFFFFFF 0x1FC00000-0x1FFFFFFF<br /> Uncached 0xBFC00000-0xBFFFFFFF 0x1FC00000-0x1FFFFFFF <br /> <br /> Some Acronyms<br /> --------<br /> EE - Emotion Engine (main CPU)<br /> GS - Graphics Synthesizer<br /> IOP - Input/Output Processor<br /> SPU - Sound Processor Unit<br /> USEG - User Mode Segment<br /> KSEG0 - Kernel Mode, Segment 0<br /> KSEG1 - Kernel Mode, Segment 1 <br /> <br /> Sources<br /> -------<br /> TX System RISC TX79 Core Architecture (Symmetric 2-way superscalar 64-bit CPU) Rev. 2.0<br /> (http://lukasz.dk/files/tx79architecture.pdf)<br /> PS2 MEMORY &amp; HARDWARE MAPPED REGISTERS LAYOUT, by Minmei (https://web.archive.org/web/20080722165353/http://ps2dev.org/ps2/Technical_Documentation/Other/PS2_Memory_and_Hardware_Mapped_Registers_Layout.download) <br /> Kernel empty and unused areas, by GTLCPIMP (https://artemis.bountysource.com/task/show/2270)<br /> dump2mass, by misfire (https://artemis.bountysource.com/solution/show/1074)<br /> ... and others ones spreaded out on the World Wide Web which I can't remember<br /> <br /> ===Controller===<br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! ID !! Controller #Number !! Note<br /> |-<br /> | 1 (1-A) || 1 ||<br /> |-<br /> | 2 (2-A) || 2 ||<br /> |-<br /> | 3 (1-B) || 3 ||<br /> |-<br /> | 4 (2-B) || 4 ||<br /> |-<br /> | 5 (1-C) || 5 || Gamepad LED #1 + #4<br /> |-<br /> | 6 (2-C) || 6 || Gamepad LED #2 + #4<br /> |-<br /> | 7 (1-D) || 7 || Gamepad LED #3 + #4<br /> |-<br /> |}<br /> <br /> ===Peripheral support===<br /> ====ps2_emu.self / ps2_gxemu.self====<br /> #Hub<br /> #Mouse<br /> #Keyboard<br /> #EyeToy<br /> #Head Mount Display<br /> #Mic<br /> #Ascii Mic<br /> #Socom USB Headset<br /> #Usb Headset<br /> #Sea Mic Controller<br /> #Force Feedback device<br /> #GT Force<br /> #Momo Force<br /> #Driving Force Pro<br /> #G25/G27<br /> #Momo Racing<br /> #Flight Force<br /> #Force 3D Pro<br /> #Modem<br /> #Guncon2<br /> #Densya de GO! controller type 2<br /> #Densya de GO! Sincansen senyou controller<br /> #Capture Eye<br /> #Flight Stick<br /> #Flight Stick 2<br /> #Pop Egg<br /> #Trance Vibrator<br /> #PSP<br /> #Compact Flight Controller<br /> #Flash Memory<br /> #Buzz!<br /> #Pachi-Slot Controller Kurouto<br /> #Usb Adapter<br /> #Guncon3<br /> #Multi Train Controller<br /> <br /> ====ps2_netemu.self====<br /> #BD Remote Control<br /> #PLAYSTATION(R)3 Controller (Vendor ID 0x54C, Product ID 0x268), <br /> #Motion Controller - Move (Vendor ID 0x54C, Product ID 0x3D5), <br /> #Navigation Controller (Vendor ID 0x54C, Product ID 0x42F)<br /> #&quot;guncon3&quot;<br /> &lt;br/&gt;<br /> Unknown: <br /> #Vendor ID 0xF0D (Hori), Product ID 0x4A <br /> #Vendor ID 0x54C (Sony), Product ID 0x5AF<br /> <br /> ===BIOS===<br /> ====ps2_netemu.self====<br /> Ps2_netemu use integrated PS2 bios included in ps2netemu.elf, not additional file like in ps1emu case. In 4.81 firmware BIOS is located from 0x820A00 to 0x9F09FF (0x820900 to 0x9F08FF in fw4.50). Bios version seems to be Developement v2.20 from Japan region (22/01/2007), but it's of course not limited to booting only NTSC-J games.<br /> <br /> Notable thing is that ps2_netemu run fine with ps2_gxemu bios, but fail to boot using ps2_emu bios. <br /> <br /> {| class=&quot;wikitable&quot; style=&quot;font-size:small;&quot;<br /> |-<br /> ! File !! Offset in fw4.81 ps2_netemu !! Offset in exported bin !! Description !! File type (exportable)<br /> |-<br /> | RESET || 0x820A00 || 0x00 || Bootstrap code for the EE and IOP. || BIN<br /> |-<br /> | ROMDIR || 0x823180 || 0x2780 || The ROMDIR part of the ROM image, which provides information on the location and name of files contained in the image. || BIN<br /> |-<br /> | EXTINFO || 0x8236C0 || 0x2CC0 || Contains the &quot;EXTINFO&quot; for all files in the ROM image. || BIN<br /> |-<br /> | SBIN || 0x823D30 || 0x3330 || Seems to be the pad controller library for the PS1 monitor. || BIN<br /> |-<br /> | LOGO || 0x82ACD0 || 0xA2D0 || PS1 logo? || BIN<br /> |-<br /> | IOPBTCONF || 0x83F420 || 0x1EA20 || Boot configuration file for the IOP, during the final phase of the IOP reset. If no UDNL module is specified, the IOP will only have a single IOP reset in the reboot process, with the modules listed in IOPBTCONF. || BIN<br /> |-<br /> | IOPBTCON2 || 0x83F510 || 0x1EB10 || Boot configuration file for the IOP, for the first phase of the IOP reset (before UDNL is loaded). || BIN<br /> |-<br /> | SYSMEM || 0x83F5E0 || 0x1EBE0 || System Memory Manager. || ELF<br /> |-<br /> | LOADCORE || 0x840800 || 0x1FE00 || The core of IOP module loading. Provides the lowest level of IOP module loading functions. Also handles the startup of the IOP. || ELF<br /> |-<br /> | EXCEPMAN || 0x842D80 || 0x22380 || Exception manager. || ELF<br /> |-<br /> | INTRMANP || 0x843960 || 0x22F60 || Interrupt Manager. According to wisi, it is for PS mode. || ELF<br /> |-<br /> | INTRMANI || 0x845370 || 0x24970 || Interrupt Manager. According to wisi, it is for IOP mode. || ELF<br /> |-<br /> | SSBUSC || 0x8471B0 || 0x267B0 || SSBUS Controller library. The SSBUS seems to be the bus that all peripherals get connected to. It seems to have the power to control the mapping of the device registers, as well as access timing. || ELF<br /> |-<br /> | TIMEMANP || 0x847920 || 0x26F20 || Timer Manager (PS mode) || ELF<br /> |-<br /> | TIMEMANI || 0x848500 || 0x27B00 || Timer Manager (IOP mode) || ELF<br /> |-<br /> | DMACMAN || 0x849130 || 0x28730 || DMA Controller Manager. || ELF<br /> |-<br /> | SYSCLIB || 0x84C830 || 0x2BE30 || System C Library. || ELF<br /> |-<br /> | HEAPLIB || 0x84EF90 || 0x2E590 || Memory HEAP LIBrary (i.e. thvpool, thfpool) || ELF<br /> |-<br /> | THREADLIB || 0x84FC90 || 0x2F290 || Multi_Thread_Manager || ELF<br /> |-<br /> | VBLANK || 0x858A20 || 0x38020 || V-Blank management || ELF<br /> |-<br /> | IOMAN || 0x8597B0 || 0x38DB0 || IO Manager || ELF<br /> |-<br /> | MODLOAD || 0x85B720 || 0x3AD20 || IOP module loader. || ELF<br /> |-<br /> | ROMDRV || 0x85DA70 || 0x3D070 || ROM driver. Provides access to the boot ROM (rom0). || ELF<br /> |-<br /> | ADDDRV || 0x85E960 || 0x3DF60 || Adds support for the DVD ROM (rom1:), via ROMDRV. || ELF<br /> |-<br /> | STDIO || 0x85DDC0 || 0x3D3C0 || Standard I/O library. || ELF<br /> |-<br /> | SIFMAN || 0x85F9B0 || 0x3EFB0 || SIF manager. || ELF<br /> |-<br /> | SIFINIT || 0x860F50 || 0x40550 || Initializes the SIF. || ELF<br /> |-<br /> | EESYNC || 0x861370 || 0x40970 || For synchronizing with the EE, at the end of IOP resets. EESYNC from DNAS images are evil; they also perform a memory wipe of the region from 0x00084000 to .0x00100000. || ELF<br /> |-<br /> | EENULL || 0x861810 || 0x40E10 || The idle thread (id #0) module, in ps2 loaded to 0x00081FC0. || BIN<br /> |-<br /> | PS1ID || 0x861850 || 0x40E50 || Only found in newer boot ROMs || BIN<br /> |-<br /> | LIBFI || 0x861860 || 0x40E60 || Not present in the boot ROM of the SCPH-10000 and SCPH-15000. || BIN<br /> |-<br /> | PS1VERJ || 0x861950 || 0x40F50 || || BIN<br /> |-<br /> | PS1VERA || 0x861960 || 0x40F60 || || BIN<br /> |-<br /> | PS1VERE || 0x861970 || 0x40F70 || || BIN<br /> |-<br /> | PS1VERC || 0x861980 || 0x40F80 || || BIN<br /> |-<br /> | PS1VERH || 0x861990 || 0x40F90 || || BIN<br /> |-<br /> | OSDSYS || 0x8619A0 || 0x40FA0 || The browser || BIN<br /> |-<br /> | - || 0x8619B0 || 0x40FB0 || || BIN<br /> |-<br /> | RDRAM || 0x861A00 || 0x41000 || Provides a RDRAM test for the EE at power-on. This is run from RESET. || BIN<br /> |-<br /> | EELOADCNF || 0x864750 || 0x43D50 || Contains the IOP boot configuration file for EELOAD. || BIN<br /> |-<br /> | SIFCMD || 0x864900 || 0x43F00 || SIF command module. Contains the SIF command and SIF RPC functions. || ELF<br /> |-<br /> | REBOOT || 0x866B40 || 0x46140 || The reboot service. Receives IOP reset packets from the EE, from across the SIF. || ELF<br /> |-<br /> | LOADFILE || 0x867310 || 0x46910 || The RPC server for MODLOAD || ELF<br /> |-<br /> | EECONF || 0x869A70 || 0x49070 || Loads part of the system configuration from the MECHACON EEPROM. Also configures and resets some peripherals, depending on the model version. In slimlines, and possibly on PS3 EECONF will also load the MAC address. || ELF<br /> |-<br /> | - || 0x86A9F0 || 0x49FF0 || || BIN<br /> |-<br /> | IOPBOOT || 0x86AA00 || 0x4A000 || IOP bootup program || BIN<br /> |-<br /> | - || 0x86BB60 || 0x4B160 || || BIN<br /> |-<br /> | TBIN || 0x86C200 || 0x4B800 || The PS1 monitor program. Seems to be the PS1 BIOS. This is started by RESET, when the IOP is in PS1 mode. || BIN<br /> |-<br /> | XSHA1 || 0x87A170 || 0x59770 || sha1 - this only present in PS3. It is used as additional antipiracy check. It seems that it calculate disc main elf checksum and compares it with some database. Config related?|| ELF<br /> |-<br /> | XLOADFILE || 0x87B140 || 0x5A740 || Updated module || ELF<br /> |-<br /> | SIO2MAN || 0x87E1F0 || 0x5D7F0 || SIO2 manager. Provides access to the SIO2 interface. || ELF<br /> |-<br /> | - || 0x87FE20 || 0x5F420 || || BIN<br /> |-<br /> | MCSERV || 0x881D40 || 0x61340 || RPC server for MCMAN. || ELF<br /> |-<br /> | - || 0x883A40 || 0x63040 || || BIN<br /> |-<br /> | KROMG || 0x884A00 || 0x64000 || || BIN<br /> |-<br /> | - || 0x8866C0 || 0x65CC0 || || BIN<br /> |-<br /> | KROM || 0x886A00 || 0x66000 || Kanji ROM? Not sure where this is used. || BIN<br /> |-<br /> | - || 0x8A0870 || 0x7FE70 || || BIN<br /> |-<br /> | ROMVER || 0x8A0900 || 0x7FF00 || ROM version. || BIN<br /> |-<br /> | - || 0x8A0910 || 0x7FF10 || || BIN<br /> |-<br /> | VERSTR || 0x8A0930 || 0x7FF30 || Version string. Probably PS1 ROM will use this because that this string is also present in PlayStation consoles. || BIN<br /> |-<br /> | - || 0x8A0990 || 0x7FF90 || || BIN<br /> |-<br /> | ROMGSCRT || 0x8A0A00 || 0x80000 || || BIN<br /> |-<br /> | NCDVDMAN || 0x8A3730 || 0x82D30 || It seems to be a heavily stripped-down CDVDMAN module, with no support for some S-command functions like sceCdRI. || ELF<br /> |-<br /> | SECRMAN || 0x8B0170 || 0x8F770 || Security Manager. Signing is NOT done with the one in ROM, but with a special version that comes with the utility discs. Looks like PS3 units have a different SECRMAN module from retail sets, similar to PS2 TOOL one. || ELF<br /> |-<br /> | MCMAN || 0x8B4630 || 0x93C30 || Memory Card Manager. || ELF<br /> |-<br /> | PADMAN || 0x8C3AC0 || 0xA30C0 || Pad manager. || ELF<br /> |-<br /> | CDVDMAN || 0x8CD210 || 0xAC810 || The CD/DVD manager. || ELF<br /> |-<br /> | CDVDFSV || 0x8D55C0 || 0xB4BC0 || The RPC server for CDVDMAN. || ELF<br /> |-<br /> | FILEIO || 0x8DD980 || 0xBCF80 || RPC server for IOMAN. Sony has greatly changed the semantics and design of FILEIO after some point. Connecting an old FILEIO EE RPC client to a newer server will result in a severe IOP crash. || ELF<br /> |-<br /> | CLEARSPU || 0x8DFA80 || 0xBF080 || Seems to clear/reset the SPU, but is known to cause crashes under some conditions. Not sure if it's buggy or not. Only used by the OSDSYS of the SCPH-10000 and SCPH-15000, probably retained for backward-compatibility. || ELF<br /> |-<br /> | UDNL || 0x8E16C0 || 0xC0CC0 || It is responsible for selecting the modules and starting the IOP, during the final phase of the IOP reset where the desired modules are to be loaded into the IOP. || ELF<br /> |-<br /> | IGREETING || 0x8E35C0 || 0xC2BC0 || Displays boot information (i.e. IOP boot type, EBOOTP, IBOOTP, switch positions for DSW602 and the type of DSW602 board installed || ELF<br /> |-<br /> | EELOAD || 0x8E4620 || 0xC3C20 || The EE ELF loader, which is loaded by LoadExecPS2() to 0x00082000 in PS2 for loading ELFs. || BIN<br /> |-<br /> | XCDVDMAN || 0x8F37A0 || 0xD2DA0 || cdvd_driver - Updated module || ELF<br /> |-<br /> | XCDVDFSV || 0x902530 || 0xE1B30 || cdvd_ee_driver - Updated module || ELF<br /> |-<br /> | OSDSND || 0x910960 || 0xEFF60 || OSD sound library. This is actually the tentative sound driver, which is called &quot;librspu2&quot; in the Sony SDK. || ELF<br /> |-<br /> | PS2LOGO || 0x93B5B0 || 0x11ABB0 || Displays the PlayStation 2 logo from the inserted disc. For newer consoles, if the logo cannot be decrypted properly, it will fall back to the browser. Not actually required to boot games, but the Sony OSDSYS boots PS2 games through this program. || ELF<br /> |-<br /> | XPARAM2 || 0x957F00 || 0x137500 || Store IOP emulation settings/flags || ELF<br /> |-<br /> | OSDSYS || 0x95A400 || 0x139A00 || The browser || BIN<br /> |-<br /> | PIOPRP || 0x998280 || 0x177880 || Present in the PS3 ps2_(gx/soft/net)emu; contains version 3.1.0 of the IOP software (compared to version 1.3.4 on the root). || BIN<br /> |-<br /> | KERNEL || 0x9DC1E0 || 0x1BB7E0 || The EE kernel || BIN<br /> |}<br /> Description source: https://gist.github.com/uyjulian/25291080f083987d3f3c134f593483c5<br /> <br /> ==Virtual PS2 HDD==<br /> There are 2 different &quot;PS2 game&quot; contents that can be installed in PS3 HDD (CATEGORY's [[PARAM.SFO#CATEGORY_For_HDD_contents | 2P and 2G ]]).<br /> '''2P''' are games released from PSN as &quot;PS2 Classic&quot; in .PKG format, and '''2G''' are a few real &quot;PS2 DVD discs&quot; that can be installed in the PS3 HDD, this installation is managed by the '''PS2_system_data.pkg'''.<br /> <br /> This games can be installed in real PS2 (in the internall HDD of a PS2 fat)... later this same installation was used in the [http://en.wikipedia.org/wiki/PSX_(DVR) PSX]... and when implemented in PS3 there was needed to use a '''virtual PS2 HDD''' image file keeping the same format than the original HDD used in PS2.<br /> <br /> Game files (extracted from the real PS2 disc) are installed in a '''IMAGE.DAT''' file, this file is a 1:1 &quot;raw copy&quot; of a PS2 HDD.<br /> <br /> This '''IMAGE.DAT''' is placed in the &quot;install folder&quot; (inside USRDIR folder) and his size can vary up to 10+GB<br /> <br /> There are 2 different installations: the most common is used to store &quot;game expansions&quot; (e.g: used by additional content in SOCOM games)... the other type of installation is a &quot;full install&quot; and it seems the only game that uses it is &quot;Final Fantasy XI&quot; (main game installation when the game boots for first time + game expansions added later when needed in the same '''IMAGE.DAT''')<br /> <br /> '''PS2_system_data.pkg''' itself uses an '''IMAGE.DAT''' file (6.43 MB)<br /> <br /> The structure of this &quot;virtual PS2 HDD&quot; uses an &quot;APA header&quot; and a &quot;APA MBR&quot; + several &quot;APA partitions&quot;, some of them containing &quot;PFS filesystems&quot;.<br /> <br /> Error message trying to boot a CATEGORY &quot;2G&quot; game with hand-made SFO's and invalid IMAGE.DAT file:<br /> '''The game partition for this game cannot be created because the installed game is corrupted.'''<br /> '''To perform this operation, delete the game, and then reinstall the game using the disc.'''<br /> <br /> *Notes<br /> **List of PS2 disc games compatibles with PS3 HDD installation hardcoded in '''dev_flash/vsh/module/[[game_ext_plugin]].sprx'''<br /> **Virtuall PS2 HDD support module '''dev_flash/vsh/module/[[libps2hdd]].sprx''' ?<br /> <br /> ===PS2 System Data (PSN HDD Tool package)===<br /> A direct link to the package can be found in NoPayStation database in DLCs<br /> <br /> Content ID: IP9100-NPIA00001_00-PS2HDDSYSDAT0001<br /> QA Digest: 2A876715D42678BB7A6E00C030C0121B<br /> HASH: E1B0DBE46FC44190DC7A140681D8B9D4<br /> <br /> http://manuals.playstation.net/document/en/ps3/current/game/hddinstall.html<br /> <br /> '''Titles supporting HDD installation'''<br /> * Nobunaga's Ambition Online and Expansion Packs<br /> * Final Fantasy XI (disc1=SCUS97266 disc2=SCUS97269)and Expansion Discs<br /> * SOCOM II: U.S. NAVY SEALs and Related discs included with OPM Issue 87, OPM Issue 88, OPM Issue 89, OPM Issue 90<br /> * SOCOM 3: U.S. NAVY SEALs<br /> * SOCOM: U.S. NAVY SEALs Combined Assault<br /> * Front Mission Online<br /> * Official PlayStation Magazine Issue 87, 88, 89, 90 Discs<br /> ([[Talk:Emulation#PS2_HDD | non-official ps2hdd gameslist ]])<br /> <br /> ===TitleID/DiscID in game_ext_plugin.sprx===<br /> <br /> Mainly Final Fantasy 11, Nobunaga Ambition Online, Socom IDs and the required HDD Gigabyte amount for install onto the internal hdd.<br /> <br /> Speculation: flags are AND' with 0,1,2 (selected from sys_sm_get_hw_config according to ps2emu hardware flags? 0 = no hw?, 1 = gxemu?, 2=full hw? )<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> ! flags !! DiscID !! Alternative? DiscID !! GigaByte !! Title !! 0 = VMC&lt;br&gt;1 = IMAGE.DAT !! Internal Name? !! GigaByte<br /> |-<br /> |0xFFFF || &quot;SLPS20200&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM65705&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM65706&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM65953&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM66393&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM66394&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM66893&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM66894&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM55229&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0x0001 || &quot;SLPM65197&quot; || &quot;SLPM65197&quot; || 0x07 || &quot;信長の野望 Online&quot; || 1 || &quot;PP.SLPM-65197.MAGIC.APPLICATION&quot; || 0x07<br /> |-<br /> |0x0001 || &quot;SLPM65783&quot; || &quot;SLPM65197&quot; || 0x07 || &quot;信長の野望 Online&quot; || 1 || &quot;PP.SLPM-65197.MAGIC.APPLICATION&quot; || 0x07<br /> |-<br /> |0x0001 || &quot;SLPM66539&quot; || &quot;SLPM65197&quot; || 0x07 || &quot;信長の野望 Online&quot; || 1 || &quot;PP.SLPM-65197.MAGIC.APPLICATION&quot; || 0x07<br /> |-<br /> |0x0001 || &quot;SLPM66954&quot; || &quot;SLPM65197&quot; || 0x07 || &quot;信長の野望 Online&quot; || 1 || &quot;PP.SLPM-65197.MAGIC.APPLICATION&quot; || 0x07<br /> |-<br /> |0xFFFF || &quot;SCUS97269&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLUS21070&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLUS21404&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLUS21694&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLUS21704&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SCUS97275&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97474&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97340&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97341&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97342&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97442&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97545&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |}<br /> <br /> In PS2 Emulator same Title IDs are present with following information: <br /> SLPS25200 FINAL FANTASY XI : 0x100000000 (4 GB?)<br /> SCUS97269 FINAL FANTASY XI : 0x300000000 (12GB?)<br /> SLPM65981 Front Mission Online : 0x100000000 (4 GB?)<br /> SLPM65197 Nobunagas Ambition Online : 0x200000000 (8 GB?)<br /> <br /> ==Emulators management from GameOS==<br /> <br /> ===Mountpoints===<br /> dev_ps2disc<br /> dev_ps2disc1 <br /> <br /> ===ps2_netemu syscalls ===<br /> <br /> 0x0 - 0 = exec smth, <br /> 1 = 0x132 panic, <br /> 2 = 0x133 panic, <br /> 3 = 0x134 panic,<br /> 4 = 0x135 panic, <br /> else = 0x136 panic)<br /> 0xC - exec smth<br /> 0x5 - exec smth<br /> 0x6 - exec smth<br /> 0x10 - panic<br /> <br /> Basically are [[HV_Syscalls#HV_Syscalls|hvsc syscalls]] (xoris r11, r11, 0x8000)<br /> <br /> 0x80000000 - [[HV_Syscall_Reference#lv1_allocate_memory]]<br /> 0x80000001 - [[HV_Syscall_Reference#lv1_write_htab_entry]]<br /> 0x80000002 - [[HV_Syscall_Reference#lv1_construct_virtual_address_space]]<br /> 0x80000007 - [[HV_Syscall_Reference#lv1_select_virtual_address_space]]<br /> 0x80000009 - [[HV_Syscall_Reference#lv1_pause]]<br /> 0x8000000F - [[HV_Syscall_Reference#lv1_put_iopte]]<br /> 0x80000012 - [[HV_Syscall_Reference#lv1_construct_event_receive_port]]<br /> 0x8000001A - [[HV_Syscall_Reference#lv1_detect_pending_interrupts]]<br /> 0x8000001B - [[HV_Syscall_Reference#lv1_end_of_interrupt]]<br /> 0x8000001C - [[HV_Syscall_Reference#lv1_connect_irq_plug]]<br /> 0x80000039 - [[HV_Syscall_Reference#lv1_construct_logical_spe]]<br /> 0x8000003D - [[HV_Syscall_Reference#lv1_set_spe_interrupt_mask]]<br /> 0x80000042 - [[HV_Syscall_Reference#lv1_clear_spe_interrupt_status]]<br /> 0x80000043 - [[HV_Syscall_Reference#lv1_get_spe_interrupt_status]]<br /> 0x80000045 - [[HV_Syscall_Reference#lv1_get_logical_ppe_id]]<br /> 0x80000049 - [[HV_Syscall_Reference#lv1_set_interrupt_mask]]<br /> 0x8000004A - [[HV_Syscall_Reference#lv1_get_logical_partition_id]]<br /> 0x8000004E - [[HV_Syscall_Reference#lv1_get_spe_irq_outlet]]<br /> 0x8000005B - [[HV_Syscall_Reference#lv1_get_repository_node_value]]<br /> 0x8000005F - [[HV_Syscall_Reference#lv1_read_htab_entries]]<br /> 0x80000061 - [[HV_Syscall_Reference#lv1_set_vmx_graphics_mode]]<br /> 0x80000062 - [[HV_Syscall_Reference#lv1_set_thread_switch_control_register]]<br /> 0x80000074 - [[HV_Syscall_Reference#lv1_allocate_io_segment]]<br /> 0x80000076 - [[HV_Syscall_Reference#lv1_allocate_ioid]]<br /> 0x80000078 - [[HV_Syscall_Reference#lv1_construct_io_irq_outlet]]<br /> 0x8000007C - [[HV_Syscall_Reference#lv1_undocumented_function_124]]<br /> 0x8000007D - [[HV_Syscall_Reference#lv1_undocumented_function_125]]<br /> 0x8000007E - [[HV_Syscall_Reference#lv1_undocumented_function_126]]<br /> 0x80000088 - [[HV_Syscall_Reference#lv1_undocumented_function_136]]<br /> 0x8000008C - [[HV_Syscall_Reference#lv1_construct_lpm]]<br /> 0x8000008D - [[HV_Syscall_Reference#lv1_destruct_lpm]]<br /> 0x8000008E - [[HV_Syscall_Reference#lv1_start_lpm]]<br /> 0x8000008F - [[HV_Syscall_Reference#lv1_stop_lpm]]<br /> 0x80000090 - [[HV_Syscall_Reference#lv1_copy_lpm_trace_buffer]]<br /> 0x80000091 - [[HV_Syscall_Reference#lv1_add_lpm_event_bookmark]]<br /> 0x80000092 - [[HV_Syscall_Reference#lv1_delete_lpm_event_bookmark]]<br /> 0x80000093 - [[HV_Syscall_Reference#lv1_set_lpm_interrupt_mask]]<br /> 0x80000094 - [[HV_Syscall_Reference#lv1_get_lpm_interrupt_status]]<br /> 0x80000095 - [[HV_Syscall_Reference#lv1_set_lpm_general_control]]<br /> 0x80000096 - [[HV_Syscall_Reference#lv1_set_lpm_interval]]<br /> 0x80000097 - [[HV_Syscall_Reference#lv1_set_lpm_trigger_control]]<br /> 0x80000098 - [[HV_Syscall_Reference#lv1_set_lpm_counter_control]]<br /> 0x80000099 - [[HV_Syscall_Reference#lv1_set_lpm_group_control]]<br /> 0x8000009A - [[HV_Syscall_Reference#lv1_set_lpm_debug_bus_control]]<br /> 0x8000009B - [[HV_Syscall_Reference#lv1_set_lpm_counter]]<br /> 0x8000009C - [[HV_Syscall_Reference#lv1_set_lpm_signal]]<br /> 0x8000009D - [[HV_Syscall_Reference#lv1_set_lpm_spr_trigger]]<br /> 0x800000A3 - [[HV_Syscall_Reference#lv1_write_virtual_uart]]<br /> 0x800000A4 - [[HV_Syscall_Reference#lv1_set_virtual_uart_param]]<br /> 0x800000A5 - [[HV_Syscall_Reference#lv1_get_virtual_uart_param]]<br /> 0x800000A6 - [[HV_Syscall_Reference#lv1_configure_virtual_uart_irq]]<br /> 0x800000AA - [[HV_Syscall_Reference#lv1_open_device]]<br /> 0x800000AB - [[HV_Syscall_Reference#lv1_close_device]]<br /> 0x800000AC - [[HV_Syscall_Reference#lv1_map_device_mmio_region]]<br /> 0x800000AE - [[HV_Syscall_Reference#lv1_allocate_device_dma_region]]<br /> 0x800000AF - [[HV_Syscall_Reference#lv1_free_device_dma_region]]<br /> 0x800000B0 - [[HV_Syscall_Reference#lv1_map_device_dma_region]]<br /> 0x800000B1 - [[HV_Syscall_Reference#lv1_unmap_device_dma_region]]<br /> 0x800000B2 - [[HV_Syscall_Reference#lv1_read_pci_config]]<br /> 0x800000B3 - [[HV_Syscall_Reference#lv1_write_pci_config]]<br /> 0x800000C5 - [[HV_Syscall_Reference#lv1_connect_interrupt_event_receive_port]]<br /> 0x800000CF - [[HV_Syscall_Reference#lv1_enable_logical_spe]]<br /> 0x800000D2 - [[HV_Syscall_Reference#lv1_gpu_open]]<br /> 0x800000D4 - [[HV_Syscall_Reference#lv1_gpu_device_map]]<br /> 0x800000D6 - [[HV_Syscall_Reference#lv1_gpu_memory_allocate]]<br /> 0x800000D9 - [[HV_Syscall_Reference#lv1_gpu_context_allocate]]<br /> 0x800000DD - [[HV_Syscall_Reference#lv1_gpu_context_iomap]]<br /> 0x800000E1 - [[HV_Syscall_Reference#lv1_gpu_context_attribute]]<br /> 0x800000E3 - [[HV_Syscall_Reference#lv1_gpu_context_intr]]<br /> 0x800000E4 - [[HV_Syscall_Reference#lv1_gpu_attribute]]<br /> 0x800000F5 - [[HV_Syscall_Reference#lv1_storage_read]]<br /> 0x800000F6 - [[HV_Syscall_Reference#lv1_storage_write]]<br /> 0x800000F9 - [[HV_Syscall_Reference#lv1_storage_get_async_status]]<br /> <br /> ===LPAR / AUTH ID's===<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Name !! Auth ID !! Self&lt;br /&gt;(/dev_flash/ps2emu) !! Notes<br /> |-<br /> | PS2_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_emu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2 || 0x107000001D000001 || <br /> |-<br /> | PS2_GX_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_gxemu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2_GX || 0x107000001D000001 || <br /> |-<br /> | PS2_SW_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_softemu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2_SW || 0x107000001D000001 || <br /> |-<br /> | PS2_NE_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_netemu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2_NE || 0x107000001D000001 || <br /> |-<br /> |}<br /> <br /> ====boot_ps2====<br /> http://foxbrew.org/ps3/otheros-utils/boot_ps2.git &lt;br /&gt;<br /> http://www.multi...upload.com/QKK7ETPHXZ boot_ps2-src.rar (1.43 KB) &lt;br /&gt;<br /> http://www.multi...upload.com/YCZ63Y6TQ5 boot_ps2.pkg (69.17 KB) &lt;br /&gt;<br /> <br /> any chance of having this package resigned for 4.21 cfw? might be useful to see if it'll boot ps2_netemu.self LPAR.<br /> <br /> (can boot ps2lpar, but also petitboot if otheros installed! 50:50 chance)<br /> <br /> [http://rghost.net/42586725 boot_ps2 4.xx eboots.zip (153 KB)] &lt;br /&gt; installing 3.55 pkg and replacing the eboot and editing the sfo should work.<br /> <br /> ===Getting compatibility hardware info===<br /> See: [[PS2_Compatibility#Software]]<br /> <br /> ===ps2bootparam.dat===<br /> A file created at path: dev_hdd0/tmp/game/'''ps2bootparam.dat'''<br /> *See: [[ps2bootparam.dat]]&lt;!--we need this page because we have others like that in wiki--&gt;<br /> <br /> ===Cobra core===<br /> taken from storage_ext.c<br /> &lt;pre&gt; patch_ps2emu_entry(ps2emu_type); &lt;/pre&gt;<br /> *sets proper ps2_(gx/soft)emu.self path for reboot<br /> *patches ss_storage service 0x5004 disc checks on ss_server3.self inside lv1<br /> (Change from Parameter li r3, 2 and li r3, 1E (Drive Authentification) to li r3, 0x29 (Reset Drive))<br /> *and the usual either replace read/ioctl for iso etc.<br /> <br /> ==Game CONFIG==<br /> Some of the PS2 emulator types (such ps2_gxemu.self, ps2netemu.self) are able to load config commands that are applyed &quot;by game ID&quot;. The concept of &quot;game patches&quot; is not technically correct because some of the commands does patching functions but others does other things (not patching), and other commands works as switches or sets a value that are enviromental settings for the emulator (not for the game) but because are applyed &quot;by game&quot; should be considered enviromental settings for that specific game, so for simplification purposes you can think in all this data as &quot;game configs&quot;<br /> <br /> This &quot;game config&quot; data seems to work in the same way for all the PS2 emulator types but can be located in different places, some are hardcoded inside the emulators itself (inside the .self), and at the time the &quot;PS2 classics&quot; emulator (ps2_netemu.self) was developed this config can be loaded from an external file&lt;!--and there is some more inside some .sprx or inside the ps2 hdd data pkg ?--&gt;<br /> <br /> In short, the &quot;game configs&quot; can modify the game image (by patching it) and can be used to configure the virtual PS2 (the emulated machine). And can be loaded from hardcoded data (inside the .self) or from an external file (this feature is supported only by ps2_netemu.self)<br /> <br /> The config data consists in a list of concatenated values of 8 bytes lenght (uint32_t), and can be processed like this:<br /> union{<br /> uint32_t command<br /> ...data...<br /> }<br /> <br /> ===Config Commands===<br /> ps2_netemu.self fw4.50 sub_12D7D8, fw4.81 sub_12E050<br /> params are uint32_t unless noted.<br /> <br /> At the time of writing this, most of the commands are completely or partially unknown.&lt;br /&gt;<br /> If you want to read some speculation and brainstorming about them, please join the {{talk}} page<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! CMD ID !! Example !! Notes<br /> |-<br /> | 0x00|||| Copy following title id for enforcing if available + end config<br /> |-<br /> | 0x01|||| 2x uint32_t Params ( addr, func_id 0-0x3B) - EE_ADD_HOOK<br /> [Grand Theft Auto 3 (EU)] uses 0x349790, 0x10 (somewhat floats related)<br /> [Max Payne] uses 0x52E9F4, 3 and 0x52EB78, 2 (set lwsync 0)<br /> Maximum Amount of Usage: ?<br /> (The command is used 3 times consecutively by SLUS-20565 (Champions of Norrath) and SLUS-21494 (Need for Speed Carbon)<br /> game configs hardcoded inside ps2_gxemu.self)<br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> !Function ID!! Notes<br /> |-<br /> |0x00|| <br /> |-<br /> |0x01|| <br /> |-<br /> |0x02|| <br /> Max Payne<br /> sets some sync off?<br /> |-<br /> |0x03|| <br /> Max Payne<br /> sets some sync on?<br /> |-<br /> |0x04|| <br /> |-<br /> |0x05|| <br /> |-<br /> |0x06|| <br /> |-<br /> |0x07|| <br /> |-<br /> |0x08||<br /> |-<br /> |0x09|| <br /> |-<br /> |0x0A|| <br /> |-<br /> |0x0B|| <br /> |-<br /> |0x0C|| <br /> |-<br /> |0x0D|| usleep(100)<br /> |-<br /> |0x0E||<br /> |-<br /> |0x0F|| <br /> GTA 3 (US)<br /> using 0x348B40, 0x18E1F0, 0x348EC8 ( + 200000000 base )<br /> |-<br /> |0x10|| <br /> GTA 3 (EU)<br /> using 0x349790, 0x18E1F0, 0x349B18 ( + 200000000 base )<br /> |-<br /> |0x11|| <br /> GTA 3 (JP/AS)?<br /> using 0x3495C0, 0x18E1F0, 0x349948 ( + 200000000 base )<br /> |-<br /> |0x12|| <br /> condition ...<br /> store 0 in [ 0x204FC500 + 200000000 base]<br /> |-<br /> |0x13|| <br /> |-<br /> |0x14|| <br /> |-<br /> |0x15|| <br /> |-<br /> |0x16|| <br /> store 0x01114BA8 in [ 0x208EAB4C + 200000000 base]<br /> store 0x010C9E40 in [ 0x208EAB6C + 200000000 base]<br /> |-<br /> |0x17|| <br /> condition r18 == 0x8000<br /> setting:<br /> stores 0x40490FDA somewhere <br /> Note: 0x40490FDA (3.14159250) is the highest float approximation to π in hexadecimal without going over the value.&lt;br /&gt;<br /> Probably can improve FPU accuracy for some games.<br /> |-<br /> |0x18||<br /> condition [ 0x20183F04 + 200000000 base ] == 0x0C060F2C <br /> setting:<br /> stores 0 in address 0x20183F04, 0x20183F34, 0x20183F3C ( + 0x200000000 base )<br /> 0x183F0C, sub_46334 (4.70)<br /> 0x183F3C, sub_45DA4 (4.70)<br /> 0x183D74, sub_47B50 (4.70)<br /> |-<br /> |0x19|| <br /> |-<br /> |0x1A|| <br /> store 0 in [ 0x209FD560 + 200000000 base]<br /> store 0 in [ 0x209F9550 + 200000000 base]<br /> store 0 in [ 0x20A01570 + 200000000 base]<br /> store 0 in [ 0x209F9540 + 200000000 base]<br /> store 0 in [ 0x209F5540 + 200000000 base]<br /> store 0 in [ 0x209F1530 + 200000000 base]<br /> |-<br /> |0x1B|| store 0 in [ 0x20552168 + 200000000 base]<br /> |-<br /> |0x1C|| store 1 in [ 0x20552168 + 200000000 base]<br /> |-<br /> |0x1D|| store 0 in [ 0x20556C08 + 200000000 base]<br /> |-<br /> |0x1E|| store 1 in [ 0x20556C08 + 200000000 base]<br /> |-<br /> |0x1F|| store 0 in [ 0x205243D8 + 200000000 base]<br /> |-<br /> |0x20|| store 1 in [ 0x205243D8 + 200000000 base]<br /> |-<br /> |0x21|| store 0 in [ 0x20524F88 + 200000000 base]<br /> |-<br /> |0x22|| store 1 in [ 0x20524F88 + 200000000 base]<br /> |-<br /> |0x23|| store 0 in [ 0x2047E7F8 + 200000000 base]<br /> |-<br /> |0x24|| store 1 in [ 0x2047E7F8 + 200000000 base]<br /> |-<br /> |0x25|| store 0 in [ 0x204802B8 + 200000000 base]<br /> |-<br /> |0x26|| store 1 in [ 0x204802B8 + 200000000 base]<br /> |-<br /> |0x27|| store 0 in [ 0x20586348 + 200000000 base]<br /> |-<br /> |0x28|| store 1 in [ 0x20586348 + 200000000 base]<br /> |-<br /> |0x29|| store 0 in [ 0x205868A8 + 200000000 base]<br /> |-<br /> |0x2A|| store 1 in [ 0x205868A8 + 200000000 base]<br /> |-<br /> |0x2B|| <br /> |-<br /> |0x2C|| <br /> |-<br /> |0x2D|| <br /> |-<br /> |0x2E|| <br /> |-<br /> |0x2F|| condition [ 0x37B0C4 + 200000000 base ] == 0 -&gt; 00 10 0B 98 <br /> |-<br /> |0x30|| condition [ 0x37B704 + 200000000 base ] == 0 -&gt; 00 10 0B 98 <br /> |-<br /> |0x31|| condition [ 0x37630C + 200000000 base ] == 0 -&gt; 00 10 0B A8 <br /> |-<br /> |0x32|| condition [ 0x37BB0C + 200000000 base ] == 0 -&gt; 00 10 0B A8 <br /> |-<br /> |0x33|| <br /> |-<br /> |0x34|| not filled<br /> |-<br /> |0x35|| <br /> |-<br /> |0x36|| <br /> |-<br /> |0x37|| <br /> |-<br /> |0x38||<br /> |-<br /> |0x39|| <br /> |-<br /> |0x3A|| <br /> |-<br /> |0x3B|| GTA 3 (JP/AS) ? using 0x351210, 0x18F590, 0x351568 ( + 200000000 base )<br /> |}<br /> |-<br /> |0x02|||| 1 Param, Config file revision ?<br /> |-<br /> |0x03|||| 0 Param, sets something 0 (Fire Pro Wrestling Returns)<br /> |-<br /> |0x04|||| 1 Param uint32_t index (i*0x80, special 0x12345: 0x91a280?)<br /> |-<br /> |0x05|||| read next command<br /> |-<br /> |0x06|||| 0 Param, sets something 0x14F80 (85888'd)<br /> |-<br /> |0x07|||| 1 Param uint32_t (default 1)<br /> Delay VU xgkick by X cycles<br /> |-<br /> |0x08|||| 8 Param uint32_t (read mask,read mask, original opcode, original opcode, write mask, write mask, replace opcode, replace opcode)<br /> Maximum Amount of Usage: 3 times<br /> Patch VU memory by mask <br /> Mask = F - read/write, 0 - Not read/write, 8 - ignore 4 bytes, E - seems to be used as last character before wildcards (Superman returns).<br /> |-<br /> |0x09|||| uint32_t count, &lt;list&gt; (offset, original opcode, original opcode, replace opcode, replace opcode) - EE_INSN_REPLACE64<br /> [Dark Cloud] uses 1<br /> [Dead Or Alive 2 Hardcore] uses 1<br /> Maximum List Count: 32<br /> |-<br /> |0x0A|||| uint32_t count, &lt;List&gt; (offset, original opcode, replace opcode) - EE_INSN_REPLACE32<br /> [Deadly Strike] uses 1<br /> [Dragon Force] uses 2<br /> Maximum List Count: 32<br /> |-<br /> |0x0B|||| 1 Param uint32_t count, &lt;List&gt; {sector id, offset, sizeof present opcodes, replace opcodes, original opcodes} - MECHA_SET_PATCH<br /> offset on disc = sector id * sector size + offset (-0xC)<br /> [Dead Or Alive 2 Hardcore] uses 7<br /> [Gradius V] uses 1<br /> [Grand Theft Auto III] uses 1<br /> [Katamari Damacy] uses 1<br /> [Manhunt] uses 1<br /> [Odin Sphere] uses 2<br /> [Primal] uses 1<br /> [Psychonauts] uses 1<br /> [Syphon Filter The Omega Strain] uses 1<br /> Maximum List Count: 47<br /> |-<br /> |0x0C|||| 1 Param (uint16_t, uint16_t) --- 0/1/2,&lt;0x63&gt;<br /> |-<br /> |0x0D|||| 1 Param, true/false?<br /> Default Init = 1?<br /> 0 == skip some code, <br /> 1 == some code + checks<br /> |-<br /> |0x0E|||| 1 Param offset --- Improves ADD/SUB accuracy for selected offset (incl. Floats) <br /> [Rygar] only has 0x147DA8 sub.s $f12, $f20, $f12<br /> Maximum Amount of Usage: 31 times<br /> |-<br /> |0x0F|||| List &lt;uint32_t Param, uint32_t Param&gt; --- More accurate memory range (FPU mul/div/sub/add accuracy related) <br /> [Dark Cloud] uses 0x239334, 0x1FFFFFF<br /> [Grand Theft Auto SA] uses 0x1E46DC, 0x1E4AE8<br /> Maximum List Count: 31 <br /> |-<br /> |0x10|||| List &lt;uint32_t Param, uint32_t Param&gt; --- More accurate memory range (COP2, mul/div/sub/add accuracy related) - MULDIV_Accurate_range<br /> Maximum List Count: 31 <br /> |-<br /> |0x11|||| 1x uint32_t Param. ADD/SUB accuracy related, all emulated ADD/SUB instruction variations check that value. Param seems to be VU memory offset (need confirmation).<br /> Maximum Amount of Usage: 31 times<br /> |-<br /> |0x12|||| &lt;List&gt; (uint32_t count,<br /> [Primal] uses 0xD<br /> [Rayman Arena] uses 0x11<br /> [Syphon Filter: The Omega Strain] uses 0x5<br /> 00 00 00 0?<br /> 00 00 00 00<br /> type? count?<br /> ... <br /> Maximum List Count: 63 <br /> |-<br /> | 0x13|||| 1x uint64_t Param<br /> |-<br /> | 0x14|||| 0 Param, sets something 1<br /> |-<br /> | 0x15|| 4 || 1 Param ( &lt;1, &gt;1 ), different settings/mode?<br /> [Bloodrayne 2] uses 4<br /> [GRIMgRiMoiRe] uses 4<br /> [Mana Khemia 2] uses 4<br /> [Odin Sphere] uses 4<br /> [SMT Persona 3 FES] uses 4<br /> |-<br /> | 0x16|||| = 0x05 (next id)<br /> |-<br /> | 0x17||1 || 1 Param, true/false?<br /> [Bully] uses 1<br /> |-<br /> | 0x18|||| = 0x16 = 0x05 (next id)<br /> |-<br /> | 0x19 |||| 0 Param, sets something 1 --- SB_SIO2 related?<br /> [Grand Theft Auto III]<br /> [Red Faction 2]<br /> [Siren]<br /> |-<br /> | 0x1A|||| 0 Param, sets something 1<br /> |-<br /> | 0x1B|||| 0 Param, sets something 1<br /> [Mana Khemia 2]<br /> |-<br /> | 0x1C |||| read uint32_t (use uint8_t) Param (default 3)<br /> |-<br /> | 0x1D |||| read uint32_t (use uint8_t) Param <br /> |-<br /> | 0x1E |||| read uint32_t (use uint8_t) Param <br /> |-<br /> | 0x1F |||| uint32_t Param (default 0x3E8?)<br /> |-<br /> | 0x20|||| uint64_t Param (default 0x3C)<br /> |-<br /> | 0x21|| 1 || 1 Param: <br /> 0 = sets an option from 1 to 0 and another one to 0,<br /> 1 = sets an option from 1 to 0 and another one to 1,<br /> 2 = sets an option from 1 to 1 and another one to 0<br /> [Fatal Frame II] uses 0<br /> [Grand Theft Auto Vice City] uses 1<br /> [Grand Theft Auto III (EU)] uses 1<br /> [SMT Persona 3 FES] uses 0<br /> |-<br /> | 0x22|||| 0 Param, sets something 1<br /> |-<br /> | 0x23|||| 0 Param --- memcpy 0x100 Bytes and sets 0x14E00<br /> |-<br /> | 0x24|||| uint64_t Param<br /> |-<br /> | 0x25|||| = 0x18 = 0x16 = 0x05 (next id)<br /> |-<br /> | 0x26|||| List &lt;uint32_t Param,uint32_t Param&gt; --- Improves ADD/SUB accuracy for selected memory range (incl. Floats) - FPU_Accurate_range<br /> <br /> [Bloodrayne 2] uses 0x340000, 0x350000<br /> [Gradius V] uses 0x3046E0, 0x0x305E44<br /> Maximum List Count: 31 <br /> Maximum Amount of Usage: ??<br /> The command is used 4 times consecutively by [Strawberry Shortcake: The Sweet Dreams]<br /> SLES-54309 (EU) and<br /> SLUS-21497 (US) game configs hardcoded inside ps2_gxemu.self<br /> |-<br /> | 0x27|||| List &lt;uint32_t Param,uint32_t Param&gt; --- Improves COP2 operations accuracy for selected memory range - VU0 macromode accurate range<br /> Maximum List Count: 31 <br /> |-<br /> | 0x28|||| 1x uint32_t Param (&lt;=3)<br /> |-<br /> | 0x29 |||| 2x uint32_t Param,<br /> |-<br /> | 0x2A|||| 0 Param, sets something 1<br /> |-<br /> | 0x2B|||| 0 Param, sets something 1 --- something with Controller (analog?)<br /> |-<br /> | 0x2C |||| 1 Param, uint32_t<br /> Summoner uses 0x1<br /> |-<br /> | 0x2D |||| = 0x25 = 0x18 = 0x16 = 0x05 (next id)<br /> |-<br /> | 0x2E |||| 1 Param, uint32_t<br /> |-<br /> | 0x2F |||| 1 Param, uint32_t --- SPU2 related?<br /> Indigo Prophecy/Fahrenheit uses 0x1 <br /> |-<br /> | 0x30|||| (nothing)<br /> |-<br /> | 0x31|||| (nothing)<br /> |-<br /> | 0x32|||| (nothing)<br /> |-<br /> | 0x33|||| (nothing)<br /> |-<br /> | 0x34|||| (nothing)<br /> |-<br /> | 0x35|||| 0 Param --- Enables Force Flip Field, described in emu setting as &quot;''Fix for [Hang] for soft-lock''&quot;<br /> |-<br /> | 0x36|||| (nothing)<br /> |-<br /> | 0x37|||| (nothing)<br /> |-<br /> | 0x38|||| (nothing)<br /> |-<br /> | 0x39 |||| (nothing)<br /> |-<br /> | 0x3A|||| (nothing)<br /> |-<br /> | 0x3B|||| (nothing)<br /> |-<br /> | 0x3C |||| (nothing)<br /> |-<br /> | 0x3D |||| 1 Param, uint32_t Config file revision<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Firmware !! ps2_netemu Revision !! Max Supported Commands<br /> |-<br /> | 3.70 || 15686 || 0x41<br /> |-<br /> | 3.73 || 15936 || 0x41<br /> |-<br /> | 3.74 || 15936 || 0x41<br /> |-<br /> | 4.00 || 16195 || 0x41<br /> |-<br /> | 4.01 || 16195 || 0x41<br /> |-<br /> | 4.10 || 16361 || 0x41<br /> |-<br /> | 4.11 || 16361 || 0x41<br /> |-<br /> | 4.20 || 16604 || 0x43<br /> |-<br /> | 4.21 || 16604 || 0x43<br /> |-<br /> | 4.23 || 16604 || 0x43<br /> |-<br /> | 4.25 || 16740 || 0x43<br /> |-<br /> | 4.26 || 16740 || 0x43<br /> |-<br /> | 4.30 || 16808 || 0x45<br /> |-<br /> | 4.31 || 16808 || 0x45<br /> |-<br /> | 4.40 || 16916 || 0x46<br /> |-<br /> | 4.41 || 16916 || 0x46<br /> |-<br /> | 4.45 || 17041 || 0x48<br /> |-<br /> | 4.46 || 17041 || 0x48<br /> |-<br /> | 4.50 || 17179 || 0x4A<br /> |-<br /> | 4.55 || 17277 || 0x4D<br /> |- <br /> |4.60&lt;br /&gt;<br /> 4.70&lt;br /&gt;<br /> 4.75&lt;br /&gt;<br /> 4.76&lt;br /&gt;<br /> || 17314 || 0x4D<br /> |- <br /> |4.78&lt;br /&gt;<br /> 4.80&lt;br /&gt;<br /> 4.81&lt;br /&gt;<br /> || 17495 || 0x50<br /> |- <br /> |}<br /> |-<br /> | 0x3E |||| 0 Params --- Sets something 1<br /> Default Init = 0<br /> 0 == do set some stuff, <br /> 1 == skip<br /> |-<br /> | 0x3F |||| 1 Param, uint32_t<br /> |-<br /> | 0x40|||| 0 Param --- Sets something 1<br /> Grand Theft Auto SA<br /> Silent Hill Origins - unofficial fix<br /> |-<br /> | 0x41|||| 0 Param --- Sets something 1 (Disables some lwsync - speedhack?)<br /> Dragon Force<br /> God Hand<br /> Gradius V<br /> Katamari Damacy<br /> |-<br /> | 0x42|||| 2 Param: uint32_t address, uint32_t count --- Overlay area? <br /> |-<br /> | 0x43|||| 1 Param --- Equal to 0x40, but with Parameter:<br /> 0 = Default<br /> 1 = (like 0x40)<br /> param = <br /> -1 = failure?<br /> |-<br /> | 0x44|||| 0 Param --- Disables Smoothing and Smoothing option<br /> |-<br /> | 0x45|||| 0 Param --- Sets something 1<br /> Phantasy Star Complete Collection<br /> |-<br /> | 0x46|||| 0 Param --- Enables L2H Improvement, [Performance] related setting for titles using L2H<br /> SMT Digital Devil Saga 1<br /> SMT Nocturne<br /> Fatal Frame II<br /> |-<br /> | 0x47|||| 0 Param --- Enables XOR CSR - XOR System Status Register (0x12001000)?, [Graphics] related setting, should fix fullscreen line corruption<br /> |-<br /> | 0x48|||| VSYNC Delay, 2x uint32_t Param<br /> *First param possible value are 1 = No IPU, 2 = IPU, 3 = Anytime.<br /> *Second param is delay (in ms?), and can be also negative value.<br /> **Emu has standard presets for second param.<br /> ***Agressive = 0x3D090 (250000 decimal),<br /> ***Normal = 0x186A0 (100000 decimal),<br /> ***Conservative = 0x4E20 (20000 decimal),<br /> ***But other values can be used.<br /> [SMT Digital Devil Saga 1] uses 1, 0x3D090<br /> [Fatal Frame II] uses 0x2, 0xFFFFE69C (-6500 decimal)<br /> |-<br /> | 0x49|||| 0 Param --- Sets something 0xB,0,0<br /> |-<br /> | 0x4A|||| 0 Param --- Sets something 0x15100<br /> |-<br /> | 0x4B|||| 2x uint32_t Params: offset,int (-1? selects different titleid?) - /game/ /../ USRDIR/SAVEDATA related<br /> |-<br /> | 0x4C|||| 2x uint32_t Params: offset,int (2 = current path?, 3 = new ISO.BIN.ENC path?, other= ?)<br /> |-<br /> | 0x4D|||| 1 uint32_t Param (can be -1) --- Sets something (same as 0x49 but) 0xC, Param, 0<br /> |-<br /> | 0x4E|||| (nothing)<br /> |-<br /> | 0x4F|||| (nothing)<br /> |-<br /> | 0x50|||| 0 Param --- Switch to default gamepad config ?<br /> |-<br /> |}<br /> <br /> ===Config file examples (for netemu)===<br /> <br /> ====Official====<br /> {| class=&quot;wikitable sortable&quot; style=&quot;width: 1920px;&quot; | <br /> |-<br /> ! Title ID !! Title !! Config Data !! Revision !! Notes<br /> |-<br /> | style=&quot;width: 5px;&quot; | NPUD20461 || Bloodrayne || style=&quot;width: 650px;&quot; | <br /> 00000000 3D 00 00 00 46 3E 00 00 16 00 00 00 0B 00 00 00 =...F&gt;..........<br /> 00000010 04 00 00 00 07 01 00 00 C0 02 00 00 10 00 00 00 ........+.......<br /> 00000020 00 09 3C 52 52 3C 09 00 03 1F 90 14 14 90 1F 03 ..&lt;RR&lt;....É..É..<br /> 00000030 00 09 3C 52 52 3C 09 00 03 20 C0 04 04 C0 20 03 ..&lt;RR&lt;... +..+ .<br /> 00000040 56 A0 09 00 10 00 00 00 04 00 00 00 00 00 90 01 Vá............É.<br /> 00000050 FA 0F BD 01 21 39 07 00 B8 06 00 00 28 00 00 00 ·.¢.!9..©...(...<br /> 00000060 35 4A 02 02 00 0A 54 38 35 4A 62 7E 34 A5 00 A0 5J....T85Jb~4Ñ.á<br /> 00000070 3C 09 00 1B 35 29 FA 00 00 09 4C 38 35 29 02 02 &lt;...5)·...L85)..<br /> 00000080 00 09 4C 38 35 29 62 7E 35 4A 02 03 00 0A 54 38 ..L85)b~5J....T8<br /> 00000090 35 4A 22 7E 34 A5 00 A0 3C 09 00 1B 35 29 FA 00 5J&quot;~4Ñ.á&lt;...5)·.<br /> 000000A0 00 09 4C 38 35 29 02 03 00 09 4C 38 35 29 22 7E ..L85)....L85)&quot;~<br /> 000000B0 27 39 07 00 80 03 00 00 24 00 00 00 35 6B 02 02 '9..Ç...$...5k..<br /> 000000C0 00 0B 5C 38 35 6B 62 7E 3C 0C 00 1B 35 8C FA 00 ..\85kb~&lt;...5î·.<br /> 000000D0 00 0C 64 38 35 8C 02 02 00 0C 64 38 35 8C 62 7E ..d85î....d85îb~<br /> 000000E0 35 6B 02 03 00 0B 5C 38 35 6B 22 7E 3C 0C 00 1B 5k....\85k&quot;~&lt;...<br /> 000000F0 35 8C FA 00 00 0C 64 38 35 8C 02 03 00 0C 64 38 5î·...d85î....d8<br /> 00000100 35 8C 22 7E 5î&quot;~<br /> || 15942 (4.00+) ||<br /> 0x3D =&gt; 0x3E46 (15942)<br /> 0x16 =&gt; 0xB =&gt; 4<br /> 0x107, (sector)<br /> 0x2C0, (offset -&gt; 0x1072B4 in iso)<br /> 0x10, <br /> 0x523C0900, (beql s1, gp, ?)<br /> 0x00093C52, (mflo a3)<br /> 0x14901F03, (bne a0, s0, ?)<br /> 0x031F9014, (dsllv s2, ra, t8)<br /> 0x523C0900, (beql s1, gp, ?)<br /> 0x00093C52, (mflo a3)<br /> 0x04C02003, (bltz a2, ?)<br /> 0x0320C004 (sllv t8, zero, t9)<br /> 0x9A056, (sector)<br /> 0x10, (offset -&gt; 0x4D02B004 in iso)<br /> 0x04, <br /> 0x01900000 (sll zero, s0, 0x00?), <br /> 0x01BD0FFA (dsrl at,sp,0x1F?)<br /> 0x73921, (sector)<br /> 0x6B8, (offset -&gt; 0x39C90EAC in iso)<br /> 0x28, <br /> 21 39 07 00 addi t9,t1,0x0700<br /> B8 06 00 00 swr a2,(zero)<br /> 28 00 00 00 slti zero,0x0000<br /> 35 4A 02 02 ori t2,0x202<br /> 00 0A 54 38 dsll t2,0x10<br /> 35 4A 62 7E ori t2,0x627E<br /> 34 A5 00 A0 ori a1,0xA0<br /> 3C 09 00 1B lui t1,0x001B<br /> 35 29 FA 00 ori t1,0xFA00<br /> 00 09 4C 38 dsll t1,0x10<br /> 35 29 02 02 ori t1,0x202<br /> 00 09 4C 38 dsll t1,0x10<br /> 35 29 62 7E ori t1,0x627E<br /> 35 4A 02 03 ori t2,0x203<br /> 00 0A 54 38 dsll t2,0x10<br /> 35 4A 22 7E ori t2,0x227E<br /> 34 A5 00 A0 ori a1,0xA0<br /> 3C 09 00 1B lui t1,0x001B<br /> 35 29 FA 00 ori t1,0xFA00<br /> 00 09 4C 38 dsll t1,0x10<br /> 35 29 02 03 ori t1,0x203<br /> 00 09 4C 38 dsll t1,0x10<br /> 35 29 22 7E ori t1,0x227E<br /> 0x73927, (sector)<br /> 0x380, (offset -&gt; 0x39C93B74 in iso)<br /> 0x24, <br /> 35 6B 02 02 ori t3,0x202<br /> 00 0B 5C 38 dsll t3,0x10<br /> 35 6B 62 7E ori t3,0x627E<br /> 3C 0C 00 1B lui t4,0x001B<br /> 35 8C FA 00 ori t4,0xFA00<br /> 00 0C 64 38 dsll t4,0x10<br /> 35 8C 02 02 ori t4,0x202<br /> 00 0C 64 38 dsll t4,0x10<br /> 35 8C 62 7E ori t4,0x627E<br /> 35 6B 02 03 ori t3,0x203<br /> 00 0B 5C 38 dsll t3,0x10<br /> 35 6B 22 7E ori t3,0x227E<br /> 3C 0C 00 1B lui t4,0x001B<br /> 35 8C FA 00 ori t4,0xFA00<br /> 00 0C 64 38 dsll t4,0x10<br /> 35 8C 02 03 ori t4,0x203<br /> 00 0C 64 38 dsll t4,0x10<br /> 35 8C 22 7E ori t4,0x227E<br /> |-<br /> | NPUD20862 || Bloodrayne 2 ||<br /> 00000000 3D 00 00 00 3D 3F 00 00 15 00 00 00 04 00 00 00 =...=?..........<br /> 00000010 26 00 00 00 00 00 34 00 00 00 35 00 00 00 00 00 &amp;.....4...5.....<br /> 00000020 53 4C 55 53 2D 32 30 38 36 32 SLUS-20862<br /> || 16189 (4.00+) ||<br /> 0x3D =&gt; 0x3F3D (16189)<br /> 0x15 =&gt; 4<br /> 0x26 =&gt; 0x340000, 0x350000<br /> |-<br /> | NPUD21269 || Bully ||<br /> 00000000 3D 00 00 00 89 3D 00 00 17 00 00 00 01 00 00 00 =....=..........<br /> 00000010 00 00 00 00 53 4C 55 53 2D 32 31 32 36 39 ....SLUS-21269<br /> || 15753 (3.73+) ||<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x17 =&gt; 1<br /> |-<br /> | NPJD00004 || Contra Shattered Soldier || <br /> 00000000 3D 00 00 00 BF 3F 00 00 0A 00 00 00 12 00 00 00 =...+?..........<br /> 00000010 A0 FF 0F 00 00 00 00 00 10 00 01 3C A4 FF 0F 00 á .........&lt;ñ ..<br /> 00000020 00 00 00 00 90 FF 24 8C A8 FF 0F 00 00 00 00 00 ....É $î¿ ......<br /> 00000030 81 00 85 2C AC FF 0F 00 00 00 00 00 06 00 A0 10 ü.à,¼ ........á.<br /> 00000040 B0 FF 0F 00 00 00 00 00 01 00 84 24 B4 FF 0F 00 ¦ ........ä$¦ ..<br /> 00000050 00 00 00 00 90 FF 24 AC B8 FF 0F 00 00 00 00 00 ....É $¼© ......<br /> 00000060 81 00 85 2C BC FF 0F 00 00 00 00 00 02 00 A0 14 ü.à,+ ........á.<br /> 00000070 C0 FF 0F 00 00 00 00 00 00 00 00 00 C4 FF 0F 00 + ..........- ..<br /> 00000080 00 00 00 00 00 07 02 34 C8 FF 0F 00 00 00 00 00 .......4+ ......<br /> 00000090 08 00 E0 03 CC FF 0F 00 00 00 00 00 00 00 00 00 ..Ó.¦ ..........<br /> 000000A0 D0 FF 0F 00 00 00 00 00 10 00 01 3C D4 FF 0F 00 ð .........&lt;È ..<br /> 000000B0 00 00 00 00 08 00 E0 03 D8 FF 0F 00 00 00 00 00 ......Ó.Ï ......<br /> 000000C0 90 FF 20 AC DC FF 0F 00 00 00 00 00 00 00 00 00 É ¼_ ..........<br /> 000000D0 C0 72 42 00 08 00 E0 03 E8 FF 03 08 B4 7C 42 00 +rB...Ó.Þ ..¦|B.<br /> 000000E0 08 00 E0 03 F4 FF 03 08 00 00 00 00 53 4C 50 4D ..Ó.¶ ......SLPM<br /> 000000F0 2D 36 32 32 34 37 -62247<br /> || 16319 (4.10+)||<br /> 0x3D =&gt; 0x3FBF (16319)<br /> 0x0A =&gt; 0x12, <br /> 0xFFFA0,0, 0x3C010010 lui at,0x0010 <br /> 0xFFFA4,0, 0x8C24FF90 lw a0,-0x70(at) <br /> 0xFFFA8,0, 0x2C850081 sltiu a1,a0,0x0081 <br /> 0xFFFAC,0, 0x10A00006 beqz a1,pos_000FFFC8 <br /> 0xFFFB0,0, 0x24840001 addiu a0,0x1 <br /> 0xFFFB4,0, 0xAC24FF90 sw a0,-0x70(at) <br /> 0xFFFB8,0, 0x2C850081 sltiu a1,a0,0x0081 <br /> 0xFFFBC,0, 0x14A00002 bnez a1,pos_000FFFC8 <br /> 0xFFFC0,0, 0x00000000 nop <br /> 0xFFFC4,0, 0x34020700 li v0,0x700 <br /> 0xFFFC8,0, 0x03E00008 jr t9 <br /> 0xFFFCC,0, 0x00000000 nop <br /> 0xFFFD0,0, 0x3C010010 lui at,0x0010 <br /> 0xFFFD4,0, 0x03E00008 jr ra <br /> 0xFFFD8,0, 0xAC20FF90 sw zero,-0x70(at) <br /> 0xFFFDC,0, 0x00000000 nop <br /> 0x4272C0, 0x03E00008 (jr ra), 0x0803FFE8 j pos_000FFFA0<br /> 0x427CB4, 0x03E00008 (jr ra), 0x0803FFF4 j pos_000FFFD0<br /> |-<br /> | NPJC00002 || Dark Cloud ||<br /> 00000000 3D 00 00 00 07 3F 00 00 0F 00 00 00 34 93 23 00 =....?......4.#.<br /> 00000010 FF FF FF 01 09 00 00 00 01 00 00 00 B0 8E 13 00 ................<br /> 00000020 20 00 BF 7F B0 FF BD 27 00 00 00 00 08 00 E0 03 ......'........<br /> 00000030 00 00 00 00 53 43 50 53 2D 31 35 30 30 34 ....SCPS-15004<br /> || 16135 (4.00+)||<br /> 0x3D =&gt; 0x3F07 (16135)<br /> 0x0F =&gt; 0x239334, 0x01FFFFFF<br /> 0x09 =&gt; 1,<br /> 0x138EB0 , <br /> 0x7FBF0020 (sq ra,0x20(sp)),<br /> 0x27BDFFB0 (addiu sp,-0x50),<br /> 0x00000000 (nop),<br /> 0x03E00008 (jr ra)<br /> <br /> 0x239334 = end of code segment?<br /> 0x138EB0 = DrawShadow__10CCharacterFv Function Offset<br /> config 20 00 BF 7F 0x7FBF0020 sq ra, 0x20(sp)<br /> B0 FF BD 27 0x27BDFFB0 addiu sp, -0x50<br /> 00 00 00 00 0x00000000 nop<br /> 08 00 E0 03 0x03E00008 jr ra<br /> |-<br /> | NPUD20071 || Dead Or Alive 2 Hardcore ||<br /> 00000000 3D 00 00 00 F0 42 00 00 0A 00 00 00 01 00 00 00 =....B..........<br /> 00000010 EC 06 2B 00 01 00 06 24 00 00 06 24 0B 00 00 00 ..+....$...$....<br /> 00000020 07 00 00 00 71 6A 18 00 F4 07 00 00 04 00 00 00 ....qj..........<br /> 00000030 0C 00 32 B7 0C 00 32 B3 71 6A 18 00 F4 05 00 00 ..2...2.qj......<br /> 00000040 08 00 00 00 03 E0 00 08 00 00 00 00 27 BD FF F0 ............'...<br /> 00000050 AF BE 00 08 7B 6A 18 00 08 07 00 00 08 00 00 00 ....{j..........<br /> 00000060 03 E0 00 08 00 00 00 00 27 BD FF F0 AF BE 00 08 ........'.......<br /> 00000070 85 6A 18 00 18 01 00 00 08 00 00 00 03 E0 00 08 .j..............<br /> 00000080 00 00 00 00 27 BD FF F0 AF BE 00 08 85 6A 18 00 ....'........j..<br /> 00000090 70 01 00 00 08 00 00 00 03 E0 00 08 00 00 00 00 p...............<br /> 000000A0 27 BD FF F0 AF BE 00 08 85 6A 18 00 C8 01 00 00 '........j......<br /> 000000B0 08 00 00 00 03 E0 00 08 00 00 00 00 27 BD FF F0 ............'...<br /> 000000C0 AF BE 00 08 86 6A 18 00 FC 07 00 00 08 00 00 00 .....j..........<br /> 000000D0 03 E0 00 08 00 00 00 00 27 BD FF F0 AF BE 00 08 ........'.......<br /> 000000E0 00 00 00 00 53 4C 55 53 2D 32 30 30 37 31 ....SLUS-20071 <br /> || 17136 (4.50+) || fixes blackscreen<br /> 0x3D =&gt; 0x42F0 (17136)<br /> 0x0A =&gt; 0x01,<br /> 0x2B06EC, 0x24060001 (li a2,0x1), <br /> 0x24060000 (li a2,0x0)<br /> 0x0B =&gt; 0x07,<br /> 0x186A71, 0x7F4, 0x04, <br /> 0xB732000C (jal -0x2A9B90), <br /> 0xB332000C (jal -0x2A9BA0)<br /> 0x186A71, 0x5F4, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A7B, 0x708, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A85, 0x118, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A85, 0x170, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A85, 0x1C8, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A86, 0x7FC, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp))<br /> <br /> |-<br /> | NPJD00011 || Dead Or Alive 2 Hardcore || <br /> 00000000 3D 00 00 00 89 3D 00 00 09 00 00 00 01 00 00 00 =...ë=..........<br /> 00000010 6C 66 2B 00 80 00 08 24 01 00 06 24 80 00 08 24 lf+.Ç..$...$Ç..$<br /> 00000020 00 00 06 24 0B 00 00 00 07 00 00 00 05 FF 17 00 ...$......... ..<br /> 00000030 F0 07 00 00 0C 00 00 00 27 C4 00 10 0C 00 32 B7 ­.......'-....2À<br /> 00000040 00 00 00 00 24 04 00 2B 0C 00 32 B3 27 C5 00 10 ....$..+..2¦'+..<br /> 00000050 05 FF 17 00 F4 05 00 00 08 00 00 00 03 E0 00 08 . ..¶........Ó..<br /> 00000060 00 00 00 00 27 BD FF F0 AF BE 00 08 0F FF 17 00 ....'¢ ­»¥... ..<br /> 00000070 08 07 00 00 08 00 00 00 03 E0 00 08 00 00 00 00 .........Ó......<br /> 00000080 27 BD FF F0 AF BE 00 08 19 FF 17 00 18 01 00 00 '¢ ­»¥... ......<br /> 00000090 08 00 00 00 03 E0 00 08 00 00 00 00 27 BD FF F0 .....Ó......'¢ ­<br /> 000000A0 AF BE 00 08 19 FF 17 00 70 01 00 00 08 00 00 00 »¥... ..p.......<br /> 000000B0 03 E0 00 08 00 00 00 00 27 BD FF F0 AF BE 00 08 .Ó......'¢ ­»¥..<br /> 000000C0 19 FF 17 00 C8 01 00 00 08 00 00 00 03 E0 00 08 . ..+........Ó..<br /> 000000D0 00 00 00 00 27 BD FF F0 AF BE 00 08 1A FF 17 00 ....'¢ ­»¥... ..<br /> 000000E0 FC 07 00 00 08 00 00 00 03 E0 00 08 00 00 00 00 ³........Ó......<br /> 000000F0 27 BD FF F0 AF BE 00 08 00 00 00 00 53 4C 50 53 '¢ ­»¥......SLPS<br /> 00000100 2D 32 35 30 32 36 -25026<br /> || 15753 (3.73+) || fixes blackscreen<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x09 =&gt; 1,<br /> 0x2B666C, <br /> 0x24080080 (li t0,0x80), <br /> 0x24060001 (li a2,0x1), <br /> 0x24080080 (li t0,0x80), <br /> 0x24060000 (li a2,0x0)<br /> 0x0B =&gt; 7, <br /> 0x17FF05, 0x7F0, 0x0C ,<br /> 0x1000C427 addiu a0,fp,0x10,<br /> 0xB732000C jal -0x2A9B90,<br /> 0x00000000 nop, <br /> 0x2B000424 li a0,0x2B,<br /> 0xB332000C jal -0x2A9BA0,<br /> 0x1000C527 addiu a1,fp,0x10,<br /> 0x17FF05, 0x5F4, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF0F, 0x708, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF19, 0x118, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF19, 0x170, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF19, 0x1C8, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF1A, 0x7FC, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> <br /> 002B666C 01 00 06 24 0x24060001 li a2,0x1<br /> 80 00 08 24 0x24080080 li t0,0x80 <br /> 2D 48 E0 00 0x00E0482D dmove t1,a3<br /> 10 00 0A 24 0x240A0010 li t2,0x10<br /> <br /> config 80 00 08 24 0x24080080 li t0,0x80<br /> 01 00 06 24 0x24060001 li a2,0x1<br /> 80 00 08 24 0x24080080 li t0,0x80<br /> 00 00 06 24 0x24060000 li a2,0x0<br /> |-<br /> | NPED00027 || Deadly Strike ||<br /> 00000000 3D 00 00 00 96 40 00 00 0A 00 00 00 01 00 00 00 =....@..........<br /> 00000010 14 09 1E 00 17 37 01 3C 14 37 01 3C 00 00 00 00 .....7.&lt;.7.&lt;....<br /> 00000020 53 4C 45 53 2D 35 32 39 35 35 SLES-52955<br /> || 16534 (4.20+) ||<br /> 0x3D =&gt; 0x4096 (16534)<br /> 0x0A =&gt; 1 <br /> 0x1E0914, 17 37 01 3C 0x3C013717 li at,0x3717<br /> 14 37 01 3C 0x3C013714 li at,0x3714 <br /> |-<br /> | NPED00087 || Disneys PK: Out of the Shadows ||<br /> <br /> || || blackscreen<br /> <br /> |-<br /> | NPUD21944 || Doras Big Birthday Adventure ||<br /> 00000000 3D 00 00 00 ED 3F 00 00 0A 00 00 00 0A 00 00 00 =....?..........<br /> 00000010 00 FF 0F 00 00 00 00 00 07 00 40 14 04 FF 0F 00 ..........@.....<br /> 00000020 00 00 00 00 10 00 01 3C 08 FF 0F 00 00 00 00 00 .......&lt;........<br /> 00000030 F0 FF 28 8C 0C FF 0F 00 00 00 00 00 20 01 09 2D ..(......... ..-<br /> 00000040 10 FF 0F 00 00 00 00 00 03 00 20 11 14 FF 0F 00 .......... .....<br /> 00000050 00 00 00 00 01 00 08 25 18 FF 0F 00 00 00 00 00 .......%........<br /> 00000060 F0 FF 28 AC 1C FF 0F 00 00 00 00 00 06 00 02 24 ..(............$<br /> 00000070 20 FF 0F 00 00 00 00 00 08 00 E0 03 90 9B 1E 00 ...............<br /> 00000080 08 00 E0 03 C0 FF 03 08 00 00 00 00 53 4C 55 53 ............SLUS<br /> 00000090 2D 32 31 39 34 34 -21944<br /> || 16365 (4.20+) ||<br /> 0x3D =&gt; 0x3FED (16365)<br /> 0x0A =&gt; 0xA,<br /> 0xFFF00,0,0x14400007 bnez v0,pos_000FFF20<br /> 0xFFF04,0,0x3C010010 lui at,0x0010<br /> 0xFFF08,0,0x8C28FFF0 lw t0,-0x10(at)<br /> 0xFFF0C,0,0x2D090120 sltiu t1,t0,0x0120<br /> 0xFFF10,0,0x11200003 beqz t1,pos_000FFF20<br /> 0xFFF14,0,0x25080001 addiu t0,0x1<br /> 0xFFF18,0,0xAC28FFF0 sw t0,-0x10(at)<br /> 0xFFF1C,0,0x24020006 li v0,0x6<br /> 0xFFF20,0,0x03E00008 jr ra<br /> 0x1E9B90, 0x03E00008 (jr ra), 0x0803FFC0 j pos_000FFF00<br /> |-<br /> | NPJD00005 || Dragon Force ||<br /> 00000000 3D 00 00 00 D6 40 00 00 0A 00 00 00 02 00 00 00 =....@..........<br /> 00000010 B4 41 10 00 1C 00 40 10 F9 FF 40 14 BC 41 10 00 .A....@...@..A..<br /> 00000020 1D 00 02 3C 1A 00 40 10 41 00 00 00 00 00 00 00 ...&lt;..@.A.......<br /> 00000030 53 4C 50 4D 2D 36 35 37 37 38 SLPM-65778<br /> || 16598 (4.20+) ||<br /> 0x3D =&gt; 0x40D6 (16598)<br /> 0x0A =&gt; 2, <br /> 0x1041B4, 0x1040001C beqz v0,pos_00104228<br /> 0x1440FFF9 bnez v0,pos_0010419C<br /> 0x1041BC, 0x3C02001D lui v0,0x001D<br /> 0x1040001A beqz v0,pos_00104228<br /> 0x41 =&gt; (sets some value 1, sync? - speedhack?)<br /> |-<br /> | NPUD20766 || Fatal Frame II ||<br /> 00000000 3D 00 00 00 AF 42 00 00 21 00 00 00 00 00 00 00 =....B..!.......<br /> 00000010 48 00 00 00 02 00 00 00 9C E6 FF FF 0A 00 00 00 H...............<br /> 00000020 01 00 00 00 1C 70 17 00 41 01 0F 24 61 01 0F 24 .....p..A..$a..$<br /> 00000030 46 00 00 00 0B 00 00 00 01 00 00 00 DD 04 00 00 F...............<br /> 00000040 E8 02 00 00 04 00 00 00 00 42 73 84 00 00 02 FF .........Bs.....<br /> 00000050 00 00 00 00 53 4C 55 53 2D 32 30 37 36 36 ....SLUS-20766 <br /> || 17071 (4.50+) ||<br /> 0x3D =&gt; 0x42AF (17071)<br /> 0x21 =&gt; 0<br /> 0x48 =&gt; 0x2, 0xFFFFE69C<br /> 0x0A =&gt; 1, <br /> 0x17701C, 0x240F0141 (li t7,0x141)<br /> 0x240F0161 (li t7,0x161)<br /> 0x46<br /> 0x0B =&gt; 1<br /> 0x4DD, (sector)<br /> 0x2E8, (offset -&gt; 0x26EADC in iso)<br /> 0x04,<br /> 0x84734200 lh s3,0x4200(v1),<br /> 0xFF020000 sd v0,(t8)<br /> |-<br /> | NPED00052 || God Hand || <br /> 00000000 3D 00 00 00 5F 3F 00 00 41 00 00 00 0A 00 00 00 =..._?..A.......<br /> 00000010 14 00 00 00 A0 FF 0F 00 00 00 00 00 01 00 02 3C ....á .........&lt;<br /> 00000020 A4 FF 0F 00 00 00 00 00 21 20 82 00 A8 FF 0F 00 ñ ......! é.¿ ..<br /> 00000030 00 00 00 00 4D 00 02 24 AC FF 0F 00 00 00 00 00 ....M..$¼ ......<br /> 00000040 0E 00 45 14 B4 FF 0F 00 00 00 00 00 3E 18 06 00 ..E.¦ ......&gt;...<br /> 00000050 B8 FF 0F 00 00 00 00 00 FF 3F 63 38 BC FF 0F 00 © ...... ?c8+ ..<br /> 00000060 00 00 00 00 60 00 02 24 C0 FF 0F 00 00 00 00 00 ....`..$+ ......<br /> 00000070 0A 10 03 00 C4 FF 0F 00 00 00 00 00 00 00 83 8C ....- ........âî<br /> 00000080 C8 FF 0F 00 00 00 00 00 00 00 62 FC CC FF 0F 00 + ........b³¦ ..<br /> 00000090 00 00 00 00 15 00 02 24 D0 FF 0F 00 00 00 00 00 .......$ð ......<br /> 000000A0 08 00 62 FC D4 FF 0F 00 00 00 00 00 10 00 63 24 ..b³È ........c$<br /> 000000B0 D8 FF 0F 00 00 00 00 00 00 00 83 AC DC FF 0F 00 Ï ........â¼_ ..<br /> 000000C0 00 00 00 00 10 00 83 8C E0 FF 0F 00 00 00 00 00 ......âîÓ ......<br /> 000000D0 01 00 63 24 E4 FF 0F 00 00 00 00 00 10 00 83 AC ..c$õ ........â¼<br /> 000000E0 E8 FF 0F 00 00 00 00 00 A6 67 0A 08 90 9E 29 00 Þ ......ªg..É×).<br /> 000000F0 01 00 02 3C E8 FF 03 08 94 9E 29 00 21 20 82 00 ...&lt;Þ ..ö×).! é.<br /> 00000100 00 00 00 00 00 00 00 00 53 4C 45 53 2D 35 34 34 ........SLES-544<br /> 00000110 39 30 90<br /> || 16223 (4.10+) ||<br /> 0x3D =&gt; 0x3F5F (16223)<br /> 0x41 =&gt; (sets some value 1, sync? - speedhack?)<br /> 0x0A =&gt; 0x14<br /> 0xFFFA0,0,0x3C020001 lui v0,0x0001<br /> 0xFFFA4,0,0x00822021 addu a0,v0<br /> 0xFFFA8,0,0x2402004D li v0,0x4D<br /> 0xFFFAC,0,0x1445000E bne v0,a1,pos_000FFFE8<br /> 0xFFFB4,0,0x0006183E dsrl32 v1,a2,0x00<br /> 0xFFFB8,0,0x38633FFF xori v1,0x3FFF<br /> 0xFFFBC,0,0x24020060 li v0,0x60<br /> 0xFFFC0,0,0x0003100A movz v0,zero,v1<br /> 0xFFFC4,0,0x8C830000 lw v1,(a0)<br /> 0xFFFC8,0,0xFC620000 sd v0,(v1)<br /> 0xFFFCC,0,0x24020015 li v0,0x15<br /> 0xFFFD0,0,0xFC620008 sd v0,0x8(v1)<br /> 0xFFFD4,0,0x24630010 addiu v1,0x10<br /> 0xFFFD8,0,0xAC830000 sw v1,(a0)<br /> 0xFFFDC,0,0x8C830010 lw v1,0x10(a0)<br /> 0xFFFE0,0,0x24630001 addiu v1,0x1<br /> 0xFFFE4,0,0xAC830010 sw v1,0x10(a0)<br /> 0xFFFE8,0,0x080A67A6 j pos_00299E98<br /> 0x299E90,0x3C020001 (lui v0,0x0001),0x0803FFE8 j pos_000FFFA0<br /> 0x299E94,0x00822021 (addu a0,v0),0x00000000 nop<br /> |-<br /> | NPUD20712 || Gradius V ||<br /> 00000000 3D 00 00 00 37 3E 00 00 0B 00 00 00 01 00 00 00 =...7&gt;..........<br /> 00000010 D3 05 00 00 10 03 00 00 08 00 00 00 03 E0 00 08 ................<br /> 00000020 00 00 00 00 27 BD FF C0 3C 03 00 4C 41 00 00 00 ....'...&lt;..LA...<br /> 00000030 26 00 00 00 E0 46 30 00 44 5E 30 00 00 00 00 00 &amp;....F0.D^0.....<br /> 00000040 53 4C 55 53 2D 32 30 37 31 32 SLUS-20712 <br /> || 15927 (3.71+) || <br /> 0x3D =&gt; 0x3E37 (15927)<br /> 0x0B =&gt; 1<br /> 0x5D3, (sector)<br /> 0x310, (offset -&gt; 0x2E9B04 in iso)<br /> 0x08, <br /> 03 E0 00 08 jr ra<br /> 00 00 00 00 nop<br /> 27 BD FF C0 addiu sp,-0x40<br /> 3C 03 00 4C lui v1,0x004C<br /> 0x41 =&gt; (sets some value 1, sync? - speedhack?)<br /> 0x26 =&gt; 0x3046E0, 0x0x305E44<br /> |-<br /> | NPUD20552 || Grand Theft Auto - Vice City ||<br /> 00000000 3D 00 00 00 A5 41 00 00 21 00 00 00 01 00 00 00 =....A..!.......<br /> 00000010 0A 00 00 00 0D 00 00 00 A0 FF 0F 00 00 00 00 00 ................<br /> 00000020 17 00 01 24 A4 FF 0F 00 00 00 00 00 08 00 24 14 ...$..........$.<br /> 00000030 AC FF 0F 00 00 00 00 00 10 00 01 3C B0 FF 0F 00 ...........&lt;....<br /> 00000040 00 00 00 00 90 FF 22 8C B4 FF 0F 00 00 00 00 00 ......&quot;.........<br /> 00000050 FF FF 42 24 B8 FF 0F 00 00 00 00 00 05 00 40 1C ..B$..........@.<br /> 00000060 C0 FF 0F 00 00 00 00 00 04 00 02 24 C4 FF 0F 00 ...........$....<br /> 00000070 00 00 00 00 90 FF 22 AC C8 FF 0F 00 00 00 00 00 ......&quot;.........<br /> 00000080 C1 3A 0B 08 CC FF 0F 00 00 00 00 00 D0 FF BD 27 .:.............'<br /> 00000090 D0 FF 0F 00 00 00 00 00 08 00 E0 03 D4 FF 0F 00 ................<br /> 000000A0 00 00 00 00 90 FF 22 AC 00 EB 2C 00 D0 FF BD 27 ......&quot;...,....'<br /> 000000B0 E8 FF 03 08 00 00 00 00 53 4C 55 53 2D 32 30 35 ........SLUS-205<br /> 000000C0 35 32 52<br /> || 16805 (4.30+) ||<br /> 0x3D =&gt; 0x41A5 (16805)<br /> 0x21 =&gt; 1<br /> 0x0A = 0xD<br /> 0xFFFA0,0,0x24010017 li at,0x17<br /> 0xFFFA4,0,0x14240008 bne at,a0,pos_000FFFC8<br /> 0xFFFAC,0,0x3C010010 lui at,0x0010<br /> 0xFFFB0,0,0x8C22FF90 lw v0,-0x70(at)<br /> 0xFFFB4,0,0x2442FFFF addiu v0,-0x1<br /> 0xFFFB8,0,0x1C400005 bgtz v0,pos_000FFFD0<br /> 0xFFFC0,0,0x24020004 li v0,0x4<br /> 0xFFFC4,0,0xAC22FF90 sw v0,-0x70(at)<br /> 0xFFFC8,0,0x080B3AC1 j pos_002CEB04<br /> 0xFFFCC,0,0x27BDFFD0 addiu sp,-0x30<br /> 0xFFFD0,0,0x03E00008 jr ra<br /> 0xFFFD4,0,0xAC22FF90 sw v0,-0x70(at)<br /> 0x2CEB00,0x27BDFFD0 ( addiu sp,-0x30 ),0x0803FFE8 j pos_000FFFA0<br /> <br /> |-<br /> | NPED00063 || Grand Theft Auto III ||<br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 90 97 34 00 =....=........4.<br /> 00000010 10 00 00 00 21 00 00 00 01 00 00 00 00 00 00 00 ....!...........<br /> 00000020 53 4C 45 53 2D 35 30 33 33 30 SLES-50330<br /> || 15753 (3.73+) ||<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x01 =&gt; 0x349790, 0x10<br /> 0x21 =&gt; 1<br /> |-<br /> | NPUD20062 || Grand Theft Auto III ||<br /> 00000000 3D 00 00 00 48 3F 00 00 19 00 00 00 01 00 00 00 =...H?..........<br /> 00000010 40 8B 34 00 0F 00 00 00 21 00 00 00 01 00 00 00 @.4.....!.......<br /> 00000020 0B 00 00 00 01 00 00 00 71 6D 0F 00 EC 04 00 00 ........qm......<br /> 00000030 B0 00 00 00 03 E0 00 08 00 00 00 00 3C 01 00 10 ............&lt;...<br /> 00000040 8C 21 FE F0 14 20 00 25 00 00 00 00 27 BD FF 50 .!... .%....'..P<br /> 00000050 08 0B 64 B9 7F BF 00 50 00 00 00 00 34 02 00 03 ..d....P....4...<br /> 00000060 34 01 00 43 10 81 00 15 34 03 00 00 34 01 00 20 4..C....4...4.. <br /> 00000070 10 81 00 12 34 03 00 01 34 01 00 1F 10 81 00 0F ....4...4.......<br /> 00000080 34 03 00 02 34 01 00 1D 10 81 00 0C 34 03 00 03 4...4.......4...<br /> 00000090 34 02 00 02 34 01 00 39 10 81 00 08 34 03 00 04 4...4..9....4...<br /> 000000A0 34 02 00 01 34 01 00 1A 10 81 00 04 34 03 00 05 4...4.......4...<br /> 000000B0 27 BD FE F0 08 0B 1D 05 7F BF 00 90 3C 01 00 10 '...........&lt;...<br /> 000000C0 00 23 18 21 90 79 FE E0 27 39 00 01 03 22 08 2A .#.!.y..'9...&quot;.*<br /> 000000D0 00 01 C8 0A 13 20 FF F6 A0 79 FE E0 03 E0 00 08 ..... ...y......<br /> 000000E0 00 00 00 00 27 BD FE D0 7F BF 00 B0 7F BE 00 A0 ....'...........<br /> 000000F0 7F B7 00 90 7F B6 00 80 7F B5 00 70 7F B4 00 60 ...........p...`<br /> 00000100 7F B3 00 50 7F B2 00 40 7F B1 00 30 7F B0 00 20 ...P...@...0... <br /> 00000110 E7 B7 00 1C E7 B6 00 18 E7 B5 00 14 E7 B4 00 10 ................<br /> 00000120 27 B7 00 F4 46 00 65 06 E7 AC 00 F0 24 07 00 01 '...F.e.....$...<br /> 00000130 46 00 75 86 27 B0 00 F8 46 00 7D 46 E6 ED 00 00 F.u.'...F.}F....<br /> 00000140 3C 02 C4 7A AE 02 00 00 3C 02 44 7A FF A0 00 00 &lt;..z....&lt;.Dz....<br /> 00000150 44 82 60 00 27 A4 00 F0 46 00 6D C6 27 A5 00 C0 D.`.'...F.m.'...<br /> 00000160 27 A6 01 2C 70 00 46 28 70 00 4E 28 70 00 56 28 '..,p.F(p.N(p.V(<br /> 00000170 70 E0 5E 28 0C 0A A8 34 FF A0 00 08 27 B1 00 C8 p.^(...4....'...<br /> 00000180 C6 20 00 00 3C 02 40 00 44 82 08 00 24 07 00 01 . ..&lt;.@.D...$...<br /> 00000190 3C 02 44 7A 0A 00 00 00 07 00 00 00 40 7D 24 00 &lt;.Dz........@}$.<br /> 000001A0 08 00 E0 03 10 00 01 3C 44 7D 24 00 00 00 00 00 .......&lt;D}$.....<br /> 000001B0 08 00 E0 03 48 7D 24 00 00 00 00 00 F0 FE 22 AC ....H}$.......&quot;.<br /> 000001C0 E0 92 2D 00 50 FF BD 27 1A 2B 0D 08 E4 92 2D 00 ..-.P..'.+....-.<br /> 000001D0 50 00 BF 7F 00 00 00 00 10 74 2C 00 F0 FE BD 27 P........t,....'<br /> 000001E0 22 2B 0D 08 14 74 2C 00 90 00 BF 7F 00 00 00 00 &quot;+...t,.........<br /> 000001F0 00 00 00 00 53 4C 55 53 2D 32 30 30 36 32 ....SLUS-20062 <br /> || 16200 (4.10+) ||<br /> 0x3D =&gt; 0x3F48 (16200)<br /> 0x19 =&gt; (sets some value 1)<br /> 0x01 =&gt; 0x348B40, 0xF<br /> 0x21 =&gt; 1<br /> 0x0B =&gt; 1<br /> 0xF6D71, (sector)<br /> 0x4EC, (offset -&gt; 0x7B6B8CE0 in iso)<br /> 0xB0, <br /> 03 E0 00 08 jr ra<br /> 00 00 00 00 nop<br /> 3C 01 00 10 lui at,0x0010<br /> 8C 21 FE F0 lw at,-0x110(at)<br /> 14 20 00 25 bnez at,+0x98<br /> 00 00 00 00 nop<br /> 27 BD FF 50 addiu sp,-0xB0<br /> 08 0B 64 B9 j +0x22C78<br /> 7F BF 00 50 sq ra,0x50(sp)<br /> 00 00 00 00 nop<br /> 34 02 00 03 li v0,0x3<br /> 34 01 00 43 li at,0x43<br /> 10 81 00 15 beq a0,at,+0x5C<br /> 34 03 00 00 li v1,0x0<br /> 34 01 00 20 li at,0x20<br /> 10 81 00 12 beq a0,at,+0x4C<br /> 34 03 00 01 li v1,0x1<br /> 34 01 00 1F li at,0x1F<br /> 10 81 00 0F beq a0,at,+0x3C<br /> 34 03 00 02 li v1,0x2<br /> 34 01 00 1D li at,0x1D<br /> 10 81 00 0C beq a0,at,+0x2C<br /> 34 03 00 03 li v1,0x3<br /> 34 02 00 02 li v0,0x2<br /> 34 01 00 39 li at,0x39<br /> 10 81 00 08 beq a0,at,+0x24<br /> 34 03 00 04 li v1,0x4<br /> 34 02 00 01 li v0,0x1<br /> 34 01 00 1A li at,0x1A<br /> 10 81 00 04 beq a0,at,+0x14<br /> 34 03 00 05 li v1,0x5<br /> 27 BD FE F0 addiu sp,-0x110<br /> 08 0B 1D 05 j +0x10D54<br /> 7F BF 00 90 sq ra,0x90(sp)<br /> 3C 01 00 10 lui at,0x0010<br /> 00 23 18 21 addu v1,at<br /> 90 79 FE E0 lbu t9,-0x120(v1)<br /> 27 39 00 01 addiu t9,0x1<br /> 03 22 08 2A slt at,t9,v0<br /> 00 01 C8 0A movz t9,zero,at<br /> 13 20 FF F6 beqz t9,-0x24<br /> A0 79 FE E0 sb t9,-0x120(v1)<br /> 03 E0 00 08 jr ra<br /> 00 00 00 00 nop<br /> 27 BD FE D0 addiu sp,-0x130<br /> 7F BF 00 B0 sq ra,0xB0(sp)<br /> 7F BE 00 A0 sq fp,0xA0(sp)<br /> 7F B7 00 90 sq s7,0x90(sp)<br /> 7F B6 00 80 sq s6,0x80(sp)<br /> 7F B5 00 70 sq s5,0x70(sp)<br /> 7F B4 00 60 sq s4,0x60(sp)<br /> 7F B3 00 50 sq s3,0x50(sp)<br /> 7F B2 00 40 sq s2,0x40(sp)<br /> 7F B1 00 30 sq s1,0x30(sp)<br /> 7F B0 00 20 sq s0,0x20(sp)<br /> E7 B7 00 1C swc1 f23,0x1C(sp)<br /> E7 B6 00 18 swc1 f22,0x18(sp)<br /> E7 B5 00 14 swc1 f21,0x14(sp)<br /> E7 B4 00 10 swc1 f20,0x10(sp)<br /> 27 B7 00 F4 addiu s7,sp,0xF4<br /> 46 00 65 06 mov.s f20,f12<br /> E7 AC 00 F0 swc1 f12,0xF0(sp)<br /> 24 07 00 01 li a3,0x1<br /> 46 00 75 86 mov.s f22,f14<br /> 27 B0 00 F8 addiu s0,sp,0xF8<br /> 46 00 7D 46 mov.s f21,f15<br /> E6 ED 00 00 swc1 f13,(s7)<br /> 3C 02 C4 7A lui v0,0xC47A<br /> AE 02 00 00 sw v0,(s0)<br /> 3C 02 44 7A lui v0,0x447A<br /> FF A0 00 00 sd zero,(sp)<br /> 44 82 60 00 mtc1 v0,f12<br /> 27 A4 00 F0 addiu a0,sp,0xF0<br /> 46 00 6D C6 mov.s f23,f13<br /> 27 A5 00 C0 addiu a1,sp,0xC0<br /> 27 A6 01 2C addiu a2,sp,0x12C<br /> 70 00 46 28 paddub t0,zero,zero<br /> 70 00 4E 28 paddub t1,zero,zero<br /> 70 00 56 28 paddub t2,zero,zero<br /> 70 E0 5E 28 paddub t3,a3,zero<br /> 0C 0A A8 34 jal -0xC5C4<br /> FF A0 00 08 sd zero,0x8(sp)<br /> 27 B1 00 C8 addiu s1,sp,0xC8<br /> C6 20 00 00 lwc1 f00,(s1)<br /> 3C 02 40 00 lui v0,0x4000<br /> 44 82 08 00 mtc1 v0,f01<br /> 24 07 00 01 li a3,0x1<br /> 3C 02 44 7A lui v0,0x447A<br /> 0x0A =&gt; 7<br /> 0x247D40, 0x03E00008 (jr ra), 0x3C010010 lui at,0x0010<br /> 0x247D44, 0x00000000 (nop), 0x03E00008 jr ra<br /> 0x247D48, 0x00000000 (nop), 0xAC22FEF0 sw v0,-0x110(at)<br /> 0x2D92E0, 0x27BDFF50 (addiu sp,-0xB0), 0x080D2B1A j pos_0034AC68<br /> 0x2D92E4, 0x7FBF0050 (sq ra,0x50(sp)), 0x00000000 nop<br /> 0x2C7410, 0x27BDFEF0 (addiu sp,-0x110), 0x080D2B22 j pos_0034AC88<br /> 0x2C7414, 0x7FBF0090 (sq ra,0x90(sp)), 0x00000000 nop<br /> |-<br /> | NPED00070 || Grand Theft Auto - San Andreas ||<br /> 00000000 3D 00 00 00 60 40 00 00 0F 00 00 00 B0 45 1E 00 =...`@.......E..<br /> 00000010 08 51 1E 00 40 00 00 00 00 00 00 00 53 4C 45 53 .Q..@.......SLES<br /> 00000020 2D 35 32 39 32 37 -52927<br /> || 16480 (4.20+) ||<br /> 0x3D =&gt; 0x4060 (16480)<br /> 0x0F =&gt; 0x1E45B0, 0x1E5108<br /> 0x40 =&gt; (sets some value 1)<br /> |-<br /> | NPUD20946 || Grand Theft Auto - San Andreas ||<br /> 00000000 3D 00 00 00 60 40 00 00 0F 00 00 00 DC 46 1E 00 =...`@.......F..<br /> 00000010 E8 4A 1E 00 40 00 00 00 00 00 00 00 53 4C 55 53 .J..@.......SLUS<br /> 00000020 2D 32 30 39 34 36 -20946<br /> || 16480 (4.20+) ||<br /> 0x3D =&gt; 0x4060 (16480)<br /> 0x0F =&gt; 0x1E46DC, 0x1E4AE8<br /> 0x40 =&gt; (sets some value 1)<br /> |-<br /> | NPJD00062 || Grandia II ||<br /> <br /> || || texture bugs<br /> <br /> |-<br /> | NPUD21604 || GRIMgRiMoiRe ||<br /> 00000000 3D 00 00 00 12 3D 00 00 15 00 00 00 04 00 00 00 =....=..........<br /> || 15634 (3.70+) ||<br /> 0x3D =&gt; 0x3D12 (15634)<br /> 0x15 =&gt; 4<br /> |-<br /> | NPJD00020 || Katamari Damacy ||<br /> 00000000 3D 00 00 00 46 40 00 00 41 00 00 00 0B 00 00 00 =...F@..A.......<br /> 00000010 01 00 00 00 29 04 00 00 40 00 00 00 04 00 00 00 ....)...@.......<br /> 00000020 00 24 77 68 00 00 00 00 00 00 00 00 53 4C 50 53 .$wh........SLPS<br /> 00000030 2D 32 35 33 36 30 -25360<br /> || 16454 (4.20+)||<br /> 0x3D =&gt; 0x4046 (16454)<br /> 0x41 =&gt; (sets some value 1, sync? - speedhack?)<br /> 0x0B =&gt; 1<br /> 0x429, (sector)<br /> 0x40, (offset -&gt; 0x214834 in iso)<br /> 0x04,<br /> 0x68772400 mfsa t6 , <br /> 0x00000000 nop<br /> |-<br /> | NPUD20847 || La Pucelle: Tactics ||<br /> 00000000 3D 00 00 00 DB 3F 00 00 0A 00 00 00 0B 00 00 00 =....?..........<br /> 00000010 40 FA 0F 00 00 00 00 00 0C 01 0A 3C 44 FA 0F 00 @..........&lt;D...<br /> 00000020 00 00 00 00 04 DE 4A 35 48 FA 0F 00 00 00 00 00 ......J5H.......<br /> 00000030 04 00 45 11 4C FA 0F 00 00 00 00 00 00 00 00 00 ..E.L...........<br /> 00000040 50 FA 0F 00 00 00 00 00 10 00 0A 8E 54 FA 0F 00 P...........T...<br /> 00000050 00 00 00 00 9A E2 04 08 58 FA 0F 00 00 00 00 00 ........X.......<br /> 00000060 14 00 0B 8E 5C FA 0F 00 00 00 00 00 9C E2 04 08 ....\...........<br /> 00000070 60 FA 0F 00 00 00 00 00 00 00 00 00 60 8A 13 00 `...........`...<br /> 00000080 10 00 0A 8E 90 FE 03 08 64 8A 13 00 14 00 0B 8E ........d.......<br /> 00000090 00 00 00 00 00 00 00 00 53 4C 55 53 2D 32 30 38 ........SLUS-208<br /> 000000A0 34 37 47 <br /> || 16347 (4.10+) || fixes blackscreen - config rebuild function/opcode from 0x138A60 by rewrite it under 0x100000 offset, and jump to it by j 0x000FFA40 (note: area under 0x100000 is unused in 99% games, but can be freely addressed).<br /> 0x3D =&gt; 0x3FDB (16347)<br /> 0x0A =&gt; 0xB<br /> 0xFFA40,0,0x3C0A010C lui t2, 0x010C<br /> 0xFFA44,0,0x354ADE04 ori t2, 0xDE04<br /> 0xFFA48,0,0x11450004 beq t2, a1, 0x000FFA5C<br /> 0xFFA4C,0,0 nop<br /> 0xFFA50,0,0x8E0A0010 lw t2, 0x10(s0)<br /> 0xFFA54,0,0x0804E29A j 0x00138A68<br /> 0xFFA58,0,0x8E0B0014 lw t3, 0x14(s0)<br /> 0xFFA5C,0,0x0804E29C j 0x00138A70<br /> 0xFFA60,0,0 nop<br /> 0x138A60,0x8E0A0010 (lw t2, 0x10(s0)),0x0803FE90 j 0x000FFA40<br /> 0x138A64,0x8E0B0014 (lw t3, 0x14(s0)),0 (nop)<br /> |-<br /> | NPUD20275 || Kessen II ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0B 00 00 00 03 00 00 00 =....=..........<br /> 00000010 10 76 00 00 BC 07 00 00 10 00 00 00 48 43 88 00 .v..........HC..<br /> 00000020 4B E5 21 AC 30 84 80 00 4B E7 2B 3C 4B E5 21 AC K.!.0...K.+&lt;K.!.<br /> 00000030 30 84 80 00 4B E7 2B 3C 48 43 88 00 64 76 00 00 0...K.+&lt;HC..dv..<br /> 00000040 10 05 00 00 0C 00 00 00 4B C0 10 9C 4B C0 18 DC ........K...K...<br /> 00000050 4A 68 03 BE 4A 68 03 BE 4B C0 10 9C 4B C0 18 DC Jh..Jh..K...K...<br /> 00000060 64 76 00 00 C8 06 00 00 0C 00 00 00 4B C0 10 9C dv..........K...<br /> 00000070 4B C0 18 DC 4A 68 03 BE 4A 68 03 BE 4B C0 10 9C K...Jh..Jh..K...<br /> 00000080 4B C0 18 DC 00 00 00 00 53 4C 55 53 2D 32 30 32 K.......SLUS-202<br /> 00000090 37 35 75 <br /> || 15753 (3.73+) || fixes spickey polygon syndrome problems for characters in cutscenes/selection/..<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0B =&gt; 3<br /> 0x7610, 0x07BC, 0x10, <br /> Patched Bytes:<br /> 0x00884348 00 88 43 48 cfc2 $v1, $17 (cfc2 v1,MACflag)<br /> 0xAC21E54B AC 21 E5 4B cop2 0x1E521AC (vsub.xyzw vf06, vf04, vf05)<br /> 0x00808430 00 80 84 30 andi $a0, 0x8000<br /> 0x3C2BE74B 3C 2B E7 4B cop2 0x1E72B3C (vmove.xyzw, vf07, vf05)<br /> Original Bytes:<br /> 0xAC21E54B AC 21 E5 4B cop2 0x1E521AC (vsub.xyzw vf06, vf04, vf05)<br /> 0x00808430 00 80 84 30 andi $a0, 0x8000<br /> 0x3C2BE74B 3C 2B E7 4B cop2 0x1E72B3C (vmove.xyzw, vf07, vf05)<br /> 0x00884348 00 88 43 48 cfc2 $v1, $17 (cfc2 v1,MACflag)<br /> 0x7664, 0x0510, 0x0C,<br /> Patched Bytes:<br /> 0x9C10C04B 9C 10 C0 4B cop2 0x1C0109C (vmulq.xyz vf02,vf02,Q)<br /> 0xDC18C04B DC 18 C0 4B cop2 0x1C018DC (vmulq.xyz vf03,vf03,Q)<br /> 0xBE03684A BE 03 68 4A cop2 0x6803BE (vrsqrt Q, vf00w, vf08x)<br /> Original Bytes:<br /> 0xBE03684A BE 03 68 4A cop2 0x6803BE (vrsqrt Q, vf00w, vf08x)<br /> 0x9C10C04B 9C 10 C0 4B cop2 0x1C0109C (vmulq.xyz vf02,vf02,Q)<br /> 0xDC18C04B DC 18 C0 4B cop2 0x1C018DC (vmulq.xyz vf03,vf03,Q)<br /> 0x7664, 0x06C8, 0x0C, <br /> Patched Bytes:<br /> 0x9C10C04B 9C 10 C0 4B cop2 0x1C0109C (vmulq.xyz vf02,vf02,Q)<br /> 0xDC18C04B DC 18 C0 4B cop2 0x1C018DC (vmulq.xyz vf03,vf03,Q)<br /> 0xBE03684A BE 03 68 4A cop2 0x6803BE (vrsqrt Q, vf00w, vf08x)<br /> Original Bytes:<br /> 0xBE03684A BE 03 68 4A cop2 0x6803BE (vrsqrt Q, vf00w, vf08x)<br /> 0x9C10C04B 9C 10 C0 4B cop2 0x1C0109C (vmulq.xyz vf02,vf02,Q)<br /> 0xDC18C04B DC 18 C0 4B cop2 0x1C018DC (vmulq.xyz vf03,vf03,Q)<br /> |-<br /> | NPJD00040 || Mana Khemia 2 ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 53 4C 50 4D 2D 35 35 31 ........SLPM-551<br /> 00000020 31 34 14<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> |-<br /> | NPUD20827 || Manhunt ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0A 00 00 00 0F 00 00 00 =....=..........<br /> 00000010 A0 FF 0F 00 00 00 00 00 2D 68 A0 00 A4 FF 0F 00 ........-h......<br /> 00000020 00 00 00 00 14 00 AE 8D A8 FF 0F 00 00 00 00 00 ................<br /> 00000030 10 00 AC 8D AC FF 0F 00 00 00 00 00 50 00 AF 8D ............P...<br /> 00000040 B0 FF 0F 00 00 00 00 00 08 00 8F 15 B4 FF 0F 00 ................<br /> 00000050 00 00 00 00 54 00 AB 8D B8 FF 0F 00 00 00 00 00 ....T...........<br /> 00000060 06 00 CB 15 BC FF 0F 00 00 00 00 00 00 80 8F 25 ...............%<br /> 00000070 C0 FF 0F 00 00 00 00 00 00 80 CE 25 C4 FF 0F 00 ...........%....<br /> 00000080 00 00 00 00 54 00 AE AD C8 FF 0F 00 00 00 00 00 ....T...........<br /> 00000090 50 00 AF AD CC FF 0F 00 00 00 00 00 10 00 AF AD P...............<br /> 000000A0 D0 FF 0F 00 00 00 00 00 14 00 AE AD D4 FF 0F 00 ................<br /> 000000B0 00 00 00 00 04 68 10 08 D8 FF 0F 00 00 00 00 00 .....h..........<br /> 000000C0 5F 00 03 3C 0B 00 00 00 01 00 00 00 22 0D 00 00 _..&lt;........&quot;...<br /> 000000D0 14 01 00 00 08 00 00 00 08 03 FF E8 27 BD FF F0 ............'...<br /> 000000E0 3C 03 00 5F 27 BD FF F0 00 00 00 00 53 4C 55 53 &lt;.._'.......SLUS<br /> 000000F0 2D 32 30 38 32 37 -20827<br /> || 15753 (3.73+) || fixes graphical issues<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0A =&gt; 0x0F<br /> 0xFFFA0,0, 0x00A0682D 2D 68 A0 00 dmove t5,a1<br /> 0xFFFA4,0, 0x8DAE0014 14 00 AE 8D lw t6,0x14(t5)<br /> 0xFFFA8,0, 0x8DAC0010 10 00 AC 8D lw t4,0x10(t5)<br /> 0xFFFAC,0, 0x8DAF0050 50 00 AF 8D lw t7,0x50(t5)<br /> 0xFFFB0,0, 0x158F0008 08 00 8F 15 bne t4,t7,pos_000FFFD4<br /> 0xFFFB4,0, 0x8DAB0054 54 00 AB 8D lw t3,0x54(t5)<br /> 0xFFFB8,0, 0x15CB0006 06 00 CB 15 bne t6,t3,pos_000FFFD4<br /> 0xFFFBC,0, 0x258F8000 00 80 8F 25 addiu t7,t4,-0x8000<br /> 0xFFFC0,0, 0x25CE8000 00 80 CE 25 addiu t6,-0x8000<br /> 0xFFFC4,0, 0xADAE0054 54 00 AE AD sw t6,0x54(t5)<br /> 0xFFFC8,0, 0xADAF0050 50 00 AF AD sw t7,0x50(t5)<br /> 0xFFFCC,0, 0xADAF0010 10 00 AF AD sw t7,0x10(t5)<br /> 0xFFFD0,0, 0xADAE0014 14 00 AE AD sw t6,0x14(t5)<br /> 0xFFFD4,0, 0x08106804 04 68 10 08 j pos_0041A010<br /> 0xFFFD8,0, 0x3C03005F 5F 00 03 3C lui v1,0x005F<br /> 0x0B =&gt; 1<br /> 0xD22, (disc sector)<br /> 0x114, (offset -&gt; 0x691108 in iso)<br /> 0x08,<br /> 0x0803FFE8 E8 FF 03 08 j pos_000FFFA0<br /> 0x27BDFFF0 F0 FF BD 27 addiu sp,-0x10<br /> 0x3C03005F 5F 00 03 3C lui v1,0x005F<br /> 0x27BDFFF0 F0 FF BD 27 addiu sp,-0x10<br /> &lt;pre&gt;<br /> z_un_0041a008:<br /> <br /> lui v1,0x005F &lt;- gets overwritten<br /> addiu sp,-0x10<br /> lw v0,-0x5C14(v1)<br /> sd ra,(sp)<br /> jalr v0<br /> nop <br /> ld ra,(sp)<br /> jr ra<br /> addiu sp,0x10<br /> nop <br /> &lt;/pre&gt;<br /> |-<br /> | NPED00145 || Max Payne ||<br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 F4 E9 52 00 =....=........R.<br /> 00000010 03 00 00 00 01 00 00 00 78 EB 52 00 02 00 00 00 ........x.R.....<br /> 00000020 00 00 00 00 53 4C 45 53 2D 35 30 33 32 35 ....SLES-50325<br /> || 15753 (3.73+) || fixes game hang on first cutscene/cutscenes<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x01 =&gt; 0x52E9F4, 3 (applies to main_p.run ELF on disc: 0x52E9F4 dmove a1,v0 )<br /> 0x01 =&gt; 0x52EB78, 2 (applies to main_p.run ELF on disc: 0x52EB78 lq s1,0x10(sp) )<br /> |-<br /> | NPED00055 || MX World Tour: Featuring Jamie Little ||<br /> <br /> || || blackscreen<br /> <br /> |-<br /> | NPUD21577 || Odin Sphere ||<br /> 00000000 3D 00 00 00 10 3D 00 00 0B 00 00 00 02 00 00 00 =....=..........<br /> 00000010 52 04 00 00 F8 03 00 00 04 00 00 00 2D 02 49 0C R...........-.I.<br /> 00000020 2D 02 49 14 52 04 00 00 70 04 00 00 04 00 00 00 -.I.R...p.......<br /> 00000030 2D 03 49 0C 2D 03 49 14 15 00 00 00 04 00 00 00 -.I.-.I.........<br /> || 15632 (3.70+) ||<br /> 0x3D =&gt; 0x3D10 (15632)<br /> 0x0B =&gt; 2<br /> 0x452, (sector)<br /> 0x3F8, (offset -&gt; 0x2293EC in iso)<br /> 0x04,<br /> 0x0C49022D sltiu v0,t0,0x490C,<br /> 0x1449022D sltiu v0,t0,0x4914,<br /> 0x452, (sector)<br /> 0x470, (offset -&gt; 0x229464 in iso)<br /> 0x04,<br /> 0x0C49032D sltiu v1,t0,0x490C,<br /> 0x1449032D sltiu v1,t0,0x4914<br /> 0x15 =&gt; 4<br /> |-<br /> | NPJD00028 || Phantasy Star Complete Collection ||<br /> 00000000 3D 00 00 00 B8 41 00 00 45 00 00 00 00 00 00 00 =....A..E.......<br /> 00000010 53 4C 50 4D 2D 36 32 37 37 35 SLPM-62775<br /> || 16824 (4.40+)||<br /> 0x3D =&gt; 0x41B8 (16824)<br /> 0x45 =&gt; (sets some value 1)<br /> |-<br /> | NPUC97142 || Primal ||<br /> 00000000 3D 00 00 00 65 3D 00 00 12 00 00 00 0D 00 00 00 =...e=..........<br /> 00000010 00 00 00 04 00 00 00 00 02 00 03 00 5F 01 00 00 ............_...<br /> 00000020 8D BD 6F 2C 67 03 00 00 02 00 03 00 6B 01 00 00 ..o,g.......k...<br /> 00000030 31 35 70 E9 72 03 00 00 03 00 02 00 60 9B 39 10 15p.r.......`.9.<br /> 00000040 18 9C 39 10 0B 00 00 00 01 00 00 00 47 07 00 00 ..9.........G...<br /> 00000050 6C 04 00 00 04 00 00 00 80 5F 03 3C 80 00 03 3C l........_.&lt;...&lt;<br /> || 15717 (3.73+) || fixes loading screen freezing<br /> 0x3D =&gt; 0x3D65 (15717)<br /> 0x12 =&gt; 0x0D, (fixes freezing)<br /> 00 00 00 04 0x04000000 (64 MB?)<br /> 00 00 00 00 <br /> 02 00&gt;'''03 00'''&lt; Count, Type 2<br /> 5F 01 00 00 0x15F<br /> 8D BD 6F 2C 0x2C6FBD8D<br /> 67 03 00 00 0x367<br /> 02 00&gt;'''03 00'''&lt; Count, Type 2<br /> 6B 01 00 00 0x16B<br /> 31 35 70 E9 0xE9703531<br /> 72 03 00 00 0x372<br /> 03 00&gt;'''02 00'''&lt; Count<br /> 60 9B 39 10 -&gt; 0x399B60 ctc2 $zero, $5<br /> 18 9C 39 10 -&gt; 0x399C18 ctc2 $zero, $5<br /> 0x0B =&gt; 1<br /> 0x747, (disc sector)<br /> 0x46C, (offset -&gt; 0x3A3C60 - this patch is for another (hidden) .elf (.vutext) on disc) <br /> 0x04,<br /> 0x3C035F80 lui v1,0x5F80,<br /> 0x3C030080 lui v1,0x0080<br /> |-<br /> | NPUD21120 || Psychonauts ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0B 00 00 00 01 00 00 00 =....=..........<br /> 00000010 12 01 00 00 58 00 00 00 04 00 00 00 00 00 00 00 ....X...........<br /> 00000020 11 CF FF F9 00 00 00 00 53 4C 55 53 2D 32 31 31 ........SLUS-211<br /> 00000030 32 30 20<br /> || 15753 (3.73+) || <br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0B =&gt; 1<br /> 0x112, (sector)<br /> 0x58, (offset -&gt; 0x8904C in iso)<br /> 0x04,<br /> 0x00000000 nop, <br /> 0xF9FFCF11 beq t6,t7,-0x18<br /> |-<br /> | NPUD20272 || Rayman Arena||<br /> 00000000 3D 00 00 00 89 3D 00 00 12 00 00 00 11 00 00 00 =....=..........<br /> 00000010 00 00 00 04 00 00 00 00 02 00 04 00 00 00 00 00 ................<br /> 00000020 AE B3 4E 5D 20 02 00 00 46 02 00 00 03 00 09 00 ..N] ...F.......<br /> 00000030 B0 E9 1D 10 94 EB 1D 10 00 EC 1D 10 54 EC 1D 10 ............T...<br /> 00000040 A0 EE 1D 10 DC EE 1D 10 78 F0 1D 10 B4 F0 1D 10 ........x.......<br /> 00000050 54 F1 1D 10 00 00 00 00 53 4C 55 53 2D 32 30 32 T.......SLUS-202<br /> 00000060 37 32 72 <br /> || 15753 (3.73+) || <br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x12 =&gt; 0x11<br /> 00 00 00 04 <br /> 00 00 00 00 <br /> 02 00&gt;'''04 00'''&lt; Count<br /> 00 00 00 00 <br /> AE B3 4E 5D <br /> 20 02 00 00 <br /> 46 02 00 00 <br /> 03 00&gt;'''09 00'''&lt; Count<br /> B0 E9 1D 10 -&gt; 0x1DE9B0 ctc2 $t0, $6<br /> 94 EB 1D 10 -&gt; 0x1DEB94 ctc2 $t0, $6<br /> 00 EC 1D 10 -&gt; 0x1DEC00 ctc2 $t0, $6<br /> 54 EC 1D 10 -&gt; 0x1DEC54 ctc2 $t0, $6<br /> A0 EE 1D 10 -&gt; 0x1DEEA0 ctc2 $t0, $6<br /> DC EE 1D 10 -&gt; 0x1DEEDC ctc2 $t0, $6<br /> 78 F0 1D 10 -&gt; 0x1DF078 ctc2 $t0, $6<br /> B4 F0 1D 10 -&gt; 0x1DF0B4 ctc2 $t0, $6<br /> 54 F1 1D 10 -&gt; 0x1DF154 ctc2 $t0, $6<br /> |-<br /> | NPJD00079 || Raw Danger! ||<br /> <br /> || || fps problem<br /> <br /> |-<br /> | NPUD20442 || Red Faction 2 ||<br /> 00000000 3D 00 00 00 42 3F 00 00 19 00 00 00 00 00 00 00 =...B?..........<br /> 00000010 53 4C 55 53 2D 32 30 34 34 32 SLUS-20442<br /> || 16194 (4.00+) || <br /> 0x3D =&gt; 0x3F42 (16194)<br /> 0x19 =&gt; (sets some value 1)<br /> |-<br /> | NPUD20471 || Rygar ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0E 00 00 00 A8 7D 14 00 =....=.......}..<br /> 00000010 00 00 00 00 53 4C 55 53 2D 32 30 34 37 31 ....SLUS-20471<br /> || 15753 (3.73+) || fixes hard crash at start when leaving the place<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0E =&gt; 0x147DA8 (offset)<br /> <br /> .text:00147DA8 sub.s $f12, $f20, $f12<br /> |-<br /> | NPUD20974 || Shin Megami Tensei Digital Devil Saga 1|| <br /> 00000000 3D 00 00 00 EC 42 00 00 46 00 00 00 48 00 00 00 =....B..F...H...<br /> 00000010 01 00 00 00 90 D0 03 00 00 00 00 00 53 4C 55 53 ............SLUS<br /> 00000020 2D 32 30 39 37 34 -20974<br /> || 17132 (4.50+) || fixes screen shakes/framerate cracks<br /> 0x3D =&gt; 0x42EC (17132)<br /> 0x46 =&gt; (sets some value 1)<br /> 0x48 =&gt; 0x1 , 0x3D090<br /> |-<br /> | NPUD20911 || Shin Megami Tensei Nocturne || <br /> 00000000 3D 00 00 00 F6 41 00 00 46 00 00 00 00 00 00 00 =....A..F.......<br /> 00000010 53 4C 55 53 2D 32 30 39 31 31 SLUS-20911<br /> || 16886 (4.40+) || fixes screen shakes/flickers (and much more importantly, game crashes)<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x46 =&gt; (sets some value 1)<br /> |-<br /> | NPUD21621 || Shin Megami Tensei Persona 3 FES ||<br /> 00000000 3D 00 00 00 48 41 00 00 0A 00 00 00 20 00 00 00 =...HA...... ...<br /> 00000010 00 FA 0F 00 00 00 00 00 E0 00 A4 8F 04 FA 0F 00 .·......Ó.ñÅ.·..<br /> 00000020 00 00 00 00 6C 01 03 24 08 FA 0F 00 00 00 00 00 ....l..$.·......<br /> 00000030 0A 00 83 14 0C FA 0F 00 00 00 00 00 FF 00 04 24 ..â..·...... ..$<br /> 00000040 10 FA 0F 00 00 00 00 00 B8 26 04 00 14 FA 0F 00 .·......©&amp;...·..<br /> 00000050 00 00 00 00 27 20 84 00 18 FA 0F 00 00 00 00 00 ....' ä..·......<br /> 00000060 D0 00 A3 DF 1C FA 0F 00 00 00 00 00 24 18 83 00 ð.ú¯.·......$.â.<br /> 00000070 20 FA 0F 00 00 00 00 00 0B 00 63 64 24 FA 0F 00 ·........cd$·..<br /> 00000080 00 00 00 00 33 00 04 24 28 FA 0F 00 00 00 00 00 ....3..$(·......<br /> 00000090 B8 26 04 00 2C FA 0F 00 00 00 00 00 25 18 83 00 ©&amp;..,·......%.â.<br /> 000000A0 30 FA 0F 00 00 00 00 00 D0 00 A3 FF 34 FA 0F 00 0·......ð.ú 4·..<br /> 000000B0 00 00 00 00 E1 B3 11 08 38 FA 0F 00 00 00 00 00 ....ߦ..8·......<br /> 000000C0 50 00 64 8E 7C CF 46 00 50 00 64 8E 80 FE 03 08 P.dÄ|¤F.P.dÄǦ..<br /> 000000D0 40 FA 0F 00 00 00 00 00 00 3C 04 3C 44 FA 0F 00 @·.......&lt;.&lt;D·..<br /> 000000E0 00 00 00 00 18 3F 05 3C 48 FA 0F 00 00 00 00 00 .....?.&lt;H·......<br /> 000000F0 20 00 24 AE 4C FA 0F 00 00 00 00 00 24 00 24 AE .$«L·......$.$«<br /> 00000100 50 FA 0F 00 00 00 00 00 60 00 25 AE 54 FA 0F 00 P·......`.%«T·..<br /> 00000110 00 00 00 00 64 00 24 AE 58 FA 0F 00 00 00 00 00 ....d.$«X·......<br /> 00000120 A0 00 24 AE 5C FA 0F 00 00 00 00 00 A4 00 25 AE á.$«\·......ñ.%«<br /> 00000130 60 FA 0F 00 00 00 00 00 E0 00 25 AE 64 FA 0F 00 `·......Ó.%«d·..<br /> 00000140 00 00 00 00 E4 00 25 AE 68 FA 0F 00 00 00 00 00 ....õ.%«h·......<br /> 00000150 04 00 04 24 6C FA 0F 00 00 00 00 00 39 9B 10 08 ...$l·......9ø..<br /> 00000160 70 FA 0F 00 00 00 00 00 10 00 25 26 DC 6C 42 00 p·........%&amp;_lB.<br /> 00000170 04 00 04 24 90 FE 03 08 E0 6C 42 00 10 00 25 26 ...$ɦ..ÓlB...%&amp;<br /> 00000180 00 00 00 00 30 6A 4C 00 80 3F 02 3C 7F 3F 02 3C ....0jL.Ç?.&lt;?.&lt;<br /> 00000190 21 00 00 00 00 00 00 00 15 00 00 00 04 00 00 00 !...............<br /> 000001A0 00 00 00 00 53 4C 55 53 2D 32 31 36 32 31 ....SLUS-21621<br /> || 16712 (4.25+)||<br /> 0x3D =&gt; 0x4148 (16712)<br /> 0x0A =&gt; 0x20<br /> 0xFFA00,0,0x8FA400E0 lw a0,0xE0(sp)<br /> 0xFFA04,0,0x2403016C li v1,0x16C<br /> 0xFFA08,0,0x1483000A bne a0,v1,pos_000FFA34<br /> 0xFFA0C,0,0x240400FF li a0,0xFF<br /> 0xFFA10,0,0x000426B8 dsll a0,0x1A<br /> 0xFFA14,0,0x00842027 nor a0,a0<br /> 0xFFA18,0,0xDFA300D0 ld v1,0xD0(sp)<br /> 0xFFA1C,0,0x00831824 and v1,a0,v1<br /> 0xFFA20,0,0x6463000B daddiu v1,0x000B<br /> 0xFFA24,0,0x24040030 li a0,0x30<br /> 0xFFA28,0,0x000426B8 dsll a0,0x1A<br /> 0xFFA2C,0,0x00831825 or v1,a0,v1<br /> 0xFFA30,0,0xFFA300D0 sd v1,0xD0(sp)<br /> 0xFFA34,0,0x0811B3E1 j pos_0046CF84<br /> 0xFFA38,0,0x8E640050 lw a0,0x50(s3)<br /> 0x46CF7C,0x8E640050 (lw a0,0x50(s3),0x0803FE80 j pos_000FFA00<br /> 0xFFA40,0,0x3C043C00 lui a0,0x3C00<br /> 0xFFA44,0,0x3C053F18 lui a1,0x3F18<br /> 0xFFA48,0,0xAE240020 sw a0,0x20(s1)<br /> 0xFFA4C,0,0xAE240024 sw a0,0x24(s1)<br /> 0xFFA50,0,0xAE250060 sw a1,0x60(s1)<br /> 0xFFA54,0,0xAE240064 sw a0,0x64(s1)<br /> 0xFFA58,0,0xAE2400A0 sw a0,0xA0(s1)<br /> 0xFFA5C,0,0xAE2500A4 sw a1,0xA4(s1)<br /> 0xFFA60,0,0xAE2500E0 sw a1,0xE0(s1)<br /> 0xFFA64,0,0xAE2500E4 sw a1,0xE4(s1)<br /> 0xFFA68,0,0x24040004 li a0,0x4<br /> 0xFFA6C,0,0x08109B39 j pos_00426CE4<br /> 0xFFA70,0,0x26250010 addiu a1,s1,0x10<br /> 0x426CDC,0x24040004(li a0,0x4),0x0803FE90 j pos_000FFA40<br /> 0x426CE0,0x26250010(addiu a1,s1,0x10),0 nop<br /> 0x4C6A30,0x3C023F80(lui v0,0x3F80),0x3C023F7F lui v0,0x3F7F<br /> 0x21 =&gt; 0<br /> 0x15 =&gt; 4<br /> |-<br /> | NPUD21782 || Shin Megami Tensei Persona 4 || <br /> 00000000 3D 00 00 00 89 3D 00 00 0A 00 00 00 01 00 00 00 =....=..........<br /> 00000010 60 9C 18 00 80 3F 02 3C 7F 3F 02 3C 00 00 00 00 `....?.&lt;.?.&lt;....<br /> 00000020 53 4C 55 53 2D 32 31 37 38 32 SLUS-21782<br /> || 15753 (3.73+) || Dungeon name in the corner is glitched (shows black bar).<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0A =&gt; 1<br /> 0x189C60, 0x3C023F80 lui v0,0x3F80 <br /> 0x3C023F7F lui v0,0x3F7F<br /> |-<br /> | NPUC97355 || Siren ||<br /> 00000000 3D 00 00 00 15 41 00 00 19 00 00 00 00 00 00 00 =....A..........<br /> 00000010 53 43 55 53 2D 39 37 33 35 35 SCUS-97355<br /> || 16661 (4.25+)|| <br /> 0x3D =&gt; 0x4115 (16661)<br /> 0x19 =&gt; (sets some value 1)<br /> |-<br /> | NPED00272 || Summoner ||<br /> 00000000 3D 00 00 00 89 3D 00 00 2C 00 00 00 01 00 00 00 =....=..,.......<br /> 00000010 00 00 00 00 53 4C 45 53 2D 38 32 30 30 35 ....SLES-82005 <br /> || 15753 (3.73+) || fixes blackscreen<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x2C =&gt; 0x1<br /> |-<br /> | NPUC97264 || Syphon Filter The Omega Strain || <br /> 00000000 3D 00 00 00 1F 40 00 00 12 00 00 00 05 00 00 00 =....@..........<br /> 00000010 00 00 00 00 00 00 00 00 01 00 02 00 31 00 99 18 ............1...<br /> 00000020 32 00 B6 18 0B 00 00 00 01 00 00 00 F5 05 00 00 2...............<br /> 00000030 8C 02 00 00 04 00 00 00 00 00 00 00 0C 0D C1 54 ...............T<br /> 00000040 0A 00 00 00 0B 00 00 00 F8 35 37 00 1B 52 06 4B .........57..R.K<br /> 00000050 00 80 43 48 FC 35 37 00 00 80 43 48 1B 52 06 4B ..CH.57...CH.R.K<br /> 00000060 EC 6F 3A 00 00 00 00 00 00 00 11 64 F8 6F 3A 00 .o:........d.o:.<br /> 00000070 78 A1 0E 0C 80 FE 03 0C 00 FA 0F 00 00 00 00 00 x...............<br /> 00000080 02 00 08 3C 04 FA 0F 00 00 00 00 00 2B 40 28 02 ...&lt;........+@(.<br /> 00000090 08 FA 0F 00 00 00 00 00 02 00 00 15 0C FA 0F 00 ................<br /> 000000A0 00 00 00 00 54 00 01 3C 10 FA 0F 00 00 00 00 00 ....T..&lt;........<br /> 000000B0 00 28 20 AC 14 FA 0F 00 00 00 00 00 78 A1 0E 08 .( .........x...<br /> 000000C0 18 FA 0F 00 00 00 00 00 01 00 31 26 00 00 00 00 ..........1&amp;....<br /> 000000D0 53 43 55 53 2D 39 37 32 36 34 SCUS-97264<br /> || 16415 (4.20+)|| fixes texture bugs<br /> 0x3D =&gt; 0x401F (16415)<br /> 0x12 =&gt; 0x5 <br /> 00 00 00 00 <br /> 00 00 00 00 <br /> 01 00&gt;'''02 00'''&lt; Count<br /> 31 00 99 18 -&gt; 0x18990<br /> 32 00 B6 18 -&gt; 0x18B60<br /> 0x0B =&gt; 1<br /> 0x5F5, (sector)<br /> 0x28C, (offset -&gt; 0x2FAA80 in iso)<br /> 0x04,<br /> 0x00000000 (nop), <br /> 0x54C10D0C (jal sub_370550)<br /> 0x0A =&gt; 0xB<br /> 0x3735F8, 0x4B06521B (cop2 0x106521B, vmulw.x vf08,vf10,vf06w), 0x48438000 cfc2 v1,Status<br /> 0x3735FC, 0x48438000 (cfc2 v1,Status), 0x4B06521B cop2 0x106521B (vmulw.x vf08,vf10,vf06w)<br /> 0x3A6FEC, 0 (nop), 0x64110000 li $s1, 0<br /> 0x3A6FF8, 0x0C0EA178 (jal pos_003A85E0), 0x0c03FE80 jal pos_000FFA00<br /> 0xFFA00, 0 (nop), 0x3C080002 lui t0,0x0002<br /> 0xFFA04, 0 (nop), 0x0228402B sltu t0,s1,t0<br /> 0xFFA08, 0 (nop), 0x15000002 bnez t0,pos_000FFA14<br /> 0xFFA0C, 0 (nop), 0x3C010054 lui at,0x0054<br /> 0xFFA10, 0 (nop), 0xAC202800 sw zero,0x2800(at)<br /> 0xFFA14, 0 (nop), 0x080EA178 j pos_003A85E0<br /> 0xFFA18, 0 (nop), 0x26310001 addiu s1,0x1<br /> |-<br /> | NPJD00080 || Zettaizetsumei Toshi (Disaster Report) ||<br /> 00000000 3D 00 00 00 26 44 00 00 44 00 00 00 00 00 00 00 =...&amp;D..D.......<br /> 00000010 53 4C 50 53 2D 32 35 31 31 33 SLPS-25113<br /> || 17446 (4.78)|| <br /> 0x3D =&gt; 0x4426 (17446)<br /> 0x44 =&gt; (disables smoothing and smoothing option)<br /> |}<br /> <br /> ====Unofficial====<br /> {| class=&quot;wikitable sortable&quot; style=&quot;width: 1920px;&quot; | <br /> |-<br /> ! style=&quot;width: 10px;&quot; | ID !! Title !! style=&quot;width: 600px;&quot; | Config Data !! Revision !! Notes<br /> |-<br /> | ALL || .hack\\infection Part 1 || <br /> 00000000 3D 00 00 00 89 3D 00 00 08 00 00 00 FF FF FF FF =....=..........<br /> 00000010 FF FF FF FF 8D 94 11 01 FC 0E 00 80 FF FF FF FF ................<br /> 00000020 FF FF FF FF 8D 94 11 01 03 02 03 10 08 00 00 00 ................<br /> 00000030 FF FF FF FF FF FF FF FF 40 A7 E0 01 3C 03 00 80 ........@...&lt;...<br /> 00000040 FF FF FF FF FF FF FF FF 40 A7 E1 01 FC 1E 00 80 ........@.......<br /> 00000050 00 00 00 00 ....<br /> || 15753 (3.73+) || fix freeze<br /> <br /> |-<br /> | SLUS-21268 || 24 The Game ||<br /> 00000000 3D 00 00 00 65 3D 00 00 12 00 00 00 0D 00 00 00 =...e=..........<br /> 00000010 00 00 00 04 00 00 00 00 02 00 03 00 E7 00 00 00 ................<br /> 00000020 45 AD 6E AA EF 02 00 00 02 00 03 00 F3 00 00 00 E.n.............<br /> 00000030 E4 A0 6E 47 FA 02 00 00 03 00 02 00 B0 55 41 10 ..nG.........UA.<br /> 00000040 68 56 41 10 00 00 00 00 hVA..... <br /> <br /> || 15717 (3.73+) || fixes loading screen freezing<br /> 0x3D =&gt; 0x3D65 (15717)<br /> 0x12 =&gt; 0x0D, <br /> 00 00 00 04 <br /> 00 00 00 00 <br /> 02 00&gt;'''03 00'''&lt; Count, Type 2<br /> E7 00 00 00 <br /> 45 AD 6E AA <br /> EF 02 00 00 <br /> 02 00&gt;'''03 00'''&lt; Count, Type 2<br /> F3 00 00 00 <br /> E4 A0 6E 47 <br /> FA 02 00 00 <br /> 03 00&gt;'''02 00'''&lt; Count, Type 3<br /> B0 55 41 10 -&gt; 0x4155B0<br /> 68 56 41 10 -&gt; 0x415668 <br /> <br /> |-<br /> | SCES-50885 || Ape Escape 2 || <br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 01 00 00 00 =...WD..........<br /> 00000010 E0 E0 34 00 16 00 40 14 00 00 00 00 00 00 00 00 ŕŕ4...@.........<br /> || 17495 (4.78+) || Force game to not create Mipmaps. Fix flickering textures completely. <br /> <br /> |-<br /> | SLUS-21165 || Arc the Lad End of Darkness ||<br /> 00000000 3D 00 00 00 60 40 00 00 0F 00 00 00 B8 DD 26 00 =...`@........&amp;.<br /> 00000010 AC FE 26 00 00 00 00 00 ..&amp;..... <br /> || 15634 (3.70+) || fixes not displaying/freezing dialogs<br /> 0x3D =&gt; 0x3D12 (15634)<br /> 0x0F =&gt; 0x26DDB8, 0x26FEAC<br /> |-<br /> | SLUS-21445 || Ar Tonelico - Melody of Elemia ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> |-<br /> | SLUS-21788 || Ar tonelico II - Melody of Metafalica ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | || Atelier Iris ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | || Atelier Iris 2 ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | || Atelier Iris 3 ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | SLES-50672/SLUS-20035 || Baldur's Gate - Dark Alliance || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly (see: [https://www.dropbox.com/s/92n81uot56czb5v/Datei%2018.08.17%2011%2011%2029.jpeg?dl=0] )<br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> |-<br /> | || Baldur's Gate 2 || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | || Bard's Tale || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | SLES-51044 / SLES-52968 || Burnout 2: POI || <br /> 00000000 3D 00 00 00 46 40 00 00 0A 00 00 00 05 00 00 00 =...F@..........<br /> 00000010 B8 85 24 00 18 0D 80 C6 16 43 01 3C CC 85 24 00 ¸…$...€Ć.C.&lt;Ě…$.<br /> 00000020 00 00 40 E4 00 00 41 AC 04 26 26 00 80 97 80 C7 ..@ä..A¬.&amp;&amp;.€—€Ç<br /> 00000030 16 43 01 3C 18 26 26 00 00 00 40 E4 00 00 41 AC .C.&lt;.&amp;&amp;...@ä..A¬<br /> 00000040 B8 64 25 00 64 97 82 8F 00 00 02 24 00 00 00 00 ¸d%.d—‚Ź...$....<br /> || 16454 ||<br /> Fixes all white rendered textures/shadows (Big thanks to Maori-Jigglypuff for patch code! )<br /> 0x3D =&gt; 0x4046 (16454)<br /> 0x0A =&gt; 0x5 (5 Patches to EE memory)<br /> // Remove the whitish Car-Parts from the Racer Cars<br /> // [Control Address and Value: 2039917C 43160000]<br /> 0x2485B8, 0xC6800D18 (lwc1 $f0, 0xD18(s4)), 0x3C014316 (lui at, 0x4316)<br /> 0x2485СС, 0xE4400000 (swc1 $f0, 0(v0)), 0xAC410000 (sw at, 0(v0))<br /> <br /> // Remove the whitish Car-Parts from the Traffic Cars<br /> 0x262604, 0xC7809780 (lwc1 $f0, 0x9780(gp)), 0x3C014316 (lui at, 0x4316)<br /> 0x262618, 0xE4400000 (swc1 $f0, 0(v0)), 0xAC410000 (sw at, 0(v0))<br /> <br /> // Remove whitish Reflections on Anything!!!<br /> // (on Buildings, Bridges, Streets)<br /> 0x2564B8, 0x8F829764 (lw v0, 0x9764(gp)), 0x24020000 (li v0, 0)<br /> <br /> |-<br /> | SLUS-20497 || Burnout 2: POI || <br /> 00000000 3D 00 00 00 46 40 00 00 0A 00 00 00 05 00 00 00<br /> 00000010 A8 85 24 00 18 0D 80 C6 16 43 01 3C BC 85 24 00<br /> 00000020 00 00 40 E4 00 00 41 AC F4 25 26 00 80 97 80 C7<br /> 00000030 16 43 01 3C 08 26 26 00 00 00 40 E4 00 00 41 AC<br /> 00000040 A8 64 25 00 64 97 82 8F 00 00 02 24 00 00 00 00<br /> || 16454 ||<br /> Fixes all white rendered textures/shadows (Big thanks to Maori-Jigglypuff for patch code! )<br /> 0x3D =&gt; 0x4046 (16454)<br /> 0x0A =&gt; 0x5 (5 Patches to EE memory)<br /> // Remove the whitish Car-Parts from the Racer Cars<br /> // [Control Address and Value: 2039917C 43160000]<br /> 0x2485A8, 0xC6800D18 (lwc1 $f0, 0xD18(s4)), 0x3C014316 (lui at, 0x4316)<br /> 0x2485bc, 0xE4400000 (swc1 $f0, 0(v0)), 0xAC410000 (sw at, 0(v0))<br /> <br /> // Remove the whitish Car-Parts from the Traffic Cars<br /> 0x2625F4, 0xC7809780 (lwc1 $f0, 0x9780(gp)), 0x3C014316 (lui at, 0x4316)<br /> 0x262608, 0xE4400000 (swc1 $f0, 0(v0)), 0xAC410000 (sw at, 0(v0))<br /> <br /> // Remove whitish Reflections on Anything!!!<br /> // (on Buildings, Bridges, Streets)<br /> 0x2564A8, 0x8F829764 (lw v0, 0x9764(gp)), 0x24020000 (li v0, 0)<br /> <br /> |-<br /> | SLUS-21168/SLES-53755/SLPM-66175/SLKA-25328 || Castlevania: Curse of Darkness ||<br /> 00000000 3D 00 00 00 89 3D 00 00 08 00 00 00 00 00 00 80 =....=..........<br /> 00000010 FF FF FF FF 00 00 00 80 00 80 FF FF 00 00 00 80 ................<br /> 00000020 FF FF FF FF 00 00 00 80 01 80 FF FF 00 00 00 00 ................<br /> || || fixes Graphic issues with Spiky Polygons (PCSX2 workaround VU clamping mode none) <br /> <br /> |-<br /> | || Champions of Norath || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | || Champions Return to Arms || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | SLUS-21574 || Dawn of Mana || <br /> 00000000 3D 00 00 00 65 3D 00 00 12 00 00 00 04 00 00 00 =...e=..........<br /> 00000010 00 00 00 00 00 00 00 00 01 00 01 00 0C 00 DF 0D ................<br /> 00000020 00 00 00 00 ....<br /> || 15717 (3.70+) ||<br /> fix? (untested)<br /> 0x3D =&gt; 0x3D65 (15717)<br /> 0x12 =&gt; 0x04, <br /> 00 00 00 00 <br /> 00 00 00 00 <br /> 01 00&gt;01 00&lt; Count, Type 1<br /> 0C 00 DF 0D <br /> <br /> |-<br /> | SCUS-97146 || Disney's Treasure Planet ||<br /> 00000000 3D 00 00 00 F0 42 00 00 0B 00 00 00 01 00 00 00 =...đB..........<br /> 00000010 7C 14 00 00 80 05 00 00 18 00 00 00 3C 01 01 00 |...€.......&lt;...<br /> 00000020 3C 03 BF 80 8C 63 10 C8 00 61 18 24 10 61 FF FB &lt;.ż€Śc.Č.a.$.a˙ű<br /> 00000030 00 00 00 00 24 01 FF FF 14 61 00 04 3C 01 80 00 ....$.˙˙.a..&lt;.€.<br /> 00000040 14 41 00 02 00 00 00 00 00 06 00 0D 00 00 00 00 .A..............<br /> <br /> || 17136 (4.50+) || Fixes black screen at start, it apply to STREAM_D.IRX file in IOP folder. Patch is very weird because it apply to bad offset (should be 0x574), but if applied to correct one then game error with &quot;invalid tp2 file&quot;<br /> <br /> 0x3D =&gt; 0x42F0 (17136)<br /> 0x0B =&gt; 1<br /> 0x147C, (sector)<br /> 0x580, (offset)<br /> 0x18 (bytes to replace), <br /> <br /> <br /> Replaced opcodes<br /> 00 01 01 3C lui at,0x0100<br /> 80 BF 03 3C lui v1,0xBF80<br /> C8 10 63 8C lw v1,0x10C8(v1)<br /> 24 18 61 00 and v1,at<br /> FB FF 61 10 beq v1,at, -0x10<br /> 00 00 00 00 nop <br /> <br /> Original opcodes<br /> FF FF 01 24 li at,-0x1<br /> 04 00 61 14 bne at,v1, +0x14<br /> 00 80 01 3C lui at,0x8000<br /> 02 00 41 14 bne at,v0, +0x0C<br /> 00 00 00 00 nop <br /> 0D 00 06 00 break <br /> <br /> |-<br /> | ALL || Dynasty Warriors 3/Dynasty Warriors 3 Xtreme Legends ||<br /> 00000000 3D 00 00 00 89 3D 00 00 35 00 00 00 00 00 00 00 =...‰=..5.......<br /> || 15753 (3.73+) || <br /> fix blackscreen<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x35 =&gt; (enable Force Flip Field)<br /> <br /> |-<br /> | SLES-53539 || Fahrenheit || <br /> 00000000 3D 00 00 00 F6 41 00 00 40 00 00 00 00 00 00 00 =....A..@.......<br /> Alternative<br /> 00000000 3D 00 00 00 89 3D 00 00 2F 00 00 00 01 00 00 00 =....=../.......<br /> 00000010 00 00 00 00 ....<br /> || 16886 (4.40+) / ||<br /> fixes freeze after Lucas' apartment<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x40 =&gt; (sets some value 1)<br /> <br /> |-<br /> | || Fallout || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | SLUS-20658 SLES-51467 SLPM-65548 SLPM-65803 || Freedom Fighters ||<br /> 00000000 3D 00 00 00 65 3D 00 00 1F 00 00 00 E8 03 00 00 =...e=......č...<br /> 00000010 00 00 00 00 .... <br /> || 15717 (3.70+) ||<br /> fix freeze when you get control at start<br /> 3D =&gt; 0x3D17 (15717)<br /> 0x1F =&gt; 0x3E8 (sets something 3E8 - 1000 in decimal)<br /> <br /> |-<br /> | SLUS-21702 || Fire Pro Wrestling Returns || <br /> 00000000 3D 00 00 00 F6 41 00 00 03 00 00 00 00 00 00 00 =....A..@.......<br /> || 16886 (4.40+) ||<br /> fixes interlaced artifacts<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x03 =&gt; (sets some value 0)<br /> <br /> |-<br /> | SLES-52065 || Flipnic || <br /> 00000000 3D 00 00 00 57 44 00 00 46 00 00 00 47 00 00 00 =...WD..F...G...<br /> 00000010 00 00 00 00 ....<br /> || 17495 (4.78+) || Remove horizontal lines at full screen, and reducing screen shakes little bit<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x46 =&gt; Enable L2H Improvement<br /> 0x47 =&gt; Enable XOR CSR<br /> <br /> |-<br /> | SCES-53851 || Forbidden Siren 2 ||<br /> 00000000 3D 00 00 00 F6 41 00 00 0A 00 00 00 02 00 00 00 =....A..........<br /> 00000010 44 2B 2E 00 FF 49 C9 4B 00 90 44 48 4C 2B 2E 00 D+...I.K..DHL+..<br /> 00000020 00 90 44 48 FF 49 C9 4B 00 00 00 00 ..DH.I.K.... <br /> || 16886 (4.40+) || Graphic issues with Spiky Polygons<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x0A =&gt; 0x2<br /> 0x2E2B44, 0x4BC949FF (vclip vf09xyz, vf09w), 0x48449000 (cfc2 $a1, $18)<br /> 0x2E2B4C, 0x48449000 (cfc2 $a1, $18), 0x4BC949FF (vclip vf09xyz, vf09w)<br /> <br /> |-<br /> | SLUS-20343 || Forever Kingdom || <br /> 00000000 3D 00 00 00 46 40 00 00 26 00 00 00 00 DC 21 00 =...F@..&amp;....Ü!.<br /> 00000010 00 DD 21 00 00 00 00 00 .Ý!.....<br /> || 16454 ||<br /> Fix for bridge that can't be crossed after opening.<br /> 0x3D =&gt; 0x4046 (16454)<br /> 0x26 =&gt; 0x21DC00, 0x21DD00<br /> <br /> |-<br /> | SLUS-20993 || Ghosthunter || <br /> 00000000 3D 00 00 00 57 44 00 00 0E 00 00 00 84 2B 29 00 =...WD......„+).<br /> 00000010 0B 00 00 00 01 00 00 00 A7 06 00 00 98 02 00 00 ........§.......<br /> 00000020 14 00 00 00 4A 00 02 FF 48 45 88 00 4B E0 19 BF ....J..˙HE..Kŕ.ż<br /> 00000030 4B EA 48 BC 4B EA 18 8C 4B E0 19 BF 4B EA 48 BC KęHĽKę.ŚKŕ.żKęHĽ<br /> 00000040 4B EA 18 8C 4A 00 02 FF 48 45 88 00 00 00 00 00 Kę.ŚJ..˙HE......<br /> || 17495 (4.78+) ||<br /> fixes random minor flickering, and ladder bug (see: [https://www.youtube.com/watch?v=WbJzzMYQLI0] )<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x0E =&gt; 0x292B84 (Improve floating point subtract accuracy)<br /> 0x0B =&gt; Disc patch for hidden elf<br /> |-<br /> | SLES-54317 || Ghost Rider || <br /> 00000000 3D 00 00 00 F6 41 00 00 40 00 00 00 00 00 00 00 =....A..@.......<br /> || 16886 (4.40+) ||<br /> texture fix: white overblending ingame<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x40 =&gt; (sets some value 1)<br /> <br /> |-<br /> | SLUS-20552 || Grand Theft Auto - Vice City ||<br /> 00000000 3D 00 00 00 A5 41 00 00 21 00 00 00 01 00 00 00 =...¥A..!.......<br /> 00000010 0A 00 00 00 0D 00 00 00 A0 FF 0F 00 00 00 00 00 ........ ÿ......<br /> 00000020 17 00 01 24 A4 FF 0F 00 00 00 00 00 08 00 24 14 ...$¤ÿ........$.<br /> 00000030 AC FF 0F 00 00 00 00 00 10 00 01 3C B0 FF 0F 00 ¬ÿ.........&lt;°ÿ..<br /> 00000040 00 00 00 00 90 FF 22 8C B4 FF 0F 00 00 00 00 00 .....ÿ&quot;Œ´ÿ......<br /> 00000050 FF FF 42 24 B8 FF 0F 00 00 00 00 00 05 00 40 1C ÿÿB$¸ÿ........@.<br /> 00000060 C0 FF 0F 00 00 00 00 00 04 00 02 24 C4 FF 0F 00 Àÿ.........$Äÿ..<br /> 00000070 00 00 00 00 90 FF 22 AC C8 FF 0F 00 00 00 00 00 .....ÿ&quot;¬Èÿ......<br /> 00000080 21 1D 0B 08 CC FF 0F 00 00 00 00 00 D0 FF BD 27 !...Ìÿ......Ðÿ½'<br /> 00000090 D0 FF 0F 00 00 00 00 00 08 00 E0 03 D4 FF 0F 00 Ðÿ........à.Ôÿ..<br /> 000000A0 00 00 00 00 90 FF 22 AC 80 74 2C 00 D0 FF BD 27 .....ÿ&quot;¬€t,.Ðÿ½'<br /> 000000B0 E8 FF 03 08 00 00 00 00 53 4C 55 53 2D 32 30 35 èÿ......SLUS-205<br /> 000000C0 35 32 52<br /> || 16805 (4.30+) ||<br /> backport of the official config above (disc version 3.00) for the original release<br /> (disc version 1.40). it patches a particle related function when type is 0x17.<br /> 0x0A =&gt; 0x2CEB00 to 0x2C7480<br /> 0x0A =&gt; 0x080B3AC1 to 0x080B1D21 (j pos_002C7484)<br /> <br /> |-<br /> | SLUS-20758 || Growlanser Generations || <br /> 00000000 3D 00 00 00 89 3D 00 00 2C 00 00 00 72 01 00 00 =....=..,...r...<br /> 00000010 0B 00 00 00 01 00 00 00 F8 03 00 00 7C 05 00 00 ............|...<br /> 00000020 04 00 00 00 00 00 00 00 10 40 FF FC 00 00 00 00 .........@......<br /> 00000030 53 4C 55 53 2D 32 30 37 35 38 SLUS-20758 <br /> || 15753 (3.73+) ||<br /> fix menu freeze? (untested)<br /> <br /> |-<br /> | SLUS-20576 || Harry Potter and the Chamber of Secrets || <br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =....=..........<br /> 00000010 00 00 00 00 ....<br /> || 15753 (3.73+) ||<br /> Fix black screen? (untested)<br /> <br /> |-<br /> | SLUS-20926/SLPM-65612/SLKA-25172/SLES-52440/SLES-52527/SLES-52600 || Harry Potter and The Prisoner of Azkaban || <br /> 00000000 3D 00 00 00 57 44 00 00 07 00 00 00 08 00 =...WD........<br /> 0000000E 00 00 00 00 00 00 ......<br /> || 17495 (4.78+) ||<br /> Fix for 3D graphics issues. However sometimes textures have a problem (mipmap?)<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x07 =&gt; 8<br /> <br /> |-<br /> | SLES-54971(?)/SLUS-21628 || Hot Wheels: Beat That! || <br /> 00000000 3D 00 00 00 89 3D 00 00 15 00 00 00 04 00 00 00 =....=..........<br /> 00000010 00 00 00 00 ....<br /> || 15753 (3.73+) ||<br /> Fix for turning off ps3 after selecting track<br /> <br /> |-<br /> | SLUS-21307 || Ice Age 2 The Meltdown ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0B 00 00 00 01 00 00 00 =....=..........<br /> 00000010 31 05 00 00 8C 03 00 00 40 00 00 00 27 BD FE E0 1.......@...'...<br /> 00000020 24 06 00 6C FF BF 00 70 03 A0 20 2D 7F B0 00 80 $..l...p.. -....<br /> 00000030 8C B0 00 00 0C 0C 88 B5 00 00 28 2D 02 00 20 2D ..........(-.. -<br /> 00000040 0C 0A 84 CE 03 A0 28 2D 7B B0 00 80 03 A0 10 2D ......(-{......-<br /> 00000050 DF BF 00 70 03 E0 00 08 27 BD 01 20 27 BD FF 70 ...p....'.. '..p<br /> 00000060 24 06 00 6C FF BF 00 70 03 A0 20 2D 7F B0 00 80 $..l...p.. -....<br /> 00000070 8C B0 00 00 0C 0C 88 B5 00 00 28 2D 02 00 20 2D ..........(-.. -<br /> 00000080 0C 0A 84 CE 03 A0 28 2D 7B B0 00 80 03 A0 10 2D ......(-{......-<br /> 00000090 DF BF 00 70 03 E0 00 08 27 BD 00 90 00 00 00 00 ...p....'.......<br /> 000000A0 53 4C 55 53 2D 32 31 33 30 37 SLUS-21307 <br /> || 15753 (3.73+) || Fix freeze at the game logo<br /> <br /> |-<br /> | SLUS-21196 || Indigo Prophecy || <br /> 00000000 3D 00 00 00 89 3D 00 00 2F 00 00 00 01 00 00 00 =....A..@.......<br /> 00000010 00 00 00 00 ....<br /> || 15753 (3.73+) || Fixes freeze<br /> <br /> |-<br /> | SCES-53286/SCUS-97429 || Jak X || <br /> 00000000 3D 00 00 00 57 3D 00 00 24 00 00 00 00 00 00 00 =...W=..$.......<br /> 00000010 80 BB 00 00 13 00 00 00 00 00 00 00 60 F9 00 00 €»..........`ů..<br /> 00000020 00 00 00 00 .... <br /> || 15753 (3.73+) || Fixes freeze while saving game<br /> <br /> |-<br /> | SLPM-66675 || Kingdom Hearts II Final Mix || <br /> 00000000 3D 00 00 00 89 3D 00 00 26 00 00 00 58 A5 1D 00 =....A..&amp;...XĄ..<br /> 00000010 F4 AE 1D 00 00 00 00 00 ô®...... <br /> || 15753 (3.73+) ||<br /> Fixes Hostile Program Boss issue.<br /> <br /> |-<br /> | SLUS-21799 || Kingdom Hearts Re: Chain of Memories || <br /> 00000000 3D 00 00 00 89 3D 00 00 0F 00 00 00 90 05 10 00 =....=..........<br /> 00000010 78 C2 10 00 00 00 00 00 53 4C 55 53 2D 32 31 37 x.......SLUS-217<br /> 00000020 39 39 99 <br /> || 15753 (3.73+) ||<br /> Fixes tutorial issue? (untested)<br /> <br /> |-<br /> | SLES-50196 || Legacy of Kain: Soul Reaver 2 || <br /> 00000000 3D 00 00 00 43 21 00 00 0A 00 00 00 01 00 00 00 =...C!..........<br /> 00000010 80 1F 2A 00 01 00 00 00 00 00 00 00 00 00 00 00 €.*............. 99 <br /> || 15753 (3.73+) ||<br /> Turn off mipmapping in game engine. Completely fix flickering, and bad texturing.<br /> <br /> |-<br /> | SLUS-20671 || Mafia || <br /> 00000000 3D 00 00 00 89 3D 00 00 09 00 00 00 05 00 00 00 =...‰=..........<br /> 00000010 B0 68 3E 00 34 A3 0F 0C 9C 90 84 8F 00 10 01 3C °h&gt;.4Ł..ś.„Ź...&lt;<br /> 00000020 08 00 02 24 B8 68 3E 00 08 00 02 24 01 00 05 24 ...$¸h&gt;....$...$<br /> 00000030 9C 90 84 8F 10 3C 22 AC C0 68 3E 00 10 3C 22 AC ś.„Ź.&lt;&quot;¬Ŕh&gt;..&lt;&quot;¬<br /> 00000040 00 10 01 3C 01 00 05 24 34 A3 0F 0C B4 2B 3E 00 ...&lt;...$4Ł..´+&gt;.<br /> 00000050 FF FF 02 24 0A 00 50 10 FF FF 02 24 00 00 00 00 ˙˙.$..P.˙˙.$....<br /> 00000060 4C F0 16 00 00 60 80 44 50 07 42 8E 00 60 80 44 Lđ...`€DP.BŽ.`€D<br /> 00000070 0D 00 00 10 00 00 00 00 ........ <br /> || 15753 (3.73+) || Fix freeze at start. Additional two patches comparing to gxemu included here allow to avoid translation lookaside buffer misses in some places, and are required to finish game.<br /> <br /> |-<br /> | SLUS-21735 || Mana Khemia: Alchemists of Al-Revis ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | SLES-53585 || Marvel Nemesis: Rise of the Imperfects ||<br /> 00000000 3D 00 00 00 89 3D 00 00 12 00 00 00 0D 00 00 00 =....=..........<br /> 00000010 00 F0 FF 04 00 00 00 00 02 00 03 00 11 00 00 00 ................<br /> 00000020 7A 7F CE 5D 14 02 00 00 03 00 06 00 EC 8F 55 10 z..]..........U.<br /> 00000030 C0 45 55 10 28 49 55 10 40 4A 55 10 60 7F 55 10 .EU.(IU.@JU.`.U.<br /> 00000040 C0 8F 55 10 00 00 00 00 53 4C 45 53 2D 35 33 35 ..U.....SLES-535<br /> 00000050 38 35 85 <br /> || 15753 (3.73+) || fixes loading/crash?<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x12 =&gt; 0x0D<br /> 00 F0 FF 04<br /> 00 00 00 00<br /> 02 00 03 00 count 3, type 2<br /> 11 00 00 00<br /> 7A 7F CE 5D<br /> 14 02 00 00<br /> 03 00 06 00 count 6, type 3<br /> EC 8F 55 10 0x558fec<br /> C0 45 55 10 0x5545c0<br /> 28 49 55 10 0x554928<br /> 40 4A 55 10 0x554a40<br /> 60 7F 55 10 0x557f60<br /> C0 8F 55 10 0x558fc0<br /> |-<br /> | SLUS-21281 || Marvel Nemesis: Rise of the Imperfects ||<br /> 00000000 3D 00 00 00 89 3D 00 00 12 00 00 00 09 00 00 00 =....=..........<br /> 00000010 00 F0 FF 04 00 00 00 00 02 00 03 00 11 00 00 00 ................<br /> 00000020 7A 7F CE 5D 14 02 00 00 03 00 02 00 88 76 55 10 z..].........vU.<br /> 00000030 08 87 55 10 00 00 00 00 53 4C 55 53 2D 32 31 32 ..U.....SLUS-212<br /> 00000040 38 31 81 <br /> || 15753 (3.73+) || fixes loading/crash?<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x12 =&gt; 0x09<br /> 00 F0 FF 04<br /> 00 00 00 00<br /> 02 00 03 00 count 3, type 2<br /> 11 00 00 00<br /> 7A 7F CE 5D<br /> 14 02 00 00<br /> 03 00 02 00 count 2, type 3<br /> 88 76 55 10 0x557688<br /> 08 87 55 10 0x558708<br /> |-<br /> | SLUS-20230 || Max Payne ||<br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 E4 E6 52 00 =....=........R.<br /> 00000010 03 00 00 00 01 00 00 00 68 E8 52 00 02 00 00 00 ........x.R.....<br /> 00000020 00 00 00 00 ....<br /> || 15753 (3.73+) || fixes game hang on first cutscene/cutscenes<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x01 =&gt; 0x52E6E4, 3 (applies to main.run ELF on disc: 0x52E6E4 dmove a1,v0 )<br /> 0x01 =&gt; 0x52E868, 2 (applies to main.run ELF on disc: 0x52E868 lq s1,0x10(sp) )<br /> <br /> |-<br /> | SLUS-21550 || Metal Slug Anthology ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0A 00 00 00 01 00 00 00 =...‰=..........<br /> 00000010 24 9C 18 00 F8 F7 08 0C D2 1D 06 0C 00 00 00 00 $ś..ř÷..Ň.......<br /> || 15753 (3.73+) || Fix launching MS6 by using LoadImageAndReboot instead of FlushCache. Seems to work much better than GXemu solution.<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0A =&gt; 0x1<br /> 0x189C24, 0x0C08F7F8 (jal sub_23DFE0), 0x0C061DD2 (jal sub_187748)<br /> <br /> |-<br /> | SLUS-20983 || Musashi: Samurai Legend || <br /> 00000000 3D 00 00 00 F6 41 00 00 17 00 00 00 01 00 00 00 =....A..@.......<br /> 00000010 00 00 00 00 ....<br /> || 16886 (4.40+) ||<br /> no sps fix, but reduces heavily<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x17 =&gt; 1 <br /> <br /> |-<br /> | SLES-50134 SLES-50176 SLES-50177 SLES-50178 SLES-50179 || Oni || <br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 01 00 00 00 =...WD..........<br /> 00000010 7C EF 1C 00 FF FF 00 41 00 00 00 00 00 00 00 00 |ď..˙˙.A........<br /> || 17495 (4.78+) ||<br /> fixes black screen at start<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x0A =&gt; 0x1<br /> 0x1CEF7C 0x4100FFFF (mftgpr $ra, $zero), 0x00000000 (nop)<br /> <br /> |-<br /> | SLUS-20064 || Oni || <br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 01 00 00 00 =...WD..........<br /> 00000010 CC F3 1C 00 FF FF 00 41 00 00 00 00 00 00 00 00 Ěó..˙˙.A........<br /> || 17495 (4.78+) ||<br /> fixes black screen at start<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x0A =&gt; 0x1<br /> 0x1CF3CC 0x4100FFFF (mftgpr $ra, $zero), 0x00000000 (nop)<br /> <br /> |-<br /> | SLUS-21037 || Project: Snowblind || <br /> 00000000 3D 00 00 00 39 05 00 00 0B 00 00 00 03 00 00 00 =...9...........<br /> 00000010 69 02 00 00 78 00 00 00 04 00 00 00 10 00 00 07 i...x...........<br /> 00000020 45 00 00 07 00 0C 0D 00 78 05 00 00 04 00 00 00 E.......x.......<br /> 00000030 10 00 00 07 45 00 00 07 BB 15 0D 00 F8 05 00 00 ....E...»...ř...<br /> 00000040 04 00 00 00 10 00 00 07 45 00 00 07 00 00 00 00 ........E.......<br /> || ||<br /> fixes mipmap/texturing issues<br /> <br /> <br /> |-<br /> | SLES-52384 || Project Zero II ||<br /> 00000000 3D 00 00 00 AF 42 00 00 21 00 00 00 00 00 00 00 =...ŻB..!.......<br /> 00000010 48 00 00 00 02 00 00 00 9C E6 FF FF 0A 00 00 00 H.......ść˙˙....<br /> 00000020 01 00 00 00 0C 94 17 00 41 01 0F 24 61 01 0F 24 .....”..A..$a..$<br /> 00000030 46 00 00 00 0B 00 00 00 01 00 00 00 F6 03 00 00 F...........ö...<br /> 00000040 98 03 00 00 04 00 00 00 00 42 73 84 00 00 02 FF .........Bs„...˙<br /> 00000050 00 00 00 00 53 4C 45 53 2D 35 32 33 38 34 ....SLES-52384<br /> || 17071 (4.50+) || Fix textures problems + performance improvement<br /> 0x3D =&gt; 0x42AF (17071)<br /> 0x21 =&gt; 0<br /> 0x48 =&gt; 0x2, 0xFFFFE69C<br /> 0x0A =&gt; 1, <br /> 0x17940C, 0x240F0141 (li t7,0x141)<br /> 0x240F0161 (li t7,0x161)<br /> 0x46<br /> 0x0B =&gt; 1<br /> 0x3F6, (sector)<br /> 0x398, (offset)<br /> 0x04,<br /> 0x84734200 lh s3,0x4200(v1),<br /> 0xFF020000 sd v0,(t8)<br /> <br /> |-<br /> | SLUS-20167 || Quake 3 - Revolution ||<br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 02 00 00 00 =...WD..........<br /> 00000010 98 03 2D 00 40 FF BD 27 08 00 E0 03 9C 03 2D 00 ..-.@˙˝'..ŕ.ś.-.<br /> 00000020 A0 00 BE 7F 00 00 00 00 00 00 00 00 <br /> || 17495 (4.78+) || Break creating mipmaps to fix graphical issues / flickering (ps2_netemu not support mipmapping)<br /> <br /> |-<br /> | SLES-50126 || Quake 3 - Revolution ||<br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 02 00 00 00 =...WD..........<br /> 00000010 20 03 2D 00 40 FF BD 27 08 00 E0 03 9C 03 2D 00 ..-.@˙˝'..ŕ.ś.-.<br /> 00000020 A0 00 BE 7F 00 00 00 00 00 00 00 00 <br /> || 17495 (4.78+) || Break creating mipmaps to fix graphical issues / flickering (ps2_netemu not support mipmapping)<br /> <br /> |-<br /> | SLUS-21262 || Radiata Stories ||<br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =...‰=..........<br /> 00000010 01 00 00 00 94 4D 12 00 0A 00 00 00 01 00 00 00 ....”M..........<br /> 00000020 18 F6 1A 00 0B 00 00 00 44 00 00 00 00 00 00 00 .ö......D.......<br /> 00000030 53 4C 55 53 2D 32 31 32 36 32 SLUS-21262 <br /> || 15753 (3.73+) || Fix black screen and ghosting/gfx<br /> <br /> |-<br /> | SLPS-25606/SLPS-25851 || Raw Danger! ||<br /> 00000000 3D 00 00 00 A8 41 00 00 44 00 00 00 00 00 00 00 =...&amp;D..D.......<br /> || 16808 (4.30+) || Untested! But Raw Danger! is Zettaizetsumei Toshi 2, so same issue + solution as part 1? <br /> 0x3D =&gt; 0x41A8 (16808)<br /> 0x44 =&gt; (disables smoothing and smoothing<br /> <br /> |-<br /> | SLUS-20174 || Rumble Racing ||<br /> 00000000 3D 00 00 00 F0 42 00 00 0B 00 00 00 01 00 00 00 =...đB..........<br /> 00000010 DA AE 03 00 20 01 00 00 24 00 00 00 14 80 00 06 Ú®.. ...$....€..<br /> 00000020 00 43 20 21 00 A0 10 21 14 A0 00 02 00 00 00 00 .C !. .!. ......<br /> 00000030 24 05 00 01 10 40 FF EB 24 84 00 04 24 90 FF FC $....@˙ë$„..$.˙ü<br /> 00000040 14 80 00 07 00 43 80 21 00 A0 10 21 14 A0 00 02 .€...C€!. .!. ..<br /> 00000050 00 00 00 00 24 05 00 01 10 40 FF FC 00 00 00 00 ....$....@˙ü....<br /> 00000060 26 04 00 04 00 00 00 00 &amp;.......<br /> || 17136 (4.50+) || fixes black screen after Playstation 2 logo. Patch apply to AUDIO.IRX file in MODULES folder<br /> <br /> 0x3D =&gt; 0x42F0 (17136)<br /> 0x0B =&gt; 1<br /> 0x03AEDA, (sector)<br /> 0x120, (offset)<br /> 0x24 (bytes to replace), <br /> <br /> <br /> Replaced opcodes<br /> 06 00 80 14 bnez a0, +0x1C<br /> 21 20 43 00 addu a0,v0,v1<br /> 21 10 A0 00 move v0,a1<br /> 02 00 A0 14 bnez a1, +0x0C<br /> 00 00 00 00 nop <br /> 01 00 05 24 li a1,0x1<br /> EB FF 40 10 beqz v0, -0x50<br /> 04 00 84 24 addiu a0,0x4<br /> FC FF 90 24 addiu s0,a0,-0x4<br /> <br /> Original opcodes<br /> 07 00 80 14 bnez a0, +0x20<br /> 21 80 43 00 addu s0,v0,v1<br /> 21 10 A0 00 move v0,a1<br /> 02 00 A0 14 bnez a1, +0x0C<br /> 00 00 00 00 nop <br /> 01 00 05 24 li a1,0x1<br /> FC FF 40 10 beqz v0, -0x0C<br /> 00 00 00 00 nop <br /> 04 00 04 26 addiu a0,s0,0x4<br /> <br /> |-<br /> | SLES-51345 || Run Like Hell ||<br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 04 00 00 00 =...WD..........<br /> 00000010 34 45 1D 00 0B FA 07 4B FF 02 00 4A 44 45 1D 00 4E...ú.K˙..JDE..<br /> 00000020 FF 02 00 4A 0B FA 07 4B 20 47 1D 00 BE F8 07 4B ˙..J.ú.K G..ľř.K<br /> 00000030 FF 02 00 4A 30 47 1D 00 AC F7 FE 4B 0B FA 07 4B ˙..J0G..¬÷ţK.ú.K<br /> 00000040 00 00 00 00 ....<br /> || 17495 (4.78+) || fixes main character flickering/texturing<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x0A =&gt; 0x4<br /> <br /> 0x1D4534 0x4B07FA0B (cop2 0x107FA0B), 0x4A0002FF (cop2 0x2FF)<br /> 0x1D4544 0x4A0002FF (cop2 0x2FF) , 0x4B07FA0B (cop2 0x107FA0B)<br /> 0x1D4720 0x4B07F8BE (cop2 0x107F8BE), 0x4A0002FF (cop2 0x2FF)<br /> 0x1D4750 0x4BFEF7AC (cop2 0x1FEF7AC), 0x4B07FA0B (cop2 0x107FA0B)<br /> |-<br /> | SLES-51445 || Rygar: The Legendary Adventure ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0E 00 00 00 50 D0 14 00 =...‰=......PĐ..<br /> 00000010 00 00 00 00 ....<br /> || 15753 (3.73+) || fixes hard crash at start when leaving the place<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0E =&gt; 0x14D050 (offset)<br /> <br /> .text:0014D050 sub.s $f12, $f20, $f12<br /> |-<br /> | SLES-55147/SLUS-21731 || Silent Hill: Origins || <br /> 00000000 3D 00 00 00 F6 41 00 00 40 00 00 00 00 00 00 00 =....A..@.......<br /> || 16886 (4.40+) ||<br /> fixes white overblending at burning house<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x40 =&gt; (sets some value 1)<br /> <br /> |-<br /> | SLUS-20488 || Star Ocean - Till the End of Time ||<br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =....=..........<br /> 00000010 01 00 00 00 48 09 10 00 0A 00 00 00 2C 00 00 00 ....H.......,...<br /> 00000020 72 01 00 00 00 00 00 00 53 4C 55 53 2D 32 30 34 r.......SLUS-204<br /> 00000030 38 38 88 <br /> || 15753 (3.73+) || Fix black screen<br /> <br /> |-<br /> | SLUS-21240 (v1.01)|| Star Wars: Battlefront II || <br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 84 B7 49 00 =...‰=......„·I.<br /> 00000010 05 00 00 00 00 00 00 00 53 4C 55 53 2D 32 31 32 ........SLUS-212<br /> 00000020 34 30 40 <br /> || 15753 (3.73+) || Fix freeze. Work only with v1.01 version of game. Patch apply to SWBFRNT2.ELF file.<br /> <br /> |-<br /> | SLUS-21240 (v2.01)|| Star Wars: Battlefront II || <br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 04 97 49 00 =...‰=.......—I.<br /> 00000010 05 00 00 00 00 00 00 00 53 4C 55 53 2D 32 31 32 ........SLUS-212<br /> 00000020 34 30 40 <br /> || 15753 (3.73+) || Fix freeze. Work only with v2.01 version of game. Patch apply to SWBFRNT2.ELF file.<br /> <br /> |-<br /> | SLES-50371 || Star Wars: Jedi Starfighter || <br /> 00000000 3D 00 00 00 65 3D 00 00 0A 00 00 00 01 00 00 00 =...e=..........<br /> 00000010 98 33 32 00 B4 6B 11 0C 00 00 00 00 00 00 00 00 .32.´k..........<br /> || 15717 (3.73+) || Without it title calls PS2::Exit() at the end of a bonus stage.<br /> <br /> |-<br /> | SLUS-21913 || Star Wars: The Clone Wars – Republic Heroes ||<br /> 00000000 3D 00 00 00 39 05 00 00 0A 00 00 00 01 00 00 00 =...9...........<br /> 00000010 28 33 17 00 FF FF 64 34 FD FF 64 34 00 00 00 00 „Ë..˙˙d4đ˙d4.Ë..<br /> || 1337 (ALL) || Fix graphical gliches, subtitles, QTE buttons, missing HUD<br /> <br /> <br /> |-<br /> | SLES-54658 || Star Wars: The Force Unleashed ||<br /> 00000000 3D 00 00 00 39 05 00 00 0A 00 00 00 02 00 00 00 =...9...........<br /> 00000010 84 CB 17 00 FF FF 64 34 F0 FF 64 34 90 CB 17 00 „Ë..˙˙d4đ˙d4.Ë..<br /> 00000020 FE FF 63 34 FC FF 63 34 00 00 00 00 ţ˙c4ü˙c4....<br /> || 1337 (ALL) || Fix graphical gliches, subtitles, QTE buttons, missing HUD<br /> <br /> |-<br /> | ALL || Superman Returns ||<br /> 00000000 3D 00 00 00 89 3D 00 00 08 00 00 00 00 00 00 00 =...‰=..........<br /> 00000010 00 00 00 FE 00 00 00 00 00 00 00 2C 00 00 00 00 ...ţ.......,....<br /> 00000020 00 00 00 FE 00 00 00 00 00 00 00 10 00 00 00 00 ...ţ............<br /> || 15753 (3.73+) || fixes Graphic issues <br /> <br /> |-<br /> | SLUS-21386 || Tales of The Abyss || <br /> 00000000 3D 00 00 00 65 3D 00 00 26 00 00 00 FC FF 27 00 =...e=..&amp;...ü˙'.<br /> 00000010 FF FF 27 00 26 00 00 00 F4 21 29 00 F8 21 29 00 ˙˙'.&amp;...ô!).ř!).<br /> 00000020 00 00 00 00 ....<br /> || 15717 (3.73+) || Fix freeze at Choral Castle <br /> Improve add accuracy range =&gt; 0x27FFFC , 0x27FFFF<br /> Improve add accuracy range =&gt; 0x2921F4 , 0x2921F8<br /> |-<br /> | SLPS-25842 || Tales of Destiny (Director's cut) || <br /> 00000000 3D 00 00 00 57 44 00 00 0F 00 00 00 00 00 1C 00 =...WD..........<br /> 00000010 00 00 1D 00 00 00 00 00 ........<br /> || 17495 (4.78+) || Fix freezes <br /> Improve FPU accuracy range =&gt; 0x1C0000 , 0x1D0000<br /> <br /> |-<br /> | ALL || Tokyo Extreme Racer 3 || <br /> 00000000 3D 00 00 00 91 42 00 00 48 00 00 00 01 00 00 00 =...‘B..H.......<br /> 00000010 F0 49 02 00 00 00 00 00 đI...... <br /> || 17041 (4.46+) || Fix screen jumps <br /> Vsync Delay -&gt; No IPU 150,000<br /> <br /> |-<br /> | ALL || Tony Hawk's series ||<br /> 00000000 3D 00 00 00 89 3D 00 00 08 00 00 00 00 00 00 80 =....=..........<br /> 00000010 FF FF FF FF 00 00 00 80 00 00 40 53 00 00 00 80 ..........@S....<br /> 00000020 FF FF FF FF 00 00 00 80 00 00 40 D3 14 00 00 00 ..........@Ó....<br /> 00000030 00 00 00 00 ....<br /> || 15753 (3.73+) || fixes Graphic issues with Spiky Polygons<br /> <br /> |-<br /> | ALL || TY The Tasmanian Tiger || <br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =...‰=..........<br /> 00000010 00 00 00 00 <br /> || 15753 (3.73+) || Fix graphical glitches, and fix locks up once you're given control.<br /> <br /> |-<br /> | SLUS-21106 || True Crime: NYC ||<br /> 00000000 3D 00 00 00 89 3D 00 00 27 00 00 00 D8 2A 41 00 =...‰=..'...Ř*A.<br /> 00000010 50 2E 41 00 00 00 00 00 P.A.....<br /> || 15753 (3.73+) || fixes freeze when something in 3D appearing<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x27 =&gt; 0x412AD8, 0x412E50<br /> <br /> |-<br /> | SLES-51958 || Whiplash ||<br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 01 00 00 00 =...WD..........<br /> 00000010 84 D5 25 00 07 00 02 45 07 00 00 10 00 00 00 00 „Ő%....E........<br /> || || Trick game to not produce mipmaps. Fix graphical issues. <br /> <br /> |-<br /> | SLUS-21452 || Valkyrie Profile 2 - Silmeria ||<br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =...‰=..........<br /> 00000010 01 00 00 00 28 09 10 00 0A 00 00 00 01 00 00 00 ....(...........<br /> 00000020 48 98 2B 00 0B 00 00 00 44 00 00 00 00 00 00 00 H.+.....D.......<br /> 00000030 53 4C 55 53 2D 32 31 34 35 32 SLUS-21452<br /> || 15753 (3.73+) || Fix black screen and ghosting/gfx (requires speed fix)<br /> <br /> |-<br /> | SLUS-20469 || Xenosaga Episode I: Der Wille zur Macht || <br /> 00000000 3D 00 00 00 57 44 00 00 0F 00 00 00 00 24 32 00 =...WD.......$2.<br /> 00000010 00 29 32 00 00 00 00 00 .)2..... ........<br /> || 17495 (4.78+) || Fix &quot;erde kaiser&quot; quest. Config cause massive slow down, and should be used only for that part of game, then removed safely. <br /> Improve FPU accuracy range =&gt; 0x322400 , 0x322900<br /> <br /> |-<br /> | SLUS-20228GH || Silent Hill 2 ||<br /> 00000000 3D 00 00 00 34 12 00 00 0E 00 00 00 B4 53 17 00 =...4.......´S..<br /> 00000010 0F 00 00 00 18 5D 17 00 18 5D 17 00 00 00 00 00 .....]...]......<br /> || || Fixes the missing polygons on characters and the inaccurate camera angles<br /> |-<br /> | SLUS-20622 || Silent Hill 3 ||<br /> 00000000 3D 00 00 00 57 44 00 00 0F 00 00 00 34 AC 19 00 =...WD......4¬..<br /> 00000010 34 AC 19 00 00 00 00 00 4¬......<br /> || || Fixes camera inaccuracies<br /> <br /> |-<br /> <br /> | || || || || <br /> <br /> |}<br /> <br /> ===Config data examples (hardcoded)===<br /> ====Inside ps2_emu.self====<br /> Embedded patches are based on Checksum/Hash of title. ps2_emu is only emulator version where patches are described inside self file in ascii. Known patch types described in ascii are: Patch data, new SPU2 params, and Setting mecha HACK to show GODZCD as GODZCDDA.<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> ! PS2 Title !! Hash !! Game !! Patch Type !! Data<br /> |-<br /> | SCUS_971.46|| 0x6B1ADE00D||Disney's Treasure Planet || Patch data - Fixes black screen at start, it apply to STREAM_D.IRX file in IOP folder. || 0x147C (sector) , 0x580 (offset) (- 0xC on disc) <br /> Replace opcodes<br /> 00 01 01 3C lui at,0x0100<br /> 80 BF 03 3C lui v1,0xBF80<br /> C8 10 63 8C lw v1,0x10C8(v1)<br /> 24 18 61 00 and v1,at<br /> FB FF 61 10 beq v1,at, -0x10<br /> 00 00 00 00 nop <br /> <br /> Original opcodes<br /> FF FF 01 24 li at,-0x1<br /> 04 00 61 14 bne at,v1, +0x14<br /> 00 80 01 3C lui at,0x8000<br /> 02 00 41 14 bne at,v0, +0x0C<br /> 00 00 00 00 nop <br /> 0D 00 06 00 break <br /> |-<br /> |SLUS_201.74 ||0x23D92589C5|| Rumble Racing || Patch data - fixes black screen after Playstation 2 logo. Patch apply to AUDIO.IRX file in MODULES folder || 0x3AEDA (sector), 0x120 (offset)<br /> Replace opcodes<br /> 06 00 80 14 bnez a0, +0x1C<br /> 21 20 43 00 addu a0,v0,v1<br /> 21 10 A0 00 move v0,a1<br /> 02 00 A0 14 bnez a1, +0x0C<br /> 00 00 00 00 nop <br /> 01 00 05 24 li a1,0x1<br /> EB FF 40 10 beqz v0, -0x50<br /> 04 00 84 24 addiu a0,0x4<br /> FC FF 90 24 addiu s0,a0,-0x4<br /> <br /> Original opcodes<br /> 07 00 80 14 bnez a0, +0x20<br /> 21 80 43 00 addu s0,v0,v1<br /> 21 10 A0 00 move v0,a1<br /> 02 00 A0 14 bnez a1, +0x0C<br /> 00 00 00 00 nop <br /> 01 00 05 24 li a1,0x1<br /> FC FF 40 10 beqz v0, -0x0C<br /> 00 00 00 00 nop <br /> 04 00 04 26 addiu a0,s0,0x4<br /> <br /> |-<br /> |SLUS_211.96||0x24D92589D5|| Indigo Prophecy || new SPU2 params || 1<br /> |-<br /> |SLPM_661.93||0x608634992D|| &lt;abbr title=&quot;https://www.gamefaqs.com/ps2/544598-indigo-prophecy/data&quot;&gt;Fahrenheit (NTSC-J)&lt;/abbr&gt; || new SPU2 params || 1<br /> |-<br /> |SLUS_212.96||0x5CA15DF14D|| Dance Factory ||Setting mecha HACK to show GODZCD as GODZCDDA ||<br /> |}<br /> <br /> ====Inside ps2_gxemu.self/ps2_softemu.self====<br /> There are hundreds of configs hidden in ps2_gxemu, and ps2_softemu self files. Internal config structure is basing on custom hash based on Title ID, internal memory offset pointing to place where true patch instruction is, and count of used commands. When disc/iso is started emulator search for configs, and if config for selected ID exist, then emulator apply it by itself. Is not perfect way of applying patches, because some games use the same ID, but different content. Good example here is Star Wars Battlefront II SLUS-21240, where some versions of game can refuse to work because it apply bad patch.<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> ! PS2 Title !! Hash !! Game !! Patch Type !! Data<br /> |-<br /> | || || || || <br /> |}<br /> <br /> ==TitleID/DiscID in ps2_netemu.self==<br /> There are 193 titleIDs listed inside ps2_netemu.self. More precisely, into XPARAM2.ELF file of PS2 Bios included in ps2_netemu.self. XPARAM2.ELF is called by OSDSYS, then ID check is performed. If title ID match to one of included in the table, different IOP emulation settings are applied.<br /> There are internal flags related to every title ID included inside file, still unknown what they do. Also some arguments, in plain text. File in real ps2 is introduced in SCPH-750XX models so exactly when DECKARD Power PC chip exchanged original IOP chip. This can explain why it is still in PS3 netemu bios. Because PS3 it is ppc that can need the same/similar flags.<br /> <br /> Original PS2 bios include similar list file called XPARAM.ELF, but Title IDs there are not the same, although some of them exist on both lists.<br /> <br /> {| class=&quot;wikitable sortable&quot; || <br /> |- <br /> ! Command !! Name<br /> |-<br /> | 0x00 || TITLE_MASK <br /> |-<br /> | 0x01 || SIO2_MASK<br /> |-<br /> | 0x02 || DEV9_MASK<br /> |-<br /> | 0x03 || USB_MASK<br /> |-<br /> | 0x04 || SIF_DMA_SYNC<br /> |-<br /> | 0x05 || SIF_DMA_LOAD<br /> |-<br /> | 0x06 || DMAC_CH10_INT_DELAY<br /> |-<br /> | 0x07 || MECHA_RECOGTIME<br /> |-<br /> | 0x08 || CPU_DELAY<br /> |-<br /> | 0x09 || DEV5_INT_SPEED<br /> |-<br /> | 0x0A || CDVD_READ_DELAY<br /> |-<br /> | 0x0B || SPU2_BEHAVIOR<br /> |-<br /> |}<br /> <br /> {| class=&quot;wikitable sortable&quot; || <br /> |- <br /> ! ID !! Title !! Command !! Value !! Remarks <br /> |- <br /> |PBPX_952.01 || DVD Utility Disc Version 1.00 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.02 || DVD Utility Disc Version 1.01 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.03 || DVD Utility Disc Version 1.01 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.06 || DVD Player (Version 2.01) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.07 || DVD Player (Version 2.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.08 || DVD Player (Version 2.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.09 || DVD Player (Version 2.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.10 || DVD Utility Disc Version 2.10 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.11 || DVD Utility Disc Version 1.00 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.21 || DVD Player (Version 2.12) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.22 || DVD Player (Version 2.14) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.24 || DVD Player (Version 2.16) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.28 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.35 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.39 || Online Start Up Disc v3.0 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.01 || Linux for PS2 Beta Release 1 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.07 || Playstation 2 Linux Runtime Environment v1.0 (Disc 1) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.09 || Linux for PS2 Release 1.0 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.18 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PDPX_991.09 || DVD Player (Version 3.04) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PSXC_002.01 || PSX Update Disc 1.10 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PSXC_002.02 || PSX Update Disc 1.20 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PSXC_002.03 || PSX Update Disc 1.31 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PTPX_970.38 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCAJ_201.25 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCAJ_201.26 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCES_532.02 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCKA_200.49 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCPM_621.15 || || 0x00 || 0x1000000 || TITLE_MASK<br /> |-<br /> |SCPM_621.16 || || 0x00 || 0x1000000 || TITLE_MASK<br /> |-<br /> |SCPN_601.01 || PlayStation BB Navigator (Version 0.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.30 || PlayStation BB Navigator (Version 0.20) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.40 || PlayStation BB Navigator (Version 0.30) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.50 || PlayStation BB Navigator (Version 0.31) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.60 || PlayStation BB Navigator (Version 0.32) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPS_110.01 || I.Q. Remix || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPS_110.10 || Yoake no Mariko (Performance Pack Edition) || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_110.18 || Yoake no Mariko || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_110.21 || Yoake no Mariko 2nd Act (Limited Edition) || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_110.22 || Yoake no Mariko 2nd Act || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_150.38 || Lifeline || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SCPS_150.39 || Lifeline || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SCPS_170.01 || Gran Turismo 4 || 0x0B || 0x10000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCPS_175.01 || Linux (for PlayStation2) Release 1.0 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPS_200.39 || || 0x00 || 0x4000000 || TITLE_MASK<br /> |-<br /> |SCUS_971.67 || PaRappa the Rapper 2 || 0x04 || 0x2000 || SIF_DMA_SYNC<br /> |-<br /> |SCUS_972.69 || Final Fantasy XI [Disc 2] || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLES_500.48 || Donald Duck: Quack Attack || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_500.62 || Orphen: Scion of Sorcery || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLES_503.64 || City Crisis || 0x0A || 0x80BB8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_504.46 || Shadow Man 2: The Second Coming || 0x0A || 0x80600 || CDVD_READ_DELAY<br /> |-<br /> |SLES_505.40 || Simpsons: Road Rage || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_506.08 || Shadow Man 2: The Second Coming || 0x0A || 0x80600 || CDVD_READ_DELAY<br /> |-<br /> |SLES_506.28 || Simpsons: Road Rage || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_507.28 || Tiger Woods PGA Tour 2002 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_507.29 || || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_512.82 || Tiger Woods PGA Tour 2003 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_514.79 || Def Jam Vendetta || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLES_518.41 || SpyHunter 2 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_518.44 || Time Crisis 3 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_519.97 || SWAT: Global Strike Team || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_520.97 || SWAT: Global Strike Force || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_530.37 || Super Monkey Ball Deluxe || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLES_536.68 || Micro Machines v4 || 0x01 || 0x801 || SIO2_MASK<br /> |-<br /> |SLES_537.55 || Castlevania: Curse of Darkness || 0x04 || 0x10 || SIF_DMA_SYNC<br /> |-<br /> |SLES_537.96 || FIFA Street 2 || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_620.42 || Kurogane no Houkou: Warship Commander || 0x01 || 0x3000 || SIO2_MASK<br /> |-<br /> |SLPM_620.62 || Gitaroo Man One || 0x0A || 0x80540 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_621.05 || Taikou Risshiden IV || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPM_621.24 || Ready 2 Rumble Boxing: Round 2 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_621.25 || Gauntlet: Dark Legacy || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPM_621.25 || Gauntlet: Dark Legacy || 0x09 || 0x2B470005 || DEV5_INT_SPEED<br /> |-<br /> |SLPM_621.35 || Final Fantasy: XI (Beta Version) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SLPM_621.54 || DDRMAX Dance Dance Revolution 6thMix || 0x08 || 0x1A5E || CPU_DELAY<br /> |-<br /> |SLPM_622.39 || Supercar Street Challenge || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_623.69 || Karaoke Revolution: J-Pop Vol.1 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.79 || Karaoke Revolution: J-Pop Vol.2 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.80 || Karaoke Revolution: J-Pop Vol.3 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.81 || Karaoke Revolution: J-Pop Vol.4 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.82 || Karaoke Revolution: Love &amp; Ballad || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.83 || Karaoke Revolution: Night Selection 2003 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.14 || Karaoke Revolution: Dreams &amp; Memories || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.37 || Suisui Sweet: Amai Ai no Mitsukekata || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_624.50 || Karaoke Revolution: Anime Song Selection || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.51 || Karaoke Revolution: J-Pop Vol.5 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.54 || Karaoke Revolution: J-Pop Vol.6 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.55 || Karaoke Revolution: J-Pop Vol.7 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.56 || Karaoke Revolution: J-Pop Vol.8 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.57 || Karaoke Revolution: Snow &amp; Party || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.64 || Pop'n Taisen Pazurudame Online || 0x08 || 0x1F40 || CPU_DELAY<br /> |-<br /> |SLPM_624.79 || Karaoke Revolution: J-Pop Vol.9 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.91 || Mega Man: The Power Battle || 0x04 || 0x2000 || SIF_DMA_SYNC<br /> |-<br /> |SLPM_624.92 || Karaoke Revolution: Kids Song Selection || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_625.28 || Karaoke Revolution: Kazoku Idol Sengen (Bundle Edition) || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_625.29 || Karaoke Revolution: Kazoku Idol Sengen || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_650.86 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 (Disc 1) || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPM_650.87 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 (Disc 2) || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPM_650.90 || Spy Hunter || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_651.97 || Nobunaga's Ambition Online || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_652.09 || Star Ocean: Till the End of Time || 0x0B || 0x20014 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_654.38 || Star Ocean: Till the End of Time (Director's Cut) (Disc 1) || 0x0B || 0x20014 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_654.39 || Star Ocean: Till the End of Time (Director's Cut) (Disc 2) || 0x0B || 0x20014 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_654.88 || Grand Theft Auto: Vice City || 0x0A || 0x300 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_654.88 || Grand Theft Auto: Vice City || 0x09 || 0x36000200 || DEV5_INT_SPEED<br /> |-<br /> |SLPM_656.33 || I Love Baseball: Pro Yakyu wo Koyonaku || 0x08 || 0xFA0 || CPU_DELAY<br /> |-<br /> |SLPM_656.98 || Love Songs: ADV Futaba Riho 14-sai Natsu || 0x0A || 0x80380 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_657.05 || Final Fantasy XI: Chains of Promathia (Expansion Disc) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_657.06 || Final Fantasy XI: Chains of Promathia (All-In-One Edition) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_657.19 || Burnout 3: Takedown || 0x01 || 0x1C00 || SIO2_MASK<br /> |-<br /> |SLPM_657.83 || Nobunaga no Yabou Online: Tappi no Shou || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_658.94 || Winning Post 6: 2005 Version || 0x01 || 0x2400 || SIO2_MASK<br /> |-<br /> |SLPM_659.34 || Maple Colors || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_659.53 || Final Fantasy: XI (Entry Disc 2005) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_659.84 || Grand Theft Auto: San Andreas || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_660.33 || The Sword of Etheria || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPM_660.33 || The Sword of Etheria || 0x00 || 0x2000000 || TITLE_MASK<br /> |-<br /> |SLPM_660.48 || The Sword of Etheria || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPM_660.48 || The Sword of Etheria || 0x00 || 0x2000000 || TITLE_MASK<br /> |-<br /> |SLPM_660.57 || Taito Memories Vol.1 || 0x08 || 0xCE4 || CPU_DELAY<br /> |-<br /> |SLPM_661.56 || Marheaven: Arm Fight Dream || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_661.75 || Akumajo Dracula: Yami no Juin || 0x08 || 0x60 || CPU_DELAY<br /> |-<br /> |SLPM_661.75 || Akumajo Dracula: Yami no Juin || 0x0B || 0x2001C || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_663.93 || Final Fantasy XI: Treasures of Aht Urhgan (All-In-One Edition) || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_663.93 || Final Fantasy XI: Treasures of Aht Urhgan (All-In-One Edition) || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPM_663.93 || Final Fantasy XI: Treasures of Aht Urhgan (All-In-One Edition) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_663.94 || Final Fantasy XI: Treasures of Aht Urhgan || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_664.36 || Aria the Natural || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_664.36 || Aria the Natural || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLPM_665.39 || Nobunaga no Yabou Online: Haten no Shou || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_665.58 || Tomb Raider: Legend || 0x08 || 0x3E8 || CPU_DELAY<br /> |-<br /> |SLPM_665.74 || Detective Evangelion || 0x00 || 0x2000000 || TITLE_MASK<br /> |-<br /> |SLPM_680.07 || Karaoke Revolution (Trial) || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_680.10 || || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPS_200.08 || Morita Shogi || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPS_200.20 || FIFA 2000 World Championship || 0x04 || 0x2001 || SIF_DMA_SYNC<br /> |-<br /> |SLPS_200.37 || Go Go Golf || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_200.38 || Grappler Baki: Baki Saidai no Tournament || 0x08 || 0x1194 || CPU_DELAY<br /> |-<br /> |SLPS_200.53 || Tenshi no Present: Marle Oukoku Monogatari (Limited Edition) || 0x0B || 0x20000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_200.66 || Tenshi no Present: Marle Oukoku Monogatari || 0x0B || 0x20000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_201.01 || City Crisis || 0x0A || 0x80BB8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_201.11 || Magical Sports Pro Baseball 2001 || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_201.72 || Koushien: Konpeki no Sora || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_201.73 || Hard Hitter 2 || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_201.97 || Surfing Air Show with RatBoy || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_201.99 || F1 2002 || 0x0B || 0x20005 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_202.00 || Final Fantasy XI || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPS_204.04 || Rakushou! Pachi-Slot Sengen 2 || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_204.29 || Hissatsu Pachi-Slot Evolution: Ninja Hattori-Kun V || 0x08 || 0x1B58 || CPU_DELAY<br /> |-<br /> |SLPS_204.55 || Simple 2000 Series Vol.94: The Aka-Champion - Come on Baby || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_250.08 || Sorcerous Stabber Orphen || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPS_250.71 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPS_250.72 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPS_250.81 || Saishuu Densha || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_251.36 || Kuon no Kizuna Sairin Mikotonori || 0x0A || 0x805DC || CDVD_READ_DELAY<br /> |-<br /> |SLPS_251.42 || Tiger Woods PGA Tour 2002 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_251.50 || Only You || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_252.37 || Only You || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_252.75 || Def Jam: Vendetta || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLPS_252.78 || Memories Off: Mix || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_252.90 || Time Crisis 3 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLPS_253.15 || One Piece: Grand Battle 3 || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPS_253.57 || 3-Nen B-Gumi Kinpachi Sensei: Densetsu no Kyoudan ni Tate! || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPS_253.79 || Tokyo Majin Gakuen: Kaihoujyou Kefurokou || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_254.06 || Hitman: Contracts || 0x08 || 0xDAC || CPU_DELAY<br /> |-<br /> |SLPS_254.18 || Ace Combat 5: The Unsung War || 0x0A || 0x500000 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_255.10 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_255.85 || Monster Farm 5: Circus Caravan || 0x07 || 5 || MECHA_RECOGTIME<br /> |-<br /> |SLPS_255.86 || Tales of the Abyss || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_256.04 || Ar tonelico Qoga: Knell of Ar Ciel || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLPS_256.67 || Daito Giken Premium Pachi-Slot Collection: Yoshimune || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPS_256.98 || Fatal Fury Battle Archives Volume 2 || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLPS_257.08 || The Familiar of Zero (Limited Edition) || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_257.09 || The Familiar of Zero || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_257.21 || HimeHibi - Princess Days || 0x0B || 0x8000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_257.22 || Routes PE (Limited Edition) || 0x08 || 0x3E8 || CPU_DELAY<br /> |-<br /> |SLPS_257.27 || Routes PE || 0x08 || 0x3E8 || CPU_DELAY<br /> |-<br /> |SLPS_732.49 || Ar tonelico Qoga: Knell of Ar Ciel (Platinum) || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLUS_200.11 || Orphen: Ocion of Sorcery || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_200.11 || Orphen: Ocion of Sorcery || 0x09 || 0x8000010 || DEV5_INT_SPEED<br /> |-<br /> |SLUS_200.77 || Donald Duck: Go'in Quackers || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_202.74 || City Crisis || 0x0A || 0x80BB8 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_203.05 || Simpsons: Road Rage || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_203.64 || Tiger Woods PGA Tour 2002 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_204.13 || Shadowman 2 || 0x0A || 0x80600 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_204.33 || SWAT: Global Strike Team || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_204.88 || Star Ocean: Til the end of Time [Disc 1] || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_205.72 || Tiger Woods PGA Tour 2003 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_205.90 || Spyhunter 2 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_206.35 || Muppets Party Cruise || 0x01 || 0x801 || SIO2_MASK<br /> |-<br /> |SLUS_206.39 || Def Jam Vendetta || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_206.86 || Splashdown: Rides Gone Wild || 0x0A || 0x80400 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_208.38 || All-Star Baseball 2005 || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLUS_208.51 || Ace Combat 5: The Unsung War || 0x0A || 0x500000 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_208.91 || Star Ocean: Til the end of Time [Disc 2] || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_209.18 || Super Monkey Ball: Deluxe || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_210.59 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLUS_210.70 || Final Fantasy XI: Chains of Promathia || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLUS_210.89 || Karaoke Revolution Vol.3 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_213.31 || Sonic Riders || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_213.39 || Puzzle Challenge || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_214.04 || Final Fantasy XI: Treasures of Aht Urhgan || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLUS_214.52 || Valkyrie Profile 2: Silmeria || 0x08 || 0x1388 || CPU_DELAY<br /> |- <br /> |}<br /> <br /> ==Other game patches (unofficial)==<br /> There are other unofficial ways to patch the PS2 games such the [https://forums.pcsx2.net/Thread-A-simplistic-guide-to-pnach-files-aka-pnach-for-dummies pnach] format, or the widescreen patches that allows 16:9 screen output for some games by hex editing the ISO, or by applying ppf patches. Games work fine on PS3 with same compatibility like before patching. Also some 480p (aka progressive scan) patches work fine. http://ps2wide.net/<br /> <br /> The problem of this methods is the patch is applyed over the ISO and is modifyed permanently, but this problem can be avoided in PS3 because that unofficial patches can be &quot;ported&quot; to the official config format to be used by ps2_netemu.self, by using the official config format the settings and patchs from the config file are applyed &quot;on the fly&quot; and the ISO is not modifyed<br /> <br /> ==ps2_title_brute code==<br /> <br /> A script to calculate whatever this encode is that is used in ps2emu, gxemu and softemu from given input title id.<br /> <br /> It contains code for bruting as well. Just call gen_sum with the title id in a specific format to get it.<br /> <br /> &lt;syntaxhighlight lang=&quot;python&quot;&gt;<br /> title_ = &quot;SLUS_200.73&quot;<br /> <br /> #patches = [0x6b1ade00dL, 0x23d92589c5L, 0x24d92589d5L, 0x608634992dL, 0x5ca15df14dL]<br /> #patches = [0x37ae1cb18dL, 0x608634999dL, 0x06b1ade00dL, 0x5fc674d915L, 0x178e3c9165L, 0x3889349935L,0x18fe4ce145L,0xc126943985,0xe90ebc11b5,0x58be0ca165L]<br /> patches = [ 0xCD1298155L, 0x12C93199A5L, 0x15C93199ADL, 0x24D92589A5L, 0x2CD12D8125L, 0x34C9359935L, 0x34C93599E5L, 0x34C93599E5L, 0x449961C9E5L, 0x4C9169C1CDL, 0x4C9169C1D5L, 0x4C9169C1DDL, 0x4C9169C1E5L, 0x4C9169C1F5L, 0x4C9169C1FDL, 0x4CB14DE12DL, 0x54A955F915L, 0x5CA15DF165L, 0x5CA15DF1FDL, 0x5CA15DF1FDL, 0x649965C94DL, 0x649965C955L, 0x649965C95DL, 0x649965C965L, 0x649965C96DL, 0x6BB149E15DL, 0x6C916DC165L, 0x6C916DC1A5L, 0x6C916DC1ADL, 0x6C916DC1B5L, 0x6C916DC1D5L, 0x6C916DC1DDL, 0x748975D9DDL, 0x7C817DD125L, 0x7C817DD165L, 0x7C817DD16DL, 0x7C817DD175L, 0x7C817DD1CDL, 0x84798529BDL, 0x8559A109ADL, 0x8579852915L, 0x8579852965L, 0x8D51A90145L, 0x8D51A901B5L, 0x8D51A901BDL, 0x8D718D21BDL, 0x9C619D31E5L, 0x9D41B911ADL, 0x9D619D31C5L, 0x9F29357805L, 0x9F293578E5L, 0xB549B51915L, 0xB549B51925L, 0xB549B5195DL, 0xB549B519A5L, 0xB549B519ADL, 0xBC61793025L, 0xBD41BD1105L, 0xC439C569F5L, 0xC7716D20D5L, 0xC7716D20D5L, 0xCA11E941F5L, 0xCF7965285DL, 0xCF7965285DL, 0xD20911582DL, 0xD7617D308DL, 0xE339C1695DL, 0xE794CCB06DL, 0xEA3129608DL, 0xEC11ED4115L, 0xEF594508D5L, 0xF409F559ADL, 0xF7415D10E5L, 0xF7415D10E5L]<br /> <br /> def gen_sum(title):<br /> var_30 = []<br /> for i in range(0x1A):<br /> var_30.append(0)<br /> r9=5<br /> r31=0<br /> #Title 2 decimal<br /> while r9 != 0xB:<br /> r11 = r9 + 1<br /> if r9 == 8:<br /> pass<br /> else:<br /> r5 = ord(title[r9:r9+1])<br /> r7 = r31 * 0xA<br /> r6 = r7 &amp; 0xFFFFFFFF<br /> r4 = r5 + r6<br /> r9 = r4 - 0x30<br /> r31 = r9 &amp; 0xFFFFFFFF<br /> r9 = r11<br /> #print r31<br /> r10 = ord(title[3:4]) # S<br /> r7 = (r31 &gt;&gt; 10) &amp; 0x7F<br /> r11 = ord(title[1:2]) # L<br /> r8 = ord(title[2:3]) # U<br /> r6 = (r10 &gt;&gt; 1) &amp; 0x3F<br /> r12 = ord(title[0:1]) # S<br /> r4 = (r11 &gt;&gt; 3) &amp; 0xF<br /> r5 = (r8 &gt;&gt; 2) &amp; 0x1F<br /> r3 = (r12 &gt;&gt; 4) &amp; 7<br /> r9 = r10 &lt;&lt; 7<br /> r0 = r8 &lt;&lt; 6<br /> r10 = r11 &lt;&lt; 5<br /> r8 = r12 &lt;&lt; 4<br /> r12 = r31 &lt;&lt; 3<br /> r11 = r10 | r5<br /> r9 = r9 | r7<br /> r0 = r0 | r6<br /> var_30[2] = r11 &amp; 0xFF<br /> r7 = r8 | r4<br /> var_30[0] = (r9 &amp; 0xFF)<br /> r10 = r12 | r3<br /> var_30[1] = (r0 &amp; 0xFF)<br /> r12 = (r31 &gt;&gt; 2) &amp; 0x3FFFFFF8<br /> var_30[3] = (r7 &amp; 0xFF)<br /> r8 = 5<br /> var_30[4] = (r10 &amp; 0xFF)<br /> var_30[0x19] = (r12 &amp; 0xFF)<br /> var_30[0x18] = (r8 &amp; 0xFF)<br /> var_30 = [int(v) for v in var_30]<br /> #print [hex(v) for v in var_30]<br /> r5 = var_30<br /> r6 = 0<br /> r4 = 0<br /> while r6 &lt; 5:<br /> r12 = r5[r6:r6+1][0]<br /> r7 = r6 + 1<br /> r0 = var_30[0x19]<br /> r3 = r6 + 0x10<br /> r9 = r12 ^ r0<br /> r31 = r3<br /> r5[r6] = r9<br /> r6 = r7<br /> r5[r31] = r4<br /> #print [hex(v) for v in r5]<br /> r9 = 0<br /> r10 = 0<br /> while r10 &lt; 5:<br /> r11 = r10 + 1<br /> r6 = r5[r10:r10+1][0]<br /> r4 = r9 &lt;&lt; 8<br /> r10 = r11<br /> r9 = r4 | r6<br /> return r9<br /> '''<br /> print hex(gen_sum(title_))<br /> <br /> a1='A'<br /> a2='A'<br /> a3='A'<br /> a4='A'<br /> while a1 &lt;= 'Z':<br /> a2='A'<br /> a3='A'<br /> a4='A'<br /> while a2 &lt;= 'Z':<br /> a3='A'<br /> a4='A'<br /> while a3 &lt;= 'Z':<br /> a4='A'<br /> while a4 &lt;= 'Z':<br /> #print &quot;%s%s%s%s&quot; % (a1,a2,a3,a4)<br /> for i in range(99999):<br /> t = &quot;%s%s%s%s_&quot; % (a1,a2,a3,a4) + '{4}{3}{2}.{1}{0}'.format(i%10,(i/10)%10,(i/100)%10,(i/1000)%10,(i/10000)%10)<br /> if gen_sum(t) in patches:<br /> print t<br /> print True<br /> a4=chr(ord(a4)+1)<br /> print &quot;%s%s%s%s&quot; % (a1,a2,a3,a4)<br /> a3=chr(ord(a3)+1)<br /> print &quot;%s%s%s%s&quot; % (a1,a2,a3,a4)<br /> a2=chr(ord(a2)+1)<br /> a1=chr(ord(a1)+1)<br /> '''<br /> <br /> print hex(gen_sum(&quot;SLUS_213.86&quot;))<br /> '''<br /> for i in range(99999):<br /> t = &quot;SLUS_&quot; + '{4}{3}{2}.{1}{0}'.format(i%10,(i/10)%10,(i/100)%10,(i/1000)%10,(i/10000)%10)<br /> if gen_sum(t) in patches:<br /> print &quot;%s %x&quot; % (t, gen_sum(t))<br /> <br /> '''<br /> &lt;/syntaxhighlight&gt;<br /> <br /> <br /> ==External References==<br /> * [http://www.eurogamer.net/articles/digitalfoundry-vs-ps2-classics-on-ps3]<br /> * [http://www.ps3hax.net/showthread.php?t=53444 PS2 Classics Algorithm By flatz]<br /> * [http://gitorious.ps3dev.net/ps2classic c port]<br /> * https://docs.google.com/spreadsheet/ccc?key=0As9ZdsrJoSp1dC1NTTRCSE5vbTlkOGItTC1CVzE5U3c#gid=7<br /> * http://www.pshomebrew.net/wiki/PS2_Classics_Emulator_Compatibility_List<br /> * [http://www.ps3hax.net/showthread.php?p=620747#post620747 How to properly convert Final Fantasy XII: IZJS For ps2classics]<br /> * https://en.wikipedia.org/wiki/List_of_PlayStation_2_Classics<br /> <br /> CPU-GPU intensive games + games only playable in software render on PCSX2:<br /> * http://wiki.pcsx2.net/index.php/Category:GPU_intensive_games<br /> * http://wiki.pcsx2.net/index.php/Category:CPU_intensive_games<br /> * http://wiki.pcsx2.net/index.php/Category:Software_rendering_only_games<br /> <br /> {{Reverse engineering}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=Template:Firmware&diff=55870 Template:Firmware 2020-03-31T17:39:24Z <p>Mysis: </p> <hr /> <div>{{Navbox<br /> |name = Firmware<br /> |title = [[System Firmware|System Firmware]]<br /> |image = [[File:Software.png|50px|link=|alt=]]<br /> |listclass = hlist<br /> |state = uncollapsed<br /> <br /> |group1 = Updates&lt;br&gt;and&lt;br&gt;Patches<br /> |list1 = {{Navbox subgroup<br /> |group1 = Retail / CEX<br /> |list1 = [[1.00 CEX|1.00]]{{dot}}[[1.02 CEX|1.02]]{{dot}}[[1.10 CEX|1.10]]{{dot}}[[1.11 CEX|1.11]]{{dot}}[[1.30 CEX|1.30]]{{dot}}[[1.31 CEX|1.31]]{{dot}}[[1.32 CEX|1.32]]{{dot}}[[1.50 CEX|1.50]]{{dot}}[[1.51 CEX|1.51]]{{dot}}[[1.54 CEX|1.54]]{{dot}}[[1.55 CEX|1.55]]{{dot}}[[1.60 CEX|1.60]]{{dot}}[[1.70 CEX|1.70]]{{dot}}[[1.80 CEX|1.80]]{{dot}}[[1.81 CEX|1.81]]{{dot}}[[1.82 CEX|1.82]]{{dot}}[[1.90 CEX|1.90]]{{dot}}[[1.92 CEX|1.92]]{{dot}}[[1.93 CEX|1.93]]{{dot}}[[1.94 CEX|1.94]]{{dot}}[[1.97 CEX|1.97]]{{dot}}[[2.00 CEX|2.00]]{{dot}}[[2.01 CEX|2.01]]{{dot}}[[2.10 CEX|2.10]]{{dot}}[[2.16 CEX|2.16]]{{dot}}[[2.17 CEX|2.17]]{{dot}}[[2.20 CEX|2.20]]{{dot}}[[2.30 CEX|2.30]]{{dot}}[[2.35 CEX|2.35]]{{dot}}[[2.36 CEX|2.36]]{{dot}}[[2.40 CEX|2.40]]{{dot}}[[2.41 CEX|2.41]]{{dot}}[[2.42 CEX|2.42]]{{dot}}[[2.43 CEX|2.43]]{{dot}}[[2.45 CEX|2.45]]{{dot}}[[2.50 CEX|2.50]]{{dot}}[[2.52 CEX|2.52]]{{dot}}[[2.53 CEX|2.53]]{{dot}}[[2.60 CEX|2.60]]{{dot}}[[2.70 CEX|2.70]]{{dot}}[[2.76 CEX|2.76]]{{dot}}[[2.80 CEX|2.80]]{{dot}}[[3.00 CEX|3.00]]{{dot}}[[3.01 CEX|3.01]]{{dot}}[[3.10 CEX|3.10]]{{dot}}[[3.15 CEX|3.15]]{{dot}}[[3.16 CEX|3.16]]{{dot}}[[3.20 CEX|3.20]]{{dot}}[[3.21 CEX|3.21]]{{dot}}[[3.30 CEX|3.30]]{{dot}}[[3.40 CEX|3.40]]{{dot}}[[3.41-1 CEX|3.41-1]]{{dot}}[[3.41-patch CEX|3.41-patch]]{{dot}}[[3.41-2 CEX|3.41-2]]{{dot}}[[3.42 CEX|3.42]]{{dot}}[[3.42-patch CEX|3.42-patch]]{{dot}}[[3.50 CEX|3.50]]{{dot}}[[3.55 CEX|3.55]]{{dot}}[[3.55-patch CEX|3.55-patch]]{{dot}}[[3.56-1 CEX|3.56-1]]{{dot}}[[3.56-2 CEX|3.56-2]]{{dot}}[[3.60 CEX|3.60]]{{dot}}[[3.61 CEX|3.61]]{{dot}}[[3.65 CEX|3.65]]{{dot}}[[3.66 CEX|3.66]]{{dot}}[[3.70 CEX|3.70]]{{dot}}[[3.71 CEX|3.71]]{{dot}}[[3.72 CEX|3.72]]{{dot}}[[3.72-patch CEX|3.72-patch]]{{dot}}[[3.73 CEX|3.73]]{{dot}}[[3.73-patch CEX|3.73-patch]]{{dot}}[[3.74 CEX|3.74]]{{dot}}[[4.00 CEX|4.00]]{{dot}}[[4.01 CEX|4.01]]{{dot}}[[4.10 CEX|4.10]]{{dot}}[[4.11 CEX|4.11]]{{dot}}[[4.15 CEX|4.15]]{{dot}}[[4.20 CEX|4.20]]{{dot}}[[4.21 CEX|4.21]]{{dot}}[[4.21-patch CEX|4.21-patch]]{{dot}}[[4.22 CEX|4.22]]{{dot}}[[4.25 CEX|4.25]]{{dot}}[[4.25-patch CEX|4.25-patch]]{{dot}}[[4.30 CEX|4.30]]{{dot}}[[4.30-patch CEX|4.30-patch]]{{dot}}[[4.31 CEX|4.31]]{{dot}}[[4.31-patch CEX|4.31-patch]]{{dot}}[[4.40 CEX|4.40]]{{dot}}[[4.40-patch CEX|4.40-patch]]{{dot}}[[4.41 CEX|4.41]]{{dot}}[[4.41-patch CEX|4.41-patch]]{{dot}}[[4.45 CEX|4.45]]{{dot}}[[4.45-patch CEX|4.45-patch]]{{dot}}[[4.46 CEX|4.46]]{{dot}}[[4.50 CEX|4.50]]{{dot}}[[4.50-patch CEX|4.50-patch]]{{dot}}[[4.53 CEX|4.53]]{{dot}}[[4.53-patch CEX|4.53-patch]]{{dot}}[[4.55 CEX|4.55]]{{dot}}[[4.55-patch CEX|4.55-patch]]{{dot}}[[4.60 CEX|4.60]]{{dot}}[[4.60-patch CEX|4.60-patch]]{{dot}}[[4.65 CEX|4.65]]{{dot}}[[4.65-patch CEX|4.65-patch]]{{dot}}[[4.66 CEX|4.66]]{{dot}}[[4.66-patch CEX|4.66-patch]]{{dot}}[[4.70 CEX|4.70]]{{dot}}[[4.70-patch CEX|4.70-patch]]{{dot}}[[4.75 CEX|4.75]]{{dot}}[[4.75-patch CEX|4.75-patch]]{{dot}}[[4.76 CEX|4.76]]{{dot}}[[4.76-patch CEX|4.76-patch]]{{dot}}[[4.78 CEX|4.78]]{{dot}}[[4.78-patch CEX|4.78-patch]]{{dot}}[[4.80 CEX|4.80]]{{dot}}[[4.80-patch CEX|4.80-patch]]{{dot}}[[4.81 CEX|4.81]]{{dot}}[[4.81-patch CEX|4.81-patch]]{{dot}}[[4.82 CEX|4.82]]{{dot}}[[4.82-patch CEX|4.82-patch]]{{dot}}[[4.83 CEX|4.83]]{{dot}}[[4.83-patch CEX|4.83-patch]]{{dot}}[[4.84 CEX|4.84]]{{dot}}[[4.84-patch CEX|4.84-patch]]{{dot}}[[4.85 CEX|4.85]]{{dot}}[[4.85-patch CEX|4.85-patch]]{{dot}}[[4.86 CEX|4.86]]{{dot}}[[4.86-patch CEX|4.86-patch]]<br /> |group2 = [[Shop]] / SEX<br /> |list2 = [[2.42 SEX|2.42]]{{dot}}[[2.51 SEX|2.51]]{{dot}}[[3.41 SEX|3.41]]{{dot}}[[3.50 SEX|3.50]]{{dot}}[[3.55 SEX|3.55]]{{dot}}[[3.56-1 SEX|3.56-1]]{{dot}}[[3.56-2 SEX|3.56-2]]{{dot}}[[3.60 SEX|3.60]]{{dot}}[[3.61 SEX|3.61]]{{dot}}[[3.66 SEX|3.66]]{{dot}}[[3.70 SEX|3.70]]{{dot}}[[4.00 SEX|4.00]]{{dot}}[[4.10 SEX|4.10]]{{dot}}[[4.11 SEX|4.11]]{{dot}}[[4.20 SEX|4.20]]{{dot}}[[4.21 SEX|4.21]]{{dot}}[[4.23 SEX|4.23]]{{dot}}[[4.25 SEX|4.25]]{{dot}}[[4.26 SEX|4.26]]{{dot}}[[4.30 SEX|4.30]]{{dot}}[[4.31 SEX|4.31]]{{dot}}[[4.40 SEX|4.40]]{{dot}}[[4.41 SEX|4.41]]{{dot}}[[4.45 SEX|4.45]]{{dot}}[[4.46 SEX|4.46]]{{dot}}[[4.50 SEX|4.50]]{{dot}}[[4.53 SEX|4.53]]{{dot}}[[4.55 SEX|4.55]]{{dot}}[[4.60 SEX|4.60]]{{dot}}[[4.65 SEX|4.65]]{{dot}}[[4.66 SEX|4.66]]{{dot}}[[4.70 SEX|4.70]]{{dot}}[[4.75 SEX|4.75]]{{dot}}[[4.76 SEX|4.76]]{{dot}}[[4.78 SEX|4.78]]{{dot}}[[4.80 SEX|4.80]]{{dot}}[[4.81 SEX|4.81]]{{dot}}[[4.82 SEX|4.82]]{{dot}}[[4.83 SEX|4.83]]<br /> |group3 = Debug / DEX<br /> |list3 = [[095.001 - DEX]]{{dot}}[[096.002 - DEX]]{{dot}}[[1.00 DEX|1.00]]{{dot}}[[1.01 DEX|1.01]]{{dot}}[[1.02 DEX|1.02]]{{dot}}[[1.50 DEX|1.50]]{{dot}}[[1.54 DEX|1.54]]{{dot}}[[1.60 DEX|1.60]]{{dot}}[[1.70 DEX|1.70]]{{dot}}[[1.80 DEX|1.80]]{{dot}}[[1.81 DEX|1.81]]{{dot}}[[1.92 DEX|1.92]]{{dot}}[[2.00 DEX|2.00]]{{dot}}[[2.01 DEX|2.01]]{{dot}}[[2.10 DEX|2.10]]{{dot}}[[2.15 DEX|2.15]]{{dot}}[[2.17 DEX|2.17]]{{dot}}[[2.20 DEX|2.20]]{{dot}}[[2.30 DEX|2.30]]{{dot}}[[2.35 DEX|2.35]]{{dot}}[[2.36 DEX|2.36]]{{dot}}[[2.40 DEX|2.40]]{{dot}}[[2.41 DEX|2.41]]{{dot}}[[2.42 DEX|2.42]]{{dot}}[[2.50 DEX|2.50]]{{dot}}[[2.52 DEX|2.52]]{{dot}}[[2.53 DEX|2.53]]{{dot}}[[2.60 DEX|2.60]]{{dot}}[[2.70 DEX|2.70]]{{dot}}[[2.76 DEX|2.76]]{{dot}}[[2.80 DEX|2.80]]{{dot}}[[2.85 DEX|2.85]]{{dot}}[[3.00 DEX|3.00]]{{dot}}[[3.01 DEX|3.01]]{{dot}}[[3.10 DEX|3.10]]{{dot}}[[3.15 DEX|3.15]]{{dot}}[[3.20 DEX|3.20]]{{dot}}[[3.21 DEX|3.21]]{{dot}}[[3.30 DEX|3.30]]{{dot}}[[3.31 DEX|3.31]]{{dot}}[[3.40 DEX|3.40]]{{dot}}[[3.41 DEX|3.41]]{{dot}}[[3.42 DEX|3.42]]{{dot}}[[3.50 DEX|3.50]]{{dot}}[[3.55 DEX|3.55]]{{dot}}[[3.55-downgrader DEX|3.55-downgrader]]{{dot}}[[3.55-001d DEX|3.55-001d]]{{dot}}[[3.56 DEX|3.56]]{{dot}}[[3.60 DEX|3.60]]{{dot}}[[3.65 DEX|3.65]]{{dot}}[[3.66 DEX|3.66]]{{dot}}[[3.70 DEX|3.70]]{{dot}}[[3.71 DEX|3.71]]{{dot}}[[3.72 DEX|3.72]]{{dot}}[[3.73 DEX|3.73]]{{dot}}[[3.74 DEX|3.74]]{{dot}}[[4.00 DEX|4.00]]{{dot}}[[4.01 DEX|4.01]]{{dot}}[[4.10 DEX|4.10]]{{dot}}[[4.11 DEX|4.11]]{{dot}}[[4.20 DEX|4.20]]{{dot}}[[4.21 DEX|4.21]]{{dot}}[[4.25 DEX|4.25]]{{dot}}[[4.30 DEX|4.30]]{{dot}}[[4.31 DEX|4.31]]{{dot}}[[4.40 DEX|4.40]]{{dot}}[[4.41 DEX|4.41]]{{dot}}[[4.46 DEX|4.46]]{{dot}}[[4.50 DEX|4.50]]{{dot}}[[4.53 DEX|4.53]]{{dot}}[[4.55 DEX|4.55]]{{dot}}[[4.60 DEX|4.60]]{{dot}}[[4.65 DEX|4.65]]{{dot}}[[4.66 DEX|4.66]]{{dot}}[[4.70 DEX|4.70]]{{dot}}[[4.75 DEX|4.75]]{{dot}}[[4.76 DEX|4.76]]{{dot}}[[4.78 DEX|4.78]]{{dot}}[[4.80 DEX|4.80]]{{dot}}[[4.81 DEX|4.81]]{{dot}}[[4.82 DEX|4.82]]{{dot}}[[4.83 DEX|4.83]]{{dot}}[[4.84 DEX|4.84]]<br /> |group4 = Tool / DECR<br /> |list4 = [[090.002 - DECR|0.90]]{{dot}}[[091.005 - DECR|0.91-005]]{{dot}}[[091.006 - DECR|0.91-006]]{{dot}}[[092.002 - DECR|0.92]]{{dot}}[[094.002 - DECR|0.94]]{{dot}}[[095.001 - DECR|0.95]]{{dot}}[[096.002 - DECR|0.96]]{{dot}}[[1.00 DECR|1.00]]{{dot}} [[101.001 - DECR|1.01]]{{dot}}[[102.002 DECR|1.02-002]]{{dot}}[[102.003 DECR|1.02-003]]{{dot}}[[110.006 DECR|1.10]]{{dot}}[[131.002 DECR|1.31]]{{dot}}[[132.002 DECR|1.32]]{{dot}}[[150.004 DECR|1.50]]{{dot}}[[154.001 DECR|1.54]]{{dot}}[[1.60 DECR|1.60]]{{dot}}[[170.003 DECR|1.70]]{{dot}}[[180.002 DECR|1.80]]{{dot}}[[181.001 DECR|1.81]]{{dot}}[[1.92 DECR|1.92]]{{dot}}[[200.002 DECR|2.00]]{{dot}}[[215.001 DECR|2.15]]{{dot}}[[217.004 DECR|2.17]]{{dot}}[[220.002 DECR|2.20]]{{dot}}[[230.001 DECR|2.30]]{{dot}}[[235.002 DECR|2.35]]{{dot}}[[236.001 DECR|2.36]]{{dot}}[[241.001 DECR|2.41]]{{dot}}[[242.001 DECR|2.42]]{{dot}}[[243.001 DECR|2.43]]{{dot}}[[250.001 DECR|2.50]]{{dot}}[[252.001 DECR|2.52]]{{dot}}[[253.001 DECR|2.53]]{{dot}}[[260.001 DECR|2.60]]{{dot}}[[270.001 DECR|2.70]]{{dot}}[[276.001 DECR|2.76]]{{dot}}[[280.001 DECR|2.80]]{{dot}}[[285.001 DECR|2.85]]{{dot}}[[300.001 DECR|3.00]]{{dot}}[[301.001 DECR|3.01]]{{dot}}[[310.001 DECR|3.10]]{{dot}}[[315.001 DECR|3.15]]{{dot}}[[320.001 DECR|3.20]]{{dot}}[[321.001 DECR|3.21]]{{dot}}[[330.001 DECR|3.30]]{{dot}}[[331.001 DECR|3.31]]{{dot}}[[340.001 DECR|3.40]]{{dot}}[[3.41 DECR|3.41]]{{dot}}[[342.001 DECR|3.42]]{{dot}}[[350.001 DECR|3.50]]{{dot}}[[3.55 DECR|3.55]]{{dot}}[[3.60 DECR|3.60]]{{dot}}[[361.001 DECR|3.61]]{{dot}}[[365.001 DECR|3.65]]{{dot}}[[366.001 DECR|3.66]]{{dot}}[[370.001 DECR|3.70]]{{dot}}[[371.001 DECR|3.71]]{{dot}}[[3.72 DECR|3.72]]{{dot}}[[373.001 DECR|3.73]]{{dot}}[[374.001 DECR|3.74]]{{dot}}[[4.00 DECR|4.00]]{{dot}}[[411.001 DECR|4.11]]{{dot}}[[420.001 DECR|4.20]]{{dot}}[[421.001 DECR|4.21]]{{dot}}[[425.001 DECR|4.25]]{{dot}}[[430.001 DECR|4.30]]{{dot}}[[431.001 DECR|4.31]]{{dot}}[[440.001 DECR|4.40]]{{dot}}[[441.001 DECR|4.41]]{{dot}}[[446.001 DECR|4.46]]{{dot}}[[4.50 DECR|4.50]]{{dot}}[[455.001 DECR|4.55]]{{dot}}[[4.60 DECR|4.60]]{{dot}}[[4.65 DECR|4.65]]{{dot}}[[4.66 DECR|4.66]]{{dot}}[[4.70 DECR|4.70]]{{dot}}[[4.75 DECR|4.75]]{{dot}}[[4.76 DECR|4.76]]{{dot}}[[4.78 DECR|4.78]]{{dot}}[[4.80 DECR|4.80]]{{dot}}[[4.81 DECR|4.81]]{{dot}}[[4.82 DECR|4.82]]{{dot}}[[4.83 DECR|4.83]]<br /> |group5 = AVTool <br /> |list5 = [[1.00 AV|1.00]]{{dot}}[[1.30 AV|1.30]]<br /> |group6 = Arcade / GEX<br /> |list6 = [[197.000 ARC|197.000]]{{dot}}[[245.000 ARC|245.000]]{{dot}}[[251.040 ARC|251.040]]{{dot}}[[3.10 ARC|3.10]]{{dot}}[[3.60 ARC|3.60]]{{dot}}[[4.20 ARC|4.20]]{{dot}}[[4.40 ARC|4.40]]{{dot}}[[4.50 ARC|4.50]]{{dot}}[[4.70 ARC|4.70]]<br /> }}<br /> <br /> |group2 = Eboot.rom<br /> |list2 = {{Navbox subgroup<br /> |group1 = Proto CEB<br /> |list1 = [[020.010]]{{dot}}[[030.001]]{{dot}}[[030.014]]{{dot}}[[030.019.r003]]{{dot}}[[030.020]]{{dot}}[[030.020.r003]]{{dot}}[[030.022]]{{dot}}[[030.022.r004]]{{dot}}[[040.001.r007]]{{dot}}[[040.004.r009]]{{dot}}[[040.005]]{{dot}}[[040.005.r009]]{{dot}}[[040.006]]{{dot}}[[040.006.r009]]{{dot}}[[040.012]]{{dot}}[[040.012.r009]]{{dot}}[[040.013]]{{dot}}[[050.002]]{{dot}}[[050.002.r010]]{{dot}}[[050.003]]{{dot}}[[050.003.r010]]{{dot}}[[050.004]]{{dot}}[[050.004.r010]]{{dot}}[[050.008]]{{dot}}[[050.008.r010]]{{dot}}[[050.011]]{{dot}}[[050.011.r010]]{{dot}}[[050.012]]{{dot}}[[050.012.r010]]{{dot}}[[050.013]]{{dot}}[[EBOOTROM_E]]{{dot}}[[1250.bin]]{{dot}}[[EBOOTROM_E.r009]]{{dot}}[[EBOOTROM_I.r009]]<br /> |group2 = Proto DEH<br /> |list2 = [[060.004]]{{dot}}[[0.6.0.004.r010]]{{dot}}[[0.6.0.012.r010]]{{dot}}[[0.6.0.013.r010]]{{dot}}[[0.8.0.004.r010]]{{dot}}[[0.8.1.003.r010]]{{dot}}[[0.8.2.006.r010]]{{dot}}[[0.8.2.011.r010]]{{dot}}[[0.8.3.002.r010]]{{dot}}[[083.006.r010]]{{dot}}[[083.007.r010]]{{dot}}[[0.8.4r9460]]{{dot}}[[0.8.4.001.r010]]{{dot}}[[0.8.4.006.r010]]{{dot}}[[0.8.5.007.r010]]{{dot}}[[Ebootrom mini I]]{{dot}}[[EBOOTROM_2_I]]{{dot}}[[EBOOTROM_2_E]]<br /> |group3 = Proto DECR<br /> |list3 = [[0.85.009]]{{dot}}[[0.85.010]]{{dot}}[[0.85.015]]{{dot}}[[091.006]]{{dot}}[[093.002]]{{dot}}[[100.002 - DECR]]<br /> |group4 = Misc.<br /> |list4 = [[Internal Ebootroms]]<br /> }}<br /> <br /> |group3 = Firmware&lt;br&gt;Info<br /> |list3 = [[Boot modes]]{{dot}}[[Button Combos]]{{dot}}[[Error Codes]]{{dot}}[[Factory Service Mode]]{{dot}}[[More System Information]]{{dot}}[[Recovery Menu]]{{dot}}[[Retail, Shop, Debug, Tool firmware differences]]{{dot}}[[DEX Options]]{{dot}}[[Features]]{{dot}}[[XMB]]{{dot}}[[Licensing]]<br /> }}<br /> <br /> [[Category:Firmware]]&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=4.86_CEX&diff=55869 4.86 CEX 2020-03-31T17:37:11Z <p>Mysis: Created page with &quot;Released: {{date|31-03-2020}} = Changes = This system software update improves system performance. == Changed files compared to 4.85 CEX== === CORE OS === *...&quot;</p> <hr /> <div>Released: {{date|31-03-2020}}<br /> <br /> = Changes =<br /> This system software update improves system performance.<br /> <br /> == Changed files compared to [[4.85_CEX|4.85 CEX]]==<br /> <br /> <br /> === CORE OS ===<br /> <br /> * lv0<br /> * lv1.self<br /> * lv2_kernel.self<br /> <br /> === dev_flash ===<br /> <br /> bdplayer\<br /> * AacsModule.spu.isoself<br /> * bdp_BDMV.self<br /> * bdp_BDVD.self<br /> <br /> ps1emu\<br /> * ps1_emu.self<br /> * ps1_netemu.self<br /> * ps1_newemu.self<br /> <br /> ps2emu\<br /> * ps2_emu.self<br /> <br /> pspemu\<br /> * psp_emulator.self<br /> * psp_translator.self<br /> <br /> pspemu\release\<br /> * PEmuCoreLib.sprx<br /> <br /> sys\external\<br /> * libadec.sprx<br /> * libadec2.sprx<br /> * libadec_internal.sprx<br /> * libfiber.sprx<br /> * libhttp.sprx<br /> * liblv2coredump.sprx<br /> * libmedi.sprx<br /> * libsail.sprx<br /> * libsail_rec.sprx<br /> * libspurs_jq.sprx<br /> * libsre.sprx<br /> * libssl.sprx<br /> * libsync2.sprx<br /> * libvdec.sprx<br /> <br /> sys\internal\<br /> * sys_audio.self<br /> * sys_init_osd.self<br /> <br /> vsh\module\<br /> * avc2_text_plugin.sprx<br /> * dtcpip_util.sprx<br /> * explore_category_friend.sprx<br /> * explore_plugin.sprx<br /> * explore_plugin_np.sprx<br /> * friendim_plugin.sprx<br /> * friendml_plugin.sprx<br /> * friendtrophy_plugin.sprx<br /> * hknw_plugin.sprx<br /> * msmw2.sprx<br /> * np_oauth.sprx<br /> * profile_plugin.sprx<br /> * rec_plugin.sprx<br /> * swagner.self<br /> * swreset.self<br /> * sysconf_plugin.sprx<br /> * vsh.self<br /> * x3_mdimp10.sprx<br /> <br /> = Download =<br /> *<br /> * {{updates|ps3.update.playstation.net/update/ps3/image/jp/2020_0331_cf9cb4ba53a83ad557501417837c8de9/PS3UPDAT.PUP}}<br /> <br /> = PUP hashes =<br /> 4.86 RETAIL/CEX | MD5:| SHA1:| CRC32:<br /> <br /> = PUP Information =<br /> <br /> = CoreOS Filehashes =<br /> <br /> {{System Firmware}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=4.85_CEX&diff=55868 4.85 CEX 2020-03-31T17:35:45Z <p>Mysis: Created page with &quot;Released: {{date|28-08-2019}} = Changes = This system software update improves system performance. == Changed files compared to 4.84 CEX== === CORE OS === *...&quot;</p> <hr /> <div>Released: {{date|28-08-2019}}<br /> <br /> = Changes =<br /> This system software update improves system performance.<br /> <br /> == Changed files compared to [[4.84_CEX|4.84 CEX]]==<br /> <br /> <br /> === CORE OS ===<br /> <br /> * lv0<br /> * lv1.self<br /> * lv2_kernel.self<br /> <br /> === dev_flash ===<br /> <br /> bdplayer\<br /> * bdp_BDMV.self<br /> * bdp_BDVD.self<br /> <br /> ps1emu\<br /> * ps1_emu.self<br /> * ps1_netemu.self<br /> * ps1_newemu.self<br /> <br /> ps2emu\<br /> * ps2_emu.self<br /> <br /> pspemu\<br /> * psp_emulator.self<br /> * psp_translator.self<br /> <br /> pspemu\release\<br /> * PEmuCoreLib.sprx<br /> <br /> sys\external\<br /> * libadec.sprx<br /> * libadec2.sprx<br /> * libadec_internal.sprx<br /> * libfiber.sprx<br /> * libhttp.sprx<br /> * liblv2coredump.sprx<br /> * libmedi.sprx<br /> * libsail.sprx<br /> * libsail_rec.sprx<br /> * libspurs_jq.sprx<br /> * libsre.sprx<br /> * libsync2.sprx<br /> * libvdec.sprx<br /> <br /> sys\internal\<br /> * sys_audio.self<br /> * sys_init_osd.self<br /> <br /> vsh\module\<br /> * avc2_text_plugin.sprx<br /> * explore_category_friend.sprx<br /> * explore_plugin.sprx<br /> * explore_plugin_np.sprx<br /> * friendim_plugin.sprx<br /> * friendml_plugin.sprx<br /> * friendtrophy_plugin.sprx<br /> * hknw_plugin.sprx<br /> * msmw2.sprx<br /> * newstore_plugin.sprx<br /> * np_oauth.sprx<br /> * profile_plugin.sprx<br /> * rec_plugin.sprx<br /> * regcam_plugin.sprx<br /> * vsh.self<br /> * x3_mdimp7.sprx<br /> <br /> <br /> = Download =<br /> *<br /> * {{updates|ps3.update.playstation.net/update/ps3/image/us/2019_0828_c975768e5d70e105a72656f498cc9be9/PS3UPDAT.PUP}}<br /> <br /> = PUP hashes =<br /> 4.85 RETAIL/CEX | MD5:| SHA1:| CRC32:<br /> <br /> = PUP Information =<br /> <br /> = CoreOS Filehashes =<br /> <br /> {{System Firmware}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=PS2_Emulation&diff=55846 PS2 Emulation 2020-03-26T14:54:41Z <p>Mysis: Added Marvel Nemesis: Rise of the Imperfects config</p> <hr /> <div>==Description==<br /> Emulation of Playstation 2 is currently handled by 3 kind of emulators. CECH-A/B models use ps2_emu.self able to use built-in PS2 hardware (EE/GS/Rambus memory), and have best compatibility. CECH-C/E use ps2_gxemu, this emulator use physical Graphic Synthesizer found in this ps3 model, but Emotion Engine is fully emulated here, also there is no Rambus memory. All other models emulate PS2 thru fully software based ps2_netemu used for ps2 classics, and hacked now to use decrypted ISO files. Earlier before Sony provided ps2 classics on PS Store there was another soft only emulator strongly based on ps2_gxemu. It was called ps2_softemu, and had support for original PS2 CDVD. Only emulator not able to run physical discs is ps2_netemu. <br /> <br /> Emulators are self files, but not typical one. Emulators are not truly PS3 Game OS elf executables, but Guest OS'es running on LV1 of PS3. This mean that LV2, or more friendly Game OS is unloaded before emulator is loaded. This also mean that while emulators are running we can't call any LV2 function. Also LV1 syscalls are limited to call from all emulators, but can be fully unlocked. <br /> <br /> All emulators use built-in stripped developement version of PS2 BIOS with disabled debug functions that can affect some games. This is done because some games print debug info on screen when found that are run on dev bios. Bios between ps2_emu, ps2_gxemu, and ps2_netemu are different. Although bios from gxemu run fine on netemu, and vice-versa. While ps2_emu BIOS is able to run only on ps2emu version of emulator. <br /> <br /> [[File:Ps2_block_diagram.png|200px|thumb|right|Simplified block diagram of a PS2&lt;br /&gt;[http://www.philvaz.com/games/PS2.htm source]]]<br /> Note: <br /> * not available in early Tool/DECR and Debug/DEX firmwares. But available in AV TOOL firmware since 1.00<br /> * Emulation is based on a SCPH-50000/SCPH-20401 Playstation 2 Model.<br /> * [http://unina.stidue.net/Universita'%20di%20Trieste/Ingegneria%20Industriale%20e%20dell'Informazione/Tuzzi/Architetture_Avanzate_dei_Calcolatori/Emotion_2.pdf Introduction to PlayStation2 Architecture.pdf]<br /> <br /> ==PS2 Emulators types and versions==<br /> ps2_emu.self (1.02++)<br /> ps2_gxemu.self (1.50++)<br /> ps2_softemu.self (1.90++) 1.90-1.94 (11065), 2.00-2.10 (11830), 3.15 (12840), 3.41-3.65 (13474), 3.66-3.70 (15435), 3.72-4.21 (15529)<br /> (Changes: -2.50] [2.52-2.60] [2.70] [2.80] [3.00-3.65] [3.66-3.70] [3.74])<br /> ps2_netemu.self (3.70++)<br /> <br /> &lt;s&gt;<br /> *http://www.crocko.com/651925F44E444D8390E41A39A577BE48/ps2emu.rar<br /> *http://filerio.in/2xjqscjklj72<br /> *http://freakshare.com/files/bp53qpcy/ps2emu.rar.html<br /> *http://www.mirrorcreator.com/files/4BNITIXD/ps2_netemu.7z_links<br /> &lt;/s&gt;<br /> <br /> {{PS2 emulators workload comparison}}<br /> <br /> ===ps2_emu.self===<br /> <br /> ====Self System Table Offset====<br /> {| cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; border=&quot;1&quot; class=&quot;wikitable&quot; style=&quot;text-align: center;&quot;<br /> |-<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 1.00 AV || 0x7C3150 ||<br /> |-<br /> | 1.02 || 0x7C31F0 ||<br /> |-<br /> | 1.10 || 0x7C2168 ||<br /> |-<br /> | 1.11 || 0x7C23C8 ||<br /> |-<br /> | 1.30 || 0x8442E8 ||<br /> |-<br /> | 1.30 AV || 0x8442E8 ||<br /> |-<br /> | 1.31 || 0x844C98 ||<br /> |-<br /> | 1.32 || 0x845CA0 ||<br /> |-<br /> | 1.50 || 0x848728 ||<br /> |-<br /> | 1.90 || 0x4D7ED8 ||<br /> |-<br /> | 3.66 - 3.74 || 0x4E9A20 ||<br /> |-<br /> | 4.00 - 4.01 || 0x4EADB8 ||<br /> |-<br /> | 4.10 - 4.11 || 0x4EAD28 ||<br /> |-<br /> | 4.20 - 4.21 || 0x4EAE30 ||<br /> |-<br /> | 4.23 || 0x4EACE0 ||<br /> |-<br /> | 4.25 || 0x4EAE30 || Reverted to 4.20 - 4.21 version?<br /> |-<br /> | 4.78 - 4.82 || 0x4EB8C0 ||<br /> |}<br /> <br /> ===ps2_gxemu.self===<br /> <br /> ====Self System Table Offset====<br /> {| cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; border=&quot;1&quot; class=&quot;wikitable&quot; style=&quot;text-align: center;&quot;<br /> |-<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 1.50 || 0x5BDFC8 ||<br /> |-<br /> | 1.90 || 0x666C78 ||<br /> |-<br /> | 3.66 - 3.74 || 0x6766B8 ||<br /> |-<br /> | 4.00 - 4.11 || 0x677990 ||<br /> |-<br /> | 3.66 - 3.74 || 0x677AA8 ||<br /> |-<br /> | 4.78 - 4.82 || 0x678548 || <br /> |-<br /> |}<br /> <br /> ===ps2_softemu.self===<br /> <br /> ====Self System Table Offset====<br /> {| cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; border=&quot;1&quot; class=&quot;wikitable&quot; style=&quot;text-align: center;&quot;<br /> |-<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 1.90 || 0x5C7B10 ||<br /> |-<br /> | 2.50 || 0x5C7ED8 ||<br /> |-<br /> | 3.41 || 0x5C8C00 || <br /> |-<br /> | 3.66 - 3.71 || 0x5C8EC0 ||<br /> |-<br /> | 3.72 - 4.01 || 0x5C8E40 ||<br /> |}<br /> <br /> ===ps2_netemu.self===<br /> [[PS2_Classics_Emulator_Compatibility_List|PS2 Classics Emulator Compatibility List]]<br /> <br /> ====Self System Table Offset====<br /> {| cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; border=&quot;1&quot; class=&quot;wikitable&quot; style=&quot;text-align: center;&quot;<br /> |-<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 3.73 - 3.74 || 0x7D8B00 ||<br /> |-<br /> | 4.00 - 4.01 || 0x7DA200 ||<br /> |-<br /> | 4.10 - 4.11 || 0x7DA180 ||<br /> |-<br /> | 4.20 - 4.25 || 0x7DA500 ||<br /> |-<br /> | 4.78 - 4.83 || 0x751280 || <br /> |-<br /> |}<br /> <br /> ====General observations regarding PS2 Classics emulator====<br /> * Virtual memory cards are per title based, but apparently run through the current memory card system. The module used to manage memory cards is: vmc_savedata_plugin.sprx - Using a regular memory card that has been renamed result in a &quot;The save data is corrupt (8XXXXXXX) error&quot;<br /> * Loads an epilepsy warning before PS2 logo (PS button menu appears during epilepsy warning if controller is synced)<br /> * Does not support online functionality of PS2 titles (network configuration utility inside Full Spectrum Warrior claims no network adaptor has been found, same with Syphon Filter: The Omega Strain).<br /> <br /> - Only file that is needed in the folder for PS2 Classics is &quot;iso.bin.enc&quot;. Removing the manuals/DXT files will cause the game to boot IMMEDIATELY to the PS2 logo upon switching to 720p/starting PS2 LPAR.<br /> <br /> ====folder/file layout====<br /> (in this example GTA San Andreas Classic)<br /> &lt;pre&gt;<br /> [NPUD20946]<br /> [USRDIR]<br /> [CONTENT]<br /> 001.dxt<br /> 002.dxt<br /> 003.dxt<br /> 004.dxt<br /> 005.dxt<br /> 006.dxt<br /> 007.dxt<br /> 008.dxt<br /> 009.dxt<br /> 010.dxt<br /> 011.dxt<br /> 012.dxt<br /> 013.dxt<br /> 014.dxt<br /> 015.dxt<br /> 016.dxt<br /> 017.dxt<br /> Others.dxt<br /> Manual.idx<br /> [SAVEDATA]<br /> SCEVMC0.VME<br /> SCEVMC1.VME<br /> CONFIG<br /> ISO.BIN.EDAT<br /> ISO.BIN.ENC<br /> PS3LOGO.DAT<br /> PARAM.SFO<br /> ICON0.PNG<br /> PIC0.PNG<br /> PIC1.PNG<br /> PIC2.PNG<br /> &lt;/pre&gt;<br /> <br /> ==Virtual PS2 (emulated machine) usage and features==<br /> <br /> ===Video Modes===<br /> '''Note:''' Real PS2 : http://users.neoscientists.org/~blue/ps2videomodes.txt<br /> <br /> Video Modes<br /> ----.-----------.---------------.-----------.-----------.<br /> No | Name | Resolution | fV(Hz) | fH(kHz) |<br /> ----+-----------+---------------+-----------+-----------|<br /> 0 | NTSC-NI | 640x240(224) | 59.940 | 15.734 |<br /> 1 | NTSC-I | 640x480(448) | 59.820 | 15.734 |<br /> 2 | PAL-NI | 640x288(256) | 50.000 | 15.625 |<br /> 3 | PAL-I | 640x576(512) | 49.760 | 15.625 |<br /> 4 | VESA-1A | 640x480 | 59.940 | 31.469 |<br /> 5 | VESA-1C | 640x480 | 75.000 | 37.500 |<br /> 6 | VESA-2B | 800x600 | 60.317 | 37.879 |<br /> 7 | VESA-2D | 800x600 | 75.000 | 46.875 |<br /> 8 | VESA-3B | 1024x768 | 60.004 | 48.363 |<br /> 9 | VESA-3D | 1024x768 | 75.029 | 60.023 |<br /> 10 | VESA-4A | 1280x1024 | 60.020 | 63.981 |<br /> 11 | VESA-4B | 1280x1024 | 75.025 | 79.976 |<br /> 12 | DTV-480P | 720x480 | 59.940 | 31.469 |<br /> 13 | DTV-1080I | 1920x1080 | 60.000 | 33.750 |<br /> 14 | DTV-720P | 1280x720 | ?? | ?? |<br /> ----^-----------^---------------^-----------^-----------'<br /> <br /> ===Memory Mapping===<br /> == PCSX2 ==<br /> Mapping host memory for virtual systems...<br /> EE Main Memory @ 0x20000000 -&gt; 0x22884000 [40mb]<br /> IOP Main Memory (2mb) @ 0x24000000 -&gt; 0x24211000 [2mb]<br /> VU0/1 on-chip memory @ 0x28000000 -&gt; 0x2800A000 [40kb]<br /> Reserving memory for recompilers...<br /> SuperVU0 Recompiler Cache @ 0x0E800000 -&gt; 0x0F000000 [8mb]<br /> SuperVU1 Recompiler Cache @ 0x0F000000 -&gt; 0x0F800000 [8mb]<br /> Micro VU0 Recompiler Cache @ 0x3C000000 -&gt; 0x40000000 [64mb]<br /> Micro VU1 Recompiler Cache @ 0x40000000 -&gt; 0x44000000 [64mb]<br /> (thread:MTVU) Calling pthread_create...<br /> R5900-32 Recompiler Cache @ 0x30000000 -&gt; 0x34000000 [64mb]<br /> R3000A Recompiler Cache @ 0x34000000 -&gt; 0x36000000 [32mb]<br /> VIF0 Unpack Recompiler Cache @ 0x36000000 -&gt; 0x36800000 [8mb]<br /> VIF1 Unpack Recompiler Cache @ 0x38000000 -&gt; 0x38800000 [8mb]<br /> <br /> == ps2netemu == <br /> Mapping ELF @ 0x200000000<br /> <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Name !! ea !! lpar2(netemu 4.81) !! size !! flags !! lpar1(lv1 4.81)<br /> |-<br /> | text || 0x0 || 0x3D00000 || 0x300000( 3 MB) || 0x8000000000000003 0000000000000003 || 0x7D00000<br /> |- <br /> | ro_work || 0x300000 || 0x300000 || 0x500000( 5 MB) || 0x0000000000000003 0000000000000003 || 0x4300000<br /> |- <br /> | rw_work || 0x800000 || 0x800000 || 0x2A00000( 42 MB) || 0x0000000000000001 0000000000000003 || 0x4800000<br /> |- <br /> | negmem || 0x1FFF0000 || 0x3210000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000000 || 0x7210000<br /> |- <br /> | ee_ram || 0x100000000 || 0x64000E000000 || 0x2000000( 32 MB) || 0x0000000000000001 0000000000000000 || 0x3C00000 - 0x3F00000, 0x8000000 - 0x9B00000<br /> |- <br /> | ee_jit_code || 0xD00000000 || 0x680024000000 || 0x3000000( 48 MB) || 0x8000000000000001 0000000000000003 || 0xBC00000 - 0xEB00000<br /> |- <br /> | vu0_jit_code || 0xD08000000 || 0x580000800000 || 0x400000( 4 MB) || 0x8000000000000001 0000000000000003 || 0x900000 - 0xC00000<br /> |- <br /> | vu0_jit_data || 0xD0C000000 || 0x3700000 || 0x400000( 4 MB) || 0x0000000000000002 0000000000000003 || 0x7700000<br /> |- <br /> | eeram_jit_lut || 0xE00000000 || 0x640010000000 || 0x2000000( 32 MB) || 0x0000000000000001 0000000000000003 || 0x9C00000 - 0xBB00000<br /> |- <br /> | eerom_jit_lut || 0xE0FC00000 || 0x580000C00000 || 0x400000( 4 MB) || 0x0000000000000001 0000000000000003 || 0xD00000 - 0x1000000<br /> |- <br /> | ee_dbg_ram || 0x90FFF8000 || 0x64000E078000 || 0x8000( 32 KB) || 0x0000000000000001 0000000000000000 || <br /> |- <br /> | iop_ram || 0x400000000 || 0x3300000 || 0x200000( 2 MB) || 0x0000000000000001 0000000000000000 || 0x7300000<br /> |- <br /> | iop_rom || 0x50FC00000 || 0x580001000000 || 0x400000( 4 MB) || 0x0000000000000001 0000000000000002 || 0x1100000 - 0x1400000<br /> |- <br /> | iop_spad || 0x50F800000 || 0x3220000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000002 || 0x7220000<br /> |- <br /> | spu2_ram || 0x600000000 || 0x3500000 || 0x200000( 2 MB) || 0x0000000000000001 0000000000000000 || 0x7500000<br /> |- <br /> | spu2_ram2 || 0x600200000 || 0x3500000 || 0x200000( 2 MB) || 0x0000000000000001 0000000000000000 || 0x7500000<br /> |- <br /> | spu2_pcm || 0x1000000000 || 0x3230000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000000 || 0x7230000<br /> |- <br /> | ee_spr_lo || 0x700000000 || 0x3201000 || 0x2000( 8 KB) || 0x0000000000000001 0000000000000000 || 0x7201000<br /> |- <br /> | ee_spr || 0x800000000 || 0x3203000 || 0x6000( 24 KB) || 0x0000000000000001 0000000000000000 || 0x7203000<br /> |- <br /> | ee_vu0_dmem0 || 0x301004000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_vu0_dmem1 || 0x301005000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_vu0_dmem2 || 0x301006000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_vu0_dmem3 || 0x301007000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_rom || 0x30FC00000 || 0x580001000000 || 0x400000( 4 MB) || 0x0000000000000001 0000000000000001 || 0x1100000 - 0x1400000<br /> |- <br /> | vrc || 0xC00000000 || 0x600005000000 || 0x1000000( 16 MB) || 0x0000000000000001 0000000000000000 || 0x1500000 - 0x2400000<br /> |- <br /> | /dev/zero || 0x4000000000 || 0x3240000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000001 || 0x7240000<br /> |- <br /> | dma_vu0_dmem0 || 0x4001004000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | dma_vu0_dmem1 || 0x4001005000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | dma_vu0_dmem2 || 0x4001006000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | dma_vu0_dmem3 || 0x4001007000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem0 || 0x30000000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem1 || 0x30001000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem2 || 0x30002000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem3 || 0x30003000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | SGSXdr || 0x1904000000 || 0x64000C000000 || 0x1700000( 23 MB) || 0x0000000000000001 0000000000000000 || 0x2500000 - 0x3B00000<br /> |- <br /> | iopTrace || 0x1400000000 || 0x3250000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000000 || 0x7250000<br /> |}<br /> <br /> === Memory Allocation ===<br /> <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Name !! Size !! page_log2 !! lpar2(netemu 4.81) !! lpar1(lv1 4.81)<br /> |-<br /> | ra_vu0_dmem || 0x1000 (4 KB) || 12 (4 KB) || 0x3200000 || 0x7200000<br /> |- <br /> | ra_ee_spr_lo || 0x2000 (8 KB) || 12 (4 KB) || 0x3201000 || 0x7201000<br /> |- <br /> | ra_ee_sprx || 0x6000 (24 KB) || 12 (4 KB) || 0x3203000 || 0x7203000<br /> |- <br /> | ra_negmem || 0x10000 (64 KB) || 16 (64 KB) || 0x3210000 || 0x7210000<br /> |- <br /> | ra_iop_spad || 0x10000 (64 KB) || 16 (64 KB) || 0x3220000 || 0x7220000<br /> |- <br /> | ra_spu2_pcm || 0x10000 (64 KB) || 16 (64 KB) || 0x3230000 || 0x7230000<br /> |- <br /> | ra_nulls || 0x10000 (64 KB) || 16 (64 KB) || 0x3240000 || 0x7240000<br /> |- <br /> | ra_itrace || 0x10000 (64 KB) || 16 (64 KB) || 0x3250000 || 0x7250000<br /> |- <br /> | ra_iop_ram || 0x200000 (2 MB) || 20 (1 MB) || 0x3300000 || 0x7300000<br /> |- <br /> | ra_spu2_ram || 0x200000 (2 MB) || 20 (1 MB) || 0x3500000 || 0x7500000<br /> |- <br /> | ra_vu0_code || 0x400000 (4 MB) || 20 (1 MB) || 0x580000800000 || 0x900000 - 0xC00000<br /> |- <br /> | ra_vu0_data || 0x400000 (4 MB) || 20 (1 MB) || 0x3700000 || 0x7700000<br /> |- <br /> | ra_ee_rom_pc || 0x400000 (4 MB) || 20 (1 MB) || 0x580000C00000 || 0xD00000 - 0x1000000<br /> |- <br /> | ra_ps2_rom || 0x400000 (4 MB) || 20 (1 MB) || 0x580001000000 || 0x1100000 - 0x1400000<br /> |- <br /> | ra_vrc_mem || 0x1000000 (16 MB) || 20 (1 MB) || 0x600005000000 || 0x1500000 - 0x2400000<br /> |- <br /> | ra_sgs_xdr || 0x1700000 (23 MB) || 20 (1 MB) || 0x64000C000000 || 0x2500000 - 0x3B00000<br /> |- <br /> | ra_ee_ram || 0x2000000 (32 MB) || 20 (1 MB) || 0x64000E000000 || 0x3C00000 - 0x3F00000, 0x8000000 - 0x9B00000<br /> |- <br /> | ra_ee_ram_pc || 0x2000000 (32 MB) || 20 (1 MB) || 0x640010000000 || 0x9C00000 - 0xBB00000<br /> |- <br /> | ra_trans_code || 0x3000000 (48 MB) || 20 (1 MB) || 0x680024000000 || 0xBC00000 - 0xEB00000<br /> |}<br /> <br /> ===PS2 Memory and Hardware Mapped Registers Layout===<br /> ----------------------------------------------- <br /> PCSX2<br /> Mapping host memory for virtual systems...<br /> EE Main Memory @ 0x20000000 -&gt; 0x22884000 [40mb]<br /> IOP Main Memory (2mb) @ 0x24000000 -&gt; 0x24211000 [2mb]<br /> VU0/1 on-chip memory @ 0x28000000 -&gt; 0x2800A000 [40kb]<br /> Reserving memory for recompilers...<br /> SuperVU0 Recompiler Cache @ 0x0E800000 -&gt; 0x0F000000 [8mb]<br /> SuperVU1 Recompiler Cache @ 0x0F000000 -&gt; 0x0F800000 [8mb]<br /> Micro VU0 Recompiler Cache @ 0x3C000000 -&gt; 0x40000000 [64mb]<br /> Micro VU1 Recompiler Cache @ 0x40000000 -&gt; 0x44000000 [64mb]<br /> (thread:MTVU) Calling pthread_create...<br /> R5900-32 Recompiler Cache @ 0x30000000 -&gt; 0x34000000 [64mb]<br /> R3000A Recompiler Cache @ 0x34000000 -&gt; 0x36000000 [32mb]<br /> VIF0 Unpack Recompiler Cache @ 0x36000000 -&gt; 0x36800000 [8mb]<br /> VIF1 Unpack Recompiler Cache @ 0x38000000 -&gt; 0x38800000 [8mb]<br /> <br /> R5900 RAM copy @ 0x11C20000 -&gt; 0x13C20000 [32mb]<br /> R5900 RAM LUT @ 0x13C20000 -&gt; 0x16060000 [36mb]<br /> <br /> RAM Sizes - Overview<br /> --------------------<br /> EE - 32 MB<br /> GS - 4 MB<br /> IOP - 2 MB<br /> SPU - 2 MB <br /> <br /> Logical Address Range Physical Address Range Description Size<br /> --------------------- ---------------------- ----------- -----<br /> 0x80000000-0x800FFFFF 0x00000000-0x000FFFFF EE Kernel 1 MB<br /> 0x00100000-0x01FFFFFF 0x00100000-0x01FFFFFF EE RAM (Cached) 31 MB<br /> 0x20100000-0x21FFFFFF 0x00100000-0x01FFFFFF EE RAM (Uncached) 31 MB<br /> 0x30100000-0x31FFFFFF 0x00100000-0x01FFFFFF EE RAM (Uncached&amp;accelerated) 31 MB<br /> 0x10000000-0x11FFFFFF 0x10000000-0x11FFFFFF EE Registers (uncached) 32 MB<br /> 0x12000000-0x13FFFFFF 0x12000000-0x13FFFFFF GS Registers (uncached) 32 MB<br /> 0x1FC00000-0x1FFFFFFF 0x1FC00000-0x1FFFFFFF? Boot ROM0 (uncached) 4 MB<br /> 0x9FC00000-0x9FFFFFFF 0x1FC00000-0x1FFFFFFF? Boot ROM09 (cached) 4 MB<br /> 0xBFC00000-0xBFFFFFFF 0x1FC00000-0x1FFFFFFF? Boot ROM0b (uncached) 4 MB<br /> 0xBE000000-0xBE040000 0x1E000000-0x1E03FFFF? Boot ROM1 256 KB<br /> 0xBE400000-0xBE440000 0x1E400000-0x1E43FFFF? Boot ROM2 256 KB<br /> 0xBC000000-0xBC1FFFFF 0x1C000000-0x1C1FFFFF? IOP RAM 2 MB<br /> 0x70000000-0x70003FFF ---------------------- Scratch Pad 16 KB <br /> <br /> Kernel empty and unused areas (NB: On non-modded consoles)<br /> ----------------------------------------------------------<br /> Area Logical Address Range Physical Address Range Size<br /> ---- --------------------- ---------------------- ----<br /> #1 0x80030000-0x80074FFF 0x00030000-0x00074FFF 282624 Bytes<br /> #2 0x80078250-0x8007FFFF 0x00078250-0x0007FFFF 32176 Bytes<br /> <br /> RAM Mirror Modes Logical Address Range Physical Address Range Size<br /> ---------------- --------------------- ---------------------- ----<br /> Cached 0x00100000-0x01FFFFFF 0x00100000-0x01FFFFFF 31 MB<br /> Uncached 0x20100000-0x21FFFFFF 0x00100000-0x01FFFFFF 31 MB<br /> Uncached&amp;accelerated 0x30100000-0x31FFFFFF 0x00100000-0x01FFFFFF 31 MB<br /> <br /> Operating Modes Logical Address Range Physical Address Range Size<br /> --------------- --------------------- ---------------------- ----<br /> USEG 0x00000000-0x01FFFFFF 0x00000000-0x01FFFFFF 32 MB<br /> KSEG0 0x80000000-0x81FFFFFF 0x00000000-0x01FFFFFF 32 MB<br /> KSEG1 0xA0000000-0xA1FFFFFF 0x00000000-0x01FFFFFF 32 MB<br /> <br /> Hardware Mapped Registers <br /> ------------------------- <br /> <br /> COUNTERS' REGISTERS<br /> -------------------<br /> 10000000 T0_COUNT Timer Count<br /> 10000010 T0_MODE Timer Mode<br /> 10000020 T0_COMP Timer Compare value<br /> 10000030 T0_HOLD Timer Pause <br /> <br /> 10000800 T1_COUNT Timer Count<br /> 10000810 T1_MODE Timer Mode<br /> 10000820 T1_COMP Timer Compare value<br /> 10000830 T1_HOLD Timer Pause <br /> <br /> 10001000 T2_COUNT Timer Count<br /> 10001010 T2_MODE Timer Mode<br /> 10001020 T2_COMP Timer Compare value<br /> <br /> 10001810 T3_COUNT Timer Count<br /> 10001820 T3_MODE Timer Mode<br /> 10001830 T3_COMP Timer Compare value<br /> <br /> IPU REGISTERS (MPEG2 DECODER)<br /> -----------------------------<br /> 10002000 IPU_CMD<br /> 10002010 IPU_CTRL<br /> 10002020 IPU_BP<br /> 10002030 IPU_TOP<br /> <br /> GIF REGISTERS<br /> -------------<br /> 10003000 GIF_CTRL<br /> 10003010 GIF_MODE<br /> 10003020 GIF_STAT<br /> 10003040 GIF_TAG0<br /> 10003050 GIF_TAG1<br /> 10003060 GIF_TAG2<br /> 10003070 GIF_TAG3<br /> 10003080 GIF_CNT<br /> 10003090 GIF_P3CNT<br /> 100030a0 GIF_P3TAG <br /> <br /> VIF0 REGISTERS<br /> -------------- <br /> 10003800 VIF0_STAT VIF0 Status<br /> 10003810 VIF0_FBRST<br /> 10003820 VIF0_ERR<br /> 10003830 VIF0_MARK<br /> 10003840 VIF0_CYCLE<br /> 10003850 VIF0_MODE <br /> 10003860 VIF0_NUM<br /> 10003870 VIF0_MASK<br /> 10003880 VIF0_CODE<br /> 10003890 VIF0_ITOPS<br /> 100038d0 VIF0_ITOP<br /> 10003900 VIF0_R0<br /> 10003910 VIF0_R1<br /> 10003920 VIF0_R2<br /> 10003930 VIF0_R3<br /> 10003940 VIF0_C0<br /> 10003950 VIF0_C1<br /> 10003960 VIF0_C2<br /> 10003970 VIF0_C3 <br /> <br /> VIF1 REGISTERS<br /> --------------<br /> 10003c00 VIF1_STAT<br /> 10003c10 VIF1_FBRST<br /> 10003c20 VIF1_ERR<br /> 10003c30 VIF1_MARK<br /> 10003c40 VIF1_CYCLE<br /> 10003c50 VIF1_MODE<br /> 10003c60 VIF1_NUM<br /> 10003c70 VIF1_MASK<br /> 10003c80 VIF1_CODE<br /> 10003c90 VIF1_ITOPS<br /> 10003ca0 VIF1_BASE<br /> 10003cb0 VIF1_OFST<br /> 10003cc0 VIF1_TOPS<br /> 10003cd0 VIF1_ITOP<br /> 10003ce0 VIF1_TOP<br /> 10003d00 VIF1_R0<br /> 10003d10 VIF1_R1<br /> 10003d20 VIF1_R2<br /> 10003d30 VIF1_R3<br /> 10003d40 VIF1_C0<br /> 10003d50 VIF1_C1<br /> 10003d60 VIF1_C2<br /> 10003d70 VIF1_C3<br /> <br /> FIFO<br /> ----<br /> 10004000 VIF0_FIFO(write)<br /> 10005000 VIF1_FIFO(read/write) <br /> <br /> 10006000 GIF_FIFO0<br /> 10006010 GIF_FIFO1<br /> 10006020 GIF_FIFO2 <br /> <br /> 10007000 IPU_out_FIFO(read)<br /> 10007010 IPU_in_FIFO(write)<br /> <br /> DMA CH0 REGISTERS (Linked to VIF0)<br /> ----------------------------------<br /> 10008000 D0_CHCR DMA-0 Channel Control<br /> 10008010 D0_MADR Memory Address<br /> 10008020 D0_SIZE Transfer Size (they call it D0_QWC)<br /> 10008030 D0_TAG DMA Tag (they call it D0_TADR)<br /> 10008040 D0_??LO they call it D0_ASR0<br /> 10008050 D0_??HI they call it D0_ASR1 <br /> <br /> DMA CH1 REGISTERS (Linked to VIF1)<br /> ----------------------------------<br /> 10009000 D1_CHCR DMA-1 Channel Control<br /> 10009010 D1_MADR Memory Address<br /> 10009020 D1_SIZE Transfer Size (they call it D1_QWC)<br /> 10009030 D1_TAG DMA Tag (they call it D1_TADR)<br /> 10009040 D1_??LO they call it D1_ASR0<br /> 10009050 D1_??HI they call it D1_ASR1 <br /> <br /> DMA CH2 REGISTERS (Linked to GIF)<br /> ---------------------------------<br /> 1000A000 D2_CHCR DMA-2 Channel Control<br /> 1000A010 D2_MADR Memory Address<br /> 1000A020 D2_SIZE Transfer Size (they call it D2_QWC)<br /> 1000A030 D2_TAG DMA Tag (they call it D2_TADR)<br /> 1000A040 D2_??LO they call it D2_ASR0<br /> 1000A050 D2_??HI they call it D2_ASR1<br /> 1000A080 D2_SADR<br /> <br /> DMA CH3 REGISTERS (Linked to IPU (FROM???))<br /> --------------------------------------------<br /> 1000B000 D3_CHCR DMA-3 Channel Control<br /> 1000B010 D3_MADR Memory Address<br /> 1000B020 D3_QWC Transfer Size<br /> <br /> DMA CH4 REGISTERS (Linked to IPU (TO???))<br /> -----------------------------------------<br /> 1000B400 D4_CHCR DMA-4 Channel Control<br /> 1000B410 D4_MADR Memory Address<br /> 1000B420 D4_QWC Transfer Size<br /> 1000B430 D4_TADR DMA Tag<br /> <br /> DMA CH5 REGISTERS (Linked to SIF0)<br /> ----------------------------------<br /> 1000C000 D5_CHCR DMA-4 Channel Control<br /> 1000C010 D5_MADR Memory Address<br /> 1000C020 D5_QWC Transfer Size <br /> <br /> DMA CH6 REGISTERS (Linked to SIF1)<br /> ----------------------------------<br /> 1000C400 D6_CHCR DMA-6 Channel Control<br /> 1000C410 D6_MADR Memory Address<br /> 1000C420 D6_QWC Transfer Size<br /> 1000C430 D6_TADR DMA Tag <br /> <br /> DMA CH7 REGISTERS (Linked to SIF2)<br /> ----------------------------------<br /> 1000C800 D7_CHCR DMA-7 Channel Control<br /> 1000C810 D7_MADR Memory Address<br /> 1000C820 D7_QWC Transfer Size<br /> <br /> DMA CH8 REGISTERS (Linked to SPR (form SCRATCH PAD to RAM???)<br /> --------------------------------------------------------------<br /> 1000D000 D8_CHCR DMA-8 Channel Control<br /> 1000D010 D8_MADR Memory Address<br /> 1000D020 D8_QWC Transfer Size<br /> 1000D080 D8_MCR ???<br /> <br /> DMA CH9 REGISTERS (Linked to SPR (form RAM to SCRATCH PAD???)<br /> --------------------------------------------------------------<br /> 1000D400 D9_CHCR DMA-9 Channel Control<br /> 1000D410 D9_MADR Memory Address<br /> 1000D420 D9_QWC Transfer Size<br /> 1000D430 D9_TADR DMA Tag<br /> 1000D480 D9_MCR? ??? <br /> <br /> DMA CONTROL REGISTERS<br /> ---------------------<br /> 1000E000 D_CTRL DMA Control<br /> 1000E010 D_STAT DMA Status<br /> 1000E020 D_PCR <br /> 1000E030 D_SQWC<br /> 1000E040 D_RBSR<br /> 1000E050 D_RBOR<br /> 1000E060 D_STADR<br /> <br /> 1000F000 INTC_STAT<br /> 1000F010 INTC_MASK<br /> <br /> 1000F100<br /> 1000F120<br /> 1000F130 STD-OUT STATUS???<br /> 1000F140<br /> 1000F150<br /> 1000F180 STD-OUT DATA???<br /> <br /> 1000F230 SBUS_SMFLG<br /> <br /> 1000F410<br /> 1000F430<br /> 1000F440<br /> 1000F480<br /> 1000F490<br /> 1000F500 <br /> <br /> 1000f520 D_ENABLEW<br /> 1000f590 D_ENABLER<br /> <br /> <br /> VU MAPPED MEMORY REGISTERS<br /> --------------------------<br /> 11000000 VU0 PROGRAM MEMORY Program Memory (4K ROM)<br /> 11001000 VU0 MEMORY Memory (4K ROM)<br /> 11008000 VU1 PROGAM MEMORY VU1 Program Memory (16K ROM)<br /> 1100C000 VU1 MEMORY VU1 Memory (16K ROM)<br /> <br /> GS<br /> --<br /> 12000000 GS_PMODE<br /> 12000010 GS_SMODE1<br /> 12000020 GS_SMODE2<br /> 12000030 GS_SRFSH<br /> 12000040 GS_SYNCH1<br /> 12000050 GS_SYNCH2<br /> 12000060 GS_SYNCV<br /> 12000070 GS_DISPFB1<br /> 12000080 GS_DISPLAY1<br /> 12000090 GS_DISPFB2<br /> 120000a0 GS_DISPLAY2<br /> 120000b0 GS_EXTBUF<br /> 120000c0 GS_EXTDATA<br /> 120000d0 GS_EXTWRITE<br /> 120000e0 GS_BGCOLOR<br /> 12001000 GS_CSR<br /> 12001010 GS_IMR<br /> 12001040 GS_BUSDIR<br /> 12001080 GS_SIGLBLID<br /> <br /> Scratch Pad RAM Address Range<br /> -----------------------------<br /> 0x70000000-0x70003FFF<br /> <br /> ROM BIOS Mirror Address Range Logical Address Range Physical Address Range<br /> ----------------------------- --------------------- ----------------------<br /> Uncached 0x1FC00000-0x1FFFFFFF 0x1FC00000-0x1FFFFFFF<br /> Cached 0x9FC00000-0x9FFFFFFF 0x1FC00000-0x1FFFFFFF<br /> Uncached 0xBFC00000-0xBFFFFFFF 0x1FC00000-0x1FFFFFFF <br /> <br /> Some Acronyms<br /> --------<br /> EE - Emotion Engine (main CPU)<br /> GS - Graphics Synthesizer<br /> IOP - Input/Output Processor<br /> SPU - Sound Processor Unit<br /> USEG - User Mode Segment<br /> KSEG0 - Kernel Mode, Segment 0<br /> KSEG1 - Kernel Mode, Segment 1 <br /> <br /> Sources<br /> -------<br /> TX System RISC TX79 Core Architecture (Symmetric 2-way superscalar 64-bit CPU) Rev. 2.0<br /> (http://lukasz.dk/files/tx79architecture.pdf)<br /> PS2 MEMORY &amp; HARDWARE MAPPED REGISTERS LAYOUT, by Minmei (https://web.archive.org/web/20080722165353/http://ps2dev.org/ps2/Technical_Documentation/Other/PS2_Memory_and_Hardware_Mapped_Registers_Layout.download) <br /> Kernel empty and unused areas, by GTLCPIMP (https://artemis.bountysource.com/task/show/2270)<br /> dump2mass, by misfire (https://artemis.bountysource.com/solution/show/1074)<br /> ... and others ones spreaded out on the World Wide Web which I can't remember<br /> <br /> ===Controller===<br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! ID !! Controller #Number !! Note<br /> |-<br /> | 1 (1-A) || 1 ||<br /> |-<br /> | 2 (2-A) || 2 ||<br /> |-<br /> | 3 (1-B) || 3 ||<br /> |-<br /> | 4 (2-B) || 4 ||<br /> |-<br /> | 5 (1-C) || 5 || Gamepad LED #1 + #4<br /> |-<br /> | 6 (2-C) || 6 || Gamepad LED #2 + #4<br /> |-<br /> | 7 (1-D) || 7 || Gamepad LED #3 + #4<br /> |-<br /> |}<br /> <br /> ===Peripheral support===<br /> ====ps2_emu.self / ps2_gxemu.self====<br /> #Hub<br /> #Mouse<br /> #Keyboard<br /> #EyeToy<br /> #Head Mount Display<br /> #Mic<br /> #Ascii Mic<br /> #Socom USB Headset<br /> #Usb Headset<br /> #Sea Mic Controller<br /> #Force Feedback device<br /> #GT Force<br /> #Momo Force<br /> #Driving Force Pro<br /> #G25/G27<br /> #Momo Racing<br /> #Flight Force<br /> #Force 3D Pro<br /> #Modem<br /> #Guncon2<br /> #Densya de GO! controller type 2<br /> #Densya de GO! Sincansen senyou controller<br /> #Capture Eye<br /> #Flight Stick<br /> #Flight Stick 2<br /> #Pop Egg<br /> #Trance Vibrator<br /> #PSP<br /> #Compact Flight Controller<br /> #Flash Memory<br /> #Buzz!<br /> #Pachi-Slot Controller Kurouto<br /> #Usb Adapter<br /> #Guncon3<br /> #Multi Train Controller<br /> <br /> ====ps2_netemu.self====<br /> #BD Remote Control<br /> #PLAYSTATION(R)3 Controller (Vendor ID 0x54C, Product ID 0x268), <br /> #Motion Controller - Move (Vendor ID 0x54C, Product ID 0x3D5), <br /> #Navigation Controller (Vendor ID 0x54C, Product ID 0x42F)<br /> #&quot;guncon3&quot;<br /> &lt;br/&gt;<br /> Unknown: <br /> #Vendor ID 0xF0D (Hori), Product ID 0x4A <br /> #Vendor ID 0x54C (Sony), Product ID 0x5AF<br /> <br /> ===BIOS===<br /> ====ps2_netemu.self====<br /> Ps2_netemu use integrated PS2 bios included in ps2netemu.elf, not additional file like in ps1emu case. In 4.81 firmware BIOS is located from 0x820A00 to 0x9F09FF (0x820900 to 0x9F08FF in fw4.50). Bios version seems to be Developement v2.20 from Japan region (22/01/2007), but it's of course not limited to booting only NTSC-J games.<br /> <br /> Notable thing is that ps2_netemu run fine with ps2_gxemu bios, but fail to boot using ps2_emu bios. <br /> <br /> {| class=&quot;wikitable&quot; style=&quot;font-size:small;&quot;<br /> |-<br /> ! File !! Offset in fw4.81 ps2_netemu !! Offset in exported bin !! Description !! File type (exportable)<br /> |-<br /> | RESET || 0x820A00 || 0x00 || Bootstrap code for the EE and IOP. || BIN<br /> |-<br /> | ROMDIR || 0x823180 || 0x2780 || The ROMDIR part of the ROM image, which provides information on the location and name of files contained in the image. || BIN<br /> |-<br /> | EXTINFO || 0x8236C0 || 0x2CC0 || Contains the &quot;EXTINFO&quot; for all files in the ROM image. || BIN<br /> |-<br /> | SBIN || 0x823D30 || 0x3330 || Seems to be the pad controller library for the PS1 monitor. || BIN<br /> |-<br /> | LOGO || 0x82ACD0 || 0xA2D0 || PS1 logo? || BIN<br /> |-<br /> | IOPBTCONF || 0x83F420 || 0x1EA20 || Boot configuration file for the IOP, during the final phase of the IOP reset. If no UDNL module is specified, the IOP will only have a single IOP reset in the reboot process, with the modules listed in IOPBTCONF. || BIN<br /> |-<br /> | IOPBTCON2 || 0x83F510 || 0x1EB10 || Boot configuration file for the IOP, for the first phase of the IOP reset (before UDNL is loaded). || BIN<br /> |-<br /> | SYSMEM || 0x83F5E0 || 0x1EBE0 || System Memory Manager. || ELF<br /> |-<br /> | LOADCORE || 0x840800 || 0x1FE00 || The core of IOP module loading. Provides the lowest level of IOP module loading functions. Also handles the startup of the IOP. || ELF<br /> |-<br /> | EXCEPMAN || 0x842D80 || 0x22380 || Exception manager. || ELF<br /> |-<br /> | INTRMANP || 0x843960 || 0x22F60 || Interrupt Manager. According to wisi, it is for PS mode. || ELF<br /> |-<br /> | INTRMANI || 0x845370 || 0x24970 || Interrupt Manager. According to wisi, it is for IOP mode. || ELF<br /> |-<br /> | SSBUSC || 0x8471B0 || 0x267B0 || SSBUS Controller library. The SSBUS seems to be the bus that all peripherals get connected to. It seems to have the power to control the mapping of the device registers, as well as access timing. || ELF<br /> |-<br /> | TIMEMANP || 0x847920 || 0x26F20 || Timer Manager (PS mode) || ELF<br /> |-<br /> | TIMEMANI || 0x848500 || 0x27B00 || Timer Manager (IOP mode) || ELF<br /> |-<br /> | DMACMAN || 0x849130 || 0x28730 || DMA Controller Manager. || ELF<br /> |-<br /> | SYSCLIB || 0x84C830 || 0x2BE30 || System C Library. || ELF<br /> |-<br /> | HEAPLIB || 0x84EF90 || 0x2E590 || Memory HEAP LIBrary (i.e. thvpool, thfpool) || ELF<br /> |-<br /> | THREADLIB || 0x84FC90 || 0x2F290 || Multi_Thread_Manager || ELF<br /> |-<br /> | VBLANK || 0x858A20 || 0x38020 || V-Blank management || ELF<br /> |-<br /> | IOMAN || 0x8597B0 || 0x38DB0 || IO Manager || ELF<br /> |-<br /> | MODLOAD || 0x85B720 || 0x3AD20 || IOP module loader. || ELF<br /> |-<br /> | ROMDRV || 0x85DA70 || 0x3D070 || ROM driver. Provides access to the boot ROM (rom0). || ELF<br /> |-<br /> | ADDDRV || 0x85E960 || 0x3DF60 || Adds support for the DVD ROM (rom1:), via ROMDRV. || ELF<br /> |-<br /> | STDIO || 0x85DDC0 || 0x3D3C0 || Standard I/O library. || ELF<br /> |-<br /> | SIFMAN || 0x85F9B0 || 0x3EFB0 || SIF manager. || ELF<br /> |-<br /> | SIFINIT || 0x860F50 || 0x40550 || Initializes the SIF. || ELF<br /> |-<br /> | EESYNC || 0x861370 || 0x40970 || For synchronizing with the EE, at the end of IOP resets. EESYNC from DNAS images are evil; they also perform a memory wipe of the region from 0x00084000 to .0x00100000. || ELF<br /> |-<br /> | EENULL || 0x861810 || 0x40E10 || The idle thread (id #0) module, in ps2 loaded to 0x00081FC0. || BIN<br /> |-<br /> | PS1ID || 0x861850 || 0x40E50 || Only found in newer boot ROMs || BIN<br /> |-<br /> | LIBFI || 0x861860 || 0x40E60 || Not present in the boot ROM of the SCPH-10000 and SCPH-15000. || BIN<br /> |-<br /> | PS1VERJ || 0x861950 || 0x40F50 || || BIN<br /> |-<br /> | PS1VERA || 0x861960 || 0x40F60 || || BIN<br /> |-<br /> | PS1VERE || 0x861970 || 0x40F70 || || BIN<br /> |-<br /> | PS1VERC || 0x861980 || 0x40F80 || || BIN<br /> |-<br /> | PS1VERH || 0x861990 || 0x40F90 || || BIN<br /> |-<br /> | OSDSYS || 0x8619A0 || 0x40FA0 || The browser || BIN<br /> |-<br /> | - || 0x8619B0 || 0x40FB0 || || BIN<br /> |-<br /> | RDRAM || 0x861A00 || 0x41000 || Provides a RDRAM test for the EE at power-on. This is run from RESET. || BIN<br /> |-<br /> | EELOADCNF || 0x864750 || 0x43D50 || Contains the IOP boot configuration file for EELOAD. || BIN<br /> |-<br /> | SIFCMD || 0x864900 || 0x43F00 || SIF command module. Contains the SIF command and SIF RPC functions. || ELF<br /> |-<br /> | REBOOT || 0x866B40 || 0x46140 || The reboot service. Receives IOP reset packets from the EE, from across the SIF. || ELF<br /> |-<br /> | LOADFILE || 0x867310 || 0x46910 || The RPC server for MODLOAD || ELF<br /> |-<br /> | EECONF || 0x869A70 || 0x49070 || Loads part of the system configuration from the MECHACON EEPROM. Also configures and resets some peripherals, depending on the model version. In slimlines, and possibly on PS3 EECONF will also load the MAC address. || ELF<br /> |-<br /> | - || 0x86A9F0 || 0x49FF0 || || BIN<br /> |-<br /> | IOPBOOT || 0x86AA00 || 0x4A000 || IOP bootup program || BIN<br /> |-<br /> | - || 0x86BB60 || 0x4B160 || || BIN<br /> |-<br /> | TBIN || 0x86C200 || 0x4B800 || The PS1 monitor program. Seems to be the PS1 BIOS. This is started by RESET, when the IOP is in PS1 mode. || BIN<br /> |-<br /> | XSHA1 || 0x87A170 || 0x59770 || sha1 - this only present in PS3. It is used as additional antipiracy check. It seems that it calculate disc main elf checksum and compares it with some database. Config related?|| ELF<br /> |-<br /> | XLOADFILE || 0x87B140 || 0x5A740 || Updated module || ELF<br /> |-<br /> | SIO2MAN || 0x87E1F0 || 0x5D7F0 || SIO2 manager. Provides access to the SIO2 interface. || ELF<br /> |-<br /> | - || 0x87FE20 || 0x5F420 || || BIN<br /> |-<br /> | MCSERV || 0x881D40 || 0x61340 || RPC server for MCMAN. || ELF<br /> |-<br /> | - || 0x883A40 || 0x63040 || || BIN<br /> |-<br /> | KROMG || 0x884A00 || 0x64000 || || BIN<br /> |-<br /> | - || 0x8866C0 || 0x65CC0 || || BIN<br /> |-<br /> | KROM || 0x886A00 || 0x66000 || Kanji ROM? Not sure where this is used. || BIN<br /> |-<br /> | - || 0x8A0870 || 0x7FE70 || || BIN<br /> |-<br /> | ROMVER || 0x8A0900 || 0x7FF00 || ROM version. || BIN<br /> |-<br /> | - || 0x8A0910 || 0x7FF10 || || BIN<br /> |-<br /> | VERSTR || 0x8A0930 || 0x7FF30 || Version string. Probably PS1 ROM will use this because that this string is also present in PlayStation consoles. || BIN<br /> |-<br /> | - || 0x8A0990 || 0x7FF90 || || BIN<br /> |-<br /> | ROMGSCRT || 0x8A0A00 || 0x80000 || || BIN<br /> |-<br /> | NCDVDMAN || 0x8A3730 || 0x82D30 || It seems to be a heavily stripped-down CDVDMAN module, with no support for some S-command functions like sceCdRI. || ELF<br /> |-<br /> | SECRMAN || 0x8B0170 || 0x8F770 || Security Manager. Signing is NOT done with the one in ROM, but with a special version that comes with the utility discs. Looks like PS3 units have a different SECRMAN module from retail sets, similar to PS2 TOOL one. || ELF<br /> |-<br /> | MCMAN || 0x8B4630 || 0x93C30 || Memory Card Manager. || ELF<br /> |-<br /> | PADMAN || 0x8C3AC0 || 0xA30C0 || Pad manager. || ELF<br /> |-<br /> | CDVDMAN || 0x8CD210 || 0xAC810 || The CD/DVD manager. || ELF<br /> |-<br /> | CDVDFSV || 0x8D55C0 || 0xB4BC0 || The RPC server for CDVDMAN. || ELF<br /> |-<br /> | FILEIO || 0x8DD980 || 0xBCF80 || RPC server for IOMAN. Sony has greatly changed the semantics and design of FILEIO after some point. Connecting an old FILEIO EE RPC client to a newer server will result in a severe IOP crash. || ELF<br /> |-<br /> | CLEARSPU || 0x8DFA80 || 0xBF080 || Seems to clear/reset the SPU, but is known to cause crashes under some conditions. Not sure if it's buggy or not. Only used by the OSDSYS of the SCPH-10000 and SCPH-15000, probably retained for backward-compatibility. || ELF<br /> |-<br /> | UDNL || 0x8E16C0 || 0xC0CC0 || It is responsible for selecting the modules and starting the IOP, during the final phase of the IOP reset where the desired modules are to be loaded into the IOP. || ELF<br /> |-<br /> | IGREETING || 0x8E35C0 || 0xC2BC0 || Displays boot information (i.e. IOP boot type, EBOOTP, IBOOTP, switch positions for DSW602 and the type of DSW602 board installed || ELF<br /> |-<br /> | EELOAD || 0x8E4620 || 0xC3C20 || The EE ELF loader, which is loaded by LoadExecPS2() to 0x00082000 in PS2 for loading ELFs. || BIN<br /> |-<br /> | XCDVDMAN || 0x8F37A0 || 0xD2DA0 || cdvd_driver - Updated module || ELF<br /> |-<br /> | XCDVDFSV || 0x902530 || 0xE1B30 || cdvd_ee_driver - Updated module || ELF<br /> |-<br /> | OSDSND || 0x910960 || 0xEFF60 || OSD sound library. This is actually the tentative sound driver, which is called &quot;librspu2&quot; in the Sony SDK. || ELF<br /> |-<br /> | PS2LOGO || 0x93B5B0 || 0x11ABB0 || Displays the PlayStation 2 logo from the inserted disc. For newer consoles, if the logo cannot be decrypted properly, it will fall back to the browser. Not actually required to boot games, but the Sony OSDSYS boots PS2 games through this program. || ELF<br /> |-<br /> | XPARAM2 || 0x957F00 || 0x137500 || Store IOP emulation settings/flags || ELF<br /> |-<br /> | OSDSYS || 0x95A400 || 0x139A00 || The browser || BIN<br /> |-<br /> | PIOPRP || 0x998280 || 0x177880 || Present in the PS3 ps2_(gx/soft/net)emu; contains version 3.1.0 of the IOP software (compared to version 1.3.4 on the root). || BIN<br /> |-<br /> | KERNEL || 0x9DC1E0 || 0x1BB7E0 || The EE kernel || BIN<br /> |}<br /> Description source: https://gist.github.com/uyjulian/25291080f083987d3f3c134f593483c5<br /> <br /> ==Virtual PS2 HDD==<br /> There are 2 different &quot;PS2 game&quot; contents that can be installed in PS3 HDD (CATEGORY's [[PARAM.SFO#CATEGORY_For_HDD_contents | 2P and 2G ]]).<br /> '''2P''' are games released from PSN as &quot;PS2 Classic&quot; in .PKG format, and '''2G''' are a few real &quot;PS2 DVD discs&quot; that can be installed in the PS3 HDD, this installation is managed by the '''PS2_system_data.pkg'''.<br /> <br /> This games can be installed in real PS2 (in the internall HDD of a PS2 fat)... later this same installation was used in the [http://en.wikipedia.org/wiki/PSX_(DVR) PSX]... and when implemented in PS3 there was needed to use a '''virtual PS2 HDD''' image file keeping the same format than the original HDD used in PS2.<br /> <br /> Game files (extracted from the real PS2 disc) are installed in a '''IMAGE.DAT''' file, this file is a 1:1 &quot;raw copy&quot; of a PS2 HDD.<br /> <br /> This '''IMAGE.DAT''' is placed in the &quot;install folder&quot; (inside USRDIR folder) and his size can vary up to 10+GB<br /> <br /> There are 2 different installations: the most common is used to store &quot;game expansions&quot; (e.g: used by additional content in SOCOM games)... the other type of installation is a &quot;full install&quot; and it seems the only game that uses it is &quot;Final Fantasy XI&quot; (main game installation when the game boots for first time + game expansions added later when needed in the same '''IMAGE.DAT''')<br /> <br /> '''PS2_system_data.pkg''' itself uses an '''IMAGE.DAT''' file (6.43 MB)<br /> <br /> The structure of this &quot;virtual PS2 HDD&quot; uses an &quot;APA header&quot; and a &quot;APA MBR&quot; + several &quot;APA partitions&quot;, some of them containing &quot;PFS filesystems&quot;.<br /> <br /> Error message trying to boot a CATEGORY &quot;2G&quot; game with hand-made SFO's and invalid IMAGE.DAT file:<br /> '''The game partition for this game cannot be created because the installed game is corrupted.'''<br /> '''To perform this operation, delete the game, and then reinstall the game using the disc.'''<br /> <br /> *Notes<br /> **List of PS2 disc games compatibles with PS3 HDD installation hardcoded in '''dev_flash/vsh/module/[[game_ext_plugin]].sprx'''<br /> **Virtuall PS2 HDD support module '''dev_flash/vsh/module/[[libps2hdd]].sprx''' ?<br /> <br /> ===PS2 System Data (PSN HDD Tool package)===<br /> A direct link to the package can be found in NoPayStation database in DLCs<br /> <br /> Content ID: IP9100-NPIA00001_00-PS2HDDSYSDAT0001<br /> QA Digest: 2A876715D42678BB7A6E00C030C0121B<br /> HASH: E1B0DBE46FC44190DC7A140681D8B9D4<br /> <br /> http://manuals.playstation.net/document/en/ps3/current/game/hddinstall.html<br /> <br /> '''Titles supporting HDD installation'''<br /> * Nobunaga's Ambition Online and Expansion Packs<br /> * Final Fantasy XI (disc1=SCUS97266 disc2=SCUS97269)and Expansion Discs<br /> * SOCOM II: U.S. NAVY SEALs and Related discs included with OPM Issue 87, OPM Issue 88, OPM Issue 89, OPM Issue 90<br /> * SOCOM 3: U.S. NAVY SEALs<br /> * SOCOM: U.S. NAVY SEALs Combined Assault<br /> * Front Mission Online<br /> * Official PlayStation Magazine Issue 87, 88, 89, 90 Discs<br /> ([[Talk:Emulation#PS2_HDD | non-official ps2hdd gameslist ]])<br /> <br /> ===TitleID/DiscID in game_ext_plugin.sprx===<br /> <br /> Mainly Final Fantasy 11, Nobunaga Ambition Online, Socom IDs and the required HDD Gigabyte amount for install onto the internal hdd.<br /> <br /> Speculation: flags are AND' with 0,1,2 (selected from sys_sm_get_hw_config according to ps2emu hardware flags? 0 = no hw?, 1 = gxemu?, 2=full hw? )<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> ! flags !! DiscID !! Alternative? DiscID !! GigaByte !! Title !! 0 = VMC&lt;br&gt;1 = IMAGE.DAT !! Internal Name? !! GigaByte<br /> |-<br /> |0xFFFF || &quot;SLPS20200&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM65705&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM65706&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM65953&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM66393&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM66394&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM66893&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM66894&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM55229&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0x0001 || &quot;SLPM65197&quot; || &quot;SLPM65197&quot; || 0x07 || &quot;信長の野望 Online&quot; || 1 || &quot;PP.SLPM-65197.MAGIC.APPLICATION&quot; || 0x07<br /> |-<br /> |0x0001 || &quot;SLPM65783&quot; || &quot;SLPM65197&quot; || 0x07 || &quot;信長の野望 Online&quot; || 1 || &quot;PP.SLPM-65197.MAGIC.APPLICATION&quot; || 0x07<br /> |-<br /> |0x0001 || &quot;SLPM66539&quot; || &quot;SLPM65197&quot; || 0x07 || &quot;信長の野望 Online&quot; || 1 || &quot;PP.SLPM-65197.MAGIC.APPLICATION&quot; || 0x07<br /> |-<br /> |0x0001 || &quot;SLPM66954&quot; || &quot;SLPM65197&quot; || 0x07 || &quot;信長の野望 Online&quot; || 1 || &quot;PP.SLPM-65197.MAGIC.APPLICATION&quot; || 0x07<br /> |-<br /> |0xFFFF || &quot;SCUS97269&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLUS21070&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLUS21404&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLUS21694&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLUS21704&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SCUS97275&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97474&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97340&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97341&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97342&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97442&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97545&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |}<br /> <br /> In PS2 Emulator same Title IDs are present with following information: <br /> SLPS25200 FINAL FANTASY XI : 0x100000000 (4 GB?)<br /> SCUS97269 FINAL FANTASY XI : 0x300000000 (12GB?)<br /> SLPM65981 Front Mission Online : 0x100000000 (4 GB?)<br /> SLPM65197 Nobunagas Ambition Online : 0x200000000 (8 GB?)<br /> <br /> ==Emulators management from GameOS==<br /> <br /> ===Mountpoints===<br /> dev_ps2disc<br /> dev_ps2disc1 <br /> <br /> ===ps2_netemu syscalls ===<br /> <br /> 0x0 - 0 = exec smth, <br /> 1 = 0x132 panic, <br /> 2 = 0x133 panic, <br /> 3 = 0x134 panic,<br /> 4 = 0x135 panic, <br /> else = 0x136 panic)<br /> 0xC - exec smth<br /> 0x5 - exec smth<br /> 0x6 - exec smth<br /> 0x10 - panic<br /> <br /> Basically are [[HV_Syscalls#HV_Syscalls|hvsc syscalls]] (xoris r11, r11, 0x8000)<br /> <br /> 0x80000000 - [[HV_Syscall_Reference#lv1_allocate_memory]]<br /> 0x80000001 - [[HV_Syscall_Reference#lv1_write_htab_entry]]<br /> 0x80000002 - [[HV_Syscall_Reference#lv1_construct_virtual_address_space]]<br /> 0x80000007 - [[HV_Syscall_Reference#lv1_select_virtual_address_space]]<br /> 0x80000009 - [[HV_Syscall_Reference#lv1_pause]]<br /> 0x8000000F - [[HV_Syscall_Reference#lv1_put_iopte]]<br /> 0x80000012 - [[HV_Syscall_Reference#lv1_construct_event_receive_port]]<br /> 0x8000001A - [[HV_Syscall_Reference#lv1_detect_pending_interrupts]]<br /> 0x8000001B - [[HV_Syscall_Reference#lv1_end_of_interrupt]]<br /> 0x8000001C - [[HV_Syscall_Reference#lv1_connect_irq_plug]]<br /> 0x80000039 - [[HV_Syscall_Reference#lv1_construct_logical_spe]]<br /> 0x8000003D - [[HV_Syscall_Reference#lv1_set_spe_interrupt_mask]]<br /> 0x80000042 - [[HV_Syscall_Reference#lv1_clear_spe_interrupt_status]]<br /> 0x80000043 - [[HV_Syscall_Reference#lv1_get_spe_interrupt_status]]<br /> 0x80000045 - [[HV_Syscall_Reference#lv1_get_logical_ppe_id]]<br /> 0x80000049 - [[HV_Syscall_Reference#lv1_set_interrupt_mask]]<br /> 0x8000004A - [[HV_Syscall_Reference#lv1_get_logical_partition_id]]<br /> 0x8000004E - [[HV_Syscall_Reference#lv1_get_spe_irq_outlet]]<br /> 0x8000005B - [[HV_Syscall_Reference#lv1_get_repository_node_value]]<br /> 0x8000005F - [[HV_Syscall_Reference#lv1_read_htab_entries]]<br /> 0x80000061 - [[HV_Syscall_Reference#lv1_set_vmx_graphics_mode]]<br /> 0x80000062 - [[HV_Syscall_Reference#lv1_set_thread_switch_control_register]]<br /> 0x80000074 - [[HV_Syscall_Reference#lv1_allocate_io_segment]]<br /> 0x80000076 - [[HV_Syscall_Reference#lv1_allocate_ioid]]<br /> 0x80000078 - [[HV_Syscall_Reference#lv1_construct_io_irq_outlet]]<br /> 0x8000007C - [[HV_Syscall_Reference#lv1_undocumented_function_124]]<br /> 0x8000007D - [[HV_Syscall_Reference#lv1_undocumented_function_125]]<br /> 0x8000007E - [[HV_Syscall_Reference#lv1_undocumented_function_126]]<br /> 0x80000088 - [[HV_Syscall_Reference#lv1_undocumented_function_136]]<br /> 0x8000008C - [[HV_Syscall_Reference#lv1_construct_lpm]]<br /> 0x8000008D - [[HV_Syscall_Reference#lv1_destruct_lpm]]<br /> 0x8000008E - [[HV_Syscall_Reference#lv1_start_lpm]]<br /> 0x8000008F - [[HV_Syscall_Reference#lv1_stop_lpm]]<br /> 0x80000090 - [[HV_Syscall_Reference#lv1_copy_lpm_trace_buffer]]<br /> 0x80000091 - [[HV_Syscall_Reference#lv1_add_lpm_event_bookmark]]<br /> 0x80000092 - [[HV_Syscall_Reference#lv1_delete_lpm_event_bookmark]]<br /> 0x80000093 - [[HV_Syscall_Reference#lv1_set_lpm_interrupt_mask]]<br /> 0x80000094 - [[HV_Syscall_Reference#lv1_get_lpm_interrupt_status]]<br /> 0x80000095 - [[HV_Syscall_Reference#lv1_set_lpm_general_control]]<br /> 0x80000096 - [[HV_Syscall_Reference#lv1_set_lpm_interval]]<br /> 0x80000097 - [[HV_Syscall_Reference#lv1_set_lpm_trigger_control]]<br /> 0x80000098 - [[HV_Syscall_Reference#lv1_set_lpm_counter_control]]<br /> 0x80000099 - [[HV_Syscall_Reference#lv1_set_lpm_group_control]]<br /> 0x8000009A - [[HV_Syscall_Reference#lv1_set_lpm_debug_bus_control]]<br /> 0x8000009B - [[HV_Syscall_Reference#lv1_set_lpm_counter]]<br /> 0x8000009C - [[HV_Syscall_Reference#lv1_set_lpm_signal]]<br /> 0x8000009D - [[HV_Syscall_Reference#lv1_set_lpm_spr_trigger]]<br /> 0x800000A3 - [[HV_Syscall_Reference#lv1_write_virtual_uart]]<br /> 0x800000A4 - [[HV_Syscall_Reference#lv1_set_virtual_uart_param]]<br /> 0x800000A5 - [[HV_Syscall_Reference#lv1_get_virtual_uart_param]]<br /> 0x800000A6 - [[HV_Syscall_Reference#lv1_configure_virtual_uart_irq]]<br /> 0x800000AA - [[HV_Syscall_Reference#lv1_open_device]]<br /> 0x800000AB - [[HV_Syscall_Reference#lv1_close_device]]<br /> 0x800000AC - [[HV_Syscall_Reference#lv1_map_device_mmio_region]]<br /> 0x800000AE - [[HV_Syscall_Reference#lv1_allocate_device_dma_region]]<br /> 0x800000AF - [[HV_Syscall_Reference#lv1_free_device_dma_region]]<br /> 0x800000B0 - [[HV_Syscall_Reference#lv1_map_device_dma_region]]<br /> 0x800000B1 - [[HV_Syscall_Reference#lv1_unmap_device_dma_region]]<br /> 0x800000B2 - [[HV_Syscall_Reference#lv1_read_pci_config]]<br /> 0x800000B3 - [[HV_Syscall_Reference#lv1_write_pci_config]]<br /> 0x800000C5 - [[HV_Syscall_Reference#lv1_connect_interrupt_event_receive_port]]<br /> 0x800000CF - [[HV_Syscall_Reference#lv1_enable_logical_spe]]<br /> 0x800000D2 - [[HV_Syscall_Reference#lv1_gpu_open]]<br /> 0x800000D4 - [[HV_Syscall_Reference#lv1_gpu_device_map]]<br /> 0x800000D6 - [[HV_Syscall_Reference#lv1_gpu_memory_allocate]]<br /> 0x800000D9 - [[HV_Syscall_Reference#lv1_gpu_context_allocate]]<br /> 0x800000DD - [[HV_Syscall_Reference#lv1_gpu_context_iomap]]<br /> 0x800000E1 - [[HV_Syscall_Reference#lv1_gpu_context_attribute]]<br /> 0x800000E3 - [[HV_Syscall_Reference#lv1_gpu_context_intr]]<br /> 0x800000E4 - [[HV_Syscall_Reference#lv1_gpu_attribute]]<br /> 0x800000F5 - [[HV_Syscall_Reference#lv1_storage_read]]<br /> 0x800000F6 - [[HV_Syscall_Reference#lv1_storage_write]]<br /> 0x800000F9 - [[HV_Syscall_Reference#lv1_storage_get_async_status]]<br /> <br /> ===LPAR / AUTH ID's===<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Name !! Auth ID !! Self&lt;br /&gt;(/dev_flash/ps2emu) !! Notes<br /> |-<br /> | PS2_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_emu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2 || 0x107000001D000001 || <br /> |-<br /> | PS2_GX_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_gxemu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2_GX || 0x107000001D000001 || <br /> |-<br /> | PS2_SW_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_softemu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2_SW || 0x107000001D000001 || <br /> |-<br /> | PS2_NE_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_netemu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2_NE || 0x107000001D000001 || <br /> |-<br /> |}<br /> <br /> ====boot_ps2====<br /> http://foxbrew.org/ps3/otheros-utils/boot_ps2.git &lt;br /&gt;<br /> http://www.multi...upload.com/QKK7ETPHXZ boot_ps2-src.rar (1.43 KB) &lt;br /&gt;<br /> http://www.multi...upload.com/YCZ63Y6TQ5 boot_ps2.pkg (69.17 KB) &lt;br /&gt;<br /> <br /> any chance of having this package resigned for 4.21 cfw? might be useful to see if it'll boot ps2_netemu.self LPAR.<br /> <br /> (can boot ps2lpar, but also petitboot if otheros installed! 50:50 chance)<br /> <br /> [http://rghost.net/42586725 boot_ps2 4.xx eboots.zip (153 KB)] &lt;br /&gt; installing 3.55 pkg and replacing the eboot and editing the sfo should work.<br /> <br /> ===Getting compatibility hardware info===<br /> See: [[PS2_Compatibility#Software]]<br /> <br /> ===ps2bootparam.dat===<br /> A file created at path: dev_hdd0/tmp/game/'''ps2bootparam.dat'''<br /> *See: [[ps2bootparam.dat]]&lt;!--we need this page because we have others like that in wiki--&gt;<br /> <br /> ===Cobra core===<br /> taken from storage_ext.c<br /> &lt;pre&gt; patch_ps2emu_entry(ps2emu_type); &lt;/pre&gt;<br /> *sets proper ps2_(gx/soft)emu.self path for reboot<br /> *patches ss_storage service 0x5004 disc checks on ss_server3.self inside lv1<br /> (Change from Parameter li r3, 2 and li r3, 1E (Drive Authentification) to li r3, 0x29 (Reset Drive))<br /> *and the usual either replace read/ioctl for iso etc.<br /> <br /> ==Game CONFIG==<br /> Some of the PS2 emulator types (such ps2_gxemu.self, ps2netemu.self) are able to load config commands that are applyed &quot;by game ID&quot;. The concept of &quot;game patches&quot; is not technically correct because some of the commands does patching functions but others does other things (not patching), and other commands works as switches or sets a value that are enviromental settings for the emulator (not for the game) but because are applyed &quot;by game&quot; should be considered enviromental settings for that specific game, so for simplification purposes you can think in all this data as &quot;game configs&quot;<br /> <br /> This &quot;game config&quot; data seems to work in the same way for all the PS2 emulator types but can be located in different places, some are hardcoded inside the emulators itself (inside the .self), and at the time the &quot;PS2 classics&quot; emulator (ps2_netemu.self) was developed this config can be loaded from an external file&lt;!--and there is some more inside some .sprx or inside the ps2 hdd data pkg ?--&gt;<br /> <br /> In short, the &quot;game configs&quot; can modify the game image (by patching it) and can be used to configure the virtual PS2 (the emulated machine). And can be loaded from hardcoded data (inside the .self) or from an external file (this feature is supported only by ps2_netemu.self)<br /> <br /> The config data consists in a list of concatenated values of 8 bytes lenght (uint32_t), and can be processed like this:<br /> union{<br /> uint32_t command<br /> ...data...<br /> }<br /> <br /> ===Config Commands===<br /> ps2_netemu.self fw4.50 sub_12D7D8, fw4.81 sub_12E050<br /> params are uint32_t unless noted.<br /> <br /> At the time of writing this, most of the commands are completely or partially unknown.&lt;br /&gt;<br /> If you want to read some speculation and brainstorming about them, please join the {{talk}} page<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! CMD ID !! Example !! Notes<br /> |-<br /> | 0x00|||| Copy following title id for enforcing if available + end config<br /> |-<br /> | 0x01|||| 2x uint32_t Params ( addr, func_id 0-0x3B) - EE_ADD_HOOK<br /> [Grand Theft Auto 3 (EU)] uses 0x349790, 0x10 (somewhat floats related)<br /> [Max Payne] uses 0x52E9F4, 3 and 0x52EB78, 2 (set lwsync 0)<br /> Maximum Amount of Usage: ?<br /> (The command is used 3 times consecutively by SLUS-20565 (Champions of Norrath) and SLUS-21494 (Need for Speed Carbon)<br /> game configs hardcoded inside ps2_gxemu.self)<br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> !Function ID!! Notes<br /> |-<br /> |0x00|| <br /> |-<br /> |0x01|| <br /> |-<br /> |0x02|| <br /> Max Payne<br /> sets some sync off?<br /> |-<br /> |0x03|| <br /> Max Payne<br /> sets some sync on?<br /> |-<br /> |0x04|| <br /> |-<br /> |0x05|| <br /> |-<br /> |0x06|| <br /> |-<br /> |0x07|| <br /> |-<br /> |0x08||<br /> |-<br /> |0x09|| <br /> |-<br /> |0x0A|| <br /> |-<br /> |0x0B|| <br /> |-<br /> |0x0C|| <br /> |-<br /> |0x0D|| usleep(100)<br /> |-<br /> |0x0E||<br /> |-<br /> |0x0F|| <br /> GTA 3 (US)<br /> using 0x348B40, 0x18E1F0, 0x348EC8 ( + 200000000 base )<br /> |-<br /> |0x10|| <br /> GTA 3 (EU)<br /> using 0x349790, 0x18E1F0, 0x349B18 ( + 200000000 base )<br /> |-<br /> |0x11|| <br /> GTA 3 (JP/AS)?<br /> using 0x3495C0, 0x18E1F0, 0x349948 ( + 200000000 base )<br /> |-<br /> |0x12|| <br /> condition ...<br /> store 0 in [ 0x204FC500 + 200000000 base]<br /> |-<br /> |0x13|| <br /> |-<br /> |0x14|| <br /> |-<br /> |0x15|| <br /> |-<br /> |0x16|| <br /> store 0x01114BA8 in [ 0x208EAB4C + 200000000 base]<br /> store 0x010C9E40 in [ 0x208EAB6C + 200000000 base]<br /> |-<br /> |0x17|| <br /> condition r18 == 0x8000<br /> setting:<br /> stores 0x40490FDA somewhere <br /> Note: 0x40490FDA (3.14159250) is the highest float approximation to π in hexadecimal without going over the value.&lt;br /&gt;<br /> Probably can improve FPU accuracy for some games.<br /> |-<br /> |0x18||<br /> condition [ 0x20183F04 + 200000000 base ] == 0x0C060F2C <br /> setting:<br /> stores 0 in address 0x20183F04, 0x20183F34, 0x20183F3C ( + 0x200000000 base )<br /> 0x183F0C, sub_46334 (4.70)<br /> 0x183F3C, sub_45DA4 (4.70)<br /> 0x183D74, sub_47B50 (4.70)<br /> |-<br /> |0x19|| <br /> |-<br /> |0x1A|| <br /> store 0 in [ 0x209FD560 + 200000000 base]<br /> store 0 in [ 0x209F9550 + 200000000 base]<br /> store 0 in [ 0x20A01570 + 200000000 base]<br /> store 0 in [ 0x209F9540 + 200000000 base]<br /> store 0 in [ 0x209F5540 + 200000000 base]<br /> store 0 in [ 0x209F1530 + 200000000 base]<br /> |-<br /> |0x1B|| store 0 in [ 0x20552168 + 200000000 base]<br /> |-<br /> |0x1C|| store 1 in [ 0x20552168 + 200000000 base]<br /> |-<br /> |0x1D|| store 0 in [ 0x20556C08 + 200000000 base]<br /> |-<br /> |0x1E|| store 1 in [ 0x20556C08 + 200000000 base]<br /> |-<br /> |0x1F|| store 0 in [ 0x205243D8 + 200000000 base]<br /> |-<br /> |0x20|| store 1 in [ 0x205243D8 + 200000000 base]<br /> |-<br /> |0x21|| store 0 in [ 0x20524F88 + 200000000 base]<br /> |-<br /> |0x22|| store 1 in [ 0x20524F88 + 200000000 base]<br /> |-<br /> |0x23|| store 0 in [ 0x2047E7F8 + 200000000 base]<br /> |-<br /> |0x24|| store 1 in [ 0x2047E7F8 + 200000000 base]<br /> |-<br /> |0x25|| store 0 in [ 0x204802B8 + 200000000 base]<br /> |-<br /> |0x26|| store 1 in [ 0x204802B8 + 200000000 base]<br /> |-<br /> |0x27|| store 0 in [ 0x20586348 + 200000000 base]<br /> |-<br /> |0x28|| store 1 in [ 0x20586348 + 200000000 base]<br /> |-<br /> |0x29|| store 0 in [ 0x205868A8 + 200000000 base]<br /> |-<br /> |0x2A|| store 1 in [ 0x205868A8 + 200000000 base]<br /> |-<br /> |0x2B|| <br /> |-<br /> |0x2C|| <br /> |-<br /> |0x2D|| <br /> |-<br /> |0x2E|| <br /> |-<br /> |0x2F|| condition [ 0x37B0C4 + 200000000 base ] == 0 -&gt; 00 10 0B 98 <br /> |-<br /> |0x30|| condition [ 0x37B704 + 200000000 base ] == 0 -&gt; 00 10 0B 98 <br /> |-<br /> |0x31|| condition [ 0x37630C + 200000000 base ] == 0 -&gt; 00 10 0B A8 <br /> |-<br /> |0x32|| condition [ 0x37BB0C + 200000000 base ] == 0 -&gt; 00 10 0B A8 <br /> |-<br /> |0x33|| <br /> |-<br /> |0x34|| not filled<br /> |-<br /> |0x35|| <br /> |-<br /> |0x36|| <br /> |-<br /> |0x37|| <br /> |-<br /> |0x38||<br /> |-<br /> |0x39|| <br /> |-<br /> |0x3A|| <br /> |-<br /> |0x3B|| GTA 3 (JP/AS) ? using 0x351210, 0x18F590, 0x351568 ( + 200000000 base )<br /> |}<br /> |-<br /> |0x02|||| 1 Param, Config file revision ?<br /> |-<br /> |0x03|||| 0 Param, sets something 0 (Fire Pro Wrestling Returns)<br /> |-<br /> |0x04|||| 1 Param uint32_t index (i*0x80, special 0x12345: 0x91a280?)<br /> |-<br /> |0x05|||| read next command<br /> |-<br /> |0x06|||| 0 Param, sets something 0x14F80 (85888'd)<br /> |-<br /> |0x07|||| 1 Param uint32_t (default 1)<br /> Delay VU xgkick by X cycles<br /> |-<br /> |0x08|||| 8 Param uint32_t (read mask,read mask, original opcode, original opcode, write mask, write mask, replace opcode, replace opcode)<br /> Maximum Amount of Usage: 3 times<br /> Patch VU memory by mask <br /> Mask = F - read/write, 0 - Not read/write, 8 - ignore 4 bytes, E - seems to be used as last character before wildcards (Superman returns).<br /> |-<br /> |0x09|||| uint32_t count, &lt;list&gt; (offset, original opcode, original opcode, replace opcode, replace opcode) - EE_INSN_REPLACE64<br /> [Dark Cloud] uses 1<br /> [Dead Or Alive 2 Hardcore] uses 1<br /> Maximum List Count: 32<br /> |-<br /> |0x0A|||| uint32_t count, &lt;List&gt; (offset, original opcode, replace opcode) - EE_INSN_REPLACE32<br /> [Deadly Strike] uses 1<br /> [Dragon Force] uses 2<br /> Maximum List Count: 32<br /> |-<br /> |0x0B|||| 1 Param uint32_t count, &lt;List&gt; {sector id, offset, sizeof present opcodes, replace opcodes, original opcodes} - MECHA_SET_PATCH<br /> offset on disc = sector id * sector size + offset (-0xC)<br /> [Dead Or Alive 2 Hardcore] uses 7<br /> [Gradius V] uses 1<br /> [Grand Theft Auto III] uses 1<br /> [Katamari Damacy] uses 1<br /> [Manhunt] uses 1<br /> [Odin Sphere] uses 2<br /> [Primal] uses 1<br /> [Psychonauts] uses 1<br /> [Syphon Filter The Omega Strain] uses 1<br /> Maximum List Count: 47<br /> |-<br /> |0x0C|||| 1 Param (uint16_t, uint16_t) --- 0/1/2,&lt;0x63&gt;<br /> |-<br /> |0x0D|||| 1 Param, true/false?<br /> Default Init = 1?<br /> 0 == skip some code, <br /> 1 == some code + checks<br /> |-<br /> |0x0E|||| 1 Param offset --- Improves ADD/SUB accuracy for selected offset (incl. Floats) <br /> [Rygar] only has 0x147DA8 sub.s $f12, $f20, $f12<br /> Maximum Amount of Usage: 31 times<br /> |-<br /> |0x0F|||| List &lt;uint32_t Param, uint32_t Param&gt; --- More accurate memory range (FPU mul/div/sub/add accuracy related) <br /> [Dark Cloud] uses 0x239334, 0x1FFFFFF<br /> [Grand Theft Auto SA] uses 0x1E46DC, 0x1E4AE8<br /> Maximum List Count: 31 <br /> |-<br /> |0x10|||| List &lt;uint32_t Param, uint32_t Param&gt; --- More accurate memory range (COP2, mul/div/sub/add accuracy related) - MULDIV_Accurate_range<br /> Maximum List Count: 31 <br /> |-<br /> |0x11|||| 1x uint32_t Param. ADD/SUB accuracy related, all emulated ADD/SUB instruction variations check that value. Param seems to be VU memory offset (need confirmation).<br /> Maximum Amount of Usage: 31 times<br /> |-<br /> |0x12|||| &lt;List&gt; (uint32_t count,<br /> [Primal] uses 0xD<br /> [Rayman Arena] uses 0x11<br /> [Syphon Filter: The Omega Strain] uses 0x5<br /> 00 00 00 0?<br /> 00 00 00 00<br /> type? count?<br /> ... <br /> Maximum List Count: 63 <br /> |-<br /> | 0x13|||| 1x uint64_t Param<br /> |-<br /> | 0x14|||| 0 Param, sets something 1<br /> |-<br /> | 0x15|| 4 || 1 Param ( &lt;1, &gt;1 ), different settings/mode?<br /> [Bloodrayne 2] uses 4<br /> [GRIMgRiMoiRe] uses 4<br /> [Mana Khemia 2] uses 4<br /> [Odin Sphere] uses 4<br /> [SMT Persona 3 FES] uses 4<br /> |-<br /> | 0x16|||| = 0x05 (next id)<br /> |-<br /> | 0x17||1 || 1 Param, true/false?<br /> [Bully] uses 1<br /> |-<br /> | 0x18|||| = 0x16 = 0x05 (next id)<br /> |-<br /> | 0x19 |||| 0 Param, sets something 1 --- SB_SIO2 related?<br /> [Grand Theft Auto III]<br /> [Red Faction 2]<br /> [Siren]<br /> |-<br /> | 0x1A|||| 0 Param, sets something 1<br /> |-<br /> | 0x1B|||| 0 Param, sets something 1<br /> [Mana Khemia 2]<br /> |-<br /> | 0x1C |||| read uint32_t (use uint8_t) Param (default 3)<br /> |-<br /> | 0x1D |||| read uint32_t (use uint8_t) Param <br /> |-<br /> | 0x1E |||| read uint32_t (use uint8_t) Param <br /> |-<br /> | 0x1F |||| uint32_t Param (default 0x3E8?)<br /> |-<br /> | 0x20|||| uint64_t Param (default 0x3C)<br /> |-<br /> | 0x21|| 1 || 1 Param: <br /> 0 = sets an option from 1 to 0 and another one to 0,<br /> 1 = sets an option from 1 to 0 and another one to 1,<br /> 2 = sets an option from 1 to 1 and another one to 0<br /> [Fatal Frame II] uses 0<br /> [Grand Theft Auto Vice City] uses 1<br /> [Grand Theft Auto III (EU)] uses 1<br /> [SMT Persona 3 FES] uses 0<br /> |-<br /> | 0x22|||| 0 Param, sets something 1<br /> |-<br /> | 0x23|||| 0 Param --- memcpy 0x100 Bytes and sets 0x14E00<br /> |-<br /> | 0x24|||| uint64_t Param<br /> |-<br /> | 0x25|||| = 0x18 = 0x16 = 0x05 (next id)<br /> |-<br /> | 0x26|||| List &lt;uint32_t Param,uint32_t Param&gt; --- Improves ADD/SUB accuracy for selected memory range (incl. Floats) - FPU_Accurate_range<br /> <br /> [Bloodrayne 2] uses 0x340000, 0x350000<br /> [Gradius V] uses 0x3046E0, 0x0x305E44<br /> Maximum List Count: 31 <br /> Maximum Amount of Usage: ??<br /> The command is used 4 times consecutively by [Strawberry Shortcake: The Sweet Dreams]<br /> SLES-54309 (EU) and<br /> SLUS-21497 (US) game configs hardcoded inside ps2_gxemu.self<br /> |-<br /> | 0x27|||| List &lt;uint32_t Param,uint32_t Param&gt; --- Improves COP2 operations accuracy for selected memory range - VU0 macromode accurate range<br /> Maximum List Count: 31 <br /> |-<br /> | 0x28|||| 1x uint32_t Param (&lt;=3)<br /> |-<br /> | 0x29 |||| 2x uint32_t Param,<br /> |-<br /> | 0x2A|||| 0 Param, sets something 1<br /> |-<br /> | 0x2B|||| 0 Param, sets something 1 --- something with Controller (analog?)<br /> |-<br /> | 0x2C |||| 1 Param, uint32_t<br /> Summoner uses 0x1<br /> |-<br /> | 0x2D |||| = 0x25 = 0x18 = 0x16 = 0x05 (next id)<br /> |-<br /> | 0x2E |||| 1 Param, uint32_t<br /> |-<br /> | 0x2F |||| 1 Param, uint32_t<br /> |-<br /> | 0x30|||| (nothing)<br /> |-<br /> | 0x31|||| (nothing)<br /> |-<br /> | 0x32|||| (nothing)<br /> |-<br /> | 0x33|||| (nothing)<br /> |-<br /> | 0x34|||| (nothing)<br /> |-<br /> | 0x35|||| 0 Param --- Enables Force Flip Field, described in emu setting as &quot;''Fix for [Hang] for soft-lock''&quot;<br /> |-<br /> | 0x36|||| (nothing)<br /> |-<br /> | 0x37|||| (nothing)<br /> |-<br /> | 0x38|||| (nothing)<br /> |-<br /> | 0x39 |||| (nothing)<br /> |-<br /> | 0x3A|||| (nothing)<br /> |-<br /> | 0x3B|||| (nothing)<br /> |-<br /> | 0x3C |||| (nothing)<br /> |-<br /> | 0x3D |||| 1 Param, uint32_t Config file revision<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Firmware !! ps2_netemu Revision !! Max Supported Commands<br /> |-<br /> | 3.70 || 15686 || 0x41<br /> |-<br /> | 3.73 || 15936 || 0x41<br /> |-<br /> | 3.74 || 15936 || 0x41<br /> |-<br /> | 4.00 || 16195 || 0x41<br /> |-<br /> | 4.01 || 16195 || 0x41<br /> |-<br /> | 4.10 || 16361 || 0x41<br /> |-<br /> | 4.11 || 16361 || 0x41<br /> |-<br /> | 4.20 || 16604 || 0x43<br /> |-<br /> | 4.21 || 16604 || 0x43<br /> |-<br /> | 4.23 || 16604 || 0x43<br /> |-<br /> | 4.25 || 16740 || 0x43<br /> |-<br /> | 4.26 || 16740 || 0x43<br /> |-<br /> | 4.30 || 16808 || 0x45<br /> |-<br /> | 4.31 || 16808 || 0x45<br /> |-<br /> | 4.40 || 16916 || 0x46<br /> |-<br /> | 4.41 || 16916 || 0x46<br /> |-<br /> | 4.45 || 17041 || 0x48<br /> |-<br /> | 4.46 || 17041 || 0x48<br /> |-<br /> | 4.50 || 17179 || 0x4A<br /> |-<br /> | 4.55 || 17277 || 0x4D<br /> |- <br /> |4.60&lt;br /&gt;<br /> 4.70&lt;br /&gt;<br /> 4.75&lt;br /&gt;<br /> 4.76&lt;br /&gt;<br /> || 17314 || 0x4D<br /> |- <br /> |4.78&lt;br /&gt;<br /> 4.80&lt;br /&gt;<br /> 4.81&lt;br /&gt;<br /> || 17495 || 0x50<br /> |- <br /> |}<br /> |-<br /> | 0x3E |||| 0 Params --- Sets something 1<br /> Default Init = 0<br /> 0 == do set some stuff, <br /> 1 == skip<br /> |-<br /> | 0x3F |||| 1 Param, uint32_t<br /> |-<br /> | 0x40|||| 0 Param --- Sets something 1<br /> Grand Theft Auto SA<br /> Silent Hill Origins - unofficial fix<br /> |-<br /> | 0x41|||| 0 Param --- Sets something 1 (Disables some lwsync - speedhack?)<br /> Dragon Force<br /> God Hand<br /> Gradius V<br /> Katamari Damacy<br /> |-<br /> | 0x42|||| 2 Param: uint32_t address, uint32_t count --- Overlay area? <br /> |-<br /> | 0x43|||| 1 Param --- Equal to 0x40, but with Parameter:<br /> 0 = Default<br /> 1 = (like 0x40)<br /> param = <br /> -1 = failure?<br /> |-<br /> | 0x44|||| 0 Param --- Disables Smoothing and Smoothing option<br /> |-<br /> | 0x45|||| 0 Param --- Sets something 1<br /> Phantasy Star Complete Collection<br /> |-<br /> | 0x46|||| 0 Param --- Enables L2H Improvement, [Performance] related setting for titles using L2H<br /> SMT Digital Devil Saga 1<br /> SMT Nocturne<br /> Fatal Frame II<br /> |-<br /> | 0x47|||| 0 Param --- Enables XOR CSR - XOR System Status Register (0x12001000)?, [Graphics] related setting, should fix fullscreen line corruption<br /> |-<br /> | 0x48|||| VSYNC Delay, 2x uint32_t Param<br /> *First param possible value are 1 = No IPU, 2 = IPU, 3 = Anytime.<br /> *Second param is delay (in ms?), and can be also negative value.<br /> **Emu has standard presets for second param.<br /> ***Agressive = 0x3D090 (250000 decimal),<br /> ***Normal = 0x186A0 (100000 decimal),<br /> ***Conservative = 0x4E20 (20000 decimal),<br /> ***But other values can be used.<br /> [SMT Digital Devil Saga 1] uses 1, 0x3D090<br /> [Fatal Frame II] uses 0x2, 0xFFFFE69C (-6500 decimal)<br /> |-<br /> | 0x49|||| 0 Param --- Sets something 0xB,0,0<br /> |-<br /> | 0x4A|||| 0 Param --- Sets something 0x15100<br /> |-<br /> | 0x4B|||| 2x uint32_t Params: offset,int (-1? selects different titleid?) - /game/ /../ USRDIR/SAVEDATA related<br /> |-<br /> | 0x4C|||| 2x uint32_t Params: offset,int (2 = current path?, 3 = new ISO.BIN.ENC path?, other= ?)<br /> |-<br /> | 0x4D|||| 1 uint32_t Param (can be -1) --- Sets something (same as 0x49 but) 0xC, Param, 0<br /> |-<br /> | 0x4E|||| (nothing)<br /> |-<br /> | 0x4F|||| (nothing)<br /> |-<br /> | 0x50|||| 0 Param --- Switch to default gamepad config ?<br /> |-<br /> |}<br /> <br /> ===Config file examples (for netemu)===<br /> <br /> ====Official====<br /> {| class=&quot;wikitable sortable&quot; style=&quot;width: 1920px;&quot; | <br /> |-<br /> ! Title ID !! Title !! Config Data !! Revision !! Notes<br /> |-<br /> | style=&quot;width: 5px;&quot; | NPUD20461 || Bloodrayne || style=&quot;width: 650px;&quot; | <br /> 00000000 3D 00 00 00 46 3E 00 00 16 00 00 00 0B 00 00 00 =...F&gt;..........<br /> 00000010 04 00 00 00 07 01 00 00 C0 02 00 00 10 00 00 00 ........+.......<br /> 00000020 00 09 3C 52 52 3C 09 00 03 1F 90 14 14 90 1F 03 ..&lt;RR&lt;....É..É..<br /> 00000030 00 09 3C 52 52 3C 09 00 03 20 C0 04 04 C0 20 03 ..&lt;RR&lt;... +..+ .<br /> 00000040 56 A0 09 00 10 00 00 00 04 00 00 00 00 00 90 01 Vá............É.<br /> 00000050 FA 0F BD 01 21 39 07 00 B8 06 00 00 28 00 00 00 ·.¢.!9..©...(...<br /> 00000060 35 4A 02 02 00 0A 54 38 35 4A 62 7E 34 A5 00 A0 5J....T85Jb~4Ñ.á<br /> 00000070 3C 09 00 1B 35 29 FA 00 00 09 4C 38 35 29 02 02 &lt;...5)·...L85)..<br /> 00000080 00 09 4C 38 35 29 62 7E 35 4A 02 03 00 0A 54 38 ..L85)b~5J....T8<br /> 00000090 35 4A 22 7E 34 A5 00 A0 3C 09 00 1B 35 29 FA 00 5J&quot;~4Ñ.á&lt;...5)·.<br /> 000000A0 00 09 4C 38 35 29 02 03 00 09 4C 38 35 29 22 7E ..L85)....L85)&quot;~<br /> 000000B0 27 39 07 00 80 03 00 00 24 00 00 00 35 6B 02 02 '9..Ç...$...5k..<br /> 000000C0 00 0B 5C 38 35 6B 62 7E 3C 0C 00 1B 35 8C FA 00 ..\85kb~&lt;...5î·.<br /> 000000D0 00 0C 64 38 35 8C 02 02 00 0C 64 38 35 8C 62 7E ..d85î....d85îb~<br /> 000000E0 35 6B 02 03 00 0B 5C 38 35 6B 22 7E 3C 0C 00 1B 5k....\85k&quot;~&lt;...<br /> 000000F0 35 8C FA 00 00 0C 64 38 35 8C 02 03 00 0C 64 38 5î·...d85î....d8<br /> 00000100 35 8C 22 7E 5î&quot;~<br /> || 15942 (4.00+) ||<br /> 0x3D =&gt; 0x3E46 (15942)<br /> 0x16 =&gt; 0xB =&gt; 4<br /> 0x107, (sector)<br /> 0x2C0, (offset -&gt; 0x1072B4 in iso)<br /> 0x10, <br /> 0x523C0900, (beql s1, gp, ?)<br /> 0x00093C52, (mflo a3)<br /> 0x14901F03, (bne a0, s0, ?)<br /> 0x031F9014, (dsllv s2, ra, t8)<br /> 0x523C0900, (beql s1, gp, ?)<br /> 0x00093C52, (mflo a3)<br /> 0x04C02003, (bltz a2, ?)<br /> 0x0320C004 (sllv t8, zero, t9)<br /> 0x9A056, (sector)<br /> 0x10, (offset -&gt; 0x4D02B004 in iso)<br /> 0x04, <br /> 0x01900000 (sll zero, s0, 0x00?), <br /> 0x01BD0FFA (dsrl at,sp,0x1F?)<br /> 0x73921, (sector)<br /> 0x6B8, (offset -&gt; 0x39C90EAC in iso)<br /> 0x28, <br /> 21 39 07 00 addi t9,t1,0x0700<br /> B8 06 00 00 swr a2,(zero)<br /> 28 00 00 00 slti zero,0x0000<br /> 35 4A 02 02 ori t2,0x202<br /> 00 0A 54 38 dsll t2,0x10<br /> 35 4A 62 7E ori t2,0x627E<br /> 34 A5 00 A0 ori a1,0xA0<br /> 3C 09 00 1B lui t1,0x001B<br /> 35 29 FA 00 ori t1,0xFA00<br /> 00 09 4C 38 dsll t1,0x10<br /> 35 29 02 02 ori t1,0x202<br /> 00 09 4C 38 dsll t1,0x10<br /> 35 29 62 7E ori t1,0x627E<br /> 35 4A 02 03 ori t2,0x203<br /> 00 0A 54 38 dsll t2,0x10<br /> 35 4A 22 7E ori t2,0x227E<br /> 34 A5 00 A0 ori a1,0xA0<br /> 3C 09 00 1B lui t1,0x001B<br /> 35 29 FA 00 ori t1,0xFA00<br /> 00 09 4C 38 dsll t1,0x10<br /> 35 29 02 03 ori t1,0x203<br /> 00 09 4C 38 dsll t1,0x10<br /> 35 29 22 7E ori t1,0x227E<br /> 0x73927, (sector)<br /> 0x380, (offset -&gt; 0x39C93B74 in iso)<br /> 0x24, <br /> 35 6B 02 02 ori t3,0x202<br /> 00 0B 5C 38 dsll t3,0x10<br /> 35 6B 62 7E ori t3,0x627E<br /> 3C 0C 00 1B lui t4,0x001B<br /> 35 8C FA 00 ori t4,0xFA00<br /> 00 0C 64 38 dsll t4,0x10<br /> 35 8C 02 02 ori t4,0x202<br /> 00 0C 64 38 dsll t4,0x10<br /> 35 8C 62 7E ori t4,0x627E<br /> 35 6B 02 03 ori t3,0x203<br /> 00 0B 5C 38 dsll t3,0x10<br /> 35 6B 22 7E ori t3,0x227E<br /> 3C 0C 00 1B lui t4,0x001B<br /> 35 8C FA 00 ori t4,0xFA00<br /> 00 0C 64 38 dsll t4,0x10<br /> 35 8C 02 03 ori t4,0x203<br /> 00 0C 64 38 dsll t4,0x10<br /> 35 8C 22 7E ori t4,0x227E<br /> |-<br /> | NPUD20862 || Bloodrayne 2 ||<br /> 00000000 3D 00 00 00 3D 3F 00 00 15 00 00 00 04 00 00 00 =...=?..........<br /> 00000010 26 00 00 00 00 00 34 00 00 00 35 00 00 00 00 00 &amp;.....4...5.....<br /> 00000020 53 4C 55 53 2D 32 30 38 36 32 SLUS-20862<br /> || 16189 (4.00+) ||<br /> 0x3D =&gt; 0x3F3D (16189)<br /> 0x15 =&gt; 4<br /> 0x26 =&gt; 0x340000, 0x350000<br /> |-<br /> | NPUD21269 || Bully ||<br /> 00000000 3D 00 00 00 89 3D 00 00 17 00 00 00 01 00 00 00 =....=..........<br /> 00000010 00 00 00 00 53 4C 55 53 2D 32 31 32 36 39 ....SLUS-21269<br /> || 15753 (3.73+) ||<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x17 =&gt; 1<br /> |-<br /> | NPJD00004 || Contra Shattered Soldier || <br /> 00000000 3D 00 00 00 BF 3F 00 00 0A 00 00 00 12 00 00 00 =...+?..........<br /> 00000010 A0 FF 0F 00 00 00 00 00 10 00 01 3C A4 FF 0F 00 á .........&lt;ñ ..<br /> 00000020 00 00 00 00 90 FF 24 8C A8 FF 0F 00 00 00 00 00 ....É $î¿ ......<br /> 00000030 81 00 85 2C AC FF 0F 00 00 00 00 00 06 00 A0 10 ü.à,¼ ........á.<br /> 00000040 B0 FF 0F 00 00 00 00 00 01 00 84 24 B4 FF 0F 00 ¦ ........ä$¦ ..<br /> 00000050 00 00 00 00 90 FF 24 AC B8 FF 0F 00 00 00 00 00 ....É $¼© ......<br /> 00000060 81 00 85 2C BC FF 0F 00 00 00 00 00 02 00 A0 14 ü.à,+ ........á.<br /> 00000070 C0 FF 0F 00 00 00 00 00 00 00 00 00 C4 FF 0F 00 + ..........- ..<br /> 00000080 00 00 00 00 00 07 02 34 C8 FF 0F 00 00 00 00 00 .......4+ ......<br /> 00000090 08 00 E0 03 CC FF 0F 00 00 00 00 00 00 00 00 00 ..Ó.¦ ..........<br /> 000000A0 D0 FF 0F 00 00 00 00 00 10 00 01 3C D4 FF 0F 00 ð .........&lt;È ..<br /> 000000B0 00 00 00 00 08 00 E0 03 D8 FF 0F 00 00 00 00 00 ......Ó.Ï ......<br /> 000000C0 90 FF 20 AC DC FF 0F 00 00 00 00 00 00 00 00 00 É ¼_ ..........<br /> 000000D0 C0 72 42 00 08 00 E0 03 E8 FF 03 08 B4 7C 42 00 +rB...Ó.Þ ..¦|B.<br /> 000000E0 08 00 E0 03 F4 FF 03 08 00 00 00 00 53 4C 50 4D ..Ó.¶ ......SLPM<br /> 000000F0 2D 36 32 32 34 37 -62247<br /> || 16319 (4.10+)||<br /> 0x3D =&gt; 0x3FBF (16319)<br /> 0x0A =&gt; 0x12, <br /> 0xFFFA0,0, 0x3C010010 lui at,0x0010 <br /> 0xFFFA4,0, 0x8C24FF90 lw a0,-0x70(at) <br /> 0xFFFA8,0, 0x2C850081 sltiu a1,a0,0x0081 <br /> 0xFFFAC,0, 0x10A00006 beqz a1,pos_000FFFC8 <br /> 0xFFFB0,0, 0x24840001 addiu a0,0x1 <br /> 0xFFFB4,0, 0xAC24FF90 sw a0,-0x70(at) <br /> 0xFFFB8,0, 0x2C850081 sltiu a1,a0,0x0081 <br /> 0xFFFBC,0, 0x14A00002 bnez a1,pos_000FFFC8 <br /> 0xFFFC0,0, 0x00000000 nop <br /> 0xFFFC4,0, 0x34020700 li v0,0x700 <br /> 0xFFFC8,0, 0x03E00008 jr t9 <br /> 0xFFFCC,0, 0x00000000 nop <br /> 0xFFFD0,0, 0x3C010010 lui at,0x0010 <br /> 0xFFFD4,0, 0x03E00008 jr ra <br /> 0xFFFD8,0, 0xAC20FF90 sw zero,-0x70(at) <br /> 0xFFFDC,0, 0x00000000 nop <br /> 0x4272C0, 0x03E00008 (jr ra), 0x0803FFE8 j pos_000FFFA0<br /> 0x427CB4, 0x03E00008 (jr ra), 0x0803FFF4 j pos_000FFFD0<br /> |-<br /> | NPJC00002 || Dark Cloud ||<br /> 00000000 3D 00 00 00 07 3F 00 00 0F 00 00 00 34 93 23 00 =....?......4.#.<br /> 00000010 FF FF FF 01 09 00 00 00 01 00 00 00 B0 8E 13 00 ................<br /> 00000020 20 00 BF 7F B0 FF BD 27 00 00 00 00 08 00 E0 03 ......'........<br /> 00000030 00 00 00 00 53 43 50 53 2D 31 35 30 30 34 ....SCPS-15004<br /> || 16135 (4.00+)||<br /> 0x3D =&gt; 0x3F07 (16135)<br /> 0x0F =&gt; 0x239334, 0x01FFFFFF<br /> 0x09 =&gt; 1,<br /> 0x138EB0 , <br /> 0x7FBF0020 (sq ra,0x20(sp)),<br /> 0x27BDFFB0 (addiu sp,-0x50),<br /> 0x00000000 (nop),<br /> 0x03E00008 (jr ra)<br /> <br /> 0x239334 = end of code segment?<br /> 0x138EB0 = DrawShadow__10CCharacterFv Function Offset<br /> config 20 00 BF 7F 0x7FBF0020 sq ra, 0x20(sp)<br /> B0 FF BD 27 0x27BDFFB0 addiu sp, -0x50<br /> 00 00 00 00 0x00000000 nop<br /> 08 00 E0 03 0x03E00008 jr ra<br /> |-<br /> | NPUD20071 || Dead Or Alive 2 Hardcore ||<br /> 00000000 3D 00 00 00 F0 42 00 00 0A 00 00 00 01 00 00 00 =....B..........<br /> 00000010 EC 06 2B 00 01 00 06 24 00 00 06 24 0B 00 00 00 ..+....$...$....<br /> 00000020 07 00 00 00 71 6A 18 00 F4 07 00 00 04 00 00 00 ....qj..........<br /> 00000030 0C 00 32 B7 0C 00 32 B3 71 6A 18 00 F4 05 00 00 ..2...2.qj......<br /> 00000040 08 00 00 00 03 E0 00 08 00 00 00 00 27 BD FF F0 ............'...<br /> 00000050 AF BE 00 08 7B 6A 18 00 08 07 00 00 08 00 00 00 ....{j..........<br /> 00000060 03 E0 00 08 00 00 00 00 27 BD FF F0 AF BE 00 08 ........'.......<br /> 00000070 85 6A 18 00 18 01 00 00 08 00 00 00 03 E0 00 08 .j..............<br /> 00000080 00 00 00 00 27 BD FF F0 AF BE 00 08 85 6A 18 00 ....'........j..<br /> 00000090 70 01 00 00 08 00 00 00 03 E0 00 08 00 00 00 00 p...............<br /> 000000A0 27 BD FF F0 AF BE 00 08 85 6A 18 00 C8 01 00 00 '........j......<br /> 000000B0 08 00 00 00 03 E0 00 08 00 00 00 00 27 BD FF F0 ............'...<br /> 000000C0 AF BE 00 08 86 6A 18 00 FC 07 00 00 08 00 00 00 .....j..........<br /> 000000D0 03 E0 00 08 00 00 00 00 27 BD FF F0 AF BE 00 08 ........'.......<br /> 000000E0 00 00 00 00 53 4C 55 53 2D 32 30 30 37 31 ....SLUS-20071 <br /> || 17136 (4.50+) || fixes blackscreen<br /> 0x3D =&gt; 0x42F0 (17136)<br /> 0x0A =&gt; 0x01,<br /> 0x2B06EC, 0x24060001 (li a2,0x1), <br /> 0x24060000 (li a2,0x0)<br /> 0x0B =&gt; 0x07,<br /> 0x186A71, 0x7F4, 0x04, <br /> 0xB732000C (jal -0x2A9B90), <br /> 0xB332000C (jal -0x2A9BA0)<br /> 0x186A71, 0x5F4, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A7B, 0x708, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A85, 0x118, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A85, 0x170, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A85, 0x1C8, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A86, 0x7FC, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp))<br /> <br /> |-<br /> | NPJD00011 || Dead Or Alive 2 Hardcore || <br /> 00000000 3D 00 00 00 89 3D 00 00 09 00 00 00 01 00 00 00 =...ë=..........<br /> 00000010 6C 66 2B 00 80 00 08 24 01 00 06 24 80 00 08 24 lf+.Ç..$...$Ç..$<br /> 00000020 00 00 06 24 0B 00 00 00 07 00 00 00 05 FF 17 00 ...$......... ..<br /> 00000030 F0 07 00 00 0C 00 00 00 27 C4 00 10 0C 00 32 B7 ­.......'-....2À<br /> 00000040 00 00 00 00 24 04 00 2B 0C 00 32 B3 27 C5 00 10 ....$..+..2¦'+..<br /> 00000050 05 FF 17 00 F4 05 00 00 08 00 00 00 03 E0 00 08 . ..¶........Ó..<br /> 00000060 00 00 00 00 27 BD FF F0 AF BE 00 08 0F FF 17 00 ....'¢ ­»¥... ..<br /> 00000070 08 07 00 00 08 00 00 00 03 E0 00 08 00 00 00 00 .........Ó......<br /> 00000080 27 BD FF F0 AF BE 00 08 19 FF 17 00 18 01 00 00 '¢ ­»¥... ......<br /> 00000090 08 00 00 00 03 E0 00 08 00 00 00 00 27 BD FF F0 .....Ó......'¢ ­<br /> 000000A0 AF BE 00 08 19 FF 17 00 70 01 00 00 08 00 00 00 »¥... ..p.......<br /> 000000B0 03 E0 00 08 00 00 00 00 27 BD FF F0 AF BE 00 08 .Ó......'¢ ­»¥..<br /> 000000C0 19 FF 17 00 C8 01 00 00 08 00 00 00 03 E0 00 08 . ..+........Ó..<br /> 000000D0 00 00 00 00 27 BD FF F0 AF BE 00 08 1A FF 17 00 ....'¢ ­»¥... ..<br /> 000000E0 FC 07 00 00 08 00 00 00 03 E0 00 08 00 00 00 00 ³........Ó......<br /> 000000F0 27 BD FF F0 AF BE 00 08 00 00 00 00 53 4C 50 53 '¢ ­»¥......SLPS<br /> 00000100 2D 32 35 30 32 36 -25026<br /> || 15753 (3.73+) || fixes blackscreen<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x09 =&gt; 1,<br /> 0x2B666C, <br /> 0x24080080 (li t0,0x80), <br /> 0x24060001 (li a2,0x1), <br /> 0x24080080 (li t0,0x80), <br /> 0x24060000 (li a2,0x0)<br /> 0x0B =&gt; 7, <br /> 0x17FF05, 0x7F0, 0x0C ,<br /> 0x1000C427 addiu a0,fp,0x10,<br /> 0xB732000C jal -0x2A9B90,<br /> 0x00000000 nop, <br /> 0x2B000424 li a0,0x2B,<br /> 0xB332000C jal -0x2A9BA0,<br /> 0x1000C527 addiu a1,fp,0x10,<br /> 0x17FF05, 0x5F4, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF0F, 0x708, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF19, 0x118, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF19, 0x170, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF19, 0x1C8, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF1A, 0x7FC, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> <br /> 002B666C 01 00 06 24 0x24060001 li a2,0x1<br /> 80 00 08 24 0x24080080 li t0,0x80 <br /> 2D 48 E0 00 0x00E0482D dmove t1,a3<br /> 10 00 0A 24 0x240A0010 li t2,0x10<br /> <br /> config 80 00 08 24 0x24080080 li t0,0x80<br /> 01 00 06 24 0x24060001 li a2,0x1<br /> 80 00 08 24 0x24080080 li t0,0x80<br /> 00 00 06 24 0x24060000 li a2,0x0<br /> |-<br /> | NPED00027 || Deadly Strike ||<br /> 00000000 3D 00 00 00 96 40 00 00 0A 00 00 00 01 00 00 00 =....@..........<br /> 00000010 14 09 1E 00 17 37 01 3C 14 37 01 3C 00 00 00 00 .....7.&lt;.7.&lt;....<br /> 00000020 53 4C 45 53 2D 35 32 39 35 35 SLES-52955<br /> || 16534 (4.20+) ||<br /> 0x3D =&gt; 0x4096 (16534)<br /> 0x0A =&gt; 1 <br /> 0x1E0914, 17 37 01 3C 0x3C013717 li at,0x3717<br /> 14 37 01 3C 0x3C013714 li at,0x3714 <br /> |-<br /> | NPED00087 || Disneys PK: Out of the Shadows ||<br /> <br /> || || blackscreen<br /> <br /> |-<br /> | NPUD21944 || Doras Big Birthday Adventure ||<br /> 00000000 3D 00 00 00 ED 3F 00 00 0A 00 00 00 0A 00 00 00 =....?..........<br /> 00000010 00 FF 0F 00 00 00 00 00 07 00 40 14 04 FF 0F 00 ..........@.....<br /> 00000020 00 00 00 00 10 00 01 3C 08 FF 0F 00 00 00 00 00 .......&lt;........<br /> 00000030 F0 FF 28 8C 0C FF 0F 00 00 00 00 00 20 01 09 2D ..(......... ..-<br /> 00000040 10 FF 0F 00 00 00 00 00 03 00 20 11 14 FF 0F 00 .......... .....<br /> 00000050 00 00 00 00 01 00 08 25 18 FF 0F 00 00 00 00 00 .......%........<br /> 00000060 F0 FF 28 AC 1C FF 0F 00 00 00 00 00 06 00 02 24 ..(............$<br /> 00000070 20 FF 0F 00 00 00 00 00 08 00 E0 03 90 9B 1E 00 ...............<br /> 00000080 08 00 E0 03 C0 FF 03 08 00 00 00 00 53 4C 55 53 ............SLUS<br /> 00000090 2D 32 31 39 34 34 -21944<br /> || 16365 (4.20+) ||<br /> 0x3D =&gt; 0x3FED (16365)<br /> 0x0A =&gt; 0xA,<br /> 0xFFF00,0,0x14400007 bnez v0,pos_000FFF20<br /> 0xFFF04,0,0x3C010010 lui at,0x0010<br /> 0xFFF08,0,0x8C28FFF0 lw t0,-0x10(at)<br /> 0xFFF0C,0,0x2D090120 sltiu t1,t0,0x0120<br /> 0xFFF10,0,0x11200003 beqz t1,pos_000FFF20<br /> 0xFFF14,0,0x25080001 addiu t0,0x1<br /> 0xFFF18,0,0xAC28FFF0 sw t0,-0x10(at)<br /> 0xFFF1C,0,0x24020006 li v0,0x6<br /> 0xFFF20,0,0x03E00008 jr ra<br /> 0x1E9B90, 0x03E00008 (jr ra), 0x0803FFC0 j pos_000FFF00<br /> |-<br /> | NPJD00005 || Dragon Force ||<br /> 00000000 3D 00 00 00 D6 40 00 00 0A 00 00 00 02 00 00 00 =....@..........<br /> 00000010 B4 41 10 00 1C 00 40 10 F9 FF 40 14 BC 41 10 00 .A....@...@..A..<br /> 00000020 1D 00 02 3C 1A 00 40 10 41 00 00 00 00 00 00 00 ...&lt;..@.A.......<br /> 00000030 53 4C 50 4D 2D 36 35 37 37 38 SLPM-65778<br /> || 16598 (4.20+) ||<br /> 0x3D =&gt; 0x40D6 (16598)<br /> 0x0A =&gt; 2, <br /> 0x1041B4, 0x1040001C beqz v0,pos_00104228<br /> 0x1440FFF9 bnez v0,pos_0010419C<br /> 0x1041BC, 0x3C02001D lui v0,0x001D<br /> 0x1040001A beqz v0,pos_00104228<br /> 0x41 =&gt; (sets some value 1, sync? - speedhack?)<br /> |-<br /> | NPUD20766 || Fatal Frame II ||<br /> 00000000 3D 00 00 00 AF 42 00 00 21 00 00 00 00 00 00 00 =....B..!.......<br /> 00000010 48 00 00 00 02 00 00 00 9C E6 FF FF 0A 00 00 00 H...............<br /> 00000020 01 00 00 00 1C 70 17 00 41 01 0F 24 61 01 0F 24 .....p..A..$a..$<br /> 00000030 46 00 00 00 0B 00 00 00 01 00 00 00 DD 04 00 00 F...............<br /> 00000040 E8 02 00 00 04 00 00 00 00 42 73 84 00 00 02 FF .........Bs.....<br /> 00000050 00 00 00 00 53 4C 55 53 2D 32 30 37 36 36 ....SLUS-20766 <br /> || 17071 (4.50+) ||<br /> 0x3D =&gt; 0x42AF (17071)<br /> 0x21 =&gt; 0<br /> 0x48 =&gt; 0x2, 0xFFFFE69C<br /> 0x0A =&gt; 1, <br /> 0x17701C, 0x240F0141 (li t7,0x141)<br /> 0x240F0161 (li t7,0x161)<br /> 0x46<br /> 0x0B =&gt; 1<br /> 0x4DD, (sector)<br /> 0x2E8, (offset -&gt; 0x26EADC in iso)<br /> 0x04,<br /> 0x84734200 lh s3,0x4200(v1),<br /> 0xFF020000 sd v0,(t8)<br /> |-<br /> | NPED00052 || God Hand || <br /> 00000000 3D 00 00 00 5F 3F 00 00 41 00 00 00 0A 00 00 00 =..._?..A.......<br /> 00000010 14 00 00 00 A0 FF 0F 00 00 00 00 00 01 00 02 3C ....á .........&lt;<br /> 00000020 A4 FF 0F 00 00 00 00 00 21 20 82 00 A8 FF 0F 00 ñ ......! é.¿ ..<br /> 00000030 00 00 00 00 4D 00 02 24 AC FF 0F 00 00 00 00 00 ....M..$¼ ......<br /> 00000040 0E 00 45 14 B4 FF 0F 00 00 00 00 00 3E 18 06 00 ..E.¦ ......&gt;...<br /> 00000050 B8 FF 0F 00 00 00 00 00 FF 3F 63 38 BC FF 0F 00 © ...... ?c8+ ..<br /> 00000060 00 00 00 00 60 00 02 24 C0 FF 0F 00 00 00 00 00 ....`..$+ ......<br /> 00000070 0A 10 03 00 C4 FF 0F 00 00 00 00 00 00 00 83 8C ....- ........âî<br /> 00000080 C8 FF 0F 00 00 00 00 00 00 00 62 FC CC FF 0F 00 + ........b³¦ ..<br /> 00000090 00 00 00 00 15 00 02 24 D0 FF 0F 00 00 00 00 00 .......$ð ......<br /> 000000A0 08 00 62 FC D4 FF 0F 00 00 00 00 00 10 00 63 24 ..b³È ........c$<br /> 000000B0 D8 FF 0F 00 00 00 00 00 00 00 83 AC DC FF 0F 00 Ï ........â¼_ ..<br /> 000000C0 00 00 00 00 10 00 83 8C E0 FF 0F 00 00 00 00 00 ......âîÓ ......<br /> 000000D0 01 00 63 24 E4 FF 0F 00 00 00 00 00 10 00 83 AC ..c$õ ........â¼<br /> 000000E0 E8 FF 0F 00 00 00 00 00 A6 67 0A 08 90 9E 29 00 Þ ......ªg..É×).<br /> 000000F0 01 00 02 3C E8 FF 03 08 94 9E 29 00 21 20 82 00 ...&lt;Þ ..ö×).! é.<br /> 00000100 00 00 00 00 00 00 00 00 53 4C 45 53 2D 35 34 34 ........SLES-544<br /> 00000110 39 30 90<br /> || 16223 (4.10+) ||<br /> 0x3D =&gt; 0x3F5F (16223)<br /> 0x41 =&gt; (sets some value 1, sync? - speedhack?)<br /> 0x0A =&gt; 0x14<br /> 0xFFFA0,0,0x3C020001 lui v0,0x0001<br /> 0xFFFA4,0,0x00822021 addu a0,v0<br /> 0xFFFA8,0,0x2402004D li v0,0x4D<br /> 0xFFFAC,0,0x1445000E bne v0,a1,pos_000FFFE8<br /> 0xFFFB4,0,0x0006183E dsrl32 v1,a2,0x00<br /> 0xFFFB8,0,0x38633FFF xori v1,0x3FFF<br /> 0xFFFBC,0,0x24020060 li v0,0x60<br /> 0xFFFC0,0,0x0003100A movz v0,zero,v1<br /> 0xFFFC4,0,0x8C830000 lw v1,(a0)<br /> 0xFFFC8,0,0xFC620000 sd v0,(v1)<br /> 0xFFFCC,0,0x24020015 li v0,0x15<br /> 0xFFFD0,0,0xFC620008 sd v0,0x8(v1)<br /> 0xFFFD4,0,0x24630010 addiu v1,0x10<br /> 0xFFFD8,0,0xAC830000 sw v1,(a0)<br /> 0xFFFDC,0,0x8C830010 lw v1,0x10(a0)<br /> 0xFFFE0,0,0x24630001 addiu v1,0x1<br /> 0xFFFE4,0,0xAC830010 sw v1,0x10(a0)<br /> 0xFFFE8,0,0x080A67A6 j pos_00299E98<br /> 0x299E90,0x3C020001 (lui v0,0x0001),0x0803FFE8 j pos_000FFFA0<br /> 0x299E94,0x00822021 (addu a0,v0),0x00000000 nop<br /> |-<br /> | NPUD20712 || Gradius V ||<br /> 00000000 3D 00 00 00 37 3E 00 00 0B 00 00 00 01 00 00 00 =...7&gt;..........<br /> 00000010 D3 05 00 00 10 03 00 00 08 00 00 00 03 E0 00 08 ................<br /> 00000020 00 00 00 00 27 BD FF C0 3C 03 00 4C 41 00 00 00 ....'...&lt;..LA...<br /> 00000030 26 00 00 00 E0 46 30 00 44 5E 30 00 00 00 00 00 &amp;....F0.D^0.....<br /> 00000040 53 4C 55 53 2D 32 30 37 31 32 SLUS-20712 <br /> || 15927 (3.71+) || <br /> 0x3D =&gt; 0x3E37 (15927)<br /> 0x0B =&gt; 1<br /> 0x5D3, (sector)<br /> 0x310, (offset -&gt; 0x2E9B04 in iso)<br /> 0x08, <br /> 03 E0 00 08 jr ra<br /> 00 00 00 00 nop<br /> 27 BD FF C0 addiu sp,-0x40<br /> 3C 03 00 4C lui v1,0x004C<br /> 0x41 =&gt; (sets some value 1, sync? - speedhack?)<br /> 0x26 =&gt; 0x3046E0, 0x0x305E44<br /> |-<br /> | NPUD20552 || Grand Theft Auto - Vice City ||<br /> 00000000 3D 00 00 00 A5 41 00 00 21 00 00 00 01 00 00 00 =....A..!.......<br /> 00000010 0A 00 00 00 0D 00 00 00 A0 FF 0F 00 00 00 00 00 ................<br /> 00000020 17 00 01 24 A4 FF 0F 00 00 00 00 00 08 00 24 14 ...$..........$.<br /> 00000030 AC FF 0F 00 00 00 00 00 10 00 01 3C B0 FF 0F 00 ...........&lt;....<br /> 00000040 00 00 00 00 90 FF 22 8C B4 FF 0F 00 00 00 00 00 ......&quot;.........<br /> 00000050 FF FF 42 24 B8 FF 0F 00 00 00 00 00 05 00 40 1C ..B$..........@.<br /> 00000060 C0 FF 0F 00 00 00 00 00 04 00 02 24 C4 FF 0F 00 ...........$....<br /> 00000070 00 00 00 00 90 FF 22 AC C8 FF 0F 00 00 00 00 00 ......&quot;.........<br /> 00000080 C1 3A 0B 08 CC FF 0F 00 00 00 00 00 D0 FF BD 27 .:.............'<br /> 00000090 D0 FF 0F 00 00 00 00 00 08 00 E0 03 D4 FF 0F 00 ................<br /> 000000A0 00 00 00 00 90 FF 22 AC 00 EB 2C 00 D0 FF BD 27 ......&quot;...,....'<br /> 000000B0 E8 FF 03 08 00 00 00 00 53 4C 55 53 2D 32 30 35 ........SLUS-205<br /> 000000C0 35 32 52<br /> || 16805 (4.30+) ||<br /> 0x3D =&gt; 0x41A5 (16805)<br /> 0x21 =&gt; 1<br /> 0x0A = 0xD<br /> 0xFFFA0,0,0x24010017 li at,0x17<br /> 0xFFFA4,0,0x14240008 bne at,a0,pos_000FFFC8<br /> 0xFFFAC,0,0x3C010010 lui at,0x0010<br /> 0xFFFB0,0,0x8C22FF90 lw v0,-0x70(at)<br /> 0xFFFB4,0,0x2442FFFF addiu v0,-0x1<br /> 0xFFFB8,0,0x1C400005 bgtz v0,pos_000FFFD0<br /> 0xFFFC0,0,0x24020004 li v0,0x4<br /> 0xFFFC4,0,0xAC22FF90 sw v0,-0x70(at)<br /> 0xFFFC8,0,0x080B3AC1 j pos_002CEB04<br /> 0xFFFCC,0,0x27BDFFD0 addiu sp,-0x30<br /> 0xFFFD0,0,0x03E00008 jr ra<br /> 0xFFFD4,0,0xAC22FF90 sw v0,-0x70(at)<br /> 0x2CEB00,0x27BDFFD0 ( addiu sp,-0x30 ),0x0803FFE8 j pos_000FFFA0<br /> <br /> |-<br /> | NPED00063 || Grand Theft Auto III ||<br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 90 97 34 00 =....=........4.<br /> 00000010 10 00 00 00 21 00 00 00 01 00 00 00 00 00 00 00 ....!...........<br /> 00000020 53 4C 45 53 2D 35 30 33 33 30 SLES-50330<br /> || 15753 (3.73+) ||<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x01 =&gt; 0x349790, 0x10<br /> 0x21 =&gt; 1<br /> |-<br /> | NPUD20062 || Grand Theft Auto III ||<br /> 00000000 3D 00 00 00 48 3F 00 00 19 00 00 00 01 00 00 00 =...H?..........<br /> 00000010 40 8B 34 00 0F 00 00 00 21 00 00 00 01 00 00 00 @.4.....!.......<br /> 00000020 0B 00 00 00 01 00 00 00 71 6D 0F 00 EC 04 00 00 ........qm......<br /> 00000030 B0 00 00 00 03 E0 00 08 00 00 00 00 3C 01 00 10 ............&lt;...<br /> 00000040 8C 21 FE F0 14 20 00 25 00 00 00 00 27 BD FF 50 .!... .%....'..P<br /> 00000050 08 0B 64 B9 7F BF 00 50 00 00 00 00 34 02 00 03 ..d....P....4...<br /> 00000060 34 01 00 43 10 81 00 15 34 03 00 00 34 01 00 20 4..C....4...4.. <br /> 00000070 10 81 00 12 34 03 00 01 34 01 00 1F 10 81 00 0F ....4...4.......<br /> 00000080 34 03 00 02 34 01 00 1D 10 81 00 0C 34 03 00 03 4...4.......4...<br /> 00000090 34 02 00 02 34 01 00 39 10 81 00 08 34 03 00 04 4...4..9....4...<br /> 000000A0 34 02 00 01 34 01 00 1A 10 81 00 04 34 03 00 05 4...4.......4...<br /> 000000B0 27 BD FE F0 08 0B 1D 05 7F BF 00 90 3C 01 00 10 '...........&lt;...<br /> 000000C0 00 23 18 21 90 79 FE E0 27 39 00 01 03 22 08 2A .#.!.y..'9...&quot;.*<br /> 000000D0 00 01 C8 0A 13 20 FF F6 A0 79 FE E0 03 E0 00 08 ..... ...y......<br /> 000000E0 00 00 00 00 27 BD FE D0 7F BF 00 B0 7F BE 00 A0 ....'...........<br /> 000000F0 7F B7 00 90 7F B6 00 80 7F B5 00 70 7F B4 00 60 ...........p...`<br /> 00000100 7F B3 00 50 7F B2 00 40 7F B1 00 30 7F B0 00 20 ...P...@...0... <br /> 00000110 E7 B7 00 1C E7 B6 00 18 E7 B5 00 14 E7 B4 00 10 ................<br /> 00000120 27 B7 00 F4 46 00 65 06 E7 AC 00 F0 24 07 00 01 '...F.e.....$...<br /> 00000130 46 00 75 86 27 B0 00 F8 46 00 7D 46 E6 ED 00 00 F.u.'...F.}F....<br /> 00000140 3C 02 C4 7A AE 02 00 00 3C 02 44 7A FF A0 00 00 &lt;..z....&lt;.Dz....<br /> 00000150 44 82 60 00 27 A4 00 F0 46 00 6D C6 27 A5 00 C0 D.`.'...F.m.'...<br /> 00000160 27 A6 01 2C 70 00 46 28 70 00 4E 28 70 00 56 28 '..,p.F(p.N(p.V(<br /> 00000170 70 E0 5E 28 0C 0A A8 34 FF A0 00 08 27 B1 00 C8 p.^(...4....'...<br /> 00000180 C6 20 00 00 3C 02 40 00 44 82 08 00 24 07 00 01 . ..&lt;.@.D...$...<br /> 00000190 3C 02 44 7A 0A 00 00 00 07 00 00 00 40 7D 24 00 &lt;.Dz........@}$.<br /> 000001A0 08 00 E0 03 10 00 01 3C 44 7D 24 00 00 00 00 00 .......&lt;D}$.....<br /> 000001B0 08 00 E0 03 48 7D 24 00 00 00 00 00 F0 FE 22 AC ....H}$.......&quot;.<br /> 000001C0 E0 92 2D 00 50 FF BD 27 1A 2B 0D 08 E4 92 2D 00 ..-.P..'.+....-.<br /> 000001D0 50 00 BF 7F 00 00 00 00 10 74 2C 00 F0 FE BD 27 P........t,....'<br /> 000001E0 22 2B 0D 08 14 74 2C 00 90 00 BF 7F 00 00 00 00 &quot;+...t,.........<br /> 000001F0 00 00 00 00 53 4C 55 53 2D 32 30 30 36 32 ....SLUS-20062 <br /> || 16200 (4.10+) ||<br /> 0x3D =&gt; 0x3F48 (16200)<br /> 0x19 =&gt; (sets some value 1)<br /> 0x01 =&gt; 0x348B40, 0xF<br /> 0x21 =&gt; 1<br /> 0x0B =&gt; 1<br /> 0xF6D71, (sector)<br /> 0x4EC, (offset -&gt; 0x7B6B8CE0 in iso)<br /> 0xB0, <br /> 03 E0 00 08 jr ra<br /> 00 00 00 00 nop<br /> 3C 01 00 10 lui at,0x0010<br /> 8C 21 FE F0 lw at,-0x110(at)<br /> 14 20 00 25 bnez at,+0x98<br /> 00 00 00 00 nop<br /> 27 BD FF 50 addiu sp,-0xB0<br /> 08 0B 64 B9 j +0x22C78<br /> 7F BF 00 50 sq ra,0x50(sp)<br /> 00 00 00 00 nop<br /> 34 02 00 03 li v0,0x3<br /> 34 01 00 43 li at,0x43<br /> 10 81 00 15 beq a0,at,+0x5C<br /> 34 03 00 00 li v1,0x0<br /> 34 01 00 20 li at,0x20<br /> 10 81 00 12 beq a0,at,+0x4C<br /> 34 03 00 01 li v1,0x1<br /> 34 01 00 1F li at,0x1F<br /> 10 81 00 0F beq a0,at,+0x3C<br /> 34 03 00 02 li v1,0x2<br /> 34 01 00 1D li at,0x1D<br /> 10 81 00 0C beq a0,at,+0x2C<br /> 34 03 00 03 li v1,0x3<br /> 34 02 00 02 li v0,0x2<br /> 34 01 00 39 li at,0x39<br /> 10 81 00 08 beq a0,at,+0x24<br /> 34 03 00 04 li v1,0x4<br /> 34 02 00 01 li v0,0x1<br /> 34 01 00 1A li at,0x1A<br /> 10 81 00 04 beq a0,at,+0x14<br /> 34 03 00 05 li v1,0x5<br /> 27 BD FE F0 addiu sp,-0x110<br /> 08 0B 1D 05 j +0x10D54<br /> 7F BF 00 90 sq ra,0x90(sp)<br /> 3C 01 00 10 lui at,0x0010<br /> 00 23 18 21 addu v1,at<br /> 90 79 FE E0 lbu t9,-0x120(v1)<br /> 27 39 00 01 addiu t9,0x1<br /> 03 22 08 2A slt at,t9,v0<br /> 00 01 C8 0A movz t9,zero,at<br /> 13 20 FF F6 beqz t9,-0x24<br /> A0 79 FE E0 sb t9,-0x120(v1)<br /> 03 E0 00 08 jr ra<br /> 00 00 00 00 nop<br /> 27 BD FE D0 addiu sp,-0x130<br /> 7F BF 00 B0 sq ra,0xB0(sp)<br /> 7F BE 00 A0 sq fp,0xA0(sp)<br /> 7F B7 00 90 sq s7,0x90(sp)<br /> 7F B6 00 80 sq s6,0x80(sp)<br /> 7F B5 00 70 sq s5,0x70(sp)<br /> 7F B4 00 60 sq s4,0x60(sp)<br /> 7F B3 00 50 sq s3,0x50(sp)<br /> 7F B2 00 40 sq s2,0x40(sp)<br /> 7F B1 00 30 sq s1,0x30(sp)<br /> 7F B0 00 20 sq s0,0x20(sp)<br /> E7 B7 00 1C swc1 f23,0x1C(sp)<br /> E7 B6 00 18 swc1 f22,0x18(sp)<br /> E7 B5 00 14 swc1 f21,0x14(sp)<br /> E7 B4 00 10 swc1 f20,0x10(sp)<br /> 27 B7 00 F4 addiu s7,sp,0xF4<br /> 46 00 65 06 mov.s f20,f12<br /> E7 AC 00 F0 swc1 f12,0xF0(sp)<br /> 24 07 00 01 li a3,0x1<br /> 46 00 75 86 mov.s f22,f14<br /> 27 B0 00 F8 addiu s0,sp,0xF8<br /> 46 00 7D 46 mov.s f21,f15<br /> E6 ED 00 00 swc1 f13,(s7)<br /> 3C 02 C4 7A lui v0,0xC47A<br /> AE 02 00 00 sw v0,(s0)<br /> 3C 02 44 7A lui v0,0x447A<br /> FF A0 00 00 sd zero,(sp)<br /> 44 82 60 00 mtc1 v0,f12<br /> 27 A4 00 F0 addiu a0,sp,0xF0<br /> 46 00 6D C6 mov.s f23,f13<br /> 27 A5 00 C0 addiu a1,sp,0xC0<br /> 27 A6 01 2C addiu a2,sp,0x12C<br /> 70 00 46 28 paddub t0,zero,zero<br /> 70 00 4E 28 paddub t1,zero,zero<br /> 70 00 56 28 paddub t2,zero,zero<br /> 70 E0 5E 28 paddub t3,a3,zero<br /> 0C 0A A8 34 jal -0xC5C4<br /> FF A0 00 08 sd zero,0x8(sp)<br /> 27 B1 00 C8 addiu s1,sp,0xC8<br /> C6 20 00 00 lwc1 f00,(s1)<br /> 3C 02 40 00 lui v0,0x4000<br /> 44 82 08 00 mtc1 v0,f01<br /> 24 07 00 01 li a3,0x1<br /> 3C 02 44 7A lui v0,0x447A<br /> 0x0A =&gt; 7<br /> 0x247D40, 0x03E00008 (jr ra), 0x3C010010 lui at,0x0010<br /> 0x247D44, 0x00000000 (nop), 0x03E00008 jr ra<br /> 0x247D48, 0x00000000 (nop), 0xAC22FEF0 sw v0,-0x110(at)<br /> 0x2D92E0, 0x27BDFF50 (addiu sp,-0xB0), 0x080D2B1A j pos_0034AC68<br /> 0x2D92E4, 0x7FBF0050 (sq ra,0x50(sp)), 0x00000000 nop<br /> 0x2C7410, 0x27BDFEF0 (addiu sp,-0x110), 0x080D2B22 j pos_0034AC88<br /> 0x2C7414, 0x7FBF0090 (sq ra,0x90(sp)), 0x00000000 nop<br /> |-<br /> | NPED00070 || Grand Theft Auto - San Andreas ||<br /> 00000000 3D 00 00 00 60 40 00 00 0F 00 00 00 B0 45 1E 00 =...`@.......E..<br /> 00000010 08 51 1E 00 40 00 00 00 00 00 00 00 53 4C 45 53 .Q..@.......SLES<br /> 00000020 2D 35 32 39 32 37 -52927<br /> || 16480 (4.20+) ||<br /> 0x3D =&gt; 0x4060 (16480)<br /> 0x0F =&gt; 0x1E45B0, 0x1E5108<br /> 0x40 =&gt; (sets some value 1)<br /> |-<br /> | NPUD20946 || Grand Theft Auto - San Andreas ||<br /> 00000000 3D 00 00 00 60 40 00 00 0F 00 00 00 DC 46 1E 00 =...`@.......F..<br /> 00000010 E8 4A 1E 00 40 00 00 00 00 00 00 00 53 4C 55 53 .J..@.......SLUS<br /> 00000020 2D 32 30 39 34 36 -20946<br /> || 16480 (4.20+) ||<br /> 0x3D =&gt; 0x4060 (16480)<br /> 0x0F =&gt; 0x1E46DC, 0x1E4AE8<br /> 0x40 =&gt; (sets some value 1)<br /> |-<br /> | NPJD00062 || Grandia II ||<br /> <br /> || || texture bugs<br /> <br /> |-<br /> | NPUD21604 || GRIMgRiMoiRe ||<br /> 00000000 3D 00 00 00 12 3D 00 00 15 00 00 00 04 00 00 00 =....=..........<br /> || 15634 (3.70+) ||<br /> 0x3D =&gt; 0x3D12 (15634)<br /> 0x15 =&gt; 4<br /> |-<br /> | NPJD00020 || Katamari Damacy ||<br /> 00000000 3D 00 00 00 46 40 00 00 41 00 00 00 0B 00 00 00 =...F@..A.......<br /> 00000010 01 00 00 00 29 04 00 00 40 00 00 00 04 00 00 00 ....)...@.......<br /> 00000020 00 24 77 68 00 00 00 00 00 00 00 00 53 4C 50 53 .$wh........SLPS<br /> 00000030 2D 32 35 33 36 30 -25360<br /> || 16454 (4.20+)||<br /> 0x3D =&gt; 0x4046 (16454)<br /> 0x41 =&gt; (sets some value 1, sync? - speedhack?)<br /> 0x0B =&gt; 1<br /> 0x429, (sector)<br /> 0x40, (offset -&gt; 0x214834 in iso)<br /> 0x04,<br /> 0x68772400 mfsa t6 , <br /> 0x00000000 nop<br /> |-<br /> | NPUD20847 || La Pucelle: Tactics ||<br /> 00000000 3D 00 00 00 DB 3F 00 00 0A 00 00 00 0B 00 00 00 =....?..........<br /> 00000010 40 FA 0F 00 00 00 00 00 0C 01 0A 3C 44 FA 0F 00 @..........&lt;D...<br /> 00000020 00 00 00 00 04 DE 4A 35 48 FA 0F 00 00 00 00 00 ......J5H.......<br /> 00000030 04 00 45 11 4C FA 0F 00 00 00 00 00 00 00 00 00 ..E.L...........<br /> 00000040 50 FA 0F 00 00 00 00 00 10 00 0A 8E 54 FA 0F 00 P...........T...<br /> 00000050 00 00 00 00 9A E2 04 08 58 FA 0F 00 00 00 00 00 ........X.......<br /> 00000060 14 00 0B 8E 5C FA 0F 00 00 00 00 00 9C E2 04 08 ....\...........<br /> 00000070 60 FA 0F 00 00 00 00 00 00 00 00 00 60 8A 13 00 `...........`...<br /> 00000080 10 00 0A 8E 90 FE 03 08 64 8A 13 00 14 00 0B 8E ........d.......<br /> 00000090 00 00 00 00 00 00 00 00 53 4C 55 53 2D 32 30 38 ........SLUS-208<br /> 000000A0 34 37 47 <br /> || 16347 (4.10+) || fixes blackscreen - config rebuild function/opcode from 0x138A60 by rewrite it under 0x100000 offset, and jump to it by j 0x000FFA40 (note: area under 0x100000 is unused in 99% games, but can be freely addressed).<br /> 0x3D =&gt; 0x3FDB (16347)<br /> 0x0A =&gt; 0xB<br /> 0xFFA40,0,0x3C0A010C lui t2, 0x010C<br /> 0xFFA44,0,0x354ADE04 ori t2, 0xDE04<br /> 0xFFA48,0,0x11450004 beq t2, a1, 0x000FFA5C<br /> 0xFFA4C,0,0 nop<br /> 0xFFA50,0,0x8E0A0010 lw t2, 0x10(s0)<br /> 0xFFA54,0,0x0804E29A j 0x00138A68<br /> 0xFFA58,0,0x8E0B0014 lw t3, 0x14(s0)<br /> 0xFFA5C,0,0x0804E29C j 0x00138A70<br /> 0xFFA60,0,0 nop<br /> 0x138A60,0x8E0A0010 (lw t2, 0x10(s0)),0x0803FE90 j 0x000FFA40<br /> 0x138A64,0x8E0B0014 (lw t3, 0x14(s0)),0 (nop)<br /> |-<br /> | NPUD20275 || Kessen II ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0B 00 00 00 03 00 00 00 =....=..........<br /> 00000010 10 76 00 00 BC 07 00 00 10 00 00 00 48 43 88 00 .v..........HC..<br /> 00000020 4B E5 21 AC 30 84 80 00 4B E7 2B 3C 4B E5 21 AC K.!.0...K.+&lt;K.!.<br /> 00000030 30 84 80 00 4B E7 2B 3C 48 43 88 00 64 76 00 00 0...K.+&lt;HC..dv..<br /> 00000040 10 05 00 00 0C 00 00 00 4B C0 10 9C 4B C0 18 DC ........K...K...<br /> 00000050 4A 68 03 BE 4A 68 03 BE 4B C0 10 9C 4B C0 18 DC Jh..Jh..K...K...<br /> 00000060 64 76 00 00 C8 06 00 00 0C 00 00 00 4B C0 10 9C dv..........K...<br /> 00000070 4B C0 18 DC 4A 68 03 BE 4A 68 03 BE 4B C0 10 9C K...Jh..Jh..K...<br /> 00000080 4B C0 18 DC 00 00 00 00 53 4C 55 53 2D 32 30 32 K.......SLUS-202<br /> 00000090 37 35 75 <br /> || 15753 (3.73+) || fixes spickey polygon syndrome problems for characters in cutscenes/selection/..<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0B =&gt; 3<br /> 0x7610, 0x07BC, 0x10, <br /> Patched Bytes:<br /> 0x00884348 00 88 43 48 cfc2 $v1, $17 (cfc2 v1,MACflag)<br /> 0xAC21E54B AC 21 E5 4B cop2 0x1E521AC (vsub.xyzw vf06, vf04, vf05)<br /> 0x00808430 00 80 84 30 andi $a0, 0x8000<br /> 0x3C2BE74B 3C 2B E7 4B cop2 0x1E72B3C (vmove.xyzw, vf07, vf05)<br /> Original Bytes:<br /> 0xAC21E54B AC 21 E5 4B cop2 0x1E521AC (vsub.xyzw vf06, vf04, vf05)<br /> 0x00808430 00 80 84 30 andi $a0, 0x8000<br /> 0x3C2BE74B 3C 2B E7 4B cop2 0x1E72B3C (vmove.xyzw, vf07, vf05)<br /> 0x00884348 00 88 43 48 cfc2 $v1, $17 (cfc2 v1,MACflag)<br /> 0x7664, 0x0510, 0x0C,<br /> Patched Bytes:<br /> 0x9C10C04B 9C 10 C0 4B cop2 0x1C0109C (vmulq.xyz vf02,vf02,Q)<br /> 0xDC18C04B DC 18 C0 4B cop2 0x1C018DC (vmulq.xyz vf03,vf03,Q)<br /> 0xBE03684A BE 03 68 4A cop2 0x6803BE (vrsqrt Q, vf00w, vf08x)<br /> Original Bytes:<br /> 0xBE03684A BE 03 68 4A cop2 0x6803BE (vrsqrt Q, vf00w, vf08x)<br /> 0x9C10C04B 9C 10 C0 4B cop2 0x1C0109C (vmulq.xyz vf02,vf02,Q)<br /> 0xDC18C04B DC 18 C0 4B cop2 0x1C018DC (vmulq.xyz vf03,vf03,Q)<br /> 0x7664, 0x06C8, 0x0C, <br /> Patched Bytes:<br /> 0x9C10C04B 9C 10 C0 4B cop2 0x1C0109C (vmulq.xyz vf02,vf02,Q)<br /> 0xDC18C04B DC 18 C0 4B cop2 0x1C018DC (vmulq.xyz vf03,vf03,Q)<br /> 0xBE03684A BE 03 68 4A cop2 0x6803BE (vrsqrt Q, vf00w, vf08x)<br /> Original Bytes:<br /> 0xBE03684A BE 03 68 4A cop2 0x6803BE (vrsqrt Q, vf00w, vf08x)<br /> 0x9C10C04B 9C 10 C0 4B cop2 0x1C0109C (vmulq.xyz vf02,vf02,Q)<br /> 0xDC18C04B DC 18 C0 4B cop2 0x1C018DC (vmulq.xyz vf03,vf03,Q)<br /> |-<br /> | NPJD00040 || Mana Khemia 2 ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 53 4C 50 4D 2D 35 35 31 ........SLPM-551<br /> 00000020 31 34 14<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> |-<br /> | NPUD20827 || Manhunt ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0A 00 00 00 0F 00 00 00 =....=..........<br /> 00000010 A0 FF 0F 00 00 00 00 00 2D 68 A0 00 A4 FF 0F 00 ........-h......<br /> 00000020 00 00 00 00 14 00 AE 8D A8 FF 0F 00 00 00 00 00 ................<br /> 00000030 10 00 AC 8D AC FF 0F 00 00 00 00 00 50 00 AF 8D ............P...<br /> 00000040 B0 FF 0F 00 00 00 00 00 08 00 8F 15 B4 FF 0F 00 ................<br /> 00000050 00 00 00 00 54 00 AB 8D B8 FF 0F 00 00 00 00 00 ....T...........<br /> 00000060 06 00 CB 15 BC FF 0F 00 00 00 00 00 00 80 8F 25 ...............%<br /> 00000070 C0 FF 0F 00 00 00 00 00 00 80 CE 25 C4 FF 0F 00 ...........%....<br /> 00000080 00 00 00 00 54 00 AE AD C8 FF 0F 00 00 00 00 00 ....T...........<br /> 00000090 50 00 AF AD CC FF 0F 00 00 00 00 00 10 00 AF AD P...............<br /> 000000A0 D0 FF 0F 00 00 00 00 00 14 00 AE AD D4 FF 0F 00 ................<br /> 000000B0 00 00 00 00 04 68 10 08 D8 FF 0F 00 00 00 00 00 .....h..........<br /> 000000C0 5F 00 03 3C 0B 00 00 00 01 00 00 00 22 0D 00 00 _..&lt;........&quot;...<br /> 000000D0 14 01 00 00 08 00 00 00 08 03 FF E8 27 BD FF F0 ............'...<br /> 000000E0 3C 03 00 5F 27 BD FF F0 00 00 00 00 53 4C 55 53 &lt;.._'.......SLUS<br /> 000000F0 2D 32 30 38 32 37 -20827<br /> || 15753 (3.73+) || fixes graphical issues<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0A =&gt; 0x0F<br /> 0xFFFA0,0, 0x00A0682D 2D 68 A0 00 dmove t5,a1<br /> 0xFFFA4,0, 0x8DAE0014 14 00 AE 8D lw t6,0x14(t5)<br /> 0xFFFA8,0, 0x8DAC0010 10 00 AC 8D lw t4,0x10(t5)<br /> 0xFFFAC,0, 0x8DAF0050 50 00 AF 8D lw t7,0x50(t5)<br /> 0xFFFB0,0, 0x158F0008 08 00 8F 15 bne t4,t7,pos_000FFFD4<br /> 0xFFFB4,0, 0x8DAB0054 54 00 AB 8D lw t3,0x54(t5)<br /> 0xFFFB8,0, 0x15CB0006 06 00 CB 15 bne t6,t3,pos_000FFFD4<br /> 0xFFFBC,0, 0x258F8000 00 80 8F 25 addiu t7,t4,-0x8000<br /> 0xFFFC0,0, 0x25CE8000 00 80 CE 25 addiu t6,-0x8000<br /> 0xFFFC4,0, 0xADAE0054 54 00 AE AD sw t6,0x54(t5)<br /> 0xFFFC8,0, 0xADAF0050 50 00 AF AD sw t7,0x50(t5)<br /> 0xFFFCC,0, 0xADAF0010 10 00 AF AD sw t7,0x10(t5)<br /> 0xFFFD0,0, 0xADAE0014 14 00 AE AD sw t6,0x14(t5)<br /> 0xFFFD4,0, 0x08106804 04 68 10 08 j pos_0041A010<br /> 0xFFFD8,0, 0x3C03005F 5F 00 03 3C lui v1,0x005F<br /> 0x0B =&gt; 1<br /> 0xD22, (disc sector)<br /> 0x114, (offset -&gt; 0x691108 in iso)<br /> 0x08,<br /> 0x0803FFE8 E8 FF 03 08 j pos_000FFFA0<br /> 0x27BDFFF0 F0 FF BD 27 addiu sp,-0x10<br /> 0x3C03005F 5F 00 03 3C lui v1,0x005F<br /> 0x27BDFFF0 F0 FF BD 27 addiu sp,-0x10<br /> &lt;pre&gt;<br /> z_un_0041a008:<br /> <br /> lui v1,0x005F &lt;- gets overwritten<br /> addiu sp,-0x10<br /> lw v0,-0x5C14(v1)<br /> sd ra,(sp)<br /> jalr v0<br /> nop <br /> ld ra,(sp)<br /> jr ra<br /> addiu sp,0x10<br /> nop <br /> &lt;/pre&gt;<br /> |-<br /> | NPED00145 || Max Payne ||<br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 F4 E9 52 00 =....=........R.<br /> 00000010 03 00 00 00 01 00 00 00 78 EB 52 00 02 00 00 00 ........x.R.....<br /> 00000020 00 00 00 00 53 4C 45 53 2D 35 30 33 32 35 ....SLES-50325<br /> || 15753 (3.73+) || fixes game hang on first cutscene/cutscenes<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x01 =&gt; 0x52E9F4, 3 (applies to main_p.run ELF on disc: 0x52E9F4 dmove a1,v0 )<br /> 0x01 =&gt; 0x52EB78, 2 (applies to main_p.run ELF on disc: 0x52EB78 lq s1,0x10(sp) )<br /> |-<br /> | NPED00055 || MX World Tour: Featuring Jamie Little ||<br /> <br /> || || blackscreen<br /> <br /> |-<br /> | NPUD21577 || Odin Sphere ||<br /> 00000000 3D 00 00 00 10 3D 00 00 0B 00 00 00 02 00 00 00 =....=..........<br /> 00000010 52 04 00 00 F8 03 00 00 04 00 00 00 2D 02 49 0C R...........-.I.<br /> 00000020 2D 02 49 14 52 04 00 00 70 04 00 00 04 00 00 00 -.I.R...p.......<br /> 00000030 2D 03 49 0C 2D 03 49 14 15 00 00 00 04 00 00 00 -.I.-.I.........<br /> || 15632 (3.70+) ||<br /> 0x3D =&gt; 0x3D10 (15632)<br /> 0x0B =&gt; 2<br /> 0x452, (sector)<br /> 0x3F8, (offset -&gt; 0x2293EC in iso)<br /> 0x04,<br /> 0x0C49022D sltiu v0,t0,0x490C,<br /> 0x1449022D sltiu v0,t0,0x4914,<br /> 0x452, (sector)<br /> 0x470, (offset -&gt; 0x229464 in iso)<br /> 0x04,<br /> 0x0C49032D sltiu v1,t0,0x490C,<br /> 0x1449032D sltiu v1,t0,0x4914<br /> 0x15 =&gt; 4<br /> |-<br /> | NPJD00028 || Phantasy Star Complete Collection ||<br /> 00000000 3D 00 00 00 B8 41 00 00 45 00 00 00 00 00 00 00 =....A..E.......<br /> 00000010 53 4C 50 4D 2D 36 32 37 37 35 SLPM-62775<br /> || 16824 (4.40+)||<br /> 0x3D =&gt; 0x41B8 (16824)<br /> 0x45 =&gt; (sets some value 1)<br /> |-<br /> | NPUC97142 || Primal ||<br /> 00000000 3D 00 00 00 65 3D 00 00 12 00 00 00 0D 00 00 00 =...e=..........<br /> 00000010 00 00 00 04 00 00 00 00 02 00 03 00 5F 01 00 00 ............_...<br /> 00000020 8D BD 6F 2C 67 03 00 00 02 00 03 00 6B 01 00 00 ..o,g.......k...<br /> 00000030 31 35 70 E9 72 03 00 00 03 00 02 00 60 9B 39 10 15p.r.......`.9.<br /> 00000040 18 9C 39 10 0B 00 00 00 01 00 00 00 47 07 00 00 ..9.........G...<br /> 00000050 6C 04 00 00 04 00 00 00 80 5F 03 3C 80 00 03 3C l........_.&lt;...&lt;<br /> || 15717 (3.73+) || fixes loading screen freezing<br /> 0x3D =&gt; 0x3D65 (15717)<br /> 0x12 =&gt; 0x0D, (fixes freezing)<br /> 00 00 00 04 0x04000000 (64 MB?)<br /> 00 00 00 00 <br /> 02 00&gt;'''03 00'''&lt; Count, Type 2<br /> 5F 01 00 00 0x15F<br /> 8D BD 6F 2C 0x2C6FBD8D<br /> 67 03 00 00 0x367<br /> 02 00&gt;'''03 00'''&lt; Count, Type 2<br /> 6B 01 00 00 0x16B<br /> 31 35 70 E9 0xE9703531<br /> 72 03 00 00 0x372<br /> 03 00&gt;'''02 00'''&lt; Count<br /> 60 9B 39 10 -&gt; 0x399B60 ctc2 $zero, $5<br /> 18 9C 39 10 -&gt; 0x399C18 ctc2 $zero, $5<br /> 0x0B =&gt; 1<br /> 0x747, (disc sector)<br /> 0x46C, (offset -&gt; 0x3A3C60 - this patch is for another (hidden) .elf (.vutext) on disc) <br /> 0x04,<br /> 0x3C035F80 lui v1,0x5F80,<br /> 0x3C030080 lui v1,0x0080<br /> |-<br /> | NPUD21120 || Psychonauts ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0B 00 00 00 01 00 00 00 =....=..........<br /> 00000010 12 01 00 00 58 00 00 00 04 00 00 00 00 00 00 00 ....X...........<br /> 00000020 11 CF FF F9 00 00 00 00 53 4C 55 53 2D 32 31 31 ........SLUS-211<br /> 00000030 32 30 20<br /> || 15753 (3.73+) || <br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0B =&gt; 1<br /> 0x112, (sector)<br /> 0x58, (offset -&gt; 0x8904C in iso)<br /> 0x04,<br /> 0x00000000 nop, <br /> 0xF9FFCF11 beq t6,t7,-0x18<br /> |-<br /> | NPUD20272 || Rayman Arena||<br /> 00000000 3D 00 00 00 89 3D 00 00 12 00 00 00 11 00 00 00 =....=..........<br /> 00000010 00 00 00 04 00 00 00 00 02 00 04 00 00 00 00 00 ................<br /> 00000020 AE B3 4E 5D 20 02 00 00 46 02 00 00 03 00 09 00 ..N] ...F.......<br /> 00000030 B0 E9 1D 10 94 EB 1D 10 00 EC 1D 10 54 EC 1D 10 ............T...<br /> 00000040 A0 EE 1D 10 DC EE 1D 10 78 F0 1D 10 B4 F0 1D 10 ........x.......<br /> 00000050 54 F1 1D 10 00 00 00 00 53 4C 55 53 2D 32 30 32 T.......SLUS-202<br /> 00000060 37 32 72 <br /> || 15753 (3.73+) || <br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x12 =&gt; 0x11<br /> 00 00 00 04 <br /> 00 00 00 00 <br /> 02 00&gt;'''04 00'''&lt; Count<br /> 00 00 00 00 <br /> AE B3 4E 5D <br /> 20 02 00 00 <br /> 46 02 00 00 <br /> 03 00&gt;'''09 00'''&lt; Count<br /> B0 E9 1D 10 -&gt; 0x1DE9B0 ctc2 $t0, $6<br /> 94 EB 1D 10 -&gt; 0x1DEB94 ctc2 $t0, $6<br /> 00 EC 1D 10 -&gt; 0x1DEC00 ctc2 $t0, $6<br /> 54 EC 1D 10 -&gt; 0x1DEC54 ctc2 $t0, $6<br /> A0 EE 1D 10 -&gt; 0x1DEEA0 ctc2 $t0, $6<br /> DC EE 1D 10 -&gt; 0x1DEEDC ctc2 $t0, $6<br /> 78 F0 1D 10 -&gt; 0x1DF078 ctc2 $t0, $6<br /> B4 F0 1D 10 -&gt; 0x1DF0B4 ctc2 $t0, $6<br /> 54 F1 1D 10 -&gt; 0x1DF154 ctc2 $t0, $6<br /> |-<br /> | NPJD00079 || Raw Danger! ||<br /> <br /> || || fps problem<br /> <br /> |-<br /> | NPUD20442 || Red Faction 2 ||<br /> 00000000 3D 00 00 00 42 3F 00 00 19 00 00 00 00 00 00 00 =...B?..........<br /> 00000010 53 4C 55 53 2D 32 30 34 34 32 SLUS-20442<br /> || 16194 (4.00+) || <br /> 0x3D =&gt; 0x3F42 (16194)<br /> 0x19 =&gt; (sets some value 1)<br /> |-<br /> | NPUD20471 || Rygar ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0E 00 00 00 A8 7D 14 00 =....=.......}..<br /> 00000010 00 00 00 00 53 4C 55 53 2D 32 30 34 37 31 ....SLUS-20471<br /> || 15753 (3.73+) || fixes hard crash at start when leaving the place<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0E =&gt; 0x147DA8 (offset)<br /> <br /> .text:00147DA8 sub.s $f12, $f20, $f12<br /> |-<br /> | NPUD20974 || Shin Megami Tensei Digital Devil Saga 1|| <br /> 00000000 3D 00 00 00 EC 42 00 00 46 00 00 00 48 00 00 00 =....B..F...H...<br /> 00000010 01 00 00 00 90 D0 03 00 00 00 00 00 53 4C 55 53 ............SLUS<br /> 00000020 2D 32 30 39 37 34 -20974<br /> || 17132 (4.50+) || fixes screen shakes/framerate cracks<br /> 0x3D =&gt; 0x42EC (17132)<br /> 0x46 =&gt; (sets some value 1)<br /> 0x48 =&gt; 0x1 , 0x3D090<br /> |-<br /> | NPUD20911 || Shin Megami Tensei Nocturne || <br /> 00000000 3D 00 00 00 F6 41 00 00 46 00 00 00 00 00 00 00 =....A..F.......<br /> 00000010 53 4C 55 53 2D 32 30 39 31 31 SLUS-20911<br /> || 16886 (4.40+) || fixes screen shakes/flickers (and much more importantly, game crashes)<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x46 =&gt; (sets some value 1)<br /> |-<br /> | NPUD21621 || Shin Megami Tensei Persona 3 FES ||<br /> 00000000 3D 00 00 00 48 41 00 00 0A 00 00 00 20 00 00 00 =...HA...... ...<br /> 00000010 00 FA 0F 00 00 00 00 00 E0 00 A4 8F 04 FA 0F 00 .·......Ó.ñÅ.·..<br /> 00000020 00 00 00 00 6C 01 03 24 08 FA 0F 00 00 00 00 00 ....l..$.·......<br /> 00000030 0A 00 83 14 0C FA 0F 00 00 00 00 00 FF 00 04 24 ..â..·...... ..$<br /> 00000040 10 FA 0F 00 00 00 00 00 B8 26 04 00 14 FA 0F 00 .·......©&amp;...·..<br /> 00000050 00 00 00 00 27 20 84 00 18 FA 0F 00 00 00 00 00 ....' ä..·......<br /> 00000060 D0 00 A3 DF 1C FA 0F 00 00 00 00 00 24 18 83 00 ð.ú¯.·......$.â.<br /> 00000070 20 FA 0F 00 00 00 00 00 0B 00 63 64 24 FA 0F 00 ·........cd$·..<br /> 00000080 00 00 00 00 33 00 04 24 28 FA 0F 00 00 00 00 00 ....3..$(·......<br /> 00000090 B8 26 04 00 2C FA 0F 00 00 00 00 00 25 18 83 00 ©&amp;..,·......%.â.<br /> 000000A0 30 FA 0F 00 00 00 00 00 D0 00 A3 FF 34 FA 0F 00 0·......ð.ú 4·..<br /> 000000B0 00 00 00 00 E1 B3 11 08 38 FA 0F 00 00 00 00 00 ....ߦ..8·......<br /> 000000C0 50 00 64 8E 7C CF 46 00 50 00 64 8E 80 FE 03 08 P.dÄ|¤F.P.dÄǦ..<br /> 000000D0 40 FA 0F 00 00 00 00 00 00 3C 04 3C 44 FA 0F 00 @·.......&lt;.&lt;D·..<br /> 000000E0 00 00 00 00 18 3F 05 3C 48 FA 0F 00 00 00 00 00 .....?.&lt;H·......<br /> 000000F0 20 00 24 AE 4C FA 0F 00 00 00 00 00 24 00 24 AE .$«L·......$.$«<br /> 00000100 50 FA 0F 00 00 00 00 00 60 00 25 AE 54 FA 0F 00 P·......`.%«T·..<br /> 00000110 00 00 00 00 64 00 24 AE 58 FA 0F 00 00 00 00 00 ....d.$«X·......<br /> 00000120 A0 00 24 AE 5C FA 0F 00 00 00 00 00 A4 00 25 AE á.$«\·......ñ.%«<br /> 00000130 60 FA 0F 00 00 00 00 00 E0 00 25 AE 64 FA 0F 00 `·......Ó.%«d·..<br /> 00000140 00 00 00 00 E4 00 25 AE 68 FA 0F 00 00 00 00 00 ....õ.%«h·......<br /> 00000150 04 00 04 24 6C FA 0F 00 00 00 00 00 39 9B 10 08 ...$l·......9ø..<br /> 00000160 70 FA 0F 00 00 00 00 00 10 00 25 26 DC 6C 42 00 p·........%&amp;_lB.<br /> 00000170 04 00 04 24 90 FE 03 08 E0 6C 42 00 10 00 25 26 ...$ɦ..ÓlB...%&amp;<br /> 00000180 00 00 00 00 30 6A 4C 00 80 3F 02 3C 7F 3F 02 3C ....0jL.Ç?.&lt;?.&lt;<br /> 00000190 21 00 00 00 00 00 00 00 15 00 00 00 04 00 00 00 !...............<br /> 000001A0 00 00 00 00 53 4C 55 53 2D 32 31 36 32 31 ....SLUS-21621<br /> || 16712 (4.25+)||<br /> 0x3D =&gt; 0x4148 (16712)<br /> 0x0A =&gt; 0x20<br /> 0xFFA00,0,0x8FA400E0 lw a0,0xE0(sp)<br /> 0xFFA04,0,0x2403016C li v1,0x16C<br /> 0xFFA08,0,0x1483000A bne a0,v1,pos_000FFA34<br /> 0xFFA0C,0,0x240400FF li a0,0xFF<br /> 0xFFA10,0,0x000426B8 dsll a0,0x1A<br /> 0xFFA14,0,0x00842027 nor a0,a0<br /> 0xFFA18,0,0xDFA300D0 ld v1,0xD0(sp)<br /> 0xFFA1C,0,0x00831824 and v1,a0,v1<br /> 0xFFA20,0,0x6463000B daddiu v1,0x000B<br /> 0xFFA24,0,0x24040030 li a0,0x30<br /> 0xFFA28,0,0x000426B8 dsll a0,0x1A<br /> 0xFFA2C,0,0x00831825 or v1,a0,v1<br /> 0xFFA30,0,0xFFA300D0 sd v1,0xD0(sp)<br /> 0xFFA34,0,0x0811B3E1 j pos_0046CF84<br /> 0xFFA38,0,0x8E640050 lw a0,0x50(s3)<br /> 0x46CF7C,0x8E640050 (lw a0,0x50(s3),0x0803FE80 j pos_000FFA00<br /> 0xFFA40,0,0x3C043C00 lui a0,0x3C00<br /> 0xFFA44,0,0x3C053F18 lui a1,0x3F18<br /> 0xFFA48,0,0xAE240020 sw a0,0x20(s1)<br /> 0xFFA4C,0,0xAE240024 sw a0,0x24(s1)<br /> 0xFFA50,0,0xAE250060 sw a1,0x60(s1)<br /> 0xFFA54,0,0xAE240064 sw a0,0x64(s1)<br /> 0xFFA58,0,0xAE2400A0 sw a0,0xA0(s1)<br /> 0xFFA5C,0,0xAE2500A4 sw a1,0xA4(s1)<br /> 0xFFA60,0,0xAE2500E0 sw a1,0xE0(s1)<br /> 0xFFA64,0,0xAE2500E4 sw a1,0xE4(s1)<br /> 0xFFA68,0,0x24040004 li a0,0x4<br /> 0xFFA6C,0,0x08109B39 j pos_00426CE4<br /> 0xFFA70,0,0x26250010 addiu a1,s1,0x10<br /> 0x426CDC,0x24040004(li a0,0x4),0x0803FE90 j pos_000FFA40<br /> 0x426CE0,0x26250010(addiu a1,s1,0x10),0 nop<br /> 0x4C6A30,0x3C023F80(lui v0,0x3F80),0x3C023F7F lui v0,0x3F7F<br /> 0x21 =&gt; 0<br /> 0x15 =&gt; 4<br /> |-<br /> | NPUD21782 || Shin Megami Tensei Persona 4 || <br /> 00000000 3D 00 00 00 89 3D 00 00 0A 00 00 00 01 00 00 00 =....=..........<br /> 00000010 60 9C 18 00 80 3F 02 3C 7F 3F 02 3C 00 00 00 00 `....?.&lt;.?.&lt;....<br /> 00000020 53 4C 55 53 2D 32 31 37 38 32 SLUS-21782<br /> || 15753 (3.73+) || Dungeon name in the corner is glitched (shows black bar).<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0A =&gt; 1<br /> 0x189C60, 0x3C023F80 lui v0,0x3F80 <br /> 0x3C023F7F lui v0,0x3F7F<br /> |-<br /> | NPUC97355 || Siren ||<br /> 00000000 3D 00 00 00 15 41 00 00 19 00 00 00 00 00 00 00 =....A..........<br /> 00000010 53 43 55 53 2D 39 37 33 35 35 SCUS-97355<br /> || 16661 (4.25+)|| <br /> 0x3D =&gt; 0x4115 (16661)<br /> 0x19 =&gt; (sets some value 1)<br /> |-<br /> | NPED00272 || Summoner ||<br /> 00000000 3D 00 00 00 89 3D 00 00 2C 00 00 00 01 00 00 00 =....=..,.......<br /> 00000010 00 00 00 00 53 4C 45 53 2D 38 32 30 30 35 ....SLES-82005 <br /> || 15753 (3.73+) || fixes blackscreen<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x2C =&gt; 0x1<br /> |-<br /> | NPUC97264 || Syphon Filter The Omega Strain || <br /> 00000000 3D 00 00 00 1F 40 00 00 12 00 00 00 05 00 00 00 =....@..........<br /> 00000010 00 00 00 00 00 00 00 00 01 00 02 00 31 00 99 18 ............1...<br /> 00000020 32 00 B6 18 0B 00 00 00 01 00 00 00 F5 05 00 00 2...............<br /> 00000030 8C 02 00 00 04 00 00 00 00 00 00 00 0C 0D C1 54 ...............T<br /> 00000040 0A 00 00 00 0B 00 00 00 F8 35 37 00 1B 52 06 4B .........57..R.K<br /> 00000050 00 80 43 48 FC 35 37 00 00 80 43 48 1B 52 06 4B ..CH.57...CH.R.K<br /> 00000060 EC 6F 3A 00 00 00 00 00 00 00 11 64 F8 6F 3A 00 .o:........d.o:.<br /> 00000070 78 A1 0E 0C 80 FE 03 0C 00 FA 0F 00 00 00 00 00 x...............<br /> 00000080 02 00 08 3C 04 FA 0F 00 00 00 00 00 2B 40 28 02 ...&lt;........+@(.<br /> 00000090 08 FA 0F 00 00 00 00 00 02 00 00 15 0C FA 0F 00 ................<br /> 000000A0 00 00 00 00 54 00 01 3C 10 FA 0F 00 00 00 00 00 ....T..&lt;........<br /> 000000B0 00 28 20 AC 14 FA 0F 00 00 00 00 00 78 A1 0E 08 .( .........x...<br /> 000000C0 18 FA 0F 00 00 00 00 00 01 00 31 26 00 00 00 00 ..........1&amp;....<br /> 000000D0 53 43 55 53 2D 39 37 32 36 34 SCUS-97264<br /> || 16415 (4.20+)|| fixes texture bugs<br /> 0x3D =&gt; 0x401F (16415)<br /> 0x12 =&gt; 0x5 <br /> 00 00 00 00 <br /> 00 00 00 00 <br /> 01 00&gt;'''02 00'''&lt; Count<br /> 31 00 99 18 -&gt; 0x18990<br /> 32 00 B6 18 -&gt; 0x18B60<br /> 0x0B =&gt; 1<br /> 0x5F5, (sector)<br /> 0x28C, (offset -&gt; 0x2FAA80 in iso)<br /> 0x04,<br /> 0x00000000 (nop), <br /> 0x54C10D0C (jal sub_370550)<br /> 0x0A =&gt; 0xB<br /> 0x3735F8, 0x4B06521B (cop2 0x106521B, vmulw.x vf08,vf10,vf06w), 0x48438000 cfc2 v1,Status<br /> 0x3735FC, 0x48438000 (cfc2 v1,Status), 0x4B06521B cop2 0x106521B (vmulw.x vf08,vf10,vf06w)<br /> 0x3A6FEC, 0 (nop), 0x64110000 li $s1, 0<br /> 0x3A6FF8, 0x0C0EA178 (jal pos_003A85E0), 0x0c03FE80 jal pos_000FFA00<br /> 0xFFA00, 0 (nop), 0x3C080002 lui t0,0x0002<br /> 0xFFA04, 0 (nop), 0x0228402B sltu t0,s1,t0<br /> 0xFFA08, 0 (nop), 0x15000002 bnez t0,pos_000FFA14<br /> 0xFFA0C, 0 (nop), 0x3C010054 lui at,0x0054<br /> 0xFFA10, 0 (nop), 0xAC202800 sw zero,0x2800(at)<br /> 0xFFA14, 0 (nop), 0x080EA178 j pos_003A85E0<br /> 0xFFA18, 0 (nop), 0x26310001 addiu s1,0x1<br /> |-<br /> | NPJD00080 || Zettaizetsumei Toshi (Disaster Report) ||<br /> 00000000 3D 00 00 00 26 44 00 00 44 00 00 00 00 00 00 00 =...&amp;D..D.......<br /> 00000010 53 4C 50 53 2D 32 35 31 31 33 SLPS-25113<br /> || 17446 (4.78)|| <br /> 0x3D =&gt; 0x4426 (17446)<br /> 0x44 =&gt; (disables smoothing and smoothing option)<br /> |}<br /> <br /> ====Unofficial====<br /> {| class=&quot;wikitable sortable&quot; style=&quot;width: 1920px;&quot; | <br /> |-<br /> ! style=&quot;width: 10px;&quot; | ID !! Title !! style=&quot;width: 600px;&quot; | Config Data !! Revision !! Notes<br /> |-<br /> | ALL || .hack\\infection Part 1 || <br /> 00000000 3D 00 00 00 89 3D 00 00 08 00 00 00 FF FF FF FF =....=..........<br /> 00000010 FF FF FF FF 8D 94 11 01 FC 0E 00 80 FF FF FF FF ................<br /> 00000020 FF FF FF FF 8D 94 11 01 03 02 03 10 08 00 00 00 ................<br /> 00000030 FF FF FF FF FF FF FF FF 40 A7 E0 01 3C 03 00 80 ........@...&lt;...<br /> 00000040 FF FF FF FF FF FF FF FF 40 A7 E1 01 FC 1E 00 80 ........@.......<br /> 00000050 00 00 00 00 ....<br /> || 15753 (3.73+) || fix freeze<br /> <br /> |-<br /> | SLUS-21268 || 24 The Game ||<br /> 00000000 3D 00 00 00 65 3D 00 00 12 00 00 00 0D 00 00 00 =...e=..........<br /> 00000010 00 00 00 04 00 00 00 00 02 00 03 00 E7 00 00 00 ................<br /> 00000020 45 AD 6E AA EF 02 00 00 02 00 03 00 F3 00 00 00 E.n.............<br /> 00000030 E4 A0 6E 47 FA 02 00 00 03 00 02 00 B0 55 41 10 ..nG.........UA.<br /> 00000040 68 56 41 10 00 00 00 00 hVA..... <br /> <br /> || 15717 (3.73+) || fixes loading screen freezing<br /> 0x3D =&gt; 0x3D65 (15717)<br /> 0x12 =&gt; 0x0D, <br /> 00 00 00 04 <br /> 00 00 00 00 <br /> 02 00&gt;'''03 00'''&lt; Count, Type 2<br /> E7 00 00 00 <br /> 45 AD 6E AA <br /> EF 02 00 00 <br /> 02 00&gt;'''03 00'''&lt; Count, Type 2<br /> F3 00 00 00 <br /> E4 A0 6E 47 <br /> FA 02 00 00 <br /> 03 00&gt;'''02 00'''&lt; Count, Type 3<br /> B0 55 41 10 -&gt; 0x4155B0<br /> 68 56 41 10 -&gt; 0x415668 <br /> <br /> |-<br /> | SCES-50885 || Ape Escape 2 || <br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 01 00 00 00 =...WD..........<br /> 00000010 E0 E0 34 00 16 00 40 14 00 00 00 00 00 00 00 00 ŕŕ4...@.........<br /> || 17495 (4.78+) || Force game to not create Mipmaps. Fix flickering textures completely. <br /> <br /> |-<br /> | SLUS-21165 || Arc the Lad End of Darkness ||<br /> 00000000 3D 00 00 00 60 40 00 00 0F 00 00 00 B8 DD 26 00 =...`@........&amp;.<br /> 00000010 AC FE 26 00 00 00 00 00 ..&amp;..... <br /> || 15634 (3.70+) || fixes not displaying/freezing dialogs<br /> 0x3D =&gt; 0x3D12 (15634)<br /> 0x0F =&gt; 0x26DDB8, 0x26FEAC<br /> |-<br /> | SLUS-21445 || Ar Tonelico - Melody of Elemia ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> |-<br /> | SLUS-21788 || Ar tonelico II - Melody of Metafalica ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | || Atelier Iris ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | || Atelier Iris 2 ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | || Atelier Iris 3 ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | SLES-50672/SLUS-20035 || Baldur's Gate - Dark Alliance || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly (see: [https://www.dropbox.com/s/92n81uot56czb5v/Datei%2018.08.17%2011%2011%2029.jpeg?dl=0] )<br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> |-<br /> | || Baldur's Gate 2 || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | || Bard's Tale || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | SLES-51044 / SLES-52968 || Burnout 2: POI || <br /> 00000000 3D 00 00 00 46 40 00 00 0A 00 00 00 05 00 00 00 =...F@..........<br /> 00000010 B8 85 24 00 18 0D 80 C6 16 43 01 3C CC 85 24 00 ¸…$...€Ć.C.&lt;Ě…$.<br /> 00000020 00 00 40 E4 00 00 41 AC 04 26 26 00 80 97 80 C7 ..@ä..A¬.&amp;&amp;.€—€Ç<br /> 00000030 16 43 01 3C 18 26 26 00 00 00 40 E4 00 00 41 AC .C.&lt;.&amp;&amp;...@ä..A¬<br /> 00000040 B8 64 25 00 64 97 82 8F 00 00 02 24 00 00 00 00 ¸d%.d—‚Ź...$....<br /> || 16454 ||<br /> Fixes all white rendered textures/shadows (Big thanks to Maori-Jigglypuff for patch code! )<br /> 0x3D =&gt; 0x4046 (16454)<br /> 0x0A =&gt; 0x5 (5 Patches to EE memory)<br /> // Remove the whitish Car-Parts from the Racer Cars<br /> // [Control Address and Value: 2039917C 43160000]<br /> 0x2485B8, 0xC6800D18 (lwc1 $f0, 0xD18(s4)), 0x3C014316 (lui at, 0x4316)<br /> 0x2485СС, 0xE4400000 (swc1 $f0, 0(v0)), 0xAC410000 (sw at, 0(v0))<br /> <br /> // Remove the whitish Car-Parts from the Traffic Cars<br /> 0x262604, 0xC7809780 (lwc1 $f0, 0x9780(gp)), 0x3C014316 (lui at, 0x4316)<br /> 0x262618, 0xE4400000 (swc1 $f0, 0(v0)), 0xAC410000 (sw at, 0(v0))<br /> <br /> // Remove whitish Reflections on Anything!!!<br /> // (on Buildings, Bridges, Streets)<br /> 0x2564B8, 0x8F829764 (lw v0, 0x9764(gp)), 0x24020000 (li v0, 0)<br /> <br /> |-<br /> | SLUS-20497 || Burnout 2: POI || <br /> 00000000 3D 00 00 00 46 40 00 00 0A 00 00 00 05 00 00 00<br /> 00000010 A8 85 24 00 18 0D 80 C6 16 43 01 3C BC 85 24 00<br /> 00000020 00 00 40 E4 00 00 41 AC F4 25 26 00 80 97 80 C7<br /> 00000030 16 43 01 3C 08 26 26 00 00 00 40 E4 00 00 41 AC<br /> 00000040 A8 64 25 00 64 97 82 8F 00 00 02 24 00 00 00 00<br /> || 16454 ||<br /> Fixes all white rendered textures/shadows (Big thanks to Maori-Jigglypuff for patch code! )<br /> 0x3D =&gt; 0x4046 (16454)<br /> 0x0A =&gt; 0x5 (5 Patches to EE memory)<br /> // Remove the whitish Car-Parts from the Racer Cars<br /> // [Control Address and Value: 2039917C 43160000]<br /> 0x2485A8, 0xC6800D18 (lwc1 $f0, 0xD18(s4)), 0x3C014316 (lui at, 0x4316)<br /> 0x2485bc, 0xE4400000 (swc1 $f0, 0(v0)), 0xAC410000 (sw at, 0(v0))<br /> <br /> // Remove the whitish Car-Parts from the Traffic Cars<br /> 0x2625F4, 0xC7809780 (lwc1 $f0, 0x9780(gp)), 0x3C014316 (lui at, 0x4316)<br /> 0x262608, 0xE4400000 (swc1 $f0, 0(v0)), 0xAC410000 (sw at, 0(v0))<br /> <br /> // Remove whitish Reflections on Anything!!!<br /> // (on Buildings, Bridges, Streets)<br /> 0x2564A8, 0x8F829764 (lw v0, 0x9764(gp)), 0x24020000 (li v0, 0)<br /> <br /> |-<br /> | SLUS-21168/SLES-53755/SLPM-66175/SLKA-25328 || Castlevania: Curse of Darkness ||<br /> 00000000 3D 00 00 00 89 3D 00 00 08 00 00 00 00 00 00 80 =....=..........<br /> 00000010 FF FF FF FF 00 00 00 80 00 80 FF FF 00 00 00 80 ................<br /> 00000020 FF FF FF FF 00 00 00 80 01 80 FF FF 00 00 00 00 ................<br /> || || fixes Graphic issues with Spiky Polygons (PCSX2 workaround VU clamping mode none) <br /> <br /> |-<br /> | || Champions of Norath || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | || Champions Return to Arms || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | SLUS-21574 || Dawn of Mana || <br /> 00000000 3D 00 00 00 65 3D 00 00 12 00 00 00 04 00 00 00 =...e=..........<br /> 00000010 00 00 00 00 00 00 00 00 01 00 01 00 0C 00 DF 0D ................<br /> 00000020 00 00 00 00 ....<br /> || 15717 (3.70+) ||<br /> fix? (untested)<br /> 0x3D =&gt; 0x3D65 (15717)<br /> 0x12 =&gt; 0x04, <br /> 00 00 00 00 <br /> 00 00 00 00 <br /> 01 00&gt;01 00&lt; Count, Type 1<br /> 0C 00 DF 0D <br /> <br /> |-<br /> | SCUS-97146 || Disney's Treasure Planet ||<br /> 00000000 3D 00 00 00 F0 42 00 00 0B 00 00 00 01 00 00 00 =...đB..........<br /> 00000010 7C 14 00 00 80 05 00 00 18 00 00 00 3C 01 01 00 |...€.......&lt;...<br /> 00000020 3C 03 BF 80 8C 63 10 C8 00 61 18 24 10 61 FF FB &lt;.ż€Śc.Č.a.$.a˙ű<br /> 00000030 00 00 00 00 24 01 FF FF 14 61 00 04 3C 01 80 00 ....$.˙˙.a..&lt;.€.<br /> 00000040 14 41 00 02 00 00 00 00 00 06 00 0D 00 00 00 00 .A..............<br /> <br /> || 17136 (4.50+) || Fixes black screen at start, it apply to STREAM_D.IRX file in IOP folder. Patch is very weird because it apply to bad offset (should be 0x574), but if applied to correct one then game error with &quot;invalid tp2 file&quot;<br /> <br /> 0x3D =&gt; 0x42F0 (17136)<br /> 0x0B =&gt; 1<br /> 0x147C, (sector)<br /> 0x580, (offset)<br /> 0x18 (bytes to replace), <br /> <br /> <br /> Replaced opcodes<br /> 00 01 01 3C lui at,0x0100<br /> 80 BF 03 3C lui v1,0xBF80<br /> C8 10 63 8C lw v1,0x10C8(v1)<br /> 24 18 61 00 and v1,at<br /> FB FF 61 10 beq v1,at, -0x10<br /> 00 00 00 00 nop <br /> <br /> Original opcodes<br /> FF FF 01 24 li at,-0x1<br /> 04 00 61 14 bne at,v1, +0x14<br /> 00 80 01 3C lui at,0x8000<br /> 02 00 41 14 bne at,v0, +0x0C<br /> 00 00 00 00 nop <br /> 0D 00 06 00 break <br /> <br /> |-<br /> | ALL || Dynasty Warriors 3/Dynasty Warriors 3 Xtreme Legends ||<br /> 00000000 3D 00 00 00 89 3D 00 00 35 00 00 00 00 00 00 00 =...‰=..5.......<br /> || 15753 (3.73+) || <br /> fix blackscreen<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x35 =&gt; (enable Force Flip Field)<br /> <br /> |-<br /> | SLES-53539 || Fahrenheit || <br /> 00000000 3D 00 00 00 F6 41 00 00 40 00 00 00 00 00 00 00 =....A..@.......<br /> Alternative<br /> 00000000 3D 00 00 00 89 3D 00 00 2F 00 00 00 01 00 00 00 =....=../.......<br /> 00000010 00 00 00 00 ....<br /> || 16886 (4.40+) / ||<br /> fixes freeze after Lucas' apartment<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x40 =&gt; (sets some value 1)<br /> <br /> |-<br /> | || Fallout || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | SLUS-20658 SLES-51467 SLPM-65548 SLPM-65803 || Freedom Fighters ||<br /> 00000000 3D 00 00 00 65 3D 00 00 1F 00 00 00 E8 03 00 00 =...e=......č...<br /> 00000010 00 00 00 00 .... <br /> || 15717 (3.70+) ||<br /> fix freeze when you get control at start<br /> 3D =&gt; 0x3D17 (15717)<br /> 0x1F =&gt; 0x3E8 (sets something 3E8 - 1000 in decimal)<br /> <br /> |-<br /> | SLUS-21702 || Fire Pro Wrestling Returns || <br /> 00000000 3D 00 00 00 F6 41 00 00 03 00 00 00 00 00 00 00 =....A..@.......<br /> || 16886 (4.40+) ||<br /> fixes interlaced artifacts<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x03 =&gt; (sets some value 0)<br /> <br /> |-<br /> | SLES-52065 || Flipnic || <br /> 00000000 3D 00 00 00 57 44 00 00 46 00 00 00 47 00 00 00 =...WD..F...G...<br /> 00000010 00 00 00 00 ....<br /> || 17495 (4.78+) || Remove horizontal lines at full screen, and reducing screen shakes little bit<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x46 =&gt; Enable L2H Improvement<br /> 0x47 =&gt; Enable XOR CSR<br /> <br /> |-<br /> | SCES-53851 || Forbidden Siren 2 ||<br /> 00000000 3D 00 00 00 F6 41 00 00 0A 00 00 00 02 00 00 00 =....A..........<br /> 00000010 44 2B 2E 00 FF 49 C9 4B 00 90 44 48 4C 2B 2E 00 D+...I.K..DHL+..<br /> 00000020 00 90 44 48 FF 49 C9 4B 00 00 00 00 ..DH.I.K.... <br /> || 16886 (4.40+) || Graphic issues with Spiky Polygons<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x0A =&gt; 0x2<br /> 0x2E2B44, 0x4BC949FF (vclip vf09xyz, vf09w), 0x48449000 (cfc2 $a1, $18)<br /> 0x2E2B4C, 0x48449000 (cfc2 $a1, $18), 0x4BC949FF (vclip vf09xyz, vf09w)<br /> <br /> |-<br /> | SLUS-20343 || Forever Kingdom || <br /> 00000000 3D 00 00 00 46 40 00 00 26 00 00 00 00 DC 21 00 =...F@..&amp;....Ü!.<br /> 00000010 00 DD 21 00 00 00 00 00 .Ý!.....<br /> || 16454 ||<br /> Fix for bridge that can't be crossed after opening.<br /> 0x3D =&gt; 0x4046 (16454)<br /> 0x26 =&gt; 0x21DC00, 0x21DD00<br /> <br /> |-<br /> | SLUS-20993 || Ghosthunter || <br /> 00000000 3D 00 00 00 57 44 00 00 0E 00 00 00 84 2B 29 00 =...WD......„+).<br /> 00000010 0B 00 00 00 01 00 00 00 A7 06 00 00 98 02 00 00 ........§.......<br /> 00000020 14 00 00 00 4A 00 02 FF 48 45 88 00 4B E0 19 BF ....J..˙HE..Kŕ.ż<br /> 00000030 4B EA 48 BC 4B EA 18 8C 4B E0 19 BF 4B EA 48 BC KęHĽKę.ŚKŕ.żKęHĽ<br /> 00000040 4B EA 18 8C 4A 00 02 FF 48 45 88 00 00 00 00 00 Kę.ŚJ..˙HE......<br /> || 17495 (4.78+) ||<br /> fixes random minor flickering, and ladder bug (see: [https://www.youtube.com/watch?v=WbJzzMYQLI0] )<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x0E =&gt; 0x292B84 (Improve floating point subtract accuracy)<br /> 0x0B =&gt; Disc patch for hidden elf<br /> |-<br /> | SLES-54317 || Ghost Rider || <br /> 00000000 3D 00 00 00 F6 41 00 00 40 00 00 00 00 00 00 00 =....A..@.......<br /> || 16886 (4.40+) ||<br /> texture fix: white overblending ingame<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x40 =&gt; (sets some value 1)<br /> <br /> |-<br /> | SLUS-20552 || Grand Theft Auto - Vice City ||<br /> 00000000 3D 00 00 00 A5 41 00 00 21 00 00 00 01 00 00 00 =...¥A..!.......<br /> 00000010 0A 00 00 00 0D 00 00 00 A0 FF 0F 00 00 00 00 00 ........ ÿ......<br /> 00000020 17 00 01 24 A4 FF 0F 00 00 00 00 00 08 00 24 14 ...$¤ÿ........$.<br /> 00000030 AC FF 0F 00 00 00 00 00 10 00 01 3C B0 FF 0F 00 ¬ÿ.........&lt;°ÿ..<br /> 00000040 00 00 00 00 90 FF 22 8C B4 FF 0F 00 00 00 00 00 .....ÿ&quot;Œ´ÿ......<br /> 00000050 FF FF 42 24 B8 FF 0F 00 00 00 00 00 05 00 40 1C ÿÿB$¸ÿ........@.<br /> 00000060 C0 FF 0F 00 00 00 00 00 04 00 02 24 C4 FF 0F 00 Àÿ.........$Äÿ..<br /> 00000070 00 00 00 00 90 FF 22 AC C8 FF 0F 00 00 00 00 00 .....ÿ&quot;¬Èÿ......<br /> 00000080 21 1D 0B 08 CC FF 0F 00 00 00 00 00 D0 FF BD 27 !...Ìÿ......Ðÿ½'<br /> 00000090 D0 FF 0F 00 00 00 00 00 08 00 E0 03 D4 FF 0F 00 Ðÿ........à.Ôÿ..<br /> 000000A0 00 00 00 00 90 FF 22 AC 80 74 2C 00 D0 FF BD 27 .....ÿ&quot;¬€t,.Ðÿ½'<br /> 000000B0 E8 FF 03 08 00 00 00 00 53 4C 55 53 2D 32 30 35 èÿ......SLUS-205<br /> 000000C0 35 32 52<br /> || 16805 (4.30+) ||<br /> backport of the official config above (disc version 3.00) for the original release<br /> (disc version 1.40). it patches a particle related function when type is 0x17.<br /> 0x0A =&gt; 0x2CEB00 to 0x2C7480<br /> 0x0A =&gt; 0x080B3AC1 to 0x080B1D21 (j pos_002C7484)<br /> <br /> |-<br /> | SLUS-20758 || Growlanser Generations || <br /> 00000000 3D 00 00 00 89 3D 00 00 2C 00 00 00 72 01 00 00 =....=..,...r...<br /> 00000010 0B 00 00 00 01 00 00 00 F8 03 00 00 7C 05 00 00 ............|...<br /> 00000020 04 00 00 00 00 00 00 00 10 40 FF FC 00 00 00 00 .........@......<br /> 00000030 53 4C 55 53 2D 32 30 37 35 38 SLUS-20758 <br /> || 15753 (3.73+) ||<br /> fix menu freeze? (untested)<br /> <br /> |-<br /> | SLUS-20576 || Harry Potter and the Chamber of Secrets || <br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =....=..........<br /> 00000010 00 00 00 00 ....<br /> || 15753 (3.73+) ||<br /> Fix black screen? (untested)<br /> <br /> |-<br /> | SLUS-20926/SLPM-65612/SLKA-25172/SLES-52440/SLES-52527/SLES-52600 || Harry Potter and The Prisoner of Azkaban || <br /> 00000000 3D 00 00 00 57 44 00 00 07 00 00 00 08 00 =...WD........<br /> 0000000E 00 00 00 00 00 00 ......<br /> || 17495 (4.78+) ||<br /> Fix for 3D graphics issues. However sometimes textures have a problem (mipmap?)<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x07 =&gt; 8<br /> <br /> |-<br /> | SLES-54971(?)/SLUS-21628 || Hot Wheels: Beat That! || <br /> 00000000 3D 00 00 00 89 3D 00 00 15 00 00 00 04 00 00 00 =....=..........<br /> 00000010 00 00 00 00 ....<br /> || 15753 (3.73+) ||<br /> Fix for turning off ps3 after selecting track<br /> <br /> |-<br /> | SLUS-21307 || Ice Age 2 The Meltdown ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0B 00 00 00 01 00 00 00 =....=..........<br /> 00000010 31 05 00 00 8C 03 00 00 40 00 00 00 27 BD FE E0 1.......@...'...<br /> 00000020 24 06 00 6C FF BF 00 70 03 A0 20 2D 7F B0 00 80 $..l...p.. -....<br /> 00000030 8C B0 00 00 0C 0C 88 B5 00 00 28 2D 02 00 20 2D ..........(-.. -<br /> 00000040 0C 0A 84 CE 03 A0 28 2D 7B B0 00 80 03 A0 10 2D ......(-{......-<br /> 00000050 DF BF 00 70 03 E0 00 08 27 BD 01 20 27 BD FF 70 ...p....'.. '..p<br /> 00000060 24 06 00 6C FF BF 00 70 03 A0 20 2D 7F B0 00 80 $..l...p.. -....<br /> 00000070 8C B0 00 00 0C 0C 88 B5 00 00 28 2D 02 00 20 2D ..........(-.. -<br /> 00000080 0C 0A 84 CE 03 A0 28 2D 7B B0 00 80 03 A0 10 2D ......(-{......-<br /> 00000090 DF BF 00 70 03 E0 00 08 27 BD 00 90 00 00 00 00 ...p....'.......<br /> 000000A0 53 4C 55 53 2D 32 31 33 30 37 SLUS-21307 <br /> || 15753 (3.73+) || Fix freeze at the game logo<br /> <br /> |-<br /> | SLUS-21196 || Indigo Prophecy || <br /> 00000000 3D 00 00 00 89 3D 00 00 2F 00 00 00 01 00 00 00 =....A..@.......<br /> 00000010 00 00 00 00 ....<br /> || 15753 (3.73+) || Fixes freeze<br /> <br /> |-<br /> | SCES-53286/SCUS-97429 || Jak X || <br /> 00000000 3D 00 00 00 57 3D 00 00 24 00 00 00 00 00 00 00 =...W=..$.......<br /> 00000010 80 BB 00 00 13 00 00 00 00 00 00 00 60 F9 00 00 €»..........`ů..<br /> 00000020 00 00 00 00 .... <br /> || 15753 (3.73+) || Fixes freeze while saving game<br /> <br /> |-<br /> | SLPM-66675 || Kingdom Hearts II Final Mix || <br /> 00000000 3D 00 00 00 89 3D 00 00 26 00 00 00 58 A5 1D 00 =....A..&amp;...XĄ..<br /> 00000010 F4 AE 1D 00 00 00 00 00 ô®...... <br /> || 15753 (3.73+) ||<br /> Fixes Hostile Program Boss issue.<br /> <br /> |-<br /> | SLUS-21799 || Kingdom Hearts Re: Chain of Memories || <br /> 00000000 3D 00 00 00 89 3D 00 00 0F 00 00 00 90 05 10 00 =....=..........<br /> 00000010 78 C2 10 00 00 00 00 00 53 4C 55 53 2D 32 31 37 x.......SLUS-217<br /> 00000020 39 39 99 <br /> || 15753 (3.73+) ||<br /> Fixes tutorial issue? (untested)<br /> <br /> |-<br /> | SLES-50196 || Legacy of Kain: Soul Reaver 2 || <br /> 00000000 3D 00 00 00 43 21 00 00 0A 00 00 00 01 00 00 00 =...C!..........<br /> 00000010 80 1F 2A 00 01 00 00 00 00 00 00 00 00 00 00 00 €.*............. 99 <br /> || 15753 (3.73+) ||<br /> Turn off mipmapping in game engine. Completely fix flickering, and bad texturing.<br /> <br /> |-<br /> | SLUS-20671 || Mafia || <br /> 00000000 3D 00 00 00 89 3D 00 00 09 00 00 00 05 00 00 00 =...‰=..........<br /> 00000010 B0 68 3E 00 34 A3 0F 0C 9C 90 84 8F 00 10 01 3C °h&gt;.4Ł..ś.„Ź...&lt;<br /> 00000020 08 00 02 24 B8 68 3E 00 08 00 02 24 01 00 05 24 ...$¸h&gt;....$...$<br /> 00000030 9C 90 84 8F 10 3C 22 AC C0 68 3E 00 10 3C 22 AC ś.„Ź.&lt;&quot;¬Ŕh&gt;..&lt;&quot;¬<br /> 00000040 00 10 01 3C 01 00 05 24 34 A3 0F 0C B4 2B 3E 00 ...&lt;...$4Ł..´+&gt;.<br /> 00000050 FF FF 02 24 0A 00 50 10 FF FF 02 24 00 00 00 00 ˙˙.$..P.˙˙.$....<br /> 00000060 4C F0 16 00 00 60 80 44 50 07 42 8E 00 60 80 44 Lđ...`€DP.BŽ.`€D<br /> 00000070 0D 00 00 10 00 00 00 00 ........ <br /> || 15753 (3.73+) || Fix freeze at start. Additional two patches comparing to gxemu included here allow to avoid translation lookaside buffer misses in some places, and are required to finish game.<br /> <br /> |-<br /> | SLUS-21735 || Mana Khemia: Alchemists of Al-Revis ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | SLES-53585 || Marvel Nemesis: Rise of the Imperfects ||<br /> 00000000 3D 00 00 00 89 3D 00 00 12 00 00 00 0D 00 00 00 =....=..........<br /> 00000010 00 F0 FF 04 00 00 00 00 02 00 03 00 11 00 00 00 ................<br /> 00000020 7A 7F CE 5D 14 02 00 00 03 00 06 00 EC 8F 55 10 z..]..........U.<br /> 00000030 C0 45 55 10 28 49 55 10 40 4A 55 10 60 7F 55 10 .EU.(IU.@JU.`.U.<br /> 00000040 C0 8F 55 10 00 00 00 00 53 4C 45 53 2D 35 33 35 ..U.....SLES-535<br /> 00000050 38 35 85 <br /> || 15753 (3.73+) || fixes loading/crash?<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x12 =&gt; 0x0D<br /> 00 F0 FF 04<br /> 00 00 00 00<br /> 02 00 03 00 count 3, type 2<br /> 11 00 00 00<br /> 7A 7F CE 5D<br /> 14 02 00 00<br /> 03 00 06 00 count 6, type 3<br /> EC 8F 55 10 0x558fec<br /> C0 45 55 10 0x5545c0<br /> 28 49 55 10 0x554928<br /> 40 4A 55 10 0x554a40<br /> 60 7F 55 10 0x557f60<br /> C0 8F 55 10 0x558fc0<br /> |-<br /> | SLUS-21281 || Marvel Nemesis: Rise of the Imperfects ||<br /> 00000000 3D 00 00 00 89 3D 00 00 12 00 00 00 09 00 00 00 =....=..........<br /> 00000010 00 F0 FF 04 00 00 00 00 02 00 03 00 11 00 00 00 ................<br /> 00000020 7A 7F CE 5D 14 02 00 00 03 00 02 00 88 76 55 10 z..].........vU.<br /> 00000030 08 87 55 10 00 00 00 00 53 4C 55 53 2D 32 31 32 ..U.....SLUS-212<br /> 00000040 38 31 81 <br /> || 15753 (3.73+) || fixes loading/crash?<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x12 =&gt; 0x09<br /> 00 F0 FF 04<br /> 00 00 00 00<br /> 02 00 03 00 count 3, type 2<br /> 11 00 00 00<br /> 7A 7F CE 5D<br /> 14 02 00 00<br /> 03 00 02 00 count 2, type 3<br /> 88 76 55 10 0x557688<br /> 08 87 55 10 0x558708<br /> |-<br /> | SLUS-20230 || Max Payne ||<br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 E4 E6 52 00 =....=........R.<br /> 00000010 03 00 00 00 01 00 00 00 68 E8 52 00 02 00 00 00 ........x.R.....<br /> 00000020 00 00 00 00 ....<br /> || 15753 (3.73+) || fixes game hang on first cutscene/cutscenes<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x01 =&gt; 0x52E6E4, 3 (applies to main.run ELF on disc: 0x52E6E4 dmove a1,v0 )<br /> 0x01 =&gt; 0x52E868, 2 (applies to main.run ELF on disc: 0x52E868 lq s1,0x10(sp) )<br /> <br /> |-<br /> | SLUS-21550 || Metal Slug Anthology ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0A 00 00 00 01 00 00 00 =...‰=..........<br /> 00000010 24 9C 18 00 F8 F7 08 0C D2 1D 06 0C 00 00 00 00 $ś..ř÷..Ň.......<br /> || 15753 (3.73+) || Fix launching MS6 by using LoadImageAndReboot instead of FlushCache. Seems to work much better than GXemu solution.<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0A =&gt; 0x1<br /> 0x189C24, 0x0C08F7F8 (jal sub_23DFE0), 0x0C061DD2 (jal sub_187748)<br /> <br /> |-<br /> | SLUS-20983 || Musashi: Samurai Legend || <br /> 00000000 3D 00 00 00 F6 41 00 00 17 00 00 00 01 00 00 00 =....A..@.......<br /> 00000010 00 00 00 00 ....<br /> || 16886 (4.40+) ||<br /> no sps fix, but reduces heavily<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x17 =&gt; 1 <br /> <br /> |-<br /> | SLES-50134 SLES-50176 SLES-50177 SLES-50178 SLES-50179 || Oni || <br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 01 00 00 00 =...WD..........<br /> 00000010 7C EF 1C 00 FF FF 00 41 00 00 00 00 00 00 00 00 |ď..˙˙.A........<br /> || 17495 (4.78+) ||<br /> fixes black screen at start<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x0A =&gt; 0x1<br /> 0x1CEF7C 0x4100FFFF (mftgpr $ra, $zero), 0x00000000 (nop)<br /> <br /> |-<br /> | SLUS-20064 || Oni || <br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 01 00 00 00 =...WD..........<br /> 00000010 CC F3 1C 00 FF FF 00 41 00 00 00 00 00 00 00 00 Ěó..˙˙.A........<br /> || 17495 (4.78+) ||<br /> fixes black screen at start<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x0A =&gt; 0x1<br /> 0x1CF3CC 0x4100FFFF (mftgpr $ra, $zero), 0x00000000 (nop)<br /> <br /> |-<br /> | SLUS-21037 || Project: Snowblind || <br /> 00000000 3D 00 00 00 39 05 00 00 0B 00 00 00 03 00 00 00 =...9...........<br /> 00000010 69 02 00 00 78 00 00 00 04 00 00 00 10 00 00 07 i...x...........<br /> 00000020 45 00 00 07 00 0C 0D 00 78 05 00 00 04 00 00 00 E.......x.......<br /> 00000030 10 00 00 07 45 00 00 07 BB 15 0D 00 F8 05 00 00 ....E...»...ř...<br /> 00000040 04 00 00 00 10 00 00 07 45 00 00 07 00 00 00 00 ........E.......<br /> || ||<br /> fixes mipmap/texturing issues<br /> <br /> <br /> |-<br /> | SLES-52384 || Project Zero II ||<br /> 00000000 3D 00 00 00 AF 42 00 00 21 00 00 00 00 00 00 00 =...ŻB..!.......<br /> 00000010 48 00 00 00 02 00 00 00 9C E6 FF FF 0A 00 00 00 H.......ść˙˙....<br /> 00000020 01 00 00 00 0C 94 17 00 41 01 0F 24 61 01 0F 24 .....”..A..$a..$<br /> 00000030 46 00 00 00 0B 00 00 00 01 00 00 00 F6 03 00 00 F...........ö...<br /> 00000040 98 03 00 00 04 00 00 00 00 42 73 84 00 00 02 FF .........Bs„...˙<br /> 00000050 00 00 00 00 53 4C 45 53 2D 35 32 33 38 34 ....SLES-52384<br /> || 17071 (4.50+) || Fix textures problems + performance improvement<br /> 0x3D =&gt; 0x42AF (17071)<br /> 0x21 =&gt; 0<br /> 0x48 =&gt; 0x2, 0xFFFFE69C<br /> 0x0A =&gt; 1, <br /> 0x17940C, 0x240F0141 (li t7,0x141)<br /> 0x240F0161 (li t7,0x161)<br /> 0x46<br /> 0x0B =&gt; 1<br /> 0x3F6, (sector)<br /> 0x398, (offset)<br /> 0x04,<br /> 0x84734200 lh s3,0x4200(v1),<br /> 0xFF020000 sd v0,(t8)<br /> <br /> |-<br /> | SLUS-20167 || Quake 3 - Revolution ||<br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 02 00 00 00 =...WD..........<br /> 00000010 98 03 2D 00 40 FF BD 27 08 00 E0 03 9C 03 2D 00 ..-.@˙˝'..ŕ.ś.-.<br /> 00000020 A0 00 BE 7F 00 00 00 00 00 00 00 00 <br /> || 17495 (4.78+) || Break creating mipmaps to fix graphical issues / flickering (ps2_netemu not support mipmapping)<br /> <br /> |-<br /> | SLES-50126 || Quake 3 - Revolution ||<br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 02 00 00 00 =...WD..........<br /> 00000010 20 03 2D 00 40 FF BD 27 08 00 E0 03 9C 03 2D 00 ..-.@˙˝'..ŕ.ś.-.<br /> 00000020 A0 00 BE 7F 00 00 00 00 00 00 00 00 <br /> || 17495 (4.78+) || Break creating mipmaps to fix graphical issues / flickering (ps2_netemu not support mipmapping)<br /> <br /> |-<br /> | SLUS-21262 || Radiata Stories ||<br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =...‰=..........<br /> 00000010 01 00 00 00 94 4D 12 00 0A 00 00 00 01 00 00 00 ....”M..........<br /> 00000020 18 F6 1A 00 0B 00 00 00 44 00 00 00 00 00 00 00 .ö......D.......<br /> 00000030 53 4C 55 53 2D 32 31 32 36 32 SLUS-21262 <br /> || 15753 (3.73+) || Fix black screen and ghosting/gfx<br /> <br /> |-<br /> | SLPS-25606/SLPS-25851 || Raw Danger! ||<br /> 00000000 3D 00 00 00 A8 41 00 00 44 00 00 00 00 00 00 00 =...&amp;D..D.......<br /> || 16808 (4.30+) || Untested! But Raw Danger! is Zettaizetsumei Toshi 2, so same issue + solution as part 1? <br /> 0x3D =&gt; 0x41A8 (16808)<br /> 0x44 =&gt; (disables smoothing and smoothing<br /> <br /> |-<br /> | SLUS-20174 || Rumble Racing ||<br /> 00000000 3D 00 00 00 F0 42 00 00 0B 00 00 00 01 00 00 00 =...đB..........<br /> 00000010 DA AE 03 00 20 01 00 00 24 00 00 00 14 80 00 06 Ú®.. ...$....€..<br /> 00000020 00 43 20 21 00 A0 10 21 14 A0 00 02 00 00 00 00 .C !. .!. ......<br /> 00000030 24 05 00 01 10 40 FF EB 24 84 00 04 24 90 FF FC $....@˙ë$„..$.˙ü<br /> 00000040 14 80 00 07 00 43 80 21 00 A0 10 21 14 A0 00 02 .€...C€!. .!. ..<br /> 00000050 00 00 00 00 24 05 00 01 10 40 FF FC 00 00 00 00 ....$....@˙ü....<br /> 00000060 26 04 00 04 00 00 00 00 &amp;.......<br /> || 17136 (4.50+) || fixes black screen after Playstation 2 logo. Patch apply to AUDIO.IRX file in MODULES folder<br /> <br /> 0x3D =&gt; 0x42F0 (17136)<br /> 0x0B =&gt; 1<br /> 0x03AEDA, (sector)<br /> 0x120, (offset)<br /> 0x24 (bytes to replace), <br /> <br /> <br /> Replaced opcodes<br /> 06 00 80 14 bnez a0, +0x1C<br /> 21 20 43 00 addu a0,v0,v1<br /> 21 10 A0 00 move v0,a1<br /> 02 00 A0 14 bnez a1, +0x0C<br /> 00 00 00 00 nop <br /> 01 00 05 24 li a1,0x1<br /> EB FF 40 10 beqz v0, -0x50<br /> 04 00 84 24 addiu a0,0x4<br /> FC FF 90 24 addiu s0,a0,-0x4<br /> <br /> Original opcodes<br /> 07 00 80 14 bnez a0, +0x20<br /> 21 80 43 00 addu s0,v0,v1<br /> 21 10 A0 00 move v0,a1<br /> 02 00 A0 14 bnez a1, +0x0C<br /> 00 00 00 00 nop <br /> 01 00 05 24 li a1,0x1<br /> FC FF 40 10 beqz v0, -0x0C<br /> 00 00 00 00 nop <br /> 04 00 04 26 addiu a0,s0,0x4<br /> <br /> |-<br /> | SLES-51345 || Run Like Hell ||<br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 04 00 00 00 =...WD..........<br /> 00000010 34 45 1D 00 0B FA 07 4B FF 02 00 4A 44 45 1D 00 4E...ú.K˙..JDE..<br /> 00000020 FF 02 00 4A 0B FA 07 4B 20 47 1D 00 BE F8 07 4B ˙..J.ú.K G..ľř.K<br /> 00000030 FF 02 00 4A 30 47 1D 00 AC F7 FE 4B 0B FA 07 4B ˙..J0G..¬÷ţK.ú.K<br /> 00000040 00 00 00 00 ....<br /> || 17495 (4.78+) || fixes main character flickering/texturing<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x0A =&gt; 0x4<br /> <br /> 0x1D4534 0x4B07FA0B (cop2 0x107FA0B), 0x4A0002FF (cop2 0x2FF)<br /> 0x1D4544 0x4A0002FF (cop2 0x2FF) , 0x4B07FA0B (cop2 0x107FA0B)<br /> 0x1D4720 0x4B07F8BE (cop2 0x107F8BE), 0x4A0002FF (cop2 0x2FF)<br /> 0x1D4750 0x4BFEF7AC (cop2 0x1FEF7AC), 0x4B07FA0B (cop2 0x107FA0B)<br /> |-<br /> | SLES-51445 || Rygar: The Legendary Adventure ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0E 00 00 00 50 D0 14 00 =...‰=......PĐ..<br /> 00000010 00 00 00 00 ....<br /> || 15753 (3.73+) || fixes hard crash at start when leaving the place<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0E =&gt; 0x14D050 (offset)<br /> <br /> .text:0014D050 sub.s $f12, $f20, $f12<br /> |-<br /> | SLES-55147/SLUS-21731 || Silent Hill: Origins || <br /> 00000000 3D 00 00 00 F6 41 00 00 40 00 00 00 00 00 00 00 =....A..@.......<br /> || 16886 (4.40+) ||<br /> fixes white overblending at burning house<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x40 =&gt; (sets some value 1)<br /> <br /> |-<br /> | SLUS-20488 || Star Ocean - Till the End of Time ||<br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =....=..........<br /> 00000010 01 00 00 00 48 09 10 00 0A 00 00 00 2C 00 00 00 ....H.......,...<br /> 00000020 72 01 00 00 00 00 00 00 53 4C 55 53 2D 32 30 34 r.......SLUS-204<br /> 00000030 38 38 88 <br /> || 15753 (3.73+) || Fix black screen<br /> <br /> |-<br /> | SLUS-21240 (v1.01)|| Star Wars: Battlefront II || <br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 84 B7 49 00 =...‰=......„·I.<br /> 00000010 05 00 00 00 00 00 00 00 53 4C 55 53 2D 32 31 32 ........SLUS-212<br /> 00000020 34 30 40 <br /> || 15753 (3.73+) || Fix freeze. Work only with v1.01 version of game. Patch apply to SWBFRNT2.ELF file.<br /> <br /> |-<br /> | SLUS-21240 (v2.01)|| Star Wars: Battlefront II || <br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 04 97 49 00 =...‰=.......—I.<br /> 00000010 05 00 00 00 00 00 00 00 53 4C 55 53 2D 32 31 32 ........SLUS-212<br /> 00000020 34 30 40 <br /> || 15753 (3.73+) || Fix freeze. Work only with v2.01 version of game. Patch apply to SWBFRNT2.ELF file.<br /> <br /> |-<br /> | SLES-50371 || Star Wars: Jedi Starfighter || <br /> 00000000 3D 00 00 00 65 3D 00 00 0A 00 00 00 01 00 00 00 =...e=..........<br /> 00000010 98 33 32 00 B4 6B 11 0C 00 00 00 00 00 00 00 00 .32.´k..........<br /> || 15717 (3.73+) || Without it title calls PS2::Exit() at the end of a bonus stage.<br /> <br /> |-<br /> | SLUS-21913 || Star Wars: The Clone Wars – Republic Heroes ||<br /> 00000000 3D 00 00 00 39 05 00 00 0A 00 00 00 01 00 00 00 =...9...........<br /> 00000010 28 33 17 00 FF FF 64 34 FD FF 64 34 00 00 00 00 „Ë..˙˙d4đ˙d4.Ë..<br /> || 1337 (ALL) || Fix graphical gliches, subtitles, QTE buttons, missing HUD<br /> <br /> <br /> |-<br /> | SLES-54658 || Star Wars: The Force Unleashed ||<br /> 00000000 3D 00 00 00 39 05 00 00 0A 00 00 00 02 00 00 00 =...9...........<br /> 00000010 84 CB 17 00 FF FF 64 34 F0 FF 64 34 90 CB 17 00 „Ë..˙˙d4đ˙d4.Ë..<br /> 00000020 FE FF 63 34 FC FF 63 34 00 00 00 00 ţ˙c4ü˙c4....<br /> || 1337 (ALL) || Fix graphical gliches, subtitles, QTE buttons, missing HUD<br /> <br /> |-<br /> | ALL || Superman Returns ||<br /> 00000000 3D 00 00 00 89 3D 00 00 08 00 00 00 00 00 00 00 =...‰=..........<br /> 00000010 00 00 00 FE 00 00 00 00 00 00 00 2C 00 00 00 00 ...ţ.......,....<br /> 00000020 00 00 00 FE 00 00 00 00 00 00 00 10 00 00 00 00 ...ţ............<br /> || 15753 (3.73+) || fixes Graphic issues <br /> <br /> |-<br /> | SLUS-21386 || Tales of The Abyss || <br /> 00000000 3D 00 00 00 65 3D 00 00 26 00 00 00 FC FF 27 00 =...e=..&amp;...ü˙'.<br /> 00000010 FF FF 27 00 26 00 00 00 F4 21 29 00 F8 21 29 00 ˙˙'.&amp;...ô!).ř!).<br /> 00000020 00 00 00 00 ....<br /> || 15717 (3.73+) || Fix freeze at Choral Castle <br /> Improve add accuracy range =&gt; 0x27FFFC , 0x27FFFF<br /> Improve add accuracy range =&gt; 0x2921F4 , 0x2921F8<br /> |-<br /> | SLPS-25842 || Tales of Destiny (Director's cut) || <br /> 00000000 3D 00 00 00 57 44 00 00 0F 00 00 00 00 00 1C 00 =...WD..........<br /> 00000010 00 00 1D 00 00 00 00 00 ........<br /> || 17495 (4.78+) || Fix freezes <br /> Improve FPU accuracy range =&gt; 0x1C0000 , 0x1D0000<br /> <br /> |-<br /> | ALL || Tokyo Extreme Racer 3 || <br /> 00000000 3D 00 00 00 91 42 00 00 48 00 00 00 01 00 00 00 =...‘B..H.......<br /> 00000010 F0 49 02 00 00 00 00 00 đI...... <br /> || 17041 (4.46+) || Fix screen jumps <br /> Vsync Delay -&gt; No IPU 150,000<br /> <br /> |-<br /> | ALL || Tony Hawk's series ||<br /> 00000000 3D 00 00 00 89 3D 00 00 08 00 00 00 00 00 00 80 =....=..........<br /> 00000010 FF FF FF FF 00 00 00 80 00 00 40 53 00 00 00 80 ..........@S....<br /> 00000020 FF FF FF FF 00 00 00 80 00 00 40 D3 14 00 00 00 ..........@Ó....<br /> 00000030 00 00 00 00 ....<br /> || 15753 (3.73+) || fixes Graphic issues with Spiky Polygons<br /> <br /> |-<br /> | ALL || TY The Tasmanian Tiger || <br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =...‰=..........<br /> 00000010 00 00 00 00 <br /> || 15753 (3.73+) || Fix graphical glitches, and fix locks up once you're given control.<br /> <br /> |-<br /> | SLUS-21106 || True Crime: NYC ||<br /> 00000000 3D 00 00 00 89 3D 00 00 27 00 00 00 D8 2A 41 00 =...‰=..'...Ř*A.<br /> 00000010 50 2E 41 00 00 00 00 00 P.A.....<br /> || 15753 (3.73+) || fixes freeze when something in 3D appearing<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x27 =&gt; 0x412AD8, 0x412E50<br /> <br /> |-<br /> | SLES-51958 || Whiplash ||<br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 01 00 00 00 =...WD..........<br /> 00000010 84 D5 25 00 07 00 02 45 07 00 00 10 00 00 00 00 „Ő%....E........<br /> || || Trick game to not produce mipmaps. Fix graphical issues. <br /> <br /> |-<br /> | SLUS-21452 || Valkyrie Profile 2 - Silmeria ||<br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =...‰=..........<br /> 00000010 01 00 00 00 28 09 10 00 0A 00 00 00 01 00 00 00 ....(...........<br /> 00000020 48 98 2B 00 0B 00 00 00 44 00 00 00 00 00 00 00 H.+.....D.......<br /> 00000030 53 4C 55 53 2D 32 31 34 35 32 SLUS-21452<br /> || 15753 (3.73+) || Fix black screen and ghosting/gfx (requires speed fix)<br /> <br /> |-<br /> | SLUS-20469 || Xenosaga Episode I: Der Wille zur Macht || <br /> 00000000 3D 00 00 00 57 44 00 00 0F 00 00 00 00 24 32 00 =...WD.......$2.<br /> 00000010 00 29 32 00 00 00 00 00 .)2..... ........<br /> || 17495 (4.78+) || Fix &quot;erde kaiser&quot; quest. Config cause massive slow down, and should be used only for that part of game, then removed safely. <br /> Improve FPU accuracy range =&gt; 0x322400 , 0x322900<br /> <br /> |-<br /> | SLUS-20228GH || Silent Hill 2 ||<br /> 00000000 3D 00 00 00 34 12 00 00 0E 00 00 00 B4 53 17 00 =...4.......´S..<br /> 00000010 0F 00 00 00 18 5D 17 00 18 5D 17 00 00 00 00 00 .....]...]......<br /> || || Fixes the missing polygons on characters and the inaccurate camera angles<br /> |-<br /> | SLUS-20622 || Silent Hill 3 ||<br /> 00000000 3D 00 00 00 57 44 00 00 0F 00 00 00 34 AC 19 00 =...WD......4¬..<br /> 00000010 34 AC 19 00 00 00 00 00 4¬......<br /> || || Fixes camera inaccuracies<br /> <br /> |-<br /> <br /> | || || || || <br /> <br /> |}<br /> <br /> ===Config data examples (hardcoded)===<br /> ====Inside ps2_emu.self====<br /> Embedded patches are based on Checksum/Hash of title. ps2_emu is only emulator version where patches are described inside self file in ascii. Known patch types described in ascii are: Patch data, new SPU2 params, and Setting mecha HACK to show GODZCD as GODZCDDA.<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> ! PS2 Title !! Hash !! Game !! Patch Type !! Data<br /> |-<br /> | SCUS_971.46|| 0x6B1ADE00D||Disney's Treasure Planet || Patch data - Fixes black screen at start, it apply to STREAM_D.IRX file in IOP folder. || 0x147C (sector) , 0x580 (offset) (- 0xC on disc) <br /> Replace opcodes<br /> 00 01 01 3C lui at,0x0100<br /> 80 BF 03 3C lui v1,0xBF80<br /> C8 10 63 8C lw v1,0x10C8(v1)<br /> 24 18 61 00 and v1,at<br /> FB FF 61 10 beq v1,at, -0x10<br /> 00 00 00 00 nop <br /> <br /> Original opcodes<br /> FF FF 01 24 li at,-0x1<br /> 04 00 61 14 bne at,v1, +0x14<br /> 00 80 01 3C lui at,0x8000<br /> 02 00 41 14 bne at,v0, +0x0C<br /> 00 00 00 00 nop <br /> 0D 00 06 00 break <br /> |-<br /> |SLUS_201.74 ||0x23D92589C5|| Rumble Racing || Patch data - fixes black screen after Playstation 2 logo. Patch apply to AUDIO.IRX file in MODULES folder || 0x3AEDA (sector), 0x120 (offset)<br /> Replace opcodes<br /> 06 00 80 14 bnez a0, +0x1C<br /> 21 20 43 00 addu a0,v0,v1<br /> 21 10 A0 00 move v0,a1<br /> 02 00 A0 14 bnez a1, +0x0C<br /> 00 00 00 00 nop <br /> 01 00 05 24 li a1,0x1<br /> EB FF 40 10 beqz v0, -0x50<br /> 04 00 84 24 addiu a0,0x4<br /> FC FF 90 24 addiu s0,a0,-0x4<br /> <br /> Original opcodes<br /> 07 00 80 14 bnez a0, +0x20<br /> 21 80 43 00 addu s0,v0,v1<br /> 21 10 A0 00 move v0,a1<br /> 02 00 A0 14 bnez a1, +0x0C<br /> 00 00 00 00 nop <br /> 01 00 05 24 li a1,0x1<br /> FC FF 40 10 beqz v0, -0x0C<br /> 00 00 00 00 nop <br /> 04 00 04 26 addiu a0,s0,0x4<br /> <br /> |-<br /> |SLUS_211.96||0x24D92589D5|| Indigo Prophecy || new SPU2 params || 1<br /> |-<br /> |SLPM_661.93||0x608634992D|| &lt;abbr title=&quot;https://www.gamefaqs.com/ps2/544598-indigo-prophecy/data&quot;&gt;Fahrenheit (NTSC-J)&lt;/abbr&gt; || new SPU2 params || 1<br /> |-<br /> |SLUS_212.96||0x5CA15DF14D|| Dance Factory ||Setting mecha HACK to show GODZCD as GODZCDDA ||<br /> |}<br /> <br /> ====Inside ps2_gxemu.self/ps2_softemu.self====<br /> There are hundreds of configs hidden in ps2_gxemu, and ps2_softemu self files. Internal config structure is basing on custom hash based on Title ID, internal memory offset pointing to place where true patch instruction is, and count of used commands. When disc/iso is started emulator search for configs, and if config for selected ID exist, then emulator apply it by itself. Is not perfect way of applying patches, because some games use the same ID, but different content. Good example here is Star Wars Battlefront II SLUS-21240, where some versions of game can refuse to work because it apply bad patch.<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> ! PS2 Title !! Hash !! Game !! Patch Type !! Data<br /> |-<br /> | || || || || <br /> |}<br /> <br /> ==TitleID/DiscID in ps2_netemu.self==<br /> There are 193 titleIDs listed inside ps2_netemu.self. More precisely, into XPARAM2.ELF file of PS2 Bios included in ps2_netemu.self. XPARAM2.ELF is called by OSDSYS, then ID check is performed. If title ID match to one of included in the table, different IOP emulation settings are applied.<br /> There are internal flags related to every title ID included inside file, still unknown what they do. Also some arguments, in plain text. File in real ps2 is introduced in SCPH-750XX models so exactly when DECKARD Power PC chip exchanged original IOP chip. This can explain why it is still in PS3 netemu bios. Because PS3 it is ppc that can need the same/similar flags.<br /> <br /> Original PS2 bios include similar list file called XPARAM.ELF, but Title IDs there are not the same, although some of them exist on both lists.<br /> <br /> {| class=&quot;wikitable sortable&quot; || <br /> |- <br /> ! Command !! Name<br /> |-<br /> | 0x00 || TITLE_MASK <br /> |-<br /> | 0x01 || SIO2_MASK<br /> |-<br /> | 0x02 || DEV9_MASK<br /> |-<br /> | 0x03 || USB_MASK<br /> |-<br /> | 0x04 || SIF_DMA_SYNC<br /> |-<br /> | 0x05 || SIF_DMA_LOAD<br /> |-<br /> | 0x06 || DMAC_CH10_INT_DELAY<br /> |-<br /> | 0x07 || MECHA_RECOGTIME<br /> |-<br /> | 0x08 || CPU_DELAY<br /> |-<br /> | 0x09 || DEV5_INT_SPEED<br /> |-<br /> | 0x0A || CDVD_READ_DELAY<br /> |-<br /> | 0x0B || SPU2_BEHAVIOR<br /> |-<br /> |}<br /> <br /> {| class=&quot;wikitable sortable&quot; || <br /> |- <br /> ! ID !! Title !! Command !! Value !! Remarks <br /> |- <br /> |PBPX_952.01 || DVD Utility Disc Version 1.00 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.02 || DVD Utility Disc Version 1.01 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.03 || DVD Utility Disc Version 1.01 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.06 || DVD Player (Version 2.01) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.07 || DVD Player (Version 2.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.08 || DVD Player (Version 2.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.09 || DVD Player (Version 2.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.10 || DVD Utility Disc Version 2.10 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.11 || DVD Utility Disc Version 1.00 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.21 || DVD Player (Version 2.12) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.22 || DVD Player (Version 2.14) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.24 || DVD Player (Version 2.16) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.28 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.35 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.39 || Online Start Up Disc v3.0 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.01 || Linux for PS2 Beta Release 1 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.07 || Playstation 2 Linux Runtime Environment v1.0 (Disc 1) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.09 || Linux for PS2 Release 1.0 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.18 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PDPX_991.09 || DVD Player (Version 3.04) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PSXC_002.01 || PSX Update Disc 1.10 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PSXC_002.02 || PSX Update Disc 1.20 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PSXC_002.03 || PSX Update Disc 1.31 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PTPX_970.38 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCAJ_201.25 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCAJ_201.26 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCES_532.02 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCKA_200.49 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCPM_621.15 || || 0x00 || 0x1000000 || TITLE_MASK<br /> |-<br /> |SCPM_621.16 || || 0x00 || 0x1000000 || TITLE_MASK<br /> |-<br /> |SCPN_601.01 || PlayStation BB Navigator (Version 0.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.30 || PlayStation BB Navigator (Version 0.20) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.40 || PlayStation BB Navigator (Version 0.30) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.50 || PlayStation BB Navigator (Version 0.31) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.60 || PlayStation BB Navigator (Version 0.32) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPS_110.01 || I.Q. Remix || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPS_110.10 || Yoake no Mariko (Performance Pack Edition) || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_110.18 || Yoake no Mariko || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_110.21 || Yoake no Mariko 2nd Act (Limited Edition) || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_110.22 || Yoake no Mariko 2nd Act || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_150.38 || Lifeline || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SCPS_150.39 || Lifeline || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SCPS_170.01 || Gran Turismo 4 || 0x0B || 0x10000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCPS_175.01 || Linux (for PlayStation2) Release 1.0 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPS_200.39 || || 0x00 || 0x4000000 || TITLE_MASK<br /> |-<br /> |SCUS_971.67 || PaRappa the Rapper 2 || 0x04 || 0x2000 || SIF_DMA_SYNC<br /> |-<br /> |SCUS_972.69 || Final Fantasy XI [Disc 2] || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLES_500.48 || Donald Duck: Quack Attack || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_500.62 || Orphen: Scion of Sorcery || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLES_503.64 || City Crisis || 0x0A || 0x80BB8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_504.46 || Shadow Man 2: The Second Coming || 0x0A || 0x80600 || CDVD_READ_DELAY<br /> |-<br /> |SLES_505.40 || Simpsons: Road Rage || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_506.08 || Shadow Man 2: The Second Coming || 0x0A || 0x80600 || CDVD_READ_DELAY<br /> |-<br /> |SLES_506.28 || Simpsons: Road Rage || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_507.28 || Tiger Woods PGA Tour 2002 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_507.29 || || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_512.82 || Tiger Woods PGA Tour 2003 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_514.79 || Def Jam Vendetta || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLES_518.41 || SpyHunter 2 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_518.44 || Time Crisis 3 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_519.97 || SWAT: Global Strike Team || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_520.97 || SWAT: Global Strike Force || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_530.37 || Super Monkey Ball Deluxe || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLES_536.68 || Micro Machines v4 || 0x01 || 0x801 || SIO2_MASK<br /> |-<br /> |SLES_537.55 || Castlevania: Curse of Darkness || 0x04 || 0x10 || SIF_DMA_SYNC<br /> |-<br /> |SLES_537.96 || FIFA Street 2 || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_620.42 || Kurogane no Houkou: Warship Commander || 0x01 || 0x3000 || SIO2_MASK<br /> |-<br /> |SLPM_620.62 || Gitaroo Man One || 0x0A || 0x80540 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_621.05 || Taikou Risshiden IV || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPM_621.24 || Ready 2 Rumble Boxing: Round 2 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_621.25 || Gauntlet: Dark Legacy || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPM_621.25 || Gauntlet: Dark Legacy || 0x09 || 0x2B470005 || DEV5_INT_SPEED<br /> |-<br /> |SLPM_621.35 || Final Fantasy: XI (Beta Version) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SLPM_621.54 || DDRMAX Dance Dance Revolution 6thMix || 0x08 || 0x1A5E || CPU_DELAY<br /> |-<br /> |SLPM_622.39 || Supercar Street Challenge || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_623.69 || Karaoke Revolution: J-Pop Vol.1 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.79 || Karaoke Revolution: J-Pop Vol.2 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.80 || Karaoke Revolution: J-Pop Vol.3 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.81 || Karaoke Revolution: J-Pop Vol.4 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.82 || Karaoke Revolution: Love &amp; Ballad || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.83 || Karaoke Revolution: Night Selection 2003 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.14 || Karaoke Revolution: Dreams &amp; Memories || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.37 || Suisui Sweet: Amai Ai no Mitsukekata || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_624.50 || Karaoke Revolution: Anime Song Selection || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.51 || Karaoke Revolution: J-Pop Vol.5 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.54 || Karaoke Revolution: J-Pop Vol.6 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.55 || Karaoke Revolution: J-Pop Vol.7 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.56 || Karaoke Revolution: J-Pop Vol.8 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.57 || Karaoke Revolution: Snow &amp; Party || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.64 || Pop'n Taisen Pazurudame Online || 0x08 || 0x1F40 || CPU_DELAY<br /> |-<br /> |SLPM_624.79 || Karaoke Revolution: J-Pop Vol.9 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.91 || Mega Man: The Power Battle || 0x04 || 0x2000 || SIF_DMA_SYNC<br /> |-<br /> |SLPM_624.92 || Karaoke Revolution: Kids Song Selection || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_625.28 || Karaoke Revolution: Kazoku Idol Sengen (Bundle Edition) || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_625.29 || Karaoke Revolution: Kazoku Idol Sengen || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_650.86 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 (Disc 1) || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPM_650.87 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 (Disc 2) || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPM_650.90 || Spy Hunter || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_651.97 || Nobunaga's Ambition Online || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_652.09 || Star Ocean: Till the End of Time || 0x0B || 0x20014 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_654.38 || Star Ocean: Till the End of Time (Director's Cut) (Disc 1) || 0x0B || 0x20014 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_654.39 || Star Ocean: Till the End of Time (Director's Cut) (Disc 2) || 0x0B || 0x20014 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_654.88 || Grand Theft Auto: Vice City || 0x0A || 0x300 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_654.88 || Grand Theft Auto: Vice City || 0x09 || 0x36000200 || DEV5_INT_SPEED<br /> |-<br /> |SLPM_656.33 || I Love Baseball: Pro Yakyu wo Koyonaku || 0x08 || 0xFA0 || CPU_DELAY<br /> |-<br /> |SLPM_656.98 || Love Songs: ADV Futaba Riho 14-sai Natsu || 0x0A || 0x80380 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_657.05 || Final Fantasy XI: Chains of Promathia (Expansion Disc) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_657.06 || Final Fantasy XI: Chains of Promathia (All-In-One Edition) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_657.19 || Burnout 3: Takedown || 0x01 || 0x1C00 || SIO2_MASK<br /> |-<br /> |SLPM_657.83 || Nobunaga no Yabou Online: Tappi no Shou || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_658.94 || Winning Post 6: 2005 Version || 0x01 || 0x2400 || SIO2_MASK<br /> |-<br /> |SLPM_659.34 || Maple Colors || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_659.53 || Final Fantasy: XI (Entry Disc 2005) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_659.84 || Grand Theft Auto: San Andreas || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_660.33 || The Sword of Etheria || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPM_660.33 || The Sword of Etheria || 0x00 || 0x2000000 || TITLE_MASK<br /> |-<br /> |SLPM_660.48 || The Sword of Etheria || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPM_660.48 || The Sword of Etheria || 0x00 || 0x2000000 || TITLE_MASK<br /> |-<br /> |SLPM_660.57 || Taito Memories Vol.1 || 0x08 || 0xCE4 || CPU_DELAY<br /> |-<br /> |SLPM_661.56 || Marheaven: Arm Fight Dream || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_661.75 || Akumajo Dracula: Yami no Juin || 0x08 || 0x60 || CPU_DELAY<br /> |-<br /> |SLPM_661.75 || Akumajo Dracula: Yami no Juin || 0x0B || 0x2001C || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_663.93 || Final Fantasy XI: Treasures of Aht Urhgan (All-In-One Edition) || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_663.93 || Final Fantasy XI: Treasures of Aht Urhgan (All-In-One Edition) || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPM_663.93 || Final Fantasy XI: Treasures of Aht Urhgan (All-In-One Edition) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_663.94 || Final Fantasy XI: Treasures of Aht Urhgan || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_664.36 || Aria the Natural || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_664.36 || Aria the Natural || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLPM_665.39 || Nobunaga no Yabou Online: Haten no Shou || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_665.58 || Tomb Raider: Legend || 0x08 || 0x3E8 || CPU_DELAY<br /> |-<br /> |SLPM_665.74 || Detective Evangelion || 0x00 || 0x2000000 || TITLE_MASK<br /> |-<br /> |SLPM_680.07 || Karaoke Revolution (Trial) || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_680.10 || || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPS_200.08 || Morita Shogi || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPS_200.20 || FIFA 2000 World Championship || 0x04 || 0x2001 || SIF_DMA_SYNC<br /> |-<br /> |SLPS_200.37 || Go Go Golf || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_200.38 || Grappler Baki: Baki Saidai no Tournament || 0x08 || 0x1194 || CPU_DELAY<br /> |-<br /> |SLPS_200.53 || Tenshi no Present: Marle Oukoku Monogatari (Limited Edition) || 0x0B || 0x20000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_200.66 || Tenshi no Present: Marle Oukoku Monogatari || 0x0B || 0x20000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_201.01 || City Crisis || 0x0A || 0x80BB8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_201.11 || Magical Sports Pro Baseball 2001 || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_201.72 || Koushien: Konpeki no Sora || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_201.73 || Hard Hitter 2 || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_201.97 || Surfing Air Show with RatBoy || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_201.99 || F1 2002 || 0x0B || 0x20005 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_202.00 || Final Fantasy XI || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPS_204.04 || Rakushou! Pachi-Slot Sengen 2 || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_204.29 || Hissatsu Pachi-Slot Evolution: Ninja Hattori-Kun V || 0x08 || 0x1B58 || CPU_DELAY<br /> |-<br /> |SLPS_204.55 || Simple 2000 Series Vol.94: The Aka-Champion - Come on Baby || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_250.08 || Sorcerous Stabber Orphen || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPS_250.71 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPS_250.72 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPS_250.81 || Saishuu Densha || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_251.36 || Kuon no Kizuna Sairin Mikotonori || 0x0A || 0x805DC || CDVD_READ_DELAY<br /> |-<br /> |SLPS_251.42 || Tiger Woods PGA Tour 2002 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_251.50 || Only You || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_252.37 || Only You || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_252.75 || Def Jam: Vendetta || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLPS_252.78 || Memories Off: Mix || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_252.90 || Time Crisis 3 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLPS_253.15 || One Piece: Grand Battle 3 || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPS_253.57 || 3-Nen B-Gumi Kinpachi Sensei: Densetsu no Kyoudan ni Tate! || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPS_253.79 || Tokyo Majin Gakuen: Kaihoujyou Kefurokou || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_254.06 || Hitman: Contracts || 0x08 || 0xDAC || CPU_DELAY<br /> |-<br /> |SLPS_254.18 || Ace Combat 5: The Unsung War || 0x0A || 0x500000 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_255.10 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_255.85 || Monster Farm 5: Circus Caravan || 0x07 || 5 || MECHA_RECOGTIME<br /> |-<br /> |SLPS_255.86 || Tales of the Abyss || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_256.04 || Ar tonelico Qoga: Knell of Ar Ciel || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLPS_256.67 || Daito Giken Premium Pachi-Slot Collection: Yoshimune || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPS_256.98 || Fatal Fury Battle Archives Volume 2 || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLPS_257.08 || The Familiar of Zero (Limited Edition) || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_257.09 || The Familiar of Zero || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_257.21 || HimeHibi - Princess Days || 0x0B || 0x8000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_257.22 || Routes PE (Limited Edition) || 0x08 || 0x3E8 || CPU_DELAY<br /> |-<br /> |SLPS_257.27 || Routes PE || 0x08 || 0x3E8 || CPU_DELAY<br /> |-<br /> |SLPS_732.49 || Ar tonelico Qoga: Knell of Ar Ciel (Platinum) || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLUS_200.11 || Orphen: Ocion of Sorcery || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_200.11 || Orphen: Ocion of Sorcery || 0x09 || 0x8000010 || DEV5_INT_SPEED<br /> |-<br /> |SLUS_200.77 || Donald Duck: Go'in Quackers || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_202.74 || City Crisis || 0x0A || 0x80BB8 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_203.05 || Simpsons: Road Rage || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_203.64 || Tiger Woods PGA Tour 2002 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_204.13 || Shadowman 2 || 0x0A || 0x80600 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_204.33 || SWAT: Global Strike Team || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_204.88 || Star Ocean: Til the end of Time [Disc 1] || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_205.72 || Tiger Woods PGA Tour 2003 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_205.90 || Spyhunter 2 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_206.35 || Muppets Party Cruise || 0x01 || 0x801 || SIO2_MASK<br /> |-<br /> |SLUS_206.39 || Def Jam Vendetta || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_206.86 || Splashdown: Rides Gone Wild || 0x0A || 0x80400 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_208.38 || All-Star Baseball 2005 || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLUS_208.51 || Ace Combat 5: The Unsung War || 0x0A || 0x500000 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_208.91 || Star Ocean: Til the end of Time [Disc 2] || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_209.18 || Super Monkey Ball: Deluxe || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_210.59 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLUS_210.70 || Final Fantasy XI: Chains of Promathia || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLUS_210.89 || Karaoke Revolution Vol.3 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_213.31 || Sonic Riders || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_213.39 || Puzzle Challenge || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_214.04 || Final Fantasy XI: Treasures of Aht Urhgan || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLUS_214.52 || Valkyrie Profile 2: Silmeria || 0x08 || 0x1388 || CPU_DELAY<br /> |- <br /> |}<br /> <br /> ==Other game patches (unofficial)==<br /> There are other unofficial ways to patch the PS2 games such the [https://forums.pcsx2.net/Thread-A-simplistic-guide-to-pnach-files-aka-pnach-for-dummies pnach] format, or the widescreen patches that allows 16:9 screen output for some games by hex editing the ISO, or by applying ppf patches. Games work fine on PS3 with same compatibility like before patching. Also some 480p (aka progressive scan) patches work fine. http://ps2wide.net/<br /> <br /> The problem of this methods is the patch is applyed over the ISO and is modifyed permanently, but this problem can be avoided in PS3 because that unofficial patches can be &quot;ported&quot; to the official config format to be used by ps2_netemu.self, by using the official config format the settings and patchs from the config file are applyed &quot;on the fly&quot; and the ISO is not modifyed<br /> <br /> ==ps2_title_brute code==<br /> <br /> A script to calculate whatever this encode is that is used in ps2emu, gxemu and softemu from given input title id.<br /> <br /> It contains code for bruting as well. Just call gen_sum with the title id in a specific format to get it.<br /> <br /> &lt;syntaxhighlight lang=&quot;python&quot;&gt;<br /> title_ = &quot;SLUS_200.73&quot;<br /> <br /> #patches = [0x6b1ade00dL, 0x23d92589c5L, 0x24d92589d5L, 0x608634992dL, 0x5ca15df14dL]<br /> #patches = [0x37ae1cb18dL, 0x608634999dL, 0x06b1ade00dL, 0x5fc674d915L, 0x178e3c9165L, 0x3889349935L,0x18fe4ce145L,0xc126943985,0xe90ebc11b5,0x58be0ca165L]<br /> patches = [ 0xCD1298155L, 0x12C93199A5L, 0x15C93199ADL, 0x24D92589A5L, 0x2CD12D8125L, 0x34C9359935L, 0x34C93599E5L, 0x34C93599E5L, 0x449961C9E5L, 0x4C9169C1CDL, 0x4C9169C1D5L, 0x4C9169C1DDL, 0x4C9169C1E5L, 0x4C9169C1F5L, 0x4C9169C1FDL, 0x4CB14DE12DL, 0x54A955F915L, 0x5CA15DF165L, 0x5CA15DF1FDL, 0x5CA15DF1FDL, 0x649965C94DL, 0x649965C955L, 0x649965C95DL, 0x649965C965L, 0x649965C96DL, 0x6BB149E15DL, 0x6C916DC165L, 0x6C916DC1A5L, 0x6C916DC1ADL, 0x6C916DC1B5L, 0x6C916DC1D5L, 0x6C916DC1DDL, 0x748975D9DDL, 0x7C817DD125L, 0x7C817DD165L, 0x7C817DD16DL, 0x7C817DD175L, 0x7C817DD1CDL, 0x84798529BDL, 0x8559A109ADL, 0x8579852915L, 0x8579852965L, 0x8D51A90145L, 0x8D51A901B5L, 0x8D51A901BDL, 0x8D718D21BDL, 0x9C619D31E5L, 0x9D41B911ADL, 0x9D619D31C5L, 0x9F29357805L, 0x9F293578E5L, 0xB549B51915L, 0xB549B51925L, 0xB549B5195DL, 0xB549B519A5L, 0xB549B519ADL, 0xBC61793025L, 0xBD41BD1105L, 0xC439C569F5L, 0xC7716D20D5L, 0xC7716D20D5L, 0xCA11E941F5L, 0xCF7965285DL, 0xCF7965285DL, 0xD20911582DL, 0xD7617D308DL, 0xE339C1695DL, 0xE794CCB06DL, 0xEA3129608DL, 0xEC11ED4115L, 0xEF594508D5L, 0xF409F559ADL, 0xF7415D10E5L, 0xF7415D10E5L]<br /> <br /> def gen_sum(title):<br /> var_30 = []<br /> for i in range(0x1A):<br /> var_30.append(0)<br /> r9=5<br /> r31=0<br /> #Title 2 decimal<br /> while r9 != 0xB:<br /> r11 = r9 + 1<br /> if r9 == 8:<br /> pass<br /> else:<br /> r5 = ord(title[r9:r9+1])<br /> r7 = r31 * 0xA<br /> r6 = r7 &amp; 0xFFFFFFFF<br /> r4 = r5 + r6<br /> r9 = r4 - 0x30<br /> r31 = r9 &amp; 0xFFFFFFFF<br /> r9 = r11<br /> #print r31<br /> r10 = ord(title[3:4]) # S<br /> r7 = (r31 &gt;&gt; 10) &amp; 0x7F<br /> r11 = ord(title[1:2]) # L<br /> r8 = ord(title[2:3]) # U<br /> r6 = (r10 &gt;&gt; 1) &amp; 0x3F<br /> r12 = ord(title[0:1]) # S<br /> r4 = (r11 &gt;&gt; 3) &amp; 0xF<br /> r5 = (r8 &gt;&gt; 2) &amp; 0x1F<br /> r3 = (r12 &gt;&gt; 4) &amp; 7<br /> r9 = r10 &lt;&lt; 7<br /> r0 = r8 &lt;&lt; 6<br /> r10 = r11 &lt;&lt; 5<br /> r8 = r12 &lt;&lt; 4<br /> r12 = r31 &lt;&lt; 3<br /> r11 = r10 | r5<br /> r9 = r9 | r7<br /> r0 = r0 | r6<br /> var_30[2] = r11 &amp; 0xFF<br /> r7 = r8 | r4<br /> var_30[0] = (r9 &amp; 0xFF)<br /> r10 = r12 | r3<br /> var_30[1] = (r0 &amp; 0xFF)<br /> r12 = (r31 &gt;&gt; 2) &amp; 0x3FFFFFF8<br /> var_30[3] = (r7 &amp; 0xFF)<br /> r8 = 5<br /> var_30[4] = (r10 &amp; 0xFF)<br /> var_30[0x19] = (r12 &amp; 0xFF)<br /> var_30[0x18] = (r8 &amp; 0xFF)<br /> var_30 = [int(v) for v in var_30]<br /> #print [hex(v) for v in var_30]<br /> r5 = var_30<br /> r6 = 0<br /> r4 = 0<br /> while r6 &lt; 5:<br /> r12 = r5[r6:r6+1][0]<br /> r7 = r6 + 1<br /> r0 = var_30[0x19]<br /> r3 = r6 + 0x10<br /> r9 = r12 ^ r0<br /> r31 = r3<br /> r5[r6] = r9<br /> r6 = r7<br /> r5[r31] = r4<br /> #print [hex(v) for v in r5]<br /> r9 = 0<br /> r10 = 0<br /> while r10 &lt; 5:<br /> r11 = r10 + 1<br /> r6 = r5[r10:r10+1][0]<br /> r4 = r9 &lt;&lt; 8<br /> r10 = r11<br /> r9 = r4 | r6<br /> return r9<br /> '''<br /> print hex(gen_sum(title_))<br /> <br /> a1='A'<br /> a2='A'<br /> a3='A'<br /> a4='A'<br /> while a1 &lt;= 'Z':<br /> a2='A'<br /> a3='A'<br /> a4='A'<br /> while a2 &lt;= 'Z':<br /> a3='A'<br /> a4='A'<br /> while a3 &lt;= 'Z':<br /> a4='A'<br /> while a4 &lt;= 'Z':<br /> #print &quot;%s%s%s%s&quot; % (a1,a2,a3,a4)<br /> for i in range(99999):<br /> t = &quot;%s%s%s%s_&quot; % (a1,a2,a3,a4) + '{4}{3}{2}.{1}{0}'.format(i%10,(i/10)%10,(i/100)%10,(i/1000)%10,(i/10000)%10)<br /> if gen_sum(t) in patches:<br /> print t<br /> print True<br /> a4=chr(ord(a4)+1)<br /> print &quot;%s%s%s%s&quot; % (a1,a2,a3,a4)<br /> a3=chr(ord(a3)+1)<br /> print &quot;%s%s%s%s&quot; % (a1,a2,a3,a4)<br /> a2=chr(ord(a2)+1)<br /> a1=chr(ord(a1)+1)<br /> '''<br /> <br /> print hex(gen_sum(&quot;SLUS_213.86&quot;))<br /> '''<br /> for i in range(99999):<br /> t = &quot;SLUS_&quot; + '{4}{3}{2}.{1}{0}'.format(i%10,(i/10)%10,(i/100)%10,(i/1000)%10,(i/10000)%10)<br /> if gen_sum(t) in patches:<br /> print &quot;%s %x&quot; % (t, gen_sum(t))<br /> <br /> '''<br /> &lt;/syntaxhighlight&gt;<br /> <br /> <br /> ==External References==<br /> * [http://www.eurogamer.net/articles/digitalfoundry-vs-ps2-classics-on-ps3]<br /> * [http://www.ps3hax.net/showthread.php?t=53444 PS2 Classics Algorithm By flatz]<br /> * [http://gitorious.ps3dev.net/ps2classic c port]<br /> * https://docs.google.com/spreadsheet/ccc?key=0As9ZdsrJoSp1dC1NTTRCSE5vbTlkOGItTC1CVzE5U3c#gid=7<br /> * http://www.pshomebrew.net/wiki/PS2_Classics_Emulator_Compatibility_List<br /> * [http://www.ps3hax.net/showthread.php?p=620747#post620747 How to properly convert Final Fantasy XII: IZJS For ps2classics]<br /> * https://en.wikipedia.org/wiki/List_of_PlayStation_2_Classics<br /> <br /> CPU-GPU intensive games + games only playable in software render on PCSX2:<br /> * http://wiki.pcsx2.net/index.php/Category:GPU_intensive_games<br /> * http://wiki.pcsx2.net/index.php/Category:CPU_intensive_games<br /> * http://wiki.pcsx2.net/index.php/Category:Software_rendering_only_games<br /> <br /> {{Reverse engineering}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=PS2_Emulation&diff=55845 PS2 Emulation 2020-03-26T13:43:52Z <p>Mysis: added widescreen support</p> <hr /> <div>==Description==<br /> Emulation of Playstation 2 is currently handled by 3 kind of emulators. CECH-A/B models use ps2_emu.self able to use built-in PS2 hardware (EE/GS/Rambus memory), and have best compatibility. CECH-C/E use ps2_gxemu, this emulator use physical Graphic Synthesizer found in this ps3 model, but Emotion Engine is fully emulated here, also there is no Rambus memory. All other models emulate PS2 thru fully software based ps2_netemu used for ps2 classics, and hacked now to use decrypted ISO files. Earlier before Sony provided ps2 classics on PS Store there was another soft only emulator strongly based on ps2_gxemu. It was called ps2_softemu, and had support for original PS2 CDVD. Only emulator not able to run physical discs is ps2_netemu. <br /> <br /> Emulators are self files, but not typical one. Emulators are not truly PS3 Game OS elf executables, but Guest OS'es running on LV1 of PS3. This mean that LV2, or more friendly Game OS is unloaded before emulator is loaded. This also mean that while emulators are running we can't call any LV2 function. Also LV1 syscalls are limited to call from all emulators, but can be fully unlocked. <br /> <br /> All emulators use built-in stripped developement version of PS2 BIOS with disabled debug functions that can affect some games. This is done because some games print debug info on screen when found that are run on dev bios. Bios between ps2_emu, ps2_gxemu, and ps2_netemu are different. Although bios from gxemu run fine on netemu, and vice-versa. While ps2_emu BIOS is able to run only on ps2emu version of emulator. <br /> <br /> [[File:Ps2_block_diagram.png|200px|thumb|right|Simplified block diagram of a PS2&lt;br /&gt;[http://www.philvaz.com/games/PS2.htm source]]]<br /> Note: <br /> * not available in early Tool/DECR and Debug/DEX firmwares. But available in AV TOOL firmware since 1.00<br /> * Emulation is based on a SCPH-50000/SCPH-20401 Playstation 2 Model.<br /> * [http://unina.stidue.net/Universita'%20di%20Trieste/Ingegneria%20Industriale%20e%20dell'Informazione/Tuzzi/Architetture_Avanzate_dei_Calcolatori/Emotion_2.pdf Introduction to PlayStation2 Architecture.pdf]<br /> <br /> ==PS2 Emulators types and versions==<br /> ps2_emu.self (1.02++)<br /> ps2_gxemu.self (1.50++)<br /> ps2_softemu.self (1.90++) 1.90-1.94 (11065), 2.00-2.10 (11830), 3.15 (12840), 3.41-3.65 (13474), 3.66-3.70 (15435), 3.72-4.21 (15529)<br /> (Changes: -2.50] [2.52-2.60] [2.70] [2.80] [3.00-3.65] [3.66-3.70] [3.74])<br /> ps2_netemu.self (3.70++)<br /> <br /> &lt;s&gt;<br /> *http://www.crocko.com/651925F44E444D8390E41A39A577BE48/ps2emu.rar<br /> *http://filerio.in/2xjqscjklj72<br /> *http://freakshare.com/files/bp53qpcy/ps2emu.rar.html<br /> *http://www.mirrorcreator.com/files/4BNITIXD/ps2_netemu.7z_links<br /> &lt;/s&gt;<br /> <br /> {{PS2 emulators workload comparison}}<br /> <br /> ===ps2_emu.self===<br /> <br /> ====Self System Table Offset====<br /> {| cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; border=&quot;1&quot; class=&quot;wikitable&quot; style=&quot;text-align: center;&quot;<br /> |-<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 1.00 AV || 0x7C3150 ||<br /> |-<br /> | 1.02 || 0x7C31F0 ||<br /> |-<br /> | 1.10 || 0x7C2168 ||<br /> |-<br /> | 1.11 || 0x7C23C8 ||<br /> |-<br /> | 1.30 || 0x8442E8 ||<br /> |-<br /> | 1.30 AV || 0x8442E8 ||<br /> |-<br /> | 1.31 || 0x844C98 ||<br /> |-<br /> | 1.32 || 0x845CA0 ||<br /> |-<br /> | 1.50 || 0x848728 ||<br /> |-<br /> | 1.90 || 0x4D7ED8 ||<br /> |-<br /> | 3.66 - 3.74 || 0x4E9A20 ||<br /> |-<br /> | 4.00 - 4.01 || 0x4EADB8 ||<br /> |-<br /> | 4.10 - 4.11 || 0x4EAD28 ||<br /> |-<br /> | 4.20 - 4.21 || 0x4EAE30 ||<br /> |-<br /> | 4.23 || 0x4EACE0 ||<br /> |-<br /> | 4.25 || 0x4EAE30 || Reverted to 4.20 - 4.21 version?<br /> |-<br /> | 4.78 - 4.82 || 0x4EB8C0 ||<br /> |}<br /> <br /> ===ps2_gxemu.self===<br /> <br /> ====Self System Table Offset====<br /> {| cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; border=&quot;1&quot; class=&quot;wikitable&quot; style=&quot;text-align: center;&quot;<br /> |-<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 1.50 || 0x5BDFC8 ||<br /> |-<br /> | 1.90 || 0x666C78 ||<br /> |-<br /> | 3.66 - 3.74 || 0x6766B8 ||<br /> |-<br /> | 4.00 - 4.11 || 0x677990 ||<br /> |-<br /> | 3.66 - 3.74 || 0x677AA8 ||<br /> |-<br /> | 4.78 - 4.82 || 0x678548 || <br /> |-<br /> |}<br /> <br /> ===ps2_softemu.self===<br /> <br /> ====Self System Table Offset====<br /> {| cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; border=&quot;1&quot; class=&quot;wikitable&quot; style=&quot;text-align: center;&quot;<br /> |-<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 1.90 || 0x5C7B10 ||<br /> |-<br /> | 2.50 || 0x5C7ED8 ||<br /> |-<br /> | 3.41 || 0x5C8C00 || <br /> |-<br /> | 3.66 - 3.71 || 0x5C8EC0 ||<br /> |-<br /> | 3.72 - 4.01 || 0x5C8E40 ||<br /> |}<br /> <br /> ===ps2_netemu.self===<br /> [[PS2_Classics_Emulator_Compatibility_List|PS2 Classics Emulator Compatibility List]]<br /> <br /> ====Self System Table Offset====<br /> {| cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; border=&quot;1&quot; class=&quot;wikitable&quot; style=&quot;text-align: center;&quot;<br /> |-<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 3.73 - 3.74 || 0x7D8B00 ||<br /> |-<br /> | 4.00 - 4.01 || 0x7DA200 ||<br /> |-<br /> | 4.10 - 4.11 || 0x7DA180 ||<br /> |-<br /> | 4.20 - 4.25 || 0x7DA500 ||<br /> |-<br /> | 4.78 - 4.83 || 0x751280 || <br /> |-<br /> |}<br /> <br /> ====General observations regarding PS2 Classics emulator====<br /> * Virtual memory cards are per title based, but apparently run through the current memory card system. The module used to manage memory cards is: vmc_savedata_plugin.sprx - Using a regular memory card that has been renamed result in a &quot;The save data is corrupt (8XXXXXXX) error&quot;<br /> * Loads an epilepsy warning before PS2 logo (PS button menu appears during epilepsy warning if controller is synced)<br /> * Does not support online functionality of PS2 titles (network configuration utility inside Full Spectrum Warrior claims no network adaptor has been found, same with Syphon Filter: The Omega Strain).<br /> <br /> - Only file that is needed in the folder for PS2 Classics is &quot;iso.bin.enc&quot;. Removing the manuals/DXT files will cause the game to boot IMMEDIATELY to the PS2 logo upon switching to 720p/starting PS2 LPAR.<br /> <br /> ====folder/file layout====<br /> (in this example GTA San Andreas Classic)<br /> &lt;pre&gt;<br /> [NPUD20946]<br /> [USRDIR]<br /> [CONTENT]<br /> 001.dxt<br /> 002.dxt<br /> 003.dxt<br /> 004.dxt<br /> 005.dxt<br /> 006.dxt<br /> 007.dxt<br /> 008.dxt<br /> 009.dxt<br /> 010.dxt<br /> 011.dxt<br /> 012.dxt<br /> 013.dxt<br /> 014.dxt<br /> 015.dxt<br /> 016.dxt<br /> 017.dxt<br /> Others.dxt<br /> Manual.idx<br /> [SAVEDATA]<br /> SCEVMC0.VME<br /> SCEVMC1.VME<br /> CONFIG<br /> ISO.BIN.EDAT<br /> ISO.BIN.ENC<br /> PS3LOGO.DAT<br /> PARAM.SFO<br /> ICON0.PNG<br /> PIC0.PNG<br /> PIC1.PNG<br /> PIC2.PNG<br /> &lt;/pre&gt;<br /> <br /> ==Virtual PS2 (emulated machine) usage and features==<br /> <br /> ===Video Modes===<br /> '''Note:''' Real PS2 : http://users.neoscientists.org/~blue/ps2videomodes.txt<br /> <br /> Video Modes<br /> ----.-----------.---------------.-----------.-----------.<br /> No | Name | Resolution | fV(Hz) | fH(kHz) |<br /> ----+-----------+---------------+-----------+-----------|<br /> 0 | NTSC-NI | 640x240(224) | 59.940 | 15.734 |<br /> 1 | NTSC-I | 640x480(448) | 59.820 | 15.734 |<br /> 2 | PAL-NI | 640x288(256) | 50.000 | 15.625 |<br /> 3 | PAL-I | 640x576(512) | 49.760 | 15.625 |<br /> 4 | VESA-1A | 640x480 | 59.940 | 31.469 |<br /> 5 | VESA-1C | 640x480 | 75.000 | 37.500 |<br /> 6 | VESA-2B | 800x600 | 60.317 | 37.879 |<br /> 7 | VESA-2D | 800x600 | 75.000 | 46.875 |<br /> 8 | VESA-3B | 1024x768 | 60.004 | 48.363 |<br /> 9 | VESA-3D | 1024x768 | 75.029 | 60.023 |<br /> 10 | VESA-4A | 1280x1024 | 60.020 | 63.981 |<br /> 11 | VESA-4B | 1280x1024 | 75.025 | 79.976 |<br /> 12 | DTV-480P | 720x480 | 59.940 | 31.469 |<br /> 13 | DTV-1080I | 1920x1080 | 60.000 | 33.750 |<br /> 14 | DTV-720P | 1280x720 | ?? | ?? |<br /> ----^-----------^---------------^-----------^-----------'<br /> <br /> ===Memory Mapping===<br /> == PCSX2 ==<br /> Mapping host memory for virtual systems...<br /> EE Main Memory @ 0x20000000 -&gt; 0x22884000 [40mb]<br /> IOP Main Memory (2mb) @ 0x24000000 -&gt; 0x24211000 [2mb]<br /> VU0/1 on-chip memory @ 0x28000000 -&gt; 0x2800A000 [40kb]<br /> Reserving memory for recompilers...<br /> SuperVU0 Recompiler Cache @ 0x0E800000 -&gt; 0x0F000000 [8mb]<br /> SuperVU1 Recompiler Cache @ 0x0F000000 -&gt; 0x0F800000 [8mb]<br /> Micro VU0 Recompiler Cache @ 0x3C000000 -&gt; 0x40000000 [64mb]<br /> Micro VU1 Recompiler Cache @ 0x40000000 -&gt; 0x44000000 [64mb]<br /> (thread:MTVU) Calling pthread_create...<br /> R5900-32 Recompiler Cache @ 0x30000000 -&gt; 0x34000000 [64mb]<br /> R3000A Recompiler Cache @ 0x34000000 -&gt; 0x36000000 [32mb]<br /> VIF0 Unpack Recompiler Cache @ 0x36000000 -&gt; 0x36800000 [8mb]<br /> VIF1 Unpack Recompiler Cache @ 0x38000000 -&gt; 0x38800000 [8mb]<br /> <br /> == ps2netemu == <br /> Mapping ELF @ 0x200000000<br /> <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Name !! ea !! lpar2(netemu 4.81) !! size !! flags !! lpar1(lv1 4.81)<br /> |-<br /> | text || 0x0 || 0x3D00000 || 0x300000( 3 MB) || 0x8000000000000003 0000000000000003 || 0x7D00000<br /> |- <br /> | ro_work || 0x300000 || 0x300000 || 0x500000( 5 MB) || 0x0000000000000003 0000000000000003 || 0x4300000<br /> |- <br /> | rw_work || 0x800000 || 0x800000 || 0x2A00000( 42 MB) || 0x0000000000000001 0000000000000003 || 0x4800000<br /> |- <br /> | negmem || 0x1FFF0000 || 0x3210000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000000 || 0x7210000<br /> |- <br /> | ee_ram || 0x100000000 || 0x64000E000000 || 0x2000000( 32 MB) || 0x0000000000000001 0000000000000000 || 0x3C00000 - 0x3F00000, 0x8000000 - 0x9B00000<br /> |- <br /> | ee_jit_code || 0xD00000000 || 0x680024000000 || 0x3000000( 48 MB) || 0x8000000000000001 0000000000000003 || 0xBC00000 - 0xEB00000<br /> |- <br /> | vu0_jit_code || 0xD08000000 || 0x580000800000 || 0x400000( 4 MB) || 0x8000000000000001 0000000000000003 || 0x900000 - 0xC00000<br /> |- <br /> | vu0_jit_data || 0xD0C000000 || 0x3700000 || 0x400000( 4 MB) || 0x0000000000000002 0000000000000003 || 0x7700000<br /> |- <br /> | eeram_jit_lut || 0xE00000000 || 0x640010000000 || 0x2000000( 32 MB) || 0x0000000000000001 0000000000000003 || 0x9C00000 - 0xBB00000<br /> |- <br /> | eerom_jit_lut || 0xE0FC00000 || 0x580000C00000 || 0x400000( 4 MB) || 0x0000000000000001 0000000000000003 || 0xD00000 - 0x1000000<br /> |- <br /> | ee_dbg_ram || 0x90FFF8000 || 0x64000E078000 || 0x8000( 32 KB) || 0x0000000000000001 0000000000000000 || <br /> |- <br /> | iop_ram || 0x400000000 || 0x3300000 || 0x200000( 2 MB) || 0x0000000000000001 0000000000000000 || 0x7300000<br /> |- <br /> | iop_rom || 0x50FC00000 || 0x580001000000 || 0x400000( 4 MB) || 0x0000000000000001 0000000000000002 || 0x1100000 - 0x1400000<br /> |- <br /> | iop_spad || 0x50F800000 || 0x3220000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000002 || 0x7220000<br /> |- <br /> | spu2_ram || 0x600000000 || 0x3500000 || 0x200000( 2 MB) || 0x0000000000000001 0000000000000000 || 0x7500000<br /> |- <br /> | spu2_ram2 || 0x600200000 || 0x3500000 || 0x200000( 2 MB) || 0x0000000000000001 0000000000000000 || 0x7500000<br /> |- <br /> | spu2_pcm || 0x1000000000 || 0x3230000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000000 || 0x7230000<br /> |- <br /> | ee_spr_lo || 0x700000000 || 0x3201000 || 0x2000( 8 KB) || 0x0000000000000001 0000000000000000 || 0x7201000<br /> |- <br /> | ee_spr || 0x800000000 || 0x3203000 || 0x6000( 24 KB) || 0x0000000000000001 0000000000000000 || 0x7203000<br /> |- <br /> | ee_vu0_dmem0 || 0x301004000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_vu0_dmem1 || 0x301005000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_vu0_dmem2 || 0x301006000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_vu0_dmem3 || 0x301007000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_rom || 0x30FC00000 || 0x580001000000 || 0x400000( 4 MB) || 0x0000000000000001 0000000000000001 || 0x1100000 - 0x1400000<br /> |- <br /> | vrc || 0xC00000000 || 0x600005000000 || 0x1000000( 16 MB) || 0x0000000000000001 0000000000000000 || 0x1500000 - 0x2400000<br /> |- <br /> | /dev/zero || 0x4000000000 || 0x3240000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000001 || 0x7240000<br /> |- <br /> | dma_vu0_dmem0 || 0x4001004000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | dma_vu0_dmem1 || 0x4001005000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | dma_vu0_dmem2 || 0x4001006000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | dma_vu0_dmem3 || 0x4001007000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem0 || 0x30000000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem1 || 0x30001000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem2 || 0x30002000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem3 || 0x30003000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | SGSXdr || 0x1904000000 || 0x64000C000000 || 0x1700000( 23 MB) || 0x0000000000000001 0000000000000000 || 0x2500000 - 0x3B00000<br /> |- <br /> | iopTrace || 0x1400000000 || 0x3250000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000000 || 0x7250000<br /> |}<br /> <br /> === Memory Allocation ===<br /> <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Name !! Size !! page_log2 !! lpar2(netemu 4.81) !! lpar1(lv1 4.81)<br /> |-<br /> | ra_vu0_dmem || 0x1000 (4 KB) || 12 (4 KB) || 0x3200000 || 0x7200000<br /> |- <br /> | ra_ee_spr_lo || 0x2000 (8 KB) || 12 (4 KB) || 0x3201000 || 0x7201000<br /> |- <br /> | ra_ee_sprx || 0x6000 (24 KB) || 12 (4 KB) || 0x3203000 || 0x7203000<br /> |- <br /> | ra_negmem || 0x10000 (64 KB) || 16 (64 KB) || 0x3210000 || 0x7210000<br /> |- <br /> | ra_iop_spad || 0x10000 (64 KB) || 16 (64 KB) || 0x3220000 || 0x7220000<br /> |- <br /> | ra_spu2_pcm || 0x10000 (64 KB) || 16 (64 KB) || 0x3230000 || 0x7230000<br /> |- <br /> | ra_nulls || 0x10000 (64 KB) || 16 (64 KB) || 0x3240000 || 0x7240000<br /> |- <br /> | ra_itrace || 0x10000 (64 KB) || 16 (64 KB) || 0x3250000 || 0x7250000<br /> |- <br /> | ra_iop_ram || 0x200000 (2 MB) || 20 (1 MB) || 0x3300000 || 0x7300000<br /> |- <br /> | ra_spu2_ram || 0x200000 (2 MB) || 20 (1 MB) || 0x3500000 || 0x7500000<br /> |- <br /> | ra_vu0_code || 0x400000 (4 MB) || 20 (1 MB) || 0x580000800000 || 0x900000 - 0xC00000<br /> |- <br /> | ra_vu0_data || 0x400000 (4 MB) || 20 (1 MB) || 0x3700000 || 0x7700000<br /> |- <br /> | ra_ee_rom_pc || 0x400000 (4 MB) || 20 (1 MB) || 0x580000C00000 || 0xD00000 - 0x1000000<br /> |- <br /> | ra_ps2_rom || 0x400000 (4 MB) || 20 (1 MB) || 0x580001000000 || 0x1100000 - 0x1400000<br /> |- <br /> | ra_vrc_mem || 0x1000000 (16 MB) || 20 (1 MB) || 0x600005000000 || 0x1500000 - 0x2400000<br /> |- <br /> | ra_sgs_xdr || 0x1700000 (23 MB) || 20 (1 MB) || 0x64000C000000 || 0x2500000 - 0x3B00000<br /> |- <br /> | ra_ee_ram || 0x2000000 (32 MB) || 20 (1 MB) || 0x64000E000000 || 0x3C00000 - 0x3F00000, 0x8000000 - 0x9B00000<br /> |- <br /> | ra_ee_ram_pc || 0x2000000 (32 MB) || 20 (1 MB) || 0x640010000000 || 0x9C00000 - 0xBB00000<br /> |- <br /> | ra_trans_code || 0x3000000 (48 MB) || 20 (1 MB) || 0x680024000000 || 0xBC00000 - 0xEB00000<br /> |}<br /> <br /> ===PS2 Memory and Hardware Mapped Registers Layout===<br /> ----------------------------------------------- <br /> PCSX2<br /> Mapping host memory for virtual systems...<br /> EE Main Memory @ 0x20000000 -&gt; 0x22884000 [40mb]<br /> IOP Main Memory (2mb) @ 0x24000000 -&gt; 0x24211000 [2mb]<br /> VU0/1 on-chip memory @ 0x28000000 -&gt; 0x2800A000 [40kb]<br /> Reserving memory for recompilers...<br /> SuperVU0 Recompiler Cache @ 0x0E800000 -&gt; 0x0F000000 [8mb]<br /> SuperVU1 Recompiler Cache @ 0x0F000000 -&gt; 0x0F800000 [8mb]<br /> Micro VU0 Recompiler Cache @ 0x3C000000 -&gt; 0x40000000 [64mb]<br /> Micro VU1 Recompiler Cache @ 0x40000000 -&gt; 0x44000000 [64mb]<br /> (thread:MTVU) Calling pthread_create...<br /> R5900-32 Recompiler Cache @ 0x30000000 -&gt; 0x34000000 [64mb]<br /> R3000A Recompiler Cache @ 0x34000000 -&gt; 0x36000000 [32mb]<br /> VIF0 Unpack Recompiler Cache @ 0x36000000 -&gt; 0x36800000 [8mb]<br /> VIF1 Unpack Recompiler Cache @ 0x38000000 -&gt; 0x38800000 [8mb]<br /> <br /> R5900 RAM copy @ 0x11C20000 -&gt; 0x13C20000 [32mb]<br /> R5900 RAM LUT @ 0x13C20000 -&gt; 0x16060000 [36mb]<br /> <br /> RAM Sizes - Overview<br /> --------------------<br /> EE - 32 MB<br /> GS - 4 MB<br /> IOP - 2 MB<br /> SPU - 2 MB <br /> <br /> Logical Address Range Physical Address Range Description Size<br /> --------------------- ---------------------- ----------- -----<br /> 0x80000000-0x800FFFFF 0x00000000-0x000FFFFF EE Kernel 1 MB<br /> 0x00100000-0x01FFFFFF 0x00100000-0x01FFFFFF EE RAM (Cached) 31 MB<br /> 0x20100000-0x21FFFFFF 0x00100000-0x01FFFFFF EE RAM (Uncached) 31 MB<br /> 0x30100000-0x31FFFFFF 0x00100000-0x01FFFFFF EE RAM (Uncached&amp;accelerated) 31 MB<br /> 0x10000000-0x11FFFFFF 0x10000000-0x11FFFFFF EE Registers (uncached) 32 MB<br /> 0x12000000-0x13FFFFFF 0x12000000-0x13FFFFFF GS Registers (uncached) 32 MB<br /> 0x1FC00000-0x1FFFFFFF 0x1FC00000-0x1FFFFFFF? Boot ROM0 (uncached) 4 MB<br /> 0x9FC00000-0x9FFFFFFF 0x1FC00000-0x1FFFFFFF? Boot ROM09 (cached) 4 MB<br /> 0xBFC00000-0xBFFFFFFF 0x1FC00000-0x1FFFFFFF? Boot ROM0b (uncached) 4 MB<br /> 0xBE000000-0xBE040000 0x1E000000-0x1E03FFFF? Boot ROM1 256 KB<br /> 0xBE400000-0xBE440000 0x1E400000-0x1E43FFFF? Boot ROM2 256 KB<br /> 0xBC000000-0xBC1FFFFF 0x1C000000-0x1C1FFFFF? IOP RAM 2 MB<br /> 0x70000000-0x70003FFF ---------------------- Scratch Pad 16 KB <br /> <br /> Kernel empty and unused areas (NB: On non-modded consoles)<br /> ----------------------------------------------------------<br /> Area Logical Address Range Physical Address Range Size<br /> ---- --------------------- ---------------------- ----<br /> #1 0x80030000-0x80074FFF 0x00030000-0x00074FFF 282624 Bytes<br /> #2 0x80078250-0x8007FFFF 0x00078250-0x0007FFFF 32176 Bytes<br /> <br /> RAM Mirror Modes Logical Address Range Physical Address Range Size<br /> ---------------- --------------------- ---------------------- ----<br /> Cached 0x00100000-0x01FFFFFF 0x00100000-0x01FFFFFF 31 MB<br /> Uncached 0x20100000-0x21FFFFFF 0x00100000-0x01FFFFFF 31 MB<br /> Uncached&amp;accelerated 0x30100000-0x31FFFFFF 0x00100000-0x01FFFFFF 31 MB<br /> <br /> Operating Modes Logical Address Range Physical Address Range Size<br /> --------------- --------------------- ---------------------- ----<br /> USEG 0x00000000-0x01FFFFFF 0x00000000-0x01FFFFFF 32 MB<br /> KSEG0 0x80000000-0x81FFFFFF 0x00000000-0x01FFFFFF 32 MB<br /> KSEG1 0xA0000000-0xA1FFFFFF 0x00000000-0x01FFFFFF 32 MB<br /> <br /> Hardware Mapped Registers <br /> ------------------------- <br /> <br /> COUNTERS' REGISTERS<br /> -------------------<br /> 10000000 T0_COUNT Timer Count<br /> 10000010 T0_MODE Timer Mode<br /> 10000020 T0_COMP Timer Compare value<br /> 10000030 T0_HOLD Timer Pause <br /> <br /> 10000800 T1_COUNT Timer Count<br /> 10000810 T1_MODE Timer Mode<br /> 10000820 T1_COMP Timer Compare value<br /> 10000830 T1_HOLD Timer Pause <br /> <br /> 10001000 T2_COUNT Timer Count<br /> 10001010 T2_MODE Timer Mode<br /> 10001020 T2_COMP Timer Compare value<br /> <br /> 10001810 T3_COUNT Timer Count<br /> 10001820 T3_MODE Timer Mode<br /> 10001830 T3_COMP Timer Compare value<br /> <br /> IPU REGISTERS (MPEG2 DECODER)<br /> -----------------------------<br /> 10002000 IPU_CMD<br /> 10002010 IPU_CTRL<br /> 10002020 IPU_BP<br /> 10002030 IPU_TOP<br /> <br /> GIF REGISTERS<br /> -------------<br /> 10003000 GIF_CTRL<br /> 10003010 GIF_MODE<br /> 10003020 GIF_STAT<br /> 10003040 GIF_TAG0<br /> 10003050 GIF_TAG1<br /> 10003060 GIF_TAG2<br /> 10003070 GIF_TAG3<br /> 10003080 GIF_CNT<br /> 10003090 GIF_P3CNT<br /> 100030a0 GIF_P3TAG <br /> <br /> VIF0 REGISTERS<br /> -------------- <br /> 10003800 VIF0_STAT VIF0 Status<br /> 10003810 VIF0_FBRST<br /> 10003820 VIF0_ERR<br /> 10003830 VIF0_MARK<br /> 10003840 VIF0_CYCLE<br /> 10003850 VIF0_MODE <br /> 10003860 VIF0_NUM<br /> 10003870 VIF0_MASK<br /> 10003880 VIF0_CODE<br /> 10003890 VIF0_ITOPS<br /> 100038d0 VIF0_ITOP<br /> 10003900 VIF0_R0<br /> 10003910 VIF0_R1<br /> 10003920 VIF0_R2<br /> 10003930 VIF0_R3<br /> 10003940 VIF0_C0<br /> 10003950 VIF0_C1<br /> 10003960 VIF0_C2<br /> 10003970 VIF0_C3 <br /> <br /> VIF1 REGISTERS<br /> --------------<br /> 10003c00 VIF1_STAT<br /> 10003c10 VIF1_FBRST<br /> 10003c20 VIF1_ERR<br /> 10003c30 VIF1_MARK<br /> 10003c40 VIF1_CYCLE<br /> 10003c50 VIF1_MODE<br /> 10003c60 VIF1_NUM<br /> 10003c70 VIF1_MASK<br /> 10003c80 VIF1_CODE<br /> 10003c90 VIF1_ITOPS<br /> 10003ca0 VIF1_BASE<br /> 10003cb0 VIF1_OFST<br /> 10003cc0 VIF1_TOPS<br /> 10003cd0 VIF1_ITOP<br /> 10003ce0 VIF1_TOP<br /> 10003d00 VIF1_R0<br /> 10003d10 VIF1_R1<br /> 10003d20 VIF1_R2<br /> 10003d30 VIF1_R3<br /> 10003d40 VIF1_C0<br /> 10003d50 VIF1_C1<br /> 10003d60 VIF1_C2<br /> 10003d70 VIF1_C3<br /> <br /> FIFO<br /> ----<br /> 10004000 VIF0_FIFO(write)<br /> 10005000 VIF1_FIFO(read/write) <br /> <br /> 10006000 GIF_FIFO0<br /> 10006010 GIF_FIFO1<br /> 10006020 GIF_FIFO2 <br /> <br /> 10007000 IPU_out_FIFO(read)<br /> 10007010 IPU_in_FIFO(write)<br /> <br /> DMA CH0 REGISTERS (Linked to VIF0)<br /> ----------------------------------<br /> 10008000 D0_CHCR DMA-0 Channel Control<br /> 10008010 D0_MADR Memory Address<br /> 10008020 D0_SIZE Transfer Size (they call it D0_QWC)<br /> 10008030 D0_TAG DMA Tag (they call it D0_TADR)<br /> 10008040 D0_??LO they call it D0_ASR0<br /> 10008050 D0_??HI they call it D0_ASR1 <br /> <br /> DMA CH1 REGISTERS (Linked to VIF1)<br /> ----------------------------------<br /> 10009000 D1_CHCR DMA-1 Channel Control<br /> 10009010 D1_MADR Memory Address<br /> 10009020 D1_SIZE Transfer Size (they call it D1_QWC)<br /> 10009030 D1_TAG DMA Tag (they call it D1_TADR)<br /> 10009040 D1_??LO they call it D1_ASR0<br /> 10009050 D1_??HI they call it D1_ASR1 <br /> <br /> DMA CH2 REGISTERS (Linked to GIF)<br /> ---------------------------------<br /> 1000A000 D2_CHCR DMA-2 Channel Control<br /> 1000A010 D2_MADR Memory Address<br /> 1000A020 D2_SIZE Transfer Size (they call it D2_QWC)<br /> 1000A030 D2_TAG DMA Tag (they call it D2_TADR)<br /> 1000A040 D2_??LO they call it D2_ASR0<br /> 1000A050 D2_??HI they call it D2_ASR1<br /> 1000A080 D2_SADR<br /> <br /> DMA CH3 REGISTERS (Linked to IPU (FROM???))<br /> --------------------------------------------<br /> 1000B000 D3_CHCR DMA-3 Channel Control<br /> 1000B010 D3_MADR Memory Address<br /> 1000B020 D3_QWC Transfer Size<br /> <br /> DMA CH4 REGISTERS (Linked to IPU (TO???))<br /> -----------------------------------------<br /> 1000B400 D4_CHCR DMA-4 Channel Control<br /> 1000B410 D4_MADR Memory Address<br /> 1000B420 D4_QWC Transfer Size<br /> 1000B430 D4_TADR DMA Tag<br /> <br /> DMA CH5 REGISTERS (Linked to SIF0)<br /> ----------------------------------<br /> 1000C000 D5_CHCR DMA-4 Channel Control<br /> 1000C010 D5_MADR Memory Address<br /> 1000C020 D5_QWC Transfer Size <br /> <br /> DMA CH6 REGISTERS (Linked to SIF1)<br /> ----------------------------------<br /> 1000C400 D6_CHCR DMA-6 Channel Control<br /> 1000C410 D6_MADR Memory Address<br /> 1000C420 D6_QWC Transfer Size<br /> 1000C430 D6_TADR DMA Tag <br /> <br /> DMA CH7 REGISTERS (Linked to SIF2)<br /> ----------------------------------<br /> 1000C800 D7_CHCR DMA-7 Channel Control<br /> 1000C810 D7_MADR Memory Address<br /> 1000C820 D7_QWC Transfer Size<br /> <br /> DMA CH8 REGISTERS (Linked to SPR (form SCRATCH PAD to RAM???)<br /> --------------------------------------------------------------<br /> 1000D000 D8_CHCR DMA-8 Channel Control<br /> 1000D010 D8_MADR Memory Address<br /> 1000D020 D8_QWC Transfer Size<br /> 1000D080 D8_MCR ???<br /> <br /> DMA CH9 REGISTERS (Linked to SPR (form RAM to SCRATCH PAD???)<br /> --------------------------------------------------------------<br /> 1000D400 D9_CHCR DMA-9 Channel Control<br /> 1000D410 D9_MADR Memory Address<br /> 1000D420 D9_QWC Transfer Size<br /> 1000D430 D9_TADR DMA Tag<br /> 1000D480 D9_MCR? ??? <br /> <br /> DMA CONTROL REGISTERS<br /> ---------------------<br /> 1000E000 D_CTRL DMA Control<br /> 1000E010 D_STAT DMA Status<br /> 1000E020 D_PCR <br /> 1000E030 D_SQWC<br /> 1000E040 D_RBSR<br /> 1000E050 D_RBOR<br /> 1000E060 D_STADR<br /> <br /> 1000F000 INTC_STAT<br /> 1000F010 INTC_MASK<br /> <br /> 1000F100<br /> 1000F120<br /> 1000F130 STD-OUT STATUS???<br /> 1000F140<br /> 1000F150<br /> 1000F180 STD-OUT DATA???<br /> <br /> 1000F230 SBUS_SMFLG<br /> <br /> 1000F410<br /> 1000F430<br /> 1000F440<br /> 1000F480<br /> 1000F490<br /> 1000F500 <br /> <br /> 1000f520 D_ENABLEW<br /> 1000f590 D_ENABLER<br /> <br /> <br /> VU MAPPED MEMORY REGISTERS<br /> --------------------------<br /> 11000000 VU0 PROGRAM MEMORY Program Memory (4K ROM)<br /> 11001000 VU0 MEMORY Memory (4K ROM)<br /> 11008000 VU1 PROGAM MEMORY VU1 Program Memory (16K ROM)<br /> 1100C000 VU1 MEMORY VU1 Memory (16K ROM)<br /> <br /> GS<br /> --<br /> 12000000 GS_PMODE<br /> 12000010 GS_SMODE1<br /> 12000020 GS_SMODE2<br /> 12000030 GS_SRFSH<br /> 12000040 GS_SYNCH1<br /> 12000050 GS_SYNCH2<br /> 12000060 GS_SYNCV<br /> 12000070 GS_DISPFB1<br /> 12000080 GS_DISPLAY1<br /> 12000090 GS_DISPFB2<br /> 120000a0 GS_DISPLAY2<br /> 120000b0 GS_EXTBUF<br /> 120000c0 GS_EXTDATA<br /> 120000d0 GS_EXTWRITE<br /> 120000e0 GS_BGCOLOR<br /> 12001000 GS_CSR<br /> 12001010 GS_IMR<br /> 12001040 GS_BUSDIR<br /> 12001080 GS_SIGLBLID<br /> <br /> Scratch Pad RAM Address Range<br /> -----------------------------<br /> 0x70000000-0x70003FFF<br /> <br /> ROM BIOS Mirror Address Range Logical Address Range Physical Address Range<br /> ----------------------------- --------------------- ----------------------<br /> Uncached 0x1FC00000-0x1FFFFFFF 0x1FC00000-0x1FFFFFFF<br /> Cached 0x9FC00000-0x9FFFFFFF 0x1FC00000-0x1FFFFFFF<br /> Uncached 0xBFC00000-0xBFFFFFFF 0x1FC00000-0x1FFFFFFF <br /> <br /> Some Acronyms<br /> --------<br /> EE - Emotion Engine (main CPU)<br /> GS - Graphics Synthesizer<br /> IOP - Input/Output Processor<br /> SPU - Sound Processor Unit<br /> USEG - User Mode Segment<br /> KSEG0 - Kernel Mode, Segment 0<br /> KSEG1 - Kernel Mode, Segment 1 <br /> <br /> Sources<br /> -------<br /> TX System RISC TX79 Core Architecture (Symmetric 2-way superscalar 64-bit CPU) Rev. 2.0<br /> (http://lukasz.dk/files/tx79architecture.pdf)<br /> PS2 MEMORY &amp; HARDWARE MAPPED REGISTERS LAYOUT, by Minmei (https://web.archive.org/web/20080722165353/http://ps2dev.org/ps2/Technical_Documentation/Other/PS2_Memory_and_Hardware_Mapped_Registers_Layout.download) <br /> Kernel empty and unused areas, by GTLCPIMP (https://artemis.bountysource.com/task/show/2270)<br /> dump2mass, by misfire (https://artemis.bountysource.com/solution/show/1074)<br /> ... and others ones spreaded out on the World Wide Web which I can't remember<br /> <br /> ===Controller===<br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! ID !! Controller #Number !! Note<br /> |-<br /> | 1 (1-A) || 1 ||<br /> |-<br /> | 2 (2-A) || 2 ||<br /> |-<br /> | 3 (1-B) || 3 ||<br /> |-<br /> | 4 (2-B) || 4 ||<br /> |-<br /> | 5 (1-C) || 5 || Gamepad LED #1 + #4<br /> |-<br /> | 6 (2-C) || 6 || Gamepad LED #2 + #4<br /> |-<br /> | 7 (1-D) || 7 || Gamepad LED #3 + #4<br /> |-<br /> |}<br /> <br /> ===Peripheral support===<br /> ====ps2_emu.self / ps2_gxemu.self====<br /> #Hub<br /> #Mouse<br /> #Keyboard<br /> #EyeToy<br /> #Head Mount Display<br /> #Mic<br /> #Ascii Mic<br /> #Socom USB Headset<br /> #Usb Headset<br /> #Sea Mic Controller<br /> #Force Feedback device<br /> #GT Force<br /> #Momo Force<br /> #Driving Force Pro<br /> #G25/G27<br /> #Momo Racing<br /> #Flight Force<br /> #Force 3D Pro<br /> #Modem<br /> #Guncon2<br /> #Densya de GO! controller type 2<br /> #Densya de GO! Sincansen senyou controller<br /> #Capture Eye<br /> #Flight Stick<br /> #Flight Stick 2<br /> #Pop Egg<br /> #Trance Vibrator<br /> #PSP<br /> #Compact Flight Controller<br /> #Flash Memory<br /> #Buzz!<br /> #Pachi-Slot Controller Kurouto<br /> #Usb Adapter<br /> #Guncon3<br /> #Multi Train Controller<br /> <br /> ====ps2_netemu.self====<br /> #BD Remote Control<br /> #PLAYSTATION(R)3 Controller (Vendor ID 0x54C, Product ID 0x268), <br /> #Motion Controller - Move (Vendor ID 0x54C, Product ID 0x3D5), <br /> #Navigation Controller (Vendor ID 0x54C, Product ID 0x42F)<br /> #&quot;guncon3&quot;<br /> &lt;br/&gt;<br /> Unknown: <br /> #Vendor ID 0xF0D (Hori), Product ID 0x4A <br /> #Vendor ID 0x54C (Sony), Product ID 0x5AF<br /> <br /> ===BIOS===<br /> ====ps2_netemu.self====<br /> Ps2_netemu use integrated PS2 bios included in ps2netemu.elf, not additional file like in ps1emu case. In 4.81 firmware BIOS is located from 0x820A00 to 0x9F09FF (0x820900 to 0x9F08FF in fw4.50). Bios version seems to be Developement v2.20 from Japan region (22/01/2007), but it's of course not limited to booting only NTSC-J games.<br /> <br /> Notable thing is that ps2_netemu run fine with ps2_gxemu bios, but fail to boot using ps2_emu bios. <br /> <br /> {| class=&quot;wikitable&quot; style=&quot;font-size:small;&quot;<br /> |-<br /> ! File !! Offset in fw4.81 ps2_netemu !! Offset in exported bin !! Description !! File type (exportable)<br /> |-<br /> | RESET || 0x820A00 || 0x00 || Bootstrap code for the EE and IOP. || BIN<br /> |-<br /> | ROMDIR || 0x823180 || 0x2780 || The ROMDIR part of the ROM image, which provides information on the location and name of files contained in the image. || BIN<br /> |-<br /> | EXTINFO || 0x8236C0 || 0x2CC0 || Contains the &quot;EXTINFO&quot; for all files in the ROM image. || BIN<br /> |-<br /> | SBIN || 0x823D30 || 0x3330 || Seems to be the pad controller library for the PS1 monitor. || BIN<br /> |-<br /> | LOGO || 0x82ACD0 || 0xA2D0 || PS1 logo? || BIN<br /> |-<br /> | IOPBTCONF || 0x83F420 || 0x1EA20 || Boot configuration file for the IOP, during the final phase of the IOP reset. If no UDNL module is specified, the IOP will only have a single IOP reset in the reboot process, with the modules listed in IOPBTCONF. || BIN<br /> |-<br /> | IOPBTCON2 || 0x83F510 || 0x1EB10 || Boot configuration file for the IOP, for the first phase of the IOP reset (before UDNL is loaded). || BIN<br /> |-<br /> | SYSMEM || 0x83F5E0 || 0x1EBE0 || System Memory Manager. || ELF<br /> |-<br /> | LOADCORE || 0x840800 || 0x1FE00 || The core of IOP module loading. Provides the lowest level of IOP module loading functions. Also handles the startup of the IOP. || ELF<br /> |-<br /> | EXCEPMAN || 0x842D80 || 0x22380 || Exception manager. || ELF<br /> |-<br /> | INTRMANP || 0x843960 || 0x22F60 || Interrupt Manager. According to wisi, it is for PS mode. || ELF<br /> |-<br /> | INTRMANI || 0x845370 || 0x24970 || Interrupt Manager. According to wisi, it is for IOP mode. || ELF<br /> |-<br /> | SSBUSC || 0x8471B0 || 0x267B0 || SSBUS Controller library. The SSBUS seems to be the bus that all peripherals get connected to. It seems to have the power to control the mapping of the device registers, as well as access timing. || ELF<br /> |-<br /> | TIMEMANP || 0x847920 || 0x26F20 || Timer Manager (PS mode) || ELF<br /> |-<br /> | TIMEMANI || 0x848500 || 0x27B00 || Timer Manager (IOP mode) || ELF<br /> |-<br /> | DMACMAN || 0x849130 || 0x28730 || DMA Controller Manager. || ELF<br /> |-<br /> | SYSCLIB || 0x84C830 || 0x2BE30 || System C Library. || ELF<br /> |-<br /> | HEAPLIB || 0x84EF90 || 0x2E590 || Memory HEAP LIBrary (i.e. thvpool, thfpool) || ELF<br /> |-<br /> | THREADLIB || 0x84FC90 || 0x2F290 || Multi_Thread_Manager || ELF<br /> |-<br /> | VBLANK || 0x858A20 || 0x38020 || V-Blank management || ELF<br /> |-<br /> | IOMAN || 0x8597B0 || 0x38DB0 || IO Manager || ELF<br /> |-<br /> | MODLOAD || 0x85B720 || 0x3AD20 || IOP module loader. || ELF<br /> |-<br /> | ROMDRV || 0x85DA70 || 0x3D070 || ROM driver. Provides access to the boot ROM (rom0). || ELF<br /> |-<br /> | ADDDRV || 0x85E960 || 0x3DF60 || Adds support for the DVD ROM (rom1:), via ROMDRV. || ELF<br /> |-<br /> | STDIO || 0x85DDC0 || 0x3D3C0 || Standard I/O library. || ELF<br /> |-<br /> | SIFMAN || 0x85F9B0 || 0x3EFB0 || SIF manager. || ELF<br /> |-<br /> | SIFINIT || 0x860F50 || 0x40550 || Initializes the SIF. || ELF<br /> |-<br /> | EESYNC || 0x861370 || 0x40970 || For synchronizing with the EE, at the end of IOP resets. EESYNC from DNAS images are evil; they also perform a memory wipe of the region from 0x00084000 to .0x00100000. || ELF<br /> |-<br /> | EENULL || 0x861810 || 0x40E10 || The idle thread (id #0) module, in ps2 loaded to 0x00081FC0. || BIN<br /> |-<br /> | PS1ID || 0x861850 || 0x40E50 || Only found in newer boot ROMs || BIN<br /> |-<br /> | LIBFI || 0x861860 || 0x40E60 || Not present in the boot ROM of the SCPH-10000 and SCPH-15000. || BIN<br /> |-<br /> | PS1VERJ || 0x861950 || 0x40F50 || || BIN<br /> |-<br /> | PS1VERA || 0x861960 || 0x40F60 || || BIN<br /> |-<br /> | PS1VERE || 0x861970 || 0x40F70 || || BIN<br /> |-<br /> | PS1VERC || 0x861980 || 0x40F80 || || BIN<br /> |-<br /> | PS1VERH || 0x861990 || 0x40F90 || || BIN<br /> |-<br /> | OSDSYS || 0x8619A0 || 0x40FA0 || The browser || BIN<br /> |-<br /> | - || 0x8619B0 || 0x40FB0 || || BIN<br /> |-<br /> | RDRAM || 0x861A00 || 0x41000 || Provides a RDRAM test for the EE at power-on. This is run from RESET. || BIN<br /> |-<br /> | EELOADCNF || 0x864750 || 0x43D50 || Contains the IOP boot configuration file for EELOAD. || BIN<br /> |-<br /> | SIFCMD || 0x864900 || 0x43F00 || SIF command module. Contains the SIF command and SIF RPC functions. || ELF<br /> |-<br /> | REBOOT || 0x866B40 || 0x46140 || The reboot service. Receives IOP reset packets from the EE, from across the SIF. || ELF<br /> |-<br /> | LOADFILE || 0x867310 || 0x46910 || The RPC server for MODLOAD || ELF<br /> |-<br /> | EECONF || 0x869A70 || 0x49070 || Loads part of the system configuration from the MECHACON EEPROM. Also configures and resets some peripherals, depending on the model version. In slimlines, and possibly on PS3 EECONF will also load the MAC address. || ELF<br /> |-<br /> | - || 0x86A9F0 || 0x49FF0 || || BIN<br /> |-<br /> | IOPBOOT || 0x86AA00 || 0x4A000 || IOP bootup program || BIN<br /> |-<br /> | - || 0x86BB60 || 0x4B160 || || BIN<br /> |-<br /> | TBIN || 0x86C200 || 0x4B800 || The PS1 monitor program. Seems to be the PS1 BIOS. This is started by RESET, when the IOP is in PS1 mode. || BIN<br /> |-<br /> | XSHA1 || 0x87A170 || 0x59770 || sha1 - this only present in PS3. It is used as additional antipiracy check. It seems that it calculate disc main elf checksum and compares it with some database. Config related?|| ELF<br /> |-<br /> | XLOADFILE || 0x87B140 || 0x5A740 || Updated module || ELF<br /> |-<br /> | SIO2MAN || 0x87E1F0 || 0x5D7F0 || SIO2 manager. Provides access to the SIO2 interface. || ELF<br /> |-<br /> | - || 0x87FE20 || 0x5F420 || || BIN<br /> |-<br /> | MCSERV || 0x881D40 || 0x61340 || RPC server for MCMAN. || ELF<br /> |-<br /> | - || 0x883A40 || 0x63040 || || BIN<br /> |-<br /> | KROMG || 0x884A00 || 0x64000 || || BIN<br /> |-<br /> | - || 0x8866C0 || 0x65CC0 || || BIN<br /> |-<br /> | KROM || 0x886A00 || 0x66000 || Kanji ROM? Not sure where this is used. || BIN<br /> |-<br /> | - || 0x8A0870 || 0x7FE70 || || BIN<br /> |-<br /> | ROMVER || 0x8A0900 || 0x7FF00 || ROM version. || BIN<br /> |-<br /> | - || 0x8A0910 || 0x7FF10 || || BIN<br /> |-<br /> | VERSTR || 0x8A0930 || 0x7FF30 || Version string. Probably PS1 ROM will use this because that this string is also present in PlayStation consoles. || BIN<br /> |-<br /> | - || 0x8A0990 || 0x7FF90 || || BIN<br /> |-<br /> | ROMGSCRT || 0x8A0A00 || 0x80000 || || BIN<br /> |-<br /> | NCDVDMAN || 0x8A3730 || 0x82D30 || It seems to be a heavily stripped-down CDVDMAN module, with no support for some S-command functions like sceCdRI. || ELF<br /> |-<br /> | SECRMAN || 0x8B0170 || 0x8F770 || Security Manager. Signing is NOT done with the one in ROM, but with a special version that comes with the utility discs. Looks like PS3 units have a different SECRMAN module from retail sets, similar to PS2 TOOL one. || ELF<br /> |-<br /> | MCMAN || 0x8B4630 || 0x93C30 || Memory Card Manager. || ELF<br /> |-<br /> | PADMAN || 0x8C3AC0 || 0xA30C0 || Pad manager. || ELF<br /> |-<br /> | CDVDMAN || 0x8CD210 || 0xAC810 || The CD/DVD manager. || ELF<br /> |-<br /> | CDVDFSV || 0x8D55C0 || 0xB4BC0 || The RPC server for CDVDMAN. || ELF<br /> |-<br /> | FILEIO || 0x8DD980 || 0xBCF80 || RPC server for IOMAN. Sony has greatly changed the semantics and design of FILEIO after some point. Connecting an old FILEIO EE RPC client to a newer server will result in a severe IOP crash. || ELF<br /> |-<br /> | CLEARSPU || 0x8DFA80 || 0xBF080 || Seems to clear/reset the SPU, but is known to cause crashes under some conditions. Not sure if it's buggy or not. Only used by the OSDSYS of the SCPH-10000 and SCPH-15000, probably retained for backward-compatibility. || ELF<br /> |-<br /> | UDNL || 0x8E16C0 || 0xC0CC0 || It is responsible for selecting the modules and starting the IOP, during the final phase of the IOP reset where the desired modules are to be loaded into the IOP. || ELF<br /> |-<br /> | IGREETING || 0x8E35C0 || 0xC2BC0 || Displays boot information (i.e. IOP boot type, EBOOTP, IBOOTP, switch positions for DSW602 and the type of DSW602 board installed || ELF<br /> |-<br /> | EELOAD || 0x8E4620 || 0xC3C20 || The EE ELF loader, which is loaded by LoadExecPS2() to 0x00082000 in PS2 for loading ELFs. || BIN<br /> |-<br /> | XCDVDMAN || 0x8F37A0 || 0xD2DA0 || cdvd_driver - Updated module || ELF<br /> |-<br /> | XCDVDFSV || 0x902530 || 0xE1B30 || cdvd_ee_driver - Updated module || ELF<br /> |-<br /> | OSDSND || 0x910960 || 0xEFF60 || OSD sound library. This is actually the tentative sound driver, which is called &quot;librspu2&quot; in the Sony SDK. || ELF<br /> |-<br /> | PS2LOGO || 0x93B5B0 || 0x11ABB0 || Displays the PlayStation 2 logo from the inserted disc. For newer consoles, if the logo cannot be decrypted properly, it will fall back to the browser. Not actually required to boot games, but the Sony OSDSYS boots PS2 games through this program. || ELF<br /> |-<br /> | XPARAM2 || 0x957F00 || 0x137500 || Store IOP emulation settings/flags || ELF<br /> |-<br /> | OSDSYS || 0x95A400 || 0x139A00 || The browser || BIN<br /> |-<br /> | PIOPRP || 0x998280 || 0x177880 || Present in the PS3 ps2_(gx/soft/net)emu; contains version 3.1.0 of the IOP software (compared to version 1.3.4 on the root). || BIN<br /> |-<br /> | KERNEL || 0x9DC1E0 || 0x1BB7E0 || The EE kernel || BIN<br /> |}<br /> Description source: https://gist.github.com/uyjulian/25291080f083987d3f3c134f593483c5<br /> <br /> ==Virtual PS2 HDD==<br /> There are 2 different &quot;PS2 game&quot; contents that can be installed in PS3 HDD (CATEGORY's [[PARAM.SFO#CATEGORY_For_HDD_contents | 2P and 2G ]]).<br /> '''2P''' are games released from PSN as &quot;PS2 Classic&quot; in .PKG format, and '''2G''' are a few real &quot;PS2 DVD discs&quot; that can be installed in the PS3 HDD, this installation is managed by the '''PS2_system_data.pkg'''.<br /> <br /> This games can be installed in real PS2 (in the internall HDD of a PS2 fat)... later this same installation was used in the [http://en.wikipedia.org/wiki/PSX_(DVR) PSX]... and when implemented in PS3 there was needed to use a '''virtual PS2 HDD''' image file keeping the same format than the original HDD used in PS2.<br /> <br /> Game files (extracted from the real PS2 disc) are installed in a '''IMAGE.DAT''' file, this file is a 1:1 &quot;raw copy&quot; of a PS2 HDD.<br /> <br /> This '''IMAGE.DAT''' is placed in the &quot;install folder&quot; (inside USRDIR folder) and his size can vary up to 10+GB<br /> <br /> There are 2 different installations: the most common is used to store &quot;game expansions&quot; (e.g: used by additional content in SOCOM games)... the other type of installation is a &quot;full install&quot; and it seems the only game that uses it is &quot;Final Fantasy XI&quot; (main game installation when the game boots for first time + game expansions added later when needed in the same '''IMAGE.DAT''')<br /> <br /> '''PS2_system_data.pkg''' itself uses an '''IMAGE.DAT''' file (6.43 MB)<br /> <br /> The structure of this &quot;virtual PS2 HDD&quot; uses an &quot;APA header&quot; and a &quot;APA MBR&quot; + several &quot;APA partitions&quot;, some of them containing &quot;PFS filesystems&quot;.<br /> <br /> Error message trying to boot a CATEGORY &quot;2G&quot; game with hand-made SFO's and invalid IMAGE.DAT file:<br /> '''The game partition for this game cannot be created because the installed game is corrupted.'''<br /> '''To perform this operation, delete the game, and then reinstall the game using the disc.'''<br /> <br /> *Notes<br /> **List of PS2 disc games compatibles with PS3 HDD installation hardcoded in '''dev_flash/vsh/module/[[game_ext_plugin]].sprx'''<br /> **Virtuall PS2 HDD support module '''dev_flash/vsh/module/[[libps2hdd]].sprx''' ?<br /> <br /> ===PS2 System Data (PSN HDD Tool package)===<br /> A direct link to the package can be found in NoPayStation database in DLCs<br /> <br /> Content ID: IP9100-NPIA00001_00-PS2HDDSYSDAT0001<br /> QA Digest: 2A876715D42678BB7A6E00C030C0121B<br /> HASH: E1B0DBE46FC44190DC7A140681D8B9D4<br /> <br /> http://manuals.playstation.net/document/en/ps3/current/game/hddinstall.html<br /> <br /> '''Titles supporting HDD installation'''<br /> * Nobunaga's Ambition Online and Expansion Packs<br /> * Final Fantasy XI (disc1=SCUS97266 disc2=SCUS97269)and Expansion Discs<br /> * SOCOM II: U.S. NAVY SEALs and Related discs included with OPM Issue 87, OPM Issue 88, OPM Issue 89, OPM Issue 90<br /> * SOCOM 3: U.S. NAVY SEALs<br /> * SOCOM: U.S. NAVY SEALs Combined Assault<br /> * Front Mission Online<br /> * Official PlayStation Magazine Issue 87, 88, 89, 90 Discs<br /> ([[Talk:Emulation#PS2_HDD | non-official ps2hdd gameslist ]])<br /> <br /> ===TitleID/DiscID in game_ext_plugin.sprx===<br /> <br /> Mainly Final Fantasy 11, Nobunaga Ambition Online, Socom IDs and the required HDD Gigabyte amount for install onto the internal hdd.<br /> <br /> Speculation: flags are AND' with 0,1,2 (selected from sys_sm_get_hw_config according to ps2emu hardware flags? 0 = no hw?, 1 = gxemu?, 2=full hw? )<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> ! flags !! DiscID !! Alternative? DiscID !! GigaByte !! Title !! 0 = VMC&lt;br&gt;1 = IMAGE.DAT !! Internal Name? !! GigaByte<br /> |-<br /> |0xFFFF || &quot;SLPS20200&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM65705&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM65706&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM65953&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM66393&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM66394&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM66893&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM66894&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM55229&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0x0001 || &quot;SLPM65197&quot; || &quot;SLPM65197&quot; || 0x07 || &quot;信長の野望 Online&quot; || 1 || &quot;PP.SLPM-65197.MAGIC.APPLICATION&quot; || 0x07<br /> |-<br /> |0x0001 || &quot;SLPM65783&quot; || &quot;SLPM65197&quot; || 0x07 || &quot;信長の野望 Online&quot; || 1 || &quot;PP.SLPM-65197.MAGIC.APPLICATION&quot; || 0x07<br /> |-<br /> |0x0001 || &quot;SLPM66539&quot; || &quot;SLPM65197&quot; || 0x07 || &quot;信長の野望 Online&quot; || 1 || &quot;PP.SLPM-65197.MAGIC.APPLICATION&quot; || 0x07<br /> |-<br /> |0x0001 || &quot;SLPM66954&quot; || &quot;SLPM65197&quot; || 0x07 || &quot;信長の野望 Online&quot; || 1 || &quot;PP.SLPM-65197.MAGIC.APPLICATION&quot; || 0x07<br /> |-<br /> |0xFFFF || &quot;SCUS97269&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLUS21070&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLUS21404&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLUS21694&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLUS21704&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SCUS97275&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97474&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97340&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97341&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97342&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97442&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97545&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |}<br /> <br /> In PS2 Emulator same Title IDs are present with following information: <br /> SLPS25200 FINAL FANTASY XI : 0x100000000 (4 GB?)<br /> SCUS97269 FINAL FANTASY XI : 0x300000000 (12GB?)<br /> SLPM65981 Front Mission Online : 0x100000000 (4 GB?)<br /> SLPM65197 Nobunagas Ambition Online : 0x200000000 (8 GB?)<br /> <br /> ==Emulators management from GameOS==<br /> <br /> ===Mountpoints===<br /> dev_ps2disc<br /> dev_ps2disc1 <br /> <br /> ===ps2_netemu syscalls ===<br /> <br /> 0x0 - 0 = exec smth, <br /> 1 = 0x132 panic, <br /> 2 = 0x133 panic, <br /> 3 = 0x134 panic,<br /> 4 = 0x135 panic, <br /> else = 0x136 panic)<br /> 0xC - exec smth<br /> 0x5 - exec smth<br /> 0x6 - exec smth<br /> 0x10 - panic<br /> <br /> Basically are [[HV_Syscalls#HV_Syscalls|hvsc syscalls]] (xoris r11, r11, 0x8000)<br /> <br /> 0x80000000 - [[HV_Syscall_Reference#lv1_allocate_memory]]<br /> 0x80000001 - [[HV_Syscall_Reference#lv1_write_htab_entry]]<br /> 0x80000002 - [[HV_Syscall_Reference#lv1_construct_virtual_address_space]]<br /> 0x80000007 - [[HV_Syscall_Reference#lv1_select_virtual_address_space]]<br /> 0x80000009 - [[HV_Syscall_Reference#lv1_pause]]<br /> 0x8000000F - [[HV_Syscall_Reference#lv1_put_iopte]]<br /> 0x80000012 - [[HV_Syscall_Reference#lv1_construct_event_receive_port]]<br /> 0x8000001A - [[HV_Syscall_Reference#lv1_detect_pending_interrupts]]<br /> 0x8000001B - [[HV_Syscall_Reference#lv1_end_of_interrupt]]<br /> 0x8000001C - [[HV_Syscall_Reference#lv1_connect_irq_plug]]<br /> 0x80000039 - [[HV_Syscall_Reference#lv1_construct_logical_spe]]<br /> 0x8000003D - [[HV_Syscall_Reference#lv1_set_spe_interrupt_mask]]<br /> 0x80000042 - [[HV_Syscall_Reference#lv1_clear_spe_interrupt_status]]<br /> 0x80000043 - [[HV_Syscall_Reference#lv1_get_spe_interrupt_status]]<br /> 0x80000045 - [[HV_Syscall_Reference#lv1_get_logical_ppe_id]]<br /> 0x80000049 - [[HV_Syscall_Reference#lv1_set_interrupt_mask]]<br /> 0x8000004A - [[HV_Syscall_Reference#lv1_get_logical_partition_id]]<br /> 0x8000004E - [[HV_Syscall_Reference#lv1_get_spe_irq_outlet]]<br /> 0x8000005B - [[HV_Syscall_Reference#lv1_get_repository_node_value]]<br /> 0x8000005F - [[HV_Syscall_Reference#lv1_read_htab_entries]]<br /> 0x80000061 - [[HV_Syscall_Reference#lv1_set_vmx_graphics_mode]]<br /> 0x80000062 - [[HV_Syscall_Reference#lv1_set_thread_switch_control_register]]<br /> 0x80000074 - [[HV_Syscall_Reference#lv1_allocate_io_segment]]<br /> 0x80000076 - [[HV_Syscall_Reference#lv1_allocate_ioid]]<br /> 0x80000078 - [[HV_Syscall_Reference#lv1_construct_io_irq_outlet]]<br /> 0x8000007C - [[HV_Syscall_Reference#lv1_undocumented_function_124]]<br /> 0x8000007D - [[HV_Syscall_Reference#lv1_undocumented_function_125]]<br /> 0x8000007E - [[HV_Syscall_Reference#lv1_undocumented_function_126]]<br /> 0x80000088 - [[HV_Syscall_Reference#lv1_undocumented_function_136]]<br /> 0x8000008C - [[HV_Syscall_Reference#lv1_construct_lpm]]<br /> 0x8000008D - [[HV_Syscall_Reference#lv1_destruct_lpm]]<br /> 0x8000008E - [[HV_Syscall_Reference#lv1_start_lpm]]<br /> 0x8000008F - [[HV_Syscall_Reference#lv1_stop_lpm]]<br /> 0x80000090 - [[HV_Syscall_Reference#lv1_copy_lpm_trace_buffer]]<br /> 0x80000091 - [[HV_Syscall_Reference#lv1_add_lpm_event_bookmark]]<br /> 0x80000092 - [[HV_Syscall_Reference#lv1_delete_lpm_event_bookmark]]<br /> 0x80000093 - [[HV_Syscall_Reference#lv1_set_lpm_interrupt_mask]]<br /> 0x80000094 - [[HV_Syscall_Reference#lv1_get_lpm_interrupt_status]]<br /> 0x80000095 - [[HV_Syscall_Reference#lv1_set_lpm_general_control]]<br /> 0x80000096 - [[HV_Syscall_Reference#lv1_set_lpm_interval]]<br /> 0x80000097 - [[HV_Syscall_Reference#lv1_set_lpm_trigger_control]]<br /> 0x80000098 - [[HV_Syscall_Reference#lv1_set_lpm_counter_control]]<br /> 0x80000099 - [[HV_Syscall_Reference#lv1_set_lpm_group_control]]<br /> 0x8000009A - [[HV_Syscall_Reference#lv1_set_lpm_debug_bus_control]]<br /> 0x8000009B - [[HV_Syscall_Reference#lv1_set_lpm_counter]]<br /> 0x8000009C - [[HV_Syscall_Reference#lv1_set_lpm_signal]]<br /> 0x8000009D - [[HV_Syscall_Reference#lv1_set_lpm_spr_trigger]]<br /> 0x800000A3 - [[HV_Syscall_Reference#lv1_write_virtual_uart]]<br /> 0x800000A4 - [[HV_Syscall_Reference#lv1_set_virtual_uart_param]]<br /> 0x800000A5 - [[HV_Syscall_Reference#lv1_get_virtual_uart_param]]<br /> 0x800000A6 - [[HV_Syscall_Reference#lv1_configure_virtual_uart_irq]]<br /> 0x800000AA - [[HV_Syscall_Reference#lv1_open_device]]<br /> 0x800000AB - [[HV_Syscall_Reference#lv1_close_device]]<br /> 0x800000AC - [[HV_Syscall_Reference#lv1_map_device_mmio_region]]<br /> 0x800000AE - [[HV_Syscall_Reference#lv1_allocate_device_dma_region]]<br /> 0x800000AF - [[HV_Syscall_Reference#lv1_free_device_dma_region]]<br /> 0x800000B0 - [[HV_Syscall_Reference#lv1_map_device_dma_region]]<br /> 0x800000B1 - [[HV_Syscall_Reference#lv1_unmap_device_dma_region]]<br /> 0x800000B2 - [[HV_Syscall_Reference#lv1_read_pci_config]]<br /> 0x800000B3 - [[HV_Syscall_Reference#lv1_write_pci_config]]<br /> 0x800000C5 - [[HV_Syscall_Reference#lv1_connect_interrupt_event_receive_port]]<br /> 0x800000CF - [[HV_Syscall_Reference#lv1_enable_logical_spe]]<br /> 0x800000D2 - [[HV_Syscall_Reference#lv1_gpu_open]]<br /> 0x800000D4 - [[HV_Syscall_Reference#lv1_gpu_device_map]]<br /> 0x800000D6 - [[HV_Syscall_Reference#lv1_gpu_memory_allocate]]<br /> 0x800000D9 - [[HV_Syscall_Reference#lv1_gpu_context_allocate]]<br /> 0x800000DD - [[HV_Syscall_Reference#lv1_gpu_context_iomap]]<br /> 0x800000E1 - [[HV_Syscall_Reference#lv1_gpu_context_attribute]]<br /> 0x800000E3 - [[HV_Syscall_Reference#lv1_gpu_context_intr]]<br /> 0x800000E4 - [[HV_Syscall_Reference#lv1_gpu_attribute]]<br /> 0x800000F5 - [[HV_Syscall_Reference#lv1_storage_read]]<br /> 0x800000F6 - [[HV_Syscall_Reference#lv1_storage_write]]<br /> 0x800000F9 - [[HV_Syscall_Reference#lv1_storage_get_async_status]]<br /> <br /> ===LPAR / AUTH ID's===<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Name !! Auth ID !! Self&lt;br /&gt;(/dev_flash/ps2emu) !! Notes<br /> |-<br /> | PS2_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_emu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2 || 0x107000001D000001 || <br /> |-<br /> | PS2_GX_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_gxemu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2_GX || 0x107000001D000001 || <br /> |-<br /> | PS2_SW_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_softemu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2_SW || 0x107000001D000001 || <br /> |-<br /> | PS2_NE_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_netemu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2_NE || 0x107000001D000001 || <br /> |-<br /> |}<br /> <br /> ====boot_ps2====<br /> http://foxbrew.org/ps3/otheros-utils/boot_ps2.git &lt;br /&gt;<br /> http://www.multi...upload.com/QKK7ETPHXZ boot_ps2-src.rar (1.43 KB) &lt;br /&gt;<br /> http://www.multi...upload.com/YCZ63Y6TQ5 boot_ps2.pkg (69.17 KB) &lt;br /&gt;<br /> <br /> any chance of having this package resigned for 4.21 cfw? might be useful to see if it'll boot ps2_netemu.self LPAR.<br /> <br /> (can boot ps2lpar, but also petitboot if otheros installed! 50:50 chance)<br /> <br /> [http://rghost.net/42586725 boot_ps2 4.xx eboots.zip (153 KB)] &lt;br /&gt; installing 3.55 pkg and replacing the eboot and editing the sfo should work.<br /> <br /> ===Getting compatibility hardware info===<br /> See: [[PS2_Compatibility#Software]]<br /> <br /> ===ps2bootparam.dat===<br /> A file created at path: dev_hdd0/tmp/game/'''ps2bootparam.dat'''<br /> *See: [[ps2bootparam.dat]]&lt;!--we need this page because we have others like that in wiki--&gt;<br /> <br /> ===Cobra core===<br /> taken from storage_ext.c<br /> &lt;pre&gt; patch_ps2emu_entry(ps2emu_type); &lt;/pre&gt;<br /> *sets proper ps2_(gx/soft)emu.self path for reboot<br /> *patches ss_storage service 0x5004 disc checks on ss_server3.self inside lv1<br /> (Change from Parameter li r3, 2 and li r3, 1E (Drive Authentification) to li r3, 0x29 (Reset Drive))<br /> *and the usual either replace read/ioctl for iso etc.<br /> <br /> ==Game CONFIG==<br /> Some of the PS2 emulator types (such ps2_gxemu.self, ps2netemu.self) are able to load config commands that are applyed &quot;by game ID&quot;. The concept of &quot;game patches&quot; is not technically correct because some of the commands does patching functions but others does other things (not patching), and other commands works as switches or sets a value that are enviromental settings for the emulator (not for the game) but because are applyed &quot;by game&quot; should be considered enviromental settings for that specific game, so for simplification purposes you can think in all this data as &quot;game configs&quot;<br /> <br /> This &quot;game config&quot; data seems to work in the same way for all the PS2 emulator types but can be located in different places, some are hardcoded inside the emulators itself (inside the .self), and at the time the &quot;PS2 classics&quot; emulator (ps2_netemu.self) was developed this config can be loaded from an external file&lt;!--and there is some more inside some .sprx or inside the ps2 hdd data pkg ?--&gt;<br /> <br /> In short, the &quot;game configs&quot; can modify the game image (by patching it) and can be used to configure the virtual PS2 (the emulated machine). And can be loaded from hardcoded data (inside the .self) or from an external file (this feature is supported only by ps2_netemu.self)<br /> <br /> The config data consists in a list of concatenated values of 8 bytes lenght (uint32_t), and can be processed like this:<br /> union{<br /> uint32_t command<br /> ...data...<br /> }<br /> <br /> ===Config Commands===<br /> ps2_netemu.self fw4.50 sub_12D7D8, fw4.81 sub_12E050<br /> params are uint32_t unless noted.<br /> <br /> At the time of writing this, most of the commands are completely or partially unknown.&lt;br /&gt;<br /> If you want to read some speculation and brainstorming about them, please join the {{talk}} page<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! CMD ID !! Example !! Notes<br /> |-<br /> | 0x00|||| Copy following title id for enforcing if available + end config<br /> |-<br /> | 0x01|||| 2x uint32_t Params ( addr, func_id 0-0x3B) - EE_ADD_HOOK<br /> [Grand Theft Auto 3 (EU)] uses 0x349790, 0x10 (somewhat floats related)<br /> [Max Payne] uses 0x52E9F4, 3 and 0x52EB78, 2 (set lwsync 0)<br /> Maximum Amount of Usage: ?<br /> (The command is used 3 times consecutively by SLUS-20565 (Champions of Norrath) and SLUS-21494 (Need for Speed Carbon)<br /> game configs hardcoded inside ps2_gxemu.self)<br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> !Function ID!! Notes<br /> |-<br /> |0x00|| <br /> |-<br /> |0x01|| <br /> |-<br /> |0x02|| <br /> Max Payne<br /> sets some sync off?<br /> |-<br /> |0x03|| <br /> Max Payne<br /> sets some sync on?<br /> |-<br /> |0x04|| <br /> |-<br /> |0x05|| <br /> |-<br /> |0x06|| <br /> |-<br /> |0x07|| <br /> |-<br /> |0x08||<br /> |-<br /> |0x09|| <br /> |-<br /> |0x0A|| <br /> |-<br /> |0x0B|| <br /> |-<br /> |0x0C|| <br /> |-<br /> |0x0D|| usleep(100)<br /> |-<br /> |0x0E||<br /> |-<br /> |0x0F|| <br /> GTA 3 (US)<br /> using 0x348B40, 0x18E1F0, 0x348EC8 ( + 200000000 base )<br /> |-<br /> |0x10|| <br /> GTA 3 (EU)<br /> using 0x349790, 0x18E1F0, 0x349B18 ( + 200000000 base )<br /> |-<br /> |0x11|| <br /> GTA 3 (JP/AS)?<br /> using 0x3495C0, 0x18E1F0, 0x349948 ( + 200000000 base )<br /> |-<br /> |0x12|| <br /> condition ...<br /> store 0 in [ 0x204FC500 + 200000000 base]<br /> |-<br /> |0x13|| <br /> |-<br /> |0x14|| <br /> |-<br /> |0x15|| <br /> |-<br /> |0x16|| <br /> store 0x01114BA8 in [ 0x208EAB4C + 200000000 base]<br /> store 0x010C9E40 in [ 0x208EAB6C + 200000000 base]<br /> |-<br /> |0x17|| <br /> condition r18 == 0x8000<br /> setting:<br /> stores 0x40490FDA somewhere <br /> Note: 0x40490FDA (3.14159250) is the highest float approximation to π in hexadecimal without going over the value.&lt;br /&gt;<br /> Probably can improve FPU accuracy for some games.<br /> |-<br /> |0x18||<br /> condition [ 0x20183F04 + 200000000 base ] == 0x0C060F2C <br /> setting:<br /> stores 0 in address 0x20183F04, 0x20183F34, 0x20183F3C ( + 0x200000000 base )<br /> 0x183F0C, sub_46334 (4.70)<br /> 0x183F3C, sub_45DA4 (4.70)<br /> 0x183D74, sub_47B50 (4.70)<br /> |-<br /> |0x19|| <br /> |-<br /> |0x1A|| <br /> store 0 in [ 0x209FD560 + 200000000 base]<br /> store 0 in [ 0x209F9550 + 200000000 base]<br /> store 0 in [ 0x20A01570 + 200000000 base]<br /> store 0 in [ 0x209F9540 + 200000000 base]<br /> store 0 in [ 0x209F5540 + 200000000 base]<br /> store 0 in [ 0x209F1530 + 200000000 base]<br /> |-<br /> |0x1B|| store 0 in [ 0x20552168 + 200000000 base]<br /> |-<br /> |0x1C|| store 1 in [ 0x20552168 + 200000000 base]<br /> |-<br /> |0x1D|| store 0 in [ 0x20556C08 + 200000000 base]<br /> |-<br /> |0x1E|| store 1 in [ 0x20556C08 + 200000000 base]<br /> |-<br /> |0x1F|| store 0 in [ 0x205243D8 + 200000000 base]<br /> |-<br /> |0x20|| store 1 in [ 0x205243D8 + 200000000 base]<br /> |-<br /> |0x21|| store 0 in [ 0x20524F88 + 200000000 base]<br /> |-<br /> |0x22|| store 1 in [ 0x20524F88 + 200000000 base]<br /> |-<br /> |0x23|| store 0 in [ 0x2047E7F8 + 200000000 base]<br /> |-<br /> |0x24|| store 1 in [ 0x2047E7F8 + 200000000 base]<br /> |-<br /> |0x25|| store 0 in [ 0x204802B8 + 200000000 base]<br /> |-<br /> |0x26|| store 1 in [ 0x204802B8 + 200000000 base]<br /> |-<br /> |0x27|| store 0 in [ 0x20586348 + 200000000 base]<br /> |-<br /> |0x28|| store 1 in [ 0x20586348 + 200000000 base]<br /> |-<br /> |0x29|| store 0 in [ 0x205868A8 + 200000000 base]<br /> |-<br /> |0x2A|| store 1 in [ 0x205868A8 + 200000000 base]<br /> |-<br /> |0x2B|| <br /> |-<br /> |0x2C|| <br /> |-<br /> |0x2D|| <br /> |-<br /> |0x2E|| <br /> |-<br /> |0x2F|| condition [ 0x37B0C4 + 200000000 base ] == 0 -&gt; 00 10 0B 98 <br /> |-<br /> |0x30|| condition [ 0x37B704 + 200000000 base ] == 0 -&gt; 00 10 0B 98 <br /> |-<br /> |0x31|| condition [ 0x37630C + 200000000 base ] == 0 -&gt; 00 10 0B A8 <br /> |-<br /> |0x32|| condition [ 0x37BB0C + 200000000 base ] == 0 -&gt; 00 10 0B A8 <br /> |-<br /> |0x33|| <br /> |-<br /> |0x34|| not filled<br /> |-<br /> |0x35|| <br /> |-<br /> |0x36|| <br /> |-<br /> |0x37|| <br /> |-<br /> |0x38||<br /> |-<br /> |0x39|| <br /> |-<br /> |0x3A|| <br /> |-<br /> |0x3B|| GTA 3 (JP/AS) ? using 0x351210, 0x18F590, 0x351568 ( + 200000000 base )<br /> |}<br /> |-<br /> |0x02|||| 1 Param, Config file revision ?<br /> |-<br /> |0x03|||| 0 Param, sets something 0 (Fire Pro Wrestling Returns)<br /> |-<br /> |0x04|||| 1 Param uint32_t index (i*0x80, special 0x12345: 0x91a280?)<br /> |-<br /> |0x05|||| read next command<br /> |-<br /> |0x06|||| 0 Param, sets something 0x14F80 (85888'd)<br /> |-<br /> |0x07|||| 1 Param uint32_t (default 1)<br /> Delay VU xgkick by X cycles<br /> |-<br /> |0x08|||| 8 Param uint32_t (read mask,read mask, original opcode, original opcode, write mask, write mask, replace opcode, replace opcode)<br /> Maximum Amount of Usage: 3 times<br /> Patch VU memory by mask <br /> Mask = F - read/write, 0 - Not read/write, 8 - ignore 4 bytes, E - seems to be used as last character before wildcards (Superman returns).<br /> |-<br /> |0x09|||| uint32_t count, &lt;list&gt; (offset, original opcode, original opcode, replace opcode, replace opcode) - EE_INSN_REPLACE64<br /> [Dark Cloud] uses 1<br /> [Dead Or Alive 2 Hardcore] uses 1<br /> Maximum List Count: 32<br /> |-<br /> |0x0A|||| uint32_t count, &lt;List&gt; (offset, original opcode, replace opcode) - EE_INSN_REPLACE32<br /> [Deadly Strike] uses 1<br /> [Dragon Force] uses 2<br /> Maximum List Count: 32<br /> |-<br /> |0x0B|||| 1 Param uint32_t count, &lt;List&gt; {sector id, offset, sizeof present opcodes, replace opcodes, original opcodes} - MECHA_SET_PATCH<br /> offset on disc = sector id * sector size + offset (-0xC)<br /> [Dead Or Alive 2 Hardcore] uses 7<br /> [Gradius V] uses 1<br /> [Grand Theft Auto III] uses 1<br /> [Katamari Damacy] uses 1<br /> [Manhunt] uses 1<br /> [Odin Sphere] uses 2<br /> [Primal] uses 1<br /> [Psychonauts] uses 1<br /> [Syphon Filter The Omega Strain] uses 1<br /> Maximum List Count: 47<br /> |-<br /> |0x0C|||| 1 Param (uint16_t, uint16_t) --- 0/1/2,&lt;0x63&gt;<br /> |-<br /> |0x0D|||| 1 Param, true/false?<br /> Default Init = 1?<br /> 0 == skip some code, <br /> 1 == some code + checks<br /> |-<br /> |0x0E|||| 1 Param offset --- Improves ADD/SUB accuracy for selected offset (incl. Floats) <br /> [Rygar] only has 0x147DA8 sub.s $f12, $f20, $f12<br /> Maximum Amount of Usage: 31 times<br /> |-<br /> |0x0F|||| List &lt;uint32_t Param, uint32_t Param&gt; --- More accurate memory range (FPU mul/div/sub/add accuracy related) <br /> [Dark Cloud] uses 0x239334, 0x1FFFFFF<br /> [Grand Theft Auto SA] uses 0x1E46DC, 0x1E4AE8<br /> Maximum List Count: 31 <br /> |-<br /> |0x10|||| List &lt;uint32_t Param, uint32_t Param&gt; --- More accurate memory range (COP2, mul/div/sub/add accuracy related) - MULDIV_Accurate_range<br /> Maximum List Count: 31 <br /> |-<br /> |0x11|||| 1x uint32_t Param. ADD/SUB accuracy related, all emulated ADD/SUB instruction variations check that value. Param seems to be VU memory offset (need confirmation).<br /> Maximum Amount of Usage: 31 times<br /> |-<br /> |0x12|||| &lt;List&gt; (uint32_t count,<br /> [Primal] uses 0xD<br /> [Rayman Arena] uses 0x11<br /> [Syphon Filter: The Omega Strain] uses 0x5<br /> 00 00 00 0?<br /> 00 00 00 00<br /> type? count?<br /> ... <br /> Maximum List Count: 63 <br /> |-<br /> | 0x13|||| 1x uint64_t Param<br /> |-<br /> | 0x14|||| 0 Param, sets something 1<br /> |-<br /> | 0x15|| 4 || 1 Param ( &lt;1, &gt;1 ), different settings/mode?<br /> [Bloodrayne 2] uses 4<br /> [GRIMgRiMoiRe] uses 4<br /> [Mana Khemia 2] uses 4<br /> [Odin Sphere] uses 4<br /> [SMT Persona 3 FES] uses 4<br /> |-<br /> | 0x16|||| = 0x05 (next id)<br /> |-<br /> | 0x17||1 || 1 Param, true/false?<br /> [Bully] uses 1<br /> |-<br /> | 0x18|||| = 0x16 = 0x05 (next id)<br /> |-<br /> | 0x19 |||| 0 Param, sets something 1 --- SB_SIO2 related?<br /> [Grand Theft Auto III]<br /> [Red Faction 2]<br /> [Siren]<br /> |-<br /> | 0x1A|||| 0 Param, sets something 1<br /> |-<br /> | 0x1B|||| 0 Param, sets something 1<br /> [Mana Khemia 2]<br /> |-<br /> | 0x1C |||| read uint32_t (use uint8_t) Param (default 3)<br /> |-<br /> | 0x1D |||| read uint32_t (use uint8_t) Param <br /> |-<br /> | 0x1E |||| read uint32_t (use uint8_t) Param <br /> |-<br /> | 0x1F |||| uint32_t Param (default 0x3E8?)<br /> |-<br /> | 0x20|||| uint64_t Param (default 0x3C)<br /> |-<br /> | 0x21|| 1 || 1 Param: <br /> 0 = sets an option from 1 to 0 and another one to 0,<br /> 1 = sets an option from 1 to 0 and another one to 1,<br /> 2 = sets an option from 1 to 1 and another one to 0<br /> [Fatal Frame II] uses 0<br /> [Grand Theft Auto Vice City] uses 1<br /> [Grand Theft Auto III (EU)] uses 1<br /> [SMT Persona 3 FES] uses 0<br /> |-<br /> | 0x22|||| 0 Param, sets something 1<br /> |-<br /> | 0x23|||| 0 Param --- memcpy 0x100 Bytes and sets 0x14E00<br /> |-<br /> | 0x24|||| uint64_t Param<br /> |-<br /> | 0x25|||| = 0x18 = 0x16 = 0x05 (next id)<br /> |-<br /> | 0x26|||| List &lt;uint32_t Param,uint32_t Param&gt; --- Improves ADD/SUB accuracy for selected memory range (incl. Floats) - FPU_Accurate_range<br /> <br /> [Bloodrayne 2] uses 0x340000, 0x350000<br /> [Gradius V] uses 0x3046E0, 0x0x305E44<br /> Maximum List Count: 31 <br /> Maximum Amount of Usage: ??<br /> The command is used 4 times consecutively by [Strawberry Shortcake: The Sweet Dreams]<br /> SLES-54309 (EU) and<br /> SLUS-21497 (US) game configs hardcoded inside ps2_gxemu.self<br /> |-<br /> | 0x27|||| List &lt;uint32_t Param,uint32_t Param&gt; --- Improves COP2 operations accuracy for selected memory range - VU0 macromode accurate range<br /> Maximum List Count: 31 <br /> |-<br /> | 0x28|||| 1x uint32_t Param (&lt;=3)<br /> |-<br /> | 0x29 |||| 2x uint32_t Param,<br /> |-<br /> | 0x2A|||| 0 Param, sets something 1<br /> |-<br /> | 0x2B|||| 0 Param, sets something 1 --- something with Controller (analog?)<br /> |-<br /> | 0x2C |||| 1 Param, uint32_t<br /> Summoner uses 0x1<br /> |-<br /> | 0x2D |||| = 0x25 = 0x18 = 0x16 = 0x05 (next id)<br /> |-<br /> | 0x2E |||| 1 Param, uint32_t<br /> |-<br /> | 0x2F |||| 1 Param, uint32_t<br /> |-<br /> | 0x30|||| (nothing)<br /> |-<br /> | 0x31|||| (nothing)<br /> |-<br /> | 0x32|||| (nothing)<br /> |-<br /> | 0x33|||| (nothing)<br /> |-<br /> | 0x34|||| (nothing)<br /> |-<br /> | 0x35|||| 0 Param --- Enables Force Flip Field, described in emu setting as &quot;''Fix for [Hang] for soft-lock''&quot;<br /> |-<br /> | 0x36|||| (nothing)<br /> |-<br /> | 0x37|||| (nothing)<br /> |-<br /> | 0x38|||| (nothing)<br /> |-<br /> | 0x39 |||| (nothing)<br /> |-<br /> | 0x3A|||| (nothing)<br /> |-<br /> | 0x3B|||| (nothing)<br /> |-<br /> | 0x3C |||| (nothing)<br /> |-<br /> | 0x3D |||| 1 Param, uint32_t Config file revision<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Firmware !! ps2_netemu Revision !! Max Supported Commands<br /> |-<br /> | 3.70 || 15686 || 0x41<br /> |-<br /> | 3.73 || 15936 || 0x41<br /> |-<br /> | 3.74 || 15936 || 0x41<br /> |-<br /> | 4.00 || 16195 || 0x41<br /> |-<br /> | 4.01 || 16195 || 0x41<br /> |-<br /> | 4.10 || 16361 || 0x41<br /> |-<br /> | 4.11 || 16361 || 0x41<br /> |-<br /> | 4.20 || 16604 || 0x43<br /> |-<br /> | 4.21 || 16604 || 0x43<br /> |-<br /> | 4.23 || 16604 || 0x43<br /> |-<br /> | 4.25 || 16740 || 0x43<br /> |-<br /> | 4.26 || 16740 || 0x43<br /> |-<br /> | 4.30 || 16808 || 0x45<br /> |-<br /> | 4.31 || 16808 || 0x45<br /> |-<br /> | 4.40 || 16916 || 0x46<br /> |-<br /> | 4.41 || 16916 || 0x46<br /> |-<br /> | 4.45 || 17041 || 0x48<br /> |-<br /> | 4.46 || 17041 || 0x48<br /> |-<br /> | 4.50 || 17179 || 0x4A<br /> |-<br /> | 4.55 || 17277 || 0x4D<br /> |- <br /> |4.60&lt;br /&gt;<br /> 4.70&lt;br /&gt;<br /> 4.75&lt;br /&gt;<br /> 4.76&lt;br /&gt;<br /> || 17314 || 0x4D<br /> |- <br /> |4.78&lt;br /&gt;<br /> 4.80&lt;br /&gt;<br /> 4.81&lt;br /&gt;<br /> || 17495 || 0x50<br /> |- <br /> |}<br /> |-<br /> | 0x3E |||| 0 Params --- Sets something 1<br /> Default Init = 0<br /> 0 == do set some stuff, <br /> 1 == skip<br /> |-<br /> | 0x3F |||| 1 Param, uint32_t<br /> |-<br /> | 0x40|||| 0 Param --- Sets something 1<br /> Grand Theft Auto SA<br /> Silent Hill Origins - unofficial fix<br /> |-<br /> | 0x41|||| 0 Param --- Sets something 1 (Disables some lwsync - speedhack?)<br /> Dragon Force<br /> God Hand<br /> Gradius V<br /> Katamari Damacy<br /> |-<br /> | 0x42|||| 2 Param: uint32_t address, uint32_t count --- Overlay area? <br /> |-<br /> | 0x43|||| 1 Param --- Equal to 0x40, but with Parameter:<br /> 0 = Default<br /> 1 = (like 0x40)<br /> param = <br /> -1 = failure?<br /> |-<br /> | 0x44|||| 0 Param --- Disables Smoothing and Smoothing option<br /> |-<br /> | 0x45|||| 0 Param --- Sets something 1<br /> Phantasy Star Complete Collection<br /> |-<br /> | 0x46|||| 0 Param --- Enables L2H Improvement, [Performance] related setting for titles using L2H<br /> SMT Digital Devil Saga 1<br /> SMT Nocturne<br /> Fatal Frame II<br /> |-<br /> | 0x47|||| 0 Param --- Enables XOR CSR - XOR System Status Register (0x12001000)?, [Graphics] related setting, should fix fullscreen line corruption<br /> |-<br /> | 0x48|||| VSYNC Delay, 2x uint32_t Param<br /> *First param possible value are 1 = No IPU, 2 = IPU, 3 = Anytime.<br /> *Second param is delay (in ms?), and can be also negative value.<br /> **Emu has standard presets for second param.<br /> ***Agressive = 0x3D090 (250000 decimal),<br /> ***Normal = 0x186A0 (100000 decimal),<br /> ***Conservative = 0x4E20 (20000 decimal),<br /> ***But other values can be used.<br /> [SMT Digital Devil Saga 1] uses 1, 0x3D090<br /> [Fatal Frame II] uses 0x2, 0xFFFFE69C (-6500 decimal)<br /> |-<br /> | 0x49|||| 0 Param --- Sets something 0xB,0,0<br /> |-<br /> | 0x4A|||| 0 Param --- Sets something 0x15100<br /> |-<br /> | 0x4B|||| 2x uint32_t Params: offset,int (-1? selects different titleid?) - /game/ /../ USRDIR/SAVEDATA related<br /> |-<br /> | 0x4C|||| 2x uint32_t Params: offset,int (2 = current path?, 3 = new ISO.BIN.ENC path?, other= ?)<br /> |-<br /> | 0x4D|||| 1 uint32_t Param (can be -1) --- Sets something (same as 0x49 but) 0xC, Param, 0<br /> |-<br /> | 0x4E|||| (nothing)<br /> |-<br /> | 0x4F|||| (nothing)<br /> |-<br /> | 0x50|||| 0 Param --- Switch to default gamepad config ?<br /> |-<br /> |}<br /> <br /> ===Config file examples (for netemu)===<br /> <br /> ====Official====<br /> {| class=&quot;wikitable sortable&quot; style=&quot;width: 1920px;&quot; | <br /> |-<br /> ! Title ID !! Title !! Config Data !! Revision !! Notes<br /> |-<br /> | style=&quot;width: 5px;&quot; | NPUD20461 || Bloodrayne || style=&quot;width: 650px;&quot; | <br /> 00000000 3D 00 00 00 46 3E 00 00 16 00 00 00 0B 00 00 00 =...F&gt;..........<br /> 00000010 04 00 00 00 07 01 00 00 C0 02 00 00 10 00 00 00 ........+.......<br /> 00000020 00 09 3C 52 52 3C 09 00 03 1F 90 14 14 90 1F 03 ..&lt;RR&lt;....É..É..<br /> 00000030 00 09 3C 52 52 3C 09 00 03 20 C0 04 04 C0 20 03 ..&lt;RR&lt;... +..+ .<br /> 00000040 56 A0 09 00 10 00 00 00 04 00 00 00 00 00 90 01 Vá............É.<br /> 00000050 FA 0F BD 01 21 39 07 00 B8 06 00 00 28 00 00 00 ·.¢.!9..©...(...<br /> 00000060 35 4A 02 02 00 0A 54 38 35 4A 62 7E 34 A5 00 A0 5J....T85Jb~4Ñ.á<br /> 00000070 3C 09 00 1B 35 29 FA 00 00 09 4C 38 35 29 02 02 &lt;...5)·...L85)..<br /> 00000080 00 09 4C 38 35 29 62 7E 35 4A 02 03 00 0A 54 38 ..L85)b~5J....T8<br /> 00000090 35 4A 22 7E 34 A5 00 A0 3C 09 00 1B 35 29 FA 00 5J&quot;~4Ñ.á&lt;...5)·.<br /> 000000A0 00 09 4C 38 35 29 02 03 00 09 4C 38 35 29 22 7E ..L85)....L85)&quot;~<br /> 000000B0 27 39 07 00 80 03 00 00 24 00 00 00 35 6B 02 02 '9..Ç...$...5k..<br /> 000000C0 00 0B 5C 38 35 6B 62 7E 3C 0C 00 1B 35 8C FA 00 ..\85kb~&lt;...5î·.<br /> 000000D0 00 0C 64 38 35 8C 02 02 00 0C 64 38 35 8C 62 7E ..d85î....d85îb~<br /> 000000E0 35 6B 02 03 00 0B 5C 38 35 6B 22 7E 3C 0C 00 1B 5k....\85k&quot;~&lt;...<br /> 000000F0 35 8C FA 00 00 0C 64 38 35 8C 02 03 00 0C 64 38 5î·...d85î....d8<br /> 00000100 35 8C 22 7E 5î&quot;~<br /> || 15942 (4.00+) ||<br /> 0x3D =&gt; 0x3E46 (15942)<br /> 0x16 =&gt; 0xB =&gt; 4<br /> 0x107, (sector)<br /> 0x2C0, (offset -&gt; 0x1072B4 in iso)<br /> 0x10, <br /> 0x523C0900, (beql s1, gp, ?)<br /> 0x00093C52, (mflo a3)<br /> 0x14901F03, (bne a0, s0, ?)<br /> 0x031F9014, (dsllv s2, ra, t8)<br /> 0x523C0900, (beql s1, gp, ?)<br /> 0x00093C52, (mflo a3)<br /> 0x04C02003, (bltz a2, ?)<br /> 0x0320C004 (sllv t8, zero, t9)<br /> 0x9A056, (sector)<br /> 0x10, (offset -&gt; 0x4D02B004 in iso)<br /> 0x04, <br /> 0x01900000 (sll zero, s0, 0x00?), <br /> 0x01BD0FFA (dsrl at,sp,0x1F?)<br /> 0x73921, (sector)<br /> 0x6B8, (offset -&gt; 0x39C90EAC in iso)<br /> 0x28, <br /> 21 39 07 00 addi t9,t1,0x0700<br /> B8 06 00 00 swr a2,(zero)<br /> 28 00 00 00 slti zero,0x0000<br /> 35 4A 02 02 ori t2,0x202<br /> 00 0A 54 38 dsll t2,0x10<br /> 35 4A 62 7E ori t2,0x627E<br /> 34 A5 00 A0 ori a1,0xA0<br /> 3C 09 00 1B lui t1,0x001B<br /> 35 29 FA 00 ori t1,0xFA00<br /> 00 09 4C 38 dsll t1,0x10<br /> 35 29 02 02 ori t1,0x202<br /> 00 09 4C 38 dsll t1,0x10<br /> 35 29 62 7E ori t1,0x627E<br /> 35 4A 02 03 ori t2,0x203<br /> 00 0A 54 38 dsll t2,0x10<br /> 35 4A 22 7E ori t2,0x227E<br /> 34 A5 00 A0 ori a1,0xA0<br /> 3C 09 00 1B lui t1,0x001B<br /> 35 29 FA 00 ori t1,0xFA00<br /> 00 09 4C 38 dsll t1,0x10<br /> 35 29 02 03 ori t1,0x203<br /> 00 09 4C 38 dsll t1,0x10<br /> 35 29 22 7E ori t1,0x227E<br /> 0x73927, (sector)<br /> 0x380, (offset -&gt; 0x39C93B74 in iso)<br /> 0x24, <br /> 35 6B 02 02 ori t3,0x202<br /> 00 0B 5C 38 dsll t3,0x10<br /> 35 6B 62 7E ori t3,0x627E<br /> 3C 0C 00 1B lui t4,0x001B<br /> 35 8C FA 00 ori t4,0xFA00<br /> 00 0C 64 38 dsll t4,0x10<br /> 35 8C 02 02 ori t4,0x202<br /> 00 0C 64 38 dsll t4,0x10<br /> 35 8C 62 7E ori t4,0x627E<br /> 35 6B 02 03 ori t3,0x203<br /> 00 0B 5C 38 dsll t3,0x10<br /> 35 6B 22 7E ori t3,0x227E<br /> 3C 0C 00 1B lui t4,0x001B<br /> 35 8C FA 00 ori t4,0xFA00<br /> 00 0C 64 38 dsll t4,0x10<br /> 35 8C 02 03 ori t4,0x203<br /> 00 0C 64 38 dsll t4,0x10<br /> 35 8C 22 7E ori t4,0x227E<br /> |-<br /> | NPUD20862 || Bloodrayne 2 ||<br /> 00000000 3D 00 00 00 3D 3F 00 00 15 00 00 00 04 00 00 00 =...=?..........<br /> 00000010 26 00 00 00 00 00 34 00 00 00 35 00 00 00 00 00 &amp;.....4...5.....<br /> 00000020 53 4C 55 53 2D 32 30 38 36 32 SLUS-20862<br /> || 16189 (4.00+) ||<br /> 0x3D =&gt; 0x3F3D (16189)<br /> 0x15 =&gt; 4<br /> 0x26 =&gt; 0x340000, 0x350000<br /> |-<br /> | NPUD21269 || Bully ||<br /> 00000000 3D 00 00 00 89 3D 00 00 17 00 00 00 01 00 00 00 =....=..........<br /> 00000010 00 00 00 00 53 4C 55 53 2D 32 31 32 36 39 ....SLUS-21269<br /> || 15753 (3.73+) ||<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x17 =&gt; 1<br /> |-<br /> | NPJD00004 || Contra Shattered Soldier || <br /> 00000000 3D 00 00 00 BF 3F 00 00 0A 00 00 00 12 00 00 00 =...+?..........<br /> 00000010 A0 FF 0F 00 00 00 00 00 10 00 01 3C A4 FF 0F 00 á .........&lt;ñ ..<br /> 00000020 00 00 00 00 90 FF 24 8C A8 FF 0F 00 00 00 00 00 ....É $î¿ ......<br /> 00000030 81 00 85 2C AC FF 0F 00 00 00 00 00 06 00 A0 10 ü.à,¼ ........á.<br /> 00000040 B0 FF 0F 00 00 00 00 00 01 00 84 24 B4 FF 0F 00 ¦ ........ä$¦ ..<br /> 00000050 00 00 00 00 90 FF 24 AC B8 FF 0F 00 00 00 00 00 ....É $¼© ......<br /> 00000060 81 00 85 2C BC FF 0F 00 00 00 00 00 02 00 A0 14 ü.à,+ ........á.<br /> 00000070 C0 FF 0F 00 00 00 00 00 00 00 00 00 C4 FF 0F 00 + ..........- ..<br /> 00000080 00 00 00 00 00 07 02 34 C8 FF 0F 00 00 00 00 00 .......4+ ......<br /> 00000090 08 00 E0 03 CC FF 0F 00 00 00 00 00 00 00 00 00 ..Ó.¦ ..........<br /> 000000A0 D0 FF 0F 00 00 00 00 00 10 00 01 3C D4 FF 0F 00 ð .........&lt;È ..<br /> 000000B0 00 00 00 00 08 00 E0 03 D8 FF 0F 00 00 00 00 00 ......Ó.Ï ......<br /> 000000C0 90 FF 20 AC DC FF 0F 00 00 00 00 00 00 00 00 00 É ¼_ ..........<br /> 000000D0 C0 72 42 00 08 00 E0 03 E8 FF 03 08 B4 7C 42 00 +rB...Ó.Þ ..¦|B.<br /> 000000E0 08 00 E0 03 F4 FF 03 08 00 00 00 00 53 4C 50 4D ..Ó.¶ ......SLPM<br /> 000000F0 2D 36 32 32 34 37 -62247<br /> || 16319 (4.10+)||<br /> 0x3D =&gt; 0x3FBF (16319)<br /> 0x0A =&gt; 0x12, <br /> 0xFFFA0,0, 0x3C010010 lui at,0x0010 <br /> 0xFFFA4,0, 0x8C24FF90 lw a0,-0x70(at) <br /> 0xFFFA8,0, 0x2C850081 sltiu a1,a0,0x0081 <br /> 0xFFFAC,0, 0x10A00006 beqz a1,pos_000FFFC8 <br /> 0xFFFB0,0, 0x24840001 addiu a0,0x1 <br /> 0xFFFB4,0, 0xAC24FF90 sw a0,-0x70(at) <br /> 0xFFFB8,0, 0x2C850081 sltiu a1,a0,0x0081 <br /> 0xFFFBC,0, 0x14A00002 bnez a1,pos_000FFFC8 <br /> 0xFFFC0,0, 0x00000000 nop <br /> 0xFFFC4,0, 0x34020700 li v0,0x700 <br /> 0xFFFC8,0, 0x03E00008 jr t9 <br /> 0xFFFCC,0, 0x00000000 nop <br /> 0xFFFD0,0, 0x3C010010 lui at,0x0010 <br /> 0xFFFD4,0, 0x03E00008 jr ra <br /> 0xFFFD8,0, 0xAC20FF90 sw zero,-0x70(at) <br /> 0xFFFDC,0, 0x00000000 nop <br /> 0x4272C0, 0x03E00008 (jr ra), 0x0803FFE8 j pos_000FFFA0<br /> 0x427CB4, 0x03E00008 (jr ra), 0x0803FFF4 j pos_000FFFD0<br /> |-<br /> | NPJC00002 || Dark Cloud ||<br /> 00000000 3D 00 00 00 07 3F 00 00 0F 00 00 00 34 93 23 00 =....?......4.#.<br /> 00000010 FF FF FF 01 09 00 00 00 01 00 00 00 B0 8E 13 00 ................<br /> 00000020 20 00 BF 7F B0 FF BD 27 00 00 00 00 08 00 E0 03 ......'........<br /> 00000030 00 00 00 00 53 43 50 53 2D 31 35 30 30 34 ....SCPS-15004<br /> || 16135 (4.00+)||<br /> 0x3D =&gt; 0x3F07 (16135)<br /> 0x0F =&gt; 0x239334, 0x01FFFFFF<br /> 0x09 =&gt; 1,<br /> 0x138EB0 , <br /> 0x7FBF0020 (sq ra,0x20(sp)),<br /> 0x27BDFFB0 (addiu sp,-0x50),<br /> 0x00000000 (nop),<br /> 0x03E00008 (jr ra)<br /> <br /> 0x239334 = end of code segment?<br /> 0x138EB0 = DrawShadow__10CCharacterFv Function Offset<br /> config 20 00 BF 7F 0x7FBF0020 sq ra, 0x20(sp)<br /> B0 FF BD 27 0x27BDFFB0 addiu sp, -0x50<br /> 00 00 00 00 0x00000000 nop<br /> 08 00 E0 03 0x03E00008 jr ra<br /> |-<br /> | NPUD20071 || Dead Or Alive 2 Hardcore ||<br /> 00000000 3D 00 00 00 F0 42 00 00 0A 00 00 00 01 00 00 00 =....B..........<br /> 00000010 EC 06 2B 00 01 00 06 24 00 00 06 24 0B 00 00 00 ..+....$...$....<br /> 00000020 07 00 00 00 71 6A 18 00 F4 07 00 00 04 00 00 00 ....qj..........<br /> 00000030 0C 00 32 B7 0C 00 32 B3 71 6A 18 00 F4 05 00 00 ..2...2.qj......<br /> 00000040 08 00 00 00 03 E0 00 08 00 00 00 00 27 BD FF F0 ............'...<br /> 00000050 AF BE 00 08 7B 6A 18 00 08 07 00 00 08 00 00 00 ....{j..........<br /> 00000060 03 E0 00 08 00 00 00 00 27 BD FF F0 AF BE 00 08 ........'.......<br /> 00000070 85 6A 18 00 18 01 00 00 08 00 00 00 03 E0 00 08 .j..............<br /> 00000080 00 00 00 00 27 BD FF F0 AF BE 00 08 85 6A 18 00 ....'........j..<br /> 00000090 70 01 00 00 08 00 00 00 03 E0 00 08 00 00 00 00 p...............<br /> 000000A0 27 BD FF F0 AF BE 00 08 85 6A 18 00 C8 01 00 00 '........j......<br /> 000000B0 08 00 00 00 03 E0 00 08 00 00 00 00 27 BD FF F0 ............'...<br /> 000000C0 AF BE 00 08 86 6A 18 00 FC 07 00 00 08 00 00 00 .....j..........<br /> 000000D0 03 E0 00 08 00 00 00 00 27 BD FF F0 AF BE 00 08 ........'.......<br /> 000000E0 00 00 00 00 53 4C 55 53 2D 32 30 30 37 31 ....SLUS-20071 <br /> || 17136 (4.50+) || fixes blackscreen<br /> 0x3D =&gt; 0x42F0 (17136)<br /> 0x0A =&gt; 0x01,<br /> 0x2B06EC, 0x24060001 (li a2,0x1), <br /> 0x24060000 (li a2,0x0)<br /> 0x0B =&gt; 0x07,<br /> 0x186A71, 0x7F4, 0x04, <br /> 0xB732000C (jal -0x2A9B90), <br /> 0xB332000C (jal -0x2A9BA0)<br /> 0x186A71, 0x5F4, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A7B, 0x708, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A85, 0x118, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A85, 0x170, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A85, 0x1C8, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A86, 0x7FC, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp))<br /> <br /> |-<br /> | NPJD00011 || Dead Or Alive 2 Hardcore || <br /> 00000000 3D 00 00 00 89 3D 00 00 09 00 00 00 01 00 00 00 =...ë=..........<br /> 00000010 6C 66 2B 00 80 00 08 24 01 00 06 24 80 00 08 24 lf+.Ç..$...$Ç..$<br /> 00000020 00 00 06 24 0B 00 00 00 07 00 00 00 05 FF 17 00 ...$......... ..<br /> 00000030 F0 07 00 00 0C 00 00 00 27 C4 00 10 0C 00 32 B7 ­.......'-....2À<br /> 00000040 00 00 00 00 24 04 00 2B 0C 00 32 B3 27 C5 00 10 ....$..+..2¦'+..<br /> 00000050 05 FF 17 00 F4 05 00 00 08 00 00 00 03 E0 00 08 . ..¶........Ó..<br /> 00000060 00 00 00 00 27 BD FF F0 AF BE 00 08 0F FF 17 00 ....'¢ ­»¥... ..<br /> 00000070 08 07 00 00 08 00 00 00 03 E0 00 08 00 00 00 00 .........Ó......<br /> 00000080 27 BD FF F0 AF BE 00 08 19 FF 17 00 18 01 00 00 '¢ ­»¥... ......<br /> 00000090 08 00 00 00 03 E0 00 08 00 00 00 00 27 BD FF F0 .....Ó......'¢ ­<br /> 000000A0 AF BE 00 08 19 FF 17 00 70 01 00 00 08 00 00 00 »¥... ..p.......<br /> 000000B0 03 E0 00 08 00 00 00 00 27 BD FF F0 AF BE 00 08 .Ó......'¢ ­»¥..<br /> 000000C0 19 FF 17 00 C8 01 00 00 08 00 00 00 03 E0 00 08 . ..+........Ó..<br /> 000000D0 00 00 00 00 27 BD FF F0 AF BE 00 08 1A FF 17 00 ....'¢ ­»¥... ..<br /> 000000E0 FC 07 00 00 08 00 00 00 03 E0 00 08 00 00 00 00 ³........Ó......<br /> 000000F0 27 BD FF F0 AF BE 00 08 00 00 00 00 53 4C 50 53 '¢ ­»¥......SLPS<br /> 00000100 2D 32 35 30 32 36 -25026<br /> || 15753 (3.73+) || fixes blackscreen<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x09 =&gt; 1,<br /> 0x2B666C, <br /> 0x24080080 (li t0,0x80), <br /> 0x24060001 (li a2,0x1), <br /> 0x24080080 (li t0,0x80), <br /> 0x24060000 (li a2,0x0)<br /> 0x0B =&gt; 7, <br /> 0x17FF05, 0x7F0, 0x0C ,<br /> 0x1000C427 addiu a0,fp,0x10,<br /> 0xB732000C jal -0x2A9B90,<br /> 0x00000000 nop, <br /> 0x2B000424 li a0,0x2B,<br /> 0xB332000C jal -0x2A9BA0,<br /> 0x1000C527 addiu a1,fp,0x10,<br /> 0x17FF05, 0x5F4, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF0F, 0x708, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF19, 0x118, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF19, 0x170, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF19, 0x1C8, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF1A, 0x7FC, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> <br /> 002B666C 01 00 06 24 0x24060001 li a2,0x1<br /> 80 00 08 24 0x24080080 li t0,0x80 <br /> 2D 48 E0 00 0x00E0482D dmove t1,a3<br /> 10 00 0A 24 0x240A0010 li t2,0x10<br /> <br /> config 80 00 08 24 0x24080080 li t0,0x80<br /> 01 00 06 24 0x24060001 li a2,0x1<br /> 80 00 08 24 0x24080080 li t0,0x80<br /> 00 00 06 24 0x24060000 li a2,0x0<br /> |-<br /> | NPED00027 || Deadly Strike ||<br /> 00000000 3D 00 00 00 96 40 00 00 0A 00 00 00 01 00 00 00 =....@..........<br /> 00000010 14 09 1E 00 17 37 01 3C 14 37 01 3C 00 00 00 00 .....7.&lt;.7.&lt;....<br /> 00000020 53 4C 45 53 2D 35 32 39 35 35 SLES-52955<br /> || 16534 (4.20+) ||<br /> 0x3D =&gt; 0x4096 (16534)<br /> 0x0A =&gt; 1 <br /> 0x1E0914, 17 37 01 3C 0x3C013717 li at,0x3717<br /> 14 37 01 3C 0x3C013714 li at,0x3714 <br /> |-<br /> | NPED00087 || Disneys PK: Out of the Shadows ||<br /> <br /> || || blackscreen<br /> <br /> |-<br /> | NPUD21944 || Doras Big Birthday Adventure ||<br /> 00000000 3D 00 00 00 ED 3F 00 00 0A 00 00 00 0A 00 00 00 =....?..........<br /> 00000010 00 FF 0F 00 00 00 00 00 07 00 40 14 04 FF 0F 00 ..........@.....<br /> 00000020 00 00 00 00 10 00 01 3C 08 FF 0F 00 00 00 00 00 .......&lt;........<br /> 00000030 F0 FF 28 8C 0C FF 0F 00 00 00 00 00 20 01 09 2D ..(......... ..-<br /> 00000040 10 FF 0F 00 00 00 00 00 03 00 20 11 14 FF 0F 00 .......... .....<br /> 00000050 00 00 00 00 01 00 08 25 18 FF 0F 00 00 00 00 00 .......%........<br /> 00000060 F0 FF 28 AC 1C FF 0F 00 00 00 00 00 06 00 02 24 ..(............$<br /> 00000070 20 FF 0F 00 00 00 00 00 08 00 E0 03 90 9B 1E 00 ...............<br /> 00000080 08 00 E0 03 C0 FF 03 08 00 00 00 00 53 4C 55 53 ............SLUS<br /> 00000090 2D 32 31 39 34 34 -21944<br /> || 16365 (4.20+) ||<br /> 0x3D =&gt; 0x3FED (16365)<br /> 0x0A =&gt; 0xA,<br /> 0xFFF00,0,0x14400007 bnez v0,pos_000FFF20<br /> 0xFFF04,0,0x3C010010 lui at,0x0010<br /> 0xFFF08,0,0x8C28FFF0 lw t0,-0x10(at)<br /> 0xFFF0C,0,0x2D090120 sltiu t1,t0,0x0120<br /> 0xFFF10,0,0x11200003 beqz t1,pos_000FFF20<br /> 0xFFF14,0,0x25080001 addiu t0,0x1<br /> 0xFFF18,0,0xAC28FFF0 sw t0,-0x10(at)<br /> 0xFFF1C,0,0x24020006 li v0,0x6<br /> 0xFFF20,0,0x03E00008 jr ra<br /> 0x1E9B90, 0x03E00008 (jr ra), 0x0803FFC0 j pos_000FFF00<br /> |-<br /> | NPJD00005 || Dragon Force ||<br /> 00000000 3D 00 00 00 D6 40 00 00 0A 00 00 00 02 00 00 00 =....@..........<br /> 00000010 B4 41 10 00 1C 00 40 10 F9 FF 40 14 BC 41 10 00 .A....@...@..A..<br /> 00000020 1D 00 02 3C 1A 00 40 10 41 00 00 00 00 00 00 00 ...&lt;..@.A.......<br /> 00000030 53 4C 50 4D 2D 36 35 37 37 38 SLPM-65778<br /> || 16598 (4.20+) ||<br /> 0x3D =&gt; 0x40D6 (16598)<br /> 0x0A =&gt; 2, <br /> 0x1041B4, 0x1040001C beqz v0,pos_00104228<br /> 0x1440FFF9 bnez v0,pos_0010419C<br /> 0x1041BC, 0x3C02001D lui v0,0x001D<br /> 0x1040001A beqz v0,pos_00104228<br /> 0x41 =&gt; (sets some value 1, sync? - speedhack?)<br /> |-<br /> | NPUD20766 || Fatal Frame II ||<br /> 00000000 3D 00 00 00 AF 42 00 00 21 00 00 00 00 00 00 00 =....B..!.......<br /> 00000010 48 00 00 00 02 00 00 00 9C E6 FF FF 0A 00 00 00 H...............<br /> 00000020 01 00 00 00 1C 70 17 00 41 01 0F 24 61 01 0F 24 .....p..A..$a..$<br /> 00000030 46 00 00 00 0B 00 00 00 01 00 00 00 DD 04 00 00 F...............<br /> 00000040 E8 02 00 00 04 00 00 00 00 42 73 84 00 00 02 FF .........Bs.....<br /> 00000050 00 00 00 00 53 4C 55 53 2D 32 30 37 36 36 ....SLUS-20766 <br /> || 17071 (4.50+) ||<br /> 0x3D =&gt; 0x42AF (17071)<br /> 0x21 =&gt; 0<br /> 0x48 =&gt; 0x2, 0xFFFFE69C<br /> 0x0A =&gt; 1, <br /> 0x17701C, 0x240F0141 (li t7,0x141)<br /> 0x240F0161 (li t7,0x161)<br /> 0x46<br /> 0x0B =&gt; 1<br /> 0x4DD, (sector)<br /> 0x2E8, (offset -&gt; 0x26EADC in iso)<br /> 0x04,<br /> 0x84734200 lh s3,0x4200(v1),<br /> 0xFF020000 sd v0,(t8)<br /> |-<br /> | NPED00052 || God Hand || <br /> 00000000 3D 00 00 00 5F 3F 00 00 41 00 00 00 0A 00 00 00 =..._?..A.......<br /> 00000010 14 00 00 00 A0 FF 0F 00 00 00 00 00 01 00 02 3C ....á .........&lt;<br /> 00000020 A4 FF 0F 00 00 00 00 00 21 20 82 00 A8 FF 0F 00 ñ ......! é.¿ ..<br /> 00000030 00 00 00 00 4D 00 02 24 AC FF 0F 00 00 00 00 00 ....M..$¼ ......<br /> 00000040 0E 00 45 14 B4 FF 0F 00 00 00 00 00 3E 18 06 00 ..E.¦ ......&gt;...<br /> 00000050 B8 FF 0F 00 00 00 00 00 FF 3F 63 38 BC FF 0F 00 © ...... ?c8+ ..<br /> 00000060 00 00 00 00 60 00 02 24 C0 FF 0F 00 00 00 00 00 ....`..$+ ......<br /> 00000070 0A 10 03 00 C4 FF 0F 00 00 00 00 00 00 00 83 8C ....- ........âî<br /> 00000080 C8 FF 0F 00 00 00 00 00 00 00 62 FC CC FF 0F 00 + ........b³¦ ..<br /> 00000090 00 00 00 00 15 00 02 24 D0 FF 0F 00 00 00 00 00 .......$ð ......<br /> 000000A0 08 00 62 FC D4 FF 0F 00 00 00 00 00 10 00 63 24 ..b³È ........c$<br /> 000000B0 D8 FF 0F 00 00 00 00 00 00 00 83 AC DC FF 0F 00 Ï ........â¼_ ..<br /> 000000C0 00 00 00 00 10 00 83 8C E0 FF 0F 00 00 00 00 00 ......âîÓ ......<br /> 000000D0 01 00 63 24 E4 FF 0F 00 00 00 00 00 10 00 83 AC ..c$õ ........â¼<br /> 000000E0 E8 FF 0F 00 00 00 00 00 A6 67 0A 08 90 9E 29 00 Þ ......ªg..É×).<br /> 000000F0 01 00 02 3C E8 FF 03 08 94 9E 29 00 21 20 82 00 ...&lt;Þ ..ö×).! é.<br /> 00000100 00 00 00 00 00 00 00 00 53 4C 45 53 2D 35 34 34 ........SLES-544<br /> 00000110 39 30 90<br /> || 16223 (4.10+) ||<br /> 0x3D =&gt; 0x3F5F (16223)<br /> 0x41 =&gt; (sets some value 1, sync? - speedhack?)<br /> 0x0A =&gt; 0x14<br /> 0xFFFA0,0,0x3C020001 lui v0,0x0001<br /> 0xFFFA4,0,0x00822021 addu a0,v0<br /> 0xFFFA8,0,0x2402004D li v0,0x4D<br /> 0xFFFAC,0,0x1445000E bne v0,a1,pos_000FFFE8<br /> 0xFFFB4,0,0x0006183E dsrl32 v1,a2,0x00<br /> 0xFFFB8,0,0x38633FFF xori v1,0x3FFF<br /> 0xFFFBC,0,0x24020060 li v0,0x60<br /> 0xFFFC0,0,0x0003100A movz v0,zero,v1<br /> 0xFFFC4,0,0x8C830000 lw v1,(a0)<br /> 0xFFFC8,0,0xFC620000 sd v0,(v1)<br /> 0xFFFCC,0,0x24020015 li v0,0x15<br /> 0xFFFD0,0,0xFC620008 sd v0,0x8(v1)<br /> 0xFFFD4,0,0x24630010 addiu v1,0x10<br /> 0xFFFD8,0,0xAC830000 sw v1,(a0)<br /> 0xFFFDC,0,0x8C830010 lw v1,0x10(a0)<br /> 0xFFFE0,0,0x24630001 addiu v1,0x1<br /> 0xFFFE4,0,0xAC830010 sw v1,0x10(a0)<br /> 0xFFFE8,0,0x080A67A6 j pos_00299E98<br /> 0x299E90,0x3C020001 (lui v0,0x0001),0x0803FFE8 j pos_000FFFA0<br /> 0x299E94,0x00822021 (addu a0,v0),0x00000000 nop<br /> |-<br /> | NPUD20712 || Gradius V ||<br /> 00000000 3D 00 00 00 37 3E 00 00 0B 00 00 00 01 00 00 00 =...7&gt;..........<br /> 00000010 D3 05 00 00 10 03 00 00 08 00 00 00 03 E0 00 08 ................<br /> 00000020 00 00 00 00 27 BD FF C0 3C 03 00 4C 41 00 00 00 ....'...&lt;..LA...<br /> 00000030 26 00 00 00 E0 46 30 00 44 5E 30 00 00 00 00 00 &amp;....F0.D^0.....<br /> 00000040 53 4C 55 53 2D 32 30 37 31 32 SLUS-20712 <br /> || 15927 (3.71+) || <br /> 0x3D =&gt; 0x3E37 (15927)<br /> 0x0B =&gt; 1<br /> 0x5D3, (sector)<br /> 0x310, (offset -&gt; 0x2E9B04 in iso)<br /> 0x08, <br /> 03 E0 00 08 jr ra<br /> 00 00 00 00 nop<br /> 27 BD FF C0 addiu sp,-0x40<br /> 3C 03 00 4C lui v1,0x004C<br /> 0x41 =&gt; (sets some value 1, sync? - speedhack?)<br /> 0x26 =&gt; 0x3046E0, 0x0x305E44<br /> |-<br /> | NPUD20552 || Grand Theft Auto - Vice City ||<br /> 00000000 3D 00 00 00 A5 41 00 00 21 00 00 00 01 00 00 00 =....A..!.......<br /> 00000010 0A 00 00 00 0D 00 00 00 A0 FF 0F 00 00 00 00 00 ................<br /> 00000020 17 00 01 24 A4 FF 0F 00 00 00 00 00 08 00 24 14 ...$..........$.<br /> 00000030 AC FF 0F 00 00 00 00 00 10 00 01 3C B0 FF 0F 00 ...........&lt;....<br /> 00000040 00 00 00 00 90 FF 22 8C B4 FF 0F 00 00 00 00 00 ......&quot;.........<br /> 00000050 FF FF 42 24 B8 FF 0F 00 00 00 00 00 05 00 40 1C ..B$..........@.<br /> 00000060 C0 FF 0F 00 00 00 00 00 04 00 02 24 C4 FF 0F 00 ...........$....<br /> 00000070 00 00 00 00 90 FF 22 AC C8 FF 0F 00 00 00 00 00 ......&quot;.........<br /> 00000080 C1 3A 0B 08 CC FF 0F 00 00 00 00 00 D0 FF BD 27 .:.............'<br /> 00000090 D0 FF 0F 00 00 00 00 00 08 00 E0 03 D4 FF 0F 00 ................<br /> 000000A0 00 00 00 00 90 FF 22 AC 00 EB 2C 00 D0 FF BD 27 ......&quot;...,....'<br /> 000000B0 E8 FF 03 08 00 00 00 00 53 4C 55 53 2D 32 30 35 ........SLUS-205<br /> 000000C0 35 32 52<br /> || 16805 (4.30+) ||<br /> 0x3D =&gt; 0x41A5 (16805)<br /> 0x21 =&gt; 1<br /> 0x0A = 0xD<br /> 0xFFFA0,0,0x24010017 li at,0x17<br /> 0xFFFA4,0,0x14240008 bne at,a0,pos_000FFFC8<br /> 0xFFFAC,0,0x3C010010 lui at,0x0010<br /> 0xFFFB0,0,0x8C22FF90 lw v0,-0x70(at)<br /> 0xFFFB4,0,0x2442FFFF addiu v0,-0x1<br /> 0xFFFB8,0,0x1C400005 bgtz v0,pos_000FFFD0<br /> 0xFFFC0,0,0x24020004 li v0,0x4<br /> 0xFFFC4,0,0xAC22FF90 sw v0,-0x70(at)<br /> 0xFFFC8,0,0x080B3AC1 j pos_002CEB04<br /> 0xFFFCC,0,0x27BDFFD0 addiu sp,-0x30<br /> 0xFFFD0,0,0x03E00008 jr ra<br /> 0xFFFD4,0,0xAC22FF90 sw v0,-0x70(at)<br /> 0x2CEB00,0x27BDFFD0 ( addiu sp,-0x30 ),0x0803FFE8 j pos_000FFFA0<br /> <br /> |-<br /> | NPED00063 || Grand Theft Auto III ||<br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 90 97 34 00 =....=........4.<br /> 00000010 10 00 00 00 21 00 00 00 01 00 00 00 00 00 00 00 ....!...........<br /> 00000020 53 4C 45 53 2D 35 30 33 33 30 SLES-50330<br /> || 15753 (3.73+) ||<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x01 =&gt; 0x349790, 0x10<br /> 0x21 =&gt; 1<br /> |-<br /> | NPUD20062 || Grand Theft Auto III ||<br /> 00000000 3D 00 00 00 48 3F 00 00 19 00 00 00 01 00 00 00 =...H?..........<br /> 00000010 40 8B 34 00 0F 00 00 00 21 00 00 00 01 00 00 00 @.4.....!.......<br /> 00000020 0B 00 00 00 01 00 00 00 71 6D 0F 00 EC 04 00 00 ........qm......<br /> 00000030 B0 00 00 00 03 E0 00 08 00 00 00 00 3C 01 00 10 ............&lt;...<br /> 00000040 8C 21 FE F0 14 20 00 25 00 00 00 00 27 BD FF 50 .!... .%....'..P<br /> 00000050 08 0B 64 B9 7F BF 00 50 00 00 00 00 34 02 00 03 ..d....P....4...<br /> 00000060 34 01 00 43 10 81 00 15 34 03 00 00 34 01 00 20 4..C....4...4.. <br /> 00000070 10 81 00 12 34 03 00 01 34 01 00 1F 10 81 00 0F ....4...4.......<br /> 00000080 34 03 00 02 34 01 00 1D 10 81 00 0C 34 03 00 03 4...4.......4...<br /> 00000090 34 02 00 02 34 01 00 39 10 81 00 08 34 03 00 04 4...4..9....4...<br /> 000000A0 34 02 00 01 34 01 00 1A 10 81 00 04 34 03 00 05 4...4.......4...<br /> 000000B0 27 BD FE F0 08 0B 1D 05 7F BF 00 90 3C 01 00 10 '...........&lt;...<br /> 000000C0 00 23 18 21 90 79 FE E0 27 39 00 01 03 22 08 2A .#.!.y..'9...&quot;.*<br /> 000000D0 00 01 C8 0A 13 20 FF F6 A0 79 FE E0 03 E0 00 08 ..... ...y......<br /> 000000E0 00 00 00 00 27 BD FE D0 7F BF 00 B0 7F BE 00 A0 ....'...........<br /> 000000F0 7F B7 00 90 7F B6 00 80 7F B5 00 70 7F B4 00 60 ...........p...`<br /> 00000100 7F B3 00 50 7F B2 00 40 7F B1 00 30 7F B0 00 20 ...P...@...0... <br /> 00000110 E7 B7 00 1C E7 B6 00 18 E7 B5 00 14 E7 B4 00 10 ................<br /> 00000120 27 B7 00 F4 46 00 65 06 E7 AC 00 F0 24 07 00 01 '...F.e.....$...<br /> 00000130 46 00 75 86 27 B0 00 F8 46 00 7D 46 E6 ED 00 00 F.u.'...F.}F....<br /> 00000140 3C 02 C4 7A AE 02 00 00 3C 02 44 7A FF A0 00 00 &lt;..z....&lt;.Dz....<br /> 00000150 44 82 60 00 27 A4 00 F0 46 00 6D C6 27 A5 00 C0 D.`.'...F.m.'...<br /> 00000160 27 A6 01 2C 70 00 46 28 70 00 4E 28 70 00 56 28 '..,p.F(p.N(p.V(<br /> 00000170 70 E0 5E 28 0C 0A A8 34 FF A0 00 08 27 B1 00 C8 p.^(...4....'...<br /> 00000180 C6 20 00 00 3C 02 40 00 44 82 08 00 24 07 00 01 . ..&lt;.@.D...$...<br /> 00000190 3C 02 44 7A 0A 00 00 00 07 00 00 00 40 7D 24 00 &lt;.Dz........@}$.<br /> 000001A0 08 00 E0 03 10 00 01 3C 44 7D 24 00 00 00 00 00 .......&lt;D}$.....<br /> 000001B0 08 00 E0 03 48 7D 24 00 00 00 00 00 F0 FE 22 AC ....H}$.......&quot;.<br /> 000001C0 E0 92 2D 00 50 FF BD 27 1A 2B 0D 08 E4 92 2D 00 ..-.P..'.+....-.<br /> 000001D0 50 00 BF 7F 00 00 00 00 10 74 2C 00 F0 FE BD 27 P........t,....'<br /> 000001E0 22 2B 0D 08 14 74 2C 00 90 00 BF 7F 00 00 00 00 &quot;+...t,.........<br /> 000001F0 00 00 00 00 53 4C 55 53 2D 32 30 30 36 32 ....SLUS-20062 <br /> || 16200 (4.10+) ||<br /> 0x3D =&gt; 0x3F48 (16200)<br /> 0x19 =&gt; (sets some value 1)<br /> 0x01 =&gt; 0x348B40, 0xF<br /> 0x21 =&gt; 1<br /> 0x0B =&gt; 1<br /> 0xF6D71, (sector)<br /> 0x4EC, (offset -&gt; 0x7B6B8CE0 in iso)<br /> 0xB0, <br /> 03 E0 00 08 jr ra<br /> 00 00 00 00 nop<br /> 3C 01 00 10 lui at,0x0010<br /> 8C 21 FE F0 lw at,-0x110(at)<br /> 14 20 00 25 bnez at,+0x98<br /> 00 00 00 00 nop<br /> 27 BD FF 50 addiu sp,-0xB0<br /> 08 0B 64 B9 j +0x22C78<br /> 7F BF 00 50 sq ra,0x50(sp)<br /> 00 00 00 00 nop<br /> 34 02 00 03 li v0,0x3<br /> 34 01 00 43 li at,0x43<br /> 10 81 00 15 beq a0,at,+0x5C<br /> 34 03 00 00 li v1,0x0<br /> 34 01 00 20 li at,0x20<br /> 10 81 00 12 beq a0,at,+0x4C<br /> 34 03 00 01 li v1,0x1<br /> 34 01 00 1F li at,0x1F<br /> 10 81 00 0F beq a0,at,+0x3C<br /> 34 03 00 02 li v1,0x2<br /> 34 01 00 1D li at,0x1D<br /> 10 81 00 0C beq a0,at,+0x2C<br /> 34 03 00 03 li v1,0x3<br /> 34 02 00 02 li v0,0x2<br /> 34 01 00 39 li at,0x39<br /> 10 81 00 08 beq a0,at,+0x24<br /> 34 03 00 04 li v1,0x4<br /> 34 02 00 01 li v0,0x1<br /> 34 01 00 1A li at,0x1A<br /> 10 81 00 04 beq a0,at,+0x14<br /> 34 03 00 05 li v1,0x5<br /> 27 BD FE F0 addiu sp,-0x110<br /> 08 0B 1D 05 j +0x10D54<br /> 7F BF 00 90 sq ra,0x90(sp)<br /> 3C 01 00 10 lui at,0x0010<br /> 00 23 18 21 addu v1,at<br /> 90 79 FE E0 lbu t9,-0x120(v1)<br /> 27 39 00 01 addiu t9,0x1<br /> 03 22 08 2A slt at,t9,v0<br /> 00 01 C8 0A movz t9,zero,at<br /> 13 20 FF F6 beqz t9,-0x24<br /> A0 79 FE E0 sb t9,-0x120(v1)<br /> 03 E0 00 08 jr ra<br /> 00 00 00 00 nop<br /> 27 BD FE D0 addiu sp,-0x130<br /> 7F BF 00 B0 sq ra,0xB0(sp)<br /> 7F BE 00 A0 sq fp,0xA0(sp)<br /> 7F B7 00 90 sq s7,0x90(sp)<br /> 7F B6 00 80 sq s6,0x80(sp)<br /> 7F B5 00 70 sq s5,0x70(sp)<br /> 7F B4 00 60 sq s4,0x60(sp)<br /> 7F B3 00 50 sq s3,0x50(sp)<br /> 7F B2 00 40 sq s2,0x40(sp)<br /> 7F B1 00 30 sq s1,0x30(sp)<br /> 7F B0 00 20 sq s0,0x20(sp)<br /> E7 B7 00 1C swc1 f23,0x1C(sp)<br /> E7 B6 00 18 swc1 f22,0x18(sp)<br /> E7 B5 00 14 swc1 f21,0x14(sp)<br /> E7 B4 00 10 swc1 f20,0x10(sp)<br /> 27 B7 00 F4 addiu s7,sp,0xF4<br /> 46 00 65 06 mov.s f20,f12<br /> E7 AC 00 F0 swc1 f12,0xF0(sp)<br /> 24 07 00 01 li a3,0x1<br /> 46 00 75 86 mov.s f22,f14<br /> 27 B0 00 F8 addiu s0,sp,0xF8<br /> 46 00 7D 46 mov.s f21,f15<br /> E6 ED 00 00 swc1 f13,(s7)<br /> 3C 02 C4 7A lui v0,0xC47A<br /> AE 02 00 00 sw v0,(s0)<br /> 3C 02 44 7A lui v0,0x447A<br /> FF A0 00 00 sd zero,(sp)<br /> 44 82 60 00 mtc1 v0,f12<br /> 27 A4 00 F0 addiu a0,sp,0xF0<br /> 46 00 6D C6 mov.s f23,f13<br /> 27 A5 00 C0 addiu a1,sp,0xC0<br /> 27 A6 01 2C addiu a2,sp,0x12C<br /> 70 00 46 28 paddub t0,zero,zero<br /> 70 00 4E 28 paddub t1,zero,zero<br /> 70 00 56 28 paddub t2,zero,zero<br /> 70 E0 5E 28 paddub t3,a3,zero<br /> 0C 0A A8 34 jal -0xC5C4<br /> FF A0 00 08 sd zero,0x8(sp)<br /> 27 B1 00 C8 addiu s1,sp,0xC8<br /> C6 20 00 00 lwc1 f00,(s1)<br /> 3C 02 40 00 lui v0,0x4000<br /> 44 82 08 00 mtc1 v0,f01<br /> 24 07 00 01 li a3,0x1<br /> 3C 02 44 7A lui v0,0x447A<br /> 0x0A =&gt; 7<br /> 0x247D40, 0x03E00008 (jr ra), 0x3C010010 lui at,0x0010<br /> 0x247D44, 0x00000000 (nop), 0x03E00008 jr ra<br /> 0x247D48, 0x00000000 (nop), 0xAC22FEF0 sw v0,-0x110(at)<br /> 0x2D92E0, 0x27BDFF50 (addiu sp,-0xB0), 0x080D2B1A j pos_0034AC68<br /> 0x2D92E4, 0x7FBF0050 (sq ra,0x50(sp)), 0x00000000 nop<br /> 0x2C7410, 0x27BDFEF0 (addiu sp,-0x110), 0x080D2B22 j pos_0034AC88<br /> 0x2C7414, 0x7FBF0090 (sq ra,0x90(sp)), 0x00000000 nop<br /> |-<br /> | NPED00070 || Grand Theft Auto - San Andreas ||<br /> 00000000 3D 00 00 00 60 40 00 00 0F 00 00 00 B0 45 1E 00 =...`@.......E..<br /> 00000010 08 51 1E 00 40 00 00 00 00 00 00 00 53 4C 45 53 .Q..@.......SLES<br /> 00000020 2D 35 32 39 32 37 -52927<br /> || 16480 (4.20+) ||<br /> 0x3D =&gt; 0x4060 (16480)<br /> 0x0F =&gt; 0x1E45B0, 0x1E5108<br /> 0x40 =&gt; (sets some value 1)<br /> |-<br /> | NPUD20946 || Grand Theft Auto - San Andreas ||<br /> 00000000 3D 00 00 00 60 40 00 00 0F 00 00 00 DC 46 1E 00 =...`@.......F..<br /> 00000010 E8 4A 1E 00 40 00 00 00 00 00 00 00 53 4C 55 53 .J..@.......SLUS<br /> 00000020 2D 32 30 39 34 36 -20946<br /> || 16480 (4.20+) ||<br /> 0x3D =&gt; 0x4060 (16480)<br /> 0x0F =&gt; 0x1E46DC, 0x1E4AE8<br /> 0x40 =&gt; (sets some value 1)<br /> |-<br /> | NPJD00062 || Grandia II ||<br /> <br /> || || texture bugs<br /> <br /> |-<br /> | NPUD21604 || GRIMgRiMoiRe ||<br /> 00000000 3D 00 00 00 12 3D 00 00 15 00 00 00 04 00 00 00 =....=..........<br /> || 15634 (3.70+) ||<br /> 0x3D =&gt; 0x3D12 (15634)<br /> 0x15 =&gt; 4<br /> |-<br /> | NPJD00020 || Katamari Damacy ||<br /> 00000000 3D 00 00 00 46 40 00 00 41 00 00 00 0B 00 00 00 =...F@..A.......<br /> 00000010 01 00 00 00 29 04 00 00 40 00 00 00 04 00 00 00 ....)...@.......<br /> 00000020 00 24 77 68 00 00 00 00 00 00 00 00 53 4C 50 53 .$wh........SLPS<br /> 00000030 2D 32 35 33 36 30 -25360<br /> || 16454 (4.20+)||<br /> 0x3D =&gt; 0x4046 (16454)<br /> 0x41 =&gt; (sets some value 1, sync? - speedhack?)<br /> 0x0B =&gt; 1<br /> 0x429, (sector)<br /> 0x40, (offset -&gt; 0x214834 in iso)<br /> 0x04,<br /> 0x68772400 mfsa t6 , <br /> 0x00000000 nop<br /> |-<br /> | NPUD20847 || La Pucelle: Tactics ||<br /> 00000000 3D 00 00 00 DB 3F 00 00 0A 00 00 00 0B 00 00 00 =....?..........<br /> 00000010 40 FA 0F 00 00 00 00 00 0C 01 0A 3C 44 FA 0F 00 @..........&lt;D...<br /> 00000020 00 00 00 00 04 DE 4A 35 48 FA 0F 00 00 00 00 00 ......J5H.......<br /> 00000030 04 00 45 11 4C FA 0F 00 00 00 00 00 00 00 00 00 ..E.L...........<br /> 00000040 50 FA 0F 00 00 00 00 00 10 00 0A 8E 54 FA 0F 00 P...........T...<br /> 00000050 00 00 00 00 9A E2 04 08 58 FA 0F 00 00 00 00 00 ........X.......<br /> 00000060 14 00 0B 8E 5C FA 0F 00 00 00 00 00 9C E2 04 08 ....\...........<br /> 00000070 60 FA 0F 00 00 00 00 00 00 00 00 00 60 8A 13 00 `...........`...<br /> 00000080 10 00 0A 8E 90 FE 03 08 64 8A 13 00 14 00 0B 8E ........d.......<br /> 00000090 00 00 00 00 00 00 00 00 53 4C 55 53 2D 32 30 38 ........SLUS-208<br /> 000000A0 34 37 47 <br /> || 16347 (4.10+) || fixes blackscreen - config rebuild function/opcode from 0x138A60 by rewrite it under 0x100000 offset, and jump to it by j 0x000FFA40 (note: area under 0x100000 is unused in 99% games, but can be freely addressed).<br /> 0x3D =&gt; 0x3FDB (16347)<br /> 0x0A =&gt; 0xB<br /> 0xFFA40,0,0x3C0A010C lui t2, 0x010C<br /> 0xFFA44,0,0x354ADE04 ori t2, 0xDE04<br /> 0xFFA48,0,0x11450004 beq t2, a1, 0x000FFA5C<br /> 0xFFA4C,0,0 nop<br /> 0xFFA50,0,0x8E0A0010 lw t2, 0x10(s0)<br /> 0xFFA54,0,0x0804E29A j 0x00138A68<br /> 0xFFA58,0,0x8E0B0014 lw t3, 0x14(s0)<br /> 0xFFA5C,0,0x0804E29C j 0x00138A70<br /> 0xFFA60,0,0 nop<br /> 0x138A60,0x8E0A0010 (lw t2, 0x10(s0)),0x0803FE90 j 0x000FFA40<br /> 0x138A64,0x8E0B0014 (lw t3, 0x14(s0)),0 (nop)<br /> |-<br /> | NPUD20275 || Kessen II ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0B 00 00 00 03 00 00 00 =....=..........<br /> 00000010 10 76 00 00 BC 07 00 00 10 00 00 00 48 43 88 00 .v..........HC..<br /> 00000020 4B E5 21 AC 30 84 80 00 4B E7 2B 3C 4B E5 21 AC K.!.0...K.+&lt;K.!.<br /> 00000030 30 84 80 00 4B E7 2B 3C 48 43 88 00 64 76 00 00 0...K.+&lt;HC..dv..<br /> 00000040 10 05 00 00 0C 00 00 00 4B C0 10 9C 4B C0 18 DC ........K...K...<br /> 00000050 4A 68 03 BE 4A 68 03 BE 4B C0 10 9C 4B C0 18 DC Jh..Jh..K...K...<br /> 00000060 64 76 00 00 C8 06 00 00 0C 00 00 00 4B C0 10 9C dv..........K...<br /> 00000070 4B C0 18 DC 4A 68 03 BE 4A 68 03 BE 4B C0 10 9C K...Jh..Jh..K...<br /> 00000080 4B C0 18 DC 00 00 00 00 53 4C 55 53 2D 32 30 32 K.......SLUS-202<br /> 00000090 37 35 75 <br /> || 15753 (3.73+) || fixes spickey polygon syndrome problems for characters in cutscenes/selection/..<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0B =&gt; 3<br /> 0x7610, 0x07BC, 0x10, <br /> Patched Bytes:<br /> 0x00884348 00 88 43 48 cfc2 $v1, $17 (cfc2 v1,MACflag)<br /> 0xAC21E54B AC 21 E5 4B cop2 0x1E521AC (vsub.xyzw vf06, vf04, vf05)<br /> 0x00808430 00 80 84 30 andi $a0, 0x8000<br /> 0x3C2BE74B 3C 2B E7 4B cop2 0x1E72B3C (vmove.xyzw, vf07, vf05)<br /> Original Bytes:<br /> 0xAC21E54B AC 21 E5 4B cop2 0x1E521AC (vsub.xyzw vf06, vf04, vf05)<br /> 0x00808430 00 80 84 30 andi $a0, 0x8000<br /> 0x3C2BE74B 3C 2B E7 4B cop2 0x1E72B3C (vmove.xyzw, vf07, vf05)<br /> 0x00884348 00 88 43 48 cfc2 $v1, $17 (cfc2 v1,MACflag)<br /> 0x7664, 0x0510, 0x0C,<br /> Patched Bytes:<br /> 0x9C10C04B 9C 10 C0 4B cop2 0x1C0109C (vmulq.xyz vf02,vf02,Q)<br /> 0xDC18C04B DC 18 C0 4B cop2 0x1C018DC (vmulq.xyz vf03,vf03,Q)<br /> 0xBE03684A BE 03 68 4A cop2 0x6803BE (vrsqrt Q, vf00w, vf08x)<br /> Original Bytes:<br /> 0xBE03684A BE 03 68 4A cop2 0x6803BE (vrsqrt Q, vf00w, vf08x)<br /> 0x9C10C04B 9C 10 C0 4B cop2 0x1C0109C (vmulq.xyz vf02,vf02,Q)<br /> 0xDC18C04B DC 18 C0 4B cop2 0x1C018DC (vmulq.xyz vf03,vf03,Q)<br /> 0x7664, 0x06C8, 0x0C, <br /> Patched Bytes:<br /> 0x9C10C04B 9C 10 C0 4B cop2 0x1C0109C (vmulq.xyz vf02,vf02,Q)<br /> 0xDC18C04B DC 18 C0 4B cop2 0x1C018DC (vmulq.xyz vf03,vf03,Q)<br /> 0xBE03684A BE 03 68 4A cop2 0x6803BE (vrsqrt Q, vf00w, vf08x)<br /> Original Bytes:<br /> 0xBE03684A BE 03 68 4A cop2 0x6803BE (vrsqrt Q, vf00w, vf08x)<br /> 0x9C10C04B 9C 10 C0 4B cop2 0x1C0109C (vmulq.xyz vf02,vf02,Q)<br /> 0xDC18C04B DC 18 C0 4B cop2 0x1C018DC (vmulq.xyz vf03,vf03,Q)<br /> |-<br /> | NPJD00040 || Mana Khemia 2 ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 53 4C 50 4D 2D 35 35 31 ........SLPM-551<br /> 00000020 31 34 14<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> |-<br /> | NPUD20827 || Manhunt ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0A 00 00 00 0F 00 00 00 =....=..........<br /> 00000010 A0 FF 0F 00 00 00 00 00 2D 68 A0 00 A4 FF 0F 00 ........-h......<br /> 00000020 00 00 00 00 14 00 AE 8D A8 FF 0F 00 00 00 00 00 ................<br /> 00000030 10 00 AC 8D AC FF 0F 00 00 00 00 00 50 00 AF 8D ............P...<br /> 00000040 B0 FF 0F 00 00 00 00 00 08 00 8F 15 B4 FF 0F 00 ................<br /> 00000050 00 00 00 00 54 00 AB 8D B8 FF 0F 00 00 00 00 00 ....T...........<br /> 00000060 06 00 CB 15 BC FF 0F 00 00 00 00 00 00 80 8F 25 ...............%<br /> 00000070 C0 FF 0F 00 00 00 00 00 00 80 CE 25 C4 FF 0F 00 ...........%....<br /> 00000080 00 00 00 00 54 00 AE AD C8 FF 0F 00 00 00 00 00 ....T...........<br /> 00000090 50 00 AF AD CC FF 0F 00 00 00 00 00 10 00 AF AD P...............<br /> 000000A0 D0 FF 0F 00 00 00 00 00 14 00 AE AD D4 FF 0F 00 ................<br /> 000000B0 00 00 00 00 04 68 10 08 D8 FF 0F 00 00 00 00 00 .....h..........<br /> 000000C0 5F 00 03 3C 0B 00 00 00 01 00 00 00 22 0D 00 00 _..&lt;........&quot;...<br /> 000000D0 14 01 00 00 08 00 00 00 08 03 FF E8 27 BD FF F0 ............'...<br /> 000000E0 3C 03 00 5F 27 BD FF F0 00 00 00 00 53 4C 55 53 &lt;.._'.......SLUS<br /> 000000F0 2D 32 30 38 32 37 -20827<br /> || 15753 (3.73+) || fixes graphical issues<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0A =&gt; 0x0F<br /> 0xFFFA0,0, 0x00A0682D 2D 68 A0 00 dmove t5,a1<br /> 0xFFFA4,0, 0x8DAE0014 14 00 AE 8D lw t6,0x14(t5)<br /> 0xFFFA8,0, 0x8DAC0010 10 00 AC 8D lw t4,0x10(t5)<br /> 0xFFFAC,0, 0x8DAF0050 50 00 AF 8D lw t7,0x50(t5)<br /> 0xFFFB0,0, 0x158F0008 08 00 8F 15 bne t4,t7,pos_000FFFD4<br /> 0xFFFB4,0, 0x8DAB0054 54 00 AB 8D lw t3,0x54(t5)<br /> 0xFFFB8,0, 0x15CB0006 06 00 CB 15 bne t6,t3,pos_000FFFD4<br /> 0xFFFBC,0, 0x258F8000 00 80 8F 25 addiu t7,t4,-0x8000<br /> 0xFFFC0,0, 0x25CE8000 00 80 CE 25 addiu t6,-0x8000<br /> 0xFFFC4,0, 0xADAE0054 54 00 AE AD sw t6,0x54(t5)<br /> 0xFFFC8,0, 0xADAF0050 50 00 AF AD sw t7,0x50(t5)<br /> 0xFFFCC,0, 0xADAF0010 10 00 AF AD sw t7,0x10(t5)<br /> 0xFFFD0,0, 0xADAE0014 14 00 AE AD sw t6,0x14(t5)<br /> 0xFFFD4,0, 0x08106804 04 68 10 08 j pos_0041A010<br /> 0xFFFD8,0, 0x3C03005F 5F 00 03 3C lui v1,0x005F<br /> 0x0B =&gt; 1<br /> 0xD22, (disc sector)<br /> 0x114, (offset -&gt; 0x691108 in iso)<br /> 0x08,<br /> 0x0803FFE8 E8 FF 03 08 j pos_000FFFA0<br /> 0x27BDFFF0 F0 FF BD 27 addiu sp,-0x10<br /> 0x3C03005F 5F 00 03 3C lui v1,0x005F<br /> 0x27BDFFF0 F0 FF BD 27 addiu sp,-0x10<br /> &lt;pre&gt;<br /> z_un_0041a008:<br /> <br /> lui v1,0x005F &lt;- gets overwritten<br /> addiu sp,-0x10<br /> lw v0,-0x5C14(v1)<br /> sd ra,(sp)<br /> jalr v0<br /> nop <br /> ld ra,(sp)<br /> jr ra<br /> addiu sp,0x10<br /> nop <br /> &lt;/pre&gt;<br /> |-<br /> | NPED00145 || Max Payne ||<br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 F4 E9 52 00 =....=........R.<br /> 00000010 03 00 00 00 01 00 00 00 78 EB 52 00 02 00 00 00 ........x.R.....<br /> 00000020 00 00 00 00 53 4C 45 53 2D 35 30 33 32 35 ....SLES-50325<br /> || 15753 (3.73+) || fixes game hang on first cutscene/cutscenes<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x01 =&gt; 0x52E9F4, 3 (applies to main_p.run ELF on disc: 0x52E9F4 dmove a1,v0 )<br /> 0x01 =&gt; 0x52EB78, 2 (applies to main_p.run ELF on disc: 0x52EB78 lq s1,0x10(sp) )<br /> |-<br /> | NPED00055 || MX World Tour: Featuring Jamie Little ||<br /> <br /> || || blackscreen<br /> <br /> |-<br /> | NPUD21577 || Odin Sphere ||<br /> 00000000 3D 00 00 00 10 3D 00 00 0B 00 00 00 02 00 00 00 =....=..........<br /> 00000010 52 04 00 00 F8 03 00 00 04 00 00 00 2D 02 49 0C R...........-.I.<br /> 00000020 2D 02 49 14 52 04 00 00 70 04 00 00 04 00 00 00 -.I.R...p.......<br /> 00000030 2D 03 49 0C 2D 03 49 14 15 00 00 00 04 00 00 00 -.I.-.I.........<br /> || 15632 (3.70+) ||<br /> 0x3D =&gt; 0x3D10 (15632)<br /> 0x0B =&gt; 2<br /> 0x452, (sector)<br /> 0x3F8, (offset -&gt; 0x2293EC in iso)<br /> 0x04,<br /> 0x0C49022D sltiu v0,t0,0x490C,<br /> 0x1449022D sltiu v0,t0,0x4914,<br /> 0x452, (sector)<br /> 0x470, (offset -&gt; 0x229464 in iso)<br /> 0x04,<br /> 0x0C49032D sltiu v1,t0,0x490C,<br /> 0x1449032D sltiu v1,t0,0x4914<br /> 0x15 =&gt; 4<br /> |-<br /> | NPJD00028 || Phantasy Star Complete Collection ||<br /> 00000000 3D 00 00 00 B8 41 00 00 45 00 00 00 00 00 00 00 =....A..E.......<br /> 00000010 53 4C 50 4D 2D 36 32 37 37 35 SLPM-62775<br /> || 16824 (4.40+)||<br /> 0x3D =&gt; 0x41B8 (16824)<br /> 0x45 =&gt; (sets some value 1)<br /> |-<br /> | NPUC97142 || Primal ||<br /> 00000000 3D 00 00 00 65 3D 00 00 12 00 00 00 0D 00 00 00 =...e=..........<br /> 00000010 00 00 00 04 00 00 00 00 02 00 03 00 5F 01 00 00 ............_...<br /> 00000020 8D BD 6F 2C 67 03 00 00 02 00 03 00 6B 01 00 00 ..o,g.......k...<br /> 00000030 31 35 70 E9 72 03 00 00 03 00 02 00 60 9B 39 10 15p.r.......`.9.<br /> 00000040 18 9C 39 10 0B 00 00 00 01 00 00 00 47 07 00 00 ..9.........G...<br /> 00000050 6C 04 00 00 04 00 00 00 80 5F 03 3C 80 00 03 3C l........_.&lt;...&lt;<br /> || 15717 (3.73+) || fixes loading screen freezing<br /> 0x3D =&gt; 0x3D65 (15717)<br /> 0x12 =&gt; 0x0D, (fixes freezing)<br /> 00 00 00 04 0x04000000 (64 MB?)<br /> 00 00 00 00 <br /> 02 00&gt;'''03 00'''&lt; Count, Type 2<br /> 5F 01 00 00 0x15F<br /> 8D BD 6F 2C 0x2C6FBD8D<br /> 67 03 00 00 0x367<br /> 02 00&gt;'''03 00'''&lt; Count, Type 2<br /> 6B 01 00 00 0x16B<br /> 31 35 70 E9 0xE9703531<br /> 72 03 00 00 0x372<br /> 03 00&gt;'''02 00'''&lt; Count<br /> 60 9B 39 10 -&gt; 0x399B60 ctc2 $zero, $5<br /> 18 9C 39 10 -&gt; 0x399C18 ctc2 $zero, $5<br /> 0x0B =&gt; 1<br /> 0x747, (disc sector)<br /> 0x46C, (offset -&gt; 0x3A3C60 - this patch is for another (hidden) .elf (.vutext) on disc) <br /> 0x04,<br /> 0x3C035F80 lui v1,0x5F80,<br /> 0x3C030080 lui v1,0x0080<br /> |-<br /> | NPUD21120 || Psychonauts ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0B 00 00 00 01 00 00 00 =....=..........<br /> 00000010 12 01 00 00 58 00 00 00 04 00 00 00 00 00 00 00 ....X...........<br /> 00000020 11 CF FF F9 00 00 00 00 53 4C 55 53 2D 32 31 31 ........SLUS-211<br /> 00000030 32 30 20<br /> || 15753 (3.73+) || <br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0B =&gt; 1<br /> 0x112, (sector)<br /> 0x58, (offset -&gt; 0x8904C in iso)<br /> 0x04,<br /> 0x00000000 nop, <br /> 0xF9FFCF11 beq t6,t7,-0x18<br /> |-<br /> | NPUD20272 || Rayman Arena||<br /> 00000000 3D 00 00 00 89 3D 00 00 12 00 00 00 11 00 00 00 =....=..........<br /> 00000010 00 00 00 04 00 00 00 00 02 00 04 00 00 00 00 00 ................<br /> 00000020 AE B3 4E 5D 20 02 00 00 46 02 00 00 03 00 09 00 ..N] ...F.......<br /> 00000030 B0 E9 1D 10 94 EB 1D 10 00 EC 1D 10 54 EC 1D 10 ............T...<br /> 00000040 A0 EE 1D 10 DC EE 1D 10 78 F0 1D 10 B4 F0 1D 10 ........x.......<br /> 00000050 54 F1 1D 10 00 00 00 00 53 4C 55 53 2D 32 30 32 T.......SLUS-202<br /> 00000060 37 32 72 <br /> || 15753 (3.73+) || <br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x12 =&gt; 0x11<br /> 00 00 00 04 <br /> 00 00 00 00 <br /> 02 00&gt;'''04 00'''&lt; Count<br /> 00 00 00 00 <br /> AE B3 4E 5D <br /> 20 02 00 00 <br /> 46 02 00 00 <br /> 03 00&gt;'''09 00'''&lt; Count<br /> B0 E9 1D 10 -&gt; 0x1DE9B0 ctc2 $t0, $6<br /> 94 EB 1D 10 -&gt; 0x1DEB94 ctc2 $t0, $6<br /> 00 EC 1D 10 -&gt; 0x1DEC00 ctc2 $t0, $6<br /> 54 EC 1D 10 -&gt; 0x1DEC54 ctc2 $t0, $6<br /> A0 EE 1D 10 -&gt; 0x1DEEA0 ctc2 $t0, $6<br /> DC EE 1D 10 -&gt; 0x1DEEDC ctc2 $t0, $6<br /> 78 F0 1D 10 -&gt; 0x1DF078 ctc2 $t0, $6<br /> B4 F0 1D 10 -&gt; 0x1DF0B4 ctc2 $t0, $6<br /> 54 F1 1D 10 -&gt; 0x1DF154 ctc2 $t0, $6<br /> |-<br /> | NPJD00079 || Raw Danger! ||<br /> <br /> || || fps problem<br /> <br /> |-<br /> | NPUD20442 || Red Faction 2 ||<br /> 00000000 3D 00 00 00 42 3F 00 00 19 00 00 00 00 00 00 00 =...B?..........<br /> 00000010 53 4C 55 53 2D 32 30 34 34 32 SLUS-20442<br /> || 16194 (4.00+) || <br /> 0x3D =&gt; 0x3F42 (16194)<br /> 0x19 =&gt; (sets some value 1)<br /> |-<br /> | NPUD20471 || Rygar ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0E 00 00 00 A8 7D 14 00 =....=.......}..<br /> 00000010 00 00 00 00 53 4C 55 53 2D 32 30 34 37 31 ....SLUS-20471<br /> || 15753 (3.73+) || fixes hard crash at start when leaving the place<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0E =&gt; 0x147DA8 (offset)<br /> <br /> .text:00147DA8 sub.s $f12, $f20, $f12<br /> |-<br /> | NPUD20974 || Shin Megami Tensei Digital Devil Saga 1|| <br /> 00000000 3D 00 00 00 EC 42 00 00 46 00 00 00 48 00 00 00 =....B..F...H...<br /> 00000010 01 00 00 00 90 D0 03 00 00 00 00 00 53 4C 55 53 ............SLUS<br /> 00000020 2D 32 30 39 37 34 -20974<br /> || 17132 (4.50+) || fixes screen shakes/framerate cracks<br /> 0x3D =&gt; 0x42EC (17132)<br /> 0x46 =&gt; (sets some value 1)<br /> 0x48 =&gt; 0x1 , 0x3D090<br /> |-<br /> | NPUD20911 || Shin Megami Tensei Nocturne || <br /> 00000000 3D 00 00 00 F6 41 00 00 46 00 00 00 00 00 00 00 =....A..F.......<br /> 00000010 53 4C 55 53 2D 32 30 39 31 31 SLUS-20911<br /> || 16886 (4.40+) || fixes screen shakes/flickers (and much more importantly, game crashes)<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x46 =&gt; (sets some value 1)<br /> |-<br /> | NPUD21621 || Shin Megami Tensei Persona 3 FES ||<br /> 00000000 3D 00 00 00 48 41 00 00 0A 00 00 00 20 00 00 00 =...HA...... ...<br /> 00000010 00 FA 0F 00 00 00 00 00 E0 00 A4 8F 04 FA 0F 00 .·......Ó.ñÅ.·..<br /> 00000020 00 00 00 00 6C 01 03 24 08 FA 0F 00 00 00 00 00 ....l..$.·......<br /> 00000030 0A 00 83 14 0C FA 0F 00 00 00 00 00 FF 00 04 24 ..â..·...... ..$<br /> 00000040 10 FA 0F 00 00 00 00 00 B8 26 04 00 14 FA 0F 00 .·......©&amp;...·..<br /> 00000050 00 00 00 00 27 20 84 00 18 FA 0F 00 00 00 00 00 ....' ä..·......<br /> 00000060 D0 00 A3 DF 1C FA 0F 00 00 00 00 00 24 18 83 00 ð.ú¯.·......$.â.<br /> 00000070 20 FA 0F 00 00 00 00 00 0B 00 63 64 24 FA 0F 00 ·........cd$·..<br /> 00000080 00 00 00 00 33 00 04 24 28 FA 0F 00 00 00 00 00 ....3..$(·......<br /> 00000090 B8 26 04 00 2C FA 0F 00 00 00 00 00 25 18 83 00 ©&amp;..,·......%.â.<br /> 000000A0 30 FA 0F 00 00 00 00 00 D0 00 A3 FF 34 FA 0F 00 0·......ð.ú 4·..<br /> 000000B0 00 00 00 00 E1 B3 11 08 38 FA 0F 00 00 00 00 00 ....ߦ..8·......<br /> 000000C0 50 00 64 8E 7C CF 46 00 50 00 64 8E 80 FE 03 08 P.dÄ|¤F.P.dÄǦ..<br /> 000000D0 40 FA 0F 00 00 00 00 00 00 3C 04 3C 44 FA 0F 00 @·.......&lt;.&lt;D·..<br /> 000000E0 00 00 00 00 18 3F 05 3C 48 FA 0F 00 00 00 00 00 .....?.&lt;H·......<br /> 000000F0 20 00 24 AE 4C FA 0F 00 00 00 00 00 24 00 24 AE .$«L·......$.$«<br /> 00000100 50 FA 0F 00 00 00 00 00 60 00 25 AE 54 FA 0F 00 P·......`.%«T·..<br /> 00000110 00 00 00 00 64 00 24 AE 58 FA 0F 00 00 00 00 00 ....d.$«X·......<br /> 00000120 A0 00 24 AE 5C FA 0F 00 00 00 00 00 A4 00 25 AE á.$«\·......ñ.%«<br /> 00000130 60 FA 0F 00 00 00 00 00 E0 00 25 AE 64 FA 0F 00 `·......Ó.%«d·..<br /> 00000140 00 00 00 00 E4 00 25 AE 68 FA 0F 00 00 00 00 00 ....õ.%«h·......<br /> 00000150 04 00 04 24 6C FA 0F 00 00 00 00 00 39 9B 10 08 ...$l·......9ø..<br /> 00000160 70 FA 0F 00 00 00 00 00 10 00 25 26 DC 6C 42 00 p·........%&amp;_lB.<br /> 00000170 04 00 04 24 90 FE 03 08 E0 6C 42 00 10 00 25 26 ...$ɦ..ÓlB...%&amp;<br /> 00000180 00 00 00 00 30 6A 4C 00 80 3F 02 3C 7F 3F 02 3C ....0jL.Ç?.&lt;?.&lt;<br /> 00000190 21 00 00 00 00 00 00 00 15 00 00 00 04 00 00 00 !...............<br /> 000001A0 00 00 00 00 53 4C 55 53 2D 32 31 36 32 31 ....SLUS-21621<br /> || 16712 (4.25+)||<br /> 0x3D =&gt; 0x4148 (16712)<br /> 0x0A =&gt; 0x20<br /> 0xFFA00,0,0x8FA400E0 lw a0,0xE0(sp)<br /> 0xFFA04,0,0x2403016C li v1,0x16C<br /> 0xFFA08,0,0x1483000A bne a0,v1,pos_000FFA34<br /> 0xFFA0C,0,0x240400FF li a0,0xFF<br /> 0xFFA10,0,0x000426B8 dsll a0,0x1A<br /> 0xFFA14,0,0x00842027 nor a0,a0<br /> 0xFFA18,0,0xDFA300D0 ld v1,0xD0(sp)<br /> 0xFFA1C,0,0x00831824 and v1,a0,v1<br /> 0xFFA20,0,0x6463000B daddiu v1,0x000B<br /> 0xFFA24,0,0x24040030 li a0,0x30<br /> 0xFFA28,0,0x000426B8 dsll a0,0x1A<br /> 0xFFA2C,0,0x00831825 or v1,a0,v1<br /> 0xFFA30,0,0xFFA300D0 sd v1,0xD0(sp)<br /> 0xFFA34,0,0x0811B3E1 j pos_0046CF84<br /> 0xFFA38,0,0x8E640050 lw a0,0x50(s3)<br /> 0x46CF7C,0x8E640050 (lw a0,0x50(s3),0x0803FE80 j pos_000FFA00<br /> 0xFFA40,0,0x3C043C00 lui a0,0x3C00<br /> 0xFFA44,0,0x3C053F18 lui a1,0x3F18<br /> 0xFFA48,0,0xAE240020 sw a0,0x20(s1)<br /> 0xFFA4C,0,0xAE240024 sw a0,0x24(s1)<br /> 0xFFA50,0,0xAE250060 sw a1,0x60(s1)<br /> 0xFFA54,0,0xAE240064 sw a0,0x64(s1)<br /> 0xFFA58,0,0xAE2400A0 sw a0,0xA0(s1)<br /> 0xFFA5C,0,0xAE2500A4 sw a1,0xA4(s1)<br /> 0xFFA60,0,0xAE2500E0 sw a1,0xE0(s1)<br /> 0xFFA64,0,0xAE2500E4 sw a1,0xE4(s1)<br /> 0xFFA68,0,0x24040004 li a0,0x4<br /> 0xFFA6C,0,0x08109B39 j pos_00426CE4<br /> 0xFFA70,0,0x26250010 addiu a1,s1,0x10<br /> 0x426CDC,0x24040004(li a0,0x4),0x0803FE90 j pos_000FFA40<br /> 0x426CE0,0x26250010(addiu a1,s1,0x10),0 nop<br /> 0x4C6A30,0x3C023F80(lui v0,0x3F80),0x3C023F7F lui v0,0x3F7F<br /> 0x21 =&gt; 0<br /> 0x15 =&gt; 4<br /> |-<br /> | NPUD21782 || Shin Megami Tensei Persona 4 || <br /> 00000000 3D 00 00 00 89 3D 00 00 0A 00 00 00 01 00 00 00 =....=..........<br /> 00000010 60 9C 18 00 80 3F 02 3C 7F 3F 02 3C 00 00 00 00 `....?.&lt;.?.&lt;....<br /> 00000020 53 4C 55 53 2D 32 31 37 38 32 SLUS-21782<br /> || 15753 (3.73+) || Dungeon name in the corner is glitched (shows black bar).<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0A =&gt; 1<br /> 0x189C60, 0x3C023F80 lui v0,0x3F80 <br /> 0x3C023F7F lui v0,0x3F7F<br /> |-<br /> | NPUC97355 || Siren ||<br /> 00000000 3D 00 00 00 15 41 00 00 19 00 00 00 00 00 00 00 =....A..........<br /> 00000010 53 43 55 53 2D 39 37 33 35 35 SCUS-97355<br /> || 16661 (4.25+)|| <br /> 0x3D =&gt; 0x4115 (16661)<br /> 0x19 =&gt; (sets some value 1)<br /> |-<br /> | NPED00272 || Summoner ||<br /> 00000000 3D 00 00 00 89 3D 00 00 2C 00 00 00 01 00 00 00 =....=..,.......<br /> 00000010 00 00 00 00 53 4C 45 53 2D 38 32 30 30 35 ....SLES-82005 <br /> || 15753 (3.73+) || fixes blackscreen<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x2C =&gt; 0x1<br /> |-<br /> | NPUC97264 || Syphon Filter The Omega Strain || <br /> 00000000 3D 00 00 00 1F 40 00 00 12 00 00 00 05 00 00 00 =....@..........<br /> 00000010 00 00 00 00 00 00 00 00 01 00 02 00 31 00 99 18 ............1...<br /> 00000020 32 00 B6 18 0B 00 00 00 01 00 00 00 F5 05 00 00 2...............<br /> 00000030 8C 02 00 00 04 00 00 00 00 00 00 00 0C 0D C1 54 ...............T<br /> 00000040 0A 00 00 00 0B 00 00 00 F8 35 37 00 1B 52 06 4B .........57..R.K<br /> 00000050 00 80 43 48 FC 35 37 00 00 80 43 48 1B 52 06 4B ..CH.57...CH.R.K<br /> 00000060 EC 6F 3A 00 00 00 00 00 00 00 11 64 F8 6F 3A 00 .o:........d.o:.<br /> 00000070 78 A1 0E 0C 80 FE 03 0C 00 FA 0F 00 00 00 00 00 x...............<br /> 00000080 02 00 08 3C 04 FA 0F 00 00 00 00 00 2B 40 28 02 ...&lt;........+@(.<br /> 00000090 08 FA 0F 00 00 00 00 00 02 00 00 15 0C FA 0F 00 ................<br /> 000000A0 00 00 00 00 54 00 01 3C 10 FA 0F 00 00 00 00 00 ....T..&lt;........<br /> 000000B0 00 28 20 AC 14 FA 0F 00 00 00 00 00 78 A1 0E 08 .( .........x...<br /> 000000C0 18 FA 0F 00 00 00 00 00 01 00 31 26 00 00 00 00 ..........1&amp;....<br /> 000000D0 53 43 55 53 2D 39 37 32 36 34 SCUS-97264<br /> || 16415 (4.20+)|| fixes texture bugs<br /> 0x3D =&gt; 0x401F (16415)<br /> 0x12 =&gt; 0x5 <br /> 00 00 00 00 <br /> 00 00 00 00 <br /> 01 00&gt;'''02 00'''&lt; Count<br /> 31 00 99 18 -&gt; 0x18990<br /> 32 00 B6 18 -&gt; 0x18B60<br /> 0x0B =&gt; 1<br /> 0x5F5, (sector)<br /> 0x28C, (offset -&gt; 0x2FAA80 in iso)<br /> 0x04,<br /> 0x00000000 (nop), <br /> 0x54C10D0C (jal sub_370550)<br /> 0x0A =&gt; 0xB<br /> 0x3735F8, 0x4B06521B (cop2 0x106521B, vmulw.x vf08,vf10,vf06w), 0x48438000 cfc2 v1,Status<br /> 0x3735FC, 0x48438000 (cfc2 v1,Status), 0x4B06521B cop2 0x106521B (vmulw.x vf08,vf10,vf06w)<br /> 0x3A6FEC, 0 (nop), 0x64110000 li $s1, 0<br /> 0x3A6FF8, 0x0C0EA178 (jal pos_003A85E0), 0x0c03FE80 jal pos_000FFA00<br /> 0xFFA00, 0 (nop), 0x3C080002 lui t0,0x0002<br /> 0xFFA04, 0 (nop), 0x0228402B sltu t0,s1,t0<br /> 0xFFA08, 0 (nop), 0x15000002 bnez t0,pos_000FFA14<br /> 0xFFA0C, 0 (nop), 0x3C010054 lui at,0x0054<br /> 0xFFA10, 0 (nop), 0xAC202800 sw zero,0x2800(at)<br /> 0xFFA14, 0 (nop), 0x080EA178 j pos_003A85E0<br /> 0xFFA18, 0 (nop), 0x26310001 addiu s1,0x1<br /> |-<br /> | NPJD00080 || Zettaizetsumei Toshi (Disaster Report) ||<br /> 00000000 3D 00 00 00 26 44 00 00 44 00 00 00 00 00 00 00 =...&amp;D..D.......<br /> 00000010 53 4C 50 53 2D 32 35 31 31 33 SLPS-25113<br /> || 17446 (4.78)|| <br /> 0x3D =&gt; 0x4426 (17446)<br /> 0x44 =&gt; (disables smoothing and smoothing option)<br /> |}<br /> <br /> ====Unofficial====<br /> {| class=&quot;wikitable sortable&quot; style=&quot;width: 1920px;&quot; | <br /> |-<br /> ! style=&quot;width: 10px;&quot; | ID !! Title !! style=&quot;width: 600px;&quot; | Config Data !! Revision !! Notes<br /> |-<br /> | ALL || .hack\\infection Part 1 || <br /> 00000000 3D 00 00 00 89 3D 00 00 08 00 00 00 FF FF FF FF =....=..........<br /> 00000010 FF FF FF FF 8D 94 11 01 FC 0E 00 80 FF FF FF FF ................<br /> 00000020 FF FF FF FF 8D 94 11 01 03 02 03 10 08 00 00 00 ................<br /> 00000030 FF FF FF FF FF FF FF FF 40 A7 E0 01 3C 03 00 80 ........@...&lt;...<br /> 00000040 FF FF FF FF FF FF FF FF 40 A7 E1 01 FC 1E 00 80 ........@.......<br /> 00000050 00 00 00 00 ....<br /> || 15753 (3.73+) || fix freeze<br /> <br /> |-<br /> | SLUS-21268 || 24 The Game ||<br /> 00000000 3D 00 00 00 65 3D 00 00 12 00 00 00 0D 00 00 00 =...e=..........<br /> 00000010 00 00 00 04 00 00 00 00 02 00 03 00 E7 00 00 00 ................<br /> 00000020 45 AD 6E AA EF 02 00 00 02 00 03 00 F3 00 00 00 E.n.............<br /> 00000030 E4 A0 6E 47 FA 02 00 00 03 00 02 00 B0 55 41 10 ..nG.........UA.<br /> 00000040 68 56 41 10 00 00 00 00 hVA..... <br /> <br /> || 15717 (3.73+) || fixes loading screen freezing<br /> 0x3D =&gt; 0x3D65 (15717)<br /> 0x12 =&gt; 0x0D, <br /> 00 00 00 04 <br /> 00 00 00 00 <br /> 02 00&gt;'''03 00'''&lt; Count, Type 2<br /> E7 00 00 00 <br /> 45 AD 6E AA <br /> EF 02 00 00 <br /> 02 00&gt;'''03 00'''&lt; Count, Type 2<br /> F3 00 00 00 <br /> E4 A0 6E 47 <br /> FA 02 00 00 <br /> 03 00&gt;'''02 00'''&lt; Count, Type 3<br /> B0 55 41 10 -&gt; 0x4155B0<br /> 68 56 41 10 -&gt; 0x415668 <br /> <br /> |-<br /> | SCES-50885 || Ape Escape 2 || <br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 01 00 00 00 =...WD..........<br /> 00000010 E0 E0 34 00 16 00 40 14 00 00 00 00 00 00 00 00 ŕŕ4...@.........<br /> || 17495 (4.78+) || Force game to not create Mipmaps. Fix flickering textures completely. <br /> <br /> |-<br /> | SLUS-21165 || Arc the Lad End of Darkness ||<br /> 00000000 3D 00 00 00 60 40 00 00 0F 00 00 00 B8 DD 26 00 =...`@........&amp;.<br /> 00000010 AC FE 26 00 00 00 00 00 ..&amp;..... <br /> || 15634 (3.70+) || fixes not displaying/freezing dialogs<br /> 0x3D =&gt; 0x3D12 (15634)<br /> 0x0F =&gt; 0x26DDB8, 0x26FEAC<br /> |-<br /> | SLUS-21445 || Ar Tonelico - Melody of Elemia ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> |-<br /> | SLUS-21788 || Ar tonelico II - Melody of Metafalica ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | || Atelier Iris ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | || Atelier Iris 2 ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | || Atelier Iris 3 ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | SLES-50672/SLUS-20035 || Baldur's Gate - Dark Alliance || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly (see: [https://www.dropbox.com/s/92n81uot56czb5v/Datei%2018.08.17%2011%2011%2029.jpeg?dl=0] )<br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> |-<br /> | || Baldur's Gate 2 || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | || Bard's Tale || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | SLES-51044 / SLES-52968 || Burnout 2: POI || <br /> 00000000 3D 00 00 00 46 40 00 00 0A 00 00 00 05 00 00 00 =...F@..........<br /> 00000010 B8 85 24 00 18 0D 80 C6 16 43 01 3C CC 85 24 00 ¸…$...€Ć.C.&lt;Ě…$.<br /> 00000020 00 00 40 E4 00 00 41 AC 04 26 26 00 80 97 80 C7 ..@ä..A¬.&amp;&amp;.€—€Ç<br /> 00000030 16 43 01 3C 18 26 26 00 00 00 40 E4 00 00 41 AC .C.&lt;.&amp;&amp;...@ä..A¬<br /> 00000040 B8 64 25 00 64 97 82 8F 00 00 02 24 00 00 00 00 ¸d%.d—‚Ź...$....<br /> || 16454 ||<br /> Fixes all white rendered textures/shadows (Big thanks to Maori-Jigglypuff for patch code! )<br /> 0x3D =&gt; 0x4046 (16454)<br /> 0x0A =&gt; 0x5 (5 Patches to EE memory)<br /> // Remove the whitish Car-Parts from the Racer Cars<br /> // [Control Address and Value: 2039917C 43160000]<br /> 0x2485B8, 0xC6800D18 (lwc1 $f0, 0xD18(s4)), 0x3C014316 (lui at, 0x4316)<br /> 0x2485СС, 0xE4400000 (swc1 $f0, 0(v0)), 0xAC410000 (sw at, 0(v0))<br /> <br /> // Remove the whitish Car-Parts from the Traffic Cars<br /> 0x262604, 0xC7809780 (lwc1 $f0, 0x9780(gp)), 0x3C014316 (lui at, 0x4316)<br /> 0x262618, 0xE4400000 (swc1 $f0, 0(v0)), 0xAC410000 (sw at, 0(v0))<br /> <br /> // Remove whitish Reflections on Anything!!!<br /> // (on Buildings, Bridges, Streets)<br /> 0x2564B8, 0x8F829764 (lw v0, 0x9764(gp)), 0x24020000 (li v0, 0)<br /> <br /> |-<br /> | SLUS-20497 || Burnout 2: POI || <br /> 00000000 3D 00 00 00 46 40 00 00 0A 00 00 00 05 00 00 00<br /> 00000010 A8 85 24 00 18 0D 80 C6 16 43 01 3C BC 85 24 00<br /> 00000020 00 00 40 E4 00 00 41 AC F4 25 26 00 80 97 80 C7<br /> 00000030 16 43 01 3C 08 26 26 00 00 00 40 E4 00 00 41 AC<br /> 00000040 A8 64 25 00 64 97 82 8F 00 00 02 24 00 00 00 00<br /> || 16454 ||<br /> Fixes all white rendered textures/shadows (Big thanks to Maori-Jigglypuff for patch code! )<br /> 0x3D =&gt; 0x4046 (16454)<br /> 0x0A =&gt; 0x5 (5 Patches to EE memory)<br /> // Remove the whitish Car-Parts from the Racer Cars<br /> // [Control Address and Value: 2039917C 43160000]<br /> 0x2485A8, 0xC6800D18 (lwc1 $f0, 0xD18(s4)), 0x3C014316 (lui at, 0x4316)<br /> 0x2485bc, 0xE4400000 (swc1 $f0, 0(v0)), 0xAC410000 (sw at, 0(v0))<br /> <br /> // Remove the whitish Car-Parts from the Traffic Cars<br /> 0x2625F4, 0xC7809780 (lwc1 $f0, 0x9780(gp)), 0x3C014316 (lui at, 0x4316)<br /> 0x262608, 0xE4400000 (swc1 $f0, 0(v0)), 0xAC410000 (sw at, 0(v0))<br /> <br /> // Remove whitish Reflections on Anything!!!<br /> // (on Buildings, Bridges, Streets)<br /> 0x2564A8, 0x8F829764 (lw v0, 0x9764(gp)), 0x24020000 (li v0, 0)<br /> <br /> |-<br /> | SLUS-21168/SLES-53755/SLPM-66175/SLKA-25328 || Castlevania: Curse of Darkness ||<br /> 00000000 3D 00 00 00 89 3D 00 00 08 00 00 00 00 00 00 80 =....=..........<br /> 00000010 FF FF FF FF 00 00 00 80 00 80 FF FF 00 00 00 80 ................<br /> 00000020 FF FF FF FF 00 00 00 80 01 80 FF FF 00 00 00 00 ................<br /> || || fixes Graphic issues with Spiky Polygons (PCSX2 workaround VU clamping mode none) <br /> <br /> |-<br /> | || Champions of Norath || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | || Champions Return to Arms || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | SLUS-21574 || Dawn of Mana || <br /> 00000000 3D 00 00 00 65 3D 00 00 12 00 00 00 04 00 00 00 =...e=..........<br /> 00000010 00 00 00 00 00 00 00 00 01 00 01 00 0C 00 DF 0D ................<br /> 00000020 00 00 00 00 ....<br /> || 15717 (3.70+) ||<br /> fix? (untested)<br /> 0x3D =&gt; 0x3D65 (15717)<br /> 0x12 =&gt; 0x04, <br /> 00 00 00 00 <br /> 00 00 00 00 <br /> 01 00&gt;01 00&lt; Count, Type 1<br /> 0C 00 DF 0D <br /> <br /> |-<br /> | SCUS-97146 || Disney's Treasure Planet ||<br /> 00000000 3D 00 00 00 F0 42 00 00 0B 00 00 00 01 00 00 00 =...đB..........<br /> 00000010 7C 14 00 00 80 05 00 00 18 00 00 00 3C 01 01 00 |...€.......&lt;...<br /> 00000020 3C 03 BF 80 8C 63 10 C8 00 61 18 24 10 61 FF FB &lt;.ż€Śc.Č.a.$.a˙ű<br /> 00000030 00 00 00 00 24 01 FF FF 14 61 00 04 3C 01 80 00 ....$.˙˙.a..&lt;.€.<br /> 00000040 14 41 00 02 00 00 00 00 00 06 00 0D 00 00 00 00 .A..............<br /> <br /> || 17136 (4.50+) || Fixes black screen at start, it apply to STREAM_D.IRX file in IOP folder. Patch is very weird because it apply to bad offset (should be 0x574), but if applied to correct one then game error with &quot;invalid tp2 file&quot;<br /> <br /> 0x3D =&gt; 0x42F0 (17136)<br /> 0x0B =&gt; 1<br /> 0x147C, (sector)<br /> 0x580, (offset)<br /> 0x18 (bytes to replace), <br /> <br /> <br /> Replaced opcodes<br /> 00 01 01 3C lui at,0x0100<br /> 80 BF 03 3C lui v1,0xBF80<br /> C8 10 63 8C lw v1,0x10C8(v1)<br /> 24 18 61 00 and v1,at<br /> FB FF 61 10 beq v1,at, -0x10<br /> 00 00 00 00 nop <br /> <br /> Original opcodes<br /> FF FF 01 24 li at,-0x1<br /> 04 00 61 14 bne at,v1, +0x14<br /> 00 80 01 3C lui at,0x8000<br /> 02 00 41 14 bne at,v0, +0x0C<br /> 00 00 00 00 nop <br /> 0D 00 06 00 break <br /> <br /> |-<br /> | ALL || Dynasty Warriors 3/Dynasty Warriors 3 Xtreme Legends ||<br /> 00000000 3D 00 00 00 89 3D 00 00 35 00 00 00 00 00 00 00 =...‰=..5.......<br /> || 15753 (3.73+) || <br /> fix blackscreen<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x35 =&gt; (enable Force Flip Field)<br /> <br /> |-<br /> | SLES-53539 || Fahrenheit || <br /> 00000000 3D 00 00 00 F6 41 00 00 40 00 00 00 00 00 00 00 =....A..@.......<br /> Alternative<br /> 00000000 3D 00 00 00 89 3D 00 00 2F 00 00 00 01 00 00 00 =....=../.......<br /> 00000010 00 00 00 00 ....<br /> || 16886 (4.40+) / ||<br /> fixes freeze after Lucas' apartment<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x40 =&gt; (sets some value 1)<br /> <br /> |-<br /> | || Fallout || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | SLUS-20658 SLES-51467 SLPM-65548 SLPM-65803 || Freedom Fighters ||<br /> 00000000 3D 00 00 00 65 3D 00 00 1F 00 00 00 E8 03 00 00 =...e=......č...<br /> 00000010 00 00 00 00 .... <br /> || 15717 (3.70+) ||<br /> fix freeze when you get control at start<br /> 3D =&gt; 0x3D17 (15717)<br /> 0x1F =&gt; 0x3E8 (sets something 3E8 - 1000 in decimal)<br /> <br /> |-<br /> | SLUS-21702 || Fire Pro Wrestling Returns || <br /> 00000000 3D 00 00 00 F6 41 00 00 03 00 00 00 00 00 00 00 =....A..@.......<br /> || 16886 (4.40+) ||<br /> fixes interlaced artifacts<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x03 =&gt; (sets some value 0)<br /> <br /> |-<br /> | SLES-52065 || Flipnic || <br /> 00000000 3D 00 00 00 57 44 00 00 46 00 00 00 47 00 00 00 =...WD..F...G...<br /> 00000010 00 00 00 00 ....<br /> || 17495 (4.78+) || Remove horizontal lines at full screen, and reducing screen shakes little bit<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x46 =&gt; Enable L2H Improvement<br /> 0x47 =&gt; Enable XOR CSR<br /> <br /> |-<br /> | SCES-53851 || Forbidden Siren 2 ||<br /> 00000000 3D 00 00 00 F6 41 00 00 0A 00 00 00 02 00 00 00 =....A..........<br /> 00000010 44 2B 2E 00 FF 49 C9 4B 00 90 44 48 4C 2B 2E 00 D+...I.K..DHL+..<br /> 00000020 00 90 44 48 FF 49 C9 4B 00 00 00 00 ..DH.I.K.... <br /> || 16886 (4.40+) || Graphic issues with Spiky Polygons<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x0A =&gt; 0x2<br /> 0x2E2B44, 0x4BC949FF (vclip vf09xyz, vf09w), 0x48449000 (cfc2 $a1, $18)<br /> 0x2E2B4C, 0x48449000 (cfc2 $a1, $18), 0x4BC949FF (vclip vf09xyz, vf09w)<br /> <br /> |-<br /> | SLUS-20343 || Forever Kingdom || <br /> 00000000 3D 00 00 00 46 40 00 00 26 00 00 00 00 DC 21 00 =...F@..&amp;....Ü!.<br /> 00000010 00 DD 21 00 00 00 00 00 .Ý!.....<br /> || 16454 ||<br /> Fix for bridge that can't be crossed after opening.<br /> 0x3D =&gt; 0x4046 (16454)<br /> 0x26 =&gt; 0x21DC00, 0x21DD00<br /> <br /> |-<br /> | SLUS-20993 || Ghosthunter || <br /> 00000000 3D 00 00 00 57 44 00 00 0E 00 00 00 84 2B 29 00 =...WD......„+).<br /> 00000010 0B 00 00 00 01 00 00 00 A7 06 00 00 98 02 00 00 ........§.......<br /> 00000020 14 00 00 00 4A 00 02 FF 48 45 88 00 4B E0 19 BF ....J..˙HE..Kŕ.ż<br /> 00000030 4B EA 48 BC 4B EA 18 8C 4B E0 19 BF 4B EA 48 BC KęHĽKę.ŚKŕ.żKęHĽ<br /> 00000040 4B EA 18 8C 4A 00 02 FF 48 45 88 00 00 00 00 00 Kę.ŚJ..˙HE......<br /> || 17495 (4.78+) ||<br /> fixes random minor flickering, and ladder bug (see: [https://www.youtube.com/watch?v=WbJzzMYQLI0] )<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x0E =&gt; 0x292B84 (Improve floating point subtract accuracy)<br /> 0x0B =&gt; Disc patch for hidden elf<br /> |-<br /> | SLES-54317 || Ghost Rider || <br /> 00000000 3D 00 00 00 F6 41 00 00 40 00 00 00 00 00 00 00 =....A..@.......<br /> || 16886 (4.40+) ||<br /> texture fix: white overblending ingame<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x40 =&gt; (sets some value 1)<br /> <br /> |-<br /> | SLUS-20552 || Grand Theft Auto - Vice City ||<br /> 00000000 3D 00 00 00 A5 41 00 00 21 00 00 00 01 00 00 00 =...¥A..!.......<br /> 00000010 0A 00 00 00 0D 00 00 00 A0 FF 0F 00 00 00 00 00 ........ ÿ......<br /> 00000020 17 00 01 24 A4 FF 0F 00 00 00 00 00 08 00 24 14 ...$¤ÿ........$.<br /> 00000030 AC FF 0F 00 00 00 00 00 10 00 01 3C B0 FF 0F 00 ¬ÿ.........&lt;°ÿ..<br /> 00000040 00 00 00 00 90 FF 22 8C B4 FF 0F 00 00 00 00 00 .....ÿ&quot;Œ´ÿ......<br /> 00000050 FF FF 42 24 B8 FF 0F 00 00 00 00 00 05 00 40 1C ÿÿB$¸ÿ........@.<br /> 00000060 C0 FF 0F 00 00 00 00 00 04 00 02 24 C4 FF 0F 00 Àÿ.........$Äÿ..<br /> 00000070 00 00 00 00 90 FF 22 AC C8 FF 0F 00 00 00 00 00 .....ÿ&quot;¬Èÿ......<br /> 00000080 21 1D 0B 08 CC FF 0F 00 00 00 00 00 D0 FF BD 27 !...Ìÿ......Ðÿ½'<br /> 00000090 D0 FF 0F 00 00 00 00 00 08 00 E0 03 D4 FF 0F 00 Ðÿ........à.Ôÿ..<br /> 000000A0 00 00 00 00 90 FF 22 AC 80 74 2C 00 D0 FF BD 27 .....ÿ&quot;¬€t,.Ðÿ½'<br /> 000000B0 E8 FF 03 08 00 00 00 00 53 4C 55 53 2D 32 30 35 èÿ......SLUS-205<br /> 000000C0 35 32 52<br /> || 16805 (4.30+) ||<br /> backport of the official config above (disc version 3.00) for the original release<br /> (disc version 1.40). it patches a particle related function when type is 0x17.<br /> 0x0A =&gt; 0x2CEB00 to 0x2C7480<br /> 0x0A =&gt; 0x080B3AC1 to 0x080B1D21 (j pos_002C7484)<br /> <br /> |-<br /> | SLUS-20758 || Growlanser Generations || <br /> 00000000 3D 00 00 00 89 3D 00 00 2C 00 00 00 72 01 00 00 =....=..,...r...<br /> 00000010 0B 00 00 00 01 00 00 00 F8 03 00 00 7C 05 00 00 ............|...<br /> 00000020 04 00 00 00 00 00 00 00 10 40 FF FC 00 00 00 00 .........@......<br /> 00000030 53 4C 55 53 2D 32 30 37 35 38 SLUS-20758 <br /> || 15753 (3.73+) ||<br /> fix menu freeze? (untested)<br /> <br /> |-<br /> | SLUS-20576 || Harry Potter and the Chamber of Secrets || <br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =....=..........<br /> 00000010 00 00 00 00 ....<br /> || 15753 (3.73+) ||<br /> Fix black screen? (untested)<br /> <br /> |-<br /> | SLUS-20926/SLPM-65612/SLKA-25172/SLES-52440/SLES-52527/SLES-52600 || Harry Potter and The Prisoner of Azkaban || <br /> 00000000 3D 00 00 00 57 44 00 00 07 00 00 00 08 00 =...WD........<br /> 0000000E 00 00 00 00 00 00 ......<br /> || 17495 (4.78+) ||<br /> Fix for 3D graphics issues. However sometimes textures have a problem (mipmap?)<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x07 =&gt; 8<br /> <br /> |-<br /> | SLES-54971(?)/SLUS-21628 || Hot Wheels: Beat That! || <br /> 00000000 3D 00 00 00 89 3D 00 00 15 00 00 00 04 00 00 00 =....=..........<br /> 00000010 00 00 00 00 ....<br /> || 15753 (3.73+) ||<br /> Fix for turning off ps3 after selecting track<br /> <br /> |-<br /> | SLUS-21307 || Ice Age 2 The Meltdown ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0B 00 00 00 01 00 00 00 =....=..........<br /> 00000010 31 05 00 00 8C 03 00 00 40 00 00 00 27 BD FE E0 1.......@...'...<br /> 00000020 24 06 00 6C FF BF 00 70 03 A0 20 2D 7F B0 00 80 $..l...p.. -....<br /> 00000030 8C B0 00 00 0C 0C 88 B5 00 00 28 2D 02 00 20 2D ..........(-.. -<br /> 00000040 0C 0A 84 CE 03 A0 28 2D 7B B0 00 80 03 A0 10 2D ......(-{......-<br /> 00000050 DF BF 00 70 03 E0 00 08 27 BD 01 20 27 BD FF 70 ...p....'.. '..p<br /> 00000060 24 06 00 6C FF BF 00 70 03 A0 20 2D 7F B0 00 80 $..l...p.. -....<br /> 00000070 8C B0 00 00 0C 0C 88 B5 00 00 28 2D 02 00 20 2D ..........(-.. -<br /> 00000080 0C 0A 84 CE 03 A0 28 2D 7B B0 00 80 03 A0 10 2D ......(-{......-<br /> 00000090 DF BF 00 70 03 E0 00 08 27 BD 00 90 00 00 00 00 ...p....'.......<br /> 000000A0 53 4C 55 53 2D 32 31 33 30 37 SLUS-21307 <br /> || 15753 (3.73+) || Fix freeze at the game logo<br /> <br /> |-<br /> | SLUS-21196 || Indigo Prophecy || <br /> 00000000 3D 00 00 00 89 3D 00 00 2F 00 00 00 01 00 00 00 =....A..@.......<br /> 00000010 00 00 00 00 ....<br /> || 15753 (3.73+) || Fixes freeze<br /> <br /> |-<br /> | SCES-53286/SCUS-97429 || Jak X || <br /> 00000000 3D 00 00 00 57 3D 00 00 24 00 00 00 00 00 00 00 =...W=..$.......<br /> 00000010 80 BB 00 00 13 00 00 00 00 00 00 00 60 F9 00 00 €»..........`ů..<br /> 00000020 00 00 00 00 .... <br /> || 15753 (3.73+) || Fixes freeze while saving game<br /> <br /> |-<br /> | SLPM-66675 || Kingdom Hearts II Final Mix || <br /> 00000000 3D 00 00 00 89 3D 00 00 26 00 00 00 58 A5 1D 00 =....A..&amp;...XĄ..<br /> 00000010 F4 AE 1D 00 00 00 00 00 ô®...... <br /> || 15753 (3.73+) ||<br /> Fixes Hostile Program Boss issue.<br /> <br /> |-<br /> | SLUS-21799 || Kingdom Hearts Re: Chain of Memories || <br /> 00000000 3D 00 00 00 89 3D 00 00 0F 00 00 00 90 05 10 00 =....=..........<br /> 00000010 78 C2 10 00 00 00 00 00 53 4C 55 53 2D 32 31 37 x.......SLUS-217<br /> 00000020 39 39 99 <br /> || 15753 (3.73+) ||<br /> Fixes tutorial issue? (untested)<br /> <br /> |-<br /> | SLES-50196 || Legacy of Kain: Soul Reaver 2 || <br /> 00000000 3D 00 00 00 43 21 00 00 0A 00 00 00 01 00 00 00 =...C!..........<br /> 00000010 80 1F 2A 00 01 00 00 00 00 00 00 00 00 00 00 00 €.*............. 99 <br /> || 15753 (3.73+) ||<br /> Turn off mipmapping in game engine. Completely fix flickering, and bad texturing.<br /> <br /> |-<br /> | SLUS-20671 || Mafia || <br /> 00000000 3D 00 00 00 89 3D 00 00 09 00 00 00 05 00 00 00 =...‰=..........<br /> 00000010 B0 68 3E 00 34 A3 0F 0C 9C 90 84 8F 00 10 01 3C °h&gt;.4Ł..ś.„Ź...&lt;<br /> 00000020 08 00 02 24 B8 68 3E 00 08 00 02 24 01 00 05 24 ...$¸h&gt;....$...$<br /> 00000030 9C 90 84 8F 10 3C 22 AC C0 68 3E 00 10 3C 22 AC ś.„Ź.&lt;&quot;¬Ŕh&gt;..&lt;&quot;¬<br /> 00000040 00 10 01 3C 01 00 05 24 34 A3 0F 0C B4 2B 3E 00 ...&lt;...$4Ł..´+&gt;.<br /> 00000050 FF FF 02 24 0A 00 50 10 FF FF 02 24 00 00 00 00 ˙˙.$..P.˙˙.$....<br /> 00000060 4C F0 16 00 00 60 80 44 50 07 42 8E 00 60 80 44 Lđ...`€DP.BŽ.`€D<br /> 00000070 0D 00 00 10 00 00 00 00 ........ <br /> || 15753 (3.73+) || Fix freeze at start. Additional two patches comparing to gxemu included here allow to avoid translation lookaside buffer misses in some places, and are required to finish game.<br /> <br /> |-<br /> | SLUS-21735 || Mana Khemia: Alchemists of Al-Revis ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | SLUS-20230 || Max Payne ||<br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 E4 E6 52 00 =....=........R.<br /> 00000010 03 00 00 00 01 00 00 00 68 E8 52 00 02 00 00 00 ........x.R.....<br /> 00000020 00 00 00 00 ....<br /> || 15753 (3.73+) || fixes game hang on first cutscene/cutscenes<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x01 =&gt; 0x52E6E4, 3 (applies to main.run ELF on disc: 0x52E6E4 dmove a1,v0 )<br /> 0x01 =&gt; 0x52E868, 2 (applies to main.run ELF on disc: 0x52E868 lq s1,0x10(sp) )<br /> <br /> |-<br /> | SLUS-21550 || Metal Slug Anthology ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0A 00 00 00 01 00 00 00 =...‰=..........<br /> 00000010 24 9C 18 00 F8 F7 08 0C D2 1D 06 0C 00 00 00 00 $ś..ř÷..Ň.......<br /> || 15753 (3.73+) || Fix launching MS6 by using LoadImageAndReboot instead of FlushCache. Seems to work much better than GXemu solution.<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0A =&gt; 0x1<br /> 0x189C24, 0x0C08F7F8 (jal sub_23DFE0), 0x0C061DD2 (jal sub_187748)<br /> <br /> |-<br /> | SLUS-20983 || Musashi: Samurai Legend || <br /> 00000000 3D 00 00 00 F6 41 00 00 17 00 00 00 01 00 00 00 =....A..@.......<br /> 00000010 00 00 00 00 ....<br /> || 16886 (4.40+) ||<br /> no sps fix, but reduces heavily<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x17 =&gt; 1 <br /> <br /> |-<br /> | SLES-50134 SLES-50176 SLES-50177 SLES-50178 SLES-50179 || Oni || <br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 01 00 00 00 =...WD..........<br /> 00000010 7C EF 1C 00 FF FF 00 41 00 00 00 00 00 00 00 00 |ď..˙˙.A........<br /> || 17495 (4.78+) ||<br /> fixes black screen at start<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x0A =&gt; 0x1<br /> 0x1CEF7C 0x4100FFFF (mftgpr $ra, $zero), 0x00000000 (nop)<br /> <br /> |-<br /> | SLUS-20064 || Oni || <br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 01 00 00 00 =...WD..........<br /> 00000010 CC F3 1C 00 FF FF 00 41 00 00 00 00 00 00 00 00 Ěó..˙˙.A........<br /> || 17495 (4.78+) ||<br /> fixes black screen at start<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x0A =&gt; 0x1<br /> 0x1CF3CC 0x4100FFFF (mftgpr $ra, $zero), 0x00000000 (nop)<br /> <br /> |-<br /> | SLUS-21037 || Project: Snowblind || <br /> 00000000 3D 00 00 00 39 05 00 00 0B 00 00 00 03 00 00 00 =...9...........<br /> 00000010 69 02 00 00 78 00 00 00 04 00 00 00 10 00 00 07 i...x...........<br /> 00000020 45 00 00 07 00 0C 0D 00 78 05 00 00 04 00 00 00 E.......x.......<br /> 00000030 10 00 00 07 45 00 00 07 BB 15 0D 00 F8 05 00 00 ....E...»...ř...<br /> 00000040 04 00 00 00 10 00 00 07 45 00 00 07 00 00 00 00 ........E.......<br /> || ||<br /> fixes mipmap/texturing issues<br /> <br /> <br /> |-<br /> | SLES-52384 || Project Zero II ||<br /> 00000000 3D 00 00 00 AF 42 00 00 21 00 00 00 00 00 00 00 =...ŻB..!.......<br /> 00000010 48 00 00 00 02 00 00 00 9C E6 FF FF 0A 00 00 00 H.......ść˙˙....<br /> 00000020 01 00 00 00 0C 94 17 00 41 01 0F 24 61 01 0F 24 .....”..A..$a..$<br /> 00000030 46 00 00 00 0B 00 00 00 01 00 00 00 F6 03 00 00 F...........ö...<br /> 00000040 98 03 00 00 04 00 00 00 00 42 73 84 00 00 02 FF .........Bs„...˙<br /> 00000050 00 00 00 00 53 4C 45 53 2D 35 32 33 38 34 ....SLES-52384<br /> || 17071 (4.50+) || Fix textures problems + performance improvement<br /> 0x3D =&gt; 0x42AF (17071)<br /> 0x21 =&gt; 0<br /> 0x48 =&gt; 0x2, 0xFFFFE69C<br /> 0x0A =&gt; 1, <br /> 0x17940C, 0x240F0141 (li t7,0x141)<br /> 0x240F0161 (li t7,0x161)<br /> 0x46<br /> 0x0B =&gt; 1<br /> 0x3F6, (sector)<br /> 0x398, (offset)<br /> 0x04,<br /> 0x84734200 lh s3,0x4200(v1),<br /> 0xFF020000 sd v0,(t8)<br /> <br /> |-<br /> | SLUS-20167 || Quake 3 - Revolution ||<br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 02 00 00 00 =...WD..........<br /> 00000010 98 03 2D 00 40 FF BD 27 08 00 E0 03 9C 03 2D 00 ..-.@˙˝'..ŕ.ś.-.<br /> 00000020 A0 00 BE 7F 00 00 00 00 00 00 00 00 <br /> || 17495 (4.78+) || Break creating mipmaps to fix graphical issues / flickering (ps2_netemu not support mipmapping)<br /> <br /> |-<br /> | SLES-50126 || Quake 3 - Revolution ||<br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 02 00 00 00 =...WD..........<br /> 00000010 20 03 2D 00 40 FF BD 27 08 00 E0 03 9C 03 2D 00 ..-.@˙˝'..ŕ.ś.-.<br /> 00000020 A0 00 BE 7F 00 00 00 00 00 00 00 00 <br /> || 17495 (4.78+) || Break creating mipmaps to fix graphical issues / flickering (ps2_netemu not support mipmapping)<br /> <br /> |-<br /> | SLUS-21262 || Radiata Stories ||<br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =...‰=..........<br /> 00000010 01 00 00 00 94 4D 12 00 0A 00 00 00 01 00 00 00 ....”M..........<br /> 00000020 18 F6 1A 00 0B 00 00 00 44 00 00 00 00 00 00 00 .ö......D.......<br /> 00000030 53 4C 55 53 2D 32 31 32 36 32 SLUS-21262 <br /> || 15753 (3.73+) || Fix black screen and ghosting/gfx<br /> <br /> |-<br /> | SLPS-25606/SLPS-25851 || Raw Danger! ||<br /> 00000000 3D 00 00 00 A8 41 00 00 44 00 00 00 00 00 00 00 =...&amp;D..D.......<br /> || 16808 (4.30+) || Untested! But Raw Danger! is Zettaizetsumei Toshi 2, so same issue + solution as part 1? <br /> 0x3D =&gt; 0x41A8 (16808)<br /> 0x44 =&gt; (disables smoothing and smoothing<br /> <br /> |-<br /> | SLUS-20174 || Rumble Racing ||<br /> 00000000 3D 00 00 00 F0 42 00 00 0B 00 00 00 01 00 00 00 =...đB..........<br /> 00000010 DA AE 03 00 20 01 00 00 24 00 00 00 14 80 00 06 Ú®.. ...$....€..<br /> 00000020 00 43 20 21 00 A0 10 21 14 A0 00 02 00 00 00 00 .C !. .!. ......<br /> 00000030 24 05 00 01 10 40 FF EB 24 84 00 04 24 90 FF FC $....@˙ë$„..$.˙ü<br /> 00000040 14 80 00 07 00 43 80 21 00 A0 10 21 14 A0 00 02 .€...C€!. .!. ..<br /> 00000050 00 00 00 00 24 05 00 01 10 40 FF FC 00 00 00 00 ....$....@˙ü....<br /> 00000060 26 04 00 04 00 00 00 00 &amp;.......<br /> || 17136 (4.50+) || fixes black screen after Playstation 2 logo. Patch apply to AUDIO.IRX file in MODULES folder<br /> <br /> 0x3D =&gt; 0x42F0 (17136)<br /> 0x0B =&gt; 1<br /> 0x03AEDA, (sector)<br /> 0x120, (offset)<br /> 0x24 (bytes to replace), <br /> <br /> <br /> Replaced opcodes<br /> 06 00 80 14 bnez a0, +0x1C<br /> 21 20 43 00 addu a0,v0,v1<br /> 21 10 A0 00 move v0,a1<br /> 02 00 A0 14 bnez a1, +0x0C<br /> 00 00 00 00 nop <br /> 01 00 05 24 li a1,0x1<br /> EB FF 40 10 beqz v0, -0x50<br /> 04 00 84 24 addiu a0,0x4<br /> FC FF 90 24 addiu s0,a0,-0x4<br /> <br /> Original opcodes<br /> 07 00 80 14 bnez a0, +0x20<br /> 21 80 43 00 addu s0,v0,v1<br /> 21 10 A0 00 move v0,a1<br /> 02 00 A0 14 bnez a1, +0x0C<br /> 00 00 00 00 nop <br /> 01 00 05 24 li a1,0x1<br /> FC FF 40 10 beqz v0, -0x0C<br /> 00 00 00 00 nop <br /> 04 00 04 26 addiu a0,s0,0x4<br /> <br /> |-<br /> | SLES-51345 || Run Like Hell ||<br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 04 00 00 00 =...WD..........<br /> 00000010 34 45 1D 00 0B FA 07 4B FF 02 00 4A 44 45 1D 00 4E...ú.K˙..JDE..<br /> 00000020 FF 02 00 4A 0B FA 07 4B 20 47 1D 00 BE F8 07 4B ˙..J.ú.K G..ľř.K<br /> 00000030 FF 02 00 4A 30 47 1D 00 AC F7 FE 4B 0B FA 07 4B ˙..J0G..¬÷ţK.ú.K<br /> 00000040 00 00 00 00 ....<br /> || 17495 (4.78+) || fixes main character flickering/texturing<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x0A =&gt; 0x4<br /> <br /> 0x1D4534 0x4B07FA0B (cop2 0x107FA0B), 0x4A0002FF (cop2 0x2FF)<br /> 0x1D4544 0x4A0002FF (cop2 0x2FF) , 0x4B07FA0B (cop2 0x107FA0B)<br /> 0x1D4720 0x4B07F8BE (cop2 0x107F8BE), 0x4A0002FF (cop2 0x2FF)<br /> 0x1D4750 0x4BFEF7AC (cop2 0x1FEF7AC), 0x4B07FA0B (cop2 0x107FA0B)<br /> |-<br /> | SLES-51445 || Rygar: The Legendary Adventure ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0E 00 00 00 50 D0 14 00 =...‰=......PĐ..<br /> 00000010 00 00 00 00 ....<br /> || 15753 (3.73+) || fixes hard crash at start when leaving the place<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0E =&gt; 0x14D050 (offset)<br /> <br /> .text:0014D050 sub.s $f12, $f20, $f12<br /> |-<br /> | SLES-55147/SLUS-21731 || Silent Hill: Origins || <br /> 00000000 3D 00 00 00 F6 41 00 00 40 00 00 00 00 00 00 00 =....A..@.......<br /> || 16886 (4.40+) ||<br /> fixes white overblending at burning house<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x40 =&gt; (sets some value 1)<br /> <br /> |-<br /> | SLUS-20488 || Star Ocean - Till the End of Time ||<br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =....=..........<br /> 00000010 01 00 00 00 48 09 10 00 0A 00 00 00 2C 00 00 00 ....H.......,...<br /> 00000020 72 01 00 00 00 00 00 00 53 4C 55 53 2D 32 30 34 r.......SLUS-204<br /> 00000030 38 38 88 <br /> || 15753 (3.73+) || Fix black screen<br /> <br /> |-<br /> | SLUS-21240 (v1.01)|| Star Wars: Battlefront II || <br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 84 B7 49 00 =...‰=......„·I.<br /> 00000010 05 00 00 00 00 00 00 00 53 4C 55 53 2D 32 31 32 ........SLUS-212<br /> 00000020 34 30 40 <br /> || 15753 (3.73+) || Fix freeze. Work only with v1.01 version of game. Patch apply to SWBFRNT2.ELF file.<br /> <br /> |-<br /> | SLUS-21240 (v2.01)|| Star Wars: Battlefront II || <br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 04 97 49 00 =...‰=.......—I.<br /> 00000010 05 00 00 00 00 00 00 00 53 4C 55 53 2D 32 31 32 ........SLUS-212<br /> 00000020 34 30 40 <br /> || 15753 (3.73+) || Fix freeze. Work only with v2.01 version of game. Patch apply to SWBFRNT2.ELF file.<br /> <br /> |-<br /> | SLES-50371 || Star Wars: Jedi Starfighter || <br /> 00000000 3D 00 00 00 65 3D 00 00 0A 00 00 00 01 00 00 00 =...e=..........<br /> 00000010 98 33 32 00 B4 6B 11 0C 00 00 00 00 00 00 00 00 .32.´k..........<br /> || 15717 (3.73+) || Without it title calls PS2::Exit() at the end of a bonus stage.<br /> <br /> |-<br /> | SLUS-21913 || Star Wars: The Clone Wars – Republic Heroes ||<br /> 00000000 3D 00 00 00 39 05 00 00 0A 00 00 00 01 00 00 00 =...9...........<br /> 00000010 28 33 17 00 FF FF 64 34 FD FF 64 34 00 00 00 00 „Ë..˙˙d4đ˙d4.Ë..<br /> || 1337 (ALL) || Fix graphical gliches, subtitles, QTE buttons, missing HUD<br /> <br /> <br /> |-<br /> | SLES-54658 || Star Wars: The Force Unleashed ||<br /> 00000000 3D 00 00 00 39 05 00 00 0A 00 00 00 02 00 00 00 =...9...........<br /> 00000010 84 CB 17 00 FF FF 64 34 F0 FF 64 34 90 CB 17 00 „Ë..˙˙d4đ˙d4.Ë..<br /> 00000020 FE FF 63 34 FC FF 63 34 00 00 00 00 ţ˙c4ü˙c4....<br /> || 1337 (ALL) || Fix graphical gliches, subtitles, QTE buttons, missing HUD<br /> <br /> |-<br /> | ALL || Superman Returns ||<br /> 00000000 3D 00 00 00 89 3D 00 00 08 00 00 00 00 00 00 00 =...‰=..........<br /> 00000010 00 00 00 FE 00 00 00 00 00 00 00 2C 00 00 00 00 ...ţ.......,....<br /> 00000020 00 00 00 FE 00 00 00 00 00 00 00 10 00 00 00 00 ...ţ............<br /> || 15753 (3.73+) || fixes Graphic issues <br /> <br /> |-<br /> | SLUS-21386 || Tales of The Abyss || <br /> 00000000 3D 00 00 00 65 3D 00 00 26 00 00 00 FC FF 27 00 =...e=..&amp;...ü˙'.<br /> 00000010 FF FF 27 00 26 00 00 00 F4 21 29 00 F8 21 29 00 ˙˙'.&amp;...ô!).ř!).<br /> 00000020 00 00 00 00 ....<br /> || 15717 (3.73+) || Fix freeze at Choral Castle <br /> Improve add accuracy range =&gt; 0x27FFFC , 0x27FFFF<br /> Improve add accuracy range =&gt; 0x2921F4 , 0x2921F8<br /> |-<br /> | SLPS-25842 || Tales of Destiny (Director's cut) || <br /> 00000000 3D 00 00 00 57 44 00 00 0F 00 00 00 00 00 1C 00 =...WD..........<br /> 00000010 00 00 1D 00 00 00 00 00 ........<br /> || 17495 (4.78+) || Fix freezes <br /> Improve FPU accuracy range =&gt; 0x1C0000 , 0x1D0000<br /> <br /> |-<br /> | ALL || Tokyo Extreme Racer 3 || <br /> 00000000 3D 00 00 00 91 42 00 00 48 00 00 00 01 00 00 00 =...‘B..H.......<br /> 00000010 F0 49 02 00 00 00 00 00 đI...... <br /> || 17041 (4.46+) || Fix screen jumps <br /> Vsync Delay -&gt; No IPU 150,000<br /> <br /> |-<br /> | ALL || Tony Hawk's series ||<br /> 00000000 3D 00 00 00 89 3D 00 00 08 00 00 00 00 00 00 80 =....=..........<br /> 00000010 FF FF FF FF 00 00 00 80 00 00 40 53 00 00 00 80 ..........@S....<br /> 00000020 FF FF FF FF 00 00 00 80 00 00 40 D3 14 00 00 00 ..........@Ó....<br /> 00000030 00 00 00 00 ....<br /> || 15753 (3.73+) || fixes Graphic issues with Spiky Polygons<br /> <br /> |-<br /> | ALL || TY The Tasmanian Tiger || <br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =...‰=..........<br /> 00000010 00 00 00 00 <br /> || 15753 (3.73+) || Fix graphical glitches, and fix locks up once you're given control.<br /> <br /> |-<br /> | SLUS-21106 || True Crime: NYC ||<br /> 00000000 3D 00 00 00 89 3D 00 00 27 00 00 00 D8 2A 41 00 =...‰=..'...Ř*A.<br /> 00000010 50 2E 41 00 00 00 00 00 P.A.....<br /> || 15753 (3.73+) || fixes freeze when something in 3D appearing<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x27 =&gt; 0x412AD8, 0x412E50<br /> <br /> |-<br /> | SLES-51958 || Whiplash ||<br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 01 00 00 00 =...WD..........<br /> 00000010 84 D5 25 00 07 00 02 45 07 00 00 10 00 00 00 00 „Ő%....E........<br /> || || Trick game to not produce mipmaps. Fix graphical issues. <br /> <br /> |-<br /> | SLUS-21452 || Valkyrie Profile 2 - Silmeria ||<br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =...‰=..........<br /> 00000010 01 00 00 00 28 09 10 00 0A 00 00 00 01 00 00 00 ....(...........<br /> 00000020 48 98 2B 00 0B 00 00 00 44 00 00 00 00 00 00 00 H.+.....D.......<br /> 00000030 53 4C 55 53 2D 32 31 34 35 32 SLUS-21452<br /> || 15753 (3.73+) || Fix black screen and ghosting/gfx (requires speed fix)<br /> <br /> |-<br /> | SLUS-20469 || Xenosaga Episode I: Der Wille zur Macht || <br /> 00000000 3D 00 00 00 57 44 00 00 0F 00 00 00 00 24 32 00 =...WD.......$2.<br /> 00000010 00 29 32 00 00 00 00 00 .)2..... ........<br /> || 17495 (4.78+) || Fix &quot;erde kaiser&quot; quest. Config cause massive slow down, and should be used only for that part of game, then removed safely. <br /> Improve FPU accuracy range =&gt; 0x322400 , 0x322900<br /> <br /> |-<br /> | SLUS-20228GH || Silent Hill 2 ||<br /> 00000000 3D 00 00 00 34 12 00 00 0E 00 00 00 B4 53 17 00 =...4.......´S..<br /> 00000010 0F 00 00 00 18 5D 17 00 18 5D 17 00 00 00 00 00 .....]...]......<br /> || || Fixes the missing polygons on characters and the inaccurate camera angles<br /> |-<br /> | SLUS-20622 || Silent Hill 3 ||<br /> 00000000 3D 00 00 00 57 44 00 00 0F 00 00 00 34 AC 19 00 =...WD......4¬..<br /> 00000010 34 AC 19 00 00 00 00 00 4¬......<br /> || || Fixes camera inaccuracies<br /> <br /> |-<br /> <br /> | || || || || <br /> <br /> |}<br /> <br /> ===Config data examples (hardcoded)===<br /> ====Inside ps2_emu.self====<br /> Embedded patches are based on Checksum/Hash of title. ps2_emu is only emulator version where patches are described inside self file in ascii. Known patch types described in ascii are: Patch data, new SPU2 params, and Setting mecha HACK to show GODZCD as GODZCDDA.<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> ! PS2 Title !! Hash !! Game !! Patch Type !! Data<br /> |-<br /> | SCUS_971.46|| 0x6B1ADE00D||Disney's Treasure Planet || Patch data - Fixes black screen at start, it apply to STREAM_D.IRX file in IOP folder. || 0x147C (sector) , 0x580 (offset) (- 0xC on disc) <br /> Replace opcodes<br /> 00 01 01 3C lui at,0x0100<br /> 80 BF 03 3C lui v1,0xBF80<br /> C8 10 63 8C lw v1,0x10C8(v1)<br /> 24 18 61 00 and v1,at<br /> FB FF 61 10 beq v1,at, -0x10<br /> 00 00 00 00 nop <br /> <br /> Original opcodes<br /> FF FF 01 24 li at,-0x1<br /> 04 00 61 14 bne at,v1, +0x14<br /> 00 80 01 3C lui at,0x8000<br /> 02 00 41 14 bne at,v0, +0x0C<br /> 00 00 00 00 nop <br /> 0D 00 06 00 break <br /> |-<br /> |SLUS_201.74 ||0x23D92589C5|| Rumble Racing || Patch data - fixes black screen after Playstation 2 logo. Patch apply to AUDIO.IRX file in MODULES folder || 0x3AEDA (sector), 0x120 (offset)<br /> Replace opcodes<br /> 06 00 80 14 bnez a0, +0x1C<br /> 21 20 43 00 addu a0,v0,v1<br /> 21 10 A0 00 move v0,a1<br /> 02 00 A0 14 bnez a1, +0x0C<br /> 00 00 00 00 nop <br /> 01 00 05 24 li a1,0x1<br /> EB FF 40 10 beqz v0, -0x50<br /> 04 00 84 24 addiu a0,0x4<br /> FC FF 90 24 addiu s0,a0,-0x4<br /> <br /> Original opcodes<br /> 07 00 80 14 bnez a0, +0x20<br /> 21 80 43 00 addu s0,v0,v1<br /> 21 10 A0 00 move v0,a1<br /> 02 00 A0 14 bnez a1, +0x0C<br /> 00 00 00 00 nop <br /> 01 00 05 24 li a1,0x1<br /> FC FF 40 10 beqz v0, -0x0C<br /> 00 00 00 00 nop <br /> 04 00 04 26 addiu a0,s0,0x4<br /> <br /> |-<br /> |SLUS_211.96||0x24D92589D5|| Indigo Prophecy || new SPU2 params || 1<br /> |-<br /> |SLPM_661.93||0x608634992D|| &lt;abbr title=&quot;https://www.gamefaqs.com/ps2/544598-indigo-prophecy/data&quot;&gt;Fahrenheit (NTSC-J)&lt;/abbr&gt; || new SPU2 params || 1<br /> |-<br /> |SLUS_212.96||0x5CA15DF14D|| Dance Factory ||Setting mecha HACK to show GODZCD as GODZCDDA ||<br /> |}<br /> <br /> ====Inside ps2_gxemu.self/ps2_softemu.self====<br /> There are hundreds of configs hidden in ps2_gxemu, and ps2_softemu self files. Internal config structure is basing on custom hash based on Title ID, internal memory offset pointing to place where true patch instruction is, and count of used commands. When disc/iso is started emulator search for configs, and if config for selected ID exist, then emulator apply it by itself. Is not perfect way of applying patches, because some games use the same ID, but different content. Good example here is Star Wars Battlefront II SLUS-21240, where some versions of game can refuse to work because it apply bad patch.<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> ! PS2 Title !! Hash !! Game !! Patch Type !! Data<br /> |-<br /> | || || || || <br /> |}<br /> <br /> ==TitleID/DiscID in ps2_netemu.self==<br /> There are 193 titleIDs listed inside ps2_netemu.self. More precisely, into XPARAM2.ELF file of PS2 Bios included in ps2_netemu.self. XPARAM2.ELF is called by OSDSYS, then ID check is performed. If title ID match to one of included in the table, different IOP emulation settings are applied.<br /> There are internal flags related to every title ID included inside file, still unknown what they do. Also some arguments, in plain text. File in real ps2 is introduced in SCPH-750XX models so exactly when DECKARD Power PC chip exchanged original IOP chip. This can explain why it is still in PS3 netemu bios. Because PS3 it is ppc that can need the same/similar flags.<br /> <br /> Original PS2 bios include similar list file called XPARAM.ELF, but Title IDs there are not the same, although some of them exist on both lists.<br /> <br /> {| class=&quot;wikitable sortable&quot; || <br /> |- <br /> ! Command !! Name<br /> |-<br /> | 0x00 || TITLE_MASK <br /> |-<br /> | 0x01 || SIO2_MASK<br /> |-<br /> | 0x02 || DEV9_MASK<br /> |-<br /> | 0x03 || USB_MASK<br /> |-<br /> | 0x04 || SIF_DMA_SYNC<br /> |-<br /> | 0x05 || SIF_DMA_LOAD<br /> |-<br /> | 0x06 || DMAC_CH10_INT_DELAY<br /> |-<br /> | 0x07 || MECHA_RECOGTIME<br /> |-<br /> | 0x08 || CPU_DELAY<br /> |-<br /> | 0x09 || DEV5_INT_SPEED<br /> |-<br /> | 0x0A || CDVD_READ_DELAY<br /> |-<br /> | 0x0B || SPU2_BEHAVIOR<br /> |-<br /> |}<br /> <br /> {| class=&quot;wikitable sortable&quot; || <br /> |- <br /> ! ID !! Title !! Command !! Value !! Remarks <br /> |- <br /> |PBPX_952.01 || DVD Utility Disc Version 1.00 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.02 || DVD Utility Disc Version 1.01 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.03 || DVD Utility Disc Version 1.01 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.06 || DVD Player (Version 2.01) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.07 || DVD Player (Version 2.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.08 || DVD Player (Version 2.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.09 || DVD Player (Version 2.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.10 || DVD Utility Disc Version 2.10 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.11 || DVD Utility Disc Version 1.00 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.21 || DVD Player (Version 2.12) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.22 || DVD Player (Version 2.14) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.24 || DVD Player (Version 2.16) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.28 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.35 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.39 || Online Start Up Disc v3.0 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.01 || Linux for PS2 Beta Release 1 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.07 || Playstation 2 Linux Runtime Environment v1.0 (Disc 1) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.09 || Linux for PS2 Release 1.0 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.18 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PDPX_991.09 || DVD Player (Version 3.04) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PSXC_002.01 || PSX Update Disc 1.10 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PSXC_002.02 || PSX Update Disc 1.20 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PSXC_002.03 || PSX Update Disc 1.31 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PTPX_970.38 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCAJ_201.25 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCAJ_201.26 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCES_532.02 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCKA_200.49 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCPM_621.15 || || 0x00 || 0x1000000 || TITLE_MASK<br /> |-<br /> |SCPM_621.16 || || 0x00 || 0x1000000 || TITLE_MASK<br /> |-<br /> |SCPN_601.01 || PlayStation BB Navigator (Version 0.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.30 || PlayStation BB Navigator (Version 0.20) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.40 || PlayStation BB Navigator (Version 0.30) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.50 || PlayStation BB Navigator (Version 0.31) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.60 || PlayStation BB Navigator (Version 0.32) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPS_110.01 || I.Q. Remix || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPS_110.10 || Yoake no Mariko (Performance Pack Edition) || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_110.18 || Yoake no Mariko || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_110.21 || Yoake no Mariko 2nd Act (Limited Edition) || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_110.22 || Yoake no Mariko 2nd Act || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_150.38 || Lifeline || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SCPS_150.39 || Lifeline || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SCPS_170.01 || Gran Turismo 4 || 0x0B || 0x10000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCPS_175.01 || Linux (for PlayStation2) Release 1.0 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPS_200.39 || || 0x00 || 0x4000000 || TITLE_MASK<br /> |-<br /> |SCUS_971.67 || PaRappa the Rapper 2 || 0x04 || 0x2000 || SIF_DMA_SYNC<br /> |-<br /> |SCUS_972.69 || Final Fantasy XI [Disc 2] || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLES_500.48 || Donald Duck: Quack Attack || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_500.62 || Orphen: Scion of Sorcery || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLES_503.64 || City Crisis || 0x0A || 0x80BB8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_504.46 || Shadow Man 2: The Second Coming || 0x0A || 0x80600 || CDVD_READ_DELAY<br /> |-<br /> |SLES_505.40 || Simpsons: Road Rage || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_506.08 || Shadow Man 2: The Second Coming || 0x0A || 0x80600 || CDVD_READ_DELAY<br /> |-<br /> |SLES_506.28 || Simpsons: Road Rage || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_507.28 || Tiger Woods PGA Tour 2002 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_507.29 || || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_512.82 || Tiger Woods PGA Tour 2003 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_514.79 || Def Jam Vendetta || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLES_518.41 || SpyHunter 2 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_518.44 || Time Crisis 3 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_519.97 || SWAT: Global Strike Team || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_520.97 || SWAT: Global Strike Force || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_530.37 || Super Monkey Ball Deluxe || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLES_536.68 || Micro Machines v4 || 0x01 || 0x801 || SIO2_MASK<br /> |-<br /> |SLES_537.55 || Castlevania: Curse of Darkness || 0x04 || 0x10 || SIF_DMA_SYNC<br /> |-<br /> |SLES_537.96 || FIFA Street 2 || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_620.42 || Kurogane no Houkou: Warship Commander || 0x01 || 0x3000 || SIO2_MASK<br /> |-<br /> |SLPM_620.62 || Gitaroo Man One || 0x0A || 0x80540 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_621.05 || Taikou Risshiden IV || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPM_621.24 || Ready 2 Rumble Boxing: Round 2 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_621.25 || Gauntlet: Dark Legacy || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPM_621.25 || Gauntlet: Dark Legacy || 0x09 || 0x2B470005 || DEV5_INT_SPEED<br /> |-<br /> |SLPM_621.35 || Final Fantasy: XI (Beta Version) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SLPM_621.54 || DDRMAX Dance Dance Revolution 6thMix || 0x08 || 0x1A5E || CPU_DELAY<br /> |-<br /> |SLPM_622.39 || Supercar Street Challenge || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_623.69 || Karaoke Revolution: J-Pop Vol.1 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.79 || Karaoke Revolution: J-Pop Vol.2 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.80 || Karaoke Revolution: J-Pop Vol.3 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.81 || Karaoke Revolution: J-Pop Vol.4 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.82 || Karaoke Revolution: Love &amp; Ballad || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.83 || Karaoke Revolution: Night Selection 2003 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.14 || Karaoke Revolution: Dreams &amp; Memories || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.37 || Suisui Sweet: Amai Ai no Mitsukekata || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_624.50 || Karaoke Revolution: Anime Song Selection || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.51 || Karaoke Revolution: J-Pop Vol.5 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.54 || Karaoke Revolution: J-Pop Vol.6 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.55 || Karaoke Revolution: J-Pop Vol.7 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.56 || Karaoke Revolution: J-Pop Vol.8 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.57 || Karaoke Revolution: Snow &amp; Party || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.64 || Pop'n Taisen Pazurudame Online || 0x08 || 0x1F40 || CPU_DELAY<br /> |-<br /> |SLPM_624.79 || Karaoke Revolution: J-Pop Vol.9 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.91 || Mega Man: The Power Battle || 0x04 || 0x2000 || SIF_DMA_SYNC<br /> |-<br /> |SLPM_624.92 || Karaoke Revolution: Kids Song Selection || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_625.28 || Karaoke Revolution: Kazoku Idol Sengen (Bundle Edition) || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_625.29 || Karaoke Revolution: Kazoku Idol Sengen || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_650.86 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 (Disc 1) || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPM_650.87 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 (Disc 2) || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPM_650.90 || Spy Hunter || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_651.97 || Nobunaga's Ambition Online || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_652.09 || Star Ocean: Till the End of Time || 0x0B || 0x20014 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_654.38 || Star Ocean: Till the End of Time (Director's Cut) (Disc 1) || 0x0B || 0x20014 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_654.39 || Star Ocean: Till the End of Time (Director's Cut) (Disc 2) || 0x0B || 0x20014 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_654.88 || Grand Theft Auto: Vice City || 0x0A || 0x300 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_654.88 || Grand Theft Auto: Vice City || 0x09 || 0x36000200 || DEV5_INT_SPEED<br /> |-<br /> |SLPM_656.33 || I Love Baseball: Pro Yakyu wo Koyonaku || 0x08 || 0xFA0 || CPU_DELAY<br /> |-<br /> |SLPM_656.98 || Love Songs: ADV Futaba Riho 14-sai Natsu || 0x0A || 0x80380 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_657.05 || Final Fantasy XI: Chains of Promathia (Expansion Disc) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_657.06 || Final Fantasy XI: Chains of Promathia (All-In-One Edition) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_657.19 || Burnout 3: Takedown || 0x01 || 0x1C00 || SIO2_MASK<br /> |-<br /> |SLPM_657.83 || Nobunaga no Yabou Online: Tappi no Shou || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_658.94 || Winning Post 6: 2005 Version || 0x01 || 0x2400 || SIO2_MASK<br /> |-<br /> |SLPM_659.34 || Maple Colors || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_659.53 || Final Fantasy: XI (Entry Disc 2005) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_659.84 || Grand Theft Auto: San Andreas || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_660.33 || The Sword of Etheria || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPM_660.33 || The Sword of Etheria || 0x00 || 0x2000000 || TITLE_MASK<br /> |-<br /> |SLPM_660.48 || The Sword of Etheria || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPM_660.48 || The Sword of Etheria || 0x00 || 0x2000000 || TITLE_MASK<br /> |-<br /> |SLPM_660.57 || Taito Memories Vol.1 || 0x08 || 0xCE4 || CPU_DELAY<br /> |-<br /> |SLPM_661.56 || Marheaven: Arm Fight Dream || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_661.75 || Akumajo Dracula: Yami no Juin || 0x08 || 0x60 || CPU_DELAY<br /> |-<br /> |SLPM_661.75 || Akumajo Dracula: Yami no Juin || 0x0B || 0x2001C || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_663.93 || Final Fantasy XI: Treasures of Aht Urhgan (All-In-One Edition) || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_663.93 || Final Fantasy XI: Treasures of Aht Urhgan (All-In-One Edition) || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPM_663.93 || Final Fantasy XI: Treasures of Aht Urhgan (All-In-One Edition) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_663.94 || Final Fantasy XI: Treasures of Aht Urhgan || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_664.36 || Aria the Natural || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_664.36 || Aria the Natural || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLPM_665.39 || Nobunaga no Yabou Online: Haten no Shou || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_665.58 || Tomb Raider: Legend || 0x08 || 0x3E8 || CPU_DELAY<br /> |-<br /> |SLPM_665.74 || Detective Evangelion || 0x00 || 0x2000000 || TITLE_MASK<br /> |-<br /> |SLPM_680.07 || Karaoke Revolution (Trial) || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_680.10 || || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPS_200.08 || Morita Shogi || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPS_200.20 || FIFA 2000 World Championship || 0x04 || 0x2001 || SIF_DMA_SYNC<br /> |-<br /> |SLPS_200.37 || Go Go Golf || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_200.38 || Grappler Baki: Baki Saidai no Tournament || 0x08 || 0x1194 || CPU_DELAY<br /> |-<br /> |SLPS_200.53 || Tenshi no Present: Marle Oukoku Monogatari (Limited Edition) || 0x0B || 0x20000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_200.66 || Tenshi no Present: Marle Oukoku Monogatari || 0x0B || 0x20000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_201.01 || City Crisis || 0x0A || 0x80BB8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_201.11 || Magical Sports Pro Baseball 2001 || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_201.72 || Koushien: Konpeki no Sora || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_201.73 || Hard Hitter 2 || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_201.97 || Surfing Air Show with RatBoy || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_201.99 || F1 2002 || 0x0B || 0x20005 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_202.00 || Final Fantasy XI || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPS_204.04 || Rakushou! Pachi-Slot Sengen 2 || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_204.29 || Hissatsu Pachi-Slot Evolution: Ninja Hattori-Kun V || 0x08 || 0x1B58 || CPU_DELAY<br /> |-<br /> |SLPS_204.55 || Simple 2000 Series Vol.94: The Aka-Champion - Come on Baby || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_250.08 || Sorcerous Stabber Orphen || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPS_250.71 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPS_250.72 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPS_250.81 || Saishuu Densha || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_251.36 || Kuon no Kizuna Sairin Mikotonori || 0x0A || 0x805DC || CDVD_READ_DELAY<br /> |-<br /> |SLPS_251.42 || Tiger Woods PGA Tour 2002 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_251.50 || Only You || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_252.37 || Only You || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_252.75 || Def Jam: Vendetta || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLPS_252.78 || Memories Off: Mix || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_252.90 || Time Crisis 3 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLPS_253.15 || One Piece: Grand Battle 3 || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPS_253.57 || 3-Nen B-Gumi Kinpachi Sensei: Densetsu no Kyoudan ni Tate! || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPS_253.79 || Tokyo Majin Gakuen: Kaihoujyou Kefurokou || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_254.06 || Hitman: Contracts || 0x08 || 0xDAC || CPU_DELAY<br /> |-<br /> |SLPS_254.18 || Ace Combat 5: The Unsung War || 0x0A || 0x500000 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_255.10 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_255.85 || Monster Farm 5: Circus Caravan || 0x07 || 5 || MECHA_RECOGTIME<br /> |-<br /> |SLPS_255.86 || Tales of the Abyss || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_256.04 || Ar tonelico Qoga: Knell of Ar Ciel || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLPS_256.67 || Daito Giken Premium Pachi-Slot Collection: Yoshimune || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPS_256.98 || Fatal Fury Battle Archives Volume 2 || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLPS_257.08 || The Familiar of Zero (Limited Edition) || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_257.09 || The Familiar of Zero || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_257.21 || HimeHibi - Princess Days || 0x0B || 0x8000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_257.22 || Routes PE (Limited Edition) || 0x08 || 0x3E8 || CPU_DELAY<br /> |-<br /> |SLPS_257.27 || Routes PE || 0x08 || 0x3E8 || CPU_DELAY<br /> |-<br /> |SLPS_732.49 || Ar tonelico Qoga: Knell of Ar Ciel (Platinum) || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLUS_200.11 || Orphen: Ocion of Sorcery || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_200.11 || Orphen: Ocion of Sorcery || 0x09 || 0x8000010 || DEV5_INT_SPEED<br /> |-<br /> |SLUS_200.77 || Donald Duck: Go'in Quackers || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_202.74 || City Crisis || 0x0A || 0x80BB8 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_203.05 || Simpsons: Road Rage || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_203.64 || Tiger Woods PGA Tour 2002 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_204.13 || Shadowman 2 || 0x0A || 0x80600 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_204.33 || SWAT: Global Strike Team || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_204.88 || Star Ocean: Til the end of Time [Disc 1] || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_205.72 || Tiger Woods PGA Tour 2003 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_205.90 || Spyhunter 2 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_206.35 || Muppets Party Cruise || 0x01 || 0x801 || SIO2_MASK<br /> |-<br /> |SLUS_206.39 || Def Jam Vendetta || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_206.86 || Splashdown: Rides Gone Wild || 0x0A || 0x80400 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_208.38 || All-Star Baseball 2005 || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLUS_208.51 || Ace Combat 5: The Unsung War || 0x0A || 0x500000 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_208.91 || Star Ocean: Til the end of Time [Disc 2] || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_209.18 || Super Monkey Ball: Deluxe || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_210.59 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLUS_210.70 || Final Fantasy XI: Chains of Promathia || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLUS_210.89 || Karaoke Revolution Vol.3 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_213.31 || Sonic Riders || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_213.39 || Puzzle Challenge || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_214.04 || Final Fantasy XI: Treasures of Aht Urhgan || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLUS_214.52 || Valkyrie Profile 2: Silmeria || 0x08 || 0x1388 || CPU_DELAY<br /> |- <br /> |}<br /> <br /> ==Other game patches (unofficial)==<br /> There are other unofficial ways to patch the PS2 games such the [https://forums.pcsx2.net/Thread-A-simplistic-guide-to-pnach-files-aka-pnach-for-dummies pnach] format, or the widescreen patches that allows 16:9 screen output for some games by hex editing the ISO, or by applying ppf patches. Games work fine on PS3 with same compatibility like before patching. Also some 480p (aka progressive scan) patches work fine. http://ps2wide.net/<br /> <br /> The problem of this methods is the patch is applyed over the ISO and is modifyed permanently, but this problem can be avoided in PS3 because that unofficial patches can be &quot;ported&quot; to the official config format to be used by ps2_netemu.self, by using the official config format the settings and patchs from the config file are applyed &quot;on the fly&quot; and the ISO is not modifyed<br /> <br /> ==ps2_title_brute code==<br /> <br /> A script to calculate whatever this encode is that is used in ps2emu, gxemu and softemu from given input title id.<br /> <br /> It contains code for bruting as well. Just call gen_sum with the title id in a specific format to get it.<br /> <br /> &lt;syntaxhighlight lang=&quot;python&quot;&gt;<br /> title_ = &quot;SLUS_200.73&quot;<br /> <br /> #patches = [0x6b1ade00dL, 0x23d92589c5L, 0x24d92589d5L, 0x608634992dL, 0x5ca15df14dL]<br /> #patches = [0x37ae1cb18dL, 0x608634999dL, 0x06b1ade00dL, 0x5fc674d915L, 0x178e3c9165L, 0x3889349935L,0x18fe4ce145L,0xc126943985,0xe90ebc11b5,0x58be0ca165L]<br /> patches = [ 0xCD1298155L, 0x12C93199A5L, 0x15C93199ADL, 0x24D92589A5L, 0x2CD12D8125L, 0x34C9359935L, 0x34C93599E5L, 0x34C93599E5L, 0x449961C9E5L, 0x4C9169C1CDL, 0x4C9169C1D5L, 0x4C9169C1DDL, 0x4C9169C1E5L, 0x4C9169C1F5L, 0x4C9169C1FDL, 0x4CB14DE12DL, 0x54A955F915L, 0x5CA15DF165L, 0x5CA15DF1FDL, 0x5CA15DF1FDL, 0x649965C94DL, 0x649965C955L, 0x649965C95DL, 0x649965C965L, 0x649965C96DL, 0x6BB149E15DL, 0x6C916DC165L, 0x6C916DC1A5L, 0x6C916DC1ADL, 0x6C916DC1B5L, 0x6C916DC1D5L, 0x6C916DC1DDL, 0x748975D9DDL, 0x7C817DD125L, 0x7C817DD165L, 0x7C817DD16DL, 0x7C817DD175L, 0x7C817DD1CDL, 0x84798529BDL, 0x8559A109ADL, 0x8579852915L, 0x8579852965L, 0x8D51A90145L, 0x8D51A901B5L, 0x8D51A901BDL, 0x8D718D21BDL, 0x9C619D31E5L, 0x9D41B911ADL, 0x9D619D31C5L, 0x9F29357805L, 0x9F293578E5L, 0xB549B51915L, 0xB549B51925L, 0xB549B5195DL, 0xB549B519A5L, 0xB549B519ADL, 0xBC61793025L, 0xBD41BD1105L, 0xC439C569F5L, 0xC7716D20D5L, 0xC7716D20D5L, 0xCA11E941F5L, 0xCF7965285DL, 0xCF7965285DL, 0xD20911582DL, 0xD7617D308DL, 0xE339C1695DL, 0xE794CCB06DL, 0xEA3129608DL, 0xEC11ED4115L, 0xEF594508D5L, 0xF409F559ADL, 0xF7415D10E5L, 0xF7415D10E5L]<br /> <br /> def gen_sum(title):<br /> var_30 = []<br /> for i in range(0x1A):<br /> var_30.append(0)<br /> r9=5<br /> r31=0<br /> #Title 2 decimal<br /> while r9 != 0xB:<br /> r11 = r9 + 1<br /> if r9 == 8:<br /> pass<br /> else:<br /> r5 = ord(title[r9:r9+1])<br /> r7 = r31 * 0xA<br /> r6 = r7 &amp; 0xFFFFFFFF<br /> r4 = r5 + r6<br /> r9 = r4 - 0x30<br /> r31 = r9 &amp; 0xFFFFFFFF<br /> r9 = r11<br /> #print r31<br /> r10 = ord(title[3:4]) # S<br /> r7 = (r31 &gt;&gt; 10) &amp; 0x7F<br /> r11 = ord(title[1:2]) # L<br /> r8 = ord(title[2:3]) # U<br /> r6 = (r10 &gt;&gt; 1) &amp; 0x3F<br /> r12 = ord(title[0:1]) # S<br /> r4 = (r11 &gt;&gt; 3) &amp; 0xF<br /> r5 = (r8 &gt;&gt; 2) &amp; 0x1F<br /> r3 = (r12 &gt;&gt; 4) &amp; 7<br /> r9 = r10 &lt;&lt; 7<br /> r0 = r8 &lt;&lt; 6<br /> r10 = r11 &lt;&lt; 5<br /> r8 = r12 &lt;&lt; 4<br /> r12 = r31 &lt;&lt; 3<br /> r11 = r10 | r5<br /> r9 = r9 | r7<br /> r0 = r0 | r6<br /> var_30[2] = r11 &amp; 0xFF<br /> r7 = r8 | r4<br /> var_30[0] = (r9 &amp; 0xFF)<br /> r10 = r12 | r3<br /> var_30[1] = (r0 &amp; 0xFF)<br /> r12 = (r31 &gt;&gt; 2) &amp; 0x3FFFFFF8<br /> var_30[3] = (r7 &amp; 0xFF)<br /> r8 = 5<br /> var_30[4] = (r10 &amp; 0xFF)<br /> var_30[0x19] = (r12 &amp; 0xFF)<br /> var_30[0x18] = (r8 &amp; 0xFF)<br /> var_30 = [int(v) for v in var_30]<br /> #print [hex(v) for v in var_30]<br /> r5 = var_30<br /> r6 = 0<br /> r4 = 0<br /> while r6 &lt; 5:<br /> r12 = r5[r6:r6+1][0]<br /> r7 = r6 + 1<br /> r0 = var_30[0x19]<br /> r3 = r6 + 0x10<br /> r9 = r12 ^ r0<br /> r31 = r3<br /> r5[r6] = r9<br /> r6 = r7<br /> r5[r31] = r4<br /> #print [hex(v) for v in r5]<br /> r9 = 0<br /> r10 = 0<br /> while r10 &lt; 5:<br /> r11 = r10 + 1<br /> r6 = r5[r10:r10+1][0]<br /> r4 = r9 &lt;&lt; 8<br /> r10 = r11<br /> r9 = r4 | r6<br /> return r9<br /> '''<br /> print hex(gen_sum(title_))<br /> <br /> a1='A'<br /> a2='A'<br /> a3='A'<br /> a4='A'<br /> while a1 &lt;= 'Z':<br /> a2='A'<br /> a3='A'<br /> a4='A'<br /> while a2 &lt;= 'Z':<br /> a3='A'<br /> a4='A'<br /> while a3 &lt;= 'Z':<br /> a4='A'<br /> while a4 &lt;= 'Z':<br /> #print &quot;%s%s%s%s&quot; % (a1,a2,a3,a4)<br /> for i in range(99999):<br /> t = &quot;%s%s%s%s_&quot; % (a1,a2,a3,a4) + '{4}{3}{2}.{1}{0}'.format(i%10,(i/10)%10,(i/100)%10,(i/1000)%10,(i/10000)%10)<br /> if gen_sum(t) in patches:<br /> print t<br /> print True<br /> a4=chr(ord(a4)+1)<br /> print &quot;%s%s%s%s&quot; % (a1,a2,a3,a4)<br /> a3=chr(ord(a3)+1)<br /> print &quot;%s%s%s%s&quot; % (a1,a2,a3,a4)<br /> a2=chr(ord(a2)+1)<br /> a1=chr(ord(a1)+1)<br /> '''<br /> <br /> print hex(gen_sum(&quot;SLUS_213.86&quot;))<br /> '''<br /> for i in range(99999):<br /> t = &quot;SLUS_&quot; + '{4}{3}{2}.{1}{0}'.format(i%10,(i/10)%10,(i/100)%10,(i/1000)%10,(i/10000)%10)<br /> if gen_sum(t) in patches:<br /> print &quot;%s %x&quot; % (t, gen_sum(t))<br /> <br /> '''<br /> &lt;/syntaxhighlight&gt;<br /> <br /> <br /> ==External References==<br /> * [http://www.eurogamer.net/articles/digitalfoundry-vs-ps2-classics-on-ps3]<br /> * [http://www.ps3hax.net/showthread.php?t=53444 PS2 Classics Algorithm By flatz]<br /> * [http://gitorious.ps3dev.net/ps2classic c port]<br /> * https://docs.google.com/spreadsheet/ccc?key=0As9ZdsrJoSp1dC1NTTRCSE5vbTlkOGItTC1CVzE5U3c#gid=7<br /> * http://www.pshomebrew.net/wiki/PS2_Classics_Emulator_Compatibility_List<br /> * [http://www.ps3hax.net/showthread.php?p=620747#post620747 How to properly convert Final Fantasy XII: IZJS For ps2classics]<br /> * https://en.wikipedia.org/wiki/List_of_PlayStation_2_Classics<br /> <br /> CPU-GPU intensive games + games only playable in software render on PCSX2:<br /> * http://wiki.pcsx2.net/index.php/Category:GPU_intensive_games<br /> * http://wiki.pcsx2.net/index.php/Category:CPU_intensive_games<br /> * http://wiki.pcsx2.net/index.php/Category:Software_rendering_only_games<br /> <br /> {{Reverse engineering}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=PS2_Emulation&diff=55844 PS2 Emulation 2020-03-26T13:41:27Z <p>Mysis: added widescreen support</p> <hr /> <div>==Description==<br /> Emulation of Playstation 2 is currently handled by 3 kind of emulators. CECH-A/B models use ps2_emu.self able to use built-in PS2 hardware (EE/GS/Rambus memory), and have best compatibility. CECH-C/E use ps2_gxemu, this emulator use physical Graphic Synthesizer found in this ps3 model, but Emotion Engine is fully emulated here, also there is no Rambus memory. All other models emulate PS2 thru fully software based ps2_netemu used for ps2 classics, and hacked now to use decrypted ISO files. Earlier before Sony provided ps2 classics on PS Store there was another soft only emulator strongly based on ps2_gxemu. It was called ps2_softemu, and had support for original PS2 CDVD. Only emulator not able to run physical discs is ps2_netemu. <br /> <br /> Emulators are self files, but not typical one. Emulators are not truly PS3 Game OS elf executables, but Guest OS'es running on LV1 of PS3. This mean that LV2, or more friendly Game OS is unloaded before emulator is loaded. This also mean that while emulators are running we can't call any LV2 function. Also LV1 syscalls are limited to call from all emulators, but can be fully unlocked. <br /> <br /> All emulators use built-in stripped developement version of PS2 BIOS with disabled debug functions that can affect some games. This is done because some games print debug info on screen when found that are run on dev bios. Bios between ps2_emu, ps2_gxemu, and ps2_netemu are different. Although bios from gxemu run fine on netemu, and vice-versa. While ps2_emu BIOS is able to run only on ps2emu version of emulator. <br /> <br /> [[File:Ps2_block_diagram.png|200px|thumb|right|Simplified block diagram of a PS2&lt;br /&gt;[http://www.philvaz.com/games/PS2.htm source]]]<br /> Note: <br /> * not available in early Tool/DECR and Debug/DEX firmwares. But available in AV TOOL firmware since 1.00<br /> * Emulation is based on a SCPH-50000/SCPH-20401 Playstation 2 Model.<br /> * [http://unina.stidue.net/Universita'%20di%20Trieste/Ingegneria%20Industriale%20e%20dell'Informazione/Tuzzi/Architetture_Avanzate_dei_Calcolatori/Emotion_2.pdf Introduction to PlayStation2 Architecture.pdf]<br /> <br /> ==PS2 Emulators types and versions==<br /> ps2_emu.self (1.02++)<br /> ps2_gxemu.self (1.50++)<br /> ps2_softemu.self (1.90++) 1.90-1.94 (11065), 2.00-2.10 (11830), 3.15 (12840), 3.41-3.65 (13474), 3.66-3.70 (15435), 3.72-4.21 (15529)<br /> (Changes: -2.50] [2.52-2.60] [2.70] [2.80] [3.00-3.65] [3.66-3.70] [3.74])<br /> ps2_netemu.self (3.70++)<br /> <br /> &lt;s&gt;<br /> *http://www.crocko.com/651925F44E444D8390E41A39A577BE48/ps2emu.rar<br /> *http://filerio.in/2xjqscjklj72<br /> *http://freakshare.com/files/bp53qpcy/ps2emu.rar.html<br /> *http://www.mirrorcreator.com/files/4BNITIXD/ps2_netemu.7z_links<br /> &lt;/s&gt;<br /> <br /> {{PS2 emulators workload comparison}}<br /> <br /> ===ps2_emu.self===<br /> <br /> ====Self System Table Offset====<br /> {| cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; border=&quot;1&quot; class=&quot;wikitable&quot; style=&quot;text-align: center;&quot;<br /> |-<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 1.00 AV || 0x7C3150 ||<br /> |-<br /> | 1.02 || 0x7C31F0 ||<br /> |-<br /> | 1.10 || 0x7C2168 ||<br /> |-<br /> | 1.11 || 0x7C23C8 ||<br /> |-<br /> | 1.30 || 0x8442E8 ||<br /> |-<br /> | 1.30 AV || 0x8442E8 ||<br /> |-<br /> | 1.31 || 0x844C98 ||<br /> |-<br /> | 1.32 || 0x845CA0 ||<br /> |-<br /> | 1.50 || 0x848728 ||<br /> |-<br /> | 1.90 || 0x4D7ED8 ||<br /> |-<br /> | 3.66 - 3.74 || 0x4E9A20 ||<br /> |-<br /> | 4.00 - 4.01 || 0x4EADB8 ||<br /> |-<br /> | 4.10 - 4.11 || 0x4EAD28 ||<br /> |-<br /> | 4.20 - 4.21 || 0x4EAE30 ||<br /> |-<br /> | 4.23 || 0x4EACE0 ||<br /> |-<br /> | 4.25 || 0x4EAE30 || Reverted to 4.20 - 4.21 version?<br /> |-<br /> | 4.78 - 4.82 || 0x4EB8C0 ||<br /> |}<br /> <br /> ===ps2_gxemu.self===<br /> <br /> ====Self System Table Offset====<br /> {| cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; border=&quot;1&quot; class=&quot;wikitable&quot; style=&quot;text-align: center;&quot;<br /> |-<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 1.50 || 0x5BDFC8 ||<br /> |-<br /> | 1.90 || 0x666C78 ||<br /> |-<br /> | 3.66 - 3.74 || 0x6766B8 ||<br /> |-<br /> | 4.00 - 4.11 || 0x677990 ||<br /> |-<br /> | 3.66 - 3.74 || 0x677AA8 ||<br /> |-<br /> | 4.78 - 4.82 || 0x678548 || <br /> |-<br /> |}<br /> <br /> ===ps2_softemu.self===<br /> <br /> ====Self System Table Offset====<br /> {| cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; border=&quot;1&quot; class=&quot;wikitable&quot; style=&quot;text-align: center;&quot;<br /> |-<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 1.90 || 0x5C7B10 ||<br /> |-<br /> | 2.50 || 0x5C7ED8 ||<br /> |-<br /> | 3.41 || 0x5C8C00 || <br /> |-<br /> | 3.66 - 3.71 || 0x5C8EC0 ||<br /> |-<br /> | 3.72 - 4.01 || 0x5C8E40 ||<br /> |}<br /> <br /> ===ps2_netemu.self===<br /> [[PS2_Classics_Emulator_Compatibility_List|PS2 Classics Emulator Compatibility List]]<br /> <br /> ====Self System Table Offset====<br /> {| cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; border=&quot;1&quot; class=&quot;wikitable&quot; style=&quot;text-align: center;&quot;<br /> |-<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 3.73 - 3.74 || 0x7D8B00 ||<br /> |-<br /> | 4.00 - 4.01 || 0x7DA200 ||<br /> |-<br /> | 4.10 - 4.11 || 0x7DA180 ||<br /> |-<br /> | 4.20 - 4.25 || 0x7DA500 ||<br /> |-<br /> | 4.78 - 4.83 || 0x751280 || <br /> |-<br /> |}<br /> <br /> ====General observations regarding PS2 Classics emulator====<br /> * Virtual memory cards are per title based, but apparently run through the current memory card system. The module used to manage memory cards is: vmc_savedata_plugin.sprx - Using a regular memory card that has been renamed result in a &quot;The save data is corrupt (8XXXXXXX) error&quot;<br /> * Loads an epilepsy warning before PS2 logo (PS button menu appears during epilepsy warning if controller is synced)<br /> * Does not support online functionality of PS2 titles (network configuration utility inside Full Spectrum Warrior claims no network adaptor has been found, same with Syphon Filter: The Omega Strain).<br /> <br /> - Only file that is needed in the folder for PS2 Classics is &quot;iso.bin.enc&quot;. Removing the manuals/DXT files will cause the game to boot IMMEDIATELY to the PS2 logo upon switching to 720p/starting PS2 LPAR.<br /> <br /> ====folder/file layout====<br /> (in this example GTA San Andreas Classic)<br /> &lt;pre&gt;<br /> [NPUD20946]<br /> [USRDIR]<br /> [CONTENT]<br /> 001.dxt<br /> 002.dxt<br /> 003.dxt<br /> 004.dxt<br /> 005.dxt<br /> 006.dxt<br /> 007.dxt<br /> 008.dxt<br /> 009.dxt<br /> 010.dxt<br /> 011.dxt<br /> 012.dxt<br /> 013.dxt<br /> 014.dxt<br /> 015.dxt<br /> 016.dxt<br /> 017.dxt<br /> Others.dxt<br /> Manual.idx<br /> [SAVEDATA]<br /> SCEVMC0.VME<br /> SCEVMC1.VME<br /> CONFIG<br /> ISO.BIN.EDAT<br /> ISO.BIN.ENC<br /> PS3LOGO.DAT<br /> PARAM.SFO<br /> ICON0.PNG<br /> PIC0.PNG<br /> PIC1.PNG<br /> PIC2.PNG<br /> &lt;/pre&gt;<br /> <br /> ==Virtual PS2 (emulated machine) usage and features==<br /> <br /> ===Video Modes===<br /> '''Note:''' Real PS2 : http://users.neoscientists.org/~blue/ps2videomodes.txt<br /> <br /> Video Modes<br /> ----.-----------.---------------.-----------.-----------.<br /> No | Name | Resolution | fV(Hz) | fH(kHz) |<br /> ----+-----------+---------------+-----------+-----------|<br /> 0 | NTSC-NI | 640x240(224) | 59.940 | 15.734 |<br /> 1 | NTSC-I | 640x480(448) | 59.820 | 15.734 |<br /> 2 | PAL-NI | 640x288(256) | 50.000 | 15.625 |<br /> 3 | PAL-I | 640x576(512) | 49.760 | 15.625 |<br /> 4 | VESA-1A | 640x480 | 59.940 | 31.469 |<br /> 5 | VESA-1C | 640x480 | 75.000 | 37.500 |<br /> 6 | VESA-2B | 800x600 | 60.317 | 37.879 |<br /> 7 | VESA-2D | 800x600 | 75.000 | 46.875 |<br /> 8 | VESA-3B | 1024x768 | 60.004 | 48.363 |<br /> 9 | VESA-3D | 1024x768 | 75.029 | 60.023 |<br /> 10 | VESA-4A | 1280x1024 | 60.020 | 63.981 |<br /> 11 | VESA-4B | 1280x1024 | 75.025 | 79.976 |<br /> 12 | DTV-480P | 720x480 | 59.940 | 31.469 |<br /> 13 | DTV-1080I | 1920x1080 | 60.000 | 33.750 |<br /> 14 | DTV-720P | 1280x720 | ?? | ?? |<br /> ----^-----------^---------------^-----------^-----------'<br /> <br /> ===Memory Mapping===<br /> == PCSX2 ==<br /> Mapping host memory for virtual systems...<br /> EE Main Memory @ 0x20000000 -&gt; 0x22884000 [40mb]<br /> IOP Main Memory (2mb) @ 0x24000000 -&gt; 0x24211000 [2mb]<br /> VU0/1 on-chip memory @ 0x28000000 -&gt; 0x2800A000 [40kb]<br /> Reserving memory for recompilers...<br /> SuperVU0 Recompiler Cache @ 0x0E800000 -&gt; 0x0F000000 [8mb]<br /> SuperVU1 Recompiler Cache @ 0x0F000000 -&gt; 0x0F800000 [8mb]<br /> Micro VU0 Recompiler Cache @ 0x3C000000 -&gt; 0x40000000 [64mb]<br /> Micro VU1 Recompiler Cache @ 0x40000000 -&gt; 0x44000000 [64mb]<br /> (thread:MTVU) Calling pthread_create...<br /> R5900-32 Recompiler Cache @ 0x30000000 -&gt; 0x34000000 [64mb]<br /> R3000A Recompiler Cache @ 0x34000000 -&gt; 0x36000000 [32mb]<br /> VIF0 Unpack Recompiler Cache @ 0x36000000 -&gt; 0x36800000 [8mb]<br /> VIF1 Unpack Recompiler Cache @ 0x38000000 -&gt; 0x38800000 [8mb]<br /> <br /> == ps2netemu == <br /> Mapping ELF @ 0x200000000<br /> <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Name !! ea !! lpar2(netemu 4.81) !! size !! flags !! lpar1(lv1 4.81)<br /> |-<br /> | text || 0x0 || 0x3D00000 || 0x300000( 3 MB) || 0x8000000000000003 0000000000000003 || 0x7D00000<br /> |- <br /> | ro_work || 0x300000 || 0x300000 || 0x500000( 5 MB) || 0x0000000000000003 0000000000000003 || 0x4300000<br /> |- <br /> | rw_work || 0x800000 || 0x800000 || 0x2A00000( 42 MB) || 0x0000000000000001 0000000000000003 || 0x4800000<br /> |- <br /> | negmem || 0x1FFF0000 || 0x3210000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000000 || 0x7210000<br /> |- <br /> | ee_ram || 0x100000000 || 0x64000E000000 || 0x2000000( 32 MB) || 0x0000000000000001 0000000000000000 || 0x3C00000 - 0x3F00000, 0x8000000 - 0x9B00000<br /> |- <br /> | ee_jit_code || 0xD00000000 || 0x680024000000 || 0x3000000( 48 MB) || 0x8000000000000001 0000000000000003 || 0xBC00000 - 0xEB00000<br /> |- <br /> | vu0_jit_code || 0xD08000000 || 0x580000800000 || 0x400000( 4 MB) || 0x8000000000000001 0000000000000003 || 0x900000 - 0xC00000<br /> |- <br /> | vu0_jit_data || 0xD0C000000 || 0x3700000 || 0x400000( 4 MB) || 0x0000000000000002 0000000000000003 || 0x7700000<br /> |- <br /> | eeram_jit_lut || 0xE00000000 || 0x640010000000 || 0x2000000( 32 MB) || 0x0000000000000001 0000000000000003 || 0x9C00000 - 0xBB00000<br /> |- <br /> | eerom_jit_lut || 0xE0FC00000 || 0x580000C00000 || 0x400000( 4 MB) || 0x0000000000000001 0000000000000003 || 0xD00000 - 0x1000000<br /> |- <br /> | ee_dbg_ram || 0x90FFF8000 || 0x64000E078000 || 0x8000( 32 KB) || 0x0000000000000001 0000000000000000 || <br /> |- <br /> | iop_ram || 0x400000000 || 0x3300000 || 0x200000( 2 MB) || 0x0000000000000001 0000000000000000 || 0x7300000<br /> |- <br /> | iop_rom || 0x50FC00000 || 0x580001000000 || 0x400000( 4 MB) || 0x0000000000000001 0000000000000002 || 0x1100000 - 0x1400000<br /> |- <br /> | iop_spad || 0x50F800000 || 0x3220000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000002 || 0x7220000<br /> |- <br /> | spu2_ram || 0x600000000 || 0x3500000 || 0x200000( 2 MB) || 0x0000000000000001 0000000000000000 || 0x7500000<br /> |- <br /> | spu2_ram2 || 0x600200000 || 0x3500000 || 0x200000( 2 MB) || 0x0000000000000001 0000000000000000 || 0x7500000<br /> |- <br /> | spu2_pcm || 0x1000000000 || 0x3230000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000000 || 0x7230000<br /> |- <br /> | ee_spr_lo || 0x700000000 || 0x3201000 || 0x2000( 8 KB) || 0x0000000000000001 0000000000000000 || 0x7201000<br /> |- <br /> | ee_spr || 0x800000000 || 0x3203000 || 0x6000( 24 KB) || 0x0000000000000001 0000000000000000 || 0x7203000<br /> |- <br /> | ee_vu0_dmem0 || 0x301004000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_vu0_dmem1 || 0x301005000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_vu0_dmem2 || 0x301006000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_vu0_dmem3 || 0x301007000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_rom || 0x30FC00000 || 0x580001000000 || 0x400000( 4 MB) || 0x0000000000000001 0000000000000001 || 0x1100000 - 0x1400000<br /> |- <br /> | vrc || 0xC00000000 || 0x600005000000 || 0x1000000( 16 MB) || 0x0000000000000001 0000000000000000 || 0x1500000 - 0x2400000<br /> |- <br /> | /dev/zero || 0x4000000000 || 0x3240000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000001 || 0x7240000<br /> |- <br /> | dma_vu0_dmem0 || 0x4001004000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | dma_vu0_dmem1 || 0x4001005000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | dma_vu0_dmem2 || 0x4001006000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | dma_vu0_dmem3 || 0x4001007000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem0 || 0x30000000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem1 || 0x30001000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem2 || 0x30002000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem3 || 0x30003000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | SGSXdr || 0x1904000000 || 0x64000C000000 || 0x1700000( 23 MB) || 0x0000000000000001 0000000000000000 || 0x2500000 - 0x3B00000<br /> |- <br /> | iopTrace || 0x1400000000 || 0x3250000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000000 || 0x7250000<br /> |}<br /> <br /> === Memory Allocation ===<br /> <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Name !! Size !! page_log2 !! lpar2(netemu 4.81) !! lpar1(lv1 4.81)<br /> |-<br /> | ra_vu0_dmem || 0x1000 (4 KB) || 12 (4 KB) || 0x3200000 || 0x7200000<br /> |- <br /> | ra_ee_spr_lo || 0x2000 (8 KB) || 12 (4 KB) || 0x3201000 || 0x7201000<br /> |- <br /> | ra_ee_sprx || 0x6000 (24 KB) || 12 (4 KB) || 0x3203000 || 0x7203000<br /> |- <br /> | ra_negmem || 0x10000 (64 KB) || 16 (64 KB) || 0x3210000 || 0x7210000<br /> |- <br /> | ra_iop_spad || 0x10000 (64 KB) || 16 (64 KB) || 0x3220000 || 0x7220000<br /> |- <br /> | ra_spu2_pcm || 0x10000 (64 KB) || 16 (64 KB) || 0x3230000 || 0x7230000<br /> |- <br /> | ra_nulls || 0x10000 (64 KB) || 16 (64 KB) || 0x3240000 || 0x7240000<br /> |- <br /> | ra_itrace || 0x10000 (64 KB) || 16 (64 KB) || 0x3250000 || 0x7250000<br /> |- <br /> | ra_iop_ram || 0x200000 (2 MB) || 20 (1 MB) || 0x3300000 || 0x7300000<br /> |- <br /> | ra_spu2_ram || 0x200000 (2 MB) || 20 (1 MB) || 0x3500000 || 0x7500000<br /> |- <br /> | ra_vu0_code || 0x400000 (4 MB) || 20 (1 MB) || 0x580000800000 || 0x900000 - 0xC00000<br /> |- <br /> | ra_vu0_data || 0x400000 (4 MB) || 20 (1 MB) || 0x3700000 || 0x7700000<br /> |- <br /> | ra_ee_rom_pc || 0x400000 (4 MB) || 20 (1 MB) || 0x580000C00000 || 0xD00000 - 0x1000000<br /> |- <br /> | ra_ps2_rom || 0x400000 (4 MB) || 20 (1 MB) || 0x580001000000 || 0x1100000 - 0x1400000<br /> |- <br /> | ra_vrc_mem || 0x1000000 (16 MB) || 20 (1 MB) || 0x600005000000 || 0x1500000 - 0x2400000<br /> |- <br /> | ra_sgs_xdr || 0x1700000 (23 MB) || 20 (1 MB) || 0x64000C000000 || 0x2500000 - 0x3B00000<br /> |- <br /> | ra_ee_ram || 0x2000000 (32 MB) || 20 (1 MB) || 0x64000E000000 || 0x3C00000 - 0x3F00000, 0x8000000 - 0x9B00000<br /> |- <br /> | ra_ee_ram_pc || 0x2000000 (32 MB) || 20 (1 MB) || 0x640010000000 || 0x9C00000 - 0xBB00000<br /> |- <br /> | ra_trans_code || 0x3000000 (48 MB) || 20 (1 MB) || 0x680024000000 || 0xBC00000 - 0xEB00000<br /> |}<br /> <br /> ===PS2 Memory and Hardware Mapped Registers Layout===<br /> ----------------------------------------------- <br /> PCSX2<br /> Mapping host memory for virtual systems...<br /> EE Main Memory @ 0x20000000 -&gt; 0x22884000 [40mb]<br /> IOP Main Memory (2mb) @ 0x24000000 -&gt; 0x24211000 [2mb]<br /> VU0/1 on-chip memory @ 0x28000000 -&gt; 0x2800A000 [40kb]<br /> Reserving memory for recompilers...<br /> SuperVU0 Recompiler Cache @ 0x0E800000 -&gt; 0x0F000000 [8mb]<br /> SuperVU1 Recompiler Cache @ 0x0F000000 -&gt; 0x0F800000 [8mb]<br /> Micro VU0 Recompiler Cache @ 0x3C000000 -&gt; 0x40000000 [64mb]<br /> Micro VU1 Recompiler Cache @ 0x40000000 -&gt; 0x44000000 [64mb]<br /> (thread:MTVU) Calling pthread_create...<br /> R5900-32 Recompiler Cache @ 0x30000000 -&gt; 0x34000000 [64mb]<br /> R3000A Recompiler Cache @ 0x34000000 -&gt; 0x36000000 [32mb]<br /> VIF0 Unpack Recompiler Cache @ 0x36000000 -&gt; 0x36800000 [8mb]<br /> VIF1 Unpack Recompiler Cache @ 0x38000000 -&gt; 0x38800000 [8mb]<br /> <br /> R5900 RAM copy @ 0x11C20000 -&gt; 0x13C20000 [32mb]<br /> R5900 RAM LUT @ 0x13C20000 -&gt; 0x16060000 [36mb]<br /> <br /> RAM Sizes - Overview<br /> --------------------<br /> EE - 32 MB<br /> GS - 4 MB<br /> IOP - 2 MB<br /> SPU - 2 MB <br /> <br /> Logical Address Range Physical Address Range Description Size<br /> --------------------- ---------------------- ----------- -----<br /> 0x80000000-0x800FFFFF 0x00000000-0x000FFFFF EE Kernel 1 MB<br /> 0x00100000-0x01FFFFFF 0x00100000-0x01FFFFFF EE RAM (Cached) 31 MB<br /> 0x20100000-0x21FFFFFF 0x00100000-0x01FFFFFF EE RAM (Uncached) 31 MB<br /> 0x30100000-0x31FFFFFF 0x00100000-0x01FFFFFF EE RAM (Uncached&amp;accelerated) 31 MB<br /> 0x10000000-0x11FFFFFF 0x10000000-0x11FFFFFF EE Registers (uncached) 32 MB<br /> 0x12000000-0x13FFFFFF 0x12000000-0x13FFFFFF GS Registers (uncached) 32 MB<br /> 0x1FC00000-0x1FFFFFFF 0x1FC00000-0x1FFFFFFF? Boot ROM0 (uncached) 4 MB<br /> 0x9FC00000-0x9FFFFFFF 0x1FC00000-0x1FFFFFFF? Boot ROM09 (cached) 4 MB<br /> 0xBFC00000-0xBFFFFFFF 0x1FC00000-0x1FFFFFFF? Boot ROM0b (uncached) 4 MB<br /> 0xBE000000-0xBE040000 0x1E000000-0x1E03FFFF? Boot ROM1 256 KB<br /> 0xBE400000-0xBE440000 0x1E400000-0x1E43FFFF? Boot ROM2 256 KB<br /> 0xBC000000-0xBC1FFFFF 0x1C000000-0x1C1FFFFF? IOP RAM 2 MB<br /> 0x70000000-0x70003FFF ---------------------- Scratch Pad 16 KB <br /> <br /> Kernel empty and unused areas (NB: On non-modded consoles)<br /> ----------------------------------------------------------<br /> Area Logical Address Range Physical Address Range Size<br /> ---- --------------------- ---------------------- ----<br /> #1 0x80030000-0x80074FFF 0x00030000-0x00074FFF 282624 Bytes<br /> #2 0x80078250-0x8007FFFF 0x00078250-0x0007FFFF 32176 Bytes<br /> <br /> RAM Mirror Modes Logical Address Range Physical Address Range Size<br /> ---------------- --------------------- ---------------------- ----<br /> Cached 0x00100000-0x01FFFFFF 0x00100000-0x01FFFFFF 31 MB<br /> Uncached 0x20100000-0x21FFFFFF 0x00100000-0x01FFFFFF 31 MB<br /> Uncached&amp;accelerated 0x30100000-0x31FFFFFF 0x00100000-0x01FFFFFF 31 MB<br /> <br /> Operating Modes Logical Address Range Physical Address Range Size<br /> --------------- --------------------- ---------------------- ----<br /> USEG 0x00000000-0x01FFFFFF 0x00000000-0x01FFFFFF 32 MB<br /> KSEG0 0x80000000-0x81FFFFFF 0x00000000-0x01FFFFFF 32 MB<br /> KSEG1 0xA0000000-0xA1FFFFFF 0x00000000-0x01FFFFFF 32 MB<br /> <br /> Hardware Mapped Registers <br /> ------------------------- <br /> <br /> COUNTERS' REGISTERS<br /> -------------------<br /> 10000000 T0_COUNT Timer Count<br /> 10000010 T0_MODE Timer Mode<br /> 10000020 T0_COMP Timer Compare value<br /> 10000030 T0_HOLD Timer Pause <br /> <br /> 10000800 T1_COUNT Timer Count<br /> 10000810 T1_MODE Timer Mode<br /> 10000820 T1_COMP Timer Compare value<br /> 10000830 T1_HOLD Timer Pause <br /> <br /> 10001000 T2_COUNT Timer Count<br /> 10001010 T2_MODE Timer Mode<br /> 10001020 T2_COMP Timer Compare value<br /> <br /> 10001810 T3_COUNT Timer Count<br /> 10001820 T3_MODE Timer Mode<br /> 10001830 T3_COMP Timer Compare value<br /> <br /> IPU REGISTERS (MPEG2 DECODER)<br /> -----------------------------<br /> 10002000 IPU_CMD<br /> 10002010 IPU_CTRL<br /> 10002020 IPU_BP<br /> 10002030 IPU_TOP<br /> <br /> GIF REGISTERS<br /> -------------<br /> 10003000 GIF_CTRL<br /> 10003010 GIF_MODE<br /> 10003020 GIF_STAT<br /> 10003040 GIF_TAG0<br /> 10003050 GIF_TAG1<br /> 10003060 GIF_TAG2<br /> 10003070 GIF_TAG3<br /> 10003080 GIF_CNT<br /> 10003090 GIF_P3CNT<br /> 100030a0 GIF_P3TAG <br /> <br /> VIF0 REGISTERS<br /> -------------- <br /> 10003800 VIF0_STAT VIF0 Status<br /> 10003810 VIF0_FBRST<br /> 10003820 VIF0_ERR<br /> 10003830 VIF0_MARK<br /> 10003840 VIF0_CYCLE<br /> 10003850 VIF0_MODE <br /> 10003860 VIF0_NUM<br /> 10003870 VIF0_MASK<br /> 10003880 VIF0_CODE<br /> 10003890 VIF0_ITOPS<br /> 100038d0 VIF0_ITOP<br /> 10003900 VIF0_R0<br /> 10003910 VIF0_R1<br /> 10003920 VIF0_R2<br /> 10003930 VIF0_R3<br /> 10003940 VIF0_C0<br /> 10003950 VIF0_C1<br /> 10003960 VIF0_C2<br /> 10003970 VIF0_C3 <br /> <br /> VIF1 REGISTERS<br /> --------------<br /> 10003c00 VIF1_STAT<br /> 10003c10 VIF1_FBRST<br /> 10003c20 VIF1_ERR<br /> 10003c30 VIF1_MARK<br /> 10003c40 VIF1_CYCLE<br /> 10003c50 VIF1_MODE<br /> 10003c60 VIF1_NUM<br /> 10003c70 VIF1_MASK<br /> 10003c80 VIF1_CODE<br /> 10003c90 VIF1_ITOPS<br /> 10003ca0 VIF1_BASE<br /> 10003cb0 VIF1_OFST<br /> 10003cc0 VIF1_TOPS<br /> 10003cd0 VIF1_ITOP<br /> 10003ce0 VIF1_TOP<br /> 10003d00 VIF1_R0<br /> 10003d10 VIF1_R1<br /> 10003d20 VIF1_R2<br /> 10003d30 VIF1_R3<br /> 10003d40 VIF1_C0<br /> 10003d50 VIF1_C1<br /> 10003d60 VIF1_C2<br /> 10003d70 VIF1_C3<br /> <br /> FIFO<br /> ----<br /> 10004000 VIF0_FIFO(write)<br /> 10005000 VIF1_FIFO(read/write) <br /> <br /> 10006000 GIF_FIFO0<br /> 10006010 GIF_FIFO1<br /> 10006020 GIF_FIFO2 <br /> <br /> 10007000 IPU_out_FIFO(read)<br /> 10007010 IPU_in_FIFO(write)<br /> <br /> DMA CH0 REGISTERS (Linked to VIF0)<br /> ----------------------------------<br /> 10008000 D0_CHCR DMA-0 Channel Control<br /> 10008010 D0_MADR Memory Address<br /> 10008020 D0_SIZE Transfer Size (they call it D0_QWC)<br /> 10008030 D0_TAG DMA Tag (they call it D0_TADR)<br /> 10008040 D0_??LO they call it D0_ASR0<br /> 10008050 D0_??HI they call it D0_ASR1 <br /> <br /> DMA CH1 REGISTERS (Linked to VIF1)<br /> ----------------------------------<br /> 10009000 D1_CHCR DMA-1 Channel Control<br /> 10009010 D1_MADR Memory Address<br /> 10009020 D1_SIZE Transfer Size (they call it D1_QWC)<br /> 10009030 D1_TAG DMA Tag (they call it D1_TADR)<br /> 10009040 D1_??LO they call it D1_ASR0<br /> 10009050 D1_??HI they call it D1_ASR1 <br /> <br /> DMA CH2 REGISTERS (Linked to GIF)<br /> ---------------------------------<br /> 1000A000 D2_CHCR DMA-2 Channel Control<br /> 1000A010 D2_MADR Memory Address<br /> 1000A020 D2_SIZE Transfer Size (they call it D2_QWC)<br /> 1000A030 D2_TAG DMA Tag (they call it D2_TADR)<br /> 1000A040 D2_??LO they call it D2_ASR0<br /> 1000A050 D2_??HI they call it D2_ASR1<br /> 1000A080 D2_SADR<br /> <br /> DMA CH3 REGISTERS (Linked to IPU (FROM???))<br /> --------------------------------------------<br /> 1000B000 D3_CHCR DMA-3 Channel Control<br /> 1000B010 D3_MADR Memory Address<br /> 1000B020 D3_QWC Transfer Size<br /> <br /> DMA CH4 REGISTERS (Linked to IPU (TO???))<br /> -----------------------------------------<br /> 1000B400 D4_CHCR DMA-4 Channel Control<br /> 1000B410 D4_MADR Memory Address<br /> 1000B420 D4_QWC Transfer Size<br /> 1000B430 D4_TADR DMA Tag<br /> <br /> DMA CH5 REGISTERS (Linked to SIF0)<br /> ----------------------------------<br /> 1000C000 D5_CHCR DMA-4 Channel Control<br /> 1000C010 D5_MADR Memory Address<br /> 1000C020 D5_QWC Transfer Size <br /> <br /> DMA CH6 REGISTERS (Linked to SIF1)<br /> ----------------------------------<br /> 1000C400 D6_CHCR DMA-6 Channel Control<br /> 1000C410 D6_MADR Memory Address<br /> 1000C420 D6_QWC Transfer Size<br /> 1000C430 D6_TADR DMA Tag <br /> <br /> DMA CH7 REGISTERS (Linked to SIF2)<br /> ----------------------------------<br /> 1000C800 D7_CHCR DMA-7 Channel Control<br /> 1000C810 D7_MADR Memory Address<br /> 1000C820 D7_QWC Transfer Size<br /> <br /> DMA CH8 REGISTERS (Linked to SPR (form SCRATCH PAD to RAM???)<br /> --------------------------------------------------------------<br /> 1000D000 D8_CHCR DMA-8 Channel Control<br /> 1000D010 D8_MADR Memory Address<br /> 1000D020 D8_QWC Transfer Size<br /> 1000D080 D8_MCR ???<br /> <br /> DMA CH9 REGISTERS (Linked to SPR (form RAM to SCRATCH PAD???)<br /> --------------------------------------------------------------<br /> 1000D400 D9_CHCR DMA-9 Channel Control<br /> 1000D410 D9_MADR Memory Address<br /> 1000D420 D9_QWC Transfer Size<br /> 1000D430 D9_TADR DMA Tag<br /> 1000D480 D9_MCR? ??? <br /> <br /> DMA CONTROL REGISTERS<br /> ---------------------<br /> 1000E000 D_CTRL DMA Control<br /> 1000E010 D_STAT DMA Status<br /> 1000E020 D_PCR <br /> 1000E030 D_SQWC<br /> 1000E040 D_RBSR<br /> 1000E050 D_RBOR<br /> 1000E060 D_STADR<br /> <br /> 1000F000 INTC_STAT<br /> 1000F010 INTC_MASK<br /> <br /> 1000F100<br /> 1000F120<br /> 1000F130 STD-OUT STATUS???<br /> 1000F140<br /> 1000F150<br /> 1000F180 STD-OUT DATA???<br /> <br /> 1000F230 SBUS_SMFLG<br /> <br /> 1000F410<br /> 1000F430<br /> 1000F440<br /> 1000F480<br /> 1000F490<br /> 1000F500 <br /> <br /> 1000f520 D_ENABLEW<br /> 1000f590 D_ENABLER<br /> <br /> <br /> VU MAPPED MEMORY REGISTERS<br /> --------------------------<br /> 11000000 VU0 PROGRAM MEMORY Program Memory (4K ROM)<br /> 11001000 VU0 MEMORY Memory (4K ROM)<br /> 11008000 VU1 PROGAM MEMORY VU1 Program Memory (16K ROM)<br /> 1100C000 VU1 MEMORY VU1 Memory (16K ROM)<br /> <br /> GS<br /> --<br /> 12000000 GS_PMODE<br /> 12000010 GS_SMODE1<br /> 12000020 GS_SMODE2<br /> 12000030 GS_SRFSH<br /> 12000040 GS_SYNCH1<br /> 12000050 GS_SYNCH2<br /> 12000060 GS_SYNCV<br /> 12000070 GS_DISPFB1<br /> 12000080 GS_DISPLAY1<br /> 12000090 GS_DISPFB2<br /> 120000a0 GS_DISPLAY2<br /> 120000b0 GS_EXTBUF<br /> 120000c0 GS_EXTDATA<br /> 120000d0 GS_EXTWRITE<br /> 120000e0 GS_BGCOLOR<br /> 12001000 GS_CSR<br /> 12001010 GS_IMR<br /> 12001040 GS_BUSDIR<br /> 12001080 GS_SIGLBLID<br /> <br /> Scratch Pad RAM Address Range<br /> -----------------------------<br /> 0x70000000-0x70003FFF<br /> <br /> ROM BIOS Mirror Address Range Logical Address Range Physical Address Range<br /> ----------------------------- --------------------- ----------------------<br /> Uncached 0x1FC00000-0x1FFFFFFF 0x1FC00000-0x1FFFFFFF<br /> Cached 0x9FC00000-0x9FFFFFFF 0x1FC00000-0x1FFFFFFF<br /> Uncached 0xBFC00000-0xBFFFFFFF 0x1FC00000-0x1FFFFFFF <br /> <br /> Some Acronyms<br /> --------<br /> EE - Emotion Engine (main CPU)<br /> GS - Graphics Synthesizer<br /> IOP - Input/Output Processor<br /> SPU - Sound Processor Unit<br /> USEG - User Mode Segment<br /> KSEG0 - Kernel Mode, Segment 0<br /> KSEG1 - Kernel Mode, Segment 1 <br /> <br /> Sources<br /> -------<br /> TX System RISC TX79 Core Architecture (Symmetric 2-way superscalar 64-bit CPU) Rev. 2.0<br /> (http://lukasz.dk/files/tx79architecture.pdf)<br /> PS2 MEMORY &amp; HARDWARE MAPPED REGISTERS LAYOUT, by Minmei (https://web.archive.org/web/20080722165353/http://ps2dev.org/ps2/Technical_Documentation/Other/PS2_Memory_and_Hardware_Mapped_Registers_Layout.download) <br /> Kernel empty and unused areas, by GTLCPIMP (https://artemis.bountysource.com/task/show/2270)<br /> dump2mass, by misfire (https://artemis.bountysource.com/solution/show/1074)<br /> ... and others ones spreaded out on the World Wide Web which I can't remember<br /> <br /> ===Controller===<br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! ID !! Controller #Number !! Note<br /> |-<br /> | 1 (1-A) || 1 ||<br /> |-<br /> | 2 (2-A) || 2 ||<br /> |-<br /> | 3 (1-B) || 3 ||<br /> |-<br /> | 4 (2-B) || 4 ||<br /> |-<br /> | 5 (1-C) || 5 || Gamepad LED #1 + #4<br /> |-<br /> | 6 (2-C) || 6 || Gamepad LED #2 + #4<br /> |-<br /> | 7 (1-D) || 7 || Gamepad LED #3 + #4<br /> |-<br /> |}<br /> <br /> ===Peripheral support===<br /> ====ps2_emu.self / ps2_gxemu.self====<br /> #Hub<br /> #Mouse<br /> #Keyboard<br /> #EyeToy<br /> #Head Mount Display<br /> #Mic<br /> #Ascii Mic<br /> #Socom USB Headset<br /> #Usb Headset<br /> #Sea Mic Controller<br /> #Force Feedback device<br /> #GT Force<br /> #Momo Force<br /> #Driving Force Pro<br /> #G25/G27<br /> #Momo Racing<br /> #Flight Force<br /> #Force 3D Pro<br /> #Modem<br /> #Guncon2<br /> #Densya de GO! controller type 2<br /> #Densya de GO! Sincansen senyou controller<br /> #Capture Eye<br /> #Flight Stick<br /> #Flight Stick 2<br /> #Pop Egg<br /> #Trance Vibrator<br /> #PSP<br /> #Compact Flight Controller<br /> #Flash Memory<br /> #Buzz!<br /> #Pachi-Slot Controller Kurouto<br /> #Usb Adapter<br /> #Guncon3<br /> #Multi Train Controller<br /> <br /> ====ps2_netemu.self====<br /> #BD Remote Control<br /> #PLAYSTATION(R)3 Controller (Vendor ID 0x54C, Product ID 0x268), <br /> #Motion Controller - Move (Vendor ID 0x54C, Product ID 0x3D5), <br /> #Navigation Controller (Vendor ID 0x54C, Product ID 0x42F)<br /> #&quot;guncon3&quot;<br /> &lt;br/&gt;<br /> Unknown: <br /> #Vendor ID 0xF0D (Hori), Product ID 0x4A <br /> #Vendor ID 0x54C (Sony), Product ID 0x5AF<br /> <br /> ===BIOS===<br /> ====ps2_netemu.self====<br /> Ps2_netemu use integrated PS2 bios included in ps2netemu.elf, not additional file like in ps1emu case. In 4.81 firmware BIOS is located from 0x820A00 to 0x9F09FF (0x820900 to 0x9F08FF in fw4.50). Bios version seems to be Developement v2.20 from Japan region (22/01/2007), but it's of course not limited to booting only NTSC-J games.<br /> <br /> Notable thing is that ps2_netemu run fine with ps2_gxemu bios, but fail to boot using ps2_emu bios. <br /> <br /> {| class=&quot;wikitable&quot; style=&quot;font-size:small;&quot;<br /> |-<br /> ! File !! Offset in fw4.81 ps2_netemu !! Offset in exported bin !! Description !! File type (exportable)<br /> |-<br /> | RESET || 0x820A00 || 0x00 || Bootstrap code for the EE and IOP. || BIN<br /> |-<br /> | ROMDIR || 0x823180 || 0x2780 || The ROMDIR part of the ROM image, which provides information on the location and name of files contained in the image. || BIN<br /> |-<br /> | EXTINFO || 0x8236C0 || 0x2CC0 || Contains the &quot;EXTINFO&quot; for all files in the ROM image. || BIN<br /> |-<br /> | SBIN || 0x823D30 || 0x3330 || Seems to be the pad controller library for the PS1 monitor. || BIN<br /> |-<br /> | LOGO || 0x82ACD0 || 0xA2D0 || PS1 logo? || BIN<br /> |-<br /> | IOPBTCONF || 0x83F420 || 0x1EA20 || Boot configuration file for the IOP, during the final phase of the IOP reset. If no UDNL module is specified, the IOP will only have a single IOP reset in the reboot process, with the modules listed in IOPBTCONF. || BIN<br /> |-<br /> | IOPBTCON2 || 0x83F510 || 0x1EB10 || Boot configuration file for the IOP, for the first phase of the IOP reset (before UDNL is loaded). || BIN<br /> |-<br /> | SYSMEM || 0x83F5E0 || 0x1EBE0 || System Memory Manager. || ELF<br /> |-<br /> | LOADCORE || 0x840800 || 0x1FE00 || The core of IOP module loading. Provides the lowest level of IOP module loading functions. Also handles the startup of the IOP. || ELF<br /> |-<br /> | EXCEPMAN || 0x842D80 || 0x22380 || Exception manager. || ELF<br /> |-<br /> | INTRMANP || 0x843960 || 0x22F60 || Interrupt Manager. According to wisi, it is for PS mode. || ELF<br /> |-<br /> | INTRMANI || 0x845370 || 0x24970 || Interrupt Manager. According to wisi, it is for IOP mode. || ELF<br /> |-<br /> | SSBUSC || 0x8471B0 || 0x267B0 || SSBUS Controller library. The SSBUS seems to be the bus that all peripherals get connected to. It seems to have the power to control the mapping of the device registers, as well as access timing. || ELF<br /> |-<br /> | TIMEMANP || 0x847920 || 0x26F20 || Timer Manager (PS mode) || ELF<br /> |-<br /> | TIMEMANI || 0x848500 || 0x27B00 || Timer Manager (IOP mode) || ELF<br /> |-<br /> | DMACMAN || 0x849130 || 0x28730 || DMA Controller Manager. || ELF<br /> |-<br /> | SYSCLIB || 0x84C830 || 0x2BE30 || System C Library. || ELF<br /> |-<br /> | HEAPLIB || 0x84EF90 || 0x2E590 || Memory HEAP LIBrary (i.e. thvpool, thfpool) || ELF<br /> |-<br /> | THREADLIB || 0x84FC90 || 0x2F290 || Multi_Thread_Manager || ELF<br /> |-<br /> | VBLANK || 0x858A20 || 0x38020 || V-Blank management || ELF<br /> |-<br /> | IOMAN || 0x8597B0 || 0x38DB0 || IO Manager || ELF<br /> |-<br /> | MODLOAD || 0x85B720 || 0x3AD20 || IOP module loader. || ELF<br /> |-<br /> | ROMDRV || 0x85DA70 || 0x3D070 || ROM driver. Provides access to the boot ROM (rom0). || ELF<br /> |-<br /> | ADDDRV || 0x85E960 || 0x3DF60 || Adds support for the DVD ROM (rom1:), via ROMDRV. || ELF<br /> |-<br /> | STDIO || 0x85DDC0 || 0x3D3C0 || Standard I/O library. || ELF<br /> |-<br /> | SIFMAN || 0x85F9B0 || 0x3EFB0 || SIF manager. || ELF<br /> |-<br /> | SIFINIT || 0x860F50 || 0x40550 || Initializes the SIF. || ELF<br /> |-<br /> | EESYNC || 0x861370 || 0x40970 || For synchronizing with the EE, at the end of IOP resets. EESYNC from DNAS images are evil; they also perform a memory wipe of the region from 0x00084000 to .0x00100000. || ELF<br /> |-<br /> | EENULL || 0x861810 || 0x40E10 || The idle thread (id #0) module, in ps2 loaded to 0x00081FC0. || BIN<br /> |-<br /> | PS1ID || 0x861850 || 0x40E50 || Only found in newer boot ROMs || BIN<br /> |-<br /> | LIBFI || 0x861860 || 0x40E60 || Not present in the boot ROM of the SCPH-10000 and SCPH-15000. || BIN<br /> |-<br /> | PS1VERJ || 0x861950 || 0x40F50 || || BIN<br /> |-<br /> | PS1VERA || 0x861960 || 0x40F60 || || BIN<br /> |-<br /> | PS1VERE || 0x861970 || 0x40F70 || || BIN<br /> |-<br /> | PS1VERC || 0x861980 || 0x40F80 || || BIN<br /> |-<br /> | PS1VERH || 0x861990 || 0x40F90 || || BIN<br /> |-<br /> | OSDSYS || 0x8619A0 || 0x40FA0 || The browser || BIN<br /> |-<br /> | - || 0x8619B0 || 0x40FB0 || || BIN<br /> |-<br /> | RDRAM || 0x861A00 || 0x41000 || Provides a RDRAM test for the EE at power-on. This is run from RESET. || BIN<br /> |-<br /> | EELOADCNF || 0x864750 || 0x43D50 || Contains the IOP boot configuration file for EELOAD. || BIN<br /> |-<br /> | SIFCMD || 0x864900 || 0x43F00 || SIF command module. Contains the SIF command and SIF RPC functions. || ELF<br /> |-<br /> | REBOOT || 0x866B40 || 0x46140 || The reboot service. Receives IOP reset packets from the EE, from across the SIF. || ELF<br /> |-<br /> | LOADFILE || 0x867310 || 0x46910 || The RPC server for MODLOAD || ELF<br /> |-<br /> | EECONF || 0x869A70 || 0x49070 || Loads part of the system configuration from the MECHACON EEPROM. Also configures and resets some peripherals, depending on the model version. In slimlines, and possibly on PS3 EECONF will also load the MAC address. || ELF<br /> |-<br /> | - || 0x86A9F0 || 0x49FF0 || || BIN<br /> |-<br /> | IOPBOOT || 0x86AA00 || 0x4A000 || IOP bootup program || BIN<br /> |-<br /> | - || 0x86BB60 || 0x4B160 || || BIN<br /> |-<br /> | TBIN || 0x86C200 || 0x4B800 || The PS1 monitor program. Seems to be the PS1 BIOS. This is started by RESET, when the IOP is in PS1 mode. || BIN<br /> |-<br /> | XSHA1 || 0x87A170 || 0x59770 || sha1 - this only present in PS3. It is used as additional antipiracy check. It seems that it calculate disc main elf checksum and compares it with some database. Config related?|| ELF<br /> |-<br /> | XLOADFILE || 0x87B140 || 0x5A740 || Updated module || ELF<br /> |-<br /> | SIO2MAN || 0x87E1F0 || 0x5D7F0 || SIO2 manager. Provides access to the SIO2 interface. || ELF<br /> |-<br /> | - || 0x87FE20 || 0x5F420 || || BIN<br /> |-<br /> | MCSERV || 0x881D40 || 0x61340 || RPC server for MCMAN. || ELF<br /> |-<br /> | - || 0x883A40 || 0x63040 || || BIN<br /> |-<br /> | KROMG || 0x884A00 || 0x64000 || || BIN<br /> |-<br /> | - || 0x8866C0 || 0x65CC0 || || BIN<br /> |-<br /> | KROM || 0x886A00 || 0x66000 || Kanji ROM? Not sure where this is used. || BIN<br /> |-<br /> | - || 0x8A0870 || 0x7FE70 || || BIN<br /> |-<br /> | ROMVER || 0x8A0900 || 0x7FF00 || ROM version. || BIN<br /> |-<br /> | - || 0x8A0910 || 0x7FF10 || || BIN<br /> |-<br /> | VERSTR || 0x8A0930 || 0x7FF30 || Version string. Probably PS1 ROM will use this because that this string is also present in PlayStation consoles. || BIN<br /> |-<br /> | - || 0x8A0990 || 0x7FF90 || || BIN<br /> |-<br /> | ROMGSCRT || 0x8A0A00 || 0x80000 || || BIN<br /> |-<br /> | NCDVDMAN || 0x8A3730 || 0x82D30 || It seems to be a heavily stripped-down CDVDMAN module, with no support for some S-command functions like sceCdRI. || ELF<br /> |-<br /> | SECRMAN || 0x8B0170 || 0x8F770 || Security Manager. Signing is NOT done with the one in ROM, but with a special version that comes with the utility discs. Looks like PS3 units have a different SECRMAN module from retail sets, similar to PS2 TOOL one. || ELF<br /> |-<br /> | MCMAN || 0x8B4630 || 0x93C30 || Memory Card Manager. || ELF<br /> |-<br /> | PADMAN || 0x8C3AC0 || 0xA30C0 || Pad manager. || ELF<br /> |-<br /> | CDVDMAN || 0x8CD210 || 0xAC810 || The CD/DVD manager. || ELF<br /> |-<br /> | CDVDFSV || 0x8D55C0 || 0xB4BC0 || The RPC server for CDVDMAN. || ELF<br /> |-<br /> | FILEIO || 0x8DD980 || 0xBCF80 || RPC server for IOMAN. Sony has greatly changed the semantics and design of FILEIO after some point. Connecting an old FILEIO EE RPC client to a newer server will result in a severe IOP crash. || ELF<br /> |-<br /> | CLEARSPU || 0x8DFA80 || 0xBF080 || Seems to clear/reset the SPU, but is known to cause crashes under some conditions. Not sure if it's buggy or not. Only used by the OSDSYS of the SCPH-10000 and SCPH-15000, probably retained for backward-compatibility. || ELF<br /> |-<br /> | UDNL || 0x8E16C0 || 0xC0CC0 || It is responsible for selecting the modules and starting the IOP, during the final phase of the IOP reset where the desired modules are to be loaded into the IOP. || ELF<br /> |-<br /> | IGREETING || 0x8E35C0 || 0xC2BC0 || Displays boot information (i.e. IOP boot type, EBOOTP, IBOOTP, switch positions for DSW602 and the type of DSW602 board installed || ELF<br /> |-<br /> | EELOAD || 0x8E4620 || 0xC3C20 || The EE ELF loader, which is loaded by LoadExecPS2() to 0x00082000 in PS2 for loading ELFs. || BIN<br /> |-<br /> | XCDVDMAN || 0x8F37A0 || 0xD2DA0 || cdvd_driver - Updated module || ELF<br /> |-<br /> | XCDVDFSV || 0x902530 || 0xE1B30 || cdvd_ee_driver - Updated module || ELF<br /> |-<br /> | OSDSND || 0x910960 || 0xEFF60 || OSD sound library. This is actually the tentative sound driver, which is called &quot;librspu2&quot; in the Sony SDK. || ELF<br /> |-<br /> | PS2LOGO || 0x93B5B0 || 0x11ABB0 || Displays the PlayStation 2 logo from the inserted disc. For newer consoles, if the logo cannot be decrypted properly, it will fall back to the browser. Not actually required to boot games, but the Sony OSDSYS boots PS2 games through this program. || ELF<br /> |-<br /> | XPARAM2 || 0x957F00 || 0x137500 || Store IOP emulation settings/flags || ELF<br /> |-<br /> | OSDSYS || 0x95A400 || 0x139A00 || The browser || BIN<br /> |-<br /> | PIOPRP || 0x998280 || 0x177880 || Present in the PS3 ps2_(gx/soft/net)emu; contains version 3.1.0 of the IOP software (compared to version 1.3.4 on the root). || BIN<br /> |-<br /> | KERNEL || 0x9DC1E0 || 0x1BB7E0 || The EE kernel || BIN<br /> |}<br /> Description source: https://gist.github.com/uyjulian/25291080f083987d3f3c134f593483c5<br /> <br /> ==Virtual PS2 HDD==<br /> There are 2 different &quot;PS2 game&quot; contents that can be installed in PS3 HDD (CATEGORY's [[PARAM.SFO#CATEGORY_For_HDD_contents | 2P and 2G ]]).<br /> '''2P''' are games released from PSN as &quot;PS2 Classic&quot; in .PKG format, and '''2G''' are a few real &quot;PS2 DVD discs&quot; that can be installed in the PS3 HDD, this installation is managed by the '''PS2_system_data.pkg'''.<br /> <br /> This games can be installed in real PS2 (in the internall HDD of a PS2 fat)... later this same installation was used in the [http://en.wikipedia.org/wiki/PSX_(DVR) PSX]... and when implemented in PS3 there was needed to use a '''virtual PS2 HDD''' image file keeping the same format than the original HDD used in PS2.<br /> <br /> Game files (extracted from the real PS2 disc) are installed in a '''IMAGE.DAT''' file, this file is a 1:1 &quot;raw copy&quot; of a PS2 HDD.<br /> <br /> This '''IMAGE.DAT''' is placed in the &quot;install folder&quot; (inside USRDIR folder) and his size can vary up to 10+GB<br /> <br /> There are 2 different installations: the most common is used to store &quot;game expansions&quot; (e.g: used by additional content in SOCOM games)... the other type of installation is a &quot;full install&quot; and it seems the only game that uses it is &quot;Final Fantasy XI&quot; (main game installation when the game boots for first time + game expansions added later when needed in the same '''IMAGE.DAT''')<br /> <br /> '''PS2_system_data.pkg''' itself uses an '''IMAGE.DAT''' file (6.43 MB)<br /> <br /> The structure of this &quot;virtual PS2 HDD&quot; uses an &quot;APA header&quot; and a &quot;APA MBR&quot; + several &quot;APA partitions&quot;, some of them containing &quot;PFS filesystems&quot;.<br /> <br /> Error message trying to boot a CATEGORY &quot;2G&quot; game with hand-made SFO's and invalid IMAGE.DAT file:<br /> '''The game partition for this game cannot be created because the installed game is corrupted.'''<br /> '''To perform this operation, delete the game, and then reinstall the game using the disc.'''<br /> <br /> *Notes<br /> **List of PS2 disc games compatibles with PS3 HDD installation hardcoded in '''dev_flash/vsh/module/[[game_ext_plugin]].sprx'''<br /> **Virtuall PS2 HDD support module '''dev_flash/vsh/module/[[libps2hdd]].sprx''' ?<br /> <br /> ===PS2 System Data (PSN HDD Tool package)===<br /> A direct link to the package can be found in NoPayStation database in DLCs<br /> <br /> Content ID: IP9100-NPIA00001_00-PS2HDDSYSDAT0001<br /> QA Digest: 2A876715D42678BB7A6E00C030C0121B<br /> HASH: E1B0DBE46FC44190DC7A140681D8B9D4<br /> <br /> http://manuals.playstation.net/document/en/ps3/current/game/hddinstall.html<br /> <br /> '''Titles supporting HDD installation'''<br /> * Nobunaga's Ambition Online and Expansion Packs<br /> * Final Fantasy XI (disc1=SCUS97266 disc2=SCUS97269)and Expansion Discs<br /> * SOCOM II: U.S. NAVY SEALs and Related discs included with OPM Issue 87, OPM Issue 88, OPM Issue 89, OPM Issue 90<br /> * SOCOM 3: U.S. NAVY SEALs<br /> * SOCOM: U.S. NAVY SEALs Combined Assault<br /> * Front Mission Online<br /> * Official PlayStation Magazine Issue 87, 88, 89, 90 Discs<br /> ([[Talk:Emulation#PS2_HDD | non-official ps2hdd gameslist ]])<br /> <br /> ===TitleID/DiscID in game_ext_plugin.sprx===<br /> <br /> Mainly Final Fantasy 11, Nobunaga Ambition Online, Socom IDs and the required HDD Gigabyte amount for install onto the internal hdd.<br /> <br /> Speculation: flags are AND' with 0,1,2 (selected from sys_sm_get_hw_config according to ps2emu hardware flags? 0 = no hw?, 1 = gxemu?, 2=full hw? )<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> ! flags !! DiscID !! Alternative? DiscID !! GigaByte !! Title !! 0 = VMC&lt;br&gt;1 = IMAGE.DAT !! Internal Name? !! GigaByte<br /> |-<br /> |0xFFFF || &quot;SLPS20200&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM65705&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM65706&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM65953&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM66393&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM66394&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM66893&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM66894&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM55229&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0x0001 || &quot;SLPM65197&quot; || &quot;SLPM65197&quot; || 0x07 || &quot;信長の野望 Online&quot; || 1 || &quot;PP.SLPM-65197.MAGIC.APPLICATION&quot; || 0x07<br /> |-<br /> |0x0001 || &quot;SLPM65783&quot; || &quot;SLPM65197&quot; || 0x07 || &quot;信長の野望 Online&quot; || 1 || &quot;PP.SLPM-65197.MAGIC.APPLICATION&quot; || 0x07<br /> |-<br /> |0x0001 || &quot;SLPM66539&quot; || &quot;SLPM65197&quot; || 0x07 || &quot;信長の野望 Online&quot; || 1 || &quot;PP.SLPM-65197.MAGIC.APPLICATION&quot; || 0x07<br /> |-<br /> |0x0001 || &quot;SLPM66954&quot; || &quot;SLPM65197&quot; || 0x07 || &quot;信長の野望 Online&quot; || 1 || &quot;PP.SLPM-65197.MAGIC.APPLICATION&quot; || 0x07<br /> |-<br /> |0xFFFF || &quot;SCUS97269&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLUS21070&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLUS21404&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLUS21694&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLUS21704&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SCUS97275&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97474&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97340&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97341&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97342&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97442&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97545&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |}<br /> <br /> In PS2 Emulator same Title IDs are present with following information: <br /> SLPS25200 FINAL FANTASY XI : 0x100000000 (4 GB?)<br /> SCUS97269 FINAL FANTASY XI : 0x300000000 (12GB?)<br /> SLPM65981 Front Mission Online : 0x100000000 (4 GB?)<br /> SLPM65197 Nobunagas Ambition Online : 0x200000000 (8 GB?)<br /> <br /> ==Emulators management from GameOS==<br /> <br /> ===Mountpoints===<br /> dev_ps2disc<br /> dev_ps2disc1 <br /> <br /> ===ps2_netemu syscalls ===<br /> <br /> 0x0 - 0 = exec smth, <br /> 1 = 0x132 panic, <br /> 2 = 0x133 panic, <br /> 3 = 0x134 panic,<br /> 4 = 0x135 panic, <br /> else = 0x136 panic)<br /> 0xC - exec smth<br /> 0x5 - exec smth<br /> 0x6 - exec smth<br /> 0x10 - panic<br /> <br /> Basically are [[HV_Syscalls#HV_Syscalls|hvsc syscalls]] (xoris r11, r11, 0x8000)<br /> <br /> 0x80000000 - [[HV_Syscall_Reference#lv1_allocate_memory]]<br /> 0x80000001 - [[HV_Syscall_Reference#lv1_write_htab_entry]]<br /> 0x80000002 - [[HV_Syscall_Reference#lv1_construct_virtual_address_space]]<br /> 0x80000007 - [[HV_Syscall_Reference#lv1_select_virtual_address_space]]<br /> 0x80000009 - [[HV_Syscall_Reference#lv1_pause]]<br /> 0x8000000F - [[HV_Syscall_Reference#lv1_put_iopte]]<br /> 0x80000012 - [[HV_Syscall_Reference#lv1_construct_event_receive_port]]<br /> 0x8000001A - [[HV_Syscall_Reference#lv1_detect_pending_interrupts]]<br /> 0x8000001B - [[HV_Syscall_Reference#lv1_end_of_interrupt]]<br /> 0x8000001C - [[HV_Syscall_Reference#lv1_connect_irq_plug]]<br /> 0x80000039 - [[HV_Syscall_Reference#lv1_construct_logical_spe]]<br /> 0x8000003D - [[HV_Syscall_Reference#lv1_set_spe_interrupt_mask]]<br /> 0x80000042 - [[HV_Syscall_Reference#lv1_clear_spe_interrupt_status]]<br /> 0x80000043 - [[HV_Syscall_Reference#lv1_get_spe_interrupt_status]]<br /> 0x80000045 - [[HV_Syscall_Reference#lv1_get_logical_ppe_id]]<br /> 0x80000049 - [[HV_Syscall_Reference#lv1_set_interrupt_mask]]<br /> 0x8000004A - [[HV_Syscall_Reference#lv1_get_logical_partition_id]]<br /> 0x8000004E - [[HV_Syscall_Reference#lv1_get_spe_irq_outlet]]<br /> 0x8000005B - [[HV_Syscall_Reference#lv1_get_repository_node_value]]<br /> 0x8000005F - [[HV_Syscall_Reference#lv1_read_htab_entries]]<br /> 0x80000061 - [[HV_Syscall_Reference#lv1_set_vmx_graphics_mode]]<br /> 0x80000062 - [[HV_Syscall_Reference#lv1_set_thread_switch_control_register]]<br /> 0x80000074 - [[HV_Syscall_Reference#lv1_allocate_io_segment]]<br /> 0x80000076 - [[HV_Syscall_Reference#lv1_allocate_ioid]]<br /> 0x80000078 - [[HV_Syscall_Reference#lv1_construct_io_irq_outlet]]<br /> 0x8000007C - [[HV_Syscall_Reference#lv1_undocumented_function_124]]<br /> 0x8000007D - [[HV_Syscall_Reference#lv1_undocumented_function_125]]<br /> 0x8000007E - [[HV_Syscall_Reference#lv1_undocumented_function_126]]<br /> 0x80000088 - [[HV_Syscall_Reference#lv1_undocumented_function_136]]<br /> 0x8000008C - [[HV_Syscall_Reference#lv1_construct_lpm]]<br /> 0x8000008D - [[HV_Syscall_Reference#lv1_destruct_lpm]]<br /> 0x8000008E - [[HV_Syscall_Reference#lv1_start_lpm]]<br /> 0x8000008F - [[HV_Syscall_Reference#lv1_stop_lpm]]<br /> 0x80000090 - [[HV_Syscall_Reference#lv1_copy_lpm_trace_buffer]]<br /> 0x80000091 - [[HV_Syscall_Reference#lv1_add_lpm_event_bookmark]]<br /> 0x80000092 - [[HV_Syscall_Reference#lv1_delete_lpm_event_bookmark]]<br /> 0x80000093 - [[HV_Syscall_Reference#lv1_set_lpm_interrupt_mask]]<br /> 0x80000094 - [[HV_Syscall_Reference#lv1_get_lpm_interrupt_status]]<br /> 0x80000095 - [[HV_Syscall_Reference#lv1_set_lpm_general_control]]<br /> 0x80000096 - [[HV_Syscall_Reference#lv1_set_lpm_interval]]<br /> 0x80000097 - [[HV_Syscall_Reference#lv1_set_lpm_trigger_control]]<br /> 0x80000098 - [[HV_Syscall_Reference#lv1_set_lpm_counter_control]]<br /> 0x80000099 - [[HV_Syscall_Reference#lv1_set_lpm_group_control]]<br /> 0x8000009A - [[HV_Syscall_Reference#lv1_set_lpm_debug_bus_control]]<br /> 0x8000009B - [[HV_Syscall_Reference#lv1_set_lpm_counter]]<br /> 0x8000009C - [[HV_Syscall_Reference#lv1_set_lpm_signal]]<br /> 0x8000009D - [[HV_Syscall_Reference#lv1_set_lpm_spr_trigger]]<br /> 0x800000A3 - [[HV_Syscall_Reference#lv1_write_virtual_uart]]<br /> 0x800000A4 - [[HV_Syscall_Reference#lv1_set_virtual_uart_param]]<br /> 0x800000A5 - [[HV_Syscall_Reference#lv1_get_virtual_uart_param]]<br /> 0x800000A6 - [[HV_Syscall_Reference#lv1_configure_virtual_uart_irq]]<br /> 0x800000AA - [[HV_Syscall_Reference#lv1_open_device]]<br /> 0x800000AB - [[HV_Syscall_Reference#lv1_close_device]]<br /> 0x800000AC - [[HV_Syscall_Reference#lv1_map_device_mmio_region]]<br /> 0x800000AE - [[HV_Syscall_Reference#lv1_allocate_device_dma_region]]<br /> 0x800000AF - [[HV_Syscall_Reference#lv1_free_device_dma_region]]<br /> 0x800000B0 - [[HV_Syscall_Reference#lv1_map_device_dma_region]]<br /> 0x800000B1 - [[HV_Syscall_Reference#lv1_unmap_device_dma_region]]<br /> 0x800000B2 - [[HV_Syscall_Reference#lv1_read_pci_config]]<br /> 0x800000B3 - [[HV_Syscall_Reference#lv1_write_pci_config]]<br /> 0x800000C5 - [[HV_Syscall_Reference#lv1_connect_interrupt_event_receive_port]]<br /> 0x800000CF - [[HV_Syscall_Reference#lv1_enable_logical_spe]]<br /> 0x800000D2 - [[HV_Syscall_Reference#lv1_gpu_open]]<br /> 0x800000D4 - [[HV_Syscall_Reference#lv1_gpu_device_map]]<br /> 0x800000D6 - [[HV_Syscall_Reference#lv1_gpu_memory_allocate]]<br /> 0x800000D9 - [[HV_Syscall_Reference#lv1_gpu_context_allocate]]<br /> 0x800000DD - [[HV_Syscall_Reference#lv1_gpu_context_iomap]]<br /> 0x800000E1 - [[HV_Syscall_Reference#lv1_gpu_context_attribute]]<br /> 0x800000E3 - [[HV_Syscall_Reference#lv1_gpu_context_intr]]<br /> 0x800000E4 - [[HV_Syscall_Reference#lv1_gpu_attribute]]<br /> 0x800000F5 - [[HV_Syscall_Reference#lv1_storage_read]]<br /> 0x800000F6 - [[HV_Syscall_Reference#lv1_storage_write]]<br /> 0x800000F9 - [[HV_Syscall_Reference#lv1_storage_get_async_status]]<br /> <br /> ===LPAR / AUTH ID's===<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Name !! Auth ID !! Self&lt;br /&gt;(/dev_flash/ps2emu) !! Notes<br /> |-<br /> | PS2_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_emu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2 || 0x107000001D000001 || <br /> |-<br /> | PS2_GX_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_gxemu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2_GX || 0x107000001D000001 || <br /> |-<br /> | PS2_SW_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_softemu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2_SW || 0x107000001D000001 || <br /> |-<br /> | PS2_NE_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_netemu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2_NE || 0x107000001D000001 || <br /> |-<br /> |}<br /> <br /> ====boot_ps2====<br /> http://foxbrew.org/ps3/otheros-utils/boot_ps2.git &lt;br /&gt;<br /> http://www.multi...upload.com/QKK7ETPHXZ boot_ps2-src.rar (1.43 KB) &lt;br /&gt;<br /> http://www.multi...upload.com/YCZ63Y6TQ5 boot_ps2.pkg (69.17 KB) &lt;br /&gt;<br /> <br /> any chance of having this package resigned for 4.21 cfw? might be useful to see if it'll boot ps2_netemu.self LPAR.<br /> <br /> (can boot ps2lpar, but also petitboot if otheros installed! 50:50 chance)<br /> <br /> [http://rghost.net/42586725 boot_ps2 4.xx eboots.zip (153 KB)] &lt;br /&gt; installing 3.55 pkg and replacing the eboot and editing the sfo should work.<br /> <br /> ===Getting compatibility hardware info===<br /> See: [[PS2_Compatibility#Software]]<br /> <br /> ===ps2bootparam.dat===<br /> A file created at path: dev_hdd0/tmp/game/'''ps2bootparam.dat'''<br /> *See: [[ps2bootparam.dat]]&lt;!--we need this page because we have others like that in wiki--&gt;<br /> <br /> ===Cobra core===<br /> taken from storage_ext.c<br /> &lt;pre&gt; patch_ps2emu_entry(ps2emu_type); &lt;/pre&gt;<br /> *sets proper ps2_(gx/soft)emu.self path for reboot<br /> *patches ss_storage service 0x5004 disc checks on ss_server3.self inside lv1<br /> (Change from Parameter li r3, 2 and li r3, 1E (Drive Authentification) to li r3, 0x29 (Reset Drive))<br /> *and the usual either replace read/ioctl for iso etc.<br /> <br /> ==Game CONFIG==<br /> Some of the PS2 emulator types (such ps2_gxemu.self, ps2netemu.self) are able to load config commands that are applyed &quot;by game ID&quot;. The concept of &quot;game patches&quot; is not technically correct because some of the commands does patching functions but others does other things (not patching), and other commands works as switches or sets a value that are enviromental settings for the emulator (not for the game) but because are applyed &quot;by game&quot; should be considered enviromental settings for that specific game, so for simplification purposes you can think in all this data as &quot;game configs&quot;<br /> <br /> This &quot;game config&quot; data seems to work in the same way for all the PS2 emulator types but can be located in different places, some are hardcoded inside the emulators itself (inside the .self), and at the time the &quot;PS2 classics&quot; emulator (ps2_netemu.self) was developed this config can be loaded from an external file&lt;!--and there is some more inside some .sprx or inside the ps2 hdd data pkg ?--&gt;<br /> <br /> In short, the &quot;game configs&quot; can modify the game image (by patching it) and can be used to configure the virtual PS2 (the emulated machine). And can be loaded from hardcoded data (inside the .self) or from an external file (this feature is supported only by ps2_netemu.self)<br /> <br /> The config data consists in a list of concatenated values of 8 bytes lenght (uint32_t), and can be processed like this:<br /> union{<br /> uint32_t command<br /> ...data...<br /> }<br /> <br /> ===Config Commands===<br /> ps2_netemu.self fw4.50 sub_12D7D8, fw4.81 sub_12E050<br /> params are uint32_t unless noted.<br /> <br /> At the time of writing this, most of the commands are completely or partially unknown.&lt;br /&gt;<br /> If you want to read some speculation and brainstorming about them, please join the {{talk}} page<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! CMD ID !! Example !! Notes<br /> |-<br /> | 0x00|||| Copy following title id for enforcing if available + end config<br /> |-<br /> | 0x01|||| 2x uint32_t Params ( addr, func_id 0-0x3B) - EE_ADD_HOOK<br /> [Grand Theft Auto 3 (EU)] uses 0x349790, 0x10 (somewhat floats related)<br /> [Max Payne] uses 0x52E9F4, 3 and 0x52EB78, 2 (set lwsync 0)<br /> Maximum Amount of Usage: ?<br /> (The command is used 3 times consecutively by SLUS-20565 (Champions of Norrath) and SLUS-21494 (Need for Speed Carbon)<br /> game configs hardcoded inside ps2_gxemu.self)<br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> !Function ID!! Notes<br /> |-<br /> |0x00|| <br /> |-<br /> |0x01|| <br /> |-<br /> |0x02|| <br /> Max Payne<br /> sets some sync off?<br /> |-<br /> |0x03|| <br /> Max Payne<br /> sets some sync on?<br /> |-<br /> |0x04|| <br /> |-<br /> |0x05|| <br /> |-<br /> |0x06|| <br /> |-<br /> |0x07|| <br /> |-<br /> |0x08||<br /> |-<br /> |0x09|| <br /> |-<br /> |0x0A|| <br /> |-<br /> |0x0B|| <br /> |-<br /> |0x0C|| <br /> |-<br /> |0x0D|| usleep(100)<br /> |-<br /> |0x0E||<br /> |-<br /> |0x0F|| <br /> GTA 3 (US)<br /> using 0x348B40, 0x18E1F0, 0x348EC8 ( + 200000000 base )<br /> |-<br /> |0x10|| <br /> GTA 3 (EU)<br /> using 0x349790, 0x18E1F0, 0x349B18 ( + 200000000 base )<br /> |-<br /> |0x11|| <br /> GTA 3 (JP/AS)?<br /> using 0x3495C0, 0x18E1F0, 0x349948 ( + 200000000 base )<br /> |-<br /> |0x12|| <br /> condition ...<br /> store 0 in [ 0x204FC500 + 200000000 base]<br /> |-<br /> |0x13|| <br /> |-<br /> |0x14|| <br /> |-<br /> |0x15|| <br /> |-<br /> |0x16|| <br /> store 0x01114BA8 in [ 0x208EAB4C + 200000000 base]<br /> store 0x010C9E40 in [ 0x208EAB6C + 200000000 base]<br /> |-<br /> |0x17|| <br /> condition r18 == 0x8000<br /> setting:<br /> stores 0x40490FDA somewhere <br /> Note: 0x40490FDA (3.14159250) is the highest float approximation to π in hexadecimal without going over the value.&lt;br /&gt;<br /> Probably can improve FPU accuracy for some games.<br /> |-<br /> |0x18||<br /> condition [ 0x20183F04 + 200000000 base ] == 0x0C060F2C <br /> setting:<br /> stores 0 in address 0x20183F04, 0x20183F34, 0x20183F3C ( + 0x200000000 base )<br /> 0x183F0C, sub_46334 (4.70)<br /> 0x183F3C, sub_45DA4 (4.70)<br /> 0x183D74, sub_47B50 (4.70)<br /> |-<br /> |0x19|| <br /> |-<br /> |0x1A|| <br /> store 0 in [ 0x209FD560 + 200000000 base]<br /> store 0 in [ 0x209F9550 + 200000000 base]<br /> store 0 in [ 0x20A01570 + 200000000 base]<br /> store 0 in [ 0x209F9540 + 200000000 base]<br /> store 0 in [ 0x209F5540 + 200000000 base]<br /> store 0 in [ 0x209F1530 + 200000000 base]<br /> |-<br /> |0x1B|| store 0 in [ 0x20552168 + 200000000 base]<br /> |-<br /> |0x1C|| store 1 in [ 0x20552168 + 200000000 base]<br /> |-<br /> |0x1D|| store 0 in [ 0x20556C08 + 200000000 base]<br /> |-<br /> |0x1E|| store 1 in [ 0x20556C08 + 200000000 base]<br /> |-<br /> |0x1F|| store 0 in [ 0x205243D8 + 200000000 base]<br /> |-<br /> |0x20|| store 1 in [ 0x205243D8 + 200000000 base]<br /> |-<br /> |0x21|| store 0 in [ 0x20524F88 + 200000000 base]<br /> |-<br /> |0x22|| store 1 in [ 0x20524F88 + 200000000 base]<br /> |-<br /> |0x23|| store 0 in [ 0x2047E7F8 + 200000000 base]<br /> |-<br /> |0x24|| store 1 in [ 0x2047E7F8 + 200000000 base]<br /> |-<br /> |0x25|| store 0 in [ 0x204802B8 + 200000000 base]<br /> |-<br /> |0x26|| store 1 in [ 0x204802B8 + 200000000 base]<br /> |-<br /> |0x27|| store 0 in [ 0x20586348 + 200000000 base]<br /> |-<br /> |0x28|| store 1 in [ 0x20586348 + 200000000 base]<br /> |-<br /> |0x29|| store 0 in [ 0x205868A8 + 200000000 base]<br /> |-<br /> |0x2A|| store 1 in [ 0x205868A8 + 200000000 base]<br /> |-<br /> |0x2B|| <br /> |-<br /> |0x2C|| <br /> |-<br /> |0x2D|| <br /> |-<br /> |0x2E|| <br /> |-<br /> |0x2F|| condition [ 0x37B0C4 + 200000000 base ] == 0 -&gt; 00 10 0B 98 <br /> |-<br /> |0x30|| condition [ 0x37B704 + 200000000 base ] == 0 -&gt; 00 10 0B 98 <br /> |-<br /> |0x31|| condition [ 0x37630C + 200000000 base ] == 0 -&gt; 00 10 0B A8 <br /> |-<br /> |0x32|| condition [ 0x37BB0C + 200000000 base ] == 0 -&gt; 00 10 0B A8 <br /> |-<br /> |0x33|| <br /> |-<br /> |0x34|| not filled<br /> |-<br /> |0x35|| <br /> |-<br /> |0x36|| <br /> |-<br /> |0x37|| <br /> |-<br /> |0x38||<br /> |-<br /> |0x39|| <br /> |-<br /> |0x3A|| <br /> |-<br /> |0x3B|| GTA 3 (JP/AS) ? using 0x351210, 0x18F590, 0x351568 ( + 200000000 base )<br /> |}<br /> |-<br /> |0x02|||| 1 Param, Config file revision ?<br /> |-<br /> |0x03|||| 0 Param, sets something 0 (Fire Pro Wrestling Returns)<br /> |-<br /> |0x04|||| 1 Param uint32_t index (i*0x80, special 0x12345: 0x91a280?)<br /> |-<br /> |0x05|||| read next command<br /> |-<br /> |0x06|||| 0 Param, sets something 0x14F80 (85888'd)<br /> |-<br /> |0x07|||| 1 Param uint32_t (default 1)<br /> Delay VU xgkick by X cycles<br /> |-<br /> |0x08|||| 8 Param uint32_t (read mask,read mask, original opcode, original opcode, write mask, write mask, replace opcode, replace opcode)<br /> Maximum Amount of Usage: 3 times<br /> Patch VU memory by mask <br /> Mask = F - read/write, 0 - Not read/write, 8 - ignore 4 bytes, E - seems to be used as last character before wildcards (Superman returns).<br /> |-<br /> |0x09|||| uint32_t count, &lt;list&gt; (offset, original opcode, original opcode, replace opcode, replace opcode) - EE_INSN_REPLACE64<br /> [Dark Cloud] uses 1<br /> [Dead Or Alive 2 Hardcore] uses 1<br /> Maximum List Count: 32<br /> |-<br /> |0x0A|||| uint32_t count, &lt;List&gt; (offset, original opcode, replace opcode) - EE_INSN_REPLACE32<br /> [Deadly Strike] uses 1<br /> [Dragon Force] uses 2<br /> Maximum List Count: 32<br /> |-<br /> |0x0B|||| 1 Param uint32_t count, &lt;List&gt; {sector id, offset, sizeof present opcodes, replace opcodes, original opcodes} - MECHA_SET_PATCH<br /> offset on disc = sector id * sector size + offset (-0xC)<br /> [Dead Or Alive 2 Hardcore] uses 7<br /> [Gradius V] uses 1<br /> [Grand Theft Auto III] uses 1<br /> [Katamari Damacy] uses 1<br /> [Manhunt] uses 1<br /> [Odin Sphere] uses 2<br /> [Primal] uses 1<br /> [Psychonauts] uses 1<br /> [Syphon Filter The Omega Strain] uses 1<br /> Maximum List Count: 47<br /> |-<br /> |0x0C|||| 1 Param (uint16_t, uint16_t) --- 0/1/2,&lt;0x63&gt;<br /> |-<br /> |0x0D|||| 1 Param, true/false?<br /> Default Init = 1?<br /> 0 == skip some code, <br /> 1 == some code + checks<br /> |-<br /> |0x0E|||| 1 Param offset --- Improves ADD/SUB accuracy for selected offset (incl. Floats) <br /> [Rygar] only has 0x147DA8 sub.s $f12, $f20, $f12<br /> Maximum Amount of Usage: 31 times<br /> |-<br /> |0x0F|||| List &lt;uint32_t Param, uint32_t Param&gt; --- More accurate memory range (FPU mul/div/sub/add accuracy related) <br /> [Dark Cloud] uses 0x239334, 0x1FFFFFF<br /> [Grand Theft Auto SA] uses 0x1E46DC, 0x1E4AE8<br /> Maximum List Count: 31 <br /> |-<br /> |0x10|||| List &lt;uint32_t Param, uint32_t Param&gt; --- More accurate memory range (COP2, mul/div/sub/add accuracy related) - MULDIV_Accurate_range<br /> Maximum List Count: 31 <br /> |-<br /> |0x11|||| 1x uint32_t Param. ADD/SUB accuracy related, all emulated ADD/SUB instruction variations check that value. Param seems to be VU memory offset (need confirmation).<br /> Maximum Amount of Usage: 31 times<br /> |-<br /> |0x12|||| &lt;List&gt; (uint32_t count,<br /> [Primal] uses 0xD<br /> [Rayman Arena] uses 0x11<br /> [Syphon Filter: The Omega Strain] uses 0x5<br /> 00 00 00 0?<br /> 00 00 00 00<br /> type? count?<br /> ... <br /> Maximum List Count: 63 <br /> |-<br /> | 0x13|||| 1x uint64_t Param<br /> |-<br /> | 0x14|||| 0 Param, sets something 1<br /> |-<br /> | 0x15|| 4 || 1 Param ( &lt;1, &gt;1 ), different settings/mode?<br /> [Bloodrayne 2] uses 4<br /> [GRIMgRiMoiRe] uses 4<br /> [Mana Khemia 2] uses 4<br /> [Odin Sphere] uses 4<br /> [SMT Persona 3 FES] uses 4<br /> |-<br /> | 0x16|||| = 0x05 (next id)<br /> |-<br /> | 0x17||1 || 1 Param, true/false?<br /> [Bully] uses 1<br /> |-<br /> | 0x18|||| = 0x16 = 0x05 (next id)<br /> |-<br /> | 0x19 |||| 0 Param, sets something 1 --- SB_SIO2 related?<br /> [Grand Theft Auto III]<br /> [Red Faction 2]<br /> [Siren]<br /> |-<br /> | 0x1A|||| 0 Param, sets something 1<br /> |-<br /> | 0x1B|||| 0 Param, sets something 1<br /> [Mana Khemia 2]<br /> |-<br /> | 0x1C |||| read uint32_t (use uint8_t) Param (default 3)<br /> |-<br /> | 0x1D |||| read uint32_t (use uint8_t) Param <br /> |-<br /> | 0x1E |||| read uint32_t (use uint8_t) Param <br /> |-<br /> | 0x1F |||| uint32_t Param (default 0x3E8?)<br /> |-<br /> | 0x20|||| uint64_t Param (default 0x3C)<br /> |-<br /> | 0x21|| 1 || 1 Param: <br /> 0 = sets an option from 1 to 0 and another one to 0,<br /> 1 = sets an option from 1 to 0 and another one to 1,<br /> 2 = sets an option from 1 to 1 and another one to 0<br /> [Fatal Frame II] uses 0<br /> [Grand Theft Auto Vice City] uses 1<br /> [Grand Theft Auto III (EU)] uses 1<br /> [SMT Persona 3 FES] uses 0<br /> |-<br /> | 0x22|||| 0 Param, sets something 1<br /> |-<br /> | 0x23|||| 0 Param --- memcpy 0x100 Bytes and sets 0x14E00<br /> |-<br /> | 0x24|||| uint64_t Param<br /> |-<br /> | 0x25|||| = 0x18 = 0x16 = 0x05 (next id)<br /> |-<br /> | 0x26|||| List &lt;uint32_t Param,uint32_t Param&gt; --- Improves ADD/SUB accuracy for selected memory range (incl. Floats) - FPU_Accurate_range<br /> <br /> [Bloodrayne 2] uses 0x340000, 0x350000<br /> [Gradius V] uses 0x3046E0, 0x0x305E44<br /> Maximum List Count: 31 <br /> Maximum Amount of Usage: ??<br /> The command is used 4 times consecutively by [Strawberry Shortcake: The Sweet Dreams]<br /> SLES-54309 (EU) and<br /> SLUS-21497 (US) game configs hardcoded inside ps2_gxemu.self<br /> |-<br /> | 0x27|||| List &lt;uint32_t Param,uint32_t Param&gt; --- Improves COP2 operations accuracy for selected memory range - VU0 macromode accurate range<br /> Maximum List Count: 31 <br /> |-<br /> | 0x28|||| 1x uint32_t Param (&lt;=3)<br /> |-<br /> | 0x29 |||| 2x uint32_t Param,<br /> |-<br /> | 0x2A|||| 0 Param, sets something 1<br /> |-<br /> | 0x2B|||| 0 Param, sets something 1 --- something with Controller (analog?)<br /> |-<br /> | 0x2C |||| 1 Param, uint32_t<br /> Summoner uses 0x1<br /> |-<br /> | 0x2D |||| = 0x25 = 0x18 = 0x16 = 0x05 (next id)<br /> |-<br /> | 0x2E |||| 1 Param, uint32_t<br /> |-<br /> | 0x2F |||| 1 Param, uint32_t<br /> |-<br /> | 0x30|||| (nothing)<br /> |-<br /> | 0x31|||| (nothing)<br /> |-<br /> | 0x32|||| (nothing)<br /> |-<br /> | 0x33|||| (nothing)<br /> |-<br /> | 0x34|||| (nothing)<br /> |-<br /> | 0x35|||| 0 Param --- Enables Force Flip Field, described in emu setting as &quot;''Fix for [Hang] for soft-lock''&quot;<br /> |-<br /> | 0x36|||| (nothing)<br /> |-<br /> | 0x37|||| (nothing)<br /> |-<br /> | 0x38|||| (nothing)<br /> |-<br /> | 0x39 |||| (nothing)<br /> |-<br /> | 0x3A|||| (nothing)<br /> |-<br /> | 0x3B|||| (nothing)<br /> |-<br /> | 0x3C |||| (nothing)<br /> |-<br /> | 0x3D |||| 1 Param, uint32_t Config file revision<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Firmware !! ps2_netemu Revision !! Max Supported Commands<br /> |-<br /> | 3.70 || 15686 || 0x41<br /> |-<br /> | 3.73 || 15936 || 0x41<br /> |-<br /> | 3.74 || 15936 || 0x41<br /> |-<br /> | 4.00 || 16195 || 0x41<br /> |-<br /> | 4.01 || 16195 || 0x41<br /> |-<br /> | 4.10 || 16361 || 0x41<br /> |-<br /> | 4.11 || 16361 || 0x41<br /> |-<br /> | 4.20 || 16604 || 0x43<br /> |-<br /> | 4.21 || 16604 || 0x43<br /> |-<br /> | 4.23 || 16604 || 0x43<br /> |-<br /> | 4.25 || 16740 || 0x43<br /> |-<br /> | 4.26 || 16740 || 0x43<br /> |-<br /> | 4.30 || 16808 || 0x45<br /> |-<br /> | 4.31 || 16808 || 0x45<br /> |-<br /> | 4.40 || 16916 || 0x46<br /> |-<br /> | 4.41 || 16916 || 0x46<br /> |-<br /> | 4.45 || 17041 || 0x48<br /> |-<br /> | 4.46 || 17041 || 0x48<br /> |-<br /> | 4.50 || 17179 || 0x4A<br /> |-<br /> | 4.55 || 17277 || 0x4D<br /> |- <br /> |4.60&lt;br /&gt;<br /> 4.70&lt;br /&gt;<br /> 4.75&lt;br /&gt;<br /> 4.76&lt;br /&gt;<br /> || 17314 || 0x4D<br /> |- <br /> |4.78&lt;br /&gt;<br /> 4.80&lt;br /&gt;<br /> 4.81&lt;br /&gt;<br /> || 17495 || 0x50<br /> |- <br /> |}<br /> |-<br /> | 0x3E |||| 0 Params --- Sets something 1<br /> Default Init = 0<br /> 0 == do set some stuff, <br /> 1 == skip<br /> |-<br /> | 0x3F |||| 1 Param, uint32_t<br /> |-<br /> | 0x40|||| 0 Param --- Sets something 1<br /> Grand Theft Auto SA<br /> Silent Hill Origins - unofficial fix<br /> |-<br /> | 0x41|||| 0 Param --- Sets something 1 (Disables some lwsync - speedhack?)<br /> Dragon Force<br /> God Hand<br /> Gradius V<br /> Katamari Damacy<br /> |-<br /> | 0x42|||| 2 Param: uint32_t address, uint32_t count --- Overlay area? <br /> |-<br /> | 0x43|||| 1 Param --- Equal to 0x40, but with Parameter:<br /> 0 = Default<br /> 1 = (like 0x40)<br /> param = <br /> -1 = failure?<br /> |-<br /> | 0x44|||| 0 Param --- Disables Smoothing and Smoothing option<br /> |-<br /> | 0x45|||| 0 Param --- Sets something 1<br /> Phantasy Star Complete Collection<br /> |-<br /> | 0x46|||| 0 Param --- Enables L2H Improvement, [Performance] related setting for titles using L2H<br /> SMT Digital Devil Saga 1<br /> SMT Nocturne<br /> Fatal Frame II<br /> |-<br /> | 0x47|||| 0 Param --- Enables XOR CSR - XOR System Status Register (0x12001000)?, [Graphics] related setting, should fix fullscreen line corruption<br /> |-<br /> | 0x48|||| VSYNC Delay, 2x uint32_t Param<br /> *First param possible value are 1 = No IPU, 2 = IPU, 3 = Anytime.<br /> *Second param is delay (in ms?), and can be also negative value.<br /> **Emu has standard presets for second param.<br /> ***Agressive = 0x3D090 (250000 decimal),<br /> ***Normal = 0x186A0 (100000 decimal),<br /> ***Conservative = 0x4E20 (20000 decimal),<br /> ***But other values can be used.<br /> [SMT Digital Devil Saga 1] uses 1, 0x3D090<br /> [Fatal Frame II] uses 0x2, 0xFFFFE69C (-6500 decimal)<br /> |-<br /> | 0x49|||| 0 Param --- Sets something 0xB,0,0<br /> |-<br /> | 0x4A|||| 0 Param --- Sets something 0x15100<br /> |-<br /> | 0x4B|||| 2x uint32_t Params: offset,int (-1? selects different titleid?) - /game/ /../ USRDIR/SAVEDATA related<br /> |-<br /> | 0x4C|||| 2x uint32_t Params: offset,int (2 = current path?, 3 = new ISO.BIN.ENC path?, other= ?)<br /> |-<br /> | 0x4D|||| 1 uint32_t Param (can be -1) --- Sets something (same as 0x49 but) 0xC, Param, 0<br /> |-<br /> | 0x4E|||| (nothing)<br /> |-<br /> | 0x4F|||| (nothing)<br /> |-<br /> | 0x50|||| 0 Param --- Switch to default gamepad config ?<br /> |-<br /> |}<br /> <br /> ===Config file examples (for netemu)===<br /> <br /> ====Official====<br /> {| class=&quot;wikitable sortable&quot; style=&quot;width: 1920px;&quot; | <br /> |-<br /> ! Title ID !! Title !! Config Data !! Revision !! Notes<br /> |-<br /> | style=&quot;width: 5px;&quot; | NPUD20461 || Bloodrayne || style=&quot;width: 650px;&quot; | <br /> 00000000 3D 00 00 00 46 3E 00 00 16 00 00 00 0B 00 00 00 =...F&gt;..........<br /> 00000010 04 00 00 00 07 01 00 00 C0 02 00 00 10 00 00 00 ........+.......<br /> 00000020 00 09 3C 52 52 3C 09 00 03 1F 90 14 14 90 1F 03 ..&lt;RR&lt;....É..É..<br /> 00000030 00 09 3C 52 52 3C 09 00 03 20 C0 04 04 C0 20 03 ..&lt;RR&lt;... +..+ .<br /> 00000040 56 A0 09 00 10 00 00 00 04 00 00 00 00 00 90 01 Vá............É.<br /> 00000050 FA 0F BD 01 21 39 07 00 B8 06 00 00 28 00 00 00 ·.¢.!9..©...(...<br /> 00000060 35 4A 02 02 00 0A 54 38 35 4A 62 7E 34 A5 00 A0 5J....T85Jb~4Ñ.á<br /> 00000070 3C 09 00 1B 35 29 FA 00 00 09 4C 38 35 29 02 02 &lt;...5)·...L85)..<br /> 00000080 00 09 4C 38 35 29 62 7E 35 4A 02 03 00 0A 54 38 ..L85)b~5J....T8<br /> 00000090 35 4A 22 7E 34 A5 00 A0 3C 09 00 1B 35 29 FA 00 5J&quot;~4Ñ.á&lt;...5)·.<br /> 000000A0 00 09 4C 38 35 29 02 03 00 09 4C 38 35 29 22 7E ..L85)....L85)&quot;~<br /> 000000B0 27 39 07 00 80 03 00 00 24 00 00 00 35 6B 02 02 '9..Ç...$...5k..<br /> 000000C0 00 0B 5C 38 35 6B 62 7E 3C 0C 00 1B 35 8C FA 00 ..\85kb~&lt;...5î·.<br /> 000000D0 00 0C 64 38 35 8C 02 02 00 0C 64 38 35 8C 62 7E ..d85î....d85îb~<br /> 000000E0 35 6B 02 03 00 0B 5C 38 35 6B 22 7E 3C 0C 00 1B 5k....\85k&quot;~&lt;...<br /> 000000F0 35 8C FA 00 00 0C 64 38 35 8C 02 03 00 0C 64 38 5î·...d85î....d8<br /> 00000100 35 8C 22 7E 5î&quot;~<br /> || 15942 (4.00+) ||<br /> 0x3D =&gt; 0x3E46 (15942)<br /> 0x16 =&gt; 0xB =&gt; 4<br /> 0x107, (sector)<br /> 0x2C0, (offset -&gt; 0x1072B4 in iso)<br /> 0x10, <br /> 0x523C0900, (beql s1, gp, ?)<br /> 0x00093C52, (mflo a3)<br /> 0x14901F03, (bne a0, s0, ?)<br /> 0x031F9014, (dsllv s2, ra, t8)<br /> 0x523C0900, (beql s1, gp, ?)<br /> 0x00093C52, (mflo a3)<br /> 0x04C02003, (bltz a2, ?)<br /> 0x0320C004 (sllv t8, zero, t9)<br /> 0x9A056, (sector)<br /> 0x10, (offset -&gt; 0x4D02B004 in iso)<br /> 0x04, <br /> 0x01900000 (sll zero, s0, 0x00?), <br /> 0x01BD0FFA (dsrl at,sp,0x1F?)<br /> 0x73921, (sector)<br /> 0x6B8, (offset -&gt; 0x39C90EAC in iso)<br /> 0x28, <br /> 21 39 07 00 addi t9,t1,0x0700<br /> B8 06 00 00 swr a2,(zero)<br /> 28 00 00 00 slti zero,0x0000<br /> 35 4A 02 02 ori t2,0x202<br /> 00 0A 54 38 dsll t2,0x10<br /> 35 4A 62 7E ori t2,0x627E<br /> 34 A5 00 A0 ori a1,0xA0<br /> 3C 09 00 1B lui t1,0x001B<br /> 35 29 FA 00 ori t1,0xFA00<br /> 00 09 4C 38 dsll t1,0x10<br /> 35 29 02 02 ori t1,0x202<br /> 00 09 4C 38 dsll t1,0x10<br /> 35 29 62 7E ori t1,0x627E<br /> 35 4A 02 03 ori t2,0x203<br /> 00 0A 54 38 dsll t2,0x10<br /> 35 4A 22 7E ori t2,0x227E<br /> 34 A5 00 A0 ori a1,0xA0<br /> 3C 09 00 1B lui t1,0x001B<br /> 35 29 FA 00 ori t1,0xFA00<br /> 00 09 4C 38 dsll t1,0x10<br /> 35 29 02 03 ori t1,0x203<br /> 00 09 4C 38 dsll t1,0x10<br /> 35 29 22 7E ori t1,0x227E<br /> 0x73927, (sector)<br /> 0x380, (offset -&gt; 0x39C93B74 in iso)<br /> 0x24, <br /> 35 6B 02 02 ori t3,0x202<br /> 00 0B 5C 38 dsll t3,0x10<br /> 35 6B 62 7E ori t3,0x627E<br /> 3C 0C 00 1B lui t4,0x001B<br /> 35 8C FA 00 ori t4,0xFA00<br /> 00 0C 64 38 dsll t4,0x10<br /> 35 8C 02 02 ori t4,0x202<br /> 00 0C 64 38 dsll t4,0x10<br /> 35 8C 62 7E ori t4,0x627E<br /> 35 6B 02 03 ori t3,0x203<br /> 00 0B 5C 38 dsll t3,0x10<br /> 35 6B 22 7E ori t3,0x227E<br /> 3C 0C 00 1B lui t4,0x001B<br /> 35 8C FA 00 ori t4,0xFA00<br /> 00 0C 64 38 dsll t4,0x10<br /> 35 8C 02 03 ori t4,0x203<br /> 00 0C 64 38 dsll t4,0x10<br /> 35 8C 22 7E ori t4,0x227E<br /> |-<br /> | NPUD20862 || Bloodrayne 2 ||<br /> 00000000 3D 00 00 00 3D 3F 00 00 15 00 00 00 04 00 00 00 =...=?..........<br /> 00000010 26 00 00 00 00 00 34 00 00 00 35 00 00 00 00 00 &amp;.....4...5.....<br /> 00000020 53 4C 55 53 2D 32 30 38 36 32 SLUS-20862<br /> || 16189 (4.00+) ||<br /> 0x3D =&gt; 0x3F3D (16189)<br /> 0x15 =&gt; 4<br /> 0x26 =&gt; 0x340000, 0x350000<br /> |-<br /> | NPUD21269 || Bully ||<br /> 00000000 3D 00 00 00 89 3D 00 00 17 00 00 00 01 00 00 00 =....=..........<br /> 00000010 00 00 00 00 53 4C 55 53 2D 32 31 32 36 39 ....SLUS-21269<br /> || 15753 (3.73+) ||<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x17 =&gt; 1<br /> |-<br /> | NPJD00004 || Contra Shattered Soldier || <br /> 00000000 3D 00 00 00 BF 3F 00 00 0A 00 00 00 12 00 00 00 =...+?..........<br /> 00000010 A0 FF 0F 00 00 00 00 00 10 00 01 3C A4 FF 0F 00 á .........&lt;ñ ..<br /> 00000020 00 00 00 00 90 FF 24 8C A8 FF 0F 00 00 00 00 00 ....É $î¿ ......<br /> 00000030 81 00 85 2C AC FF 0F 00 00 00 00 00 06 00 A0 10 ü.à,¼ ........á.<br /> 00000040 B0 FF 0F 00 00 00 00 00 01 00 84 24 B4 FF 0F 00 ¦ ........ä$¦ ..<br /> 00000050 00 00 00 00 90 FF 24 AC B8 FF 0F 00 00 00 00 00 ....É $¼© ......<br /> 00000060 81 00 85 2C BC FF 0F 00 00 00 00 00 02 00 A0 14 ü.à,+ ........á.<br /> 00000070 C0 FF 0F 00 00 00 00 00 00 00 00 00 C4 FF 0F 00 + ..........- ..<br /> 00000080 00 00 00 00 00 07 02 34 C8 FF 0F 00 00 00 00 00 .......4+ ......<br /> 00000090 08 00 E0 03 CC FF 0F 00 00 00 00 00 00 00 00 00 ..Ó.¦ ..........<br /> 000000A0 D0 FF 0F 00 00 00 00 00 10 00 01 3C D4 FF 0F 00 ð .........&lt;È ..<br /> 000000B0 00 00 00 00 08 00 E0 03 D8 FF 0F 00 00 00 00 00 ......Ó.Ï ......<br /> 000000C0 90 FF 20 AC DC FF 0F 00 00 00 00 00 00 00 00 00 É ¼_ ..........<br /> 000000D0 C0 72 42 00 08 00 E0 03 E8 FF 03 08 B4 7C 42 00 +rB...Ó.Þ ..¦|B.<br /> 000000E0 08 00 E0 03 F4 FF 03 08 00 00 00 00 53 4C 50 4D ..Ó.¶ ......SLPM<br /> 000000F0 2D 36 32 32 34 37 -62247<br /> || 16319 (4.10+)||<br /> 0x3D =&gt; 0x3FBF (16319)<br /> 0x0A =&gt; 0x12, <br /> 0xFFFA0,0, 0x3C010010 lui at,0x0010 <br /> 0xFFFA4,0, 0x8C24FF90 lw a0,-0x70(at) <br /> 0xFFFA8,0, 0x2C850081 sltiu a1,a0,0x0081 <br /> 0xFFFAC,0, 0x10A00006 beqz a1,pos_000FFFC8 <br /> 0xFFFB0,0, 0x24840001 addiu a0,0x1 <br /> 0xFFFB4,0, 0xAC24FF90 sw a0,-0x70(at) <br /> 0xFFFB8,0, 0x2C850081 sltiu a1,a0,0x0081 <br /> 0xFFFBC,0, 0x14A00002 bnez a1,pos_000FFFC8 <br /> 0xFFFC0,0, 0x00000000 nop <br /> 0xFFFC4,0, 0x34020700 li v0,0x700 <br /> 0xFFFC8,0, 0x03E00008 jr t9 <br /> 0xFFFCC,0, 0x00000000 nop <br /> 0xFFFD0,0, 0x3C010010 lui at,0x0010 <br /> 0xFFFD4,0, 0x03E00008 jr ra <br /> 0xFFFD8,0, 0xAC20FF90 sw zero,-0x70(at) <br /> 0xFFFDC,0, 0x00000000 nop <br /> 0x4272C0, 0x03E00008 (jr ra), 0x0803FFE8 j pos_000FFFA0<br /> 0x427CB4, 0x03E00008 (jr ra), 0x0803FFF4 j pos_000FFFD0<br /> |-<br /> | NPJC00002 || Dark Cloud ||<br /> 00000000 3D 00 00 00 07 3F 00 00 0F 00 00 00 34 93 23 00 =....?......4.#.<br /> 00000010 FF FF FF 01 09 00 00 00 01 00 00 00 B0 8E 13 00 ................<br /> 00000020 20 00 BF 7F B0 FF BD 27 00 00 00 00 08 00 E0 03 ......'........<br /> 00000030 00 00 00 00 53 43 50 53 2D 31 35 30 30 34 ....SCPS-15004<br /> || 16135 (4.00+)||<br /> 0x3D =&gt; 0x3F07 (16135)<br /> 0x0F =&gt; 0x239334, 0x01FFFFFF<br /> 0x09 =&gt; 1,<br /> 0x138EB0 , <br /> 0x7FBF0020 (sq ra,0x20(sp)),<br /> 0x27BDFFB0 (addiu sp,-0x50),<br /> 0x00000000 (nop),<br /> 0x03E00008 (jr ra)<br /> <br /> 0x239334 = end of code segment?<br /> 0x138EB0 = DrawShadow__10CCharacterFv Function Offset<br /> config 20 00 BF 7F 0x7FBF0020 sq ra, 0x20(sp)<br /> B0 FF BD 27 0x27BDFFB0 addiu sp, -0x50<br /> 00 00 00 00 0x00000000 nop<br /> 08 00 E0 03 0x03E00008 jr ra<br /> |-<br /> | NPUD20071 || Dead Or Alive 2 Hardcore ||<br /> 00000000 3D 00 00 00 F0 42 00 00 0A 00 00 00 01 00 00 00 =....B..........<br /> 00000010 EC 06 2B 00 01 00 06 24 00 00 06 24 0B 00 00 00 ..+....$...$....<br /> 00000020 07 00 00 00 71 6A 18 00 F4 07 00 00 04 00 00 00 ....qj..........<br /> 00000030 0C 00 32 B7 0C 00 32 B3 71 6A 18 00 F4 05 00 00 ..2...2.qj......<br /> 00000040 08 00 00 00 03 E0 00 08 00 00 00 00 27 BD FF F0 ............'...<br /> 00000050 AF BE 00 08 7B 6A 18 00 08 07 00 00 08 00 00 00 ....{j..........<br /> 00000060 03 E0 00 08 00 00 00 00 27 BD FF F0 AF BE 00 08 ........'.......<br /> 00000070 85 6A 18 00 18 01 00 00 08 00 00 00 03 E0 00 08 .j..............<br /> 00000080 00 00 00 00 27 BD FF F0 AF BE 00 08 85 6A 18 00 ....'........j..<br /> 00000090 70 01 00 00 08 00 00 00 03 E0 00 08 00 00 00 00 p...............<br /> 000000A0 27 BD FF F0 AF BE 00 08 85 6A 18 00 C8 01 00 00 '........j......<br /> 000000B0 08 00 00 00 03 E0 00 08 00 00 00 00 27 BD FF F0 ............'...<br /> 000000C0 AF BE 00 08 86 6A 18 00 FC 07 00 00 08 00 00 00 .....j..........<br /> 000000D0 03 E0 00 08 00 00 00 00 27 BD FF F0 AF BE 00 08 ........'.......<br /> 000000E0 00 00 00 00 53 4C 55 53 2D 32 30 30 37 31 ....SLUS-20071 <br /> || 17136 (4.50+) || fixes blackscreen<br /> 0x3D =&gt; 0x42F0 (17136)<br /> 0x0A =&gt; 0x01,<br /> 0x2B06EC, 0x24060001 (li a2,0x1), <br /> 0x24060000 (li a2,0x0)<br /> 0x0B =&gt; 0x07,<br /> 0x186A71, 0x7F4, 0x04, <br /> 0xB732000C (jal -0x2A9B90), <br /> 0xB332000C (jal -0x2A9BA0)<br /> 0x186A71, 0x5F4, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A7B, 0x708, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A85, 0x118, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A85, 0x170, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A85, 0x1C8, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A86, 0x7FC, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp))<br /> <br /> |-<br /> | NPJD00011 || Dead Or Alive 2 Hardcore || <br /> 00000000 3D 00 00 00 89 3D 00 00 09 00 00 00 01 00 00 00 =...ë=..........<br /> 00000010 6C 66 2B 00 80 00 08 24 01 00 06 24 80 00 08 24 lf+.Ç..$...$Ç..$<br /> 00000020 00 00 06 24 0B 00 00 00 07 00 00 00 05 FF 17 00 ...$......... ..<br /> 00000030 F0 07 00 00 0C 00 00 00 27 C4 00 10 0C 00 32 B7 ­.......'-....2À<br /> 00000040 00 00 00 00 24 04 00 2B 0C 00 32 B3 27 C5 00 10 ....$..+..2¦'+..<br /> 00000050 05 FF 17 00 F4 05 00 00 08 00 00 00 03 E0 00 08 . ..¶........Ó..<br /> 00000060 00 00 00 00 27 BD FF F0 AF BE 00 08 0F FF 17 00 ....'¢ ­»¥... ..<br /> 00000070 08 07 00 00 08 00 00 00 03 E0 00 08 00 00 00 00 .........Ó......<br /> 00000080 27 BD FF F0 AF BE 00 08 19 FF 17 00 18 01 00 00 '¢ ­»¥... ......<br /> 00000090 08 00 00 00 03 E0 00 08 00 00 00 00 27 BD FF F0 .....Ó......'¢ ­<br /> 000000A0 AF BE 00 08 19 FF 17 00 70 01 00 00 08 00 00 00 »¥... ..p.......<br /> 000000B0 03 E0 00 08 00 00 00 00 27 BD FF F0 AF BE 00 08 .Ó......'¢ ­»¥..<br /> 000000C0 19 FF 17 00 C8 01 00 00 08 00 00 00 03 E0 00 08 . ..+........Ó..<br /> 000000D0 00 00 00 00 27 BD FF F0 AF BE 00 08 1A FF 17 00 ....'¢ ­»¥... ..<br /> 000000E0 FC 07 00 00 08 00 00 00 03 E0 00 08 00 00 00 00 ³........Ó......<br /> 000000F0 27 BD FF F0 AF BE 00 08 00 00 00 00 53 4C 50 53 '¢ ­»¥......SLPS<br /> 00000100 2D 32 35 30 32 36 -25026<br /> || 15753 (3.73+) || fixes blackscreen<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x09 =&gt; 1,<br /> 0x2B666C, <br /> 0x24080080 (li t0,0x80), <br /> 0x24060001 (li a2,0x1), <br /> 0x24080080 (li t0,0x80), <br /> 0x24060000 (li a2,0x0)<br /> 0x0B =&gt; 7, <br /> 0x17FF05, 0x7F0, 0x0C ,<br /> 0x1000C427 addiu a0,fp,0x10,<br /> 0xB732000C jal -0x2A9B90,<br /> 0x00000000 nop, <br /> 0x2B000424 li a0,0x2B,<br /> 0xB332000C jal -0x2A9BA0,<br /> 0x1000C527 addiu a1,fp,0x10,<br /> 0x17FF05, 0x5F4, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF0F, 0x708, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF19, 0x118, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF19, 0x170, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF19, 0x1C8, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF1A, 0x7FC, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> <br /> 002B666C 01 00 06 24 0x24060001 li a2,0x1<br /> 80 00 08 24 0x24080080 li t0,0x80 <br /> 2D 48 E0 00 0x00E0482D dmove t1,a3<br /> 10 00 0A 24 0x240A0010 li t2,0x10<br /> <br /> config 80 00 08 24 0x24080080 li t0,0x80<br /> 01 00 06 24 0x24060001 li a2,0x1<br /> 80 00 08 24 0x24080080 li t0,0x80<br /> 00 00 06 24 0x24060000 li a2,0x0<br /> |-<br /> | NPED00027 || Deadly Strike ||<br /> 00000000 3D 00 00 00 96 40 00 00 0A 00 00 00 01 00 00 00 =....@..........<br /> 00000010 14 09 1E 00 17 37 01 3C 14 37 01 3C 00 00 00 00 .....7.&lt;.7.&lt;....<br /> 00000020 53 4C 45 53 2D 35 32 39 35 35 SLES-52955<br /> || 16534 (4.20+) ||<br /> 0x3D =&gt; 0x4096 (16534)<br /> 0x0A =&gt; 1 <br /> 0x1E0914, 17 37 01 3C 0x3C013717 li at,0x3717<br /> 14 37 01 3C 0x3C013714 li at,0x3714 <br /> |-<br /> | NPED00087 || Disneys PK: Out of the Shadows ||<br /> <br /> || || blackscreen<br /> <br /> |-<br /> | NPUD21944 || Doras Big Birthday Adventure ||<br /> 00000000 3D 00 00 00 ED 3F 00 00 0A 00 00 00 0A 00 00 00 =....?..........<br /> 00000010 00 FF 0F 00 00 00 00 00 07 00 40 14 04 FF 0F 00 ..........@.....<br /> 00000020 00 00 00 00 10 00 01 3C 08 FF 0F 00 00 00 00 00 .......&lt;........<br /> 00000030 F0 FF 28 8C 0C FF 0F 00 00 00 00 00 20 01 09 2D ..(......... ..-<br /> 00000040 10 FF 0F 00 00 00 00 00 03 00 20 11 14 FF 0F 00 .......... .....<br /> 00000050 00 00 00 00 01 00 08 25 18 FF 0F 00 00 00 00 00 .......%........<br /> 00000060 F0 FF 28 AC 1C FF 0F 00 00 00 00 00 06 00 02 24 ..(............$<br /> 00000070 20 FF 0F 00 00 00 00 00 08 00 E0 03 90 9B 1E 00 ...............<br /> 00000080 08 00 E0 03 C0 FF 03 08 00 00 00 00 53 4C 55 53 ............SLUS<br /> 00000090 2D 32 31 39 34 34 -21944<br /> || 16365 (4.20+) ||<br /> 0x3D =&gt; 0x3FED (16365)<br /> 0x0A =&gt; 0xA,<br /> 0xFFF00,0,0x14400007 bnez v0,pos_000FFF20<br /> 0xFFF04,0,0x3C010010 lui at,0x0010<br /> 0xFFF08,0,0x8C28FFF0 lw t0,-0x10(at)<br /> 0xFFF0C,0,0x2D090120 sltiu t1,t0,0x0120<br /> 0xFFF10,0,0x11200003 beqz t1,pos_000FFF20<br /> 0xFFF14,0,0x25080001 addiu t0,0x1<br /> 0xFFF18,0,0xAC28FFF0 sw t0,-0x10(at)<br /> 0xFFF1C,0,0x24020006 li v0,0x6<br /> 0xFFF20,0,0x03E00008 jr ra<br /> 0x1E9B90, 0x03E00008 (jr ra), 0x0803FFC0 j pos_000FFF00<br /> |-<br /> | NPJD00005 || Dragon Force ||<br /> 00000000 3D 00 00 00 D6 40 00 00 0A 00 00 00 02 00 00 00 =....@..........<br /> 00000010 B4 41 10 00 1C 00 40 10 F9 FF 40 14 BC 41 10 00 .A....@...@..A..<br /> 00000020 1D 00 02 3C 1A 00 40 10 41 00 00 00 00 00 00 00 ...&lt;..@.A.......<br /> 00000030 53 4C 50 4D 2D 36 35 37 37 38 SLPM-65778<br /> || 16598 (4.20+) ||<br /> 0x3D =&gt; 0x40D6 (16598)<br /> 0x0A =&gt; 2, <br /> 0x1041B4, 0x1040001C beqz v0,pos_00104228<br /> 0x1440FFF9 bnez v0,pos_0010419C<br /> 0x1041BC, 0x3C02001D lui v0,0x001D<br /> 0x1040001A beqz v0,pos_00104228<br /> 0x41 =&gt; (sets some value 1, sync? - speedhack?)<br /> |-<br /> | NPUD20766 || Fatal Frame II ||<br /> 00000000 3D 00 00 00 AF 42 00 00 21 00 00 00 00 00 00 00 =....B..!.......<br /> 00000010 48 00 00 00 02 00 00 00 9C E6 FF FF 0A 00 00 00 H...............<br /> 00000020 01 00 00 00 1C 70 17 00 41 01 0F 24 61 01 0F 24 .....p..A..$a..$<br /> 00000030 46 00 00 00 0B 00 00 00 01 00 00 00 DD 04 00 00 F...............<br /> 00000040 E8 02 00 00 04 00 00 00 00 42 73 84 00 00 02 FF .........Bs.....<br /> 00000050 00 00 00 00 53 4C 55 53 2D 32 30 37 36 36 ....SLUS-20766 <br /> || 17071 (4.50+) ||<br /> 0x3D =&gt; 0x42AF (17071)<br /> 0x21 =&gt; 0<br /> 0x48 =&gt; 0x2, 0xFFFFE69C<br /> 0x0A =&gt; 1, <br /> 0x17701C, 0x240F0141 (li t7,0x141)<br /> 0x240F0161 (li t7,0x161)<br /> 0x46<br /> 0x0B =&gt; 1<br /> 0x4DD, (sector)<br /> 0x2E8, (offset -&gt; 0x26EADC in iso)<br /> 0x04,<br /> 0x84734200 lh s3,0x4200(v1),<br /> 0xFF020000 sd v0,(t8)<br /> |-<br /> | NPED00052 || God Hand || <br /> 00000000 3D 00 00 00 5F 3F 00 00 41 00 00 00 0A 00 00 00 =..._?..A.......<br /> 00000010 14 00 00 00 A0 FF 0F 00 00 00 00 00 01 00 02 3C ....á .........&lt;<br /> 00000020 A4 FF 0F 00 00 00 00 00 21 20 82 00 A8 FF 0F 00 ñ ......! é.¿ ..<br /> 00000030 00 00 00 00 4D 00 02 24 AC FF 0F 00 00 00 00 00 ....M..$¼ ......<br /> 00000040 0E 00 45 14 B4 FF 0F 00 00 00 00 00 3E 18 06 00 ..E.¦ ......&gt;...<br /> 00000050 B8 FF 0F 00 00 00 00 00 FF 3F 63 38 BC FF 0F 00 © ...... ?c8+ ..<br /> 00000060 00 00 00 00 60 00 02 24 C0 FF 0F 00 00 00 00 00 ....`..$+ ......<br /> 00000070 0A 10 03 00 C4 FF 0F 00 00 00 00 00 00 00 83 8C ....- ........âî<br /> 00000080 C8 FF 0F 00 00 00 00 00 00 00 62 FC CC FF 0F 00 + ........b³¦ ..<br /> 00000090 00 00 00 00 15 00 02 24 D0 FF 0F 00 00 00 00 00 .......$ð ......<br /> 000000A0 08 00 62 FC D4 FF 0F 00 00 00 00 00 10 00 63 24 ..b³È ........c$<br /> 000000B0 D8 FF 0F 00 00 00 00 00 00 00 83 AC DC FF 0F 00 Ï ........â¼_ ..<br /> 000000C0 00 00 00 00 10 00 83 8C E0 FF 0F 00 00 00 00 00 ......âîÓ ......<br /> 000000D0 01 00 63 24 E4 FF 0F 00 00 00 00 00 10 00 83 AC ..c$õ ........â¼<br /> 000000E0 E8 FF 0F 00 00 00 00 00 A6 67 0A 08 90 9E 29 00 Þ ......ªg..É×).<br /> 000000F0 01 00 02 3C E8 FF 03 08 94 9E 29 00 21 20 82 00 ...&lt;Þ ..ö×).! é.<br /> 00000100 00 00 00 00 00 00 00 00 53 4C 45 53 2D 35 34 34 ........SLES-544<br /> 00000110 39 30 90<br /> || 16223 (4.10+) ||<br /> 0x3D =&gt; 0x3F5F (16223)<br /> 0x41 =&gt; (sets some value 1, sync? - speedhack?)<br /> 0x0A =&gt; 0x14<br /> 0xFFFA0,0,0x3C020001 lui v0,0x0001<br /> 0xFFFA4,0,0x00822021 addu a0,v0<br /> 0xFFFA8,0,0x2402004D li v0,0x4D<br /> 0xFFFAC,0,0x1445000E bne v0,a1,pos_000FFFE8<br /> 0xFFFB4,0,0x0006183E dsrl32 v1,a2,0x00<br /> 0xFFFB8,0,0x38633FFF xori v1,0x3FFF<br /> 0xFFFBC,0,0x24020060 li v0,0x60<br /> 0xFFFC0,0,0x0003100A movz v0,zero,v1<br /> 0xFFFC4,0,0x8C830000 lw v1,(a0)<br /> 0xFFFC8,0,0xFC620000 sd v0,(v1)<br /> 0xFFFCC,0,0x24020015 li v0,0x15<br /> 0xFFFD0,0,0xFC620008 sd v0,0x8(v1)<br /> 0xFFFD4,0,0x24630010 addiu v1,0x10<br /> 0xFFFD8,0,0xAC830000 sw v1,(a0)<br /> 0xFFFDC,0,0x8C830010 lw v1,0x10(a0)<br /> 0xFFFE0,0,0x24630001 addiu v1,0x1<br /> 0xFFFE4,0,0xAC830010 sw v1,0x10(a0)<br /> 0xFFFE8,0,0x080A67A6 j pos_00299E98<br /> 0x299E90,0x3C020001 (lui v0,0x0001),0x0803FFE8 j pos_000FFFA0<br /> 0x299E94,0x00822021 (addu a0,v0),0x00000000 nop<br /> |-<br /> | NPUD20712 || Gradius V ||<br /> 00000000 3D 00 00 00 37 3E 00 00 0B 00 00 00 01 00 00 00 =...7&gt;..........<br /> 00000010 D3 05 00 00 10 03 00 00 08 00 00 00 03 E0 00 08 ................<br /> 00000020 00 00 00 00 27 BD FF C0 3C 03 00 4C 41 00 00 00 ....'...&lt;..LA...<br /> 00000030 26 00 00 00 E0 46 30 00 44 5E 30 00 00 00 00 00 &amp;....F0.D^0.....<br /> 00000040 53 4C 55 53 2D 32 30 37 31 32 SLUS-20712 <br /> || 15927 (3.71+) || <br /> 0x3D =&gt; 0x3E37 (15927)<br /> 0x0B =&gt; 1<br /> 0x5D3, (sector)<br /> 0x310, (offset -&gt; 0x2E9B04 in iso)<br /> 0x08, <br /> 03 E0 00 08 jr ra<br /> 00 00 00 00 nop<br /> 27 BD FF C0 addiu sp,-0x40<br /> 3C 03 00 4C lui v1,0x004C<br /> 0x41 =&gt; (sets some value 1, sync? - speedhack?)<br /> 0x26 =&gt; 0x3046E0, 0x0x305E44<br /> |-<br /> | NPUD20552 || Grand Theft Auto - Vice City ||<br /> 00000000 3D 00 00 00 A5 41 00 00 21 00 00 00 01 00 00 00 =....A..!.......<br /> 00000010 0A 00 00 00 0D 00 00 00 A0 FF 0F 00 00 00 00 00 ................<br /> 00000020 17 00 01 24 A4 FF 0F 00 00 00 00 00 08 00 24 14 ...$..........$.<br /> 00000030 AC FF 0F 00 00 00 00 00 10 00 01 3C B0 FF 0F 00 ...........&lt;....<br /> 00000040 00 00 00 00 90 FF 22 8C B4 FF 0F 00 00 00 00 00 ......&quot;.........<br /> 00000050 FF FF 42 24 B8 FF 0F 00 00 00 00 00 05 00 40 1C ..B$..........@.<br /> 00000060 C0 FF 0F 00 00 00 00 00 04 00 02 24 C4 FF 0F 00 ...........$....<br /> 00000070 00 00 00 00 90 FF 22 AC C8 FF 0F 00 00 00 00 00 ......&quot;.........<br /> 00000080 C1 3A 0B 08 CC FF 0F 00 00 00 00 00 D0 FF BD 27 .:.............'<br /> 00000090 D0 FF 0F 00 00 00 00 00 08 00 E0 03 D4 FF 0F 00 ................<br /> 000000A0 00 00 00 00 90 FF 22 AC 00 EB 2C 00 D0 FF BD 27 ......&quot;...,....'<br /> 000000B0 E8 FF 03 08 00 00 00 00 53 4C 55 53 2D 32 30 35 ........SLUS-205<br /> 000000C0 35 32 52<br /> || 16805 (4.30+) ||<br /> 0x3D =&gt; 0x41A5 (16805)<br /> 0x21 =&gt; 1<br /> 0x0A = 0xD<br /> 0xFFFA0,0,0x24010017 li at,0x17<br /> 0xFFFA4,0,0x14240008 bne at,a0,pos_000FFFC8<br /> 0xFFFAC,0,0x3C010010 lui at,0x0010<br /> 0xFFFB0,0,0x8C22FF90 lw v0,-0x70(at)<br /> 0xFFFB4,0,0x2442FFFF addiu v0,-0x1<br /> 0xFFFB8,0,0x1C400005 bgtz v0,pos_000FFFD0<br /> 0xFFFC0,0,0x24020004 li v0,0x4<br /> 0xFFFC4,0,0xAC22FF90 sw v0,-0x70(at)<br /> 0xFFFC8,0,0x080B3AC1 j pos_002CEB04<br /> 0xFFFCC,0,0x27BDFFD0 addiu sp,-0x30<br /> 0xFFFD0,0,0x03E00008 jr ra<br /> 0xFFFD4,0,0xAC22FF90 sw v0,-0x70(at)<br /> 0x2CEB00,0x27BDFFD0 ( addiu sp,-0x30 ),0x0803FFE8 j pos_000FFFA0<br /> <br /> |-<br /> | NPED00063 || Grand Theft Auto III ||<br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 90 97 34 00 =....=........4.<br /> 00000010 10 00 00 00 21 00 00 00 01 00 00 00 00 00 00 00 ....!...........<br /> 00000020 53 4C 45 53 2D 35 30 33 33 30 SLES-50330<br /> || 15753 (3.73+) ||<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x01 =&gt; 0x349790, 0x10<br /> 0x21 =&gt; 1<br /> |-<br /> | NPUD20062 || Grand Theft Auto III ||<br /> 00000000 3D 00 00 00 48 3F 00 00 19 00 00 00 01 00 00 00 =...H?..........<br /> 00000010 40 8B 34 00 0F 00 00 00 21 00 00 00 01 00 00 00 @.4.....!.......<br /> 00000020 0B 00 00 00 01 00 00 00 71 6D 0F 00 EC 04 00 00 ........qm......<br /> 00000030 B0 00 00 00 03 E0 00 08 00 00 00 00 3C 01 00 10 ............&lt;...<br /> 00000040 8C 21 FE F0 14 20 00 25 00 00 00 00 27 BD FF 50 .!... .%....'..P<br /> 00000050 08 0B 64 B9 7F BF 00 50 00 00 00 00 34 02 00 03 ..d....P....4...<br /> 00000060 34 01 00 43 10 81 00 15 34 03 00 00 34 01 00 20 4..C....4...4.. <br /> 00000070 10 81 00 12 34 03 00 01 34 01 00 1F 10 81 00 0F ....4...4.......<br /> 00000080 34 03 00 02 34 01 00 1D 10 81 00 0C 34 03 00 03 4...4.......4...<br /> 00000090 34 02 00 02 34 01 00 39 10 81 00 08 34 03 00 04 4...4..9....4...<br /> 000000A0 34 02 00 01 34 01 00 1A 10 81 00 04 34 03 00 05 4...4.......4...<br /> 000000B0 27 BD FE F0 08 0B 1D 05 7F BF 00 90 3C 01 00 10 '...........&lt;...<br /> 000000C0 00 23 18 21 90 79 FE E0 27 39 00 01 03 22 08 2A .#.!.y..'9...&quot;.*<br /> 000000D0 00 01 C8 0A 13 20 FF F6 A0 79 FE E0 03 E0 00 08 ..... ...y......<br /> 000000E0 00 00 00 00 27 BD FE D0 7F BF 00 B0 7F BE 00 A0 ....'...........<br /> 000000F0 7F B7 00 90 7F B6 00 80 7F B5 00 70 7F B4 00 60 ...........p...`<br /> 00000100 7F B3 00 50 7F B2 00 40 7F B1 00 30 7F B0 00 20 ...P...@...0... <br /> 00000110 E7 B7 00 1C E7 B6 00 18 E7 B5 00 14 E7 B4 00 10 ................<br /> 00000120 27 B7 00 F4 46 00 65 06 E7 AC 00 F0 24 07 00 01 '...F.e.....$...<br /> 00000130 46 00 75 86 27 B0 00 F8 46 00 7D 46 E6 ED 00 00 F.u.'...F.}F....<br /> 00000140 3C 02 C4 7A AE 02 00 00 3C 02 44 7A FF A0 00 00 &lt;..z....&lt;.Dz....<br /> 00000150 44 82 60 00 27 A4 00 F0 46 00 6D C6 27 A5 00 C0 D.`.'...F.m.'...<br /> 00000160 27 A6 01 2C 70 00 46 28 70 00 4E 28 70 00 56 28 '..,p.F(p.N(p.V(<br /> 00000170 70 E0 5E 28 0C 0A A8 34 FF A0 00 08 27 B1 00 C8 p.^(...4....'...<br /> 00000180 C6 20 00 00 3C 02 40 00 44 82 08 00 24 07 00 01 . ..&lt;.@.D...$...<br /> 00000190 3C 02 44 7A 0A 00 00 00 07 00 00 00 40 7D 24 00 &lt;.Dz........@}$.<br /> 000001A0 08 00 E0 03 10 00 01 3C 44 7D 24 00 00 00 00 00 .......&lt;D}$.....<br /> 000001B0 08 00 E0 03 48 7D 24 00 00 00 00 00 F0 FE 22 AC ....H}$.......&quot;.<br /> 000001C0 E0 92 2D 00 50 FF BD 27 1A 2B 0D 08 E4 92 2D 00 ..-.P..'.+....-.<br /> 000001D0 50 00 BF 7F 00 00 00 00 10 74 2C 00 F0 FE BD 27 P........t,....'<br /> 000001E0 22 2B 0D 08 14 74 2C 00 90 00 BF 7F 00 00 00 00 &quot;+...t,.........<br /> 000001F0 00 00 00 00 53 4C 55 53 2D 32 30 30 36 32 ....SLUS-20062 <br /> || 16200 (4.10+) ||<br /> 0x3D =&gt; 0x3F48 (16200)<br /> 0x19 =&gt; (sets some value 1)<br /> 0x01 =&gt; 0x348B40, 0xF<br /> 0x21 =&gt; 1<br /> 0x0B =&gt; 1<br /> 0xF6D71, (sector)<br /> 0x4EC, (offset -&gt; 0x7B6B8CE0 in iso)<br /> 0xB0, <br /> 03 E0 00 08 jr ra<br /> 00 00 00 00 nop<br /> 3C 01 00 10 lui at,0x0010<br /> 8C 21 FE F0 lw at,-0x110(at)<br /> 14 20 00 25 bnez at,+0x98<br /> 00 00 00 00 nop<br /> 27 BD FF 50 addiu sp,-0xB0<br /> 08 0B 64 B9 j +0x22C78<br /> 7F BF 00 50 sq ra,0x50(sp)<br /> 00 00 00 00 nop<br /> 34 02 00 03 li v0,0x3<br /> 34 01 00 43 li at,0x43<br /> 10 81 00 15 beq a0,at,+0x5C<br /> 34 03 00 00 li v1,0x0<br /> 34 01 00 20 li at,0x20<br /> 10 81 00 12 beq a0,at,+0x4C<br /> 34 03 00 01 li v1,0x1<br /> 34 01 00 1F li at,0x1F<br /> 10 81 00 0F beq a0,at,+0x3C<br /> 34 03 00 02 li v1,0x2<br /> 34 01 00 1D li at,0x1D<br /> 10 81 00 0C beq a0,at,+0x2C<br /> 34 03 00 03 li v1,0x3<br /> 34 02 00 02 li v0,0x2<br /> 34 01 00 39 li at,0x39<br /> 10 81 00 08 beq a0,at,+0x24<br /> 34 03 00 04 li v1,0x4<br /> 34 02 00 01 li v0,0x1<br /> 34 01 00 1A li at,0x1A<br /> 10 81 00 04 beq a0,at,+0x14<br /> 34 03 00 05 li v1,0x5<br /> 27 BD FE F0 addiu sp,-0x110<br /> 08 0B 1D 05 j +0x10D54<br /> 7F BF 00 90 sq ra,0x90(sp)<br /> 3C 01 00 10 lui at,0x0010<br /> 00 23 18 21 addu v1,at<br /> 90 79 FE E0 lbu t9,-0x120(v1)<br /> 27 39 00 01 addiu t9,0x1<br /> 03 22 08 2A slt at,t9,v0<br /> 00 01 C8 0A movz t9,zero,at<br /> 13 20 FF F6 beqz t9,-0x24<br /> A0 79 FE E0 sb t9,-0x120(v1)<br /> 03 E0 00 08 jr ra<br /> 00 00 00 00 nop<br /> 27 BD FE D0 addiu sp,-0x130<br /> 7F BF 00 B0 sq ra,0xB0(sp)<br /> 7F BE 00 A0 sq fp,0xA0(sp)<br /> 7F B7 00 90 sq s7,0x90(sp)<br /> 7F B6 00 80 sq s6,0x80(sp)<br /> 7F B5 00 70 sq s5,0x70(sp)<br /> 7F B4 00 60 sq s4,0x60(sp)<br /> 7F B3 00 50 sq s3,0x50(sp)<br /> 7F B2 00 40 sq s2,0x40(sp)<br /> 7F B1 00 30 sq s1,0x30(sp)<br /> 7F B0 00 20 sq s0,0x20(sp)<br /> E7 B7 00 1C swc1 f23,0x1C(sp)<br /> E7 B6 00 18 swc1 f22,0x18(sp)<br /> E7 B5 00 14 swc1 f21,0x14(sp)<br /> E7 B4 00 10 swc1 f20,0x10(sp)<br /> 27 B7 00 F4 addiu s7,sp,0xF4<br /> 46 00 65 06 mov.s f20,f12<br /> E7 AC 00 F0 swc1 f12,0xF0(sp)<br /> 24 07 00 01 li a3,0x1<br /> 46 00 75 86 mov.s f22,f14<br /> 27 B0 00 F8 addiu s0,sp,0xF8<br /> 46 00 7D 46 mov.s f21,f15<br /> E6 ED 00 00 swc1 f13,(s7)<br /> 3C 02 C4 7A lui v0,0xC47A<br /> AE 02 00 00 sw v0,(s0)<br /> 3C 02 44 7A lui v0,0x447A<br /> FF A0 00 00 sd zero,(sp)<br /> 44 82 60 00 mtc1 v0,f12<br /> 27 A4 00 F0 addiu a0,sp,0xF0<br /> 46 00 6D C6 mov.s f23,f13<br /> 27 A5 00 C0 addiu a1,sp,0xC0<br /> 27 A6 01 2C addiu a2,sp,0x12C<br /> 70 00 46 28 paddub t0,zero,zero<br /> 70 00 4E 28 paddub t1,zero,zero<br /> 70 00 56 28 paddub t2,zero,zero<br /> 70 E0 5E 28 paddub t3,a3,zero<br /> 0C 0A A8 34 jal -0xC5C4<br /> FF A0 00 08 sd zero,0x8(sp)<br /> 27 B1 00 C8 addiu s1,sp,0xC8<br /> C6 20 00 00 lwc1 f00,(s1)<br /> 3C 02 40 00 lui v0,0x4000<br /> 44 82 08 00 mtc1 v0,f01<br /> 24 07 00 01 li a3,0x1<br /> 3C 02 44 7A lui v0,0x447A<br /> 0x0A =&gt; 7<br /> 0x247D40, 0x03E00008 (jr ra), 0x3C010010 lui at,0x0010<br /> 0x247D44, 0x00000000 (nop), 0x03E00008 jr ra<br /> 0x247D48, 0x00000000 (nop), 0xAC22FEF0 sw v0,-0x110(at)<br /> 0x2D92E0, 0x27BDFF50 (addiu sp,-0xB0), 0x080D2B1A j pos_0034AC68<br /> 0x2D92E4, 0x7FBF0050 (sq ra,0x50(sp)), 0x00000000 nop<br /> 0x2C7410, 0x27BDFEF0 (addiu sp,-0x110), 0x080D2B22 j pos_0034AC88<br /> 0x2C7414, 0x7FBF0090 (sq ra,0x90(sp)), 0x00000000 nop<br /> |-<br /> | NPED00070 || Grand Theft Auto - San Andreas ||<br /> 00000000 3D 00 00 00 60 40 00 00 0F 00 00 00 B0 45 1E 00 =...`@.......E..<br /> 00000010 08 51 1E 00 40 00 00 00 00 00 00 00 53 4C 45 53 .Q..@.......SLES<br /> 00000020 2D 35 32 39 32 37 -52927<br /> || 16480 (4.20+) ||<br /> 0x3D =&gt; 0x4060 (16480)<br /> 0x0F =&gt; 0x1E45B0, 0x1E5108<br /> 0x40 =&gt; (sets some value 1)<br /> |-<br /> | NPUD20946 || Grand Theft Auto - San Andreas ||<br /> 00000000 3D 00 00 00 60 40 00 00 0F 00 00 00 DC 46 1E 00 =...`@.......F..<br /> 00000010 E8 4A 1E 00 40 00 00 00 00 00 00 00 53 4C 55 53 .J..@.......SLUS<br /> 00000020 2D 32 30 39 34 36 -20946<br /> || 16480 (4.20+) ||<br /> 0x3D =&gt; 0x4060 (16480)<br /> 0x0F =&gt; 0x1E46DC, 0x1E4AE8<br /> 0x40 =&gt; (sets some value 1)<br /> |-<br /> | NPJD00062 || Grandia II ||<br /> <br /> || || texture bugs<br /> <br /> |-<br /> | NPUD21604 || GRIMgRiMoiRe ||<br /> 00000000 3D 00 00 00 12 3D 00 00 15 00 00 00 04 00 00 00 =....=..........<br /> || 15634 (3.70+) ||<br /> 0x3D =&gt; 0x3D12 (15634)<br /> 0x15 =&gt; 4<br /> |-<br /> | NPJD00020 || Katamari Damacy ||<br /> 00000000 3D 00 00 00 46 40 00 00 41 00 00 00 0B 00 00 00 =...F@..A.......<br /> 00000010 01 00 00 00 29 04 00 00 40 00 00 00 04 00 00 00 ....)...@.......<br /> 00000020 00 24 77 68 00 00 00 00 00 00 00 00 53 4C 50 53 .$wh........SLPS<br /> 00000030 2D 32 35 33 36 30 -25360<br /> || 16454 (4.20+)||<br /> 0x3D =&gt; 0x4046 (16454)<br /> 0x41 =&gt; (sets some value 1, sync? - speedhack?)<br /> 0x0B =&gt; 1<br /> 0x429, (sector)<br /> 0x40, (offset -&gt; 0x214834 in iso)<br /> 0x04,<br /> 0x68772400 mfsa t6 , <br /> 0x00000000 nop<br /> |-<br /> | NPUD20847 || La Pucelle: Tactics ||<br /> 00000000 3D 00 00 00 DB 3F 00 00 0A 00 00 00 0B 00 00 00 =....?..........<br /> 00000010 40 FA 0F 00 00 00 00 00 0C 01 0A 3C 44 FA 0F 00 @..........&lt;D...<br /> 00000020 00 00 00 00 04 DE 4A 35 48 FA 0F 00 00 00 00 00 ......J5H.......<br /> 00000030 04 00 45 11 4C FA 0F 00 00 00 00 00 00 00 00 00 ..E.L...........<br /> 00000040 50 FA 0F 00 00 00 00 00 10 00 0A 8E 54 FA 0F 00 P...........T...<br /> 00000050 00 00 00 00 9A E2 04 08 58 FA 0F 00 00 00 00 00 ........X.......<br /> 00000060 14 00 0B 8E 5C FA 0F 00 00 00 00 00 9C E2 04 08 ....\...........<br /> 00000070 60 FA 0F 00 00 00 00 00 00 00 00 00 60 8A 13 00 `...........`...<br /> 00000080 10 00 0A 8E 90 FE 03 08 64 8A 13 00 14 00 0B 8E ........d.......<br /> 00000090 00 00 00 00 00 00 00 00 53 4C 55 53 2D 32 30 38 ........SLUS-208<br /> 000000A0 34 37 47 <br /> || 16347 (4.10+) || fixes blackscreen - config rebuild function/opcode from 0x138A60 by rewrite it under 0x100000 offset, and jump to it by j 0x000FFA40 (note: area under 0x100000 is unused in 99% games, but can be freely addressed).<br /> 0x3D =&gt; 0x3FDB (16347)<br /> 0x0A =&gt; 0xB<br /> 0xFFA40,0,0x3C0A010C lui t2, 0x010C<br /> 0xFFA44,0,0x354ADE04 ori t2, 0xDE04<br /> 0xFFA48,0,0x11450004 beq t2, a1, 0x000FFA5C<br /> 0xFFA4C,0,0 nop<br /> 0xFFA50,0,0x8E0A0010 lw t2, 0x10(s0)<br /> 0xFFA54,0,0x0804E29A j 0x00138A68<br /> 0xFFA58,0,0x8E0B0014 lw t3, 0x14(s0)<br /> 0xFFA5C,0,0x0804E29C j 0x00138A70<br /> 0xFFA60,0,0 nop<br /> 0x138A60,0x8E0A0010 (lw t2, 0x10(s0)),0x0803FE90 j 0x000FFA40<br /> 0x138A64,0x8E0B0014 (lw t3, 0x14(s0)),0 (nop)<br /> |-<br /> | NPUD20275 || Kessen II ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0B 00 00 00 03 00 00 00 =....=..........<br /> 00000010 10 76 00 00 BC 07 00 00 10 00 00 00 48 43 88 00 .v..........HC..<br /> 00000020 4B E5 21 AC 30 84 80 00 4B E7 2B 3C 4B E5 21 AC K.!.0...K.+&lt;K.!.<br /> 00000030 30 84 80 00 4B E7 2B 3C 48 43 88 00 64 76 00 00 0...K.+&lt;HC..dv..<br /> 00000040 10 05 00 00 0C 00 00 00 4B C0 10 9C 4B C0 18 DC ........K...K...<br /> 00000050 4A 68 03 BE 4A 68 03 BE 4B C0 10 9C 4B C0 18 DC Jh..Jh..K...K...<br /> 00000060 64 76 00 00 C8 06 00 00 0C 00 00 00 4B C0 10 9C dv..........K...<br /> 00000070 4B C0 18 DC 4A 68 03 BE 4A 68 03 BE 4B C0 10 9C K...Jh..Jh..K...<br /> 00000080 4B C0 18 DC 00 00 00 00 53 4C 55 53 2D 32 30 32 K.......SLUS-202<br /> 00000090 37 35 75 <br /> || 15753 (3.73+) || fixes spickey polygon syndrome problems for characters in cutscenes/selection/..<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0B =&gt; 3<br /> 0x7610, 0x07BC, 0x10, <br /> Patched Bytes:<br /> 0x00884348 00 88 43 48 cfc2 $v1, $17 (cfc2 v1,MACflag)<br /> 0xAC21E54B AC 21 E5 4B cop2 0x1E521AC (vsub.xyzw vf06, vf04, vf05)<br /> 0x00808430 00 80 84 30 andi $a0, 0x8000<br /> 0x3C2BE74B 3C 2B E7 4B cop2 0x1E72B3C (vmove.xyzw, vf07, vf05)<br /> Original Bytes:<br /> 0xAC21E54B AC 21 E5 4B cop2 0x1E521AC (vsub.xyzw vf06, vf04, vf05)<br /> 0x00808430 00 80 84 30 andi $a0, 0x8000<br /> 0x3C2BE74B 3C 2B E7 4B cop2 0x1E72B3C (vmove.xyzw, vf07, vf05)<br /> 0x00884348 00 88 43 48 cfc2 $v1, $17 (cfc2 v1,MACflag)<br /> 0x7664, 0x0510, 0x0C,<br /> Patched Bytes:<br /> 0x9C10C04B 9C 10 C0 4B cop2 0x1C0109C (vmulq.xyz vf02,vf02,Q)<br /> 0xDC18C04B DC 18 C0 4B cop2 0x1C018DC (vmulq.xyz vf03,vf03,Q)<br /> 0xBE03684A BE 03 68 4A cop2 0x6803BE (vrsqrt Q, vf00w, vf08x)<br /> Original Bytes:<br /> 0xBE03684A BE 03 68 4A cop2 0x6803BE (vrsqrt Q, vf00w, vf08x)<br /> 0x9C10C04B 9C 10 C0 4B cop2 0x1C0109C (vmulq.xyz vf02,vf02,Q)<br /> 0xDC18C04B DC 18 C0 4B cop2 0x1C018DC (vmulq.xyz vf03,vf03,Q)<br /> 0x7664, 0x06C8, 0x0C, <br /> Patched Bytes:<br /> 0x9C10C04B 9C 10 C0 4B cop2 0x1C0109C (vmulq.xyz vf02,vf02,Q)<br /> 0xDC18C04B DC 18 C0 4B cop2 0x1C018DC (vmulq.xyz vf03,vf03,Q)<br /> 0xBE03684A BE 03 68 4A cop2 0x6803BE (vrsqrt Q, vf00w, vf08x)<br /> Original Bytes:<br /> 0xBE03684A BE 03 68 4A cop2 0x6803BE (vrsqrt Q, vf00w, vf08x)<br /> 0x9C10C04B 9C 10 C0 4B cop2 0x1C0109C (vmulq.xyz vf02,vf02,Q)<br /> 0xDC18C04B DC 18 C0 4B cop2 0x1C018DC (vmulq.xyz vf03,vf03,Q)<br /> |-<br /> | NPJD00040 || Mana Khemia 2 ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 53 4C 50 4D 2D 35 35 31 ........SLPM-551<br /> 00000020 31 34 14<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> |-<br /> | NPUD20827 || Manhunt ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0A 00 00 00 0F 00 00 00 =....=..........<br /> 00000010 A0 FF 0F 00 00 00 00 00 2D 68 A0 00 A4 FF 0F 00 ........-h......<br /> 00000020 00 00 00 00 14 00 AE 8D A8 FF 0F 00 00 00 00 00 ................<br /> 00000030 10 00 AC 8D AC FF 0F 00 00 00 00 00 50 00 AF 8D ............P...<br /> 00000040 B0 FF 0F 00 00 00 00 00 08 00 8F 15 B4 FF 0F 00 ................<br /> 00000050 00 00 00 00 54 00 AB 8D B8 FF 0F 00 00 00 00 00 ....T...........<br /> 00000060 06 00 CB 15 BC FF 0F 00 00 00 00 00 00 80 8F 25 ...............%<br /> 00000070 C0 FF 0F 00 00 00 00 00 00 80 CE 25 C4 FF 0F 00 ...........%....<br /> 00000080 00 00 00 00 54 00 AE AD C8 FF 0F 00 00 00 00 00 ....T...........<br /> 00000090 50 00 AF AD CC FF 0F 00 00 00 00 00 10 00 AF AD P...............<br /> 000000A0 D0 FF 0F 00 00 00 00 00 14 00 AE AD D4 FF 0F 00 ................<br /> 000000B0 00 00 00 00 04 68 10 08 D8 FF 0F 00 00 00 00 00 .....h..........<br /> 000000C0 5F 00 03 3C 0B 00 00 00 01 00 00 00 22 0D 00 00 _..&lt;........&quot;...<br /> 000000D0 14 01 00 00 08 00 00 00 08 03 FF E8 27 BD FF F0 ............'...<br /> 000000E0 3C 03 00 5F 27 BD FF F0 00 00 00 00 53 4C 55 53 &lt;.._'.......SLUS<br /> 000000F0 2D 32 30 38 32 37 -20827<br /> || 15753 (3.73+) || fixes graphical issues<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0A =&gt; 0x0F<br /> 0xFFFA0,0, 0x00A0682D 2D 68 A0 00 dmove t5,a1<br /> 0xFFFA4,0, 0x8DAE0014 14 00 AE 8D lw t6,0x14(t5)<br /> 0xFFFA8,0, 0x8DAC0010 10 00 AC 8D lw t4,0x10(t5)<br /> 0xFFFAC,0, 0x8DAF0050 50 00 AF 8D lw t7,0x50(t5)<br /> 0xFFFB0,0, 0x158F0008 08 00 8F 15 bne t4,t7,pos_000FFFD4<br /> 0xFFFB4,0, 0x8DAB0054 54 00 AB 8D lw t3,0x54(t5)<br /> 0xFFFB8,0, 0x15CB0006 06 00 CB 15 bne t6,t3,pos_000FFFD4<br /> 0xFFFBC,0, 0x258F8000 00 80 8F 25 addiu t7,t4,-0x8000<br /> 0xFFFC0,0, 0x25CE8000 00 80 CE 25 addiu t6,-0x8000<br /> 0xFFFC4,0, 0xADAE0054 54 00 AE AD sw t6,0x54(t5)<br /> 0xFFFC8,0, 0xADAF0050 50 00 AF AD sw t7,0x50(t5)<br /> 0xFFFCC,0, 0xADAF0010 10 00 AF AD sw t7,0x10(t5)<br /> 0xFFFD0,0, 0xADAE0014 14 00 AE AD sw t6,0x14(t5)<br /> 0xFFFD4,0, 0x08106804 04 68 10 08 j pos_0041A010<br /> 0xFFFD8,0, 0x3C03005F 5F 00 03 3C lui v1,0x005F<br /> 0x0B =&gt; 1<br /> 0xD22, (disc sector)<br /> 0x114, (offset -&gt; 0x691108 in iso)<br /> 0x08,<br /> 0x0803FFE8 E8 FF 03 08 j pos_000FFFA0<br /> 0x27BDFFF0 F0 FF BD 27 addiu sp,-0x10<br /> 0x3C03005F 5F 00 03 3C lui v1,0x005F<br /> 0x27BDFFF0 F0 FF BD 27 addiu sp,-0x10<br /> &lt;pre&gt;<br /> z_un_0041a008:<br /> <br /> lui v1,0x005F &lt;- gets overwritten<br /> addiu sp,-0x10<br /> lw v0,-0x5C14(v1)<br /> sd ra,(sp)<br /> jalr v0<br /> nop <br /> ld ra,(sp)<br /> jr ra<br /> addiu sp,0x10<br /> nop <br /> &lt;/pre&gt;<br /> |-<br /> | NPED00145 || Max Payne ||<br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 F4 E9 52 00 =....=........R.<br /> 00000010 03 00 00 00 01 00 00 00 78 EB 52 00 02 00 00 00 ........x.R.....<br /> 00000020 00 00 00 00 53 4C 45 53 2D 35 30 33 32 35 ....SLES-50325<br /> || 15753 (3.73+) || fixes game hang on first cutscene/cutscenes<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x01 =&gt; 0x52E9F4, 3 (applies to main_p.run ELF on disc: 0x52E9F4 dmove a1,v0 )<br /> 0x01 =&gt; 0x52EB78, 2 (applies to main_p.run ELF on disc: 0x52EB78 lq s1,0x10(sp) )<br /> |-<br /> | NPED00055 || MX World Tour: Featuring Jamie Little ||<br /> <br /> || || blackscreen<br /> <br /> |-<br /> | NPUD21577 || Odin Sphere ||<br /> 00000000 3D 00 00 00 10 3D 00 00 0B 00 00 00 02 00 00 00 =....=..........<br /> 00000010 52 04 00 00 F8 03 00 00 04 00 00 00 2D 02 49 0C R...........-.I.<br /> 00000020 2D 02 49 14 52 04 00 00 70 04 00 00 04 00 00 00 -.I.R...p.......<br /> 00000030 2D 03 49 0C 2D 03 49 14 15 00 00 00 04 00 00 00 -.I.-.I.........<br /> || 15632 (3.70+) ||<br /> 0x3D =&gt; 0x3D10 (15632)<br /> 0x0B =&gt; 2<br /> 0x452, (sector)<br /> 0x3F8, (offset -&gt; 0x2293EC in iso)<br /> 0x04,<br /> 0x0C49022D sltiu v0,t0,0x490C,<br /> 0x1449022D sltiu v0,t0,0x4914,<br /> 0x452, (sector)<br /> 0x470, (offset -&gt; 0x229464 in iso)<br /> 0x04,<br /> 0x0C49032D sltiu v1,t0,0x490C,<br /> 0x1449032D sltiu v1,t0,0x4914<br /> 0x15 =&gt; 4<br /> |-<br /> | NPJD00028 || Phantasy Star Complete Collection ||<br /> 00000000 3D 00 00 00 B8 41 00 00 45 00 00 00 00 00 00 00 =....A..E.......<br /> 00000010 53 4C 50 4D 2D 36 32 37 37 35 SLPM-62775<br /> || 16824 (4.40+)||<br /> 0x3D =&gt; 0x41B8 (16824)<br /> 0x45 =&gt; (sets some value 1)<br /> |-<br /> | NPUC97142 || Primal ||<br /> 00000000 3D 00 00 00 65 3D 00 00 12 00 00 00 0D 00 00 00 =...e=..........<br /> 00000010 00 00 00 04 00 00 00 00 02 00 03 00 5F 01 00 00 ............_...<br /> 00000020 8D BD 6F 2C 67 03 00 00 02 00 03 00 6B 01 00 00 ..o,g.......k...<br /> 00000030 31 35 70 E9 72 03 00 00 03 00 02 00 60 9B 39 10 15p.r.......`.9.<br /> 00000040 18 9C 39 10 0B 00 00 00 01 00 00 00 47 07 00 00 ..9.........G...<br /> 00000050 6C 04 00 00 04 00 00 00 80 5F 03 3C 80 00 03 3C l........_.&lt;...&lt;<br /> || 15717 (3.73+) || fixes loading screen freezing<br /> 0x3D =&gt; 0x3D65 (15717)<br /> 0x12 =&gt; 0x0D, (fixes freezing)<br /> 00 00 00 04 0x04000000 (64 MB?)<br /> 00 00 00 00 <br /> 02 00&gt;'''03 00'''&lt; Count, Type 2<br /> 5F 01 00 00 0x15F<br /> 8D BD 6F 2C 0x2C6FBD8D<br /> 67 03 00 00 0x367<br /> 02 00&gt;'''03 00'''&lt; Count, Type 2<br /> 6B 01 00 00 0x16B<br /> 31 35 70 E9 0xE9703531<br /> 72 03 00 00 0x372<br /> 03 00&gt;'''02 00'''&lt; Count<br /> 60 9B 39 10 -&gt; 0x399B60 ctc2 $zero, $5<br /> 18 9C 39 10 -&gt; 0x399C18 ctc2 $zero, $5<br /> 0x0B =&gt; 1<br /> 0x747, (disc sector)<br /> 0x46C, (offset -&gt; 0x3A3C60 - this patch is for another (hidden) .elf (.vutext) on disc) <br /> 0x04,<br /> 0x3C035F80 lui v1,0x5F80,<br /> 0x3C030080 lui v1,0x0080<br /> |-<br /> | NPUD21120 || Psychonauts ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0B 00 00 00 01 00 00 00 =....=..........<br /> 00000010 12 01 00 00 58 00 00 00 04 00 00 00 00 00 00 00 ....X...........<br /> 00000020 11 CF FF F9 00 00 00 00 53 4C 55 53 2D 32 31 31 ........SLUS-211<br /> 00000030 32 30 20<br /> || 15753 (3.73+) || <br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0B =&gt; 1<br /> 0x112, (sector)<br /> 0x58, (offset -&gt; 0x8904C in iso)<br /> 0x04,<br /> 0x00000000 nop, <br /> 0xF9FFCF11 beq t6,t7,-0x18<br /> |-<br /> | NPUD20272 || Rayman Arena||<br /> 00000000 3D 00 00 00 89 3D 00 00 12 00 00 00 11 00 00 00 =....=..........<br /> 00000010 00 00 00 04 00 00 00 00 02 00 04 00 00 00 00 00 ................<br /> 00000020 AE B3 4E 5D 20 02 00 00 46 02 00 00 03 00 09 00 ..N] ...F.......<br /> 00000030 B0 E9 1D 10 94 EB 1D 10 00 EC 1D 10 54 EC 1D 10 ............T...<br /> 00000040 A0 EE 1D 10 DC EE 1D 10 78 F0 1D 10 B4 F0 1D 10 ........x.......<br /> 00000050 54 F1 1D 10 00 00 00 00 53 4C 55 53 2D 32 30 32 T.......SLUS-202<br /> 00000060 37 32 72 <br /> || 15753 (3.73+) || <br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x12 =&gt; 0x11<br /> 00 00 00 04 <br /> 00 00 00 00 <br /> 02 00&gt;'''04 00'''&lt; Count<br /> 00 00 00 00 <br /> AE B3 4E 5D <br /> 20 02 00 00 <br /> 46 02 00 00 <br /> 03 00&gt;'''09 00'''&lt; Count<br /> B0 E9 1D 10 -&gt; 0x1DE9B0 ctc2 $t0, $6<br /> 94 EB 1D 10 -&gt; 0x1DEB94 ctc2 $t0, $6<br /> 00 EC 1D 10 -&gt; 0x1DEC00 ctc2 $t0, $6<br /> 54 EC 1D 10 -&gt; 0x1DEC54 ctc2 $t0, $6<br /> A0 EE 1D 10 -&gt; 0x1DEEA0 ctc2 $t0, $6<br /> DC EE 1D 10 -&gt; 0x1DEEDC ctc2 $t0, $6<br /> 78 F0 1D 10 -&gt; 0x1DF078 ctc2 $t0, $6<br /> B4 F0 1D 10 -&gt; 0x1DF0B4 ctc2 $t0, $6<br /> 54 F1 1D 10 -&gt; 0x1DF154 ctc2 $t0, $6<br /> |-<br /> | NPJD00079 || Raw Danger! ||<br /> <br /> || || fps problem<br /> <br /> |-<br /> | NPUD20442 || Red Faction 2 ||<br /> 00000000 3D 00 00 00 42 3F 00 00 19 00 00 00 00 00 00 00 =...B?..........<br /> 00000010 53 4C 55 53 2D 32 30 34 34 32 SLUS-20442<br /> || 16194 (4.00+) || <br /> 0x3D =&gt; 0x3F42 (16194)<br /> 0x19 =&gt; (sets some value 1)<br /> |-<br /> | NPUD20471 || Rygar ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0E 00 00 00 A8 7D 14 00 =....=.......}..<br /> 00000010 00 00 00 00 53 4C 55 53 2D 32 30 34 37 31 ....SLUS-20471<br /> || 15753 (3.73+) || fixes hard crash at start when leaving the place<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0E =&gt; 0x147DA8 (offset)<br /> <br /> .text:00147DA8 sub.s $f12, $f20, $f12<br /> |-<br /> | NPUD20974 || Shin Megami Tensei Digital Devil Saga 1|| <br /> 00000000 3D 00 00 00 EC 42 00 00 46 00 00 00 48 00 00 00 =....B..F...H...<br /> 00000010 01 00 00 00 90 D0 03 00 00 00 00 00 53 4C 55 53 ............SLUS<br /> 00000020 2D 32 30 39 37 34 -20974<br /> || 17132 (4.50+) || fixes screen shakes/framerate cracks<br /> 0x3D =&gt; 0x42EC (17132)<br /> 0x46 =&gt; (sets some value 1)<br /> 0x48 =&gt; 0x1 , 0x3D090<br /> |-<br /> | NPUD20911 || Shin Megami Tensei Nocturne || <br /> 00000000 3D 00 00 00 F6 41 00 00 46 00 00 00 00 00 00 00 =....A..F.......<br /> 00000010 53 4C 55 53 2D 32 30 39 31 31 SLUS-20911<br /> || 16886 (4.40+) || fixes screen shakes/flickers (and much more importantly, game crashes)<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x46 =&gt; (sets some value 1)<br /> |-<br /> | NPUD21621 || Shin Megami Tensei Persona 3 FES ||<br /> 00000000 3D 00 00 00 48 41 00 00 0A 00 00 00 20 00 00 00 =...HA...... ...<br /> 00000010 00 FA 0F 00 00 00 00 00 E0 00 A4 8F 04 FA 0F 00 .·......Ó.ñÅ.·..<br /> 00000020 00 00 00 00 6C 01 03 24 08 FA 0F 00 00 00 00 00 ....l..$.·......<br /> 00000030 0A 00 83 14 0C FA 0F 00 00 00 00 00 FF 00 04 24 ..â..·...... ..$<br /> 00000040 10 FA 0F 00 00 00 00 00 B8 26 04 00 14 FA 0F 00 .·......©&amp;...·..<br /> 00000050 00 00 00 00 27 20 84 00 18 FA 0F 00 00 00 00 00 ....' ä..·......<br /> 00000060 D0 00 A3 DF 1C FA 0F 00 00 00 00 00 24 18 83 00 ð.ú¯.·......$.â.<br /> 00000070 20 FA 0F 00 00 00 00 00 0B 00 63 64 24 FA 0F 00 ·........cd$·..<br /> 00000080 00 00 00 00 33 00 04 24 28 FA 0F 00 00 00 00 00 ....3..$(·......<br /> 00000090 B8 26 04 00 2C FA 0F 00 00 00 00 00 25 18 83 00 ©&amp;..,·......%.â.<br /> 000000A0 30 FA 0F 00 00 00 00 00 D0 00 A3 FF 34 FA 0F 00 0·......ð.ú 4·..<br /> 000000B0 00 00 00 00 E1 B3 11 08 38 FA 0F 00 00 00 00 00 ....ߦ..8·......<br /> 000000C0 50 00 64 8E 7C CF 46 00 50 00 64 8E 80 FE 03 08 P.dÄ|¤F.P.dÄǦ..<br /> 000000D0 40 FA 0F 00 00 00 00 00 00 3C 04 3C 44 FA 0F 00 @·.......&lt;.&lt;D·..<br /> 000000E0 00 00 00 00 18 3F 05 3C 48 FA 0F 00 00 00 00 00 .....?.&lt;H·......<br /> 000000F0 20 00 24 AE 4C FA 0F 00 00 00 00 00 24 00 24 AE .$«L·......$.$«<br /> 00000100 50 FA 0F 00 00 00 00 00 60 00 25 AE 54 FA 0F 00 P·......`.%«T·..<br /> 00000110 00 00 00 00 64 00 24 AE 58 FA 0F 00 00 00 00 00 ....d.$«X·......<br /> 00000120 A0 00 24 AE 5C FA 0F 00 00 00 00 00 A4 00 25 AE á.$«\·......ñ.%«<br /> 00000130 60 FA 0F 00 00 00 00 00 E0 00 25 AE 64 FA 0F 00 `·......Ó.%«d·..<br /> 00000140 00 00 00 00 E4 00 25 AE 68 FA 0F 00 00 00 00 00 ....õ.%«h·......<br /> 00000150 04 00 04 24 6C FA 0F 00 00 00 00 00 39 9B 10 08 ...$l·......9ø..<br /> 00000160 70 FA 0F 00 00 00 00 00 10 00 25 26 DC 6C 42 00 p·........%&amp;_lB.<br /> 00000170 04 00 04 24 90 FE 03 08 E0 6C 42 00 10 00 25 26 ...$ɦ..ÓlB...%&amp;<br /> 00000180 00 00 00 00 30 6A 4C 00 80 3F 02 3C 7F 3F 02 3C ....0jL.Ç?.&lt;?.&lt;<br /> 00000190 21 00 00 00 00 00 00 00 15 00 00 00 04 00 00 00 !...............<br /> 000001A0 00 00 00 00 53 4C 55 53 2D 32 31 36 32 31 ....SLUS-21621<br /> || 16712 (4.25+)||<br /> 0x3D =&gt; 0x4148 (16712)<br /> 0x0A =&gt; 0x20<br /> 0xFFA00,0,0x8FA400E0 lw a0,0xE0(sp)<br /> 0xFFA04,0,0x2403016C li v1,0x16C<br /> 0xFFA08,0,0x1483000A bne a0,v1,pos_000FFA34<br /> 0xFFA0C,0,0x240400FF li a0,0xFF<br /> 0xFFA10,0,0x000426B8 dsll a0,0x1A<br /> 0xFFA14,0,0x00842027 nor a0,a0<br /> 0xFFA18,0,0xDFA300D0 ld v1,0xD0(sp)<br /> 0xFFA1C,0,0x00831824 and v1,a0,v1<br /> 0xFFA20,0,0x6463000B daddiu v1,0x000B<br /> 0xFFA24,0,0x24040030 li a0,0x30<br /> 0xFFA28,0,0x000426B8 dsll a0,0x1A<br /> 0xFFA2C,0,0x00831825 or v1,a0,v1<br /> 0xFFA30,0,0xFFA300D0 sd v1,0xD0(sp)<br /> 0xFFA34,0,0x0811B3E1 j pos_0046CF84<br /> 0xFFA38,0,0x8E640050 lw a0,0x50(s3)<br /> 0x46CF7C,0x8E640050 (lw a0,0x50(s3),0x0803FE80 j pos_000FFA00<br /> 0xFFA40,0,0x3C043C00 lui a0,0x3C00<br /> 0xFFA44,0,0x3C053F18 lui a1,0x3F18<br /> 0xFFA48,0,0xAE240020 sw a0,0x20(s1)<br /> 0xFFA4C,0,0xAE240024 sw a0,0x24(s1)<br /> 0xFFA50,0,0xAE250060 sw a1,0x60(s1)<br /> 0xFFA54,0,0xAE240064 sw a0,0x64(s1)<br /> 0xFFA58,0,0xAE2400A0 sw a0,0xA0(s1)<br /> 0xFFA5C,0,0xAE2500A4 sw a1,0xA4(s1)<br /> 0xFFA60,0,0xAE2500E0 sw a1,0xE0(s1)<br /> 0xFFA64,0,0xAE2500E4 sw a1,0xE4(s1)<br /> 0xFFA68,0,0x24040004 li a0,0x4<br /> 0xFFA6C,0,0x08109B39 j pos_00426CE4<br /> 0xFFA70,0,0x26250010 addiu a1,s1,0x10<br /> 0x426CDC,0x24040004(li a0,0x4),0x0803FE90 j pos_000FFA40<br /> 0x426CE0,0x26250010(addiu a1,s1,0x10),0 nop<br /> 0x4C6A30,0x3C023F80(lui v0,0x3F80),0x3C023F7F lui v0,0x3F7F<br /> 0x21 =&gt; 0<br /> 0x15 =&gt; 4<br /> |-<br /> | NPUD21782 || Shin Megami Tensei Persona 4 || <br /> 00000000 3D 00 00 00 89 3D 00 00 0A 00 00 00 01 00 00 00 =....=..........<br /> 00000010 60 9C 18 00 80 3F 02 3C 7F 3F 02 3C 00 00 00 00 `....?.&lt;.?.&lt;....<br /> 00000020 53 4C 55 53 2D 32 31 37 38 32 SLUS-21782<br /> || 15753 (3.73+) || Dungeon name in the corner is glitched (shows black bar).<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0A =&gt; 1<br /> 0x189C60, 0x3C023F80 lui v0,0x3F80 <br /> 0x3C023F7F lui v0,0x3F7F<br /> |-<br /> | NPUC97355 || Siren ||<br /> 00000000 3D 00 00 00 15 41 00 00 19 00 00 00 00 00 00 00 =....A..........<br /> 00000010 53 43 55 53 2D 39 37 33 35 35 SCUS-97355<br /> || 16661 (4.25+)|| <br /> 0x3D =&gt; 0x4115 (16661)<br /> 0x19 =&gt; (sets some value 1)<br /> |-<br /> | NPED00272 || Summoner ||<br /> 00000000 3D 00 00 00 89 3D 00 00 2C 00 00 00 01 00 00 00 =....=..,.......<br /> 00000010 00 00 00 00 53 4C 45 53 2D 38 32 30 30 35 ....SLES-82005 <br /> || 15753 (3.73+) || fixes blackscreen<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x2C =&gt; 0x1<br /> |-<br /> | NPUC97264 || Syphon Filter The Omega Strain || <br /> 00000000 3D 00 00 00 1F 40 00 00 12 00 00 00 05 00 00 00 =....@..........<br /> 00000010 00 00 00 00 00 00 00 00 01 00 02 00 31 00 99 18 ............1...<br /> 00000020 32 00 B6 18 0B 00 00 00 01 00 00 00 F5 05 00 00 2...............<br /> 00000030 8C 02 00 00 04 00 00 00 00 00 00 00 0C 0D C1 54 ...............T<br /> 00000040 0A 00 00 00 0B 00 00 00 F8 35 37 00 1B 52 06 4B .........57..R.K<br /> 00000050 00 80 43 48 FC 35 37 00 00 80 43 48 1B 52 06 4B ..CH.57...CH.R.K<br /> 00000060 EC 6F 3A 00 00 00 00 00 00 00 11 64 F8 6F 3A 00 .o:........d.o:.<br /> 00000070 78 A1 0E 0C 80 FE 03 0C 00 FA 0F 00 00 00 00 00 x...............<br /> 00000080 02 00 08 3C 04 FA 0F 00 00 00 00 00 2B 40 28 02 ...&lt;........+@(.<br /> 00000090 08 FA 0F 00 00 00 00 00 02 00 00 15 0C FA 0F 00 ................<br /> 000000A0 00 00 00 00 54 00 01 3C 10 FA 0F 00 00 00 00 00 ....T..&lt;........<br /> 000000B0 00 28 20 AC 14 FA 0F 00 00 00 00 00 78 A1 0E 08 .( .........x...<br /> 000000C0 18 FA 0F 00 00 00 00 00 01 00 31 26 00 00 00 00 ..........1&amp;....<br /> 000000D0 53 43 55 53 2D 39 37 32 36 34 SCUS-97264<br /> || 16415 (4.20+)|| fixes texture bugs<br /> 0x3D =&gt; 0x401F (16415)<br /> 0x12 =&gt; 0x5 <br /> 00 00 00 00 <br /> 00 00 00 00 <br /> 01 00&gt;'''02 00'''&lt; Count<br /> 31 00 99 18 -&gt; 0x18990<br /> 32 00 B6 18 -&gt; 0x18B60<br /> 0x0B =&gt; 1<br /> 0x5F5, (sector)<br /> 0x28C, (offset -&gt; 0x2FAA80 in iso)<br /> 0x04,<br /> 0x00000000 (nop), <br /> 0x54C10D0C (jal sub_370550)<br /> 0x0A =&gt; 0xB<br /> 0x3735F8, 0x4B06521B (cop2 0x106521B, vmulw.x vf08,vf10,vf06w), 0x48438000 cfc2 v1,Status<br /> 0x3735FC, 0x48438000 (cfc2 v1,Status), 0x4B06521B cop2 0x106521B (vmulw.x vf08,vf10,vf06w)<br /> 0x3A6FEC, 0 (nop), 0x64110000 li $s1, 0<br /> 0x3A6FF8, 0x0C0EA178 (jal pos_003A85E0), 0x0c03FE80 jal pos_000FFA00<br /> 0xFFA00, 0 (nop), 0x3C080002 lui t0,0x0002<br /> 0xFFA04, 0 (nop), 0x0228402B sltu t0,s1,t0<br /> 0xFFA08, 0 (nop), 0x15000002 bnez t0,pos_000FFA14<br /> 0xFFA0C, 0 (nop), 0x3C010054 lui at,0x0054<br /> 0xFFA10, 0 (nop), 0xAC202800 sw zero,0x2800(at)<br /> 0xFFA14, 0 (nop), 0x080EA178 j pos_003A85E0<br /> 0xFFA18, 0 (nop), 0x26310001 addiu s1,0x1<br /> |-<br /> | NPJD00080 || Zettaizetsumei Toshi (Disaster Report) ||<br /> 00000000 3D 00 00 00 26 44 00 00 44 00 00 00 00 00 00 00 =...&amp;D..D.......<br /> 00000010 53 4C 50 53 2D 32 35 31 31 33 SLPS-25113<br /> || 17446 (4.78)|| <br /> 0x3D =&gt; 0x4426 (17446)<br /> 0x44 =&gt; (disables smoothing and smoothing option)<br /> |}<br /> <br /> ====Unofficial====<br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! ID !! Title !! Config Data !! Revision !! Notes<br /> |-<br /> | ALL || .hack\\infection Part 1 || <br /> 00000000 3D 00 00 00 89 3D 00 00 08 00 00 00 FF FF FF FF =....=..........<br /> 00000010 FF FF FF FF 8D 94 11 01 FC 0E 00 80 FF FF FF FF ................<br /> 00000020 FF FF FF FF 8D 94 11 01 03 02 03 10 08 00 00 00 ................<br /> 00000030 FF FF FF FF FF FF FF FF 40 A7 E0 01 3C 03 00 80 ........@...&lt;...<br /> 00000040 FF FF FF FF FF FF FF FF 40 A7 E1 01 FC 1E 00 80 ........@.......<br /> 00000050 00 00 00 00 ....<br /> || 15753 (3.73+) || fix freeze<br /> <br /> |-<br /> | SLUS-21268 || 24 The Game ||<br /> 00000000 3D 00 00 00 65 3D 00 00 12 00 00 00 0D 00 00 00 =...e=..........<br /> 00000010 00 00 00 04 00 00 00 00 02 00 03 00 E7 00 00 00 ................<br /> 00000020 45 AD 6E AA EF 02 00 00 02 00 03 00 F3 00 00 00 E.n.............<br /> 00000030 E4 A0 6E 47 FA 02 00 00 03 00 02 00 B0 55 41 10 ..nG.........UA.<br /> 00000040 68 56 41 10 00 00 00 00 hVA..... <br /> <br /> || 15717 (3.73+) || fixes loading screen freezing<br /> 0x3D =&gt; 0x3D65 (15717)<br /> 0x12 =&gt; 0x0D, <br /> 00 00 00 04 <br /> 00 00 00 00 <br /> 02 00&gt;'''03 00'''&lt; Count, Type 2<br /> E7 00 00 00 <br /> 45 AD 6E AA <br /> EF 02 00 00 <br /> 02 00&gt;'''03 00'''&lt; Count, Type 2<br /> F3 00 00 00 <br /> E4 A0 6E 47 <br /> FA 02 00 00 <br /> 03 00&gt;'''02 00'''&lt; Count, Type 3<br /> B0 55 41 10 -&gt; 0x4155B0<br /> 68 56 41 10 -&gt; 0x415668 <br /> <br /> |-<br /> | SCES-50885 || Ape Escape 2 || <br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 01 00 00 00 =...WD..........<br /> 00000010 E0 E0 34 00 16 00 40 14 00 00 00 00 00 00 00 00 ŕŕ4...@.........<br /> || 17495 (4.78+) || Force game to not create Mipmaps. Fix flickering textures completely. <br /> <br /> |-<br /> | SLUS-21165 || Arc the Lad End of Darkness ||<br /> 00000000 3D 00 00 00 60 40 00 00 0F 00 00 00 B8 DD 26 00 =...`@........&amp;.<br /> 00000010 AC FE 26 00 00 00 00 00 ..&amp;..... <br /> || 15634 (3.70+) || fixes not displaying/freezing dialogs<br /> 0x3D =&gt; 0x3D12 (15634)<br /> 0x0F =&gt; 0x26DDB8, 0x26FEAC<br /> |-<br /> | SLUS-21445 || Ar Tonelico - Melody of Elemia ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> |-<br /> | SLUS-21788 || Ar tonelico II - Melody of Metafalica ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | || Atelier Iris ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | || Atelier Iris 2 ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | || Atelier Iris 3 ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | SLES-50672/SLUS-20035 || Baldur's Gate - Dark Alliance || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly (see: [https://www.dropbox.com/s/92n81uot56czb5v/Datei%2018.08.17%2011%2011%2029.jpeg?dl=0] )<br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> |-<br /> | || Baldur's Gate 2 || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | || Bard's Tale || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | SLES-51044 / SLES-52968 || Burnout 2: POI || <br /> 00000000 3D 00 00 00 46 40 00 00 0A 00 00 00 05 00 00 00 =...F@..........<br /> 00000010 B8 85 24 00 18 0D 80 C6 16 43 01 3C CC 85 24 00 ¸…$...€Ć.C.&lt;Ě…$.<br /> 00000020 00 00 40 E4 00 00 41 AC 04 26 26 00 80 97 80 C7 ..@ä..A¬.&amp;&amp;.€—€Ç<br /> 00000030 16 43 01 3C 18 26 26 00 00 00 40 E4 00 00 41 AC .C.&lt;.&amp;&amp;...@ä..A¬<br /> 00000040 B8 64 25 00 64 97 82 8F 00 00 02 24 00 00 00 00 ¸d%.d—‚Ź...$....<br /> || 16454 ||<br /> Fixes all white rendered textures/shadows (Big thanks to Maori-Jigglypuff for patch code! )<br /> 0x3D =&gt; 0x4046 (16454)<br /> 0x0A =&gt; 0x5 (5 Patches to EE memory)<br /> // Remove the whitish Car-Parts from the Racer Cars<br /> // [Control Address and Value: 2039917C 43160000]<br /> 0x2485B8, 0xC6800D18 (lwc1 $f0, 0xD18(s4)), 0x3C014316 (lui at, 0x4316)<br /> 0x2485СС, 0xE4400000 (swc1 $f0, 0(v0)), 0xAC410000 (sw at, 0(v0))<br /> <br /> // Remove the whitish Car-Parts from the Traffic Cars<br /> 0x262604, 0xC7809780 (lwc1 $f0, 0x9780(gp)), 0x3C014316 (lui at, 0x4316)<br /> 0x262618, 0xE4400000 (swc1 $f0, 0(v0)), 0xAC410000 (sw at, 0(v0))<br /> <br /> // Remove whitish Reflections on Anything!!!<br /> // (on Buildings, Bridges, Streets)<br /> 0x2564B8, 0x8F829764 (lw v0, 0x9764(gp)), 0x24020000 (li v0, 0)<br /> <br /> |-<br /> | SLUS-20497 || Burnout 2: POI || <br /> 00000000 3D 00 00 00 46 40 00 00 0A 00 00 00 05 00 00 00<br /> 00000010 A8 85 24 00 18 0D 80 C6 16 43 01 3C BC 85 24 00<br /> 00000020 00 00 40 E4 00 00 41 AC F4 25 26 00 80 97 80 C7<br /> 00000030 16 43 01 3C 08 26 26 00 00 00 40 E4 00 00 41 AC<br /> 00000040 A8 64 25 00 64 97 82 8F 00 00 02 24 00 00 00 00<br /> || 16454 ||<br /> Fixes all white rendered textures/shadows (Big thanks to Maori-Jigglypuff for patch code! )<br /> 0x3D =&gt; 0x4046 (16454)<br /> 0x0A =&gt; 0x5 (5 Patches to EE memory)<br /> // Remove the whitish Car-Parts from the Racer Cars<br /> // [Control Address and Value: 2039917C 43160000]<br /> 0x2485A8, 0xC6800D18 (lwc1 $f0, 0xD18(s4)), 0x3C014316 (lui at, 0x4316)<br /> 0x2485bc, 0xE4400000 (swc1 $f0, 0(v0)), 0xAC410000 (sw at, 0(v0))<br /> <br /> // Remove the whitish Car-Parts from the Traffic Cars<br /> 0x2625F4, 0xC7809780 (lwc1 $f0, 0x9780(gp)), 0x3C014316 (lui at, 0x4316)<br /> 0x262608, 0xE4400000 (swc1 $f0, 0(v0)), 0xAC410000 (sw at, 0(v0))<br /> <br /> // Remove whitish Reflections on Anything!!!<br /> // (on Buildings, Bridges, Streets)<br /> 0x2564A8, 0x8F829764 (lw v0, 0x9764(gp)), 0x24020000 (li v0, 0)<br /> <br /> |-<br /> | SLUS-21168/SLES-53755/SLPM-66175/SLKA-25328 || Castlevania: Curse of Darkness ||<br /> 00000000 3D 00 00 00 89 3D 00 00 08 00 00 00 00 00 00 80 =....=..........<br /> 00000010 FF FF FF FF 00 00 00 80 00 80 FF FF 00 00 00 80 ................<br /> 00000020 FF FF FF FF 00 00 00 80 01 80 FF FF 00 00 00 00 ................<br /> || || fixes Graphic issues with Spiky Polygons (PCSX2 workaround VU clamping mode none) <br /> <br /> |-<br /> | || Champions of Norath || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | || Champions Return to Arms || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | SLUS-21574 || Dawn of Mana || <br /> 00000000 3D 00 00 00 65 3D 00 00 12 00 00 00 04 00 00 00 =...e=..........<br /> 00000010 00 00 00 00 00 00 00 00 01 00 01 00 0C 00 DF 0D ................<br /> 00000020 00 00 00 00 ....<br /> || 15717 (3.70+) ||<br /> fix? (untested)<br /> 0x3D =&gt; 0x3D65 (15717)<br /> 0x12 =&gt; 0x04, <br /> 00 00 00 00 <br /> 00 00 00 00 <br /> 01 00&gt;01 00&lt; Count, Type 1<br /> 0C 00 DF 0D <br /> <br /> |-<br /> | SCUS-97146 || Disney's Treasure Planet ||<br /> 00000000 3D 00 00 00 F0 42 00 00 0B 00 00 00 01 00 00 00 =...đB..........<br /> 00000010 7C 14 00 00 80 05 00 00 18 00 00 00 3C 01 01 00 |...€.......&lt;...<br /> 00000020 3C 03 BF 80 8C 63 10 C8 00 61 18 24 10 61 FF FB &lt;.ż€Śc.Č.a.$.a˙ű<br /> 00000030 00 00 00 00 24 01 FF FF 14 61 00 04 3C 01 80 00 ....$.˙˙.a..&lt;.€.<br /> 00000040 14 41 00 02 00 00 00 00 00 06 00 0D 00 00 00 00 .A..............<br /> <br /> || 17136 (4.50+) || Fixes black screen at start, it apply to STREAM_D.IRX file in IOP folder. Patch is very weird because it apply to bad offset (should be 0x574), but if applied to correct one then game error with &quot;invalid tp2 file&quot;<br /> <br /> 0x3D =&gt; 0x42F0 (17136)<br /> 0x0B =&gt; 1<br /> 0x147C, (sector)<br /> 0x580, (offset)<br /> 0x18 (bytes to replace), <br /> <br /> <br /> Replaced opcodes<br /> 00 01 01 3C lui at,0x0100<br /> 80 BF 03 3C lui v1,0xBF80<br /> C8 10 63 8C lw v1,0x10C8(v1)<br /> 24 18 61 00 and v1,at<br /> FB FF 61 10 beq v1,at, -0x10<br /> 00 00 00 00 nop <br /> <br /> Original opcodes<br /> FF FF 01 24 li at,-0x1<br /> 04 00 61 14 bne at,v1, +0x14<br /> 00 80 01 3C lui at,0x8000<br /> 02 00 41 14 bne at,v0, +0x0C<br /> 00 00 00 00 nop <br /> 0D 00 06 00 break <br /> <br /> |-<br /> | ALL || Dynasty Warriors 3/Dynasty Warriors 3 Xtreme Legends ||<br /> 00000000 3D 00 00 00 89 3D 00 00 35 00 00 00 00 00 00 00 =...‰=..5.......<br /> || 15753 (3.73+) || <br /> fix blackscreen<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x35 =&gt; (enable Force Flip Field)<br /> <br /> |-<br /> | SLES-53539 || Fahrenheit || <br /> 00000000 3D 00 00 00 F6 41 00 00 40 00 00 00 00 00 00 00 =....A..@.......<br /> Alternative<br /> 00000000 3D 00 00 00 89 3D 00 00 2F 00 00 00 01 00 00 00 =....=../.......<br /> 00000010 00 00 00 00 ....<br /> || 16886 (4.40+) / ||<br /> fixes freeze after Lucas' apartment<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x40 =&gt; (sets some value 1)<br /> <br /> |-<br /> | || Fallout || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | SLUS-20658 SLES-51467 SLPM-65548 SLPM-65803 || Freedom Fighters ||<br /> 00000000 3D 00 00 00 65 3D 00 00 1F 00 00 00 E8 03 00 00 =...e=......č...<br /> 00000010 00 00 00 00 .... <br /> || 15717 (3.70+) ||<br /> fix freeze when you get control at start<br /> 3D =&gt; 0x3D17 (15717)<br /> 0x1F =&gt; 0x3E8 (sets something 3E8 - 1000 in decimal)<br /> <br /> |-<br /> | SLUS-21702 || Fire Pro Wrestling Returns || <br /> 00000000 3D 00 00 00 F6 41 00 00 03 00 00 00 00 00 00 00 =....A..@.......<br /> || 16886 (4.40+) ||<br /> fixes interlaced artifacts<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x03 =&gt; (sets some value 0)<br /> <br /> |-<br /> | SLES-52065 || Flipnic || <br /> 00000000 3D 00 00 00 57 44 00 00 46 00 00 00 47 00 00 00 =...WD..F...G...<br /> 00000010 00 00 00 00 ....<br /> || 17495 (4.78+) || Remove horizontal lines at full screen, and reducing screen shakes little bit<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x46 =&gt; Enable L2H Improvement<br /> 0x47 =&gt; Enable XOR CSR<br /> <br /> |-<br /> | SCES-53851 || Forbidden Siren 2 ||<br /> 00000000 3D 00 00 00 F6 41 00 00 0A 00 00 00 02 00 00 00 =....A..........<br /> 00000010 44 2B 2E 00 FF 49 C9 4B 00 90 44 48 4C 2B 2E 00 D+...I.K..DHL+..<br /> 00000020 00 90 44 48 FF 49 C9 4B 00 00 00 00 ..DH.I.K.... <br /> || 16886 (4.40+) || Graphic issues with Spiky Polygons<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x0A =&gt; 0x2<br /> 0x2E2B44, 0x4BC949FF (vclip vf09xyz, vf09w), 0x48449000 (cfc2 $a1, $18)<br /> 0x2E2B4C, 0x48449000 (cfc2 $a1, $18), 0x4BC949FF (vclip vf09xyz, vf09w)<br /> <br /> |-<br /> | SLUS-20343 || Forever Kingdom || <br /> 00000000 3D 00 00 00 46 40 00 00 26 00 00 00 00 DC 21 00 =...F@..&amp;....Ü!.<br /> 00000010 00 DD 21 00 00 00 00 00 .Ý!.....<br /> || 16454 ||<br /> Fix for bridge that can't be crossed after opening.<br /> 0x3D =&gt; 0x4046 (16454)<br /> 0x26 =&gt; 0x21DC00, 0x21DD00<br /> <br /> |-<br /> | SLUS-20993 || Ghosthunter || <br /> 00000000 3D 00 00 00 57 44 00 00 0E 00 00 00 84 2B 29 00 =...WD......„+).<br /> 00000010 0B 00 00 00 01 00 00 00 A7 06 00 00 98 02 00 00 ........§.......<br /> 00000020 14 00 00 00 4A 00 02 FF 48 45 88 00 4B E0 19 BF ....J..˙HE..Kŕ.ż<br /> 00000030 4B EA 48 BC 4B EA 18 8C 4B E0 19 BF 4B EA 48 BC KęHĽKę.ŚKŕ.żKęHĽ<br /> 00000040 4B EA 18 8C 4A 00 02 FF 48 45 88 00 00 00 00 00 Kę.ŚJ..˙HE......<br /> || 17495 (4.78+) ||<br /> fixes random minor flickering, and ladder bug (see: [https://www.youtube.com/watch?v=WbJzzMYQLI0] )<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x0E =&gt; 0x292B84 (Improve floating point subtract accuracy)<br /> 0x0B =&gt; Disc patch for hidden elf<br /> |-<br /> | SLES-54317 || Ghost Rider || <br /> 00000000 3D 00 00 00 F6 41 00 00 40 00 00 00 00 00 00 00 =....A..@.......<br /> || 16886 (4.40+) ||<br /> texture fix: white overblending ingame<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x40 =&gt; (sets some value 1)<br /> <br /> |-<br /> | SLUS-20552 || Grand Theft Auto - Vice City ||<br /> 00000000 3D 00 00 00 A5 41 00 00 21 00 00 00 01 00 00 00 =...¥A..!.......<br /> 00000010 0A 00 00 00 0D 00 00 00 A0 FF 0F 00 00 00 00 00 ........ ÿ......<br /> 00000020 17 00 01 24 A4 FF 0F 00 00 00 00 00 08 00 24 14 ...$¤ÿ........$.<br /> 00000030 AC FF 0F 00 00 00 00 00 10 00 01 3C B0 FF 0F 00 ¬ÿ.........&lt;°ÿ..<br /> 00000040 00 00 00 00 90 FF 22 8C B4 FF 0F 00 00 00 00 00 .....ÿ&quot;Œ´ÿ......<br /> 00000050 FF FF 42 24 B8 FF 0F 00 00 00 00 00 05 00 40 1C ÿÿB$¸ÿ........@.<br /> 00000060 C0 FF 0F 00 00 00 00 00 04 00 02 24 C4 FF 0F 00 Àÿ.........$Äÿ..<br /> 00000070 00 00 00 00 90 FF 22 AC C8 FF 0F 00 00 00 00 00 .....ÿ&quot;¬Èÿ......<br /> 00000080 21 1D 0B 08 CC FF 0F 00 00 00 00 00 D0 FF BD 27 !...Ìÿ......Ðÿ½'<br /> 00000090 D0 FF 0F 00 00 00 00 00 08 00 E0 03 D4 FF 0F 00 Ðÿ........à.Ôÿ..<br /> 000000A0 00 00 00 00 90 FF 22 AC 80 74 2C 00 D0 FF BD 27 .....ÿ&quot;¬€t,.Ðÿ½'<br /> 000000B0 E8 FF 03 08 00 00 00 00 53 4C 55 53 2D 32 30 35 èÿ......SLUS-205<br /> 000000C0 35 32 52<br /> || 16805 (4.30+) ||<br /> backport of the official config above (disc version 3.00) for the original release<br /> (disc version 1.40). it patches a particle related function when type is 0x17.<br /> 0x0A =&gt; 0x2CEB00 to 0x2C7480<br /> 0x0A =&gt; 0x080B3AC1 to 0x080B1D21 (j pos_002C7484)<br /> <br /> |-<br /> | SLUS-20758 || Growlanser Generations || <br /> 00000000 3D 00 00 00 89 3D 00 00 2C 00 00 00 72 01 00 00 =....=..,...r...<br /> 00000010 0B 00 00 00 01 00 00 00 F8 03 00 00 7C 05 00 00 ............|...<br /> 00000020 04 00 00 00 00 00 00 00 10 40 FF FC 00 00 00 00 .........@......<br /> 00000030 53 4C 55 53 2D 32 30 37 35 38 SLUS-20758 <br /> || 15753 (3.73+) ||<br /> fix menu freeze? (untested)<br /> <br /> |-<br /> | SLUS-20576 || Harry Potter and the Chamber of Secrets || <br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =....=..........<br /> 00000010 00 00 00 00 ....<br /> || 15753 (3.73+) ||<br /> Fix black screen? (untested)<br /> <br /> |-<br /> | SLUS-20926/SLPM-65612/SLKA-25172/SLES-52440/SLES-52527/SLES-52600 || Harry Potter and The Prisoner of Azkaban || <br /> 00000000 3D 00 00 00 57 44 00 00 07 00 00 00 08 00 =...WD........<br /> 0000000E 00 00 00 00 00 00 ......<br /> || 17495 (4.78+) ||<br /> Fix for 3D graphics issues. However sometimes textures have a problem (mipmap?)<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x07 =&gt; 8<br /> <br /> |-<br /> | SLES-54971(?)/SLUS-21628 || Hot Wheels: Beat That! || <br /> 00000000 3D 00 00 00 89 3D 00 00 15 00 00 00 04 00 00 00 =....=..........<br /> 00000010 00 00 00 00 ....<br /> || 15753 (3.73+) ||<br /> Fix for turning off ps3 after selecting track<br /> <br /> |-<br /> | SLUS-21307 || Ice Age 2 The Meltdown ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0B 00 00 00 01 00 00 00 =....=..........<br /> 00000010 31 05 00 00 8C 03 00 00 40 00 00 00 27 BD FE E0 1.......@...'...<br /> 00000020 24 06 00 6C FF BF 00 70 03 A0 20 2D 7F B0 00 80 $..l...p.. -....<br /> 00000030 8C B0 00 00 0C 0C 88 B5 00 00 28 2D 02 00 20 2D ..........(-.. -<br /> 00000040 0C 0A 84 CE 03 A0 28 2D 7B B0 00 80 03 A0 10 2D ......(-{......-<br /> 00000050 DF BF 00 70 03 E0 00 08 27 BD 01 20 27 BD FF 70 ...p....'.. '..p<br /> 00000060 24 06 00 6C FF BF 00 70 03 A0 20 2D 7F B0 00 80 $..l...p.. -....<br /> 00000070 8C B0 00 00 0C 0C 88 B5 00 00 28 2D 02 00 20 2D ..........(-.. -<br /> 00000080 0C 0A 84 CE 03 A0 28 2D 7B B0 00 80 03 A0 10 2D ......(-{......-<br /> 00000090 DF BF 00 70 03 E0 00 08 27 BD 00 90 00 00 00 00 ...p....'.......<br /> 000000A0 53 4C 55 53 2D 32 31 33 30 37 SLUS-21307 <br /> || 15753 (3.73+) || Fix freeze at the game logo<br /> <br /> |-<br /> | SLUS-21196 || Indigo Prophecy || <br /> 00000000 3D 00 00 00 89 3D 00 00 2F 00 00 00 01 00 00 00 =....A..@.......<br /> 00000010 00 00 00 00 ....<br /> || 15753 (3.73+) || Fixes freeze<br /> <br /> |-<br /> | SCES-53286/SCUS-97429 || Jak X || <br /> 00000000 3D 00 00 00 57 3D 00 00 24 00 00 00 00 00 00 00 =...W=..$.......<br /> 00000010 80 BB 00 00 13 00 00 00 00 00 00 00 60 F9 00 00 €»..........`ů..<br /> 00000020 00 00 00 00 .... <br /> || 15753 (3.73+) || Fixes freeze while saving game<br /> <br /> |-<br /> | SLPM-66675 || Kingdom Hearts II Final Mix || <br /> 00000000 3D 00 00 00 89 3D 00 00 26 00 00 00 58 A5 1D 00 =....A..&amp;...XĄ..<br /> 00000010 F4 AE 1D 00 00 00 00 00 ô®...... <br /> || 15753 (3.73+) ||<br /> Fixes Hostile Program Boss issue.<br /> <br /> |-<br /> | SLUS-21799 || Kingdom Hearts Re: Chain of Memories || <br /> 00000000 3D 00 00 00 89 3D 00 00 0F 00 00 00 90 05 10 00 =....=..........<br /> 00000010 78 C2 10 00 00 00 00 00 53 4C 55 53 2D 32 31 37 x.......SLUS-217<br /> 00000020 39 39 99 <br /> || 15753 (3.73+) ||<br /> Fixes tutorial issue? (untested)<br /> <br /> |-<br /> | SLES-50196 || Legacy of Kain: Soul Reaver 2 || <br /> 00000000 3D 00 00 00 43 21 00 00 0A 00 00 00 01 00 00 00 =...C!..........<br /> 00000010 80 1F 2A 00 01 00 00 00 00 00 00 00 00 00 00 00 €.*............. 99 <br /> || 15753 (3.73+) ||<br /> Turn off mipmapping in game engine. Completely fix flickering, and bad texturing.<br /> <br /> |-<br /> | SLUS-20671 || Mafia || <br /> 00000000 3D 00 00 00 89 3D 00 00 09 00 00 00 05 00 00 00 =...‰=..........<br /> 00000010 B0 68 3E 00 34 A3 0F 0C 9C 90 84 8F 00 10 01 3C °h&gt;.4Ł..ś.„Ź...&lt;<br /> 00000020 08 00 02 24 B8 68 3E 00 08 00 02 24 01 00 05 24 ...$¸h&gt;....$...$<br /> 00000030 9C 90 84 8F 10 3C 22 AC C0 68 3E 00 10 3C 22 AC ś.„Ź.&lt;&quot;¬Ŕh&gt;..&lt;&quot;¬<br /> 00000040 00 10 01 3C 01 00 05 24 34 A3 0F 0C B4 2B 3E 00 ...&lt;...$4Ł..´+&gt;.<br /> 00000050 FF FF 02 24 0A 00 50 10 FF FF 02 24 00 00 00 00 ˙˙.$..P.˙˙.$....<br /> 00000060 4C F0 16 00 00 60 80 44 50 07 42 8E 00 60 80 44 Lđ...`€DP.BŽ.`€D<br /> 00000070 0D 00 00 10 00 00 00 00 ........ <br /> || 15753 (3.73+) || Fix freeze at start. Additional two patches comparing to gxemu included here allow to avoid translation lookaside buffer misses in some places, and are required to finish game.<br /> <br /> |-<br /> | SLUS-21735 || Mana Khemia: Alchemists of Al-Revis ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | SLUS-20230 || Max Payne ||<br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 E4 E6 52 00 =....=........R.<br /> 00000010 03 00 00 00 01 00 00 00 68 E8 52 00 02 00 00 00 ........x.R.....<br /> 00000020 00 00 00 00 ....<br /> || 15753 (3.73+) || fixes game hang on first cutscene/cutscenes<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x01 =&gt; 0x52E6E4, 3 (applies to main.run ELF on disc: 0x52E6E4 dmove a1,v0 )<br /> 0x01 =&gt; 0x52E868, 2 (applies to main.run ELF on disc: 0x52E868 lq s1,0x10(sp) )<br /> <br /> |-<br /> | SLUS-21550 || Metal Slug Anthology ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0A 00 00 00 01 00 00 00 =...‰=..........<br /> 00000010 24 9C 18 00 F8 F7 08 0C D2 1D 06 0C 00 00 00 00 $ś..ř÷..Ň.......<br /> || 15753 (3.73+) || Fix launching MS6 by using LoadImageAndReboot instead of FlushCache. Seems to work much better than GXemu solution.<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0A =&gt; 0x1<br /> 0x189C24, 0x0C08F7F8 (jal sub_23DFE0), 0x0C061DD2 (jal sub_187748)<br /> <br /> |-<br /> | SLUS-20983 || Musashi: Samurai Legend || <br /> 00000000 3D 00 00 00 F6 41 00 00 17 00 00 00 01 00 00 00 =....A..@.......<br /> 00000010 00 00 00 00 ....<br /> || 16886 (4.40+) ||<br /> no sps fix, but reduces heavily<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x17 =&gt; 1 <br /> <br /> |-<br /> | SLES-50134 SLES-50176 SLES-50177 SLES-50178 SLES-50179 || Oni || <br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 01 00 00 00 =...WD..........<br /> 00000010 7C EF 1C 00 FF FF 00 41 00 00 00 00 00 00 00 00 |ď..˙˙.A........<br /> || 17495 (4.78+) ||<br /> fixes black screen at start<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x0A =&gt; 0x1<br /> 0x1CEF7C 0x4100FFFF (mftgpr $ra, $zero), 0x00000000 (nop)<br /> <br /> |-<br /> | SLUS-20064 || Oni || <br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 01 00 00 00 =...WD..........<br /> 00000010 CC F3 1C 00 FF FF 00 41 00 00 00 00 00 00 00 00 Ěó..˙˙.A........<br /> || 17495 (4.78+) ||<br /> fixes black screen at start<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x0A =&gt; 0x1<br /> 0x1CF3CC 0x4100FFFF (mftgpr $ra, $zero), 0x00000000 (nop)<br /> <br /> |-<br /> | SLUS-21037 || Project: Snowblind || <br /> 00000000 3D 00 00 00 39 05 00 00 0B 00 00 00 03 00 00 00 =...9...........<br /> 00000010 69 02 00 00 78 00 00 00 04 00 00 00 10 00 00 07 i...x...........<br /> 00000020 45 00 00 07 00 0C 0D 00 78 05 00 00 04 00 00 00 E.......x.......<br /> 00000030 10 00 00 07 45 00 00 07 BB 15 0D 00 F8 05 00 00 ....E...»...ř...<br /> 00000040 04 00 00 00 10 00 00 07 45 00 00 07 00 00 00 00 ........E.......<br /> || ||<br /> fixes mipmap/texturing issues<br /> <br /> <br /> |-<br /> | SLES-52384 || Project Zero II ||<br /> 00000000 3D 00 00 00 AF 42 00 00 21 00 00 00 00 00 00 00 =...ŻB..!.......<br /> 00000010 48 00 00 00 02 00 00 00 9C E6 FF FF 0A 00 00 00 H.......ść˙˙....<br /> 00000020 01 00 00 00 0C 94 17 00 41 01 0F 24 61 01 0F 24 .....”..A..$a..$<br /> 00000030 46 00 00 00 0B 00 00 00 01 00 00 00 F6 03 00 00 F...........ö...<br /> 00000040 98 03 00 00 04 00 00 00 00 42 73 84 00 00 02 FF .........Bs„...˙<br /> 00000050 00 00 00 00 53 4C 45 53 2D 35 32 33 38 34 ....SLES-52384<br /> || 17071 (4.50+) || Fix textures problems + performance improvement<br /> 0x3D =&gt; 0x42AF (17071)<br /> 0x21 =&gt; 0<br /> 0x48 =&gt; 0x2, 0xFFFFE69C<br /> 0x0A =&gt; 1, <br /> 0x17940C, 0x240F0141 (li t7,0x141)<br /> 0x240F0161 (li t7,0x161)<br /> 0x46<br /> 0x0B =&gt; 1<br /> 0x3F6, (sector)<br /> 0x398, (offset)<br /> 0x04,<br /> 0x84734200 lh s3,0x4200(v1),<br /> 0xFF020000 sd v0,(t8)<br /> <br /> |-<br /> | SLUS-20167 || Quake 3 - Revolution ||<br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 02 00 00 00 =...WD..........<br /> 00000010 98 03 2D 00 40 FF BD 27 08 00 E0 03 9C 03 2D 00 ..-.@˙˝'..ŕ.ś.-.<br /> 00000020 A0 00 BE 7F 00 00 00 00 00 00 00 00 <br /> || 17495 (4.78+) || Break creating mipmaps to fix graphical issues / flickering (ps2_netemu not support mipmapping)<br /> <br /> |-<br /> | SLES-50126 || Quake 3 - Revolution ||<br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 02 00 00 00 =...WD..........<br /> 00000010 20 03 2D 00 40 FF BD 27 08 00 E0 03 9C 03 2D 00 ..-.@˙˝'..ŕ.ś.-.<br /> 00000020 A0 00 BE 7F 00 00 00 00 00 00 00 00 <br /> || 17495 (4.78+) || Break creating mipmaps to fix graphical issues / flickering (ps2_netemu not support mipmapping)<br /> <br /> |-<br /> | SLUS-21262 || Radiata Stories ||<br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =...‰=..........<br /> 00000010 01 00 00 00 94 4D 12 00 0A 00 00 00 01 00 00 00 ....”M..........<br /> 00000020 18 F6 1A 00 0B 00 00 00 44 00 00 00 00 00 00 00 .ö......D.......<br /> 00000030 53 4C 55 53 2D 32 31 32 36 32 SLUS-21262 <br /> || 15753 (3.73+) || Fix black screen and ghosting/gfx<br /> <br /> |-<br /> | SLPS-25606/SLPS-25851 || Raw Danger! ||<br /> 00000000 3D 00 00 00 A8 41 00 00 44 00 00 00 00 00 00 00 =...&amp;D..D.......<br /> || 16808 (4.30+) || Untested! But Raw Danger! is Zettaizetsumei Toshi 2, so same issue + solution as part 1? <br /> 0x3D =&gt; 0x41A8 (16808)<br /> 0x44 =&gt; (disables smoothing and smoothing<br /> <br /> |-<br /> | SLUS-20174 || Rumble Racing ||<br /> 00000000 3D 00 00 00 F0 42 00 00 0B 00 00 00 01 00 00 00 =...đB..........<br /> 00000010 DA AE 03 00 20 01 00 00 24 00 00 00 14 80 00 06 Ú®.. ...$....€..<br /> 00000020 00 43 20 21 00 A0 10 21 14 A0 00 02 00 00 00 00 .C !. .!. ......<br /> 00000030 24 05 00 01 10 40 FF EB 24 84 00 04 24 90 FF FC $....@˙ë$„..$.˙ü<br /> 00000040 14 80 00 07 00 43 80 21 00 A0 10 21 14 A0 00 02 .€...C€!. .!. ..<br /> 00000050 00 00 00 00 24 05 00 01 10 40 FF FC 00 00 00 00 ....$....@˙ü....<br /> 00000060 26 04 00 04 00 00 00 00 &amp;.......<br /> || 17136 (4.50+) || fixes black screen after Playstation 2 logo. Patch apply to AUDIO.IRX file in MODULES folder<br /> <br /> 0x3D =&gt; 0x42F0 (17136)<br /> 0x0B =&gt; 1<br /> 0x03AEDA, (sector)<br /> 0x120, (offset)<br /> 0x24 (bytes to replace), <br /> <br /> <br /> Replaced opcodes<br /> 06 00 80 14 bnez a0, +0x1C<br /> 21 20 43 00 addu a0,v0,v1<br /> 21 10 A0 00 move v0,a1<br /> 02 00 A0 14 bnez a1, +0x0C<br /> 00 00 00 00 nop <br /> 01 00 05 24 li a1,0x1<br /> EB FF 40 10 beqz v0, -0x50<br /> 04 00 84 24 addiu a0,0x4<br /> FC FF 90 24 addiu s0,a0,-0x4<br /> <br /> Original opcodes<br /> 07 00 80 14 bnez a0, +0x20<br /> 21 80 43 00 addu s0,v0,v1<br /> 21 10 A0 00 move v0,a1<br /> 02 00 A0 14 bnez a1, +0x0C<br /> 00 00 00 00 nop <br /> 01 00 05 24 li a1,0x1<br /> FC FF 40 10 beqz v0, -0x0C<br /> 00 00 00 00 nop <br /> 04 00 04 26 addiu a0,s0,0x4<br /> <br /> |-<br /> | SLES-51345 || Run Like Hell ||<br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 04 00 00 00 =...WD..........<br /> 00000010 34 45 1D 00 0B FA 07 4B FF 02 00 4A 44 45 1D 00 4E...ú.K˙..JDE..<br /> 00000020 FF 02 00 4A 0B FA 07 4B 20 47 1D 00 BE F8 07 4B ˙..J.ú.K G..ľř.K<br /> 00000030 FF 02 00 4A 30 47 1D 00 AC F7 FE 4B 0B FA 07 4B ˙..J0G..¬÷ţK.ú.K<br /> 00000040 00 00 00 00 ....<br /> || 17495 (4.78+) || fixes main character flickering/texturing<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x0A =&gt; 0x4<br /> <br /> 0x1D4534 0x4B07FA0B (cop2 0x107FA0B), 0x4A0002FF (cop2 0x2FF)<br /> 0x1D4544 0x4A0002FF (cop2 0x2FF) , 0x4B07FA0B (cop2 0x107FA0B)<br /> 0x1D4720 0x4B07F8BE (cop2 0x107F8BE), 0x4A0002FF (cop2 0x2FF)<br /> 0x1D4750 0x4BFEF7AC (cop2 0x1FEF7AC), 0x4B07FA0B (cop2 0x107FA0B)<br /> |-<br /> | SLES-51445 || Rygar: The Legendary Adventure ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0E 00 00 00 50 D0 14 00 =...‰=......PĐ..<br /> 00000010 00 00 00 00 ....<br /> || 15753 (3.73+) || fixes hard crash at start when leaving the place<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0E =&gt; 0x14D050 (offset)<br /> <br /> .text:0014D050 sub.s $f12, $f20, $f12<br /> |-<br /> | SLES-55147/SLUS-21731 || Silent Hill: Origins || <br /> 00000000 3D 00 00 00 F6 41 00 00 40 00 00 00 00 00 00 00 =....A..@.......<br /> || 16886 (4.40+) ||<br /> fixes white overblending at burning house<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x40 =&gt; (sets some value 1)<br /> <br /> |-<br /> | SLUS-20488 || Star Ocean - Till the End of Time ||<br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =....=..........<br /> 00000010 01 00 00 00 48 09 10 00 0A 00 00 00 2C 00 00 00 ....H.......,...<br /> 00000020 72 01 00 00 00 00 00 00 53 4C 55 53 2D 32 30 34 r.......SLUS-204<br /> 00000030 38 38 88 <br /> || 15753 (3.73+) || Fix black screen<br /> <br /> |-<br /> | SLUS-21240 (v1.01)|| Star Wars: Battlefront II || <br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 84 B7 49 00 =...‰=......„·I.<br /> 00000010 05 00 00 00 00 00 00 00 53 4C 55 53 2D 32 31 32 ........SLUS-212<br /> 00000020 34 30 40 <br /> || 15753 (3.73+) || Fix freeze. Work only with v1.01 version of game. Patch apply to SWBFRNT2.ELF file.<br /> <br /> |-<br /> | SLUS-21240 (v2.01)|| Star Wars: Battlefront II || <br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 04 97 49 00 =...‰=.......—I.<br /> 00000010 05 00 00 00 00 00 00 00 53 4C 55 53 2D 32 31 32 ........SLUS-212<br /> 00000020 34 30 40 <br /> || 15753 (3.73+) || Fix freeze. Work only with v2.01 version of game. Patch apply to SWBFRNT2.ELF file.<br /> <br /> |-<br /> | SLES-50371 || Star Wars: Jedi Starfighter || <br /> 00000000 3D 00 00 00 65 3D 00 00 0A 00 00 00 01 00 00 00 =...e=..........<br /> 00000010 98 33 32 00 B4 6B 11 0C 00 00 00 00 00 00 00 00 .32.´k..........<br /> || 15717 (3.73+) || Without it title calls PS2::Exit() at the end of a bonus stage.<br /> <br /> |-<br /> | SLUS-21913 || Star Wars: The Clone Wars – Republic Heroes ||<br /> 00000000 3D 00 00 00 39 05 00 00 0A 00 00 00 01 00 00 00 =...9...........<br /> 00000010 28 33 17 00 FF FF 64 34 FD FF 64 34 00 00 00 00 „Ë..˙˙d4đ˙d4.Ë..<br /> || 1337 (ALL) || Fix graphical gliches, subtitles, QTE buttons, missing HUD<br /> <br /> <br /> |-<br /> | SLES-54658 || Star Wars: The Force Unleashed ||<br /> 00000000 3D 00 00 00 39 05 00 00 0A 00 00 00 02 00 00 00 =...9...........<br /> 00000010 84 CB 17 00 FF FF 64 34 F0 FF 64 34 90 CB 17 00 „Ë..˙˙d4đ˙d4.Ë..<br /> 00000020 FE FF 63 34 FC FF 63 34 00 00 00 00 ţ˙c4ü˙c4....<br /> || 1337 (ALL) || Fix graphical gliches, subtitles, QTE buttons, missing HUD<br /> <br /> |-<br /> | ALL || Superman Returns ||<br /> 00000000 3D 00 00 00 89 3D 00 00 08 00 00 00 00 00 00 00 =...‰=..........<br /> 00000010 00 00 00 FE 00 00 00 00 00 00 00 2C 00 00 00 00 ...ţ.......,....<br /> 00000020 00 00 00 FE 00 00 00 00 00 00 00 10 00 00 00 00 ...ţ............<br /> || 15753 (3.73+) || fixes Graphic issues <br /> <br /> |-<br /> | SLUS-21386 || Tales of The Abyss || <br /> 00000000 3D 00 00 00 65 3D 00 00 26 00 00 00 FC FF 27 00 =...e=..&amp;...ü˙'.<br /> 00000010 FF FF 27 00 26 00 00 00 F4 21 29 00 F8 21 29 00 ˙˙'.&amp;...ô!).ř!).<br /> 00000020 00 00 00 00 ....<br /> || 15717 (3.73+) || Fix freeze at Choral Castle <br /> Improve add accuracy range =&gt; 0x27FFFC , 0x27FFFF<br /> Improve add accuracy range =&gt; 0x2921F4 , 0x2921F8<br /> |-<br /> | SLPS-25842 || Tales of Destiny (Director's cut) || <br /> 00000000 3D 00 00 00 57 44 00 00 0F 00 00 00 00 00 1C 00 =...WD..........<br /> 00000010 00 00 1D 00 00 00 00 00 ........<br /> || 17495 (4.78+) || Fix freezes <br /> Improve FPU accuracy range =&gt; 0x1C0000 , 0x1D0000<br /> <br /> |-<br /> | ALL || Tokyo Extreme Racer 3 || <br /> 00000000 3D 00 00 00 91 42 00 00 48 00 00 00 01 00 00 00 =...‘B..H.......<br /> 00000010 F0 49 02 00 00 00 00 00 đI...... <br /> || 17041 (4.46+) || Fix screen jumps <br /> Vsync Delay -&gt; No IPU 150,000<br /> <br /> |-<br /> | ALL || Tony Hawk's series ||<br /> 00000000 3D 00 00 00 89 3D 00 00 08 00 00 00 00 00 00 80 =....=..........<br /> 00000010 FF FF FF FF 00 00 00 80 00 00 40 53 00 00 00 80 ..........@S....<br /> 00000020 FF FF FF FF 00 00 00 80 00 00 40 D3 14 00 00 00 ..........@Ó....<br /> 00000030 00 00 00 00 ....<br /> || 15753 (3.73+) || fixes Graphic issues with Spiky Polygons<br /> <br /> |-<br /> | ALL || TY The Tasmanian Tiger || <br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =...‰=..........<br /> 00000010 00 00 00 00 <br /> || 15753 (3.73+) || Fix graphical glitches, and fix locks up once you're given control.<br /> <br /> |-<br /> | SLUS-21106 || True Crime: NYC ||<br /> 00000000 3D 00 00 00 89 3D 00 00 27 00 00 00 D8 2A 41 00 =...‰=..'...Ř*A.<br /> 00000010 50 2E 41 00 00 00 00 00 P.A.....<br /> || 15753 (3.73+) || fixes freeze when something in 3D appearing<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x27 =&gt; 0x412AD8, 0x412E50<br /> <br /> |-<br /> | SLES-51958 || Whiplash ||<br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 01 00 00 00 =...WD..........<br /> 00000010 84 D5 25 00 07 00 02 45 07 00 00 10 00 00 00 00 „Ő%....E........<br /> || || Trick game to not produce mipmaps. Fix graphical issues. <br /> <br /> |-<br /> | SLUS-21452 || Valkyrie Profile 2 - Silmeria ||<br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =...‰=..........<br /> 00000010 01 00 00 00 28 09 10 00 0A 00 00 00 01 00 00 00 ....(...........<br /> 00000020 48 98 2B 00 0B 00 00 00 44 00 00 00 00 00 00 00 H.+.....D.......<br /> 00000030 53 4C 55 53 2D 32 31 34 35 32 SLUS-21452<br /> || 15753 (3.73+) || Fix black screen and ghosting/gfx (requires speed fix)<br /> <br /> |-<br /> | SLUS-20469 || Xenosaga Episode I: Der Wille zur Macht || <br /> 00000000 3D 00 00 00 57 44 00 00 0F 00 00 00 00 24 32 00 =...WD.......$2.<br /> 00000010 00 29 32 00 00 00 00 00 .)2..... ........<br /> || 17495 (4.78+) || Fix &quot;erde kaiser&quot; quest. Config cause massive slow down, and should be used only for that part of game, then removed safely. <br /> Improve FPU accuracy range =&gt; 0x322400 , 0x322900<br /> <br /> |-<br /> | SLUS-20228GH || Silent Hill 2 ||<br /> 00000000 3D 00 00 00 34 12 00 00 0E 00 00 00 B4 53 17 00 =...4.......´S..<br /> 00000010 0F 00 00 00 18 5D 17 00 18 5D 17 00 00 00 00 00 .....]...]......<br /> || || Fixes the missing polygons on characters and the inaccurate camera angles<br /> |-<br /> | SLUS-20622 || Silent Hill 3 ||<br /> 00000000 3D 00 00 00 57 44 00 00 0F 00 00 00 34 AC 19 00 =...WD......4¬..<br /> 00000010 34 AC 19 00 00 00 00 00 4¬......<br /> || || Fixes camera inaccuracies<br /> <br /> |-<br /> <br /> | || || || || <br /> <br /> |}<br /> <br /> ===Config data examples (hardcoded)===<br /> ====Inside ps2_emu.self====<br /> Embedded patches are based on Checksum/Hash of title. ps2_emu is only emulator version where patches are described inside self file in ascii. Known patch types described in ascii are: Patch data, new SPU2 params, and Setting mecha HACK to show GODZCD as GODZCDDA.<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> ! PS2 Title !! Hash !! Game !! Patch Type !! Data<br /> |-<br /> | SCUS_971.46|| 0x6B1ADE00D||Disney's Treasure Planet || Patch data - Fixes black screen at start, it apply to STREAM_D.IRX file in IOP folder. || 0x147C (sector) , 0x580 (offset) (- 0xC on disc) <br /> Replace opcodes<br /> 00 01 01 3C lui at,0x0100<br /> 80 BF 03 3C lui v1,0xBF80<br /> C8 10 63 8C lw v1,0x10C8(v1)<br /> 24 18 61 00 and v1,at<br /> FB FF 61 10 beq v1,at, -0x10<br /> 00 00 00 00 nop <br /> <br /> Original opcodes<br /> FF FF 01 24 li at,-0x1<br /> 04 00 61 14 bne at,v1, +0x14<br /> 00 80 01 3C lui at,0x8000<br /> 02 00 41 14 bne at,v0, +0x0C<br /> 00 00 00 00 nop <br /> 0D 00 06 00 break <br /> |-<br /> |SLUS_201.74 ||0x23D92589C5|| Rumble Racing || Patch data - fixes black screen after Playstation 2 logo. Patch apply to AUDIO.IRX file in MODULES folder || 0x3AEDA (sector), 0x120 (offset)<br /> Replace opcodes<br /> 06 00 80 14 bnez a0, +0x1C<br /> 21 20 43 00 addu a0,v0,v1<br /> 21 10 A0 00 move v0,a1<br /> 02 00 A0 14 bnez a1, +0x0C<br /> 00 00 00 00 nop <br /> 01 00 05 24 li a1,0x1<br /> EB FF 40 10 beqz v0, -0x50<br /> 04 00 84 24 addiu a0,0x4<br /> FC FF 90 24 addiu s0,a0,-0x4<br /> <br /> Original opcodes<br /> 07 00 80 14 bnez a0, +0x20<br /> 21 80 43 00 addu s0,v0,v1<br /> 21 10 A0 00 move v0,a1<br /> 02 00 A0 14 bnez a1, +0x0C<br /> 00 00 00 00 nop <br /> 01 00 05 24 li a1,0x1<br /> FC FF 40 10 beqz v0, -0x0C<br /> 00 00 00 00 nop <br /> 04 00 04 26 addiu a0,s0,0x4<br /> <br /> |-<br /> |SLUS_211.96||0x24D92589D5|| Indigo Prophecy || new SPU2 params || 1<br /> |-<br /> |SLPM_661.93||0x608634992D|| &lt;abbr title=&quot;https://www.gamefaqs.com/ps2/544598-indigo-prophecy/data&quot;&gt;Fahrenheit (NTSC-J)&lt;/abbr&gt; || new SPU2 params || 1<br /> |-<br /> |SLUS_212.96||0x5CA15DF14D|| Dance Factory ||Setting mecha HACK to show GODZCD as GODZCDDA ||<br /> |}<br /> <br /> ====Inside ps2_gxemu.self/ps2_softemu.self====<br /> There are hundreds of configs hidden in ps2_gxemu, and ps2_softemu self files. Internal config structure is basing on custom hash based on Title ID, internal memory offset pointing to place where true patch instruction is, and count of used commands. When disc/iso is started emulator search for configs, and if config for selected ID exist, then emulator apply it by itself. Is not perfect way of applying patches, because some games use the same ID, but different content. Good example here is Star Wars Battlefront II SLUS-21240, where some versions of game can refuse to work because it apply bad patch.<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> ! PS2 Title !! Hash !! Game !! Patch Type !! Data<br /> |-<br /> | || || || || <br /> |}<br /> <br /> ==TitleID/DiscID in ps2_netemu.self==<br /> There are 193 titleIDs listed inside ps2_netemu.self. More precisely, into XPARAM2.ELF file of PS2 Bios included in ps2_netemu.self. XPARAM2.ELF is called by OSDSYS, then ID check is performed. If title ID match to one of included in the table, different IOP emulation settings are applied.<br /> There are internal flags related to every title ID included inside file, still unknown what they do. Also some arguments, in plain text. File in real ps2 is introduced in SCPH-750XX models so exactly when DECKARD Power PC chip exchanged original IOP chip. This can explain why it is still in PS3 netemu bios. Because PS3 it is ppc that can need the same/similar flags.<br /> <br /> Original PS2 bios include similar list file called XPARAM.ELF, but Title IDs there are not the same, although some of them exist on both lists.<br /> <br /> {| class=&quot;wikitable sortable&quot; || <br /> |- <br /> ! Command !! Name<br /> |-<br /> | 0x00 || TITLE_MASK <br /> |-<br /> | 0x01 || SIO2_MASK<br /> |-<br /> | 0x02 || DEV9_MASK<br /> |-<br /> | 0x03 || USB_MASK<br /> |-<br /> | 0x04 || SIF_DMA_SYNC<br /> |-<br /> | 0x05 || SIF_DMA_LOAD<br /> |-<br /> | 0x06 || DMAC_CH10_INT_DELAY<br /> |-<br /> | 0x07 || MECHA_RECOGTIME<br /> |-<br /> | 0x08 || CPU_DELAY<br /> |-<br /> | 0x09 || DEV5_INT_SPEED<br /> |-<br /> | 0x0A || CDVD_READ_DELAY<br /> |-<br /> | 0x0B || SPU2_BEHAVIOR<br /> |-<br /> |}<br /> <br /> {| class=&quot;wikitable sortable&quot; || <br /> |- <br /> ! ID !! Title !! Command !! Value !! Remarks <br /> |- <br /> |PBPX_952.01 || DVD Utility Disc Version 1.00 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.02 || DVD Utility Disc Version 1.01 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.03 || DVD Utility Disc Version 1.01 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.06 || DVD Player (Version 2.01) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.07 || DVD Player (Version 2.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.08 || DVD Player (Version 2.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.09 || DVD Player (Version 2.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.10 || DVD Utility Disc Version 2.10 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.11 || DVD Utility Disc Version 1.00 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.21 || DVD Player (Version 2.12) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.22 || DVD Player (Version 2.14) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.24 || DVD Player (Version 2.16) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.28 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.35 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.39 || Online Start Up Disc v3.0 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.01 || Linux for PS2 Beta Release 1 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.07 || Playstation 2 Linux Runtime Environment v1.0 (Disc 1) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.09 || Linux for PS2 Release 1.0 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.18 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PDPX_991.09 || DVD Player (Version 3.04) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PSXC_002.01 || PSX Update Disc 1.10 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PSXC_002.02 || PSX Update Disc 1.20 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PSXC_002.03 || PSX Update Disc 1.31 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PTPX_970.38 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCAJ_201.25 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCAJ_201.26 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCES_532.02 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCKA_200.49 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCPM_621.15 || || 0x00 || 0x1000000 || TITLE_MASK<br /> |-<br /> |SCPM_621.16 || || 0x00 || 0x1000000 || TITLE_MASK<br /> |-<br /> |SCPN_601.01 || PlayStation BB Navigator (Version 0.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.30 || PlayStation BB Navigator (Version 0.20) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.40 || PlayStation BB Navigator (Version 0.30) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.50 || PlayStation BB Navigator (Version 0.31) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.60 || PlayStation BB Navigator (Version 0.32) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPS_110.01 || I.Q. Remix || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPS_110.10 || Yoake no Mariko (Performance Pack Edition) || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_110.18 || Yoake no Mariko || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_110.21 || Yoake no Mariko 2nd Act (Limited Edition) || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_110.22 || Yoake no Mariko 2nd Act || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_150.38 || Lifeline || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SCPS_150.39 || Lifeline || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SCPS_170.01 || Gran Turismo 4 || 0x0B || 0x10000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCPS_175.01 || Linux (for PlayStation2) Release 1.0 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPS_200.39 || || 0x00 || 0x4000000 || TITLE_MASK<br /> |-<br /> |SCUS_971.67 || PaRappa the Rapper 2 || 0x04 || 0x2000 || SIF_DMA_SYNC<br /> |-<br /> |SCUS_972.69 || Final Fantasy XI [Disc 2] || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLES_500.48 || Donald Duck: Quack Attack || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_500.62 || Orphen: Scion of Sorcery || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLES_503.64 || City Crisis || 0x0A || 0x80BB8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_504.46 || Shadow Man 2: The Second Coming || 0x0A || 0x80600 || CDVD_READ_DELAY<br /> |-<br /> |SLES_505.40 || Simpsons: Road Rage || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_506.08 || Shadow Man 2: The Second Coming || 0x0A || 0x80600 || CDVD_READ_DELAY<br /> |-<br /> |SLES_506.28 || Simpsons: Road Rage || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_507.28 || Tiger Woods PGA Tour 2002 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_507.29 || || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_512.82 || Tiger Woods PGA Tour 2003 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_514.79 || Def Jam Vendetta || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLES_518.41 || SpyHunter 2 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_518.44 || Time Crisis 3 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_519.97 || SWAT: Global Strike Team || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_520.97 || SWAT: Global Strike Force || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_530.37 || Super Monkey Ball Deluxe || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLES_536.68 || Micro Machines v4 || 0x01 || 0x801 || SIO2_MASK<br /> |-<br /> |SLES_537.55 || Castlevania: Curse of Darkness || 0x04 || 0x10 || SIF_DMA_SYNC<br /> |-<br /> |SLES_537.96 || FIFA Street 2 || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_620.42 || Kurogane no Houkou: Warship Commander || 0x01 || 0x3000 || SIO2_MASK<br /> |-<br /> |SLPM_620.62 || Gitaroo Man One || 0x0A || 0x80540 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_621.05 || Taikou Risshiden IV || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPM_621.24 || Ready 2 Rumble Boxing: Round 2 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_621.25 || Gauntlet: Dark Legacy || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPM_621.25 || Gauntlet: Dark Legacy || 0x09 || 0x2B470005 || DEV5_INT_SPEED<br /> |-<br /> |SLPM_621.35 || Final Fantasy: XI (Beta Version) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SLPM_621.54 || DDRMAX Dance Dance Revolution 6thMix || 0x08 || 0x1A5E || CPU_DELAY<br /> |-<br /> |SLPM_622.39 || Supercar Street Challenge || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_623.69 || Karaoke Revolution: J-Pop Vol.1 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.79 || Karaoke Revolution: J-Pop Vol.2 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.80 || Karaoke Revolution: J-Pop Vol.3 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.81 || Karaoke Revolution: J-Pop Vol.4 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.82 || Karaoke Revolution: Love &amp; Ballad || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.83 || Karaoke Revolution: Night Selection 2003 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.14 || Karaoke Revolution: Dreams &amp; Memories || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.37 || Suisui Sweet: Amai Ai no Mitsukekata || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_624.50 || Karaoke Revolution: Anime Song Selection || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.51 || Karaoke Revolution: J-Pop Vol.5 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.54 || Karaoke Revolution: J-Pop Vol.6 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.55 || Karaoke Revolution: J-Pop Vol.7 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.56 || Karaoke Revolution: J-Pop Vol.8 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.57 || Karaoke Revolution: Snow &amp; Party || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.64 || Pop'n Taisen Pazurudame Online || 0x08 || 0x1F40 || CPU_DELAY<br /> |-<br /> |SLPM_624.79 || Karaoke Revolution: J-Pop Vol.9 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.91 || Mega Man: The Power Battle || 0x04 || 0x2000 || SIF_DMA_SYNC<br /> |-<br /> |SLPM_624.92 || Karaoke Revolution: Kids Song Selection || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_625.28 || Karaoke Revolution: Kazoku Idol Sengen (Bundle Edition) || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_625.29 || Karaoke Revolution: Kazoku Idol Sengen || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_650.86 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 (Disc 1) || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPM_650.87 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 (Disc 2) || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPM_650.90 || Spy Hunter || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_651.97 || Nobunaga's Ambition Online || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_652.09 || Star Ocean: Till the End of Time || 0x0B || 0x20014 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_654.38 || Star Ocean: Till the End of Time (Director's Cut) (Disc 1) || 0x0B || 0x20014 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_654.39 || Star Ocean: Till the End of Time (Director's Cut) (Disc 2) || 0x0B || 0x20014 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_654.88 || Grand Theft Auto: Vice City || 0x0A || 0x300 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_654.88 || Grand Theft Auto: Vice City || 0x09 || 0x36000200 || DEV5_INT_SPEED<br /> |-<br /> |SLPM_656.33 || I Love Baseball: Pro Yakyu wo Koyonaku || 0x08 || 0xFA0 || CPU_DELAY<br /> |-<br /> |SLPM_656.98 || Love Songs: ADV Futaba Riho 14-sai Natsu || 0x0A || 0x80380 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_657.05 || Final Fantasy XI: Chains of Promathia (Expansion Disc) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_657.06 || Final Fantasy XI: Chains of Promathia (All-In-One Edition) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_657.19 || Burnout 3: Takedown || 0x01 || 0x1C00 || SIO2_MASK<br /> |-<br /> |SLPM_657.83 || Nobunaga no Yabou Online: Tappi no Shou || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_658.94 || Winning Post 6: 2005 Version || 0x01 || 0x2400 || SIO2_MASK<br /> |-<br /> |SLPM_659.34 || Maple Colors || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_659.53 || Final Fantasy: XI (Entry Disc 2005) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_659.84 || Grand Theft Auto: San Andreas || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_660.33 || The Sword of Etheria || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPM_660.33 || The Sword of Etheria || 0x00 || 0x2000000 || TITLE_MASK<br /> |-<br /> |SLPM_660.48 || The Sword of Etheria || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPM_660.48 || The Sword of Etheria || 0x00 || 0x2000000 || TITLE_MASK<br /> |-<br /> |SLPM_660.57 || Taito Memories Vol.1 || 0x08 || 0xCE4 || CPU_DELAY<br /> |-<br /> |SLPM_661.56 || Marheaven: Arm Fight Dream || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_661.75 || Akumajo Dracula: Yami no Juin || 0x08 || 0x60 || CPU_DELAY<br /> |-<br /> |SLPM_661.75 || Akumajo Dracula: Yami no Juin || 0x0B || 0x2001C || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_663.93 || Final Fantasy XI: Treasures of Aht Urhgan (All-In-One Edition) || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_663.93 || Final Fantasy XI: Treasures of Aht Urhgan (All-In-One Edition) || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPM_663.93 || Final Fantasy XI: Treasures of Aht Urhgan (All-In-One Edition) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_663.94 || Final Fantasy XI: Treasures of Aht Urhgan || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_664.36 || Aria the Natural || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_664.36 || Aria the Natural || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLPM_665.39 || Nobunaga no Yabou Online: Haten no Shou || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_665.58 || Tomb Raider: Legend || 0x08 || 0x3E8 || CPU_DELAY<br /> |-<br /> |SLPM_665.74 || Detective Evangelion || 0x00 || 0x2000000 || TITLE_MASK<br /> |-<br /> |SLPM_680.07 || Karaoke Revolution (Trial) || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_680.10 || || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPS_200.08 || Morita Shogi || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPS_200.20 || FIFA 2000 World Championship || 0x04 || 0x2001 || SIF_DMA_SYNC<br /> |-<br /> |SLPS_200.37 || Go Go Golf || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_200.38 || Grappler Baki: Baki Saidai no Tournament || 0x08 || 0x1194 || CPU_DELAY<br /> |-<br /> |SLPS_200.53 || Tenshi no Present: Marle Oukoku Monogatari (Limited Edition) || 0x0B || 0x20000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_200.66 || Tenshi no Present: Marle Oukoku Monogatari || 0x0B || 0x20000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_201.01 || City Crisis || 0x0A || 0x80BB8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_201.11 || Magical Sports Pro Baseball 2001 || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_201.72 || Koushien: Konpeki no Sora || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_201.73 || Hard Hitter 2 || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_201.97 || Surfing Air Show with RatBoy || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_201.99 || F1 2002 || 0x0B || 0x20005 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_202.00 || Final Fantasy XI || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPS_204.04 || Rakushou! Pachi-Slot Sengen 2 || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_204.29 || Hissatsu Pachi-Slot Evolution: Ninja Hattori-Kun V || 0x08 || 0x1B58 || CPU_DELAY<br /> |-<br /> |SLPS_204.55 || Simple 2000 Series Vol.94: The Aka-Champion - Come on Baby || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_250.08 || Sorcerous Stabber Orphen || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPS_250.71 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPS_250.72 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPS_250.81 || Saishuu Densha || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_251.36 || Kuon no Kizuna Sairin Mikotonori || 0x0A || 0x805DC || CDVD_READ_DELAY<br /> |-<br /> |SLPS_251.42 || Tiger Woods PGA Tour 2002 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_251.50 || Only You || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_252.37 || Only You || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_252.75 || Def Jam: Vendetta || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLPS_252.78 || Memories Off: Mix || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_252.90 || Time Crisis 3 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLPS_253.15 || One Piece: Grand Battle 3 || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPS_253.57 || 3-Nen B-Gumi Kinpachi Sensei: Densetsu no Kyoudan ni Tate! || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPS_253.79 || Tokyo Majin Gakuen: Kaihoujyou Kefurokou || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_254.06 || Hitman: Contracts || 0x08 || 0xDAC || CPU_DELAY<br /> |-<br /> |SLPS_254.18 || Ace Combat 5: The Unsung War || 0x0A || 0x500000 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_255.10 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_255.85 || Monster Farm 5: Circus Caravan || 0x07 || 5 || MECHA_RECOGTIME<br /> |-<br /> |SLPS_255.86 || Tales of the Abyss || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_256.04 || Ar tonelico Qoga: Knell of Ar Ciel || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLPS_256.67 || Daito Giken Premium Pachi-Slot Collection: Yoshimune || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPS_256.98 || Fatal Fury Battle Archives Volume 2 || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLPS_257.08 || The Familiar of Zero (Limited Edition) || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_257.09 || The Familiar of Zero || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_257.21 || HimeHibi - Princess Days || 0x0B || 0x8000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_257.22 || Routes PE (Limited Edition) || 0x08 || 0x3E8 || CPU_DELAY<br /> |-<br /> |SLPS_257.27 || Routes PE || 0x08 || 0x3E8 || CPU_DELAY<br /> |-<br /> |SLPS_732.49 || Ar tonelico Qoga: Knell of Ar Ciel (Platinum) || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLUS_200.11 || Orphen: Ocion of Sorcery || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_200.11 || Orphen: Ocion of Sorcery || 0x09 || 0x8000010 || DEV5_INT_SPEED<br /> |-<br /> |SLUS_200.77 || Donald Duck: Go'in Quackers || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_202.74 || City Crisis || 0x0A || 0x80BB8 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_203.05 || Simpsons: Road Rage || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_203.64 || Tiger Woods PGA Tour 2002 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_204.13 || Shadowman 2 || 0x0A || 0x80600 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_204.33 || SWAT: Global Strike Team || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_204.88 || Star Ocean: Til the end of Time [Disc 1] || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_205.72 || Tiger Woods PGA Tour 2003 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_205.90 || Spyhunter 2 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_206.35 || Muppets Party Cruise || 0x01 || 0x801 || SIO2_MASK<br /> |-<br /> |SLUS_206.39 || Def Jam Vendetta || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_206.86 || Splashdown: Rides Gone Wild || 0x0A || 0x80400 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_208.38 || All-Star Baseball 2005 || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLUS_208.51 || Ace Combat 5: The Unsung War || 0x0A || 0x500000 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_208.91 || Star Ocean: Til the end of Time [Disc 2] || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_209.18 || Super Monkey Ball: Deluxe || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_210.59 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLUS_210.70 || Final Fantasy XI: Chains of Promathia || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLUS_210.89 || Karaoke Revolution Vol.3 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_213.31 || Sonic Riders || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_213.39 || Puzzle Challenge || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_214.04 || Final Fantasy XI: Treasures of Aht Urhgan || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLUS_214.52 || Valkyrie Profile 2: Silmeria || 0x08 || 0x1388 || CPU_DELAY<br /> |- <br /> |}<br /> <br /> ==Other game patches (unofficial)==<br /> There are other unofficial ways to patch the PS2 games such the [https://forums.pcsx2.net/Thread-A-simplistic-guide-to-pnach-files-aka-pnach-for-dummies pnach] format, or the widescreen patches that allows 16:9 screen output for some games by hex editing the ISO, or by applying ppf patches. Games work fine on PS3 with same compatibility like before patching. Also some 480p (aka progressive scan) patches work fine. http://ps2wide.net/<br /> <br /> The problem of this methods is the patch is applyed over the ISO and is modifyed permanently, but this problem can be avoided in PS3 because that unofficial patches can be &quot;ported&quot; to the official config format to be used by ps2_netemu.self, by using the official config format the settings and patchs from the config file are applyed &quot;on the fly&quot; and the ISO is not modifyed<br /> <br /> ==ps2_title_brute code==<br /> <br /> A script to calculate whatever this encode is that is used in ps2emu, gxemu and softemu from given input title id.<br /> <br /> It contains code for bruting as well. Just call gen_sum with the title id in a specific format to get it.<br /> <br /> &lt;syntaxhighlight lang=&quot;python&quot;&gt;<br /> title_ = &quot;SLUS_200.73&quot;<br /> <br /> #patches = [0x6b1ade00dL, 0x23d92589c5L, 0x24d92589d5L, 0x608634992dL, 0x5ca15df14dL]<br /> #patches = [0x37ae1cb18dL, 0x608634999dL, 0x06b1ade00dL, 0x5fc674d915L, 0x178e3c9165L, 0x3889349935L,0x18fe4ce145L,0xc126943985,0xe90ebc11b5,0x58be0ca165L]<br /> patches = [ 0xCD1298155L, 0x12C93199A5L, 0x15C93199ADL, 0x24D92589A5L, 0x2CD12D8125L, 0x34C9359935L, 0x34C93599E5L, 0x34C93599E5L, 0x449961C9E5L, 0x4C9169C1CDL, 0x4C9169C1D5L, 0x4C9169C1DDL, 0x4C9169C1E5L, 0x4C9169C1F5L, 0x4C9169C1FDL, 0x4CB14DE12DL, 0x54A955F915L, 0x5CA15DF165L, 0x5CA15DF1FDL, 0x5CA15DF1FDL, 0x649965C94DL, 0x649965C955L, 0x649965C95DL, 0x649965C965L, 0x649965C96DL, 0x6BB149E15DL, 0x6C916DC165L, 0x6C916DC1A5L, 0x6C916DC1ADL, 0x6C916DC1B5L, 0x6C916DC1D5L, 0x6C916DC1DDL, 0x748975D9DDL, 0x7C817DD125L, 0x7C817DD165L, 0x7C817DD16DL, 0x7C817DD175L, 0x7C817DD1CDL, 0x84798529BDL, 0x8559A109ADL, 0x8579852915L, 0x8579852965L, 0x8D51A90145L, 0x8D51A901B5L, 0x8D51A901BDL, 0x8D718D21BDL, 0x9C619D31E5L, 0x9D41B911ADL, 0x9D619D31C5L, 0x9F29357805L, 0x9F293578E5L, 0xB549B51915L, 0xB549B51925L, 0xB549B5195DL, 0xB549B519A5L, 0xB549B519ADL, 0xBC61793025L, 0xBD41BD1105L, 0xC439C569F5L, 0xC7716D20D5L, 0xC7716D20D5L, 0xCA11E941F5L, 0xCF7965285DL, 0xCF7965285DL, 0xD20911582DL, 0xD7617D308DL, 0xE339C1695DL, 0xE794CCB06DL, 0xEA3129608DL, 0xEC11ED4115L, 0xEF594508D5L, 0xF409F559ADL, 0xF7415D10E5L, 0xF7415D10E5L]<br /> <br /> def gen_sum(title):<br /> var_30 = []<br /> for i in range(0x1A):<br /> var_30.append(0)<br /> r9=5<br /> r31=0<br /> #Title 2 decimal<br /> while r9 != 0xB:<br /> r11 = r9 + 1<br /> if r9 == 8:<br /> pass<br /> else:<br /> r5 = ord(title[r9:r9+1])<br /> r7 = r31 * 0xA<br /> r6 = r7 &amp; 0xFFFFFFFF<br /> r4 = r5 + r6<br /> r9 = r4 - 0x30<br /> r31 = r9 &amp; 0xFFFFFFFF<br /> r9 = r11<br /> #print r31<br /> r10 = ord(title[3:4]) # S<br /> r7 = (r31 &gt;&gt; 10) &amp; 0x7F<br /> r11 = ord(title[1:2]) # L<br /> r8 = ord(title[2:3]) # U<br /> r6 = (r10 &gt;&gt; 1) &amp; 0x3F<br /> r12 = ord(title[0:1]) # S<br /> r4 = (r11 &gt;&gt; 3) &amp; 0xF<br /> r5 = (r8 &gt;&gt; 2) &amp; 0x1F<br /> r3 = (r12 &gt;&gt; 4) &amp; 7<br /> r9 = r10 &lt;&lt; 7<br /> r0 = r8 &lt;&lt; 6<br /> r10 = r11 &lt;&lt; 5<br /> r8 = r12 &lt;&lt; 4<br /> r12 = r31 &lt;&lt; 3<br /> r11 = r10 | r5<br /> r9 = r9 | r7<br /> r0 = r0 | r6<br /> var_30[2] = r11 &amp; 0xFF<br /> r7 = r8 | r4<br /> var_30[0] = (r9 &amp; 0xFF)<br /> r10 = r12 | r3<br /> var_30[1] = (r0 &amp; 0xFF)<br /> r12 = (r31 &gt;&gt; 2) &amp; 0x3FFFFFF8<br /> var_30[3] = (r7 &amp; 0xFF)<br /> r8 = 5<br /> var_30[4] = (r10 &amp; 0xFF)<br /> var_30[0x19] = (r12 &amp; 0xFF)<br /> var_30[0x18] = (r8 &amp; 0xFF)<br /> var_30 = [int(v) for v in var_30]<br /> #print [hex(v) for v in var_30]<br /> r5 = var_30<br /> r6 = 0<br /> r4 = 0<br /> while r6 &lt; 5:<br /> r12 = r5[r6:r6+1][0]<br /> r7 = r6 + 1<br /> r0 = var_30[0x19]<br /> r3 = r6 + 0x10<br /> r9 = r12 ^ r0<br /> r31 = r3<br /> r5[r6] = r9<br /> r6 = r7<br /> r5[r31] = r4<br /> #print [hex(v) for v in r5]<br /> r9 = 0<br /> r10 = 0<br /> while r10 &lt; 5:<br /> r11 = r10 + 1<br /> r6 = r5[r10:r10+1][0]<br /> r4 = r9 &lt;&lt; 8<br /> r10 = r11<br /> r9 = r4 | r6<br /> return r9<br /> '''<br /> print hex(gen_sum(title_))<br /> <br /> a1='A'<br /> a2='A'<br /> a3='A'<br /> a4='A'<br /> while a1 &lt;= 'Z':<br /> a2='A'<br /> a3='A'<br /> a4='A'<br /> while a2 &lt;= 'Z':<br /> a3='A'<br /> a4='A'<br /> while a3 &lt;= 'Z':<br /> a4='A'<br /> while a4 &lt;= 'Z':<br /> #print &quot;%s%s%s%s&quot; % (a1,a2,a3,a4)<br /> for i in range(99999):<br /> t = &quot;%s%s%s%s_&quot; % (a1,a2,a3,a4) + '{4}{3}{2}.{1}{0}'.format(i%10,(i/10)%10,(i/100)%10,(i/1000)%10,(i/10000)%10)<br /> if gen_sum(t) in patches:<br /> print t<br /> print True<br /> a4=chr(ord(a4)+1)<br /> print &quot;%s%s%s%s&quot; % (a1,a2,a3,a4)<br /> a3=chr(ord(a3)+1)<br /> print &quot;%s%s%s%s&quot; % (a1,a2,a3,a4)<br /> a2=chr(ord(a2)+1)<br /> a1=chr(ord(a1)+1)<br /> '''<br /> <br /> print hex(gen_sum(&quot;SLUS_213.86&quot;))<br /> '''<br /> for i in range(99999):<br /> t = &quot;SLUS_&quot; + '{4}{3}{2}.{1}{0}'.format(i%10,(i/10)%10,(i/100)%10,(i/1000)%10,(i/10000)%10)<br /> if gen_sum(t) in patches:<br /> print &quot;%s %x&quot; % (t, gen_sum(t))<br /> <br /> '''<br /> &lt;/syntaxhighlight&gt;<br /> <br /> <br /> ==External References==<br /> * [http://www.eurogamer.net/articles/digitalfoundry-vs-ps2-classics-on-ps3]<br /> * [http://www.ps3hax.net/showthread.php?t=53444 PS2 Classics Algorithm By flatz]<br /> * [http://gitorious.ps3dev.net/ps2classic c port]<br /> * https://docs.google.com/spreadsheet/ccc?key=0As9ZdsrJoSp1dC1NTTRCSE5vbTlkOGItTC1CVzE5U3c#gid=7<br /> * http://www.pshomebrew.net/wiki/PS2_Classics_Emulator_Compatibility_List<br /> * [http://www.ps3hax.net/showthread.php?p=620747#post620747 How to properly convert Final Fantasy XII: IZJS For ps2classics]<br /> * https://en.wikipedia.org/wiki/List_of_PlayStation_2_Classics<br /> <br /> CPU-GPU intensive games + games only playable in software render on PCSX2:<br /> * http://wiki.pcsx2.net/index.php/Category:GPU_intensive_games<br /> * http://wiki.pcsx2.net/index.php/Category:CPU_intensive_games<br /> * http://wiki.pcsx2.net/index.php/Category:Software_rendering_only_games<br /> <br /> {{Reverse engineering}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=PS2_Emulation&diff=55835 PS2 Emulation 2020-03-25T16:35:36Z <p>Mysis: </p> <hr /> <div>==Description==<br /> Emulation of Playstation 2 is currently handled by 3 kind of emulators. CECH-A/B models use ps2_emu.self able to use built-in PS2 hardware (EE/GS/Rambus memory), and have best compatibility. CECH-C/E use ps2_gxemu, this emulator use physical Graphic Synthesizer found in this ps3 model, but Emotion Engine is fully emulated here, also there is no Rambus memory. All other models emulate PS2 thru fully software based ps2_netemu used for ps2 classics, and hacked now to use decrypted ISO files. Earlier before Sony provided ps2 classics on PS Store there was another soft only emulator strongly based on ps2_gxemu. It was called ps2_softemu, and had support for original PS2 CDVD. Only emulator not able to run physical discs is ps2_netemu. <br /> <br /> Emulators are self files, but not typical one. Emulators are not truly PS3 Game OS elf executables, but Guest OS'es running on LV1 of PS3. This mean that LV2, or more friendly Game OS is unloaded before emulator is loaded. This also mean that while emulators are running we can't call any LV2 function. Also LV1 syscalls are limited to call from all emulators, but can be fully unlocked. <br /> <br /> All emulators use built-in stripped developement version of PS2 BIOS with disabled debug functions that can affect some games. This is done because some games print debug info on screen when found that are run on dev bios. Bios between ps2_emu, ps2_gxemu, and ps2_netemu are different. Although bios from gxemu run fine on netemu, and vice-versa. While ps2_emu BIOS is able to run only on ps2emu version of emulator. <br /> <br /> [[File:Ps2_block_diagram.png|200px|thumb|right|Simplified block diagram of a PS2&lt;br /&gt;[http://www.philvaz.com/games/PS2.htm source]]]<br /> Note: <br /> * not available in early Tool/DECR and Debug/DEX firmwares. But available in AV TOOL firmware since 1.00<br /> * Emulation is based on a SCPH-50000/SCPH-20401 Playstation 2 Model.<br /> * [http://unina.stidue.net/Universita'%20di%20Trieste/Ingegneria%20Industriale%20e%20dell'Informazione/Tuzzi/Architetture_Avanzate_dei_Calcolatori/Emotion_2.pdf Introduction to PlayStation2 Architecture.pdf]<br /> <br /> ==PS2 Emulators types and versions==<br /> ps2_emu.self (1.02++)<br /> ps2_gxemu.self (1.50++)<br /> ps2_softemu.self (1.90++) 1.90-1.94 (11065), 2.00-2.10 (11830), 3.15 (12840), 3.41-3.65 (13474), 3.66-3.70 (15435), 3.72-4.21 (15529)<br /> (Changes: -2.50] [2.52-2.60] [2.70] [2.80] [3.00-3.65] [3.66-3.70] [3.74])<br /> ps2_netemu.self (3.70++)<br /> <br /> &lt;s&gt;<br /> *http://www.crocko.com/651925F44E444D8390E41A39A577BE48/ps2emu.rar<br /> *http://filerio.in/2xjqscjklj72<br /> *http://freakshare.com/files/bp53qpcy/ps2emu.rar.html<br /> *http://www.mirrorcreator.com/files/4BNITIXD/ps2_netemu.7z_links<br /> &lt;/s&gt;<br /> <br /> {{PS2 emulators workload comparison}}<br /> <br /> ===ps2_emu.self===<br /> <br /> ====Self System Table Offset====<br /> {| cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; border=&quot;1&quot; class=&quot;wikitable&quot; style=&quot;text-align: center;&quot;<br /> |-<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 1.00 AV || 0x7C3150 ||<br /> |-<br /> | 1.02 || 0x7C31F0 ||<br /> |-<br /> | 1.10 || 0x7C2168 ||<br /> |-<br /> | 1.11 || 0x7C23C8 ||<br /> |-<br /> | 1.30 || 0x8442E8 ||<br /> |-<br /> | 1.30 AV || 0x8442E8 ||<br /> |-<br /> | 1.31 || 0x844C98 ||<br /> |-<br /> | 1.32 || 0x845CA0 ||<br /> |-<br /> | 1.50 || 0x848728 ||<br /> |-<br /> | 1.90 || 0x4D7ED8 ||<br /> |-<br /> | 3.66 - 3.74 || 0x4E9A20 ||<br /> |-<br /> | 4.00 - 4.01 || 0x4EADB8 ||<br /> |-<br /> | 4.10 - 4.11 || 0x4EAD28 ||<br /> |-<br /> | 4.20 - 4.21 || 0x4EAE30 ||<br /> |-<br /> | 4.23 || 0x4EACE0 ||<br /> |-<br /> | 4.25 || 0x4EAE30 || Reverted to 4.20 - 4.21 version?<br /> |-<br /> | 4.78 - 4.82 || 0x4EB8C0 ||<br /> |}<br /> <br /> ===ps2_gxemu.self===<br /> <br /> ====Self System Table Offset====<br /> {| cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; border=&quot;1&quot; class=&quot;wikitable&quot; style=&quot;text-align: center;&quot;<br /> |-<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 1.50 || 0x5BDFC8 ||<br /> |-<br /> | 1.90 || 0x666C78 ||<br /> |-<br /> | 3.66 - 3.74 || 0x6766B8 ||<br /> |-<br /> | 4.00 - 4.11 || 0x677990 ||<br /> |-<br /> | 3.66 - 3.74 || 0x677AA8 ||<br /> |-<br /> | 4.78 - 4.82 || 0x678548 || <br /> |-<br /> |}<br /> <br /> ===ps2_softemu.self===<br /> <br /> ====Self System Table Offset====<br /> {| cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; border=&quot;1&quot; class=&quot;wikitable&quot; style=&quot;text-align: center;&quot;<br /> |-<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 1.90 || 0x5C7B10 ||<br /> |-<br /> | 2.50 || 0x5C7ED8 ||<br /> |-<br /> | 3.41 || 0x5C8C00 || <br /> |-<br /> | 3.66 - 3.71 || 0x5C8EC0 ||<br /> |-<br /> | 3.72 - 4.01 || 0x5C8E40 ||<br /> |}<br /> <br /> ===ps2_netemu.self===<br /> [[PS2_Classics_Emulator_Compatibility_List|PS2 Classics Emulator Compatibility List]]<br /> <br /> ====Self System Table Offset====<br /> {| cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; border=&quot;1&quot; class=&quot;wikitable&quot; style=&quot;text-align: center;&quot;<br /> |-<br /> ! FW version !! TOC !! Notes<br /> |-<br /> | 3.73 - 3.74 || 0x7D8B00 ||<br /> |-<br /> | 4.00 - 4.01 || 0x7DA200 ||<br /> |-<br /> | 4.10 - 4.11 || 0x7DA180 ||<br /> |-<br /> | 4.20 - 4.25 || 0x7DA500 ||<br /> |-<br /> | 4.78 - 4.83 || 0x751280 || <br /> |-<br /> |}<br /> <br /> ====General observations regarding PS2 Classics emulator====<br /> * Virtual memory cards are per title based, but apparently run through the current memory card system. The module used to manage memory cards is: vmc_savedata_plugin.sprx - Using a regular memory card that has been renamed result in a &quot;The save data is corrupt (8XXXXXXX) error&quot;<br /> * Loads an epilepsy warning before PS2 logo (PS button menu appears during epilepsy warning if controller is synced)<br /> * Does not support online functionality of PS2 titles (network configuration utility inside Full Spectrum Warrior claims no network adaptor has been found, same with Syphon Filter: The Omega Strain).<br /> <br /> - Only file that is needed in the folder for PS2 Classics is &quot;iso.bin.enc&quot;. Removing the manuals/DXT files will cause the game to boot IMMEDIATELY to the PS2 logo upon switching to 720p/starting PS2 LPAR.<br /> <br /> ====folder/file layout====<br /> (in this example GTA San Andreas Classic)<br /> &lt;pre&gt;<br /> [NPUD20946]<br /> [USRDIR]<br /> [CONTENT]<br /> 001.dxt<br /> 002.dxt<br /> 003.dxt<br /> 004.dxt<br /> 005.dxt<br /> 006.dxt<br /> 007.dxt<br /> 008.dxt<br /> 009.dxt<br /> 010.dxt<br /> 011.dxt<br /> 012.dxt<br /> 013.dxt<br /> 014.dxt<br /> 015.dxt<br /> 016.dxt<br /> 017.dxt<br /> Others.dxt<br /> Manual.idx<br /> [SAVEDATA]<br /> SCEVMC0.VME<br /> SCEVMC1.VME<br /> CONFIG<br /> ISO.BIN.EDAT<br /> ISO.BIN.ENC<br /> PS3LOGO.DAT<br /> PARAM.SFO<br /> ICON0.PNG<br /> PIC0.PNG<br /> PIC1.PNG<br /> PIC2.PNG<br /> &lt;/pre&gt;<br /> <br /> ==Virtual PS2 (emulated machine) usage and features==<br /> <br /> ===Video Modes===<br /> '''Note:''' Real PS2 : http://users.neoscientists.org/~blue/ps2videomodes.txt<br /> <br /> Video Modes<br /> ----.-----------.---------------.-----------.-----------.<br /> No | Name | Resolution | fV(Hz) | fH(kHz) |<br /> ----+-----------+---------------+-----------+-----------|<br /> 0 | NTSC-NI | 640x240(224) | 59.940 | 15.734 |<br /> 1 | NTSC-I | 640x480(448) | 59.820 | 15.734 |<br /> 2 | PAL-NI | 640x288(256) | 50.000 | 15.625 |<br /> 3 | PAL-I | 640x576(512) | 49.760 | 15.625 |<br /> 4 | VESA-1A | 640x480 | 59.940 | 31.469 |<br /> 5 | VESA-1C | 640x480 | 75.000 | 37.500 |<br /> 6 | VESA-2B | 800x600 | 60.317 | 37.879 |<br /> 7 | VESA-2D | 800x600 | 75.000 | 46.875 |<br /> 8 | VESA-3B | 1024x768 | 60.004 | 48.363 |<br /> 9 | VESA-3D | 1024x768 | 75.029 | 60.023 |<br /> 10 | VESA-4A | 1280x1024 | 60.020 | 63.981 |<br /> 11 | VESA-4B | 1280x1024 | 75.025 | 79.976 |<br /> 12 | DTV-480P | 720x480 | 59.940 | 31.469 |<br /> 13 | DTV-1080I | 1920x1080 | 60.000 | 33.750 |<br /> 14 | DTV-720P | 1280x720 | ?? | ?? |<br /> ----^-----------^---------------^-----------^-----------'<br /> <br /> ===Memory Mapping===<br /> == PCSX2 ==<br /> Mapping host memory for virtual systems...<br /> EE Main Memory @ 0x20000000 -&gt; 0x22884000 [40mb]<br /> IOP Main Memory (2mb) @ 0x24000000 -&gt; 0x24211000 [2mb]<br /> VU0/1 on-chip memory @ 0x28000000 -&gt; 0x2800A000 [40kb]<br /> Reserving memory for recompilers...<br /> SuperVU0 Recompiler Cache @ 0x0E800000 -&gt; 0x0F000000 [8mb]<br /> SuperVU1 Recompiler Cache @ 0x0F000000 -&gt; 0x0F800000 [8mb]<br /> Micro VU0 Recompiler Cache @ 0x3C000000 -&gt; 0x40000000 [64mb]<br /> Micro VU1 Recompiler Cache @ 0x40000000 -&gt; 0x44000000 [64mb]<br /> (thread:MTVU) Calling pthread_create...<br /> R5900-32 Recompiler Cache @ 0x30000000 -&gt; 0x34000000 [64mb]<br /> R3000A Recompiler Cache @ 0x34000000 -&gt; 0x36000000 [32mb]<br /> VIF0 Unpack Recompiler Cache @ 0x36000000 -&gt; 0x36800000 [8mb]<br /> VIF1 Unpack Recompiler Cache @ 0x38000000 -&gt; 0x38800000 [8mb]<br /> <br /> == ps2netemu == <br /> Mapping ELF @ 0x200000000<br /> <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Name !! ea !! lpar2(netemu 4.81) !! size !! flags !! lpar1(lv1 4.81)<br /> |-<br /> | text || 0x0 || 0x3D00000 || 0x300000( 3 MB) || 0x8000000000000003 0000000000000003 || 0x7D00000<br /> |- <br /> | ro_work || 0x300000 || 0x300000 || 0x500000( 5 MB) || 0x0000000000000003 0000000000000003 || 0x4300000<br /> |- <br /> | rw_work || 0x800000 || 0x800000 || 0x2A00000( 42 MB) || 0x0000000000000001 0000000000000003 || 0x4800000<br /> |- <br /> | negmem || 0x1FFF0000 || 0x3210000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000000 || 0x7210000<br /> |- <br /> | ee_ram || 0x100000000 || 0x64000E000000 || 0x2000000( 32 MB) || 0x0000000000000001 0000000000000000 || 0x3C00000 - 0x3F00000, 0x8000000 - 0x9B00000<br /> |- <br /> | ee_jit_code || 0xD00000000 || 0x680024000000 || 0x3000000( 48 MB) || 0x8000000000000001 0000000000000003 || 0xBC00000 - 0xEB00000<br /> |- <br /> | vu0_jit_code || 0xD08000000 || 0x580000800000 || 0x400000( 4 MB) || 0x8000000000000001 0000000000000003 || 0x900000 - 0xC00000<br /> |- <br /> | vu0_jit_data || 0xD0C000000 || 0x3700000 || 0x400000( 4 MB) || 0x0000000000000002 0000000000000003 || 0x7700000<br /> |- <br /> | eeram_jit_lut || 0xE00000000 || 0x640010000000 || 0x2000000( 32 MB) || 0x0000000000000001 0000000000000003 || 0x9C00000 - 0xBB00000<br /> |- <br /> | eerom_jit_lut || 0xE0FC00000 || 0x580000C00000 || 0x400000( 4 MB) || 0x0000000000000001 0000000000000003 || 0xD00000 - 0x1000000<br /> |- <br /> | ee_dbg_ram || 0x90FFF8000 || 0x64000E078000 || 0x8000( 32 KB) || 0x0000000000000001 0000000000000000 || <br /> |- <br /> | iop_ram || 0x400000000 || 0x3300000 || 0x200000( 2 MB) || 0x0000000000000001 0000000000000000 || 0x7300000<br /> |- <br /> | iop_rom || 0x50FC00000 || 0x580001000000 || 0x400000( 4 MB) || 0x0000000000000001 0000000000000002 || 0x1100000 - 0x1400000<br /> |- <br /> | iop_spad || 0x50F800000 || 0x3220000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000002 || 0x7220000<br /> |- <br /> | spu2_ram || 0x600000000 || 0x3500000 || 0x200000( 2 MB) || 0x0000000000000001 0000000000000000 || 0x7500000<br /> |- <br /> | spu2_ram2 || 0x600200000 || 0x3500000 || 0x200000( 2 MB) || 0x0000000000000001 0000000000000000 || 0x7500000<br /> |- <br /> | spu2_pcm || 0x1000000000 || 0x3230000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000000 || 0x7230000<br /> |- <br /> | ee_spr_lo || 0x700000000 || 0x3201000 || 0x2000( 8 KB) || 0x0000000000000001 0000000000000000 || 0x7201000<br /> |- <br /> | ee_spr || 0x800000000 || 0x3203000 || 0x6000( 24 KB) || 0x0000000000000001 0000000000000000 || 0x7203000<br /> |- <br /> | ee_vu0_dmem0 || 0x301004000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_vu0_dmem1 || 0x301005000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_vu0_dmem2 || 0x301006000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_vu0_dmem3 || 0x301007000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | ee_rom || 0x30FC00000 || 0x580001000000 || 0x400000( 4 MB) || 0x0000000000000001 0000000000000001 || 0x1100000 - 0x1400000<br /> |- <br /> | vrc || 0xC00000000 || 0x600005000000 || 0x1000000( 16 MB) || 0x0000000000000001 0000000000000000 || 0x1500000 - 0x2400000<br /> |- <br /> | /dev/zero || 0x4000000000 || 0x3240000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000001 || 0x7240000<br /> |- <br /> | dma_vu0_dmem0 || 0x4001004000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | dma_vu0_dmem1 || 0x4001005000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | dma_vu0_dmem2 || 0x4001006000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | dma_vu0_dmem3 || 0x4001007000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem0 || 0x30000000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem1 || 0x30001000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem2 || 0x30002000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | imm_vu0_dmem3 || 0x30003000 || 0x3200000 || 0x1000( 4 KB) || 0x0000000000000001 0000000000000001 || 0x7200000<br /> |- <br /> | SGSXdr || 0x1904000000 || 0x64000C000000 || 0x1700000( 23 MB) || 0x0000000000000001 0000000000000000 || 0x2500000 - 0x3B00000<br /> |- <br /> | iopTrace || 0x1400000000 || 0x3250000 || 0x10000( 64 KB) || 0x0000000000000001 0000000000000000 || 0x7250000<br /> |}<br /> <br /> === Memory Allocation ===<br /> <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Name !! Size !! page_log2 !! lpar2(netemu 4.81) !! lpar1(lv1 4.81)<br /> |-<br /> | ra_vu0_dmem || 0x1000 (4 KB) || 12 (4 KB) || 0x3200000 || 0x7200000<br /> |- <br /> | ra_ee_spr_lo || 0x2000 (8 KB) || 12 (4 KB) || 0x3201000 || 0x7201000<br /> |- <br /> | ra_ee_sprx || 0x6000 (24 KB) || 12 (4 KB) || 0x3203000 || 0x7203000<br /> |- <br /> | ra_negmem || 0x10000 (64 KB) || 16 (64 KB) || 0x3210000 || 0x7210000<br /> |- <br /> | ra_iop_spad || 0x10000 (64 KB) || 16 (64 KB) || 0x3220000 || 0x7220000<br /> |- <br /> | ra_spu2_pcm || 0x10000 (64 KB) || 16 (64 KB) || 0x3230000 || 0x7230000<br /> |- <br /> | ra_nulls || 0x10000 (64 KB) || 16 (64 KB) || 0x3240000 || 0x7240000<br /> |- <br /> | ra_itrace || 0x10000 (64 KB) || 16 (64 KB) || 0x3250000 || 0x7250000<br /> |- <br /> | ra_iop_ram || 0x200000 (2 MB) || 20 (1 MB) || 0x3300000 || 0x7300000<br /> |- <br /> | ra_spu2_ram || 0x200000 (2 MB) || 20 (1 MB) || 0x3500000 || 0x7500000<br /> |- <br /> | ra_vu0_code || 0x400000 (4 MB) || 20 (1 MB) || 0x580000800000 || 0x900000 - 0xC00000<br /> |- <br /> | ra_vu0_data || 0x400000 (4 MB) || 20 (1 MB) || 0x3700000 || 0x7700000<br /> |- <br /> | ra_ee_rom_pc || 0x400000 (4 MB) || 20 (1 MB) || 0x580000C00000 || 0xD00000 - 0x1000000<br /> |- <br /> | ra_ps2_rom || 0x400000 (4 MB) || 20 (1 MB) || 0x580001000000 || 0x1100000 - 0x1400000<br /> |- <br /> | ra_vrc_mem || 0x1000000 (16 MB) || 20 (1 MB) || 0x600005000000 || 0x1500000 - 0x2400000<br /> |- <br /> | ra_sgs_xdr || 0x1700000 (23 MB) || 20 (1 MB) || 0x64000C000000 || 0x2500000 - 0x3B00000<br /> |- <br /> | ra_ee_ram || 0x2000000 (32 MB) || 20 (1 MB) || 0x64000E000000 || 0x3C00000 - 0x3F00000, 0x8000000 - 0x9B00000<br /> |- <br /> | ra_ee_ram_pc || 0x2000000 (32 MB) || 20 (1 MB) || 0x640010000000 || 0x9C00000 - 0xBB00000<br /> |- <br /> | ra_trans_code || 0x3000000 (48 MB) || 20 (1 MB) || 0x680024000000 || 0xBC00000 - 0xEB00000<br /> |}<br /> <br /> ===PS2 Memory and Hardware Mapped Registers Layout===<br /> ----------------------------------------------- <br /> PCSX2<br /> Mapping host memory for virtual systems...<br /> EE Main Memory @ 0x20000000 -&gt; 0x22884000 [40mb]<br /> IOP Main Memory (2mb) @ 0x24000000 -&gt; 0x24211000 [2mb]<br /> VU0/1 on-chip memory @ 0x28000000 -&gt; 0x2800A000 [40kb]<br /> Reserving memory for recompilers...<br /> SuperVU0 Recompiler Cache @ 0x0E800000 -&gt; 0x0F000000 [8mb]<br /> SuperVU1 Recompiler Cache @ 0x0F000000 -&gt; 0x0F800000 [8mb]<br /> Micro VU0 Recompiler Cache @ 0x3C000000 -&gt; 0x40000000 [64mb]<br /> Micro VU1 Recompiler Cache @ 0x40000000 -&gt; 0x44000000 [64mb]<br /> (thread:MTVU) Calling pthread_create...<br /> R5900-32 Recompiler Cache @ 0x30000000 -&gt; 0x34000000 [64mb]<br /> R3000A Recompiler Cache @ 0x34000000 -&gt; 0x36000000 [32mb]<br /> VIF0 Unpack Recompiler Cache @ 0x36000000 -&gt; 0x36800000 [8mb]<br /> VIF1 Unpack Recompiler Cache @ 0x38000000 -&gt; 0x38800000 [8mb]<br /> <br /> R5900 RAM copy @ 0x11C20000 -&gt; 0x13C20000 [32mb]<br /> R5900 RAM LUT @ 0x13C20000 -&gt; 0x16060000 [36mb]<br /> <br /> RAM Sizes - Overview<br /> --------------------<br /> EE - 32 MB<br /> GS - 4 MB<br /> IOP - 2 MB<br /> SPU - 2 MB <br /> <br /> Logical Address Range Physical Address Range Description Size<br /> --------------------- ---------------------- ----------- -----<br /> 0x80000000-0x800FFFFF 0x00000000-0x000FFFFF EE Kernel 1 MB<br /> 0x00100000-0x01FFFFFF 0x00100000-0x01FFFFFF EE RAM (Cached) 31 MB<br /> 0x20100000-0x21FFFFFF 0x00100000-0x01FFFFFF EE RAM (Uncached) 31 MB<br /> 0x30100000-0x31FFFFFF 0x00100000-0x01FFFFFF EE RAM (Uncached&amp;accelerated) 31 MB<br /> 0x10000000-0x11FFFFFF 0x10000000-0x11FFFFFF EE Registers (uncached) 32 MB<br /> 0x12000000-0x13FFFFFF 0x12000000-0x13FFFFFF GS Registers (uncached) 32 MB<br /> 0x1FC00000-0x1FFFFFFF 0x1FC00000-0x1FFFFFFF? Boot ROM0 (uncached) 4 MB<br /> 0x9FC00000-0x9FFFFFFF 0x1FC00000-0x1FFFFFFF? Boot ROM09 (cached) 4 MB<br /> 0xBFC00000-0xBFFFFFFF 0x1FC00000-0x1FFFFFFF? Boot ROM0b (uncached) 4 MB<br /> 0xBE000000-0xBE040000 0x1E000000-0x1E03FFFF? Boot ROM1 256 KB<br /> 0xBE400000-0xBE440000 0x1E400000-0x1E43FFFF? Boot ROM2 256 KB<br /> 0xBC000000-0xBC1FFFFF 0x1C000000-0x1C1FFFFF? IOP RAM 2 MB<br /> 0x70000000-0x70003FFF ---------------------- Scratch Pad 16 KB <br /> <br /> Kernel empty and unused areas (NB: On non-modded consoles)<br /> ----------------------------------------------------------<br /> Area Logical Address Range Physical Address Range Size<br /> ---- --------------------- ---------------------- ----<br /> #1 0x80030000-0x80074FFF 0x00030000-0x00074FFF 282624 Bytes<br /> #2 0x80078250-0x8007FFFF 0x00078250-0x0007FFFF 32176 Bytes<br /> <br /> RAM Mirror Modes Logical Address Range Physical Address Range Size<br /> ---------------- --------------------- ---------------------- ----<br /> Cached 0x00100000-0x01FFFFFF 0x00100000-0x01FFFFFF 31 MB<br /> Uncached 0x20100000-0x21FFFFFF 0x00100000-0x01FFFFFF 31 MB<br /> Uncached&amp;accelerated 0x30100000-0x31FFFFFF 0x00100000-0x01FFFFFF 31 MB<br /> <br /> Operating Modes Logical Address Range Physical Address Range Size<br /> --------------- --------------------- ---------------------- ----<br /> USEG 0x00000000-0x01FFFFFF 0x00000000-0x01FFFFFF 32 MB<br /> KSEG0 0x80000000-0x81FFFFFF 0x00000000-0x01FFFFFF 32 MB<br /> KSEG1 0xA0000000-0xA1FFFFFF 0x00000000-0x01FFFFFF 32 MB<br /> <br /> Hardware Mapped Registers <br /> ------------------------- <br /> <br /> COUNTERS' REGISTERS<br /> -------------------<br /> 10000000 T0_COUNT Timer Count<br /> 10000010 T0_MODE Timer Mode<br /> 10000020 T0_COMP Timer Compare value<br /> 10000030 T0_HOLD Timer Pause <br /> <br /> 10000800 T1_COUNT Timer Count<br /> 10000810 T1_MODE Timer Mode<br /> 10000820 T1_COMP Timer Compare value<br /> 10000830 T1_HOLD Timer Pause <br /> <br /> 10001000 T2_COUNT Timer Count<br /> 10001010 T2_MODE Timer Mode<br /> 10001020 T2_COMP Timer Compare value<br /> <br /> 10001810 T3_COUNT Timer Count<br /> 10001820 T3_MODE Timer Mode<br /> 10001830 T3_COMP Timer Compare value<br /> <br /> IPU REGISTERS (MPEG2 DECODER)<br /> -----------------------------<br /> 10002000 IPU_CMD<br /> 10002010 IPU_CTRL<br /> 10002020 IPU_BP<br /> 10002030 IPU_TOP<br /> <br /> GIF REGISTERS<br /> -------------<br /> 10003000 GIF_CTRL<br /> 10003010 GIF_MODE<br /> 10003020 GIF_STAT<br /> 10003040 GIF_TAG0<br /> 10003050 GIF_TAG1<br /> 10003060 GIF_TAG2<br /> 10003070 GIF_TAG3<br /> 10003080 GIF_CNT<br /> 10003090 GIF_P3CNT<br /> 100030a0 GIF_P3TAG <br /> <br /> VIF0 REGISTERS<br /> -------------- <br /> 10003800 VIF0_STAT VIF0 Status<br /> 10003810 VIF0_FBRST<br /> 10003820 VIF0_ERR<br /> 10003830 VIF0_MARK<br /> 10003840 VIF0_CYCLE<br /> 10003850 VIF0_MODE <br /> 10003860 VIF0_NUM<br /> 10003870 VIF0_MASK<br /> 10003880 VIF0_CODE<br /> 10003890 VIF0_ITOPS<br /> 100038d0 VIF0_ITOP<br /> 10003900 VIF0_R0<br /> 10003910 VIF0_R1<br /> 10003920 VIF0_R2<br /> 10003930 VIF0_R3<br /> 10003940 VIF0_C0<br /> 10003950 VIF0_C1<br /> 10003960 VIF0_C2<br /> 10003970 VIF0_C3 <br /> <br /> VIF1 REGISTERS<br /> --------------<br /> 10003c00 VIF1_STAT<br /> 10003c10 VIF1_FBRST<br /> 10003c20 VIF1_ERR<br /> 10003c30 VIF1_MARK<br /> 10003c40 VIF1_CYCLE<br /> 10003c50 VIF1_MODE<br /> 10003c60 VIF1_NUM<br /> 10003c70 VIF1_MASK<br /> 10003c80 VIF1_CODE<br /> 10003c90 VIF1_ITOPS<br /> 10003ca0 VIF1_BASE<br /> 10003cb0 VIF1_OFST<br /> 10003cc0 VIF1_TOPS<br /> 10003cd0 VIF1_ITOP<br /> 10003ce0 VIF1_TOP<br /> 10003d00 VIF1_R0<br /> 10003d10 VIF1_R1<br /> 10003d20 VIF1_R2<br /> 10003d30 VIF1_R3<br /> 10003d40 VIF1_C0<br /> 10003d50 VIF1_C1<br /> 10003d60 VIF1_C2<br /> 10003d70 VIF1_C3<br /> <br /> FIFO<br /> ----<br /> 10004000 VIF0_FIFO(write)<br /> 10005000 VIF1_FIFO(read/write) <br /> <br /> 10006000 GIF_FIFO0<br /> 10006010 GIF_FIFO1<br /> 10006020 GIF_FIFO2 <br /> <br /> 10007000 IPU_out_FIFO(read)<br /> 10007010 IPU_in_FIFO(write)<br /> <br /> DMA CH0 REGISTERS (Linked to VIF0)<br /> ----------------------------------<br /> 10008000 D0_CHCR DMA-0 Channel Control<br /> 10008010 D0_MADR Memory Address<br /> 10008020 D0_SIZE Transfer Size (they call it D0_QWC)<br /> 10008030 D0_TAG DMA Tag (they call it D0_TADR)<br /> 10008040 D0_??LO they call it D0_ASR0<br /> 10008050 D0_??HI they call it D0_ASR1 <br /> <br /> DMA CH1 REGISTERS (Linked to VIF1)<br /> ----------------------------------<br /> 10009000 D1_CHCR DMA-1 Channel Control<br /> 10009010 D1_MADR Memory Address<br /> 10009020 D1_SIZE Transfer Size (they call it D1_QWC)<br /> 10009030 D1_TAG DMA Tag (they call it D1_TADR)<br /> 10009040 D1_??LO they call it D1_ASR0<br /> 10009050 D1_??HI they call it D1_ASR1 <br /> <br /> DMA CH2 REGISTERS (Linked to GIF)<br /> ---------------------------------<br /> 1000A000 D2_CHCR DMA-2 Channel Control<br /> 1000A010 D2_MADR Memory Address<br /> 1000A020 D2_SIZE Transfer Size (they call it D2_QWC)<br /> 1000A030 D2_TAG DMA Tag (they call it D2_TADR)<br /> 1000A040 D2_??LO they call it D2_ASR0<br /> 1000A050 D2_??HI they call it D2_ASR1<br /> 1000A080 D2_SADR<br /> <br /> DMA CH3 REGISTERS (Linked to IPU (FROM???))<br /> --------------------------------------------<br /> 1000B000 D3_CHCR DMA-3 Channel Control<br /> 1000B010 D3_MADR Memory Address<br /> 1000B020 D3_QWC Transfer Size<br /> <br /> DMA CH4 REGISTERS (Linked to IPU (TO???))<br /> -----------------------------------------<br /> 1000B400 D4_CHCR DMA-4 Channel Control<br /> 1000B410 D4_MADR Memory Address<br /> 1000B420 D4_QWC Transfer Size<br /> 1000B430 D4_TADR DMA Tag<br /> <br /> DMA CH5 REGISTERS (Linked to SIF0)<br /> ----------------------------------<br /> 1000C000 D5_CHCR DMA-4 Channel Control<br /> 1000C010 D5_MADR Memory Address<br /> 1000C020 D5_QWC Transfer Size <br /> <br /> DMA CH6 REGISTERS (Linked to SIF1)<br /> ----------------------------------<br /> 1000C400 D6_CHCR DMA-6 Channel Control<br /> 1000C410 D6_MADR Memory Address<br /> 1000C420 D6_QWC Transfer Size<br /> 1000C430 D6_TADR DMA Tag <br /> <br /> DMA CH7 REGISTERS (Linked to SIF2)<br /> ----------------------------------<br /> 1000C800 D7_CHCR DMA-7 Channel Control<br /> 1000C810 D7_MADR Memory Address<br /> 1000C820 D7_QWC Transfer Size<br /> <br /> DMA CH8 REGISTERS (Linked to SPR (form SCRATCH PAD to RAM???)<br /> --------------------------------------------------------------<br /> 1000D000 D8_CHCR DMA-8 Channel Control<br /> 1000D010 D8_MADR Memory Address<br /> 1000D020 D8_QWC Transfer Size<br /> 1000D080 D8_MCR ???<br /> <br /> DMA CH9 REGISTERS (Linked to SPR (form RAM to SCRATCH PAD???)<br /> --------------------------------------------------------------<br /> 1000D400 D9_CHCR DMA-9 Channel Control<br /> 1000D410 D9_MADR Memory Address<br /> 1000D420 D9_QWC Transfer Size<br /> 1000D430 D9_TADR DMA Tag<br /> 1000D480 D9_MCR? ??? <br /> <br /> DMA CONTROL REGISTERS<br /> ---------------------<br /> 1000E000 D_CTRL DMA Control<br /> 1000E010 D_STAT DMA Status<br /> 1000E020 D_PCR <br /> 1000E030 D_SQWC<br /> 1000E040 D_RBSR<br /> 1000E050 D_RBOR<br /> 1000E060 D_STADR<br /> <br /> 1000F000 INTC_STAT<br /> 1000F010 INTC_MASK<br /> <br /> 1000F100<br /> 1000F120<br /> 1000F130 STD-OUT STATUS???<br /> 1000F140<br /> 1000F150<br /> 1000F180 STD-OUT DATA???<br /> <br /> 1000F230 SBUS_SMFLG<br /> <br /> 1000F410<br /> 1000F430<br /> 1000F440<br /> 1000F480<br /> 1000F490<br /> 1000F500 <br /> <br /> 1000f520 D_ENABLEW<br /> 1000f590 D_ENABLER<br /> <br /> <br /> VU MAPPED MEMORY REGISTERS<br /> --------------------------<br /> 11000000 VU0 PROGRAM MEMORY Program Memory (4K ROM)<br /> 11001000 VU0 MEMORY Memory (4K ROM)<br /> 11008000 VU1 PROGAM MEMORY VU1 Program Memory (16K ROM)<br /> 1100C000 VU1 MEMORY VU1 Memory (16K ROM)<br /> <br /> GS<br /> --<br /> 12000000 GS_PMODE<br /> 12000010 GS_SMODE1<br /> 12000020 GS_SMODE2<br /> 12000030 GS_SRFSH<br /> 12000040 GS_SYNCH1<br /> 12000050 GS_SYNCH2<br /> 12000060 GS_SYNCV<br /> 12000070 GS_DISPFB1<br /> 12000080 GS_DISPLAY1<br /> 12000090 GS_DISPFB2<br /> 120000a0 GS_DISPLAY2<br /> 120000b0 GS_EXTBUF<br /> 120000c0 GS_EXTDATA<br /> 120000d0 GS_EXTWRITE<br /> 120000e0 GS_BGCOLOR<br /> 12001000 GS_CSR<br /> 12001010 GS_IMR<br /> 12001040 GS_BUSDIR<br /> 12001080 GS_SIGLBLID<br /> <br /> Scratch Pad RAM Address Range<br /> -----------------------------<br /> 0x70000000-0x70003FFF<br /> <br /> ROM BIOS Mirror Address Range Logical Address Range Physical Address Range<br /> ----------------------------- --------------------- ----------------------<br /> Uncached 0x1FC00000-0x1FFFFFFF 0x1FC00000-0x1FFFFFFF<br /> Cached 0x9FC00000-0x9FFFFFFF 0x1FC00000-0x1FFFFFFF<br /> Uncached 0xBFC00000-0xBFFFFFFF 0x1FC00000-0x1FFFFFFF <br /> <br /> Some Acronyms<br /> --------<br /> EE - Emotion Engine (main CPU)<br /> GS - Graphics Synthesizer<br /> IOP - Input/Output Processor<br /> SPU - Sound Processor Unit<br /> USEG - User Mode Segment<br /> KSEG0 - Kernel Mode, Segment 0<br /> KSEG1 - Kernel Mode, Segment 1 <br /> <br /> Sources<br /> -------<br /> TX System RISC TX79 Core Architecture (Symmetric 2-way superscalar 64-bit CPU) Rev. 2.0<br /> (http://lukasz.dk/files/tx79architecture.pdf)<br /> PS2 MEMORY &amp; HARDWARE MAPPED REGISTERS LAYOUT, by Minmei (https://web.archive.org/web/20080722165353/http://ps2dev.org/ps2/Technical_Documentation/Other/PS2_Memory_and_Hardware_Mapped_Registers_Layout.download) <br /> Kernel empty and unused areas, by GTLCPIMP (https://artemis.bountysource.com/task/show/2270)<br /> dump2mass, by misfire (https://artemis.bountysource.com/solution/show/1074)<br /> ... and others ones spreaded out on the World Wide Web which I can't remember<br /> <br /> ===Controller===<br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! ID !! Controller #Number !! Note<br /> |-<br /> | 1 (1-A) || 1 ||<br /> |-<br /> | 2 (2-A) || 2 ||<br /> |-<br /> | 3 (1-B) || 3 ||<br /> |-<br /> | 4 (2-B) || 4 ||<br /> |-<br /> | 5 (1-C) || 5 || Gamepad LED #1 + #4<br /> |-<br /> | 6 (2-C) || 6 || Gamepad LED #2 + #4<br /> |-<br /> | 7 (1-D) || 7 || Gamepad LED #3 + #4<br /> |-<br /> |}<br /> <br /> ===Peripheral support===<br /> ====ps2_emu.self / ps2_gxemu.self====<br /> #Hub<br /> #Mouse<br /> #Keyboard<br /> #EyeToy<br /> #Head Mount Display<br /> #Mic<br /> #Ascii Mic<br /> #Socom USB Headset<br /> #Usb Headset<br /> #Sea Mic Controller<br /> #Force Feedback device<br /> #GT Force<br /> #Momo Force<br /> #Driving Force Pro<br /> #G25/G27<br /> #Momo Racing<br /> #Flight Force<br /> #Force 3D Pro<br /> #Modem<br /> #Guncon2<br /> #Densya de GO! controller type 2<br /> #Densya de GO! Sincansen senyou controller<br /> #Capture Eye<br /> #Flight Stick<br /> #Flight Stick 2<br /> #Pop Egg<br /> #Trance Vibrator<br /> #PSP<br /> #Compact Flight Controller<br /> #Flash Memory<br /> #Buzz!<br /> #Pachi-Slot Controller Kurouto<br /> #Usb Adapter<br /> #Guncon3<br /> #Multi Train Controller<br /> <br /> ====ps2_netemu.self====<br /> #BD Remote Control<br /> #PLAYSTATION(R)3 Controller (Vendor ID 0x54C, Product ID 0x268), <br /> #Motion Controller - Move (Vendor ID 0x54C, Product ID 0x3D5), <br /> #Navigation Controller (Vendor ID 0x54C, Product ID 0x42F)<br /> #&quot;guncon3&quot;<br /> &lt;br/&gt;<br /> Unknown: <br /> #Vendor ID 0xF0D (Hori), Product ID 0x4A <br /> #Vendor ID 0x54C (Sony), Product ID 0x5AF<br /> <br /> ===BIOS===<br /> ====ps2_netemu.self====<br /> Ps2_netemu use integrated PS2 bios included in ps2netemu.elf, not additional file like in ps1emu case. In 4.81 firmware BIOS is located from 0x820A00 to 0x9F09FF (0x820900 to 0x9F08FF in fw4.50). Bios version seems to be Developement v2.20 from Japan region (22/01/2007), but it's of course not limited to booting only NTSC-J games.<br /> <br /> Notable thing is that ps2_netemu run fine with ps2_gxemu bios, but fail to boot using ps2_emu bios. <br /> <br /> {| class=&quot;wikitable&quot; style=&quot;font-size:small;&quot;<br /> |-<br /> ! File !! Offset in fw4.81 ps2_netemu !! Offset in exported bin !! Description !! File type (exportable)<br /> |-<br /> | RESET || 0x820A00 || 0x00 || Bootstrap code for the EE and IOP. || BIN<br /> |-<br /> | ROMDIR || 0x823180 || 0x2780 || The ROMDIR part of the ROM image, which provides information on the location and name of files contained in the image. || BIN<br /> |-<br /> | EXTINFO || 0x8236C0 || 0x2CC0 || Contains the &quot;EXTINFO&quot; for all files in the ROM image. || BIN<br /> |-<br /> | SBIN || 0x823D30 || 0x3330 || Seems to be the pad controller library for the PS1 monitor. || BIN<br /> |-<br /> | LOGO || 0x82ACD0 || 0xA2D0 || PS1 logo? || BIN<br /> |-<br /> | IOPBTCONF || 0x83F420 || 0x1EA20 || Boot configuration file for the IOP, during the final phase of the IOP reset. If no UDNL module is specified, the IOP will only have a single IOP reset in the reboot process, with the modules listed in IOPBTCONF. || BIN<br /> |-<br /> | IOPBTCON2 || 0x83F510 || 0x1EB10 || Boot configuration file for the IOP, for the first phase of the IOP reset (before UDNL is loaded). || BIN<br /> |-<br /> | SYSMEM || 0x83F5E0 || 0x1EBE0 || System Memory Manager. || ELF<br /> |-<br /> | LOADCORE || 0x840800 || 0x1FE00 || The core of IOP module loading. Provides the lowest level of IOP module loading functions. Also handles the startup of the IOP. || ELF<br /> |-<br /> | EXCEPMAN || 0x842D80 || 0x22380 || Exception manager. || ELF<br /> |-<br /> | INTRMANP || 0x843960 || 0x22F60 || Interrupt Manager. According to wisi, it is for PS mode. || ELF<br /> |-<br /> | INTRMANI || 0x845370 || 0x24970 || Interrupt Manager. According to wisi, it is for IOP mode. || ELF<br /> |-<br /> | SSBUSC || 0x8471B0 || 0x267B0 || SSBUS Controller library. The SSBUS seems to be the bus that all peripherals get connected to. It seems to have the power to control the mapping of the device registers, as well as access timing. || ELF<br /> |-<br /> | TIMEMANP || 0x847920 || 0x26F20 || Timer Manager (PS mode) || ELF<br /> |-<br /> | TIMEMANI || 0x848500 || 0x27B00 || Timer Manager (IOP mode) || ELF<br /> |-<br /> | DMACMAN || 0x849130 || 0x28730 || DMA Controller Manager. || ELF<br /> |-<br /> | SYSCLIB || 0x84C830 || 0x2BE30 || System C Library. || ELF<br /> |-<br /> | HEAPLIB || 0x84EF90 || 0x2E590 || Memory HEAP LIBrary (i.e. thvpool, thfpool) || ELF<br /> |-<br /> | THREADLIB || 0x84FC90 || 0x2F290 || Multi_Thread_Manager || ELF<br /> |-<br /> | VBLANK || 0x858A20 || 0x38020 || V-Blank management || ELF<br /> |-<br /> | IOMAN || 0x8597B0 || 0x38DB0 || IO Manager || ELF<br /> |-<br /> | MODLOAD || 0x85B720 || 0x3AD20 || IOP module loader. || ELF<br /> |-<br /> | ROMDRV || 0x85DA70 || 0x3D070 || ROM driver. Provides access to the boot ROM (rom0). || ELF<br /> |-<br /> | ADDDRV || 0x85E960 || 0x3DF60 || Adds support for the DVD ROM (rom1:), via ROMDRV. || ELF<br /> |-<br /> | STDIO || 0x85DDC0 || 0x3D3C0 || Standard I/O library. || ELF<br /> |-<br /> | SIFMAN || 0x85F9B0 || 0x3EFB0 || SIF manager. || ELF<br /> |-<br /> | SIFINIT || 0x860F50 || 0x40550 || Initializes the SIF. || ELF<br /> |-<br /> | EESYNC || 0x861370 || 0x40970 || For synchronizing with the EE, at the end of IOP resets. EESYNC from DNAS images are evil; they also perform a memory wipe of the region from 0x00084000 to .0x00100000. || ELF<br /> |-<br /> | EENULL || 0x861810 || 0x40E10 || The idle thread (id #0) module, in ps2 loaded to 0x00081FC0. || BIN<br /> |-<br /> | PS1ID || 0x861850 || 0x40E50 || Only found in newer boot ROMs || BIN<br /> |-<br /> | LIBFI || 0x861860 || 0x40E60 || Not present in the boot ROM of the SCPH-10000 and SCPH-15000. || BIN<br /> |-<br /> | PS1VERJ || 0x861950 || 0x40F50 || || BIN<br /> |-<br /> | PS1VERA || 0x861960 || 0x40F60 || || BIN<br /> |-<br /> | PS1VERE || 0x861970 || 0x40F70 || || BIN<br /> |-<br /> | PS1VERC || 0x861980 || 0x40F80 || || BIN<br /> |-<br /> | PS1VERH || 0x861990 || 0x40F90 || || BIN<br /> |-<br /> | OSDSYS || 0x8619A0 || 0x40FA0 || The browser || BIN<br /> |-<br /> | - || 0x8619B0 || 0x40FB0 || || BIN<br /> |-<br /> | RDRAM || 0x861A00 || 0x41000 || Provides a RDRAM test for the EE at power-on. This is run from RESET. || BIN<br /> |-<br /> | EELOADCNF || 0x864750 || 0x43D50 || Contains the IOP boot configuration file for EELOAD. || BIN<br /> |-<br /> | SIFCMD || 0x864900 || 0x43F00 || SIF command module. Contains the SIF command and SIF RPC functions. || ELF<br /> |-<br /> | REBOOT || 0x866B40 || 0x46140 || The reboot service. Receives IOP reset packets from the EE, from across the SIF. || ELF<br /> |-<br /> | LOADFILE || 0x867310 || 0x46910 || The RPC server for MODLOAD || ELF<br /> |-<br /> | EECONF || 0x869A70 || 0x49070 || Loads part of the system configuration from the MECHACON EEPROM. Also configures and resets some peripherals, depending on the model version. In slimlines, and possibly on PS3 EECONF will also load the MAC address. || ELF<br /> |-<br /> | - || 0x86A9F0 || 0x49FF0 || || BIN<br /> |-<br /> | IOPBOOT || 0x86AA00 || 0x4A000 || IOP bootup program || BIN<br /> |-<br /> | - || 0x86BB60 || 0x4B160 || || BIN<br /> |-<br /> | TBIN || 0x86C200 || 0x4B800 || The PS1 monitor program. Seems to be the PS1 BIOS. This is started by RESET, when the IOP is in PS1 mode. || BIN<br /> |-<br /> | XSHA1 || 0x87A170 || 0x59770 || sha1 - this only present in PS3. It is used as additional antipiracy check. It seems that it calculate disc main elf checksum and compares it with some database. Config related?|| ELF<br /> |-<br /> | XLOADFILE || 0x87B140 || 0x5A740 || Updated module || ELF<br /> |-<br /> | SIO2MAN || 0x87E1F0 || 0x5D7F0 || SIO2 manager. Provides access to the SIO2 interface. || ELF<br /> |-<br /> | - || 0x87FE20 || 0x5F420 || || BIN<br /> |-<br /> | MCSERV || 0x881D40 || 0x61340 || RPC server for MCMAN. || ELF<br /> |-<br /> | - || 0x883A40 || 0x63040 || || BIN<br /> |-<br /> | KROMG || 0x884A00 || 0x64000 || || BIN<br /> |-<br /> | - || 0x8866C0 || 0x65CC0 || || BIN<br /> |-<br /> | KROM || 0x886A00 || 0x66000 || Kanji ROM? Not sure where this is used. || BIN<br /> |-<br /> | - || 0x8A0870 || 0x7FE70 || || BIN<br /> |-<br /> | ROMVER || 0x8A0900 || 0x7FF00 || ROM version. || BIN<br /> |-<br /> | - || 0x8A0910 || 0x7FF10 || || BIN<br /> |-<br /> | VERSTR || 0x8A0930 || 0x7FF30 || Version string. Probably PS1 ROM will use this because that this string is also present in PlayStation consoles. || BIN<br /> |-<br /> | - || 0x8A0990 || 0x7FF90 || || BIN<br /> |-<br /> | ROMGSCRT || 0x8A0A00 || 0x80000 || || BIN<br /> |-<br /> | NCDVDMAN || 0x8A3730 || 0x82D30 || It seems to be a heavily stripped-down CDVDMAN module, with no support for some S-command functions like sceCdRI. || ELF<br /> |-<br /> | SECRMAN || 0x8B0170 || 0x8F770 || Security Manager. Signing is NOT done with the one in ROM, but with a special version that comes with the utility discs. Looks like PS3 units have a different SECRMAN module from retail sets, similar to PS2 TOOL one. || ELF<br /> |-<br /> | MCMAN || 0x8B4630 || 0x93C30 || Memory Card Manager. || ELF<br /> |-<br /> | PADMAN || 0x8C3AC0 || 0xA30C0 || Pad manager. || ELF<br /> |-<br /> | CDVDMAN || 0x8CD210 || 0xAC810 || The CD/DVD manager. || ELF<br /> |-<br /> | CDVDFSV || 0x8D55C0 || 0xB4BC0 || The RPC server for CDVDMAN. || ELF<br /> |-<br /> | FILEIO || 0x8DD980 || 0xBCF80 || RPC server for IOMAN. Sony has greatly changed the semantics and design of FILEIO after some point. Connecting an old FILEIO EE RPC client to a newer server will result in a severe IOP crash. || ELF<br /> |-<br /> | CLEARSPU || 0x8DFA80 || 0xBF080 || Seems to clear/reset the SPU, but is known to cause crashes under some conditions. Not sure if it's buggy or not. Only used by the OSDSYS of the SCPH-10000 and SCPH-15000, probably retained for backward-compatibility. || ELF<br /> |-<br /> | UDNL || 0x8E16C0 || 0xC0CC0 || It is responsible for selecting the modules and starting the IOP, during the final phase of the IOP reset where the desired modules are to be loaded into the IOP. || ELF<br /> |-<br /> | IGREETING || 0x8E35C0 || 0xC2BC0 || Displays boot information (i.e. IOP boot type, EBOOTP, IBOOTP, switch positions for DSW602 and the type of DSW602 board installed || ELF<br /> |-<br /> | EELOAD || 0x8E4620 || 0xC3C20 || The EE ELF loader, which is loaded by LoadExecPS2() to 0x00082000 in PS2 for loading ELFs. || BIN<br /> |-<br /> | XCDVDMAN || 0x8F37A0 || 0xD2DA0 || cdvd_driver - Updated module || ELF<br /> |-<br /> | XCDVDFSV || 0x902530 || 0xE1B30 || cdvd_ee_driver - Updated module || ELF<br /> |-<br /> | OSDSND || 0x910960 || 0xEFF60 || OSD sound library. This is actually the tentative sound driver, which is called &quot;librspu2&quot; in the Sony SDK. || ELF<br /> |-<br /> | PS2LOGO || 0x93B5B0 || 0x11ABB0 || Displays the PlayStation 2 logo from the inserted disc. For newer consoles, if the logo cannot be decrypted properly, it will fall back to the browser. Not actually required to boot games, but the Sony OSDSYS boots PS2 games through this program. || ELF<br /> |-<br /> | XPARAM2 || 0x957F00 || 0x137500 || Store IOP emulation settings/flags || ELF<br /> |-<br /> | OSDSYS || 0x95A400 || 0x139A00 || The browser || BIN<br /> |-<br /> | PIOPRP || 0x998280 || 0x177880 || Present in the PS3 ps2_(gx/soft/net)emu; contains version 3.1.0 of the IOP software (compared to version 1.3.4 on the root). || BIN<br /> |-<br /> | KERNEL || 0x9DC1E0 || 0x1BB7E0 || The EE kernel || BIN<br /> |}<br /> Description source: https://gist.github.com/uyjulian/25291080f083987d3f3c134f593483c5<br /> <br /> ==Virtual PS2 HDD==<br /> There are 2 different &quot;PS2 game&quot; contents that can be installed in PS3 HDD (CATEGORY's [[PARAM.SFO#CATEGORY_For_HDD_contents | 2P and 2G ]]).<br /> '''2P''' are games released from PSN as &quot;PS2 Classic&quot; in .PKG format, and '''2G''' are a few real &quot;PS2 DVD discs&quot; that can be installed in the PS3 HDD, this installation is managed by the '''PS2_system_data.pkg'''.<br /> <br /> This games can be installed in real PS2 (in the internall HDD of a PS2 fat)... later this same installation was used in the [http://en.wikipedia.org/wiki/PSX_(DVR) PSX]... and when implemented in PS3 there was needed to use a '''virtual PS2 HDD''' image file keeping the same format than the original HDD used in PS2.<br /> <br /> Game files (extracted from the real PS2 disc) are installed in a '''IMAGE.DAT''' file, this file is a 1:1 &quot;raw copy&quot; of a PS2 HDD.<br /> <br /> This '''IMAGE.DAT''' is placed in the &quot;install folder&quot; (inside USRDIR folder) and his size can vary up to 10+GB<br /> <br /> There are 2 different installations: the most common is used to store &quot;game expansions&quot; (e.g: used by additional content in SOCOM games)... the other type of installation is a &quot;full install&quot; and it seems the only game that uses it is &quot;Final Fantasy XI&quot; (main game installation when the game boots for first time + game expansions added later when needed in the same '''IMAGE.DAT''')<br /> <br /> '''PS2_system_data.pkg''' itself uses an '''IMAGE.DAT''' file (6.43 MB)<br /> <br /> The structure of this &quot;virtual PS2 HDD&quot; uses an &quot;APA header&quot; and a &quot;APA MBR&quot; + several &quot;APA partitions&quot;, some of them containing &quot;PFS filesystems&quot;.<br /> <br /> Error message trying to boot a CATEGORY &quot;2G&quot; game with hand-made SFO's and invalid IMAGE.DAT file:<br /> '''The game partition for this game cannot be created because the installed game is corrupted.'''<br /> '''To perform this operation, delete the game, and then reinstall the game using the disc.'''<br /> <br /> *Notes<br /> **List of PS2 disc games compatibles with PS3 HDD installation hardcoded in '''dev_flash/vsh/module/[[game_ext_plugin]].sprx'''<br /> **Virtuall PS2 HDD support module '''dev_flash/vsh/module/[[libps2hdd]].sprx''' ?<br /> <br /> ===PS2 System Data (PSN HDD Tool package)===<br /> A direct link to the package can be found in NoPayStation database in DLCs<br /> <br /> Content ID: IP9100-NPIA00001_00-PS2HDDSYSDAT0001<br /> QA Digest: 2A876715D42678BB7A6E00C030C0121B<br /> HASH: E1B0DBE46FC44190DC7A140681D8B9D4<br /> <br /> http://manuals.playstation.net/document/en/ps3/current/game/hddinstall.html<br /> <br /> '''Titles supporting HDD installation'''<br /> * Nobunaga's Ambition Online and Expansion Packs<br /> * Final Fantasy XI (disc1=SCUS97266 disc2=SCUS97269)and Expansion Discs<br /> * SOCOM II: U.S. NAVY SEALs and Related discs included with OPM Issue 87, OPM Issue 88, OPM Issue 89, OPM Issue 90<br /> * SOCOM 3: U.S. NAVY SEALs<br /> * SOCOM: U.S. NAVY SEALs Combined Assault<br /> * Front Mission Online<br /> * Official PlayStation Magazine Issue 87, 88, 89, 90 Discs<br /> ([[Talk:Emulation#PS2_HDD | non-official ps2hdd gameslist ]])<br /> <br /> ===TitleID/DiscID in game_ext_plugin.sprx===<br /> <br /> Mainly Final Fantasy 11, Nobunaga Ambition Online, Socom IDs and the required HDD Gigabyte amount for install onto the internal hdd.<br /> <br /> Speculation: flags are AND' with 0,1,2 (selected from sys_sm_get_hw_config according to ps2emu hardware flags? 0 = no hw?, 1 = gxemu?, 2=full hw? )<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> ! flags !! DiscID !! Alternative? DiscID !! GigaByte !! Title !! 0 = VMC&lt;br&gt;1 = IMAGE.DAT !! Internal Name? !! GigaByte<br /> |-<br /> |0xFFFF || &quot;SLPS20200&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM65705&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM65706&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM65953&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM66393&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM66394&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM66893&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM66894&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLPM55229&quot; || &quot;SLPS25200&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SLPM-25200.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0x0001 || &quot;SLPM65197&quot; || &quot;SLPM65197&quot; || 0x07 || &quot;信長の野望 Online&quot; || 1 || &quot;PP.SLPM-65197.MAGIC.APPLICATION&quot; || 0x07<br /> |-<br /> |0x0001 || &quot;SLPM65783&quot; || &quot;SLPM65197&quot; || 0x07 || &quot;信長の野望 Online&quot; || 1 || &quot;PP.SLPM-65197.MAGIC.APPLICATION&quot; || 0x07<br /> |-<br /> |0x0001 || &quot;SLPM66539&quot; || &quot;SLPM65197&quot; || 0x07 || &quot;信長の野望 Online&quot; || 1 || &quot;PP.SLPM-65197.MAGIC.APPLICATION&quot; || 0x07<br /> |-<br /> |0x0001 || &quot;SLPM66954&quot; || &quot;SLPM65197&quot; || 0x07 || &quot;信長の野望 Online&quot; || 1 || &quot;PP.SLPM-65197.MAGIC.APPLICATION&quot; || 0x07<br /> |-<br /> |0xFFFF || &quot;SCUS97269&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLUS21070&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLUS21404&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLUS21694&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SLUS21704&quot; || &quot;SCUS97269&quot; || 0x15 || &quot;FINAL FANTASY XI&quot; || 1 || &quot;PP.SCUS-97266.MAGIC.APPLICATION&quot; || 0x15<br /> |-<br /> |0xFFFF || &quot;SCUS97275&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97474&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97340&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97341&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97342&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97442&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |-<br /> |0xFFFF || &quot;SCUS97545&quot; || &quot;SCUS97275&quot; || 0x02 || &quot;SOCOM&quot; || 0 || &quot;PP.SCUS-97275..SOCOM_II&quot; || 0x02<br /> |}<br /> <br /> In PS2 Emulator same Title IDs are present with following information: <br /> SLPS25200 FINAL FANTASY XI : 0x100000000 (4 GB?)<br /> SCUS97269 FINAL FANTASY XI : 0x300000000 (12GB?)<br /> SLPM65981 Front Mission Online : 0x100000000 (4 GB?)<br /> SLPM65197 Nobunagas Ambition Online : 0x200000000 (8 GB?)<br /> <br /> ==Emulators management from GameOS==<br /> <br /> ===Mountpoints===<br /> dev_ps2disc<br /> dev_ps2disc1 <br /> <br /> ===ps2_netemu syscalls ===<br /> <br /> 0x0 - 0 = exec smth, <br /> 1 = 0x132 panic, <br /> 2 = 0x133 panic, <br /> 3 = 0x134 panic,<br /> 4 = 0x135 panic, <br /> else = 0x136 panic)<br /> 0xC - exec smth<br /> 0x5 - exec smth<br /> 0x6 - exec smth<br /> 0x10 - panic<br /> <br /> Basically are [[HV_Syscalls#HV_Syscalls|hvsc syscalls]] (xoris r11, r11, 0x8000)<br /> <br /> 0x80000000 - [[HV_Syscall_Reference#lv1_allocate_memory]]<br /> 0x80000001 - [[HV_Syscall_Reference#lv1_write_htab_entry]]<br /> 0x80000002 - [[HV_Syscall_Reference#lv1_construct_virtual_address_space]]<br /> 0x80000007 - [[HV_Syscall_Reference#lv1_select_virtual_address_space]]<br /> 0x80000009 - [[HV_Syscall_Reference#lv1_pause]]<br /> 0x8000000F - [[HV_Syscall_Reference#lv1_put_iopte]]<br /> 0x80000012 - [[HV_Syscall_Reference#lv1_construct_event_receive_port]]<br /> 0x8000001A - [[HV_Syscall_Reference#lv1_detect_pending_interrupts]]<br /> 0x8000001B - [[HV_Syscall_Reference#lv1_end_of_interrupt]]<br /> 0x8000001C - [[HV_Syscall_Reference#lv1_connect_irq_plug]]<br /> 0x80000039 - [[HV_Syscall_Reference#lv1_construct_logical_spe]]<br /> 0x8000003D - [[HV_Syscall_Reference#lv1_set_spe_interrupt_mask]]<br /> 0x80000042 - [[HV_Syscall_Reference#lv1_clear_spe_interrupt_status]]<br /> 0x80000043 - [[HV_Syscall_Reference#lv1_get_spe_interrupt_status]]<br /> 0x80000045 - [[HV_Syscall_Reference#lv1_get_logical_ppe_id]]<br /> 0x80000049 - [[HV_Syscall_Reference#lv1_set_interrupt_mask]]<br /> 0x8000004A - [[HV_Syscall_Reference#lv1_get_logical_partition_id]]<br /> 0x8000004E - [[HV_Syscall_Reference#lv1_get_spe_irq_outlet]]<br /> 0x8000005B - [[HV_Syscall_Reference#lv1_get_repository_node_value]]<br /> 0x8000005F - [[HV_Syscall_Reference#lv1_read_htab_entries]]<br /> 0x80000061 - [[HV_Syscall_Reference#lv1_set_vmx_graphics_mode]]<br /> 0x80000062 - [[HV_Syscall_Reference#lv1_set_thread_switch_control_register]]<br /> 0x80000074 - [[HV_Syscall_Reference#lv1_allocate_io_segment]]<br /> 0x80000076 - [[HV_Syscall_Reference#lv1_allocate_ioid]]<br /> 0x80000078 - [[HV_Syscall_Reference#lv1_construct_io_irq_outlet]]<br /> 0x8000007C - [[HV_Syscall_Reference#lv1_undocumented_function_124]]<br /> 0x8000007D - [[HV_Syscall_Reference#lv1_undocumented_function_125]]<br /> 0x8000007E - [[HV_Syscall_Reference#lv1_undocumented_function_126]]<br /> 0x80000088 - [[HV_Syscall_Reference#lv1_undocumented_function_136]]<br /> 0x8000008C - [[HV_Syscall_Reference#lv1_construct_lpm]]<br /> 0x8000008D - [[HV_Syscall_Reference#lv1_destruct_lpm]]<br /> 0x8000008E - [[HV_Syscall_Reference#lv1_start_lpm]]<br /> 0x8000008F - [[HV_Syscall_Reference#lv1_stop_lpm]]<br /> 0x80000090 - [[HV_Syscall_Reference#lv1_copy_lpm_trace_buffer]]<br /> 0x80000091 - [[HV_Syscall_Reference#lv1_add_lpm_event_bookmark]]<br /> 0x80000092 - [[HV_Syscall_Reference#lv1_delete_lpm_event_bookmark]]<br /> 0x80000093 - [[HV_Syscall_Reference#lv1_set_lpm_interrupt_mask]]<br /> 0x80000094 - [[HV_Syscall_Reference#lv1_get_lpm_interrupt_status]]<br /> 0x80000095 - [[HV_Syscall_Reference#lv1_set_lpm_general_control]]<br /> 0x80000096 - [[HV_Syscall_Reference#lv1_set_lpm_interval]]<br /> 0x80000097 - [[HV_Syscall_Reference#lv1_set_lpm_trigger_control]]<br /> 0x80000098 - [[HV_Syscall_Reference#lv1_set_lpm_counter_control]]<br /> 0x80000099 - [[HV_Syscall_Reference#lv1_set_lpm_group_control]]<br /> 0x8000009A - [[HV_Syscall_Reference#lv1_set_lpm_debug_bus_control]]<br /> 0x8000009B - [[HV_Syscall_Reference#lv1_set_lpm_counter]]<br /> 0x8000009C - [[HV_Syscall_Reference#lv1_set_lpm_signal]]<br /> 0x8000009D - [[HV_Syscall_Reference#lv1_set_lpm_spr_trigger]]<br /> 0x800000A3 - [[HV_Syscall_Reference#lv1_write_virtual_uart]]<br /> 0x800000A4 - [[HV_Syscall_Reference#lv1_set_virtual_uart_param]]<br /> 0x800000A5 - [[HV_Syscall_Reference#lv1_get_virtual_uart_param]]<br /> 0x800000A6 - [[HV_Syscall_Reference#lv1_configure_virtual_uart_irq]]<br /> 0x800000AA - [[HV_Syscall_Reference#lv1_open_device]]<br /> 0x800000AB - [[HV_Syscall_Reference#lv1_close_device]]<br /> 0x800000AC - [[HV_Syscall_Reference#lv1_map_device_mmio_region]]<br /> 0x800000AE - [[HV_Syscall_Reference#lv1_allocate_device_dma_region]]<br /> 0x800000AF - [[HV_Syscall_Reference#lv1_free_device_dma_region]]<br /> 0x800000B0 - [[HV_Syscall_Reference#lv1_map_device_dma_region]]<br /> 0x800000B1 - [[HV_Syscall_Reference#lv1_unmap_device_dma_region]]<br /> 0x800000B2 - [[HV_Syscall_Reference#lv1_read_pci_config]]<br /> 0x800000B3 - [[HV_Syscall_Reference#lv1_write_pci_config]]<br /> 0x800000C5 - [[HV_Syscall_Reference#lv1_connect_interrupt_event_receive_port]]<br /> 0x800000CF - [[HV_Syscall_Reference#lv1_enable_logical_spe]]<br /> 0x800000D2 - [[HV_Syscall_Reference#lv1_gpu_open]]<br /> 0x800000D4 - [[HV_Syscall_Reference#lv1_gpu_device_map]]<br /> 0x800000D6 - [[HV_Syscall_Reference#lv1_gpu_memory_allocate]]<br /> 0x800000D9 - [[HV_Syscall_Reference#lv1_gpu_context_allocate]]<br /> 0x800000DD - [[HV_Syscall_Reference#lv1_gpu_context_iomap]]<br /> 0x800000E1 - [[HV_Syscall_Reference#lv1_gpu_context_attribute]]<br /> 0x800000E3 - [[HV_Syscall_Reference#lv1_gpu_context_intr]]<br /> 0x800000E4 - [[HV_Syscall_Reference#lv1_gpu_attribute]]<br /> 0x800000F5 - [[HV_Syscall_Reference#lv1_storage_read]]<br /> 0x800000F6 - [[HV_Syscall_Reference#lv1_storage_write]]<br /> 0x800000F9 - [[HV_Syscall_Reference#lv1_storage_get_async_status]]<br /> <br /> ===LPAR / AUTH ID's===<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Name !! Auth ID !! Self&lt;br /&gt;(/dev_flash/ps2emu) !! Notes<br /> |-<br /> | PS2_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_emu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2 || 0x107000001D000001 || <br /> |-<br /> | PS2_GX_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_gxemu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2_GX || 0x107000001D000001 || <br /> |-<br /> | PS2_SW_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_softemu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2_SW || 0x107000001D000001 || <br /> |-<br /> | PS2_NE_LPAR || 0x1020000003000001 || rowspan=&quot;2&quot; | ps2_netemu.self || <br /> |-<br /> | *SCE_CELLOS_SYSTEM_MGR_PS2_NE || 0x107000001D000001 || <br /> |-<br /> |}<br /> <br /> ====boot_ps2====<br /> http://foxbrew.org/ps3/otheros-utils/boot_ps2.git &lt;br /&gt;<br /> http://www.multi...upload.com/QKK7ETPHXZ boot_ps2-src.rar (1.43 KB) &lt;br /&gt;<br /> http://www.multi...upload.com/YCZ63Y6TQ5 boot_ps2.pkg (69.17 KB) &lt;br /&gt;<br /> <br /> any chance of having this package resigned for 4.21 cfw? might be useful to see if it'll boot ps2_netemu.self LPAR.<br /> <br /> (can boot ps2lpar, but also petitboot if otheros installed! 50:50 chance)<br /> <br /> [http://rghost.net/42586725 boot_ps2 4.xx eboots.zip (153 KB)] &lt;br /&gt; installing 3.55 pkg and replacing the eboot and editing the sfo should work.<br /> <br /> ===Getting compatibility hardware info===<br /> See: [[PS2_Compatibility#Software]]<br /> <br /> ===ps2bootparam.dat===<br /> A file created at path: dev_hdd0/tmp/game/'''ps2bootparam.dat'''<br /> *See: [[ps2bootparam.dat]]&lt;!--we need this page because we have others like that in wiki--&gt;<br /> <br /> ===Cobra core===<br /> taken from storage_ext.c<br /> &lt;pre&gt; patch_ps2emu_entry(ps2emu_type); &lt;/pre&gt;<br /> *sets proper ps2_(gx/soft)emu.self path for reboot<br /> *patches ss_storage service 0x5004 disc checks on ss_server3.self inside lv1<br /> (Change from Parameter li r3, 2 and li r3, 1E (Drive Authentification) to li r3, 0x29 (Reset Drive))<br /> *and the usual either replace read/ioctl for iso etc.<br /> <br /> ==Game CONFIG==<br /> Some of the PS2 emulator types (such ps2_gxemu.self, ps2netemu.self) are able to load config commands that are applyed &quot;by game ID&quot;. The concept of &quot;game patches&quot; is not technically correct because some of the commands does patching functions but others does other things (not patching), and other commands works as switches or sets a value that are enviromental settings for the emulator (not for the game) but because are applyed &quot;by game&quot; should be considered enviromental settings for that specific game, so for simplification purposes you can think in all this data as &quot;game configs&quot;<br /> <br /> This &quot;game config&quot; data seems to work in the same way for all the PS2 emulator types but can be located in different places, some are hardcoded inside the emulators itself (inside the .self), and at the time the &quot;PS2 classics&quot; emulator (ps2_netemu.self) was developed this config can be loaded from an external file&lt;!--and there is some more inside some .sprx or inside the ps2 hdd data pkg ?--&gt;<br /> <br /> In short, the &quot;game configs&quot; can modify the game image (by patching it) and can be used to configure the virtual PS2 (the emulated machine). And can be loaded from hardcoded data (inside the .self) or from an external file (this feature is supported only by ps2_netemu.self)<br /> <br /> The config data consists in a list of concatenated values of 8 bytes lenght (uint32_t), and can be processed like this:<br /> union{<br /> uint32_t command<br /> ...data...<br /> }<br /> <br /> ===Config Commands===<br /> ps2_netemu.self fw4.50 sub_12D7D8, fw4.81 sub_12E050<br /> params are uint32_t unless noted.<br /> <br /> At the time of writing this, most of the commands are completely or partially unknown.&lt;br /&gt;<br /> If you want to read some speculation and brainstorming about them, please join the {{talk}} page<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! CMD ID !! Example !! Notes<br /> |-<br /> | 0x00|||| Copy following title id for enforcing if available + end config<br /> |-<br /> | 0x01|||| 2x uint32_t Params ( addr, func_id 0-0x3B) - EE_ADD_HOOK<br /> [Grand Theft Auto 3 (EU)] uses 0x349790, 0x10 (somewhat floats related)<br /> [Max Payne] uses 0x52E9F4, 3 and 0x52EB78, 2 (set lwsync 0)<br /> Maximum Amount of Usage: ?<br /> (The command is used 3 times consecutively by SLUS-20565 (Champions of Norrath) and SLUS-21494 (Need for Speed Carbon)<br /> game configs hardcoded inside ps2_gxemu.self)<br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> !Function ID!! Notes<br /> |-<br /> |0x00|| <br /> |-<br /> |0x01|| <br /> |-<br /> |0x02|| <br /> Max Payne<br /> sets some sync off?<br /> |-<br /> |0x03|| <br /> Max Payne<br /> sets some sync on?<br /> |-<br /> |0x04|| <br /> |-<br /> |0x05|| <br /> |-<br /> |0x06|| <br /> |-<br /> |0x07|| <br /> |-<br /> |0x08||<br /> |-<br /> |0x09|| <br /> |-<br /> |0x0A|| <br /> |-<br /> |0x0B|| <br /> |-<br /> |0x0C|| <br /> |-<br /> |0x0D|| usleep(100)<br /> |-<br /> |0x0E||<br /> |-<br /> |0x0F|| <br /> GTA 3 (US)<br /> using 0x348B40, 0x18E1F0, 0x348EC8 ( + 200000000 base )<br /> |-<br /> |0x10|| <br /> GTA 3 (EU)<br /> using 0x349790, 0x18E1F0, 0x349B18 ( + 200000000 base )<br /> |-<br /> |0x11|| <br /> GTA 3 (JP/AS)?<br /> using 0x3495C0, 0x18E1F0, 0x349948 ( + 200000000 base )<br /> |-<br /> |0x12|| <br /> condition ...<br /> store 0 in [ 0x204FC500 + 200000000 base]<br /> |-<br /> |0x13|| <br /> |-<br /> |0x14|| <br /> |-<br /> |0x15|| <br /> |-<br /> |0x16|| <br /> store 0x01114BA8 in [ 0x208EAB4C + 200000000 base]<br /> store 0x010C9E40 in [ 0x208EAB6C + 200000000 base]<br /> |-<br /> |0x17|| <br /> condition r18 == 0x8000<br /> setting:<br /> stores 0x40490FDA somewhere <br /> Note: 0x40490FDA (3.14159250) is the highest float approximation to π in hexadecimal without going over the value.&lt;br /&gt;<br /> Probably can improve FPU accuracy for some games.<br /> |-<br /> |0x18||<br /> condition [ 0x20183F04 + 200000000 base ] == 0x0C060F2C <br /> setting:<br /> stores 0 in address 0x20183F04, 0x20183F34, 0x20183F3C ( + 0x200000000 base )<br /> 0x183F0C, sub_46334 (4.70)<br /> 0x183F3C, sub_45DA4 (4.70)<br /> 0x183D74, sub_47B50 (4.70)<br /> |-<br /> |0x19|| <br /> |-<br /> |0x1A|| <br /> store 0 in [ 0x209FD560 + 200000000 base]<br /> store 0 in [ 0x209F9550 + 200000000 base]<br /> store 0 in [ 0x20A01570 + 200000000 base]<br /> store 0 in [ 0x209F9540 + 200000000 base]<br /> store 0 in [ 0x209F5540 + 200000000 base]<br /> store 0 in [ 0x209F1530 + 200000000 base]<br /> |-<br /> |0x1B|| store 0 in [ 0x20552168 + 200000000 base]<br /> |-<br /> |0x1C|| store 1 in [ 0x20552168 + 200000000 base]<br /> |-<br /> |0x1D|| store 0 in [ 0x20556C08 + 200000000 base]<br /> |-<br /> |0x1E|| store 1 in [ 0x20556C08 + 200000000 base]<br /> |-<br /> |0x1F|| store 0 in [ 0x205243D8 + 200000000 base]<br /> |-<br /> |0x20|| store 1 in [ 0x205243D8 + 200000000 base]<br /> |-<br /> |0x21|| store 0 in [ 0x20524F88 + 200000000 base]<br /> |-<br /> |0x22|| store 1 in [ 0x20524F88 + 200000000 base]<br /> |-<br /> |0x23|| store 0 in [ 0x2047E7F8 + 200000000 base]<br /> |-<br /> |0x24|| store 1 in [ 0x2047E7F8 + 200000000 base]<br /> |-<br /> |0x25|| store 0 in [ 0x204802B8 + 200000000 base]<br /> |-<br /> |0x26|| store 1 in [ 0x204802B8 + 200000000 base]<br /> |-<br /> |0x27|| store 0 in [ 0x20586348 + 200000000 base]<br /> |-<br /> |0x28|| store 1 in [ 0x20586348 + 200000000 base]<br /> |-<br /> |0x29|| store 0 in [ 0x205868A8 + 200000000 base]<br /> |-<br /> |0x2A|| store 1 in [ 0x205868A8 + 200000000 base]<br /> |-<br /> |0x2B|| <br /> |-<br /> |0x2C|| <br /> |-<br /> |0x2D|| <br /> |-<br /> |0x2E|| <br /> |-<br /> |0x2F|| condition [ 0x37B0C4 + 200000000 base ] == 0 -&gt; 00 10 0B 98 <br /> |-<br /> |0x30|| condition [ 0x37B704 + 200000000 base ] == 0 -&gt; 00 10 0B 98 <br /> |-<br /> |0x31|| condition [ 0x37630C + 200000000 base ] == 0 -&gt; 00 10 0B A8 <br /> |-<br /> |0x32|| condition [ 0x37BB0C + 200000000 base ] == 0 -&gt; 00 10 0B A8 <br /> |-<br /> |0x33|| <br /> |-<br /> |0x34|| not filled<br /> |-<br /> |0x35|| <br /> |-<br /> |0x36|| <br /> |-<br /> |0x37|| <br /> |-<br /> |0x38||<br /> |-<br /> |0x39|| <br /> |-<br /> |0x3A|| <br /> |-<br /> |0x3B|| GTA 3 (JP/AS) ? using 0x351210, 0x18F590, 0x351568 ( + 200000000 base )<br /> |}<br /> |-<br /> |0x02|||| 1 Param, Config file revision ?<br /> |-<br /> |0x03|||| 0 Param, sets something 0 (Fire Pro Wrestling Returns)<br /> |-<br /> |0x04|||| 1 Param uint32_t index (i*0x80, special 0x12345: 0x91a280?)<br /> |-<br /> |0x05|||| read next command<br /> |-<br /> |0x06|||| 0 Param, sets something 0x14F80 (85888'd)<br /> |-<br /> |0x07|||| 1 Param uint32_t (default 1)<br /> Delay VU xgkick by X cycles<br /> |-<br /> |0x08|||| 8 Param uint32_t (read mask,read mask, original opcode, original opcode, write mask, write mask, replace opcode, replace opcode)<br /> Maximum Amount of Usage: 3 times<br /> Patch VU memory by mask <br /> Mask = F - read/write, 0 - Not read/write, 8 - ignore 4 bytes, E - seems to be used as last character before wildcards (Superman returns).<br /> |-<br /> |0x09|||| uint32_t count, &lt;list&gt; (offset, original opcode, original opcode, replace opcode, replace opcode) - EE_INSN_REPLACE64<br /> [Dark Cloud] uses 1<br /> [Dead Or Alive 2 Hardcore] uses 1<br /> Maximum List Count: 32<br /> |-<br /> |0x0A|||| uint32_t count, &lt;List&gt; (offset, original opcode, replace opcode) - EE_INSN_REPLACE32<br /> [Deadly Strike] uses 1<br /> [Dragon Force] uses 2<br /> Maximum List Count: 32<br /> |-<br /> |0x0B|||| 1 Param uint32_t count, &lt;List&gt; {sector id, offset, sizeof present opcodes, replace opcodes, original opcodes} - MECHA_SET_PATCH<br /> offset on disc = sector id * sector size + offset (-0xC)<br /> [Dead Or Alive 2 Hardcore] uses 7<br /> [Gradius V] uses 1<br /> [Grand Theft Auto III] uses 1<br /> [Katamari Damacy] uses 1<br /> [Manhunt] uses 1<br /> [Odin Sphere] uses 2<br /> [Primal] uses 1<br /> [Psychonauts] uses 1<br /> [Syphon Filter The Omega Strain] uses 1<br /> Maximum List Count: 47<br /> |-<br /> |0x0C|||| 1 Param (uint16_t, uint16_t) --- 0/1/2,&lt;0x63&gt;<br /> |-<br /> |0x0D|||| 1 Param, true/false?<br /> Default Init = 1?<br /> 0 == skip some code, <br /> 1 == some code + checks<br /> |-<br /> |0x0E|||| 1 Param offset --- Improves ADD/SUB accuracy for selected offset (incl. Floats) <br /> [Rygar] only has 0x147DA8 sub.s $f12, $f20, $f12<br /> Maximum Amount of Usage: 31 times<br /> |-<br /> |0x0F|||| List &lt;uint32_t Param, uint32_t Param&gt; --- More accurate memory range (FPU mul/div/sub/add accuracy related) <br /> [Dark Cloud] uses 0x239334, 0x1FFFFFF<br /> [Grand Theft Auto SA] uses 0x1E46DC, 0x1E4AE8<br /> Maximum List Count: 31 <br /> |-<br /> |0x10|||| List &lt;uint32_t Param, uint32_t Param&gt; --- More accurate memory range (COP2, mul/div/sub/add accuracy related) - MULDIV_Accurate_range<br /> Maximum List Count: 31 <br /> |-<br /> |0x11|||| 1x uint32_t Param. ADD/SUB accuracy related, all emulated ADD/SUB instruction variations check that value. Param seems to be VU memory offset (need confirmation).<br /> Maximum Amount of Usage: 31 times<br /> |-<br /> |0x12|||| &lt;List&gt; (uint32_t count,<br /> [Primal] uses 0xD<br /> [Rayman Arena] uses 0x11<br /> [Syphon Filter: The Omega Strain] uses 0x5<br /> 00 00 00 0?<br /> 00 00 00 00<br /> type? count?<br /> ... <br /> Maximum List Count: 63 <br /> |-<br /> | 0x13|||| 1x uint64_t Param<br /> |-<br /> | 0x14|||| 0 Param, sets something 1<br /> |-<br /> | 0x15|| 4 || 1 Param ( &lt;1, &gt;1 ), different settings/mode?<br /> [Bloodrayne 2] uses 4<br /> [GRIMgRiMoiRe] uses 4<br /> [Mana Khemia 2] uses 4<br /> [Odin Sphere] uses 4<br /> [SMT Persona 3 FES] uses 4<br /> |-<br /> | 0x16|||| = 0x05 (next id)<br /> |-<br /> | 0x17||1 || 1 Param, true/false?<br /> [Bully] uses 1<br /> |-<br /> | 0x18|||| = 0x16 = 0x05 (next id)<br /> |-<br /> | 0x19 |||| 0 Param, sets something 1 --- SB_SIO2 related?<br /> [Grand Theft Auto III]<br /> [Red Faction 2]<br /> [Siren]<br /> |-<br /> | 0x1A|||| 0 Param, sets something 1<br /> |-<br /> | 0x1B|||| 0 Param, sets something 1<br /> [Mana Khemia 2]<br /> |-<br /> | 0x1C |||| read uint32_t (use uint8_t) Param (default 3)<br /> |-<br /> | 0x1D |||| read uint32_t (use uint8_t) Param <br /> |-<br /> | 0x1E |||| read uint32_t (use uint8_t) Param <br /> |-<br /> | 0x1F |||| uint32_t Param (default 0x3E8?)<br /> |-<br /> | 0x20|||| uint64_t Param (default 0x3C)<br /> |-<br /> | 0x21|| 1 || 1 Param: <br /> 0 = sets an option from 1 to 0 and another one to 0,<br /> 1 = sets an option from 1 to 0 and another one to 1,<br /> 2 = sets an option from 1 to 1 and another one to 0<br /> [Fatal Frame II] uses 0<br /> [Grand Theft Auto Vice City] uses 1<br /> [Grand Theft Auto III (EU)] uses 1<br /> [SMT Persona 3 FES] uses 0<br /> |-<br /> | 0x22|||| 0 Param, sets something 1<br /> |-<br /> | 0x23|||| 0 Param --- memcpy 0x100 Bytes and sets 0x14E00<br /> |-<br /> | 0x24|||| uint64_t Param<br /> |-<br /> | 0x25|||| = 0x18 = 0x16 = 0x05 (next id)<br /> |-<br /> | 0x26|||| List &lt;uint32_t Param,uint32_t Param&gt; --- Improves ADD/SUB accuracy for selected memory range (incl. Floats) - FPU_Accurate_range<br /> <br /> [Bloodrayne 2] uses 0x340000, 0x350000<br /> [Gradius V] uses 0x3046E0, 0x0x305E44<br /> Maximum List Count: 31 <br /> Maximum Amount of Usage: ??<br /> The command is used 4 times consecutively by [Strawberry Shortcake: The Sweet Dreams]<br /> SLES-54309 (EU) and<br /> SLUS-21497 (US) game configs hardcoded inside ps2_gxemu.self<br /> |-<br /> | 0x27|||| List &lt;uint32_t Param,uint32_t Param&gt; --- Improves COP2 operations accuracy for selected memory range - VU0 macromode accurate range<br /> Maximum List Count: 31 <br /> |-<br /> | 0x28|||| 1x uint32_t Param (&lt;=3)<br /> |-<br /> | 0x29 |||| 2x uint32_t Param,<br /> |-<br /> | 0x2A|||| 0 Param, sets something 1<br /> |-<br /> | 0x2B|||| 0 Param, sets something 1 --- something with Controller (analog?)<br /> |-<br /> | 0x2C |||| 1 Param, uint32_t<br /> Summoner uses 0x1<br /> |-<br /> | 0x2D |||| = 0x25 = 0x18 = 0x16 = 0x05 (next id)<br /> |-<br /> | 0x2E |||| 1 Param, uint32_t<br /> |-<br /> | 0x2F |||| 1 Param, uint32_t<br /> |-<br /> | 0x30|||| (nothing)<br /> |-<br /> | 0x31|||| (nothing)<br /> |-<br /> | 0x32|||| (nothing)<br /> |-<br /> | 0x33|||| (nothing)<br /> |-<br /> | 0x34|||| (nothing)<br /> |-<br /> | 0x35|||| 0 Param --- Enables Force Flip Field, described in emu setting as &quot;''Fix for [Hang] for soft-lock''&quot;<br /> |-<br /> | 0x36|||| (nothing)<br /> |-<br /> | 0x37|||| (nothing)<br /> |-<br /> | 0x38|||| (nothing)<br /> |-<br /> | 0x39 |||| (nothing)<br /> |-<br /> | 0x3A|||| (nothing)<br /> |-<br /> | 0x3B|||| (nothing)<br /> |-<br /> | 0x3C |||| (nothing)<br /> |-<br /> | 0x3D |||| 1 Param, uint32_t Config file revision<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Firmware !! ps2_netemu Revision !! Max Supported Commands<br /> |-<br /> | 3.70 || 15686 || 0x41<br /> |-<br /> | 3.73 || 15936 || 0x41<br /> |-<br /> | 3.74 || 15936 || 0x41<br /> |-<br /> | 4.00 || 16195 || 0x41<br /> |-<br /> | 4.01 || 16195 || 0x41<br /> |-<br /> | 4.10 || 16361 || 0x41<br /> |-<br /> | 4.11 || 16361 || 0x41<br /> |-<br /> | 4.20 || 16604 || 0x43<br /> |-<br /> | 4.21 || 16604 || 0x43<br /> |-<br /> | 4.23 || 16604 || 0x43<br /> |-<br /> | 4.25 || 16740 || 0x43<br /> |-<br /> | 4.26 || 16740 || 0x43<br /> |-<br /> | 4.30 || 16808 || 0x45<br /> |-<br /> | 4.31 || 16808 || 0x45<br /> |-<br /> | 4.40 || 16916 || 0x46<br /> |-<br /> | 4.41 || 16916 || 0x46<br /> |-<br /> | 4.45 || 17041 || 0x48<br /> |-<br /> | 4.46 || 17041 || 0x48<br /> |-<br /> | 4.50 || 17179 || 0x4A<br /> |-<br /> | 4.55 || 17277 || 0x4D<br /> |- <br /> |4.60&lt;br /&gt;<br /> 4.70&lt;br /&gt;<br /> 4.75&lt;br /&gt;<br /> 4.76&lt;br /&gt;<br /> || 17314 || 0x4D<br /> |- <br /> |4.78&lt;br /&gt;<br /> 4.80&lt;br /&gt;<br /> 4.81&lt;br /&gt;<br /> || 17495 || 0x50<br /> |- <br /> |}<br /> |-<br /> | 0x3E |||| 0 Params --- Sets something 1<br /> Default Init = 0<br /> 0 == do set some stuff, <br /> 1 == skip<br /> |-<br /> | 0x3F |||| 1 Param, uint32_t<br /> |-<br /> | 0x40|||| 0 Param --- Sets something 1<br /> Grand Theft Auto SA<br /> Silent Hill Origins - unofficial fix<br /> |-<br /> | 0x41|||| 0 Param --- Sets something 1 (Disables some lwsync - speedhack?)<br /> Dragon Force<br /> God Hand<br /> Gradius V<br /> Katamari Damacy<br /> |-<br /> | 0x42|||| 2 Param: uint32_t address, uint32_t count --- Overlay area? <br /> |-<br /> | 0x43|||| 1 Param --- Equal to 0x40, but with Parameter:<br /> 0 = Default<br /> 1 = (like 0x40)<br /> param = <br /> -1 = failure?<br /> |-<br /> | 0x44|||| 0 Param --- Disables Smoothing and Smoothing option<br /> |-<br /> | 0x45|||| 0 Param --- Sets something 1<br /> Phantasy Star Complete Collection<br /> |-<br /> | 0x46|||| 0 Param --- Enables L2H Improvement, [Performance] related setting for titles using L2H<br /> SMT Digital Devil Saga 1<br /> SMT Nocturne<br /> Fatal Frame II<br /> |-<br /> | 0x47|||| 0 Param --- Enables XOR CSR - XOR System Status Register (0x12001000)?, [Graphics] related setting, should fix fullscreen line corruption<br /> |-<br /> | 0x48|||| VSYNC Delay, 2x uint32_t Param<br /> *First param possible value are 1 = No IPU, 2 = IPU, 3 = Anytime.<br /> *Second param is delay (in ms?), and can be also negative value.<br /> **Emu has standard presets for second param.<br /> ***Agressive = 0x3D090 (250000 decimal),<br /> ***Normal = 0x186A0 (100000 decimal),<br /> ***Conservative = 0x4E20 (20000 decimal),<br /> ***But other values can be used.<br /> [SMT Digital Devil Saga 1] uses 1, 0x3D090<br /> [Fatal Frame II] uses 0x2, 0xFFFFE69C (-6500 decimal)<br /> |-<br /> | 0x49|||| 0 Param --- Sets something 0xB,0,0<br /> |-<br /> | 0x4A|||| 0 Param --- Sets something 0x15100<br /> |-<br /> | 0x4B|||| 2x uint32_t Params: offset,int (-1? selects different titleid?) - /game/ /../ USRDIR/SAVEDATA related<br /> |-<br /> | 0x4C|||| 2x uint32_t Params: offset,int (2 = current path?, 3 = new ISO.BIN.ENC path?, other= ?)<br /> |-<br /> | 0x4D|||| 1 uint32_t Param (can be -1) --- Sets something (same as 0x49 but) 0xC, Param, 0<br /> |-<br /> | 0x4E|||| (nothing)<br /> |-<br /> | 0x4F|||| (nothing)<br /> |-<br /> | 0x50|||| 0 Param --- Switch to default gamepad config ?<br /> |-<br /> |}<br /> <br /> ===Config file examples (for netemu)===<br /> <br /> ====Official====<br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Title ID !! Title !! Config Data !! Revision !! Notes<br /> |-<br /> | NPUD20461 || Bloodrayne || <br /> 00000000 3D 00 00 00 46 3E 00 00 16 00 00 00 0B 00 00 00 =...F&gt;..........<br /> 00000010 04 00 00 00 07 01 00 00 C0 02 00 00 10 00 00 00 ........+.......<br /> 00000020 00 09 3C 52 52 3C 09 00 03 1F 90 14 14 90 1F 03 ..&lt;RR&lt;....É..É..<br /> 00000030 00 09 3C 52 52 3C 09 00 03 20 C0 04 04 C0 20 03 ..&lt;RR&lt;... +..+ .<br /> 00000040 56 A0 09 00 10 00 00 00 04 00 00 00 00 00 90 01 Vá............É.<br /> 00000050 FA 0F BD 01 21 39 07 00 B8 06 00 00 28 00 00 00 ·.¢.!9..©...(...<br /> 00000060 35 4A 02 02 00 0A 54 38 35 4A 62 7E 34 A5 00 A0 5J....T85Jb~4Ñ.á<br /> 00000070 3C 09 00 1B 35 29 FA 00 00 09 4C 38 35 29 02 02 &lt;...5)·...L85)..<br /> 00000080 00 09 4C 38 35 29 62 7E 35 4A 02 03 00 0A 54 38 ..L85)b~5J....T8<br /> 00000090 35 4A 22 7E 34 A5 00 A0 3C 09 00 1B 35 29 FA 00 5J&quot;~4Ñ.á&lt;...5)·.<br /> 000000A0 00 09 4C 38 35 29 02 03 00 09 4C 38 35 29 22 7E ..L85)....L85)&quot;~<br /> 000000B0 27 39 07 00 80 03 00 00 24 00 00 00 35 6B 02 02 '9..Ç...$...5k..<br /> 000000C0 00 0B 5C 38 35 6B 62 7E 3C 0C 00 1B 35 8C FA 00 ..\85kb~&lt;...5î·.<br /> 000000D0 00 0C 64 38 35 8C 02 02 00 0C 64 38 35 8C 62 7E ..d85î....d85îb~<br /> 000000E0 35 6B 02 03 00 0B 5C 38 35 6B 22 7E 3C 0C 00 1B 5k....\85k&quot;~&lt;...<br /> 000000F0 35 8C FA 00 00 0C 64 38 35 8C 02 03 00 0C 64 38 5î·...d85î....d8<br /> 00000100 35 8C 22 7E 5î&quot;~<br /> || 15942 (4.00+) ||<br /> 0x3D =&gt; 0x3E46 (15942)<br /> 0x16 =&gt; 0xB =&gt; 4<br /> 0x107, (sector)<br /> 0x2C0, (offset -&gt; 0x1072B4 in iso)<br /> 0x10, <br /> 0x523C0900, (beql s1, gp, ?)<br /> 0x00093C52, (mflo a3)<br /> 0x14901F03, (bne a0, s0, ?)<br /> 0x031F9014, (dsllv s2, ra, t8)<br /> 0x523C0900, (beql s1, gp, ?)<br /> 0x00093C52, (mflo a3)<br /> 0x04C02003, (bltz a2, ?)<br /> 0x0320C004 (sllv t8, zero, t9)<br /> 0x9A056, (sector)<br /> 0x10, (offset -&gt; 0x4D02B004 in iso)<br /> 0x04, <br /> 0x01900000 (sll zero, s0, 0x00?), <br /> 0x01BD0FFA (dsrl at,sp,0x1F?)<br /> 0x73921, (sector)<br /> 0x6B8, (offset -&gt; 0x39C90EAC in iso)<br /> 0x28, <br /> 21 39 07 00 addi t9,t1,0x0700<br /> B8 06 00 00 swr a2,(zero)<br /> 28 00 00 00 slti zero,0x0000<br /> 35 4A 02 02 ori t2,0x202<br /> 00 0A 54 38 dsll t2,0x10<br /> 35 4A 62 7E ori t2,0x627E<br /> 34 A5 00 A0 ori a1,0xA0<br /> 3C 09 00 1B lui t1,0x001B<br /> 35 29 FA 00 ori t1,0xFA00<br /> 00 09 4C 38 dsll t1,0x10<br /> 35 29 02 02 ori t1,0x202<br /> 00 09 4C 38 dsll t1,0x10<br /> 35 29 62 7E ori t1,0x627E<br /> 35 4A 02 03 ori t2,0x203<br /> 00 0A 54 38 dsll t2,0x10<br /> 35 4A 22 7E ori t2,0x227E<br /> 34 A5 00 A0 ori a1,0xA0<br /> 3C 09 00 1B lui t1,0x001B<br /> 35 29 FA 00 ori t1,0xFA00<br /> 00 09 4C 38 dsll t1,0x10<br /> 35 29 02 03 ori t1,0x203<br /> 00 09 4C 38 dsll t1,0x10<br /> 35 29 22 7E ori t1,0x227E<br /> 0x73927, (sector)<br /> 0x380, (offset -&gt; 0x39C93B74 in iso)<br /> 0x24, <br /> 35 6B 02 02 ori t3,0x202<br /> 00 0B 5C 38 dsll t3,0x10<br /> 35 6B 62 7E ori t3,0x627E<br /> 3C 0C 00 1B lui t4,0x001B<br /> 35 8C FA 00 ori t4,0xFA00<br /> 00 0C 64 38 dsll t4,0x10<br /> 35 8C 02 02 ori t4,0x202<br /> 00 0C 64 38 dsll t4,0x10<br /> 35 8C 62 7E ori t4,0x627E<br /> 35 6B 02 03 ori t3,0x203<br /> 00 0B 5C 38 dsll t3,0x10<br /> 35 6B 22 7E ori t3,0x227E<br /> 3C 0C 00 1B lui t4,0x001B<br /> 35 8C FA 00 ori t4,0xFA00<br /> 00 0C 64 38 dsll t4,0x10<br /> 35 8C 02 03 ori t4,0x203<br /> 00 0C 64 38 dsll t4,0x10<br /> 35 8C 22 7E ori t4,0x227E<br /> |-<br /> | NPUD20862 || Bloodrayne 2 ||<br /> 00000000 3D 00 00 00 3D 3F 00 00 15 00 00 00 04 00 00 00 =...=?..........<br /> 00000010 26 00 00 00 00 00 34 00 00 00 35 00 00 00 00 00 &amp;.....4...5.....<br /> 00000020 53 4C 55 53 2D 32 30 38 36 32 SLUS-20862<br /> || 16189 (4.00+) ||<br /> 0x3D =&gt; 0x3F3D (16189)<br /> 0x15 =&gt; 4<br /> 0x26 =&gt; 0x340000, 0x350000<br /> |-<br /> | NPUD21269 || Bully ||<br /> 00000000 3D 00 00 00 89 3D 00 00 17 00 00 00 01 00 00 00 =....=..........<br /> 00000010 00 00 00 00 53 4C 55 53 2D 32 31 32 36 39 ....SLUS-21269<br /> || 15753 (3.73+) ||<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x17 =&gt; 1<br /> |-<br /> | NPJD00004 || Contra Shattered Soldier || <br /> 00000000 3D 00 00 00 BF 3F 00 00 0A 00 00 00 12 00 00 00 =...+?..........<br /> 00000010 A0 FF 0F 00 00 00 00 00 10 00 01 3C A4 FF 0F 00 á .........&lt;ñ ..<br /> 00000020 00 00 00 00 90 FF 24 8C A8 FF 0F 00 00 00 00 00 ....É $î¿ ......<br /> 00000030 81 00 85 2C AC FF 0F 00 00 00 00 00 06 00 A0 10 ü.à,¼ ........á.<br /> 00000040 B0 FF 0F 00 00 00 00 00 01 00 84 24 B4 FF 0F 00 ¦ ........ä$¦ ..<br /> 00000050 00 00 00 00 90 FF 24 AC B8 FF 0F 00 00 00 00 00 ....É $¼© ......<br /> 00000060 81 00 85 2C BC FF 0F 00 00 00 00 00 02 00 A0 14 ü.à,+ ........á.<br /> 00000070 C0 FF 0F 00 00 00 00 00 00 00 00 00 C4 FF 0F 00 + ..........- ..<br /> 00000080 00 00 00 00 00 07 02 34 C8 FF 0F 00 00 00 00 00 .......4+ ......<br /> 00000090 08 00 E0 03 CC FF 0F 00 00 00 00 00 00 00 00 00 ..Ó.¦ ..........<br /> 000000A0 D0 FF 0F 00 00 00 00 00 10 00 01 3C D4 FF 0F 00 ð .........&lt;È ..<br /> 000000B0 00 00 00 00 08 00 E0 03 D8 FF 0F 00 00 00 00 00 ......Ó.Ï ......<br /> 000000C0 90 FF 20 AC DC FF 0F 00 00 00 00 00 00 00 00 00 É ¼_ ..........<br /> 000000D0 C0 72 42 00 08 00 E0 03 E8 FF 03 08 B4 7C 42 00 +rB...Ó.Þ ..¦|B.<br /> 000000E0 08 00 E0 03 F4 FF 03 08 00 00 00 00 53 4C 50 4D ..Ó.¶ ......SLPM<br /> 000000F0 2D 36 32 32 34 37 -62247<br /> || 16319 (4.10+)||<br /> 0x3D =&gt; 0x3FBF (16319)<br /> 0x0A =&gt; 0x12, <br /> 0xFFFA0,0, 0x3C010010 lui at,0x0010 <br /> 0xFFFA4,0, 0x8C24FF90 lw a0,-0x70(at) <br /> 0xFFFA8,0, 0x2C850081 sltiu a1,a0,0x0081 <br /> 0xFFFAC,0, 0x10A00006 beqz a1,pos_000FFFC8 <br /> 0xFFFB0,0, 0x24840001 addiu a0,0x1 <br /> 0xFFFB4,0, 0xAC24FF90 sw a0,-0x70(at) <br /> 0xFFFB8,0, 0x2C850081 sltiu a1,a0,0x0081 <br /> 0xFFFBC,0, 0x14A00002 bnez a1,pos_000FFFC8 <br /> 0xFFFC0,0, 0x00000000 nop <br /> 0xFFFC4,0, 0x34020700 li v0,0x700 <br /> 0xFFFC8,0, 0x03E00008 jr t9 <br /> 0xFFFCC,0, 0x00000000 nop <br /> 0xFFFD0,0, 0x3C010010 lui at,0x0010 <br /> 0xFFFD4,0, 0x03E00008 jr ra <br /> 0xFFFD8,0, 0xAC20FF90 sw zero,-0x70(at) <br /> 0xFFFDC,0, 0x00000000 nop <br /> 0x4272C0, 0x03E00008 (jr ra), 0x0803FFE8 j pos_000FFFA0<br /> 0x427CB4, 0x03E00008 (jr ra), 0x0803FFF4 j pos_000FFFD0<br /> |-<br /> | NPJC00002 || Dark Cloud ||<br /> 00000000 3D 00 00 00 07 3F 00 00 0F 00 00 00 34 93 23 00 =....?......4.#.<br /> 00000010 FF FF FF 01 09 00 00 00 01 00 00 00 B0 8E 13 00 ................<br /> 00000020 20 00 BF 7F B0 FF BD 27 00 00 00 00 08 00 E0 03 ......'........<br /> 00000030 00 00 00 00 53 43 50 53 2D 31 35 30 30 34 ....SCPS-15004<br /> || 16135 (4.00+)||<br /> 0x3D =&gt; 0x3F07 (16135)<br /> 0x0F =&gt; 0x239334, 0x01FFFFFF<br /> 0x09 =&gt; 1,<br /> 0x138EB0 , <br /> 0x7FBF0020 (sq ra,0x20(sp)),<br /> 0x27BDFFB0 (addiu sp,-0x50),<br /> 0x00000000 (nop),<br /> 0x03E00008 (jr ra)<br /> <br /> 0x239334 = end of code segment?<br /> 0x138EB0 = DrawShadow__10CCharacterFv Function Offset<br /> config 20 00 BF 7F 0x7FBF0020 sq ra, 0x20(sp)<br /> B0 FF BD 27 0x27BDFFB0 addiu sp, -0x50<br /> 00 00 00 00 0x00000000 nop<br /> 08 00 E0 03 0x03E00008 jr ra<br /> |-<br /> | NPUD20071 || Dead Or Alive 2 Hardcore ||<br /> 00000000 3D 00 00 00 F0 42 00 00 0A 00 00 00 01 00 00 00 =....B..........<br /> 00000010 EC 06 2B 00 01 00 06 24 00 00 06 24 0B 00 00 00 ..+....$...$....<br /> 00000020 07 00 00 00 71 6A 18 00 F4 07 00 00 04 00 00 00 ....qj..........<br /> 00000030 0C 00 32 B7 0C 00 32 B3 71 6A 18 00 F4 05 00 00 ..2...2.qj......<br /> 00000040 08 00 00 00 03 E0 00 08 00 00 00 00 27 BD FF F0 ............'...<br /> 00000050 AF BE 00 08 7B 6A 18 00 08 07 00 00 08 00 00 00 ....{j..........<br /> 00000060 03 E0 00 08 00 00 00 00 27 BD FF F0 AF BE 00 08 ........'.......<br /> 00000070 85 6A 18 00 18 01 00 00 08 00 00 00 03 E0 00 08 .j..............<br /> 00000080 00 00 00 00 27 BD FF F0 AF BE 00 08 85 6A 18 00 ....'........j..<br /> 00000090 70 01 00 00 08 00 00 00 03 E0 00 08 00 00 00 00 p...............<br /> 000000A0 27 BD FF F0 AF BE 00 08 85 6A 18 00 C8 01 00 00 '........j......<br /> 000000B0 08 00 00 00 03 E0 00 08 00 00 00 00 27 BD FF F0 ............'...<br /> 000000C0 AF BE 00 08 86 6A 18 00 FC 07 00 00 08 00 00 00 .....j..........<br /> 000000D0 03 E0 00 08 00 00 00 00 27 BD FF F0 AF BE 00 08 ........'.......<br /> 000000E0 00 00 00 00 53 4C 55 53 2D 32 30 30 37 31 ....SLUS-20071 <br /> || 17136 (4.50+) || fixes blackscreen<br /> 0x3D =&gt; 0x42F0 (17136)<br /> 0x0A =&gt; 0x01,<br /> 0x2B06EC, 0x24060001 (li a2,0x1), <br /> 0x24060000 (li a2,0x0)<br /> 0x0B =&gt; 0x07,<br /> 0x186A71, 0x7F4, 0x04, <br /> 0xB732000C (jal -0x2A9B90), <br /> 0xB332000C (jal -0x2A9BA0)<br /> 0x186A71, 0x5F4, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A7B, 0x708, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A85, 0x118, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A85, 0x170, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A85, 0x1C8, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x186A86, 0x7FC, 0x08, 0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp))<br /> <br /> |-<br /> | NPJD00011 || Dead Or Alive 2 Hardcore || <br /> 00000000 3D 00 00 00 89 3D 00 00 09 00 00 00 01 00 00 00 =...ë=..........<br /> 00000010 6C 66 2B 00 80 00 08 24 01 00 06 24 80 00 08 24 lf+.Ç..$...$Ç..$<br /> 00000020 00 00 06 24 0B 00 00 00 07 00 00 00 05 FF 17 00 ...$......... ..<br /> 00000030 F0 07 00 00 0C 00 00 00 27 C4 00 10 0C 00 32 B7 ­.......'-....2À<br /> 00000040 00 00 00 00 24 04 00 2B 0C 00 32 B3 27 C5 00 10 ....$..+..2¦'+..<br /> 00000050 05 FF 17 00 F4 05 00 00 08 00 00 00 03 E0 00 08 . ..¶........Ó..<br /> 00000060 00 00 00 00 27 BD FF F0 AF BE 00 08 0F FF 17 00 ....'¢ ­»¥... ..<br /> 00000070 08 07 00 00 08 00 00 00 03 E0 00 08 00 00 00 00 .........Ó......<br /> 00000080 27 BD FF F0 AF BE 00 08 19 FF 17 00 18 01 00 00 '¢ ­»¥... ......<br /> 00000090 08 00 00 00 03 E0 00 08 00 00 00 00 27 BD FF F0 .....Ó......'¢ ­<br /> 000000A0 AF BE 00 08 19 FF 17 00 70 01 00 00 08 00 00 00 »¥... ..p.......<br /> 000000B0 03 E0 00 08 00 00 00 00 27 BD FF F0 AF BE 00 08 .Ó......'¢ ­»¥..<br /> 000000C0 19 FF 17 00 C8 01 00 00 08 00 00 00 03 E0 00 08 . ..+........Ó..<br /> 000000D0 00 00 00 00 27 BD FF F0 AF BE 00 08 1A FF 17 00 ....'¢ ­»¥... ..<br /> 000000E0 FC 07 00 00 08 00 00 00 03 E0 00 08 00 00 00 00 ³........Ó......<br /> 000000F0 27 BD FF F0 AF BE 00 08 00 00 00 00 53 4C 50 53 '¢ ­»¥......SLPS<br /> 00000100 2D 32 35 30 32 36 -25026<br /> || 15753 (3.73+) || fixes blackscreen<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x09 =&gt; 1,<br /> 0x2B666C, <br /> 0x24080080 (li t0,0x80), <br /> 0x24060001 (li a2,0x1), <br /> 0x24080080 (li t0,0x80), <br /> 0x24060000 (li a2,0x0)<br /> 0x0B =&gt; 7, <br /> 0x17FF05, 0x7F0, 0x0C ,<br /> 0x1000C427 addiu a0,fp,0x10,<br /> 0xB732000C jal -0x2A9B90,<br /> 0x00000000 nop, <br /> 0x2B000424 li a0,0x2B,<br /> 0xB332000C jal -0x2A9BA0,<br /> 0x1000C527 addiu a1,fp,0x10,<br /> 0x17FF05, 0x5F4, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF0F, 0x708, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF19, 0x118, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF19, 0x170, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF19, 0x1C8, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> 0x17FF1A, 0x7FC, 0x08 ,0x0800E003 (jr ra), 0 (nop), 0xF0FFBD27 (addiu sp,-0x10), 0x0800BEAF (sw fp,0x8(sp)),<br /> <br /> 002B666C 01 00 06 24 0x24060001 li a2,0x1<br /> 80 00 08 24 0x24080080 li t0,0x80 <br /> 2D 48 E0 00 0x00E0482D dmove t1,a3<br /> 10 00 0A 24 0x240A0010 li t2,0x10<br /> <br /> config 80 00 08 24 0x24080080 li t0,0x80<br /> 01 00 06 24 0x24060001 li a2,0x1<br /> 80 00 08 24 0x24080080 li t0,0x80<br /> 00 00 06 24 0x24060000 li a2,0x0<br /> |-<br /> | NPED00027 || Deadly Strike ||<br /> 00000000 3D 00 00 00 96 40 00 00 0A 00 00 00 01 00 00 00 =....@..........<br /> 00000010 14 09 1E 00 17 37 01 3C 14 37 01 3C 00 00 00 00 .....7.&lt;.7.&lt;....<br /> 00000020 53 4C 45 53 2D 35 32 39 35 35 SLES-52955<br /> || 16534 (4.20+) ||<br /> 0x3D =&gt; 0x4096 (16534)<br /> 0x0A =&gt; 1 <br /> 0x1E0914, 17 37 01 3C 0x3C013717 li at,0x3717<br /> 14 37 01 3C 0x3C013714 li at,0x3714 <br /> |-<br /> | NPED00087 || Disneys PK: Out of the Shadows ||<br /> <br /> || || blackscreen<br /> <br /> |-<br /> | NPUD21944 || Doras Big Birthday Adventure ||<br /> 00000000 3D 00 00 00 ED 3F 00 00 0A 00 00 00 0A 00 00 00 =....?..........<br /> 00000010 00 FF 0F 00 00 00 00 00 07 00 40 14 04 FF 0F 00 ..........@.....<br /> 00000020 00 00 00 00 10 00 01 3C 08 FF 0F 00 00 00 00 00 .......&lt;........<br /> 00000030 F0 FF 28 8C 0C FF 0F 00 00 00 00 00 20 01 09 2D ..(......... ..-<br /> 00000040 10 FF 0F 00 00 00 00 00 03 00 20 11 14 FF 0F 00 .......... .....<br /> 00000050 00 00 00 00 01 00 08 25 18 FF 0F 00 00 00 00 00 .......%........<br /> 00000060 F0 FF 28 AC 1C FF 0F 00 00 00 00 00 06 00 02 24 ..(............$<br /> 00000070 20 FF 0F 00 00 00 00 00 08 00 E0 03 90 9B 1E 00 ...............<br /> 00000080 08 00 E0 03 C0 FF 03 08 00 00 00 00 53 4C 55 53 ............SLUS<br /> 00000090 2D 32 31 39 34 34 -21944<br /> || 16365 (4.20+) ||<br /> 0x3D =&gt; 0x3FED (16365)<br /> 0x0A =&gt; 0xA,<br /> 0xFFF00,0,0x14400007 bnez v0,pos_000FFF20<br /> 0xFFF04,0,0x3C010010 lui at,0x0010<br /> 0xFFF08,0,0x8C28FFF0 lw t0,-0x10(at)<br /> 0xFFF0C,0,0x2D090120 sltiu t1,t0,0x0120<br /> 0xFFF10,0,0x11200003 beqz t1,pos_000FFF20<br /> 0xFFF14,0,0x25080001 addiu t0,0x1<br /> 0xFFF18,0,0xAC28FFF0 sw t0,-0x10(at)<br /> 0xFFF1C,0,0x24020006 li v0,0x6<br /> 0xFFF20,0,0x03E00008 jr ra<br /> 0x1E9B90, 0x03E00008 (jr ra), 0x0803FFC0 j pos_000FFF00<br /> |-<br /> | NPJD00005 || Dragon Force ||<br /> 00000000 3D 00 00 00 D6 40 00 00 0A 00 00 00 02 00 00 00 =....@..........<br /> 00000010 B4 41 10 00 1C 00 40 10 F9 FF 40 14 BC 41 10 00 .A....@...@..A..<br /> 00000020 1D 00 02 3C 1A 00 40 10 41 00 00 00 00 00 00 00 ...&lt;..@.A.......<br /> 00000030 53 4C 50 4D 2D 36 35 37 37 38 SLPM-65778<br /> || 16598 (4.20+) ||<br /> 0x3D =&gt; 0x40D6 (16598)<br /> 0x0A =&gt; 2, <br /> 0x1041B4, 0x1040001C beqz v0,pos_00104228<br /> 0x1440FFF9 bnez v0,pos_0010419C<br /> 0x1041BC, 0x3C02001D lui v0,0x001D<br /> 0x1040001A beqz v0,pos_00104228<br /> 0x41 =&gt; (sets some value 1, sync? - speedhack?)<br /> |-<br /> | NPUD20766 || Fatal Frame II ||<br /> 00000000 3D 00 00 00 AF 42 00 00 21 00 00 00 00 00 00 00 =....B..!.......<br /> 00000010 48 00 00 00 02 00 00 00 9C E6 FF FF 0A 00 00 00 H...............<br /> 00000020 01 00 00 00 1C 70 17 00 41 01 0F 24 61 01 0F 24 .....p..A..$a..$<br /> 00000030 46 00 00 00 0B 00 00 00 01 00 00 00 DD 04 00 00 F...............<br /> 00000040 E8 02 00 00 04 00 00 00 00 42 73 84 00 00 02 FF .........Bs.....<br /> 00000050 00 00 00 00 53 4C 55 53 2D 32 30 37 36 36 ....SLUS-20766 <br /> || 17071 (4.50+) ||<br /> 0x3D =&gt; 0x42AF (17071)<br /> 0x21 =&gt; 0<br /> 0x48 =&gt; 0x2, 0xFFFFE69C<br /> 0x0A =&gt; 1, <br /> 0x17701C, 0x240F0141 (li t7,0x141)<br /> 0x240F0161 (li t7,0x161)<br /> 0x46<br /> 0x0B =&gt; 1<br /> 0x4DD, (sector)<br /> 0x2E8, (offset -&gt; 0x26EADC in iso)<br /> 0x04,<br /> 0x84734200 lh s3,0x4200(v1),<br /> 0xFF020000 sd v0,(t8)<br /> |-<br /> | NPED00052 || God Hand || <br /> 00000000 3D 00 00 00 5F 3F 00 00 41 00 00 00 0A 00 00 00 =..._?..A.......<br /> 00000010 14 00 00 00 A0 FF 0F 00 00 00 00 00 01 00 02 3C ....á .........&lt;<br /> 00000020 A4 FF 0F 00 00 00 00 00 21 20 82 00 A8 FF 0F 00 ñ ......! é.¿ ..<br /> 00000030 00 00 00 00 4D 00 02 24 AC FF 0F 00 00 00 00 00 ....M..$¼ ......<br /> 00000040 0E 00 45 14 B4 FF 0F 00 00 00 00 00 3E 18 06 00 ..E.¦ ......&gt;...<br /> 00000050 B8 FF 0F 00 00 00 00 00 FF 3F 63 38 BC FF 0F 00 © ...... ?c8+ ..<br /> 00000060 00 00 00 00 60 00 02 24 C0 FF 0F 00 00 00 00 00 ....`..$+ ......<br /> 00000070 0A 10 03 00 C4 FF 0F 00 00 00 00 00 00 00 83 8C ....- ........âî<br /> 00000080 C8 FF 0F 00 00 00 00 00 00 00 62 FC CC FF 0F 00 + ........b³¦ ..<br /> 00000090 00 00 00 00 15 00 02 24 D0 FF 0F 00 00 00 00 00 .......$ð ......<br /> 000000A0 08 00 62 FC D4 FF 0F 00 00 00 00 00 10 00 63 24 ..b³È ........c$<br /> 000000B0 D8 FF 0F 00 00 00 00 00 00 00 83 AC DC FF 0F 00 Ï ........â¼_ ..<br /> 000000C0 00 00 00 00 10 00 83 8C E0 FF 0F 00 00 00 00 00 ......âîÓ ......<br /> 000000D0 01 00 63 24 E4 FF 0F 00 00 00 00 00 10 00 83 AC ..c$õ ........â¼<br /> 000000E0 E8 FF 0F 00 00 00 00 00 A6 67 0A 08 90 9E 29 00 Þ ......ªg..É×).<br /> 000000F0 01 00 02 3C E8 FF 03 08 94 9E 29 00 21 20 82 00 ...&lt;Þ ..ö×).! é.<br /> 00000100 00 00 00 00 00 00 00 00 53 4C 45 53 2D 35 34 34 ........SLES-544<br /> 00000110 39 30 90<br /> || 16223 (4.10+) ||<br /> 0x3D =&gt; 0x3F5F (16223)<br /> 0x41 =&gt; (sets some value 1, sync? - speedhack?)<br /> 0x0A =&gt; 0x14<br /> 0xFFFA0,0,0x3C020001 lui v0,0x0001<br /> 0xFFFA4,0,0x00822021 addu a0,v0<br /> 0xFFFA8,0,0x2402004D li v0,0x4D<br /> 0xFFFAC,0,0x1445000E bne v0,a1,pos_000FFFE8<br /> 0xFFFB4,0,0x0006183E dsrl32 v1,a2,0x00<br /> 0xFFFB8,0,0x38633FFF xori v1,0x3FFF<br /> 0xFFFBC,0,0x24020060 li v0,0x60<br /> 0xFFFC0,0,0x0003100A movz v0,zero,v1<br /> 0xFFFC4,0,0x8C830000 lw v1,(a0)<br /> 0xFFFC8,0,0xFC620000 sd v0,(v1)<br /> 0xFFFCC,0,0x24020015 li v0,0x15<br /> 0xFFFD0,0,0xFC620008 sd v0,0x8(v1)<br /> 0xFFFD4,0,0x24630010 addiu v1,0x10<br /> 0xFFFD8,0,0xAC830000 sw v1,(a0)<br /> 0xFFFDC,0,0x8C830010 lw v1,0x10(a0)<br /> 0xFFFE0,0,0x24630001 addiu v1,0x1<br /> 0xFFFE4,0,0xAC830010 sw v1,0x10(a0)<br /> 0xFFFE8,0,0x080A67A6 j pos_00299E98<br /> 0x299E90,0x3C020001 (lui v0,0x0001),0x0803FFE8 j pos_000FFFA0<br /> 0x299E94,0x00822021 (addu a0,v0),0x00000000 nop<br /> |-<br /> | NPUD20712 || Gradius V ||<br /> 00000000 3D 00 00 00 37 3E 00 00 0B 00 00 00 01 00 00 00 =...7&gt;..........<br /> 00000010 D3 05 00 00 10 03 00 00 08 00 00 00 03 E0 00 08 ................<br /> 00000020 00 00 00 00 27 BD FF C0 3C 03 00 4C 41 00 00 00 ....'...&lt;..LA...<br /> 00000030 26 00 00 00 E0 46 30 00 44 5E 30 00 00 00 00 00 &amp;....F0.D^0.....<br /> 00000040 53 4C 55 53 2D 32 30 37 31 32 SLUS-20712 <br /> || 15927 (3.71+) || <br /> 0x3D =&gt; 0x3E37 (15927)<br /> 0x0B =&gt; 1<br /> 0x5D3, (sector)<br /> 0x310, (offset -&gt; 0x2E9B04 in iso)<br /> 0x08, <br /> 03 E0 00 08 jr ra<br /> 00 00 00 00 nop<br /> 27 BD FF C0 addiu sp,-0x40<br /> 3C 03 00 4C lui v1,0x004C<br /> 0x41 =&gt; (sets some value 1, sync? - speedhack?)<br /> 0x26 =&gt; 0x3046E0, 0x0x305E44<br /> |-<br /> | NPUD20552 || Grand Theft Auto - Vice City ||<br /> 00000000 3D 00 00 00 A5 41 00 00 21 00 00 00 01 00 00 00 =....A..!.......<br /> 00000010 0A 00 00 00 0D 00 00 00 A0 FF 0F 00 00 00 00 00 ................<br /> 00000020 17 00 01 24 A4 FF 0F 00 00 00 00 00 08 00 24 14 ...$..........$.<br /> 00000030 AC FF 0F 00 00 00 00 00 10 00 01 3C B0 FF 0F 00 ...........&lt;....<br /> 00000040 00 00 00 00 90 FF 22 8C B4 FF 0F 00 00 00 00 00 ......&quot;.........<br /> 00000050 FF FF 42 24 B8 FF 0F 00 00 00 00 00 05 00 40 1C ..B$..........@.<br /> 00000060 C0 FF 0F 00 00 00 00 00 04 00 02 24 C4 FF 0F 00 ...........$....<br /> 00000070 00 00 00 00 90 FF 22 AC C8 FF 0F 00 00 00 00 00 ......&quot;.........<br /> 00000080 C1 3A 0B 08 CC FF 0F 00 00 00 00 00 D0 FF BD 27 .:.............'<br /> 00000090 D0 FF 0F 00 00 00 00 00 08 00 E0 03 D4 FF 0F 00 ................<br /> 000000A0 00 00 00 00 90 FF 22 AC 00 EB 2C 00 D0 FF BD 27 ......&quot;...,....'<br /> 000000B0 E8 FF 03 08 00 00 00 00 53 4C 55 53 2D 32 30 35 ........SLUS-205<br /> 000000C0 35 32 52<br /> || 16805 (4.30+) ||<br /> 0x3D =&gt; 0x41A5 (16805)<br /> 0x21 =&gt; 1<br /> 0x0A = 0xD<br /> 0xFFFA0,0,0x24010017 li at,0x17<br /> 0xFFFA4,0,0x14240008 bne at,a0,pos_000FFFC8<br /> 0xFFFAC,0,0x3C010010 lui at,0x0010<br /> 0xFFFB0,0,0x8C22FF90 lw v0,-0x70(at)<br /> 0xFFFB4,0,0x2442FFFF addiu v0,-0x1<br /> 0xFFFB8,0,0x1C400005 bgtz v0,pos_000FFFD0<br /> 0xFFFC0,0,0x24020004 li v0,0x4<br /> 0xFFFC4,0,0xAC22FF90 sw v0,-0x70(at)<br /> 0xFFFC8,0,0x080B3AC1 j pos_002CEB04<br /> 0xFFFCC,0,0x27BDFFD0 addiu sp,-0x30<br /> 0xFFFD0,0,0x03E00008 jr ra<br /> 0xFFFD4,0,0xAC22FF90 sw v0,-0x70(at)<br /> 0x2CEB00,0x27BDFFD0 ( addiu sp,-0x30 ),0x0803FFE8 j pos_000FFFA0<br /> <br /> |-<br /> | NPED00063 || Grand Theft Auto III ||<br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 90 97 34 00 =....=........4.<br /> 00000010 10 00 00 00 21 00 00 00 01 00 00 00 00 00 00 00 ....!...........<br /> 00000020 53 4C 45 53 2D 35 30 33 33 30 SLES-50330<br /> || 15753 (3.73+) ||<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x01 =&gt; 0x349790, 0x10<br /> 0x21 =&gt; 1<br /> |-<br /> | NPUD20062 || Grand Theft Auto III ||<br /> 00000000 3D 00 00 00 48 3F 00 00 19 00 00 00 01 00 00 00 =...H?..........<br /> 00000010 40 8B 34 00 0F 00 00 00 21 00 00 00 01 00 00 00 @.4.....!.......<br /> 00000020 0B 00 00 00 01 00 00 00 71 6D 0F 00 EC 04 00 00 ........qm......<br /> 00000030 B0 00 00 00 03 E0 00 08 00 00 00 00 3C 01 00 10 ............&lt;...<br /> 00000040 8C 21 FE F0 14 20 00 25 00 00 00 00 27 BD FF 50 .!... .%....'..P<br /> 00000050 08 0B 64 B9 7F BF 00 50 00 00 00 00 34 02 00 03 ..d....P....4...<br /> 00000060 34 01 00 43 10 81 00 15 34 03 00 00 34 01 00 20 4..C....4...4.. <br /> 00000070 10 81 00 12 34 03 00 01 34 01 00 1F 10 81 00 0F ....4...4.......<br /> 00000080 34 03 00 02 34 01 00 1D 10 81 00 0C 34 03 00 03 4...4.......4...<br /> 00000090 34 02 00 02 34 01 00 39 10 81 00 08 34 03 00 04 4...4..9....4...<br /> 000000A0 34 02 00 01 34 01 00 1A 10 81 00 04 34 03 00 05 4...4.......4...<br /> 000000B0 27 BD FE F0 08 0B 1D 05 7F BF 00 90 3C 01 00 10 '...........&lt;...<br /> 000000C0 00 23 18 21 90 79 FE E0 27 39 00 01 03 22 08 2A .#.!.y..'9...&quot;.*<br /> 000000D0 00 01 C8 0A 13 20 FF F6 A0 79 FE E0 03 E0 00 08 ..... ...y......<br /> 000000E0 00 00 00 00 27 BD FE D0 7F BF 00 B0 7F BE 00 A0 ....'...........<br /> 000000F0 7F B7 00 90 7F B6 00 80 7F B5 00 70 7F B4 00 60 ...........p...`<br /> 00000100 7F B3 00 50 7F B2 00 40 7F B1 00 30 7F B0 00 20 ...P...@...0... <br /> 00000110 E7 B7 00 1C E7 B6 00 18 E7 B5 00 14 E7 B4 00 10 ................<br /> 00000120 27 B7 00 F4 46 00 65 06 E7 AC 00 F0 24 07 00 01 '...F.e.....$...<br /> 00000130 46 00 75 86 27 B0 00 F8 46 00 7D 46 E6 ED 00 00 F.u.'...F.}F....<br /> 00000140 3C 02 C4 7A AE 02 00 00 3C 02 44 7A FF A0 00 00 &lt;..z....&lt;.Dz....<br /> 00000150 44 82 60 00 27 A4 00 F0 46 00 6D C6 27 A5 00 C0 D.`.'...F.m.'...<br /> 00000160 27 A6 01 2C 70 00 46 28 70 00 4E 28 70 00 56 28 '..,p.F(p.N(p.V(<br /> 00000170 70 E0 5E 28 0C 0A A8 34 FF A0 00 08 27 B1 00 C8 p.^(...4....'...<br /> 00000180 C6 20 00 00 3C 02 40 00 44 82 08 00 24 07 00 01 . ..&lt;.@.D...$...<br /> 00000190 3C 02 44 7A 0A 00 00 00 07 00 00 00 40 7D 24 00 &lt;.Dz........@}$.<br /> 000001A0 08 00 E0 03 10 00 01 3C 44 7D 24 00 00 00 00 00 .......&lt;D}$.....<br /> 000001B0 08 00 E0 03 48 7D 24 00 00 00 00 00 F0 FE 22 AC ....H}$.......&quot;.<br /> 000001C0 E0 92 2D 00 50 FF BD 27 1A 2B 0D 08 E4 92 2D 00 ..-.P..'.+....-.<br /> 000001D0 50 00 BF 7F 00 00 00 00 10 74 2C 00 F0 FE BD 27 P........t,....'<br /> 000001E0 22 2B 0D 08 14 74 2C 00 90 00 BF 7F 00 00 00 00 &quot;+...t,.........<br /> 000001F0 00 00 00 00 53 4C 55 53 2D 32 30 30 36 32 ....SLUS-20062 <br /> || 16200 (4.10+) ||<br /> 0x3D =&gt; 0x3F48 (16200)<br /> 0x19 =&gt; (sets some value 1)<br /> 0x01 =&gt; 0x348B40, 0xF<br /> 0x21 =&gt; 1<br /> 0x0B =&gt; 1<br /> 0xF6D71, (sector)<br /> 0x4EC, (offset -&gt; 0x7B6B8CE0 in iso)<br /> 0xB0, <br /> 03 E0 00 08 jr ra<br /> 00 00 00 00 nop<br /> 3C 01 00 10 lui at,0x0010<br /> 8C 21 FE F0 lw at,-0x110(at)<br /> 14 20 00 25 bnez at,+0x98<br /> 00 00 00 00 nop<br /> 27 BD FF 50 addiu sp,-0xB0<br /> 08 0B 64 B9 j +0x22C78<br /> 7F BF 00 50 sq ra,0x50(sp)<br /> 00 00 00 00 nop<br /> 34 02 00 03 li v0,0x3<br /> 34 01 00 43 li at,0x43<br /> 10 81 00 15 beq a0,at,+0x5C<br /> 34 03 00 00 li v1,0x0<br /> 34 01 00 20 li at,0x20<br /> 10 81 00 12 beq a0,at,+0x4C<br /> 34 03 00 01 li v1,0x1<br /> 34 01 00 1F li at,0x1F<br /> 10 81 00 0F beq a0,at,+0x3C<br /> 34 03 00 02 li v1,0x2<br /> 34 01 00 1D li at,0x1D<br /> 10 81 00 0C beq a0,at,+0x2C<br /> 34 03 00 03 li v1,0x3<br /> 34 02 00 02 li v0,0x2<br /> 34 01 00 39 li at,0x39<br /> 10 81 00 08 beq a0,at,+0x24<br /> 34 03 00 04 li v1,0x4<br /> 34 02 00 01 li v0,0x1<br /> 34 01 00 1A li at,0x1A<br /> 10 81 00 04 beq a0,at,+0x14<br /> 34 03 00 05 li v1,0x5<br /> 27 BD FE F0 addiu sp,-0x110<br /> 08 0B 1D 05 j +0x10D54<br /> 7F BF 00 90 sq ra,0x90(sp)<br /> 3C 01 00 10 lui at,0x0010<br /> 00 23 18 21 addu v1,at<br /> 90 79 FE E0 lbu t9,-0x120(v1)<br /> 27 39 00 01 addiu t9,0x1<br /> 03 22 08 2A slt at,t9,v0<br /> 00 01 C8 0A movz t9,zero,at<br /> 13 20 FF F6 beqz t9,-0x24<br /> A0 79 FE E0 sb t9,-0x120(v1)<br /> 03 E0 00 08 jr ra<br /> 00 00 00 00 nop<br /> 27 BD FE D0 addiu sp,-0x130<br /> 7F BF 00 B0 sq ra,0xB0(sp)<br /> 7F BE 00 A0 sq fp,0xA0(sp)<br /> 7F B7 00 90 sq s7,0x90(sp)<br /> 7F B6 00 80 sq s6,0x80(sp)<br /> 7F B5 00 70 sq s5,0x70(sp)<br /> 7F B4 00 60 sq s4,0x60(sp)<br /> 7F B3 00 50 sq s3,0x50(sp)<br /> 7F B2 00 40 sq s2,0x40(sp)<br /> 7F B1 00 30 sq s1,0x30(sp)<br /> 7F B0 00 20 sq s0,0x20(sp)<br /> E7 B7 00 1C swc1 f23,0x1C(sp)<br /> E7 B6 00 18 swc1 f22,0x18(sp)<br /> E7 B5 00 14 swc1 f21,0x14(sp)<br /> E7 B4 00 10 swc1 f20,0x10(sp)<br /> 27 B7 00 F4 addiu s7,sp,0xF4<br /> 46 00 65 06 mov.s f20,f12<br /> E7 AC 00 F0 swc1 f12,0xF0(sp)<br /> 24 07 00 01 li a3,0x1<br /> 46 00 75 86 mov.s f22,f14<br /> 27 B0 00 F8 addiu s0,sp,0xF8<br /> 46 00 7D 46 mov.s f21,f15<br /> E6 ED 00 00 swc1 f13,(s7)<br /> 3C 02 C4 7A lui v0,0xC47A<br /> AE 02 00 00 sw v0,(s0)<br /> 3C 02 44 7A lui v0,0x447A<br /> FF A0 00 00 sd zero,(sp)<br /> 44 82 60 00 mtc1 v0,f12<br /> 27 A4 00 F0 addiu a0,sp,0xF0<br /> 46 00 6D C6 mov.s f23,f13<br /> 27 A5 00 C0 addiu a1,sp,0xC0<br /> 27 A6 01 2C addiu a2,sp,0x12C<br /> 70 00 46 28 paddub t0,zero,zero<br /> 70 00 4E 28 paddub t1,zero,zero<br /> 70 00 56 28 paddub t2,zero,zero<br /> 70 E0 5E 28 paddub t3,a3,zero<br /> 0C 0A A8 34 jal -0xC5C4<br /> FF A0 00 08 sd zero,0x8(sp)<br /> 27 B1 00 C8 addiu s1,sp,0xC8<br /> C6 20 00 00 lwc1 f00,(s1)<br /> 3C 02 40 00 lui v0,0x4000<br /> 44 82 08 00 mtc1 v0,f01<br /> 24 07 00 01 li a3,0x1<br /> 3C 02 44 7A lui v0,0x447A<br /> 0x0A =&gt; 7<br /> 0x247D40, 0x03E00008 (jr ra), 0x3C010010 lui at,0x0010<br /> 0x247D44, 0x00000000 (nop), 0x03E00008 jr ra<br /> 0x247D48, 0x00000000 (nop), 0xAC22FEF0 sw v0,-0x110(at)<br /> 0x2D92E0, 0x27BDFF50 (addiu sp,-0xB0), 0x080D2B1A j pos_0034AC68<br /> 0x2D92E4, 0x7FBF0050 (sq ra,0x50(sp)), 0x00000000 nop<br /> 0x2C7410, 0x27BDFEF0 (addiu sp,-0x110), 0x080D2B22 j pos_0034AC88<br /> 0x2C7414, 0x7FBF0090 (sq ra,0x90(sp)), 0x00000000 nop<br /> |-<br /> | NPED00070 || Grand Theft Auto - San Andreas ||<br /> 00000000 3D 00 00 00 60 40 00 00 0F 00 00 00 B0 45 1E 00 =...`@.......E..<br /> 00000010 08 51 1E 00 40 00 00 00 00 00 00 00 53 4C 45 53 .Q..@.......SLES<br /> 00000020 2D 35 32 39 32 37 -52927<br /> || 16480 (4.20+) ||<br /> 0x3D =&gt; 0x4060 (16480)<br /> 0x0F =&gt; 0x1E45B0, 0x1E5108<br /> 0x40 =&gt; (sets some value 1)<br /> |-<br /> | NPUD20946 || Grand Theft Auto - San Andreas ||<br /> 00000000 3D 00 00 00 60 40 00 00 0F 00 00 00 DC 46 1E 00 =...`@.......F..<br /> 00000010 E8 4A 1E 00 40 00 00 00 00 00 00 00 53 4C 55 53 .J..@.......SLUS<br /> 00000020 2D 32 30 39 34 36 -20946<br /> || 16480 (4.20+) ||<br /> 0x3D =&gt; 0x4060 (16480)<br /> 0x0F =&gt; 0x1E46DC, 0x1E4AE8<br /> 0x40 =&gt; (sets some value 1)<br /> |-<br /> | NPJD00062 || Grandia II ||<br /> <br /> || || texture bugs<br /> <br /> |-<br /> | NPUD21604 || GRIMgRiMoiRe ||<br /> 00000000 3D 00 00 00 12 3D 00 00 15 00 00 00 04 00 00 00 =....=..........<br /> || 15634 (3.70+) ||<br /> 0x3D =&gt; 0x3D12 (15634)<br /> 0x15 =&gt; 4<br /> |-<br /> | NPJD00020 || Katamari Damacy ||<br /> 00000000 3D 00 00 00 46 40 00 00 41 00 00 00 0B 00 00 00 =...F@..A.......<br /> 00000010 01 00 00 00 29 04 00 00 40 00 00 00 04 00 00 00 ....)...@.......<br /> 00000020 00 24 77 68 00 00 00 00 00 00 00 00 53 4C 50 53 .$wh........SLPS<br /> 00000030 2D 32 35 33 36 30 -25360<br /> || 16454 (4.20+)||<br /> 0x3D =&gt; 0x4046 (16454)<br /> 0x41 =&gt; (sets some value 1, sync? - speedhack?)<br /> 0x0B =&gt; 1<br /> 0x429, (sector)<br /> 0x40, (offset -&gt; 0x214834 in iso)<br /> 0x04,<br /> 0x68772400 mfsa t6 , <br /> 0x00000000 nop<br /> |-<br /> | NPUD20847 || La Pucelle: Tactics ||<br /> 00000000 3D 00 00 00 DB 3F 00 00 0A 00 00 00 0B 00 00 00 =....?..........<br /> 00000010 40 FA 0F 00 00 00 00 00 0C 01 0A 3C 44 FA 0F 00 @..........&lt;D...<br /> 00000020 00 00 00 00 04 DE 4A 35 48 FA 0F 00 00 00 00 00 ......J5H.......<br /> 00000030 04 00 45 11 4C FA 0F 00 00 00 00 00 00 00 00 00 ..E.L...........<br /> 00000040 50 FA 0F 00 00 00 00 00 10 00 0A 8E 54 FA 0F 00 P...........T...<br /> 00000050 00 00 00 00 9A E2 04 08 58 FA 0F 00 00 00 00 00 ........X.......<br /> 00000060 14 00 0B 8E 5C FA 0F 00 00 00 00 00 9C E2 04 08 ....\...........<br /> 00000070 60 FA 0F 00 00 00 00 00 00 00 00 00 60 8A 13 00 `...........`...<br /> 00000080 10 00 0A 8E 90 FE 03 08 64 8A 13 00 14 00 0B 8E ........d.......<br /> 00000090 00 00 00 00 00 00 00 00 53 4C 55 53 2D 32 30 38 ........SLUS-208<br /> 000000A0 34 37 47 <br /> || 16347 (4.10+) || fixes blackscreen - config rebuild function/opcode from 0x138A60 by rewrite it under 0x100000 offset, and jump to it by j 0x000FFA40 (note: area under 0x100000 is unused in 99% games, but can be freely addressed).<br /> 0x3D =&gt; 0x3FDB (16347)<br /> 0x0A =&gt; 0xB<br /> 0xFFA40,0,0x3C0A010C lui t2, 0x010C<br /> 0xFFA44,0,0x354ADE04 ori t2, 0xDE04<br /> 0xFFA48,0,0x11450004 beq t2, a1, 0x000FFA5C<br /> 0xFFA4C,0,0 nop<br /> 0xFFA50,0,0x8E0A0010 lw t2, 0x10(s0)<br /> 0xFFA54,0,0x0804E29A j 0x00138A68<br /> 0xFFA58,0,0x8E0B0014 lw t3, 0x14(s0)<br /> 0xFFA5C,0,0x0804E29C j 0x00138A70<br /> 0xFFA60,0,0 nop<br /> 0x138A60,0x8E0A0010 (lw t2, 0x10(s0)),0x0803FE90 j 0x000FFA40<br /> 0x138A64,0x8E0B0014 (lw t3, 0x14(s0)),0 (nop)<br /> |-<br /> | NPUD20275 || Kessen II ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0B 00 00 00 03 00 00 00 =....=..........<br /> 00000010 10 76 00 00 BC 07 00 00 10 00 00 00 48 43 88 00 .v..........HC..<br /> 00000020 4B E5 21 AC 30 84 80 00 4B E7 2B 3C 4B E5 21 AC K.!.0...K.+&lt;K.!.<br /> 00000030 30 84 80 00 4B E7 2B 3C 48 43 88 00 64 76 00 00 0...K.+&lt;HC..dv..<br /> 00000040 10 05 00 00 0C 00 00 00 4B C0 10 9C 4B C0 18 DC ........K...K...<br /> 00000050 4A 68 03 BE 4A 68 03 BE 4B C0 10 9C 4B C0 18 DC Jh..Jh..K...K...<br /> 00000060 64 76 00 00 C8 06 00 00 0C 00 00 00 4B C0 10 9C dv..........K...<br /> 00000070 4B C0 18 DC 4A 68 03 BE 4A 68 03 BE 4B C0 10 9C K...Jh..Jh..K...<br /> 00000080 4B C0 18 DC 00 00 00 00 53 4C 55 53 2D 32 30 32 K.......SLUS-202<br /> 00000090 37 35 75 <br /> || 15753 (3.73+) || fixes spickey polygon syndrome problems for characters in cutscenes/selection/..<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0B =&gt; 3<br /> 0x7610, 0x07BC, 0x10, <br /> Patched Bytes:<br /> 0x00884348 00 88 43 48 cfc2 $v1, $17 (cfc2 v1,MACflag)<br /> 0xAC21E54B AC 21 E5 4B cop2 0x1E521AC (vsub.xyzw vf06, vf04, vf05)<br /> 0x00808430 00 80 84 30 andi $a0, 0x8000<br /> 0x3C2BE74B 3C 2B E7 4B cop2 0x1E72B3C (vmove.xyzw, vf07, vf05)<br /> Original Bytes:<br /> 0xAC21E54B AC 21 E5 4B cop2 0x1E521AC (vsub.xyzw vf06, vf04, vf05)<br /> 0x00808430 00 80 84 30 andi $a0, 0x8000<br /> 0x3C2BE74B 3C 2B E7 4B cop2 0x1E72B3C (vmove.xyzw, vf07, vf05)<br /> 0x00884348 00 88 43 48 cfc2 $v1, $17 (cfc2 v1,MACflag)<br /> 0x7664, 0x0510, 0x0C,<br /> Patched Bytes:<br /> 0x9C10C04B 9C 10 C0 4B cop2 0x1C0109C (vmulq.xyz vf02,vf02,Q)<br /> 0xDC18C04B DC 18 C0 4B cop2 0x1C018DC (vmulq.xyz vf03,vf03,Q)<br /> 0xBE03684A BE 03 68 4A cop2 0x6803BE (vrsqrt Q, vf00w, vf08x)<br /> Original Bytes:<br /> 0xBE03684A BE 03 68 4A cop2 0x6803BE (vrsqrt Q, vf00w, vf08x)<br /> 0x9C10C04B 9C 10 C0 4B cop2 0x1C0109C (vmulq.xyz vf02,vf02,Q)<br /> 0xDC18C04B DC 18 C0 4B cop2 0x1C018DC (vmulq.xyz vf03,vf03,Q)<br /> 0x7664, 0x06C8, 0x0C, <br /> Patched Bytes:<br /> 0x9C10C04B 9C 10 C0 4B cop2 0x1C0109C (vmulq.xyz vf02,vf02,Q)<br /> 0xDC18C04B DC 18 C0 4B cop2 0x1C018DC (vmulq.xyz vf03,vf03,Q)<br /> 0xBE03684A BE 03 68 4A cop2 0x6803BE (vrsqrt Q, vf00w, vf08x)<br /> Original Bytes:<br /> 0xBE03684A BE 03 68 4A cop2 0x6803BE (vrsqrt Q, vf00w, vf08x)<br /> 0x9C10C04B 9C 10 C0 4B cop2 0x1C0109C (vmulq.xyz vf02,vf02,Q)<br /> 0xDC18C04B DC 18 C0 4B cop2 0x1C018DC (vmulq.xyz vf03,vf03,Q)<br /> |-<br /> | NPJD00040 || Mana Khemia 2 ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 53 4C 50 4D 2D 35 35 31 ........SLPM-551<br /> 00000020 31 34 14<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> |-<br /> | NPUD20827 || Manhunt ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0A 00 00 00 0F 00 00 00 =....=..........<br /> 00000010 A0 FF 0F 00 00 00 00 00 2D 68 A0 00 A4 FF 0F 00 ........-h......<br /> 00000020 00 00 00 00 14 00 AE 8D A8 FF 0F 00 00 00 00 00 ................<br /> 00000030 10 00 AC 8D AC FF 0F 00 00 00 00 00 50 00 AF 8D ............P...<br /> 00000040 B0 FF 0F 00 00 00 00 00 08 00 8F 15 B4 FF 0F 00 ................<br /> 00000050 00 00 00 00 54 00 AB 8D B8 FF 0F 00 00 00 00 00 ....T...........<br /> 00000060 06 00 CB 15 BC FF 0F 00 00 00 00 00 00 80 8F 25 ...............%<br /> 00000070 C0 FF 0F 00 00 00 00 00 00 80 CE 25 C4 FF 0F 00 ...........%....<br /> 00000080 00 00 00 00 54 00 AE AD C8 FF 0F 00 00 00 00 00 ....T...........<br /> 00000090 50 00 AF AD CC FF 0F 00 00 00 00 00 10 00 AF AD P...............<br /> 000000A0 D0 FF 0F 00 00 00 00 00 14 00 AE AD D4 FF 0F 00 ................<br /> 000000B0 00 00 00 00 04 68 10 08 D8 FF 0F 00 00 00 00 00 .....h..........<br /> 000000C0 5F 00 03 3C 0B 00 00 00 01 00 00 00 22 0D 00 00 _..&lt;........&quot;...<br /> 000000D0 14 01 00 00 08 00 00 00 08 03 FF E8 27 BD FF F0 ............'...<br /> 000000E0 3C 03 00 5F 27 BD FF F0 00 00 00 00 53 4C 55 53 &lt;.._'.......SLUS<br /> 000000F0 2D 32 30 38 32 37 -20827<br /> || 15753 (3.73+) || fixes graphical issues<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0A =&gt; 0x0F<br /> 0xFFFA0,0, 0x00A0682D 2D 68 A0 00 dmove t5,a1<br /> 0xFFFA4,0, 0x8DAE0014 14 00 AE 8D lw t6,0x14(t5)<br /> 0xFFFA8,0, 0x8DAC0010 10 00 AC 8D lw t4,0x10(t5)<br /> 0xFFFAC,0, 0x8DAF0050 50 00 AF 8D lw t7,0x50(t5)<br /> 0xFFFB0,0, 0x158F0008 08 00 8F 15 bne t4,t7,pos_000FFFD4<br /> 0xFFFB4,0, 0x8DAB0054 54 00 AB 8D lw t3,0x54(t5)<br /> 0xFFFB8,0, 0x15CB0006 06 00 CB 15 bne t6,t3,pos_000FFFD4<br /> 0xFFFBC,0, 0x258F8000 00 80 8F 25 addiu t7,t4,-0x8000<br /> 0xFFFC0,0, 0x25CE8000 00 80 CE 25 addiu t6,-0x8000<br /> 0xFFFC4,0, 0xADAE0054 54 00 AE AD sw t6,0x54(t5)<br /> 0xFFFC8,0, 0xADAF0050 50 00 AF AD sw t7,0x50(t5)<br /> 0xFFFCC,0, 0xADAF0010 10 00 AF AD sw t7,0x10(t5)<br /> 0xFFFD0,0, 0xADAE0014 14 00 AE AD sw t6,0x14(t5)<br /> 0xFFFD4,0, 0x08106804 04 68 10 08 j pos_0041A010<br /> 0xFFFD8,0, 0x3C03005F 5F 00 03 3C lui v1,0x005F<br /> 0x0B =&gt; 1<br /> 0xD22, (disc sector)<br /> 0x114, (offset -&gt; 0x691108 in iso)<br /> 0x08,<br /> 0x0803FFE8 E8 FF 03 08 j pos_000FFFA0<br /> 0x27BDFFF0 F0 FF BD 27 addiu sp,-0x10<br /> 0x3C03005F 5F 00 03 3C lui v1,0x005F<br /> 0x27BDFFF0 F0 FF BD 27 addiu sp,-0x10<br /> &lt;pre&gt;<br /> z_un_0041a008:<br /> <br /> lui v1,0x005F &lt;- gets overwritten<br /> addiu sp,-0x10<br /> lw v0,-0x5C14(v1)<br /> sd ra,(sp)<br /> jalr v0<br /> nop <br /> ld ra,(sp)<br /> jr ra<br /> addiu sp,0x10<br /> nop <br /> &lt;/pre&gt;<br /> |-<br /> | NPED00145 || Max Payne ||<br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 F4 E9 52 00 =....=........R.<br /> 00000010 03 00 00 00 01 00 00 00 78 EB 52 00 02 00 00 00 ........x.R.....<br /> 00000020 00 00 00 00 53 4C 45 53 2D 35 30 33 32 35 ....SLES-50325<br /> || 15753 (3.73+) || fixes game hang on first cutscene/cutscenes<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x01 =&gt; 0x52E9F4, 3 (applies to main_p.run ELF on disc: 0x52E9F4 dmove a1,v0 )<br /> 0x01 =&gt; 0x52EB78, 2 (applies to main_p.run ELF on disc: 0x52EB78 lq s1,0x10(sp) )<br /> |-<br /> | NPED00055 || MX World Tour: Featuring Jamie Little ||<br /> <br /> || || blackscreen<br /> <br /> |-<br /> | NPUD21577 || Odin Sphere ||<br /> 00000000 3D 00 00 00 10 3D 00 00 0B 00 00 00 02 00 00 00 =....=..........<br /> 00000010 52 04 00 00 F8 03 00 00 04 00 00 00 2D 02 49 0C R...........-.I.<br /> 00000020 2D 02 49 14 52 04 00 00 70 04 00 00 04 00 00 00 -.I.R...p.......<br /> 00000030 2D 03 49 0C 2D 03 49 14 15 00 00 00 04 00 00 00 -.I.-.I.........<br /> || 15632 (3.70+) ||<br /> 0x3D =&gt; 0x3D10 (15632)<br /> 0x0B =&gt; 2<br /> 0x452, (sector)<br /> 0x3F8, (offset -&gt; 0x2293EC in iso)<br /> 0x04,<br /> 0x0C49022D sltiu v0,t0,0x490C,<br /> 0x1449022D sltiu v0,t0,0x4914,<br /> 0x452, (sector)<br /> 0x470, (offset -&gt; 0x229464 in iso)<br /> 0x04,<br /> 0x0C49032D sltiu v1,t0,0x490C,<br /> 0x1449032D sltiu v1,t0,0x4914<br /> 0x15 =&gt; 4<br /> |-<br /> | NPJD00028 || Phantasy Star Complete Collection ||<br /> 00000000 3D 00 00 00 B8 41 00 00 45 00 00 00 00 00 00 00 =....A..E.......<br /> 00000010 53 4C 50 4D 2D 36 32 37 37 35 SLPM-62775<br /> || 16824 (4.40+)||<br /> 0x3D =&gt; 0x41B8 (16824)<br /> 0x45 =&gt; (sets some value 1)<br /> |-<br /> | NPUC97142 || Primal ||<br /> 00000000 3D 00 00 00 65 3D 00 00 12 00 00 00 0D 00 00 00 =...e=..........<br /> 00000010 00 00 00 04 00 00 00 00 02 00 03 00 5F 01 00 00 ............_...<br /> 00000020 8D BD 6F 2C 67 03 00 00 02 00 03 00 6B 01 00 00 ..o,g.......k...<br /> 00000030 31 35 70 E9 72 03 00 00 03 00 02 00 60 9B 39 10 15p.r.......`.9.<br /> 00000040 18 9C 39 10 0B 00 00 00 01 00 00 00 47 07 00 00 ..9.........G...<br /> 00000050 6C 04 00 00 04 00 00 00 80 5F 03 3C 80 00 03 3C l........_.&lt;...&lt;<br /> || 15717 (3.73+) || fixes loading screen freezing<br /> 0x3D =&gt; 0x3D65 (15717)<br /> 0x12 =&gt; 0x0D, (fixes freezing)<br /> 00 00 00 04 0x04000000 (64 MB?)<br /> 00 00 00 00 <br /> 02 00&gt;'''03 00'''&lt; Count, Type 2<br /> 5F 01 00 00 0x15F<br /> 8D BD 6F 2C 0x2C6FBD8D<br /> 67 03 00 00 0x367<br /> 02 00&gt;'''03 00'''&lt; Count, Type 2<br /> 6B 01 00 00 0x16B<br /> 31 35 70 E9 0xE9703531<br /> 72 03 00 00 0x372<br /> 03 00&gt;'''02 00'''&lt; Count<br /> 60 9B 39 10 -&gt; 0x399B60 ctc2 $zero, $5<br /> 18 9C 39 10 -&gt; 0x399C18 ctc2 $zero, $5<br /> 0x0B =&gt; 1<br /> 0x747, (disc sector)<br /> 0x46C, (offset -&gt; 0x3A3C60 - this patch is for another (hidden) .elf (.vutext) on disc) <br /> 0x04,<br /> 0x3C035F80 lui v1,0x5F80,<br /> 0x3C030080 lui v1,0x0080<br /> |-<br /> | NPUD21120 || Psychonauts ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0B 00 00 00 01 00 00 00 =....=..........<br /> 00000010 12 01 00 00 58 00 00 00 04 00 00 00 00 00 00 00 ....X...........<br /> 00000020 11 CF FF F9 00 00 00 00 53 4C 55 53 2D 32 31 31 ........SLUS-211<br /> 00000030 32 30 20<br /> || 15753 (3.73+) || <br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0B =&gt; 1<br /> 0x112, (sector)<br /> 0x58, (offset -&gt; 0x8904C in iso)<br /> 0x04,<br /> 0x00000000 nop, <br /> 0xF9FFCF11 beq t6,t7,-0x18<br /> |-<br /> | NPUD20272 || Rayman Arena||<br /> 00000000 3D 00 00 00 89 3D 00 00 12 00 00 00 11 00 00 00 =....=..........<br /> 00000010 00 00 00 04 00 00 00 00 02 00 04 00 00 00 00 00 ................<br /> 00000020 AE B3 4E 5D 20 02 00 00 46 02 00 00 03 00 09 00 ..N] ...F.......<br /> 00000030 B0 E9 1D 10 94 EB 1D 10 00 EC 1D 10 54 EC 1D 10 ............T...<br /> 00000040 A0 EE 1D 10 DC EE 1D 10 78 F0 1D 10 B4 F0 1D 10 ........x.......<br /> 00000050 54 F1 1D 10 00 00 00 00 53 4C 55 53 2D 32 30 32 T.......SLUS-202<br /> 00000060 37 32 72 <br /> || 15753 (3.73+) || <br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x12 =&gt; 0x11<br /> 00 00 00 04 <br /> 00 00 00 00 <br /> 02 00&gt;'''04 00'''&lt; Count<br /> 00 00 00 00 <br /> AE B3 4E 5D <br /> 20 02 00 00 <br /> 46 02 00 00 <br /> 03 00&gt;'''09 00'''&lt; Count<br /> B0 E9 1D 10 -&gt; 0x1DE9B0 ctc2 $t0, $6<br /> 94 EB 1D 10 -&gt; 0x1DEB94 ctc2 $t0, $6<br /> 00 EC 1D 10 -&gt; 0x1DEC00 ctc2 $t0, $6<br /> 54 EC 1D 10 -&gt; 0x1DEC54 ctc2 $t0, $6<br /> A0 EE 1D 10 -&gt; 0x1DEEA0 ctc2 $t0, $6<br /> DC EE 1D 10 -&gt; 0x1DEEDC ctc2 $t0, $6<br /> 78 F0 1D 10 -&gt; 0x1DF078 ctc2 $t0, $6<br /> B4 F0 1D 10 -&gt; 0x1DF0B4 ctc2 $t0, $6<br /> 54 F1 1D 10 -&gt; 0x1DF154 ctc2 $t0, $6<br /> |-<br /> | NPJD00079 || Raw Danger! ||<br /> <br /> || || fps problem<br /> <br /> |-<br /> | NPUD20442 || Red Faction 2 ||<br /> 00000000 3D 00 00 00 42 3F 00 00 19 00 00 00 00 00 00 00 =...B?..........<br /> 00000010 53 4C 55 53 2D 32 30 34 34 32 SLUS-20442<br /> || 16194 (4.00+) || <br /> 0x3D =&gt; 0x3F42 (16194)<br /> 0x19 =&gt; (sets some value 1)<br /> |-<br /> | NPUD20471 || Rygar ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0E 00 00 00 A8 7D 14 00 =....=.......}..<br /> 00000010 00 00 00 00 53 4C 55 53 2D 32 30 34 37 31 ....SLUS-20471<br /> || 15753 (3.73+) || fixes hard crash at start when leaving the place<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0E =&gt; 0x147DA8 (offset)<br /> <br /> .text:00147DA8 sub.s $f12, $f20, $f12<br /> |-<br /> | NPUD20974 || Shin Megami Tensei Digital Devil Saga 1|| <br /> 00000000 3D 00 00 00 EC 42 00 00 46 00 00 00 48 00 00 00 =....B..F...H...<br /> 00000010 01 00 00 00 90 D0 03 00 00 00 00 00 53 4C 55 53 ............SLUS<br /> 00000020 2D 32 30 39 37 34 -20974<br /> || 17132 (4.50+) || fixes screen shakes/framerate cracks<br /> 0x3D =&gt; 0x42EC (17132)<br /> 0x46 =&gt; (sets some value 1)<br /> 0x48 =&gt; 0x1 , 0x3D090<br /> |-<br /> | NPUD20911 || Shin Megami Tensei Nocturne || <br /> 00000000 3D 00 00 00 F6 41 00 00 46 00 00 00 00 00 00 00 =....A..F.......<br /> 00000010 53 4C 55 53 2D 32 30 39 31 31 SLUS-20911<br /> || 16886 (4.40+) || fixes screen shakes/flickers (and much more importantly, game crashes)<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x46 =&gt; (sets some value 1)<br /> |-<br /> | NPUD21621 || Shin Megami Tensei Persona 3 FES ||<br /> 00000000 3D 00 00 00 48 41 00 00 0A 00 00 00 20 00 00 00 =...HA...... ...<br /> 00000010 00 FA 0F 00 00 00 00 00 E0 00 A4 8F 04 FA 0F 00 .·......Ó.ñÅ.·..<br /> 00000020 00 00 00 00 6C 01 03 24 08 FA 0F 00 00 00 00 00 ....l..$.·......<br /> 00000030 0A 00 83 14 0C FA 0F 00 00 00 00 00 FF 00 04 24 ..â..·...... ..$<br /> 00000040 10 FA 0F 00 00 00 00 00 B8 26 04 00 14 FA 0F 00 .·......©&amp;...·..<br /> 00000050 00 00 00 00 27 20 84 00 18 FA 0F 00 00 00 00 00 ....' ä..·......<br /> 00000060 D0 00 A3 DF 1C FA 0F 00 00 00 00 00 24 18 83 00 ð.ú¯.·......$.â.<br /> 00000070 20 FA 0F 00 00 00 00 00 0B 00 63 64 24 FA 0F 00 ·........cd$·..<br /> 00000080 00 00 00 00 33 00 04 24 28 FA 0F 00 00 00 00 00 ....3..$(·......<br /> 00000090 B8 26 04 00 2C FA 0F 00 00 00 00 00 25 18 83 00 ©&amp;..,·......%.â.<br /> 000000A0 30 FA 0F 00 00 00 00 00 D0 00 A3 FF 34 FA 0F 00 0·......ð.ú 4·..<br /> 000000B0 00 00 00 00 E1 B3 11 08 38 FA 0F 00 00 00 00 00 ....ߦ..8·......<br /> 000000C0 50 00 64 8E 7C CF 46 00 50 00 64 8E 80 FE 03 08 P.dÄ|¤F.P.dÄǦ..<br /> 000000D0 40 FA 0F 00 00 00 00 00 00 3C 04 3C 44 FA 0F 00 @·.......&lt;.&lt;D·..<br /> 000000E0 00 00 00 00 18 3F 05 3C 48 FA 0F 00 00 00 00 00 .....?.&lt;H·......<br /> 000000F0 20 00 24 AE 4C FA 0F 00 00 00 00 00 24 00 24 AE .$«L·......$.$«<br /> 00000100 50 FA 0F 00 00 00 00 00 60 00 25 AE 54 FA 0F 00 P·......`.%«T·..<br /> 00000110 00 00 00 00 64 00 24 AE 58 FA 0F 00 00 00 00 00 ....d.$«X·......<br /> 00000120 A0 00 24 AE 5C FA 0F 00 00 00 00 00 A4 00 25 AE á.$«\·......ñ.%«<br /> 00000130 60 FA 0F 00 00 00 00 00 E0 00 25 AE 64 FA 0F 00 `·......Ó.%«d·..<br /> 00000140 00 00 00 00 E4 00 25 AE 68 FA 0F 00 00 00 00 00 ....õ.%«h·......<br /> 00000150 04 00 04 24 6C FA 0F 00 00 00 00 00 39 9B 10 08 ...$l·......9ø..<br /> 00000160 70 FA 0F 00 00 00 00 00 10 00 25 26 DC 6C 42 00 p·........%&amp;_lB.<br /> 00000170 04 00 04 24 90 FE 03 08 E0 6C 42 00 10 00 25 26 ...$ɦ..ÓlB...%&amp;<br /> 00000180 00 00 00 00 30 6A 4C 00 80 3F 02 3C 7F 3F 02 3C ....0jL.Ç?.&lt;?.&lt;<br /> 00000190 21 00 00 00 00 00 00 00 15 00 00 00 04 00 00 00 !...............<br /> 000001A0 00 00 00 00 53 4C 55 53 2D 32 31 36 32 31 ....SLUS-21621<br /> || 16712 (4.25+)||<br /> 0x3D =&gt; 0x4148 (16712)<br /> 0x0A =&gt; 0x20<br /> 0xFFA00,0,0x8FA400E0 lw a0,0xE0(sp)<br /> 0xFFA04,0,0x2403016C li v1,0x16C<br /> 0xFFA08,0,0x1483000A bne a0,v1,pos_000FFA34<br /> 0xFFA0C,0,0x240400FF li a0,0xFF<br /> 0xFFA10,0,0x000426B8 dsll a0,0x1A<br /> 0xFFA14,0,0x00842027 nor a0,a0<br /> 0xFFA18,0,0xDFA300D0 ld v1,0xD0(sp)<br /> 0xFFA1C,0,0x00831824 and v1,a0,v1<br /> 0xFFA20,0,0x6463000B daddiu v1,0x000B<br /> 0xFFA24,0,0x24040030 li a0,0x30<br /> 0xFFA28,0,0x000426B8 dsll a0,0x1A<br /> 0xFFA2C,0,0x00831825 or v1,a0,v1<br /> 0xFFA30,0,0xFFA300D0 sd v1,0xD0(sp)<br /> 0xFFA34,0,0x0811B3E1 j pos_0046CF84<br /> 0xFFA38,0,0x8E640050 lw a0,0x50(s3)<br /> 0x46CF7C,0x8E640050 (lw a0,0x50(s3),0x0803FE80 j pos_000FFA00<br /> 0xFFA40,0,0x3C043C00 lui a0,0x3C00<br /> 0xFFA44,0,0x3C053F18 lui a1,0x3F18<br /> 0xFFA48,0,0xAE240020 sw a0,0x20(s1)<br /> 0xFFA4C,0,0xAE240024 sw a0,0x24(s1)<br /> 0xFFA50,0,0xAE250060 sw a1,0x60(s1)<br /> 0xFFA54,0,0xAE240064 sw a0,0x64(s1)<br /> 0xFFA58,0,0xAE2400A0 sw a0,0xA0(s1)<br /> 0xFFA5C,0,0xAE2500A4 sw a1,0xA4(s1)<br /> 0xFFA60,0,0xAE2500E0 sw a1,0xE0(s1)<br /> 0xFFA64,0,0xAE2500E4 sw a1,0xE4(s1)<br /> 0xFFA68,0,0x24040004 li a0,0x4<br /> 0xFFA6C,0,0x08109B39 j pos_00426CE4<br /> 0xFFA70,0,0x26250010 addiu a1,s1,0x10<br /> 0x426CDC,0x24040004(li a0,0x4),0x0803FE90 j pos_000FFA40<br /> 0x426CE0,0x26250010(addiu a1,s1,0x10),0 nop<br /> 0x4C6A30,0x3C023F80(lui v0,0x3F80),0x3C023F7F lui v0,0x3F7F<br /> 0x21 =&gt; 0<br /> 0x15 =&gt; 4<br /> |-<br /> | NPUD21782 || Shin Megami Tensei Persona 4 || <br /> 00000000 3D 00 00 00 89 3D 00 00 0A 00 00 00 01 00 00 00 =....=..........<br /> 00000010 60 9C 18 00 80 3F 02 3C 7F 3F 02 3C 00 00 00 00 `....?.&lt;.?.&lt;....<br /> 00000020 53 4C 55 53 2D 32 31 37 38 32 SLUS-21782<br /> || 15753 (3.73+) || Dungeon name in the corner is glitched (shows black bar).<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0A =&gt; 1<br /> 0x189C60, 0x3C023F80 lui v0,0x3F80 <br /> 0x3C023F7F lui v0,0x3F7F<br /> |-<br /> | NPUC97355 || Siren ||<br /> 00000000 3D 00 00 00 15 41 00 00 19 00 00 00 00 00 00 00 =....A..........<br /> 00000010 53 43 55 53 2D 39 37 33 35 35 SCUS-97355<br /> || 16661 (4.25+)|| <br /> 0x3D =&gt; 0x4115 (16661)<br /> 0x19 =&gt; (sets some value 1)<br /> |-<br /> | NPED00272 || Summoner ||<br /> 00000000 3D 00 00 00 89 3D 00 00 2C 00 00 00 01 00 00 00 =....=..,.......<br /> 00000010 00 00 00 00 53 4C 45 53 2D 38 32 30 30 35 ....SLES-82005 <br /> || 15753 (3.73+) || fixes blackscreen<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x2C =&gt; 0x1<br /> |-<br /> | NPUC97264 || Syphon Filter The Omega Strain || <br /> 00000000 3D 00 00 00 1F 40 00 00 12 00 00 00 05 00 00 00 =....@..........<br /> 00000010 00 00 00 00 00 00 00 00 01 00 02 00 31 00 99 18 ............1...<br /> 00000020 32 00 B6 18 0B 00 00 00 01 00 00 00 F5 05 00 00 2...............<br /> 00000030 8C 02 00 00 04 00 00 00 00 00 00 00 0C 0D C1 54 ...............T<br /> 00000040 0A 00 00 00 0B 00 00 00 F8 35 37 00 1B 52 06 4B .........57..R.K<br /> 00000050 00 80 43 48 FC 35 37 00 00 80 43 48 1B 52 06 4B ..CH.57...CH.R.K<br /> 00000060 EC 6F 3A 00 00 00 00 00 00 00 11 64 F8 6F 3A 00 .o:........d.o:.<br /> 00000070 78 A1 0E 0C 80 FE 03 0C 00 FA 0F 00 00 00 00 00 x...............<br /> 00000080 02 00 08 3C 04 FA 0F 00 00 00 00 00 2B 40 28 02 ...&lt;........+@(.<br /> 00000090 08 FA 0F 00 00 00 00 00 02 00 00 15 0C FA 0F 00 ................<br /> 000000A0 00 00 00 00 54 00 01 3C 10 FA 0F 00 00 00 00 00 ....T..&lt;........<br /> 000000B0 00 28 20 AC 14 FA 0F 00 00 00 00 00 78 A1 0E 08 .( .........x...<br /> 000000C0 18 FA 0F 00 00 00 00 00 01 00 31 26 00 00 00 00 ..........1&amp;....<br /> 000000D0 53 43 55 53 2D 39 37 32 36 34 SCUS-97264<br /> || 16415 (4.20+)|| fixes texture bugs<br /> 0x3D =&gt; 0x401F (16415)<br /> 0x12 =&gt; 0x5 <br /> 00 00 00 00 <br /> 00 00 00 00 <br /> 01 00&gt;'''02 00'''&lt; Count<br /> 31 00 99 18 -&gt; 0x18990<br /> 32 00 B6 18 -&gt; 0x18B60<br /> 0x0B =&gt; 1<br /> 0x5F5, (sector)<br /> 0x28C, (offset -&gt; 0x2FAA80 in iso)<br /> 0x04,<br /> 0x00000000 (nop), <br /> 0x54C10D0C (jal sub_370550)<br /> 0x0A =&gt; 0xB<br /> 0x3735F8, 0x4B06521B (cop2 0x106521B, vmulw.x vf08,vf10,vf06w), 0x48438000 cfc2 v1,Status<br /> 0x3735FC, 0x48438000 (cfc2 v1,Status), 0x4B06521B cop2 0x106521B (vmulw.x vf08,vf10,vf06w)<br /> 0x3A6FEC, 0 (nop), 0x64110000 li $s1, 0<br /> 0x3A6FF8, 0x0C0EA178 (jal pos_003A85E0), 0x0c03FE80 jal pos_000FFA00<br /> 0xFFA00, 0 (nop), 0x3C080002 lui t0,0x0002<br /> 0xFFA04, 0 (nop), 0x0228402B sltu t0,s1,t0<br /> 0xFFA08, 0 (nop), 0x15000002 bnez t0,pos_000FFA14<br /> 0xFFA0C, 0 (nop), 0x3C010054 lui at,0x0054<br /> 0xFFA10, 0 (nop), 0xAC202800 sw zero,0x2800(at)<br /> 0xFFA14, 0 (nop), 0x080EA178 j pos_003A85E0<br /> 0xFFA18, 0 (nop), 0x26310001 addiu s1,0x1<br /> |-<br /> | NPJD00080 || Zettaizetsumei Toshi (Disaster Report) ||<br /> 00000000 3D 00 00 00 26 44 00 00 44 00 00 00 00 00 00 00 =...&amp;D..D.......<br /> 00000010 53 4C 50 53 2D 32 35 31 31 33 SLPS-25113<br /> || 17446 (4.78)|| <br /> 0x3D =&gt; 0x4426 (17446)<br /> 0x44 =&gt; (disables smoothing and smoothing option)<br /> |}<br /> <br /> ====Unofficial====<br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! ID !! Title !! Config Data !! Revision !! Notes<br /> |-<br /> | ALL || .hack\\infection Part 1 || <br /> 00000000 3D 00 00 00 89 3D 00 00 08 00 00 00 FF FF FF FF =....=..........<br /> 00000010 FF FF FF FF 8D 94 11 01 FC 0E 00 80 FF FF FF FF ................<br /> 00000020 FF FF FF FF 8D 94 11 01 03 02 03 10 08 00 00 00 ................<br /> 00000030 FF FF FF FF FF FF FF FF 40 A7 E0 01 3C 03 00 80 ........@...&lt;...<br /> 00000040 FF FF FF FF FF FF FF FF 40 A7 E1 01 FC 1E 00 80 ........@.......<br /> 00000050 00 00 00 00 ....<br /> || 15753 (3.73+) || fix freeze<br /> <br /> |-<br /> | SLUS-21268 || 24 The Game ||<br /> 00000000 3D 00 00 00 65 3D 00 00 12 00 00 00 0D 00 00 00 =...e=..........<br /> 00000010 00 00 00 04 00 00 00 00 02 00 03 00 E7 00 00 00 ................<br /> 00000020 45 AD 6E AA EF 02 00 00 02 00 03 00 F3 00 00 00 E.n.............<br /> 00000030 E4 A0 6E 47 FA 02 00 00 03 00 02 00 B0 55 41 10 ..nG.........UA.<br /> 00000040 68 56 41 10 00 00 00 00 hVA..... <br /> <br /> || 15717 (3.73+) || fixes loading screen freezing<br /> 0x3D =&gt; 0x3D65 (15717)<br /> 0x12 =&gt; 0x0D, <br /> 00 00 00 04 <br /> 00 00 00 00 <br /> 02 00&gt;'''03 00'''&lt; Count, Type 2<br /> E7 00 00 00 <br /> 45 AD 6E AA <br /> EF 02 00 00 <br /> 02 00&gt;'''03 00'''&lt; Count, Type 2<br /> F3 00 00 00 <br /> E4 A0 6E 47 <br /> FA 02 00 00 <br /> 03 00&gt;'''02 00'''&lt; Count, Type 3<br /> B0 55 41 10 -&gt; 0x4155B0<br /> 68 56 41 10 -&gt; 0x415668 <br /> <br /> |-<br /> | SCES-50885 || Ape Escape 2 || <br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 01 00 00 00 =...WD..........<br /> 00000010 E0 E0 34 00 16 00 40 14 00 00 00 00 00 00 00 00 ŕŕ4...@.........<br /> || 17495 (4.78+) || Force game to not create Mipmaps. Fix flickering textures completely. <br /> <br /> |-<br /> | SLUS-21165 || Arc the Lad End of Darkness ||<br /> 00000000 3D 00 00 00 60 40 00 00 0F 00 00 00 B8 DD 26 00 =...`@........&amp;.<br /> 00000010 AC FE 26 00 00 00 00 00 ..&amp;..... <br /> || 15634 (3.70+) || fixes not displaying/freezing dialogs<br /> 0x3D =&gt; 0x3D12 (15634)<br /> 0x0F =&gt; 0x26DDB8, 0x26FEAC<br /> |-<br /> | SLUS-21445 || Ar Tonelico - Melody of Elemia ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> |-<br /> | SLUS-21788 || Ar tonelico II - Melody of Metafalica ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | || Atelier Iris ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | || Atelier Iris 2 ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | || Atelier Iris 3 ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | SLES-50672/SLUS-20035 || Baldur's Gate - Dark Alliance || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly (see: [https://www.dropbox.com/s/92n81uot56czb5v/Datei%2018.08.17%2011%2011%2029.jpeg?dl=0] )<br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> |-<br /> | || Baldur's Gate 2 || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | || Bard's Tale || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | SLES-51044 / SLES-52968 || Burnout 2: POI || <br /> 00000000 3D 00 00 00 46 40 00 00 0A 00 00 00 05 00 00 00 =...F@..........<br /> 00000010 B8 85 24 00 18 0D 80 C6 16 43 01 3C CC 85 24 00 ¸…$...€Ć.C.&lt;Ě…$.<br /> 00000020 00 00 40 E4 00 00 41 AC 04 26 26 00 80 97 80 C7 ..@ä..A¬.&amp;&amp;.€—€Ç<br /> 00000030 16 43 01 3C 18 26 26 00 00 00 40 E4 00 00 41 AC .C.&lt;.&amp;&amp;...@ä..A¬<br /> 00000040 B8 64 25 00 64 97 82 8F 00 00 02 24 00 00 00 00 ¸d%.d—‚Ź...$....<br /> || 16454 ||<br /> Fixes all white rendered textures/shadows (Big thanks to Maori-Jigglypuff for patch code! )<br /> 0x3D =&gt; 0x4046 (16454)<br /> 0x0A =&gt; 0x5 (5 Patches to EE memory)<br /> // Remove the whitish Car-Parts from the Racer Cars<br /> // [Control Address and Value: 2039917C 43160000]<br /> 0x2485B8, 0xC6800D18 (lwc1 $f0, 0xD18(s4)), 0x3C014316 (lui at, 0x4316)<br /> 0x2485СС, 0xE4400000 (swc1 $f0, 0(v0)), 0xAC410000 (sw at, 0(v0))<br /> <br /> // Remove the whitish Car-Parts from the Traffic Cars<br /> 0x262604, 0xC7809780 (lwc1 $f0, 0x9780(gp)), 0x3C014316 (lui at, 0x4316)<br /> 0x262618, 0xE4400000 (swc1 $f0, 0(v0)), 0xAC410000 (sw at, 0(v0))<br /> <br /> // Remove whitish Reflections on Anything!!!<br /> // (on Buildings, Bridges, Streets)<br /> 0x2564B8, 0x8F829764 (lw v0, 0x9764(gp)), 0x24020000 (li v0, 0)<br /> <br /> |-<br /> | SLUS-20497 || Burnout 2: POI || <br /> 00000000 3D 00 00 00 46 40 00 00 0A 00 00 00 05 00 00 00<br /> 00000010 A8 85 24 00 18 0D 80 C6 16 43 01 3C BC 85 24 00<br /> 00000020 00 00 40 E4 00 00 41 AC F4 25 26 00 80 97 80 C7<br /> 00000030 16 43 01 3C 08 26 26 00 00 00 40 E4 00 00 41 AC<br /> 00000040 A8 64 25 00 64 97 82 8F 00 00 02 24 00 00 00 00<br /> || 16454 ||<br /> Fixes all white rendered textures/shadows (Big thanks to Maori-Jigglypuff for patch code! )<br /> 0x3D =&gt; 0x4046 (16454)<br /> 0x0A =&gt; 0x5 (5 Patches to EE memory)<br /> // Remove the whitish Car-Parts from the Racer Cars<br /> // [Control Address and Value: 2039917C 43160000]<br /> 0x2485A8, 0xC6800D18 (lwc1 $f0, 0xD18(s4)), 0x3C014316 (lui at, 0x4316)<br /> 0x2485bc, 0xE4400000 (swc1 $f0, 0(v0)), 0xAC410000 (sw at, 0(v0))<br /> <br /> // Remove the whitish Car-Parts from the Traffic Cars<br /> 0x2625F4, 0xC7809780 (lwc1 $f0, 0x9780(gp)), 0x3C014316 (lui at, 0x4316)<br /> 0x262608, 0xE4400000 (swc1 $f0, 0(v0)), 0xAC410000 (sw at, 0(v0))<br /> <br /> // Remove whitish Reflections on Anything!!!<br /> // (on Buildings, Bridges, Streets)<br /> 0x2564A8, 0x8F829764 (lw v0, 0x9764(gp)), 0x24020000 (li v0, 0)<br /> <br /> |-<br /> | SLUS-21168/SLES-53755/SLPM-66175/SLKA-25328 || Castlevania: Curse of Darkness ||<br /> 00000000 3D 00 00 00 89 3D 00 00 08 00 00 00 00 00 00 80 =....=..........<br /> 00000010 FF FF FF FF 00 00 00 80 00 80 FF FF 00 00 00 80 ................<br /> 00000020 FF FF FF FF 00 00 00 80 01 80 FF FF 00 00 00 00 ................<br /> || || fixes Graphic issues with Spiky Polygons (PCSX2 workaround VU clamping mode none) <br /> <br /> |-<br /> | || Champions of Norath || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | || Champions Return to Arms || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | SLUS-21574 || Dawn of Mana || <br /> 00000000 3D 00 00 00 65 3D 00 00 12 00 00 00 04 00 00 00 =...e=..........<br /> 00000010 00 00 00 00 00 00 00 00 01 00 01 00 0C 00 DF 0D ................<br /> 00000020 00 00 00 00 ....<br /> || 15717 (3.70+) ||<br /> fix? (untested)<br /> 0x3D =&gt; 0x3D65 (15717)<br /> 0x12 =&gt; 0x04, <br /> 00 00 00 00 <br /> 00 00 00 00 <br /> 01 00&gt;01 00&lt; Count, Type 1<br /> 0C 00 DF 0D <br /> <br /> |-<br /> | SCUS-97146 || Disney's Treasure Planet ||<br /> 00000000 3D 00 00 00 F0 42 00 00 0B 00 00 00 01 00 00 00 =...đB..........<br /> 00000010 7C 14 00 00 80 05 00 00 18 00 00 00 3C 01 01 00 |...€.......&lt;...<br /> 00000020 3C 03 BF 80 8C 63 10 C8 00 61 18 24 10 61 FF FB &lt;.ż€Śc.Č.a.$.a˙ű<br /> 00000030 00 00 00 00 24 01 FF FF 14 61 00 04 3C 01 80 00 ....$.˙˙.a..&lt;.€.<br /> 00000040 14 41 00 02 00 00 00 00 00 06 00 0D 00 00 00 00 .A..............<br /> <br /> || 17136 (4.50+) || Fixes black screen at start, it apply to STREAM_D.IRX file in IOP folder. Patch is very weird because it apply to bad offset (should be 0x574), but if applied to correct one then game error with &quot;invalid tp2 file&quot;<br /> <br /> 0x3D =&gt; 0x42F0 (17136)<br /> 0x0B =&gt; 1<br /> 0x147C, (sector)<br /> 0x580, (offset)<br /> 0x18 (bytes to replace), <br /> <br /> <br /> Replaced opcodes<br /> 00 01 01 3C lui at,0x0100<br /> 80 BF 03 3C lui v1,0xBF80<br /> C8 10 63 8C lw v1,0x10C8(v1)<br /> 24 18 61 00 and v1,at<br /> FB FF 61 10 beq v1,at, -0x10<br /> 00 00 00 00 nop <br /> <br /> Original opcodes<br /> FF FF 01 24 li at,-0x1<br /> 04 00 61 14 bne at,v1, +0x14<br /> 00 80 01 3C lui at,0x8000<br /> 02 00 41 14 bne at,v0, +0x0C<br /> 00 00 00 00 nop <br /> 0D 00 06 00 break <br /> <br /> |-<br /> | ALL || Dynasty Warriors 3/Dynasty Warriors 3 Xtreme Legends ||<br /> 00000000 3D 00 00 00 89 3D 00 00 35 00 00 00 00 00 00 00 =...‰=..5.......<br /> || 15753 (3.73+) || <br /> fix blackscreen<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x35 =&gt; (enable Force Flip Field)<br /> <br /> |-<br /> | SLES-53539 || Fahrenheit || <br /> 00000000 3D 00 00 00 F6 41 00 00 40 00 00 00 00 00 00 00 =....A..@.......<br /> Alternative<br /> 00000000 3D 00 00 00 89 3D 00 00 2F 00 00 00 01 00 00 00 =....=../.......<br /> 00000010 00 00 00 00 ....<br /> || 16886 (4.40+) / ||<br /> fixes freeze after Lucas' apartment<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x40 =&gt; (sets some value 1)<br /> <br /> |-<br /> | || Fallout || <br /> 00000000 3D 00 00 00 1B 43 00 00 4A 00 00 00 00 00 00 00 =....A..@.......<br /> || 17179 (4.50+) ||<br /> fixes backgrounds not rendering properly <br /> 0x3D =&gt; 0x431B (17179)<br /> 0x4A =&gt; (sets something 0x15100)<br /> <br /> |-<br /> | SLUS-20658 SLES-51467 SLPM-65548 SLPM-65803 || Freedom Fighters ||<br /> 00000000 3D 00 00 00 65 3D 00 00 1F 00 00 00 E8 03 00 00 =...e=......č...<br /> 00000010 00 00 00 00 .... <br /> || 15717 (3.70+) ||<br /> fix freeze when you get control at start<br /> 3D =&gt; 0x3D17 (15717)<br /> 0x1F =&gt; 0x3E8 (sets something 3E8 - 1000 in decimal)<br /> <br /> |-<br /> | SLUS-21702 || Fire Pro Wrestling Returns || <br /> 00000000 3D 00 00 00 F6 41 00 00 03 00 00 00 00 00 00 00 =....A..@.......<br /> || 16886 (4.40+) ||<br /> fixes interlaced artifacts<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x03 =&gt; (sets some value 0)<br /> <br /> |-<br /> | SLES-52065 || Flipnic || <br /> 00000000 3D 00 00 00 57 44 00 00 46 00 00 00 47 00 00 00 =...WD..F...G...<br /> 00000010 00 00 00 00 ....<br /> || 17495 (4.78+) || Remove horizontal lines at full screen, and reducing screen shakes little bit<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x46 =&gt; Enable L2H Improvement<br /> 0x47 =&gt; Enable XOR CSR<br /> <br /> |-<br /> | SCES-53851 || Forbidden Siren 2 ||<br /> 00000000 3D 00 00 00 F6 41 00 00 0A 00 00 00 02 00 00 00 =....A..........<br /> 00000010 44 2B 2E 00 FF 49 C9 4B 00 90 44 48 4C 2B 2E 00 D+...I.K..DHL+..<br /> 00000020 00 90 44 48 FF 49 C9 4B 00 00 00 00 ..DH.I.K.... <br /> || 16886 (4.40+) || Graphic issues with Spiky Polygons<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x0A =&gt; 0x2<br /> 0x2E2B44, 0x4BC949FF (vclip vf09xyz, vf09w), 0x48449000 (cfc2 $a1, $18)<br /> 0x2E2B4C, 0x48449000 (cfc2 $a1, $18), 0x4BC949FF (vclip vf09xyz, vf09w)<br /> <br /> |-<br /> | SLUS-20343 || Forever Kingdom || <br /> 00000000 3D 00 00 00 46 40 00 00 26 00 00 00 00 DC 21 00 =...F@..&amp;....Ü!.<br /> 00000010 00 DD 21 00 00 00 00 00 .Ý!.....<br /> || 16454 ||<br /> Fix for bridge that can't be crossed after opening.<br /> 0x3D =&gt; 0x4046 (16454)<br /> 0x26 =&gt; 0x21DC00, 0x21DD00<br /> <br /> |-<br /> | SLUS-20993 || Ghosthunter || <br /> 00000000 3D 00 00 00 57 44 00 00 0E 00 00 00 84 2B 29 00 =...WD......„+).<br /> 00000010 0B 00 00 00 01 00 00 00 A7 06 00 00 98 02 00 00 ........§.......<br /> 00000020 14 00 00 00 4A 00 02 FF 48 45 88 00 4B E0 19 BF ....J..˙HE..Kŕ.ż<br /> 00000030 4B EA 48 BC 4B EA 18 8C 4B E0 19 BF 4B EA 48 BC KęHĽKę.ŚKŕ.żKęHĽ<br /> 00000040 4B EA 18 8C 4A 00 02 FF 48 45 88 00 00 00 00 00 Kę.ŚJ..˙HE......<br /> || 17495 (4.78+) ||<br /> fixes random minor flickering, and ladder bug (see: [https://www.youtube.com/watch?v=WbJzzMYQLI0] )<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x0E =&gt; 0x292B84 (Improve floating point subtract accuracy)<br /> 0x0B =&gt; Disc patch for hidden elf<br /> |-<br /> | SLES-54317 || Ghost Rider || <br /> 00000000 3D 00 00 00 F6 41 00 00 40 00 00 00 00 00 00 00 =....A..@.......<br /> || 16886 (4.40+) ||<br /> texture fix: white overblending ingame<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x40 =&gt; (sets some value 1)<br /> <br /> |-<br /> | SLUS-20552 || Grand Theft Auto - Vice City ||<br /> 00000000 3D 00 00 00 A5 41 00 00 21 00 00 00 01 00 00 00 =...¥A..!.......<br /> 00000010 0A 00 00 00 0D 00 00 00 A0 FF 0F 00 00 00 00 00 ........ ÿ......<br /> 00000020 17 00 01 24 A4 FF 0F 00 00 00 00 00 08 00 24 14 ...$¤ÿ........$.<br /> 00000030 AC FF 0F 00 00 00 00 00 10 00 01 3C B0 FF 0F 00 ¬ÿ.........&lt;°ÿ..<br /> 00000040 00 00 00 00 90 FF 22 8C B4 FF 0F 00 00 00 00 00 .....ÿ&quot;Œ´ÿ......<br /> 00000050 FF FF 42 24 B8 FF 0F 00 00 00 00 00 05 00 40 1C ÿÿB$¸ÿ........@.<br /> 00000060 C0 FF 0F 00 00 00 00 00 04 00 02 24 C4 FF 0F 00 Àÿ.........$Äÿ..<br /> 00000070 00 00 00 00 90 FF 22 AC C8 FF 0F 00 00 00 00 00 .....ÿ&quot;¬Èÿ......<br /> 00000080 21 1D 0B 08 CC FF 0F 00 00 00 00 00 D0 FF BD 27 !...Ìÿ......Ðÿ½'<br /> 00000090 D0 FF 0F 00 00 00 00 00 08 00 E0 03 D4 FF 0F 00 Ðÿ........à.Ôÿ..<br /> 000000A0 00 00 00 00 90 FF 22 AC 80 74 2C 00 D0 FF BD 27 .....ÿ&quot;¬€t,.Ðÿ½'<br /> 000000B0 E8 FF 03 08 00 00 00 00 53 4C 55 53 2D 32 30 35 èÿ......SLUS-205<br /> 000000C0 35 32 52<br /> || 16805 (4.30+) ||<br /> backport of the official config above (disc version 3.00) for the original release<br /> (disc version 1.40). it patches a particle related function when type is 0x17.<br /> 0x0A =&gt; 0x2CEB00 to 0x2C7480<br /> 0x0A =&gt; 0x080B3AC1 to 0x080B1D21 (j pos_002C7484)<br /> <br /> |-<br /> | SLUS-20758 || Growlanser Generations || <br /> 00000000 3D 00 00 00 89 3D 00 00 2C 00 00 00 72 01 00 00 =....=..,...r...<br /> 00000010 0B 00 00 00 01 00 00 00 F8 03 00 00 7C 05 00 00 ............|...<br /> 00000020 04 00 00 00 00 00 00 00 10 40 FF FC 00 00 00 00 .........@......<br /> 00000030 53 4C 55 53 2D 32 30 37 35 38 SLUS-20758 <br /> || 15753 (3.73+) ||<br /> fix menu freeze? (untested)<br /> <br /> |-<br /> | SLUS-20576 || Harry Potter and the Chamber of Secrets || <br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =....=..........<br /> 00000010 00 00 00 00 ....<br /> || 15753 (3.73+) ||<br /> Fix black screen? (untested)<br /> <br /> |-<br /> | SLUS-20926/SLPM-65612/SLKA-25172/SLES-52440/SLES-52527/SLES-52600 || Harry Potter and The Prisoner of Azkaban || <br /> 00000000 3D 00 00 00 57 44 00 00 07 00 00 00 08 00 =...WD........<br /> 0000000E 00 00 00 00 00 00 ......<br /> || 17495 (4.78+) ||<br /> Fix for 3D graphics issues. However sometimes textures have a problem (mipmap?)<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x07 =&gt; 8<br /> <br /> |-<br /> | SLES-54971(?)/SLUS-21628 || Hot Wheels: Beat That! || <br /> 00000000 3D 00 00 00 89 3D 00 00 15 00 00 00 04 00 00 00 =....=..........<br /> 00000010 00 00 00 00 ....<br /> || 15753 (3.73+) ||<br /> Fix for turning off ps3 after selecting track<br /> <br /> |-<br /> | SLUS-21307 || Ice Age 2 The Meltdown ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0B 00 00 00 01 00 00 00 =....=..........<br /> 00000010 31 05 00 00 8C 03 00 00 40 00 00 00 27 BD FE E0 1.......@...'...<br /> 00000020 24 06 00 6C FF BF 00 70 03 A0 20 2D 7F B0 00 80 $..l...p.. -....<br /> 00000030 8C B0 00 00 0C 0C 88 B5 00 00 28 2D 02 00 20 2D ..........(-.. -<br /> 00000040 0C 0A 84 CE 03 A0 28 2D 7B B0 00 80 03 A0 10 2D ......(-{......-<br /> 00000050 DF BF 00 70 03 E0 00 08 27 BD 01 20 27 BD FF 70 ...p....'.. '..p<br /> 00000060 24 06 00 6C FF BF 00 70 03 A0 20 2D 7F B0 00 80 $..l...p.. -....<br /> 00000070 8C B0 00 00 0C 0C 88 B5 00 00 28 2D 02 00 20 2D ..........(-.. -<br /> 00000080 0C 0A 84 CE 03 A0 28 2D 7B B0 00 80 03 A0 10 2D ......(-{......-<br /> 00000090 DF BF 00 70 03 E0 00 08 27 BD 00 90 00 00 00 00 ...p....'.......<br /> 000000A0 53 4C 55 53 2D 32 31 33 30 37 SLUS-21307 <br /> || 15753 (3.73+) || Fix freeze at the game logo<br /> <br /> |-<br /> | SLUS-21196 || Indigo Prophecy || <br /> 00000000 3D 00 00 00 89 3D 00 00 2F 00 00 00 01 00 00 00 =....A..@.......<br /> 00000010 00 00 00 00 ....<br /> || 15753 (3.73+) || Fixes freeze<br /> <br /> |-<br /> | SCES-53286/SCUS-97429 || Jak X || <br /> 00000000 3D 00 00 00 57 3D 00 00 24 00 00 00 00 00 00 00 =...W=..$.......<br /> 00000010 80 BB 00 00 13 00 00 00 00 00 00 00 60 F9 00 00 €»..........`ů..<br /> 00000020 00 00 00 00 .... <br /> || 15753 (3.73+) || Fixes freeze while saving game<br /> <br /> |-<br /> | SLPM-66675 || Kingdom Hearts II Final Mix || <br /> 00000000 3D 00 00 00 89 3D 00 00 26 00 00 00 58 A5 1D 00 =....A..&amp;...XĄ..<br /> 00000010 F4 AE 1D 00 00 00 00 00 ô®...... <br /> || 15753 (3.73+) ||<br /> Fixes Hostile Program Boss issue.<br /> <br /> |-<br /> | SLUS-21799 || Kingdom Hearts Re: Chain of Memories || <br /> 00000000 3D 00 00 00 89 3D 00 00 0F 00 00 00 90 05 10 00 =....=..........<br /> 00000010 78 C2 10 00 00 00 00 00 53 4C 55 53 2D 32 31 37 x.......SLUS-217<br /> 00000020 39 39 99 <br /> || 15753 (3.73+) ||<br /> Fixes tutorial issue? (untested)<br /> <br /> |-<br /> | SLES-50196 || Legacy of Kain: Soul Reaver 2 || <br /> 00000000 3D 00 00 00 43 21 00 00 0A 00 00 00 01 00 00 00 =...C!..........<br /> 00000010 80 1F 2A 00 01 00 00 00 00 00 00 00 00 00 00 00 €.*............. 99 <br /> || 15753 (3.73+) ||<br /> Turn off mipmapping in game engine. Completely fix flickering, and bad texturing.<br /> <br /> |-<br /> | SLUS-20671 || Mafia || <br /> 00000000 3D 00 00 00 89 3D 00 00 09 00 00 00 05 00 00 00 =...‰=..........<br /> 00000010 B0 68 3E 00 34 A3 0F 0C 9C 90 84 8F 00 10 01 3C °h&gt;.4Ł..ś.„Ź...&lt;<br /> 00000020 08 00 02 24 B8 68 3E 00 08 00 02 24 01 00 05 24 ...$¸h&gt;....$...$<br /> 00000030 9C 90 84 8F 10 3C 22 AC C0 68 3E 00 10 3C 22 AC ś.„Ź.&lt;&quot;¬Ŕh&gt;..&lt;&quot;¬<br /> 00000040 00 10 01 3C 01 00 05 24 34 A3 0F 0C B4 2B 3E 00 ...&lt;...$4Ł..´+&gt;.<br /> 00000050 FF FF 02 24 0A 00 50 10 FF FF 02 24 00 00 00 00 ˙˙.$..P.˙˙.$....<br /> 00000060 4C F0 16 00 00 60 80 44 50 07 42 8E 00 60 80 44 Lđ...`€DP.BŽ.`€D<br /> 00000070 0D 00 00 10 00 00 00 00 ........ <br /> || 15753 (3.73+) || Fix freeze at start. Additional two patches comparing to gxemu included here allow to avoid translation lookaside buffer misses in some places, and are required to finish game.<br /> <br /> |-<br /> | SLUS-21735 || Mana Khemia: Alchemists of Al-Revis ||<br /> 00000000 3D 00 00 00 98 41 00 00 1B 00 00 00 15 00 00 00 =....A..........<br /> 00000010 04 00 00 00 00 00 00 00 ........<br /> || 16792 (4.30+) || fixes blackscreen<br /> 0x3D =&gt; 0x4198 (16792)<br /> 0x1B =&gt; (sets some value 1)<br /> 0x15 =&gt; 4<br /> <br /> |-<br /> | SLUS-20230 || Max Payne ||<br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 E4 E6 52 00 =....=........R.<br /> 00000010 03 00 00 00 01 00 00 00 68 E8 52 00 02 00 00 00 ........x.R.....<br /> 00000020 00 00 00 00 ....<br /> || 15753 (3.73+) || fixes game hang on first cutscene/cutscenes<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x01 =&gt; 0x52E6E4, 3 (applies to main.run ELF on disc: 0x52E6E4 dmove a1,v0 )<br /> 0x01 =&gt; 0x52E868, 2 (applies to main.run ELF on disc: 0x52E868 lq s1,0x10(sp) )<br /> <br /> |-<br /> | SLUS-21550 || Metal Slug Anthology ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0A 00 00 00 01 00 00 00 =...‰=..........<br /> 00000010 24 9C 18 00 F8 F7 08 0C D2 1D 06 0C 00 00 00 00 $ś..ř÷..Ň.......<br /> || 15753 (3.73+) || Fix launching MS6 by using LoadImageAndReboot instead of FlushCache. Seems to work much better than GXemu solution.<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0A =&gt; 0x1<br /> 0x189C24, 0x0C08F7F8 (jal sub_23DFE0), 0x0C061DD2 (jal sub_187748)<br /> <br /> |-<br /> | SLUS-20983 || Musashi: Samurai Legend || <br /> 00000000 3D 00 00 00 F6 41 00 00 17 00 00 00 01 00 00 00 =....A..@.......<br /> 00000010 00 00 00 00 ....<br /> || 16886 (4.40+) ||<br /> no sps fix, but reduces heavily<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x17 =&gt; 1 <br /> <br /> |-<br /> | SLES-50134 SLES-50176 SLES-50177 SLES-50178 SLES-50179 || Oni || <br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 01 00 00 00 =...WD..........<br /> 00000010 7C EF 1C 00 FF FF 00 41 00 00 00 00 00 00 00 00 |ď..˙˙.A........<br /> || 17495 (4.78+) ||<br /> fixes black screen at start<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x0A =&gt; 0x1<br /> 0x1CEF7C 0x4100FFFF (mftgpr $ra, $zero), 0x00000000 (nop)<br /> <br /> |-<br /> | SLUS-20064 || Oni || <br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 01 00 00 00 =...WD..........<br /> 00000010 CC F3 1C 00 FF FF 00 41 00 00 00 00 00 00 00 00 Ěó..˙˙.A........<br /> || 17495 (4.78+) ||<br /> fixes black screen at start<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x0A =&gt; 0x1<br /> 0x1CF3CC 0x4100FFFF (mftgpr $ra, $zero), 0x00000000 (nop)<br /> <br /> |-<br /> | SLUS-21037 || Project: Snowblind || <br /> 00000000 3D 00 00 00 39 05 00 00 0B 00 00 00 03 00 00 00 =...9...........<br /> 00000010 69 02 00 00 78 00 00 00 04 00 00 00 10 00 00 07 i...x...........<br /> 00000020 45 00 00 07 00 0C 0D 00 78 05 00 00 04 00 00 00 E.......x.......<br /> 00000030 10 00 00 07 45 00 00 07 BB 15 0D 00 F8 05 00 00 ....E...»...ř...<br /> 00000040 04 00 00 00 10 00 00 07 45 00 00 07 00 00 00 00 ........E.......<br /> || ||<br /> fixes mipmap/texturing issues<br /> <br /> <br /> |-<br /> | SLES-52384 || Project Zero II ||<br /> 00000000 3D 00 00 00 AF 42 00 00 21 00 00 00 00 00 00 00 =...ŻB..!.......<br /> 00000010 48 00 00 00 02 00 00 00 9C E6 FF FF 0A 00 00 00 H.......ść˙˙....<br /> 00000020 01 00 00 00 0C 94 17 00 41 01 0F 24 61 01 0F 24 .....”..A..$a..$<br /> 00000030 46 00 00 00 0B 00 00 00 01 00 00 00 F6 03 00 00 F...........ö...<br /> 00000040 98 03 00 00 04 00 00 00 00 42 73 84 00 00 02 FF .........Bs„...˙<br /> 00000050 00 00 00 00 53 4C 45 53 2D 35 32 33 38 34 ....SLES-52384<br /> || 17071 (4.50+) || Fix textures problems + performance improvement<br /> 0x3D =&gt; 0x42AF (17071)<br /> 0x21 =&gt; 0<br /> 0x48 =&gt; 0x2, 0xFFFFE69C<br /> 0x0A =&gt; 1, <br /> 0x17940C, 0x240F0141 (li t7,0x141)<br /> 0x240F0161 (li t7,0x161)<br /> 0x46<br /> 0x0B =&gt; 1<br /> 0x3F6, (sector)<br /> 0x398, (offset)<br /> 0x04,<br /> 0x84734200 lh s3,0x4200(v1),<br /> 0xFF020000 sd v0,(t8)<br /> <br /> |-<br /> | SLUS-20167 || Quake 3 - Revolution ||<br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 02 00 00 00 =...WD..........<br /> 00000010 98 03 2D 00 40 FF BD 27 08 00 E0 03 9C 03 2D 00 ..-.@˙˝'..ŕ.ś.-.<br /> 00000020 A0 00 BE 7F 00 00 00 00 00 00 00 00 <br /> || 17495 (4.78+) || Break creating mipmaps to fix graphical issues / flickering (ps2_netemu not support mipmapping)<br /> <br /> |-<br /> | SLES-50126 || Quake 3 - Revolution ||<br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 02 00 00 00 =...WD..........<br /> 00000010 20 03 2D 00 40 FF BD 27 08 00 E0 03 9C 03 2D 00 ..-.@˙˝'..ŕ.ś.-.<br /> 00000020 A0 00 BE 7F 00 00 00 00 00 00 00 00 <br /> || 17495 (4.78+) || Break creating mipmaps to fix graphical issues / flickering (ps2_netemu not support mipmapping)<br /> <br /> |-<br /> | SLUS-21262 || Radiata Stories ||<br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =...‰=..........<br /> 00000010 01 00 00 00 94 4D 12 00 0A 00 00 00 01 00 00 00 ....”M..........<br /> 00000020 18 F6 1A 00 0B 00 00 00 44 00 00 00 00 00 00 00 .ö......D.......<br /> 00000030 53 4C 55 53 2D 32 31 32 36 32 SLUS-21262 <br /> || 15753 (3.73+) || Fix black screen and ghosting/gfx<br /> <br /> |-<br /> | SLPS-25606/SLPS-25851 || Raw Danger! ||<br /> 00000000 3D 00 00 00 A8 41 00 00 44 00 00 00 00 00 00 00 =...&amp;D..D.......<br /> || 16808 (4.30+) || Untested! But Raw Danger! is Zettaizetsumei Toshi 2, so same issue + solution as part 1? <br /> 0x3D =&gt; 0x41A8 (16808)<br /> 0x44 =&gt; (disables smoothing and smoothing<br /> <br /> |-<br /> | SLUS-20174 || Rumble Racing ||<br /> 00000000 3D 00 00 00 F0 42 00 00 0B 00 00 00 01 00 00 00 =...đB..........<br /> 00000010 DA AE 03 00 20 01 00 00 24 00 00 00 14 80 00 06 Ú®.. ...$....€..<br /> 00000020 00 43 20 21 00 A0 10 21 14 A0 00 02 00 00 00 00 .C !. .!. ......<br /> 00000030 24 05 00 01 10 40 FF EB 24 84 00 04 24 90 FF FC $....@˙ë$„..$.˙ü<br /> 00000040 14 80 00 07 00 43 80 21 00 A0 10 21 14 A0 00 02 .€...C€!. .!. ..<br /> 00000050 00 00 00 00 24 05 00 01 10 40 FF FC 00 00 00 00 ....$....@˙ü....<br /> 00000060 26 04 00 04 00 00 00 00 &amp;.......<br /> || 17136 (4.50+) || fixes black screen after Playstation 2 logo. Patch apply to AUDIO.IRX file in MODULES folder<br /> <br /> 0x3D =&gt; 0x42F0 (17136)<br /> 0x0B =&gt; 1<br /> 0x03AEDA, (sector)<br /> 0x120, (offset)<br /> 0x24 (bytes to replace), <br /> <br /> <br /> Replaced opcodes<br /> 06 00 80 14 bnez a0, +0x1C<br /> 21 20 43 00 addu a0,v0,v1<br /> 21 10 A0 00 move v0,a1<br /> 02 00 A0 14 bnez a1, +0x0C<br /> 00 00 00 00 nop <br /> 01 00 05 24 li a1,0x1<br /> EB FF 40 10 beqz v0, -0x50<br /> 04 00 84 24 addiu a0,0x4<br /> FC FF 90 24 addiu s0,a0,-0x4<br /> <br /> Original opcodes<br /> 07 00 80 14 bnez a0, +0x20<br /> 21 80 43 00 addu s0,v0,v1<br /> 21 10 A0 00 move v0,a1<br /> 02 00 A0 14 bnez a1, +0x0C<br /> 00 00 00 00 nop <br /> 01 00 05 24 li a1,0x1<br /> FC FF 40 10 beqz v0, -0x0C<br /> 00 00 00 00 nop <br /> 04 00 04 26 addiu a0,s0,0x4<br /> <br /> |-<br /> | SLES-51345 || Run Like Hell ||<br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 04 00 00 00 =...WD..........<br /> 00000010 34 45 1D 00 0B FA 07 4B FF 02 00 4A 44 45 1D 00 4E...ú.K˙..JDE..<br /> 00000020 FF 02 00 4A 0B FA 07 4B 20 47 1D 00 BE F8 07 4B ˙..J.ú.K G..ľř.K<br /> 00000030 FF 02 00 4A 30 47 1D 00 AC F7 FE 4B 0B FA 07 4B ˙..J0G..¬÷ţK.ú.K<br /> 00000040 00 00 00 00 ....<br /> || 17495 (4.78+) || fixes main character flickering/texturing<br /> 0x3D =&gt; 0x4457 (17495)<br /> 0x0A =&gt; 0x4<br /> <br /> 0x1D4534 0x4B07FA0B (cop2 0x107FA0B), 0x4A0002FF (cop2 0x2FF)<br /> 0x1D4544 0x4A0002FF (cop2 0x2FF) , 0x4B07FA0B (cop2 0x107FA0B)<br /> 0x1D4720 0x4B07F8BE (cop2 0x107F8BE), 0x4A0002FF (cop2 0x2FF)<br /> 0x1D4750 0x4BFEF7AC (cop2 0x1FEF7AC), 0x4B07FA0B (cop2 0x107FA0B)<br /> |-<br /> | SLES-51445 || Rygar: The Legendary Adventure ||<br /> 00000000 3D 00 00 00 89 3D 00 00 0E 00 00 00 50 D0 14 00 =...‰=......PĐ..<br /> 00000010 00 00 00 00 ....<br /> || 15753 (3.73+) || fixes hard crash at start when leaving the place<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x0E =&gt; 0x14D050 (offset)<br /> <br /> .text:0014D050 sub.s $f12, $f20, $f12<br /> |-<br /> | SLES-55147/SLUS-21731 || Silent Hill: Origins || <br /> 00000000 3D 00 00 00 F6 41 00 00 40 00 00 00 00 00 00 00 =....A..@.......<br /> || 16886 (4.40+) ||<br /> fixes white overblending at burning house<br /> 0x3D =&gt; 0x41F6 (16886)<br /> 0x40 =&gt; (sets some value 1)<br /> <br /> |-<br /> | SLUS-20488 || Star Ocean - Till the End of Time ||<br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =....=..........<br /> 00000010 01 00 00 00 48 09 10 00 0A 00 00 00 2C 00 00 00 ....H.......,...<br /> 00000020 72 01 00 00 00 00 00 00 53 4C 55 53 2D 32 30 34 r.......SLUS-204<br /> 00000030 38 38 88 <br /> || 15753 (3.73+) || Fix black screen<br /> <br /> |-<br /> | SLUS-21240 (v1.01)|| Star Wars: Battlefront II || <br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 84 B7 49 00 =...‰=......„·I.<br /> 00000010 05 00 00 00 00 00 00 00 53 4C 55 53 2D 32 31 32 ........SLUS-212<br /> 00000020 34 30 40 <br /> || 15753 (3.73+) || Fix freeze. Work only with v1.01 version of game. Patch apply to SWBFRNT2.ELF file.<br /> <br /> |-<br /> | SLUS-21240 (v2.01)|| Star Wars: Battlefront II || <br /> 00000000 3D 00 00 00 89 3D 00 00 01 00 00 00 04 97 49 00 =...‰=.......—I.<br /> 00000010 05 00 00 00 00 00 00 00 53 4C 55 53 2D 32 31 32 ........SLUS-212<br /> 00000020 34 30 40 <br /> || 15753 (3.73+) || Fix freeze. Work only with v2.01 version of game. Patch apply to SWBFRNT2.ELF file.<br /> <br /> |-<br /> | SLES-50371 || Star Wars: Jedi Starfighter || <br /> 00000000 3D 00 00 00 65 3D 00 00 0A 00 00 00 01 00 00 00 =...e=..........<br /> 00000010 98 33 32 00 B4 6B 11 0C 00 00 00 00 00 00 00 00 .32.´k..........<br /> || 15717 (3.73+) || Without it title calls PS2::Exit() at the end of a bonus stage.<br /> <br /> |-<br /> | SLUS-21913 || Star Wars: The Clone Wars – Republic Heroes ||<br /> 00000000 3D 00 00 00 39 05 00 00 0A 00 00 00 01 00 00 00 =...9...........<br /> 00000010 28 33 17 00 FF FF 64 34 FD FF 64 34 00 00 00 00 „Ë..˙˙d4đ˙d4.Ë..<br /> || 1337 (ALL) || Fix graphical gliches, subtitles, QTE buttons, missing HUD<br /> <br /> <br /> |-<br /> | SLES-54658 || Star Wars: The Force Unleashed ||<br /> 00000000 3D 00 00 00 39 05 00 00 0A 00 00 00 02 00 00 00 =...9...........<br /> 00000010 84 CB 17 00 FF FF 64 34 F0 FF 64 34 90 CB 17 00 „Ë..˙˙d4đ˙d4.Ë..<br /> 00000020 FE FF 63 34 FC FF 63 34 00 00 00 00 ţ˙c4ü˙c4....<br /> || 1337 (ALL) || Fix graphical gliches, subtitles, QTE buttons, missing HUD<br /> <br /> |-<br /> | ALL || Superman Returns ||<br /> 00000000 3D 00 00 00 89 3D 00 00 08 00 00 00 00 00 00 00 =...‰=..........<br /> 00000010 00 00 00 FE 00 00 00 00 00 00 00 2C 00 00 00 00 ...ţ.......,....<br /> 00000020 00 00 00 FE 00 00 00 00 00 00 00 10 00 00 00 00 ...ţ............<br /> || 15753 (3.73+) || fixes Graphic issues <br /> <br /> |-<br /> | SLUS-21386 || Tales of The Abyss || <br /> 00000000 3D 00 00 00 65 3D 00 00 26 00 00 00 FC FF 27 00 =...e=..&amp;...ü˙'.<br /> 00000010 FF FF 27 00 26 00 00 00 F4 21 29 00 F8 21 29 00 ˙˙'.&amp;...ô!).ř!).<br /> 00000020 00 00 00 00 ....<br /> || 15717 (3.73+) || Fix freeze at Choral Castle <br /> Improve add accuracy range =&gt; 0x27FFFC , 0x27FFFF<br /> Improve add accuracy range =&gt; 0x2921F4 , 0x2921F8<br /> |-<br /> | SLPS-25842 || Tales of Destiny (Director's cut) || <br /> 00000000 3D 00 00 00 57 44 00 00 0F 00 00 00 00 00 1C 00 =...WD..........<br /> 00000010 00 00 1D 00 00 00 00 00 ........<br /> || 17495 (4.78+) || Fix freezes <br /> Improve FPU accuracy range =&gt; 0x1C0000 , 0x1D0000<br /> <br /> |-<br /> | ALL || Tokyo Extreme Racer 3 || <br /> 00000000 3D 00 00 00 91 42 00 00 48 00 00 00 01 00 00 00 =...‘B..H.......<br /> 00000010 F0 49 02 00 00 00 00 00 đI...... <br /> || 17041 (4.46+) || Fix screen jumps <br /> Vsync Delay -&gt; No IPU 150,000<br /> <br /> |-<br /> | ALL || Tony Hawk's series ||<br /> 00000000 3D 00 00 00 89 3D 00 00 08 00 00 00 00 00 00 80 =....=..........<br /> 00000010 FF FF FF FF 00 00 00 80 00 00 40 53 00 00 00 80 ..........@S....<br /> 00000020 FF FF FF FF 00 00 00 80 00 00 40 D3 14 00 00 00 ..........@Ó....<br /> 00000030 00 00 00 00 ....<br /> || 15753 (3.73+) || fixes Graphic issues with Spiky Polygons<br /> <br /> |-<br /> | ALL || TY The Tasmanian Tiger || <br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =...‰=..........<br /> 00000010 00 00 00 00 <br /> || 15753 (3.73+) || Fix graphical glitches, and fix locks up once you're given control.<br /> <br /> |-<br /> | SLUS-21106 || True Crime: NYC ||<br /> 00000000 3D 00 00 00 89 3D 00 00 27 00 00 00 D8 2A 41 00 =...‰=..'...Ř*A.<br /> 00000010 50 2E 41 00 00 00 00 00 P.A.....<br /> || 15753 (3.73+) || fixes freeze when something in 3D appearing<br /> 0x3D =&gt; 0x3D89 (15753)<br /> 0x27 =&gt; 0x412AD8, 0x412E50<br /> <br /> |-<br /> | SLES-51958 || Whiplash ||<br /> 00000000 3D 00 00 00 57 44 00 00 0A 00 00 00 01 00 00 00 =...WD..........<br /> 00000010 84 D5 25 00 07 00 02 45 07 00 00 10 00 00 00 00 „Ő%....E........<br /> || || Trick game to not produce mipmaps. Fix graphical issues. <br /> <br /> |-<br /> | SLUS-21452 || Valkyrie Profile 2 - Silmeria ||<br /> 00000000 3D 00 00 00 89 3D 00 00 07 00 00 00 08 00 00 00 =...‰=..........<br /> 00000010 01 00 00 00 28 09 10 00 0A 00 00 00 01 00 00 00 ....(...........<br /> 00000020 48 98 2B 00 0B 00 00 00 44 00 00 00 00 00 00 00 H.+.....D.......<br /> 00000030 53 4C 55 53 2D 32 31 34 35 32 SLUS-21452<br /> || 15753 (3.73+) || Fix black screen and ghosting/gfx (requires speed fix)<br /> <br /> |-<br /> | SLUS-20469 || Xenosaga Episode I: Der Wille zur Macht || <br /> 00000000 3D 00 00 00 57 44 00 00 0F 00 00 00 00 24 32 00 =...WD.......$2.<br /> 00000010 00 29 32 00 00 00 00 00 .)2..... ........<br /> || 17495 (4.78+) || Fix &quot;erde kaiser&quot; quest. Config cause massive slow down, and should be used only for that part of game, then removed safely. <br /> Improve FPU accuracy range =&gt; 0x322400 , 0x322900<br /> <br /> |-<br /> | SLUS-20228GH || Silent Hill 2 ||<br /> 00000000 3D 00 00 00 34 12 00 00 0E 00 00 00 B4 53 17 00 =...4.......´S..<br /> 00000010 0F 00 00 00 18 5D 17 00 18 5D 17 00 00 00 00 00 .....]...]......<br /> || || Fixes the missing polygons on characters and the inaccurate camera angles<br /> |-<br /> | SLUS-20622 || Silent Hill 3 ||<br /> 00000000 3D 00 00 00 57 44 00 00 0F 00 00 00 34 AC 19 00 =...WD......4¬..<br /> 00000010 34 AC 19 00 00 00 00 00 4¬......<br /> || || Fixes camera inaccuracies<br /> <br /> |-<br /> <br /> | || || || || <br /> <br /> |}<br /> <br /> ===Config data examples (hardcoded)===<br /> ====Inside ps2_emu.self====<br /> Embedded patches are based on Checksum/Hash of title. ps2_emu is only emulator version where patches are described inside self file in ascii. Known patch types described in ascii are: Patch data, new SPU2 params, and Setting mecha HACK to show GODZCD as GODZCDDA.<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> ! PS2 Title !! Hash !! Game !! Patch Type !! Data<br /> |-<br /> | SCUS_971.46|| 0x6B1ADE00D||Disney's Treasure Planet || Patch data - Fixes black screen at start, it apply to STREAM_D.IRX file in IOP folder. || 0x147C (sector) , 0x580 (offset) (- 0xC on disc) <br /> Replace opcodes<br /> 00 01 01 3C lui at,0x0100<br /> 80 BF 03 3C lui v1,0xBF80<br /> C8 10 63 8C lw v1,0x10C8(v1)<br /> 24 18 61 00 and v1,at<br /> FB FF 61 10 beq v1,at, -0x10<br /> 00 00 00 00 nop <br /> <br /> Original opcodes<br /> FF FF 01 24 li at,-0x1<br /> 04 00 61 14 bne at,v1, +0x14<br /> 00 80 01 3C lui at,0x8000<br /> 02 00 41 14 bne at,v0, +0x0C<br /> 00 00 00 00 nop <br /> 0D 00 06 00 break <br /> |-<br /> |SLUS_201.74 ||0x23D92589C5|| Rumble Racing || Patch data - fixes black screen after Playstation 2 logo. Patch apply to AUDIO.IRX file in MODULES folder || 0x3AEDA (sector), 0x120 (offset)<br /> Replace opcodes<br /> 06 00 80 14 bnez a0, +0x1C<br /> 21 20 43 00 addu a0,v0,v1<br /> 21 10 A0 00 move v0,a1<br /> 02 00 A0 14 bnez a1, +0x0C<br /> 00 00 00 00 nop <br /> 01 00 05 24 li a1,0x1<br /> EB FF 40 10 beqz v0, -0x50<br /> 04 00 84 24 addiu a0,0x4<br /> FC FF 90 24 addiu s0,a0,-0x4<br /> <br /> Original opcodes<br /> 07 00 80 14 bnez a0, +0x20<br /> 21 80 43 00 addu s0,v0,v1<br /> 21 10 A0 00 move v0,a1<br /> 02 00 A0 14 bnez a1, +0x0C<br /> 00 00 00 00 nop <br /> 01 00 05 24 li a1,0x1<br /> FC FF 40 10 beqz v0, -0x0C<br /> 00 00 00 00 nop <br /> 04 00 04 26 addiu a0,s0,0x4<br /> <br /> |-<br /> |SLUS_211.96||0x24D92589D5|| Indigo Prophecy || new SPU2 params || 1<br /> |-<br /> |SLPM_661.93||0x608634992D|| &lt;abbr title=&quot;https://www.gamefaqs.com/ps2/544598-indigo-prophecy/data&quot;&gt;Fahrenheit (NTSC-J)&lt;/abbr&gt; || new SPU2 params || 1<br /> |-<br /> |SLUS_212.96||0x5CA15DF14D|| Dance Factory ||Setting mecha HACK to show GODZCD as GODZCDDA ||<br /> |}<br /> <br /> ====Inside ps2_gxemu.self/ps2_softemu.self====<br /> There are hundreds of configs hidden in ps2_gxemu, and ps2_softemu self files. Internal config structure is basing on custom hash based on Title ID, internal memory offset pointing to place where true patch instruction is, and count of used commands. When disc/iso is started emulator search for configs, and if config for selected ID exist, then emulator apply it by itself. Is not perfect way of applying patches, because some games use the same ID, but different content. Good example here is Star Wars Battlefront II SLUS-21240, where some versions of game can refuse to work because it apply bad patch.<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> ! PS2 Title !! Hash !! Game !! Patch Type !! Data<br /> |-<br /> | || || || || <br /> |}<br /> <br /> ==TitleID/DiscID in ps2_netemu.self==<br /> There are 193 titleIDs listed inside ps2_netemu.self. More precisely, into XPARAM2.ELF file of PS2 Bios included in ps2_netemu.self. XPARAM2.ELF is called by OSDSYS, then ID check is performed. If title ID match to one of included in the table, different IOP emulation settings are applied.<br /> There are internal flags related to every title ID included inside file, still unknown what they do. Also some arguments, in plain text. File in real ps2 is introduced in SCPH-750XX models so exactly when DECKARD Power PC chip exchanged original IOP chip. This can explain why it is still in PS3 netemu bios. Because PS3 it is ppc that can need the same/similar flags.<br /> <br /> Original PS2 bios include similar list file called XPARAM.ELF, but Title IDs there are not the same, although some of them exist on both lists.<br /> <br /> {| class=&quot;wikitable sortable&quot; || <br /> |- <br /> ! Command !! Name<br /> |-<br /> | 0x00 || TITLE_MASK <br /> |-<br /> | 0x01 || SIO2_MASK<br /> |-<br /> | 0x02 || DEV9_MASK<br /> |-<br /> | 0x03 || USB_MASK<br /> |-<br /> | 0x04 || SIF_DMA_SYNC<br /> |-<br /> | 0x05 || SIF_DMA_LOAD<br /> |-<br /> | 0x06 || DMAC_CH10_INT_DELAY<br /> |-<br /> | 0x07 || MECHA_RECOGTIME<br /> |-<br /> | 0x08 || CPU_DELAY<br /> |-<br /> | 0x09 || DEV5_INT_SPEED<br /> |-<br /> | 0x0A || CDVD_READ_DELAY<br /> |-<br /> | 0x0B || SPU2_BEHAVIOR<br /> |-<br /> |}<br /> <br /> {| class=&quot;wikitable sortable&quot; || <br /> |- <br /> ! ID !! Title !! Command !! Value !! Remarks <br /> |- <br /> |PBPX_952.01 || DVD Utility Disc Version 1.00 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.02 || DVD Utility Disc Version 1.01 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.03 || DVD Utility Disc Version 1.01 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.06 || DVD Player (Version 2.01) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.07 || DVD Player (Version 2.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.08 || DVD Player (Version 2.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.09 || DVD Player (Version 2.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.10 || DVD Utility Disc Version 2.10 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.11 || DVD Utility Disc Version 1.00 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.21 || DVD Player (Version 2.12) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.22 || DVD Player (Version 2.14) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.24 || DVD Player (Version 2.16) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.28 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.35 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_952.39 || Online Start Up Disc v3.0 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.01 || Linux for PS2 Beta Release 1 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.07 || Playstation 2 Linux Runtime Environment v1.0 (Disc 1) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.09 || Linux for PS2 Release 1.0 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PBPX_955.18 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PDPX_991.09 || DVD Player (Version 3.04) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PSXC_002.01 || PSX Update Disc 1.10 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PSXC_002.02 || PSX Update Disc 1.20 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PSXC_002.03 || PSX Update Disc 1.31 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |PTPX_970.38 || || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCAJ_201.25 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCAJ_201.26 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCES_532.02 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCKA_200.49 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCPM_621.15 || || 0x00 || 0x1000000 || TITLE_MASK<br /> |-<br /> |SCPM_621.16 || || 0x00 || 0x1000000 || TITLE_MASK<br /> |-<br /> |SCPN_601.01 || PlayStation BB Navigator (Version 0.10) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.30 || PlayStation BB Navigator (Version 0.20) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.40 || PlayStation BB Navigator (Version 0.30) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.50 || PlayStation BB Navigator (Version 0.31) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPN_601.60 || PlayStation BB Navigator (Version 0.32) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPS_110.01 || I.Q. Remix || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPS_110.10 || Yoake no Mariko (Performance Pack Edition) || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_110.18 || Yoake no Mariko || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_110.21 || Yoake no Mariko 2nd Act (Limited Edition) || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_110.22 || Yoake no Mariko 2nd Act || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SCPS_150.38 || Lifeline || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SCPS_150.39 || Lifeline || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SCPS_170.01 || Gran Turismo 4 || 0x0B || 0x10000000 || SPU2_BEHAVIOR<br /> |-<br /> |SCPS_175.01 || Linux (for PlayStation2) Release 1.0 || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SCPS_200.39 || || 0x00 || 0x4000000 || TITLE_MASK<br /> |-<br /> |SCUS_971.67 || PaRappa the Rapper 2 || 0x04 || 0x2000 || SIF_DMA_SYNC<br /> |-<br /> |SCUS_972.69 || Final Fantasy XI [Disc 2] || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLES_500.48 || Donald Duck: Quack Attack || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_500.62 || Orphen: Scion of Sorcery || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLES_503.64 || City Crisis || 0x0A || 0x80BB8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_504.46 || Shadow Man 2: The Second Coming || 0x0A || 0x80600 || CDVD_READ_DELAY<br /> |-<br /> |SLES_505.40 || Simpsons: Road Rage || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_506.08 || Shadow Man 2: The Second Coming || 0x0A || 0x80600 || CDVD_READ_DELAY<br /> |-<br /> |SLES_506.28 || Simpsons: Road Rage || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_507.28 || Tiger Woods PGA Tour 2002 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_507.29 || || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_512.82 || Tiger Woods PGA Tour 2003 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLES_514.79 || Def Jam Vendetta || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLES_518.41 || SpyHunter 2 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_518.44 || Time Crisis 3 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_519.97 || SWAT: Global Strike Team || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_520.97 || SWAT: Global Strike Force || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLES_530.37 || Super Monkey Ball Deluxe || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLES_536.68 || Micro Machines v4 || 0x01 || 0x801 || SIO2_MASK<br /> |-<br /> |SLES_537.55 || Castlevania: Curse of Darkness || 0x04 || 0x10 || SIF_DMA_SYNC<br /> |-<br /> |SLES_537.96 || FIFA Street 2 || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_620.42 || Kurogane no Houkou: Warship Commander || 0x01 || 0x3000 || SIO2_MASK<br /> |-<br /> |SLPM_620.62 || Gitaroo Man One || 0x0A || 0x80540 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_621.05 || Taikou Risshiden IV || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPM_621.24 || Ready 2 Rumble Boxing: Round 2 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_621.25 || Gauntlet: Dark Legacy || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPM_621.25 || Gauntlet: Dark Legacy || 0x09 || 0x2B470005 || DEV5_INT_SPEED<br /> |-<br /> |SLPM_621.35 || Final Fantasy: XI (Beta Version) || 0x00 || 0xA0000000 || TITLE_MASK, 0xA0000000 = Blacklist, boot after removing flag<br /> |-<br /> |SLPM_621.54 || DDRMAX Dance Dance Revolution 6thMix || 0x08 || 0x1A5E || CPU_DELAY<br /> |-<br /> |SLPM_622.39 || Supercar Street Challenge || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_623.69 || Karaoke Revolution: J-Pop Vol.1 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.79 || Karaoke Revolution: J-Pop Vol.2 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.80 || Karaoke Revolution: J-Pop Vol.3 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.81 || Karaoke Revolution: J-Pop Vol.4 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.82 || Karaoke Revolution: Love &amp; Ballad || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_623.83 || Karaoke Revolution: Night Selection 2003 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.14 || Karaoke Revolution: Dreams &amp; Memories || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.37 || Suisui Sweet: Amai Ai no Mitsukekata || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_624.50 || Karaoke Revolution: Anime Song Selection || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.51 || Karaoke Revolution: J-Pop Vol.5 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.54 || Karaoke Revolution: J-Pop Vol.6 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.55 || Karaoke Revolution: J-Pop Vol.7 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.56 || Karaoke Revolution: J-Pop Vol.8 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.57 || Karaoke Revolution: Snow &amp; Party || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.64 || Pop'n Taisen Pazurudame Online || 0x08 || 0x1F40 || CPU_DELAY<br /> |-<br /> |SLPM_624.79 || Karaoke Revolution: J-Pop Vol.9 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_624.91 || Mega Man: The Power Battle || 0x04 || 0x2000 || SIF_DMA_SYNC<br /> |-<br /> |SLPM_624.92 || Karaoke Revolution: Kids Song Selection || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_625.28 || Karaoke Revolution: Kazoku Idol Sengen (Bundle Edition) || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_625.29 || Karaoke Revolution: Kazoku Idol Sengen || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_650.86 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 (Disc 1) || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPM_650.87 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 (Disc 2) || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPM_650.90 || Spy Hunter || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_651.97 || Nobunaga's Ambition Online || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_652.09 || Star Ocean: Till the End of Time || 0x0B || 0x20014 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_654.38 || Star Ocean: Till the End of Time (Director's Cut) (Disc 1) || 0x0B || 0x20014 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_654.39 || Star Ocean: Till the End of Time (Director's Cut) (Disc 2) || 0x0B || 0x20014 || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_654.88 || Grand Theft Auto: Vice City || 0x0A || 0x300 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_654.88 || Grand Theft Auto: Vice City || 0x09 || 0x36000200 || DEV5_INT_SPEED<br /> |-<br /> |SLPM_656.33 || I Love Baseball: Pro Yakyu wo Koyonaku || 0x08 || 0xFA0 || CPU_DELAY<br /> |-<br /> |SLPM_656.98 || Love Songs: ADV Futaba Riho 14-sai Natsu || 0x0A || 0x80380 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_657.05 || Final Fantasy XI: Chains of Promathia (Expansion Disc) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_657.06 || Final Fantasy XI: Chains of Promathia (All-In-One Edition) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_657.19 || Burnout 3: Takedown || 0x01 || 0x1C00 || SIO2_MASK<br /> |-<br /> |SLPM_657.83 || Nobunaga no Yabou Online: Tappi no Shou || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_658.94 || Winning Post 6: 2005 Version || 0x01 || 0x2400 || SIO2_MASK<br /> |-<br /> |SLPM_659.34 || Maple Colors || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_659.53 || Final Fantasy: XI (Entry Disc 2005) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_659.84 || Grand Theft Auto: San Andreas || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_660.33 || The Sword of Etheria || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPM_660.33 || The Sword of Etheria || 0x00 || 0x2000000 || TITLE_MASK<br /> |-<br /> |SLPM_660.48 || The Sword of Etheria || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPM_660.48 || The Sword of Etheria || 0x00 || 0x2000000 || TITLE_MASK<br /> |-<br /> |SLPM_660.57 || Taito Memories Vol.1 || 0x08 || 0xCE4 || CPU_DELAY<br /> |-<br /> |SLPM_661.56 || Marheaven: Arm Fight Dream || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_661.75 || Akumajo Dracula: Yami no Juin || 0x08 || 0x60 || CPU_DELAY<br /> |-<br /> |SLPM_661.75 || Akumajo Dracula: Yami no Juin || 0x0B || 0x2001C || SPU2_BEHAVIOR<br /> |-<br /> |SLPM_663.93 || Final Fantasy XI: Treasures of Aht Urhgan (All-In-One Edition) || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPM_663.93 || Final Fantasy XI: Treasures of Aht Urhgan (All-In-One Edition) || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPM_663.93 || Final Fantasy XI: Treasures of Aht Urhgan (All-In-One Edition) || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_663.94 || Final Fantasy XI: Treasures of Aht Urhgan || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_664.36 || Aria the Natural || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPM_664.36 || Aria the Natural || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLPM_665.39 || Nobunaga no Yabou Online: Haten no Shou || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPM_665.58 || Tomb Raider: Legend || 0x08 || 0x3E8 || CPU_DELAY<br /> |-<br /> |SLPM_665.74 || Detective Evangelion || 0x00 || 0x2000000 || TITLE_MASK<br /> |-<br /> |SLPM_680.07 || Karaoke Revolution (Trial) || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPM_680.10 || || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPS_200.08 || Morita Shogi || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLPS_200.20 || FIFA 2000 World Championship || 0x04 || 0x2001 || SIF_DMA_SYNC<br /> |-<br /> |SLPS_200.37 || Go Go Golf || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_200.38 || Grappler Baki: Baki Saidai no Tournament || 0x08 || 0x1194 || CPU_DELAY<br /> |-<br /> |SLPS_200.53 || Tenshi no Present: Marle Oukoku Monogatari (Limited Edition) || 0x0B || 0x20000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_200.66 || Tenshi no Present: Marle Oukoku Monogatari || 0x0B || 0x20000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_201.01 || City Crisis || 0x0A || 0x80BB8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_201.11 || Magical Sports Pro Baseball 2001 || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_201.72 || Koushien: Konpeki no Sora || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_201.73 || Hard Hitter 2 || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_201.97 || Surfing Air Show with RatBoy || 0x09 || 0x2B47000A || DEV5_INT_SPEED<br /> |-<br /> |SLPS_201.99 || F1 2002 || 0x0B || 0x20005 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_202.00 || Final Fantasy XI || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLPS_204.04 || Rakushou! Pachi-Slot Sengen 2 || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_204.29 || Hissatsu Pachi-Slot Evolution: Ninja Hattori-Kun V || 0x08 || 0x1B58 || CPU_DELAY<br /> |-<br /> |SLPS_204.55 || Simple 2000 Series Vol.94: The Aka-Champion - Come on Baby || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_250.08 || Sorcerous Stabber Orphen || 0x08 || 0xC1C || CPU_DELAY<br /> |-<br /> |SLPS_250.71 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPS_250.72 || A Visual Mix: Ayumi Hamasaki Dome Tour 2001 || 0x08 || 0x1450 || CPU_DELAY<br /> |-<br /> |SLPS_250.81 || Saishuu Densha || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_251.36 || Kuon no Kizuna Sairin Mikotonori || 0x0A || 0x805DC || CDVD_READ_DELAY<br /> |-<br /> |SLPS_251.42 || Tiger Woods PGA Tour 2002 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_251.50 || Only You || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_252.37 || Only You || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_252.75 || Def Jam: Vendetta || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLPS_252.78 || Memories Off: Mix || 0x0A || 0x80300 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_252.90 || Time Crisis 3 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLPS_253.15 || One Piece: Grand Battle 3 || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPS_253.57 || 3-Nen B-Gumi Kinpachi Sensei: Densetsu no Kyoudan ni Tate! || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPS_253.79 || Tokyo Majin Gakuen: Kaihoujyou Kefurokou || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_254.06 || Hitman: Contracts || 0x08 || 0xDAC || CPU_DELAY<br /> |-<br /> |SLPS_254.18 || Ace Combat 5: The Unsung War || 0x0A || 0x500000 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_255.10 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_255.85 || Monster Farm 5: Circus Caravan || 0x07 || 5 || MECHA_RECOGTIME<br /> |-<br /> |SLPS_255.86 || Tales of the Abyss || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_256.04 || Ar tonelico Qoga: Knell of Ar Ciel || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLPS_256.67 || Daito Giken Premium Pachi-Slot Collection: Yoshimune || 0x01 || 0x1800 || SIO2_MASK<br /> |-<br /> |SLPS_256.98 || Fatal Fury Battle Archives Volume 2 || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLPS_257.08 || The Familiar of Zero (Limited Edition) || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_257.09 || The Familiar of Zero || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLPS_257.21 || HimeHibi - Princess Days || 0x0B || 0x8000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLPS_257.22 || Routes PE (Limited Edition) || 0x08 || 0x3E8 || CPU_DELAY<br /> |-<br /> |SLPS_257.27 || Routes PE || 0x08 || 0x3E8 || CPU_DELAY<br /> |-<br /> |SLPS_732.49 || Ar tonelico Qoga: Knell of Ar Ciel (Platinum) || 0x00 || 0xA000000 || TITLE_MASK<br /> |-<br /> |SLUS_200.11 || Orphen: Ocion of Sorcery || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_200.11 || Orphen: Ocion of Sorcery || 0x09 || 0x8000010 || DEV5_INT_SPEED<br /> |-<br /> |SLUS_200.77 || Donald Duck: Go'in Quackers || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_202.74 || City Crisis || 0x0A || 0x80BB8 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_203.05 || Simpsons: Road Rage || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_203.64 || Tiger Woods PGA Tour 2002 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_204.13 || Shadowman 2 || 0x0A || 0x80600 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_204.33 || SWAT: Global Strike Team || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_204.88 || Star Ocean: Til the end of Time [Disc 1] || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_205.72 || Tiger Woods PGA Tour 2003 || 0x0A || 0x803E8 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_205.90 || Spyhunter 2 || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_206.35 || Muppets Party Cruise || 0x01 || 0x801 || SIO2_MASK<br /> |-<br /> |SLUS_206.39 || Def Jam Vendetta || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_206.86 || Splashdown: Rides Gone Wild || 0x0A || 0x80400 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_208.38 || All-Star Baseball 2005 || 0x01 || 0x802 || SIO2_MASK<br /> |-<br /> |SLUS_208.51 || Ace Combat 5: The Unsung War || 0x0A || 0x500000 || CDVD_READ_DELAY<br /> |-<br /> |SLUS_208.91 || Star Ocean: Til the end of Time [Disc 2] || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_209.18 || Super Monkey Ball: Deluxe || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_210.59 || Tekken 5 || 0x0B || 0x40000000 || SPU2_BEHAVIOR<br /> |-<br /> |SLUS_210.70 || Final Fantasy XI: Chains of Promathia || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLUS_210.89 || Karaoke Revolution Vol.3 || 0x08 || 0x1388 || CPU_DELAY<br /> |-<br /> |SLUS_213.31 || Sonic Riders || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_213.39 || Puzzle Challenge || 0x01 || 0x800 || SIO2_MASK<br /> |-<br /> |SLUS_214.04 || Final Fantasy XI: Treasures of Aht Urhgan || 0x02 || 0xB || DEV9_MASK<br /> |-<br /> |SLUS_214.52 || Valkyrie Profile 2: Silmeria || 0x08 || 0x1388 || CPU_DELAY<br /> |- <br /> |}<br /> <br /> ==Other game patches (unofficial)==<br /> There are other unofficial ways to patch the PS2 games such the [https://forums.pcsx2.net/Thread-A-simplistic-guide-to-pnach-files-aka-pnach-for-dummies pnach] format, or the widescreen patches that allows 16:9 screen output for some games by hex editing the ISO, or by applying ppf patches. Games work fine on PS3 with same compatibility like before patching. Also some 480p (aka progressive scan) patches work fine. http://ps2wide.net/<br /> <br /> The problem of this methods is the patch is applyed over the ISO and is modifyed permanently, but this problem can be avoided in PS3 because that unofficial patches can be &quot;ported&quot; to the official config format to be used by ps2_netemu.self, by using the official config format the settings and patchs from the config file are applyed &quot;on the fly&quot; and the ISO is not modifyed<br /> <br /> ==ps2_title_brute code==<br /> <br /> A script to calculate whatever this encode is that is used in ps2emu, gxemu and softemu from given input title id.<br /> <br /> It contains code for bruting as well. Just call gen_sum with the title id in a specific format to get it.<br /> <br /> &lt;syntaxhighlight lang=&quot;python&quot;&gt;<br /> title_ = &quot;SLUS_200.73&quot;<br /> <br /> #patches = [0x6b1ade00dL, 0x23d92589c5L, 0x24d92589d5L, 0x608634992dL, 0x5ca15df14dL]<br /> #patches = [0x37ae1cb18dL, 0x608634999dL, 0x06b1ade00dL, 0x5fc674d915L, 0x178e3c9165L, 0x3889349935L,0x18fe4ce145L,0xc126943985,0xe90ebc11b5,0x58be0ca165L]<br /> patches = [ 0xCD1298155L, 0x12C93199A5L, 0x15C93199ADL, 0x24D92589A5L, 0x2CD12D8125L, 0x34C9359935L, 0x34C93599E5L, 0x34C93599E5L, 0x449961C9E5L, 0x4C9169C1CDL, 0x4C9169C1D5L, 0x4C9169C1DDL, 0x4C9169C1E5L, 0x4C9169C1F5L, 0x4C9169C1FDL, 0x4CB14DE12DL, 0x54A955F915L, 0x5CA15DF165L, 0x5CA15DF1FDL, 0x5CA15DF1FDL, 0x649965C94DL, 0x649965C955L, 0x649965C95DL, 0x649965C965L, 0x649965C96DL, 0x6BB149E15DL, 0x6C916DC165L, 0x6C916DC1A5L, 0x6C916DC1ADL, 0x6C916DC1B5L, 0x6C916DC1D5L, 0x6C916DC1DDL, 0x748975D9DDL, 0x7C817DD125L, 0x7C817DD165L, 0x7C817DD16DL, 0x7C817DD175L, 0x7C817DD1CDL, 0x84798529BDL, 0x8559A109ADL, 0x8579852915L, 0x8579852965L, 0x8D51A90145L, 0x8D51A901B5L, 0x8D51A901BDL, 0x8D718D21BDL, 0x9C619D31E5L, 0x9D41B911ADL, 0x9D619D31C5L, 0x9F29357805L, 0x9F293578E5L, 0xB549B51915L, 0xB549B51925L, 0xB549B5195DL, 0xB549B519A5L, 0xB549B519ADL, 0xBC61793025L, 0xBD41BD1105L, 0xC439C569F5L, 0xC7716D20D5L, 0xC7716D20D5L, 0xCA11E941F5L, 0xCF7965285DL, 0xCF7965285DL, 0xD20911582DL, 0xD7617D308DL, 0xE339C1695DL, 0xE794CCB06DL, 0xEA3129608DL, 0xEC11ED4115L, 0xEF594508D5L, 0xF409F559ADL, 0xF7415D10E5L, 0xF7415D10E5L]<br /> <br /> def gen_sum(title):<br /> var_30 = []<br /> for i in range(0x1A):<br /> var_30.append(0)<br /> r9=5<br /> r31=0<br /> #Title 2 decimal<br /> while r9 != 0xB:<br /> r11 = r9 + 1<br /> if r9 == 8:<br /> pass<br /> else:<br /> r5 = ord(title[r9:r9+1])<br /> r7 = r31 * 0xA<br /> r6 = r7 &amp; 0xFFFFFFFF<br /> r4 = r5 + r6<br /> r9 = r4 - 0x30<br /> r31 = r9 &amp; 0xFFFFFFFF<br /> r9 = r11<br /> #print r31<br /> r10 = ord(title[3:4]) # S<br /> r7 = (r31 &gt;&gt; 10) &amp; 0x7F<br /> r11 = ord(title[1:2]) # L<br /> r8 = ord(title[2:3]) # U<br /> r6 = (r10 &gt;&gt; 1) &amp; 0x3F<br /> r12 = ord(title[0:1]) # S<br /> r4 = (r11 &gt;&gt; 3) &amp; 0xF<br /> r5 = (r8 &gt;&gt; 2) &amp; 0x1F<br /> r3 = (r12 &gt;&gt; 4) &amp; 7<br /> r9 = r10 &lt;&lt; 7<br /> r0 = r8 &lt;&lt; 6<br /> r10 = r11 &lt;&lt; 5<br /> r8 = r12 &lt;&lt; 4<br /> r12 = r31 &lt;&lt; 3<br /> r11 = r10 | r5<br /> r9 = r9 | r7<br /> r0 = r0 | r6<br /> var_30[2] = r11 &amp; 0xFF<br /> r7 = r8 | r4<br /> var_30[0] = (r9 &amp; 0xFF)<br /> r10 = r12 | r3<br /> var_30[1] = (r0 &amp; 0xFF)<br /> r12 = (r31 &gt;&gt; 2) &amp; 0x3FFFFFF8<br /> var_30[3] = (r7 &amp; 0xFF)<br /> r8 = 5<br /> var_30[4] = (r10 &amp; 0xFF)<br /> var_30[0x19] = (r12 &amp; 0xFF)<br /> var_30[0x18] = (r8 &amp; 0xFF)<br /> var_30 = [int(v) for v in var_30]<br /> #print [hex(v) for v in var_30]<br /> r5 = var_30<br /> r6 = 0<br /> r4 = 0<br /> while r6 &lt; 5:<br /> r12 = r5[r6:r6+1][0]<br /> r7 = r6 + 1<br /> r0 = var_30[0x19]<br /> r3 = r6 + 0x10<br /> r9 = r12 ^ r0<br /> r31 = r3<br /> r5[r6] = r9<br /> r6 = r7<br /> r5[r31] = r4<br /> #print [hex(v) for v in r5]<br /> r9 = 0<br /> r10 = 0<br /> while r10 &lt; 5:<br /> r11 = r10 + 1<br /> r6 = r5[r10:r10+1][0]<br /> r4 = r9 &lt;&lt; 8<br /> r10 = r11<br /> r9 = r4 | r6<br /> return r9<br /> '''<br /> print hex(gen_sum(title_))<br /> <br /> a1='A'<br /> a2='A'<br /> a3='A'<br /> a4='A'<br /> while a1 &lt;= 'Z':<br /> a2='A'<br /> a3='A'<br /> a4='A'<br /> while a2 &lt;= 'Z':<br /> a3='A'<br /> a4='A'<br /> while a3 &lt;= 'Z':<br /> a4='A'<br /> while a4 &lt;= 'Z':<br /> #print &quot;%s%s%s%s&quot; % (a1,a2,a3,a4)<br /> for i in range(99999):<br /> t = &quot;%s%s%s%s_&quot; % (a1,a2,a3,a4) + '{4}{3}{2}.{1}{0}'.format(i%10,(i/10)%10,(i/100)%10,(i/1000)%10,(i/10000)%10)<br /> if gen_sum(t) in patches:<br /> print t<br /> print True<br /> a4=chr(ord(a4)+1)<br /> print &quot;%s%s%s%s&quot; % (a1,a2,a3,a4)<br /> a3=chr(ord(a3)+1)<br /> print &quot;%s%s%s%s&quot; % (a1,a2,a3,a4)<br /> a2=chr(ord(a2)+1)<br /> a1=chr(ord(a1)+1)<br /> '''<br /> <br /> print hex(gen_sum(&quot;SLUS_213.86&quot;))<br /> '''<br /> for i in range(99999):<br /> t = &quot;SLUS_&quot; + '{4}{3}{2}.{1}{0}'.format(i%10,(i/10)%10,(i/100)%10,(i/1000)%10,(i/10000)%10)<br /> if gen_sum(t) in patches:<br /> print &quot;%s %x&quot; % (t, gen_sum(t))<br /> <br /> '''<br /> &lt;/syntaxhighlight&gt;<br /> <br /> <br /> ==External References==<br /> * [http://www.eurogamer.net/articles/digitalfoundry-vs-ps2-classics-on-ps3]<br /> * [http://www.ps3hax.net/showthread.php?t=53444 PS2 Classics Algorithm By flatz]<br /> * [http://gitorious.ps3dev.net/ps2classic c port]<br /> * https://docs.google.com/spreadsheet/ccc?key=0As9ZdsrJoSp1dC1NTTRCSE5vbTlkOGItTC1CVzE5U3c#gid=7<br /> * http://www.pshomebrew.net/wiki/PS2_Classics_Emulator_Compatibility_List<br /> * [http://www.ps3hax.net/showthread.php?p=620747#post620747 How to properly convert Final Fantasy XII: IZJS For ps2classics]<br /> * https://en.wikipedia.org/wiki/List_of_PlayStation_2_Classics<br /> <br /> CPU-GPU intensive games + games only playable in software render on PCSX2:<br /> * http://wiki.pcsx2.net/index.php/Category:GPU_intensive_games<br /> * http://wiki.pcsx2.net/index.php/Category:CPU_intensive_games<br /> * http://wiki.pcsx2.net/index.php/Category:Software_rendering_only_games<br /> <br /> {{Reverse engineering}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=PSP_Emulation&diff=54197 PSP Emulation 2019-08-18T14:32:30Z <p>Mysis: /* Not implemented APIs */</p> <hr /> <div>== pspemu ==<br /> Used for &quot;PSP Minis&quot; and &quot;PSP remasters&quot;. The PSP Emulator works by accessing an encrypted ISO-9660 image. &lt;br&gt;<br /> Assuming that the mini game's directory is /dev_hdd0/game/NPEZ00000/ then the image is stored inside /USRDIR/CONTENT/EBOOT.PBP/DATA.PSAR. &lt;br&gt;<br /> '''Info''': &lt;br&gt;<br /> * Recent Emulator supports PSP Kernel 6.60 Applications&lt;br&gt;<br /> * 20GB model (CECHB00), because it is not equipped with a wireless LAN psn? feature is not available. (10001)<br /> * Does not support PGD files, and neither its access. (Sword Art Online, Kingdom Hearts, Naruto Shippuden Ultimate Ninja Heroes 3,..)<br /> * Does not support scePAuth. (Evangelion, Monster Hunter 3 Portable,...)<br /> * Does not support loaders. (prometheus, Killzone Liberation (fix via minis2),...)<br /> * Does not support &quot;fatms0:&quot;. (use &quot;ms0:&quot;)<br /> * Does not support directory creation on &quot;ms0:&quot;.<br /> * Does not support screen shot utility. (Sweet Fuse,...)<br /> * Does not support game sharing utility.<br /> * Does not support rss /rss reader utility.<br /> * Does not support &quot;disc0:/sce_lbn0x%04x_size0x%04x&quot;. (Naruto Shippuden Ultimate Ninja Impact, Final Fantasy 4,Blood+... )<br /> <br /> * Default pll frequency 222, cpu frequency 222, bus frequency 111<br /> * Default internal paths:<br /> ** /dev_flash/pspemu/psp/<br /> ** /dev_flash/pspemu/flash0/<br /> ** /dev_flash/pspemu/ms/<br /> ** /dev_hdd0/game/&lt;TITLEID&gt;/USRDIR/EXDATA/<br /> ** /dev_hdd0/game/&lt;TITLEID&gt;/USRDIR/CONTENT/DOCUMENT.DAT<br /> <br /> '''Supported Tags''':<br /> 0x00000008, /* 1.XX */<br /> 0x7C16CBC0, /* 2.XX */<br /> 0x03FD0480, /* 2.71 */<br /> 0xF00516D9, /* 2.80 */<br /> 0xF00616D9, /* 3.00 */<br /> 0xF00A16D9, <br /> 0xF00B16D9,<br /> <br /> === Files ===<br /> psp_emulator.self (3.15++)<br /> psp_translator.self (3.15++)<br /> \flash0 (3.15++)<br /> \flash1<br /> \flash2<br /> \flash3<br /> \lflash<br /> \release (3.15++)<br /> \psp<br /> \ms<br /> <br /> ==== arguments ====<br /> 2 arguments:&lt;br&gt;<br /> * argv[0]= self starting location&lt;!--// /dev_flash/pspemu/psp_emulator.self or /app_home if you want to load custom sysman.sprx / threadman.sprx files//--&gt;&lt;br&gt;<br /> * argv[1]= ISO.BIN.EDAT location<br /> <br /> ==== mapping ====<br /> <br /> 0xB0000000 - elf/game memory<br /> 0xB3900000 - settings { VFPU_USE_FAST_VMMUL, VMX_FOR_FPU, FPU_FS_SUPPORT, ALLEGREX_DELAY, unk (0/0x1000)}<br /> 0xB4000000<br /> 0xB4200000<br /> 0xB4400000<br /> 0xB4600000<br /> 0xB7900000<br /> 0xB8000000<br /> 0xBB900000<br /> <br /> === Controller? ===<br /> <br /> taken from PEmuCoreLib<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Mode? !! Number !! Note<br /> |-<br /> | 1-A || 1? ||<br /> |-<br /> | 2-A || 2?||<br /> |-<br /> | 1-B || 3?||<br /> |-<br /> | 2-B || 4?||<br /> |-<br /> | 1-C || 5?||<br /> |-<br /> | 2-C || 6?||<br /> |-<br /> | 1-D || 7?||<br /> |-<br /> |}<br /> <br /> === Emulator Settings ===<br /> <br /> The emulator itself can be feeded with settings about the game. These settings are:<br /> <br /> 1) in MINIS2.EDAT (pure Text format file decrypted)<br /> 2) within the emulator defined for a bunch of games (see [[Emulation#Special_notes| Special notes]])<br /> <br /> Note: The Emulator can be patched (1 Bit) to read a non encrypted MINIS2.EDAT.<br /> <br /> Here are the commands what you can define for the psp emulator:<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Struct !! Command !! Example !! Note<br /> |-<br /> | || # || #PSDEVWIKi || Text, information, # will be ignored<br /> |-<br /> | || VERSION = 0x%x || VERSION = 0xFFFFFFFF || <br /> |-<br /> | || BOOT_MODE = %llx || ||<br /> 100010000 = Minis <br /> 200010000 = Remaster <br /> |-<br /> | || REMASTER_VERSION = 0x%x || ||<br /> |-<br /> | || SDRAM_SIZE = %llx || SDRAM_SIZE = 02800000 ||<br /> 02000000 = ~34 MB (Default)<br /> 02800000 = ~42 MB <br /> 03000000 = ~50 MB <br /> 04000000 = ~67 MB<br /> &lt;br /&gt;&lt;br /&gt;''Real PSP hardware had:''<br /> * ''Main RAM: 32MB (PSP-1000) or 64 MB (PSP-2000, PSP-3000, PSP Go/PSP-N1000 and PSP-E1000) 333MHz 256bit DDR SDRAM with 8MB reserved for kernel.''<br /> * ''Video RAM: 2MB 166MHz 256bit eDRAM.''<br /> * ''MediaEngine RAM: 2MB 166MHz 128bit eDRAM.''<br /> |-<br /> | || TRANS_CACHE_SIZE = %llx || TRANS_CACHE_SIZE = 1000000 ||<br /> 2000000 = (Default)<br /> 1000000 = <br /> |-<br /> | || HOSTFS_PATH = %lld || || <br /> 0 = /dev_flash/pspemu/psp/ (Default) <br /> 1 = /app_home/psp/ <br /> 2 = /app_home/<br /> else = /dev_flash/pspemu/psp/<br /> |-<br /> | || EXDATA_PATH = %lld || ||<br /> 0 = %USRDIR%/EXDATA/ (Default)<br /> 2 = &lt;HOSTFS_PATH&gt;/EXDATA/<br /> 3 = /dev_usb/EXDATA<br /> else = %USRDIR%/EXDATA/<br /> |-<br /> | || ELF_PATH = %s || ELF_PATH = disc0:/PSP_GAME/SYSDIR/EBOOT.BIN || = default, but can be changed for example on Powerstone Collection to directly load PS1.prx/PS2.prx<br /> |-<br /> | || ISO_PATH = %s || ||<br /> |-<br /> | || VOUT_RESOLUTION_MODE = %lld || VOUT_RESOLUTION_MODE = 0 ||<br /> 0 = (Default)<br /> 1<br /> 2<br /> 3<br /> ... <br /> |-<br /> | || DRAWN_IMAGE_SCALE = %lld || DRAWN_IMAGE_SCALE = 4 || Display Output Videoscale <br /> 0 = <br /> 1 = small picture<br /> 2 = (Default)<br /> 3 =<br /> 4 =<br /> ...<br /> |-<br /> | AW. {|| || || indicates LINEAR_ADRS to CLOAD_MODE optional setting following<br /> |-<br /> | || LINEAR_ADRS = %llx || AW.LINEAR_ADRS = 40 ||<br /> 0 = (Default)<br /> 40 = <br /> |-<br /> | || SINGLE_BUF = %llx || AW.SINGLE_BUF = 880 ||<br /> 0 = (Default)<br /> 80 = <br /> 880 =<br /> |-<br /> | || DISABLE_FB_TEX = %llx || AW.DISABLE_FB_TEX = 100 || <br /> 0 = (Default)<br /> 100 = <br /> |-<br /> | || REUSE_ADRS = %llx || AW.REUSE_ADRS = 110000 ||<br /> 0 = (Default)<br /> 110000 =<br /> |-<br /> | || SINGLE_BUF2 = %llx || ||<br /> |-<br /> | || DECODE_WAIT = %llx || AW.DECODE_WAIT = 10000 || in order to slowdown ?<br /> 0 = (Default)<br /> 10000 = <br /> |-<br /> | || DISCARD_EDGE = %llx || AW.DISCARD_EDGE = 20000 ||<br /> 0 = (Default)<br /> 20000 =<br /> |-<br /> | || RECYCLE_RD_TEX = %llx || ||<br /> |-<br /> | || EXT_MODE = %llx || AW.EXT_MODE = 3 ||<br /> 0 = (Default)<br /> Uses different SPU ELF for transparency/textures behavior <br /> 1 = <br /> 2 = <br /> 3 = <br /> |-<br /> | || THR_PIXEL_OFST = %llx || AW.THR_PIXEL_OFST = 0 || <br /> 0 = <br /> 3EFFFFFF = (default)<br /> |-<br /> | || EXT_CMD = %llx || AW.EXT_CMD = 2 || <br /> 0 = (Default)<br /> 1 = <br /> 2 = <br /> 3 = <br /> |-<br /> | || VRAM_MODE = %llx || AW.VRAM_MODE = 1 ||<br /> 0 = Disabled (default) <br /> 1 = Enabled<br /> |-<br /> | || CLOAD_MODE = %llx || AW.CLOAD_MODE = 1 || (Note: Only available since 4.30?)<br /> 0 = Disabled (default) <br /> 1 = Enabled<br /> Displays Selection Menu: Remaster/Adhoc ?<br /> |-<br /> | } || || ||<br /> |-<br /> | AUDIO. {|| || || indicates optional SCR_NOIZ,SLEEP,DECODE_LIMIT setting following<br /> |-<br /> | || SRC_NOIZ = %llx || ||<br /> |-<br /> | || SLEEP = %llx || AUDIO.SLEEP = 421 ||<br /> 0 = (Default)<br /> 421 =<br /> |-<br /> | || DECODE_LIMIT = %llx || ||<br /> |-<br /> | } || || ||<br /> |-<br /> | || VFPU_USE_FAST_VMMUL = %lld || ||<br /> 0 = Disabled (Default) <br /> 1 = Enabled<br /> |-<br /> | || VMX_FOR_FPU = %lld || ||<br /> 0 = Disabled<br /> 1 = Enabled (Default)<br /> |-<br /> | || FPU_FS_SUPPORT = %lld || ||<br /> 0 = Disabled<br /> 1 = Enabled (Default)<br /> |-<br /> | || MIPS_CODE_BLOCK_SIZE = %lld || MIPS_CODE_BLOCK_SIZE = 8192 ||<br /> 8192 (decimal) = 0x2000 (hex) <br /> 4096 (decimal) = 0x1000 (hex, Default)<br /> |-<br /> | || ALLEGREX_DELAY = %lld || || Allegrex = PSP CPU <br /> 0 = (Default)<br /> 100 = ms delay interrupt/thread/sync<br /> |-<br /> | || LINCOLN_START_ADDR = %llx || ||<br /> 0x8804000? = (Default)?<br /> 0x20000<br /> |-<br /> | || LINCOLN_START_SIZE = %llx || || ELF Size?<br /> |-<br /> | || TRANSLATOR_PATCH[%lld] = { %08x } || || <br /> %lld = Number of patches to allocate&lt;br&gt;<br /> Format goes like this - all values being 32Bit hexdecimal:&lt;br&gt;<br /> = { start_address? end_address? patch1 patch2 .... (optional: count_for_buff2 buff2_value1 buff2_value2..) }<br /> |-<br /> | || OSK_ENGLISH = %lld || || On Screen Keyboard<br /> 0 = (Default) panel <br /> Else? = english<br /> |-<br /> | S3D. {|| || || Stereoscopic 3D<br /> |-<br /> | || ENABLE = %lld || S3D.ENABLE = 1 ||<br /> 0 = Disabled (Default)<br /> 1 = <br /> 2 = <br /> 3,4,.. = ? (3D Display strong?)<br /> |-<br /> | || MAX_PARALLAX = %f || || (info: http://www.lightillusion.com/stereo_3d_rules.html) &lt;br&gt; 0.0 to 1.0 ? <br /> 0.029999999 = (Default)<br /> |-<br /> | || SCREEN_DISTANCE = %f || || 0.0 to 1.0 ?<br /> -1.0 = (Default)<br /> |-<br /> | CONV. {|| || || struct within S3D structure (info: http://www.lightillusion.com/stereo_3d_convergence.html)<br /> |-<br /> | || DEPTH_TYPE = %lld || ||<br /> 2 = (Default)<br /> |-<br /> | || GLOBAL_DEPTH1 = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || GLOBAL_DEPTH2 = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || LOCAL_DEPTH1 = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || LOCAL_DEPTH2 = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || SHIFT = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || SIDEPANEL = %lld || ||<br /> 0 = (Default)<br /> |-<br /> | } || || ||<br /> |-<br /> | } || || ||<br /> |-<br /> | FILTER. {|| || || <br /> |-<br /> | DOF. {|| || || depth of field filter<br /> |-<br /> | || GAUSSIAN = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || DEPTH.0 = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || DEPTH.1 = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || FOCAL_DISTANCE = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || FIELD_WIDTH = %f || ||<br /> 0 = (Default)<br /> |-<br /> | } || || ||<br /> |-<br /> | BLOOM. {|| || || bloom filter<br /> |-<br /> | || THRESHOLD.R = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || THRESHOLD.G = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || THRESHOLD.B = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || THRESHOLD.VALUE = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || ADD.R = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || ADD.G = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || ADD.B = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || ADD.LOD = %f || ||<br /> 0 = (Default)<br /> |-<br /> | } || || ||<br /> |-<br /> | } || || ||<br /> |-<br /> | || ADDITIONAL_KEY_ASSIGN = %llx || ADDITIONAL_KEY_ASSIGN = 0000000047C6C544 ||<br /> 0000000047C6C544 : maps right analog stick, usefull for 3rd person camera viewing<br /> 0000000048C0C940 : maps L + R to right analog stick left and right<br /> 8000000000000000 : unknown<br /> |-<br /> | || SAVEDATA_USE_UPPERCASENAME = %lld || ||<br /> 0 = (Default)<br /> Ese = convert characters<br /> |-<br /> | || FAKE_PATH = %s || || (max. lenght 0x400 bytes)<br /> |-<br /> | || SAVEDATA_LOAD_CACHE_TARGET_NAME = %s || SAVEDATA_LOAD_CACHE_TARGET_NAME = ULJM05637DQUEST ||<br /> |-<br /> | || SAVEDATA_USE_PS3_SAVE = %lld || SAVEDATA_USE_PS3_SAVE = 1 ||<br /> 0 = Uses PSP/PSPMinis SaveData module <br /> 1 = SaveGame via PS3 SaveData module<br /> |-<br /> | || ICACHE_CONTROL = %llx || ||<br /> 0 = Enable InvalidateAll availability<br /> 1 = sceKernelIcacheInvalidateRange disabled?<br /> 2 = sceKernelIcacheInvalidateAll disabled?<br /> |-<br /> | || DEBUG.GRAPHICS = %lld || DEBUG.GRAPHICS = 1 ||<br /> 0 = off<br /> 1 = on , displays information and more: <br /> * flip time average (max.,min.),<br /> * RSX Performance average (max.,min.),<br /> * MIPS load average (max.,min.)<br /> 2 = ?<br /> |-<br /> | || DEBUG.CPU_PERF_BUF_SIZE = 0x%llx || ||<br /> 0x100000 = (default)<br /> |-<br /> | || VSYNC_OFFSET_US = %lld || VSYNC_OFFSET_US = 8341 ||<br /> 8341 = 0x2095 (Default)<br /> 2000 = 0x07D0 (Legend of Heroes/Eiyū Densetsu HD Remasters)<br /> |-<br /> | || ADHOC_PARTY = %llx || ADHOC_PARTY = 1 ||<br /> 0 = Disabled (Default)<br /> 1 = Enable Ad hoc Multiplayer<br /> |-<br /> | || GPI = 0x%llx || ||<br /> 0 = (Default) <br /> uint8_t value<br /> |-<br /> | || UTILITY_CTRL_VALUE = %llx || ||<br /> |-<br /> | || CODE_SIZE_LIMIT = %llx || CODE_SIZE_LIMIT = 00800000 ||<br /> |-<br /> | || NP.COMMUNICATION_ID = %s || ||<br /> |-<br /> | || ADHOC_LOCAL_PEER_NUM = %llx || ||<br /> |-<br /> | ADHOC. {|| || || <br /> |-<br /> | || EMUPA_TITLE_ID = %s || ADHOC.EMUPA_TITLE_ID = ULJM05637 ||<br /> |-<br /> | || EMUPA_INITIAL_SERVER = %lld || ADHOC.EMUPA_INITIAL_SERVER = 1 ||<br /> 0 = (Default) <br /> 1 = <br /> |-<br /> | || USE_WORLD_MIN = %lld || ||<br /> |-<br /> | || USE_WORLD_MAX = %lld || ||<br /> |-<br /> | || MAC_THREAD_PRIORITY = %lld || ||<br /> |-<br /> | || SEND_LIMIT = %lld || ||<br /> |-<br /> | || RECV_LIMIT = %lld || ||<br /> |-<br /> | || PTP_SB_SEND_EXT = %lld || ||<br /> |-<br /> | || PTP_SEND_INTERVAL_MIN = %lld || ||<br /> |-<br /> | || PTP_ACCEPT_DELAY = %lld || ||<br /> |-<br /> | || FLAGS = %llx || ||<br /> |-<br /> | } || || ||<br /> |-<br /> |}<br /> <br /> === Special notes ===<br /> <br /> ==== PSP Minis ====<br /> On few Games there are predefined changes set for the Core within the emulator.<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Title ID !! Title Name !! Note<br /> |-<br /> | NPEZ00001 || Puzzle Scape Mini || AW.DISCARD_EDGE = 20000&lt;br&gt; AW.DECODE_WAIT = 10000<br /> |-<br /> | NPEZ00002 || Stand O'Food || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00003 || Mahjongg Artifacts Chapter 2 || AW.LINEAR_ADRS = 40&lt;br&gt; AW.DISABLE_FB_TEX = 100&lt;br&gt; AW.DISCARD_EDGE = 20000<br /> |-<br /> | NPEZ00021 || Pinball Dreams || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00022 || Pinball Fantasies || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00027 || Sudoku || AUDIO.SLEEP = 421<br /> |-<br /> | NPEZ00028 || Bowling 3D *1) || <br /> |-<br /> | NPEZ00031 || Hero Of Sparta || <br /> |-<br /> | NPEZ00041 || Blast Off || <br /> |-<br /> | NPEZ00046 || Brainpipe || <br /> |-<br /> | NPEZ00093 || Tetris *1) || AW.SINGLE_BUF = 80&lt;br&gt;AW.REUSE_ADRS = 110000<br /> |-<br /> | NPEZ00094 || Yummy Yummy Cooking Jam || AW.SINGLE_BUF = 880&lt;br&gt;AW.DECODE_WAIT = 10000<br /> |-<br /> | NPEZ00105 || Telegraph - Sudoku &amp; Kakuro || DRAWN_IMAGE_SCALE = 1 <br /> |-<br /> | NPEZ00106 || Sudoku und Kakuro: Welt Edition || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00107 || Spot The Differences! || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00108 || Finde die Unterschiede! Welt Edition || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00112 || Telegraph Crosswords || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00113 || Kreuzwortraetsel: Welt Edition || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00125 || Pallurikio || <br /> |-<br /> | NPEZ00194 || Mahjongg Artifacts || AW.LINEAR_ADRS = 40&lt;br&gt;AW.DISABLE_FB_TEX = 100&lt;br&gt;AW.DISCARD_EDGE = 20000<br /> |-<br /> | NPEZ00219 || Arctic Adventures: Polar's Puzzles || <br /> |-<br /> | NPEZ00381 || Fighting Fantasy - Talisman of death || AW.THR_PIXEL_OFST = 0<br /> |-<br /> | NEPZ00444 || Jetpack Joyride || AW.CLOAD_MODE = 1<br /> |-<br /> | NPUZ00002 || Bowling 3D *1) || <br /> |-<br /> | NPUZ00005 || Hero Of Sparta || <br /> |-<br /> | NPUZ00006 || Mahjongg Artifacts Chapter 2 || AW.LINEAR_ADRS = 40&lt;br&gt;AW.DISABLE_FB_TEX = 100&lt;br&gt;AW.DISCARD_EDGE = 20000<br /> |-<br /> | NPUZ00009 || Brainpipe || <br /> |-<br /> | NPUZ00017 || Pinball Fantasies || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPUZ00018 || Yummy Yummy Cooking Jam || AW.SINGLE_BUF = 880&lt;br&gt;AW.DECODE_WAIT = 10000<br /> |-<br /> | NPUZ00021 || Blast Off || <br /> |-<br /> | NPUZ00029 || Stand O' Food || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPUZ00034 || Spot The Differences! || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPUZ00054 || Pinball Dreams || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPUZ00058 || SuperMarket Mania || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPUZ00062 || Mahjongg Artifacts || AW.LINEAR_ADRS = 40&lt;br&gt;AW.DISABLE_FB_TEX = 100&lt;br&gt;AW.DISCARD_EDGE = 20000<br /> |-<br /> | NPUZ00099 || Pallurikio || <br /> |-<br /> | NPUZ00114 || Arctic Adventures: Polar's Puzzles || <br /> |-<br /> | NPUZ00292 || Jetpack Joyride || AW.CLOAD_MODE = 1<br /> |-<br /> |}<br /> <br /> *1) SFO: PP, officially wont run on ps3 as no iso.bin and no proper minis file (only psp officially supported)<br /> <br /> ==== PSP HD Remasters ====<br /> <br /> * TextureSize = 1024<br /> * Can use 64 MB memory<br /> And these PSP Remaster Games got a MINIS2.EDAT setting definitions for the Emulator Core.<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Disc Title ID !! NP Title ID !! Title Name !! Note<br /> |-<br /> | BLJM85001 || NPJB40001 || Monster Hunter Portable 3rd HD Ver || VERSION = 0xFFFFFFFF&lt;br&gt;<br /> S3D.ENABLE = 2&lt;br&gt;<br /> SDRAM_SIZE = 02800000&lt;br&gt;<br /> MIPS_CODE_BLOCK_SIZE = 8192&lt;br&gt; (next settings are done internally and not part of MINIS2)&lt;br&gt;<br /> DRAWN_IMAGE_SCALE = 4&lt;br&gt;<br /> AW.EXT_MODE = 3&lt;br&gt;<br /> TRANS_CACHE_SIZE = 1000000&lt;br&gt;<br /> VSYNC_OFFSET_US = 2000&lt;br&gt;<br /> ADHOC.EMUPA_TITLE_ID = ULJM05800&lt;br&gt;<br /> ADHOC.EMUPA_INITIAL_SERVER = 1&lt;br&gt;<br /> ADHOC_PARTY = 1&lt;br&gt;<br /> |-<br /> | BLJM85002 || NPJB40002 || K-ON Houkago Live HD Ver || VERSION = 0xFFFFFFFF&lt;br&gt;<br /> AW.EXT_MODE = 3&lt;br&gt;<br /> AW.EXT_CMD = 2&lt;br&gt;<br /> SDRAM_SIZE = 02800000&lt;br&gt;<br /> ADDITIONAL_KEY_ASSIGN = 8000000000000000&lt;br&gt;<br /> S3D.ENABLE = 1&lt;br&gt;<br /> ADHOC.EMUPA_TITLE_ID = ULJM05709<br /> |-<br /> | BLJM85003 || NPJB40003 || Shin Sangoku Musou Multi Raid 2 HD Ver || VERSION = 0xFFFFFFFF&lt;br&gt;<br /> AW.EXT_MODE = 3&lt;br&gt;<br /> AW.EXT_CMD = 2&lt;br&gt;<br /> SDRAM_SIZE = 02800000&lt;br&gt;<br /> ADDITIONAL_KEY_ASSIGN = 0000000047C6C544&lt;br&gt;<br /> S3D.ENABLE = 1&lt;br&gt;<br /> ADHOC.EMUPA_TITLE_ID = ULJM05637&lt;br&gt;<br /> AW.VRAM_MODE = 1&lt;br&gt;<br /> SAVEDATA_LOAD_CACHE_TARGET_NAME = ULJM05637DQUEST<br /> |-<br /> | BLJM85004 || NPJB00293&lt;br&gt;NPJN00005 ||Eiyuu Densetsu Sora no Kiseki FC Kai HD Edition || VERSION = 0xFFFFFFFF&lt;br&gt;<br /> SDRAM_SIZE = 03000000&lt;br&gt;<br /> ADDITIONAL_KEY_ASSIGN = 0000000047C6C544&lt;br&gt;<br /> S3D.ENABLE = 1&lt;br&gt;<br /> AW.EXT_MODE = 3&lt;br&gt;<br /> AW.EXT_CMD = 3&lt;br&gt;<br /> ADHOC_PARTY = 0&lt;br&gt;<br /> VSYNC_OFFSET_US = 2000<br /> |-<br /> | BLJM85005 || NPJB00334&lt;br&gt;NPJN00007||Eiyuu Densetsu: Sora no Kiseki SC Kai HD Edition || VERSION = 0xFFFFFFFF&lt;br&gt;<br /> SDRAM_SIZE = 04000000&lt;br&gt;<br /> CODE_SIZE_LIMIT = 00800000&lt;br&gt;<br /> ADDITIONAL_KEY_ASSIGN = 8000000000000000&lt;br&gt;<br /> S3D.ENABLE = 2&lt;br&gt;<br /> AW.EXT_MODE = 3&lt;br&gt;<br /> AW.EXT_CMD = 3&lt;br&gt;<br /> ADHOC_PARTY = 0&lt;br&gt;<br /> VSYNC_OFFSET_US = 2000<br /> |-<br /> | BLJM85006 || NPJB00360&lt;br&gt;NPJN00008||Eiyuu Densetsu: Sora no Kiseki the 3rd: Kai HD Edition || VERSION = 0xFFFFFFFF&lt;br&gt;<br /> SDRAM_SIZE = 04000000&lt;br&gt;<br /> CODE_SIZE_LIMIT = 00800000&lt;br&gt;<br /> ADDITIONAL_KEY_ASSIGN = 8000000000000000&lt;br&gt;<br /> S3D.ENABLE = 2&lt;br&gt;<br /> AW.EXT_MODE = 3&lt;br&gt;<br /> AW.EXT_CMD = 3&lt;br&gt;<br /> ADHOC_PARTY = 0&lt;br&gt;<br /> |}<br /> <br /> DiscIDs inside emulator: http://pastie.org/pastes/4367964/<br /> <br /> ==== Unofficial PSP Games MINIS2====<br /> <br /> * research only<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Title ID !! Title Name !! Issue !! Setting !! Note<br /> |-<br /> | || Shin Megami Tensei: Persona3 Portable || hangs while loading screen ||<br /> AW.VRAM = 1<br /> || fixes loading, but requires further research<br /> |-<br /> | || Silent Hill: Origins || Loading Screen texture flicker on top ||<br /> AW.LINEAR_ADRS = 40 <br /> ||<br /> |-<br /> | || Tactics Ogre: Let Us Cling Together || Black texture? overlay in movies and &quot;Tarot Card&quot; selection ||<br /> AW.LINEAR_ADRS = 40 <br /> ||<br /> |-<br /> | || The 3rd Birthday || blue transparent texture overblending ||<br /> AW.DISABLE_FB_TEX = 222<br /> || mostly removed, but requires further research<br /> |-<br /> |}<br /> <br /> === NID ===<br /> &lt;pre&gt;<br /> <br /> Library: GprofManStub<br /> 0x6A05A80D sceGprofSetProfil<br /> 0x799D0A67 sceGprofFreeProfil<br /> <br /> Library: GprofManWeak<br /> 0x6A05A80D sceGprofSetProfil_Weak<br /> 0x799D0A67 sceGprofFreeProfil_Weak<br /> <br /> Library: InterruptManager<br /> 0x5CB5A78B sceKernelSuspendSubIntr<br /> 0x7860E0DC sceKernelResumeSubIntr<br /> 0x8A389411 sceKernelDisableSubIntr<br /> 0xCA04A2B9 sceKernelRegisterSubIntrHandler<br /> 0xD61E6961 sceKernelReleaseSubIntrHandler<br /> 0xEEE43F47 sceKernelRegisterUserSpaceIntrStack<br /> 0xFB8E22EC sceKernelEnableSubIntr<br /> 0xFC4374B8 sceKernelIsSubInterruptOccurred<br /> <br /> Library: IoFileMgrForUser<br /> 0x06A70004 sceIoMkdir<br /> 0x08BD7374 sceIoGetDevType<br /> 0x0FACAB19 sceIoWriteAsync<br /> 0x109F50BC sceIoOpen<br /> 0x1117C65F sceIoRmdir<br /> 0x1B385D8F sceIoLseek32Async<br /> 0x27EB27B8 sceIoLseek<br /> 0x3251EA56 sceIoPollAsync<br /> 0x35DBD746 sceIoWaitAsyncCB<br /> 0x42EC03AC sceIoWrite<br /> 0x54F5FB11 sceIoDevctl<br /> 0x55F4717D sceIoChdir<br /> 0x5C2BE2CC sceIoGetFdList<br /> 0x63632449 sceIoIoctl<br /> 0x68963324 sceIoLseek32<br /> 0x6A638D83 sceIoRead<br /> 0x6D08A871 sceIoUnassign<br /> 0x71B19E77 sceIoLseekAsync<br /> 0x779103A0 sceIoRename<br /> 0x810C4BC3 sceIoClose<br /> 0x89AA9906 sceIoOpenAsync<br /> 0xA0B5A7C2 sceIoReadAsync<br /> 0xA12A0514 sceIoSetAsyncCallback<br /> 0xAB96437F sceIoSync<br /> 0xACE946E8 sceIoGetstat<br /> 0xB293727F sceIoChangeAsyncPriority<br /> 0xB29DDF9C sceIoDopen<br /> 0xB2A628C1 sceIoAssign<br /> 0xB8A740F4 sceIoChstat<br /> 0xCB05F8D6 sceIoGetAsyncStat<br /> 0xE23EEC33 sceIoWaitAsync<br /> 0xE3EB004C sceIoDread<br /> 0xE8BC6571 sceIoCancel<br /> 0xE95A012B sceIoIoctlAsync<br /> 0xEB092469 sceIoDclose<br /> 0xF27A9C51 sceIoRemove<br /> 0xFF5940B6 sceIoCloseAsync<br /> <br /> Library: Kernel_Library<br /> 0x092968F4 sceKernelCpuSuspendIntr<br /> 0x15B6446B sceKernelUnlockLwMutex<br /> 0x1839852A sceKernelMemcpy<br /> 0x1FC64E09 sceKernelLockLwMutexCB<br /> 0x293B45B8 sceKernelGetThreadId_kernel<br /> 0x37431849 sceKernelTryLockLwMutex_600<br /> 0x3B84732D sceKernelCpuResumeIntrWithSync<br /> 0x47A0B729 sceKernelIsCpuIntrSuspended<br /> 0x5F10D406 sceKernelCpuResumeIntr<br /> 0xA089ECA4 sceKernelMemset<br /> 0xB55249D2 sceKernelIsCpuIntrEnable<br /> 0xBEA46419 sceKernelLockLwMutex<br /> 0xC1734599 sceKernelReferLwMutexStatus<br /> 0xD13BDE95 sceKernelCheckThreadStack_user<br /> 0xDC692EE3 sceKernelTryLockLwMutex<br /> 0xFA835CDE sceKernelGetTlsAddr<br /> <br /> Library: LoadExecForUser<br /> 0x05572A5F sceKernelExitGame<br /> 0x2AC9954B sceKernelExitGameWithStatus<br /> 0x362A956B sceKernelSafetyCheck1<br /> 0x4AC57943 sceKernelRegisterExitCallback<br /> 0x8ADA38D3 sceKernelLoadExecNpDrm<br /> 0xBD2F1094 sceKernelLoadExec<br /> <br /> Library: ModuleMgrForUser<br /> 0x2E0911AA sceKernelUnloadModule<br /> 0x50F0C1EC sceKernelStartModule<br /> 0x644395E2 sceKernelGetModuleIdList<br /> 0x748CBED9 sceKernelQueryModuleInfo<br /> 0x8F2DF740 sceKernelStopUnloadSelfModuleWithStatus<br /> 0x977DE386 sceKernelLoadModule<br /> 0xB7F46618 sceKernelLoadModuleByID<br /> 0xCC1D3699 sceKernelStopUnloadSelfModule<br /> 0xCDE1C1FE sceKernelCheckTextSegment<br /> 0xD1FF982A sceKernelStopModule<br /> 0xD2FBC957 sceKernelGetModuleGPByAddress<br /> 0xD675EBB8 sceKernelSelfStopUnloadModule<br /> 0xD8B73127 sceKernelGetModuleIdByAddress<br /> 0xE4C4211C sceKernelLoadModuleWithBlockOffset<br /> 0xF0A26395 sceKernelGetModuleId<br /> 0xF2D8D1B4 sceKernelLoadModuleNpDrm<br /> 0xF9275D98 sceKernelLoadModuleBufferUsbWlan<br /> 0xFBE27467 sceKernelLoadModuleByIDWithBlockOffset<br /> 0xFEF27DC1 sceKernelLoadModuleDNAS<br /> <br /> Library: StdioForUser<br /> 0x0CBB0571 sceKernelStdioLseek<br /> 0x172D316E sceKernelStdin<br /> 0x3054D478 sceKernelStdioRead<br /> 0x432D8F5C sceKernelRegisterStdoutPipe<br /> 0x6F797E03 sceKernelRegisterStderrPipe<br /> 0x924ABA61 sceKernelStdioOpen<br /> 0x9D061C19 sceKernelStdioClose<br /> 0xA3B931DB sceKernelStdioWrite<br /> 0xA46785C9 sceKernelStdioSendChar<br /> 0xA6BAB2E9 sceKernelStdout<br /> 0xF78BA90A sceKernelStderr<br /> <br /> Library: SysMemUserForUser<br /> 0x13A5ABEF sceKernelPrintf<br /> 0x1B4217BC sceKernelSetCompiledSdkVersion630<br /> 0x237DBD4F sceKernelAllocPartitionMemory<br /> 0x315AD3A0 sceKernelSetCompiledSdkVersion380_390<br /> 0x342061E5 sceKernelSetCompiledSdkVersion370<br /> 0x35669D4C sceKernelSetCompiledSdkVersion600_620<br /> 0x358CA1BB sceKernelSetCompiledSdkVersion660<br /> 0x50F61D8A sceKernelFreeMemoryBlock<br /> 0x7591C7DB sceKernelSetCompiledSdkVersion100<br /> 0x7893F79A sceKernelSetCompiledSdkVersion570_570<br /> 0x91DE343C sceKernelSetCompiledSdkVersion500_550<br /> 0x9D9A5BA1 sceKernelGetBlockHeadAddr<br /> 0xA291F107 sceKernelMaxFreeMemSize<br /> 0xB6D61D02 sceKernelFreePartitionMemory<br /> 0xD8DE5C1E sceKernelSafetyCheck0<br /> 0xDB83A952 sceKernelGetMemoryBlockAddr<br /> 0xEBD5C3E6 sceKernelSetCompiledSdkVersion395_405<br /> 0xF77D77CB sceKernelSetCompilerVersion<br /> 0xF919F628 sceKernelTotalFreeMemSize<br /> 0xFC114573 sceKernelGetCompiledSdkVersion<br /> 0xFE707FDF sceKernelAllocMemoryBlock<br /> <br /> Library: ThreadManForUser<br /> 0x034A921F sceKernelGetVTimerTime<br /> 0x0C106E53 sceKernelRegisterThreadEventHandler<br /> 0x0D81716A sceKernelPollMbx<br /> 0x0DDCD2C9 sceKernelTryLockMutex<br /> 0x110DEC9A sceKernelUSec2SysClock<br /> 0x1181E963 sceKernelDelaySysClockThreadCB<br /> 0x17C1684E sceKernelReferThreadStatus<br /> 0x18260574 sceKernelReceiveMbx<br /> 0x19CFF145 sceKernelCreateLwMutex<br /> 0x1AF94D03 sceKernelDonateWakeupThread<br /> 0x1D371B8A sceKernelCancelVpl<br /> 0x1FB15A32 sceKernelSetEventFlag<br /> 0x20FFF560 sceKernelCreateVTimer<br /> 0x278C0DF5 sceKernelWaitThreadEnd<br /> 0x27E22EC2 sceKernelResumeDispatchThread<br /> 0x28B6489C sceKernelDeleteSema<br /> 0x293B45B8 sceKernelGetThreadId<br /> 0x2A3D44FF sceKernelGetCallbackCount<br /> 0x2C34E053 sceKernelReleaseWaitThread<br /> 0x30FD48F0 sceKernelPollEventFlag<br /> 0x328C546A sceKernelWaitEventFlagCB<br /> 0x328F9E52 sceKernelDeleteVTimer<br /> 0x32BF938E sceKernelDeleteTlspl<br /> 0x33BE4024 sceKernelReferMsgPipeStatus<br /> 0x349B864D sceKernelCancelMsgPipe<br /> 0x349D6D6C sceKernelCheckCallback<br /> 0x369ED59D sceKernelGetSystemTimeLow<br /> 0x369EEB6B sceKernelReferThreadEventHandlerStatus<br /> 0x383F7BCC sceKernelTerminateDeleteThread<br /> 0x39810265 sceKernelReferVplStatus<br /> 0x3AD58B8C sceKernelSuspendDispatchThread<br /> 0x3B183E26 sceKernelGetThreadExitStatus<br /> 0x3F53E640 sceKernelSignalSema<br /> 0x402FCF22 sceKernelWaitEventFlag<br /> 0x446D8DE6 sceKernelCreateThread<br /> 0x4A719FB2 sceKernelFreeTlspl<br /> 0x4C145944 sceKernelReferLwMutexStatusByID<br /> 0x4E3A1105 sceKernelWaitSema<br /> 0x52089CA1 sceKernelGetThreadStackFreeSize<br /> 0x532A522E _sceKernelExitThread<br /> 0x53B00E9A sceKernelSetVTimerHandlerWide<br /> 0x542AD630 sceKernelSetVTimerTime<br /> 0x55C20A00 sceKernelCreateEventFlag<br /> 0x56C039B5 sceKernelCreateVpl<br /> 0x57CF62DD sceKernelGetThreadmanIdType<br /> 0x58B1F937 sceKernelPollSema<br /> 0x5BF4DD27 sceKernelLockMutexCB<br /> 0x5F32BEAA sceKernelReferVTimerStatus<br /> 0x60107536 sceKernelDeleteLwMutex<br /> 0x616403BA sceKernelTerminateThread<br /> 0x623AE665 sceKernelTryAllocateFpl<br /> 0x627E6F3A sceKernelReferSystemStatus<br /> 0x64D4540E sceKernelReferThreadProfiler<br /> 0x65F54FFB _sceKernelAllocateTlspl<br /> 0x6652B8CA sceKernelSetAlarm<br /> 0x68DA9E36 sceKernelDelayThreadCB<br /> 0x6B30100F sceKernelUnlockMutex<br /> 0x6D212BAC sceKernelWaitSemaCB<br /> 0x6E9EA350 _sceKernelReturnFromCallback<br /> 0x71BC9871 sceKernelChangeThreadPriority<br /> 0x721067F3 sceKernelReferTlsplStatus<br /> 0x72F3C145 sceKernelReleaseThreadEventHandler<br /> 0x730ED8BC sceKernelReferCallbackStatus<br /> 0x74829B76 sceKernelReceiveMsgPipe<br /> 0x75156E8F sceKernelResumeThread<br /> 0x7C0DC2A0 sceKernelCreateMsgPipe<br /> 0x7C41F2C2 sceKernelSendMsgPipeCB<br /> 0x7E65B999 sceKernelCancelAlarm<br /> 0x809CE29B sceKernelExitDeleteThread<br /> 0x812346E4 sceKernelClearEventFlag<br /> 0x8125221D sceKernelCreateMbx<br /> 0x8218B4DD sceKernelReferGlobalProfiler<br /> 0x82826F70 sceKernelSleepThreadCB<br /> 0x82BC5777 sceKernelGetSystemTimeWide<br /> 0x840E8133 sceKernelWaitThreadEndCB<br /> 0x86255ADA sceKernelDeleteMbx<br /> 0x876DBFAD sceKernelSendMsgPipe<br /> 0x87D4DD36 sceKernelCancelReceiveMbx<br /> 0x87D9223C sceKernelCancelMutex<br /> 0x884C9F90 sceKernelTrySendMsgPipe<br /> 0x89B3D48C sceKernelDeleteVpl<br /> 0x8DAFF657 sceKernelCreateTlspl<br /> 0x8FFDF9A2 sceKernelCancelSema<br /> 0x912354A7 sceKernelRotateThreadReadyQueue<br /> 0x94416130 sceKernelGetThreadmanIdList<br /> 0x94AA61EE sceKernelGetThreadCurrentPriority<br /> 0x9944F31F sceKernelSuspendThread<br /> 0x9ACE131E sceKernelSleepThread<br /> 0x9FA03CD3 sceKernelDeleteThread<br /> 0xA1F78052 _sceKernelReturnFromChangeStack<br /> 0xA66B0120 sceKernelReferEventFlagStatus<br /> 0xA8AA591F sceKernelCancelFpl<br /> 0xA8E8C846 sceKernelReferMbxStatus<br /> 0xA9C2CB9A sceKernelReferMutexStatus<br /> 0xAA73C935 sceKernelExitThread<br /> 0xAF36D708 sceKernelTryAllocateVpl<br /> 0xB011B11F sceKernelLockMutex<br /> 0xB2C25152 sceKernelSetSysClockAlarm<br /> 0xB3A59970 sceKernelGetVTimerBase<br /> 0xB736E9FF sceKernelFreeVpl<br /> 0xB7C18B77 sceKernelGetVTimerBaseWide<br /> 0xB7D098C6 sceKernelCreateMutex<br /> 0xBA4051D6 sceKernelCancelCallback<br /> 0xBA6B92E2 sceKernelSysClock2USec<br /> 0xBC6FEBC5 sceKernelReferSemaStatus<br /> 0xBC80EC7C sceKernelExtendThreadStack<br /> 0xBD123D9E sceKernelDelaySysClockThread<br /> 0xBED27435 sceKernelAllocateVpl<br /> 0xC07BB470 sceKernelCreateFpl<br /> 0xC0B3FFD2 sceKernelGetVTimerTimeWide<br /> 0xC11BA8C4 sceKernelNotifyCallback<br /> 0xC68D9437 sceKernelStartVTimer<br /> 0xC8CD158C sceKernelUSec2SysClockWide<br /> 0xCD203292 sceKernelCancelEventFlag<br /> 0xCEADEB47 sceKernelDelayThread<br /> 0xD0AEEE87 sceKernelStopVTimer<br /> 0xD13BDE95 sceKernelCheckThreadStack<br /> 0xD2D615EF sceKernelCancelVTimerHandler<br /> 0xD59EAD2F sceKernelWakeupThread<br /> 0xD6DA4BA1 sceKernelCreateSema<br /> 0xD8199E4C sceKernelReferFplStatus<br /> 0xD8B299AE sceKernelSetVTimerHandler<br /> 0xD979E9BF sceKernelAllocateFpl<br /> 0xDAA3F564 sceKernelReferAlarmStatus<br /> 0xDB738F35 sceKernelGetSystemTime<br /> 0xDF52098F sceKernelTryReceiveMsgPipe<br /> 0xE1619D7C sceKernelSysClock2USecWide<br /> 0xE7282CB6 sceKernelAllocateFplCB<br /> 0xE81CAF8F sceKernelCreateCallback<br /> 0xE9B3061E sceKernelSendMbx<br /> 0xEA748E31 sceKernelChangeCurrentThreadAttr<br /> 0xEC0A693F sceKernelAllocateVplCB<br /> 0xED1410E0 sceKernelDeleteFpl<br /> 0xEDBA5844 sceKernelDeleteCallback<br /> 0xEF9E4C70 sceKernelDeleteEventFlag<br /> 0xF0B7DA1C sceKernelDeleteMsgPipe<br /> 0xF3986382 sceKernelReceiveMbxCB<br /> 0xF475845D sceKernelStartThread<br /> 0xF6414A71 sceKernelFreeFpl<br /> 0xF8170FBE sceKernelDeleteMutex<br /> 0xFB6425C3 sceKernelSetVTimerTimeWide<br /> 0xFBFA697D sceKernelReceiveMsgPipeCB<br /> 0xFCCFAD26 sceKernelCancelWakeupThread<br /> 0xFFC36A14 sceKernelReferThreadRunStatus<br /> <br /> Library: ThreadMonForUser<br /> 0x13BA4700 sceKernelThreadMonStart<br /> 0xAC447E49 sceKernelThreadMonStop<br /> 0xBA56557C sceKernelThreadMonSetBuffer<br /> 0xCE710A2C sceKernelThreadMonReset<br /> <br /> Library: UtilsForUser<br /> 0x06FB8A63 sceKernelUtilsMt19937UInt<br /> 0x16641D70 sceKernelDcacheReadTag<br /> 0x27CC57F0 sceKernelLibcTime<br /> 0x346F6DA8 sceKernelUtilsSha1BlockUpdate<br /> 0x34B9FA9E sceKernelDcacheWritebackInvalidateRange<br /> 0x37FB5C42 sceKernelGetGPI<br /> 0x3EE30821 sceKernelDcacheWritebackRange<br /> 0x43C9A8DB sceKernelL1IcacheInvalidateRange<br /> 0x4FD31C9D sceKernelIcacheProbe<br /> 0x585F1C09 sceKernelUtilsSha1BlockResult<br /> 0x61E1E525 sceKernelUtilsMd5BlockUpdate<br /> 0x6AD345D7 sceKernelSetGPO<br /> 0x71EC4271 sceKernelLibcGettimeofday<br /> 0x77DFF087 sceKernelDcacheProbeRange<br /> 0x79D1C3FA sceKernelDcacheWritebackAll<br /> 0x80001C4C sceKernelDcacheProbe<br /> 0x840259F1 sceKernelUtilsSha1Digest<br /> 0x87E81561 sceKernelPutUserLog<br /> 0x91E4F6A7 sceKernelLibcClock<br /> 0x920F104A sceKernelIcacheInvalidateAll<br /> 0x9E5C5086 sceKernelUtilsMd5BlockInit<br /> 0xB435DEC5 sceKernelDcacheWritebackInvalidateAll<br /> 0xB8D24E78 sceKernelUtilsMd5BlockResult<br /> 0xBFA98062 sceKernelDcacheInvalidateRange<br /> 0xC2DF770E sceKernelIcacheInvalidateRange<br /> 0xC8186A58 sceKernelUtilsMd5Digest<br /> 0xE860E75E sceKernelUtilsMt19937Init<br /> 0xF8FCD5BA sceKernelUtilsSha1BlockInit<br /> 0xFB05FAD0 sceKernelIcacheReadTag<br /> <br /> Library: deflt<br /> 0x0BA3B9CC sceGzipGetCompressedData_deflt<br /> 0x106A3552 sceGzipGetName_deflt<br /> 0x1B5B82BC sceGzipIsValid_deflt<br /> 0x2EE39A64 sceZlibAdler32_deflt<br /> 0x44054E03 sceDeflateDecompress_deflt<br /> 0x6A548477 sceZlibGetCompressedData_deflt<br /> 0x6DBCF897 sceGzipDecompress_deflt<br /> 0x8AA82C92 sceGzipGetInfo_deflt<br /> 0xA9E4FB28 sceZlibDecompress_deflt<br /> 0xAFE01FD3 sceZlibGetInfo_deflt<br /> 0xB767F9A0 sceGzipGetComment_deflt<br /> 0xE46EB986 sceZlibIsValid_deflt<br /> <br /> Library: sceAac<br /> 0x02098C69 sceAacGetInfoToAddStreamData<br /> 0x23D35CAE sceAacTermResource<br /> 0x33B8C009 sceAacExit<br /> 0x506BF66C sceAacGetSumDecodedSample<br /> 0x523347D9 sceAacGetLoopNum<br /> 0x5CFFC57C sceAacInitResource<br /> 0x61AA43C9 sceAacEndEntry<br /> 0x6C05813B sceAacStartEntry<br /> 0x6DC7758A sceAacGetMaxOutputSample<br /> 0x7E4CFEE4 sceAacDecode<br /> 0xAC6DCBE3 sceAacNotifyAddStreamData<br /> 0xBBDD6403 sceAacSetLoopNum<br /> 0xD2DA2BBA sceAacResetPlayPosition<br /> 0xD7C51541 sceAacCheckStreamDataNeeded<br /> 0xE0C89ACA sceAacInit<br /> <br /> Library: sceAdler<br /> 0x9702EF11 sceAdler32<br /> <br /> Library: sceAtrac3plus<br /> 0x0C116E1B sceAtracLowLevelDecode<br /> 0x0E2A73AB sceAtracSetData<br /> 0x0FAE370E sceAtracSetHalfwayBufferAndGetID<br /> 0x132F1ECA sceAtracReinit<br /> 0x1575D64B sceAtracLowLevelInitDecoder<br /> 0x231FC6B7 _sceAtracGetContextAddress<br /> 0x2DD3E298 sceAtracGetBufferInfoForResetting<br /> 0x31668BAA sceAtracGetChannel<br /> 0x36FAABFB sceAtracGetNextSample<br /> 0x3F6E26B5 sceAtracSetHalfwayBuffer<br /> 0x5622B7C1 sceAtracSetAA3DataAndGetID<br /> 0x5CF9D852 sceAtracSetMOutHalfwayBuffer<br /> 0x5D268707 sceAtracGetStreamDataInfo<br /> 0x5DD66588 sceAtracSetAA3HalfwayBufferAndGetID<br /> 0x61EB33F5 sceAtracReleaseAtracID<br /> 0x644E5607 sceAtracResetPlayPosition<br /> 0x6A8C3CD5 sceAtracDecodeData<br /> 0x780F88D1 sceAtracGetAtracID<br /> 0x7A20E7AF sceAtracSetDataAndGetID<br /> 0x7DB31251 sceAtracAddStreamData<br /> 0x83BF7AFD sceAtracSetSecondBuffer<br /> 0x83E85EA0 sceAtracGetSecondBufferInfo<br /> 0x868120B5 sceAtracSetLoopNum<br /> 0x9AE849A7 sceAtracGetRemainFrame<br /> 0x9CD7DE03 sceAtracSetMOutHalfwayBufferAndGetID<br /> 0xA2BBA8BE sceAtracGetSoundSample<br /> 0xA554A158 sceAtracGetBitrate<br /> 0xB3B5D042 sceAtracGetOutputChannel<br /> 0xCA3CA3D2 sceAtracGetBufferInfoForReseting<br /> 0xD1F59FDB sceAtracStartEntry<br /> 0xD5C28CC0 sceAtracEndEntry<br /> 0xD6A5F2F7 sceAtracGetMaxSample<br /> 0xE23E3A35 sceAtracGetNextDecodePosition<br /> 0xE88F759B sceAtracGetInternalErrorInfo<br /> 0xECA32A99 sceAtracIsSecondBufferNeeded<br /> 0xFAA4F89B sceAtracGetLoopStatus<br /> <br /> Library: sceAudio<br /> 0x01562BA3 sceAudioOutput2Reserve<br /> 0x086E5895 sceAudioInputBlocking<br /> 0x136CAF51 sceAudioOutputBlocking<br /> 0x13F592BC sceAudioOutputPannedBlocking<br /> 0x2D53F36E sceAudioOutput2OutputBlocking<br /> 0x41EFADE7 sceAudioOneshotOutput<br /> 0x43196845 sceAudioOutput2Release<br /> 0x5EC81C55 sceAudioChReserve<br /> 0x63F2889C sceAudioOutput2ChangeLength<br /> 0x647CEF33 sceAudioOutput2GetRestSample<br /> 0x6D4BEC68 sceAudioInput<br /> 0x6FC46853 sceAudioChRelease<br /> 0x7DE61688 sceAudioInputInit<br /> 0x87B2E651 sceAudioWaitInputEnd<br /> 0x8C1009B2 sceAudioOutput<br /> 0x95FD0C2D sceAudioChangeChannelConfig<br /> 0xA633048E sceAudioPollInputEnd<br /> 0xA708C6A6 sceAudioGetInputLength<br /> 0xB011922F sceAudioGetChannelRestLength<br /> 0xB7E1D8E7 sceAudioChangeChannelVolume<br /> 0xCB2E439E sceAudioSetChannelDataLen<br /> 0xE2D56B2D sceAudioOutputPanned<br /> 0xE926D3FB sceAudioInputInitEx<br /> 0xE9D97901 sceAudioGetChannelRestLen<br /> <br /> Library: sceAudioRouting<br /> 0x28235C56 sceAudioRoutingGetVolumeMode<br /> 0x36FD8AA9 sceAudioRoutingSetMode<br /> 0x39240E7D sceAudioRoutingGetMode<br /> 0xBB548475 sceAudioRoutingSetVolumeMode<br /> <br /> Library: sceBase16<br /> 0x7AD4677A sceBase16Encoder<br /> 0xFF021EBB sceBase16Decoder<br /> <br /> Library: sceBase32<br /> 0x1D2F25FE sceBase32Encoder<br /> 0x79AE12DD sceBase32HexEncoder<br /> 0xC593B079 sceBase32HexDecoder<br /> 0xD5A58F29 sceBase32Decoder<br /> <br /> Library: sceBase64<br /> 0x3AE99AAF sceBase64Decoder<br /> 0x43543731 sceBase64Encoder<br /> <br /> Library: sceCcc<br /> 0x00D1378F sceCccUTF8toUTF16<br /> 0x068C4320 sceCccEncodeSJIS<br /> 0x17E1D813 sceCccSetErrorCharUTF8<br /> 0x41B724A5 sceCccUTF16toUTF8<br /> 0x4BDEB2A8 sceCccStrlenUTF16<br /> 0x67BF0D19 sceCccIsValidSJIS<br /> 0x6F82EE03 sceCccUTF8toSJIS<br /> 0x70ECAA10 sceCccUCStoJIS<br /> 0x76E33E9C sceCccIsValidUCS2<br /> 0x8406F469 sceCccEncodeUTF16<br /> 0x90521AC5 sceCccIsValidUTF8<br /> 0x92C05851 sceCccEncodeUTF8<br /> 0x953E6C10 sceCccDecodeSJIS<br /> 0xA2D5D209 sceCccIsValidJIS<br /> 0xA62E6E80 sceCccSJIStoUTF8<br /> 0xB4D1CBBF sceCccSetTable<br /> 0xB7D3C112 sceCccStrlenUTF8<br /> 0xB8476CF4 sceCccSetErrorCharUTF16<br /> 0xBD11EEF3 sceCccIsValidUnicode<br /> 0xBEB47224 sceCccSJIStoUTF16<br /> 0xC56949AD sceCccSetErrorCharSJIS<br /> 0xC6A8BEE2 sceCccDecodeUTF8<br /> 0xCC0A8BDA sceCccIsValidUTF16<br /> 0xD2B18485 sceCccIsValidUCS4<br /> 0xD9392CCB sceCccStrlenSJIS<br /> 0xE0CF8091 sceCccDecodeUTF16<br /> 0xF1B73D12 sceCccUTF16toSJIS<br /> 0xFB7846E2 sceCccJIStoUCS<br /> <br /> Library: sceCtrl<br /> 0x02BAAD91 sceCtrlGetSamplingCycle<br /> 0x0B588501 sceCtrlReadLatch<br /> 0x1F4011E6 sceCtrlSetSamplingMode<br /> 0x1F803938 sceCtrlReadBufferPositive<br /> 0x3A622550 sceCtrlPeekBufferPositive<br /> 0x60B81F86 sceCtrlReadBufferNegative<br /> 0x6841BE1A sceCtrlSetRapidFire<br /> 0x687660FA sceCtrlGetIdleCancelThreshold<br /> 0x6A2774F3 sceCtrlSetSamplingCycle<br /> 0xA68FD260 sceCtrlClearRapidFire<br /> 0xA7144800 sceCtrlSetIdleCancelThreshold<br /> 0xB1D0E5CD sceCtrlPeekLatch<br /> 0xC152080A sceCtrlPeekBufferNegative<br /> 0xDA6B76A1 sceCtrlGetSamplingMode<br /> <br /> Library: sceDeci2pForUser<br /> 0x46588220 sceKernelDeci2pOpen<br /> 0x5947AE64 sceKernelDeci2pClose<br /> 0x6E2E0BF3 sceKernelDeci2pWrite<br /> 0x9736CCD5 sceKernelDeci2pRead<br /> 0xA9542A53 sceKernelDeci2pRegisterCallback<br /> <br /> Library: sceDeflt<br /> 0x0BA3B9CC sceGzipGetCompressedData<br /> 0x106A3552 sceGzipGetName<br /> 0x1B5B82BC sceGzipIsValid<br /> 0x2EE39A64 sceZlibAdler32<br /> 0x44054E03 sceDeflateDecompress<br /> 0x6A548477 sceZlibGetCompressedData<br /> 0x6DBCF897 sceGzipDecompress<br /> 0x8AA82C92 sceGzipGetInfo<br /> 0xA9E4FB28 sceZlibDecompress<br /> 0xAFE01FD3 sceZlibGetInfo<br /> 0xB767F9A0 sceGzipGetComment<br /> 0xE46EB986 sceZlibIsValid<br /> <br /> Library: sceDisplay<br /> 0x0E20F177 sceDisplaySetMode<br /> 0x210EAB3A sceDisplayGetAccumulatedHcount<br /> 0x289D82FE sceDisplaySetFrameBuf<br /> 0x36CDFADE sceDisplayWaitVblank<br /> 0x40F1469C sceDisplayWaitVblankStartMulti<br /> 0x46F186C3 sceDisplayWaitVblankStartCB<br /> 0x4D4E10EC sceDisplayIsVblank<br /> 0x773DD3A3 sceDisplayGetCurrentHcount<br /> 0x77ED8B3A sceDisplayWaitVblankStartMultiCB<br /> 0x7ED59BC4 sceDisplaySetHoldMode<br /> 0x8EB9EC49 sceDisplayWaitVblankCB<br /> 0x984C27E7 sceDisplayWaitVblankStart<br /> 0x9C6EAAD7 sceDisplayGetVcount<br /> 0xB4F378FA sceDisplayIsForeground<br /> 0xDBA6C4C4 sceDisplayGetFramePerSec<br /> 0xDEA197D4 sceDisplayGetMode<br /> 0xEEDA2E54 sceDisplayGetFrameBuf<br /> <br /> Library: sceDmac<br /> 0x617F3FE6 sceDmacMemcpy<br /> <br /> Library: sceG729<br /> 0x13F1028A sceG729DecodeExit<br /> 0x17C11696 sceG729DecodeInitResource<br /> 0x3489D1F3 sceG729DecodeCore<br /> 0x55E14F75 sceG729DecodeInit<br /> 0x5A409D1B sceG729EncodeExit<br /> 0x74804D93 sceG729DecodeReset<br /> 0x890B86AE sceG729DecodeTermResource<br /> 0x8C87A2CA sceG729EncodeReset<br /> 0x94714D50 sceG729EncodeTermResource<br /> 0xAA1E5462 sceG729EncodeInitResource<br /> 0xCFCD367C sceG729EncodeInit<br /> 0xDB7259D5 sceG729EncodeCore<br /> <br /> Library: sceGameUpdate<br /> 0x596AD78C sceGameUpdateRun<br /> 0x5F5D98A6 sceGameUpdateAbort<br /> 0xBB4B68DE sceGameUpdateTerm<br /> 0xCBE69FB3 sceGameUpdateInit<br /> <br /> Library: sceGe_user<br /> 0x03444EB4 sceGeListSync<br /> 0x05DB22CE sceGeUnsetCallback<br /> 0x0BF608FB sceGeRestoreContext<br /> 0x1C0D95A6 sceGeListEnQueueHead<br /> 0x1F6752AD sceGeEdramGetSize<br /> 0x438A385A sceGeSaveContext<br /> 0x4C06E472 sceGeContinue<br /> 0x57C8945B sceGeGetMtx<br /> 0x5FB86AB0 sceGeListDeQueue<br /> 0xA4FC06A4 sceGeSetCallback<br /> 0xAB49E76A sceGeListEnQueue<br /> 0xB287BD61 sceGeDrawSync<br /> 0xB448EC0D sceGeBreak<br /> 0xB77905EA sceGeEdramSetAddrTranslation<br /> 0xDC93CFEF sceGeGetCmd<br /> 0xE0D68148 sceGeListUpdateStallAddr<br /> 0xE47E40E4 sceGeEdramGetAddr<br /> <br /> Library: sceHeap<br /> 0x0E875980 sceHeapReallocHeapMemory<br /> 0x1C84B58D sceHeapReallocHeapMemoryWithOption<br /> 0x2A0C2009 sceHeapGetMallinfo<br /> 0x2ABADC63 sceHeapFreeHeapMemory<br /> 0x2B7299D8 sceHeapAllocHeapMemoryWithOption<br /> 0x4929B40D sceHeapGetTotalFreeSize<br /> 0x7012BBDD sceHeapIsAllocatedHeapMemory<br /> 0x70210B73 sceHeapDeleteHeap<br /> 0x7DE281C2 sceHeapCreateHeap<br /> 0xA8E102A0 sceHeapAllocHeapMemory<br /> <br /> Library: sceHprm<br /> 0x208DB1BD sceHprmIsRemoteExist<br /> 0x219C58F1 sceHprmIsMicrophoneExist<br /> 0x2BCEC83E sceHprmPeekLatch<br /> 0x40D2F9F0 sceHprmReadLatch<br /> 0x444ED0B7 sceHprmUnregitserCallback<br /> 0x7E69EDA4 sceHprmIsHeadphoneExist<br /> 0xC7154136 sceHprmRegisterCallback<br /> 0xFD7DE6CD sceHprmUnregisterCallback<br /> <br /> Library: sceHttp<br /> 0x0282A3BD sceHttpGetContentLength<br /> 0x03D9526F sceHttpSetResolveRetry<br /> 0x06488A1C sceHttpSetCookieSendCallback<br /> 0x0809C831 sceHttpEnableRedirect<br /> 0x0B12ABFB sceHttpDisableCookie<br /> 0x0DAFA58F sceHttpEnableCookie<br /> 0x15540184 sceHttpDeleteHeader<br /> 0x1A0EBB69 sceHttpDisableRedirect<br /> 0x1CEDB9D4 sceHttpFlushCache<br /> 0x1F0FC3E3 sceHttpSetRecvTimeOut<br /> 0x2255551E sceHttpGetNetworkPspError<br /> 0x267618F4 sceHttpSetAuthInfoCallback<br /> 0x2A6C3296 sceHttpSetAuthInfoCB<br /> 0x2C3C82CF sceHttpFlushAuthList<br /> 0x3A67F306 sceHttpSetCookieRecvCallback<br /> 0x3EABA285 sceHttpAddExtraHeader<br /> 0x47347B50 sceHttpCreateRequest<br /> 0x47940436 sceHttpSetResolveTimeOut<br /> 0x4CC7D78F sceHttpGetStatusCode<br /> 0x5152773B sceHttpDeleteConnection<br /> 0x54E7DF75 sceHttpIsRequestInCache<br /> 0x569A1481 sceHttpsSetSslCallback<br /> 0x59E6D16F sceHttpEnableCache<br /> 0x68AB0F86 sceHttpsInitWithPath<br /> 0x76D1363B sceHttpSaveSystemCookie<br /> 0x7774BF4C sceHttpAddCookie<br /> 0x78A0D3EC sceHttpEnableKeepAlive<br /> 0x78B54C09 sceHttpEndCache<br /> 0x87797BDD sceHttpsLoadDefaultCert<br /> 0x8ACD1F73 sceHttpSetConnectTimeOut<br /> 0x8EEFD953 sceHttpCreateConnection<br /> 0x9668864C sceHttpSetRecvBlockSize<br /> 0x96F16D3E sceHttpGetCookie<br /> 0x9988172D sceHttpSetSendTimeOut<br /> 0x9AFC98B2 sceHttpSendRequestInCacheFirstMode<br /> 0x9B1F1F36 sceHttpCreateTemplate<br /> 0x9FC5F10D sceHttpEnableAuth<br /> 0xA4496DE5 sceHttpSetRedirectCallback<br /> 0xA5512E01 sceHttpDeleteRequest<br /> 0xA6800C34 sceHttpInitCache<br /> 0xAB1540D5 sceHttpsGetSslError<br /> 0xAB1ABE07 sceHttpInit<br /> 0xAE948FEE sceHttpDisableAuth<br /> 0xB0C34B1D sceHttpSetCacheContentLengthMaxSize<br /> 0xB3FAF831 sceHttpsDisableOption<br /> 0xB509B09E sceHttpCreateRequestWithURL<br /> 0xBAC31BF1 sceHttpsEnableOption<br /> 0xBB70706F sceHttpSendRequest<br /> 0xC10B6BD9 sceHttpAbortRequest<br /> 0xC6330B0D sceHttpChangeHttpVersion<br /> 0xC7EF2559 sceHttpDisableKeepAlive<br /> 0xC98CBBA7 sceHttpSetResHeaderMaxSize<br /> 0xCCBD167A sceHttpDisableCache<br /> 0xCDF8ECB9 sceHttpCreateConnectionWithURL<br /> 0xD081EC8F sceHttpGetNetworkErrno<br /> 0xD11DAB01 sceHttpsGetCaList<br /> 0xD1C8945E sceHttpEnd<br /> 0xD70D4847 sceHttpGetProxy<br /> 0xDB266CCF sceHttpGetAllHeader<br /> 0xE4D21302 sceHttpsInit<br /> 0xEDEEB999 sceHttpReadData<br /> 0xF0F46C62 sceHttpSetProxy<br /> 0xF1657B22 sceHttpLoadSystemCookie<br /> 0xF49934F6 sceHttpSetMallocFunction<br /> 0xF9D8EB63 sceHttpsEnd<br /> 0xFCF8C055 sceHttpDeleteTemplate<br /> <br /> Library: sceImpose<br /> 0x24FD7BCF sceImposeGetLanguageMode<br /> 0x36AA6E91 sceImposeSetLanguageMode<br /> 0x72189C48 sceImposeSetUMDPopup<br /> 0x8C943191 sceImposeGetBatteryIconStatus<br /> 0x8F6E3518 sceImposeGetBacklightOffTime<br /> 0x967F6D4A sceImposeSetBacklightOffTime<br /> 0xE0887BC8 sceImposeGetUMDPopup<br /> <br /> Library: sceJpeg<br /> 0x04B5AE02 sceJpegMJpegCsc<br /> 0x04B93CEF sceJpegDecodeMJpeg<br /> 0x227662D7 sceJpegDecodeMJpegYCbCrSuccessively<br /> 0x48B602B7 sceJpegDeleteMJpeg<br /> 0x64B6F978 sceJpegDecodeMJpegSuccessively<br /> 0x67F0ED84 sceJpegCsc<br /> 0x7D2F3D7F sceJpegFinishMJpeg<br /> 0x8F2BB012 sceJpegGetOutputInfo<br /> 0x91EED83C sceJpegDecodeMJpegYCbCr<br /> 0x9D47469C sceJpegCreateMJpeg<br /> 0xA06A75C4 sceJpegMJpegCscWithColorOption<br /> 0xAC9E70E6 sceJpegInitMJpeg<br /> <br /> Library: sceMd5<br /> 0x19884A15 sceMd5BlockInit<br /> 0x4876AFFF sceMd5BlockResult<br /> 0x98E31A9E sceMd5Digest<br /> 0xA30206C2 sceMd5BlockUpdate<br /> <br /> Library: sceMp3<br /> 0x07EC321A sceMp3ReserveMp3Handle<br /> 0x0840E808 sceMp3ResetPlayPositionByFrame<br /> 0x0DB149F4 sceMp3NotifyAddStreamData<br /> 0x1B839B83 sceMp3LowLevelInit<br /> 0x2A368661 sceMp3ResetPlayPosition<br /> 0x3548AEC8 sceMp3GetFrameNum<br /> 0x354D27EA sceMp3GetSumDecodedSample<br /> 0x35750070 sceMp3InitResource<br /> 0x3C2FA058 sceMp3TermResource<br /> 0x3CEF484F sceMp3SetLoopNum<br /> 0x44E07129 sceMp3Init<br /> 0x732B042A sceMp3EndEntry<br /> 0x7F696782 sceMp3GetMp3ChannelNum<br /> 0x87677E40 sceMp3GetBitRate<br /> 0x87C263D1 sceMp3GetMaxOutputSample<br /> 0x8AB81558 sceMp3StartEntry<br /> 0x8F450998 sceMp3GetSamplingRate<br /> 0xA703FE0F sceMp3GetInfoToAddStreamData<br /> 0xAE6D2027 sceMp3GetMPEGVersion<br /> 0xD021C0FB sceMp3Decode<br /> 0xD0A56296 sceMp3CheckStreamDataNeeded<br /> 0xD8F54A51 sceMp3GetLoopNum<br /> 0xE3EE2C81 sceMp3LowLevelDecode<br /> 0xF5478233 sceMp3ReleaseMp3Handle<br /> <br /> Library: sceMp4<br /> 0x01C76489 sceMp4TrackSampleBufDestruct<br /> 0x0F0187D2 sceMp4GetAvcTrackInfoData<br /> 0x10EE0D2C sceMp4AacDecodeInit<br /> 0x113E9E7B sceMp4GetNumberOfMetaData<br /> 0x131BDE57 sceMp4InitAu<br /> 0x17EAA97D sceMp4GetAvcAuWithoutSampleBuf<br /> 0x28CCB940 sceMp4GetTrackEditList<br /> 0x3069C2B5 sceMp4GetAvcParamSet<br /> 0x31BCD7E0 sceMp4TrackSampleBufPut<br /> 0x427BEF7F sceMp4GetTrackNumOfEditList<br /> 0x496E8A65 sceMp4TrackSampleBufFlush<br /> 0x4ED4AB1E sceMp4AacDecodeInitResource<br /> 0x4FB5B756 sceMp4GetMetaDataInfo<br /> 0x503A3CBA sceMp4GetAvcAu<br /> 0x532029B8 sceMp4GetAacAuWithoutSampleBuf<br /> 0x538C2057 sceMp4Delete<br /> 0x5601A6F0 sceMp4GetAacAu<br /> 0x5D72B333 sceMp4AacDecodeExit<br /> 0x5EB65F26 sceMp4GetNumberOfSpecificTrack<br /> 0x6710FE77 sceMp4UnregistTrack<br /> 0x68651CBC sceMp4Init<br /> 0x7443AF1D sceMp4GetMovieInfo<br /> 0x74A1CA3E sceMp4SearchSyncSampleNum<br /> 0x7663CB5C sceMp4AacDecode<br /> 0x7ADFD01C sceMp4RegistTrack<br /> 0x7D332394 sceMp4AacDecodeTermResource<br /> 0x8754ECB8 sceMp4TrackSampleBufAvailableSize<br /> 0x9042B257 sceMp4Finish<br /> 0x9C8F4FC1 sceMp4TrackSampleBufConstruct<br /> 0x9CE6F5CF sceMp4GetAacTrackInfoData<br /> 0xA6C724DC sceMp4GetSampleNum<br /> 0xB1221EE7 sceMp4Create<br /> 0xB4B400D1 sceMp4GetSampleNumWithTimeStamp<br /> 0xBCA9389C sceMp4TrackSampleBufQueryMemSize<br /> 0xD2AC9A7E sceMp4GetMetaData<br /> 0xD8250B75 sceMp4PutSampleNum<br /> 0xF7C51EC1 sceMp4GetSampleInfo<br /> <br /> Library: sceMpeg<br /> 0x01977054 sceMpegGetUserdataAu<br /> 0x0558B075 sceMpegAvcCopyYCbCr<br /> 0x0E3C2E9D sceMpegAvcDecode<br /> 0x0F6C18D7 sceMpegAvcDecodeDetail<br /> 0x11F95CF1 sceMpegGetAvcNalAu<br /> 0x13407F13 sceMpegRingbufferDestruct<br /> 0x167AFD9E sceMpegInitAu<br /> 0x211A057C sceMpegAvcQueryYCbCrSize<br /> 0x21FF80E4 sceMpegQueryStreamOffset<br /> 0x234586AE sceMpegChangeGetAvcAuMode<br /> 0x31BD0272 sceMpegAvcCsc<br /> 0x37295ED8 sceMpegRingbufferConstruct<br /> 0x3C37A7A6 sceMpegNextAvcRpAu<br /> 0x42560F23 sceMpegRegistStream<br /> 0x4571CC64 sceMpegAvcDecodeFlush<br /> 0x500F0429 sceMpegFlushStream<br /> 0x591A4AA2 sceMpegUnRegistStream<br /> 0x606A4649 sceMpegDelete<br /> 0x611E9E11 sceMpegQueryStreamSize<br /> 0x63B9536A sceMpegAvcResourceGetAvcDecTopAddr<br /> 0x67179B1B sceMpegAvcInitYCbCr<br /> 0x682A619B sceMpegInit<br /> 0x707B7629 sceMpegFlushAllStream<br /> 0x740FCCD1 sceMpegAvcDecodeStop<br /> 0x769BEBB6 sceMpegRingbufferQueryPackNum<br /> 0x800C44DF sceMpegAtracDecode<br /> 0x8160A2FE sceMpegAvcResourceFinish<br /> 0x874624D6 sceMpegFinish<br /> 0x8C1E027D sceMpegGetPcmAu<br /> 0x921FCCCF sceMpegGetAvcEsAu<br /> 0x9DCFB7EA sceMpegChangeGetAuMode<br /> 0xA11C7026 sceMpegAvcDecodeMode<br /> 0xA780CF7E sceMpegMallocAvcEsBuf<br /> 0xAB0E9556 sceMpegAvcDecodeDetailIndex<br /> 0xAF26BB01 sceMpegAvcResourceGetAvcEsBuf<br /> 0xB240A59E sceMpegRingbufferPut<br /> 0xB5F6DC87 sceMpegRingbufferAvailableSize<br /> 0xC02CF6B5 sceMpegQueryPcmEsSize<br /> 0xC132E22F sceMpegQueryMemSize<br /> 0xC45C99CC sceMpegQueryUserdataEsSize<br /> 0xCEB870B1 sceMpegFreeAvcEsBuf<br /> 0xD7A29F46 sceMpegRingbufferQueryMemSize<br /> 0xD8C5F121 sceMpegCreate<br /> 0xE1CE83A7 sceMpegGetAtracAu<br /> 0xF0EB1125 sceMpegAvcDecodeYCbCr<br /> 0xF2930C9C sceMpegAvcDecodeStopYCbCr<br /> 0xF5E7EA31 sceMpegAvcConvertToYuv420<br /> 0xF8DCB679 sceMpegQueryAtracEsSize<br /> 0xFCBDB5AD sceMpegAvcResourceInit<br /> 0xFE246728 sceMpegGetAvcAu<br /> <br /> Library: sceMt19937<br /> 0xECF5D379 sceMt19937Init<br /> 0xF40C98E6 sceMt19937UInt<br /> <br /> Library: sceNet<br /> 0x0BF0A3AE sceNetGetLocalEtherAddr<br /> 0x281928A9 sceNetTerm<br /> 0x39AF39A6 sceNetInit<br /> 0x50647530 sceNetFreeThreadinfo<br /> 0x89360950 sceNetEtherNtostr<br /> 0xAD6844C6 sceNetThreadAbort<br /> 0xCC393E48 sceNetGetMallocStat<br /> 0xD27961C9 sceNetEtherStrton<br /> <br /> Library: sceNetAdhoc<br /> 0x0B2228E9 sceNetAdhocGameModeDeleteReplica<br /> 0x157E6225 sceNetAdhocPtpClose<br /> 0x3278AB0C sceNetAdhocGameModeCreateReplica<br /> 0x4D2CE199 sceNetAdhocGetSocketAlert<br /> 0x4DA4C788 sceNetAdhocPtpSend<br /> 0x6F92741B sceNetAdhocPdpCreate<br /> 0x73BFD52D sceNetAdhocSetSocketAlert<br /> 0x7A662D6B sceNetAdhocPollSocket<br /> 0x7F27BB5E sceNetAdhocPdpDelete<br /> 0x7F75C338 sceNetAdhocGameModeCreateMaster<br /> 0x877F6D66 sceNetAdhocPtpOpen<br /> 0x8BEA2B3E sceNetAdhocPtpRecv<br /> 0x98C204C8 sceNetAdhocGameModeUpdateMaster<br /> 0x9AC2EEAC sceNetAdhocPtpFlush<br /> 0x9DF81198 sceNetAdhocPtpAccept<br /> 0xA0229362 sceNetAdhocGameModeDeleteMaster<br /> 0xA62C6F57 sceNetAdhocTerm<br /> 0xABED3790 sceNetAdhocPdpSend<br /> 0xB9685118 sceNetAdhocGetPtpStat<br /> 0xC7C1FC57 sceNetAdhocGetPdpStat<br /> 0xDFE53E03 sceNetAdhocPdpRecv<br /> 0xE08BDAC1 sceNetAdhocPtpListen<br /> 0xE1D621D7 sceNetAdhocInit<br /> 0xFA324B4E sceNetAdhocGameModeUpdateReplica<br /> 0xFC6FC07B sceNetAdhocPtpConnect<br /> <br /> Library: sceNetAdhocDiscover<br /> 0x52DE1B97 sceNetAdhocDiscoverUpdate<br /> 0x941B3877 sceNetAdhocDiscoverInitStart<br /> 0x944DDBC6 sceNetAdhocDiscoverGetStatus<br /> 0xA2246614 sceNetAdhocDiscoverTerm<br /> 0xA423A21B sceNetAdhocDiscoverRequestSuspend<br /> 0xF7D13214 sceNetAdhocDiscoverStop<br /> <br /> Library: sceNetAdhocMatching<br /> 0x2A2A1E07 sceNetAdhocMatchingInit<br /> 0x32B156B3 sceNetAdhocMatchingStop<br /> 0x40F8F435 sceNetAdhocMatchingGetPoolMaxAlloc<br /> 0x5E3D4B79 sceNetAdhocMatchingSelectTarget<br /> 0x7945ECDA sceNetAdhocMatchingTerm<br /> 0x8F58BEDF sceNetAdhocMatchingCancelTargetWithOpt<br /> 0x93EF3843 sceNetAdhocMatchingStart<br /> 0x9C5CFB7D sceNetAdhocMatchingGetPoolStat<br /> 0xB58E61B7 sceNetAdhocMatchingSetHelloOpt<br /> 0xB5D96C2A sceNetAdhocMatchingGetHelloOpt<br /> 0xC58BCD9E sceNetAdhocMatchingGetMembers<br /> 0xCA5EDA6F sceNetAdhocMatchingCreate<br /> 0xEA3C6108 sceNetAdhocMatchingCancelTarget<br /> 0xEC19337D sceNetAdhocMatchingAbortSendData<br /> 0xF16EAF4F sceNetAdhocMatchingDelete<br /> 0xF79472D7 sceNetAdhocMatchingSendData<br /> <br /> Library: sceNetAdhocctl<br /> 0x08FFF7A0 sceNetAdhocctlScan<br /> 0x0AD043ED sceNetAdhocctlConnect<br /> 0x1FF89745 sceNetAdhocctlJoinEnterGameMode<br /> 0x20B317A0 sceNetAdhocctlAddHandler<br /> 0x34401D65 sceNetAdhocctlDisconnect<br /> 0x362CBE8F sceNetAdhocctlGetAdhocId<br /> 0x5A014CE0 sceNetAdhocctlGetGameModeInfo<br /> 0x5E7F79C9 sceNetAdhocctlJoin<br /> 0x6402490B sceNetAdhocctlDelHandler<br /> 0x75ECD386 sceNetAdhocctlGetState<br /> 0x81AEE1BE sceNetAdhocctlGetScanInfo<br /> 0x8916C003 sceNetAdhocctlGetNameByAddr<br /> 0x8DB83FDC sceNetAdhocctlGetPeerInfo<br /> 0x99560ABE sceNetAdhocctlGetAddrByName<br /> 0x9D689E13 sceNetAdhocctlTerm<br /> 0xA5C055CE sceNetAdhocctlCreateEnterGameMode<br /> 0xB0B80E80 sceNetAdhocctlCreateEnterGameModeMin<br /> 0xCF8E084D sceNetAdhocctlExitGameMode<br /> 0xDED9D28E sceNetAdhocctlGetParameter<br /> 0xE162CB14 sceNetAdhocctlGetPeerList<br /> 0xE26F226E sceNetAdhocctlInit<br /> 0xEC0635C1 sceNetAdhocctlCreate<br /> <br /> Library: sceNetApDialogDummy<br /> 0x3811281E sceNetApDialogDummyConnect<br /> 0xBB73FF67 sceNetApDialogDummyInit<br /> 0xCA9BE5BF sceNetApDialogDummyGetState<br /> 0xF213BE65 sceNetApDialogDummyTerm<br /> <br /> Library: sceNetApctl<br /> 0x24FE91A1 sceNetApctlDisconnect<br /> 0x2935C45B sceNetApctlGetBSSDescEntry2<br /> 0x2BEFDF23 sceNetApctlGetInfo<br /> 0x5963991B sceNetApctlDelHandler<br /> 0x5DEAC81B sceNetApctlGetState<br /> 0x8ABADD51 sceNetApctlAddHandler<br /> 0xA3E77E13 sceNetApctlScanSSID2<br /> 0xB3EDD0EC sceNetApctlTerm<br /> 0xCFB957C6 sceNetApctlConnect<br /> 0xE2F91F9B sceNetApctlInit<br /> 0xF25A5006 sceNetApctlGetBSSDescIDList2<br /> <br /> Library: sceNetIfhandle<br /> 0xC80181A2 sceNetGetDropRate<br /> 0xFD8585E1 sceNetSetDropRate<br /> <br /> Library: sceNetInet<br /> 0x05038FC7 sceNetInetSendto<br /> 0x162E6FD5 sceNetInetGetsockname<br /> 0x17943399 sceNetInetInit<br /> 0x1A33F9AE sceNetInetBind<br /> 0x1BDF5D13 sceNetInetInetAton<br /> 0x2FE71FE7 sceNetInetSetsockopt<br /> 0x39B0C7D3 sceNetInetGetUdpcbstat<br /> 0x410B34AA sceNetInetConnect<br /> 0x4A114C7C sceNetInetGetsockopt<br /> 0x4CFE4E56 sceNetInetShutdown<br /> 0x5BE8D595 sceNetInetSelect<br /> 0x774E36F4 sceNetInetSendmsg<br /> 0x7AA671BC sceNetInetSend<br /> 0x805502DD sceNetInetCloseWithRST<br /> 0x80A21ABD sceNetInetSocketAbort<br /> 0x8B7B220F sceNetInetSocket<br /> 0x8CA3A97E sceNetInetGetPspError<br /> 0x8D7284EA sceNetInetClose<br /> 0xA9ED66B9 sceNetInetTerm<br /> 0xB3888AD4 sceNetInetGetTcpcbstat<br /> 0xB75D5B0A sceNetInetInetAddr<br /> 0xC91142E4 sceNetInetRecvfrom<br /> 0xCDA85C99 sceNetInetRecv<br /> 0xD0792666 sceNetInetInetNtop<br /> 0xD10A1A7A sceNetInetListen<br /> 0xDB094E1B sceNetInetAccept<br /> 0xE247B6D6 sceNetInetGetpeername<br /> 0xE30B8C19 sceNetInetInetPton<br /> 0xEECE61D2 sceNetInetRecvmsg<br /> 0xFAABB1DD sceNetInetPoll<br /> 0xFBABE411 sceNetInetGetErrno<br /> <br /> Library: sceNetResolver<br /> 0x12748EB9 sceNetResolverWaitAsync<br /> 0x14C17EF9 sceNetResolverStartNtoAAsync<br /> 0x224C5F44 sceNetResolverStartNtoA<br /> 0x244172AF sceNetResolverCreate<br /> 0x4EE99358 sceNetResolverPollAsync<br /> 0x6138194A sceNetResolverTerm<br /> 0x629E2FB7 sceNetResolverStartAtoN<br /> 0x808F6063 sceNetResolverStop<br /> 0x94523E09 sceNetResolverDelete<br /> 0xAAC09184 sceNetResolverStartAtoNAsync<br /> 0xF3370E61 sceNetResolverInit<br /> <br /> Library: sceNetUpnp<br /> 0x27045362 sceNetUpnpGetNatInfo<br /> 0x3432B2E5 sceNetUpnpStart<br /> 0x3E32ED9E sceNetUpnpStop<br /> 0x540491EF sceNetUpnpTerm<br /> 0xE24220B5 sceNetUpnpInit<br /> <br /> Library: sceNp<br /> 0x1D60AE4B sceNpGetChatRestrictionFlag<br /> 0x37E1E274 sceNpTerm<br /> 0x4B5C71C8 sceNpGetOnlineId<br /> 0x633B5F71 sceNpGetNpId<br /> 0x7E0864DF sceNpGetUserProfile<br /> 0x857B47D3 sceNpInit<br /> 0xA0BE3C4B sceNpGetAccountRegion<br /> 0xBB069A87 sceNpGetContentRatingFlag<br /> 0xCDCC21D3 sceNpGetMyLanguages<br /> <br /> Library: sceNpAuth<br /> 0x3F1C1F70 sceNpAuthGetTicket<br /> 0x4EC1F667 sceNpAuthTerm<br /> 0x5A3CB57A sceNpAuthGetTicketParam<br /> 0x6900F084 sceNpAuthGetEntitlementById<br /> 0x72BB0467 sceNpAuthDestroyRequest<br /> 0x75FB0AE3 sceNpAuthGetEntitlementIdList<br /> 0xA1DE86F8 sceNpAuthInit<br /> 0xCD86A656 sceNpAuthCreateStartRequest<br /> 0xD99455DD sceNpAuthAbortRequest<br /> 0xF4531ADC sceNpAuthGetMemoryStat<br /> <br /> Library: sceNpCommerce2<br /> 0x005B5F20 sceNpCommerce2GetProductInfoStart<br /> 0x05E7AFBC sceNpCommerce2GetGameProductInfoFromContentInfo<br /> 0x0E9956E3 sceNpCommerce2Init<br /> 0x1888A9FE sceNpCommerce2DestroyReq<br /> 0x1C85ED88 sceNpCommerce2GetPrice<br /> 0x1C952DCB sceNpCommerce2GetGameProductInfo<br /> 0x2B25F6E9 sceNpCommerce2CreateSessionStart<br /> 0x3371D5F1 sceNpCommerce2GetProductInfoCreateReq<br /> 0x490210E0 sceNpCommerce2DestroyGetProductInfoResult<br /> 0x4ECD4503 sceNpCommerce2CreateSessionCreateReq<br /> 0x54FE8871 sceNpCommerce2GetCategoryInfo<br /> 0x57C8BD4E sceNpCommerce2GetCategoryInfoFromContentInfo<br /> 0x590A3229 sceNpCommerce2GetSessionInfo<br /> 0x5D8C2D99 sceNpCommerce2GetCategoryContentsCreateReq<br /> 0x6592FE83 sceNpCommerce2GetContentRatingDescriptor<br /> 0x6A2AE572 sceNpCommerce2GetContentRatingInfoFromGameProductInfo<br /> 0x6F1FE37F sceNpCommerce2CreateCtx<br /> 0x80A7AFDB sceNpCommerce2GetCategoryContentsGetResult<br /> 0xA5A34EA4 sceNpCommerce2Term<br /> 0xAA4A1E3D sceNpCommerce2GetProductInfoGetResult<br /> 0xB0D7AA90 sceNpCommerce2GetContentInfo<br /> 0xBC61FFC8 sceNpCommerce2CreateSessionGetResult<br /> 0xC5505A19 sceNpCommerce2GetContentRatingInfoFromCategoryInfo<br /> 0xC7F32242 sceNpCommerce2AbortReq<br /> 0xCEAB1829 sceNpCommerce2InitGetCategoryContentsResult<br /> 0xDD6758FA sceNpCommerce2GetCategoryContentsStart<br /> 0xED85ACCE sceNpCommerce2DestroyGetCategoryContentsResult<br /> 0xF2278B90 sceNpCommerce2GetGameSkuInfoFromGameProductInfo<br /> 0xF297AB9C sceNpCommerce2DestroyCtx<br /> 0xFC30C19E sceNpCommerce2InitGetProductInfoResult<br /> <br /> Library: sceNpMatching2<br /> 0x12C5A111 sceNpMatching2GetRoomDataExternalList<br /> 0x1421514B sceNpMatching2SetDefaultRoomEventOptParam<br /> 0x190FF903 sceNpMatching2ContextStart<br /> 0x22F38DAF sceNpMatching2GetMemoryStat<br /> 0x2B3892FC sceNpMatching2ContextStop<br /> 0x2E61F6E1 sceNpMatching2Init<br /> 0x3892E9A6 sceNpMatching2SignalingGetConnectionInfo<br /> 0x3DE70241 sceNpMatching2DestroyContext<br /> 0x495E97BD sceNpMatching2GrantRoomOwner<br /> 0x4EE3A8EC sceNpMatching2GetServerInfo<br /> 0x5030CC53 sceNpMatching2CreateContext<br /> 0x55F7837F sceNpMatching2SendRoomChatMessage<br /> 0x5C7DB6A4 sceNpMatching2GetRoomMemberDataInternalList<br /> 0x631682CC sceNpMatching2SetDefaultRequestOptParam<br /> 0x6D6D0C75 sceNpMatching2SignalingGetConnectionStatus<br /> 0x7BBFC427 sceNpMatching2JoinRoom<br /> 0x7D1D5F5E sceNpMatching2SetUserInfo<br /> 0x7DAA8A90 sceNpMatching2SetRoomMemberDataInternal<br /> 0x80F61558 sceNpMatching2GetRoomMemberIdListLocal<br /> 0x81C13E6D sceNpMatching2SearchRoom<br /> 0x8BF37D8C sceNpMatching2Term<br /> 0x8CD109E7 sceNpMatching2SignalingGetPeerNetInfo<br /> 0x9462C05A sceNpMatching2SignalingCancelPeerNetInfo<br /> 0x97529ECC sceNpMatching2KickoutRoomMember<br /> 0x9A67F5D0 sceNpMatching2SetSignalingOptParam<br /> 0xA3C298D1 sceNpMatching2RegisterSignalingCallback<br /> 0xA53E7C69 sceNpMatching2GetWorldInfoList<br /> 0xA5775DBF sceNpMatching2GetRoomMemberDataInternal<br /> 0xAAD0946A sceNpMatching2CreateJoinRoom<br /> 0xC7E72EC5 sceNpMatching2GetSignalingOptParamLocal<br /> 0xC870535A sceNpMatching2LeaveRoom<br /> 0xC8FC5D41 sceNpMatching2GetUserInfoList<br /> 0xD13491AB sceNpMatching2SetDefaultRoomMessageOptParam<br /> 0xD7D4AEB2 sceNpMatching2SetRoomDataExternal<br /> 0xDFEDB642 sceNpMatching2SignalingGetPeerNetInfoResult<br /> 0xE313E586 sceNpMatching2GetRoomDataInternal<br /> 0xE6C93DBD sceNpMatching2SetRoomDataInternal<br /> 0xEF683F4F sceNpMatching2GetRoomDataInternalLocal<br /> 0xF22C7ADC sceNpMatching2GetRoomMemberDataInternalLocal<br /> 0xF47342FC sceNpMatching2GetServerIdListLocal<br /> 0xF739BE92 sceNpMatching2GetRoomPasswordLocal<br /> 0xF940D9AD sceNpMatching2SendRoomMessage<br /> 0xFADBA9DB sceNpMatching2AbortRequest<br /> 0xFBF494C0 sceNpMatching2GetRoomMemberDataExternalList<br /> 0xFF32EA05 sceNpMatching2SignalingGetLocalNetInfo<br /> <br /> Library: sceNpService<br /> 0x00ACFAC3 sceNpServiceTerm<br /> 0x0F8F5821 sceNpServiceInit<br /> 0x168B8DE5 sceNpManagerSigninUpdateGetStatus<br /> 0x174D0D24 sceNpRosterDeleteBlockListEntry<br /> 0x1DA3E950 sceNpManagerSigninUpdateInitStart<br /> 0x250488F9 sceNpServiceGetMemoryStat<br /> 0x268C009D sceNpManagerSigninUpdateAbort<br /> 0x389A0D44 sceNpLookupNpId<br /> 0x4B4E4E71 sceNpLookupAbortTransaction<br /> 0x4E851B10 sceNpRosterGetFriendListEntry<br /> 0x506C318D sceNpRosterGetBlockListEntry<br /> 0x5494274B sceNpLookupCreateTransactionCtx<br /> 0x58251346 sceNpRosterGetFriendListEntryCount<br /> 0x5F5E32AF sceNpRosterAbort<br /> 0x66C64821 sceNpRosterDeleteRequest<br /> 0x72A1CE0D sceNpRosterDeleteFriendListEntry<br /> 0x75DACB57 sceNpRosterAcceptFriendListEntry<br /> 0x78802D5F sceNpManagerSigninUpdateShutdownStart<br /> 0x788F2B5E sceNpRosterAddFriendListEntry<br /> 0x90E4DB6A sceNpLookupUserProfile<br /> 0xA01443AA sceNpRosterGetBlockListEntryCount<br /> 0xA164CACC sceNpRosterGetFriendListMessage<br /> 0xA670D3A3 sceNpLookupDestroyTransactionCtx<br /> 0xBE22EEA3 sceNpRosterCreateRequest<br /> 0xC76F55ED sceNpLookupTitleSmallStorage<br /> 0xFC0BC8DB sceNpRosterAddBlockListEntry<br /> <br /> Library: sceOpenPSID<br /> 0xC69BEBCE sceOpenPSIDGetOpenPSID<br /> <br /> Library: sceP3da<br /> 0x013016F3 sceP3daBridgeCore<br /> 0x374500A5 sceP3daBridgeInit<br /> 0x43F756A2 sceP3daBridgeExit<br /> <br /> Library: sceParseHttp<br /> 0x8077A433 sceParseHttpStatusLine<br /> 0xAD7BFDEF sceParseHttpResponseHeader<br /> <br /> Library: sceParseUri<br /> 0x062BB07E sceUriUnescape<br /> 0x49E950EC sceUriEscape<br /> 0x568518C9 sceUriParse<br /> 0x7EE318AF sceUriBuild<br /> 0x8885A782 sceUriSweepPath<br /> 0x8AA55D17 sceUriMerge<br /> <br /> Library: scePower<br /> 0x04B7766E scePowerRegisterCallback<br /> 0x0AFD0D8B scePowerIsBatteryExist<br /> 0x1E490401 scePowerIsBatteryCharging<br /> 0x2085D15D scePowerGetBatteryLifePercent<br /> 0x34F9C463 scePowerGetPllClockFrequencyInt<br /> 0x469989AD scePowerSetClockFrequency<br /> 0x478FE6F5 scePowerGetBusClockFrequency<br /> 0x843FBF43 scePowerSetCpuClockFrequency<br /> 0x87440F5E scePowerIsPowerOnline<br /> 0x8EFB3FA2 scePowerGetBatteryLifeTime<br /> 0x9BADB3EB scePowerGetBusClockFrequencyFloat<br /> 0xA85880D0 scePowerCheckWlanCoexistenceClock<br /> 0xAC32C9CC scePowerRequestSuspend<br /> 0xB1A52C83 scePowerGetCpuClockFrequencyFloat<br /> 0xB8D7B3FB scePowerSetBusClockFrequency<br /> 0xBD681969 scePowerGetBusClockFrequencyInt<br /> 0xD3075926 scePowerIsLowBattery<br /> 0xDB9D28DD scePowerUnregitserCallback<br /> 0xDFA8BAF8 scePowerUnregisterCallback<br /> 0xEA382A27 scePowerGetPllClockFrequencyFloat<br /> 0xEBD177D6 scePowerSetClockFrequency350<br /> 0xEFD3C963 scePowerTick<br /> 0xFDB5BFE9 scePowerGetCpuClockFrequencyInt<br /> 0xFEE03A2F scePowerGetCpuClockFrequency<br /> <br /> Library: scePsmf<br /> 0x0BA514E5 scePsmfGetVideoInfo<br /> 0x0C120E1D scePsmfSpecifyStreamWithStreamTypeNumber<br /> 0x1E6D9013 scePsmfSpecifyStreamWithStreamType<br /> 0x2673646B scePsmfVerifyPsmf<br /> 0x28240568 scePsmfGetCurrentStreamNumber<br /> 0x40326D8F scePsmfCheckPsmfMark<br /> 0x43AC7DBB scePsmfGetPsmfMark<br /> 0x4BC9BDE0 scePsmfSpecifyStream<br /> 0x4E624A34 scePsmfGetEPWithId<br /> 0x5B70FCC1 scePsmfQueryStreamOffset<br /> 0x5F457515 scePsmfGetEPidWithTimestamp<br /> 0x68D42328 scePsmfGetNumberOfSpecificStreams<br /> 0x7491C438 scePsmfGetNumberOfEPentries<br /> 0x76D3AEBA scePsmfGetPresentationStartTime<br /> 0x7C0E7AC3 scePsmfGetEPWithTimestamp<br /> 0x8D843AB6 scePsmfGetPsmfMarkIdWithTimestamp<br /> 0x9553CC91 scePsmfQueryStreamSize<br /> 0x971A3A90 scePsmfCheckEPmap<br /> 0xA5EBFE81 scePsmfGetStreamSize<br /> 0xA83F7113 scePsmfGetAudioInfo<br /> 0xB78EB9E9 scePsmfGetHeaderSize<br /> 0xBD8AE0D8 scePsmfGetPresentationEndTime<br /> 0xC22C8327 scePsmfSetPsmf<br /> 0xC7DB3A5B scePsmfGetCurrentStreamType<br /> 0xD1DCF0DB scePsmfGetPsmfMarkWithTimestamp<br /> 0xDE78E9FC scePsmfGetNumberOfPsmfMarks<br /> 0xE1283895 scePsmfGetPsmfVersion<br /> 0xEAED89CD scePsmfGetNumberOfStreams<br /> <br /> Library: scePspNpDrm_user<br /> 0x08D98894 sceNpDrmEdataSetupKey<br /> 0x219EF5CC sceNpDrmEdataGetDataSize<br /> 0x275987D1 sceNpDrmRenameCheck<br /> 0x9B745542 sceNpDrmClearLicenseeKey<br /> 0xA1336091 sceNpDrmSetLicenseeKey<br /> <br /> Library: scePuny<br /> 0x8C2DBD4E scePunyDecodeUCS4<br /> 0x8D51155B scePunyEncodeUCS2<br /> 0xAD29F139 scePunyEncodeUCS4<br /> 0xDD0ED02A scePunyDecodeUCS2<br /> <br /> Library: sceQpCode<br /> 0x2B235B5A sceQPrintableLineDecoder<br /> 0x69752447 sceQPrintableEncoder<br /> <br /> Library: sceReg<br /> 0x0CAE832B sceRegCloseCategory<br /> 0x0D69BF40 sceRegFlushCategory<br /> 0x17768E14 sceRegSetKeyValue<br /> 0x1D8A762E sceRegOpenCategory<br /> 0x28A8E98A sceRegGetKeyValue<br /> 0x2C0DB9DD sceRegGetKeysNum<br /> 0x2D211135 sceRegGetKeys<br /> 0x30BE0259 sceRegGetKeyValueByName<br /> 0x3615BC87 sceRegRemoveKey<br /> 0x39461B4D sceRegFlushRegistry<br /> 0x4CA16893 sceRegRemoveCategory<br /> 0x57641A81 sceRegCreateKey<br /> 0x835ECE6F sceRegGetCategoryListAtRoot<br /> 0x92E41280 sceRegOpenRegistry<br /> 0x9B25EDF1 sceRegExit<br /> 0xBE8C1263 sceRegGetCategoryNumAtRoot<br /> 0xC5768D02 sceRegGetKeyInfoByName<br /> 0xD4475AA8 sceRegGetKeyInfo<br /> 0xDEDA92BF sceRegRemoveRegistry<br /> 0xFA8A5739 sceRegCloseRegistry<br /> <br /> Library: sceRtc<br /> 0x011F03C1 sceRtcGetAccumulativeTime<br /> 0x0498FB3C sceRtcFormatRFC3339<br /> 0x05EF322C sceRtcGetDaysInMonth<br /> 0x1909C99B sceRtcSetTime64_t<br /> 0x203CEB0D sceRtcGetLastReincarnatedTime<br /> 0x26D25A5D sceRtcTickAddMicroseconds<br /> 0x26D7A24A sceRtcTickAddHours<br /> 0x27C4594C sceRtcGetTime_t<br /> 0x27F98543 sceRtcFormatRFC3339LocalTime<br /> 0x28E1E988 sceRtcParseRFC3339<br /> 0x34885E0D sceRtcConvertUtcToLocalTime<br /> 0x36075567 sceRtcGetDosTime<br /> 0x3A807CC8 sceRtcSetTime_t<br /> 0x3F7AD767 sceRtcGetCurrentTick<br /> 0x42307A17 sceRtcIsLeapYear<br /> 0x42842C77 sceRtcTickAddYears<br /> 0x44F45E05 sceRtcTickAddTicks<br /> 0x4B1B5E82 sceRtcCheckValid<br /> 0x4CFA57B0 sceRtcGetCurrentClock<br /> 0x57726BC1 sceRtcGetDayOfWeek<br /> 0x62685E98 sceRtcGetLastAdjustedTime<br /> 0x6A676D2D sceRtcUnregisterCallback<br /> 0x6FF40ACC sceRtcGetTick<br /> 0x779242A2 sceRtcConvertLocalTimeToUTC<br /> 0x7ACE4C04 sceRtcSetWin32FileTime<br /> 0x7D1FBED3 sceRtcSetAlarmTick<br /> 0x7DE6711B sceRtcFormatRFC2822LocalTime<br /> 0x7ED29E40 sceRtcSetTick<br /> 0x81FCDA34 sceRtcIsAlarmed<br /> 0x9ED0AE87 sceRtcCompareTick<br /> 0xC2DDBEB5 sceRtcGetAlarmTick<br /> 0xC41C2853 sceRtcGetTickResolution<br /> 0xC663B3B9 sceRtcFormatRFC2822<br /> 0xCF3A2CA8 sceRtcTickAddWeeks<br /> 0xCF561893 sceRtcGetWin32FileTime<br /> 0xDBF74F1B sceRtcTickAddMonths<br /> 0xDFBC5F16 sceRtcParseDateTime<br /> 0xE1C93E47 sceRtcGetTime64_t<br /> 0xE51B4B7A sceRtcTickAddDays<br /> 0xE6605BCA sceRtcTickAddMinutes<br /> 0xE7C27D1B sceRtcGetCurrentClockLocalTime<br /> 0xF006F264 sceRtcSetDosTime<br /> 0xF2A4AFE5 sceRtcTickAddSeconds<br /> 0xF5FCC995 sceRtcGetCurrentNetworkTick<br /> 0xFB3B18CD sceRtcRegisterCallback<br /> <br /> Library: sceSasCore<br /> 0x019B25EB sceSasSetADSR<br /> 0x07F58C24 sceSasGetAllEnvelopeHeights<br /> 0x267A6DD2 sceSasRevParam<br /> 0x2C8E6AB3 sceSasGetPauseFlag<br /> 0x33D4AB37 sceSasRevType<br /> 0x42778A9F sceSasInit<br /> 0x440CA7D8 sceSasSetVolume<br /> 0x4AA9EAD6 sceSasSetVoiceATRAC3<br /> 0x50A14DFC sceSasCoreWithMix<br /> 0x5F9529F6 sceSasSetSL<br /> 0x68A46B95 sceSasGetEndFlag<br /> 0x7497EA85 sceSasConcatenateATRAC3<br /> 0x74AE582A sceSasGetEnvelopeHeight<br /> 0x76F01ACA sceSasSetKeyOn<br /> 0x787D04D5 sceSasSetPause<br /> 0x99944089 sceSasSetVoice<br /> 0x9EC3676A sceSasSetADSRmode<br /> 0xA0CF2FA4 sceSasSetKeyOff<br /> 0xA232CBE6 sceSasSetTrianglarWave<br /> 0xA3589D81 sceSasCore<br /> 0xAD84D37F sceSasSetPitch<br /> 0xB7660A23 sceSasSetNoise<br /> 0xBD11B7C2 sceSasGetGrain<br /> 0xCBCD4F79 sceSasSetSimpleADSR<br /> 0xD1E0A01E sceSasSetGrain<br /> 0xD5A229C9 sceSasRevEVOL<br /> 0xD5EBBBCD sceSasSetSteepWave<br /> 0xE175EF66 sceSasGetOutputmode<br /> 0xE1CD9561 sceSasSetVoicePCM<br /> 0xE855BF76 sceSasSetOutputmode<br /> 0xF6107F00 sceSasUnsetATRAC3<br /> 0xF983B186 sceSasRevVON<br /> <br /> Library: sceSfmt11213<br /> 0x16B09B57 sceSfmt11213InitByArray<br /> 0x25238DDF sceSfmt11213GenRand64<br /> 0x7FCCAD30 sceSfmt11213FillArray32<br /> 0x8F52D18C sceSfmt11213GenRand32<br /> 0x9D45E91D sceSfmt11213InitGenRand<br /> 0xE9A29DEC sceSfmt11213FillArray64<br /> <br /> Library: sceSfmt1279<br /> 0x1F2CC3CC sceSfmt1279InitByArray<br /> 0x378C276E sceSfmt1279FillArray64<br /> 0x64117FA3 sceSfmt1279InitGenRand<br /> 0x7B9E67AB sceSfmt1279GenRand64<br /> 0xEDF8B8C3 sceSfmt1279FillArray32<br /> 0xFE9D3FEF sceSfmt1279GenRand32<br /> <br /> Library: sceSfmt132049<br /> 0x0270B0EF sceSfmt132049FillArray32<br /> 0x116EDAFB sceSfmt132049GenRand32<br /> 0xC90266E0 sceSfmt132049InitByArray<br /> 0xE0F9E926 sceSfmt132049InitGenRand<br /> 0xE4D856E3 sceSfmt132049GenRand64<br /> 0xE90C5D00 sceSfmt132049FillArray64<br /> <br /> Library: sceSfmt19937<br /> 0x161ACEB2 sceSfmt19937InitGenRand<br /> 0xB33FE749 sceSfmt19937GenRand32<br /> 0xD5AC9F99 sceSfmt19937GenRand64<br /> 0xDB025BFA sceSfmt19937FillArray32<br /> 0xDD5A5D6C sceSfmt19937InitByArray<br /> 0xEE2938C4 sceSfmt19937FillArray64<br /> <br /> Library: sceSfmt216091<br /> 0x353660FC sceSfmt216091InitByArray<br /> 0x3A0F900B sceSfmt216091FillArray32<br /> 0x5E2F99CE sceSfmt216091GenRand64<br /> 0xBFA431A4 sceSfmt216091FillArray64<br /> 0xC0E3B92F sceSfmt216091InitGenRand<br /> 0xC81A470C sceSfmt216091GenRand32<br /> <br /> Library: sceSfmt2281<br /> 0x8454D15E sceSfmt2281FillArray64<br /> 0x868C53AB sceSfmt2281InitGenRand<br /> 0x9D9120D6 sceSfmt2281FillArray32<br /> 0xBBCDB82B sceSfmt2281GenRand64<br /> 0xDEE53F2E sceSfmt2281GenRand32<br /> 0xF38FF54A sceSfmt2281InitByArray<br /> <br /> Library: sceSfmt4253<br /> 0x2AF9B5D3 sceSfmt4253GenRand64<br /> 0x61B05CA7 sceSfmt4253FillArray32<br /> 0x79D2E875 sceSfmt4253FillArray64<br /> 0x7F56FA88 sceSfmt4253InitGenRand<br /> 0xFA39B7A4 sceSfmt4253InitByArray<br /> 0xFBFCDAFD sceSfmt4253GenRand32<br /> <br /> Library: sceSfmt44497<br /> 0x31B1F41F sceSfmt44497GenRand32<br /> 0x4525C4FD sceSfmt44497GenRand64<br /> 0xA4168CB6 sceSfmt44497InitGenRand<br /> 0xB56C5830 sceSfmt44497InitByArray<br /> 0xCA9560E2 sceSfmt44497FillArray64<br /> 0xDCD09960 sceSfmt44497FillArray32<br /> <br /> Library: sceSfmt607<br /> 0x1CCCC776 sceSfmt607GenRand64<br /> 0x4ED95A1E sceSfmt607FillArray64<br /> 0x9480A1E6 sceSfmt607InitGenRand<br /> 0xB014F0A8 sceSfmt607InitByArray<br /> 0xCE73E1B9 sceSfmt607GenRand32<br /> 0xFA3CB3A5 sceSfmt607FillArray32<br /> <br /> Library: sceSfmt86243<br /> 0x2A0AFFB3 sceSfmt86243FillArray64<br /> 0x79A146E0 sceSfmt86243InitByArray<br /> 0x8CC70361 sceSfmt86243FillArray32<br /> 0xD5B8D7A2 sceSfmt86243GenRand32<br /> 0xDD4196A3 sceSfmt86243InitGenRand<br /> 0xF77D68EF sceSfmt86243GenRand64<br /> <br /> Library: sceSha0<br /> 0x86E64331 sceSha0BlockResult<br /> 0x91524E96 sceSha0BlockUpdate<br /> 0x931612A8 sceSha0Digest<br /> 0xEE071A21 sceSha0BlockInit<br /> <br /> Library: sceSha1<br /> 0x4A80340A sceSha1BlockInit<br /> 0x5AF85569 sceSha1BlockUpdate<br /> 0x78EDE680 sceSha1BlockResult<br /> 0xB94ACDAE sceSha1Digest<br /> <br /> Library: sceSha224<br /> 0x3A96138F sceSha224BlockInit<br /> 0x5BE354EA sceSha224Digest<br /> 0xD6A3ADCB sceSha224BlockResult<br /> 0xEF597FC7 sceSha224BlockUpdate<br /> <br /> Library: sceSha256<br /> 0x318A350C sceSha256Digest<br /> 0x5368F1BC sceSha256BlockInit<br /> 0x7310DDCF sceSha256BlockUpdate<br /> 0x82C67FB3 sceSha256BlockResult<br /> <br /> Library: sceSha384<br /> 0x139319AF sceSha384BlockInit<br /> 0x9CC3A3A2 sceSha384BlockUpdate<br /> 0xD7DF2B41 sceSha384Digest<br /> 0xD9E51292 sceSha384BlockResult<br /> <br /> Library: sceSha512<br /> 0x16ED8DC6 sceSha512BlockInit<br /> 0x5AFE898D sceSha512Digest<br /> 0x8208F538 sceSha512BlockUpdate<br /> 0xAAB6221E sceSha512BlockResult<br /> <br /> Library: sceSsl<br /> 0x058D21C0 sceSslGetNameEntryCount<br /> 0x0EB43B06 sceSslGetUsedMemoryCurrent<br /> 0x17A10DCC sceSslGetNotBefore<br /> 0x191CDEFF sceSslEnd<br /> 0x1B7C8191 sceSslGetIssuerName<br /> 0x3DD5E023 sceSslGetSubjectName<br /> 0x5BFB6B61 sceSslGetNotAfter<br /> 0x957ECBE2 sceSslInit<br /> 0xB99EDE6A sceSslGetUsedMemoryMax<br /> 0xCC0919B0 sceSslGetSerialNumber<br /> 0xD6D097B4 sceSslGetNameEntryInfo<br /> 0xF57765D3 sceSslGetKeyUsage<br /> <br /> Library: sceSuspendForUser<br /> 0x090CCB3F sceKernelPowerTick<br /> 0x3AEE7261 sceKernelPowerUnlock<br /> 0x3E0271D3 sceKernelVolatileMemLock<br /> 0xA14F40B2 sceKernelVolatileMemTryLock<br /> 0xA569E425 sceKernelVolatileMemUnlock<br /> 0xEADB1BD7 sceKernelPowerLock<br /> <br /> Library: sceUmdUser<br /> 0x14C6C45C sceUmdUnuseUMDInMsUsbWlan<br /> 0x20628E6F sceUmdGetErrorStat<br /> 0x340B7686 sceUmdGetDiscInfo<br /> 0x46EBB729 sceUmdCheckMedium<br /> 0x4A9E5E29 sceUmdWaitDriveStatCB<br /> 0x56202973 sceUmdWaitDriveStatWithTimer<br /> 0x6AF9B50A sceUmdCancelWaitDriveStat<br /> 0x6B4A146C sceUmdGetDriveStat<br /> 0x87533940 sceUmdReplaceProhibit<br /> 0x8EF08FCE sceUmdWaitDriveStat<br /> 0xAEE7404D sceUmdRegisterUMDCallBack<br /> 0xB103FA38 sceUmdUseUMDInMsUsbWlan<br /> 0xBD2BDE07 sceUmdUnRegisterUMDCallBack<br /> 0xC6183D47 sceUmdActivate<br /> 0xCBE9F02A sceUmdReplacePermit<br /> 0xE83742BA sceUmdDeactivate<br /> <br /> Library: sceUsb<br /> 0x112CC951 sceUsbGetDrvState<br /> 0x1C360735 sceUsbWaitCancel<br /> 0x4E537366 sceUsbGetDrvList<br /> 0x586DB82C sceUsbActivate<br /> 0x5BE0E002 sceUsbWaitState<br /> 0x616F2B61 sceUsbWaitStateCB<br /> 0xAE5DE6AF sceUsbStart<br /> 0xC21645A4 sceUsbGetState<br /> 0xC2464FA0 sceUsbStop<br /> 0xC572A9C8 sceUsbDeactivate<br /> <br /> Library: sceUsbAcc<br /> 0x0CD7D4AA sceUsbAccGetInfo<br /> 0x79A1C743 sceUsbAccGetAuthStat<br /> <br /> Library: sceUsbCam<br /> 0x03ED7A82 sceUsbCamSetupMic<br /> 0x08AEE98A sceUsbCamSetMicGain<br /> 0x09C26C7E sceUsbCamSetContrast<br /> 0x11A1F128 sceUsbCamGetAutoImageReverseState<br /> 0x17F7B2FB sceUsbCamSetupVideo<br /> 0x1A46CFE7 sceUsbCamStillPollInputEnd<br /> 0x1D686870 sceUsbCamSetEvLevel<br /> 0x2BCD50C0 sceUsbCamGetEvLevel<br /> 0x36636925 sceUsbCamReadMicBlocking<br /> 0x383E9FA8 sceUsbCamGetSaturation<br /> 0x3DC0088E sceUsbCamReadMic<br /> 0x3F0CF289 sceUsbCamSetupStill<br /> 0x41E73E95 sceUsbCamPollReadVideoFrameEnd<br /> 0x41EE8797 sceUsbCamUnregisterLensRotationCallback<br /> 0x4C34F553 sceUsbCamGetLensDirection<br /> 0x4F3D84D5 sceUsbCamSetBrightness<br /> 0x5145868A sceUsbCamStopMic<br /> 0x574A8C3F sceUsbCamStartVideo<br /> 0x5778B452 sceUsbCamGetMicDataLength<br /> 0x61BE5CAC sceUsbCamStillInputBlocking<br /> 0x622F83CC sceUsbCamSetSharpness<br /> 0x6784E6A8 sceUsbCamSetAntiFlicker<br /> 0x6CF32CB9 sceUsbCamStopVideo<br /> 0x6E205974 sceUsbCamSetSaturation<br /> 0x70F522C5 sceUsbCamGetBrightness<br /> 0x7563AFA1 sceUsbCamStillWaitInputEnd<br /> 0x7DAC0C71 sceUsbCamReadVideoFrameBlocking<br /> 0x82A64030 sceUsbCamStartMic<br /> 0x951BEDF5 sceUsbCamSetReverseMode<br /> 0x994471E0 sceUsbCamGetImageEffectMode<br /> 0x99D86281 sceUsbCamReadVideoFrame<br /> 0x9E8AAF8D sceUsbCamGetZoom<br /> 0xA063A957 sceUsbCamGetContrast<br /> 0xA720937C sceUsbCamStillCancelInput<br /> 0xAA7D94BA sceUsbCamGetAntiFlicker<br /> 0xB048A67D sceUsbCamWaitReadMicEnd<br /> 0xC484901F sceUsbCamSetZoom<br /> 0xD293A100 sceUsbCamRegisterLensRotationCallback<br /> 0xD4876173 sceUsbCamSetImageEffectMode<br /> 0xD5279339 sceUsbCamGetReverseMode<br /> 0xDF9D0C92 sceUsbCamGetReadVideoFrameSize<br /> 0xE5959C36 sceUsbCamStillGetInputLength<br /> 0xF8847F60 sceUsbCamPollReadMicEnd<br /> 0xF90B2293 sceUsbCamWaitReadVideoFrameEnd<br /> 0xF93C4669 sceUsbCamAutoImageReverseSW<br /> 0xFB0A6C5D sceUsbCamStillInput<br /> 0xFDB68C23 sceUsbCamGetSharpness<br /> <br /> Library: sceUsbGps<br /> 0x5881C826 sceUsbGpsGetStaticNavMode<br /> 0x6EED4811 sceUsbGpsClose<br /> 0x7C16AC3A sceUsbGpsGetState<br /> 0x934EC2B2 sceUsbGpsGetData<br /> 0x9F267D34 sceUsbGpsOpen<br /> 0xA8ED0BC2 sceUsbGpsSetStaticNavMode<br /> <br /> Library: sceUsbMic<br /> 0x06128E42 sceUsbMicPollInputEnd<br /> 0x2E6DCDCD sceUsbMicInputBlocking<br /> 0x45310F07 sceUsbMicInputInitEx<br /> 0x5F7F368D sceUsbMicInput<br /> 0x63400E20 sceUsbMicGetInputLength<br /> 0xB8E536EB sceUsbMicInputInit<br /> 0xF899001C sceUsbMicWaitInputEnd<br /> <br /> Library: sceUsbSer<br /> 0x0C40864C sceUsbSerGetDTR<br /> 0x105B2FB5 sceUsbSerRegisterDTRCallback<br /> 0x193E613B sceUsbSerClose<br /> 0x2432D28D sceUsbSerRead<br /> 0x3EFDC183 sceUsbSerGetWriteDataSize<br /> 0x41303714 sceUsbSerCancel<br /> 0x473B6BF3 sceUsbSerWriteCB<br /> 0x50AD923C sceUsbSerSetRecvCBThreshold<br /> 0x7501C273 sceUsbSerRegisterSentCallback<br /> 0x82CF9F2A sceUsbSerUnregisterRecvCallback<br /> 0x886AF215 sceUsbSerGetReadDataSize<br /> 0x8B9F5C97 sceUsbSerClear<br /> 0x938AD8E2 sceUsbSerUnregisterSentCallback<br /> 0x999B21E1 sceUsbSerRegisterRecvCallback<br /> 0xA3F75968 sceUsbSerReadCB<br /> 0xBF8B3E85 sceUsbSerWrite<br /> 0xD6CD027C sceUsbSerUnregisterDTRCallback<br /> 0xE23DEB0A sceUsbSerGetWriteFreeSize<br /> 0xE2F0E3E3 sceUsbSerFlushCB<br /> 0xE60A8C56 sceUsbSerGetReadFreeSize<br /> 0xE945D8E9 sceUsbSerEnd<br /> 0xE9D739DF sceUsbSerSetSentCBThreshold<br /> 0xEDBFD745 sceUsbSerInit<br /> 0xEFF02189 sceUsbSerFlush<br /> 0xFD9A2340 sceUsbSerOpen<br /> <br /> Library: sceUtility<br /> 0x0251B134 sceUtilityScreenshotInitStart<br /> 0x05AFB9E4 sceUtilityHtmlViewerUpdate<br /> 0x06A48659 sceUtilityRssSubscriberShutdownStart<br /> 0x0940A1B9 sceUtilityPsnUpdate<br /> 0x094198B8 sceUtilityPsnGetStatus<br /> 0x0D5BC6D2 sceUtilityLoadUsbModule<br /> 0x0E0C27AF sceUtilityAutoConnectAbort<br /> 0x1281DA8E sceUtilityInstallInitStart<br /> 0x1579A159 sceUtilityLoadNetModule<br /> 0x16D02AF0 sceUtilityNpSigninInitStart<br /> 0x180F7B62 sceUtilityGamedataInstallAbort<br /> 0x24AC31EB sceUtilityGamedataInstallInitStart<br /> 0x2995D020 sceUtilitySavedataErrInitStart<br /> 0x2A2B3DE0 sceUtilityLoadModule<br /> 0x2AD8E239 sceUtilityMsgDialogInitStart<br /> 0x2B96173B sceUtilityRssSubscriberGetStatus<br /> 0x32E32DCB sceUtilityGamedataInstallShutdownStart<br /> 0x34B78343 sceUtilityGetSystemParamString<br /> 0x3A15CD0A sceUtilityAutoConnectInitStart<br /> 0x3AAD51DC sceUtilityStoreCheckoutGetStatus<br /> 0x3DFAEBA9 sceUtilityOskShutdownStart<br /> 0x41E30674 sceUtilitySetSystemParamString<br /> 0x42071A83 sceUtilityPS3ScanInitStart<br /> 0x434D4B3A sceUtilityGetNetParam<br /> 0x45C18506 sceUtilitySetSystemParamInt<br /> 0x4928BD96 sceUtilityMsgDialogAbort<br /> 0x4AECD179 sceUtilityGamedataInstallUpdate<br /> 0x4B0A8FE5 sceUtilityRssSubscriberInitStart<br /> 0x4B85C861 sceUtilityOskUpdate<br /> 0x4DB1E739 sceUtilityNetconfInitStart<br /> 0x4FED24D8 sceUtilityGetNetParamLatestID<br /> 0x50C4CD57 sceUtilitySavedataInitStart<br /> 0x54A5C62F sceUtilityStoreCheckoutShutdownStart<br /> 0x5EEE6548 sceUtilityCheckNetParam<br /> 0x5EF1C24A sceUtilityInstallShutdownStart<br /> 0x6332AA39 sceUtilityNetconfGetStatus<br /> 0x64D50C56 sceUtilityUnloadNetModule<br /> 0x67AF3428 sceUtilityMsgDialogShutdownStart<br /> 0x6F56F9CF sceUtilityRssReaderUpdate<br /> 0x7853182D sceUtilityGameSharingUpdate<br /> 0x81C44706 sceUtilityRssReaderInitStart<br /> 0x8326AB05 sceUtilityRssReaderGetStatus<br /> 0x86A03A27 sceUtilityScreenshotContStart<br /> 0x86ABDB1B sceUtilityNpSigninGetStatus<br /> 0x8874DBE0 sceUtilitySavedataGetStatus<br /> 0x88BC7406 sceUtilitySavedataErrGetStatus<br /> 0x89317C8F sceUtilityPS3ScanGetStatus<br /> 0x91E70E35 sceUtilityNetconfUpdate<br /> 0x946963F3 sceUtilityGameSharingGetStatus<br /> 0x95FC253B sceUtilityMsgDialogUpdate<br /> 0x9790B33C sceUtilitySavedataShutdownStart<br /> 0x9A1C91D7 sceUtilityMsgDialogGetStatus<br /> 0x9F313D14 sceUtilityAutoConnectShutdownStart<br /> 0xA03D29BA sceUtilityInstallUpdate<br /> 0xA084E056 sceUtilityRssSubscriberUpdate<br /> 0xA5DA2406 sceUtilityGetSystemParamInt<br /> 0xA7BB7C67 sceUtilityPsnInitStart<br /> 0xAB083EA9 sceUtilityScreenshotUpdate<br /> 0xB0FB7FF5 sceUtilityRssReaderContStart<br /> 0xB57E95D9 sceUtilityGamedataInstallGetStatus<br /> 0xB62A4061 sceUtilitySavedataErrShutdownStart<br /> 0xB8592D5F sceUtilityStoreCheckoutUpdate<br /> 0xBDA7D894 sceUtilityHtmlViewerGetStatus<br /> 0xC130D441 sceUtilityPsnShutdownStart<br /> 0xC4700FA3 sceUtilityInstallGetStatus<br /> 0xC492F751 sceUtilityGameSharingInitStart<br /> 0xC629AF26 sceUtilityLoadAvModule<br /> 0xCDC3AA41 sceUtilityHtmlViewerInitStart<br /> 0xD17A0573 sceUtilityPS3ScanShutdownStart<br /> 0xD23665F4 sceUtilityAutoConnectUpdate<br /> 0xD4B95FFB sceUtilitySavedataUpdate<br /> 0xD4C2BD73 sceUtilityAutoConnectGetStatus<br /> 0xD81957B7 sceUtilityScreenshotGetStatus<br /> 0xD852CDCE sceUtilityPS3ScanUpdate<br /> 0xDA97F1AA sceUtilityStoreCheckoutInitStart<br /> 0xE19C97D6 sceUtilityNpSigninShutdownStart<br /> 0xE49BFE92 sceUtilityUnloadModule<br /> 0xE7B778D8 sceUtilityRssReaderShutdownStart<br /> 0xED0FAD38 sceUtilitySavedataErrUpdate<br /> 0xEFC6F80F sceUtilityGameSharingShutdownStart<br /> 0xF3F76017 sceUtilityOskGetStatus<br /> 0xF3FBC572 sceUtilityNpSigninUpdate<br /> 0xF5CE1134 sceUtilityHtmlViewerShutdownStart<br /> 0xF6269B82 sceUtilityOskInitStart<br /> 0xF64910F0 sceUtilityUnloadUsbModule<br /> 0xF7D8D092 sceUtilityUnloadAvModule<br /> 0xF88155F6 sceUtilityNetconfShutdownStart<br /> 0xF9E0008C sceUtilityScreenshotShutdownStart<br /> <br /> Library: sceVaudio<br /> 0x03B6807D sceVaudioChReserve<br /> 0x27ACC20B sceVaudioChReserveBuffering<br /> 0x346FBE94 sceVaudioSetEffectType<br /> 0x67585DFD sceVaudioChRelease<br /> 0x8986295E sceVaudioOutputBlocking<br /> 0xCBD4AC51 sceVaudioSetAlcMode<br /> <br /> Library: sceWlanDrv<br /> 0x0C622081 sceWlanGetEtherAddr<br /> 0x93440B11 sceWlanDevIsPowerOn<br /> 0xD7763699 sceWlanGetSwitchState<br /> <br /> Library: pemuExt<br /> 0x2C1F5DA6 pemuExtUtilityGetFreeSize<br /> 0x5D915C5B pemuExtUtilityThemeInstallAbort<br /> 0x806D1DCB pemuExtUtilityMusicExportInitStart<br /> 0x9F85A1E3 pemuExtUtilityMusicExportAbort<br /> 0xA9102BD9 pemuExtUtilityThemeInstallInitStart<br /> 0xAB94E451 pemuExtUtilityThemeInstallGetStatus<br /> 0xAF7228AB pemuExtUtilityMusicExportShutdownStart<br /> 0xB95A85D1 pemuExtUtilityThemeInstallUpdate<br /> 0xBFBB2A30 pemuExtIsStereoscopic3d<br /> 0xCAC8A9DA pemuExtUtilityMusicExportUpdate<br /> 0xDBF1A3A9 pemuExtUtilityThemeInstallShutdownStart<br /> 0xE4786D09 pemuExtUtilityMusicExportGetStatus<br /> <br /> = internally handled by the emulator =<br /> sceVideocodec<br /> sceAudiocodec<br /> sceMpegbase<br /> sceReg<br /> sceNetIfhandle_lib<br /> sceWlanDrv_lib<br /> sceNetAdhocAuth_lib<br /> <br /> &lt;/pre&gt;<br /> <br /> === Not implemented APIs===<br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! API !! Issue !! Note<br /> |-<br /> | sceHeapGetMallinfo || 0x80020002 ||<br /> |-<br /> | sceHeapFreeHeapMemory || 0x80020002 ||<br /> |-<br /> | sceHeapAllocHeapMemoryWithOption || return 0 ||<br /> |-<br /> | sceHeapGetTotalFreeSize || 0x80020002 ||<br /> |-<br /> | sceHeapIsAllocatedHeapMemory || 0x80020002 ||<br /> |-<br /> | sceHeapDeleteHeap || 0x80020002 ||<br /> |-<br /> | sceHeapCreateHeap || return 0 ||<br /> |-<br /> | sceHeapAllocHeapMemory || return 0 ||<br /> |-<br /> | sceKernelLoadModuleDNAS || 0x80020002 ||<br /> |-<br /> | sceSslGetKeyUsage || 0x80020002 ||<br /> |-<br /> | sceNpDrmEdataSetupKey || 0x80020002 ||<br /> |-<br /> | sceNpDrmEdataGetDataSize || 0x80020002 ||<br /> |-<br /> | sceNpDrmRenameCheck || 0x80020002 ||<br /> |-<br /> | sceNpDrmClearLicenseeKey || 0x80020002 ||<br /> |-<br /> | sceNpDrmSetLicenseeKey || return 0 ||<br /> |-<br /> | sceHprmIsRemoteExist || 0x80020002 ||<br /> |-<br /> | sceHprmIsMicrophoneExist || 0x80020002 ||<br /> |-<br /> | sceHprmPeekLatch || 0x80020002 ||<br /> |-<br /> | sceHprmReadLatch || 0x80020002 ||<br /> |-<br /> | sceHprmIsHeadphoneExist || 0x80020002 ||<br /> |-<br /> | sceHprmRegisterCallback || 0x80020002 ||<br /> |-<br /> | sceHprmUnregisterCallback || 0x80020002 ||<br /> |-<br /> | sceGprofSetProfil_Weak || 0x80020002 ||<br /> |-<br /> | sceGprofFreeProfil_Weak || 0x80020002 ||<br /> |-<br /> | sceKernelRegisterUserSpaceIntrStack || 0x80020002 ||<br /> |-<br /> | sceKernelLoadExec || 0x80020002 ||<br /> |-<br /> | sceMt19937Init || 0x80020002 ||<br /> |-<br /> | sceMt19937UInt || return 0 ||<br /> |-<br /> | sceKernelStopUnloadSelfModule || 0x80020002 ||<br /> |-<br /> | sceKernelLoadModuleBufferUsbWlan || 0x80020002 ||<br /> |-<br /> | sceUsbGetDrvState || 0x80020002 ||<br /> |-<br /> | sceUsbWaitCancel || 0x80020002 ||<br /> |-<br /> | sceUsbGetDrvList || 0x80020002 ||<br /> |-<br /> | sceUsbActivate || 0x80020002 ||<br /> |-<br /> | sceUsbWaitState || 0x80020002 ||<br /> |-<br /> | sceUsbWaitStateCB || 0x80020002 ||<br /> |-<br /> | sceUsbStart || 0x80020002 ||<br /> |-<br /> | sceUsbGetState || return 0 ||<br /> |-<br /> | sceUsbStop || 0x80020002 ||<br /> |-<br /> | sceUsbDeactivate || 0x80020002 ||<br /> |-<br /> | sceUsbAccGetAuthStat || 0x80020002 ||<br /> |-<br /> | sceKernelUtilsMt19937UInt || 0x80020002 ||<br /> |-<br /> | sceKernelDcacheReadTag || 0x80020002 ||<br /> |-<br /> | sceKernelUtilsSha1BlockUpdate|| 0x80020002||<br /> |-<br /> | sceKernelGetGPI|| return 0 ||<br /> |-<br /> | sceKernelIcacheProbe || 0x80020002||<br /> |-<br /> | sceKernelUtilsSha1BlockResult ||0x80020002 ||<br /> |-<br /> | sceKernelUtilsMd5BlockUpdate||0x80020002 ||<br /> |-<br /> | sceKernelDcacheProbeRange || 0x80020002||<br /> |-<br /> | sceKernelDcacheProbe|| 0x80020002||<br /> |-<br /> | sceKernelUtilsSha1Digest|| 0x80020002 ||<br /> |-<br /> | sceKernelUtilsMd5BlockInit|| 0x80020002||<br /> |-<br /> | sceKernelUtilsMd5BlockResult|| 0x80020002||<br /> |-<br /> | sceKernelDcacheInvalidateRange|| return 0 ||<br /> |-<br /> | sceKernelUtilsMd5Digest|| 0x80020002 ||<br /> |-<br /> | sceKernelUtilsMt19937Init|| 0x80020002||<br /> |-<br /> | sceKernelUtilsSha1BlockInit|| 0x80020002||<br /> |-<br /> | sceKernelIcacheReadTag|| return 0 ||<br /> |-<br /> | sceSfmt11213InitByArray|| 0x80020002||<br /> |-<br /> | sceSfmt11213FillArray32|| 0x80020002||<br /> |-<br /> | sceSfmt11213InitGenRand|| 0x80020002||<br /> |-<br /> | sceSfmt11213FillArray64||0x80020002 ||<br /> |-<br /> | sceSfmt1279InitByArray||0x80020002 ||<br /> |-<br /> | sceSfmt1279FillArray64||0x80020002 ||<br /> |-<br /> | sceSfmt1279InitGenRand||0x80020002 ||<br /> |-<br /> | sceSfmt1279FillArray32||0x80020002 ||<br /> |-<br /> | sceSfmt132049FillArray32||0x80020002 ||<br /> |-<br /> | sceSfmt132049InitByArray||0x80020002 ||<br /> |-<br /> | sceSfmt132049InitGenRand||0x80020002 ||<br /> |-<br /> | sceSfmt132049FillArray64|| 0x80020002||<br /> |-<br /> | sceSfmt19937InitGenRand||0x80020002 ||<br /> |-<br /> | sceSfmt19937FillArray32||0x80020002 ||<br /> |-<br /> | sceSfmt19937InitByArray||0x80020002 ||<br /> |-<br /> | sceSfmt19937FillArray64 || 0x80020002||<br /> |-<br /> | sceSfmt216091GenRand64|| return 0 ||<br /> |-<br /> | sceSfmt216091InitByArray ||0x80020002 ||<br /> |-<br /> | sceSfmt216091FillArray32||0x80020002 ||<br /> |-<br /> | sceSfmt216091FillArray64 ||0x80020002 ||<br /> |-<br /> | sceSfmt216091InitGenRand ||0x80020002 ||<br /> |-<br /> | sceSha0BlockInit||0x80020002 ||<br /> |-<br /> | sceSha0BlockUpdate||0x80020002 ||<br /> |-<br /> | sceSha0BlockResult ||0x80020002 ||<br /> |-<br /> | sceSha0Digest || 0x80020002||<br /> |-<br /> | sceQPrintableEncoder|| blr ||<br /> |-<br /> | sceQPrintableLineDecoder|| blr ||<br /> |-<br /> | sceKernelDeci2pRegisterCallback|| 0x80020002 ||<br /> |-<br /> | sceKernelDeci2pRead || 0x80020002 ||<br /> |-<br /> | sceKernelDeci2pWrite|| 0x80020002 ||<br /> |-<br /> | sceKernelDeci2pClose|| 0x80020002 ||<br /> |-<br /> | sceKernelDeci2pOpen|| 0x80020002 ||<br /> |-<br /> | scePunyDecodeUCS2|| blr ||<br /> |-<br /> | scePunyEncodeUCS4|| blr ||<br /> |-<br /> | scePunyEncodeUCS2|| blr ||<br /> |-<br /> | scePunyDecodeUCS4|| blr ||<br /> |-<br /> | sceUtilityRssSubscriberGetStatus||0x80020002 ||<br /> |-<br /> | sceUtilityRssReaderUpdate||0x80020002 ||<br /> |-<br /> | sceUtilityRssSubscriberShutdownStart||0x80020002 ||<br /> |-<br /> | sceUtilityRssSubscriberInitStart||0x80020002||<br /> |-<br /> | sceUtilityScreenshotShutdownStart ||0x80020002 ||<br /> |-<br /> | sceUtilityUnloadModule|| return 0 ||<br /> |-<br /> | sceUtilityScreenshotGetStatus ||0x80020002 ||<br /> |-<br /> | sceUtilityInstallGetStatus||0x80020002 ||<br /> |-<br /> | sceUtilityScreenshotUpdate||0x80020002 ||<br /> |-<br /> |sceUtilityInstallUpdate||0x80020002||<br /> |-<br /> |sceUtilityInstallShutdownStart||0x80020002||<br /> |-<br /> |sceUtilitySetSystemParamInt||0x80020002||<br /> |-<br /> |sceUtilitySetSystemParamString||0x80020002||<br /> |-<br /> |sceUtilityLoadModule||return 0||<br /> |-<br /> | sceAdler32|| return 0 ||<br /> |-<br /> | sceUsbMicWaitInputEnd||0x80020002||<br /> |-<br /> |sceUsbMicInputInit ||0x80020002 ||<br /> |-<br /> |sceUsbMicGetInputLength ||0x80020002 ||<br /> |-<br /> | sceUsbMicInput||0x80020002 ||<br /> |-<br /> | sceUsbMicInputInitEx|| 0x80020002 ||<br /> |-<br /> | sceUsbMicInputBlocking||0x80020002 ||<br /> |-<br /> | sceUsbMicPollInputEnd ||0x80020002 ||<br /> |-<br /> | sceUsbGpsSetStaticNavMode||0x80020002 ||<br /> |-<br /> | sceUsbGpsOpen|| 0x80020002 ||<br /> |-<br /> | sceUsbGpsGetData||0x80020002 ||<br /> |-<br /> | sceUsbGpsGetState ||0x80020002 ||<br /> |-<br /> | sceUsbGpsClose||0x80020002 ||<br /> |-<br /> | sceUsbGpsGetStaticNavMode||0x80020002 ||<br /> |-<br /> | sceZlibIsValid || blr ||<br /> |-<br /> | sceUsbCamGetSharpness||0x80020002 ||<br /> |-<br /> | sceUsbCamStillInput||0x80020002 ||<br /> |-<br /> | sceUsbCamAutoImageReverseSW||0x80020002||<br /> |-<br /> | sceUsbCamWaitReadVideoFrameEnd||0x80020002 ||<br /> |-<br /> | sceUsbCamPollReadMicEnd|| 0x80020002 ||<br /> |-<br /> | sceUsbCamStillGetInputLength||0x80020002 ||<br /> |-<br /> | sceUsbCamGetReadVideoFrameSize||0x80020002 ||<br /> |-<br /> | sceUsbCamGetReverseMode||0x80020002 ||<br /> |-<br /> | sceUsbCamSetImageEffectMode ||0x80020002 ||<br /> |-<br /> | sceUsbCamRegisterLensRotationCallback||0x80020002 ||<br /> |-<br /> | sceUsbCamSetZoom||0x80020002 ||<br /> |-<br /> | sceUsbCamWaitReadMicEnd||0x80020002||<br /> |-<br /> | sceUsbCamGetAntiFlicker|| 0x80020002||<br /> |-<br /> | sceUsbCamStillCancelInput||0x80020002 ||<br /> |-<br /> | sceUsbCamGetContrast || 0x80020002 ||<br /> |-<br /> | sceUsbCamGetZoom||0x80020002 ||<br /> |-<br /> | sceUsbCamReadVideoFrame|| 0x80020002 ||<br /> |-<br /> | sceUsbCamGetImageEffectMode||0x80020002 ||<br /> |-<br /> | sceUsbCamSetReverseMode||0x80020002 ||<br /> |-<br /> | sceUsbCamStartMic||0x80020002||<br /> |-<br /> | sceUsbCamReadVideoFrameBlocking||0x80020002 ||<br /> |-<br /> | sceUsbCamStillWaitInputEnd||0x80020002 ||<br /> |-<br /> | sceUsbCamGetBrightness||0x80020002 ||<br /> |-<br /> | sceUsbCamSetSaturation||0x80020002 ||<br /> |-<br /> | sceUsbCamStopVideo|| 0x80020002||<br /> |-<br /> | sceUsbCamSetAntiFlicker|| 0x80020002||<br /> |-<br /> | sceUsbCamSetSharpness|| 0x80020002||<br /> |-<br /> | sceUsbCamStillInputBlocking|| 0x80020002||<br /> |-<br /> | sceUsbCamGetMicDataLength|| 0x80020002||<br /> |-<br /> | sceUsbCamStartVideo||0x80020002 ||<br /> |-<br /> | sceUsbCamStopMic||0x80020002 ||<br /> |-<br /> | sceUsbCamSetBrightness||0x80020002 ||<br /> |-<br /> | sceUsbCamGetLensDirection||0x80020002 ||<br /> |-<br /> | sceUsbCamUnregisterLensRotationCallback||0x80020002 ||<br /> |-<br /> | sceUsbCamPollReadVideoFrameEnd||0x80020002 ||<br /> |-<br /> | sceUsbCamSetupStill||0x80020002 ||<br /> |-<br /> | sceUsbCamReadMic||0x80020002 ||<br /> |-<br /> | sceUsbCamGetSaturation||0x80020002 ||<br /> |-<br /> | sceUsbCamReadMicBlocking||0x80020002 ||<br /> |-<br /> | sceUsbCamGetEvLevel||0x80020002 ||<br /> |-<br /> | sceUsbCamSetEvLevel||0x80020002 ||<br /> |-<br /> | sceUsbCamStillPollInputEnd||0x80020002 ||<br /> |-<br /> | sceUsbCamSetupVideo ||0x80020002 ||<br /> |-<br /> | sceUsbCamGetAutoImageReverseState||0x80020002 ||<br /> |-<br /> | sceUsbCamSetContrast||0x80020002 ||<br /> |-<br /> |sceUsbCamSetMicGain || 0x80020002||<br /> |-<br /> | sceUsbCamSetupMic||0x80020002 ||<br /> |-<br /> | sceNpMatching2SignalingGetLocalNetInfo|| blr ||<br /> |-<br /> | sceAtracEndEntry || blr || <br /> |-<br /> | sceAtracGetBufferInfoForReseting || blr || <br /> |-<br /> | sceAtracStartEntry || blr || <br /> |-<br /> | sceAudioOneshotOutput || blr || <br /> |-<br /> | sceGameUpdateAbort || blr || <br /> |-<br /> | sceGameUpdateInit || blr || <br /> |-<br /> | sceGameUpdateRun || blr || <br /> |-<br /> | sceGameUpdateTerm || blr || <br /> |-<br /> | sceHeapReallocHeapMemory || blr || <br /> |-<br /> | sceHeapReallocHeapMemoryWithOption || blr || <br /> |-<br /> | sceHprmUnregitserCallback || blr || <br /> |-<br /> | sceHttpSetAuthInfoCB || blr || <br /> |-<br /> | sceHttpsInitWithPath || blr || <br /> |-<br /> | sceIoAssign || blr || <br /> |-<br /> | sceIoUnassign || blr || <br /> |-<br /> | sceKernelExitGameWithStatus || blr || <br /> |-<br /> | sceKernelL1IcacheInvalidateRange || blr || <br /> |-<br /> | sceKernelLoadExecNpDrm || blr || <br /> |-<br /> | sceKernelLoadModuleNpDrm || blr || <br /> |-<br /> | sceKernelStdioClose || blr || <br /> |-<br /> | sceKernelStdioLseek || blr || <br /> |-<br /> | sceKernelStdioOpen || blr || <br /> |-<br /> | sceKernelStdioRead || blr || <br /> |-<br /> | sceKernelStdioSendChar || blr || <br /> |-<br /> | sceKernelStdioWrite || blr || <br /> |-<br /> | sceMp3EndEntry || blr || <br /> |-<br /> | sceMp3StartEntry || blr || <br /> |-<br /> | sceNpAuthGetEntitlementById || blr || <br /> |-<br /> | sceNpAuthGetEntitlementIdList || blr || <br /> |-<br /> | sceNpAuthGetTicketParam || blr || <br /> |-<br /> | sceNpCommerce2AbortReq || blr || <br /> |-<br /> | sceNpCommerce2CreateCtx || blr || <br /> |-<br /> | sceNpCommerce2CreateSessionCreateReq || blr || <br /> |-<br /> | sceNpCommerce2CreateSessionGetResult || blr || <br /> |-<br /> | sceNpCommerce2CreateSessionStart || blr || <br /> |-<br /> | sceNpCommerce2DestroyCtx || blr || <br /> |-<br /> | sceNpCommerce2DestroyGetCategoryContentsResult || blr || <br /> |-<br /> | sceNpCommerce2DestroyGetProductInfoResult || blr || <br /> |-<br /> | sceNpCommerce2DestroyReq || blr || <br /> |-<br /> | sceNpCommerce2GetCategoryContentsCreateReq || blr || <br /> |-<br /> | sceNpCommerce2GetCategoryContentsGetResult || blr || <br /> |-<br /> | sceNpCommerce2GetCategoryContentsStart || blr || <br /> |-<br /> | sceNpCommerce2GetCategoryInfo || blr || <br /> |-<br /> | sceNpCommerce2GetCategoryInfoFromContentInfo || blr || <br /> |-<br /> | sceNpCommerce2GetContentInfo || blr || <br /> |-<br /> | sceNpCommerce2GetContentRatingDescriptor || blr || <br /> |-<br /> | sceNpCommerce2GetContentRatingInfoFromCategoryInfo || blr || <br /> |-<br /> | sceNpCommerce2GetContentRatingInfoFromGameProductInfo || blr || <br /> |-<br /> | sceNpCommerce2GetGameProductInfo || blr || <br /> |-<br /> | sceNpCommerce2GetGameProductInfoFromContentInfo || blr || <br /> |-<br /> | sceNpCommerce2GetGameSkuInfoFromGameProductInfo || blr || <br /> |-<br /> | sceNpCommerce2GetPrice || blr || <br /> |-<br /> | sceNpCommerce2GetProductInfoCreateReq || blr || <br /> |-<br /> | sceNpCommerce2GetProductInfoGetResult || blr || <br /> |-<br /> | sceNpCommerce2GetProductInfoStart || blr || <br /> |-<br /> | sceNpCommerce2GetSessionInfo || blr || <br /> |-<br /> | sceNpCommerce2Init || blr || <br /> |-<br /> | sceNpCommerce2InitGetCategoryContentsResult || blr || <br /> |-<br /> | sceNpCommerce2InitGetProductInfoResult || blr || <br /> |-<br /> | sceNpCommerce2Term || blr || <br /> |-<br /> | sceNpMatching2GetUserInfoList || blr || <br /> |-<br /> | sceNpMatching2SetUserInfo || blr || <br /> |-<br /> | scePowerGetBusClockFrequency || blr || <br /> |-<br /> | scePowerGetCpuClockFrequency || blr || <br /> |-<br /> | scePowerRequestSuspend || blr || <br /> |-<br /> | scePowerSetBusClockFrequency || blr || <br /> |-<br /> | sceRtcGetCurrentNetworkTick || blr || <br /> |-<br /> | sceUsbAccGetInfo || blr || <br /> |-<br /> | sceUsbSerCancel || blr || <br /> |-<br /> | sceUsbSerClear || blr || <br /> |-<br /> | sceUsbSerClose || blr || <br /> |-<br /> | sceUsbSerEnd || blr || <br /> |-<br /> | sceUsbSerFlush || blr || <br /> |-<br /> | sceUsbSerFlushCB || blr || <br /> |-<br /> | sceUsbSerGetDTR || blr || <br /> |-<br /> | sceUsbSerGetReadDataSize || blr || <br /> |-<br /> | sceUsbSerGetReadFreeSize || blr || <br /> |-<br /> | sceUsbSerGetWriteDataSize || blr || <br /> |-<br /> | sceUsbSerGetWriteFreeSize || blr || <br /> |-<br /> | sceUsbSerInit || blr || <br /> |-<br /> | sceUsbSerOpen || blr || <br /> |-<br /> | sceUsbSerRead || blr || <br /> |-<br /> | sceUsbSerReadCB || blr || <br /> |-<br /> | sceUsbSerRegisterDTRCallback || blr || <br /> |-<br /> | sceUsbSerRegisterRecvCallback || blr || <br /> |-<br /> | sceUsbSerRegisterSentCallback || blr || <br /> |-<br /> | sceUsbSerSetRecvCBThreshold || blr || <br /> |-<br /> | sceUsbSerSetSentCBThreshold || blr || <br /> |-<br /> | sceUsbSerUnregisterDTRCallback || blr || <br /> |-<br /> | sceUsbSerUnregisterRecvCallback || blr || <br /> |-<br /> | sceUsbSerUnregisterSentCallback || blr || <br /> |-<br /> | sceUsbSerWrite || blr || <br /> |-<br /> | sceUsbSerWriteCB || blr || <br /> |-<br /> | sceUtilityAutoConnectAbort || blr || <br /> |-<br /> | sceUtilityAutoConnectGetStatus || blr || <br /> |-<br /> | sceUtilityAutoConnectInitStart || blr || <br /> |-<br /> | sceUtilityAutoConnectShutdownStart || blr || <br /> |-<br /> | sceUtilityAutoConnectUpdate || blr || <br /> |-<br /> | sceUtilityGamedataInstallAbort || blr || <br /> |-<br /> | sceUtilityGamedataInstallGetStatus || blr || <br /> |-<br /> | sceUtilityGamedataInstallInitStart || blr || <br /> |-<br /> | sceUtilityGamedataInstallShutdownStart || blr || <br /> |-<br /> | sceUtilityGamedataInstallUpdate || blr || <br /> |-<br /> | sceUtilityLoadUsbModule || blr || <br /> |-<br /> | sceUtilityPS3ScanGetStatus || blr || <br /> |-<br /> | sceUtilityPS3ScanInitStart || blr || <br /> |-<br /> | sceUtilityPS3ScanShutdownStart || blr || <br /> |-<br /> | sceUtilityPS3ScanUpdate || blr || <br /> |-<br /> | sceUtilityPsnGetStatus || blr || <br /> |-<br /> | sceUtilityPsnInitStart || blr || <br /> |-<br /> | sceUtilityPsnShutdownStart || blr || <br /> |-<br /> | sceUtilityPsnUpdate || blr || <br /> |-<br /> | sceUtilityRssReaderContStart || blr || <br /> |-<br /> | sceUtilityRssReaderGetStatus || blr || <br /> |-<br /> | sceUtilityRssReaderInitStart || blr || <br /> |-<br /> | sceUtilityRssReaderShutdownStart || blr || <br /> |-<br /> | sceUtilityRssSubscriberUpdate || blr || <br /> |-<br /> | sceUtilitySavedataErrGetStatus || blr || <br /> |-<br /> | sceUtilitySavedataErrInitStart || blr || <br /> |-<br /> | sceUtilitySavedataErrShutdownStart || blr || <br /> |-<br /> | sceUtilitySavedataErrUpdate || blr || <br /> |-<br /> | sceUtilityScreenshotContStart || blr || <br /> |-<br /> | sceUtilityStoreCheckoutGetStatus || blr || <br /> |-<br /> | sceUtilityStoreCheckoutInitStart || blr || <br /> |-<br /> | sceUtilityStoreCheckoutShutdownStart || blr || <br /> |-<br /> | sceUtilityStoreCheckoutUpdate || blr || <br /> |-<br /> | sceUtilityUnloadAvModule || blr || <br /> |-<br /> | sceUtilityUnloadUsbModule || blr || <br /> |-<br /> | sceUtilityScreenshotInitStart || blr || causes Sweet Fuse to hang when using screenshot feature<br /> |-<br /> | sceWlanDevIsPowerOn || blr ||<br /> |-<br /> | || ||<br /> |-<br /> |}<br /> <br /> === OPEN PSP SDK ===<br /> <br /> pspsdk-1.0+beta2 Documentation<br /> <br /> http://psp.jim.sh/pspsdk-doc/index.html<br /> <br /> === PEmuCoreLib SPU Usage ===<br /> <br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! colspan=&quot;4&quot; | PEmuCoreLib<br /> |-<br /> ! Core !! Job !! Source !! Notes<br /> |-<br /> | SPU0 || DrawSync Extended Mode Something|| || <br /> |-<br /> | SPU1 || Extended Mode Something|| || <br /> |-<br /> | SPU2 || DMac || || if memcpy size &gt;0x110<br /> |-<br /> | SPU3 || ME || || Media Engine?<br /> |-<br /> |}<br /> <br /> === PSPEMU speculation/talk ===<br /> Compatibility list custom PSP to PS3.<br /> <br /> [[PSP_Emulator_Compatibility_List|PSP Emulator Compatibility List]]<br /> <br /> *http://psx-scene.com/forums/f328/psponps3-compatibility-chart-113244/<br /> <br /> *http://www.pshomebrew.net/wiki/PSP_On_PS3_Compatibility_List<br /> <br /> *[[https://docs.google.com/spreadsheet/ccc?key=0AowGG2G1KRsgdHg5aDJUTnZ2bGR0NEZhMS1xekVXWGc#gid=0| Google Spreadsheet]] and forum reports at http://www.ps3hax.net/showthread.php?t=54435<br /> <br /> <br /> <br /> &lt;!--//<br /> may be add other compatibility list/links to reference, sorry this should be on talk page.<br /> //--&gt;<br /> <br /> ==== PSP Remasters Button Remapping ====<br /> *ADDITIONAL_KEY_ASSIGN type 2 part 2?<br /> 3 state? enable/disable/always<br /> (16 bit (target), 16 bit (source))<br /> <br /> For each byte on 0x47C6C544, binary:<br /> 4 7 C 6 C 5 4 4 = 0x47C6C544<br /> 01 00||01 11 11 00||01 10 11 00||01 01 01 00||01 00<br /> || || || || || <br /> Left | Left Down Right Up<br /> on |D-Pad D-Pad D-Pad D-Pad<br /> right<br /> AStick.<br /> <br /> For each byte on 0x48C6C944, binary:<br /> 4 8 C 6 C 9 4 4 = 0x48C6C944<br /> 01 00||10 00 11 00||01 10 11 00||10 01 01 00||01 00<br /> || || || || || <br /> Left | L1 Down R1 Up<br /> on D-Pad D-Pad<br /> right<br /> AStick.<br /> <br /> {| class=&quot;wikitable&quot;<br /> |+PS3 Buttons Identifyers<br /> ! PS3 button &lt;BR /&gt;&lt;sup&gt;(target)&lt;/sup&gt; !! Identifyer !! Notes<br /> |-<br /> | {{padru}} || ? &lt;!-- 0001 --&gt; || &lt;!-- 1 --&gt;<br /> |-<br /> | {{padrr}} || ? &lt;!-- 0010 --&gt; || &lt;!-- 2 --&gt;<br /> |-<br /> | {{padrd}} || ? &lt;!-- 0011 --&gt; || &lt;!-- 3 --&gt;<br /> |-<br /> | {{padrl}} || 0100 || 4<br /> |-<br /> | {{padr3}} || ? || <br /> |-<br /> | {{padlu}} || ? || <br /> |-<br /> | {{padlr}} || ? || <br /> |-<br /> | {{padld}} || ? || <br /> |-<br /> | {{padll}} || ? || <br /> |-<br /> | {{padl3}} || ? || <br /> |-{{cellcolors|lightgrey}}<br /> | || || <br /> |-<br /> | {{padselect}} || ? || <br /> |-<br /> | {{padps}} || ? || <br /> |-<br /> | {{padstart}} || ? || <br /> |-<br /> | {{dpadu}} || ? || <br /> |-<br /> | {{dpadr}} || ? || <br /> |-<br /> | {{dpadd}} || ? || <br /> |-<br /> | {{dpadl}} || ? || <br /> |-<br /> | {{padl1}} || ? || <br /> |-<br /> | {{padr1}} || ? || <br /> |-<br /> | {{padl2}} || ? || <br /> |-<br /> | {{padr2}} || ? || <br /> |-<br /> | {{padtriangle}} || ? || <br /> |-<br /> | {{padcircle}} || ? || <br /> |-<br /> | {{padcross}} || ? || <br /> |-<br /> | {{padsquare}} || ? || <br /> |-<br /> |}<br /> <br /> *Speculation notes<br /> **Stick directions could be maped to axis: {{padlx}} {{padly}} {{padrx}} {{padry}}<br /> <br /> {| class=&quot;wikitable&quot;<br /> |+PSP Buttons Identifyers<br /> ! PSP button &lt;BR /&gt;&lt;sup&gt;(source)&lt;/sup&gt; !! Identifyer !! Hex Value<br /> |-<br /> | not used || 0001 || 1<br /> |-<br /> | not used || 0010 || 2<br /> |-<br /> | {{padstart}} || 0011 || 3<br /> |-<br /> | {{dpadu}} || 0100 || 4<br /> |-<br /> | {{dpadr}} || 0101 || 5<br /> |-<br /> | {{dpadd}} || 0110 || 6<br /> |-<br /> | {{dpadl}} || 0111 || 7<br /> |-<br /> | {{psptl}} || 1000 || 8<br /> |-<br /> | {{psptr}} || 1001 || 9<br /> |-<br /> | not used || 1010 || A<br /> |-<br /> | not used || 1011 || B<br /> |-<br /> | {{padtriangle}} || 1100 || C<br /> |-<br /> | {{padcircle}} || 1101 || D<br /> |-<br /> | {{padcross}} || 1110 || E<br /> |-<br /> | {{padsquare}} || 1111 || F<br /> |-<br /> |}<br /> <br /> *There are more button icons if needed in [[TemplateTest#Buttons]] page &lt;!-- delete this line when the tables are completed --&gt;<br /> *[https://techshali.com/best-ppsspp-games/ List of compatible PPSSPP Games]<br /> <br /> {{Reverse engineering}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=PSP_Emulation&diff=54189 PSP Emulation 2019-08-18T13:03:01Z <p>Mysis: /* Not implemented APIs */</p> <hr /> <div>== pspemu ==<br /> Used for &quot;PSP Minis&quot; and &quot;PSP remasters&quot;. The PSP Emulator works by accessing an encrypted ISO-9660 image. &lt;br&gt;<br /> Assuming that the mini game's directory is /dev_hdd0/game/NPEZ00000/ then the image is stored inside /USRDIR/CONTENT/EBOOT.PBP/DATA.PSAR. &lt;br&gt;<br /> '''Info''': &lt;br&gt;<br /> * Recent Emulator supports PSP Kernel 6.60 Applications&lt;br&gt;<br /> * 20GB model (CECHB00), because it is not equipped with a wireless LAN psn? feature is not available. (10001)<br /> * Does not support PGD files, and neither its access. (Sword Art Online, Kingdom Hearts, Naruto Shippuden Ultimate Ninja Heroes 3,..)<br /> * Does not support scePAuth. (Evangelion, Monster Hunter 3 Portable,...)<br /> * Does not support loaders. (prometheus, Killzone Liberation (fix via minis2),...)<br /> * Does not support &quot;fatms0:&quot;. (use &quot;ms0:&quot;)<br /> * Does not support directory creation on &quot;ms0:&quot;.<br /> * Does not support screen shot utility. (Sweet Fuse,...)<br /> * Does not support game sharing utility.<br /> * Does not support rss /rss reader utility.<br /> * Does not support &quot;disc0:/sce_lbn0x%04x_size0x%04x&quot;. (Naruto Shippuden Ultimate Ninja Impact, Final Fantasy 4,Blood+... )<br /> <br /> * Default pll frequency 222, cpu frequency 222, bus frequency 111<br /> * Default internal paths:<br /> ** /dev_flash/pspemu/psp/<br /> ** /dev_flash/pspemu/flash0/<br /> ** /dev_flash/pspemu/ms/<br /> ** /dev_hdd0/game/&lt;TITLEID&gt;/USRDIR/EXDATA/<br /> ** /dev_hdd0/game/&lt;TITLEID&gt;/USRDIR/CONTENT/DOCUMENT.DAT<br /> <br /> '''Supported Tags''':<br /> 0x00000008, /* 1.XX */<br /> 0x7C16CBC0, /* 2.XX */<br /> 0x03FD0480, /* 2.71 */<br /> 0xF00516D9, /* 2.80 */<br /> 0xF00616D9, /* 3.00 */<br /> 0xF00A16D9, <br /> 0xF00B16D9,<br /> <br /> === Files ===<br /> psp_emulator.self (3.15++)<br /> psp_translator.self (3.15++)<br /> \flash0 (3.15++)<br /> \flash1<br /> \flash2<br /> \flash3<br /> \lflash<br /> \release (3.15++)<br /> \psp<br /> \ms<br /> <br /> ==== arguments ====<br /> 2 arguments:&lt;br&gt;<br /> * argv[0]= self starting location&lt;!--// /dev_flash/pspemu/psp_emulator.self or /app_home if you want to load custom sysman.sprx / threadman.sprx files//--&gt;&lt;br&gt;<br /> * argv[1]= ISO.BIN.EDAT location<br /> <br /> ==== mapping ====<br /> <br /> 0xB0000000 - elf/game memory<br /> 0xB3900000 - settings { VFPU_USE_FAST_VMMUL, VMX_FOR_FPU, FPU_FS_SUPPORT, ALLEGREX_DELAY, unk (0/0x1000)}<br /> 0xB4000000<br /> 0xB4200000<br /> 0xB4400000<br /> 0xB4600000<br /> 0xB7900000<br /> 0xB8000000<br /> 0xBB900000<br /> <br /> === Controller? ===<br /> <br /> taken from PEmuCoreLib<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Mode? !! Number !! Note<br /> |-<br /> | 1-A || 1? ||<br /> |-<br /> | 2-A || 2?||<br /> |-<br /> | 1-B || 3?||<br /> |-<br /> | 2-B || 4?||<br /> |-<br /> | 1-C || 5?||<br /> |-<br /> | 2-C || 6?||<br /> |-<br /> | 1-D || 7?||<br /> |-<br /> |}<br /> <br /> === Emulator Settings ===<br /> <br /> The emulator itself can be feeded with settings about the game. These settings are:<br /> <br /> 1) in MINIS2.EDAT (pure Text format file decrypted)<br /> 2) within the emulator defined for a bunch of games (see [[Emulation#Special_notes| Special notes]])<br /> <br /> Note: The Emulator can be patched (1 Bit) to read a non encrypted MINIS2.EDAT.<br /> <br /> Here are the commands what you can define for the psp emulator:<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Struct !! Command !! Example !! Note<br /> |-<br /> | || # || #PSDEVWIKi || Text, information, # will be ignored<br /> |-<br /> | || VERSION = 0x%x || VERSION = 0xFFFFFFFF || <br /> |-<br /> | || BOOT_MODE = %llx || ||<br /> 100010000 = Minis <br /> 200010000 = Remaster <br /> |-<br /> | || REMASTER_VERSION = 0x%x || ||<br /> |-<br /> | || SDRAM_SIZE = %llx || SDRAM_SIZE = 02800000 ||<br /> 02000000 = ~34 MB (Default)<br /> 02800000 = ~42 MB <br /> 03000000 = ~50 MB <br /> 04000000 = ~67 MB<br /> &lt;br /&gt;&lt;br /&gt;''Real PSP hardware had:''<br /> * ''Main RAM: 32MB (PSP-1000) or 64 MB (PSP-2000, PSP-3000, PSP Go/PSP-N1000 and PSP-E1000) 333MHz 256bit DDR SDRAM with 8MB reserved for kernel.''<br /> * ''Video RAM: 2MB 166MHz 256bit eDRAM.''<br /> * ''MediaEngine RAM: 2MB 166MHz 128bit eDRAM.''<br /> |-<br /> | || TRANS_CACHE_SIZE = %llx || TRANS_CACHE_SIZE = 1000000 ||<br /> 2000000 = (Default)<br /> 1000000 = <br /> |-<br /> | || HOSTFS_PATH = %lld || || <br /> 0 = /dev_flash/pspemu/psp/ (Default) <br /> 1 = /app_home/psp/ <br /> 2 = /app_home/<br /> else = /dev_flash/pspemu/psp/<br /> |-<br /> | || EXDATA_PATH = %lld || ||<br /> 0 = %USRDIR%/EXDATA/ (Default)<br /> 2 = &lt;HOSTFS_PATH&gt;/EXDATA/<br /> 3 = /dev_usb/EXDATA<br /> else = %USRDIR%/EXDATA/<br /> |-<br /> | || ELF_PATH = %s || ELF_PATH = disc0:/PSP_GAME/SYSDIR/EBOOT.BIN || = default, but can be changed for example on Powerstone Collection to directly load PS1.prx/PS2.prx<br /> |-<br /> | || ISO_PATH = %s || ||<br /> |-<br /> | || VOUT_RESOLUTION_MODE = %lld || VOUT_RESOLUTION_MODE = 0 ||<br /> 0 = (Default)<br /> 1<br /> 2<br /> 3<br /> ... <br /> |-<br /> | || DRAWN_IMAGE_SCALE = %lld || DRAWN_IMAGE_SCALE = 4 || Display Output Videoscale <br /> 0 = <br /> 1 = small picture<br /> 2 = (Default)<br /> 3 =<br /> 4 =<br /> ...<br /> |-<br /> | AW. {|| || || indicates LINEAR_ADRS to CLOAD_MODE optional setting following<br /> |-<br /> | || LINEAR_ADRS = %llx || AW.LINEAR_ADRS = 40 ||<br /> 0 = (Default)<br /> 40 = <br /> |-<br /> | || SINGLE_BUF = %llx || AW.SINGLE_BUF = 880 ||<br /> 0 = (Default)<br /> 80 = <br /> 880 =<br /> |-<br /> | || DISABLE_FB_TEX = %llx || AW.DISABLE_FB_TEX = 100 || <br /> 0 = (Default)<br /> 100 = <br /> |-<br /> | || REUSE_ADRS = %llx || AW.REUSE_ADRS = 110000 ||<br /> 0 = (Default)<br /> 110000 =<br /> |-<br /> | || SINGLE_BUF2 = %llx || ||<br /> |-<br /> | || DECODE_WAIT = %llx || AW.DECODE_WAIT = 10000 || in order to slowdown ?<br /> 0 = (Default)<br /> 10000 = <br /> |-<br /> | || DISCARD_EDGE = %llx || AW.DISCARD_EDGE = 20000 ||<br /> 0 = (Default)<br /> 20000 =<br /> |-<br /> | || RECYCLE_RD_TEX = %llx || ||<br /> |-<br /> | || EXT_MODE = %llx || AW.EXT_MODE = 3 ||<br /> 0 = (Default)<br /> Uses different SPU ELF for transparency/textures behavior <br /> 1 = <br /> 2 = <br /> 3 = <br /> |-<br /> | || THR_PIXEL_OFST = %llx || AW.THR_PIXEL_OFST = 0 || <br /> 0 = <br /> 3EFFFFFF = (default)<br /> |-<br /> | || EXT_CMD = %llx || AW.EXT_CMD = 2 || <br /> 0 = (Default)<br /> 1 = <br /> 2 = <br /> 3 = <br /> |-<br /> | || VRAM_MODE = %llx || AW.VRAM_MODE = 1 ||<br /> 0 = Disabled (default) <br /> 1 = Enabled<br /> |-<br /> | || CLOAD_MODE = %llx || AW.CLOAD_MODE = 1 || (Note: Only available since 4.30?)<br /> 0 = Disabled (default) <br /> 1 = Enabled<br /> Displays Selection Menu: Remaster/Adhoc ?<br /> |-<br /> | } || || ||<br /> |-<br /> | AUDIO. {|| || || indicates optional SCR_NOIZ,SLEEP,DECODE_LIMIT setting following<br /> |-<br /> | || SRC_NOIZ = %llx || ||<br /> |-<br /> | || SLEEP = %llx || AUDIO.SLEEP = 421 ||<br /> 0 = (Default)<br /> 421 =<br /> |-<br /> | || DECODE_LIMIT = %llx || ||<br /> |-<br /> | } || || ||<br /> |-<br /> | || VFPU_USE_FAST_VMMUL = %lld || ||<br /> 0 = Disabled (Default) <br /> 1 = Enabled<br /> |-<br /> | || VMX_FOR_FPU = %lld || ||<br /> 0 = Disabled<br /> 1 = Enabled (Default)<br /> |-<br /> | || FPU_FS_SUPPORT = %lld || ||<br /> 0 = Disabled<br /> 1 = Enabled (Default)<br /> |-<br /> | || MIPS_CODE_BLOCK_SIZE = %lld || MIPS_CODE_BLOCK_SIZE = 8192 ||<br /> 8192 (decimal) = 0x2000 (hex) <br /> 4096 (decimal) = 0x1000 (hex, Default)<br /> |-<br /> | || ALLEGREX_DELAY = %lld || || Allegrex = PSP CPU <br /> 0 = (Default)<br /> 100 = ms delay interrupt/thread/sync<br /> |-<br /> | || LINCOLN_START_ADDR = %llx || ||<br /> 0x8804000? = (Default)?<br /> 0x20000<br /> |-<br /> | || LINCOLN_START_SIZE = %llx || || ELF Size?<br /> |-<br /> | || TRANSLATOR_PATCH[%lld] = { %08x } || || <br /> %lld = Number of patches to allocate&lt;br&gt;<br /> Format goes like this - all values being 32Bit hexdecimal:&lt;br&gt;<br /> = { start_address? end_address? patch1 patch2 .... (optional: count_for_buff2 buff2_value1 buff2_value2..) }<br /> |-<br /> | || OSK_ENGLISH = %lld || || On Screen Keyboard<br /> 0 = (Default) panel <br /> Else? = english<br /> |-<br /> | S3D. {|| || || Stereoscopic 3D<br /> |-<br /> | || ENABLE = %lld || S3D.ENABLE = 1 ||<br /> 0 = Disabled (Default)<br /> 1 = <br /> 2 = <br /> 3,4,.. = ? (3D Display strong?)<br /> |-<br /> | || MAX_PARALLAX = %f || || (info: http://www.lightillusion.com/stereo_3d_rules.html) &lt;br&gt; 0.0 to 1.0 ? <br /> 0.029999999 = (Default)<br /> |-<br /> | || SCREEN_DISTANCE = %f || || 0.0 to 1.0 ?<br /> -1.0 = (Default)<br /> |-<br /> | CONV. {|| || || struct within S3D structure (info: http://www.lightillusion.com/stereo_3d_convergence.html)<br /> |-<br /> | || DEPTH_TYPE = %lld || ||<br /> 2 = (Default)<br /> |-<br /> | || GLOBAL_DEPTH1 = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || GLOBAL_DEPTH2 = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || LOCAL_DEPTH1 = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || LOCAL_DEPTH2 = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || SHIFT = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || SIDEPANEL = %lld || ||<br /> 0 = (Default)<br /> |-<br /> | } || || ||<br /> |-<br /> | } || || ||<br /> |-<br /> | FILTER. {|| || || <br /> |-<br /> | DOF. {|| || || depth of field filter<br /> |-<br /> | || GAUSSIAN = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || DEPTH.0 = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || DEPTH.1 = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || FOCAL_DISTANCE = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || FIELD_WIDTH = %f || ||<br /> 0 = (Default)<br /> |-<br /> | } || || ||<br /> |-<br /> | BLOOM. {|| || || bloom filter<br /> |-<br /> | || THRESHOLD.R = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || THRESHOLD.G = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || THRESHOLD.B = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || THRESHOLD.VALUE = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || ADD.R = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || ADD.G = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || ADD.B = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || ADD.LOD = %f || ||<br /> 0 = (Default)<br /> |-<br /> | } || || ||<br /> |-<br /> | } || || ||<br /> |-<br /> | || ADDITIONAL_KEY_ASSIGN = %llx || ADDITIONAL_KEY_ASSIGN = 0000000047C6C544 ||<br /> 0000000047C6C544 : maps right analog stick, usefull for 3rd person camera viewing<br /> 0000000048C0C940 : maps L + R to right analog stick left and right<br /> 8000000000000000 : unknown<br /> |-<br /> | || SAVEDATA_USE_UPPERCASENAME = %lld || ||<br /> 0 = (Default)<br /> Ese = convert characters<br /> |-<br /> | || FAKE_PATH = %s || || (max. lenght 0x400 bytes)<br /> |-<br /> | || SAVEDATA_LOAD_CACHE_TARGET_NAME = %s || SAVEDATA_LOAD_CACHE_TARGET_NAME = ULJM05637DQUEST ||<br /> |-<br /> | || SAVEDATA_USE_PS3_SAVE = %lld || SAVEDATA_USE_PS3_SAVE = 1 ||<br /> 0 = Uses PSP/PSPMinis SaveData module <br /> 1 = SaveGame via PS3 SaveData module<br /> |-<br /> | || ICACHE_CONTROL = %llx || ||<br /> 0 = Enable InvalidateAll availability<br /> 1 = sceKernelIcacheInvalidateRange disabled?<br /> 2 = sceKernelIcacheInvalidateAll disabled?<br /> |-<br /> | || DEBUG.GRAPHICS = %lld || DEBUG.GRAPHICS = 1 ||<br /> 0 = off<br /> 1 = on , displays information and more: <br /> * flip time average (max.,min.),<br /> * RSX Performance average (max.,min.),<br /> * MIPS load average (max.,min.)<br /> 2 = ?<br /> |-<br /> | || DEBUG.CPU_PERF_BUF_SIZE = 0x%llx || ||<br /> 0x100000 = (default)<br /> |-<br /> | || VSYNC_OFFSET_US = %lld || VSYNC_OFFSET_US = 8341 ||<br /> 8341 = 0x2095 (Default)<br /> 2000 = 0x07D0 (Legend of Heroes/Eiyū Densetsu HD Remasters)<br /> |-<br /> | || ADHOC_PARTY = %llx || ADHOC_PARTY = 1 ||<br /> 0 = Disabled (Default)<br /> 1 = Enable Ad hoc Multiplayer<br /> |-<br /> | || GPI = 0x%llx || ||<br /> 0 = (Default) <br /> uint8_t value<br /> |-<br /> | || UTILITY_CTRL_VALUE = %llx || ||<br /> |-<br /> | || CODE_SIZE_LIMIT = %llx || CODE_SIZE_LIMIT = 00800000 ||<br /> |-<br /> | || NP.COMMUNICATION_ID = %s || ||<br /> |-<br /> | || ADHOC_LOCAL_PEER_NUM = %llx || ||<br /> |-<br /> | ADHOC. {|| || || <br /> |-<br /> | || EMUPA_TITLE_ID = %s || ADHOC.EMUPA_TITLE_ID = ULJM05637 ||<br /> |-<br /> | || EMUPA_INITIAL_SERVER = %lld || ADHOC.EMUPA_INITIAL_SERVER = 1 ||<br /> 0 = (Default) <br /> 1 = <br /> |-<br /> | || USE_WORLD_MIN = %lld || ||<br /> |-<br /> | || USE_WORLD_MAX = %lld || ||<br /> |-<br /> | || MAC_THREAD_PRIORITY = %lld || ||<br /> |-<br /> | || SEND_LIMIT = %lld || ||<br /> |-<br /> | || RECV_LIMIT = %lld || ||<br /> |-<br /> | || PTP_SB_SEND_EXT = %lld || ||<br /> |-<br /> | || PTP_SEND_INTERVAL_MIN = %lld || ||<br /> |-<br /> | || PTP_ACCEPT_DELAY = %lld || ||<br /> |-<br /> | || FLAGS = %llx || ||<br /> |-<br /> | } || || ||<br /> |-<br /> |}<br /> <br /> === Special notes ===<br /> <br /> ==== PSP Minis ====<br /> On few Games there are predefined changes set for the Core within the emulator.<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Title ID !! Title Name !! Note<br /> |-<br /> | NPEZ00001 || Puzzle Scape Mini || AW.DISCARD_EDGE = 20000&lt;br&gt; AW.DECODE_WAIT = 10000<br /> |-<br /> | NPEZ00002 || Stand O'Food || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00003 || Mahjongg Artifacts Chapter 2 || AW.LINEAR_ADRS = 40&lt;br&gt; AW.DISABLE_FB_TEX = 100&lt;br&gt; AW.DISCARD_EDGE = 20000<br /> |-<br /> | NPEZ00021 || Pinball Dreams || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00022 || Pinball Fantasies || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00027 || Sudoku || AUDIO.SLEEP = 421<br /> |-<br /> | NPEZ00028 || Bowling 3D *1) || <br /> |-<br /> | NPEZ00031 || Hero Of Sparta || <br /> |-<br /> | NPEZ00041 || Blast Off || <br /> |-<br /> | NPEZ00046 || Brainpipe || <br /> |-<br /> | NPEZ00093 || Tetris *1) || AW.SINGLE_BUF = 80&lt;br&gt;AW.REUSE_ADRS = 110000<br /> |-<br /> | NPEZ00094 || Yummy Yummy Cooking Jam || AW.SINGLE_BUF = 880&lt;br&gt;AW.DECODE_WAIT = 10000<br /> |-<br /> | NPEZ00105 || Telegraph - Sudoku &amp; Kakuro || DRAWN_IMAGE_SCALE = 1 <br /> |-<br /> | NPEZ00106 || Sudoku und Kakuro: Welt Edition || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00107 || Spot The Differences! || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00108 || Finde die Unterschiede! Welt Edition || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00112 || Telegraph Crosswords || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00113 || Kreuzwortraetsel: Welt Edition || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00125 || Pallurikio || <br /> |-<br /> | NPEZ00194 || Mahjongg Artifacts || AW.LINEAR_ADRS = 40&lt;br&gt;AW.DISABLE_FB_TEX = 100&lt;br&gt;AW.DISCARD_EDGE = 20000<br /> |-<br /> | NPEZ00219 || Arctic Adventures: Polar's Puzzles || <br /> |-<br /> | NPEZ00381 || Fighting Fantasy - Talisman of death || AW.THR_PIXEL_OFST = 0<br /> |-<br /> | NEPZ00444 || Jetpack Joyride || AW.CLOAD_MODE = 1<br /> |-<br /> | NPUZ00002 || Bowling 3D *1) || <br /> |-<br /> | NPUZ00005 || Hero Of Sparta || <br /> |-<br /> | NPUZ00006 || Mahjongg Artifacts Chapter 2 || AW.LINEAR_ADRS = 40&lt;br&gt;AW.DISABLE_FB_TEX = 100&lt;br&gt;AW.DISCARD_EDGE = 20000<br /> |-<br /> | NPUZ00009 || Brainpipe || <br /> |-<br /> | NPUZ00017 || Pinball Fantasies || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPUZ00018 || Yummy Yummy Cooking Jam || AW.SINGLE_BUF = 880&lt;br&gt;AW.DECODE_WAIT = 10000<br /> |-<br /> | NPUZ00021 || Blast Off || <br /> |-<br /> | NPUZ00029 || Stand O' Food || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPUZ00034 || Spot The Differences! || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPUZ00054 || Pinball Dreams || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPUZ00058 || SuperMarket Mania || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPUZ00062 || Mahjongg Artifacts || AW.LINEAR_ADRS = 40&lt;br&gt;AW.DISABLE_FB_TEX = 100&lt;br&gt;AW.DISCARD_EDGE = 20000<br /> |-<br /> | NPUZ00099 || Pallurikio || <br /> |-<br /> | NPUZ00114 || Arctic Adventures: Polar's Puzzles || <br /> |-<br /> | NPUZ00292 || Jetpack Joyride || AW.CLOAD_MODE = 1<br /> |-<br /> |}<br /> <br /> *1) SFO: PP, officially wont run on ps3 as no iso.bin and no proper minis file (only psp officially supported)<br /> <br /> ==== PSP HD Remasters ====<br /> <br /> * TextureSize = 1024<br /> * Can use 64 MB memory<br /> And these PSP Remaster Games got a MINIS2.EDAT setting definitions for the Emulator Core.<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Disc Title ID !! NP Title ID !! Title Name !! Note<br /> |-<br /> | BLJM85001 || NPJB40001 || Monster Hunter Portable 3rd HD Ver || VERSION = 0xFFFFFFFF&lt;br&gt;<br /> S3D.ENABLE = 2&lt;br&gt;<br /> SDRAM_SIZE = 02800000&lt;br&gt;<br /> MIPS_CODE_BLOCK_SIZE = 8192&lt;br&gt; (next settings are done internally and not part of MINIS2)&lt;br&gt;<br /> DRAWN_IMAGE_SCALE = 4&lt;br&gt;<br /> AW.EXT_MODE = 3&lt;br&gt;<br /> TRANS_CACHE_SIZE = 1000000&lt;br&gt;<br /> VSYNC_OFFSET_US = 2000&lt;br&gt;<br /> ADHOC.EMUPA_TITLE_ID = ULJM05800&lt;br&gt;<br /> ADHOC.EMUPA_INITIAL_SERVER = 1&lt;br&gt;<br /> ADHOC_PARTY = 1&lt;br&gt;<br /> |-<br /> | BLJM85002 || NPJB40002 || K-ON Houkago Live HD Ver || VERSION = 0xFFFFFFFF&lt;br&gt;<br /> AW.EXT_MODE = 3&lt;br&gt;<br /> AW.EXT_CMD = 2&lt;br&gt;<br /> SDRAM_SIZE = 02800000&lt;br&gt;<br /> ADDITIONAL_KEY_ASSIGN = 8000000000000000&lt;br&gt;<br /> S3D.ENABLE = 1&lt;br&gt;<br /> ADHOC.EMUPA_TITLE_ID = ULJM05709<br /> |-<br /> | BLJM85003 || NPJB40003 || Shin Sangoku Musou Multi Raid 2 HD Ver || VERSION = 0xFFFFFFFF&lt;br&gt;<br /> AW.EXT_MODE = 3&lt;br&gt;<br /> AW.EXT_CMD = 2&lt;br&gt;<br /> SDRAM_SIZE = 02800000&lt;br&gt;<br /> ADDITIONAL_KEY_ASSIGN = 0000000047C6C544&lt;br&gt;<br /> S3D.ENABLE = 1&lt;br&gt;<br /> ADHOC.EMUPA_TITLE_ID = ULJM05637&lt;br&gt;<br /> AW.VRAM_MODE = 1&lt;br&gt;<br /> SAVEDATA_LOAD_CACHE_TARGET_NAME = ULJM05637DQUEST<br /> |-<br /> | BLJM85004 || NPJB00293&lt;br&gt;NPJN00005 ||Eiyuu Densetsu Sora no Kiseki FC Kai HD Edition || VERSION = 0xFFFFFFFF&lt;br&gt;<br /> SDRAM_SIZE = 03000000&lt;br&gt;<br /> ADDITIONAL_KEY_ASSIGN = 0000000047C6C544&lt;br&gt;<br /> S3D.ENABLE = 1&lt;br&gt;<br /> AW.EXT_MODE = 3&lt;br&gt;<br /> AW.EXT_CMD = 3&lt;br&gt;<br /> ADHOC_PARTY = 0&lt;br&gt;<br /> VSYNC_OFFSET_US = 2000<br /> |-<br /> | BLJM85005 || NPJB00334&lt;br&gt;NPJN00007||Eiyuu Densetsu: Sora no Kiseki SC Kai HD Edition || VERSION = 0xFFFFFFFF&lt;br&gt;<br /> SDRAM_SIZE = 04000000&lt;br&gt;<br /> CODE_SIZE_LIMIT = 00800000&lt;br&gt;<br /> ADDITIONAL_KEY_ASSIGN = 8000000000000000&lt;br&gt;<br /> S3D.ENABLE = 2&lt;br&gt;<br /> AW.EXT_MODE = 3&lt;br&gt;<br /> AW.EXT_CMD = 3&lt;br&gt;<br /> ADHOC_PARTY = 0&lt;br&gt;<br /> VSYNC_OFFSET_US = 2000<br /> |-<br /> | BLJM85006 || NPJB00360&lt;br&gt;NPJN00008||Eiyuu Densetsu: Sora no Kiseki the 3rd: Kai HD Edition || VERSION = 0xFFFFFFFF&lt;br&gt;<br /> SDRAM_SIZE = 04000000&lt;br&gt;<br /> CODE_SIZE_LIMIT = 00800000&lt;br&gt;<br /> ADDITIONAL_KEY_ASSIGN = 8000000000000000&lt;br&gt;<br /> S3D.ENABLE = 2&lt;br&gt;<br /> AW.EXT_MODE = 3&lt;br&gt;<br /> AW.EXT_CMD = 3&lt;br&gt;<br /> ADHOC_PARTY = 0&lt;br&gt;<br /> |}<br /> <br /> DiscIDs inside emulator: http://pastie.org/pastes/4367964/<br /> <br /> ==== Unofficial PSP Games MINIS2====<br /> <br /> * research only<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Title ID !! Title Name !! Issue !! Setting !! Note<br /> |-<br /> | || Shin Megami Tensei: Persona3 Portable || hangs while loading screen ||<br /> AW.VRAM = 1<br /> || fixes loading, but requires further research<br /> |-<br /> | || Silent Hill: Origins || Loading Screen texture flicker on top ||<br /> AW.LINEAR_ADRS = 40 <br /> ||<br /> |-<br /> | || Tactics Ogre: Let Us Cling Together || Black texture? overlay in movies and &quot;Tarot Card&quot; selection ||<br /> AW.LINEAR_ADRS = 40 <br /> ||<br /> |-<br /> | || The 3rd Birthday || blue transparent texture overblending ||<br /> AW.DISABLE_FB_TEX = 222<br /> || mostly removed, but requires further research<br /> |-<br /> |}<br /> <br /> === NID ===<br /> &lt;pre&gt;<br /> <br /> Library: GprofManStub<br /> 0x6A05A80D sceGprofSetProfil<br /> 0x799D0A67 sceGprofFreeProfil<br /> <br /> Library: GprofManWeak<br /> 0x6A05A80D sceGprofSetProfil_Weak<br /> 0x799D0A67 sceGprofFreeProfil_Weak<br /> <br /> Library: InterruptManager<br /> 0x5CB5A78B sceKernelSuspendSubIntr<br /> 0x7860E0DC sceKernelResumeSubIntr<br /> 0x8A389411 sceKernelDisableSubIntr<br /> 0xCA04A2B9 sceKernelRegisterSubIntrHandler<br /> 0xD61E6961 sceKernelReleaseSubIntrHandler<br /> 0xEEE43F47 sceKernelRegisterUserSpaceIntrStack<br /> 0xFB8E22EC sceKernelEnableSubIntr<br /> 0xFC4374B8 sceKernelIsSubInterruptOccurred<br /> <br /> Library: IoFileMgrForUser<br /> 0x06A70004 sceIoMkdir<br /> 0x08BD7374 sceIoGetDevType<br /> 0x0FACAB19 sceIoWriteAsync<br /> 0x109F50BC sceIoOpen<br /> 0x1117C65F sceIoRmdir<br /> 0x1B385D8F sceIoLseek32Async<br /> 0x27EB27B8 sceIoLseek<br /> 0x3251EA56 sceIoPollAsync<br /> 0x35DBD746 sceIoWaitAsyncCB<br /> 0x42EC03AC sceIoWrite<br /> 0x54F5FB11 sceIoDevctl<br /> 0x55F4717D sceIoChdir<br /> 0x5C2BE2CC sceIoGetFdList<br /> 0x63632449 sceIoIoctl<br /> 0x68963324 sceIoLseek32<br /> 0x6A638D83 sceIoRead<br /> 0x6D08A871 sceIoUnassign<br /> 0x71B19E77 sceIoLseekAsync<br /> 0x779103A0 sceIoRename<br /> 0x810C4BC3 sceIoClose<br /> 0x89AA9906 sceIoOpenAsync<br /> 0xA0B5A7C2 sceIoReadAsync<br /> 0xA12A0514 sceIoSetAsyncCallback<br /> 0xAB96437F sceIoSync<br /> 0xACE946E8 sceIoGetstat<br /> 0xB293727F sceIoChangeAsyncPriority<br /> 0xB29DDF9C sceIoDopen<br /> 0xB2A628C1 sceIoAssign<br /> 0xB8A740F4 sceIoChstat<br /> 0xCB05F8D6 sceIoGetAsyncStat<br /> 0xE23EEC33 sceIoWaitAsync<br /> 0xE3EB004C sceIoDread<br /> 0xE8BC6571 sceIoCancel<br /> 0xE95A012B sceIoIoctlAsync<br /> 0xEB092469 sceIoDclose<br /> 0xF27A9C51 sceIoRemove<br /> 0xFF5940B6 sceIoCloseAsync<br /> <br /> Library: Kernel_Library<br /> 0x092968F4 sceKernelCpuSuspendIntr<br /> 0x15B6446B sceKernelUnlockLwMutex<br /> 0x1839852A sceKernelMemcpy<br /> 0x1FC64E09 sceKernelLockLwMutexCB<br /> 0x293B45B8 sceKernelGetThreadId_kernel<br /> 0x37431849 sceKernelTryLockLwMutex_600<br /> 0x3B84732D sceKernelCpuResumeIntrWithSync<br /> 0x47A0B729 sceKernelIsCpuIntrSuspended<br /> 0x5F10D406 sceKernelCpuResumeIntr<br /> 0xA089ECA4 sceKernelMemset<br /> 0xB55249D2 sceKernelIsCpuIntrEnable<br /> 0xBEA46419 sceKernelLockLwMutex<br /> 0xC1734599 sceKernelReferLwMutexStatus<br /> 0xD13BDE95 sceKernelCheckThreadStack_user<br /> 0xDC692EE3 sceKernelTryLockLwMutex<br /> 0xFA835CDE sceKernelGetTlsAddr<br /> <br /> Library: LoadExecForUser<br /> 0x05572A5F sceKernelExitGame<br /> 0x2AC9954B sceKernelExitGameWithStatus<br /> 0x362A956B sceKernelSafetyCheck1<br /> 0x4AC57943 sceKernelRegisterExitCallback<br /> 0x8ADA38D3 sceKernelLoadExecNpDrm<br /> 0xBD2F1094 sceKernelLoadExec<br /> <br /> Library: ModuleMgrForUser<br /> 0x2E0911AA sceKernelUnloadModule<br /> 0x50F0C1EC sceKernelStartModule<br /> 0x644395E2 sceKernelGetModuleIdList<br /> 0x748CBED9 sceKernelQueryModuleInfo<br /> 0x8F2DF740 sceKernelStopUnloadSelfModuleWithStatus<br /> 0x977DE386 sceKernelLoadModule<br /> 0xB7F46618 sceKernelLoadModuleByID<br /> 0xCC1D3699 sceKernelStopUnloadSelfModule<br /> 0xCDE1C1FE sceKernelCheckTextSegment<br /> 0xD1FF982A sceKernelStopModule<br /> 0xD2FBC957 sceKernelGetModuleGPByAddress<br /> 0xD675EBB8 sceKernelSelfStopUnloadModule<br /> 0xD8B73127 sceKernelGetModuleIdByAddress<br /> 0xE4C4211C sceKernelLoadModuleWithBlockOffset<br /> 0xF0A26395 sceKernelGetModuleId<br /> 0xF2D8D1B4 sceKernelLoadModuleNpDrm<br /> 0xF9275D98 sceKernelLoadModuleBufferUsbWlan<br /> 0xFBE27467 sceKernelLoadModuleByIDWithBlockOffset<br /> 0xFEF27DC1 sceKernelLoadModuleDNAS<br /> <br /> Library: StdioForUser<br /> 0x0CBB0571 sceKernelStdioLseek<br /> 0x172D316E sceKernelStdin<br /> 0x3054D478 sceKernelStdioRead<br /> 0x432D8F5C sceKernelRegisterStdoutPipe<br /> 0x6F797E03 sceKernelRegisterStderrPipe<br /> 0x924ABA61 sceKernelStdioOpen<br /> 0x9D061C19 sceKernelStdioClose<br /> 0xA3B931DB sceKernelStdioWrite<br /> 0xA46785C9 sceKernelStdioSendChar<br /> 0xA6BAB2E9 sceKernelStdout<br /> 0xF78BA90A sceKernelStderr<br /> <br /> Library: SysMemUserForUser<br /> 0x13A5ABEF sceKernelPrintf<br /> 0x1B4217BC sceKernelSetCompiledSdkVersion630<br /> 0x237DBD4F sceKernelAllocPartitionMemory<br /> 0x315AD3A0 sceKernelSetCompiledSdkVersion380_390<br /> 0x342061E5 sceKernelSetCompiledSdkVersion370<br /> 0x35669D4C sceKernelSetCompiledSdkVersion600_620<br /> 0x358CA1BB sceKernelSetCompiledSdkVersion660<br /> 0x50F61D8A sceKernelFreeMemoryBlock<br /> 0x7591C7DB sceKernelSetCompiledSdkVersion100<br /> 0x7893F79A sceKernelSetCompiledSdkVersion570_570<br /> 0x91DE343C sceKernelSetCompiledSdkVersion500_550<br /> 0x9D9A5BA1 sceKernelGetBlockHeadAddr<br /> 0xA291F107 sceKernelMaxFreeMemSize<br /> 0xB6D61D02 sceKernelFreePartitionMemory<br /> 0xD8DE5C1E sceKernelSafetyCheck0<br /> 0xDB83A952 sceKernelGetMemoryBlockAddr<br /> 0xEBD5C3E6 sceKernelSetCompiledSdkVersion395_405<br /> 0xF77D77CB sceKernelSetCompilerVersion<br /> 0xF919F628 sceKernelTotalFreeMemSize<br /> 0xFC114573 sceKernelGetCompiledSdkVersion<br /> 0xFE707FDF sceKernelAllocMemoryBlock<br /> <br /> Library: ThreadManForUser<br /> 0x034A921F sceKernelGetVTimerTime<br /> 0x0C106E53 sceKernelRegisterThreadEventHandler<br /> 0x0D81716A sceKernelPollMbx<br /> 0x0DDCD2C9 sceKernelTryLockMutex<br /> 0x110DEC9A sceKernelUSec2SysClock<br /> 0x1181E963 sceKernelDelaySysClockThreadCB<br /> 0x17C1684E sceKernelReferThreadStatus<br /> 0x18260574 sceKernelReceiveMbx<br /> 0x19CFF145 sceKernelCreateLwMutex<br /> 0x1AF94D03 sceKernelDonateWakeupThread<br /> 0x1D371B8A sceKernelCancelVpl<br /> 0x1FB15A32 sceKernelSetEventFlag<br /> 0x20FFF560 sceKernelCreateVTimer<br /> 0x278C0DF5 sceKernelWaitThreadEnd<br /> 0x27E22EC2 sceKernelResumeDispatchThread<br /> 0x28B6489C sceKernelDeleteSema<br /> 0x293B45B8 sceKernelGetThreadId<br /> 0x2A3D44FF sceKernelGetCallbackCount<br /> 0x2C34E053 sceKernelReleaseWaitThread<br /> 0x30FD48F0 sceKernelPollEventFlag<br /> 0x328C546A sceKernelWaitEventFlagCB<br /> 0x328F9E52 sceKernelDeleteVTimer<br /> 0x32BF938E sceKernelDeleteTlspl<br /> 0x33BE4024 sceKernelReferMsgPipeStatus<br /> 0x349B864D sceKernelCancelMsgPipe<br /> 0x349D6D6C sceKernelCheckCallback<br /> 0x369ED59D sceKernelGetSystemTimeLow<br /> 0x369EEB6B sceKernelReferThreadEventHandlerStatus<br /> 0x383F7BCC sceKernelTerminateDeleteThread<br /> 0x39810265 sceKernelReferVplStatus<br /> 0x3AD58B8C sceKernelSuspendDispatchThread<br /> 0x3B183E26 sceKernelGetThreadExitStatus<br /> 0x3F53E640 sceKernelSignalSema<br /> 0x402FCF22 sceKernelWaitEventFlag<br /> 0x446D8DE6 sceKernelCreateThread<br /> 0x4A719FB2 sceKernelFreeTlspl<br /> 0x4C145944 sceKernelReferLwMutexStatusByID<br /> 0x4E3A1105 sceKernelWaitSema<br /> 0x52089CA1 sceKernelGetThreadStackFreeSize<br /> 0x532A522E _sceKernelExitThread<br /> 0x53B00E9A sceKernelSetVTimerHandlerWide<br /> 0x542AD630 sceKernelSetVTimerTime<br /> 0x55C20A00 sceKernelCreateEventFlag<br /> 0x56C039B5 sceKernelCreateVpl<br /> 0x57CF62DD sceKernelGetThreadmanIdType<br /> 0x58B1F937 sceKernelPollSema<br /> 0x5BF4DD27 sceKernelLockMutexCB<br /> 0x5F32BEAA sceKernelReferVTimerStatus<br /> 0x60107536 sceKernelDeleteLwMutex<br /> 0x616403BA sceKernelTerminateThread<br /> 0x623AE665 sceKernelTryAllocateFpl<br /> 0x627E6F3A sceKernelReferSystemStatus<br /> 0x64D4540E sceKernelReferThreadProfiler<br /> 0x65F54FFB _sceKernelAllocateTlspl<br /> 0x6652B8CA sceKernelSetAlarm<br /> 0x68DA9E36 sceKernelDelayThreadCB<br /> 0x6B30100F sceKernelUnlockMutex<br /> 0x6D212BAC sceKernelWaitSemaCB<br /> 0x6E9EA350 _sceKernelReturnFromCallback<br /> 0x71BC9871 sceKernelChangeThreadPriority<br /> 0x721067F3 sceKernelReferTlsplStatus<br /> 0x72F3C145 sceKernelReleaseThreadEventHandler<br /> 0x730ED8BC sceKernelReferCallbackStatus<br /> 0x74829B76 sceKernelReceiveMsgPipe<br /> 0x75156E8F sceKernelResumeThread<br /> 0x7C0DC2A0 sceKernelCreateMsgPipe<br /> 0x7C41F2C2 sceKernelSendMsgPipeCB<br /> 0x7E65B999 sceKernelCancelAlarm<br /> 0x809CE29B sceKernelExitDeleteThread<br /> 0x812346E4 sceKernelClearEventFlag<br /> 0x8125221D sceKernelCreateMbx<br /> 0x8218B4DD sceKernelReferGlobalProfiler<br /> 0x82826F70 sceKernelSleepThreadCB<br /> 0x82BC5777 sceKernelGetSystemTimeWide<br /> 0x840E8133 sceKernelWaitThreadEndCB<br /> 0x86255ADA sceKernelDeleteMbx<br /> 0x876DBFAD sceKernelSendMsgPipe<br /> 0x87D4DD36 sceKernelCancelReceiveMbx<br /> 0x87D9223C sceKernelCancelMutex<br /> 0x884C9F90 sceKernelTrySendMsgPipe<br /> 0x89B3D48C sceKernelDeleteVpl<br /> 0x8DAFF657 sceKernelCreateTlspl<br /> 0x8FFDF9A2 sceKernelCancelSema<br /> 0x912354A7 sceKernelRotateThreadReadyQueue<br /> 0x94416130 sceKernelGetThreadmanIdList<br /> 0x94AA61EE sceKernelGetThreadCurrentPriority<br /> 0x9944F31F sceKernelSuspendThread<br /> 0x9ACE131E sceKernelSleepThread<br /> 0x9FA03CD3 sceKernelDeleteThread<br /> 0xA1F78052 _sceKernelReturnFromChangeStack<br /> 0xA66B0120 sceKernelReferEventFlagStatus<br /> 0xA8AA591F sceKernelCancelFpl<br /> 0xA8E8C846 sceKernelReferMbxStatus<br /> 0xA9C2CB9A sceKernelReferMutexStatus<br /> 0xAA73C935 sceKernelExitThread<br /> 0xAF36D708 sceKernelTryAllocateVpl<br /> 0xB011B11F sceKernelLockMutex<br /> 0xB2C25152 sceKernelSetSysClockAlarm<br /> 0xB3A59970 sceKernelGetVTimerBase<br /> 0xB736E9FF sceKernelFreeVpl<br /> 0xB7C18B77 sceKernelGetVTimerBaseWide<br /> 0xB7D098C6 sceKernelCreateMutex<br /> 0xBA4051D6 sceKernelCancelCallback<br /> 0xBA6B92E2 sceKernelSysClock2USec<br /> 0xBC6FEBC5 sceKernelReferSemaStatus<br /> 0xBC80EC7C sceKernelExtendThreadStack<br /> 0xBD123D9E sceKernelDelaySysClockThread<br /> 0xBED27435 sceKernelAllocateVpl<br /> 0xC07BB470 sceKernelCreateFpl<br /> 0xC0B3FFD2 sceKernelGetVTimerTimeWide<br /> 0xC11BA8C4 sceKernelNotifyCallback<br /> 0xC68D9437 sceKernelStartVTimer<br /> 0xC8CD158C sceKernelUSec2SysClockWide<br /> 0xCD203292 sceKernelCancelEventFlag<br /> 0xCEADEB47 sceKernelDelayThread<br /> 0xD0AEEE87 sceKernelStopVTimer<br /> 0xD13BDE95 sceKernelCheckThreadStack<br /> 0xD2D615EF sceKernelCancelVTimerHandler<br /> 0xD59EAD2F sceKernelWakeupThread<br /> 0xD6DA4BA1 sceKernelCreateSema<br /> 0xD8199E4C sceKernelReferFplStatus<br /> 0xD8B299AE sceKernelSetVTimerHandler<br /> 0xD979E9BF sceKernelAllocateFpl<br /> 0xDAA3F564 sceKernelReferAlarmStatus<br /> 0xDB738F35 sceKernelGetSystemTime<br /> 0xDF52098F sceKernelTryReceiveMsgPipe<br /> 0xE1619D7C sceKernelSysClock2USecWide<br /> 0xE7282CB6 sceKernelAllocateFplCB<br /> 0xE81CAF8F sceKernelCreateCallback<br /> 0xE9B3061E sceKernelSendMbx<br /> 0xEA748E31 sceKernelChangeCurrentThreadAttr<br /> 0xEC0A693F sceKernelAllocateVplCB<br /> 0xED1410E0 sceKernelDeleteFpl<br /> 0xEDBA5844 sceKernelDeleteCallback<br /> 0xEF9E4C70 sceKernelDeleteEventFlag<br /> 0xF0B7DA1C sceKernelDeleteMsgPipe<br /> 0xF3986382 sceKernelReceiveMbxCB<br /> 0xF475845D sceKernelStartThread<br /> 0xF6414A71 sceKernelFreeFpl<br /> 0xF8170FBE sceKernelDeleteMutex<br /> 0xFB6425C3 sceKernelSetVTimerTimeWide<br /> 0xFBFA697D sceKernelReceiveMsgPipeCB<br /> 0xFCCFAD26 sceKernelCancelWakeupThread<br /> 0xFFC36A14 sceKernelReferThreadRunStatus<br /> <br /> Library: ThreadMonForUser<br /> 0x13BA4700 sceKernelThreadMonStart<br /> 0xAC447E49 sceKernelThreadMonStop<br /> 0xBA56557C sceKernelThreadMonSetBuffer<br /> 0xCE710A2C sceKernelThreadMonReset<br /> <br /> Library: UtilsForUser<br /> 0x06FB8A63 sceKernelUtilsMt19937UInt<br /> 0x16641D70 sceKernelDcacheReadTag<br /> 0x27CC57F0 sceKernelLibcTime<br /> 0x346F6DA8 sceKernelUtilsSha1BlockUpdate<br /> 0x34B9FA9E sceKernelDcacheWritebackInvalidateRange<br /> 0x37FB5C42 sceKernelGetGPI<br /> 0x3EE30821 sceKernelDcacheWritebackRange<br /> 0x43C9A8DB sceKernelL1IcacheInvalidateRange<br /> 0x4FD31C9D sceKernelIcacheProbe<br /> 0x585F1C09 sceKernelUtilsSha1BlockResult<br /> 0x61E1E525 sceKernelUtilsMd5BlockUpdate<br /> 0x6AD345D7 sceKernelSetGPO<br /> 0x71EC4271 sceKernelLibcGettimeofday<br /> 0x77DFF087 sceKernelDcacheProbeRange<br /> 0x79D1C3FA sceKernelDcacheWritebackAll<br /> 0x80001C4C sceKernelDcacheProbe<br /> 0x840259F1 sceKernelUtilsSha1Digest<br /> 0x87E81561 sceKernelPutUserLog<br /> 0x91E4F6A7 sceKernelLibcClock<br /> 0x920F104A sceKernelIcacheInvalidateAll<br /> 0x9E5C5086 sceKernelUtilsMd5BlockInit<br /> 0xB435DEC5 sceKernelDcacheWritebackInvalidateAll<br /> 0xB8D24E78 sceKernelUtilsMd5BlockResult<br /> 0xBFA98062 sceKernelDcacheInvalidateRange<br /> 0xC2DF770E sceKernelIcacheInvalidateRange<br /> 0xC8186A58 sceKernelUtilsMd5Digest<br /> 0xE860E75E sceKernelUtilsMt19937Init<br /> 0xF8FCD5BA sceKernelUtilsSha1BlockInit<br /> 0xFB05FAD0 sceKernelIcacheReadTag<br /> <br /> Library: deflt<br /> 0x0BA3B9CC sceGzipGetCompressedData_deflt<br /> 0x106A3552 sceGzipGetName_deflt<br /> 0x1B5B82BC sceGzipIsValid_deflt<br /> 0x2EE39A64 sceZlibAdler32_deflt<br /> 0x44054E03 sceDeflateDecompress_deflt<br /> 0x6A548477 sceZlibGetCompressedData_deflt<br /> 0x6DBCF897 sceGzipDecompress_deflt<br /> 0x8AA82C92 sceGzipGetInfo_deflt<br /> 0xA9E4FB28 sceZlibDecompress_deflt<br /> 0xAFE01FD3 sceZlibGetInfo_deflt<br /> 0xB767F9A0 sceGzipGetComment_deflt<br /> 0xE46EB986 sceZlibIsValid_deflt<br /> <br /> Library: sceAac<br /> 0x02098C69 sceAacGetInfoToAddStreamData<br /> 0x23D35CAE sceAacTermResource<br /> 0x33B8C009 sceAacExit<br /> 0x506BF66C sceAacGetSumDecodedSample<br /> 0x523347D9 sceAacGetLoopNum<br /> 0x5CFFC57C sceAacInitResource<br /> 0x61AA43C9 sceAacEndEntry<br /> 0x6C05813B sceAacStartEntry<br /> 0x6DC7758A sceAacGetMaxOutputSample<br /> 0x7E4CFEE4 sceAacDecode<br /> 0xAC6DCBE3 sceAacNotifyAddStreamData<br /> 0xBBDD6403 sceAacSetLoopNum<br /> 0xD2DA2BBA sceAacResetPlayPosition<br /> 0xD7C51541 sceAacCheckStreamDataNeeded<br /> 0xE0C89ACA sceAacInit<br /> <br /> Library: sceAdler<br /> 0x9702EF11 sceAdler32<br /> <br /> Library: sceAtrac3plus<br /> 0x0C116E1B sceAtracLowLevelDecode<br /> 0x0E2A73AB sceAtracSetData<br /> 0x0FAE370E sceAtracSetHalfwayBufferAndGetID<br /> 0x132F1ECA sceAtracReinit<br /> 0x1575D64B sceAtracLowLevelInitDecoder<br /> 0x231FC6B7 _sceAtracGetContextAddress<br /> 0x2DD3E298 sceAtracGetBufferInfoForResetting<br /> 0x31668BAA sceAtracGetChannel<br /> 0x36FAABFB sceAtracGetNextSample<br /> 0x3F6E26B5 sceAtracSetHalfwayBuffer<br /> 0x5622B7C1 sceAtracSetAA3DataAndGetID<br /> 0x5CF9D852 sceAtracSetMOutHalfwayBuffer<br /> 0x5D268707 sceAtracGetStreamDataInfo<br /> 0x5DD66588 sceAtracSetAA3HalfwayBufferAndGetID<br /> 0x61EB33F5 sceAtracReleaseAtracID<br /> 0x644E5607 sceAtracResetPlayPosition<br /> 0x6A8C3CD5 sceAtracDecodeData<br /> 0x780F88D1 sceAtracGetAtracID<br /> 0x7A20E7AF sceAtracSetDataAndGetID<br /> 0x7DB31251 sceAtracAddStreamData<br /> 0x83BF7AFD sceAtracSetSecondBuffer<br /> 0x83E85EA0 sceAtracGetSecondBufferInfo<br /> 0x868120B5 sceAtracSetLoopNum<br /> 0x9AE849A7 sceAtracGetRemainFrame<br /> 0x9CD7DE03 sceAtracSetMOutHalfwayBufferAndGetID<br /> 0xA2BBA8BE sceAtracGetSoundSample<br /> 0xA554A158 sceAtracGetBitrate<br /> 0xB3B5D042 sceAtracGetOutputChannel<br /> 0xCA3CA3D2 sceAtracGetBufferInfoForReseting<br /> 0xD1F59FDB sceAtracStartEntry<br /> 0xD5C28CC0 sceAtracEndEntry<br /> 0xD6A5F2F7 sceAtracGetMaxSample<br /> 0xE23E3A35 sceAtracGetNextDecodePosition<br /> 0xE88F759B sceAtracGetInternalErrorInfo<br /> 0xECA32A99 sceAtracIsSecondBufferNeeded<br /> 0xFAA4F89B sceAtracGetLoopStatus<br /> <br /> Library: sceAudio<br /> 0x01562BA3 sceAudioOutput2Reserve<br /> 0x086E5895 sceAudioInputBlocking<br /> 0x136CAF51 sceAudioOutputBlocking<br /> 0x13F592BC sceAudioOutputPannedBlocking<br /> 0x2D53F36E sceAudioOutput2OutputBlocking<br /> 0x41EFADE7 sceAudioOneshotOutput<br /> 0x43196845 sceAudioOutput2Release<br /> 0x5EC81C55 sceAudioChReserve<br /> 0x63F2889C sceAudioOutput2ChangeLength<br /> 0x647CEF33 sceAudioOutput2GetRestSample<br /> 0x6D4BEC68 sceAudioInput<br /> 0x6FC46853 sceAudioChRelease<br /> 0x7DE61688 sceAudioInputInit<br /> 0x87B2E651 sceAudioWaitInputEnd<br /> 0x8C1009B2 sceAudioOutput<br /> 0x95FD0C2D sceAudioChangeChannelConfig<br /> 0xA633048E sceAudioPollInputEnd<br /> 0xA708C6A6 sceAudioGetInputLength<br /> 0xB011922F sceAudioGetChannelRestLength<br /> 0xB7E1D8E7 sceAudioChangeChannelVolume<br /> 0xCB2E439E sceAudioSetChannelDataLen<br /> 0xE2D56B2D sceAudioOutputPanned<br /> 0xE926D3FB sceAudioInputInitEx<br /> 0xE9D97901 sceAudioGetChannelRestLen<br /> <br /> Library: sceAudioRouting<br /> 0x28235C56 sceAudioRoutingGetVolumeMode<br /> 0x36FD8AA9 sceAudioRoutingSetMode<br /> 0x39240E7D sceAudioRoutingGetMode<br /> 0xBB548475 sceAudioRoutingSetVolumeMode<br /> <br /> Library: sceBase16<br /> 0x7AD4677A sceBase16Encoder<br /> 0xFF021EBB sceBase16Decoder<br /> <br /> Library: sceBase32<br /> 0x1D2F25FE sceBase32Encoder<br /> 0x79AE12DD sceBase32HexEncoder<br /> 0xC593B079 sceBase32HexDecoder<br /> 0xD5A58F29 sceBase32Decoder<br /> <br /> Library: sceBase64<br /> 0x3AE99AAF sceBase64Decoder<br /> 0x43543731 sceBase64Encoder<br /> <br /> Library: sceCcc<br /> 0x00D1378F sceCccUTF8toUTF16<br /> 0x068C4320 sceCccEncodeSJIS<br /> 0x17E1D813 sceCccSetErrorCharUTF8<br /> 0x41B724A5 sceCccUTF16toUTF8<br /> 0x4BDEB2A8 sceCccStrlenUTF16<br /> 0x67BF0D19 sceCccIsValidSJIS<br /> 0x6F82EE03 sceCccUTF8toSJIS<br /> 0x70ECAA10 sceCccUCStoJIS<br /> 0x76E33E9C sceCccIsValidUCS2<br /> 0x8406F469 sceCccEncodeUTF16<br /> 0x90521AC5 sceCccIsValidUTF8<br /> 0x92C05851 sceCccEncodeUTF8<br /> 0x953E6C10 sceCccDecodeSJIS<br /> 0xA2D5D209 sceCccIsValidJIS<br /> 0xA62E6E80 sceCccSJIStoUTF8<br /> 0xB4D1CBBF sceCccSetTable<br /> 0xB7D3C112 sceCccStrlenUTF8<br /> 0xB8476CF4 sceCccSetErrorCharUTF16<br /> 0xBD11EEF3 sceCccIsValidUnicode<br /> 0xBEB47224 sceCccSJIStoUTF16<br /> 0xC56949AD sceCccSetErrorCharSJIS<br /> 0xC6A8BEE2 sceCccDecodeUTF8<br /> 0xCC0A8BDA sceCccIsValidUTF16<br /> 0xD2B18485 sceCccIsValidUCS4<br /> 0xD9392CCB sceCccStrlenSJIS<br /> 0xE0CF8091 sceCccDecodeUTF16<br /> 0xF1B73D12 sceCccUTF16toSJIS<br /> 0xFB7846E2 sceCccJIStoUCS<br /> <br /> Library: sceCtrl<br /> 0x02BAAD91 sceCtrlGetSamplingCycle<br /> 0x0B588501 sceCtrlReadLatch<br /> 0x1F4011E6 sceCtrlSetSamplingMode<br /> 0x1F803938 sceCtrlReadBufferPositive<br /> 0x3A622550 sceCtrlPeekBufferPositive<br /> 0x60B81F86 sceCtrlReadBufferNegative<br /> 0x6841BE1A sceCtrlSetRapidFire<br /> 0x687660FA sceCtrlGetIdleCancelThreshold<br /> 0x6A2774F3 sceCtrlSetSamplingCycle<br /> 0xA68FD260 sceCtrlClearRapidFire<br /> 0xA7144800 sceCtrlSetIdleCancelThreshold<br /> 0xB1D0E5CD sceCtrlPeekLatch<br /> 0xC152080A sceCtrlPeekBufferNegative<br /> 0xDA6B76A1 sceCtrlGetSamplingMode<br /> <br /> Library: sceDeci2pForUser<br /> 0x46588220 sceKernelDeci2pOpen<br /> 0x5947AE64 sceKernelDeci2pClose<br /> 0x6E2E0BF3 sceKernelDeci2pWrite<br /> 0x9736CCD5 sceKernelDeci2pRead<br /> 0xA9542A53 sceKernelDeci2pRegisterCallback<br /> <br /> Library: sceDeflt<br /> 0x0BA3B9CC sceGzipGetCompressedData<br /> 0x106A3552 sceGzipGetName<br /> 0x1B5B82BC sceGzipIsValid<br /> 0x2EE39A64 sceZlibAdler32<br /> 0x44054E03 sceDeflateDecompress<br /> 0x6A548477 sceZlibGetCompressedData<br /> 0x6DBCF897 sceGzipDecompress<br /> 0x8AA82C92 sceGzipGetInfo<br /> 0xA9E4FB28 sceZlibDecompress<br /> 0xAFE01FD3 sceZlibGetInfo<br /> 0xB767F9A0 sceGzipGetComment<br /> 0xE46EB986 sceZlibIsValid<br /> <br /> Library: sceDisplay<br /> 0x0E20F177 sceDisplaySetMode<br /> 0x210EAB3A sceDisplayGetAccumulatedHcount<br /> 0x289D82FE sceDisplaySetFrameBuf<br /> 0x36CDFADE sceDisplayWaitVblank<br /> 0x40F1469C sceDisplayWaitVblankStartMulti<br /> 0x46F186C3 sceDisplayWaitVblankStartCB<br /> 0x4D4E10EC sceDisplayIsVblank<br /> 0x773DD3A3 sceDisplayGetCurrentHcount<br /> 0x77ED8B3A sceDisplayWaitVblankStartMultiCB<br /> 0x7ED59BC4 sceDisplaySetHoldMode<br /> 0x8EB9EC49 sceDisplayWaitVblankCB<br /> 0x984C27E7 sceDisplayWaitVblankStart<br /> 0x9C6EAAD7 sceDisplayGetVcount<br /> 0xB4F378FA sceDisplayIsForeground<br /> 0xDBA6C4C4 sceDisplayGetFramePerSec<br /> 0xDEA197D4 sceDisplayGetMode<br /> 0xEEDA2E54 sceDisplayGetFrameBuf<br /> <br /> Library: sceDmac<br /> 0x617F3FE6 sceDmacMemcpy<br /> <br /> Library: sceG729<br /> 0x13F1028A sceG729DecodeExit<br /> 0x17C11696 sceG729DecodeInitResource<br /> 0x3489D1F3 sceG729DecodeCore<br /> 0x55E14F75 sceG729DecodeInit<br /> 0x5A409D1B sceG729EncodeExit<br /> 0x74804D93 sceG729DecodeReset<br /> 0x890B86AE sceG729DecodeTermResource<br /> 0x8C87A2CA sceG729EncodeReset<br /> 0x94714D50 sceG729EncodeTermResource<br /> 0xAA1E5462 sceG729EncodeInitResource<br /> 0xCFCD367C sceG729EncodeInit<br /> 0xDB7259D5 sceG729EncodeCore<br /> <br /> Library: sceGameUpdate<br /> 0x596AD78C sceGameUpdateRun<br /> 0x5F5D98A6 sceGameUpdateAbort<br /> 0xBB4B68DE sceGameUpdateTerm<br /> 0xCBE69FB3 sceGameUpdateInit<br /> <br /> Library: sceGe_user<br /> 0x03444EB4 sceGeListSync<br /> 0x05DB22CE sceGeUnsetCallback<br /> 0x0BF608FB sceGeRestoreContext<br /> 0x1C0D95A6 sceGeListEnQueueHead<br /> 0x1F6752AD sceGeEdramGetSize<br /> 0x438A385A sceGeSaveContext<br /> 0x4C06E472 sceGeContinue<br /> 0x57C8945B sceGeGetMtx<br /> 0x5FB86AB0 sceGeListDeQueue<br /> 0xA4FC06A4 sceGeSetCallback<br /> 0xAB49E76A sceGeListEnQueue<br /> 0xB287BD61 sceGeDrawSync<br /> 0xB448EC0D sceGeBreak<br /> 0xB77905EA sceGeEdramSetAddrTranslation<br /> 0xDC93CFEF sceGeGetCmd<br /> 0xE0D68148 sceGeListUpdateStallAddr<br /> 0xE47E40E4 sceGeEdramGetAddr<br /> <br /> Library: sceHeap<br /> 0x0E875980 sceHeapReallocHeapMemory<br /> 0x1C84B58D sceHeapReallocHeapMemoryWithOption<br /> 0x2A0C2009 sceHeapGetMallinfo<br /> 0x2ABADC63 sceHeapFreeHeapMemory<br /> 0x2B7299D8 sceHeapAllocHeapMemoryWithOption<br /> 0x4929B40D sceHeapGetTotalFreeSize<br /> 0x7012BBDD sceHeapIsAllocatedHeapMemory<br /> 0x70210B73 sceHeapDeleteHeap<br /> 0x7DE281C2 sceHeapCreateHeap<br /> 0xA8E102A0 sceHeapAllocHeapMemory<br /> <br /> Library: sceHprm<br /> 0x208DB1BD sceHprmIsRemoteExist<br /> 0x219C58F1 sceHprmIsMicrophoneExist<br /> 0x2BCEC83E sceHprmPeekLatch<br /> 0x40D2F9F0 sceHprmReadLatch<br /> 0x444ED0B7 sceHprmUnregitserCallback<br /> 0x7E69EDA4 sceHprmIsHeadphoneExist<br /> 0xC7154136 sceHprmRegisterCallback<br /> 0xFD7DE6CD sceHprmUnregisterCallback<br /> <br /> Library: sceHttp<br /> 0x0282A3BD sceHttpGetContentLength<br /> 0x03D9526F sceHttpSetResolveRetry<br /> 0x06488A1C sceHttpSetCookieSendCallback<br /> 0x0809C831 sceHttpEnableRedirect<br /> 0x0B12ABFB sceHttpDisableCookie<br /> 0x0DAFA58F sceHttpEnableCookie<br /> 0x15540184 sceHttpDeleteHeader<br /> 0x1A0EBB69 sceHttpDisableRedirect<br /> 0x1CEDB9D4 sceHttpFlushCache<br /> 0x1F0FC3E3 sceHttpSetRecvTimeOut<br /> 0x2255551E sceHttpGetNetworkPspError<br /> 0x267618F4 sceHttpSetAuthInfoCallback<br /> 0x2A6C3296 sceHttpSetAuthInfoCB<br /> 0x2C3C82CF sceHttpFlushAuthList<br /> 0x3A67F306 sceHttpSetCookieRecvCallback<br /> 0x3EABA285 sceHttpAddExtraHeader<br /> 0x47347B50 sceHttpCreateRequest<br /> 0x47940436 sceHttpSetResolveTimeOut<br /> 0x4CC7D78F sceHttpGetStatusCode<br /> 0x5152773B sceHttpDeleteConnection<br /> 0x54E7DF75 sceHttpIsRequestInCache<br /> 0x569A1481 sceHttpsSetSslCallback<br /> 0x59E6D16F sceHttpEnableCache<br /> 0x68AB0F86 sceHttpsInitWithPath<br /> 0x76D1363B sceHttpSaveSystemCookie<br /> 0x7774BF4C sceHttpAddCookie<br /> 0x78A0D3EC sceHttpEnableKeepAlive<br /> 0x78B54C09 sceHttpEndCache<br /> 0x87797BDD sceHttpsLoadDefaultCert<br /> 0x8ACD1F73 sceHttpSetConnectTimeOut<br /> 0x8EEFD953 sceHttpCreateConnection<br /> 0x9668864C sceHttpSetRecvBlockSize<br /> 0x96F16D3E sceHttpGetCookie<br /> 0x9988172D sceHttpSetSendTimeOut<br /> 0x9AFC98B2 sceHttpSendRequestInCacheFirstMode<br /> 0x9B1F1F36 sceHttpCreateTemplate<br /> 0x9FC5F10D sceHttpEnableAuth<br /> 0xA4496DE5 sceHttpSetRedirectCallback<br /> 0xA5512E01 sceHttpDeleteRequest<br /> 0xA6800C34 sceHttpInitCache<br /> 0xAB1540D5 sceHttpsGetSslError<br /> 0xAB1ABE07 sceHttpInit<br /> 0xAE948FEE sceHttpDisableAuth<br /> 0xB0C34B1D sceHttpSetCacheContentLengthMaxSize<br /> 0xB3FAF831 sceHttpsDisableOption<br /> 0xB509B09E sceHttpCreateRequestWithURL<br /> 0xBAC31BF1 sceHttpsEnableOption<br /> 0xBB70706F sceHttpSendRequest<br /> 0xC10B6BD9 sceHttpAbortRequest<br /> 0xC6330B0D sceHttpChangeHttpVersion<br /> 0xC7EF2559 sceHttpDisableKeepAlive<br /> 0xC98CBBA7 sceHttpSetResHeaderMaxSize<br /> 0xCCBD167A sceHttpDisableCache<br /> 0xCDF8ECB9 sceHttpCreateConnectionWithURL<br /> 0xD081EC8F sceHttpGetNetworkErrno<br /> 0xD11DAB01 sceHttpsGetCaList<br /> 0xD1C8945E sceHttpEnd<br /> 0xD70D4847 sceHttpGetProxy<br /> 0xDB266CCF sceHttpGetAllHeader<br /> 0xE4D21302 sceHttpsInit<br /> 0xEDEEB999 sceHttpReadData<br /> 0xF0F46C62 sceHttpSetProxy<br /> 0xF1657B22 sceHttpLoadSystemCookie<br /> 0xF49934F6 sceHttpSetMallocFunction<br /> 0xF9D8EB63 sceHttpsEnd<br /> 0xFCF8C055 sceHttpDeleteTemplate<br /> <br /> Library: sceImpose<br /> 0x24FD7BCF sceImposeGetLanguageMode<br /> 0x36AA6E91 sceImposeSetLanguageMode<br /> 0x72189C48 sceImposeSetUMDPopup<br /> 0x8C943191 sceImposeGetBatteryIconStatus<br /> 0x8F6E3518 sceImposeGetBacklightOffTime<br /> 0x967F6D4A sceImposeSetBacklightOffTime<br /> 0xE0887BC8 sceImposeGetUMDPopup<br /> <br /> Library: sceJpeg<br /> 0x04B5AE02 sceJpegMJpegCsc<br /> 0x04B93CEF sceJpegDecodeMJpeg<br /> 0x227662D7 sceJpegDecodeMJpegYCbCrSuccessively<br /> 0x48B602B7 sceJpegDeleteMJpeg<br /> 0x64B6F978 sceJpegDecodeMJpegSuccessively<br /> 0x67F0ED84 sceJpegCsc<br /> 0x7D2F3D7F sceJpegFinishMJpeg<br /> 0x8F2BB012 sceJpegGetOutputInfo<br /> 0x91EED83C sceJpegDecodeMJpegYCbCr<br /> 0x9D47469C sceJpegCreateMJpeg<br /> 0xA06A75C4 sceJpegMJpegCscWithColorOption<br /> 0xAC9E70E6 sceJpegInitMJpeg<br /> <br /> Library: sceMd5<br /> 0x19884A15 sceMd5BlockInit<br /> 0x4876AFFF sceMd5BlockResult<br /> 0x98E31A9E sceMd5Digest<br /> 0xA30206C2 sceMd5BlockUpdate<br /> <br /> Library: sceMp3<br /> 0x07EC321A sceMp3ReserveMp3Handle<br /> 0x0840E808 sceMp3ResetPlayPositionByFrame<br /> 0x0DB149F4 sceMp3NotifyAddStreamData<br /> 0x1B839B83 sceMp3LowLevelInit<br /> 0x2A368661 sceMp3ResetPlayPosition<br /> 0x3548AEC8 sceMp3GetFrameNum<br /> 0x354D27EA sceMp3GetSumDecodedSample<br /> 0x35750070 sceMp3InitResource<br /> 0x3C2FA058 sceMp3TermResource<br /> 0x3CEF484F sceMp3SetLoopNum<br /> 0x44E07129 sceMp3Init<br /> 0x732B042A sceMp3EndEntry<br /> 0x7F696782 sceMp3GetMp3ChannelNum<br /> 0x87677E40 sceMp3GetBitRate<br /> 0x87C263D1 sceMp3GetMaxOutputSample<br /> 0x8AB81558 sceMp3StartEntry<br /> 0x8F450998 sceMp3GetSamplingRate<br /> 0xA703FE0F sceMp3GetInfoToAddStreamData<br /> 0xAE6D2027 sceMp3GetMPEGVersion<br /> 0xD021C0FB sceMp3Decode<br /> 0xD0A56296 sceMp3CheckStreamDataNeeded<br /> 0xD8F54A51 sceMp3GetLoopNum<br /> 0xE3EE2C81 sceMp3LowLevelDecode<br /> 0xF5478233 sceMp3ReleaseMp3Handle<br /> <br /> Library: sceMp4<br /> 0x01C76489 sceMp4TrackSampleBufDestruct<br /> 0x0F0187D2 sceMp4GetAvcTrackInfoData<br /> 0x10EE0D2C sceMp4AacDecodeInit<br /> 0x113E9E7B sceMp4GetNumberOfMetaData<br /> 0x131BDE57 sceMp4InitAu<br /> 0x17EAA97D sceMp4GetAvcAuWithoutSampleBuf<br /> 0x28CCB940 sceMp4GetTrackEditList<br /> 0x3069C2B5 sceMp4GetAvcParamSet<br /> 0x31BCD7E0 sceMp4TrackSampleBufPut<br /> 0x427BEF7F sceMp4GetTrackNumOfEditList<br /> 0x496E8A65 sceMp4TrackSampleBufFlush<br /> 0x4ED4AB1E sceMp4AacDecodeInitResource<br /> 0x4FB5B756 sceMp4GetMetaDataInfo<br /> 0x503A3CBA sceMp4GetAvcAu<br /> 0x532029B8 sceMp4GetAacAuWithoutSampleBuf<br /> 0x538C2057 sceMp4Delete<br /> 0x5601A6F0 sceMp4GetAacAu<br /> 0x5D72B333 sceMp4AacDecodeExit<br /> 0x5EB65F26 sceMp4GetNumberOfSpecificTrack<br /> 0x6710FE77 sceMp4UnregistTrack<br /> 0x68651CBC sceMp4Init<br /> 0x7443AF1D sceMp4GetMovieInfo<br /> 0x74A1CA3E sceMp4SearchSyncSampleNum<br /> 0x7663CB5C sceMp4AacDecode<br /> 0x7ADFD01C sceMp4RegistTrack<br /> 0x7D332394 sceMp4AacDecodeTermResource<br /> 0x8754ECB8 sceMp4TrackSampleBufAvailableSize<br /> 0x9042B257 sceMp4Finish<br /> 0x9C8F4FC1 sceMp4TrackSampleBufConstruct<br /> 0x9CE6F5CF sceMp4GetAacTrackInfoData<br /> 0xA6C724DC sceMp4GetSampleNum<br /> 0xB1221EE7 sceMp4Create<br /> 0xB4B400D1 sceMp4GetSampleNumWithTimeStamp<br /> 0xBCA9389C sceMp4TrackSampleBufQueryMemSize<br /> 0xD2AC9A7E sceMp4GetMetaData<br /> 0xD8250B75 sceMp4PutSampleNum<br /> 0xF7C51EC1 sceMp4GetSampleInfo<br /> <br /> Library: sceMpeg<br /> 0x01977054 sceMpegGetUserdataAu<br /> 0x0558B075 sceMpegAvcCopyYCbCr<br /> 0x0E3C2E9D sceMpegAvcDecode<br /> 0x0F6C18D7 sceMpegAvcDecodeDetail<br /> 0x11F95CF1 sceMpegGetAvcNalAu<br /> 0x13407F13 sceMpegRingbufferDestruct<br /> 0x167AFD9E sceMpegInitAu<br /> 0x211A057C sceMpegAvcQueryYCbCrSize<br /> 0x21FF80E4 sceMpegQueryStreamOffset<br /> 0x234586AE sceMpegChangeGetAvcAuMode<br /> 0x31BD0272 sceMpegAvcCsc<br /> 0x37295ED8 sceMpegRingbufferConstruct<br /> 0x3C37A7A6 sceMpegNextAvcRpAu<br /> 0x42560F23 sceMpegRegistStream<br /> 0x4571CC64 sceMpegAvcDecodeFlush<br /> 0x500F0429 sceMpegFlushStream<br /> 0x591A4AA2 sceMpegUnRegistStream<br /> 0x606A4649 sceMpegDelete<br /> 0x611E9E11 sceMpegQueryStreamSize<br /> 0x63B9536A sceMpegAvcResourceGetAvcDecTopAddr<br /> 0x67179B1B sceMpegAvcInitYCbCr<br /> 0x682A619B sceMpegInit<br /> 0x707B7629 sceMpegFlushAllStream<br /> 0x740FCCD1 sceMpegAvcDecodeStop<br /> 0x769BEBB6 sceMpegRingbufferQueryPackNum<br /> 0x800C44DF sceMpegAtracDecode<br /> 0x8160A2FE sceMpegAvcResourceFinish<br /> 0x874624D6 sceMpegFinish<br /> 0x8C1E027D sceMpegGetPcmAu<br /> 0x921FCCCF sceMpegGetAvcEsAu<br /> 0x9DCFB7EA sceMpegChangeGetAuMode<br /> 0xA11C7026 sceMpegAvcDecodeMode<br /> 0xA780CF7E sceMpegMallocAvcEsBuf<br /> 0xAB0E9556 sceMpegAvcDecodeDetailIndex<br /> 0xAF26BB01 sceMpegAvcResourceGetAvcEsBuf<br /> 0xB240A59E sceMpegRingbufferPut<br /> 0xB5F6DC87 sceMpegRingbufferAvailableSize<br /> 0xC02CF6B5 sceMpegQueryPcmEsSize<br /> 0xC132E22F sceMpegQueryMemSize<br /> 0xC45C99CC sceMpegQueryUserdataEsSize<br /> 0xCEB870B1 sceMpegFreeAvcEsBuf<br /> 0xD7A29F46 sceMpegRingbufferQueryMemSize<br /> 0xD8C5F121 sceMpegCreate<br /> 0xE1CE83A7 sceMpegGetAtracAu<br /> 0xF0EB1125 sceMpegAvcDecodeYCbCr<br /> 0xF2930C9C sceMpegAvcDecodeStopYCbCr<br /> 0xF5E7EA31 sceMpegAvcConvertToYuv420<br /> 0xF8DCB679 sceMpegQueryAtracEsSize<br /> 0xFCBDB5AD sceMpegAvcResourceInit<br /> 0xFE246728 sceMpegGetAvcAu<br /> <br /> Library: sceMt19937<br /> 0xECF5D379 sceMt19937Init<br /> 0xF40C98E6 sceMt19937UInt<br /> <br /> Library: sceNet<br /> 0x0BF0A3AE sceNetGetLocalEtherAddr<br /> 0x281928A9 sceNetTerm<br /> 0x39AF39A6 sceNetInit<br /> 0x50647530 sceNetFreeThreadinfo<br /> 0x89360950 sceNetEtherNtostr<br /> 0xAD6844C6 sceNetThreadAbort<br /> 0xCC393E48 sceNetGetMallocStat<br /> 0xD27961C9 sceNetEtherStrton<br /> <br /> Library: sceNetAdhoc<br /> 0x0B2228E9 sceNetAdhocGameModeDeleteReplica<br /> 0x157E6225 sceNetAdhocPtpClose<br /> 0x3278AB0C sceNetAdhocGameModeCreateReplica<br /> 0x4D2CE199 sceNetAdhocGetSocketAlert<br /> 0x4DA4C788 sceNetAdhocPtpSend<br /> 0x6F92741B sceNetAdhocPdpCreate<br /> 0x73BFD52D sceNetAdhocSetSocketAlert<br /> 0x7A662D6B sceNetAdhocPollSocket<br /> 0x7F27BB5E sceNetAdhocPdpDelete<br /> 0x7F75C338 sceNetAdhocGameModeCreateMaster<br /> 0x877F6D66 sceNetAdhocPtpOpen<br /> 0x8BEA2B3E sceNetAdhocPtpRecv<br /> 0x98C204C8 sceNetAdhocGameModeUpdateMaster<br /> 0x9AC2EEAC sceNetAdhocPtpFlush<br /> 0x9DF81198 sceNetAdhocPtpAccept<br /> 0xA0229362 sceNetAdhocGameModeDeleteMaster<br /> 0xA62C6F57 sceNetAdhocTerm<br /> 0xABED3790 sceNetAdhocPdpSend<br /> 0xB9685118 sceNetAdhocGetPtpStat<br /> 0xC7C1FC57 sceNetAdhocGetPdpStat<br /> 0xDFE53E03 sceNetAdhocPdpRecv<br /> 0xE08BDAC1 sceNetAdhocPtpListen<br /> 0xE1D621D7 sceNetAdhocInit<br /> 0xFA324B4E sceNetAdhocGameModeUpdateReplica<br /> 0xFC6FC07B sceNetAdhocPtpConnect<br /> <br /> Library: sceNetAdhocDiscover<br /> 0x52DE1B97 sceNetAdhocDiscoverUpdate<br /> 0x941B3877 sceNetAdhocDiscoverInitStart<br /> 0x944DDBC6 sceNetAdhocDiscoverGetStatus<br /> 0xA2246614 sceNetAdhocDiscoverTerm<br /> 0xA423A21B sceNetAdhocDiscoverRequestSuspend<br /> 0xF7D13214 sceNetAdhocDiscoverStop<br /> <br /> Library: sceNetAdhocMatching<br /> 0x2A2A1E07 sceNetAdhocMatchingInit<br /> 0x32B156B3 sceNetAdhocMatchingStop<br /> 0x40F8F435 sceNetAdhocMatchingGetPoolMaxAlloc<br /> 0x5E3D4B79 sceNetAdhocMatchingSelectTarget<br /> 0x7945ECDA sceNetAdhocMatchingTerm<br /> 0x8F58BEDF sceNetAdhocMatchingCancelTargetWithOpt<br /> 0x93EF3843 sceNetAdhocMatchingStart<br /> 0x9C5CFB7D sceNetAdhocMatchingGetPoolStat<br /> 0xB58E61B7 sceNetAdhocMatchingSetHelloOpt<br /> 0xB5D96C2A sceNetAdhocMatchingGetHelloOpt<br /> 0xC58BCD9E sceNetAdhocMatchingGetMembers<br /> 0xCA5EDA6F sceNetAdhocMatchingCreate<br /> 0xEA3C6108 sceNetAdhocMatchingCancelTarget<br /> 0xEC19337D sceNetAdhocMatchingAbortSendData<br /> 0xF16EAF4F sceNetAdhocMatchingDelete<br /> 0xF79472D7 sceNetAdhocMatchingSendData<br /> <br /> Library: sceNetAdhocctl<br /> 0x08FFF7A0 sceNetAdhocctlScan<br /> 0x0AD043ED sceNetAdhocctlConnect<br /> 0x1FF89745 sceNetAdhocctlJoinEnterGameMode<br /> 0x20B317A0 sceNetAdhocctlAddHandler<br /> 0x34401D65 sceNetAdhocctlDisconnect<br /> 0x362CBE8F sceNetAdhocctlGetAdhocId<br /> 0x5A014CE0 sceNetAdhocctlGetGameModeInfo<br /> 0x5E7F79C9 sceNetAdhocctlJoin<br /> 0x6402490B sceNetAdhocctlDelHandler<br /> 0x75ECD386 sceNetAdhocctlGetState<br /> 0x81AEE1BE sceNetAdhocctlGetScanInfo<br /> 0x8916C003 sceNetAdhocctlGetNameByAddr<br /> 0x8DB83FDC sceNetAdhocctlGetPeerInfo<br /> 0x99560ABE sceNetAdhocctlGetAddrByName<br /> 0x9D689E13 sceNetAdhocctlTerm<br /> 0xA5C055CE sceNetAdhocctlCreateEnterGameMode<br /> 0xB0B80E80 sceNetAdhocctlCreateEnterGameModeMin<br /> 0xCF8E084D sceNetAdhocctlExitGameMode<br /> 0xDED9D28E sceNetAdhocctlGetParameter<br /> 0xE162CB14 sceNetAdhocctlGetPeerList<br /> 0xE26F226E sceNetAdhocctlInit<br /> 0xEC0635C1 sceNetAdhocctlCreate<br /> <br /> Library: sceNetApDialogDummy<br /> 0x3811281E sceNetApDialogDummyConnect<br /> 0xBB73FF67 sceNetApDialogDummyInit<br /> 0xCA9BE5BF sceNetApDialogDummyGetState<br /> 0xF213BE65 sceNetApDialogDummyTerm<br /> <br /> Library: sceNetApctl<br /> 0x24FE91A1 sceNetApctlDisconnect<br /> 0x2935C45B sceNetApctlGetBSSDescEntry2<br /> 0x2BEFDF23 sceNetApctlGetInfo<br /> 0x5963991B sceNetApctlDelHandler<br /> 0x5DEAC81B sceNetApctlGetState<br /> 0x8ABADD51 sceNetApctlAddHandler<br /> 0xA3E77E13 sceNetApctlScanSSID2<br /> 0xB3EDD0EC sceNetApctlTerm<br /> 0xCFB957C6 sceNetApctlConnect<br /> 0xE2F91F9B sceNetApctlInit<br /> 0xF25A5006 sceNetApctlGetBSSDescIDList2<br /> <br /> Library: sceNetIfhandle<br /> 0xC80181A2 sceNetGetDropRate<br /> 0xFD8585E1 sceNetSetDropRate<br /> <br /> Library: sceNetInet<br /> 0x05038FC7 sceNetInetSendto<br /> 0x162E6FD5 sceNetInetGetsockname<br /> 0x17943399 sceNetInetInit<br /> 0x1A33F9AE sceNetInetBind<br /> 0x1BDF5D13 sceNetInetInetAton<br /> 0x2FE71FE7 sceNetInetSetsockopt<br /> 0x39B0C7D3 sceNetInetGetUdpcbstat<br /> 0x410B34AA sceNetInetConnect<br /> 0x4A114C7C sceNetInetGetsockopt<br /> 0x4CFE4E56 sceNetInetShutdown<br /> 0x5BE8D595 sceNetInetSelect<br /> 0x774E36F4 sceNetInetSendmsg<br /> 0x7AA671BC sceNetInetSend<br /> 0x805502DD sceNetInetCloseWithRST<br /> 0x80A21ABD sceNetInetSocketAbort<br /> 0x8B7B220F sceNetInetSocket<br /> 0x8CA3A97E sceNetInetGetPspError<br /> 0x8D7284EA sceNetInetClose<br /> 0xA9ED66B9 sceNetInetTerm<br /> 0xB3888AD4 sceNetInetGetTcpcbstat<br /> 0xB75D5B0A sceNetInetInetAddr<br /> 0xC91142E4 sceNetInetRecvfrom<br /> 0xCDA85C99 sceNetInetRecv<br /> 0xD0792666 sceNetInetInetNtop<br /> 0xD10A1A7A sceNetInetListen<br /> 0xDB094E1B sceNetInetAccept<br /> 0xE247B6D6 sceNetInetGetpeername<br /> 0xE30B8C19 sceNetInetInetPton<br /> 0xEECE61D2 sceNetInetRecvmsg<br /> 0xFAABB1DD sceNetInetPoll<br /> 0xFBABE411 sceNetInetGetErrno<br /> <br /> Library: sceNetResolver<br /> 0x12748EB9 sceNetResolverWaitAsync<br /> 0x14C17EF9 sceNetResolverStartNtoAAsync<br /> 0x224C5F44 sceNetResolverStartNtoA<br /> 0x244172AF sceNetResolverCreate<br /> 0x4EE99358 sceNetResolverPollAsync<br /> 0x6138194A sceNetResolverTerm<br /> 0x629E2FB7 sceNetResolverStartAtoN<br /> 0x808F6063 sceNetResolverStop<br /> 0x94523E09 sceNetResolverDelete<br /> 0xAAC09184 sceNetResolverStartAtoNAsync<br /> 0xF3370E61 sceNetResolverInit<br /> <br /> Library: sceNetUpnp<br /> 0x27045362 sceNetUpnpGetNatInfo<br /> 0x3432B2E5 sceNetUpnpStart<br /> 0x3E32ED9E sceNetUpnpStop<br /> 0x540491EF sceNetUpnpTerm<br /> 0xE24220B5 sceNetUpnpInit<br /> <br /> Library: sceNp<br /> 0x1D60AE4B sceNpGetChatRestrictionFlag<br /> 0x37E1E274 sceNpTerm<br /> 0x4B5C71C8 sceNpGetOnlineId<br /> 0x633B5F71 sceNpGetNpId<br /> 0x7E0864DF sceNpGetUserProfile<br /> 0x857B47D3 sceNpInit<br /> 0xA0BE3C4B sceNpGetAccountRegion<br /> 0xBB069A87 sceNpGetContentRatingFlag<br /> 0xCDCC21D3 sceNpGetMyLanguages<br /> <br /> Library: sceNpAuth<br /> 0x3F1C1F70 sceNpAuthGetTicket<br /> 0x4EC1F667 sceNpAuthTerm<br /> 0x5A3CB57A sceNpAuthGetTicketParam<br /> 0x6900F084 sceNpAuthGetEntitlementById<br /> 0x72BB0467 sceNpAuthDestroyRequest<br /> 0x75FB0AE3 sceNpAuthGetEntitlementIdList<br /> 0xA1DE86F8 sceNpAuthInit<br /> 0xCD86A656 sceNpAuthCreateStartRequest<br /> 0xD99455DD sceNpAuthAbortRequest<br /> 0xF4531ADC sceNpAuthGetMemoryStat<br /> <br /> Library: sceNpCommerce2<br /> 0x005B5F20 sceNpCommerce2GetProductInfoStart<br /> 0x05E7AFBC sceNpCommerce2GetGameProductInfoFromContentInfo<br /> 0x0E9956E3 sceNpCommerce2Init<br /> 0x1888A9FE sceNpCommerce2DestroyReq<br /> 0x1C85ED88 sceNpCommerce2GetPrice<br /> 0x1C952DCB sceNpCommerce2GetGameProductInfo<br /> 0x2B25F6E9 sceNpCommerce2CreateSessionStart<br /> 0x3371D5F1 sceNpCommerce2GetProductInfoCreateReq<br /> 0x490210E0 sceNpCommerce2DestroyGetProductInfoResult<br /> 0x4ECD4503 sceNpCommerce2CreateSessionCreateReq<br /> 0x54FE8871 sceNpCommerce2GetCategoryInfo<br /> 0x57C8BD4E sceNpCommerce2GetCategoryInfoFromContentInfo<br /> 0x590A3229 sceNpCommerce2GetSessionInfo<br /> 0x5D8C2D99 sceNpCommerce2GetCategoryContentsCreateReq<br /> 0x6592FE83 sceNpCommerce2GetContentRatingDescriptor<br /> 0x6A2AE572 sceNpCommerce2GetContentRatingInfoFromGameProductInfo<br /> 0x6F1FE37F sceNpCommerce2CreateCtx<br /> 0x80A7AFDB sceNpCommerce2GetCategoryContentsGetResult<br /> 0xA5A34EA4 sceNpCommerce2Term<br /> 0xAA4A1E3D sceNpCommerce2GetProductInfoGetResult<br /> 0xB0D7AA90 sceNpCommerce2GetContentInfo<br /> 0xBC61FFC8 sceNpCommerce2CreateSessionGetResult<br /> 0xC5505A19 sceNpCommerce2GetContentRatingInfoFromCategoryInfo<br /> 0xC7F32242 sceNpCommerce2AbortReq<br /> 0xCEAB1829 sceNpCommerce2InitGetCategoryContentsResult<br /> 0xDD6758FA sceNpCommerce2GetCategoryContentsStart<br /> 0xED85ACCE sceNpCommerce2DestroyGetCategoryContentsResult<br /> 0xF2278B90 sceNpCommerce2GetGameSkuInfoFromGameProductInfo<br /> 0xF297AB9C sceNpCommerce2DestroyCtx<br /> 0xFC30C19E sceNpCommerce2InitGetProductInfoResult<br /> <br /> Library: sceNpMatching2<br /> 0x12C5A111 sceNpMatching2GetRoomDataExternalList<br /> 0x1421514B sceNpMatching2SetDefaultRoomEventOptParam<br /> 0x190FF903 sceNpMatching2ContextStart<br /> 0x22F38DAF sceNpMatching2GetMemoryStat<br /> 0x2B3892FC sceNpMatching2ContextStop<br /> 0x2E61F6E1 sceNpMatching2Init<br /> 0x3892E9A6 sceNpMatching2SignalingGetConnectionInfo<br /> 0x3DE70241 sceNpMatching2DestroyContext<br /> 0x495E97BD sceNpMatching2GrantRoomOwner<br /> 0x4EE3A8EC sceNpMatching2GetServerInfo<br /> 0x5030CC53 sceNpMatching2CreateContext<br /> 0x55F7837F sceNpMatching2SendRoomChatMessage<br /> 0x5C7DB6A4 sceNpMatching2GetRoomMemberDataInternalList<br /> 0x631682CC sceNpMatching2SetDefaultRequestOptParam<br /> 0x6D6D0C75 sceNpMatching2SignalingGetConnectionStatus<br /> 0x7BBFC427 sceNpMatching2JoinRoom<br /> 0x7D1D5F5E sceNpMatching2SetUserInfo<br /> 0x7DAA8A90 sceNpMatching2SetRoomMemberDataInternal<br /> 0x80F61558 sceNpMatching2GetRoomMemberIdListLocal<br /> 0x81C13E6D sceNpMatching2SearchRoom<br /> 0x8BF37D8C sceNpMatching2Term<br /> 0x8CD109E7 sceNpMatching2SignalingGetPeerNetInfo<br /> 0x9462C05A sceNpMatching2SignalingCancelPeerNetInfo<br /> 0x97529ECC sceNpMatching2KickoutRoomMember<br /> 0x9A67F5D0 sceNpMatching2SetSignalingOptParam<br /> 0xA3C298D1 sceNpMatching2RegisterSignalingCallback<br /> 0xA53E7C69 sceNpMatching2GetWorldInfoList<br /> 0xA5775DBF sceNpMatching2GetRoomMemberDataInternal<br /> 0xAAD0946A sceNpMatching2CreateJoinRoom<br /> 0xC7E72EC5 sceNpMatching2GetSignalingOptParamLocal<br /> 0xC870535A sceNpMatching2LeaveRoom<br /> 0xC8FC5D41 sceNpMatching2GetUserInfoList<br /> 0xD13491AB sceNpMatching2SetDefaultRoomMessageOptParam<br /> 0xD7D4AEB2 sceNpMatching2SetRoomDataExternal<br /> 0xDFEDB642 sceNpMatching2SignalingGetPeerNetInfoResult<br /> 0xE313E586 sceNpMatching2GetRoomDataInternal<br /> 0xE6C93DBD sceNpMatching2SetRoomDataInternal<br /> 0xEF683F4F sceNpMatching2GetRoomDataInternalLocal<br /> 0xF22C7ADC sceNpMatching2GetRoomMemberDataInternalLocal<br /> 0xF47342FC sceNpMatching2GetServerIdListLocal<br /> 0xF739BE92 sceNpMatching2GetRoomPasswordLocal<br /> 0xF940D9AD sceNpMatching2SendRoomMessage<br /> 0xFADBA9DB sceNpMatching2AbortRequest<br /> 0xFBF494C0 sceNpMatching2GetRoomMemberDataExternalList<br /> 0xFF32EA05 sceNpMatching2SignalingGetLocalNetInfo<br /> <br /> Library: sceNpService<br /> 0x00ACFAC3 sceNpServiceTerm<br /> 0x0F8F5821 sceNpServiceInit<br /> 0x168B8DE5 sceNpManagerSigninUpdateGetStatus<br /> 0x174D0D24 sceNpRosterDeleteBlockListEntry<br /> 0x1DA3E950 sceNpManagerSigninUpdateInitStart<br /> 0x250488F9 sceNpServiceGetMemoryStat<br /> 0x268C009D sceNpManagerSigninUpdateAbort<br /> 0x389A0D44 sceNpLookupNpId<br /> 0x4B4E4E71 sceNpLookupAbortTransaction<br /> 0x4E851B10 sceNpRosterGetFriendListEntry<br /> 0x506C318D sceNpRosterGetBlockListEntry<br /> 0x5494274B sceNpLookupCreateTransactionCtx<br /> 0x58251346 sceNpRosterGetFriendListEntryCount<br /> 0x5F5E32AF sceNpRosterAbort<br /> 0x66C64821 sceNpRosterDeleteRequest<br /> 0x72A1CE0D sceNpRosterDeleteFriendListEntry<br /> 0x75DACB57 sceNpRosterAcceptFriendListEntry<br /> 0x78802D5F sceNpManagerSigninUpdateShutdownStart<br /> 0x788F2B5E sceNpRosterAddFriendListEntry<br /> 0x90E4DB6A sceNpLookupUserProfile<br /> 0xA01443AA sceNpRosterGetBlockListEntryCount<br /> 0xA164CACC sceNpRosterGetFriendListMessage<br /> 0xA670D3A3 sceNpLookupDestroyTransactionCtx<br /> 0xBE22EEA3 sceNpRosterCreateRequest<br /> 0xC76F55ED sceNpLookupTitleSmallStorage<br /> 0xFC0BC8DB sceNpRosterAddBlockListEntry<br /> <br /> Library: sceOpenPSID<br /> 0xC69BEBCE sceOpenPSIDGetOpenPSID<br /> <br /> Library: sceP3da<br /> 0x013016F3 sceP3daBridgeCore<br /> 0x374500A5 sceP3daBridgeInit<br /> 0x43F756A2 sceP3daBridgeExit<br /> <br /> Library: sceParseHttp<br /> 0x8077A433 sceParseHttpStatusLine<br /> 0xAD7BFDEF sceParseHttpResponseHeader<br /> <br /> Library: sceParseUri<br /> 0x062BB07E sceUriUnescape<br /> 0x49E950EC sceUriEscape<br /> 0x568518C9 sceUriParse<br /> 0x7EE318AF sceUriBuild<br /> 0x8885A782 sceUriSweepPath<br /> 0x8AA55D17 sceUriMerge<br /> <br /> Library: scePower<br /> 0x04B7766E scePowerRegisterCallback<br /> 0x0AFD0D8B scePowerIsBatteryExist<br /> 0x1E490401 scePowerIsBatteryCharging<br /> 0x2085D15D scePowerGetBatteryLifePercent<br /> 0x34F9C463 scePowerGetPllClockFrequencyInt<br /> 0x469989AD scePowerSetClockFrequency<br /> 0x478FE6F5 scePowerGetBusClockFrequency<br /> 0x843FBF43 scePowerSetCpuClockFrequency<br /> 0x87440F5E scePowerIsPowerOnline<br /> 0x8EFB3FA2 scePowerGetBatteryLifeTime<br /> 0x9BADB3EB scePowerGetBusClockFrequencyFloat<br /> 0xA85880D0 scePowerCheckWlanCoexistenceClock<br /> 0xAC32C9CC scePowerRequestSuspend<br /> 0xB1A52C83 scePowerGetCpuClockFrequencyFloat<br /> 0xB8D7B3FB scePowerSetBusClockFrequency<br /> 0xBD681969 scePowerGetBusClockFrequencyInt<br /> 0xD3075926 scePowerIsLowBattery<br /> 0xDB9D28DD scePowerUnregitserCallback<br /> 0xDFA8BAF8 scePowerUnregisterCallback<br /> 0xEA382A27 scePowerGetPllClockFrequencyFloat<br /> 0xEBD177D6 scePowerSetClockFrequency350<br /> 0xEFD3C963 scePowerTick<br /> 0xFDB5BFE9 scePowerGetCpuClockFrequencyInt<br /> 0xFEE03A2F scePowerGetCpuClockFrequency<br /> <br /> Library: scePsmf<br /> 0x0BA514E5 scePsmfGetVideoInfo<br /> 0x0C120E1D scePsmfSpecifyStreamWithStreamTypeNumber<br /> 0x1E6D9013 scePsmfSpecifyStreamWithStreamType<br /> 0x2673646B scePsmfVerifyPsmf<br /> 0x28240568 scePsmfGetCurrentStreamNumber<br /> 0x40326D8F scePsmfCheckPsmfMark<br /> 0x43AC7DBB scePsmfGetPsmfMark<br /> 0x4BC9BDE0 scePsmfSpecifyStream<br /> 0x4E624A34 scePsmfGetEPWithId<br /> 0x5B70FCC1 scePsmfQueryStreamOffset<br /> 0x5F457515 scePsmfGetEPidWithTimestamp<br /> 0x68D42328 scePsmfGetNumberOfSpecificStreams<br /> 0x7491C438 scePsmfGetNumberOfEPentries<br /> 0x76D3AEBA scePsmfGetPresentationStartTime<br /> 0x7C0E7AC3 scePsmfGetEPWithTimestamp<br /> 0x8D843AB6 scePsmfGetPsmfMarkIdWithTimestamp<br /> 0x9553CC91 scePsmfQueryStreamSize<br /> 0x971A3A90 scePsmfCheckEPmap<br /> 0xA5EBFE81 scePsmfGetStreamSize<br /> 0xA83F7113 scePsmfGetAudioInfo<br /> 0xB78EB9E9 scePsmfGetHeaderSize<br /> 0xBD8AE0D8 scePsmfGetPresentationEndTime<br /> 0xC22C8327 scePsmfSetPsmf<br /> 0xC7DB3A5B scePsmfGetCurrentStreamType<br /> 0xD1DCF0DB scePsmfGetPsmfMarkWithTimestamp<br /> 0xDE78E9FC scePsmfGetNumberOfPsmfMarks<br /> 0xE1283895 scePsmfGetPsmfVersion<br /> 0xEAED89CD scePsmfGetNumberOfStreams<br /> <br /> Library: scePspNpDrm_user<br /> 0x08D98894 sceNpDrmEdataSetupKey<br /> 0x219EF5CC sceNpDrmEdataGetDataSize<br /> 0x275987D1 sceNpDrmRenameCheck<br /> 0x9B745542 sceNpDrmClearLicenseeKey<br /> 0xA1336091 sceNpDrmSetLicenseeKey<br /> <br /> Library: scePuny<br /> 0x8C2DBD4E scePunyDecodeUCS4<br /> 0x8D51155B scePunyEncodeUCS2<br /> 0xAD29F139 scePunyEncodeUCS4<br /> 0xDD0ED02A scePunyDecodeUCS2<br /> <br /> Library: sceQpCode<br /> 0x2B235B5A sceQPrintableLineDecoder<br /> 0x69752447 sceQPrintableEncoder<br /> <br /> Library: sceReg<br /> 0x0CAE832B sceRegCloseCategory<br /> 0x0D69BF40 sceRegFlushCategory<br /> 0x17768E14 sceRegSetKeyValue<br /> 0x1D8A762E sceRegOpenCategory<br /> 0x28A8E98A sceRegGetKeyValue<br /> 0x2C0DB9DD sceRegGetKeysNum<br /> 0x2D211135 sceRegGetKeys<br /> 0x30BE0259 sceRegGetKeyValueByName<br /> 0x3615BC87 sceRegRemoveKey<br /> 0x39461B4D sceRegFlushRegistry<br /> 0x4CA16893 sceRegRemoveCategory<br /> 0x57641A81 sceRegCreateKey<br /> 0x835ECE6F sceRegGetCategoryListAtRoot<br /> 0x92E41280 sceRegOpenRegistry<br /> 0x9B25EDF1 sceRegExit<br /> 0xBE8C1263 sceRegGetCategoryNumAtRoot<br /> 0xC5768D02 sceRegGetKeyInfoByName<br /> 0xD4475AA8 sceRegGetKeyInfo<br /> 0xDEDA92BF sceRegRemoveRegistry<br /> 0xFA8A5739 sceRegCloseRegistry<br /> <br /> Library: sceRtc<br /> 0x011F03C1 sceRtcGetAccumulativeTime<br /> 0x0498FB3C sceRtcFormatRFC3339<br /> 0x05EF322C sceRtcGetDaysInMonth<br /> 0x1909C99B sceRtcSetTime64_t<br /> 0x203CEB0D sceRtcGetLastReincarnatedTime<br /> 0x26D25A5D sceRtcTickAddMicroseconds<br /> 0x26D7A24A sceRtcTickAddHours<br /> 0x27C4594C sceRtcGetTime_t<br /> 0x27F98543 sceRtcFormatRFC3339LocalTime<br /> 0x28E1E988 sceRtcParseRFC3339<br /> 0x34885E0D sceRtcConvertUtcToLocalTime<br /> 0x36075567 sceRtcGetDosTime<br /> 0x3A807CC8 sceRtcSetTime_t<br /> 0x3F7AD767 sceRtcGetCurrentTick<br /> 0x42307A17 sceRtcIsLeapYear<br /> 0x42842C77 sceRtcTickAddYears<br /> 0x44F45E05 sceRtcTickAddTicks<br /> 0x4B1B5E82 sceRtcCheckValid<br /> 0x4CFA57B0 sceRtcGetCurrentClock<br /> 0x57726BC1 sceRtcGetDayOfWeek<br /> 0x62685E98 sceRtcGetLastAdjustedTime<br /> 0x6A676D2D sceRtcUnregisterCallback<br /> 0x6FF40ACC sceRtcGetTick<br /> 0x779242A2 sceRtcConvertLocalTimeToUTC<br /> 0x7ACE4C04 sceRtcSetWin32FileTime<br /> 0x7D1FBED3 sceRtcSetAlarmTick<br /> 0x7DE6711B sceRtcFormatRFC2822LocalTime<br /> 0x7ED29E40 sceRtcSetTick<br /> 0x81FCDA34 sceRtcIsAlarmed<br /> 0x9ED0AE87 sceRtcCompareTick<br /> 0xC2DDBEB5 sceRtcGetAlarmTick<br /> 0xC41C2853 sceRtcGetTickResolution<br /> 0xC663B3B9 sceRtcFormatRFC2822<br /> 0xCF3A2CA8 sceRtcTickAddWeeks<br /> 0xCF561893 sceRtcGetWin32FileTime<br /> 0xDBF74F1B sceRtcTickAddMonths<br /> 0xDFBC5F16 sceRtcParseDateTime<br /> 0xE1C93E47 sceRtcGetTime64_t<br /> 0xE51B4B7A sceRtcTickAddDays<br /> 0xE6605BCA sceRtcTickAddMinutes<br /> 0xE7C27D1B sceRtcGetCurrentClockLocalTime<br /> 0xF006F264 sceRtcSetDosTime<br /> 0xF2A4AFE5 sceRtcTickAddSeconds<br /> 0xF5FCC995 sceRtcGetCurrentNetworkTick<br /> 0xFB3B18CD sceRtcRegisterCallback<br /> <br /> Library: sceSasCore<br /> 0x019B25EB sceSasSetADSR<br /> 0x07F58C24 sceSasGetAllEnvelopeHeights<br /> 0x267A6DD2 sceSasRevParam<br /> 0x2C8E6AB3 sceSasGetPauseFlag<br /> 0x33D4AB37 sceSasRevType<br /> 0x42778A9F sceSasInit<br /> 0x440CA7D8 sceSasSetVolume<br /> 0x4AA9EAD6 sceSasSetVoiceATRAC3<br /> 0x50A14DFC sceSasCoreWithMix<br /> 0x5F9529F6 sceSasSetSL<br /> 0x68A46B95 sceSasGetEndFlag<br /> 0x7497EA85 sceSasConcatenateATRAC3<br /> 0x74AE582A sceSasGetEnvelopeHeight<br /> 0x76F01ACA sceSasSetKeyOn<br /> 0x787D04D5 sceSasSetPause<br /> 0x99944089 sceSasSetVoice<br /> 0x9EC3676A sceSasSetADSRmode<br /> 0xA0CF2FA4 sceSasSetKeyOff<br /> 0xA232CBE6 sceSasSetTrianglarWave<br /> 0xA3589D81 sceSasCore<br /> 0xAD84D37F sceSasSetPitch<br /> 0xB7660A23 sceSasSetNoise<br /> 0xBD11B7C2 sceSasGetGrain<br /> 0xCBCD4F79 sceSasSetSimpleADSR<br /> 0xD1E0A01E sceSasSetGrain<br /> 0xD5A229C9 sceSasRevEVOL<br /> 0xD5EBBBCD sceSasSetSteepWave<br /> 0xE175EF66 sceSasGetOutputmode<br /> 0xE1CD9561 sceSasSetVoicePCM<br /> 0xE855BF76 sceSasSetOutputmode<br /> 0xF6107F00 sceSasUnsetATRAC3<br /> 0xF983B186 sceSasRevVON<br /> <br /> Library: sceSfmt11213<br /> 0x16B09B57 sceSfmt11213InitByArray<br /> 0x25238DDF sceSfmt11213GenRand64<br /> 0x7FCCAD30 sceSfmt11213FillArray32<br /> 0x8F52D18C sceSfmt11213GenRand32<br /> 0x9D45E91D sceSfmt11213InitGenRand<br /> 0xE9A29DEC sceSfmt11213FillArray64<br /> <br /> Library: sceSfmt1279<br /> 0x1F2CC3CC sceSfmt1279InitByArray<br /> 0x378C276E sceSfmt1279FillArray64<br /> 0x64117FA3 sceSfmt1279InitGenRand<br /> 0x7B9E67AB sceSfmt1279GenRand64<br /> 0xEDF8B8C3 sceSfmt1279FillArray32<br /> 0xFE9D3FEF sceSfmt1279GenRand32<br /> <br /> Library: sceSfmt132049<br /> 0x0270B0EF sceSfmt132049FillArray32<br /> 0x116EDAFB sceSfmt132049GenRand32<br /> 0xC90266E0 sceSfmt132049InitByArray<br /> 0xE0F9E926 sceSfmt132049InitGenRand<br /> 0xE4D856E3 sceSfmt132049GenRand64<br /> 0xE90C5D00 sceSfmt132049FillArray64<br /> <br /> Library: sceSfmt19937<br /> 0x161ACEB2 sceSfmt19937InitGenRand<br /> 0xB33FE749 sceSfmt19937GenRand32<br /> 0xD5AC9F99 sceSfmt19937GenRand64<br /> 0xDB025BFA sceSfmt19937FillArray32<br /> 0xDD5A5D6C sceSfmt19937InitByArray<br /> 0xEE2938C4 sceSfmt19937FillArray64<br /> <br /> Library: sceSfmt216091<br /> 0x353660FC sceSfmt216091InitByArray<br /> 0x3A0F900B sceSfmt216091FillArray32<br /> 0x5E2F99CE sceSfmt216091GenRand64<br /> 0xBFA431A4 sceSfmt216091FillArray64<br /> 0xC0E3B92F sceSfmt216091InitGenRand<br /> 0xC81A470C sceSfmt216091GenRand32<br /> <br /> Library: sceSfmt2281<br /> 0x8454D15E sceSfmt2281FillArray64<br /> 0x868C53AB sceSfmt2281InitGenRand<br /> 0x9D9120D6 sceSfmt2281FillArray32<br /> 0xBBCDB82B sceSfmt2281GenRand64<br /> 0xDEE53F2E sceSfmt2281GenRand32<br /> 0xF38FF54A sceSfmt2281InitByArray<br /> <br /> Library: sceSfmt4253<br /> 0x2AF9B5D3 sceSfmt4253GenRand64<br /> 0x61B05CA7 sceSfmt4253FillArray32<br /> 0x79D2E875 sceSfmt4253FillArray64<br /> 0x7F56FA88 sceSfmt4253InitGenRand<br /> 0xFA39B7A4 sceSfmt4253InitByArray<br /> 0xFBFCDAFD sceSfmt4253GenRand32<br /> <br /> Library: sceSfmt44497<br /> 0x31B1F41F sceSfmt44497GenRand32<br /> 0x4525C4FD sceSfmt44497GenRand64<br /> 0xA4168CB6 sceSfmt44497InitGenRand<br /> 0xB56C5830 sceSfmt44497InitByArray<br /> 0xCA9560E2 sceSfmt44497FillArray64<br /> 0xDCD09960 sceSfmt44497FillArray32<br /> <br /> Library: sceSfmt607<br /> 0x1CCCC776 sceSfmt607GenRand64<br /> 0x4ED95A1E sceSfmt607FillArray64<br /> 0x9480A1E6 sceSfmt607InitGenRand<br /> 0xB014F0A8 sceSfmt607InitByArray<br /> 0xCE73E1B9 sceSfmt607GenRand32<br /> 0xFA3CB3A5 sceSfmt607FillArray32<br /> <br /> Library: sceSfmt86243<br /> 0x2A0AFFB3 sceSfmt86243FillArray64<br /> 0x79A146E0 sceSfmt86243InitByArray<br /> 0x8CC70361 sceSfmt86243FillArray32<br /> 0xD5B8D7A2 sceSfmt86243GenRand32<br /> 0xDD4196A3 sceSfmt86243InitGenRand<br /> 0xF77D68EF sceSfmt86243GenRand64<br /> <br /> Library: sceSha0<br /> 0x86E64331 sceSha0BlockResult<br /> 0x91524E96 sceSha0BlockUpdate<br /> 0x931612A8 sceSha0Digest<br /> 0xEE071A21 sceSha0BlockInit<br /> <br /> Library: sceSha1<br /> 0x4A80340A sceSha1BlockInit<br /> 0x5AF85569 sceSha1BlockUpdate<br /> 0x78EDE680 sceSha1BlockResult<br /> 0xB94ACDAE sceSha1Digest<br /> <br /> Library: sceSha224<br /> 0x3A96138F sceSha224BlockInit<br /> 0x5BE354EA sceSha224Digest<br /> 0xD6A3ADCB sceSha224BlockResult<br /> 0xEF597FC7 sceSha224BlockUpdate<br /> <br /> Library: sceSha256<br /> 0x318A350C sceSha256Digest<br /> 0x5368F1BC sceSha256BlockInit<br /> 0x7310DDCF sceSha256BlockUpdate<br /> 0x82C67FB3 sceSha256BlockResult<br /> <br /> Library: sceSha384<br /> 0x139319AF sceSha384BlockInit<br /> 0x9CC3A3A2 sceSha384BlockUpdate<br /> 0xD7DF2B41 sceSha384Digest<br /> 0xD9E51292 sceSha384BlockResult<br /> <br /> Library: sceSha512<br /> 0x16ED8DC6 sceSha512BlockInit<br /> 0x5AFE898D sceSha512Digest<br /> 0x8208F538 sceSha512BlockUpdate<br /> 0xAAB6221E sceSha512BlockResult<br /> <br /> Library: sceSsl<br /> 0x058D21C0 sceSslGetNameEntryCount<br /> 0x0EB43B06 sceSslGetUsedMemoryCurrent<br /> 0x17A10DCC sceSslGetNotBefore<br /> 0x191CDEFF sceSslEnd<br /> 0x1B7C8191 sceSslGetIssuerName<br /> 0x3DD5E023 sceSslGetSubjectName<br /> 0x5BFB6B61 sceSslGetNotAfter<br /> 0x957ECBE2 sceSslInit<br /> 0xB99EDE6A sceSslGetUsedMemoryMax<br /> 0xCC0919B0 sceSslGetSerialNumber<br /> 0xD6D097B4 sceSslGetNameEntryInfo<br /> 0xF57765D3 sceSslGetKeyUsage<br /> <br /> Library: sceSuspendForUser<br /> 0x090CCB3F sceKernelPowerTick<br /> 0x3AEE7261 sceKernelPowerUnlock<br /> 0x3E0271D3 sceKernelVolatileMemLock<br /> 0xA14F40B2 sceKernelVolatileMemTryLock<br /> 0xA569E425 sceKernelVolatileMemUnlock<br /> 0xEADB1BD7 sceKernelPowerLock<br /> <br /> Library: sceUmdUser<br /> 0x14C6C45C sceUmdUnuseUMDInMsUsbWlan<br /> 0x20628E6F sceUmdGetErrorStat<br /> 0x340B7686 sceUmdGetDiscInfo<br /> 0x46EBB729 sceUmdCheckMedium<br /> 0x4A9E5E29 sceUmdWaitDriveStatCB<br /> 0x56202973 sceUmdWaitDriveStatWithTimer<br /> 0x6AF9B50A sceUmdCancelWaitDriveStat<br /> 0x6B4A146C sceUmdGetDriveStat<br /> 0x87533940 sceUmdReplaceProhibit<br /> 0x8EF08FCE sceUmdWaitDriveStat<br /> 0xAEE7404D sceUmdRegisterUMDCallBack<br /> 0xB103FA38 sceUmdUseUMDInMsUsbWlan<br /> 0xBD2BDE07 sceUmdUnRegisterUMDCallBack<br /> 0xC6183D47 sceUmdActivate<br /> 0xCBE9F02A sceUmdReplacePermit<br /> 0xE83742BA sceUmdDeactivate<br /> <br /> Library: sceUsb<br /> 0x112CC951 sceUsbGetDrvState<br /> 0x1C360735 sceUsbWaitCancel<br /> 0x4E537366 sceUsbGetDrvList<br /> 0x586DB82C sceUsbActivate<br /> 0x5BE0E002 sceUsbWaitState<br /> 0x616F2B61 sceUsbWaitStateCB<br /> 0xAE5DE6AF sceUsbStart<br /> 0xC21645A4 sceUsbGetState<br /> 0xC2464FA0 sceUsbStop<br /> 0xC572A9C8 sceUsbDeactivate<br /> <br /> Library: sceUsbAcc<br /> 0x0CD7D4AA sceUsbAccGetInfo<br /> 0x79A1C743 sceUsbAccGetAuthStat<br /> <br /> Library: sceUsbCam<br /> 0x03ED7A82 sceUsbCamSetupMic<br /> 0x08AEE98A sceUsbCamSetMicGain<br /> 0x09C26C7E sceUsbCamSetContrast<br /> 0x11A1F128 sceUsbCamGetAutoImageReverseState<br /> 0x17F7B2FB sceUsbCamSetupVideo<br /> 0x1A46CFE7 sceUsbCamStillPollInputEnd<br /> 0x1D686870 sceUsbCamSetEvLevel<br /> 0x2BCD50C0 sceUsbCamGetEvLevel<br /> 0x36636925 sceUsbCamReadMicBlocking<br /> 0x383E9FA8 sceUsbCamGetSaturation<br /> 0x3DC0088E sceUsbCamReadMic<br /> 0x3F0CF289 sceUsbCamSetupStill<br /> 0x41E73E95 sceUsbCamPollReadVideoFrameEnd<br /> 0x41EE8797 sceUsbCamUnregisterLensRotationCallback<br /> 0x4C34F553 sceUsbCamGetLensDirection<br /> 0x4F3D84D5 sceUsbCamSetBrightness<br /> 0x5145868A sceUsbCamStopMic<br /> 0x574A8C3F sceUsbCamStartVideo<br /> 0x5778B452 sceUsbCamGetMicDataLength<br /> 0x61BE5CAC sceUsbCamStillInputBlocking<br /> 0x622F83CC sceUsbCamSetSharpness<br /> 0x6784E6A8 sceUsbCamSetAntiFlicker<br /> 0x6CF32CB9 sceUsbCamStopVideo<br /> 0x6E205974 sceUsbCamSetSaturation<br /> 0x70F522C5 sceUsbCamGetBrightness<br /> 0x7563AFA1 sceUsbCamStillWaitInputEnd<br /> 0x7DAC0C71 sceUsbCamReadVideoFrameBlocking<br /> 0x82A64030 sceUsbCamStartMic<br /> 0x951BEDF5 sceUsbCamSetReverseMode<br /> 0x994471E0 sceUsbCamGetImageEffectMode<br /> 0x99D86281 sceUsbCamReadVideoFrame<br /> 0x9E8AAF8D sceUsbCamGetZoom<br /> 0xA063A957 sceUsbCamGetContrast<br /> 0xA720937C sceUsbCamStillCancelInput<br /> 0xAA7D94BA sceUsbCamGetAntiFlicker<br /> 0xB048A67D sceUsbCamWaitReadMicEnd<br /> 0xC484901F sceUsbCamSetZoom<br /> 0xD293A100 sceUsbCamRegisterLensRotationCallback<br /> 0xD4876173 sceUsbCamSetImageEffectMode<br /> 0xD5279339 sceUsbCamGetReverseMode<br /> 0xDF9D0C92 sceUsbCamGetReadVideoFrameSize<br /> 0xE5959C36 sceUsbCamStillGetInputLength<br /> 0xF8847F60 sceUsbCamPollReadMicEnd<br /> 0xF90B2293 sceUsbCamWaitReadVideoFrameEnd<br /> 0xF93C4669 sceUsbCamAutoImageReverseSW<br /> 0xFB0A6C5D sceUsbCamStillInput<br /> 0xFDB68C23 sceUsbCamGetSharpness<br /> <br /> Library: sceUsbGps<br /> 0x5881C826 sceUsbGpsGetStaticNavMode<br /> 0x6EED4811 sceUsbGpsClose<br /> 0x7C16AC3A sceUsbGpsGetState<br /> 0x934EC2B2 sceUsbGpsGetData<br /> 0x9F267D34 sceUsbGpsOpen<br /> 0xA8ED0BC2 sceUsbGpsSetStaticNavMode<br /> <br /> Library: sceUsbMic<br /> 0x06128E42 sceUsbMicPollInputEnd<br /> 0x2E6DCDCD sceUsbMicInputBlocking<br /> 0x45310F07 sceUsbMicInputInitEx<br /> 0x5F7F368D sceUsbMicInput<br /> 0x63400E20 sceUsbMicGetInputLength<br /> 0xB8E536EB sceUsbMicInputInit<br /> 0xF899001C sceUsbMicWaitInputEnd<br /> <br /> Library: sceUsbSer<br /> 0x0C40864C sceUsbSerGetDTR<br /> 0x105B2FB5 sceUsbSerRegisterDTRCallback<br /> 0x193E613B sceUsbSerClose<br /> 0x2432D28D sceUsbSerRead<br /> 0x3EFDC183 sceUsbSerGetWriteDataSize<br /> 0x41303714 sceUsbSerCancel<br /> 0x473B6BF3 sceUsbSerWriteCB<br /> 0x50AD923C sceUsbSerSetRecvCBThreshold<br /> 0x7501C273 sceUsbSerRegisterSentCallback<br /> 0x82CF9F2A sceUsbSerUnregisterRecvCallback<br /> 0x886AF215 sceUsbSerGetReadDataSize<br /> 0x8B9F5C97 sceUsbSerClear<br /> 0x938AD8E2 sceUsbSerUnregisterSentCallback<br /> 0x999B21E1 sceUsbSerRegisterRecvCallback<br /> 0xA3F75968 sceUsbSerReadCB<br /> 0xBF8B3E85 sceUsbSerWrite<br /> 0xD6CD027C sceUsbSerUnregisterDTRCallback<br /> 0xE23DEB0A sceUsbSerGetWriteFreeSize<br /> 0xE2F0E3E3 sceUsbSerFlushCB<br /> 0xE60A8C56 sceUsbSerGetReadFreeSize<br /> 0xE945D8E9 sceUsbSerEnd<br /> 0xE9D739DF sceUsbSerSetSentCBThreshold<br /> 0xEDBFD745 sceUsbSerInit<br /> 0xEFF02189 sceUsbSerFlush<br /> 0xFD9A2340 sceUsbSerOpen<br /> <br /> Library: sceUtility<br /> 0x0251B134 sceUtilityScreenshotInitStart<br /> 0x05AFB9E4 sceUtilityHtmlViewerUpdate<br /> 0x06A48659 sceUtilityRssSubscriberShutdownStart<br /> 0x0940A1B9 sceUtilityPsnUpdate<br /> 0x094198B8 sceUtilityPsnGetStatus<br /> 0x0D5BC6D2 sceUtilityLoadUsbModule<br /> 0x0E0C27AF sceUtilityAutoConnectAbort<br /> 0x1281DA8E sceUtilityInstallInitStart<br /> 0x1579A159 sceUtilityLoadNetModule<br /> 0x16D02AF0 sceUtilityNpSigninInitStart<br /> 0x180F7B62 sceUtilityGamedataInstallAbort<br /> 0x24AC31EB sceUtilityGamedataInstallInitStart<br /> 0x2995D020 sceUtilitySavedataErrInitStart<br /> 0x2A2B3DE0 sceUtilityLoadModule<br /> 0x2AD8E239 sceUtilityMsgDialogInitStart<br /> 0x2B96173B sceUtilityRssSubscriberGetStatus<br /> 0x32E32DCB sceUtilityGamedataInstallShutdownStart<br /> 0x34B78343 sceUtilityGetSystemParamString<br /> 0x3A15CD0A sceUtilityAutoConnectInitStart<br /> 0x3AAD51DC sceUtilityStoreCheckoutGetStatus<br /> 0x3DFAEBA9 sceUtilityOskShutdownStart<br /> 0x41E30674 sceUtilitySetSystemParamString<br /> 0x42071A83 sceUtilityPS3ScanInitStart<br /> 0x434D4B3A sceUtilityGetNetParam<br /> 0x45C18506 sceUtilitySetSystemParamInt<br /> 0x4928BD96 sceUtilityMsgDialogAbort<br /> 0x4AECD179 sceUtilityGamedataInstallUpdate<br /> 0x4B0A8FE5 sceUtilityRssSubscriberInitStart<br /> 0x4B85C861 sceUtilityOskUpdate<br /> 0x4DB1E739 sceUtilityNetconfInitStart<br /> 0x4FED24D8 sceUtilityGetNetParamLatestID<br /> 0x50C4CD57 sceUtilitySavedataInitStart<br /> 0x54A5C62F sceUtilityStoreCheckoutShutdownStart<br /> 0x5EEE6548 sceUtilityCheckNetParam<br /> 0x5EF1C24A sceUtilityInstallShutdownStart<br /> 0x6332AA39 sceUtilityNetconfGetStatus<br /> 0x64D50C56 sceUtilityUnloadNetModule<br /> 0x67AF3428 sceUtilityMsgDialogShutdownStart<br /> 0x6F56F9CF sceUtilityRssReaderUpdate<br /> 0x7853182D sceUtilityGameSharingUpdate<br /> 0x81C44706 sceUtilityRssReaderInitStart<br /> 0x8326AB05 sceUtilityRssReaderGetStatus<br /> 0x86A03A27 sceUtilityScreenshotContStart<br /> 0x86ABDB1B sceUtilityNpSigninGetStatus<br /> 0x8874DBE0 sceUtilitySavedataGetStatus<br /> 0x88BC7406 sceUtilitySavedataErrGetStatus<br /> 0x89317C8F sceUtilityPS3ScanGetStatus<br /> 0x91E70E35 sceUtilityNetconfUpdate<br /> 0x946963F3 sceUtilityGameSharingGetStatus<br /> 0x95FC253B sceUtilityMsgDialogUpdate<br /> 0x9790B33C sceUtilitySavedataShutdownStart<br /> 0x9A1C91D7 sceUtilityMsgDialogGetStatus<br /> 0x9F313D14 sceUtilityAutoConnectShutdownStart<br /> 0xA03D29BA sceUtilityInstallUpdate<br /> 0xA084E056 sceUtilityRssSubscriberUpdate<br /> 0xA5DA2406 sceUtilityGetSystemParamInt<br /> 0xA7BB7C67 sceUtilityPsnInitStart<br /> 0xAB083EA9 sceUtilityScreenshotUpdate<br /> 0xB0FB7FF5 sceUtilityRssReaderContStart<br /> 0xB57E95D9 sceUtilityGamedataInstallGetStatus<br /> 0xB62A4061 sceUtilitySavedataErrShutdownStart<br /> 0xB8592D5F sceUtilityStoreCheckoutUpdate<br /> 0xBDA7D894 sceUtilityHtmlViewerGetStatus<br /> 0xC130D441 sceUtilityPsnShutdownStart<br /> 0xC4700FA3 sceUtilityInstallGetStatus<br /> 0xC492F751 sceUtilityGameSharingInitStart<br /> 0xC629AF26 sceUtilityLoadAvModule<br /> 0xCDC3AA41 sceUtilityHtmlViewerInitStart<br /> 0xD17A0573 sceUtilityPS3ScanShutdownStart<br /> 0xD23665F4 sceUtilityAutoConnectUpdate<br /> 0xD4B95FFB sceUtilitySavedataUpdate<br /> 0xD4C2BD73 sceUtilityAutoConnectGetStatus<br /> 0xD81957B7 sceUtilityScreenshotGetStatus<br /> 0xD852CDCE sceUtilityPS3ScanUpdate<br /> 0xDA97F1AA sceUtilityStoreCheckoutInitStart<br /> 0xE19C97D6 sceUtilityNpSigninShutdownStart<br /> 0xE49BFE92 sceUtilityUnloadModule<br /> 0xE7B778D8 sceUtilityRssReaderShutdownStart<br /> 0xED0FAD38 sceUtilitySavedataErrUpdate<br /> 0xEFC6F80F sceUtilityGameSharingShutdownStart<br /> 0xF3F76017 sceUtilityOskGetStatus<br /> 0xF3FBC572 sceUtilityNpSigninUpdate<br /> 0xF5CE1134 sceUtilityHtmlViewerShutdownStart<br /> 0xF6269B82 sceUtilityOskInitStart<br /> 0xF64910F0 sceUtilityUnloadUsbModule<br /> 0xF7D8D092 sceUtilityUnloadAvModule<br /> 0xF88155F6 sceUtilityNetconfShutdownStart<br /> 0xF9E0008C sceUtilityScreenshotShutdownStart<br /> <br /> Library: sceVaudio<br /> 0x03B6807D sceVaudioChReserve<br /> 0x27ACC20B sceVaudioChReserveBuffering<br /> 0x346FBE94 sceVaudioSetEffectType<br /> 0x67585DFD sceVaudioChRelease<br /> 0x8986295E sceVaudioOutputBlocking<br /> 0xCBD4AC51 sceVaudioSetAlcMode<br /> <br /> Library: sceWlanDrv<br /> 0x0C622081 sceWlanGetEtherAddr<br /> 0x93440B11 sceWlanDevIsPowerOn<br /> 0xD7763699 sceWlanGetSwitchState<br /> <br /> Library: pemuExt<br /> 0x2C1F5DA6 pemuExtUtilityGetFreeSize<br /> 0x5D915C5B pemuExtUtilityThemeInstallAbort<br /> 0x806D1DCB pemuExtUtilityMusicExportInitStart<br /> 0x9F85A1E3 pemuExtUtilityMusicExportAbort<br /> 0xA9102BD9 pemuExtUtilityThemeInstallInitStart<br /> 0xAB94E451 pemuExtUtilityThemeInstallGetStatus<br /> 0xAF7228AB pemuExtUtilityMusicExportShutdownStart<br /> 0xB95A85D1 pemuExtUtilityThemeInstallUpdate<br /> 0xBFBB2A30 pemuExtIsStereoscopic3d<br /> 0xCAC8A9DA pemuExtUtilityMusicExportUpdate<br /> 0xDBF1A3A9 pemuExtUtilityThemeInstallShutdownStart<br /> 0xE4786D09 pemuExtUtilityMusicExportGetStatus<br /> <br /> = internally handled by the emulator =<br /> sceVideocodec<br /> sceAudiocodec<br /> sceMpegbase<br /> sceReg<br /> sceNetIfhandle_lib<br /> sceWlanDrv_lib<br /> sceNetAdhocAuth_lib<br /> <br /> &lt;/pre&gt;<br /> <br /> === Not implemented APIs===<br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! API !! Issue !! Note<br /> |-<br /> | sceHeapGetMallinfo || 0x80020002 ||<br /> |-<br /> | sceHeapFreeHeapMemory || 0x80020002 ||<br /> |-<br /> | sceHeapAllocHeapMemoryWithOption || return 0 ||<br /> |-<br /> | sceHeapGetTotalFreeSize || 0x80020002 ||<br /> |-<br /> | sceHeapIsAllocatedHeapMemory || 0x80020002 ||<br /> |-<br /> | sceHeapDeleteHeap || 0x80020002 ||<br /> |-<br /> | sceHeapCreateHeap || return 0 ||<br /> |-<br /> | sceHeapAllocHeapMemory || return 0 ||<br /> |-<br /> | sceKernelLoadModuleDNAS || 0x80020002 ||<br /> |-<br /> | sceSslGetKeyUsage || 0x80020002 ||<br /> |-<br /> | sceNpDrmEdataSetupKey || 0x80020002 ||<br /> |-<br /> | sceNpDrmEdataGetDataSize || 0x80020002 ||<br /> |-<br /> | sceNpDrmRenameCheck || 0x80020002 ||<br /> |-<br /> | sceNpDrmClearLicenseeKey || 0x80020002 ||<br /> |-<br /> | sceNpDrmSetLicenseeKey || return 0 ||<br /> |-<br /> | sceHprmIsRemoteExist || 0x80020002 ||<br /> |-<br /> | sceHprmIsMicrophoneExist || 0x80020002 ||<br /> |-<br /> | sceHprmPeekLatch || 0x80020002 ||<br /> |-<br /> | sceHprmReadLatch || 0x80020002 ||<br /> |-<br /> | sceHprmIsHeadphoneExist || 0x80020002 ||<br /> |-<br /> | sceHprmRegisterCallback || 0x80020002 ||<br /> |-<br /> | sceHprmUnregisterCallback || 0x80020002 ||<br /> |-<br /> | sceGprofSetProfil_Weak || 0x80020002 ||<br /> |-<br /> | sceGprofFreeProfil_Weak || 0x80020002 ||<br /> |-<br /> | sceKernelRegisterUserSpaceIntrStack || 0x80020002 ||<br /> |-<br /> | sceKernelLoadExec || 0x80020002 ||<br /> |-<br /> | sceMt19937Init || 0x80020002 ||<br /> |-<br /> | sceMt19937UInt || return 0 ||<br /> |-<br /> | sceKernelStopUnloadSelfModule || 0x80020002 ||<br /> |-<br /> | sceKernelLoadModuleBufferUsbWlan || 0x80020002 ||<br /> |-<br /> | sceUsbGetDrvState || 0x80020002 ||<br /> |-<br /> | sceUsbWaitCancel || 0x80020002 ||<br /> |-<br /> | sceUsbGetDrvList || 0x80020002 ||<br /> |-<br /> | sceUsbActivate || 0x80020002 ||<br /> |-<br /> | sceUsbWaitState || 0x80020002 ||<br /> |-<br /> | sceUsbWaitStateCB || 0x80020002 ||<br /> |-<br /> | sceUsbStart || 0x80020002 ||<br /> |-<br /> | sceUsbGetState || return 0 ||<br /> |-<br /> | sceUsbStop || 0x80020002 ||<br /> |-<br /> | sceUsbDeactivate || 0x80020002 ||<br /> |-<br /> | sceUsbAccGetAuthStat || 0x80020002 ||<br /> |-<br /> | sceKernelUtilsMt19937UInt || 0x80020002 ||<br /> |-<br /> | sceKernelDcacheReadTag || 0x80020002 ||<br /> |-<br /> | sceKernelUtilsSha1BlockUpdate|| 0x80020002||<br /> |-<br /> | sceKernelGetGPI|| return 0 ||<br /> |-<br /> | sceKernelIcacheProbe || 0x80020002||<br /> |-<br /> | sceKernelUtilsSha1BlockResult ||0x80020002 ||<br /> |-<br /> | sceKernelUtilsMd5BlockUpdate||0x80020002 ||<br /> |-<br /> | sceKernelDcacheProbeRange || 0x80020002||<br /> |-<br /> | sceKernelDcacheProbe|| 0x80020002||<br /> |-<br /> | sceKernelUtilsSha1Digest|| 0x80020002 ||<br /> |-<br /> | sceKernelUtilsMd5BlockInit|| 0x80020002||<br /> |-<br /> | sceKernelUtilsMd5BlockResult|| 0x80020002||<br /> |-<br /> | sceKernelDcacheInvalidateRange|| return 0 ||<br /> |-<br /> | sceKernelUtilsMd5Digest|| 0x80020002 ||<br /> |-<br /> | sceKernelUtilsMt19937Init|| 0x80020002||<br /> |-<br /> | sceKernelUtilsSha1BlockInit|| 0x80020002||<br /> |-<br /> | sceKernelIcacheReadTag|| return 0 ||<br /> |-<br /> | sceSfmt11213InitByArray|| 0x80020002||<br /> |-<br /> | sceSfmt11213FillArray32|| 0x80020002||<br /> |-<br /> | sceSfmt11213InitGenRand|| 0x80020002||<br /> |-<br /> | sceSfmt11213FillArray64||0x80020002 ||<br /> |-<br /> | sceSfmt1279InitByArray||0x80020002 ||<br /> |-<br /> | sceSfmt1279FillArray64||0x80020002 ||<br /> |-<br /> | sceSfmt1279InitGenRand||0x80020002 ||<br /> |-<br /> | sceSfmt1279FillArray32||0x80020002 ||<br /> |-<br /> | sceSfmt132049FillArray32||0x80020002 ||<br /> |-<br /> | sceSfmt132049InitByArray||0x80020002 ||<br /> |-<br /> | sceSfmt132049InitGenRand||0x80020002 ||<br /> |-<br /> | sceSfmt132049FillArray64|| 0x80020002||<br /> |-<br /> | sceSfmt19937InitGenRand||0x80020002 ||<br /> |-<br /> | sceSfmt19937FillArray32||0x80020002 ||<br /> |-<br /> | sceSfmt19937InitByArray||0x80020002 ||<br /> |-<br /> | sceSfmt19937FillArray64 || 0x80020002||<br /> |-<br /> | sceSfmt216091GenRand64|| return 0 ||<br /> |-<br /> | sceSfmt216091InitByArray ||0x80020002 ||<br /> |-<br /> | sceSfmt216091FillArray32||0x80020002 ||<br /> |-<br /> | sceSfmt216091FillArray64 ||0x80020002 ||<br /> |-<br /> | sceSfmt216091InitGenRand ||0x80020002 ||<br /> |-<br /> | sceSha0BlockInit||0x80020002 ||<br /> |-<br /> | sceSha0BlockUpdate||0x80020002 ||<br /> |-<br /> | sceSha0BlockResult ||0x80020002 ||<br /> |-<br /> | sceSha0Digest || 0x80020002||<br /> |-<br /> | sceQPrintableEncoder|| blr ||<br /> |-<br /> | sceQPrintableLineDecoder|| blr ||<br /> |-<br /> | sceKernelDeci2pRegisterCallback|| 0x80020002 ||<br /> |-<br /> | sceKernelDeci2pRead || 0x80020002 ||<br /> |-<br /> | sceKernelDeci2pWrite|| 0x80020002 ||<br /> |-<br /> | sceKernelDeci2pClose|| 0x80020002 ||<br /> |-<br /> | sceKernelDeci2pOpen|| 0x80020002 ||<br /> |-<br /> | scePunyDecodeUCS2|| blr ||<br /> |-<br /> | scePunyEncodeUCS4|| blr ||<br /> |-<br /> | scePunyEncodeUCS2|| blr ||<br /> |-<br /> | scePunyDecodeUCS4|| blr ||<br /> |-<br /> | sceUtilityRssSubscriberGetStatus||0x80020002 ||<br /> |-<br /> | sceUtilityRssReaderUpdate||0x80020002 ||<br /> |-<br /> | sceUtilityRssSubscriberShutdownStart||0x80020002 ||<br /> |-<br /> | sceUtilityRssSubscriberInitStart||0x80020002||<br /> |-<br /> | sceUtilityScreenshotShutdownStart ||0x80020002 ||<br /> |-<br /> | sceUtilityUnloadModule|| return 0 ||<br /> |-<br /> | sceUtilityScreenshotGetStatus ||0x80020002 ||<br /> |-<br /> | sceUtilityInstallGetStatus||0x80020002 ||<br /> |-<br /> | sceUtilityScreenshotUpdate||0x80020002 ||<br /> |-<br /> |sceUtilityInstallUpdate||0x80020002||<br /> |-<br /> |sceUtilityInstallShutdownStart||0x80020002||<br /> |-<br /> |sceUtilitySetSystemParamInt||0x80020002||<br /> |-<br /> |sceUtilitySetSystemParamString||0x80020002||<br /> |-<br /> |sceUtilityLoadModule||return 0||<br /> |-<br /> | sceAdler32|| return 0 ||<br /> |-<br /> | sceUsbMicWaitInputEnd||0x80020002||<br /> |-<br /> |sceUsbMicInputInit ||0x80020002 ||<br /> |-<br /> |sceUsbMicGetInputLength ||0x80020002 ||<br /> |-<br /> | sceUsbMicInput||0x80020002 ||<br /> |-<br /> | sceUsbMicInputInitEx|| 0x80020002 ||<br /> |-<br /> | sceUsbMicInputBlocking||0x80020002 ||<br /> |-<br /> | sceUsbMicPollInputEnd ||0x80020002 ||<br /> |-<br /> | sceUsbGpsSetStaticNavMode||0x80020002 ||<br /> |-<br /> | sceUsbGpsOpen|| 0x80020002 ||<br /> |-<br /> | sceUsbGpsGetData||0x80020002 ||<br /> |-<br /> | sceUsbGpsGetState ||0x80020002 ||<br /> |-<br /> | sceUsbGpsClose||0x80020002 ||<br /> |-<br /> | sceUsbGpsGetStaticNavMode||0x80020002 ||<br /> |-<br /> | sceZlibIsValid || blr ||<br /> |-<br /> | sceUsbCamGetSharpness||0x80020002 ||<br /> |-<br /> | sceUsbCamStillInput||0x80020002 ||<br /> |-<br /> | sceUsbCamAutoImageReverseSW||0x80020002||<br /> |-<br /> | sceUsbCamWaitReadVideoFrameEnd||0x80020002 ||<br /> |-<br /> | sceUsbCamPollReadMicEnd|| 0x80020002 ||<br /> |-<br /> | sceUsbCamStillGetInputLength||0x80020002 ||<br /> |-<br /> | sceUsbCamGetReadVideoFrameSize||0x80020002 ||<br /> |-<br /> | sceUsbCamGetReverseMode||0x80020002 ||<br /> |-<br /> | sceUsbCamSetImageEffectMode ||0x80020002 ||<br /> |-<br /> | sceUsbCamRegisterLensRotationCallback||0x80020002 ||<br /> |-<br /> | sceUsbCamSetZoom||0x80020002 ||<br /> |-<br /> | sceUsbCamWaitReadMicEnd||0x80020002||<br /> |-<br /> | sceUsbCamGetAntiFlicker|| 0x80020002||<br /> |-<br /> | sceUsbCamStillCancelInput||0x80020002 ||<br /> |-<br /> | sceUsbCamGetContrast || 0x80020002 ||<br /> |-<br /> | sceUsbCamGetZoom||0x80020002 ||<br /> |-<br /> | sceUsbCamReadVideoFrame|| 0x80020002 ||<br /> |-<br /> | sceUsbCamGetImageEffectMode||0x80020002 ||<br /> |-<br /> | sceUsbCamSetReverseMode||0x80020002 ||<br /> |-<br /> | sceUsbCamStartMic||0x80020002||<br /> |-<br /> | sceUsbCamReadVideoFrameBlocking||0x80020002 ||<br /> |-<br /> | sceUsbCamStillWaitInputEnd||0x80020002 ||<br /> |-<br /> | sceUsbCamGetBrightness||0x80020002 ||<br /> |-<br /> | sceUsbCamSetSaturation||0x80020002 ||<br /> |-<br /> | sceUsbCamStopVideo|| 0x80020002||<br /> |-<br /> | sceUsbCamSetAntiFlicker|| 0x80020002||<br /> |-<br /> | sceUsbCamSetSharpness|| 0x80020002||<br /> |-<br /> | sceUsbCamStillInputBlocking|| 0x80020002||<br /> |-<br /> | sceUsbCamGetMicDataLength|| 0x80020002||<br /> |-<br /> | sceUsbCamStartVideo||0x80020002 ||<br /> |-<br /> | sceUsbCamStopMic||0x80020002 ||<br /> |-<br /> | sceUsbCamSetBrightness||0x80020002 ||<br /> |-<br /> | sceUsbCamGetLensDirection||0x80020002 ||<br /> |-<br /> | sceUsbCamUnregisterLensRotationCallback||0x80020002 ||<br /> |-<br /> | sceUsbCamPollReadVideoFrameEnd||0x80020002 ||<br /> |-<br /> | sceUsbCamSetupStill||0x80020002 ||<br /> |-<br /> | sceUsbCamReadMic||0x80020002 ||<br /> |-<br /> | sceUsbCamGetSaturation||0x80020002 ||<br /> |-<br /> | sceUsbCamReadMicBlocking||0x80020002 ||<br /> |-<br /> | sceUsbCamGetEvLevel||0x80020002 ||<br /> |-<br /> | sceUsbCamSetEvLevel||0x80020002 ||<br /> |-<br /> | sceUsbCamStillPollInputEnd||0x80020002 ||<br /> |-<br /> | sceUsbCamSetupVideo ||0x80020002 ||<br /> |-<br /> | sceUsbCamGetAutoImageReverseState||0x80020002 ||<br /> |-<br /> | sceUsbCamSetContrast||0x80020002 ||<br /> |-<br /> |sceUsbCamSetMicGain || 0x80020002||<br /> |-<br /> | sceUsbCamSetupMic||0x80020002 ||<br /> |-<br /> | sceNpMatching2SignalingGetLocalNetInfo|| blr ||<br /> |-<br /> | || ||<br /> |-<br /> |}<br /> <br /> === OPEN PSP SDK ===<br /> <br /> pspsdk-1.0+beta2 Documentation<br /> <br /> http://psp.jim.sh/pspsdk-doc/index.html<br /> <br /> === PEmuCoreLib SPU Usage ===<br /> <br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! colspan=&quot;4&quot; | PEmuCoreLib<br /> |-<br /> ! Core !! Job !! Source !! Notes<br /> |-<br /> | SPU0 || DrawSync Extended Mode Something|| || <br /> |-<br /> | SPU1 || Extended Mode Something|| || <br /> |-<br /> | SPU2 || DMac || || if memcpy size &gt;0x110<br /> |-<br /> | SPU3 || ME || || Media Engine?<br /> |-<br /> |}<br /> <br /> === PSPEMU speculation/talk ===<br /> Compatibility list custom PSP to PS3.<br /> <br /> [[PSP_Emulator_Compatibility_List|PSP Emulator Compatibility List]]<br /> <br /> *http://psx-scene.com/forums/f328/psponps3-compatibility-chart-113244/<br /> <br /> *http://www.pshomebrew.net/wiki/PSP_On_PS3_Compatibility_List<br /> <br /> *[[https://docs.google.com/spreadsheet/ccc?key=0AowGG2G1KRsgdHg5aDJUTnZ2bGR0NEZhMS1xekVXWGc#gid=0| Google Spreadsheet]] and forum reports at http://www.ps3hax.net/showthread.php?t=54435<br /> <br /> <br /> <br /> &lt;!--//<br /> may be add other compatibility list/links to reference, sorry this should be on talk page.<br /> //--&gt;<br /> <br /> ==== PSP Remasters Button Remapping ====<br /> *ADDITIONAL_KEY_ASSIGN type 2 part 2?<br /> 3 state? enable/disable/always<br /> (16 bit (target), 16 bit (source))<br /> <br /> For each byte on 0x47C6C544, binary:<br /> 4 7 C 6 C 5 4 4 = 0x47C6C544<br /> 01 00||01 11 11 00||01 10 11 00||01 01 01 00||01 00<br /> || || || || || <br /> Left | Left Down Right Up<br /> on |D-Pad D-Pad D-Pad D-Pad<br /> right<br /> AStick.<br /> <br /> For each byte on 0x48C6C944, binary:<br /> 4 8 C 6 C 9 4 4 = 0x48C6C944<br /> 01 00||10 00 11 00||01 10 11 00||10 01 01 00||01 00<br /> || || || || || <br /> Left | L1 Down R1 Up<br /> on D-Pad D-Pad<br /> right<br /> AStick.<br /> <br /> {| class=&quot;wikitable&quot;<br /> |+PS3 Buttons Identifyers<br /> ! PS3 button &lt;BR /&gt;&lt;sup&gt;(target)&lt;/sup&gt; !! Identifyer !! Notes<br /> |-<br /> | {{padru}} || ? &lt;!-- 0001 --&gt; || &lt;!-- 1 --&gt;<br /> |-<br /> | {{padrr}} || ? &lt;!-- 0010 --&gt; || &lt;!-- 2 --&gt;<br /> |-<br /> | {{padrd}} || ? &lt;!-- 0011 --&gt; || &lt;!-- 3 --&gt;<br /> |-<br /> | {{padrl}} || 0100 || 4<br /> |-<br /> | {{padr3}} || ? || <br /> |-<br /> | {{padlu}} || ? || <br /> |-<br /> | {{padlr}} || ? || <br /> |-<br /> | {{padld}} || ? || <br /> |-<br /> | {{padll}} || ? || <br /> |-<br /> | {{padl3}} || ? || <br /> |-{{cellcolors|lightgrey}}<br /> | || || <br /> |-<br /> | {{padselect}} || ? || <br /> |-<br /> | {{padps}} || ? || <br /> |-<br /> | {{padstart}} || ? || <br /> |-<br /> | {{dpadu}} || ? || <br /> |-<br /> | {{dpadr}} || ? || <br /> |-<br /> | {{dpadd}} || ? || <br /> |-<br /> | {{dpadl}} || ? || <br /> |-<br /> | {{padl1}} || ? || <br /> |-<br /> | {{padr1}} || ? || <br /> |-<br /> | {{padl2}} || ? || <br /> |-<br /> | {{padr2}} || ? || <br /> |-<br /> | {{padtriangle}} || ? || <br /> |-<br /> | {{padcircle}} || ? || <br /> |-<br /> | {{padcross}} || ? || <br /> |-<br /> | {{padsquare}} || ? || <br /> |-<br /> |}<br /> <br /> *Speculation notes<br /> **Stick directions could be maped to axis: {{padlx}} {{padly}} {{padrx}} {{padry}}<br /> <br /> {| class=&quot;wikitable&quot;<br /> |+PSP Buttons Identifyers<br /> ! PSP button &lt;BR /&gt;&lt;sup&gt;(source)&lt;/sup&gt; !! Identifyer !! Hex Value<br /> |-<br /> | not used || 0001 || 1<br /> |-<br /> | not used || 0010 || 2<br /> |-<br /> | {{padstart}} || 0011 || 3<br /> |-<br /> | {{dpadu}} || 0100 || 4<br /> |-<br /> | {{dpadr}} || 0101 || 5<br /> |-<br /> | {{dpadd}} || 0110 || 6<br /> |-<br /> | {{dpadl}} || 0111 || 7<br /> |-<br /> | {{psptl}} || 1000 || 8<br /> |-<br /> | {{psptr}} || 1001 || 9<br /> |-<br /> | not used || 1010 || A<br /> |-<br /> | not used || 1011 || B<br /> |-<br /> | {{padtriangle}} || 1100 || C<br /> |-<br /> | {{padcircle}} || 1101 || D<br /> |-<br /> | {{padcross}} || 1110 || E<br /> |-<br /> | {{padsquare}} || 1111 || F<br /> |-<br /> |}<br /> <br /> *There are more button icons if needed in [[TemplateTest#Buttons]] page &lt;!-- delete this line when the tables are completed --&gt;<br /> *[https://techshali.com/best-ppsspp-games/ List of compatible PPSSPP Games]<br /> <br /> {{Reverse engineering}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=PSP_Emulation&diff=54188 PSP Emulation 2019-08-18T12:02:39Z <p>Mysis: /* Not implemented APIs */</p> <hr /> <div>== pspemu ==<br /> Used for &quot;PSP Minis&quot; and &quot;PSP remasters&quot;. The PSP Emulator works by accessing an encrypted ISO-9660 image. &lt;br&gt;<br /> Assuming that the mini game's directory is /dev_hdd0/game/NPEZ00000/ then the image is stored inside /USRDIR/CONTENT/EBOOT.PBP/DATA.PSAR. &lt;br&gt;<br /> '''Info''': &lt;br&gt;<br /> * Recent Emulator supports PSP Kernel 6.60 Applications&lt;br&gt;<br /> * 20GB model (CECHB00), because it is not equipped with a wireless LAN psn? feature is not available. (10001)<br /> * Does not support PGD files, and neither its access. (Sword Art Online, Kingdom Hearts, Naruto Shippuden Ultimate Ninja Heroes 3,..)<br /> * Does not support scePAuth. (Evangelion, Monster Hunter 3 Portable,...)<br /> * Does not support loaders. (prometheus, Killzone Liberation (fix via minis2),...)<br /> * Does not support &quot;fatms0:&quot;. (use &quot;ms0:&quot;)<br /> * Does not support directory creation on &quot;ms0:&quot;.<br /> * Does not support screen shot utility. (Sweet Fuse,...)<br /> * Does not support game sharing utility.<br /> * Does not support rss /rss reader utility.<br /> * Does not support &quot;disc0:/sce_lbn0x%04x_size0x%04x&quot;. (Naruto Shippuden Ultimate Ninja Impact, Final Fantasy 4,Blood+... )<br /> <br /> * Default pll frequency 222, cpu frequency 222, bus frequency 111<br /> * Default internal paths:<br /> ** /dev_flash/pspemu/psp/<br /> ** /dev_flash/pspemu/flash0/<br /> ** /dev_flash/pspemu/ms/<br /> ** /dev_hdd0/game/&lt;TITLEID&gt;/USRDIR/EXDATA/<br /> ** /dev_hdd0/game/&lt;TITLEID&gt;/USRDIR/CONTENT/DOCUMENT.DAT<br /> <br /> '''Supported Tags''':<br /> 0x00000008, /* 1.XX */<br /> 0x7C16CBC0, /* 2.XX */<br /> 0x03FD0480, /* 2.71 */<br /> 0xF00516D9, /* 2.80 */<br /> 0xF00616D9, /* 3.00 */<br /> 0xF00A16D9, <br /> 0xF00B16D9,<br /> <br /> === Files ===<br /> psp_emulator.self (3.15++)<br /> psp_translator.self (3.15++)<br /> \flash0 (3.15++)<br /> \flash1<br /> \flash2<br /> \flash3<br /> \lflash<br /> \release (3.15++)<br /> \psp<br /> \ms<br /> <br /> ==== arguments ====<br /> 2 arguments:&lt;br&gt;<br /> * argv[0]= self starting location&lt;!--// /dev_flash/pspemu/psp_emulator.self or /app_home if you want to load custom sysman.sprx / threadman.sprx files//--&gt;&lt;br&gt;<br /> * argv[1]= ISO.BIN.EDAT location<br /> <br /> ==== mapping ====<br /> <br /> 0xB0000000 - elf/game memory<br /> 0xB3900000 - settings { VFPU_USE_FAST_VMMUL, VMX_FOR_FPU, FPU_FS_SUPPORT, ALLEGREX_DELAY, unk (0/0x1000)}<br /> 0xB4000000<br /> 0xB4200000<br /> 0xB4400000<br /> 0xB4600000<br /> 0xB7900000<br /> 0xB8000000<br /> 0xBB900000<br /> <br /> === Controller? ===<br /> <br /> taken from PEmuCoreLib<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Mode? !! Number !! Note<br /> |-<br /> | 1-A || 1? ||<br /> |-<br /> | 2-A || 2?||<br /> |-<br /> | 1-B || 3?||<br /> |-<br /> | 2-B || 4?||<br /> |-<br /> | 1-C || 5?||<br /> |-<br /> | 2-C || 6?||<br /> |-<br /> | 1-D || 7?||<br /> |-<br /> |}<br /> <br /> === Emulator Settings ===<br /> <br /> The emulator itself can be feeded with settings about the game. These settings are:<br /> <br /> 1) in MINIS2.EDAT (pure Text format file decrypted)<br /> 2) within the emulator defined for a bunch of games (see [[Emulation#Special_notes| Special notes]])<br /> <br /> Note: The Emulator can be patched (1 Bit) to read a non encrypted MINIS2.EDAT.<br /> <br /> Here are the commands what you can define for the psp emulator:<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Struct !! Command !! Example !! Note<br /> |-<br /> | || # || #PSDEVWIKi || Text, information, # will be ignored<br /> |-<br /> | || VERSION = 0x%x || VERSION = 0xFFFFFFFF || <br /> |-<br /> | || BOOT_MODE = %llx || ||<br /> 100010000 = Minis <br /> 200010000 = Remaster <br /> |-<br /> | || REMASTER_VERSION = 0x%x || ||<br /> |-<br /> | || SDRAM_SIZE = %llx || SDRAM_SIZE = 02800000 ||<br /> 02000000 = ~34 MB (Default)<br /> 02800000 = ~42 MB <br /> 03000000 = ~50 MB <br /> 04000000 = ~67 MB<br /> &lt;br /&gt;&lt;br /&gt;''Real PSP hardware had:''<br /> * ''Main RAM: 32MB (PSP-1000) or 64 MB (PSP-2000, PSP-3000, PSP Go/PSP-N1000 and PSP-E1000) 333MHz 256bit DDR SDRAM with 8MB reserved for kernel.''<br /> * ''Video RAM: 2MB 166MHz 256bit eDRAM.''<br /> * ''MediaEngine RAM: 2MB 166MHz 128bit eDRAM.''<br /> |-<br /> | || TRANS_CACHE_SIZE = %llx || TRANS_CACHE_SIZE = 1000000 ||<br /> 2000000 = (Default)<br /> 1000000 = <br /> |-<br /> | || HOSTFS_PATH = %lld || || <br /> 0 = /dev_flash/pspemu/psp/ (Default) <br /> 1 = /app_home/psp/ <br /> 2 = /app_home/<br /> else = /dev_flash/pspemu/psp/<br /> |-<br /> | || EXDATA_PATH = %lld || ||<br /> 0 = %USRDIR%/EXDATA/ (Default)<br /> 2 = &lt;HOSTFS_PATH&gt;/EXDATA/<br /> 3 = /dev_usb/EXDATA<br /> else = %USRDIR%/EXDATA/<br /> |-<br /> | || ELF_PATH = %s || ELF_PATH = disc0:/PSP_GAME/SYSDIR/EBOOT.BIN || = default, but can be changed for example on Powerstone Collection to directly load PS1.prx/PS2.prx<br /> |-<br /> | || ISO_PATH = %s || ||<br /> |-<br /> | || VOUT_RESOLUTION_MODE = %lld || VOUT_RESOLUTION_MODE = 0 ||<br /> 0 = (Default)<br /> 1<br /> 2<br /> 3<br /> ... <br /> |-<br /> | || DRAWN_IMAGE_SCALE = %lld || DRAWN_IMAGE_SCALE = 4 || Display Output Videoscale <br /> 0 = <br /> 1 = small picture<br /> 2 = (Default)<br /> 3 =<br /> 4 =<br /> ...<br /> |-<br /> | AW. {|| || || indicates LINEAR_ADRS to CLOAD_MODE optional setting following<br /> |-<br /> | || LINEAR_ADRS = %llx || AW.LINEAR_ADRS = 40 ||<br /> 0 = (Default)<br /> 40 = <br /> |-<br /> | || SINGLE_BUF = %llx || AW.SINGLE_BUF = 880 ||<br /> 0 = (Default)<br /> 80 = <br /> 880 =<br /> |-<br /> | || DISABLE_FB_TEX = %llx || AW.DISABLE_FB_TEX = 100 || <br /> 0 = (Default)<br /> 100 = <br /> |-<br /> | || REUSE_ADRS = %llx || AW.REUSE_ADRS = 110000 ||<br /> 0 = (Default)<br /> 110000 =<br /> |-<br /> | || SINGLE_BUF2 = %llx || ||<br /> |-<br /> | || DECODE_WAIT = %llx || AW.DECODE_WAIT = 10000 || in order to slowdown ?<br /> 0 = (Default)<br /> 10000 = <br /> |-<br /> | || DISCARD_EDGE = %llx || AW.DISCARD_EDGE = 20000 ||<br /> 0 = (Default)<br /> 20000 =<br /> |-<br /> | || RECYCLE_RD_TEX = %llx || ||<br /> |-<br /> | || EXT_MODE = %llx || AW.EXT_MODE = 3 ||<br /> 0 = (Default)<br /> Uses different SPU ELF for transparency/textures behavior <br /> 1 = <br /> 2 = <br /> 3 = <br /> |-<br /> | || THR_PIXEL_OFST = %llx || AW.THR_PIXEL_OFST = 0 || <br /> 0 = <br /> 3EFFFFFF = (default)<br /> |-<br /> | || EXT_CMD = %llx || AW.EXT_CMD = 2 || <br /> 0 = (Default)<br /> 1 = <br /> 2 = <br /> 3 = <br /> |-<br /> | || VRAM_MODE = %llx || AW.VRAM_MODE = 1 ||<br /> 0 = Disabled (default) <br /> 1 = Enabled<br /> |-<br /> | || CLOAD_MODE = %llx || AW.CLOAD_MODE = 1 || (Note: Only available since 4.30?)<br /> 0 = Disabled (default) <br /> 1 = Enabled<br /> Displays Selection Menu: Remaster/Adhoc ?<br /> |-<br /> | } || || ||<br /> |-<br /> | AUDIO. {|| || || indicates optional SCR_NOIZ,SLEEP,DECODE_LIMIT setting following<br /> |-<br /> | || SRC_NOIZ = %llx || ||<br /> |-<br /> | || SLEEP = %llx || AUDIO.SLEEP = 421 ||<br /> 0 = (Default)<br /> 421 =<br /> |-<br /> | || DECODE_LIMIT = %llx || ||<br /> |-<br /> | } || || ||<br /> |-<br /> | || VFPU_USE_FAST_VMMUL = %lld || ||<br /> 0 = Disabled (Default) <br /> 1 = Enabled<br /> |-<br /> | || VMX_FOR_FPU = %lld || ||<br /> 0 = Disabled<br /> 1 = Enabled (Default)<br /> |-<br /> | || FPU_FS_SUPPORT = %lld || ||<br /> 0 = Disabled<br /> 1 = Enabled (Default)<br /> |-<br /> | || MIPS_CODE_BLOCK_SIZE = %lld || MIPS_CODE_BLOCK_SIZE = 8192 ||<br /> 8192 (decimal) = 0x2000 (hex) <br /> 4096 (decimal) = 0x1000 (hex, Default)<br /> |-<br /> | || ALLEGREX_DELAY = %lld || || Allegrex = PSP CPU <br /> 0 = (Default)<br /> 100 = ms delay interrupt/thread/sync<br /> |-<br /> | || LINCOLN_START_ADDR = %llx || ||<br /> 0x8804000? = (Default)?<br /> 0x20000<br /> |-<br /> | || LINCOLN_START_SIZE = %llx || || ELF Size?<br /> |-<br /> | || TRANSLATOR_PATCH[%lld] = { %08x } || || <br /> %lld = Number of patches to allocate&lt;br&gt;<br /> Format goes like this - all values being 32Bit hexdecimal:&lt;br&gt;<br /> = { start_address? end_address? patch1 patch2 .... (optional: count_for_buff2 buff2_value1 buff2_value2..) }<br /> |-<br /> | || OSK_ENGLISH = %lld || || On Screen Keyboard<br /> 0 = (Default) panel <br /> Else? = english<br /> |-<br /> | S3D. {|| || || Stereoscopic 3D<br /> |-<br /> | || ENABLE = %lld || S3D.ENABLE = 1 ||<br /> 0 = Disabled (Default)<br /> 1 = <br /> 2 = <br /> 3,4,.. = ? (3D Display strong?)<br /> |-<br /> | || MAX_PARALLAX = %f || || (info: http://www.lightillusion.com/stereo_3d_rules.html) &lt;br&gt; 0.0 to 1.0 ? <br /> 0.029999999 = (Default)<br /> |-<br /> | || SCREEN_DISTANCE = %f || || 0.0 to 1.0 ?<br /> -1.0 = (Default)<br /> |-<br /> | CONV. {|| || || struct within S3D structure (info: http://www.lightillusion.com/stereo_3d_convergence.html)<br /> |-<br /> | || DEPTH_TYPE = %lld || ||<br /> 2 = (Default)<br /> |-<br /> | || GLOBAL_DEPTH1 = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || GLOBAL_DEPTH2 = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || LOCAL_DEPTH1 = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || LOCAL_DEPTH2 = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || SHIFT = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || SIDEPANEL = %lld || ||<br /> 0 = (Default)<br /> |-<br /> | } || || ||<br /> |-<br /> | } || || ||<br /> |-<br /> | FILTER. {|| || || <br /> |-<br /> | DOF. {|| || || depth of field filter<br /> |-<br /> | || GAUSSIAN = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || DEPTH.0 = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || DEPTH.1 = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || FOCAL_DISTANCE = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || FIELD_WIDTH = %f || ||<br /> 0 = (Default)<br /> |-<br /> | } || || ||<br /> |-<br /> | BLOOM. {|| || || bloom filter<br /> |-<br /> | || THRESHOLD.R = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || THRESHOLD.G = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || THRESHOLD.B = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || THRESHOLD.VALUE = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || ADD.R = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || ADD.G = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || ADD.B = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || ADD.LOD = %f || ||<br /> 0 = (Default)<br /> |-<br /> | } || || ||<br /> |-<br /> | } || || ||<br /> |-<br /> | || ADDITIONAL_KEY_ASSIGN = %llx || ADDITIONAL_KEY_ASSIGN = 0000000047C6C544 ||<br /> 0000000047C6C544 : maps right analog stick, usefull for 3rd person camera viewing<br /> 0000000048C0C940 : maps L + R to right analog stick left and right<br /> 8000000000000000 : unknown<br /> |-<br /> | || SAVEDATA_USE_UPPERCASENAME = %lld || ||<br /> 0 = (Default)<br /> Ese = convert characters<br /> |-<br /> | || FAKE_PATH = %s || || (max. lenght 0x400 bytes)<br /> |-<br /> | || SAVEDATA_LOAD_CACHE_TARGET_NAME = %s || SAVEDATA_LOAD_CACHE_TARGET_NAME = ULJM05637DQUEST ||<br /> |-<br /> | || SAVEDATA_USE_PS3_SAVE = %lld || SAVEDATA_USE_PS3_SAVE = 1 ||<br /> 0 = Uses PSP/PSPMinis SaveData module <br /> 1 = SaveGame via PS3 SaveData module<br /> |-<br /> | || ICACHE_CONTROL = %llx || ||<br /> 0 = Enable InvalidateAll availability<br /> 1 = sceKernelIcacheInvalidateRange disabled?<br /> 2 = sceKernelIcacheInvalidateAll disabled?<br /> |-<br /> | || DEBUG.GRAPHICS = %lld || DEBUG.GRAPHICS = 1 ||<br /> 0 = off<br /> 1 = on , displays information and more: <br /> * flip time average (max.,min.),<br /> * RSX Performance average (max.,min.),<br /> * MIPS load average (max.,min.)<br /> 2 = ?<br /> |-<br /> | || DEBUG.CPU_PERF_BUF_SIZE = 0x%llx || ||<br /> 0x100000 = (default)<br /> |-<br /> | || VSYNC_OFFSET_US = %lld || VSYNC_OFFSET_US = 8341 ||<br /> 8341 = 0x2095 (Default)<br /> 2000 = 0x07D0 (Legend of Heroes/Eiyū Densetsu HD Remasters)<br /> |-<br /> | || ADHOC_PARTY = %llx || ADHOC_PARTY = 1 ||<br /> 0 = Disabled (Default)<br /> 1 = Enable Ad hoc Multiplayer<br /> |-<br /> | || GPI = 0x%llx || ||<br /> 0 = (Default) <br /> uint8_t value<br /> |-<br /> | || UTILITY_CTRL_VALUE = %llx || ||<br /> |-<br /> | || CODE_SIZE_LIMIT = %llx || CODE_SIZE_LIMIT = 00800000 ||<br /> |-<br /> | || NP.COMMUNICATION_ID = %s || ||<br /> |-<br /> | || ADHOC_LOCAL_PEER_NUM = %llx || ||<br /> |-<br /> | ADHOC. {|| || || <br /> |-<br /> | || EMUPA_TITLE_ID = %s || ADHOC.EMUPA_TITLE_ID = ULJM05637 ||<br /> |-<br /> | || EMUPA_INITIAL_SERVER = %lld || ADHOC.EMUPA_INITIAL_SERVER = 1 ||<br /> 0 = (Default) <br /> 1 = <br /> |-<br /> | || USE_WORLD_MIN = %lld || ||<br /> |-<br /> | || USE_WORLD_MAX = %lld || ||<br /> |-<br /> | || MAC_THREAD_PRIORITY = %lld || ||<br /> |-<br /> | || SEND_LIMIT = %lld || ||<br /> |-<br /> | || RECV_LIMIT = %lld || ||<br /> |-<br /> | || PTP_SB_SEND_EXT = %lld || ||<br /> |-<br /> | || PTP_SEND_INTERVAL_MIN = %lld || ||<br /> |-<br /> | || PTP_ACCEPT_DELAY = %lld || ||<br /> |-<br /> | || FLAGS = %llx || ||<br /> |-<br /> | } || || ||<br /> |-<br /> |}<br /> <br /> === Special notes ===<br /> <br /> ==== PSP Minis ====<br /> On few Games there are predefined changes set for the Core within the emulator.<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Title ID !! Title Name !! Note<br /> |-<br /> | NPEZ00001 || Puzzle Scape Mini || AW.DISCARD_EDGE = 20000&lt;br&gt; AW.DECODE_WAIT = 10000<br /> |-<br /> | NPEZ00002 || Stand O'Food || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00003 || Mahjongg Artifacts Chapter 2 || AW.LINEAR_ADRS = 40&lt;br&gt; AW.DISABLE_FB_TEX = 100&lt;br&gt; AW.DISCARD_EDGE = 20000<br /> |-<br /> | NPEZ00021 || Pinball Dreams || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00022 || Pinball Fantasies || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00027 || Sudoku || AUDIO.SLEEP = 421<br /> |-<br /> | NPEZ00028 || Bowling 3D *1) || <br /> |-<br /> | NPEZ00031 || Hero Of Sparta || <br /> |-<br /> | NPEZ00041 || Blast Off || <br /> |-<br /> | NPEZ00046 || Brainpipe || <br /> |-<br /> | NPEZ00093 || Tetris *1) || AW.SINGLE_BUF = 80&lt;br&gt;AW.REUSE_ADRS = 110000<br /> |-<br /> | NPEZ00094 || Yummy Yummy Cooking Jam || AW.SINGLE_BUF = 880&lt;br&gt;AW.DECODE_WAIT = 10000<br /> |-<br /> | NPEZ00105 || Telegraph - Sudoku &amp; Kakuro || DRAWN_IMAGE_SCALE = 1 <br /> |-<br /> | NPEZ00106 || Sudoku und Kakuro: Welt Edition || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00107 || Spot The Differences! || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00108 || Finde die Unterschiede! Welt Edition || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00112 || Telegraph Crosswords || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00113 || Kreuzwortraetsel: Welt Edition || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00125 || Pallurikio || <br /> |-<br /> | NPEZ00194 || Mahjongg Artifacts || AW.LINEAR_ADRS = 40&lt;br&gt;AW.DISABLE_FB_TEX = 100&lt;br&gt;AW.DISCARD_EDGE = 20000<br /> |-<br /> | NPEZ00219 || Arctic Adventures: Polar's Puzzles || <br /> |-<br /> | NPEZ00381 || Fighting Fantasy - Talisman of death || AW.THR_PIXEL_OFST = 0<br /> |-<br /> | NEPZ00444 || Jetpack Joyride || AW.CLOAD_MODE = 1<br /> |-<br /> | NPUZ00002 || Bowling 3D *1) || <br /> |-<br /> | NPUZ00005 || Hero Of Sparta || <br /> |-<br /> | NPUZ00006 || Mahjongg Artifacts Chapter 2 || AW.LINEAR_ADRS = 40&lt;br&gt;AW.DISABLE_FB_TEX = 100&lt;br&gt;AW.DISCARD_EDGE = 20000<br /> |-<br /> | NPUZ00009 || Brainpipe || <br /> |-<br /> | NPUZ00017 || Pinball Fantasies || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPUZ00018 || Yummy Yummy Cooking Jam || AW.SINGLE_BUF = 880&lt;br&gt;AW.DECODE_WAIT = 10000<br /> |-<br /> | NPUZ00021 || Blast Off || <br /> |-<br /> | NPUZ00029 || Stand O' Food || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPUZ00034 || Spot The Differences! || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPUZ00054 || Pinball Dreams || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPUZ00058 || SuperMarket Mania || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPUZ00062 || Mahjongg Artifacts || AW.LINEAR_ADRS = 40&lt;br&gt;AW.DISABLE_FB_TEX = 100&lt;br&gt;AW.DISCARD_EDGE = 20000<br /> |-<br /> | NPUZ00099 || Pallurikio || <br /> |-<br /> | NPUZ00114 || Arctic Adventures: Polar's Puzzles || <br /> |-<br /> | NPUZ00292 || Jetpack Joyride || AW.CLOAD_MODE = 1<br /> |-<br /> |}<br /> <br /> *1) SFO: PP, officially wont run on ps3 as no iso.bin and no proper minis file (only psp officially supported)<br /> <br /> ==== PSP HD Remasters ====<br /> <br /> * TextureSize = 1024<br /> * Can use 64 MB memory<br /> And these PSP Remaster Games got a MINIS2.EDAT setting definitions for the Emulator Core.<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Disc Title ID !! NP Title ID !! Title Name !! Note<br /> |-<br /> | BLJM85001 || NPJB40001 || Monster Hunter Portable 3rd HD Ver || VERSION = 0xFFFFFFFF&lt;br&gt;<br /> S3D.ENABLE = 2&lt;br&gt;<br /> SDRAM_SIZE = 02800000&lt;br&gt;<br /> MIPS_CODE_BLOCK_SIZE = 8192&lt;br&gt; (next settings are done internally and not part of MINIS2)&lt;br&gt;<br /> DRAWN_IMAGE_SCALE = 4&lt;br&gt;<br /> AW.EXT_MODE = 3&lt;br&gt;<br /> TRANS_CACHE_SIZE = 1000000&lt;br&gt;<br /> VSYNC_OFFSET_US = 2000&lt;br&gt;<br /> ADHOC.EMUPA_TITLE_ID = ULJM05800&lt;br&gt;<br /> ADHOC.EMUPA_INITIAL_SERVER = 1&lt;br&gt;<br /> ADHOC_PARTY = 1&lt;br&gt;<br /> |-<br /> | BLJM85002 || NPJB40002 || K-ON Houkago Live HD Ver || VERSION = 0xFFFFFFFF&lt;br&gt;<br /> AW.EXT_MODE = 3&lt;br&gt;<br /> AW.EXT_CMD = 2&lt;br&gt;<br /> SDRAM_SIZE = 02800000&lt;br&gt;<br /> ADDITIONAL_KEY_ASSIGN = 8000000000000000&lt;br&gt;<br /> S3D.ENABLE = 1&lt;br&gt;<br /> ADHOC.EMUPA_TITLE_ID = ULJM05709<br /> |-<br /> | BLJM85003 || NPJB40003 || Shin Sangoku Musou Multi Raid 2 HD Ver || VERSION = 0xFFFFFFFF&lt;br&gt;<br /> AW.EXT_MODE = 3&lt;br&gt;<br /> AW.EXT_CMD = 2&lt;br&gt;<br /> SDRAM_SIZE = 02800000&lt;br&gt;<br /> ADDITIONAL_KEY_ASSIGN = 0000000047C6C544&lt;br&gt;<br /> S3D.ENABLE = 1&lt;br&gt;<br /> ADHOC.EMUPA_TITLE_ID = ULJM05637&lt;br&gt;<br /> AW.VRAM_MODE = 1&lt;br&gt;<br /> SAVEDATA_LOAD_CACHE_TARGET_NAME = ULJM05637DQUEST<br /> |-<br /> | BLJM85004 || NPJB00293&lt;br&gt;NPJN00005 ||Eiyuu Densetsu Sora no Kiseki FC Kai HD Edition || VERSION = 0xFFFFFFFF&lt;br&gt;<br /> SDRAM_SIZE = 03000000&lt;br&gt;<br /> ADDITIONAL_KEY_ASSIGN = 0000000047C6C544&lt;br&gt;<br /> S3D.ENABLE = 1&lt;br&gt;<br /> AW.EXT_MODE = 3&lt;br&gt;<br /> AW.EXT_CMD = 3&lt;br&gt;<br /> ADHOC_PARTY = 0&lt;br&gt;<br /> VSYNC_OFFSET_US = 2000<br /> |-<br /> | BLJM85005 || NPJB00334&lt;br&gt;NPJN00007||Eiyuu Densetsu: Sora no Kiseki SC Kai HD Edition || VERSION = 0xFFFFFFFF&lt;br&gt;<br /> SDRAM_SIZE = 04000000&lt;br&gt;<br /> CODE_SIZE_LIMIT = 00800000&lt;br&gt;<br /> ADDITIONAL_KEY_ASSIGN = 8000000000000000&lt;br&gt;<br /> S3D.ENABLE = 2&lt;br&gt;<br /> AW.EXT_MODE = 3&lt;br&gt;<br /> AW.EXT_CMD = 3&lt;br&gt;<br /> ADHOC_PARTY = 0&lt;br&gt;<br /> VSYNC_OFFSET_US = 2000<br /> |-<br /> | BLJM85006 || NPJB00360&lt;br&gt;NPJN00008||Eiyuu Densetsu: Sora no Kiseki the 3rd: Kai HD Edition || VERSION = 0xFFFFFFFF&lt;br&gt;<br /> SDRAM_SIZE = 04000000&lt;br&gt;<br /> CODE_SIZE_LIMIT = 00800000&lt;br&gt;<br /> ADDITIONAL_KEY_ASSIGN = 8000000000000000&lt;br&gt;<br /> S3D.ENABLE = 2&lt;br&gt;<br /> AW.EXT_MODE = 3&lt;br&gt;<br /> AW.EXT_CMD = 3&lt;br&gt;<br /> ADHOC_PARTY = 0&lt;br&gt;<br /> |}<br /> <br /> DiscIDs inside emulator: http://pastie.org/pastes/4367964/<br /> <br /> ==== Unofficial PSP Games MINIS2====<br /> <br /> * research only<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Title ID !! Title Name !! Issue !! Setting !! Note<br /> |-<br /> | || Shin Megami Tensei: Persona3 Portable || hangs while loading screen ||<br /> AW.VRAM = 1<br /> || fixes loading, but requires further research<br /> |-<br /> | || Silent Hill: Origins || Loading Screen texture flicker on top ||<br /> AW.LINEAR_ADRS = 40 <br /> ||<br /> |-<br /> | || Tactics Ogre: Let Us Cling Together || Black texture? overlay in movies and &quot;Tarot Card&quot; selection ||<br /> AW.LINEAR_ADRS = 40 <br /> ||<br /> |-<br /> | || The 3rd Birthday || blue transparent texture overblending ||<br /> AW.DISABLE_FB_TEX = 222<br /> || mostly removed, but requires further research<br /> |-<br /> |}<br /> <br /> === NID ===<br /> &lt;pre&gt;<br /> <br /> Library: GprofManStub<br /> 0x6A05A80D sceGprofSetProfil<br /> 0x799D0A67 sceGprofFreeProfil<br /> <br /> Library: GprofManWeak<br /> 0x6A05A80D sceGprofSetProfil_Weak<br /> 0x799D0A67 sceGprofFreeProfil_Weak<br /> <br /> Library: InterruptManager<br /> 0x5CB5A78B sceKernelSuspendSubIntr<br /> 0x7860E0DC sceKernelResumeSubIntr<br /> 0x8A389411 sceKernelDisableSubIntr<br /> 0xCA04A2B9 sceKernelRegisterSubIntrHandler<br /> 0xD61E6961 sceKernelReleaseSubIntrHandler<br /> 0xEEE43F47 sceKernelRegisterUserSpaceIntrStack<br /> 0xFB8E22EC sceKernelEnableSubIntr<br /> 0xFC4374B8 sceKernelIsSubInterruptOccurred<br /> <br /> Library: IoFileMgrForUser<br /> 0x06A70004 sceIoMkdir<br /> 0x08BD7374 sceIoGetDevType<br /> 0x0FACAB19 sceIoWriteAsync<br /> 0x109F50BC sceIoOpen<br /> 0x1117C65F sceIoRmdir<br /> 0x1B385D8F sceIoLseek32Async<br /> 0x27EB27B8 sceIoLseek<br /> 0x3251EA56 sceIoPollAsync<br /> 0x35DBD746 sceIoWaitAsyncCB<br /> 0x42EC03AC sceIoWrite<br /> 0x54F5FB11 sceIoDevctl<br /> 0x55F4717D sceIoChdir<br /> 0x5C2BE2CC sceIoGetFdList<br /> 0x63632449 sceIoIoctl<br /> 0x68963324 sceIoLseek32<br /> 0x6A638D83 sceIoRead<br /> 0x6D08A871 sceIoUnassign<br /> 0x71B19E77 sceIoLseekAsync<br /> 0x779103A0 sceIoRename<br /> 0x810C4BC3 sceIoClose<br /> 0x89AA9906 sceIoOpenAsync<br /> 0xA0B5A7C2 sceIoReadAsync<br /> 0xA12A0514 sceIoSetAsyncCallback<br /> 0xAB96437F sceIoSync<br /> 0xACE946E8 sceIoGetstat<br /> 0xB293727F sceIoChangeAsyncPriority<br /> 0xB29DDF9C sceIoDopen<br /> 0xB2A628C1 sceIoAssign<br /> 0xB8A740F4 sceIoChstat<br /> 0xCB05F8D6 sceIoGetAsyncStat<br /> 0xE23EEC33 sceIoWaitAsync<br /> 0xE3EB004C sceIoDread<br /> 0xE8BC6571 sceIoCancel<br /> 0xE95A012B sceIoIoctlAsync<br /> 0xEB092469 sceIoDclose<br /> 0xF27A9C51 sceIoRemove<br /> 0xFF5940B6 sceIoCloseAsync<br /> <br /> Library: Kernel_Library<br /> 0x092968F4 sceKernelCpuSuspendIntr<br /> 0x15B6446B sceKernelUnlockLwMutex<br /> 0x1839852A sceKernelMemcpy<br /> 0x1FC64E09 sceKernelLockLwMutexCB<br /> 0x293B45B8 sceKernelGetThreadId_kernel<br /> 0x37431849 sceKernelTryLockLwMutex_600<br /> 0x3B84732D sceKernelCpuResumeIntrWithSync<br /> 0x47A0B729 sceKernelIsCpuIntrSuspended<br /> 0x5F10D406 sceKernelCpuResumeIntr<br /> 0xA089ECA4 sceKernelMemset<br /> 0xB55249D2 sceKernelIsCpuIntrEnable<br /> 0xBEA46419 sceKernelLockLwMutex<br /> 0xC1734599 sceKernelReferLwMutexStatus<br /> 0xD13BDE95 sceKernelCheckThreadStack_user<br /> 0xDC692EE3 sceKernelTryLockLwMutex<br /> 0xFA835CDE sceKernelGetTlsAddr<br /> <br /> Library: LoadExecForUser<br /> 0x05572A5F sceKernelExitGame<br /> 0x2AC9954B sceKernelExitGameWithStatus<br /> 0x362A956B sceKernelSafetyCheck1<br /> 0x4AC57943 sceKernelRegisterExitCallback<br /> 0x8ADA38D3 sceKernelLoadExecNpDrm<br /> 0xBD2F1094 sceKernelLoadExec<br /> <br /> Library: ModuleMgrForUser<br /> 0x2E0911AA sceKernelUnloadModule<br /> 0x50F0C1EC sceKernelStartModule<br /> 0x644395E2 sceKernelGetModuleIdList<br /> 0x748CBED9 sceKernelQueryModuleInfo<br /> 0x8F2DF740 sceKernelStopUnloadSelfModuleWithStatus<br /> 0x977DE386 sceKernelLoadModule<br /> 0xB7F46618 sceKernelLoadModuleByID<br /> 0xCC1D3699 sceKernelStopUnloadSelfModule<br /> 0xCDE1C1FE sceKernelCheckTextSegment<br /> 0xD1FF982A sceKernelStopModule<br /> 0xD2FBC957 sceKernelGetModuleGPByAddress<br /> 0xD675EBB8 sceKernelSelfStopUnloadModule<br /> 0xD8B73127 sceKernelGetModuleIdByAddress<br /> 0xE4C4211C sceKernelLoadModuleWithBlockOffset<br /> 0xF0A26395 sceKernelGetModuleId<br /> 0xF2D8D1B4 sceKernelLoadModuleNpDrm<br /> 0xF9275D98 sceKernelLoadModuleBufferUsbWlan<br /> 0xFBE27467 sceKernelLoadModuleByIDWithBlockOffset<br /> 0xFEF27DC1 sceKernelLoadModuleDNAS<br /> <br /> Library: StdioForUser<br /> 0x0CBB0571 sceKernelStdioLseek<br /> 0x172D316E sceKernelStdin<br /> 0x3054D478 sceKernelStdioRead<br /> 0x432D8F5C sceKernelRegisterStdoutPipe<br /> 0x6F797E03 sceKernelRegisterStderrPipe<br /> 0x924ABA61 sceKernelStdioOpen<br /> 0x9D061C19 sceKernelStdioClose<br /> 0xA3B931DB sceKernelStdioWrite<br /> 0xA46785C9 sceKernelStdioSendChar<br /> 0xA6BAB2E9 sceKernelStdout<br /> 0xF78BA90A sceKernelStderr<br /> <br /> Library: SysMemUserForUser<br /> 0x13A5ABEF sceKernelPrintf<br /> 0x1B4217BC sceKernelSetCompiledSdkVersion630<br /> 0x237DBD4F sceKernelAllocPartitionMemory<br /> 0x315AD3A0 sceKernelSetCompiledSdkVersion380_390<br /> 0x342061E5 sceKernelSetCompiledSdkVersion370<br /> 0x35669D4C sceKernelSetCompiledSdkVersion600_620<br /> 0x358CA1BB sceKernelSetCompiledSdkVersion660<br /> 0x50F61D8A sceKernelFreeMemoryBlock<br /> 0x7591C7DB sceKernelSetCompiledSdkVersion100<br /> 0x7893F79A sceKernelSetCompiledSdkVersion570_570<br /> 0x91DE343C sceKernelSetCompiledSdkVersion500_550<br /> 0x9D9A5BA1 sceKernelGetBlockHeadAddr<br /> 0xA291F107 sceKernelMaxFreeMemSize<br /> 0xB6D61D02 sceKernelFreePartitionMemory<br /> 0xD8DE5C1E sceKernelSafetyCheck0<br /> 0xDB83A952 sceKernelGetMemoryBlockAddr<br /> 0xEBD5C3E6 sceKernelSetCompiledSdkVersion395_405<br /> 0xF77D77CB sceKernelSetCompilerVersion<br /> 0xF919F628 sceKernelTotalFreeMemSize<br /> 0xFC114573 sceKernelGetCompiledSdkVersion<br /> 0xFE707FDF sceKernelAllocMemoryBlock<br /> <br /> Library: ThreadManForUser<br /> 0x034A921F sceKernelGetVTimerTime<br /> 0x0C106E53 sceKernelRegisterThreadEventHandler<br /> 0x0D81716A sceKernelPollMbx<br /> 0x0DDCD2C9 sceKernelTryLockMutex<br /> 0x110DEC9A sceKernelUSec2SysClock<br /> 0x1181E963 sceKernelDelaySysClockThreadCB<br /> 0x17C1684E sceKernelReferThreadStatus<br /> 0x18260574 sceKernelReceiveMbx<br /> 0x19CFF145 sceKernelCreateLwMutex<br /> 0x1AF94D03 sceKernelDonateWakeupThread<br /> 0x1D371B8A sceKernelCancelVpl<br /> 0x1FB15A32 sceKernelSetEventFlag<br /> 0x20FFF560 sceKernelCreateVTimer<br /> 0x278C0DF5 sceKernelWaitThreadEnd<br /> 0x27E22EC2 sceKernelResumeDispatchThread<br /> 0x28B6489C sceKernelDeleteSema<br /> 0x293B45B8 sceKernelGetThreadId<br /> 0x2A3D44FF sceKernelGetCallbackCount<br /> 0x2C34E053 sceKernelReleaseWaitThread<br /> 0x30FD48F0 sceKernelPollEventFlag<br /> 0x328C546A sceKernelWaitEventFlagCB<br /> 0x328F9E52 sceKernelDeleteVTimer<br /> 0x32BF938E sceKernelDeleteTlspl<br /> 0x33BE4024 sceKernelReferMsgPipeStatus<br /> 0x349B864D sceKernelCancelMsgPipe<br /> 0x349D6D6C sceKernelCheckCallback<br /> 0x369ED59D sceKernelGetSystemTimeLow<br /> 0x369EEB6B sceKernelReferThreadEventHandlerStatus<br /> 0x383F7BCC sceKernelTerminateDeleteThread<br /> 0x39810265 sceKernelReferVplStatus<br /> 0x3AD58B8C sceKernelSuspendDispatchThread<br /> 0x3B183E26 sceKernelGetThreadExitStatus<br /> 0x3F53E640 sceKernelSignalSema<br /> 0x402FCF22 sceKernelWaitEventFlag<br /> 0x446D8DE6 sceKernelCreateThread<br /> 0x4A719FB2 sceKernelFreeTlspl<br /> 0x4C145944 sceKernelReferLwMutexStatusByID<br /> 0x4E3A1105 sceKernelWaitSema<br /> 0x52089CA1 sceKernelGetThreadStackFreeSize<br /> 0x532A522E _sceKernelExitThread<br /> 0x53B00E9A sceKernelSetVTimerHandlerWide<br /> 0x542AD630 sceKernelSetVTimerTime<br /> 0x55C20A00 sceKernelCreateEventFlag<br /> 0x56C039B5 sceKernelCreateVpl<br /> 0x57CF62DD sceKernelGetThreadmanIdType<br /> 0x58B1F937 sceKernelPollSema<br /> 0x5BF4DD27 sceKernelLockMutexCB<br /> 0x5F32BEAA sceKernelReferVTimerStatus<br /> 0x60107536 sceKernelDeleteLwMutex<br /> 0x616403BA sceKernelTerminateThread<br /> 0x623AE665 sceKernelTryAllocateFpl<br /> 0x627E6F3A sceKernelReferSystemStatus<br /> 0x64D4540E sceKernelReferThreadProfiler<br /> 0x65F54FFB _sceKernelAllocateTlspl<br /> 0x6652B8CA sceKernelSetAlarm<br /> 0x68DA9E36 sceKernelDelayThreadCB<br /> 0x6B30100F sceKernelUnlockMutex<br /> 0x6D212BAC sceKernelWaitSemaCB<br /> 0x6E9EA350 _sceKernelReturnFromCallback<br /> 0x71BC9871 sceKernelChangeThreadPriority<br /> 0x721067F3 sceKernelReferTlsplStatus<br /> 0x72F3C145 sceKernelReleaseThreadEventHandler<br /> 0x730ED8BC sceKernelReferCallbackStatus<br /> 0x74829B76 sceKernelReceiveMsgPipe<br /> 0x75156E8F sceKernelResumeThread<br /> 0x7C0DC2A0 sceKernelCreateMsgPipe<br /> 0x7C41F2C2 sceKernelSendMsgPipeCB<br /> 0x7E65B999 sceKernelCancelAlarm<br /> 0x809CE29B sceKernelExitDeleteThread<br /> 0x812346E4 sceKernelClearEventFlag<br /> 0x8125221D sceKernelCreateMbx<br /> 0x8218B4DD sceKernelReferGlobalProfiler<br /> 0x82826F70 sceKernelSleepThreadCB<br /> 0x82BC5777 sceKernelGetSystemTimeWide<br /> 0x840E8133 sceKernelWaitThreadEndCB<br /> 0x86255ADA sceKernelDeleteMbx<br /> 0x876DBFAD sceKernelSendMsgPipe<br /> 0x87D4DD36 sceKernelCancelReceiveMbx<br /> 0x87D9223C sceKernelCancelMutex<br /> 0x884C9F90 sceKernelTrySendMsgPipe<br /> 0x89B3D48C sceKernelDeleteVpl<br /> 0x8DAFF657 sceKernelCreateTlspl<br /> 0x8FFDF9A2 sceKernelCancelSema<br /> 0x912354A7 sceKernelRotateThreadReadyQueue<br /> 0x94416130 sceKernelGetThreadmanIdList<br /> 0x94AA61EE sceKernelGetThreadCurrentPriority<br /> 0x9944F31F sceKernelSuspendThread<br /> 0x9ACE131E sceKernelSleepThread<br /> 0x9FA03CD3 sceKernelDeleteThread<br /> 0xA1F78052 _sceKernelReturnFromChangeStack<br /> 0xA66B0120 sceKernelReferEventFlagStatus<br /> 0xA8AA591F sceKernelCancelFpl<br /> 0xA8E8C846 sceKernelReferMbxStatus<br /> 0xA9C2CB9A sceKernelReferMutexStatus<br /> 0xAA73C935 sceKernelExitThread<br /> 0xAF36D708 sceKernelTryAllocateVpl<br /> 0xB011B11F sceKernelLockMutex<br /> 0xB2C25152 sceKernelSetSysClockAlarm<br /> 0xB3A59970 sceKernelGetVTimerBase<br /> 0xB736E9FF sceKernelFreeVpl<br /> 0xB7C18B77 sceKernelGetVTimerBaseWide<br /> 0xB7D098C6 sceKernelCreateMutex<br /> 0xBA4051D6 sceKernelCancelCallback<br /> 0xBA6B92E2 sceKernelSysClock2USec<br /> 0xBC6FEBC5 sceKernelReferSemaStatus<br /> 0xBC80EC7C sceKernelExtendThreadStack<br /> 0xBD123D9E sceKernelDelaySysClockThread<br /> 0xBED27435 sceKernelAllocateVpl<br /> 0xC07BB470 sceKernelCreateFpl<br /> 0xC0B3FFD2 sceKernelGetVTimerTimeWide<br /> 0xC11BA8C4 sceKernelNotifyCallback<br /> 0xC68D9437 sceKernelStartVTimer<br /> 0xC8CD158C sceKernelUSec2SysClockWide<br /> 0xCD203292 sceKernelCancelEventFlag<br /> 0xCEADEB47 sceKernelDelayThread<br /> 0xD0AEEE87 sceKernelStopVTimer<br /> 0xD13BDE95 sceKernelCheckThreadStack<br /> 0xD2D615EF sceKernelCancelVTimerHandler<br /> 0xD59EAD2F sceKernelWakeupThread<br /> 0xD6DA4BA1 sceKernelCreateSema<br /> 0xD8199E4C sceKernelReferFplStatus<br /> 0xD8B299AE sceKernelSetVTimerHandler<br /> 0xD979E9BF sceKernelAllocateFpl<br /> 0xDAA3F564 sceKernelReferAlarmStatus<br /> 0xDB738F35 sceKernelGetSystemTime<br /> 0xDF52098F sceKernelTryReceiveMsgPipe<br /> 0xE1619D7C sceKernelSysClock2USecWide<br /> 0xE7282CB6 sceKernelAllocateFplCB<br /> 0xE81CAF8F sceKernelCreateCallback<br /> 0xE9B3061E sceKernelSendMbx<br /> 0xEA748E31 sceKernelChangeCurrentThreadAttr<br /> 0xEC0A693F sceKernelAllocateVplCB<br /> 0xED1410E0 sceKernelDeleteFpl<br /> 0xEDBA5844 sceKernelDeleteCallback<br /> 0xEF9E4C70 sceKernelDeleteEventFlag<br /> 0xF0B7DA1C sceKernelDeleteMsgPipe<br /> 0xF3986382 sceKernelReceiveMbxCB<br /> 0xF475845D sceKernelStartThread<br /> 0xF6414A71 sceKernelFreeFpl<br /> 0xF8170FBE sceKernelDeleteMutex<br /> 0xFB6425C3 sceKernelSetVTimerTimeWide<br /> 0xFBFA697D sceKernelReceiveMsgPipeCB<br /> 0xFCCFAD26 sceKernelCancelWakeupThread<br /> 0xFFC36A14 sceKernelReferThreadRunStatus<br /> <br /> Library: ThreadMonForUser<br /> 0x13BA4700 sceKernelThreadMonStart<br /> 0xAC447E49 sceKernelThreadMonStop<br /> 0xBA56557C sceKernelThreadMonSetBuffer<br /> 0xCE710A2C sceKernelThreadMonReset<br /> <br /> Library: UtilsForUser<br /> 0x06FB8A63 sceKernelUtilsMt19937UInt<br /> 0x16641D70 sceKernelDcacheReadTag<br /> 0x27CC57F0 sceKernelLibcTime<br /> 0x346F6DA8 sceKernelUtilsSha1BlockUpdate<br /> 0x34B9FA9E sceKernelDcacheWritebackInvalidateRange<br /> 0x37FB5C42 sceKernelGetGPI<br /> 0x3EE30821 sceKernelDcacheWritebackRange<br /> 0x43C9A8DB sceKernelL1IcacheInvalidateRange<br /> 0x4FD31C9D sceKernelIcacheProbe<br /> 0x585F1C09 sceKernelUtilsSha1BlockResult<br /> 0x61E1E525 sceKernelUtilsMd5BlockUpdate<br /> 0x6AD345D7 sceKernelSetGPO<br /> 0x71EC4271 sceKernelLibcGettimeofday<br /> 0x77DFF087 sceKernelDcacheProbeRange<br /> 0x79D1C3FA sceKernelDcacheWritebackAll<br /> 0x80001C4C sceKernelDcacheProbe<br /> 0x840259F1 sceKernelUtilsSha1Digest<br /> 0x87E81561 sceKernelPutUserLog<br /> 0x91E4F6A7 sceKernelLibcClock<br /> 0x920F104A sceKernelIcacheInvalidateAll<br /> 0x9E5C5086 sceKernelUtilsMd5BlockInit<br /> 0xB435DEC5 sceKernelDcacheWritebackInvalidateAll<br /> 0xB8D24E78 sceKernelUtilsMd5BlockResult<br /> 0xBFA98062 sceKernelDcacheInvalidateRange<br /> 0xC2DF770E sceKernelIcacheInvalidateRange<br /> 0xC8186A58 sceKernelUtilsMd5Digest<br /> 0xE860E75E sceKernelUtilsMt19937Init<br /> 0xF8FCD5BA sceKernelUtilsSha1BlockInit<br /> 0xFB05FAD0 sceKernelIcacheReadTag<br /> <br /> Library: deflt<br /> 0x0BA3B9CC sceGzipGetCompressedData_deflt<br /> 0x106A3552 sceGzipGetName_deflt<br /> 0x1B5B82BC sceGzipIsValid_deflt<br /> 0x2EE39A64 sceZlibAdler32_deflt<br /> 0x44054E03 sceDeflateDecompress_deflt<br /> 0x6A548477 sceZlibGetCompressedData_deflt<br /> 0x6DBCF897 sceGzipDecompress_deflt<br /> 0x8AA82C92 sceGzipGetInfo_deflt<br /> 0xA9E4FB28 sceZlibDecompress_deflt<br /> 0xAFE01FD3 sceZlibGetInfo_deflt<br /> 0xB767F9A0 sceGzipGetComment_deflt<br /> 0xE46EB986 sceZlibIsValid_deflt<br /> <br /> Library: sceAac<br /> 0x02098C69 sceAacGetInfoToAddStreamData<br /> 0x23D35CAE sceAacTermResource<br /> 0x33B8C009 sceAacExit<br /> 0x506BF66C sceAacGetSumDecodedSample<br /> 0x523347D9 sceAacGetLoopNum<br /> 0x5CFFC57C sceAacInitResource<br /> 0x61AA43C9 sceAacEndEntry<br /> 0x6C05813B sceAacStartEntry<br /> 0x6DC7758A sceAacGetMaxOutputSample<br /> 0x7E4CFEE4 sceAacDecode<br /> 0xAC6DCBE3 sceAacNotifyAddStreamData<br /> 0xBBDD6403 sceAacSetLoopNum<br /> 0xD2DA2BBA sceAacResetPlayPosition<br /> 0xD7C51541 sceAacCheckStreamDataNeeded<br /> 0xE0C89ACA sceAacInit<br /> <br /> Library: sceAdler<br /> 0x9702EF11 sceAdler32<br /> <br /> Library: sceAtrac3plus<br /> 0x0C116E1B sceAtracLowLevelDecode<br /> 0x0E2A73AB sceAtracSetData<br /> 0x0FAE370E sceAtracSetHalfwayBufferAndGetID<br /> 0x132F1ECA sceAtracReinit<br /> 0x1575D64B sceAtracLowLevelInitDecoder<br /> 0x231FC6B7 _sceAtracGetContextAddress<br /> 0x2DD3E298 sceAtracGetBufferInfoForResetting<br /> 0x31668BAA sceAtracGetChannel<br /> 0x36FAABFB sceAtracGetNextSample<br /> 0x3F6E26B5 sceAtracSetHalfwayBuffer<br /> 0x5622B7C1 sceAtracSetAA3DataAndGetID<br /> 0x5CF9D852 sceAtracSetMOutHalfwayBuffer<br /> 0x5D268707 sceAtracGetStreamDataInfo<br /> 0x5DD66588 sceAtracSetAA3HalfwayBufferAndGetID<br /> 0x61EB33F5 sceAtracReleaseAtracID<br /> 0x644E5607 sceAtracResetPlayPosition<br /> 0x6A8C3CD5 sceAtracDecodeData<br /> 0x780F88D1 sceAtracGetAtracID<br /> 0x7A20E7AF sceAtracSetDataAndGetID<br /> 0x7DB31251 sceAtracAddStreamData<br /> 0x83BF7AFD sceAtracSetSecondBuffer<br /> 0x83E85EA0 sceAtracGetSecondBufferInfo<br /> 0x868120B5 sceAtracSetLoopNum<br /> 0x9AE849A7 sceAtracGetRemainFrame<br /> 0x9CD7DE03 sceAtracSetMOutHalfwayBufferAndGetID<br /> 0xA2BBA8BE sceAtracGetSoundSample<br /> 0xA554A158 sceAtracGetBitrate<br /> 0xB3B5D042 sceAtracGetOutputChannel<br /> 0xCA3CA3D2 sceAtracGetBufferInfoForReseting<br /> 0xD1F59FDB sceAtracStartEntry<br /> 0xD5C28CC0 sceAtracEndEntry<br /> 0xD6A5F2F7 sceAtracGetMaxSample<br /> 0xE23E3A35 sceAtracGetNextDecodePosition<br /> 0xE88F759B sceAtracGetInternalErrorInfo<br /> 0xECA32A99 sceAtracIsSecondBufferNeeded<br /> 0xFAA4F89B sceAtracGetLoopStatus<br /> <br /> Library: sceAudio<br /> 0x01562BA3 sceAudioOutput2Reserve<br /> 0x086E5895 sceAudioInputBlocking<br /> 0x136CAF51 sceAudioOutputBlocking<br /> 0x13F592BC sceAudioOutputPannedBlocking<br /> 0x2D53F36E sceAudioOutput2OutputBlocking<br /> 0x41EFADE7 sceAudioOneshotOutput<br /> 0x43196845 sceAudioOutput2Release<br /> 0x5EC81C55 sceAudioChReserve<br /> 0x63F2889C sceAudioOutput2ChangeLength<br /> 0x647CEF33 sceAudioOutput2GetRestSample<br /> 0x6D4BEC68 sceAudioInput<br /> 0x6FC46853 sceAudioChRelease<br /> 0x7DE61688 sceAudioInputInit<br /> 0x87B2E651 sceAudioWaitInputEnd<br /> 0x8C1009B2 sceAudioOutput<br /> 0x95FD0C2D sceAudioChangeChannelConfig<br /> 0xA633048E sceAudioPollInputEnd<br /> 0xA708C6A6 sceAudioGetInputLength<br /> 0xB011922F sceAudioGetChannelRestLength<br /> 0xB7E1D8E7 sceAudioChangeChannelVolume<br /> 0xCB2E439E sceAudioSetChannelDataLen<br /> 0xE2D56B2D sceAudioOutputPanned<br /> 0xE926D3FB sceAudioInputInitEx<br /> 0xE9D97901 sceAudioGetChannelRestLen<br /> <br /> Library: sceAudioRouting<br /> 0x28235C56 sceAudioRoutingGetVolumeMode<br /> 0x36FD8AA9 sceAudioRoutingSetMode<br /> 0x39240E7D sceAudioRoutingGetMode<br /> 0xBB548475 sceAudioRoutingSetVolumeMode<br /> <br /> Library: sceBase16<br /> 0x7AD4677A sceBase16Encoder<br /> 0xFF021EBB sceBase16Decoder<br /> <br /> Library: sceBase32<br /> 0x1D2F25FE sceBase32Encoder<br /> 0x79AE12DD sceBase32HexEncoder<br /> 0xC593B079 sceBase32HexDecoder<br /> 0xD5A58F29 sceBase32Decoder<br /> <br /> Library: sceBase64<br /> 0x3AE99AAF sceBase64Decoder<br /> 0x43543731 sceBase64Encoder<br /> <br /> Library: sceCcc<br /> 0x00D1378F sceCccUTF8toUTF16<br /> 0x068C4320 sceCccEncodeSJIS<br /> 0x17E1D813 sceCccSetErrorCharUTF8<br /> 0x41B724A5 sceCccUTF16toUTF8<br /> 0x4BDEB2A8 sceCccStrlenUTF16<br /> 0x67BF0D19 sceCccIsValidSJIS<br /> 0x6F82EE03 sceCccUTF8toSJIS<br /> 0x70ECAA10 sceCccUCStoJIS<br /> 0x76E33E9C sceCccIsValidUCS2<br /> 0x8406F469 sceCccEncodeUTF16<br /> 0x90521AC5 sceCccIsValidUTF8<br /> 0x92C05851 sceCccEncodeUTF8<br /> 0x953E6C10 sceCccDecodeSJIS<br /> 0xA2D5D209 sceCccIsValidJIS<br /> 0xA62E6E80 sceCccSJIStoUTF8<br /> 0xB4D1CBBF sceCccSetTable<br /> 0xB7D3C112 sceCccStrlenUTF8<br /> 0xB8476CF4 sceCccSetErrorCharUTF16<br /> 0xBD11EEF3 sceCccIsValidUnicode<br /> 0xBEB47224 sceCccSJIStoUTF16<br /> 0xC56949AD sceCccSetErrorCharSJIS<br /> 0xC6A8BEE2 sceCccDecodeUTF8<br /> 0xCC0A8BDA sceCccIsValidUTF16<br /> 0xD2B18485 sceCccIsValidUCS4<br /> 0xD9392CCB sceCccStrlenSJIS<br /> 0xE0CF8091 sceCccDecodeUTF16<br /> 0xF1B73D12 sceCccUTF16toSJIS<br /> 0xFB7846E2 sceCccJIStoUCS<br /> <br /> Library: sceCtrl<br /> 0x02BAAD91 sceCtrlGetSamplingCycle<br /> 0x0B588501 sceCtrlReadLatch<br /> 0x1F4011E6 sceCtrlSetSamplingMode<br /> 0x1F803938 sceCtrlReadBufferPositive<br /> 0x3A622550 sceCtrlPeekBufferPositive<br /> 0x60B81F86 sceCtrlReadBufferNegative<br /> 0x6841BE1A sceCtrlSetRapidFire<br /> 0x687660FA sceCtrlGetIdleCancelThreshold<br /> 0x6A2774F3 sceCtrlSetSamplingCycle<br /> 0xA68FD260 sceCtrlClearRapidFire<br /> 0xA7144800 sceCtrlSetIdleCancelThreshold<br /> 0xB1D0E5CD sceCtrlPeekLatch<br /> 0xC152080A sceCtrlPeekBufferNegative<br /> 0xDA6B76A1 sceCtrlGetSamplingMode<br /> <br /> Library: sceDeci2pForUser<br /> 0x46588220 sceKernelDeci2pOpen<br /> 0x5947AE64 sceKernelDeci2pClose<br /> 0x6E2E0BF3 sceKernelDeci2pWrite<br /> 0x9736CCD5 sceKernelDeci2pRead<br /> 0xA9542A53 sceKernelDeci2pRegisterCallback<br /> <br /> Library: sceDeflt<br /> 0x0BA3B9CC sceGzipGetCompressedData<br /> 0x106A3552 sceGzipGetName<br /> 0x1B5B82BC sceGzipIsValid<br /> 0x2EE39A64 sceZlibAdler32<br /> 0x44054E03 sceDeflateDecompress<br /> 0x6A548477 sceZlibGetCompressedData<br /> 0x6DBCF897 sceGzipDecompress<br /> 0x8AA82C92 sceGzipGetInfo<br /> 0xA9E4FB28 sceZlibDecompress<br /> 0xAFE01FD3 sceZlibGetInfo<br /> 0xB767F9A0 sceGzipGetComment<br /> 0xE46EB986 sceZlibIsValid<br /> <br /> Library: sceDisplay<br /> 0x0E20F177 sceDisplaySetMode<br /> 0x210EAB3A sceDisplayGetAccumulatedHcount<br /> 0x289D82FE sceDisplaySetFrameBuf<br /> 0x36CDFADE sceDisplayWaitVblank<br /> 0x40F1469C sceDisplayWaitVblankStartMulti<br /> 0x46F186C3 sceDisplayWaitVblankStartCB<br /> 0x4D4E10EC sceDisplayIsVblank<br /> 0x773DD3A3 sceDisplayGetCurrentHcount<br /> 0x77ED8B3A sceDisplayWaitVblankStartMultiCB<br /> 0x7ED59BC4 sceDisplaySetHoldMode<br /> 0x8EB9EC49 sceDisplayWaitVblankCB<br /> 0x984C27E7 sceDisplayWaitVblankStart<br /> 0x9C6EAAD7 sceDisplayGetVcount<br /> 0xB4F378FA sceDisplayIsForeground<br /> 0xDBA6C4C4 sceDisplayGetFramePerSec<br /> 0xDEA197D4 sceDisplayGetMode<br /> 0xEEDA2E54 sceDisplayGetFrameBuf<br /> <br /> Library: sceDmac<br /> 0x617F3FE6 sceDmacMemcpy<br /> <br /> Library: sceG729<br /> 0x13F1028A sceG729DecodeExit<br /> 0x17C11696 sceG729DecodeInitResource<br /> 0x3489D1F3 sceG729DecodeCore<br /> 0x55E14F75 sceG729DecodeInit<br /> 0x5A409D1B sceG729EncodeExit<br /> 0x74804D93 sceG729DecodeReset<br /> 0x890B86AE sceG729DecodeTermResource<br /> 0x8C87A2CA sceG729EncodeReset<br /> 0x94714D50 sceG729EncodeTermResource<br /> 0xAA1E5462 sceG729EncodeInitResource<br /> 0xCFCD367C sceG729EncodeInit<br /> 0xDB7259D5 sceG729EncodeCore<br /> <br /> Library: sceGameUpdate<br /> 0x596AD78C sceGameUpdateRun<br /> 0x5F5D98A6 sceGameUpdateAbort<br /> 0xBB4B68DE sceGameUpdateTerm<br /> 0xCBE69FB3 sceGameUpdateInit<br /> <br /> Library: sceGe_user<br /> 0x03444EB4 sceGeListSync<br /> 0x05DB22CE sceGeUnsetCallback<br /> 0x0BF608FB sceGeRestoreContext<br /> 0x1C0D95A6 sceGeListEnQueueHead<br /> 0x1F6752AD sceGeEdramGetSize<br /> 0x438A385A sceGeSaveContext<br /> 0x4C06E472 sceGeContinue<br /> 0x57C8945B sceGeGetMtx<br /> 0x5FB86AB0 sceGeListDeQueue<br /> 0xA4FC06A4 sceGeSetCallback<br /> 0xAB49E76A sceGeListEnQueue<br /> 0xB287BD61 sceGeDrawSync<br /> 0xB448EC0D sceGeBreak<br /> 0xB77905EA sceGeEdramSetAddrTranslation<br /> 0xDC93CFEF sceGeGetCmd<br /> 0xE0D68148 sceGeListUpdateStallAddr<br /> 0xE47E40E4 sceGeEdramGetAddr<br /> <br /> Library: sceHeap<br /> 0x0E875980 sceHeapReallocHeapMemory<br /> 0x1C84B58D sceHeapReallocHeapMemoryWithOption<br /> 0x2A0C2009 sceHeapGetMallinfo<br /> 0x2ABADC63 sceHeapFreeHeapMemory<br /> 0x2B7299D8 sceHeapAllocHeapMemoryWithOption<br /> 0x4929B40D sceHeapGetTotalFreeSize<br /> 0x7012BBDD sceHeapIsAllocatedHeapMemory<br /> 0x70210B73 sceHeapDeleteHeap<br /> 0x7DE281C2 sceHeapCreateHeap<br /> 0xA8E102A0 sceHeapAllocHeapMemory<br /> <br /> Library: sceHprm<br /> 0x208DB1BD sceHprmIsRemoteExist<br /> 0x219C58F1 sceHprmIsMicrophoneExist<br /> 0x2BCEC83E sceHprmPeekLatch<br /> 0x40D2F9F0 sceHprmReadLatch<br /> 0x444ED0B7 sceHprmUnregitserCallback<br /> 0x7E69EDA4 sceHprmIsHeadphoneExist<br /> 0xC7154136 sceHprmRegisterCallback<br /> 0xFD7DE6CD sceHprmUnregisterCallback<br /> <br /> Library: sceHttp<br /> 0x0282A3BD sceHttpGetContentLength<br /> 0x03D9526F sceHttpSetResolveRetry<br /> 0x06488A1C sceHttpSetCookieSendCallback<br /> 0x0809C831 sceHttpEnableRedirect<br /> 0x0B12ABFB sceHttpDisableCookie<br /> 0x0DAFA58F sceHttpEnableCookie<br /> 0x15540184 sceHttpDeleteHeader<br /> 0x1A0EBB69 sceHttpDisableRedirect<br /> 0x1CEDB9D4 sceHttpFlushCache<br /> 0x1F0FC3E3 sceHttpSetRecvTimeOut<br /> 0x2255551E sceHttpGetNetworkPspError<br /> 0x267618F4 sceHttpSetAuthInfoCallback<br /> 0x2A6C3296 sceHttpSetAuthInfoCB<br /> 0x2C3C82CF sceHttpFlushAuthList<br /> 0x3A67F306 sceHttpSetCookieRecvCallback<br /> 0x3EABA285 sceHttpAddExtraHeader<br /> 0x47347B50 sceHttpCreateRequest<br /> 0x47940436 sceHttpSetResolveTimeOut<br /> 0x4CC7D78F sceHttpGetStatusCode<br /> 0x5152773B sceHttpDeleteConnection<br /> 0x54E7DF75 sceHttpIsRequestInCache<br /> 0x569A1481 sceHttpsSetSslCallback<br /> 0x59E6D16F sceHttpEnableCache<br /> 0x68AB0F86 sceHttpsInitWithPath<br /> 0x76D1363B sceHttpSaveSystemCookie<br /> 0x7774BF4C sceHttpAddCookie<br /> 0x78A0D3EC sceHttpEnableKeepAlive<br /> 0x78B54C09 sceHttpEndCache<br /> 0x87797BDD sceHttpsLoadDefaultCert<br /> 0x8ACD1F73 sceHttpSetConnectTimeOut<br /> 0x8EEFD953 sceHttpCreateConnection<br /> 0x9668864C sceHttpSetRecvBlockSize<br /> 0x96F16D3E sceHttpGetCookie<br /> 0x9988172D sceHttpSetSendTimeOut<br /> 0x9AFC98B2 sceHttpSendRequestInCacheFirstMode<br /> 0x9B1F1F36 sceHttpCreateTemplate<br /> 0x9FC5F10D sceHttpEnableAuth<br /> 0xA4496DE5 sceHttpSetRedirectCallback<br /> 0xA5512E01 sceHttpDeleteRequest<br /> 0xA6800C34 sceHttpInitCache<br /> 0xAB1540D5 sceHttpsGetSslError<br /> 0xAB1ABE07 sceHttpInit<br /> 0xAE948FEE sceHttpDisableAuth<br /> 0xB0C34B1D sceHttpSetCacheContentLengthMaxSize<br /> 0xB3FAF831 sceHttpsDisableOption<br /> 0xB509B09E sceHttpCreateRequestWithURL<br /> 0xBAC31BF1 sceHttpsEnableOption<br /> 0xBB70706F sceHttpSendRequest<br /> 0xC10B6BD9 sceHttpAbortRequest<br /> 0xC6330B0D sceHttpChangeHttpVersion<br /> 0xC7EF2559 sceHttpDisableKeepAlive<br /> 0xC98CBBA7 sceHttpSetResHeaderMaxSize<br /> 0xCCBD167A sceHttpDisableCache<br /> 0xCDF8ECB9 sceHttpCreateConnectionWithURL<br /> 0xD081EC8F sceHttpGetNetworkErrno<br /> 0xD11DAB01 sceHttpsGetCaList<br /> 0xD1C8945E sceHttpEnd<br /> 0xD70D4847 sceHttpGetProxy<br /> 0xDB266CCF sceHttpGetAllHeader<br /> 0xE4D21302 sceHttpsInit<br /> 0xEDEEB999 sceHttpReadData<br /> 0xF0F46C62 sceHttpSetProxy<br /> 0xF1657B22 sceHttpLoadSystemCookie<br /> 0xF49934F6 sceHttpSetMallocFunction<br /> 0xF9D8EB63 sceHttpsEnd<br /> 0xFCF8C055 sceHttpDeleteTemplate<br /> <br /> Library: sceImpose<br /> 0x24FD7BCF sceImposeGetLanguageMode<br /> 0x36AA6E91 sceImposeSetLanguageMode<br /> 0x72189C48 sceImposeSetUMDPopup<br /> 0x8C943191 sceImposeGetBatteryIconStatus<br /> 0x8F6E3518 sceImposeGetBacklightOffTime<br /> 0x967F6D4A sceImposeSetBacklightOffTime<br /> 0xE0887BC8 sceImposeGetUMDPopup<br /> <br /> Library: sceJpeg<br /> 0x04B5AE02 sceJpegMJpegCsc<br /> 0x04B93CEF sceJpegDecodeMJpeg<br /> 0x227662D7 sceJpegDecodeMJpegYCbCrSuccessively<br /> 0x48B602B7 sceJpegDeleteMJpeg<br /> 0x64B6F978 sceJpegDecodeMJpegSuccessively<br /> 0x67F0ED84 sceJpegCsc<br /> 0x7D2F3D7F sceJpegFinishMJpeg<br /> 0x8F2BB012 sceJpegGetOutputInfo<br /> 0x91EED83C sceJpegDecodeMJpegYCbCr<br /> 0x9D47469C sceJpegCreateMJpeg<br /> 0xA06A75C4 sceJpegMJpegCscWithColorOption<br /> 0xAC9E70E6 sceJpegInitMJpeg<br /> <br /> Library: sceMd5<br /> 0x19884A15 sceMd5BlockInit<br /> 0x4876AFFF sceMd5BlockResult<br /> 0x98E31A9E sceMd5Digest<br /> 0xA30206C2 sceMd5BlockUpdate<br /> <br /> Library: sceMp3<br /> 0x07EC321A sceMp3ReserveMp3Handle<br /> 0x0840E808 sceMp3ResetPlayPositionByFrame<br /> 0x0DB149F4 sceMp3NotifyAddStreamData<br /> 0x1B839B83 sceMp3LowLevelInit<br /> 0x2A368661 sceMp3ResetPlayPosition<br /> 0x3548AEC8 sceMp3GetFrameNum<br /> 0x354D27EA sceMp3GetSumDecodedSample<br /> 0x35750070 sceMp3InitResource<br /> 0x3C2FA058 sceMp3TermResource<br /> 0x3CEF484F sceMp3SetLoopNum<br /> 0x44E07129 sceMp3Init<br /> 0x732B042A sceMp3EndEntry<br /> 0x7F696782 sceMp3GetMp3ChannelNum<br /> 0x87677E40 sceMp3GetBitRate<br /> 0x87C263D1 sceMp3GetMaxOutputSample<br /> 0x8AB81558 sceMp3StartEntry<br /> 0x8F450998 sceMp3GetSamplingRate<br /> 0xA703FE0F sceMp3GetInfoToAddStreamData<br /> 0xAE6D2027 sceMp3GetMPEGVersion<br /> 0xD021C0FB sceMp3Decode<br /> 0xD0A56296 sceMp3CheckStreamDataNeeded<br /> 0xD8F54A51 sceMp3GetLoopNum<br /> 0xE3EE2C81 sceMp3LowLevelDecode<br /> 0xF5478233 sceMp3ReleaseMp3Handle<br /> <br /> Library: sceMp4<br /> 0x01C76489 sceMp4TrackSampleBufDestruct<br /> 0x0F0187D2 sceMp4GetAvcTrackInfoData<br /> 0x10EE0D2C sceMp4AacDecodeInit<br /> 0x113E9E7B sceMp4GetNumberOfMetaData<br /> 0x131BDE57 sceMp4InitAu<br /> 0x17EAA97D sceMp4GetAvcAuWithoutSampleBuf<br /> 0x28CCB940 sceMp4GetTrackEditList<br /> 0x3069C2B5 sceMp4GetAvcParamSet<br /> 0x31BCD7E0 sceMp4TrackSampleBufPut<br /> 0x427BEF7F sceMp4GetTrackNumOfEditList<br /> 0x496E8A65 sceMp4TrackSampleBufFlush<br /> 0x4ED4AB1E sceMp4AacDecodeInitResource<br /> 0x4FB5B756 sceMp4GetMetaDataInfo<br /> 0x503A3CBA sceMp4GetAvcAu<br /> 0x532029B8 sceMp4GetAacAuWithoutSampleBuf<br /> 0x538C2057 sceMp4Delete<br /> 0x5601A6F0 sceMp4GetAacAu<br /> 0x5D72B333 sceMp4AacDecodeExit<br /> 0x5EB65F26 sceMp4GetNumberOfSpecificTrack<br /> 0x6710FE77 sceMp4UnregistTrack<br /> 0x68651CBC sceMp4Init<br /> 0x7443AF1D sceMp4GetMovieInfo<br /> 0x74A1CA3E sceMp4SearchSyncSampleNum<br /> 0x7663CB5C sceMp4AacDecode<br /> 0x7ADFD01C sceMp4RegistTrack<br /> 0x7D332394 sceMp4AacDecodeTermResource<br /> 0x8754ECB8 sceMp4TrackSampleBufAvailableSize<br /> 0x9042B257 sceMp4Finish<br /> 0x9C8F4FC1 sceMp4TrackSampleBufConstruct<br /> 0x9CE6F5CF sceMp4GetAacTrackInfoData<br /> 0xA6C724DC sceMp4GetSampleNum<br /> 0xB1221EE7 sceMp4Create<br /> 0xB4B400D1 sceMp4GetSampleNumWithTimeStamp<br /> 0xBCA9389C sceMp4TrackSampleBufQueryMemSize<br /> 0xD2AC9A7E sceMp4GetMetaData<br /> 0xD8250B75 sceMp4PutSampleNum<br /> 0xF7C51EC1 sceMp4GetSampleInfo<br /> <br /> Library: sceMpeg<br /> 0x01977054 sceMpegGetUserdataAu<br /> 0x0558B075 sceMpegAvcCopyYCbCr<br /> 0x0E3C2E9D sceMpegAvcDecode<br /> 0x0F6C18D7 sceMpegAvcDecodeDetail<br /> 0x11F95CF1 sceMpegGetAvcNalAu<br /> 0x13407F13 sceMpegRingbufferDestruct<br /> 0x167AFD9E sceMpegInitAu<br /> 0x211A057C sceMpegAvcQueryYCbCrSize<br /> 0x21FF80E4 sceMpegQueryStreamOffset<br /> 0x234586AE sceMpegChangeGetAvcAuMode<br /> 0x31BD0272 sceMpegAvcCsc<br /> 0x37295ED8 sceMpegRingbufferConstruct<br /> 0x3C37A7A6 sceMpegNextAvcRpAu<br /> 0x42560F23 sceMpegRegistStream<br /> 0x4571CC64 sceMpegAvcDecodeFlush<br /> 0x500F0429 sceMpegFlushStream<br /> 0x591A4AA2 sceMpegUnRegistStream<br /> 0x606A4649 sceMpegDelete<br /> 0x611E9E11 sceMpegQueryStreamSize<br /> 0x63B9536A sceMpegAvcResourceGetAvcDecTopAddr<br /> 0x67179B1B sceMpegAvcInitYCbCr<br /> 0x682A619B sceMpegInit<br /> 0x707B7629 sceMpegFlushAllStream<br /> 0x740FCCD1 sceMpegAvcDecodeStop<br /> 0x769BEBB6 sceMpegRingbufferQueryPackNum<br /> 0x800C44DF sceMpegAtracDecode<br /> 0x8160A2FE sceMpegAvcResourceFinish<br /> 0x874624D6 sceMpegFinish<br /> 0x8C1E027D sceMpegGetPcmAu<br /> 0x921FCCCF sceMpegGetAvcEsAu<br /> 0x9DCFB7EA sceMpegChangeGetAuMode<br /> 0xA11C7026 sceMpegAvcDecodeMode<br /> 0xA780CF7E sceMpegMallocAvcEsBuf<br /> 0xAB0E9556 sceMpegAvcDecodeDetailIndex<br /> 0xAF26BB01 sceMpegAvcResourceGetAvcEsBuf<br /> 0xB240A59E sceMpegRingbufferPut<br /> 0xB5F6DC87 sceMpegRingbufferAvailableSize<br /> 0xC02CF6B5 sceMpegQueryPcmEsSize<br /> 0xC132E22F sceMpegQueryMemSize<br /> 0xC45C99CC sceMpegQueryUserdataEsSize<br /> 0xCEB870B1 sceMpegFreeAvcEsBuf<br /> 0xD7A29F46 sceMpegRingbufferQueryMemSize<br /> 0xD8C5F121 sceMpegCreate<br /> 0xE1CE83A7 sceMpegGetAtracAu<br /> 0xF0EB1125 sceMpegAvcDecodeYCbCr<br /> 0xF2930C9C sceMpegAvcDecodeStopYCbCr<br /> 0xF5E7EA31 sceMpegAvcConvertToYuv420<br /> 0xF8DCB679 sceMpegQueryAtracEsSize<br /> 0xFCBDB5AD sceMpegAvcResourceInit<br /> 0xFE246728 sceMpegGetAvcAu<br /> <br /> Library: sceMt19937<br /> 0xECF5D379 sceMt19937Init<br /> 0xF40C98E6 sceMt19937UInt<br /> <br /> Library: sceNet<br /> 0x0BF0A3AE sceNetGetLocalEtherAddr<br /> 0x281928A9 sceNetTerm<br /> 0x39AF39A6 sceNetInit<br /> 0x50647530 sceNetFreeThreadinfo<br /> 0x89360950 sceNetEtherNtostr<br /> 0xAD6844C6 sceNetThreadAbort<br /> 0xCC393E48 sceNetGetMallocStat<br /> 0xD27961C9 sceNetEtherStrton<br /> <br /> Library: sceNetAdhoc<br /> 0x0B2228E9 sceNetAdhocGameModeDeleteReplica<br /> 0x157E6225 sceNetAdhocPtpClose<br /> 0x3278AB0C sceNetAdhocGameModeCreateReplica<br /> 0x4D2CE199 sceNetAdhocGetSocketAlert<br /> 0x4DA4C788 sceNetAdhocPtpSend<br /> 0x6F92741B sceNetAdhocPdpCreate<br /> 0x73BFD52D sceNetAdhocSetSocketAlert<br /> 0x7A662D6B sceNetAdhocPollSocket<br /> 0x7F27BB5E sceNetAdhocPdpDelete<br /> 0x7F75C338 sceNetAdhocGameModeCreateMaster<br /> 0x877F6D66 sceNetAdhocPtpOpen<br /> 0x8BEA2B3E sceNetAdhocPtpRecv<br /> 0x98C204C8 sceNetAdhocGameModeUpdateMaster<br /> 0x9AC2EEAC sceNetAdhocPtpFlush<br /> 0x9DF81198 sceNetAdhocPtpAccept<br /> 0xA0229362 sceNetAdhocGameModeDeleteMaster<br /> 0xA62C6F57 sceNetAdhocTerm<br /> 0xABED3790 sceNetAdhocPdpSend<br /> 0xB9685118 sceNetAdhocGetPtpStat<br /> 0xC7C1FC57 sceNetAdhocGetPdpStat<br /> 0xDFE53E03 sceNetAdhocPdpRecv<br /> 0xE08BDAC1 sceNetAdhocPtpListen<br /> 0xE1D621D7 sceNetAdhocInit<br /> 0xFA324B4E sceNetAdhocGameModeUpdateReplica<br /> 0xFC6FC07B sceNetAdhocPtpConnect<br /> <br /> Library: sceNetAdhocDiscover<br /> 0x52DE1B97 sceNetAdhocDiscoverUpdate<br /> 0x941B3877 sceNetAdhocDiscoverInitStart<br /> 0x944DDBC6 sceNetAdhocDiscoverGetStatus<br /> 0xA2246614 sceNetAdhocDiscoverTerm<br /> 0xA423A21B sceNetAdhocDiscoverRequestSuspend<br /> 0xF7D13214 sceNetAdhocDiscoverStop<br /> <br /> Library: sceNetAdhocMatching<br /> 0x2A2A1E07 sceNetAdhocMatchingInit<br /> 0x32B156B3 sceNetAdhocMatchingStop<br /> 0x40F8F435 sceNetAdhocMatchingGetPoolMaxAlloc<br /> 0x5E3D4B79 sceNetAdhocMatchingSelectTarget<br /> 0x7945ECDA sceNetAdhocMatchingTerm<br /> 0x8F58BEDF sceNetAdhocMatchingCancelTargetWithOpt<br /> 0x93EF3843 sceNetAdhocMatchingStart<br /> 0x9C5CFB7D sceNetAdhocMatchingGetPoolStat<br /> 0xB58E61B7 sceNetAdhocMatchingSetHelloOpt<br /> 0xB5D96C2A sceNetAdhocMatchingGetHelloOpt<br /> 0xC58BCD9E sceNetAdhocMatchingGetMembers<br /> 0xCA5EDA6F sceNetAdhocMatchingCreate<br /> 0xEA3C6108 sceNetAdhocMatchingCancelTarget<br /> 0xEC19337D sceNetAdhocMatchingAbortSendData<br /> 0xF16EAF4F sceNetAdhocMatchingDelete<br /> 0xF79472D7 sceNetAdhocMatchingSendData<br /> <br /> Library: sceNetAdhocctl<br /> 0x08FFF7A0 sceNetAdhocctlScan<br /> 0x0AD043ED sceNetAdhocctlConnect<br /> 0x1FF89745 sceNetAdhocctlJoinEnterGameMode<br /> 0x20B317A0 sceNetAdhocctlAddHandler<br /> 0x34401D65 sceNetAdhocctlDisconnect<br /> 0x362CBE8F sceNetAdhocctlGetAdhocId<br /> 0x5A014CE0 sceNetAdhocctlGetGameModeInfo<br /> 0x5E7F79C9 sceNetAdhocctlJoin<br /> 0x6402490B sceNetAdhocctlDelHandler<br /> 0x75ECD386 sceNetAdhocctlGetState<br /> 0x81AEE1BE sceNetAdhocctlGetScanInfo<br /> 0x8916C003 sceNetAdhocctlGetNameByAddr<br /> 0x8DB83FDC sceNetAdhocctlGetPeerInfo<br /> 0x99560ABE sceNetAdhocctlGetAddrByName<br /> 0x9D689E13 sceNetAdhocctlTerm<br /> 0xA5C055CE sceNetAdhocctlCreateEnterGameMode<br /> 0xB0B80E80 sceNetAdhocctlCreateEnterGameModeMin<br /> 0xCF8E084D sceNetAdhocctlExitGameMode<br /> 0xDED9D28E sceNetAdhocctlGetParameter<br /> 0xE162CB14 sceNetAdhocctlGetPeerList<br /> 0xE26F226E sceNetAdhocctlInit<br /> 0xEC0635C1 sceNetAdhocctlCreate<br /> <br /> Library: sceNetApDialogDummy<br /> 0x3811281E sceNetApDialogDummyConnect<br /> 0xBB73FF67 sceNetApDialogDummyInit<br /> 0xCA9BE5BF sceNetApDialogDummyGetState<br /> 0xF213BE65 sceNetApDialogDummyTerm<br /> <br /> Library: sceNetApctl<br /> 0x24FE91A1 sceNetApctlDisconnect<br /> 0x2935C45B sceNetApctlGetBSSDescEntry2<br /> 0x2BEFDF23 sceNetApctlGetInfo<br /> 0x5963991B sceNetApctlDelHandler<br /> 0x5DEAC81B sceNetApctlGetState<br /> 0x8ABADD51 sceNetApctlAddHandler<br /> 0xA3E77E13 sceNetApctlScanSSID2<br /> 0xB3EDD0EC sceNetApctlTerm<br /> 0xCFB957C6 sceNetApctlConnect<br /> 0xE2F91F9B sceNetApctlInit<br /> 0xF25A5006 sceNetApctlGetBSSDescIDList2<br /> <br /> Library: sceNetIfhandle<br /> 0xC80181A2 sceNetGetDropRate<br /> 0xFD8585E1 sceNetSetDropRate<br /> <br /> Library: sceNetInet<br /> 0x05038FC7 sceNetInetSendto<br /> 0x162E6FD5 sceNetInetGetsockname<br /> 0x17943399 sceNetInetInit<br /> 0x1A33F9AE sceNetInetBind<br /> 0x1BDF5D13 sceNetInetInetAton<br /> 0x2FE71FE7 sceNetInetSetsockopt<br /> 0x39B0C7D3 sceNetInetGetUdpcbstat<br /> 0x410B34AA sceNetInetConnect<br /> 0x4A114C7C sceNetInetGetsockopt<br /> 0x4CFE4E56 sceNetInetShutdown<br /> 0x5BE8D595 sceNetInetSelect<br /> 0x774E36F4 sceNetInetSendmsg<br /> 0x7AA671BC sceNetInetSend<br /> 0x805502DD sceNetInetCloseWithRST<br /> 0x80A21ABD sceNetInetSocketAbort<br /> 0x8B7B220F sceNetInetSocket<br /> 0x8CA3A97E sceNetInetGetPspError<br /> 0x8D7284EA sceNetInetClose<br /> 0xA9ED66B9 sceNetInetTerm<br /> 0xB3888AD4 sceNetInetGetTcpcbstat<br /> 0xB75D5B0A sceNetInetInetAddr<br /> 0xC91142E4 sceNetInetRecvfrom<br /> 0xCDA85C99 sceNetInetRecv<br /> 0xD0792666 sceNetInetInetNtop<br /> 0xD10A1A7A sceNetInetListen<br /> 0xDB094E1B sceNetInetAccept<br /> 0xE247B6D6 sceNetInetGetpeername<br /> 0xE30B8C19 sceNetInetInetPton<br /> 0xEECE61D2 sceNetInetRecvmsg<br /> 0xFAABB1DD sceNetInetPoll<br /> 0xFBABE411 sceNetInetGetErrno<br /> <br /> Library: sceNetResolver<br /> 0x12748EB9 sceNetResolverWaitAsync<br /> 0x14C17EF9 sceNetResolverStartNtoAAsync<br /> 0x224C5F44 sceNetResolverStartNtoA<br /> 0x244172AF sceNetResolverCreate<br /> 0x4EE99358 sceNetResolverPollAsync<br /> 0x6138194A sceNetResolverTerm<br /> 0x629E2FB7 sceNetResolverStartAtoN<br /> 0x808F6063 sceNetResolverStop<br /> 0x94523E09 sceNetResolverDelete<br /> 0xAAC09184 sceNetResolverStartAtoNAsync<br /> 0xF3370E61 sceNetResolverInit<br /> <br /> Library: sceNetUpnp<br /> 0x27045362 sceNetUpnpGetNatInfo<br /> 0x3432B2E5 sceNetUpnpStart<br /> 0x3E32ED9E sceNetUpnpStop<br /> 0x540491EF sceNetUpnpTerm<br /> 0xE24220B5 sceNetUpnpInit<br /> <br /> Library: sceNp<br /> 0x1D60AE4B sceNpGetChatRestrictionFlag<br /> 0x37E1E274 sceNpTerm<br /> 0x4B5C71C8 sceNpGetOnlineId<br /> 0x633B5F71 sceNpGetNpId<br /> 0x7E0864DF sceNpGetUserProfile<br /> 0x857B47D3 sceNpInit<br /> 0xA0BE3C4B sceNpGetAccountRegion<br /> 0xBB069A87 sceNpGetContentRatingFlag<br /> 0xCDCC21D3 sceNpGetMyLanguages<br /> <br /> Library: sceNpAuth<br /> 0x3F1C1F70 sceNpAuthGetTicket<br /> 0x4EC1F667 sceNpAuthTerm<br /> 0x5A3CB57A sceNpAuthGetTicketParam<br /> 0x6900F084 sceNpAuthGetEntitlementById<br /> 0x72BB0467 sceNpAuthDestroyRequest<br /> 0x75FB0AE3 sceNpAuthGetEntitlementIdList<br /> 0xA1DE86F8 sceNpAuthInit<br /> 0xCD86A656 sceNpAuthCreateStartRequest<br /> 0xD99455DD sceNpAuthAbortRequest<br /> 0xF4531ADC sceNpAuthGetMemoryStat<br /> <br /> Library: sceNpCommerce2<br /> 0x005B5F20 sceNpCommerce2GetProductInfoStart<br /> 0x05E7AFBC sceNpCommerce2GetGameProductInfoFromContentInfo<br /> 0x0E9956E3 sceNpCommerce2Init<br /> 0x1888A9FE sceNpCommerce2DestroyReq<br /> 0x1C85ED88 sceNpCommerce2GetPrice<br /> 0x1C952DCB sceNpCommerce2GetGameProductInfo<br /> 0x2B25F6E9 sceNpCommerce2CreateSessionStart<br /> 0x3371D5F1 sceNpCommerce2GetProductInfoCreateReq<br /> 0x490210E0 sceNpCommerce2DestroyGetProductInfoResult<br /> 0x4ECD4503 sceNpCommerce2CreateSessionCreateReq<br /> 0x54FE8871 sceNpCommerce2GetCategoryInfo<br /> 0x57C8BD4E sceNpCommerce2GetCategoryInfoFromContentInfo<br /> 0x590A3229 sceNpCommerce2GetSessionInfo<br /> 0x5D8C2D99 sceNpCommerce2GetCategoryContentsCreateReq<br /> 0x6592FE83 sceNpCommerce2GetContentRatingDescriptor<br /> 0x6A2AE572 sceNpCommerce2GetContentRatingInfoFromGameProductInfo<br /> 0x6F1FE37F sceNpCommerce2CreateCtx<br /> 0x80A7AFDB sceNpCommerce2GetCategoryContentsGetResult<br /> 0xA5A34EA4 sceNpCommerce2Term<br /> 0xAA4A1E3D sceNpCommerce2GetProductInfoGetResult<br /> 0xB0D7AA90 sceNpCommerce2GetContentInfo<br /> 0xBC61FFC8 sceNpCommerce2CreateSessionGetResult<br /> 0xC5505A19 sceNpCommerce2GetContentRatingInfoFromCategoryInfo<br /> 0xC7F32242 sceNpCommerce2AbortReq<br /> 0xCEAB1829 sceNpCommerce2InitGetCategoryContentsResult<br /> 0xDD6758FA sceNpCommerce2GetCategoryContentsStart<br /> 0xED85ACCE sceNpCommerce2DestroyGetCategoryContentsResult<br /> 0xF2278B90 sceNpCommerce2GetGameSkuInfoFromGameProductInfo<br /> 0xF297AB9C sceNpCommerce2DestroyCtx<br /> 0xFC30C19E sceNpCommerce2InitGetProductInfoResult<br /> <br /> Library: sceNpMatching2<br /> 0x12C5A111 sceNpMatching2GetRoomDataExternalList<br /> 0x1421514B sceNpMatching2SetDefaultRoomEventOptParam<br /> 0x190FF903 sceNpMatching2ContextStart<br /> 0x22F38DAF sceNpMatching2GetMemoryStat<br /> 0x2B3892FC sceNpMatching2ContextStop<br /> 0x2E61F6E1 sceNpMatching2Init<br /> 0x3892E9A6 sceNpMatching2SignalingGetConnectionInfo<br /> 0x3DE70241 sceNpMatching2DestroyContext<br /> 0x495E97BD sceNpMatching2GrantRoomOwner<br /> 0x4EE3A8EC sceNpMatching2GetServerInfo<br /> 0x5030CC53 sceNpMatching2CreateContext<br /> 0x55F7837F sceNpMatching2SendRoomChatMessage<br /> 0x5C7DB6A4 sceNpMatching2GetRoomMemberDataInternalList<br /> 0x631682CC sceNpMatching2SetDefaultRequestOptParam<br /> 0x6D6D0C75 sceNpMatching2SignalingGetConnectionStatus<br /> 0x7BBFC427 sceNpMatching2JoinRoom<br /> 0x7D1D5F5E sceNpMatching2SetUserInfo<br /> 0x7DAA8A90 sceNpMatching2SetRoomMemberDataInternal<br /> 0x80F61558 sceNpMatching2GetRoomMemberIdListLocal<br /> 0x81C13E6D sceNpMatching2SearchRoom<br /> 0x8BF37D8C sceNpMatching2Term<br /> 0x8CD109E7 sceNpMatching2SignalingGetPeerNetInfo<br /> 0x9462C05A sceNpMatching2SignalingCancelPeerNetInfo<br /> 0x97529ECC sceNpMatching2KickoutRoomMember<br /> 0x9A67F5D0 sceNpMatching2SetSignalingOptParam<br /> 0xA3C298D1 sceNpMatching2RegisterSignalingCallback<br /> 0xA53E7C69 sceNpMatching2GetWorldInfoList<br /> 0xA5775DBF sceNpMatching2GetRoomMemberDataInternal<br /> 0xAAD0946A sceNpMatching2CreateJoinRoom<br /> 0xC7E72EC5 sceNpMatching2GetSignalingOptParamLocal<br /> 0xC870535A sceNpMatching2LeaveRoom<br /> 0xC8FC5D41 sceNpMatching2GetUserInfoList<br /> 0xD13491AB sceNpMatching2SetDefaultRoomMessageOptParam<br /> 0xD7D4AEB2 sceNpMatching2SetRoomDataExternal<br /> 0xDFEDB642 sceNpMatching2SignalingGetPeerNetInfoResult<br /> 0xE313E586 sceNpMatching2GetRoomDataInternal<br /> 0xE6C93DBD sceNpMatching2SetRoomDataInternal<br /> 0xEF683F4F sceNpMatching2GetRoomDataInternalLocal<br /> 0xF22C7ADC sceNpMatching2GetRoomMemberDataInternalLocal<br /> 0xF47342FC sceNpMatching2GetServerIdListLocal<br /> 0xF739BE92 sceNpMatching2GetRoomPasswordLocal<br /> 0xF940D9AD sceNpMatching2SendRoomMessage<br /> 0xFADBA9DB sceNpMatching2AbortRequest<br /> 0xFBF494C0 sceNpMatching2GetRoomMemberDataExternalList<br /> 0xFF32EA05 sceNpMatching2SignalingGetLocalNetInfo<br /> <br /> Library: sceNpService<br /> 0x00ACFAC3 sceNpServiceTerm<br /> 0x0F8F5821 sceNpServiceInit<br /> 0x168B8DE5 sceNpManagerSigninUpdateGetStatus<br /> 0x174D0D24 sceNpRosterDeleteBlockListEntry<br /> 0x1DA3E950 sceNpManagerSigninUpdateInitStart<br /> 0x250488F9 sceNpServiceGetMemoryStat<br /> 0x268C009D sceNpManagerSigninUpdateAbort<br /> 0x389A0D44 sceNpLookupNpId<br /> 0x4B4E4E71 sceNpLookupAbortTransaction<br /> 0x4E851B10 sceNpRosterGetFriendListEntry<br /> 0x506C318D sceNpRosterGetBlockListEntry<br /> 0x5494274B sceNpLookupCreateTransactionCtx<br /> 0x58251346 sceNpRosterGetFriendListEntryCount<br /> 0x5F5E32AF sceNpRosterAbort<br /> 0x66C64821 sceNpRosterDeleteRequest<br /> 0x72A1CE0D sceNpRosterDeleteFriendListEntry<br /> 0x75DACB57 sceNpRosterAcceptFriendListEntry<br /> 0x78802D5F sceNpManagerSigninUpdateShutdownStart<br /> 0x788F2B5E sceNpRosterAddFriendListEntry<br /> 0x90E4DB6A sceNpLookupUserProfile<br /> 0xA01443AA sceNpRosterGetBlockListEntryCount<br /> 0xA164CACC sceNpRosterGetFriendListMessage<br /> 0xA670D3A3 sceNpLookupDestroyTransactionCtx<br /> 0xBE22EEA3 sceNpRosterCreateRequest<br /> 0xC76F55ED sceNpLookupTitleSmallStorage<br /> 0xFC0BC8DB sceNpRosterAddBlockListEntry<br /> <br /> Library: sceOpenPSID<br /> 0xC69BEBCE sceOpenPSIDGetOpenPSID<br /> <br /> Library: sceP3da<br /> 0x013016F3 sceP3daBridgeCore<br /> 0x374500A5 sceP3daBridgeInit<br /> 0x43F756A2 sceP3daBridgeExit<br /> <br /> Library: sceParseHttp<br /> 0x8077A433 sceParseHttpStatusLine<br /> 0xAD7BFDEF sceParseHttpResponseHeader<br /> <br /> Library: sceParseUri<br /> 0x062BB07E sceUriUnescape<br /> 0x49E950EC sceUriEscape<br /> 0x568518C9 sceUriParse<br /> 0x7EE318AF sceUriBuild<br /> 0x8885A782 sceUriSweepPath<br /> 0x8AA55D17 sceUriMerge<br /> <br /> Library: scePower<br /> 0x04B7766E scePowerRegisterCallback<br /> 0x0AFD0D8B scePowerIsBatteryExist<br /> 0x1E490401 scePowerIsBatteryCharging<br /> 0x2085D15D scePowerGetBatteryLifePercent<br /> 0x34F9C463 scePowerGetPllClockFrequencyInt<br /> 0x469989AD scePowerSetClockFrequency<br /> 0x478FE6F5 scePowerGetBusClockFrequency<br /> 0x843FBF43 scePowerSetCpuClockFrequency<br /> 0x87440F5E scePowerIsPowerOnline<br /> 0x8EFB3FA2 scePowerGetBatteryLifeTime<br /> 0x9BADB3EB scePowerGetBusClockFrequencyFloat<br /> 0xA85880D0 scePowerCheckWlanCoexistenceClock<br /> 0xAC32C9CC scePowerRequestSuspend<br /> 0xB1A52C83 scePowerGetCpuClockFrequencyFloat<br /> 0xB8D7B3FB scePowerSetBusClockFrequency<br /> 0xBD681969 scePowerGetBusClockFrequencyInt<br /> 0xD3075926 scePowerIsLowBattery<br /> 0xDB9D28DD scePowerUnregitserCallback<br /> 0xDFA8BAF8 scePowerUnregisterCallback<br /> 0xEA382A27 scePowerGetPllClockFrequencyFloat<br /> 0xEBD177D6 scePowerSetClockFrequency350<br /> 0xEFD3C963 scePowerTick<br /> 0xFDB5BFE9 scePowerGetCpuClockFrequencyInt<br /> 0xFEE03A2F scePowerGetCpuClockFrequency<br /> <br /> Library: scePsmf<br /> 0x0BA514E5 scePsmfGetVideoInfo<br /> 0x0C120E1D scePsmfSpecifyStreamWithStreamTypeNumber<br /> 0x1E6D9013 scePsmfSpecifyStreamWithStreamType<br /> 0x2673646B scePsmfVerifyPsmf<br /> 0x28240568 scePsmfGetCurrentStreamNumber<br /> 0x40326D8F scePsmfCheckPsmfMark<br /> 0x43AC7DBB scePsmfGetPsmfMark<br /> 0x4BC9BDE0 scePsmfSpecifyStream<br /> 0x4E624A34 scePsmfGetEPWithId<br /> 0x5B70FCC1 scePsmfQueryStreamOffset<br /> 0x5F457515 scePsmfGetEPidWithTimestamp<br /> 0x68D42328 scePsmfGetNumberOfSpecificStreams<br /> 0x7491C438 scePsmfGetNumberOfEPentries<br /> 0x76D3AEBA scePsmfGetPresentationStartTime<br /> 0x7C0E7AC3 scePsmfGetEPWithTimestamp<br /> 0x8D843AB6 scePsmfGetPsmfMarkIdWithTimestamp<br /> 0x9553CC91 scePsmfQueryStreamSize<br /> 0x971A3A90 scePsmfCheckEPmap<br /> 0xA5EBFE81 scePsmfGetStreamSize<br /> 0xA83F7113 scePsmfGetAudioInfo<br /> 0xB78EB9E9 scePsmfGetHeaderSize<br /> 0xBD8AE0D8 scePsmfGetPresentationEndTime<br /> 0xC22C8327 scePsmfSetPsmf<br /> 0xC7DB3A5B scePsmfGetCurrentStreamType<br /> 0xD1DCF0DB scePsmfGetPsmfMarkWithTimestamp<br /> 0xDE78E9FC scePsmfGetNumberOfPsmfMarks<br /> 0xE1283895 scePsmfGetPsmfVersion<br /> 0xEAED89CD scePsmfGetNumberOfStreams<br /> <br /> Library: scePspNpDrm_user<br /> 0x08D98894 sceNpDrmEdataSetupKey<br /> 0x219EF5CC sceNpDrmEdataGetDataSize<br /> 0x275987D1 sceNpDrmRenameCheck<br /> 0x9B745542 sceNpDrmClearLicenseeKey<br /> 0xA1336091 sceNpDrmSetLicenseeKey<br /> <br /> Library: scePuny<br /> 0x8C2DBD4E scePunyDecodeUCS4<br /> 0x8D51155B scePunyEncodeUCS2<br /> 0xAD29F139 scePunyEncodeUCS4<br /> 0xDD0ED02A scePunyDecodeUCS2<br /> <br /> Library: sceQpCode<br /> 0x2B235B5A sceQPrintableLineDecoder<br /> 0x69752447 sceQPrintableEncoder<br /> <br /> Library: sceReg<br /> 0x0CAE832B sceRegCloseCategory<br /> 0x0D69BF40 sceRegFlushCategory<br /> 0x17768E14 sceRegSetKeyValue<br /> 0x1D8A762E sceRegOpenCategory<br /> 0x28A8E98A sceRegGetKeyValue<br /> 0x2C0DB9DD sceRegGetKeysNum<br /> 0x2D211135 sceRegGetKeys<br /> 0x30BE0259 sceRegGetKeyValueByName<br /> 0x3615BC87 sceRegRemoveKey<br /> 0x39461B4D sceRegFlushRegistry<br /> 0x4CA16893 sceRegRemoveCategory<br /> 0x57641A81 sceRegCreateKey<br /> 0x835ECE6F sceRegGetCategoryListAtRoot<br /> 0x92E41280 sceRegOpenRegistry<br /> 0x9B25EDF1 sceRegExit<br /> 0xBE8C1263 sceRegGetCategoryNumAtRoot<br /> 0xC5768D02 sceRegGetKeyInfoByName<br /> 0xD4475AA8 sceRegGetKeyInfo<br /> 0xDEDA92BF sceRegRemoveRegistry<br /> 0xFA8A5739 sceRegCloseRegistry<br /> <br /> Library: sceRtc<br /> 0x011F03C1 sceRtcGetAccumulativeTime<br /> 0x0498FB3C sceRtcFormatRFC3339<br /> 0x05EF322C sceRtcGetDaysInMonth<br /> 0x1909C99B sceRtcSetTime64_t<br /> 0x203CEB0D sceRtcGetLastReincarnatedTime<br /> 0x26D25A5D sceRtcTickAddMicroseconds<br /> 0x26D7A24A sceRtcTickAddHours<br /> 0x27C4594C sceRtcGetTime_t<br /> 0x27F98543 sceRtcFormatRFC3339LocalTime<br /> 0x28E1E988 sceRtcParseRFC3339<br /> 0x34885E0D sceRtcConvertUtcToLocalTime<br /> 0x36075567 sceRtcGetDosTime<br /> 0x3A807CC8 sceRtcSetTime_t<br /> 0x3F7AD767 sceRtcGetCurrentTick<br /> 0x42307A17 sceRtcIsLeapYear<br /> 0x42842C77 sceRtcTickAddYears<br /> 0x44F45E05 sceRtcTickAddTicks<br /> 0x4B1B5E82 sceRtcCheckValid<br /> 0x4CFA57B0 sceRtcGetCurrentClock<br /> 0x57726BC1 sceRtcGetDayOfWeek<br /> 0x62685E98 sceRtcGetLastAdjustedTime<br /> 0x6A676D2D sceRtcUnregisterCallback<br /> 0x6FF40ACC sceRtcGetTick<br /> 0x779242A2 sceRtcConvertLocalTimeToUTC<br /> 0x7ACE4C04 sceRtcSetWin32FileTime<br /> 0x7D1FBED3 sceRtcSetAlarmTick<br /> 0x7DE6711B sceRtcFormatRFC2822LocalTime<br /> 0x7ED29E40 sceRtcSetTick<br /> 0x81FCDA34 sceRtcIsAlarmed<br /> 0x9ED0AE87 sceRtcCompareTick<br /> 0xC2DDBEB5 sceRtcGetAlarmTick<br /> 0xC41C2853 sceRtcGetTickResolution<br /> 0xC663B3B9 sceRtcFormatRFC2822<br /> 0xCF3A2CA8 sceRtcTickAddWeeks<br /> 0xCF561893 sceRtcGetWin32FileTime<br /> 0xDBF74F1B sceRtcTickAddMonths<br /> 0xDFBC5F16 sceRtcParseDateTime<br /> 0xE1C93E47 sceRtcGetTime64_t<br /> 0xE51B4B7A sceRtcTickAddDays<br /> 0xE6605BCA sceRtcTickAddMinutes<br /> 0xE7C27D1B sceRtcGetCurrentClockLocalTime<br /> 0xF006F264 sceRtcSetDosTime<br /> 0xF2A4AFE5 sceRtcTickAddSeconds<br /> 0xF5FCC995 sceRtcGetCurrentNetworkTick<br /> 0xFB3B18CD sceRtcRegisterCallback<br /> <br /> Library: sceSasCore<br /> 0x019B25EB sceSasSetADSR<br /> 0x07F58C24 sceSasGetAllEnvelopeHeights<br /> 0x267A6DD2 sceSasRevParam<br /> 0x2C8E6AB3 sceSasGetPauseFlag<br /> 0x33D4AB37 sceSasRevType<br /> 0x42778A9F sceSasInit<br /> 0x440CA7D8 sceSasSetVolume<br /> 0x4AA9EAD6 sceSasSetVoiceATRAC3<br /> 0x50A14DFC sceSasCoreWithMix<br /> 0x5F9529F6 sceSasSetSL<br /> 0x68A46B95 sceSasGetEndFlag<br /> 0x7497EA85 sceSasConcatenateATRAC3<br /> 0x74AE582A sceSasGetEnvelopeHeight<br /> 0x76F01ACA sceSasSetKeyOn<br /> 0x787D04D5 sceSasSetPause<br /> 0x99944089 sceSasSetVoice<br /> 0x9EC3676A sceSasSetADSRmode<br /> 0xA0CF2FA4 sceSasSetKeyOff<br /> 0xA232CBE6 sceSasSetTrianglarWave<br /> 0xA3589D81 sceSasCore<br /> 0xAD84D37F sceSasSetPitch<br /> 0xB7660A23 sceSasSetNoise<br /> 0xBD11B7C2 sceSasGetGrain<br /> 0xCBCD4F79 sceSasSetSimpleADSR<br /> 0xD1E0A01E sceSasSetGrain<br /> 0xD5A229C9 sceSasRevEVOL<br /> 0xD5EBBBCD sceSasSetSteepWave<br /> 0xE175EF66 sceSasGetOutputmode<br /> 0xE1CD9561 sceSasSetVoicePCM<br /> 0xE855BF76 sceSasSetOutputmode<br /> 0xF6107F00 sceSasUnsetATRAC3<br /> 0xF983B186 sceSasRevVON<br /> <br /> Library: sceSfmt11213<br /> 0x16B09B57 sceSfmt11213InitByArray<br /> 0x25238DDF sceSfmt11213GenRand64<br /> 0x7FCCAD30 sceSfmt11213FillArray32<br /> 0x8F52D18C sceSfmt11213GenRand32<br /> 0x9D45E91D sceSfmt11213InitGenRand<br /> 0xE9A29DEC sceSfmt11213FillArray64<br /> <br /> Library: sceSfmt1279<br /> 0x1F2CC3CC sceSfmt1279InitByArray<br /> 0x378C276E sceSfmt1279FillArray64<br /> 0x64117FA3 sceSfmt1279InitGenRand<br /> 0x7B9E67AB sceSfmt1279GenRand64<br /> 0xEDF8B8C3 sceSfmt1279FillArray32<br /> 0xFE9D3FEF sceSfmt1279GenRand32<br /> <br /> Library: sceSfmt132049<br /> 0x0270B0EF sceSfmt132049FillArray32<br /> 0x116EDAFB sceSfmt132049GenRand32<br /> 0xC90266E0 sceSfmt132049InitByArray<br /> 0xE0F9E926 sceSfmt132049InitGenRand<br /> 0xE4D856E3 sceSfmt132049GenRand64<br /> 0xE90C5D00 sceSfmt132049FillArray64<br /> <br /> Library: sceSfmt19937<br /> 0x161ACEB2 sceSfmt19937InitGenRand<br /> 0xB33FE749 sceSfmt19937GenRand32<br /> 0xD5AC9F99 sceSfmt19937GenRand64<br /> 0xDB025BFA sceSfmt19937FillArray32<br /> 0xDD5A5D6C sceSfmt19937InitByArray<br /> 0xEE2938C4 sceSfmt19937FillArray64<br /> <br /> Library: sceSfmt216091<br /> 0x353660FC sceSfmt216091InitByArray<br /> 0x3A0F900B sceSfmt216091FillArray32<br /> 0x5E2F99CE sceSfmt216091GenRand64<br /> 0xBFA431A4 sceSfmt216091FillArray64<br /> 0xC0E3B92F sceSfmt216091InitGenRand<br /> 0xC81A470C sceSfmt216091GenRand32<br /> <br /> Library: sceSfmt2281<br /> 0x8454D15E sceSfmt2281FillArray64<br /> 0x868C53AB sceSfmt2281InitGenRand<br /> 0x9D9120D6 sceSfmt2281FillArray32<br /> 0xBBCDB82B sceSfmt2281GenRand64<br /> 0xDEE53F2E sceSfmt2281GenRand32<br /> 0xF38FF54A sceSfmt2281InitByArray<br /> <br /> Library: sceSfmt4253<br /> 0x2AF9B5D3 sceSfmt4253GenRand64<br /> 0x61B05CA7 sceSfmt4253FillArray32<br /> 0x79D2E875 sceSfmt4253FillArray64<br /> 0x7F56FA88 sceSfmt4253InitGenRand<br /> 0xFA39B7A4 sceSfmt4253InitByArray<br /> 0xFBFCDAFD sceSfmt4253GenRand32<br /> <br /> Library: sceSfmt44497<br /> 0x31B1F41F sceSfmt44497GenRand32<br /> 0x4525C4FD sceSfmt44497GenRand64<br /> 0xA4168CB6 sceSfmt44497InitGenRand<br /> 0xB56C5830 sceSfmt44497InitByArray<br /> 0xCA9560E2 sceSfmt44497FillArray64<br /> 0xDCD09960 sceSfmt44497FillArray32<br /> <br /> Library: sceSfmt607<br /> 0x1CCCC776 sceSfmt607GenRand64<br /> 0x4ED95A1E sceSfmt607FillArray64<br /> 0x9480A1E6 sceSfmt607InitGenRand<br /> 0xB014F0A8 sceSfmt607InitByArray<br /> 0xCE73E1B9 sceSfmt607GenRand32<br /> 0xFA3CB3A5 sceSfmt607FillArray32<br /> <br /> Library: sceSfmt86243<br /> 0x2A0AFFB3 sceSfmt86243FillArray64<br /> 0x79A146E0 sceSfmt86243InitByArray<br /> 0x8CC70361 sceSfmt86243FillArray32<br /> 0xD5B8D7A2 sceSfmt86243GenRand32<br /> 0xDD4196A3 sceSfmt86243InitGenRand<br /> 0xF77D68EF sceSfmt86243GenRand64<br /> <br /> Library: sceSha0<br /> 0x86E64331 sceSha0BlockResult<br /> 0x91524E96 sceSha0BlockUpdate<br /> 0x931612A8 sceSha0Digest<br /> 0xEE071A21 sceSha0BlockInit<br /> <br /> Library: sceSha1<br /> 0x4A80340A sceSha1BlockInit<br /> 0x5AF85569 sceSha1BlockUpdate<br /> 0x78EDE680 sceSha1BlockResult<br /> 0xB94ACDAE sceSha1Digest<br /> <br /> Library: sceSha224<br /> 0x3A96138F sceSha224BlockInit<br /> 0x5BE354EA sceSha224Digest<br /> 0xD6A3ADCB sceSha224BlockResult<br /> 0xEF597FC7 sceSha224BlockUpdate<br /> <br /> Library: sceSha256<br /> 0x318A350C sceSha256Digest<br /> 0x5368F1BC sceSha256BlockInit<br /> 0x7310DDCF sceSha256BlockUpdate<br /> 0x82C67FB3 sceSha256BlockResult<br /> <br /> Library: sceSha384<br /> 0x139319AF sceSha384BlockInit<br /> 0x9CC3A3A2 sceSha384BlockUpdate<br /> 0xD7DF2B41 sceSha384Digest<br /> 0xD9E51292 sceSha384BlockResult<br /> <br /> Library: sceSha512<br /> 0x16ED8DC6 sceSha512BlockInit<br /> 0x5AFE898D sceSha512Digest<br /> 0x8208F538 sceSha512BlockUpdate<br /> 0xAAB6221E sceSha512BlockResult<br /> <br /> Library: sceSsl<br /> 0x058D21C0 sceSslGetNameEntryCount<br /> 0x0EB43B06 sceSslGetUsedMemoryCurrent<br /> 0x17A10DCC sceSslGetNotBefore<br /> 0x191CDEFF sceSslEnd<br /> 0x1B7C8191 sceSslGetIssuerName<br /> 0x3DD5E023 sceSslGetSubjectName<br /> 0x5BFB6B61 sceSslGetNotAfter<br /> 0x957ECBE2 sceSslInit<br /> 0xB99EDE6A sceSslGetUsedMemoryMax<br /> 0xCC0919B0 sceSslGetSerialNumber<br /> 0xD6D097B4 sceSslGetNameEntryInfo<br /> 0xF57765D3 sceSslGetKeyUsage<br /> <br /> Library: sceSuspendForUser<br /> 0x090CCB3F sceKernelPowerTick<br /> 0x3AEE7261 sceKernelPowerUnlock<br /> 0x3E0271D3 sceKernelVolatileMemLock<br /> 0xA14F40B2 sceKernelVolatileMemTryLock<br /> 0xA569E425 sceKernelVolatileMemUnlock<br /> 0xEADB1BD7 sceKernelPowerLock<br /> <br /> Library: sceUmdUser<br /> 0x14C6C45C sceUmdUnuseUMDInMsUsbWlan<br /> 0x20628E6F sceUmdGetErrorStat<br /> 0x340B7686 sceUmdGetDiscInfo<br /> 0x46EBB729 sceUmdCheckMedium<br /> 0x4A9E5E29 sceUmdWaitDriveStatCB<br /> 0x56202973 sceUmdWaitDriveStatWithTimer<br /> 0x6AF9B50A sceUmdCancelWaitDriveStat<br /> 0x6B4A146C sceUmdGetDriveStat<br /> 0x87533940 sceUmdReplaceProhibit<br /> 0x8EF08FCE sceUmdWaitDriveStat<br /> 0xAEE7404D sceUmdRegisterUMDCallBack<br /> 0xB103FA38 sceUmdUseUMDInMsUsbWlan<br /> 0xBD2BDE07 sceUmdUnRegisterUMDCallBack<br /> 0xC6183D47 sceUmdActivate<br /> 0xCBE9F02A sceUmdReplacePermit<br /> 0xE83742BA sceUmdDeactivate<br /> <br /> Library: sceUsb<br /> 0x112CC951 sceUsbGetDrvState<br /> 0x1C360735 sceUsbWaitCancel<br /> 0x4E537366 sceUsbGetDrvList<br /> 0x586DB82C sceUsbActivate<br /> 0x5BE0E002 sceUsbWaitState<br /> 0x616F2B61 sceUsbWaitStateCB<br /> 0xAE5DE6AF sceUsbStart<br /> 0xC21645A4 sceUsbGetState<br /> 0xC2464FA0 sceUsbStop<br /> 0xC572A9C8 sceUsbDeactivate<br /> <br /> Library: sceUsbAcc<br /> 0x0CD7D4AA sceUsbAccGetInfo<br /> 0x79A1C743 sceUsbAccGetAuthStat<br /> <br /> Library: sceUsbCam<br /> 0x03ED7A82 sceUsbCamSetupMic<br /> 0x08AEE98A sceUsbCamSetMicGain<br /> 0x09C26C7E sceUsbCamSetContrast<br /> 0x11A1F128 sceUsbCamGetAutoImageReverseState<br /> 0x17F7B2FB sceUsbCamSetupVideo<br /> 0x1A46CFE7 sceUsbCamStillPollInputEnd<br /> 0x1D686870 sceUsbCamSetEvLevel<br /> 0x2BCD50C0 sceUsbCamGetEvLevel<br /> 0x36636925 sceUsbCamReadMicBlocking<br /> 0x383E9FA8 sceUsbCamGetSaturation<br /> 0x3DC0088E sceUsbCamReadMic<br /> 0x3F0CF289 sceUsbCamSetupStill<br /> 0x41E73E95 sceUsbCamPollReadVideoFrameEnd<br /> 0x41EE8797 sceUsbCamUnregisterLensRotationCallback<br /> 0x4C34F553 sceUsbCamGetLensDirection<br /> 0x4F3D84D5 sceUsbCamSetBrightness<br /> 0x5145868A sceUsbCamStopMic<br /> 0x574A8C3F sceUsbCamStartVideo<br /> 0x5778B452 sceUsbCamGetMicDataLength<br /> 0x61BE5CAC sceUsbCamStillInputBlocking<br /> 0x622F83CC sceUsbCamSetSharpness<br /> 0x6784E6A8 sceUsbCamSetAntiFlicker<br /> 0x6CF32CB9 sceUsbCamStopVideo<br /> 0x6E205974 sceUsbCamSetSaturation<br /> 0x70F522C5 sceUsbCamGetBrightness<br /> 0x7563AFA1 sceUsbCamStillWaitInputEnd<br /> 0x7DAC0C71 sceUsbCamReadVideoFrameBlocking<br /> 0x82A64030 sceUsbCamStartMic<br /> 0x951BEDF5 sceUsbCamSetReverseMode<br /> 0x994471E0 sceUsbCamGetImageEffectMode<br /> 0x99D86281 sceUsbCamReadVideoFrame<br /> 0x9E8AAF8D sceUsbCamGetZoom<br /> 0xA063A957 sceUsbCamGetContrast<br /> 0xA720937C sceUsbCamStillCancelInput<br /> 0xAA7D94BA sceUsbCamGetAntiFlicker<br /> 0xB048A67D sceUsbCamWaitReadMicEnd<br /> 0xC484901F sceUsbCamSetZoom<br /> 0xD293A100 sceUsbCamRegisterLensRotationCallback<br /> 0xD4876173 sceUsbCamSetImageEffectMode<br /> 0xD5279339 sceUsbCamGetReverseMode<br /> 0xDF9D0C92 sceUsbCamGetReadVideoFrameSize<br /> 0xE5959C36 sceUsbCamStillGetInputLength<br /> 0xF8847F60 sceUsbCamPollReadMicEnd<br /> 0xF90B2293 sceUsbCamWaitReadVideoFrameEnd<br /> 0xF93C4669 sceUsbCamAutoImageReverseSW<br /> 0xFB0A6C5D sceUsbCamStillInput<br /> 0xFDB68C23 sceUsbCamGetSharpness<br /> <br /> Library: sceUsbGps<br /> 0x5881C826 sceUsbGpsGetStaticNavMode<br /> 0x6EED4811 sceUsbGpsClose<br /> 0x7C16AC3A sceUsbGpsGetState<br /> 0x934EC2B2 sceUsbGpsGetData<br /> 0x9F267D34 sceUsbGpsOpen<br /> 0xA8ED0BC2 sceUsbGpsSetStaticNavMode<br /> <br /> Library: sceUsbMic<br /> 0x06128E42 sceUsbMicPollInputEnd<br /> 0x2E6DCDCD sceUsbMicInputBlocking<br /> 0x45310F07 sceUsbMicInputInitEx<br /> 0x5F7F368D sceUsbMicInput<br /> 0x63400E20 sceUsbMicGetInputLength<br /> 0xB8E536EB sceUsbMicInputInit<br /> 0xF899001C sceUsbMicWaitInputEnd<br /> <br /> Library: sceUsbSer<br /> 0x0C40864C sceUsbSerGetDTR<br /> 0x105B2FB5 sceUsbSerRegisterDTRCallback<br /> 0x193E613B sceUsbSerClose<br /> 0x2432D28D sceUsbSerRead<br /> 0x3EFDC183 sceUsbSerGetWriteDataSize<br /> 0x41303714 sceUsbSerCancel<br /> 0x473B6BF3 sceUsbSerWriteCB<br /> 0x50AD923C sceUsbSerSetRecvCBThreshold<br /> 0x7501C273 sceUsbSerRegisterSentCallback<br /> 0x82CF9F2A sceUsbSerUnregisterRecvCallback<br /> 0x886AF215 sceUsbSerGetReadDataSize<br /> 0x8B9F5C97 sceUsbSerClear<br /> 0x938AD8E2 sceUsbSerUnregisterSentCallback<br /> 0x999B21E1 sceUsbSerRegisterRecvCallback<br /> 0xA3F75968 sceUsbSerReadCB<br /> 0xBF8B3E85 sceUsbSerWrite<br /> 0xD6CD027C sceUsbSerUnregisterDTRCallback<br /> 0xE23DEB0A sceUsbSerGetWriteFreeSize<br /> 0xE2F0E3E3 sceUsbSerFlushCB<br /> 0xE60A8C56 sceUsbSerGetReadFreeSize<br /> 0xE945D8E9 sceUsbSerEnd<br /> 0xE9D739DF sceUsbSerSetSentCBThreshold<br /> 0xEDBFD745 sceUsbSerInit<br /> 0xEFF02189 sceUsbSerFlush<br /> 0xFD9A2340 sceUsbSerOpen<br /> <br /> Library: sceUtility<br /> 0x0251B134 sceUtilityScreenshotInitStart<br /> 0x05AFB9E4 sceUtilityHtmlViewerUpdate<br /> 0x06A48659 sceUtilityRssSubscriberShutdownStart<br /> 0x0940A1B9 sceUtilityPsnUpdate<br /> 0x094198B8 sceUtilityPsnGetStatus<br /> 0x0D5BC6D2 sceUtilityLoadUsbModule<br /> 0x0E0C27AF sceUtilityAutoConnectAbort<br /> 0x1281DA8E sceUtilityInstallInitStart<br /> 0x1579A159 sceUtilityLoadNetModule<br /> 0x16D02AF0 sceUtilityNpSigninInitStart<br /> 0x180F7B62 sceUtilityGamedataInstallAbort<br /> 0x24AC31EB sceUtilityGamedataInstallInitStart<br /> 0x2995D020 sceUtilitySavedataErrInitStart<br /> 0x2A2B3DE0 sceUtilityLoadModule<br /> 0x2AD8E239 sceUtilityMsgDialogInitStart<br /> 0x2B96173B sceUtilityRssSubscriberGetStatus<br /> 0x32E32DCB sceUtilityGamedataInstallShutdownStart<br /> 0x34B78343 sceUtilityGetSystemParamString<br /> 0x3A15CD0A sceUtilityAutoConnectInitStart<br /> 0x3AAD51DC sceUtilityStoreCheckoutGetStatus<br /> 0x3DFAEBA9 sceUtilityOskShutdownStart<br /> 0x41E30674 sceUtilitySetSystemParamString<br /> 0x42071A83 sceUtilityPS3ScanInitStart<br /> 0x434D4B3A sceUtilityGetNetParam<br /> 0x45C18506 sceUtilitySetSystemParamInt<br /> 0x4928BD96 sceUtilityMsgDialogAbort<br /> 0x4AECD179 sceUtilityGamedataInstallUpdate<br /> 0x4B0A8FE5 sceUtilityRssSubscriberInitStart<br /> 0x4B85C861 sceUtilityOskUpdate<br /> 0x4DB1E739 sceUtilityNetconfInitStart<br /> 0x4FED24D8 sceUtilityGetNetParamLatestID<br /> 0x50C4CD57 sceUtilitySavedataInitStart<br /> 0x54A5C62F sceUtilityStoreCheckoutShutdownStart<br /> 0x5EEE6548 sceUtilityCheckNetParam<br /> 0x5EF1C24A sceUtilityInstallShutdownStart<br /> 0x6332AA39 sceUtilityNetconfGetStatus<br /> 0x64D50C56 sceUtilityUnloadNetModule<br /> 0x67AF3428 sceUtilityMsgDialogShutdownStart<br /> 0x6F56F9CF sceUtilityRssReaderUpdate<br /> 0x7853182D sceUtilityGameSharingUpdate<br /> 0x81C44706 sceUtilityRssReaderInitStart<br /> 0x8326AB05 sceUtilityRssReaderGetStatus<br /> 0x86A03A27 sceUtilityScreenshotContStart<br /> 0x86ABDB1B sceUtilityNpSigninGetStatus<br /> 0x8874DBE0 sceUtilitySavedataGetStatus<br /> 0x88BC7406 sceUtilitySavedataErrGetStatus<br /> 0x89317C8F sceUtilityPS3ScanGetStatus<br /> 0x91E70E35 sceUtilityNetconfUpdate<br /> 0x946963F3 sceUtilityGameSharingGetStatus<br /> 0x95FC253B sceUtilityMsgDialogUpdate<br /> 0x9790B33C sceUtilitySavedataShutdownStart<br /> 0x9A1C91D7 sceUtilityMsgDialogGetStatus<br /> 0x9F313D14 sceUtilityAutoConnectShutdownStart<br /> 0xA03D29BA sceUtilityInstallUpdate<br /> 0xA084E056 sceUtilityRssSubscriberUpdate<br /> 0xA5DA2406 sceUtilityGetSystemParamInt<br /> 0xA7BB7C67 sceUtilityPsnInitStart<br /> 0xAB083EA9 sceUtilityScreenshotUpdate<br /> 0xB0FB7FF5 sceUtilityRssReaderContStart<br /> 0xB57E95D9 sceUtilityGamedataInstallGetStatus<br /> 0xB62A4061 sceUtilitySavedataErrShutdownStart<br /> 0xB8592D5F sceUtilityStoreCheckoutUpdate<br /> 0xBDA7D894 sceUtilityHtmlViewerGetStatus<br /> 0xC130D441 sceUtilityPsnShutdownStart<br /> 0xC4700FA3 sceUtilityInstallGetStatus<br /> 0xC492F751 sceUtilityGameSharingInitStart<br /> 0xC629AF26 sceUtilityLoadAvModule<br /> 0xCDC3AA41 sceUtilityHtmlViewerInitStart<br /> 0xD17A0573 sceUtilityPS3ScanShutdownStart<br /> 0xD23665F4 sceUtilityAutoConnectUpdate<br /> 0xD4B95FFB sceUtilitySavedataUpdate<br /> 0xD4C2BD73 sceUtilityAutoConnectGetStatus<br /> 0xD81957B7 sceUtilityScreenshotGetStatus<br /> 0xD852CDCE sceUtilityPS3ScanUpdate<br /> 0xDA97F1AA sceUtilityStoreCheckoutInitStart<br /> 0xE19C97D6 sceUtilityNpSigninShutdownStart<br /> 0xE49BFE92 sceUtilityUnloadModule<br /> 0xE7B778D8 sceUtilityRssReaderShutdownStart<br /> 0xED0FAD38 sceUtilitySavedataErrUpdate<br /> 0xEFC6F80F sceUtilityGameSharingShutdownStart<br /> 0xF3F76017 sceUtilityOskGetStatus<br /> 0xF3FBC572 sceUtilityNpSigninUpdate<br /> 0xF5CE1134 sceUtilityHtmlViewerShutdownStart<br /> 0xF6269B82 sceUtilityOskInitStart<br /> 0xF64910F0 sceUtilityUnloadUsbModule<br /> 0xF7D8D092 sceUtilityUnloadAvModule<br /> 0xF88155F6 sceUtilityNetconfShutdownStart<br /> 0xF9E0008C sceUtilityScreenshotShutdownStart<br /> <br /> Library: sceVaudio<br /> 0x03B6807D sceVaudioChReserve<br /> 0x27ACC20B sceVaudioChReserveBuffering<br /> 0x346FBE94 sceVaudioSetEffectType<br /> 0x67585DFD sceVaudioChRelease<br /> 0x8986295E sceVaudioOutputBlocking<br /> 0xCBD4AC51 sceVaudioSetAlcMode<br /> <br /> Library: sceWlanDrv<br /> 0x0C622081 sceWlanGetEtherAddr<br /> 0x93440B11 sceWlanDevIsPowerOn<br /> 0xD7763699 sceWlanGetSwitchState<br /> <br /> Library: pemuExt<br /> 0x2C1F5DA6 pemuExtUtilityGetFreeSize<br /> 0x5D915C5B pemuExtUtilityThemeInstallAbort<br /> 0x806D1DCB pemuExtUtilityMusicExportInitStart<br /> 0x9F85A1E3 pemuExtUtilityMusicExportAbort<br /> 0xA9102BD9 pemuExtUtilityThemeInstallInitStart<br /> 0xAB94E451 pemuExtUtilityThemeInstallGetStatus<br /> 0xAF7228AB pemuExtUtilityMusicExportShutdownStart<br /> 0xB95A85D1 pemuExtUtilityThemeInstallUpdate<br /> 0xBFBB2A30 pemuExtIsStereoscopic3d<br /> 0xCAC8A9DA pemuExtUtilityMusicExportUpdate<br /> 0xDBF1A3A9 pemuExtUtilityThemeInstallShutdownStart<br /> 0xE4786D09 pemuExtUtilityMusicExportGetStatus<br /> <br /> = internally handled by the emulator =<br /> sceVideocodec<br /> sceAudiocodec<br /> sceMpegbase<br /> sceReg<br /> sceNetIfhandle_lib<br /> sceWlanDrv_lib<br /> sceNetAdhocAuth_lib<br /> <br /> &lt;/pre&gt;<br /> <br /> === Not implemented APIs===<br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! API !! Issue !! Note<br /> |-<br /> | sceHeapGetMallinfo || 0x80020002 ||<br /> |-<br /> | sceHeapFreeHeapMemory || 0x80020002 ||<br /> |-<br /> | sceHeapAllocHeapMemoryWithOption || return 0 ||<br /> |-<br /> | sceHeapGetTotalFreeSize || 0x80020002 ||<br /> |-<br /> | sceHeapIsAllocatedHeapMemory || 0x80020002 ||<br /> |-<br /> | sceHeapDeleteHeap || 0x80020002 ||<br /> |-<br /> | sceHeapCreateHeap || return 0 ||<br /> |-<br /> | sceHeapAllocHeapMemory || return 0 ||<br /> |-<br /> | sceKernelLoadModuleDNAS || 0x80020002 ||<br /> |-<br /> | sceSslGetKeyUsage || 0x80020002 ||<br /> |-<br /> | sceNpDrmEdataSetupKey || 0x80020002 ||<br /> |-<br /> | sceNpDrmEdataGetDataSize || 0x80020002 ||<br /> |-<br /> | sceNpDrmRenameCheck || 0x80020002 ||<br /> |-<br /> | sceNpDrmClearLicenseeKey || 0x80020002 ||<br /> |-<br /> | sceNpDrmSetLicenseeKey || return 0 ||<br /> |-<br /> | sceHprmIsRemoteExist || 0x80020002 ||<br /> |-<br /> | sceHprmIsMicrophoneExist || 0x80020002 ||<br /> |-<br /> | sceHprmPeekLatch || 0x80020002 ||<br /> |-<br /> | sceHprmReadLatch || 0x80020002 ||<br /> |-<br /> | sceHprmIsHeadphoneExist || 0x80020002 ||<br /> |-<br /> | sceHprmRegisterCallback || 0x80020002 ||<br /> |-<br /> | sceHprmUnregisterCallback || 0x80020002 ||<br /> |-<br /> | sceGprofSetProfil_Weak || 0x80020002 ||<br /> |-<br /> | sceGprofFreeProfil_Weak || 0x80020002 ||<br /> |-<br /> | sceKernelRegisterUserSpaceIntrStack || 0x80020002 ||<br /> |-<br /> | sceKernelLoadExec || 0x80020002 ||<br /> |-<br /> | sceMt19937Init || 0x80020002 ||<br /> |-<br /> | sceMt19937UInt || return 0 ||<br /> |-<br /> | sceKernelStopUnloadSelfModule || 0x80020002 ||<br /> |-<br /> | sceKernelLoadModuleBufferUsbWlan || 0x80020002 ||<br /> |-<br /> | sceUsbGetDrvState || 0x80020002 ||<br /> |-<br /> | sceUsbWaitCancel || 0x80020002 ||<br /> |-<br /> | sceUsbGetDrvList || 0x80020002 ||<br /> |-<br /> | sceUsbActivate || 0x80020002 ||<br /> |-<br /> | sceUsbWaitState || 0x80020002 ||<br /> |-<br /> | sceUsbWaitStateCB || 0x80020002 ||<br /> |-<br /> | sceUsbStart || 0x80020002 ||<br /> |-<br /> | sceUsbGetState || return 0 ||<br /> |-<br /> | sceUsbStop || 0x80020002 ||<br /> |-<br /> | sceUsbDeactivate || 0x80020002 ||<br /> |-<br /> | sceUsbAccGetAuthStat || 0x80020002 ||<br /> |-<br /> | sceKernelUtilsMt19937UInt || 0x80020002 ||<br /> |-<br /> | sceKernelDcacheReadTag || 0x80020002 ||<br /> |-<br /> | sceKernelUtilsSha1BlockUpdate|| 0x80020002||<br /> |-<br /> | sceKernelGetGPI|| return 0 ||<br /> |-<br /> | sceKernelIcacheProbe || 0x80020002||<br /> |-<br /> | sceKernelUtilsSha1BlockResult ||0x80020002 ||<br /> |-<br /> | sceKernelUtilsMd5BlockUpdate||0x80020002 ||<br /> |-<br /> | sceKernelDcacheProbeRange || 0x80020002||<br /> |-<br /> | sceKernelDcacheProbe|| 0x80020002||<br /> |-<br /> | sceKernelUtilsSha1Digest|| 0x80020002 ||<br /> |-<br /> | sceKernelUtilsMd5BlockInit|| 0x80020002||<br /> |-<br /> | sceKernelUtilsMd5BlockResult|| 0x80020002||<br /> |-<br /> | sceKernelDcacheInvalidateRange|| return 0 ||<br /> |-<br /> | sceKernelUtilsMd5Digest|| 0x80020002 ||<br /> |-<br /> | sceKernelUtilsMt19937Init|| 0x80020002||<br /> |-<br /> | sceKernelUtilsSha1BlockInit|| 0x80020002||<br /> |-<br /> | sceKernelIcacheReadTag|| return 0 ||<br /> |-<br /> | sceSfmt11213InitByArray|| 0x80020002||<br /> |-<br /> | sceSfmt11213FillArray32|| 0x80020002||<br /> |-<br /> | sceSfmt11213InitGenRand|| 0x80020002||<br /> |-<br /> | sceSfmt11213FillArray64||0x80020002 ||<br /> |-<br /> | sceSfmt1279InitByArray||0x80020002 ||<br /> |-<br /> | sceSfmt1279FillArray64||0x80020002 ||<br /> |-<br /> | sceSfmt1279InitGenRand||0x80020002 ||<br /> |-<br /> | sceSfmt1279FillArray32||0x80020002 ||<br /> |-<br /> | sceSfmt132049FillArray32||0x80020002 ||<br /> |-<br /> | sceSfmt132049InitByArray||0x80020002 ||<br /> |-<br /> | sceSfmt132049InitGenRand||0x80020002 ||<br /> |-<br /> | sceSfmt132049FillArray64|| 0x80020002||<br /> |-<br /> | sceSfmt19937InitGenRand||0x80020002 ||<br /> |-<br /> | sceSfmt19937FillArray32||0x80020002 ||<br /> |-<br /> | sceSfmt19937InitByArray||0x80020002 ||<br /> |-<br /> | sceSfmt19937FillArray64 || 0x80020002||<br /> |-<br /> | sceSfmt216091GenRand64|| return 0 ||<br /> |-<br /> | sceSfmt216091InitByArray ||0x80020002 ||<br /> |-<br /> | sceSfmt216091FillArray32||0x80020002 ||<br /> |-<br /> | sceSfmt216091FillArray64 ||0x80020002 ||<br /> |-<br /> | sceSfmt216091InitGenRand ||0x80020002 ||<br /> |-<br /> | sceSha0BlockInit||0x80020002 ||<br /> |-<br /> | sceSha0BlockUpdate||0x80020002 ||<br /> |-<br /> | sceSha0BlockResult ||0x80020002 ||<br /> |-<br /> | sceSha0Digest || 0x80020002||<br /> |-<br /> | || ||<br /> |-<br /> |}<br /> <br /> === OPEN PSP SDK ===<br /> <br /> pspsdk-1.0+beta2 Documentation<br /> <br /> http://psp.jim.sh/pspsdk-doc/index.html<br /> <br /> === PEmuCoreLib SPU Usage ===<br /> <br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! colspan=&quot;4&quot; | PEmuCoreLib<br /> |-<br /> ! Core !! Job !! Source !! Notes<br /> |-<br /> | SPU0 || DrawSync Extended Mode Something|| || <br /> |-<br /> | SPU1 || Extended Mode Something|| || <br /> |-<br /> | SPU2 || DMac || || if memcpy size &gt;0x110<br /> |-<br /> | SPU3 || ME || || Media Engine?<br /> |-<br /> |}<br /> <br /> === PSPEMU speculation/talk ===<br /> Compatibility list custom PSP to PS3.<br /> <br /> [[PSP_Emulator_Compatibility_List|PSP Emulator Compatibility List]]<br /> <br /> *http://psx-scene.com/forums/f328/psponps3-compatibility-chart-113244/<br /> <br /> *http://www.pshomebrew.net/wiki/PSP_On_PS3_Compatibility_List<br /> <br /> *[[https://docs.google.com/spreadsheet/ccc?key=0AowGG2G1KRsgdHg5aDJUTnZ2bGR0NEZhMS1xekVXWGc#gid=0| Google Spreadsheet]] and forum reports at http://www.ps3hax.net/showthread.php?t=54435<br /> <br /> <br /> <br /> &lt;!--//<br /> may be add other compatibility list/links to reference, sorry this should be on talk page.<br /> //--&gt;<br /> <br /> ==== PSP Remasters Button Remapping ====<br /> *ADDITIONAL_KEY_ASSIGN type 2 part 2?<br /> 3 state? enable/disable/always<br /> (16 bit (target), 16 bit (source))<br /> <br /> For each byte on 0x47C6C544, binary:<br /> 4 7 C 6 C 5 4 4 = 0x47C6C544<br /> 01 00||01 11 11 00||01 10 11 00||01 01 01 00||01 00<br /> || || || || || <br /> Left | Left Down Right Up<br /> on |D-Pad D-Pad D-Pad D-Pad<br /> right<br /> AStick.<br /> <br /> For each byte on 0x48C6C944, binary:<br /> 4 8 C 6 C 9 4 4 = 0x48C6C944<br /> 01 00||10 00 11 00||01 10 11 00||10 01 01 00||01 00<br /> || || || || || <br /> Left | L1 Down R1 Up<br /> on D-Pad D-Pad<br /> right<br /> AStick.<br /> <br /> {| class=&quot;wikitable&quot;<br /> |+PS3 Buttons Identifyers<br /> ! PS3 button &lt;BR /&gt;&lt;sup&gt;(target)&lt;/sup&gt; !! Identifyer !! Notes<br /> |-<br /> | {{padru}} || ? &lt;!-- 0001 --&gt; || &lt;!-- 1 --&gt;<br /> |-<br /> | {{padrr}} || ? &lt;!-- 0010 --&gt; || &lt;!-- 2 --&gt;<br /> |-<br /> | {{padrd}} || ? &lt;!-- 0011 --&gt; || &lt;!-- 3 --&gt;<br /> |-<br /> | {{padrl}} || 0100 || 4<br /> |-<br /> | {{padr3}} || ? || <br /> |-<br /> | {{padlu}} || ? || <br /> |-<br /> | {{padlr}} || ? || <br /> |-<br /> | {{padld}} || ? || <br /> |-<br /> | {{padll}} || ? || <br /> |-<br /> | {{padl3}} || ? || <br /> |-{{cellcolors|lightgrey}}<br /> | || || <br /> |-<br /> | {{padselect}} || ? || <br /> |-<br /> | {{padps}} || ? || <br /> |-<br /> | {{padstart}} || ? || <br /> |-<br /> | {{dpadu}} || ? || <br /> |-<br /> | {{dpadr}} || ? || <br /> |-<br /> | {{dpadd}} || ? || <br /> |-<br /> | {{dpadl}} || ? || <br /> |-<br /> | {{padl1}} || ? || <br /> |-<br /> | {{padr1}} || ? || <br /> |-<br /> | {{padl2}} || ? || <br /> |-<br /> | {{padr2}} || ? || <br /> |-<br /> | {{padtriangle}} || ? || <br /> |-<br /> | {{padcircle}} || ? || <br /> |-<br /> | {{padcross}} || ? || <br /> |-<br /> | {{padsquare}} || ? || <br /> |-<br /> |}<br /> <br /> *Speculation notes<br /> **Stick directions could be maped to axis: {{padlx}} {{padly}} {{padrx}} {{padry}}<br /> <br /> {| class=&quot;wikitable&quot;<br /> |+PSP Buttons Identifyers<br /> ! PSP button &lt;BR /&gt;&lt;sup&gt;(source)&lt;/sup&gt; !! Identifyer !! Hex Value<br /> |-<br /> | not used || 0001 || 1<br /> |-<br /> | not used || 0010 || 2<br /> |-<br /> | {{padstart}} || 0011 || 3<br /> |-<br /> | {{dpadu}} || 0100 || 4<br /> |-<br /> | {{dpadr}} || 0101 || 5<br /> |-<br /> | {{dpadd}} || 0110 || 6<br /> |-<br /> | {{dpadl}} || 0111 || 7<br /> |-<br /> | {{psptl}} || 1000 || 8<br /> |-<br /> | {{psptr}} || 1001 || 9<br /> |-<br /> | not used || 1010 || A<br /> |-<br /> | not used || 1011 || B<br /> |-<br /> | {{padtriangle}} || 1100 || C<br /> |-<br /> | {{padcircle}} || 1101 || D<br /> |-<br /> | {{padcross}} || 1110 || E<br /> |-<br /> | {{padsquare}} || 1111 || F<br /> |-<br /> |}<br /> <br /> *There are more button icons if needed in [[TemplateTest#Buttons]] page &lt;!-- delete this line when the tables are completed --&gt;<br /> *[https://techshali.com/best-ppsspp-games/ List of compatible PPSSPP Games]<br /> <br /> {{Reverse engineering}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=PSP_Emulation&diff=54187 PSP Emulation 2019-08-18T11:37:08Z <p>Mysis: /* Not implemented APIs */</p> <hr /> <div>== pspemu ==<br /> Used for &quot;PSP Minis&quot; and &quot;PSP remasters&quot;. The PSP Emulator works by accessing an encrypted ISO-9660 image. &lt;br&gt;<br /> Assuming that the mini game's directory is /dev_hdd0/game/NPEZ00000/ then the image is stored inside /USRDIR/CONTENT/EBOOT.PBP/DATA.PSAR. &lt;br&gt;<br /> '''Info''': &lt;br&gt;<br /> * Recent Emulator supports PSP Kernel 6.60 Applications&lt;br&gt;<br /> * 20GB model (CECHB00), because it is not equipped with a wireless LAN psn? feature is not available. (10001)<br /> * Does not support PGD files, and neither its access. (Sword Art Online, Kingdom Hearts, Naruto Shippuden Ultimate Ninja Heroes 3,..)<br /> * Does not support scePAuth. (Evangelion, Monster Hunter 3 Portable,...)<br /> * Does not support loaders. (prometheus, Killzone Liberation (fix via minis2),...)<br /> * Does not support &quot;fatms0:&quot;. (use &quot;ms0:&quot;)<br /> * Does not support directory creation on &quot;ms0:&quot;.<br /> * Does not support screen shot utility. (Sweet Fuse,...)<br /> * Does not support game sharing utility.<br /> * Does not support rss /rss reader utility.<br /> * Does not support &quot;disc0:/sce_lbn0x%04x_size0x%04x&quot;. (Naruto Shippuden Ultimate Ninja Impact, Final Fantasy 4,Blood+... )<br /> <br /> * Default pll frequency 222, cpu frequency 222, bus frequency 111<br /> * Default internal paths:<br /> ** /dev_flash/pspemu/psp/<br /> ** /dev_flash/pspemu/flash0/<br /> ** /dev_flash/pspemu/ms/<br /> ** /dev_hdd0/game/&lt;TITLEID&gt;/USRDIR/EXDATA/<br /> ** /dev_hdd0/game/&lt;TITLEID&gt;/USRDIR/CONTENT/DOCUMENT.DAT<br /> <br /> '''Supported Tags''':<br /> 0x00000008, /* 1.XX */<br /> 0x7C16CBC0, /* 2.XX */<br /> 0x03FD0480, /* 2.71 */<br /> 0xF00516D9, /* 2.80 */<br /> 0xF00616D9, /* 3.00 */<br /> 0xF00A16D9, <br /> 0xF00B16D9,<br /> <br /> === Files ===<br /> psp_emulator.self (3.15++)<br /> psp_translator.self (3.15++)<br /> \flash0 (3.15++)<br /> \flash1<br /> \flash2<br /> \flash3<br /> \lflash<br /> \release (3.15++)<br /> \psp<br /> \ms<br /> <br /> ==== arguments ====<br /> 2 arguments:&lt;br&gt;<br /> * argv[0]= self starting location&lt;!--// /dev_flash/pspemu/psp_emulator.self or /app_home if you want to load custom sysman.sprx / threadman.sprx files//--&gt;&lt;br&gt;<br /> * argv[1]= ISO.BIN.EDAT location<br /> <br /> ==== mapping ====<br /> <br /> 0xB0000000 - elf/game memory<br /> 0xB3900000 - settings { VFPU_USE_FAST_VMMUL, VMX_FOR_FPU, FPU_FS_SUPPORT, ALLEGREX_DELAY, unk (0/0x1000)}<br /> 0xB4000000<br /> 0xB4200000<br /> 0xB4400000<br /> 0xB4600000<br /> 0xB7900000<br /> 0xB8000000<br /> 0xBB900000<br /> <br /> === Controller? ===<br /> <br /> taken from PEmuCoreLib<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Mode? !! Number !! Note<br /> |-<br /> | 1-A || 1? ||<br /> |-<br /> | 2-A || 2?||<br /> |-<br /> | 1-B || 3?||<br /> |-<br /> | 2-B || 4?||<br /> |-<br /> | 1-C || 5?||<br /> |-<br /> | 2-C || 6?||<br /> |-<br /> | 1-D || 7?||<br /> |-<br /> |}<br /> <br /> === Emulator Settings ===<br /> <br /> The emulator itself can be feeded with settings about the game. These settings are:<br /> <br /> 1) in MINIS2.EDAT (pure Text format file decrypted)<br /> 2) within the emulator defined for a bunch of games (see [[Emulation#Special_notes| Special notes]])<br /> <br /> Note: The Emulator can be patched (1 Bit) to read a non encrypted MINIS2.EDAT.<br /> <br /> Here are the commands what you can define for the psp emulator:<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Struct !! Command !! Example !! Note<br /> |-<br /> | || # || #PSDEVWIKi || Text, information, # will be ignored<br /> |-<br /> | || VERSION = 0x%x || VERSION = 0xFFFFFFFF || <br /> |-<br /> | || BOOT_MODE = %llx || ||<br /> 100010000 = Minis <br /> 200010000 = Remaster <br /> |-<br /> | || REMASTER_VERSION = 0x%x || ||<br /> |-<br /> | || SDRAM_SIZE = %llx || SDRAM_SIZE = 02800000 ||<br /> 02000000 = ~34 MB (Default)<br /> 02800000 = ~42 MB <br /> 03000000 = ~50 MB <br /> 04000000 = ~67 MB<br /> &lt;br /&gt;&lt;br /&gt;''Real PSP hardware had:''<br /> * ''Main RAM: 32MB (PSP-1000) or 64 MB (PSP-2000, PSP-3000, PSP Go/PSP-N1000 and PSP-E1000) 333MHz 256bit DDR SDRAM with 8MB reserved for kernel.''<br /> * ''Video RAM: 2MB 166MHz 256bit eDRAM.''<br /> * ''MediaEngine RAM: 2MB 166MHz 128bit eDRAM.''<br /> |-<br /> | || TRANS_CACHE_SIZE = %llx || TRANS_CACHE_SIZE = 1000000 ||<br /> 2000000 = (Default)<br /> 1000000 = <br /> |-<br /> | || HOSTFS_PATH = %lld || || <br /> 0 = /dev_flash/pspemu/psp/ (Default) <br /> 1 = /app_home/psp/ <br /> 2 = /app_home/<br /> else = /dev_flash/pspemu/psp/<br /> |-<br /> | || EXDATA_PATH = %lld || ||<br /> 0 = %USRDIR%/EXDATA/ (Default)<br /> 2 = &lt;HOSTFS_PATH&gt;/EXDATA/<br /> 3 = /dev_usb/EXDATA<br /> else = %USRDIR%/EXDATA/<br /> |-<br /> | || ELF_PATH = %s || ELF_PATH = disc0:/PSP_GAME/SYSDIR/EBOOT.BIN || = default, but can be changed for example on Powerstone Collection to directly load PS1.prx/PS2.prx<br /> |-<br /> | || ISO_PATH = %s || ||<br /> |-<br /> | || VOUT_RESOLUTION_MODE = %lld || VOUT_RESOLUTION_MODE = 0 ||<br /> 0 = (Default)<br /> 1<br /> 2<br /> 3<br /> ... <br /> |-<br /> | || DRAWN_IMAGE_SCALE = %lld || DRAWN_IMAGE_SCALE = 4 || Display Output Videoscale <br /> 0 = <br /> 1 = small picture<br /> 2 = (Default)<br /> 3 =<br /> 4 =<br /> ...<br /> |-<br /> | AW. {|| || || indicates LINEAR_ADRS to CLOAD_MODE optional setting following<br /> |-<br /> | || LINEAR_ADRS = %llx || AW.LINEAR_ADRS = 40 ||<br /> 0 = (Default)<br /> 40 = <br /> |-<br /> | || SINGLE_BUF = %llx || AW.SINGLE_BUF = 880 ||<br /> 0 = (Default)<br /> 80 = <br /> 880 =<br /> |-<br /> | || DISABLE_FB_TEX = %llx || AW.DISABLE_FB_TEX = 100 || <br /> 0 = (Default)<br /> 100 = <br /> |-<br /> | || REUSE_ADRS = %llx || AW.REUSE_ADRS = 110000 ||<br /> 0 = (Default)<br /> 110000 =<br /> |-<br /> | || SINGLE_BUF2 = %llx || ||<br /> |-<br /> | || DECODE_WAIT = %llx || AW.DECODE_WAIT = 10000 || in order to slowdown ?<br /> 0 = (Default)<br /> 10000 = <br /> |-<br /> | || DISCARD_EDGE = %llx || AW.DISCARD_EDGE = 20000 ||<br /> 0 = (Default)<br /> 20000 =<br /> |-<br /> | || RECYCLE_RD_TEX = %llx || ||<br /> |-<br /> | || EXT_MODE = %llx || AW.EXT_MODE = 3 ||<br /> 0 = (Default)<br /> Uses different SPU ELF for transparency/textures behavior <br /> 1 = <br /> 2 = <br /> 3 = <br /> |-<br /> | || THR_PIXEL_OFST = %llx || AW.THR_PIXEL_OFST = 0 || <br /> 0 = <br /> 3EFFFFFF = (default)<br /> |-<br /> | || EXT_CMD = %llx || AW.EXT_CMD = 2 || <br /> 0 = (Default)<br /> 1 = <br /> 2 = <br /> 3 = <br /> |-<br /> | || VRAM_MODE = %llx || AW.VRAM_MODE = 1 ||<br /> 0 = Disabled (default) <br /> 1 = Enabled<br /> |-<br /> | || CLOAD_MODE = %llx || AW.CLOAD_MODE = 1 || (Note: Only available since 4.30?)<br /> 0 = Disabled (default) <br /> 1 = Enabled<br /> Displays Selection Menu: Remaster/Adhoc ?<br /> |-<br /> | } || || ||<br /> |-<br /> | AUDIO. {|| || || indicates optional SCR_NOIZ,SLEEP,DECODE_LIMIT setting following<br /> |-<br /> | || SRC_NOIZ = %llx || ||<br /> |-<br /> | || SLEEP = %llx || AUDIO.SLEEP = 421 ||<br /> 0 = (Default)<br /> 421 =<br /> |-<br /> | || DECODE_LIMIT = %llx || ||<br /> |-<br /> | } || || ||<br /> |-<br /> | || VFPU_USE_FAST_VMMUL = %lld || ||<br /> 0 = Disabled (Default) <br /> 1 = Enabled<br /> |-<br /> | || VMX_FOR_FPU = %lld || ||<br /> 0 = Disabled<br /> 1 = Enabled (Default)<br /> |-<br /> | || FPU_FS_SUPPORT = %lld || ||<br /> 0 = Disabled<br /> 1 = Enabled (Default)<br /> |-<br /> | || MIPS_CODE_BLOCK_SIZE = %lld || MIPS_CODE_BLOCK_SIZE = 8192 ||<br /> 8192 (decimal) = 0x2000 (hex) <br /> 4096 (decimal) = 0x1000 (hex, Default)<br /> |-<br /> | || ALLEGREX_DELAY = %lld || || Allegrex = PSP CPU <br /> 0 = (Default)<br /> 100 = ms delay interrupt/thread/sync<br /> |-<br /> | || LINCOLN_START_ADDR = %llx || ||<br /> 0x8804000? = (Default)?<br /> 0x20000<br /> |-<br /> | || LINCOLN_START_SIZE = %llx || || ELF Size?<br /> |-<br /> | || TRANSLATOR_PATCH[%lld] = { %08x } || || <br /> %lld = Number of patches to allocate&lt;br&gt;<br /> Format goes like this - all values being 32Bit hexdecimal:&lt;br&gt;<br /> = { start_address? end_address? patch1 patch2 .... (optional: count_for_buff2 buff2_value1 buff2_value2..) }<br /> |-<br /> | || OSK_ENGLISH = %lld || || On Screen Keyboard<br /> 0 = (Default) panel <br /> Else? = english<br /> |-<br /> | S3D. {|| || || Stereoscopic 3D<br /> |-<br /> | || ENABLE = %lld || S3D.ENABLE = 1 ||<br /> 0 = Disabled (Default)<br /> 1 = <br /> 2 = <br /> 3,4,.. = ? (3D Display strong?)<br /> |-<br /> | || MAX_PARALLAX = %f || || (info: http://www.lightillusion.com/stereo_3d_rules.html) &lt;br&gt; 0.0 to 1.0 ? <br /> 0.029999999 = (Default)<br /> |-<br /> | || SCREEN_DISTANCE = %f || || 0.0 to 1.0 ?<br /> -1.0 = (Default)<br /> |-<br /> | CONV. {|| || || struct within S3D structure (info: http://www.lightillusion.com/stereo_3d_convergence.html)<br /> |-<br /> | || DEPTH_TYPE = %lld || ||<br /> 2 = (Default)<br /> |-<br /> | || GLOBAL_DEPTH1 = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || GLOBAL_DEPTH2 = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || LOCAL_DEPTH1 = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || LOCAL_DEPTH2 = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || SHIFT = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || SIDEPANEL = %lld || ||<br /> 0 = (Default)<br /> |-<br /> | } || || ||<br /> |-<br /> | } || || ||<br /> |-<br /> | FILTER. {|| || || <br /> |-<br /> | DOF. {|| || || depth of field filter<br /> |-<br /> | || GAUSSIAN = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || DEPTH.0 = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || DEPTH.1 = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || FOCAL_DISTANCE = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || FIELD_WIDTH = %f || ||<br /> 0 = (Default)<br /> |-<br /> | } || || ||<br /> |-<br /> | BLOOM. {|| || || bloom filter<br /> |-<br /> | || THRESHOLD.R = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || THRESHOLD.G = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || THRESHOLD.B = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || THRESHOLD.VALUE = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || ADD.R = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || ADD.G = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || ADD.B = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || ADD.LOD = %f || ||<br /> 0 = (Default)<br /> |-<br /> | } || || ||<br /> |-<br /> | } || || ||<br /> |-<br /> | || ADDITIONAL_KEY_ASSIGN = %llx || ADDITIONAL_KEY_ASSIGN = 0000000047C6C544 ||<br /> 0000000047C6C544 : maps right analog stick, usefull for 3rd person camera viewing<br /> 0000000048C0C940 : maps L + R to right analog stick left and right<br /> 8000000000000000 : unknown<br /> |-<br /> | || SAVEDATA_USE_UPPERCASENAME = %lld || ||<br /> 0 = (Default)<br /> Ese = convert characters<br /> |-<br /> | || FAKE_PATH = %s || || (max. lenght 0x400 bytes)<br /> |-<br /> | || SAVEDATA_LOAD_CACHE_TARGET_NAME = %s || SAVEDATA_LOAD_CACHE_TARGET_NAME = ULJM05637DQUEST ||<br /> |-<br /> | || SAVEDATA_USE_PS3_SAVE = %lld || SAVEDATA_USE_PS3_SAVE = 1 ||<br /> 0 = Uses PSP/PSPMinis SaveData module <br /> 1 = SaveGame via PS3 SaveData module<br /> |-<br /> | || ICACHE_CONTROL = %llx || ||<br /> 0 = Enable InvalidateAll availability<br /> 1 = sceKernelIcacheInvalidateRange disabled?<br /> 2 = sceKernelIcacheInvalidateAll disabled?<br /> |-<br /> | || DEBUG.GRAPHICS = %lld || DEBUG.GRAPHICS = 1 ||<br /> 0 = off<br /> 1 = on , displays information and more: <br /> * flip time average (max.,min.),<br /> * RSX Performance average (max.,min.),<br /> * MIPS load average (max.,min.)<br /> 2 = ?<br /> |-<br /> | || DEBUG.CPU_PERF_BUF_SIZE = 0x%llx || ||<br /> 0x100000 = (default)<br /> |-<br /> | || VSYNC_OFFSET_US = %lld || VSYNC_OFFSET_US = 8341 ||<br /> 8341 = 0x2095 (Default)<br /> 2000 = 0x07D0 (Legend of Heroes/Eiyū Densetsu HD Remasters)<br /> |-<br /> | || ADHOC_PARTY = %llx || ADHOC_PARTY = 1 ||<br /> 0 = Disabled (Default)<br /> 1 = Enable Ad hoc Multiplayer<br /> |-<br /> | || GPI = 0x%llx || ||<br /> 0 = (Default) <br /> uint8_t value<br /> |-<br /> | || UTILITY_CTRL_VALUE = %llx || ||<br /> |-<br /> | || CODE_SIZE_LIMIT = %llx || CODE_SIZE_LIMIT = 00800000 ||<br /> |-<br /> | || NP.COMMUNICATION_ID = %s || ||<br /> |-<br /> | || ADHOC_LOCAL_PEER_NUM = %llx || ||<br /> |-<br /> | ADHOC. {|| || || <br /> |-<br /> | || EMUPA_TITLE_ID = %s || ADHOC.EMUPA_TITLE_ID = ULJM05637 ||<br /> |-<br /> | || EMUPA_INITIAL_SERVER = %lld || ADHOC.EMUPA_INITIAL_SERVER = 1 ||<br /> 0 = (Default) <br /> 1 = <br /> |-<br /> | || USE_WORLD_MIN = %lld || ||<br /> |-<br /> | || USE_WORLD_MAX = %lld || ||<br /> |-<br /> | || MAC_THREAD_PRIORITY = %lld || ||<br /> |-<br /> | || SEND_LIMIT = %lld || ||<br /> |-<br /> | || RECV_LIMIT = %lld || ||<br /> |-<br /> | || PTP_SB_SEND_EXT = %lld || ||<br /> |-<br /> | || PTP_SEND_INTERVAL_MIN = %lld || ||<br /> |-<br /> | || PTP_ACCEPT_DELAY = %lld || ||<br /> |-<br /> | || FLAGS = %llx || ||<br /> |-<br /> | } || || ||<br /> |-<br /> |}<br /> <br /> === Special notes ===<br /> <br /> ==== PSP Minis ====<br /> On few Games there are predefined changes set for the Core within the emulator.<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Title ID !! Title Name !! Note<br /> |-<br /> | NPEZ00001 || Puzzle Scape Mini || AW.DISCARD_EDGE = 20000&lt;br&gt; AW.DECODE_WAIT = 10000<br /> |-<br /> | NPEZ00002 || Stand O'Food || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00003 || Mahjongg Artifacts Chapter 2 || AW.LINEAR_ADRS = 40&lt;br&gt; AW.DISABLE_FB_TEX = 100&lt;br&gt; AW.DISCARD_EDGE = 20000<br /> |-<br /> | NPEZ00021 || Pinball Dreams || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00022 || Pinball Fantasies || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00027 || Sudoku || AUDIO.SLEEP = 421<br /> |-<br /> | NPEZ00028 || Bowling 3D *1) || <br /> |-<br /> | NPEZ00031 || Hero Of Sparta || <br /> |-<br /> | NPEZ00041 || Blast Off || <br /> |-<br /> | NPEZ00046 || Brainpipe || <br /> |-<br /> | NPEZ00093 || Tetris *1) || AW.SINGLE_BUF = 80&lt;br&gt;AW.REUSE_ADRS = 110000<br /> |-<br /> | NPEZ00094 || Yummy Yummy Cooking Jam || AW.SINGLE_BUF = 880&lt;br&gt;AW.DECODE_WAIT = 10000<br /> |-<br /> | NPEZ00105 || Telegraph - Sudoku &amp; Kakuro || DRAWN_IMAGE_SCALE = 1 <br /> |-<br /> | NPEZ00106 || Sudoku und Kakuro: Welt Edition || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00107 || Spot The Differences! || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00108 || Finde die Unterschiede! Welt Edition || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00112 || Telegraph Crosswords || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00113 || Kreuzwortraetsel: Welt Edition || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00125 || Pallurikio || <br /> |-<br /> | NPEZ00194 || Mahjongg Artifacts || AW.LINEAR_ADRS = 40&lt;br&gt;AW.DISABLE_FB_TEX = 100&lt;br&gt;AW.DISCARD_EDGE = 20000<br /> |-<br /> | NPEZ00219 || Arctic Adventures: Polar's Puzzles || <br /> |-<br /> | NPEZ00381 || Fighting Fantasy - Talisman of death || AW.THR_PIXEL_OFST = 0<br /> |-<br /> | NEPZ00444 || Jetpack Joyride || AW.CLOAD_MODE = 1<br /> |-<br /> | NPUZ00002 || Bowling 3D *1) || <br /> |-<br /> | NPUZ00005 || Hero Of Sparta || <br /> |-<br /> | NPUZ00006 || Mahjongg Artifacts Chapter 2 || AW.LINEAR_ADRS = 40&lt;br&gt;AW.DISABLE_FB_TEX = 100&lt;br&gt;AW.DISCARD_EDGE = 20000<br /> |-<br /> | NPUZ00009 || Brainpipe || <br /> |-<br /> | NPUZ00017 || Pinball Fantasies || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPUZ00018 || Yummy Yummy Cooking Jam || AW.SINGLE_BUF = 880&lt;br&gt;AW.DECODE_WAIT = 10000<br /> |-<br /> | NPUZ00021 || Blast Off || <br /> |-<br /> | NPUZ00029 || Stand O' Food || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPUZ00034 || Spot The Differences! || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPUZ00054 || Pinball Dreams || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPUZ00058 || SuperMarket Mania || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPUZ00062 || Mahjongg Artifacts || AW.LINEAR_ADRS = 40&lt;br&gt;AW.DISABLE_FB_TEX = 100&lt;br&gt;AW.DISCARD_EDGE = 20000<br /> |-<br /> | NPUZ00099 || Pallurikio || <br /> |-<br /> | NPUZ00114 || Arctic Adventures: Polar's Puzzles || <br /> |-<br /> | NPUZ00292 || Jetpack Joyride || AW.CLOAD_MODE = 1<br /> |-<br /> |}<br /> <br /> *1) SFO: PP, officially wont run on ps3 as no iso.bin and no proper minis file (only psp officially supported)<br /> <br /> ==== PSP HD Remasters ====<br /> <br /> * TextureSize = 1024<br /> * Can use 64 MB memory<br /> And these PSP Remaster Games got a MINIS2.EDAT setting definitions for the Emulator Core.<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Disc Title ID !! NP Title ID !! Title Name !! Note<br /> |-<br /> | BLJM85001 || NPJB40001 || Monster Hunter Portable 3rd HD Ver || VERSION = 0xFFFFFFFF&lt;br&gt;<br /> S3D.ENABLE = 2&lt;br&gt;<br /> SDRAM_SIZE = 02800000&lt;br&gt;<br /> MIPS_CODE_BLOCK_SIZE = 8192&lt;br&gt; (next settings are done internally and not part of MINIS2)&lt;br&gt;<br /> DRAWN_IMAGE_SCALE = 4&lt;br&gt;<br /> AW.EXT_MODE = 3&lt;br&gt;<br /> TRANS_CACHE_SIZE = 1000000&lt;br&gt;<br /> VSYNC_OFFSET_US = 2000&lt;br&gt;<br /> ADHOC.EMUPA_TITLE_ID = ULJM05800&lt;br&gt;<br /> ADHOC.EMUPA_INITIAL_SERVER = 1&lt;br&gt;<br /> ADHOC_PARTY = 1&lt;br&gt;<br /> |-<br /> | BLJM85002 || NPJB40002 || K-ON Houkago Live HD Ver || VERSION = 0xFFFFFFFF&lt;br&gt;<br /> AW.EXT_MODE = 3&lt;br&gt;<br /> AW.EXT_CMD = 2&lt;br&gt;<br /> SDRAM_SIZE = 02800000&lt;br&gt;<br /> ADDITIONAL_KEY_ASSIGN = 8000000000000000&lt;br&gt;<br /> S3D.ENABLE = 1&lt;br&gt;<br /> ADHOC.EMUPA_TITLE_ID = ULJM05709<br /> |-<br /> | BLJM85003 || NPJB40003 || Shin Sangoku Musou Multi Raid 2 HD Ver || VERSION = 0xFFFFFFFF&lt;br&gt;<br /> AW.EXT_MODE = 3&lt;br&gt;<br /> AW.EXT_CMD = 2&lt;br&gt;<br /> SDRAM_SIZE = 02800000&lt;br&gt;<br /> ADDITIONAL_KEY_ASSIGN = 0000000047C6C544&lt;br&gt;<br /> S3D.ENABLE = 1&lt;br&gt;<br /> ADHOC.EMUPA_TITLE_ID = ULJM05637&lt;br&gt;<br /> AW.VRAM_MODE = 1&lt;br&gt;<br /> SAVEDATA_LOAD_CACHE_TARGET_NAME = ULJM05637DQUEST<br /> |-<br /> | BLJM85004 || NPJB00293&lt;br&gt;NPJN00005 ||Eiyuu Densetsu Sora no Kiseki FC Kai HD Edition || VERSION = 0xFFFFFFFF&lt;br&gt;<br /> SDRAM_SIZE = 03000000&lt;br&gt;<br /> ADDITIONAL_KEY_ASSIGN = 0000000047C6C544&lt;br&gt;<br /> S3D.ENABLE = 1&lt;br&gt;<br /> AW.EXT_MODE = 3&lt;br&gt;<br /> AW.EXT_CMD = 3&lt;br&gt;<br /> ADHOC_PARTY = 0&lt;br&gt;<br /> VSYNC_OFFSET_US = 2000<br /> |-<br /> | BLJM85005 || NPJB00334&lt;br&gt;NPJN00007||Eiyuu Densetsu: Sora no Kiseki SC Kai HD Edition || VERSION = 0xFFFFFFFF&lt;br&gt;<br /> SDRAM_SIZE = 04000000&lt;br&gt;<br /> CODE_SIZE_LIMIT = 00800000&lt;br&gt;<br /> ADDITIONAL_KEY_ASSIGN = 8000000000000000&lt;br&gt;<br /> S3D.ENABLE = 2&lt;br&gt;<br /> AW.EXT_MODE = 3&lt;br&gt;<br /> AW.EXT_CMD = 3&lt;br&gt;<br /> ADHOC_PARTY = 0&lt;br&gt;<br /> VSYNC_OFFSET_US = 2000<br /> |-<br /> | BLJM85006 || NPJB00360&lt;br&gt;NPJN00008||Eiyuu Densetsu: Sora no Kiseki the 3rd: Kai HD Edition || VERSION = 0xFFFFFFFF&lt;br&gt;<br /> SDRAM_SIZE = 04000000&lt;br&gt;<br /> CODE_SIZE_LIMIT = 00800000&lt;br&gt;<br /> ADDITIONAL_KEY_ASSIGN = 8000000000000000&lt;br&gt;<br /> S3D.ENABLE = 2&lt;br&gt;<br /> AW.EXT_MODE = 3&lt;br&gt;<br /> AW.EXT_CMD = 3&lt;br&gt;<br /> ADHOC_PARTY = 0&lt;br&gt;<br /> |}<br /> <br /> DiscIDs inside emulator: http://pastie.org/pastes/4367964/<br /> <br /> ==== Unofficial PSP Games MINIS2====<br /> <br /> * research only<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Title ID !! Title Name !! Issue !! Setting !! Note<br /> |-<br /> | || Shin Megami Tensei: Persona3 Portable || hangs while loading screen ||<br /> AW.VRAM = 1<br /> || fixes loading, but requires further research<br /> |-<br /> | || Silent Hill: Origins || Loading Screen texture flicker on top ||<br /> AW.LINEAR_ADRS = 40 <br /> ||<br /> |-<br /> | || Tactics Ogre: Let Us Cling Together || Black texture? overlay in movies and &quot;Tarot Card&quot; selection ||<br /> AW.LINEAR_ADRS = 40 <br /> ||<br /> |-<br /> | || The 3rd Birthday || blue transparent texture overblending ||<br /> AW.DISABLE_FB_TEX = 222<br /> || mostly removed, but requires further research<br /> |-<br /> |}<br /> <br /> === NID ===<br /> &lt;pre&gt;<br /> <br /> Library: GprofManStub<br /> 0x6A05A80D sceGprofSetProfil<br /> 0x799D0A67 sceGprofFreeProfil<br /> <br /> Library: GprofManWeak<br /> 0x6A05A80D sceGprofSetProfil_Weak<br /> 0x799D0A67 sceGprofFreeProfil_Weak<br /> <br /> Library: InterruptManager<br /> 0x5CB5A78B sceKernelSuspendSubIntr<br /> 0x7860E0DC sceKernelResumeSubIntr<br /> 0x8A389411 sceKernelDisableSubIntr<br /> 0xCA04A2B9 sceKernelRegisterSubIntrHandler<br /> 0xD61E6961 sceKernelReleaseSubIntrHandler<br /> 0xEEE43F47 sceKernelRegisterUserSpaceIntrStack<br /> 0xFB8E22EC sceKernelEnableSubIntr<br /> 0xFC4374B8 sceKernelIsSubInterruptOccurred<br /> <br /> Library: IoFileMgrForUser<br /> 0x06A70004 sceIoMkdir<br /> 0x08BD7374 sceIoGetDevType<br /> 0x0FACAB19 sceIoWriteAsync<br /> 0x109F50BC sceIoOpen<br /> 0x1117C65F sceIoRmdir<br /> 0x1B385D8F sceIoLseek32Async<br /> 0x27EB27B8 sceIoLseek<br /> 0x3251EA56 sceIoPollAsync<br /> 0x35DBD746 sceIoWaitAsyncCB<br /> 0x42EC03AC sceIoWrite<br /> 0x54F5FB11 sceIoDevctl<br /> 0x55F4717D sceIoChdir<br /> 0x5C2BE2CC sceIoGetFdList<br /> 0x63632449 sceIoIoctl<br /> 0x68963324 sceIoLseek32<br /> 0x6A638D83 sceIoRead<br /> 0x6D08A871 sceIoUnassign<br /> 0x71B19E77 sceIoLseekAsync<br /> 0x779103A0 sceIoRename<br /> 0x810C4BC3 sceIoClose<br /> 0x89AA9906 sceIoOpenAsync<br /> 0xA0B5A7C2 sceIoReadAsync<br /> 0xA12A0514 sceIoSetAsyncCallback<br /> 0xAB96437F sceIoSync<br /> 0xACE946E8 sceIoGetstat<br /> 0xB293727F sceIoChangeAsyncPriority<br /> 0xB29DDF9C sceIoDopen<br /> 0xB2A628C1 sceIoAssign<br /> 0xB8A740F4 sceIoChstat<br /> 0xCB05F8D6 sceIoGetAsyncStat<br /> 0xE23EEC33 sceIoWaitAsync<br /> 0xE3EB004C sceIoDread<br /> 0xE8BC6571 sceIoCancel<br /> 0xE95A012B sceIoIoctlAsync<br /> 0xEB092469 sceIoDclose<br /> 0xF27A9C51 sceIoRemove<br /> 0xFF5940B6 sceIoCloseAsync<br /> <br /> Library: Kernel_Library<br /> 0x092968F4 sceKernelCpuSuspendIntr<br /> 0x15B6446B sceKernelUnlockLwMutex<br /> 0x1839852A sceKernelMemcpy<br /> 0x1FC64E09 sceKernelLockLwMutexCB<br /> 0x293B45B8 sceKernelGetThreadId_kernel<br /> 0x37431849 sceKernelTryLockLwMutex_600<br /> 0x3B84732D sceKernelCpuResumeIntrWithSync<br /> 0x47A0B729 sceKernelIsCpuIntrSuspended<br /> 0x5F10D406 sceKernelCpuResumeIntr<br /> 0xA089ECA4 sceKernelMemset<br /> 0xB55249D2 sceKernelIsCpuIntrEnable<br /> 0xBEA46419 sceKernelLockLwMutex<br /> 0xC1734599 sceKernelReferLwMutexStatus<br /> 0xD13BDE95 sceKernelCheckThreadStack_user<br /> 0xDC692EE3 sceKernelTryLockLwMutex<br /> 0xFA835CDE sceKernelGetTlsAddr<br /> <br /> Library: LoadExecForUser<br /> 0x05572A5F sceKernelExitGame<br /> 0x2AC9954B sceKernelExitGameWithStatus<br /> 0x362A956B sceKernelSafetyCheck1<br /> 0x4AC57943 sceKernelRegisterExitCallback<br /> 0x8ADA38D3 sceKernelLoadExecNpDrm<br /> 0xBD2F1094 sceKernelLoadExec<br /> <br /> Library: ModuleMgrForUser<br /> 0x2E0911AA sceKernelUnloadModule<br /> 0x50F0C1EC sceKernelStartModule<br /> 0x644395E2 sceKernelGetModuleIdList<br /> 0x748CBED9 sceKernelQueryModuleInfo<br /> 0x8F2DF740 sceKernelStopUnloadSelfModuleWithStatus<br /> 0x977DE386 sceKernelLoadModule<br /> 0xB7F46618 sceKernelLoadModuleByID<br /> 0xCC1D3699 sceKernelStopUnloadSelfModule<br /> 0xCDE1C1FE sceKernelCheckTextSegment<br /> 0xD1FF982A sceKernelStopModule<br /> 0xD2FBC957 sceKernelGetModuleGPByAddress<br /> 0xD675EBB8 sceKernelSelfStopUnloadModule<br /> 0xD8B73127 sceKernelGetModuleIdByAddress<br /> 0xE4C4211C sceKernelLoadModuleWithBlockOffset<br /> 0xF0A26395 sceKernelGetModuleId<br /> 0xF2D8D1B4 sceKernelLoadModuleNpDrm<br /> 0xF9275D98 sceKernelLoadModuleBufferUsbWlan<br /> 0xFBE27467 sceKernelLoadModuleByIDWithBlockOffset<br /> 0xFEF27DC1 sceKernelLoadModuleDNAS<br /> <br /> Library: StdioForUser<br /> 0x0CBB0571 sceKernelStdioLseek<br /> 0x172D316E sceKernelStdin<br /> 0x3054D478 sceKernelStdioRead<br /> 0x432D8F5C sceKernelRegisterStdoutPipe<br /> 0x6F797E03 sceKernelRegisterStderrPipe<br /> 0x924ABA61 sceKernelStdioOpen<br /> 0x9D061C19 sceKernelStdioClose<br /> 0xA3B931DB sceKernelStdioWrite<br /> 0xA46785C9 sceKernelStdioSendChar<br /> 0xA6BAB2E9 sceKernelStdout<br /> 0xF78BA90A sceKernelStderr<br /> <br /> Library: SysMemUserForUser<br /> 0x13A5ABEF sceKernelPrintf<br /> 0x1B4217BC sceKernelSetCompiledSdkVersion630<br /> 0x237DBD4F sceKernelAllocPartitionMemory<br /> 0x315AD3A0 sceKernelSetCompiledSdkVersion380_390<br /> 0x342061E5 sceKernelSetCompiledSdkVersion370<br /> 0x35669D4C sceKernelSetCompiledSdkVersion600_620<br /> 0x358CA1BB sceKernelSetCompiledSdkVersion660<br /> 0x50F61D8A sceKernelFreeMemoryBlock<br /> 0x7591C7DB sceKernelSetCompiledSdkVersion100<br /> 0x7893F79A sceKernelSetCompiledSdkVersion570_570<br /> 0x91DE343C sceKernelSetCompiledSdkVersion500_550<br /> 0x9D9A5BA1 sceKernelGetBlockHeadAddr<br /> 0xA291F107 sceKernelMaxFreeMemSize<br /> 0xB6D61D02 sceKernelFreePartitionMemory<br /> 0xD8DE5C1E sceKernelSafetyCheck0<br /> 0xDB83A952 sceKernelGetMemoryBlockAddr<br /> 0xEBD5C3E6 sceKernelSetCompiledSdkVersion395_405<br /> 0xF77D77CB sceKernelSetCompilerVersion<br /> 0xF919F628 sceKernelTotalFreeMemSize<br /> 0xFC114573 sceKernelGetCompiledSdkVersion<br /> 0xFE707FDF sceKernelAllocMemoryBlock<br /> <br /> Library: ThreadManForUser<br /> 0x034A921F sceKernelGetVTimerTime<br /> 0x0C106E53 sceKernelRegisterThreadEventHandler<br /> 0x0D81716A sceKernelPollMbx<br /> 0x0DDCD2C9 sceKernelTryLockMutex<br /> 0x110DEC9A sceKernelUSec2SysClock<br /> 0x1181E963 sceKernelDelaySysClockThreadCB<br /> 0x17C1684E sceKernelReferThreadStatus<br /> 0x18260574 sceKernelReceiveMbx<br /> 0x19CFF145 sceKernelCreateLwMutex<br /> 0x1AF94D03 sceKernelDonateWakeupThread<br /> 0x1D371B8A sceKernelCancelVpl<br /> 0x1FB15A32 sceKernelSetEventFlag<br /> 0x20FFF560 sceKernelCreateVTimer<br /> 0x278C0DF5 sceKernelWaitThreadEnd<br /> 0x27E22EC2 sceKernelResumeDispatchThread<br /> 0x28B6489C sceKernelDeleteSema<br /> 0x293B45B8 sceKernelGetThreadId<br /> 0x2A3D44FF sceKernelGetCallbackCount<br /> 0x2C34E053 sceKernelReleaseWaitThread<br /> 0x30FD48F0 sceKernelPollEventFlag<br /> 0x328C546A sceKernelWaitEventFlagCB<br /> 0x328F9E52 sceKernelDeleteVTimer<br /> 0x32BF938E sceKernelDeleteTlspl<br /> 0x33BE4024 sceKernelReferMsgPipeStatus<br /> 0x349B864D sceKernelCancelMsgPipe<br /> 0x349D6D6C sceKernelCheckCallback<br /> 0x369ED59D sceKernelGetSystemTimeLow<br /> 0x369EEB6B sceKernelReferThreadEventHandlerStatus<br /> 0x383F7BCC sceKernelTerminateDeleteThread<br /> 0x39810265 sceKernelReferVplStatus<br /> 0x3AD58B8C sceKernelSuspendDispatchThread<br /> 0x3B183E26 sceKernelGetThreadExitStatus<br /> 0x3F53E640 sceKernelSignalSema<br /> 0x402FCF22 sceKernelWaitEventFlag<br /> 0x446D8DE6 sceKernelCreateThread<br /> 0x4A719FB2 sceKernelFreeTlspl<br /> 0x4C145944 sceKernelReferLwMutexStatusByID<br /> 0x4E3A1105 sceKernelWaitSema<br /> 0x52089CA1 sceKernelGetThreadStackFreeSize<br /> 0x532A522E _sceKernelExitThread<br /> 0x53B00E9A sceKernelSetVTimerHandlerWide<br /> 0x542AD630 sceKernelSetVTimerTime<br /> 0x55C20A00 sceKernelCreateEventFlag<br /> 0x56C039B5 sceKernelCreateVpl<br /> 0x57CF62DD sceKernelGetThreadmanIdType<br /> 0x58B1F937 sceKernelPollSema<br /> 0x5BF4DD27 sceKernelLockMutexCB<br /> 0x5F32BEAA sceKernelReferVTimerStatus<br /> 0x60107536 sceKernelDeleteLwMutex<br /> 0x616403BA sceKernelTerminateThread<br /> 0x623AE665 sceKernelTryAllocateFpl<br /> 0x627E6F3A sceKernelReferSystemStatus<br /> 0x64D4540E sceKernelReferThreadProfiler<br /> 0x65F54FFB _sceKernelAllocateTlspl<br /> 0x6652B8CA sceKernelSetAlarm<br /> 0x68DA9E36 sceKernelDelayThreadCB<br /> 0x6B30100F sceKernelUnlockMutex<br /> 0x6D212BAC sceKernelWaitSemaCB<br /> 0x6E9EA350 _sceKernelReturnFromCallback<br /> 0x71BC9871 sceKernelChangeThreadPriority<br /> 0x721067F3 sceKernelReferTlsplStatus<br /> 0x72F3C145 sceKernelReleaseThreadEventHandler<br /> 0x730ED8BC sceKernelReferCallbackStatus<br /> 0x74829B76 sceKernelReceiveMsgPipe<br /> 0x75156E8F sceKernelResumeThread<br /> 0x7C0DC2A0 sceKernelCreateMsgPipe<br /> 0x7C41F2C2 sceKernelSendMsgPipeCB<br /> 0x7E65B999 sceKernelCancelAlarm<br /> 0x809CE29B sceKernelExitDeleteThread<br /> 0x812346E4 sceKernelClearEventFlag<br /> 0x8125221D sceKernelCreateMbx<br /> 0x8218B4DD sceKernelReferGlobalProfiler<br /> 0x82826F70 sceKernelSleepThreadCB<br /> 0x82BC5777 sceKernelGetSystemTimeWide<br /> 0x840E8133 sceKernelWaitThreadEndCB<br /> 0x86255ADA sceKernelDeleteMbx<br /> 0x876DBFAD sceKernelSendMsgPipe<br /> 0x87D4DD36 sceKernelCancelReceiveMbx<br /> 0x87D9223C sceKernelCancelMutex<br /> 0x884C9F90 sceKernelTrySendMsgPipe<br /> 0x89B3D48C sceKernelDeleteVpl<br /> 0x8DAFF657 sceKernelCreateTlspl<br /> 0x8FFDF9A2 sceKernelCancelSema<br /> 0x912354A7 sceKernelRotateThreadReadyQueue<br /> 0x94416130 sceKernelGetThreadmanIdList<br /> 0x94AA61EE sceKernelGetThreadCurrentPriority<br /> 0x9944F31F sceKernelSuspendThread<br /> 0x9ACE131E sceKernelSleepThread<br /> 0x9FA03CD3 sceKernelDeleteThread<br /> 0xA1F78052 _sceKernelReturnFromChangeStack<br /> 0xA66B0120 sceKernelReferEventFlagStatus<br /> 0xA8AA591F sceKernelCancelFpl<br /> 0xA8E8C846 sceKernelReferMbxStatus<br /> 0xA9C2CB9A sceKernelReferMutexStatus<br /> 0xAA73C935 sceKernelExitThread<br /> 0xAF36D708 sceKernelTryAllocateVpl<br /> 0xB011B11F sceKernelLockMutex<br /> 0xB2C25152 sceKernelSetSysClockAlarm<br /> 0xB3A59970 sceKernelGetVTimerBase<br /> 0xB736E9FF sceKernelFreeVpl<br /> 0xB7C18B77 sceKernelGetVTimerBaseWide<br /> 0xB7D098C6 sceKernelCreateMutex<br /> 0xBA4051D6 sceKernelCancelCallback<br /> 0xBA6B92E2 sceKernelSysClock2USec<br /> 0xBC6FEBC5 sceKernelReferSemaStatus<br /> 0xBC80EC7C sceKernelExtendThreadStack<br /> 0xBD123D9E sceKernelDelaySysClockThread<br /> 0xBED27435 sceKernelAllocateVpl<br /> 0xC07BB470 sceKernelCreateFpl<br /> 0xC0B3FFD2 sceKernelGetVTimerTimeWide<br /> 0xC11BA8C4 sceKernelNotifyCallback<br /> 0xC68D9437 sceKernelStartVTimer<br /> 0xC8CD158C sceKernelUSec2SysClockWide<br /> 0xCD203292 sceKernelCancelEventFlag<br /> 0xCEADEB47 sceKernelDelayThread<br /> 0xD0AEEE87 sceKernelStopVTimer<br /> 0xD13BDE95 sceKernelCheckThreadStack<br /> 0xD2D615EF sceKernelCancelVTimerHandler<br /> 0xD59EAD2F sceKernelWakeupThread<br /> 0xD6DA4BA1 sceKernelCreateSema<br /> 0xD8199E4C sceKernelReferFplStatus<br /> 0xD8B299AE sceKernelSetVTimerHandler<br /> 0xD979E9BF sceKernelAllocateFpl<br /> 0xDAA3F564 sceKernelReferAlarmStatus<br /> 0xDB738F35 sceKernelGetSystemTime<br /> 0xDF52098F sceKernelTryReceiveMsgPipe<br /> 0xE1619D7C sceKernelSysClock2USecWide<br /> 0xE7282CB6 sceKernelAllocateFplCB<br /> 0xE81CAF8F sceKernelCreateCallback<br /> 0xE9B3061E sceKernelSendMbx<br /> 0xEA748E31 sceKernelChangeCurrentThreadAttr<br /> 0xEC0A693F sceKernelAllocateVplCB<br /> 0xED1410E0 sceKernelDeleteFpl<br /> 0xEDBA5844 sceKernelDeleteCallback<br /> 0xEF9E4C70 sceKernelDeleteEventFlag<br /> 0xF0B7DA1C sceKernelDeleteMsgPipe<br /> 0xF3986382 sceKernelReceiveMbxCB<br /> 0xF475845D sceKernelStartThread<br /> 0xF6414A71 sceKernelFreeFpl<br /> 0xF8170FBE sceKernelDeleteMutex<br /> 0xFB6425C3 sceKernelSetVTimerTimeWide<br /> 0xFBFA697D sceKernelReceiveMsgPipeCB<br /> 0xFCCFAD26 sceKernelCancelWakeupThread<br /> 0xFFC36A14 sceKernelReferThreadRunStatus<br /> <br /> Library: ThreadMonForUser<br /> 0x13BA4700 sceKernelThreadMonStart<br /> 0xAC447E49 sceKernelThreadMonStop<br /> 0xBA56557C sceKernelThreadMonSetBuffer<br /> 0xCE710A2C sceKernelThreadMonReset<br /> <br /> Library: UtilsForUser<br /> 0x06FB8A63 sceKernelUtilsMt19937UInt<br /> 0x16641D70 sceKernelDcacheReadTag<br /> 0x27CC57F0 sceKernelLibcTime<br /> 0x346F6DA8 sceKernelUtilsSha1BlockUpdate<br /> 0x34B9FA9E sceKernelDcacheWritebackInvalidateRange<br /> 0x37FB5C42 sceKernelGetGPI<br /> 0x3EE30821 sceKernelDcacheWritebackRange<br /> 0x43C9A8DB sceKernelL1IcacheInvalidateRange<br /> 0x4FD31C9D sceKernelIcacheProbe<br /> 0x585F1C09 sceKernelUtilsSha1BlockResult<br /> 0x61E1E525 sceKernelUtilsMd5BlockUpdate<br /> 0x6AD345D7 sceKernelSetGPO<br /> 0x71EC4271 sceKernelLibcGettimeofday<br /> 0x77DFF087 sceKernelDcacheProbeRange<br /> 0x79D1C3FA sceKernelDcacheWritebackAll<br /> 0x80001C4C sceKernelDcacheProbe<br /> 0x840259F1 sceKernelUtilsSha1Digest<br /> 0x87E81561 sceKernelPutUserLog<br /> 0x91E4F6A7 sceKernelLibcClock<br /> 0x920F104A sceKernelIcacheInvalidateAll<br /> 0x9E5C5086 sceKernelUtilsMd5BlockInit<br /> 0xB435DEC5 sceKernelDcacheWritebackInvalidateAll<br /> 0xB8D24E78 sceKernelUtilsMd5BlockResult<br /> 0xBFA98062 sceKernelDcacheInvalidateRange<br /> 0xC2DF770E sceKernelIcacheInvalidateRange<br /> 0xC8186A58 sceKernelUtilsMd5Digest<br /> 0xE860E75E sceKernelUtilsMt19937Init<br /> 0xF8FCD5BA sceKernelUtilsSha1BlockInit<br /> 0xFB05FAD0 sceKernelIcacheReadTag<br /> <br /> Library: deflt<br /> 0x0BA3B9CC sceGzipGetCompressedData_deflt<br /> 0x106A3552 sceGzipGetName_deflt<br /> 0x1B5B82BC sceGzipIsValid_deflt<br /> 0x2EE39A64 sceZlibAdler32_deflt<br /> 0x44054E03 sceDeflateDecompress_deflt<br /> 0x6A548477 sceZlibGetCompressedData_deflt<br /> 0x6DBCF897 sceGzipDecompress_deflt<br /> 0x8AA82C92 sceGzipGetInfo_deflt<br /> 0xA9E4FB28 sceZlibDecompress_deflt<br /> 0xAFE01FD3 sceZlibGetInfo_deflt<br /> 0xB767F9A0 sceGzipGetComment_deflt<br /> 0xE46EB986 sceZlibIsValid_deflt<br /> <br /> Library: sceAac<br /> 0x02098C69 sceAacGetInfoToAddStreamData<br /> 0x23D35CAE sceAacTermResource<br /> 0x33B8C009 sceAacExit<br /> 0x506BF66C sceAacGetSumDecodedSample<br /> 0x523347D9 sceAacGetLoopNum<br /> 0x5CFFC57C sceAacInitResource<br /> 0x61AA43C9 sceAacEndEntry<br /> 0x6C05813B sceAacStartEntry<br /> 0x6DC7758A sceAacGetMaxOutputSample<br /> 0x7E4CFEE4 sceAacDecode<br /> 0xAC6DCBE3 sceAacNotifyAddStreamData<br /> 0xBBDD6403 sceAacSetLoopNum<br /> 0xD2DA2BBA sceAacResetPlayPosition<br /> 0xD7C51541 sceAacCheckStreamDataNeeded<br /> 0xE0C89ACA sceAacInit<br /> <br /> Library: sceAdler<br /> 0x9702EF11 sceAdler32<br /> <br /> Library: sceAtrac3plus<br /> 0x0C116E1B sceAtracLowLevelDecode<br /> 0x0E2A73AB sceAtracSetData<br /> 0x0FAE370E sceAtracSetHalfwayBufferAndGetID<br /> 0x132F1ECA sceAtracReinit<br /> 0x1575D64B sceAtracLowLevelInitDecoder<br /> 0x231FC6B7 _sceAtracGetContextAddress<br /> 0x2DD3E298 sceAtracGetBufferInfoForResetting<br /> 0x31668BAA sceAtracGetChannel<br /> 0x36FAABFB sceAtracGetNextSample<br /> 0x3F6E26B5 sceAtracSetHalfwayBuffer<br /> 0x5622B7C1 sceAtracSetAA3DataAndGetID<br /> 0x5CF9D852 sceAtracSetMOutHalfwayBuffer<br /> 0x5D268707 sceAtracGetStreamDataInfo<br /> 0x5DD66588 sceAtracSetAA3HalfwayBufferAndGetID<br /> 0x61EB33F5 sceAtracReleaseAtracID<br /> 0x644E5607 sceAtracResetPlayPosition<br /> 0x6A8C3CD5 sceAtracDecodeData<br /> 0x780F88D1 sceAtracGetAtracID<br /> 0x7A20E7AF sceAtracSetDataAndGetID<br /> 0x7DB31251 sceAtracAddStreamData<br /> 0x83BF7AFD sceAtracSetSecondBuffer<br /> 0x83E85EA0 sceAtracGetSecondBufferInfo<br /> 0x868120B5 sceAtracSetLoopNum<br /> 0x9AE849A7 sceAtracGetRemainFrame<br /> 0x9CD7DE03 sceAtracSetMOutHalfwayBufferAndGetID<br /> 0xA2BBA8BE sceAtracGetSoundSample<br /> 0xA554A158 sceAtracGetBitrate<br /> 0xB3B5D042 sceAtracGetOutputChannel<br /> 0xCA3CA3D2 sceAtracGetBufferInfoForReseting<br /> 0xD1F59FDB sceAtracStartEntry<br /> 0xD5C28CC0 sceAtracEndEntry<br /> 0xD6A5F2F7 sceAtracGetMaxSample<br /> 0xE23E3A35 sceAtracGetNextDecodePosition<br /> 0xE88F759B sceAtracGetInternalErrorInfo<br /> 0xECA32A99 sceAtracIsSecondBufferNeeded<br /> 0xFAA4F89B sceAtracGetLoopStatus<br /> <br /> Library: sceAudio<br /> 0x01562BA3 sceAudioOutput2Reserve<br /> 0x086E5895 sceAudioInputBlocking<br /> 0x136CAF51 sceAudioOutputBlocking<br /> 0x13F592BC sceAudioOutputPannedBlocking<br /> 0x2D53F36E sceAudioOutput2OutputBlocking<br /> 0x41EFADE7 sceAudioOneshotOutput<br /> 0x43196845 sceAudioOutput2Release<br /> 0x5EC81C55 sceAudioChReserve<br /> 0x63F2889C sceAudioOutput2ChangeLength<br /> 0x647CEF33 sceAudioOutput2GetRestSample<br /> 0x6D4BEC68 sceAudioInput<br /> 0x6FC46853 sceAudioChRelease<br /> 0x7DE61688 sceAudioInputInit<br /> 0x87B2E651 sceAudioWaitInputEnd<br /> 0x8C1009B2 sceAudioOutput<br /> 0x95FD0C2D sceAudioChangeChannelConfig<br /> 0xA633048E sceAudioPollInputEnd<br /> 0xA708C6A6 sceAudioGetInputLength<br /> 0xB011922F sceAudioGetChannelRestLength<br /> 0xB7E1D8E7 sceAudioChangeChannelVolume<br /> 0xCB2E439E sceAudioSetChannelDataLen<br /> 0xE2D56B2D sceAudioOutputPanned<br /> 0xE926D3FB sceAudioInputInitEx<br /> 0xE9D97901 sceAudioGetChannelRestLen<br /> <br /> Library: sceAudioRouting<br /> 0x28235C56 sceAudioRoutingGetVolumeMode<br /> 0x36FD8AA9 sceAudioRoutingSetMode<br /> 0x39240E7D sceAudioRoutingGetMode<br /> 0xBB548475 sceAudioRoutingSetVolumeMode<br /> <br /> Library: sceBase16<br /> 0x7AD4677A sceBase16Encoder<br /> 0xFF021EBB sceBase16Decoder<br /> <br /> Library: sceBase32<br /> 0x1D2F25FE sceBase32Encoder<br /> 0x79AE12DD sceBase32HexEncoder<br /> 0xC593B079 sceBase32HexDecoder<br /> 0xD5A58F29 sceBase32Decoder<br /> <br /> Library: sceBase64<br /> 0x3AE99AAF sceBase64Decoder<br /> 0x43543731 sceBase64Encoder<br /> <br /> Library: sceCcc<br /> 0x00D1378F sceCccUTF8toUTF16<br /> 0x068C4320 sceCccEncodeSJIS<br /> 0x17E1D813 sceCccSetErrorCharUTF8<br /> 0x41B724A5 sceCccUTF16toUTF8<br /> 0x4BDEB2A8 sceCccStrlenUTF16<br /> 0x67BF0D19 sceCccIsValidSJIS<br /> 0x6F82EE03 sceCccUTF8toSJIS<br /> 0x70ECAA10 sceCccUCStoJIS<br /> 0x76E33E9C sceCccIsValidUCS2<br /> 0x8406F469 sceCccEncodeUTF16<br /> 0x90521AC5 sceCccIsValidUTF8<br /> 0x92C05851 sceCccEncodeUTF8<br /> 0x953E6C10 sceCccDecodeSJIS<br /> 0xA2D5D209 sceCccIsValidJIS<br /> 0xA62E6E80 sceCccSJIStoUTF8<br /> 0xB4D1CBBF sceCccSetTable<br /> 0xB7D3C112 sceCccStrlenUTF8<br /> 0xB8476CF4 sceCccSetErrorCharUTF16<br /> 0xBD11EEF3 sceCccIsValidUnicode<br /> 0xBEB47224 sceCccSJIStoUTF16<br /> 0xC56949AD sceCccSetErrorCharSJIS<br /> 0xC6A8BEE2 sceCccDecodeUTF8<br /> 0xCC0A8BDA sceCccIsValidUTF16<br /> 0xD2B18485 sceCccIsValidUCS4<br /> 0xD9392CCB sceCccStrlenSJIS<br /> 0xE0CF8091 sceCccDecodeUTF16<br /> 0xF1B73D12 sceCccUTF16toSJIS<br /> 0xFB7846E2 sceCccJIStoUCS<br /> <br /> Library: sceCtrl<br /> 0x02BAAD91 sceCtrlGetSamplingCycle<br /> 0x0B588501 sceCtrlReadLatch<br /> 0x1F4011E6 sceCtrlSetSamplingMode<br /> 0x1F803938 sceCtrlReadBufferPositive<br /> 0x3A622550 sceCtrlPeekBufferPositive<br /> 0x60B81F86 sceCtrlReadBufferNegative<br /> 0x6841BE1A sceCtrlSetRapidFire<br /> 0x687660FA sceCtrlGetIdleCancelThreshold<br /> 0x6A2774F3 sceCtrlSetSamplingCycle<br /> 0xA68FD260 sceCtrlClearRapidFire<br /> 0xA7144800 sceCtrlSetIdleCancelThreshold<br /> 0xB1D0E5CD sceCtrlPeekLatch<br /> 0xC152080A sceCtrlPeekBufferNegative<br /> 0xDA6B76A1 sceCtrlGetSamplingMode<br /> <br /> Library: sceDeci2pForUser<br /> 0x46588220 sceKernelDeci2pOpen<br /> 0x5947AE64 sceKernelDeci2pClose<br /> 0x6E2E0BF3 sceKernelDeci2pWrite<br /> 0x9736CCD5 sceKernelDeci2pRead<br /> 0xA9542A53 sceKernelDeci2pRegisterCallback<br /> <br /> Library: sceDeflt<br /> 0x0BA3B9CC sceGzipGetCompressedData<br /> 0x106A3552 sceGzipGetName<br /> 0x1B5B82BC sceGzipIsValid<br /> 0x2EE39A64 sceZlibAdler32<br /> 0x44054E03 sceDeflateDecompress<br /> 0x6A548477 sceZlibGetCompressedData<br /> 0x6DBCF897 sceGzipDecompress<br /> 0x8AA82C92 sceGzipGetInfo<br /> 0xA9E4FB28 sceZlibDecompress<br /> 0xAFE01FD3 sceZlibGetInfo<br /> 0xB767F9A0 sceGzipGetComment<br /> 0xE46EB986 sceZlibIsValid<br /> <br /> Library: sceDisplay<br /> 0x0E20F177 sceDisplaySetMode<br /> 0x210EAB3A sceDisplayGetAccumulatedHcount<br /> 0x289D82FE sceDisplaySetFrameBuf<br /> 0x36CDFADE sceDisplayWaitVblank<br /> 0x40F1469C sceDisplayWaitVblankStartMulti<br /> 0x46F186C3 sceDisplayWaitVblankStartCB<br /> 0x4D4E10EC sceDisplayIsVblank<br /> 0x773DD3A3 sceDisplayGetCurrentHcount<br /> 0x77ED8B3A sceDisplayWaitVblankStartMultiCB<br /> 0x7ED59BC4 sceDisplaySetHoldMode<br /> 0x8EB9EC49 sceDisplayWaitVblankCB<br /> 0x984C27E7 sceDisplayWaitVblankStart<br /> 0x9C6EAAD7 sceDisplayGetVcount<br /> 0xB4F378FA sceDisplayIsForeground<br /> 0xDBA6C4C4 sceDisplayGetFramePerSec<br /> 0xDEA197D4 sceDisplayGetMode<br /> 0xEEDA2E54 sceDisplayGetFrameBuf<br /> <br /> Library: sceDmac<br /> 0x617F3FE6 sceDmacMemcpy<br /> <br /> Library: sceG729<br /> 0x13F1028A sceG729DecodeExit<br /> 0x17C11696 sceG729DecodeInitResource<br /> 0x3489D1F3 sceG729DecodeCore<br /> 0x55E14F75 sceG729DecodeInit<br /> 0x5A409D1B sceG729EncodeExit<br /> 0x74804D93 sceG729DecodeReset<br /> 0x890B86AE sceG729DecodeTermResource<br /> 0x8C87A2CA sceG729EncodeReset<br /> 0x94714D50 sceG729EncodeTermResource<br /> 0xAA1E5462 sceG729EncodeInitResource<br /> 0xCFCD367C sceG729EncodeInit<br /> 0xDB7259D5 sceG729EncodeCore<br /> <br /> Library: sceGameUpdate<br /> 0x596AD78C sceGameUpdateRun<br /> 0x5F5D98A6 sceGameUpdateAbort<br /> 0xBB4B68DE sceGameUpdateTerm<br /> 0xCBE69FB3 sceGameUpdateInit<br /> <br /> Library: sceGe_user<br /> 0x03444EB4 sceGeListSync<br /> 0x05DB22CE sceGeUnsetCallback<br /> 0x0BF608FB sceGeRestoreContext<br /> 0x1C0D95A6 sceGeListEnQueueHead<br /> 0x1F6752AD sceGeEdramGetSize<br /> 0x438A385A sceGeSaveContext<br /> 0x4C06E472 sceGeContinue<br /> 0x57C8945B sceGeGetMtx<br /> 0x5FB86AB0 sceGeListDeQueue<br /> 0xA4FC06A4 sceGeSetCallback<br /> 0xAB49E76A sceGeListEnQueue<br /> 0xB287BD61 sceGeDrawSync<br /> 0xB448EC0D sceGeBreak<br /> 0xB77905EA sceGeEdramSetAddrTranslation<br /> 0xDC93CFEF sceGeGetCmd<br /> 0xE0D68148 sceGeListUpdateStallAddr<br /> 0xE47E40E4 sceGeEdramGetAddr<br /> <br /> Library: sceHeap<br /> 0x0E875980 sceHeapReallocHeapMemory<br /> 0x1C84B58D sceHeapReallocHeapMemoryWithOption<br /> 0x2A0C2009 sceHeapGetMallinfo<br /> 0x2ABADC63 sceHeapFreeHeapMemory<br /> 0x2B7299D8 sceHeapAllocHeapMemoryWithOption<br /> 0x4929B40D sceHeapGetTotalFreeSize<br /> 0x7012BBDD sceHeapIsAllocatedHeapMemory<br /> 0x70210B73 sceHeapDeleteHeap<br /> 0x7DE281C2 sceHeapCreateHeap<br /> 0xA8E102A0 sceHeapAllocHeapMemory<br /> <br /> Library: sceHprm<br /> 0x208DB1BD sceHprmIsRemoteExist<br /> 0x219C58F1 sceHprmIsMicrophoneExist<br /> 0x2BCEC83E sceHprmPeekLatch<br /> 0x40D2F9F0 sceHprmReadLatch<br /> 0x444ED0B7 sceHprmUnregitserCallback<br /> 0x7E69EDA4 sceHprmIsHeadphoneExist<br /> 0xC7154136 sceHprmRegisterCallback<br /> 0xFD7DE6CD sceHprmUnregisterCallback<br /> <br /> Library: sceHttp<br /> 0x0282A3BD sceHttpGetContentLength<br /> 0x03D9526F sceHttpSetResolveRetry<br /> 0x06488A1C sceHttpSetCookieSendCallback<br /> 0x0809C831 sceHttpEnableRedirect<br /> 0x0B12ABFB sceHttpDisableCookie<br /> 0x0DAFA58F sceHttpEnableCookie<br /> 0x15540184 sceHttpDeleteHeader<br /> 0x1A0EBB69 sceHttpDisableRedirect<br /> 0x1CEDB9D4 sceHttpFlushCache<br /> 0x1F0FC3E3 sceHttpSetRecvTimeOut<br /> 0x2255551E sceHttpGetNetworkPspError<br /> 0x267618F4 sceHttpSetAuthInfoCallback<br /> 0x2A6C3296 sceHttpSetAuthInfoCB<br /> 0x2C3C82CF sceHttpFlushAuthList<br /> 0x3A67F306 sceHttpSetCookieRecvCallback<br /> 0x3EABA285 sceHttpAddExtraHeader<br /> 0x47347B50 sceHttpCreateRequest<br /> 0x47940436 sceHttpSetResolveTimeOut<br /> 0x4CC7D78F sceHttpGetStatusCode<br /> 0x5152773B sceHttpDeleteConnection<br /> 0x54E7DF75 sceHttpIsRequestInCache<br /> 0x569A1481 sceHttpsSetSslCallback<br /> 0x59E6D16F sceHttpEnableCache<br /> 0x68AB0F86 sceHttpsInitWithPath<br /> 0x76D1363B sceHttpSaveSystemCookie<br /> 0x7774BF4C sceHttpAddCookie<br /> 0x78A0D3EC sceHttpEnableKeepAlive<br /> 0x78B54C09 sceHttpEndCache<br /> 0x87797BDD sceHttpsLoadDefaultCert<br /> 0x8ACD1F73 sceHttpSetConnectTimeOut<br /> 0x8EEFD953 sceHttpCreateConnection<br /> 0x9668864C sceHttpSetRecvBlockSize<br /> 0x96F16D3E sceHttpGetCookie<br /> 0x9988172D sceHttpSetSendTimeOut<br /> 0x9AFC98B2 sceHttpSendRequestInCacheFirstMode<br /> 0x9B1F1F36 sceHttpCreateTemplate<br /> 0x9FC5F10D sceHttpEnableAuth<br /> 0xA4496DE5 sceHttpSetRedirectCallback<br /> 0xA5512E01 sceHttpDeleteRequest<br /> 0xA6800C34 sceHttpInitCache<br /> 0xAB1540D5 sceHttpsGetSslError<br /> 0xAB1ABE07 sceHttpInit<br /> 0xAE948FEE sceHttpDisableAuth<br /> 0xB0C34B1D sceHttpSetCacheContentLengthMaxSize<br /> 0xB3FAF831 sceHttpsDisableOption<br /> 0xB509B09E sceHttpCreateRequestWithURL<br /> 0xBAC31BF1 sceHttpsEnableOption<br /> 0xBB70706F sceHttpSendRequest<br /> 0xC10B6BD9 sceHttpAbortRequest<br /> 0xC6330B0D sceHttpChangeHttpVersion<br /> 0xC7EF2559 sceHttpDisableKeepAlive<br /> 0xC98CBBA7 sceHttpSetResHeaderMaxSize<br /> 0xCCBD167A sceHttpDisableCache<br /> 0xCDF8ECB9 sceHttpCreateConnectionWithURL<br /> 0xD081EC8F sceHttpGetNetworkErrno<br /> 0xD11DAB01 sceHttpsGetCaList<br /> 0xD1C8945E sceHttpEnd<br /> 0xD70D4847 sceHttpGetProxy<br /> 0xDB266CCF sceHttpGetAllHeader<br /> 0xE4D21302 sceHttpsInit<br /> 0xEDEEB999 sceHttpReadData<br /> 0xF0F46C62 sceHttpSetProxy<br /> 0xF1657B22 sceHttpLoadSystemCookie<br /> 0xF49934F6 sceHttpSetMallocFunction<br /> 0xF9D8EB63 sceHttpsEnd<br /> 0xFCF8C055 sceHttpDeleteTemplate<br /> <br /> Library: sceImpose<br /> 0x24FD7BCF sceImposeGetLanguageMode<br /> 0x36AA6E91 sceImposeSetLanguageMode<br /> 0x72189C48 sceImposeSetUMDPopup<br /> 0x8C943191 sceImposeGetBatteryIconStatus<br /> 0x8F6E3518 sceImposeGetBacklightOffTime<br /> 0x967F6D4A sceImposeSetBacklightOffTime<br /> 0xE0887BC8 sceImposeGetUMDPopup<br /> <br /> Library: sceJpeg<br /> 0x04B5AE02 sceJpegMJpegCsc<br /> 0x04B93CEF sceJpegDecodeMJpeg<br /> 0x227662D7 sceJpegDecodeMJpegYCbCrSuccessively<br /> 0x48B602B7 sceJpegDeleteMJpeg<br /> 0x64B6F978 sceJpegDecodeMJpegSuccessively<br /> 0x67F0ED84 sceJpegCsc<br /> 0x7D2F3D7F sceJpegFinishMJpeg<br /> 0x8F2BB012 sceJpegGetOutputInfo<br /> 0x91EED83C sceJpegDecodeMJpegYCbCr<br /> 0x9D47469C sceJpegCreateMJpeg<br /> 0xA06A75C4 sceJpegMJpegCscWithColorOption<br /> 0xAC9E70E6 sceJpegInitMJpeg<br /> <br /> Library: sceMd5<br /> 0x19884A15 sceMd5BlockInit<br /> 0x4876AFFF sceMd5BlockResult<br /> 0x98E31A9E sceMd5Digest<br /> 0xA30206C2 sceMd5BlockUpdate<br /> <br /> Library: sceMp3<br /> 0x07EC321A sceMp3ReserveMp3Handle<br /> 0x0840E808 sceMp3ResetPlayPositionByFrame<br /> 0x0DB149F4 sceMp3NotifyAddStreamData<br /> 0x1B839B83 sceMp3LowLevelInit<br /> 0x2A368661 sceMp3ResetPlayPosition<br /> 0x3548AEC8 sceMp3GetFrameNum<br /> 0x354D27EA sceMp3GetSumDecodedSample<br /> 0x35750070 sceMp3InitResource<br /> 0x3C2FA058 sceMp3TermResource<br /> 0x3CEF484F sceMp3SetLoopNum<br /> 0x44E07129 sceMp3Init<br /> 0x732B042A sceMp3EndEntry<br /> 0x7F696782 sceMp3GetMp3ChannelNum<br /> 0x87677E40 sceMp3GetBitRate<br /> 0x87C263D1 sceMp3GetMaxOutputSample<br /> 0x8AB81558 sceMp3StartEntry<br /> 0x8F450998 sceMp3GetSamplingRate<br /> 0xA703FE0F sceMp3GetInfoToAddStreamData<br /> 0xAE6D2027 sceMp3GetMPEGVersion<br /> 0xD021C0FB sceMp3Decode<br /> 0xD0A56296 sceMp3CheckStreamDataNeeded<br /> 0xD8F54A51 sceMp3GetLoopNum<br /> 0xE3EE2C81 sceMp3LowLevelDecode<br /> 0xF5478233 sceMp3ReleaseMp3Handle<br /> <br /> Library: sceMp4<br /> 0x01C76489 sceMp4TrackSampleBufDestruct<br /> 0x0F0187D2 sceMp4GetAvcTrackInfoData<br /> 0x10EE0D2C sceMp4AacDecodeInit<br /> 0x113E9E7B sceMp4GetNumberOfMetaData<br /> 0x131BDE57 sceMp4InitAu<br /> 0x17EAA97D sceMp4GetAvcAuWithoutSampleBuf<br /> 0x28CCB940 sceMp4GetTrackEditList<br /> 0x3069C2B5 sceMp4GetAvcParamSet<br /> 0x31BCD7E0 sceMp4TrackSampleBufPut<br /> 0x427BEF7F sceMp4GetTrackNumOfEditList<br /> 0x496E8A65 sceMp4TrackSampleBufFlush<br /> 0x4ED4AB1E sceMp4AacDecodeInitResource<br /> 0x4FB5B756 sceMp4GetMetaDataInfo<br /> 0x503A3CBA sceMp4GetAvcAu<br /> 0x532029B8 sceMp4GetAacAuWithoutSampleBuf<br /> 0x538C2057 sceMp4Delete<br /> 0x5601A6F0 sceMp4GetAacAu<br /> 0x5D72B333 sceMp4AacDecodeExit<br /> 0x5EB65F26 sceMp4GetNumberOfSpecificTrack<br /> 0x6710FE77 sceMp4UnregistTrack<br /> 0x68651CBC sceMp4Init<br /> 0x7443AF1D sceMp4GetMovieInfo<br /> 0x74A1CA3E sceMp4SearchSyncSampleNum<br /> 0x7663CB5C sceMp4AacDecode<br /> 0x7ADFD01C sceMp4RegistTrack<br /> 0x7D332394 sceMp4AacDecodeTermResource<br /> 0x8754ECB8 sceMp4TrackSampleBufAvailableSize<br /> 0x9042B257 sceMp4Finish<br /> 0x9C8F4FC1 sceMp4TrackSampleBufConstruct<br /> 0x9CE6F5CF sceMp4GetAacTrackInfoData<br /> 0xA6C724DC sceMp4GetSampleNum<br /> 0xB1221EE7 sceMp4Create<br /> 0xB4B400D1 sceMp4GetSampleNumWithTimeStamp<br /> 0xBCA9389C sceMp4TrackSampleBufQueryMemSize<br /> 0xD2AC9A7E sceMp4GetMetaData<br /> 0xD8250B75 sceMp4PutSampleNum<br /> 0xF7C51EC1 sceMp4GetSampleInfo<br /> <br /> Library: sceMpeg<br /> 0x01977054 sceMpegGetUserdataAu<br /> 0x0558B075 sceMpegAvcCopyYCbCr<br /> 0x0E3C2E9D sceMpegAvcDecode<br /> 0x0F6C18D7 sceMpegAvcDecodeDetail<br /> 0x11F95CF1 sceMpegGetAvcNalAu<br /> 0x13407F13 sceMpegRingbufferDestruct<br /> 0x167AFD9E sceMpegInitAu<br /> 0x211A057C sceMpegAvcQueryYCbCrSize<br /> 0x21FF80E4 sceMpegQueryStreamOffset<br /> 0x234586AE sceMpegChangeGetAvcAuMode<br /> 0x31BD0272 sceMpegAvcCsc<br /> 0x37295ED8 sceMpegRingbufferConstruct<br /> 0x3C37A7A6 sceMpegNextAvcRpAu<br /> 0x42560F23 sceMpegRegistStream<br /> 0x4571CC64 sceMpegAvcDecodeFlush<br /> 0x500F0429 sceMpegFlushStream<br /> 0x591A4AA2 sceMpegUnRegistStream<br /> 0x606A4649 sceMpegDelete<br /> 0x611E9E11 sceMpegQueryStreamSize<br /> 0x63B9536A sceMpegAvcResourceGetAvcDecTopAddr<br /> 0x67179B1B sceMpegAvcInitYCbCr<br /> 0x682A619B sceMpegInit<br /> 0x707B7629 sceMpegFlushAllStream<br /> 0x740FCCD1 sceMpegAvcDecodeStop<br /> 0x769BEBB6 sceMpegRingbufferQueryPackNum<br /> 0x800C44DF sceMpegAtracDecode<br /> 0x8160A2FE sceMpegAvcResourceFinish<br /> 0x874624D6 sceMpegFinish<br /> 0x8C1E027D sceMpegGetPcmAu<br /> 0x921FCCCF sceMpegGetAvcEsAu<br /> 0x9DCFB7EA sceMpegChangeGetAuMode<br /> 0xA11C7026 sceMpegAvcDecodeMode<br /> 0xA780CF7E sceMpegMallocAvcEsBuf<br /> 0xAB0E9556 sceMpegAvcDecodeDetailIndex<br /> 0xAF26BB01 sceMpegAvcResourceGetAvcEsBuf<br /> 0xB240A59E sceMpegRingbufferPut<br /> 0xB5F6DC87 sceMpegRingbufferAvailableSize<br /> 0xC02CF6B5 sceMpegQueryPcmEsSize<br /> 0xC132E22F sceMpegQueryMemSize<br /> 0xC45C99CC sceMpegQueryUserdataEsSize<br /> 0xCEB870B1 sceMpegFreeAvcEsBuf<br /> 0xD7A29F46 sceMpegRingbufferQueryMemSize<br /> 0xD8C5F121 sceMpegCreate<br /> 0xE1CE83A7 sceMpegGetAtracAu<br /> 0xF0EB1125 sceMpegAvcDecodeYCbCr<br /> 0xF2930C9C sceMpegAvcDecodeStopYCbCr<br /> 0xF5E7EA31 sceMpegAvcConvertToYuv420<br /> 0xF8DCB679 sceMpegQueryAtracEsSize<br /> 0xFCBDB5AD sceMpegAvcResourceInit<br /> 0xFE246728 sceMpegGetAvcAu<br /> <br /> Library: sceMt19937<br /> 0xECF5D379 sceMt19937Init<br /> 0xF40C98E6 sceMt19937UInt<br /> <br /> Library: sceNet<br /> 0x0BF0A3AE sceNetGetLocalEtherAddr<br /> 0x281928A9 sceNetTerm<br /> 0x39AF39A6 sceNetInit<br /> 0x50647530 sceNetFreeThreadinfo<br /> 0x89360950 sceNetEtherNtostr<br /> 0xAD6844C6 sceNetThreadAbort<br /> 0xCC393E48 sceNetGetMallocStat<br /> 0xD27961C9 sceNetEtherStrton<br /> <br /> Library: sceNetAdhoc<br /> 0x0B2228E9 sceNetAdhocGameModeDeleteReplica<br /> 0x157E6225 sceNetAdhocPtpClose<br /> 0x3278AB0C sceNetAdhocGameModeCreateReplica<br /> 0x4D2CE199 sceNetAdhocGetSocketAlert<br /> 0x4DA4C788 sceNetAdhocPtpSend<br /> 0x6F92741B sceNetAdhocPdpCreate<br /> 0x73BFD52D sceNetAdhocSetSocketAlert<br /> 0x7A662D6B sceNetAdhocPollSocket<br /> 0x7F27BB5E sceNetAdhocPdpDelete<br /> 0x7F75C338 sceNetAdhocGameModeCreateMaster<br /> 0x877F6D66 sceNetAdhocPtpOpen<br /> 0x8BEA2B3E sceNetAdhocPtpRecv<br /> 0x98C204C8 sceNetAdhocGameModeUpdateMaster<br /> 0x9AC2EEAC sceNetAdhocPtpFlush<br /> 0x9DF81198 sceNetAdhocPtpAccept<br /> 0xA0229362 sceNetAdhocGameModeDeleteMaster<br /> 0xA62C6F57 sceNetAdhocTerm<br /> 0xABED3790 sceNetAdhocPdpSend<br /> 0xB9685118 sceNetAdhocGetPtpStat<br /> 0xC7C1FC57 sceNetAdhocGetPdpStat<br /> 0xDFE53E03 sceNetAdhocPdpRecv<br /> 0xE08BDAC1 sceNetAdhocPtpListen<br /> 0xE1D621D7 sceNetAdhocInit<br /> 0xFA324B4E sceNetAdhocGameModeUpdateReplica<br /> 0xFC6FC07B sceNetAdhocPtpConnect<br /> <br /> Library: sceNetAdhocDiscover<br /> 0x52DE1B97 sceNetAdhocDiscoverUpdate<br /> 0x941B3877 sceNetAdhocDiscoverInitStart<br /> 0x944DDBC6 sceNetAdhocDiscoverGetStatus<br /> 0xA2246614 sceNetAdhocDiscoverTerm<br /> 0xA423A21B sceNetAdhocDiscoverRequestSuspend<br /> 0xF7D13214 sceNetAdhocDiscoverStop<br /> <br /> Library: sceNetAdhocMatching<br /> 0x2A2A1E07 sceNetAdhocMatchingInit<br /> 0x32B156B3 sceNetAdhocMatchingStop<br /> 0x40F8F435 sceNetAdhocMatchingGetPoolMaxAlloc<br /> 0x5E3D4B79 sceNetAdhocMatchingSelectTarget<br /> 0x7945ECDA sceNetAdhocMatchingTerm<br /> 0x8F58BEDF sceNetAdhocMatchingCancelTargetWithOpt<br /> 0x93EF3843 sceNetAdhocMatchingStart<br /> 0x9C5CFB7D sceNetAdhocMatchingGetPoolStat<br /> 0xB58E61B7 sceNetAdhocMatchingSetHelloOpt<br /> 0xB5D96C2A sceNetAdhocMatchingGetHelloOpt<br /> 0xC58BCD9E sceNetAdhocMatchingGetMembers<br /> 0xCA5EDA6F sceNetAdhocMatchingCreate<br /> 0xEA3C6108 sceNetAdhocMatchingCancelTarget<br /> 0xEC19337D sceNetAdhocMatchingAbortSendData<br /> 0xF16EAF4F sceNetAdhocMatchingDelete<br /> 0xF79472D7 sceNetAdhocMatchingSendData<br /> <br /> Library: sceNetAdhocctl<br /> 0x08FFF7A0 sceNetAdhocctlScan<br /> 0x0AD043ED sceNetAdhocctlConnect<br /> 0x1FF89745 sceNetAdhocctlJoinEnterGameMode<br /> 0x20B317A0 sceNetAdhocctlAddHandler<br /> 0x34401D65 sceNetAdhocctlDisconnect<br /> 0x362CBE8F sceNetAdhocctlGetAdhocId<br /> 0x5A014CE0 sceNetAdhocctlGetGameModeInfo<br /> 0x5E7F79C9 sceNetAdhocctlJoin<br /> 0x6402490B sceNetAdhocctlDelHandler<br /> 0x75ECD386 sceNetAdhocctlGetState<br /> 0x81AEE1BE sceNetAdhocctlGetScanInfo<br /> 0x8916C003 sceNetAdhocctlGetNameByAddr<br /> 0x8DB83FDC sceNetAdhocctlGetPeerInfo<br /> 0x99560ABE sceNetAdhocctlGetAddrByName<br /> 0x9D689E13 sceNetAdhocctlTerm<br /> 0xA5C055CE sceNetAdhocctlCreateEnterGameMode<br /> 0xB0B80E80 sceNetAdhocctlCreateEnterGameModeMin<br /> 0xCF8E084D sceNetAdhocctlExitGameMode<br /> 0xDED9D28E sceNetAdhocctlGetParameter<br /> 0xE162CB14 sceNetAdhocctlGetPeerList<br /> 0xE26F226E sceNetAdhocctlInit<br /> 0xEC0635C1 sceNetAdhocctlCreate<br /> <br /> Library: sceNetApDialogDummy<br /> 0x3811281E sceNetApDialogDummyConnect<br /> 0xBB73FF67 sceNetApDialogDummyInit<br /> 0xCA9BE5BF sceNetApDialogDummyGetState<br /> 0xF213BE65 sceNetApDialogDummyTerm<br /> <br /> Library: sceNetApctl<br /> 0x24FE91A1 sceNetApctlDisconnect<br /> 0x2935C45B sceNetApctlGetBSSDescEntry2<br /> 0x2BEFDF23 sceNetApctlGetInfo<br /> 0x5963991B sceNetApctlDelHandler<br /> 0x5DEAC81B sceNetApctlGetState<br /> 0x8ABADD51 sceNetApctlAddHandler<br /> 0xA3E77E13 sceNetApctlScanSSID2<br /> 0xB3EDD0EC sceNetApctlTerm<br /> 0xCFB957C6 sceNetApctlConnect<br /> 0xE2F91F9B sceNetApctlInit<br /> 0xF25A5006 sceNetApctlGetBSSDescIDList2<br /> <br /> Library: sceNetIfhandle<br /> 0xC80181A2 sceNetGetDropRate<br /> 0xFD8585E1 sceNetSetDropRate<br /> <br /> Library: sceNetInet<br /> 0x05038FC7 sceNetInetSendto<br /> 0x162E6FD5 sceNetInetGetsockname<br /> 0x17943399 sceNetInetInit<br /> 0x1A33F9AE sceNetInetBind<br /> 0x1BDF5D13 sceNetInetInetAton<br /> 0x2FE71FE7 sceNetInetSetsockopt<br /> 0x39B0C7D3 sceNetInetGetUdpcbstat<br /> 0x410B34AA sceNetInetConnect<br /> 0x4A114C7C sceNetInetGetsockopt<br /> 0x4CFE4E56 sceNetInetShutdown<br /> 0x5BE8D595 sceNetInetSelect<br /> 0x774E36F4 sceNetInetSendmsg<br /> 0x7AA671BC sceNetInetSend<br /> 0x805502DD sceNetInetCloseWithRST<br /> 0x80A21ABD sceNetInetSocketAbort<br /> 0x8B7B220F sceNetInetSocket<br /> 0x8CA3A97E sceNetInetGetPspError<br /> 0x8D7284EA sceNetInetClose<br /> 0xA9ED66B9 sceNetInetTerm<br /> 0xB3888AD4 sceNetInetGetTcpcbstat<br /> 0xB75D5B0A sceNetInetInetAddr<br /> 0xC91142E4 sceNetInetRecvfrom<br /> 0xCDA85C99 sceNetInetRecv<br /> 0xD0792666 sceNetInetInetNtop<br /> 0xD10A1A7A sceNetInetListen<br /> 0xDB094E1B sceNetInetAccept<br /> 0xE247B6D6 sceNetInetGetpeername<br /> 0xE30B8C19 sceNetInetInetPton<br /> 0xEECE61D2 sceNetInetRecvmsg<br /> 0xFAABB1DD sceNetInetPoll<br /> 0xFBABE411 sceNetInetGetErrno<br /> <br /> Library: sceNetResolver<br /> 0x12748EB9 sceNetResolverWaitAsync<br /> 0x14C17EF9 sceNetResolverStartNtoAAsync<br /> 0x224C5F44 sceNetResolverStartNtoA<br /> 0x244172AF sceNetResolverCreate<br /> 0x4EE99358 sceNetResolverPollAsync<br /> 0x6138194A sceNetResolverTerm<br /> 0x629E2FB7 sceNetResolverStartAtoN<br /> 0x808F6063 sceNetResolverStop<br /> 0x94523E09 sceNetResolverDelete<br /> 0xAAC09184 sceNetResolverStartAtoNAsync<br /> 0xF3370E61 sceNetResolverInit<br /> <br /> Library: sceNetUpnp<br /> 0x27045362 sceNetUpnpGetNatInfo<br /> 0x3432B2E5 sceNetUpnpStart<br /> 0x3E32ED9E sceNetUpnpStop<br /> 0x540491EF sceNetUpnpTerm<br /> 0xE24220B5 sceNetUpnpInit<br /> <br /> Library: sceNp<br /> 0x1D60AE4B sceNpGetChatRestrictionFlag<br /> 0x37E1E274 sceNpTerm<br /> 0x4B5C71C8 sceNpGetOnlineId<br /> 0x633B5F71 sceNpGetNpId<br /> 0x7E0864DF sceNpGetUserProfile<br /> 0x857B47D3 sceNpInit<br /> 0xA0BE3C4B sceNpGetAccountRegion<br /> 0xBB069A87 sceNpGetContentRatingFlag<br /> 0xCDCC21D3 sceNpGetMyLanguages<br /> <br /> Library: sceNpAuth<br /> 0x3F1C1F70 sceNpAuthGetTicket<br /> 0x4EC1F667 sceNpAuthTerm<br /> 0x5A3CB57A sceNpAuthGetTicketParam<br /> 0x6900F084 sceNpAuthGetEntitlementById<br /> 0x72BB0467 sceNpAuthDestroyRequest<br /> 0x75FB0AE3 sceNpAuthGetEntitlementIdList<br /> 0xA1DE86F8 sceNpAuthInit<br /> 0xCD86A656 sceNpAuthCreateStartRequest<br /> 0xD99455DD sceNpAuthAbortRequest<br /> 0xF4531ADC sceNpAuthGetMemoryStat<br /> <br /> Library: sceNpCommerce2<br /> 0x005B5F20 sceNpCommerce2GetProductInfoStart<br /> 0x05E7AFBC sceNpCommerce2GetGameProductInfoFromContentInfo<br /> 0x0E9956E3 sceNpCommerce2Init<br /> 0x1888A9FE sceNpCommerce2DestroyReq<br /> 0x1C85ED88 sceNpCommerce2GetPrice<br /> 0x1C952DCB sceNpCommerce2GetGameProductInfo<br /> 0x2B25F6E9 sceNpCommerce2CreateSessionStart<br /> 0x3371D5F1 sceNpCommerce2GetProductInfoCreateReq<br /> 0x490210E0 sceNpCommerce2DestroyGetProductInfoResult<br /> 0x4ECD4503 sceNpCommerce2CreateSessionCreateReq<br /> 0x54FE8871 sceNpCommerce2GetCategoryInfo<br /> 0x57C8BD4E sceNpCommerce2GetCategoryInfoFromContentInfo<br /> 0x590A3229 sceNpCommerce2GetSessionInfo<br /> 0x5D8C2D99 sceNpCommerce2GetCategoryContentsCreateReq<br /> 0x6592FE83 sceNpCommerce2GetContentRatingDescriptor<br /> 0x6A2AE572 sceNpCommerce2GetContentRatingInfoFromGameProductInfo<br /> 0x6F1FE37F sceNpCommerce2CreateCtx<br /> 0x80A7AFDB sceNpCommerce2GetCategoryContentsGetResult<br /> 0xA5A34EA4 sceNpCommerce2Term<br /> 0xAA4A1E3D sceNpCommerce2GetProductInfoGetResult<br /> 0xB0D7AA90 sceNpCommerce2GetContentInfo<br /> 0xBC61FFC8 sceNpCommerce2CreateSessionGetResult<br /> 0xC5505A19 sceNpCommerce2GetContentRatingInfoFromCategoryInfo<br /> 0xC7F32242 sceNpCommerce2AbortReq<br /> 0xCEAB1829 sceNpCommerce2InitGetCategoryContentsResult<br /> 0xDD6758FA sceNpCommerce2GetCategoryContentsStart<br /> 0xED85ACCE sceNpCommerce2DestroyGetCategoryContentsResult<br /> 0xF2278B90 sceNpCommerce2GetGameSkuInfoFromGameProductInfo<br /> 0xF297AB9C sceNpCommerce2DestroyCtx<br /> 0xFC30C19E sceNpCommerce2InitGetProductInfoResult<br /> <br /> Library: sceNpMatching2<br /> 0x12C5A111 sceNpMatching2GetRoomDataExternalList<br /> 0x1421514B sceNpMatching2SetDefaultRoomEventOptParam<br /> 0x190FF903 sceNpMatching2ContextStart<br /> 0x22F38DAF sceNpMatching2GetMemoryStat<br /> 0x2B3892FC sceNpMatching2ContextStop<br /> 0x2E61F6E1 sceNpMatching2Init<br /> 0x3892E9A6 sceNpMatching2SignalingGetConnectionInfo<br /> 0x3DE70241 sceNpMatching2DestroyContext<br /> 0x495E97BD sceNpMatching2GrantRoomOwner<br /> 0x4EE3A8EC sceNpMatching2GetServerInfo<br /> 0x5030CC53 sceNpMatching2CreateContext<br /> 0x55F7837F sceNpMatching2SendRoomChatMessage<br /> 0x5C7DB6A4 sceNpMatching2GetRoomMemberDataInternalList<br /> 0x631682CC sceNpMatching2SetDefaultRequestOptParam<br /> 0x6D6D0C75 sceNpMatching2SignalingGetConnectionStatus<br /> 0x7BBFC427 sceNpMatching2JoinRoom<br /> 0x7D1D5F5E sceNpMatching2SetUserInfo<br /> 0x7DAA8A90 sceNpMatching2SetRoomMemberDataInternal<br /> 0x80F61558 sceNpMatching2GetRoomMemberIdListLocal<br /> 0x81C13E6D sceNpMatching2SearchRoom<br /> 0x8BF37D8C sceNpMatching2Term<br /> 0x8CD109E7 sceNpMatching2SignalingGetPeerNetInfo<br /> 0x9462C05A sceNpMatching2SignalingCancelPeerNetInfo<br /> 0x97529ECC sceNpMatching2KickoutRoomMember<br /> 0x9A67F5D0 sceNpMatching2SetSignalingOptParam<br /> 0xA3C298D1 sceNpMatching2RegisterSignalingCallback<br /> 0xA53E7C69 sceNpMatching2GetWorldInfoList<br /> 0xA5775DBF sceNpMatching2GetRoomMemberDataInternal<br /> 0xAAD0946A sceNpMatching2CreateJoinRoom<br /> 0xC7E72EC5 sceNpMatching2GetSignalingOptParamLocal<br /> 0xC870535A sceNpMatching2LeaveRoom<br /> 0xC8FC5D41 sceNpMatching2GetUserInfoList<br /> 0xD13491AB sceNpMatching2SetDefaultRoomMessageOptParam<br /> 0xD7D4AEB2 sceNpMatching2SetRoomDataExternal<br /> 0xDFEDB642 sceNpMatching2SignalingGetPeerNetInfoResult<br /> 0xE313E586 sceNpMatching2GetRoomDataInternal<br /> 0xE6C93DBD sceNpMatching2SetRoomDataInternal<br /> 0xEF683F4F sceNpMatching2GetRoomDataInternalLocal<br /> 0xF22C7ADC sceNpMatching2GetRoomMemberDataInternalLocal<br /> 0xF47342FC sceNpMatching2GetServerIdListLocal<br /> 0xF739BE92 sceNpMatching2GetRoomPasswordLocal<br /> 0xF940D9AD sceNpMatching2SendRoomMessage<br /> 0xFADBA9DB sceNpMatching2AbortRequest<br /> 0xFBF494C0 sceNpMatching2GetRoomMemberDataExternalList<br /> 0xFF32EA05 sceNpMatching2SignalingGetLocalNetInfo<br /> <br /> Library: sceNpService<br /> 0x00ACFAC3 sceNpServiceTerm<br /> 0x0F8F5821 sceNpServiceInit<br /> 0x168B8DE5 sceNpManagerSigninUpdateGetStatus<br /> 0x174D0D24 sceNpRosterDeleteBlockListEntry<br /> 0x1DA3E950 sceNpManagerSigninUpdateInitStart<br /> 0x250488F9 sceNpServiceGetMemoryStat<br /> 0x268C009D sceNpManagerSigninUpdateAbort<br /> 0x389A0D44 sceNpLookupNpId<br /> 0x4B4E4E71 sceNpLookupAbortTransaction<br /> 0x4E851B10 sceNpRosterGetFriendListEntry<br /> 0x506C318D sceNpRosterGetBlockListEntry<br /> 0x5494274B sceNpLookupCreateTransactionCtx<br /> 0x58251346 sceNpRosterGetFriendListEntryCount<br /> 0x5F5E32AF sceNpRosterAbort<br /> 0x66C64821 sceNpRosterDeleteRequest<br /> 0x72A1CE0D sceNpRosterDeleteFriendListEntry<br /> 0x75DACB57 sceNpRosterAcceptFriendListEntry<br /> 0x78802D5F sceNpManagerSigninUpdateShutdownStart<br /> 0x788F2B5E sceNpRosterAddFriendListEntry<br /> 0x90E4DB6A sceNpLookupUserProfile<br /> 0xA01443AA sceNpRosterGetBlockListEntryCount<br /> 0xA164CACC sceNpRosterGetFriendListMessage<br /> 0xA670D3A3 sceNpLookupDestroyTransactionCtx<br /> 0xBE22EEA3 sceNpRosterCreateRequest<br /> 0xC76F55ED sceNpLookupTitleSmallStorage<br /> 0xFC0BC8DB sceNpRosterAddBlockListEntry<br /> <br /> Library: sceOpenPSID<br /> 0xC69BEBCE sceOpenPSIDGetOpenPSID<br /> <br /> Library: sceP3da<br /> 0x013016F3 sceP3daBridgeCore<br /> 0x374500A5 sceP3daBridgeInit<br /> 0x43F756A2 sceP3daBridgeExit<br /> <br /> Library: sceParseHttp<br /> 0x8077A433 sceParseHttpStatusLine<br /> 0xAD7BFDEF sceParseHttpResponseHeader<br /> <br /> Library: sceParseUri<br /> 0x062BB07E sceUriUnescape<br /> 0x49E950EC sceUriEscape<br /> 0x568518C9 sceUriParse<br /> 0x7EE318AF sceUriBuild<br /> 0x8885A782 sceUriSweepPath<br /> 0x8AA55D17 sceUriMerge<br /> <br /> Library: scePower<br /> 0x04B7766E scePowerRegisterCallback<br /> 0x0AFD0D8B scePowerIsBatteryExist<br /> 0x1E490401 scePowerIsBatteryCharging<br /> 0x2085D15D scePowerGetBatteryLifePercent<br /> 0x34F9C463 scePowerGetPllClockFrequencyInt<br /> 0x469989AD scePowerSetClockFrequency<br /> 0x478FE6F5 scePowerGetBusClockFrequency<br /> 0x843FBF43 scePowerSetCpuClockFrequency<br /> 0x87440F5E scePowerIsPowerOnline<br /> 0x8EFB3FA2 scePowerGetBatteryLifeTime<br /> 0x9BADB3EB scePowerGetBusClockFrequencyFloat<br /> 0xA85880D0 scePowerCheckWlanCoexistenceClock<br /> 0xAC32C9CC scePowerRequestSuspend<br /> 0xB1A52C83 scePowerGetCpuClockFrequencyFloat<br /> 0xB8D7B3FB scePowerSetBusClockFrequency<br /> 0xBD681969 scePowerGetBusClockFrequencyInt<br /> 0xD3075926 scePowerIsLowBattery<br /> 0xDB9D28DD scePowerUnregitserCallback<br /> 0xDFA8BAF8 scePowerUnregisterCallback<br /> 0xEA382A27 scePowerGetPllClockFrequencyFloat<br /> 0xEBD177D6 scePowerSetClockFrequency350<br /> 0xEFD3C963 scePowerTick<br /> 0xFDB5BFE9 scePowerGetCpuClockFrequencyInt<br /> 0xFEE03A2F scePowerGetCpuClockFrequency<br /> <br /> Library: scePsmf<br /> 0x0BA514E5 scePsmfGetVideoInfo<br /> 0x0C120E1D scePsmfSpecifyStreamWithStreamTypeNumber<br /> 0x1E6D9013 scePsmfSpecifyStreamWithStreamType<br /> 0x2673646B scePsmfVerifyPsmf<br /> 0x28240568 scePsmfGetCurrentStreamNumber<br /> 0x40326D8F scePsmfCheckPsmfMark<br /> 0x43AC7DBB scePsmfGetPsmfMark<br /> 0x4BC9BDE0 scePsmfSpecifyStream<br /> 0x4E624A34 scePsmfGetEPWithId<br /> 0x5B70FCC1 scePsmfQueryStreamOffset<br /> 0x5F457515 scePsmfGetEPidWithTimestamp<br /> 0x68D42328 scePsmfGetNumberOfSpecificStreams<br /> 0x7491C438 scePsmfGetNumberOfEPentries<br /> 0x76D3AEBA scePsmfGetPresentationStartTime<br /> 0x7C0E7AC3 scePsmfGetEPWithTimestamp<br /> 0x8D843AB6 scePsmfGetPsmfMarkIdWithTimestamp<br /> 0x9553CC91 scePsmfQueryStreamSize<br /> 0x971A3A90 scePsmfCheckEPmap<br /> 0xA5EBFE81 scePsmfGetStreamSize<br /> 0xA83F7113 scePsmfGetAudioInfo<br /> 0xB78EB9E9 scePsmfGetHeaderSize<br /> 0xBD8AE0D8 scePsmfGetPresentationEndTime<br /> 0xC22C8327 scePsmfSetPsmf<br /> 0xC7DB3A5B scePsmfGetCurrentStreamType<br /> 0xD1DCF0DB scePsmfGetPsmfMarkWithTimestamp<br /> 0xDE78E9FC scePsmfGetNumberOfPsmfMarks<br /> 0xE1283895 scePsmfGetPsmfVersion<br /> 0xEAED89CD scePsmfGetNumberOfStreams<br /> <br /> Library: scePspNpDrm_user<br /> 0x08D98894 sceNpDrmEdataSetupKey<br /> 0x219EF5CC sceNpDrmEdataGetDataSize<br /> 0x275987D1 sceNpDrmRenameCheck<br /> 0x9B745542 sceNpDrmClearLicenseeKey<br /> 0xA1336091 sceNpDrmSetLicenseeKey<br /> <br /> Library: scePuny<br /> 0x8C2DBD4E scePunyDecodeUCS4<br /> 0x8D51155B scePunyEncodeUCS2<br /> 0xAD29F139 scePunyEncodeUCS4<br /> 0xDD0ED02A scePunyDecodeUCS2<br /> <br /> Library: sceQpCode<br /> 0x2B235B5A sceQPrintableLineDecoder<br /> 0x69752447 sceQPrintableEncoder<br /> <br /> Library: sceReg<br /> 0x0CAE832B sceRegCloseCategory<br /> 0x0D69BF40 sceRegFlushCategory<br /> 0x17768E14 sceRegSetKeyValue<br /> 0x1D8A762E sceRegOpenCategory<br /> 0x28A8E98A sceRegGetKeyValue<br /> 0x2C0DB9DD sceRegGetKeysNum<br /> 0x2D211135 sceRegGetKeys<br /> 0x30BE0259 sceRegGetKeyValueByName<br /> 0x3615BC87 sceRegRemoveKey<br /> 0x39461B4D sceRegFlushRegistry<br /> 0x4CA16893 sceRegRemoveCategory<br /> 0x57641A81 sceRegCreateKey<br /> 0x835ECE6F sceRegGetCategoryListAtRoot<br /> 0x92E41280 sceRegOpenRegistry<br /> 0x9B25EDF1 sceRegExit<br /> 0xBE8C1263 sceRegGetCategoryNumAtRoot<br /> 0xC5768D02 sceRegGetKeyInfoByName<br /> 0xD4475AA8 sceRegGetKeyInfo<br /> 0xDEDA92BF sceRegRemoveRegistry<br /> 0xFA8A5739 sceRegCloseRegistry<br /> <br /> Library: sceRtc<br /> 0x011F03C1 sceRtcGetAccumulativeTime<br /> 0x0498FB3C sceRtcFormatRFC3339<br /> 0x05EF322C sceRtcGetDaysInMonth<br /> 0x1909C99B sceRtcSetTime64_t<br /> 0x203CEB0D sceRtcGetLastReincarnatedTime<br /> 0x26D25A5D sceRtcTickAddMicroseconds<br /> 0x26D7A24A sceRtcTickAddHours<br /> 0x27C4594C sceRtcGetTime_t<br /> 0x27F98543 sceRtcFormatRFC3339LocalTime<br /> 0x28E1E988 sceRtcParseRFC3339<br /> 0x34885E0D sceRtcConvertUtcToLocalTime<br /> 0x36075567 sceRtcGetDosTime<br /> 0x3A807CC8 sceRtcSetTime_t<br /> 0x3F7AD767 sceRtcGetCurrentTick<br /> 0x42307A17 sceRtcIsLeapYear<br /> 0x42842C77 sceRtcTickAddYears<br /> 0x44F45E05 sceRtcTickAddTicks<br /> 0x4B1B5E82 sceRtcCheckValid<br /> 0x4CFA57B0 sceRtcGetCurrentClock<br /> 0x57726BC1 sceRtcGetDayOfWeek<br /> 0x62685E98 sceRtcGetLastAdjustedTime<br /> 0x6A676D2D sceRtcUnregisterCallback<br /> 0x6FF40ACC sceRtcGetTick<br /> 0x779242A2 sceRtcConvertLocalTimeToUTC<br /> 0x7ACE4C04 sceRtcSetWin32FileTime<br /> 0x7D1FBED3 sceRtcSetAlarmTick<br /> 0x7DE6711B sceRtcFormatRFC2822LocalTime<br /> 0x7ED29E40 sceRtcSetTick<br /> 0x81FCDA34 sceRtcIsAlarmed<br /> 0x9ED0AE87 sceRtcCompareTick<br /> 0xC2DDBEB5 sceRtcGetAlarmTick<br /> 0xC41C2853 sceRtcGetTickResolution<br /> 0xC663B3B9 sceRtcFormatRFC2822<br /> 0xCF3A2CA8 sceRtcTickAddWeeks<br /> 0xCF561893 sceRtcGetWin32FileTime<br /> 0xDBF74F1B sceRtcTickAddMonths<br /> 0xDFBC5F16 sceRtcParseDateTime<br /> 0xE1C93E47 sceRtcGetTime64_t<br /> 0xE51B4B7A sceRtcTickAddDays<br /> 0xE6605BCA sceRtcTickAddMinutes<br /> 0xE7C27D1B sceRtcGetCurrentClockLocalTime<br /> 0xF006F264 sceRtcSetDosTime<br /> 0xF2A4AFE5 sceRtcTickAddSeconds<br /> 0xF5FCC995 sceRtcGetCurrentNetworkTick<br /> 0xFB3B18CD sceRtcRegisterCallback<br /> <br /> Library: sceSasCore<br /> 0x019B25EB sceSasSetADSR<br /> 0x07F58C24 sceSasGetAllEnvelopeHeights<br /> 0x267A6DD2 sceSasRevParam<br /> 0x2C8E6AB3 sceSasGetPauseFlag<br /> 0x33D4AB37 sceSasRevType<br /> 0x42778A9F sceSasInit<br /> 0x440CA7D8 sceSasSetVolume<br /> 0x4AA9EAD6 sceSasSetVoiceATRAC3<br /> 0x50A14DFC sceSasCoreWithMix<br /> 0x5F9529F6 sceSasSetSL<br /> 0x68A46B95 sceSasGetEndFlag<br /> 0x7497EA85 sceSasConcatenateATRAC3<br /> 0x74AE582A sceSasGetEnvelopeHeight<br /> 0x76F01ACA sceSasSetKeyOn<br /> 0x787D04D5 sceSasSetPause<br /> 0x99944089 sceSasSetVoice<br /> 0x9EC3676A sceSasSetADSRmode<br /> 0xA0CF2FA4 sceSasSetKeyOff<br /> 0xA232CBE6 sceSasSetTrianglarWave<br /> 0xA3589D81 sceSasCore<br /> 0xAD84D37F sceSasSetPitch<br /> 0xB7660A23 sceSasSetNoise<br /> 0xBD11B7C2 sceSasGetGrain<br /> 0xCBCD4F79 sceSasSetSimpleADSR<br /> 0xD1E0A01E sceSasSetGrain<br /> 0xD5A229C9 sceSasRevEVOL<br /> 0xD5EBBBCD sceSasSetSteepWave<br /> 0xE175EF66 sceSasGetOutputmode<br /> 0xE1CD9561 sceSasSetVoicePCM<br /> 0xE855BF76 sceSasSetOutputmode<br /> 0xF6107F00 sceSasUnsetATRAC3<br /> 0xF983B186 sceSasRevVON<br /> <br /> Library: sceSfmt11213<br /> 0x16B09B57 sceSfmt11213InitByArray<br /> 0x25238DDF sceSfmt11213GenRand64<br /> 0x7FCCAD30 sceSfmt11213FillArray32<br /> 0x8F52D18C sceSfmt11213GenRand32<br /> 0x9D45E91D sceSfmt11213InitGenRand<br /> 0xE9A29DEC sceSfmt11213FillArray64<br /> <br /> Library: sceSfmt1279<br /> 0x1F2CC3CC sceSfmt1279InitByArray<br /> 0x378C276E sceSfmt1279FillArray64<br /> 0x64117FA3 sceSfmt1279InitGenRand<br /> 0x7B9E67AB sceSfmt1279GenRand64<br /> 0xEDF8B8C3 sceSfmt1279FillArray32<br /> 0xFE9D3FEF sceSfmt1279GenRand32<br /> <br /> Library: sceSfmt132049<br /> 0x0270B0EF sceSfmt132049FillArray32<br /> 0x116EDAFB sceSfmt132049GenRand32<br /> 0xC90266E0 sceSfmt132049InitByArray<br /> 0xE0F9E926 sceSfmt132049InitGenRand<br /> 0xE4D856E3 sceSfmt132049GenRand64<br /> 0xE90C5D00 sceSfmt132049FillArray64<br /> <br /> Library: sceSfmt19937<br /> 0x161ACEB2 sceSfmt19937InitGenRand<br /> 0xB33FE749 sceSfmt19937GenRand32<br /> 0xD5AC9F99 sceSfmt19937GenRand64<br /> 0xDB025BFA sceSfmt19937FillArray32<br /> 0xDD5A5D6C sceSfmt19937InitByArray<br /> 0xEE2938C4 sceSfmt19937FillArray64<br /> <br /> Library: sceSfmt216091<br /> 0x353660FC sceSfmt216091InitByArray<br /> 0x3A0F900B sceSfmt216091FillArray32<br /> 0x5E2F99CE sceSfmt216091GenRand64<br /> 0xBFA431A4 sceSfmt216091FillArray64<br /> 0xC0E3B92F sceSfmt216091InitGenRand<br /> 0xC81A470C sceSfmt216091GenRand32<br /> <br /> Library: sceSfmt2281<br /> 0x8454D15E sceSfmt2281FillArray64<br /> 0x868C53AB sceSfmt2281InitGenRand<br /> 0x9D9120D6 sceSfmt2281FillArray32<br /> 0xBBCDB82B sceSfmt2281GenRand64<br /> 0xDEE53F2E sceSfmt2281GenRand32<br /> 0xF38FF54A sceSfmt2281InitByArray<br /> <br /> Library: sceSfmt4253<br /> 0x2AF9B5D3 sceSfmt4253GenRand64<br /> 0x61B05CA7 sceSfmt4253FillArray32<br /> 0x79D2E875 sceSfmt4253FillArray64<br /> 0x7F56FA88 sceSfmt4253InitGenRand<br /> 0xFA39B7A4 sceSfmt4253InitByArray<br /> 0xFBFCDAFD sceSfmt4253GenRand32<br /> <br /> Library: sceSfmt44497<br /> 0x31B1F41F sceSfmt44497GenRand32<br /> 0x4525C4FD sceSfmt44497GenRand64<br /> 0xA4168CB6 sceSfmt44497InitGenRand<br /> 0xB56C5830 sceSfmt44497InitByArray<br /> 0xCA9560E2 sceSfmt44497FillArray64<br /> 0xDCD09960 sceSfmt44497FillArray32<br /> <br /> Library: sceSfmt607<br /> 0x1CCCC776 sceSfmt607GenRand64<br /> 0x4ED95A1E sceSfmt607FillArray64<br /> 0x9480A1E6 sceSfmt607InitGenRand<br /> 0xB014F0A8 sceSfmt607InitByArray<br /> 0xCE73E1B9 sceSfmt607GenRand32<br /> 0xFA3CB3A5 sceSfmt607FillArray32<br /> <br /> Library: sceSfmt86243<br /> 0x2A0AFFB3 sceSfmt86243FillArray64<br /> 0x79A146E0 sceSfmt86243InitByArray<br /> 0x8CC70361 sceSfmt86243FillArray32<br /> 0xD5B8D7A2 sceSfmt86243GenRand32<br /> 0xDD4196A3 sceSfmt86243InitGenRand<br /> 0xF77D68EF sceSfmt86243GenRand64<br /> <br /> Library: sceSha0<br /> 0x86E64331 sceSha0BlockResult<br /> 0x91524E96 sceSha0BlockUpdate<br /> 0x931612A8 sceSha0Digest<br /> 0xEE071A21 sceSha0BlockInit<br /> <br /> Library: sceSha1<br /> 0x4A80340A sceSha1BlockInit<br /> 0x5AF85569 sceSha1BlockUpdate<br /> 0x78EDE680 sceSha1BlockResult<br /> 0xB94ACDAE sceSha1Digest<br /> <br /> Library: sceSha224<br /> 0x3A96138F sceSha224BlockInit<br /> 0x5BE354EA sceSha224Digest<br /> 0xD6A3ADCB sceSha224BlockResult<br /> 0xEF597FC7 sceSha224BlockUpdate<br /> <br /> Library: sceSha256<br /> 0x318A350C sceSha256Digest<br /> 0x5368F1BC sceSha256BlockInit<br /> 0x7310DDCF sceSha256BlockUpdate<br /> 0x82C67FB3 sceSha256BlockResult<br /> <br /> Library: sceSha384<br /> 0x139319AF sceSha384BlockInit<br /> 0x9CC3A3A2 sceSha384BlockUpdate<br /> 0xD7DF2B41 sceSha384Digest<br /> 0xD9E51292 sceSha384BlockResult<br /> <br /> Library: sceSha512<br /> 0x16ED8DC6 sceSha512BlockInit<br /> 0x5AFE898D sceSha512Digest<br /> 0x8208F538 sceSha512BlockUpdate<br /> 0xAAB6221E sceSha512BlockResult<br /> <br /> Library: sceSsl<br /> 0x058D21C0 sceSslGetNameEntryCount<br /> 0x0EB43B06 sceSslGetUsedMemoryCurrent<br /> 0x17A10DCC sceSslGetNotBefore<br /> 0x191CDEFF sceSslEnd<br /> 0x1B7C8191 sceSslGetIssuerName<br /> 0x3DD5E023 sceSslGetSubjectName<br /> 0x5BFB6B61 sceSslGetNotAfter<br /> 0x957ECBE2 sceSslInit<br /> 0xB99EDE6A sceSslGetUsedMemoryMax<br /> 0xCC0919B0 sceSslGetSerialNumber<br /> 0xD6D097B4 sceSslGetNameEntryInfo<br /> 0xF57765D3 sceSslGetKeyUsage<br /> <br /> Library: sceSuspendForUser<br /> 0x090CCB3F sceKernelPowerTick<br /> 0x3AEE7261 sceKernelPowerUnlock<br /> 0x3E0271D3 sceKernelVolatileMemLock<br /> 0xA14F40B2 sceKernelVolatileMemTryLock<br /> 0xA569E425 sceKernelVolatileMemUnlock<br /> 0xEADB1BD7 sceKernelPowerLock<br /> <br /> Library: sceUmdUser<br /> 0x14C6C45C sceUmdUnuseUMDInMsUsbWlan<br /> 0x20628E6F sceUmdGetErrorStat<br /> 0x340B7686 sceUmdGetDiscInfo<br /> 0x46EBB729 sceUmdCheckMedium<br /> 0x4A9E5E29 sceUmdWaitDriveStatCB<br /> 0x56202973 sceUmdWaitDriveStatWithTimer<br /> 0x6AF9B50A sceUmdCancelWaitDriveStat<br /> 0x6B4A146C sceUmdGetDriveStat<br /> 0x87533940 sceUmdReplaceProhibit<br /> 0x8EF08FCE sceUmdWaitDriveStat<br /> 0xAEE7404D sceUmdRegisterUMDCallBack<br /> 0xB103FA38 sceUmdUseUMDInMsUsbWlan<br /> 0xBD2BDE07 sceUmdUnRegisterUMDCallBack<br /> 0xC6183D47 sceUmdActivate<br /> 0xCBE9F02A sceUmdReplacePermit<br /> 0xE83742BA sceUmdDeactivate<br /> <br /> Library: sceUsb<br /> 0x112CC951 sceUsbGetDrvState<br /> 0x1C360735 sceUsbWaitCancel<br /> 0x4E537366 sceUsbGetDrvList<br /> 0x586DB82C sceUsbActivate<br /> 0x5BE0E002 sceUsbWaitState<br /> 0x616F2B61 sceUsbWaitStateCB<br /> 0xAE5DE6AF sceUsbStart<br /> 0xC21645A4 sceUsbGetState<br /> 0xC2464FA0 sceUsbStop<br /> 0xC572A9C8 sceUsbDeactivate<br /> <br /> Library: sceUsbAcc<br /> 0x0CD7D4AA sceUsbAccGetInfo<br /> 0x79A1C743 sceUsbAccGetAuthStat<br /> <br /> Library: sceUsbCam<br /> 0x03ED7A82 sceUsbCamSetupMic<br /> 0x08AEE98A sceUsbCamSetMicGain<br /> 0x09C26C7E sceUsbCamSetContrast<br /> 0x11A1F128 sceUsbCamGetAutoImageReverseState<br /> 0x17F7B2FB sceUsbCamSetupVideo<br /> 0x1A46CFE7 sceUsbCamStillPollInputEnd<br /> 0x1D686870 sceUsbCamSetEvLevel<br /> 0x2BCD50C0 sceUsbCamGetEvLevel<br /> 0x36636925 sceUsbCamReadMicBlocking<br /> 0x383E9FA8 sceUsbCamGetSaturation<br /> 0x3DC0088E sceUsbCamReadMic<br /> 0x3F0CF289 sceUsbCamSetupStill<br /> 0x41E73E95 sceUsbCamPollReadVideoFrameEnd<br /> 0x41EE8797 sceUsbCamUnregisterLensRotationCallback<br /> 0x4C34F553 sceUsbCamGetLensDirection<br /> 0x4F3D84D5 sceUsbCamSetBrightness<br /> 0x5145868A sceUsbCamStopMic<br /> 0x574A8C3F sceUsbCamStartVideo<br /> 0x5778B452 sceUsbCamGetMicDataLength<br /> 0x61BE5CAC sceUsbCamStillInputBlocking<br /> 0x622F83CC sceUsbCamSetSharpness<br /> 0x6784E6A8 sceUsbCamSetAntiFlicker<br /> 0x6CF32CB9 sceUsbCamStopVideo<br /> 0x6E205974 sceUsbCamSetSaturation<br /> 0x70F522C5 sceUsbCamGetBrightness<br /> 0x7563AFA1 sceUsbCamStillWaitInputEnd<br /> 0x7DAC0C71 sceUsbCamReadVideoFrameBlocking<br /> 0x82A64030 sceUsbCamStartMic<br /> 0x951BEDF5 sceUsbCamSetReverseMode<br /> 0x994471E0 sceUsbCamGetImageEffectMode<br /> 0x99D86281 sceUsbCamReadVideoFrame<br /> 0x9E8AAF8D sceUsbCamGetZoom<br /> 0xA063A957 sceUsbCamGetContrast<br /> 0xA720937C sceUsbCamStillCancelInput<br /> 0xAA7D94BA sceUsbCamGetAntiFlicker<br /> 0xB048A67D sceUsbCamWaitReadMicEnd<br /> 0xC484901F sceUsbCamSetZoom<br /> 0xD293A100 sceUsbCamRegisterLensRotationCallback<br /> 0xD4876173 sceUsbCamSetImageEffectMode<br /> 0xD5279339 sceUsbCamGetReverseMode<br /> 0xDF9D0C92 sceUsbCamGetReadVideoFrameSize<br /> 0xE5959C36 sceUsbCamStillGetInputLength<br /> 0xF8847F60 sceUsbCamPollReadMicEnd<br /> 0xF90B2293 sceUsbCamWaitReadVideoFrameEnd<br /> 0xF93C4669 sceUsbCamAutoImageReverseSW<br /> 0xFB0A6C5D sceUsbCamStillInput<br /> 0xFDB68C23 sceUsbCamGetSharpness<br /> <br /> Library: sceUsbGps<br /> 0x5881C826 sceUsbGpsGetStaticNavMode<br /> 0x6EED4811 sceUsbGpsClose<br /> 0x7C16AC3A sceUsbGpsGetState<br /> 0x934EC2B2 sceUsbGpsGetData<br /> 0x9F267D34 sceUsbGpsOpen<br /> 0xA8ED0BC2 sceUsbGpsSetStaticNavMode<br /> <br /> Library: sceUsbMic<br /> 0x06128E42 sceUsbMicPollInputEnd<br /> 0x2E6DCDCD sceUsbMicInputBlocking<br /> 0x45310F07 sceUsbMicInputInitEx<br /> 0x5F7F368D sceUsbMicInput<br /> 0x63400E20 sceUsbMicGetInputLength<br /> 0xB8E536EB sceUsbMicInputInit<br /> 0xF899001C sceUsbMicWaitInputEnd<br /> <br /> Library: sceUsbSer<br /> 0x0C40864C sceUsbSerGetDTR<br /> 0x105B2FB5 sceUsbSerRegisterDTRCallback<br /> 0x193E613B sceUsbSerClose<br /> 0x2432D28D sceUsbSerRead<br /> 0x3EFDC183 sceUsbSerGetWriteDataSize<br /> 0x41303714 sceUsbSerCancel<br /> 0x473B6BF3 sceUsbSerWriteCB<br /> 0x50AD923C sceUsbSerSetRecvCBThreshold<br /> 0x7501C273 sceUsbSerRegisterSentCallback<br /> 0x82CF9F2A sceUsbSerUnregisterRecvCallback<br /> 0x886AF215 sceUsbSerGetReadDataSize<br /> 0x8B9F5C97 sceUsbSerClear<br /> 0x938AD8E2 sceUsbSerUnregisterSentCallback<br /> 0x999B21E1 sceUsbSerRegisterRecvCallback<br /> 0xA3F75968 sceUsbSerReadCB<br /> 0xBF8B3E85 sceUsbSerWrite<br /> 0xD6CD027C sceUsbSerUnregisterDTRCallback<br /> 0xE23DEB0A sceUsbSerGetWriteFreeSize<br /> 0xE2F0E3E3 sceUsbSerFlushCB<br /> 0xE60A8C56 sceUsbSerGetReadFreeSize<br /> 0xE945D8E9 sceUsbSerEnd<br /> 0xE9D739DF sceUsbSerSetSentCBThreshold<br /> 0xEDBFD745 sceUsbSerInit<br /> 0xEFF02189 sceUsbSerFlush<br /> 0xFD9A2340 sceUsbSerOpen<br /> <br /> Library: sceUtility<br /> 0x0251B134 sceUtilityScreenshotInitStart<br /> 0x05AFB9E4 sceUtilityHtmlViewerUpdate<br /> 0x06A48659 sceUtilityRssSubscriberShutdownStart<br /> 0x0940A1B9 sceUtilityPsnUpdate<br /> 0x094198B8 sceUtilityPsnGetStatus<br /> 0x0D5BC6D2 sceUtilityLoadUsbModule<br /> 0x0E0C27AF sceUtilityAutoConnectAbort<br /> 0x1281DA8E sceUtilityInstallInitStart<br /> 0x1579A159 sceUtilityLoadNetModule<br /> 0x16D02AF0 sceUtilityNpSigninInitStart<br /> 0x180F7B62 sceUtilityGamedataInstallAbort<br /> 0x24AC31EB sceUtilityGamedataInstallInitStart<br /> 0x2995D020 sceUtilitySavedataErrInitStart<br /> 0x2A2B3DE0 sceUtilityLoadModule<br /> 0x2AD8E239 sceUtilityMsgDialogInitStart<br /> 0x2B96173B sceUtilityRssSubscriberGetStatus<br /> 0x32E32DCB sceUtilityGamedataInstallShutdownStart<br /> 0x34B78343 sceUtilityGetSystemParamString<br /> 0x3A15CD0A sceUtilityAutoConnectInitStart<br /> 0x3AAD51DC sceUtilityStoreCheckoutGetStatus<br /> 0x3DFAEBA9 sceUtilityOskShutdownStart<br /> 0x41E30674 sceUtilitySetSystemParamString<br /> 0x42071A83 sceUtilityPS3ScanInitStart<br /> 0x434D4B3A sceUtilityGetNetParam<br /> 0x45C18506 sceUtilitySetSystemParamInt<br /> 0x4928BD96 sceUtilityMsgDialogAbort<br /> 0x4AECD179 sceUtilityGamedataInstallUpdate<br /> 0x4B0A8FE5 sceUtilityRssSubscriberInitStart<br /> 0x4B85C861 sceUtilityOskUpdate<br /> 0x4DB1E739 sceUtilityNetconfInitStart<br /> 0x4FED24D8 sceUtilityGetNetParamLatestID<br /> 0x50C4CD57 sceUtilitySavedataInitStart<br /> 0x54A5C62F sceUtilityStoreCheckoutShutdownStart<br /> 0x5EEE6548 sceUtilityCheckNetParam<br /> 0x5EF1C24A sceUtilityInstallShutdownStart<br /> 0x6332AA39 sceUtilityNetconfGetStatus<br /> 0x64D50C56 sceUtilityUnloadNetModule<br /> 0x67AF3428 sceUtilityMsgDialogShutdownStart<br /> 0x6F56F9CF sceUtilityRssReaderUpdate<br /> 0x7853182D sceUtilityGameSharingUpdate<br /> 0x81C44706 sceUtilityRssReaderInitStart<br /> 0x8326AB05 sceUtilityRssReaderGetStatus<br /> 0x86A03A27 sceUtilityScreenshotContStart<br /> 0x86ABDB1B sceUtilityNpSigninGetStatus<br /> 0x8874DBE0 sceUtilitySavedataGetStatus<br /> 0x88BC7406 sceUtilitySavedataErrGetStatus<br /> 0x89317C8F sceUtilityPS3ScanGetStatus<br /> 0x91E70E35 sceUtilityNetconfUpdate<br /> 0x946963F3 sceUtilityGameSharingGetStatus<br /> 0x95FC253B sceUtilityMsgDialogUpdate<br /> 0x9790B33C sceUtilitySavedataShutdownStart<br /> 0x9A1C91D7 sceUtilityMsgDialogGetStatus<br /> 0x9F313D14 sceUtilityAutoConnectShutdownStart<br /> 0xA03D29BA sceUtilityInstallUpdate<br /> 0xA084E056 sceUtilityRssSubscriberUpdate<br /> 0xA5DA2406 sceUtilityGetSystemParamInt<br /> 0xA7BB7C67 sceUtilityPsnInitStart<br /> 0xAB083EA9 sceUtilityScreenshotUpdate<br /> 0xB0FB7FF5 sceUtilityRssReaderContStart<br /> 0xB57E95D9 sceUtilityGamedataInstallGetStatus<br /> 0xB62A4061 sceUtilitySavedataErrShutdownStart<br /> 0xB8592D5F sceUtilityStoreCheckoutUpdate<br /> 0xBDA7D894 sceUtilityHtmlViewerGetStatus<br /> 0xC130D441 sceUtilityPsnShutdownStart<br /> 0xC4700FA3 sceUtilityInstallGetStatus<br /> 0xC492F751 sceUtilityGameSharingInitStart<br /> 0xC629AF26 sceUtilityLoadAvModule<br /> 0xCDC3AA41 sceUtilityHtmlViewerInitStart<br /> 0xD17A0573 sceUtilityPS3ScanShutdownStart<br /> 0xD23665F4 sceUtilityAutoConnectUpdate<br /> 0xD4B95FFB sceUtilitySavedataUpdate<br /> 0xD4C2BD73 sceUtilityAutoConnectGetStatus<br /> 0xD81957B7 sceUtilityScreenshotGetStatus<br /> 0xD852CDCE sceUtilityPS3ScanUpdate<br /> 0xDA97F1AA sceUtilityStoreCheckoutInitStart<br /> 0xE19C97D6 sceUtilityNpSigninShutdownStart<br /> 0xE49BFE92 sceUtilityUnloadModule<br /> 0xE7B778D8 sceUtilityRssReaderShutdownStart<br /> 0xED0FAD38 sceUtilitySavedataErrUpdate<br /> 0xEFC6F80F sceUtilityGameSharingShutdownStart<br /> 0xF3F76017 sceUtilityOskGetStatus<br /> 0xF3FBC572 sceUtilityNpSigninUpdate<br /> 0xF5CE1134 sceUtilityHtmlViewerShutdownStart<br /> 0xF6269B82 sceUtilityOskInitStart<br /> 0xF64910F0 sceUtilityUnloadUsbModule<br /> 0xF7D8D092 sceUtilityUnloadAvModule<br /> 0xF88155F6 sceUtilityNetconfShutdownStart<br /> 0xF9E0008C sceUtilityScreenshotShutdownStart<br /> <br /> Library: sceVaudio<br /> 0x03B6807D sceVaudioChReserve<br /> 0x27ACC20B sceVaudioChReserveBuffering<br /> 0x346FBE94 sceVaudioSetEffectType<br /> 0x67585DFD sceVaudioChRelease<br /> 0x8986295E sceVaudioOutputBlocking<br /> 0xCBD4AC51 sceVaudioSetAlcMode<br /> <br /> Library: sceWlanDrv<br /> 0x0C622081 sceWlanGetEtherAddr<br /> 0x93440B11 sceWlanDevIsPowerOn<br /> 0xD7763699 sceWlanGetSwitchState<br /> <br /> Library: pemuExt<br /> 0x2C1F5DA6 pemuExtUtilityGetFreeSize<br /> 0x5D915C5B pemuExtUtilityThemeInstallAbort<br /> 0x806D1DCB pemuExtUtilityMusicExportInitStart<br /> 0x9F85A1E3 pemuExtUtilityMusicExportAbort<br /> 0xA9102BD9 pemuExtUtilityThemeInstallInitStart<br /> 0xAB94E451 pemuExtUtilityThemeInstallGetStatus<br /> 0xAF7228AB pemuExtUtilityMusicExportShutdownStart<br /> 0xB95A85D1 pemuExtUtilityThemeInstallUpdate<br /> 0xBFBB2A30 pemuExtIsStereoscopic3d<br /> 0xCAC8A9DA pemuExtUtilityMusicExportUpdate<br /> 0xDBF1A3A9 pemuExtUtilityThemeInstallShutdownStart<br /> 0xE4786D09 pemuExtUtilityMusicExportGetStatus<br /> <br /> = internally handled by the emulator =<br /> sceVideocodec<br /> sceAudiocodec<br /> sceMpegbase<br /> sceReg<br /> sceNetIfhandle_lib<br /> sceWlanDrv_lib<br /> sceNetAdhocAuth_lib<br /> <br /> &lt;/pre&gt;<br /> <br /> === Not implemented APIs===<br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! API !! Issue !! Note<br /> |-<br /> | sceHeapGetMallinfo || 0x80020002 ||<br /> |-<br /> | sceHeapFreeHeapMemory || 0x80020002 ||<br /> |-<br /> | sceHeapAllocHeapMemoryWithOption || return 0 ||<br /> |-<br /> | sceHeapGetTotalFreeSize || 0x80020002 ||<br /> |-<br /> | sceHeapIsAllocatedHeapMemory || 0x80020002 ||<br /> |-<br /> | sceHeapDeleteHeap || 0x80020002 ||<br /> |-<br /> | sceHeapCreateHeap || return 0 ||<br /> |-<br /> | sceHeapAllocHeapMemory || return 0 ||<br /> |-<br /> | sceKernelLoadModuleDNAS || 0x80020002 ||<br /> |-<br /> | sceSslGetKeyUsage || 0x80020002 ||<br /> |-<br /> | sceNpDrmEdataSetupKey || 0x80020002 ||<br /> |-<br /> | sceNpDrmEdataGetDataSize || 0x80020002 ||<br /> |-<br /> | sceNpDrmRenameCheck || 0x80020002 ||<br /> |-<br /> | sceNpDrmClearLicenseeKey || 0x80020002 ||<br /> |-<br /> | sceNpDrmSetLicenseeKey || return 0 ||<br /> |-<br /> | sceHprmIsRemoteExist || 0x80020002 ||<br /> |-<br /> | sceHprmIsMicrophoneExist || 0x80020002 ||<br /> |-<br /> | sceHprmPeekLatch || 0x80020002 ||<br /> |-<br /> | sceHprmReadLatch || 0x80020002 ||<br /> |-<br /> | sceHprmIsHeadphoneExist || 0x80020002 ||<br /> |-<br /> | sceHprmRegisterCallback || 0x80020002 ||<br /> |-<br /> | sceHprmUnregisterCallback || 0x80020002 ||<br /> |-<br /> | sceGprofSetProfil_Weak || 0x80020002 ||<br /> |-<br /> | sceGprofFreeProfil_Weak || 0x80020002 ||<br /> |-<br /> | sceKernelRegisterUserSpaceIntrStack || 0x80020002 ||<br /> |-<br /> | sceKernelLoadExec || 0x80020002 ||<br /> |-<br /> | sceMt19937Init || 0x80020002 ||<br /> |-<br /> | sceMt19937UInt || return 0 ||<br /> |-<br /> | sceKernelStopUnloadSelfModule || 0x80020002 ||<br /> |-<br /> | sceKernelLoadModuleBufferUsbWlan || 0x80020002 ||<br /> |-<br /> | sceUsbGetDrvState || 0x80020002 ||<br /> |-<br /> | sceUsbWaitCancel || 0x80020002 ||<br /> |-<br /> | sceUsbGetDrvList || 0x80020002 ||<br /> |-<br /> | sceUsbActivate || 0x80020002 ||<br /> |-<br /> | sceUsbWaitState || 0x80020002 ||<br /> |-<br /> | sceUsbWaitStateCB || 0x80020002 ||<br /> |-<br /> | sceUsbStart || 0x80020002 ||<br /> |-<br /> | sceUsbGetState || return 0 ||<br /> |-<br /> | sceUsbStop || 0x80020002 ||<br /> |-<br /> | sceUsbDeactivate || 0x80020002 ||<br /> |-<br /> | sceUsbAccGetAuthStat || 0x80020002 ||<br /> |-<br /> | sceKernelUtilsMt19937UInt || 0x80020002 ||<br /> |-<br /> | sceKernelDcacheReadTag || 0x80020002 ||<br /> |-<br /> | sceKernelUtilsSha1BlockUpdate|| 0x80020002||<br /> |-<br /> | sceKernelGetGPI|| return 0 ||<br /> |-<br /> | sceKernelIcacheProbe || 0x80020002||<br /> |-<br /> | sceKernelUtilsSha1BlockResult ||0x80020002 ||<br /> |-<br /> | sceKernelUtilsMd5BlockUpdate||0x80020002 ||<br /> |-<br /> | sceKernelDcacheProbeRange || 0x80020002||<br /> |-<br /> | sceKernelDcacheProbe|| 0x80020002||<br /> |-<br /> | sceKernelUtilsSha1Digest|| ||<br /> |-<br /> | sceKernelUtilsMd5BlockInit|| ||<br /> |-<br /> | sceKernelUtilsMd5BlockResult|| ||<br /> |-<br /> | sceKernelDcacheInvalidateRange|| return 0 ||<br /> |-<br /> | sceKernelUtilsMd5Digest|| ||<br /> |-<br /> | sceKernelUtilsMt19937Init|| ||<br /> |-<br /> | sceKernelUtilsSha1BlockInit|| ||<br /> |-<br /> | sceKernelIcacheReadTag|| return 0 ||<br /> |-<br /> | || ||<br /> |-<br /> |}<br /> <br /> === OPEN PSP SDK ===<br /> <br /> pspsdk-1.0+beta2 Documentation<br /> <br /> http://psp.jim.sh/pspsdk-doc/index.html<br /> <br /> === PEmuCoreLib SPU Usage ===<br /> <br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! colspan=&quot;4&quot; | PEmuCoreLib<br /> |-<br /> ! Core !! Job !! Source !! Notes<br /> |-<br /> | SPU0 || DrawSync Extended Mode Something|| || <br /> |-<br /> | SPU1 || Extended Mode Something|| || <br /> |-<br /> | SPU2 || DMac || || if memcpy size &gt;0x110<br /> |-<br /> | SPU3 || ME || || Media Engine?<br /> |-<br /> |}<br /> <br /> === PSPEMU speculation/talk ===<br /> Compatibility list custom PSP to PS3.<br /> <br /> [[PSP_Emulator_Compatibility_List|PSP Emulator Compatibility List]]<br /> <br /> *http://psx-scene.com/forums/f328/psponps3-compatibility-chart-113244/<br /> <br /> *http://www.pshomebrew.net/wiki/PSP_On_PS3_Compatibility_List<br /> <br /> *[[https://docs.google.com/spreadsheet/ccc?key=0AowGG2G1KRsgdHg5aDJUTnZ2bGR0NEZhMS1xekVXWGc#gid=0| Google Spreadsheet]] and forum reports at http://www.ps3hax.net/showthread.php?t=54435<br /> <br /> <br /> <br /> &lt;!--//<br /> may be add other compatibility list/links to reference, sorry this should be on talk page.<br /> //--&gt;<br /> <br /> ==== PSP Remasters Button Remapping ====<br /> *ADDITIONAL_KEY_ASSIGN type 2 part 2?<br /> 3 state? enable/disable/always<br /> (16 bit (target), 16 bit (source))<br /> <br /> For each byte on 0x47C6C544, binary:<br /> 4 7 C 6 C 5 4 4 = 0x47C6C544<br /> 01 00||01 11 11 00||01 10 11 00||01 01 01 00||01 00<br /> || || || || || <br /> Left | Left Down Right Up<br /> on |D-Pad D-Pad D-Pad D-Pad<br /> right<br /> AStick.<br /> <br /> For each byte on 0x48C6C944, binary:<br /> 4 8 C 6 C 9 4 4 = 0x48C6C944<br /> 01 00||10 00 11 00||01 10 11 00||10 01 01 00||01 00<br /> || || || || || <br /> Left | L1 Down R1 Up<br /> on D-Pad D-Pad<br /> right<br /> AStick.<br /> <br /> {| class=&quot;wikitable&quot;<br /> |+PS3 Buttons Identifyers<br /> ! PS3 button &lt;BR /&gt;&lt;sup&gt;(target)&lt;/sup&gt; !! Identifyer !! Notes<br /> |-<br /> | {{padru}} || ? &lt;!-- 0001 --&gt; || &lt;!-- 1 --&gt;<br /> |-<br /> | {{padrr}} || ? &lt;!-- 0010 --&gt; || &lt;!-- 2 --&gt;<br /> |-<br /> | {{padrd}} || ? &lt;!-- 0011 --&gt; || &lt;!-- 3 --&gt;<br /> |-<br /> | {{padrl}} || 0100 || 4<br /> |-<br /> | {{padr3}} || ? || <br /> |-<br /> | {{padlu}} || ? || <br /> |-<br /> | {{padlr}} || ? || <br /> |-<br /> | {{padld}} || ? || <br /> |-<br /> | {{padll}} || ? || <br /> |-<br /> | {{padl3}} || ? || <br /> |-{{cellcolors|lightgrey}}<br /> | || || <br /> |-<br /> | {{padselect}} || ? || <br /> |-<br /> | {{padps}} || ? || <br /> |-<br /> | {{padstart}} || ? || <br /> |-<br /> | {{dpadu}} || ? || <br /> |-<br /> | {{dpadr}} || ? || <br /> |-<br /> | {{dpadd}} || ? || <br /> |-<br /> | {{dpadl}} || ? || <br /> |-<br /> | {{padl1}} || ? || <br /> |-<br /> | {{padr1}} || ? || <br /> |-<br /> | {{padl2}} || ? || <br /> |-<br /> | {{padr2}} || ? || <br /> |-<br /> | {{padtriangle}} || ? || <br /> |-<br /> | {{padcircle}} || ? || <br /> |-<br /> | {{padcross}} || ? || <br /> |-<br /> | {{padsquare}} || ? || <br /> |-<br /> |}<br /> <br /> *Speculation notes<br /> **Stick directions could be maped to axis: {{padlx}} {{padly}} {{padrx}} {{padry}}<br /> <br /> {| class=&quot;wikitable&quot;<br /> |+PSP Buttons Identifyers<br /> ! PSP button &lt;BR /&gt;&lt;sup&gt;(source)&lt;/sup&gt; !! Identifyer !! Hex Value<br /> |-<br /> | not used || 0001 || 1<br /> |-<br /> | not used || 0010 || 2<br /> |-<br /> | {{padstart}} || 0011 || 3<br /> |-<br /> | {{dpadu}} || 0100 || 4<br /> |-<br /> | {{dpadr}} || 0101 || 5<br /> |-<br /> | {{dpadd}} || 0110 || 6<br /> |-<br /> | {{dpadl}} || 0111 || 7<br /> |-<br /> | {{psptl}} || 1000 || 8<br /> |-<br /> | {{psptr}} || 1001 || 9<br /> |-<br /> | not used || 1010 || A<br /> |-<br /> | not used || 1011 || B<br /> |-<br /> | {{padtriangle}} || 1100 || C<br /> |-<br /> | {{padcircle}} || 1101 || D<br /> |-<br /> | {{padcross}} || 1110 || E<br /> |-<br /> | {{padsquare}} || 1111 || F<br /> |-<br /> |}<br /> <br /> *There are more button icons if needed in [[TemplateTest#Buttons]] page &lt;!-- delete this line when the tables are completed --&gt;<br /> *[https://techshali.com/best-ppsspp-games/ List of compatible PPSSPP Games]<br /> <br /> {{Reverse engineering}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=PSP_Emulation&diff=54186 PSP Emulation 2019-08-18T11:36:28Z <p>Mysis: /* Not implemented APIs */</p> <hr /> <div>== pspemu ==<br /> Used for &quot;PSP Minis&quot; and &quot;PSP remasters&quot;. The PSP Emulator works by accessing an encrypted ISO-9660 image. &lt;br&gt;<br /> Assuming that the mini game's directory is /dev_hdd0/game/NPEZ00000/ then the image is stored inside /USRDIR/CONTENT/EBOOT.PBP/DATA.PSAR. &lt;br&gt;<br /> '''Info''': &lt;br&gt;<br /> * Recent Emulator supports PSP Kernel 6.60 Applications&lt;br&gt;<br /> * 20GB model (CECHB00), because it is not equipped with a wireless LAN psn? feature is not available. (10001)<br /> * Does not support PGD files, and neither its access. (Sword Art Online, Kingdom Hearts, Naruto Shippuden Ultimate Ninja Heroes 3,..)<br /> * Does not support scePAuth. (Evangelion, Monster Hunter 3 Portable,...)<br /> * Does not support loaders. (prometheus, Killzone Liberation (fix via minis2),...)<br /> * Does not support &quot;fatms0:&quot;. (use &quot;ms0:&quot;)<br /> * Does not support directory creation on &quot;ms0:&quot;.<br /> * Does not support screen shot utility. (Sweet Fuse,...)<br /> * Does not support game sharing utility.<br /> * Does not support rss /rss reader utility.<br /> * Does not support &quot;disc0:/sce_lbn0x%04x_size0x%04x&quot;. (Naruto Shippuden Ultimate Ninja Impact, Final Fantasy 4,Blood+... )<br /> <br /> * Default pll frequency 222, cpu frequency 222, bus frequency 111<br /> * Default internal paths:<br /> ** /dev_flash/pspemu/psp/<br /> ** /dev_flash/pspemu/flash0/<br /> ** /dev_flash/pspemu/ms/<br /> ** /dev_hdd0/game/&lt;TITLEID&gt;/USRDIR/EXDATA/<br /> ** /dev_hdd0/game/&lt;TITLEID&gt;/USRDIR/CONTENT/DOCUMENT.DAT<br /> <br /> '''Supported Tags''':<br /> 0x00000008, /* 1.XX */<br /> 0x7C16CBC0, /* 2.XX */<br /> 0x03FD0480, /* 2.71 */<br /> 0xF00516D9, /* 2.80 */<br /> 0xF00616D9, /* 3.00 */<br /> 0xF00A16D9, <br /> 0xF00B16D9,<br /> <br /> === Files ===<br /> psp_emulator.self (3.15++)<br /> psp_translator.self (3.15++)<br /> \flash0 (3.15++)<br /> \flash1<br /> \flash2<br /> \flash3<br /> \lflash<br /> \release (3.15++)<br /> \psp<br /> \ms<br /> <br /> ==== arguments ====<br /> 2 arguments:&lt;br&gt;<br /> * argv[0]= self starting location&lt;!--// /dev_flash/pspemu/psp_emulator.self or /app_home if you want to load custom sysman.sprx / threadman.sprx files//--&gt;&lt;br&gt;<br /> * argv[1]= ISO.BIN.EDAT location<br /> <br /> ==== mapping ====<br /> <br /> 0xB0000000 - elf/game memory<br /> 0xB3900000 - settings { VFPU_USE_FAST_VMMUL, VMX_FOR_FPU, FPU_FS_SUPPORT, ALLEGREX_DELAY, unk (0/0x1000)}<br /> 0xB4000000<br /> 0xB4200000<br /> 0xB4400000<br /> 0xB4600000<br /> 0xB7900000<br /> 0xB8000000<br /> 0xBB900000<br /> <br /> === Controller? ===<br /> <br /> taken from PEmuCoreLib<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Mode? !! Number !! Note<br /> |-<br /> | 1-A || 1? ||<br /> |-<br /> | 2-A || 2?||<br /> |-<br /> | 1-B || 3?||<br /> |-<br /> | 2-B || 4?||<br /> |-<br /> | 1-C || 5?||<br /> |-<br /> | 2-C || 6?||<br /> |-<br /> | 1-D || 7?||<br /> |-<br /> |}<br /> <br /> === Emulator Settings ===<br /> <br /> The emulator itself can be feeded with settings about the game. These settings are:<br /> <br /> 1) in MINIS2.EDAT (pure Text format file decrypted)<br /> 2) within the emulator defined for a bunch of games (see [[Emulation#Special_notes| Special notes]])<br /> <br /> Note: The Emulator can be patched (1 Bit) to read a non encrypted MINIS2.EDAT.<br /> <br /> Here are the commands what you can define for the psp emulator:<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Struct !! Command !! Example !! Note<br /> |-<br /> | || # || #PSDEVWIKi || Text, information, # will be ignored<br /> |-<br /> | || VERSION = 0x%x || VERSION = 0xFFFFFFFF || <br /> |-<br /> | || BOOT_MODE = %llx || ||<br /> 100010000 = Minis <br /> 200010000 = Remaster <br /> |-<br /> | || REMASTER_VERSION = 0x%x || ||<br /> |-<br /> | || SDRAM_SIZE = %llx || SDRAM_SIZE = 02800000 ||<br /> 02000000 = ~34 MB (Default)<br /> 02800000 = ~42 MB <br /> 03000000 = ~50 MB <br /> 04000000 = ~67 MB<br /> &lt;br /&gt;&lt;br /&gt;''Real PSP hardware had:''<br /> * ''Main RAM: 32MB (PSP-1000) or 64 MB (PSP-2000, PSP-3000, PSP Go/PSP-N1000 and PSP-E1000) 333MHz 256bit DDR SDRAM with 8MB reserved for kernel.''<br /> * ''Video RAM: 2MB 166MHz 256bit eDRAM.''<br /> * ''MediaEngine RAM: 2MB 166MHz 128bit eDRAM.''<br /> |-<br /> | || TRANS_CACHE_SIZE = %llx || TRANS_CACHE_SIZE = 1000000 ||<br /> 2000000 = (Default)<br /> 1000000 = <br /> |-<br /> | || HOSTFS_PATH = %lld || || <br /> 0 = /dev_flash/pspemu/psp/ (Default) <br /> 1 = /app_home/psp/ <br /> 2 = /app_home/<br /> else = /dev_flash/pspemu/psp/<br /> |-<br /> | || EXDATA_PATH = %lld || ||<br /> 0 = %USRDIR%/EXDATA/ (Default)<br /> 2 = &lt;HOSTFS_PATH&gt;/EXDATA/<br /> 3 = /dev_usb/EXDATA<br /> else = %USRDIR%/EXDATA/<br /> |-<br /> | || ELF_PATH = %s || ELF_PATH = disc0:/PSP_GAME/SYSDIR/EBOOT.BIN || = default, but can be changed for example on Powerstone Collection to directly load PS1.prx/PS2.prx<br /> |-<br /> | || ISO_PATH = %s || ||<br /> |-<br /> | || VOUT_RESOLUTION_MODE = %lld || VOUT_RESOLUTION_MODE = 0 ||<br /> 0 = (Default)<br /> 1<br /> 2<br /> 3<br /> ... <br /> |-<br /> | || DRAWN_IMAGE_SCALE = %lld || DRAWN_IMAGE_SCALE = 4 || Display Output Videoscale <br /> 0 = <br /> 1 = small picture<br /> 2 = (Default)<br /> 3 =<br /> 4 =<br /> ...<br /> |-<br /> | AW. {|| || || indicates LINEAR_ADRS to CLOAD_MODE optional setting following<br /> |-<br /> | || LINEAR_ADRS = %llx || AW.LINEAR_ADRS = 40 ||<br /> 0 = (Default)<br /> 40 = <br /> |-<br /> | || SINGLE_BUF = %llx || AW.SINGLE_BUF = 880 ||<br /> 0 = (Default)<br /> 80 = <br /> 880 =<br /> |-<br /> | || DISABLE_FB_TEX = %llx || AW.DISABLE_FB_TEX = 100 || <br /> 0 = (Default)<br /> 100 = <br /> |-<br /> | || REUSE_ADRS = %llx || AW.REUSE_ADRS = 110000 ||<br /> 0 = (Default)<br /> 110000 =<br /> |-<br /> | || SINGLE_BUF2 = %llx || ||<br /> |-<br /> | || DECODE_WAIT = %llx || AW.DECODE_WAIT = 10000 || in order to slowdown ?<br /> 0 = (Default)<br /> 10000 = <br /> |-<br /> | || DISCARD_EDGE = %llx || AW.DISCARD_EDGE = 20000 ||<br /> 0 = (Default)<br /> 20000 =<br /> |-<br /> | || RECYCLE_RD_TEX = %llx || ||<br /> |-<br /> | || EXT_MODE = %llx || AW.EXT_MODE = 3 ||<br /> 0 = (Default)<br /> Uses different SPU ELF for transparency/textures behavior <br /> 1 = <br /> 2 = <br /> 3 = <br /> |-<br /> | || THR_PIXEL_OFST = %llx || AW.THR_PIXEL_OFST = 0 || <br /> 0 = <br /> 3EFFFFFF = (default)<br /> |-<br /> | || EXT_CMD = %llx || AW.EXT_CMD = 2 || <br /> 0 = (Default)<br /> 1 = <br /> 2 = <br /> 3 = <br /> |-<br /> | || VRAM_MODE = %llx || AW.VRAM_MODE = 1 ||<br /> 0 = Disabled (default) <br /> 1 = Enabled<br /> |-<br /> | || CLOAD_MODE = %llx || AW.CLOAD_MODE = 1 || (Note: Only available since 4.30?)<br /> 0 = Disabled (default) <br /> 1 = Enabled<br /> Displays Selection Menu: Remaster/Adhoc ?<br /> |-<br /> | } || || ||<br /> |-<br /> | AUDIO. {|| || || indicates optional SCR_NOIZ,SLEEP,DECODE_LIMIT setting following<br /> |-<br /> | || SRC_NOIZ = %llx || ||<br /> |-<br /> | || SLEEP = %llx || AUDIO.SLEEP = 421 ||<br /> 0 = (Default)<br /> 421 =<br /> |-<br /> | || DECODE_LIMIT = %llx || ||<br /> |-<br /> | } || || ||<br /> |-<br /> | || VFPU_USE_FAST_VMMUL = %lld || ||<br /> 0 = Disabled (Default) <br /> 1 = Enabled<br /> |-<br /> | || VMX_FOR_FPU = %lld || ||<br /> 0 = Disabled<br /> 1 = Enabled (Default)<br /> |-<br /> | || FPU_FS_SUPPORT = %lld || ||<br /> 0 = Disabled<br /> 1 = Enabled (Default)<br /> |-<br /> | || MIPS_CODE_BLOCK_SIZE = %lld || MIPS_CODE_BLOCK_SIZE = 8192 ||<br /> 8192 (decimal) = 0x2000 (hex) <br /> 4096 (decimal) = 0x1000 (hex, Default)<br /> |-<br /> | || ALLEGREX_DELAY = %lld || || Allegrex = PSP CPU <br /> 0 = (Default)<br /> 100 = ms delay interrupt/thread/sync<br /> |-<br /> | || LINCOLN_START_ADDR = %llx || ||<br /> 0x8804000? = (Default)?<br /> 0x20000<br /> |-<br /> | || LINCOLN_START_SIZE = %llx || || ELF Size?<br /> |-<br /> | || TRANSLATOR_PATCH[%lld] = { %08x } || || <br /> %lld = Number of patches to allocate&lt;br&gt;<br /> Format goes like this - all values being 32Bit hexdecimal:&lt;br&gt;<br /> = { start_address? end_address? patch1 patch2 .... (optional: count_for_buff2 buff2_value1 buff2_value2..) }<br /> |-<br /> | || OSK_ENGLISH = %lld || || On Screen Keyboard<br /> 0 = (Default) panel <br /> Else? = english<br /> |-<br /> | S3D. {|| || || Stereoscopic 3D<br /> |-<br /> | || ENABLE = %lld || S3D.ENABLE = 1 ||<br /> 0 = Disabled (Default)<br /> 1 = <br /> 2 = <br /> 3,4,.. = ? (3D Display strong?)<br /> |-<br /> | || MAX_PARALLAX = %f || || (info: http://www.lightillusion.com/stereo_3d_rules.html) &lt;br&gt; 0.0 to 1.0 ? <br /> 0.029999999 = (Default)<br /> |-<br /> | || SCREEN_DISTANCE = %f || || 0.0 to 1.0 ?<br /> -1.0 = (Default)<br /> |-<br /> | CONV. {|| || || struct within S3D structure (info: http://www.lightillusion.com/stereo_3d_convergence.html)<br /> |-<br /> | || DEPTH_TYPE = %lld || ||<br /> 2 = (Default)<br /> |-<br /> | || GLOBAL_DEPTH1 = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || GLOBAL_DEPTH2 = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || LOCAL_DEPTH1 = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || LOCAL_DEPTH2 = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || SHIFT = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || SIDEPANEL = %lld || ||<br /> 0 = (Default)<br /> |-<br /> | } || || ||<br /> |-<br /> | } || || ||<br /> |-<br /> | FILTER. {|| || || <br /> |-<br /> | DOF. {|| || || depth of field filter<br /> |-<br /> | || GAUSSIAN = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || DEPTH.0 = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || DEPTH.1 = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || FOCAL_DISTANCE = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || FIELD_WIDTH = %f || ||<br /> 0 = (Default)<br /> |-<br /> | } || || ||<br /> |-<br /> | BLOOM. {|| || || bloom filter<br /> |-<br /> | || THRESHOLD.R = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || THRESHOLD.G = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || THRESHOLD.B = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || THRESHOLD.VALUE = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || ADD.R = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || ADD.G = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || ADD.B = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || ADD.LOD = %f || ||<br /> 0 = (Default)<br /> |-<br /> | } || || ||<br /> |-<br /> | } || || ||<br /> |-<br /> | || ADDITIONAL_KEY_ASSIGN = %llx || ADDITIONAL_KEY_ASSIGN = 0000000047C6C544 ||<br /> 0000000047C6C544 : maps right analog stick, usefull for 3rd person camera viewing<br /> 0000000048C0C940 : maps L + R to right analog stick left and right<br /> 8000000000000000 : unknown<br /> |-<br /> | || SAVEDATA_USE_UPPERCASENAME = %lld || ||<br /> 0 = (Default)<br /> Ese = convert characters<br /> |-<br /> | || FAKE_PATH = %s || || (max. lenght 0x400 bytes)<br /> |-<br /> | || SAVEDATA_LOAD_CACHE_TARGET_NAME = %s || SAVEDATA_LOAD_CACHE_TARGET_NAME = ULJM05637DQUEST ||<br /> |-<br /> | || SAVEDATA_USE_PS3_SAVE = %lld || SAVEDATA_USE_PS3_SAVE = 1 ||<br /> 0 = Uses PSP/PSPMinis SaveData module <br /> 1 = SaveGame via PS3 SaveData module<br /> |-<br /> | || ICACHE_CONTROL = %llx || ||<br /> 0 = Enable InvalidateAll availability<br /> 1 = sceKernelIcacheInvalidateRange disabled?<br /> 2 = sceKernelIcacheInvalidateAll disabled?<br /> |-<br /> | || DEBUG.GRAPHICS = %lld || DEBUG.GRAPHICS = 1 ||<br /> 0 = off<br /> 1 = on , displays information and more: <br /> * flip time average (max.,min.),<br /> * RSX Performance average (max.,min.),<br /> * MIPS load average (max.,min.)<br /> 2 = ?<br /> |-<br /> | || DEBUG.CPU_PERF_BUF_SIZE = 0x%llx || ||<br /> 0x100000 = (default)<br /> |-<br /> | || VSYNC_OFFSET_US = %lld || VSYNC_OFFSET_US = 8341 ||<br /> 8341 = 0x2095 (Default)<br /> 2000 = 0x07D0 (Legend of Heroes/Eiyū Densetsu HD Remasters)<br /> |-<br /> | || ADHOC_PARTY = %llx || ADHOC_PARTY = 1 ||<br /> 0 = Disabled (Default)<br /> 1 = Enable Ad hoc Multiplayer<br /> |-<br /> | || GPI = 0x%llx || ||<br /> 0 = (Default) <br /> uint8_t value<br /> |-<br /> | || UTILITY_CTRL_VALUE = %llx || ||<br /> |-<br /> | || CODE_SIZE_LIMIT = %llx || CODE_SIZE_LIMIT = 00800000 ||<br /> |-<br /> | || NP.COMMUNICATION_ID = %s || ||<br /> |-<br /> | || ADHOC_LOCAL_PEER_NUM = %llx || ||<br /> |-<br /> | ADHOC. {|| || || <br /> |-<br /> | || EMUPA_TITLE_ID = %s || ADHOC.EMUPA_TITLE_ID = ULJM05637 ||<br /> |-<br /> | || EMUPA_INITIAL_SERVER = %lld || ADHOC.EMUPA_INITIAL_SERVER = 1 ||<br /> 0 = (Default) <br /> 1 = <br /> |-<br /> | || USE_WORLD_MIN = %lld || ||<br /> |-<br /> | || USE_WORLD_MAX = %lld || ||<br /> |-<br /> | || MAC_THREAD_PRIORITY = %lld || ||<br /> |-<br /> | || SEND_LIMIT = %lld || ||<br /> |-<br /> | || RECV_LIMIT = %lld || ||<br /> |-<br /> | || PTP_SB_SEND_EXT = %lld || ||<br /> |-<br /> | || PTP_SEND_INTERVAL_MIN = %lld || ||<br /> |-<br /> | || PTP_ACCEPT_DELAY = %lld || ||<br /> |-<br /> | || FLAGS = %llx || ||<br /> |-<br /> | } || || ||<br /> |-<br /> |}<br /> <br /> === Special notes ===<br /> <br /> ==== PSP Minis ====<br /> On few Games there are predefined changes set for the Core within the emulator.<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Title ID !! Title Name !! Note<br /> |-<br /> | NPEZ00001 || Puzzle Scape Mini || AW.DISCARD_EDGE = 20000&lt;br&gt; AW.DECODE_WAIT = 10000<br /> |-<br /> | NPEZ00002 || Stand O'Food || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00003 || Mahjongg Artifacts Chapter 2 || AW.LINEAR_ADRS = 40&lt;br&gt; AW.DISABLE_FB_TEX = 100&lt;br&gt; AW.DISCARD_EDGE = 20000<br /> |-<br /> | NPEZ00021 || Pinball Dreams || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00022 || Pinball Fantasies || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00027 || Sudoku || AUDIO.SLEEP = 421<br /> |-<br /> | NPEZ00028 || Bowling 3D *1) || <br /> |-<br /> | NPEZ00031 || Hero Of Sparta || <br /> |-<br /> | NPEZ00041 || Blast Off || <br /> |-<br /> | NPEZ00046 || Brainpipe || <br /> |-<br /> | NPEZ00093 || Tetris *1) || AW.SINGLE_BUF = 80&lt;br&gt;AW.REUSE_ADRS = 110000<br /> |-<br /> | NPEZ00094 || Yummy Yummy Cooking Jam || AW.SINGLE_BUF = 880&lt;br&gt;AW.DECODE_WAIT = 10000<br /> |-<br /> | NPEZ00105 || Telegraph - Sudoku &amp; Kakuro || DRAWN_IMAGE_SCALE = 1 <br /> |-<br /> | NPEZ00106 || Sudoku und Kakuro: Welt Edition || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00107 || Spot The Differences! || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00108 || Finde die Unterschiede! Welt Edition || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00112 || Telegraph Crosswords || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00113 || Kreuzwortraetsel: Welt Edition || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00125 || Pallurikio || <br /> |-<br /> | NPEZ00194 || Mahjongg Artifacts || AW.LINEAR_ADRS = 40&lt;br&gt;AW.DISABLE_FB_TEX = 100&lt;br&gt;AW.DISCARD_EDGE = 20000<br /> |-<br /> | NPEZ00219 || Arctic Adventures: Polar's Puzzles || <br /> |-<br /> | NPEZ00381 || Fighting Fantasy - Talisman of death || AW.THR_PIXEL_OFST = 0<br /> |-<br /> | NEPZ00444 || Jetpack Joyride || AW.CLOAD_MODE = 1<br /> |-<br /> | NPUZ00002 || Bowling 3D *1) || <br /> |-<br /> | NPUZ00005 || Hero Of Sparta || <br /> |-<br /> | NPUZ00006 || Mahjongg Artifacts Chapter 2 || AW.LINEAR_ADRS = 40&lt;br&gt;AW.DISABLE_FB_TEX = 100&lt;br&gt;AW.DISCARD_EDGE = 20000<br /> |-<br /> | NPUZ00009 || Brainpipe || <br /> |-<br /> | NPUZ00017 || Pinball Fantasies || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPUZ00018 || Yummy Yummy Cooking Jam || AW.SINGLE_BUF = 880&lt;br&gt;AW.DECODE_WAIT = 10000<br /> |-<br /> | NPUZ00021 || Blast Off || <br /> |-<br /> | NPUZ00029 || Stand O' Food || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPUZ00034 || Spot The Differences! || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPUZ00054 || Pinball Dreams || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPUZ00058 || SuperMarket Mania || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPUZ00062 || Mahjongg Artifacts || AW.LINEAR_ADRS = 40&lt;br&gt;AW.DISABLE_FB_TEX = 100&lt;br&gt;AW.DISCARD_EDGE = 20000<br /> |-<br /> | NPUZ00099 || Pallurikio || <br /> |-<br /> | NPUZ00114 || Arctic Adventures: Polar's Puzzles || <br /> |-<br /> | NPUZ00292 || Jetpack Joyride || AW.CLOAD_MODE = 1<br /> |-<br /> |}<br /> <br /> *1) SFO: PP, officially wont run on ps3 as no iso.bin and no proper minis file (only psp officially supported)<br /> <br /> ==== PSP HD Remasters ====<br /> <br /> * TextureSize = 1024<br /> * Can use 64 MB memory<br /> And these PSP Remaster Games got a MINIS2.EDAT setting definitions for the Emulator Core.<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Disc Title ID !! NP Title ID !! Title Name !! Note<br /> |-<br /> | BLJM85001 || NPJB40001 || Monster Hunter Portable 3rd HD Ver || VERSION = 0xFFFFFFFF&lt;br&gt;<br /> S3D.ENABLE = 2&lt;br&gt;<br /> SDRAM_SIZE = 02800000&lt;br&gt;<br /> MIPS_CODE_BLOCK_SIZE = 8192&lt;br&gt; (next settings are done internally and not part of MINIS2)&lt;br&gt;<br /> DRAWN_IMAGE_SCALE = 4&lt;br&gt;<br /> AW.EXT_MODE = 3&lt;br&gt;<br /> TRANS_CACHE_SIZE = 1000000&lt;br&gt;<br /> VSYNC_OFFSET_US = 2000&lt;br&gt;<br /> ADHOC.EMUPA_TITLE_ID = ULJM05800&lt;br&gt;<br /> ADHOC.EMUPA_INITIAL_SERVER = 1&lt;br&gt;<br /> ADHOC_PARTY = 1&lt;br&gt;<br /> |-<br /> | BLJM85002 || NPJB40002 || K-ON Houkago Live HD Ver || VERSION = 0xFFFFFFFF&lt;br&gt;<br /> AW.EXT_MODE = 3&lt;br&gt;<br /> AW.EXT_CMD = 2&lt;br&gt;<br /> SDRAM_SIZE = 02800000&lt;br&gt;<br /> ADDITIONAL_KEY_ASSIGN = 8000000000000000&lt;br&gt;<br /> S3D.ENABLE = 1&lt;br&gt;<br /> ADHOC.EMUPA_TITLE_ID = ULJM05709<br /> |-<br /> | BLJM85003 || NPJB40003 || Shin Sangoku Musou Multi Raid 2 HD Ver || VERSION = 0xFFFFFFFF&lt;br&gt;<br /> AW.EXT_MODE = 3&lt;br&gt;<br /> AW.EXT_CMD = 2&lt;br&gt;<br /> SDRAM_SIZE = 02800000&lt;br&gt;<br /> ADDITIONAL_KEY_ASSIGN = 0000000047C6C544&lt;br&gt;<br /> S3D.ENABLE = 1&lt;br&gt;<br /> ADHOC.EMUPA_TITLE_ID = ULJM05637&lt;br&gt;<br /> AW.VRAM_MODE = 1&lt;br&gt;<br /> SAVEDATA_LOAD_CACHE_TARGET_NAME = ULJM05637DQUEST<br /> |-<br /> | BLJM85004 || NPJB00293&lt;br&gt;NPJN00005 ||Eiyuu Densetsu Sora no Kiseki FC Kai HD Edition || VERSION = 0xFFFFFFFF&lt;br&gt;<br /> SDRAM_SIZE = 03000000&lt;br&gt;<br /> ADDITIONAL_KEY_ASSIGN = 0000000047C6C544&lt;br&gt;<br /> S3D.ENABLE = 1&lt;br&gt;<br /> AW.EXT_MODE = 3&lt;br&gt;<br /> AW.EXT_CMD = 3&lt;br&gt;<br /> ADHOC_PARTY = 0&lt;br&gt;<br /> VSYNC_OFFSET_US = 2000<br /> |-<br /> | BLJM85005 || NPJB00334&lt;br&gt;NPJN00007||Eiyuu Densetsu: Sora no Kiseki SC Kai HD Edition || VERSION = 0xFFFFFFFF&lt;br&gt;<br /> SDRAM_SIZE = 04000000&lt;br&gt;<br /> CODE_SIZE_LIMIT = 00800000&lt;br&gt;<br /> ADDITIONAL_KEY_ASSIGN = 8000000000000000&lt;br&gt;<br /> S3D.ENABLE = 2&lt;br&gt;<br /> AW.EXT_MODE = 3&lt;br&gt;<br /> AW.EXT_CMD = 3&lt;br&gt;<br /> ADHOC_PARTY = 0&lt;br&gt;<br /> VSYNC_OFFSET_US = 2000<br /> |-<br /> | BLJM85006 || NPJB00360&lt;br&gt;NPJN00008||Eiyuu Densetsu: Sora no Kiseki the 3rd: Kai HD Edition || VERSION = 0xFFFFFFFF&lt;br&gt;<br /> SDRAM_SIZE = 04000000&lt;br&gt;<br /> CODE_SIZE_LIMIT = 00800000&lt;br&gt;<br /> ADDITIONAL_KEY_ASSIGN = 8000000000000000&lt;br&gt;<br /> S3D.ENABLE = 2&lt;br&gt;<br /> AW.EXT_MODE = 3&lt;br&gt;<br /> AW.EXT_CMD = 3&lt;br&gt;<br /> ADHOC_PARTY = 0&lt;br&gt;<br /> |}<br /> <br /> DiscIDs inside emulator: http://pastie.org/pastes/4367964/<br /> <br /> ==== Unofficial PSP Games MINIS2====<br /> <br /> * research only<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Title ID !! Title Name !! Issue !! Setting !! Note<br /> |-<br /> | || Shin Megami Tensei: Persona3 Portable || hangs while loading screen ||<br /> AW.VRAM = 1<br /> || fixes loading, but requires further research<br /> |-<br /> | || Silent Hill: Origins || Loading Screen texture flicker on top ||<br /> AW.LINEAR_ADRS = 40 <br /> ||<br /> |-<br /> | || Tactics Ogre: Let Us Cling Together || Black texture? overlay in movies and &quot;Tarot Card&quot; selection ||<br /> AW.LINEAR_ADRS = 40 <br /> ||<br /> |-<br /> | || The 3rd Birthday || blue transparent texture overblending ||<br /> AW.DISABLE_FB_TEX = 222<br /> || mostly removed, but requires further research<br /> |-<br /> |}<br /> <br /> === NID ===<br /> &lt;pre&gt;<br /> <br /> Library: GprofManStub<br /> 0x6A05A80D sceGprofSetProfil<br /> 0x799D0A67 sceGprofFreeProfil<br /> <br /> Library: GprofManWeak<br /> 0x6A05A80D sceGprofSetProfil_Weak<br /> 0x799D0A67 sceGprofFreeProfil_Weak<br /> <br /> Library: InterruptManager<br /> 0x5CB5A78B sceKernelSuspendSubIntr<br /> 0x7860E0DC sceKernelResumeSubIntr<br /> 0x8A389411 sceKernelDisableSubIntr<br /> 0xCA04A2B9 sceKernelRegisterSubIntrHandler<br /> 0xD61E6961 sceKernelReleaseSubIntrHandler<br /> 0xEEE43F47 sceKernelRegisterUserSpaceIntrStack<br /> 0xFB8E22EC sceKernelEnableSubIntr<br /> 0xFC4374B8 sceKernelIsSubInterruptOccurred<br /> <br /> Library: IoFileMgrForUser<br /> 0x06A70004 sceIoMkdir<br /> 0x08BD7374 sceIoGetDevType<br /> 0x0FACAB19 sceIoWriteAsync<br /> 0x109F50BC sceIoOpen<br /> 0x1117C65F sceIoRmdir<br /> 0x1B385D8F sceIoLseek32Async<br /> 0x27EB27B8 sceIoLseek<br /> 0x3251EA56 sceIoPollAsync<br /> 0x35DBD746 sceIoWaitAsyncCB<br /> 0x42EC03AC sceIoWrite<br /> 0x54F5FB11 sceIoDevctl<br /> 0x55F4717D sceIoChdir<br /> 0x5C2BE2CC sceIoGetFdList<br /> 0x63632449 sceIoIoctl<br /> 0x68963324 sceIoLseek32<br /> 0x6A638D83 sceIoRead<br /> 0x6D08A871 sceIoUnassign<br /> 0x71B19E77 sceIoLseekAsync<br /> 0x779103A0 sceIoRename<br /> 0x810C4BC3 sceIoClose<br /> 0x89AA9906 sceIoOpenAsync<br /> 0xA0B5A7C2 sceIoReadAsync<br /> 0xA12A0514 sceIoSetAsyncCallback<br /> 0xAB96437F sceIoSync<br /> 0xACE946E8 sceIoGetstat<br /> 0xB293727F sceIoChangeAsyncPriority<br /> 0xB29DDF9C sceIoDopen<br /> 0xB2A628C1 sceIoAssign<br /> 0xB8A740F4 sceIoChstat<br /> 0xCB05F8D6 sceIoGetAsyncStat<br /> 0xE23EEC33 sceIoWaitAsync<br /> 0xE3EB004C sceIoDread<br /> 0xE8BC6571 sceIoCancel<br /> 0xE95A012B sceIoIoctlAsync<br /> 0xEB092469 sceIoDclose<br /> 0xF27A9C51 sceIoRemove<br /> 0xFF5940B6 sceIoCloseAsync<br /> <br /> Library: Kernel_Library<br /> 0x092968F4 sceKernelCpuSuspendIntr<br /> 0x15B6446B sceKernelUnlockLwMutex<br /> 0x1839852A sceKernelMemcpy<br /> 0x1FC64E09 sceKernelLockLwMutexCB<br /> 0x293B45B8 sceKernelGetThreadId_kernel<br /> 0x37431849 sceKernelTryLockLwMutex_600<br /> 0x3B84732D sceKernelCpuResumeIntrWithSync<br /> 0x47A0B729 sceKernelIsCpuIntrSuspended<br /> 0x5F10D406 sceKernelCpuResumeIntr<br /> 0xA089ECA4 sceKernelMemset<br /> 0xB55249D2 sceKernelIsCpuIntrEnable<br /> 0xBEA46419 sceKernelLockLwMutex<br /> 0xC1734599 sceKernelReferLwMutexStatus<br /> 0xD13BDE95 sceKernelCheckThreadStack_user<br /> 0xDC692EE3 sceKernelTryLockLwMutex<br /> 0xFA835CDE sceKernelGetTlsAddr<br /> <br /> Library: LoadExecForUser<br /> 0x05572A5F sceKernelExitGame<br /> 0x2AC9954B sceKernelExitGameWithStatus<br /> 0x362A956B sceKernelSafetyCheck1<br /> 0x4AC57943 sceKernelRegisterExitCallback<br /> 0x8ADA38D3 sceKernelLoadExecNpDrm<br /> 0xBD2F1094 sceKernelLoadExec<br /> <br /> Library: ModuleMgrForUser<br /> 0x2E0911AA sceKernelUnloadModule<br /> 0x50F0C1EC sceKernelStartModule<br /> 0x644395E2 sceKernelGetModuleIdList<br /> 0x748CBED9 sceKernelQueryModuleInfo<br /> 0x8F2DF740 sceKernelStopUnloadSelfModuleWithStatus<br /> 0x977DE386 sceKernelLoadModule<br /> 0xB7F46618 sceKernelLoadModuleByID<br /> 0xCC1D3699 sceKernelStopUnloadSelfModule<br /> 0xCDE1C1FE sceKernelCheckTextSegment<br /> 0xD1FF982A sceKernelStopModule<br /> 0xD2FBC957 sceKernelGetModuleGPByAddress<br /> 0xD675EBB8 sceKernelSelfStopUnloadModule<br /> 0xD8B73127 sceKernelGetModuleIdByAddress<br /> 0xE4C4211C sceKernelLoadModuleWithBlockOffset<br /> 0xF0A26395 sceKernelGetModuleId<br /> 0xF2D8D1B4 sceKernelLoadModuleNpDrm<br /> 0xF9275D98 sceKernelLoadModuleBufferUsbWlan<br /> 0xFBE27467 sceKernelLoadModuleByIDWithBlockOffset<br /> 0xFEF27DC1 sceKernelLoadModuleDNAS<br /> <br /> Library: StdioForUser<br /> 0x0CBB0571 sceKernelStdioLseek<br /> 0x172D316E sceKernelStdin<br /> 0x3054D478 sceKernelStdioRead<br /> 0x432D8F5C sceKernelRegisterStdoutPipe<br /> 0x6F797E03 sceKernelRegisterStderrPipe<br /> 0x924ABA61 sceKernelStdioOpen<br /> 0x9D061C19 sceKernelStdioClose<br /> 0xA3B931DB sceKernelStdioWrite<br /> 0xA46785C9 sceKernelStdioSendChar<br /> 0xA6BAB2E9 sceKernelStdout<br /> 0xF78BA90A sceKernelStderr<br /> <br /> Library: SysMemUserForUser<br /> 0x13A5ABEF sceKernelPrintf<br /> 0x1B4217BC sceKernelSetCompiledSdkVersion630<br /> 0x237DBD4F sceKernelAllocPartitionMemory<br /> 0x315AD3A0 sceKernelSetCompiledSdkVersion380_390<br /> 0x342061E5 sceKernelSetCompiledSdkVersion370<br /> 0x35669D4C sceKernelSetCompiledSdkVersion600_620<br /> 0x358CA1BB sceKernelSetCompiledSdkVersion660<br /> 0x50F61D8A sceKernelFreeMemoryBlock<br /> 0x7591C7DB sceKernelSetCompiledSdkVersion100<br /> 0x7893F79A sceKernelSetCompiledSdkVersion570_570<br /> 0x91DE343C sceKernelSetCompiledSdkVersion500_550<br /> 0x9D9A5BA1 sceKernelGetBlockHeadAddr<br /> 0xA291F107 sceKernelMaxFreeMemSize<br /> 0xB6D61D02 sceKernelFreePartitionMemory<br /> 0xD8DE5C1E sceKernelSafetyCheck0<br /> 0xDB83A952 sceKernelGetMemoryBlockAddr<br /> 0xEBD5C3E6 sceKernelSetCompiledSdkVersion395_405<br /> 0xF77D77CB sceKernelSetCompilerVersion<br /> 0xF919F628 sceKernelTotalFreeMemSize<br /> 0xFC114573 sceKernelGetCompiledSdkVersion<br /> 0xFE707FDF sceKernelAllocMemoryBlock<br /> <br /> Library: ThreadManForUser<br /> 0x034A921F sceKernelGetVTimerTime<br /> 0x0C106E53 sceKernelRegisterThreadEventHandler<br /> 0x0D81716A sceKernelPollMbx<br /> 0x0DDCD2C9 sceKernelTryLockMutex<br /> 0x110DEC9A sceKernelUSec2SysClock<br /> 0x1181E963 sceKernelDelaySysClockThreadCB<br /> 0x17C1684E sceKernelReferThreadStatus<br /> 0x18260574 sceKernelReceiveMbx<br /> 0x19CFF145 sceKernelCreateLwMutex<br /> 0x1AF94D03 sceKernelDonateWakeupThread<br /> 0x1D371B8A sceKernelCancelVpl<br /> 0x1FB15A32 sceKernelSetEventFlag<br /> 0x20FFF560 sceKernelCreateVTimer<br /> 0x278C0DF5 sceKernelWaitThreadEnd<br /> 0x27E22EC2 sceKernelResumeDispatchThread<br /> 0x28B6489C sceKernelDeleteSema<br /> 0x293B45B8 sceKernelGetThreadId<br /> 0x2A3D44FF sceKernelGetCallbackCount<br /> 0x2C34E053 sceKernelReleaseWaitThread<br /> 0x30FD48F0 sceKernelPollEventFlag<br /> 0x328C546A sceKernelWaitEventFlagCB<br /> 0x328F9E52 sceKernelDeleteVTimer<br /> 0x32BF938E sceKernelDeleteTlspl<br /> 0x33BE4024 sceKernelReferMsgPipeStatus<br /> 0x349B864D sceKernelCancelMsgPipe<br /> 0x349D6D6C sceKernelCheckCallback<br /> 0x369ED59D sceKernelGetSystemTimeLow<br /> 0x369EEB6B sceKernelReferThreadEventHandlerStatus<br /> 0x383F7BCC sceKernelTerminateDeleteThread<br /> 0x39810265 sceKernelReferVplStatus<br /> 0x3AD58B8C sceKernelSuspendDispatchThread<br /> 0x3B183E26 sceKernelGetThreadExitStatus<br /> 0x3F53E640 sceKernelSignalSema<br /> 0x402FCF22 sceKernelWaitEventFlag<br /> 0x446D8DE6 sceKernelCreateThread<br /> 0x4A719FB2 sceKernelFreeTlspl<br /> 0x4C145944 sceKernelReferLwMutexStatusByID<br /> 0x4E3A1105 sceKernelWaitSema<br /> 0x52089CA1 sceKernelGetThreadStackFreeSize<br /> 0x532A522E _sceKernelExitThread<br /> 0x53B00E9A sceKernelSetVTimerHandlerWide<br /> 0x542AD630 sceKernelSetVTimerTime<br /> 0x55C20A00 sceKernelCreateEventFlag<br /> 0x56C039B5 sceKernelCreateVpl<br /> 0x57CF62DD sceKernelGetThreadmanIdType<br /> 0x58B1F937 sceKernelPollSema<br /> 0x5BF4DD27 sceKernelLockMutexCB<br /> 0x5F32BEAA sceKernelReferVTimerStatus<br /> 0x60107536 sceKernelDeleteLwMutex<br /> 0x616403BA sceKernelTerminateThread<br /> 0x623AE665 sceKernelTryAllocateFpl<br /> 0x627E6F3A sceKernelReferSystemStatus<br /> 0x64D4540E sceKernelReferThreadProfiler<br /> 0x65F54FFB _sceKernelAllocateTlspl<br /> 0x6652B8CA sceKernelSetAlarm<br /> 0x68DA9E36 sceKernelDelayThreadCB<br /> 0x6B30100F sceKernelUnlockMutex<br /> 0x6D212BAC sceKernelWaitSemaCB<br /> 0x6E9EA350 _sceKernelReturnFromCallback<br /> 0x71BC9871 sceKernelChangeThreadPriority<br /> 0x721067F3 sceKernelReferTlsplStatus<br /> 0x72F3C145 sceKernelReleaseThreadEventHandler<br /> 0x730ED8BC sceKernelReferCallbackStatus<br /> 0x74829B76 sceKernelReceiveMsgPipe<br /> 0x75156E8F sceKernelResumeThread<br /> 0x7C0DC2A0 sceKernelCreateMsgPipe<br /> 0x7C41F2C2 sceKernelSendMsgPipeCB<br /> 0x7E65B999 sceKernelCancelAlarm<br /> 0x809CE29B sceKernelExitDeleteThread<br /> 0x812346E4 sceKernelClearEventFlag<br /> 0x8125221D sceKernelCreateMbx<br /> 0x8218B4DD sceKernelReferGlobalProfiler<br /> 0x82826F70 sceKernelSleepThreadCB<br /> 0x82BC5777 sceKernelGetSystemTimeWide<br /> 0x840E8133 sceKernelWaitThreadEndCB<br /> 0x86255ADA sceKernelDeleteMbx<br /> 0x876DBFAD sceKernelSendMsgPipe<br /> 0x87D4DD36 sceKernelCancelReceiveMbx<br /> 0x87D9223C sceKernelCancelMutex<br /> 0x884C9F90 sceKernelTrySendMsgPipe<br /> 0x89B3D48C sceKernelDeleteVpl<br /> 0x8DAFF657 sceKernelCreateTlspl<br /> 0x8FFDF9A2 sceKernelCancelSema<br /> 0x912354A7 sceKernelRotateThreadReadyQueue<br /> 0x94416130 sceKernelGetThreadmanIdList<br /> 0x94AA61EE sceKernelGetThreadCurrentPriority<br /> 0x9944F31F sceKernelSuspendThread<br /> 0x9ACE131E sceKernelSleepThread<br /> 0x9FA03CD3 sceKernelDeleteThread<br /> 0xA1F78052 _sceKernelReturnFromChangeStack<br /> 0xA66B0120 sceKernelReferEventFlagStatus<br /> 0xA8AA591F sceKernelCancelFpl<br /> 0xA8E8C846 sceKernelReferMbxStatus<br /> 0xA9C2CB9A sceKernelReferMutexStatus<br /> 0xAA73C935 sceKernelExitThread<br /> 0xAF36D708 sceKernelTryAllocateVpl<br /> 0xB011B11F sceKernelLockMutex<br /> 0xB2C25152 sceKernelSetSysClockAlarm<br /> 0xB3A59970 sceKernelGetVTimerBase<br /> 0xB736E9FF sceKernelFreeVpl<br /> 0xB7C18B77 sceKernelGetVTimerBaseWide<br /> 0xB7D098C6 sceKernelCreateMutex<br /> 0xBA4051D6 sceKernelCancelCallback<br /> 0xBA6B92E2 sceKernelSysClock2USec<br /> 0xBC6FEBC5 sceKernelReferSemaStatus<br /> 0xBC80EC7C sceKernelExtendThreadStack<br /> 0xBD123D9E sceKernelDelaySysClockThread<br /> 0xBED27435 sceKernelAllocateVpl<br /> 0xC07BB470 sceKernelCreateFpl<br /> 0xC0B3FFD2 sceKernelGetVTimerTimeWide<br /> 0xC11BA8C4 sceKernelNotifyCallback<br /> 0xC68D9437 sceKernelStartVTimer<br /> 0xC8CD158C sceKernelUSec2SysClockWide<br /> 0xCD203292 sceKernelCancelEventFlag<br /> 0xCEADEB47 sceKernelDelayThread<br /> 0xD0AEEE87 sceKernelStopVTimer<br /> 0xD13BDE95 sceKernelCheckThreadStack<br /> 0xD2D615EF sceKernelCancelVTimerHandler<br /> 0xD59EAD2F sceKernelWakeupThread<br /> 0xD6DA4BA1 sceKernelCreateSema<br /> 0xD8199E4C sceKernelReferFplStatus<br /> 0xD8B299AE sceKernelSetVTimerHandler<br /> 0xD979E9BF sceKernelAllocateFpl<br /> 0xDAA3F564 sceKernelReferAlarmStatus<br /> 0xDB738F35 sceKernelGetSystemTime<br /> 0xDF52098F sceKernelTryReceiveMsgPipe<br /> 0xE1619D7C sceKernelSysClock2USecWide<br /> 0xE7282CB6 sceKernelAllocateFplCB<br /> 0xE81CAF8F sceKernelCreateCallback<br /> 0xE9B3061E sceKernelSendMbx<br /> 0xEA748E31 sceKernelChangeCurrentThreadAttr<br /> 0xEC0A693F sceKernelAllocateVplCB<br /> 0xED1410E0 sceKernelDeleteFpl<br /> 0xEDBA5844 sceKernelDeleteCallback<br /> 0xEF9E4C70 sceKernelDeleteEventFlag<br /> 0xF0B7DA1C sceKernelDeleteMsgPipe<br /> 0xF3986382 sceKernelReceiveMbxCB<br /> 0xF475845D sceKernelStartThread<br /> 0xF6414A71 sceKernelFreeFpl<br /> 0xF8170FBE sceKernelDeleteMutex<br /> 0xFB6425C3 sceKernelSetVTimerTimeWide<br /> 0xFBFA697D sceKernelReceiveMsgPipeCB<br /> 0xFCCFAD26 sceKernelCancelWakeupThread<br /> 0xFFC36A14 sceKernelReferThreadRunStatus<br /> <br /> Library: ThreadMonForUser<br /> 0x13BA4700 sceKernelThreadMonStart<br /> 0xAC447E49 sceKernelThreadMonStop<br /> 0xBA56557C sceKernelThreadMonSetBuffer<br /> 0xCE710A2C sceKernelThreadMonReset<br /> <br /> Library: UtilsForUser<br /> 0x06FB8A63 sceKernelUtilsMt19937UInt<br /> 0x16641D70 sceKernelDcacheReadTag<br /> 0x27CC57F0 sceKernelLibcTime<br /> 0x346F6DA8 sceKernelUtilsSha1BlockUpdate<br /> 0x34B9FA9E sceKernelDcacheWritebackInvalidateRange<br /> 0x37FB5C42 sceKernelGetGPI<br /> 0x3EE30821 sceKernelDcacheWritebackRange<br /> 0x43C9A8DB sceKernelL1IcacheInvalidateRange<br /> 0x4FD31C9D sceKernelIcacheProbe<br /> 0x585F1C09 sceKernelUtilsSha1BlockResult<br /> 0x61E1E525 sceKernelUtilsMd5BlockUpdate<br /> 0x6AD345D7 sceKernelSetGPO<br /> 0x71EC4271 sceKernelLibcGettimeofday<br /> 0x77DFF087 sceKernelDcacheProbeRange<br /> 0x79D1C3FA sceKernelDcacheWritebackAll<br /> 0x80001C4C sceKernelDcacheProbe<br /> 0x840259F1 sceKernelUtilsSha1Digest<br /> 0x87E81561 sceKernelPutUserLog<br /> 0x91E4F6A7 sceKernelLibcClock<br /> 0x920F104A sceKernelIcacheInvalidateAll<br /> 0x9E5C5086 sceKernelUtilsMd5BlockInit<br /> 0xB435DEC5 sceKernelDcacheWritebackInvalidateAll<br /> 0xB8D24E78 sceKernelUtilsMd5BlockResult<br /> 0xBFA98062 sceKernelDcacheInvalidateRange<br /> 0xC2DF770E sceKernelIcacheInvalidateRange<br /> 0xC8186A58 sceKernelUtilsMd5Digest<br /> 0xE860E75E sceKernelUtilsMt19937Init<br /> 0xF8FCD5BA sceKernelUtilsSha1BlockInit<br /> 0xFB05FAD0 sceKernelIcacheReadTag<br /> <br /> Library: deflt<br /> 0x0BA3B9CC sceGzipGetCompressedData_deflt<br /> 0x106A3552 sceGzipGetName_deflt<br /> 0x1B5B82BC sceGzipIsValid_deflt<br /> 0x2EE39A64 sceZlibAdler32_deflt<br /> 0x44054E03 sceDeflateDecompress_deflt<br /> 0x6A548477 sceZlibGetCompressedData_deflt<br /> 0x6DBCF897 sceGzipDecompress_deflt<br /> 0x8AA82C92 sceGzipGetInfo_deflt<br /> 0xA9E4FB28 sceZlibDecompress_deflt<br /> 0xAFE01FD3 sceZlibGetInfo_deflt<br /> 0xB767F9A0 sceGzipGetComment_deflt<br /> 0xE46EB986 sceZlibIsValid_deflt<br /> <br /> Library: sceAac<br /> 0x02098C69 sceAacGetInfoToAddStreamData<br /> 0x23D35CAE sceAacTermResource<br /> 0x33B8C009 sceAacExit<br /> 0x506BF66C sceAacGetSumDecodedSample<br /> 0x523347D9 sceAacGetLoopNum<br /> 0x5CFFC57C sceAacInitResource<br /> 0x61AA43C9 sceAacEndEntry<br /> 0x6C05813B sceAacStartEntry<br /> 0x6DC7758A sceAacGetMaxOutputSample<br /> 0x7E4CFEE4 sceAacDecode<br /> 0xAC6DCBE3 sceAacNotifyAddStreamData<br /> 0xBBDD6403 sceAacSetLoopNum<br /> 0xD2DA2BBA sceAacResetPlayPosition<br /> 0xD7C51541 sceAacCheckStreamDataNeeded<br /> 0xE0C89ACA sceAacInit<br /> <br /> Library: sceAdler<br /> 0x9702EF11 sceAdler32<br /> <br /> Library: sceAtrac3plus<br /> 0x0C116E1B sceAtracLowLevelDecode<br /> 0x0E2A73AB sceAtracSetData<br /> 0x0FAE370E sceAtracSetHalfwayBufferAndGetID<br /> 0x132F1ECA sceAtracReinit<br /> 0x1575D64B sceAtracLowLevelInitDecoder<br /> 0x231FC6B7 _sceAtracGetContextAddress<br /> 0x2DD3E298 sceAtracGetBufferInfoForResetting<br /> 0x31668BAA sceAtracGetChannel<br /> 0x36FAABFB sceAtracGetNextSample<br /> 0x3F6E26B5 sceAtracSetHalfwayBuffer<br /> 0x5622B7C1 sceAtracSetAA3DataAndGetID<br /> 0x5CF9D852 sceAtracSetMOutHalfwayBuffer<br /> 0x5D268707 sceAtracGetStreamDataInfo<br /> 0x5DD66588 sceAtracSetAA3HalfwayBufferAndGetID<br /> 0x61EB33F5 sceAtracReleaseAtracID<br /> 0x644E5607 sceAtracResetPlayPosition<br /> 0x6A8C3CD5 sceAtracDecodeData<br /> 0x780F88D1 sceAtracGetAtracID<br /> 0x7A20E7AF sceAtracSetDataAndGetID<br /> 0x7DB31251 sceAtracAddStreamData<br /> 0x83BF7AFD sceAtracSetSecondBuffer<br /> 0x83E85EA0 sceAtracGetSecondBufferInfo<br /> 0x868120B5 sceAtracSetLoopNum<br /> 0x9AE849A7 sceAtracGetRemainFrame<br /> 0x9CD7DE03 sceAtracSetMOutHalfwayBufferAndGetID<br /> 0xA2BBA8BE sceAtracGetSoundSample<br /> 0xA554A158 sceAtracGetBitrate<br /> 0xB3B5D042 sceAtracGetOutputChannel<br /> 0xCA3CA3D2 sceAtracGetBufferInfoForReseting<br /> 0xD1F59FDB sceAtracStartEntry<br /> 0xD5C28CC0 sceAtracEndEntry<br /> 0xD6A5F2F7 sceAtracGetMaxSample<br /> 0xE23E3A35 sceAtracGetNextDecodePosition<br /> 0xE88F759B sceAtracGetInternalErrorInfo<br /> 0xECA32A99 sceAtracIsSecondBufferNeeded<br /> 0xFAA4F89B sceAtracGetLoopStatus<br /> <br /> Library: sceAudio<br /> 0x01562BA3 sceAudioOutput2Reserve<br /> 0x086E5895 sceAudioInputBlocking<br /> 0x136CAF51 sceAudioOutputBlocking<br /> 0x13F592BC sceAudioOutputPannedBlocking<br /> 0x2D53F36E sceAudioOutput2OutputBlocking<br /> 0x41EFADE7 sceAudioOneshotOutput<br /> 0x43196845 sceAudioOutput2Release<br /> 0x5EC81C55 sceAudioChReserve<br /> 0x63F2889C sceAudioOutput2ChangeLength<br /> 0x647CEF33 sceAudioOutput2GetRestSample<br /> 0x6D4BEC68 sceAudioInput<br /> 0x6FC46853 sceAudioChRelease<br /> 0x7DE61688 sceAudioInputInit<br /> 0x87B2E651 sceAudioWaitInputEnd<br /> 0x8C1009B2 sceAudioOutput<br /> 0x95FD0C2D sceAudioChangeChannelConfig<br /> 0xA633048E sceAudioPollInputEnd<br /> 0xA708C6A6 sceAudioGetInputLength<br /> 0xB011922F sceAudioGetChannelRestLength<br /> 0xB7E1D8E7 sceAudioChangeChannelVolume<br /> 0xCB2E439E sceAudioSetChannelDataLen<br /> 0xE2D56B2D sceAudioOutputPanned<br /> 0xE926D3FB sceAudioInputInitEx<br /> 0xE9D97901 sceAudioGetChannelRestLen<br /> <br /> Library: sceAudioRouting<br /> 0x28235C56 sceAudioRoutingGetVolumeMode<br /> 0x36FD8AA9 sceAudioRoutingSetMode<br /> 0x39240E7D sceAudioRoutingGetMode<br /> 0xBB548475 sceAudioRoutingSetVolumeMode<br /> <br /> Library: sceBase16<br /> 0x7AD4677A sceBase16Encoder<br /> 0xFF021EBB sceBase16Decoder<br /> <br /> Library: sceBase32<br /> 0x1D2F25FE sceBase32Encoder<br /> 0x79AE12DD sceBase32HexEncoder<br /> 0xC593B079 sceBase32HexDecoder<br /> 0xD5A58F29 sceBase32Decoder<br /> <br /> Library: sceBase64<br /> 0x3AE99AAF sceBase64Decoder<br /> 0x43543731 sceBase64Encoder<br /> <br /> Library: sceCcc<br /> 0x00D1378F sceCccUTF8toUTF16<br /> 0x068C4320 sceCccEncodeSJIS<br /> 0x17E1D813 sceCccSetErrorCharUTF8<br /> 0x41B724A5 sceCccUTF16toUTF8<br /> 0x4BDEB2A8 sceCccStrlenUTF16<br /> 0x67BF0D19 sceCccIsValidSJIS<br /> 0x6F82EE03 sceCccUTF8toSJIS<br /> 0x70ECAA10 sceCccUCStoJIS<br /> 0x76E33E9C sceCccIsValidUCS2<br /> 0x8406F469 sceCccEncodeUTF16<br /> 0x90521AC5 sceCccIsValidUTF8<br /> 0x92C05851 sceCccEncodeUTF8<br /> 0x953E6C10 sceCccDecodeSJIS<br /> 0xA2D5D209 sceCccIsValidJIS<br /> 0xA62E6E80 sceCccSJIStoUTF8<br /> 0xB4D1CBBF sceCccSetTable<br /> 0xB7D3C112 sceCccStrlenUTF8<br /> 0xB8476CF4 sceCccSetErrorCharUTF16<br /> 0xBD11EEF3 sceCccIsValidUnicode<br /> 0xBEB47224 sceCccSJIStoUTF16<br /> 0xC56949AD sceCccSetErrorCharSJIS<br /> 0xC6A8BEE2 sceCccDecodeUTF8<br /> 0xCC0A8BDA sceCccIsValidUTF16<br /> 0xD2B18485 sceCccIsValidUCS4<br /> 0xD9392CCB sceCccStrlenSJIS<br /> 0xE0CF8091 sceCccDecodeUTF16<br /> 0xF1B73D12 sceCccUTF16toSJIS<br /> 0xFB7846E2 sceCccJIStoUCS<br /> <br /> Library: sceCtrl<br /> 0x02BAAD91 sceCtrlGetSamplingCycle<br /> 0x0B588501 sceCtrlReadLatch<br /> 0x1F4011E6 sceCtrlSetSamplingMode<br /> 0x1F803938 sceCtrlReadBufferPositive<br /> 0x3A622550 sceCtrlPeekBufferPositive<br /> 0x60B81F86 sceCtrlReadBufferNegative<br /> 0x6841BE1A sceCtrlSetRapidFire<br /> 0x687660FA sceCtrlGetIdleCancelThreshold<br /> 0x6A2774F3 sceCtrlSetSamplingCycle<br /> 0xA68FD260 sceCtrlClearRapidFire<br /> 0xA7144800 sceCtrlSetIdleCancelThreshold<br /> 0xB1D0E5CD sceCtrlPeekLatch<br /> 0xC152080A sceCtrlPeekBufferNegative<br /> 0xDA6B76A1 sceCtrlGetSamplingMode<br /> <br /> Library: sceDeci2pForUser<br /> 0x46588220 sceKernelDeci2pOpen<br /> 0x5947AE64 sceKernelDeci2pClose<br /> 0x6E2E0BF3 sceKernelDeci2pWrite<br /> 0x9736CCD5 sceKernelDeci2pRead<br /> 0xA9542A53 sceKernelDeci2pRegisterCallback<br /> <br /> Library: sceDeflt<br /> 0x0BA3B9CC sceGzipGetCompressedData<br /> 0x106A3552 sceGzipGetName<br /> 0x1B5B82BC sceGzipIsValid<br /> 0x2EE39A64 sceZlibAdler32<br /> 0x44054E03 sceDeflateDecompress<br /> 0x6A548477 sceZlibGetCompressedData<br /> 0x6DBCF897 sceGzipDecompress<br /> 0x8AA82C92 sceGzipGetInfo<br /> 0xA9E4FB28 sceZlibDecompress<br /> 0xAFE01FD3 sceZlibGetInfo<br /> 0xB767F9A0 sceGzipGetComment<br /> 0xE46EB986 sceZlibIsValid<br /> <br /> Library: sceDisplay<br /> 0x0E20F177 sceDisplaySetMode<br /> 0x210EAB3A sceDisplayGetAccumulatedHcount<br /> 0x289D82FE sceDisplaySetFrameBuf<br /> 0x36CDFADE sceDisplayWaitVblank<br /> 0x40F1469C sceDisplayWaitVblankStartMulti<br /> 0x46F186C3 sceDisplayWaitVblankStartCB<br /> 0x4D4E10EC sceDisplayIsVblank<br /> 0x773DD3A3 sceDisplayGetCurrentHcount<br /> 0x77ED8B3A sceDisplayWaitVblankStartMultiCB<br /> 0x7ED59BC4 sceDisplaySetHoldMode<br /> 0x8EB9EC49 sceDisplayWaitVblankCB<br /> 0x984C27E7 sceDisplayWaitVblankStart<br /> 0x9C6EAAD7 sceDisplayGetVcount<br /> 0xB4F378FA sceDisplayIsForeground<br /> 0xDBA6C4C4 sceDisplayGetFramePerSec<br /> 0xDEA197D4 sceDisplayGetMode<br /> 0xEEDA2E54 sceDisplayGetFrameBuf<br /> <br /> Library: sceDmac<br /> 0x617F3FE6 sceDmacMemcpy<br /> <br /> Library: sceG729<br /> 0x13F1028A sceG729DecodeExit<br /> 0x17C11696 sceG729DecodeInitResource<br /> 0x3489D1F3 sceG729DecodeCore<br /> 0x55E14F75 sceG729DecodeInit<br /> 0x5A409D1B sceG729EncodeExit<br /> 0x74804D93 sceG729DecodeReset<br /> 0x890B86AE sceG729DecodeTermResource<br /> 0x8C87A2CA sceG729EncodeReset<br /> 0x94714D50 sceG729EncodeTermResource<br /> 0xAA1E5462 sceG729EncodeInitResource<br /> 0xCFCD367C sceG729EncodeInit<br /> 0xDB7259D5 sceG729EncodeCore<br /> <br /> Library: sceGameUpdate<br /> 0x596AD78C sceGameUpdateRun<br /> 0x5F5D98A6 sceGameUpdateAbort<br /> 0xBB4B68DE sceGameUpdateTerm<br /> 0xCBE69FB3 sceGameUpdateInit<br /> <br /> Library: sceGe_user<br /> 0x03444EB4 sceGeListSync<br /> 0x05DB22CE sceGeUnsetCallback<br /> 0x0BF608FB sceGeRestoreContext<br /> 0x1C0D95A6 sceGeListEnQueueHead<br /> 0x1F6752AD sceGeEdramGetSize<br /> 0x438A385A sceGeSaveContext<br /> 0x4C06E472 sceGeContinue<br /> 0x57C8945B sceGeGetMtx<br /> 0x5FB86AB0 sceGeListDeQueue<br /> 0xA4FC06A4 sceGeSetCallback<br /> 0xAB49E76A sceGeListEnQueue<br /> 0xB287BD61 sceGeDrawSync<br /> 0xB448EC0D sceGeBreak<br /> 0xB77905EA sceGeEdramSetAddrTranslation<br /> 0xDC93CFEF sceGeGetCmd<br /> 0xE0D68148 sceGeListUpdateStallAddr<br /> 0xE47E40E4 sceGeEdramGetAddr<br /> <br /> Library: sceHeap<br /> 0x0E875980 sceHeapReallocHeapMemory<br /> 0x1C84B58D sceHeapReallocHeapMemoryWithOption<br /> 0x2A0C2009 sceHeapGetMallinfo<br /> 0x2ABADC63 sceHeapFreeHeapMemory<br /> 0x2B7299D8 sceHeapAllocHeapMemoryWithOption<br /> 0x4929B40D sceHeapGetTotalFreeSize<br /> 0x7012BBDD sceHeapIsAllocatedHeapMemory<br /> 0x70210B73 sceHeapDeleteHeap<br /> 0x7DE281C2 sceHeapCreateHeap<br /> 0xA8E102A0 sceHeapAllocHeapMemory<br /> <br /> Library: sceHprm<br /> 0x208DB1BD sceHprmIsRemoteExist<br /> 0x219C58F1 sceHprmIsMicrophoneExist<br /> 0x2BCEC83E sceHprmPeekLatch<br /> 0x40D2F9F0 sceHprmReadLatch<br /> 0x444ED0B7 sceHprmUnregitserCallback<br /> 0x7E69EDA4 sceHprmIsHeadphoneExist<br /> 0xC7154136 sceHprmRegisterCallback<br /> 0xFD7DE6CD sceHprmUnregisterCallback<br /> <br /> Library: sceHttp<br /> 0x0282A3BD sceHttpGetContentLength<br /> 0x03D9526F sceHttpSetResolveRetry<br /> 0x06488A1C sceHttpSetCookieSendCallback<br /> 0x0809C831 sceHttpEnableRedirect<br /> 0x0B12ABFB sceHttpDisableCookie<br /> 0x0DAFA58F sceHttpEnableCookie<br /> 0x15540184 sceHttpDeleteHeader<br /> 0x1A0EBB69 sceHttpDisableRedirect<br /> 0x1CEDB9D4 sceHttpFlushCache<br /> 0x1F0FC3E3 sceHttpSetRecvTimeOut<br /> 0x2255551E sceHttpGetNetworkPspError<br /> 0x267618F4 sceHttpSetAuthInfoCallback<br /> 0x2A6C3296 sceHttpSetAuthInfoCB<br /> 0x2C3C82CF sceHttpFlushAuthList<br /> 0x3A67F306 sceHttpSetCookieRecvCallback<br /> 0x3EABA285 sceHttpAddExtraHeader<br /> 0x47347B50 sceHttpCreateRequest<br /> 0x47940436 sceHttpSetResolveTimeOut<br /> 0x4CC7D78F sceHttpGetStatusCode<br /> 0x5152773B sceHttpDeleteConnection<br /> 0x54E7DF75 sceHttpIsRequestInCache<br /> 0x569A1481 sceHttpsSetSslCallback<br /> 0x59E6D16F sceHttpEnableCache<br /> 0x68AB0F86 sceHttpsInitWithPath<br /> 0x76D1363B sceHttpSaveSystemCookie<br /> 0x7774BF4C sceHttpAddCookie<br /> 0x78A0D3EC sceHttpEnableKeepAlive<br /> 0x78B54C09 sceHttpEndCache<br /> 0x87797BDD sceHttpsLoadDefaultCert<br /> 0x8ACD1F73 sceHttpSetConnectTimeOut<br /> 0x8EEFD953 sceHttpCreateConnection<br /> 0x9668864C sceHttpSetRecvBlockSize<br /> 0x96F16D3E sceHttpGetCookie<br /> 0x9988172D sceHttpSetSendTimeOut<br /> 0x9AFC98B2 sceHttpSendRequestInCacheFirstMode<br /> 0x9B1F1F36 sceHttpCreateTemplate<br /> 0x9FC5F10D sceHttpEnableAuth<br /> 0xA4496DE5 sceHttpSetRedirectCallback<br /> 0xA5512E01 sceHttpDeleteRequest<br /> 0xA6800C34 sceHttpInitCache<br /> 0xAB1540D5 sceHttpsGetSslError<br /> 0xAB1ABE07 sceHttpInit<br /> 0xAE948FEE sceHttpDisableAuth<br /> 0xB0C34B1D sceHttpSetCacheContentLengthMaxSize<br /> 0xB3FAF831 sceHttpsDisableOption<br /> 0xB509B09E sceHttpCreateRequestWithURL<br /> 0xBAC31BF1 sceHttpsEnableOption<br /> 0xBB70706F sceHttpSendRequest<br /> 0xC10B6BD9 sceHttpAbortRequest<br /> 0xC6330B0D sceHttpChangeHttpVersion<br /> 0xC7EF2559 sceHttpDisableKeepAlive<br /> 0xC98CBBA7 sceHttpSetResHeaderMaxSize<br /> 0xCCBD167A sceHttpDisableCache<br /> 0xCDF8ECB9 sceHttpCreateConnectionWithURL<br /> 0xD081EC8F sceHttpGetNetworkErrno<br /> 0xD11DAB01 sceHttpsGetCaList<br /> 0xD1C8945E sceHttpEnd<br /> 0xD70D4847 sceHttpGetProxy<br /> 0xDB266CCF sceHttpGetAllHeader<br /> 0xE4D21302 sceHttpsInit<br /> 0xEDEEB999 sceHttpReadData<br /> 0xF0F46C62 sceHttpSetProxy<br /> 0xF1657B22 sceHttpLoadSystemCookie<br /> 0xF49934F6 sceHttpSetMallocFunction<br /> 0xF9D8EB63 sceHttpsEnd<br /> 0xFCF8C055 sceHttpDeleteTemplate<br /> <br /> Library: sceImpose<br /> 0x24FD7BCF sceImposeGetLanguageMode<br /> 0x36AA6E91 sceImposeSetLanguageMode<br /> 0x72189C48 sceImposeSetUMDPopup<br /> 0x8C943191 sceImposeGetBatteryIconStatus<br /> 0x8F6E3518 sceImposeGetBacklightOffTime<br /> 0x967F6D4A sceImposeSetBacklightOffTime<br /> 0xE0887BC8 sceImposeGetUMDPopup<br /> <br /> Library: sceJpeg<br /> 0x04B5AE02 sceJpegMJpegCsc<br /> 0x04B93CEF sceJpegDecodeMJpeg<br /> 0x227662D7 sceJpegDecodeMJpegYCbCrSuccessively<br /> 0x48B602B7 sceJpegDeleteMJpeg<br /> 0x64B6F978 sceJpegDecodeMJpegSuccessively<br /> 0x67F0ED84 sceJpegCsc<br /> 0x7D2F3D7F sceJpegFinishMJpeg<br /> 0x8F2BB012 sceJpegGetOutputInfo<br /> 0x91EED83C sceJpegDecodeMJpegYCbCr<br /> 0x9D47469C sceJpegCreateMJpeg<br /> 0xA06A75C4 sceJpegMJpegCscWithColorOption<br /> 0xAC9E70E6 sceJpegInitMJpeg<br /> <br /> Library: sceMd5<br /> 0x19884A15 sceMd5BlockInit<br /> 0x4876AFFF sceMd5BlockResult<br /> 0x98E31A9E sceMd5Digest<br /> 0xA30206C2 sceMd5BlockUpdate<br /> <br /> Library: sceMp3<br /> 0x07EC321A sceMp3ReserveMp3Handle<br /> 0x0840E808 sceMp3ResetPlayPositionByFrame<br /> 0x0DB149F4 sceMp3NotifyAddStreamData<br /> 0x1B839B83 sceMp3LowLevelInit<br /> 0x2A368661 sceMp3ResetPlayPosition<br /> 0x3548AEC8 sceMp3GetFrameNum<br /> 0x354D27EA sceMp3GetSumDecodedSample<br /> 0x35750070 sceMp3InitResource<br /> 0x3C2FA058 sceMp3TermResource<br /> 0x3CEF484F sceMp3SetLoopNum<br /> 0x44E07129 sceMp3Init<br /> 0x732B042A sceMp3EndEntry<br /> 0x7F696782 sceMp3GetMp3ChannelNum<br /> 0x87677E40 sceMp3GetBitRate<br /> 0x87C263D1 sceMp3GetMaxOutputSample<br /> 0x8AB81558 sceMp3StartEntry<br /> 0x8F450998 sceMp3GetSamplingRate<br /> 0xA703FE0F sceMp3GetInfoToAddStreamData<br /> 0xAE6D2027 sceMp3GetMPEGVersion<br /> 0xD021C0FB sceMp3Decode<br /> 0xD0A56296 sceMp3CheckStreamDataNeeded<br /> 0xD8F54A51 sceMp3GetLoopNum<br /> 0xE3EE2C81 sceMp3LowLevelDecode<br /> 0xF5478233 sceMp3ReleaseMp3Handle<br /> <br /> Library: sceMp4<br /> 0x01C76489 sceMp4TrackSampleBufDestruct<br /> 0x0F0187D2 sceMp4GetAvcTrackInfoData<br /> 0x10EE0D2C sceMp4AacDecodeInit<br /> 0x113E9E7B sceMp4GetNumberOfMetaData<br /> 0x131BDE57 sceMp4InitAu<br /> 0x17EAA97D sceMp4GetAvcAuWithoutSampleBuf<br /> 0x28CCB940 sceMp4GetTrackEditList<br /> 0x3069C2B5 sceMp4GetAvcParamSet<br /> 0x31BCD7E0 sceMp4TrackSampleBufPut<br /> 0x427BEF7F sceMp4GetTrackNumOfEditList<br /> 0x496E8A65 sceMp4TrackSampleBufFlush<br /> 0x4ED4AB1E sceMp4AacDecodeInitResource<br /> 0x4FB5B756 sceMp4GetMetaDataInfo<br /> 0x503A3CBA sceMp4GetAvcAu<br /> 0x532029B8 sceMp4GetAacAuWithoutSampleBuf<br /> 0x538C2057 sceMp4Delete<br /> 0x5601A6F0 sceMp4GetAacAu<br /> 0x5D72B333 sceMp4AacDecodeExit<br /> 0x5EB65F26 sceMp4GetNumberOfSpecificTrack<br /> 0x6710FE77 sceMp4UnregistTrack<br /> 0x68651CBC sceMp4Init<br /> 0x7443AF1D sceMp4GetMovieInfo<br /> 0x74A1CA3E sceMp4SearchSyncSampleNum<br /> 0x7663CB5C sceMp4AacDecode<br /> 0x7ADFD01C sceMp4RegistTrack<br /> 0x7D332394 sceMp4AacDecodeTermResource<br /> 0x8754ECB8 sceMp4TrackSampleBufAvailableSize<br /> 0x9042B257 sceMp4Finish<br /> 0x9C8F4FC1 sceMp4TrackSampleBufConstruct<br /> 0x9CE6F5CF sceMp4GetAacTrackInfoData<br /> 0xA6C724DC sceMp4GetSampleNum<br /> 0xB1221EE7 sceMp4Create<br /> 0xB4B400D1 sceMp4GetSampleNumWithTimeStamp<br /> 0xBCA9389C sceMp4TrackSampleBufQueryMemSize<br /> 0xD2AC9A7E sceMp4GetMetaData<br /> 0xD8250B75 sceMp4PutSampleNum<br /> 0xF7C51EC1 sceMp4GetSampleInfo<br /> <br /> Library: sceMpeg<br /> 0x01977054 sceMpegGetUserdataAu<br /> 0x0558B075 sceMpegAvcCopyYCbCr<br /> 0x0E3C2E9D sceMpegAvcDecode<br /> 0x0F6C18D7 sceMpegAvcDecodeDetail<br /> 0x11F95CF1 sceMpegGetAvcNalAu<br /> 0x13407F13 sceMpegRingbufferDestruct<br /> 0x167AFD9E sceMpegInitAu<br /> 0x211A057C sceMpegAvcQueryYCbCrSize<br /> 0x21FF80E4 sceMpegQueryStreamOffset<br /> 0x234586AE sceMpegChangeGetAvcAuMode<br /> 0x31BD0272 sceMpegAvcCsc<br /> 0x37295ED8 sceMpegRingbufferConstruct<br /> 0x3C37A7A6 sceMpegNextAvcRpAu<br /> 0x42560F23 sceMpegRegistStream<br /> 0x4571CC64 sceMpegAvcDecodeFlush<br /> 0x500F0429 sceMpegFlushStream<br /> 0x591A4AA2 sceMpegUnRegistStream<br /> 0x606A4649 sceMpegDelete<br /> 0x611E9E11 sceMpegQueryStreamSize<br /> 0x63B9536A sceMpegAvcResourceGetAvcDecTopAddr<br /> 0x67179B1B sceMpegAvcInitYCbCr<br /> 0x682A619B sceMpegInit<br /> 0x707B7629 sceMpegFlushAllStream<br /> 0x740FCCD1 sceMpegAvcDecodeStop<br /> 0x769BEBB6 sceMpegRingbufferQueryPackNum<br /> 0x800C44DF sceMpegAtracDecode<br /> 0x8160A2FE sceMpegAvcResourceFinish<br /> 0x874624D6 sceMpegFinish<br /> 0x8C1E027D sceMpegGetPcmAu<br /> 0x921FCCCF sceMpegGetAvcEsAu<br /> 0x9DCFB7EA sceMpegChangeGetAuMode<br /> 0xA11C7026 sceMpegAvcDecodeMode<br /> 0xA780CF7E sceMpegMallocAvcEsBuf<br /> 0xAB0E9556 sceMpegAvcDecodeDetailIndex<br /> 0xAF26BB01 sceMpegAvcResourceGetAvcEsBuf<br /> 0xB240A59E sceMpegRingbufferPut<br /> 0xB5F6DC87 sceMpegRingbufferAvailableSize<br /> 0xC02CF6B5 sceMpegQueryPcmEsSize<br /> 0xC132E22F sceMpegQueryMemSize<br /> 0xC45C99CC sceMpegQueryUserdataEsSize<br /> 0xCEB870B1 sceMpegFreeAvcEsBuf<br /> 0xD7A29F46 sceMpegRingbufferQueryMemSize<br /> 0xD8C5F121 sceMpegCreate<br /> 0xE1CE83A7 sceMpegGetAtracAu<br /> 0xF0EB1125 sceMpegAvcDecodeYCbCr<br /> 0xF2930C9C sceMpegAvcDecodeStopYCbCr<br /> 0xF5E7EA31 sceMpegAvcConvertToYuv420<br /> 0xF8DCB679 sceMpegQueryAtracEsSize<br /> 0xFCBDB5AD sceMpegAvcResourceInit<br /> 0xFE246728 sceMpegGetAvcAu<br /> <br /> Library: sceMt19937<br /> 0xECF5D379 sceMt19937Init<br /> 0xF40C98E6 sceMt19937UInt<br /> <br /> Library: sceNet<br /> 0x0BF0A3AE sceNetGetLocalEtherAddr<br /> 0x281928A9 sceNetTerm<br /> 0x39AF39A6 sceNetInit<br /> 0x50647530 sceNetFreeThreadinfo<br /> 0x89360950 sceNetEtherNtostr<br /> 0xAD6844C6 sceNetThreadAbort<br /> 0xCC393E48 sceNetGetMallocStat<br /> 0xD27961C9 sceNetEtherStrton<br /> <br /> Library: sceNetAdhoc<br /> 0x0B2228E9 sceNetAdhocGameModeDeleteReplica<br /> 0x157E6225 sceNetAdhocPtpClose<br /> 0x3278AB0C sceNetAdhocGameModeCreateReplica<br /> 0x4D2CE199 sceNetAdhocGetSocketAlert<br /> 0x4DA4C788 sceNetAdhocPtpSend<br /> 0x6F92741B sceNetAdhocPdpCreate<br /> 0x73BFD52D sceNetAdhocSetSocketAlert<br /> 0x7A662D6B sceNetAdhocPollSocket<br /> 0x7F27BB5E sceNetAdhocPdpDelete<br /> 0x7F75C338 sceNetAdhocGameModeCreateMaster<br /> 0x877F6D66 sceNetAdhocPtpOpen<br /> 0x8BEA2B3E sceNetAdhocPtpRecv<br /> 0x98C204C8 sceNetAdhocGameModeUpdateMaster<br /> 0x9AC2EEAC sceNetAdhocPtpFlush<br /> 0x9DF81198 sceNetAdhocPtpAccept<br /> 0xA0229362 sceNetAdhocGameModeDeleteMaster<br /> 0xA62C6F57 sceNetAdhocTerm<br /> 0xABED3790 sceNetAdhocPdpSend<br /> 0xB9685118 sceNetAdhocGetPtpStat<br /> 0xC7C1FC57 sceNetAdhocGetPdpStat<br /> 0xDFE53E03 sceNetAdhocPdpRecv<br /> 0xE08BDAC1 sceNetAdhocPtpListen<br /> 0xE1D621D7 sceNetAdhocInit<br /> 0xFA324B4E sceNetAdhocGameModeUpdateReplica<br /> 0xFC6FC07B sceNetAdhocPtpConnect<br /> <br /> Library: sceNetAdhocDiscover<br /> 0x52DE1B97 sceNetAdhocDiscoverUpdate<br /> 0x941B3877 sceNetAdhocDiscoverInitStart<br /> 0x944DDBC6 sceNetAdhocDiscoverGetStatus<br /> 0xA2246614 sceNetAdhocDiscoverTerm<br /> 0xA423A21B sceNetAdhocDiscoverRequestSuspend<br /> 0xF7D13214 sceNetAdhocDiscoverStop<br /> <br /> Library: sceNetAdhocMatching<br /> 0x2A2A1E07 sceNetAdhocMatchingInit<br /> 0x32B156B3 sceNetAdhocMatchingStop<br /> 0x40F8F435 sceNetAdhocMatchingGetPoolMaxAlloc<br /> 0x5E3D4B79 sceNetAdhocMatchingSelectTarget<br /> 0x7945ECDA sceNetAdhocMatchingTerm<br /> 0x8F58BEDF sceNetAdhocMatchingCancelTargetWithOpt<br /> 0x93EF3843 sceNetAdhocMatchingStart<br /> 0x9C5CFB7D sceNetAdhocMatchingGetPoolStat<br /> 0xB58E61B7 sceNetAdhocMatchingSetHelloOpt<br /> 0xB5D96C2A sceNetAdhocMatchingGetHelloOpt<br /> 0xC58BCD9E sceNetAdhocMatchingGetMembers<br /> 0xCA5EDA6F sceNetAdhocMatchingCreate<br /> 0xEA3C6108 sceNetAdhocMatchingCancelTarget<br /> 0xEC19337D sceNetAdhocMatchingAbortSendData<br /> 0xF16EAF4F sceNetAdhocMatchingDelete<br /> 0xF79472D7 sceNetAdhocMatchingSendData<br /> <br /> Library: sceNetAdhocctl<br /> 0x08FFF7A0 sceNetAdhocctlScan<br /> 0x0AD043ED sceNetAdhocctlConnect<br /> 0x1FF89745 sceNetAdhocctlJoinEnterGameMode<br /> 0x20B317A0 sceNetAdhocctlAddHandler<br /> 0x34401D65 sceNetAdhocctlDisconnect<br /> 0x362CBE8F sceNetAdhocctlGetAdhocId<br /> 0x5A014CE0 sceNetAdhocctlGetGameModeInfo<br /> 0x5E7F79C9 sceNetAdhocctlJoin<br /> 0x6402490B sceNetAdhocctlDelHandler<br /> 0x75ECD386 sceNetAdhocctlGetState<br /> 0x81AEE1BE sceNetAdhocctlGetScanInfo<br /> 0x8916C003 sceNetAdhocctlGetNameByAddr<br /> 0x8DB83FDC sceNetAdhocctlGetPeerInfo<br /> 0x99560ABE sceNetAdhocctlGetAddrByName<br /> 0x9D689E13 sceNetAdhocctlTerm<br /> 0xA5C055CE sceNetAdhocctlCreateEnterGameMode<br /> 0xB0B80E80 sceNetAdhocctlCreateEnterGameModeMin<br /> 0xCF8E084D sceNetAdhocctlExitGameMode<br /> 0xDED9D28E sceNetAdhocctlGetParameter<br /> 0xE162CB14 sceNetAdhocctlGetPeerList<br /> 0xE26F226E sceNetAdhocctlInit<br /> 0xEC0635C1 sceNetAdhocctlCreate<br /> <br /> Library: sceNetApDialogDummy<br /> 0x3811281E sceNetApDialogDummyConnect<br /> 0xBB73FF67 sceNetApDialogDummyInit<br /> 0xCA9BE5BF sceNetApDialogDummyGetState<br /> 0xF213BE65 sceNetApDialogDummyTerm<br /> <br /> Library: sceNetApctl<br /> 0x24FE91A1 sceNetApctlDisconnect<br /> 0x2935C45B sceNetApctlGetBSSDescEntry2<br /> 0x2BEFDF23 sceNetApctlGetInfo<br /> 0x5963991B sceNetApctlDelHandler<br /> 0x5DEAC81B sceNetApctlGetState<br /> 0x8ABADD51 sceNetApctlAddHandler<br /> 0xA3E77E13 sceNetApctlScanSSID2<br /> 0xB3EDD0EC sceNetApctlTerm<br /> 0xCFB957C6 sceNetApctlConnect<br /> 0xE2F91F9B sceNetApctlInit<br /> 0xF25A5006 sceNetApctlGetBSSDescIDList2<br /> <br /> Library: sceNetIfhandle<br /> 0xC80181A2 sceNetGetDropRate<br /> 0xFD8585E1 sceNetSetDropRate<br /> <br /> Library: sceNetInet<br /> 0x05038FC7 sceNetInetSendto<br /> 0x162E6FD5 sceNetInetGetsockname<br /> 0x17943399 sceNetInetInit<br /> 0x1A33F9AE sceNetInetBind<br /> 0x1BDF5D13 sceNetInetInetAton<br /> 0x2FE71FE7 sceNetInetSetsockopt<br /> 0x39B0C7D3 sceNetInetGetUdpcbstat<br /> 0x410B34AA sceNetInetConnect<br /> 0x4A114C7C sceNetInetGetsockopt<br /> 0x4CFE4E56 sceNetInetShutdown<br /> 0x5BE8D595 sceNetInetSelect<br /> 0x774E36F4 sceNetInetSendmsg<br /> 0x7AA671BC sceNetInetSend<br /> 0x805502DD sceNetInetCloseWithRST<br /> 0x80A21ABD sceNetInetSocketAbort<br /> 0x8B7B220F sceNetInetSocket<br /> 0x8CA3A97E sceNetInetGetPspError<br /> 0x8D7284EA sceNetInetClose<br /> 0xA9ED66B9 sceNetInetTerm<br /> 0xB3888AD4 sceNetInetGetTcpcbstat<br /> 0xB75D5B0A sceNetInetInetAddr<br /> 0xC91142E4 sceNetInetRecvfrom<br /> 0xCDA85C99 sceNetInetRecv<br /> 0xD0792666 sceNetInetInetNtop<br /> 0xD10A1A7A sceNetInetListen<br /> 0xDB094E1B sceNetInetAccept<br /> 0xE247B6D6 sceNetInetGetpeername<br /> 0xE30B8C19 sceNetInetInetPton<br /> 0xEECE61D2 sceNetInetRecvmsg<br /> 0xFAABB1DD sceNetInetPoll<br /> 0xFBABE411 sceNetInetGetErrno<br /> <br /> Library: sceNetResolver<br /> 0x12748EB9 sceNetResolverWaitAsync<br /> 0x14C17EF9 sceNetResolverStartNtoAAsync<br /> 0x224C5F44 sceNetResolverStartNtoA<br /> 0x244172AF sceNetResolverCreate<br /> 0x4EE99358 sceNetResolverPollAsync<br /> 0x6138194A sceNetResolverTerm<br /> 0x629E2FB7 sceNetResolverStartAtoN<br /> 0x808F6063 sceNetResolverStop<br /> 0x94523E09 sceNetResolverDelete<br /> 0xAAC09184 sceNetResolverStartAtoNAsync<br /> 0xF3370E61 sceNetResolverInit<br /> <br /> Library: sceNetUpnp<br /> 0x27045362 sceNetUpnpGetNatInfo<br /> 0x3432B2E5 sceNetUpnpStart<br /> 0x3E32ED9E sceNetUpnpStop<br /> 0x540491EF sceNetUpnpTerm<br /> 0xE24220B5 sceNetUpnpInit<br /> <br /> Library: sceNp<br /> 0x1D60AE4B sceNpGetChatRestrictionFlag<br /> 0x37E1E274 sceNpTerm<br /> 0x4B5C71C8 sceNpGetOnlineId<br /> 0x633B5F71 sceNpGetNpId<br /> 0x7E0864DF sceNpGetUserProfile<br /> 0x857B47D3 sceNpInit<br /> 0xA0BE3C4B sceNpGetAccountRegion<br /> 0xBB069A87 sceNpGetContentRatingFlag<br /> 0xCDCC21D3 sceNpGetMyLanguages<br /> <br /> Library: sceNpAuth<br /> 0x3F1C1F70 sceNpAuthGetTicket<br /> 0x4EC1F667 sceNpAuthTerm<br /> 0x5A3CB57A sceNpAuthGetTicketParam<br /> 0x6900F084 sceNpAuthGetEntitlementById<br /> 0x72BB0467 sceNpAuthDestroyRequest<br /> 0x75FB0AE3 sceNpAuthGetEntitlementIdList<br /> 0xA1DE86F8 sceNpAuthInit<br /> 0xCD86A656 sceNpAuthCreateStartRequest<br /> 0xD99455DD sceNpAuthAbortRequest<br /> 0xF4531ADC sceNpAuthGetMemoryStat<br /> <br /> Library: sceNpCommerce2<br /> 0x005B5F20 sceNpCommerce2GetProductInfoStart<br /> 0x05E7AFBC sceNpCommerce2GetGameProductInfoFromContentInfo<br /> 0x0E9956E3 sceNpCommerce2Init<br /> 0x1888A9FE sceNpCommerce2DestroyReq<br /> 0x1C85ED88 sceNpCommerce2GetPrice<br /> 0x1C952DCB sceNpCommerce2GetGameProductInfo<br /> 0x2B25F6E9 sceNpCommerce2CreateSessionStart<br /> 0x3371D5F1 sceNpCommerce2GetProductInfoCreateReq<br /> 0x490210E0 sceNpCommerce2DestroyGetProductInfoResult<br /> 0x4ECD4503 sceNpCommerce2CreateSessionCreateReq<br /> 0x54FE8871 sceNpCommerce2GetCategoryInfo<br /> 0x57C8BD4E sceNpCommerce2GetCategoryInfoFromContentInfo<br /> 0x590A3229 sceNpCommerce2GetSessionInfo<br /> 0x5D8C2D99 sceNpCommerce2GetCategoryContentsCreateReq<br /> 0x6592FE83 sceNpCommerce2GetContentRatingDescriptor<br /> 0x6A2AE572 sceNpCommerce2GetContentRatingInfoFromGameProductInfo<br /> 0x6F1FE37F sceNpCommerce2CreateCtx<br /> 0x80A7AFDB sceNpCommerce2GetCategoryContentsGetResult<br /> 0xA5A34EA4 sceNpCommerce2Term<br /> 0xAA4A1E3D sceNpCommerce2GetProductInfoGetResult<br /> 0xB0D7AA90 sceNpCommerce2GetContentInfo<br /> 0xBC61FFC8 sceNpCommerce2CreateSessionGetResult<br /> 0xC5505A19 sceNpCommerce2GetContentRatingInfoFromCategoryInfo<br /> 0xC7F32242 sceNpCommerce2AbortReq<br /> 0xCEAB1829 sceNpCommerce2InitGetCategoryContentsResult<br /> 0xDD6758FA sceNpCommerce2GetCategoryContentsStart<br /> 0xED85ACCE sceNpCommerce2DestroyGetCategoryContentsResult<br /> 0xF2278B90 sceNpCommerce2GetGameSkuInfoFromGameProductInfo<br /> 0xF297AB9C sceNpCommerce2DestroyCtx<br /> 0xFC30C19E sceNpCommerce2InitGetProductInfoResult<br /> <br /> Library: sceNpMatching2<br /> 0x12C5A111 sceNpMatching2GetRoomDataExternalList<br /> 0x1421514B sceNpMatching2SetDefaultRoomEventOptParam<br /> 0x190FF903 sceNpMatching2ContextStart<br /> 0x22F38DAF sceNpMatching2GetMemoryStat<br /> 0x2B3892FC sceNpMatching2ContextStop<br /> 0x2E61F6E1 sceNpMatching2Init<br /> 0x3892E9A6 sceNpMatching2SignalingGetConnectionInfo<br /> 0x3DE70241 sceNpMatching2DestroyContext<br /> 0x495E97BD sceNpMatching2GrantRoomOwner<br /> 0x4EE3A8EC sceNpMatching2GetServerInfo<br /> 0x5030CC53 sceNpMatching2CreateContext<br /> 0x55F7837F sceNpMatching2SendRoomChatMessage<br /> 0x5C7DB6A4 sceNpMatching2GetRoomMemberDataInternalList<br /> 0x631682CC sceNpMatching2SetDefaultRequestOptParam<br /> 0x6D6D0C75 sceNpMatching2SignalingGetConnectionStatus<br /> 0x7BBFC427 sceNpMatching2JoinRoom<br /> 0x7D1D5F5E sceNpMatching2SetUserInfo<br /> 0x7DAA8A90 sceNpMatching2SetRoomMemberDataInternal<br /> 0x80F61558 sceNpMatching2GetRoomMemberIdListLocal<br /> 0x81C13E6D sceNpMatching2SearchRoom<br /> 0x8BF37D8C sceNpMatching2Term<br /> 0x8CD109E7 sceNpMatching2SignalingGetPeerNetInfo<br /> 0x9462C05A sceNpMatching2SignalingCancelPeerNetInfo<br /> 0x97529ECC sceNpMatching2KickoutRoomMember<br /> 0x9A67F5D0 sceNpMatching2SetSignalingOptParam<br /> 0xA3C298D1 sceNpMatching2RegisterSignalingCallback<br /> 0xA53E7C69 sceNpMatching2GetWorldInfoList<br /> 0xA5775DBF sceNpMatching2GetRoomMemberDataInternal<br /> 0xAAD0946A sceNpMatching2CreateJoinRoom<br /> 0xC7E72EC5 sceNpMatching2GetSignalingOptParamLocal<br /> 0xC870535A sceNpMatching2LeaveRoom<br /> 0xC8FC5D41 sceNpMatching2GetUserInfoList<br /> 0xD13491AB sceNpMatching2SetDefaultRoomMessageOptParam<br /> 0xD7D4AEB2 sceNpMatching2SetRoomDataExternal<br /> 0xDFEDB642 sceNpMatching2SignalingGetPeerNetInfoResult<br /> 0xE313E586 sceNpMatching2GetRoomDataInternal<br /> 0xE6C93DBD sceNpMatching2SetRoomDataInternal<br /> 0xEF683F4F sceNpMatching2GetRoomDataInternalLocal<br /> 0xF22C7ADC sceNpMatching2GetRoomMemberDataInternalLocal<br /> 0xF47342FC sceNpMatching2GetServerIdListLocal<br /> 0xF739BE92 sceNpMatching2GetRoomPasswordLocal<br /> 0xF940D9AD sceNpMatching2SendRoomMessage<br /> 0xFADBA9DB sceNpMatching2AbortRequest<br /> 0xFBF494C0 sceNpMatching2GetRoomMemberDataExternalList<br /> 0xFF32EA05 sceNpMatching2SignalingGetLocalNetInfo<br /> <br /> Library: sceNpService<br /> 0x00ACFAC3 sceNpServiceTerm<br /> 0x0F8F5821 sceNpServiceInit<br /> 0x168B8DE5 sceNpManagerSigninUpdateGetStatus<br /> 0x174D0D24 sceNpRosterDeleteBlockListEntry<br /> 0x1DA3E950 sceNpManagerSigninUpdateInitStart<br /> 0x250488F9 sceNpServiceGetMemoryStat<br /> 0x268C009D sceNpManagerSigninUpdateAbort<br /> 0x389A0D44 sceNpLookupNpId<br /> 0x4B4E4E71 sceNpLookupAbortTransaction<br /> 0x4E851B10 sceNpRosterGetFriendListEntry<br /> 0x506C318D sceNpRosterGetBlockListEntry<br /> 0x5494274B sceNpLookupCreateTransactionCtx<br /> 0x58251346 sceNpRosterGetFriendListEntryCount<br /> 0x5F5E32AF sceNpRosterAbort<br /> 0x66C64821 sceNpRosterDeleteRequest<br /> 0x72A1CE0D sceNpRosterDeleteFriendListEntry<br /> 0x75DACB57 sceNpRosterAcceptFriendListEntry<br /> 0x78802D5F sceNpManagerSigninUpdateShutdownStart<br /> 0x788F2B5E sceNpRosterAddFriendListEntry<br /> 0x90E4DB6A sceNpLookupUserProfile<br /> 0xA01443AA sceNpRosterGetBlockListEntryCount<br /> 0xA164CACC sceNpRosterGetFriendListMessage<br /> 0xA670D3A3 sceNpLookupDestroyTransactionCtx<br /> 0xBE22EEA3 sceNpRosterCreateRequest<br /> 0xC76F55ED sceNpLookupTitleSmallStorage<br /> 0xFC0BC8DB sceNpRosterAddBlockListEntry<br /> <br /> Library: sceOpenPSID<br /> 0xC69BEBCE sceOpenPSIDGetOpenPSID<br /> <br /> Library: sceP3da<br /> 0x013016F3 sceP3daBridgeCore<br /> 0x374500A5 sceP3daBridgeInit<br /> 0x43F756A2 sceP3daBridgeExit<br /> <br /> Library: sceParseHttp<br /> 0x8077A433 sceParseHttpStatusLine<br /> 0xAD7BFDEF sceParseHttpResponseHeader<br /> <br /> Library: sceParseUri<br /> 0x062BB07E sceUriUnescape<br /> 0x49E950EC sceUriEscape<br /> 0x568518C9 sceUriParse<br /> 0x7EE318AF sceUriBuild<br /> 0x8885A782 sceUriSweepPath<br /> 0x8AA55D17 sceUriMerge<br /> <br /> Library: scePower<br /> 0x04B7766E scePowerRegisterCallback<br /> 0x0AFD0D8B scePowerIsBatteryExist<br /> 0x1E490401 scePowerIsBatteryCharging<br /> 0x2085D15D scePowerGetBatteryLifePercent<br /> 0x34F9C463 scePowerGetPllClockFrequencyInt<br /> 0x469989AD scePowerSetClockFrequency<br /> 0x478FE6F5 scePowerGetBusClockFrequency<br /> 0x843FBF43 scePowerSetCpuClockFrequency<br /> 0x87440F5E scePowerIsPowerOnline<br /> 0x8EFB3FA2 scePowerGetBatteryLifeTime<br /> 0x9BADB3EB scePowerGetBusClockFrequencyFloat<br /> 0xA85880D0 scePowerCheckWlanCoexistenceClock<br /> 0xAC32C9CC scePowerRequestSuspend<br /> 0xB1A52C83 scePowerGetCpuClockFrequencyFloat<br /> 0xB8D7B3FB scePowerSetBusClockFrequency<br /> 0xBD681969 scePowerGetBusClockFrequencyInt<br /> 0xD3075926 scePowerIsLowBattery<br /> 0xDB9D28DD scePowerUnregitserCallback<br /> 0xDFA8BAF8 scePowerUnregisterCallback<br /> 0xEA382A27 scePowerGetPllClockFrequencyFloat<br /> 0xEBD177D6 scePowerSetClockFrequency350<br /> 0xEFD3C963 scePowerTick<br /> 0xFDB5BFE9 scePowerGetCpuClockFrequencyInt<br /> 0xFEE03A2F scePowerGetCpuClockFrequency<br /> <br /> Library: scePsmf<br /> 0x0BA514E5 scePsmfGetVideoInfo<br /> 0x0C120E1D scePsmfSpecifyStreamWithStreamTypeNumber<br /> 0x1E6D9013 scePsmfSpecifyStreamWithStreamType<br /> 0x2673646B scePsmfVerifyPsmf<br /> 0x28240568 scePsmfGetCurrentStreamNumber<br /> 0x40326D8F scePsmfCheckPsmfMark<br /> 0x43AC7DBB scePsmfGetPsmfMark<br /> 0x4BC9BDE0 scePsmfSpecifyStream<br /> 0x4E624A34 scePsmfGetEPWithId<br /> 0x5B70FCC1 scePsmfQueryStreamOffset<br /> 0x5F457515 scePsmfGetEPidWithTimestamp<br /> 0x68D42328 scePsmfGetNumberOfSpecificStreams<br /> 0x7491C438 scePsmfGetNumberOfEPentries<br /> 0x76D3AEBA scePsmfGetPresentationStartTime<br /> 0x7C0E7AC3 scePsmfGetEPWithTimestamp<br /> 0x8D843AB6 scePsmfGetPsmfMarkIdWithTimestamp<br /> 0x9553CC91 scePsmfQueryStreamSize<br /> 0x971A3A90 scePsmfCheckEPmap<br /> 0xA5EBFE81 scePsmfGetStreamSize<br /> 0xA83F7113 scePsmfGetAudioInfo<br /> 0xB78EB9E9 scePsmfGetHeaderSize<br /> 0xBD8AE0D8 scePsmfGetPresentationEndTime<br /> 0xC22C8327 scePsmfSetPsmf<br /> 0xC7DB3A5B scePsmfGetCurrentStreamType<br /> 0xD1DCF0DB scePsmfGetPsmfMarkWithTimestamp<br /> 0xDE78E9FC scePsmfGetNumberOfPsmfMarks<br /> 0xE1283895 scePsmfGetPsmfVersion<br /> 0xEAED89CD scePsmfGetNumberOfStreams<br /> <br /> Library: scePspNpDrm_user<br /> 0x08D98894 sceNpDrmEdataSetupKey<br /> 0x219EF5CC sceNpDrmEdataGetDataSize<br /> 0x275987D1 sceNpDrmRenameCheck<br /> 0x9B745542 sceNpDrmClearLicenseeKey<br /> 0xA1336091 sceNpDrmSetLicenseeKey<br /> <br /> Library: scePuny<br /> 0x8C2DBD4E scePunyDecodeUCS4<br /> 0x8D51155B scePunyEncodeUCS2<br /> 0xAD29F139 scePunyEncodeUCS4<br /> 0xDD0ED02A scePunyDecodeUCS2<br /> <br /> Library: sceQpCode<br /> 0x2B235B5A sceQPrintableLineDecoder<br /> 0x69752447 sceQPrintableEncoder<br /> <br /> Library: sceReg<br /> 0x0CAE832B sceRegCloseCategory<br /> 0x0D69BF40 sceRegFlushCategory<br /> 0x17768E14 sceRegSetKeyValue<br /> 0x1D8A762E sceRegOpenCategory<br /> 0x28A8E98A sceRegGetKeyValue<br /> 0x2C0DB9DD sceRegGetKeysNum<br /> 0x2D211135 sceRegGetKeys<br /> 0x30BE0259 sceRegGetKeyValueByName<br /> 0x3615BC87 sceRegRemoveKey<br /> 0x39461B4D sceRegFlushRegistry<br /> 0x4CA16893 sceRegRemoveCategory<br /> 0x57641A81 sceRegCreateKey<br /> 0x835ECE6F sceRegGetCategoryListAtRoot<br /> 0x92E41280 sceRegOpenRegistry<br /> 0x9B25EDF1 sceRegExit<br /> 0xBE8C1263 sceRegGetCategoryNumAtRoot<br /> 0xC5768D02 sceRegGetKeyInfoByName<br /> 0xD4475AA8 sceRegGetKeyInfo<br /> 0xDEDA92BF sceRegRemoveRegistry<br /> 0xFA8A5739 sceRegCloseRegistry<br /> <br /> Library: sceRtc<br /> 0x011F03C1 sceRtcGetAccumulativeTime<br /> 0x0498FB3C sceRtcFormatRFC3339<br /> 0x05EF322C sceRtcGetDaysInMonth<br /> 0x1909C99B sceRtcSetTime64_t<br /> 0x203CEB0D sceRtcGetLastReincarnatedTime<br /> 0x26D25A5D sceRtcTickAddMicroseconds<br /> 0x26D7A24A sceRtcTickAddHours<br /> 0x27C4594C sceRtcGetTime_t<br /> 0x27F98543 sceRtcFormatRFC3339LocalTime<br /> 0x28E1E988 sceRtcParseRFC3339<br /> 0x34885E0D sceRtcConvertUtcToLocalTime<br /> 0x36075567 sceRtcGetDosTime<br /> 0x3A807CC8 sceRtcSetTime_t<br /> 0x3F7AD767 sceRtcGetCurrentTick<br /> 0x42307A17 sceRtcIsLeapYear<br /> 0x42842C77 sceRtcTickAddYears<br /> 0x44F45E05 sceRtcTickAddTicks<br /> 0x4B1B5E82 sceRtcCheckValid<br /> 0x4CFA57B0 sceRtcGetCurrentClock<br /> 0x57726BC1 sceRtcGetDayOfWeek<br /> 0x62685E98 sceRtcGetLastAdjustedTime<br /> 0x6A676D2D sceRtcUnregisterCallback<br /> 0x6FF40ACC sceRtcGetTick<br /> 0x779242A2 sceRtcConvertLocalTimeToUTC<br /> 0x7ACE4C04 sceRtcSetWin32FileTime<br /> 0x7D1FBED3 sceRtcSetAlarmTick<br /> 0x7DE6711B sceRtcFormatRFC2822LocalTime<br /> 0x7ED29E40 sceRtcSetTick<br /> 0x81FCDA34 sceRtcIsAlarmed<br /> 0x9ED0AE87 sceRtcCompareTick<br /> 0xC2DDBEB5 sceRtcGetAlarmTick<br /> 0xC41C2853 sceRtcGetTickResolution<br /> 0xC663B3B9 sceRtcFormatRFC2822<br /> 0xCF3A2CA8 sceRtcTickAddWeeks<br /> 0xCF561893 sceRtcGetWin32FileTime<br /> 0xDBF74F1B sceRtcTickAddMonths<br /> 0xDFBC5F16 sceRtcParseDateTime<br /> 0xE1C93E47 sceRtcGetTime64_t<br /> 0xE51B4B7A sceRtcTickAddDays<br /> 0xE6605BCA sceRtcTickAddMinutes<br /> 0xE7C27D1B sceRtcGetCurrentClockLocalTime<br /> 0xF006F264 sceRtcSetDosTime<br /> 0xF2A4AFE5 sceRtcTickAddSeconds<br /> 0xF5FCC995 sceRtcGetCurrentNetworkTick<br /> 0xFB3B18CD sceRtcRegisterCallback<br /> <br /> Library: sceSasCore<br /> 0x019B25EB sceSasSetADSR<br /> 0x07F58C24 sceSasGetAllEnvelopeHeights<br /> 0x267A6DD2 sceSasRevParam<br /> 0x2C8E6AB3 sceSasGetPauseFlag<br /> 0x33D4AB37 sceSasRevType<br /> 0x42778A9F sceSasInit<br /> 0x440CA7D8 sceSasSetVolume<br /> 0x4AA9EAD6 sceSasSetVoiceATRAC3<br /> 0x50A14DFC sceSasCoreWithMix<br /> 0x5F9529F6 sceSasSetSL<br /> 0x68A46B95 sceSasGetEndFlag<br /> 0x7497EA85 sceSasConcatenateATRAC3<br /> 0x74AE582A sceSasGetEnvelopeHeight<br /> 0x76F01ACA sceSasSetKeyOn<br /> 0x787D04D5 sceSasSetPause<br /> 0x99944089 sceSasSetVoice<br /> 0x9EC3676A sceSasSetADSRmode<br /> 0xA0CF2FA4 sceSasSetKeyOff<br /> 0xA232CBE6 sceSasSetTrianglarWave<br /> 0xA3589D81 sceSasCore<br /> 0xAD84D37F sceSasSetPitch<br /> 0xB7660A23 sceSasSetNoise<br /> 0xBD11B7C2 sceSasGetGrain<br /> 0xCBCD4F79 sceSasSetSimpleADSR<br /> 0xD1E0A01E sceSasSetGrain<br /> 0xD5A229C9 sceSasRevEVOL<br /> 0xD5EBBBCD sceSasSetSteepWave<br /> 0xE175EF66 sceSasGetOutputmode<br /> 0xE1CD9561 sceSasSetVoicePCM<br /> 0xE855BF76 sceSasSetOutputmode<br /> 0xF6107F00 sceSasUnsetATRAC3<br /> 0xF983B186 sceSasRevVON<br /> <br /> Library: sceSfmt11213<br /> 0x16B09B57 sceSfmt11213InitByArray<br /> 0x25238DDF sceSfmt11213GenRand64<br /> 0x7FCCAD30 sceSfmt11213FillArray32<br /> 0x8F52D18C sceSfmt11213GenRand32<br /> 0x9D45E91D sceSfmt11213InitGenRand<br /> 0xE9A29DEC sceSfmt11213FillArray64<br /> <br /> Library: sceSfmt1279<br /> 0x1F2CC3CC sceSfmt1279InitByArray<br /> 0x378C276E sceSfmt1279FillArray64<br /> 0x64117FA3 sceSfmt1279InitGenRand<br /> 0x7B9E67AB sceSfmt1279GenRand64<br /> 0xEDF8B8C3 sceSfmt1279FillArray32<br /> 0xFE9D3FEF sceSfmt1279GenRand32<br /> <br /> Library: sceSfmt132049<br /> 0x0270B0EF sceSfmt132049FillArray32<br /> 0x116EDAFB sceSfmt132049GenRand32<br /> 0xC90266E0 sceSfmt132049InitByArray<br /> 0xE0F9E926 sceSfmt132049InitGenRand<br /> 0xE4D856E3 sceSfmt132049GenRand64<br /> 0xE90C5D00 sceSfmt132049FillArray64<br /> <br /> Library: sceSfmt19937<br /> 0x161ACEB2 sceSfmt19937InitGenRand<br /> 0xB33FE749 sceSfmt19937GenRand32<br /> 0xD5AC9F99 sceSfmt19937GenRand64<br /> 0xDB025BFA sceSfmt19937FillArray32<br /> 0xDD5A5D6C sceSfmt19937InitByArray<br /> 0xEE2938C4 sceSfmt19937FillArray64<br /> <br /> Library: sceSfmt216091<br /> 0x353660FC sceSfmt216091InitByArray<br /> 0x3A0F900B sceSfmt216091FillArray32<br /> 0x5E2F99CE sceSfmt216091GenRand64<br /> 0xBFA431A4 sceSfmt216091FillArray64<br /> 0xC0E3B92F sceSfmt216091InitGenRand<br /> 0xC81A470C sceSfmt216091GenRand32<br /> <br /> Library: sceSfmt2281<br /> 0x8454D15E sceSfmt2281FillArray64<br /> 0x868C53AB sceSfmt2281InitGenRand<br /> 0x9D9120D6 sceSfmt2281FillArray32<br /> 0xBBCDB82B sceSfmt2281GenRand64<br /> 0xDEE53F2E sceSfmt2281GenRand32<br /> 0xF38FF54A sceSfmt2281InitByArray<br /> <br /> Library: sceSfmt4253<br /> 0x2AF9B5D3 sceSfmt4253GenRand64<br /> 0x61B05CA7 sceSfmt4253FillArray32<br /> 0x79D2E875 sceSfmt4253FillArray64<br /> 0x7F56FA88 sceSfmt4253InitGenRand<br /> 0xFA39B7A4 sceSfmt4253InitByArray<br /> 0xFBFCDAFD sceSfmt4253GenRand32<br /> <br /> Library: sceSfmt44497<br /> 0x31B1F41F sceSfmt44497GenRand32<br /> 0x4525C4FD sceSfmt44497GenRand64<br /> 0xA4168CB6 sceSfmt44497InitGenRand<br /> 0xB56C5830 sceSfmt44497InitByArray<br /> 0xCA9560E2 sceSfmt44497FillArray64<br /> 0xDCD09960 sceSfmt44497FillArray32<br /> <br /> Library: sceSfmt607<br /> 0x1CCCC776 sceSfmt607GenRand64<br /> 0x4ED95A1E sceSfmt607FillArray64<br /> 0x9480A1E6 sceSfmt607InitGenRand<br /> 0xB014F0A8 sceSfmt607InitByArray<br /> 0xCE73E1B9 sceSfmt607GenRand32<br /> 0xFA3CB3A5 sceSfmt607FillArray32<br /> <br /> Library: sceSfmt86243<br /> 0x2A0AFFB3 sceSfmt86243FillArray64<br /> 0x79A146E0 sceSfmt86243InitByArray<br /> 0x8CC70361 sceSfmt86243FillArray32<br /> 0xD5B8D7A2 sceSfmt86243GenRand32<br /> 0xDD4196A3 sceSfmt86243InitGenRand<br /> 0xF77D68EF sceSfmt86243GenRand64<br /> <br /> Library: sceSha0<br /> 0x86E64331 sceSha0BlockResult<br /> 0x91524E96 sceSha0BlockUpdate<br /> 0x931612A8 sceSha0Digest<br /> 0xEE071A21 sceSha0BlockInit<br /> <br /> Library: sceSha1<br /> 0x4A80340A sceSha1BlockInit<br /> 0x5AF85569 sceSha1BlockUpdate<br /> 0x78EDE680 sceSha1BlockResult<br /> 0xB94ACDAE sceSha1Digest<br /> <br /> Library: sceSha224<br /> 0x3A96138F sceSha224BlockInit<br /> 0x5BE354EA sceSha224Digest<br /> 0xD6A3ADCB sceSha224BlockResult<br /> 0xEF597FC7 sceSha224BlockUpdate<br /> <br /> Library: sceSha256<br /> 0x318A350C sceSha256Digest<br /> 0x5368F1BC sceSha256BlockInit<br /> 0x7310DDCF sceSha256BlockUpdate<br /> 0x82C67FB3 sceSha256BlockResult<br /> <br /> Library: sceSha384<br /> 0x139319AF sceSha384BlockInit<br /> 0x9CC3A3A2 sceSha384BlockUpdate<br /> 0xD7DF2B41 sceSha384Digest<br /> 0xD9E51292 sceSha384BlockResult<br /> <br /> Library: sceSha512<br /> 0x16ED8DC6 sceSha512BlockInit<br /> 0x5AFE898D sceSha512Digest<br /> 0x8208F538 sceSha512BlockUpdate<br /> 0xAAB6221E sceSha512BlockResult<br /> <br /> Library: sceSsl<br /> 0x058D21C0 sceSslGetNameEntryCount<br /> 0x0EB43B06 sceSslGetUsedMemoryCurrent<br /> 0x17A10DCC sceSslGetNotBefore<br /> 0x191CDEFF sceSslEnd<br /> 0x1B7C8191 sceSslGetIssuerName<br /> 0x3DD5E023 sceSslGetSubjectName<br /> 0x5BFB6B61 sceSslGetNotAfter<br /> 0x957ECBE2 sceSslInit<br /> 0xB99EDE6A sceSslGetUsedMemoryMax<br /> 0xCC0919B0 sceSslGetSerialNumber<br /> 0xD6D097B4 sceSslGetNameEntryInfo<br /> 0xF57765D3 sceSslGetKeyUsage<br /> <br /> Library: sceSuspendForUser<br /> 0x090CCB3F sceKernelPowerTick<br /> 0x3AEE7261 sceKernelPowerUnlock<br /> 0x3E0271D3 sceKernelVolatileMemLock<br /> 0xA14F40B2 sceKernelVolatileMemTryLock<br /> 0xA569E425 sceKernelVolatileMemUnlock<br /> 0xEADB1BD7 sceKernelPowerLock<br /> <br /> Library: sceUmdUser<br /> 0x14C6C45C sceUmdUnuseUMDInMsUsbWlan<br /> 0x20628E6F sceUmdGetErrorStat<br /> 0x340B7686 sceUmdGetDiscInfo<br /> 0x46EBB729 sceUmdCheckMedium<br /> 0x4A9E5E29 sceUmdWaitDriveStatCB<br /> 0x56202973 sceUmdWaitDriveStatWithTimer<br /> 0x6AF9B50A sceUmdCancelWaitDriveStat<br /> 0x6B4A146C sceUmdGetDriveStat<br /> 0x87533940 sceUmdReplaceProhibit<br /> 0x8EF08FCE sceUmdWaitDriveStat<br /> 0xAEE7404D sceUmdRegisterUMDCallBack<br /> 0xB103FA38 sceUmdUseUMDInMsUsbWlan<br /> 0xBD2BDE07 sceUmdUnRegisterUMDCallBack<br /> 0xC6183D47 sceUmdActivate<br /> 0xCBE9F02A sceUmdReplacePermit<br /> 0xE83742BA sceUmdDeactivate<br /> <br /> Library: sceUsb<br /> 0x112CC951 sceUsbGetDrvState<br /> 0x1C360735 sceUsbWaitCancel<br /> 0x4E537366 sceUsbGetDrvList<br /> 0x586DB82C sceUsbActivate<br /> 0x5BE0E002 sceUsbWaitState<br /> 0x616F2B61 sceUsbWaitStateCB<br /> 0xAE5DE6AF sceUsbStart<br /> 0xC21645A4 sceUsbGetState<br /> 0xC2464FA0 sceUsbStop<br /> 0xC572A9C8 sceUsbDeactivate<br /> <br /> Library: sceUsbAcc<br /> 0x0CD7D4AA sceUsbAccGetInfo<br /> 0x79A1C743 sceUsbAccGetAuthStat<br /> <br /> Library: sceUsbCam<br /> 0x03ED7A82 sceUsbCamSetupMic<br /> 0x08AEE98A sceUsbCamSetMicGain<br /> 0x09C26C7E sceUsbCamSetContrast<br /> 0x11A1F128 sceUsbCamGetAutoImageReverseState<br /> 0x17F7B2FB sceUsbCamSetupVideo<br /> 0x1A46CFE7 sceUsbCamStillPollInputEnd<br /> 0x1D686870 sceUsbCamSetEvLevel<br /> 0x2BCD50C0 sceUsbCamGetEvLevel<br /> 0x36636925 sceUsbCamReadMicBlocking<br /> 0x383E9FA8 sceUsbCamGetSaturation<br /> 0x3DC0088E sceUsbCamReadMic<br /> 0x3F0CF289 sceUsbCamSetupStill<br /> 0x41E73E95 sceUsbCamPollReadVideoFrameEnd<br /> 0x41EE8797 sceUsbCamUnregisterLensRotationCallback<br /> 0x4C34F553 sceUsbCamGetLensDirection<br /> 0x4F3D84D5 sceUsbCamSetBrightness<br /> 0x5145868A sceUsbCamStopMic<br /> 0x574A8C3F sceUsbCamStartVideo<br /> 0x5778B452 sceUsbCamGetMicDataLength<br /> 0x61BE5CAC sceUsbCamStillInputBlocking<br /> 0x622F83CC sceUsbCamSetSharpness<br /> 0x6784E6A8 sceUsbCamSetAntiFlicker<br /> 0x6CF32CB9 sceUsbCamStopVideo<br /> 0x6E205974 sceUsbCamSetSaturation<br /> 0x70F522C5 sceUsbCamGetBrightness<br /> 0x7563AFA1 sceUsbCamStillWaitInputEnd<br /> 0x7DAC0C71 sceUsbCamReadVideoFrameBlocking<br /> 0x82A64030 sceUsbCamStartMic<br /> 0x951BEDF5 sceUsbCamSetReverseMode<br /> 0x994471E0 sceUsbCamGetImageEffectMode<br /> 0x99D86281 sceUsbCamReadVideoFrame<br /> 0x9E8AAF8D sceUsbCamGetZoom<br /> 0xA063A957 sceUsbCamGetContrast<br /> 0xA720937C sceUsbCamStillCancelInput<br /> 0xAA7D94BA sceUsbCamGetAntiFlicker<br /> 0xB048A67D sceUsbCamWaitReadMicEnd<br /> 0xC484901F sceUsbCamSetZoom<br /> 0xD293A100 sceUsbCamRegisterLensRotationCallback<br /> 0xD4876173 sceUsbCamSetImageEffectMode<br /> 0xD5279339 sceUsbCamGetReverseMode<br /> 0xDF9D0C92 sceUsbCamGetReadVideoFrameSize<br /> 0xE5959C36 sceUsbCamStillGetInputLength<br /> 0xF8847F60 sceUsbCamPollReadMicEnd<br /> 0xF90B2293 sceUsbCamWaitReadVideoFrameEnd<br /> 0xF93C4669 sceUsbCamAutoImageReverseSW<br /> 0xFB0A6C5D sceUsbCamStillInput<br /> 0xFDB68C23 sceUsbCamGetSharpness<br /> <br /> Library: sceUsbGps<br /> 0x5881C826 sceUsbGpsGetStaticNavMode<br /> 0x6EED4811 sceUsbGpsClose<br /> 0x7C16AC3A sceUsbGpsGetState<br /> 0x934EC2B2 sceUsbGpsGetData<br /> 0x9F267D34 sceUsbGpsOpen<br /> 0xA8ED0BC2 sceUsbGpsSetStaticNavMode<br /> <br /> Library: sceUsbMic<br /> 0x06128E42 sceUsbMicPollInputEnd<br /> 0x2E6DCDCD sceUsbMicInputBlocking<br /> 0x45310F07 sceUsbMicInputInitEx<br /> 0x5F7F368D sceUsbMicInput<br /> 0x63400E20 sceUsbMicGetInputLength<br /> 0xB8E536EB sceUsbMicInputInit<br /> 0xF899001C sceUsbMicWaitInputEnd<br /> <br /> Library: sceUsbSer<br /> 0x0C40864C sceUsbSerGetDTR<br /> 0x105B2FB5 sceUsbSerRegisterDTRCallback<br /> 0x193E613B sceUsbSerClose<br /> 0x2432D28D sceUsbSerRead<br /> 0x3EFDC183 sceUsbSerGetWriteDataSize<br /> 0x41303714 sceUsbSerCancel<br /> 0x473B6BF3 sceUsbSerWriteCB<br /> 0x50AD923C sceUsbSerSetRecvCBThreshold<br /> 0x7501C273 sceUsbSerRegisterSentCallback<br /> 0x82CF9F2A sceUsbSerUnregisterRecvCallback<br /> 0x886AF215 sceUsbSerGetReadDataSize<br /> 0x8B9F5C97 sceUsbSerClear<br /> 0x938AD8E2 sceUsbSerUnregisterSentCallback<br /> 0x999B21E1 sceUsbSerRegisterRecvCallback<br /> 0xA3F75968 sceUsbSerReadCB<br /> 0xBF8B3E85 sceUsbSerWrite<br /> 0xD6CD027C sceUsbSerUnregisterDTRCallback<br /> 0xE23DEB0A sceUsbSerGetWriteFreeSize<br /> 0xE2F0E3E3 sceUsbSerFlushCB<br /> 0xE60A8C56 sceUsbSerGetReadFreeSize<br /> 0xE945D8E9 sceUsbSerEnd<br /> 0xE9D739DF sceUsbSerSetSentCBThreshold<br /> 0xEDBFD745 sceUsbSerInit<br /> 0xEFF02189 sceUsbSerFlush<br /> 0xFD9A2340 sceUsbSerOpen<br /> <br /> Library: sceUtility<br /> 0x0251B134 sceUtilityScreenshotInitStart<br /> 0x05AFB9E4 sceUtilityHtmlViewerUpdate<br /> 0x06A48659 sceUtilityRssSubscriberShutdownStart<br /> 0x0940A1B9 sceUtilityPsnUpdate<br /> 0x094198B8 sceUtilityPsnGetStatus<br /> 0x0D5BC6D2 sceUtilityLoadUsbModule<br /> 0x0E0C27AF sceUtilityAutoConnectAbort<br /> 0x1281DA8E sceUtilityInstallInitStart<br /> 0x1579A159 sceUtilityLoadNetModule<br /> 0x16D02AF0 sceUtilityNpSigninInitStart<br /> 0x180F7B62 sceUtilityGamedataInstallAbort<br /> 0x24AC31EB sceUtilityGamedataInstallInitStart<br /> 0x2995D020 sceUtilitySavedataErrInitStart<br /> 0x2A2B3DE0 sceUtilityLoadModule<br /> 0x2AD8E239 sceUtilityMsgDialogInitStart<br /> 0x2B96173B sceUtilityRssSubscriberGetStatus<br /> 0x32E32DCB sceUtilityGamedataInstallShutdownStart<br /> 0x34B78343 sceUtilityGetSystemParamString<br /> 0x3A15CD0A sceUtilityAutoConnectInitStart<br /> 0x3AAD51DC sceUtilityStoreCheckoutGetStatus<br /> 0x3DFAEBA9 sceUtilityOskShutdownStart<br /> 0x41E30674 sceUtilitySetSystemParamString<br /> 0x42071A83 sceUtilityPS3ScanInitStart<br /> 0x434D4B3A sceUtilityGetNetParam<br /> 0x45C18506 sceUtilitySetSystemParamInt<br /> 0x4928BD96 sceUtilityMsgDialogAbort<br /> 0x4AECD179 sceUtilityGamedataInstallUpdate<br /> 0x4B0A8FE5 sceUtilityRssSubscriberInitStart<br /> 0x4B85C861 sceUtilityOskUpdate<br /> 0x4DB1E739 sceUtilityNetconfInitStart<br /> 0x4FED24D8 sceUtilityGetNetParamLatestID<br /> 0x50C4CD57 sceUtilitySavedataInitStart<br /> 0x54A5C62F sceUtilityStoreCheckoutShutdownStart<br /> 0x5EEE6548 sceUtilityCheckNetParam<br /> 0x5EF1C24A sceUtilityInstallShutdownStart<br /> 0x6332AA39 sceUtilityNetconfGetStatus<br /> 0x64D50C56 sceUtilityUnloadNetModule<br /> 0x67AF3428 sceUtilityMsgDialogShutdownStart<br /> 0x6F56F9CF sceUtilityRssReaderUpdate<br /> 0x7853182D sceUtilityGameSharingUpdate<br /> 0x81C44706 sceUtilityRssReaderInitStart<br /> 0x8326AB05 sceUtilityRssReaderGetStatus<br /> 0x86A03A27 sceUtilityScreenshotContStart<br /> 0x86ABDB1B sceUtilityNpSigninGetStatus<br /> 0x8874DBE0 sceUtilitySavedataGetStatus<br /> 0x88BC7406 sceUtilitySavedataErrGetStatus<br /> 0x89317C8F sceUtilityPS3ScanGetStatus<br /> 0x91E70E35 sceUtilityNetconfUpdate<br /> 0x946963F3 sceUtilityGameSharingGetStatus<br /> 0x95FC253B sceUtilityMsgDialogUpdate<br /> 0x9790B33C sceUtilitySavedataShutdownStart<br /> 0x9A1C91D7 sceUtilityMsgDialogGetStatus<br /> 0x9F313D14 sceUtilityAutoConnectShutdownStart<br /> 0xA03D29BA sceUtilityInstallUpdate<br /> 0xA084E056 sceUtilityRssSubscriberUpdate<br /> 0xA5DA2406 sceUtilityGetSystemParamInt<br /> 0xA7BB7C67 sceUtilityPsnInitStart<br /> 0xAB083EA9 sceUtilityScreenshotUpdate<br /> 0xB0FB7FF5 sceUtilityRssReaderContStart<br /> 0xB57E95D9 sceUtilityGamedataInstallGetStatus<br /> 0xB62A4061 sceUtilitySavedataErrShutdownStart<br /> 0xB8592D5F sceUtilityStoreCheckoutUpdate<br /> 0xBDA7D894 sceUtilityHtmlViewerGetStatus<br /> 0xC130D441 sceUtilityPsnShutdownStart<br /> 0xC4700FA3 sceUtilityInstallGetStatus<br /> 0xC492F751 sceUtilityGameSharingInitStart<br /> 0xC629AF26 sceUtilityLoadAvModule<br /> 0xCDC3AA41 sceUtilityHtmlViewerInitStart<br /> 0xD17A0573 sceUtilityPS3ScanShutdownStart<br /> 0xD23665F4 sceUtilityAutoConnectUpdate<br /> 0xD4B95FFB sceUtilitySavedataUpdate<br /> 0xD4C2BD73 sceUtilityAutoConnectGetStatus<br /> 0xD81957B7 sceUtilityScreenshotGetStatus<br /> 0xD852CDCE sceUtilityPS3ScanUpdate<br /> 0xDA97F1AA sceUtilityStoreCheckoutInitStart<br /> 0xE19C97D6 sceUtilityNpSigninShutdownStart<br /> 0xE49BFE92 sceUtilityUnloadModule<br /> 0xE7B778D8 sceUtilityRssReaderShutdownStart<br /> 0xED0FAD38 sceUtilitySavedataErrUpdate<br /> 0xEFC6F80F sceUtilityGameSharingShutdownStart<br /> 0xF3F76017 sceUtilityOskGetStatus<br /> 0xF3FBC572 sceUtilityNpSigninUpdate<br /> 0xF5CE1134 sceUtilityHtmlViewerShutdownStart<br /> 0xF6269B82 sceUtilityOskInitStart<br /> 0xF64910F0 sceUtilityUnloadUsbModule<br /> 0xF7D8D092 sceUtilityUnloadAvModule<br /> 0xF88155F6 sceUtilityNetconfShutdownStart<br /> 0xF9E0008C sceUtilityScreenshotShutdownStart<br /> <br /> Library: sceVaudio<br /> 0x03B6807D sceVaudioChReserve<br /> 0x27ACC20B sceVaudioChReserveBuffering<br /> 0x346FBE94 sceVaudioSetEffectType<br /> 0x67585DFD sceVaudioChRelease<br /> 0x8986295E sceVaudioOutputBlocking<br /> 0xCBD4AC51 sceVaudioSetAlcMode<br /> <br /> Library: sceWlanDrv<br /> 0x0C622081 sceWlanGetEtherAddr<br /> 0x93440B11 sceWlanDevIsPowerOn<br /> 0xD7763699 sceWlanGetSwitchState<br /> <br /> Library: pemuExt<br /> 0x2C1F5DA6 pemuExtUtilityGetFreeSize<br /> 0x5D915C5B pemuExtUtilityThemeInstallAbort<br /> 0x806D1DCB pemuExtUtilityMusicExportInitStart<br /> 0x9F85A1E3 pemuExtUtilityMusicExportAbort<br /> 0xA9102BD9 pemuExtUtilityThemeInstallInitStart<br /> 0xAB94E451 pemuExtUtilityThemeInstallGetStatus<br /> 0xAF7228AB pemuExtUtilityMusicExportShutdownStart<br /> 0xB95A85D1 pemuExtUtilityThemeInstallUpdate<br /> 0xBFBB2A30 pemuExtIsStereoscopic3d<br /> 0xCAC8A9DA pemuExtUtilityMusicExportUpdate<br /> 0xDBF1A3A9 pemuExtUtilityThemeInstallShutdownStart<br /> 0xE4786D09 pemuExtUtilityMusicExportGetStatus<br /> <br /> = internally handled by the emulator =<br /> sceVideocodec<br /> sceAudiocodec<br /> sceMpegbase<br /> sceReg<br /> sceNetIfhandle_lib<br /> sceWlanDrv_lib<br /> sceNetAdhocAuth_lib<br /> <br /> &lt;/pre&gt;<br /> <br /> == Not implemented APIs==<br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! API !! Issue !! Note<br /> |-<br /> | sceHeapGetMallinfo || 0x80020002 ||<br /> |-<br /> | sceHeapFreeHeapMemory || 0x80020002 ||<br /> |-<br /> | sceHeapAllocHeapMemoryWithOption || return 0 ||<br /> |-<br /> | sceHeapGetTotalFreeSize || 0x80020002 ||<br /> |-<br /> | sceHeapIsAllocatedHeapMemory || 0x80020002 ||<br /> |-<br /> | sceHeapDeleteHeap || 0x80020002 ||<br /> |-<br /> | sceHeapCreateHeap || return 0 ||<br /> |-<br /> | sceHeapAllocHeapMemory || return 0 ||<br /> |-<br /> | sceKernelLoadModuleDNAS || 0x80020002 ||<br /> |-<br /> | sceSslGetKeyUsage || 0x80020002 ||<br /> |-<br /> | sceNpDrmEdataSetupKey || 0x80020002 ||<br /> |-<br /> | sceNpDrmEdataGetDataSize || 0x80020002 ||<br /> |-<br /> | sceNpDrmRenameCheck || 0x80020002 ||<br /> |-<br /> | sceNpDrmClearLicenseeKey || 0x80020002 ||<br /> |-<br /> | sceNpDrmSetLicenseeKey || return 0 ||<br /> |-<br /> | sceHprmIsRemoteExist || 0x80020002 ||<br /> |-<br /> | sceHprmIsMicrophoneExist || 0x80020002 ||<br /> |-<br /> | sceHprmPeekLatch || 0x80020002 ||<br /> |-<br /> | sceHprmReadLatch || 0x80020002 ||<br /> |-<br /> | sceHprmIsHeadphoneExist || 0x80020002 ||<br /> |-<br /> | sceHprmRegisterCallback || 0x80020002 ||<br /> |-<br /> | sceHprmUnregisterCallback || 0x80020002 ||<br /> |-<br /> | sceGprofSetProfil_Weak || 0x80020002 ||<br /> |-<br /> | sceGprofFreeProfil_Weak || 0x80020002 ||<br /> |-<br /> | sceKernelRegisterUserSpaceIntrStack || 0x80020002 ||<br /> |-<br /> | sceKernelLoadExec || 0x80020002 ||<br /> |-<br /> | sceMt19937Init || 0x80020002 ||<br /> |-<br /> | sceMt19937UInt || return 0 ||<br /> |-<br /> | sceKernelStopUnloadSelfModule || 0x80020002 ||<br /> |-<br /> | sceKernelLoadModuleBufferUsbWlan || 0x80020002 ||<br /> |-<br /> | sceUsbGetDrvState || 0x80020002 ||<br /> |-<br /> | sceUsbWaitCancel || 0x80020002 ||<br /> |-<br /> | sceUsbGetDrvList || 0x80020002 ||<br /> |-<br /> | sceUsbActivate || 0x80020002 ||<br /> |-<br /> | sceUsbWaitState || 0x80020002 ||<br /> |-<br /> | sceUsbWaitStateCB || 0x80020002 ||<br /> |-<br /> | sceUsbStart || 0x80020002 ||<br /> |-<br /> | sceUsbGetState || return 0 ||<br /> |-<br /> | sceUsbStop || 0x80020002 ||<br /> |-<br /> | sceUsbDeactivate || 0x80020002 ||<br /> |-<br /> | sceUsbAccGetAuthStat || 0x80020002 ||<br /> |-<br /> | sceKernelUtilsMt19937UInt || 0x80020002 ||<br /> |-<br /> | sceKernelDcacheReadTag || 0x80020002 ||<br /> |-<br /> | sceKernelUtilsSha1BlockUpdate|| 0x80020002||<br /> |-<br /> | sceKernelGetGPI|| return 0 ||<br /> |-<br /> | sceKernelIcacheProbe || 0x80020002||<br /> |-<br /> | sceKernelUtilsSha1BlockResult ||0x80020002 ||<br /> |-<br /> | sceKernelUtilsMd5BlockUpdate||0x80020002 ||<br /> |-<br /> | sceKernelDcacheProbeRange || 0x80020002||<br /> |-<br /> | sceKernelDcacheProbe|| 0x80020002||<br /> |-<br /> | sceKernelUtilsSha1Digest|| ||<br /> |-<br /> | sceKernelUtilsMd5BlockInit|| ||<br /> |-<br /> | sceKernelUtilsMd5BlockResult|| ||<br /> |-<br /> | sceKernelDcacheInvalidateRange|| return 0 ||<br /> |-<br /> | sceKernelUtilsMd5Digest|| ||<br /> |-<br /> | sceKernelUtilsMt19937Init|| ||<br /> |-<br /> | sceKernelUtilsSha1BlockInit|| ||<br /> |-<br /> | sceKernelIcacheReadTag|| return 0 ||<br /> |-<br /> | || ||<br /> |-<br /> |}<br /> <br /> === OPEN PSP SDK ===<br /> <br /> pspsdk-1.0+beta2 Documentation<br /> <br /> http://psp.jim.sh/pspsdk-doc/index.html<br /> <br /> === PEmuCoreLib SPU Usage ===<br /> <br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! colspan=&quot;4&quot; | PEmuCoreLib<br /> |-<br /> ! Core !! Job !! Source !! Notes<br /> |-<br /> | SPU0 || DrawSync Extended Mode Something|| || <br /> |-<br /> | SPU1 || Extended Mode Something|| || <br /> |-<br /> | SPU2 || DMac || || if memcpy size &gt;0x110<br /> |-<br /> | SPU3 || ME || || Media Engine?<br /> |-<br /> |}<br /> <br /> === PSPEMU speculation/talk ===<br /> Compatibility list custom PSP to PS3.<br /> <br /> [[PSP_Emulator_Compatibility_List|PSP Emulator Compatibility List]]<br /> <br /> *http://psx-scene.com/forums/f328/psponps3-compatibility-chart-113244/<br /> <br /> *http://www.pshomebrew.net/wiki/PSP_On_PS3_Compatibility_List<br /> <br /> *[[https://docs.google.com/spreadsheet/ccc?key=0AowGG2G1KRsgdHg5aDJUTnZ2bGR0NEZhMS1xekVXWGc#gid=0| Google Spreadsheet]] and forum reports at http://www.ps3hax.net/showthread.php?t=54435<br /> <br /> <br /> <br /> &lt;!--//<br /> may be add other compatibility list/links to reference, sorry this should be on talk page.<br /> //--&gt;<br /> <br /> ==== PSP Remasters Button Remapping ====<br /> *ADDITIONAL_KEY_ASSIGN type 2 part 2?<br /> 3 state? enable/disable/always<br /> (16 bit (target), 16 bit (source))<br /> <br /> For each byte on 0x47C6C544, binary:<br /> 4 7 C 6 C 5 4 4 = 0x47C6C544<br /> 01 00||01 11 11 00||01 10 11 00||01 01 01 00||01 00<br /> || || || || || <br /> Left | Left Down Right Up<br /> on |D-Pad D-Pad D-Pad D-Pad<br /> right<br /> AStick.<br /> <br /> For each byte on 0x48C6C944, binary:<br /> 4 8 C 6 C 9 4 4 = 0x48C6C944<br /> 01 00||10 00 11 00||01 10 11 00||10 01 01 00||01 00<br /> || || || || || <br /> Left | L1 Down R1 Up<br /> on D-Pad D-Pad<br /> right<br /> AStick.<br /> <br /> {| class=&quot;wikitable&quot;<br /> |+PS3 Buttons Identifyers<br /> ! PS3 button &lt;BR /&gt;&lt;sup&gt;(target)&lt;/sup&gt; !! Identifyer !! Notes<br /> |-<br /> | {{padru}} || ? &lt;!-- 0001 --&gt; || &lt;!-- 1 --&gt;<br /> |-<br /> | {{padrr}} || ? &lt;!-- 0010 --&gt; || &lt;!-- 2 --&gt;<br /> |-<br /> | {{padrd}} || ? &lt;!-- 0011 --&gt; || &lt;!-- 3 --&gt;<br /> |-<br /> | {{padrl}} || 0100 || 4<br /> |-<br /> | {{padr3}} || ? || <br /> |-<br /> | {{padlu}} || ? || <br /> |-<br /> | {{padlr}} || ? || <br /> |-<br /> | {{padld}} || ? || <br /> |-<br /> | {{padll}} || ? || <br /> |-<br /> | {{padl3}} || ? || <br /> |-{{cellcolors|lightgrey}}<br /> | || || <br /> |-<br /> | {{padselect}} || ? || <br /> |-<br /> | {{padps}} || ? || <br /> |-<br /> | {{padstart}} || ? || <br /> |-<br /> | {{dpadu}} || ? || <br /> |-<br /> | {{dpadr}} || ? || <br /> |-<br /> | {{dpadd}} || ? || <br /> |-<br /> | {{dpadl}} || ? || <br /> |-<br /> | {{padl1}} || ? || <br /> |-<br /> | {{padr1}} || ? || <br /> |-<br /> | {{padl2}} || ? || <br /> |-<br /> | {{padr2}} || ? || <br /> |-<br /> | {{padtriangle}} || ? || <br /> |-<br /> | {{padcircle}} || ? || <br /> |-<br /> | {{padcross}} || ? || <br /> |-<br /> | {{padsquare}} || ? || <br /> |-<br /> |}<br /> <br /> *Speculation notes<br /> **Stick directions could be maped to axis: {{padlx}} {{padly}} {{padrx}} {{padry}}<br /> <br /> {| class=&quot;wikitable&quot;<br /> |+PSP Buttons Identifyers<br /> ! PSP button &lt;BR /&gt;&lt;sup&gt;(source)&lt;/sup&gt; !! Identifyer !! Hex Value<br /> |-<br /> | not used || 0001 || 1<br /> |-<br /> | not used || 0010 || 2<br /> |-<br /> | {{padstart}} || 0011 || 3<br /> |-<br /> | {{dpadu}} || 0100 || 4<br /> |-<br /> | {{dpadr}} || 0101 || 5<br /> |-<br /> | {{dpadd}} || 0110 || 6<br /> |-<br /> | {{dpadl}} || 0111 || 7<br /> |-<br /> | {{psptl}} || 1000 || 8<br /> |-<br /> | {{psptr}} || 1001 || 9<br /> |-<br /> | not used || 1010 || A<br /> |-<br /> | not used || 1011 || B<br /> |-<br /> | {{padtriangle}} || 1100 || C<br /> |-<br /> | {{padcircle}} || 1101 || D<br /> |-<br /> | {{padcross}} || 1110 || E<br /> |-<br /> | {{padsquare}} || 1111 || F<br /> |-<br /> |}<br /> <br /> *There are more button icons if needed in [[TemplateTest#Buttons]] page &lt;!-- delete this line when the tables are completed --&gt;<br /> *[https://techshali.com/best-ppsspp-games/ List of compatible PPSSPP Games]<br /> <br /> {{Reverse engineering}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=PSP_Emulation&diff=54185 PSP Emulation 2019-08-18T11:35:19Z <p>Mysis: /* NID */</p> <hr /> <div>== pspemu ==<br /> Used for &quot;PSP Minis&quot; and &quot;PSP remasters&quot;. The PSP Emulator works by accessing an encrypted ISO-9660 image. &lt;br&gt;<br /> Assuming that the mini game's directory is /dev_hdd0/game/NPEZ00000/ then the image is stored inside /USRDIR/CONTENT/EBOOT.PBP/DATA.PSAR. &lt;br&gt;<br /> '''Info''': &lt;br&gt;<br /> * Recent Emulator supports PSP Kernel 6.60 Applications&lt;br&gt;<br /> * 20GB model (CECHB00), because it is not equipped with a wireless LAN psn? feature is not available. (10001)<br /> * Does not support PGD files, and neither its access. (Sword Art Online, Kingdom Hearts, Naruto Shippuden Ultimate Ninja Heroes 3,..)<br /> * Does not support scePAuth. (Evangelion, Monster Hunter 3 Portable,...)<br /> * Does not support loaders. (prometheus, Killzone Liberation (fix via minis2),...)<br /> * Does not support &quot;fatms0:&quot;. (use &quot;ms0:&quot;)<br /> * Does not support directory creation on &quot;ms0:&quot;.<br /> * Does not support screen shot utility. (Sweet Fuse,...)<br /> * Does not support game sharing utility.<br /> * Does not support rss /rss reader utility.<br /> * Does not support &quot;disc0:/sce_lbn0x%04x_size0x%04x&quot;. (Naruto Shippuden Ultimate Ninja Impact, Final Fantasy 4,Blood+... )<br /> <br /> * Default pll frequency 222, cpu frequency 222, bus frequency 111<br /> * Default internal paths:<br /> ** /dev_flash/pspemu/psp/<br /> ** /dev_flash/pspemu/flash0/<br /> ** /dev_flash/pspemu/ms/<br /> ** /dev_hdd0/game/&lt;TITLEID&gt;/USRDIR/EXDATA/<br /> ** /dev_hdd0/game/&lt;TITLEID&gt;/USRDIR/CONTENT/DOCUMENT.DAT<br /> <br /> '''Supported Tags''':<br /> 0x00000008, /* 1.XX */<br /> 0x7C16CBC0, /* 2.XX */<br /> 0x03FD0480, /* 2.71 */<br /> 0xF00516D9, /* 2.80 */<br /> 0xF00616D9, /* 3.00 */<br /> 0xF00A16D9, <br /> 0xF00B16D9,<br /> <br /> === Files ===<br /> psp_emulator.self (3.15++)<br /> psp_translator.self (3.15++)<br /> \flash0 (3.15++)<br /> \flash1<br /> \flash2<br /> \flash3<br /> \lflash<br /> \release (3.15++)<br /> \psp<br /> \ms<br /> <br /> ==== arguments ====<br /> 2 arguments:&lt;br&gt;<br /> * argv[0]= self starting location&lt;!--// /dev_flash/pspemu/psp_emulator.self or /app_home if you want to load custom sysman.sprx / threadman.sprx files//--&gt;&lt;br&gt;<br /> * argv[1]= ISO.BIN.EDAT location<br /> <br /> ==== mapping ====<br /> <br /> 0xB0000000 - elf/game memory<br /> 0xB3900000 - settings { VFPU_USE_FAST_VMMUL, VMX_FOR_FPU, FPU_FS_SUPPORT, ALLEGREX_DELAY, unk (0/0x1000)}<br /> 0xB4000000<br /> 0xB4200000<br /> 0xB4400000<br /> 0xB4600000<br /> 0xB7900000<br /> 0xB8000000<br /> 0xBB900000<br /> <br /> === Controller? ===<br /> <br /> taken from PEmuCoreLib<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Mode? !! Number !! Note<br /> |-<br /> | 1-A || 1? ||<br /> |-<br /> | 2-A || 2?||<br /> |-<br /> | 1-B || 3?||<br /> |-<br /> | 2-B || 4?||<br /> |-<br /> | 1-C || 5?||<br /> |-<br /> | 2-C || 6?||<br /> |-<br /> | 1-D || 7?||<br /> |-<br /> |}<br /> <br /> === Emulator Settings ===<br /> <br /> The emulator itself can be feeded with settings about the game. These settings are:<br /> <br /> 1) in MINIS2.EDAT (pure Text format file decrypted)<br /> 2) within the emulator defined for a bunch of games (see [[Emulation#Special_notes| Special notes]])<br /> <br /> Note: The Emulator can be patched (1 Bit) to read a non encrypted MINIS2.EDAT.<br /> <br /> Here are the commands what you can define for the psp emulator:<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Struct !! Command !! Example !! Note<br /> |-<br /> | || # || #PSDEVWIKi || Text, information, # will be ignored<br /> |-<br /> | || VERSION = 0x%x || VERSION = 0xFFFFFFFF || <br /> |-<br /> | || BOOT_MODE = %llx || ||<br /> 100010000 = Minis <br /> 200010000 = Remaster <br /> |-<br /> | || REMASTER_VERSION = 0x%x || ||<br /> |-<br /> | || SDRAM_SIZE = %llx || SDRAM_SIZE = 02800000 ||<br /> 02000000 = ~34 MB (Default)<br /> 02800000 = ~42 MB <br /> 03000000 = ~50 MB <br /> 04000000 = ~67 MB<br /> &lt;br /&gt;&lt;br /&gt;''Real PSP hardware had:''<br /> * ''Main RAM: 32MB (PSP-1000) or 64 MB (PSP-2000, PSP-3000, PSP Go/PSP-N1000 and PSP-E1000) 333MHz 256bit DDR SDRAM with 8MB reserved for kernel.''<br /> * ''Video RAM: 2MB 166MHz 256bit eDRAM.''<br /> * ''MediaEngine RAM: 2MB 166MHz 128bit eDRAM.''<br /> |-<br /> | || TRANS_CACHE_SIZE = %llx || TRANS_CACHE_SIZE = 1000000 ||<br /> 2000000 = (Default)<br /> 1000000 = <br /> |-<br /> | || HOSTFS_PATH = %lld || || <br /> 0 = /dev_flash/pspemu/psp/ (Default) <br /> 1 = /app_home/psp/ <br /> 2 = /app_home/<br /> else = /dev_flash/pspemu/psp/<br /> |-<br /> | || EXDATA_PATH = %lld || ||<br /> 0 = %USRDIR%/EXDATA/ (Default)<br /> 2 = &lt;HOSTFS_PATH&gt;/EXDATA/<br /> 3 = /dev_usb/EXDATA<br /> else = %USRDIR%/EXDATA/<br /> |-<br /> | || ELF_PATH = %s || ELF_PATH = disc0:/PSP_GAME/SYSDIR/EBOOT.BIN || = default, but can be changed for example on Powerstone Collection to directly load PS1.prx/PS2.prx<br /> |-<br /> | || ISO_PATH = %s || ||<br /> |-<br /> | || VOUT_RESOLUTION_MODE = %lld || VOUT_RESOLUTION_MODE = 0 ||<br /> 0 = (Default)<br /> 1<br /> 2<br /> 3<br /> ... <br /> |-<br /> | || DRAWN_IMAGE_SCALE = %lld || DRAWN_IMAGE_SCALE = 4 || Display Output Videoscale <br /> 0 = <br /> 1 = small picture<br /> 2 = (Default)<br /> 3 =<br /> 4 =<br /> ...<br /> |-<br /> | AW. {|| || || indicates LINEAR_ADRS to CLOAD_MODE optional setting following<br /> |-<br /> | || LINEAR_ADRS = %llx || AW.LINEAR_ADRS = 40 ||<br /> 0 = (Default)<br /> 40 = <br /> |-<br /> | || SINGLE_BUF = %llx || AW.SINGLE_BUF = 880 ||<br /> 0 = (Default)<br /> 80 = <br /> 880 =<br /> |-<br /> | || DISABLE_FB_TEX = %llx || AW.DISABLE_FB_TEX = 100 || <br /> 0 = (Default)<br /> 100 = <br /> |-<br /> | || REUSE_ADRS = %llx || AW.REUSE_ADRS = 110000 ||<br /> 0 = (Default)<br /> 110000 =<br /> |-<br /> | || SINGLE_BUF2 = %llx || ||<br /> |-<br /> | || DECODE_WAIT = %llx || AW.DECODE_WAIT = 10000 || in order to slowdown ?<br /> 0 = (Default)<br /> 10000 = <br /> |-<br /> | || DISCARD_EDGE = %llx || AW.DISCARD_EDGE = 20000 ||<br /> 0 = (Default)<br /> 20000 =<br /> |-<br /> | || RECYCLE_RD_TEX = %llx || ||<br /> |-<br /> | || EXT_MODE = %llx || AW.EXT_MODE = 3 ||<br /> 0 = (Default)<br /> Uses different SPU ELF for transparency/textures behavior <br /> 1 = <br /> 2 = <br /> 3 = <br /> |-<br /> | || THR_PIXEL_OFST = %llx || AW.THR_PIXEL_OFST = 0 || <br /> 0 = <br /> 3EFFFFFF = (default)<br /> |-<br /> | || EXT_CMD = %llx || AW.EXT_CMD = 2 || <br /> 0 = (Default)<br /> 1 = <br /> 2 = <br /> 3 = <br /> |-<br /> | || VRAM_MODE = %llx || AW.VRAM_MODE = 1 ||<br /> 0 = Disabled (default) <br /> 1 = Enabled<br /> |-<br /> | || CLOAD_MODE = %llx || AW.CLOAD_MODE = 1 || (Note: Only available since 4.30?)<br /> 0 = Disabled (default) <br /> 1 = Enabled<br /> Displays Selection Menu: Remaster/Adhoc ?<br /> |-<br /> | } || || ||<br /> |-<br /> | AUDIO. {|| || || indicates optional SCR_NOIZ,SLEEP,DECODE_LIMIT setting following<br /> |-<br /> | || SRC_NOIZ = %llx || ||<br /> |-<br /> | || SLEEP = %llx || AUDIO.SLEEP = 421 ||<br /> 0 = (Default)<br /> 421 =<br /> |-<br /> | || DECODE_LIMIT = %llx || ||<br /> |-<br /> | } || || ||<br /> |-<br /> | || VFPU_USE_FAST_VMMUL = %lld || ||<br /> 0 = Disabled (Default) <br /> 1 = Enabled<br /> |-<br /> | || VMX_FOR_FPU = %lld || ||<br /> 0 = Disabled<br /> 1 = Enabled (Default)<br /> |-<br /> | || FPU_FS_SUPPORT = %lld || ||<br /> 0 = Disabled<br /> 1 = Enabled (Default)<br /> |-<br /> | || MIPS_CODE_BLOCK_SIZE = %lld || MIPS_CODE_BLOCK_SIZE = 8192 ||<br /> 8192 (decimal) = 0x2000 (hex) <br /> 4096 (decimal) = 0x1000 (hex, Default)<br /> |-<br /> | || ALLEGREX_DELAY = %lld || || Allegrex = PSP CPU <br /> 0 = (Default)<br /> 100 = ms delay interrupt/thread/sync<br /> |-<br /> | || LINCOLN_START_ADDR = %llx || ||<br /> 0x8804000? = (Default)?<br /> 0x20000<br /> |-<br /> | || LINCOLN_START_SIZE = %llx || || ELF Size?<br /> |-<br /> | || TRANSLATOR_PATCH[%lld] = { %08x } || || <br /> %lld = Number of patches to allocate&lt;br&gt;<br /> Format goes like this - all values being 32Bit hexdecimal:&lt;br&gt;<br /> = { start_address? end_address? patch1 patch2 .... (optional: count_for_buff2 buff2_value1 buff2_value2..) }<br /> |-<br /> | || OSK_ENGLISH = %lld || || On Screen Keyboard<br /> 0 = (Default) panel <br /> Else? = english<br /> |-<br /> | S3D. {|| || || Stereoscopic 3D<br /> |-<br /> | || ENABLE = %lld || S3D.ENABLE = 1 ||<br /> 0 = Disabled (Default)<br /> 1 = <br /> 2 = <br /> 3,4,.. = ? (3D Display strong?)<br /> |-<br /> | || MAX_PARALLAX = %f || || (info: http://www.lightillusion.com/stereo_3d_rules.html) &lt;br&gt; 0.0 to 1.0 ? <br /> 0.029999999 = (Default)<br /> |-<br /> | || SCREEN_DISTANCE = %f || || 0.0 to 1.0 ?<br /> -1.0 = (Default)<br /> |-<br /> | CONV. {|| || || struct within S3D structure (info: http://www.lightillusion.com/stereo_3d_convergence.html)<br /> |-<br /> | || DEPTH_TYPE = %lld || ||<br /> 2 = (Default)<br /> |-<br /> | || GLOBAL_DEPTH1 = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || GLOBAL_DEPTH2 = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || LOCAL_DEPTH1 = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || LOCAL_DEPTH2 = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || SHIFT = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || SIDEPANEL = %lld || ||<br /> 0 = (Default)<br /> |-<br /> | } || || ||<br /> |-<br /> | } || || ||<br /> |-<br /> | FILTER. {|| || || <br /> |-<br /> | DOF. {|| || || depth of field filter<br /> |-<br /> | || GAUSSIAN = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || DEPTH.0 = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || DEPTH.1 = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || FOCAL_DISTANCE = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || FIELD_WIDTH = %f || ||<br /> 0 = (Default)<br /> |-<br /> | } || || ||<br /> |-<br /> | BLOOM. {|| || || bloom filter<br /> |-<br /> | || THRESHOLD.R = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || THRESHOLD.G = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || THRESHOLD.B = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || THRESHOLD.VALUE = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || ADD.R = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || ADD.G = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || ADD.B = %f || ||<br /> 0 = (Default)<br /> |-<br /> | || ADD.LOD = %f || ||<br /> 0 = (Default)<br /> |-<br /> | } || || ||<br /> |-<br /> | } || || ||<br /> |-<br /> | || ADDITIONAL_KEY_ASSIGN = %llx || ADDITIONAL_KEY_ASSIGN = 0000000047C6C544 ||<br /> 0000000047C6C544 : maps right analog stick, usefull for 3rd person camera viewing<br /> 0000000048C0C940 : maps L + R to right analog stick left and right<br /> 8000000000000000 : unknown<br /> |-<br /> | || SAVEDATA_USE_UPPERCASENAME = %lld || ||<br /> 0 = (Default)<br /> Ese = convert characters<br /> |-<br /> | || FAKE_PATH = %s || || (max. lenght 0x400 bytes)<br /> |-<br /> | || SAVEDATA_LOAD_CACHE_TARGET_NAME = %s || SAVEDATA_LOAD_CACHE_TARGET_NAME = ULJM05637DQUEST ||<br /> |-<br /> | || SAVEDATA_USE_PS3_SAVE = %lld || SAVEDATA_USE_PS3_SAVE = 1 ||<br /> 0 = Uses PSP/PSPMinis SaveData module <br /> 1 = SaveGame via PS3 SaveData module<br /> |-<br /> | || ICACHE_CONTROL = %llx || ||<br /> 0 = Enable InvalidateAll availability<br /> 1 = sceKernelIcacheInvalidateRange disabled?<br /> 2 = sceKernelIcacheInvalidateAll disabled?<br /> |-<br /> | || DEBUG.GRAPHICS = %lld || DEBUG.GRAPHICS = 1 ||<br /> 0 = off<br /> 1 = on , displays information and more: <br /> * flip time average (max.,min.),<br /> * RSX Performance average (max.,min.),<br /> * MIPS load average (max.,min.)<br /> 2 = ?<br /> |-<br /> | || DEBUG.CPU_PERF_BUF_SIZE = 0x%llx || ||<br /> 0x100000 = (default)<br /> |-<br /> | || VSYNC_OFFSET_US = %lld || VSYNC_OFFSET_US = 8341 ||<br /> 8341 = 0x2095 (Default)<br /> 2000 = 0x07D0 (Legend of Heroes/Eiyū Densetsu HD Remasters)<br /> |-<br /> | || ADHOC_PARTY = %llx || ADHOC_PARTY = 1 ||<br /> 0 = Disabled (Default)<br /> 1 = Enable Ad hoc Multiplayer<br /> |-<br /> | || GPI = 0x%llx || ||<br /> 0 = (Default) <br /> uint8_t value<br /> |-<br /> | || UTILITY_CTRL_VALUE = %llx || ||<br /> |-<br /> | || CODE_SIZE_LIMIT = %llx || CODE_SIZE_LIMIT = 00800000 ||<br /> |-<br /> | || NP.COMMUNICATION_ID = %s || ||<br /> |-<br /> | || ADHOC_LOCAL_PEER_NUM = %llx || ||<br /> |-<br /> | ADHOC. {|| || || <br /> |-<br /> | || EMUPA_TITLE_ID = %s || ADHOC.EMUPA_TITLE_ID = ULJM05637 ||<br /> |-<br /> | || EMUPA_INITIAL_SERVER = %lld || ADHOC.EMUPA_INITIAL_SERVER = 1 ||<br /> 0 = (Default) <br /> 1 = <br /> |-<br /> | || USE_WORLD_MIN = %lld || ||<br /> |-<br /> | || USE_WORLD_MAX = %lld || ||<br /> |-<br /> | || MAC_THREAD_PRIORITY = %lld || ||<br /> |-<br /> | || SEND_LIMIT = %lld || ||<br /> |-<br /> | || RECV_LIMIT = %lld || ||<br /> |-<br /> | || PTP_SB_SEND_EXT = %lld || ||<br /> |-<br /> | || PTP_SEND_INTERVAL_MIN = %lld || ||<br /> |-<br /> | || PTP_ACCEPT_DELAY = %lld || ||<br /> |-<br /> | || FLAGS = %llx || ||<br /> |-<br /> | } || || ||<br /> |-<br /> |}<br /> <br /> === Special notes ===<br /> <br /> ==== PSP Minis ====<br /> On few Games there are predefined changes set for the Core within the emulator.<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Title ID !! Title Name !! Note<br /> |-<br /> | NPEZ00001 || Puzzle Scape Mini || AW.DISCARD_EDGE = 20000&lt;br&gt; AW.DECODE_WAIT = 10000<br /> |-<br /> | NPEZ00002 || Stand O'Food || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00003 || Mahjongg Artifacts Chapter 2 || AW.LINEAR_ADRS = 40&lt;br&gt; AW.DISABLE_FB_TEX = 100&lt;br&gt; AW.DISCARD_EDGE = 20000<br /> |-<br /> | NPEZ00021 || Pinball Dreams || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00022 || Pinball Fantasies || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00027 || Sudoku || AUDIO.SLEEP = 421<br /> |-<br /> | NPEZ00028 || Bowling 3D *1) || <br /> |-<br /> | NPEZ00031 || Hero Of Sparta || <br /> |-<br /> | NPEZ00041 || Blast Off || <br /> |-<br /> | NPEZ00046 || Brainpipe || <br /> |-<br /> | NPEZ00093 || Tetris *1) || AW.SINGLE_BUF = 80&lt;br&gt;AW.REUSE_ADRS = 110000<br /> |-<br /> | NPEZ00094 || Yummy Yummy Cooking Jam || AW.SINGLE_BUF = 880&lt;br&gt;AW.DECODE_WAIT = 10000<br /> |-<br /> | NPEZ00105 || Telegraph - Sudoku &amp; Kakuro || DRAWN_IMAGE_SCALE = 1 <br /> |-<br /> | NPEZ00106 || Sudoku und Kakuro: Welt Edition || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00107 || Spot The Differences! || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00108 || Finde die Unterschiede! Welt Edition || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00112 || Telegraph Crosswords || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00113 || Kreuzwortraetsel: Welt Edition || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPEZ00125 || Pallurikio || <br /> |-<br /> | NPEZ00194 || Mahjongg Artifacts || AW.LINEAR_ADRS = 40&lt;br&gt;AW.DISABLE_FB_TEX = 100&lt;br&gt;AW.DISCARD_EDGE = 20000<br /> |-<br /> | NPEZ00219 || Arctic Adventures: Polar's Puzzles || <br /> |-<br /> | NPEZ00381 || Fighting Fantasy - Talisman of death || AW.THR_PIXEL_OFST = 0<br /> |-<br /> | NEPZ00444 || Jetpack Joyride || AW.CLOAD_MODE = 1<br /> |-<br /> | NPUZ00002 || Bowling 3D *1) || <br /> |-<br /> | NPUZ00005 || Hero Of Sparta || <br /> |-<br /> | NPUZ00006 || Mahjongg Artifacts Chapter 2 || AW.LINEAR_ADRS = 40&lt;br&gt;AW.DISABLE_FB_TEX = 100&lt;br&gt;AW.DISCARD_EDGE = 20000<br /> |-<br /> | NPUZ00009 || Brainpipe || <br /> |-<br /> | NPUZ00017 || Pinball Fantasies || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPUZ00018 || Yummy Yummy Cooking Jam || AW.SINGLE_BUF = 880&lt;br&gt;AW.DECODE_WAIT = 10000<br /> |-<br /> | NPUZ00021 || Blast Off || <br /> |-<br /> | NPUZ00029 || Stand O' Food || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPUZ00034 || Spot The Differences! || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPUZ00054 || Pinball Dreams || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPUZ00058 || SuperMarket Mania || DRAWN_IMAGE_SCALE = 1<br /> |-<br /> | NPUZ00062 || Mahjongg Artifacts || AW.LINEAR_ADRS = 40&lt;br&gt;AW.DISABLE_FB_TEX = 100&lt;br&gt;AW.DISCARD_EDGE = 20000<br /> |-<br /> | NPUZ00099 || Pallurikio || <br /> |-<br /> | NPUZ00114 || Arctic Adventures: Polar's Puzzles || <br /> |-<br /> | NPUZ00292 || Jetpack Joyride || AW.CLOAD_MODE = 1<br /> |-<br /> |}<br /> <br /> *1) SFO: PP, officially wont run on ps3 as no iso.bin and no proper minis file (only psp officially supported)<br /> <br /> ==== PSP HD Remasters ====<br /> <br /> * TextureSize = 1024<br /> * Can use 64 MB memory<br /> And these PSP Remaster Games got a MINIS2.EDAT setting definitions for the Emulator Core.<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Disc Title ID !! NP Title ID !! Title Name !! Note<br /> |-<br /> | BLJM85001 || NPJB40001 || Monster Hunter Portable 3rd HD Ver || VERSION = 0xFFFFFFFF&lt;br&gt;<br /> S3D.ENABLE = 2&lt;br&gt;<br /> SDRAM_SIZE = 02800000&lt;br&gt;<br /> MIPS_CODE_BLOCK_SIZE = 8192&lt;br&gt; (next settings are done internally and not part of MINIS2)&lt;br&gt;<br /> DRAWN_IMAGE_SCALE = 4&lt;br&gt;<br /> AW.EXT_MODE = 3&lt;br&gt;<br /> TRANS_CACHE_SIZE = 1000000&lt;br&gt;<br /> VSYNC_OFFSET_US = 2000&lt;br&gt;<br /> ADHOC.EMUPA_TITLE_ID = ULJM05800&lt;br&gt;<br /> ADHOC.EMUPA_INITIAL_SERVER = 1&lt;br&gt;<br /> ADHOC_PARTY = 1&lt;br&gt;<br /> |-<br /> | BLJM85002 || NPJB40002 || K-ON Houkago Live HD Ver || VERSION = 0xFFFFFFFF&lt;br&gt;<br /> AW.EXT_MODE = 3&lt;br&gt;<br /> AW.EXT_CMD = 2&lt;br&gt;<br /> SDRAM_SIZE = 02800000&lt;br&gt;<br /> ADDITIONAL_KEY_ASSIGN = 8000000000000000&lt;br&gt;<br /> S3D.ENABLE = 1&lt;br&gt;<br /> ADHOC.EMUPA_TITLE_ID = ULJM05709<br /> |-<br /> | BLJM85003 || NPJB40003 || Shin Sangoku Musou Multi Raid 2 HD Ver || VERSION = 0xFFFFFFFF&lt;br&gt;<br /> AW.EXT_MODE = 3&lt;br&gt;<br /> AW.EXT_CMD = 2&lt;br&gt;<br /> SDRAM_SIZE = 02800000&lt;br&gt;<br /> ADDITIONAL_KEY_ASSIGN = 0000000047C6C544&lt;br&gt;<br /> S3D.ENABLE = 1&lt;br&gt;<br /> ADHOC.EMUPA_TITLE_ID = ULJM05637&lt;br&gt;<br /> AW.VRAM_MODE = 1&lt;br&gt;<br /> SAVEDATA_LOAD_CACHE_TARGET_NAME = ULJM05637DQUEST<br /> |-<br /> | BLJM85004 || NPJB00293&lt;br&gt;NPJN00005 ||Eiyuu Densetsu Sora no Kiseki FC Kai HD Edition || VERSION = 0xFFFFFFFF&lt;br&gt;<br /> SDRAM_SIZE = 03000000&lt;br&gt;<br /> ADDITIONAL_KEY_ASSIGN = 0000000047C6C544&lt;br&gt;<br /> S3D.ENABLE = 1&lt;br&gt;<br /> AW.EXT_MODE = 3&lt;br&gt;<br /> AW.EXT_CMD = 3&lt;br&gt;<br /> ADHOC_PARTY = 0&lt;br&gt;<br /> VSYNC_OFFSET_US = 2000<br /> |-<br /> | BLJM85005 || NPJB00334&lt;br&gt;NPJN00007||Eiyuu Densetsu: Sora no Kiseki SC Kai HD Edition || VERSION = 0xFFFFFFFF&lt;br&gt;<br /> SDRAM_SIZE = 04000000&lt;br&gt;<br /> CODE_SIZE_LIMIT = 00800000&lt;br&gt;<br /> ADDITIONAL_KEY_ASSIGN = 8000000000000000&lt;br&gt;<br /> S3D.ENABLE = 2&lt;br&gt;<br /> AW.EXT_MODE = 3&lt;br&gt;<br /> AW.EXT_CMD = 3&lt;br&gt;<br /> ADHOC_PARTY = 0&lt;br&gt;<br /> VSYNC_OFFSET_US = 2000<br /> |-<br /> | BLJM85006 || NPJB00360&lt;br&gt;NPJN00008||Eiyuu Densetsu: Sora no Kiseki the 3rd: Kai HD Edition || VERSION = 0xFFFFFFFF&lt;br&gt;<br /> SDRAM_SIZE = 04000000&lt;br&gt;<br /> CODE_SIZE_LIMIT = 00800000&lt;br&gt;<br /> ADDITIONAL_KEY_ASSIGN = 8000000000000000&lt;br&gt;<br /> S3D.ENABLE = 2&lt;br&gt;<br /> AW.EXT_MODE = 3&lt;br&gt;<br /> AW.EXT_CMD = 3&lt;br&gt;<br /> ADHOC_PARTY = 0&lt;br&gt;<br /> |}<br /> <br /> DiscIDs inside emulator: http://pastie.org/pastes/4367964/<br /> <br /> ==== Unofficial PSP Games MINIS2====<br /> <br /> * research only<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Title ID !! Title Name !! Issue !! Setting !! Note<br /> |-<br /> | || Shin Megami Tensei: Persona3 Portable || hangs while loading screen ||<br /> AW.VRAM = 1<br /> || fixes loading, but requires further research<br /> |-<br /> | || Silent Hill: Origins || Loading Screen texture flicker on top ||<br /> AW.LINEAR_ADRS = 40 <br /> ||<br /> |-<br /> | || Tactics Ogre: Let Us Cling Together || Black texture? overlay in movies and &quot;Tarot Card&quot; selection ||<br /> AW.LINEAR_ADRS = 40 <br /> ||<br /> |-<br /> | || The 3rd Birthday || blue transparent texture overblending ||<br /> AW.DISABLE_FB_TEX = 222<br /> || mostly removed, but requires further research<br /> |-<br /> |}<br /> <br /> === NID ===<br /> &lt;pre&gt;<br /> <br /> Library: GprofManStub<br /> 0x6A05A80D sceGprofSetProfil<br /> 0x799D0A67 sceGprofFreeProfil<br /> <br /> Library: GprofManWeak<br /> 0x6A05A80D sceGprofSetProfil_Weak<br /> 0x799D0A67 sceGprofFreeProfil_Weak<br /> <br /> Library: InterruptManager<br /> 0x5CB5A78B sceKernelSuspendSubIntr<br /> 0x7860E0DC sceKernelResumeSubIntr<br /> 0x8A389411 sceKernelDisableSubIntr<br /> 0xCA04A2B9 sceKernelRegisterSubIntrHandler<br /> 0xD61E6961 sceKernelReleaseSubIntrHandler<br /> 0xEEE43F47 sceKernelRegisterUserSpaceIntrStack<br /> 0xFB8E22EC sceKernelEnableSubIntr<br /> 0xFC4374B8 sceKernelIsSubInterruptOccurred<br /> <br /> Library: IoFileMgrForUser<br /> 0x06A70004 sceIoMkdir<br /> 0x08BD7374 sceIoGetDevType<br /> 0x0FACAB19 sceIoWriteAsync<br /> 0x109F50BC sceIoOpen<br /> 0x1117C65F sceIoRmdir<br /> 0x1B385D8F sceIoLseek32Async<br /> 0x27EB27B8 sceIoLseek<br /> 0x3251EA56 sceIoPollAsync<br /> 0x35DBD746 sceIoWaitAsyncCB<br /> 0x42EC03AC sceIoWrite<br /> 0x54F5FB11 sceIoDevctl<br /> 0x55F4717D sceIoChdir<br /> 0x5C2BE2CC sceIoGetFdList<br /> 0x63632449 sceIoIoctl<br /> 0x68963324 sceIoLseek32<br /> 0x6A638D83 sceIoRead<br /> 0x6D08A871 sceIoUnassign<br /> 0x71B19E77 sceIoLseekAsync<br /> 0x779103A0 sceIoRename<br /> 0x810C4BC3 sceIoClose<br /> 0x89AA9906 sceIoOpenAsync<br /> 0xA0B5A7C2 sceIoReadAsync<br /> 0xA12A0514 sceIoSetAsyncCallback<br /> 0xAB96437F sceIoSync<br /> 0xACE946E8 sceIoGetstat<br /> 0xB293727F sceIoChangeAsyncPriority<br /> 0xB29DDF9C sceIoDopen<br /> 0xB2A628C1 sceIoAssign<br /> 0xB8A740F4 sceIoChstat<br /> 0xCB05F8D6 sceIoGetAsyncStat<br /> 0xE23EEC33 sceIoWaitAsync<br /> 0xE3EB004C sceIoDread<br /> 0xE8BC6571 sceIoCancel<br /> 0xE95A012B sceIoIoctlAsync<br /> 0xEB092469 sceIoDclose<br /> 0xF27A9C51 sceIoRemove<br /> 0xFF5940B6 sceIoCloseAsync<br /> <br /> Library: Kernel_Library<br /> 0x092968F4 sceKernelCpuSuspendIntr<br /> 0x15B6446B sceKernelUnlockLwMutex<br /> 0x1839852A sceKernelMemcpy<br /> 0x1FC64E09 sceKernelLockLwMutexCB<br /> 0x293B45B8 sceKernelGetThreadId_kernel<br /> 0x37431849 sceKernelTryLockLwMutex_600<br /> 0x3B84732D sceKernelCpuResumeIntrWithSync<br /> 0x47A0B729 sceKernelIsCpuIntrSuspended<br /> 0x5F10D406 sceKernelCpuResumeIntr<br /> 0xA089ECA4 sceKernelMemset<br /> 0xB55249D2 sceKernelIsCpuIntrEnable<br /> 0xBEA46419 sceKernelLockLwMutex<br /> 0xC1734599 sceKernelReferLwMutexStatus<br /> 0xD13BDE95 sceKernelCheckThreadStack_user<br /> 0xDC692EE3 sceKernelTryLockLwMutex<br /> 0xFA835CDE sceKernelGetTlsAddr<br /> <br /> Library: LoadExecForUser<br /> 0x05572A5F sceKernelExitGame<br /> 0x2AC9954B sceKernelExitGameWithStatus<br /> 0x362A956B sceKernelSafetyCheck1<br /> 0x4AC57943 sceKernelRegisterExitCallback<br /> 0x8ADA38D3 sceKernelLoadExecNpDrm<br /> 0xBD2F1094 sceKernelLoadExec<br /> <br /> Library: ModuleMgrForUser<br /> 0x2E0911AA sceKernelUnloadModule<br /> 0x50F0C1EC sceKernelStartModule<br /> 0x644395E2 sceKernelGetModuleIdList<br /> 0x748CBED9 sceKernelQueryModuleInfo<br /> 0x8F2DF740 sceKernelStopUnloadSelfModuleWithStatus<br /> 0x977DE386 sceKernelLoadModule<br /> 0xB7F46618 sceKernelLoadModuleByID<br /> 0xCC1D3699 sceKernelStopUnloadSelfModule<br /> 0xCDE1C1FE sceKernelCheckTextSegment<br /> 0xD1FF982A sceKernelStopModule<br /> 0xD2FBC957 sceKernelGetModuleGPByAddress<br /> 0xD675EBB8 sceKernelSelfStopUnloadModule<br /> 0xD8B73127 sceKernelGetModuleIdByAddress<br /> 0xE4C4211C sceKernelLoadModuleWithBlockOffset<br /> 0xF0A26395 sceKernelGetModuleId<br /> 0xF2D8D1B4 sceKernelLoadModuleNpDrm<br /> 0xF9275D98 sceKernelLoadModuleBufferUsbWlan<br /> 0xFBE27467 sceKernelLoadModuleByIDWithBlockOffset<br /> 0xFEF27DC1 sceKernelLoadModuleDNAS<br /> <br /> Library: StdioForUser<br /> 0x0CBB0571 sceKernelStdioLseek<br /> 0x172D316E sceKernelStdin<br /> 0x3054D478 sceKernelStdioRead<br /> 0x432D8F5C sceKernelRegisterStdoutPipe<br /> 0x6F797E03 sceKernelRegisterStderrPipe<br /> 0x924ABA61 sceKernelStdioOpen<br /> 0x9D061C19 sceKernelStdioClose<br /> 0xA3B931DB sceKernelStdioWrite<br /> 0xA46785C9 sceKernelStdioSendChar<br /> 0xA6BAB2E9 sceKernelStdout<br /> 0xF78BA90A sceKernelStderr<br /> <br /> Library: SysMemUserForUser<br /> 0x13A5ABEF sceKernelPrintf<br /> 0x1B4217BC sceKernelSetCompiledSdkVersion630<br /> 0x237DBD4F sceKernelAllocPartitionMemory<br /> 0x315AD3A0 sceKernelSetCompiledSdkVersion380_390<br /> 0x342061E5 sceKernelSetCompiledSdkVersion370<br /> 0x35669D4C sceKernelSetCompiledSdkVersion600_620<br /> 0x358CA1BB sceKernelSetCompiledSdkVersion660<br /> 0x50F61D8A sceKernelFreeMemoryBlock<br /> 0x7591C7DB sceKernelSetCompiledSdkVersion100<br /> 0x7893F79A sceKernelSetCompiledSdkVersion570_570<br /> 0x91DE343C sceKernelSetCompiledSdkVersion500_550<br /> 0x9D9A5BA1 sceKernelGetBlockHeadAddr<br /> 0xA291F107 sceKernelMaxFreeMemSize<br /> 0xB6D61D02 sceKernelFreePartitionMemory<br /> 0xD8DE5C1E sceKernelSafetyCheck0<br /> 0xDB83A952 sceKernelGetMemoryBlockAddr<br /> 0xEBD5C3E6 sceKernelSetCompiledSdkVersion395_405<br /> 0xF77D77CB sceKernelSetCompilerVersion<br /> 0xF919F628 sceKernelTotalFreeMemSize<br /> 0xFC114573 sceKernelGetCompiledSdkVersion<br /> 0xFE707FDF sceKernelAllocMemoryBlock<br /> <br /> Library: ThreadManForUser<br /> 0x034A921F sceKernelGetVTimerTime<br /> 0x0C106E53 sceKernelRegisterThreadEventHandler<br /> 0x0D81716A sceKernelPollMbx<br /> 0x0DDCD2C9 sceKernelTryLockMutex<br /> 0x110DEC9A sceKernelUSec2SysClock<br /> 0x1181E963 sceKernelDelaySysClockThreadCB<br /> 0x17C1684E sceKernelReferThreadStatus<br /> 0x18260574 sceKernelReceiveMbx<br /> 0x19CFF145 sceKernelCreateLwMutex<br /> 0x1AF94D03 sceKernelDonateWakeupThread<br /> 0x1D371B8A sceKernelCancelVpl<br /> 0x1FB15A32 sceKernelSetEventFlag<br /> 0x20FFF560 sceKernelCreateVTimer<br /> 0x278C0DF5 sceKernelWaitThreadEnd<br /> 0x27E22EC2 sceKernelResumeDispatchThread<br /> 0x28B6489C sceKernelDeleteSema<br /> 0x293B45B8 sceKernelGetThreadId<br /> 0x2A3D44FF sceKernelGetCallbackCount<br /> 0x2C34E053 sceKernelReleaseWaitThread<br /> 0x30FD48F0 sceKernelPollEventFlag<br /> 0x328C546A sceKernelWaitEventFlagCB<br /> 0x328F9E52 sceKernelDeleteVTimer<br /> 0x32BF938E sceKernelDeleteTlspl<br /> 0x33BE4024 sceKernelReferMsgPipeStatus<br /> 0x349B864D sceKernelCancelMsgPipe<br /> 0x349D6D6C sceKernelCheckCallback<br /> 0x369ED59D sceKernelGetSystemTimeLow<br /> 0x369EEB6B sceKernelReferThreadEventHandlerStatus<br /> 0x383F7BCC sceKernelTerminateDeleteThread<br /> 0x39810265 sceKernelReferVplStatus<br /> 0x3AD58B8C sceKernelSuspendDispatchThread<br /> 0x3B183E26 sceKernelGetThreadExitStatus<br /> 0x3F53E640 sceKernelSignalSema<br /> 0x402FCF22 sceKernelWaitEventFlag<br /> 0x446D8DE6 sceKernelCreateThread<br /> 0x4A719FB2 sceKernelFreeTlspl<br /> 0x4C145944 sceKernelReferLwMutexStatusByID<br /> 0x4E3A1105 sceKernelWaitSema<br /> 0x52089CA1 sceKernelGetThreadStackFreeSize<br /> 0x532A522E _sceKernelExitThread<br /> 0x53B00E9A sceKernelSetVTimerHandlerWide<br /> 0x542AD630 sceKernelSetVTimerTime<br /> 0x55C20A00 sceKernelCreateEventFlag<br /> 0x56C039B5 sceKernelCreateVpl<br /> 0x57CF62DD sceKernelGetThreadmanIdType<br /> 0x58B1F937 sceKernelPollSema<br /> 0x5BF4DD27 sceKernelLockMutexCB<br /> 0x5F32BEAA sceKernelReferVTimerStatus<br /> 0x60107536 sceKernelDeleteLwMutex<br /> 0x616403BA sceKernelTerminateThread<br /> 0x623AE665 sceKernelTryAllocateFpl<br /> 0x627E6F3A sceKernelReferSystemStatus<br /> 0x64D4540E sceKernelReferThreadProfiler<br /> 0x65F54FFB _sceKernelAllocateTlspl<br /> 0x6652B8CA sceKernelSetAlarm<br /> 0x68DA9E36 sceKernelDelayThreadCB<br /> 0x6B30100F sceKernelUnlockMutex<br /> 0x6D212BAC sceKernelWaitSemaCB<br /> 0x6E9EA350 _sceKernelReturnFromCallback<br /> 0x71BC9871 sceKernelChangeThreadPriority<br /> 0x721067F3 sceKernelReferTlsplStatus<br /> 0x72F3C145 sceKernelReleaseThreadEventHandler<br /> 0x730ED8BC sceKernelReferCallbackStatus<br /> 0x74829B76 sceKernelReceiveMsgPipe<br /> 0x75156E8F sceKernelResumeThread<br /> 0x7C0DC2A0 sceKernelCreateMsgPipe<br /> 0x7C41F2C2 sceKernelSendMsgPipeCB<br /> 0x7E65B999 sceKernelCancelAlarm<br /> 0x809CE29B sceKernelExitDeleteThread<br /> 0x812346E4 sceKernelClearEventFlag<br /> 0x8125221D sceKernelCreateMbx<br /> 0x8218B4DD sceKernelReferGlobalProfiler<br /> 0x82826F70 sceKernelSleepThreadCB<br /> 0x82BC5777 sceKernelGetSystemTimeWide<br /> 0x840E8133 sceKernelWaitThreadEndCB<br /> 0x86255ADA sceKernelDeleteMbx<br /> 0x876DBFAD sceKernelSendMsgPipe<br /> 0x87D4DD36 sceKernelCancelReceiveMbx<br /> 0x87D9223C sceKernelCancelMutex<br /> 0x884C9F90 sceKernelTrySendMsgPipe<br /> 0x89B3D48C sceKernelDeleteVpl<br /> 0x8DAFF657 sceKernelCreateTlspl<br /> 0x8FFDF9A2 sceKernelCancelSema<br /> 0x912354A7 sceKernelRotateThreadReadyQueue<br /> 0x94416130 sceKernelGetThreadmanIdList<br /> 0x94AA61EE sceKernelGetThreadCurrentPriority<br /> 0x9944F31F sceKernelSuspendThread<br /> 0x9ACE131E sceKernelSleepThread<br /> 0x9FA03CD3 sceKernelDeleteThread<br /> 0xA1F78052 _sceKernelReturnFromChangeStack<br /> 0xA66B0120 sceKernelReferEventFlagStatus<br /> 0xA8AA591F sceKernelCancelFpl<br /> 0xA8E8C846 sceKernelReferMbxStatus<br /> 0xA9C2CB9A sceKernelReferMutexStatus<br /> 0xAA73C935 sceKernelExitThread<br /> 0xAF36D708 sceKernelTryAllocateVpl<br /> 0xB011B11F sceKernelLockMutex<br /> 0xB2C25152 sceKernelSetSysClockAlarm<br /> 0xB3A59970 sceKernelGetVTimerBase<br /> 0xB736E9FF sceKernelFreeVpl<br /> 0xB7C18B77 sceKernelGetVTimerBaseWide<br /> 0xB7D098C6 sceKernelCreateMutex<br /> 0xBA4051D6 sceKernelCancelCallback<br /> 0xBA6B92E2 sceKernelSysClock2USec<br /> 0xBC6FEBC5 sceKernelReferSemaStatus<br /> 0xBC80EC7C sceKernelExtendThreadStack<br /> 0xBD123D9E sceKernelDelaySysClockThread<br /> 0xBED27435 sceKernelAllocateVpl<br /> 0xC07BB470 sceKernelCreateFpl<br /> 0xC0B3FFD2 sceKernelGetVTimerTimeWide<br /> 0xC11BA8C4 sceKernelNotifyCallback<br /> 0xC68D9437 sceKernelStartVTimer<br /> 0xC8CD158C sceKernelUSec2SysClockWide<br /> 0xCD203292 sceKernelCancelEventFlag<br /> 0xCEADEB47 sceKernelDelayThread<br /> 0xD0AEEE87 sceKernelStopVTimer<br /> 0xD13BDE95 sceKernelCheckThreadStack<br /> 0xD2D615EF sceKernelCancelVTimerHandler<br /> 0xD59EAD2F sceKernelWakeupThread<br /> 0xD6DA4BA1 sceKernelCreateSema<br /> 0xD8199E4C sceKernelReferFplStatus<br /> 0xD8B299AE sceKernelSetVTimerHandler<br /> 0xD979E9BF sceKernelAllocateFpl<br /> 0xDAA3F564 sceKernelReferAlarmStatus<br /> 0xDB738F35 sceKernelGetSystemTime<br /> 0xDF52098F sceKernelTryReceiveMsgPipe<br /> 0xE1619D7C sceKernelSysClock2USecWide<br /> 0xE7282CB6 sceKernelAllocateFplCB<br /> 0xE81CAF8F sceKernelCreateCallback<br /> 0xE9B3061E sceKernelSendMbx<br /> 0xEA748E31 sceKernelChangeCurrentThreadAttr<br /> 0xEC0A693F sceKernelAllocateVplCB<br /> 0xED1410E0 sceKernelDeleteFpl<br /> 0xEDBA5844 sceKernelDeleteCallback<br /> 0xEF9E4C70 sceKernelDeleteEventFlag<br /> 0xF0B7DA1C sceKernelDeleteMsgPipe<br /> 0xF3986382 sceKernelReceiveMbxCB<br /> 0xF475845D sceKernelStartThread<br /> 0xF6414A71 sceKernelFreeFpl<br /> 0xF8170FBE sceKernelDeleteMutex<br /> 0xFB6425C3 sceKernelSetVTimerTimeWide<br /> 0xFBFA697D sceKernelReceiveMsgPipeCB<br /> 0xFCCFAD26 sceKernelCancelWakeupThread<br /> 0xFFC36A14 sceKernelReferThreadRunStatus<br /> <br /> Library: ThreadMonForUser<br /> 0x13BA4700 sceKernelThreadMonStart<br /> 0xAC447E49 sceKernelThreadMonStop<br /> 0xBA56557C sceKernelThreadMonSetBuffer<br /> 0xCE710A2C sceKernelThreadMonReset<br /> <br /> Library: UtilsForUser<br /> 0x06FB8A63 sceKernelUtilsMt19937UInt<br /> 0x16641D70 sceKernelDcacheReadTag<br /> 0x27CC57F0 sceKernelLibcTime<br /> 0x346F6DA8 sceKernelUtilsSha1BlockUpdate<br /> 0x34B9FA9E sceKernelDcacheWritebackInvalidateRange<br /> 0x37FB5C42 sceKernelGetGPI<br /> 0x3EE30821 sceKernelDcacheWritebackRange<br /> 0x43C9A8DB sceKernelL1IcacheInvalidateRange<br /> 0x4FD31C9D sceKernelIcacheProbe<br /> 0x585F1C09 sceKernelUtilsSha1BlockResult<br /> 0x61E1E525 sceKernelUtilsMd5BlockUpdate<br /> 0x6AD345D7 sceKernelSetGPO<br /> 0x71EC4271 sceKernelLibcGettimeofday<br /> 0x77DFF087 sceKernelDcacheProbeRange<br /> 0x79D1C3FA sceKernelDcacheWritebackAll<br /> 0x80001C4C sceKernelDcacheProbe<br /> 0x840259F1 sceKernelUtilsSha1Digest<br /> 0x87E81561 sceKernelPutUserLog<br /> 0x91E4F6A7 sceKernelLibcClock<br /> 0x920F104A sceKernelIcacheInvalidateAll<br /> 0x9E5C5086 sceKernelUtilsMd5BlockInit<br /> 0xB435DEC5 sceKernelDcacheWritebackInvalidateAll<br /> 0xB8D24E78 sceKernelUtilsMd5BlockResult<br /> 0xBFA98062 sceKernelDcacheInvalidateRange<br /> 0xC2DF770E sceKernelIcacheInvalidateRange<br /> 0xC8186A58 sceKernelUtilsMd5Digest<br /> 0xE860E75E sceKernelUtilsMt19937Init<br /> 0xF8FCD5BA sceKernelUtilsSha1BlockInit<br /> 0xFB05FAD0 sceKernelIcacheReadTag<br /> <br /> Library: deflt<br /> 0x0BA3B9CC sceGzipGetCompressedData_deflt<br /> 0x106A3552 sceGzipGetName_deflt<br /> 0x1B5B82BC sceGzipIsValid_deflt<br /> 0x2EE39A64 sceZlibAdler32_deflt<br /> 0x44054E03 sceDeflateDecompress_deflt<br /> 0x6A548477 sceZlibGetCompressedData_deflt<br /> 0x6DBCF897 sceGzipDecompress_deflt<br /> 0x8AA82C92 sceGzipGetInfo_deflt<br /> 0xA9E4FB28 sceZlibDecompress_deflt<br /> 0xAFE01FD3 sceZlibGetInfo_deflt<br /> 0xB767F9A0 sceGzipGetComment_deflt<br /> 0xE46EB986 sceZlibIsValid_deflt<br /> <br /> Library: sceAac<br /> 0x02098C69 sceAacGetInfoToAddStreamData<br /> 0x23D35CAE sceAacTermResource<br /> 0x33B8C009 sceAacExit<br /> 0x506BF66C sceAacGetSumDecodedSample<br /> 0x523347D9 sceAacGetLoopNum<br /> 0x5CFFC57C sceAacInitResource<br /> 0x61AA43C9 sceAacEndEntry<br /> 0x6C05813B sceAacStartEntry<br /> 0x6DC7758A sceAacGetMaxOutputSample<br /> 0x7E4CFEE4 sceAacDecode<br /> 0xAC6DCBE3 sceAacNotifyAddStreamData<br /> 0xBBDD6403 sceAacSetLoopNum<br /> 0xD2DA2BBA sceAacResetPlayPosition<br /> 0xD7C51541 sceAacCheckStreamDataNeeded<br /> 0xE0C89ACA sceAacInit<br /> <br /> Library: sceAdler<br /> 0x9702EF11 sceAdler32<br /> <br /> Library: sceAtrac3plus<br /> 0x0C116E1B sceAtracLowLevelDecode<br /> 0x0E2A73AB sceAtracSetData<br /> 0x0FAE370E sceAtracSetHalfwayBufferAndGetID<br /> 0x132F1ECA sceAtracReinit<br /> 0x1575D64B sceAtracLowLevelInitDecoder<br /> 0x231FC6B7 _sceAtracGetContextAddress<br /> 0x2DD3E298 sceAtracGetBufferInfoForResetting<br /> 0x31668BAA sceAtracGetChannel<br /> 0x36FAABFB sceAtracGetNextSample<br /> 0x3F6E26B5 sceAtracSetHalfwayBuffer<br /> 0x5622B7C1 sceAtracSetAA3DataAndGetID<br /> 0x5CF9D852 sceAtracSetMOutHalfwayBuffer<br /> 0x5D268707 sceAtracGetStreamDataInfo<br /> 0x5DD66588 sceAtracSetAA3HalfwayBufferAndGetID<br /> 0x61EB33F5 sceAtracReleaseAtracID<br /> 0x644E5607 sceAtracResetPlayPosition<br /> 0x6A8C3CD5 sceAtracDecodeData<br /> 0x780F88D1 sceAtracGetAtracID<br /> 0x7A20E7AF sceAtracSetDataAndGetID<br /> 0x7DB31251 sceAtracAddStreamData<br /> 0x83BF7AFD sceAtracSetSecondBuffer<br /> 0x83E85EA0 sceAtracGetSecondBufferInfo<br /> 0x868120B5 sceAtracSetLoopNum<br /> 0x9AE849A7 sceAtracGetRemainFrame<br /> 0x9CD7DE03 sceAtracSetMOutHalfwayBufferAndGetID<br /> 0xA2BBA8BE sceAtracGetSoundSample<br /> 0xA554A158 sceAtracGetBitrate<br /> 0xB3B5D042 sceAtracGetOutputChannel<br /> 0xCA3CA3D2 sceAtracGetBufferInfoForReseting<br /> 0xD1F59FDB sceAtracStartEntry<br /> 0xD5C28CC0 sceAtracEndEntry<br /> 0xD6A5F2F7 sceAtracGetMaxSample<br /> 0xE23E3A35 sceAtracGetNextDecodePosition<br /> 0xE88F759B sceAtracGetInternalErrorInfo<br /> 0xECA32A99 sceAtracIsSecondBufferNeeded<br /> 0xFAA4F89B sceAtracGetLoopStatus<br /> <br /> Library: sceAudio<br /> 0x01562BA3 sceAudioOutput2Reserve<br /> 0x086E5895 sceAudioInputBlocking<br /> 0x136CAF51 sceAudioOutputBlocking<br /> 0x13F592BC sceAudioOutputPannedBlocking<br /> 0x2D53F36E sceAudioOutput2OutputBlocking<br /> 0x41EFADE7 sceAudioOneshotOutput<br /> 0x43196845 sceAudioOutput2Release<br /> 0x5EC81C55 sceAudioChReserve<br /> 0x63F2889C sceAudioOutput2ChangeLength<br /> 0x647CEF33 sceAudioOutput2GetRestSample<br /> 0x6D4BEC68 sceAudioInput<br /> 0x6FC46853 sceAudioChRelease<br /> 0x7DE61688 sceAudioInputInit<br /> 0x87B2E651 sceAudioWaitInputEnd<br /> 0x8C1009B2 sceAudioOutput<br /> 0x95FD0C2D sceAudioChangeChannelConfig<br /> 0xA633048E sceAudioPollInputEnd<br /> 0xA708C6A6 sceAudioGetInputLength<br /> 0xB011922F sceAudioGetChannelRestLength<br /> 0xB7E1D8E7 sceAudioChangeChannelVolume<br /> 0xCB2E439E sceAudioSetChannelDataLen<br /> 0xE2D56B2D sceAudioOutputPanned<br /> 0xE926D3FB sceAudioInputInitEx<br /> 0xE9D97901 sceAudioGetChannelRestLen<br /> <br /> Library: sceAudioRouting<br /> 0x28235C56 sceAudioRoutingGetVolumeMode<br /> 0x36FD8AA9 sceAudioRoutingSetMode<br /> 0x39240E7D sceAudioRoutingGetMode<br /> 0xBB548475 sceAudioRoutingSetVolumeMode<br /> <br /> Library: sceBase16<br /> 0x7AD4677A sceBase16Encoder<br /> 0xFF021EBB sceBase16Decoder<br /> <br /> Library: sceBase32<br /> 0x1D2F25FE sceBase32Encoder<br /> 0x79AE12DD sceBase32HexEncoder<br /> 0xC593B079 sceBase32HexDecoder<br /> 0xD5A58F29 sceBase32Decoder<br /> <br /> Library: sceBase64<br /> 0x3AE99AAF sceBase64Decoder<br /> 0x43543731 sceBase64Encoder<br /> <br /> Library: sceCcc<br /> 0x00D1378F sceCccUTF8toUTF16<br /> 0x068C4320 sceCccEncodeSJIS<br /> 0x17E1D813 sceCccSetErrorCharUTF8<br /> 0x41B724A5 sceCccUTF16toUTF8<br /> 0x4BDEB2A8 sceCccStrlenUTF16<br /> 0x67BF0D19 sceCccIsValidSJIS<br /> 0x6F82EE03 sceCccUTF8toSJIS<br /> 0x70ECAA10 sceCccUCStoJIS<br /> 0x76E33E9C sceCccIsValidUCS2<br /> 0x8406F469 sceCccEncodeUTF16<br /> 0x90521AC5 sceCccIsValidUTF8<br /> 0x92C05851 sceCccEncodeUTF8<br /> 0x953E6C10 sceCccDecodeSJIS<br /> 0xA2D5D209 sceCccIsValidJIS<br /> 0xA62E6E80 sceCccSJIStoUTF8<br /> 0xB4D1CBBF sceCccSetTable<br /> 0xB7D3C112 sceCccStrlenUTF8<br /> 0xB8476CF4 sceCccSetErrorCharUTF16<br /> 0xBD11EEF3 sceCccIsValidUnicode<br /> 0xBEB47224 sceCccSJIStoUTF16<br /> 0xC56949AD sceCccSetErrorCharSJIS<br /> 0xC6A8BEE2 sceCccDecodeUTF8<br /> 0xCC0A8BDA sceCccIsValidUTF16<br /> 0xD2B18485 sceCccIsValidUCS4<br /> 0xD9392CCB sceCccStrlenSJIS<br /> 0xE0CF8091 sceCccDecodeUTF16<br /> 0xF1B73D12 sceCccUTF16toSJIS<br /> 0xFB7846E2 sceCccJIStoUCS<br /> <br /> Library: sceCtrl<br /> 0x02BAAD91 sceCtrlGetSamplingCycle<br /> 0x0B588501 sceCtrlReadLatch<br /> 0x1F4011E6 sceCtrlSetSamplingMode<br /> 0x1F803938 sceCtrlReadBufferPositive<br /> 0x3A622550 sceCtrlPeekBufferPositive<br /> 0x60B81F86 sceCtrlReadBufferNegative<br /> 0x6841BE1A sceCtrlSetRapidFire<br /> 0x687660FA sceCtrlGetIdleCancelThreshold<br /> 0x6A2774F3 sceCtrlSetSamplingCycle<br /> 0xA68FD260 sceCtrlClearRapidFire<br /> 0xA7144800 sceCtrlSetIdleCancelThreshold<br /> 0xB1D0E5CD sceCtrlPeekLatch<br /> 0xC152080A sceCtrlPeekBufferNegative<br /> 0xDA6B76A1 sceCtrlGetSamplingMode<br /> <br /> Library: sceDeci2pForUser<br /> 0x46588220 sceKernelDeci2pOpen<br /> 0x5947AE64 sceKernelDeci2pClose<br /> 0x6E2E0BF3 sceKernelDeci2pWrite<br /> 0x9736CCD5 sceKernelDeci2pRead<br /> 0xA9542A53 sceKernelDeci2pRegisterCallback<br /> <br /> Library: sceDeflt<br /> 0x0BA3B9CC sceGzipGetCompressedData<br /> 0x106A3552 sceGzipGetName<br /> 0x1B5B82BC sceGzipIsValid<br /> 0x2EE39A64 sceZlibAdler32<br /> 0x44054E03 sceDeflateDecompress<br /> 0x6A548477 sceZlibGetCompressedData<br /> 0x6DBCF897 sceGzipDecompress<br /> 0x8AA82C92 sceGzipGetInfo<br /> 0xA9E4FB28 sceZlibDecompress<br /> 0xAFE01FD3 sceZlibGetInfo<br /> 0xB767F9A0 sceGzipGetComment<br /> 0xE46EB986 sceZlibIsValid<br /> <br /> Library: sceDisplay<br /> 0x0E20F177 sceDisplaySetMode<br /> 0x210EAB3A sceDisplayGetAccumulatedHcount<br /> 0x289D82FE sceDisplaySetFrameBuf<br /> 0x36CDFADE sceDisplayWaitVblank<br /> 0x40F1469C sceDisplayWaitVblankStartMulti<br /> 0x46F186C3 sceDisplayWaitVblankStartCB<br /> 0x4D4E10EC sceDisplayIsVblank<br /> 0x773DD3A3 sceDisplayGetCurrentHcount<br /> 0x77ED8B3A sceDisplayWaitVblankStartMultiCB<br /> 0x7ED59BC4 sceDisplaySetHoldMode<br /> 0x8EB9EC49 sceDisplayWaitVblankCB<br /> 0x984C27E7 sceDisplayWaitVblankStart<br /> 0x9C6EAAD7 sceDisplayGetVcount<br /> 0xB4F378FA sceDisplayIsForeground<br /> 0xDBA6C4C4 sceDisplayGetFramePerSec<br /> 0xDEA197D4 sceDisplayGetMode<br /> 0xEEDA2E54 sceDisplayGetFrameBuf<br /> <br /> Library: sceDmac<br /> 0x617F3FE6 sceDmacMemcpy<br /> <br /> Library: sceG729<br /> 0x13F1028A sceG729DecodeExit<br /> 0x17C11696 sceG729DecodeInitResource<br /> 0x3489D1F3 sceG729DecodeCore<br /> 0x55E14F75 sceG729DecodeInit<br /> 0x5A409D1B sceG729EncodeExit<br /> 0x74804D93 sceG729DecodeReset<br /> 0x890B86AE sceG729DecodeTermResource<br /> 0x8C87A2CA sceG729EncodeReset<br /> 0x94714D50 sceG729EncodeTermResource<br /> 0xAA1E5462 sceG729EncodeInitResource<br /> 0xCFCD367C sceG729EncodeInit<br /> 0xDB7259D5 sceG729EncodeCore<br /> <br /> Library: sceGameUpdate<br /> 0x596AD78C sceGameUpdateRun<br /> 0x5F5D98A6 sceGameUpdateAbort<br /> 0xBB4B68DE sceGameUpdateTerm<br /> 0xCBE69FB3 sceGameUpdateInit<br /> <br /> Library: sceGe_user<br /> 0x03444EB4 sceGeListSync<br /> 0x05DB22CE sceGeUnsetCallback<br /> 0x0BF608FB sceGeRestoreContext<br /> 0x1C0D95A6 sceGeListEnQueueHead<br /> 0x1F6752AD sceGeEdramGetSize<br /> 0x438A385A sceGeSaveContext<br /> 0x4C06E472 sceGeContinue<br /> 0x57C8945B sceGeGetMtx<br /> 0x5FB86AB0 sceGeListDeQueue<br /> 0xA4FC06A4 sceGeSetCallback<br /> 0xAB49E76A sceGeListEnQueue<br /> 0xB287BD61 sceGeDrawSync<br /> 0xB448EC0D sceGeBreak<br /> 0xB77905EA sceGeEdramSetAddrTranslation<br /> 0xDC93CFEF sceGeGetCmd<br /> 0xE0D68148 sceGeListUpdateStallAddr<br /> 0xE47E40E4 sceGeEdramGetAddr<br /> <br /> Library: sceHeap<br /> 0x0E875980 sceHeapReallocHeapMemory<br /> 0x1C84B58D sceHeapReallocHeapMemoryWithOption<br /> 0x2A0C2009 sceHeapGetMallinfo<br /> 0x2ABADC63 sceHeapFreeHeapMemory<br /> 0x2B7299D8 sceHeapAllocHeapMemoryWithOption<br /> 0x4929B40D sceHeapGetTotalFreeSize<br /> 0x7012BBDD sceHeapIsAllocatedHeapMemory<br /> 0x70210B73 sceHeapDeleteHeap<br /> 0x7DE281C2 sceHeapCreateHeap<br /> 0xA8E102A0 sceHeapAllocHeapMemory<br /> <br /> Library: sceHprm<br /> 0x208DB1BD sceHprmIsRemoteExist<br /> 0x219C58F1 sceHprmIsMicrophoneExist<br /> 0x2BCEC83E sceHprmPeekLatch<br /> 0x40D2F9F0 sceHprmReadLatch<br /> 0x444ED0B7 sceHprmUnregitserCallback<br /> 0x7E69EDA4 sceHprmIsHeadphoneExist<br /> 0xC7154136 sceHprmRegisterCallback<br /> 0xFD7DE6CD sceHprmUnregisterCallback<br /> <br /> Library: sceHttp<br /> 0x0282A3BD sceHttpGetContentLength<br /> 0x03D9526F sceHttpSetResolveRetry<br /> 0x06488A1C sceHttpSetCookieSendCallback<br /> 0x0809C831 sceHttpEnableRedirect<br /> 0x0B12ABFB sceHttpDisableCookie<br /> 0x0DAFA58F sceHttpEnableCookie<br /> 0x15540184 sceHttpDeleteHeader<br /> 0x1A0EBB69 sceHttpDisableRedirect<br /> 0x1CEDB9D4 sceHttpFlushCache<br /> 0x1F0FC3E3 sceHttpSetRecvTimeOut<br /> 0x2255551E sceHttpGetNetworkPspError<br /> 0x267618F4 sceHttpSetAuthInfoCallback<br /> 0x2A6C3296 sceHttpSetAuthInfoCB<br /> 0x2C3C82CF sceHttpFlushAuthList<br /> 0x3A67F306 sceHttpSetCookieRecvCallback<br /> 0x3EABA285 sceHttpAddExtraHeader<br /> 0x47347B50 sceHttpCreateRequest<br /> 0x47940436 sceHttpSetResolveTimeOut<br /> 0x4CC7D78F sceHttpGetStatusCode<br /> 0x5152773B sceHttpDeleteConnection<br /> 0x54E7DF75 sceHttpIsRequestInCache<br /> 0x569A1481 sceHttpsSetSslCallback<br /> 0x59E6D16F sceHttpEnableCache<br /> 0x68AB0F86 sceHttpsInitWithPath<br /> 0x76D1363B sceHttpSaveSystemCookie<br /> 0x7774BF4C sceHttpAddCookie<br /> 0x78A0D3EC sceHttpEnableKeepAlive<br /> 0x78B54C09 sceHttpEndCache<br /> 0x87797BDD sceHttpsLoadDefaultCert<br /> 0x8ACD1F73 sceHttpSetConnectTimeOut<br /> 0x8EEFD953 sceHttpCreateConnection<br /> 0x9668864C sceHttpSetRecvBlockSize<br /> 0x96F16D3E sceHttpGetCookie<br /> 0x9988172D sceHttpSetSendTimeOut<br /> 0x9AFC98B2 sceHttpSendRequestInCacheFirstMode<br /> 0x9B1F1F36 sceHttpCreateTemplate<br /> 0x9FC5F10D sceHttpEnableAuth<br /> 0xA4496DE5 sceHttpSetRedirectCallback<br /> 0xA5512E01 sceHttpDeleteRequest<br /> 0xA6800C34 sceHttpInitCache<br /> 0xAB1540D5 sceHttpsGetSslError<br /> 0xAB1ABE07 sceHttpInit<br /> 0xAE948FEE sceHttpDisableAuth<br /> 0xB0C34B1D sceHttpSetCacheContentLengthMaxSize<br /> 0xB3FAF831 sceHttpsDisableOption<br /> 0xB509B09E sceHttpCreateRequestWithURL<br /> 0xBAC31BF1 sceHttpsEnableOption<br /> 0xBB70706F sceHttpSendRequest<br /> 0xC10B6BD9 sceHttpAbortRequest<br /> 0xC6330B0D sceHttpChangeHttpVersion<br /> 0xC7EF2559 sceHttpDisableKeepAlive<br /> 0xC98CBBA7 sceHttpSetResHeaderMaxSize<br /> 0xCCBD167A sceHttpDisableCache<br /> 0xCDF8ECB9 sceHttpCreateConnectionWithURL<br /> 0xD081EC8F sceHttpGetNetworkErrno<br /> 0xD11DAB01 sceHttpsGetCaList<br /> 0xD1C8945E sceHttpEnd<br /> 0xD70D4847 sceHttpGetProxy<br /> 0xDB266CCF sceHttpGetAllHeader<br /> 0xE4D21302 sceHttpsInit<br /> 0xEDEEB999 sceHttpReadData<br /> 0xF0F46C62 sceHttpSetProxy<br /> 0xF1657B22 sceHttpLoadSystemCookie<br /> 0xF49934F6 sceHttpSetMallocFunction<br /> 0xF9D8EB63 sceHttpsEnd<br /> 0xFCF8C055 sceHttpDeleteTemplate<br /> <br /> Library: sceImpose<br /> 0x24FD7BCF sceImposeGetLanguageMode<br /> 0x36AA6E91 sceImposeSetLanguageMode<br /> 0x72189C48 sceImposeSetUMDPopup<br /> 0x8C943191 sceImposeGetBatteryIconStatus<br /> 0x8F6E3518 sceImposeGetBacklightOffTime<br /> 0x967F6D4A sceImposeSetBacklightOffTime<br /> 0xE0887BC8 sceImposeGetUMDPopup<br /> <br /> Library: sceJpeg<br /> 0x04B5AE02 sceJpegMJpegCsc<br /> 0x04B93CEF sceJpegDecodeMJpeg<br /> 0x227662D7 sceJpegDecodeMJpegYCbCrSuccessively<br /> 0x48B602B7 sceJpegDeleteMJpeg<br /> 0x64B6F978 sceJpegDecodeMJpegSuccessively<br /> 0x67F0ED84 sceJpegCsc<br /> 0x7D2F3D7F sceJpegFinishMJpeg<br /> 0x8F2BB012 sceJpegGetOutputInfo<br /> 0x91EED83C sceJpegDecodeMJpegYCbCr<br /> 0x9D47469C sceJpegCreateMJpeg<br /> 0xA06A75C4 sceJpegMJpegCscWithColorOption<br /> 0xAC9E70E6 sceJpegInitMJpeg<br /> <br /> Library: sceMd5<br /> 0x19884A15 sceMd5BlockInit<br /> 0x4876AFFF sceMd5BlockResult<br /> 0x98E31A9E sceMd5Digest<br /> 0xA30206C2 sceMd5BlockUpdate<br /> <br /> Library: sceMp3<br /> 0x07EC321A sceMp3ReserveMp3Handle<br /> 0x0840E808 sceMp3ResetPlayPositionByFrame<br /> 0x0DB149F4 sceMp3NotifyAddStreamData<br /> 0x1B839B83 sceMp3LowLevelInit<br /> 0x2A368661 sceMp3ResetPlayPosition<br /> 0x3548AEC8 sceMp3GetFrameNum<br /> 0x354D27EA sceMp3GetSumDecodedSample<br /> 0x35750070 sceMp3InitResource<br /> 0x3C2FA058 sceMp3TermResource<br /> 0x3CEF484F sceMp3SetLoopNum<br /> 0x44E07129 sceMp3Init<br /> 0x732B042A sceMp3EndEntry<br /> 0x7F696782 sceMp3GetMp3ChannelNum<br /> 0x87677E40 sceMp3GetBitRate<br /> 0x87C263D1 sceMp3GetMaxOutputSample<br /> 0x8AB81558 sceMp3StartEntry<br /> 0x8F450998 sceMp3GetSamplingRate<br /> 0xA703FE0F sceMp3GetInfoToAddStreamData<br /> 0xAE6D2027 sceMp3GetMPEGVersion<br /> 0xD021C0FB sceMp3Decode<br /> 0xD0A56296 sceMp3CheckStreamDataNeeded<br /> 0xD8F54A51 sceMp3GetLoopNum<br /> 0xE3EE2C81 sceMp3LowLevelDecode<br /> 0xF5478233 sceMp3ReleaseMp3Handle<br /> <br /> Library: sceMp4<br /> 0x01C76489 sceMp4TrackSampleBufDestruct<br /> 0x0F0187D2 sceMp4GetAvcTrackInfoData<br /> 0x10EE0D2C sceMp4AacDecodeInit<br /> 0x113E9E7B sceMp4GetNumberOfMetaData<br /> 0x131BDE57 sceMp4InitAu<br /> 0x17EAA97D sceMp4GetAvcAuWithoutSampleBuf<br /> 0x28CCB940 sceMp4GetTrackEditList<br /> 0x3069C2B5 sceMp4GetAvcParamSet<br /> 0x31BCD7E0 sceMp4TrackSampleBufPut<br /> 0x427BEF7F sceMp4GetTrackNumOfEditList<br /> 0x496E8A65 sceMp4TrackSampleBufFlush<br /> 0x4ED4AB1E sceMp4AacDecodeInitResource<br /> 0x4FB5B756 sceMp4GetMetaDataInfo<br /> 0x503A3CBA sceMp4GetAvcAu<br /> 0x532029B8 sceMp4GetAacAuWithoutSampleBuf<br /> 0x538C2057 sceMp4Delete<br /> 0x5601A6F0 sceMp4GetAacAu<br /> 0x5D72B333 sceMp4AacDecodeExit<br /> 0x5EB65F26 sceMp4GetNumberOfSpecificTrack<br /> 0x6710FE77 sceMp4UnregistTrack<br /> 0x68651CBC sceMp4Init<br /> 0x7443AF1D sceMp4GetMovieInfo<br /> 0x74A1CA3E sceMp4SearchSyncSampleNum<br /> 0x7663CB5C sceMp4AacDecode<br /> 0x7ADFD01C sceMp4RegistTrack<br /> 0x7D332394 sceMp4AacDecodeTermResource<br /> 0x8754ECB8 sceMp4TrackSampleBufAvailableSize<br /> 0x9042B257 sceMp4Finish<br /> 0x9C8F4FC1 sceMp4TrackSampleBufConstruct<br /> 0x9CE6F5CF sceMp4GetAacTrackInfoData<br /> 0xA6C724DC sceMp4GetSampleNum<br /> 0xB1221EE7 sceMp4Create<br /> 0xB4B400D1 sceMp4GetSampleNumWithTimeStamp<br /> 0xBCA9389C sceMp4TrackSampleBufQueryMemSize<br /> 0xD2AC9A7E sceMp4GetMetaData<br /> 0xD8250B75 sceMp4PutSampleNum<br /> 0xF7C51EC1 sceMp4GetSampleInfo<br /> <br /> Library: sceMpeg<br /> 0x01977054 sceMpegGetUserdataAu<br /> 0x0558B075 sceMpegAvcCopyYCbCr<br /> 0x0E3C2E9D sceMpegAvcDecode<br /> 0x0F6C18D7 sceMpegAvcDecodeDetail<br /> 0x11F95CF1 sceMpegGetAvcNalAu<br /> 0x13407F13 sceMpegRingbufferDestruct<br /> 0x167AFD9E sceMpegInitAu<br /> 0x211A057C sceMpegAvcQueryYCbCrSize<br /> 0x21FF80E4 sceMpegQueryStreamOffset<br /> 0x234586AE sceMpegChangeGetAvcAuMode<br /> 0x31BD0272 sceMpegAvcCsc<br /> 0x37295ED8 sceMpegRingbufferConstruct<br /> 0x3C37A7A6 sceMpegNextAvcRpAu<br /> 0x42560F23 sceMpegRegistStream<br /> 0x4571CC64 sceMpegAvcDecodeFlush<br /> 0x500F0429 sceMpegFlushStream<br /> 0x591A4AA2 sceMpegUnRegistStream<br /> 0x606A4649 sceMpegDelete<br /> 0x611E9E11 sceMpegQueryStreamSize<br /> 0x63B9536A sceMpegAvcResourceGetAvcDecTopAddr<br /> 0x67179B1B sceMpegAvcInitYCbCr<br /> 0x682A619B sceMpegInit<br /> 0x707B7629 sceMpegFlushAllStream<br /> 0x740FCCD1 sceMpegAvcDecodeStop<br /> 0x769BEBB6 sceMpegRingbufferQueryPackNum<br /> 0x800C44DF sceMpegAtracDecode<br /> 0x8160A2FE sceMpegAvcResourceFinish<br /> 0x874624D6 sceMpegFinish<br /> 0x8C1E027D sceMpegGetPcmAu<br /> 0x921FCCCF sceMpegGetAvcEsAu<br /> 0x9DCFB7EA sceMpegChangeGetAuMode<br /> 0xA11C7026 sceMpegAvcDecodeMode<br /> 0xA780CF7E sceMpegMallocAvcEsBuf<br /> 0xAB0E9556 sceMpegAvcDecodeDetailIndex<br /> 0xAF26BB01 sceMpegAvcResourceGetAvcEsBuf<br /> 0xB240A59E sceMpegRingbufferPut<br /> 0xB5F6DC87 sceMpegRingbufferAvailableSize<br /> 0xC02CF6B5 sceMpegQueryPcmEsSize<br /> 0xC132E22F sceMpegQueryMemSize<br /> 0xC45C99CC sceMpegQueryUserdataEsSize<br /> 0xCEB870B1 sceMpegFreeAvcEsBuf<br /> 0xD7A29F46 sceMpegRingbufferQueryMemSize<br /> 0xD8C5F121 sceMpegCreate<br /> 0xE1CE83A7 sceMpegGetAtracAu<br /> 0xF0EB1125 sceMpegAvcDecodeYCbCr<br /> 0xF2930C9C sceMpegAvcDecodeStopYCbCr<br /> 0xF5E7EA31 sceMpegAvcConvertToYuv420<br /> 0xF8DCB679 sceMpegQueryAtracEsSize<br /> 0xFCBDB5AD sceMpegAvcResourceInit<br /> 0xFE246728 sceMpegGetAvcAu<br /> <br /> Library: sceMt19937<br /> 0xECF5D379 sceMt19937Init<br /> 0xF40C98E6 sceMt19937UInt<br /> <br /> Library: sceNet<br /> 0x0BF0A3AE sceNetGetLocalEtherAddr<br /> 0x281928A9 sceNetTerm<br /> 0x39AF39A6 sceNetInit<br /> 0x50647530 sceNetFreeThreadinfo<br /> 0x89360950 sceNetEtherNtostr<br /> 0xAD6844C6 sceNetThreadAbort<br /> 0xCC393E48 sceNetGetMallocStat<br /> 0xD27961C9 sceNetEtherStrton<br /> <br /> Library: sceNetAdhoc<br /> 0x0B2228E9 sceNetAdhocGameModeDeleteReplica<br /> 0x157E6225 sceNetAdhocPtpClose<br /> 0x3278AB0C sceNetAdhocGameModeCreateReplica<br /> 0x4D2CE199 sceNetAdhocGetSocketAlert<br /> 0x4DA4C788 sceNetAdhocPtpSend<br /> 0x6F92741B sceNetAdhocPdpCreate<br /> 0x73BFD52D sceNetAdhocSetSocketAlert<br /> 0x7A662D6B sceNetAdhocPollSocket<br /> 0x7F27BB5E sceNetAdhocPdpDelete<br /> 0x7F75C338 sceNetAdhocGameModeCreateMaster<br /> 0x877F6D66 sceNetAdhocPtpOpen<br /> 0x8BEA2B3E sceNetAdhocPtpRecv<br /> 0x98C204C8 sceNetAdhocGameModeUpdateMaster<br /> 0x9AC2EEAC sceNetAdhocPtpFlush<br /> 0x9DF81198 sceNetAdhocPtpAccept<br /> 0xA0229362 sceNetAdhocGameModeDeleteMaster<br /> 0xA62C6F57 sceNetAdhocTerm<br /> 0xABED3790 sceNetAdhocPdpSend<br /> 0xB9685118 sceNetAdhocGetPtpStat<br /> 0xC7C1FC57 sceNetAdhocGetPdpStat<br /> 0xDFE53E03 sceNetAdhocPdpRecv<br /> 0xE08BDAC1 sceNetAdhocPtpListen<br /> 0xE1D621D7 sceNetAdhocInit<br /> 0xFA324B4E sceNetAdhocGameModeUpdateReplica<br /> 0xFC6FC07B sceNetAdhocPtpConnect<br /> <br /> Library: sceNetAdhocDiscover<br /> 0x52DE1B97 sceNetAdhocDiscoverUpdate<br /> 0x941B3877 sceNetAdhocDiscoverInitStart<br /> 0x944DDBC6 sceNetAdhocDiscoverGetStatus<br /> 0xA2246614 sceNetAdhocDiscoverTerm<br /> 0xA423A21B sceNetAdhocDiscoverRequestSuspend<br /> 0xF7D13214 sceNetAdhocDiscoverStop<br /> <br /> Library: sceNetAdhocMatching<br /> 0x2A2A1E07 sceNetAdhocMatchingInit<br /> 0x32B156B3 sceNetAdhocMatchingStop<br /> 0x40F8F435 sceNetAdhocMatchingGetPoolMaxAlloc<br /> 0x5E3D4B79 sceNetAdhocMatchingSelectTarget<br /> 0x7945ECDA sceNetAdhocMatchingTerm<br /> 0x8F58BEDF sceNetAdhocMatchingCancelTargetWithOpt<br /> 0x93EF3843 sceNetAdhocMatchingStart<br /> 0x9C5CFB7D sceNetAdhocMatchingGetPoolStat<br /> 0xB58E61B7 sceNetAdhocMatchingSetHelloOpt<br /> 0xB5D96C2A sceNetAdhocMatchingGetHelloOpt<br /> 0xC58BCD9E sceNetAdhocMatchingGetMembers<br /> 0xCA5EDA6F sceNetAdhocMatchingCreate<br /> 0xEA3C6108 sceNetAdhocMatchingCancelTarget<br /> 0xEC19337D sceNetAdhocMatchingAbortSendData<br /> 0xF16EAF4F sceNetAdhocMatchingDelete<br /> 0xF79472D7 sceNetAdhocMatchingSendData<br /> <br /> Library: sceNetAdhocctl<br /> 0x08FFF7A0 sceNetAdhocctlScan<br /> 0x0AD043ED sceNetAdhocctlConnect<br /> 0x1FF89745 sceNetAdhocctlJoinEnterGameMode<br /> 0x20B317A0 sceNetAdhocctlAddHandler<br /> 0x34401D65 sceNetAdhocctlDisconnect<br /> 0x362CBE8F sceNetAdhocctlGetAdhocId<br /> 0x5A014CE0 sceNetAdhocctlGetGameModeInfo<br /> 0x5E7F79C9 sceNetAdhocctlJoin<br /> 0x6402490B sceNetAdhocctlDelHandler<br /> 0x75ECD386 sceNetAdhocctlGetState<br /> 0x81AEE1BE sceNetAdhocctlGetScanInfo<br /> 0x8916C003 sceNetAdhocctlGetNameByAddr<br /> 0x8DB83FDC sceNetAdhocctlGetPeerInfo<br /> 0x99560ABE sceNetAdhocctlGetAddrByName<br /> 0x9D689E13 sceNetAdhocctlTerm<br /> 0xA5C055CE sceNetAdhocctlCreateEnterGameMode<br /> 0xB0B80E80 sceNetAdhocctlCreateEnterGameModeMin<br /> 0xCF8E084D sceNetAdhocctlExitGameMode<br /> 0xDED9D28E sceNetAdhocctlGetParameter<br /> 0xE162CB14 sceNetAdhocctlGetPeerList<br /> 0xE26F226E sceNetAdhocctlInit<br /> 0xEC0635C1 sceNetAdhocctlCreate<br /> <br /> Library: sceNetApDialogDummy<br /> 0x3811281E sceNetApDialogDummyConnect<br /> 0xBB73FF67 sceNetApDialogDummyInit<br /> 0xCA9BE5BF sceNetApDialogDummyGetState<br /> 0xF213BE65 sceNetApDialogDummyTerm<br /> <br /> Library: sceNetApctl<br /> 0x24FE91A1 sceNetApctlDisconnect<br /> 0x2935C45B sceNetApctlGetBSSDescEntry2<br /> 0x2BEFDF23 sceNetApctlGetInfo<br /> 0x5963991B sceNetApctlDelHandler<br /> 0x5DEAC81B sceNetApctlGetState<br /> 0x8ABADD51 sceNetApctlAddHandler<br /> 0xA3E77E13 sceNetApctlScanSSID2<br /> 0xB3EDD0EC sceNetApctlTerm<br /> 0xCFB957C6 sceNetApctlConnect<br /> 0xE2F91F9B sceNetApctlInit<br /> 0xF25A5006 sceNetApctlGetBSSDescIDList2<br /> <br /> Library: sceNetIfhandle<br /> 0xC80181A2 sceNetGetDropRate<br /> 0xFD8585E1 sceNetSetDropRate<br /> <br /> Library: sceNetInet<br /> 0x05038FC7 sceNetInetSendto<br /> 0x162E6FD5 sceNetInetGetsockname<br /> 0x17943399 sceNetInetInit<br /> 0x1A33F9AE sceNetInetBind<br /> 0x1BDF5D13 sceNetInetInetAton<br /> 0x2FE71FE7 sceNetInetSetsockopt<br /> 0x39B0C7D3 sceNetInetGetUdpcbstat<br /> 0x410B34AA sceNetInetConnect<br /> 0x4A114C7C sceNetInetGetsockopt<br /> 0x4CFE4E56 sceNetInetShutdown<br /> 0x5BE8D595 sceNetInetSelect<br /> 0x774E36F4 sceNetInetSendmsg<br /> 0x7AA671BC sceNetInetSend<br /> 0x805502DD sceNetInetCloseWithRST<br /> 0x80A21ABD sceNetInetSocketAbort<br /> 0x8B7B220F sceNetInetSocket<br /> 0x8CA3A97E sceNetInetGetPspError<br /> 0x8D7284EA sceNetInetClose<br /> 0xA9ED66B9 sceNetInetTerm<br /> 0xB3888AD4 sceNetInetGetTcpcbstat<br /> 0xB75D5B0A sceNetInetInetAddr<br /> 0xC91142E4 sceNetInetRecvfrom<br /> 0xCDA85C99 sceNetInetRecv<br /> 0xD0792666 sceNetInetInetNtop<br /> 0xD10A1A7A sceNetInetListen<br /> 0xDB094E1B sceNetInetAccept<br /> 0xE247B6D6 sceNetInetGetpeername<br /> 0xE30B8C19 sceNetInetInetPton<br /> 0xEECE61D2 sceNetInetRecvmsg<br /> 0xFAABB1DD sceNetInetPoll<br /> 0xFBABE411 sceNetInetGetErrno<br /> <br /> Library: sceNetResolver<br /> 0x12748EB9 sceNetResolverWaitAsync<br /> 0x14C17EF9 sceNetResolverStartNtoAAsync<br /> 0x224C5F44 sceNetResolverStartNtoA<br /> 0x244172AF sceNetResolverCreate<br /> 0x4EE99358 sceNetResolverPollAsync<br /> 0x6138194A sceNetResolverTerm<br /> 0x629E2FB7 sceNetResolverStartAtoN<br /> 0x808F6063 sceNetResolverStop<br /> 0x94523E09 sceNetResolverDelete<br /> 0xAAC09184 sceNetResolverStartAtoNAsync<br /> 0xF3370E61 sceNetResolverInit<br /> <br /> Library: sceNetUpnp<br /> 0x27045362 sceNetUpnpGetNatInfo<br /> 0x3432B2E5 sceNetUpnpStart<br /> 0x3E32ED9E sceNetUpnpStop<br /> 0x540491EF sceNetUpnpTerm<br /> 0xE24220B5 sceNetUpnpInit<br /> <br /> Library: sceNp<br /> 0x1D60AE4B sceNpGetChatRestrictionFlag<br /> 0x37E1E274 sceNpTerm<br /> 0x4B5C71C8 sceNpGetOnlineId<br /> 0x633B5F71 sceNpGetNpId<br /> 0x7E0864DF sceNpGetUserProfile<br /> 0x857B47D3 sceNpInit<br /> 0xA0BE3C4B sceNpGetAccountRegion<br /> 0xBB069A87 sceNpGetContentRatingFlag<br /> 0xCDCC21D3 sceNpGetMyLanguages<br /> <br /> Library: sceNpAuth<br /> 0x3F1C1F70 sceNpAuthGetTicket<br /> 0x4EC1F667 sceNpAuthTerm<br /> 0x5A3CB57A sceNpAuthGetTicketParam<br /> 0x6900F084 sceNpAuthGetEntitlementById<br /> 0x72BB0467 sceNpAuthDestroyRequest<br /> 0x75FB0AE3 sceNpAuthGetEntitlementIdList<br /> 0xA1DE86F8 sceNpAuthInit<br /> 0xCD86A656 sceNpAuthCreateStartRequest<br /> 0xD99455DD sceNpAuthAbortRequest<br /> 0xF4531ADC sceNpAuthGetMemoryStat<br /> <br /> Library: sceNpCommerce2<br /> 0x005B5F20 sceNpCommerce2GetProductInfoStart<br /> 0x05E7AFBC sceNpCommerce2GetGameProductInfoFromContentInfo<br /> 0x0E9956E3 sceNpCommerce2Init<br /> 0x1888A9FE sceNpCommerce2DestroyReq<br /> 0x1C85ED88 sceNpCommerce2GetPrice<br /> 0x1C952DCB sceNpCommerce2GetGameProductInfo<br /> 0x2B25F6E9 sceNpCommerce2CreateSessionStart<br /> 0x3371D5F1 sceNpCommerce2GetProductInfoCreateReq<br /> 0x490210E0 sceNpCommerce2DestroyGetProductInfoResult<br /> 0x4ECD4503 sceNpCommerce2CreateSessionCreateReq<br /> 0x54FE8871 sceNpCommerce2GetCategoryInfo<br /> 0x57C8BD4E sceNpCommerce2GetCategoryInfoFromContentInfo<br /> 0x590A3229 sceNpCommerce2GetSessionInfo<br /> 0x5D8C2D99 sceNpCommerce2GetCategoryContentsCreateReq<br /> 0x6592FE83 sceNpCommerce2GetContentRatingDescriptor<br /> 0x6A2AE572 sceNpCommerce2GetContentRatingInfoFromGameProductInfo<br /> 0x6F1FE37F sceNpCommerce2CreateCtx<br /> 0x80A7AFDB sceNpCommerce2GetCategoryContentsGetResult<br /> 0xA5A34EA4 sceNpCommerce2Term<br /> 0xAA4A1E3D sceNpCommerce2GetProductInfoGetResult<br /> 0xB0D7AA90 sceNpCommerce2GetContentInfo<br /> 0xBC61FFC8 sceNpCommerce2CreateSessionGetResult<br /> 0xC5505A19 sceNpCommerce2GetContentRatingInfoFromCategoryInfo<br /> 0xC7F32242 sceNpCommerce2AbortReq<br /> 0xCEAB1829 sceNpCommerce2InitGetCategoryContentsResult<br /> 0xDD6758FA sceNpCommerce2GetCategoryContentsStart<br /> 0xED85ACCE sceNpCommerce2DestroyGetCategoryContentsResult<br /> 0xF2278B90 sceNpCommerce2GetGameSkuInfoFromGameProductInfo<br /> 0xF297AB9C sceNpCommerce2DestroyCtx<br /> 0xFC30C19E sceNpCommerce2InitGetProductInfoResult<br /> <br /> Library: sceNpMatching2<br /> 0x12C5A111 sceNpMatching2GetRoomDataExternalList<br /> 0x1421514B sceNpMatching2SetDefaultRoomEventOptParam<br /> 0x190FF903 sceNpMatching2ContextStart<br /> 0x22F38DAF sceNpMatching2GetMemoryStat<br /> 0x2B3892FC sceNpMatching2ContextStop<br /> 0x2E61F6E1 sceNpMatching2Init<br /> 0x3892E9A6 sceNpMatching2SignalingGetConnectionInfo<br /> 0x3DE70241 sceNpMatching2DestroyContext<br /> 0x495E97BD sceNpMatching2GrantRoomOwner<br /> 0x4EE3A8EC sceNpMatching2GetServerInfo<br /> 0x5030CC53 sceNpMatching2CreateContext<br /> 0x55F7837F sceNpMatching2SendRoomChatMessage<br /> 0x5C7DB6A4 sceNpMatching2GetRoomMemberDataInternalList<br /> 0x631682CC sceNpMatching2SetDefaultRequestOptParam<br /> 0x6D6D0C75 sceNpMatching2SignalingGetConnectionStatus<br /> 0x7BBFC427 sceNpMatching2JoinRoom<br /> 0x7D1D5F5E sceNpMatching2SetUserInfo<br /> 0x7DAA8A90 sceNpMatching2SetRoomMemberDataInternal<br /> 0x80F61558 sceNpMatching2GetRoomMemberIdListLocal<br /> 0x81C13E6D sceNpMatching2SearchRoom<br /> 0x8BF37D8C sceNpMatching2Term<br /> 0x8CD109E7 sceNpMatching2SignalingGetPeerNetInfo<br /> 0x9462C05A sceNpMatching2SignalingCancelPeerNetInfo<br /> 0x97529ECC sceNpMatching2KickoutRoomMember<br /> 0x9A67F5D0 sceNpMatching2SetSignalingOptParam<br /> 0xA3C298D1 sceNpMatching2RegisterSignalingCallback<br /> 0xA53E7C69 sceNpMatching2GetWorldInfoList<br /> 0xA5775DBF sceNpMatching2GetRoomMemberDataInternal<br /> 0xAAD0946A sceNpMatching2CreateJoinRoom<br /> 0xC7E72EC5 sceNpMatching2GetSignalingOptParamLocal<br /> 0xC870535A sceNpMatching2LeaveRoom<br /> 0xC8FC5D41 sceNpMatching2GetUserInfoList<br /> 0xD13491AB sceNpMatching2SetDefaultRoomMessageOptParam<br /> 0xD7D4AEB2 sceNpMatching2SetRoomDataExternal<br /> 0xDFEDB642 sceNpMatching2SignalingGetPeerNetInfoResult<br /> 0xE313E586 sceNpMatching2GetRoomDataInternal<br /> 0xE6C93DBD sceNpMatching2SetRoomDataInternal<br /> 0xEF683F4F sceNpMatching2GetRoomDataInternalLocal<br /> 0xF22C7ADC sceNpMatching2GetRoomMemberDataInternalLocal<br /> 0xF47342FC sceNpMatching2GetServerIdListLocal<br /> 0xF739BE92 sceNpMatching2GetRoomPasswordLocal<br /> 0xF940D9AD sceNpMatching2SendRoomMessage<br /> 0xFADBA9DB sceNpMatching2AbortRequest<br /> 0xFBF494C0 sceNpMatching2GetRoomMemberDataExternalList<br /> 0xFF32EA05 sceNpMatching2SignalingGetLocalNetInfo<br /> <br /> Library: sceNpService<br /> 0x00ACFAC3 sceNpServiceTerm<br /> 0x0F8F5821 sceNpServiceInit<br /> 0x168B8DE5 sceNpManagerSigninUpdateGetStatus<br /> 0x174D0D24 sceNpRosterDeleteBlockListEntry<br /> 0x1DA3E950 sceNpManagerSigninUpdateInitStart<br /> 0x250488F9 sceNpServiceGetMemoryStat<br /> 0x268C009D sceNpManagerSigninUpdateAbort<br /> 0x389A0D44 sceNpLookupNpId<br /> 0x4B4E4E71 sceNpLookupAbortTransaction<br /> 0x4E851B10 sceNpRosterGetFriendListEntry<br /> 0x506C318D sceNpRosterGetBlockListEntry<br /> 0x5494274B sceNpLookupCreateTransactionCtx<br /> 0x58251346 sceNpRosterGetFriendListEntryCount<br /> 0x5F5E32AF sceNpRosterAbort<br /> 0x66C64821 sceNpRosterDeleteRequest<br /> 0x72A1CE0D sceNpRosterDeleteFriendListEntry<br /> 0x75DACB57 sceNpRosterAcceptFriendListEntry<br /> 0x78802D5F sceNpManagerSigninUpdateShutdownStart<br /> 0x788F2B5E sceNpRosterAddFriendListEntry<br /> 0x90E4DB6A sceNpLookupUserProfile<br /> 0xA01443AA sceNpRosterGetBlockListEntryCount<br /> 0xA164CACC sceNpRosterGetFriendListMessage<br /> 0xA670D3A3 sceNpLookupDestroyTransactionCtx<br /> 0xBE22EEA3 sceNpRosterCreateRequest<br /> 0xC76F55ED sceNpLookupTitleSmallStorage<br /> 0xFC0BC8DB sceNpRosterAddBlockListEntry<br /> <br /> Library: sceOpenPSID<br /> 0xC69BEBCE sceOpenPSIDGetOpenPSID<br /> <br /> Library: sceP3da<br /> 0x013016F3 sceP3daBridgeCore<br /> 0x374500A5 sceP3daBridgeInit<br /> 0x43F756A2 sceP3daBridgeExit<br /> <br /> Library: sceParseHttp<br /> 0x8077A433 sceParseHttpStatusLine<br /> 0xAD7BFDEF sceParseHttpResponseHeader<br /> <br /> Library: sceParseUri<br /> 0x062BB07E sceUriUnescape<br /> 0x49E950EC sceUriEscape<br /> 0x568518C9 sceUriParse<br /> 0x7EE318AF sceUriBuild<br /> 0x8885A782 sceUriSweepPath<br /> 0x8AA55D17 sceUriMerge<br /> <br /> Library: scePower<br /> 0x04B7766E scePowerRegisterCallback<br /> 0x0AFD0D8B scePowerIsBatteryExist<br /> 0x1E490401 scePowerIsBatteryCharging<br /> 0x2085D15D scePowerGetBatteryLifePercent<br /> 0x34F9C463 scePowerGetPllClockFrequencyInt<br /> 0x469989AD scePowerSetClockFrequency<br /> 0x478FE6F5 scePowerGetBusClockFrequency<br /> 0x843FBF43 scePowerSetCpuClockFrequency<br /> 0x87440F5E scePowerIsPowerOnline<br /> 0x8EFB3FA2 scePowerGetBatteryLifeTime<br /> 0x9BADB3EB scePowerGetBusClockFrequencyFloat<br /> 0xA85880D0 scePowerCheckWlanCoexistenceClock<br /> 0xAC32C9CC scePowerRequestSuspend<br /> 0xB1A52C83 scePowerGetCpuClockFrequencyFloat<br /> 0xB8D7B3FB scePowerSetBusClockFrequency<br /> 0xBD681969 scePowerGetBusClockFrequencyInt<br /> 0xD3075926 scePowerIsLowBattery<br /> 0xDB9D28DD scePowerUnregitserCallback<br /> 0xDFA8BAF8 scePowerUnregisterCallback<br /> 0xEA382A27 scePowerGetPllClockFrequencyFloat<br /> 0xEBD177D6 scePowerSetClockFrequency350<br /> 0xEFD3C963 scePowerTick<br /> 0xFDB5BFE9 scePowerGetCpuClockFrequencyInt<br /> 0xFEE03A2F scePowerGetCpuClockFrequency<br /> <br /> Library: scePsmf<br /> 0x0BA514E5 scePsmfGetVideoInfo<br /> 0x0C120E1D scePsmfSpecifyStreamWithStreamTypeNumber<br /> 0x1E6D9013 scePsmfSpecifyStreamWithStreamType<br /> 0x2673646B scePsmfVerifyPsmf<br /> 0x28240568 scePsmfGetCurrentStreamNumber<br /> 0x40326D8F scePsmfCheckPsmfMark<br /> 0x43AC7DBB scePsmfGetPsmfMark<br /> 0x4BC9BDE0 scePsmfSpecifyStream<br /> 0x4E624A34 scePsmfGetEPWithId<br /> 0x5B70FCC1 scePsmfQueryStreamOffset<br /> 0x5F457515 scePsmfGetEPidWithTimestamp<br /> 0x68D42328 scePsmfGetNumberOfSpecificStreams<br /> 0x7491C438 scePsmfGetNumberOfEPentries<br /> 0x76D3AEBA scePsmfGetPresentationStartTime<br /> 0x7C0E7AC3 scePsmfGetEPWithTimestamp<br /> 0x8D843AB6 scePsmfGetPsmfMarkIdWithTimestamp<br /> 0x9553CC91 scePsmfQueryStreamSize<br /> 0x971A3A90 scePsmfCheckEPmap<br /> 0xA5EBFE81 scePsmfGetStreamSize<br /> 0xA83F7113 scePsmfGetAudioInfo<br /> 0xB78EB9E9 scePsmfGetHeaderSize<br /> 0xBD8AE0D8 scePsmfGetPresentationEndTime<br /> 0xC22C8327 scePsmfSetPsmf<br /> 0xC7DB3A5B scePsmfGetCurrentStreamType<br /> 0xD1DCF0DB scePsmfGetPsmfMarkWithTimestamp<br /> 0xDE78E9FC scePsmfGetNumberOfPsmfMarks<br /> 0xE1283895 scePsmfGetPsmfVersion<br /> 0xEAED89CD scePsmfGetNumberOfStreams<br /> <br /> Library: scePspNpDrm_user<br /> 0x08D98894 sceNpDrmEdataSetupKey<br /> 0x219EF5CC sceNpDrmEdataGetDataSize<br /> 0x275987D1 sceNpDrmRenameCheck<br /> 0x9B745542 sceNpDrmClearLicenseeKey<br /> 0xA1336091 sceNpDrmSetLicenseeKey<br /> <br /> Library: scePuny<br /> 0x8C2DBD4E scePunyDecodeUCS4<br /> 0x8D51155B scePunyEncodeUCS2<br /> 0xAD29F139 scePunyEncodeUCS4<br /> 0xDD0ED02A scePunyDecodeUCS2<br /> <br /> Library: sceQpCode<br /> 0x2B235B5A sceQPrintableLineDecoder<br /> 0x69752447 sceQPrintableEncoder<br /> <br /> Library: sceReg<br /> 0x0CAE832B sceRegCloseCategory<br /> 0x0D69BF40 sceRegFlushCategory<br /> 0x17768E14 sceRegSetKeyValue<br /> 0x1D8A762E sceRegOpenCategory<br /> 0x28A8E98A sceRegGetKeyValue<br /> 0x2C0DB9DD sceRegGetKeysNum<br /> 0x2D211135 sceRegGetKeys<br /> 0x30BE0259 sceRegGetKeyValueByName<br /> 0x3615BC87 sceRegRemoveKey<br /> 0x39461B4D sceRegFlushRegistry<br /> 0x4CA16893 sceRegRemoveCategory<br /> 0x57641A81 sceRegCreateKey<br /> 0x835ECE6F sceRegGetCategoryListAtRoot<br /> 0x92E41280 sceRegOpenRegistry<br /> 0x9B25EDF1 sceRegExit<br /> 0xBE8C1263 sceRegGetCategoryNumAtRoot<br /> 0xC5768D02 sceRegGetKeyInfoByName<br /> 0xD4475AA8 sceRegGetKeyInfo<br /> 0xDEDA92BF sceRegRemoveRegistry<br /> 0xFA8A5739 sceRegCloseRegistry<br /> <br /> Library: sceRtc<br /> 0x011F03C1 sceRtcGetAccumulativeTime<br /> 0x0498FB3C sceRtcFormatRFC3339<br /> 0x05EF322C sceRtcGetDaysInMonth<br /> 0x1909C99B sceRtcSetTime64_t<br /> 0x203CEB0D sceRtcGetLastReincarnatedTime<br /> 0x26D25A5D sceRtcTickAddMicroseconds<br /> 0x26D7A24A sceRtcTickAddHours<br /> 0x27C4594C sceRtcGetTime_t<br /> 0x27F98543 sceRtcFormatRFC3339LocalTime<br /> 0x28E1E988 sceRtcParseRFC3339<br /> 0x34885E0D sceRtcConvertUtcToLocalTime<br /> 0x36075567 sceRtcGetDosTime<br /> 0x3A807CC8 sceRtcSetTime_t<br /> 0x3F7AD767 sceRtcGetCurrentTick<br /> 0x42307A17 sceRtcIsLeapYear<br /> 0x42842C77 sceRtcTickAddYears<br /> 0x44F45E05 sceRtcTickAddTicks<br /> 0x4B1B5E82 sceRtcCheckValid<br /> 0x4CFA57B0 sceRtcGetCurrentClock<br /> 0x57726BC1 sceRtcGetDayOfWeek<br /> 0x62685E98 sceRtcGetLastAdjustedTime<br /> 0x6A676D2D sceRtcUnregisterCallback<br /> 0x6FF40ACC sceRtcGetTick<br /> 0x779242A2 sceRtcConvertLocalTimeToUTC<br /> 0x7ACE4C04 sceRtcSetWin32FileTime<br /> 0x7D1FBED3 sceRtcSetAlarmTick<br /> 0x7DE6711B sceRtcFormatRFC2822LocalTime<br /> 0x7ED29E40 sceRtcSetTick<br /> 0x81FCDA34 sceRtcIsAlarmed<br /> 0x9ED0AE87 sceRtcCompareTick<br /> 0xC2DDBEB5 sceRtcGetAlarmTick<br /> 0xC41C2853 sceRtcGetTickResolution<br /> 0xC663B3B9 sceRtcFormatRFC2822<br /> 0xCF3A2CA8 sceRtcTickAddWeeks<br /> 0xCF561893 sceRtcGetWin32FileTime<br /> 0xDBF74F1B sceRtcTickAddMonths<br /> 0xDFBC5F16 sceRtcParseDateTime<br /> 0xE1C93E47 sceRtcGetTime64_t<br /> 0xE51B4B7A sceRtcTickAddDays<br /> 0xE6605BCA sceRtcTickAddMinutes<br /> 0xE7C27D1B sceRtcGetCurrentClockLocalTime<br /> 0xF006F264 sceRtcSetDosTime<br /> 0xF2A4AFE5 sceRtcTickAddSeconds<br /> 0xF5FCC995 sceRtcGetCurrentNetworkTick<br /> 0xFB3B18CD sceRtcRegisterCallback<br /> <br /> Library: sceSasCore<br /> 0x019B25EB sceSasSetADSR<br /> 0x07F58C24 sceSasGetAllEnvelopeHeights<br /> 0x267A6DD2 sceSasRevParam<br /> 0x2C8E6AB3 sceSasGetPauseFlag<br /> 0x33D4AB37 sceSasRevType<br /> 0x42778A9F sceSasInit<br /> 0x440CA7D8 sceSasSetVolume<br /> 0x4AA9EAD6 sceSasSetVoiceATRAC3<br /> 0x50A14DFC sceSasCoreWithMix<br /> 0x5F9529F6 sceSasSetSL<br /> 0x68A46B95 sceSasGetEndFlag<br /> 0x7497EA85 sceSasConcatenateATRAC3<br /> 0x74AE582A sceSasGetEnvelopeHeight<br /> 0x76F01ACA sceSasSetKeyOn<br /> 0x787D04D5 sceSasSetPause<br /> 0x99944089 sceSasSetVoice<br /> 0x9EC3676A sceSasSetADSRmode<br /> 0xA0CF2FA4 sceSasSetKeyOff<br /> 0xA232CBE6 sceSasSetTrianglarWave<br /> 0xA3589D81 sceSasCore<br /> 0xAD84D37F sceSasSetPitch<br /> 0xB7660A23 sceSasSetNoise<br /> 0xBD11B7C2 sceSasGetGrain<br /> 0xCBCD4F79 sceSasSetSimpleADSR<br /> 0xD1E0A01E sceSasSetGrain<br /> 0xD5A229C9 sceSasRevEVOL<br /> 0xD5EBBBCD sceSasSetSteepWave<br /> 0xE175EF66 sceSasGetOutputmode<br /> 0xE1CD9561 sceSasSetVoicePCM<br /> 0xE855BF76 sceSasSetOutputmode<br /> 0xF6107F00 sceSasUnsetATRAC3<br /> 0xF983B186 sceSasRevVON<br /> <br /> Library: sceSfmt11213<br /> 0x16B09B57 sceSfmt11213InitByArray<br /> 0x25238DDF sceSfmt11213GenRand64<br /> 0x7FCCAD30 sceSfmt11213FillArray32<br /> 0x8F52D18C sceSfmt11213GenRand32<br /> 0x9D45E91D sceSfmt11213InitGenRand<br /> 0xE9A29DEC sceSfmt11213FillArray64<br /> <br /> Library: sceSfmt1279<br /> 0x1F2CC3CC sceSfmt1279InitByArray<br /> 0x378C276E sceSfmt1279FillArray64<br /> 0x64117FA3 sceSfmt1279InitGenRand<br /> 0x7B9E67AB sceSfmt1279GenRand64<br /> 0xEDF8B8C3 sceSfmt1279FillArray32<br /> 0xFE9D3FEF sceSfmt1279GenRand32<br /> <br /> Library: sceSfmt132049<br /> 0x0270B0EF sceSfmt132049FillArray32<br /> 0x116EDAFB sceSfmt132049GenRand32<br /> 0xC90266E0 sceSfmt132049InitByArray<br /> 0xE0F9E926 sceSfmt132049InitGenRand<br /> 0xE4D856E3 sceSfmt132049GenRand64<br /> 0xE90C5D00 sceSfmt132049FillArray64<br /> <br /> Library: sceSfmt19937<br /> 0x161ACEB2 sceSfmt19937InitGenRand<br /> 0xB33FE749 sceSfmt19937GenRand32<br /> 0xD5AC9F99 sceSfmt19937GenRand64<br /> 0xDB025BFA sceSfmt19937FillArray32<br /> 0xDD5A5D6C sceSfmt19937InitByArray<br /> 0xEE2938C4 sceSfmt19937FillArray64<br /> <br /> Library: sceSfmt216091<br /> 0x353660FC sceSfmt216091InitByArray<br /> 0x3A0F900B sceSfmt216091FillArray32<br /> 0x5E2F99CE sceSfmt216091GenRand64<br /> 0xBFA431A4 sceSfmt216091FillArray64<br /> 0xC0E3B92F sceSfmt216091InitGenRand<br /> 0xC81A470C sceSfmt216091GenRand32<br /> <br /> Library: sceSfmt2281<br /> 0x8454D15E sceSfmt2281FillArray64<br /> 0x868C53AB sceSfmt2281InitGenRand<br /> 0x9D9120D6 sceSfmt2281FillArray32<br /> 0xBBCDB82B sceSfmt2281GenRand64<br /> 0xDEE53F2E sceSfmt2281GenRand32<br /> 0xF38FF54A sceSfmt2281InitByArray<br /> <br /> Library: sceSfmt4253<br /> 0x2AF9B5D3 sceSfmt4253GenRand64<br /> 0x61B05CA7 sceSfmt4253FillArray32<br /> 0x79D2E875 sceSfmt4253FillArray64<br /> 0x7F56FA88 sceSfmt4253InitGenRand<br /> 0xFA39B7A4 sceSfmt4253InitByArray<br /> 0xFBFCDAFD sceSfmt4253GenRand32<br /> <br /> Library: sceSfmt44497<br /> 0x31B1F41F sceSfmt44497GenRand32<br /> 0x4525C4FD sceSfmt44497GenRand64<br /> 0xA4168CB6 sceSfmt44497InitGenRand<br /> 0xB56C5830 sceSfmt44497InitByArray<br /> 0xCA9560E2 sceSfmt44497FillArray64<br /> 0xDCD09960 sceSfmt44497FillArray32<br /> <br /> Library: sceSfmt607<br /> 0x1CCCC776 sceSfmt607GenRand64<br /> 0x4ED95A1E sceSfmt607FillArray64<br /> 0x9480A1E6 sceSfmt607InitGenRand<br /> 0xB014F0A8 sceSfmt607InitByArray<br /> 0xCE73E1B9 sceSfmt607GenRand32<br /> 0xFA3CB3A5 sceSfmt607FillArray32<br /> <br /> Library: sceSfmt86243<br /> 0x2A0AFFB3 sceSfmt86243FillArray64<br /> 0x79A146E0 sceSfmt86243InitByArray<br /> 0x8CC70361 sceSfmt86243FillArray32<br /> 0xD5B8D7A2 sceSfmt86243GenRand32<br /> 0xDD4196A3 sceSfmt86243InitGenRand<br /> 0xF77D68EF sceSfmt86243GenRand64<br /> <br /> Library: sceSha0<br /> 0x86E64331 sceSha0BlockResult<br /> 0x91524E96 sceSha0BlockUpdate<br /> 0x931612A8 sceSha0Digest<br /> 0xEE071A21 sceSha0BlockInit<br /> <br /> Library: sceSha1<br /> 0x4A80340A sceSha1BlockInit<br /> 0x5AF85569 sceSha1BlockUpdate<br /> 0x78EDE680 sceSha1BlockResult<br /> 0xB94ACDAE sceSha1Digest<br /> <br /> Library: sceSha224<br /> 0x3A96138F sceSha224BlockInit<br /> 0x5BE354EA sceSha224Digest<br /> 0xD6A3ADCB sceSha224BlockResult<br /> 0xEF597FC7 sceSha224BlockUpdate<br /> <br /> Library: sceSha256<br /> 0x318A350C sceSha256Digest<br /> 0x5368F1BC sceSha256BlockInit<br /> 0x7310DDCF sceSha256BlockUpdate<br /> 0x82C67FB3 sceSha256BlockResult<br /> <br /> Library: sceSha384<br /> 0x139319AF sceSha384BlockInit<br /> 0x9CC3A3A2 sceSha384BlockUpdate<br /> 0xD7DF2B41 sceSha384Digest<br /> 0xD9E51292 sceSha384BlockResult<br /> <br /> Library: sceSha512<br /> 0x16ED8DC6 sceSha512BlockInit<br /> 0x5AFE898D sceSha512Digest<br /> 0x8208F538 sceSha512BlockUpdate<br /> 0xAAB6221E sceSha512BlockResult<br /> <br /> Library: sceSsl<br /> 0x058D21C0 sceSslGetNameEntryCount<br /> 0x0EB43B06 sceSslGetUsedMemoryCurrent<br /> 0x17A10DCC sceSslGetNotBefore<br /> 0x191CDEFF sceSslEnd<br /> 0x1B7C8191 sceSslGetIssuerName<br /> 0x3DD5E023 sceSslGetSubjectName<br /> 0x5BFB6B61 sceSslGetNotAfter<br /> 0x957ECBE2 sceSslInit<br /> 0xB99EDE6A sceSslGetUsedMemoryMax<br /> 0xCC0919B0 sceSslGetSerialNumber<br /> 0xD6D097B4 sceSslGetNameEntryInfo<br /> 0xF57765D3 sceSslGetKeyUsage<br /> <br /> Library: sceSuspendForUser<br /> 0x090CCB3F sceKernelPowerTick<br /> 0x3AEE7261 sceKernelPowerUnlock<br /> 0x3E0271D3 sceKernelVolatileMemLock<br /> 0xA14F40B2 sceKernelVolatileMemTryLock<br /> 0xA569E425 sceKernelVolatileMemUnlock<br /> 0xEADB1BD7 sceKernelPowerLock<br /> <br /> Library: sceUmdUser<br /> 0x14C6C45C sceUmdUnuseUMDInMsUsbWlan<br /> 0x20628E6F sceUmdGetErrorStat<br /> 0x340B7686 sceUmdGetDiscInfo<br /> 0x46EBB729 sceUmdCheckMedium<br /> 0x4A9E5E29 sceUmdWaitDriveStatCB<br /> 0x56202973 sceUmdWaitDriveStatWithTimer<br /> 0x6AF9B50A sceUmdCancelWaitDriveStat<br /> 0x6B4A146C sceUmdGetDriveStat<br /> 0x87533940 sceUmdReplaceProhibit<br /> 0x8EF08FCE sceUmdWaitDriveStat<br /> 0xAEE7404D sceUmdRegisterUMDCallBack<br /> 0xB103FA38 sceUmdUseUMDInMsUsbWlan<br /> 0xBD2BDE07 sceUmdUnRegisterUMDCallBack<br /> 0xC6183D47 sceUmdActivate<br /> 0xCBE9F02A sceUmdReplacePermit<br /> 0xE83742BA sceUmdDeactivate<br /> <br /> Library: sceUsb<br /> 0x112CC951 sceUsbGetDrvState<br /> 0x1C360735 sceUsbWaitCancel<br /> 0x4E537366 sceUsbGetDrvList<br /> 0x586DB82C sceUsbActivate<br /> 0x5BE0E002 sceUsbWaitState<br /> 0x616F2B61 sceUsbWaitStateCB<br /> 0xAE5DE6AF sceUsbStart<br /> 0xC21645A4 sceUsbGetState<br /> 0xC2464FA0 sceUsbStop<br /> 0xC572A9C8 sceUsbDeactivate<br /> <br /> Library: sceUsbAcc<br /> 0x0CD7D4AA sceUsbAccGetInfo<br /> 0x79A1C743 sceUsbAccGetAuthStat<br /> <br /> Library: sceUsbCam<br /> 0x03ED7A82 sceUsbCamSetupMic<br /> 0x08AEE98A sceUsbCamSetMicGain<br /> 0x09C26C7E sceUsbCamSetContrast<br /> 0x11A1F128 sceUsbCamGetAutoImageReverseState<br /> 0x17F7B2FB sceUsbCamSetupVideo<br /> 0x1A46CFE7 sceUsbCamStillPollInputEnd<br /> 0x1D686870 sceUsbCamSetEvLevel<br /> 0x2BCD50C0 sceUsbCamGetEvLevel<br /> 0x36636925 sceUsbCamReadMicBlocking<br /> 0x383E9FA8 sceUsbCamGetSaturation<br /> 0x3DC0088E sceUsbCamReadMic<br /> 0x3F0CF289 sceUsbCamSetupStill<br /> 0x41E73E95 sceUsbCamPollReadVideoFrameEnd<br /> 0x41EE8797 sceUsbCamUnregisterLensRotationCallback<br /> 0x4C34F553 sceUsbCamGetLensDirection<br /> 0x4F3D84D5 sceUsbCamSetBrightness<br /> 0x5145868A sceUsbCamStopMic<br /> 0x574A8C3F sceUsbCamStartVideo<br /> 0x5778B452 sceUsbCamGetMicDataLength<br /> 0x61BE5CAC sceUsbCamStillInputBlocking<br /> 0x622F83CC sceUsbCamSetSharpness<br /> 0x6784E6A8 sceUsbCamSetAntiFlicker<br /> 0x6CF32CB9 sceUsbCamStopVideo<br /> 0x6E205974 sceUsbCamSetSaturation<br /> 0x70F522C5 sceUsbCamGetBrightness<br /> 0x7563AFA1 sceUsbCamStillWaitInputEnd<br /> 0x7DAC0C71 sceUsbCamReadVideoFrameBlocking<br /> 0x82A64030 sceUsbCamStartMic<br /> 0x951BEDF5 sceUsbCamSetReverseMode<br /> 0x994471E0 sceUsbCamGetImageEffectMode<br /> 0x99D86281 sceUsbCamReadVideoFrame<br /> 0x9E8AAF8D sceUsbCamGetZoom<br /> 0xA063A957 sceUsbCamGetContrast<br /> 0xA720937C sceUsbCamStillCancelInput<br /> 0xAA7D94BA sceUsbCamGetAntiFlicker<br /> 0xB048A67D sceUsbCamWaitReadMicEnd<br /> 0xC484901F sceUsbCamSetZoom<br /> 0xD293A100 sceUsbCamRegisterLensRotationCallback<br /> 0xD4876173 sceUsbCamSetImageEffectMode<br /> 0xD5279339 sceUsbCamGetReverseMode<br /> 0xDF9D0C92 sceUsbCamGetReadVideoFrameSize<br /> 0xE5959C36 sceUsbCamStillGetInputLength<br /> 0xF8847F60 sceUsbCamPollReadMicEnd<br /> 0xF90B2293 sceUsbCamWaitReadVideoFrameEnd<br /> 0xF93C4669 sceUsbCamAutoImageReverseSW<br /> 0xFB0A6C5D sceUsbCamStillInput<br /> 0xFDB68C23 sceUsbCamGetSharpness<br /> <br /> Library: sceUsbGps<br /> 0x5881C826 sceUsbGpsGetStaticNavMode<br /> 0x6EED4811 sceUsbGpsClose<br /> 0x7C16AC3A sceUsbGpsGetState<br /> 0x934EC2B2 sceUsbGpsGetData<br /> 0x9F267D34 sceUsbGpsOpen<br /> 0xA8ED0BC2 sceUsbGpsSetStaticNavMode<br /> <br /> Library: sceUsbMic<br /> 0x06128E42 sceUsbMicPollInputEnd<br /> 0x2E6DCDCD sceUsbMicInputBlocking<br /> 0x45310F07 sceUsbMicInputInitEx<br /> 0x5F7F368D sceUsbMicInput<br /> 0x63400E20 sceUsbMicGetInputLength<br /> 0xB8E536EB sceUsbMicInputInit<br /> 0xF899001C sceUsbMicWaitInputEnd<br /> <br /> Library: sceUsbSer<br /> 0x0C40864C sceUsbSerGetDTR<br /> 0x105B2FB5 sceUsbSerRegisterDTRCallback<br /> 0x193E613B sceUsbSerClose<br /> 0x2432D28D sceUsbSerRead<br /> 0x3EFDC183 sceUsbSerGetWriteDataSize<br /> 0x41303714 sceUsbSerCancel<br /> 0x473B6BF3 sceUsbSerWriteCB<br /> 0x50AD923C sceUsbSerSetRecvCBThreshold<br /> 0x7501C273 sceUsbSerRegisterSentCallback<br /> 0x82CF9F2A sceUsbSerUnregisterRecvCallback<br /> 0x886AF215 sceUsbSerGetReadDataSize<br /> 0x8B9F5C97 sceUsbSerClear<br /> 0x938AD8E2 sceUsbSerUnregisterSentCallback<br /> 0x999B21E1 sceUsbSerRegisterRecvCallback<br /> 0xA3F75968 sceUsbSerReadCB<br /> 0xBF8B3E85 sceUsbSerWrite<br /> 0xD6CD027C sceUsbSerUnregisterDTRCallback<br /> 0xE23DEB0A sceUsbSerGetWriteFreeSize<br /> 0xE2F0E3E3 sceUsbSerFlushCB<br /> 0xE60A8C56 sceUsbSerGetReadFreeSize<br /> 0xE945D8E9 sceUsbSerEnd<br /> 0xE9D739DF sceUsbSerSetSentCBThreshold<br /> 0xEDBFD745 sceUsbSerInit<br /> 0xEFF02189 sceUsbSerFlush<br /> 0xFD9A2340 sceUsbSerOpen<br /> <br /> Library: sceUtility<br /> 0x0251B134 sceUtilityScreenshotInitStart<br /> 0x05AFB9E4 sceUtilityHtmlViewerUpdate<br /> 0x06A48659 sceUtilityRssSubscriberShutdownStart<br /> 0x0940A1B9 sceUtilityPsnUpdate<br /> 0x094198B8 sceUtilityPsnGetStatus<br /> 0x0D5BC6D2 sceUtilityLoadUsbModule<br /> 0x0E0C27AF sceUtilityAutoConnectAbort<br /> 0x1281DA8E sceUtilityInstallInitStart<br /> 0x1579A159 sceUtilityLoadNetModule<br /> 0x16D02AF0 sceUtilityNpSigninInitStart<br /> 0x180F7B62 sceUtilityGamedataInstallAbort<br /> 0x24AC31EB sceUtilityGamedataInstallInitStart<br /> 0x2995D020 sceUtilitySavedataErrInitStart<br /> 0x2A2B3DE0 sceUtilityLoadModule<br /> 0x2AD8E239 sceUtilityMsgDialogInitStart<br /> 0x2B96173B sceUtilityRssSubscriberGetStatus<br /> 0x32E32DCB sceUtilityGamedataInstallShutdownStart<br /> 0x34B78343 sceUtilityGetSystemParamString<br /> 0x3A15CD0A sceUtilityAutoConnectInitStart<br /> 0x3AAD51DC sceUtilityStoreCheckoutGetStatus<br /> 0x3DFAEBA9 sceUtilityOskShutdownStart<br /> 0x41E30674 sceUtilitySetSystemParamString<br /> 0x42071A83 sceUtilityPS3ScanInitStart<br /> 0x434D4B3A sceUtilityGetNetParam<br /> 0x45C18506 sceUtilitySetSystemParamInt<br /> 0x4928BD96 sceUtilityMsgDialogAbort<br /> 0x4AECD179 sceUtilityGamedataInstallUpdate<br /> 0x4B0A8FE5 sceUtilityRssSubscriberInitStart<br /> 0x4B85C861 sceUtilityOskUpdate<br /> 0x4DB1E739 sceUtilityNetconfInitStart<br /> 0x4FED24D8 sceUtilityGetNetParamLatestID<br /> 0x50C4CD57 sceUtilitySavedataInitStart<br /> 0x54A5C62F sceUtilityStoreCheckoutShutdownStart<br /> 0x5EEE6548 sceUtilityCheckNetParam<br /> 0x5EF1C24A sceUtilityInstallShutdownStart<br /> 0x6332AA39 sceUtilityNetconfGetStatus<br /> 0x64D50C56 sceUtilityUnloadNetModule<br /> 0x67AF3428 sceUtilityMsgDialogShutdownStart<br /> 0x6F56F9CF sceUtilityRssReaderUpdate<br /> 0x7853182D sceUtilityGameSharingUpdate<br /> 0x81C44706 sceUtilityRssReaderInitStart<br /> 0x8326AB05 sceUtilityRssReaderGetStatus<br /> 0x86A03A27 sceUtilityScreenshotContStart<br /> 0x86ABDB1B sceUtilityNpSigninGetStatus<br /> 0x8874DBE0 sceUtilitySavedataGetStatus<br /> 0x88BC7406 sceUtilitySavedataErrGetStatus<br /> 0x89317C8F sceUtilityPS3ScanGetStatus<br /> 0x91E70E35 sceUtilityNetconfUpdate<br /> 0x946963F3 sceUtilityGameSharingGetStatus<br /> 0x95FC253B sceUtilityMsgDialogUpdate<br /> 0x9790B33C sceUtilitySavedataShutdownStart<br /> 0x9A1C91D7 sceUtilityMsgDialogGetStatus<br /> 0x9F313D14 sceUtilityAutoConnectShutdownStart<br /> 0xA03D29BA sceUtilityInstallUpdate<br /> 0xA084E056 sceUtilityRssSubscriberUpdate<br /> 0xA5DA2406 sceUtilityGetSystemParamInt<br /> 0xA7BB7C67 sceUtilityPsnInitStart<br /> 0xAB083EA9 sceUtilityScreenshotUpdate<br /> 0xB0FB7FF5 sceUtilityRssReaderContStart<br /> 0xB57E95D9 sceUtilityGamedataInstallGetStatus<br /> 0xB62A4061 sceUtilitySavedataErrShutdownStart<br /> 0xB8592D5F sceUtilityStoreCheckoutUpdate<br /> 0xBDA7D894 sceUtilityHtmlViewerGetStatus<br /> 0xC130D441 sceUtilityPsnShutdownStart<br /> 0xC4700FA3 sceUtilityInstallGetStatus<br /> 0xC492F751 sceUtilityGameSharingInitStart<br /> 0xC629AF26 sceUtilityLoadAvModule<br /> 0xCDC3AA41 sceUtilityHtmlViewerInitStart<br /> 0xD17A0573 sceUtilityPS3ScanShutdownStart<br /> 0xD23665F4 sceUtilityAutoConnectUpdate<br /> 0xD4B95FFB sceUtilitySavedataUpdate<br /> 0xD4C2BD73 sceUtilityAutoConnectGetStatus<br /> 0xD81957B7 sceUtilityScreenshotGetStatus<br /> 0xD852CDCE sceUtilityPS3ScanUpdate<br /> 0xDA97F1AA sceUtilityStoreCheckoutInitStart<br /> 0xE19C97D6 sceUtilityNpSigninShutdownStart<br /> 0xE49BFE92 sceUtilityUnloadModule<br /> 0xE7B778D8 sceUtilityRssReaderShutdownStart<br /> 0xED0FAD38 sceUtilitySavedataErrUpdate<br /> 0xEFC6F80F sceUtilityGameSharingShutdownStart<br /> 0xF3F76017 sceUtilityOskGetStatus<br /> 0xF3FBC572 sceUtilityNpSigninUpdate<br /> 0xF5CE1134 sceUtilityHtmlViewerShutdownStart<br /> 0xF6269B82 sceUtilityOskInitStart<br /> 0xF64910F0 sceUtilityUnloadUsbModule<br /> 0xF7D8D092 sceUtilityUnloadAvModule<br /> 0xF88155F6 sceUtilityNetconfShutdownStart<br /> 0xF9E0008C sceUtilityScreenshotShutdownStart<br /> <br /> Library: sceVaudio<br /> 0x03B6807D sceVaudioChReserve<br /> 0x27ACC20B sceVaudioChReserveBuffering<br /> 0x346FBE94 sceVaudioSetEffectType<br /> 0x67585DFD sceVaudioChRelease<br /> 0x8986295E sceVaudioOutputBlocking<br /> 0xCBD4AC51 sceVaudioSetAlcMode<br /> <br /> Library: sceWlanDrv<br /> 0x0C622081 sceWlanGetEtherAddr<br /> 0x93440B11 sceWlanDevIsPowerOn<br /> 0xD7763699 sceWlanGetSwitchState<br /> <br /> Library: pemuExt<br /> 0x2C1F5DA6 pemuExtUtilityGetFreeSize<br /> 0x5D915C5B pemuExtUtilityThemeInstallAbort<br /> 0x806D1DCB pemuExtUtilityMusicExportInitStart<br /> 0x9F85A1E3 pemuExtUtilityMusicExportAbort<br /> 0xA9102BD9 pemuExtUtilityThemeInstallInitStart<br /> 0xAB94E451 pemuExtUtilityThemeInstallGetStatus<br /> 0xAF7228AB pemuExtUtilityMusicExportShutdownStart<br /> 0xB95A85D1 pemuExtUtilityThemeInstallUpdate<br /> 0xBFBB2A30 pemuExtIsStereoscopic3d<br /> 0xCAC8A9DA pemuExtUtilityMusicExportUpdate<br /> 0xDBF1A3A9 pemuExtUtilityThemeInstallShutdownStart<br /> 0xE4786D09 pemuExtUtilityMusicExportGetStatus<br /> <br /> = internally handled by the emulator =<br /> sceVideocodec<br /> sceAudiocodec<br /> sceMpegbase<br /> sceReg<br /> sceNetIfhandle_lib<br /> sceWlanDrv_lib<br /> sceNetAdhocAuth_lib<br /> <br /> &lt;/pre&gt;<br /> <br /> = Not implemented APIs=<br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! API !! Issue !! Note<br /> |-<br /> | sceHeapGetMallinfo || 0x80020002 ||<br /> |-<br /> | sceHeapFreeHeapMemory || 0x80020002 ||<br /> |-<br /> | sceHeapAllocHeapMemoryWithOption || return 0 ||<br /> |-<br /> | sceHeapGetTotalFreeSize || 0x80020002 ||<br /> |-<br /> | sceHeapIsAllocatedHeapMemory || 0x80020002 ||<br /> |-<br /> | sceHeapDeleteHeap || 0x80020002 ||<br /> |-<br /> | sceHeapCreateHeap || return 0 ||<br /> |-<br /> | sceHeapAllocHeapMemory || return 0 ||<br /> |-<br /> | sceKernelLoadModuleDNAS || 0x80020002 ||<br /> |-<br /> | sceSslGetKeyUsage || 0x80020002 ||<br /> |-<br /> | sceNpDrmEdataSetupKey || 0x80020002 ||<br /> |-<br /> | sceNpDrmEdataGetDataSize || 0x80020002 ||<br /> |-<br /> | sceNpDrmRenameCheck || 0x80020002 ||<br /> |-<br /> | sceNpDrmClearLicenseeKey || 0x80020002 ||<br /> |-<br /> | sceNpDrmSetLicenseeKey || return 0 ||<br /> |-<br /> | sceHprmIsRemoteExist || 0x80020002 ||<br /> |-<br /> | sceHprmIsMicrophoneExist || 0x80020002 ||<br /> |-<br /> | sceHprmPeekLatch || 0x80020002 ||<br /> |-<br /> | sceHprmReadLatch || 0x80020002 ||<br /> |-<br /> | sceHprmIsHeadphoneExist || 0x80020002 ||<br /> |-<br /> | sceHprmRegisterCallback || 0x80020002 ||<br /> |-<br /> | sceHprmUnregisterCallback || 0x80020002 ||<br /> |-<br /> | sceGprofSetProfil_Weak || 0x80020002 ||<br /> |-<br /> | sceGprofFreeProfil_Weak || 0x80020002 ||<br /> |-<br /> | sceKernelRegisterUserSpaceIntrStack || 0x80020002 ||<br /> |-<br /> | sceKernelLoadExec || 0x80020002 ||<br /> |-<br /> | sceMt19937Init || 0x80020002 ||<br /> |-<br /> | sceMt19937UInt || return 0 ||<br /> |-<br /> | sceKernelStopUnloadSelfModule || 0x80020002 ||<br /> |-<br /> | sceKernelLoadModuleBufferUsbWlan || 0x80020002 ||<br /> |-<br /> | sceUsbGetDrvState || 0x80020002 ||<br /> |-<br /> | sceUsbWaitCancel || 0x80020002 ||<br /> |-<br /> | sceUsbGetDrvList || 0x80020002 ||<br /> |-<br /> | sceUsbActivate || 0x80020002 ||<br /> |-<br /> | sceUsbWaitState || 0x80020002 ||<br /> |-<br /> | sceUsbWaitStateCB || 0x80020002 ||<br /> |-<br /> | sceUsbStart || 0x80020002 ||<br /> |-<br /> | sceUsbGetState || return 0 ||<br /> |-<br /> | sceUsbStop || 0x80020002 ||<br /> |-<br /> | sceUsbDeactivate || 0x80020002 ||<br /> |-<br /> | sceUsbAccGetAuthStat || 0x80020002 ||<br /> |-<br /> | sceKernelUtilsMt19937UInt || 0x80020002 ||<br /> |-<br /> | sceKernelDcacheReadTag || 0x80020002 ||<br /> |-<br /> | sceKernelUtilsSha1BlockUpdate|| 0x80020002||<br /> |-<br /> | sceKernelGetGPI|| return 0 ||<br /> |-<br /> | sceKernelIcacheProbe || 0x80020002||<br /> |-<br /> | sceKernelUtilsSha1BlockResult ||0x80020002 ||<br /> |-<br /> | sceKernelUtilsMd5BlockUpdate||0x80020002 ||<br /> |-<br /> | sceKernelDcacheProbeRange || 0x80020002||<br /> |-<br /> | sceKernelDcacheProbe|| 0x80020002||<br /> |-<br /> | sceKernelUtilsSha1Digest|| ||<br /> |-<br /> | sceKernelUtilsMd5BlockInit|| ||<br /> |-<br /> | sceKernelUtilsMd5BlockResult|| ||<br /> |-<br /> | sceKernelDcacheInvalidateRange|| return 0 ||<br /> |-<br /> | sceKernelUtilsMd5Digest|| ||<br /> |-<br /> | sceKernelUtilsMt19937Init|| ||<br /> |-<br /> | sceKernelUtilsSha1BlockInit|| ||<br /> |-<br /> | sceKernelIcacheReadTag|| return 0 ||<br /> |-<br /> | || ||<br /> |-<br /> |}<br /> <br /> === OPEN PSP SDK ===<br /> <br /> pspsdk-1.0+beta2 Documentation<br /> <br /> http://psp.jim.sh/pspsdk-doc/index.html<br /> <br /> === PEmuCoreLib SPU Usage ===<br /> <br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! colspan=&quot;4&quot; | PEmuCoreLib<br /> |-<br /> ! Core !! Job !! Source !! Notes<br /> |-<br /> | SPU0 || DrawSync Extended Mode Something|| || <br /> |-<br /> | SPU1 || Extended Mode Something|| || <br /> |-<br /> | SPU2 || DMac || || if memcpy size &gt;0x110<br /> |-<br /> | SPU3 || ME || || Media Engine?<br /> |-<br /> |}<br /> <br /> === PSPEMU speculation/talk ===<br /> Compatibility list custom PSP to PS3.<br /> <br /> [[PSP_Emulator_Compatibility_List|PSP Emulator Compatibility List]]<br /> <br /> *http://psx-scene.com/forums/f328/psponps3-compatibility-chart-113244/<br /> <br /> *http://www.pshomebrew.net/wiki/PSP_On_PS3_Compatibility_List<br /> <br /> *[[https://docs.google.com/spreadsheet/ccc?key=0AowGG2G1KRsgdHg5aDJUTnZ2bGR0NEZhMS1xekVXWGc#gid=0| Google Spreadsheet]] and forum reports at http://www.ps3hax.net/showthread.php?t=54435<br /> <br /> <br /> <br /> &lt;!--//<br /> may be add other compatibility list/links to reference, sorry this should be on talk page.<br /> //--&gt;<br /> <br /> ==== PSP Remasters Button Remapping ====<br /> *ADDITIONAL_KEY_ASSIGN type 2 part 2?<br /> 3 state? enable/disable/always<br /> (16 bit (target), 16 bit (source))<br /> <br /> For each byte on 0x47C6C544, binary:<br /> 4 7 C 6 C 5 4 4 = 0x47C6C544<br /> 01 00||01 11 11 00||01 10 11 00||01 01 01 00||01 00<br /> || || || || || <br /> Left | Left Down Right Up<br /> on |D-Pad D-Pad D-Pad D-Pad<br /> right<br /> AStick.<br /> <br /> For each byte on 0x48C6C944, binary:<br /> 4 8 C 6 C 9 4 4 = 0x48C6C944<br /> 01 00||10 00 11 00||01 10 11 00||10 01 01 00||01 00<br /> || || || || || <br /> Left | L1 Down R1 Up<br /> on D-Pad D-Pad<br /> right<br /> AStick.<br /> <br /> {| class=&quot;wikitable&quot;<br /> |+PS3 Buttons Identifyers<br /> ! PS3 button &lt;BR /&gt;&lt;sup&gt;(target)&lt;/sup&gt; !! Identifyer !! Notes<br /> |-<br /> | {{padru}} || ? &lt;!-- 0001 --&gt; || &lt;!-- 1 --&gt;<br /> |-<br /> | {{padrr}} || ? &lt;!-- 0010 --&gt; || &lt;!-- 2 --&gt;<br /> |-<br /> | {{padrd}} || ? &lt;!-- 0011 --&gt; || &lt;!-- 3 --&gt;<br /> |-<br /> | {{padrl}} || 0100 || 4<br /> |-<br /> | {{padr3}} || ? || <br /> |-<br /> | {{padlu}} || ? || <br /> |-<br /> | {{padlr}} || ? || <br /> |-<br /> | {{padld}} || ? || <br /> |-<br /> | {{padll}} || ? || <br /> |-<br /> | {{padl3}} || ? || <br /> |-{{cellcolors|lightgrey}}<br /> | || || <br /> |-<br /> | {{padselect}} || ? || <br /> |-<br /> | {{padps}} || ? || <br /> |-<br /> | {{padstart}} || ? || <br /> |-<br /> | {{dpadu}} || ? || <br /> |-<br /> | {{dpadr}} || ? || <br /> |-<br /> | {{dpadd}} || ? || <br /> |-<br /> | {{dpadl}} || ? || <br /> |-<br /> | {{padl1}} || ? || <br /> |-<br /> | {{padr1}} || ? || <br /> |-<br /> | {{padl2}} || ? || <br /> |-<br /> | {{padr2}} || ? || <br /> |-<br /> | {{padtriangle}} || ? || <br /> |-<br /> | {{padcircle}} || ? || <br /> |-<br /> | {{padcross}} || ? || <br /> |-<br /> | {{padsquare}} || ? || <br /> |-<br /> |}<br /> <br /> *Speculation notes<br /> **Stick directions could be maped to axis: {{padlx}} {{padly}} {{padrx}} {{padry}}<br /> <br /> {| class=&quot;wikitable&quot;<br /> |+PSP Buttons Identifyers<br /> ! PSP button &lt;BR /&gt;&lt;sup&gt;(source)&lt;/sup&gt; !! Identifyer !! Hex Value<br /> |-<br /> | not used || 0001 || 1<br /> |-<br /> | not used || 0010 || 2<br /> |-<br /> | {{padstart}} || 0011 || 3<br /> |-<br /> | {{dpadu}} || 0100 || 4<br /> |-<br /> | {{dpadr}} || 0101 || 5<br /> |-<br /> | {{dpadd}} || 0110 || 6<br /> |-<br /> | {{dpadl}} || 0111 || 7<br /> |-<br /> | {{psptl}} || 1000 || 8<br /> |-<br /> | {{psptr}} || 1001 || 9<br /> |-<br /> | not used || 1010 || A<br /> |-<br /> | not used || 1011 || B<br /> |-<br /> | {{padtriangle}} || 1100 || C<br /> |-<br /> | {{padcircle}} || 1101 || D<br /> |-<br /> | {{padcross}} || 1110 || E<br /> |-<br /> | {{padsquare}} || 1111 || F<br /> |-<br /> |}<br /> <br /> *There are more button icons if needed in [[TemplateTest#Buttons]] page &lt;!-- delete this line when the tables are completed --&gt;<br /> *[https://techshali.com/best-ppsspp-games/ List of compatible PPSSPP Games]<br /> <br /> {{Reverse engineering}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=Hypervisor_Reverse_Engineering&diff=54160 Hypervisor Reverse Engineering 2019-08-10T22:33:07Z <p>Mysis: /* Commands */</p> <hr /> <div>&lt;span style=&quot;background:red; color:#ffffff;&quot;&gt;Warning, this page way too long and voted to be split into seperate sections&lt;/span&gt;<br /> <br /> ----<br /> = Difference between Debug Firmware HV and Retail HV =<br /> <br /> There is no difference between debug firmware lv1.self and retail firmware lv1.self<br /> The differences reside on the repository nodes loaded because of policies/flags.<br /> <br /> [http://www.mirrorcreator.com/files/1DKLUPMC/160_192_341_355_--CEX_DECR_-_LV1.rar_links DECR/Tool + CEX/Retail LV1.self 1.60 1.92 3.41 3.55]<br /> <br /> = HSPRG =<br /> <br /> *The hypervisor stores a pointer to some structures per LPAR in HSPRG0 register. <br /> *'''There are actually 2 HSPRG0 values: one for each thread of Cell CPU'''&amp;nbsp;!!! <br /> *There is a HSPRG0 array at 0x8(-0x69A0(HSPRG0)) + 0x20.<br /> <br /> = LPAR =<br /> <br /> LPAR = Logical Partition <br /> <br /> lpar1 starts at 0x&amp;lt;unknown&amp;gt;, and it's believed to be the memory space where lv1 stores its variables, flags and other data. <br /> <br /> lpar2 starts at 0x80000000000 and it's believed to be the memory space where lv2 stores its variables, flags and other data. <br /> <br /> &lt;br&gt;<br /> <br /> The pointer to active LPAR is stored at -0x67E8(HSPRG0). <br /> <br /> == vtable ==<br /> <br /> 0x0033CA40 (3.15) <br /> <br /> == Member variables ==<br /> <br /> offset 0x38 - some pointer <br /> <br /> offset 0x50 - LPAR id (8 bytes) <br /> <br /> offset 0x70 - pointer to VAS id bitmap <br /> <br /> offset 0x78 - power of 2 of word size from VAS id bitmap (4 bytes), equal to 6 <br /> <br /> offset 0x7C - number of 64-bit words in VAS id bitmap(4 bytes)<br /> <br /> = Interrupt handling =<br /> <br /> The pointer to the interrupt handler that is called e.g. when an external interrupt occurs is at -0x69F0(HSPRG0). <br /> <br /> 0x00001930 (3.15 and 2.60) <br /> <br /> == Interrupt vector tables ==<br /> <br /> There are 2 interrupt vector tables. One for each thread. The pointer to these tables is at -0x6950(HSPRG0). <br /> <br /> offset 0x8 - IIC memory base address (8 bytes) <br /> <br /> offset 0x10 - thread register offset (8 bytes) <br /> <br /> offset 0x18 - start of interrupt vector table (19 entries, each entry 32 bytes) <br /> <br /> === Interrupt vector table entry ===<br /> <br /> offset 0x0 - pointer to interrupt handler <br /> <br /> offset 0x8 - TOC <br /> <br /> offset 0x10 - 0 <br /> <br /> offset 0x18 - parameter to interrupt handler <br /> <br /> === Interrupt handlers ===<br /> <br /> ==== Spurious interrupt handler ====<br /> <br /> 0x002BC174 (3.15) <br /> <br /> ==== RSX ====<br /> <br /> 0x00219A44 (3.15) <br /> <br /> 0x002176FC (2.60) <br /> <br /> ==== SB bus ====<br /> <br /> 0x002B9CC4 (3.15) <br /> <br /> ==== I/O address translation ====<br /> <br /> 0x002CD7D8 (3.15) <br /> <br /> 0x002C9214 (2.60) <br /> <br /> ==== Performance monitor ====<br /> <br /> 0x002F0584 (3.15) <br /> <br /> 0x002EB1B0 (2.60) <br /> <br /> ==== Token manager ====<br /> <br /> 0x002BBA9C (3.15) <br /> <br /> 0x002B754C (2.60) <br /> <br /> = HV call =<br /> <br /> *The address of HV table is stored at -0x6FC8(HSPRG0). <br /> *The address of HV table size is stored at -0x6FD0(HSPRG0).<br /> <br /> == HV call ==<br /> ''editorial note: The table listed here was moved/merged to a seperate page : [[HV Syscalls]]''<br /> <br /> === Initializing HV Call Table ===<br /> <br /> ==== set_lv1_hvcall_table ====<br /> <br /> 0x002C02B4 (3.41)<br /> <br /> 0x002C1F04 (3.15)<br /> <br /> 0x002C2B4C (3.55)<br /> <br /> This function sets pointer to HV Call Table and the size of HV Call Table in HSPRG context of a LPAR.<br /> <br /> ==== set_lv1_hvcall_table_entry_invalid ====<br /> <br /> 0x002C1F28 (3.15)<br /> <br /> 0x002C02D8 (3.41)<br /> <br /> 0x002C2B70 (3.55)<br /> <br /> This function initializes an entry in HV Call Table to the Invalid HV Call function.<br /> <br /> == Memory HV call ==<br /> <br /> *All memory HV calls branch to '''lv1_mm_call''' <br /> *'''lv1_mm_call''' has it's own function table <br /> *Memory HV call number = HV call number<br /> <br /> === Memory HV call table ===<br /> <br /> *Each entry is a pointer to a function TOC entry. <br /> *table size = 256<br /> <br /> 0x00364208 (3.15)<br /> <br /> 0x00362308 (3.41)<br /> <br /> 0x00366088 (3.55)<br /> <br /> === Memory HV calls ===<br /> <br /> lv1_map_htab - 0x002D595C (3.15) <br /> <br /> lv1_unmap_htab - 0x002D56B8 (3.15) <br /> <br /> lv1_allocate_memory - 0x002D72F0 (3.15) <br /> <br /> lv1_release_memory - 0x002D66A4 (3.15) <br /> <br /> lv1_query_logical_partition_address_region_info - 0x002C9B24 (3.15) <br /> <br /> lv1_create_repository_node - 0x002DD014 (3.15) <br /> <br /> lv1_get_repository_node_value - 0x002DD260 (3.15) <br /> <br /> lv1_undocumented_function_231 - 0x0030B560 (3.15)<br /> <br /> = System call =<br /> <br /> HV Processes do not use HV calls. They use syscalls only. <br /> <br /> == System call handler ==<br /> <br /> 0x002974D8 (3.15) <br /> <br /> 0x00292F6C (2.60) <br /> <br /> There are 2 system call tables in HV. The first one stores system calls 0 - 36. The second one stores system calls 0x10000 - 0x100FF. <br /> <br /> == UX System call table 0 - 36 ==<br /> <br /> 0x0035FAE8 (3.15) <br /> <br /> 0x00358ED0 (2.60) <br /> <br /> === System call numbers ===<br /> 0x0 - void eosh(void) //end_of_signal_handling(void) <br /> <br /> 0x1 - pid_t getpid(void) <br /> <br /> 0x2 - pid_t getppid(void) <br /> <br /> 0x3 - pid_t fork(void) <br /> <br /> 0x4 - void exit(int status) <br /> <br /> 0x5 - void execv(const char *path, char *const argv[]) <br /> <br /> 0x6 - void wait(int *status) <br /> <br /> 0x7 - int open(const char *path, int flags) <br /> <br /> 0x8 - void close(int fd) <br /> <br /> 0x9 - ssize_t read(int fd, void *buf, unsigned int nbyte) <br /> <br /> 0xA - ssize_t write(int fd, const void *buf, unsigned int nbyte) <br /> <br /> 0xB - void lseek(int fd, long offset, int whence) <br /> <br /> 0xC - unlink(const char *path) <br /> <br /> 0xD - void signal(int sig, void *func(int sig))<br /> <br /> 0xE - int kill(int pid, int signal_type) <br /> <br /> 0xF - int brk(void *) <br /> <br /> 0x10 - int socket(int af, int type, int protocol) (supports only address family 0x1F, type 0x0 and protocol 0x0) <br /> <br /> 0x11 - int bind(int sockfd , const sockaddr *addr, unsigned int addrlen) <br /> <br /> 0x12 - int listen(int sockfd, int backlog) <br /> <br /> 0x13 - int accept(int sockfd, sockaddr *addr, unsigned int *addrlen) <br /> <br /> 0x14 - int connect(int sockfd, const sockaddr *serv_addr, unsigned int addrlen) <br /> <br /> 0x15 - void putchar(int c) <br /> <br /> 0x16 - int pause(void) <br /> <br /> 0x17 - int sleep(unsigned int seconds) <br /> <br /> 0x18 - int mmap(void *addr, unsigned long size, int prot, int flags, int fd, long offset, void *mapped_addr) <br /> <br /> 0x19 - int munmap (void *addr, unsigned long size)<br /> <br /> 0x1A - int chdir(const char *path)<br /> <br /> 0x1B - void getchar(char *c)<br /> <br /> 0x1C - map_pages(...) (used for alloc) <br /> <br /> 0x1D - unmap_pages(...) (used for free) <br /> <br /> 0x1E - select(...)<br /> <br /> 0x1F - getcwd(...)<br /> <br /> 0x20 - Not used<br /> <br /> 0x21 - alarm(...)<br /> <br /> 0x22 - ioctl(...)<br /> <br /> 0x23 - pme_memalign(...)<br /> <br /> 0x24 - ?<br /> <br /> == PMI System call table 0x10000 - 0x100FF ==<br /> <br /> 0x0035DE78 (3.15) <br /> <br /> 0x00357260 (2.60) <br /> <br /> === System call numbers ===<br /> <br /> 0x10000 - allocate_memory(LPAR id, size, log2 of page size,&amp;nbsp;?,&amp;nbsp;?) <br /> <br /> 0x10001 - query_logical_partition_address_region_info <br /> <br /> 0x10002 - translate_logical_partition_to_physical_address(LPAR id, LPAR address, physical addr) <br /> <br /> 0x10003 - map_physical_address_region <br /> <br /> 0x10004 - unmap_physical_address_region<br /> <br /> 0x10005 - construct_logical_pu <br /> <br /> 0x10006 - destruct_logical_pu <br /> <br /> 0x10007 - activate_logical_pu(LPAR id, PPE id) <br /> <br /> 0x10009 - construct_logical_partition(0, LPAR id, outlet) <br /> <br /> 0x1000A - get_logical_console_info <br /> <br /> 0x1000B - get_remote_file_size <br /> <br /> 0x1000C - read_remote_file <br /> <br /> 0x1000D - write_remote_file <br /> <br /> 0x1000E - release_memory_region(LPAR id, memory region address) <br /> <br /> 0x1001A - construct_event_receive_port <br /> <br /> 0x1001B - destruct_event_receive_port<br /> <br /> 0x1001C - request_to_connect_event_ports<br /> <br /> 0x1001D - connect_event_ports<br /> <br /> 0x1001E - destruct_event_send_port<br /> <br /> 0x1001F - send_event_externally<br /> <br /> 0x10020 - get_status_of_event_send_port<br /> <br /> 0x10021 - get_event_port_connection_request<br /> <br /> 0x10022 - end_of_control_signal_processing<br /> <br /> 0x10024 - shutdown_logical_partition(LPAR id, shutdown command) <br /> <br /> 0x10025 - destruct_logical_partition(LPAR id) <br /> <br /> 0x10026 - get_logical_partition_info <br /> <br /> 0x10027 - read_privilege_set <br /> <br /> 0x10028 - modify_privilege_set <br /> <br /> 0x10029 - get_remote_file_size_long_name <br /> <br /> 0x1002A - read_remote_file_long_name <br /> <br /> 0x1002B - write_remote_file_long_name<br /> <br /> 0x1002C - construct_scheduling_table <br /> <br /> 0x1002D - set_scheduling_slot <br /> <br /> 0x1002E - load_scheduling_table<br /> <br /> 0x10032 - poweroff <br /> <br /> 0x10033 - get_remote_file_name<br /> <br /> 0x10034 - allocate_cp_channel<br /> <br /> 0x10035 - release_cp_channel<br /> <br /> 0x10036 - power_down <br /> <br /> 0x10037 - ?<br /> <br /> 0x10038 - ?<br /> <br /> 0x10039 - ?<br /> <br /> 0x10040 - construct_spe_type_1(SPE id, shaddow_addr) / construct_logical_spu<br /> <br /> 0x10041 - destruct_spe(SPE id) / destruct_logical_spu<br /> <br /> 0x10042 - decrypt_lv2_self(spe id, LPAR auth id, SELF file image ptr, LPAR memory address) <br /> <br /> 0x10043 - load_spe_module(spe id, SCE module ptr, arg1, arg2, arg3, arg4) <br /> <br /> 0x10044 - disable_spe_execution <br /> <br /> 0x10045 - set_spe_interrupt_mask <br /> <br /> 0x10046 - read_spe_problem_state_register(spe id, register offset, value) <br /> <br /> 0x10047 - write_spe_problem_state_register(spe id, register offset, value) <br /> <br /> 0x1004B - disable_spe_loading <br /> <br /> 0x1004C - install_access_control_table?<br /> <br /> 0x1004D - get_storage_status?<br /> <br /> 0x1004E - get_region_table_bits?<br /> <br /> 0x1004F - commit_region_update?<br /> <br /> 0x10050 - abort_region_update?<br /> <br /> 0x10051 - set_storage_tampered?<br /> <br /> 0x10053 - pmi_set_guest_os_mode <br /> <br /> 0x1007F - pause <br /> <br /> 0x10080 - get_total_execution_time<br /> <br /> 0x10081 - reset <br /> <br /> 0x10083 - construct_logical_rsx <br /> <br /> 0x10084 - construct_virtual_uart(LPAR id, VUART id, VUART data buffer size) <br /> <br /> 0x10085 - destruct_virtual_uart(LPAR id, VUART id) <br /> <br /> 0x10086 - establish_virtual_uart_channel<br /> <br /> 0x10088 - RSX_syscall_10088(LPAR id) <br /> <br /> 0x10089 - RSX_syscall_10089 <br /> <br /> 0x1008A - RSX_syscall_1008A <br /> <br /> 0x100BE - lv1_ioctl <br /> <br /> 0x100C0 - create_repository_node(LPAR id) <br /> <br /> 0x100C1 - get_repository_node_value(LPAR id) <br /> <br /> 0x100C2 - modify_repository_node_value(LPAR id) <br /> <br /> 0x100C3 - remove_repository_node(LPAR id)<br /> <br /> = Process =<br /> <br /> == Process table ==<br /> <br /> HV supports only 32 processes simultaneously. The number of processes currently running in HV is stored at address 0x0035EA54 (3.15) and 0x00357E3C (2.60). <br /> <br /> The process table is an array of 32 process table entries.<br /> <br /> 0x0036C930 (4.30)<br /> <br /> 0x0036C8B0 (4.21)<br /> <br /> 0x00365458 (4.11)<br /> <br /> 0x0035F8D0 (3.55)<br /> <br /> 0x0035C550 (3.41)<br /> <br /> 0x0035E850 (3.15) <br /> <br /> 0x00357C38 (2.60) <br /> <br /> === Process table entry ===<br /> <br /> offset 0x0 - process status&amp;nbsp;? (8 bytes) <br /> <br /> offset 0x8 - pointer to Process object<br /> <br /> == create_new_proc ==<br /> <br /> This function creates a new Process object. <br /> <br /> 0x00298E2C (3.15) <br /> <br /> 0x002948BC (2.60) <br /> <br /> === Parameters ===<br /> <br /> r3 - pointer to parent Process object <br /> <br /> r4 -&amp;nbsp;? <br /> <br /> == copy_user_data ==<br /> <br /> This function copies data to/from user space. <br /> <br /> 0x00299688 (3.15) <br /> <br /> 0x00295118 (2.60) <br /> <br /> === Parameters ===<br /> <br /> r3 - pointer to Process object <br /> <br /> r4 - some address in address space of Process <br /> <br /> r5 - pointer to buffer in HV space <br /> <br /> r6 - size to copy <br /> <br /> r7 -&amp;nbsp;? <br /> <br /> r8 - direction of copy (0 - copy from user space,&amp;nbsp;!= 0 - copy to user space) <br /> <br /> r9 -&amp;nbsp;? <br /> <br /> == vtable ==<br /> <br /> Processes have no vtables. That means they have no virtual functions. <br /> <br /> == Member variables ==<br /> <br /> offset 0x0 - PID (4 bytes) <br /> <br /> offset 0x8 - pointer to parent Process object <br /> <br /> offset 0x10 - pointer to AddressSpace object <br /> <br /> offset 0x30 - pointer to first PThread object of process <br /> <br /> offset 0x38 - array of signal handlers (192 * 8 bytes) <br /> <br /> offset 0x638 - pointer to pointer to ELF image <br /> <br /> offset 0x640 - start of file table (20 * 24 bytes) <br /> <br /> offset 0x820 - exit status (4 bytes) <br /> <br /> offset 0x898 - pointer to Inode object of current directory <br /> <br /> offset 0x8A8 - some pointer <br /> <br /> === Signals ===<br /> <br /> A process can have upto 192 signal handlers. For example, signal 9 is SIGKILL. A signal handler for SIGKILL cannot be installed and it cannot be ignored. <br /> <br /> A process does not have a signal mask. Every thread of a process has it's own signal mask. <br /> <br /> ==== Signal constants ====<br /> <br /> 0x9 - SIGKILL <br /> <br /> 0xE - SIGALRM <br /> <br /> 0x20 - SIGSPUMB <br /> <br /> 0x21 - SIGSPUMB_SL <br /> <br /> 0x22 - SIGSPUSTOP <br /> <br /> 0x23 - SIGSPUSTOP_SL <br /> <br /> 0x24 - SIGSPUDMA <br /> <br /> 0x26 - SIGSPUTIMEOUT <br /> <br /> 0x27 - SIGSPUERR <br /> <br /> 0x41 - SIGSHUTDOWN <br /> <br /> === File table ===<br /> <br /> The file table has 20 entries. So, a process can have at most 20 files opened simultaneously. Each entry is 24 bytes large. <br /> <br /> offset 0x0 - entry valid or invalid (1 byte), 0 - invalid, 1 - valid <br /> <br /> offset 0x8 - pointer to object with File interface <br /> <br /> offset 0x10 - current file position (8 bytes) <br /> <br /> == Process_EA_to_RA ==<br /> <br /> This function translates an effective process address to real address. <br /> <br /> 0x00297E08 (3.15) <br /> <br /> == Objects ==<br /> <br /> Here are the addresses of Process objects i could identify in HV dump 3.15: <br /> <br /> *0x006BB0D0 (PID 0) <br /> *0x0012C010 (PID 3) - ss_server3.fself <br /> *0x000915D0 (PID 5) - ss_server2.fself <br /> *0x000E4D70 (PID 6) - ss_server1.fself <br /> *0x0012C8D0 (PID 9) - sysmgr_ss.fself<br /> <br /> Here are the addresses of Process objects i could identify in HV dump 2.60: <br /> <br /> *0x006B7580 (PID 0) <br /> *0x00135F90 (PID 3) <br /> *0x000862D0 (PID 5) <br /> *0x000A9870 (PID 6) <br /> *0x00084B80 (PID 9)<br /> <br /> In JIG 2.43:<br /> *(PID3) &lt;- ss_server3<br /> *(PID4) &lt;- ss_sc_init_pu<br /> *(PID5) &lt;- ss_server2<br /> *(PID6) &lt;- ss_server1<br /> *(PID7) &lt;- factory_data_mngr_server<br /> *(PID8) &lt;- updater_frontend<br /> <br /> (see [http://pastie.org/pastes/9407461/text?key=f6bk5lof0g4bgeu6xrn5ua this])<br /> <br /> = PThread =<br /> <br /> All PThread objects of the same Process object are linked together in a list. <br /> <br /> == vtable ==<br /> <br /> 0x003556D8 (3.15) <br /> <br /> 0x0034ECC0 (2.60) <br /> <br /> offset 0x60 - pointer to TOC entry of system call handler <br /> <br /> == Member variables ==<br /> <br /> offset 0x10 - pointer to next PThread object of Process <br /> <br /> offset 0x18 - Thread object <br /> <br /> offset 0x2B8 -&amp;nbsp;? (4 bytes) <br /> <br /> offset 0x2C0 - pointer to TOC of some function <br /> <br /> offset 0x2C8 - pointer to TOC of some function <br /> <br /> offset 0x348 - some conter (4 bytes) <br /> <br /> offset 0x3C0 - pointer to Process object that owns PThread object <br /> <br /> offset 0x3F8 - signal pending mask (3 * 8 bytes = 192 signals) <br /> <br /> offset 0x440 - ConditionVariable object <br /> <br /> == Signals ==<br /> <br /> A PThread has it's own signal mask, independant of all other PThreads in the same process. <br /> <br /> == Methods ==<br /> <br /> wait_for_my_turn(Pthread ptr,&amp;nbsp;?, sleep interruptible flag) = wakeup status - 0x00296FB0 (3.15) <br /> <br /> = Thread =<br /> <br /> == get_current_thread ==<br /> <br /> This function returns the pointer to current running thread. <br /> <br /> 0x0028B994 (3.15) <br /> <br /> 0x0028744C (2.60) <br /> <br /> == vtable ==<br /> <br /> 0x00355750 (3.15) <br /> <br /> == Member variables ==<br /> <br /> offset 0x288 - some pointer <br /> <br /> offset 0x290 - some pointer <br /> <br /> = AddressSpace =<br /> <br /> == vtable ==<br /> <br /> 0x003549A0 (3.15) <br /> <br /> 0x0034DF88 (2.60) <br /> <br /> == Member variables ==<br /> <br /> offset 0x8 - Mutex object <br /> <br /> offset 0x40 - AddressProtectionDomain object <br /> <br /> offset 0x50 - some pointer <br /> <br /> offset 0xC0 - some counter (4 bytes) <br /> <br /> == AddressSpace_EA_to_RA ==<br /> <br /> 0x002874D0 (3.15) <br /> <br /> = AddressProtectionDomain =<br /> <br /> == vtable ==<br /> <br /> 0x00354980 (3.15) <br /> <br /> == Member variables ==<br /> <br /> offset 0x0 - pointer to previous AddressProtectionDomain object <br /> <br /> offset 0x8 - pointer to next AddressProtectionDomain object <br /> <br /> offset 0x10 - poiinter to pointer to SLB entries <br /> <br /> offset 0x18 - pointer to AddressSpace object that owns this object <br /> <br /> offset 0x2A - pointer to previous ProtectionPage <br /> <br /> offset 0x34 - pointer to next ProtectionPage <br /> <br /> offset 0x40 - Mutex object<br /> <br /> = ProtectionPage =<br /> <br /> == vtable ==<br /> <br /> none <br /> <br /> == Member variables ==<br /> <br /> offset 0x0 - RA (8 bytes) <br /> <br /> offset 0x8 - EA (4 bytes) <br /> <br /> offset 0x10 - pointer to previous ProtectionPage (4 bytes) <br /> <br /> offset 0x14 - pointer to next ProtectionPage (4 bytes) <br /> <br /> = Mutex =<br /> <br /> == vtable ==<br /> <br /> 0x00354D08 (3.15) <br /> <br /> 0x0034E2F0 (2.60) <br /> <br /> == Member variables ==<br /> <br /> offset 0x18 -&amp;nbsp;? (4 bytes) <br /> <br /> offset 0x1C -&amp;nbsp;? (4 bytes) <br /> <br /> = ConditionVariable =<br /> <br /> == vtable ==<br /> <br /> 0x003549C0 (3.15) <br /> <br /> offset 0x20 - wait <br /> <br /> == Member variables ==<br /> <br /> offset 0x20 - pointer to Mutex object <br /> <br /> = File interface =<br /> <br /> == vtable ==<br /> <br /> offset 0x8 -&amp;nbsp;? <br /> <br /> offset 0x28 - open <br /> <br /> offset 0x30 - close <br /> <br /> offset 0x38 - read <br /> <br /> offset 0x40 - write <br /> <br /> offset 0x50 - mmap <br /> <br /> offset 0x58 - ioctl <br /> <br /> = StorageRegionFile =<br /> <br /> Flash device file class. <br /> <br /> == vtable ==<br /> <br /> 0x003569F8 (3.15) <br /> <br /> = VUARTFile =<br /> <br /> VUART device file class. <br /> <br /> == vtable ==<br /> <br /> 0x00356458 (3.15) <br /> <br /> = STDLCFile =<br /> <br /> Console device file class. <br /> <br /> == vtable ==<br /> <br /> 0x003561F8 (3.15) <br /> <br /> == Member variables ==<br /> <br /> offset 0x20 - reference counter (8 bytes) <br /> <br /> offset 0x28 - free buffer space&amp;nbsp;? (8 bytes) <br /> <br /> = SocketFile =<br /> <br /> == vtable ==<br /> <br /> 0x00355DB0 (3.15) <br /> <br /> offset 0xB0 - bind <br /> <br /> = RegionManager =<br /> <br /> == vtable ==<br /> <br /> 0x00355F80 (3.15) <br /> <br /> = Inode =<br /> <br /> == DirectoryInode ==<br /> <br /> === vtable ===<br /> <br /> 0x00355788 (3.15) <br /> <br /> offset 0x20 - link <br /> <br /> offset 0x28 - unlink <br /> <br /> == get_root_inode ==<br /> <br /> This function returns the pointer to the Inode object of the root directory. <br /> <br /> 0x0029C124 (3.15) <br /> <br /> 0x00297BB4 (2.60) <br /> <br /> == vtable ==<br /> <br /> 0x00334E50 (3.15) <br /> <br /> offset 0x30 - lookup <br /> <br /> = File system =<br /> <br /> == Console device file objects ==<br /> <br /> Here is the list of console device file objects i found in HV dump 3.15: <br /> <br /> *console<br /> <br /> === vtable ===<br /> <br /> 0x003561F8 (3.15) <br /> <br /> == Flash device file objects ==<br /> <br /> Here is the list of flash device file objects i found in HV dump 3.15: <br /> <br /> */dev/eflash0 <br /> */dev/eflash1 <br /> */dev/rflash0 <br /> */dev/rflash1 <br /> */dev/rflash_1x <br /> */dev/rflash_1xp<br /> <br /> === vtable ===<br /> <br /> 0x003569F8 (3.15) <br /> <br /> == IOIF device file objects ==<br /> <br /> Here is the list of IOIF device file objects i found in HV dump 3.15: <br /> <br /> */dev/ioif0<br /> <br /> === vtable ===<br /> <br /> 0x00356688 (3.15) <br /> <br /> === Member variables ===<br /> <br /> 0x360 = MMIO base address <br /> <br /> == SD detector device file objects ==<br /> <br /> Here is the list of SD detector device file objects i found in HV dump 3.15: <br /> <br /> */dev/sd_detector<br /> <br /> === vtable ===<br /> <br /> 0x00356B48 (3.15) <br /> <br /> == NET device file objects ==<br /> <br /> Here is the list of NET device file objects i found in HV dump 3.15: <br /> <br /> */dev/net0<br /> <br /> === vtable ===<br /> <br /> 0x00356DE8 (3.15) <br /> <br /> == INODES ==<br /> <br /> '''INODE OBJECT''' <br /> <br /> +0x04: previos inode <br /> <br /> +0x08: next inodes <br /> <br /> + 0x38:&amp;nbsp; path <br /> <br /> + 0x358: childer_inode <br /> <br /> &lt;br&gt;<br /> <br /> '''MFS_ROOT_INODE''' <br /> <br /> (2.60) 0x3580B0 <br /> <br /> + 0x60 = ROOT_INODE <br /> <br /> &lt;br&gt;<br /> <br /> '''SOME ADDRESSES IN 2.60''' <br /> <br /> 0x60C010: &quot;/dev&quot; inode <br /> <br /> 0x6AA580: &quot;/proc&quot; inode <br /> <br /> using linked list you can follow all inodes <br /> <br /> = Repository =<br /> <br /> *Each LPAR has it's own node repository <br /> *Repository nodes are stored in a hash table which can have several sub-hash tables.<br /> <br /> == RepositoryNode ==<br /> <br /> === vtable ===<br /> <br /> 0x00357F58 (3.15) <br /> <br /> === Member variables ===<br /> <br /> offset 0x30 - pointer to next RepositoryNode obj <br /> <br /> offset 0x38 - 2nd hash value of name (4 bytes) <br /> <br /> offset 0x40 - 1st field name (8 bytes) <br /> <br /> offset 0x48 - 2nd field name (8 bytes) <br /> <br /> offset 0x50 - 3rd field name (8 bytes) <br /> <br /> offset 0x58 - 4th field name (8 bytes) <br /> <br /> offset 0x60 -&amp;nbsp;? (4 bytes) <br /> <br /> offset 0x68 - 1st field value (8 bytes) <br /> <br /> offset 0x70 - 2nd field value (8 bytes) <br /> <br /> === Hash Function ===<br /> <br /> *The name of a repository node is hashed and 2 hash values (2 32bit values) are produced. <br /> *The 1st hash value is used to select a sub-hash table. <br /> *The 2nd hash value is used to find a sub-hash table bucket. <br /> *Repository nodes in a hash bucket are ordered by the 2nd hash value.<br /> &lt;pre&gt;void hash(unsigned long long n1,<br /> unsigned long long n2,<br /> unsigned long long n3,<br /> unsigned long long n4,<br /> unsigned long *h1,<br /> unsigned long *h2)<br /> {<br /> unsigned long long h;<br /> unsigned long hl;<br /> <br /> h = ((((n1 ^ n4) &amp;gt;&amp;gt; 32) ^ (n2 ^ n3)) ^ (((n2 ^ n3) &amp;gt;&amp;gt; 32) ^ (n1 ^ n4))) &amp;amp; ~0xC0000000ULL;<br /> <br /> *h1 = h &amp;amp; 0xFFFFFFFFULL;<br /> <br /> h = ((h &amp;amp; 0x55555555ULL) &amp;lt;&amp;lt; 1) | ((h &amp;amp; 0xAAAAAAAAULL) &amp;gt;&amp;gt; 1);<br /> <br /> h = ((h &amp;amp; 0x33333333ULL) &amp;lt;&amp;lt; 2) | ((h &amp;amp; 0xCCCCCCCCULL) &amp;gt;&amp;gt; 2);<br /> <br /> h = ((h &amp;amp; 0xF0F0F0FULL) &amp;lt;&amp;lt; 4) | ((h &amp;amp; 0xF0F0F0F0ULL) &amp;gt;&amp;gt; 4);<br /> <br /> hl = (h &amp;lt;&amp;lt; 8) | ((h &amp;amp; 0xFF000000ULL) &amp;gt;&amp;gt; 24);<br /> <br /> hl = (hl &amp;amp; ~0xFF000000UL) | ((h &amp;amp; 0xFFULL) &amp;lt;&amp;lt; 24);<br /> <br /> hl = (hl &amp;amp; ~0x0000FF00UL) | (((h &amp;lt;&amp;lt; 24) | (h &amp;gt;&amp;gt; 8)) &amp;amp; 0x0000FF00ULL);<br /> <br /> hl |= 0x1; <br /> <br /> *h2 = hl;<br /> }<br /> &lt;/pre&gt;<br /> == Repository nodes from HV 3.15 ==<br /> <br /> [http://www.ps3devwiki.com/index.php?title=Repository_Nodes#3.15_Linux Dump of all repository nodes from HV 3.15]<br /> <br /> == Repository nodes from HV 3.41 dump made from GameOS ==<br /> <br /> [http://www.ps3devwiki.com/index.php?title=Repository_Nodes#3.41_GameOS Dump of all repository nodes from HV 3.41 dump made from GameOS]<br /> <br /> = Buses =<br /> <br /> == SB bus ==<br /> <br /> type - 4 <br /> <br /> index - 1 <br /> <br /> num_devices - 4 (repository node says this but there are more devices&amp;nbsp;!!!) <br /> <br /> == Storage bus ==<br /> <br /> type - 5 <br /> <br /> index - 4 <br /> <br /> num_devices - 4 <br /> <br /> = SB bus subsystem =<br /> <br /> == vtable ==<br /> <br /> 0x00352600 (3.15) <br /> <br /> == Member variables ==<br /> <br /> offset 0x10 - MMIO memory base address <br /> <br /> offset 0x20 - array of 16 pointers to SB devices (0 - Gelic device, 1 - USB device) <br /> <br /> == Objects ==<br /> <br /> 0x00349528 - pointer to pointer to SB bus subsystem object <br /> <br /> == Memory base address ==<br /> <br /> 0x24000000000 <br /> <br /> All SB bus device MMIO addresses are relative to this memory address. <br /> <br /> == SB device MMIO/DMA memory region ==<br /> <br /> === vtable ===<br /> <br /> 0x352308 (3.15)<br /> <br /> === Member variables ===<br /> <br /> offset 0x18 - pointer to previous bus memory region object <br /> <br /> offset 0x20 - pointer to next bus memory region object <br /> <br /> offset 0x30 - relative bus memory start address <br /> <br /> offset 0x38 - size of bus memory region <br /> <br /> == SB bus device ==<br /> <br /> === vtable ===<br /> <br /> 0x00352620 (3.15) <br /> <br /> === Member variables ===<br /> <br /> offset 0x18 - array of pointers to MMIO memory region objects owned by device (8 * 8 bytes) <br /> <br /> offset 0x60 - pointer to first DMA region object <br /> <br /> offset 0x6C - device opened flag (1 byte, 0 - not opened, 1 - already opened) <br /> <br /> offset 0x70 - id of LPAR that opened this device <br /> <br /> offset 0x90 - pointer to an object that contains the address of interrupt handler for this device and SB bus interrupt index <br /> <br /> == Gelic device (Network Interface) ==<br /> <br /> device id = 0 <br /> <br /> interrupt index = 8 <br /> <br /> The Gelic device is similar to the spider_net device from Toshiba. There are some differences with mmio initialization values within LV1 in comparison to the spider_net.c linux driver.<br /> <br /> Gelic defines:<br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! DEFINE !! Value<br /> |-<br /> | GELIC_CKRCTRL_REGISTER || 0xFF0<br /> |-<br /> | GELIC_CKRCTRL_STOP_VALUE || 0x00000105<br /> |-<br /> | GELIC_CKRCTRL_RUN_VALUE || 0x1D7F0105<br /> |-<br /> | GELIC_MACADDR_HIGH_REG || 0x500<br /> |-<br /> | GELIC_MACADDR_LOW_REG || 0x504<br /> |-<br /> |}<br /> <br /> === MMIO regions ===<br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Index <br /> ! Relative Bus Start Address <br /> ! Absolute Bus Start Address <br /> ! Size<br /> |-<br /> | 0 <br /> | 0x2800 <br /> | 0x24000002800 <br /> | 0x200<br /> |-<br /> | 1 <br /> | 0x3004000 <br /> | 0x24003004000 <br /> | 0x1000<br /> |-<br /> | 2 <br /> | - <br /> | - <br /> | -<br /> |-<br /> | 3 <br /> | - <br /> | - <br /> | -<br /> |-<br /> | 4 <br /> | - <br /> | - <br /> | -<br /> |-<br /> | 5 <br /> | - <br /> | - <br /> | -<br /> |-<br /> | 6 <br /> | - <br /> | - <br /> | -<br /> |-<br /> | 7 <br /> | - <br /> | - <br /> | -<br /> |}<br /> <br /> === DMA regions ===<br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Relative Bus Start Address <br /> ! Absolute Bus Start Address <br /> ! Size<br /> |-<br /> | 0xA0000000 <br /> | - <br /> | 0x8000<br /> |-<br /> | 0xC0000000 <br /> | - <br /> | 0x10000000<br /> |}<br /> <br /> == SATA Controller 1 device ==<br /> <br /> device id = 1 <br /> <br /> interrupt index = 49 <br /> <br /> === MMIO regions ===<br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Index <br /> ! Relative Bus Start Address <br /> ! Absolute Bus Start Address <br /> ! Size<br /> |-<br /> | 0 <br /> | 0x2000 <br /> | 0x24000002000 <br /> | 0x200<br /> |-<br /> | 1 <br /> | 0x3000000 <br /> | 0x24003000000 <br /> | 0x1000<br /> |-<br /> | 2 <br /> | 0x3800000 <br /> | 0x24003800000 <br /> | 0x1000<br /> |-<br /> | 3 <br /> | 0x3802000 <br /> | 0x24003802000 <br /> | 0x1000<br /> |-<br /> | 4 <br /> | - <br /> | - <br /> | -<br /> |-<br /> | 5 <br /> | - <br /> | - <br /> | -<br /> |-<br /> | 6 <br /> | - <br /> | - <br /> | -<br /> |-<br /> | 7 <br /> | - <br /> | - <br /> | -<br /> |}<br /> <br /> === DMA regions ===<br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Relative Bus Start Address <br /> ! Absolute Bus Start Address <br /> ! Size<br /> |-<br /> | 0xA0000000 <br /> | - <br /> | 0x1000<br /> |-<br /> | 0xA0001000 <br /> | - <br /> | 0x1000<br /> |-<br /> | 0xA0002000 <br /> | - <br /> | 0x1000<br /> |}<br /> <br /> == SATA Controller 2 device ==<br /> <br /> device id = 2 <br /> <br /> interrupt index = 13 <br /> <br /> === MMIO regions ===<br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Index <br /> ! Relative Bus Start Address <br /> ! Absolute Bus Start Address <br /> ! Size<br /> |-<br /> | 0 <br /> | 0x2200 <br /> | 0x24000002200 <br /> | 0x200<br /> |-<br /> | 1 <br /> | 0x3001000 <br /> | 0x24003001000 <br /> | 0x1000<br /> |-<br /> | 2 <br /> | 0x3801000 <br /> | 0x24003801000 <br /> | 0x1000<br /> |-<br /> | 3 <br /> | 0x3803000 <br /> | 0x24003803000 <br /> | 0x1000<br /> |-<br /> | 4 <br /> | - <br /> | - <br /> | -<br /> |-<br /> | 5 <br /> | - <br /> | - <br /> | -<br /> |-<br /> | 6 <br /> | - <br /> | - <br /> | -<br /> |-<br /> | 7 <br /> | - <br /> | - <br /> | -<br /> |}<br /> <br /> === DMA regions ===<br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Relative Bus Start Address <br /> ! Absolute Bus Start Address <br /> ! Size<br /> |-<br /> | 0xA0000000 <br /> | - <br /> | 0x1000<br /> |-<br /> | 0xA0001000 <br /> | - <br /> | 0x1000<br /> |-<br /> | 0xA0002000 <br /> | - <br /> | 0x1000<br /> |}<br /> <br /> == USB Controller 1 device ==<br /> <br /> device id = 3 <br /> <br /> === MMIO regions ===<br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Index <br /> ! Relative Bus Start Address <br /> ! Absolute Bus Start Address <br /> ! Size<br /> |-<br /> | 0 <br /> | 0x2400 <br /> | 0x24000002400 <br /> | 0x200<br /> |-<br /> | 1 <br /> | 0x3010000 <br /> | 0x24003010000 <br /> | 0x10000<br /> |-<br /> | 2 <br /> | 0x3810000 <br /> | 0x24003810000 <br /> | 0x10000<br /> |-<br /> | 3 <br /> | - <br /> | - <br /> | -<br /> |-<br /> | 4 <br /> | - <br /> | - <br /> | -<br /> |-<br /> | 5 <br /> | - <br /> | - <br /> | -<br /> |-<br /> | 6 <br /> | - <br /> | - <br /> | -<br /> |-<br /> | 7 <br /> | - <br /> | - <br /> | -<br /> |}<br /> <br /> === DMA regions ===<br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Relative Bus Start Address <br /> ! Absolute Bus Start Address <br /> ! Size<br /> |-<br /> | 0xC0000000 <br /> | - <br /> | 0x10000000<br /> |-<br /> | 0xD0000000 <br /> | - <br /> | 0x10000000<br /> |}<br /> <br /> == USB Controller 2 device ==<br /> <br /> device id = 4 <br /> <br /> === MMIO regions ===<br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Index <br /> ! Relative Bus Start Address <br /> ! Absolute Bus Start Address <br /> ! Size<br /> |-<br /> | 0 <br /> | 0x2600 <br /> | 0x24000002600 <br /> | 0x200<br /> |-<br /> | 1 <br /> | 0x3020000 <br /> | 0x24003020000 <br /> | 0x10000<br /> |-<br /> | 2 <br /> | 0x3820000 <br /> | 0x24003820000 <br /> | 0x10000<br /> |-<br /> | 3 <br /> | - <br /> | - <br /> | -<br /> |-<br /> | 4 <br /> | - <br /> | - <br /> | -<br /> |-<br /> | 5 <br /> | - <br /> | - <br /> | -<br /> |-<br /> | 6 <br /> | - <br /> | - <br /> | -<br /> |-<br /> | 7 <br /> | - <br /> | - <br /> | -<br /> |}<br /> <br /> === DMA regions ===<br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Relative Bus Start Address <br /> ! Absolute Bus Start Address <br /> ! Size<br /> |-<br /> | 0xC0000000 <br /> | - <br /> | 0x10000000<br /> |-<br /> | 0xD0000000 <br /> | - <br /> | 0x10000000<br /> |}<br /> <br /> == ENCDEC device ==<br /> <br /> device id = 7 <br /> <br /> interrupt index = 5 <br /> <br /> === MMIO regions ===<br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Index <br /> ! Relative Bus Start Address <br /> ! Absolute Bus Start Address <br /> ! Size<br /> |-<br /> | 0 <br /> | 0x2C00 <br /> | 0x24000002C00 <br /> | 0x200<br /> |-<br /> | 1 <br /> | 0x3005000 <br /> | 0x24003005000 <br /> | 0x1000<br /> |-<br /> | 2 <br /> | 0x3006000 <br /> | 0x24003006000 <br /> | 0x1000<br /> |-<br /> | 3 <br /> | - <br /> | - <br /> | -<br /> |-<br /> | 4 <br /> | - <br /> | - <br /> | -<br /> |-<br /> | 5 <br /> | - <br /> | - <br /> | -<br /> |-<br /> | 6 <br /> | - <br /> | - <br /> | -<br /> |-<br /> | 7 <br /> | - <br /> | - <br /> | -<br /> |}<br /> <br /> === DMA regions ===<br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Relative Bus Start Address <br /> ! Absolute Bus Start Address <br /> ! Size<br /> |-<br /> | 0x80010000 <br /> | - <br /> | 0x10000<br /> |-<br /> | 0x80004000 <br /> | - <br /> | 0x4000<br /> |-<br /> | 0x80001000 <br /> | - <br /> | 0x1000<br /> |-<br /> | 0x80003000 <br /> | - <br /> | 0x1000<br /> |-<br /> | 0x80008000 <br /> | - <br /> | 0x1000<br /> |-<br /> | 0x80009000 <br /> | - <br /> | 0x1000<br /> |-<br /> | 0x80040000 <br /> | - <br /> | 0x10000<br /> |-<br /> | 0x8000A000 <br /> | - <br /> | 0x1000<br /> |-<br /> | 0x90020000 <br /> | - <br /> | 0x20000<br /> |-<br /> | 0xC0000000 <br /> | - <br /> | 0x10000<br /> |-<br /> | 0xC0040000 <br /> | - <br /> | 0x40000<br /> |}<br /> <br /> == FLASH Controller device (StarShip - SS) ==<br /> <br /> device id = 9 <br /> <br /> interrupt index = 41 <br /> <br /> === MMIO regions ===<br /> <br /> FLASH controller doesn't have MMIO regions. <br /> <br /> === DMA regions ===<br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Relative Bus Start Address <br /> ! Absolute Bus Start Address <br /> ! Size<br /> |-<br /> | 0x80000000 <br /> | - <br /> | 0x1000<br /> |-<br /> | 0x80020000 <br /> | - <br /> | 0x20000<br /> |-<br /> | 0x80002000 <br /> | - <br /> | 0x1000<br /> |-<br /> | 0x90000000 <br /> | - <br /> | 0x20000<br /> |}<br /> <br /> == SB Bus Interrupt Handling ==<br /> <br /> *There is a table of interrupt handlers for SB devices <br /> *The size of table is 64 <br /> *The main SB bus interrupt handler is at 0x002B9CC4 (3.15) <br /> *The main interrupt handler reads interrupt index and dispatches interrupts<br /> <br /> === Interrupt Index ===<br /> <br /> *The main SB bus interrupt handler reads 2 32-bit values from addresses 0x24000008100 and 0x0x24000008104 <br /> *The interrupt index is calculated from these values<br /> <br /> === Interrupt Handler Table ===<br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Interrupt <br /> ! Description <br /> ! Address in HV<br /> |-<br /> | 5 <br /> | ENCDEC device <br /> | 0x00275C60 (3.15)<br /> |-<br /> | 6 <br /> | EH EPCIC internal <br /> | 0x0023B6B0 (3.15)<br /> |-<br /> | 8 <br /> | Gelic device <br /> | 0x00245330 (3.15)<br /> |-<br /> | 12 <br /> | ATA interrupt handler <br /> | 0x0026B984 (3.15)<br /> |-<br /> | 13 <br /> | ATA interrupt handler <br /> | 0x0026B984 (3.15)<br /> |-<br /> | 14 <br /> | Spider SC <br /> | 0x0020A68C (3.15)<br /> |-<br /> | 29 <br /> | SBERR <br /> | 0x0023AA50 (3.15)<br /> |-<br /> | 30 <br /> | SBERR <br /> | 0x0023AA50 (3.15)<br /> |-<br /> | 41 <br /> | EBUS (Flash StarShip) <br /> | 0x002814EC (3.15)<br /> |-<br /> | 49 <br /> | ATA media interrupt handler <br /> | 0x00268A8C (3.15)<br /> |-<br /> | 50 <br /> | Flash&amp;nbsp;? <br /> | 0x00280B24 (3.15)<br /> |-<br /> | 55 <br /> | EH EPCIC SERR <br /> | 0x0023B67C (3.15)<br /> |}<br /> <br /> = Storage bus subsystem =<br /> <br /> == vtable ==<br /> <br /> 0x00353AC8 (3.15) <br /> <br /> == Member variables ==<br /> <br /> offset 0xEE8 - table of pointers to storage device objects (7 * 8 bytes, max 7 devices) <br /> <br /> == Storage device class ==<br /> <br /> === Member variables ===<br /> <br /> offset 0x8 - device id (8 bytes) <br /> <br /> offset 0xD50 - device id (8 bytes) <br /> <br /> offset 0xD60 - pointer to ENCDEC SB bus device object <br /> <br /> === Region Manager ===<br /> <br /> * Each storage device has a Region Manager (i call it like that)<br /> * Region Manager stores information about each Region of the storage device<br /> * All Regions of a Region Manager are linked together<br /> * Free Regions of a Region Manager are linked together also<br /> * A Region Manager can have at most 8 Regions<br /> <br /> ==== Region ====<br /> <br /> *Each storage device can have at most 8 regions (0-7) <br /> *Each region has ACL table<br /> *HV checks region ACLs before allowing access to the region<br /> *Each region has a start sector that is an offset from the physical first sector of the storage device and a number of sectors <br /> <br /> *The start sector passed to lv1 storage hvcalls is '''relative''' to the start sector of the region passed to the lv1 storage hvcall<br /> <br /> ===== Region ACL =====<br /> <br /> offset 0x0 - LPAR AUTH ID (8 bytes)<br /> <br /> offset 0x8 - access rigths (8 bytes)<br /> <br /> offset 0x10 - entry valid flag: 0 - invalid, 1 - valid (1 byte)<br /> <br /> ===== Region Access Protection =====<br /> <br /> *Before a storage region is accessed, HV checks access rights of the caller. <br /> *Repository node '''ss.laid''' ([[Authority ID|LPAR Authority ID]]) is evaluated for this purpose. <br /> *If LPAR has a repository node '''ios.ata.region0.access''' (value doesn't matter) then the access rights check never fails. After System Manager sets ATA keys it removes this repository node from LPAR 1. If we add this repository node again or patch System Manager so it's not removed then we will be able to access all storage regions of all storage devices.<br /> *'''ALL storage accesses from LPAR 1 are allowed''' <br /> *'''If (flags &amp;amp; 0x100000002)&amp;nbsp;!= 0 then access rights check is skipped&amp;nbsp;!!!'''.<br /> <br /> I tested on HV 3.41 with flags 0x2 and got access to regions which were denied by policy (LV1_DENIED_BY_POLICY result).<br /> <br /> ==== Storage Device Partition Table ====<br /> <br /> * Each storage device has a Partition Table<br /> * Partition Table contains information about each region on the storage device<br /> <br /> ==== Methods ====<br /> <br /> lv1_storage_create_region (lv1_undocumented_function_250) - 0x00301328 (3.15)<br /> <br /> lv1_storage_delete_region (lv1_undocumented_function_251) - 0x003011E8 (3.15)<br /> <br /> lv1_storage_set_region_acl (lv1_undocumented_function_252) - 0x00300F3C (3.15)<br /> <br /> lv1_storage_get_region_acl (lv1_undocumented_function_253) - 0x00301090 (3.15)<br /> <br /> storage_device_create_region - 0x00253988 (3.15)<br /> <br /> storage_device_delete_region - 0x00253BE8 (3.15)<br /> <br /> storage_device_region_set_acl - 0x00252C80 (3.15)<br /> <br /> storage_device_region_get_acl - 0x00252710 (3.15)<br /> <br /> storage_region_mgr_create_region - 0x0025A530 (3.15)<br /> <br /> storage_region_mgr_delete_region - 0x0025BA64 (3.15)<br /> <br /> storage_region_mgr_set_acl - 0x0025A140 (3.15)<br /> <br /> storage_region_mgr_get_acl - 0x0025A298 (3.15)<br /> <br /> storage_region_mgr_update_partition_table - 0x00259924 (3.15)<br /> <br /> storage_region_acl_entry_reset - 0x0025C1A8 (3.15)<br /> <br /> storage_region_acl_entry_check_laid - 0x0025C1FC (3.15)<br /> <br /> storage_region_overlap - 0x0025C094 (3.15)<br /> <br /> storage_region_check_access - 0x00259EC8 (3.15)<br /> <br /> == Storage subsystem device ==<br /> <br /> device id = -1 <br /> <br /> *The storage subsystem is a storage device itself. <br /> *It's a pseudo device used to notify a LPAR when storage devices become e.g. ready. <br /> *Linux implements a loop and reads from this device and process notifications (adds new devices dynamically).<br /> <br /> === Notification Events ===<br /> <br /> List of supported notification events: <br /> <br /> *Notify Device Ready (0x1) <br /> *Notify Region Probe (0x2) <br /> *Notify Region Update (0x4)<br /> <br /> == RBD device ==<br /> <br /> *On Linux, ENCDEC and RBD devices are mapped to the storage device with device id 0.<br /> *On GameOS, ENCDEC device has device id 0 and RBD device has device id 2.<br /> <br /> device id = 0 <br /> <br /> block size = 2048 <br /> <br /> /dev/rbd0 <br /> <br /> *The RBD storage device uses ENCDEC device.<br /> <br /> === vtable ===<br /> <br /> 0x00354288 (3.15)<br /> <br /> === Member variables ===<br /> <br /> offset 0x1808 - request table (0x58 * 32 bytes)<br /> <br /> === Regions ===<br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Index <br /> ! Start sector <br /> ! Number of sectors<br /> |-<br /> | 0 <br /> | 0x0 <br /> | 0x7FFFFFFF<br /> |-<br /> | 1 <br /> | - <br /> | -<br /> |-<br /> | 2 <br /> | - <br /> | -<br /> |-<br /> | 3 <br /> | - <br /> | -<br /> |-<br /> | 4 <br /> | - <br /> | -<br /> |-<br /> | 5 <br /> | - <br /> | -<br /> |-<br /> | 6 <br /> | - <br /> | -<br /> |-<br /> | 7 <br /> | - <br /> | -<br /> |}<br /> <br /> === Supported Device Commands ===<br /> <br /> Here is the list of commands supported by RBD storage device. <br /> <br /> *The commands can be used with HV call '''lv1_storage_send_device_command'''. <br /> *However, before a command is executed HV does bit manipulation with it and checks it against the value of repository node '''ss.laid''' or also called '''[[Authority ID|LPAR Authority ID]]'''. If this test fails then the command is NOT executed.<br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Command <br /> ! Description<br /> |-<br /> | 0x1 <br /> | LV1_STORAGE_SEND_ATAPI_COMMAND<br /> |-<br /> | 0x10 <br /> | ATAPI Read Capacity<br /> |-<br /> | 0x11 <br /> | ATAPI Get Configuration<br /> |-<br /> | 0x13 <br /> | ATAPI Read TOC<br /> |-<br /> | 0x1A <br /> | ATAPI Get Event<br /> |}<br /> <br /> === /dev/rbd0 ===<br /> <br /> *This LPAR 1 device accesses RBD storage device. <br /> *A write to this device sends a device command to RBD storage device.<br /> <br /> == ENCDEC Device ==<br /> <br /> bus id = 4<br /> <br /> device id = 0<br /> <br /> *'''ENCDEC device''' has a request table of size '''32'''.<br /> * ENCDEC device supports upto 16 keys simultaneously.<br /> <br /> === Member variables ===<br /> <br /> offset 0xDC0 - request table (0x58 * 32 bytes)<br /> <br /> === Methods ===<br /> <br /> encdec_device_initialize - 0x00273524 (3.15)<br /> <br /> InitializeENCDEC - 0x00277310 (3.15)<br /> <br /> ENCDEC_ConnectBusDriver - 0x00275A98 (3.15)<br /> <br /> encdec_interrupt_handler - 0x00275C60 (3.15)<br /> <br /> encdec_process_interrupt - 0x0027526C (3.15)<br /> <br /> encdec_device_enqueue_decsec_request - 0x00273738 (3.15)<br /> <br /> encdec_device_do_request - 0x00273EA8 (3.15)<br /> <br /> encdec_device_do_SS_request - 0x00274940 (3.15)<br /> <br /> Encdec_KickDMA - 0x00277118 (3.15)<br /> <br /> encdec_device_is_in_testmode - 0x002756E0 (3.15)<br /> <br /> is_encdec_in_testmode - 0x002732D0 (3.15)<br /> <br /> === ENCDEC Device Commands ===<br /> <br /> *'''EdecKgen1''' command is used e.g. by '''Storage Manager Service 0x5003''' to generate random numbers. Storage Manager performs this command through LPAR 1 device '''/dev/encdec0'''.<br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Command <br /> ! Description<br /> |-<br /> | 0x81 <br /> | EdecKgen1<br /> |-<br /> | 0x82 <br /> | EdecKgen2<br /> |-<br /> | 0x83 <br /> | EdecKset/EdecKset NG<br /> |-<br /> | 0x84 <br /> | EdecKgenFlash<br /> |-<br /> | 0x85 <br /> | Encrypts/decrypts sectors (This command cannot be executed through ioctl interface !!!)<br /> |-<br /> | 0x86 <br /> | Encdec decsec (This command cannot be executed through ioctl interface !!!)<br /> |-<br /> | 0x87 <br /> | EdecSBClear<br /> |}<br /> <br /> ==== EdecKgen1 Command (0x81) ====<br /> <br /> *First, ENCDEC device key generator is flashed by executing the operation which is also performed during '''EdecKgenFlash''' command.<br /> *0x30 bytes of data are written to MMIO registers of ENCDEC device.<br /> *0x40 bytes of data are read from MMIO registers of ENCDEC device.<br /> *The base address of MMIO registers used in this command is '''0x24003006000'''.<br /> *I tested this command by directly communicating with ENCDEC device from GameOS by using HV call '''lv1_storage_send_device_command''' and it returns random data.<br /> <br /> Here is the data i sent to ENCDEC device:<br /> <br /> &lt;pre&gt;<br /> Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F<br /> <br /> 00000000 00 01 00 30 72 A7 88 EC FC A4 06 71 4C B1 50 C9 ...0r§ˆìü¤.qL±PÉ<br /> 00000010 FB E0 06 C2 74 B5 84 C4 E6 BD 1E 55 4E 36 E9 C9 ûà.Âtµ„Äæ½.UN6éÉ<br /> 00000020 D6 09 BC B4 79 A6 BC DE 60 A5 B2 41 C7 15 68 68 Ö.¼´y¦¼Þ`¥²AÇ.hh<br /> 00000030 82 1D 8F D6 00 00 00 00 00 00 00 00 00 00 00 00 ‚.Ö............<br /> &lt;/pre&gt;<br /> <br /> Here is the data i received back from ENCDEC device:<br /> <br /> &lt;pre&gt;<br /> Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F<br /> <br /> 00000000 00 02 00 00 57 CF 06 AF 53 85 1B B8 49 37 06 28 ....WÏ.¯S….¸I7.(<br /> 00000010 51 8D 4E F9 EF 76 E2 C7 17 EF 41 14 FA 6C 96 A8 QNùïvâÇ.ïA.úl–¨<br /> 00000020 7E 41 43 96 15 9A 0D 71 A9 B6 A6 B0 F1 96 15 C5 ~AC–.š.q©¶¦°ñ–.Å<br /> 00000030 30 25 C3 8E 6F AC FB 7F E7 2A FB E2 36 E1 85 92 0%ÃŽo¬ûç*ûâ6á…’<br /> 00000040 99 66 DB EC 00 00 00 00 00 00 00 00 00 00 00 00 ™fÛì............<br /> &lt;/pre&gt;<br /> <br /> Here is another data i received back from ENCDEC device by using the same command and data:<br /> <br /> &lt;pre&gt;<br /> Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F<br /> <br /> 00000000 00 02 00 00 57 CF 06 AF 53 85 1B B8 49 37 06 28 ....WÏ.¯S….¸I7.(<br /> 00000010 51 8D 4E F9 EF 76 E2 C7 17 EF 41 14 FA 6C 96 A8 QNùïvâÇ.ïA.úl–¨<br /> 00000020 7E 41 43 96 17 08 75 F6 66 2F 32 5A 9E 3E E7 FD ~AC–..uöf/2Zž&gt;çý<br /> 00000030 16 3E 18 CA B2 5E 90 84 29 7F 98 BC 73 36 0E 7B .&gt;.ʲ^„)˜¼s6.{<br /> 00000040 7D EC B6 37 00 00 00 00 00 00 00 00 00 00 00 00 }ì¶7............<br /> &lt;/pre&gt;<br /> <br /> ==== EdecKgen2 Command (0x82) ====<br /> <br /> *The base address of MMIO registers used in this command is '''0x24003006000'''.<br /> <br /> ==== EdecKset Command (0x83) ====<br /> <br /> ==== EdecKgenFlash Command (0x84) ====<br /> <br /> *The base address of MMIO registers used in this command is '''0x24003006000'''.<br /> *The command reads 4 bytes from address '''0x240030060A0''', sets bit 1 to 1 (old value | 0x2) and writes the new value to the same address.<br /> <br /> ==== Encdec decsec Command (0x86) ====<br /> <br /> *This command is used to decrypt/encrypt sectors.<br /> *FLASH, HDD and RBD storage devices use this command to decrypt/encrypt sectors.<br /> *This command cannot be executed through lv1_storage_send_device_command HV call, it's used by HV only internally.<br /> <br /> ==== EdecSBClear Command (0x87) ====<br /> <br /> *The command expects arg2 to be 4 or else it returns with an error.<br /> *This command is used e.g. by '''Storage Manager service 0x5002''' when ATA keys are deleted.<br /> <br /> === Test Mode ===<br /> <br /> * ENCDEC device has '''Test Mode'''<br /> * Some HV functions test it by reading a 4 byte value from address '''0x24003005200'''. If this value is 0 then ENCDEC device is NOT in '''Test Mode'''.<br /> <br /> === ENCDEC Request ===<br /> <br /> offset 0x34 - start sector (4 bytes)<br /> <br /> offset 0x38 - sector count (4 bytes)<br /> <br /> offset 0x3C - sector size (4 bytes)<br /> <br /> offset 0x40 - key (4 bytes)<br /> <br /> offset 0x44 - 0 = decrypt, 1 = encrypt (4 bytes)<br /> <br /> === Encrypting and Decrypting Sectors ===<br /> <br /> *HV passes to ENCDEC device addresses of 2 buffers: '''ENCDEC User Buffer''' and '''ENCDEC Descriptor Buffer'''.<br /> *'''ENCDEC User Buffer''' contains the following information: '''Start Sector''', '''Sector Count''', '''Sector Size''' and '''Key'''<br /> <br /> ==== ENCDEC User Buffer ====<br /> <br /> offset 0x0 - start sector (4 bytes)<br /> <br /> offset 0x4 - sector count (4 bytes)<br /> <br /> offset 0x8 - sector size (4 bytes)<br /> <br /> offset 0xC - key (4 bytes)<br /> <br /> == FLASH device ==<br /> <br /> device id = 1 <br /> <br /> *The FLASH device uses ENCDEC device.<br /> <br /> === vtable ===<br /> <br /> 0x00354450 (3.15) <br /> <br /> === Member variables ===<br /> <br /> offset 0x18F0 - request table (0x58 * 16 bytes)<br /> <br /> === Regions ===<br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Index <br /> ! Start sector <br /> ! Number of sectors<br /> |-<br /> | 0 <br /> | 0x0 <br /> | 0x8000<br /> |-<br /> | 1 <br /> | 0x8 <br /> | 0x77F8<br /> |-<br /> | 2 <br /> | 0x7900 <br /> | 0x100<br /> |-<br /> | 3 <br /> | 0x7A00 <br /> | 0x400<br /> |-<br /> | 4 <br /> | - <br /> | -<br /> |-<br /> | 5 <br /> | - <br /> | -<br /> |-<br /> | 6 <br /> | - <br /> | -<br /> |-<br /> | 7 <br /> | - <br /> | -<br /> |}<br /> <br /> === Supported Device Commands ===<br /> <br /> Here is the list of commands supported by FLASH StarShip 2 storage device. <br /> <br /> *The commands can be used with HV call '''lv1_storage_send_device_command'''. <br /> *However, before a command is executed HV does bit manipulation with it and checks it against the value of repository node '''ss.laid''' or also called '''[[Authority ID|LPAR Authority ID]]'''. If this test fails then the command is NOT executed.<br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Command <br /> ! Description<br /> |-<br /> | 0x31 <br /> | Dummy (This command does nothing, returns success immediately)<br /> |-<br /> | 0xA2 <br /> | -<br /> |-<br /> | 0xA3 <br /> | -<br /> |-<br /> | 0xA4 <br /> | -<br /> |-<br /> | 0xA6 <br /> | SS2 HW Reset<br /> |-<br /> | 0xAC <br /> | -<br /> |-<br /> | 0xAD <br /> | TEST<br /> |}<br /> <br /> === /dev/eflash1 and /dev/rflash1 ===<br /> <br /> *These LPAR 1 devices access region 0 of FLASH storage device. <br /> */dev/rflash1 is 16MB large <br /> *There is no file system on /dev/rflash1 <br /> *There is some sort of TOC (Table Of Contents) stored in it. It contains file names, offsets and sizes. <br /> *On /dev/rflash1 you will find '''lv0''', '''lv1ldr''', '''lv2_lernel.self''' and all the other important SELFs. <br /> *The files are encryted of course.<br /> <br /> ==== Content of /dev/rflash1 (FLASH storage device region 0, size 16 MB) ====<br /> <br /> *There is a main TOC which describes different regions on '''/dev/rflash1''' <br /> *It seems that TOC 0xC0000 and TOC 0x7C0000 contain the same files but from different SDK versions. <br /> *TOC 0xC0000 is SDK version 3.41 and TOC 0x7C0000 is SDK version 3.30 (look at the content of files '''sdk_version'''). <br /> *I guess it's because when i bought my PS 3 Slim it had Firmware 3.30 and i updated it to 3.41 for PSGroove. <br /> *TOC on '''/dev/rflash1''' is used by HV Processes to locate files and load them into memory, e.g. SPU modules. E.g. Process 6 loads '''spu_utoken_processor.self''' to decrypt and verify user tokens or SPL which runs in Process 5 loads '''spp_verifier.self''' from there in order to decrypt and verify profile files. And Update Manager stores e.g. there files.<br /> <br /> ===== TOC Entry =====<br /> <br /> A TOC entry is 0x30 bytes large. <br /> <br /> offset 0x0 - relative offset from this TOC to entry data <br /> <br /> offset 0x8 - entry data size <br /> <br /> offset 0x10 - entry name (max 32 characters) <br /> <br /> ===== Main TOC =====<br /> <br /> Here is a list of regions/files stored on '''/dev/rflash1''' i found in '''HV 3.41''' and dumped with PSGroove: <br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Entry Name <br /> ! TOC Offset <br /> ! Entry TOC Index <br /> ! Entry Relative Offset <br /> ! Entry Absolute Offset <br /> ! Entry Size<br /> |-<br /> | asecure_loader <br /> | 0x400 <br /> | 0 <br /> | 0x400 <br /> | 0x810 <br /> | 0x2E800<br /> |-<br /> | eEID <br /> | 0x400 <br /> | 1 <br /> | 0x2EC00 <br /> | 0x2F010 <br /> | 0x10000<br /> |-<br /> | cISD <br /> | 0x400 <br /> | 2 <br /> | 0x3EC00 <br /> | 0x3F010 <br /> | 0x800<br /> |-<br /> | cCSD <br /> | 0x400 <br /> | 3 <br /> | 0x3F400 <br /> | 0x3F810 <br /> | 0x800<br /> |-<br /> | trvk_prg0 <br /> | 0x400 <br /> | 4 <br /> | 0x3FC00 <br /> | 0x40010 <br /> | 0x20000<br /> |-<br /> | trvk_prg1 <br /> | 0x400 <br /> | 5 <br /> | 0x5FC00 <br /> | 0x60010 <br /> | 0x20000<br /> |-<br /> | trvk_pkg0 <br /> | 0x400 <br /> | 6 <br /> | 0x7FC00 <br /> | 0x80010 <br /> | 0x20000<br /> |-<br /> | trvk_pkg1 <br /> | 0x400 <br /> | 7 <br /> | 0x9FC00 <br /> | 0xA0010 <br /> | 0x20000<br /> |-<br /> | ros0 <br /> | 0x400 <br /> | 8 <br /> | 0xBFC00 <br /> | 0xC0010 <br /> | 0x700000<br /> |-<br /> | ros1 <br /> | 0x400 <br /> | 9 <br /> | 0x7BFC00 <br /> | 0x7C0010 <br /> | 0x700000<br /> |-<br /> | cvtrm <br /> | 0x400 <br /> | 10 <br /> | 0xEBFC00 <br /> | 0xEC0010 <br /> | 0x40000<br /> |}<br /> <br /> ===== asecure_loader Region TOC =====<br /> <br /> Here is a list of files stored on '''/dev/rflash1''' i found in '''HV 3.41''' and dumped with PSGroove: <br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Entry Name <br /> ! TOC Offset <br /> ! Entry TOC Index <br /> ! Entry Relative Offset <br /> ! Entry Absolute Offset <br /> ! Entry Size<br /> |-<br /> | metldr <br /> | 0x800 <br /> | 0 <br /> | 0x40 <br /> | 0x840 <br /> | 0xE920<br /> |}<br /> <br /> ===== ros1 Region TOC =====<br /> <br /> Here is a list of files stored on '''/dev/rflash1''' i found in '''HV 3.41''' and dumped with PSGroove: <br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Entry Name <br /> ! TOC Offset <br /> ! Entry TOC Index <br /> ! Entry Relative Offset <br /> ! Entry Absolute Offset <br /> ! Entry Size<br /> |-<br /> | creserved_0 <br /> | 0xC0000 <br /> | 0 <br /> | 0x460 <br /> | 0xC0470 <br /> | 0x40000<br /> |-<br /> | sdk_version <br /> | 0xC0000 <br /> | 1 <br /> | 0x40460 <br /> | 0x100470 <br /> | 0x8<br /> |-<br /> | lv1ldr <br /> | 0xC0000 <br /> | 2 <br /> | 0x40480 <br /> | 0x100490 <br /> | 0x1E948<br /> |-<br /> | lv2ldr <br /> | 0xC0000 <br /> | 3 <br /> | 0x5EE00 <br /> | 0x11EE10 <br /> | 0x16FF0<br /> |-<br /> | isoldr <br /> | 0xC0000 <br /> | 4 <br /> | 0x75E00 <br /> | 0x135E10 <br /> | 0x13074<br /> |-<br /> | appldr <br /> | 0xC0000 <br /> | 5 <br /> | 0x88E80 <br /> | 0x148E90 <br /> | 0x1E254<br /> |-<br /> | spu_pkg_rvk_verifier.self <br /> | 0xC0000 <br /> | 6 <br /> | 0xA70D4 <br /> | 0x1670E4 <br /> | 0xFACC<br /> |-<br /> | spu_token_processor.self <br /> | 0xC0000 <br /> | 7 <br /> | 0xB6BA0 <br /> | 0x176BB0 <br /> | 0x5C94<br /> |-<br /> | spu_utoken_processor.self <br /> | 0xC0000 <br /> | 8 <br /> | 0xBC834 <br /> | 0x17C844 <br /> | 0x65D0<br /> |-<br /> | sc_iso.self <br /> | 0xC0000 <br /> | 9 <br /> | 0xC2E04 <br /> | 0x182E14 <br /> | 0x1532C<br /> |-<br /> | aim_spu_module.self <br /> | 0xC0000 <br /> | 10 <br /> | 0xD8130 <br /> | 0x198140 <br /> | 0x4498<br /> |-<br /> | spp_verifier.self <br /> | 0xC0000 <br /> | 11 <br /> | 0xDC5C8 <br /> | 0x19C5D8 <br /> | 0xD7F0<br /> |-<br /> | mc_iso_spu_module.self <br /> | 0xC0000 <br /> | 12 <br /> | 0xE9DB8 <br /> | 0x1A9DC8 <br /> | 0x808C<br /> |-<br /> | me_iso_spu_module.self <br /> | 0xC0000 <br /> | 13 <br /> | 0xF1E44 <br /> | 0x1B1E54 <br /> | 0x88B8<br /> |-<br /> | sv_iso_spu_module.self <br /> | 0xC0000 <br /> | 14 <br /> | 0xFA6FC <br /> | 0x1BA70C <br /> | 0xC078<br /> |-<br /> | sb_iso_spu_module.self <br /> | 0xC0000 <br /> | 15 <br /> | 0x106774 <br /> | 0x1C6784 <br /> | 0x5DB0<br /> |-<br /> | default.spp <br /> | 0xC0000 <br /> | 16 <br /> | 0x10C524 <br /> | 0x1CC534 <br /> | 0x22A0<br /> |-<br /> | lv1.self <br /> | 0xC0000 <br /> | 17 <br /> | 0x10E800 <br /> | 0x1CE810 <br /> | 0x127DF0<br /> |-<br /> | lv0 <br /> | 0xC0000 <br /> | 18 <br /> | 0x236600 <br /> | 0x2F6610 <br /> | 0x3E678<br /> |-<br /> | lv2_kernel.self <br /> | 0xC0000 <br /> | 19 <br /> | 0x274C78 <br /> | 0x334C88 <br /> | 0x171B88<br /> |-<br /> | eurus_fw.bin <br /> | 0xC0000 <br /> | 20 <br /> | 0x3E6800 <br /> | 0x4A6810 <br /> | 0x70F94<br /> |-<br /> | emer_init.self <br /> | 0xC0000 <br /> | 21 <br /> | 0x457794 <br /> | 0x5177A4 <br /> | 0x7CDB8<br /> |-<br /> | hdd_copy.self <br /> | 0xC0000 <br /> | 22 <br /> | 0x4D454C <br /> | 0x59455C <br /> | 0x60D68<br /> |}<br /> <br /> ===== ros2 Region TOC =====<br /> <br /> Here is a list of files stored on '''/dev/rflash1''' i found in '''HV 3.41''' and dumped with PSGroove: <br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Entry Name <br /> ! TOC Offset <br /> ! Entry TOC Index <br /> ! Entry Relative Offset <br /> ! Entry Absolute Offset <br /> ! Entry Size<br /> |-<br /> | creserved_0 <br /> | 0x7C0000 <br /> | 0 <br /> | 0x460 <br /> | 0x7C0470 <br /> | 0x40000<br /> |-<br /> | sdk_version <br /> | 0x7C0000 <br /> | 1 <br /> | 0x40460 <br /> | 0x800470 <br /> | 0x8<br /> |-<br /> | lv1ldr <br /> | 0x7C0000 <br /> | 2 <br /> | 0x40480 <br /> | 0x800490 <br /> | 0x1E64C<br /> |-<br /> | lv2ldr <br /> | 0x7C0000 <br /> | 3 <br /> | 0x5EB00 <br /> | 0x81EB10 <br /> | 0x16E30<br /> |-<br /> | isoldr <br /> | 0x7C0000 <br /> | 4 <br /> | 0x75980 <br /> | 0x835990 <br /> | 0x12EC4<br /> |-<br /> | appldr <br /> | 0x7C0000 <br /> | 5 <br /> | 0x88880 <br /> | 0x848890 <br /> | 0x1DB64<br /> |-<br /> | spu_pkg_rvk_verifier.self <br /> | 0x7C0000 <br /> | 6 <br /> | 0xA63E4 <br /> | 0x8663F4 <br /> | 0xFACC<br /> |-<br /> | spu_token_processor.self <br /> | 0x7C0000 <br /> | 7 <br /> | 0xB5EB0 <br /> | 0x875EC0 <br /> | 0x5C94<br /> |-<br /> | spu_utoken_processor.self <br /> | 0x7C0000 <br /> | 8 <br /> | 0xBBB44 <br /> | 0x87BB54 <br /> | 0x65D0<br /> |-<br /> | sc_iso.self <br /> | 0x7C0000 <br /> | 9 <br /> | 0xC2114 <br /> | 0x882124 <br /> | 0x1532C<br /> |-<br /> | aim_spu_module.self <br /> | 0x7C0000 <br /> | 10 <br /> | 0xD7440 <br /> | 0x897450 <br /> | 0x4498<br /> |-<br /> | spp_verifier.self <br /> | 0x7C0000 <br /> | 11 <br /> | 0xDB8D8 <br /> | 0x89B8E8 <br /> | 0xD7F0<br /> |-<br /> | mc_iso_spu_module.self <br /> | 0x7C0000 <br /> | 12 <br /> | 0xE90C8 <br /> | 0x8A90D8 <br /> | 0x808C<br /> |-<br /> | me_iso_spu_module.self <br /> | 0x7C0000 <br /> | 13 <br /> | 0xF1154 <br /> | 0x8B1164 <br /> | 0x88B8<br /> |-<br /> | sv_iso_spu_module.self <br /> | 0x7C0000 <br /> | 14 <br /> | 0xF9A0C <br /> | 0x8B9A1C <br /> | 0xC078<br /> |-<br /> | sb_iso_spu_module.self <br /> | 0x7C0000 <br /> | 15 <br /> | 0x105A84 <br /> | 0x8C5A94 <br /> | 0x5DB0<br /> |-<br /> | default.spp <br /> | 0x7C0000 <br /> | 16 <br /> | 0x10B834 <br /> | 0x8CB844 <br /> | 0x22A0<br /> |-<br /> | lv1.self <br /> | 0x7C0000 <br /> | 17 <br /> | 0x10DB00 <br /> | 0x8CDB10 <br /> | 0x129040<br /> |-<br /> | lv0 <br /> | 0x7C0000 <br /> | 18 <br /> | 0x236B80 <br /> | 0x9F6B90 <br /> | 0x3E570<br /> |-<br /> | lv2_kernel.self <br /> | 0x7C0000 <br /> | 19 <br /> | 0x2750F0 <br /> | 0xA35100 <br /> | 0x1712D0<br /> |-<br /> | eurus_fw.bin <br /> | 0x7C0000 <br /> | 20 <br /> | 0x3E63C0 <br /> | 0xBA63D0 <br /> | 0x70F94<br /> |-<br /> | emer_init.self <br /> | 0x7C0000 <br /> | 21 <br /> | 0x457354 <br /> | 0xC17364 <br /> | 0x7FBB8<br /> |-<br /> | hdd_copy.self <br /> | 0x7C0000 <br /> | 22 <br /> | 0x4D6F0C <br /> | 0xC96F1C <br /> | 0x61518<br /> |}<br /> <br /> === Methods ===<br /> <br /> initialize_starship - 0x0028298C (3.15)<br /> <br /> SSOperation - 0x0027BFB0 (3.15)<br /> <br /> SSTransfer - 0x0027BE68 (3.15)<br /> <br /> FLASH_Memory_SS2_on_complete - 0x00278E48 (3.15)<br /> <br /> _FLASH_read_data - 0x0022D89C (3.15)<br /> <br /> _FLASH_write_data - 0x0022D8C8 (3.15)<br /> <br /> FLASH_SS2_HW_Reset - 0x0027BD1C (3.15)<br /> <br /> == HDD device ==<br /> <br /> device id = 2 <br /> <br /> block size = 512 <br /> <br /> *The HDD device uses ENCDEC device.<br /> <br /> === vtable ===<br /> <br /> 0x00353F48 (3.15) <br /> <br /> === Member variables ===<br /> <br /> offset 0x1590 - LBA48 capability flag (4 bytes)<br /> <br /> offset 0x17E8 - request table (0x58 * 16 bytes)<br /> <br /> offset 0x1DB8 - request timer active flag (1 byte)<br /> <br /> === Regions ===<br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Index <br /> ! Start sector <br /> ! Number of sectors<br /> |-<br /> | 0 <br /> | 0x0 <br /> | 0x950F8B0<br /> |-<br /> | 1 <br /> | 0x8 <br /> | 0x80000<br /> |-<br /> | 2 <br /> | 0x80018 <br /> | 0x7C8F898<br /> |-<br /> | 3 <br /> | 0x7D0F8B8 <br /> | 0x3FFFF8<br /> |-<br /> | 4 <br /> | 0x810F8B8 <br /> | 0x13FFFF8<br /> |-<br /> | 5 <br /> | - <br /> | -<br /> |-<br /> | 6 <br /> | - <br /> | -<br /> |-<br /> | 7 <br /> | - <br /> | -<br /> |}<br /> <br /> === Supported Device Commands ===<br /> <br /> Here is the list of commands supported by HDD storage device. <br /> <br /> *The commands can be used with HV call '''lv1_storage_send_device_command'''. <br /> *However, before a command is executed HV does bit manipulation with it and checks it against the value of repository node '''ss.laid''' or also called '''[[Authority ID|LPAR Authority ID]]'''. If this test fails then the command is NOT executed.<br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Command <br /> ! Description<br /> |-<br /> | 0x2 <br /> | LV1_STORAGE_SEND_ATA_COMMAND<br /> |-<br /> | 0x10 <br /> | -<br /> |-<br /> | 0x1B <br /> | ATA Set UltraDMA Mode<br /> |-<br /> | 0x1C <br /> | ATA Set Features PIO Flow Control Transfer Mode<br /> |-<br /> | 0x21 <br /> | -<br /> |-<br /> | 0x22 <br /> | ATA Identify Device<br /> |-<br /> | 0x23 <br /> | LV1_STORAGE_ATA_HDDOUT (ATA Flush Cache Ext)<br /> |-<br /> | 0x26 <br /> | ATA Read Alternative Status<br /> |-<br /> | 0x27 <br /> | ATA Read Error<br /> |-<br /> | 0x28 <br /> | -<br /> |-<br /> | 0x31 <br /> | ATA Flush Cache/ATA Flush Cache Ext<br /> |-<br /> | 0x32 <br /> | ATA Standby Immediate<br /> |-<br /> | 0x33 <br /> | -<br /> |}<br /> <br /> == Virtual FLASH device (VFLASH) ==<br /> <br /> device id = 3 (on Linux)/ 4 (on GameOS) <br /> <br /> block size = 512 <br /> <br /> *It's a pseudo device. <br /> *'''This storage device redirects all requests to the region 1 of HDD storage device&amp;nbsp;!!!'''<br /> <br /> === vtable ===<br /> <br /> 0x00353D88 (3.15) <br /> <br /> === Member variables ===<br /> <br /> offset 0xD60 - pointer to a storage device that all requests are redirected to <br /> <br /> offset 0xD68 - region ID of the storage device that all requests are redirected to <br /> <br /> === Regions ===<br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Index <br /> ! Start sector <br /> ! Number of sectors<br /> |-<br /> | 0 <br /> | 0x0 <br /> | 0x80000<br /> |-<br /> | 1 <br /> | 0x8 <br /> | 0x75F8<br /> |-<br /> | 2 <br /> | 0x7800 <br /> | 0x63E00<br /> |-<br /> | 3 <br /> | 0x6B600 <br /> | 0x8000<br /> |-<br /> | 4 <br /> | 0x73600 <br /> | 0x400<br /> |-<br /> | 5 <br /> | 0x73A00 <br /> | 0x2000<br /> |-<br /> | 6 <br /> | 0x77C00 <br /> | 0x200<br /> |-<br /> | 7 <br /> | - <br /> | -<br /> |}<br /> <br /> === Supported Device Commands ===<br /> <br /> Here is the list of commands supported by VFLASH storage device. <br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Index <br /> ! Start sector <br /> ! Number of sectors<br /> |-<br /> | 0x31 <br /> | ATA Flush Cache/ATA Flush Cache Ext<br /> | -<br /> |}<br /> <br /> === /dev/rflash1_1x and /dev/rflash_1xp ===<br /> <br /> *These LPAR 1 devices access region 5 of UNKNOWN storage device. <br /> *In region 5 of UNKNOWN storage device is e.g. LINUX image stored.<br /> <br /> === GameOS's dev_flash ===<br /> <br /> *dev_flash has '''FAT16''' file system.<br /> *Accesses to GameOS's dev_flash are routed to '''UNKNOWN storage device region 2'''<br /> *To decrypt sectors read from this region use as '''flags 0x4''' !!! Without using '''flags 0x4''' the sectors will be encrypted.<br /> *The sectors are decrypted not by GameOS but by ENCDEC device.<br /> <br /> Here is a snippet from raw '''dev_flash''' dump made with HV call '''lv1_storage_read (flags 0x4)''' from GameOS:<br /> <br /> &lt;pre&gt;<br /> Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F<br /> <br /> 00000000 E9 00 00 20 20 20 20 20 20 20 20 00 02 10 10 00 é.. .....<br /> 00000010 02 00 02 00 00 F8 70 00 00 00 00 00 00 00 00 00 .....øp.........<br /> 00000020 00 3E 06 00 00 00 29 00 00 00 00 4E 4F 20 4E 41 .&gt;....)....NO NA<br /> 00000030 4D 45 20 20 20 20 46 41 54 31 36 20 20 20 00 00 ME FAT16 ..<br /> 00000040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00000060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00000070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00000080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00000090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000000A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000000B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000000C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000000D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000000E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000000F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00000100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00000110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00000120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00000130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00000140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00000150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00000160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00000170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00000180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00000190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000001A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000001B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000001C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000001D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000001E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000001F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA ..............Uª<br /> &lt;/pre&gt;<br /> <br /> <br /> === Methods ===<br /> <br /> initialize_virtual_flash - 0x00282954 (3.15)<br /> <br /> == Enqueueing and Scheduling of Storage Requests ==<br /> <br /> *HV uses a simple '''FIFO''' scheduling algorithm for Storage Requests and a request timeout.<br /> *Each storage device has a table of size '''16''' to store incomming and pending Storage Requests<br /> *ENCDEC storage device has a table of size '''32''' to store incomming and pending Storage Requests<br /> *When a new Storage Request is submitted e.g. by HV call '''lv1_storage_read''' or '''lv1_storage_write''', the table is scanned for a free slot, if there are no pending Storage Requests then the Storage Request is executed immediately<br /> *When a Storage Request is completed, the finished Storage Reuqest is passed to function '''storage_device_async_request_complete''' and the table of Storage Requests is scanned again for the next pending Storage Request which will be executed<br /> * There are 2 types of Storage Requests: '''Read/Write (1)''' and '''Device Command (2)'''.<br /> * Read and Write Storage Requests use the same HV function of a Storage Device to enqueue the request. Before Write Storage Request is inserted into the Request Table of a Storage Device, the '''flags''' parameter passed e.g. in '''lv1_storage_read''' or '''lv1_storage_write''' is '''ored''' with '''0x8'''. That is how HV differentiates between Read and Write Storage Requests.<br /> <br /> === Storage Device Request Table ===<br /> <br /> *Each request slot is of size '''0x58'''<br /> <br /> ==== Request Slot ====<br /> <br /> offset 0x0 - state: 1 - free, 2 - ? (4 bytes)<br /> <br /> offset 0x4 - type: 1 - Read/Write, 2 - Command, 0x86 - ENCDEC command (4 bytes)<br /> <br /> offset 0x10 - request tag (8 bytes)<br /> <br /> offset 0x20 - start sector (8 bytes)<br /> <br /> offset 0x28 - sector count (4 bytes)<br /> <br /> ==== ENCDEC Storage Device ====<br /> <br /> *Request Table begins at '''offset 0xDC0''' of ENCDEC storage device.<br /> <br /> ==== RBD Storage Device ====<br /> <br /> *Request Table begins at '''offset 0x1808''' of RBD storage device.<br /> <br /> ==== FLASH Storage Device ====<br /> <br /> *Request Table begins at '''offset 0x18F0''' of FLASH storage device.<br /> <br /> ==== HDD Storage Device ====<br /> <br /> *Request Table begins at '''offset 0x17E8''' of HDD storage device.<br /> <br /> === Methods ===<br /> <br /> storage_device_HDD_enqueue_request - 0x0026E21C (3.15)<br /> <br /> storage_device_HDD_do_device_command - 0x0026CED0 (3.15)<br /> <br /> storage_device_HDD_do_request - 0x0026DED8 (3.15)<br /> <br /> storage_device_HDD_request_complete - 0x0026E57C (3.15)<br /> <br /> storage_device_FLASH_enqueue_request - 0x0027A518 (3.15)<br /> <br /> storage_device_FLASH_do_request - 0x00278D1C (3.15)<br /> <br /> storage_device_FLASH_do_device_command - 0x00279250 (3.15)<br /> <br /> FLASH_Memory_SS2_on_complete - 0x00278E48 (3.15)<br /> <br /> storage_device_async_request_complete - 0x00255184 (3.15)<br /> <br /> storage_device_TransLparAddrToPhysAddr - 0x002533B4 (3.15)<br /> <br /> storage_device_add_async_request_locked - 0x002527B8 (3.15)<br /> <br /> storage_device_RBD_enqueue_request - 0x002723F0 (3.15)<br /> <br /> storage_device_RBD_do_request - 0x0025EF70 (3.15)<br /> <br /> storage_device_RBD_do_next_request - 0x00270994 (3.15)<br /> <br /> storage_device_RBD_request_complete - 0x00271FD4 (3.15)<br /> <br /> storage_device_rbd_do_request - 0x0025EE94 (3.41)<br /> <br /> storage_device_rbd_do_device_command - 0x0027061C (3.41)<br /> <br /> == Encryption and Decryption of Storage Devices ==<br /> <br /> === HDD ===<br /> <br /> *'''ENCDEC peripheral device''' is used for HDD encryption/decryption<br /> *Write request is first passed to ENCDEC device for encryption. When ENCDEC device is done, it calls a callback and passes the encrypted data to the callback. The callback writes the encrypted data with '''ATA WriteDMAExt''' command to HDD.<br /> *When a storage device request is processed by HV, Storage Subsystem checks if cryptography is enabled for the storage device.<br /> *HV checks 1 byte of data owned by the storage device and when the value of this flag is '''not 0''' then it uses encryption/decryption.<br /> *'''By setting this flag to 0 at runtime, encryption/decryption of storage devices can be disabled at runtime'''.<br /> *'''We could patch lv1.self so that encryption/decryption of storage devices is disabled permanently'''.<br /> *HDD sectors can be both decrypted and encrypted with HV calls<br /> <br /> ==== UFS2 ====<br /> <br /> *'''Superblock''' starts at '''sector 0x80'''.<br /> *At the end of the superblock structure you will find '''UFS2 signature 0x19540119'''.<br /> <br /> Here is the decrypted '''superblock''' of UFS2 filesystem:<br /> <br /> &lt;pre&gt;<br /> Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F<br /> <br /> 00010000 00 00 00 00 00 00 00 00 00 00 00 28 00 00 00 30 ...........(...0<br /> 00010010 00 00 00 38 00 00 0B B8 00 00 00 00 00 00 00 00 ...8...¸........<br /> 00010020 00 00 00 00 00 00 00 00 00 00 78 10 00 00 01 5C ..........x....\<br /> 00010030 00 00 40 00 00 00 08 00 00 00 00 08 00 00 00 08 ..@.............<br /> 00010040 00 00 00 00 00 00 00 00 FF FF C0 00 FF FF F8 00 ........ÿÿÀ.ÿÿø.<br /> 00010050 00 00 00 0E 00 00 00 0B 00 00 00 08 00 00 08 00 ................<br /> 00010060 00 00 00 03 00 00 00 02 00 00 08 00 00 00 00 00 ................<br /> 00010070 00 00 00 00 00 00 08 00 00 00 00 40 00 00 00 00 ...........@....<br /> 00010080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010090 00 00 00 00 F5 35 BD 07 00 00 00 00 00 00 18 00 ....õ5½.........<br /> 000100A0 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 ..@.............<br /> 000100B0 00 00 00 00 00 00 00 00 00 00 5C 00 00 01 6F 70 ..........\...op<br /> 000100C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000100D0 00 00 00 80 2F 63 65 6C 6C 5F 6D 77 5F 63 66 73 ...€/cell_mw_cfs<br /> 000100E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000100F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000101A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000101B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000101C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000101D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000101E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000101F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000102A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000102B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000102C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000102D0 00 00 00 00 00 00 00 7C 00 00 00 00 00 00 00 00 .......|........<br /> 000102E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000102F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010330 00 00 00 00 00 00 00 00 80 00 00 00 00 55 FD 70 ........€....Uýp<br /> 00010340 80 00 00 00 00 55 E0 00 80 00 00 00 00 55 F8 00 €....Uà.€....Uø.<br /> 00010350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 00 ..............@.<br /> 00010360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000103A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000103B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000103C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000103D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000103E0 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 ................<br /> 000103F0 00 00 00 00 00 00 00 3C 00 00 00 00 00 3B D3 23 .......&lt;.....;Ó#<br /> 00010400 00 00 00 00 00 7D 0F 82 00 00 00 00 00 00 00 9F .....}.‚.......Ÿ<br /> 00010410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010430 00 00 00 00 49 B0 5E 3B 00 00 00 00 01 F2 3E 26 ....I°^;.....ò&gt;&amp;<br /> 00010440 00 00 00 00 01 E2 86 3B 00 00 00 00 00 00 0B B8 .....â†;.......¸<br /> 00010450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000104A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 00 ..............@.<br /> 000104B0 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 ...@............<br /> 000104C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000104D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000104E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 000104F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00010520 00 00 00 03 00 00 00 08 00 00 00 78 00 00 00 00 ...........x....<br /> 00010530 00 00 80 10 02 02 FF FF 00 00 00 00 00 00 3F FF ..€...ÿÿ......?ÿ<br /> 00010540 00 00 00 00 00 00 07 FF 00 00 00 00 00 00 00 00 .......ÿ........<br /> 00010550 00 00 00 00 00 00 00 00 00 00 00 00 19 54 01 19 .............T..<br /> &lt;/pre&gt;<br /> <br /> Other examples:&lt;br /&gt;<br /> http://pastebin.com/3L241qu3<br /> http://pastebin.com/WJv40nUQ<br /> http://pastie.org/1529241<br /> http://pastie.org/1588747<br /> <br /> === FLASH ===<br /> <br /> === RBD ===<br /> <br /> == SATA/ATA/ATAPI ==<br /> <br /> === ATA Interrupt Handler ===<br /> <br /> 0x0026B984 (3.15) <br /> <br /> === ATA_SetDMA ===<br /> <br /> 0x00268ADC (3.15) <br /> <br /> === ATA_make_PRD_table ===<br /> <br /> 0x00267DB4 (3.15) <br /> <br /> This function initializes a PRD (Physical Region Descriptor) table. <br /> <br /> === ClearPATACInterrupt ===<br /> <br /> 0x00267CAC (3.15) <br /> <br /> === EnablePATACInterrupt ===<br /> <br /> 0x00267D44 (3.15) <br /> <br /> === DisablePATACInterrupt ===<br /> <br /> 0x00267AF0 (3.15) <br /> <br /> === ATA_read_AltStatus_reg ===<br /> <br /> 0x00267C40 (3.15) <br /> <br /> This function reads the ATA Alternate Status Register and returns it's value. <br /> <br /> === ATA_write_DATA_reg ===<br /> <br /> 0x00268A10 (3.15) <br /> <br /> This function writes a 16-bit value to the ATA Data Register. <br /> <br /> === ATA_read_DATA_reg ===<br /> <br /> 0x0026887C (3.15) <br /> <br /> === ATA_write_DATA ===<br /> <br /> 0x0026635C (3.15) <br /> <br /> This function writes several 16-bit values to the ATA Data register. <br /> <br /> === ATA_write_CMD_reg ===<br /> <br /> 0x002688A0 (3.15) <br /> <br /> === ATA_read_Error_reg ===<br /> <br /> 0x00267BD4 (3.15) <br /> <br /> === ATA_write_Features_reg ===<br /> <br /> 0x002689F0 (3.15) <br /> <br /> === ATA_write_DevCtrl_reg ===<br /> <br /> 0x00267BB4 (3.15) <br /> <br /> === ATA_write_TaskFile_regs ===<br /> <br /> 0x00266BC8 (3.15) 0x002665A0 (3.15) <br /> <br /> === ATA_send_ATAPI_cmd ===<br /> <br /> 0x002655F4 (3.15) <br /> <br /> === ATA_send_cmd ===<br /> <br /> 0x0026580C (3.15) <br /> <br /> === ATA_send_ReadSectors_cmd ===<br /> <br /> This function uses LBA28. <br /> <br /> 0x0025D2B4 (3.15) <br /> <br /> === ATA_send_WriteSectors_cmd ===<br /> <br /> This function uses LBA28. <br /> <br /> 0x0025CEF4 (3.15) <br /> <br /> === ATA_send_ReadDMA_cmd ===<br /> <br /> This function uses LBA28. <br /> <br /> 0x0025D380 (3.15) <br /> <br /> === ATA_send_WriteDMA_cmd ===<br /> <br /> This function uses LBA28. <br /> <br /> 0x0025CFB8 (3.15) <br /> <br /> === ATA_send_ReadDMAExt_cmd ===<br /> <br /> This function uses LBA48. <br /> <br /> 0x0025D74C (3.15) <br /> <br /> === ATA_send_WriteDMAExt_cmd ===<br /> <br /> This function uses LBA48. <br /> <br /> 0x0025D664 (3.15) <br /> <br /> === ATA_send_IdentifyDevice_cmd ===<br /> <br /> 0x0025D4D8 (3.15) <br /> <br /> === ATA_send_IdentifyPacketDevice_cmd ===<br /> <br /> 0x0025D448 (3.15) <br /> <br /> === ATA_send_FlushCache_cmd ===<br /> <br /> 0x0025D5E8 (3.15) <br /> <br /> === ATA_send_FlushCacheExt_cmd ===<br /> <br /> 0x0025D568 (3.15) <br /> <br /> === ATA_send_StandbyImmediate_cmd ===<br /> <br /> 0x0025D07C (3.15) <br /> <br /> === ATA_send_SetFeatures_cmd ===<br /> <br /> 0x0025D208 (3.15) <br /> <br /> === ATA_send_SMARTEnable_cmd ===<br /> <br /> 0x0025D0F8 (3.15) <br /> <br /> === ATA_send_SMARTSaveAttributeValue_cmd ===<br /> <br /> 0x0025D180 (3.15) <br /> <br /> === ATA_SetUDMAMode ===<br /> <br /> 0x00260EE8 (3.15) <br /> <br /> ==== Parameters ====<br /> <br /> r5 - UltraDMA mode (0-5)<br /> <br /> == Booting a Bootloader from VFLASH ==<br /> <br /> Coming soon !!!<br /> <br /> = High precision timers =<br /> <br /> These timers are used e.g. in SATA/ATA/ATAPI driver. <br /> <br /> == timer_add ==<br /> <br /> 0x002C3F2C (3.15) <br /> <br /> == timer_del ==<br /> <br /> 0x002C41AC (3.15) <br /> <br /> == timer_run_expired ==<br /> <br /> This function is called from HDEC interrupt handler. <br /> <br /> 0x002C4020 (3.15) <br /> <br /> == timer_set_HDEC ==<br /> <br /> 0x002BCF80 (3.15) <br /> <br /> = SPE =<br /> <br /> There are 3 SPE classes. <br /> <br /> The HV call '''lv1_construct_logical_spe''' can create LogicalSPE, SPEType1 and SPEType2 objects. <br /> <br /> The '''syscall 0x10040''' creates only SPEType1 objects. <br /> <br /> The SPEType1 and SPEType2 objects cannot be created when isolation mode is disabled. The right most bit of repository node '''sys.lv1.iso_enbl''' is checked and when it's not 1 then the SPEType1 and SPEType2 objects cannot be created. In LPAR 1, this check succeedes always. Only in LPARs different from 1, the repository node '''sys.lv1.iso_enbl''' is checked. <br /> <br /> == LogicalSPE ==<br /> <br /> SPE type = 0 <br /> <br /> Objects of this class are used e.g. on Linux. <br /> <br /> === vtable ===<br /> <br /> 0x00358360 (3.15) <br /> <br /> offset 0x20 - pointer to TOC entry of interrupt handler for SPE <br /> <br /> === Member variables ===<br /> <br /> offset 0x38 - pointer to LPAR obj that owns this SPE obj <br /> <br /> offset 0x78 - table of pointers to Outlet objects (3 * 8 bytes, one for each Class 0-2) <br /> <br /> offset 0xB0 - pointer to VAS object <br /> <br /> offset 0xC8 - pointer to Logical PPE object <br /> <br /> offset 0xE0 - SPE id <br /> <br /> offset 0x1A0 - pointer to MMIO Memory Region object <br /> <br /> offset 0x1A8 - pointer to Shadow Registers Memory Region object <br /> <br /> === Objects ===<br /> <br /> Here is the list of logical SPE objects i found in HV 3.15: <br /> <br /> *0x003A82E0 - SPE id 0 <br /> *0x003A8660 - SPE id 1 <br /> *0x003ABA00 - SPE id 2 <br /> *0x003B4010 - SPE id 3 <br /> *0x003B4D60 - SPE id 4 <br /> *0x003B5970 - SPE id 5<br /> <br /> == SPEType1 ==<br /> <br /> SPE type = 1 <br /> <br /> === vtable ===<br /> <br /> 0x00359750 <br /> <br /> === Member Variables ===<br /> <br /> offset 0x198 - pointer to MMIO Memory Region object <br /> <br /> offset 0x1A0 - pointer to Shadow Registers Memory Region object <br /> <br /> == SPEType2 ==<br /> <br /> SPE type = 2 <br /> <br /> === vtable ===<br /> <br /> 0x00359790 <br /> <br /> == SPE Register Shadow Area ==<br /> <br /> *HV createas a SPE Register Shadow Area for each contstructed SPE. <br /> *The area is 1 4Kb page of physical memory. <br /> *When SPE state changes then HV updates data in this area. <br /> *The value of '''shadow_addr''' that is returned by '''lv1_construct_logical_spe''' is a LPAR start address of this area and it cannot be accessed until it's mapped in the HTAB. <br /> *The SPE Register Shadow Area may be mapped only with read-only page protection or else HV call '''lv1_insert_htab_entry''' fails. I tested it with PSGroove and could map the whole memory range and read it after i constructed SPE of type 1 with '''lv1_construct_logical_spe'''. <br /> *The shadow_addr is also returned by '''syscall_10040''' (that creates SPE of type 1) but it returns already mapped Process address so HV Processes do not have to map it in HTAB. <br /> *When an isoated SPU is done, HV Processes checks the value at offset 0x30 to determine if the SPU execution was successfull or not. <br /> *GameOS checks also the value at offset 0x30 in the SPE Shadow Area. <br /> *When GameOS creates SPE of type 1 then it maps only SPE Register Shadow Area into it's address space.<br /> <br /> === SPE Register Shadow Area Offsets ===<br /> <br /> 0x30 - SPU_Status register value (4 bytes) <br /> <br /> 0xF10 -&amp;nbsp;? <br /> <br /> 0xF18 -&amp;nbsp;? <br /> <br /> ==== Stop Code ====<br /> <br /> *The high-order 16 bit of SPU_Status register value is a Stop Code.<br /> <br /> Here is the list of Stop Codes i extracted from HV Processes which read the value at offset 0x30 when SPU is done: <br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Value <br /> ! Description<br /> |-<br /> | 0xA <br /> | Success<br /> |-<br /> | 0xC <br /> | Access Violation (LPAR auth id error)<br /> |-<br /> | 0xE <br /> | &amp;nbsp;?<br /> |-<br /> | 0xF <br /> | Revoked<br /> |-<br /> | 0x12 <br /> | Invalid Parameter<br /> |-<br /> | 0x13 <br /> | &amp;nbsp;?<br /> |-<br /> | 0x17 <br /> | Invalid Parameter<br /> |-<br /> | 0x25 <br /> | &amp;nbsp;?<br /> |}<br /> <br /> == SPU_send_MFC_cmd ==<br /> <br /> 0x002B09B0 (3.15) <br /> <br /> This function programs a MFC. <br /> <br /> == SPU_write_MFC_cmd_status_reg ==<br /> <br /> 0x002AEE70 (3.15) <br /> <br /> == SPU_write_Sig_Notify1_reg ==<br /> <br /> 0x002AEF4C (3.15) <br /> <br /> == SPU_write_Sig_Notify2_reg ==<br /> <br /> 0x002AEF30 (3.15) <br /> <br /> == SPU_write_Sig_Notify1_and_Notify2 ==<br /> <br /> 0x002B0A78 (3.15) <br /> <br /> == SPU_enable_iso_load_request ==<br /> <br /> 0x002AEDE0 (3.15) <br /> <br /> == SPU_iso_load_request ==<br /> <br /> 0x002AEED0 (3.15) <br /> <br /> == SPU_enable_runcntl ==<br /> <br /> 0x002AEB24 (3.15) <br /> <br /> == SPU_stop_request ==<br /> <br /> 0x002AEEF0 (3.15) <br /> <br /> == SPU_run_request ==<br /> <br /> 0x002AEF10 (3.15) <br /> <br /> == SPU_read_status_reg ==<br /> <br /> 0x002AE978 (3.15) <br /> <br /> == SPU_read_Mbox_Stat_reg ==<br /> <br /> 0x002AE998 (3.15) <br /> <br /> == lv1_undocumented_function_62 ==<br /> <br /> Updates SLB entry. <br /> <br /> === Parameters ===<br /> <br /> %r3 - SPE id <br /> <br /> %r4 -&amp;nbsp;? (valid values: 0 - 3) <br /> <br /> %r5 - SLB entry index (valid values: 0 - 7) <br /> <br /> %r6 - ESID <br /> <br /> %r7 - VSID <br /> <br /> == spe_type1_interrupt_handler ==<br /> <br /> 0x0030E238 (3.15) <br /> <br /> == spe_type2_interrupt_handler ==<br /> <br /> 0x003103F8 (3.15) <br /> <br /> == spe_type3_interrupt_handler ==<br /> <br /> 0x002F36F4 (3.15) <br /> <br /> == Isolation ==<br /> <br /> === Loaders Table ===<br /> <br /> *'''All the binary files needed for isolation and decryption are already stored in HV memory&amp;nbsp;!!!''' <br /> *They are probably loaded during HV initialization from FLASH. <br /> *The table has 9 entries. <br /> *Each entry is 16 bytes large.<br /> <br /> 0x00010100 (3.15) <br /> <br /> ===== Loaders Table Entry =====<br /> <br /> offset 0x0 - pointer to data in memory <br /> <br /> offset 0x8 - size of data <br /> <br /> Here are the contents of the Loaders Table from HV 3.15: <br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Index <br /> ! Name <br /> ! Address of Data in HV Dump <br /> ! Size of Data<br /> ! Entry Id<br /> |-<br /> | 0 <br /> | lv1ldr <br /> | 0x0C150000 <br /> | 0x1E5CC<br /> | 0x01<br /> |-<br /> | 1 <br /> | metldr <br /> | 0x00011000 <br /> | 0xE8D0<br /> | 0x00<br /> |-<br /> | 2 <br /> | lv2ldr <br /> | 0x00020000 <br /> | 0x16DA0<br /> | 0x02<br /> |-<br /> | 3 <br /> | isoldr <br /> | 0x00055000 <br /> | 0x12E44<br /> | 0x04<br /> |-<br /> | 4 <br /> | appldr <br /> | 0x00037000 <br /> | 0x1DAE4<br /> | 0x03<br /> |-<br /> | 5 <br /> | EID0 <br /> | 0x00068000 <br /> | 0x860<br /> | 0x0C<br /> |-<br /> | 6 <br /> | QA Flag <br /> | 0x00069010 <br /> | 0x8<br /> | 0x0F<br /> |-<br /> | 7 <br /> | QA Flag Token <br /> | 0x00069020 <br /> | 0x50<br /> | 0x10<br /> |-<br /> | 8 <br /> | Trace Level <br /> | 0x00069070 <br /> | 0x8<br /> | 0x11<br /> |}<br /> <br /> ==== Methods ====<br /> <br /> get_iso_loaders_tab - 0x002B0B70 (3.15) <br /> <br /> iso_loaders_tab_get_entry - 0x002B0CB8 (3.15) <br /> <br /> === metldr ===<br /> <br /> ==== Loading metldr ====<br /> <br /> *Physical/Virtual memory address of an isolation module that should be loaded by metldr is written into SPU register '''SPU_In_Mbox'''. The SPU register '''SPU_In_Mbox''' is 32bit, so 64bit memory address is written in 2 steps. <br /> *MFC relocation is turned off by clearing '''R-bit''' in SPU register '''MFC_SR1'''. By doing this, HV enables real address mode for MFC of SPU. <br /> *On GameOS, it also works with relocation on. You just have to initialize SLB of SPU and insert valid SLB entries. <br /> *Physical/Virtual memory address of '''metldr''' is written to SPU registers '''Sig_Notify1''' and '''Sig_Notify2''' <br /> *Isolation load request is enabled by writing SPU register '''SPU_PrivCntl''' <br /> *Isolation load request is made by writing value '''0x3''' into SPU register '''SPU_RunCntl'''<br /> <br /> ==== Methods ====<br /> <br /> SPE_load_request_metldr - 0x002B00A4 (3.15) <br /> <br /> === lv2ldr ===<br /> <br /> *'''lv2ldr''' is used to decrypt '''lv2_kernel.self''' <br /> *syscalls '''0x10042''' and '''0x1004A''' use '''lv2ldr''' <br /> *syscall '''0x10042''' is used by HV Process 3 during LV2 LPAR construction <br /> *syscall '''0x1004A''' uses different parameters as syscall '''0x10042'''<br /> <br /> ==== Methods ====<br /> <br /> SPE_load_request_lv2ldr_1 - 0x002AE82C (3.15) <br /> <br /> SPE_load_request_lv2ldr_2 - 0x002AE8D8 (3.15) <br /> <br /> ==== Loading lv2ldr ====<br /> <br /> *64 bit memory address of '''lv2ldr''' is written into 32 bit SPU register '''SPU_In_Mbox''' <br /> *'''metldr''' is loaded<br /> <br /> === isoldr ===<br /> <br /> *'''isoldr''' is used for executing isolated SPUs <br /> *syscall '''0x10043''' and HV call '''lv1_undocumented_function_209''' use '''isoldr''' to execute isolated SPUs <br /> *'''EID0 data''' is transferred to '''Local Storage Address 0x3E400''' by MFC <br /> *'''Revoke List For Program''' is transferred to '''Local Storage Address 0x3F000''' by MFC<br /> <br /> ==== Revoke List For Programs ====<br /> <br /> 0x00361980 (3.15) <br /> <br /> ==== Methods ====<br /> <br /> SPE_load_request_isoldr - 0x002B0394 <br /> <br /> ==== Loading isoldr ====<br /> <br /> *64 bit memory address of '''isoldr''' is written into 32 bit SPU register '''SPU_In_Mbox''' <br /> *'''metldr''' is loaded<br /> <br /> === appldr ===<br /> <br /> *'''appldr''' is used for decryption of SELFs or EDATs<br /> *HV call '''lv1_authenticate_program_segment''' loads '''appldr'''<br /> <br /> ==== Methods ====<br /> <br /> SPE_load_request_appldr - 0x002AE900 <br /> <br /> ==== Loading appldr ====<br /> <br /> *64 bit memory address of '''isoldr''' is written into 32 bit SPU register '''SPU_In_Mbox''' <br /> *'''metldr''' is loaded<br /> <br /> ==== Decrypting SELFs with appldr and lv1_authenticate_program_segment ====<br /> <br /> *'''lv1_authenticate_program_segment''' loads and prepares '''appldr''' for SELF decryption. <br /> *When '''appldr''' is ready to decrypt data, it sends a message via mailbox. <br /> *The address and the size of the encrypted data is passed to '''appldr''' via a shared memory.<br /> <br /> = Socket =<br /> <br /> The socket supports only one address family '''0x1F''', one socket type '''0''' and one protocol '''0'''. <br /> <br /> == Socket address ==<br /> <br /> Socket address is called port ID. Valid port IDs are 0-63. Port ID 0 is reserved. <br /> <br /> == Socket state ==<br /> <br /> 2 - LISTEN <br /> <br /> == Socket table ==<br /> <br /> The socket table contains 64 entries, one for each port ID. Each entry is 16 bytes large. <br /> <br /> The socket table is at 0x0035F6E8 (3.15). <br /> <br /> Here is the list of opened sockets i found in HV 3.15: <br /> <br /> *0x00091FE0 (port ID 0x23, accepts connections) <br /> *0x00127850 (port ID 0x24, accepts connections) <br /> *0x0012F810 (port ID 0x25, accepts connections)<br /> <br /> === Socket table entry ===<br /> <br /> offset 0x0 - pointer to Socket obj <br /> <br /> offset 0x8 - socket accepts connections or not (0 - does not accept, 1 - accepts, 1 byte) <br /> <br /> == vtable ==<br /> <br /> 0x00355DB0 (3.15) <br /> <br /> offset 0xB0 - bind <br /> <br /> offset 0xB8 - listen <br /> <br /> offset 0xC8 - connect <br /> <br /> == Member variables ==<br /> <br /> offset 0x360 - socket state (4 bytes) <br /> <br /> offset 0x368 - port ID (8 bytes) <br /> <br /> offset 0x370 - max backlog queue size (8 bytes) <br /> <br /> = Virtual Address Space =<br /> <br /> == VAS ==<br /> <br /> === vtable ===<br /> <br /> 0x00357958 (3.15) <br /> <br /> === Member variables ===<br /> <br /> offset 0x18 - pointer to LPAR that owns this VAS object <br /> <br /> offset 0x48 - VAS id (8 bytes) <br /> <br /> offset 0x70 - number of page sizes (4 bytes) <br /> <br /> offset 0x74 - log2 of HTAB size <br /> <br /> offset 0x78 - pointer to HTAB object <br /> <br /> === Objects ===<br /> <br /> Here is the list of the VAS objects i found in HV dump 3.15: <br /> <br /> *0x001C8050 (VAS id 2, LPAR 1) <br /> *0x003B4910 (VAS id 3, LPAR 2) <br /> *0x003BDB50 (VAS id 48, LPAR 2)<br /> <br /> == HTAB ==<br /> <br /> 0x38(-0x69A8(HSPRG0)) - pointer to the currently active HTAB in LPAR <br /> <br /> === vtable ===<br /> <br /> 0x003575B0 (3.15) <br /> <br /> === Member variables ===<br /> <br /> offset 0x48 - pointer to first PTE <br /> <br /> offset 0x60 - LPID (4 bytes) <br /> <br /> offset 0x64 - log2 of HTAB size (4 bytes) <br /> <br /> === Objects ===<br /> <br /> Here is the list of the HTAB objects i found in HV dump 3.15: <br /> <br /> *0x001C8270 (VAS id 2, LPAR 1)<br /> <br /> * 0x00180000 - HTAB PTEs (HTAB size 256 kB)<br /> <br /> *0x003A8050 (VAS id 3, LPAR 2)<br /> <br /> * 0x00500000 - HTAB PTEs (HTAB size 1 MB)<br /> <br /> *0x003BC510 (VAS id 48, LPAR 2)<br /> <br /> * 0x00800000 - HTAB PTEs (HTAB size 1 MB)<br /> <br /> === LPAR_change_HTAB ===<br /> <br /> This function changes currently active HTAB. It writes to SDR1 register where HTAB address and size is stored. <br /> <br /> 0x002BE5D4 (3.15) <br /> <br /> === Process SLB ===<br /> <br /> Each HV process has 16 SLB entries. <br /> <br /> Each SLB entry is 16 bytes large and is in format expected by opcode '''slbmte'''. <br /> <br /> Most of the entries are zero (invalid). <br /> <br /> Each process has 4 valid SLB entries: code, data, heap and stack. <br /> <br /> ==== Process 3 ====<br /> <br /> ===== SLB entries =====<br /> <br /> 0x0012D1F0 (3.15) <br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Name <br /> ! ESID <br /> ! VSID<br /> |-<br /> | code <br /> | 0x8 <br /> | 0x38<br /> |-<br /> | data <br /> | 0xC <br /> | 0x3C<br /> |-<br /> | heap <br /> | 0xA <br /> | 0x3A<br /> |-<br /> | stack <br /> | 0xF <br /> | 0x3F<br /> |}<br /> <br /> ==== Process 5 ====<br /> <br /> ===== SLB entries =====<br /> <br /> 0x00093120 (3.15) <br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Name <br /> ! ESID <br /> ! VSID<br /> |-<br /> | code <br /> | 0x8 <br /> | 0x48<br /> |-<br /> | data <br /> | 0xC <br /> | 0x4C<br /> |-<br /> | heap <br /> | 0xA <br /> | 0x4A<br /> |-<br /> | stack <br /> | 0xF <br /> | 0x4F<br /> |}<br /> <br /> ==== Process 6 ====<br /> <br /> ===== SLB entries =====<br /> <br /> 0x000E6960 (3.15) <br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Name <br /> ! ESID <br /> ! VSID<br /> |-<br /> | code <br /> | 0x8 <br /> | 0x58<br /> |-<br /> | data <br /> | 0xC <br /> | 0x5C<br /> |-<br /> | heap <br /> | 0xA <br /> | 0x5A<br /> |-<br /> | stack <br /> | 0xF <br /> | 0x5F<br /> |}<br /> <br /> ==== Process 9 ====<br /> <br /> ===== SLB entries =====<br /> <br /> 0x00763E20 (3.15) <br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Name <br /> ! ESID <br /> ! VSID<br /> |-<br /> | code <br /> | 0x8 <br /> | 0x8<br /> |-<br /> | data <br /> | 0xC <br /> | 0xC<br /> |-<br /> | heap <br /> | 0xA <br /> | 0xA<br /> |-<br /> | stack <br /> | 0xF <br /> | 0xF<br /> |}<br /> <br /> = VUART =<br /> <br /> VUART is a bi-directional communication link. A VUART object has a peer VUART object. <br /> <br /> Data written to a VUART object is stored NOT in the data buffer of the VUART object but in the data buffer of the peer VUART object. <br /> <br /> == VUART table ==<br /> <br /> Every LPAR has a VUART table. A VUART table has 256 entries. Each entry is a pointer to a VUART object that implements VUART interface. <br /> <br /> 0x00677218 (3.15) - address of VUART table of LPAR 1 <br /> <br /> Here is the list of all VUART objects in LPAR 1 i found in HV 3.15: <br /> <br /> *0x006ABD90 - VUART 0 <br /> *0x006ABEB0 - VUART 1 <br /> *0x006A3CB0 - VUART 2 <br /> *0x006A3DD0 - VUART 3 <br /> *0x000A3410 - VUART 5 <br /> *0x000A3250 - VUART 6<br /> <br /> VUART [0-3] are used by /dev/sc[0-3] respectively. <br /> <br /> VUART [0-3] are linked to VUART objects of different type i could not yet identify. These unknown VUART objects use '''eieio''' opcode a lot. So i think, they communicate with hardware peripheral. <br /> <br /> A write/read to/from /dev/sc[0-3] is a write/read to/from VUART. <br /> <br /> &lt;br&gt;<br /> <br /> 0x00762AA8 (3.15) - address of VUART table of LPAR 2 <br /> <br /> Here is the list of all VUART objects in LPAR 2 i found in HV 3.15: <br /> <br /> *0x00126660 - VUART 0 <br /> *0x000A3010 - VUART 2<br /> <br /> VUART 0 and VUART 2 of LPAR 2 are created by Process 9 during LPAR construction. <br /> <br /> == VUART class ==<br /> <br /> === Member variables ===<br /> <br /> offset 0x48 - pointer to peer VUART object <br /> <br /> offset 0x58 - write pointer into data ring buffer <br /> <br /> offset 0x60 - read pointer into data ring buffer <br /> <br /> offset 0x68 - pointer to data ring buffer <br /> <br /> offset 0x70 - size of data ring buffer (8 bytes) <br /> <br /> offset 0x78 - size of data stored in data ring buffer currently (8 bytes) <br /> <br /> offset 0x88 - tx trigger (8 bytes) <br /> <br /> offset 0x90 - rx trigger (8 bytes) <br /> <br /> offset 0x98 - interrupt mask (8 bytes) <br /> <br /> offset 0xA8 - port number (4 bytes) <br /> <br /> == Methods ==<br /> <br /> pmpi_read_virtual_uart(port, buf, size, nread) - 0x002EB30C (3.15) <br /> <br /> pmpi_write_virtual_uart(port, buf, size, nwritten) - 0x002EB0EC (3.15) <br /> <br /> VUART_read(pointer to VUART object, buf, size, nread) - 0x002E8654 (3.15) <br /> <br /> VUART_write(pointer to VUART object, buf, size, nwritten) - 0x002E8428 (3.15) <br /> <br /> == Guest OS VUART 0 (AV Manager) ==<br /> <br /> All data sent to VUART 0 in LPAR 2 is written into the data buffer of VUART 5 of LPAR 1. <br /> <br /> VUART 5 of LPAR 1 is accessed by Process 9 in LPAR 1 through the file '''/proc/partitions/2/vuart/0'''. <br /> <br /> *Process 9 of LPAR 1 uses RSX syscalls to access RSX driver and memory mapped device access (/dev/ioif0).<br /> <br /> == Guest OS VUART 2 (System Manager) ==<br /> <br /> All data sent to VUART 2 in LPAR 2 is written into the data buffer of VUART 6 of LPAR 1. <br /> <br /> VUART 6 of LPAR 1 is accessed by Process 9 in LPAR 1 through the file '''/proc/partitions/2/vuart/2'''. <br /> <br /> *System manager supports 62 (0-61) service ids. <br /> *Process 9 has a SID table. SID table has 62 entries. <br /> *Each entry is a pointer to a function responsible for processing SID packets.<br /> <br /> = AV Manager =<br /> Crossreference: [http://wiki.gitbrew.org/wikibrew/PS3:HvReverseEngineering#AV_Manager gitbrew.org::AV Manager] &lt;br /&gt;<br /> <br /> * AV Manager is running in Process 9 of HV. <br /> * It communicates with Guest OS through '''/proc/partitions/0/vuart/0 file'''. <br /> * GameOS accesses AV Manager through '''syscalls 367 - 370'''. <br /> * PS2 Soft EMU accesses AV Manager also.<br /> <br /> * Communicates with '''SYSCON 0 (/dev/sc0)'''<br /> * Communicates with '''IOIF0 (/dev/ioif0 or RSX)'''<br /> <br /> ==Commands==<br /> <br /> ===Get HDCP KSV (0xC)===<br /> <br /> * Returns HDCP KSV<br /> * HDMI KSV is read from SYSCON<br /> * KSV is stored in memory dump of HV process 9 (where AV Manager runs)<br /> <br /> SYSCON request packet:<br /> &lt;pre&gt;<br /> 30 01 0200 0000 8033 00000000 0004 0004 11 00 0000 0000ff01<br /> &lt;/pre&gt;<br /> <br /> ===Set HDMI Mode (0x40001)===<br /> <br /> * Sets HDMI mode<br /> * Mode is set by SYSCON<br /> * Disabling HDCP<br /> <br /> = System Manager (SM) =<br /> <br /> *System Manager (SM) is running in Process 9 of HV. <br /> *It communicates with Guest OS through '''/proc/partitions/2/vuart/2 file'''. <br /> *GameOS accesses SM through '''syscalls 372 - 415'''<br /> <br /> == System Manager class ==<br /> <br /> === Member variables ===<br /> <br /> offset 0x10 - LPAR state (8 bytes) <br /> <br /> offset 0x68 - LPAR auth id <br /> <br /> offset 0x70 - LPAR name <br /> <br /> offset 0x90 - LPAR image path <br /> <br /> offset 0x1C0 - LPAR ability (8 bytes) <br /> <br /> === Types of System Manager ===<br /> <br /> *There are 6 different SM types <br /> *When Process 9 starts it reads profile file, by default '''DEFAULT.SPP''', by sending requests to SPL (Secure Profile Loader) and constructs System Managers listed in this profile file. <br /> *'''So, the profile file controls which System Manager types are available later.'''<br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Name <br /> ! LPAR name<br /> |-<br /> | SCE_CELLOS_PME <br /> | -<br /> |-<br /> | SCE_CELLOS_SYSTEM_MGR <br /> | PS3_LPAR<br /> |-<br /> | SCE_CELLOS_SYSTEM_MGR_PS2 <br /> | PS2_LPAR<br /> |-<br /> | SCE_CELLOS_SYSTEM_MGR_PS2_SW <br /> | PS2_SW_LPAR<br /> |-<br /> | SCE_CELLOS_SYSTEM_MGR_PS2_GX <br /> | PS2_GX_LPAR<br /> |-<br /> | SCE_CELLOS_SYSTEM_MGR_LINUX <br /> | LINUX_LPAR<br /> |}<br /> <br /> === Ability Bitmask ===<br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Index <br /> ! Name <br /> ! Ability Bitmask (Hex) <br /> ! Ability Bitmask (Binary)<br /> |-<br /> | 0 <br /> | SCE_CELLOS_PME <br /> | 0x1 <br /> | 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001<br /> |-<br /> | 1 <br /> | SCE_CELLOS_SYSTEM_MGR <br /> | 0x3BF7EF <br /> | 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0011 1011 1111 0111 1110 1111<br /> |-<br /> | 2 <br /> | SCE_CELLOS_SYSTEM_MGR_PS2_SW <br /> | 0x1226D <br /> | 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0010 0010 0110 1101<br /> |-<br /> | 3 <br /> | SCE_CELLOS_SYSTEM_MGR_LINUX <br /> | 0x40012 <br /> | 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 0000 0001 0010<br /> |}<br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Bit Position (from right) <br /> ! SID <br /> ! Description<br /> |-<br /> | 1 <br /> | 5 (SET_NEXT_OP) <br /> | Shutdown or Reboot LPAR<br /> |-<br /> | 2 <br /> | 5 (SET_NEXT_OP) <br /> | Boot PS3 LPAR<br /> |-<br /> | 3 <br /> | 5 (SET_NEXT_OP) <br /> | Boot PS2_SW LPAR<br /> |-<br /> | 4 <br /> | 5 (SET_NEXT_OP) <br /> | Boot LINUX LPAR<br /> |-<br /> | 5 <br /> | 12 (CONTROL_LED) <br /> | Control LED<br /> |-<br /> | 6 <br /> | 21 (RING_BUZZER) <br /> | Ring Buzzer<br /> |-<br /> | 7 <br /> | 19 (SET_CONFIG) <br /> | Set Config<br /> |-<br /> | 9 <br /> | 25 / 50 (FAN_POLICY) <br /> | Fan Policy<br /> |-<br /> | 10 <br /> | 26 (REQUEST_ERROR_LOG) <br /> | Request Error Log<br /> |-<br /> | 10 <br /> | 28 (REQUEST_BE_COUNT) <br /> | Request BE Count<br /> |-<br /> | 10 <br /> | 32 (REQUEST_SYSTEM_EVENT_LOG) <br /> | Request System Event Log<br /> |-<br /> | 12 <br /> | 30 (REQUEST_SC_VERSION) <br /> | Request SC Version<br /> |-<br /> | 14 <br /> | 39 (SET_SHOP_DEMO_MODE) <br /> | Set Shop Demo Mode<br /> |}<br /> <br /> == Service ID (SID) ==<br /> <br /> SM supports 62 (0-61) SIDs. <br /> <br /> The value of SM member variable '''ability''' controls which SIDs may be used by LPAR. <br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! SID <br /> ! Name <br /> ! Description<br /> |-<br /> | 0 <br /> | - <br /> | -<br /> |-<br /> | 1 <br /> | REQUEST <br /> | -<br /> |-<br /> | 2 <br /> | RESPONSE <br /> | -<br /> |-<br /> | 3 <br /> | COMMAND <br /> | -<br /> |-<br /> | 4 <br /> | EXTERN_EVENT <br /> | -<br /> |-<br /> | 5 <br /> | SET_NEXT_OP <br /> | -<br /> |-<br /> | 6 <br /> | - <br /> | -<br /> |-<br /> | 7 <br /> | - <br /> | -<br /> |-<br /> | 8 <br /> | SET_ATTR <br /> | -<br /> |-<br /> | 9 <br /> | GET_INTER_LPAR_PARAM <br /> | -<br /> |-<br /> | 10 <br /> | SET_INTER_LPAR_PARAM <br /> | -<br /> |-<br /> | 11 <br /> | - <br /> | -<br /> |-<br /> | 12 <br /> | CONTROL_LED <br /> | -<br /> |-<br /> | 13 <br /> | TEMPERATURE <br /> | -<br /> |-<br /> | 14 <br /> | - <br /> | -<br /> |-<br /> | 15 <br /> | Shares data with 25<br /> | -<br /> |-<br /> | 16 <br /> | - <br /> | -<br /> |-<br /> | 17 <br /> | - <br /> | -<br /> |-<br /> | 18 <br /> | - <br /> | -<br /> |-<br /> | 19 <br /> | SET_CONFIG <br /> | -<br /> |-<br /> | 20 <br /> | - <br /> | -<br /> |-<br /> | 21 <br /> | RING_BUZZER <br /> | -<br /> |-<br /> | 22 <br /> | - <br /> | -<br /> |-<br /> | 23 <br /> | - <br /> | -<br /> |-<br /> | 24 <br /> | - <br /> | -<br /> |-<br /> | 25 <br /> | FAN_POLICY <br /> | -<br /> |-<br /> | 26 <br /> | REQUEST_ERROR_LOG <br /> | -<br /> |-<br /> | 27 <br /> | - <br /> | -<br /> |-<br /> | 28 <br /> | REQUEST_BE_COUNT <br /> | -<br /> |-<br /> | 29 <br /> | - <br /> | -<br /> |-<br /> | 30 <br /> | REQUEST_SC_VERSION <br /> | -<br /> |-<br /> | 31 <br /> | - <br /> | -<br /> |-<br /> | 32 <br /> | REQUEST_SYSTEM_EVENT_LOG <br /> | -<br /> |-<br /> | 33 <br /> | - <br /> | -<br /> |-<br /> | 34 <br /> | RTC_ALARM <br /> | -<br /> |-<br /> | 35 <br /> | - <br /> | -<br /> |-<br /> | 36 <br /> | RTC_ALARM <br /> | -<br /> |-<br /> | 37 <br /> | - <br /> | -<br /> |-<br /> | 38 <br /> | RTC_ALARM <br /> | -<br /> |-<br /> | 39 <br /> | SET_SHOP_DEMO_MODE <br /> | -<br /> |-<br /> | 40 <br /> | BOOT_PARAMETER <br /> | -<br /> |-<br /> | 41 <br /> | - <br /> | -<br /> |-<br /> | 42 <br /> | BOOT_PARAMETER <br /> | -<br /> |-<br /> | 43 <br /> | - <br /> | -<br /> |-<br /> | 44 <br /> | FACTORY_PROCESS_COMP <br /> | -<br /> |-<br /> | 45 <br /> | - <br /> | -<br /> |-<br /> | 46 <br /> | FACTORY_PROCESS_COMP <br /> | -<br /> |-<br /> | 47 <br /> | - <br /> | -<br /> |-<br /> | 48 <br /> | FACTORY_PROCESS_COMP <br /> | -<br /> |-<br /> | 49 <br /> | - <br /> | -<br /> |-<br /> | 50 <br /> | FAN_POLICY <br /> | -<br /> |-<br /> | 51 <br /> | - <br /> | -<br /> |-<br /> | 52 <br /> | - <br /> | -<br /> |-<br /> | 53 <br /> | - <br /> | -<br /> |-<br /> | 54 <br /> | - <br /> | -<br /> |-<br /> | 55 <br /> | - <br /> | -<br /> |-<br /> | 56 <br /> | - <br /> | -<br /> |-<br /> | 57 <br /> | - <br /> | -<br /> |-<br /> | 58 <br /> | - <br /> | -<br /> |-<br /> | 59 <br /> | - <br /> | -<br /> |-<br /> | 60 <br /> | - <br /> | -<br /> |-<br /> | 61 <br /> | - <br /> | -<br /> |}<br /> <br /> === 12 - CONTROL_LED ===<br /> <br /> *I have tested this service with PSGroove and GameOS is allowed to use it. <br /> *GameOS '''syscall 386''' uses this service.<br /> <br /> ==== Packet Body ====<br /> &lt;pre&gt;struct sysmgr_ctrl_led<br /> {<br /> u8 field0;<br /> u8 field1;<br /> u8 field2;<br /> u8 res1;<br /> u8 field4;<br /> u8 field5;<br /> u8 res2[10];<br /> };<br /> &lt;/pre&gt;<br /> ==== Parameters ====<br /> <br /> I have tested the following parameters with this service: <br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! field0 <br /> ! field1 <br /> ! field2 <br /> ! field4 <br /> ! field5 <br /> ! Description<br /> |-<br /> | 0x1 <br /> | 0x0 <br /> | 0xFF <br /> | 0xFF <br /> | 0xFF <br /> | Turns off the power button LED<br /> |-<br /> | 0x1 <br /> | 0x1 <br /> | 0xFF <br /> | 0xFF <br /> | 0xFF <br /> | Turns on the power button LED<br /> |}<br /> <br /> === 21 - RING_BUZZER ===<br /> <br /> *I have tested this service with PSGroove and GameOS is allowed to use it<br /> <br /> ==== Packet Body ====<br /> &lt;pre&gt;struct sysmgr_ring_buzzer<br /> {<br /> u8 res1;<br /> u8 field1;<br /> u8 field2;<br /> u8 res2;<br /> u32 field4;<br /> };<br /> &lt;/pre&gt;<br /> ==== Parameters ====<br /> <br /> I have tested the following parameters with this service: <br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! field1 <br /> ! field2 <br /> ! field4 <br /> ! Description<br /> |-<br /> | 0x29 <br /> | 0x4 <br /> | 0x6 <br /> | Makes a short single beep<br /> |-<br /> | 0x29 <br /> | 0xA <br /> | 0x1B6 <br /> | Makes a triple beep<br /> |-<br /> | 0x29 <br /> | 0x7 <br /> | 0x36 <br /> | -<br /> |-<br /> | 0x29 <br /> | 0xA <br /> | 0xFFF <br /> | Makes a continuous beep<br /> |}<br /> field 1 seems relative to beep tone, as 0x25 sounds different<br /> <br /> === Active System Managers in HV dump 3.15 ===<br /> <br /> There are 4 active SMs in HV dump. <br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Index <br /> ! Name <br /> ! LPAR auth id <br /> ! LPAR image pathname <br /> ! Ability Bitmask (Hex)<br /> |-<br /> | 0 <br /> | SCE_CELLOS_PME <br /> | 0x1070000001000001 <br /> | /flh/os/this_is_dummy <br /> | 0x1<br /> |-<br /> | 1 <br /> | SCE_CELLOS_SYSTEM_MGR <br /> | 0x1070000002000001 <br /> | /flh/os/lv2_kernel.self <br /> | 0x3BF7EF<br /> |-<br /> | 2 <br /> | SCE_CELLOS_SYSTEM_MGR_PS2_SW <br /> | 0x1020000003000001 <br /> | /local_sys0/ps2emu/ps2_softemu.self <br /> | 0x1226D<br /> |-<br /> | 3 <br /> | SCE_CELLOS_SYSTEM_MGR_LINUX <br /> | 0x1080000004000001 <br /> | /flh/lx/linux <br /> | 0x40012<br /> |}<br /> <br /> *GameOS file image '''lv2_kernel.self''' is stored on '''/dev/rflash1''' <br /> *Linux file image is stored on '''/dev/rflash_1x''' or '''/dev/rflash_1xp'''<br /> <br /> == Booting Linux LPAR through System Manager ==<br /> <br /> To boot Linux LPAR from GameOS when Linux support was not removed (Ability Mask of PS3 System Manager needs patching&amp;nbsp;!!!): <br /> <br /> *Send SID packet '''SET_NEXT_OP''' with operation '''OP_LPAR_REBOOT''' and the index of Linux system manager to System Manager (VUART 2) <br /> *Send SID packet '''REQUEST''' with type '''SHUTDOWN''' to System Manager (VUART 2) <br /> *Execute lv1_panic HV call in GameOS<br /> <br /> It should also work when Linux support was removed but Linux system manager was not removed from Process 9 and also assumed that a Linux kernel image is stored at the right place in '''/dev/rflash_1x'''. <br /> <br /> It's just a theory, nothing else, that i gathered during HV reversing. It needs a practical proof. Unfortunately, i don't have access to Hypervisor.<br /> <br /> == Booting modified and reencrypted lv2_kernel.self ==<br /> <br /> *The System Manager of GameOS sends the path to '''lv2_kernel.self''' to SLL (Secure LPAR Loader) and SLL loads it from FLASH device file '''/dev/rflash1'''<br /> *I stored a new lv2_kernel.self on FLASH directly by writing FLASH from GameOS. It't risky but if you know what you are doing then it's safe. I warned you guys. You could brick your PS3.<br /> *Then i added a new TOC entry to FLASH device which points to the new lv2_kernel.self<br /> *I patched the path to lv2_kernel.self in the System Manager of GameOS so it points to my new GameOS kernel (You need HV rights to do it)<br /> *Then i rebooted GameOS without rebooting HV, so the patched file path should not change<br /> *This method has the advantage that when the new lv2_kernel.self won't work you can just reboot HV and it will load the original lv2_kernel.self again<br /> *lv2_kernel.self can be also loaded from GameOS dev_flash. For that, you have to change the path to '''lv2_kernel.self''' in '''default.spp''' from '''/flh/os/lv2_kernel.self''' to '''/local_sys0/lv2_kernel.self''' and store lv2_kernel.self on dev_flash.<br /> <br /> = AV Manager =<br /> <br /> All data sent to VUART 0 in LPAR 2 is written into the data buffer of VUART 5 of LPAR 1. <br /> <br /> VUART 5 of LPAR 1 is accessed by Process 9 in LPAR 1 through the file '''/proc/partitions/2/vuart/0'''. <br /> <br /> *During initialization, AV Manager opens '''/dev/ioif0''' device and maps different address ranges of the device into address space of Process 9 <br /> *'''/dev/ioif0''' is NOT opened and mapped if the value of repository node '''lv1.rsx.enable''' is less than 1 <br /> *'''/dev/ioif0''' is mapped with READ/WRITE protection <br /> *File descriptor of '''/dev/ioif0''' in Process 9 is 4 <br /> *AV Manager supports a lot more commands than used on Linux <br /> *Every command is implemented by a class<br /> <br /> == Mapped Address Ranges From /dev/ioif0 ==<br /> <br /> The base address of '''/dev/ioif0''' is 0x28000000000. The device supports only mmap system call, it cannot be read or written. It also doesn't support ioctl. <br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Index <br /> ! Absolute Address Range <br /> ! Size <br /> ! Mapped Address in Process 9 Address Space<br /> |-<br /> | 0 <br /> | 0x28000000000 - 0x28000002000 <br /> | 0x2000 <br /> | 0xA0019000<br /> |-<br /> | 1 <br /> | 0x28001800000 - 0x28001801000 <br /> | 0x1000 <br /> | 0xA0004000<br /> |-<br /> | 2 <br /> | 0x28000600000 - 0x28000604000 <br /> | 0x4000 <br /> | 0xA001A000<br /> |-<br /> | 3 <br /> | 0x28000680000 - 0x28000684000 <br /> | 0x4000 <br /> | 0xA0006000<br /> |-<br /> | 4 <br /> | 0x28000080000 - 0x28000088000 <br /> | 0x8000 <br /> | 0xA000A000<br /> |-<br /> | 5 <br /> | 0x28000088000 - 0x28000089000 <br /> | 0x1000 <br /> | 0xA000E000<br /> |-<br /> | 6 <br /> | 0x2800000C000 - 0x2800000D000 <br /> | 0x1000 <br /> | 0xA0016000<br /> |-<br /> | 7 <br /> | 0x2800008A000 - 0x2800008B000 <br /> | 0x1000 <br /> | 0xA0017000<br /> |-<br /> | 8 <br /> | 0x2800008C000 - 0x2800008D000 <br /> | 0x1000 <br /> | 0xA0018000<br /> |}<br /> <br /> = Process socket services =<br /> <br /> == Function ID and Packet ID ==<br /> <br /> *Processes 3, 5 and 6 provide services (functions) to other Processes through sockets (something like RPC). <br /> *A service is identified by a function ID. <br /> *Each process has a hash table which maps a function ID to socket port ID. <br /> *Services (functions) can be further differentiated by a packet ID. <br /> *To request a service, a Process sends a packet with specified function and packet ID to the Process that provides the service. <br /> *A process that provides a service (function) has a table of objects which handle different packet IDs. <br /> *Services are synchronous, a client sends a request and waits for a response. <br /> *If a Process requests a service that is located in the same Process then the service is called directly and sockets are not used&amp;nbsp;!!! (e.g. SLL requests from DM creating VUART port during GameOS loading, SLL and DM are in the same Process, so SLL calls DM directly)<br /> <br /> == Port ID - Process ID mapping ==<br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Port ID <br /> ! Process ID<br /> |-<br /> | 0x23 <br /> | 6<br /> |-<br /> | 0x24 <br /> | 5<br /> |-<br /> | 0x25 <br /> | 3<br /> |}<br /> <br /> == Function ID - Port ID mapping ==<br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Function ID <br /> ! Port ID <br /> ! Supported Packet IDs <br /> ! Function Description<br /> |-<br /> | 0x2000 <br /> | 0x23 <br /> | 0x2001 - 0x2017 <br /> | [[Virtual_TRM_Manager|Virtual TRM Manager]]<br /> |-<br /> | 0x3000 <br /> | 0x24 <br /> | 0x3001 - 0x3003 <br /> | [[Secure_RTC_Manager|Secure RTC]]<br /> |-<br /> | 0x5000 <br /> | 0x23 <br /> | 0x5001 - 0x500A <br /> | [[Storage_Manager|Storage Manager]]<br /> |-<br /> | 0x6000 <br /> | 0x23 <br /> | 0x6001 - 0x6011 <br /> | [[Update_Manager|Update Manager]]<br /> |-<br /> | 0x8000 <br /> | 8 <br /> | 0x8001 - 0x8005<br /> | [[Updater_Frontend|Updater Frontend]]<br /> |-<br /> | 0x9000 <br /> | 0x24 <br /> | 0x9001 - 0x9016 <br /> | [[SC_Manager|SC Manager]]<br /> |-<br /> | 0x10000 <br /> | 0x23 <br /> | 0x10001-0x10007 <br /> | [[SB_Manager|SBM (South Bridge Manager)]]<br /> |-<br /> | 0x11000 <br /> | 0x25 <br /> | 0x11001 - 0x11002 <br /> | [[Security_Policy_Manager|SPM (Security Policy Manager)]]<br /> |-<br /> | 0x14000 <br /> | 0x25 <br /> | 0x14004 - 0x14005 <br /> | [[Secure_LPAR_Loader|SLL (Secure LPAR Loader)]]<br /> |-<br /> | 0x15000 <br /> | 0x24 <br /> | 0x15001, 0x15003, 0x15009 <br /> | [[Secure_Profile_Loader|SPL (Secure Profile Loader)]]<br /> |-<br /> | 0x17000 <br /> | 0x24 <br /> | 0x17001 - 0x17017 <br /> | [[Indi_Info_Manager|Indi Info Manager]]<br /> |-<br /> | 0x18000 <br /> | 0x25 <br /> | 0x18001, 0x18002, 0x18004 <br /> | [[Dispatcher_Manager|Dispatcher Manager]]<br /> |-<br /> | 0x19000 <br /> | 0x24 <br /> | 0x19002 - 0x19005 <br /> | [[AIM_Manager|AIM]]<br /> |-<br /> | 0x22000 <br /> | 0x16 <br /> | 0x22001 - 0x22004<br /> | [[Factory_Data_Manager|Factory Data Manager]]<br /> |-<br /> | 0x24000 <br /> | 0x23 <br /> | 0x24001 - 0x24002 <br /> | [[USB_Dongle_Authenticator|USB Dongle Authenticator]]<br /> |-<br /> | 0x25000 <br /> | 0x23 <br /> | 0x25001 - 0x25002 <br /> | [[User_Token_Manager|User Token Manager]]<br /> |}<br /> <br /> == SS Packet ==<br /> <br /> *SS means '''Secure Service'''&amp;nbsp;? <br /> *Processes send SS Packets to request a service or to reply to a service request.<br /> <br /> === Member variables ===<br /> <br /> offset 0x8 - packet ID (8 bytes) <br /> <br /> offset 0x10 - function ID (8 bytes) <br /> <br /> offset 0x18 - return value (4 bytes) <br /> <br /> offset 0x20 - subject ID (2 * 8 bytes) <br /> <br /> === Header ===<br /> <br /> *All services use a common header. <br /> *The header of a SS Packet is 0x28 bytes large.<br /> &lt;pre&gt;struct ss_header<br /> {<br /> uint64_t packet_id;<br /> uint64_t function_id;<br /> uint32_t retval;<br /> uint8_t res[4];<br /> uint64_t laid; /* LPAR Authority ID */<br /> uint64_t paid; /* Program Authority ID */<br /> }<br /> &lt;/pre&gt;<br /> ==== SS Service Return Values ====<br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Error Code <br /> ! Description<br /> |-<br /> | 0x00000000 <br /> | Success<br /> |-<br /> | 0x00000005 <br /> | Access Violation<br /> |-<br /> | 0x00000006 <br /> | No Entry&amp;nbsp;?<br /> |-<br /> | 0x00000009 <br /> | Invalid Parameter<br /> |-<br /> | 0x0000000F <br /> | Call Limit Exceeded&amp;nbsp;?<br /> |}<br /> <br /> === Body ===<br /> <br /> *The body of a SS Packet follows after the header. <br /> *The size of the body depends on a used service.<br /> <br /> = LPAR Memory Management =<br /> <br /> == Memory Region class ==<br /> <br /> This class is the base class for different memory region types. <br /> <br /> === vtable ===<br /> <br /> 0x003578B0 (3.15) <br /> <br /> === Member variables ===<br /> <br /> offset 0x40 - pointer to LPAR object that owns this memory region <br /> <br /> offset 0x48 - type of memory region (8 bytes) <br /> <br /> offset 0x50 - LPAR start address of memory region <br /> <br /> offset 0x58 - size of memory region (8 bytes) <br /> <br /> offset 0x60 - flags (8 bytes) <br /> <br /> offset 0xA0 - log2 of page size<br /> <br /> === Generating New LPAR Memory Region Addresses ===<br /> <br /> generate_new_lpar_mem_region_address(?, memory region size, log2(page size), ?, ?) - 002C82E8 (3.15)<br /> <br /> generate_new_lpar_mem_region_address - 002C6570 (3.41)<br /> <br /> *The function returns a new LPAR memory region address.<br /> *This method is used e.g. in all HV calls which create any kind of memory regions, e.g. '''lv1_allocate_memory''', '''lv1_map_htab''', '''lv1_undocumented_function_114''', '''lv1_construct_logical_spe''', '''lv1_map_device_mmio_region''' or '''syscall 0x10040'''.<br /> <br /> ==== Encoding LPAR Memory Region Start Addresses and Sizes ====<br /> <br /> *Size of LPAR memory region is encoded in the LPAR memory region start address.<br /> *That is why e.g. the LPAR Memory Region Start Addresses of LPAR Memory Region of size 4096 byte begin with '''0x300000000000''', '''0x300000000000 &gt;&gt; 42 = 0xC = log2(4096)'''.<br /> *Each LPAR has a counter (8 bytes) which is incremented by 1 every time a new LPAR Memory Region is created.<br /> *Before incrementing, the counter is shifted left by '''log2(LPAR Memory Region Size)''' and ored with '''log2(LPAR Memory Region Size) &lt;&lt; 42'''.<br /> <br /> LPAR Memory Region Start Address &gt;&gt; 42 = log2(LPAR Memory Region Size)<br /> <br /> LPAR Memory Region Start Address = (log2(LPAR Memory Region Size) &lt;&lt; 42) |<br /> (counter &lt;&lt; log2(LPAR Memory Region Size))<br /> <br /> ===== LPAR Memory Region Address Counter =====<br /> <br /> *LPAR Memory Region Address Counter is stored at address: '''0x38(LPAR ptr) + 0x9E8'''<br /> *LPAR1's Memory Region Address Counter is at address '''0x00677A48''' in HV dump 3.15<br /> *LPAR2's Memory Region Address Counter is at address '''0x007632D8''' in HV dump 3.15<br /> *LPAR1's Memory Region Address Counter is at address '''0x00677A48''' in HV dump 3.41<br /> *LPAR2's Memory Region Address Counter is at address '''0x00161E68''' in HV dump 3.41<br /> <br /> == Physical Memory Region class ==<br /> <br /> This type of memory region is created e.g. in '''lv1_allocate_memory''' HV call or in '''syscall 0x10000'''. <br /> <br /> === vtable ===<br /> <br /> 0x00357D08 (3.15) <br /> <br /> === Member variables ===<br /> <br /> offset 0xB0 - pointer to object that stores a list of addresses of physical pages owned by this memory region <br /> <br /> offset 0xB8 - pointer to LPAR object that owns this memory region <br /> <br /> offset 0xC0 - reference counter (8 bytes) <br /> <br /> === Objects ===<br /> <br /> Here is the list of physical memory region objects i found in HV 3.15. <br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Address in HV dump <br /> ! LPAR id <br /> ! LPAR Start Address <br /> ! Size <br /> ! Flags <br /> ! log2(Page Size) <br /> ! Physical Page Addresses<br /> |-<br /> | 0x006B5510 <br /> | 1 <br /> | 0x300000001000 <br /> | 0x1000 <br /> | 0x0 <br /> | 0xC <br /> | 0x672000<br /> |-<br /> | 0x006B5E50 <br /> | 1 <br /> | 0x440000040000 <br /> | 0x20000 <br /> | 0x0 <br /> | 0x11 <br /> | 0x6C0000<br /> |-<br /> | 0x006B6980 <br /> | 1 <br /> | 0x440000060000 <br /> | 0x20000 <br /> | 0x0 <br /> | 0x11 <br /> | 0x6E0000<br /> |-<br /> | 0x006B7F00 <br /> | 1 <br /> | 0x400000040000 <br /> | 0x10000 <br /> | 0x0 <br /> | 0x10 <br /> | 0x100000<br /> |-<br /> | 0x003A80F0 <br /> | 2 <br /> | 0x6C0058000000 <br /> | 0x7000000 <br /> | 0x4 <br /> | 0x18 <br /> | 0x1000000 - 0x7000000<br /> |-<br /> | 0x003BE800 <br /> | 2 <br /> | 0x300000047000 <br /> | 0x1000 <br /> | 0x0 <br /> | 0xC <br /> | 0x1FA000<br /> |-<br /> | 0x006BDAA0 <br /> | 2 <br /> | 0x0 <br /> | 0x8000000 <br /> | 0x8 <br /> | 0x1B (single huge page) <br /> | 0x8000000<br /> |}<br /> <br /> So, Linux kernel should be located at physical address 0x8000000 and Linux syscall handler at 0x8000C00. Too bad that the HV dump is not large enough. <br /> <br /> === GameOS Physical Memory Regions ===<br /> <br /> *GameOS allocates nearly all physical memory of PS3 for itself&amp;nbsp;!!! That is why new HV calls '''lv1_allocate_memory''' with large memory region sizes will fail. <br /> *So when someone wants a large piece of physical memory, he can borrow it from GameOS's LPAR memory region that starts at '''0x700020000000'''. It can be used for example to send update packages to Update Manager which are very large.<br /> <br /> Here is the list of physical memory regions of GameOS i found in HV 3.41: <br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Start Address <br /> ! Size <br /> ! Access Right <br /> ! Max Page Size <br /> ! Flags <br /> ! Real Addresses<br /> |-<br /> | 0x0 <br /> | 0x1000000 <br /> | 0x3 <br /> | 0x18 <br /> | 0x8 <br /> | 0x1000000 - 0x1FFF000<br /> |-<br /> | 0x500000300000 <br /> | 0xA0000 <br /> | 0x3 <br /> | 0x10 <br /> | 0x8 <br /> | 0x380000 - 0x38F000, 0x3B0000 - 0x3BF000, 0x1E0000 - 0x1FF000, 0x3C0000 - 0x3FF000, 0xFF00000 - 0xFF1F000<br /> |-<br /> | 0x700020000000 <br /> | 0xE900000 (huge memory region) <br /> | 0x3 <br /> | 0x14 <br /> | 0x0 <br /> | 0x400000 - 0x5FF000, 0x800000 - 0xFFF000, 0x2000000 - 0xFEFF000<br /> |}<br /> <br /> == HTAB Memory Region class ==<br /> <br /> This memory region is created when a HTAB is mapped into LPAR's address space. It's created in '''lv1_map_htab''' HV call. <br /> <br /> === vtable ===<br /> <br /> 0x00357C98 (3.15) <br /> <br /> === Member variables ===<br /> <br /> offset 0xB0 - pointer to VAS object that owns the HTAB <br /> <br /> === Objects ===<br /> <br /> Here is the list of HTAB memory region objects i found in HV 3.15. <br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Address in HV dump <br /> ! LPAR id <br /> ! VAS id <br /> ! LPAR Start Address <br /> ! Size <br /> ! Flags <br /> ! log2(Page Size)<br /> |-<br /> | 0x001FE0F0 <br /> | 2 <br /> | 3 <br /> | 0x500000C00000 <br /> | 0x100000 <br /> | 0xC000000000000000 <br /> | 0x14<br /> |-<br /> | 0x003BD850 <br /> | 2 <br /> | 3 <br /> | 0x500004300000 <br /> | 0x100000 <br /> | 0xC000000000000000 <br /> | 0x14<br /> |-<br /> | 0x003BDEA0 <br /> | 2 <br /> | 3 <br /> | 0x500004500000 <br /> | 0x100000 <br /> | 0xC000000000000000 <br /> | 0x14<br /> |}<br /> <br /> === GameOS HTAB ===<br /> <br /> *HTAB of GameOS is already mapped into address space of GameOS so that is why HV call '''lv1_map_htab''' will fail until you unmap it with '''lv1_unmap_htab''' <br /> *Effective address of GameOS HTAB is '''0x800000000F000000''' <br /> *Virtual address of GameOS HTAB is '''0xF000000''' <br /> *Size of GameOS HTAB is '''0x40000''' <br /> *GameOS HTAB supports large pages of size '''64K''' and '''1M''' <br /> *GameOS HTAB can be easily dumped by reading 0x40000 bytes at EA 0x800000000F000000<br /> <br /> === GameOS SLB ===<br /> <br /> Here is the dump of SLB entries from GameOS 3.41: <br /> &lt;pre&gt;0x8000000008000000 0x0000000000000500<br /> 0x8000000208000000 0x0000000000020500<br /> 0x8000000300000000 0x0000000000030510<br /> 0x0000000000000000 0x0000000000000000<br /> 0x0000000080000000 0x0000000000038C00<br /> 0x00000000A0000000 0x000000000003AC00<br /> 0x00000000C0000000 0x000000000003CC00<br /> 0x0000000000000000 0x0000000000000000<br /> 0x0000000000000000 0x0000000000000000<br /> 0x0000000000000000 0x0000000000000000<br /> 0x0000000000000000 0x0000000000000000<br /> 0x0000000000000000 0x0000000000000000<br /> 0x0000000000000000 0x0000000000000000<br /> 0x0000000000000000 0x0000000000000000<br /> 0x0000000000000000 0x0000000000000000<br /> 0x0000000000000000 0x0000000000000000<br /> 0x0000000000000000 0x0000000000000000<br /> 0x0000000000000000 0x0000000000000000<br /> 0x0000000000000000 0x0000000000000000<br /> 0x0000000000000000 0x0000000000000000<br /> 0x0000000000000000 0x0000000000000000<br /> 0x0000000000000000 0x0000000000000000<br /> 0x0000000000000000 0x0000000000000000<br /> 0x0000000000000000 0x0000000000000000<br /> 0x0000000000000000 0x0000000000000000<br /> 0x0000000000000000 0x0000000000000000<br /> 0x0000000000000000 0x0000000000000000<br /> 0x0000000000000000 0x0000000000000000<br /> 0x0000000000000000 0x0000000000000000<br /> 0x0000000000000000 0x0000000000000000<br /> 0x0000000000000000 0x0000000000000000<br /> 0x0000000000000000 0x0000000000000000<br /> 0x8000000010057960 0x8000000000313E78<br /> 0x8000000010057940 0x0000000000000000<br /> 0x800000000001B698 0x0000000000000000<br /> 0x8000000010057930 0x8000000000490708<br /> 0x80000000002B6C68 0x80000000003DE928<br /> 0x8000000010057EC0 0x80000000003DE920<br /> 0x0000000000000000 0x8000000000309810<br /> 0x80000000004B3000 0x0000000000000000<br /> 0x8000000010057CC0 0x0000000000000000<br /> 0x80000000004AF000 0x80000000004E1F00<br /> 0x80000000100579C8 0x80000000100579C0<br /> 0x80000000100579E0 0x2400002200000000<br /> 0x80000000004CF5B0 0x8000000200012000<br /> 0x80000000100579F8 0x80000000100579F0<br /> 0x8000000010057A10 0x80000000004A3A00<br /> 0x80000000004CF5B0 0x80000000004C8D00<br /> 0x800000000001BF6C 0x80000000004CD400<br /> 0x800000000001B698 0x80000000004C8100<br /> 0x80000000100579D0 0x80000000004B48C0<br /> 0x0000000000001C08 0x0000000000000000<br /> 0x8000000010057A78 0x8000000010057A70<br /> 0x8000000010057A90 0x0000000000000000<br /> 0x80000000004CF90C 0x0000000000000000<br /> 0x0000000000000000 0x8000000010057A80<br /> 0x8000000010057A90 0x8000000000309810<br /> 0x80000000004CF62C 0x0000000000000000<br /> 0x8000000010057CC0 0x0000000000000000<br /> 0x80000000004AF000 0x80000000004B48C0<br /> 0x00004000001C0000 0x0000000000000001<br /> 0x00000000D0000000 0x0000A8E3EE7D10DA<br /> 0x0000000000000000 0x0000000000000000<br /> 0x80000000004D8088 0x80000000004D9000<br /> &lt;/pre&gt;<br /> == SPE MMIO Memory Region class ==<br /> <br /> This type of memory region represents MMIO memory region of a SPE. It's created e.g. in '''lv1_construct_logical_spe''' or in '''syscall 0x10040'''. <br /> <br /> === vtable ===<br /> <br /> 0x003583F8 (3.15) <br /> <br /> === Member variables ===<br /> <br /> === Objects ===<br /> <br /> Here is the list of SPE memory region objects i found in HV 3.15. <br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Address in HV dump <br /> ! LPAR id <br /> ! SPE <br /> ! LPAR Start Address <br /> ! Size <br /> ! Physical Address <br /> ! Flags <br /> ! log2(Page Size)<br /> |-<br /> | 0x003ABC20 <br /> | 2 <br /> | 1 <br /> | 0x4C0000880000 <br /> | 0x80000 <br /> | 0x20000080000 <br /> | 0xA000000000000000 <br /> | 0xC<br /> |-<br /> | 0x003AAD70 <br /> | 2 <br /> | 2 <br /> | 0x4C0000980000 <br /> | 0x80000 <br /> | 0x20000100000 <br /> | 0xA000000000000000 <br /> | 0xC<br /> |-<br /> | 0x003A8880 <br /> | 2 <br /> | 3 <br /> | 0x4C0000780000 <br /> | 0x80000 <br /> | 0x20000180000 <br /> | 0xA000000000000000 <br /> | 0xC<br /> |-<br /> | 0x003B4F70 <br /> | 2 <br /> | 4 <br /> | 0x4C0000A80000 <br /> | 0x80000 <br /> | 0x20000200000 <br /> | 0xA000000000000000 <br /> | 0xC<br /> |-<br /> | 0x003AB700 <br /> | 2 <br /> | 5 <br /> | 0x4C0000680000 <br /> | 0x80000 <br /> | 0x20000280000 <br /> | 0xA000000000000000 <br /> | 0xC<br /> |-<br /> | 0x003B5BE0 <br /> | 2 <br /> | 6 <br /> | 0x4C0000B80000 <br /> | 0x80000 <br /> | 0x20000300000 <br /> | 0xA000000000000000 <br /> | 0xC<br /> |}<br /> <br /> == SPE Shadow Registers Memory Region class ==<br /> <br /> This type of memory region represents shadow registers memory region of a SPE. It's created e.g. in '''lv1_construct_logical_spe''' or in '''syscall 0x10040'''. <br /> <br /> === vtable ===<br /> <br /> 0x00358448 (3.15) <br /> <br /> === Objects ===<br /> <br /> Here is the list of SPE Shadow Registers memory region objects i found in HV 3.15. <br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Address in HV dump <br /> ! LPAR id <br /> ! SPE <br /> ! LPAR Start Address <br /> ! Size <br /> ! Physical Address <br /> ! Flags <br /> ! log2(Page Size)<br /> |-<br /> | 0x003ABDA0 <br /> | 2 <br /> | 1 <br /> | 0x300000012000 <br /> | 0x1000 <br /> | - <br /> | 0xA000000000000000 <br /> | 0xC<br /> |-<br /> | 0x003B4290 <br /> | 2 <br /> | 2 <br /> | 0x300000014000 <br /> | 0x1000 <br /> | - <br /> | 0xA000000000000000 <br /> | 0xC<br /> |-<br /> | 0x003A8A00 <br /> | 2 <br /> | 3 <br /> | 0x300000010000 <br /> | 0x1000 <br /> | - <br /> | 0xA000000000000000 <br /> | 0xC<br /> |-<br /> | 0x003B50F0 <br /> | 2 <br /> | 4 <br /> | 0x300000016000 <br /> | 0x1000 <br /> | - <br /> | 0xA000000000000000 <br /> | 0xC<br /> |-<br /> | 0x001FFC90 <br /> | 2 <br /> | 5 <br /> | 0x30000000E000 <br /> | 0x1000 <br /> | - <br /> | 0xA000000000000000 <br /> | 0xC<br /> |-<br /> | 0x003AE5B0 <br /> | 2 <br /> | 6 <br /> | 0x300000018000 <br /> | 0x1000 <br /> | - <br /> | 0xA000000000000000 <br /> | 0xC<br /> |}<br /> <br /> == Device MMIO Memory Region class ==<br /> <br /> This type of memory region is created when a device MMIO region is mapped into LPAR address space, e.g. in '''lv1_map_device_mmio_region'''. <br /> <br /> === vtable ===<br /> <br /> 0x00352468 (3.15) <br /> <br /> === Member variables ===<br /> <br /> offset 0xA8 - physical address where the device MMIO region is mapped to <br /> <br /> === Objects ===<br /> <br /> Here is the list of Device MMIO memory region objects i found in HV 3.15. <br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Address in HV dump <br /> ! LPAR id <br /> ! LPAR Start Address <br /> ! Size <br /> ! Flags <br /> ! log2(Page Size) <br /> ! Physical Address <br /> ! Device<br /> |-<br /> | 0x001FDF00 <br /> | 2 <br /> | 0x4000001D0000 <br /> | 0x10000 <br /> | 0x8000000000000000 <br /> | 0xC <br /> | 0x24003010000 <br /> | USB controller<br /> |-<br /> | 0x003B3850 <br /> | 2 <br /> | 0x400000200000 <br /> | 0x10000 <br /> | 0x8000000000000000 <br /> | 0xC <br /> | 0x24003020000 <br /> | USB controller<br /> |-<br /> | 0x003B6E50 <br /> | 2 <br /> | 0x4000001E0000 <br /> | 0x10000 <br /> | 0x8000000000000000 <br /> | 0xC <br /> | 0x24003810000 <br /> | USB controller<br /> |-<br /> | 0x003B9950 <br /> | 2 <br /> | 0x4000001F0000 <br /> | 0x10000 <br /> | 0x8000000000000000 <br /> | 0xC <br /> | 0x24003820000 <br /> | USB controller<br /> |}<br /> <br /> == GPU Device Memory Region class ==<br /> <br /> This type of memory region is created e.g. in '''lv1_gpu_open''', '''lv1_gpu_device_map''' and '''lv1_undocumented_function_114'''. <br /> <br /> === vtable ===<br /> <br /> 0x00357C48 (3.15) <br /> <br /> === Member variables ===<br /> <br /> offset 0xA8 - physical address <br /> <br /> === Objects ===<br /> <br /> Here is the list of Device GPU memory region objects i found in HV 3.15. <br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Address in HV dump <br /> ! LPAR id <br /> ! LPAR Start Address <br /> ! Size <br /> ! Flags <br /> ! log2(Page Size) <br /> ! Physical Address<br /> |-<br /> | 0x003AF380 <br /> | 2 <br /> | 0x700190000000 <br /> | 0xFE00000 <br /> | 0x8000000000000000 <br /> | 0x14 <br /> | 0x28080000000<br /> |-<br /> | 0x003AF500 <br /> | 2 <br /> | 0x4000001A0000 <br /> | 0xC000 <br /> | 0x8000000000000000 <br /> | 0xC <br /> | 0x3C0000<br /> |-<br /> | 0x003AF680 <br /> | 2 <br /> | 0x4800006C0000 <br /> | 0x40000 <br /> | 0x8000000000000000 <br /> | 0xC <br /> | 0x2808FE00000<br /> |-<br /> | 0x003AFC30 <br /> | 2 <br /> | 0x440000380000 <br /> | 0x20000 <br /> | 0x8000000000000000 <br /> | 0xC <br /> | 0x28000C00000<br /> |-<br /> | 0x003BB420 <br /> | 2 <br /> | 0x3C0000108000 <br /> | 0x8000 <br /> | 0x8000000000000000 <br /> | 0xC <br /> | 0x28000080100<br /> |}<br /> <br /> == Direct Map Memory Region class ==<br /> <br /> This type of memory region is created in HV call '''lv1_undocumented_function_114'''.<br /> '''lv1_undocumented_function_114''' allows you to map any memory address into LPAR's memory address.<br /> <br /> * The HV call '''lv1_undocumented_function_115''' destroys a memory region of this type.<br /> * HV allows GameOS to create objects of this type of size 0 only !!! But it can be exploited with a dangling HTAB entry.<br /> <br /> === vtable ===<br /> <br /> 0x00357C48 (3.15) <br /> <br /> === Member variables ===<br /> <br /> offset 0xA8 - physical address<br /> <br /> === Exploiting HV with memory glitching and HV call lv1_undocumented_function_114 ===<br /> <br /> Here is a short description of the method i used to exploit HV from GameOS 3.15 and 3.41.<br /> <br /> * First i used the Geohot's method to create a dangling HTAB entry.<br /> * Making memory glitch work on GameOS was the largest of my obstacles but i solved it and i'm able to create a dangling HTAB entry from GameOS within 1-3 minutes.<br /> * Then i created many '''Direct Map Memory Region''' objects of size 0 with HV call '''lv1_undocumented_function_114''' and checked if they are within the page to which the dangling HTAB entry points to.<br /> * When i found one such '''Direct Map Memory Region''' object i patched the size of this object to 0x1000. Then i pointed this memory region object to the code of HV call '''lv1_undocumented_function_114''' and patched 4 bytes in this HV call which allows me to create any '''Direct Map Memory Region''' objects without any restrictions.<br /> * Function '''LPAR_construct_direct_mapping_mem_region''' which is used by HV call '''lv1_undocumented_function_114''' has a parameter (register %r9) and when this parameter is not 0 then HV will allow you to create any '''Direct Map Memory Region''' objects without restrictions, but unfortunately the HV call '''lv1_undocumented_function_114''' passes 0 in this parameter, so i just patched it.<br /> * Then i mapped whole HV memory range with the patched HV call '''lv1_undocumented_function_114''' into the address space of GameOS.<br /> * And now you have read/write access to the whole HV.<br /> * $ONY could fix this exploit by disallowing creating of '''Direct Map Memory Region''' objects of size 0, but i know tons of other HV C++ classes which will allow me to exploit the HV in a similar way, so it wouldn't bring $ONY anything :-) And they have to change member variable offsets in those objects to make sure that i cannot patch them easily :-)<br /> <br /> == Methods ==<br /> <br /> LPAR_get_memory_region_by_start_address - 0x002C7C40 (3.15) <br /> <br /> LPAR_get_memory_region_by_address - 0x002C7DA8 (3.15) <br /> <br /> LPAR_mem_addr_to_phys_addr(LPAR id, LPAR address, phys_addr) - 0x002FB8F0 (3.15)<br /> <br /> LPAR_construct_direct_mapping_mem_region - 0x002D4D04 (3.15)<br /> <br /> = Network Devices =<br /> <br /> == Ethernet Gelic Device ==<br /> <br /> device id = 0 <br /> <br /> MAC Address: 00:1F:A7:C6:2A:C5 <br /> <br /> device memory base address = 0x24003004000 (size = 0x1000) <br /> <br /> == WLAN Gelic Device ==<br /> <br /> device id = 0 <br /> <br /> MAC Address: 02:1F:A7:C6:2A:C5 (locally administered) <br /> <br /> === Net Manager ===<br /> <br /> *Net Manager runs in Process 9 <br /> *It sends commands to '''/dev/sc1''' to reset WLAN Gelic device <br /> *It opens '''/dev/net0''', sets MAC address and writes device firmware '''eurus_fw.bin''' to WLAN device by using '''ioctl''' syscall<br /> <br /> === /dev/net0 ===<br /> <br /> The device supports 3 ioctl commands: <br /> <br /> *0 - 0x002AC10C (3.15) <br /> *1 - 0x002AC250 (3.15) <br /> *2 - EURUS_STAT 0x002AC320 (3.15)<br /> <br /> === Methods ===<br /> <br /> net_control_cmd_GELIC_LV1_POST_WLAN_CMD - 0x0024A55C (3.15) <br /> <br /> net_control_wlan_cmd_GELIC_EURUS_CMD_ASSOC - 0x00246C78 (3.15) <br /> <br /> net_control_wlan_cmd_GELIC_EURUS_CMD_START_SCAN - 0x00248A14 (3.15) <br /> <br /> net_control_wlan_cmd_GELIC_EURUS_CMD_SET_WEP_CFG - 0x00249F24 (3.15) <br /> <br /> net_control_wlan_cmd_GELIC_EURUS_CMD_SET_WPA_CFG - 0x002497B8 (3.15) <br /> <br /> = Event Notification =<br /> <br /> *Event Notfication is used e.g. to notify a LPAR about some event, e.g. device interrupt or notify a LPAR about destruction of another LPAR. <br /> *For example Process 9 is notified through Event Notification when LPAR 2 is destructed. <br /> *During LPAR construction, Process 9 creates an Outlet object with '''syscall 0x1001A''' and then passes the outlet ID to the '''syscall 0x10009''' that constructs the LINUX LPAR. In this way Process 9 is notified when LINUX LPAR is destructed.<br /> <br /> == Outlet class ==<br /> <br /> This is the base Outlet class. There are different types of Outlet and they derive from this base class. <br /> <br /> === vtable ===<br /> <br /> 0x00357DC0 (3.15) <br /> <br /> === Member variables ===<br /> <br /> offset 0x30 - type (8 bytes) <br /> <br /> offset 0x38 - pointer to LPAR that owns this Outlet object <br /> <br /> offset 0x48 - outlet id (8 bytes) <br /> <br /> offset 0x90 - VIRQ assigned to this Outlet object (4 bytes) <br /> <br /> == Event Receive Port class ==<br /> <br /> *This type of Outlet is created e.g. in '''lv1_construct_event_receive_port''' and in '''syscall 0x1001A'''. <br /> *HV calls '''lv1_connect_irq_plug''' and '''lv1_connect_irq_plug_ext''' assigns a VIRQ to Event Receive Port object.<br /> <br /> === vtable ===<br /> <br /> 0x00357E88 <br /> <br /> == VUART Outlet ==<br /> <br /> *HV supports only one VUART Outlet per LPAR <br /> *'''lv1_configure_virtual_uart_irq''' constructs a VUART Outlet object and passes the address of LPAR's VUART IRQ Bitmap to HV<br /> <br /> === vtable ===<br /> <br /> 0x00357DC0 <br /> <br /> === VUART IRQ Bitmap ===<br /> <br /> *At address 0x38(LPAR ptr) + 0x158 is the VUART IRQ Bitmap owned by HV for LPAR (4 * 8 bytes = 256 bits) <br /> *At address 0x38(LPAR ptr) + 0x150 is stored the physical address of LPAR's VUART IRQ Bitmap that was passed to '''lv1_configure_virtual_uart_irq''' <br /> *When a VUART interrupt is generated by HV then first the VUART IRQ Bitmap owned by HV is updated and then this bitmap is copied to LPAR's VUART IRQ Bitmap, so VUART IRQ Bitmap is stored twice, once in HV and once in LPAR, just like IRQ State Bitmap. <br /> *VUART IRQ Bitmap is not allowed to cross page boundary of LPAR memory region where it is stored. HV checks it and makes sure that it doesn't happen. <br /> *'''GameOS 3.41''' VUART IRQ bitmap is at address '''0x80000000003556E8''' and of size '''32 bytes (256 bits, each bit corresponds to a VUART port)'''. <br /> *'''GameOS 3.15''' VUART IRQ bitmap is at address '''0x8000000000354768'''.<br /> <br /> = Logical PPE =<br /> <br /> *Logical PPE is used for interrupt management of LPAR. <br /> *A Logical PPE object is created in '''syscall 0x10005'''. It' used e.g. in Process 9 during LPAR construction. <br /> *'''syscall 0x10007''' activates a Logical PPE object <br /> *0x67F0(HSPRG0) - pointer to currently active Logical PPE object (in HV dump it points to Linux PPE object naturally because the dump was made on Linux, so Linux LPAR was active at that time) <br /> *E.g. '''lv1_get_logical_ppe_id''', '''lv1_start_ppe_periodic_tracer''' and '''lv1_set_ppe_periodic_tracer_frequency''' grab the currently active Logical PPE object<br /> <br /> == vtable ==<br /> <br /> 0x00357DF0 (3.15) <br /> <br /> == Member variables ==<br /> <br /> offset 0x90 - pointer to an object that contains VIRQ-Outlet mapping table for thread 0 <br /> <br /> offset 0x98 - pointer to an object that contains VIRQ-Outlet mapping table for thread 1 <br /> <br /> == Objects ==<br /> <br /> Here is the list of Logical PPE objects i found in HV 3.15. <br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Address in HV dump <br /> ! LPAR id <br /> ! PPE id<br /> |-<br /> | 0x0069C7F0 <br /> | 1 <br /> | 1<br /> |-<br /> | 0x007A8900 <br /> | 2 <br /> | 1<br /> |}<br /> <br /> == Virtual IRQ - Outlet Mapping ==<br /> <br /> *HV maintains 2 tables per PPE that map a VIRQ to an Outlet object. <br /> *The table has 256 entries and is indexed by VIRQ. <br /> *Each entry is a pointer to Outlet object. <br /> *Each Logical PPE object has 2 tables, one for each thread of Cell CPU.<br /> <br /> === LPAR 1 PPE 1 Thread 0 ===<br /> <br /> 0x0069C990 (3.15) - address of VIRQ-Outlet table for '''LPAR 1 PPE 1 Thread 0''' (not empty) <br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! VIRQ <br /> ! Address of Outlet object in HV dump <br /> ! Description<br /> |-<br /> | 58 <br /> | 0x00090D10 <br /> | -<br /> |-<br /> | 59 <br /> | 0x006BAC50 <br /> | -<br /> |-<br /> | 60 <br /> | 0x006B3ED0 <br /> | FLASH storage device / Storage device notification for LPAR 1<br /> |-<br /> | 61 <br /> | 0x00697E70 <br /> | VUART interrupts<br /> |-<br /> | 62 <br /> | 0x001C8F20 <br /> | -<br /> |}<br /> <br /> === LPAR 1 PPE 1 Thread 1 ===<br /> <br /> 0x0069D9B0 (3.15) - address of VIRQ-Outlet table for '''LPAR 1 PPE 1 Thread 1''' (empty) <br /> <br /> === LPAR 2 PPE 1 Thread 0 ===<br /> <br /> 0x000A06B0 (3.15) - address of VIRQ-Outlet table for '''LPAR 2 PPE 1 Thread 0''' (not empty) <br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! VIRQ <br /> ! Address of Outlet object in HV dump <br /> ! Description<br /> |-<br /> | 20 <br /> | 0x003AA210 <br /> | -<br /> |-<br /> | 21 <br /> | 0x003AFEC0 <br /> | -<br /> |-<br /> | 22 <br /> | 0x001FC010 <br /> | -<br /> |-<br /> | 23 <br /> | 0x003A8E50 <br /> | -<br /> |-<br /> | 24 <br /> | 0x001FFED0 <br /> | SPE 0 Class 0 Interrupt<br /> |-<br /> | 25 <br /> | 0x003AE160 <br /> | SPE 0 Class 1 Interrupt<br /> |-<br /> | 26 <br /> | 0x003AE350 <br /> | SPE 0 Class 2 Interrupt<br /> |-<br /> | 27 <br /> | 0x003AB100 <br /> | SPE 1 Class 0 Interrupt<br /> |-<br /> | 28 <br /> | 0x003AB2F0 <br /> | SPE 1 Class 1 Interrupt<br /> |-<br /> | 29 <br /> | 0x003AB4E0 <br /> | SPE 1 Class 2 Interrupt<br /> |-<br /> | 30 <br /> | 0x003AA6A0 <br /> | SPE 2 Class 0 Interrupt<br /> |-<br /> | 31 <br /> | 0x003AA890 <br /> | SPE 2 Class 1 Interrupt<br /> |-<br /> | 32 <br /> | 0x003AAA80 <br /> | SPE 2 Class 2 Interrupt<br /> |-<br /> | 33 <br /> | 0x003B44A0 <br /> | SPE 3 Class 0 Interrupt<br /> |-<br /> | 34 <br /> | 0x003B4690 <br /> | SPE 3 Class 1 Interrupt<br /> |-<br /> | 35 <br /> | 0x003B4AD0 <br /> | SPE 3 Class 2 Interrupt<br /> |-<br /> | 36 <br /> | 0x003B5300 <br /> | SPE 4 Class 0 Interrupt<br /> |-<br /> | 37 <br /> | 0x003B54F0 <br /> | SPE 4 Class 1 Interrupt<br /> |-<br /> | 38 <br /> | 0x003B56E0 <br /> | SPE 4 Class 2 Interrupt<br /> |-<br /> | 39 <br /> | 0x003AE7C0 <br /> | SPE 5 Class 0 Interrupt<br /> |-<br /> | 40 <br /> | 0x003AE9B0 <br /> | SPE 5 Class 1 Interrupt<br /> |-<br /> | 41 <br /> | 0x003AEBA0 <br /> | SPE 5 Class 2 Interrupt<br /> |-<br /> | 42 <br /> | 0x003B2040 <br /> | Storage device notification for LPAR 2<br /> |-<br /> | 43 <br /> | 0x003AEE30 <br /> | VUART interrupts<br /> |-<br /> | 44 <br /> | 0x001FEAA0 <br /> | -<br /> |-<br /> | 45 <br /> | 0x001FEED0 <br /> | HDD storage device<br /> |-<br /> | 46 <br /> | 0x003B5E20 <br /> | -<br /> |-<br /> | 47 <br /> | 0x003B7040 <br /> | -<br /> |-<br /> | 48 <br /> | 0x003B9B40 <br /> | -<br /> |-<br /> | 49 <br /> | 0x003B3A40 <br /> | -<br /> |-<br /> | 50 <br /> | 0x003BACA0 <br /> | Gelic device<br /> |-<br /> | 51 <br /> | 0x003BAE10 <br /> | UNKNOWN storage device<br /> |-<br /> | 52 <br /> | 0x003B8350 <br /> | -<br /> |}<br /> <br /> === LPAR 2 PPE 1 Thread 1 ===<br /> <br /> 0x007A89E0 (3.15) - address of VIRQ-Outlet table for '''LPAR 2 PPE 1 Thread 1''' (not empty) <br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! VIRQ <br /> ! Address of Outlet object in HV dump <br /> ! Description<br /> |-<br /> | 16 <br /> | 0x003B2480 <br /> | -<br /> |-<br /> | 17 <br /> | 0x003B2590 <br /> | -<br /> |-<br /> | 18 <br /> | 0x003B26A0 <br /> | -<br /> |-<br /> | 19 <br /> | 0x003B27B0 <br /> | -<br /> |}<br /> <br /> == IRQ State Bitmap ==<br /> <br /> *There is one IRQ State Bitmap (256 bits = 32 bytes) per thread of Logical PPE <br /> *'''HSPRG0 value is per thread''', so there are 2 HSPRG0 values in HV dump&amp;nbsp;!!! <br /> *The IRQ State Bitmap of a thread is stored at -0x68E0(HSPRG0) <br /> *When an Event or Interrupt happens then the bitmap at 0x68E0(HSPRG0) is updated <br /> *The physical address of '''LPAR's IRQ State Bitmap''' of thread is stored at offset -0x68C0(HSPRG0) <br /> *The address of LPAR's IRQ State Bitmap is passed to Hypervisor through HV call '''lv1_configure_irq_state_bitmap''' <br /> *'''lv1_detect_pending_interrupts''' returns value of current IRQ State Bitmap. <br /> *The IRQ State Bitmap is updated if an Outlet object is assigned to VIRQ and when Outlet generates an event <br /> *After IRQ State Bitmap update, it's copied to LPAR's IRQ State Bitmap and a hardware interrupt is generated so that LPAR can read it's IRQ State Bitmap and handle interrupts. <br /> *So, IRQ State Bitmap is stored twice, once in HV and once in LPAR, just like VUART IRQ Bitmap. <br /> *'''GameOS''' IRQ state bitmap is stored at address '''SPRG0 + 0x1C0 and of size 64 bytes (256 bits state + 256 bits mask) per thread of Cell CPU'''. So there are 2 IRQ state bitmaps.<br /> <br /> 0x8941FC0 - physical address of LPAR's IRQ State Bitmap for Thread 0 of LINUX LPAR <br /> <br /> 0x8948FC0 - physical address of LPAR's IRQ State Bitmap for Thread 1 of LINUX LPAR <br /> <br /> = System Controller (SC or SYSCON) =<br /> <br /> *Data received from SC is sent to a VUART <br /> *'''lv1_get_rtc''' and '''syscall 0x10036''' communicate with '''SC VUART 4'''.<br /> <br /> === VUART Table ===<br /> <br /> *Address of SC VUART Table - 0x00610410 (3.15). <br /> *There are 5 VUARTs for SC in HV 3.15<br /> <br /> Here is the SC VUART table from HV 3.15: <br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Index <br /> ! Address of VUART object in HV dump <br /> ! Description<br /> |-<br /> | 0 <br /> | 0x0060FD20 <br /> | This VUART is connected with the '''VUART 0 (/dev/sc0)''' of LPAR 1<br /> |-<br /> | 1 <br /> | 0x0060FE20 <br /> | This VUART is connected with the '''VUART 1 (/dev/sc1)''' of LPAR 1<br /> |-<br /> | 2 <br /> | 0x0060FF20 <br /> | This VUART is not connected to some peer VUART but i guess that it should be connected to '''VUART 2 (/dev/sc2)''' of LPAR1<br /> |-<br /> | 3 <br /> | 0x006124E0 <br /> | This VUART is connected with the '''VUART 3 (/dev/sc3)''' of LPAR 1<br /> |-<br /> | 4 <br /> | 0x00612DF0 <br /> | '''lv1_get_rtc''' and '''syscall 0x10036''' communicate with this VUART.<br /> |}<br /> <br /> == Interrupt Handling ==<br /> <br /> spider_sc_interrupt_handler - 0x0020A68C (3.15) <br /> <br /> == Methods ==<br /> <br /> sc_vuart_4_get_peer_vuart - 0x002ED384 (3.15) <br /> <br /> sc_send - 0x0020A908 (3.15)<br /> <br /> sc_receive - 0x0020A354 (3.15)<br /> <br /> sc_vuart_rx_trigger_callback - 0x002ED470 (3.15)<br /> <br /> == lv1_get_rtc ==<br /> <br /> *'''lv1_get_rtc''' communicates with SC VUART 4. <br /> *20 bytes are written to the peer VUART of SC VUART 4. <br /> *After a request is sent to SC VUART 4, '''lv1_get_rtc''' busy waits until SC VUART 4 receive data buffer is not empty. <br /> *When SC VUART 4 receive data buffer is not empty, '''lv1_get_rtc''' reads 24 bytes from the VUART.<br /> <br /> == SYSCON Protocol ==<br /> <br /> * I was able to enable SYSCON Manager debug messages in HV Process 5<br /> * Messages sent to SYSCON are at least '''0x10''' bytes of size. SC VUARTs check it before sending the messages to SYSCON.<br /> * The header size of the SYSCON messages is '''0x10''' bytes.<br /> <br /> === Packet Header ===<br /> <br /> * Packet header is of size '''0x10''' bytes.<br /> * At offset '''0x6''' of SYSCON packet is the header checksum which is of size '''2''' bytes.<br /> * '''The header checkum is just a sum of first 6 header bytes and 0x8000 constant'''<br /> * The '''2nd byte''' in every SYSCON message has to be '''1''' or else the function '''sc_send''' fails.<br /> * The '''word''' at offset '''0x8''' is the '''SC VUART index'''.<br /> * The '''half-words''' at offset '''0xC''' and '''0xE''' have to be equal or the function '''sc_send''' fails.<br /> <br /> &lt;pre&gt;<br /> struct sc_hdr<br /> {<br /> uint8_t field0;<br /> uint8_t field1; /* always 1 */<br /> uint8_t field2[4];<br /> uint16_t cksum; /* header checksum */<br /> uint32_t index; /* syscon index (0 - /dev/sc0, 1 - /dev/sc1, 2 - /dev/sc2, 3 - /dev/sc3) */<br /> uint16_t size1; /* body size */<br /> uint16_t size2; /* body size */<br /> };<br /> &lt;/pre&gt;<br /> <br /> ==== Calculating Packet Header Checksum ====<br /> <br /> &lt;pre&gt;<br /> /* calculating SC packet header checksum */<br /> <br /> /*<br /> * sc_hdr_cksum<br /> */<br /> uint16_t sc_hdr_cksum(struct sc_hdr *sc_hdr)<br /> {<br /> uint8_t *ptr;<br /> uint32_t sum;<br /> <br /> ptr = (uint8_t *) sc_hdr;<br /> sum = 0;<br /> <br /> for (i = 0; i &lt; 6; i++)<br /> sum += *ptr++;<br /> <br /> sum += 0x8000;<br /> <br /> return sum &amp; 0xffff;<br /> }<br /> <br /> struct sc_hdr sc_hdr;<br /> <br /> memset(&amp;sc_hdr, 0, sizeof(sc_hdr));<br /> <br /> sc_hdr.cksum = sc_hdr_cksum(sc_hdr);<br /> <br /> /* fill sc header here */<br /> <br /> sc_hdr.cksum = sc_hdr_cksum(sc_hdr);<br /> &lt;/pre&gt;<br /> <br /> === Packet Body ===<br /> <br /> * Packet body follows packet header<br /> * Packet body size is stored at offset '''0xC''' and '''0xE''' in packet header and is of size 2 bytes<br /> <br /> === Reading SYSCON EPROM (NVS Service) ===<br /> <br /> Here is a command which is sent to SYSCON to read 1 byte of EPROM at offset 0x48C07 (Product Mode):<br /> 0x14 &lt;span style=&quot;background:#00FF00&quot;&gt;0x01&lt;/span&gt; 0x00 0x00 0x00 0x00 &lt;span style=&quot;background:#FF0000&quot;&gt;0x80 0x15&lt;/span&gt; &lt;span style=&quot;background:#FFFF00&quot;&gt;0x00 0x00 0x00 0x00&lt;/span&gt; &lt;span style=&quot;background:#00FFFF&quot;&gt;0x00 0x04&lt;/span&gt; &lt;span style=&quot;background:#00FFFF&quot;&gt;0x00 0x04&lt;/span&gt; 0x20 0x02 0x07 0x01<br /> <br /> And here is the response to the above request:<br /> 0x14 &lt;span style=&quot;background:#00FF00&quot;&gt;0x01&lt;/span&gt; 0x00 0x00 0x00 0x00 &lt;span style=&quot;background:#FF0000&quot;&gt;0x80 0x15&lt;/span&gt; &lt;span style=&quot;background:#FFFF00&quot;&gt;0x00 0x00 0x00 0x03&lt;/span&gt; &lt;span style=&quot;background:#00FFFF&quot;&gt;0x00 0x05&lt;/span&gt; &lt;span style=&quot;background:#00FFFF&quot;&gt;0x00 0x05&lt;/span&gt; 0x00 0x02 0x07 0x01 0xff<br /> <br /> === PCI Bus Power ===<br /> <br /> * '''Used by PS2EMU System Manager in HV process 9 when PS2 EMU is booted'''<br /> <br /> ==== PCI Bus Power On ====<br /> <br /> '''Request to SC1:'''<br /> 0x10 0x01 0x00 0x00 0x00 0x00 0x80 0x11 0x00 0x00 0x00 0x00 0x00 0x02 0x00 0x02 0x31 0x01<br /> <br /> ==== PCI Bus Power Off ====<br /> <br /> '''Request to SC1:'''<br /> 0x10 0x01 0x00 0x00 0x00 0x00 0x80 0x11 0x00 0x00 0x00 0x00 0x00 0x02 0x00 0x02 0x31 0x00<br /> <br /> === Ring Buzzer ===<br /> <br /> '''Request:'''<br /> 0x16 0x01 0x00 0x00 0x00 0x00 0x80 0x17 0x00 0x00 0x00 0x00 0x00 0x08 0x00 0x08 0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x00<br /> <br /> =SYSCON=<br /> Crossreference: [http://wiki.gitbrew.org/index.php/PS3:HvReverseEngineering#SYSCON gitbrew.org::SYSCON] &lt;br /&gt;<br /> <br /> SYSCON MMIO registers can be accessed on Linux with a driver using lv1_undocumented_function_114, e.g. '''ps3sbmmio'''.<br /> Use ps3sbmmio device driver carefully, an access at some addresses could shutdown your PS3.<br /> <br /> ==Packet Header==<br /> <br /> * Size is '''0x10'''.<br /> <br /> &lt;pre&gt;<br /> struct sc_hdr {<br /> uint8_t service_id;<br /> uint8_t version; /* must be 1 !!! */<br /> uint16_t transaction_id; /* returned in response */<br /> uint8_t res[2];<br /> uint16_t cksum; /* checksum of first 6 header bytes */<br /> uint32_t communication_tag; /* SYSCON tag: 0-4 */<br /> uint16_t payload_size[2]; /* body size */<br /> };<br /> &lt;/pre&gt;<br /> <br /> ==Sending Packets==<br /> <br /> * Before sending new packet to SYSCON, the Hypervisor checks 2 words at offsets 0x2400008DFF0 and 0x2400008CFF4.<br /> * The Hypervisor busy waits until (value + 1) at offset 0x2400008CFF4 is NOT equal to value at offset 0x2400008DFF0.<br /> * The packet is sent with 4 byte transfers.<br /> * First, the Hypervisor sends the header of the packet, 4 word transfers.<br /> * The header is written beginning at the address 0x2400008D000.<br /> * After that the Hypervisor sends the body of the packet, with 4 byte transfers too.<br /> * The body is written beginning at the address 0x2400008D010.<br /> * If the packet size is NOT divisible by 4 then the Hypervisor sends the remaining bytes (at most 3) as a word padded with 0s.<br /> * After the packet body was written, the Hypervisor calculates checksum of the whole packet and writes it at the address where the last word of packet body was written + 4.<br /> &lt;pre&gt;<br /> uint32_t cksum = 0;<br /> <br /> for (i = 0; i &lt; packet_size; i++)<br /> cksum -= packet[i];<br /> <br /> cksum = cksum &amp; 0xffff;<br /> &lt;/pre&gt;<br /> * After the packet checksum was written, the Hypervisor reads the value at offset 0x2400008DFF0, modifies it and stores back:<br /> &lt;pre&gt; <br /> value = value + 1;<br /> value &amp;= 0xffff;<br /> value = (value &lt;&lt; 16) | value;<br /> &lt;/pre&gt;<br /> * To notify the SYSCON about the new packet, the Hypervisor writes 0x1 to address 0x2400008E100.<br /> <br /> ==Receiving Packets==<br /> <br /> * The Hypervisor installs an interrupt handler for the SYSCON.<br /> * First, the Hypervisor reads a word from address 0x2400008E000, ors it with 0xFFFFFFFD and writes the value back.<br /> * Then, the Hypervisor reads a word from address 0x2400008E004 and tests if bit 0x2 is set or not. The bit 0x2 should be not 0 or else the Hypervisor panics.<br /> * After that, the Hypervisor reads a word at address 0x2400008CFF0 and 0x2400008DFF4. If there is a new packet pending from SYSCON, then the (value + 1) at 0x2400008CFF0 should be equal the value at 0x2400008DFF4.<br /> * The Hypervisor reads the header of the packet beginning at the address 0x2400008C000.<br /> * The header is read with 4 word transfers by the Hypervisor.<br /> * The byte at offset 1 in the packet header must be 1 or else the Hypervisor discards the packet as invalid.<br /> * The Hypervisor calculates the checksum of the packet header and checks it with the checksum stored in the header. If they don't match then the Hypervisor discards the packet.<br /> * The Hypervisor reads the body of the packet beginning at the address 0x2400008C010.<br /> * The header and the body of the received packet can be read as many times as you want !!! They remain until next SYSCON packet is received<br /> which gives us the possibility to communicate with SYSCON on Linux easily :)<br /> <br /> ==Test==<br /> <br /> '''1. Before sending SYSCON packet''':<br /> &lt;pre&gt;<br /> root@debian-hdd:~# dd if=/dev/ps3sbmmio bs=1 count=4 skip=$((0x8cff4)) status=noxfer | hexdump -C<br /> <br /> 00000000 01 18 01 18 |....|<br /> 00000004<br /> <br /> root@debian-hdd:~# dd if=/dev/ps3sbmmio bs=1 count=4 skip=$((0x8dff0)) status=noxfer | hexdump -C<br /> <br /> 00000000 01 18 01 18 |....|<br /> 00000004<br /> <br /> root@debian-hdd:~# dd if=/dev/ps3sbmmio bs=1 count=4 skip=$((0x8cff0)) status=noxfer | hexdump -C<br /> <br /> 00000000 01 24 01 24 |.$.$|<br /> 00000004<br /> <br /> root@debian-hdd:~# dd if=/dev/ps3sbmmio bs=1 count=4 skip=$((0x8dff4)) status=noxfer | hexdump -C<br /> <br /> 00000000 01 24 01 24 |.$.$|<br /> 00000004<br /> &lt;/pre&gt;<br /> <br /> '''2. SYSCON packet was sent by using ps3dm_scm read_eprom.'''<br /> <br /> '''3. After sending SYSCON packet''':<br /> &lt;pre&gt;<br /> root@debian-hdd:~# dd if=/dev/ps3sbmmio bs=1 count=4 skip=$((0x8cff4)) status=noxfer | hexdump -C<br /> <br /> 00000000 01 19 01 19 |....|<br /> 00000004<br /> <br /> root@debian-hdd:~# dd if=/dev/ps3sbmmio bs=1 count=4 skip=$((0x8dff0)) status=noxfer | hexdump -C<br /> <br /> 00000000 01 19 01 19 |....|<br /> 00000004<br /> <br /> root@debian-hdd:~# dd if=/dev/ps3sbmmio bs=1 count=4 skip=$((0x8cff0)) status=noxfer | hexdump -C<br /> <br /> 00000000 01 25 01 25 |.%.%|<br /> 00000004<br /> <br /> root@debian-hdd:~# dd if=/dev/ps3sbmmio bs=1 count=4 skip=$((0x8dff4)) status=noxfer | hexdump -C<br /> <br /> 00000000 01 25 01 25 |.%.%|<br /> 00000004<br /> &lt;/pre&gt;<br /> <br /> '''4. Received Header'''<br /> <br /> &lt;pre&gt;<br /> root@debian-hdd:~# dd if=/dev/ps3sbmmio bs=1 count=16 skip=$((0x8c000)) status=noxfer | hexdump -C<br /> <br /> 00000000 14 01 00 00 00 00 80 15 00 00 00 03 00 05 00 05 |................|<br /> 00000010<br /> <br /> &lt;/pre&gt;<br /> <br /> '''5. Received Body'''<br /> <br /> &lt;pre&gt;<br /> root@debian-hdd:~# dd if=/dev/ps3sbmmio bs=1 count=8 skip=$((0x8c010)) status=noxfer | hexdump -C<br /> <br /> 00000000 00 00 c7 01 ff 00 00 00 |..Ç.ÿ...|<br /> 00000008<br /> &lt;/pre&gt;<br /> <br /> ==Examples==<br /> <br /> ===Get RTC===<br /> <br /> * Used by LV1 call '''lv1_get_rtc'''<br /> * Communication with SYSCON 4<br /> <br /> Request:<br /> &lt;pre&gt;<br /> # write packet<br /> <br /> # echo &quot;0: 13 01 0000 0000 8014 00000004 0001 0001 33 00 00 00 0000ff1f&quot; | xxd -c256 -r | \<br /> dd of=/dev/ps3sbmmio bs=1 seek=$((0x8d000)) status=noxfer<br /> <br /> # dump packet counter<br /> <br /> # dd if=/dev/ps3sbmmio bs=1 count=4 skip=$((0x8dff0)) status=noxfer | hexdump -C<br /> <br /> 00000000 00 c0 00 c0 |.À.À|<br /> 00000004<br /> <br /> # increment packet counter<br /> <br /> echo &quot;0: 00c1 00c1&quot; | xxd -c256 -r | dd of=/dev/ps3sbmmio bs=1 seek=$((0x8dff0)) status=noxfer<br /> <br /> # kick packet<br /> <br /> # echo &quot;0: 00000001&quot; | xxd -c256 -r | dd of=/dev/ps3sbmmio bs=1 seek=$((0x8e100)) status=noxfer<br /> <br /> &lt;/pre&gt;<br /> <br /> Response:<br /> <br /> &lt;pre&gt;<br /> # dump packet counter<br /> <br /> # dd if=/dev/ps3sbmmio bs=1 count=4 skip=$((0x8dff0)) status=noxfer | hexdump -C<br /> <br /> 00000000 00 c1 00 c1 |.Á.Á|<br /> 00000004<br /> <br /> # dump response packet<br /> <br /> # dd if=/dev/ps3sbmmio bs=1 count=24 skip=$((0x8c000)) status=noxfer | hexdump -C<br /> <br /> 00000000 13 01 00 00 00 00 80 14 00 00 00 04 00 08 00 08 |................|<br /> 00000010 00 00 00 00 15 af 47 6b |.....¯Gk|<br /> 00000018<br /> &lt;/pre&gt;<br /> <br /> ===Ring Buzzer===<br /> <br /> * Used by System Manager<br /> * Communication with SYSCON 1<br /> <br /> Request:<br /> <br /> &lt;pre&gt;<br /> # write packet<br /> <br /> # echo &quot;0: 16 01 1620 0000 804d 00000001 0008 0008 20 29 0a 00 000001b6 0000fdcb&quot; | xxd -c256 -r | \<br /> dd of=/dev/ps3sbmmio bs=1 seek=$((0x8d000)) status=noxfer<br /> <br /> # dump packet counter<br /> <br /> # dd if=/dev/ps3sbmmio bs=1 count=4 skip=$((0x8dff0)) status=noxfer | hexdump -C<br /> <br /> 00000000 00 c0 00 c0 |.À.À|<br /> 00000004<br /> <br /> # increment packet counter<br /> <br /> echo &quot;0: 00c1 00c1&quot; | xxd -c256 -r | dd of=/dev/ps3sbmmio bs=1 seek=$((0x8dff0)) status=noxfer<br /> <br /> # kick packet<br /> <br /> # echo &quot;0: 00000001&quot; | xxd -c256 -r | dd of=/dev/ps3sbmmio bs=1 seek=$((0x8e100)) status=noxfer<br /> <br /> # you should hear a beep<br /> <br /> &lt;/pre&gt;<br /> <br /> Response:<br /> <br /> &lt;pre&gt;<br /> # dump packet counter<br /> <br /> # dd if=/dev/ps3sbmmio bs=1 count=4 skip=$((0x8dff0)) status=noxfer | hexdump -C<br /> <br /> 00000000 00 c1 00 c1 |.Á.Á|<br /> 00000004<br /> <br /> # dump response packet<br /> <br /> # dd if=/dev/ps3sbmmio bs=1 count=24 skip=$((0x8c000)) status=noxfer | hexdump -C<br /> 00000000 16 01 16 20 00 00 80 4d 00 00 00 01 00 01 00 01 |... ...M........|<br /> 00000010 00 00 00 00 00 00 fe e3 |......þã|<br /> 00000018<br /> <br /> &lt;/pre&gt;<br /> <br /> =Isolation=<br /> Crossreference: [http://wiki.gitbrew.org/wikibrew/PS3:HvReverseEngineering#Isolation gitbrew.org::Isolation] &lt;br /&gt;<br /> <br /> ==Running Isolated SPE Modules On OtherOS++ Linux==<br /> <br /> * spp_verifier is a kernel module which shows you how to run isolated SPE modules on OtherOS++ Linux.<br /> * It decrypts default.spp profile<br /> * Tested on 3.41 and 3.55.<br /> * You can modify it easily to run other SPE modules.<br /> <br /> &lt;pre&gt;<br /> root@debian-hdd:/home/glevand/spp_verifier# cat spp_verifier_355.self &gt; /proc/spp_verifier/spu<br /> root@debian-hdd:/home/glevand/spp_verifier# cat default_355.spp &gt; /proc/spp_verifier/profile<br /> root@debian-hdd:/home/glevand/spp_verifier# echo 1 &gt; /proc/spp_verifier/run<br /> root@debian-hdd:/home/glevand/spp_verifier# cat /proc/spp_verifier/debug <br /> <br /> PPE id (0x0000000000000001) VAS id (0x0000000000000002)<br /> lv1_construct_logical_spe (0x00000000)<br /> SPE id (0x000000000000002b)<br /> lv1_undocumented_function_209 (0x00000000)<br /> shadow execution status (0x0000000000000002)<br /> lv1_get_spe_interrupt_status(1) (0x00000000)<br /> interrupt status 1 (0x0000000000000000)<br /> sleep<br /> shadow execution status (0x0000000000000002)<br /> lv1_get_spe_interrupt_status(1) (0x00000000)<br /> interrupt status 1 (0x0000000000000001)<br /> ea (0xc000000002920000) esid (0xc000000008000000) vsid (0x0000408f92c94500)<br /> lv1_undocumented_function_62 (0x00000000)<br /> lv1_clear_spe_interrupt_status(1) (0x00000000)<br /> lv1_undocumented_function_168 (0x00000000)<br /> sleep<br /> shadow execution status (0x0000000000000007)<br /> lv1_get_spe_interrupt_status(1) (0x00000000)<br /> interrupt status 1 (0x0000000000000000)<br /> lv1_get_spe_interrupt_status(2) (0x00000000)<br /> interrupt status 2 (0x0000000000000000)<br /> out interrupt mbox (0x0000000000000002)<br /> out interrupt mbox (0x0000000000000002)<br /> lv1_undocumented_function_167 (0x00000000)<br /> lv1_clear_spe_interrupt_status (0x00000000)<br /> lv1_undocumented_function_200 (0x00000000)<br /> sleep<br /> shadow execution status (0x000000000000000b)<br /> lv1_get_spe_interrupt_status(1) (0x00000000)<br /> interrupt status 1 (0x0000000000000000)<br /> shadow execution status (0x000000000000000b)<br /> problem status (0x01000082)<br /> lv1_destruct_logical_spe (0x00000000)<br /> <br /> root@debian-hdd:/home/glevand/spp_verifier# hexdump -C /proc/spp_verifier/profile | less<br /> ...<br /> ...<br /> 00000200 00 02 00 05 00 00 20 a0 00 00 00 01 00 03 00 00 |...... ........|<br /> 00000210 00 00 00 00 00 00 00 01 00 00 00 0e 00 00 00 00 |................|<br /> 00000220 00 00 02 88 00 00 00 01 10 70 00 00 01 00 00 01 |.........p......|<br /> 00000230 00 00 00 00 00 00 00 00 53 43 45 5f 43 45 4c 4c |........SCE_CELL|<br /> 00000240 4f 53 5f 50 4d 45 00 00 00 00 00 00 00 00 00 00 |OS_PME..........|<br /> 00000250 00 00 00 00 00 00 00 00 00 00 00 06 00 00 02 50 |...............P|<br /> 00000260 10 70 00 00 01 00 00 01 2f 66 6c 68 2f 6f 73 2f |.p....../flh/os/|<br /> 00000270 74 68 69 73 5f 69 73 5f 64 75 6d 6d 79 00 00 00 |this_is_dummy...|<br /> 00000280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|<br /> ...<br /> ...<br /> &lt;/pre&gt;<br /> <br /> ==Using metldr On OtherOS++ Linux==<br /> <br /> * spp_verifier_direct is a kernel module which shows you how to run isolated SPE modules on OtherOS++ Linux by using metldr directly.<br /> * It decrypts default.spp profile.<br /> * Tested on 3.41 and 3.55.<br /> * You can modify it easily to run other SPE modules.<br /> <br /> &lt;pre&gt;<br /> root@debian-hdd:/home/glevand/spp_verifier_direct# insmod ./spp_verifier_direct.ko<br /> root@debian-hdd:/home/glevand/spp_verifier_direct# cat metldr &gt; /proc/spp_verifier_direct/metldr<br /> root@debian-hdd:/home/glevand/spp_verifier_direct# cat isoldr_355 &gt; /proc/spp_verifier_direct/isoldr<br /> root@debian-hdd:/home/glevand/spp_verifier_direct# cat RL_FOR_PROGRAM_355.img &gt; /proc/spp_verifier_direct/rvkprg<br /> root@debian-hdd:/home/glevand/spp_verifier_direct# cat EID0 &gt; /proc/spp_verifier_direct/eid0<br /> root@debian-hdd:/home/glevand/spp_verifier_direct# cat spp_verifier_355.self &gt; /proc/spp_verifier_direct/spu<br /> root@debian-hdd:/home/glevand/spp_verifier_direct# cat default_355.spp &gt; /proc/spp_verifier_direct/profile<br /> root@debian-hdd:/home/glevand/spp_verifier_direct# echo 1 &gt; /proc/spp_verifier_direct/run<br /> root@debian-hdd:/home/glevand/spp_verifier_direct# cat /proc/spp_verifier_direct/debug<br /> <br /> PPE id (0x0000000000000001) VAS id (0x0000000000000002)<br /> lv1_construct_logical_spe (0x00000000)<br /> SPE id (0x0000000000000033)<br /> lv1_enable_logical_spe (0x00000000)<br /> lv1_set_spe_interrupt_mask(0) (0x00000000)<br /> lv1_set_spe_interrupt_mask(1) (0x00000000)<br /> lv1_set_spe_interrupt_mask(2) (0x00000000)<br /> lv1_set_spe_privilege_state_area_1_register (0x00000000)<br /> ea (0xc000000002680000) esid (0xc000000008000000) vsid (0x0000408f92c94500)<br /> lv1_get_spe_interrupt_status(0) (0x00000000)<br /> lv1_get_spe_interrupt_status(1) (0x00000000)<br /> lv1_get_spe_interrupt_status(2) (0x00000000)<br /> sleep<br /> lv1_get_spe_interrupt_status(0) (0x00000000)<br /> lv1_get_spe_interrupt_status(1) (0x00000000)<br /> lv1_get_spe_interrupt_status(2) (0x00000000)<br /> out interrupt mbox (0x0000000000000001)<br /> lv1_clear_spe_interrupt_status(2) (0x00000000)<br /> transferring EID0, ldr args and revoke list to LS<br /> waiting until MFC transfers are finished<br /> MFC transfers done<br /> out mbox (0x00000001)<br /> sleep<br /> lv1_get_spe_interrupt_status(0) (0x00000000)<br /> lv1_get_spe_interrupt_status(1) (0x00000000)<br /> lv1_get_spe_interrupt_status(2) (0x00000000)<br /> out interrupt mbox (0x0000000000000002)<br /> lv1_clear_spe_interrupt_status(2) (0x00000000)<br /> out mbox (0x00000002)<br /> lv1_clear_spe_interrupt_status(2) (0x00000000)<br /> sleep<br /> lv1_get_spe_interrupt_status(0) (0x00000000)<br /> lv1_get_spe_interrupt_status(1) (0x00000000)<br /> lv1_get_spe_interrupt_status(2) (0x00000000)<br /> problem status (0x01000082)<br /> lv1_destruct_logical_spe (0x00000000)<br /> <br /> root@debian-hdd:/home/glevand/spp_verifier_direct# hexdump -C /proc/spp_verifier_direct/profile | less<br /> ...<br /> ...<br /> 00000200 00 02 00 05 00 00 20 a0 00 00 00 01 00 03 00 00 |...... ........|<br /> 00000210 00 00 00 00 00 00 00 01 00 00 00 0e 00 00 00 00 |................|<br /> 00000220 00 00 02 88 00 00 00 01 10 70 00 00 01 00 00 01 |.........p......|<br /> 00000230 00 00 00 00 00 00 00 00 53 43 45 5f 43 45 4c 4c |........SCE_CELL|<br /> 00000240 4f 53 5f 50 4d 45 00 00 00 00 00 00 00 00 00 00 |OS_PME..........|<br /> 00000250 00 00 00 00 00 00 00 00 00 00 00 06 00 00 02 50 |...............P|<br /> 00000260 10 70 00 00 01 00 00 01 2f 66 6c 68 2f 6f 73 2f |.p....../flh/os/|<br /> 00000270 74 68 69 73 5f 69 73 5f 64 75 6d 6d 79 00 00 00 |this_is_dummy...|<br /> 00000280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|<br /> ...<br /> ...<br /> &lt;/pre&gt;<br /> <br /> = Gelic Device =<br /> Crossreference: [http://wiki.gitbrew.org/index.php/PS3:HvReverseEngineering#Gelic_Device gitbrew.org::Gelic Device] &lt;br /&gt;<br /> <br /> ==sys.hw.config==<br /> <br /> * Value of the loader parameter &quot;sys.hw.config&quot; controls if Gelic WLAN is enabled or not.<br /> * Value of the loader parameter &quot;sys.hw.config&quot; is stored in the repository node &quot;sys.hw.config&quot; too.<br /> * If bit '''0x40000''' is set then LV1 allows using Gelic WLAN interface from LV2.<br /> * Value on my PS3 slim '''0x4e00ffff0a03bc3c''' with Gelic WLAN interface disabled. As you can see, the Gelic WLAN interface is disabled and LV1 doesn't allow using of LV1 calls 196 and 195. It returns LV1_CONDITION_NOT_SATISFIED.<br /> * GameOS checks bit '''0x40000''' of the repository node &quot;sys.hw.config&quot; during network initialization and if it's set then LV2 initializes Gelic WLAN interface.<br /> * Check your &quot;sys.hw.config&quot; repository node and if bit '''0x40000''' is set then you are a lucky owner of a PS3 model with the old WLAN interface.<br /> * '''On newer PS3 models, GameOS uses USB interface to communicate with WLAN.'''<br /> * On PS3 models, where bit '''0x40000''' is NOT set in &quot;sys.hw.config&quot; repository node, the new USB interface is used.<br /> <br /> ''Note:[http://www.ps3devwiki.com/index.php?title=Wifi old vs. new]: Old == CECHA up to CECHK, New == CECHL and later''<br /> <br /> == Control Interface ==<br /> <br /> HV calls 195 and 196 are used by GameOS to send commands to Gelic device directly.<br /> <br /> === lv1_undocumented_function_196 ===<br /> <br /> ==== Parameters ====<br /> <br /> r3 - LPAR address of data buffer<br /> <br /> r4 - size of data buffer<br /> <br /> r5 - must be 0<br /> <br /> === lv1_undocumented_function_195 ===<br /> <br /> ==== Parameters ====<br /> <br /> r3 - command (16 bit value)<br /> <br /> r4 - command data size<br /> <br /> r5 - must be 0<br /> <br /> === Data Buffer ===<br /> <br /> * Data Buffer passed to HV call 196 is divided into 2 parts.<br /> * The first 0x800 bytes are for sending and receiving command data<br /> * The remaining 0x800 bytes are for event notification.<br /> <br /> === Command Data Buffer ===<br /> <br /> * Every command data sent to Gelic device contains header of size '''0xC'''<br /> * After the header follows the command data<br /> * After the Gelic device processed the command, it notifies LV2 kernel about command completion by sending an interrupt<br /> <br /> ==== Header ====<br /> <br /> * Size is '''0xc'''.<br /> * Byte order is little-endian.<br /> * Header data in a request command buffer is always all 0s.<br /> <br /> 0x0 - command = request command + 1 (2 bytes)<br /> <br /> 0x4 - result, 0x1 - success ??? 0x2 - buffer too small ??? (2 bytes)<br /> <br /> 0x6 - body size (2 bytes)<br /> <br /> === Event Data Buffer ===<br /> <br /> * The Gelic device notifies LV2 kernel by sending an interrupt when new events are available<br /> * Event Data Buffer has 8 bytes header<br /> * The remaining bytes are divided into event slots<br /> * Each event slot is of size 64 bytes<br /> * Events are in little-endian format<br /> <br /> ==== Header ====<br /> <br /> offset 0x0 - GET index (4 bytes)<br /> <br /> offset 0x4 - PUT index (4 bytes)<br /> <br /> * GET index is updated by Gelic driver. The Gelic driver reads events beginning with the event slot at index GET.<br /> * PUT index is the index of event entry where next Gelic event will be stored by the Gelic device.<br /> * If GET index is equal to PUT index then there are no Gelic events.<br /> <br /> === GameOS ===<br /> <br /> * LV2 syscall 726 sends Gelic device command and blocks until a response from the Gelic device arrives<br /> * LV2 kernel uses this LV1 interface to send commands to Gelic device internally too, probably for wireless controllers and Wake On WLAN. <br /> * The system call 726 is used heavily by VSH.<br /> <br /> ==== Parameters ====<br /> <br /> r3 - command (16 bits)<br /> <br /> r4 - effective address of command data buffer<br /> <br /> r5 - size of command data buffer<br /> <br /> === Commands ===<br /> <br /> ====Unknown (0x1)====<br /> <br /> * Used by VSH.<br /> * Command buffer size is '''0x10'''.<br /> * Used in AP mode.<br /> * Enables AP mode ???<br /> <br /> ====Get AP SSID (0x3)====<br /> <br /> * Command buffer is of size '''0x30'''.<br /> * Returns SSID in AP mode.<br /> <br /> offset 0xC - SSID (32 bytes)<br /> <br /> ====Set AP SSID (0x5)====<br /> <br /> * Used by VSH.<br /> * Command buffer is of size '''0x30'''.<br /> * Sets SSID in AP mode.<br /> <br /> offset 0xC - SSID (32 bytes)<br /> <br /> ====Get Channel (0xf)====<br /> <br /> * Used by VSH.<br /> * Command buffer is of size '''0x31'''.<br /> * Data is returned from the device.<br /> * Returns list of channels and active channel.<br /> <br /> offset 0x2F - active channel (2 bytes)<br /> <br /> ====Set Channel (0x11)====<br /> <br /> * Used by VSH.<br /> * Command buffer size is '''0xd'''<br /> * Valid channels: '''0 - 13'''. '''0''' means that the channel is selected '''automatically'''.<br /> <br /> offset 0xC - channel (1 byte)<br /> <br /> ====Unknown (0x27)====<br /> <br /> * Command buffer size is '''0xF'''.<br /> <br /> ====Set Antenna (0x29)====<br /> <br /> * Command buffer size is '''0xe'''<br /> <br /> offset 0xC - 0,1 or 2 (1 byte)<br /> <br /> offset 0xD - 2 (1 byte)<br /> <br /> ====Set AP WEP Configuration (0x5b)====<br /> <br /> * Used by VSH.<br /> * Command buffer is of size '''0x56'''.<br /> * Sets WEP security type and WEP key.<br /> * Security types: 0 - none, 1 - wep64, 2 - wep128<br /> <br /> offset 0xE - security mode: 0 - none, 1 - wep64, 2 - wep128 (1 byte)<br /> <br /> offset 0x10 - WEP key (64 bytes)<br /> <br /> ====Unknown (0x61)====<br /> <br /> * Used by VSH.<br /> * Command buffer size is '''0xd'''<br /> <br /> ====Unknown (0x65)====<br /> <br /> * Used by VSH.<br /> * Command uffer size is '''0xd'''.<br /> * Used in AP mode.<br /> <br /> ====Get Eurus Firmware Version (0x99)====<br /> <br /> * Used by VSH.<br /> <br /> Here is the response on my PS3 Slim:<br /> &lt;pre&gt;<br /> 00000000: 4a 55 50 49 54 45 52 2d 54 57 4f 2d 46 57 2d 32 |JUPITER-TWO-FW-2|<br /> 00000010: 30 2e 30 2e 31 32 2e 70 30 28 4a 61 6e 20 31 39 |0.0.12.p0(Jan 19|<br /> 00000020: 20 32 30 31 30 20 32 31 3a 32 30 3a 35 33 29 00 | 2010 21:20:53).|<br /> 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |.............. |<br /> &lt;/pre&gt;<br /> <br /> ====Get AP Operating Mode (0xb7)====<br /> <br /> * Used by VSH.<br /> * Command buffer size is '''0x10'''<br /> * Returns AP operating mode (mixed, 11b or 11g).<br /> <br /> offset 0xC - opmode: 0 - 11b, 1 - 11g, 2 - 11bg (4 bytes)<br /> <br /> ====Set AP Operating Mode (0xb9)====<br /> <br /> * Used by VSH.<br /> * Command buffer size is '''0x10'''<br /> * Sets AP operating mode (mixed, 11b or 11g).<br /> <br /> offset 0xC - opmode: 0 - 11b, 1 - 11g, 2 - 11bg (4 bytes)<br /> <br /> ====Unknown (0xc5)====<br /> <br /> * Used by VSH.<br /> * Command buffer size is '''0x10'''.<br /> * Used in AP mode.<br /> <br /> offset 0xC - ??? (4 bytes)<br /> <br /> ====Set AP WPA AKM Suite (0xc9)====<br /> <br /> * Used by VSH.<br /> * Command buffer size is '''0x11'''.<br /> * Sets WPA AKM suite in AP mode.<br /> <br /> offset 0xC - AKM suite (4 bytes)<br /> <br /> ====Set AP WPA Group Cipher Suite (0xcf)====<br /> <br /> * Used by VSH.<br /> * Command buffer size is '''0x10'''<br /> * Used in AP + WPA mode.<br /> <br /> offset 0xC - group cipher suite: group (4 bytes)<br /> <br /> ====Set AP WPA PSK Binary (0xd3)====<br /> <br /> * Used by VSH.<br /> * Command buffer size is '''0x4c'''<br /> * Sets WPA PSK binary<br /> <br /> offset 0xC - PSK (64 bytes)<br /> <br /> ====Set AP WPA Reauthentication Timeout (0xd5)====<br /> <br /> * Used by VSH.<br /> * Command buffer size is '''0x10'''<br /> * Sets WPA Reauth timeout value in AP WPA mode.<br /> * VSH uses 36000 as timeout.<br /> <br /> offset 0xC - timeout value in seconds (2 bytes)<br /> <br /> ====Unknown (0x127)====<br /> <br /> * Used by VSH.<br /> * Command buffer size is '''0x10'''.<br /> * Used in AP + WPA mode.<br /> <br /> ====Unknown (0x12b)====<br /> <br /> * Used by VSH.<br /> * Command buffer size is '''0x10'''.<br /> * Used in AP + WPA mode.<br /> <br /> ====Set AP WPA PSK Passphrase (0x17d)====<br /> <br /> * Used by VSH.<br /> * Command buffer size is '''0x2D'''<br /> <br /> offset 0xD - passphrase (32 bytes)<br /> <br /> ====Set AP WPA Pairwise Cipher Suite (0x1bf)====<br /> <br /> * Used by VSH.<br /> * Command buffer size is '''0x11'''<br /> * Used in AP + WPA mode.<br /> <br /> offset 0xC - pairwise cipher suite (4 bytes)<br /> <br /> offset 0x10 - ??? (1 byte)<br /> <br /> ====Unknown (0x1d9)====<br /> <br /> * Used by VSH.<br /> * Command buffer size is '''0x10'''<br /> <br /> ====Unknown (0x1dd)====<br /> <br /> * Used by VSH.<br /> * Command buffer size is '''0xd'''<br /> <br /> ====Unknown (0x1ed)====<br /> <br /> * Used by VSH.<br /> * Command buffer is of size '''0x17'''.<br /> * Rate control ???<br /> <br /> ====Get Eurus HW Revision (0x1fb)====<br /> <br /> * Command buffer size is '''0x10'''.<br /> <br /> ====Associate (0x1001)====<br /> <br /> * Used by VSH.<br /> * Used by LV1 on FAT models.<br /> * Command buffer size is '''0xd'''<br /> * Data passed to Gelic device is all 0s<br /> <br /> ====Get Common Configuration (0x1003)====<br /> <br /> * Used by VSH.<br /> * Used by LV1 on FAT models.<br /> * Command buffer size is '''0x18'''<br /> * Data passed to Gelic device is all 0s<br /> <br /> ====Set Common Configuration (0x1005)====<br /> <br /> * Used by VSH.<br /> * Used by LV1 on FAT models.<br /> * Command buffer size is '''0x18'''<br /> * Hmm, VSH always removes QOS bit from capability, that means Jupiter doesn't support QOS ???<br /> <br /> offset 0xC - BSS type: 0 - infrastructure, 1 - ???, 2 - adhoc (1 byte)<br /> <br /> offset 0xD - authentication mode: 0 - open, 1 - shared key<br /> <br /> offset 0xE - opmode: 0 - 11bg, 1 - 11b, 2 - 11g (1 byte) <br /> <br /> offset 0xF - ??? (1 byte)<br /> <br /> offset 0x10 - BSSID (6 bytes)<br /> <br /> offset 0x16 - capability (2 bytes)<br /> <br /> ====Get WEP Configuration (0x1013)====<br /> <br /> * Used by VSH.<br /> * Used by LV1 on FAT models.<br /> * Command buffer size is '''0x50'''<br /> * Data passed to Gelic device is all 0s<br /> <br /> ====Set WEP Configuration (0x1015)====<br /> <br /> * Used by VSH.<br /> * Used by LV1 on FAT models.<br /> * Command buffer size is '''0x50'''<br /> <br /> ====Get WPA Configuration (0x1017)====<br /> <br /> * Used by VSH.<br /> * Used by LV1 on FAT models.<br /> * Command buffer size is '''0x5b'''<br /> * Data passed to Gelic device is all 0s<br /> <br /> ====Set WPA Configuration (0x1019)====<br /> <br /> * Used by VSH.<br /> * Used by LV1 on FAT models.<br /> * Command buffer size is '''0x5b'''<br /> <br /> offset 0xE - security type: 0 - WPA, 1 - RSNA (1 byte)<br /> <br /> offset 0xF - psk type: 0 - hex, 1 - bin (1 byte)<br /> <br /> offset 0x10 - psk key: hex or bin (64 bytes)<br /> <br /> offset 0x50 - group cipher suite: 0x0050f202 - WPA TKIP, 0x0050f204 - WPA AES, 0x000fac02 - RSNA TKIP, 0x000fac04 - RSNA CCMP (4 bytes)<br /> <br /> offset 0x54 - pairwise cipher suite: 0x0050f202 - WPA TKIP, 0x0050f204 - WPA AES, 0x000fac02 - RSNA TKIP, 0x000fac04 - RSNA CCMP (4 bytes)<br /> <br /> offset 0x58 - AKM suite: 0x0050f202 - WPA PSK, 0x000fac02 - RSNA PSK (4 bytes)<br /> <br /> '''See IEEE 802.11 specification for more details about cipher/AKM suites<br /> '''<br /> <br /> 802.11 spec: [http://standards.ieee.org/getieee802/download/802.11-2007.pdf]<br /> <br /> ====Unknown (0x1025)====<br /> <br /> * Used by VSH.<br /> * Command buffer size is '''0x10'''.<br /> * Sets preamble type, something else ???<br /> <br /> offset 0xC - preamble mode: 0 - short, 1 - long (1 byte)<br /> <br /> ====Unknown (0x1031)====<br /> <br /> * Used by VSH.<br /> * Command buffer size is '''0xe'''<br /> <br /> ====Get Scan Results (0x1033)====<br /> <br /> * Used by VSH.<br /> * Used by LV1 on FAT models.<br /> * Command buffer size is '''0x5b0'''<br /> * Data passed to Gelic device is all 0s<br /> <br /> =====Scan Results=====<br /> <br /> offset 0x0 - number of scan entries (1 byte)<br /> <br /> offset 0x1 - array of scan entries<br /> <br /> ======Scan Entry======<br /> <br /> offset 0x0 - size of this entry in bytes, this field is NOT included (2 bytes)<br /> <br /> offset 0x2 - BSSID (6 bytes)<br /> <br /> offset 0x8 - RSSI (1 byte)<br /> <br /> offset 0x9 - timestamp (8 bytes)<br /> <br /> offset 0x11 - beacon period (2 bytes)<br /> <br /> offset 0x13 - capability (2 bytes)<br /> <br /> offset 0x15 - information elements (see 802.11 specification)<br /> <br /> ====Start Scan (0x1035)====<br /> <br /> * Used by VSH.<br /> * Used by LV1 on FAT models.<br /> * Command buffer size depends on size of channel list and ESSID string length<br /> * Data passed to Gelic device contains channel list and ESSID string<br /> * First '''0x16''' bytes in command data buffer are all 0s, then follows the channel list and after that ESSID<br /> <br /> ====Diassociate (0x1037)====<br /> <br /> * Used by VSH.<br /> * Used by LV1 on FAT models.<br /> * Command buffer size is '''0xd'''<br /> * Data passed to Gelic device is all 0s<br /> <br /> ====Get RSSI (0x103d)====<br /> <br /> * Used by VSH.<br /> * Used by LV1 on FAT models.<br /> * Command buffer size is '''0x17'''<br /> <br /> offset 0x10 - MAC address of node (6 bytes)<br /> <br /> offset 0x16 - RSSI (1 byte)<br /> <br /> ====Get MAC Address (0x103f)====<br /> <br /> * Command buffer size is '''0x13'''<br /> <br /> offset 0xD - MAC address (6 bytes)<br /> <br /> ====Set MAC Address (0x1041)====<br /> <br /> * Used by VSH.<br /> * Used by LV1 too.<br /> * Command buffer size is '''0x12'''<br /> <br /> ====Unknown (0x104d)====<br /> <br /> * Used by VSH.<br /> * Command buffer size is '''0xd'''.<br /> <br /> offset 0xC - 0 - ???, 1 - ??? (1 byte)<br /> <br /> ====Unknown (0x104f)====<br /> <br /> * Command buffer size is '''0xd'''.<br /> * Returns 1 byte.<br /> <br /> offset 0xC - 0 - ???, 1 - ??? (1 byte)<br /> <br /> ====Unknown (0x1051)====<br /> <br /> * Used by VSH.<br /> * Command buffer size is '''0x5b3'''.<br /> * Returns '''0x5a7''' bytes.<br /> <br /> offset 0xC - number of entries<br /> <br /> offset 0x10 - entries (each entry is 0xd bytes)<br /> <br /> ====Unknown (0x1053)====<br /> <br /> * Used by VSH.<br /> * Command buffer size is '''0x70'''.<br /> <br /> offset 0xC - ??? (4 bytes)<br /> <br /> offset 0x10 - MAC address (6 bytes)<br /> <br /> ====Unknown (0x1059)====<br /> <br /> * Used by VSH.<br /> * Command buffer size is '''0x2a8'''.<br /> <br /> ====Unknown (0x105f)====<br /> <br /> * Used by LV2.<br /> <br /> ====Get Zephyr HW Revision (0x1101)====<br /> <br /> * Used by VSH.<br /> * Not a Gelic device command, handled by LV2 kernel.<br /> * LV2 uses LV1 call '''lv1_net_control(0x8000000000000002)'''<br /> * Command buffer size is '''0x18'''.<br /> <br /> ====Get MAC Address List (0x1117)====<br /> <br /> * Command buffer size is '''0xce'''.<br /> * Returns several MAC addresses.<br /> <br /> offset 0xC - number of MAC addresses (2 bytes)<br /> <br /> offset 0xE - MAC addresses (6 * number of MAC addresses)<br /> <br /> ====Unknown (0x1133)====<br /> <br /> * Used by VSH.<br /> * Command buffer size is '''0x1A'''.<br /> <br /> ====Set WOL MAC Address Filter (0x1139)====<br /> <br /> * Used by LV2 internally.<br /> * Command buffer is of size '''0x28'''.<br /> <br /> ====Unknown (0x113b)====<br /> <br /> * Used by LV2 internally.<br /> * Command buffer size is '''0x20'''.<br /> <br /> ====Set WOL Multicast Address Filter (0x113d)====<br /> <br /> * Used by LV2 internally.<br /> * Command buffer is of size '''0x2c'''.<br /> <br /> ====Clear WOL Multicast Address Filter (0x113f)====<br /> <br /> * Used by LV2 internally.<br /> * Command buffer is of size '''0x28'''.<br /> <br /> ====Unknown (0x1141)====<br /> <br /> * Used by LV2 internally.<br /> * Command buffer is of size 0x12.<br /> <br /> ====Clear WOL Address Filter (0x1143)====<br /> <br /> * Used by LV2 internally.<br /> * Command buffer size is '''0x2c'''.<br /> <br /> ====Unknown (0x114b)====<br /> <br /> * Used by LV2 internally.<br /> <br /> ====Set WOL Magic Packet Mode (0x1155)====<br /> <br /> * Used by LV2 internally.<br /> * Command buffer is of size '''0x10'''.<br /> * Enables/Disables WOL magic packet.<br /> <br /> offset 0xC - mode: 0 - disable, 1 - enable (4 bytes)<br /> <br /> ====Unknown (0x1157)====<br /> <br /> * Used by LV2 internally.<br /> * Command buffer size is '''0x10'''.<br /> <br /> ====Set WOL Multicast Address Filter Mode (0x1159)====<br /> <br /> * Used by LV2 internally.<br /> * Command buffer size is '''0x10'''.<br /> * WOL function<br /> <br /> offset 0xC - mode: 0 - disable, 1 - enable (4 bytes)<br /> <br /> ====Set Unicast Address Filter (0x115b)====<br /> <br /> * Used by LV2 internally.<br /> * Command buffer is of size '''0x6a'''.<br /> * This command should be used to set proper MAC address or else device won't be able to receive packets destined to its own MAC address<br /> <br /> offset 0xC - ??? (2 bytes)<br /> <br /> offset 0xE - ??? (2 bytes)<br /> <br /> offset 0x10 - MAC address (6 bytes)<br /> <br /> ====Clear Unicast Address Filter (0x115d)====<br /> <br /> * Used by LV2 internally.<br /> * Command buffer size is '''0x6a'''.<br /> <br /> ====Get Unicast Address Filter (0x115f)====<br /> <br /> * Used by LV2 internally.<br /> * Command buffer is of size '''0x6a'''.<br /> <br /> ====Set Multicast Address Filter (0x1161)====<br /> <br /> * Used by LV2 internally.<br /> * Command buffer size is '''0x2c'''.<br /> <br /> ====Clear Multicast Address Filter (0x1163)====<br /> <br /> * Used by LV2 internally.<br /> * Command buffer size is '''0x2c'''<br /> * To clear all multicast addresses send command with all 0s.<br /> <br /> offset 0xC - multicast address filter (4 * 8 bytes)<br /> <br /> ====Get Multicast Address Filter (0x1165)====<br /> <br /> * Used by LV2 internally.<br /> * Command buffer is of size '''0x2c'''.<br /> <br /> ====Set WOL Address Filter (0x1167)====<br /> <br /> * Used by LV2 internally.<br /> * Command buffer size is '''0x70'''.<br /> <br /> ====Set WOL Address Filter Mode (0x116d)====<br /> <br /> * Used by LV2 internally.<br /> * Command buffer size is '''0x10'''.<br /> * Enables/Disables WOL address matching<br /> <br /> offset 0xC - mode: 0 - disable, 1 - enable (4 bytes)<br /> <br /> ====Set Unicast Address Filter Mode (0x116f)====<br /> <br /> * Used by LV2 internally.<br /> * Command buffer size is '''0x10'''.<br /> <br /> offset 0xC - mode: 0 - disable, 1 - enable (4 bytes)<br /> <br /> ====Get Device Status (0xfffb)====<br /> <br /> * Used by VSH.<br /> * Not a Gelic device command, handled by LV2 kernel.<br /> * Returned data size in command buffer is '''0x10'''.<br /> <br /> ====Unknown (0xfffc)====<br /> <br /> * Used by VSH.<br /> * Not a Gelic device command, handled by LV2 kernel.<br /> * LV2 uses LV1 call '''lv1_net_control(0x1 /* bus id */, 0x0 /* dev id */, 0x6 /* get channel info command */, 0x4, 0x0, 0x0)'''<br /> <br /> ====Get Channel Information (0xfffd)====<br /> <br /> * Used by VSH.<br /> * Not a Gelic device command, handled by LV2 kernel.<br /> * LV2 uses LV1 call '''lv1_net_control(0x1 /* bus id */, 0x0 /* dev id */, 0x6 /* get channel info command */, 0x0, 0x0, 0x0)'''<br /> * Returns supported WLAN channels<br /> <br /> ====Set Response Timeout (0xfffe)====<br /> <br /> * Used by VSH.<br /> * Not a Gelic device command, handled by LV2 kernel.<br /> * Sets timeout value which is used to wait for a response from Gelic device.<br /> * Typical value used by VSH is '''0x989680'''.<br /> * Command buffer size is '''0x14'''.<br /> <br /> ====Unknown (0xffff)====<br /> <br /> * Used by VSH.<br /> * Not a Gelic device command, handled by LV2 kernel.<br /> * Returns 0x10 bytes in command buffer.<br /> * Returns gelic device state ???<br /> <br /> === Events ===<br /> <br /> &lt;pre&gt;<br /> struct ps3_eurus_event_hdr {<br /> __le32 type;<br /> __le32 id;<br /> __le32 timestamp;<br /> __le32 payload_length;<br /> __le32 unknown;<br /> } __packed;<br /> <br /> struct ps3_eurus_event {<br /> struct ps3_eurus_event_hdr hdr;<br /> u8 payload[44];<br /> } __packed;<br /> &lt;/pre&gt;<br /> <br /> ====Event Type 0x00000040====<br /> <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Id !! Description<br /> |-<br /> | 0x00000001 || Deauthenticated<br /> |}<br /> <br /> ====Event Type 0x00000080====<br /> <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Id !! Description<br /> |-<br /> | 0x00000001 || Beacon Lost<br /> |-<br /> | 0x00000002 || Connected<br /> |-<br /> | 0x00000004 || Scan Completed<br /> |-<br /> | 0x00000020 || WPA Connected<br /> |-<br /> | 0x00000040 || WPA Error (MIC Error)<br /> |}<br /> <br /> ====Event Type 0x80000000====<br /> <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Id !! Description<br /> |-<br /> | 0x00000001 || Device Ready<br /> |}<br /> <br /> == Enabling WLAN Gelic On FAT ==<br /> <br /> Linux kernel doesn't use Gelic Device Control Interface like GameOS does it.<br /> To get WLAN working on Linux booted with GameOS rights, we have to disable <br /> Gelic Device Control Interface first because it's enabled for GameOS by default.<br /> <br /> The value of repository node &quot;ios.net.eurus.lpar&quot; controls access to Gelic Device Control Interface.<br /> It's a bitmap. The position of a bit corresponds to LPAR id. During GameOS booting, HV process 9 (System Manager) sets bit at postion 2 to 1 which means enable Gelic Device Control Interface for LPAR 2.<br /> <br /> To disable Gelic Device Control Interface on Linux, first unload Gelic device driver, then set<br /> value of repository node &quot;ios.net.eurus.lpar&quot; to 0 and load Gelic device driver again. After that WLAN should work again but only on FATs.<br /> <br /> For PS3 Slim we need a new Linux Gelic device driver which uses Gelic Device Control Interface directly.<br /> <br /> <br /> ==USB WLAN Interface (Codename Jupiter 2)==<br /> <br /> * On new PS3 models, WLAN interface is USB.<br /> * '''Good news is that the same commands are used as with LV1 calls 196 and 195'''.<br /> * There are 2 wireless devices: Station and AP.<br /> * I got WLAN scan working.<br /> <br /> ===Endpoints===<br /> <br /> * LV2 uses 3 USB endpoints of interface 3,4 and 5 to communicate with WLAN.<br /> * Endpoints EP5 IN/OUT, EP6 IN/OUT and EP7 IN/OUT.<br /> * '''WLAN commands''' are sent to endpoint '''EP5 OUT''' with '''interrupt transfers'''.<br /> * '''WLAN events''' and '''WLAN command responses''' are received on endpoint '''EP5 IN''' with '''interrupt transfers'''.<br /> * LV2 opens a USB communication pipe to endpoint EP5 IN and EP5 OUT.<br /> * In my LV2 3.55 dump, pipe to EP5 IN has id '''0x2''' and pipe to EP5 OUT has id '''0x3'''. Array of all opened USB pipes is at address '''0x80000000004bd000''' in my LV2 3.55 dump.<br /> * EP5 is used to send commands to Jupiter and receive events from it.<br /> * EP6 is used to send/receive data packets to/from the 1st WLAN device.<br /> * EP7 is used to send/receive data packets to/from the 2nd WLAN device.<br /> * '''lsusb is buggy on big-endian arch and shows some fields with bytes swapped !!!'''<br /> <br /> &lt;pre&gt;<br /> Bus 002 Device 002: ID 054c:036f Sony Corp. <br /> Device Descriptor:<br /> bLength 18<br /> bDescriptorType 1<br /> bcdUSB 2.00<br /> bDeviceClass 224 Wireless<br /> bDeviceSubClass 1 Radio Frequency<br /> bDeviceProtocol 1 Bluetooth<br /> bMaxPacketSize0 64<br /> idVendor 0x054c Sony Corp.<br /> idProduct 0x036f <br /> bcdDevice 20.12<br /> iManufacturer 1 <br /> iProduct 2 <br /> iSerial 0 <br /> bNumConfigurations 1<br /> Interface Descriptor:<br /> bLength 9<br /> bDescriptorType 4<br /> bInterfaceNumber 3<br /> bAlternateSetting 0<br /> bNumEndpoints 2<br /> bInterfaceClass 255 Vendor Specific Class<br /> bInterfaceSubClass 2 <br /> bInterfaceProtocol 1 <br /> iInterface 0 <br /> Endpoint Descriptor:<br /> bLength 7<br /> bDescriptorType 5<br /> bEndpointAddress 0x85 EP 5 IN<br /> bmAttributes 3<br /> Transfer Type Interrupt<br /> Synch Type None<br /> Usage Type Data<br /> wMaxPacketSize 0x4000 1x 0 bytes<br /> bInterval 1<br /> Endpoint Descriptor:<br /> bLength 7<br /> bDescriptorType 5<br /> bEndpointAddress 0x05 EP 5 OUT<br /> bmAttributes 3<br /> Transfer Type Interrupt<br /> Synch Type None<br /> Usage Type Data<br /> wMaxPacketSize 0x4000 1x 0 bytes<br /> bInterval 1<br /> Interface Descriptor:<br /> bLength 9<br /> bDescriptorType 4<br /> bInterfaceNumber 4<br /> bAlternateSetting 0<br /> bNumEndpoints 2<br /> bInterfaceClass 255 Vendor Specific Class<br /> bInterfaceSubClass 2 <br /> bInterfaceProtocol 2 <br /> iInterface 0 <br /> Endpoint Descriptor:<br /> bLength 7<br /> bDescriptorType 5<br /> bEndpointAddress 0x86 EP 6 IN<br /> bmAttributes 2<br /> Transfer Type Bulk<br /> Synch Type None<br /> Usage Type Data<br /> wMaxPacketSize 0x0002 1x 2 bytes<br /> bInterval 0<br /> Endpoint Descriptor:<br /> bLength 7<br /> bDescriptorType 5<br /> bEndpointAddress 0x06 EP 6 OUT<br /> bmAttributes 2<br /> Transfer Type Bulk<br /> Synch Type None<br /> Usage Type Data<br /> wMaxPacketSize 0x0002 1x 2 bytes<br /> bInterval 255<br /> Interface Descriptor:<br /> bLength 9<br /> bDescriptorType 4<br /> bInterfaceNumber 5<br /> bAlternateSetting 0<br /> bNumEndpoints 2<br /> bInterfaceClass 255 Vendor Specific Class<br /> bInterfaceSubClass 2 <br /> bInterfaceProtocol 3 <br /> iInterface 0 <br /> Endpoint Descriptor:<br /> bLength 7<br /> bDescriptorType 5<br /> bEndpointAddress 0x87 EP 7 IN<br /> bmAttributes 2<br /> Transfer Type Bulk<br /> Synch Type None<br /> Usage Type Data<br /> wMaxPacketSize 0x0002 1x 2 bytes<br /> bInterval 0<br /> Endpoint Descriptor:<br /> bLength 7<br /> bDescriptorType 5<br /> bEndpointAddress 0x07 EP 7 OUT<br /> bmAttributes 2<br /> Transfer Type Bulk<br /> Synch Type None<br /> Usage Type Data<br /> wMaxPacketSize 0x0002 1x 2 bytes<br /> bInterval 255<br /> &lt;/pre&gt;<br /> <br /> ===Device Initialization===<br /> <br /> * LV2 does 2 control transfers to EP0 during WLAN initialization<br /> * First control transfer sends magic '''0x20''' data to device as '''CLEAR_FEATURE''' request.<br /> * Second control transfer reads '''0x2''' bytes device status. On my PS3 slim, the status data is always '''0x2031''' if you send the right magic.<br /> * Magic data sent in first control transfer is stored in LV2.<br /> * '''If you send wrong magic, the first control transfer will fail !!!'''<br /> * LV2 uses a state machine to initialize the Jupiter device. The state machine has 17 states.<br /> <br /> ==== Magic Data in Control Transfer ====<br /> <br /> &lt;pre&gt;<br /> unsigned char ps3_usb_wlan_magic_data[] = {<br /> 0x76, 0x4e, 0x4b, 0x07, 0x24, 0x42, 0x53, 0xfb, 0x5a, 0xc7, 0xcc, 0x1d, 0xae, 0x00, 0xc6, 0xd8,<br /> 0x14, 0x40, 0x61, 0x8b, 0x13, 0x17, 0x4d, 0x7c, 0x3b, 0xb6, 0x90, 0xb8, 0x6e, 0x8b, 0xbb, 0x1d,<br /> };<br /> &lt;/pre&gt;<br /> <br /> ==== Initialization State Machine ====<br /> <br /> * Implemented in LV2.<br /> <br /> =====State 1=====<br /> <br /> * Command '''0x114f''' is sent to WLAN device.<br /> <br /> =====State 2=====<br /> <br /> * Command '''0x1171''' is sent to WLAN device.<br /> <br /> =====State 3=====<br /> <br /> * LV2 waits for an event from WLAN device.<br /> <br /> =====State 4=====<br /> <br /> * Command '''0x116f''' is sent to WLAN device.<br /> <br /> =====State 5=====<br /> <br /> * Command '''0x115b''' is sent to WLAN device.<br /> * Command data sent to WLAN device contains MAC address.<br /> <br /> =====State 6=====<br /> <br /> * Command '''0x1161''' is sent to WLAN device.<br /> * Sets multicast address filter.<br /> <br /> =====State 7=====<br /> <br /> * Command '''0x110d''' is sent to WLAN device.<br /> <br /> =====State 8=====<br /> <br /> * Command '''0x1031''' is sent to WLAN device.<br /> <br /> =====State 9=====<br /> <br /> * Command '''0x1041''' is sent to WLAN device.<br /> * Command data sent to WLAN device contains MAC address.<br /> <br /> =====State 10=====<br /> <br /> * Command '''0x29''' is sent to WLAN device.<br /> * Sets antenna.<br /> <br /> =====State 11=====<br /> <br /> * Command '''0x110b''' is sent to WLAN device.<br /> <br /> =====State 12=====<br /> <br /> * Command '''0x1109''' is sent to WLAN device.<br /> <br /> =====State 13=====<br /> <br /> * Command '''0x207''' is sent to WLAN device.<br /> <br /> =====State 14=====<br /> <br /> * Command '''0x203''' is sent to WLAN device.<br /> <br /> =====State 15=====<br /> <br /> * Command '''0x105f''' is sent to WLAN device.<br /> * Command data sent to WLAN device contains MAC address, channel info and region code.<br /> <br /> =====State 16=====<br /> <br /> * LV2 waits for an event from WLAN device.<br /> <br /> =====State 17=====<br /> <br /> * LV2 accepts commands sent by LV2 syscall 726.<br /> <br /> ===Test Program===<br /> <br /> * Here is a small program which executes a WLAN scan.<br /> * I used libusb.<br /> <br /> ====Source Code====<br /> &lt;pre&gt;<br /> <br /> /*<br /> * PS3 USB WLAN<br /> *<br /> * Copyright (C) 2011 glevand (geoffrey.levand@mail.ru)<br /> * All rights reserved.<br /> *<br /> * This program is free software; you can redistribute it and/or modify it<br /> * under the terms of the GNU General Public License as published<br /> * by the Free Software Foundation; version 2 of the License.<br /> *<br /> * This program is distributed in the hope that it will be useful, but<br /> * WITHOUT ANY WARRANTY; without even the implied warranty of<br /> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br /> * General Public License for more details.<br /> *<br /> * You should have received a copy of the GNU General Public License along<br /> * with this program; if not, write to the Free Software Foundation, Inc.,<br /> * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.<br /> */<br /> <br /> #include &lt;stdio.h&gt;<br /> #include &lt;stdlib.h&gt;<br /> #include &lt;string.h&gt;<br /> #include &lt;ctype.h&gt;<br /> #include &lt;stdint.h&gt;<br /> #include &lt;unistd.h&gt;<br /> #include &lt;pthread.h&gt;<br /> <br /> #include &lt;libusb-1.0/libusb.h&gt;<br /> <br /> #define USB_VENDOR_ID 0x054c /* $ONY */<br /> #define USB_PRODUCT_ID 0x036f<br /> #define USB_IFACE_NUMBER 3<br /> <br /> #define USB_INTR_TRANSFER_EP5_IN_BUF_SIZE 0x800<br /> #define USB_INTR_TRANSFER_EP5_OUT_BUF_SIZE 0x800<br /> <br /> struct wlan_cmd_pkt_hdr {<br /> uint8_t unknown1;<br /> uint8_t unknown2;<br /> uint8_t unknown3;<br /> uint8_t unknown4;<br /> uint16_t unknown5;<br /> uint8_t res1[2];<br /> uint16_t tag;<br /> uint8_t res2[14];<br /> } __attribute__ ((packed));<br /> <br /> struct wlan_cmd_hdr {<br /> uint16_t command;<br /> uint16_t tag;<br /> uint16_t status;<br /> uint16_t payload_size;<br /> uint8_t res[4];<br /> } __attribute__ ((packed));<br /> <br /> struct wlan_event_pkt_hdr {<br /> uint8_t unknown1;<br /> uint8_t unknown2;<br /> uint8_t unknown3;<br /> uint8_t event_count;<br /> } __attribute__ ((packed));<br /> <br /> static libusb_context *usb_ctx;<br /> static libusb_device_handle *usb_dev_handle;<br /> <br /> static struct libusb_transfer *usb_intr_transfer_ep5_in;<br /> static unsigned char usb_intr_transfer_ep5_in_buf[USB_INTR_TRANSFER_EP5_IN_BUF_SIZE];<br /> <br /> static unsigned char usb_intr_transfer_ep5_out_buf[USB_INTR_TRANSFER_EP5_OUT_BUF_SIZE];<br /> <br /> static pthread_mutex_t usb_wlan_cmd_mutex;<br /> static pthread_cond_t usb_wlan_cmd_cond;<br /> static int volatile usb_wlan_cmd_busy;<br /> static uint16_t usb_wlan_cmd;<br /> static void *usb_wlan_cmd_data;<br /> <br /> static int volatile usb_wlan_cmd_thread_done;<br /> <br /> /*<br /> * WLAN won't work without this magic !!!<br /> */<br /> static unsigned char usb_magic_data[] = {<br /> 0x76, 0x4e, 0x4b, 0x07, 0x24, 0x42, 0x53, 0xfb, 0x5a, 0xc7, 0xcc, 0x1d, 0xae, 0x00, 0xc6, 0xd8,<br /> 0x14, 0x40, 0x61, 0x8b, 0x13, 0x17, 0x4d, 0x7c, 0x3b, 0xb6, 0x90, 0xb8, 0x6e, 0x8b, 0xbb, 0x1d,<br /> };<br /> <br /> static unsigned char my_mac_addr[] = {<br /> 0x00, 0x11, 0x22, 0x33, 0x44, 0x55,<br /> };<br /> <br /> /*<br /> * hexdump<br /> */<br /> static void hexdump(const unsigned char *data, unsigned int data_size)<br /> {<br /> int i, j;<br /> <br /> for (i = 0; i &lt; data_size; i += 16) {<br /> fprintf(stdout, &quot;%08x:&quot;, i);<br /> <br /> for (j = 0; j &lt; 16; j++) {<br /> if (i + j &lt; data_size) {<br /> fprintf(stdout, &quot; %02x&quot;, data[i + j]);<br /> } else {<br /> fprintf(stdout, &quot; &quot;);<br /> }<br /> }<br /> <br /> fprintf(stdout, &quot; |&quot;);<br /> <br /> for (j = 0; j &lt; 16; j++) {<br /> if (i + j &lt; data_size) {<br /> if (isprint(data[i + j]))<br /> fprintf(stdout, &quot;%c&quot;, data[i + j]);<br /> else<br /> fprintf(stdout, &quot;.&quot;);<br /> } else {<br /> fprintf(stdout, &quot; &quot;);<br /> }<br /> }<br /> <br /> fprintf(stdout, &quot;|\n&quot;);<br /> }<br /> }<br /> <br /> /*<br /> * usb_handle_wlan_event<br /> */<br /> static void usb_handle_wlan_event(struct wlan_event_pkt_hdr *wlan_event_pkt_hdr)<br /> {<br /> fprintf(stdout, &quot;%s:%d: === got WLAN event ===\n&quot;, __func__, __LINE__);<br /> <br /> /*<br /> fprintf(stdout, &quot;%s:%d: event packet header:\n&quot;, __func__, __LINE__);<br /> fprintf(stdout, &quot;%s:%d: unknown1 (0x%02x)\n&quot;, __func__, __LINE__,<br /> wlan_event_pkt_hdr-&gt;unknown1);<br /> fprintf(stdout, &quot;%s:%d: unknown2 (0x%02x)\n&quot;, __func__, __LINE__,<br /> wlan_event_pkt_hdr-&gt;unknown2);<br /> fprintf(stdout, &quot;%s:%d: unknown3 (0x%02x)\n&quot;, __func__, __LINE__,<br /> wlan_event_pkt_hdr-&gt;unknown3);<br /> */<br /> fprintf(stdout, &quot;%s:%d: event_count (0x%02x)\n&quot;, __func__, __LINE__,<br /> wlan_event_pkt_hdr-&gt;event_count);<br /> <br /> hexdump((unsigned char *) (wlan_event_pkt_hdr + 1), wlan_event_pkt_hdr-&gt;event_count * 64);<br /> }<br /> <br /> /*<br /> * usb_handle_wlan_cmd_response<br /> */<br /> static void usb_handle_wlan_cmd_response(struct wlan_cmd_pkt_hdr *wlan_cmd_pkt_hdr)<br /> {<br /> struct wlan_cmd_hdr *wlan_cmd_hdr;<br /> uint8_t *wlan_cmd_payload;<br /> <br /> fprintf(stdout, &quot;%s:%d: === got WLAN command response ===\n&quot;, __func__, __LINE__);<br /> <br /> wlan_cmd_hdr = (struct wlan_cmd_hdr *) (wlan_cmd_pkt_hdr + 1);<br /> wlan_cmd_payload = (uint8_t *) (wlan_cmd_hdr + 1);<br /> <br /> /* convert all header fields to big-endian byte order !!! */<br /> <br /> wlan_cmd_pkt_hdr-&gt;unknown5 = le16toh(wlan_cmd_pkt_hdr-&gt;unknown5);<br /> wlan_cmd_pkt_hdr-&gt;tag = le16toh(wlan_cmd_pkt_hdr-&gt;tag); /* returned from request */<br /> <br /> wlan_cmd_hdr-&gt;command = le16toh(wlan_cmd_hdr-&gt;command); /* request command + 1 */<br /> wlan_cmd_hdr-&gt;tag = le16toh(wlan_cmd_hdr-&gt;tag); /* returned from request */<br /> wlan_cmd_hdr-&gt;status = le16toh(wlan_cmd_hdr-&gt;status); /* 1 - success<br /> 2 - invalid parameters ???<br /> 3 - invalid command ??? */<br /> wlan_cmd_hdr-&gt;payload_size = le16toh(wlan_cmd_hdr-&gt;payload_size); /* length of data that follows the header */<br /> <br /> /*<br /> fprintf(stdout, &quot;%s:%d: command packet header:\n&quot;, __func__, __LINE__);<br /> fprintf(stdout, &quot;%s:%d: unknown1 (0x%02x)\n&quot;, __func__, __LINE__,<br /> wlan_cmd_pkt_hdr-&gt;unknown1);<br /> fprintf(stdout, &quot;%s:%d: unknown2 (0x%02x)\n&quot;, __func__, __LINE__,<br /> wlan_cmd_pkt_hdr-&gt;unknown2);<br /> fprintf(stdout, &quot;%s:%d: unknown3 (0x%02x)\n&quot;, __func__, __LINE__,<br /> wlan_cmd_pkt_hdr-&gt;unknown3);<br /> fprintf(stdout, &quot;%s:%d: unknown4 (0x%02x)\n&quot;, __func__, __LINE__,<br /> wlan_cmd_pkt_hdr-&gt;unknown4);<br /> fprintf(stdout, &quot;%s:%d: unknown5 (0x%04x)\n&quot;, __func__, __LINE__,<br /> wlan_cmd_pkt_hdr-&gt;unknown5);<br /> fprintf(stdout, &quot;%s:%d: tag (0x%04x)\n&quot;, __func__, __LINE__,<br /> wlan_cmd_pkt_hdr-&gt;tag);<br /> */<br /> <br /> fprintf(stdout, &quot;%s:%d: command header:\n&quot;, __func__, __LINE__);<br /> fprintf(stdout, &quot;%s:%d: command (0x%04x)\n&quot;, __func__, __LINE__,<br /> wlan_cmd_hdr-&gt;command);<br /> <br /> if ((usb_wlan_cmd + 1) != wlan_cmd_hdr-&gt;command)<br /> fprintf(stdout, &quot;%s:%d: ==&gt; command does not match, got (0x%04x) expected (0x%04x)\n&quot;,<br /> __func__, __LINE__, wlan_cmd_hdr-&gt;command, usb_wlan_cmd + 1);<br /> <br /> fprintf(stdout, &quot;%s:%d: tag (0x%04x)\n&quot;, __func__, __LINE__,<br /> wlan_cmd_hdr-&gt;tag);<br /> fprintf(stdout, &quot;%s:%d: status (0x%04x)\n&quot;, __func__, __LINE__,<br /> wlan_cmd_hdr-&gt;status);<br /> <br /> if (wlan_cmd_hdr-&gt;status != 0x1)<br /> fprintf(stdout, &quot;%s:%d: ==&gt; command status != 0x1\n&quot;, __func__, __LINE__);<br /> <br /> fprintf(stdout, &quot;%s:%d: payload_size (0x%04x)\n&quot;, __func__, __LINE__,<br /> wlan_cmd_hdr-&gt;payload_size);<br /> <br /> fprintf(stdout, &quot;%s:%d: command payload:\n&quot;, __func__, __LINE__);<br /> <br /> hexdump(wlan_cmd_payload, wlan_cmd_hdr-&gt;payload_size);<br /> <br /> memcpy(usb_wlan_cmd_data, wlan_cmd_payload, wlan_cmd_hdr-&gt;payload_size);<br /> <br /> pthread_mutex_lock(&amp;usb_wlan_cmd_mutex);<br /> <br /> usb_wlan_cmd_busy = 0;<br /> <br /> pthread_cond_signal(&amp;usb_wlan_cmd_cond);<br /> <br /> pthread_mutex_unlock(&amp;usb_wlan_cmd_mutex);<br /> }<br /> <br /> /*<br /> * usb_intr_transfer_ep5_in_cb<br /> */<br /> static void usb_intr_transfer_ep5_in_cb(struct libusb_transfer *transfer)<br /> {<br /> struct wlan_cmd_pkt_hdr *wlan_cmd_pkt_hdr;<br /> int error;<br /> <br /> fprintf(stdout, &quot;%s:%d: === got interrupt transfer ===\n&quot;, __func__, __LINE__);<br /> <br /> fprintf(stdout, &quot;%s:%d: transfer status (%d) length (%d)\n&quot;,<br /> __func__, __LINE__, transfer-&gt;status, transfer-&gt;actual_length);<br /> <br /> wlan_cmd_pkt_hdr = (struct wlan_cmd_pkt_hdr *) transfer-&gt;buffer;<br /> <br /> if (wlan_cmd_pkt_hdr-&gt;unknown3 == 0x6)<br /> usb_handle_wlan_cmd_response(wlan_cmd_pkt_hdr);<br /> else if (wlan_cmd_pkt_hdr-&gt;unknown3 == 0x8)<br /> usb_handle_wlan_event((struct wlan_event_pkt_hdr *) transfer-&gt;buffer);<br /> else<br /> fprintf(stdout, &quot;%s:%d: got unknown packet (0x%02x)\n&quot;,<br /> __func__, __LINE__, wlan_cmd_pkt_hdr-&gt;unknown3);<br /> <br /> memset(usb_intr_transfer_ep5_in_buf, 0, sizeof(usb_intr_transfer_ep5_in_buf));<br /> <br /> libusb_fill_interrupt_transfer(usb_intr_transfer_ep5_in, usb_dev_handle, LIBUSB_ENDPOINT_IN | 0x5,<br /> usb_intr_transfer_ep5_in_buf, sizeof(usb_intr_transfer_ep5_in_buf),<br /> usb_intr_transfer_ep5_in_cb, NULL, 0);<br /> <br /> error = libusb_submit_transfer(usb_intr_transfer_ep5_in);<br /> if (error) {<br /> fprintf(stderr, &quot;%s:%d: could not submit transfer (%d)\n&quot;,<br /> __func__, __LINE__, error);<br /> exit(1);<br /> }<br /> }<br /> <br /> /*<br /> * usb_intr_transfer_ep5_out_cb<br /> */<br /> static void usb_intr_transfer_ep5_out_cb(struct libusb_transfer *transfer)<br /> {<br /> /*<br /> fprintf(stdout, &quot;%s:%d: sent interrupt transfer\n&quot;, __func__, __LINE__);<br /> <br /> fprintf(stdout, &quot;%s:%d: transfer status (%d)\n&quot;, __func__, __LINE__, transfer-&gt;status);<br /> */<br /> <br /> libusb_free_transfer(transfer);<br /> }<br /> <br /> /*<br /> * usb_wlan_cmd_send<br /> */<br /> static int usb_wlan_cmd_send(uint16_t command, const uint8_t *data, unsigned int data_size)<br /> {<br /> struct wlan_cmd_pkt_hdr *wlan_cmd_pkt_hdr;<br /> struct wlan_cmd_hdr *wlan_cmd_hdr;<br /> uint8_t *wlan_cmd_payload;<br /> struct libusb_transfer *transfer;<br /> int error;<br /> <br /> fprintf(stdout, &quot;%s:%d: sending command (0x%04x) data size (0x%04x) command size (0x%04x)\n&quot;,<br /> __func__, __LINE__, command, data_size, data_size + sizeof(struct wlan_cmd_hdr));<br /> <br /> transfer = libusb_alloc_transfer(0);<br /> if (!transfer) {<br /> fprintf(stderr, &quot;%s:%d: could not allocate transfer\n&quot;, __func__, __LINE__);<br /> error = -1;<br /> goto fail;<br /> }<br /> <br /> wlan_cmd_pkt_hdr = (struct wlan_cmd_pkt_hdr *) usb_intr_transfer_ep5_out_buf;<br /> wlan_cmd_hdr = (struct wlan_cmd_hdr *) (wlan_cmd_pkt_hdr + 1);<br /> wlan_cmd_payload = (uint8_t *) (wlan_cmd_hdr + 1);<br /> <br /> wlan_cmd_pkt_hdr-&gt;unknown1 = 0x1;<br /> wlan_cmd_pkt_hdr-&gt;unknown2 = 0x1;<br /> wlan_cmd_pkt_hdr-&gt;unknown3 = 0x6;<br /> wlan_cmd_pkt_hdr-&gt;unknown4 = 0x0;<br /> wlan_cmd_pkt_hdr-&gt;unknown5 = 0x1;<br /> wlan_cmd_pkt_hdr-&gt;tag = 0xf00d; /* returned in response */<br /> <br /> wlan_cmd_hdr-&gt;command = command;<br /> wlan_cmd_hdr-&gt;tag = 0xcafe; /* returned in response */<br /> wlan_cmd_hdr-&gt;status = 0xa;<br /> wlan_cmd_hdr-&gt;payload_size = data_size;<br /> <br /> memcpy(wlan_cmd_payload, data, data_size);<br /> <br /> usb_wlan_cmd = command;<br /> usb_wlan_cmd_data = (void *) data;<br /> <br /> libusb_fill_interrupt_transfer(transfer, usb_dev_handle, LIBUSB_ENDPOINT_OUT | 0x5,<br /> usb_intr_transfer_ep5_out_buf,<br /> sizeof(struct wlan_cmd_pkt_hdr) + sizeof(struct wlan_cmd_hdr) + wlan_cmd_hdr-&gt;payload_size,<br /> usb_intr_transfer_ep5_out_cb, NULL, 0);<br /> <br /> /* convert all header fields to little-endian byte order !!! */<br /> <br /> wlan_cmd_pkt_hdr-&gt;unknown5 = htole16(wlan_cmd_pkt_hdr-&gt;unknown5);<br /> wlan_cmd_pkt_hdr-&gt;tag = htole16(wlan_cmd_pkt_hdr-&gt;tag);<br /> <br /> wlan_cmd_hdr-&gt;command = htole16(wlan_cmd_hdr-&gt;command);<br /> wlan_cmd_hdr-&gt;tag = htole16(wlan_cmd_hdr-&gt;tag);<br /> wlan_cmd_hdr-&gt;status = htole16(wlan_cmd_hdr-&gt;status);<br /> wlan_cmd_hdr-&gt;payload_size = htole16(wlan_cmd_hdr-&gt;payload_size);<br /> <br /> error = libusb_submit_transfer(transfer);<br /> if (error) {<br /> fprintf(stderr, &quot;%s:%d: could not submit transfer (%d)\n&quot;,<br /> __func__, __LINE__, error);<br /> goto fail_free_transfer;<br /> }<br /> <br /> pthread_mutex_lock(&amp;usb_wlan_cmd_mutex);<br /> <br /> usb_wlan_cmd_busy = 1;<br /> <br /> while (usb_wlan_cmd_busy)<br /> pthread_cond_wait(&amp;usb_wlan_cmd_cond, &amp;usb_wlan_cmd_mutex);<br /> <br /> pthread_mutex_unlock(&amp;usb_wlan_cmd_mutex);<br /> <br /> return 0;<br /> <br /> fail_free_transfer:<br /> <br /> libusb_free_transfer(transfer);<br /> <br /> fail:<br /> <br /> return error;<br /> }<br /> <br /> /*<br /> * usb_wlan_cmd_start_scan<br /> */<br /> static int usb_wlan_cmd_start_scan(void)<br /> {<br /> unsigned char data[256], *ptr;<br /> unsigned int data_size;<br /> <br /> memset(data, 0, sizeof(data));<br /> <br /> ptr = data;<br /> *ptr++ = 0x0;<br /> *ptr++ = 0x1;<br /> *ptr++ = 0x64;<br /> *ptr++ = 0x0;<br /> <br /> ptr = data + 0xa;<br /> *ptr++ = 0x3;<br /> <br /> *ptr++ = 13; /* number of channels */<br /> *ptr++ = 1; /* channels */<br /> *ptr++ = 2;<br /> *ptr++ = 3;<br /> *ptr++ = 4;<br /> *ptr++ = 5;<br /> *ptr++ = 6;<br /> *ptr++ = 7;<br /> *ptr++ = 8;<br /> *ptr++ = 9;<br /> *ptr++ = 10;<br /> *ptr++ = 11;<br /> *ptr++ = 12;<br /> *ptr++ = 13;<br /> <br /> data_size = ptr - data;<br /> <br /> return usb_wlan_cmd_send(0x1035, data, data_size);<br /> }<br /> <br /> /*<br /> * usb_wlan_cmd_get_scan_results<br /> */<br /> static int usb_wlan_cmd_get_scan_results(void)<br /> {<br /> unsigned char data[1456];<br /> unsigned int data_size;<br /> <br /> memset(data, 0, sizeof(data));<br /> <br /> data_size = sizeof(data);<br /> <br /> return usb_wlan_cmd_send(0x1033, data, data_size);<br /> }<br /> <br /> /*<br /> * usb_wlan_cmd_0x99<br /> */<br /> static int usb_wlan_cmd_0x99(void)<br /> {<br /> unsigned char data[0x3e];<br /> unsigned int data_size;<br /> <br /> memset(data, 0, sizeof(data));<br /> <br /> data_size = sizeof(data);<br /> <br /> return usb_wlan_cmd_send(0x99, data, data_size);<br /> }<br /> <br /> /*<br /> * usb_wlan_init<br /> */<br /> static int usb_wlan_init(void)<br /> {<br /> unsigned char data[1456], *ptr;<br /> unsigned int data_size;<br /> int error;<br /> <br /> /* state 0x1 */<br /> <br /> memset(data, 0, sizeof(data));<br /> <br /> data_size = 0x518;<br /> <br /> error = usb_wlan_cmd_send(0x114f, data, data_size);<br /> if (error) {<br /> fprintf(stderr, &quot;%s:%d: could not send command 0x114f (%d)\n&quot;,<br /> __func__, __LINE__, error);<br /> return error;<br /> }<br /> <br /> sleep(2);<br /> <br /> /* state 0x2 */<br /> <br /> memset(data, 0, sizeof(data));<br /> <br /> data_size = 0;<br /> <br /> error = usb_wlan_cmd_send(0x1171, data, data_size);<br /> if (error) {<br /> fprintf(stderr, &quot;%s:%d: could not send command 0x1171 (%d)\n&quot;,<br /> __func__, __LINE__, error);<br /> return error;<br /> }<br /> <br /> sleep(2);<br /> <br /> /* wait for a WLAN event */<br /> <br /> /* state 0x4 */<br /> <br /> memset(data, 0, sizeof(data));<br /> <br /> ptr = data;<br /> <br /> *ptr++ = 0x1;<br /> <br /> data_size = 0x4;<br /> <br /> error = usb_wlan_cmd_send(0x116f, data, data_size);<br /> if (error) {<br /> fprintf(stderr, &quot;%s:%d: could not send command 0x116f (%d)\n&quot;,<br /> __func__, __LINE__, error);<br /> return error;<br /> }<br /> <br /> sleep(2);<br /> <br /> /* state 0x5 */<br /> <br /> memset(data, 0, sizeof(data));<br /> <br /> ptr = data;<br /> <br /> *ptr++ = 0x1;<br /> <br /> ptr = data + 0x4;<br /> memcpy(ptr, my_mac_addr, sizeof(my_mac_addr));<br /> <br /> data_size = 0x5e;<br /> <br /> error = usb_wlan_cmd_send(0x115b, data, data_size);<br /> if (error) {<br /> fprintf(stderr, &quot;%s:%d: could not send command 0x115b (%d)\n&quot;,<br /> __func__, __LINE__, error);<br /> return error;<br /> }<br /> <br /> sleep(2);<br /> <br /> /* state 0x6 */<br /> <br /> memset(data, 0, sizeof(data));<br /> <br /> ptr = data + 0x1c;<br /> <br /> *ptr++ = 0x20;<br /> <br /> data_size = 0x20;<br /> <br /> error = usb_wlan_cmd_send(0x1161, data, data_size);<br /> if (error) {<br /> fprintf(stderr, &quot;%s:%d: could not send command 0x1161 (%d)\n&quot;,<br /> __func__, __LINE__, error);<br /> return error;<br /> }<br /> <br /> sleep(2);<br /> <br /> memset(data, 0, sizeof(data));<br /> <br /> ptr = data + 0xc;<br /> memset(ptr, 0xff, 7 * 4);<br /> <br /> data_size = 0x80;<br /> <br /> error = usb_wlan_cmd_send(0x110d, data, data_size);<br /> if (error) {<br /> fprintf(stderr, &quot;%s:%d: could not send command 0x110d (%d)\n&quot;,<br /> __func__, __LINE__, error);<br /> return error;<br /> }<br /> <br /> sleep(2);<br /> <br /> memset(data, 0, sizeof(data));<br /> <br /> data_size = 0x2;<br /> <br /> error = usb_wlan_cmd_send(0x1031, data, data_size);<br /> if (error) {<br /> fprintf(stderr, &quot;%s:%d: could not send command 0x1031 (%d)\n&quot;,<br /> __func__, __LINE__, error);<br /> return error;<br /> }<br /> <br /> sleep(2);<br /> <br /> memset(data, 0, sizeof(data));<br /> <br /> ptr = data;<br /> memcpy(ptr, my_mac_addr, sizeof(my_mac_addr));<br /> <br /> data_size = 0x6;<br /> <br /> error = usb_wlan_cmd_send(0x1041, data, data_size);<br /> if (error) {<br /> fprintf(stderr, &quot;%s:%d: could not send command 0x1041 (%d)\n&quot;,<br /> __func__, __LINE__, error);<br /> return error;<br /> }<br /> <br /> sleep(2);<br /> <br /> /* state 0xa */<br /> <br /> memset(data, 0, sizeof(data));<br /> <br /> ptr = data;<br /> <br /> *ptr++ = 0x2;<br /> *ptr++ = 0x2;<br /> <br /> data_size = 0x2;<br /> <br /> error = usb_wlan_cmd_send(0x29, data, data_size);<br /> if (error) {<br /> fprintf(stderr, &quot;%s:%d: could not send command 0x29 (%d)\n&quot;,<br /> __func__, __LINE__, error);<br /> return error;<br /> }<br /> <br /> sleep(2);<br /> <br /> memset(data, 0, sizeof(data));<br /> <br /> ptr = data;<br /> <br /> *ptr++ = 0x1;<br /> <br /> ptr = data + 8;<br /> <br /> *ptr++ = 0x20;<br /> <br /> data_size = 0xc;<br /> <br /> error = usb_wlan_cmd_send(0x110b, data, data_size);<br /> if (error) {<br /> fprintf(stderr, &quot;%s:%d: could not send command 0x110b (%d)\n&quot;,<br /> __func__, __LINE__, error);<br /> return error;<br /> }<br /> <br /> sleep(2);<br /> <br /> memset(data, 0, sizeof(data));<br /> <br /> ptr = data;<br /> <br /> *ptr++ = 0x1;<br /> <br /> ptr = data + 0x4;<br /> <br /> *ptr++ = 0x15;<br /> *ptr++ = 0x27;<br /> <br /> *ptr++ = 0x12;<br /> *ptr++ = 0x0;<br /> <br /> *ptr++ = 0x6;<br /> *ptr++ = 0x0;<br /> <br /> ptr = data + 0xc;<br /> <br /> *ptr++ = 0x9;<br /> *ptr++ = 0x0;<br /> *ptr++ = 0x1;<br /> <br /> ptr = data + 0x10;<br /> <br /> *ptr++ = 0xff;<br /> *ptr++ = 0xff;<br /> *ptr++ = 0xff;<br /> *ptr++ = 0xff;<br /> *ptr++ = 0xff;<br /> *ptr++ = 0xff;<br /> <br /> data_size = 0x16;<br /> <br /> error = usb_wlan_cmd_send(0x1109, data, data_size);<br /> if (error) {<br /> fprintf(stderr, &quot;%s:%d: could not send command 0x1109 (%d)\n&quot;,<br /> __func__, __LINE__, error);<br /> return error;<br /> }<br /> <br /> sleep(2);<br /> <br /> memset(data, 0, sizeof(data));<br /> <br /> ptr = data;<br /> <br /> *ptr++ = 0x1;<br /> <br /> data_size = 0x4;<br /> <br /> error = usb_wlan_cmd_send(0x207, data, data_size);<br /> if (error) {<br /> fprintf(stderr, &quot;%s:%d: could not send command 0x207 (%d)\n&quot;,<br /> __func__, __LINE__, error);<br /> return error;<br /> }<br /> <br /> sleep(2);<br /> <br /> memset(data, 0, sizeof(data));<br /> <br /> ptr = data;<br /> <br /> *ptr++ = 0x4;<br /> <br /> data_size = 0x4;<br /> <br /> error = usb_wlan_cmd_send(0x203, data, data_size);<br /> if (error) {<br /> fprintf(stderr, &quot;%s:%d: could not send command 0x203 (%d)\n&quot;,<br /> __func__, __LINE__, error);<br /> return error;<br /> }<br /> <br /> sleep(2);<br /> <br /> /* state 0xf */<br /> <br /> memset(data, 0, sizeof(data));<br /> <br /> ptr = data;<br /> <br /> *ptr++ = 0xff;<br /> *ptr++ = 0x1f;<br /> <br /> memcpy(ptr, my_mac_addr, sizeof(my_mac_addr));<br /> <br /> ptr = data + 0x8;<br /> <br /> *ptr++ = 0x2;<br /> *ptr++ = 0x2;<br /> <br /> data_size = 0xa;<br /> <br /> error = usb_wlan_cmd_send(0x105f, data, data_size);<br /> if (error) {<br /> fprintf(stderr, &quot;%s:%d: could not send command 0x105f (%d)\n&quot;,<br /> __func__, __LINE__, error);<br /> return error;<br /> }<br /> <br /> return 0;<br /> }<br /> <br /> /*<br /> * usb_wlan_cmd_thread<br /> */<br /> static void *usb_wlan_cmd_thread(void *arg)<br /> {<br /> int error;<br /> <br /> error = usb_wlan_init();<br /> if (error) {<br /> fprintf(stderr, &quot;%s:%d: could not initialize device (%d)\n&quot;,<br /> __func__, __LINE__, error);<br /> goto done;<br /> }<br /> <br /> sleep(5);<br /> <br /> error = usb_wlan_cmd_0x99();<br /> if (error) {<br /> fprintf(stderr, &quot;%s:%d: could not start scanning (%d)\n&quot;,<br /> __func__, __LINE__, error);<br /> goto done;<br /> }<br /> <br /> error = usb_wlan_cmd_start_scan();<br /> if (error) {<br /> fprintf(stderr, &quot;%s:%d: could not start scanning (%d)\n&quot;,<br /> __func__, __LINE__, error);<br /> goto done;<br /> }<br /> <br /> sleep(10);<br /> <br /> error = usb_wlan_cmd_get_scan_results();<br /> if (error) {<br /> fprintf(stderr, &quot;%s:%d: could not get scan results (%d)\n&quot;,<br /> __func__, __LINE__, error);<br /> goto done;<br /> }<br /> <br /> sleep(10);<br /> <br /> done:<br /> <br /> usb_wlan_cmd_thread_done = 1;<br /> <br /> return NULL;<br /> }<br /> <br /> /*<br /> * main<br /> */<br /> int main(int argc, char **argv)<br /> {<br /> unsigned char buf[256];<br /> pthread_t tid;<br /> struct timeval tv;<br /> int error;<br /> <br /> pthread_mutex_init(&amp;usb_wlan_cmd_mutex, NULL);<br /> pthread_cond_init(&amp;usb_wlan_cmd_cond, NULL);<br /> <br /> error = libusb_init(&amp;usb_ctx);<br /> if (error) {<br /> fprintf(stderr, &quot;%s:%d: libusb_init failed (%d)\n&quot;, __func__, __LINE__, error);<br /> exit(1);<br /> }<br /> <br /> libusb_set_debug(usb_ctx, 5);<br /> <br /> usb_dev_handle = libusb_open_device_with_vid_pid(usb_ctx, USB_VENDOR_ID, USB_PRODUCT_ID);<br /> if (!usb_dev_handle) {<br /> fprintf(stderr, &quot;%s:%d: could not open device\n&quot;, __func__, __LINE__);<br /> exit(1);<br /> }<br /> <br /> if(libusb_kernel_driver_active(usb_dev_handle, USB_IFACE_NUMBER)) {<br /> fprintf(stdout, &quot;%s:%d: kernel driver is attached\n&quot;, __func__, __LINE__);<br /> <br /> error = libusb_detach_kernel_driver(usb_dev_handle, USB_IFACE_NUMBER);<br /> if (error) {<br /> fprintf(stderr, &quot;%s:%d: could not detach kernel driver (%d)\n&quot;,<br /> __func__, __LINE__, error);<br /> exit(1);<br /> }<br /> <br /> fprintf(stdout, &quot;%s:%d: kernel driver dettached\n&quot;, __func__, __LINE__);<br /> }<br /> <br /> error = libusb_claim_interface(usb_dev_handle, USB_IFACE_NUMBER);<br /> if (error) {<br /> fprintf(stderr, &quot;%s:%d: could not claim interface (%d)\n&quot;,<br /> __func__, __LINE__, error);<br /> exit(1);<br /> }<br /> <br /> error = libusb_control_transfer(usb_dev_handle, 0x40, 0x1, 0x9, 0x0,<br /> usb_magic_data, sizeof(usb_magic_data), 0);<br /> if (error &lt; 0) {<br /> fprintf(stderr, &quot;%s:%d: could not do control transfer (%d)\n&quot;,<br /> __func__, __LINE__, error);<br /> exit(1);<br /> }<br /> <br /> fprintf(stdout, &quot;%s:%d: number of bytes transferred (%d)\n&quot;, __func__, __LINE__, error);<br /> <br /> error = libusb_control_transfer(usb_dev_handle, 0xc0, 0x0, 0x2, 0x0, buf, 2, 0);<br /> if (error &lt; 0) {<br /> fprintf(stderr, &quot;%s:%d: could not do control transfer (%d)\n&quot;,<br /> __func__, __LINE__, error);<br /> exit(1);<br /> }<br /> <br /> fprintf(stdout, &quot;%s:%d: number of bytes received (%d)\n&quot;, __func__, __LINE__, error);<br /> <br /> fprintf(stdout, &quot;%s:%d: 0x%02x 0x%02x\n&quot;, __func__, __LINE__, buf[0], buf[1]);<br /> <br /> usb_intr_transfer_ep5_in = libusb_alloc_transfer(0);<br /> if (!usb_intr_transfer_ep5_in) {<br /> fprintf(stderr, &quot;%s:%d: could not allocate transfer\n&quot;, __func__, __LINE__);<br /> exit(1);<br /> }<br /> <br /> memset(usb_intr_transfer_ep5_in_buf, 0, sizeof(usb_intr_transfer_ep5_in_buf));<br /> <br /> libusb_fill_interrupt_transfer(usb_intr_transfer_ep5_in, usb_dev_handle, LIBUSB_ENDPOINT_IN | 0x5,<br /> usb_intr_transfer_ep5_in_buf, sizeof(usb_intr_transfer_ep5_in_buf),<br /> usb_intr_transfer_ep5_in_cb, NULL, 0);<br /> <br /> error = libusb_submit_transfer(usb_intr_transfer_ep5_in);<br /> if (error) {<br /> fprintf(stderr, &quot;%s:%d: could not submit transfer (%d)\n&quot;,<br /> __func__, __LINE__, error);<br /> exit(1);<br /> }<br /> <br /> error = pthread_create(&amp;tid, NULL, usb_wlan_cmd_thread, NULL);<br /> if (error) {<br /> fprintf(stderr, &quot;%s:%d: could not create WLAN command thread (%d)\n&quot;,<br /> __func__, __LINE__, error);<br /> exit(1);<br /> }<br /> <br /> while (!usb_wlan_cmd_thread_done) {<br /> tv.tv_sec = 1;<br /> tv.tv_usec = 0;<br /> <br /> error = libusb_handle_events_timeout(usb_ctx, &amp;tv);<br /> if (error) {<br /> fprintf(stderr, &quot;%s:%d: could not handle events (%d)\n&quot;,<br /> __func__, __LINE__, error);<br /> exit(1);<br /> }<br /> }<br /> <br /> libusb_free_transfer(usb_intr_transfer_ep5_in);<br /> <br /> error = libusb_release_interface(usb_dev_handle, USB_IFACE_NUMBER);<br /> if (error)<br /> fprintf(stderr, &quot;%s:%d: could not release interface (%d)\n&quot;,<br /> __func__, __LINE__, error);<br /> <br /> libusb_close(usb_dev_handle);<br /> <br /> libusb_exit(usb_ctx);<br /> <br /> exit(0);<br /> }<br /> &lt;/pre&gt;<br /> <br /> ====Output====<br /> <br /> &lt;pre&gt;<br /> glevand@debian-hdd:~/ps3_usb_wlan$ sudo ./ps3_usb_wlan <br /> sudo: unable to resolve host debian-hdd<br /> main:824: number of bytes transferred (32)<br /> main:833: number of bytes received (2)<br /> main:835: 0x20 0x31<br /> usb_wlan_cmd_send:288: sending command (0x114f) data size (0x0518) command size (0x0524)<br /> usb_intr_transfer_ep5_in_cb:233: === got interrupt transfer ===<br /> usb_intr_transfer_ep5_in_cb:236: transfer status (0) length (36)<br /> usb_handle_wlan_cmd_response:158: === got WLAN command response ===<br /> usb_handle_wlan_cmd_response:191: command header:<br /> usb_handle_wlan_cmd_response:192: command (0x1150)<br /> usb_handle_wlan_cmd_response:199: tag (0xcafe)<br /> usb_handle_wlan_cmd_response:201: status (0x0006)<br /> usb_handle_wlan_cmd_response:205: ==&gt; command status != 0x1<br /> usb_handle_wlan_cmd_response:207: payload_size (0x0000)<br /> usb_handle_wlan_cmd_response:210: command payload:<br /> usb_wlan_cmd_send:288: sending command (0x1171) data size (0x0000) command size (0x000c)<br /> usb_intr_transfer_ep5_in_cb:233: === got interrupt transfer ===<br /> usb_intr_transfer_ep5_in_cb:236: transfer status (0) length (36)<br /> usb_handle_wlan_cmd_response:158: === got WLAN command response ===<br /> usb_handle_wlan_cmd_response:191: command header:<br /> usb_handle_wlan_cmd_response:192: command (0x1172)<br /> usb_handle_wlan_cmd_response:199: tag (0xcafe)<br /> usb_handle_wlan_cmd_response:201: status (0x0001)<br /> usb_handle_wlan_cmd_response:207: payload_size (0x0000)<br /> usb_handle_wlan_cmd_response:210: command payload:<br /> usb_intr_transfer_ep5_in_cb:233: === got interrupt transfer ===<br /> usb_intr_transfer_ep5_in_cb:236: transfer status (0) length (68)<br /> usb_handle_wlan_event:133: === got WLAN event ===<br /> usb_handle_wlan_event:144: event_count (0x01)<br /> 00000000: 00 04 00 00 10 00 00 00 3c 22 02 00 00 00 00 00 |........&lt;&quot;......|<br /> 00000010: fc 90 02 c0 00 00 00 00 00 00 00 00 00 00 00 00 |................|<br /> 00000020: 13 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 |... ............|<br /> 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|<br /> usb_wlan_cmd_send:288: sending command (0x116f) data size (0x0004) command size (0x0010)<br /> usb_intr_transfer_ep5_in_cb:233: === got interrupt transfer ===<br /> usb_intr_transfer_ep5_in_cb:236: transfer status (0) length (36)<br /> usb_handle_wlan_cmd_response:158: === got WLAN command response ===<br /> usb_handle_wlan_cmd_response:191: command header:<br /> usb_handle_wlan_cmd_response:192: command (0x1170)<br /> usb_handle_wlan_cmd_response:199: tag (0xcafe)<br /> usb_handle_wlan_cmd_response:201: status (0x0001)<br /> usb_handle_wlan_cmd_response:207: payload_size (0x0000)<br /> usb_handle_wlan_cmd_response:210: command payload:<br /> usb_wlan_cmd_send:288: sending command (0x115b) data size (0x005e) command size (0x006a)<br /> usb_intr_transfer_ep5_in_cb:233: === got interrupt transfer ===<br /> usb_intr_transfer_ep5_in_cb:236: transfer status (0) length (36)<br /> usb_handle_wlan_cmd_response:158: === got WLAN command response ===<br /> usb_handle_wlan_cmd_response:191: command header:<br /> usb_handle_wlan_cmd_response:192: command (0x115c)<br /> usb_handle_wlan_cmd_response:199: tag (0xcafe)<br /> usb_handle_wlan_cmd_response:201: status (0x0001)<br /> usb_handle_wlan_cmd_response:207: payload_size (0x0000)<br /> usb_handle_wlan_cmd_response:210: command payload:<br /> usb_wlan_cmd_send:288: sending command (0x1161) data size (0x0020) command size (0x002c)<br /> usb_intr_transfer_ep5_in_cb:233: === got interrupt transfer ===<br /> usb_intr_transfer_ep5_in_cb:236: transfer status (0) length (36)<br /> usb_handle_wlan_cmd_response:158: === got WLAN command response ===<br /> usb_handle_wlan_cmd_response:191: command header:<br /> usb_handle_wlan_cmd_response:192: command (0x1162)<br /> usb_handle_wlan_cmd_response:199: tag (0xcafe)<br /> usb_handle_wlan_cmd_response:201: status (0x0001)<br /> usb_handle_wlan_cmd_response:207: payload_size (0x0000)<br /> usb_handle_wlan_cmd_response:210: command payload:<br /> usb_wlan_cmd_send:288: sending command (0x110d) data size (0x0080) command size (0x008c)<br /> usb_intr_transfer_ep5_in_cb:233: === got interrupt transfer ===<br /> usb_intr_transfer_ep5_in_cb:236: transfer status (0) length (36)<br /> usb_handle_wlan_cmd_response:158: === got WLAN command response ===<br /> usb_handle_wlan_cmd_response:191: command header:<br /> usb_handle_wlan_cmd_response:192: command (0x110e)<br /> usb_handle_wlan_cmd_response:199: tag (0xcafe)<br /> usb_handle_wlan_cmd_response:201: status (0x0001)<br /> usb_handle_wlan_cmd_response:207: payload_size (0x0000)<br /> usb_handle_wlan_cmd_response:210: command payload:<br /> usb_wlan_cmd_send:288: sending command (0x1031) data size (0x0002) command size (0x000e)<br /> usb_intr_transfer_ep5_in_cb:233: === got interrupt transfer ===<br /> usb_intr_transfer_ep5_in_cb:236: transfer status (0) length (38)<br /> usb_handle_wlan_cmd_response:158: === got WLAN command response ===<br /> usb_handle_wlan_cmd_response:191: command header:<br /> usb_handle_wlan_cmd_response:192: command (0x1032)<br /> usb_handle_wlan_cmd_response:199: tag (0xcafe)<br /> usb_handle_wlan_cmd_response:201: status (0x0001)<br /> usb_handle_wlan_cmd_response:207: payload_size (0x0002)<br /> usb_handle_wlan_cmd_response:210: command payload:<br /> 00000000: 00 00 |.. |<br /> usb_wlan_cmd_send:288: sending command (0x1041) data size (0x0006) command size (0x0012)<br /> usb_intr_transfer_ep5_in_cb:233: === got interrupt transfer ===<br /> usb_intr_transfer_ep5_in_cb:236: transfer status (0) length (42)<br /> usb_handle_wlan_cmd_response:158: === got WLAN command response ===<br /> usb_handle_wlan_cmd_response:191: command header:<br /> usb_handle_wlan_cmd_response:192: command (0x1042)<br /> usb_handle_wlan_cmd_response:199: tag (0xcafe)<br /> usb_handle_wlan_cmd_response:201: status (0x0001)<br /> usb_handle_wlan_cmd_response:207: payload_size (0x0006)<br /> usb_handle_wlan_cmd_response:210: command payload:<br /> 00000000: 00 11 22 33 44 55 |..&quot;3DU |<br /> usb_wlan_cmd_send:288: sending command (0x0029) data size (0x0002) command size (0x000e)<br /> usb_intr_transfer_ep5_in_cb:233: === got interrupt transfer ===<br /> usb_intr_transfer_ep5_in_cb:236: transfer status (0) length (38)<br /> usb_handle_wlan_cmd_response:158: === got WLAN command response ===<br /> usb_handle_wlan_cmd_response:191: command header:<br /> usb_handle_wlan_cmd_response:192: command (0x002a)<br /> usb_handle_wlan_cmd_response:199: tag (0xcafe)<br /> usb_handle_wlan_cmd_response:201: status (0x0001)<br /> usb_handle_wlan_cmd_response:207: payload_size (0x0002)<br /> usb_handle_wlan_cmd_response:210: command payload:<br /> 00000000: 02 02 |.. |<br /> usb_wlan_cmd_send:288: sending command (0x110b) data size (0x000c) command size (0x0018)<br /> usb_intr_transfer_ep5_in_cb:233: === got interrupt transfer ===<br /> usb_intr_transfer_ep5_in_cb:236: transfer status (0) length (48)<br /> usb_handle_wlan_cmd_response:158: === got WLAN command response ===<br /> usb_handle_wlan_cmd_response:191: command header:<br /> usb_handle_wlan_cmd_response:192: command (0x110c)<br /> usb_handle_wlan_cmd_response:199: tag (0xcafe)<br /> usb_handle_wlan_cmd_response:201: status (0x0001)<br /> usb_handle_wlan_cmd_response:207: payload_size (0x000c)<br /> usb_handle_wlan_cmd_response:210: command payload:<br /> 00000000: 01 00 00 00 00 00 00 00 20 00 00 00 |........ ... |<br /> usb_wlan_cmd_send:288: sending command (0x1109) data size (0x0016) command size (0x0022)<br /> usb_intr_transfer_ep5_in_cb:233: === got interrupt transfer ===<br /> usb_intr_transfer_ep5_in_cb:236: transfer status (0) length (58)<br /> usb_handle_wlan_cmd_response:158: === got WLAN command response ===<br /> usb_handle_wlan_cmd_response:191: command header:<br /> usb_handle_wlan_cmd_response:192: command (0x110a)<br /> usb_handle_wlan_cmd_response:199: tag (0xcafe)<br /> usb_handle_wlan_cmd_response:201: status (0x0001)<br /> usb_handle_wlan_cmd_response:207: payload_size (0x0016)<br /> usb_handle_wlan_cmd_response:210: command payload:<br /> 00000000: 01 00 00 00 15 27 12 00 06 00 00 00 09 00 01 00 |.....'..........|<br /> 00000010: ff ff ff ff ff ff |...... |<br /> usb_wlan_cmd_send:288: sending command (0x0207) data size (0x0004) command size (0x0010)<br /> usb_intr_transfer_ep5_in_cb:233: === got interrupt transfer ===<br /> usb_intr_transfer_ep5_in_cb:236: transfer status (0) length (40)<br /> usb_handle_wlan_cmd_response:158: === got WLAN command response ===<br /> usb_handle_wlan_cmd_response:191: command header:<br /> usb_handle_wlan_cmd_response:192: command (0x0208)<br /> usb_handle_wlan_cmd_response:199: tag (0xcafe)<br /> usb_handle_wlan_cmd_response:201: status (0x0001)<br /> usb_handle_wlan_cmd_response:207: payload_size (0x0004)<br /> usb_handle_wlan_cmd_response:210: command payload:<br /> 00000000: 01 00 00 00 |.... |<br /> usb_wlan_cmd_send:288: sending command (0x0203) data size (0x0004) command size (0x0010)<br /> usb_intr_transfer_ep5_in_cb:233: === got interrupt transfer ===<br /> usb_intr_transfer_ep5_in_cb:236: transfer status (0) length (40)<br /> usb_handle_wlan_cmd_response:158: === got WLAN command response ===<br /> usb_handle_wlan_cmd_response:191: command header:<br /> usb_handle_wlan_cmd_response:192: command (0x0204)<br /> usb_handle_wlan_cmd_response:199: tag (0xcafe)<br /> usb_handle_wlan_cmd_response:201: status (0x0001)<br /> usb_handle_wlan_cmd_response:207: payload_size (0x0004)<br /> usb_handle_wlan_cmd_response:210: command payload:<br /> 00000000: 04 00 00 00 |.... |<br /> usb_wlan_cmd_send:288: sending command (0x105f) data size (0x000a) command size (0x0016)<br /> usb_intr_transfer_ep5_in_cb:233: === got interrupt transfer ===<br /> usb_intr_transfer_ep5_in_cb:236: transfer status (0) length (36)<br /> usb_handle_wlan_cmd_response:158: === got WLAN command response ===<br /> usb_handle_wlan_cmd_response:191: command header:<br /> usb_handle_wlan_cmd_response:192: command (0x1060)<br /> usb_handle_wlan_cmd_response:199: tag (0xcafe)<br /> usb_handle_wlan_cmd_response:201: status (0x0001)<br /> usb_handle_wlan_cmd_response:207: payload_size (0x0000)<br /> usb_handle_wlan_cmd_response:210: command payload:<br /> usb_intr_transfer_ep5_in_cb:233: === got interrupt transfer ===<br /> usb_intr_transfer_ep5_in_cb:236: transfer status (0) length (68)<br /> usb_handle_wlan_event:133: === got WLAN event ===<br /> usb_handle_wlan_event:144: event_count (0x01)<br /> 00000000: 80 00 00 00 00 10 00 00 9e 2b 02 00 04 00 00 00 |.........+......|<br /> 00000010: fc 90 02 c0 01 00 00 00 00 00 00 00 00 00 00 00 |................|<br /> 00000020: 13 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 |... ............|<br /> 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|<br /> usb_wlan_cmd_send:288: sending command (0x0099) data size (0x003e) command size (0x004a)<br /> usb_intr_transfer_ep5_in_cb:233: === got interrupt transfer ===<br /> usb_intr_transfer_ep5_in_cb:236: transfer status (0) length (98)<br /> usb_handle_wlan_cmd_response:158: === got WLAN command response ===<br /> usb_handle_wlan_cmd_response:191: command header:<br /> usb_handle_wlan_cmd_response:192: command (0x009a)<br /> usb_handle_wlan_cmd_response:199: tag (0xcafe)<br /> usb_handle_wlan_cmd_response:201: status (0x0001)<br /> usb_handle_wlan_cmd_response:207: payload_size (0x003e)<br /> usb_handle_wlan_cmd_response:210: command payload:<br /> 00000000: 4a 55 50 49 54 45 52 2d 54 57 4f 2d 46 57 2d 32 |JUPITER-TWO-FW-2|<br /> 00000010: 30 2e 30 2e 31 32 2e 70 30 28 4a 61 6e 20 31 39 |0.0.12.p0(Jan 19|<br /> 00000020: 20 32 30 31 30 20 32 31 3a 32 30 3a 35 33 29 00 | 2010 21:20:53).|<br /> 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |.............. |<br /> usb_wlan_cmd_send:288: sending command (0x1035) data size (0x0019) command size (0x0025)<br /> usb_intr_transfer_ep5_in_cb:233: === got interrupt transfer ===<br /> usb_intr_transfer_ep5_in_cb:236: transfer status (0) length (61)<br /> usb_handle_wlan_cmd_response:158: === got WLAN command response ===<br /> usb_handle_wlan_cmd_response:191: command header:<br /> usb_handle_wlan_cmd_response:192: command (0x1036)<br /> usb_handle_wlan_cmd_response:199: tag (0xcafe)<br /> usb_handle_wlan_cmd_response:201: status (0x0001)<br /> usb_handle_wlan_cmd_response:207: payload_size (0x0019)<br /> usb_handle_wlan_cmd_response:210: command payload:<br /> 00000000: 00 01 64 00 00 00 00 00 00 00 03 0d 01 02 03 04 |..d.............|<br /> 00000010: 05 06 07 08 09 0a 0b 0c 0d |......... |<br /> usb_intr_transfer_ep5_in_cb:233: === got interrupt transfer ===<br /> usb_intr_transfer_ep5_in_cb:236: transfer status (0) length (68)<br /> usb_handle_wlan_event:133: === got WLAN event ===<br /> usb_handle_wlan_event:144: event_count (0x01)<br /> 00000000: 80 00 00 00 04 00 00 00 96 2e 02 00 01 00 00 00 |................|<br /> 00000010: fc 90 02 c0 00 00 00 00 00 00 00 00 00 00 00 00 |................|<br /> 00000020: 13 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 |... ............|<br /> 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|<br /> usb_wlan_cmd_send:288: sending command (0x1033) data size (0x05b0) command size (0x05bc)<br /> usb_intr_transfer_ep5_in_cb:233: === got interrupt transfer ===<br /> usb_intr_transfer_ep5_in_cb:236: transfer status (0) length (1403)<br /> usb_handle_wlan_cmd_response:158: === got WLAN command response ===<br /> usb_handle_wlan_cmd_response:191: command header:<br /> usb_handle_wlan_cmd_response:192: command (0x1034)<br /> usb_handle_wlan_cmd_response:199: tag (0xcafe)<br /> usb_handle_wlan_cmd_response:201: status (0x0001)<br /> usb_handle_wlan_cmd_response:207: payload_size (0x0557)<br /> usb_handle_wlan_cmd_response:210: command payload:<br /> ...<br /> Here is scan output (removed by me)<br /> ...<br /> &lt;/pre&gt;<br /> <br /> ===Associate with AP===<br /> <br /> * I got association with AP working.<br /> * If WLAN device is connected to an AP then the green LED is on, when data is received then the LED blinks.<br /> * '''Data reception works finally !!!'''<br /> <br /> ====How to Associate with WPA AP====<br /> * Set common configuration (command 0x1005)<br /> * Set WPA configuration (command 0x1019)<br /> * Set rate configuration (command 0x1ed)<br /> * Associate (command 0x1001)<br /> <br /> ===Packet Reception===<br /> <br /> * EP6 IN and EP7 IN endpoints are used for packet reception<br /> * LV2 sends bulk transfers to both endpoints<br /> * '''4''' bulk transfers are sent simultaneously for each enpoint<br /> * Every bulk transfer is of size '''0x620'''<br /> * '''Make sure you set multicast address filter properly or else you won't receive broadcast packets !!!'''<br /> * Bulk transfers returned by the host controller which do not contain any data have size of '''0x10''' bytes else transfers contain valid Ethernet frame. All 802.11 related data is stripped by the WLAN Gelic device.<br /> * '''Make sure you set right MAC address with command 0x115b else device won't be able to receive packets destined to its own MAC address !!!'''<br /> <br /> ====Test with libusb====<br /> <br /> &lt;pre&gt;<br /> usb_bulk_transfer_ep6_in_cb:318: === got data transfer ===<br /> usb_bulk_transfer_ep6_in_cb:321: transfer status (0) length (98)<br /> 00000000: ff ff ff ff ff ff ?? ?? ?? ?? ?? ?? 08 00 45 00 |..............E.|<br /> 00000010: 00 54 00 00 40 00 40 01 b5 fe c0 a8 01 5b c0 a8 |.T..@.@......[..|<br /> 00000020: 01 ff 08 00 9c 69 0d 45 00 e2 4e 5d 34 26 00 07 |.....i.E..N]4&amp;..|<br /> 00000030: df e1 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 |................|<br /> 00000040: 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 |.......... !&quot;#$%|<br /> 00000050: 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 |&amp;'()*+,-./012345|<br /> 00000060: 36 37 |67 |<br /> usb_bulk_transfer_ep6_in_cb:318: === got data transfer ===<br /> usb_bulk_transfer_ep6_in_cb:321: transfer status (0) length (16)<br /> 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 |................|<br /> usb_bulk_transfer_ep6_in_cb:318: === got data transfer ===<br /> usb_bulk_transfer_ep6_in_cb:321: transfer status (0) length (16)<br /> 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 |................|<br /> usb_bulk_transfer_ep6_in_cb:318: === got data transfer ===<br /> usb_bulk_transfer_ep6_in_cb:321: transfer status (0) length (16)<br /> 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 |................|<br /> &lt;/pre&gt;<br /> <br /> ====Multicast Address Filter====<br /> <br /> * WLAN Gelic device supports hardware multicast address filtering<br /> * Multicast address filtering is implemented with MAC address hashing and filter bitmap<br /> * Filter bitmap is of size '''4 * 8''' bytes<br /> * Multicast address filter is set with command '''0x1161'''<br /> <br /> =====MAC Address Hash Function=====<br /> <br /> * Used by LV2<br /> <br /> &lt;pre&gt;<br /> unsigned char hash(unsigned char *data, unsigned int size)<br /> {<br /> unsigned int hash;<br /> int i, j;<br /> <br /> /*XXX: reverse data bits */<br /> <br /> hash = 0xffffffff;<br /> <br /> for (i = 0; i &lt; size; i++) {<br /> hash = (((unsigned int) data[i]) &lt;&lt; 24) ^ hash;<br /> <br /> for (j = 0; j &lt; 8; j++) {<br /> if (((int) hash) &gt;= 0) {<br /> hash = hash &lt;&lt; 1;<br /> } else {<br /> hash = (hash &lt;&lt; 1) ^ 0x04c10000;<br /> hash = hash ^ 0x00001db7;<br /> }<br /> }<br /> }<br /> <br /> hash = ((hash &gt;&gt; 24) &amp; 0xf8) | (hash &amp; 0x7);<br /> <br /> return hash &amp; 0xff;<br /> }<br /> <br /> h = hash(mac_addr, 6);<br /> v = 1 &lt;&lt; (h &amp; 0x1f); /* word value in filter */<br /> p = h &gt;&gt; 5; /* word position in filter */<br /> <br /> <br /> For broadcast address:<br /> ------------------------<br /> <br /> v = 0x20000000<br /> p = 7<br /> <br /> That's why 0x20 is used with command 0x1161 !!! Without it the device won't deliver broadcast traffic.<br /> Learned it the hard way, after 2 days of trying to get packet reception working :)<br /> &lt;/pre&gt;<br /> <br /> ===Packet Transmission===<br /> <br /> * Tx packets are sent to EP6 OUT<br /> * Tx packets are normal Ethernet frames, they don't contain any WLAN data or other headers<br /> <br /> ===AP Mode===<br /> <br /> * I got AP mode working with security disabled for now<br /> <br /> ====AP Mode with Security Disabled====<br /> <br /> * Set AP SSID (command 0x5)<br /> * Set channel (command 0x11)<br /> * Set AP opmode (command 0xb9)<br /> * Configure rate control (command 0x1ed)<br /> * Set AP WEP Configuration (command 0x5b, all 0s)<br /> * Command 0x61 (param 0x0)<br /> * Command 0xc5 (param 0x0)<br /> * Command 0x1 (param 0x1)<br /> * Command 0x1dd (param 0x2)<br /> * Now green LED should be on<br /> <br /> ===ps3-jupiter Linux Drivers===<br /> <br /> * ps3_jupiter.ko is the common part of STA and AP mode. It implements a command interface to WLAN Gelic device and disptaches events to STA and AP drivers.<br /> * ps3_jupiter_sta.ko is a STA mode implementation.<br /> * ps3_jupiter_ap.ko is a AP mode implementation.<br /> * Simple scanning works already in STA mode (try it out with '''iwlist scan''')<br /> * Packet reception works<br /> * Packet transmission works<br /> * '''WPA/WPA2''' fully working and usable with '''wpa_supplicant'''<br /> <br /> <br /> '''Finally, after several weeks of hard programming and reversing, the WLAN driver ps3_jupiter_sta achieved the milestone where i can use it with WPA2 :) I actually use it currently with WPA2 on my PS3 slim. It works damn !!! Try it out and report bugs and problems to me.'''<br /> <br /> ====TODO====<br /> <br /> * Implement association in STA mode (finished)<br /> * Implement packet reception and transmission in STA mode (finished)<br /> * Implement WEP support<br /> * Implement AP mode<br /> * Find out if Jupiter supports Monitor mode and if yes how to enable it<br /> * Implement EURUS driver for PHATs (has many advantages over the old OtherOS approach, e.g. AP mode)<br /> * Port to FreeBSD<br /> <br /> ==LV2 Network Stack==<br /> <br /> * LV2 uses BSD network stack, e.g. '''struct mbuf'''<br /> * It's almost identical to FreeBSD network stack.<br /> <br /> ===Network Device===<br /> <br /> ====IOCTLs====<br /> <br /> =====Set Multicast Address Filter (0x81012000)=====<br /> <br /> * Sets multicast address filter<br /> * Uses LV1 calls '''lv1_net_remove_multicast_address''' and '''lv1_net_add_multicast_address''' for Ethernet Gelic device<br /> * Uses Eurus commands '''0x1161''', '''0x1163''' and '''0x1165''' for WLAN Gelic device<br /> <br /> =====Unknown (0x8101200E)=====<br /> <br /> * Uses LV1 call '''lv1_net_control(0x8000000000000001)'''<br /> <br /> =====Unknown (0x81040000)=====<br /> <br /> * Uses LV1 call '''lv1_net_control(0x8, [0x0, 0x1 or 0x2])''' for Ethernet Gelic device<br /> * Uses Eurus commands '''0x116F''', '''0x115D''' and '''0x115B''' for WLAN Gelic device<br /> <br /> =====Enable/Disable WOL Magic Packet (0x81080000)=====<br /> <br /> * Enables/Disables WOL Magic Packet<br /> * Uses LV1 call '''lv1_net_control(0x5 /* GELIC_LV1_SET_WOL */, 0x1 /* GELIC_LV1_WOL_MAGIC_PACKET */)''' for Ethernet Gelic device<br /> * Uses Eurus commands '''0x1139''' and '''0x1155''' for WLAN Gelic device<br /> <br /> =====Unknown (0x81080001)=====<br /> <br /> * Uses LV1 call '''lv1_net_control(0x5 /* GELIC_LV1_SET_WOL */, 0x2)''' for Ethernet Gelic device<br /> * Uses Eurus commands '''0x113B''' and '''0x1157''' for WLAN Gelic device<br /> <br /> =====Unknown (0x81080002)=====<br /> <br /> * Uses LV1 call '''lv1_net_control(0x5 /* GELIC_LV1_SET_WOL */, 0x3)''' for Ethernet Gelic device<br /> * Uses Eurus commands '''0x113D''' and '''0x1159''' for WLAN Gelic device<br /> <br /> =====Unknown (0x81080003)=====<br /> <br /> * Uses LV1 call '''lv1_net_control(0x5 /* GELIC_LV1_SET_WOL */, 0x4)''' for Ethernet Gelic device<br /> * Uses Eurus command '''0x1161''' for WLAN Gelic device<br /> <br /> =====Unknown (0x81080005)=====<br /> <br /> * Uses LV1 call '''lv1_net_control(0x5 /* GELIC_LV1_SET_WOL */, 0x6 /* GELIC_LV1_WOL_ADD_MATCH_ADDR */)''' for Ethernet Gelic device<br /> * Uses Eurus commands '''0x116D''' and '''0x1167''' for WLAN Gelic device<br /> <br /> ===Network Packet===<br /> <br /> * LV2 network packet is represented by '''struct mbuf'''<br /> <br /> =RSX=<br /> Crossreference: [http://wiki.gitbrew.org/index.php/PS3:HvReverseEngineering#RSX gitbrew.org::RSX] &lt;br /&gt;<br /> <br /> ==HV Calls==<br /> <br /> ===lv1_gpu_memory_allocate===<br /> <br /> * LV1 supports 16 memory handles simultaneously.<br /> * LV1 uses a bitmap to manage GPU VRAM.<br /> * The bitmap is located in LV1 memory, 4 double words.<br /> * Each bit corresponds to 1MB VRAM, 256bit = 256MB VRAM.<br /> * 2MB at the top of VRAM are preallocated as you can see below.<br /> <br /> &lt;pre&gt;<br /> &lt;memory handle&gt; = 0x5a5a5a5a xor &lt;memory handle index&gt;<br /> &lt;/pre&gt;<br /> <br /> ====Memory Context Object====<br /> <br /> offset 0x8 - memory handle (4 bytes)<br /> <br /> offset 0x10 - VRAM LPAR start address (8 bytes)<br /> <br /> offset 0x18 - VRAM LPAR end address (8 bytes)<br /> <br /> ====Test====<br /> <br /> * The offset of bitmap could be different on your system because it's allocated dynamically.<br /> * '''First 9MB of VRAM were allocated by ps3fb Linux driver.'''<br /> <br /> Before allocating VRAM:<br /> &lt;pre&gt;<br /> glevand@debian-hdd:~$ sudo dd if=/dev/ps3ram bs=1 count=$((0x20)) skip=$((0x1f85b0)) | hexdump -C <br /> 00000000 00 00 00 00 00 00 01 ff 00 00 00 00 00 00 00 00 |.......ÿ........|<br /> 00000010 00 00 00 00 00 00 00 00 c0 00 00 00 00 00 00 00 |........À.......|<br /> &lt;/pre&gt;<br /> <br /> After allocating 32 MB VRAM:<br /> &lt;pre&gt;<br /> glevand@debian-hdd:~$ sudo dd if=/dev/ps3ram bs=1 count=$((0x20)) skip=$((0x1f85b0)) | hexdump -C <br /> 00000000 00 00 01 ff ff ff ff ff 00 00 00 00 00 00 00 00 |...ÿÿÿÿÿ........|<br /> 00000010 00 00 00 00 00 00 00 00 c0 00 00 00 00 00 00 00 |........À.......|<br /> &lt;/pre&gt;<br /> <br /> ===lv1_gpu_context_allocate===<br /> <br /> * Register %r4 is flags.<br /> * '''Found the place in LV1 where LV1 sets IO page size for GART memory mapping. We could patch it and set to 4KB. That would make a lot of things easier for RSX developers on Linux.'''<br /> * 1MB pages make RSX driver for Linux hard to implement because allocating 1Mb contiguous memory chunk on Linux is very very hard especially on a system with only 256MB and which was running for some time.<br /> <br /> * LV1 supports 16 contexts simultaneously.<br /> * LV1 has an array of context pointers.<br /> * Each context has an index and a handle. The handle is derived from the index of the context.<br /> <br /> &lt;pre&gt;<br /> &lt;context handle&gt; = 0x55555555 xor &lt;context index&gt;<br /> &lt;/pre&gt;<br /> <br /> * Thats why first created context will have handle 0x55555555.<br /> <br /> ====Context Object====<br /> <br /> offset 0x8 - handle (4 bytes)<br /> <br /> offset 0x48 - IO page size, valid range is 4kB, 64KB and 1MB (8 bytes)<br /> <br /> ====Flags====<br /> <br /> '''0x2 - tells LV1 to use 64KB pages for GART memory mapping else LV1 uses 1MB pages'''<br /> <br /> ===lv1_gpu_context_iomap===<br /> <br /> * Internally uses lv1_put_iopte function<br /> * IO page size is the one set during lv1_gpu_context_allocate<br /> * IO address space id is 0x0. IO id is 0x1.<br /> <br /> ===lv1_gpu_context_attribute===<br /> <br /> ====Attribute 0x1====<br /> <br /> =====FIFO Command Buffer Setup=====<br /> <br /> &lt;pre&gt;<br /> lv1_gpu_context_attribute(context handle, 0x1, PUT offset, GET offset, 0x0, 0x0)<br /> &lt;/pre&gt;<br /> <br /> ====Attribute 0x101====<br /> <br /> =====Set Flip Mode=====<br /> <br /> &lt;pre&gt;<br /> lv1_gpu_attribute(0x2, 0x1 /* head */, 0x0, 0x0)<br /> lv1_gpu_context_attribute(context handle, 0x101, 0x1 /* head */, sync mode, 0x0, 0x0)<br /> &lt;/pre&gt;<br /> <br /> ====Attribute 0x104====<br /> <br /> =====Set Display Buffer=====<br /> <br /> &lt;pre&gt;<br /> lv1_gpu_context_attribute(context handle, 0x104, id, width &lt;&lt; 32 | height, pitch &lt;&lt; 32 | offset, 0x0)<br /> &lt;/pre&gt;<br /> <br /> ====Attribute 0x10a====<br /> <br /> =====Get Flip Status=====<br /> <br /> * Reads a value at offset '''0x10C0 + 0x1 * 0x40''' in lpar_reports memory.<br /> <br /> =====Reset Flip Status=====<br /> <br /> &lt;pre&gt;<br /> lv1_gpu_context_attribute(context handle, 0x10a, 0x1 /* id */, 0x7fffffff /* mask */, 0x0 /* value */, 0x0)<br /> &lt;/pre&gt;<br /> <br /> * The LV1 call '''lv1_gpu_context_attribute(0x10a)''' accesses LPAR memory returned in '''lpar_reports''' by LV1 call '''lv1_gpu_context_allocate'''.<br /> * Offset into lpar_reports is '''0x10C0 + id * 0x40 = 0x10C0 + 0x1 * 0x40'''.<br /> * Why not access lpar_reports memory directly and use LV1 call instead ???<br /> <br /> ====Attribute 0x10b====<br /> <br /> * '''This attribute is NOT available on 3.15 LV1 e.g. but on 3.41 it's implemented.'''<br /> <br /> =====Set Cursor Position=====<br /> <br /> &lt;pre&gt;<br /> lv1_gpu_context_attribute(context handle, 0x10b, 0x1, 0x3, x, y)<br /> &lt;/pre&gt;<br /> <br /> =====Set Cursor Image Offset=====<br /> <br /> &lt;pre&gt;<br /> lv1_gpu_context_attribute(context handle, 0x10b, 0x1, 0x2, offset, 0x0)<br /> &lt;/pre&gt;<br /> <br /> ====Attribute 0x10c====<br /> <br /> * '''This attribute is NOT available on 3.15 LV1 e.g. but on 3.41 it's implemented.'''<br /> <br /> =====Cursor Function 1=====<br /> <br /> &lt;pre&gt;<br /> lv1_gpu_context_attribute(context handle, 0x10c, 0x1, 0x1, 0x0, 0x0)<br /> &lt;/pre&gt;<br /> <br /> =====Cursor Function 2=====<br /> <br /> &lt;pre&gt;<br /> lv1_gpu_context_attribute(context handle, 0x10c, 0x1, 0x2, 0x0, 0x0)<br /> &lt;/pre&gt;<br /> <br /> ====Attribute 0x10d====<br /> <br /> * '''This attribute is NOT available on 3.15 LV1 e.g. but on 3.41 it's implemented.'''<br /> <br /> =====Cursor Function 1=====<br /> <br /> &lt;pre&gt;<br /> lv1_gpu_context_attribute(context handle, 0x10d, 0x1, 0x1, 0x0, 0x0)<br /> &lt;/pre&gt;<br /> <br /> ====Attribute 0x300====<br /> <br /> =====Set Tile=====<br /> <br /> =====Set Invalidate Tile=====<br /> <br /> =====Bind Tile=====<br /> <br /> =====Unbind Tile=====<br /> <br /> ====Attribute 0x301====<br /> <br /> =====Set Zcull=====<br /> <br /> =====Bind Zcull=====<br /> <br /> =====Unbind Zcull=====<br /> <br /> ====Attribute 0x601====<br /> <br /> * Copies data from GART memory to VRAM.<br /> * LV1 uses internally the FIFO command buffer passed by ps3fb driver with lv1_gpu_context_iomap.<br /> <br /> FIFO commands:<br /> &lt;pre&gt;<br /> 0x0004C184<br /> 0xFEED0001<br /> <br /> 0x0004C198<br /> 0x313371C3<br /> <br /> 0x00046300<br /> 0x0000000A<br /> <br /> for ()<br /> {<br /> for ()<br /> {<br /> 0x0004630C<br /> &lt;param&gt;<br /> <br /> 0x00046304<br /> &lt;param&gt;<br /> <br /> 0x0024C2FC<br /> 0x00000001<br /> 0x00000003<br /> 0x00000003<br /> &lt;param1&gt;<br /> &lt;param2&gt;<br /> &lt;param3&gt;<br /> &lt;param4&gt;<br /> 0x00010000<br /> 0x00010000<br /> <br /> 0x0001C400<br /> &lt;param1&gt;<br /> &lt;param2&gt;<br /> &lt;param3&gt;<br /> 0x00000000<br /> }<br /> }<br /> <br /> 0x00040110<br /> 0x00000000<br /> &lt;/pre&gt;<br /> <br /> ==FIFO Command Buffer==<br /> <br /> ===FIFO Control Registers===<br /> <br /> * LV1 call '''lv1_gpu_context_allocate''' returns LPAR address of FIFO control registers.<br /> * You have to map it into Linux address space before you can access FIFO control registers.<br /> * Value of PUT and GET registers are NOT expressed in Linux address space but in RSX address space. You have to convert it to RSX address space.<br /> * GET register is read-only and is modified by RSX while it's processing FIFO commands.<br /> <br /> ===Kicking FIFO Command Buffer===<br /> <br /> * As long as values of GET and PUT FIFO control registers are equal, RSX doesn't process commands from the FIFO command buffer.<br /> * When the value of PUT register is not equal to the value of GET register, RSX starts processing commands in the FIFO command buffer.<br /> * To execute FIFO commands, place them in the FIFO command buffer and change the value of PUT register.<br /> <br /> ===FIFO Setup Programs of emer_init.self===<br /> <br /> * [[PS3:HvReverseEngineering:emer_init.self:Program 1]]<br /> * [[PS3:HvReverseEngineering:emer_init.self:Program 2]]<br /> * [[PS3:HvReverseEngineering:emer_init.self:Program 3]]<br /> <br /> ===FIFO Commands===<br /> <br /> [[PS3:HvReverseEngineering:RSXFIFOCommands]]<br /> <br /> ===Example How to Use FIFO Command Buffer===<br /> <br /> Here is a small Linux kernel module which shows you how to use FIFO command buffer on Linux.<br /> <br /> * RSX allows to create multiple contexts.<br /> * This kernel module should run without problems with '''ps3fb''' driver already running.<br /> * Make sure you unload '''ps3vram''' driver before running this module because '''ps3vram''' allocates all available RSX memory for itself and because of this, '''lv1_gpu_memory_allocate''' will always fail.<br /> * This kernel module lets the RSX execute a simple program which contains only NOP (No Operation) commands.<br /> <br /> Download source code: [http://lol.notsoldierx.com/~glevand/ps3/linux/ps3rsx.tar.gz]<br /> <br /> ====Source Code====<br /> <br /> &lt;pre&gt;<br /> /*<br /> * PS3 RSX<br /> *<br /> * This program is free software; you can redistribute it and/or modify it<br /> * under the terms of the GNU General Public License as published<br /> * by the Free Software Foundation; version 2 of the License.<br /> *<br /> * This program is distributed in the hope that it will be useful, but<br /> * WITHOUT ANY WARRANTY; without even the implied warranty of<br /> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br /> * General Public License for more details.<br /> *<br /> * You should have received a copy of the GNU General Public License along<br /> * with this program; if not, write to the Free Software Foundation, Inc.,<br /> * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.<br /> */<br /> <br /> #include &lt;linux/module.h&gt;<br /> #include &lt;linux/kernel.h&gt;<br /> #include &lt;linux/init.h&gt;<br /> #include &lt;linux/slab.h&gt;<br /> #include &lt;linux/io.h&gt;<br /> #include &lt;linux/delay.h&gt;<br /> <br /> #include &lt;asm/abs_addr.h&gt;<br /> #include &lt;asm/cell-regs.h&gt;<br /> #include &lt;asm/lv1call.h&gt;<br /> #include &lt;asm/ps3.h&gt;<br /> <br /> #define RSX_FIFO_CMD_BUF_SIZE (1 * 1024 * 1024)<br /> <br /> #define RSX_MEM_SIZE (32 * 1024 * 1024)<br /> <br /> #define RSX_GPU_IOIF (0x0e000000ul)<br /> <br /> #define RSX_FIFO_CTRL_SIZE (4 * 1024)<br /> <br /> struct rsx_fifo_ctrl {<br /> u8 res[0x40];<br /> u32 put;<br /> u32 get;<br /> };<br /> <br /> static u32 *rsx_fifo_cmd_buf;<br /> static u64 rsx_fifo_cmd_buf_lpar;<br /> <br /> static u64 rsx_mem_handle, rsx_mem_lpar;<br /> static u64 rsx_ctx_handle;<br /> static u64 rsx_fifo_ctrl_lpar;<br /> static u64 rsx_drv_info_lpar;<br /> static u64 rsx_reports_lpar, rsx_reports_size;<br /> <br /> static struct rsx_fifo_ctrl *rsx_fifo_ctrl;<br /> <br /> /*<br /> * FIFO program<br /> */<br /> static u32 rsx_fifo_prg[] = {<br /> 0x00000000, /* nop */<br /> 0x00000000, /* nop */<br /> 0x00000000, /* nop */<br /> };<br /> <br /> /*<br /> * ps3rsx_init<br /> */<br /> static int __init ps3rsx_init(void)<br /> {<br /> unsigned long timeout;<br /> int res;<br /> <br /> /* FIFO command buffer must be allocated in XDR memory */<br /> <br /> rsx_fifo_cmd_buf = kmalloc(RSX_FIFO_CMD_BUF_SIZE, GFP_KERNEL);<br /> if (!rsx_fifo_cmd_buf) {<br /> printk(KERN_INFO&quot;could not allocate FIFO command buffer\n&quot;);<br /> res = -ENOMEM;<br /> goto fail;<br /> }<br /> <br /> res = lv1_gpu_memory_allocate(RSX_MEM_SIZE, 0, 0, 0, 0,<br /> &amp;rsx_mem_handle, &amp;rsx_mem_lpar);<br /> if (res) {<br /> printk(KERN_INFO&quot;lv1_gpu_memory_allocate failed (%d)\n&quot;, res);<br /> res = -ENXIO;<br /> goto fail_free_fifo_cmd_buf_mem;<br /> }<br /> <br /> res = lv1_gpu_context_allocate(rsx_mem_handle, 0,<br /> &amp;rsx_ctx_handle, &amp;rsx_fifo_ctrl_lpar, &amp;rsx_drv_info_lpar,<br /> &amp;rsx_reports_lpar, &amp;rsx_reports_size);<br /> if (res) {<br /> printk(KERN_INFO&quot;lv1_gpu_context_allocate failed (%d)\n&quot;, res);<br /> res = -ENXIO;<br /> goto fail_free_gpu_mem;<br /> }<br /> <br /> /* map FIFO command buffer into RSX address space */<br /> <br /> rsx_fifo_cmd_buf_lpar = ps3_mm_phys_to_lpar(__pa(rsx_fifo_cmd_buf));<br /> <br /> res = lv1_gpu_context_iomap(rsx_ctx_handle,<br /> RSX_GPU_IOIF, rsx_fifo_cmd_buf_lpar, RSX_FIFO_CMD_BUF_SIZE,<br /> CBE_IOPTE_PP_W | CBE_IOPTE_PP_R | CBE_IOPTE_M);<br /> if (res) {<br /> printk(KERN_INFO&quot;lv1_gpu_context_iomap failed (%d)\n&quot;, res);<br /> res = -ENXIO;<br /> goto fail_free_gpu_mem;<br /> }<br /> <br /> /* map RSX FIFO control registers */<br /> <br /> rsx_fifo_ctrl = (struct rsx_fifo_ctrl *) ioremap(rsx_fifo_ctrl_lpar, RSX_FIFO_CTRL_SIZE);<br /> if (!rsx_fifo_ctrl) {<br /> printk(KERN_INFO&quot;could not map FIFO control\n&quot;);<br /> res = -ENXIO;<br /> goto fail_free_gpu_mem;<br /> }<br /> <br /> /* PUT and GET offsets are in RSX address space */<br /> <br /> res = lv1_gpu_context_attribute(rsx_ctx_handle, 0x1,<br /> RSX_GPU_IOIF + 0x0 /* PUT offset */, RSX_GPU_IOIF + 0x0 /* GET offset */,<br /> 0x0, 0x0);<br /> if (res) {<br /> printk(KERN_INFO&quot;lv1_gpu_context_attribute(0x1) failed (%d)\n&quot;, res);<br /> res = -ENXIO;<br /> goto fail_unmap_fifo_ctrl;<br /> }<br /> <br /> /* copy FIFO commands to FIFO command buffer */<br /> <br /> memcpy(rsx_fifo_cmd_buf, rsx_fifo_prg, sizeof(rsx_fifo_prg));<br /> <br /> printk(KERN_INFO&quot;GET offset (0x%08x) PUT offset (0x%08x)\n&quot;, rsx_fifo_ctrl-&gt;get, rsx_fifo_ctrl-&gt;put);<br /> <br /> /* kick FIFO */<br /> <br /> rsx_fifo_ctrl-&gt;put = RSX_GPU_IOIF + sizeof(rsx_fifo_prg);<br /> <br /> /* poll until RSX is done processing FIFO commands */<br /> <br /> timeout = 100;<br /> <br /> while (timeout--) {<br /> if (rsx_fifo_ctrl-&gt;get == rsx_fifo_ctrl-&gt;put)<br /> break;<br /> <br /> msleep(1);<br /> }<br /> <br /> printk(KERN_INFO&quot;GET offset (0x%08x) PUT offset (0x%08x)\n&quot;, rsx_fifo_ctrl-&gt;get, rsx_fifo_ctrl-&gt;put);<br /> <br /> if (rsx_fifo_ctrl-&gt;get != rsx_fifo_ctrl-&gt;put) {<br /> printk(KERN_INFO&quot;FIFO command buffer timeout\n&quot;);<br /> res = -ENXIO;<br /> goto fail_unmap_fifo_ctrl;<br /> }<br /> <br /> return 0;<br /> <br /> fail_unmap_fifo_ctrl:<br /> <br /> iounmap(rsx_fifo_ctrl);<br /> <br /> <br /> fail_free_gpu_mem:<br /> <br /> lv1_gpu_memory_free(rsx_mem_handle);<br /> <br /> fail_free_fifo_cmd_buf_mem:<br /> <br /> kfree(rsx_fifo_cmd_buf);<br /> <br /> fail:<br /> <br /> return res;<br /> }<br /> <br /> /*<br /> * ps3rsx_exit<br /> */<br /> static void __exit ps3rsx_exit(void)<br /> {<br /> iounmap(rsx_fifo_ctrl);<br /> <br /> lv1_gpu_context_iomap(rsx_ctx_handle, RSX_GPU_IOIF, rsx_fifo_cmd_buf_lpar,<br /> RSX_FIFO_CMD_BUF_SIZE, CBE_IOPTE_M);<br /> <br /> lv1_gpu_context_free(rsx_ctx_handle);<br /> <br /> lv1_gpu_memory_free(rsx_mem_handle);<br /> <br /> kfree(rsx_fifo_cmd_buf);<br /> }<br /> <br /> module_init(ps3rsx_init);<br /> module_exit(ps3rsx_exit);<br /> <br /> MODULE_LICENSE(&quot;GPL&quot;);<br /> MODULE_DESCRIPTION(&quot;PS3 RSX&quot;);<br /> MODULE_AUTHOR(&quot;glevand&quot;);<br /> &lt;/pre&gt;<br /> <br /> ====Test====<br /> <br /> &lt;pre&gt;<br /> # insmod ./ps3rsx.ko<br /> # dmesg<br /> <br /> GET offset (0x0e000000) PUT offset (0x0e000000) # GET and PUT offsets before kicking FIFO<br /> GET offset (0x0e00000c) PUT offset (0x0e00000c) # GET and PUT offsets after kicking FIFO<br /> &lt;/pre&gt;<br /> <br /> As you see, RSX processed our FIFO commands :)<br /> <br /> ==Linux Driver==<br /> <br /> * '''DRI/DRM is the ONLY way to go !!! No hacks like kernel modules with tons of IOCTLs !!!'''<br /> * First implement 2D acceleration and then add 3D support<br /> * The driver consists of 2 parts: '''DDX driver''' for X11 (user space) and '''DRM driver''' for Linux Kernel (kernel space)<br /> * First implement DRM driver and test it from user space without DDX and libdrm by talking to it directly<br /> <br /> ===DDX Driver===<br /> <br /> * Use '''libdrm'''<br /> * Use '''EXA API''' for 2D acceleration on X11 (or maybe use '''XAA API''')<br /> * Use '''Kernel Mode Setting'''<br /> <br /> ===DRM Driver===<br /> <br /> * Extend '''nouveau''' driver or create a new one ???<br /> * '''Decision: create new DRM driver in order to learn how DRM framework in Linux kernel works and because we have to use LV1 calls to access RSX (and because it's a lot more fun to do it on my own). But use nouveau as an example for DRM driver. Maybe i should better use radeon DRM driver as an example beacuse it seems to be better designed and implemnted !!!'''<br /> * The driver is very low level and allows direct access to almost all RSX funtions, e.g. FIFO buffer, to achieve maximum performance.<br /> * All data buffers, e.g. vertices and textures, are managed by DRM framework (Linux kernel). To avoid copying from user to kernel space, the buffers will be mmaped into user space.<br /> * Provides an interface to manage graphic objects in VRAM.<br /> * Use '''TTM''' or '''GEM''' ??? TTM is used by radeon and nouvea drivers, so i guess we could use it too. GEM is for Intel chips.<br /> * Extend '''libdrm''' library to support new DRM driver.<br /> * Fences can be implemented with '''RSX REF Control Register'''<br /> <br /> ====Memory Management====<br /> <br /> * Size of all memory objects must be multiple of the page size (4096 bytes) even if a smaller size is requested by user<br /> * Nouveau driver uses IOCTL '''DRM_NOUVEAU_GEM_NEW''' to allocate memory objects in VRAM or GART. The IOCTL returns the handle of the newly allocated memory object.<br /> * An example from Mesa how memory objects are used: [http://fxr.watson.org/fxr/source/external/bsd/drm/dist/libdrm/nouveau/nouveau_bo.c?v=NETBSD;im=10] [http://www.opensource.apple.com/source/X11libs/X11libs-60/mesa/Mesa-7.8.2/src/mesa/drivers/dri/nouveau/nouveau_bufferobj.c]<br /> <br /> ====Video RAM====<br /> <br /> * VRAM is allocated once during context creating and cannot be changed during the whole life of the context.<br /> * '''lv1_gpu_memory_allocate''' returns LPAR address of allocated VRAM which can be mapped into kernel address space.<br /> * '''VRAM starts at offset 0x0 in GPU address space.'''<br /> * VRAM heap management is necessary, use e.g. TTM (ttm_bo_init_mm).<br /> * This memory type is used e.g. for vertices or textures.<br /> * It should be mappable from user space in order to allow user to put data there.<br /> * GameOS calls it '''Local Memory'''.<br /> * VRAM can be mapped into kernel-space with '''ioremap'''.<br /> * To map VRAM into user-space map it first into kernel-space with '''ioremap''' and then use '''remap_pfn_range''' to map into user-space.<br /> * Use '''VM_IO''' flag for this kind of memory when mapping it into user-space.<br /> * Mapping examples: [http://www.scs.ch/~frey/linux/memorymap.html] [http://www.cs.fsu.edu/~baker/devices/projects/antgeo/avnet_june19/pci_avnet.c]<br /> <br /> ====GART Memory====<br /> <br /> * GART memory region is a memory region in System Memory but accessible by RSX through GART [http://dri.freedesktop.org/wiki/GART].<br /> * GameOS calls it '''Main Memory'''.<br /> * '''Problem: lv1_gpu_context_iomap supports ONLY 1MB and 64kB pages'''<br /> * Size of system memory objects mapped into GPU address space should be either multiple of 1MB which means wasting lots of RAM and we don't have enough of it anyways. This solution is NOT suitable.<br /> * Or place several GART memory objects into 1 MB page and map it. That would mean we have to use memory manager for each 1MB page.<br /> * That means, we have to allocate 1MB page even if user requested a smaller memory region. Then initialize a heap manager for this 1MB page and return ONLY requested size. The following requests for GART memory regions can be satisfied from the previously allocated 1MB pages which still have enough free memory.<br /> * FIFO command buffer is an example of a GART memory object which has to be mapped into GPU address space with lv1_gpu_context_iomap before it can be used by RSX.<br /> * User allocates FIFO command buffer in GART address space, maps it into user space, write commands into it and then pushes it to DRM driver which maps it into RSX address space and CALLs it.<br /> * '''TTM: TTM_PL_FLAG_TT for GART memory'''<br /> * '''GameOS applications using GCM library map GART memory beginning at offset 0x10000000 or 0x20000000, just after where the whole VRAM is mapped.'''<br /> * '''Don't use kmalloc for this type of memory. Use __get_free_pages and mark pages with flag VM_RESERVED before exporting it to user-space else they can be swapped out.'''<br /> * TTM uses '''struct ttm_backend_func''' to call driver specific GART mapping functions. '''nouveau_sgdma.c''' handles GART memory mapping.<br /> <br /> ====CPU Memory====<br /> <br /> * This type of memory cannot be accessed by RSX at all.<br /> * Because this type of memory is not mapped into RSX address space through GART we don't need to allocate it in 1MB multiples.<br /> * What do we need it for ???<br /> <br /> ====Mapping Memory Objects into Kernel-Space====<br /> <br /> * Nouveau driver uses '''ttm_bo_kmap''' to map memory objects into kernel-space (see '''ttm_bo_util.c''').<br /> * Nouveau driver uses '''ttm_bo_ioremap''' to map IO memory into kernel-space, e.g. VRAM or GPU registers (see '''ttm_bo_util.c''') which uses '''ioremp_wc''' or '''ioremp_nocache'''.<br /> * TTM uses page-wise allocation for buffers. The buffers are contiguous ONLY in a single page. That has a huge advantage over allocating 1MB contiguous memory blocks in kernel space. It's far easier to allocate a single page in Linux kernel than 1MB memory chunk, especially on PS3 arch which has only 256MB.<br /> * '''Problem: lv1_gpu_context_iomap allows ONLY 1MB pages. Use lv1_put_iopte ???'''. See [http://lwn.net/Articles/304188/], [http://lxr.free-electrons.com/source/arch/powerpc/platforms/ps3/mm.c?a=sh#L562], [http://wiki.ps2dev.org/ps3:hypervisor:lv1_put_iopte ] and [http://wiki.ps2dev.org/ps3:hypervisor:lv1_gpu_context_iomap].<br /> * Yes, we can use '''lv1_put_iopte''' instead of '''lv1_gpu_context_iomap'''. That would solve the problem with 1MB pages on Linux. Both LV1 calls use the same internal LV1 function to map memory pages.<br /> * '''lv1_gpu_context_iomap uses IOAS_ID 0 and IOID 1.'''<br /> * TTM allows to map a buffer multiple times. Mapping information is stored in '''struct ttm_bo_kmap_obj'''.<br /> * '''To make single allocated pages look contiguous to kernel-space, TTM uses vmap'''.<br /> * '''It is possible to use 64KB pages for GART mapping without patching LV1. To enable 4KB pages support we have to patch LV1.'''<br /> * Tested with 64kB IO page size. It works fine.<br /> <br /> ====Mapping Memory Objects into User-Space====<br /> <br /> * User-space programs should be able to allocate memory objects in VRAM or GART and map it with '''mmap syscall'''.<br /> * See '''nouveau_ttm.c:nouveau_ttm_mmap'''.<br /> * Mapping memory objects into user-space avoids copying of data between user/kernel spaces.<br /> * Problem: how to identify memory objects ???<br /> * '''libdrm''' uses handles which are returned by DRM kernel driver when a new memory object is created. The handle is passed to mmap syscall as parameter '''offset'''. DRM driver looks up the handle and identifies the appropriate memory object which is mapped into user-space then.<br /> * Nouveau driver uses TTM framework to map memory objects into user-space. TTM doesn't map all pages owned by the memory object at once but installs '''VM operation fault''' which maps single pages on demand. It makes sense because user application rarely accesses all pages of the mapped memory object at once.<br /> * To map memory objects located in VRAM we have to map it into kernel space first with '''ioremap'''.<br /> <br /> ====FIFO Command Buffer====<br /> <br /> * Every context has its own one main FIFO command buffer which is NOT accessible directly by user space.<br /> * User-space applications can allocate additional FIFO command buffers in GART memory space, map it into user space, store commands there and submit to DRM driver.<br /> * Nouveau driver uses IOCTL '''NOUVEAU_GEM_PUSHBUF''' to execute FIFO command buffers. See '''nouveau_gem.c:nouveau_gem_ioctl_pushbuf'''.<br /> * By user applications submitted FIFO command buffers are mapped by DRM driver into RSX address space first and then executed with CALL command.<br /> * '''Problem: All references to graphics objects contained in FIFO command buffers must be expressed in RSX address space. How does user space know the right offsets of the referenced objects ???'''<br /> * To solve the above problem, Nouveau driver uses relocations which are submitted to DRM driver together with FIFO command buffers. The DRM driver applies the specified relocations before executing the FIFO command buffer. See '''nouveau_gem.c:nouveau_gem_pushbuf_reloc_apply'''.<br /> * Relocations contain memory object handles which they apply to. The DRM driver looks up the memory object by its handle and the memory objects contain GPU address space offsets.<br /> <br /> =====Example=====<br /> &lt;pre&gt;<br /> ---------------------------------------------------------------<br /> | |<br /> | |<br /> \|/ Main FIFO command buffer (one per allocated context) |<br /> ------------------------------ ------------------------------------<br /> | | | | | | |<br /> | ... | CALL | ... | CALL | ... | JMP |<br /> | | | | | | |<br /> ------------------------------ ------------------------------------<br /> | /|\ | /|\<br /> -------------| | | |<br /> | ------| --------| |<br /> \|/ | | ---|<br /> ----------------------- | |<br /> | | | | | |<br /> | ... | ... | RET | | |<br /> | | | | | |<br /> ----------------------- | |<br /> FIFO command buffer 1 | |<br /> (allocated by user space) \|/ |<br /> -----------------------<br /> | | | |<br /> | ... | ... | RET |<br /> | | | |<br /> -----------------------<br /> FIFO command buffer 2<br /> (allocated by user space)<br /> &lt;/pre&gt;<br /> <br /> ====Fences====<br /> <br /> * Nouveau driver implements DRM fences with REF control register. See '''nouveau_fence.c:nouveau_fence_new'''.<br /> * Newer Nvidia chips support semaphores. Nouveau driver uses semaphores for fences if they are supported.<br /> * libgcm functions '''SetWriteCommandLabel''' and '''SetWaitLabel''' use semaphores.<br /> * '''SetWriteCommandLabel''' releases semaphore and '''SetWaitLabel''' acquires semaphore.<br /> * Semaphores are placed in VRAM. Nouveau driver creates a small VRAM heap for semaphores. See '''nouveau_fence.c:nouveau_fence_channel_init'''.<br /> <br /> ====IOCTLs====<br /> <br /> =====Context Create=====<br /> <br /> * Creates new RSX context<br /> * Allocates VRAM and memory for FIFO buffer<br /> * Needed VRAM size and FIFO buffer size must be known during context creation<br /> <br /> =====Context Destroy=====<br /> <br /> * Destroys previously allocated context<br /> <br /> =====Context Attribute=====<br /> <br /> * Changes context attributes<br /> <br /> =====Graphic Object Creatre=====<br /> <br /> * Create a graphic object either in VRAM or in XDR<br /> * Used to create FIFO command buffers too (only in XDR of course because RSX supoorts FIFO command buffer in XDR only)<br /> <br /> =====Graphic Object Destroy=====<br /> <br /> * Frees previously created graphic object<br /> <br /> =====FIFO Execute=====<br /> <br /> * Allows user space applications to execute FIFO commands.<br /> * To avoid copying of buffers allocated by user space to main FIFO command buffer use CALL and RET RSX FIFO commands to execute FIFO commands in buffers allocated by user space.<br /> * Several FIFO command buffers can be submitted at once.<br /> <br /> =====Framebuffer=====<br /> <br /> * Kernel DRM driver has to implement a frame buffer driver too<br /> * Nouvea driver allocates frame buffer in video RAM and maps it into kernel address space (see '''nouveau_fbcon.c:nouveau_fbcon_create'''). Current ps3fb Linux driver doesn't allocate frame buffer in vide RAM but in system RAM.<br /> * Direct access to video RAM from kernel is very very slow but some of frame buffer functions in Nouvea driver are hardware accelerated. We could do it the same way on Linux and get a hardware accelerated frame buffer this way. Not sure why ps3fb authors didn't add hardware acceleration to frame buffer. The reason why it was not implemnted in ps3fb is because LV1 doesn't create 2D graphic objects needed for 2D hardware acceleration.<br /> * '''lv1_gpu_allocate_memory''' returns LPAR address of video RAM allocated for the RSX context.<br /> * Unfortunately '''lv1_gpu_context_allocate''' doesn't initialize 2D ROP objects but we could use 3D operations to implement 2D ROPs.<br /> <br /> ===libdrm===<br /> <br /> * Add support for RSX DRM to '''libdrm'''<br /> <br /> ===Test Kernel Module and Program===<br /> <br /> * I uploaded here a test kernel module and a test user application: [http://www.gitbrew.org/~glevand/ps3/linux/ps3rsx_kernel.tar.gz] and [http://www.gitbrew.org/~glevand/ps3/linux/ps3rsx_user.tar.gz]<br /> * I used a similar technique for mapping GPU resources into user-space like Linux kernel DRM drivers do it, e.g. Nouveau. But of course everything is very simplified in comparison with Nouveau driver. All GPU resources are mapped to user-space with mmap and there is no data copying between user and kernel space, for performance reasons. Mapping GPU resources into user-space like this is more flexible than IOCTLs.<br /> * '''The purpose of the kernel module and the user application is to test how RSX works, to test FIFO commands and other stuff i reversed from Lv2. It's NOT for end users.'''<br /> * Before loading the kernel module make sure ps3vram kernel module is NOT loaded.<br /> * I used 64kB IO pages for GPU context. 4kB IO page size would be definitely a lot better for that we have to patch LV1. I will add this patch to my ps3mfw tasks for LV1.<br /> * Just load the kernel module and then run the user application.<br /> * The user application maps all context resources and executes some simple FIFO commands, like JMP or SET REF.<br /> * I will add more examples later.<br /> * By default, the kernel module allocates 8MB VRAM, 64kB FIFO and 1MB GART memory. You can change it by using kernel module parameters.<br /> * Take a look at how i made non-contiguous allocated GART memory look contiguous to GPU, kernel-space and user-space.<br /> * The kernel module needs some IOCTLs, e.g. for setting display buffers or flip status, because it can be done ONLY with LV1 calls. I will add it later.<br /> <br /> ===Links===<br /> <br /> * http://yangman.ca/blog/2009/10/linux-graphics-driver-stack-explained<br /> * http://www.bitwiz.org.uk/s/how-dri-and-drm-work.html<br /> * http://dri.sourceforge.net/doc/drm_low_level.html<br /> * http://www.botchco.com/agd5f/?p=50<br /> * http://webcvs.freedesktop.org/xorg/xc/programs/Xserver/hw/xfree86/doc/DESIGN?view=co<br /> * http://www.x.org/wiki/ModularDevelopersGuide<br /> * http://www.xfree86.org/current/DESIGN20.html<br /> * http://nouveau.freedesktop.org/wiki/GraphicStackOverview<br /> * http://cgit.freedesktop.org/nouveau/xf86-video-nouveau/tree/<br /> * http://cgit.freedesktop.org/xorg/xserver/tree/hw/xfree86/doc/exa-driver.txt<br /> * http://cgit.freedesktop.org/xorg/xserver/tree/hw/xfree86/xaa/XAA.HOWTO<br /> * http://cgit.freedesktop.org/nouveau/linux-2.6/tree/drivers/gpu/drm<br /> * http://kernel.org/doc/htmldocs/drm/drmInternals.html<br /> * http://paginas.fe.up.pt/~mei04010/dri-architecture.pdf<br /> * http://www.ecsl.cs.sunysb.edu/tr/TR222.pdf<br /> * http://www.freesoftwaremagazine.com/columns/the_new_xorg_features<br /> * http://www.freesoftwaremagazine.com/columns/xorgs_x_window_innovation_its_not_all_about_graphics#<br /> * http://www.virtuousgeek.org/exa-driver.txt<br /> * http://www.x.org/wiki/ttm<br /> * http://nouveau.freedesktop.org/wiki/NvObjectTypes<br /> * TTM: [http://lwn.net/Articles/257417/] [http://nouveau.freedesktop.org/wiki/TTMMemoryManager?action=AttachFile&amp;do=get&amp;target=mm.pdf]<br /> * GEM: [http://lwn.net/Articles/283798/]<br /> * TTM vs GEM: [http://lwn.net/Articles/283793/]<br /> * OMAP DRM Driver: https://github.com/robclark/kernel-omap4/tree/omap_gpu-android/drivers/gpu/drm/omap<br /> <br /> =BD Drive=<br /> Crossreference: [http://wiki.gitbrew.org/wikibrew/PS3:HvReverseEngineering#BD_Drive gitbrew.org::HV#BD Drive] &lt;br /&gt;<br /> <br /> <br /> ==Profile==<br /> <br /> * BD profile can be read with '''GET PROFILE''' device command or SCSI command '''GET CONFIGURATION'''<br /> <br /> ===Profile Table===<br /> <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Profile !! Description<br /> |-<br /> | 0x0 || No Current Profile<br /> |-<br /> | 0x2 || Removable Disk<br /> |-<br /> | 0x8 || CD-ROM<br /> |-<br /> | 0x9 || CD-R<br /> |-<br /> | 0xa || CD-RW<br /> |-<br /> | 0x10 || DVD-ROM<br /> |-<br /> | 0x11 || DVD-R Sequential recording<br /> |-<br /> | 0x12 || DVD-RAM<br /> |-<br /> | 0x13 || DVD-RW Restricted Overwrite<br /> |-<br /> | 0x14 || DVD-RW Sequential recording<br /> |-<br /> | 0x1a || DVD+RW<br /> |-<br /> | 0x1b || DVD+R<br /> |-<br /> | 0x40 || BD-ROM<br /> |-<br /> | 0x41 || BD-R Sequential Recording(TBD)<br /> |-<br /> | 0x42 || BD-R Random Recording(TBD)<br /> |-<br /> | 0x43 || BD-RE<br /> |-<br /> | 0x50 || PS1 CD-ROM<br /> |-<br /> | 0x60 || PS2 CD-ROM<br /> |-<br /> | 0x61 || PS2 DVD-ROM<br /> |-<br /> | 0x70 || PS3 DVD-ROM<br /> |-<br /> | 0x71 || PS3 BD-ROM<br /> |-<br /> | 0x10000 || CD-DA<br /> |-<br /> | 0x20000 || SACD<br /> |-<br /> | 0x100000 || Dual Layer (Parallel)<br /> |-<br /> | 0x200000 || Dual Layer (else Parallel)<br /> |}<br /> <br /> ==Buffer==<br /> <br /> * BD drive has several buffers associated with internal flash<br /> * Buffer can be read and written with SCSI commands '''READ/WRITE BUFFER'''<br /> * Writing buffer is enabled with SCSI command '''MODE SELECT 10''' first<br /> <br /> ===Buffer Table===<br /> <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! ID !! Size !! Description<br /> |-<br /> | 0x0 || 0x8000 || Used to transfer firmware to BD drive<br /> |-<br /> | 0x1 || 0x800 || Serial Flash<br /> |-<br /> | 0x2 || 0x60 || P-Block<br /> |-<br /> | 0x3 || 0x670 || S-Block<br /> |-<br /> | 0x4 || 0x8000 || Host Revocation List (HRL) Empty<br /> |-<br /> | 0x5 || 0x8000 || Host Revocation List (HRL) Current<br /> |-<br /> | 0x6 || 0x670 || S-Block<br /> |-<br /> | 0x7 || 0x8000 || Host Revocation List (HRL)<br /> |}<br /> <br /> ===HRL Buffer===<br /> <br /> * Size is 32KB just like AACS specifications prescribes (See AACS Common Specification 3.2.5.2 Host Revocation List Record)<br /> * '''We could replace HRL with an older one in BD drive flash and restore revoked Host Certificates !!!'''<br /> <br /> ==Device Commands==<br /> <br /> ===Get Profile (0x11)===<br /> <br /> * BD profile can be read with LV1 call '''lv1_send_storage_device_command''' and command '''0x11'''<br /> * LV1 sends SCSI command '''GET CONFIGURATION''' to BD drive with '''requested type 0x0''', '''starting feature number 0x0''' and '''allocation length 0x8'''<br /> * See SCSI command '''GET CONFIGURATION'''<br /> <br /> ===Auto Request Sense Mode On/Off (0x30)===<br /> <br /> * LV1 expects a 4 byte value: 0x0 - On, 0x1 - Off<br /> * can be get/set via GameOS sc0x25C/604: sys_storage_send_device_command(fd of bdvd,0x30,value,4,0,0 )<br /> <br /> ==SCSI Commands==<br /> <br /> ===Get Configuration===<br /> <br /> Getting the profile of a BD movie disc:<br /> &lt;pre&gt;<br /> # sg_raw -r 0x8 /dev/sr0 46 02 00 00 00 00 00 00 08 00<br /> SCSI Status: Good <br /> <br /> Sense Information:<br /> sense buffer empty<br /> <br /> Received 8 bytes of data:<br /> 00 00 00 00 38 00 00 00 40 ...8...@ <br /> <br /> # 0x40 means BD-ROM<br /> &lt;/pre&gt;<br /> <br /> Getting the profile of a PS3 game disc:<br /> &lt;pre&gt;<br /> # sg_raw -r 0x8 /dev/sr0 46 02 00 00 00 00 00 00 08 00<br /> SCSI Status: Good <br /> <br /> Sense Information:<br /> sense buffer empty<br /> <br /> Received 8 bytes of data:<br /> 00 00 00 00 38 00 00 ff 71 ...8...q <br /> <br /> # 0x71 means PS3 BD-ROM<br /> &lt;/pre&gt;<br /> <br /> ===Get SS Key===<br /> <br /> * By SCSI standard undocumented parameters are used<br /> * '''SCSI Report Key''' command with '''key format 0x3''' and '''key class 0xe0'''<br /> * 8 bytes are returned by BD drive<br /> * Used by VSH<br /> <br /> Test with PS3 game disc:<br /> &lt;pre&gt;<br /> # sg_raw -r 8 /dev/sr0 a4 00 00 00 00 00 00 e0 00 08 03 00<br /> SCSI Status: Good <br /> <br /> Sense Information:<br /> sense buffer empty<br /> <br /> Received 8 bytes of data:<br /> 00 00 06 00 00 00 00 00 04 ........ <br /> &lt;/pre&gt;<br /> <br /> ===Eject Media===<br /> <br /> &lt;pre&gt;<br /> sg_raw /dev/sr0 0x1b 00 00 00 02 00<br /> &lt;/pre&gt;<br /> <br /> ===Load Media===<br /> <br /> &lt;pre&gt;<br /> sg_raw /dev/sr0 0x1b 00 00 00 03 00<br /> &lt;/pre&gt;<br /> <br /> ===Mode Select 10===<br /> <br /> ====Enable Buffer Write====<br /> <br /> * Uses '''PF 0x1''', '''SP 0x0''' and '''parameter list length 0x10'''<br /> * Uses the following parameter list: '''0x00 0x0e 0x00 0x00 0x00 0x00 0x00 0x00 0x2d 0x6 &lt;buffer id&gt; 0x00 0x00 0x00 0x00 0x00'''<br /> * '''Enables writing to BD drive flash, e.g. to HRL buffer !!!'''<br /> <br /> Test with sg3-utils which enables write to HRL buffer:<br /> &lt;pre&gt;<br /> sg_raw /dev/sr0 55 10 00 00 00 00 00 00 10 00 00 0e 00 00 00 00 00 00 2d 06 04 00 00 00 00 00<br /> &lt;/pre&gt;<br /> <br /> ===Write Buffer===<br /> <br /> * Used e.g. by Update Manager to send BD firmware to BD drive<br /> * '''Mode 0x5 (Download microcode and save)''' is used e.g. to write HRL to BD drive flash<br /> * '''Mode 0x7 (Download microcode with offsets and save)''' is used e.g. to write BD firmware to BD drive flash<br /> <br /> ==AACS==<br /> <br /> ===AACS SPU Module===<br /> <br /> * BD player on GameOS uses '''AacsModule.spu.isoself''' (/dev_flash/bdplayer) to perform AACS authentication<br /> * Tested on OtherOS++ 3.55<br /> * Host certificate, host private key and AACS LA public key are stored encrypted with AES-256-CTR in the SPU module and are decrypted when the SPU module is loaded or when it's accessed first. The AES-256-CTR key and IV are in the SPU module too.<br /> * 4.76 uses new Host certificate<br /> <br /> ====Communication====<br /> <br /> * BD player reads '''EID3''' with '''Indi Info Manager 0x17001/0x17002''' services and passes it to SPU module<br /> * '''EID3 is NEVER used in the SPU module although BD player passes it to the SPU module'''<br /> * Data is exchanged with the SPU module through '''SPU In Mbox''', '''SPU Out Intr Mbox''' and a data buffer in XDR memory of size '''0x2000''' bytes.<br /> <br /> ====Commands====<br /> <br /> * The SPU module supports max '''0x78''' (til 4.75, 0x57 since 4.76) commands but not all are implemented<br /> * After a command is finished by the SPU module, it sends the status of the command to PPU through '''SPU Out Intr Mbox'''. Value 0 means success.<br /> <br /> <br /> {| class=&quot;wikitable sortable&quot; <br /> |+ style=&quot;caption-side:bottom; color:#e76700;&quot;|''No full list!''<br /> ! colspan=&quot;2&quot; style=&quot;background-color:#FFEBAD;&quot;| Command in FW !! rowspan=&quot;2&quot; style=&quot;background-color:#FFEBAD;&quot;| Name !! rowspan=&quot;2&quot; style=&quot;background-color:#FFEBAD;&quot;| Parameters !! rowspan=&quot;2&quot; style=&quot;background-color:#FFEBAD;&quot;| Info<br /> |-<br /> ! style=&quot;background-color:#FFEBAD;&quot;| -4.75 !! style=&quot;background-color:#FFEBAD;&quot;| 4.76+<br /> |-<br /> | 0x02|| 0x34 || Read 4 Bytes from XDR Buffer || || <br /> * It just reads 4 bytes of data from the XDR buffer passed to the SPU module.<br /> |-<br /> | 0x1C|| 0x48 || Set KCD || || <br /> * Sends KCD (Key Conversion Data) to the SPU module.<br /> * KCD is encrypted with the Bus Key which was established previously by AACS authentication.<br /> |-<br /> | 0x34|| 0x23 || Init AES_H || || <br /> * Initializes AES_H hashing function.<br /> |-<br /> | 0x35|| 0x22 || Calculate AES_H 1 || || <br /> * Calculates AES_H hash of the data stored in XDR buffer.<br /> |-<br /> | || 0x21 || || 2x 4 Bytes || <br /> Signed CSS CheckCRL<br /> |-<br /> | || 0x56|| || || <br /> Get Random Seed<br /> |-<br /> | || 0x32|| || || <br /> Unknown<br /> |-<br /> | 0x36|| 0x24 || Calculate AES_H 2 || || <br /> * Calculates AES_H hash of the data stored in XDR buffer.<br /> |-<br /> | 0x3C|| 0x12 || Generate Host Nonce || || <br /> * Generates a nonce which is returned in command '''0x3D''' / '''0x0C'''<br /> |-<br /> | 0x3D|| 0x0C || Get Host Nonce and Certificate || || <br /> * The data returned by this command is of size '''0x14 (Nonce) + 0x5c (Host Certificate)'''<br /> * The data returned by this command is sent by BD player with SCSI command '''SEND KEY''' to BD drive during AACS authentication<br /> * '''Host Certificate is easy to get from the SPU module, e.g. with aacs_module on OtherOS++'''<br /> * The data contains a nonce, host public key and host certificate signature.<br /> |-<br /> | 0x3E|| 0x0D|| Set Drive Nonce and Certificate || || <br /> * Stores BD drive nonce and certificate in local memory of SPU<br /> |-<br /> | 0x3F|| 0x0E|| Verify Drive Certificate || || <br /> |-<br /> | 0x40|| 0x0A|| Set Drive Key || || <br /> |-<br /> | 0x44|| 0x10 || Sign Host Key || || <br /> |-<br /> | 0x45|| 0x0B || Get Host Key || || <br /> |-<br /> | 0x46|| 0x14 || Calculate Bus Key || || <br /> |-<br /> | 0x47|| 0x1C || Set Volume ID || || <br /> * Sends volume id and its MAC to the SPU module<br /> |-<br /> | 0x48|| 0x1D || Calculate Volume ID MAC || || <br /> * Calculates MAC of the passed volume id<br /> |-<br /> | 0x49|| 0x15 || Verify Volume ID MAC || || <br /> * Verifies MAC of the passed volume id<br /> |-<br /> | 0x4A|| 0x1A || Set PMSN || || <br /> * Sends PMSN and its MAC to the SPU module<br /> |-<br /> | 0x4B|| 0x1B || Calculate PMSN MAC || || <br /> * Calculates MAC of the passed PMSN<br /> |-<br /> | 0x4C|| 0x16 || Verify PMSN || || <br /> * Sends media id and its MAC to the SPU module<br /> |-<br /> | 0x4D|| 0x18 || Set Media ID || || <br /> * Sends media id and its MAC to the SPU module<br /> |-<br /> | 0x4E|| 0x19 || Calculate Media ID MAC || || <br /> * Calculates MAC of the passed media id<br /> |-<br /> | 0x4F|| 0x17 || Verify Media ID MAC || || <br /> * Verifies MAC of the passed media id<br /> |-<br /> | 0x55|| 0x1F || Verify Host/Drive Revocation || || <br /> * BD player stores HRL/DRL list entries in XDR buffer and passes it to the SPU module for verification<br /> |-<br /> | 0x72|| 0x25 || || || OCRL related, Content Revocation List<br /> |-<br /> | 0x74|| 0x26 || || || OCRT related<br /> |-<br /> | 0x75|| 0x27 || || || OSIG related<br /> |-<br /> | 0xFEFEFEFF|| 0xFEFEFEFF|| Terminate Session || || <br /> * AACS SPU module runs and processes commands as long as you need<br /> * After a command is complete, the SPU module waits for the next command<br /> * This command terminates the current session and stops SPU module<br /> |-<br /> |}<br /> <br /> ===Drive Revocation List (DRL)===<br /> <br /> * SHA1 hash is encrypted/decrypted by '''SYSCON services 0x9003/0x9004 (Encrypt/Decrypt)'''<br /> * SHA1 hash is read with '''VTRM service 0x2005 (Retrieve)'''<br /> * SHA1 hash is written with '''VTRM service 0x2003 (Store With Update)'''<br /> <br /> ===Content Revocation List (CRL)===<br /> <br /> * SHA1 hash is encrypted/decrypted by '''SYSCON services 0x9003/0x9004 (Encrypt/Decrypt)'''<br /> * SHA1 hash is read with '''VTRM service 0x2005 (Retrieve)'''<br /> * SHA1 hash is written with '''VTRM service 0x2003 (Store With Update)'''<br /> <br /> ===Host Revocation List (HRL)===<br /> <br /> * Stored in BD drive flash<br /> * It can be read/written with SCSI commands '''READ/WRITE BUFFER'''. Yeah, it can be written too :D<br /> <br /> ====Read HRL from BD Drive Flash====<br /> <br /> * It seems that BD drive has several HRL in its flash<br /> * Empty HRL stored on BD drive flash can be read with SCSI command '''READ BUFFER''' by using as '''mode 0x2''', '''buffer id 0x4''' and '''allocation length 0x40'''<br /> * Current HRL stored on BD drive flash can be read with SCSI command '''READ BUFFER''' by using as '''mode 0x2''', '''buffer id 0x5'''<br /> <br /> ====Empty HRL====<br /> <br /> &lt;pre&gt;<br /> # sg_read_buffer -m 2 -i 4 -o 0 -l $((0x40)) /dev/sr0 <br /> 00 10 00 00 0c 00 03 10 03 00 00 00 01 21 00 00 34 <br /> 10 00 00 00 00 00 00 00 00 1b 0b f2 6d 47 9e 77 62 <br /> 20 3d 91 fc 78 b1 59 c9 52 ca a4 c7 41 85 24 96 64 <br /> 30 8d 1d 95 8e 9b 84 c6 fa 4a dd 43 9b 42 98 fe ff <br /> <br /> # byte 0x21 at offset 0xc means Record Type HRL<br /> <br /> # as you see this HRL is empty<br /> <br /> &lt;/pre&gt;<br /> <br /> ====Current HRL====<br /> <br /> &lt;pre&gt;<br /> # sg_read_buffer -m 2 -i 5 -o 0 -l $((0x7c)) /dev/sr0 <br /> 00 10 00 00 0c 00 04 10 03 00 00 00 09 21 00 00 6c <br /> 10 00 00 00 07 00 00 00 07 00 09 ff ff 00 00 00 0b <br /> 20 00 00 ff ff 00 00 00 16 00 08 ff ff 00 00 00 21 <br /> 30 00 03 ff ff 00 00 00 35 00 04 ff ff 00 00 00 4e <br /> 40 00 03 ff ff 00 00 00 54 00 03 ff ff 00 00 00 5e <br /> 50 80 93 3a 62 f5 5a 9c 8c 62 ce 7d b8 69 5d d7 b1 <br /> 60 c3 0f 36 ff 96 a2 3b 32 cb cd 58 d4 12 c9 fd bf <br /> 70 f5 16 a6 4a 32 ba 60 f0 5d 71 74 10 <br /> <br /> # the current HRL is NOT empty and is from MKBv9 because the only BD movie i played on my PS3 has MKBv9<br /> &lt;/pre&gt;<br /> <br /> ===PS3 BD Player Host Certificate===<br /> <br /> &lt;pre&gt;<br /> $ hexdump -C aacs_auth/ps3_host_cert.bin <br /> 00000000 02 01 00 5c ff ff 80 00 00 39 00 00 65 ea c9 87 |...\ÿÿ...9..eêÉ.|<br /> 00000010 8b 85 ef f4 d7 7a 62 b1 d6 00 02 4a ce 68 dd 33 |..ïô×zb±Ö..JÎhÝ3|<br /> 00000020 66 88 0e 4f 84 4f 34 b7 7a 05 01 35 a2 0e 73 b6 |f..O.O4·z..5¢.s¶|<br /> 00000030 26 da ea 51 57 b3 2e b8 4b c6 e8 7b 0d ee 4d 83 |&amp;ÚêQW³.žKÆè{.îM.|<br /> 00000040 3c ea da 86 12 01 51 00 2c 3c 66 d5 25 6f 71 cf |&lt;êÚ...Q.,&lt;fÕ%oqÏ|<br /> 00000050 a6 8b 7e 55 ba 1b 35 1f 34 03 43 4e |Š.~Uº.5.4.CN|<br /> 0000005c<br /> <br /> # Host ID is 0xffff80000039<br /> &lt;/pre&gt;<br /> <br /> ===PS3 BD Player Host Private Key===<br /> <br /> &lt;pre&gt;<br /> $ hexdump -C aacs_auth/ps3_host_priv_key.bin <br /> 00000000 00 66 8c 9a 75 ee fc 8d a4 26 19 38 e2 71 28 50 |.f..u....&amp;.8.q(P|<br /> 00000010 61 bb 09 f0 dd |a....|<br /> &lt;/pre&gt;<br /> <br /> ===AACS Processing Keys===<br /> <br /> ====MKB v1====<br /> <br /> &lt;pre&gt;<br /> glevand@bastion:~/aacs_proc_key$ ./aacs_proc_key -n 0x389 -k ps3_device_keys -u ps3_device_key_u_masks_uvs mkbs/MKB_RW_v1.inf<br /> <br /> =MKB=<br /> type:<br /> 0x00031003<br /> version:<br /> 0x00000001<br /> <br /> MKB U masks and UVs: 514<br /> <br /> =applying subset-difference=<br /> index: 0<br /> UV: 0x00000001<br /> U mask: 0xff800000<br /> V mask: 0xfffffffe<br /> <br /> =applying device key=<br /> index: 244<br /> UV: 0x00000100<br /> U mask: 0xff800000<br /> V mask: 0xfffffe00<br /> device key:<br /> 00000000: 81 08 27 a7 6e 5b 2c c1 68 5e 32 17 a2 3e 21 86 |..'.n[,.h^2..&gt;!.|<br /> <br /> processing key:<br /> 00000000: 09 f9 11 02 9d 74 e3 5b d8 41 56 c5 63 56 88 c0 |.....t.[.AV.cV..|<br /> <br /> C value:<br /> 00000000: cb 06 90 db e6 54 55 7b 12 62 aa d7 89 f4 9d 92 |.....TU{.b......|<br /> <br /> media key:<br /> 00000000: b4 6c 48 5e f7 51 ae 29 ef 87 bc 58 28 f3 2a 8d |.lH^.Q.)...X(.*.|<br /> <br /> =MKB verify media key data=<br /> encrypted:<br /> 00000000: 46 32 5b 42 48 b4 86 5a fc ef 75 25 47 b1 b5 12 |F2[BH..Z..u%G...|<br /> decrypted:<br /> 00000000: 01 23 45 67 89 ab cd ef 0d ac 14 b9 ee f4 bd cc |.#Eg............|<br /> &lt;/pre&gt;<br /> <br /> ====MKB v3====<br /> <br /> &lt;pre&gt;<br /> glevand@bastion:~/aacs_proc_key$ ./aacs_proc_key -n 0x389 -k ps3_device_keys -u ps3_device_key_u_masks_uvs mkbs/MKB_RW_v3.inf<br /> <br /> =MKB=<br /> type:<br /> 0x00031003<br /> version:<br /> 0x00000003<br /> <br /> MKB U masks and UVs: 528<br /> <br /> =applying subset-difference=<br /> index: 14<br /> UV: 0x00000080<br /> U mask: 0xff800000<br /> V mask: 0xffffff00<br /> <br /> =applying device key=<br /> index: 244<br /> UV: 0x00000100<br /> U mask: 0xff800000<br /> V mask: 0xfffffe00<br /> device key:<br /> 00000000: 81 08 27 a7 6e 5b 2c c1 68 5e 32 17 a2 3e 21 86 |..'.n[,.h^2..&gt;!.|<br /> <br /> processing key:<br /> 00000000: 97 39 40 bb 18 0e 83 26 62 31 ee 59 6c ef 65 b2 |.9@....&amp;b1.Yl.e.|<br /> <br /> C value:<br /> 00000000: 0a b7 33 82 85 62 91 d1 91 4a 95 9e 36 18 c7 a1 |..3..b...J..6...|<br /> <br /> media key:<br /> 00000000: 6e da eb d4 88 aa 38 58 74 26 35 fd fd 36 66 d5 |n.....8Xt&amp;5..6f.|<br /> <br /> =MKB verify media key data=<br /> encrypted:<br /> 00000000: 99 76 96 b0 6f 49 37 9b c4 b9 2b be 73 ce 96 1a |.v..oI7...+.s...|<br /> decrypted:<br /> 00000000: 01 23 45 67 89 ab cd ef fb 01 cc 85 eb e5 bf 0a |.#Eg............|<br /> &lt;/pre&gt;<br /> <br /> ====MKB v4====<br /> <br /> &lt;pre&gt;<br /> glevand@bastion:~/aacs_proc_key$ ./aacs_proc_key -n 0x389 -k ps3_device_keys -u ps3_device_key_u_masks_uvs mkbs/MKB_RW_v4.inf<br /> <br /> =MKB=<br /> type:<br /> 0x00031003<br /> version:<br /> 0x00000004<br /> <br /> MKB U masks and UVs: 526<br /> <br /> =applying subset-difference=<br /> index: 12<br /> UV: 0x00000080<br /> U mask: 0xff800000<br /> V mask: 0xffffff00<br /> <br /> =applying device key=<br /> index: 244<br /> UV: 0x00000100<br /> U mask: 0xff800000<br /> V mask: 0xfffffe00<br /> device key:<br /> 00000000: 81 08 27 a7 6e 5b 2c c1 68 5e 32 17 a2 3e 21 86 |..'.n[,.h^2..&gt;!.|<br /> <br /> processing key:<br /> 00000000: 97 39 40 bb 18 0e 83 26 62 31 ee 59 6c ef 65 b2 |.9@....&amp;b1.Yl.e.|<br /> <br /> C value:<br /> 00000000: bf 71 0c 8b 46 a0 24 d8 f0 3a a1 26 37 9d fb fc |.q..F.$..:.&amp;7...|<br /> <br /> media key:<br /> 00000000: ef 18 c0 dd bf 02 32 a1 2f 57 f7 65 79 2c 1c 58 |......2./W.ey,.X|<br /> <br /> =MKB verify media key data=<br /> encrypted:<br /> 00000000: 54 85 08 a9 6a 70 2a c9 32 e3 74 a6 55 78 6c 01 |T...jp*.2.t.Uxl.|<br /> decrypted:<br /> 00000000: 01 23 45 67 89 ab cd ef da 90 cf 2a e5 b2 6c 45 |.#Eg.......*..lE|<br /> &lt;/pre&gt;<br /> <br /> ====MKB v7====<br /> <br /> &lt;pre&gt;<br /> glevand@bastion:~/aacs_proc_key$ ./aacs_proc_key -n 0x389 -k ps3_device_keys -u ps3_device_key_u_masks_uvs mkbs/MKB_RW_v7.inf<br /> <br /> =MKB=<br /> type:<br /> 0x00031003<br /> version:<br /> 0x00000007<br /> <br /> MKB U masks and UVs: 526<br /> <br /> =applying subset-difference=<br /> index: 7<br /> UV: 0x00000080<br /> U mask: 0xff800000<br /> V mask: 0xffffff00<br /> <br /> =applying device key=<br /> index: 244<br /> UV: 0x00000100<br /> U mask: 0xff800000<br /> V mask: 0xfffffe00<br /> device key:<br /> 00000000: 81 08 27 a7 6e 5b 2c c1 68 5e 32 17 a2 3e 21 86 |..'.n[,.h^2..&gt;!.|<br /> <br /> processing key:<br /> 00000000: 97 39 40 bb 18 0e 83 26 62 31 ee 59 6c ef 65 b2 |.9@....&amp;b1.Yl.e.|<br /> <br /> C value:<br /> 00000000: 21 fd c9 4b 3e 1a f3 fe 9e b4 7a e6 ef 01 75 1b |!..K&gt;.....z...u.|<br /> <br /> media key:<br /> 00000000: af cd e2 c8 67 12 a4 b6 a8 58 0c 15 ef 07 6e f8 |....g....X....n.|<br /> <br /> =MKB verify media key data=<br /> encrypted:<br /> 00000000: 4b 21 29 a5 0f db 96 bc bc 01 04 71 42 79 00 e5 |K!)........qBy..|<br /> decrypted:<br /> 00000000: 01 23 45 67 89 ab cd ef 4e f9 d2 05 6e 19 c1 79 |.#Eg....N...n..y|<br /> &lt;/pre&gt;<br /> <br /> ====MKB v8====<br /> <br /> &lt;pre&gt;<br /> glevand@debian-hdd:~/aacs_proc_key$ ./aacs_proc_key -n 0x389 -k ps3_device_keys -u ps3_device_key_u_masks_uvs mkbs/MKB_RW_v8.inf<br /> <br /> =MKB=<br /> type:<br /> 0x00031003<br /> version:<br /> 0x00000008<br /> <br /> MKB U masks and UVs: 523<br /> <br /> =applying subset-difference=<br /> index: 4<br /> UV: 0x00000080<br /> U mask: 0xff800000<br /> V mask: 0xffffff00<br /> <br /> =applying device key=<br /> index: 244<br /> UV: 0x00000100<br /> U mask: 0xff800000<br /> V mask: 0xfffffe00<br /> device key:<br /> 00000000: 81 08 27 a7 6e 5b 2c c1 68 5e 32 17 a2 3e 21 86 |..'.n[,.h^2..&gt;!.|<br /> <br /> processing key:<br /> 00000000: 97 39 40 bb 18 0e 83 26 62 31 ee 59 6c ef 65 b2 |.9@....&amp;b1.Yl.e.|<br /> <br /> C value:<br /> 00000000: 73 2d 10 bd f8 b4 87 e2 86 a6 d5 3a 6d db 69 15 |s-.........:m.i.|<br /> <br /> media key:<br /> 00000000: dd 46 d4 0d 26 54 5a ce 6c 59 0c 65 b7 2b 3a 9f |.F..&amp;TZ.lY.e.+:.|<br /> <br /> =MKB verify media key data=<br /> encrypted:<br /> 00000000: c6 f6 f9 54 ce 90 e0 5e 2b 3b e4 1e 24 92 90 b2 |...T...^+;..$...|<br /> decrypted:<br /> 00000000: 01 23 45 67 89 ab cd ef 97 e6 61 8b d1 69 3e a0 |.#Eg......a..i&gt;.|<br /> &lt;/pre&gt;<br /> <br /> ====MKB v9====<br /> <br /> &lt;pre&gt;<br /> glevand@bastion:~/aacs_proc_key$ ./aacs_proc_key -n 0x389 -k ps3_device_keys -u ps3_device_key_u_masks_uvs mkbs/MKB_RW_v9.inf<br /> <br /> =MKB=<br /> type:<br /> 0x00031003<br /> version:<br /> 0x00000009<br /> <br /> MKB U masks and UVs: 520<br /> <br /> =applying subset-difference=<br /> index: 2<br /> UV: 0x00000080<br /> U mask: 0xff800000<br /> V mask: 0xffffff00<br /> <br /> =applying device key=<br /> index: 244<br /> UV: 0x00000100<br /> U mask: 0xff800000<br /> V mask: 0xfffffe00<br /> device key:<br /> 00000000: 81 08 27 a7 6e 5b 2c c1 68 5e 32 17 a2 3e 21 86 |..'.n[,.h^2..&gt;!.|<br /> <br /> processing key:<br /> 00000000: 97 39 40 bb 18 0e 83 26 62 31 ee 59 6c ef 65 b2 |.9@....&amp;b1.Yl.e.|<br /> <br /> C value:<br /> 00000000: a4 5a c6 87 43 49 70 bb bf 0c 22 52 83 9e 2a f6 |.Z..CIp...&quot;R..*.|<br /> <br /> media key:<br /> 00000000: 37 02 bd fc 96 dc a2 18 2e 55 b0 79 6d ad 36 6b |7........U.ym.6k|<br /> <br /> =MKB verify media key data=<br /> encrypted:<br /> 00000000: 4d 5b 7b 9c 5d ee 55 a6 94 de e1 db 8d 08 c7 a2 |M[{.].U.........|<br /> decrypted:<br /> 00000000: 01 23 45 67 89 ab cd ef cd 1d a8 8a 42 5a 10 43 |.#Eg........BZ.C|<br /> &lt;/pre&gt;<br /> <br /> ====MKB v10====<br /> <br /> &lt;pre&gt;<br /> glevand@bastion:~/aacs_proc_key$ ./aacs_proc_key -n 0x389 -k ps3_device_keys -u ps3_device_key_u_masks_uvs mkbs/MKB_RW_v10.inf<br /> <br /> =MKB=<br /> type:<br /> 0x00031003<br /> version:<br /> 0x0000000a<br /> <br /> MKB U masks and UVs: 522<br /> <br /> =applying subset-difference=<br /> index: 3<br /> UV: 0x00000080<br /> U mask: 0xff800000<br /> V mask: 0xffffff00<br /> <br /> =applying device key=<br /> index: 244<br /> UV: 0x00000100<br /> U mask: 0xff800000<br /> V mask: 0xfffffe00<br /> device key:<br /> 00000000: 81 08 27 a7 6e 5b 2c c1 68 5e 32 17 a2 3e 21 86 |..'.n[,.h^2..&gt;!.|<br /> <br /> processing key:<br /> 00000000: 97 39 40 bb 18 0e 83 26 62 31 ee 59 6c ef 65 b2 |.9@....&amp;b1.Yl.e.|<br /> <br /> C value:<br /> 00000000: d4 77 dd 1a 8a 5c 6d d1 dd 31 2d af f7 d3 14 fa |.w...\m..1-.....|<br /> <br /> media key:<br /> 00000000: 38 32 2b 3c 61 b0 35 b4 52 89 84 59 f4 7a 76 e6 |82+&lt;a.5.R..Y.zv.|<br /> <br /> =MKB verify media key data=<br /> encrypted:<br /> 00000000: 3f d3 d5 fb 42 37 d9 05 b8 db 6b 03 a0 fe 2e 48 |?...B7....k....H|<br /> decrypted:<br /> 00000000: 01 23 45 67 89 ab cd ef 65 b1 87 8c eb 0d 60 0f |.#Eg....e.....`.|<br /> &lt;/pre&gt;<br /> <br /> ====MKB v12====<br /> <br /> &lt;pre&gt;<br /> glevand@bastion:~/aacs_proc_key$ ./aacs_proc_key -n 0x389 -k ps3_device_keys -u ps3_device_key_u_masks_uvs mkbs/MKB_RW_v12.inf<br /> <br /> =MKB=<br /> type:<br /> 0x00031003<br /> version:<br /> 0x0000000c<br /> <br /> MKB U masks and UVs: 522<br /> <br /> =applying subset-difference=<br /> index: 3<br /> UV: 0x00000080<br /> U mask: 0xff800000<br /> V mask: 0xffffff00<br /> <br /> =applying device key=<br /> index: 244<br /> UV: 0x00000100<br /> U mask: 0xff800000<br /> V mask: 0xfffffe00<br /> device key:<br /> 00000000: 81 08 27 a7 6e 5b 2c c1 68 5e 32 17 a2 3e 21 86 |..'.n[,.h^2..&gt;!.|<br /> <br /> processing key:<br /> 00000000: 97 39 40 bb 18 0e 83 26 62 31 ee 59 6c ef 65 b2 |.9@....&amp;b1.Yl.e.|<br /> <br /> C value:<br /> 00000000: 89 75 89 e6 6f 4a de 95 11 32 57 6a cb 99 dd 69 |.u..oJ...2Wj...i|<br /> <br /> media key:<br /> 00000000: 4b dd 69 9d 32 98 d7 b0 ad 32 71 6b 3d 9c e3 c2 |K.i.2....2qk=...|<br /> <br /> =MKB verify media key data=<br /> encrypted:<br /> 00000000: 8d 43 fd f2 15 fa 58 78 64 db 25 46 62 ab 02 30 |.C....Xxd.%Fb..0|<br /> decrypted:<br /> 00000000: 01 23 45 67 89 ab cd ef e6 1c bf 98 45 82 64 d9 |.#Eg........E.d.|<br /> &lt;/pre&gt;<br /> <br /> ====MKB v14====<br /> <br /> &lt;pre&gt;<br /> glevand@bastion:~/aacs_proc_key$ ./aacs_proc_key -n 0x389 -k ps3_device_keys -u ps3_device_key_u_masks_uvs mkbs/MKB_RW_v14.inf<br /> <br /> =MKB=<br /> type:<br /> 0x00031003<br /> version:<br /> 0x0000000e<br /> <br /> MKB U masks and UVs: 526<br /> <br /> =applying subset-difference=<br /> index: 6<br /> UV: 0x00000248<br /> U mask: 0xfffffe00<br /> V mask: 0xfffffff0<br /> <br /> =applying device key=<br /> index: 28<br /> UV: 0x00000280<br /> U mask: 0xfffffe00<br /> V mask: 0xffffff00<br /> device key:<br /> 00000000: 44 14 5a 84 6f 19 d0 96 f2 c8 4a 2e 50 c5 c4 f5 |D.Z.o.....J.P...|<br /> <br /> processing key:<br /> 00000000: 58 eb da df 88 dc c9 33 04 cb be db 9e e0 95 f6 |X......3........|<br /> <br /> C value:<br /> 00000000: 8c 7e 31 e8 15 17 7e c3 2c 67 b7 cc 87 e9 39 c3 |.~1...~.,g....9.|<br /> <br /> media key:<br /> 00000000: 4b b1 31 d1 6e 0e 86 45 89 07 a2 68 91 c4 e5 38 |K.1.n..E...h...8|<br /> <br /> =MKB verify media key data=<br /> encrypted:<br /> 00000000: 20 03 8c 70 7d ab d0 6f ba 86 39 f0 31 26 86 5f | ..p}..o..9.1&amp;._|<br /> decrypted:<br /> 00000000: 01 23 45 67 89 ab cd ef 27 9f e5 35 0b df 3d a5 |.#Eg....'..5..=.|<br /> &lt;/pre&gt;<br /> <br /> ====MKB v15====<br /> <br /> &lt;pre&gt;<br /> glevand@bastion:~/aacs_proc_key$ ./aacs_proc_key -n 0x389 -k ps3_device_keys -u ps3_device_key_u_masks_uvs mkbs/MKB_RW_v15.inf<br /> <br /> =MKB=<br /> type:<br /> 0x00031003<br /> version:<br /> 0x0000000f<br /> <br /> MKB U masks and UVs: 527<br /> <br /> =applying subset-difference=<br /> index: 6<br /> UV: 0x00000248<br /> U mask: 0xfffffe00<br /> V mask: 0xfffffff0<br /> <br /> =applying device key=<br /> index: 28<br /> UV: 0x00000280<br /> U mask: 0xfffffe00<br /> V mask: 0xffffff00<br /> device key:<br /> 00000000: 44 14 5a 84 6f 19 d0 96 f2 c8 4a 2e 50 c5 c4 f5 |D.Z.o.....J.P...|<br /> <br /> processing key:<br /> 00000000: 58 eb da df 88 dc c9 33 04 cb be db 9e e0 95 f6 |X......3........|<br /> <br /> C value:<br /> 00000000: 75 da 59 cf 0d c2 c0 95 86 fc 6b 8e 2e e9 cc 85 |u.Y.......k.....|<br /> <br /> media key:<br /> 00000000: 28 46 25 38 3d cc 4f 1f 90 be 7d f7 8a ba 7b fd |(F%8=.O...}...{.|<br /> <br /> =MKB verify media key data=<br /> encrypted:<br /> 00000000: 8d d2 69 e0 b7 6a 44 53 03 ad ef 58 44 fc a7 d7 |..i..jDS...XD...|<br /> decrypted:<br /> 00000000: 01 23 45 67 89 ab cd ef ff 6a 7d c3 17 bb 19 11 |.#Eg.....j}.....|<br /> &lt;/pre&gt;<br /> <br /> ====MKB v16====<br /> <br /> &lt;pre&gt;<br /> glevand@bastion:~/aacs_proc_key$ ./aacs_proc_key -n 0x389 -k ps3_device_keys -u ps3_device_key_u_masks_uvs mkbs/MKB_RW_v16.inf<br /> <br /> =MKB=<br /> type:<br /> 0x00031003<br /> version:<br /> 0x00000010<br /> <br /> MKB U masks and UVs: 531<br /> <br /> =applying subset-difference=<br /> index: 5<br /> UV: 0x00000248<br /> U mask: 0xfffffe00<br /> V mask: 0xfffffff0<br /> <br /> =applying device key=<br /> index: 28<br /> UV: 0x00000280<br /> U mask: 0xfffffe00<br /> V mask: 0xffffff00<br /> device key:<br /> 00000000: 44 14 5a 84 6f 19 d0 96 f2 c8 4a 2e 50 c5 c4 f5 |D.Z.o.....J.P...|<br /> <br /> processing key:<br /> 00000000: 58 eb da df 88 dc c9 33 04 cb be db 9e e0 95 f6 |X......3........|<br /> <br /> C value:<br /> 00000000: f8 49 9b d1 32 f9 6e 8d 33 98 35 a8 54 80 d9 fe |.I..2.n.3.5.T...|<br /> <br /> media key:<br /> 00000000: 3a bf bf d7 7e b8 01 43 a9 3c 15 3f ba 47 8c e1 |:...~..C.&lt;.?.G..|<br /> <br /> =MKB verify media key data=<br /> encrypted:<br /> 00000000: 8a 67 86 b6 9d 0d 22 dd 5d c2 88 1f 08 f3 ab b4 |.g....&quot;.].......|<br /> decrypted:<br /> 00000000: 01 23 45 67 89 ab cd ef d6 32 1f 17 c4 2f e2 4a |.#Eg.....2.../.J|<br /> &lt;/pre&gt;<br /> <br /> ====MKB v17====<br /> <br /> &lt;pre&gt;<br /> glevand@bastion:~/aacs_proc_key$ ./aacs_proc_key -n 0x389 -k ps3_device_keys -u ps3_device_key_u_masks_uvs mkbs/MKB_RW_v17.inf<br /> <br /> =MKB=<br /> type:<br /> 0x00031003<br /> version:<br /> 0x00000011<br /> <br /> MKB U masks and UVs: 540<br /> <br /> =applying subset-difference=<br /> index: 14<br /> UV: 0x00000308<br /> U mask: 0xffffff00<br /> V mask: 0xfffffff0<br /> <br /> =applying device key=<br /> index: 21<br /> UV: 0x00000340<br /> U mask: 0xffffff00<br /> V mask: 0xffffff80<br /> device key:<br /> 00000000: eb 55 a4 75 08 0f bc f1 85 34 ef a0 83 9a 73 73 |.U.u.....4....ss|<br /> <br /> processing key:<br /> 00000000: 46 5f a8 be 82 85 09 01 4d 05 d2 fc ce ff 35 d2 |F_......M.....5.|<br /> <br /> C value:<br /> 00000000: 01 f7 54 0b 34 e8 c1 ce 63 8d ea fa bc ce 6e 7b |..T.4...c.....n{|<br /> <br /> media key:<br /> 00000000: ef 63 4e a8 ca 06 d1 6a c7 21 65 1b 18 b3 04 c6 |.cN....j.!e.....|<br /> <br /> =MKB verify media key data=<br /> encrypted:<br /> 00000000: d3 b9 d4 9c b6 94 47 d5 3d cc 42 fe 3e 47 40 04 |......G.=.B.&gt;G@.|<br /> decrypted:<br /> 00000000: 01 23 45 67 89 ab cd ef f6 b4 c8 6a b7 b8 39 fc |.#Eg.......j..9.|<br /> &lt;/pre&gt;<br /> <br /> ====MKB v18====<br /> <br /> &lt;pre&gt;<br /> glevand@bastion:~/aacs_proc_key$ ./aacs_proc_key -n 0x389 -k ps3_device_keys -u ps3_device_key_u_masks_uvs mkbs/MKB_RW_v18.inf<br /> <br /> =MKB=<br /> type:<br /> 0x00031003<br /> version:<br /> 0x00000012<br /> <br /> MKB U masks and UVs: 543<br /> <br /> =applying subset-difference=<br /> index: 17<br /> UV: 0x00000320<br /> U mask: 0xffffff00<br /> V mask: 0xffffffc0<br /> <br /> =applying device key=<br /> index: 21<br /> UV: 0x00000340<br /> U mask: 0xffffff00<br /> V mask: 0xffffff80<br /> device key:<br /> 00000000: eb 55 a4 75 08 0f bc f1 85 34 ef a0 83 9a 73 73 |.U.u.....4....ss|<br /> <br /> processing key:<br /> 00000000: ad 5e 54 6c 46 d7 2d c0 83 ae b5 68 69 24 e1 b3 |.^TlF.-....hi$..|<br /> <br /> C value:<br /> 00000000: 7a 8f 03 41 27 c4 86 58 05 37 3a 90 de f8 de 26 |z..A'..X.7:....&amp;|<br /> <br /> media key:<br /> 00000000: e3 ed cd b4 59 b4 12 d4 ae f9 4d 8e 78 7a cd 7d |....Y.....M.xz.}|<br /> <br /> =MKB verify media key data=<br /> encrypted:<br /> 00000000: ea 45 fa 35 65 70 56 6f 6a 86 65 ad 52 e7 71 a4 |.E.5epVoj.e.R.q.|<br /> decrypted:<br /> 00000000: 01 23 45 67 89 ab cd ef bd 36 f9 ce 60 54 80 3c |.#Eg.....6..`T.&lt;|<br /> &lt;/pre&gt;<br /> <br /> ====MKB v19====<br /> <br /> &lt;pre&gt;<br /> glevand@bastion:~/aacs_proc_key$ ./aacs_proc_key -n 0x389 -k ps3_device_keys -u ps3_device_key_u_masks_uvs mkbs/MKB_RW_v19.inf<br /> <br /> =MKB=<br /> type:<br /> 0x00031003<br /> version:<br /> 0x00000013<br /> <br /> MKB U masks and UVs: 544<br /> <br /> =applying subset-difference=<br /> index: 17<br /> UV: 0x00000320<br /> U mask: 0xffffff00<br /> V mask: 0xffffffc0<br /> <br /> =applying device key=<br /> index: 21<br /> UV: 0x00000340<br /> U mask: 0xffffff00<br /> V mask: 0xffffff80<br /> device key:<br /> 00000000: eb 55 a4 75 08 0f bc f1 85 34 ef a0 83 9a 73 73 |.U.u.....4....ss|<br /> <br /> processing key:<br /> 00000000: ad 5e 54 6c 46 d7 2d c0 83 ae b5 68 69 24 e1 b3 |.^TlF.-....hi$..|<br /> <br /> C value:<br /> 00000000: b9 0b 55 d1 18 3c cc 80 20 1c 9f 26 c3 58 27 18 |..U..&lt;.. ..&amp;.X'.|<br /> <br /> media key:<br /> 00000000: 75 a9 79 9c 67 50 13 89 98 62 34 5b eb 54 34 dd |u.y.gP...b4[.T4.|<br /> <br /> =MKB verify media key data=<br /> encrypted:<br /> 00000000: c4 f0 ce 75 1b 12 b9 f0 22 2f 31 70 66 a9 6a b8 |...u....&quot;/1pf.j.|<br /> decrypted:<br /> 00000000: 01 23 45 67 89 ab cd ef 66 5c 65 d3 c4 4c c7 b0 |.#Eg....f\e..L..|<br /> &lt;/pre&gt;<br /> <br /> ====MKB v20====<br /> <br /> &lt;pre&gt;<br /> glevand@debian-hdd:~/aacs_proc_key$ ./aacs_proc_key -n 0x389 -k ps3_device_keys -u ps3_device_key_u_masks_uvs mkbs/MKB_RW_v20.inf<br /> <br /> =MKB=<br /> type:<br /> 0x00031003<br /> version:<br /> 0x00000014<br /> <br /> MKB U masks and UVs: 544<br /> <br /> =applying subset-difference=<br /> index: 19<br /> UV: 0x00000384<br /> U mask: 0xffffff80<br /> V mask: 0xfffffff8<br /> <br /> =applying device key=<br /> index: 18<br /> UV: 0x00000384<br /> U mask: 0xffffff80<br /> V mask: 0xfffffff8<br /> device key:<br /> 00000000: fb 4a c3 90 09 e8 21 13 d4 5e cf 4b 7e ae a4 67 |.J....!..^.K~..g|<br /> <br /> processing key:<br /> 00000000: 53 fc e7 8e cd 35 2d a5 0d 52 6b 5e e3 d3 d9 6b |S....5-..Rk^...k|<br /> <br /> C value:<br /> 00000000: 10 9f f1 69 36 07 7d 7e ad 8f d2 1a 28 c5 09 ed |...i6.}~....(...|<br /> <br /> media key:<br /> 00000000: dc 9f 08 f7 cb 1b f8 c4 cf 96 4e 96 df 23 56 58 |..........N..#VX|<br /> <br /> =MKB verify media key data=<br /> encrypted:<br /> 00000000: 18 ca f5 51 8f 36 ef 2f 7a 49 78 ff 54 40 a5 f1 |...Q.6./zIx.T@..|<br /> decrypted:<br /> 00000000: 01 23 45 67 89 ab cd ef c5 5d 11 08 c3 26 db 48 |.#Eg.....]...&amp;.H|<br /> &lt;/pre&gt;<br /> <br /> ====MKB v21====<br /> <br /> &lt;pre&gt;<br /> glevand@bastion:~/aacs_proc_key$ ./aacs_proc_key -n 0x389 -k ps3_device_keys -u ps3_device_key_u_masks_uvs mkbs/MKB_RW_v21.inf<br /> <br /> =MKB=<br /> type:<br /> 0x00031003<br /> version:<br /> 0x00000015<br /> <br /> MKB U masks and UVs: 552<br /> <br /> =applying subset-difference=<br /> index: 19<br /> UV: 0x00000384<br /> U mask: 0xffffff80<br /> V mask: 0xfffffff8<br /> <br /> =applying device key=<br /> index: 18<br /> UV: 0x00000384<br /> U mask: 0xffffff80<br /> V mask: 0xfffffff8<br /> device key:<br /> 00000000: fb 4a c3 90 09 e8 21 13 d4 5e cf 4b 7e ae a4 67 |.J....!..^.K~..g|<br /> <br /> processing key:<br /> 00000000: 53 fc e7 8e cd 35 2d a5 0d 52 6b 5e e3 d3 d9 6b |S....5-..Rk^...k|<br /> <br /> C value:<br /> 00000000: c0 0c fa bf f0 fe f2 32 77 19 db c4 d8 f8 60 c9 |.......2w.....`.|<br /> <br /> media key:<br /> 00000000: 55 83 aa 69 ff 52 16 83 c2 93 b3 48 03 2a 57 38 |U..i.R.....H.*W8|<br /> <br /> =MKB verify media key data=<br /> encrypted:<br /> 00000000: 12 5b f2 75 c8 f8 05 6b 4f 31 a5 ea 4a 12 9f a9 |.[.u...kO1..J...|<br /> decrypted:<br /> 00000000: 01 23 45 67 89 ab cd ef dc 46 45 b4 79 8d 4f 68 |.#Eg.....FE.y.Oh|<br /> &lt;/pre&gt;<br /> <br /> ====MKB v23====<br /> <br /> &lt;pre&gt;<br /> glevand@debian-hdd:~/aacs_proc_key$ ./aacs_proc_key -n 0x389 -k ps3_device_keys -u ps3_device_key_u_masks_uvs mkbs/MKB_RW_v23.inf <br /> <br /> =MKB=<br /> type:<br /> 0x00031003<br /> version:<br /> 0x00000017<br /> <br /> MKB U masks and UVs: 556<br /> <br /> =applying subset-difference=<br /> index: 17<br /> UV: 0x00000384<br /> U mask: 0xffffffe0<br /> V mask: 0xfffffff8<br /> <br /> =applying device key=<br /> index: 7<br /> UV: 0x00000384<br /> U mask: 0xffffffe0<br /> V mask: 0xfffffff8<br /> device key:<br /> 00000000: 8b f4 fb d9 1a 7f b7 db 85 76 d1 e5 a1 5a 85 44 |.........v...Z.D|<br /> <br /> processing key:<br /> 00000000: c3 22 38 97 6f f4 4a 51 e2 d3 35 53 cf e8 57 72 |.&quot;8.o.JQ..5S..Wr|<br /> <br /> C value:<br /> 00000000: f0 81 d4 93 aa b5 01 1a a7 ff 8e 18 8a 48 8a 2d |.............H.-|<br /> <br /> media key:<br /> 00000000: 02 04 59 d0 7c b5 54 94 bf 46 9b 98 91 1e 43 1f |..Y.|.T..F....C.|<br /> <br /> =MKB verify media key data=<br /> encrypted:<br /> 00000000: 24 a1 27 f9 30 70 25 67 07 2f 2a d4 13 89 0d aa |$.'.0p%g./*.....|<br /> decrypted:<br /> 00000000: 01 23 45 67 89 ab cd ef 21 00 20 84 c4 5f 36 78 |.#Eg....!. .._6x|<br /> &lt;/pre&gt;<br /> <br /> ====MKB v25====<br /> <br /> &lt;pre&gt;<br /> glevand@bastion:~/aacs_proc_key$ ./aacs_proc_key -n 0x389 -k ps3_device_keys -u ps3_device_key_u_masks_uvs mkbs/MKB_RW_v25.inf<br /> <br /> =MKB=<br /> type:<br /> 0x00031003<br /> version:<br /> 0x00000019<br /> <br /> MKB U masks and UVs: 564<br /> <br /> =applying subset-difference=<br /> index: 13<br /> UV: 0x00000384<br /> U mask: 0xffffffe0<br /> V mask: 0xfffffff8<br /> <br /> =applying device key=<br /> index: 7<br /> UV: 0x00000384<br /> U mask: 0xffffffe0<br /> V mask: 0xfffffff8<br /> device key:<br /> 00000000: 8b f4 fb d9 1a 7f b7 db 85 76 d1 e5 a1 5a 85 44 |.........v...Z.D|<br /> <br /> processing key:<br /> 00000000: c3 22 38 97 6f f4 4a 51 e2 d3 35 53 cf e8 57 72 |.&quot;8.o.JQ..5S..Wr|<br /> <br /> C value:<br /> 00000000: 19 62 23 7d 81 01 c2 55 2f 36 20 1b 3e 69 40 10 |.b#}...U/6 .&gt;i@.|<br /> <br /> media key:<br /> 00000000: 70 b5 9f 35 86 5d 18 73 bb 80 c3 2b f7 41 f6 14 |p..5.].s...+.A..|<br /> <br /> =MKB verify media key data=<br /> encrypted:<br /> 00000000: 89 be 1e 1e b1 93 4c f2 2d ac c3 ce ed 10 07 f0 |......L.-.......|<br /> decrypted:<br /> 00000000: 01 23 45 67 89 ab cd ef 3f 5d 87 7a 88 09 db c4 |.#Eg....?].z....|<br /> &lt;/pre&gt;<br /> <br /> ===Documentation===<br /> <br /> * SCSI Specification: [http://www.13thmonkey.org/documentation/SCSI/]<br /> * AACS Specification Common: [http://www.aacsla.com/specifications/specs091/AACS_Spec_Common_0.91.pdf]<br /> * AACS Specification Pre-recorded Video Book [http://www.aacsla.com/specifications/AACS_Spec_Prerecorded_Final_0.951.pdf]<br /> * AACS Tutorial: [http://forum.doom9.org/showthread.php?t=122363]<br /> * AACS Overview: [http://www.cacr.math.uwaterloo.ca/techreports/2007/cacr2007-25.pdf]<br /> <br /> ==CSS==<br /> <br /> ===CSS SPU Module===<br /> <br /> * DVD player on GameOS uses '''CssModule.spu.isoself''' (/dev_flash/bdplayer) to perform CSS authentication<br /> <br /> ====Commands====<br /> <br /> * The SPU module supports max '''0x25''' commands but not all are implemented<br /> * After a command is finished by the SPU module, it sends the status of the command to PPU through '''SPU Out Intr Mbox'''. Value 0 means success.<br /> <br /> =====Generate Host Challenge Key (0x3)=====<br /> <br /> * Generates '''0x10''' bytes of '''host challenge key'''<br /> <br /> =====Set Drive Key1 (0x4)=====<br /> <br /> * Sends '''key1''' of size '''0x5''' returned by DVD drive to the SPU module<br /> <br /> =====Set Drive Challenge Key (0x5)=====<br /> <br /> * Sends '''0x10''' bytes of '''drive challenge key''' to the SPU module<br /> <br /> =====Calculate Host Key2 (0x6)=====<br /> <br /> * Calculates '''key2''' of size '''0x5'''<br /> <br /> =====Get Host Key2 (0x7)=====<br /> <br /> * Returns '''key2''' of size '''0x5'''<br /> <br /> =====Set Disc Key (0x8)=====<br /> <br /> * Sends Disc Key block of size '''0x800''' to the SPU module<br /> <br /> =====Decrypt Sector (0xc)=====<br /> <br /> * Decrypts the passed sector<br /> <br /> ===CSS Salt===<br /> <br /> * It's NOT in clear text in the SPU module, it's obfuscated by xoring '''0xDEAF''' (SONY employees have a sense of humor).<br /> * There are 2 bytes for every salt byte<br /> <br /> Obfuscated:<br /> &lt;pre&gt;<br /> 71 ED 3F A3 DA FE E4 94 40 8C<br /> &lt;/pre&gt;<br /> <br /> Clear text:<br /> &lt;pre&gt;<br /> F4 10 45 A3 E2<br /> &lt;/pre&gt;<br /> <br /> ===PS3 DVD Player Key Index===<br /> <br /> &lt;pre&gt;<br /> 0x69<br /> &lt;/pre&gt;<br /> <br /> ===Documentation===<br /> <br /> * The Content Scrambling System (CSS): [http://www.tinyted.net/eddie/css_auth.html]<br /> <br /> * Cryptanalysis of Contents Scrambling System: [http://www.cs.cmu.edu/~dst/DeCSS/FrankStevenson/analysis.html]<br /> <br /> * Cryptography in Home Entertainment: [http://www.math.ucsd.edu/~crypto/Projects/MarkBarry/index.htm]<br /> <br /> * Patching DVD Firmware: [http://xvi.rpc1.org/Patching%20DVD%20firmware.pdf]<br /> <br /> ==CPRM==<br /> <br /> ===Commands===<br /> <br /> * The SPU module supports '''0x13''' commands.<br /> <br /> ===4C Secret Constant (S-Box)===<br /> <br /> ===Documentation===<br /> <br /> * Cryptomeria C2 Specification: [http://edipermadi.files.wordpress.com/2008/08/cryptomeria-c2-spec.pdf]<br /> <br /> * Cryptoanalysis of C2: [http://caislab.kaist.ac.kr/lecture/2010/spring/cs548/advanced/A05.pdf]<br /> <br /> ==Remarrying BD Drive on OtherOS++==<br /> <br /> ===fdm_spu_module.self===<br /> <br /> * This SPU module can create either P- or S-Block which are sent to BD drive<br /> * '''EID2''' is passed to the SPU module<br /> * A XDR memory buffer of size '''0x1000''' is passed to the SPU module<br /> * 4 bytes at offset 0x10 of the XDR memory buffer contain the type of block which should be produced by the SPU module<br /> * When the SPU module is finished, the XDR memory buffer contains the needed block<br /> * After the S- and P-Blocks are produced by the SPU module, they are decrypted again but with '''DES''' (CBC mode, key length is 64 bits, initialization vector length is 64 bits) before they are sent to BD drive. S$ny cuts the header and the footer of 16 bytes each from final P- and S-blocks before sending them to drive.<br /> <br /> ====Block types====<br /> <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Type !! Description !! BD Drive Buffer ID<br /> |-<br /> | 0x1 || P-Block || 0x2<br /> |-<br /> | 0x2 || S-Block || 0x3<br /> |}<br /> <br /> ===Remarrying===<br /> <br /> ====Preparations====<br /> <br /> * You will need '''ps3dm-utils''' and '''sg3-utils'''<br /> * Dump your '''EID2''' from '''flash''' or with '''ps3dm-utils'''<br /> * First create P- and S-Blocks from your EID2 with kernel module '''fdm_spu_module'''<br /> <br /> ====P-Block====<br /> <br /> Decrypted P-Block (and EID4) contains region settings (see below)<br /> <br /> In decrypted P-Block(bytes 0x30 and 0x32) and in EID4(first byte) these bytes match [[Target ID]]:<br /> {| class=&quot;wikitable sortable&quot; style=&quot;font-size:small; border:2px ridge #999999;&quot;<br /> |-<br /> ! Hex !! bitflag !! [[Target ID]] !! Console Type !! Remarks<br /> |-<br /> | 0xFF || '''11111111''' || {{TID80}} || No BD playback on that [[Target ID]]<br /> |-<br /> | 0xFF || '''11111111''' || {{TID81}} || No BD playback on that [[Target ID]]<br /> |-<br /> | 0xFF || '''11111111''' || {{TID82}} || No BD playback on that [[Target ID]]<br /> |-<br /> | 0x01 || 0000000'''1''' || {{TID83}} || bit 0 (Region 0: Japan?)<br /> |-<br /> | 0x02 || 000000'''1'''0 || {{TID84}} || bit 1 (Region 1: USA &amp; Canada, Bermuda, and US Territories)<br /> |-<br /> | 0x04 || 00000'''1'''00 || {{TID85}} || bit 2 (Region 2: Europe (with the exceptions of Russia, Ukraine, Belarus), South Africa, Swaziland, Middle East, Egypt, Lesotho, and Greenland)<br /> |-<br /> | 0x10 || 000'''1'''0000 || {{TID86}} || bit 4 (Region 3: Southeastern Asia)<br /> |-<br /> | 0x04 || 00000'''1'''00 || {{TID87}} || bit 2 (Region 2: Europe (with the exceptions of Russia, Ukraine, Belarus), South Africa, Swaziland, Middle East, Egypt, Lesotho, and Greenland)<br /> |-<br /> | 0x08 || 0000'''1'''000 || {{TID88}} || bit 3 (Region 4: Latin America and Australia)<br /> |-<br /> | 0x08 || 0000'''1'''000 || {{TID89}} || bit 3 (Region 4: Latin America and Australia)<br /> |-<br /> | 0x20 || 00'''1'''00000 || {{TID8A}} || bit 5 (Region 5: Russia, Asia (non-southeast), and Africa) <br /> |-<br /> | 0x10 || 000'''1'''0000 || {{TID8B}} || bit 4 (Region 3: Southeastern Asia) <br /> |-<br /> | 0x20 || 00'''1'''00000 || {{TID8C}} || bit 5 (Region 5: Russia, Asia (non-southeast), and Africa)<br /> |-<br /> | 0x40 || 0'''1'''000000 || {{TID8D}} || bit 6? (Region 6: China)<br /> |-<br /> | 0x10 || 000'''1'''0000 || {{TID8E}} || bit 4 (Region 3: Southeastern Asia) <br /> |-<br /> | 0x08 || 0000'''1'''000 || {{TID8F}} || bit 3 (Region 4: Latin America and Australia) <br /> |-<br /> | 0xFF || '''11111111''' || {{TIDA0}} || No BD playback on that [[Target ID]]<br /> |-<br /> |}<br /> <br /> =====Creating=====<br /> <br /> =====Sending to BD Drive=====<br /> <br /> ====S-Block====<br /> <br /> =====Creating=====<br /> <br /> =====Sending to BD Drive=====<br /> <br /> ====HRL====<br /> <br /> =====Empty HRL=====<br /> <br /> =====Sending to BD Drive=====<br /> <br /> =VTRM=<br /> Crossreference: [http://wiki.gitbrew.org/wikibrew/PS3:HvReverseEngineering#VTRM gitbrew.org::HV#VTRM] &lt;br /&gt;<br /> <br /> ==VTRM Services==<br /> <br /> ===Store With Update (0x2003)===<br /> <br /> * Used by GameOS BD player to update DRL/CRL hashes<br /> <br /> ===Retrieve (0x2005)===<br /> <br /> * '''Product mode''' is NOT required<br /> * '''0x40''' bytes of data are read from NOR flash, decrypted by SYSCON and returned to the caller<br /> * Used e.g. by GameOS BD player to read SHA1 hashes of DRL and CRL<br /> <br /> ====DRL and CRL Hashes====<br /> <br /> * Written by GameOS BD player during DRL/CRL update<br /> * Read by GameOS BD player<br /> * Hashes are stored encrypted on NOR flash<br /> * Encryption/decryption is done by SYSCON (SYSCON Manager)<br /> <br /> Test with ps3dm-utils:<br /> &lt;pre&gt;<br /> # mount dev_flash3<br /> <br /> glevand@debian-hdd:~/ps3dm-utils$ sudo mount /dev/ps3vflashe /mnt<br /> <br /> # DRL SHA1 hash<br /> <br /> glevand@debian-hdd:~/ps3dm-utils$ sha1sum /mnt/data-revoke/drl/DRL1<br /> 8f0652bc6162a240362f90f1b2e5405bb82ee502 /mnt/data-revoke/drl/DRL1<br /> <br /> # CRL SHA1 hash<br /> <br /> glevand@debian-hdd:~/ps3dm-utils$ sha1sum /mnt/data-revoke/crl/CRL1 <br /> 96791f41f9a76f4d895dd5820db108ec03d19250 /mnt/data-revoke/crl/CRL1<br /> <br /> # Retrieve DRL and CRL SHA1 hashes from VTRM<br /> # DRL hash is first and then follows CRL hash<br /> <br /> glevand@debian-hdd:~/ps3dm-utils$ sudo ./ps3dm_vtrm -l 0x0 -p 0x1070000034000001 /dev/ps3dmproxy retrieve 0<br /> 0x8f 0x06 0x52 0xbc 0x61 0x62 0xa2 0x40 0x36 0x2f 0x90 0xf1 0xb2 0xe5 0x40 0x5b 0xb8 0x2e 0xe5 0x02<br /> 0x96 0x79 0x1f 0x41 0xf9 0xa7 0x6f 0x4d 0x89 0x5d 0xd5 0x82 0x0d 0xb1 0x08 0xec 0x03 0xd1 0x92 0x50<br /> 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00<br /> &lt;/pre&gt;<br /> <br /> ===Backup Flash (0x2012)===<br /> <br /> * Requires enabled '''product mode''' or else service returns always error '''0x5'''<br /> * Reads and returns data from NOR flash beginning at NOR flash offset '''0xec0000'''<br /> <br /> Test with ps3dm-utils:<br /> &lt;pre&gt;<br /> # enable product mode<br /> <br /> # ps3dm_um /dev/ps3dmproxy write_eprom 0x48c07 0x0<br /> /dev/ps3dmproxy: SS retval 0<br /> <br /> # ps3dm_vtrm /dev/ps3dmproxy backup_flash 0 0x200 | hexdump -C<br /> 00000000 53 43 45 49 ff ff ff ff ff ff ff ff ff ff ff ff |SCEIÿÿÿÿÿÿÿÿÿÿÿÿ|<br /> 00000010 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ|<br /> *<br /> 00000200<br /> <br /> # dd if=/dev/ps3nflasha bs=1 count=$((0x100)) skip=$((0xec0000)) | hexdump -C<br /> 00000000 53 43 45 49 ff ff ff ff ff ff ff ff ff ff ff ff |SCEIÿÿÿÿÿÿÿÿÿÿÿÿ|<br /> 00000010 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ|<br /> *<br /> <br /> &lt;/pre&gt;<br /> <br /> ===Flash Address Size (0x2016)===<br /> <br /> * Requires enabled '''product mode''' or else service returns always error '''0x5'''<br /> * Returns 2 64bit values: offset and size of NOR flash region<br /> <br /> Test with ps3dm-utils:<br /> &lt;pre&gt;<br /> # ps3dm_um /dev/ps3dmproxy read_eprom 0x48c07<br /> 0xff<br /> <br /> # ps3dm_vtrm /dev/ps3dmproxy flash_addr_size<br /> /dev/ps3dmproxy: SS retval 5<br /> <br /> # enable product mode<br /> <br /> # ps3dm_um /dev/ps3dmproxy write_eprom 0x48c07 0x0<br /> /dev/ps3dmproxy: SS retval 0<br /> <br /> # ps3dm_um /dev/ps3dmproxy read_eprom 0x48c07<br /> 0x00<br /> <br /> # ps3dm_vtrm /dev/ps3dmproxy flash_addr_size<br /> 0x0000000000000000 0x0000000000040000<br /> &lt;/pre&gt;<br /> <br /> =Revoke List=<br /> Crossreference: [http://wiki.gitbrew.org/wikibrew/PS3:HvReverseEngineering#Revoke_List gitbrew::Revoke List]&lt;br /&gt;<br /> <br /> ==LPAR 1 System Call 0x1004A==<br /> <br /> * Installs new revoke list in LV1<br /> * LPAR 1 processes can use this syscall to install new revoke lists at runtime<br /> * '''lv2ldr''' is loaded by LV1 and used to verify the passed revoke list<br /> * After lv2ldr is done verifying the passed revoke list, it checks for stop code and if it's '''0xB''' then LV1 replaces the old revoke list with the new one<br /> * If the verification of the revoke list was successfull then LV1 installs new revoke list and replaces the old one in the ISO loader table at address '''0x10100'''<br /> <br /> ==rvk_list_verifier==<br /> <br /> * Stop code 0xB means that the passed revoke list is valid.<br /> <br /> &lt;pre&gt;<br /> root@debian-hdd:/home/glevand/rvk_list_verifier# cat /proc/rvk_list_verifier/debug <br /> PPE id (0x0000000000000001) VAS id (0x0000000000000002)<br /> lv1_construct_logical_spe (0x00000000)<br /> SPE id (0x0000000000000033)<br /> lv1_enable_logical_spe (0x00000000)<br /> lv1_set_spe_interrupt_mask(0) (0x00000000)<br /> lv1_set_spe_interrupt_mask(1) (0x00000000)<br /> lv1_set_spe_interrupt_mask(2) (0x00000000)<br /> lv1_set_spe_privilege_state_area_1_register (0x00000000)<br /> ea (0xc000000003f40000) esid (0xc000000008000000) vsid (0x0000408f92c94500)<br /> lv1_get_spe_interrupt_status(0) (0x00000000)<br /> lv1_get_spe_interrupt_status(1) (0x00000000)<br /> lv1_get_spe_interrupt_status(2) (0x00000000)<br /> sleep<br /> lv1_get_spe_interrupt_status(0) (0x00000000)<br /> lv1_get_spe_interrupt_status(1) (0x00000000)<br /> lv1_get_spe_interrupt_status(2) (0x00000000)<br /> out interrupt mbox (0x0000000000000001)<br /> lv1_clear_spe_interrupt_status(2) (0x00000000)<br /> transferring ldr args to LS<br /> waiting until MFC transfers are finished<br /> MFC transfers done<br /> out mbox (0x00000001)<br /> sleep<br /> lv1_get_spe_interrupt_status(0) (0x00000000)<br /> lv1_get_spe_interrupt_status(1) (0x00000000)<br /> lv1_get_spe_interrupt_status(2) (0x00000000)<br /> problem status (0x000b0082)<br /> lv1_destruct_logical_spe (0x00000000)<br /> &lt;/pre&gt;<br /> <br /> <br /> {{Reverse engineering}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=Error_Codes&diff=54151 Error Codes 2019-08-09T14:24:28Z <p>Mysis: </p> <hr /> <div>=Error Codes =<br /> Please update this page with any error codes you find the meaning for.<br /> <br /> == Generic errors ==<br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Name !! Errorcode !! Remarks<br /> |-<br /> | EAGAIN || 0x80010001 || The resource is temporarily unavailable<br /> |-<br /> | EINVAL || 0x80010002 || Invalid argument or flag.<br /> |-<br /> | ENOSYS || 0x80010003 || The feature is not yet implemented // (on Retail/CEX or Debug/DEX)&lt;br /&gt;sys_fsw_connect_event() or sys_fsw_disconnect_event() was executed on a machine other than the Reference Tool<br /> |-<br /> | ENOMEM || 0x80010004 || Memory allocation failed.<br /> |-<br /> | ESRCH || 0x80010005 || The resource with the specified identifier does not exist.<br /> |-<br /> | ENOENT || 0x80010006 || The file does not exist Note : This error can happen when you try to install a pkg that have an invalid name.<br /> |-<br /> | ENOEXEC || 0x80010007 || The file is in unrecognized format / The file is not a valid ELF file. (running a self from a higher sdk version on a lower fw version causes this)<br /> |-<br /> | EDEADLK || 0x80010008 || Resource deadlock is avoided<br /> |-<br /> | EPERM || 0x80010009 || Operation not permitted&lt;br /&gt;An error occurred during the start operation (e.g.: debug self on retail)<br /> |-<br /> | EBUSY || 0x8001000A || The device or resource is busy <br /> |-<br /> | ETIMEDOUT || 0x8001000B || The operation is timed out <br /> |-<br /> | EABORT || 0x8001000C || The operation is aborted <br /> |-<br /> | EFAULT || 0x8001000D || Invalid memory access <br /> |-<br /> | ECHILD || 0x8001000E || Try to access a non existing child process<br /> |-<br /> | ESTAT || 0x8001000F || State of the target thread is invalid <br /> |-<br /> | EALIGN|| 0x80010010 || Alignment is invalid <br /> |-<br /> | EKRESOURCE || 0x80010011 || Shortage of the kernel resources <br /> |-<br /> | EISDIR || 0x80010012 || The file is a directory <br /> |-<br /> | ECANCELED || 0x80010013 || Operation canceled <br /> |-<br /> | EEXIST || 0x80010014 || Entry already exists.(e.g.:&quot;An error occurred during internal memory card creation.&quot;(80010014))<br /> |-<br /> | EISCONN || 0x80010015 || Port is already connected <br /> |-<br /> | ENOTCONN || 0x80010016 || Port is not connected <br /> |-<br /> | EAUTHFAIL || 0x80010017 || Failure in authorizing SELF. Program authentication fail (Error starting BluRay game)<br /> |-<br /> | ENOTMSELF || 0x80010018 || The file is not MSELF <br /> |-<br /> | ESYSVER || 0x80010019 || System version error <br /> |-<br /> | EAUTHFATAL || 0x8001001A || Fatal system error occurred while authorizing SELF. SELF auth failure <br /> |-<br /> | EDOM || 0x8001001B || Math domain violation <br /> |-<br /> | ERANGE || 0x8001001C || Math range violation <br /> |-<br /> | EILSEQ || 0x8001001D || Illegal multi-byte sequence in input <br /> |-<br /> | EFPOS || 0x8001001E || File position error. <br /> |-<br /> | EINTR || 0x8001001F || Syscall was interrupted. <br /> |-<br /> | EFBIG || 0x80010020 || File too large. <br /> |-<br /> | EMLINK || 0x80010021 || Too many links. <br /> |-<br /> | ENFILE || 0x80010022 || File table overflow. <br /> |-<br /> | ENOSPC || 0x80010023 || No space left on device. <br /> |-<br /> | ENOTTY || 0x80010024 || Not a TTY. <br /> |-<br /> | EPIPE || 0x80010025 || Broken pipe. <br /> |-<br /> | EROFS || 0x80010026 || Read-only filesystem (write fail).<br /> |-<br /> | ESPIPE || 0x80010027 || Illegal seek (e.g. seek on pipe).<br /> |-<br /> | E2BIG || 0x80010028 || Arg list too long. <br /> |-<br /> | EACCES || 0x80010029 || Access violation. <br /> |-<br /> | EBADF || 0x8001002A || Invalid file descriptor. <br /> |-<br /> | EIO || 0x8001002B || Filesystem mounting failed (actually IO error...EIO)<br /> |-<br /> | EMFILE || 0x8001002C || Too many files open. <br /> |-<br /> | ENODEV || 0x8001002D || No device. <br /> |-<br /> | ENOTDIR || 0x8001002E || Not a directory. <br /> |-<br /> | ENXIO || 0x8001002F || No such device or IO. <br /> |-<br /> | EXDEV || 0x80010030 || Cross-device link error. <br /> |-<br /> | EBADMSG || 0x80010031 || Bad Message. <br /> |-<br /> | EINPROGRESS || 0x80010032 || In progress. <br /> |-<br /> | EMSGSIZE || 0x80010033 || Message size error. <br /> |-<br /> | ENAMETOOLONG || 0x80010034 || Name too long. <br /> |-<br /> | ENOLCK || 0x80010035 || No lock. <br /> |-<br /> | ENOTEMPTY || 0x80010036 || Not empty. <br /> |-<br /> | EUNSUP || 0x80010037 || Not supported. <br /> |-<br /> | EFSSPECIFIC || 0x80010038 || File-system specific error. <br /> |-<br /> | EOVERFLOW || 0x80010039 || Overflow occured. <br /> |-<br /> | ENOTMOUNTED || 0x8001003A || Filesystem not mounted. &quot;An error occurred during the install operation&quot;. E.G.: unplugged usb during install.<br /> |-<br /> | ENOTSDATA || 0x8001003B || Not SData. <br /> |-<br /> | ESDKVER || 0x8001003C || Incorrect version in sys_load_param.<br /> |-<br /> | ENOLICDISC || 0x8001003D || Pointer is null. When related to PARAM.SFO : &quot;to play this game, you must insert the following disc. Insert the disc, and then start the game again. (8001003D)&quot;: can be resolved by pointing to (only) other PARAM.SFO with Lxx folder. In this case, it s similar than 0x8001003E but with some PARAM.SFO parameter (TITLE_ID?) embedded. Refresh it by using this Lxx or others [[PARAM.SFO#Tips_.26_Tricks | Tricks]].<br /> |-<br /> | ENOLICENT || 0x8001003E || Pointer is null. When related to DISC.SFO (and PARAM.SFO) : &quot;to play this game, you must insert the following disc. Insert the disc, and then start the game again. (8001003E) Install disc&quot; : can be resolved by launching BD emulator, or remove the disc.sfo if there are one, using the original disc or using the [[Talk:PARAM.SFO#Lxx:_License_Area | L** folder]]<br /> |-<br /> | || 0x8001003F || <br /> |-<br /> |}<br /> <br /> == PSN Network errors ==<br /> &lt;!--// This is taken from a header inside the SDK, list seems complete.<br /> I stripped some japanese comments which were useless. <br /> Others left there contain some reference, so they are left there. <br /> The error code list aids a lot towards reversing vsh.self, <br /> you can determin various functions character from the error codes within it. //--&gt;<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Name !! Errorcode !! Remarks<br /> |-<br /> !colspan=&quot;3&quot; | NP Authentication Error (client runtime errors) <br /> |-<br /> | SCE_NP_AUTH_EINVAL || 0x8002a002 || <br /> |-<br /> | SCE_NP_AUTH_ENOMEM || 0x8002a004 || <br /> |-<br /> | SCE_NP_AUTH_ESRCH || 0x8002a005 || <br /> |-<br /> | SCE_NP_AUTH_EBUSY || 0x8002a00a || <br /> |-<br /> | SCE_NP_AUTH_EABORT || 0x8002a00c || <br /> |-<br /> | SCE_NP_AUTH_EEXIST || 0x8002a014 || <br /> |-<br /> | SCE_NP_AUTH_EINVALID_ARGUMENT || 0x8002a015 || <br /> |-<br /> !colspan=&quot;3&quot; | community client library error (0x8002a100 - 0x8002a1ff)<br /> |-<br /> | SCE_NP_COMMUNITY_ERROR_ALREADY_INITIALIZED || 0x8002a101 || <br /> |-<br /> | SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED || 0x8002a102 || <br /> |-<br /> | SCE_NP_COMMUNITY_ERROR_OUT_OF_MEMORY || 0x8002a103 || <br /> |-<br /> | SCE_NP_COMMUNITY_ERROR_INVALID_ARGUMENT || 0x8002a104 || <br /> |-<br /> | SCE_NP_COMMUNITY_ERROR_NO_TITLE_SET || 0x8002a105 || <br /> |-<br /> | SCE_NP_COMMUNITY_ERROR_NO_LOGIN || 0x8002a106 || <br /> |-<br /> | SCE_NP_COMMUNITY_ERROR_TOO_MANY_OBJECTS || 0x8002a107 ||<br /> |-<br /> | SCE_NP_COMMUNITY_ERROR_TRANSACTION_STILL_REFERENCED || 0x8002a108 || (obsolete)<br /> |-<br /> | SCE_NP_COMMUNITY_ERROR_ABORTED || 0x8002a109 || <br /> |-<br /> | SCE_NP_COMMUNITY_ERROR_NO_RESOURCE || 0x8002a10a || <br /> |-<br /> | SCE_NP_COMMUNITY_ERROR_BAD_RESPONSE || 0x8002a10b || <br /> |-<br /> | SCE_NP_COMMUNITY_ERROR_BODY_TOO_LARGE || 0x8002a10c || <br /> |-<br /> | SCE_NP_COMMUNITY_ERROR_HTTP_SERVER || 0x8002a10d || <br /> |-<br /> | SCE_NP_COMMUNITY_ERROR_INVALID_SIGNATURE || 0x8002a10e || <br /> |-<br /> | SCE_NP_COMMUNITY_ERROR_TIMEOUT || 0x8002a10f || <br /> |-<br /> | SCE_NP_COMMUNITY_ERROR_INSUFFICIENT_ARGUMENT || 0x8002a1a1 || <br /> |-<br /> | SCE_NP_COMMUNITY_ERROR_UNKNOWN_TYPE || 0x8002a1a2 || <br /> |-<br /> | SCE_NP_COMMUNITY_ERROR_INVALID_ID || 0x8002a1a3 || <br /> |-<br /> | SCE_NP_COMMUNITY_ERROR_INVALID_ONLINE_ID || 0x8002a1a4 || <br /> |-<br /> | SCE_NP_COMMUNITY_ERROR_INVALID_TICKET || 0x8002a1a5 || <br /> |-<br /> | SCE_NP_COMMUNITY_ERROR_CLIENT_ALREADY_EXISTS&lt;br /&gt;SCE_NP_COMMUNITY_ERROR_CLIENT_HANDLE_ALREADY_EXISTS || 0x8002a1a6 || <br /> |-<br /> | SCE_NP_COMMUNITY_ERROR_INSUFFICIENT_BUFFER || 0x8002a1a7 || <br /> |-<br /> | SCE_NP_COMMUNITY_ERROR_INVALID_TYPE || 0x8002a1a8 || <br /> |-<br /> | SCE_NP_COMMUNITY_ERROR_TRANSACTION_ALREADY_END || 0x8002a1a9 || <br /> |-<br /> | SCE_NP_COMMUNITY_ERROR_TRANSACTION_BEFORE_END || 0x8002a1aa || <br /> |-<br /> | SCE_NP_COMMUNITY_ERROR_BUSY_BY_ANOTEHR_TRANSACTION || 0x8002a1ab || <br /> |-<br /> | SCE_NP_COMMUNITY_ERROR_INVALID_ALIGNMENT || 0x8002a1ac || <br /> |-<br /> | SCE_NP_COMMUNITY_ERROR_TOO_MANY_NPID || 0x8002a1ad || <br /> |-<br /> | SCE_NP_COMMUNITY_ERROR_TOO_LARGE_RANGE || 0x8002a1ae || <br /> |-<br /> | SCE_NP_COMMUNITY_ERROR_INVALID_PARTITION || 0x8002a1af || <br /> |-<br /> | SCE_NP_COMMUNITY_ERROR_TOO_MANY_SLOTID || 0x8002a1b1<br /> |-<br /> | SCE_NP_COMMUNITY_ERROR_INVALID_PSHANDLE || 0x8002a1a4 || obsolete (replaced by SCE_NP_COMMUNITY_ERROR_INVALID_ONLINE_ID)<br /> |-<br /> !colspan=&quot;3&quot; | NP Authentication Error (server returned errors)<br /> |-<br /> | SCE_NP_AUTH_ERROR_SERVICE_END || 0x8002a200 || <br /> |-<br /> | SCE_NP_AUTH_ERROR_SERVICE_DOWN || 0x8002a201 || <br /> |-<br /> | SCE_NP_AUTH_ERROR_SERVICE_BUSY || 0x8002a202 || <br /> |-<br /> | SCE_NP_AUTH_ERROR_SERVER_MAINTENANCE || 0x8002a203 || <br /> |-<br /> | SCE_NP_AUTH_ERROR_INVALID_DATA_LENGTH || 0x8002a210 || <br /> |-<br /> | SCE_NP_AUTH_ERROR_INVALID_USER_AGENT || 0x8002a211 || <br /> |-<br /> | SCE_NP_AUTH_ERROR_INVALID_VERSION || 0x8002a212 || <br /> |-<br /> | SCE_NP_AUTH_ERROR_INVALID_SERVICE_ID || 0x8002a220 || <br /> |-<br /> | SCE_NP_AUTH_ERROR_INVALID_CREDENTIAL || 0x8002a221 || <br /> |-<br /> | SCE_NP_AUTH_ERROR_INVALID_ENTITLEMENT_ID || 0x8002a222 || <br /> |-<br /> | SCE_NP_AUTH_ERROR_INVALID_CONSUMED_COUNT || 0x8002a223 || <br /> |-<br /> | SCE_NP_AUTH_ERROR_INVALID_CONSOLE_ID || 0x8002a224 || Happens when you try to sign into retail [[environments|environment]] with CEX2DEX'ed console<br /> |-<br /> | SCE_NP_AUTH_ERROR_CONSOLE_ID_SUSPENDED || 0x8002a227 || <br /> |-<br /> | SCE_NP_AUTH_ERROR_ACCOUNT_CLOSED || 0x8002a230 || <br /> |-<br /> | SCE_NP_AUTH_ERROR_ACCOUNT_SUSPENDED || 0x8002a231 || <br /> |-<br /> | SCE_NP_AUTH_ERROR_ACCOUNT_RENEW_EULA || 0x8002a232 || <br /> |-<br /> | SCE_NP_AUTH_ERROR_ACCOUNT_RENEW_ACCOUNT1 || 0x8002a240 || <br /> |-<br /> | SCE_NP_AUTH_ERROR_ACCOUNT_RENEW_ACCOUNT2 || 0x8002a241 || <br /> |-<br /> | SCE_NP_AUTH_ERROR_ACCOUNT_RENEW_ACCOUNT3 || 0x8002a242 || <br /> |-<br /> | SCE_NP_AUTH_ERROR_ACCOUNT_RENEW_ACCOUNT4 || 0x8002a243 || <br /> |-<br /> | SCE_NP_AUTH_ERROR_ACCOUNT_RENEW_ACCOUNT5 || 0x8002a244 || <br /> |-<br /> | SCE_NP_AUTH_ERROR_ACCOUNT_RENEW_ACCOUNT6 || 0x8002a245 || <br /> |-<br /> | SCE_NP_AUTH_ERROR_ACCOUNT_RENEW_ACCOUNT7 || 0x8002a246 || <br /> |-<br /> | SCE_NP_AUTH_ERROR_ACCOUNT_RENEW_ACCOUNT8 || 0x8002a247 || <br /> |-<br /> | SCE_NP_AUTH_ERROR_ACCOUNT_RENEW_ACCOUNT9 || 0x8002a248 || <br /> |-<br /> | SCE_NP_AUTH_ERROR_ACCOUNT_RENEW_ACCOUNT10 || 0x8002a249 || <br /> |-<br /> | SCE_NP_AUTH_ERROR_ACCOUNT_RENEW_ACCOUNT11 || 0x8002a24a || <br /> |-<br /> | SCE_NP_AUTH_ERROR_ACCOUNT_RENEW_ACCOUNT12 || 0x8002a24b || <br /> |-<br /> | SCE_NP_AUTH_ERROR_ACCOUNT_RENEW_ACCOUNT13 || 0x8002a24c || <br /> |-<br /> | SCE_NP_AUTH_ERROR_ACCOUNT_RENEW_ACCOUNT14 || 0x8002a24d || <br /> |-<br /> | SCE_NP_AUTH_ERROR_ACCOUNT_RENEW_ACCOUNT15 || 0x8002a24e || <br /> |-<br /> | SCE_NP_AUTH_ERROR_ACCOUNT_RENEW_ACCOUNT16&lt;br /&gt;SCE_NP_AUTH_ERROR_SUB_ACCOUNT_RENEW_EULA || 0x8002a24f || <br /> |-<br /> | SCE_NP_AUTH_ERROR_SUB_ACCOUNT_PW_???&lt;br /&gt;SCE_NP_AUTH_ERROR_PASSWORD_RESET_REQUIRED || 0x8002a260 || occours when you try to log in with wrong?/old? or not-renewed? password. fix: xmb-&gt;psn-&gt;forgot my pass-&gt;reset via email-&gt;confirm<br /> |-<br /> | SCE_NP_AUTH_ERROR_UNKNOWN || 0x8002a280 || When privacypatching with MFW Builder partly and try to sign in spoofed<br /> |-<br /> !colspan=&quot;3&quot; | NP Core Server Error<br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_BASE || 0x8002a300 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_BAD_FORMAT || 0x8002a301 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_BAD_NAMESPACE_PREFIX || 0x8002a302 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_CONFLICT || 0x8002a303 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_CONNECTION_TIMEOUT || 0x8002a304 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_HOST_GONE || 0x8002a305 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_HOST_UNKNOWN || 0x8002a306 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_IMPROPER_ADDRESSING || 0x8002a307 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_INTERNAL_SERVER_ERROR || 0x8002a308 || PSN dropped out with this error after pulled [[4.45-1-CEX]] before [[4.45-2-CEX]] release<br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_INVALID_FROM || 0x8002a309 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_INVALID_ID || 0x8002a30a || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_INVALID_NAMESPACE || 0x8002a30b || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_INVALID_XML || 0x8002a30c || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_NOT_AUTHORIZED || 0x8002a30d || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_POLICY_VIOLATION || 0x8002a30e || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_REMOTE_CONNECTION_FAILED || 0x8002a30f || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_RESOURCE_CONSTRAINT || 0x8002a310 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_RESTRICTED_XML || 0x8002a311 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_SEE_OTHER_HOST || 0x8002a312 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_SYSTEM_SHUTDOWN || 0x8002a313 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_UNDEFINED_CONDITION || 0x8002a314 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_UNSUPPORTED_ENCODING || 0x8002a315 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_UNSUPPORTED_STANZA_TYPE || 0x8002a316 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_UNSUPPORTED_VERSION || 0x8002a317 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_XML_NOT_WELL_FORMED || 0x8002a318 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_UNSUPPORTED_CLIENT_VERSION || 0x8002a319 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_INVALID_ACCOUNT_ID || 0x8002a31a || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_INVALID_JID_NODE || 0x8002a31b || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_BANNED_TICKET || 0x8002a31c || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_SASL_ABORTED || 0x8002a320 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_SASL_INCORRECT_ENCODING || 0x8002a321 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_SASL_INVALID_AUTHORIZED || 0x8002a322 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_SASL_INVALID_MECHANISM || 0x8002a323 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_SASL_MECHANISM_TOO_WEAK || 0x8002a324 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_SASL_NOT_AUTHORIZED || 0x8002a325 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_SASL_TEMPORARY_AUTH_FAILURE || 0x8002a326 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_SASL_INVALID_TICKET_SIGNATURE || 0x8002a327 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_SASL_EXPIRED_TICKET || 0x8002a328 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_SASL_BANNED || 0x8002a329 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_SASL_DOMAIN_NOT_SUPPORTED || 0x8002a32a || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_SASL_INVALID_JID || 0x8002a32b || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_BAD_REQUEST || 0x8002a330 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_CONFLICT || 0x8002a331 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_FEATURE_NOT_IMPLEMENTED || 0x8002a332 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_FORBIDDEN || 0x8002a333 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_GONE || 0x8002a334 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_INTERNAL_SERVER_ERROR || 0x8002a335 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_ITEM_NOT_FOUND || 0x8002a336 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_JID_MALFORMED || 0x8002a337 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_NOT_ACCEPTABLE || 0x8002a338 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_NOT_ALLOWED || 0x8002a339 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_NOT_AUTHORIZED || 0x8002a33a <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_PAYMENT_REQUIRED || 0x8002a33b || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_RECIPIENT_UNAVAILABLE || 0x8002a33c || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_REDIRECT || 0x8002a33d || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_REGISTRATION_REQUIRED || 0x8002a33e || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_REMOTE_SERVER_NOT_FOUND || 0x8002a33f || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_REMOTE_SERVER_TIMEOUT || 0x8002a340 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_RESOURCE_CONSTRAINT || 0x8002a341 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_SERVICE_UNAVAILABLE || 0x8002a342 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_SUBSCRIPTION_REQUIRED || 0x8002a343 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_UNDEFINED_CONDITION || 0x8002a344 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_UNEXPECTED_REQUEST || 0x8002a345 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_NO_SUCH_LOBBY || 0x8002a346 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_NO_SUCH_ROOM || 0x8002a347 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_NO_SUCH_USER || 0x8002a348 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_MUC_NO_SPACE || 0x8002a349 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_MAX_ROSTER || 0x8002a34a || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_MUC_SERVICE_UNAVAILABLE || 0x8002a34b || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_MUC_RESOURCE_CONSTRAINT || 0x8002a34c || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_MUC_NOT_AUTHORIZED || 0x8002a34d || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_MUC_ROOM_UNAVAILABLE || 0x8002a34e || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_MUC_MAX || 0x8002a34f || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_BAN || 0x8002a350 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_FRIENDLIST_MISMATCH || 0x8002a351 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_FRIENDLIST_MAINTENANCE || 0x8002a352 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_FRIENDLIST_NOT_FOUND || 0x8002a353 || <br /> |-<br /> | SCE_NP_CORE_SERVER_ERROR_STANZA_OPTIONAL || 0x8002a3ff || <br /> |-<br /> <br /> <br /> <br /> !colspan=&quot;3&quot; | community server error (0x8002a400 - 0x8002a4ff)<br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_BAD_REQUEST || 0x8002a401 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_INVALID_TICKET || 0x8002a402 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_INVALID_SIGNATURE || 0x8002a403 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_EXPIRED_TICKET || 0x8002a404 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_INVALID_NPID || 0x8002a405 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_FORBIDDEN || 0x8002a406 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_INTERNAL_SERVER_ERROR || 0x8002a407 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_VERSION_NOT_SUPPORTED || 0x8002a408 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_SERVICE_UNAVAILABLE || 0x8002a409 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_PLAYER_BANNED || 0x8002a40a || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_CENSORED || 0x8002a40b || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_RANKING_RECORD_FORBIDDEN || 0x8002a40c || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_USER_PROFILE_NOT_FOUND || 0x8002a40d || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_UPLOADER_DATA_NOT_FOUND || 0x8002a40e || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_QUOTA_MASTER_NOT_FOUND || 0x8002a40f || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_RANKING_TITLE_NOT_FOUND || 0x8002a410 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_BLACKLISTED_USER_ID || 0x8002a411 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_GAME_RANKING_NOT_FOUND || 0x8002a412 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_RANKING_STORE_NOT_FOUND || 0x8002a414 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_NOT_BEST_SCORE || 0x8002a415 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_LATEST_UPDATE_NOT_FOUND || 0x8002a416 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_RANKING_BOARD_MASTER_NOT_FOUND || 0x8002a417 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_RANKING_GAME_DATA_MASTER_NOT_FOUND || 0x8002a418 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_INVALID_ANTICHEAT_DATA || 0x8002a419 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_TOO_LARGE_DATA || 0x8002a41a || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_NO_SUCH_USER_NPID || 0x8002a41b || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_INVALID_ENVIRONMENT || 0x8002a41d || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_INVALID_ONLINE_NAME_CHARACTER || 0x8002a41f || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_INVALID_ONLINE_NAME_LENGTH || 0x8002a420 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_INVALID_ABOUT_ME_CHARACTER || 0x8002a421 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_INVALID_ABOUT_ME_LENGTH || 0x8002a422 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_INVALID_SCORE || 0x8002a423 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_OVER_THE_RANKING_LIMIT || 0x8002a424 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_FAIL_TO_CREATE_SIGNATURE || 0x8002a426 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_RANKING_MASTER_INFO_NOT_FOUND || 0x8002a427 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_OVER_THE_GAME_DATA_LIMIT || 0x8002a428 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_SELF_DATA_NOT_FOUND || 0x8002a42a || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_USER_NOT_ASSIGNED || 0x8002a42b || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_GAME_DATA_ALREADY_EXISTS || 0x8002a42c || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_TOO_MANY_RESULTS || 0x8002a42d || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_NOT_RECORDABLE_VERSION || 0x8002a42e || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_USER_STORAGE_TITLE_MASTER_NOT_FOUND || 0x8002a448 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_INVALID_VIRTUAL_USER || 0x8002a449 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_USER_STORAGE_DATA_NOT_FOUND || 0x8002a44a || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_INVALID_AVATAR_PAP || 0x8002a457 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_NON_PLUS_MEMBER || 0x8002a45d || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_UNMATCH_SEQUENCE || 0x8002a45e || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_SAVEDATA_NOT_FOUND || 0x8002a45f || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_TOO_MANY_SAVEDATA_FILES || 0x8002a460 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_TOO_MUCH_TOTAL_SAVEDATA_SIZE || 0x8002a461 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_NOT_YET_DOWNLOADABLE || 0x8002a462 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_BLACKLISTED_TITLE || 0x8002a468 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_TOO_LARGE_ICONDATA || 0x8002a469 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_TOO_LARGE_SAVEDATA || 0x8002a46a || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_UNMATCH_SIGNATURE || 0x8002a46b || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_UNMATCH_MD5SUM || 0x8002a46c || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_TOO_MUCH_SAVEDATA_SIZE || 0x8002a46d || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_CONDITIONS_NOT_SATISFIED || 0x8002a473 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_UNSUPPORTED_PLATFORM || 0x8002a478 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_MATCHING_BEFORE_SERVICE || 0x8002a4a0 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_MATCHING_END_OF_SERVICE || 0x8002a4a1 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_MATCHING_MAINTENANCE || 0x8002a4a2 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_RANKING_BEFORE_SERVICE || 0x8002a4a3 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_RANKING_END_OF_SERVICE || 0x8002a4a4 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_RANKING_MAINTENANCE || 0x8002a4a5 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_NO_SUCH_TITLE || 0x8002a4a6 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_TROPHY_BEFORE_SERVICE || 0x8002a4a7 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_TROPHY_END_OF_SERVICE || 0x8002a4a8 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_TROPHY_MAINTENANCE || 0x8002a4a9 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_TITLE_USER_STORAGE_BEFORE_SERVICE || 0x8002a4aa || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_TITLE_USER_STORAGE_END_OF_SERVICE || 0x8002a4ab || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_TITLE_USER_STORAGE_MAINTENANCE || 0x8002a4ac || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_FSR_BEFORE_SERVICE || 0x8002a4ad || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_FSR_END_OF_SERVICE || 0x8002a4ae || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_FSR_MAINTENANCE || 0x8002a4af || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_UBS_BEFORE_SERVICE || 0x8002a4b0 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_UBS_END_OF_SERVICE || 0x8002a4b1 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_UBS_MAINTENANCE || 0x8002a4b2 || <br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_BASIC_BLACKLISTED_USER_ID || 0x8002a4b3 || <br /> |-<br /> !colspan=&quot;3&quot; | Unspecified Error<br /> |-<br /> | SCE_NP_COMMUNITY_SERVER_ERROR_UNSPECIFIED || 0x8002a4ff || <br /> |-<br /> !colspan=&quot;3&quot; | NP Core Error <br /> |-<br /> | SCE_NP_CORE_UTIL_ERROR_INVALID_ARGUMENT || 0x8002a501 || <br /> |-<br /> | SCE_NP_CORE_UTIL_ERROR_OUT_OF_MEMORY || 0x8002a502 || <br /> |-<br /> | SCE_NP_CORE_UTIL_ERROR_INSUFFICIENT || 0x8002a503 || <br /> |-<br /> | SCE_NP_CORE_UTIL_ERROR_PARSER_FAILED || 0x8002a504 || <br /> |-<br /> | SCE_NP_CORE_UTIL_ERROR_INVALID_PROTOCOL_ID || 0x8002a505 || <br /> |-<br /> | SCE_NP_CORE_UTIL_ERROR_INVALID_EXTENSION || 0x8002a506 || <br /> |-<br /> | SCE_NP_CORE_UTIL_ERROR_INVALID_TEXT || 0x8002a507 || <br /> |-<br /> | SCE_NP_CORE_UTIL_ERROR_UNKNOWN_TYPE || 0x8002a508 || <br /> |-<br /> | SCE_NP_CORE_UTIL_ERROR_UNKNOWN || 0x8002a509 || <br /> |-<br /> | SCE_NP_CORE_PARSER_ERROR_NOT_INITIALIZED || 0x8002a511 || <br /> |-<br /> | SCE_NP_CORE_PARSER_ERROR_ALREADY_INITIALIZED || 0x8002a512 || <br /> |-<br /> | SCE_NP_CORE_PARSER_ERROR_OUT_OF_MEMORY || 0x8002a513 || <br /> |-<br /> | SCE_NP_CORE_PARSER_ERROR_INSUFFICIENT || 0x8002a514 || <br /> |-<br /> | SCE_NP_CORE_PARSER_ERROR_INVALID_FORMAT || 0x8002a515 || <br /> |-<br /> | SCE_NP_CORE_PARSER_ERROR_INVALID_ARGUMENT || 0x8002a516 || <br /> |-<br /> | SCE_NP_CORE_PARSER_ERROR_INVALID_HANDLE || 0x8002a517 || <br /> |-<br /> | SCE_NP_CORE_PARSER_ERROR_INVALID_ICON || 0x8002a518 || <br /> |-<br /> | SCE_NP_CORE_PARSER_ERROR_UNKNOWN || 0x8002a519 || <br /> |-<br /> | SCE_NP_CORE_ERROR_ALREADY_INITIALIZED || 0x8002a521 || <br /> |-<br /> | SCE_NP_CORE_ERROR_NOT_INITIALIZED || 0x8002a522 || <br /> |-<br /> | SCE_NP_CORE_ERROR_INVALID_ARGUMENT || 0x8002a523 || <br /> |-<br /> | SCE_NP_CORE_ERROR_OUT_OF_MEMORY || 0x8002a524 || <br /> |-<br /> | SCE_NP_CORE_ERROR_ID_NOT_AVAILABLE || 0x8002a525 || <br /> |-<br /> | SCE_NP_CORE_ERROR_USER_OFFLINE || 0x8002a526 || <br /> |-<br /> | SCE_NP_CORE_ERROR_SESSION_RUNNING || 0x8002a527 || <br /> |-<br /> | SCE_NP_CORE_ERROR_SESSION_NOT_ESTABLISHED || 0x8002a528 || <br /> |-<br /> | SCE_NP_CORE_ERROR_SESSION_INVALID_STATE || 0x8002a529 || <br /> |-<br /> | SCE_NP_CORE_ERROR_SESSION_ID_TOO_LONG || 0x8002a52a || <br /> |-<br /> | SCE_NP_CORE_ERROR_SESSION_INVALID_NAMESPACE || 0x8002a52b || <br /> |-<br /> | SCE_NP_CORE_ERROR_CONNECTION_TIMEOUT || 0x8002a52c || <br /> |-<br /> | SCE_NP_CORE_ERROR_GETSOCKOPT || 0x8002a52d || <br /> |-<br /> | SCE_NP_CORE_ERROR_SSL_NOT_INITIALIZED || 0x8002a52e || <br /> |-<br /> | SCE_NP_CORE_ERROR_SSL_ALREADY_INITIALIZED || 0x8002a52f || <br /> |-<br /> | SCE_NP_CORE_ERROR_SSL_NO_CERT || 0x8002a530 || <br /> |-<br /> | SCE_NP_CORE_ERROR_SSL_NO_TRUSTWORTHY_CA || 0x8002a531 || <br /> |-<br /> | SCE_NP_CORE_ERROR_SSL_INVALID_CERT || 0x8002a532 || <br /> |-<br /> | SCE_NP_CORE_ERROR_SSL_CERT_VERIFY || 0x8002a533 || <br /> |-<br /> | SCE_NP_CORE_ERROR_SSL_CN_CHECK || 0x8002a534 || <br /> |-<br /> | SCE_NP_CORE_ERROR_SSL_HANDSHAKE_FAILED || 0x8002a535 || <br /> |-<br /> | SCE_NP_CORE_ERROR_SSL_SEND || 0x8002a536 || <br /> |-<br /> | SCE_NP_CORE_ERROR_SSL_RECV || 0x8002a537 || <br /> |-<br /> | SCE_NP_CORE_ERROR_SSL_CREATE_CTX || 0x8002a538 || <br /> |-<br /> | SCE_NP_CORE_ERROR_PARSE_PEM || 0x8002a539 || <br /> |-<br /> | SCE_NP_CORE_ERROR_INVALID_INITIATE_STREAM || 0x8002a53a || <br /> |-<br /> | SCE_NP_CORE_ERROR_SASL_NOT_SUPPORTED || 0x8002a53b || <br /> |-<br /> | SCE_NP_CORE_ERROR_NAMESPACE_ALREADY_EXISTS || 0x8002a53c || <br /> |-<br /> | SCE_NP_CORE_ERROR_FROM_ALREADY_EXISTS || 0x8002a53d || <br /> |-<br /> | SCE_NP_CORE_ERROR_MODULE_NOT_REGISTERED || 0x8002a53e || <br /> |-<br /> | SCE_NP_CORE_ERROR_MODULE_FROM_NOT_FOUND || 0x8002a53f || <br /> |-<br /> | SCE_NP_CORE_ERROR_UNKNOWN_NAMESPACE || 0x8002a540 || <br /> |-<br /> | SCE_NP_CORE_ERROR_INVALID_VERSION || 0x8002a541 || <br /> |-<br /> | SCE_NP_CORE_ERROR_LOGIN_TIMEOUT || 0x8002a542 || <br /> |-<br /> | SCE_NP_CORE_ERROR_TOO_MANY_SESSIONS || 0x8002a543 || <br /> |-<br /> | SCE_NP_CORE_ERROR_SENDLIST_NOT_FOUND || 0x8002a544 || <br /> |-<br /> | SCE_NP_CORE_ERROR_NO_ID || 0x8002a545 || <br /> |-<br /> | SCE_NP_CORE_ERROR_LOAD_CERTS || 0x8002a546 || <br /> |-<br /> | SCE_NP_CORE_ERROR_NET_SELECT || 0x8002a547 || <br /> |-<br /> | SCE_NP_CORE_ERROR_DISCONNECTED || 0x8002a548 || <br /> |-<br /> | SCE_NP_CORE_ERROR_TICKET_TOO_SMALL || 0x8002a549 || <br /> |-<br /> | SCE_NP_CORE_ERROR_INVALID_TICKET || 0x8002a54a || <br /> |-<br /> | SCE_NP_CORE_ERROR_INVALID_ONLINEID&lt;br /&gt;SCE_NP_CORE_ERROR_INVALID_PSHANDLE || 0x8002a54b || <br /> |-<br /> | SCE_NP_CORE_ERROR_GETHOSTBYNAME || 0x8002a54c || <br /> |-<br /> | SCE_NP_CORE_ERROR_UNDEFINED_STREAM_ERROR || 0x8002a54d || <br /> |-<br /> | SCE_NP_CORE_ERROR_INTERNAL || 0x8002a5ff || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EPERM || 0x8002ad01 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ENOENT || 0x8002ad02 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ESRCH || 0x8002ad03 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EINTR || 0x8002ad04 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EIO || 0x8002ad05 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ENXIO || 0x8002ad06 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_E2BIG || 0x8002ad07 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ENOEXC || 0x8002ad08 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EBADF || 0x8002ad09 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ECHILD || 0x8002ad0a || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EDEADLK || 0x8002ad0b || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ENOMEM || 0x8002ad0c || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EACCES || 0x8002ad0d || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EFAULT || 0x8002ad0e || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ENOTBLK || 0x8002ad0f || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EBUSY || 0x8002ad10 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EEXIST || 0x8002ad11 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EXDEV || 0x8002ad12 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ENODEV || 0x8002ad13 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ENOTDIR || 0x8002ad14 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EISDIR || 0x8002ad15 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EINVAL || 0x8002ad16 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ENFILE || 0x8002ad17 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EMFILE || 0x8002ad18 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ENOTTY || 0x8002ad19 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ETXTBSY || 0x8002ad1a || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EFBIG || 0x8002ad1b || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ENOSPC || 0x8002ad1c || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ESPIPE || 0x8002ad1d || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EROFS || 0x8002ad1e || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EMLINK || 0x8002ad1f || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EPIPE || 0x8002ad20 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EDOM || 0x8002ad21 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ERANGE || 0x8002ad22 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EAGAIN || 0x8002ad23 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EINPROGRESS || 0x8002ad24 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EALREADY || 0x8002ad25 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ENOTSOCK || 0x8002ad26 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EDESTADDRREQ || 0x8002ad27 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EMSGSIZE || 0x8002ad28 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EPROTOTYPE || 0x8002ad29 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ENOPROTOOPT || 0x8002ad2a || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EPROTONOSUPPORT || 0x8002ad2b || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ESOCKTNOSUPPORT || 0x8002ad2c || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EOPNOTSUPP || 0x8002ad2d || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EPFNOSUPPORT || 0x8002ad2e || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EAFNOSUPPORT || 0x8002ad2f || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EADDRINUSE || 0x8002ad30 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EADDRNOTAVAIL || 0x8002ad31 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ENETDOWN || 0x8002ad32 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ENETUNREACH || 0x8002ad33 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ENETRESET || 0x8002ad34 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ECONNABORTED || 0x8002ad35 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ECONNRESET || 0x8002ad36 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ENOBUFS || 0x8002ad37 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EISCONN || 0x8002ad38 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ENOTCONN || 0x8002ad39 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ESHUTDOWN || 0x8002ad3a || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ETOOMANYREFS || 0x8002ad3b || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ETIMEDOUT || 0x8002ad3c || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ECONNREFUSED || 0x8002ad3d || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ELOOP || 0x8002ad3e || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ENAMETOOLONG || 0x8002ad3f || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EHOSTDOWN || 0x8002ad40 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EHOSTUNREACH || 0x8002ad41 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ENOTEMPTY || 0x8002ad42 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EPROCLIM || 0x8002ad43 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EUSERS || 0x8002ad44 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EDQUOT || 0x8002ad45 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ESTALE || 0x8002ad46 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EREMOTE || 0x8002ad47 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EBADRPC || 0x8002ad48 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ERPCMISMATCH || 0x8002ad49 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EPROGUNAVAIL || 0x8002ad4a || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EPROGMISMATCH || 0x8002ad4b || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EPROCUNAVAIL || 0x8002ad4c || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ENOLCK || 0x8002ad4d || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ENOSYS || 0x8002ad4e || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EFTYPE || 0x8002ad4f || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EAUTH || 0x8002ad50 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ENEEDAUTH || 0x8002ad51 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EIDRM || 0x8002ad52 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ENOMSG || 0x8002ad53 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EOVERFLOW || 0x8002ad54 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EILSEQ || 0x8002ad55 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ENOTSUP || 0x8002ad56 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ECANCELED || 0x8002ad57 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_EBADMSG || 0x8002ad58 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ENODATA || 0x8002ad59 || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ENOSR || 0x8002ad5a || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ENOSTR || 0x8002ad5b || <br /> |-<br /> | SCE_NP_CORE_NET_ERROR_ETIME || 0x8002ad5c || <br /> |-<br /> !colspan=&quot;3&quot; | NP Core DNS Error<br /> |-<br /> | SCE_NP_CORE_ERROR_DNS_HOST_NOT_FOUND || 0x8002af01 || <br /> |-<br /> | SCE_NP_CORE_ERROR_DNS_TRY_AGAIN || 0x8002af02 || <br /> |-<br /> | SCE_NP_CORE_ERROR_DNS_NO_RECOVERY || 0x8002af03 || <br /> |-<br /> | SCE_NP_CORE_ERROR_DNS_NO_DATA || 0x8002af04 || <br /> |-<br /> | SCE_NP_CORE_ERROR_DNS_NO_ADDRESS || 0x8002afff || <br /> |-<br /> !colspan=&quot;3&quot; | NP Basic Error<br /> |-<br /> | SCE_NP_BASIC_ERROR_ALREADY_INITIALIZED || 0x8002a661 || <br /> |-<br /> | SCE_NP_BASIC_ERROR_NOT_INITIALIZED || 0x8002a662 || <br /> |-<br /> | SCE_NP_BASIC_ERROR_NOT_SUPPORTED || 0x8002a663 || <br /> |-<br /> | SCE_NP_BASIC_ERROR_OUT_OF_MEMORY || 0x8002a664 || <br /> |-<br /> | SCE_NP_BASIC_ERROR_INVALID_ARGUMENT || 0x8002a665 || <br /> |-<br /> | SCE_NP_BASIC_ERROR_BAD_ID || 0x8002a666 || <br /> |-<br /> | SCE_NP_BASIC_ERROR_IDS_DIFFER || 0x8002a667 || <br /> |-<br /> | SCE_NP_BASIC_ERROR_PARSER_FAILED || 0x8002a668 || <br /> |-<br /> | SCE_NP_BASIC_ERROR_TIMEOUT || 0x8002a669 || <br /> |-<br /> | SCE_NP_BASIC_ERROR_NO_EVENT || 0x8002a66a || <br /> |-<br /> | SCE_NP_BASIC_ERROR_EXCEEDS_MAX || 0x8002a66b || <br /> |-<br /> | SCE_NP_BASIC_ERROR_INSUFFICIENT || 0x8002a66c || <br /> |-<br /> | SCE_NP_BASIC_ERROR_NOT_REGISTERED || 0x8002a66d || <br /> |-<br /> | SCE_NP_BASIC_ERROR_DATA_LOST || 0x8002a66e || <br /> |-<br /> | SCE_NP_BASIC_ERROR_BUSY || 0x8002a66f || <br /> |-<br /> | SCE_NP_BASIC_ERROR_STATUS || 0x8002a670 || <br /> |-<br /> | SCE_NP_BASIC_ERROR_CANCEL || 0x8002a671 || <br /> |-<br /> | SCE_NP_BASIC_ERROR_INVALID_MEMORY_CONTAINER || 0x8002a672 || <br /> |-<br /> | SCE_NP_BASIC_ERROR_INVALID_DATA_ID || 0x8002a673 || <br /> |-<br /> | SCE_NP_BASIC_ERROR_BROKEN_DATA || 0x8002a674 || <br /> |-<br /> | SCE_NP_BASIC_ERROR_BLOCKLIST_ADD_FAILED || 0x8002a675 || <br /> |-<br /> | SCE_NP_BASIC_ERROR_BLOCKLIST_IS_FULL || 0x8002a676 || <br /> |-<br /> | SCE_NP_BASIC_ERROR_SEND_FAILED || 0x8002a677 || <br /> |-<br /> | SCE_NP_BASIC_ERROR_NOT_CONNECTED || 0x8002a678 || <br /> |-<br /> | SCE_NP_BASIC_ERROR_INSUFFICIENT_DISK_SPACE || 0x8002a679 || <br /> |-<br /> | SCE_NP_BASIC_ERROR_INTERNAL_FAILURE || 0x8002a67a || <br /> |-<br /> | SCE_NP_BASIC_ERROR_DOES_NOT_EXIST || 0x8002a67b || <br /> |-<br /> | SCE_NP_BASIC_ERROR_INVALID || 0x8002a67c || <br /> |-<br /> | SCE_NP_BASIC_ERROR_ABORT || 0x8002a67d || <br /> |-<br /> | SCE_NP_BASIC_ERROR_UNKNOWN || 0x8002a6bf || <br /> |-<br /> | SCE_NP_EXT_ERROR_CONTEXT_DOES_NOT_EXIST || 0x8002a6a1 || <br /> |-<br /> | SCE_NP_EXT_ERROR_CONTEXT_ALREADY_EXISTS || 0x8002a6a2 || <br /> |-<br /> | SCE_NP_EXT_ERROR_NO_CONTEXT || 0x8002a6a3 || <br /> |-<br /> | SCE_NP_EXT_ERROR_NO_ORIGIN || 0x8002a6a4 || <br /> |-<br /> !colspan=&quot;3&quot; | NP Matching Error <br /> |-<br /> | SCE_NP_MATCHING_ERROR_NOT_INITIALIZED || 0x8002a701 || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_ALREADY_INITIALIZED || 0x8002a702 || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_INVALID_ARG || 0x8002a703 || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_TERMINATED || 0x8002a704 || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_TIMEOUT || 0x8002a705 || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_OUT_OF_MEMORY || 0x8002a706 || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_CTXID_NOT_AVAIL || 0x8002a707 || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_CTX_ALREADY_EXIST || 0x8002a708 || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_CTX_NOT_FOUND || 0x8002a709 || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_LOBBY_NOT_FOUND || 0x8002a70a || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_ROOM_NOT_FOUND || 0x8002a70b || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_MEMBER_NOT_FOUND || 0x8002a70c || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_TOO_BIG_VALUE || 0x8002a70d || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_INVALID_ATTR_TYPE || 0x8002a70e || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_INVALID_ATTR_ID || 0x8002a70f || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_ALREADY_REQUESTED || 0x8002a710 || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_LIMITTED_SEATING || 0x8002a711 || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_LOCKED || 0x8002a712 || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_CTX_STILL_RUNNING || 0x8002a713 || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_INSUFFICIENT_BUFFER || 0x8002a714 || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_REQUEST_NOT_ALLOWED || 0x8002a715 || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_CTX_MAX || 0x8002a716 || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_INVALID_REQ_ID || 0x8002a717 || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_RESULT_NOT_FOUND || 0x8002a718 || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_BUSY || 0x8002a719 || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_ALREADY_JOINED_ROOM || 0x8002a71a || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_ROOM_MAX || 0x8002a71b || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_QUICK_MATCH_PLAYER_NOT_FOUND || 0x8002a71c || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_COND_MAX || 0x8002a71d || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_INVALID_COND || 0x8002a71e || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_INVALID_ATTR || 0x8002a71f || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_COMP_OP_INEQUALITY_MAX || 0x8002a720 || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_RESULT_OVERFLOWED || 0x8002a721 || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_HTTPXML_TIMEOUT || 0x8002a722 || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_CANCELED || 0x8002a723 || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_SEARCH_JOIN_ROOM_NOT_FOUND || 0x8002a724 || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_INVALID_COMP_OP || 0x8002a725 || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_INVALID_COMP_TYPE || 0x8002a726 || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_REQUEST_NOT_FOUND || 0x8002a727 || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_INTERNAL_ERROR || 0x8002a728 || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_INVALID_PROTOCOL_ID || 0x8002a729 || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_ATTR_NOT_SPECIFIED || 0x8002a72a || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_SYSUTIL_INVALID_RESULT || 0x8002a72b || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_PLUGIN_LOAD_FAILURE || 0x8002a72c || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_INVALID_ATTR_VALUE || 0x8002a72d || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_DUPLICATE || 0x8002a72e || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_INVALID_MEMORY_CONTAINER || 0x8002a72f || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_SHUTDOWN || 0x8002a730 || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_SYSUTIL_SERVER_BUSY || 0x8002a731 || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_SEND_INVITATION_PARTIALLY_FAILED || 0x8002a732 || <br /> |-<br /> | SCE_NP_MATCHING_ERROR_UTILITY_UNAVAILABLE || 0x8002a733 || <br /> |-<br /> | SCE_NP_MATCHING_SERVER_ERROR_OUT_OF_SERVICE || 0x8002a740 || <br /> |-<br /> | SCE_NP_MATCHING_SERVER_ERROR_MAINTENANCE || 0x8002a741 || <br /> |-<br /> | SCE_NP_MATCHING_SERVER_ERROR_SERVER_BUSY || 0x8002a742 || <br /> |-<br /> | SCE_NP_MATCHING_SERVER_ERROR_ACCESS_FORBIDDEN || 0x8002a743 || <br /> |-<br /> | SCE_NP_MATCHING_SERVER_ERROR_NO_SUCH_SERVER || 0x8002a744 || <br /> |-<br /> | SCE_NP_MATCHING_SERVER_ERROR_NO_SUCH_LOBBY || 0x8002a745 || <br /> |-<br /> | SCE_NP_MATCHING_SERVER_ERROR_NO_SUCH_ROOM || 0x8002a746 || <br /> |-<br /> | SCE_NP_MATCHING_SERVER_ERROR_NO_SUCH_USER || 0x8002a747 || <br /> |-<br /> | SCE_NP_MATCHING_SERVER_ERROR_NOT_ALLOWED || 0x8002a748 || <br /> |-<br /> | SCE_NP_MATCHING_SERVER_ERROR_UNKNOWN || 0x8002a749 || <br /> |-<br /> | SCE_NP_MATCHING_SERVER_ERROR_BAD_REQUEST_STANZA || 0x8002a74a || <br /> |-<br /> | SCE_NP_MATCHING_SERVER_ERROR_REQUEST_FORBIDDEN || 0x8002a74b || <br /> |-<br /> | SCE_NP_MATCHING_SERVER_ERROR_INTERNAL_ERROR || 0x8002a74c || <br /> |-<br /> | SCE_NP_MATCHING_SERVER_ERROR_ROOM_OVER || 0x8002a74d || <br /> |-<br /> | SCE_NP_MATCHING_SERVER_ERROR_ROOM_CLOSED || 0x8002a74e || <br /> |-<br /> !colspan=&quot;3&quot; | NP Signaling Error <br /> |-<br /> | SCE_NP_SIGNALING_ERROR_NOT_INITIALIZED || 0x8002a801 || <br /> |-<br /> | SCE_NP_SIGNALING_ERROR_ALREADY_INITIALIZED || 0x8002a802 || <br /> |-<br /> | SCE_NP_SIGNALING_ERROR_OUT_OF_MEMORY || 0x8002a803 || <br /> |-<br /> | SCE_NP_SIGNALING_ERROR_CTXID_NOT_AVAILABLE || 0x8002a804 || <br /> |-<br /> | SCE_NP_SIGNALING_ERROR_CTX_NOT_FOUND || 0x8002a805 || <br /> |-<br /> | SCE_NP_SIGNALING_ERROR_REQID_NOT_AVAILABLE || 0x8002a806 || <br /> |-<br /> | SCE_NP_SIGNALING_ERROR_REQ_NOT_FOUND || 0x8002a807 || <br /> |-<br /> | SCE_NP_SIGNALING_ERROR_PARSER_CREATE_FAILED || 0x8002a808 || <br /> |-<br /> | SCE_NP_SIGNALING_ERROR_PARSER_FAILED || 0x8002a809 || <br /> |-<br /> | SCE_NP_SIGNALING_ERROR_INVALID_NAMESPACE || 0x8002a80a || <br /> |-<br /> | SCE_NP_SIGNALING_ERROR_NETINFO_NOT_AVAILABLE || 0x8002a80b || <br /> |-<br /> | SCE_NP_SIGNALING_ERROR_PEER_NOT_RESPONDING || 0x8002a80c || <br /> |-<br /> | SCE_NP_SIGNALING_ERROR_CONNID_NOT_AVAILABLE || 0x8002a80d || <br /> |-<br /> | SCE_NP_SIGNALING_ERROR_CONN_NOT_FOUND || 0x8002a80e || <br /> |-<br /> | SCE_NP_SIGNALING_ERROR_PEER_UNREACHABLE || 0x8002a80f || <br /> |-<br /> | SCE_NP_SIGNALING_ERROR_TERMINATED_BY_PEER || 0x8002a810 || <br /> |-<br /> | SCE_NP_SIGNALING_ERROR_TIMEOUT || 0x8002a811 || <br /> |-<br /> | SCE_NP_SIGNALING_ERROR_CTX_MAX || 0x8002a812 || <br /> |-<br /> | SCE_NP_SIGNALING_ERROR_RESULT_NOT_FOUND || 0x8002a813 || <br /> |-<br /> | SCE_NP_SIGNALING_ERROR_CONN_IN_PROGRESS&lt;br /&gt;SCE_NP_SIGNALING_ERROR_CONN_NOT_ACTIVE || 0x8002a814 || <br /> |-<br /> | SCE_NP_SIGNALING_ERROR_INVALID_ARGUMENT || 0x8002a815 || <br /> |-<br /> | SCE_NP_SIGNALING_ERROR_OWN_NP_ID || 0x8002a816 || <br /> |-<br /> | SCE_NP_SIGNALING_ERROR_TOO_MANY_CONN || 0x8002a817 || <br /> |-<br /> | SCE_NP_SIGNALING_ERROR_TERMINATED_BY_MYSELF || 0x8002a818 || <br /> |-<br /> !colspan=&quot;3&quot; | NP Manager Error <br /> |-<br /> | SCE_NP_ERROR_NOT_INITIALIZED || 0x8002aa01 || <br /> |-<br /> | SCE_NP_ERROR_ALREADY_INITIALIZED || 0x8002aa02 || <br /> |-<br /> | SCE_NP_ERROR_INVALID_ARGUMENT || 0x8002aa03 || <br /> |-<br /> | SCE_NP_ERROR_OUT_OF_MEMORY || 0x8002aa04 || <br /> |-<br /> | SCE_NP_ERROR_ID_NO_SPACE || 0x8002aa05 || <br /> |-<br /> | SCE_NP_ERROR_ID_NOT_FOUND || 0x8002aa06 || <br /> |-<br /> | SCE_NP_ERROR_SESSION_RUNNING || 0x8002aa07 || <br /> |-<br /> | SCE_NP_ERROR_LOGINID_ALREADY_EXISTS || 0x8002aa08 || <br /> |-<br /> | SCE_NP_ERROR_INVALID_TICKET_SIZE || 0x8002aa09 || <br /> |-<br /> | SCE_NP_ERROR_INVALID_STATE || 0x8002aa0a || <br /> |-<br /> | SCE_NP_ERROR_ABORTED || 0x8002aa0b || <br /> |-<br /> | SCE_NP_ERROR_OFFLINE || 0x8002aa0c || Cannot use while offline (appears in the ingame network settings menu of &quot;way of the samurai 4&quot; when no network cable is connected)<br /> |-<br /> | SCE_NP_ERROR_VARIANT_ACCOUNT_ID || 0x8002aa0d || <br /> |-<br /> | SCE_NP_ERROR_GET_CLOCK || 0x8002aa0e || <br /> |-<br /> | SCE_NP_ERROR_INSUFFICIENT_BUFFER || 0x8002aa0f || <br /> |-<br /> | SCE_NP_ERROR_EXPIRED_TICKET || 0x8002aa10 || <br /> |-<br /> | SCE_NP_ERROR_TICKET_PARAM_NOT_FOUND || 0x8002aa11 || <br /> |-<br /> | SCE_NP_ERROR_UNSUPPORTED_TICKET_VERSION || 0x8002aa12 || <br /> |-<br /> | SCE_NP_ERROR_TICKET_STATUS_CODE_INVALID || 0x8002aa13 || <br /> |-<br /> | SCE_NP_ERROR_INVALID_TICKET_VERSION || 0x8002aa14 || <br /> |-<br /> | SCE_NP_ERROR_ALREADY_USED || 0x8002aa15 || <br /> |-<br /> | SCE_NP_ERROR_DIFFERENT_USER || 0x8002aa16 || <br /> |-<br /> | SCE_NP_ERROR_ALREADY_DONE || 0x8002aa17 || <br /> |-<br /> | SCE_NP_ERROR_SESSION_INVALID_STATE || 0x8002aa81 || <br /> |-<br /> | SCE_NP_ERROR_CTX_NOT_FOUND || 0x8002aa82 || <br /> |-<br /> | SCE_NP_ERROR_UNKNOWN_PROTOCOL_EVENT || 0x8002aa83 || <br /> |-<br /> | SCE_NP_ERROR_REGISTRY || 0x8002aa84 || <br /> |-<br /> | SCE_NP_ERROR_BAD_ACCOUNTID || 0x8002aa85 || <br /> |-<br /> | SCE_NP_ERROR_INTERNAL || 0x8002aaff ||<br /> |-<br /> !colspan=&quot;3&quot; | NP Utility Error <br /> |-<br /> | SCE_NP_UTIL_ERROR_INVALID_ARGUMENT || 0x8002ab01 || <br /> |-<br /> | SCE_NP_UTIL_ERROR_OUT_OF_MEMORY || 0x8002ab02 || <br /> |-<br /> | SCE_NP_UTIL_ERROR_INSUFFICIENT || 0x8002ab03 || <br /> |-<br /> | SCE_NP_UTIL_ERROR_PARSER_FAILED || 0x8002ab04 || <br /> |-<br /> | SCE_NP_UTIL_ERROR_INVALID_PROTOCOL_ID || 0x8002ab05 || <br /> |-<br /> | SCE_NP_UTIL_ERROR_INVALID_NP_ID || 0x8002ab06 || <br /> |-<br /> | SCE_NP_UTIL_ERROR_INVALID_NP_LOBBY_ID || 0x8002ab07 || <br /> |-<br /> | SCE_NP_UTIL_ERROR_INVALID_NP_ROOM_ID || 0x8002ab08 || <br /> |-<br /> | SCE_NP_UTIL_ERROR_INVALID_NP_ENV || 0x8002ab09 || <br /> |-<br /> | SCE_NP_UTIL_ERROR_INVALID_TITLEID || 0x8002ab0a || <br /> |-<br /> | SCE_NP_UTIL_ERROR_INVALID_CHARACTER || 0x8002ab0b || <br /> |-<br /> | SCE_NP_UTIL_ERROR_INVALID_ESCAPE_STRING || 0x8002ab0c || <br /> |-<br /> | SCE_NP_UTIL_ERROR_UNKNOWN_TYPE || 0x8002ab0d || <br /> |-<br /> | SCE_NP_UTIL_ERROR_UNKNOWN || 0x8002ab0e || <br /> |-<br /> | SCE_NP_UTIL_ERROR_NOT_MATCH || 0x8002ab0f || <br /> |-<br /> | SCE_NP_UTIL_ERROR_UNKNOWN_PLATFORM_TYPE || 0x8002ab10 || <br /> |-<br /> !colspan=&quot;3&quot; | NP Friendlist Error <br /> |-<br /> | SCE_NP_FRIENDLIST_ERROR_ALREADY_INITIALIZED || 0x8002ab20 || <br /> |-<br /> | SCE_NP_FRIENDLIST_ERROR_NOT_INITIALIZED || 0x8002ab21 || <br /> |-<br /> | SCE_NP_FRIENDLIST_ERROR_OUT_OF_MEMORY || 0x8002ab22 || <br /> |-<br /> | SCE_NP_FRIENDLIST_ERROR_INVALID_MEMORY_CONTAINER || 0x8002ab23 || <br /> |-<br /> | SCE_NP_FRIENDLIST_ERROR_INSUFFICIENT || 0x8002ab24 || <br /> |-<br /> | SCE_NP_FRIENDLIST_ERROR_CANCEL || 0x8002ab25 || <br /> |-<br /> | SCE_NP_FRIENDLIST_ERROR_STATUS || 0x8002ab26 || <br /> |-<br /> | SCE_NP_FRIENDLIST_ERROR_BUSY || 0x8002ab27 || <br /> |-<br /> | SCE_NP_FRIENDLIST_ERROR_INVALID_ARGUMENT || 0x8002ab28 || <br /> |-<br /> | SCE_NP_FRIENDLIST_ERROR_ABORT || 0x8002ab29 || <br /> |-<br /> !colspan=&quot;3&quot; | NP Profile Error <br /> |-<br /> | SCE_NP_PROFILE_ERROR_ALREADY_INITIALIZED || 0x8002ab40 || <br /> |-<br /> | SCE_NP_PROFILE_ERROR_NOT_INITIALIZED || 0x8002ab41 || <br /> |-<br /> | SCE_NP_PROFILE_ERROR_OUT_OF_MEMORY || 0x8002ab42 || <br /> |-<br /> | SCE_NP_PROFILE_ERROR_NOT_SUPPORTED || 0x8002ab43 || <br /> |-<br /> | SCE_NP_PROFILE_ERROR_INSUFFICIENT || 0x8002ab44 || <br /> |-<br /> | SCE_NP_PROFILE_ERROR_CANCEL || 0x8002ab45 || <br /> |-<br /> | SCE_NP_PROFILE_ERROR_STATUS || 0x8002ab46 || <br /> |-<br /> | SCE_NP_PROFILE_ERROR_BUSY || 0x8002ab47 || <br /> |-<br /> | SCE_NP_PROFILE_ERROR_INVALID_ARGUMENT || 0x8002ab48 || <br /> |-<br /> | SCE_NP_PROFILE_ERROR_ABORT || 0x8002ab49 || <br /> |-<br /> !colspan=&quot;3&quot; | NP Commerce Error <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_NOT_INITIALIZED || 0x80029401 || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_ALREADY_INITIALIZED || 0x80029402 || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_OUT_OF_MEMORY || 0x80029403 || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_UNSUPPORTED_VERSION || 0x80029404 || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_CTX_MAX || 0x80029405 || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_CTX_NOT_FOUND || 0x80029406 || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_CTXID_NOT_AVAILABLE || 0x80029407 || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_REQ_MAX || 0x80029408 || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_REQ_NOT_FOUND || 0x80029409 || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_REQID_NOT_AVAILABLE || 0x8002940a || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_INVALID_CATEGORY_ID || 0x8002940b || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_INVALID_LANG_CODE || 0x8002940c || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_REQ_BUSY || 0x8002940d || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_INSUFFICIENT_BUFFER || 0x8002940e || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_INVALID_REQ_STATE || 0x8002940f || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_INVALID_CTX_STATE || 0x80029410 || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_UNKNOWN || 0x80029411 || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_INVALID_REQ_TYPE || 0x80029412 || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_INVALID_MEMORY_CONTAINER || 0x80029413 || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_INSUFFICIENT_MEMORY_CONTAINER || 0x80029414 || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_INVALID_DATA_FLAG_TYPE || 0x80029415 || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_INVALID_DATA_FLAG_STATE || 0x80029416 || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_DATA_FLAG_NUM_NOT_FOUND || 0x80029417 || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_DATA_FLAG_INFO_NOT_FOUND || 0x80029418 || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_INVALID_PROVIDER_ID || 0x80029419 || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_INVALID_DATA_FLAG_NUM || 0x8002941a || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_INVALID_SKU_ID || 0x8002941b || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_INVALID_DATA_FLAG_ID || 0x8002941c || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_GPC_SEND_REQUEST || 0x8002941d || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_GDF_SEND_REQUEST || 0x8002941e || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_SDF_SEND_REQUEST || 0x8002941f || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_PARSE_PRODUCT_CATEGORY || 0x80029421 || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_CURRENCY_INFO_NOT_FOUND || 0x80029422 || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_CATEGORY_INFO_NOT_FOUND || 0x80029423 || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_CHILD_CATEGORY_COUNT_NOT_FOUND || 0x80029424 || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_CHILD_CATEGORY_INFO_NOT_FOUND || 0x80029425 || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_SKU_COUNT_NOT_FOUND || 0x80029426 || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_SKU_INFO_NOT_FOUND || 0x80029427 || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_PLUGIN_LOAD_FAILURE || 0x80029428 || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_INVALID_SKU_NUM || 0x80029429 || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_INVALID_GPC_PROTOCOL_VERSION || 0x8002942a || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_CHECKOUT_UNEXPECTED || 0x80029430 || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_CHECKOUT_OUT_OF_SERVICE || 0x80029431 || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_CHECKOUT_INVALID_SKU || 0x80029432 || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_CHECKOUT_SERVER_BUSY || 0x80029433 || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_CHECKOUT_MAINTENANCE || 0x80029434 || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_CHECKOUT_ACCOUNT_SUSPENDED || 0x80029435 || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_CHECKOUT_OVER_SPENDING_LIMIT || 0x80029436 || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_CHECKOUT_NOT_ENOUGH_MONEY || 0x80029437 || <br /> |-<br /> | SCE_NP_COMMERCE_ERROR_CHECKOUT_UNKNOWN || 0x80029438 || <br /> |-<br /> | SCE_NP_COMMERCE_BROWSE_SERVER_ERROR_UNKNOWN || 0x80029600 || <br /> |-<br /> | SCE_NP_COMMERCE_BROWSE_SERVER_ERROR_INVALID_CREDENTIALS || 0x80029601 || <br /> |-<br /> | SCE_NP_COMMERCE_BROWSE_SERVER_ERROR_INVALID_CATEGORY_ID || 0x80029602 || <br /> |-<br /> | SCE_NP_COMMERCE_BROWSE_SERVER_ERROR_SERVICE_END || 0x80029603 || <br /> |-<br /> | SCE_NP_COMMERCE_BROWSE_SERVER_ERROR_SERVICE_STOP || 0x80029604 || <br /> |-<br /> | SCE_NP_COMMERCE_BROWSE_SERVER_ERROR_SERVICE_BUSY || 0x80029605 || <br /> |-<br /> | SCE_NP_COMMERCE_BROWSE_SERVER_ERROR_UNSUPPORTED_VERSION || 0x80029606 || <br /> |-<br /> | SCE_NP_COMMERCE_BROWSE_SERVER_ERROR_INTERNAL_SERVER || 0x80029680 || <br /> |-<br /> | SCE_NP_COMMERCE_GDF_SERVER_ERROR_UNKNOWN || 0x80029d00 || <br /> |-<br /> | SCE_NP_COMMERCE_GDF_SERVER_ERROR_INVALID_CREDENTIALS || 0x80029d01 || <br /> |-<br /> | SCE_NP_COMMERCE_GDF_SERVER_ERROR_INVALID_FLAGLIST || 0x80029d02 || <br /> |-<br /> | SCE_NP_COMMERCE_GDF_SERVER_ERROR_SERVICE_END || 0x80029d03 || <br /> |-<br /> | SCE_NP_COMMERCE_GDF_SERVER_ERROR_SERVICE_STOP || 0x80029d04 || <br /> |-<br /> | SCE_NP_COMMERCE_GDF_SERVER_ERROR_SERVICE_BUSY || 0x80029d05 || <br /> |-<br /> | SCE_NP_COMMERCE_GDF_SERVER_ERROR_UNSUPPORTED_VERSION || 0x80029d06 || <br /> |-<br /> | SCE_NP_COMMERCE_SDF_SERVER_ERROR_UNKNOWN || 0x80029e00 || <br /> |-<br /> | SCE_NP_COMMERCE_SDF_SERVER_ERROR_INVALID_CREDENTIALS || 0x80029e01 || <br /> |-<br /> | SCE_NP_COMMERCE_SDF_SERVER_ERROR_INVALID_FLAGLIST || 0x80029e02 || <br /> |-<br /> | SCE_NP_COMMERCE_SDF_SERVER_ERROR_SERVICE_END || 0x80029e03 || <br /> |-<br /> | SCE_NP_COMMERCE_SDF_SERVER_ERROR_SERVICE_STOP || 0x80029e04 || <br /> |-<br /> | SCE_NP_COMMERCE_SDF_SERVER_ERROR_SERVICE_BUSY || 0x80029e05 || <br /> |-<br /> | SCE_NP_COMMERCE_SDF_SERVER_ERROR_UNSUPPORTED_VERSION || 0x80029e06 || <br /> |-<br /> !colspan=&quot;3&quot; | NP DRM error <br /> |-<br /> | SCE_NP_DRM_ERROR_OUT_OF_MEMORY || 0x80029501 || <br /> |-<br /> | SCE_NP_DRM_ERROR_INVALID_PARAM || 0x80029502 || <br /> |-<br /> | SCE_NP_DRM_ERROR_SERVER_RESPONSE || 0x80029509 || <br /> |-<br /> | SCE_NP_DRM_ERROR_NO_ENTITLEMENT || 0x80029513 || This content cannot be accessed on your account (in case of an [[EDAT files|edat]] for unlock a demo/purchase game this error might not be returned, turn the [[QA_Flagging#Debug_Settings_.28CEX.2FDEX.29|NPDRM Debug option]] to OFF to get entitlement for unlock the full game)<br /> |-<br /> | SCE_NP_DRM_ERROR_BAD_ACT || 0x80029514 || <br /> |-<br /> | SCE_NP_DRM_ERROR_BAD_FORMAT || 0x80029515 || <br /> |-<br /> | SCE_NP_DRM_ERROR_NO_LOGIN || 0x80029516 || Sign in to PLAYSTATION-Network (needed for some games or processes - have to sign in to use them)<br /> |-<br /> | SCE_NP_DRM_ERROR_INTERNAL || 0x80029517 || <br /> |-<br /> | SCE_NP_DRM_ERROR_BAD_PERM || 0x80029519 || Bad Permission - when trying to open FSELF PKG's on Retail/starting npdrm fself without installing first.<br /> |-<br /> | SCE_NP_DRM_ERROR_UNKNOWN_VERSION || 0x8002951a || <br /> |-<br /> | SCE_NP_DRM_ERROR_TIME_LIMIT || 0x8002951b || <br /> |-<br /> | SCE_NP_DRM_ERROR_DIFFERENT_ACCOUNT_ID || 0x8002951c || <br /> |-<br /> | SCE_NP_DRM_ERROR_DIFFERENT_DRM_TYPE || 0x8002951d || <br /> |-<br /> | SCE_NP_DRM_ERROR_SERVICE_NOT_STARTED || 0x8002951e || &quot;This content is not available before the start date.&quot;<br /> |-<br /> | SCE_NP_DRM_ERROR_BUSY || 0x80029520 || <br /> |-<br /> | SCE_NP_DRM_ERROR_LICENSE_NOT_FOUND || 0x80029521 || <br /> |-<br /> | SCE_NP_DRM_ERROR_IO || 0x80029525 || <br /> |-<br /> | SCE_NP_DRM_ERROR_FORMAT || 0x80029530 || &quot;An error occurred during the copy operation.&quot; e.g.:when using export function to PSP (mal formed iso.bin.edat/EBOOT.PBP).<br /> &quot;An error occurred during the start operation.&quot; e.g.: CONTENT_ID don t match.<br /> |-<br /> | SCE_NP_DRM_ERROR_??? || 0x80029532 || no titleID <br /> |-<br /> | SCE_NP_DRM_ERROR_FILENAME || 0x80029533 || <br /> |-<br /> | SCE_NP_DRM_ERROR_K_LICENSEE || 0x80029534 || <br /> |-<br /> | SCE_NP_DRM_INSTALL_ERROR_CHECK || 0x80029564 || Invalid package - Package files are corrupted - Package requirements are not fullfilled (files were not created with make_package_npdrm)<br /> |-<br /> | SCE_NP_DRM_??? || 0x80029565 || Package install error - <br /> |-<br /> | SCE_NP_DRM_INSTALL_ERROR_UNSUPPORTED || 0x80029566 || &quot;An error occurred during the install operation.&quot; Package install error - Unsupported format - Filename exceeds 512 bytes<br /> |-<br /> | SCE_NP_DRM_??? || 0x80029567 || Package install error - You get this error on Retail/CEX + Shop/Kiosk firmwares on unpatched firmware (or without payload) - e.g. Kmeaw/fluke1's 3.55 + psl1ght made fself PKGs. You also get this error when using geohot PKGs on Debug/Dex.<br /> |-<br /> | SCE_NP_DRM_SERVER_ERROR_SERVICE_IS_END || 0x80029700 || <br /> |-<br /> | SCE_NP_DRM_SERVER_ERROR_SERVICE_STOPS_TEMPORARILY || 0x80029701 || <br /> |-<br /> | SCE_NP_DRM_SERVER_ERROR_SERVICE_IS_BUSY || 0x80029702 || <br /> |-<br /> | SCE_NP_DRM_SERVER_ERROR_INVALID_USER_CREDENTIAL || 0x80029721 || <br /> |-<br /> | SCE_NP_DRM_SERVER_ERROR_INVALID_PRODUCT_ID || 0x80029722 || <br /> |-<br /> | ? || 0x80029724 || PSN/activation related, not possible to download own PSN content. Known solution is to restore file system. <br /> |-<br /> | SCE_NP_DRM_SERVER_ERROR_ACCOUNT_IS_CLOSED || 0x80029730 || <br /> |-<br /> | SCE_NP_DRM_SERVER_ERROR_ACCOUNT_IS_SUSPENDED || 0x80029731 || <br /> |-<br /> | SCE_NP_DRM_SERVER_ERROR_ACTIVATED_CONSOLE_IS_FULL || 0x80029750 || <br /> |-<br /> | SCE_NP_DRM_SERVER_ERROR_CONSOLE_NOT_ACTIVATED || 0x80029751 || <br /> |-<br /> | SCE_NP_DRM_SERVER_ERROR_PRIMARY_CONSOLE_CANNOT_CHANGED || 0x80029752 || <br /> |-<br /> | SCE_NP_DRM_SERVER_ERROR_UNKNOWN || 0x80029780 || e.g. when spoofed on 3.55 without PSN+ and trying to download/activate PSN+ content<br /> |-<br /> !colspan=&quot;3&quot; | NP Matching2 error <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_OUT_OF_MEMORY || 0x80022301 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_ALREADY_INITIALIZED || 0x80022302 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_NOT_INITIALIZED || 0x80022303 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_CONTEXT_MAX || 0x80022304 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_CONTEXT_ALREADY_EXISTS || 0x80022305 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_CONTEXT_NOT_FOUND || 0x80022306 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_CONTEXT_ALREADY_STARTED || 0x80022307 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_CONTEXT_NOT_STARTED || 0x80022308 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_SERVER_NOT_FOUND || 0x80022309 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_INVALID_ARGUMENT || 0x8002230a || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_INVALID_CONTEXT_ID || 0x8002230b || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_INVALID_SERVER_ID || 0x8002230c || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_INVALID_WORLD_ID || 0x8002230d || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_INVALID_LOBBY_ID || 0x8002230e || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_INVALID_ROOM_ID || 0x8002230f || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_INVALID_MEMBER_ID || 0x80022310 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_INVALID_ATTRIBUTE_ID || 0x80022311 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_INVALID_CASTTYPE || 0x80022312 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_INVALID_SORT_METHOD || 0x80022313 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_INVALID_MAX_SLOT || 0x80022314 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_INVALID_OPT_SIZE || 0x80022315 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_INVALID_MATCHING_SPACE || 0x80022316 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_INVALID_PUSH_INDICATION || 0x80022317 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_INVALID_BLOCK_KICK_FLAG || 0x80022318 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_INVALID_MESSAGE_TARGET || 0x80022319 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_RANGE_FILTER_MAX || 0x8002231a || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_INSUFFICIENT_BUFFER || 0x8002231b || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_DESTINATION_DISAPPEARED || 0x8002231c || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_REQUEST_TIMEOUT || 0x8002231d || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_INVALID_ALIGNMENT || 0x8002231e || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_REQUEST_CB_QUEUE_OVERFLOW || 0x8002231f || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_EVENT_CB_QUEUE_OVERFLOW || 0x80022320 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_MSG_CB_QUEUE_OVERFLOW || 0x80022321 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_CONNECTION_CLOSED_BY_SERVER || 0x80022322 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_SSL_VERIFY_FAILED || 0x80022323 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_SSL_HANDSHAKE || 0x80022324 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_SSL_SEND || 0x80022325 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_SSL_RECV || 0x80022326 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_JOINED_SESSION_MAX || 0x80022327 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_ALREADY_JOINED || 0x80022328 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_INVALID_SESSION_TYPE || 0x80022329 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_CLAN_LOBBY_NOT_EXIST || 0x8002232a || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_NP_SIGNED_OUT || 0x8002232b || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_CONTEXT_UNAVAILABLE || 0x8002232c || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_SERVER_NOT_AVAILABLE || 0x8002232d || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_NOT_ALLOWED || 0x8002232e || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_ABORTED || 0x8002232f || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_REQUEST_NOT_FOUND || 0x80022330 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_SESSION_DESTROYED || 0x80022331 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_CONTEXT_STOPPED || 0x80022332 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_INVALID_REQUEST_PARAMETER || 0x80022333 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_NOT_NP_SIGN_IN || 0x80022334 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_ROOM_NOT_FOUND || 0x80022335 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_ROOM_MEMBER_NOT_FOUND || 0x80022336 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_LOBBY_NOT_FOUND || 0x80022337 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_LOBBY_MEMBER_NOT_FOUND || 0x80022338 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_EVENT_DATA_NOT_FOUND || 0x80022339 || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_KEEPALIVE_TIMEOUT || 0x8002233a || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_TIMEOUT_TOO_SHORT || 0x8002233b || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_TIMEDOUT || 0x8002233c || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_CREATE_HEAP || 0x8002233d || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_INVALID_ATTRIBUTE_SIZE || 0x8002233e || <br /> |-<br /> | SCE_NP_MATCHING2_ERROR_CANNOT_ABORT || 0x8002233f ||<br /> |-<br /> !colspan=&quot;3&quot; | Matching2 Resolver errors <br /> |-<br /> | SCE_NP_MATCHING2_RESOLVER_ERROR_NO_DNS_SERVER || 0x800223a2 || DNS server is not set<br /> |-<br /> | SCE_NP_MATCHING2_RESOLVER_ERROR_INVALID_PACKET || 0x800223ad || received DNS response was invalid<br /> |-<br /> | SCE_NP_MATCHING2_RESOLVER_ERROR_TIMEOUT || 0x800223b0 || timeout<br /> |-<br /> | SCE_NP_MATCHING2_RESOLVER_ERROR_NO_RECORD || 0x800223b1 || no record for this query<br /> |-<br /> | SCE_NP_MATCHING2_RESOLVER_ERROR_RES_PACKET_FORMAT || 0x800223b2 || server could not recognize DNS query packet<br /> |-<br /> | SCE_NP_MATCHING2_RESOLVER_ERROR_RES_SERVER_FAILURE || 0x800223b3 || Server failure<br /> |-<br /> | SCE_NP_MATCHING2_RESOLVER_ERROR_NO_HOST || 0x800223b4 || there is no entry for this hostname<br /> |-<br /> | SCE_NP_MATCHING2_RESOLVER_ERROR_RES_NOT_IMPLEMENTED || 0x800223b5 || Kind of query is not supported<br /> |-<br /> | SCE_NP_MATCHING2_RESOLVER_ERROR_RES_SERVER_REFUSED || 0x800223b6 || Refused by server<br /> |-<br /> | SCE_NP_MATCHING2_RESOLVER_ERROR_RESP_TRUNCATED || 0x800223bc || the response was truncated<br /> |-<br /> !colspan=&quot;3&quot; | NP Matching2 Server error <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_BAD_REQUEST || 0x80022b01 || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_SERVICE_UNAVAILABLE || 0x80022b02 || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_BUSY || 0x80022b03 || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_END_OF_SERVICE || 0x80022b04 || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_INTERNAL_SERVER_ERROR || 0x80022b05 || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_PLAYER_BANNED || 0x80022b06 || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_FORBIDDEN || 0x80022b07 || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_BLOCKED || 0x80022b08 || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_UNSUPPORTED_NP_ENV || 0x80022b09 || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_INVALID_TICKET || 0x80022b0a || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_INVALID_SIGNATURE || 0x80022b0b || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_EXPIRED_TICKET || 0x80022b0c || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_ENTITLEMENT_REQUIRED || 0x80022b0d || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_NO_SUCH_CONTEXT || 0x80022b0e || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_CLOSED || 0x80022b0f || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_NO_SUCH_TITLE || 0x80022b10 || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_NO_SUCH_WORLD || 0x80022b11 || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_NO_SUCH_LOBBY || 0x80022b12 || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_NO_SUCH_ROOM || 0x80022b13 || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_NO_SUCH_LOBBY_INSTANCE || 0x80022b14 || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_NO_SUCH_ROOM_INSTANCE || 0x80022b15 || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_PASSWORD_MISMATCH || 0x80022b17 || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_LOBBY_FULL || 0x80022b18 || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_ROOM_FULL || 0x80022b19 || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_GROUP_FULL || 0x80022b1b || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_NO_SUCH_USER || 0x80022b1c || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_TITLE_PASSPHRASE_MISMATCH || 0x80022b1e || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_INVALID_SIGNED_USER_INFO || 0x80022b1f || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_INVALID_SIGNED_USER_INFO_SIGNATURE || 0x80022b20 || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_INVALID_SIGNED_INSTANCE_INFO || 0x80022b21 || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_INVALID_SIGNED_INSTANCE_INFO_SIGNATURE || 0x80022b22 || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_INVALID_SIGNED_INSTANCE_CONFIGURATION || 0x80022b23 || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_INVALID_SIGNED_INSTANCE_CONFIGURATION_SIGNATURE || 0x80022b24 || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_DUPLICATE_LOBBY || 0x80022b25 || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_DUPLICATE_ROOM || 0x80022b26 || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_BANNED_CONSOLE || 0x80022b28 || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_NO_JOIN_GROUP_LABEL || 0x80022b29 || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_NO_SUCH_GROUP || 0x80022b2a || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_NO_PASSWORD || 0x80022b2b || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_MAX_OVER_SLOT_GROUP || 0x80022b2c || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_MAX_OVER_PASSWORD_MASK || 0x80022b2d || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_DUPLICATE_GROUP_LABEL || 0x80022b2e || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_REQUEST_OVERFLOW || 0x80022b2f || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_ALREADY_JOINED || 0x80022b30 || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_NAT_TYPE_MISMATCH || 0x80022b31 || <br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_ROOM_INCONSISTENCY || 0x80022b32 ||<br /> |-<br /> | SCE_NP_MATCHING2_SERVER_ERROR_BLOCKED_USER_IN_ROOM || 0x80022b33 ||<br /> |-<br /> !colspan=&quot;3&quot; | Np Clans Error <br /> |-<br /> | SCE_NP_CLANS_ERROR_ALREADY_INITIALIZED || 0x80022701 || <br /> |-<br /> | SCE_NP_CLANS_ERROR_NOT_INITIALIZED || 0x80022702 || <br /> |-<br /> | SCE_NP_CLANS_ERROR_NOT_SUPPORTED || 0x80022703 || <br /> |-<br /> | SCE_NP_CLANS_ERROR_OUT_OF_MEMORY || 0x80022704 || <br /> |-<br /> | SCE_NP_CLANS_ERROR_INVALID_ARGUMENT || 0x80022705 || <br /> |-<br /> | SCE_NP_CLANS_ERROR_EXCEEDS_MAX || 0x80022706 || <br /> |-<br /> | SCE_NP_CLANS_ERROR_BAD_RESPONSE || 0x80022707 || <br /> |-<br /> | SCE_NP_CLANS_ERROR_BAD_DATA || 0x80022708 || <br /> |-<br /> | SCE_NP_CLANS_ERROR_BAD_REQUEST || 0x80022709 || <br /> |-<br /> | SCE_NP_CLANS_ERROR_INVALID_SIGNATURE || 0x8002270a || <br /> |-<br /> | SCE_NP_CLANS_ERROR_INSUFFICIENT || 0x8002270b || <br /> |-<br /> | SCE_NP_CLANS_ERROR_INTERNAL_BUFFER || 0x8002270c || <br /> |-<br /> | SCE_NP_CLANS_ERROR_SERVER_MAINTENANCE || 0x8002270d || <br /> |-<br /> | SCE_NP_CLANS_ERROR_SERVER_END_OF_SERVICE || 0x8002270e || <br /> |-<br /> | SCE_NP_CLANS_ERROR_SERVER_BEFORE_START_OF_SERVICE || 0x8002270f || <br /> |-<br /> | SCE_NP_CLANS_ERROR_ABORTED || 0x80022710 || <br /> |-<br /> | SCE_NP_CLANS_ERROR_SERVICE_UNAVAILABLE || 0x80022711 || <br /> |-<br /> !colspan=&quot;3&quot; | Np Clans Server Error <br /> |-<br /> | SCE_NP_CLANS_SERVER_ERROR_BAD_REQUEST || 0x80022801 || <br /> |-<br /> | SCE_NP_CLANS_SERVER_ERROR_INVALID_TICKET || 0x80022802 || <br /> |-<br /> | SCE_NP_CLANS_SERVER_ERROR_INVALID_SIGNATURE || 0x80022803 || <br /> |-<br /> | SCE_NP_CLANS_SERVER_ERROR_TICKET_EXPIRED || 0x80022804 || <br /> |-<br /> | SCE_NP_CLANS_SERVER_ERROR_INVALID_NPID || 0x80022805 || <br /> |-<br /> | SCE_NP_CLANS_SERVER_ERROR_FORBIDDEN || 0x80022806 || <br /> |-<br /> | SCE_NP_CLANS_SERVER_ERROR_INTERNAL_SERVER_ERROR || 0x80022807 || <br /> |-<br /> | SCE_NP_CLANS_SERVER_ERROR_BANNED || 0x8002280a || <br /> |-<br /> | SCE_NP_CLANS_SERVER_ERROR_BLACKLISTED || 0x80022811 || <br /> |-<br /> | SCE_NP_CLANS_SERVER_ERROR_INVALID_ENVIRONMENT || 0x8002281d || <br /> |-<br /> | SCE_NP_CLANS_SERVER_ERROR_NO_SUCH_CLAN_SERVICE || 0x8002282f || <br /> |-<br /> | SCE_NP_CLANS_SERVER_ERROR_NO_SUCH_CLAN || 0x80022830 || <br /> |-<br /> | SCE_NP_CLANS_SERVER_ERROR_NO_SUCH_CLAN_MEMBER || 0x80022831 || <br /> |-<br /> | SCE_NP_CLANS_SERVER_ERROR_BEFORE_HOURS || 0x80022832 || <br /> |-<br /> | SCE_NP_CLANS_SERVER_ERROR_CLOSED_SERVICE || 0x80022833 || <br /> |-<br /> | SCE_NP_CLANS_SERVER_ERROR_PERMISSION_DENIED || 0x80022834 || <br /> |-<br /> | SCE_NP_CLANS_SERVER_ERROR_CLAN_LIMIT_REACHED || 0x80022835 || <br /> |-<br /> | SCE_NP_CLANS_SERVER_ERROR_CLAN_LEADER_LIMIT_REACHED || 0x80022836 || <br /> |-<br /> | SCE_NP_CLANS_SERVER_ERROR_CLAN_MEMBER_LIMIT_REACHED || 0x80022837 || <br /> |-<br /> | SCE_NP_CLANS_SERVER_ERROR_CLAN_JOINED_LIMIT_REACHED || 0x80022838 || <br /> |-<br /> | SCE_NP_CLANS_SERVER_ERROR_MEMBER_STATUS_INVALID || 0x80022839 || <br /> |-<br /> | SCE_NP_CLANS_SERVER_ERROR_DUPLICATED_CLAN_NAME || 0x8002283a || <br /> |-<br /> | SCE_NP_CLANS_SERVER_ERROR_CLAN_LEADER_CANNOT_LEAVE || 0x8002283b || <br /> |-<br /> | SCE_NP_CLANS_SERVER_ERROR_ANNOUNCEMENT_LIMIT_REACHED || 0x8002283d || <br /> |-<br /> | SCE_NP_CLANS_SERVER_ERROR_CLAN_CONFIG_MASTER_NOT_FOUND || 0x8002283e || <br /> |-<br /> | SCE_NP_CLANS_SERVER_ERROR_DUPLICATED_CLAN_TAG || 0x8002283f || <br /> |-<br /> | SCE_NP_CLANS_SERVER_ERROR_EXCEEDS_CREATE_CLAN_FREQUENCY || 0x80022840 || <br /> |-<br /> | SCE_NP_CLANS_SERVER_ERROR_CLAN_PASSPHRASE_INCORRECT || 0x80022841 || <br /> |-<br /> | SCE_NP_CLANS_SERVER_ERROR_CANNOT_RECORD_BLACKLIST_ENTRY || 0x80022842 || <br /> |-<br /> | SCE_NP_CLANS_SERVER_ERROR_NO_SUCH_CLAN_ANNOUNCEMENT || 0x80022843 || <br /> |-<br /> | SCE_NP_CLANS_SERVER_ERROR_VULGAR_WORDS_POSTED || 0x80022844 || <br /> |-<br /> | SCE_NP_CLANS_SERVER_ERROR_BLACKLIST_LIMIT_REACHED || 0x80022845 || <br /> |-<br /> | SCE_NP_CLANS_SERVER_ERROR_NO_SUCH_BLACKLIST_ENTRY || 0x80022846 || <br /> |-<br /> | SCE_NP_CLANS_SERVER_ERROR_INVALID_NP_MESSAGE_FORMAT || 0x8002284b || <br /> |-<br /> | SCE_NP_CLANS_SERVER_ERROR_FAILED_TO_SEND_NP_MESSAGE || 0x8002284c ||<br /> |-<br /> !colspan=&quot;3&quot; | NP Commerce2 system utility error (0x80024000 - 0x800240ff)<br /> |-<br /> | SCE_NP_COMMERCE2_SYSTEM_UTIL_ERROR_INVALID_VOUCHER || 0x80024002 || <br /> |-<br /> !colspan=&quot;3&quot; | NP Rating error<br /> |-<br /> | SCE_NP_RATING_ERROR_ALREADY_INITIALIZED || 0x80024801 || <br /> |-<br /> | SCE_NP_RATING_ERROR_NOT_INITIALIZED || 0x80024802 || <br /> |-<br /> | SCE_NP_RATING_ERROR_INVALID_ARGUMENT || 0x80024803 || <br /> |-<br /> | SCE_NP_RATING_ERROR_SERVER_STATUS_CODE || 0x80024804 || <br /> |-<br /> | SCE_NP_RATING_ERROR_SNPRINTF || 0x80024805 || <br /> |-<br /> | SCE_NP_RATING_ERROR_BAD_RESPONSE || 0x80024806 || <br /> |-<br /> | SCE_NP_RATING_ERROR_TICKET_LEN || 0x80024807 || <br /> |-<br /> | SCE_NP_RATING_ERROR_SEND_BUF_LEN || 0x80024808 || <br /> |-<br /> | SCE_NP_RATING_ERROR_NPENV_LEN || 0x80024809 || <br /> |-<br /> | SCE_NP_RATING_ERROR_NO_TRANSACTION || 0x8002480a || <br /> |-<br /> | SCE_NP_RATING_ERROR_INVALID_SIGNATURE || 0x8002480b || <br /> |-<br /> | SCE_NP_RATING_ERROR_ABORTED || 0x8002480c || <br /> |-<br /> | SCE_NP_RATING_SERVER_ERROR_BAD_REQUEST || 0x80024901 || <br /> |-<br /> | SCE_NP_RATING_SERVER_ERROR_INVALID_TICKET || 0x80024902 || <br /> |-<br /> | SCE_NP_RATING_SERVER_ERROR_INVALID_SIGNATURE || 0x80024903 || <br /> |-<br /> | SCE_NP_RATING_SERVER_ERROR_EXPIRED_TICKET || 0x80024904 || <br /> |-<br /> | SCE_NP_RATING_SERVER_ERROR_INVALID_JID || 0x80024905 || <br /> |-<br /> | SCE_NP_RATING_SERVER_ERROR_INTERNAL_SERVER_ERROR || 0x80024907 || <br /> |-<br /> | SCE_NP_RATING_SERVER_ERROR_BANNED || 0x8002490a || <br /> |-<br /> | SCE_NP_RATING_SERVER_ERROR_BEFORE_SERVICE || 0x800249ad || <br /> |-<br /> | SCE_NP_RATING_SERVER_ERROR_END_OF_SERVICE || 0x800249ae || <br /> |-<br /> | SCE_NP_RATING_SERVER_ERROR_MAINTENANCE || 0x800249af || <br /> |-<br /> | SCE_NP_RATING_SERVER_ERROR_BLACKLISTED_ID || 0x80024911 || <br /> |-<br /> | SCE_NP_RATING_SERVER_ERROR_INVALID_ANTICHEAT_DATA || 0x80024919 || <br /> |-<br /> | SCE_NP_RATING_SERVER_ERROR_TITLE_MASTER_NOT_FOUND || 0x8002495a || <br /> |-<br /> | SCE_NP_RATING_SERVER_ERROR_RATING_OUT_OF_BOUNDS || 0x8002495b || <br /> |-<br /> | SCE_NP_RATING_SERVER_ERROR_INVALID_TARGET_STRING || 0x8002495c || <br /> |-<br /> !colspan=&quot;3&quot; | NP Commerce2 error (0x80023000 - 0x800230ff) <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_NOT_INITIALIZED || 0x80023001 || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_ALREADY_INITIALIZED || 0x80023002 || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_INVALID_ARGUMENT || 0x80023003 || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_UNSUPPORTED_VERSION || 0x80023004 || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_CTX_MAX || 0x80023005 || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_INVALID_INDEX || 0x80023006 || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_INVALID_SKUID || 0x80023007 || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_INVALID_SKU_NUM || 0x80023008 || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_INVALID_MEMORY_CONTAINER || 0x80023009 || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_INSUFFICIENT_MEMORY_CONTAINER || 0x8002300a || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_OUT_OF_MEMORY || 0x8002300b || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_CTX_NOT_FOUND || 0x8002300c || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_CTXID_NOT_AVAILABLE || 0x8002300d || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_REQ_NOT_FOUND || 0x8002300e || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_REQID_NOT_AVAILABLE || 0x8002300f || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_ABORTED || 0x80023010 || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_REQUEST_BUF_TOO_SMALL || 0x80023011 || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_RESPONSE_BUF_TOO_SMALL || 0x80023012 || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_COULD_NOT_RECV_WHOLE_RESPONSE_DATA || 0x80023013 || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_INVALID_RESULT_DATA || 0x80023014 || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_UNKNOWN || 0x80023015 || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_SERVER_MAINTENANCE || 0x80023016 || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_SERVER_UNKNOWN || 0x80023017 || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_INSUFFICIENT_BUF_SIZE || 0x80023018 || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_REQ_MAX || 0x80023019 || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_INVALID_TARGET_TYPE || 0x8002301a || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_INVALID_TARGET_ID || 0x8002301b || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_INVALID_SIZE || 0x8002301c || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_INVALID_APIID || 0x80023081 || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_INVALID_PAYMENT_TYPE || 0x80023082 || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_INVALID_VERSION || 0x80023083 || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_OUTPUT_BUF_TOO_SMALL || 0x80023084 || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_RESP_HEADER_INVALID_APIID || 0x80023085 || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_RESP_HEADER_INVALID_LEN || 0x80023086 ||<br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_DATA_NOT_FOUND || 0x80023087 ||<br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_TLV_TOO_SHORT || 0x80023088 || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_TLV_LESS_THAN_MINLEN || 0x80023089 || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_TLV_DATALEN_TOO_LONG || 0x8002308a || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_INVALID_NPENV || 0x8002308b ||<br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_TOO_LONG_NPENV || 0x8002308c || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_INTERFACE_NOT_FOUND || 0x8002308d ||<br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_PLUGIN_NOT_FOUND || 0x8002308e || <br /> |- <br /> | SCE_NP_COMMERCE2_ERROR_DIALOG_CANCELED || 0x8002308f || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_INVALID_CLEN || 0x80023090 || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_UNKNOWN_COUNTRY_CODE || 0x80023091 || <br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_SEE_INPUT_ERROR || 0x80023092 || <br /> |-<br /> | SCE_NP_COMMERCE2_CS_ERROR_ABORTED || 0x800230c0 || <br /> |-<br /> | SCE_NP_COMMERCE2_SC_ERROR_INVALID_RESPONSE || 0x800230e1 || <br /> |-<br /> !colspan=&quot;3&quot; | NP Commerce2 server error (0x80023100 - 0x800231ff)<br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_BAD_REQUEST || 0x80023101 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_UNKNOWN_ERROR || 0x80023102 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_TIMEOUT_ERROR || 0x80023103 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_NO_DATA_FOUND || 0x80023104 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_SESSION_EXPIRED || 0x80023105 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_VERSION_NOT_SUPPORTED || 0x80023106 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_ACCESS_PERMISSION_DENIED || 0x80023107 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_NO_SUCH_CATEGORY || 0x80023110 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_NO_SUCH_PRODUCT || 0x80023111 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_REQUIRES_PASSWORD || 0x80023112 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_NOT_ELIGIBILITY || 0x80023113 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_INVALID_LOGIN || 0x80023114 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_NO_SUCH_CURRENCY || 0x80023115 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_NO_PAYMENT_INFO || 0x80023116 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_CART_FULL || 0x80023117 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_INVALID_QUANTITY || 0x80023118 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_ITEM_ALREADY_IN_CART || 0x80023119 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_INVALID_SKU || 0x8002311a || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_ACCOUNT_SUSPENDED1&lt;br /&gt;SCE_NP_COMMERCE2_SERVER_ERROR_INACTIVE_ACCOUNT || 0x8002311b || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_SUSPENDED_ACCOUNT || 0x8002311c || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_SUSPENDED_CONSOLE || 0x8002311d || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_RESERVED_1E || 0x8002311e || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_EXCEEDS_MAX_WALLET_PURCHASE || 0x8002311f ||<br /> |-<br /> <br /> | SCE_NP_COMMERCE2_SERVER_ERROR_INVALID_EULA_VERSION || 0x80023140 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_INVALID_ADDRESS || 0x80023141 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_INVALID_PASSWORD || 0x80023142 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_SAME_LOGINID || 0x80023143 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_LOGINID_EXISTS || 0x80023144 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_INVALID_SUB_ACCOUNT || 0x80023145 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_INVALID_BIRTH_DATE || 0x80023146 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_INVALID_COUNTRY || 0x80023147 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_ONLINEID_EXISTS || 0x80023148 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_INVALID_ONLINEID || 0x80023149 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_CORRUPTED_DATA || 0x8002314a ||<br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_TOO_MANY_SUB_ACCOUNTS || 0x8002314b || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_CONSOLE_REG_EXCEEDED || 0x8002314c || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_ACCOUNT_BINDING_DESIABLED || 0x8002314d || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_INVALID_KOREAN_RRN || 0x8002314e || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_INVALID_LOGIN_OR_DOB || 0x8002314f || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_OVER_SPENDING_LIMIT || 0x80023120 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_AUTO_TOPUP_FAILED || 0x80023121 ||<br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_INSUFFICIENT_FUNDS || 0x80023122 ||<br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_CART_LOAD_FAILURE || 0x80023123 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_PURCHASE_FAILED || 0x80023124 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_INVALID_PURCHASE || 0x80023125 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_CART_EMPTY || 0x80023126 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_PAYMENT_ALREADY_EXIST || 0x80023127 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_INVALID_CREDIT_CARD_ADDRESS || 0x8002312a || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_INVALID_PAYMENT_ERROR || 0x8002312b || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_EXPIRED_CREDIT_CARD || 0x8002312c || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_ACTION_NOT_ALLOWED || 0x8002312d || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_NO_WALLET_INFO || 0x8002312e || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_INVALID_VOUCHER || 0x8002312f || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_CREDIT_CARD_REQUIRED || 0x80023162 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_ATTR_REQUIRED_FOR_TAX_CALC || 0x80023163 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_INVALID_SECURITY_ANSWER || 0x80023150 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_INVALID_PARENT || 0x80023151 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_INCORRECT_REGION || 0x80023152 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_CHILD_NOT_ALLOWED || 0x80023153 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_INVALID_CONSOLE_ID || 0x80023154 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_RATE_LIMIT_EXCEEDED || 0x80023156 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_VALID_REWARD_ENT_NOT_FOUND || 0x80023157 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_UPGRADE_REQUIRED || 0x80023158 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_SUBACCOUNT_UPGRADE_REQUIRED || 0x80023159 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_EXCEEDED_LIMIT_NUMBER_OF_CC || 0x8002315a || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_CC_REVERIFICATION_REQUIRED || 0x8002315b || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_INVALID_DOMAIN_PROVIDED || 0x8002315c || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_NO_CONTENTFILE_ID_FOUND || 0x8002315d || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_AUTO_DEPOSIT_FLAG_REQUIRED || 0x8002315f || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_VOUCHER_ALREADY_CONSUMED || 0x80023130 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_VOUCHER_TRANSACTION_OVER_LIMIT || 0x80023131 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_FAILED_AGE_REQUIREMENT || 0x80023132 ||<br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_VOUCHER_EXPIRED || 0x80023133 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_VOUCHER_SKU_REGION_MISMATCH || 0x80023134 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_VOUCHER_SKU_PRICE_NOT_FOUND || 0x80023135 || <br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_DEPOSIT_IN_PROGRESS_ERROR || 0x80023136 ||<br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_EDY_TRANSACTION_FAILED || 0x80023137 ||<br /> |-<br /> | SCE_NP_COMMERCE2_SERVER_ERROR_DEPOSIT_FAILED || 0x80023138 || <br /> |- <br /> | SCE_NP_COMMERCE2_SERVER_ERROR_EXCEEDS_AGE_LIMIT_IN_BROWSING || 0x80023139 || <br /> |-<br /> !colspan=&quot;3&quot; | Np Trophy Errors<br /> |-<br /> | SCE_NP_TROPHY_ERROR_ALREADY_INITIALIZED || 0x80022901 || sceNpTrophyInit() has already been called, or it has been called again before the call of sceNpTrophyTerm().<br /> |-<br /> | SCE_NP_TROPHY_ERROR_NOT_INITIALIZED || 0x80022902 || Not initialized. sceNpTrophyInit() has not been called, or sceNpTrophyTerm() has already been called.<br /> |-<br /> | SCE_NP_TROPHY_ERROR_NOT_SUPPORTED || 0x80022903 || An unsupported feature has been specified<br /> |-<br /> | SCE_NP_TROPHY_ERROR_CONTEXT_NOT_REGISTERED || 0x80022904 || The context has not been registered yet and cannot be used before registration<br /> |-<br /> | SCE_NP_TROPHY_ERROR_OUT_OF_MEMORY || 0x80022905 || Insufficient memory to process request<br /> |-<br /> | SCE_NP_TROPHY_ERROR_INVALID_ARGUMENT || 0x80022906 || Invalid argument<br /> |-<br /> | SCE_NP_TROPHY_ERROR_EXCEEDS_MAX || 0x80022907 || A value in the request exceeds the maximum limit allowed<br /> |-<br /> | SCE_NP_TROPHY_ERROR_INVALID_MEMORY_CONTAINER || 0x80022908 || <br /> |-<br /> | SCE_NP_TROPHY_ERROR_INSUFFICIENT || 0x80022909 || There is insufficient memory or storage to proceed<br /> |-<br /> | SCE_NP_TROPHY_ERROR_UNKNOWN_CONTEXT || 0x8002290a || Unknown context. The specified context does not exist.<br /> |-<br /> | SCE_NP_TROPHY_ERROR_INVALID_FORMAT || 0x8002290b || Format of the trophy package is invalid<br /> |-<br /> | SCE_NP_TROPHY_ERROR_BAD_RESPONSE || 0x8002290c || Internal error. The request could not be properly processed<br /> |-<br /> | SCE_NP_TROPHY_ERROR_INVALID_GRADE || 0x8002290d || Invalid trophy grade<br /> |-<br /> | SCE_NP_TROPHY_ERROR_INVALID_CONTEXT || 0x8002290e || Invalid context<br /> |-<br /> | SCE_NP_TROPHY_ERROR_PROCESSING_ABORTED || 0x8002290f || An invalid value was returned from SceNpTrophyStatusCallback and further processing has been aborted<br /> |-<br /> | SCE_NP_TROPHY_ERROR_ABORT || 0x80022910 || The handle has been aborted. The processing has been aborted by sceNpTrophyAbortHandle(). Destroy the handle.<br /> |-<br /> | SCE_NP_TROPHY_ERROR_UNKNOWN_HANDLE || 0x80022911 || Unknown handle. The specified handle does not exist.<br /> |-<br /> | SCE_NP_TROPHY_ERROR_LOCKED || 0x80022912 || The trophy has not been unlocked yet<br /> |-<br /> | SCE_NP_TROPHY_ERROR_HIDDEN || 0x80022913 || The trophy is hidden<br /> |-<br /> | SCE_NP_TROPHY_ERROR_CANNOT_UNLOCK_PLATINUM || 0x80022914 || Platinum trophy cannot be unlocked. The platinum trophy is unlocked by the system and cannot be unlocked by the application.<br /> |-<br /> | SCE_NP_TROPHY_ERROR_ALREADY_UNLOCKED || 0x80022915 || The trophy has already been unlocked<br /> |-<br /> | SCE_NP_TROPHY_ERROR_INVALID_TYPE || 0x80022916 || Invalid type<br /> |-<br /> | SCE_NP_TROPHY_ERROR_INVALID_HANDLE || 0x80022917 || Invalid handle <br /> |-<br /> | SCE_NP_TROPHY_ERROR_INVALID_NP_COMM_ID || 0x80022918 || Invalid NP Communication ID. Either the NP Communication ID or the NP communication signature is invalid.<br /> |-<br /> | SCE_NP_TROPHY_ERROR_UNKNOWN_NP_COMM_ID || 0x80022919 || NP Communication IDs do not match. The specified NP Communication ID does not match the NP Communication ID in the trophy pack file.<br /> |-<br /> | SCE_NP_TROPHY_ERROR_DISC_IO || 0x8002291a || Failed to read from disc. Fatal error – terminate the application.<br /> |-<br /> | SCE_NP_TROPHY_ERROR_CONF_DOES_NOT_EXIST || 0x8002291b || Trophy pack file does not exist<br /> |-<br /> | SCE_NP_TROPHY_ERROR_UNSUPPORTED_FORMAT || 0x8002291c || Unsupported trophy pack file format. Check that the trophy pack file has been created using the latest tool.<br /> |-<br /> | SCE_NP_TROPHY_ERROR_ALREADY_INSTALLED || 0x8002291d || The trophy set has already been installed or updated and does not require further processing<br /> |-<br /> | SCE_NP_TROPHY_ERROR_BROKEN_DATA || 0x8002291e || Internal error. The data is corrupted.<br /> |-<br /> | SCE_NP_TROPHY_ERROR_VERIFICATION_FAILURE || 0x8002291f || Trophy pack file signature verification failed. The trophy pack file could not be properly verified.<br /> |-<br /> | SCE_NP_TROPHY_ERROR_INVALID_TROPHY_ID || 0x80022920 || Invalid trophy ID. The trophy ID may exceed the maximum allowable number of trophies.<br /> |-<br /> | SCE_NP_TROPHY_ERROR_UNKNOWN_TROPHY_ID || 0x80022921 || Unknown trophy ID. The trophy for the specified trophy ID does not exist.<br /> |-<br /> | SCE_NP_TROPHY_ERROR_UNKNOWN_TITLE || 0x80022922 || The game title has not been installed. Be sure that the context is properly registered.<br /> |-<br /> | SCE_NP_TROPHY_ERROR_UNKNOWN_FILE || 0x80022923 || The file to be accessed could not be found<br /> |-<br /> | SCE_NP_TROPHY_ERROR_DISC_NOT_MOUNTED || 0x80022924 || The disc has not been mounted by the file system. Fatal error – terminate the application.<br /> |-<br /> | SCE_NP_TROPHY_ERROR_SHUTDOWN || 0x80022925 || The system is being shutdown. The processing cannot be carried on and is therefore being cancelled.<br /> |-<br /> | SCE_NP_TROPHY_ERROR_TITLE_ICON_NOT_FOUND || 0x80022926 || Trophy set still image icon does not exist. Check that the trophy pack file contains a trophy set still image icon.<br /> |-<br /> | SCE_NP_TROPHY_ERROR_TROPHY_ICON_NOT_FOUND || 0x80022927 || Trophy still image icon does not exist. Check that the trophy pack file contains all the trophy still image icons.<br /> |-<br /> | SCE_NP_TROPHY_ERROR_INSUFFICIENT_DISK_SPACE || 0x80022928 || Insufficient disk space. There is not enough disk space to register the trophy package to the system. Notify the user accordingly.<br /> |-<br /> | SCE_NP_TROPHY_ERROR_INVALID_SIGNATURE || 0x80022929 || <br /> |-<br /> | SCE_NP_TROPHY_ERROR_ILLEGAL_UPDATE || 0x8002292a || Cannot update. An irresolvable discrepancy has been found between the registered data and the data trying to be registered. Possible causes are from a change in trophy grade or a reduction in the number of trophies from the previous install. Check the trophy configuration data, and remove the previously installed trophy set from the console.<br /> |-<br /> | SCE_NP_TROPHY_ERROR_SAVEDATA_USER_DOES_NOT_MATCH || 0x8002292b || This user cannot use trophies. A discrepancy has been found between the creator of the save data and the trophy user. No trophies can be unlocked during this gaming session.<br /> |-<br /> | SCE_NP_TROPHY_ERROR_TROPHY_ID_DOES_NOT_EXIST || 0x8002292c || The trophy ID does not exist<br /> |-<br /> | SCE_NP_TROPHY_ERROR_SERVICE_UNAVAILABLE || 0x8002292d || The trophy service is currently unavailable<br /> |-<br /> | SCE_NP_TROPHY_ERROR_INVALID_PLATFORM || 0x8002292e || <br /> |-<br /> | SCE_NP_TROPHY_ERROR_UNKNOWN || 0x800229ff ||Unknown internal error<br /> |-<br /> !colspan=&quot;3&quot; | NP Custom Menu Error<br /> |-<br /> | SCE_NP_CUSTOM_MENU_ERROR_ALREADY_INITIALIZED || 0x80023b01 || <br /> |-<br /> | SCE_NP_CUSTOM_MENU_ERROR_NOT_INITIALIZED || 0x80023b02 || <br /> |-<br /> | SCE_NP_CUSTOM_MENU_ERROR_OUT_OF_MEMORY || 0x80023b03 || <br /> |-<br /> | SCE_NP_CUSTOM_MENU_ERROR_NOT_SUPPORTED || 0x80023b04 || <br /> |-<br /> | SCE_NP_CUSTOM_MENU_ERROR_INSUFFICIENT || 0x80023b05 || <br /> |-<br /> | SCE_NP_CUSTOM_MENU_ERROR_CANCEL || 0x80023b06 || <br /> |-<br /> | SCE_NP_CUSTOM_MENU_ERROR_STATUS || 0x80023b07 || <br /> |-<br /> | SCE_NP_CUSTOM_MENU_ERROR_BUSY || 0x80023b08 || <br /> |-<br /> | SCE_NP_CUSTOM_MENU_ERROR_INVALID_ARGUMENT || 0x80023b09 || <br /> |-<br /> | SCE_NP_CUSTOM_MENU_ERROR_ABORT || 0x80023b0a || <br /> |-<br /> | SCE_NP_CUSTOM_MENU_ERROR_NOT_REGISTERED || 0x80023b0b || <br /> |-<br /> | SCE_NP_CUSTOM_MENU_ERROR_EXCEEDS_MAX || 0x80023b0c || <br /> |-<br /> | SCE_NP_CUSTOM_MENU_ERROR_INVALID_CHARACTER || 0x80023b0d ||<br /> |-<br /> !colspan=&quot;3&quot; | SNS -&amp;gt; Social Networks<br /> |-<br /> | SCE_NP_SNS_ERROR_UNKNOWN || 0x80024501 || <br /> |-<br /> | SCE_NP_SNS_ERROR_NOT_SIGN_IN || 0x80024502 || <br /> |-<br /> | SCE_NP_SNS_ERROR_INVALID_ARGUMENT || 0x80024503 || <br /> |-<br /> | SCE_NP_SNS_ERROR_OUT_OF_MEMORY || 0x80024504 || <br /> |-<br /> | SCE_NP_SNS_ERROR_SHUTDOWN || 0x80024505 || <br /> |-<br /> | SCE_NP_SNS_ERROR_BUSY || 0x80024506 || <br /> |-<br /> !colspan=&quot;3&quot; | SNS FB -&amp;gt; Social Networks (Facebook)<br /> |-<br /> | SCE_NP_SNS_FB_ERROR_ALREADY_INITIALIZED || 0x80024511 || <br /> |-<br /> | SCE_NP_SNS_FB_ERROR_NOT_INITIALIZED || 0x80024512 || <br /> |-<br /> | SCE_NP_SNS_FB_ERROR_EXCEEDS_MAX || 0x80024513 || <br /> |-<br /> | SCE_NP_SNS_FB_ERROR_UNKNOWN_HANDLE || 0x80024514 || <br /> |-<br /> | SCE_NP_SNS_FB_ERROR_ABORTED || 0x80024515 || <br /> |-<br /> | SCE_NP_SNS_FB_ERROR_ALREADY_ABORTED || 0x80024516 || <br /> |-<br /> | SCE_NP_SNS_FB_ERROR_CONFIG_DISABLED || 0x80024517 || <br /> |-<br /> | SCE_NP_SNS_FB_ERROR_FBSERVER_ERROR_RESPONSE || 0x80024518 || <br /> |-<br /> | SCE_NP_SNS_FB_ERROR_THROTTLE_CLOSED || 0x80024519 || <br /> |-<br /> | SCE_NP_SNS_FB_ERROR_OPERATION_INTERVAL_VIOLATION || 0x8002451a || <br /> |-<br /> | SCE_NP_SNS_FB_ERROR_UNLOADED_THROTTLE || 0x8002451b || <br /> |-<br /> | SCE_NP_SNS_FB_ERROR_ACCESS_NOT_ALLOWED || 0x8002451c || <br /> |-<br /> !colspan=&quot;3&quot; | Np OAuth Errors<br /> |-<br /> | SCE_NP_OAUTH_ERROR_ALREADY_INITIALIZED || 0x80025f02 ||<br /> |-<br /> | SCE_NP_OAUTH_ERROR_NOT_INITIALIZED || 0x80025f03 ||<br /> |-<br /> | SCE_NP_OAUTH_ERROR_ABORTED || 0x80025f08 ||<br /> |-<br /> | SCE_NP_OAUTH_ERROR_REQUEST_NOT_FOUND || 0x80025f0a ||<br /> |-<br /> | SCE_NP_OAUTH_ERROR_REQUEST_MAX || 0x80025f11 ||<br /> |-<br /> !colspan=&quot;3&quot; | LS<br /> |-<br /> | SCE_NP_LS_ERROR_INVALID_VERSION || 0x80028c0d || A system software update is required.<br /> |-<br /> !colspan=&quot;3&quot; | other<br /> |-<br /> | SCE_NP_COMMERCE2_ERROR_WINDOWS_SYSTEM || 0x80860001 || <br /> |- <br /> | SCE_NP_COMMERCE2_QS_ERROR_NO_SECURITY_QUESTION_TEXT || 0x800230d0 || <br /> |-<br /> | SCE_NP_COMMERCE2_QS_ERROR_INSUFFICIENT_BUF || 0x800230d1 ||<br /> |- <br /> | SCE_NP_COMMERCE2_QS_ERROR_ABORTED || 0x800230d2 ||<br /> |-<br /> | SCE_NP_COMMERCE2_QS_ERROR_INVALID_NPENV || 0x800230d3<br /> |-<br /> |}<br /> <br /> == System Update errors with HTTP Server ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | || 0x80028e01 || HTTP status error was returned from the server.<br /> |-<br /> | || 0x80028e02 || No response from the server for Content-Length.<br /> |-<br /> | || 0x80028e03 || Size of image list file is larger than 64KB.<br /> |-<br /> | || 0x80028e04 || Content-Length of image list file and the file size that can actually be received are invalid.<br /> |-<br /> | || 0x80028e05 || Format of image list file is invalid.<br /> |-<br /> | || 0x80028e06 || Image list file does not include the Dest parameter that indicates the destination.<br /> |-<br /> | || 0x80028e07 || Frequent disconnections by the server while downloading the updater.<br /> |-<br /> | || 0x80028ea1 || Problem with network settings or network status.<br /> |-<br /> | || 0x80028ea2 || Problem with network settings or network status.<br /> |-<br /> | || 0x80028ea3 || Problem with network settings or network status.<br /> |-<br /> | || 0x80028ea4 || Problem with network settings or network status.<br /> |-<br /> | || 0x80028ea5 || Problem with network settings or network status.<br /> |-<br /> | || 0x80028ea6 || Problem with network settings or network status.<br /> |-<br /> | || 0x80028ea7 || Problem with network settings or network status.<br /> |-<br /> | || 0x80028ea8 || Problem with network settings or network status.<br /> |-<br /> | || 0x80028ea9 || Problem with network settings or network status.<br /> |-<br /> | || 0x80028eaa || Problem with network settings or network status.<br /> |-<br /> | || 0x80028eab || Problem with network settings or network status.<br /> |-<br /> | || 0x80028eac || Problem with network settings or network status.<br /> |-<br /> | || 0x80028ead || Problem with network settings or network status.<br /> |-<br /> | || 0x80029c9c || &quot;The datatype is not supported&quot; &gt; Update data does not support downgrades. Seen when updating to lower version from XMB with QA-extra flag / System Update Debug enabled. Solution: Use Recovery Menu for QA flagged systems, for downgrades to 2.50/2.70 &lt; 3.55<br /> |-<br /> | || 0x8002f029 || Invalid update data. (TargetID related) / The data type is not supported. (8002F029) when trying to install Debug/DEX firmware on a Retail/CEX console.<br /> |-<br /> | || 0x80029c68 || Error occurred while checking update data.<br /> |-<br /> | || 0x8002f828 || Error occurred while checking update data.<br /> |-<br /> | || 0x8002f82b || Error occurred while checking update data.<br /> |-<br /> | || 0x8002f997 || Error occurred while checking update data.<br /> |-<br /> | || 0x80029c41 || Error occurred while accessing the HDD.<br /> |-<br /> | || 0x80029c44 || Error occurred while accessing the HDD.<br /> |-<br /> | || 0x80029c48 || Error occurred while accessing the HDD.<br /> |-<br /> | || 0x80029c54 || Error occurred while accessing the HDD.<br /> |-<br /> | || 0x80029c55 || Error occurred while accessing storage media.<br /> |-<br /> | || 0x80029c65 || Error occurred while accessing storage media.<br /> |-<br /> | || 0x80029c75 || Error occurred while accessing storage media.<br /> |-<br /> |}<br /> <br /> == Subdisplay errors (PSP/Remoteplay) ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | || 0x80028F23 || Content does not support Remote Play<br /> |-<br /> | || 0x80029846 || Content is not compatible with Remote Play<br /> |-<br /> | CELL_SUBDISPLAY_ERROR_OUT_OF_MEMORY || 0x80029851 || Insufficient memory<br /> |-<br /> | CELL_SUBDISPLAY_ERROR_FATAL || 0x80029852 || Fatal error occurred<br /> |-<br /> | CELL_SUBDISPLAY_ERROR_NOT_FOUND || 0x80029853 || Internal error<br /> |-<br /> | CELL_SUBDISPLAY_ERROR_INVALID_VALUE || 0x80029854 || Specified parameter is invalid<br /> |-<br /> | CELL_SUBDISPLAY_ERROR_NOT_INITIALIZED || 0x80029855 || Not initialized properly<br /> |-<br /> | CELL_SUBDISPLAY_ERROR_SET_SAMPLE || 0x80029860 || Number of samples set with is not a multiple of 1024<br /> |-<br /> | CELL_SUBDISPLAY_ERROR_AUDIOOUT_IS_BUSY || 0x80029861 || Audio being output - failed to set data<br /> |-<br /> | CELL_SUBDISPLAY_ERROR_ZERO_REGISTERED || 0x80029813 || No PSP has been registered<br /> |-<br /> | CELL_REMOTEPLAY_ERROR_INTERNAL || 0x80029830 || <br /> |-<br /> |}<br /> <br /> == Network errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> !colspan=&quot;3&quot; | Sys Net errors (libnet) <br /> |-<br /> |-<br /> | SYS_NET_ERROR_EPERM || 0x80010201 || <br /> |-<br /> | SYS_NET_ERROR_ENOENT || 0x80010202 || <br /> |-<br /> | SYS_NET_ERROR_ESRCH || 0x80010203 || <br /> |-<br /> | SYS_NET_ERROR_EINTR || 0x80010204 || <br /> |-<br /> | SYS_NET_ERROR_EIO || 0x80010205 || <br /> |-<br /> | SYS_NET_ERROR_ENXIO || 0x80010206 || <br /> |-<br /> | SYS_NET_ERROR_E2BIG || 0x80010207 || <br /> |-<br /> | SYS_NET_ERROR_ENOEXEC || 0x80010208 || <br /> |-<br /> | SYS_NET_ERROR_EBADF || 0x80010209 || <br /> |-<br /> | SYS_NET_ERROR_ECHILD || 0x8001020a || <br /> |-<br /> | SYS_NET_ERROR_EDEADLK || 0x8001020b || <br /> |-<br /> | SYS_NET_ERROR_ENOMEM || 0x8001020c || <br /> |-<br /> | SYS_NET_ERROR_EACCES || 0x8001020d || <br /> |-<br /> | SYS_NET_ERROR_EFAULT || 0x8001020e || <br /> |-<br /> | SYS_NET_ERROR_ENOTBLK || 0x8001020f || <br /> |-<br /> | SYS_NET_ERROR_EBUSY || 0x80010210 || <br /> |-<br /> | SYS_NET_ERROR_EEXIST || 0x80010211 || <br /> |-<br /> | SYS_NET_ERROR_EXDEV || 0x80010212 || <br /> |-<br /> | SYS_NET_ERROR_ENODEV || 0x80010213 || <br /> |-<br /> | SYS_NET_ERROR_ENOTDIR || 0x80010214 || <br /> |-<br /> | SYS_NET_ERROR_EISDIR || 0x80010215 || <br /> |-<br /> | SYS_NET_ERROR_EINVAL || 0x80010216 || <br /> |-<br /> | SYS_NET_ERROR_ENFILE || 0x80010217 || <br /> |-<br /> | SYS_NET_ERROR_EMFILE || 0x80010218 || <br /> |-<br /> | SYS_NET_ERROR_ENOTTY || 0x80010219 || <br /> |-<br /> | SYS_NET_ERROR_ETXTBSY || 0x8001021a || <br /> |-<br /> | SYS_NET_ERROR_EFBIG || 0x8001021b || <br /> |-<br /> | SYS_NET_ERROR_ENOSPC || 0x8001021c || <br /> |-<br /> | SYS_NET_ERROR_ESPIPE || 0x8001021d || <br /> |-<br /> | SYS_NET_ERROR_EROFS || 0x8001021e || <br /> |-<br /> | SYS_NET_ERROR_EMLINK || 0x8001021f || <br /> |-<br /> | SYS_NET_ERROR_EPIPE || 0x80010220 || <br /> |-<br /> | SYS_NET_ERROR_EDOM || 0x80010221 || <br /> |-<br /> | SYS_NET_ERROR_ERANGE || 0x80010222 || <br /> |-<br /> | SYS_NET_ERROR_EAGAIN&lt;br /&gt;SYS_NET_ERROR_EWOULDBLOCK || 0x80010223 || <br /> |-<br /> | SYS_NET_ERROR_EINPROGRESS || 0x80010224 || <br /> |-<br /> | SYS_NET_ERROR_EALREADY || 0x80010225 || <br /> |-<br /> | SYS_NET_ERROR_ENOTSOCK || 0x80010226 || <br /> |-<br /> | SYS_NET_ERROR_EDESTADDRREQ || 0x80010227 || <br /> |-<br /> | SYS_NET_ERROR_EMSGSIZE || 0x80010228 || <br /> |-<br /> | SYS_NET_ERROR_EPROTOTYPE || 0x80010229 || <br /> |-<br /> | SYS_NET_ERROR_ENOPROTOOPT || 0x8001022a || <br /> |-<br /> | SYS_NET_ERROR_EPROTONOSUPPORT || 0x8001022b || <br /> |-<br /> | SYS_NET_ERROR_ESOCKTNOSUPPORT || 0x8001022c || <br /> |-<br /> | SYS_NET_ERROR_EOPNOTSUPP || 0x8001022d || <br /> |-<br /> | SYS_NET_ERROR_EPFNOSUPPORT || 0x8001022e || <br /> |-<br /> | SYS_NET_ERROR_EAFNOSUPPORT || 0x8001022f || <br /> |-<br /> | SYS_NET_ERROR_EADDRINUSE || 0x80010230 || <br /> |-<br /> | SYS_NET_ERROR_EADDRNOTAVAIL || 0x80010231 || <br /> |-<br /> | SYS_NET_ERROR_ENETDOWN || 0x80010232 || <br /> |-<br /> | SYS_NET_ERROR_ENETUNREACH || 0x80010233 || <br /> |-<br /> | SYS_NET_ERROR_ENETRESET || 0x80010234 || <br /> |-<br /> | SYS_NET_ERROR_ECONNABORTED || 0x80010235 || <br /> |-<br /> | SYS_NET_ERROR_ECONNRESET || 0x80010236 || <br /> |-<br /> | SYS_NET_ERROR_ENOBUFS || 0x80010237 || no free network buffers, usually caused by very high rate of filling/emptying the network queue<br /> |-<br /> | SYS_NET_ERROR_EISCONN || 0x80010238 || <br /> |-<br /> | SYS_NET_ERROR_ENOTCONN || 0x80010239 || <br /> |-<br /> | SYS_NET_ERROR_ESHUTDOWN || 0x8001023a || <br /> |-<br /> | SYS_NET_ERROR_ETOOMANYREFS || 0x8001023b || <br /> |-<br /> | SYS_NET_ERROR_ETIMEDOUT || 0x8001023c || <br /> |-<br /> | SYS_NET_ERROR_ECONNREFUSED || 0x8001023d || <br /> |-<br /> | SYS_NET_ERROR_ELOOP || 0x8001023e || <br /> |-<br /> | SYS_NET_ERROR_ENAMETOOLONG || 0x8001023f || <br /> |-<br /> | SYS_NET_ERROR_EHOSTDOWN || 0x80010240 || <br /> |-<br /> | SYS_NET_ERROR_EHOSTUNREACH || 0x80010241 || <br /> |-<br /> | SYS_NET_ERROR_ENOTEMPTY || 0x80010242 || <br /> |-<br /> | SYS_NET_ERROR_EPROCLIM || 0x80010243 || <br /> |-<br /> | SYS_NET_ERROR_EUSERS || 0x80010244 || <br /> |-<br /> | SYS_NET_ERROR_EDQUOT || 0x80010245 || <br /> |-<br /> | SYS_NET_ERROR_ESTALE || 0x80010246 || <br /> |-<br /> | SYS_NET_ERROR_EREMOTE || 0x80010247 || <br /> |-<br /> | SYS_NET_ERROR_EBADRPC || 0x80010248 || <br /> |-<br /> | SYS_NET_ERROR_ERPCMISMATCH || 0x80010249 || <br /> |-<br /> | SYS_NET_ERROR_EPROGUNAVAIL || 0x8001024a || <br /> |-<br /> | SYS_NET_ERROR_EPROGMISMATCH || 0x8001024b || <br /> |-<br /> | SYS_NET_ERROR_EPROCUNAVAIL || 0x8001024c || <br /> |-<br /> | SYS_NET_ERROR_ENOLCK || 0x8001024d || <br /> |-<br /> | SYS_NET_ERROR_ENOSYS || 0x8001024e || <br /> |-<br /> | SYS_NET_ERROR_EFTYPE || 0x8001024f || <br /> |-<br /> | SYS_NET_ERROR_EAUTH || 0x80010250 || <br /> |-<br /> | SYS_NET_ERROR_ENEEDAUTH || 0x80010251 || <br /> |-<br /> | SYS_NET_ERROR_EIDRM || 0x80010252 || <br /> |-<br /> | SYS_NET_ERROR_ENOMSG || 0x80010253 || <br /> |-<br /> | SYS_NET_ERROR_EOVERFLOW || 0x80010254 || <br /> |-<br /> | SYS_NET_ERROR_EILSEQ || 0x80010255 || <br /> |-<br /> | SYS_NET_ERROR_ENOTSUP || 0x80010256 || <br /> |-<br /> | SYS_NET_ERROR_ECANCELED || 0x80010257 || <br /> |-<br /> | SYS_NET_ERROR_EBADMSG || 0x80010258 || <br /> |-<br /> | SYS_NET_ERROR_ENODATA || 0x80010259 || <br /> |-<br /> | SYS_NET_ERROR_ENOSR || 0x8001025a || <br /> |-<br /> | SYS_NET_ERROR_ENOSTR || 0x8001025b || <br /> |-<br /> | SYS_NET_ERROR_ETIME || 0x8001025c || <br /> |-<br /> !colspan=&quot;3&quot; | Cell Net Ctl errors (libnetctl) <br /> |-<br /> | CELL_NET_CTL_ERROR_NOT_INITIALIZED || 0x80130101 || Library not initialized<br /> |-<br /> | CELL_NET_CTL_ERROR_NOT_TERMINATED || 0x80130102 || Library not terminated<br /> |-<br /> | CELL_NET_CTL_ERROR_HANDLER_MAX || 0x80130103 || No more handlers can be registered<br /> |-<br /> | CELL_NET_CTL_ERROR_ID_NOT_FOUND || 0x80130104 || ID specified in argument not registered<br /> |-<br /> | CELL_NET_CTL_ERROR_INVALID_ID || 0x80130105 || ID specified in argument invalid<br /> |-<br /> | CELL_NET_CTL_ERROR_INVALID_CODE || 0x80130106 || Code specified in argument invalid<br /> |-<br /> | CELL_NET_CTL_ERROR_INVALID_ADDR || 0x80130107 || Address specified in argument invalid<br /> |-<br /> | CELL_NET_CTL_ERROR_NOT_CONNECTED || 0x80130108 || Not connected<br /> |-<br /> | CELL_NET_CTL_ERROR_NOT_AVAIL || 0x80130109 || Not in state where information can be obtained<br /> |-<br /> | CELL_NET_CTL_ERROR_INVALID_TYPE || 0x8013010a || Type specified as argument is invalid<br /> |-<br /> | CELL_NET_CTL_ERROR_INVALID_SIZE || 0x8013010b || Value of the size member of the structure is invalid<br /> |-<br /> | CELL_NET_CTL_ERROR_WLAN_DEAUTHED || 0x80130137 || Disconnected from the AP<br /> |-<br /> | CELL_NET_CTL_ERROR_WLAN_KEYINFO_EXCHNAGE_TIMEOUT || 0x8013013d || Key information exchange of WPA timed out<br /> |-<br /> | CELL_NET_CTL_ERROR_WLAN_ASSOC_FAILED || 0x8013013e || Association failed<br /> |-<br /> | CELL_NET_CTL_ERROR_WLAN_AP_DISAPPEARED || 0x8013013f || Beacons from the AP stopped arriving<br /> |-<br /> | CELL_NET_CTL_ERROR_NET_DISABLED || 0x80130181 || Internet connection is disabled<br /> |-<br /> | CELL_NET_CTL_ERROR_NET_NOT_CONNECTED || 0x80130182 || Network connection is not established<br /> |-<br /> | CELL_NET_CTL_ERROR_NP_NO_ACCOUNT || 0x80130183 || NP account is not set<br /> |-<br /> | CELL_NET_CTL_ERROR_NP_RESERVED1 || 0x80130184 || Unused<br /> |-<br /> | CELL_NET_CTL_ERROR_NP_RESERVED2 || 0x80130185 || Unused<br /> |-<br /> | CELL_NET_CTL_ERROR_NET_CABLE_NOT_CONNECTED || 0x80130186 || Ethernet cable is not connected<br /> |-<br /> | CELL_NET_CTL_ERROR_DIALOG_CANCELED || 0x80130190 || Dialog was cancelled<br /> |-<br /> | CELL_NET_CTL_ERROR_DIALOG_ABORTED || 0x80130191 || Dialog was forced to terminate<br /> |-<br /> | CELL_NET_CTL_ERROR_PPPOE_SESSION_INIT || 0x80130409 || PPP INIT state error<br /> |-<br /> | CELL_NET_CTL_ERROR_PPPOE_SESSION_NO_PADO || 0x8013040a || PADO could not be received<br /> |-<br /> | CELL_NET_CTL_ERROR_PPPOE_SESSION_NO_PADS || 0x8013040b || PADS could not be received<br /> |-<br /> | CELL_NET_CTL_ERROR_PPPOE_SESSION_GET_PADT || 0x8013040d || PADT was received<br /> |-<br /> | CELL_NET_CTL_ERROR_PPPOE_SESSION_SERVICE_NAME || 0x8013040f || Service Name error was received<br /> |-<br /> | CELL_NET_CTL_ERROR_PPPOE_SESSION_AC_SYSTEM || 0x80130410 || AC System error was received<br /> |-<br /> | CELL_NET_CTL_ERROR_PPPOE_SESSION_GENERIC || 0x80130411 || Generic error was received<br /> |-<br /> | CELL_NET_CTL_ERROR_PPPOE_STATUS_AUTH || 0x80130412 || Authorization failed (wrong user name or password)<br /> |-<br /> | CELL_NET_CTL_ERROR_PPPOE_STATUS_NETWORK || 0x80130413 || PPP NETWORK state error<br /> |-<br /> | CELL_NET_CTL_ERROR_PPPOE_STATUS_TERMINATE || 0x80130414 || PPP TERMINATE state error<br /> |-<br /> | CELL_NET_CTL_ERROR_DHCP_LEASE_TIME || 0x80130504 || IP address lease time expired<br /> |-<br /> !colspan=&quot;3&quot; | Cell Ftp Service errors (libftp)<br /> |-<br /> | CELL_FTP_SERVICE_ERROR_NETWORK_NOT_INITIALIZED || 0x80130701 || Network access has not been initialized<br /> |-<br /> | CELL_FTP_SERVICE_ERROR_STORAGE_NOT_INITIALIZED || 0x80130702 || HDD access has not been initialized<br /> |-<br /> | CELL_FTP_SERVICE_ERROR_RTCLOCK_NOT_INITIALIZED || 0x80130703 || Real-time Clock has not been initialized<br /> |-<br /> | CELL_FTP_SERVICE_ERROR_ALREADY_RUNNING || 0x80130704 || An instance of the service is already running<br /> |-<br /> | CELL_FTP_SERVICE_ERROR_NOT_RUNNING || 0x80130705 || Service is not currently running<br /> |-<br /> | CELL_FTP_SERVICE_ERROR_NETWORK_ERROR || 0x80130706 || A core network error has occurred<br /> |-<br /> | CELL_FTP_SERVICE_ERROR_NULL_POINTER || 0x80130707 || Null pointer error<br /> |-<br /> | CELL_FTP_SERVICE_ERROR_INTERNAL || 0x801307FF || An internal error has occurred<br /> |-<br /> !colspan=&quot;3&quot; | Cell Http errors (libhttp) <br /> |-<br /> | CELL_HTTP_ERROR_ALREADY_INITIALIZED || 0x80710001 || Library has already been initialized and cannot be initialized again.<br /> |-<br /> | CELL_HTTP_ERROR_NOT_INITIALIZED || 0x80710002 || Library has not yet been initialized. Please initialize before use.<br /> |-<br /> | CELL_HTTP_ERROR_NO_MEMORY || 0x80710003 || Call to allocate memory failed (returns NULL)<br /> |-<br /> | CELL_HTTP_ERROR_NO_BUFFER || 0x80710004 || No buffer was provided in one of the parameters<br /> |-<br /> | CELL_HTTP_ERROR_NO_STRING || 0x80710005 || No string to read has been provided (as a parameter)<br /> |-<br /> | CELL_HTTP_ERROR_INSUFFICIENT || 0x80710006 || Buffer space was insufficient to write into<br /> |-<br /> | CELL_HTTP_ERROR_INVALID_URI || 0x80710007 || Malformed URI<br /> |-<br /> | CELL_HTTP_ERROR_INVALID_HEADER || 0x80710008 || Malformed libhttp header<br /> |-<br /> | CELL_HTTP_ERROR_BAD_METHOD || 0x80710009 || The method provided is not usable<br /> |-<br /> | CELL_HTTP_ERROR_BAD_CLIENT || 0x80710010 || Not a proper client ID<br /> |-<br /> | CELL_HTTP_ERROR_BAD_TRANS || 0x80710011 || Not a proper transaction ID<br /> |-<br /> | CELL_HTTP_ERROR_NO_CONNECTION || 0x80710012 || No connection available<br /> |-<br /> | CELL_HTTP_ERROR_NO_REQUEST_SENT || 0x80710013 || Request has not been sent yet<br /> |-<br /> | CELL_HTTP_ERROR_ALREADY_BUILT || 0x80710014 || Request has already been built<br /> |-<br /> | CELL_HTTP_ERROR_ALREADY_SENT || 0x80710015 || Request has already been sent<br /> |-<br /> | CELL_HTTP_ERROR_NO_HEADER || 0x80710016 || That header does not exist<br /> |-<br /> | CELL_HTTP_ERROR_NO_CONTENT_LENGTH || 0x80710017 || No content-length was defined<br /> |-<br /> | CELL_HTTP_ERROR_TOO_MANY_REDIRECTS || 0x80710018 || Exceeded maximum number of auto-redirections (default:5)<br /> |-<br /> | CELL_HTTP_ERROR_TOO_MANY_AUTHS || 0x80710019 || Exceeded maximum number of auto-authentication tries (default:5)<br /> |-<br /> | CELL_HTTP_ERROR_TRANS_NO_CONNECTION || 0x80710020 || Transaction does not have a connection associated to it<br /> |-<br /> | CELL_HTTP_ERROR_CB_FAILED || 0x80710021 || Tried to callback to the application, but failed (e.g.: CellHttpAuthenticationCallback returns a negative value or has not been set)<br /> |-<br /> | CELL_HTTP_ERROR_NOT_PIPED || 0x80710022 || The connection has no transactions in the pipeline –internal error<br /> |-<br /> | CELL_HTTP_ERROR_OUT_OF_ORDER_PIPE || 0x80710023 || There is another request next in the pipeline<br /> |-<br /> | CELL_HTTP_ERROR_TRANS_ABORTED || 0x80710024 || This transaction has been aborted<br /> |-<br /> | CELL_HTTP_ERROR_BROKEN_PIPELINE || 0x80710025 || The pipeline that this transaction was using has been aborted, and thus broke the pipeline<br /> |-<br /> | CELL_HTTP_ERROR_UNAVAILABLE || 0x80710026 || The request made is for an unavailable service<br /> |-<br /> | CELL_HTTP_ERROR_INVALID_VALUE || 0x80710027 || An invalid value was found in processing<br /> |-<br /> | CELL_HTTP_ERROR_CANNOT_AUTHENTICATE || 0x80710028 || Cannot authenticate the transaction (not enough info)<br /> |-<br /> | CELL_HTTP_ERROR_COOKIE_NOT_FOUND || 0x80710041 || The cookie is not valid<br /> |-<br /> | CELL_HTTP_ERROR_COOKIE_INVALID_DOMAIN || 0x80710042 || The cookie contains an invalid domain<br /> |-<br /> | CELL_HTTP_ERROR_CACHE_ALREADY_INITIALIZED || 0x80710043 || cache has already been initialized<br /> |-<br /> | CELL_HTTP_ERROR_CACHE_NOT_INITIALIZED || 0x80710044 || cache has not yet been initialized<br /> |-<br /> | CELL_HTTP_ERROR_LINE_EXCEEDS_MAX || 0x80710045 || The response line or header exceeds the maximum response buffer size<br /> |-<br /> | CELL_HTTP_ERROR_REQUIRES_BASIC_AUTH || 0x80710046 || basic auth is disabled, yet basic auth is required for authorization<br /> |-<br /> | CELL_HTTP_ERROR_UNKNOWN || 0x80710051 || Undefined error (not listed below)<br /> |-<br /> | CELL_HTTP_ERROR_INTERNAL || 0x80710052 || Internal failure<br /> |-<br /> | CELL_HTTP_ERROR_NONREMOVABLE || 0x80710053 || Not a removable connection (not free or non-existent connection)<br /> |-<br /> | CELL_HTTP_ERROR_BAD_CONN || 0x80710054 || Bad connection (non-existent)<br /> |-<br /> | CELL_HTTP_ERROR_BAD_MAN || 0x80710055 || Bad connection manager (non-existent)<br /> |-<br /> | CELL_HTTP_ERROR_NO_POOL || 0x80710056 || No connection pool exists<br /> |-<br /> | CELL_HTTP_ERROR_NO_REQUEST || 0x80710057 || No request (structure) or request has not been created yet<br /> |-<br /> | CELL_HTTP_ERROR_LOCK_FAILED || 0x80710058 || Internal failure<br /> |-<br /> | CELL_HTTP_ERROR_INVALID_DATA || 0x80710059 || Encountered invalid data during processing<br /> |-<br /> | CELL_HTTP_ERROR_BROKEN_CHUNK || 0x8071005a || Unexpectedly interrupted while processing chunk encoding<br /> |-<br /> | CELL_HTTP_ERROR_DECODE_SETUP || 0x8071005b || error occured in setting up for decoding<br /> |-<br /> | CELL_HTTP_ERROR_DECODE_STREAM || 0x8071005c || error occured in setting up for decoding<br /> |-<br /> | CELL_HTTP_ERROR_BROKEN_DECODE_STREAM || 0x8071005d || the decode stream has been interrupted<br /> |-<br /> | CELL_HTTP_ERROR_INVALID_DCACHE_PATH || 0x80710060 || disk cache path is invalid<br /> |-<br /> | CELL_HTTP_ERROR_DCACHE_ALREADY_INITIALIZED || 0x80710061 || disk cache has already been initialized<br /> |-<br /> | CELL_HTTP_ERROR_DCACHE_NOT_INITIALIZED || 0x80710062 || disk cache has not yet been initialized<br /> |-<br /> | CELL_HTTP_ERROR_TOO_MANY_DCACHE_ENTRY || 0x80710063 || too many disk cache entries<br /> |-<br /> | CELL_HTTP_ERROR_DUP_DCACHE_ENTRY || 0x80710064 || duplicated cache entry is found<br /> |-<br /> | CELL_HTTP_ERROR_WRITE_DCACHE || 0x80710065 || unknown disk cache writing error<br /> |-<br /> | CELL_HTTP_ERROR_READ_DCACHE || 0x80710066 || unknown disk cache reading error<br /> |-<br /> | CELL_HTTP_ERROR_CACHE_TOO_LARGE || 0x80710067 || too large cache entry<br /> |-<br /> | CELL_HTTP_ERROR_INVALID_DCACHE_VERSION || 0x80710068 || invalid disk cache version<br /> |-<br /> | CELL_HTTP_ERROR_DCACHE_FILE_BROKEN || 0x80710069 || disk cache file is broken<br /> |-<br /> | CELL_HTTP_ERROR_DCACHE_EXCEEDS_MAX || 0x8071006a || disk cache exceeds maximum allowed<br /> |-<br /> | CELL_HTTP_ERROR_DCACHE_BUSY || 0x8071006b || disk cache is busy<br /> |-<br /> | CELL_HTTP_ERROR_DCACHE_INDEX_BROKEN || 0x8071006c || disk cache index file is broken<br /> |-<br /> | CELL_HTTP_ERROR_INVALID_DCACHE_INDEX_NODE || 0x8071006d || invalid index node type<br /> |-<br /> | CELL_HTTP_ERROR_DCACHE_FILE_INCONSISTENCY || 0x8071006e || detect inconsistency in cache file<br /> |-<br /> | CELL_HTTP_ERROR_DCACHE_URI_TOO_LONG || 0x8071006f || too long url<br /> |-<br /> | CELL_HTTP_ERROR_READ_DCACHE_EOF || 0x80710070 || eof in reading<br /> |-<br /> | CELL_HTTP_ERROR_END_OF_DCACHE_INDEX_NODE || 0x80710071 || end of node<br /> |-<br /> | CELL_HTTP_ERROR_NO_CACHE_MEMORY || 0x80710072 || no cache memory<br /> |-<br /> | CELL_HTTP_ERROR_DCACHE_BROKEN || 0x80710073 || broken cache file<br /> |-<br /> | CELL_HTTP_ERROR_DCACHE_TOO_MANY_WRITE || 0x80710074 || too many cache file for writing<br /> |-<br /> | CELL_HTTP_ERROR_DCACHE_TOO_MANY_READ || 0x80710075 || too many cache file for reading<br /> |-<br /> | CELL_HTTP_ERROR_DCACHE_FATAL || 0x80710076 || fatal error have been occured<br /> |-<br /> | CELL_HTTP_ERROR_DCACHE_UNSUPPORTED_FEATURE || 0x80710077 || unsupported feature<br /> |-<br /> | CELL_HTTP_ERROR_DCACHE_INDEX_IS_ALREADY_OPEN || 0x80710078 || cache index node is alread open<br /> |-<br /> | CELL_HTTP_ERROR_DCACHE_INDEX_IS_OPENING || 0x80710079 || cache index node is now opening<br /> |-<br /> | CELL_HTTP_ERROR_DCACHE_UNKNOWN || 0x80710080 || diskcache unknown error<br /> |-<br /> | CELL_HTTP_ERROR_DCACHE_INDEX_IS_CLOSED || 0x80710081 || cache index node is already closed<br /> |-<br /> | CELL_HTTP_ERROR_DCACHE_ABORTED || 0x80710082 || opening diskcache is aborted<br /> |-<br /> | CELL_HTTP_ERROR_DCACHE_INDEX_IS_CLOSING || 0x80710083 || opening diskcache is aborted<br /> |-<br /> | CELL_HTTP_ERROR_DCACHE_UNKNOWN_INDEX_STATE || 0x80710084 || unknown index state<br /> |-<br /> | CELL_HTTP_ERROR_NET_FIN || 0x80710091 || Received EOF (FIN) from the socket<br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_TIMEOUT || 0x80710092 || Timed out while connecting<br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_TIMEOUT || 0x80710093 || Timed out while polling<br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_TIMEOUT || 0x80710094 || timed out while polling<br /> |-<br /> | CELL_HTTP_ERROR_NET_RESOLVER || 0x80710100 || Error calling gethostbyname(). Error code is net_h_errno.<br /> |-<br /> | CELL_HTTP_ERROR_NET_RESOLVER_HOST_NOT_FOUND || 0x80710101 || Connection error<br /> |-<br /> | CELL_HTTP_ERROR_NET_RESOLVER_TRY_AGAIN || 0x80710102 || DNS Error; No DNS server available. / IP conflict, PS3 Cannot connect to the router with current IP information. Try rebooting your router<br /> |-<br /> | CELL_HTTP_ERROR_NET_RESOLVER_NO_RECOVERY || 0x80710103 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RESOLVER_NO_DATA&lt;br /&gt;CELL_HTTP_ERROR_NET_RESOLVER_NO_ADDRESS || 0x80710104 || DNS Error / Experienced with Cobra CFW and trying PS3ITA/Rebug Spoof for PSN.<br /> |-<br /> | CELL_HTTP_ERROR_NET_RESOLVER_NETDB_INTERNAL || 0x807101FF || An error occurred during communication with the server. This is a DNS error<br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT || 0x80710200 || Error calling network abort. Error code is net_errno.<br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EPERM || 0x80710201 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ENOENT || 0x80710202 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ESRCH || 0x80710203 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EINTR || 0x80710204 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EIO || 0x80710205 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ENXIO || 0x80710206 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_E2BIG || 0x80710207 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ENOEXC || 0x80710208 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EBADF || 0x80710209 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ECHILD || 0x8071020a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EDEADLK || 0x8071020b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ENOMEM || 0x8071020c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EACCES || 0x8071020d || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EFAULT || 0x8071020e || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ENOTBLK || 0x8071020f || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EBUSY || 0x80710210 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EEXIST || 0x80710211 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EXDEV || 0x80710212 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ENODEV || 0x80710213 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ENOTDIR || 0x80710214 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EISDIR || 0x80710215 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EINVAL || 0x80710216 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ENFILE || 0x80710217 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EMFILE || 0x80710218 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ENOTTY || 0x80710219 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ETXTBSY || 0x8071021a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EFBIG || 0x8071021b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ENOSPC || 0x8071021c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ESPIPE || 0x8071021d || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EROFS || 0x8071021e || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EMLINK || 0x8071021f || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EPIPE || 0x80710220 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EDOM || 0x80710221 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ERANGE || 0x80710222 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EAGAIN || 0x80710223 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EWOULDBLOCK || 0x80710223 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EINPROGRESS || 0x80710224 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EALREADY || 0x80710225 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ENOTSOCK || 0x80710226 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EDESTADDRREQ || 0x80710227 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EMSGSIZE || 0x80710228 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EPROTOTYPE || 0x80710229 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ENOPROTOOPT || 0x8071022a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EPROTONOSUPPORT || 0x8071022b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ESOCKTNOSUPPORT || 0x8071022c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EOPNOTSUPP || 0x8071022d || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EPFNOSUPPORT || 0x8071022e || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EAFNOSUPPORT || 0x8071022f || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EADDRINUSE || 0x80710230 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EADDRNOTAVAIL || 0x80710231 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ENETDOWN || 0x80710232 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ENETUNREACH || 0x80710233 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ENETRESET || 0x80710234 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ECONNABORTED || 0x80710235 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ECONNRESET || 0x80710236 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ENOBUFS || 0x80710237 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EISCONN || 0x80710238 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ENOTCONN || 0x80710239 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ESHUTDOWN || 0x8071023a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ETOOMANYREFS || 0x8071023b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ETIMEDOUT || 0x8071023c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ECONNREFUSED || 0x8071023d || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ELOOP || 0x8071023e || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ENAMETOOLONG || 0x8071023f || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EHOSTDOWN || 0x80710240 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EHOSTUNREACH || 0x80710241 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ENOTEMPTY || 0x80710242 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EPROCLIM || 0x80710243 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EUSERS || 0x80710244 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EDQUOT || 0x80710245 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ESTALE || 0x80710246 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EREMOTE || 0x80710247 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EBADRPC || 0x80710248 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ERPCMISMATCH || 0x80710249 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EPROGUNAVAIL || 0x8071024a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EPROGMISMATCH || 0x8071024b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EPROCUNAVAIL || 0x8071024c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ENOLCK || 0x8071024d || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ENOSYS || 0x8071024e || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EFTYPE || 0x8071024f || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EAUTH || 0x80710250 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ENEEDAUTH || 0x80710251 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EIDRM || 0x80710252 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ENOMSG || 0x80710253 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EOVERFLOW || 0x80710254 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EILSEQ || 0x80710255 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ENOTSUP || 0x80710256 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ECANCELED || 0x80710257 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_EBADMSG || 0x80710258 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ENODATA || 0x80710259 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ENOSR || 0x8071025a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ENOSTR || 0x8071025b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_ABORT_ETIME || 0x8071025c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION ||0x80710300|| Error calling setsockopt(). Error code is net_errno.<br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EPERM || 0x80710301 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ENOENT || 0x80710302 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ESRCH || 0x80710303 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EINTR || 0x80710304 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EIO || 0x80710305 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ENXIO || 0x80710306 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_E2BIG || 0x80710307 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ENOEXC || 0x80710308 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EBADF || 0x80710309 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ECHILD || 0x8071030a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EDEADLK || 0x8071030b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ENOMEM || 0x8071030c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EACCES || 0x8071030d || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EFAULT || 0x8071030e || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ENOTBLK || 0x8071030f || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EBUSY || 0x80710310 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EEXIST || 0x80710311 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EXDEV || 0x80710312 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ENODEV || 0x80710313 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ENOTDIR || 0x80710314 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EISDIR || 0x80710315 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EINVAL || 0x80710316 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ENFILE || 0x80710317 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EMFILE || 0x80710318 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ENOTTY || 0x80710319 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ETXTBSY || 0x8071031a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EFBIG || 0x8071031b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ENOSPC || 0x8071031c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ESPIPE || 0x8071031d || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EROFS || 0x8071031e || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EMLINK || 0x8071031f || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EPIPE || 0x80710320 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EDOM || 0x80710321 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ERANGE || 0x80710322 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EAGAIN || 0x80710323 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EWOULDBLOCK || 0x80710323 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EINPROGRESS || 0x80710324 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EALREADY || 0x80710325 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ENOTSOCK || 0x80710326 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EDESTADDRREQ || 0x80710327 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EMSGSIZE || 0x80710328 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EPROTOTYPE || 0x80710329 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ENOPROTOOPT || 0x8071032a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EPROTONOSUPPORT || 0x8071032b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ESOCKTNOSUPPORT || 0x8071032c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EOPNOTSUPP || 0x8071032d || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EPFNOSUPPORT || 0x8071032e || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EAFNOSUPPORT || 0x8071032f || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EADDRINUSE || 0x80710330 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EADDRNOTAVAIL || 0x80710331 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ENETDOWN || 0x80710332 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ENETUNREACH || 0x80710333 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ENETRESET || 0x80710334 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ECONNABORTED || 0x80710335 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ECONNRESET || 0x80710336 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ENOBUFS || 0x80710337 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EISCONN || 0x80710338 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ENOTCONN || 0x80710339 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ESHUTDOWN || 0x8071033a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ETOOMANYREFS || 0x8071033b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ETIMEDOUT || 0x8071033c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ECONNREFUSED || 0x8071033d || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ELOOP || 0x8071033e || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ENAMETOOLONG || 0x8071033f || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EHOSTDOWN || 0x80710340 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EHOSTUNREACH || 0x80710341 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ENOTEMPTY || 0x80710342 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EPROCLIM || 0x80710343 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EUSERS || 0x80710344 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EDQUOT || 0x80710345 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ESTALE || 0x80710346 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EREMOTE || 0x80710347 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EBADRPC || 0x80710348 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ERPCMISMATCH || 0x80710349 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EPROGUNAVAIL || 0x8071034a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EPROGMISMATCH || 0x8071034b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EPROCUNAVAIL || 0x8071034c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ENOLCK || 0x8071034d || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ENOSYS || 0x8071034e || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EFTYPE || 0x8071034f || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EAUTH || 0x80710350 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ENEEDAUTH || 0x80710351 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EIDRM || 0x80710352 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ENOMSG || 0x80710353 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EOVERFLOW || 0x80710354 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EILSEQ || 0x80710355 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ENOTSUP || 0x80710356 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ECANCELED || 0x80710357 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_EBADMSG || 0x80710358 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ENODATA || 0x80710359 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ENOSR || 0x8071035a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ENOSTR || 0x8071035b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_OPTION_ETIME || 0x8071035c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET || 0x80710400 || Error calling socket(). Error code is net_errno. <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EPERM || 0x80710401 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ENOENT || 0x80710402 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ESRCH || 0x80710403 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EINTR || 0x80710404 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EIO || 0x80710405 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ENXIO || 0x80710406 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_E2BIG || 0x80710407 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ENOEXC || 0x80710408 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EBADF || 0x80710409 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ECHILD || 0x8071040a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EDEADLK || 0x8071040b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ENOMEM || 0x8071040c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EACCES || 0x8071040d || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EFAULT || 0x8071040e || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ENOTBLK || 0x8071040f || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EBUSY || 0x80710410 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EEXIST || 0x80710411 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EXDEV || 0x80710412 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ENODEV || 0x80710413 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ENOTDIR || 0x80710414 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EISDIR || 0x80710415 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EINVAL || 0x80710416 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ENFILE || 0x80710417 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EMFILE || 0x80710418 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ENOTTY || 0x80710419 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ETXTBSY || 0x8071041a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EFBIG || 0x8071041b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ENOSPC || 0x8071041c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ESPIPE || 0x8071041d || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EROFS || 0x8071041e || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EMLINK || 0x8071041f || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EPIPE || 0x80710420 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EDOM || 0x80710421 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ERANGE || 0x80710422 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EAGAIN || 0x80710423 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EWOULDBLOCK || 0x80710423 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EINPROGRESS || 0x80710424 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EALREADY || 0x80710425 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ENOTSOCK || 0x80710426 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EDESTADDRREQ || 0x80710427 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EMSGSIZE || 0x80710428 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EPROTOTYPE || 0x80710429 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ENOPROTOOPT || 0x8071042a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EPROTONOSUPPORT || 0x8071042b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ESOCKTNOSUPPORT || 0x8071042c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EOPNOTSUPP || 0x8071042d || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EPFNOSUPPORT || 0x8071042e || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EAFNOSUPPORT || 0x8071042f || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EADDRINUSE || 0x80710430 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EADDRNOTAVAIL || 0x80710431 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ENETDOWN || 0x80710432 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ENETUNREACH || 0x80710433 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ENETRESET || 0x80710434 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ECONNABORTED || 0x80710435 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ECONNRESET || 0x80710436 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ENOBUFS || 0x80710437 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EISCONN || 0x80710438 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ENOTCONN || 0x80710439 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ESHUTDOWN || 0x8071043a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ETOOMANYREFS || 0x8071043b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ETIMEDOUT || 0x8071043c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ECONNREFUSED || 0x8071043d || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ELOOP || 0x8071043e || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ENAMETOOLONG || 0x8071043f || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EHOSTDOWN || 0x80710440 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EHOSTUNREACH || 0x80710441 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ENOTEMPTY || 0x80710442 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EPROCLIM || 0x80710443 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EUSERS || 0x80710444 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EDQUOT || 0x80710445 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ESTALE || 0x80710446 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EREMOTE || 0x80710447 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EBADRPC || 0x80710448 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ERPCMISMATCH || 0x80710449 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EPROGUNAVAIL || 0x8071044a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EPROGMISMATCH || 0x8071044b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EPROCUNAVAIL || 0x8071044c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ENOLCK || 0x8071044d || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ENOSYS || 0x8071044e || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EFTYPE || 0x8071044f || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EAUTH || 0x80710450 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ENEEDAUTH || 0x80710451 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EIDRM || 0x80710452 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ENOMSG || 0x80710453 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EOVERFLOW || 0x80710454 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EILSEQ || 0x80710455 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ENOTSUP || 0x80710456 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ECANCELED || 0x80710457 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_EBADMSG || 0x80710458 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ENODATA || 0x80710459 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ENOSR || 0x8071045a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ENOSTR || 0x8071045b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SOCKET_ETIME || 0x8071045c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT || 0x80710500 || Error calling connect(). Error code is net_errno.<br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EPERM || 0x80710501 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ENOENT || 0x80710502 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ESRCH || 0x80710503 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EINTR || 0x80710504 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EIO || 0x80710505 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ENXIO || 0x80710506 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_E2BIG || 0x80710507 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ENOEXC || 0x80710508 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EBADF || 0x80710509 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ECHILD || 0x8071050a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EDEADLK || 0x8071050b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ENOMEM || 0x8071050c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EACCES || 0x8071050d || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EFAULT || 0x8071050e || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ENOTBLK || 0x8071050f || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EBUSY || 0x80710510 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EEXIST || 0x80710511 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EXDEV || 0x80710512 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ENODEV || 0x80710513 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ENOTDIR || 0x80710514 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EISDIR || 0x80710515 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EINVAL || 0x80710516 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ENFILE || 0x80710517 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EMFILE || 0x80710518 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ENOTTY || 0x80710519 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ETXTBSY || 0x8071051a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EFBIG || 0x8071051b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ENOSPC || 0x8071051c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ESPIPE || 0x8071051d || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EROFS || 0x8071051e || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EMLINK || 0x8071051f || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EPIPE || 0x80710520 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EDOM || 0x80710521 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ERANGE || 0x80710522 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EAGAIN || 0x80710523 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EWOULDBLOCK || 0x80710523 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EINPROGRESS || 0x80710524 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EALREADY || 0x80710525 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ENOTSOCK || 0x80710526 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EDESTADDRREQ || 0x80710527 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EMSGSIZE || 0x80710528 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EPROTOTYPE || 0x80710529 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ENOPROTOOPT || 0x8071052a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EPROTONOSUPPORT || 0x8071052b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ESOCKTNOSUPPORT || 0x8071052c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EOPNOTSUPP || 0x8071052d || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EPFNOSUPPORT || 0x8071052e || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EAFNOSUPPORT || 0x8071052f || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EADDRINUSE || 0x80710530 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EADDRNOTAVAIL || 0x80710531 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ENETDOWN || 0x80710532 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ENETUNREACH || 0x80710533 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ENETRESET || 0x80710534 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ECONNABORTED || 0x80710535 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ECONNRESET || 0x80710536 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ENOBUFS || 0x80710537 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EISCONN || 0x80710538 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ENOTCONN || 0x80710539 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ESHUTDOWN || 0x8071053a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ETOOMANYREFS || 0x8071053b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ETIMEDOUT || 0x8071053c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ECONNREFUSED || 0x8071053d || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ELOOP || 0x8071053e || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ENAMETOOLONG || 0x8071053f || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EHOSTDOWN || 0x80710540 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EHOSTUNREACH || 0x80710541 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ENOTEMPTY || 0x80710542 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EPROCLIM || 0x80710543 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EUSERS || 0x80710544 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EDQUOT || 0x80710545 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ESTALE || 0x80710546 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EREMOTE || 0x80710547 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EBADRPC || 0x80710548 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ERPCMISMATCH || 0x80710549 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EPROGUNAVAIL || 0x8071054a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EPROGMISMATCH || 0x8071054b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EPROCUNAVAIL || 0x8071054c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ENOLCK || 0x8071054d || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ENOSYS || 0x8071054e || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EFTYPE || 0x8071054f || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EAUTH || 0x80710550 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ENEEDAUTH || 0x80710551 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EIDRM || 0x80710552 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ENOMSG || 0x80710553 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EOVERFLOW || 0x80710554 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EILSEQ || 0x80710555 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ENOTSUP || 0x80710556 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ECANCELED || 0x80710557 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_EBADMSG || 0x80710558 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ENODATA || 0x80710559 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ENOSR || 0x8071055a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ENOSTR || 0x8071055b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_CONNECT_ETIME || 0x8071055c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND || 0x80710600 || Error calling send(). Error code is net_errno.<br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EPERM || 0x80710601 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ENOENT || 0x80710602 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ESRCH || 0x80710603 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EINTR || 0x80710604 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EIO || 0x80710605 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ENXIO || 0x80710606 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_E2BIG || 0x80710607 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ENOEXC || 0x80710608 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EBADF || 0x80710609 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ECHILD || 0x8071060a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EDEADLK || 0x8071060b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ENOMEM || 0x8071060c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EACCES || 0x8071060d || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EFAULT || 0x8071060e || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ENOTBLK || 0x8071060f || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EBUSY || 0x80710610 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EEXIST || 0x80710611 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EXDEV || 0x80710612 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ENODEV || 0x80710613 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ENOTDIR || 0x80710614 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EISDIR || 0x80710615 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EINVAL || 0x80710616 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ENFILE || 0x80710617 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EMFILE || 0x80710618 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ENOTTY || 0x80710619 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ETXTBSY || 0x8071061a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EFBIG || 0x8071061b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ENOSPC || 0x8071061c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ESPIPE || 0x8071061d || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EROFS || 0x8071061e || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EMLINK || 0x8071061f || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EPIPE || 0x80710620 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EDOM || 0x80710621 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ERANGE || 0x80710622 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EAGAIN || 0x80710623 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EWOULDBLOCK || 0x80710623 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EINPROGRESS || 0x80710624 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EALREADY || 0x80710625 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ENOTSOCK || 0x80710626 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EDESTADDRREQ || 0x80710627 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EMSGSIZE || 0x80710628 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EPROTOTYPE || 0x80710629 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ENOPROTOOPT || 0x8071062a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EPROTONOSUPPORT || 0x8071062b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ESOCKTNOSUPPORT || 0x8071062c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EOPNOTSUPP || 0x8071062d || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EPFNOSUPPORT || 0x8071062e || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EAFNOSUPPORT || 0x8071062f || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EADDRINUSE || 0x80710630 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EADDRNOTAVAIL || 0x80710631 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ENETDOWN || 0x80710632 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ENETUNREACH || 0x80710633 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ENETRESET || 0x80710634 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ECONNABORTED || 0x80710635 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ECONNRESET || 0x80710636 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ENOBUFS || 0x80710637 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EISCONN || 0x80710638 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ENOTCONN || 0x80710639 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ESHUTDOWN || 0x8071063a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ETOOMANYREFS || 0x8071063b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ETIMEDOUT || 0x8071063c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ECONNREFUSED || 0x8071063d || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ELOOP || 0x8071063e || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ENAMETOOLONG || 0x8071063f || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EHOSTDOWN || 0x80710640 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EHOSTUNREACH || 0x80710641 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ENOTEMPTY || 0x80710642 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EPROCLIM || 0x80710643 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EUSERS || 0x80710644 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EDQUOT || 0x80710645 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ESTALE || 0x80710646 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EREMOTE || 0x80710647 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EBADRPC || 0x80710648 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ERPCMISMATCH || 0x80710649 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EPROGUNAVAIL || 0x8071064a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EPROGMISMATCH || 0x8071064b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EPROCUNAVAIL || 0x8071064c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ENOLCK || 0x8071064d || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ENOSYS || 0x8071064e || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EFTYPE || 0x8071064f || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EAUTH || 0x80710650 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ENEEDAUTH || 0x80710651 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EIDRM || 0x80710652 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ENOMSG || 0x80710653 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EOVERFLOW || 0x80710654 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EILSEQ || 0x80710655 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ENOTSUP || 0x80710656 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ECANCELED || 0x80710657 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_EBADMSG || 0x80710658 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ENODATA || 0x80710659 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ENOSR || 0x8071065a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ENOSTR || 0x8071065b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SEND_ETIME || 0x8071065c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV || 0x80710700 || Error calling recv(). Error code is net_errno.<br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EPERM || 0x80710701 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ENOENT || 0x80710702 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ESRCH || 0x80710703 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EINTR || 0x80710704 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EIO || 0x80710705 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ENXIO || 0x80710706 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_E2BIG || 0x80710707 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ENOEXC || 0x80710708 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EBADF || 0x80710709 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ECHILD || 0x8071070a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EDEADLK || 0x8071070b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ENOMEM || 0x8071070c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EACCES || 0x8071070d || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EFAULT || 0x8071070e || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ENOTBLK || 0x8071070f || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EBUSY || 0x80710710 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EEXIST || 0x80710711 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EXDEV || 0x80710712 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ENODEV || 0x80710713 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ENOTDIR || 0x80710714 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EISDIR || 0x80710715 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EINVAL || 0x80710716 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ENFILE || 0x80710717 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EMFILE || 0x80710718 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ENOTTY || 0x80710719 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ETXTBSY || 0x8071071a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EFBIG || 0x8071071b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ENOSPC || 0x8071071c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ESPIPE || 0x8071071d || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EROFS || 0x8071071e || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EMLINK || 0x8071071f || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EPIPE || 0x80710720 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EDOM || 0x80710721 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ERANGE || 0x80710722 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EAGAIN || 0x80710723 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EWOULDBLOCK || 0x80710723 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EINPROGRESS || 0x80710724 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EALREADY || 0x80710725 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ENOTSOCK || 0x80710726 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EDESTADDRREQ || 0x80710727 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EMSGSIZE || 0x80710728 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EPROTOTYPE || 0x80710729 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ENOPROTOOPT || 0x8071072a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EPROTONOSUPPORT || 0x8071072b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ESOCKTNOSUPPORT || 0x8071072c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EOPNOTSUPP || 0x8071072d || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EPFNOSUPPORT || 0x8071072e || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EAFNOSUPPORT || 0x8071072f || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EADDRINUSE || 0x80710730 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EADDRNOTAVAIL || 0x80710731 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ENETDOWN || 0x80710732 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ENETUNREACH || 0x80710733 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ENETRESET || 0x80710734 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ECONNABORTED || 0x80710735 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ECONNRESET || 0x80710736 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ENOBUFS || 0x80710737 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EISCONN || 0x80710738 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ENOTCONN || 0x80710739 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ESHUTDOWN || 0x8071073a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ETOOMANYREFS || 0x8071073b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ETIMEDOUT || 0x8071073c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ECONNREFUSED || 0x8071073d || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ELOOP || 0x8071073e || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ENAMETOOLONG || 0x8071073f || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EHOSTDOWN || 0x80710740 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EHOSTUNREACH || 0x80710741 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ENOTEMPTY || 0x80710742 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EPROCLIM || 0x80710743 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EUSERS || 0x80710744 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EDQUOT || 0x80710745 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ESTALE || 0x80710746 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EREMOTE || 0x80710747 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EBADRPC || 0x80710748 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ERPCMISMATCH || 0x80710749 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EPROGUNAVAIL || 0x8071074a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EPROGMISMATCH || 0x8071074b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EPROCUNAVAIL || 0x8071074c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ENOLCK || 0x8071074d || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ENOSYS || 0x8071074e || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EFTYPE || 0x8071074f || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EAUTH || 0x80710750 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ENEEDAUTH || 0x80710751 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EIDRM || 0x80710752 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ENOMSG || 0x80710753 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EOVERFLOW || 0x80710754 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EILSEQ || 0x80710755 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ENOTSUP || 0x80710756 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ECANCELED || 0x80710757 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_EBADMSG || 0x80710758 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ENODATA || 0x80710759 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ENOSR || 0x8071075a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ENOSTR || 0x8071075b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_RECV_ETIME || 0x8071075c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT || 0x80710800 || Error calling select(). Error code is net_errno.<br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EPERM || 0x80710801 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ENOENT || 0x80710802 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ESRCH || 0x80710803 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EINTR || 0x80710804 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EIO || 0x80710805 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ENXIO || 0x80710806 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_E2BIG || 0x80710807 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ENOEXC || 0x80710808 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EBADF || 0x80710809 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ECHILD || 0x8071080a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EDEADLK || 0x8071080b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ENOMEM || 0x8071080c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EACCES || 0x8071080d || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EFAULT || 0x8071080e || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ENOTBLK || 0x8071080f || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EBUSY || 0x80710810 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EEXIST || 0x80710811 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EXDEV || 0x80710812 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ENODEV || 0x80710813 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ENOTDIR || 0x80710814 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EISDIR || 0x80710815 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EINVAL || 0x80710816 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ENFILE || 0x80710817 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EMFILE || 0x80710818 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ENOTTY || 0x80710819 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ETXTBSY || 0x8071081a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EFBIG || 0x8071081b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ENOSPC || 0x8071081c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ESPIPE || 0x8071081d || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EROFS || 0x8071081e || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EMLINK || 0x8071081f || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EPIPE || 0x80710820 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EDOM || 0x80710821 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ERANGE || 0x80710822 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EAGAIN || 0x80710823 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EWOULDBLOCK || 0x80710823 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EINPROGRESS || 0x80710824 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EALREADY || 0x80710825 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ENOTSOCK || 0x80710826 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EDESTADDRREQ || 0x80710827 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EMSGSIZE || 0x80710828 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EPROTOTYPE || 0x80710829 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ENOPROTOOPT || 0x8071082a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EPROTONOSUPPORT || 0x8071082b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ESOCKTNOSUPPORT || 0x8071082c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EOPNOTSUPP || 0x8071082d || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EPFNOSUPPORT || 0x8071082e || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EAFNOSUPPORT || 0x8071082f || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EADDRINUSE || 0x80710830 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EADDRNOTAVAIL || 0x80710831 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ENETDOWN || 0x80710832 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ENETUNREACH || 0x80710833 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ENETRESET || 0x80710834 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ECONNABORTED || 0x80710835 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ECONNRESET || 0x80710836 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ENOBUFS || 0x80710837 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EISCONN || 0x80710838 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ENOTCONN || 0x80710839 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ESHUTDOWN || 0x8071083a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ETOOMANYREFS || 0x8071083b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ETIMEDOUT || 0x8071083c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ECONNREFUSED || 0x8071083d || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ELOOP || 0x8071083e || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ENAMETOOLONG || 0x8071083f || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EHOSTDOWN || 0x80710840 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EHOSTUNREACH || 0x80710841 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ENOTEMPTY || 0x80710842 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EPROCLIM || 0x80710843 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EUSERS || 0x80710844 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EDQUOT || 0x80710845 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ESTALE || 0x80710846 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EREMOTE || 0x80710847 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EBADRPC || 0x80710848 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ERPCMISMATCH || 0x80710849 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EPROGUNAVAIL || 0x8071084a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EPROGMISMATCH || 0x8071084b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EPROCUNAVAIL || 0x8071084c || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ENOLCK || 0x8071084d || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ENOSYS || 0x8071084e || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EFTYPE || 0x8071084f || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EAUTH || 0x80710850 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ENEEDAUTH || 0x80710851 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EIDRM || 0x80710852 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ENOMSG || 0x80710853 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EOVERFLOW || 0x80710854 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EILSEQ || 0x80710855 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ENOTSUP || 0x80710856 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ECANCELED || 0x80710857 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_EBADMSG || 0x80710858 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ENODATA || 0x80710859 || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ENOSR || 0x8071085a || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ENOSTR || 0x8071085b || <br /> |-<br /> | CELL_HTTP_ERROR_NET_SELECT_ETIME || 0x8071085c || <br /> |-<br /> !colspan=&quot;3&quot; | Cell Https errors (libhttps) <br /> |-<br /> | CELL_HTTPS_ERROR_CERTIFICATE_LOAD || 0x80710a01 || Not able to load SSL certificates<br /> |-<br /> | CELL_HTTPS_ERROR_BAD_MEMORY || 0x80710a02 || SSL memory call failed<br /> |-<br /> | CELL_HTTPS_ERROR_CONTEXT_CREATION || 0x80710a03 || Failed to create SSL context<br /> |-<br /> | CELL_HTTPS_ERROR_CONNECTION_CREATION || 0x80710a04 || Failed to create SSL connection<br /> |-<br /> | CELL_HTTPS_ERROR_SOCKET_ASSOCIATION || 0x80710a05 || Failed to associate socket with SSL connection<br /> |-<br /> | CELL_HTTPS_ERROR_HANDSHAKE || 0x80710a06 || SSL Connect Handshake error, or SSL certificate verification failed<br /> |-<br /> | CELL_HTTPS_ERROR_LOOKUP_CERTIFICATE || 0x80710a07 || Failed to retrieve SSL certificate<br /> |-<br /> | CELL_HTTPS_ERROR_NO_SSL || 0x80710a08 || libssl is not available or has not been initialized<br /> |-<br /> | CELL_HTTPS_ERROR_KEY_LOAD || 0x80710a09 || Cannot load the private key<br /> |-<br /> | CELL_HTTPS_ERROR_CERT_KEY_MISMATCH || 0x80710a0a || The private key and client certificate do not match<br /> |-<br /> | CELL_HTTPS_ERROR_KEY_NEEDS_CERT || 0x80710a0b || The private key needs a client certificate<br /> |-<br /> | CELL_HTTPS_ERROR_CERT_NEEDS_KEY || 0x80710a0c || The client certificate needs a private key<br /> |-<br /> | CELL_HTTPS_ERROR_RETRY_CONNECTION || 0x80710a0d || internal error code<br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT || 0x80710b00 || Error calling connect(). Error code is net_errno. <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EPERM || 0x80710b01 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ENOENT || 0x80710b02 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ESRCH || 0x80710b03 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EINTR || 0x80710b04 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EIO || 0x80710b05 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ENXIO || 0x80710b06 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_E2BIG || 0x80710b07 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ENOEXC || 0x80710b08 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EBADF || 0x80710b09 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ECHILD || 0x80710b0a || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EDEADLK || 0x80710b0b || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ENOMEM || 0x80710b0c || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EACCES || 0x80710b0d || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EFAULT || 0x80710b0e || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ENOTBLK || 0x80710b0f || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EBUSY || 0x80710b10 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EEXIST || 0x80710b11 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EXDEV || 0x80710b12 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ENODEV || 0x80710b13 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ENOTDIR || 0x80710b14 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EISDIR || 0x80710b15 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EINVAL || 0x80710b16 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ENFILE || 0x80710b17 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EMFILE || 0x80710b18 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ENOTTY || 0x80710b19 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ETXTBSY || 0x80710b1a || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EFBIG || 0x80710b1b || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ENOSPC || 0x80710b1c || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ESPIPE || 0x80710b1d || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EROFS || 0x80710b1e || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EMLINK || 0x80710b1f || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EPIPE || 0x80710b20 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EDOM || 0x80710b21 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ERANGE || 0x80710b22 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EAGAIN || 0x80710b23 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EWOULDBLOCK || 0x80710b23 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EINPROGRESS || 0x80710b24 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EALREADY || 0x80710b25 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ENOTSOCK || 0x80710b26 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EDESTADDRREQ || 0x80710b27 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EMSGSIZE || 0x80710b28 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EPROTOTYPE || 0x80710b29 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ENOPROTOOPT || 0x80710b2a || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EPROTONOSUPPORT || 0x80710b2b || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ESOCKTNOSUPPORT || 0x80710b2c || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EOPNOTSUPP || 0x80710b2d || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EPFNOSUPPORT || 0x80710b2e || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EAFNOSUPPORT || 0x80710b2f || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EADDRINUSE || 0x80710b30 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EADDRNOTAVAIL || 0x80710b31 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ENETDOWN || 0x80710b32 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ENETUNREACH || 0x80710b33 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ENETRESET || 0x80710b34 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ECONNABORTED || 0x80710b35 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ECONNRESET || 0x80710b36 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ENOBUFS || 0x80710b37 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EISCONN || 0x80710b38 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ENOTCONN || 0x80710b39 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ESHUTDOWN || 0x80710b3a || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ETOOMANYREFS || 0x80710b3b || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ETIMEDOUT || 0x80710b3c || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ECONNREFUSED || 0x80710b3d || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ELOOP || 0x80710b3e || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ENAMETOOLONG || 0x80710b3f || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EHOSTDOWN || 0x80710b40 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EHOSTUNREACH || 0x80710b41 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ENOTEMPTY || 0x80710b42 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EPROCLIM || 0x80710b43 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EUSERS || 0x80710b44 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EDQUOT || 0x80710b45 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ESTALE || 0x80710b46 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EREMOTE || 0x80710b47 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EBADRPC || 0x80710b48 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ERPCMISMATCH || 0x80710b49 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EPROGUNAVAIL || 0x80710b4a || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EPROGMISMATCH || 0x80710b4b || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EPROCUNAVAIL || 0x80710b4c || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ENOLCK || 0x80710b4d || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ENOSYS || 0x80710b4e || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EFTYPE || 0x80710b4f || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EAUTH || 0x80710b50 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ENEEDAUTH || 0x80710b51 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EIDRM || 0x80710b52 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ENOMSG || 0x80710b53 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EOVERFLOW || 0x80710b54 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EILSEQ || 0x80710b55 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ENOTSUP || 0x80710b56 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ECANCELED || 0x80710b57 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_EBADMSG || 0x80710b58 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ENODATA || 0x80710b59 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ENOSR || 0x80710b5a || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ENOSTR || 0x80710b5b || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_CONNECT_ETIME || 0x80710b5c || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND || 0x80710c00 || Error calling send(). Error code is net_errno. <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EPERM || 0x80710c01 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ENOENT || 0x80710c02 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ESRCH || 0x80710c03 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EINTR || 0x80710c04 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EIO || 0x80710c05 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ENXIO || 0x80710c06 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_E2BIG || 0x80710c07 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ENOEXC || 0x80710c08 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EBADF || 0x80710c09 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ECHILD || 0x80710c0a || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EDEADLK || 0x80710c0b || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ENOMEM || 0x80710c0c || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EACCES || 0x80710c0d || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EFAULT || 0x80710c0e || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ENOTBLK || 0x80710c0f || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EBUSY || 0x80710c10 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EEXIST || 0x80710c11 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EXDEV || 0x80710c12 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ENODEV || 0x80710c13 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ENOTDIR || 0x80710c14 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EISDIR || 0x80710c15 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EINVAL || 0x80710c16 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ENFILE || 0x80710c17 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EMFILE || 0x80710c18 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ENOTTY || 0x80710c19 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ETXTBSY || 0x80710c1a || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EFBIG || 0x80710c1b || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ENOSPC || 0x80710c1c || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ESPIPE || 0x80710c1d || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EROFS || 0x80710c1e || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EMLINK || 0x80710c1f || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EPIPE || 0x80710c20 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EDOM || 0x80710c21 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ERANGE || 0x80710c22 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EAGAIN || 0x80710c23 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EWOULDBLOCK || 0x80710c23 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EINPROGRESS || 0x80710c24 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EALREADY || 0x80710c25 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ENOTSOCK || 0x80710c26 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EDESTADDRREQ || 0x80710c27 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EMSGSIZE || 0x80710c28 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EPROTOTYPE || 0x80710c29 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ENOPROTOOPT || 0x80710c2a || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EPROTONOSUPPORT || 0x80710c2b || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ESOCKTNOSUPPORT || 0x80710c2c || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EOPNOTSUPP || 0x80710c2d || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EPFNOSUPPORT || 0x80710c2e || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EAFNOSUPPORT || 0x80710c2f || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EADDRINUSE || 0x80710c30 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EADDRNOTAVAIL || 0x80710c31 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ENETDOWN || 0x80710c32 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ENETUNREACH || 0x80710c33 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ENETRESET || 0x80710c34 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ECONNABORTED || 0x80710c35 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ECONNRESET || 0x80710c36 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ENOBUFS || 0x80710c37 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EISCONN || 0x80710c38 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ENOTCONN || 0x80710c39 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ESHUTDOWN || 0x80710c3a || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ETOOMANYREFS || 0x80710c3b || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ETIMEDOUT || 0x80710c3c || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ECONNREFUSED || 0x80710c3d || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ELOOP || 0x80710c3e || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ENAMETOOLONG || 0x80710c3f || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EHOSTDOWN || 0x80710c40 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EHOSTUNREACH || 0x80710c41 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ENOTEMPTY || 0x80710c42 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EPROCLIM || 0x80710c43 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EUSERS || 0x80710c44 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EDQUOT || 0x80710c45 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ESTALE || 0x80710c46 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EREMOTE || 0x80710c47 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EBADRPC || 0x80710c48 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ERPCMISMATCH || 0x80710c49 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EPROGUNAVAIL || 0x80710c4a || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EPROGMISMATCH || 0x80710c4b || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EPROCUNAVAIL || 0x80710c4c || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ENOLCK || 0x80710c4d || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ENOSYS || 0x80710c4e || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EFTYPE || 0x80710c4f || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EAUTH || 0x80710c50 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ENEEDAUTH || 0x80710c51 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EIDRM || 0x80710c52 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ENOMSG || 0x80710c53 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EOVERFLOW || 0x80710c54 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EILSEQ || 0x80710c55 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ENOTSUP || 0x80710c56 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ECANCELED || 0x80710c57 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_EBADMSG || 0x80710c58 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ENODATA || 0x80710c59 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ENOSR || 0x80710c5a || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ENOSTR || 0x80710c5b || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_SEND_ETIME || 0x80710c5c || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV || 0x80710d00 || Error calling recv(). Error code is net_errno. <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EPERM || 0x80710d01 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ENOENT || 0x80710d02 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ESRCH || 0x80710d03 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EINTR || 0x80710d04 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EIO || 0x80710d05 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ENXIO || 0x80710d06 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_E2BIG || 0x80710d07 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ENOEXC || 0x80710d08 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EBADF || 0x80710d09 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ECHILD || 0x80710d0a || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EDEADLK || 0x80710d0b || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ENOMEM || 0x80710d0c || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EACCES || 0x80710d0d || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EFAULT || 0x80710d0e || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ENOTBLK || 0x80710d0f || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EBUSY || 0x80710d10 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EEXIST || 0x80710d11 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EXDEV || 0x80710d12 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ENODEV || 0x80710d13 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ENOTDIR || 0x80710d14 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EISDIR || 0x80710d15 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EINVAL || 0x80710d16 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ENFILE || 0x80710d17 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EMFILE || 0x80710d18 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ENOTTY || 0x80710d19 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ETXTBSY || 0x80710d1a || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EFBIG || 0x80710d1b || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ENOSPC || 0x80710d1c || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ESPIPE || 0x80710d1d || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EROFS || 0x80710d1e || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EMLINK || 0x80710d1f || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EPIPE || 0x80710d20 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EDOM || 0x80710d21 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ERANGE || 0x80710d22 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EAGAIN || 0x80710d23 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EWOULDBLOCK || 0x80710d23 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EINPROGRESS || 0x80710d24 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EALREADY || 0x80710d25 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ENOTSOCK || 0x80710d26 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EDESTADDRREQ || 0x80710d27 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EMSGSIZE || 0x80710d28 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EPROTOTYPE || 0x80710d29 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ENOPROTOOPT || 0x80710d2a || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EPROTONOSUPPORT || 0x80710d2b || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ESOCKTNOSUPPORT || 0x80710d2c || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EOPNOTSUPP || 0x80710d2d || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EPFNOSUPPORT || 0x80710d2e || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EAFNOSUPPORT || 0x80710d2f || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EADDRINUSE || 0x80710d30 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EADDRNOTAVAIL || 0x80710d31 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ENETDOWN || 0x80710d32 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ENETUNREACH || 0x80710d33 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ENETRESET || 0x80710d34 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ECONNABORTED || 0x80710d35 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ECONNRESET || 0x80710d36 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ENOBUFS || 0x80710d37 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EISCONN || 0x80710d38 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ENOTCONN || 0x80710d39 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ESHUTDOWN || 0x80710d3a || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ETOOMANYREFS || 0x80710d3b || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ETIMEDOUT || 0x80710d3c || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ECONNREFUSED || 0x80710d3d || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ELOOP || 0x80710d3e || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ENAMETOOLONG || 0x80710d3f || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EHOSTDOWN || 0x80710d40 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EHOSTUNREACH || 0x80710d41 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ENOTEMPTY || 0x80710d42 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EPROCLIM || 0x80710d43 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EUSERS || 0x80710d44 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EDQUOT || 0x80710d45 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ESTALE || 0x80710d46 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EREMOTE || 0x80710d47 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EBADRPC || 0x80710d48 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ERPCMISMATCH || 0x80710d49 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EPROGUNAVAIL || 0x80710d4a || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EPROGMISMATCH || 0x80710d4b || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EPROCUNAVAIL || 0x80710d4c || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ENOLCK || 0x80710d4d || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ENOSYS || 0x80710d4e || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EFTYPE || 0x80710d4f || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EAUTH || 0x80710d50 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ENEEDAUTH || 0x80710d51 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EIDRM || 0x80710d52 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ENOMSG || 0x80710d53 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EOVERFLOW || 0x80710d54 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EILSEQ || 0x80710d55 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ENOTSUP || 0x80710d56 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ECANCELED || 0x80710d57 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_EBADMSG || 0x80710d58 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ENODATA || 0x80710d59 || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ENOSR || 0x80710d5a || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ENOSTR || 0x80710d5b || <br /> |-<br /> | CELL_HTTPS_ERROR_NET_SSL_RECV_ETIME || 0x80710d5c || <br /> |-<br /> !colspan=&quot;3&quot; | Cell Http Util errors (libhttp_util) <br /> |-<br /> | CELL_HTTP_UTIL_ERROR_NO_MEMORY || 0x80711001 || There was not enough memory in the pool<br /> |-<br /> | CELL_HTTP_UTIL_ERROR_NO_BUFFER || 0x80711002 || No buffer has been provided (as a parameter)<br /> |-<br /> | CELL_HTTP_UTIL_ERROR_NO_STRING || 0x80711003 || No string to read has been provided (as a parameter)<br /> |-<br /> | CELL_HTTP_UTIL_ERROR_INSUFFICIENT || 0x80711004 || Buffer space was insufficient to write into<br /> |-<br /> | CELL_HTTP_UTIL_ERROR_INVALID_URI || 0x80711005 || Malformed URI<br /> |-<br /> | CELL_HTTP_UTIL_ERROR_INVALID_HEADER || 0x80711006 || Malformed header<br /> |-<br /> | CELL_HTTP_UTIL_ERROR_INVALID_REQUEST || 0x80711007 || Malformed request line<br /> |-<br /> | CELL_HTTP_UTIL_ERROR_INVALID_RESPONSE || 0x80711008 || Malformed response (status line)<br /> |-<br /> | CELL_HTTP_UTIL_ERROR_INVALID_LENGTH || 0x80711009 || Invalid length of buffer<br /> |-<br /> | CELL_HTTP_UTIL_ERROR_INVALID_CHARACTER || 0x8071100a || Illegal character<br /> |-<br /> !colspan=&quot;3&quot; | Cell SSL errors (libssl) <br /> |-<br /> | CELL_SSL_ERROR_NOT_INITIALIZED || 0x80740001 || libssl has not yet been initialized. Please initialize before use.<br /> |-<br /> | CELL_SSL_ERROR_ALREADY_INITIALIZED || 0x80740002 || libssl has already been initialized and cannot be initialized again<br /> |-<br /> | CELL_SSL_ERROR_INITIALIZATION_FAILED || 0x80740003 || Initialization of the communication part of libssl failed<br /> |-<br /> | CELL_SSL_ERROR_NO_BUFFER || 0x80740004 || No buffer was provided in one of the parameters<br /> |-<br /> | CELL_SSL_ERROR_INVALID_CERTIFICATE || 0x80740005 || The pointer to the SSL Certificate provided is invalid<br /> |-<br /> | CELL_SSL_ERROR_UNRETRIEVABLE || 0x80740006 || Failed to get the requested information<br /> |-<br /> | CELL_SSL_ERROR_INVALID_FORMAT || 0x80740007 || The format of the SSL Certificate is invalid<br /> |-<br /> | CELL_SSL_ERROR_NOT_FOUND || 0x80740008 || The requested information was not found in the SSL Certificate<br /> |-<br /> | CELL_SSL_ERROR_READ_FAILED || 0x80740009 || <br /> |-<br /> | CELL_SSL_ERROR_INVALID_TIME || 0x80740031 || Invalid time element in the SSL Certificate<br /> |-<br /> | CELL_SSL_ERROR_INAVLID_NEGATIVE_TIME || 0x80740032 || Invalid time element with negative values in the SSL Certificate<br /> |-<br /> | CELL_SSL_ERROR_INCORRECT_TIME || 0x80740033 || Value in the time element for the SSL Certificate is incorrect<br /> |-<br /> | CELL_SSL_ERROR_UNDEFINED_TIME_TYPE || 0x80740034 || Type in the time element for the SSL Certificate is not defined correctly<br /> |-<br /> | CELL_SSL_ERROR_NO_MEMORY || 0x80740035 || Call to allocate memory failed (returns NULL)<br /> |-<br /> | CELL_SSL_ERROR_NO_STRING || 0x80740036 || No string to read has been provided (as a parameter)<br /> |-<br /> | CELL_SSL_ERROR_UNKNOWN_LOAD_CERT || 0x80740037 || Unknown certificate load flag<br /> |-<br /> !colspan=&quot;3&quot; | Cell Rudp errors (librudp) <br /> |-<br /> | CELL_RUDP_ERROR_NOT_INITIALIZED || 0x80770001 || Not initialized<br /> |-<br /> | CELL_RUDP_ERROR_ALREADY_INITIALIZED || 0x80770002 || Already initialized<br /> |-<br /> | CELL_RUDP_ERROR_INVALID_CONTEXT_ID || 0x80770003 || Invalid context ID<br /> |-<br /> | CELL_RUDP_ERROR_INVALID_ARGUMENT || 0x80770004 || Invalid argument<br /> |-<br /> | CELL_RUDP_ERROR_INVALID_OPTION || 0x80770005 || Invalid option name<br /> |-<br /> | CELL_RUDP_ERROR_INVALID_MUXMODE || 0x80770006 || Invalid multiplexing mode<br /> |-<br /> | CELL_RUDP_ERROR_MEMORY || 0x80770007 || Memory allocation failed<br /> |-<br /> | CELL_RUDP_ERROR_INTERNAL || 0x80770008 || Undefined internal error<br /> |-<br /> | CELL_RUDP_ERROR_CONN_RESET || 0x80770009 || Connection was reset<br /> |-<br /> | CELL_RUDP_ERROR_CONN_REFUSED || 0x8077000a || Connection was refused<br /> |-<br /> | CELL_RUDP_ERROR_CONN_TIMEOUT || 0x8077000b || Connection timed out<br /> |-<br /> | CELL_RUDP_ERROR_CONN_VERSION_MISMATCH || 0x8077000c || Version does not match<br /> |-<br /> | CELL_RUDP_ERROR_CONN_TRANSPORT_TYPE_MISMATCH || 0x8077000d || Transport type does not match<br /> |-<br /> | CELL_RUDP_ERROR_QUALITY_LEVEL_MISMATCH || 0x8077000e || Quality level does not match<br /> |-<br /> | CELL_RUDP_ERROR_THREAD || 0x8077000f || Internal I/O thread error<br /> |-<br /> | CELL_RUDP_ERROR_THREAD_IN_USE || 0x80770010 || Internal I/O thread is currently in use<br /> |-<br /> | CELL_RUDP_ERROR_NOT_ACCEPTABLE || 0x80770011 || Operation is not permitted<br /> |-<br /> | CELL_RUDP_ERROR_MSG_TOO_LARGE || 0x80770012 || Message is too large<br /> |-<br /> | CELL_RUDP_ERROR_NOT_BOUND || 0x80770013 || Not bound<br /> |-<br /> | CELL_RUDP_ERROR_CANCELLED || 0x80770014 || Blocking was cancelled<br /> |-<br /> | CELL_RUDP_ERROR_INVALID_VPORT || 0x80770015 || Invalid virtual port<br /> |-<br /> | CELL_RUDP_ERROR_WOULDBLOCK || 0x80770016 || Currently executing operation<br /> |-<br /> | CELL_RUDP_ERROR_VPORT_IN_USE || 0x80770017 || Virtual port is currently in use<br /> |-<br /> | CELL_RUDP_ERROR_VPORT_EXHAUSTED || 0x80770018 || No more available virtual port numbers<br /> |-<br /> | CELL_RUDP_ERROR_INVALID_SOCKET || 0x80770019 || Invalid socket<br /> |-<br /> | CELL_RUDP_ERROR_BUFFER_TOO_SMALL || 0x8077001a || Buffer is too small<br /> |-<br /> | CELL_RUDP_ERROR_MSG_MALFORMED || 0x8077001b || Invalid packet<br /> |-<br /> | CELL_RUDP_ERROR_ADDR_IN_USE || 0x8077001c || Address is currently in use<br /> |-<br /> | CELL_RUDP_ERROR_ALREADY_BOUND || 0x8077001d || Already bound<br /> |-<br /> | CELL_RUDP_ERROR_ALREADY_EXISTS || 0x8077001e || Already exists<br /> |-<br /> | CELL_RUDP_ERROR_INVALID_POLL_ID || 0x8077001f || Invalid polling ID<br /> |-<br /> | CELL_RUDP_ERROR_TOO_MANY_CONTEXTS || 0x80770020 || Too many contexts<br /> |-<br /> | CELL_RUDP_ERROR_IN_PROGRESS || 0x80770021 || Currently executing operation<br /> |-<br /> | CELL_RUDP_ERROR_NO_EVENT_HANDLER || 0x80770022 || Common event handler has not been registered<br /> |-<br /> | CELL_RUDP_ERROR_PAYLOAD_TOO_LARGE || 0x80770023 || Payload is too large<br /> |-<br /> | CELL_RUDP_ERROR_END_OF_DATA || 0x80770024 || End of receive data<br /> |-<br /> | CELL_RUDP_ERROR_ALREADY_ESTABLISHED || 0x80770025 || Connection is already established<br /> |-<br /> | CELL_RUDP_ERROR_KEEP_ALIVE_FAILURE || 0x80770026 || Connection was closed due to keep-alive timeout<br /> |-<br /> |}<br /> <br /> == SSC SPU errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> ! colspan=&quot;3&quot; | for cellSscQueryAttr()<br /> |-<br /> | CELL_SSC_ERROR_Q_ARG_CFG_NULL || 0x80780010 || <br /> |-<br /> | CELL_SSC_ERROR_Q_ARG_CFG_INVALID || 0x80780011 || <br /> |-<br /> | CELL_SSC_ERROR_Q_ARG_ATTR_NULL || 0x80780014 || <br /> |-<br /> ! colspan=&quot;3&quot; | for cellSscOpen()<br /> |-<br /> | CELL_SSC_ERROR_O_ARG_CFG_NULL || 0x80780020 || <br /> |-<br /> | CELL_SSC_ERROR_O_ARG_CFG_INVALID || 0x80780021 || <br /> |-<br /> | CELL_SSC_ERROR_O_ARG_RSRC_NULL || 0x80780022 || <br /> |-<br /> | CELL_SSC_ERROR_O_ARG_RSRC_INVALID || 0x80780023 || <br /> |-<br /> | CELL_SSC_ERROR_O_ARG_RSRCMEM_INVALID || 0x80780024 || <br /> |-<br /> | CELL_SSC_ERROR_O_ARG_RSRCSPU_INVALID || 0x80780025 || <br /> |-<br /> | CELL_SSC_ERROR_O_ARG_HDL_NULL || 0x80780026 || <br /> |-<br /> | CELL_SSC_ERROR_O_FATAL_CMUTEX || 0x80780027 || <br /> |-<br /> | CELL_SSC_ERROR_O_FATAL_CASYNCTHR || 0x80780028 || <br /> |-<br /> | CELL_SSC_ERROR_O_FATAL_CTASKSET || 0x80780029 || <br /> |-<br /> ! colspan=&quot;3&quot; | for cellSscClose()<br /> |-<br /> | CELL_SSC_ERROR_C_ARG_HDL_NULL || 0x80780030 || <br /> |-<br /> | CELL_SSC_ERROR_C_ARG_HDL_INVALID || 0x80780031 || <br /> |-<br /> | CELL_SSC_ERROR_C_STAT_BUSY || 0x80780032 || <br /> |-<br /> | CELL_SSC_ERROR_C_FATAL_DTHR || 0x80780033 || <br /> |-<br /> | CELL_SSC_ERROR_C_FATAL_DMUTEX || 0x80780034 || <br /> |-<br /> | CELL_SSC_ERROR_C_FATAL_DTASKSET || 0x80780035 || <br /> |-<br /> ! colspan=&quot;3&quot; | for cellSscExec/ExecAsync()<br /> |-<br /> | CELL_SSC_ERROR_E_ARG_HDL_NULL || 0x80780040 || <br /> |-<br /> | CELL_SSC_ERROR_E_ARG_HDL_INVALID || 0x80780041 || <br /> |-<br /> | CELL_SSC_ERROR_E_ARG_INPICBUF_INVALID || 0x80780042 || <br /> |-<br /> | CELL_SSC_ERROR_E_ARG_INPICINFO_NULL || 0x80780043 || <br /> |-<br /> | CELL_SSC_ERROR_E_ARG_INPICINFO_INVALID || 0x80780044 || <br /> |-<br /> | CELL_SSC_ERROR_E_ARG_TASKNUM_INVALID || 0x80780045 || <br /> |-<br /> | CELL_SSC_ERROR_E_ARG_CB_NULL || 0x80780046 || <br /> |-<br /> | CELL_SSC_ERROR_E_ARG_CB_INVALID || 0x80780047 || <br /> |-<br /> | CELL_SSC_ERROR_E_ARG_CTRL_NULL || 0x80780048 || <br /> |-<br /> | CELL_SSC_ERROR_E_ARG_CTRL_INVALID || 0x80780049 || <br /> |-<br /> | CELL_SSC_ERROR_E_ARG_LEFTPICBUF_INVALID || 0x8078004a || <br /> |-<br /> | CELL_SSC_ERROR_E_ARG_RIGHTPICBUF_INVALID || 0x8078004b || <br /> |-<br /> | CELL_SSC_ERROR_E_ARG_SSCPICINFO_NULL || 0x8078004c || <br /> |-<br /> | CELL_SSC_ERROR_E_ARG_SSCPICINFO_INVALID || 0x8078004d || <br /> |-<br /> | CELL_SSC_ERROR_E_STAT_BUSY || 0x80780050 || <br /> |-<br /> | CELL_SSC_ERROR_E_FATAL_TASK || 0x80780051 || <br /> |-<br /> | CELL_SSC_ERROR_E_FATAL_ASYNCTHR || 0x80780052 || <br /> |-<br /> | CELL_SSC_ERROR_E_FATAL_MUTEX || 0x80780053 || <br /> |-<br /> |}<br /> <br /> == SSC GPU errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> ! colspan=&quot;3&quot; | for cellSscGpuQueryAttr()<br /> |-<br /> | CELL_SSC_GPU_ERROR_Q_ARG_ATTR_NULL || 0x80780110 || <br /> |-<br /> ! colspan=&quot;3&quot; | for cellSscGpuOpen()<br /> |-<br /> | CELL_SSC_GPU_ERROR_O_ARG_RSRC_NULL || 0x80780120 || <br /> |-<br /> | CELL_SSC_GPU_ERROR_O_ARG_RSRC_INVALID || 0x80780121 || <br /> |-<br /> | CELL_SSC_GPU_ERROR_O_ARG_HDL_NULL || 0x80780122 || <br /> |-<br /> | CELL_SSC_GPU_ERROR_O_ARG_RSRCMEM_INVALID || 0x80780123 || <br /> |-<br /> ! colspan=&quot;3&quot; | for cellSscGpuClose()<br /> |-<br /> | CELL_SSC_GPU_ERROR_C_ARG_HDL_NULL || 0x80780130 || <br /> |-<br /> | CELL_SSC_GPU_ERROR_C_ARG_HDL_INVALID || 0x80780131 || <br /> |-<br /> | CELL_SSC_GPU_ERROR_C_SEQ || 0x80780132 || <br /> |-<br /> ! colspan=&quot;3&quot; | for cellSscExec()<br /> |-<br /> | CELL_SSC_GPU_ERROR_E_ARG_CONTEXT_NULL || 0x80780140 || <br /> |-<br /> | CELL_SSC_GPU_ERROR_E_ARG_HDL_NULL || 0x80780141 || <br /> |-<br /> | CELL_SSC_GPU_ERROR_E_ARG_HDL_INVALID || 0x80780142 || <br /> |-<br /> | CELL_SSC_GPU_ERROR_E_ARG_INPICINFO_NULL || 0x80780143 || <br /> |-<br /> | CELL_SSC_GPU_ERROR_E_ARG_INPICINFO_INVALID || 0x80780144 || <br /> |-<br /> | CELL_SSC_GPU_ERROR_E_ARG_CTRL_NULL || 0x80780145 || <br /> |-<br /> | CELL_SSC_GPU_ERROR_E_ARG_CTRL_INVALID || 0x80780146 || <br /> |-<br /> | CELL_SSC_GPU_ERROR_E_ARG_SURFACEINFO_NULL || 0x80780147 || <br /> |-<br /> | CELL_SSC_GPU_ERROR_E_ARG_SURFACEINFO_INVALID || 0x80780148 || <br /> |-<br /> | CELL_SSC_GPU_ERROR_E_ARG_OUTPICINFO_NULL || 0x80780149 || <br /> |-<br /> | CELL_SSC_GPU_ERROR_E_ARG_LEFTPICINFO_INVALID || 0x8078014a || <br /> |-<br /> | CELL_SSC_GPU_ERROR_E_ARG_RIGHTPICINFO_INVALID || 0x8078014b || <br /> |-<br /> | CELL_SSC_GPU_ERROR_E_SEQ || 0x8078014c || <br /> |-<br /> |}<br /> <br /> == AV Chat 2 errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_AVC2_ERROR_UNKNOWN || 0x8002b701 || Internal error<br /> |-<br /> | CELL_AVC2_ERROR_NOT_SUPPORTED || 0x8002b702 || Function is not supported<br /> |-<br /> | CELL_AVC2_ERROR_NOT_INITIALIZED || 0x8002b703 || Not loaded<br /> |-<br /> | CELL_AVC2_ERROR_ALREADY_INITIALIZED || 0x8002b704 || Already initialized<br /> |-<br /> | CELL_AVC2_ERROR_INVALID_ARGUMENT || 0x8002b705 || Invalid argument was passed<br /> |-<br /> | CELL_AVC2_ERROR_OUT_OF_MEMORY || 0x8002b706 || Memory could not be allocated<br /> |-<br /> | CELL_AVC2_ERROR_ERROR_BAD_ID || 0x8002b707 || Invalid ID was passed<br /> |-<br /> | CELL_AVC2_ERROR_INVALID_STATUS || 0x8002b70a || Function was called when processing could not be executed<br /> |-<br /> | CELL_AVC2_ERROR_TIMEOUT || 0x8002b70b || Processing failed due to timeout<br /> |-<br /> | CELL_AVC2_ERROR_NO_SESSION || 0x8002b70d || Function was called when the user has not joined an AV chat session<br /> |-<br /> | CELL_AVC2_ERROR_INCOMPATIBLE_PROTOCOL || 0x8002b70e || <br /> |-<br /> | CELL_AVC2_ERROR_WINDOW_ALREADY_EXISTS || 0x8002b70f || Window has already been created<br /> |-<br /> | CELL_AVC2_ERROR_TOO_MANY_WINDOWS || 0x8002b710 || Number of windows has reached the maximum allowed<br /> |-<br /> | CELL_AVC2_ERROR_TOO_MANY_PEER_WINDOWS || 0x8002b711 || Number of peer windows has reached the maximum allowed<br /> |-<br /> | CELL_AVC2_ERROR_WINDOW_NOT_FOUND || 0x8002b712 || Window has not been created<br /> |-<br /> | CELL_AVC2_PRIVATE_ERROR_HDD_NO_SPACE || 0x8002B786 || <br /> |-<br /> | CELL_AVC2_PRIVATE_ERROR_TEXT_LOGMGR_INTERNAL_FILEBROKEN|| 0x8002B7CC || <br /> |-<br /> |}<br /> <br /> == Gameupdate errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_GAMEUPDATE_ERROR_NOT_INITILIZED || 0x8002cc01 || Not initialized<br /> |-<br /> | CELL_GAMEUPDATE_ERROR_ALREADY_INITIALIZED || 0x8002cc02 || Already initialized<br /> |-<br /> | CELL_GAMEUPDATE_ERROR_INVALID_ADDR || 0x8002cc03 || Address of the passed argument is invalid<br /> |-<br /> | CELL_GAMEUPDATE_ERROR_INVALID_SIZE || 0x8002cc04 || Size of the passed argument is invalid<br /> |-<br /> | CELL_GAMEUPDATE_ERROR_INVALID_MEMORY_CONTAINER || 0x8002cc05 || Memory container is invalid<br /> |-<br /> | CELL_GAMEUPDATE_ERROR_INSUFFICIENT_MEMORY_CONTAINER || 0x8002cc06 || Size of the memory container is insufficient<br /> |-<br /> | CELL_GAMEUPDATE_ERROR_BUSY || 0x8002cc07 || An API is being processed<br /> |-<br /> | CELL_GAMEUPDATE_ERROR_NOT_START || 0x8002cc08 || Game update utility has not been started up<br /> |-<br /> | CELL_GAMEUPDATE_ERROR_LOAD_FAILED || 0x8002cc09 || Failed to load the game update module<br /> |-<br /> |}<br /> <br /> == Sysutil Accesspoint errors (PSP/Remoteplay) ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_SYSUTIL_AP_ERROR_OUT_OF_MEMORY || 0x8002cd00 || Not enough memory<br /> |-<br /> | CELL_SYSUTIL_AP_ERROR_FATAL || 0x8002cd01 || Internal error occurred<br /> |-<br /> | CELL_SYSUTIL_AP_ERROR_INVALID_VALUE || 0x8002cd02 || Invalid argument<br /> |-<br /> | CELL_SYSUTIL_AP_ERROR_NOT_INITIALIZED || 0x8002cd03 || Not correctly initialized<br /> |-<br /> | CELL_SYSUTIL_AP_ERROR_ZERO_REGISTERED || 0x8002cd13 || No PSP is registered<br /> |-<br /> | CELL_SYSUTIL_AP_ERROR_NETIF_DISABLED || 0x8002cd14 || Usable network does not exist<br /> |-<br /> | CELL_SYSUTIL_AP_ERROR_NETIF_NO_CABLE || 0x8002cd15 || Cable is not connected<br /> |-<br /> | CELL_SYSUTIL_AP_ERROR_NETIF_CANNOT_CONNECT || 0x8002cd16 || Could not obtain IP<br /> |-<br /> |}<br /> <br /> == Background Download Utility errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_BGDL_UTIL_ERROR_BUSY || 0x8002ce01 || Requested processing could not be executed because required processing has not been completed<br /> |-<br /> | CELL_BGDL_UTIL_ERROR_INTERNAL || 0x8002ce02 || Internal error<br /> |-<br /> | CELL_BGDL_UTIL_ERROR_PARAM || 0x8002ce03 || Invalid parameter<br /> |-<br /> | CELL_BGDL_UTIL_ERROR_ACCESS_ERROR || 0x8002ce04 || HDD access error<br /> |-<br /> | CELL_BGDL_UTIL_ERROR_INITIALIZE || 0x8002ce05 || Initialization error<br /> |-<br /> |}<br /> <br /> == Video Upload Utility errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_VIDEO_UPLOAD_ERROR_CANCEL || 0x8002d000 || User cancelled the operation<br /> |-<br /> | CELL_VIDEO_UPLOAD_ERROR_NETWORK || 0x8002d001 || Network error<br /> |-<br /> | CELL_VIDEO_UPLOAD_ERROR_SERVICE_STOP || 0x8002d002 || Service is stopped<br /> |-<br /> | CELL_VIDEO_UPLOAD_ERROR_SERVICE_BUSY || 0x8002d003 || Service is busy<br /> |-<br /> | CELL_VIDEO_UPLOAD_ERROR_SERVICE_UNAVAILABLE || 0x8002d004 || Service could not be used<br /> |-<br /> | CELL_VIDEO_UPLOAD_ERROR_SERVICE_QUOTA || 0x8002d005 || Service limit on upload size was exceeded<br /> |-<br /> | CELL_VIDEO_UPLOAD_ERROR_ACCOUNT_STOP || 0x8002d006 || Account for using service was stopped<br /> |-<br /> | CELL_VIDEO_UPLOAD_ERROR_OUT_OF_MEMORY || 0x8002d020 || Memory could not be allocated<br /> |-<br /> | CELL_VIDEO_UPLOAD_ERROR_FATAL || 0x8002d021 || Fatal internal error<br /> |-<br /> | CELL_VIDEO_UPLOAD_ERROR_INVALID_VALUE || 0x8002d022 || Invalid argument<br /> |-<br /> | CELL_VIDEO_UPLOAD_ERROR_FILE_OPEN || 0x8002d023 || Specified file could not be opened<br /> |-<br /> | CELL_VIDEO_UPLOAD_ERROR_INVALID_STATE || 0x8002d024 || Function was called in an incorrect state<br /> |-<br /> | CELL_VIDEO_UPLOAD_ERROR_INTERNAL_INVALID_USER || 0x8002d040 || <br /> |-<br /> | CELL_VIDEO_UPLOAD_ERROR_INTERNAL_BOUNDARY || 0x8002d041 || <br /> |-<br /> |}<br /> <br /> == USB PSP Connection Manager errors (PSP/Remoteplay) ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_USBPSPCM_ERROR_NOT_INITIALIZED || 0x80110401 || Library has not been initialized<br /> |-<br /> | CELL_USBPSPCM_ERROR_ALREADY || 0x80110402 || Already being processed<br /> |-<br /> | CELL_USBPSPCM_ERROR_INVALID || 0x80110403 || Argument value is invalid<br /> |-<br /> | CELL_USBPSPCM_ERROR_NO_MEMORY || 0x80110404 || Memory pool size is insufficient<br /> |-<br /> | CELL_USBPSPCM_ERROR_BUSY || 0x80110405 || Processing currently cannot be performed<br /> |-<br /> | CELL_USBPSPCM_ERROR_INPROGRESS || 0x80110406 || Processing is currently in progress<br /> |-<br /> | CELL_USBPSPCM_ERROR_NO_SPACE || 0x80110407 || No free channel exists<br /> |-<br /> | CELL_USBPSPCM_ERROR_CANCELED || 0x80110408 || Canceled<br /> |-<br /> | CELL_USBPSPCM_ERROR_RESETTING || 0x80110409 || Reset processing is in progress<br /> |-<br /> | CELL_USBPSPCM_ERROR_RESET_END || 0x8011040A || Reset processing has completed<br /> |-<br /> | CELL_USBPSPCM_ERROR_CLOSED || 0x8011040B || Channel has been discarded<br /> |-<br /> | CELL_USBPSPCM_ERROR_NO_DATA || 0x8011040C || No data has been received<br /> |-<br /> |}<br /> <br /> <br /> == USB errors ==<br /> {| class=&quot;wikitable sortable&quot; <br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_USBD_ERROR_NOT_INITIALIZED || 0x80110001 || <br /> |-<br /> | CELL_USBD_ERROR_ALREADY_INITIALIZED || 0x80110002 || <br /> |-<br /> | CELL_USBD_ERROR_NO_MEMORY || 0x80110003 || <br /> |-<br /> | CELL_USBD_ERROR_INVALID_PARAM || 0x80110004 || <br /> |-<br /> | CELL_USBD_ERROR_INVALID_TRANSFER_TYPE || 0x80110005 || <br /> |-<br /> | CELL_USBD_ERROR_LDD_ALREADY_REGISTERED || 0x80110006 || <br /> |-<br /> | CELL_USBD_ERROR_LDD_NOT_ALLOCATED || 0x80110007 || <br /> |-<br /> | CELL_USBD_ERROR_LDD_NOT_RELEASED || 0x80110008 || <br /> |-<br /> | CELL_USBD_ERROR_LDD_NOT_FOUND || 0x80110009 || <br /> |-<br /> | CELL_USBD_ERROR_DEVICE_NOT_FOUND || 0x8011000a || <br /> |-<br /> | CELL_USBD_ERROR_PIPE_NOT_ALLOCATED || 0x8011000b || <br /> |-<br /> | CELL_USBD_ERROR_PIPE_NOT_RELEASED || 0x8011000c || <br /> |-<br /> | CELL_USBD_ERROR_PIPE_NOT_FOUND || 0x8011000d || <br /> |-<br /> | CELL_USBD_ERROR_IOREQ_NOT_ALLOCATED || 0x8011000e || <br /> |-<br /> | CELL_USBD_ERROR_IOREQ_NOT_RELEASED || 0x8011000f || <br /> |-<br /> | CELL_USBD_ERROR_IOREQ_NOT_FOUND || 0x80110010 || <br /> |-<br /> | CELL_USBD_ERROR_CANNOT_GET_DESCRIPTOR || 0x80110011 || <br /> |-<br /> | CELL_USBD_ERROR_FATAL || 0x801100ff || <br /> |-<br /> |}<br /> <br /> == LIBMIXER errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_LIBMIXER_ERROR_UNDEFINED || 0x80310001 || <br /> |-<br /> | CELL_LIBMIXER_ERROR_NOT_INITIALIZED || 0x80310002 || <br /> |-<br /> | CELL_LIBMIXER_ERROR_INVALID_PARAMETER || 0x80310003 || <br /> |-<br /> | CELL_LIBMIXER_ERROR_NO_MEMORY || 0x80310005 || <br /> |-<br /> | CELL_LIBMIXER_ERROR_ALREADY_EXIST || 0x80310006 || <br /> |-<br /> | CELL_LIBMIXER_ERROR_FULL || 0x80310007 || <br /> |-<br /> | CELL_LIBMIXER_ERROR_NOT_EXIST || 0x80310008 || <br /> |-<br /> | CELL_LIBMIXER_ERROR_TYPE_MISMATCH || 0x80310009 || <br /> |-<br /> | CELL_LIBMIXER_ERROR_NOT_FOUND || 0x8031000A || <br /> |-<br /> | CELL_LIBMIXER_ERROR_NO_EFFECT || 0x8031000B || <br /> |-<br /> |}<br /> <br /> == SYNTH2 errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_SOUND_SYNTH2_ERROR_FATAL || 0x80310201 || <br /> |-<br /> | CELL_SOUND_SYNTH2_ERROR_INVALID_PARAMETER || 0x80310202 || <br /> |-<br /> | CELL_SOUND_SYNTH2_ERROR_ALREADY_INITIALIZED || 0x80310203 || <br /> |-<br /> |}<br /> <br /> == SND3 errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_SND3_ERROR_PARAM || 0x80310301 || badargument<br /> |-<br /> | CELL_SND3_ERROR_CREATE_MUTEX || 0x80310302 || cannot create mutex<br /> |-<br /> | CELL_SND3_ERROR_SYNTH || 0x80310303 || error in soft synth<br /> |-<br /> | CELL_SND3_ERROR_ALREADY || 0x80310304 || already initial<br /> |-<br /> | CELL_SND3_ERROR_NOTINIT || 0x80310305 || not initial<br /> |-<br /> | CELL_SND3_ERROR_SMFFULL || 0x80310306 || sfm bind full<br /> |-<br /> | CELL_SND3_ERROR_HD3ID || 0x80310307 || bad hd3ID<br /> |-<br /> | CELL_SND3_ERROR_SMF || 0x80310308 || bad SMF address<br /> |-<br /> | CELL_SND3_ERROR_SMFCTX || 0x80310309 || bad CellSnd3SmfCtx address<br /> |-<br /> | CELL_SND3_ERROR_FORMAT || 0x8031030a || bad SMF format<br /> |-<br /> | CELL_SND3_ERROR_SMFID || 0x8031030b || bad smdID<br /> |-<br /> | CELL_SND3_ERROR_SOUNDDATAFULL || 0x8031030c || sound data bind full<br /> |-<br /> | CELL_SND3_ERROR_VOICENUM || 0x8031030d || bad voice num<br /> |-<br /> | CELL_SND3_ERROR_RESERVEDVOICE || 0x8031030e || voice is reserved by user<br /> |-<br /> | CELL_SND3_ERROR_REQUESTQUEFULL || 0x8031030f || request queue is full<br /> |-<br /> | CELL_SND3_ERROR_OUTPUTMODE || 0x80310310 || out of output mode<br /> |-<br /> |}<br /> <br /> == AUDIO errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_AUDIO_ERROR_ALREADY_INIT || 0x80310701 || already init<br /> |-<br /> | CELL_AUDIO_ERROR_AUDIOSYSTEM || 0x80310702 || error in AudioSystem.<br /> |-<br /> | CELL_AUDIO_ERROR_NOT_INIT || 0x80310703 || not init<br /> |-<br /> | CELL_AUDIO_ERROR_PARAM || 0x80310704 || param error<br /> |-<br /> | CELL_AUDIO_ERROR_PORT_FULL || 0x80310705 || audio port is full<br /> |-<br /> | CELL_AUDIO_ERROR_PORT_ALREADY_RUN || 0x80310706 || audio port is already run<br /> |-<br /> | CELL_AUDIO_ERROR_PORT_NOT_OPEN || 0x80310707 || audio port is close<br /> |-<br /> | CELL_AUDIO_ERROR_PORT_NOT_RUN || 0x80310708 || audio port is not run<br /> |-<br /> | CELL_AUDIO_ERROR_TRANS_EVENT || 0x80310709 || trans event error<br /> |-<br /> | CELL_AUDIO_ERROR_PORT_OPEN || 0x8031070a || error in port open<br /> |-<br /> | CELL_AUDIO_ERROR_SHAREDMEMORY || 0x8031070b || error in shared memory<br /> |-<br /> | CELL_AUDIO_ERROR_MUTEX || 0x8031070c || error in mutex<br /> |-<br /> | CELL_AUDIO_ERROR_EVENT_QUEUE || 0x8031070d || error in event queue<br /> |-<br /> | CELL_AUDIO_ERROR_AUDIOSYSTEM_NOT_FOUND || 0x8031070e || <br /> |-<br /> | CELL_AUDIO_ERROR_TAG_NOT_FOUND || 0x8031070f || <br /> |-<br /> |}<br /> <br /> == VOICE errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_VOICE_ERROR_LIBVOICE_NOT_INIT || 0x80310801 || The libvoice library has not been initialized<br /> |-<br /> | CELL_VOICE_ERROR_LIBVOICE_INITIALIZED || 0x80310802 || The libvoice library has already been initialized<br /> |-<br /> | CELL_VOICE_ERROR_GENERAL || 0x80310803 || Errors that do not belong to any other category<br /> |-<br /> | CELL_VOICE_ERROR_PORT_INVALID || 0x80310804 || Invalid port<br /> |-<br /> | CELL_VOICE_ERROR_ARGUMENT_INVALID || 0x80310805 || Invalid argument<br /> |-<br /> | CELL_VOICE_ERROR_CONTAINER_INVALID || 0x80310806 || Invalid container<br /> |-<br /> | CELL_VOICE_ERROR_TOPOLOGY || 0x80310807 || Topology error<br /> |-<br /> | CELL_VOICE_ERROR_RESOURCE_INSUFFICIENT || 0x80310808 || Insufficient resources<br /> |-<br /> | CELL_VOICE_ERROR_NOT_IMPLEMENTED || 0x80310809 || Feature not yet implemented <br /> |-<br /> | CELL_VOICE_ERROR_ADDRESS_INVALID || 0x8031080a || Invalid address<br /> |-<br /> | CELL_VOICE_ERROR_SERVICE_DETACHED || 0x8031080b || System Voice Service is detached<br /> |-<br /> | CELL_VOICE_ERROR_SERVICE_ATTACHED || 0x8031080c || System Voice Service is attached<br /> |-<br /> | CELL_VOICE_ERROR_SERVICE_NOT_FOUND || 0x8031080d || System Voice Service not found<br /> |-<br /> | CELL_VOICE_ERROR_SHAREDMEMORY || 0x8031080e || Shared memory error<br /> |-<br /> | CELL_VOICE_ERROR_EVENT_QUEUE || 0x8031080f || Event Queue error<br /> |-<br /> | CELL_VOICE_ERROR_SERVICE_HANDLE || 0x80310810 || Invalid System Voice Service Handler<br /> |-<br /> | CELL_VOICE_ERROR_EVENT_DISPATCH || 0x80310811 || Voice event dispatch fails<br /> |-<br /> | CELL_VOICE_ERROR_DEVICE_NOT_PRESENT || 0x80310812 || Device was not present<br /> |-<br /> |}<br /> <br /> == MicIn errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_MICIN_ERROR_ALREADY_INIT || 0x80140101 || already init<br /> |-<br /> | CELL_MICIN_ERROR_SYSTEM&lt;br /&gt;CELL_MICIN_ERROR_DEVICE || 0x80140102 || error in device<br /> |-<br /> | CELL_MICIN_ERROR_NOT_INIT || 0x80140103 || not init<br /> |-<br /> | CELL_MICIN_ERROR_PARAM || 0x80140104 || param error<br /> |-<br /> | CELL_MICIN_ERROR_PORT_FULL || 0x80140105 || device port is full<br /> |-<br /> | CELL_MICIN_ERROR_ALREADY_OPEN || 0x80140106 || device is already opened<br /> |-<br /> | CELL_MICIN_ERROR_NOT_OPEN || 0x80140107 || device is already closed<br /> |-<br /> | CELL_MICIN_ERROR_NOT_RUN || 0x80140108 || device is not running<br /> |-<br /> | CELL_MICIN_ERROR_TRANS_EVENT || 0x80140109 || device trans event error<br /> |-<br /> | CELL_MICIN_ERROR_OPEN || 0x8014010a || error in open<br /> |-<br /> | CELL_MICIN_ERROR_SHAREDMEMORY || 0x8014010b || error in shared memory<br /> |-<br /> | CELL_MICIN_ERROR_MUTEX || 0x8014010c || error in mutex<br /> |-<br /> | CELL_MICIN_ERROR_EVENT_QUEUE || 0x8014010d || error in event queue<br /> |-<br /> | CELL_MICIN_ERROR_SYSTEM_NOT_FOUND&lt;br /&gt;CELL_MICIN_ERROR_DEVICE_NOT_FOUND || 0x8014010e || device not found<br /> |-<br /> | CELL_MICIN_ERROR_FATAL || 0x8014010f || generic error<br /> |-<br /> | CELL_MICIN_ERROR_SYSTEM_NOT_SUPPORT&lt;br /&gt;CELL_MICIN_ERROR_DEVICE_NOT_SUPPORT || 0x80140110 || device is not supported<br /> |-<br /> |}<br /> <br /> == CAMERA errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_CAMERA_ERROR_ALREADY_INIT || 0x80140801 || libcamera was already init<br /> |-<br /> | CELL_CAMERA_ERROR_NOT_INIT || 0x80140803 || libcamera has not been inited<br /> |-<br /> | CELL_CAMERA_ERROR_PARAM || 0x80140804 || parameter error<br /> |-<br /> | CELL_CAMERA_ERROR_ALREADY_OPEN || 0x80140805 || device is already open<br /> |-<br /> | CELL_CAMERA_ERROR_NOT_OPEN || 0x80140806 || device is closed<br /> |-<br /> | CELL_CAMERA_ERROR_DEVICE_NOT_FOUND || 0x80140807 || device not found, could be unplugged<br /> |-<br /> | CELL_CAMERA_ERROR_DEVICE_DEACTIVATED || 0x80140808 || device was deactivated<br /> |-<br /> | CELL_CAMERA_ERROR_NOT_STARTED || 0x80140809 || device is not started<br /> |-<br /> | CELL_CAMERA_ERROR_FORMAT_UNKNOWN || 0x8014080a || unknown format passed to Open<br /> |-<br /> | CELL_CAMERA_ERROR_RESOLUTION_UNKNOWN || 0x8014080b || unknown resolution passed to Open<br /> |-<br /> | CELL_CAMERA_ERROR_BAD_FRAMERATE || 0x8014080c || framerate passed to Open is not supported<br /> |-<br /> | CELL_CAMERA_ERROR_TIMEOUT || 0x8014080d || timeout occurred. function may not have completed<br /> |-<br /> | CELL_CAMERA_ERROR_BUSY || 0x8014080e || asynchronous processing error<br /> |-<br /> | CELL_CAMERA_ERROR_FATAL || 0x8014080f || generic internal error<br /> |-<br /> | CELL_CAMERA_ERROR_MUTEX || 0x80140810 || mutex error<br /> |-<br /> |}<br /> <br /> == MicIn DSP errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_MICIN_ERROR_DSP || 0x80140200 || generic error<br /> |-<br /> | CELL_MICIN_ERROR_DSP_ASSERT || 0x80140201 || assertion failure<br /> |-<br /> | CELL_MICIN_ERROR_DSP_PATH || 0x80140202 || Path is wrong in file system<br /> |-<br /> | CELL_MICIN_ERROR_DSP_FILE || 0x80140203 || File is with corruption<br /> |-<br /> | CELL_MICIN_ERROR_DSP_PARAM || 0x80140204 || called function arg/param is bad<br /> |-<br /> | CELL_MICIN_ERROR_DSP_MEMALLOC || 0x80140205 || insufficient memory<br /> |-<br /> | CELL_MICIN_ERROR_DSP_POINTER || 0x80140206 || Bad pointer to invalid memory addr<br /> |-<br /> | CELL_MICIN_ERROR_DSP_FUNC || 0x80140207 || unsupported function<br /> |-<br /> | CELL_MICIN_ERROR_DSP_MEM || 0x80140208 || bad memory region<br /> |-<br /> | CELL_MICIN_ERROR_DSP_ALIGN16 || 0x80140209 || bad memory alignment in 16 bytes<br /> |-<br /> | CELL_MICIN_ERROR_DSP_ALIGN128 || 0x8014020a || bad memory alignment in 128 bytes<br /> |-<br /> | CELL_MICIN_ERROR_DSP_EAALIGN128 || 0x8014020b || bad effective address(EA) alignment in 128 bytes<br /> |-<br /> | CELL_MICIN_ERROR_DSP_LIB_HANDLER || 0x80140216 || invalid dsp library handler, mostly memory corruption<br /> |-<br /> | CELL_MICIN_ERROR_DSP_LIB_INPARAM || 0x80140217 || unrecognized input parameter to dsp library API<br /> |-<br /> | CELL_MICIN_ERROR_DSP_LIB_NOSPU || 0x80140218 || failure to communicate with SPU side dsp library<br /> |-<br /> | CELL_MICIN_ERROR_DSP_LIB_SAMPRATE || 0x80140219 || this sampling rate is not supported by dsp library<br /> |-<br /> |}<br /> <br /> == Face Recognition errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_FACE_ERROR_IMG_WIDTH_LIMIT || 0x80140901 || Width or data width of the input image is outside the valid range<br /> |-<br /> | CELL_FACE_ERROR_IMG_WIDTH_ALIGN || 0x80140902 || Data width of the input image is not a multiple of 16<br /> |-<br /> | CELL_FACE_ERROR_INVALID_EA || 0x80140903 || Specified pointer is not valid (Not aligned, or NULL)<br /> |-<br /> | CELL_FACE_ERROR_INVALID_PARAM || 0x80140904 || Specified parameter is not valid<br /> |-<br /> | CELL_FACE_ERROR_INVALID_WORK || 0x80140905 || Invalid work area<br /> |-<br /> | CELL_FACE_ERROR_INVALID_DICT || 0x80140906 || Invalid dictionary data<br /> |-<br /> | CELL_FACE_ERROR_OUT_OF_BOUNDS || 0x80140907 || Face area is outside the input image area<br /> |-<br /> | CELL_FACE_ERROR_NON_FRONTAL || 0x80140908 || Angle of face area is outside the range<br /> |-<br /> | CELL_FACE_ERROR_TOO_SMALL || 0x80140909 || Face area is too small<br /> |-<br /> | CELL_FACE_ERROR_PARTS_MISSING || 0x8014090a || One or more parts could not be detected<br /> |-<br /> | CELL_FACE_ERROR_NO_MEMORY || 0x8014090b || Not enough memory<br /> |-<br /> | CELL_FACE_ERROR_DMA_TAG || 0x8014090c || Problem with the specified DMA tag numbers<br /> |-<br /> |}<br /> <br /> == Head Tracker errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_HEAD_TRACKER_ERROR_INVAL || 0x80140a01 || Value of argument is invalid<br /> |-<br /> | CELL_HEAD_TRACKER_ERROR_ALIGN || 0x80140a02 || Address alignment of argument is invalid<br /> |-<br /> | CELL_HEAD_TRACKER_ERROR_NOMEM || 0x80140a03 || Not enough memory for this operation<br /> |-<br /> | CELL_HEAD_TRACKER_ERROR_CALIB_FAIL || 0x80140a04 || Calibration failed<br /> |-<br /> | CELL_HEAD_TRACKER_ERROR_CALIB_INCOMPLETE || 0x80140a05 || Calibration is incomplete<br /> |-<br /> |}<br /> <br /> == Face Tracker errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_FACE_TRACKER_ERROR_BASE || 0x80140940|| <br /> |-<br /> | CELL_FACE_TRACKER_ERROR_INVALID_WORKAREA || 0x80140941|| <br /> |-<br /> | CELL_FACE_TRACKER_ERROR_WORKAREA_ALIGN || 0x80140942|| <br /> |-<br /> | CELL_FACE_TRACKER_ERROR_ROWSTRIDE_ALIGN || 0x80140943|| <br /> |-<br /> | CELL_FACE_TRACKER_ERROR_SHORT_WORKSIZE || 0x80140944|| <br /> |-<br /> | CELL_FACE_TRACKER_ERROR_IMAGE_WIDTH_LIMIT || 0x80140945|| <br /> |-<br /> | CELL_FACE_TRACKER_ERROR_INVALID_PARAM || 0x80140946|| <br /> |-<br /> | CELL_FACE_TRACKER_ERROR_FACEID_FULL || 0x80140947|| <br /> |-<br /> | CELL_FACE_TRACKER_ERROR_FACEID_NOT_EXIST || 0x80140948|| <br /> |-<br /> | CELL_FACE_TRACKER_ERROR_NOT_INITIALIZED || 0x80140949|| <br /> |-<br /> | CELL_FACE_TRACKER_ERROR_INVALID_TIMING || 0x8014094a|| <br /> |-<br /> | CELL_FACE_TRACKER_ERROR_ALREADY_INITIALIZED || 0x8014094b|| <br /> |-<br /> |}<br /> <br /> == Debug errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> !colspan=&quot;3&quot; | Debug errors (libdbg) <br /> |-<br /> | CELL_DBG_EINVAL || 0x80510002 || Specified argument is invalid<br /> |-<br /> | CELL_DBG_EABORT || 0x8051000C || Processing has been aborted because of an abnormal state<br /> |-<br /> | CELL_DBG_ENULL || 0x8051000E || The pointer specified in the argument is NULL<br /> |-<br /> !colspan=&quot;3&quot; | Debug Font errors (libdbgfont) <br /> |-<br /> | CELL_DBGFONT_ERROR_MALLOC || 0x80510104 || Allocation of main memory failed<br /> |-<br /> | CELL_DBGFONT_ERROR_TEMP_BUFFER || 0x80510105 || Internal buffer for printf functions overflowed<br /> |-<br /> | CELL_DBGFONT_ERROR_LABEL_BUFFER || 0x80510106 || Label buffer space not enough<br /> |-<br /> | CELL_DBGFONT_ERROR_PARAM || 0x80510107 || Inappropriate argument value<br /> |-<br /> | CELL_DBGFONT_ERROR_EXISTS || 0x80510108 || Library initialization attempted twice<br /> |-<br /> | CELL_DBGFONT_ERROR_NOT_INIT || 0x80510109 || Library not initialized<br /> |-<br /> | CELL_DBGFONT_ERROR_CG_PROFILE || 0x8051010a || Cg profile not supported<br /> |-<br /> | CELL_DBGFONT_ERROR_CONSOLE_ID || 0x80510111 || Inappropriate console ID<br /> |-<br /> | CELL_DBGFONT_ERROR_CONSOLE_FULL || 0x80510112 || No free console<br /> |-<br /> !colspan=&quot;3&quot; | Debug RSX errors (libdbgrsx) <br /> |-<br /> | CELL_DBG_RSX_ERROR_FAILURE || || RSX function fails<br /> |-<br /> | CELL_DBG_RSX_ERROR_INVALID_VALUE || || Invalid Value (data is NULL, or not a multiple of 64)<br /> |-<br /> | CELL_DBG_RSX_ERROR_INVALID_ENUM || || Invalid enum value<br /> |-<br /> !colspan=&quot;3&quot; | Debug LV2 errors (liblv2dbg) <br /> |-<br /> | CELL_LV2DBG_ERROR_DEINVALIDPROCESSID || 0x80010401 || <br /> |-<br /> | CELL_LV2DBG_ERROR_DEINVALIDTHREADID || 0x80010402 || <br /> |-<br /> | CELL_LV2DBG_ERROR_DEILLEGALREGISTERTYPE || 0x80010403 || <br /> |-<br /> | CELL_LV2DBG_ERROR_DEILLEGALREGISTERNUMBER || 0x80010404 || <br /> |-<br /> | CELL_LV2DBG_ERROR_DEILLEGALTHREADSTATE || 0x80010405 || <br /> |-<br /> | CELL_LV2DBG_ERROR_DEINVALIDEFFECTIVEADDRESS || 0x80010406 || <br /> |-<br /> | CELL_LV2DBG_ERROR_DENOTFOUNDPROCESSID || 0x80010407 || <br /> |-<br /> | CELL_LV2DBG_ERROR_DENOMEM || 0x80010408 || <br /> |-<br /> | CELL_LV2DBG_ERROR_DEINVALIDARGUMENTS || 0x80010409 || <br /> |-<br /> | CELL_LV2DBG_ERROR_DENOTFOUNDFILE || 0x8001040a || <br /> |-<br /> | CELL_LV2DBG_ERROR_DEINVALIDFILETYPE || 0x8001040b || <br /> |-<br /> | CELL_LV2DBG_ERROR_DENOTFOUNDTHREADID || 0x8001040c || <br /> |-<br /> | CELL_LV2DBG_ERROR_DEINVALIDTHREADSTATUS || 0x8001040d || <br /> |-<br /> | CELL_LV2DBG_ERROR_DENOAVAILABLEPROCESSID || 0x8001040e || <br /> |-<br /> | CELL_LV2DBG_ERROR_DENOTFOUNDEVENTHANDLER || 0x8001040f || <br /> |-<br /> | CELL_LV2DBG_ERROR_DESPNOROOM || 0x80010410 || <br /> |-<br /> | CELL_LV2DBG_ERROR_DESPNOTFOUND || 0x80010411 || <br /> |-<br /> | CELL_LV2DBG_ERROR_DESPINPROCESS || 0x80010412 || <br /> |-<br /> | CELL_LV2DBG_ERROR_DEINVALIDPRIMARYSPUTHREADID || 0x80010413 || <br /> |-<br /> | CELL_LV2DBG_ERROR_DETHREADSTATEISNOTSTOPPED || 0x80010414 || <br /> |-<br /> | CELL_LV2DBG_ERROR_DEINVALIDTHREADTYPE || 0x80010415 || <br /> |-<br /> | CELL_LV2DBG_ERROR_DECONTINUEFAILED || 0x80010416 || <br /> |-<br /> | CELL_LV2DBG_ERROR_DESTOPFAILED || 0x80010417 || <br /> |-<br /> | CELL_LV2DBG_ERROR_DENOEXCEPTION || 0x80010418 || <br /> |-<br /> | CELL_LV2DBG_ERROR_DENOMOREEVENTQUE || 0x80010419 || <br /> |-<br /> | CELL_LV2DBG_ERROR_DEEVENTQUENOTCREATED || 0x8001041a || <br /> |-<br /> | CELL_LV2DBG_ERROR_DEEVENTQUEOVERFLOWED || 0x8001041b || <br /> |-<br /> | CELL_LV2DBG_ERROR_DENOTIMPLEMENTED || 0x8001041c || <br /> |-<br /> | CELL_LV2DBG_ERROR_DEQUENOTREGISTERED || 0x8001041d || <br /> |-<br /> | CELL_LV2DBG_ERROR_DENOMOREEVENTPROCESS || 0x8001041e || <br /> |-<br /> | CELL_LV2DBG_ERROR_DEPROCESSNOTREGISTERED || 0x8001041f || <br /> |-<br /> | CELL_LV2DBG_ERROR_DEEVENTDISCARDED || 0x80010420 || <br /> |-<br /> | CELL_LV2DBG_ERROR_DENOMORESYNCID || 0x80010421 || <br /> |-<br /> | CELL_LV2DBG_ERROR_DESYNCIDALREADYADDED || 0x80010422 || <br /> |-<br /> | CELL_LV2DBG_ERROR_DESYNCIDNOTFOUND || 0x80010423 || <br /> |-<br /> | CELL_LV2DBG_ERROR_DESYNCIDNOTACQUIRED || 0x80010424 || <br /> |-<br /> | CELL_LV2DBG_ERROR_DEPROCESSALREADYREGISTERED || 0x80010425 || <br /> |-<br /> | CELL_LV2DBG_ERROR_DEINVALIDLSADDRESS || 0x80010426 || <br /> |-<br /> | CELL_LV2DBG_ERROR_DEINVALIDOPERATION || 0x80010427 || <br /> |-<br /> | CELL_LV2DBG_ERROR_DEINVALIDMODULEID || 0x80010428 || <br /> |-<br /> | CELL_LV2DBG_ERROR_DEHANDLERALREADYREGISTERED || 0x80010429 || <br /> |-<br /> | CELL_LV2DBG_ERROR_DEINVALIDHANDLER || 0x8001042a || <br /> |-<br /> | CELL_LV2DBG_ERROR_DEHANDLENOTREGISTERED || 0x8001042b || <br /> |-<br /> | CELL_LV2DBG_ERROR_DEOPERATIONDENIED || 0x8001042c || <br /> |-<br /> | CELL_LV2DBG_ERROR_DEHANDLERNOTINITIALIZED || 0x8001042d || <br /> |-<br /> | CELL_LV2DBG_ERROR_DEHANDLERALREADYINITIALIZED || 0x8001042e || <br /> |-<br /> | CELL_LV2DBG_ERROR_DEILLEGALCOREDUMPPARAMETER || 0x8001042f || <br /> |-<br /> |}<br /> <br /> == DECI3 errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> !colspan=&quot;3&quot; | DECI3 Remote File Protocol / File Management Protocol / Controller Protocol errors (drfp/dfmp/ctrlp) <br /> |-<br /> | DRFP_EINVAL / DFMP_EINVAL / CTRLP_EINVAL || 0x80010002 || Argument is invalid (Invalid packet, e.g. controller information has been sent when its playback was not being processed)<br /> |-<br /> | DRFP_ENOMEM / DFMP_ENOMEM / CTRLP_ENOMEM || 0x80010004 || Not enough memory<br /> |-<br /> | DRFP_ENOENT / DFMP_ENOENT || 0x80010006 || File could not be found, or filename is invalid<br /> |-<br /> | DRFP_EBUSY / DFMP_EBUSY / CTRLP_EBUSY || 0x8001000a || Already open (or already recording or playing)<br /> |-<br /> | DRFP_EISDIR / DFMP_EISDIR || 0x80010012 || Is a directory<br /> |-<br /> | DRFP_EEXIST / DFMP_EEXIST || 0x80010014 || File already exists<br /> |-<br /> | DRFP_EFBIG / DFMP_EFBIG || 0x80010020 || File is too big<br /> |-<br /> | DRFP_ENOSPC / DFMP_ENOSPC || 0x80010023 || Space cannot be allocated on disk<br /> |-<br /> | DRFP_EROFS / DFMP_EROFS || 0x80010026 || Write access was requested for read-only file system<br /> |-<br /> | DRFP_EACCES / DFMP_EACCES || 0x80010029 || Do not have access rights<br /> |-<br /> | DRFP_EBADF / DFMP_EBADF || 0x8001002a || File descriptor is invalid<br /> |-<br /> | DRFP_EIO / DFMP_EIO || 0x8001002b || I/O error<br /> |-<br /> | DRFP_EMFILE / DFMP_EMFILE || 0x8001002c || Maximum number of operable files exceeded<br /> |-<br /> | DRFP_ENODEV / DFMP_ENODEV / CTRLP_ENODEV || 0x8001002d || Specified device does not exist (or disconnected)<br /> |-<br /> | DRFP_ENOTDIR / DFMP_ENOTDIR || 0x8001002e || Not a directory<br /> |-<br /> | DRFP_EXDEV / DFMP_EXDEV || 0x80010030 || Multiple devices are specified<br /> |-<br /> | DRFP_ENAMETOOLONG / DFMP_ENAMETOOLONG || 0x80010034 || File pathname is too long<br /> |-<br /> | DRFP_ENOTEMPTY / DFMP_ENOTEMPTY || 0x80010036 || Directory is not empty<br /> |-<br /> | DRFP_ENOTSUP / DFMP_EUNSUP / CTRLP_EUNSUP || 0x80010037 || Request is not supported by this device<br /> |-<br /> | DRFP_ESPECIFIC / DFMP_EFSSPECIFIC || 0x80010038 || Undefined error<br /> |-<br /> !colspan=&quot;3&quot; | DECI3 Systemcalls errors (libdeci3) <br /> |-<br /> | SYS_DECI3_EINVAL&lt;br /&gt;CELL_DEBUG_ERROR_INVAL || 0x80510201 || Invalid parameter<br /> |-<br /> | SYS_DECI3_EBADF&lt;br /&gt;CELL_DEBUG_ERROR_BADF || 0x80510202 || Invalid session ID<br /> |-<br /> | SYS_DECI3_EALREADYUSE&lt;br /&gt;CELL_DEBUG_ERROR_ALREADYUSE || 0x80510203 || Session is already opened<br /> |-<br /> | SYS_DECI3_EMFILE&lt;br /&gt;CELL_DEBUG_ERROR_MFILE || 0x80510204 || Number of sessions that can be open simultaneously was exceeded<br /> |-<br /> | SYS_DECI3_EPKTSIZE&lt;br /&gt;CELL_DEBUG_ERROR_PKTSIZE || 0x80510205 || Send data is too large<br /> |-<br /> | SYS_DECI3_ENOHOSTIF&lt;br /&gt;CELL_DEBUG_ERROR_NOHOSTIF || 0x80510206 || Not connected with host<br /> |-<br /> | SYS_DECI3_ENOSPACE&lt;br /&gt;CELL_DEBUG_ERROR_NOSPACE || 0x80510207 || Send buffer is full<br /> |-<br /> | SYS_DECI3_EPERM&lt;br /&gt;CELL_DEBUG_ERROR_PERM || 0x80510208 || Not in a state in which the function can be executed<br /> |-<br /> | SYS_DECI3_ENOMEM&lt;br /&gt;CELL_DEBUG_ERROR_NOMEM || 0x80510209 || Not enough memory<br /> |-<br /> | SYS_DECI3_EBUSY&lt;br /&gt;CELL_DEBUG_ERROR_BUSY || 0x8051020a || Timeout occurred<br /> |-<br /> | SYS_DECI3_ENXIO&lt;br /&gt;CELL_DEBUG_ERROR_NXIO || 0x8051020b || Communication device does not exist<br /> |-<br /> | SYS_DECI3_EFAULT&lt;br /&gt;CELL_DEBUG_ERROR_FAULT || 0x8051020c || Internal error occurred<br /> |-<br /> !colspan=&quot;3&quot; | Dtlib errors <br /> |-<br /> | DTLIB_INVALID_TARGETNAME || 50001&lt;!--//5digit shortnumbers are not a typo!//--&gt; || hostname is not valid<br /> |-<br /> | DTLIB_INVALID_SOCKET || 50002 || Socket is invalid<br /> |-<br /> | DTLIB_INVALID_PCK || 50003 || Unknown packet was received, or packet is unrelated to specified deciH<br /> |-<br /> | DTLIB_INVALID_PERM || 50004 || Specified argument is invalid<br /> |-<br /> | DTLIB_ERROR_READ || 50005 || Read of DECI header failed<br /> |-<br /> | DTLIB_INVALID_SIZE || 50006 || Packet size of DECI header is invalid<br /> |-<br /> | DTLIB_DCMP_INVALHEAD || 50100 || Unsupported DECI header<br /> |-<br /> | DTLIB_DCMP_SYSTEM_OFF || 50101 || System power has dropped<br /> |-<br /> | DTLIB_DCMP_SYSTEM_SUSPENDED || 50102 || System is suspended<br /> |-<br /> | DTLIB_DCMP_LPAR_NONE || 50103 || Invalid LPAR<br /> |-<br /> | DTLIB_DCMP_LPAR_SUSPENDED || 50104 || LPAR is suspended<br /> |-<br /> | DTLIB_DCMP_NOCONNECT || 50105 || DECI3 Manager is not connected<br /> |-<br /> | DTLIB_DCMP_NOPROTO || 50106 || Invalid protocol number<br /> |-<br /> | DTLIB_DCMP_PRIORITY || 50107 || Invalid priority<br /> |-<br /> | DTLIB_DCMP_NOSPACE || 50108 || Insufficient memory<br /> |-<br /> | DTLIB_DCMP_VERSION || 50110 || Unsupported DECI version<br /> |-<br /> | DTLIB_NETMP_INVAL || 50121 || Invalid request (dtnetm error)<br /> |-<br /> | DTLIB_NETMP_BUSY || 50122 || Another application is already connected using the same protocol, same port, and same priority (dtnetm error)<br /> |-<br /> | DTLIB_NETMP_NOTCONNECT || 50123 || Not connected to dtnetm (dtnetm error)<br /> |-<br /> | DTLIB_NETMP_ALREADYCONN || 50124 || Already connected (dtnetm error)<br /> |-<br /> | DTLIB_NETMP_NOMEM || 50125 || Insufficient memory (dtnetm error)<br /> |-<br /> | DTLIB_NETMP_INVALLPAR || 50126 || Invalid LPAR (dtnetm error)<br /> |-<br /> | DTLIB_NETMP_INVALPRIORITY || 50127 || Invalid priority (dtnetm error)<br /> |-<br /> | DTLIB_NETMP_INVALPROTO || 50128 || Invalid protocol number (dtnetm error)<br /> |-<br /> | DTLIB_NETMP_POWER_OFF || 50129 || Target power is off (dtnetm error)<br /> |-<br /> | DTLIB_NETMP_NODECI_CONNECT || 50130 || DECI3 Manager is not connected (dtnetm error)<br /> |-<br /> | DTLIB_NETMP_NOREGISTER || 50131 || Not registered (dtnetm error)<br /> |-<br /> | DTLIB_NETMP_ALREADY_REGISTER || 50132 || Already registered (dtnetm error)<br /> |-<br /> | DTLIB_SOCKET_CLOSE || 50141 || Communication is not possible due to closed socket<br /> |-<br /> | DTLIB_WAIT_TIMEOUT || 50142 || Timeout<br /> |-<br /> | DTLIB_DONT_CONTINUE || 50143 || Callback routine returned false or communication could not be performed for some other reason.<br /> |-<br /> | DTLIB_TOO_BIG_PACKET || 50201 || Size of data to be sent is larger than 64KB<br /> |-<br /> |}<br /> <br /> == FIOS errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_FIOS_ERROR_INPROGRESS || 0x80010701 || I/O is in progress.<br /> |-<br /> | CELL_FIOS_ERROR_UNKNOWNCALLBACKEVENT || 0x80010702 || Callback return code: event was not handled.<br /> |-<br /> | CELL_FIOS_ERROR_NOTREADY || 0x80010703 || Callback return code: no buffer ready yet, try again later.<br /> |-<br /> | CELL_FIOS_ERROR_TIMEOUT || 0x80010704 || The deadline has been reached while waiting on an operation, and the I/O has not completed yet.<br /> |-<br /> | CELL_FIOS_ERROR_BADPATH || 0x80010705 || Bad path argument, or file not found.<br /> |-<br /> | CELL_FIOS_ERROR_BADHANDLE || 0x80010706 || Bad filehandle argument.<br /> |-<br /> | CELL_FIOS_ERROR_BADPARAM || 0x80010707 || Bad parameter (invalid or illegal).<br /> |-<br /> | CELL_FIOS_ERROR_CANCELLED || 0x80010708 || Operation was cancelled.<br /> |-<br /> | CELL_FIOS_ERROR_EOF || 0x80010709 || End-of-file was reached during a read; some data may have been returned prior to the EOF. Check the actual bytes transferred.<br /> |-<br /> | CELL_FIOS_ERROR_NOMEM || 0x8001070A || Out of memory.<br /> |-<br /> | CELL_FIOS_ERROR_BADOFFSET || 0x8001070B || Bad offset during seek.<br /> |-<br /> | CELL_FIOS_ERROR_BADCALLBACK || 0x8001070C || Callback was NULL when it shouldn't have been.<br /> |-<br /> | CELL_FIOS_ERROR_PLATFORM || 0x8001070D || Some platform-specific error occurred that is not enumerated here (for example, too many open files).<br /> |-<br /> | CELL_FIOS_ERROR_ACCESS || 0x8001070E || Access was denied, you don't have appropriate security permission.<br /> |-<br /> | CELL_FIOS_ERROR_DECOMPRESSION || 0x8001070F || Decompression failed.<br /> |-<br /> | CELL_FIOS_ERROR_READONLY || 0x80010710 || Write not supported by media or file access permissions.<br /> |-<br /> | CELL_FIOS_ERROR_NOBLOCK || 0x80010711 || Block APIs not supported by media.<br /> |-<br /> | CELL_FIOS_ERROR_NOPATH || 0x80010712 || Path APIs not supported by media.<br /> |-<br /> | CELL_FIOS_ERROR_MEDIAGONE || 0x80010713 || Media is no longer mounted. When this error code is returned in a mediacallback_proc, FIOS will not retry any I/O and will cancel all I/O to the corresponding media.<br /> |-<br /> | CELL_FIOS_ERROR_CANTIMMED || 0x80010714 || An operation had kOPF_IMMED set but I/O was required.<br /> |-<br /> |}<br /> <br /> == CXML errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | RESULT_ERROR_CANT_OPEN || 0x80550001 || File could not be opened<br /> |-<br /> | RESULT_ERROR_CANT_READ || 0x80550002 || Could not read from file or buffer<br /> |-<br /> | RESULT_ERROR_CANT_WRITE || 0x80550003 || Could not write to file or buffer<br /> |-<br /> | RESULT_ERROR_CANT_SEEK || 0x80550004 || Could not set read position in file or buffer<br /> |-<br /> | RESULT_ERROR_CANT_ALLOC || 0x80550005 || Memory allocation failed<br /> |-<br /> | RESULT_ERROR_FORMAT || 0x80550006 || Incorrect file format<br /> |-<br /> | RESULT_ERROR_VERSION || 0x80550007 || Incorrect file version<br /> |-<br /> | RESULT_ERROR_INVALID_NODE || 0x80550008 || Access to invalid node (Element, Attribute, File)<br /> |-<br /> | RESULT_ERROR_NOT_ENOUGH_BUF || 0x80550009 || Buffer size is not large enough<br /> |-<br /> | RESULT_ERROR_ACCESS_MODE || 0x80550010 || Operation forbidden in current access mode<br /> |-<br /> | RESULT_ERROR_NOT_EXIST || 0x80550011 || Does not exist<br /> |-<br /> | RESULT_ERROR_TYPE || 0x80550012 || Incorrect attribute type<br /> |-<br /> | RESULT_ERROR_CANT_MODIFY || 0x80550013 || Cannot modify<br /> |-<br /> | RESULT_ERROR_NO_ALLOCATOR || 0x80550014 || Allocator is not registered<br /> |-<br /> |}<br /> <br /> == SPASM errors/warnings ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> !colspan=&quot;3&quot; | SPU Assembly Preprocessor errors (spasm) <br /> |-<br /> | || 0x1000 || An identifier defined as a label is being used in a place where a variable is expected.<br /> |-<br /> | || 0x1001 || An identifier defined as a variable is being used in a place where a label is expected.<br /> |-<br /> | || 0x1002 || A label with the same name is multiply defined.<br /> |-<br /> | || 0x1003 || An invalid form operand was used where a d-form instruction operand of the form offset(baseVar) was expected.<br /> |-<br /> | || 0x1004 || A variable is used before initialization.<br /> |-<br /> | || 0x1005 || There are insufficient temporary registers to compile the program. Define extra temporary registers or alter the code to use fewer registers.<br /> |-<br /> | || 0x1006 || Code contains an unrecognized instruction pattern.<br /> |-<br /> | || 0x1007 || Code contains an unrecognized SPASM directive.<br /> |-<br /> | || 0x1008 || Code contains an unrecognized SPASM prag directive.<br /> |-<br /> | || 0x1009 || Code contains an invalid label identifier such as a zero-length label.<br /> |-<br /> | || 0x1010 || A variable identifier is expected in this instruction pattern.<br /> |-<br /> | || 0x1011 || Code contains nested --function directives.<br /> |-<br /> | || 0x1012 || Code contains an --endfunction directive without a matching --function directive.<br /> |-<br /> | || 0x1020 || Code uses an unrecognized data type.<br /> |-<br /> !colspan=&quot;3&quot; | SPU Assembly Preprocessor warnings (spasm) <br /> |-<br /> | || 0x4000 || A variable may be used before initialization.<br /> |-<br /> | || 0x4001 || Code contains an undefined label. It is assumed to be an external symbol.<br /> |-<br /> | || 0x4002 || Code is unreachable and will be deleted from the final program.<br /> |-<br /> | || 0x4003 || Code uses an undefined target label. It is assumed to be an external symbol.<br /> |-<br /> | || 0x4004 || Code is unreachable due to a missing label.<br /> |-<br /> | || 0x4005 || Code contains a dependency on an undefined name.<br /> |-<br /> | || 0x4006 || Dead code was removed from the final program.<br /> |-<br /> |}<br /> <br /> == Game Content Utility errors ==<br /> &lt;!--// aka sysutil_game errors //--&gt;<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_GAME_RET_OK || || Normal termination<br /> |-<br /> | CELL_GAME_RET_CANCEL || || Processing has been canceled<br /> |-<br /> | CELL_GAME_RET_NONE || || The specified game content does not exist<br /> |-<br /> | || 0x8002cb01 || System software needs to be updated<br /> |-<br /> | CELL_GAME_ERROR_NOTFOUND || 0x8002cb04 || The specified game content or file cannot be found (application bug)<br /> |-<br /> | CELL_GAME_ERROR_BROKEN || 0x8002cb05 || The specified game content is corrupted<br /> |-<br /> | CELL_GAME_ERROR_INTERNAL || 0x8002cb06 || Fatal error occurred in the utility<br /> |-<br /> | CELL_GAME_ERROR_PARAM || 0x8002cb07 || There is an error in the argument (application bug)<br /> |-<br /> | CELL_GAME_ERROR_NOAPP || 0x8002cb08 || The target application does not exist<br /> |-<br /> | CELL_GAME_ERROR_ACCESS_ERROR || 0x8002cb09 || HDD access error<br /> |-<br /> | CELL_GAME_ERROR_NOSPACE || 0x8002cb20 || Insufficient space on the HDD (application bug)<br /> |-<br /> | CELL_GAME_ERROR_NOTSUPPORTED || 0x8002cb21 || Operation is not supported (debugger)<br /> |-<br /> | CELL_GAME_ERROR_FAILURE || 0x8002cb22 || Calling order is invalid (application bug)<br /> |-<br /> | CELL_GAME_ERROR_BUSY || 0x8002cb23 || The call of an access preparing function was repeated<br /> |-<br /> | CELL_GAME_ERROR_IN_SHUTDOWN || 0x8002cb24 || Processing cannot be executed because application termination is being processed<br /> |-<br /> | CELL_GAME_ERROR_INVALID_ID || 0x8002cb25 || A specified ID is invalid (application bug)<br /> |-<br /> | CELL_GAME_ERROR_EXIST || 0x8002cb26 || Content specified already exists<br /> |-<br /> | CELL_GAME_ERROR_NOTPATCH || 0x8002cb27 || Not booted from a patch<br /> |-<br /> | CELL_GAME_ERROR_INVALID_THEME_FILE || 0x8002cb28 || Invalid format for theme file(application bug)<br /> |-<br /> | CELL_GAME_ERROR_BOOTPATH || 0x8002cb50 || Pathname of booted program file is too long (&gt;128b)<br /> |-<br /> |}<br /> <br /> == System Cache Utility errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_SYSCACHE_RET_OK_CLEARED || || Normal termination. Cache was cleared<br /> |-<br /> | CELL_SYSCACHE_RET_OK_RELAYED || || Normal termination. Cache became usable in the same state as the previous usage<br /> |-<br /> | CELL_SYSCACHE_ERROR_ACCESS_ERROR || || HDD access error<br /> |-<br /> | CELL_SYSCACHE_ERROR_INTERNAL || || Fatal internal error<br /> |-<br /> | CELL_SYSCACHE_ERROR_PARAM || || Error in argument (problem with the application)<br /> |-<br /> | CELL_SYSCACHE_ERROR_NOTMOUNTED || || System cache is not in the usable state<br /> |-<br /> |}<br /> <br /> == Ftp Service events ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_FTP_SERVICE_EVENT_FATAL || || The service has terminated due to a fatal error<br /> |-<br /> | CELL_FTP_SERVICE_EVENT_STARTED || || The local FTP service has started successfully<br /> |-<br /> | CELL_FTP_SERVICE_EVENT_STOPPED || || The local FTP service has been gracefully shut down, not forcefully terminated<br /> |-<br /> | CELL_FTP_SERVICE_EVENT_CLIENT_CONNECTED || || A new connection request has been received and processed<br /> |-<br /> | CELL_FTP_SERVICE_EVENT_CLIENT_DISCONNECTED || || An existing connection has been closed<br /> |-<br /> | CELL_FTP_SERVICE_EVENT_SHUTDOWN || || Service has received the remote shutdown command and has shut down<br /> |-<br /> |}<br /> <br /> == File System errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_FS_SUCCEEDED || || Normal termination<br /> |-<br /> | CELL_FS_ENOTMOUNTED || || File system corresponding to path is not mounted<br /> |-<br /> | CELL_FS_ENOENT || || The file specified by path does not exist<br /> |-<br /> | CELL_FS_EINVAL || || The specified path or extended argument is invalid<br /> |-<br /> | CELL_FS_EMFILE || || The number of file descriptors that can be opened at the same time has reached the maximum<br /> |-<br /> | CELL_FS_EISDIR || || The specified path is a directory<br /> |-<br /> | CELL_FS_EIO || || I/O error has occurred<br /> |-<br /> | CELL_FS_ENOMEM || || Memory is insufficient<br /> |-<br /> | CELL_FS_ENOTDIR || || Components in path contain something other than a directory<br /> |-<br /> | CELL_FS_ENAMETOOLONG || || path or components in path exceed the maximum length<br /> |-<br /> | CELL_FS_EFSSPECIFIC || || File system specific internal error has occurred<br /> |-<br /> | CELL_FS_EFAULT || || When size is not 0, a NULL pointer is specified in arg. path or fd is NULL<br /> |-<br /> | CELL_FS_EPERM || || Permission is invalid<br /> |-<br /> | CELL_FS_EACCES || || Permission is invalid (Only CFS, FAT and HOSTFS)<br /> |-<br /> | CELL_FS_EEXIST || || When the specified file exists, CELL_FS_O_CREAT and CELL_FS_O_EXCL are specified<br /> |-<br /> | CELL_FS_ENOSPC || || When CELL_FS_O_CREAT is specified in flags and the file does not exist, there is no area to create a new file<br /> |-<br /> | CELL_FS_EROFS || || When CELL_FS_O_CREAT is specified in flags and the file does not exist, the directory in which it is to be created does not permit writing (Only CFS (SYS_DEV_HDD1) and FAT)<br /> |-<br /> | CELL_FS_ENOTMSELF || || A file other than the MSELF file is specified in path, and either CELL_FS_O_MSELF or CELL_FS_O_RDONLY/CELL_FS_O_MSELF is specified in flags<br /> |-<br /> |}<br /> <br /> == Flash errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_FLASH_ERROR_INVAL || || EINVAL<br /> |-<br /> | CELL_FLASH_ERROR_NOMEM || || ENOMEM<br /> |-<br /> | CELL_FLASH_ERROR_SRCH || || ESRCH<br /> |-<br /> | CELL_FLASH_ERROR_PERM || || EPERM<br /> |-<br /> | CELL_FLASH_ERROR_AGAIN || || EAGAIN<br /> |-<br /> | CELL_FLASH_ERROR_NOENT || || ENOENT<br /> |-<br /> | CELL_FLASH_ERROR_ISDIR || || EISDIR<br /> |-<br /> | CELL_FLASH_ERROR_ACCESS || || EACCESS<br /> |-<br /> | CELL_FLASH_ERROR_IO || || EIO<br /> |-<br /> | CELL_FLASH_ERROR_TIMEDOUT || || ETIMEDOUT<br /> |-<br /> | CELL_FLASH_ERROR_BUSY || || EBUSY<br /> |-<br /> | CELL_FLASH_ERROR_NOSYS || || ENOSYS<br /> |-<br /> |}<br /> <br /> == Cg Compiler errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | SCECGC_OK || 0 || Compilation successful.<br /> |-<br /> | SCECGC_ERROR_NO_IHANDLER || -6 || includeHandler is not specified.<br /> |-<br /> | SCECGC_ERROR_NO_PROGRAM || -5 || Program source not found.<br /> |-<br /> | SCECGC_ERROR_CANT_OPEN_FILE || -4 || Unable to open file.<br /> |-<br /> | SCECGC_ERROR_BAD_ALLOC || -3 || Memory allocation failure.<br /> |-<br /> | SCECGC_ERROR_INVALID_OPTION || -2 || Invalid option.<br /> |-<br /> | SCECGC_ERROR_UNEXPECTED || -1 || Unexpected failure.<br /> |-<br /> |}<br /> <br /> == CG API errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CG_NO_ERROR || 0 || No error has occurred.<br /> |-<br /> | CG_COMPILER_ERROR || 1 || The compile returned an error.<br /> |-<br /> | CG_INVALID_PARAMETER_ERROR || 2 || The parameter used is invalid.<br /> |-<br /> | CG_INVALID_PROFILE_ERROR || 3 || The profile is not supported.<br /> |-<br /> | CG_PROGRAM_LOAD_ERROR || 4 || The program could not load.<br /> |-<br /> | CG_PROGRAM_BIND_ERROR || 5 || The program could not bind.<br /> |-<br /> | CG_PROGRAM_NOT_LOADED_ERROR || 6 || The program must be loaded before this operation may be used.<br /> |-<br /> | CG_UNSUPPORTED_GL_EXTENSION_ERROR || 7 || An unsupported GL extension was required to perform this operation.<br /> |-<br /> | CG_INVALID_VALUE_TYPE_ERROR || 8 || An unknown value type was assigned to a parameter.<br /> |-<br /> | CG_NOT_MATRIX_PARAM_ERROR || 9 || The parameter is not of matrix type.<br /> |-<br /> | CG_INVALID_ENUMERANT_ERROR || 10 || The enumerant parameter has an invalid value.<br /> |-<br /> | CG_NOT_4x4_MATRIX_ERROR || 11 || The parameter must be a 4x4 matrix type.<br /> |-<br /> | CG_FILE_READ_ERROR || 12 || The file could not be read.<br /> |-<br /> | CG_FILE_WRITE_ERROR || 13 || The file could not be written.<br /> |-<br /> | CG_NVPARSE_ERROR || 14 || nvparse could not successfully parse the output from the Cg compiler backend.<br /> |-<br /> | CG_MEMORY_ALLOC_ERROR || 15 || Memory allocation failed.<br /> |-<br /> | CG_INVALID_CONTEXT_HANDLE_ERROR || 16 || Invalid context handle.<br /> |-<br /> | CG_INVALID_PROGRAM_HANDLE_ERROR || 17 || Invalid program handle.<br /> |-<br /> | CG_INVALID_PARAM_HANDLE_ERROR || 18 || Invalid parameter handle.<br /> |-<br /> | CG_UNKNOWN_PROFILE_ERROR || 19 || The specified profile is unknown.<br /> |-<br /> | CG_VAR_ARG_ERROR || 20 || The variable arguments were specified incorrectly.<br /> |-<br /> | CG_INVALID_DIMENSION_ERROR || 21 || The dimension value is invalid.<br /> |-<br /> | CG_ARRAY_PARAM_ERROR || 22 || The parameter must be an array.<br /> |-<br /> | CG_OUT_OF_ARRAY_BOUNDS_ERROR || 23 || Index into the array is out of bounds.<br /> |-<br /> | CG_CONFLICTING_TYPES_ERROR || 24 || A type being added to the context conflicts with an existing type.<br /> |-<br /> | CG_CONFLICTING_PARAMETER_TYPES_ERROR || 25 || The parameters being bound have conflicting types.<br /> |-<br /> | CG_PARAMETER_IS_NOT_SHARED_ERROR || 26 || The parameter must be global.<br /> |-<br /> | CG_INVALID_PARAMETER_VARIABILITY_ERROR || 27 || The parameter could not be changed to the given variability.<br /> |-<br /> | CG_CANNOT_DESTROY_PARAMETER_ERROR || 28 || Cannot destroy the parameter. It is bound to other parameters or is not a root parameter.<br /> |-<br /> | CG_NOT_ROOT_PARAMETER_ERROR || 29 || The parameter is not a root parameter.<br /> |-<br /> | CG_PARAMETERS_DO_NOT_MATCH_ERROR || 30 || The two parameters being bound do not match.<br /> |-<br /> | CG_IS_NOT_PROGRAM_PARAMETER_ERROR || 31 || The parameter is not a program parameter.<br /> |-<br /> | CG_INVALID_PARAMETER_TYPE_ERROR || 32 || The type of the parameter is invalid.<br /> |-<br /> | CG_PARAMETER_IS_NOT_RESIZABLE_ARRAY_ERROR || 33 || The parameter must be a resizable array.<br /> |-<br /> | CG_INVALID_SIZE_ERROR || 34 || The size value is invalid.<br /> |-<br /> | CG_BIND_CREATES_CYCLE_ERROR || 35 || Cannot bind the given parameters. Binding will form a cycle.<br /> |-<br /> | CG_ARRAY_TYPES_DO_NOT_MATCH_ERROR || 36 || Cannot bind the given parameters. Array types do not match.<br /> |-<br /> | CG_ARRAY_DIMENSIONS_DO_NOT_MATCH_ERROR || 37 || Cannot bind the given parameters. Array dimensions do not match.<br /> |-<br /> | CG_ARRAY_HAS_WRONG_DIMENSION_ERROR || 38 || The array has the wrong dimension.<br /> |-<br /> | CG_TYPE_IS_NOT_DEFINED_IN_PROGRAM_ERROR || 39 || Connecting the parameters failed because The type of the source parameter is not defined within the given program or does not match the type with the same name in the program.<br /> |-<br /> | CG_INVALID_EFFECT_HANDLE_ERROR || 40 || Invalid effect handle.<br /> |-<br /> | CG_INVALID_STATE_HANDLE_ERROR || 41 || Invalid state handle.<br /> |-<br /> | CG_INVALID_STATE_ASSIGNMENT_HANDLE_ERROR || 42 || Invalid stateassignment handle.<br /> |-<br /> | CG_INVALID_PASS_HANDLE_ERROR || 43 || Invalid pass handle.<br /> |-<br /> | CG_INVALID_ANNOTATION_HANDLE_ERROR || 44 || Invalid annotation handle.<br /> |-<br /> | CG_INVALID_TECHNIQUE_HANDLE_ERROR || 45 || Invalid technique handle.<br /> |-<br /> | CG_INVALID_PARAMETER_HANDLE_ERROR || 46 || Invalid parameter handle. Do not use this! Use CG_INVALID_PARAM_HANDLE_ERROR instead.<br /> |-<br /> | CG_STATE_ASSIGNMENT_TYPE_MISMATCH_ERROR || 47 || Operation is not valid for this type of stateassignment.<br /> |-<br /> | CG_INVALID_FUNCTION_HANDLE_ERROR || 48 || Invalid function handle.<br /> |-<br /> | CG_INVALID_TECHNIQUE_ERROR || 49 || Technique did not pass validation.<br /> |-<br /> | CG_INVALID_POINTER_ERROR || 50 || The supplied pointer is NULL.<br /> |-<br /> | CG_NOT_ENOUGH_DATA_ERROR || 51 || Not enough data was provided.<br /> |-<br /> | CG_NON_NUMERIC_PARAMETER_ERROR || 52 || The parameter is not of a numeric type.<br /> |-<br /> | CG_ARRAY_SIZE_MISMATCH_ERROR || 53 || The specified array sizes are not compatible with the given array.<br /> |-<br /> | CG_CANNOT_SET_NON_UNIFORM_PARAMETER_ERROR || 54 || Cannot set the value of a non-uniform parameter.<br /> |-<br /> | CG_DUPLICATE_NAME_ERROR || 55 || This name is already in use.<br /> |-<br /> | CG_INVALID_OBJ_HANDLE_ERROR || 56 || Invalid object handle.<br /> |-<br /> | CG_INVALID_BUFFER_HANDLE_ERROR || 57 || Invalid buffer handle.<br /> |-<br /> | CG_BUFFER_INDEX_OUT_OF_RANGE_ERROR || 58 || Buffer index is out of bounds.<br /> |-<br /> | CG_BUFFER_ALREADY_MAPPED_ERROR || 59 || The buffer is already mapped.<br /> |-<br /> | CG_BUFFER_UPDATE_NOT_ALLOWED_ERROR || 60 || The buffer cannot be updated.<br /> |-<br /> |}<br /> <br /> == GCM errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> !colspan=&quot;3&quot; | GCM errors<br /> |-<br /> | CELL_GCM_ERROR_NO_IO_PAGE_TABLE || 0x80210001 || <br /> |-<br /> | CELL_GCM_ERROR_INVALID_ENUM || 0x80210002 || <br /> |-<br /> | CELL_GCM_ERROR_INVALID_VALUE || 0x80210003 || <br /> |-<br /> | CELL_GCM_ERROR_INVALID_ALIGNMENT || 0x80210004 || <br /> |-<br /> | CELL_GCM_ERROR_ADDRESS_OVERWRAP || 0x80210005 || <br /> |-<br /> | CELL_GCM_ERROR_EINVAL || || <br /> |-<br /> | CELL_GCM_ERROR_FAILURE || 0x802100ff || <br /> |-<br /> !colspan=&quot;3&quot; | GCM Method Check errors<br /> |-<br /> | CELL_GCM_METHOD_CHECK_OK || || Normal termination (no problem found)<br /> |-<br /> | CELL_GCM_METHOD_CHECK_ERROR_JUMP || || jump command was included<br /> |-<br /> | CELL_GCM_METHOD_CHECK_ERROR_RETURN || || return command was included<br /> |-<br /> | CELL_GCM_METHOD_CHECK_ERROR_CALL || || call command was included<br /> |-<br /> | CELL_GCM_METHOD_CHECK_ERROR_OTHER || || A command that is not of the method format was included<br /> |-<br /> | CELL_GCM_METHOD_CHECK_ERROR_METHOD_UNCLOSED || || At the end of the check target, the method count in the method header does not match the number of data included<br /> |-<br /> | CELL_GCM_METHOD_CHECK_ERROR_METHOD_INVALID_ADDRESS || || Method address is invalid (an unusable method address is being used)<br /> |-<br /> | CELL_GCM_METHOD_CHECK_ERROR_METHOD_INCORRECT_DATA || || Method data is not appropriate for the method address<br /> |-<br /> | CELL_GCM_METHOD_CHECK_ERROR_METHOD_NOP_NOT_DELIVER || || NOP is used in an un-provided format<br /> |-<br /> | CELL_GCM_METHOD_CHECK_ERROR_ETC || || Other error (unexpected state entered)<br /> |-<br /> |}<br /> <br /> == PSGL HW Cursor errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | PSGL_HW_CURSOR_ERROR_INVALID_VALUE || 0x80210003 || <br /> |-<br /> | PSGL_HW_CURSOR_ERROR_FAILURE || 0x802100ff || <br /> |-<br /> |}<br /> <br /> == Resizer errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_RESC_ERROR_NOT_INITIALIZED || 0x80210301 || libresc has not been initialized<br /> |-<br /> | CELL_RESC_ERROR_REINITIALIZED || 0x80210302 || libresc initialization has been attempted when libresc has already been initialized<br /> |-<br /> | CELL_RESC_ERROR_BAD_ALIGNMENT || 0x80210303 || Invalid alignment<br /> |-<br /> | CELL_RESC_ERROR_BAD_ARGUMENT || 0x80210304 || Invalid argument value<br /> |-<br /> | CELL_RESC_ERROR_LESS_MEMORY || 0x80210305 || Insufficient main memory<br /> |-<br /> | CELL_RESC_ERROR_GCM_FLIP_QUE_FULL || 0x80210306 || The queue used internally by cellGcmSetPrepareFlip() or cellGcmSetFlipImmediate() is full, or an internal libresc queue overflowed<br /> |-<br /> | CELL_RESC_ERROR_BAD_COMBINATION || 0x80210307 || Invalid value was set for combination of function and structure, or the order of function calls was incorrect<br /> |-<br /> |}<br /> <br /> == DBG_RSX errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_DBG_RSX_ERROR_INVALID_ENUM || 0x80210501 || <br /> |-<br /> | CELL_DBG_RSX_ERROR_INVALID_VALUE || 0x80210502 || <br /> |-<br /> | CELL_DBG_RSX_ERROR_INVALID_ALIGNMENT || 0x80210503 || <br /> |-<br /> | CELL_DBG_RSX_ERROR_FAILURE || 0x802105ff || <br /> |-<br /> |}<br /> <br /> == NVShaderPerf errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | SCESP_OK || 0 || Normal termination<br /> |-<br /> | SCESP_ERROR_UNKNOWN || -5 || Unknown error<br /> |-<br /> | SCESP_ERROR_PATH_NOT_FOUND || -4 || Registry settings cannot be found (reinstall NVShaderPerf)<br /> |-<br /> | SCESP_ERROR_LIBRARY_NOT_FOUND || -2 || NVIDIA dll cannot be found (reinstall NVShaderPerf)<br /> |-<br /> | SCESP_ERROR_NVSP_INIT || -1 || Error upon NVIDIA dll initialization<br /> |-<br /> | SCESP_ERROR_NVSP_INTERNAL || 2 || Internal error of NVIDIA dll<br /> |-<br /> | SCESP_ERROR_BAD_ARGUMENTS || 4 || Content of the option array is incorrect<br /> |-<br /> | SCESP_ERROR_FILE_NOT_FOUND || 6 || Input file cannot be found<br /> |-<br /> | SCESP_ERROR_SHADER_TYPE_UNSUPPORTED || 7 || The passed shader type is not supported<br /> |-<br /> | SCESP_ERROR_FAILURE_OPENING_OUTPUT_FILE || 10 || The output file could not be properly opened<br /> |-<br /> | SCESP_ERROR_CGBIN_FILE_INVALID || 16 || Cg binary format is invalid, or the version is misaligned<br /> |-<br /> | SCESP_ERROR_SIMULATION_ERROR || 17 || Error occurred in the RSX simulator<br /> |-<br /> | SCESP_ERROR_ENUMERATION_ENDED_EARLY || 18 || Error occurred at the front-end of NVIDIA dll<br /> |-<br /> |}<br /> <br /> == Font errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_FONT_ERROR_FATAL || 0x80540001 || Fatal error<br /> |-<br /> | CELL_FONT_ERROR_INVALID_PARAMETER || 0x80540002 || Object specified as argument is invalid<br /> |-<br /> | CELL_FONT_ERROR_UNINITIALIZED || 0x80540003 || Uninitialized object was used<br /> |-<br /> | CELL_FONT_ERROR_INITIALIZE_FAILED || 0x80540004 || Initialization failed<br /> |-<br /> | CELL_FONT_ERROR_INVALID_CACHE_BUFFER || 0x80540005 || Invalid cache buffer specified<br /> |-<br /> | CELL_FONT_ERROR_ALREADY_INITIALIZED || 0x80540006 || Already initialized<br /> |-<br /> | CELL_FONT_ERROR_ALLOCATION_FAILED || 0x80540007 || Memory could not be allocated<br /> |-<br /> | CELL_FONT_ERROR_NO_SUPPORT_FONTSET || 0x80540008 || Unsupported font set<br /> |-<br /> | CELL_FONT_ERROR_OPEN_FAILED || 0x80540009 || Internal open process failed<br /> |-<br /> | CELL_FONT_ERROR_READ_FAILED || 0x8054000a || Internal read process failed<br /> |-<br /> | CELL_FONT_ERROR_FONT_OPEN_FAILED || 0x8054000b || Could not open font<br /> |-<br /> | CELL_FONT_ERROR_FONT_NOT_FOUND || 0x8054000c || Font could not be found<br /> |-<br /> | CELL_FONT_ERROR_FONT_OPEN_MAX || 0x8054000d || Maximum number of fonts already open<br /> |-<br /> | CELL_FONT_ERROR_FONT_CLOSE_FAILED || 0x8054000e || Could not close font<br /> |-<br /> | CELL_FONT_ERROR_ALREADY_OPENED || 0x8054000f || A font is already opened<br /> |-<br /> | CELL_FONT_ERROR_NO_SUPPORT_FUNCTION || 0x80540010 || Unsupported function<br /> |-<br /> | CELL_FONT_ERROR_NO_SUPPORT_CODE || 0x80540011 || Specified character code is not supported<br /> |-<br /> | CELL_FONT_ERROR_NO_SUPPORT_GLYPH || 0x80540012 || Glyph could not be found<br /> |-<br /> | CELL_FONT_ERROR_BUFFER_SIZE_NOT_ENOUGH || 0x80540016 || Size of the specified buffer is not enough<br /> |-<br /> | CELL_FONT_ERROR_RENDERER_ALREADY_BIND || 0x80540020 || Renderer is already bound<br /> |-<br /> | CELL_FONT_ERROR_RENDERER_UNBIND || 0x80540021 || Renderer is not bound<br /> |-<br /> | CELL_FONT_ERROR_RENDERER_INVALID || 0x80540022 || Invalid renderer was specified<br /> |-<br /> | CELL_FONT_ERROR_RENDERER_ALLOCATION_FAILED || 0x80540023 || Memory allocation by renderer failed<br /> |-<br /> | CELL_FONT_ERROR_ENOUGH_RENDERING_BUFFER || 0x80540024 || Exceeded the scale limite of the rendering buffer<br /> |-<br /> | CELL_FONT_ERROR_NO_SUPPORT_SURFACE || 0x80540040 || Unsupported surface<br /> |-<br /> |}<br /> <br /> == Gifdec errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_GIFDEC_ERROR_OPEN_FILE || 0x80611300 || Error while attempting to open a file<br /> |-<br /> | CELL_GIFDEC_ERROR_STREAM_FORMAT || 0x80611301 || Error in the GIF stream<br /> |-<br /> | CELL_GIFDEC_ERROR_SEQ || 0x80611302 || Error in the calling sequence<br /> |-<br /> | CELL_GIFDEC_ERROR_ARG || 0x80611303 || Error in the argument values<br /> |-<br /> | CELL_GIFDEC_ERROR_FATAL || 0x80611304 || Fatal error<br /> |-<br /> | CELL_GIFDEC_ERROR_SPU_UNSUPPORT || 0x80611305 || Tried to decode on SPUs a stream unsupported by SPUs<br /> |-<br /> | CELL_GIFDEC_ERROR_SPU_ERROR || 0x80611306 || SPU decoding error<br /> |-<br /> | CELL_GIFDEC_ERROR_CB_PARAM || 0x80611307 || Error in the parameters specified for the callback function<br /> |-<br /> |}<br /> <br /> == Jpgdec errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_JPGDEC_ERROR_HEADER || 0x80611101 || Header of stream is not a JPEG header<br /> |-<br /> | CELL_JPGDEC_ERROR_STREAM_FORMAT || 0x80611102 || Error in the stream, or the stream format is not supported<br /> |-<br /> | CELL_JPGDEC_ERROR_ARG || 0x80611103 || Error in arguments of function<br /> |-<br /> | CELL_JPGDEC_ERROR_SEQ || 0x80611104 || Error in execution procedure of function<br /> |-<br /> | CELL_JPGDEC_ERROR_BUSY || 0x80611105 || Internal state of decoder is in BUSY state<br /> |-<br /> | CELL_JPGDEC_ERROR_FATAL || 0x80611106 || Fatal error<br /> |-<br /> | CELL_JPGDEC_ERROR_OPEN_FILE || 0x80611107 || Error in opening file<br /> |-<br /> | CELL_JPGDEC_ERROR_SPU_UNSUPPORT || 0x80611108 || Tried to decode progressive JPEG data on SPUs<br /> |-<br /> | CELL_JPGDEC_ERROR_CB_PARAM || 0x80611109 || Error in user-defined parameters for callback function<br /> |-<br /> |}<br /> <br /> == Jpgenc errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_JPGENC_ERROR_ARG || 0x80611191 || Specified argument is invalid<br /> |-<br /> | CELL_JPGENC_ERROR_SEQ || 0x80611192 || Function calling sequence is invalid<br /> |-<br /> | CELL_JPGENC_ERROR_BUSY || 0x80611193 || Internal state of the encoder is BUSY, and the operation requested by the upper-level program cannot be executed. This error occurs when the queue inside the encoder (of instructions by the upper-level program) is full.<br /> |-<br /> | CELL_JPGENC_ERROR_EMPTY || 0x80611194 || No encoding results are available in the encoder<br /> |-<br /> | CELL_JPGENC_ERROR_RESET || 0x80611195 || Blocking wait was released with a cellJpgEncReset() call<br /> |-<br /> | CELL_JPGENC_ERROR_FATAL || 0x80611196 || Internal state of the encoder is in an unexpected state. This error cannot usually occur. For example, this error can occur when there is an inconsistency in the configuration of data managed internally by the encoder. This error can also occur when a write error occurs when the stream output is to a file.<br /> |-<br /> | CELL_JPGENC_ERROR_STREAM_ABORT || 0x806111A1 || Encoding was aborted with cellJpgEncReset(). The output stream is undefined.<br /> |-<br /> | CELL_JPGENC_ERROR_STREAM_SKIP || 0x806111A2 || Encoding was skipped with cellJpgEncReset().<br /> |-<br /> | CELL_JPGENC_ERROR_STREAM_OVERFLOW || 0x806111A3 || Size of the stream exceeded the maximum allowed (when the output is to a buffer)<br /> |-<br /> | CELL_JPGENC_ERROR_STREAM_FILE_OPEN || 0x806111A4 || File could not be opened (when the output is to a file)<br /> |-<br /> |}<br /> <br /> == Pngdec errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_PNGDEC_ERROR_HEADER || 0x80611201 || Error in PNG header<br /> |-<br /> | CELL_PNGDEC_ERROR_STREAM_FORMAT || 0x80611202 || Error in PNG stream<br /> |-<br /> | CELL_PNGDEC_ERROR_ARG || 0x80611203 || Error in argument value<br /> |-<br /> | CELL_PNGDEC_ERROR_SEQ || 0x80611204 || Error in calling sequence<br /> |-<br /> | CELL_PNGDEC_ERROR_BUSY || 0x80611205 || Decoder is BUSY<br /> |-<br /> | CELL_PNGDEC_ERROR_FATAL || 0x80611206 || Fatal error<br /> |-<br /> | CELL_PNGDEC_ERROR_OPEN_FILE || 0x80611207 || File open error<br /> |-<br /> | CELL_PNGDEC_ERROR_SPU_UNSUPPORT || 0x80611208 || Tried to decode data undecodable by the SPU<br /> |-<br /> | CELL_PNGDEC_ERROR_SPU_ERROR || 0x80611209 || SPU decoding error<br /> |-<br /> | CELL_PNGDEC_ERROR_CB_PARAM || 0x8061120a || Error in the user-defined parameters for the callback function<br /> |-<br /> |}<br /> <br /> == Pngenc errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_PNGENC_ERROR_ARG || 0x80611291 || Problem with the argument<br /> |-<br /> | CELL_PNGENC_ERROR_SEQ || 0x80611292 || Problem with the calling sequence<br /> |-<br /> | CELL_PNGENC_ERROR_BUSY || 0x80611293 || The encoder is in the busy state, and the requested operation cannot be executed. This error occurs when the queue inside the encoder storing instructions from the upper-level program becomes full<br /> |-<br /> | CELL_PNGENC_ERROR_EMPTY || 0x80611294 || No encoding results are available in the encoder<br /> |-<br /> | CELL_PNGENC_ERROR_RESET || 0x80611295 || Blocking wait was released with a cellPngEncReset() call<br /> |-<br /> | CELL_PNGENC_ERROR_FATAL || 0x80611296 || An error occurred during the writing of the stream's output file. Or, the encoder has fallen into an unexpected state because, for example, a bug has occurred in the data structure within the encoder<br /> |-<br /> | CELL_PNGENC_ERROR_STREAM_ABORT || 0x806112A1 || Encode processing is aborted by the calling of cellPngEncReset(). The output stream is undefined<br /> |-<br /> | CELL_PNGENC_ERROR_STREAM_SKIP || 0x806112A2 || Encode processing is skipped by the calling of cellPngEncReset()<br /> |-<br /> | CELL_PNGENC_ERROR_STREAM_OVERFLOW || 0x806112A3 || Size of the stream exceeded the maximum allowed (when the output is to a buffer)<br /> |-<br /> | CELL_PNGENC_ERROR_STREAM_FILE_OPEN || 0x806112A4 || The output destination file could not be opened<br /> |-<br /> |}<br /> <br /> == GLES errors ==<br /> === EGL errors ===<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | EGL_SUCCESS || 0x3000 || <br /> |-<br /> | EGL_NOT_INITIALIZED || 0x3001 || <br /> |-<br /> | EGL_BAD_ACCESS || 0x3002 || <br /> |-<br /> | EGL_BAD_ALLOC || 0x3003 || <br /> |-<br /> | EGL_BAD_ATTRIBUTE || 0x3004 || <br /> |-<br /> | EGL_BAD_CONFIG || 0x3005 || <br /> |-<br /> | EGL_BAD_CONTEXT || 0x3006 || <br /> |-<br /> | EGL_BAD_CURRENT_SURFACE || 0x3007 || <br /> |-<br /> | EGL_BAD_DISPLAY || 0x3008 || <br /> |-<br /> | EGL_BAD_MATCH || 0x3009 || <br /> |-<br /> | EGL_BAD_NATIVE_PIXMAP || 0x300A || <br /> |-<br /> | EGL_BAD_NATIVE_WINDOW || 0x300B || <br /> |-<br /> | EGL_BAD_PARAMETER || 0x300C || <br /> |-<br /> | EGL_BAD_SURFACE || 0x300D || <br /> &lt;!--// 0x300E-0x301F reserved for additional errors.//--&gt;<br /> |-<br /> |}<br /> === GL errors ===<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | GL_NO_ERROR || 0 || <br /> |-<br /> | GL_INVALID_ENUM || 0x0500 || <br /> |-<br /> | GL_INVALID_VALUE || 0x0501 || <br /> |-<br /> | GL_INVALID_OPERATION || 0x0502 || <br /> |-<br /> | GL_STACK_OVERFLOW || 0x0503 || <br /> |-<br /> | GL_STACK_UNDERFLOW || 0x0504 || <br /> |-<br /> | GL_OUT_OF_MEMORY || 0x0505 || <br /> |-<br /> |}<br /> <br /> == PSGL errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | PSGL_REPORT_VERSION || || Reported once at the initialization of PSGL. Reports the version of PSGL compiled in.<br /> |-<br /> | PSGL_REPORT_DEBUG, PSGL_REPORT_ASSERT, PSGL_REPORT_UNKNOWN || || Reported only when a PSGL defect was encountered. Please contact Developer Support if you see any of those.<br /> |-<br /> | PSGL_REPORT_GL_ERROR || || Reported when PSGL needs to trigger a GL error, as per the GLES specification.<br /> |-<br /> | PSGL_REPORT_CG_ERROR || || Reported when PSGL needs to trigger a Cg error, as per the Cg specification.<br /> |-<br /> | PSGL_REPORT_MISSING_STATE || || Reported when PSGL needs a fixed function fragment program that was not loaded. See psglLoadShaderLibrary() for more information.<br /> |-<br /> | PSGL_REPORT_VERTEX_SLOW_PATH || || Reported when the current vertex data setup requires software per-vertex setup. An associated PSGL_REPORT_VERTEX_DATA_WARNING report gives more information as to why the slow path was taken.<br /> |-<br /> | PSGL_REPORT_VERTEX_DATA_WARNING || || Reported when the current vertex data setup requires software per-vertex setup. Includes a description of why the slow path was taken.<br /> |-<br /> | PSGL_REPORT_COPY_TEXTURE_SLOW_PATH || || Reported when PSGL cannot use the hardware to copy part of the frame buffer to a texture. An associated PSGL_REPORT_COPY_TEXTURE_WARNING report gives more information as to why the slow path was taken.<br /> |-<br /> | PSGL_REPORT_COPY_TEXTURE_WARNING || || Reported when PSGL cannot use the hardware to copy part of the frame buffer to a texture. Includes a description of the conditions which triggered the slow path.<br /> |-<br /> | PSGL_REPORT_TEXTURE_COPY_BACK || || Reported when PSGL needs to copy a texture back from RSX memory to system memory.<br /> |-<br /> | PSGL_REPORT_TEXTURE_REALLOC || || Reported when PSGL needs to reallocate a texture.<br /> |-<br /> | PSGL_REPORT_FP32_FILTERING || || Reported when an FP32 texture requires an unsupported filtering mode (one that requires blending of texels). Includes information about which mode is unsupported, and which mode is used instead.<br /> |-<br /> | PSGL_REPORT_TEXTURE_INCOMPLETE || || Reported when a texture unit is used with a texture that is not complete. The texture will be ignored.<br /> |-<br /> | PSGL_REPORT_FRAMEBUFFER_INCOMPLETE || || Reported when a frame buffer is used that is not complete.<br /> |-<br /> | PSGL_REPORT_FRAMEBUFFER_UNSUPPORTED || || Reported when the frame buffer used is not supported by PSGL. The report provides information about what is unsupported.<br /> |-<br /> | PSGL_REPORT_BUFFER_OBJECT_OUT_OF_BOUNDS || || Reported when PSGL tries to draw using data that is out of the object bounds.<br /> |-<br /> | PSGL_REPORT_GPU_MEMORY_ALLOC || || Reported when PSGL allocates RSX memory.<br /> |-<br /> | PSGL_REPORT_GPU_MEMORY_FREE || || Reported when PSGL frees RSX memory.<br /> |-<br /> | PSGL_REPORT_GPU_MEMORY_ASYNC_FREE || || Reported when PSGL asynchronously frees RSX memory.<br /> |-<br /> | PSGL_REPORT_HOST_MEMORY_ALLOC || || Reported when PSGL allocates host memory.<br /> |-<br /> | PSGL_REPORT_HOST_MEMORY_FREE || || Reported when PSGL frees host memory.<br /> |-<br /> | PSGL_REPORT_HOST_MEMORY_ASYNC_FREE || || Reported when PSGL asynchronously frees host memory.<br /> |-<br /> | PSGL_REPORT_MALLOC_MEMORY_ALLOC || || Reported when PSGL allocates malloc memory.<br /> |-<br /> | PSGL_REPORT_MALLOC_MEMORY_FREE || || Reported when PSGL frees malloc memory.<br /> |-<br /> | PSGL_REPORT_MALLOC_MEMORY_REALLOC || || Reported when PSGL reallocates malloc memory.<br /> |-<br /> | PSGL_REPORT_TEXTURE_CONVERSION || || Reported when texture color format conversion occurs.<br /> |-<br /> | PSGL_REPORT_RESC || || Reported when resolution conversion (RESC) is enabled.<br /> |-<br /> | PSGL_REPORT_RESC_FLIP_ERROR || || Reported when an error occurs during resolution conversion (RESC) flip. The report includes the error code returned by cellRescSetConvertAndFlip().<br /> |-<br /> | PSGL_REPORT_COMMAND_RECORD_CALLBACK || || Reported when recording with static command buffers in PSGL. There is no more space for command in the current command buffer and there is no psglStaticCommandBufferCallback to call to resolve the issue.<br /> |-<br /> |}<br /> <br /> == PSGL Utility errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | GLU_INVALID_ENUM || 100900 || <br /> |-<br /> | GLU_INVALID_VALUE || 100901 || <br /> |-<br /> | GLU_OUT_OF_MEMORY || 100902 || <br /> |-<br /> | GLU_INVALID_OPERATION || 100904 || <br /> |-<br /> |}<br /> <br /> == Content Search Utility errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_SEARCH_ERROR_PARAM || 0x8002C801 || Parameter is invalid. func or Id is NULL.<br /> |-<br /> | CELL_SEARCH_ERROR_BUSY || 0x8002C802 || Currently processing. Executing initialization or a search<br /> |-<br /> | CELL_SEARCH_ERROR_NO_MEMORY || 0x8002C803 || Not enough memory for execution<br /> |-<br /> | CELL_SEARCH_ERROR_UNKNOWN_MODE || 0x8002C804 || Mode is invalid. Value specified to mode is not CELL_SEARCH_MODE_NORMAL<br /> |-<br /> | CELL_SEARCH_ERROR_ALREADY_INITIALIZED || 0x8002C805 || Already initialized<br /> |-<br /> | CELL_SEARCH_ERROR_NOT_INITIALIZED || 0x8002C806 || Not initialized<br /> |-<br /> | CELL_SEARCH_ERROR_FINALIZING || 0x8002C807 || Executing termination processing<br /> |-<br /> | CELL_SEARCH_ERROR_NOT_SUPPORTED_SEARCH || 0x8002C808 || Specified search conditions are not supported. Combination of type and sortOrder is invalid.<br /> |-<br /> | CELL_SEARCH_ERROR_CONTENT_OBSOLETE || 0x8002C809 || contentId, listID, videoId is old (content was modified by the user and therefore cannot be found)<br /> |-<br /> | CELL_SEARCH_ERROR_CONTENT_NOT_FOUND || 0x8002C80A || Content indicated by contentId, listID, videoID cannot be found (deleted by the user).<br /> |-<br /> | CELL_SEARCH_ERROR_NOT_LIST || 0x8002C80B || contentId, listID, videoID cannot be found in the list.<br /> |-<br /> | CELL_SEARCH_ERROR_OUT_OF_RANGE || 0x8002C80C || Offset is either negative or too large<br /> |-<br /> | CELL_SEARCH_ERROR_INVALID_SEARCHID || 0x8002C80D || Search ID is invalid<br /> |-<br /> | CELL_SEARCH_ERROR_ALREADY_GOT_RESULT || 0x8002C80E || Search results have already been obtained<br /> |-<br /> | CELL_SEARCH_ERROR_NOT_SUPPORTED_CONTEXT || 0x8002C80F || Selection context cannot be created<br /> |-<br /> | CELL_SEARCH_ERROR_INVALID_CONTENTTYPE || 0x8002C810 || Content type is invalid<br /> |-<br /> | CELL_SEARCH_ERROR_DRM || 0x8002C811 || DRM error. Could not execute request/obtain path because file is a DRM file.<br /> |-<br /> | CELL_SEARCH_ERROR_TAG || 0x8002C812 || Tag information is invalid. tagNum is larger than CELL_SEARCH_TAG_NUM_MAX; or tagNum is at least 1 and tags or tags[n] is NULL; or length of tags[n] is larger than CELL_SEARCH_TAG_LEN_MAX<br /> |-<br /> | CELL_SEARCH_ERROR_GENERIC || 0x8002C8FF || Other error<br /> |-<br /> |}<br /> <br /> == Music Decode errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_MUSIC_DECODE_DECODE_FINISHED || 0x8002C101 || End of music content was reached and decoding stopped<br /> |-<br /> | CELL_MUSIC_DECODE_ERROR_PARAM || 0x8002C102 || Parameters are invalid<br /> |-<br /> | CELL_MUSIC_DECODE_ERROR_BUSY || 0x8002C103 || Required processing has not completed, so request could not be executed<br /> |-<br /> | CELL_MUSIC_DECODE_ERROR_NO_ACTIVE_CONTENT || 0x8002C104 || No open content<br /> |-<br /> | CELL_MUSIC_DECODE_ERROR_NO_MATCH_FOUND || 0x8002C105 || Content corresponding to passed context could not be found<br /> |-<br /> | CELL_MUSIC_DECODE_ERROR_INVALID_CONTEXT || 0x8002C106 || Context is invalid<br /> |-<br /> | CELL_MUSIC_DECODE_ERROR_DECODE_FAILURE || 0x8002C107 || Error occurred during decoding and decoding stopped<br /> |-<br /> | CELL_MUSIC_DECODE_ERROR_NO_MORE_CONTENT || 0x8002C108 || Next/previous content does not exist<br /> |-<br /> | CELL_MUSIC_DECODE_DIALOG_OPEN || 0x8002C109 || Message dialog will be displayed<br /> |-<br /> | CELL_MUSIC_DECODE_DIALOG_CLOSE || 0x8002C10A || Message dialog was closed<br /> |-<br /> | CELL_MUSIC_DECODE_ERROR_NO_LPCM_DATA || 0x8002C10B || No decoded data was available<br /> |-<br /> | CELL_MUSIC_DECODE_NEXT_CONTENTS_READY || 0x8002C10C || Decoding of next content can be started<br /> |-<br /> | CELL_MUSIC_DECODE_ERROR_GENERIC || 0x8002C1FF || Unknown error occurred<br /> |-<br /> |}<br /> <br /> == Music Playback errors ==<br /> ===Using memory container===<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_MUSIC_PLAYBACK_FINISHED || 0x8002C101 || End of music content was reached and playback stopped<br /> |-<br /> | CELL_MUSIC_ERROR_PARAM || 0x8002C102 || Parameters are invalid<br /> |-<br /> | CELL_MUSIC_ERROR_BUSY || 0x8002C103 || Required processing has not completed, so request could not be executed<br /> |-<br /> | CELL_MUSIC_ERROR_NO_ACTIVE_CONTENT || 0x8002C104 || No open content<br /> |-<br /> | CELL_MUSIC_ERROR_NO_MATCH_FOUND || 0x8002C105 || Content corresponding to passed context could not be found<br /> |-<br /> | CELL_MUSIC_ERROR_INVALID_CONTEXT || 0x8002C106 || Context is invalid<br /> |-<br /> | CELL_MUSIC_ERROR_PLAYBACK_FAILURE || 0x8002C107 || Error occurred during playback and playback stopped<br /> |-<br /> | CELL_MUSIC_ERROR_NO_MORE_CONTENT || 0x8002C108 || Next/previous content does not exist<br /> |-<br /> | CELL_MUSIC_DIALOG_OPEN || 0x8002C109 || Message dialog will be displayed<br /> |-<br /> | CELL_MUSIC_DIALOG_CLOSE || 0x8002C10A || Message dialog was closed<br /> |-<br /> | CELL_MUSIC_ERROR_GENERIC || 0x8002C1FF || Unknown error occurred<br /> |-<br /> |}<br /> <br /> === Not using memory container ===<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_MUSIC2_PLAYBACK_FINISHED || 0x8002C101 || End of music content was reached and playback stopped<br /> |-<br /> | CELL_MUSIC2_ERROR_PARAM || 0x8002C102 || Parameters are invalid<br /> |-<br /> | CELL_MUSIC2_ERROR_BUSY || 0x8002C103 || Required processing has not completed, so request could not be executed<br /> |-<br /> | CELL_MUSIC2_ERROR_NO_ACTIVE_CONTENT || 0x8002C104 || No open content<br /> |-<br /> | CELL_MUSIC2_ERROR_NO_MATCH_FOUND || 0x8002C105 || Content corresponding to passed context could not be found<br /> |-<br /> | CELL_MUSIC2_ERROR_INVALID_CONTEXT || 0x8002C106 || Context is invalid<br /> |-<br /> | CELL_MUSIC2_ERROR_PLAYBACK_FAILURE || 0x8002C107 || Error occurred during playback and playback stopped<br /> |-<br /> | CELL_MUSIC2_ERROR_NO_MORE_CONTENT || 0x8002C108 || Next/previous content does not exist<br /> |-<br /> | CELL_MUSIC2_DIALOG_OPEN || 0x8002C109 || Message dialog will be displayed<br /> |-<br /> | CELL_MUSIC2_DIALOG_CLOSE || 0x8002C10A || Message dialog was closed<br /> |-<br /> | CELL_MUSIC2_ERROR_GENERIC || 0x8002C1FF || Unknown error occurred<br /> |-<br /> |}<br /> <br /> == Music Export Utility errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_MUSIC_EXPORT_UTIL_ERROR_BUSY || 0x8002c601 || Because the required processing has not been completed yet, the requested processing could not be executed<br /> |-<br /> | CELL_MUSIC_EXPORT_UTIL_ERROR_INTERNAL || 0x8002c602 || Internal error<br /> |-<br /> | CELL_MUSIC_EXPORT_UTIL_ERROR_PARAM || 0x8002c603 || Parameter is invalid<br /> |-<br /> | CELL_MUSIC_EXPORT_UTIL_ERROR_ACCESS_ERROR || 0x8002c604 || HDD access error<br /> |-<br /> | CELL_MUSIC_EXPORT_UTIL_ERROR_DB_INTERNAL || 0x8002c605 || Internal database error<br /> |-<br /> | CELL_MUSIC_EXPORT_UTIL_ERROR_DB_REGIST || 0x8002c606 || Registration to database failed<br /> |-<br /> | CELL_MUSIC_EXPORT_UTIL_ERROR_SET_META || 0x8002c607 || Metadata configuration failed<br /> |-<br /> | CELL_MUSIC_EXPORT_UTIL_ERROR_FLUSH_META || 0x8002c608 || Metadata flush failed<br /> |-<br /> | CELL_MUSIC_EXPORT_UTIL_ERROR_MOVE || 0x8002c609 || File move failed<br /> |-<br /> | CELL_MUSIC_EXPORT_UTIL_ERROR_INITIALIZE || 0x8002c60a || Initialization error<br /> |-<br /> |}<br /> <br /> == Photo Utility errors ==<br /> <br /> === Export errors ===<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_PHOTO_EXPORT_UTIL_ERROR_BUSY || 0x8002c201 || Requested operation could not be executed because required operation has not ended<br /> |-<br /> | CELL_PHOTO_EXPORT_UTIL_ERROR_INTERNAL || 0x8002c202 || Internal error<br /> |-<br /> | CELL_PHOTO_EXPORT_UTIL_ERROR_PARAM || 0x8002c203 || Invalid parameter<br /> |-<br /> | CELL_PHOTO_EXPORT_UTIL_ERROR_ACCESS_ERROR || 0x8002c204 || HDD access error, file copy failed<br /> |-<br /> | CELL_PHOTO_EXPORT_UTIL_ERROR_DB_INTERNAL || 0x8002c205 || Internal error in database<br /> |-<br /> | CELL_PHOTO_EXPORT_UTIL_ERROR_DB_REGIST || 0x8002c206 || Registration to database failed<br /> |-<br /> | CELL_PHOTO_EXPORT_UTIL_ERROR_SET_META || 0x8002c207 || Metadata configuration failed<br /> |-<br /> | CELL_PHOTO_EXPORT_UTIL_ERROR_FLUSH_META || 0x8002c208 || Metadata writeback failed<br /> |-<br /> | CELL_PHOTO_EXPORT_UTIL_ERROR_MOVE || 0x8002c209 || File move failed<br /> |-<br /> | CELL_PHOTO_EXPORT_UTIL_ERROR_INITIALIZE || 0x8002c20a || Initialization error<br /> |-<br /> |}<br /> <br /> === Import errors ===<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_PHOTO_IMPORT_ERROR_BUSY || 0x8002c701 || Required processing has not completed, so request could not be executed<br /> |-<br /> | CELL_PHOTO_IMPORT_ERROR_INTERNAL || 0x8002c702 || Internal error<br /> |-<br /> | CELL_PHOTO_IMPORT_ERROR_PARAM || 0x8002c703 || Parameters are invalid<br /> |-<br /> | CELL_PHOTO_IMPORT_ERROR_ACCESS_ERROR || 0x8002c704 || HDD access error<br /> |-<br /> | CELL_PHOTO_IMPORT_ERROR_COPY || 0x8002c705 || Copy failed<br /> |-<br /> | CELL_PHOTO_IMPORT_ERROR_INITIALIZE || 0x8002c706 || Initialization error<br /> |-<br /> |}<br /> <br /> === Decode errors ===<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_PHOTO_DECODE_ERROR_BUSY || 0x8002c901 || Required processing has not completed, so request could not be executed<br /> |-<br /> | CELL_PHOTO_DECODE_ERROR_INTERNAL || 0x8002c902 || Internal error<br /> |-<br /> | CELL_PHOTO_DECODE_ERROR_PARAM || 0x8002c903 || Parameters are invalid<br /> |-<br /> | CELL_PHOTO_DECODE_ERROR_ACCESS_ERROR || 0x8002c904 || HDD access error<br /> |-<br /> | CELL_PHOTO_DECODE_ERROR_INITIALIZE || 0x8002c905 || Initialization error<br /> |-<br /> | CELL_PHOTO_DECODE_ERROR_DECODE || 0x8002c906 || Decoding failed<br /> |-<br /> |}<br /> <br /> == Screenshot Utility errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_SCREENSHOT_ERROR_INTERNAL || 0x8002d101 || Internal error<br /> |-<br /> | CELL_SCREENSHOT_ERROR_PARAM || 0x8002d102 || Invalid parameter<br /> |-<br /> | CELL_SCREENSHOT_ERROR_DECODE || 0x8002d103 || Image decoding failed<br /> |-<br /> | CELL_SCREENSHOT_ERROR_NOSPACE || 0x8002d104 || Insufficient HDD space (500MB free needed)<br /> |-<br /> | CELL_SCREENSHOT_ERROR_UNSUPPORTED_COLOR_FORMAT || 0x8002d105 || The color format of the current frame buffer is not supported<br /> |-<br /> |}<br /> <br /> == Video Utility errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_VIDEO_EXPORT_UTIL_ERROR_BUSY || 0x8002ca01 || Requested processing could not be executed because the required processing has not been completed<br /> |-<br /> | CELL_VIDEO_EXPORT_UTIL_ERROR_INTERNAL || 0x8002ca02 || Internal error<br /> |-<br /> | CELL_VIDEO_EXPORT_UTIL_ERROR_PARAM || 0x8002ca03 || Parameter is invalid<br /> |-<br /> | CELL_VIDEO_EXPORT_UTIL_ERROR_ACCESS_ERROR || 0x8002ca04 || HDD access error, file copy failed<br /> |-<br /> | CELL_VIDEO_EXPORT_UTIL_ERROR_DB_INTERNAL || 0x8002ca05 || Internal database error<br /> |-<br /> | CELL_VIDEO_EXPORT_UTIL_ERROR_DB_REGIST || 0x8002ca06 || Registration to database failed<br /> |-<br /> | CELL_VIDEO_EXPORT_UTIL_ERROR_SET_META || 0x8002ca07 || Metadata set failed<br /> |-<br /> | CELL_VIDEO_EXPORT_UTIL_ERROR_FLUSH_META || 0x8002ca08 || Metadata flush failed<br /> |-<br /> | CELL_VIDEO_EXPORT_UTIL_ERROR_MOVE || 0x8002ca09 || File move failed<br /> |-<br /> | CELL_VIDEO_EXPORT_UTIL_ERROR_INITIALIZE || 0x8002ca0a || Initialization error<br /> |-<br /> |}<br /> <br /> == Hash Function errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_ERROR_HASH_NULL_POINTER || 0x80f00001 || Null pointer was passed as an argument. workarea, taskset, md5, sha1, sha224, sha256, sha384, sha512, plain or digest is a null pointer.<br /> |-<br /> | CELL_ERROR_HASH_QUEUE_CREATE_FAILED || 0x80f00002 || SPURS event queue could not be created, or the event queue could not be attached to a SPURS queue.<br /> |-<br /> | CELL_ERROR_HASH_FLAG_CREATE_FAILED || 0x80f00003 || SPURS event flag could not be created, or the event flag could not be attached to a SPURS queue.<br /> |-<br /> | CELL_ERROR_HASH_INVALID_ALIGN || 0x80f00004 || Argument was not aligned to the correct boundary.<br /> |-<br /> | CELL_ERROR_HASH_INVALID_NOMEM || 0x80f00005 || Insufficient memory.<br /> |-<br /> | CELL_ERROR_HASH_TASK_CREATE_FAILED || 0x80f00006 || Failed to create SPURS task.<br /> |-<br /> | CELL_ERROR_HASH_INVALID_STATE || 0x80f00007 || Invalid state to process data.<br /> |-<br /> | CELL_ERROR_HASH_INVALID_BUFFER_SIZE || 0x80f00008 || Invalid context size to process data. spu_dma_buffer_size is not a multiple of 16 or the size is greater than 16KB.<br /> |-<br /> | CELL_ERROR_HASH_INVALID_STREAM_ID || 0x80f00009 || Invalid stream ID size.<br /> |-<br /> |}<br /> <br /> == KB errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_KB_ERROR_FATAL || 0x80121001 || <br /> |-<br /> | CELL_KB_ERROR_INVALID_PARAMETER || 0x80121002 || <br /> |-<br /> | CELL_KB_ERROR_ALREADY_INITIALIZED || 0x80121003 || <br /> |-<br /> | CELL_KB_ERROR_UNINITIALIZED || 0x80121004 || <br /> |-<br /> | CELL_KB_ERROR_RESOURCE_ALLOCATION_FAILED || 0x80121005 || <br /> |-<br /> | CELL_KB_ERROR_DATA_READ_FAILED || 0x80121006 || <br /> |-<br /> | CELL_KB_ERROR_NO_DEVICE || 0x80121007 || <br /> |-<br /> | CELL_KB_ERROR_SYS_SETTING_FAILED || 0x80121008 || <br /> |-<br /> |}<br /> <br /> == PAD errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_PAD_ERROR_FATAL || 0x80121101 || <br /> |-<br /> | CELL_PAD_ERROR_INVALID_PARAMETER || 0x80121102 || <br /> |-<br /> | CELL_PAD_ERROR_ALREADY_INITIALIZED || 0x80121103 || <br /> |-<br /> | CELL_PAD_ERROR_UNINITIALIZED || 0x80121104 || <br /> |-<br /> | CELL_PAD_ERROR_RESOURCE_ALLOCATION_FAILED || 0x80121105 || <br /> |-<br /> | CELL_PAD_ERROR_DATA_READ_FAILED || 0x80121106 || <br /> |-<br /> | CELL_PAD_ERROR_NO_DEVICE || 0x80121107 || <br /> |-<br /> | CELL_PAD_ERROR_UNSUPPORTED_GAMEPAD || 0x80121108 || <br /> |-<br /> | CELL_PAD_ERROR_TOO_MANY_DEVICES || 0x80121109 || <br /> |-<br /> | CELL_PAD_ERROR_EBUSY || 0x8012110a || <br /> |-<br /> |}<br /> <br /> == MOUSE errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_MOUSE_ERROR_FATAL || 0x80121201 || <br /> |-<br /> | CELL_MOUSE_ERROR_INVALID_PARAMETER || 0x80121202 || <br /> |-<br /> | CELL_MOUSE_ERROR_ALREADY_INITIALIZED || 0x80121203 || <br /> |-<br /> | CELL_MOUSE_ERROR_UNINITIALIZED || 0x80121204 || <br /> |-<br /> | CELL_MOUSE_ERROR_RESOURCE_ALLOCATION_FAILED || 0x80121205 || <br /> |-<br /> | CELL_MOUSE_ERROR_DATA_READ_FAILED || 0x80121206 || <br /> |-<br /> | CELL_MOUSE_ERROR_NO_DEVICE || 0x80121207 || <br /> |-<br /> | CELL_MOUSE_ERROR_SYS_SETTING_FAILED || 0x80121208 || <br /> |-<br /> |}<br /> <br /> == K2C errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_K2C_ERROR_FATAL || 0x80121301 || <br /> |-<br /> | CELL_K2C_ERROR_INVALID_HANDLE || 0x80121302 || <br /> |-<br /> | CELL_K2C_ERROR_INVALID_PARAMETER || 0x80121303 || <br /> |-<br /> | CELL_K2C_ERROR_ALREADY_INITIALIZED || 0x80121304 || <br /> |-<br /> | CELL_K2C_ERROR_UNINITIALIZED || 0x80121305 || <br /> |-<br /> | CELL_K2C_ERROR_OTHER || 0x80121306 || <br /> |-<br /> |}<br /> <br /> == PADFILTER errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_PADFILTER_ERROR_INVALID_PARAMETER || 0x80121401 || <br /> |-<br /> |}<br /> <br /> == GEM errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_GEM_ERROR_RESOURCE_ALLOCATION_FAILED || 0x80121801 || libgem initialization failed to allocate the required resources.<br /> |-<br /> | CELL_GEM_ERROR_ALREADY_INITIALIZED || 0x80121802 || libgem initialization failed as the library is already initialized.<br /> |-<br /> | CELL_GEM_ERROR_UNINITIALIZED || 0x80121803 || Call failed because libgem is not initialized.<br /> |-<br /> | CELL_GEM_ERROR_INVALID_PARAMETER || 0x80121804 || Call failed because one or more parameters passed was not valid.<br /> |-<br /> | CELL_GEM_ERROR_INVALID_ALIGNMENT || 0x80121805 || Call failed because the video buffer could not be read.<br /> |-<br /> | CELL_GEM_ERROR_UPDATE_NOT_FINISHED || 0x80121806 || cellGemUpdateStart() call failed because it was called before cellGemUpdateFinish() completed.<br /> |-<br /> | CELL_GEM_ERROR_UPDATE_NOT_STARTED || 0x80121807 || cellGemUpdateFinish() call failed because it was called before cellGemUpdateStart().<br /> |-<br /> | CELL_GEM_ERROR_CONVERT_NOT_FINISHED || 0x80121808 || cellGemConvertVideoStart() call failed because it was called before cellGemConvertVideoFinish().<br /> |-<br /> | CELL_GEM_ERROR_CONVERT_NOT_STARTED || 0x80121809 || cellGemConvertVideoFinish() call failed because it was called before cellGemConvertVideoStart(). <br /> |-<br /> | CELL_GEM_ERROR_WRITE_NOT_FINISHED || 0x8012180A || cellGemWriteExternalPort() call failed because it was called before previous cellGemWriteExternalPort() completed.<br /> |-<br /> | CELL_GEM_ERROR_NOT_A_HUE || 0x8012180B || Returned by cellGemGetTrackerHue() if the controller is not currently being tracked.<br /> |-<br /> |}<br /> <br /> == PERF errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_PERF_ERROR_NOT_OPENED || 0x80520001 || <br /> |-<br /> | CELL_PERF_ERROR_INVALID_SIGNAL || 0x80520002 || <br /> |-<br /> | CELL_PERF_ERROR_TRACE_BUS_BUSY || 0x80520003 || <br /> |-<br /> | CELL_PERF_ERROR_SIGNAL_CONTROL_FULL || 0x80520004 || <br /> |-<br /> | CELL_PERF_ERROR_INVALID_PARAMETER || 0x80520005 || <br /> |-<br /> | CELL_PERF_ERROR_LV1_NO_PRIVILEGE || 0x80520006 || <br /> |-<br /> | CELL_PERF_ERROR_LV1_DENIED_BY_POLICY || 0x80520007 || <br /> |-<br /> | CELL_PERF_ERROR_LV1_NO_ENTRY || 0x80520008 || <br /> |-<br /> | CELL_PERF_ERROR_LV1_DUPLICATE_ENTRY || 0x80520009 || <br /> |-<br /> | CELL_PERF_ERROR_LV1_BUSY || 0x8052000a || <br /> |-<br /> | CELL_PERF_ERROR_LV1_RESOURCE_SHORTAGE || 0x8052000b || <br /> |-<br /> | CELL_PERF_ERROR_LV1_WRONG_STATE || 0x8052000c || <br /> |-<br /> | CELL_PERF_ERROR_LV1_ALIGNMENT_ERROR || 0x8052000d || <br /> |-<br /> | CELL_PERF_ERROR_LV1_ILLEGAL_PARAMETER_VALUE || 0x8052000e || <br /> |-<br /> | CELL_PERF_ERROR_LV2_BUSY || 0x8052000f || <br /> |-<br /> | CELL_PERF_ERROR_LV2_NO_RESOURCE || 0x80520010 || <br /> |-<br /> | CELL_PERF_ERROR_LV2_NOT_OPENED || 0x80520011 || <br /> |-<br /> | CELL_PERF_ERROR_LV2_NOT_IMPLEMENTED || 0x80520012 || <br /> |-<br /> | CELL_PERF_ERROR_LV2_INVALID_PARAMETER || 0x80520013 || <br /> |-<br /> | CELL_PERF_ERROR_LV2_UNSUPPORTED_HARDWARE || 0x80520014 || <br /> |-<br /> | CELL_PERF_ERROR_LV2_NOT_ALLOWED || 0x80520015 || <br /> |-<br /> | CELL_PERF_ERROR_UNDEFINED || 0x80520016 || <br /> |-<br /> | CELL_PERF_ERROR_NO_RESOURCE || 0x80520017 || <br /> |-<br /> | CELL_PERF_ERROR_ADDED_ALREADY || 0x80520018 || <br /> |-<br /> | CELL_PERF_ERROR_NO_ENTRY || 0x80520019 || <br /> |-<br /> |}<br /> <br /> == Home coordination utility errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_HDDGAME_ERROR_INTERNAL || || Fatal internal error<br /> |-<br /> | CELL_HDDGAME_ERROR_PARAM || || Invalid argument (application bug)<br /> |-<br /> | CELL_HDDGAME_ERROR_NOAPP || || PlayStation Home is not installed<br /> |-<br /> | CELL_GAME_ERROR_ACCESS_ERROR || || HDD access error<br /> |-<br /> |}<br /> <br /> == IMEJP utility errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_IMEJP_ERROR_ERR || 0x8002bf01 || Function call error<br /> |-<br /> | CELL_IMEJP_ERROR_CONTEXT || 0x8002bf11 || Invalid context handle or context handle not opened<br /> |-<br /> | CELL_IMEJP_ERROR_ALREADY_OPEN || 0x8002bf21 || Attempted to open when the ImeJp utility is already opened<br /> |-<br /> | CELL_IMEJP_ERROR_DIC_OPEN || 0x8002bf31 || Dictionary open error<br /> |-<br /> | CELL_IMEJP_ERROR_PARAM || 0x8002bf41 || Invalid parameter<br /> |-<br /> | CELL_IMEJP_ERROR_IME_ALREADY_IN_USE || 0x8002bf51 || Character input engine is being used<br /> |-<br /> | CELL_IMEJP_ERROR_OTHER || 0x8002bfff || Other error, internal error<br /> |-<br /> |}<br /> <br /> == L10n errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | SRCIllegal || || Target character string is corrupt<br /> |-<br /> | DSTExhausted || || Buffer is too small for the conversion result<br /> |-<br /> | ConverterUnknown || || Specified converter is invalid<br /> |-<br /> |}<br /> <br /> == Pthread errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | ESRCH || || Non-existent thread<br /> |-<br /> | EINVAL || || The value specified is invalid or does not refer to an initialized thread attribute object.<br /> |-<br /> | EINVAL || || Invalid value for scheduling parameters.<br /> |-<br /> | ENOTSUP || || An attempt was made to set the attribute to an unsupported value<br /> |-<br /> | ENOMEM || || The process cannot allocate enough memory to initialize a mutex or a condition variable<br /> |-<br /> | EAGAIN || || The system lacks the resources to initialize a mutex or a condition variable<br /> |-<br /> | EBUSY || || Mutex is locked by another thread.<br /> |-<br /> | EDEADLK || || A deadlock would occur if the thread blocked waiting for mutex<br /> |-<br /> | EPERM || || The current thread does not hold a lock on mutex.<br /> |-<br /> | ETIMEDOUT || || The system time has reached or exceeded the time specified in abstime.<br /> |-<br /> |}<br /> <br /> == Scream / MultiStream errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> !colspan=&quot;3&quot; | Scream/MultiStream errors<br /> |-<br /> | CELL_SCREAM_ERROR_NONE || 0<br /> |-<br /> | CELL_SCREAM_ERROR_NULL_PARAM || -1<br /> |-<br /> | CELL_SCREAM_ERROR_SYSTEM_ALREADY_STARTED || -2<br /> |-<br /> | CELL_SCREAM_ERROR_BAD_RETURNS || -3<br /> |-<br /> | CELL_SCREAM_ERROR_SYSTEM_NOT_RUNNING || -4<br /> |-<br /> | CELL_SCREAM_ERROR_BAD_FLAGS || -5<br /> |-<br /> | CELL_SCREAM_ERROR_BAD_MS_BUS || -6<br /> |-<br /> !colspan=&quot;3&quot; | SCREAM specific errors<br /> |-<br /> | CELL_SCREAM_LOAD_ERR_COUDNT_OPEN_FILE || 0x100<br /> |-<br /> | CELL_SCREAM_LOAD_ERR_READING_FILE || 0x101<br /> |-<br /> | CELL_SCREAM_LOAD_ERR_MEMORY || 0x102<br /> |-<br /> | CELL_SCREAM_LOAD_ERR_SYNTH_MEMORY || 0x103<br /> |-<br /> | CELL_SCREAM_LOAD_ERR_IN_PROGRESS || 0x104<br /> |-<br /> | CELL_SCREAM_LOAD_ERR_DMA || 0x105<br /> |-<br /> | CELL_SCREAM_LOAD_ERR_RPC || 0x106<br /> |-<br /> | CELL_SCREAM_LOAD_ERR_INVALID_FORMAT || 0x107<br /> |-<br /> |}<br /> <br /> == Realtimeclock errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_RTC_ERROR_NOT_INITIALIZED || 0x80010601 || Library has not yet been initialized. Please initialize before use.<br /> |-<br /> | CELL_RTC_ERROR_INVALID_POINTER || 0x80010602 || The pointer passed in is invalid.<br /> |-<br /> | CELL_RTC_ERROR_INVALID_VALUE || 0x80010603 || A value in the arguments is invalid and cannot be used.<br /> |-<br /> | CELL_RTC_ERROR_INVALID_ARG || 0x80010604 || An argument contains invalid data.<br /> |-<br /> | CELL_RTC_ERROR_NOT_SUPPORTED || 0x80010605 || The feature is not supported<br /> |-<br /> | CELL_RTC_ERROR_NO_CLOCK || 0x80010606 || The clock is not available<br /> |-<br /> | CELL_RTC_ERROR_BAD_PARSE || 0x80010607 || Error occurred in parsing, perhaps an unknown format<br /> |-<br /> | CELL_RTC_ERROR_INVALID_YEAR || 0x80010621 || The year value is invalid<br /> |-<br /> | CELL_RTC_ERROR_INVALID_MONTH || 0x80010622 || The month value is invalid<br /> |-<br /> | CELL_RTC_ERROR_INVALID_DAY || 0x80010623 || The day value is invalid<br /> |-<br /> | CELL_RTC_ERROR_INVALID_HOUR || 0x80010624 || The hour value is invalid<br /> |-<br /> | CELL_RTC_ERROR_INVALID_MINUTE || 0x80010625 || The minute value is invalid<br /> |-<br /> | CELL_RTC_ERROR_INVALID_SECOND || 0x80010626 || The second value is invalid<br /> |-<br /> | CELL_RTC_ERROR_INVALID_MICROSECOND || 0x80010627 || The microsecond value is invalid<br /> |-<br /> |}<br /> <br /> == USERINFO errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_USERINFO_ERROR_BUSY || 0x8002c301 || <br /> |-<br /> | CELL_USERINFO_ERROR_INTERNAL || 0x8002c302 || <br /> |-<br /> | CELL_USERINFO_ERROR_PARAM || 0x8002c303 || <br /> |-<br /> | CELL_USERINFO_ERROR_NOUSER || 0x8002c304 || <br /> |-<br /> |}<br /> <br /> == Print Utility errors ==<br /> <br /> === Print ErrorStatus ===<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_PRINT_ERRORSTATUS_COMM || 0x80000000 || Printer communication error<br /> |-<br /> | CELL_PRINT_ERRORSTATUS_COVEROPEN || 0x80000001 || Cover is opened<br /> |-<br /> | CELL_PRINT_ERRORSTATUS_INKCOVEROPEN || 0x80000002 || Ink (cartridge) cover is opened<br /> |-<br /> | CELL_PRINT_ERRORSTATUS_NOPAPER || 0x80000003 || No paper<br /> |-<br /> | CELL_PRINT_ERRORSTATUS_NOTRAY || 0x80000004 || No paper tray<br /> |-<br /> | CELL_PRINT_ERRORSTATUS_SIZE_TYPE_PATH || 0x80000005 || Paper feed method is not matching<br /> |-<br /> | CELL_PRINT_ERRORSTATUS_DOUBLEFEED || 0x80000006 || Paper feed error (double feed)<br /> |-<br /> | CELL_PRINT_ERRORSTATUS_FEEDERROR || 0x80000007 || Paper feed error (other than double feed)<br /> |-<br /> | CELL_PRINT_ERRORSTATUS_PAPERJAM || 0x80000008 || Paper jammed<br /> |-<br /> | CELL_PRINT_ERRORSTATUS_TRAYCLOSE || 0x80000009 || Eject tray is closed<br /> |-<br /> | CELL_PRINT_ERRORSTATUS_NOINK || 0x8000000a || No ink<br /> |-<br /> | CELL_PRINT_ERRORSTATUS_NOCARTRIDGE || 0x8000000b || No ink cartridge<br /> |-<br /> | CELL_PRINT_ERRORSTATUS_COVERFLOW || 0x8000000c || Ink cartridge's waste ink full<br /> |-<br /> | CELL_PRINT_ERRORSTATUS_CFAIL || 0x8000000d || Ink cartridge detection error<br /> |-<br /> | CELL_PRINT_ERRORSTATUS_CFACTORY || 0x8000000e || Ink cartridge error (factory default settings)<br /> |-<br /> | CELL_PRINT_ERRORSTATUS_BATTERYVOLTAGE || 0x8000000f || Abnormal battery voltage<br /> |-<br /> | CELL_PRINT_ERRORSTATUS_BATTERYTEMPERATURE || 0x80000010 || Abnormal battery temperature<br /> |-<br /> | CELL_PRINT_ERRORSTATUS_BATTERYEMPTY || 0x80000011 || No battery (cannot print)<br /> |-<br /> | CELL_PRINT_ERRORSTATUS_SERVICEREQ || 0x80000012 || Printer adjustment necessary<br /> |-<br /> | CELL_PRINT_ERRORSTATUS_GENERAL || 0x80000013 || Printer-related error<br /> |-<br /> | CELL_PRINT_ERRORSTATUS_FATAL || 0x80000014 || Fatal printer error<br /> |-<br /> |}<br /> <br /> === Print Error ===<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_PRINT_ERROR_INTERNAL || 0x8002c401 || Internal error<br /> |-<br /> | CELL_PRINT_ERROR_NO_MEMORY || 0x8002c402 || Memory allocation failed<br /> |-<br /> | CELL_PRINT_ERROR_PRINTER_NOT_FOUND || 0x8002c403 || Printer could not be found<br /> |-<br /> | CELL_PRINT_ERROR_INVALID_PARAM || 0x8002c404 || Parameter is invalid<br /> |-<br /> | CELL_PRINT_ERROR_INVALID_FUNCTION || 0x8002c405 || API call is invalid<br /> |-<br /> | CELL_PRINT_ERROR_NOT_SUPPORT || 0x8002c406 || Printer is not supported<br /> |-<br /> | CELL_PRINT_ERROR_OCCURRED || 0x8002c407 || API execution error<br /> |-<br /> | CELL_PRINT_ERROR_CANCELED_BY_PRINTER || 0x8002c408 || Print job was cancelled<br /> |-<br /> |}<br /> <br /> == Multistream errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_MS_ERROR || 0x88000000 || Base error value<br /> |-<br /> | CELL_MS_ERROR_SYSPAUSED || 0x88000001 || The system is paused.<br /> |-<br /> | CELL_MS_ERROR_INVAL || 0x88000002 || A parameter is invalid.<br /> |-<br /> | CELL_MS_ERROR_WRONGSTATE || 0x88000003 || A state is wrong.<br /> |-<br /> | CELL_MS_ERROR_RESOURCEUNAVAIL || 0x88000004 || A system resource is unavailable.<br /> |-<br /> | CELL_MS_ERROR_CIRCULARDEPEND || 0x88000005 || There is a circular dependency.<br /> |-<br /> | CELL_MS_ERROR_BUSMISMATCH || 0x88000006 || There is a bus mismatch.<br /> |-<br /> | CELL_MS_ERROR_INVALIDELF || 0x88000007 || An ELF file is invalid.<br /> |-<br /> | CELL_MS_ERROR_FILEACCESS || 0x88000008 || Access to a file failed.<br /> |-<br /> | CELL_MS_ERROR_INVALIDENV || 0x88000009 || An envelope is invalid.<br /> |-<br /> | CELL_MS_ERROR_OUTOFRANGE || 0x8800000a || Out of range.<br /> |-<br /> | CELL_MS_ERROR_BADMODE || 0x8800000b || There is a bad mode.<br /> |-<br /> | CELL_MS_ERROR_NOFREESTREAMS || 0x8800000c || There are no free streams.<br /> |-<br /> | CELL_MS_ERROR_SURROUNDNOTINIT || 0x8800000d || Surround sound is not initialised.<br /> |-<br /> | CELL_MS_ERROR_INVALID_CHANNEL || 0x8800000e || A channel is invalid.<br /> |-<br /> | CELL_MS_ERROR_INVALID_TYPE || 0x8800000f || A type is invalid.<br /> |-<br /> | CELL_MS_ERROR_AUDIO_CONFIGURE || 0x88000010 || cellMSSystemConfigureSysUtil failed processing cellAudioOutConfigure function<br /> |-<br /> | CELL_MS_ERROR_AUDIO_GETSTATE || 0x88000011 || cellMSSystemConfigureSysUtil failed processing cellAudioOutGetState function<br /> |-<br /> |}<br /> <br /> == Record Utility Error ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_REC_ERROR_OUT_OF_MEMORY|| 0x8002c501|| <br /> |-<br /> | CELL_REC_ERROR_FATAL|| 0x8002c502|| <br /> |-<br /> | CELL_REC_ERROR_INVALID_VALUE || 0x8002c503|| <br /> |-<br /> | CELL_REC_ERROR_FILE_OPEN || 0x8002c504|| <br /> |-<br /> | CELL_REC_ERROR_FILE_WRITE || 0x8002c505|| <br /> |-<br /> | CELL_REC_ERROR_INVALID_STATE || 0x8002c506|| <br /> |-<br /> | CELL_REC_ERROR_FILE_NO_DATA || 0x8002c507|| <br /> |-<br /> |}<br /> <br /> == PRX Error ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_PRX_ERROR_ERROR || 0x80011001 || <br /> |-<br /> | CELL_PRX_ERROR_ILLEGAL_PERM || 0x800110d1 || <br /> |-<br /> | CELL_PRX_ERROR_UNKNOWN_MODULE || 0x8001112e || <br /> |-<br /> | CELL_PRX_ERROR_ALREADY_STARTED || 0x80011133 || <br /> |-<br /> | CELL_PRX_ERROR_NOT_STARTED || 0x80011134 || <br /> |-<br /> | CELL_PRX_ERROR_ALREADY_STOPPED || 0x80011135 || <br /> |-<br /> | CELL_PRX_ERROR_CAN_NOT_STOP || 0x80011136 || <br /> |-<br /> | CELL_PRX_ERROR_NOT_REMOVABLE || 0x80011138 || <br /> |-<br /> | CELL_PRX_ERROR_LIBRARY_NOT_YET_LINKED || 0x8001113a || <br /> |-<br /> | CELL_PRX_ERROR_LIBRARY_FOUND || 0x8001113b || <br /> |-<br /> | CELL_PRX_ERROR_LIBRARY_NOTFOUND || 0x8001113c || <br /> |-<br /> | CELL_PRX_ERROR_ILLEGAL_LIBRARY || 0x8001113d || <br /> |-<br /> | CELL_PRX_ERROR_LIBRARY_INUSE || 0x8001113e || <br /> |-<br /> | CELL_PRX_ERROR_ALREADY_STOPPING || 0x8001113f || <br /> |-<br /> | CELL_PRX_ERROR_UNSUPPORTED_PRX_TYPE || 0x80011148 || <br /> |-<br /> | CELL_PRX_ERROR_INVAL || 0x80011324 || <br /> |-<br /> | CELL_PRX_ERROR_ILLEGAL_PROCESS || 0x80011801 || <br /> |-<br /> | CELL_PRX_ERROR_NO_LIBLV2 || 0x80011881 || <br /> |-<br /> | CELL_PRX_ERROR_UNSUPPORTED_ELF_TYPE || 0x80011901 || <br /> |-<br /> | CELL_PRX_ERROR_UNSUPPORTED_ELF_CLASS || 0x80011902 || <br /> |-<br /> | CELL_PRX_ERROR_UNDEFINED_SYMBOL || 0x80011904 || <br /> |-<br /> | CELL_PRX_ERROR_UNSUPPORTED_RELOCATION_TYPE || 0x80011905 || <br /> |-<br /> | CELL_PRX_ERROR_ELF_IS_REGISTERED || 0x80011910 || <br /> |-<br /> | CELL_PRX_ERROR_NO_EXIT_ENTRY || 0x80011911 || <br /> |-<br /> |}<br /> <br /> == Sysmodule Error ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_SYSMODULE_ERROR_DUPLICATED || 0x80012001 || Tried to load a PRX that is already loaded<br /> |-<br /> | CELL_SYSMODULE_ERROR_UNKNOWN || 0x80012002 || Tried to load an unknown PRX<br /> |-<br /> | CELL_SYSMODULE_ERROR_UNLOADED || 0x80012003 || Tried to unload a PRX that is already unloaded, or the module is not loaded<br /> |-<br /> | CELL_SYSMODULE_ERROR_INVALID_MEMCONTAINER || 0x80012004 || An invalid memory container ID was passed<br /> |-<br /> | CELL_SYSMODULE_ERROR_FATAL || 0x800120ff || Function call failed<br /> |-<br /> |}<br /> <br /> == System Utility Error ==<br /> <br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_SYSUTIL_ERROR_TYPE || 0x8002b101 || Type is invalid<br /> |-<br /> | CELL_SYSUTIL_ERROR_VALUE || 0x8002b102 || Value is invalid<br /> |-<br /> | CELL_SYSUTIL_ERROR_SIZE || 0x8002b103 || Size is invalid<br /> |-<br /> | CELL_SYSUTIL_ERROR_NUM || 0x8002b104 || Number exceeds valid range<br /> |-<br /> | CELL_SYSUTIL_ERROR_BUSY || 0x8002b105 || Service cannot run because another service is running<br /> |-<br /> | CELL_SYSUTIL_ERROR_STATUS || 0x8002b106 || Invalid API was called for the current service status<br /> |-<br /> | CELL_SYSUTIL_ERROR_MEMORY || 0x8002b107 || Sufficient memory could not be allocated for the requested service<br /> |-<br /> | CELL_SYSUTIL_ERROR_3D_SUPPORT || 0x8002b108 || <br /> |-<br /> |}<br /> <br /> == System BGM Control Error ==<br /> <br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_SYSUTIL_BGMPLAYBACK_ERROR_PARAM || 0x8002b101 || Invalid parameter<br /> |-<br /> | CELL_SYSUTIL_BGMPLAYBACK_ERROR_BUSY || 0x8002b102 || Requested processing cannot be executed because the required processing has not completed yet<br /> |-<br /> | CELL_SYSUTIL_BGMPLAYBACK_ERROR_GENERIC || 0x8002b1ff || Unknown error occurred<br /> |-<br /> | CELL_SYSUTIL_BGMPLAYBACK_EX_ERROR_PARAM || 0x8002d301 || Invalid parameter<br /> |-<br /> | CELL_SYSUTIL_BGMPLAYBACK_EX_ERROR_ALREADY_SETPARAM || 0x8002d302 || Processing cannot be accepted because the setting has already been made<br /> |-<br /> | CELL_SYSUTIL_BGMPLAYBACK_EX_ERROR_DISABLE_SETPARAM || 0x8002d303 || Processing cannot be accepted because the feature is disabled<br /> |-<br /> | CELL_SYSUTIL_BGMPLAYBACK_EX_ERROR_GENERIC || 0x8002d3ff || Unknown error occurred<br /> |-<br /> |}<br /> <br /> == COMBOPLAY errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_CROSS_CONTROLLER_ERROR_CANCEL || 0x8002cd80 || <br /> |-<br /> | CELL_CROSS_CONTROLLER_ERROR_NETWORK || 0x8002cd81 || <br /> |-<br /> | CELL_CROSS_CONTROLLER_ERROR_OUT_OF_MEMORY || 0x8002cd90 || <br /> |-<br /> | CELL_CROSS_CONTROLLER_ERROR_FATAL || 0x8002cd91 || <br /> |-<br /> | CELL_CROSS_CONTROLLER_ERROR_INVALID_PKG_FILENAME || 0x8002cd92 || <br /> |-<br /> | CELL_CROSS_CONTROLLER_ERROR_INVALID_SIG_FILENAME || 0x8002cd93 || <br /> |-<br /> | CELL_CROSS_CONTROLLER_ERROR_INVALID_ICON_FILENAME || 0x8002cd94 || <br /> |-<br /> | CELL_CROSS_CONTROLLER_ERROR_INVALID_VALUE || 0x8002cd95 || <br /> |-<br /> | CELL_CROSS_CONTROLLER_ERROR_PKG_FILE_OPEN || 0x8002cd96 || <br /> |-<br /> | CELL_CROSS_CONTROLLER_ERROR_SIG_FILE_OPEN || 0x8002cd97 || <br /> |-<br /> | CELL_CROSS_CONTROLLER_ERROR_ICON_FILE_OPEN || 0x8002cd98 || <br /> |-<br /> | CELL_CROSS_CONTROLLER_ERROR_INVALID_STATE || 0x8002cd99 || <br /> |-<br /> | CELL_CROSS_CONTROLLER_ERROR_INVALID_PKG_FILE || 0x8002cd9a || <br /> |-<br /> | CELL_CROSS_CONTROLLER_ERROR_INTERNAL || 0x8002cda0 || <br /> |-<br /> |}<br /> <br /> == SYSTEMPARAM errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_VIDEO_OUT_ERROR_NOT_IMPLEMENTED || 0x8002b220 || <br /> |-<br /> | CELL_VIDEO_OUT_ERROR_ILLEGAL_CONFIGURATION || 0x8002b221 || <br /> |-<br /> | CELL_VIDEO_OUT_ERROR_ILLEGAL_PARAMETER || 0x8002b222 || <br /> |-<br /> | CELL_VIDEO_OUT_ERROR_PARAMETER_OUT_OF_RANGE || 0x8002b223 || <br /> |-<br /> | CELL_VIDEO_OUT_ERROR_DEVICE_NOT_FOUND || 0x8002b224 || <br /> |-<br /> | CELL_VIDEO_OUT_ERROR_UNSUPPORTED_VIDEO_OUT || 0x8002b225 || <br /> |-<br /> | CELL_VIDEO_OUT_ERROR_UNSUPPORTED_DISPLAY_MODE || 0x8002b226 || <br /> |-<br /> | CELL_VIDEO_OUT_ERROR_CONDITION_BUSY || 0x8002b227 || <br /> |-<br /> | CELL_VIDEO_OUT_ERROR_VALUE_IS_NOT_SET || 0x8002b228 || <br /> |-<br /> | CELL_AUDIO_OUT_ERROR_NOT_IMPLEMENTED || 0x8002b240 || <br /> |-<br /> | CELL_AUDIO_OUT_ERROR_ILLEGAL_CONFIGURATION || 0x8002b241 || <br /> |-<br /> | CELL_AUDIO_OUT_ERROR_ILLEGAL_PARAMETER || 0x8002b242 || <br /> |-<br /> | CELL_AUDIO_OUT_ERROR_PARAMETER_OUT_OF_RANGE || 0x8002b243 || <br /> |-<br /> | CELL_AUDIO_OUT_ERROR_DEVICE_NOT_FOUND || 0x8002b244 || <br /> |-<br /> | CELL_AUDIO_OUT_ERROR_UNSUPPORTED_AUDIO_OUT || 0x8002b245 || <br /> |-<br /> | CELL_AUDIO_OUT_ERROR_UNSUPPORTED_SOUND_MODE || 0x8002b246 || <br /> |-<br /> | CELL_AUDIO_OUT_ERROR_CONDITION_BUSY || 0x8002b247 || <br /> |-<br /> | CELL_AUDIO_IN_ERROR_NOT_IMPLEMENTED || 0x8002b260 || <br /> |-<br /> | CELL_AUDIO_IN_ERROR_ILLEGAL_CONFIGURATION || 0x8002b261 || <br /> |-<br /> | CELL_AUDIO_IN_ERROR_ILLEGAL_PARAMETER || 0x8002b262 || <br /> |-<br /> | CELL_AUDIO_IN_ERROR_PARAMETER_OUT_OF_RANGE || 0x8002b263 || <br /> |-<br /> | CELL_AUDIO_IN_ERROR_DEVICE_NOT_FOUND || 0x8002b264 || <br /> |-<br /> | CELL_AUDIO_IN_ERROR_UNSUPPORTED_AUDIO_IN || 0x8002b265 || <br /> |-<br /> | CELL_AUDIO_IN_ERROR_UNSUPPORTED_SOUND_MODE || 0x8002b266 || <br /> |-<br /> | CELL_AUDIO_IN_ERROR_CONDITION_BUSY || 0x8002b267 || <br /> |-<br /> |}<br /> <br /> == MsgDialog Error ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_MSGDIALOG_ERROR_PARAM || 0x8002b301 || Parameter is invalid<br /> |-<br /> | CELL_MSGDIALOG_ERROR_DIALOG_NOT_OPENED || 0x8002b302 || The dialogue is not opened<br /> |- <br /> |}<br /> <br /> == SAVEDATA errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_SAVEDATA_ERROR_CBRESULT || 0x8002b401 || <br /> |-<br /> | CELL_SAVEDATA_ERROR_ACCESS_ERROR || 0x8002b402 || <br /> |-<br /> | CELL_SAVEDATA_ERROR_INTERNAL || 0x8002b403 || <br /> |-<br /> | CELL_SAVEDATA_ERROR_PARAM || 0x8002b404 || <br /> |-<br /> | CELL_SAVEDATA_ERROR_NOSPACE || 0x8002b405 || <br /> |-<br /> | CELL_SAVEDATA_ERROR_BROKEN || 0x8002b406 || <br /> |-<br /> | CELL_SAVEDATA_ERROR_FAILURE || 0x8002b407 || <br /> |-<br /> | CELL_SAVEDATA_ERROR_BUSY || 0x8002b408 || <br /> |-<br /> | CELL_SAVEDATA_ERROR_NOUSER || 0x8002b409 || <br /> |-<br /> | CELL_SAVEDATA_ERROR_SIZEOVER || 0x8002b40a || <br /> |-<br /> | CELL_SAVEDATA_ERROR_NODATA || 0x8002b40b || <br /> |-<br /> | CELL_SAVEDATA_ERROR_NOTSUPPORTED || 0x8002b40c || <br /> |-<br /> |}<br /> <br /> == OSKDIALOG errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_OSKDIALOG_ERROR_IME_ALREADY_IN_USE || 0x8002b501 || <br /> |-<br /> | CELL_OSKDIALOG_ERROR_GET_SIZE_ERROR || 0x8002b502 || <br /> |-<br /> | CELL_OSKDIALOG_ERROR_UNKNOWN || 0x8002b503 || <br /> |-<br /> | CELL_OSKDIALOG_ERROR_PARAM || 0x8002b504 || <br /> |-<br /> |}<br /> <br /> == WEBBROWSER errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_WEBBROWSER_ERROR_NOMEM || 0x8002b901 || <br /> |-<br /> | CELL_WEBBROWSER_ERROR_INVALID || 0x8002b902 || <br /> |-<br /> | CELL_WEBBROWSER_ERROR_EXCLUSIVE || 0x8002b903 || <br /> |-<br /> |}<br /> <br /> == SYSCONF errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_SYSCONF_ERROR_PARAM || 0x8002bb01 || <br /> |-<br /> |}<br /> <br /> == SYSCACHE errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_SYSCACHE_ERROR_ACCESS_ERROR || 0x8002bc01 || <br /> |-<br /> | CELL_SYSCACHE_ERROR_INTERNAL || 0x8002bc02 || <br /> |-<br /> | CELL_SYSCACHE_ERROR_PARAM || 0x8002bc03 || <br /> |-<br /> | CELL_SYSCACHE_ERROR_NOTMOUNTED || 0x8002bc04 || <br /> |-<br /> |}<br /> <br /> == STORAGEDATA errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_STORAGEDATA_ERROR_BUSY || 0x8002be01 || <br /> |-<br /> | CELL_STORAGEDATA_ERROR_INTERNAL || 0x8002be02 || <br /> |-<br /> | CELL_STORAGEDATA_ERROR_PARAM || 0x8002be03 || <br /> |-<br /> | CELL_STORAGEDATA_ERROR_ACCESS_ERROR || 0x8002be04 || <br /> |-<br /> | CELL_STORAGEDATA_ERROR_FAILURE || 0x8002be05 || <br /> |-<br /> |}<br /> <br /> == CXML Error ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CXML_RESULT_OK || 0x0 ||<br /> |-<br /> | CXML_RESULT_ERROR_CANT_OPEN || 0x8002E001 ||<br /> |-<br /> | CXML_RESULT_ERROR_CANT_READ || 0x8002E002 ||<br /> |-<br /> | CXML_RESULT_ERROR_CANT_WRITE || 0x8002E003 ||<br /> |-<br /> | CXML_RESULT_ERROR_CANT_SEEK || 0x8002E004 ||<br /> |-<br /> | CXML_RESULT_ERROR_CANT_ALLOC || 0x8002E005 ||<br /> |-<br /> | CXML_RESULT_ERROR_FORMAT || 0x8002E006 ||<br /> |-<br /> | CXML_RESULT_ERROR_VERSION || 0x8002E007 ||<br /> |-<br /> | CXML_RESULT_ERROR_INVALID_NODE || 0x8002E008 ||<br /> |-<br /> | CXML_RESULT_ERROR_NOT_ENOUGH_BUF || 0x8002E009 ||<br /> |-<br /> | CXML_RESULT_ERROR_ACCESS_MODE || 0x8002E010 ||<br /> |-<br /> | CXML_RESULT_ERROR_NOT_EXIST || 0x8002E011 ||<br /> |-<br /> | CXML_RESULT_ERROR_TYPE || 0x8002E012 ||<br /> |-<br /> | CXML_RESULT_ERROR_CANT_MODIFY || 0x8002E013 ||<br /> |-<br /> | CXML_RESULT_ERROR_NO_ALLOCATOR || 0x8002E014 ||<br /> |-<br /> |}<br /> <br /> == Media? Player Video Player Error ==<br /> <br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | MP_SUCCESS|| 0x0 || <br /> |-<br /> | MP_VP_ERROR|| 0x80028801 || &quot;This content cannot be played.&quot; Related with [PARAM.SFO#CATEGORY_For_Disc_contents | fake Blu-Ray discs] and video.<br /> |-<br /> | MP_VP_NO_MORE_ITEM_ERROR|| 0x80028802 || <br /> |-<br /> | MP_VP_DATA_TOP_ERROR|| 0x80028803 || <br /> |-<br /> | MP_VP_DATA_END_ERROR|| 0x80028804 || <br /> |-<br /> | MP_VP_NO_DATA_ERROR|| 0x80028805 || <br /> |-<br /> | MP_VP_BUFFER_FULL_ERROR||0x80028806 || <br /> |-<br /> | MP_VP_FILE_OPEN_ERROR || 0x80028807 || <br /> |-<br /> | MP_VP_FILE_READ_ERROR|| 0x80028808 || <br /> |-<br /> | MP_VP_FILE_SEEK_ERROR|| 0x80028809 || <br /> |-<br /> | MP_VP_NO_SUPPORTED_ERROR || 0x8002880A || <br /> |-<br /> | MP_VP_DECODE_ERROR || 0x8002880B || <br /> |-<br /> | MP_VP_V_DECODE_ERROR || 0x8002880C || <br /> |-<br /> | MP_VP_A_DECODE_ERROR|| 0x8002880D || <br /> |-<br /> | MP_VP_DATA_SET_FAILED_ERROR|| 0x8002880E || <br /> |-<br /> | MP_VP_NOTFOUND_NEXT_DATA_ERROR||0x8002880F || <br /> |-<br /> | MP_VP_NOTFOUND_PREV_DATA_ERROR|| 0x80028810 || <br /> |-<br /> | MP_VP_ANALYZE_ERROR || 0x80028811 || <br /> |-<br /> | MP_VP_LACK_OF_BUFFER_ERROR ||0x80028812 || <br /> |-<br /> | MP_VP_LICENSE_ERROR || 0x80028813 || <br /> |-<br /> | MP_VP_LICENSE_NOT_YET_AVAILABLE_ERROR || 0x80028814 || <br /> |-<br /> | MP_VP_LICENSE_EXPIRED_ERROR|| 0x80028815 || <br /> |-<br /> | MP_VP_LICENSE_VOID_SECURE_CLOCK_ERROR || 0x80028816 || <br /> |-<br /> | MP_VP_GET_PICTURE_ERROR|| 0x80028817 || <br /> |-<br /> | MP_VP_VPOST_ERROR|| 0x80028818 || <br /> |-<br /> | MP_VP_IMAGE_LOAD_FAILED_ERROR || 0x80028819 || <br /> |-<br /> | MP_VP_NO_EXECUTE_ERROR|| 0x80028881 || <br /> |-<br /> | MP_VP_OUT_OF_RANGE_ERROR|| 0x8002888D || <br /> |-<br /> | MP_VP_FILE_NOT_EXIST_ERROR || 0x80028882 || <br /> |-<br /> | MP_VP_LICENSE_EXCLUDED_ERROR|| 0x80028883 || <br /> |-<br /> | MP_VP_CREATE_SHORT_ICON_ERROR || 0x80028884 || <br /> |-<br /> | MP_VP_CREATE_ICON_ERROR|| 0x80028885 || <br /> |-<br /> | MP_VP_VTRM_BROKEN_ERROR|| 0x80028886 || <br /> |-<br /> | MP_VP_INCOMPAT_ADAPTER_ERROR|| 0x80028887 || MagicGate device required<br /> |-<br /> | MP_VP_MEDIA_INCOMPAT_ERROR|| 0x80028888 || <br /> |-<br /> | MP_VP_GID_NO_SET_ERROR|| 0x80028889 || <br /> |-<br /> | MP_VP_PREMATURE_GID_ERROR|| 0x8002888A || <br /> |-<br /> | MP_VP_BELATED_GID_ERROR|| 0x8002888B || <br /> |-<br /> | MP_VP_PSN_NOLICENSE_ERROR|| 0x8002888E || Authenticate via PsStore<br /> |-<br /> | MP_VP_PSN_NEED_ACTIVATION_ERROR|| 0x8002888F || Need Certification<br /> |-<br /> | MP_VP_PSN_UNEXPECTED_AIV_ERROR|| 0x80028890 || Wrong Certification Data<br /> |-<br /> | MP_VP_INVALID_FORMAT_ERROR || 0x80028891 || <br /> |-<br /> | MP_VP_ACCESS_DENIED_ERROR|| 0x80028892 || <br /> |-<br /> | MP_VP_HTTP_SERVER_NOT_FOUND_ERROR|| 0x80028893 || <br /> |-<br /> | MP_VP_HTTP_GENERIC_ERROR || 0x80028894 || HTTP MediaServer Error<br /> |-<br /> | MP_VP_NOT_ENOUGH_MEMORY_ERROR|| 0x80028895 || <br /> |-<br /> | MP_VP_NO_AUDIO_STREAM_ERROR || 0x80028896 || No Audio<br /> |-<br /> | MP_VP_NO_SUBTITLE_ERROR || 0x80028897 || No Subtitle<br /> |-<br /> | MP_VP_NETWORK_ERROR|| 0x80028898 || <br /> |-<br /> | MP_VP_A_ENCODE_ERROR|| 0x80028899 || <br /> |-<br /> | MP_VP_V_ENCODE_ERROR|| 0x8002889A || <br /> |-<br /> | MP_VP_FILE_WRITE_ERROR || 0x8002889B || <br /> |-<br /> | MP_VP_FILE_WRITE_RES_ERROR||0x8002889C || <br /> |-<br /> | MP_VP_S_DECODE_ERROR|| 0x8002889D || <br /> |-<br /> | MP_VP_FILE_IO_CANCELLED_ERROR || 0x8002889E || <br /> |-<br /> | MP_VP_HTTP_CONTENT_NOT_FOUND_ERROR|| 0x8002889F || <br /> |-<br /> | MP_VP_EXPIRED_ERROR|| 0x800288A0 || <br /> |-<br /> | MP_VP_WMA_NOT_ENABLED_ERROR || 0x800288A1 || WMA Playback not enabled.<br /> |-<br /> | MP_VP_ACCESS_NOT_DOWNLOADED_AREA_ERROR|| 0x800288A2 || <br /> |-<br /> | MP_VP_DTCP_IP_AUTH_INVALID_HOSTNAME_ERROR|| 0x800288A3 || <br /> |-<br /> | MP_VP_DTCP_IP_AUTH_SERVER_NOT_FOUND_ERROR||0x800288A4 || <br /> |-<br /> | MP_VP_DTCP_IP_AUTH_CANNOT_ACCESS_ERROR|| 0x800288A5 || <br /> |-<br /> | MP_VP_DTCP_IP_AUTH_FAILED_ERROR|| 0x800288A6 || <br /> |-<br /> | MP_VP_DTCP_IP_AUTH_FAILED_ERROR_WLAN|| 0x800288A7 || DTCPIP Error set WEP/WPA <br /> |-<br /> | MP_VP_DTCP_IP_DEVCERT_EXPIRED_ERROR|| 0x800288A8 || <br /> |-<br /> | MP_VP_DTCP_IP_INVALID_URL_ERROR || 0x800288A9 || <br /> |-<br /> | MP_VP_DTCP_IP_KM_NEED_ACTIVATE_ERROR|| 0x800288AA || <br /> |-<br /> | MP_VP_DTCP_IP_KM_NEED_UPDATE_ERROR|| 0x800288AB || <br /> |-<br /> | MP_VP_DTCP_IP_KM_FATAL_ERROR|| 0x800288AC || <br /> |-<br /> | MP_VP_DTCP_IP_KM_FATAL_ERROR_REGISTRY|| 0x800288AD || <br /> |-<br /> | MP_VP_DTCP_IP_KM_FATAL_ERROR_BUFFER|| 0x800288AE || <br /> |-<br /> | MP_VP_DTCP_IP_KM_FATAL_ERROR_SRM||0x800288AF || <br /> |-<br /> | MP_VP_DTCP_IP_KM_NEED_CLOCK_SETUP_ERROR || 0x800288B0 || <br /> |-<br /> | MP_VP_HTTP_SEEK_NOT_ALLOWED_ERROR|| 0x800288B1 || <br /> |-<br /> | MP_VP_DTCP_IP_UNKNOWN_ERROR || 0x800288B2 || <br /> |-<br /> | MP_VP_DTCP_IP_INVALID_ARG_ERROR|| 0x800288B3 || <br /> |-<br /> | MP_VP_DTCP_IP_INVALID_STATE_ERROR|| 0x800288B4 || <br /> |-<br /> | MP_VP_DTCP_IP_NOT_IMPLEMENTED_ERROR|| 0x800288B5 || <br /> |-<br /> | MP_VP_DTCP_IP_INTERNAL_ERROR || 0x800288B6 || <br /> |-<br /> | MP_VP_DTCP_IP_STREAM_GENERIC_ERROR||0x800288B7 || <br /> |-<br /> | MP_VP_REGISTRY_ERROR|| 0x800288B8 || <br /> |-<br /> | MP_VP_HDCP_OFF_ERROR|| 0x800288B9 || <br /> |-<br /> | MP_VP_DTCP_IP_EMI_CCI_ERROR|| 0x800288BA || <br /> |-<br /> | MP_VP_NET_CTL_ERROR||0x800288BB || <br /> |-<br /> | MP_VP_NO_SUPPORTED_ERROR_PICTURE_TOO_LARGE|| 0x800288BC || <br /> |-<br /> | MP_VP_NO_SUPPORTED_ERROR_PICTURE_TOO_SMALL|| 0x800288BD || <br /> |-<br /> | MP_VP_NO_SUPPORTED_ERROR_PROFILE||0x800288BE || <br /> |-<br /> | MP_VP_NO_SUPPORTED_ERROR_TOOL || 0x800288BF || <br /> |-<br /> | MP_VP_NO_SUPPORTED_ERROR_VIDEO_CODEC || 0x800288C0 || &quot;The data type is not supported.&quot; Related to video.<br /> |-<br /> | MP_VP_NO_SUPPORTED_ERROR_AUDIO_CODEC|| 0x800288C1 || <br /> |-<br /> | MP_VP_NO_SUPPORTED_ERROR_AU_SIZE ||0x800288C2 || <br /> |-<br /> | MP_VP_HTTP_NO_CONTENT_LENGTH_ERROR|| 0x800288C3 || <br /> |-<br /> | MP_VP_DIGITAL_ONLY_ERROR|| 0x800288C4 || Cannot output video other than hdmi<br /> |-<br /> | MP_VP_PSN_UNSUPPORTED_DEVICE_ERROR|| 0x800288C5 || <br /> |-<br /> | MP_VP_DIVX_DRM_RENTAL_EXPIRED_ERROR||0x800288C6 || divx vod rental expired<br /> |-<br /> | MP_VP_DIVX_DRM_AUTHORIZATION_ERROR ||0x800288C7 || divx vod reg visit website<br /> |-<br /> | MP_VP_CANNOT_PLAY_CONTENT_ERROR || 0x800288C8 || <br /> |-<br /> | MP_VP_NO_SUPPORTED_ERROR_BRAND || 0x800288C9 || <br /> |-<br /> | MP_VP_NO_SUPPORTED_ERROR_DURATION_TOO_LONG|| 0x800288CF || <br /> |-<br /> | MP_VP_NO_SUPPORTED_ERROR_TRACKS_TOO_MANY|| 0x800288D0 || <br /> |-<br /> | MP_VP_NO_SUPPORTED_ERROR_LICENSE||0x800288D1 || <br /> |-<br /> | MP_VP_NO_SUPPORTED_ERROR_MVP_SEPARATED_PVL ||0x800288D2 || <br /> |-<br /> | MP_VP_NO_SUPPORTED_ERROR_PROHIBITED_DAO|| 0x800288D3 || <br /> |-<br /> | MP_VP_NO_SUPPORTED_ERROR_FORMAT_VERSION || 0x800288D4 || <br /> |-<br /> | MP_VP_NO_SUPPORTED_ERROR_MEDIA|| 0x800288D5 || <br /> |-<br /> | MP_VP_NO_SUPPORTED_ERROR_64BIT_BOXSIZE|| 0x800288D6 || <br /> |-<br /> | MP_VP_CONTENTS_NOT_EXIST_ERROR ||0x800288CA || <br /> |-<br /> | MP_VP_NO_NEXT_CONTENTS_ERROR|| 0x800288CC || <br /> |-<br /> | MP_VP_NO_PREV_CONTENTS_ERROR ||0x800288CD || <br /> |-<br /> | MP_VP_SEQUENTIAL_PLAY_NOT_ALLOWED_ERROR||0x800288D7 || <br /> |-<br /> | MP_VP_DELETE_CONTENTS_ERROR|| 0x800288DA || <br /> |-<br /> | MP_VP_AACS_WM_TRUSTED_SOURCE_STATE_ERROR|| 0x800288DB || <br /> |-<br /> | MP_VP_AACS_WM_NO_HOME_USE_ERROR || 0x800288DC || cinavia msg code 1<br /> |-<br /> | MP_VP_NO_SUPPORTED_ERROR_SCREEN_SAVER|| 0x800288DE || <br /> |-<br /> | MP_VP_SELFLICENSE_NONE_ERROR|| 0x800288DF || Content owner account signin please<br /> |-<br /> | MP_VP_NOT_SUPPORT_REMOTEPLAY_ERROR|| 0x800288E0 || Content does not support remoteplay<br /> |-<br /> | MP_VP_READ_FIRST_BLOCK_SIZE_0_ERROR|| 0x800288E1 || <br /> |-<br /> | MP_VP_DTCP_IP_CABLE_NOT_CONNECTED_ERROR|| 0x800288E2 || <br /> |-<br /> | MP_VP_FILE_IO_TIMEOUT_ERROR|| 0x800288E3 || <br /> |-<br /> |}<br /> <br /> == DMA errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_DMA_ERROR_INVAL || 0x80410002 || <br /> |-<br /> |}<br /> <br /> == SYNC errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_SYNC_ERROR_AGAIN || 0x80410101 || <br /> |-<br /> | CELL_SYNC_ERROR_INVAL || 0x80410102 || <br /> |-<br /> | CELL_SYNC_ERROR_NOSYS || 0x80410103 || <br /> |-<br /> | CELL_SYNC_ERROR_NOMEM || 0x80410104 || <br /> |-<br /> | CELL_SYNC_ERROR_SRCH || 0x80410105 || <br /> |-<br /> | CELL_SYNC_ERROR_NOENT || 0x80410106 || <br /> |-<br /> | CELL_SYNC_ERROR_NOEXEC || 0x80410107 || <br /> |-<br /> | CELL_SYNC_ERROR_DEADLK || 0x80410108 || <br /> |-<br /> | CELL_SYNC_ERROR_PERM || 0x80410109 || <br /> |-<br /> | CELL_SYNC_ERROR_BUSY || 0x8041010A || <br /> |-<br /> | CELL_SYNC_ERROR_ABORT || 0x8041010C || <br /> |-<br /> | CELL_SYNC_ERROR_FAULT || 0x8041010D || <br /> |-<br /> | CELL_SYNC_ERROR_CHILD || 0x8041010E || <br /> |-<br /> | CELL_SYNC_ERROR_STAT || 0x8041010F || <br /> |-<br /> | CELL_SYNC_ERROR_ALIGN || 0x80410110 || <br /> |-<br /> | CELL_SYNC_ERROR_NULL_POINTER || 0x80410111 || <br /> |-<br /> | CELL_SYNC_ERROR_SHOTAGE || 0x80410112 || <br /> |-<br /> | CELL_SYNC_ERROR_UNKNOWNKEY || 0x80410113 || <br /> |-<br /> |}<br /> <br /> == SHEAP errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_SHEAP_ERROR_AGAIN || 0x80410301 || The resource is temporarily unavailable<br /> |-<br /> | CELL_SHEAP_ERROR_INVAL || 0x80410302 || An invalid argument value is specified<br /> |-<br /> | CELL_SHEAP_ERROR_NOSYS || 0x80410303 || The feature is not yet implemented<br /> |-<br /> | CELL_SHEAP_ERROR_NOMEM || 0x80410304 || Memory allocation failure<br /> |-<br /> | CELL_SHEAP_ERROR_SRCH || 0x80410305 || The resource (process, thread, sheaphronous object, etc) with the specified identifier does not exist.<br /> |-<br /> | CELL_SHEAP_ERROR_NOENT || 0x80410306 || The file does not exist<br /> |-<br /> | CELL_SHEAP_ERROR_NOEXEC || 0x80410307 || The file is not a valid ELF file. (The file is in unrecognized format.)<br /> |-<br /> | CELL_SHEAP_ERROR_DEADLK || 0x80410308 || Resource deadlock is avoided<br /> |-<br /> | CELL_SHEAP_ERROR_PERM || 0x80410309 || The operation is not permitted<br /> |-<br /> | CELL_SHEAP_ERROR_BUSY || 0x8041030A || The device or resource is busy<br /> |-<br /> | CELL_SHEAP_ERROR_ABORT || 0x8041030C || The operation is aborted<br /> |-<br /> | CELL_SHEAP_ERROR_FAULT || 0x8041030D || Invalid memory access<br /> |-<br /> | CELL_SHEAP_ERROR_CHILD || 0x8041030E || Failed in awaiting a child, or no such child exists<br /> |-<br /> | CELL_SHEAP_ERROR_STAT || 0x8041030F || State of the target thread is invalid<br /> |-<br /> | CELL_SHEAP_ERROR_ALIGN || 0x80410310 || Alignment is invalid<br /> |-<br /> | CELL_SHEAP_ERROR_KRESOURCE || 0x80410311 || Shortage of the kernel resources<br /> |-<br /> | CELL_SHEAP_ERROR_SHORTAGE || 0x80410312 || Shortage of the kernel resources<br /> |-<br /> | CELL_SHEAP_ERROR_UNKNOWNKEY || 0x80410313 || Shortage of the kernel resources<br /> |-<br /> |}<br /> <br /> == OVIS errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_OVIS_ERROR_INVAL || 0x80410402 || An invalid argument value is specified.<br /> |-<br /> | CELL_OVIS_ERROR_ABORT || 0x8041040C || <br /> |-<br /> | CELL_OVIS_ERROR_ALIGN || 0x80410416 || Alignment is invalid<br /> |-<br /> |}<br /> <br /> == Daisy errors (libdaisy) ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_DAISY_ERROR_NO_BEGIN || 0x80410501 || <br /> |-<br /> | CELL_DAISY_ERROR_INVALID_PORT_ATTACH || 0x80410502 || <br /> |-<br /> | CELL_DAISY_ERROR_NOT_IMPLEMENTED || 0x80410503 || <br /> |-<br /> | CELL_DAISY_ERROR_PERM || 0x80410509 || <br /> |-<br /> | CELL_DAISY_ERROR_STAT || 0x8041050f || <br /> |-<br /> | CELL_DAISY_ERROR_AGAIN || 0x80410511 || <br /> |-<br /> | CELL_DAISY_ERROR_INVAL || 0x80410512 || <br /> |-<br /> | CELL_DAISY_ERROR_BUSY || 0x8041051a || <br /> |-<br /> |}<br /> <br /> == SPUDLL errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_SPUDLL_ERROR_AGAIN || 0x80410601 || <br /> |-<br /> | CELL_SPUDLL_ERROR_INVAL || 0x80410602 || <br /> |-<br /> | CELL_SPUDLL_ERROR_NOSYS || 0x80410603 || <br /> |-<br /> | CELL_SPUDLL_ERROR_NOMEM || 0x80410604 || <br /> |-<br /> | CELL_SPUDLL_ERROR_SRCH || 0x80410605 || <br /> |-<br /> | CELL_SPUDLL_ERROR_NOENT || 0x80410606 || <br /> |-<br /> | CELL_SPUDLL_ERROR_NOEXEC || 0x80410607 || <br /> |-<br /> | CELL_SPUDLL_ERROR_DEADLK || 0x80410608 || <br /> |-<br /> | CELL_SPUDLL_ERROR_PERM || 0x80410609 || <br /> |-<br /> | CELL_SPUDLL_ERROR_BUSY || 0x8041060a || <br /> |-<br /> | CELL_SPUDLL_ERROR_ABORT || 0x8041060c || <br /> |-<br /> | CELL_SPUDLL_ERROR_FAULT || 0x8041060d || <br /> |-<br /> | CELL_SPUDLL_ERROR_CHILD || 0x8041060e || <br /> |-<br /> | CELL_SPUDLL_ERROR_STAT || 0x8041060f || <br /> |-<br /> | CELL_SPUDLL_ERROR_ALIGN || 0x80410610 || <br /> |-<br /> | CELL_SPUDLL_ERROR_NULL_POINTER || 0x80410611 || <br /> |-<br /> | CELL_SPUDLL_ERROR_UNDEF || 0x80410612 || <br /> |-<br /> | CELL_SPUDLL_ERROR_FATAL || 0x80410613 || <br /> |-<br /> |}<br /> <br /> == SPURS errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_SPURS_CORE_ERROR_AGAIN || 0x80410701 || <br /> |-<br /> | CELL_SPURS_CORE_ERROR_INVAL || 0x80410702 || <br /> |-<br /> | CELL_SPURS_CORE_ERROR_NOSYS || 0x80410703 || <br /> |-<br /> | CELL_SPURS_CORE_ERROR_NOMEM || 0x80410704 || <br /> |-<br /> | CELL_SPURS_CORE_ERROR_SRCH || 0x80410705 || <br /> |-<br /> | CELL_SPURS_CORE_ERROR_NOENT || 0x80410706 || <br /> |-<br /> | CELL_SPURS_CORE_ERROR_NOEXEC || 0x80410707 || <br /> |-<br /> | CELL_SPURS_CORE_ERROR_DEADLK || 0x80410708 || <br /> |-<br /> | CELL_SPURS_CORE_ERROR_PERM || 0x80410709 || <br /> |-<br /> | CELL_SPURS_CORE_ERROR_BUSY || 0x8041070A || <br /> |-<br /> | CELL_SPURS_CORE_ERROR_ABORT || 0x8041070C || <br /> |-<br /> | CELL_SPURS_CORE_ERROR_FAULT || 0x8041070D || <br /> |-<br /> | CELL_SPURS_CORE_ERROR_CHILD || 0x8041070E || <br /> |-<br /> | CELL_SPURS_CORE_ERROR_STAT || 0x8041070F || <br /> |-<br /> | CELL_SPURS_CORE_ERROR_ALIGN || 0x80410710 || <br /> |-<br /> | CELL_SPURS_CORE_ERROR_NULL_POINTER || 0x80410711 || <br /> |-<br /> | CELL_SPURS_POLICY_MODULE_ERROR_AGAIN || 0x80410801 || <br /> |-<br /> | CELL_SPURS_POLICY_MODULE_ERROR_INVAL || 0x80410802 || <br /> |-<br /> | CELL_SPURS_POLICY_MODULE_ERROR_NOSYS || 0x80410803 || <br /> |-<br /> | CELL_SPURS_POLICY_MODULE_ERROR_NOMEM || 0x80410804 || <br /> |-<br /> | CELL_SPURS_POLICY_MODULE_ERROR_SRCH || 0x80410805 || <br /> |-<br /> | CELL_SPURS_POLICY_MODULE_ERROR_NOENT || 0x80410806 || <br /> |-<br /> | CELL_SPURS_POLICY_MODULE_ERROR_NOEXEC || 0x80410807 || <br /> |-<br /> | CELL_SPURS_POLICY_MODULE_ERROR_DEADLK || 0x80410808 || <br /> |-<br /> | CELL_SPURS_POLICY_MODULE_ERROR_PERM || 0x80410809 || <br /> |-<br /> | CELL_SPURS_POLICY_MODULE_ERROR_BUSY || 0x8041080A || <br /> |-<br /> | CELL_SPURS_POLICY_MODULE_ERROR_ABORT || 0x8041080C || <br /> |-<br /> | CELL_SPURS_POLICY_MODULE_ERROR_FAULT || 0x8041080D || <br /> |-<br /> | CELL_SPURS_POLICY_MODULE_ERROR_CHILD || 0x8041080E || <br /> |-<br /> | CELL_SPURS_POLICY_MODULE_ERROR_STAT || 0x8041080F || <br /> |-<br /> | CELL_SPURS_POLICY_MODULE_ERROR_ALIGN || 0x80410810 || <br /> |-<br /> | CELL_SPURS_POLICY_MODULE_ERROR_NULL_POINTER || 0x80410811 || <br /> |-<br /> | CELL_SPURS_TASK_ERROR_AGAIN || 0x80410901 || <br /> |-<br /> | CELL_SPURS_TASK_ERROR_INVAL || 0x80410902 || <br /> |-<br /> | CELL_SPURS_TASK_ERROR_NOSYS || 0x80410903 || <br /> |-<br /> | CELL_SPURS_TASK_ERROR_NOMEM || 0x80410904 || <br /> |-<br /> | CELL_SPURS_TASK_ERROR_SRCH || 0x80410905 || <br /> |-<br /> | CELL_SPURS_TASK_ERROR_NOENT || 0x80410906 || <br /> |-<br /> | CELL_SPURS_TASK_ERROR_NOEXEC || 0x80410907 || <br /> |-<br /> | CELL_SPURS_TASK_ERROR_DEADLK || 0x80410908 || <br /> |-<br /> | CELL_SPURS_TASK_ERROR_PERM || 0x80410909 || <br /> |-<br /> | CELL_SPURS_TASK_ERROR_BUSY || 0x8041090A || <br /> |-<br /> | CELL_SPURS_TASK_ERROR_ABORT || 0x8041090C || <br /> |-<br /> | CELL_SPURS_TASK_ERROR_FAULT || 0x8041090D || <br /> |-<br /> | CELL_SPURS_TASK_ERROR_CHILD || 0x8041090E || <br /> |-<br /> | CELL_SPURS_TASK_ERROR_STAT || 0x8041090F || <br /> |-<br /> | CELL_SPURS_TASK_ERROR_ALIGN || 0x80410910 || <br /> |-<br /> | CELL_SPURS_TASK_ERROR_NULL_POINTER || 0x80410911 || <br /> |-<br /> | CELL_SPURS_TASK_ERROR_FATAL || 0x80410914 || <br /> |-<br /> | CELL_SPURS_TASK_ERROR_SHUTDOWN || 0x80410920 || <br /> |-<br /> | CELL_SPURS_JOB_ERROR_AGAIN || 0x80410A01 || <br /> |-<br /> | CELL_SPURS_JOB_ERROR_INVAL || 0x80410A02 || <br /> |-<br /> | CELL_SPURS_JOB_ERROR_NOSYS || 0x80410A03 || <br /> |-<br /> | CELL_SPURS_JOB_ERROR_NOMEM || 0x80410A04 || <br /> |-<br /> | CELL_SPURS_JOB_ERROR_SRCH || 0x80410A05 || <br /> |-<br /> | CELL_SPURS_JOB_ERROR_NOENT || 0x80410A06 || <br /> |-<br /> | CELL_SPURS_JOB_ERROR_NOEXEC || 0x80410A07 || <br /> |-<br /> | CELL_SPURS_JOB_ERROR_DEADLK || 0x80410A08 || <br /> |-<br /> | CELL_SPURS_JOB_ERROR_PERM || 0x80410A09 || <br /> |-<br /> | CELL_SPURS_JOB_ERROR_BUSY || 0x80410A0A || <br /> |-<br /> | CELL_SPURS_JOB_ERROR_JOB_DESCRIPTOR || 0x80410A0B || <br /> |-<br /> | CELL_SPURS_JOB_ERROR_JOB_DESCRIPTOR_SIZE || 0x80410A0C || <br /> |-<br /> | CELL_SPURS_JOB_ERROR_FAULT || 0x80410A0D || <br /> |-<br /> | CELL_SPURS_JOB_ERROR_CHILD || 0x80410A0E || <br /> |-<br /> | CELL_SPURS_JOB_ERROR_STAT || 0x80410A0F || <br /> |-<br /> | CELL_SPURS_JOB_ERROR_ALIGN || 0x80410A10 || <br /> |-<br /> | CELL_SPURS_JOB_ERROR_NULL_POINTER || 0x80410A11 || <br /> |-<br /> | CELL_SPURS_JOB_ERROR_MEMORY_CORRUPTED || 0x80410A12 || <br /> |-<br /> | CELL_SPURS_JOB_ERROR_MEMORY_SIZE || 0x80410A17 || <br /> |-<br /> | CELL_SPURS_JOB_ERROR_UNKNOWN_COMMAND || 0x80410A18 || <br /> |-<br /> | CELL_SPURS_JOB_ERROR_JOBLIST_ALIGNMENT || 0x80410A19 || <br /> |-<br /> | CELL_SPURS_JOB_ERROR_JOB_ALIGNMENT || 0x80410A1a || <br /> |-<br /> | CELL_SPURS_JOB_ERROR_CALL_OVERFLOW || 0x80410A1b || <br /> |-<br /> | CELL_SPURS_JOB_ERROR_ABORT || 0x80410A1c || <br /> |-<br /> | CELL_SPURS_JOB_ERROR_DMALIST_ELEMENT || 0x80410A1d || <br /> |-<br /> | CELL_SPURS_JOB_ERROR_NUM_CACHE || 0x80410A1e || <br /> |-<br /> | CELL_SPURS_JOB_ERROR_INVALID_BINARY || 0x80410A1f || <br /> |-<br /> |}<br /> <br /> == SWCACHE errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_SWCACHE_ERROR_AGAIN || 0x80410b01 || <br /> |-<br /> | CELL_SWCACHE_ERROR_INVAL || 0x80410b02 || <br /> |-<br /> | CELL_SWCACHE_ERROR_NOSYS || 0x80410b03 || <br /> |-<br /> | CELL_SWCACHE_ERROR_NOMEM || 0x80410b04 || <br /> |-<br /> | CELL_SWCACHE_ERROR_SRCH || 0x80410b05 || <br /> |-<br /> | CELL_SWCACHE_ERROR_NOENT || 0x80410b06 || <br /> |-<br /> | CELL_SWCACHE_ERROR_NOEXEC || 0x80410b07 || <br /> |-<br /> | CELL_SWCACHE_ERROR_DEADLK || 0x80410b08 || <br /> |-<br /> | CELL_SWCACHE_ERROR_PERM || 0x80410b09 || <br /> |-<br /> | CELL_SWCACHE_ERROR_BUSY || 0x80410b0A || <br /> |-<br /> | CELL_SWCACHE_ERROR_ABORT || 0x80410b0C || <br /> |-<br /> | CELL_SWCACHE_ERROR_FAULT || 0x80410b0D || <br /> |-<br /> | CELL_SWCACHE_ERROR_CHILD || 0x80410b0E || <br /> |-<br /> | CELL_SWCACHE_ERROR_STAT || 0x80410b0F || <br /> |-<br /> | CELL_SWCACHE_ERROR_ALIGN || 0x80410b10 || <br /> |-<br /> | CELL_SWCACHE_ERROR_NULL_POINTER || 0x80410b11 || <br /> |-<br /> | CELL_SWCACHE_ERROR_NON_CACHED_POINTER || 0x80410b12 || <br /> |-<br /> | CELL_SWCACHE_ERROR_NO_HTAB || 0x80410b13 || <br /> |-<br /> | CELL_SWCACHE_ERROR_MEM_LEAKED || 0x80410b14 || <br /> |-<br /> | CELL_SWCACHE_ERROR_VTAB || 0x80410b15 || <br /> |-<br /> |}<br /> <br /> == SYNC2 errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_SYNC2_ERROR_AGAIN || 0x80410C01 || <br /> |-<br /> | CELL_SYNC2_ERROR_INVAL || 0x80410C02 || <br /> |-<br /> | CELL_SYNC2_ERROR_NOSYS || 0x80410C03 || <br /> |-<br /> | CELL_SYNC2_ERROR_NOMEM || 0x80410C04 || <br /> |-<br /> | CELL_SYNC2_ERROR_SRCH || 0x80410C05 || <br /> |-<br /> | CELL_SYNC2_ERROR_NOENT || 0x80410C06 || <br /> |-<br /> | CELL_SYNC2_ERROR_NOEXEC || 0x80410C07 || <br /> |-<br /> | CELL_SYNC2_ERROR_DEADLK || 0x80410C08 || <br /> |-<br /> | CELL_SYNC2_ERROR_PERM || 0x80410C09 || <br /> |-<br /> | CELL_SYNC2_ERROR_BUSY || 0x80410C0A || <br /> |-<br /> | CELL_SYNC2_ERROR_ABORT || 0x80410C0C || <br /> |-<br /> | CELL_SYNC2_ERROR_FAULT || 0x80410C0D || <br /> |-<br /> | CELL_SYNC2_ERROR_INTR || 0x80410C0E || <br /> |-<br /> | CELL_SYNC2_ERROR_STAT || 0x80410C0F || <br /> |-<br /> | CELL_SYNC2_ERROR_ALIGN || 0x80410C10 || <br /> |-<br /> | CELL_SYNC2_ERROR_NULL_POINTER || 0x80410C11 || <br /> |-<br /> | CELL_SYNC2_ERROR_NOT_SUPPORTED_THREAD || 0x80410C12 || <br /> |-<br /> | CELL_SYNC2_ERROR_NO_NOTIFIER || 0x80410C13 || <br /> |-<br /> | CELL_SYNC2_ERROR_NO_SPU_CONTEXT_STORAGE || 0x80410C14 || <br /> |-<br /> |}<br /> <br /> == Fiber errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_FIBER_ERROR_AGAIN || 0x80760001 || <br /> |-<br /> | CELL_FIBER_ERROR_INVAL || 0x80760002 || <br /> |-<br /> | CELL_FIBER_ERROR_NOSYS || 0x80760003 || <br /> |-<br /> | CELL_FIBER_ERROR_NOMEM || 0x80760004 || <br /> |-<br /> | CELL_FIBER_ERROR_SRCH || 0x80760005 || <br /> |-<br /> | CELL_FIBER_ERROR_NOENT || 0x80760006 || <br /> |-<br /> | CELL_FIBER_ERROR_NOEXEC || 0x80760007 || <br /> |-<br /> | CELL_FIBER_ERROR_DEADLK || 0x80760008 || <br /> |-<br /> | CELL_FIBER_ERROR_PERM || 0x80760009 || <br /> |-<br /> | CELL_FIBER_ERROR_BUSY || 0x8076000a || <br /> |-<br /> | CELL_FIBER_ERROR_ABORT || 0x8076000c || <br /> |-<br /> | CELL_FIBER_ERROR_FAULT || 0x8076000d || <br /> |-<br /> | CELL_FIBER_ERROR_CHILD || 0x8076000e || <br /> |-<br /> | CELL_FIBER_ERROR_STAT || 0x8076000f || <br /> |-<br /> | CELL_FIBER_ERROR_ALIGN || 0x80760010 || <br /> |-<br /> | CELL_FIBER_ERROR_NULL_POINTER || 0x80760011 || <br /> |-<br /> | CELL_FIBER_ERROR_NOSYSINIT || 0x80760020 || <br /> |-<br /> |}<br /> <br /> == ADEC errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_ADEC_ERROR_FATAL || 0x80610001 || <br /> |-<br /> | CELL_ADEC_ERROR_SEQ || 0x80610002 || <br /> |-<br /> | CELL_ADEC_ERROR_ARG || 0x80610003 || <br /> |-<br /> | CELL_ADEC_ERROR_BUSY || 0x80610004 || <br /> |-<br /> | CELL_ADEC_ERROR_EMPTY || 0x80610005 || <br /> |-<br /> |}<br /> <br /> == VDEC errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_VDEC_ERROR_ARG || 0x80610101 || <br /> |-<br /> | CELL_VDEC_ERROR_SEQ || 0x80610102 || <br /> |-<br /> | CELL_VDEC_ERROR_BUSY || 0x80610103 || <br /> |-<br /> | CELL_VDEC_ERROR_EMPTY || 0x80610104 || <br /> |-<br /> | CELL_VDEC_ERROR_AU || 0x80610105 || <br /> |-<br /> | CELL_VDEC_ERROR_PIC || 0x80610106 || <br /> |-<br /> | CELL_VDEC_ERROR_FATAL || 0x80610180 || Fatal error occurred with the decoder itself&lt;br /&gt;CELL_VDEC_ERROR_FATAL indicates that an error having to do with the decoder itself occurred. For example, this error will occur if a data structure inside the decoder required for the decoding process becomes inconsistent due to an unknown reason and decoding cannot be continued. Statuses other than CELL_VDEC_ERROR_FATAL indicate that an unexpected error occurred with the OS or library used inside the decoder. In such cases, too, the decoding process cannot be continued. CELL_OK will never be returned for the status. [http://psx-scene.com/forums/f6/article-%5Bupdate%5D-multiman-v4-65-01-base-cex-deanks-showtime-builds-124904/index8.html#post1150131]<br /> |-<br /> |}<br /> <br /> == DMUX errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_DMUX_ERROR_ARG || 0x80610201 || <br /> |-<br /> | CELL_DMUX_ERROR_SEQ || 0x80610202 || <br /> |-<br /> | CELL_DMUX_ERROR_BUSY || 0x80610203 || <br /> |-<br /> | CELL_DMUX_ERROR_EMPTY || 0x80610204 || <br /> |-<br /> | CELL_DMUX_ERROR_FATAL || 0x80610205 || <br /> |-<br /> |}<br /> <br /> == ATRAC errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_ATRAC_ERROR_FACILITY_ATRAC || 0x80610300 || <br /> |-<br /> | CELL_ATRAC_ERROR_API_FAIL || 0x80610301 || <br /> |-<br /> | CELL_ATRAC_ERROR_READSIZE_OVER_BUFFER || 0x80610311 || <br /> |-<br /> | CELL_ATRAC_ERROR_UNKNOWN_FORMAT || 0x80610312 || <br /> |-<br /> | CELL_ATRAC_ERROR_READSIZE_IS_TOO_SMALL || 0x80610313 || <br /> |-<br /> | CELL_ATRAC_ERROR_ILLEGAL_SAMPLING_RATE || 0x80610314 || <br /> |-<br /> | CELL_ATRAC_ERROR_ILLEGAL_DATA || 0x80610315 || <br /> |-<br /> | CELL_ATRAC_ERROR_NO_DECODER || 0x80610321 || <br /> |-<br /> | CELL_ATRAC_ERROR_UNSET_DATA || 0x80610322 || <br /> |-<br /> | CELL_ATRAC_ERROR_DECODER_WAS_CREATED || 0x80610323 || <br /> |-<br /> | CELL_ATRAC_ERROR_ALLDATA_WAS_DECODED || 0x80610331 || <br /> |-<br /> | CELL_ATRAC_ERROR_NODATA_IN_BUFFER || 0x80610332 || <br /> |-<br /> | CELL_ATRAC_ERROR_NOT_ALIGNED_OUT_BUFFER || 0x80610333 || <br /> |-<br /> | CELL_ATRAC_ERROR_NEED_SECOND_BUFFER || 0x80610334 || <br /> |-<br /> | CELL_ATRAC_ERROR_ALLDATA_IS_ONMEMORY || 0x80610341 || <br /> |-<br /> | CELL_ATRAC_ERROR_ADD_DATA_IS_TOO_BIG || 0x80610342 || <br /> |-<br /> | CELL_ATRAC_ERROR_NONEED_SECOND_BUFFER || 0x80610351 || <br /> |-<br /> | CELL_ATRAC_ERROR_UNSET_LOOP_NUM || 0x80610361 || <br /> |-<br /> | CELL_ATRAC_ERROR_ILLEGAL_SAMPLE || 0x80610371 || <br /> |-<br /> | CELL_ATRAC_ERROR_ILLEGAL_RESET_BYTE || 0x80610372 || <br /> |-<br /> | CELL_ATRAC_ERROR_ILLEGAL_PPU_THREAD_PRIORITY || 0x80610381 || <br /> |-<br /> | CELL_ATRAC_ERROR_ILLEGAL_SPU_THREAD_PRIORITY || 0x80610382 || <br /> |-<br /> |}<br /> <br /> == PAMF errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_PAMF_ERROR_STREAM_NOT_FOUND || 0x80610501 || <br /> |-<br /> | CELL_PAMF_ERROR_INVALID_PAMF || 0x80610502 || <br /> |-<br /> | CELL_PAMF_ERROR_INVALID_ARG || 0x80610503 || <br /> |-<br /> | CELL_PAMF_ERROR_UNKNOWN_TYPE || 0x80610504 || <br /> |-<br /> | CELL_PAMF_ERROR_UNSUPPORTED_VERSION || 0x80610505 || <br /> |-<br /> | CELL_PAMF_ERROR_UNKNOWN_STREAM || 0x80610506 || <br /> |-<br /> | CELL_PAMF_ERROR_EP_NOT_FOUND || 0x80610507 || <br /> |-<br /> | CELL_PAMF_ERROR_NOT_AVAILABLE || 0x80610508 || <br /> |-<br /> |}<br /> <br /> == VPOST errors ==<br /> === VPOST Library (PPM) errors ===<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> ! colspan=&quot;3&quot; | for cellVpostQueryAttr()<br /> |-<br /> | CELL_VPOST_ERROR_Q_ARG_CFG_NULL || 0x80610410 || <br /> |-<br /> | CELL_VPOST_ERROR_Q_ARG_CFG_INVALID || 0x80610411 || <br /> |-<br /> | CELL_VPOST_ERROR_Q_ARG_ATTR_NULL || 0x80610412 || <br /> |-<br /> ! colspan=&quot;3&quot; | for cellVpostOpen()<br /> |-<br /> | CELL_VPOST_ERROR_O_ARG_CFG_NULL || 0x80610440 || <br /> |-<br /> | CELL_VPOST_ERROR_O_ARG_CFG_INVALID || 0x80610441 || <br /> |-<br /> | CELL_VPOST_ERROR_O_ARG_RSRC_NULL || 0x80610442 || <br /> |-<br /> | CELL_VPOST_ERROR_O_ARG_RSRC_INVALID || 0x80610443 || <br /> |-<br /> | CELL_VPOST_ERROR_O_ARG_HDL_NULL || 0x80610444 || <br /> |-<br /> | CELL_VPOST_ERROR_O_FATAL_QUERY_FAIL || 0x80610460 || <br /> |-<br /> | CELL_VPOST_ERROR_O_FATAL_CREATEMON_FAIL || 0x80610461 || <br /> |-<br /> | CELL_VPOST_ERROR_O_FATAL_INITSPURS_FAIL || 0x80610462 || <br /> |-<br /> ! colspan=&quot;3&quot; | for cellVpostClose()<br /> |-<br /> | CELL_VPOST_ERROR_C_ARG_HDL_NULL || 0x80610470 || <br /> |-<br /> | CELL_VPOST_ERROR_C_ARG_HDL_INVALID || 0x80610471 || <br /> |-<br /> | CELL_VPOST_ERROR_C_FATAL_LOCKMON_FAIL || 0x80610490 || <br /> |-<br /> | CELL_VPOST_ERROR_C_FATAL_UNLOCKMON_FAIL || 0x80610491 || <br /> |-<br /> | CELL_VPOST_ERROR_C_FATAL_DESTROYMON_FAIL || 0x80610492 || <br /> |-<br /> | CELL_VPOST_ERROR_C_FATAL_FINSPURS_FAIL || 0x80610463 || <br /> |-<br /> ! colspan=&quot;3&quot; | for cellVpostExec()<br /> |-<br /> | CELL_VPOST_ERROR_E_ARG_HDL_NULL || 0x806104a0 || <br /> |-<br /> | CELL_VPOST_ERROR_E_ARG_HDL_INVALID || 0x806104a1 || <br /> |-<br /> | CELL_VPOST_ERROR_E_ARG_INPICBUF_NULL || 0x806104a2 || <br /> |-<br /> | CELL_VPOST_ERROR_E_ARG_INPICBUF_INVALID || 0x806104a3 || <br /> |-<br /> | CELL_VPOST_ERROR_E_ARG_CTRL_NULL || 0x806104a4 || <br /> |-<br /> | CELL_VPOST_ERROR_E_ARG_CTRL_INVALID || 0x806104a5 || <br /> |-<br /> | CELL_VPOST_ERROR_E_ARG_OUTPICBUF_NULL || 0x806104a6 || <br /> |-<br /> | CELL_VPOST_ERROR_E_ARG_OUTPICBUF_INVALID || 0x806104a7 || <br /> |-<br /> | CELL_VPOST_ERROR_E_ARG_PICINFO_NULL || 0x806104a8 || <br /> |-<br /> | CELL_VPOST_ERROR_E_FATAL_LOCKMON_FAIL || 0x806104c0 || <br /> |-<br /> | CELL_VPOST_ERROR_E_FATAL_UNLOCKMON_FAIL || 0x806104c1 || <br /> |-<br /> |}<br /> <br /> === VPOST Library (Entry Module) errors ===<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> ! colspan=&quot;3&quot; | for cellVpostEntQueryAttr()<br /> |-<br /> | CELL_VPOST_ENT_ERROR_Q_ARG_ATTR_NULL || 0x80618110 || <br /> |-<br /> ! colspan=&quot;3&quot; | for cellVpostEntOpen()<br /> |-<br /> | CELL_VPOST_ENT_ERROR_O_ARG_RSRC_NULL || 0x80618140 || <br /> |-<br /> | CELL_VPOST_ENT_ERROR_O_ARG_RSRC_INVALID || 0x80618141 || <br /> |-<br /> | CELL_VPOST_ENT_ERROR_O_ARG_HDL_NULL || 0x80618142 || <br /> |-<br /> | CELL_VPOST_ENT_ERROR_O_FATAL_QUERY_FAIL || 0x80618160 || <br /> |-<br /> | CELL_VPOST_ENT_ERROR_O_FATAL_CSPUCORE_FAIL || 0x80618161 || <br /> |-<br /> ! colspan=&quot;3&quot; | for cellVpostEntClose()<br /> |-<br /> | CELL_VPOST_ENT_ERROR_C_ARG_HDL_NULL || 0x80618170 || <br /> |-<br /> | CELL_VPOST_ENT_ERROR_C_ARG_HDL_INVALID || 0x80618171 || <br /> |-<br /> | CELL_VPOST_ENT_ERROR_C_FATAL_SNDCMD_FAIL || 0x80618190 || <br /> |-<br /> | CELL_VPOST_ENT_ERROR_C_FATAL_RCVRES_FAIL || 0x80618191 || <br /> |-<br /> | CELL_VPOST_ENT_ERROR_C_FATAL_DSPUCORE_FAIL || 0x80618192 || <br /> |-<br /> ! colspan=&quot;3&quot; | for cellVpostEntExec()<br /> |-<br /> | CELL_VPOST_ENT_ERROR_E_ARG_HDL_NULL || 0x806181a0 || <br /> |-<br /> | CELL_VPOST_ENT_ERROR_E_ARG_HDL_INVALID || 0x806181a1 || <br /> |-<br /> | CELL_VPOST_ENT_ERROR_E_ARG_INPICBUF_NULL || 0x806181a2 || <br /> |-<br /> | CELL_VPOST_ENT_ERROR_E_ARG_INPICBUF_INVALID || 0x806181a3 || <br /> |-<br /> | CELL_VPOST_ENT_ERROR_E_ARG_INPICINFO_NULL || 0x806181a4 || <br /> |-<br /> | CELL_VPOST_ENT_ERROR_E_ARG_INPICINFO_INVALID || 0x806181a5 || <br /> |-<br /> | CELL_VPOST_ENT_ERROR_E_ARG_CTRL_NULL || 0x806181a6 || <br /> |-<br /> | CELL_VPOST_ENT_ERROR_E_ARG_CTRL_INVALID || 0x806181a7 || <br /> |-<br /> | CELL_VPOST_ENT_ERROR_E_ARG_COMB_INVALID || 0x806181a8 || <br /> |-<br /> | CELL_VPOST_ENT_ERROR_E_ARG_OUTPICBUF_NULL || 0x806181a9 || <br /> |-<br /> | CELL_VPOST_ENT_ERROR_E_ARG_OUTPICBUF_INVALID || 0x806181aa || <br /> |-<br /> | CELL_VPOST_ENT_ERROR_E_ARG_OUTPICINFO_NULL || 0x806181ab || <br /> |-<br /> | CELL_VPOST_ENT_ERROR_E_FATAL_SNDCMD_FAIL || 0x806181c0 || <br /> |-<br /> | CELL_VPOST_ENT_ERROR_E_FATAL_RCVRES_FAIL || 0x806181c1 || <br /> |-<br /> | CELL_VPOST_ENT_ERROR_E_FATAL_SPUCORE_FAIL || 0x806181c2 || <br /> |-<br /> |}<br /> <br /> === VPOST Library (IPC) errors ===<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> ! colspan=&quot;3&quot; | for cellVpostIpcQueryAttr()<br /> |-<br /> | CELL_VPOST_IPC_ERROR_Q_ARG_ATTR_NULL || 0x80618210 || <br /> |-<br /> ! colspan=&quot;3&quot; | for cellVpostIpcOpen()<br /> |-<br /> | CELL_VPOST_IPC_ERROR_O_ARG_RSRC_NULL || 0x80618240 || <br /> |-<br /> | CELL_VPOST_IPC_ERROR_O_ARG_RSRC_INVALID || 0x80618241 || <br /> |-<br /> | CELL_VPOST_IPC_ERROR_O_ARG_HDL_NULL || 0x80618242 || <br /> |-<br /> | CELL_VPOST_IPC_ERROR_O_FATAL_QUERY_FAIL || 0x80618260 || <br /> |-<br /> | CELL_VPOST_IPC_ERROR_O_FATAL_CSPUCORE_FAIL || 0x80618261 || <br /> |-<br /> ! colspan=&quot;3&quot; | for cellVpostIpcClose()<br /> |-<br /> | CELL_VPOST_IPC_ERROR_C_ARG_HDL_NULL || 0x80618270 || <br /> |-<br /> | CELL_VPOST_IPC_ERROR_C_ARG_HDL_INVALID || 0x80618271 || <br /> |-<br /> | CELL_VPOST_IPC_ERROR_C_FATAL_SNDCMD_FAIL || 0x80618290 || <br /> |-<br /> | CELL_VPOST_IPC_ERROR_C_FATAL_RCVRES_FAIL || 0x80618291 || <br /> |-<br /> | CELL_VPOST_IPC_ERROR_C_FATAL_DSPUCORE_FAIL || 0x80618292 || <br /> |-<br /> ! colspan=&quot;3&quot; | for cellVpostIpcExec()<br /> |-<br /> | CELL_VPOST_IPC_ERROR_E_ARG_HDL_NULL || 0x806182a0 || <br /> |-<br /> | CELL_VPOST_IPC_ERROR_E_ARG_HDL_INVALID || 0x806182a1 || <br /> |-<br /> | CELL_VPOST_IPC_ERROR_E_ARG_INPICBUF_NULL || 0x806182a2 || <br /> |-<br /> | CELL_VPOST_IPC_ERROR_E_ARG_INPICBUF_INVALID || 0x806182a3 || <br /> |-<br /> | CELL_VPOST_IPC_ERROR_E_ARG_INPICINFO_NULL || 0x806182a4 || <br /> |-<br /> | CELL_VPOST_IPC_ERROR_E_ARG_INPICINFO_INVALID || 0x806182a5 || <br /> |-<br /> | CELL_VPOST_IPC_ERROR_E_ARG_CTRL_NULL || 0x806182a6 || <br /> |-<br /> | CELL_VPOST_IPC_ERROR_E_ARG_CTRL_INVALID || 0x806182a7 || <br /> |-<br /> | CELL_VPOST_IPC_ERROR_E_ARG_COMB_INVALID || 0x806182a8 || <br /> |-<br /> | CELL_VPOST_IPC_ERROR_E_ARG_OUTPICBUF_NULL || 0x806182a9 || <br /> |-<br /> | CELL_VPOST_IPC_ERROR_E_ARG_OUTPICBUF_INVALID || 0x806182aa || <br /> |-<br /> | CELL_VPOST_IPC_ERROR_E_ARG_OUTPICINFO_NULL || 0x806182ab || <br /> |-<br /> | CELL_VPOST_IPC_ERROR_E_FATAL_SNDCMD_FAIL || 0x806182c0 || <br /> |-<br /> | CELL_VPOST_IPC_ERROR_E_FATAL_RCVRES_FAIL || 0x806182c1 || <br /> |-<br /> | CELL_VPOST_IPC_ERROR_E_FATAL_SPUCORE_FAIL || 0x806182c2 || <br /> |-<br /> |}<br /> <br /> === VPOST Library (Video Scaler) errors ===<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> ! colspan=&quot;3&quot; | for cellVpostVscQueryAttr()<br /> |-<br /> | CELL_VPOST_VSC_ERROR_Q_ARG_ATTR_NULL || 0x80618310 || <br /> |-<br /> ! colspan=&quot;3&quot; | for cellVpostVscOpen()<br /> |-<br /> | CELL_VPOST_VSC_ERROR_O_ARG_RSRC_NULL || 0x80618340 || <br /> |-<br /> | CELL_VPOST_VSC_ERROR_O_ARG_RSRC_INVALID || 0x80618341 || <br /> |-<br /> | CELL_VPOST_VSC_ERROR_O_ARG_HDL_NULL || 0x80618342 || <br /> |-<br /> | CELL_VPOST_VSC_ERROR_O_FATAL_QUERY_FAIL || 0x80618360 || <br /> |-<br /> | CELL_VPOST_VSC_ERROR_O_FATAL_CSPUCORE_FAIL || 0x80618361 || <br /> |-<br /> ! colspan=&quot;3&quot; | for cellVpostVscClose()<br /> |-<br /> | CELL_VPOST_VSC_ERROR_C_ARG_HDL_NULL || 0x80618370 || <br /> |-<br /> | CELL_VPOST_VSC_ERROR_C_ARG_HDL_INVALID || 0x80618371 || <br /> |-<br /> | CELL_VPOST_VSC_ERROR_C_FATAL_SNDCMD_FAIL || 0x80618390 || <br /> |-<br /> | CELL_VPOST_VSC_ERROR_C_FATAL_RCVRES_FAIL || 0x80618391 || <br /> |-<br /> | CELL_VPOST_VSC_ERROR_C_FATAL_DSPUCORE_FAIL || 0x80618392 || <br /> |-<br /> ! colspan=&quot;3&quot; | for cellVpostVscExec()<br /> |-<br /> | CELL_VPOST_VSC_ERROR_E_ARG_HDL_NULL || 0x806183a0 || <br /> |-<br /> | CELL_VPOST_VSC_ERROR_E_ARG_HDL_INVALID || 0x806183a1 || <br /> |-<br /> | CELL_VPOST_VSC_ERROR_E_ARG_INPICBUF_NULL || 0x806183a2 || <br /> |-<br /> | CELL_VPOST_VSC_ERROR_E_ARG_INPICBUF_INVALID || 0x806183a3 || <br /> |-<br /> | CELL_VPOST_VSC_ERROR_E_ARG_INPICINFO_NULL || 0x806183a4 || <br /> |-<br /> | CELL_VPOST_VSC_ERROR_E_ARG_INPICINFO_INVALID || 0x806183a5 || <br /> |-<br /> | CELL_VPOST_VSC_ERROR_E_ARG_CTRL_NULL || 0x806183a6 || <br /> |-<br /> | CELL_VPOST_VSC_ERROR_E_ARG_CTRL_INVALID || 0x806183a7 || <br /> |-<br /> | CELL_VPOST_VSC_ERROR_E_ARG_COMB_INVALID || 0x806183a8 || <br /> |-<br /> | CELL_VPOST_VSC_ERROR_E_ARG_OUTPICBUF_NULL || 0x806183a9 || <br /> |-<br /> | CELL_VPOST_VSC_ERROR_E_ARG_OUTPICBUF_INVALID || 0x806183aa || <br /> |-<br /> | CELL_VPOST_VSC_ERROR_E_ARG_OUTPICINFO_NULL || 0x806183ab || <br /> |-<br /> | CELL_VPOST_VSC_ERROR_E_FATAL_SNDCMD_FAIL || 0x806183c0 || <br /> |-<br /> | CELL_VPOST_VSC_ERROR_E_FATAL_RCVRES_FAIL || 0x806183c1 || <br /> |-<br /> | CELL_VPOST_VSC_ERROR_E_FATAL_SPUCORE_FAIL || 0x806183c2 || <br /> |-<br /> |}<br /> <br /> === VPOST Library (CSC) errors ===<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> ! colspan=&quot;3&quot; | for cellVpostCscQueryAttr()<br /> |-<br /> | CELL_VPOST_CSC_ERROR_Q_ARG_ATTR_NULL || 0x80618410 || <br /> |-<br /> ! colspan=&quot;3&quot; | for cellVpostCscOpen()<br /> |-<br /> | CELL_VPOST_CSC_ERROR_O_ARG_RSRC_NULL || 0x80618440 || <br /> |-<br /> | CELL_VPOST_CSC_ERROR_O_ARG_RSRC_INVALID || 0x80618441 || <br /> |-<br /> | CELL_VPOST_CSC_ERROR_O_ARG_HDL_NULL || 0x80618442 || <br /> |-<br /> | CELL_VPOST_CSC_ERROR_O_FATAL_QUERY_FAIL || 0x80618460 || <br /> |-<br /> | CELL_VPOST_CSC_ERROR_O_FATAL_CSPUCORE_FAIL || 0x80618461 || <br /> |-<br /> ! colspan=&quot;3&quot; | for cellVpostCscClose()<br /> |-<br /> | CELL_VPOST_CSC_ERROR_C_ARG_HDL_NULL || 0x80618470 || <br /> |-<br /> | CELL_VPOST_CSC_ERROR_C_ARG_HDL_INVALID || 0x80618471 || <br /> |-<br /> | CELL_VPOST_CSC_ERROR_C_FATAL_SNDCMD_FAIL || 0x80618490 || <br /> |-<br /> | CELL_VPOST_CSC_ERROR_C_FATAL_RCVRES_FAIL || 0x80618491 || <br /> |-<br /> | CELL_VPOST_CSC_ERROR_C_FATAL_DSPUCORE_FAIL || 0x80618492 || <br /> |-<br /> ! colspan=&quot;3&quot; | for cellVpostCscExec()<br /> |-<br /> | CELL_VPOST_CSC_ERROR_E_ARG_HDL_NULL || 0x806184a0 || <br /> |-<br /> | CELL_VPOST_CSC_ERROR_E_ARG_HDL_INVALID || 0x806184a1 || <br /> |-<br /> | CELL_VPOST_CSC_ERROR_E_ARG_INPICBUF_NULL || 0x806184a2 || <br /> |-<br /> | CELL_VPOST_CSC_ERROR_E_ARG_INPICBUF_INVALID || 0x806184a3 || <br /> |-<br /> | CELL_VPOST_CSC_ERROR_E_ARG_INPICINFO_NULL || 0x806184a4 || <br /> |-<br /> | CELL_VPOST_CSC_ERROR_E_ARG_INPICINFO_INVALID || 0x806184a5 || <br /> |-<br /> | CELL_VPOST_CSC_ERROR_E_ARG_CTRL_NULL || 0x806184a6 || <br /> |-<br /> | CELL_VPOST_CSC_ERROR_E_ARG_CTRL_INVALID || 0x806184a7 || <br /> |-<br /> | CELL_VPOST_CSC_ERROR_E_ARG_COMB_INVALID || 0x806184a8 || <br /> |-<br /> | CELL_VPOST_CSC_ERROR_E_ARG_OUTPICBUF_NULL || 0x806184a9 || <br /> |-<br /> | CELL_VPOST_CSC_ERROR_E_ARG_OUTPICBUF_INVALID || 0x806184aa || <br /> |-<br /> | CELL_VPOST_CSC_ERROR_E_ARG_OUTPICINFO_NULL || 0x806184ab || <br /> |-<br /> | CELL_VPOST_CSC_ERROR_E_FATAL_SNDCMD_FAIL || 0x806184c0 || <br /> |-<br /> | CELL_VPOST_CSC_ERROR_E_FATAL_RCVRES_FAIL || 0x806184c1 || <br /> |-<br /> | CELL_VPOST_CSC_ERROR_E_FATAL_SPUCORE_FAIL || 0x806184c2 || <br /> |-<br /> |}<br /> <br /> == SAIL errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_SAIL_ERROR_INVALID_ARG || 0x80610701 || <br /> |-<br /> | CELL_SAIL_ERROR_INVALID_STATE || 0x80610702 || <br /> |-<br /> | CELL_SAIL_ERROR_UNSUPPORTED_STREAM || 0x80610703 || <br /> |-<br /> | CELL_SAIL_ERROR_INDEX_OUT_OF_RANGE || 0x80610704 || <br /> |-<br /> | CELL_SAIL_ERROR_EMPTY || 0x80610705 || <br /> |-<br /> | CELL_SAIL_ERROR_FULLED || 0x80610706 || <br /> |-<br /> | CELL_SAIL_ERROR_USING || 0x80610707 || <br /> |-<br /> | CELL_SAIL_ERROR_NOT_AVAILABLE || 0x80610708 || <br /> |-<br /> | CELL_SAIL_ERROR_CANCEL || 0x80610709 || <br /> |-<br /> | CELL_SAIL_ERROR_MEMORY || (0x806107F0 || <br /> |-<br /> | CELL_SAIL_ERROR_INVALID_FD || 0x806107F1 || <br /> |-<br /> | CELL_SAIL_ERROR_FATAL || 0x806107FF || <br /> |-<br /> |}<br /> <br /> == ATRACMULTI errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_ATRACMULTI_ERROR_FACILITY_ATRAC || 0x80610b00 || <br /> |-<br /> | CELL_ATRACMULTI_ERROR_API_FAIL || 0x80610b01 || <br /> |-<br /> | CELL_ATRACMULTI_ERROR_READSIZE_OVER_BUFFER || 0x80610b11 || <br /> |-<br /> | CELL_ATRACMULTI_ERROR_UNKNOWN_FORMAT || 0x80610b12 || <br /> |-<br /> | CELL_ATRACMULTI_ERROR_READSIZE_IS_TOO_SMALL || 0x80610b13 || <br /> |-<br /> | CELL_ATRACMULTI_ERROR_ILLEGAL_SAMPLING_RATE || 0x80610b14 || <br /> |-<br /> | CELL_ATRACMULTI_ERROR_ILLEGAL_DATA || 0x80610b15 || <br /> |-<br /> | CELL_ATRACMULTI_ERROR_NO_DECODER || 0x80610b21 || <br /> |-<br /> | CELL_ATRACMULTI_ERROR_UNSET_DATA || 0x80610b22 || <br /> |-<br /> | CELL_ATRACMULTI_ERROR_DECODER_WAS_CREATED || 0x80610b23 || <br /> |-<br /> | CELL_ATRACMULTI_ERROR_ALLDATA_WAS_DECODED || 0x80610b31 || <br /> |-<br /> | CELL_ATRACMULTI_ERROR_NODATA_IN_BUFFER || 0x80610b32 || <br /> |-<br /> | CELL_ATRACMULTI_ERROR_NOT_ALIGNED_OUT_BUFFER || 0x80610b33 || <br /> |-<br /> | CELL_ATRACMULTI_ERROR_NEED_SECOND_BUFFER || 0x80610b34 || <br /> |-<br /> | CELL_ATRACMULTI_ERROR_ALLDATA_IS_ONMEMORY || 0x80610b41 || <br /> |-<br /> | CELL_ATRACMULTI_ERROR_ADD_DATA_IS_TOO_BIG || 0x80610b42 || <br /> |-<br /> | CELL_ATRACMULTI_ERROR_NONEED_SECOND_BUFFER || 0x80610b51 || <br /> |-<br /> | CELL_ATRACMULTI_ERROR_UNSET_LOOP_NUM || 0x80610b61 || <br /> |-<br /> | CELL_ATRACMULTI_ERROR_ILLEGAL_SAMPLE || 0x80610b71 || <br /> |-<br /> | CELL_ATRACMULTI_ERROR_ILLEGAL_RESET_BYTE || 0x80610b72 || <br /> |-<br /> | CELL_ATRACMULTI_ERROR_ILLEGAL_PPU_THREAD_PRIORITY || 0x80610b81 || <br /> |-<br /> | CELL_ATRACMULTI_ERROR_ILLEGAL_SPU_THREAD_PRIORITY || 0x80610b82 || <br /> |-<br /> | CELL_ATRACMULTI_ERROR_API_PARAMETER || 0x80610b91 || <br /> |-<br /> |}<br /> <br /> == LPCM errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_ADEC_ERROR_LPCM_FATAL || 0x80612001 || <br /> |-<br /> | CELL_ADEC_ERROR_LPCM_SEQ || 0x80612002 || <br /> |-<br /> | CELL_ADEC_ERROR_LPCM_ARG || 0x80612003 || <br /> |-<br /> | CELL_ADEC_ERROR_LPCM_BUSY || 0x80612004 || <br /> |-<br /> | CELL_ADEC_ERROR_LPCM_EMPTY || 0x80612005 || <br /> |-<br /> |}<br /> <br /> == AT3 errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_ADEC_ERROR_AT3_OFFSET || 0x80612100 || <br /> |-<br /> | CELL_ADEC_ERROR_AT3_OK || 0x80612100 || <br /> |-<br /> | CELL_ADEC_ERROR_AT3_BUSY || 0x80612164 || <br /> |-<br /> | CELL_ADEC_ERROR_AT3_EMPTY || 0x80612165 || <br /> |-<br /> | CELL_ADEC_ERROR_AT3_ERROR || 0x80612180 || <br /> |-<br /> |}<br /> <br /> == ATX errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_ADEC_ERROR_ATX_OK || 0x80612200 || <br /> |-<br /> | CELL_ADEC_ERROR_ATX_BUSY || 0x80612264 || <br /> |-<br /> | CELL_ADEC_ERROR_ATX_EMPTY || 0x80612265 || <br /> |-<br /> | CELL_ADEC_ERROR_ATX_ATSHDR || 0x80612266 || <br /> |-<br /> | CELL_ADEC_ERROR_ATX_NON_FATAL || 0x80612281 || undefined error<br /> |-<br /> | CELL_ADEC_ERROR_ATX_NOT_IMPLE || 0x80612282 || not implemented<br /> |-<br /> | CELL_ADEC_ERROR_ATX_PACK_CE_OVERFLOW || 0x80612283 || pack_channel_block_at5() in pack_at5.c<br /> |-<br /> | CELL_ADEC_ERROR_ATX_ILLEGAL_NPROCQUS || 0x80612284 || unpack_sheader() in pack_at5_sheader.c<br /> |-<br /> | CELL_ADEC_ERROR_ATX_FATAL || 0x8061228c || undefined error<br /> |-<br /> | CELL_ADEC_ERROR_ATX_ENC_OVERFLOW || 0x8061228d || at5enc_proc() in at5enc.c<br /> |-<br /> | CELL_ADEC_ERROR_ATX_PACK_CE_UNDERFLOW || 0x8061228e || pack_channel_block_at5() in pack_at5.c<br /> |-<br /> | CELL_ADEC_ERROR_ATX_SYNTAX_IDCT || 0x8061228f || unpack_idct() in pack_at5_codetbl.c<br /> |-<br /> | CELL_ADEC_ERROR_ATX_SYNTAX_GAINADJ || 0x80612290 || unpack_gainadj() in pack_at5_gainadj.c<br /> |-<br /> | CELL_ADEC_ERROR_ATX_SYNTAX_IDSF || 0x80612291 || unpack_idsf() in pack_at5_sfactor.c<br /> |-<br /> | CELL_ADEC_ERROR_ATX_SYNTAX_SPECTRA || 0x80612292 || unpack_spectra() in pack_at5_spectra.c<br /> |-<br /> | CELL_ADEC_ERROR_ATX_SYNTAX_IDWL || 0x80612293 || unpack_idwl() in pack_at5_idwl.c<br /> |-<br /> | CELL_ADEC_ERROR_ATX_SYNTAX_GHWAVE || 0x80612294 || unpack_ghwave() in pack_at5_ghwave.c<br /> |-<br /> | CELL_ADEC_ERROR_ATX_SYNTAX_SHEADER || 0x80612295 || unpack_sheader() in pack_at5_sheader.c<br /> |-<br /> | CELL_ADEC_ERROR_ATX_SYNTAX_IDWL_A || 0x80612296 || idwl[][]{0-7} range error*/<br /> |-<br /> | CELL_ADEC_ERROR_ATX_SYNTAX_IDWL_B || 0x80612297 || idwl restriction error (wlc_encqu&lt;=divqu&lt;nprocqus,ich=0)<br /> |-<br /> | CELL_ADEC_ERROR_ATX_SYNTAX_IDWL_C || 0x80612298 || idwl restriction error (0&lt;=wlc_divqu&lt;=wlc_encqu,ich=0)<br /> |-<br /> | CELL_ADEC_ERROR_ATX_SYNTAX_IDWL_D || 0x80612299 || idwl restriction error (wlc_encqu&lt;divqu&lt;=nprocqus,ich=1)<br /> |-<br /> | CELL_ADEC_ERROR_ATX_SYNTAX_IDWL_E || 0x8061229a || idwl restriction error (wlc_encqu&lt;=nprocqus)<br /> |-<br /> | CELL_ADEC_ERROR_ATX_SYNTAX_IDSF_A || 0x8061229b || idsf[][]{0-63} range error<br /> |-<br /> | CELL_ADEC_ERROR_ATX_SYNTAX_IDSF_B || 0x8061229c || sfc_nbitlen{0-6} range error<br /> |-<br /> | CELL_ADEC_ERROR_ATX_SYNTAX_IDSF_C || 0x8061229d || idsf restriction error (0&lt;=sfc_divqu&lt;=nrealqus)<br /> |-<br /> | CELL_ADEC_ERROR_ATX_SYNTAX_IDSF_D || 0x8061229e || idsf restriction error (0&lt;=sfc_sg_divqu&lt;=nrealqus)<br /> |-<br /> | CELL_ADEC_ERROR_ATX_SYNTAX_IDCT_A || 0x8061229f || idct restriction error (0&lt;=ctc_divqu&lt;=nrealqus)<br /> |-<br /> | CELL_ADEC_ERROR_ATX_SYNTAX_GC_NGC || 0x806122a0 || ngc[][]{0-7} range error<br /> |-<br /> | CELL_ADEC_ERROR_ATX_SYNTAX_GC_IDLEV_A || 0x806122a1 || idlev[][][]{0-15} range error<br /> |-<br /> | CELL_ADEC_ERROR_ATX_SYNTAX_GC_IDLOC_A || 0x806122a2 || idloc[][][]{0-31} range error<br /> |-<br /> | CELL_ADEC_ERROR_ATX_SYNTAX_GC_IDLEV_B || 0x806122a3 || gain_control_data restriction error (idlev[][][])<br /> |-<br /> | CELL_ADEC_ERROR_ATX_SYNTAX_GC_IDLOC_B || 0x806122a4 || gain_control_data restriction error (idloc[][][])<br /> |-<br /> | CELL_ADEC_ERROR_ATX_SYNTAX_SN_NWVS || 0x806122a5 || sinusoid_data restriction error<br /> |-<br /> | CELL_ADEC_ERROR_ATX_FATAL_HANDLE || 0x806122aa || undefined error at handle level<br /> |-<br /> | CELL_ADEC_ERROR_ATX_ASSERT_SAMPLING_FREQ || 0x806122ab || sampling freqeuency assertion error<br /> |-<br /> | CELL_ADEC_ERROR_ATX_ASSERT_CH_CONFIG_INDEX || 0x806122ac || channel_config_index assertion error<br /> |-<br /> | CELL_ADEC_ERROR_ATX_ASSERT_NBYTES || 0x806122ad || a number of bytes(nbytes) assertion error<br /> |-<br /> | CELL_ADEC_ERROR_ATX_ASSERT_BLOCK_NUM || 0x806122ae || a number of blocks(block_num) assertion error<br /> |-<br /> | CELL_ADEC_ERROR_ATX_ASSERT_BLOCK_ID || 0x806122af || block_id assertion error<br /> |-<br /> | CELL_ADEC_ERROR_ATX_ASSERT_CHANNELS || 0x806122b0 || a number of channels per block assertion error<br /> |-<br /> | CELL_ADEC_ERROR_ATX_UNINIT_BLOCK_SPECIFIED || 0x806122b1 || uninitialized block specified<br /> |-<br /> | CELL_ADEC_ERROR_ATX_POSCFG_PRESENT || 0x806122b2 || &quot;position_config_data&quot; presents(currently fatal error)<br /> |-<br /> | CELL_ADEC_ERROR_ATX_BUFFER_OVERFLOW || 0x806122b3 || buffer overflow<br /> |-<br /> | CELL_ADEC_ERROR_ATX_ILL_BLK_TYPE_ID || 0x806122b4 || illegal &quot;block_type_id&quot; detected<br /> |-<br /> | CELL_ADEC_ERROR_ATX_UNPACK_CHANNEL_BLK_FAILED || 0x806122b5 || unpack_channel_block() failed<br /> |-<br /> | CELL_ADEC_ERROR_ATX_ILL_BLK_ID_USED_1 || 0x806122b6 || illegal &quot;block_id&quot; used (more audio_channel_block)<br /> |-<br /> | CELL_ADEC_ERROR_ATX_ILL_BLK_ID_USED_2 || 0x806122b7 || illegal &quot;block_id&quot; used (less audio_channel_block)<br /> |-<br /> | CELL_ADEC_ERROR_ATX_ILLEGAL_ENC_SETTING || 0x806122b8 || illegal encoder setting(init_atrac5_encode())<br /> |-<br /> | CELL_ADEC_ERROR_ATX_ILLEGAL_DEC_SETTING || 0x806122b9 || illegal decoder setting(init_atrac5_decode())<br /> |-<br /> | CELL_ADEC_ERROR_ATX_ASSERT_NSAMPLES || 0x806122ba || a number of input PCM samples assertion error<br /> |-<br /> | CELL_ADEC_ERROR_ATX_ILL_SYNCWORD || 0x806122bb || illegal syncword used<br /> |-<br /> | CELL_ADEC_ERROR_ATX_ILL_SAMPLING_FREQ || 0x806122bc || illegal sampling_frequeny_index @ config_data()<br /> |-<br /> | CELL_ADEC_ERROR_ATX_ILL_CH_CONFIG_INDEX || 0x806122bd || illegal channel_config_index@ config_data()<br /> |-<br /> | CELL_ADEC_ERROR_ATX_RAW_DATA_FRAME_SIZE_OVER || 0x806122be || size of raw_data_frame &gt; frame_length<br /> |-<br /> | CELL_ADEC_ERROR_ATX_SYNTAX_ENHANCE_LENGTH_OVER || 0x806122bf || enhance_length {0,2046} range error<br /> |-<br /> | CELL_ADEC_ERROR_ATX_SPU_INTERNAL_FAIL || 0x806122c8 || spu-processing failed<br /> |-<br /> |}<br /> <br /> == M4AAC errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_FATAL || 0x80612401 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_SEQ || 0x80612402 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_ARG || 0x80612403 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_BUSY || 0x80612404 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_EMPTY || 0x80612405 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_BUFFER_OVERFLOW || 0x80612406 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_END_OF_BITSTREAM || 0x80612407 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_CH_CONFIG_INCONSISTENCY || 0x80612410 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_NO_CH_DEFAULT_POS || 0x80612411 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_INVALID_CH_POS || 0x80612412 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_UNANTICIPATED_COUPLING_CH || 0x80612413 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_INVALID_LAYER_ID || 0x80612414 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_ADTS_SYNCWORD_ERROR || 0x80612415 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_INVALID_ADTS_ID || 0x80612416 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_CH_CHANGED || 0x80612417 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_SAMPLING_FREQ_CHANGED || 0x80612418 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_WRONG_SBR_CH || 0x80612419 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_WRONG_SCALE_FACTOR || 0x8061241a || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_INVALID_BOOKS || 0x8061241b || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_INVALID_SECTION_DATA || 0x8061241c || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_PULSE_IS_NOT_LONG || 0x8061241d || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_GC_IS_NOT_SUPPORTED || 0x8061241e || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_INVALID_ELEMENT_ID || 0x8061241f || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_NO_CH_CONFIG || 0x80612420 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_UNEXPECTED_OVERLAP_CRC || 0x80612421 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_CRC_BUFFER_EXCEEDED || 0x80612422 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_INVALID_CRC || 0x80612423 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_BAD_WINDOW_CODE || 0x80612424 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_INVALID_ADIF_HEADER_ID || 0x80612425 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_NOT_SUPPORTED_PROFILE || 0x80612426 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_PROG_NUMBER_NOT_FOUND || 0x80612427 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_INVALID_SAMP_RATE_INDEX || 0x80612428 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_UNANTICIPATED_CH_CONFIG || 0x80612429 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_PULSE_OVERFLOWED || 0x8061242a || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_CAN_NOT_UNPACK_INDEX || 0x8061242b || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_DEINTERLEAVE_FAILED || 0x8061242c || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_CALC_BAND_OFFSET_FAILED || 0x8061242d || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_GET_SCALE_FACTOR_FAILED || 0x8061242e || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_GET_CC_GAIN_FAILED || 0x8061242f || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_MIX_COUPLING_CH_FAILED || 0x80612430 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_GROUP_IS_INVALID || 0x80612431 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_PREDICT_FAILED || 0x80612432 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_INVALID_PREDICT_RESET_PATTERN || 0x80612433 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_INVALID_TNS_FRAME_INFO || 0x80612434 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_GET_MASK_FAILED || 0x80612435 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_GET_GROUP_FAILED || 0x80612436 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_GET_LPFLAG_FAILED || 0x80612437 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_INVERSE_QUANTIZATION_FAILED || 0x80612438 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_GET_CB_MAP_FAILED || 0x80612439 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_GET_PULSE_FAILED || 0x8061243a || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_MONO_MIXDOWN_ELEMENT_IS_NOT_SUPPORTED || 0x8061243b || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_STEREO_MIXDOWN_ELEMENT_IS_NOT_SUPPORTED || 0x8061243c || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_SBR_CH_OVERFLOW || 0x80612480 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_SBR_NOSYNCH || 0x80612481 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_SBR_ILLEGAL_PROGRAM || 0x80612482 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_SBR_ILLEGAL_TAG || 0x80612483 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_SBR_ILLEGAL_CHN_CONFIG || 0x80612484 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_SBR_ILLEGAL_SECTION || 0x80612485 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_SBR_ILLEGAL_SCFACTORS || 0x80612486 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_SBR_ILLEGAL_PULSE_DATA || 0x80612487 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_SBR_MAIN_PROFILE_NOT_IMPLEMENTED || 0x80612488 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_SBR_GC_NOT_IMPLEMENTED || 0x80612489 || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_SBR_ILLEGAL_PLUS_ELE_ID || 0x8061248a || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_SBR_CREATE_ERROR || 0x8061248b || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_SBR_NOT_INITIALIZED || 0x8061248c || <br /> |-<br /> | CELL_ADEC_ERROR_M4AAC_SBR_INVALID_ENVELOPE || 0x8061248d || <br /> |-<br /> |}<br /> <br /> == AC3 errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_ADEC_ERROR_AC3_BUSY || 0x80612500 || <br /> |-<br /> | CELL_ADEC_ERROR_AC3_EMPTY || 0x80612501 || <br /> |-<br /> | CELL_ADEC_ERROR_AC3_PARAM || 0x80612502 ||<br /> |-<br /> | CELL_ADEC_ERROR_AC3_FRAME || 0x80612503 ||<br /> |-<br /> |}<br /> <br /> == MP3 errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_ADEC_ERROR_MP3_OK || 0x80612700 || <br /> |-<br /> | CELL_ADEC_ERROR_MP3_BUSY || 0x80612764 || <br /> |-<br /> | CELL_ADEC_ERROR_MP3_EMPTY || 0x80612765 || <br /> |-<br /> | CELL_ADEC_ERROR_MP3_ERROR || 0x80612781 || <br /> |-<br /> | CELL_ADEC_ERROR_MP3_LOST_SYNC || 0x80612782 || <br /> |-<br /> | CELL_ADEC_ERROR_MP3_NOT_L3 || 0x80612783 || <br /> |-<br /> | CELL_ADEC_ERROR_MP3_BAD_BITRATE || 0x80612784 || <br /> |-<br /> | CELL_ADEC_ERROR_MP3_BAD_SFREQ || 0x80612785 || <br /> |-<br /> | CELL_ADEC_ERROR_MP3_BAD_EMPHASIS || 0x80612786 || <br /> |-<br /> | CELL_ADEC_ERROR_MP3_BAD_BLKTYPE || 0x80612787 || <br /> |-<br /> | CELL_ADEC_ERROR_MP3_BAD_VERSION || 0x8061278c || <br /> |-<br /> | CELL_ADEC_ERROR_MP3_BAD_MODE || 0x8061278d || <br /> |-<br /> | CELL_ADEC_ERROR_MP3_BAD_MODE_EXT || 0x8061278e || <br /> |-<br /> | CELL_ADEC_ERROR_MP3_HUFFMAN_NUM || 0x80612796 || <br /> |-<br /> | CELL_ADEC_ERROR_MP3_HUFFMAN_CASE_ID || 0x80612797 || <br /> |-<br /> | CELL_ADEC_ERROR_MP3_SCALEFAC_COMPRESS || 0x80612798 || <br /> |-<br /> | CELL_ADEC_ERROR_MP3_HGETBIT || 0x80612799 || <br /> |-<br /> | CELL_ADEC_ERROR_MP3_FLOATING_EXCEPTION || 0x8061279a || <br /> |-<br /> | CELL_ADEC_ERROR_MP3_ARRAY_OVERFLOW || 0x8061279b || <br /> |-<br /> | CELL_ADEC_ERROR_MP3_STEREO_PROCESSING || 0x8061279c || <br /> |-<br /> | CELL_ADEC_ERROR_MP3_JS_BOUND || 0x8061279d || <br /> |-<br /> | CELL_ADEC_ERROR_MP3_PCMOUT || 0x8061279e || <br /> |-<br /> |}<br /> <br /> == M2BC errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_ADEC_ERROR_M2BC_FATAL || 0x80612b01 || <br /> |-<br /> | CELL_ADEC_ERROR_M2BC_SEQ || 0x80612b02 || <br /> |-<br /> | CELL_ADEC_ERROR_M2BC_ARG || 0x80612b03 || <br /> |-<br /> | CELL_ADEC_ERROR_M2BC_BUSY || 0x80612b04 || <br /> |-<br /> | CELL_ADEC_ERROR_M2BC_EMPTY || 0x80612b05 || <br /> |-<br /> | CELL_ADEC_ERROR_M2BC_SYNCF || 0x80612b11 || <br /> |-<br /> | CELL_ADEC_ERROR_M2BC_LAYER || 0x80612b12 || <br /> |-<br /> | CELL_ADEC_ERROR_M2BC_BITRATE || 0x80612b13 || <br /> |-<br /> | CELL_ADEC_ERROR_M2BC_SAMPLEFREQ || 0x80612b14 || <br /> |-<br /> | CELL_ADEC_ERROR_M2BC_VERSION || 0x80612b15 || <br /> |-<br /> | CELL_ADEC_ERROR_M2BC_MODE_EXT || 0x80612b16 || <br /> |-<br /> | CELL_ADEC_ERROR_M2BC_UNSUPPORT || 0x80612b17 || <br /> |-<br /> | CELL_ADEC_ERROR_M2BC_OPENBS_EX || 0x80612b21 || <br /> |-<br /> | CELL_ADEC_ERROR_M2BC_SYNCF_EX || 0x80612b22 || <br /> |-<br /> | CELL_ADEC_ERROR_M2BC_CRCGET_EX || 0x80612b23 || <br /> |-<br /> | CELL_ADEC_ERROR_M2BC_CRC_EX || 0x80612b24 || <br /> |-<br /> | CELL_ADEC_ERROR_M2BC_CRCGET || 0x80612b31 || <br /> |-<br /> | CELL_ADEC_ERROR_M2BC_CRC || 0x80612b32 || <br /> |-<br /> | CELL_ADEC_ERROR_M2BC_BITALLOC || 0x80612b33 || <br /> |-<br /> | CELL_ADEC_ERROR_M2BC_SCALE || 0x80612b34 || <br /> |-<br /> | CELL_ADEC_ERROR_M2BC_SAMPLE || 0x80612b35 || <br /> |-<br /> | CELL_ADEC_ERROR_M2BC_OPENBS || 0x80612b36 || <br /> |-<br /> | CELL_ADEC_ERROR_M2BC_MC_CRCGET || 0x80612b41 || <br /> |-<br /> | CELL_ADEC_ERROR_M2BC_MC_CRC || 0x80612b42 || <br /> |-<br /> | CELL_ADEC_ERROR_M2BC_MC_BITALLOC || 0x80612b43 || <br /> |-<br /> | CELL_ADEC_ERROR_M2BC_MC_SCALE || 0x80612b44 || <br /> |-<br /> | CELL_ADEC_ERROR_M2BC_MC_SAMPLE || 0x80612b45 || <br /> |-<br /> | CELL_ADEC_ERROR_M2BC_MC_HEADER || 0x80612b46 || <br /> |-<br /> | CELL_ADEC_ERROR_M2BC_MC_STATUS || 0x80612b47 || <br /> |-<br /> | CELL_ADEC_ERROR_M2BC_AG_CCRCGET || 0x80612b51 || <br /> |-<br /> | CELL_ADEC_ERROR_M2BC_AG_CRC || 0x80612b52 || <br /> |-<br /> | CELL_ADEC_ERROR_M2BC_AG_BITALLOC || 0x80612b53 || <br /> |-<br /> | CELL_ADEC_ERROR_M2BC_AG_SCALE || 0x80612b54 || <br /> |-<br /> | CELL_ADEC_ERROR_M2BC_AG_SAMPLE || 0x80612b55 || <br /> |-<br /> | CELL_ADEC_ERROR_M2BC_AG_STATUS || 0x80612b57 || <br /> |-<br /> |}<br /> <br /> == CELP errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_ADEC_ERROR_CELP_BUSY || 0x80612e01 || <br /> |-<br /> | CELL_ADEC_ERROR_CELP_EMPTY || 0x80612e02 || <br /> |-<br /> | CELL_ADEC_ERROR_CELP_ARG || 0x80612e03 || <br /> |-<br /> | CELL_ADEC_ERROR_CELP_SEQ || 0x80612e04 || <br /> |-<br /> | CELL_ADEC_ERROR_CELP_CORE_FATAL || 0x80612e81 || <br /> |-<br /> | CELL_ADEC_ERROR_CELP_CORE_ARG || 0x80612e82 || <br /> |-<br /> | CELL_ADEC_ERROR_CELP_CORE_SEQ || 0x80612e83 || <br /> |-<br /> |}<br /> <br /> == CELP8 errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_ADEC_ERROR_CELP8_BUSY || 0x80612ea1 || <br /> |-<br /> | CELL_ADEC_ERROR_CELP8_EMPTY || 0x80612ea2 || <br /> |-<br /> | CELL_ADEC_ERROR_CELP8_ARG || 0x80612ea3 || <br /> |-<br /> | CELL_ADEC_ERROR_CELP8_SEQ || 0x80612ea4 || <br /> |-<br /> | CELL_ADEC_ERROR_CELP8_CORE_FATAL || 0x80612eb1 || <br /> |-<br /> | CELL_ADEC_ERROR_CELP8_CORE_ARG || 0x80612eb2 || <br /> |-<br /> | CELL_ADEC_ERROR_CELP8_CORE_SEQ || 0x80612eb3 || <br /> |-<br /> |}<br /> <br /> == CELPENC errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_CELPENC_ERROR_FAILED || 0x80614001 || <br /> |-<br /> | CELL_CELPENC_ERROR_SEQ || 0x80614002 || <br /> |-<br /> | CELL_CELPENC_ERROR_ARG || 0x80614003 || <br /> |-<br /> | CELL_CELPENC_ERROR_CORE_FAILED || 0x80614081 || <br /> |-<br /> | CELL_CELPENC_ERROR_CORE_SEQ || 0x80614082 || <br /> |-<br /> | CELL_CELPENC_ERROR_CORE_ARG || 0x80614083 || <br /> |-<br /> |}<br /> <br /> == CELP8ENC errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_CELP8ENC_ERROR_FAILED || 0x806140a1 || <br /> |-<br /> | CELL_CELP8ENC_ERROR_SEQ || 0x806140a2 || <br /> |-<br /> | CELL_CELP8ENC_ERROR_ARG || 0x806140a3 || <br /> |-<br /> | CELL_CELP8ENC_ERROR_CORE_FAILED || 0x806140b1 || <br /> |-<br /> | CELL_CELP8ENC_ERROR_CORE_SEQ || 0x806140b2 || <br /> |-<br /> | CELL_CELP8ENC_ERROR_CORE_ARG || 0x806140b3 || <br /> |-<br /> |}<br /> <br /> == Console errors ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> | CELL_CONSOLE_ERROR_BASE || 0xFFFFFFF0 || <br /> |-<br /> | || 0xFFFFFFFB || &quot;An error occurred during the copy operation.&quot; When trying to copy an modify memory save (PS1, .PSV) with only option to create New Internal Memory Card (other path are not displayed).<br /> |-<br /> | CELL_CONSOLE_IO_ERROR || 0xFFFFFFFC || <br /> |-<br /> | CELL_CONSOLE_ENOMEM || 0xFFFFFFFD || <br /> |-<br /> | CELL_CONSOLE_EINVAL || 0xFFFFFFFE || &quot;An error occurred during the delete operation.&quot; In this case, attempting (error display but deleted) to delete from XMB an already deleted (from FTP)virtual memory card. other message: see 0x81010002.<br /> |-<br /> | CELL_CONSOLE_NOT_INITIALIZED || 0xFFFFFFFF || <br /> |-<br /> |}<br /> <br /> == Other errors (not specified above) ==<br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable sortable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |- bgcolor=&quot;#cccccc&quot;<br /> ! Description !! Errorcode !! Remarks<br /> |-<br /> !colspan=&quot;3&quot; | other errors<br /> |-<br /> | || 0x80010500 || Bad Packet ID<br /> |-<br /> | unspecified trophy error || 0x80010505 || Trophy error caused by &quot;Allow access to all SS services (Needed for ps3dm-utils)&quot; patch / Access Violation / Caused by attempting to read eeprom with only root flags<br /> |-<br /> | || 0x80010506 || No Entry<br /> |-<br /> | || 0x80010509 || Backup/Restore decryption and/or verification error / Invalid Parameter<br /> |-<br /> | || 0x8001050B || Will not play demo hard drive games, (when blue-ray disc is inserted) - cause unknown<br /> |-<br /> | || 0x8001050D || An error during the start operation; Ps3 game swapped using the eject function and then play pressed quickly - ps3 game inserted again<br /> |-<br /> | Call Limit Exceeded || 0x8001050F || Hardware failure. Cannot update firmware or connect to internet.&lt;br /&gt;You can get this on the date &quot;29.02.2010&quot; with firmwares containing the leapyear error<br /> |-<br /> | || 0x80010510 || Will not play games installed on the hard drive<br /> |-<br /> | || 0x80010514 || RSOD - Reading blu-ray disc problem // msg_errorcode_solution_check_other_bd msg_errorcode_solution_check_disc_clean <br /> msg_errorcode_if_no_solution_ask_ic_with_errorcode / drm marlin - authorization / act.dat fetch fail<br /> ERROR!! VersionFile::Get() (exdata/ver.txt,index.dat failures) &quot;release&quot; missmatch / OnActivatePageInitSetting failure / avatar userthumbnail.png failure / vtrm retrieve + store (root hsec+root hash doesnt match with syscon's one)<br /> |-<br /> | || 0x80010516 || An error occurred during the start operation; Ps1 game swapped using the eject function and then play pressed quickly - ps1 game inserted again<br /> |-<br /> | || 0x80010519 || The firmware time is incorrect update via internet to set it.If this keeps happening try changing the CMOS cell, if that doesn't work your firmware is probably corrupted.<br /> |-<br /> | || 0x8001051C || &quot;The data is corrupted.&quot;<br /> |-<br /> | Time error || 0x80010601 || Time/Date has not been set<br /> |-<br /> | Connection error || 0x80022A07 || Cannot connect to server. Server overloaded?<br /> |-<br /> | Trophy related || 0x80022D11 || &quot;Registration of the trophy information could not be completed. The game will quit (80022D11)&quot;.<br /> |-<br /> | Trophy installation erased from hdd but indexed in &quot;XMB database&quot; || 0x80022D1E || &quot;Registration of the trophy information could not be completed. The game will quit (80022D1E)&quot;. After error 0x80022D74 and after erasing the trophy folder manually, in the next boot the game tries to install trophies but the error appears (at this point &quot;XMB database&quot; is updated and the indexed copy of the installation is deleted), after this if trying to boot the game again the trophy installation is completed and the game works normally<br /> |-<br /> | Trophy installation not updateable || 0x80022D55 || &quot;Registration of the trophy information could not be completed. The game will quit (80022D55)&quot;. Erase old trophy installation, rebuild database, and install new trophy version<br /> |-<br /> | Trophy update installer missing || 0x80022D74 || &quot;Registration of the trophy information could not be completed. The game will quit (80022D74)&quot;.<br /> |-<br /> | Trophy Data is corrupted || 0x80022D86 || &quot;Registration of the trophy information could not be completed. The game will quit (80022D86)&quot; : Enter Safe Mode and select &quot;Restore File system.&quot; / If you still have the issue, delete the User and re-create the User. Then sync the trophy data by logging in to your Sony Entertainment Network account, then go to [Trophy Collection] under (Games). / If error persist, replace harddrive. // can also be generated by setting wrong (old) date/time.<br /> |-<br /> | cVTRM error || 0x80022d90 || bad cVTRM region in flash<br /> |-<br /> | || 0x80023320 || &quot;An error occurred during the download operation. (80023320)&quot; (with external device selected as destination for storage).<br /> |-<br /> | Partition error || 0x80028347 || There is no partition for installing another system on the harddisk (when selecting Install OtherOS from XMB on 1.02 or higher). Solution: make sure there is a partition with Harddisk Format Utility from XMB.<br /> |-<br /> | Restore error || 0x800283F0 || The restore operation could not be completed. The system will restart. (800283F0) // solutions: ¨I have just found that this appears to have been due to my PSP being registered to my PS3. Unregistered it, completed a backup, swapped in the new formatted HDD, restore completed successfully.¨ / &quot;My protected saves did not copy over from a full restore from my back-up. Before I did my back-up I copied my protected saves over to PS+ cloud as this allows for locked/protected saves to be copied.&quot;<br /> |-<br /> | || 0x80028F08 || &quot;An error occurred during the start operation. (80028F08)&quot;, when related to PARAM.SFO (with unsupported or corrupted Data ICON), can be resolved (not every time) by pressing triangle one time and launch the game from start or back from the ICON. When related to eboot.bin, combined with error 80010006 / 80010009 / 80010017, check the path for this type of eboot.<br /> |-<br /> | || 0x80028F10 || &quot;You cannot play this game at the current video output setting (80028F10)&quot; <br /> This occurs because the game you are trying to play will only work at 16:9 resolution, and your PS3 is set for 4:3 resolution. 2 solutions: &lt;br /&gt;1) Go to Display Settings then HDMI (or whatever your connection is) and choose Automatic; -or- &lt;br /&gt;2) Go to Display Settings and under select Video Display Output: select Composite or S-Video, whichever type of connection you use. Then choose 16:9 Resolution.<br /> |-<br /> | || 0x80028F14 || &quot;An error occurred during the start operation (80028f14)&quot;, mostly caused by bad laser / user trying to directboot via app_home instead of mounting first / old/ancient payload / with malformed PARAM.SFO (unsupported or corrupted data ICON).<br /> |-<br /> | PS2 mode error || 0x80028F17 ||&quot;An error occurred during the start operation (80028F17),&quot; PlayStation 2 disc Boot Error, also happen with PS1 PSN games (either due to customed SFO or eboot.pbp&lt;!--// will try to remember and reproduce to determinate if SFO or Eboot.pbp was the problem //--&gt;).<br /> |-<br /> | || 0x80028F18 || Ps2 Disc Error, unsupported disc; eg. Utility discs, BB discs, IQ Remix game etc. ode).<br /> |-<br /> | || 0x80028F19 || PS2 Disc Error , fsck; the internal PS2 disk got corrupted and I guess that you can use HDD utility disc to fix it<br /> |-<br /> | || 0x80028F1A || Ps2 Disc Error , invalbnnetcfg; network config error<br /> |-<br /> | msg_error_cannot_play_ps2disc_scee/scea/scej || 0x80028F17 || &quot;This title is not currently compatible with the PS3 system. If you update your system software the title may become compatible with your system.&quot; / target id 0x81<br /> |-<br /> | msg_error_cannot_play_ps2disc_scee/scea/scej || 0x80028F18 || &quot;This title is not currently compatible with the PS3 system. If you update your system software the title may become compatible with your system.&quot; / target id 0x82<br /> |-<br /> | msg_error_cannot_play_ps2disc_scee/scea/scej || 0x80028F19 || &quot;This title is not currently compatible with the PS3 system. If you update your system software the title may become compatible with your system.&quot; / target id 0x83<br /> |-<br /> | msg_error_cannot_play_ps2disc_scee/scea/scej || 0x80028F1A || &quot;This title is not currently compatible with the PS3 system. If you update your system software the title may become compatible with your system.&quot; / target id 0x84<br /> |-<br /> | msg_error_cannot_play_ps2disc_scee/scea/scej || 0x80028F1B || &quot;This title is not currently compatible with the PS3 system. If you update your system software the title may become compatible with your system.&quot; / target id 0x85<br /> |-<br /> | msg_error_cannot_play_ps2disc_scee/scea/scej || 0x80028F1C || &quot;This title is not currently compatible with the PS3 system. If you update your system software the title may become compatible with your system.&quot; / target id 0x86<br /> |-<br /> | msg_error_cannot_play_ps2disc_scee/scea/scej || 0x80028F1D || &quot;This title is not currently compatible with the PS3 system. If you update your system software the title may become compatible with your system.&quot; / target id 0x87<br /> |-<br /> | msg_error_cannot_play_ps2disc_scee/scea/scej || 0x80028F1E || &quot;This title is not currently compatible with the PS3 system. If you update your system software the title may become compatible with your system.&quot; / target id 0x88<br /> |-<br /> | || 0x80028F22 || &quot;An error occurred during the start operation&quot; e.g.: Starting from BD emu (not from app_home) a game without PARAM.SFO, malformed /combined ATTRIBUTE flags. <br /> |-<br /> | || 0x80029023 || Exchanging Key Information exchange has timed out<br /> |-<br /> | || 0x80029024 || &quot;The attempt to obtain an IP address has timed out&quot;.<br /> |-<br /> | || 0x80029208 || Error loading user profile after update [http://www.ps3hax.net/showthread.php?t=69457]<br /> |-<br /> | || 0x80029301 || An error occurred during the delete operation (attempting to delete some ps2 homebrew from virtual mem card)<br /> |-<br /> | || 0x80029303 || &quot;An error occurred during the copy operation.&quot; (attempting to copy PS1 save data with header malformed(.PSV) to internal memory card)<br /> |-<br /> | || 0x80029901 || &quot;To play this BD, you must renew the encryption key.<br /> Perform a system software update to renew the encryption key.&quot;<br /> |-<br /> | || 0x80029902 || Playback of BDs is prohibited on this system.<br /> |-<br /> | || 0x80029903 || This is an invalid disc.<br /> |-<br /> | || 0x80029904 || &quot;To play this BD, you must renew the encryption key.<br /> Perform a system software update to renew the encryption key.&quot;<br /> |-<br /> | || 0x80029905 || This is an invalid disc.<br /> |-<br /> | || 0x80029906 || Can’t playback burn BD movie, missing PS3_VPRM.<br /> |-<br /> | || 0x80029907 || Playback of BDs is prohibited on this system.<br /> |-<br /> | || 0x8002990C || The data type is not supported.<br /> |-<br /> | || 0x8002990D || This video cannot be played.<br /> |-<br /> | || 0x8002990E || Playback of this disc using the connected device is prohibited.<br /> |-<br /> | || 0x8002990F || Playback of BDs is prohibited on this system.<br /> |-<br /> | || 0x80029910 || Playback of this disc using the connected device is prohibited.<br /> |-<br /> | || 0x80029911 || Playback of this disc using the connected device is prohibited.<br /> |-<br /> | || 0x80029912 || This is an invalid disc.<br /> |-<br /> | || 0x80029920 || This video cannot be played.<br /> |-<br /> | || 0x80029921 || This video cannot be played.<br /> |-<br /> | || 0x80029922 || This disc cannot be played. The region code is not correct.<br /> |-<br /> | || 0x80029923 || This video cannot be played.<br /> |-<br /> | || 0x80029925 || This video cannot be played.<br /> |-<br /> | || 0x80029930 || This video cannot be played.<br /> |-<br /> | || 0x80029931 || An error has occurred.<br /> |-<br /> | || 0x80029932 || This video cannot be played.<br /> |-<br /> | Can't read a disc || 0x80029940 || The PS3 could not read the disc or the disc is dirty/scratched. (Disable the Super-White settings)<br /> |-<br /> | Issue playing disc || 0x80029941 || The PS3 could not read the disc or the disc is not supported.<br /> |-<br /> | || 0x80029942 || Video in the PAL broadcast standard is not supported.<br /> |-<br /> | || 0x80029943 || Video in the NTSC broadcast standard is not supported.<br /> |-<br /> | || 0x80029944 || This disc cannot be played. The region code is not correct.<br /> |-<br /> | Unable to play Blu-ray Disc || 0x80029945 || Can’t playback burn BD movie<br /> |-<br /> | Issue playing disc || 0x80029946 || Attempting to play burnt Dual layer NTSC disc on a PAL ps3 (workaround is to transfer files to ps3 via TVersity)<br /> |-<br /> | || 0x80029947 || An error has occurred.<br /> |-<br /> | || 0x80029948 || This content cannot be played. There is not enough free space on the system storage<br /> |-<br /> | || 0x80029949 || This video cannot be played.<br /> |-<br /> | || 0x8002994A || Playback stopped. The content being played is protected by Cinavia™ and is not authorized for playback on this device. For more information, see http://www.cinavia.com. Message Code 1.<br /> |-<br /> | || 0x80029950 || This video cannot be played.<br /> |-<br /> | || 0x80029962 || This video cannot be played.<br /> |-<br /> | || 0x8002997B || <br /> |-<br /> | || 0x8002997D || <br /> |-<br /> | || 0x800299A0 || This video cannot be played. (Solution: Update AACS keys/Firmware)<br /> |-<br /> | || 0x800299AA || This video cannot be played.<br /> |-<br /> | || 0x800299AE || This video cannot be played.<br /> |-<br /> | || 0x800299E1 || An error has occurred.<br /> |-<br /> | || 0x800299E2 || An error has occurred.<br /> |-<br /> | || 0x800299E3 || This video cannot be played.<br /> |-<br /> | DRL error || 0x800299D2 || BD Player process startup failed. (BD/DVD/AVCHD MKB mismatch DRL error&lt;!--//http://www.ps3devwiki.com/index.php?title=Downgrade_BluRay_Playback_Issue//--&gt; (or trying to watch BD/DVD/AVCH on converted CEX&amp;gt;DEX))<br /> |-<br /> | || 0x80029c78 || Error occurred while accessing storage media. <br /> |-<br /> | || 0x80029C7F || &quot;An error has occurred.&quot; while accessing Update via System Storage/Delete Update Data on System Storage (e.g. when System Storage folder contains PUP without version to check lowest applicable firmware version). <br /> |-<br /> | || 0x80029caa || Error occurred while checking update data. // Mostly caused by TargetID mismatch between EID and Firmware wanting to install - e.g. DEX or Rebug DEX kernel and installing a CEX firmware.<br /> |-<br /> | || 0x80029CCA || Error occurred while checking update data.<br /> |-<br /> | || 0x8002B241 || DVI has no audio.<br /> |-<br /> | || 0x8002B401 || Error when creating savedata. (&quot;source&quot; savedata files inside the game are not valid, e.g: PS3_GAME/USRDIR/CONTENT/SAVEDATA/PIC1.PNG with wrong size).<br /> |-<br /> | || 0x8002B71A || Possible NAT Error , Can log onto Game Server but can’t join game and can’t host game<br /> |-<br /> ! colspan=&quot;3&quot; id=&quot;0x8002f..._-_PUP_.2F_Update_errors&quot; | [[#0x8002f... - PUP / Update errors]]<br /> |-<br /> | Update success || 0x8002F000 || Not an error: Success installing/downgrading in service mode. &quot;manufacturing updating SUCCESS(0x8002f000)&quot;<br /> |-<br /> | Update error || 0x8002F002 || [http://www.pastie.org/3724383 Update VSH Package done(0x8002f002) / Updating or Verifying failure 0x8002f002 / manufacturing updating FAILURE(0x8002f002)] // Possibly bad firmware PUP, bad USB stick or harddrive going bad in PS3. Check PUP, try other stick and replace harddrive.<br /> |-<br /> | Update error || 0x8002F048 || Error with installing Firmware update in service mode: &quot;start Updating Proccess. UpMng.UpdatePackage() failure. manufacturing updating FAILURE(0x8002f048)&quot; // Check if PUP to install is in root of stick and named PS3UPDAT.PUP<br /> |-<br /> | Update error || 0x8002F057 || Error with installing Firmware update in service mode: &quot;Bul-ray Disc Player Revoke done(0x8002f057). Updating or Verifying failure 0x8002f057. UpMng.UpdatePackage() failure. manufacturing updating FAILURE(0x8002f057)&quot; // caused by downgrading and using [http://pastebin.com/j97SpE2J normal lv2_diag.self] and not a noBD firmware (using the [http://pastebin.com/9tTfAs2J jaicrab lv2_diag.self] as workaround will cause one ROS to be empty and can result in RLOD/GLOD/RSOD).<br /> |-<br /> | Update error || 0x8002F087 || Error with installing Firmware update in service mode: &quot;Update VSH Package done(0x8002f087), <br /> Updating or Verifying failure 0x8002f087, UpMng.UpdatePackage() failure, manufacturing updating FAILURE(0x8002f087)&quot; // can be caused by bad vsh, broken harddrive or wrong spoofing.<br /> |-<br /> | Update error || 0x8002F0C1 || &quot;An error occurred during the update operation. (8002F0C1)&quot; -&gt; Download error. Manual download the update with PC, put on /PS3/UPDATE/PS3UPDAT.PUP and install in recovery instead.<br /> |-<br /> | Update error || 0x8002F0E0 || Error with installing Firmware update. Harddrive is not found or disconnected.<br /> |-<br /> | Update error || 0x8002F107 || [http://www.pastie.org/3724398 Update VSH Package done(0x8002f107) / Updating or Verifying failure 0x8002f107 / manufacturing updating FAILURE(0x8002f107)] // Possibly bad firmware PUP, bad USB stick or harddrive going bad in PS3. Check PUP, try other stick and replace harddrive.<br /> |-<br /> | Update error || 0x8002F13E || Error with installing Firmware update. Make sure the sourcedrive with the PUP is readable and/or reboot the system first<br /> |-<br /> | Update error || 0x8002F142 || Error with installing Firmware update. Make sure the sourcedrive with the PUP is readable and/or reboot the system first<br /> |-<br /> | Update error || 0x8002F147 || Error with installing Firmware update. Make sure the sourcedrive with the PUP is readable and reboot the system first<br /> |-<br /> | Update error || 0x8002F149 || Error with installing Firmware update. Make sure the sourcedrive with the PUP is readable and reboot the system first<br /> |-<br /> | Update error || 0x8002F14A || Error with installing Firmware update. Make sure the sourcedrive with the PUP is readable and/or reboot the system first<br /> |-<br /> | Update error || 0x8002F14B || Error with installing Firmware update. Updating or Verifying failure of CoreOS on flash area (?bad flash blocks?) &lt;!--//(stef:CECHK/DIA-002 Spansion S29GL128N90TFIR2 after successfull downgrade, tried to downgrade to 3.50 prepatched lv1-sysconhashes but errors out)//--&gt;<br /> |-<br /> | Update error || 0x8002F14E || Error with installing Firmware update. (BD)Drive not found or disconnected. // or CoreOS region failure when in log &quot;Update Core OS Package done(0x8002f14e)&quot; or Revoke region failure when in log &quot;Update Package Revoke list done(0x8002f14e)&quot;<br /> |-<br /> | ?corrupt? || 0x8002F153 || firmware related error - can be generated by using the MinVerChk PUP in factory service mode (must NEVER do that!)<br /> |-<br /> | ?corrupt? || 0x8002F155 || solution: power down with power button remove the power cord for a few minutes then reboot (sony message:if this doesn't work contact sony)<br /> |-<br /> | ?corrupt? || 0x8002F156 || NAND Downgrade eror - [http://pastebin.com/sURmGqq3 UpMng.UpdatePackage() failure: manufacturing updating FAILURE(0x8002f156)]<br /> |-<br /> | ?corrupt? || 0x8002F157 || firmware related error / HDD Exchange error - 3.56-1st BUG.&lt;!--//judges//--&gt; Also happens when you try to Upgrade from 999 Downgrader to another Non-999 CFW. Go to OFW 3.55, then upgrade to the other CFW &lt;!--//j41lbr34kxp@gmail.com--&gt; <br /> |-<br /> | ?corrupt? || 0x8002F15E || CoreOS firmware related error&lt;!--//TiGra-Dri//--&gt;<br /> |-<br /> | Update error || 0x8002F165 || Error with installing Firmware update. Make sure the sourcedrive with the PUP is readable and reboot the system first<br /> |-<br /> | Firmware data is corrupt || 0x8002F169 || Error when checking the firmware data (after unpacking)<br /> |-<br /> | Update error || 0x8002F174 || Error with installing Firmware update. Make sure the sourcedrive with the PUP is readable and/or reboot the system first<br /> |-<br /> | Update error || 0x8002F176 || Error with installing Firmware update. Make sure the sourcedrive with the PUP is readable and reboot the system first<br /> |-<br /> | Update error || 0x8002F19D || Error with installing Firmware update. Make sure the sourcedrive with the PUP is readable and reboot the system first<br /> |-<br /> | Update error || 0x8002F1B0 || Error with installing Firmware update. Make sure the sourcedrive with the PUP is readable and reboot the system first<br /> |-<br /> | Update error || 0x8002F1B3 || Error with installing Firmware update. Make sure the sourcedrive with the PUP is readable and reboot the system first<br /> |-<br /> | Update error || 0x8002F1C1 || Error with installing Firmware update. Make sure the sourcedrive with the PUP is readable and reboot the system first - DFU Start Firmware Update failed.<br /> |-<br /> | Update error || 0x8002F1C3 || DFU End Firmware Update failed.<br /> |-<br /> | Update error || 0x8002F1F0 || Bluetooth/WLAN error. Check the connection of the Wifi/BT board, reboot system and reinstall firmware.<br /> |-<br /> | Update error || 0x8002F1F9 || Error with installing Firmware update. Check the connection of the Wifi/BT board, reboot system and reinstall firmware.<br /> |-<br /> | Update error || 0x8002F220 || Issue with System Restore or installing Firmware update in Recovery Mode. Reboot system and reinstall firmware.<br /> |-<br /> | Update error || 0x8002F225 || Error with installing Firmware update. The PUP is not recognised as valid update.<br /> |-<br /> | Update error || 0x8002F22F || Issue with the PS3 hard drive<br /> |-<br /> | || 0x8002F235 || Error with installing Firmware update. &quot;Data Is Corrupted&quot;<br /> |-<br /> | Update error || 0x8002F23F || Error with installing Firmware update. The PUP is not recognised as valid update. (with 3.56 minver console)<br /> |-<br /> | Update error || 0x8002F26A || Error with installing Firmware update. [http://www.ps3hax.net/showthread.php?t=36913 &quot;A serious error has occurred&quot;]<br /> |-<br /> | Update error || 0x8002F271 || Error with installing Firmware update. &quot;An error occurred during the format operation.&quot;<br /> |-<br /> | Update error || 0x8002F281 || Error with installing Firmware update. Check the connection of the Wifi/BT board.<br /> |-<br /> | Issue with the PS3 harddrive. || 0x8002F281 || Issue with the PS3 harddrive. Reboot system and use Recovery Menu options. If error persist, Format the hd on a pc, reinsert it to the ps3, install update (normal/recovery mode), format hd on install. If still not fixed: exchange harddrive.&lt;br /&gt;Note: This error also comes up when trying to install a 1.5TB HDD as internal HDD. <br /> Plug it into the pc, then open command prompt. <br /> <br /> '''1)''' Type &quot;diskpart&quot; <br /> '''2)''' Type &quot;list disk&quot; - Get the disk number for the drive you are fixing. <br /> '''3)''' Type &quot;select disk 1&quot; - If the disk is not #1, change this accordingly. <br /> '''4)''' Type &quot;clean&quot; <br /> '''5)''' Type &quot;create partition primary&quot; <br /> '''6)''' Type &quot;select partition 1&quot; <br /> '''7)''' Type &quot;active&quot; <br /> '''8)''' Type &quot;assign&quot; - When it asks you to format, click cancel.<br /> '''9)''' Type &quot;exit&quot; <br /> '''9)''' Type &quot;exit&quot;<br /> '''10)''' Reinsert into your ps3, and boot it into safe mode, it may take awhile to boot into safe mode.<br /> '''11)''' Choose to update, it should ask you to format, do so then update.<br /> &lt;br /&gt;<br /> Issue with flash. R/B control signal for NAND not connected (leg, track, or via for R/B brokens when attempting to solder a flasher on it)<br /> <br /> |-<br /> | Update error || 0x8002F282 || Issue with System Restore or installing Firmware update in Recovery Mode. Reboot system and reinstall firmware.<br /> |-<br /> | Update error || 0x8002F285 || Issue with System Restore or installing Firmware update in Recovery Mode. Reboot system and reinstall firmware.<br /> |-<br /> | Update error || 0x8002F2B5 || Error with installing Firmware update. The PUP is not recognised as valid update.<br /> |-<br /> | Update error || 0x8002F2BF || Issue with System Restore or installing Firmware update in Recovery Mode. Reboot system and reinstall firmware.<br /> |-<br /> | Downgrade error || 0x8002F2C4 || Error when downgrading below applicable firmware version with QA-flag from Recovery Mode<br /> |-<br /> | Update error || 0x8002F2C5 || Error with installing Firmware update. The PUP is not recognised as valid update. (Can be generated by pulling the storage device with the PUP when it is still in checking stage. DANGEROUS!). Or when trying to install MinVerCheck.PUP inmediatly after an hdd replacement in PS3 models with a NOR flash<br /> |-<br /> | Update error || 0x8002F2CF || Issue with the Mass Storage Device when installing firmware, or PS3 hard drive<br /> |-<br /> | || 0x8002F2E0 || HDD Probe/Init failed. (No HDD attached)<br /> |-<br /> | || 0x8002F2E2 || <br /> |-<br /> | || 0x8002F2E3 || HDD Search Regions failed. (encrypted HDD incompatible with the consoles) (Formating...)<br /> |-<br /> | || 0x8002F2E4 || The data is corrupted. (e.g. bad promo_flags.txt flag set)<br /> |-<br /> | || 0x8002F2E5 || PUP filepath error.<br /> |-<br /> | || 0x8002F2E6 || No applicable Data found.<br /> |-<br /> | Update error || 0x8002F2F0 || Error with installing Firmware update. The PUP is not recognised as valid update.<br /> |-<br /> | Update error || 0x8002F2F2 || Error with installing Firmware update. The PUP is not recognised as valid update<br /> |-<br /> | Update error || 0x8002F310 || Error with installing Firmware update. See Service Mode log to what flash region is corrupt<br /> |-<br /> | Update error || 0x8002F311 || Error with installing Firmware update. See Service Mode log to what flash region is corrupt<br /> |-<br /> | Update error || 0x8002F312 || Error with installing Firmware update. See Service Mode log to what flash region is corrupt<br /> |-<br /> | Update error || 0x8002F313 || Error with installing Firmware update. Shows up in Service Mode log as 'Update Core OS Package done(0x8002f313)' possible caused by bad ROS<br /> |-<br /> | Update error || 0x8002F325 || Error with installing Firmware update. data corrupted<br /> |-<br /> | Update error || 0x8002F333 || Error with installing Firmware update. data corrupted // Issue with the internal harddrive.<br /> |-<br /> | Update error || 0x8002F953 || Error with installing Firmware update.<br /> |-<br /> | Update error || 0x8002F956 || Error with installing Firmware update. (bad harddrive?)<br /> |-<br /> | Update error || 0x8002F957 || Error with installing Firmware update. The data is corrupted (firmware in flash does not allow the MFW installation as it does not contain the needed patches)<br /> |-<br /> | Update error || 0x8002F976 || Error with installing Firmware update. data corrupted<br /> |-<br /> | Update error || 0x8002F95E || Error with installing Firmware update (when using Rogero 3.55 DEX DG v1 on DEX 4.20 system).<br /> |-<br /> | || 0x8002F967 || Error when checking PUP version (e.g. when using manipulated PUP without version to check lowest applicable firmware version)<br /> |-<br /> | || 0x8002F969 || Error when checking PUP version (Seen on DECR-1400)<br /> |-<br /> | || 0x8002F96F || Error when downgrading DEX console with special PUP. To solve: reset console by holding power button until it beeps<br /> |-<br /> | || 0x8002F994 || Too many people downloading the update (download it later on)<br /> |-<br /> | An error has occured || 0x8002FB22 || Error can be generated with a malformed license.xml file in PS3UPDAT.PUP <br /> |-<br /> | || 0x8002F21x || (Set Recovery Mode Flag On (cex/dex/decr)) / (Connecting Controller)<br /> |-<br /> | || 0x8002F22x || (Connect Media containing FW equal or higher)<br /> |-<br /> | || 0x8002F23x || (System Partition formating) / (Search Updater) <br /> |-<br /> | || 0x8002F24x || (Formatting)<br /> |-<br /> | || 0x8002F25x || hdd probing<br /> |-<br /> | || 0x8002F26x || region searching<br /> |-<br /> | || 0x8002F27x || preparing partitions<br /> |-<br /> | || 0x8002F28x || Setup Updating Environment<br /> |-<br /> | || 0x8002F29x || <br /> |-<br /> | || 0x8002F2Ax || <br /> |-<br /> | || 0x8002F2Bx || (Turning Off Recovery Mode Flag)<br /> |-<br /> | || 0x8002F2Cx || Search Updater (Formating preparing Update)<br /> |-<br /> | || 0x8002F2Dx || (Formatting - Preparing to Update)<br /> |-<br /> | || 0x8002F2Ex || (Turning On/Off Recovery Mode Flag)<br /> |-<br /> ! colspan=&quot;3&quot; id=&quot;0x8001..._RSOD.2FBSOD_errors&quot; | [[#0x8001... RSOD/BSOD errors]]<br /> |-<br /> | || 0x80010514 || RSOD - VersionFile::Get() (index.dat failures)<br /> |-<br /> | || 0x80028C03 || BSOD - NPXS01003, net if ctl fail (game updates,commerce, friend stuff ...)<br /> |-<br /> | || 0x80028C10 || BSOD - xregistry<br /> |-<br /> | || 0x80028C12 || BSOD - xregistry<br /> |-<br /> | || 0x80030001 || Deleting messages from inbox<br /> |-<br /> | || 0x8003041F || An error occurred during the copy operation (using media server)<br /> |-<br /> | || 0x80030506 || BSOD - empty sce net ctl ptr's<br /> |-<br /> | || 0x8003050F || BSOD - create_open_database 0x25 failure, xregistry empty file descriptor<br /> |-<br /> | || 0x80030517 || BSOD<br /> |-<br /> | || 0x8003116D || BSOD - xregistry font related<br /> |-<br /> | || 0x80031175 || BSOD - xregistry<br /> |-<br /> | || &amp;lt;0x80031200 || BSOD + &gt;0x80031700 = rsod - xregistry: atrac+wma activate/dtcp ip enable/hdmi failure/menu bdvd config/(list) chat config/word register(dictionary)/edit np environment+marlin+ad catalog version+ad server url+application type+adhoc ssid prefix+update server url+np title id+fake limit size+gameutil dirname debug/ failure of swreset.self execution/Device Config/back prev setting/Display (+Output) Config/First Config/music+sound config (+wizard)<br /> |-<br /> | || &amp;gt;0x80031700 || RSOD<br /> |-<br /> !colspan=&quot;3&quot; | other errors<br /> |-<br /> | || 0x80030517 || It seems to happen when you copy large media files.<br /> |-<br /> | || 0x8003051E || Game will not save<br /> |-<br /> | || 0x80030920 || An error occurred during the copy operation, the file may be corrupt or there isn't enough memory (Try copying data from original source)<br /> |-<br /> | || 0x80031150 || &quot;Setting information is corrupted.Press the x button to repair and restore default&quot;<br /> |-<br /> | || 0x80031601 || Error Creating Account // seems to occur when the user number doesn't match<br /> |-<br /> | || 0x80031602 || Error Renaming Account<br /> |-<br /> | || 0x80031603 || Error No Account name given<br /> |-<br /> | PAC_ASSERT || 0x8004ffff || <br /> |-<br /> | PAC_CANNOT_DOWNLOAD_AGAIN || 0x8004000e || <br /> |-<br /> | PAC_CRITICAL_OPERATION_IN_PROGRESS || 0x8004000f || <br /> |-<br /> | PAC_DOWNLOADER_IS_ALREADY_ACTIVATED || 0x8004000d || <br /> |-<br /> | PAC_INVALID_CAST_EXCEPTION || 0x8004000a || <br /> |-<br /> | PAC_INVALID_CONTENTTYPE || 0x80040001 || <br /> |-<br /> | PAC_INVALID_OPERATION || 0x80040002 || <br /> |-<br /> | PAC_SESSION_NOT_ESTABLISHED || 0x8004000c || <br /> |-<br /> | PAC_THREADINVOKER_EXCEPTION || 0x8004000b || <br /> |-<br /> | PAC_UNKNOWN_CATEGORY_TYPE || 0x80040004 || <br /> |-<br /> | PAC_UNKNOWN_CONTENT_TYPE || 0x80040003 || <br /> |-<br /> | PAC_UNKNOWN_DRM_CONTENT_TYPE || 0x80040008 || <br /> |-<br /> | PAC_UNKNOWN_DRM_TYPE || 0x80040009 || <br /> |-<br /> | PAC_UNKNOWN_PRODUCT_TYPE || 0x80040005 || <br /> |-<br /> | PAC_UNKNOWN_SKU_INFO_TYPE || 0x80040006 || <br /> |-<br /> | PAC_UNKNOWN_VOUCHER_TYPE || 0x80040007 || <br /> |-<br /> | PAC_URL_LOADER_WEB_EXCEPTION || 0x80040010 || <br /> |-<br /> | || 0x8004d844 || Remote Play Connection error (cannot connect to PS3)<br /> |-<br /> | bluetooth || 0x80110104 || &quot;An error occured during the register operation. Try to register again.&quot; (when bluetooth device is disconnected during the register operation).<br /> |-<br /> | bluetooth || 0x80110106 || &quot;An error occured during the register operation. Try to register again.&quot; (when trying register bluetooth device without pass key.<br /> |-<br /> | bluetooth || 0x80110108 || &quot;An error occured during the register operation. Try to register again.&quot; (with wrong pass key)<br /> |-<br /> | bluetooth || 0x80110113 || &quot;An error occured during the register operation. Try to register again.&quot; (with wrong pass key)<br /> |-<br /> | bluetooth || 0x80110118 || &quot;An error occured during the register operation. Try to register again.&quot; (time expired probably)<br /> |-<br /> | || 0x80130203 || PS3 connects to internet but not to network - Typically means that the required ports are not open to connect to store but PS3 can connect to internet.<br /> |-<br /> | || 0x8013030? || System Error due to failed update download<br /> |-<br /> | || 0x8013030F || Access Point not detected<br /> |-<br /> | || 0x8041040F || Communication with the server failed. A dsn error has occured.<br /> |-<br /> | || 0x80410418 || DNS Error<br /> |-<br /> | || 0x80410A0B || Internal PSP error, hardware fault. Send back to be replaced/fixed.<br /> |-<br /> | || 0x80610180 || Fatal error occurred with the decoder itself&lt;br /&gt;CELL_VDEC_ERROR_FATAL indicates that an error having to do with the decoder itself occurred. For example, this error will occur if a data structure inside the decoder required for the decoding process becomes inconsistent due to an unknown reason and decoding cannot be continued. Statuses other than CELL_VDEC_ERROR_FATAL indicate that an unexpected error occurred with the OS or library used inside the decoder. In such cases, too, the decoding process cannot be continued. CELL_OK will never be returned for the status. [http://psx-scene.com/forums/f6/article-%5Bupdate%5D-multiman-v4-65-01-base-cex-deanks-showtime-builds-124904/index8.html#post1150131]<br /> |-<br /> | || 0x8071053D || Hard boot the PS3, turn off the PS3 to stand-by, flip off the back switch and completely remove the power cord. Shut off your modem/router, for approx. 5 minutes, then turn the modem back up first and let it sync. Then turn the router back on (if you're using one) and let it sync. Reconnect your power cable and flip the back switch up again. Then make a new network connection<br /> |-<br /> | || 0x80710541 || The connection to the server timed out.<br /> |-<br /> | || 0x80710723 || Possible Port Error. Try opening ports , TCP port: 80, 443, 5223 and UDP port: 3478, 3479, 3658.<br /> |-<br /> | || 0x80710B23 || PS3 Network is Down or PS3 Network is too busy to respond<br /> |-<br /> | || 0x80710B36 || &quot;An error has occured.&quot; PS3 Network (&quot;What's news) is too busy to respond.<br /> |-<br /> | || 0x80710D23 || Turn the PS3 off for approx. 30 minutes with the power toggle, not standby mode<br /> |-<br /> | || 0x80710D36 || HTTP header &quot;content-length&quot; is bigger than the actual content returned by the server<br /> |-<br /> | ||| 0x81010002 || &quot;An error occurred during the copy operation.&quot; From internal corrupted/modified (overwrite previously the modified .VM1) save data (PS1, .VM1) to others internals memory card (them, error 0xFFFFFFFE with this message) or USB.<br /> |-<br /> | || 0x81010006 || &quot;An error occurred during the copy operation.&quot; From internal corrupted/modified (overwrite previously the modified .VM1) save data (PS1, .VM1) to others internals memory card or USB. <br /> |-<br /> | || 0x8101002F || &quot;An error occurred during the copy operation.&quot; From internal corrupted/modified (overwrite previously the modified .VM1) save data (PS1, .VM1) to others internals memory card or USB.<br /> |-<br /> | || 0x81019002 || Error copying saves from location A to location B not open to connect to store but PS3 can connect to Internet.<br /> |-<br /> |}<br /> <br /> <br /> <br /> {{Firmware}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=Flash:Encrypted_Individual_Data_-_eEID&diff=54131 Flash:Encrypted Individual Data - eEID 2019-08-07T18:51:44Z <p>Mysis: /* Encrypted Individual Data - eEID */</p> <hr /> <div>== Encrypted Individual Data - eEID ==<br /> <br /> This section of flash contains QA tokens<br /> <br /> It is 0x10000 in length (64 kb) but only the first 0x1DD0 is used, the rest is padded with FF<br /> <br /> It is composed of 6 sections numbered from 0 to 5<br /> <br /> eEID contains your system model data, your target ID, and your PS3 motherboard revision<br /> <br /> {|class=&quot;wikitable&quot;<br /> |-<br /> ! Section !! Usage !! Description !! [[iso module]]<br /> |-<br /> | [[Flash:Encrypted_Individual_Data_-_eEID#EID0|EID0]] || idps || [[Flash:Encrypted_Individual_Data_-_eEID#EID0|EID0]] is needed for loading parameters to isoldr for loading isolated SELF files on a SPE || aim_spu_module<br /> |-<br /> | [[Flash:Encrypted_Individual_Data_-_eEID#EID1|EID1]] || SCinit || ? + Syscon paring + Auth1/Auth2/Validate (see [[SC_Communication|SC Communication]] for more (log with logic analyzer)) || ?sc_iso_factory or ss_sc_init?<br /> |-<br /> | [[Flash:Encrypted_Individual_Data_-_eEID#EID2|EID2]] || bd drive init || BD drive pairing || fdm_spu_module<br /> |-<br /> | [[Flash:Encrypted_Individual_Data_-_eEID#EID3|EID3]] || bd player || Movie Per_Device keys || AacsModule.spu.isoself CprmModule.spu.isoself<br /> |-<br /> | [[Flash:Encrypted_Individual_Data_-_eEID#EID4|EID4]] || bd driver key || ? + Drive_auth keys || sv_iso_spu_module, mc_iso_spu_module.self, me_iso_spu_module.self, me_iso_for_ps2emu.self<br /> |-<br /> | [[Flash:Encrypted_Individual_Data_-_eEID#EID5|EID5]] || DKI || ? Backup || ? Not used <br /> |}<br /> <br /> Note: For data structure of [[Flash:Encrypted_Individual_Data_-_eEID|EID]], see [[Cex2Dex#LibeEID|LibeEID]]<br /> <br /> === Header ===<br /> ==== example ====<br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! NOR: 0x002F000 - 0x002F00F !! NAND: 0x0080800 - 0x008080F<br /> |-<br /> | &lt;pre&gt;Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F<br /> <br /> 0002F000 00 00 00 06 00 00 1D D0 00 00 00 00 00 00 00 00 .......Ð........&lt;/pre&gt; || &lt;pre&gt;Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F<br /> <br /> 00080800 00 00 00 06 00 00 1D D0 00 00 00 00 00 00 00 00 .......Ð........&lt;/pre&gt;<br /> |-<br /> |}<br /> ==== structure ====<br /> {|class=&quot;wikitable&quot;<br /> |-<br /> ! Address !! Length !! Value !! Description<br /> |-<br /> | 0x0 || 0x4 || 0x6 || Number of entries<br /> |-<br /> | 0x4 || 0x4 || 0x1DD0 || Length of entire eEID package<br /> |-<br /> | 0x8 || 0x8 || 0x0 || Unknown/Blank<br /> |}<br /> <br /> === File Table ===<br /> This is the whole file table<br /> <br /> ==== example ====<br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! NOR: 0x002F010 - 0x002F06F !! NAND: 0x0080810 - 0x008086F<br /> |-<br /> | &lt;pre&gt;Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F<br /> <br /> 0002F010 00 00 00 70 00 00 08 60 00 00 00 00 00 00 00 00 ...p...`........<br /> 0002F020 00 00 08 D0 00 00 02 A0 00 00 00 00 00 00 00 01 ...Ð... ........<br /> 0002F030 00 00 0B 70 00 00 07 30 00 00 00 00 00 00 00 02 ...p...0........<br /> 0002F040 00 00 12 A0 00 00 01 00 00 00 00 00 00 00 00 03 ... ............<br /> 0002F050 00 00 13 A0 00 00 00 30 00 00 00 00 00 00 00 04 ... ...0........<br /> 0002F060 00 00 13 D0 00 00 0A 00 00 00 00 00 00 00 00 05 ...Ð............&lt;/pre&gt; || &lt;pre&gt;Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F<br /> <br /> 00080810 00 00 00 70 00 00 08 60 00 00 00 00 00 00 00 00 ...p...`........<br /> 00080820 00 00 08 D0 00 00 02 A0 00 00 00 00 00 00 00 01 ...Ð... ........<br /> 00080830 00 00 0B 70 00 00 07 30 00 00 00 00 00 00 00 02 ...p...0........<br /> 00080840 00 00 12 A0 00 00 01 00 00 00 00 00 00 00 00 03 ... ............<br /> 00080850 00 00 13 A0 00 00 00 30 00 00 00 00 00 00 00 04 ... ...0........<br /> 00080860 00 00 13 D0 00 00 0A 00 00 00 00 00 00 00 00 05 ...Ð............&lt;/pre&gt;<br /> |-<br /> |}<br /> ==== structure ====<br /> 0x10 bytes per entry as follows:<br /> {|class=&quot;wikitable&quot;<br /> |-<br /> ! Address !! Length !! Value !! Description<br /> |-<br /> | 0x0 || 0x4 || 0x70 || Entry point<br /> |-<br /> | 0x4 || 0x4 || 0x860 || Length<br /> |-<br /> | 0x8 || 0x8 || 0x0 || EID number <br /> |}<br /> ====Typical EID entry addresses and lengths====<br /> Entry point listed is offset from base EID address (NOR:0x002F000 / NAND:0x0080800 in these examples) &lt;br /&gt;<br /> Absolute start address is base EID address + Entry point &lt;br /&gt;<br /> Absolute end address is base EID address + Entry point + Length<br /> {|class=&quot;wikitable&quot;<br /> |-<br /> ! colspan=&quot;3&quot; rowspan=&quot;2&quot; | Description !! rowspan=&quot;2&quot; | Entry point !! rowspan=&quot;2&quot; | Length !! colspan=&quot;2&quot; | NOR Address || colspan=&quot;2&quot; | NAND Address<br /> |-<br /> ! start !! end !! start !! end<br /> |-<br /> | colspan=&quot;3&quot; | [[Flash:Encrypted_Individual_Data_-_eEID#EID0|EID0]] || 0x70 || 0x860 || 0x002F070 || 0x002F8CF || 0x0080870 || 0x00810CF<br /> |-<br /> | || colspan=&quot;2&quot; | EID0 HEADER || 0x70 || 0x20 || 0x002F070 || 0x002F08F || 0x0080870 || 0x008088F<br /> |-<br /> | || colspan=&quot;2&quot; | EID0_0 || 0x90 || 0xC0 || 0x002F090 || 0x002F14F || 0x0080890 || 0x008094F<br /> |-<br /> | || || EID0_0_DATA || || 0x10 || || || || <br /> |-<br /> | || || EID0_0_PUB || || 0x28 || || || || <br /> |-<br /> | || || EID0_0_CERT_SIG || || 0x28 || || || || <br /> |-<br /> | || || EID0_0_CERT_PUB || || 0x28 || || || || <br /> |-<br /> | || || EID0_0_PRIV.ENC || || 0x20 || || || || <br /> |-<br /> | || || EID0_0_OMAC || || 0x10 || || || || <br /> |-<br /> | || || EID0_0_PAD || || 0x8 || || || || <br /> |-<br /> | || colspan=&quot;2&quot; | EID0_1 || 0x150 || 0xC0 || 0x002F150 || 0x002F20F || 0x0080950 || 0x0080A0F<br /> |-<br /> | || || EID0_1_DATA || || 0x10 || || || || <br /> |-<br /> | || || EID0_1_PUB || || 0x28 || || || || <br /> |-<br /> | || || EID0_1_CERT_SIG || || 0x28 || || || || <br /> |-<br /> | || || EID0_1_CERT_PUB || || 0x28 || || || || <br /> |-<br /> | || || EID0_1_PRIV.ENC || || 0x20 || || || || <br /> |-<br /> | || || EID0_1_OMAC || || 0x10 || || || || <br /> |-<br /> | || || EID0_1_PAD || || 0x8 || || || || <br /> |-<br /> | || colspan=&quot;2&quot; | EID0_2 || 0x210 || 0xC0 || 0x002F210 || 0x002F2CF || 0x0080A10 || 0x0080ACF<br /> |-<br /> | || || EID0_2_DATA || || 0x10 || || || || <br /> |-<br /> | || || EID0_2_PUB || || 0x28 || || || || <br /> |-<br /> | || || EID0_2_CERT_SIG || || 0x28 || || || || <br /> |-<br /> | || || EID0_2_CERT_PUB || || 0x28 || || || || <br /> |-<br /> | || || EID0_2_PRIV.ENC || || 0x20 || || || || <br /> |-<br /> | || || EID0_2_OMAC || || 0x10 || || || || <br /> |-<br /> | || || EID0_2_PAD || || 0x8 || || || || <br /> |-<br /> | || colspan=&quot;2&quot; | EID0_3 || 0x2D0 || 0xC0 || 0x002F2D0 || 0x002F38F || 0x0080AD0 || 0x0080B8F<br /> |-<br /> | || || EID0_3_DATA || || 0x10 || || || || <br /> |-<br /> | || || EID0_3_PUB || || 0x28 || || || || <br /> |-<br /> | || || EID0_3_CERT_SIG || || 0x28 || || || || <br /> |-<br /> | || || EID0_3_CERT_PUB || || 0x28 || || || || <br /> |-<br /> | || || EID0_3_PRIV.ENC || || 0x20 || || || || <br /> |-<br /> | || || EID0_3_OMAC || || 0x10 || || || || <br /> |-<br /> | || || EID0_3_PAD || || 0x8 || || || || <br /> |-<br /> | || colspan=&quot;2&quot; | EID0_4 || 0x390 || 0xC0 || 0x002F390 || 0x002F44F || 0x0080B90 || 0x0080C4F<br /> |-<br /> | || || EID0_4_DATA || || 0x10 || || || || <br /> |-<br /> | || || EID0_4_PUB || || 0x28 || || || || <br /> |-<br /> | || || EID0_4_CERT_SIG || || 0x28 || || || || <br /> |-<br /> | || || EID0_4_CERT_PUB || || 0x28 || || || || <br /> |-<br /> | || || EID0_4_PRIV.ENC || || 0x20 || || || || <br /> |-<br /> | || || EID0_4_OMAC || || 0x10 || || || || <br /> |-<br /> | || || EID0_4_PAD || || 0x8 || || || || <br /> |-<br /> | || colspan=&quot;2&quot; | EID0_5 || 0x450 || 0xC0 || 0x002F450 || 0x002F50F || 0x0080C50 || 0x0080D0F<br /> |-<br /> | || || EID0_5_DATA || || 0x10 || || || || <br /> |-<br /> | || || EID0_5_PUB || || 0x28 || || || || <br /> |-<br /> | || || EID0_5_CERT_SIG || || 0x28 || || || || <br /> |-<br /> | || || EID0_5_CERT_PUB || || 0x28 || || || || <br /> |-<br /> | || || EID0_5_PRIV.ENC || || 0x20 || || || || <br /> |-<br /> | || || EID0_5_OMAC || || 0x10 || || || || <br /> |-<br /> | || || EID0_5_PAD || || 0x8 || || || || <br /> |-<br /> | || colspan=&quot;2&quot; | EID0_6 || 0x510 || 0xC0 || 0x002F510 || 0x002F5CF || 0x0080D10 || 0x0080DCF<br /> |-<br /> | || || EID0_6_DATA || || 0x10 || || || || <br /> |-<br /> | || || EID0_6_PUB || || 0x28 || || || || <br /> |-<br /> | || || EID0_6_CERT_SIG || || 0x28 || || || || <br /> |-<br /> | || || EID0_6_CERT_PUB || || 0x28 || || || || <br /> |-<br /> | || || EID0_6_PRIV.ENC || || 0x20 || || || || <br /> |-<br /> | || || EID0_6_OMAC || || 0x10 || || || || <br /> |-<br /> | || || EID0_6_PAD || || 0x8 || || || || <br /> |-<br /> | || colspan=&quot;2&quot; | EID0_7 || 0x5D0 || 0xC0 || 0x002F5D0 || 0x002F68F || 0x0080DD0 || 0x0080E8F<br /> |-<br /> | || || EID0_7_DATA || || 0x10 || || || || <br /> |-<br /> | || || EID0_7_PUB || || 0x28 || || || || <br /> |-<br /> | || || EID0_7_CERT_SIG || || 0x28 || || || || <br /> |-<br /> | || || EID0_7_CERT_PUB || || 0x28 || || || || <br /> |-<br /> | || || EID0_7_PRIV.ENC || || 0x20 || || || || <br /> |-<br /> | || || EID0_7_OMAC || || 0x10 || || || || <br /> |-<br /> | || || EID0_7_PAD || || 0x8 || || || || <br /> |-<br /> | || colspan=&quot;2&quot; | EID0_8 || 0x690 || 0xC0 || 0x002F690 || 0x002F74F || 0x0080E90 || 0x0080F4F<br /> |-<br /> | || || EID0_8_DATA || || 0x10 || || || || <br /> |-<br /> | || || EID0_8_PUB || || 0x28 || || || || <br /> |-<br /> | || || EID0_8_CERT_SIG || || 0x28 || || || || <br /> |-<br /> | || || EID0_8_CERT_PUB || || 0x28 || || || || <br /> |-<br /> | || || EID0_8_PRIV.ENC || || 0x20 || || || || <br /> |-<br /> | || || EID0_8_OMAC || || 0x10 || || || || <br /> |-<br /> | || || EID0_8_PAD || || 0x8 || || || || <br /> |-<br /> | || colspan=&quot;2&quot; | EID0_9 || 0x750 || 0xC0 || 0x002F750 || 0x002F80F || 0x0080F50 || 0x008100F<br /> |-<br /> | || || EID0_9_DATA || || 0x10 || || || || <br /> |-<br /> | || || EID0_9_PUB || || 0x28 || || || || <br /> |-<br /> | || || EID0_9_CERT_SIG || || 0x28 || || || || <br /> |-<br /> | || || EID0_9_CERT_PUB || || 0x28 || || || || <br /> |-<br /> | || || EID0_9_PRIV.ENC || || 0x20 || || || || <br /> |-<br /> | || || EID0_9_OMAC || || 0x10 || || || || <br /> |-<br /> | || || EID0_9_PAD || || 0x8 || || || || <br /> |-<br /> | || colspan=&quot;2&quot; | EID0_A || 0x810 || 0xC0 || 0x002F810 || 0x002F8CF || 0x0081010 || 0x00810CF<br /> |-<br /> | || || EID0_A_DATA || || 0x10 || || || || <br /> |-<br /> | || || EID0_A_PUB || || 0x28 || || || || <br /> |-<br /> | || || EID0_A_CERT_SIG || || 0x28 || || || || <br /> |-<br /> | || || EID0_A_CERT_PUB || || 0x28 || || || || <br /> |-<br /> | || || EID0_A_PRIV.ENC || || 0x20 || || || || <br /> |-<br /> | || || EID0_A_OMAC || || 0x10 || || || || <br /> |-<br /> | || || EID0_A_PAD || || 0x8 || || || || <br /> |-<br /> | colspan=&quot;3&quot; | [[Flash:Encrypted_Individual_Data_-_eEID#EID1|EID1]] || 0x8D0 || 0x2A0 || 0x002F8D0 || 0x002FB6F || 0x00810D0 || 0x008136F<br /> |-<br /> | colspan=&quot;3&quot; | [[Flash:Encrypted_Individual_Data_-_eEID#EID2|EID2]] || 0xB70 || 0x730 ||0x002FB70 || 0x003029F || 0x0081370 || 0x0081A9F<br /> |-<br /> | || colspan=&quot;2&quot; | EID2_P_LEN || || || || || || <br /> |-<br /> | || colspan=&quot;2&quot; | EID2_S_LEN || || || || || || <br /> |-<br /> | || colspan=&quot;2&quot; | EID2_PAD || 0x28 || || || || || <br /> |-<br /> | colspan=&quot;3&quot; | [[Flash:Encrypted_Individual_Data_-_eEID#EID3|EID3]] || 0x12A0 || 0x100 || 0x00302A0 || 0x003039F || 0x0081AA0 || 0x0081B9F<br /> |-<br /> | colspan=&quot;3&quot; | [[Flash:Encrypted_Individual_Data_-_eEID#EID4|EID4]] || 0x13A0 || 0x30 || 0x00303A0 || 0x00303CF || 0x0081BA0 || 0x0081BCF<br /> |-<br /> | colspan=&quot;3&quot; | [[Flash:Encrypted_Individual_Data_-_eEID#EID5|EID5]] || 0x13D0 || 0xA00 || 0x00303D0 || 0x0030DCF || 0x0081BD0 || 0x00825CF<br /> |}<br /> <br /> Note: IDPS is present in EID0_0 and EID0_6. PSID is present in EID0_A. They're available only in decrypted form.<br /> <br /> === EID0 ===<br /> '''<br /> Indi manager can write to it &lt;br /&gt;<br /> AIM can rehash it<br /> '''<br /> <br /> ==== example ====<br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! NOR: 0x002F070 - 0x002F8CF !! NAND: 00080870 - 0x00810CF<br /> |-<br /> | &lt;pre&gt;Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F<br /> <br /> 0002F070 00 00 00 01 00 89 00 08 14 01 01 06 1B 91 1C 5C .....‰.......‘.\<br /> 0002F080 00 12 00 0B FC D1 D8 BE 6F F4 C8 D8 8F E1 C3 F7 ....üÑؾoôÈØ.áÃ÷<br /> ....<br /> 0002F8B0 5B B4 1B C2 81 59 79 1A E6 DA F1 FD 5C E8 5B 67 [´.Â.Yy.æÚñý\è[g<br /> 0002F8C0 EA 85 A8 F6 9F A1 C6 A2 5E 59 C5 61 A9 5F 6D 2E ê…¨öŸ¡Æ¢^YÅa©_m.&lt;/pre&gt; || &lt;pre&gt;Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F<br /> <br /> 00080870 00 00 00 01 00 8A 00 01 10 00 52 BC C7 11 6D B2 .....Š....R¼Ç.m²<br /> 00080880 00 12 00 0B 93 B7 DF 38 94 92 09 B6 C3 9C D2 AA ....“·ß8”’.¶ÃœÒª<br /> ....<br /> 000810B0 05 CA AE F2 3A 9C 88 09 90 D6 41 4B DA 37 6C AF .Ê®ò:œˆ..ÖAKÚ7l¯<br /> 000810C0 4A 63 D7 B0 3E DD 5A 29 55 6A 9B E7 96 6E E1 EE Jc×°&gt;ÝZ)Uj›ç–náî&lt;/pre&gt;<br /> |-<br /> |}<br /> ==== structure ====<br /> {|class=&quot;wikitable&quot;<br /> |-<br /> ! Address !! Size !! Value !! Description !! Observations <br /> |-<br /> | 0x0 || 0x10 || 00 00 00 01 00 89 00 08 14 01 01 06 1B 91 1C 5C || IDPS || [[IDPS]] - This contains your [[Target ID]]/[[SKU_Models#Regioning|Region]], [[SKU_Models|PS3 Model]], Chassis and others.<br /> |-<br /> | 0x10 || 0x2 || 00 12 || Unknown || Unknown (00 11 on [[DEH-H1000A-E]] and earlier models)&lt;!-- same value than &quot;cISD1 relative offset 0x56&quot; ? (see [[Talk:Flash:Individual System Data - cISD]] --&gt;<br /> |-<br /> | 0x12 || 0x2 || 00 0B || eid0 sections || The number of eid0 sections in hex (11)<br /> |-<br /> | 0x14 || 0xC || FC D1 D8 BE 6F F4 C8 D8 8F E1 C3 F7 || [[Flash:perconsole_nonce|perconsole nonce]] || Appear to be the same nonce as in the encrypted files metloader/bootloader at offset 0x14-0x1F<br /> |-<br /> | 0x20 || Rest || Rest || Encrypted Data ||<br /> |}<br /> <br /> === EID1 ===<br /> <br /> ==== example ====<br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! NOR: 0x002F8D0 - 0x002FB6F !! NAND: 0x00810D0 - 0x008136F<br /> |-<br /> | &lt;pre&gt;Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F<br /> <br /> 0002F8D0 DB D1 FF 70 CF CA D6 A6 59 94 15 E1 B3 FC CF CA ÛÑÿpÏÊÖ¦Y”.á³üÏÊ<br /> 0002F8E0 B6 48 D5 01 39 4A 76 00 25 76 F6 F0 36 65 68 A7 ¶HÕ.9Jv.%vöð6eh§<br /> ....<br /> 0002FB50 AB 66 60 E8 B7 0D 3F 78 C5 59 2B D4 77 EB 2C 2D «f`è·.?xÅY+Ôwë,-<br /> 0002FB60 C3 6A B9 FA BB 63 CD EA 5D D2 39 8A 3F 77 2A 09 Ãj¹ú»cÍê]Ò9Š?w*.&lt;/pre&gt; || &lt;pre&gt;Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F<br /> <br /> 000810D0 A3 D6 F3 27 20 C6 80 11 EA A3 A1 75 48 36 4C 10 £Öó' Æ€.꣡uH6L.<br /> 000810E0 C9 6F B0 3D BF 85 4F D4 1F 89 01 C9 BC 64 DE 08 Éo°=¿…OÔ.‰.ɼdÞ.<br /> ....<br /> 00081350 2A DF F9 45 E4 94 FD 43 33 82 6E 82 BB E9 CD 3F *ßùEä”ýC3‚n‚»éÍ?<br /> 00081360 53 5F E0 5A A2 7A 7E 6E 3D 50 A3 2B 16 68 7B 28 S_àZ¢z~n=P£+.h{(&lt;/pre&gt;<br /> |-<br /> |}<br /> ==== structure ====<br /> Appears to be encrypted, not much is known about this one<br /> <br /> <br /> === EID2 ===<br /> <br /> ==== example ====<br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! NOR: 0x002FB70 - 0x003029F !! NAND: 0x0081370 - 0x0081A9F<br /> |-<br /> | &lt;pre&gt;Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F<br /> <br /> 0002FB70 00 80 06 90 00 00 00 00 00 00 00 00 00 00 00 00 .€..............<br /> 0002FB80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 0002FB90 56 64 18 79 DC 30 12 51 3C C5 69 21 0C AD ED 8F Vd.yÜ0.Q&lt;Åi!.­í.<br /> 0002FBA0 67 DC 77 CC B6 4B 2D FB 68 F2 2E 41 A0 F4 C7 88 gÜw̶K-ûhò.A ôLj<br /> ....<br /> 00030280 03 92 40 B3 63 F4 62 97 D2 3D AE 82 1B F4 EC CA .’@³côb—Ò=®‚.ôìÊ<br /> 00030290 30 72 60 A5 7E B7 11 54 D9 9D 02 5C 20 7A CE 83 0r`¥~·.TÙ..\ z΃&lt;/pre&gt; || &lt;pre&gt;Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F<br /> <br /> 00081370 00 80 06 90 00 00 00 00 00 00 00 00 00 00 00 00 .€..............<br /> 00081380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 00081390 FC CA 19 07 3F FA D0 87 DF 20 23 98 99 17 F1 DF üÊ..?úÐ‡ß #˜™.ñß<br /> 000813A0 95 A7 98 49 EC 4D 68 D2 61 D7 2F BE 4A 7E 86 02 •§˜IìMhÒa×/¾J~†.<br /> ....<br /> 00081A80 76 D5 07 20 D1 85 07 39 4D 2E F9 CE 0F A4 61 ED vÕ. Ñ….9M.ùÎ.¤aí<br /> 00081A90 18 A6 BB 00 F9 55 69 BB DC 60 54 6D 40 C5 AF 3D .¦».ùUi»Ü`Tm@ů=&lt;/pre&gt;<br /> |-<br /> |}<br /> ==== structure ====<br /> {|class=&quot;wikitable&quot;<br /> |-<br /> ! Address !! Size !! Value !! Description !! Observations <br /> |-<br /> | 0x0 || 0x2 || 00 80 || P-Block Size || Decrypted P-Block contains region settings (see [[#decryptednotes|Notes]])<br /> |-<br /> | 0x2 || 0x2 || 06 90 || S-Block Size || <br /> |-<br /> | 0x4 || 0x1A || 00s || Padding? ||<br /> |-<br /> | 0x1E? || 0x2 || 0x0000 || || on {{ARC}}/{{DEX}}/{{DECR}} there is 0x0003<br /> |-<br /> | 0x20 || 0x80 || encrypted data || P-Block ||<br /> |-<br /> | 0xA0 || 0x690 || encrypted data || S-Block || on {{ARC}}/{{DEX}}/{{DECR}} S-Block is 00s<br /> |}<br /> <br /> &lt;div id=&quot;decryptednotes&quot;&gt;Notes&lt;/div&gt;<br /> In decrypted P-Block these bytes match [[Target ID]]:<br /> {| class=&quot;wikitable&quot; style=&quot;font-size:x-small; border:2px ridge #999999;&quot;<br /> |-<br /> ! Value !! [[Target ID]] !! Console Type !! Remarks<br /> |-<br /> | || {{TID80}} || <br /> |-<br /> | 0xFF || {{TID81}} || No BD playback on that [[Target ID]]<br /> |-<br /> | 0xFF || {{TID82}} || No BD playback on that [[Target ID]]<br /> |-<br /> | 0x01 || {{TID83}} || <br /> |-<br /> | 0x02 || {{TID84}} || <br /> |-<br /> | 0x04 || {{TID85}} || <br /> |-<br /> | 0x10 || {{TID86}} || <br /> |-<br /> | 0x04 || {{TID87}} || <br /> |-<br /> | || {{TID88}} || <br /> |-<br /> | 0x08 || {{TID89}} || <br /> |-<br /> | || {{TID8A}} || <br /> |-<br /> | || {{TID8B}} || <br /> |-<br /> | 0x20 || {{TID8C}} || <br /> |-<br /> | || {{TID8D}} || <br /> |-<br /> | 0x10 || {{TID8E}} || <br /> |-<br /> | || {{TID8F}} || <br /> |-<br /> | 0xFF || {{TIDA0}} || No BD playback on that [[Target ID]]<br /> |-<br /> |}<br /> This value also must be match the first byte of the decrypted EID4.<br /> <br /> Notes:<br /> * FF=11111111 - all bits enabled<br /> * 20=00100000 - {{TID8C}} - bit 5<br /> * 10=00010000 - {{TID8E}} | {{TID86}} - bit 4<br /> * 08=00001000 - {{TID89}} - bit 3<br /> * 04=00000100 - {{TID87}} | {{TID85}} - bit 2<br /> * 02=00000010 - {{TID84}} - bit 1<br /> * 01=00000001 - {{TID83}} - bit 0<br /> <br /> === EID3 ===<br /> <br /> ==== example ====<br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! NOR: 0x00302A0 - 0x003039F !! NAND: 0x0081AA0 - 0x0081B9F<br /> |-<br /> | &lt;pre&gt;Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F<br /> <br /> 000302A0 00 00 00 01 58 1B 20 6E 00 00 00 00 01 8B 39 46 ....X. n.....‹9F<br /> 000302B0 00 01 00 D0 FC D1 D8 BE 6F F4 C8 D8 8F E1 C3 F7 ...ÐüÑؾoôÈØ.áÃ÷<br /> 000302C0 31 6B 01 24 85 68 AD 48 F4 D9 C5 E1 3E D5 BD A8 1k.$…h­HôÙÅá&gt;Õ½¨<br /> 000302D0 A1 DD 7A 4A F2 95 3C FE 62 F2 F4 FD E0 48 98 35 ¡ÝzJò•&lt;þbòôýàH˜5<br /> 000302E0 4D EB E2 E5 94 40 5F 29 BD 44 20 6E F1 14 92 5C Mëâå”@_)½D nñ.’\<br /> 000302F0 19 1D 35 A5 32 54 FF 12 52 86 DD 19 4D E4 67 31 ..5¥2Tÿ.R†Ý.Mäg1<br /> 00030300 7F 34 A4 EE 0C 19 9B 0F C9 E3 81 4D F9 F7 1D 88 .4¤î..›.Éã.Mù÷.ˆ<br /> 00030310 90 C8 D3 F0 D5 40 5F 6B 2B A5 2D 1D D6 1F 58 37 .ÈÓðÕ@_k+¥-.Ö.X7<br /> 00030320 35 A5 7E 90 05 F1 89 2E 7F 76 BC 22 3F D4 F4 C3 5¥~..ñ‰..v¼&quot;?ÔôÃ<br /> 00030330 31 58 62 79 2E D7 27 E3 4D 9F 16 BC 8E 7E B7 8D 1Xby.×'ãMŸ.¼Ž~·.<br /> 00030340 20 2F 8B 76 4F E7 FC 0F 4B 0E 26 54 AF 72 82 AD /‹vOçü.K.&amp;T¯r‚­<br /> 00030350 9E 93 28 FB EA 3B 3D 62 47 C7 06 68 D0 5B C9 4E ž“(ûê;=bGÇ.hÐ[ÉN<br /> 00030360 E9 8F 1F 45 B1 7B 9B E3 9E 5C 33 5F E3 15 C5 B6 é..E±{›ãž\3_ã.Ŷ<br /> 00030370 E7 35 F4 0F C9 D6 F8 48 0B C7 63 A7 56 5D 96 C4 ç5ô.ÉÖøH.Çc§V]–Ä<br /> 00030380 CD 53 F2 95 5F 78 A1 5D 48 A6 9C D2 0B 40 D2 90 ÍSò•_x¡]H¦œÒ.@Ò.<br /> 00030390 7D 83 7B 24 12 F3 9F A7 F4 1E 7A 9B 98 50 2C 02 }ƒ{$.óŸ§ô.z›˜P,.&lt;/pre&gt; || &lt;pre&gt;Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F<br /> <br /> 00081AA0 00 00 00 01 39 20 C4 E4 00 00 00 00 00 6E 38 61 ....9 Ää.....n8a<br /> 00081AB0 00 01 00 D0 93 B7 DF 38 94 92 09 B6 C3 9C D2 AA ...Г·ß8”’.¶ÃœÒª<br /> 00081AC0 EA 14 35 C0 0F 48 31 01 FE 4C FD 1B F8 A5 C1 04 ê.5À.H1.þLý.ø¥Á.<br /> 00081AD0 B2 EE 21 12 5F F2 68 21 40 61 3D ED 62 7B EC 91 ²î!._òh!@a=íb{ì‘<br /> 00081AE0 0F C2 D4 27 D9 90 34 C4 19 0D AB 2E 28 9B F4 F6 .ÂÔ'Ù.4Ä..«.(›ôö<br /> 00081AF0 00 F5 05 71 FA 53 A6 E8 52 57 9D 9E 7E 8B 9C FD .õ.qúS¦èRW.ž~‹œý<br /> 00081B00 C3 0B 92 AB 25 3E 34 D8 05 E0 92 DC 27 24 14 71 Ã.’«%&gt;4Ø.à’Ü'$.q<br /> 00081B10 AF AC 4E C3 6B 66 EF 18 0B EB 72 5D E7 F1 96 28 ¯¬NÃkfï..ër]çñ–(<br /> 00081B20 6C 71 06 2B 45 7F 96 76 34 FA AC 7E D8 8F 97 B8 lq.+E.–v4ú¬~Ø.—¸<br /> 00081B30 F4 B5 10 BA 71 9E 38 CB 7C AD CB A7 09 E0 23 72 ôµ.ºqž8Ë|­Ë§.à#r<br /> 00081B40 19 4B 32 A2 0A 13 1C 4B 12 67 C3 28 98 EE 2D 26 .K2¢...K.gÃ(˜î-&amp;<br /> 00081B50 B8 81 39 08 81 E4 11 EF 7B 6B DB 0A E8 A9 D0 9E ¸.9..ä.ï{kÛ.è©Ðž<br /> 00081B60 71 13 05 67 99 77 9B 1D E8 C9 0B 67 FB AC 4B 03 q..g™w›.èÉ.gû¬K.<br /> 00081B70 78 AF 44 B3 35 A9 39 1F 75 C1 9F 3C 46 E8 C6 71 x¯D³5©9.uÁŸ&lt;FèÆq<br /> 00081B80 A5 5B 57 D3 37 6B E2 34 E7 7C B6 A5 04 FE 42 B5 ¥[WÓ7kâ4ç|¶¥.þBµ<br /> 00081B90 09 C7 97 0F 9E 2C 7F 94 F6 9C A2 15 4A 76 49 79 .Ç—.ž,.”öœ¢.JvIy&lt;/pre&gt;<br /> |-<br /> |}<br /> <br /> ==== structure ====<br /> {|class=&quot;wikitable&quot;<br /> |-<br /> ! Address !! Size !! Value !! Description !! Observations <br /> |-<br /> | 0x0 || 0x4 || 0x00000001 || indication content available? || <br /> |-<br /> | 0x4 || 0x4 || 58 1B 20 6E || speculation: maybe 2x2 bytes indicating id's/build or smth? || <br /> |-<br /> | 0x8 || 0x8 || 0x00000000018B3946 || ckp_management_id as in [[Flash:Individual_System_Data_-_cISD#cISD1|cISD1]] ||<br /> |-<br /> | 0x10 || 0x2 || 0x0001 || ||<br /> |-<br /> | 0x12 || 0x2 || 0x00D0 || ||<br /> |-<br /> | 0x14 || 0x0C || per console nonce || [[Flash:perconsole_nonce|perconsole nonce]] ||<br /> |-<br /> | 0x20 || 0xE0 || encrypted data || ||<br /> |}<br /> <br /> * On {{DEX}}/{{DECR}}&lt;!-- /{{ARC}} --&gt; EID3 is 00 filled.<br /> <br /> === EID4 ===<br /> ==== Information about EID4 ====<br /> <br /> * EID4 contains 2 128bit keys which are necessary to establish a secure communication channel to BD drive for sending vendor specific security commands.<br /> * EID4 is encrypted with AES-CBC-256 algorithm.<br /> * EID4 is of size 0x30 bytes: 0x0-0xf bytes = 1st key, 0x10-0x1f - 2nd key, 0x20-0x2f - CMAC-OMAC1 of EID4<br /> * The first key is used for encrypting data sent from host to BD drive.<br /> * The second key is used for decrypting data sent from BD drive to host.<br /> <br /> (More about it in [[BD_Drive_Reverse_Engineering| BD Drive Reverse Engineering]] )<br /> <br /> ==== example ====<br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! NOR: 0x00303A0 - 0x00303CF !! NAND: 0x0081BA0 - 0x0081BCF<br /> |-<br /> | &lt;pre&gt;Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F<br /> <br /> 000303A0 8B D7 1B A0 C3 DA 4B BE B3 72 AE 61 78 90 31 1F ‹×. ÃÚK¾³r®ax.1.<br /> 000303B0 2E CD F1 92 28 8E 17 AD 6A 9C D5 8A 8E 17 86 39 .Íñ’(Ž.­jœÕŠŽ.†9<br /> 000303C0 C8 0A F7 9B 92 D8 3A A8 92 60 73 6A 5E 12 2A 94 È.÷›’Ø:¨’`sj^.*”&lt;/pre&gt; || &lt;pre&gt;Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F<br /> <br /> 00081BA0 40 9F 75 39 22 96 C2 12 A2 9C BC CF 53 99 73 40 @Ÿu9&quot;–Â.¢œ¼ÏS™s@<br /> 00081BB0 5D AD A7 F6 26 6E 50 35 55 A8 8A B9 24 A1 F5 35 ]­§ö&amp;nP5U¨Š¹$¡õ5<br /> 00081BC0 BC 3B 7A 88 17 75 9C 44 A9 2D 4B E0 8B 80 92 E7 ¼;zˆ.uœD©-Kà‹€’ç&lt;/pre&gt;<br /> |-<br /> |}<br /> ==== structure ====<br /> Encrypted encdec key (used for e.g. BD drive)<br /> <br /> {|class=&quot;wikitable&quot;<br /> |-<br /> ! Address !! Size !! Value !! Description !! Observations <br /> |-<br /> | 0x0 || 0x10 || encrypted || 1st 128bit key || Initial byte (decrypted) matches TID (same as EID2 Notes) , used for region<br /> |-<br /> | 0x10 || 0x10 || encrypted || 2nd 128bit key || <br /> |-<br /> | 0x20 || 0x10 || encrypted|| CMAC-OMAC1 of EID4 ||<br /> |}<br /> <br /> === EID5 ===<br /> <br /> ==== example ====<br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! NOR: 0x00303D0 - 0x0030DCF !! NAND: 0x0081BD0 - 0x00825CF<br /> |-<br /> | &lt;pre&gt;Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F<br /> <br /> 000303D0 00 00 00 01 00 89 00 08 14 01 01 06 1B 91 1C 5C .....‰.......‘.\<br /> 000303E0 00 12 07 30 FC D1 D8 BE 6F F4 C8 D8 8F E1 C3 F7 ...0üÑؾoôÈØ.áÃ÷<br /> 000303F0 B7 05 8B 05 E4 2E 94 C7 41 8E 1D E9 DE 63 F6 E6 ·.‹.ä.”ÇAŽ.éÞcöæ<br /> 00030400 C5 18 28 E6 47 44 CE 5D 53 03 57 76 46 0C 97 AB Å.(æGDÎ]S.WvF.—«<br /> ....<br /> 00030DB0 A8 55 8A FF 73 96 11 1B 6D 85 82 BD 73 FD 45 6D ¨UŠÿs–..m…‚½sýEm<br /> 00030DC0 7B 7B 00 DD 0D EB A8 A1 57 5F 5D 0F C9 23 49 E8 {{.Ý.먡W_].É#Iè&lt;/pre&gt; || &lt;pre&gt;Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F<br /> <br /> 00081BD0 00 00 00 01 00 8A 00 01 10 00 52 BC C7 11 6D B2 .....Š....R¼Ç.m²<br /> 00081BE0 00 12 07 30 93 B7 DF 38 94 92 09 B6 C3 9C D2 AA ...0“·ß8”’.¶ÃœÒª<br /> 00081BF0 CB 95 EF 88 DB 8B E8 14 69 1F 99 A7 4A 66 F7 09 Ë•ïˆÛ‹è.i.™§Jf÷.<br /> 00081C00 DD 23 09 1F 73 22 43 26 F4 1A 65 44 9C F2 DB 89 Ý#..s&quot;C&amp;ô.eDœòÛ‰<br /> ....<br /> 000825B0 CE 82 2F 9B 8D F0 4E 22 6B EF 68 28 37 38 AA 08 ΂/›.ðN&quot;kïh(78ª.<br /> 000825C0 EA 85 EA 2C A4 1D F2 76 9C FF D5 D4 49 97 06 06 ê…ê,¤.òvœÿÕÔI—..&lt;/pre&gt;<br /> |-<br /> |}<br /> ==== structure ====<br /> Similar again to EID0<br /> {|class=&quot;wikitable&quot;<br /> |-<br /> ! Address !! Size !! Value !! Description !! Observations <br /> |-<br /> | 0x0 || 0x10 || 00 00 00 01 00 89 00 08 14 01 01 06 1B 91 1C 5C || IDPS || [[IDPS]]<br /> |-<br /> | 0x10 || 0x2 || 00 12 || Unknown || Unknown<br /> |-<br /> | 0x12 || 0x2 || 07 30 || Unknown || Unknown. 07 E0 on DEX/DECR<br /> |-<br /> | 0x14 || 0xC || FC D1 D8 BE 6F F4 C8 D8 8F E1 C3 F7 || [[Flash:perconsole_nonce|perconsole nonce]] || Contains the 0xC byte perconsole nonce (as seen in bootldr/metldr and EID0) again at 0x14 to 0x1F<br /> |-<br /> | 0x20 || Rest || || Encrypted, Unknown|| <br /> |-<br /> |}<br /> <br /> === unreferenced area ===<br /> Possibly just unused EID region (which also explains why it is FF filled) &lt;br /&gt;<br /> ==== example ====<br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! NOR: 0x0030DD0 - 0x003EFFF !! NAND: 0x00825D0 - 0x00907FF<br /> |-<br /> | &lt;pre&gt;Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F<br /> <br /> 00030DD0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ<br /> 00030DE0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ<br /> ....<br /> 0003EFE0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ<br /> 0003EFF0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ&lt;/pre&gt; || &lt;pre&gt;Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F<br /> <br /> 000825D0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ<br /> 000825E0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ<br /> ....<br /> 000907E0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ<br /> 000907F0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ&lt;/pre&gt;<br /> |-<br /> |}<br /> ==== structure ====<br /> {|class=&quot;wikitable&quot;<br /> |-<br /> ! Address !! Length !! Value !! Description<br /> |-<br /> | 0x0 || 0xE22F || 0xFF || FF filled area<br /> |-<br /> |}<br /> <br /> {{Flash}}<br /> &lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=PSP_Emulator_Compatibility_List&diff=54117 PSP Emulator Compatibility List 2019-08-06T18:37:12Z <p>Mysis: /* W */</p> <hr /> <div><br /> {| border=&quot;0&quot; style=&quot;border:1px solid #aaaaaa;background-color:#f2f2f2;padding:5px;&quot; align=center<br /> | '''Jump to letter:''' [[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]]<br /> |} __NOTOC__<br /> <br /> <br /> <br /> == # ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | 007 From Russia with Love || {{?}} || {{unplayable}} || Remaster. Stage title demo is very slow and the &quot;Original Games&quot; does not work.<br /> |-<br /> | 3,2,1 Supercrash Mini || NPUZ00189 || {{playable}} || <br /> |-<br /> | 300 - March to Glory || {{?}} || {{playable}} || Works as a Remaster. Mini not tested.<br /> |-<br /> | 4x4 Jam Mini || NPUZ00104 || {{playable}} || <br /> |-<br /> | 5-in-1 Arcade Hits || NPEZ00174 || {{playable}} || <br /> |-<br /> | 5-In-1 Solitaire || NPUZ00086 || {{playable}} || <br /> |-<br /> | 7 Wonders of the Ancient World || {{?}} || {{playable}} || <br /> |-<br /> | 7th Dragon 2020 || NPJH50459 || {{unplayable}} || Black screen as a Remaster &amp; mini.<br /> |-<br /> | 7th Dragon 2020-Ⅱ || NPJH50716 || {{unplayable}} || Black screen as a Remaster &amp; mini.<br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> == A ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | A Space Shooter for 2 Bucks Mini || NPUZ00190 || {{playable}} || Black Screen / Freeze.<br /> |-<br /> | Ace Armstrong vs Alien Scumbags Mini || NPEZ00218 || {{playable}} || Black Screen / Freeze.<br /> |-<br /> | Ace Combat X: Skies of Deception || ULUS10176 || {{minorissues}} || Subtitles are too fast during cutscenes, everything else is fine.<br /> |-<br /> | Ace Combat: Joint Assault || {{?}} || {{unplayable}} || Randomly Hangs During Some Missions.<br /> |-<br /> | Activision Hits Remixed || ULES00640 || {{minorissues}} || Missing graphics in game selection menu. Games play fine.<br /> |-<br /> | Aedis Eclipse Generations of Chaos || {{?}} || {{playable}} || Using default minis2 settings<br /> |-<br /> | After Burner: Black Falcon || ULUS10244 || {{playable}} || <br /> |-<br /> | Age Of Hammer Wars || NPUZ00178 || {{playable}} || <br /> |-<br /> | Age Of Zombies Mini || NPEZ00044 || {{playable}} || <br /> |-<br /> | Air Conflicts: Aces of World War 2 || ULUS10404 || {{playable}} || Remaster, no issues PS3 Minis 2.1.2 <br /> |-<br /> | Airu to Puzzle || {{?}} || {{playable}} || <br /> |-<br /> | Akiba's Trip || {{?}} || {{playable}} || <br /> |-<br /> | Akiba's Trip Plus || NPJH50563 || {{unplayable}} || Black Screen as a Remaster &amp; mini.<br /> |-<br /> | Akumajou Dracula X Chronicle || ULJM05287 || {{minorissues}} || <br /> |-<br /> | Alien Havoc Mini || NPUZ00008 || {{unplayable}} || <br /> |-<br /> | Alien Syndrome || {{?}} || {{playable}} || Works as a Remaster<br /> |-<br /> | Alien Zombie Death Mini || NPEZ00115 || {{playable}} || <br /> |-<br /> | Aliens vs Predator Requiem || ULUS10327 || {{minorissues}} || Works as a Remaster. There are reports of issues with vision mode.<br /> |-<br /> | Amnesia || ULJM05931 || {{playable}} || Works as a Remaster.<br /> |-<br /> | Amnesia Later || ULJM06044 || {{minorissues}} || Crispy sound as minis (eboot needs resign).<br /> |-<br /> | Angry Birds Mini || NPEZ00232 || {{playable}} || <br /> |-<br /> | Another Century's Episode Portable || {{?}} || {{unplayable}} || Black screen as Remaster. <br /> |- <br /> | Another Century's Episode Portable || ULJS00322 || {{playable}} || No problems as Remaster. Make your own EBOOT.PBP, Re-sign EBOOT.BIN &amp; 0-out ALLDATA.EBN (unneed install data)<br /> |- <br /> | Apache Overkill Mini || NPUZ00098 || {{unplayable}} || Black Screen / Freeze.<br /> |-<br /> | Ape Academy 2 || {{?}} || {{unplayable}} || Remaster and minis: black screen and freeze.<br /> |-<br /> | Ape Escape Academy || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Ape Escape P || ULUS00045 || {{playable}} || Works as Remaster, minis2 settings:<br /> ADDITIONAL_KEY_ASSIGN = 0000000047C6C544 remap camera to right analog stick<br /> |-<br /> | Ape Escape On the Loose || {{?}} || {{unplayable}} || starts and comes to a &quot;Loading...&quot; screen.. and freezes there.<br /> |-<br /> | Aqua Panik || {{?}} || {{playable}} || Works as Remaster and as mini. Remaster works better.<br /> |-<br /> | Aquattack || NPUZ00182 || {{unplayable}} || None<br /> |-<br /> | Arcade Air Hockey &amp; Bowling || NPUZ00103 || {{majorissues}} || Some do work / some do not (conversion issues with eboot.pbp).<br /> |-<br /> | Arcade Essentials Evolution || NPUZ00258 || {{playable}} || None<br /> |-<br /> | Arcade Pool || NPUZ00281 || {{playable}} || Works as a Remaster.<br /> |-<br /> | Archer Maclean's Mercury || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Archibalds Adventures || NPUZ00115 || {{majorissues}} || Some do work / some do not (Black Screen / Freeze).<br /> |-<br /> | Arctic Adventures: Polar's Puzzles || NPUZ00114 || {{playable}} || <br /> |-<br /> | Armored Core: Formula Front Extreme Battle || ULUS10034 || {{playable}} || No issues<br /> |-<br /> | Armored Core: Last Raven Portable || {{?}} || {{playable}} || Remaster method.<br /> |-<br /> | Army of Two - The 40th Day || ULUS10472 || {{majorissues}} || Crashes after starting new game on loading screen.<br /> |-<br /> | Asphalt || {{?}} || {{playable}} || Remaster method.<br /> |-<br /> | Assassins Creed Bloodlines (US &amp; EU] || {{?}} || {{majorissues}} || Starts and comes to a &quot;Loading...&quot; screen and freezes. Worked further as Remaster, but Desmond glitches and game has major framerate slowdowns.<br /> |-<br /> | Asterix &amp; Obelix XXL 2 || {{?}} || {{playable}} || Works as a Remaster, with resign boot.bin, not eboot.bin resign.<br /> |-<br /> | Astonishia Story || ULUS10083 || {{playable}} || <br /> |-<br /> | Astroboy || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | ATV Offroad Fury Blazin' Trails || UCUS98603 || {{unplayable}} || Black Screen After Minis Logo: No freeze.<br /> |-<br /> | ATV Offroad Fury Pro || UCUS98648 || {{majorissues}} || Works but missing textures.<br /> |-<br /> | Audition Portable || {{?}} || {{playable}} || <br /> |-<br /> | Auditorium Mini || NPUH10069 || {{unplayable}} || Black Screen / Freeze.<br /> |-<br /> | Avatar: The Last Airbender || ULUS10165 || {{playable}} || <br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> == B ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | B-Boy || {{?}} || {{minorissues}} || Works as a Remaster. Menus have flicker but ingame is fine.<br /> |-<br /> | Bakugan - Defenders of the Core || ULUS10536 || {{playable}} || <br /> |-<br /> | Batman Arkham Asylum The Road to Arkham Digital Comic || {{?}} || {{playable}} || <br /> |-<br /> | Battle Poker Mini || NPUZ00020 || {{playable}} || <br /> |-<br /> | Battle Robot Damashii || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | BattleZone || ULUS10156 || {{playable}} || <br /> |-<br /> | Beam 'em up Mini || NPEZ00081 || {{unplayable}} || Black Screen / Freeze.<br /> |-<br /> | Beaterator || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Beats || NPEG00001 || {{playable}} || <br /> |-<br /> | Bee Wars || NPEZ00034 || {{playable}} || None<br /> |-<br /> | Ben 10 Alien Force - Vilgax Attacks || ULES01358 || {{unplayable}} || Save Game problem; run as Remaster.<br /> |-<br /> | Ben 10 Alien Force || ULES01189 || {{playable}} || Works as Remaster<br /> |-<br /> | Ben 10 Protector of Earth || ULES00906 || {{majorissues}} || Works as a Remaster, very slow.<br /> |-<br /> | Ben 10 Ultimate - Alien Cosmic Destruction || ULES01471 || {{unplayable}} || Save Game problem, freezing as Remaster.<br /> |-<br /> | Beowulf || ULES00992 || {{unplayable}} || Freeze as mini or Remaster.<br /> |-<br /> | Best Of Solitaire Mini || NPEZ00188 || {{unplayable}} || Freezes after choosing &quot;New Game&quot; in the main menu, haven't tried loading a PSP save to see if it works. Freezes as remaster.<br /> |-<br /> | Beta Bloc || {{?}} || {{unplayable}} || Freeze after first logo.<br /> |-<br /> | Black Rock Shooter: The Game || {{?}} || {{unplayable}} || Freezes after choosing &quot;New Game&quot; in the main menu, haven't tried loading a PSP save to see if it works. Freezes as remaster.<br /> |-<br /> | Blade Dancer: Lineage of Light || ULUS10124 || {{playable}} || <br /> |-<br /> | Blast Off Mini || NPUZ00021 || {{playable}} || <br /> |-<br /> | Blazblue: Continuum Shift || {{?}} || {{unplayable}} || <br /> |-<br /> | Blazblue: Continuum Shift 2 || ULUS10579 || {{minorissues}} || Game runs faster than normal making combos hard to do.<br /> |-<br /> | Blazing Souls Accelate || {{?}} || {{playable}} || <br /> |-<br /> | Bleach: Heat the Soul || {{?}} || {{playable}} || <br /> |-<br /> | Bleach: Heat the Soul 2 || {{?}} || {{playable}} || <br /> |-<br /> | Bleach: Heat the Soul 6 || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | Bleach: Heat the Soul 7 || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Bleach: Soul Carnival 1 || NPJG00008 || {{playable}} || Minis2 settings:<br /> SAVEDATA_USE_PS3_SAVE = 1.<br /> |-<br /> | Bleach: Soul Carnival 2 || NPJG00070 || {{playable}} || <br /> |-<br /> | Bliss Island || {{?}} || {{unplayable}} || Freeze on load screen.<br /> |-<br /> | Blitz Overtime || ULUS10200 || {{playable}} || Works perfectly without using compression, game doesn't act right compressed.<br /> |-<br /> | Blokus Portable - Steambot Championship || ULUS10332 || {{playable}} || <br /> |-<br /> | Blood+ Final Piece || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | Bloons Mini || NPEZ00045 || {{playable}} || <br /> |-<br /> | Boku wa Tomodachi ga Sukunai (Haganai) Portable || ULJS00459 || {{playable}} || <br /> |-<br /> | Bomberman || ULES00469 || {{unplayable}} || <br /> |-<br /> | Bomberman Land || ULES00959 || {{playable}} || Works as Remaster.<br /> |-<br /> | Brainpipe Mini || NPUZ00009 || {{unplayable}} || Black Screen / Freeze.<br /> |-<br /> | Brave Story: New Traveler || ULUS10279 || {{playable}} || Remaster Minis2 settings:<br /> VOUT_RESOLUTION_MODE = 0<br /> DRAWN_IMAGE_SCALE = 4<br /> SAVEDATA_USE_PS3_SAVE = 1 fixs save problem<br /> VFPU_USE_FAST_VMMUL = 1 fixs little slowdowns<br /> |-<br /> | BreakQuest Mini || NPEZ00011 || {{unplayable}} || Black Screen / Freeze.<br /> |-<br /> | Breath of Fire III || ULES00193 || {{playable}} || Perfect as remaster. Minis2 settings:<br /> ADHOC.EMUPA_TITLE_ID = ULUS10567 <br /> AW.LINEAR_ADRS = 40<br /> AW.DISABLE_FB_TEX = 200<br /> |-<br /> | Breath of Fire III || ULJM05029 || {{unplayable}} || Nonstop blinking. Freezes at NOW LOADING screen.<br /> |-<br /> | Brothers in Arms D-Day || {{?}} || {{majorissues}} || Freezes at difficulty selection screen.<br /> |-<br /> | Bubble Bobble Evolution || {{?}} || {{minorissues}} || Works as a Remaster. A few minor graphical glitches but is totally playable.<br /> |-<br /> | Bubble Trubble Mini || NPUZ0007 || {{unplayable}} || Black Screen / Freeze.<br /> |-<br /> | Burnout Dominator || ULES00703 || {{majorissues}} || Some slowdown during loading. Freezes when loading profile with Minis and Remasters, runs when a new profile is created but default name must be used or game will freeze during name input. Autosave does not work but manual save does; loading a save freezes the game.<br /> |-<br /> | Burnout Legends || {{?}} || {{minorissues}} || Works as a Remaster. Few texture glitches but for the most part, plays fine. Cannot autosave but manual save works fine. Some tracks run slower than normal.<br /> |-<br /> | Buzz Brain_Bender || {{?}} || {{unplayable}} || Black screen after Minis logo.<br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> == C ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | Cabelas Dangerous Hunts || ULES00550 || {{unplayable}} || Black Screen as Remaster.<br /> |-<br /> | Call Of Duty Roads to Victory || {{?}} || {{unplayable}} || Black screen.<br /> |-<br /> | Capcom Classics Collection Reloaded || ULES00377 || {{unplayable}} || Black screen as Remaster.<br /> |-<br /> | Capcom Classics Collection Reloaded || ULUS10134 || {{unplayable}} || Black screen as either mini or remaster.<br /> |-<br /> | Capcom Classics Collection Remixed || ULES00347 || {{unplayable}} || Save Game problem as Remaster.<br /> |-<br /> | Capcom Puzzle World || ULES00647 || {{unplayable}} || Tested as as Remaster. Black Screen after Game Logo.<br /> |-<br /> | Carol Vorderman's Sudoku || ULES00647 || {{unplayable}} || Black screen as Remaster.<br /> |-<br /> | Cars || ULES00324 || {{unplayable}} || None.<br /> |-<br /> | Cars Race-o-Rama || {{?}} || {{unplayable}} || None.<br /> |-<br /> | Castlevania The Dracula X Chronicles || ULKS46155 || {{playable}} || Playable as Remasters. Slow in FMV SOTN does not load. You have to wait ~20 seconds at the beginning of each stage. The &quot;Original Games&quot; does not work (black screen).<br /> |-<br /> | Championship Manager || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Chili Con Carnage || ULES00629 || {{unplayable}} || Freezes as Remaster.<br /> |-<br /> | Cho Aniki Zero || NPUH10031 || {{unplayable}} || Black screen on load Remaster then reboots. <br /> |-<br /> | ClaDun x2 || NPUH10114 || {{playable}} || Works as a Remaster. Trying to take a screenshot freezes input.<br /> |-<br /> | ClaDun: This is an RPG! || NPUH10072 || {{playable}} || Works as a Remaster. Trying to take a screenshot freezes input.<br /> |-<br /> | Class of Heroes || {{?}} || {{playable}} || None<br /> |-<br /> | Class of Heroes 2 || {{?}} || {{playable}} || Worked as MINI. Must decrypt EBOOT.BIN and save a copy as BOOT.BIN, manually resign EBOOT.PBP, make replacement (zero-byte) OPNSSMP.BIN, and replace each of these three in the ISO in order to get it converted and running properly. As a Remaster, soft keyboard input (such as character naming) will only allow for numbers ( it is otherwise playable).<br /> |-<br /> | Code Lyoko Quest For Infinity || ULUS1035 || {{playable}} || None<br /> |-<br /> | Coded Arms || {{?}} || {{unplayable}} || Remaster method.<br /> |-<br /> | Colin McRae Dirt 2 || {{?}} || {{playable}} || Remaster method.<br /> |-<br /> | Colin McRae Rally 2005 || {{?}} || {{playable}} || Remaster method.<br /> |-<br /> | CONCEPTION &lt;br/&gt; &lt;small&gt;俺の子供を産んでくれ!&lt;/small&gt; || {{?}} || {{playable}} || Remaster; must decrypt EBOOT.BIN and save a copy as BOOT.BIN, manually resign EBOOT.PBP, make replacement (zero-byte) OPNSSMP.BIN, and replace each of these three in the ISO in order to get it converted and running properly.<br /> |-<br /> | Corpse Party || NPUH10117 || {{playable}} || Save fix = NO.<br /> |-<br /> | Corpse Party Book of Shadows || NPEH00143 || {{playable}} || Needs EBOOT.BIN resigned, else black screen after minis logo.<br /> |-<br /> | Corpse Party Book of Shadows || NPUH10187 || {{playable}} || Decrypt EBOOT.BIN and rename BOOT.BIN to EBOOT.BIN sign with SIGN_EBOOT and replace EBOOT.BIN and OPNSSMP.BIN (0kb) with WQSG_UMD_R31.exe.<br /> |-<br /> |rowspan=&quot;2&quot;|<br /> Crash of the Titans<br /> || ULES00915 || {{playable}} || Remastered is too slow. Runs flawlessly as minis. (Tested By CodedXtreme).<br /> |-<br /> || ULUS10304 || {{playable}} || Remastered is too slow. Runs flawlessly as minis. (Tested By CodedXtreme).<br /> |-<br /> | Crash: Mind Over Mutant || ULUS10377 || {{majorissues}} || Works as Mini without using compression. SAV temp Fix Applied: No. UI won't appear at all as well as loading screen, but the game is possibly completable from start to finish. (Play the PS2 version on PS3 for better compatibility and multiplayer feature). (Revised by CodedXtreme).<br /> |-<br /> | Crash Tag Team Racing || {{?}} || {{unplayable}} || Tested as a Remaster. Black Screen after game logo.<br /> |-<br /> | Crazy Taxi Fare Wars || ULUS10273 || {{playable}} || CT1.PRX need to be signed (for Crazy Taxi 2 you need to sign CT2.PRX) with SIGN_EBOOT and relinked to EBOOT.BIN so from this game you need to make 2 separate packages (one for CT1 and second for CT2). &lt;br/&gt; Tip: If you're converting only CT1 - files related to Crazy Taxi 2 can be dummied (and if you're converting CT2 files related to CT1 can be dummied too). &lt;br/&gt; Very little graphics glitches. Compression enabled.<br /> &lt;!-- HIDDEN: Is this duplicate of entry above? |- | Crazy Taxi: Fare Wars || {{unplayable}} || Black screen, forces hard reset. --&gt;<br /> |-<br /> | Criminal Girls || {{?}} || {{unplayable}} || Freezes after minis logo. Same with Remaster method.<br /> |-<br /> | Crimson Gem Saga || ULUS10400 || {{minorissues}} || Text missing on most menus including status and save loading, making the game difficult to play.<br /> |-<br /> |rowspan=&quot;6&quot;|<br /> Crisis Core: Final Fantasy VII<br /> || ULES01046 || {{playable}} || German release<br /> |-<br /> || ULUS10336 || {{playable}} || US release - Compression Used: No, SAV temp Fix Applied: No. Works as remaster or mini, save OK. Character shadows are grey (alpha bug).<br /> |-<br /> || ULES01045 || {{playable}} || French release<br /> |-<br /> || ULES01047 || {{playable}} || Italian release<br /> |-<br /> || ULJM05275 || {{playable}} || Japanese release<br /> |-<br /> || ULES01048 || {{playable}} || Spanish release<br /> |-<br /> <br /> | Crush || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | Crystal Defenders || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | Cube || ULUS10223 || {{playable}} || None<br /> |-<br /> | Cubixx Mini || NPEZ00101 || {{playable}} || <br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> == D ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | Danball Senki Boost || {{?}} || {{unplayable}} || Freezes as mini. Tried uncompressed and compressed. As remaster, stuck on loading screen.<br /> |-<br /> | Dangan Ronpa Kibou no Gakuen to Zetsubou no Koukousei || NPJH50372 || {{unplayable}} || Black screen.<br /> |-<br /> | Danganronpa 1 || NPJH50515 || {{majorissues}} || Game boots up as a remaster, but you can't interact with objects, which makes it impossible to continue past the starting point. Test:<br /> ALLEGREX_DELAY = 50<br /> |-<br /> | Danganronpa : Hope's Academy and Despair's Students (v2 English Translation) || NPJH50515 || {{majorissues}} || It's possible to get the game running with a resigned eboot as a remaster. However, it's impossible to interact with objects. Test:<br /> ALLEGREX_DELAY = 50<br /> |-<br /> | Darius Burst || ULJM05558 || {{unplayable}} || Stuck on &quot;loading&quot; screen.<br /> |-<br /> | Darkstalkers Chronicle: The Chaos Tower || ULES00016 || {{unplayable}} || Minis: Black screen after minis logo. &lt;br/&gt; Remasters: Only background is visible in battle, character/arena select screen only background is visible [default minis2.txt].<br /> |-<br /> | Dave Mirra BMX Challenge || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Daxter || UCUS98618 || {{majorissues}} || Work as Remaster. Tried few MINIS2 settings and floor is OK, but text near to NPCs doesn't show (&quot;??? text missing&quot;) and after talk with old guy (start of game) game freeze. <br /> |-<br /> | Dead Head Fred || {{?}} || {{playable}} || Zebula release is working flawless.<br /> |-<br /> | Dead or Alive Paradise || ULUS10521 || {{majorissues}} || Slow, graphics issues, and seems game scripts aren't working properly.<br /> |-<br /> | Dead to Rights Reckoning || {{?}} || {{unplayable}} || Black screen after player profile selection screen.<br /> |-<br /> | Death JR. 2 || {{?}} || {{unplayable}} || Tested as a Remaster. Goes through menus then black screen.<br /> |-<br /> | Def Jam FFNY: The Takeover || {{?}} || {{unplayable}} || Black screen, Tested as a Remaster.<br /> |-<br /> | Deflector Mini || NPEZ00127 || {{playable}} || None<br /> |-<br /> | Die Simpsons - Das spiel || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | Digi-Tiles Mini || NPUX80407 || {{playable}} || None <br /> |-<br /> | Digimon Adventure || {{?}} || {{playable}} || 1.74 now works, slow down.<br /> |-<br /> | Digimon Adventure (ENG Patched) || {{?}} || {{playable}} || Version 1.2 is a bit slow, but you can play perfectly.<br /> |-<br /> | Digimon World Re: Digitize (Eng Patched) || {{?}} || {{playable}} || Make your own EBOOT.PBP or you'll get the can't save error.<br /> |-<br /> | Diner Dash || ULES00755 || {{playable}} || Works as a Remaster. See notes for minis2.txt<br /> |-<br /> | Disgaea 2: Dark Hero Days || ULUS10461 || {{playable}} || Works without a hitch even using compression.<br /> |-<br /> | Disgaea Infinite || ULUS10522 || {{playable}} || Compression Used: No, SAV temp Fix Applied: No.<br /> |-<br /> | Disgaea: Afternoon of Darkness || ULUS10308 || {{playable}} || Remasters work fine. Minis works fine. Occasionally save data will display incorrect information (usually, Chapter 1. Playtime 0hrs) but will still save/load correctly. (Make your own EBOOT.PBP, or you'll get only a &quot;Now Loading&quot; screen)<br /> |-<br /> | Dissidia: Final Fantasy || ULUS10437 || {{playable}} || Game goes to white after completion of story branch. You must quit and restart, but does not affect gameplay. Also, very minor graphical glitches.<br /> |-<br /> | Dissidia: Final Fantasy Universal Tuning || {{?}} || {{minorissues}} || Works using minis mode, but has some minor graphical glitches.<br /> |-<br /> <br /> |rowspan=&quot;2&quot;|<br /> Dissidia 012 Duodecim Final Fantasy<br /> || ULUS10566 || {{unplayable}} || Tested: Freezes in either Remaster or Mini <br /> |-<br /> || ULES01505 || {{unplayable}} || Black screen after Minis screen, when converted to Remaster, save works but stuck after loading.<br /> |-<br /> <br /> | Dissidia 012 Prologus Final Fantasy || NPEH00108 || {{majorissues}} || Black screen as Remaster. Works fine until after setting up your profile and the first video clip starts up, then it black screens.<br /> |-<br /> | DJ MAX PORTABLE || ULKS46050 || {{playable}} || <br /> |-<br /> | DJ MAX PORTABLE 2 || {{?}} || {{minorissues}} || Works, but playing near dead graphical glitches and black screen.<br /> |-<br /> | DJ MAX PORTABLE 3 || {{?}} || {{playable}} || <br /> |-<br /> | DJ MAX PORTABLE BLACK SQUARE || ULKS46189 || {{playable}} || Save &amp; Load working. Includes English language.<br /> |-<br /> | DJ MAX PORTABLE CLAZZIQUAI EDITION || {{?}} || {{playable}} || Save &amp; Load working. Includes English language.<br /> |-<br /> | Donkey Xote || ULES00836 || {{playable}} || Freeze after first level as mini. Remaster works fine.<br /> |-<br /> | Doodle Fit || NPEZ00391 || {{playable}} || <br /> |-<br /> | Dr Maybee and the Adventures of Scarygirl || NPEZ00237 || {{playable}} || <br /> |-<br /> | Dracula: Undead Awakening Mini || NPEZ00124 || {{playable}} || <br /> |-<br /> <br /> |rowspan=&quot;2&quot;|<br /> Dragon Ball Z Shin Budokai<br /> || ULES00309 || {{majorissues}} || None<br /> |-<br /> || ULUS10081 || {{unplayable}} || Freezes at character selection.<br /> |-<br /> <br /> | Dragon Ball Z Shin Budokai Another Road || ULUS10234 || {{majorissues}} || Remaster with graphics glitches.<br /> |-<br /> | Dragon Ball Z Tenkaichi Tag Team || {{?}} || {{unplayable}} || Black screen, forces hard reset.<br /> |-<br /> | Dragon Ball Z Tenkaichi Tag Team || ULUS10537 || {{unplayable}} || Freezes.<br /> |-<br /> | Dragon's Lair || {{?}} || {{playable}} || <br /> |-<br /> | Dragoneer's Aria || ULUS10291 || {{playable}} || Works as Mini. Compression Used: No, SAV temp Fix Applied: No.<br /> |-<br /> | Driver 76 || {{?}} || {{unplayable}} || Music works, but black screen.<br /> |-<br /> | Dungeon Siege: Throne of Agony || ULUS10177 || {{unplayable}} || Remasters/Minis: Freezes on startup, soft resets [Default minis2.txt].<br /> |-<br /> | Dungeon Travelers 2 || NPJH50744 || {{unplayable}} || Black screen.<br /> |-<br /> | Dungeons &amp; Dragons: Tactics || ULUS10232 || {{playable}} || Works as a Remaster.<br /> |-<br /> | Durarara!! 3-way Standoff || ULJS00318 || {{playable}} || Tested as remaster with resigned eboot.<br /> |-<br /> | Dynasty Warriors || {{?}} || {{unplayable}} || Freezes as minis and Remaster.<br /> |-<br /> | Dynasty Warriors Vol. 2 || {{?}} || {{unplayable}} || Freezes as minis and Remaster.<br /> |-<br /> | DynoGems Mini || NPEZ00117 || {{playable}} || <br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · &lt;span style=&quot;color:#FF0000&quot;&gt;D&lt;/span&gt; · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> == E ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | Earth Defense Forces 2 Portable || ULJS00374 || {{playable}} || Tested eboot resigned and as Remaster.<br /> |-<br /> | Echochrome || {{?}} || {{unplayable}} ||<br /> |-<br /> | Echoes Mini || NPUZ00022 || {{playable}} || <br /> |-<br /> | Echoshift || {{?}} || {{playable}} || <br /> |-<br /> | Eragon || {{?}} || {{unplayable}} || Tested as a Remaster<br /> |-<br /> | Evangelion Jo || {{?}} || {{minorissues}} || Resign eboot with seboot, pack as minis + minis2.edat settings:<br /> ADDITIONAL_KEY_ASSIGN = 0000000047C6C544 r-analog stick <br /> AW.LINEAR_ADRS = 40 blur fix <br /> AW.DISABLE_FB_TEX = 200 blur fix <br /> SAVEDATA_USE_PS3_SAVE = 1 save fix <br /> |-<br /> | Evangelion Shin Gekijouban 3nd Impact || {{?}} || {{unplayable}} || Kicks you back to XMB.<br /> |-<br /> | Every Extend Extra || ULES00468 || {{playable}} || <br /> |-<br /> | Everybody's Golf || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Everybody's Stress Buster &lt;br/&gt; &lt;small&gt;Everybody's Sukkiri&lt;/small&gt; || UCAS40290 || {{playable}} || Works as a Remaster.<br /> |-<br /> | Everyday Shooter || NPUG80224 || {{playable}} || <br /> |-<br /> | Exit || ULES00285 || {{playable}} || <br /> |-<br /> | Exit 2 || ULES00620 || {{majorissues}} || Won't work past level 4.<br /> |-<br /> | Exit 2 Kanagaeru Exit || ULJM05161 || {{playable}} || <br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · &lt;span style=&quot;color:#FF0000&quot;&gt;E&lt;/span&gt; · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> <br /> <br /> == F ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | F1 Grand Prix || UCES00004 || {{playable}} || <br /> |-<br /> | Fading Shadows || {{?}} || {{playable}} || Needs save fix.<br /> |-<br /> | Fairy Tail || {{?}} || {{majorissues}} || Slow in game.<br /> |-<br /> | Fairy Tail 2 || {{?}} || {{unplayable}} || Black screen.<br /> |-<br /> | Fairy Tail 3 || {{?}} || {{unplayable}} || Black screen.<br /> |-<br /> | Family Guy || ULES00601 || {{playable}} || Mini works, Remaster does not work.<br /> |-<br /> | Fat Princess - Fistful of Cake || {{?}} || {{playable}} || Works as Remaster and as mini.<br /> |-<br /> | Fate/Extra || {{?}} || {{majorissues}} || Needs EBOOT fix. Has major shadow issues, hardly playable.<br /> |-<br /> | Fate/Extra CCC || {{?}} || {{playable}} || Freezes.<br /> |-<br /> | Fate/Unlimited Codes || {{?}} || {{playable}} || <br /> |-<br /> | Field Commander || {{?}} || {{playable}} || Works as Remaster.<br /> |-<br /> | Field Runners Mini || NPUZ00014 || {{playable}} || <br /> |-<br /> | FIFA Manager 2012 || {{?}} || {{unplayable}} || Black Screen / Freezes.<br /> |-<br /> | FIFA '07 || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | FIFA '09 || {{?}} || {{unplayable}} || <br /> |-<br /> | FIFA Street 2 || {{?}} || {{unplayable}} || tested as a Remaster.<br /> |-<br /> | Fight Night Round 3 || {{?}} || {{unplayable}} || <br /> |-<br /> | Final Armada || ULES00661 || {{playable}} || Menus flicker, otherwise fine.<br /> |-<br /> | Final Fantasy || {{?}} || {{playable}} || Minor graphical issues.<br /> |-<br /> | Final Fantasy I - 20th Anniversary Edition || ULUS10251 || {{minorissues}} || Work with remaster and mini, minor issues, save OK.<br /> |-<br /> | Final Fantasy II - 20th Anniversary Edition || ULUS10263 || {{minorissues}} || Work as a Remaster and mini, save OK. Minor graphical issues.<br /> |-<br /> | Final Fantasy III || NPJH50626 || {{playable}} || Works as a Remaster.<br /> |-<br /> | Final Fantasy III &lt;br/&gt; [English Patched ISO] || NPUH10125 || {{playable}} || Remaster, needs resigned eboot.<br /> |-<br /> | Final Fantasy III || NPUH10125 || {{playable}} || Work with remaster and mini, save OK.<br /> |-<br /> | Final Fantasy IV The Complete Collection || NPJH50414 || {{unplayable}} || Freezes on both discs. Default remaster didn't work.<br /> |-<br /> | Final Fantasy IV The Complete Collection || ULUS10560 || {{unplayable}} || Doesn't work with remaster or mini.<br /> |-<br /> | Final Fantasy Tactics: The War of the Lions || ULUS10297 || {{majorissues}} || Works with remaster or mini, action scenes too fast, can't save. Can't save even as Remaster. Gameplay fine.<br /> |-<br /> | Final Fantasy Tactics: The War of the Lions || ULES00850 || {{majorissues}} || (PS3minis 2.1.2 Remaster, &quot;add save_tmp fix&quot; enabled) This EU region has same issues as US (above entry). On gamesave screen, persistently says, &quot;Memory Stick Duo not found.&quot; <br /> |-<br /> | Final Fantasy Type-0 || NPJH50443 || {{minorissues}} || Resigned EBOOT. Shadow/lights issues.<br /> |-<br /> | Final Fantasy Type 0 v2 English Translation || NPJH50443 &lt;br/&gt; merged with &lt;br/&gt; NPJH50444 || {{playable}} || Works as iso in Remaster Launcher. Packages created as Remaster or Minis will work but certain movie files will be corrupted due to file size limitations, is possible to skip said movies. In theory this is fixable if certain assets are heavily down-sampled.<br /> |-<br /> | Final Fantasy Type-0 Jap || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Fired Up || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Fish Eyes Portable || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | FlatOut Head On || ULES00968 || {{playable}} || <br /> |-<br /> | Flying Hamster || NPEZ00151 || {{playable}} || <br /> |-<br /> | Ford Bold Moves Street Racing || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Formula 1 Grand Prix || {{?}} || {{unplayable}} || <br /> |-<br /> | Formula 1 2009 || {{?}} || {{playable}} || Remaster method. <br /> |-<br /> | Frantix || ULUS10039 || {{playable}} || <br /> |-<br /> | Free Running || ULES00704 || {{playable}} || <br /> |-<br /> | Freekscape - Escape From Hell || NPUZ00013 || {{minorissues}} || Some do work / Some do not (conversion issues with eboot.pbp).<br /> |-<br /> | Frogger Helmet Chaos || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Frontier Gate Boost Plus || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | FRONTIER GATE Boost+ || {{?}} || {{unplayable}} || Freezes, after creating character.<br /> |-<br /> | Full Metal Alchemist Brotherhood || {{?}} || {{playable}} || <br /> |-<br /> | Funky Punch Mini || NPEZ00004 || {{playable}} || <br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · &lt;span style=&quot;color:#FF0000&quot;&gt;F&lt;/span&gt; · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> <br /> <br /> == G ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | G-Force || ULUS10439 || {{playable}} || <br /> |-<br /> | Gachitora || NPJH50409 || {{minorissues}} || Errors about memory stick size.<br /> |-<br /> | Gangs of London || UCUS98617 || {{unplayable}} || <br /> |-<br /> | Generation of Chaos || {{?}} || {{playable}} || <br /> |-<br /> | Generation of Chaos: Pandora's Reflection || {{?}} || {{playable}} || Remaster method.<br /> |-<br /> | Genso Suikoden Tsumugareshi Hyakunen no Toki || NPJH50535 || {{unplayable}} || Freezes.<br /> |-<br /> | Ghost in the Shell || {{?}} || {{unplayable}} || Starts up fine &amp; you'll see logo, but freezes on a black screen.<br /> |-<br /> | Gitaroo Man Lives! || ULUS10207 || {{playable}} || Working/Saving correctly as iso in Remaster Launcher. If turned into a pkg using PSP2PS3 etc (even with save fix enabled) the game will freeze on attempting to save.<br /> |-<br /> | Gladiator Begins || ULUS10528 || {{playable}} || Works as a PSP Remaster, must create your own EBOOT.PBP or game will freeze console at black screen requiring reboot.<br /> |-<br /> | God of War: Chains of Olympus || {{?}} || {{minorissues}} || Graphical errors and text does not display.<br /> |-<br /> | God of War: Ghost of Sparta || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | God of War: Ghost of Sparta Demo || NPUG70125 || {{majorissues}} || Issues with shadow/lights.<br /> |-<br /> | Godfather Mob Wars || {{?}} || {{unplayable}} || <br /> |-<br /> | Gods Eater Burst || ULUS10563 || {{majorissues}} || Boots but freezes in-game. Won't load save data.<br /> |-<br /> | God Eater 2 || {{?}} || {{playable}} || No problems with remaster method. Suggested to map d-pad to right stick.<br /> |-<br /> | Goku Makaimura Kai || {{?}} || {{unplayable}} || Gets to the menu to choose Original or Remastered then freezes on loading screen after one is selected. Tried as mini and remastered. May need an eboot fix method similar to Power Stone Collection to get it to run.<br /> |-<br /> | Gradius Collection || ULUS10103 || {{playable}} || Mini runs with resigned EBOOT, but black screens after 4th intro. Playable as remasters.<br /> |-<br /> | Gradius Portable || ULJM05091 || {{minorissues}} || Stuck on &quot;loading&quot; screen. Playable as remasters, but little graphic and sound issues.<br /> |-<br /> | Gran Turismo || {{?}} || {{unplayable}} || <br /> |-<br /> | Grand Knight Chronicle || {{?}} || {{unplayable}} || Black screen.<br /> |-<br /> | Grand Knights History || {{?}} || {{majorissues}} || Needs Remaster method. Major graphical issues, freezes if enter &quot;Options&quot;.<br /> |-<br /> | Grand Theft Auto Liberty City Stories || ULES00151 || {{unplayable}} || Black screen, power button reset.<br /> |-<br /> <br /> |rowspan=&quot;2&quot;|<br /> Grand Theft Auto: Chinatown Wars<br /> || ULUS10490 || {{unplayable}} || Black screen.<br /> |-<br /> || ULES01347 || {{unplayable}} || Black screen.<br /> |-<br /> <br /> |rowspan=&quot;2&quot;|<br /> Grand Theft Auto: Vice City Stories<br /> || ULES00502 || {{unplayable}} || Black screen.<br /> |-<br /> || ULUS10160 || {{majorissues}} || The game boots up fine but you cannot see anything. Just the sounds and the pause menu.<br /> |-<br /> <br /> | GRAW 2 || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Gripshift || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Growlanser: Wayfarer of Time || {{?}} || {{playable}} || Needs EBOOT fix.<br /> |-<br /> | GTI Club Supermini Festa || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Guilty Gear XX || {{?}} || {{unplayable}} || tested as a Remaster.<br /> |-<br /> | Guilty Gear Judgment || ULES00574 || {{playable}} || PS3minis 2.1.2 Remaster - no issues<br /> |-<br /> | GUN || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Gundam Assault Survive || ULJS00281 || {{unplayable}} || PS3minis 2.1.2 Remaster - Won't boot and resets PS3.<br /> |-<br /> | Gundam Battle Assault || ULJS00145 || {{majorissues}} || Game plays fine but will not save.<br /> |-<br /> | Gundam Battle Royal || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Gundam Battle Tactics || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Gundam Battle Universe || ULJS00145 || {{playable}} || Remaster, no issues<br /> |-<br /> | Gundam Memories: Memories of Battle || {{?}} || {{playable}} || 1.74 now works, playable but save issues.<br /> |-<br /> | Gundam Seed: Rengou VS ZAFT Portable || ULJM05238 || {{playable}} || Remaster, no issues<br /> |-<br /> | Gundam Versus Gundam || ULJS00165 || {{playable}} || EBOOT resigned.<br /> |-<br /> | Gundam Versus Gundam Next Plus || NPJH50107 || {{playable}} || EBOOT resigned using PS3 Minis 2.1.2 -- also tested on English patch v1.5<br /> |-<br /> | Gungnir || ULUS10592 || {{unplayable}} || PS3minis 2.1.2 - tested as both Remaster and Minis: Fails to boot and restarts PS3 on PS button &gt; Quit Game<br /> |-<br /> | Gunhound EX || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> <br /> |rowspan=&quot;2&quot;|<br /> Gurumin: A Monstrous Adventure<br /> || NPJH50109 || {{playable}} || <br /> |-<br /> || ULUS10228 || {{playable}} || <br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · &lt;span style=&quot;color:#FF0000&quot;&gt;G&lt;/span&gt; · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> == H ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | Half-Minute Hero || ULUS10491 || {{playable}} || <br /> |-<br /> | Hammerin' Hero || ULUS10392 || {{unplayable}} || Not working as either Remasters or Minis. Black screen after minis logo.<br /> |-<br /> | Harry Potter and the Order of Phoenix || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Harvest Moon: Boy &amp; Girl || ULUS10142 || {{unplayable}} || Starts up, but when you select boy or girl it freezes at &quot;Now Loading&quot;.<br /> |-<br /> | Harvest Moon: Hero of Leaf Valley || ULUS10458 || {{unplayable}} || Freezes when 'new game' is selected.<br /> |-<br /> | Hatsune Miku: Project Diva || {{?}} || {{playable}} || <br /> |-<br /> | Hatsune Miku: Project Diva 2nd || {{?}} || {{playable}} || Black screen in normal mode, working in remaster.<br /> |-<br /> | Hatsune Miku: Project Diva Extend || {{?}} || {{playable}} ||<br /> |-<br /> | Hayarigami 3 || {{?}} || {{playable}} || <br /> |-<br /> | Heaven's Will || ULJM05186 || {{playable}} || <br /> |-<br /> | Hellboy - The Science of Evil || ULES00827 || {{playable}} || <br /> |-<br /> | Heracles Chariot Racing Mini || NPEZ00095 || {{playable}} || <br /> |-<br /> | Heroes VS || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | Hexyz Force || {{?}} || {{majorissues}} || Works with EBOOT resigned, but can't save. Also the mini-map is glitched-looking and there are some minor graphic glitches elsewhere. Same issues as default Remaster.<br /> |-<br /> | Hot Pixel || ULES00642 || {{playable}} || Works as Remaster.<br /> |-<br /> | Hot Shots Golf: Open Tee || UCUS98614 || {{unplayable}} || Black screen.<br /> |-<br /> | Hot Shots Golf: Open Tee 2 || UCUS98693 || {{playable}} || Works as a Remaster. Doesn't work as a Mini.<br /> |-<br /> | HotBrain || {{?}} || {{playable}} || Work as Remaster.<br /> |-<br /> | House || {{?}} || {{majorissues}} || Works as a Remaster, but framerate too slow to play.<br /> |-<br /> | Hunter x Hunter : Wonder Adventure || NPJH50624 || {{playable}} || Minis2 settings:<br /> AW.DISABLE_FB_TEX = 100 To fix gfx errors<br /> |-<br /> | Hysteria Project 2 || {{?}} || {{playable}} || <br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · &lt;span style=&quot;color:#FF0000&quot;&gt;H&lt;/span&gt; · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> <br /> <br /> == I ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | Ikki Tousen: Eloquent Fist || {{?}} || {{unplayable}} || Both Mini and Remaster: Freezes after choosing to start the game from the main menu.<br /> |-<br /> | Ikki Tousen: Xross Impact || NPJH50222 || {{playable}} || <br /> |-<br /> | IL2 Sturmovik Birds of Prey || {{?}} || {{playable}} || <br /> |-<br /> | Indiana Jones and Staff of King || {{?}} || {{unplayable}} || Black screen after minis logo.<br /> |-<br /> | Infected || ULUS10054 || {{playable}} || Some of the cutscenes won't show (sound only, random?). Otherwise perfect.<br /> |-<br /> | Initial D Street Stage || ULJM05093 || {{unplayable}} || Black screen after minis logo. Remaster black screen. Unhandled Exception while converting with b22.<br /> |-<br /> | Innocent Life: A Futuristic Harvest Moon || ULUS10219 || {{playable}} || Works as iso in Remaster Launcher. Can also be turned into a remaster package.<br /> |-<br /> | International Snooker Mini || NPEZ00104 || {{playable}} || <br /> |-<br /> | Iron Man|| {{?}} || {{unplayable}} || Black Screen. Freezes PS3 and must soft-reset it.<br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · &lt;span style=&quot;color:#FF0000&quot;&gt;I&lt;/span&gt; · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> == J ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | Jackass: The Game || ULUS10303 || {{unplayable}} || Black Screen as Remaster.<br /> |-<br /> | Jak and Daxter: The Lost Frontier || NPUG80330 || {{unplayable}} || Black screen after minis logo, crashes when exiting.<br /> |-<br /> | James Cameron's Avatar - The Game || ULUS10451 || {{unplayable}} || Black screen/unhandled exception in TargetManager log.<br /> |-<br /> | Jeanne D'Arc || UCUS98700 || {{playable}} || Compression Used: No; SAV temp Fix Applied: No;<br /> |-<br /> | Jikandia: The Timeless Land || {{?}} || {{unplayable}} || Freezes with Remaster method.<br /> |-<br /> | Jelly Pops || NPUZ00223 || {{playable}} || <br /> |-<br /> | Juiced 2: Hot Import Nights || ULUS10312 || {{unplayable}} || Works fine in the menus. Freezes during loading screens and/or gameplay. Tested as a remaster. <br /> |-<br /> | Jungle Party || {{?}} || {{unplayable}} || Black Screen during gameplay. as a Remaster.<br /> |-<br /> | Justice League Heroes || ULUS10214 || {{majorissues}} || Works as a Remaster, but most graphics are corrupted.<br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · &lt;span style=&quot;color:#FF0000&quot;&gt;J&lt;/span&gt; · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> <br /> <br /> == K ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | K-On Houkago Live || {{?}} || {{minorissues}} || Graphic texture issues, otherwise playable.<br /> |-<br /> | Kameleon || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Kamen Rider: Super Climax Heroes || {{?}} || {{playable}} || 1.74 sign eboot method; otherwise it freezes.<br /> |-<br /> | Kao Challengers || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Kazook || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Kenka Bancho 3 || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Kenka Bancho 4 || ULJS00268 || {{unplayable}} || White screens (minis+remaster).<br /> |-<br /> | Kenka Bancho: Badass Rumble || {{?}} || {{playable}} || Works as a Remaster. <br /> |-<br /> | Key of Heaven || {{?}} || {{unplayable}} || Tested as a Remaster<br /> |-<br /> | Killzone Liberation || {{?}} || {{unplayable}} || Freezes as minis or Remasters.<br /> |-<br /> | Kingdom Hearts Birth By Sleep (US) || {{?}} || {{unplayable}} || Black screen.<br /> |-<br /> | Kingdom Hearts Birth By Sleep Final Mix || ULJM05775 || {{unplayable}} || It gets to the copy right then black screen.<br /> |-<br /> | Kingdom of Paradise || {{?}} || {{majorissues}} || Memory Stick not accessible. Unable to start a new game or load. Leaving idle on the title screen will completely freeze the console after a while.<br /> |-<br /> | Kisouryouhei Gunhaund Ex || NPJH50723 || {{playable}} || 1.74 working.<br /> |-<br /> | Knights in the Nightmare || NPJH50230 || {{playable}} || 1.74 now works perfectly.<br /> |-<br /> | Kurohyou 2 - Ryu ga Gotoku Ashura Hen || NPJH50562 || {{unplayable}} || Save Game problem as Remaster.<br /> |-<br /> | Kurohyou 2 - Ryu ga Gotoku Ashura Hen || NPJH50562 || {{unplayable}} || Goes to main menu, then hard freezes when going ingame.<br /> |-<br /> | Kuroko no Basuke Kiseke no Game || {{?}} || {{playable}} || 1.74 now works well, little sound issues.<br /> |-<br /> | Kurulin Fusion Mini || NPUH10042 || {{playable}} || <br /> |-<br /> | Kyoukaisen-jou no Horizon || ULJS00543 || {{unplayable}} || Hard freeze as remaster, black screen as minis.<br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · &lt;span style=&quot;color:#FF0000&quot;&gt;K&lt;/span&gt; · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> <br /> <br /> == L ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | Le Parrain (The Godfather) || {{?}} || {{unplayable}} || Freeze.<br /> |-<br /> | Legend of Kunoichi Mini || NPUX80406 || {{playable}} || <br /> |-<br /> | LEGO Harry Potter - Years 1-4 || ULUS10500 || {{playable}} || Resigned EBOOT.<br /> |-<br /> | Lemmings || UCUS98647 || {{playable}} || <br /> |-<br /> | Let's Golf || NPEZ00032 || {{minorissues}} || Some do work / some do not. Black Screen / Freeze.<br /> |-<br /> | Little Britain || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | LittleBigPlanet || UCES01264 || {{unplayable}} || Black screen.<br /> |-<br /> | LocoRoco || UCUS98662 || {{playable}} || Works as a Remaster (default settings in MINIS2). <br /> |-<br /> | LocoRoco 2 || UCUS98731 || {{minorissues}} || Movies have only sound (no video).<br /> |-<br /> | LocoRoco Midnight Carnival || NPEG00024 || {{playable}} || Works good, even multiplayer via WiFi. EBOOT needs to be signed.<br /> |-<br /> | Lord of Arcana || ULUS10479 || {{playable}} || Needs save fix, decrypted EBOOT.BIN.<br /> |-<br /> | Lord of the Rings: Tactics || {{?}} || {{unplayable}} || Black screen as Remaster.<br /> |-<br /> | Lumines || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Lumines 2 || ULUS10183 || {{playable}} || <br /> |-<br /> | Lunar: Silver Star Harmony || ULUS10482 || {{minorissues}} || Works as Remaster. Freezes after first battle.<br /> |-<br /> | Lunar: Silver Star Harmony || ULUS10482 || {{playable}} || Converted this game with PSP2PS3 from an iso ripped from a real disc. Got several battles in as Remaster, no crashing, game is working fine. Rebug 4.82<br /> |-<br /> | Luxor || {{?}} || {{unplayable}} || Tested as a Remaster<br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · &lt;span style=&quot;color:#FF0000&quot;&gt;L&lt;/span&gt; · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> <br /> <br /> == M ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | Macross Ace Frontier || {{?}} || {{?}} || Untested<br /> |-<br /> | Macross Ultimate Frontier || NPJH50050 || {{minorissues}} || PS3minis 2.1.2 Remaster - JITTERY 3D models if on surface but in mid-air, models look OK. <br /> |-<br /> | Madden NFL '06 || {{?}} || {{unplayable}} || Tested as a Remaster<br /> |-<br /> | Magic Sudoku || UCAS40139 || {{playable}} || <br /> |-<br /> | Mahou Shojou Lyrical Nanoha As Portable: The Battle of Aces || ULJS00241 || {{unplayable}} || Black screen (1.74).<br /> |-<br /> | Mahjong Fight Club || {{?}} || {{unplayable}} || <br /> |-<br /> | Mahjong Fight Club: Zenkoku Taisen Ban || {{?}} || {{unplayable}} || <br /> |-<br /> | Mana Khemia 2 Portable+ || {{?}} || {{majorissues}} || Works as a Remaster, with all the problems it had on PSP (performance was bad on PSP and had random freezes).<br /> |-<br /> | Mana Khemia: Student Alliance || {{?}} || {{playable}} || Seems to work as a Remaster with default settings.<br /> |-<br /> <br /> |rowspan=&quot;2&quot;|<br /> Manhunt 2<br /> || ULES00756 || {{unplayable}} || Black Screen as Remaster.<br /> |-<br /> || ULUS10280 || {{unplayable}} || Black screen after the &quot;MINIS&quot; Logo. But you can hear a short &quot;Ding&quot; sound and see slightly HDD activity.<br /> |-<br /> <br /> | Marvel Super Hero Squad || {{?}} || {{playable}} || None. <br /> |-<br /> | Marvel Ultimate Alliance || {{?}} || {{unplayable}} || Tested as a Remaster<br /> |-<br /> | Me &amp; My Katamari || {{?}} || {{majorissues}} || Black screen after Minis logo. Loads as remaster, but most textures not showing up during gameplay.<br /> |-<br /> | Medal of Honor: Heroes || {{?}} || {{unplayable}} || Hear beep/sounds but nothing on screen, Home button wont respond, black screen.<br /> |-<br /> | Medal of Honor: Heroes 2 || {{?}} || {{unplayable}} || Hear beeps/sounds but nothing on screen, Home button wont respond, black screen.<br /> |-<br /> <br /> |rowspan=&quot;2&quot;|<br /> MediEvil Ressurrection<br /> || UCUS98620 || {{unplayable}} || Works as a Remaster. No video except HUD.<br /> |-<br /> || UCES00006 || {{unplayable}} || Works as a Remaster. No video except HUD.<br /> |-<br /> <br /> | Mega Man Powered Up || ULES00307 || {{playable}} || Works as a Remaster. Infinite loading if auto-saving is enabled.<br /> |-<br /> | Mega Man Maverick Hunter X || ULUS10068 || {{playable}} || Don't play anime scenes, works with remaster and mini. Has minor graphical issues with Sting Chameleon. Save OK. Mega Man Powered UP demo doesn't work.<br /> |-<br /> | Megamind - The Blue Defender || ULUS10520 || {{unplayable}} || Black screen/unhandled exception in TargetManager log.<br /> |-<br /> | Metal Gear AC!D || ULUS10006 || {{playable}} || Works as a Remaster.<br /> |-<br /> | Metal Gear AC!D 2 || ULUS10077 || {{majorissues}} || Works as a Remaster. MINIS2 settings in comment. Game will freeze when player wants to use weapon in 2nd mission.<br /> |-<br /> | Metal Gear Solid - Digital Graphic Novel || ULES00382 || {{playable}} || Works as a Remaster. <br /> |-<br /> | Metal Gear Solid: Peace Walker || ULUS10509 || {{unplayable}} || Black screen after Minis logo, crashes when exiting.<br /> |-<br /> | Metal Gear Solid: Portable Ops || {{?}} || {{majorissues}} || Remaster method freezes in first 5 minutes (x2).<br /> |-<br /> | Metal Gear Solid: Portable Ops + || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | Metal Slug Anthology || ULES00530 || {{unplayable}} || Freezes. As Remaster, when asked to enter name (new game) complains text is too short when it is not.<br /> |-<br /> | Metal Slug XX || {{?}} || {{playable}} || Works as a Remaster. PAL Copy works USA does not.<br /> |-<br /> | Miami Vice || {{?}} || {{unplayable}} || tested as a Remaster.<br /> |-<br /> | Micro Machines V4 || ULES00368 || {{playable}} || Works as a Remaster.<br /> |-<br /> | Midnight Club - L.A. Remix || ULES01144 || {{unplayable}} || Black screen as Remaster.<br /> |-<br /> | Midnight Club 3 - DUB Edition || ULES00108 || {{unplayable}} || Black screen as Remaster.<br /> |-<br /> | Military History Commander: Europe at War || ULES01179 || {{playable}} ||<br /> |-<br /> | Mimana Iyar Chronicle || ULUS10492 || {{playable}} || <br /> |-<br /> | Mind Quiz || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Mini Squadron || NPUZ00122 || {{playable}} || <br /> |-<br /> | Minna no Sukkiri || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | MLB 2K12 || {{?}} || {{unplayable}} || Black Screen/Freezes.<br /> |-<br /> | ModNation Racers || {{?}} || {{unplayable}} || <br /> |-<br /> | Moeru Mahjong - Moejong || {{?}} || {{unplayable}} || <br /> |-<br /> | Monopoly || {{?}} || {{playable}} || None.<br /> |-<br /> | Monster Hunter Freedom || {{?}} || {{unplayable}} || Can't add letters in name only numbers, game locks up after character creation.<br /> |-<br /> | Monster Hunter Freedom 2 || {{?}} || {{unplayable}} || Black screen / freeze.<br /> |-<br /> | Monster Hunter Freedom Unite || ULUS10391 || {{minorissues}} || Works as a Remaster. Europe Version Freeze at Begin Quest Screen. Freezes if you enter &quot;Options&quot;.<br /> |-<br /> | Monster Hunter Portable || ULJM05066 || {{playable}} || Can add only numbers in Character creation. Create a Character on an PC Emulator or PSP and copy the save to the PS3. Rest works.<br /> |-<br /> | Monster Hunter Portable 2nd || ULJM05156 || {{unplayable}} || Black screen / freeze<br /> |-<br /> | Monster Hunter Portable 2nd G || ULJM05500 || {{playable}} || Can add only numbers in Character creation. Create a Character on an PC Emulator or PSP and copy the save to the PS3. Rest works.<br /> |-<br /> | Monster Hunter Portable 3rd || ULJM05800 || {{playable}} || Works with save file injection. Otherwise, Black Screen/Freezes after character creation. Tested with English patch.<br /> |-<br /> | Monster Kingdom: Jewel Summoner || {{?}} || {{playable}} || <br /> |-<br /> | Monsters Probably Stole My Girlfriend || {{?}} || {{unplayable}} || Black screen after Minis logo, crashes when exiting.<br /> |-<br /> <br /> |rowspan=&quot;2&quot;|<br /> Mortal Kombat: Unchained<br /> || ULES00353 || {{minorissues}} || Works as a Remaster. Some stages will Freeze. &lt;br/&gt;<br /> As Minis: it boots up, works dandy until you try a match. Then it places an icon in the lower left of the screen with the text, &quot;UMD could not be read&quot;.<br /> |-<br /> || ULUS10102 || {{minorissues}} || Works as a Remaster, save OK. Some stages will freeze.<br /> |-<br /> <br /> | MOTO GP || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | MotorStorm Arctic Edge || {{?}} || {{majorissues}} || Loads fine but crashes during first race.<br /> |-<br /> | MX vs. ATV Reflex || {{?}} || {{unplayable}} || Can hear sound but there is no graphic.<br /> |-<br /> | MX vs. ATV Reflex || ULUS10429 || {{unplayable}} || After resigning eboot.bin freezes.<br /> |-<br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · &lt;span style=&quot;color:#FF0000&quot;&gt;M&lt;/span&gt; · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> == N ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | N+ || ULUS10340 || {{playable}} || <br /> |-<br /> | Namco Museum Battle Collection || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Naruto Shippuden - Kizuna Drive || ULUS10571 || {{playable}} || Resigned EBOOT.<br /> |-<br /> | Naruto Shippuden - Ultimate Ninja Heroes 3 || ULUS10518 || {{unplayable}} || Black screen/unhandled exception in TargetManager log.<br /> |-<br /> | Naruto Shippuden - Ultimate Ninja Impact || ULUS10582 || {{unplayable}} || Black screen, forces hard reset.<br /> |-<br /> | Nascar || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Nayuta no Kiseki || ULJM06113 || {{minorissues}} || Works, but menu graphical glitches.<br /> |-<br /> | NBA Live 08 || {{?}} || {{unplayable}} || Hangs on black bcreen as Remaster.<br /> |-<br /> | NBA Street Showdown || ULES00037 || {{unplayable}} || <br /> |-<br /> | Need For Speed - Carbon Own The City || ULES00577 || {{minorissues}} || Works as a Remaster. Missing some textures.<br /> |-<br /> <br /> |rowspan=&quot;2&quot;|<br /> Need For Speed - Most Wanted 5-1-0<br /> || ULES00196 || {{unplayable}} || Black screen, forces hard reset.<br /> |-<br /> || ULUS10036 || {{unplayable}} || Doesn't work after auto save.<br /> |-<br /> <br /> | Need For Speed - ProStreet || ULES01019 || {{minorissues}} || Works as a Remaster. Missing some textures.<br /> |-<br /> | Need For Speed - Shift || ULUS10462 || {{majorissues}} || Works as a Remaster, but the game is too slow.<br /> |-<br /> | Need For Speed - Undercover || ULES01145] || {{unplayable}} || Not working as Remaster. Freezes after game logo.<br /> |-<br /> | Need For Speed - Underground Rivals || ULES00025 || {{unplayable}} || Doesn't work after auto save.<br /> |-<br /> | Nendoroid Generation &lt;br/&gt; &lt;small&gt;ねんどろいど じぇねれ~しょん&lt;/small&gt; || ULJS00441 || {{playable}} || Run too fast, but is playable. Default MINIS2.txt settings. &lt;br/&gt; Does not work as Mini; stuck at first battle. Eboot resigned, update folder removed.<br /> |-<br /> | NFL Street 3 || ULUS10135] || {{playable}} || Works as a Remaster.<br /> |-<br /> | No Heroes Allowed! || NPUG80460 || {{unplayable}} || Stuck in blackscreen when switching to game proper.<br /> |-<br /> | Normal Tanks Mini || NPEZ00135 || {{playable}} || <br /> |-<br /> | Nova - Near Orbit Vanguard Alliance || NPEZ00222 || {{playable}} || <br /> |-<br /> | Numblast || NPEG00011 || {{playable}} || <br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · &lt;span style=&quot;color:#FF0000&quot;&gt;N&lt;/span&gt; · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> <br /> <br /> == O ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | Oben || ULESO1254 || {{minorissues}} || Remasters work slowly, has graphical glitches<br /> |-<br /> | Obscure Aftermath || {{?}} || {{playable}} ||<br /> |-<br /> | One Epic Game || NPEZ00344 || {{playable}} || Works flawlessly. Multiplayer works via WiFi. <br /> |-<br /> | One Piece ROMANCE DAWN || NPJH50679 || {{playable}} || Tested resigned EBOOT and as Remaster.<br /> |-<br /> | One Piece Romance Dawn Bouken no Yoake || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | One Two Boat Racing Mini || NPUX80431 || {{playable}} || <br /> |-<br /> | OneChanbara Special || {{?}} || {{majorissues}} || Errors about memory stick size.<br /> |-<br /> | OneChanbara Special ||ULJS00367 || {{unplayable}} || Black screen.<br /> |-<br /> | Open Season || {{?}} || {{unplayable}} || <br /> |-<br /> | Ore no shikabane wo koeteyuke || {{?}} || {{playable}} || Works as a Remaster, with minimal graphical glitches.<br /> |-<br /> | Outrun 2006: Coast 2 Coast || {{?}} || {{playable}} || <br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · &lt;span style=&quot;color:#FF0000&quot;&gt;O&lt;/span&gt; · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> <br /> <br /> == P ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | Pac-Man World 3 || ULUS10055 || {{unplayable}} || Black screen as Remaster.<br /> |-<br /> | Pachisi Mini || NPEZ00123 || {{playable}} || <br /> |-<br /> | Pangya: Fantasy Golf || ULUS10438 || {{unplayable}} || After Minis logo, hangs with a black screen. Remaster does not work either.<br /> |-<br /> | Parappa the Rapper || {{?}} || {{minorissues}} || Playable (using PSP minis placeholder PKG). Hard to play due to video lag or input lag.<br /> |-<br /> | Parodius Portable || ULJM05220 || {{playable}} || Playable as Remaster, but jikkyou parodius freezes after character select.<br /> |-<br /> | Passport to.. London || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Patapon || {{?}} || {{unplayable}} || As remaster or minis -- freezes on &quot;New game&quot; intro. Same issue on EU ver[UCES00995]<br /> After loading injected save game, &quot;Village&quot; works (runs a little fast) but freezes when starting a mission, so no play can ever be had.<br /> |-<br /> | Patapon 2 || {{?}} || {{unplayable}} || Remaster and Minis: Crashes to black screen.<br /> |-<br /> | Patapon 3 || UCES01421 || {{unplayable}} || Black screen Minis/Remaster.<br /> |-<br /> | Patchwork Heroes || NPEG00028 || {{playable}} || <br /> |-<br /> | Persona || NPEH00069 || {{playable}} || Works as iso in Remaster Launcher. Also works when turned into Remaster pkg.<br /> |-<br /> | Persona 2: Innocent Sin || ULES01557 || {{playable}} || Works as iso in Remaster Launcher. UNDUB works as PKG PSP2PS3 2.1.5.<br /> |-<br /> | Persona 2: Eternal Punishment || ULJM06081 || {{playable}} || Works as iso in Remaster Launcher. Also works when turned into Remaster pkg.<br /> |-<br /> | Petz My Baby Hamster || ULES01266 || {{playable}} || <br /> |-<br /> | Petz Puppy Family || ULES01267 || {{playable}} || Works as a Remaster.<br /> |-<br /> | Petz Saddle Club || ULUS10402 || {{playable}} || Works as a Remaster.<br /> |-<br /> <br /> |rowspan=&quot;2&quot;|<br /> Phantasy Star Portable<br /> || ULES01218 || {{majorissues}} || Remaster: Cannot save. Really speedy on menus, major random slowdowns during quests, NPC dialogues show no text. Compression or not is the same. Minis does not work as well.<br /> |-<br /> || ULUS10410 || {{majorissues}} || Remaster: Cannot save. Really speedy on menus, major random slowdowns during quests, NPC dialogues show no text. Compression or not is the same. Minis does not work as well.<br /> |-<br /> <br /> |rowspan=&quot;2&quot;|<br /> Phantasy Star Portable 2<br /> || ULES01439 || {{minorissues}} || Works as remaster. Included minis2.txt. EBOOT.PBP compressed. EBOOT.BIN signed with seboot with '-tn' switch. Saves work. Only problem is the major slowdowns when enemies, laser gates/fences, or other NPCs are on the area. Using PrxEncrypter will yield in black screen at startup. Infrastructure play mode will freeze the PS3, requiring hard reset.<br /> |-<br /> || ULUS10529 || {{playable}} || Remaster with modified prxencryptor (PrxEncryptor_mod2) with default mini2 settings:<br /> S3D.ENABLE = 0<br /> ADHOC_PARTY = 1<br /> VFPU_USE_FAST_VMMUL = 1<br /> - helps with some of the framerate drops.<br /> |-<br /> <br /> | Phantom Brave: The Hermuda Triangle || {{?}} || {{minorissues}} || Skill text doesn't show when used. Resigned EBOOT.<br /> |-<br /> | Pilot Academy || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Pimp My Ride || ULES00960 || {{unplayable}} || Black screen as a Remaster.<br /> |-<br /> | Pinball Dreams || NPEZ00021 || {{playable}} || Official minis title. ISO backup works as a Remaster.<br /> |-<br /> | Pinball Fantasies || NPEZ00022 || {{playable}} || Official minis title. ISO backup works as a Remaster.<br /> |-<br /> | Pipe Mania || ULES01094 || {{playable}} || Works as a Remaster.<br /> |-<br /> | PixelJunk Monsters Deluxe || {{?}} || {{minorissues}} || GFX glitches after tutorial<br /> |-<br /> | PixelJunk Monsters Mini || NPUG80248 || {{playable}} || <br /> |-<br /> | Pocket Pool || {{?}} || {{unplayable}} || <br /> |-<br /> | Pool Hall Pro (US) || {{?}} || {{unplayable}} || Remaster method, black screen.<br /> |-<br /> | PoPoloCrois || {{?}} || {{playable}} || <br /> |-<br /> | Powerstone Collection || {{?}} || {{playable}} || Works as a Remaster. Needs each game to be separated : in the iso, take out PWS1.PRX or PWS2.PRX, rename it to EBOOT.BIN, resign it with SIGN_EBOOT.BAT, and replace the original EBOOT.BIN in SYS_DIR using UMDGen.exe with the one of your game. Then enjoy it as a remaster :) or add minis2 : ELF_PATH = disc0:/PSP_GAME/SYSDIR/EBOOT.BIN to the path/ pwsX.prx you like..to run, easier and faster than always repacking.<br /> |-<br /> | PQ Practical Intelligence Quotient || {{?}} || {{unplayable}} || <br /> |-<br /> | Prince of Persia: Revelations || ULES00223 || {{unplayable}} || Loading screen freezes. Doesn't work as Remaster.<br /> |-<br /> | Prince of Persia: Rival Swords || {{?}} || {{playable}} || Gives a wlan error at startup and FMV doesn't work properly, but game runs fine.<br /> |-<br /> | Prince of Persia: The Forgotten Sands || ULUS10480] || {{unplayable}} || Freezes, even with resigned eboot.<br /> |-<br /> | Prinny 2 - Operation Panties Dood! || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> <br /> |rowspan=&quot;2&quot;|<br /> Prinny - Can I Really be the Hero<br /> || ULES01278 || {{playable}} || Works as a Remaster.<br /> |-<br /> || ULUS10407 || {{unplayable}} || PS3minis 2.1.2 Remaster - Won't boot but will not freeze PS3.<br /> |-<br /> <br /> | Pro Evolution Soccer 2007 || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Puella Magi Madoka Magica Portable || ULJS00430 || {{playable}} || Works as a Remaster. PSPtoPS3-b22<br /> |-<br /> | Pursuit Force || {{?}} || {{unplayable}} || <br /> |-<br /> | Pursuit Force: Extreme Justice || {{?}} || {{majorissues}} || Minis or Remaster: FMV not working properly (no freeze). Bad background when quicksaving. Crashes after the first cut-scene when you start a new game.<br /> |-<br /> | PuyoPuyo!! 20th Anniversary || NPJH50492 || {{playable}} || Remaster, Eboot manual resign, update folder removed, auto save/load is working.<br /> |-<br /> | Puzzle Bobble Pocket || {{?}} || {{playable}} || <br /> |-<br /> | Puzzle Quest: Challenge of the Warlords || {{?}} || {{unplayable}} || Locks up on memory card access as either Remastered or Mini.<br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · &lt;span style=&quot;color:#FF0000&quot;&gt;P&lt;/span&gt; · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> == Q ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | Queen's Blade || {{?}} || {{minorissues}} || FMVs are not working properly.<br /> |-<br /> | Queen's Gate: Spiral Chaos || {{?}} || {{minorissues}} || Works as a Remaster. Problem playing FMV sequences, though this doesn't cause game to freeze and background during quicksave is messed up<br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · &lt;span style=&quot;color:#FF0000&quot;&gt;Q&lt;/span&gt; · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> <br /> <br /> == R ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | R-Type Command || ULUS10343 || {{playable}} || Works as mini without using compression.<br /> |-<br /> | R-Type Tactics 2 Operation Bitter Chocolate || NPJH50119 || {{unplayable}} || <br /> |-<br /> | Ragnarok Tactics &lt;br/&gt; ''&lt;small&gt;Ragnarok - Hikari to Yami no Koujo&lt;/small&gt;'' || ULUS10594 || {{playable}} || <br /> |-<br /> | Ratatouille || {{?}} || {{unplayable}} || Tested as Remaster and Minis all 12 versions of the game in all languages, non of them works, all black screen. (CodedXtreme)<br /> |-<br /> | Ratchet &amp; Clank Size Matters || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Rebellions Secret Game 2nd Stage || ULJM06253 || {{playable}} || <br /> |-<br /> | Reel Fishing || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | RENGOKU The Tower of Purgatory || {{?}} || {{unplayable}} || Tested as a Remaster<br /> |-<br /> | Resistance Retribution || {{?}} || {{majorissues}} || With remaster everything works saves etc, until you actually get in game. The frame rate is so slow it's unplayable.<br /> |-<br /> | Retro Mini || NPEZ00141 || {{playable}} || <br /> |-<br /> | Ridge Racer || UCES00002 || {{unplayable}} || After mini game it black screens. Tested as Remaster.<br /> |-<br /> <br /> |rowspan=&quot;2&quot;|<br /> Ridge Racer 2<br /> || UCES00422 || {{playable}} || <br /> |-<br /> || ULJS00080 || {{playable}} || Works perfectly as minis. Frame rate is slow as remaster.<br /> |-<br /> <br /> | Riviera The Promised Land || {{?}} || {{majorissues}} || There are big graphical errors witch make it unplayable.<br /> |-<br /> | Rockband 2 (Alpha) || {{?}} || {{unplayable}} || Black screen as Remaster or Mini.<br /> |-<br /> | Rockband Unplugged || {{?}} || {{majorissues}} || Functional as Remaster but music is bugged.<br /> |-<br /> | Rocket Racing Mini || NPEZ00043 || {{unplayable}} || Black Screen / Freeze.<br /> |-<br /> | Rockman Dash 1 || {{?}} || {{majorissues}} || Game starts and menu shows, but scenario in stages is black. Enemies' shots are not visible.<br /> |-<br /> | Rockman Dash 2 || {{?}} || {{playable}} || Perfect as a Remaster.<br /> |-<br /> | Rockstar's Beaterator || {{?}} || {{minorissues}} || For the most part it is working, the samples tend to get glitchy on a number of setups, and sound really bad.<br /> |-<br /> | Rocky Balboa || {{?}} || {{unplayable}} || Black screen as Remaster.<br /> |-<br /> | Route 66 Mini || NPEZ00036 || {{unplayable}} || Black Screen / Freeze.<br /> |-<br /> | Rush || ULUS10174 || {{majorissues}} || Working, but the game is to slow as a Remaster.<br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · &lt;span style=&quot;color:#FF0000&quot;&gt;R&lt;/span&gt; · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> == S ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | Saint Seiya Omega Ultimate Cosmos || NPJH50699 || {{playable}} || 1.74 Working.<br /> |-<br /> | Salamander Portable || ULJM05219 || {{unplayable}} || Minis and Remaster get stuck on &quot;loading&quot; screen.<br /> |-<br /> | Samurai Warriors: State of War || {{?}} || {{playable}} || Works as Remaster.<br /> |-<br /> | Scarface || {{?}} || {{playable}} || Works as Remaster.<br /> |-<br /> | Scooby Doo Who's Watching Who || {{?}} || {{playable}} || Works as Remaster.<br /> |-<br /> | Scrabble || {{?}} || {{playable}} || Tested as ISO.<br /> |-<br /> | SD Gundam G Generation Portable || ULJS00065 || {{unplayable}} || Freezes.<br /> |-<br /> | Secret Agent Clank || {{?}} || {{unplayable}} || Black screen after loading a save or selecting new game.<br /> |-<br /> | Sega Mega Drive Collection || ULES00556 || {{unplayable}} || Error wlan doesn't work as a Remaster.<br /> |-<br /> | Sega Rally Revo || ULUS10311 || {{unplayable}} || PS3minis 2.1.2 Remaster - Boots fine but stuck past profile selection to game proper. <br /> |-<br /> | Senritsu no Stratus || {{?}} || {{unplayable}} || Tested as Minis and Remaster.<br /> |-<br /> | Shadow of Destiny || ULUS10459 || {{playable}} || Perfect as remaster, minis2 settings: <br /> ADHOC.EMUPA_TITLE_ID = ULUS10459 <br /> AW.LINEAR_ADRS = 40 <br /> AW.DISABLE_FB_TEX = 200<br /> |-<br /> | Shin Megami Tensei: Persona || ULUS10432 || {{playable}} || Remaster, minis2 settings <br /> SAVEDATA_USE_PS3_SAVE = 1 <br /> |-<br /> | Shin Megami Tensei: Persona 2 Innocent Sin || ULUS10584] || {{unplayable}} || Black screen.<br /> |-<br /> | Shin Megami Tensei: Persona 3 Portable || ULUS10512 || {{unplayable}} || Game starts and menu shows, but scenario in stages is black. Enemies' shots are not visible.<br /> |-<br /> | Shining Ark || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | Shining Blade || NPJH50530 || {{unplayable}} || Black screen.<br /> |-<br /> | Shrek The Third || {{?}} || {{majorissues}} || Tested as a Remaster &amp; Minis graphical and camera axis corruptions. Freezes PS3.<br /> |-<br /> | Sid Meier's Pirates! - Live the Life || ULUS10224 || {{playable}} || <br /> |-<br /> | Silent Hill Origins || ULUS10285 || {{minorissues}} || Compression used: No; SAV temp Fix applied: Yes;<br /> Use<br /> AW.LINEAR_ADRS = 40<br /> to fix unplayable issue but still leaves flashlight issue.<br /> |-<br /> | Silent Hill Shattered Memories || ULES01352 || {{unplayable}} || After game logo black screen as Remaster.<br /> |-<br /> | SOCOM - U.S. Navy SEALs - Fireteam Bravo || {{?}} || {{playable}} || Use default mini2 settings.<br /> |-<br /> | SOCOM - U.S. Navy SEALs - Fireteam Bravo 3 || UCUS98716 || {{unplayable}} || Detects update, black screen on start up<br /> |-<br /> | Sol Trigger || NPJH50619 || {{unplayable}} || Freezes. Used untouched iso and resigned eboot.. and no compression. Freezes as Remaster as well. Game starts, but black screen when going into 3D gameplay.<br /> |-<br /> | Sonic Rivals || ULES00622 || {{unplayable}} || <br /> |-<br /> | Sonic Rivals 2 || {{?}} || {{majorissues}} || Appears working up until you start a stage, where nothing but the HUD graphics display.<br /> |-<br /> | Sora wo Aogite Kumotakaku Portable || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | Soreyuke! Burunyan-Man Portable || NPJH50656 || {{playable}} || Works as a Remaster and mini.<br /> |-<br /> | SoulCalibur Broken Destiny || ULUS10457 || {{playable}} || Works as a Remaster.<br /> |-<br /> | Space Invaders Extreme || {{?}} || {{majorissues}} || None. Compression Used: No, SAV temp Fix Applied: No.<br /> |-<br /> | Space Invaders Extreme || ULES01078 || {{playable}} || <br /> |-<br /> | Space Invaders Extreme || ULJM05315 || {{playable}} || Works as a Remaster.<br /> |-<br /> | Spaceball Revolution Mini || NPEZ00120 || {{playable}} || <br /> |-<br /> | Spectral Souls: Resurrection of the Ethereal Empires || {{?}} || {{majorissues}} || FMVs are not visible. Cannot save.<br /> |-<br /> | Spectral VS Generation || ULES00757 || {{unplayable}} || PS3minis 2.1.2 Remaster - Won't boot and freezes PS3<br /> |-<br /> | Spiderman 2 || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Spiderman 3 || {{?}} || {{majorissues}} || Remaster: framerate too slow to be playable.<br /> |-<br /> | Split Second || ULUS10513 || {{majorissues}} || Resigned EBOOT. Performance issues, unplayable using &quot;3rd person view&quot; camera.<br /> |-<br /> | Spongebob Squarepants The Yellow Avenger || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | SSX On tour || {{?}} || {{unplayable}} || Freezes on loading screen.<br /> |-<br /> | Stand O'Food Mini || NPEZ00002 || {{unplayable}} || Black Screen / Freeze.<br /> |-<br /> | Star Ocean: First Departure || ULUS10374 || {{playable}} || Compression Used: No; SAV temp Fix Applied: No; -- Undub also works.<br /> |-<br /> | Star Ocean: Second Evolution || ULUS10375 || {{playable}} || Compression Used: No; SAV temp Fix Applied: No; -- Undub also works.<br /> |-<br /> | Star Trek - Tactical Assault || ULES00623 || {{playable}} || <br /> |-<br /> | Star Wars Battlefront - Renegade Squadron || ULES00861 || {{playable}} || <br /> |-<br /> | Star Wars Battlefront II || ULES00183 || {{playable}} || <br /> |-<br /> | Star Wars Battlefront: Elite Squadron || ULUS10390 || {{playable}} || Work with remaster or mini, save ok<br /> |-<br /> | Star Wars Battlefront: Renegade Squadron || ULUS10292 || {{playable}} || <br /> |-<br /> |rowspan=&quot;2&quot;|<br /> Star Wars Lethal Alliance<br /> || ULUS10188 ||{{unplayable}} || Tested as a Remaster.<br /> |-<br /> || ULES00599 || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> <br /> | Star Wars: The Clone Wars Republic Heroes || ULES01284 || {{playable}} || <br /> |-<br /> | Star Wars: The Force Unleashed || {{?}} || {{majorissues}} || Remaster method. Plays somewhat then slows to an unbearably slow speed.<br /> |-<br /> | State Shift || ULES00776 || {{playable}} || <br /> |-<br /> | Steambot Chronicles Battle Tournament || ULUS10470 || {{minorissues}} || PS3 Minis 2.1.2 - Remaster: audio slowdown and a few texture glitches.<br /> |-<br /> | Street Fighter Alpha 3 Max (US &amp; EU) || {{?}} || {{minorissues}} || Can't save game, &quot;no memory stick duo found&quot; message; needs a save present in order to overwrite it.<br /> |-<br /> | Street Fighter Zero 3 Double Upper || {{?}} || {{minorissues}} || This one doesn't freeze after a fight. Load/save still not working even with &quot;tmp&quot; fixes, you can load and save an injected game save.<br /> |-<br /> | Street Supremacy || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Strikers 1945 Plus || ULKS46198 || {{playable}} || <br /> |-<br /> |rowspan=&quot;2&quot;|<br /> Summon Night 5<br /> || NPJH50696 || {{majorissues}} || Works with EBOOT resigned (tested as remaster), but freezes on selecting &quot;1st stage&quot;.<br /> |-<br /> || ULUS10656G || {{minorissues}} || Works in Remaster Launcher. Game occasionally can crash in battle, sometimes the same battle on repeated occasions. Seems to be possible to eventually get past said problematic battles.<br /> |-<br /> <br /> | Sunday vs Magazine Shuuketsu || ULJM05450] || {{playable}} || PS3minis 2.1.2 Remaster - no issues<br /> |-<br /> | Super Collapse 3 || ULUS10287 || {{playable}} || Minor graphical issues.<br /> |-<br /> | Super Dangan Ronpa 2 || NPJH50631 || {{unplayable}} || Black screen.<br /> |-<br /> | Super Fruit Fall || ULES00639 || {{playable}} || <br /> |-<br /> | Super Monkey Ball Adventure || ULUS10132 || {{playable}} ||<br /> |-<br /> | Super Pocket Tennis || ULES00619 || {{playable}} || <br /> |-<br /> | Super Robot Taisen A Portable || {{?}} || {{playable}} || <br /> |-<br /> | Super Robot Taisen OG Saga: Masou Kishin - The Lord of Elemental || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Super Robot Taisen Z Saiseihen || {{?}} || {{unplayable}} || Remaster: Freeze at Bandai title<br /> |-<br /> | Super Robot Taisen Z2 Hakai Hen || NPJH50555 || {{playable}} || Works as a Remaster.<br /> |-<br /> | Super Robot Taisen Z2 Hakai Hen || ULJS00379 || {{unplayable}} || Black screen.<br /> |-<br /> | Super Robot Taisen Z2 Saisei Hen || NPJH50517 || {{playable}} || Works as a Remaster.<br /> |-<br /> | Super Robot Taisen Z2 Saisei Hen || ULJS00460 || {{unplayable}} || Black screen.<br /> |-<br /> <br /> |rowspan=&quot;2&quot;|<br /> SWAT: Target Liberty<br /> || ULES00927 || {{playable}} || Works if eboot is fixed.<br /> |-<br /> || ULUS10314 || {{unplayable}} || Black screen.<br /> |-<br /> <br /> | Sword Art Online Infinity Moment || {{?}} || {{unplayable}} || Freezes. Guess: This game requires data to be installed?<br /> |-<br /> | Syphon Filter: Dark Mirror || UCUS98641 || {{unplayable}} || Freezes.<br /> |-<br /> | Syphon Filter: Logan's Shadow || {{?}} || {{unplayable}} || Freezes.<br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · &lt;span style=&quot;color:#FF0000&quot;&gt;S&lt;/span&gt; · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> == T ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | T.N.K III || NPUZ00147 || {{playable}} || <br /> |-<br /> | Tactics Ogre: Let Us Cling Together || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | Tactics Ogre: Let Us Cling Together || ULES01500 || {{playable}} || Re-sign EBOOT.BIN &amp; add MINIS2 Settings<br /> VFPU_USE_FAST_VMMUL = 1<br /> AW.EXT_MODE = 3<br /> AW.EXT_CMD = 2<br /> AW.LINEAR_ADRS = 40<br /> AW.DISABLE_FB_TEX = 100<br /> |-<br /> | Taiko no Tatsujin Portable || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | Taiko no Tatsujin Portable 2 || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | Taiko no Tatsujin Portable DX || NPJH50426 || {{playable}} || Sometimes slowdown as Remaster. minis is no issues.<br /> |-<br /> | Taito Legends PowerUp || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Taitsujin Portable || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Tales of Destiny 2 || ULJS00097 || {{playable}} || Must load saves from in-game, it doesn't work from the title screen.<br /> |-<br /> | Tales of Eternia || ULES00176 || {{playable}} || Works perfect as ISO. Disgusting graphics on HDTV.<br /> |-<br /> | Tales of Phantasia Narikiri Dungeon X || {{?}} || {{minorissues}} || Works with resigned EBOOT, runs at halved speed outside of battles, and nearly double speed during battles, character sprites randomly disappear outside of battles. Tales of Phantasia X doesn't work.<br /> |-<br /> | Tales of Rebirth || ULJS00132 || {{unplayable}} || Black screen after the Minis logo.<br /> |-<br /> | Tales of the Heroes: Twin Brave || NPJH50501 || {{playable}} || Works as a Remaster. Double speed in menu some random minor speed up or slow down in-game.<br /> |-<br /> | Tales of the World: Radiant Mythology || ULUS10271 || {{playable}} || Minor graphical glitches. Playable with Remasters.<br /> |-<br /> | Tales of the World: Radiant Mythology || ULUS10271 || {{playable}} || Works as a Remaster.<br /> VOUT_RESOLUTION_MODE = 0<br /> DRAWN_IMAGE_SCALE = 4<br /> AW.LINEAR_ADRS = 40 - Fixes Minor graphical glitches before battles.<br /> |-<br /> | Tales of the World: Radiant Mythology 2 [Without English Patch] || {{?}} || {{unplayable}} || Black Screen after mini's logo.<br /> |-<br /> | Tales of the World: Radiant Mythology 2 [English Patch] || ULJS00175 || {{playable}} || Works as a Remaster, no problem at all. tested as ISO &amp; PKG.<br /> |-<br /> | Tales of the World: Radiant Mythology 3 || {{?}} || {{unplayable}} || <br /> |-<br /> | Tales of VS || {{?}} || {{unplayable}} || Game loads to menu, but freezes before the start of each fight.<br /> |-<br /> | Tekken 5: Dark Resurrection || {{?}} || {{minorissues}} || Texture issues.<br /> |-<br /> | Tekken 5: Dark Resurrection v2 || UCES00356] || {{unplayable}} || Freezes after game logo as Remaster.<br /> |-<br /> |rowspan=&quot;2&quot;|<br /> Tekken 6<br /> || ULES01376 || {{playable}} || Works as a Remaster.<br /> |-<br /> || ULUS10466 || {{playable}} || Works as a Remaster.<br /> |-<br /> <br /> | Telegraph Crosswords Mini || NPEZ00112 || {{unplayable}} || Black Screen / Freeze.<br /> |-<br /> | Telly Addicts || ULES00983 || {{playable}} || Works as a Remaster.<br /> |-<br /> | Tenchu: Time of the Assassins || ULES00277 || {{playable}} || <br /> |-<br /> | Tenchu: Shadow Assassins || ULUS10419 || {{unplayable}} || Tested as a Remaster. FPS 5-10 and more graphical glitches.<br /> |-<br /> | Test Drive Unlimited || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | The 3rd Birthday &lt;br/&gt; &lt;small&gt;''Parasite Eve: The 3rd Birthday''&lt;/small&gt; || ULES01513 || {{minorissues}} || Works as a Remaster. Minor glitches in the in-game menus. Runs very well, but displays a blue overlay throughout the game. When game boots a screen will ask you to press X but then disappears. Just press X to continue. Minis2 settings:<br /> ADDITIONAL_KEY_ASSIGN = 0000000047C6C544 to move camera with right stick <br /> AW.DISABLE_FB_TEX = 200 - reduces blue overlay a lot.<br /> |-<br /> | The Con || {{?}} || {{unplayable}} || <br /> |-<br /> | THE Eye of Judgment Legends || {{?}} || {{playable}} || <br /> |-<br /> | The Eye of Judgment Shintaku no Wizard || {{?}} || {{playable}} || <br /> |-<br /> | THE IDOLM@STER SP: MISSING MOON || {{?}} || {{playable}} || Tested the translated version.<br /> |-<br /> | THE IDOLM@STER SP: PERFECT SUN || {{?}} || {{playable}} || Tested the translated version.<br /> |-<br /> | The Impossible Game || {{?}} || {{unplayable}} || <br /> |-<br /> | The King of Fighters Collection - The Orochi Saga || ULUS10360 || {{majorissues}} || Needs Remaster method, hardly working with long load times. <br /> |-<br /> | The Legend of Heroes: A Tear of Vermillion || ULUS10022 || {{unplayable}} || Completely freezes after &quot;Falcom&quot; logo. Remasters and Minis. <br /> |-<br /> | The Legend of Heroes: Trails in the Sky || ULUS10540 || {{playable}} || Works as iso in Remaster Launcher. Needs resigned eboot to be turned into a working remaster package.<br /> |-<br /> | The Legend of Heroes: Trails in the Sky SC || NPUH10191 &lt;br/&gt; NPUH10197 || {{playable}} || Works as iso in Remaster Launcher. Needs resigned eboot to be turned into a working Remaster package.<br /> |-<br /> | The Red Star || NPUH10040 || {{playable}} || <br /> |-<br /> | The Secret Saturdays Beasts of the 5th Sun || ULES01363 || {{playable}} || Default minis2 settings, sign eboot -t4.<br /> |-<br /> | The Simpsons Game || {{?}} || {{unplayable}} || Freeze at first loading screen.<br /> |-<br /> | The Sims 2 || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | The Terminator Mini || NPEZ00140 || {{playable}} || <br /> |-<br /> | This Is Football Management Mini || {{?}} || {{unplayable}} || Some do work / some do not (conversion issues with eboot.pbp).<br /> |-<br /> | Thrillville || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Thrillville - Off the Rails || {{?}} || {{majorissues}} || Tested as a Remaster &amp; Minis, FMVs overlaps &amp; stutters, graphical vertices corruptions (gray pixelated lines all over the screen). (CodedXtreme).<br /> |-<br /> | Tiger Trouble Mini || NPEZ00129 || {{playable}} || <br /> |-<br /> | Tiger Woods Tour '07 || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Tiger Woods Tour '08 || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Time Soldiers || {{?}} || {{playable}} || <br /> |-<br /> | Time Travelers || {{?}} || {{unplayable}} || Black screen after warning notes as Remaster.<br /> |-<br /> | TMNT: Teenage Mutant Ninja Turtles || ULUS10243 || {{playable}} || Works as a Remaster.<br /> |-<br /> | Toaru kagaku no railgun || ULJS00354 || {{playable}} || Works as a Remaster.<br /> |-<br /> | Toaru majutsu to kagaku no ensemble || NPJH50700 || {{playable}} || Works as a Remaster.<br /> |-<br /> | Toaru Majyutsu No Index || {{?}} || {{playable}} || <br /> |-<br /> | Toca Race Driver 2 || {{?}} || {{unplayable}} || Black screen.<br /> |-<br /> | Toca Race Driver 3 || {{?}} || {{unplayable}} || Wlan error and freeze.<br /> |-<br /> | Tokobot || {{?}} || {{majorissues}} || Random freezes.<br /> |-<br /> | Tom Clancy's Ghost Recon Predator || ULUS10445 || {{unplayable}} || Black screen/unhandled exception in TargetManager log.<br /> |-<br /> | Tom Clancy's Rainbow Six Vegas || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Tom Clancys EndWar || ULUS10358 || {{playable}} || <br /> |-<br /> | Tomb Raider Anniversary || ULES00826 || {{majorissues}} || Works fine as Remaster, but have SAVEDATA corruption issue (can't save progress). (Play the Remastered Trilogy version for PS3, it includes Anniversary).<br /> |-<br /> | Tomb Raider Legend || ULES00283 || {{unplayable}} || After game logo Black Screen as Remaster. (Play the Remastered Trilogy version for PS3, it includes Legend).<br /> |-<br /> | Tony Hawk's Project 8 || {{?}} || {{majorissues}} || Bad graphic glitches.<br /> |-<br /> | Tony Hawks Underground 2 Remix || {{?}} || {{unplayable}} || <br /> |-<br /> | Toriko || {{?}} || {{unplayable}} || Black screen.<br /> |-<br /> | Toukiden || NPJH50789 || {{unplayable}} || Works fine as a Remaster, but can not save.<br /> |-<br /> | Toy Story 3 || {{?}} || {{unplayable}} || Black screen. (Play the PS2 version on PS3, it works fine).<br /> |-<br /> | Transformers - Revenge of the Fallen || ULUS10433 || {{playable}} || Works as a Remaster.<br /> |-<br /> | Transformers - The Game || {{?}} || {{playable}} || <br /> |-<br /> | Twinbee Portable || ULJM05221 || {{unplayable}} || Minis and remaster stuck on &quot;loading&quot; screen.<br /> |-<br /> | Twisted Metal Heads On || {{?}} || {{unplayable}} || Freezes.<br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · &lt;span style=&quot;color:#FF0000&quot;&gt;T&lt;/span&gt; · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> == U ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | Ultimate Ghost 'n Goblins || ULUS10105 || {{minorissues}} || Runs too fast as minis. Runs at normal speed as Remasters.<br /> |-<br /> | Ultraman Allstar Chronicle || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | Umihara Kawase Portable || ULJS00137 || {{playable}} || PS3minis 2.1.2 Remaster, no issues<br /> |-<br /> | Unchained Blades || {{?}} || {{playable}} || <br /> |-<br /> | Undead Knights || ULUS10453 || {{playable}} || PS3minis 2.1.2 Remaster, no issues<br /> |-<br /> | Untold Legends: The Warriors code || ULES00301 || {{unplayable}} || Mini or Remasters Freezes few minutes in game.<br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · &lt;span style=&quot;color:#FF0000&quot;&gt;U&lt;/span&gt; · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> <br /> <br /> == V ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | Valhalla Knights || ULUS10230 || {{minorissues}} || PS3minis 2.1.2 Remaster -- Mini map only shows location icons<br /> |-<br /> | Valhalla Knights 2 || ULUS10366 || {{playable}} || <br /> |-<br /> | Valkyria Chronicles II || ULES01417 || {{playable}} || Works as a Remaster. Creates faulty savegames.<br /> |-<br /> | Valkyria Chronicles III Extra Edition || ULJM05957 || {{unplayable}} || Freezes. Eboot fix applied.<br /> |-<br /> | Valkyrie Profile Lenneth || {{?}} || {{unplayable}} || System hangs, must reset power to exit as Mini or Remaster.<br /> |-<br /> | Vanguard || NPUZ00148 || {{playable}} || <br /> |-<br /> | Vanguard 2 || NPUZ00149 || {{playable}} || <br /> |-<br /> | Vantage Master Portable || ULJM05332 || {{playable}} || <br /> |-<br /> | Vector Mini || {{?}} || {{unplayable}} || Some do work / some do not (conversion issues with eboot.pbp).<br /> |-<br /> | Venus &amp; Braves || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Virtua Tennis 3 || {{?}} || {{unplayable}} || <br /> |-<br /> | Virtua Tennis World Tour || ULUS10037 || {{minorissues}} || Minor screen flickering when views/screens change.<br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · &lt;span style=&quot;color:#FF0000&quot;&gt;V&lt;/span&gt; · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> <br /> <br /> == W ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | Wall•E || ULES01072 || {{playable}} || Works as a Remaster.<br /> |-<br /> | Warhammer 40.000 - Squad Command || ULES00873 || {{minorissues}} || Works well, minor graphical glitches.<br /> |-<br /> | Warriors Orochi || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Warriors Orochi 2 || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | What Did I Do to Deserve This, My Lord?! || ULUS10456 || {{unplayable}} || PS3minis 2.1.2 Remaster - Freezes on boot<br /> |-<br /> | What Did I Do to Deserve This, My Lord! 2 || {{?}} || {{playable}} || Works as a Remaster. (default mini2 settings), sign eboot -t4.<br /> |-<br /> | White Knight Chronicles Origins || UCES01511 || {{playable}} || Works as a Remaster on Rebug 4.81, freeze if press SELECT or try network menu. (requires PGD bypass to work)<br /> |-<br /> | Who Wants to be a Millionare || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Wild Arms XF || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | Williams Pinball Classics (v2) (Europe) ISO || {{?}} || {{playable}} || Works as a Remaster. Default mini2 settings, sign eboot -t4.<br /> |-<br /> | WipEout Pulse || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | WipEout Pure || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | World Poker Tour || ULES00296 || {{playable}} || <br /> |-<br /> | World Series of Poker Tournament of Champions || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | World Tour Soccer || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Worms Open Warfare 2 || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | WTF: Work Time Fun || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | WWE Smackdown vs RAW 2006 || {{?}} || {{unplayable}} || tested as a Remaster.<br /> |-<br /> | WWE SmackDown vs. Raw 2011 || ULUS10543 || {{unplayable}} || Black screen/unhandled exception in TargetManager log.<br /> |-<br /> | WWII Battle Over the Pacific || {{?}} || {{minorissues}} || Works as a Remaster. Slight graphical error<br /> |-<br /> | Warriors.The || {{?}} || {{unplayable}} || Black screen PSP Remastered<br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · &lt;span style=&quot;color:#FF0000&quot;&gt;W&lt;/span&gt; · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> == X ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | X-Men Legends 2 (US) || {{?}} || {{unplayable}} || <br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · &lt;span style=&quot;color:#FF0000&quot;&gt;X&lt;/span&gt; · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> <br /> <br /> == Y ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | Yggdra Union || {{?}} || {{playable}} || Remaster: No issues <br /> |-<br /> | Young Thor || {{?}} || {{playable}} || <br /> |-<br /> | Ys 6 The Ark of Napishtim || ULUS10051 || {{playable}} || Use ISO not CSO. Compression Used: No; SAV temp Fix applied: No;<br /> |-<br /> | Ys I and II Chronicles || ULUS10547 || {{playable}} || Need to manually resign ys1.bin and ys2.bin then relink either y1.bin to the eboot to play ys1 or relink ys2.bin to eboot to play ys2 use umd gen to relink.<br /> |-<br /> | Ys Oath in Felghana || ULUS10558 || {{playable}} || Works fine as Minis.<br /> |-<br /> | Ys Seven || ULUS10551 || {{playable}} || Works fine, prxencryptor (PrxEncrypter_mod2) used, default settings in mini2:<br /> S3D.ENABLE = 0<br /> SAVEDATA_USE_PS3_SAVE = 1<br /> (randomly freezes on changing screens).<br /> |-<br /> | Yu-Gi-Oh 5D's Tag Force 6 || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | Yu-Gi-Oh! GX Tag Force 3 || ULES01183 || {{unplayable}} || <br /> |-<br /> | Yu-Gi-Oh! Tag Force 6 (no english patch) || {{?}} || {{unplayable}} || Few screens until it gets stuck on black screen for both mini and Remaster.<br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · &lt;span style=&quot;color:#FF0000&quot;&gt;Y&lt;/span&gt; · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> <br /> <br /> == Z ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | Z.H.P. Unlosing Ranger VS Darkdeath Evilman || {{?}} || {{minorissues}} || Needs EBOOT fix. The game freezes if you enter the Options menu.<br /> |-<br /> | Zenonia || NPUZ00132 || {{playable}} || PS3minis 2.1.2 Remaster - no issues<br /> |-<br /> | Zettai Zetsumei Toshi 3 || {{?}} || {{unplayable}} || Hangs at character select screen as Remaster.<br /> |-<br /> | Zombie Tycoon || {{?}} || {{minorissues}} || Some versions work flawlessly. Graphical errors and text do not display.<br /> |-<br /> | Zuma || {{?}} || {{majorissues}} || Needs EBOOT fix. Says not enough space for save file but creates one anyway. Works, but then you can't load it again until you delete the save file in XMB.<br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · &lt;span style=&quot;color:#FF0000&quot;&gt;Z&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;<br /> <br /> &lt;br/&gt;<br /> &lt;br/&gt;<br /> &lt;br/&gt;<br /> &lt;br/&gt;<br /> == See Also ==<br /> &lt;span style=&quot;float:right&quot;&gt;[[#top|'''&lt;small&gt;Back to Top&lt;/small&gt;''']]&lt;/span&gt;<br /> * [[PS1 Classics Emulator Compatibility List]]<br /> * [[PS2 Classics Emulator Compatibility List]]<br /> * [[CFW2OFW Compatibility List]]<br /> <br /> &lt;br/&gt;<br /> &lt;br/&gt;<br /> &lt;br/&gt;<br /> &lt;br/&gt;<br /> {{Reverse engineering}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=SELF_-_SPRX&diff=53928 SELF - SPRX 2019-07-08T23:53:08Z <p>Mysis: /* Struct */</p> <hr /> <div>{{Wikify}}<br /> <br /> SELF stands for Signed Executable and Linkable Format.<br /> <br /> [[File:Self.png|thumb|alt=A screenshot of f0f's presentation at CCC2010.]] <br /> [[File:Self_hdr.png|thumb]]<br /> <br /> = Introduction =<br /> <br /> It is the format used by the executables on the PS3.<br /> It has a specific header here called SCE header where it stores all the parameters for this process.<br /> <br /> *SCE Header<br /> It consist on information regarding the structure and offsets of the self. The first part is in plaintext until you reach Metadata Info. <br /> <br /> *Metadata Info<br /> Metadata Info is itself under AES 256 CBC. This part contains KEY + IV to further decrypt the header using AES 128 CTR.<br /> <br /> *Metadata <br /> The metadata header, Metadata Section Headers, Section Hash, Capabilities and Signature are under this AES 128 CTR layer and is decrypted with the key above. <br /> <br /> *Metadata Header<br /> Metadata header contains the info required to authenticate the header and the structure of the metadata. The signature is ECDSA of the SHA1 hash of the self file starting at 0x0 and ending at 0x0+signatureInputLength<br /> <br /> *Data Sections<br /> The data sections might be encrypted using AES 128 CTR and/or compressed. HMAC-SHA1 is used to authenticate they have not been modified.<br /> <br /> Note: not only ELF/PRX files can be signed with this format, other known files with SCE header are : <br /> * revoke (e.g. RL_FOR_PACKAGE.img/RL_FOR_PROGRAM.img and pkg.srvk/prog.srvk)<br /> * spp (e.g. default.spp)<br /> * system software package (e.g. .pkg/.spkg_hdr.X)<br /> * edat<br /> <br /> ----<br /> <br /> = Cryptography =<br /> <br /> Here is a small summary on how the self cryptography works. <br /> <br /> Basically here are the steps being involved by the loaders: <br /> <br /> Loaders all have a static key and iv called respectively &lt;abbr title=&quot;ERK - 256bit Encryption Round Key&quot;&gt;erk&lt;/abbr&gt; and &lt;abbr title=&quot;RIV - 128bit Reset Initialization Vector&quot;&gt;riv&lt;/abbr&gt;, those are keys for the first decryption step which are used to decrypt the very first 0x40 bytes of the self's metadata using &lt;abbr title=&quot;AES256CBC - Advanced Encryption Standard - 256 bit - Cipher-block chaining&quot;&gt;AES256CBC&lt;/abbr&gt;<br /> <br /> Then the result is used as a key and iv to decrypt the rest of the metadata using &lt;abbr title=&quot;AESCTR - Advanced Encryption Standard - Counter Mode&quot;&gt;AESCTR&lt;/abbr&gt;, finally the decrypted metadata contains the keys and iv for each data sections which are still decrypted through AES128CTR. This security model is based on the fact that the first 0x40 bytes of the self's metadata once decrypted by the static AES256CBC key in the loader should never be the same from one binary to the other. The same goes for any other value used as an AES128CTR key or iv. <br /> <br /> Loaders are also involved with inflating the binaries using zlib. <br /> <br /> The self authenticity is based on other independent steps, &lt;abbr title=&quot;HMAC-SHA1 - Hash-based Message Authentication Code - Secure Hash Algorithm 1&quot;&gt;HMAC-SHA1&lt;/abbr&gt; of the data sections and &lt;abbr title=&quot;ECDSA - Elliptic Curve Digital Signature Algorithm&quot;&gt;ECDSA&lt;/abbr&gt; for the actual signature in the header.<br /> <br /> == Short references ==<br /> <br /> *[http://en.wikipedia.org/wiki/Advanced_Encryption_Standard AES]<br /> *[http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation Block cipher modes of operation]<br /> *[http://en.wikipedia.org/wiki/HMAC HMAC]-[http://en.wikipedia.org/wiki/SHA-1 SHA1]<br /> *[http://en.wikipedia.org/wiki/Elliptic_Curve_DSA ECDSA]<br /> <br /> More indepth Online course about encryption in generic (also AES/ECDSA): [https://engineering.purdue.edu/kak/compsec/Lectures.html Lecture Notes on Computer and Network Security by Avinash Kak]<br /> <br /> = File Format =<br /> <br /> Notes:<br /> *Numbers are stored in big endian format.<br /> <br /> == SCE Header ==<br /> <br /> === Struct ===<br /> <br /> typedef struct {<br /> uint32_t magic; /* 53434500 = SCE\0 */<br /> uint32_t header_version; /* header version, 2 for PS3, 3 for PSVita */<br /> uint16_t key_revision; /* [[Revision versus Version|key_revision]] */ // official name is attribute<br /> /* 0x0 retail (type 0)<br /> * 0x1 retail (0.92-3.30)<br /> * 0x2 retail (type 1)<br /> * 0x3 unknown (npdrm1?)<br /> * 0x4 retail (3.40-3.42)<br /> * 0x5 unknown (npdrm1?)<br /> * 0x6 unknown (npdrm2?)<br /> * 0x7 retail (3.50)<br /> * 0x8 unknown (npdrm1?)<br /> * 0x9 unknown (npdrm2?)<br /> * 0xA retail (3.55)<br /> * 0xB unknown (npdrm1?)<br /> * 0xC unknown (npdrm2?)<br /> * 0xD retail (3.56)<br /> * 0xE unknown (npdrm1?)<br /> * 0xF unknown (npdrm2?)<br /> * 0x10 retail (3.60-3.61)<br /> * 0x11 unknown (npdrm1?)<br /> * 0x12 unknown (npdrm2?)<br /> * 0x13 retail (3.65)<br /> * 0x14 unknown (npdrm1?)<br /> * 0x15 unknown (npdrm2?)<br /> * 0x16 retail (3.70-3.74)<br /> * 0x17 unknown (npdrm1?)<br /> * 0x18 unknown (npdrm2?)<br /> * 0x19 retail (4.00-4.11)<br /> * 0x1A unknown (npdrm1?)<br /> * 0x1B unknown (npdrm2?)<br /> * 0x1C retail (4.20-)<br /> * 0x1D unknown (npdrm1?)<br /> * 0x1E unknown (npdrm2?)<br /> * 0x8000 DEBUG (devkit) // Fake certified file<br /> */<br /> uint16_t cf_category; /* [[SCE_File_Types|Certified File category]] */<br /> uint32_t metadata_offset; /* metadata offset */ // Official name is ext header size<br /> uint64_t header_length; /* SCE file header length */ // Official name is file offset<br /> uint64_t data_length; /* length of encapsulated data */ // Official name is file size<br /> } __attribute__((packed)) SCE_HDR; // Official name is Certified File Header (CF_HEADER)<br /> <br /> == SELF Header ==<br /> <br /> === Struct ===<br /> <br /> typedef struct {<br /> uint64_t header_type; /* 3 - SELF */<br /> uint64_t appinfo_offset; /* app info offset */ // official name is program_identification_header<br /> uint64_t elf_offset; /* ELF #1 offset */<br /> uint64_t phdr_offset; /* program header offset */<br /> uint64_t shdr_offset; /* section header offset */<br /> uint64_t section_info_offset; /* section info offset */<br /> uint64_t sceversion_offset; /* version offset */<br /> uint64_t controlinfo_offset; /* control info offset */ // official name is supplemental_header<br /> uint64_t controlinfo_length; /* control length */<br /> uint64_t padding; /* padding */<br /> } __attribute__((packed)) SELF_HDR;<br /> <br /> === Comments ===<br /> <br /> The real ELF data is located after the SCE header (see header size). It is encrypted, unless the flags are 0x8000. unfself works by cutting the SCE header from the (fake)SELF.<br /> <br /> == App Info ==<br /> <br /> === Struct ===<br /> <br /> typedef struct {<br /> uint64_t authority_id; /* [[Authority ID]] */<br /> uint32_t vendor_id; /* [[Vendor ID]] */<br /> uint32_t self_type; /* [[SELF Types|SELF type]] */<br /> uint32_t version; /* [[Revision versus Version|version]] */<br /> uint8_t padding[0xC];<br /> } __attribute__((packed)) APP_INFO;<br /> <br /> === Table === <br /> <br /> {| class=&quot;wikitable&quot;<br /> ! field !! offset !! type !! notes<br /> |-<br /> | [[Authority ID|authority_id]] || 0x00 || u64 ||<br /> |-<br /> | [[Vendor_ID|vendor_id]] || 0x08 || u32 || (u16 Territory, u16 GOSid (1=PME,2=LV2,3=PS2EMU,4=Linux))<br /> |-<br /> | [[SELF_Types|Program Type]] || 0x0C || u32 ||<br /> |-<br /> | version || 0x10 || u32 || ex: 01.02 is translated by make_fself.exe to 02 01 00 00<br /> |-<br /> | padding || 0x14 || uint8_t[0xC] ||<br /> |}<br /> <br /> === Comments ===<br /> <br /> Aligned to 0x10 bytes.<br /> <br /> == ELF Header ==<br /> <br /> === Struct ===<br /> <br /> typedef struct {<br /> uint8_t e_ident[16]; /* ELF identification */<br /> uint16_t e_type; /* object file type */<br /> uint16_t e_machine; /* machine type */<br /> uint32_t e_version; /* object file version */<br /> uint64_t e_entry; /* entry point address */<br /> uint64_t e_phoff; /* program header offset */<br /> uint64_t e_shoff; /* section header offset */<br /> uint16_t e_flags; /* processor-specific flags */<br /> uint32_t e_ehsize; /* ELF header size */<br /> uint16_t e_phentsize; /* size of program header entry */<br /> uint16_t e_phnum; /* number of program header entries */<br /> uint16_t e_shentsize; /* size of section header entry */<br /> uint16_t e_shnum; /* number of section header entries */<br /> uint16_t e_shstrndx; /* section name string table index */<br /> } __attribute__((packed)) ELF;<br /> <br /> === Comments ===<br /> <br /> See Specifications here:<br /> [http://www.sco.com/developers/gabi/latest/ch4.eheader.html ELF Header]<br /> [http://www.openwatcom.com/ftp/devel/docs/elf-64-gen.pdf ELF-64 Object File Format]<br /> <br /> Processor specific elf types (e_type): <br /> *ET_SCE_IOPRELEXEC = 0xFF80<br /> *ET_SCE_IOPRELEXEC2= 0xFF81<br /> *ET_SCE_EERELEXEC = 0xFF90<br /> *ET_SCE_EERELEXEC2 = 0xFF91<br /> *ET_SCE_PSPRELEXEC = 0xFFA0<br /> *ET_SCE_PPURELEXEC = 0xFFA4 <br /> *ET_SCE_PSPOVERLAY = 0xFFA8<br /> <br /> EI_OSABI: <br /> *ELFOSABI_CELL_LV2=0x66<br /> <br /> == ELF Program Headers ==<br /> <br /> === Struct ===<br /> <br /> typedef struct {<br /> uint32_t p_type; /* type of segment */<br /> uint32_t p_flags; /* segment attributes */<br /> uint64_t p_offset; /* offset in file */<br /> uint64_t p_vaddr; /* virtual address in memory */<br /> uint64_t p_paddr; /* reserved */<br /> uint64_t p_filesz; /* size of segment in file */<br /> uint64_t p_memsz; /* size of segment in memory */<br /> uint64_t p_align; /* alignment of segment */<br /> } __attribute__((packed)) ELF_PHDR;<br /> <br /> === Comments ===<br /> <br /> See Spec here: [http://www.sco.com/developers/gabi/latest/ch5.pheader.html ELF Program Headers] <br /> <br /> Processor specific segment types (p_type):<br /> *PT_SCE_IOPMOD = 0x70000080<br /> *PT_SCE_EEMOD = 0x70000090<br /> *PT_SCE_PSPREL = 0x700000A0<br /> *PT_SCE_PPURELA= 0x700000A4<br /> *PT_SCE_SEGSYM = 0x700000A8<br /> <br /> Processor specific segment flags (p_flags):<br /> *PF_SPU_X = 0x00100000<br /> *PF_SPU_W = 0x00200000<br /> *PF_SPU_R = 0x00400000<br /> *PF_RSX_X = 0x01000000<br /> *PF_RSX_W = 0x02000000<br /> *PF_RSX_R = 0x04000000<br /> <br /> <br /> == ELF Section Headers ==<br /> <br /> === Struct ===<br /> <br /> typedef struct {<br /> uint32_t sh_name; /* section name */<br /> uint32_t sh_type; /* section type */<br /> uint64_t sh_flags; /* section attributes */<br /> uint64_t sh_addr; /* virtual address in memory */<br /> uint64_t sh_offset; /* offset in file */<br /> uint64_t sh_size; /* size of section */<br /> uint32_t sh_link; /* link to other section */<br /> uint32_t sh_info; /* miscellaneous information */<br /> uint64_t sh_addralign; /* address alignment boundary */<br /> uint64_t sh_entsize; /* size of entries, if section has table */<br /> } __attribute__((packed)) ELF_SHDR;<br /> <br /> === Comments ===<br /> <br /> Processor specific section types (sh_type):<br /> *SHT_SCE_IOPMOD = 0x70000080<br /> *SHT_SCE_EEMOD = 0x70000090<br /> *SHT_SCE_PSPREL = 0x700000a0<br /> *SHT_SCE_PPURELA = 0x700000a4<br /> <br /> == Segment Information (program header) ==<br /> <br /> === Struct ===<br /> <br /> typedef struct {<br /> uint64_t offset;<br /> uint64_t size;<br /> uint32_t compressed;<br /> uint32_t unknown1;<br /> uint32_t unknown2;<br /> uint32_t encrypted;<br /> } __attribute__((packed)) SECTION_INFO;<br /> <br /> === Table ===<br /> <br /> {| class=&quot;wikitable&quot;<br /> ! field !! offset !! type !! notes<br /> |-<br /> | Encrypted Data Offset || 0x00 ||u64 ||<br /> |-<br /> | Encrypted Data Size || 0x08 || u64 || <br /> |- <br /> | Compression || 0x10 || u32 || 1 = uncompressed, 2 = compressed<br /> |-<br /> | unknown || 0x14 || u32 || Always 0, as far as I know.<br /> |- <br /> | unknown || 0x18 || u32 || Always 0, as far as I know.<br /> |- <br /> | Encryption || 0x1c || u32 || 1 = encrypted, 2 = unencrypted<br /> |}<br /> <br /> === Comments ===<br /> <br /> There is one of these entries for each phdr entry in the elf file so that the ps3 knows where to decrypt the data from. (because it might also be compressed.)<br /> <br /> Notes: <br /> *There is one Segment Information for each ELF Program Header.&lt;br&gt;<br /> <br /> == SCE Version Info ==<br /> <br /> === Struct ===<br /> <br /> typedef struct {<br /> uint32_t subheader_type; // 1 - sceversion<br /> uint32_t present; // 0 - FALSE / 1 - TRUE<br /> uint32_t size;<br /> uint32_t unknown4;<br /> } __attribute__((packed)) SCEVERSION_INFO;<br /> <br /> === Data Struct ===<br /> <br /> typedef struct {<br /> uint16 unknown_1;<br /> uint16 unknown_2; // 0x1<br /> uint32 unknown_3;<br /> uint32 unknown_4; // ?Number of sections?<br /> uint32 unknown_5;<br /> ////<br /> uint64 offset; // Data offset<br /> uint64 size; // Data size<br /> //// &lt;- these are supposed to be sections<br /> } SCE_VERSION_DATA_30;<br /> <br /> === Comments ===<br /> <br /> == Control Information ==<br /> <br /> === Struct ===<br /> <br /> typedef struct {<br /> uint32_t type; // 1==PS3 control flags; 2==PS3 ELF digest info; 3==PS3 NPDRM info<br /> uint32_t size;<br /> uint64_t next; // 1 if another Control Info structure follows else 0<br /> <br /> union {<br /> // type 1, 0x30 bytes<br /> struct { // 0x20 bytes of data<br /> uint32_t ctrl_flag1; // [[Control Flags|ctrl_flag]] 0x80000000(all?); 0x40000000(root); 0x20000000(dbg); 0x00000000(normal?) <br /> uint32_t unknown2;<br /> uint32_t unknown3;<br /> uint32_t unknown4;<br /> uint32_t unknown5;<br /> uint32_t unknown6;<br /> uint32_t unknown7; // ex: 0;8;9;0xC<br /> uint32_t unknown8; // ex: 0;1;2;4<br /> } PS3_control_flags;<br /> <br /> // type 2, 0x40 bytes<br /> struct { // 0x30 bytes of data<br /> uint8_t constant[0x14]; // same for every PSVita/PS3 SELF, hardcoded in make_fself.exe: 627CB1808AB938E32C8C091708726A579E2586E4<br /> uint8_t elf_digest[0x14]; // on PSVita: SHA-256 of source ELF file, on PS3: SHA-1. Hash F2C552BF716ED24759CBE8A0A9A6DB9965F3811C is blackisted by appldr<br /> uint64_t required_system_version; // filled on Sony auth server, contains decimal PS3_SYSTEM_VER value from PARAM.SFO<br /> } PS3_elf_digest_40;<br /> <br /> // type 2, 0x30 bytes<br /> struct { // 0x20 bytes of data<br /> uint8_t constant_or_elf_digest[0x14];<br /> uint8_t padding[0xC];<br /> } PS3_elf_digest_30;<br /> <br /> // type 3, 0x90 bytes<br /> struct { // 0x80 bytes of data<br /> uint32_t magic; // 4E 50 44 00 (&quot;NPD.&quot;)<br /> uint32_t license_version;<br /> uint32_t drm_type; // [[License Types|license_type]]<br /> uint32_t app_type; // [[App Types|app_type]]<br /> uint8_t content_id[0x30];<br /> uint8_t digest[0x10]; // sha-1 hash of debug self/sprx created with make_fself_npdrm<br /> uint8_t inv_digest[0x10]; // hash_cid_fname<br /> uint8_t xor_digest[0x10]; // hash_cid<br /> uint8_t padding[0x10];<br /> } PS3_npdrm_info;<br /> };<br /> } __attribute__((packed)) PS3_CONTROL_INFO;<br /> <br /> === Table ===<br /> <br /> === Comments ===<br /> <br /> Notes: <br /> *self_control_flags also known as plaintext_capability.<br /> *official name is supplemental_header.<br /> *loader used supplemental_header_table to handle the data.<br /> <br /> typedef struct {<br /> uint256_t control_flags; /* self_control_flags */<br /> uint8[0x14] elf_digest; /* sha1 hash of the ELF file */<br /> uint32_t unknown_0; /* seems to be padding */<br /> uint64_t PS3_SYSTEM_VER; /* required_system_vesion, decimal format */<br /> } SUPPLEMENTAL_HEADER_TABLE;<br /> <br /> == Metadata Information ==<br /> <br /> === Struct ===<br /> <br /> typedef struct {<br /> uint8_t key[16];<br /> uint8_t key_pad[16];<br /> uint8_t iv[16];<br /> uint8_t iv_pad[16];<br /> } __attribute__((packed)) METADATA_INFO;<br /> <br /> <br /> === Comments ===<br /> <br /> Notes: <br /> *The key and ivec fields are encrypted using AES256CBC. <br /> *This is not present if it is a fSELF.<br /> *Official name is encryption_root_header.<br /> <br /> == Metadata Header ==<br /> <br /> === Struct ===<br /> <br /> typedef struct {<br /> uint64_t signatureInputLength;<br /> uint32_t unknown02; //Should be signature algorithm. It always = 1(ECDSA)<br /> uint32_t sectionCount;<br /> uint32_t keyCount;<br /> uint32_t optHeaderSize;<br /> uint64_t unknown06;<br /> } __attribute__((packed)) METADATA_HEADER;<br /> <br /> === Comments ===<br /> <br /> Notes:<br /> *The metadata header is located after the metadata info in the SELF file. <br /> *It is decrypted using AES128CTR with the key and ivec entries from the Metadata Information. <br /> *The signature input length is the number of bytes which are used to generate the SHA-1 which is used to generate the ECDSA signature. The length should be eveything from the beginning until the signature itself. The decrypted version of the input data is used. <br /> *This is only present if the Metadata Information is present.<br /> *Official name is certification_header.<br /> <br /> == Metadata Section Headers ==<br /> <br /> === Struct ===<br /> <br /> typedef struct {<br /> uint64_t data_offset;<br /> uint64_t data_size;<br /> uint32_t type; // 1 = shdr, 2 = phdr, 3 = sceversion<br /> uint32_t program_idx; // 0,1,2,3,etc for phdr, always 3 for shdrs, sceversion shdr number for sceversion<br /> uint32_t hash_algorithm; // 2 = sha1_hmac, 3 = sha1<br /> uint32_t hash_idx;<br /> uint32_t enc_algorithm; // 3 = aes128ctr; 2 = aes128cbccfb ; 1 = plain<br /> uint32_t key_idx;<br /> uint32_t iv_idx;<br /> uint32_t compressed; // 2 = yes; 1 = no<br /> } __attribute__((packed)) METADATA_SECTION_HEADER;<br /> <br /> === Comments ===<br /> <br /> Notes: <br /> *The metadata section headers are located after the metadata header in the SELF file. <br /> *The number of sections is indicated by the sectionCount entry in the metadata header. <br /> *They are decrypted using AES128CTR with the key and ivec entries from the metadata information. <br /> *Section data is decrypted using AES128CTR&amp;nbsp;with the key and ivec from the metadata keys specified by keyIndex and ivecIndex. <br /> *Section data will also need to be uncompressed using zlib. <br /> *The dataOffsets of the metadata section headers match in general the segment information dataOffsets. <br /> *This is only present if the Metadata Header is present.<br /> *Official name is segment_certification_header.<br /> <br /> == Section Hash ==<br /> <br /> === Struct ===<br /> <br /> typedef struct {<br /> uint8_t sha1[20];<br /> uint8_t padding[12];<br /> uint8_t hmac_key[64];<br /> } __attribute__((packed)) SECTION_HASH;<br /> <br /> === Comments ===<br /> <br /> Notes: <br /> *The metadata keys (section hash) are located after the metadata section headers in the SELF file. <br /> *The number of keys is indicated by the keyCount entry in the metadata header. <br /> *They are decrypted using AES128CTR with the key and ivec entries from the metadata information. <br /> *If the sha1Index points to a key, then key[sha1Index] and key[sha1Index+1] form the 160-bit hash. key[sha1Index+2] to key[key[sha1Index+6] form the 512-bit key for the HMAC-SHA1. The HMAC-SHA1 is calculated on the decrypted data and before the decompression.<br /> <br /> == Capabilities Info ==<br /> <br /> === Struct ===<br /> <br /> typedef struct {<br /> uint32_t type; // ex: 1, 2<br /> uint32_t capabilities_size; // [[Capability Flags|capabilities]] Type 1 0x30, Type 2 0x100<br /> uint32_t next; // 1 if there is another optional header structure after this, else 0<br /> uint32_t unknown2;<br /> uint64_t unknown3;<br /> uint64_t unknown4;<br /> uint64_t flags;<br /> uint32_t unknown6;<br /> uint32_t unknown7;<br /> } __attribute__((packed)) CAPABILITIES_INFO;<br /> <br /> === Comments ===<br /> <br /> Notes: <br /> *This struct is some optional_header.<br /> *It contains capability flags aslo known as encrypted_capability.<br /> <br /> == Signature ==<br /> <br /> === Struct ===<br /> <br /> typedef struct {<br /> uint8_t r[21];<br /> uint8_t s[21];<br /> uint8_t padding[6];<br /> } __attribute__((packed)) SIGNATURE;<br /> <br /> === Comments ===<br /> <br /> Notes:<br /> *The signature is located after the the signature information in the SELF file. <br /> *It is even present if the signature information is not present. <br /> *It is decrypted using AES128CTR with the key and ivec entries from the Metadata Information.<br /> <br /> == SELF Section Info ==<br /> <br /> === Struct ===<br /> <br /> typedef struct {<br /> uint8_t *data;<br /> uint64_t size;<br /> uint64_t offset;<br /> } SELF_SECTION;<br /> <br /> === Comments ===<br /> <br /> Notes: <br /> *Official name is segment_ext_header.<br /> <br /> = Extracting an ELF&lt;br&gt; =<br /> <br /> === ELF Header ===<br /> <br /> Elf64_Ehdr elfHeader;<br /> <br /> fseek ( selfFile, fix64 ( selfHeader.elfHeaderOffset ), SEEK_SET );<br /> fread ( &amp;amp;elfHeader, sizeof ( Elf64_Ehdr ), 1, selfFile );<br /> <br /> fseek ( elfFile, 0, SEEK_SET );<br /> fwrite ( &amp;amp;elfHeader, sizeof ( Elf64_Ehdr ), 1, elfFile );<br /> <br /> === Section Headers ===<br /> <br /> Elf64_Shdr elfSectionHeaders[100];<br /> <br /> fseek ( selfFile, fix64 ( selfHeader.elfSectionHeadersOffset ), SEEK_SET );<br /> fread ( elfSectionHeaders, sizeof ( Elf64_Shdr ), fix16 ( elfHeader.e_shnum ), selfFile );<br /> <br /> fseek ( elfFile, fix64 ( elfHeader.e_shoff ), SEEK_SET );<br /> fwrite ( elfSectionHeaders, sizeof ( Elf64_Shdr ), fix16 ( elfHeader.e_shnum ), elfFile );<br /> <br /> === Section Data ===<br /> <br /> Notes: <br /> *Unknown, manually copying the data over works for now. <br /> *There should be a section data offset somewhere.<br /> <br /> === Program Headers ===<br /> <br /> Elf64_Phdr elfProgramHeaders[100];<br /> <br /> fseek ( selfFile, fix64 ( selfHeader.elfProgramHeadersOffset ), SEEK_SET );<br /> fread ( elfProgramHeaders, sizeof ( Elf64_Phdr ), fix16 ( elfHeader.e_phnum ), selfFile );<br /> <br /> fseek ( elfFile, fix64 ( elfHeader.e_phoff ), SEEK_SET );<br /> fwrite ( elfProgramHeaders, sizeof ( Elf64_Phdr ), fix16 ( elfHeader.e_phnum ), elfFile );<br /> <br /> === Program Data ===<br /> <br /> Notes:<br /> *Load the metadata information and decrypt the key and ivec entries using AES256CBC using erk and riv. <br /> *Load the metadata header and decrypt it using AES128CTR with the key and ivec entries from the metadata information. <br /> *Load sectionCount metadata section headers and decrypt them using AES128CTR with the key and ivec entries from the metadata information. <br /> *Load keyCount metadata keys and decrypt them using AES128CTR with the key and ivec entries from the metadata information. <br /> *For each metadata section: <br /> **In the SELF file, fseek to dataOffset and read in dataSize bytes. <br /> **Decrypt the data using AES128CTR with the key and ivec from the metadata keys specified by keyIndex and ivecIndex from the metadata section header. <br /> **Uncompress the data using zlib. <br /> **Write it to the ELF file as the program section specified by section Index in the metadata section header.<br /> <br /> === Meta Checksums ===<br /> <br /> There are 3 checksums at the offset specified by meta_offset.<br /> <br /> *The first is the sha1 checksum of the entire self file. <br /> *The 2nd checksum is the inverse of the first checksum. <br /> *The 3rd checksum is the first checksum XORed with 0xAAAAAA..AAAAAB <br /> <br /> The PSJailbreak payload ignores the actual checksums, but checks that the 3rd checksum is the 2nd checksum XORed with 0xAAAAAA..AAAAAB<br /> <br /> === Capabilities Flags ===<br /> -----------------------<br /> appldr <br /> 0x17 = 0x78<br /> xsetting <br /> 0x17 = 0x3B<br /> 0x1B = 0x01<br /> 0x1D = 0x02<br /> ps3swu <br /> 0x17 = 0x7B<br /> 0x1B = 0x01<br /> 0x1D = 0x11<br /> 0x1E = 0x60<br /> lv2<br /> 0x17 = 0x7B<br /> 0x1B = 0x01<br /> lv1<br /> 0x17 = 0x7B<br /> 0x1B = 0x01<br /> libfs<br /> 0x17 = 0x7B<br /> 0x1B = 0x01<br /> icolaunch<br /> 0x17 = 0x3B<br /> 0x1B = 0x01<br /> 0x1D = 0x04<br /> hddcopy<br /> 0x17 = 0x7B<br /> 0x1B = 0x01<br /> 0x1D = 0x08<br /> flowers<br /> 0x17 = 0x3B<br /> 0x1B = 0x01<br /> 0x1E = 0x20<br /> fdm_spu<br /> 0x17 = 0x38<br /> emu_drm <br /> 0x17 = 0x3B<br /> 0x1D = 0x02<br /> bdj <br /> 0x0F = 0x01 //qa-bdp type1<br /> 0x17 = 0x27<br /> 0x1D = 0x02<br /> swagner<br /> 0x0F = 0x02 //qa-bdp type2<br /> 0x17 = 0x3F<br /> 0x1D = 0x02<br /> <br /> ---------------------<br /> 0x0C = 0x00000001 / 0x00000002 // qa_bdp_type_flags&lt;br&gt;<br /> 0x14 = 0x00000038 / 0x0000003B / 0x00000078 / 0x0000007B / 0x00000027&lt;br&gt;<br /> 0x18 = 0x00000001 &lt;br&gt;<br /> 0x1C = 0x00002000 / 0x00020000 / 0x00040000 / 0x00080000 / 0x00116000&lt;br&gt;<br /> <br /> 0x14:<br /> #define CAP_FLAG_REFTOOL 0x08 // DEH<br /> #define CAP_FLAG_DEBUG 0x10 // DEX<br /> #define CAP_FLAG_RETAIL 0x20 // CEX<br /> #define CAP_FLAG_SYSDBG 0x40 // ARCADE<br /> <br /> Some more cap flags: http://pastie.org/3090973 and http://pastie.org/3090976 (appldr 356 white(?)list)<br /> abbr title=&quot;ECDSA - Elliptic Curve Digital Signature Algorithm&quot;&gt;ECDSA<br /> <br /> <br /> {{File Formats}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=SC_EEPROM&diff=53927 SC EEPROM 2019-07-08T23:28:37Z <p>Mysis: /* EEPROM Offset Table - Flags and Tokens */</p> <hr /> <div>Most of the information we have about the sc eeprom comes from graf_chokolo reverse engineering of the HV see [[Hypervisor Reverse Engineering]] <br /> <br /> Here is where system flags, tokens and hashes are stored.<br /> <br /> Right now most of the communication we have with the sc eeprom is through Linux using graf_chokolo ps3dm-utils and/or using his payloads.<br /> <br /> See also {{talk}} page and [[User_talk:Zer0Tolerance|Zer0Tolerance]]<br /> <br /> = SC EEPROM Info =<br /> SC EEPROM from fat consoles is a custom/proprietary EEPROM chip that uses a special non standard commands to read/write from EEPROM.<br /> We are so lucky that Sony had exposed EEROM chip legs out of Syscon, so we have a physical access to it and we could attach devices like &quot;'''Logic Analyzer'''&quot;, &quot;'''Protocol Analyzer'''&quot;, &quot;'''Custom made MCU boards'''&quot; to capture traffic between console and Syscon EEPROM.<br /> <br /> For FAT console Syscon EEPROM consists of: 0x4000 blocks, and every block is consists of 2 bytes of data.<br /> So the total EEPROM size is: 0x8000 byte length.<br /> <br /> And since the pin-out of Syscon chip for Slim &amp; Super Slim consoles is not known till now, we can not be sure if the Syscon EEPROM pins are exposed outside or not so we can access it like in FAT console without handling Syscon it self.<br /> <br /> == SC EEPROM Commands ==<br /> <br /> FAT console's SC EEPROM used a standard SPI protocol with a proprietary commands as flow:<br /> <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Description!! Command !! Note<br /> |-<br /> | Unlock Command || 0xA3 0x00 0x00 || This command must be send first before write command.<br /> |-<br /> | Write Command || 0xA4 0xXX 0xXX || XX XX is a block id to be written (value 0x0000 to 0x3FFF), the maximum data to be written in one command cycle is 32 byte length (16 blocks).<br /> |-<br /> | Read Command || 0xA8 0xXX 0xXX || XX XX is a block id to be read (value 0x0000 to 0x3FFF), there is no maximum limit for read command so we can send it once with block id 0x00 0x00 then read the full EEPROM at once without sending read command again.<br /> |-<br /> | Check Status Command || 0xA9 0x00 0x00 0x00 || The response of this command is 0xFFFFFFFF if there is no error, or any other value if there is error happened or EEPROM still busy doing something.<br /> |}<br /> <br /> = SC EEPROM dumps =<br /> * https://mega.co.nz/#!Bt8klAhQ!-t5YVetoL9gz6iZucpqQB9Vl9chCkbhFiMfqjbmotoc {{MD5|B0E0551116B718A4921757B2B074693F}}<br /> * https://mega.co.nz/#!B51wWJYA!zg8O-vCvRBOgK5mpzTQ1H2hgBZmykglmbksB5w1Mlfg {{MD5|3E0E73DACF7E10F2369624EA439C661B}} (partial: {{MD5|7E2BAD4DFDEE485494C8749B1C3E5676}} / {{MD5|05D9ED4B545C709C9C4564F047028DE8}})<br /> * https://mega.co.nz/#!t50DCIiL!RYLvjm35nmH3JVfhsGIXFWVHxmCr07ERsFBWhAOxD_Q {{MD5|95DDFB21D65E38F20CD66517B67EAE7F}}<br /> * https://mega.co.nz/#!x4V0XBgJ!inxGYA5s8lfAF5Pe-naKCzTa1r5pY8Pn18js3D7QlnI<br /> <br /> * https://mega.nz/#!iV0nGY4I!94ByAd-sourgK8_l_4s-6BX_V7iVOrysQd55bI0N6ws {{MD5|1DB1CAA8E3D54256A59D08B6AF2B9BC5}} (Dumped by Syscon EEPROM Flasher done by me &quot;'''Abkarino'''&quot; using Arduino Mega).<br /> <br /> * https://mega.nz/#!AwF1jIaB!5qei9JOCzisgUHARcjARCw0zvQENkkvtAdd_O0dRUfI DECR eeprom dump from lv2 um_manager, needs documentation.<br /> <br /> different consoles, same initial 16 bytes. maybe key/iv?<br /> <br /> =Important Offsets=<br /> <br /> == EEPROM Offset Table - Flags and Tokens ==<br /> <br /> Here is the table of EEPROM offsets that can be accessed through Update Manager (3.15): <br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Offset !! Size !! Description<br /> |-<br /> | 0x02F00 || 8 || Manufacturing Update Release Version String<br /> |-<br /> | 0x02F08 || 0x10 || Manufacturing Update Build Version + Build Date String<br /> |-<br /> | 0x02F20 || 8 || Manufacturing Update Build Target ID (Can be 0x83(CEX-ww), 0x82(DEX-ww), 0x81(DevelopmentTool) or 0xDEAD. Written during the &lt;br&gt;manufacturing fw update process according to target string inside /dev_flash/vsh/etc/version.txt)<br /> |-<br /> | 0x02F28 || 0xD0 || Padding/undocumented<br /> &lt;pre&gt;00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <br /> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <br /> FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF <br /> FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF <br /> FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF <br /> FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF <br /> FF FF FF FF FF FF FF FF FF FF FF FF FF FF xx xx <br /> xx xx xx FF FF xx xx xx xx xx xx xx xx xx xx xx <br /> xx xx 00 00 00 00 FF xx 00 xx xx FF FF FF FF FF <br /> FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF <br /> FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF <br /> FF FF FF FF FF FF FF FF FF FF FF xx xx xx 00 00 <br /> xx xx xx xx xx FF FF FF xx xx xx FF FF FF xx 00 &lt;/pre&gt;<br /> |-<br /> | 0x02FF8 || 1 || Factory Bit (0 = ?, 1 = reset, 2 = ?, 3 = (on retails))<br /> |-<br /> | 0x02FF9 || 0x7 || Padding/undocumented<br /> &lt;pre&gt;00 00 00 00 xx xx xx &lt;/pre&gt;<br /> |-<br /> |}<br /> <br /> <br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! colspan=&quot;2&quot; | Offset !! Size !! Description<br /> |-{{cellcolors|lightgrey}}<br /> | colspan=&quot;2&quot; | 0x48000 || 0x13 || (lv0 NVS region 0 start) <br /> |-<br /> | &lt;abbr title=&quot;lv0 NVS region 0: 0x48000-0x48012&quot;&gt;&lt;small&gt;0&lt;/small&gt;&lt;/abbr&gt; || 0x48000 || 0x13 || (lv0 NVS region 0)<br /> |-{{cellcolors|lightgrey}}<br /> | colspan=&quot;2&quot; | 0x48012 || - || (lv0 NVS region 0 end)<br /> |-<br /> <br /> <br /> | colspan=&quot;2&quot; | 0x48013 || 0x2A || QA Token ECDSA Signature (=&amp;gt; 3.60 firmwares)<br /> |-{{cellcolors|lightgrey}}<br /> <br /> <br /> | colspan=&quot;2&quot; | 0x48800 || 0x0F || (lv0 NVS region 1 start) <br /> |-<br /> | rowspan=&quot;6&quot; | &lt;abbr title=&quot;lv0 NVS region 1: 0x48800-0x4880F&quot;&gt;&lt;small&gt;1&lt;/small&gt;&lt;/abbr&gt; || 0x48800 || 1 || ?<br /> |-<br /> | 0x48801 || 1 || - hv log settings/infos? -<br /> |-<br /> | 0x48802 || 2 || ? (lv0/lv1 CodeVerifier::spu_interrupt_handler_class2 related)<br /> |-<br /> | 0x48804 || 4 || bootrom failure code <br /> |-<br /> | 0x48808 || 4 || bootrom failure timestamp <br /> |-<br /> | 0x4880C || 4 || ?<br /> |-{{cellcolors|lightgrey}}<br /> | colspan=&quot;2&quot; | 0x4880B || - || (lv0 NVS region 1 end)<br /> |-{{cellcolors|lightgrey}}<br /> <br /> <br /> | colspan=&quot;2&quot; | 0x48C00 || 0x20 || (lv0 NVS region 2 start) <br /> |-<br /> | rowspan=&quot;22&quot; | &lt;abbr title=&quot;lv0 NVS region 2: 0x48C00-0x48C1F&quot;&gt;&lt;small&gt;2&lt;/small&gt;&lt;/abbr&gt; || 0x48C00 || 1 || boot flag (load_image_in_rom flag (os_boot_order_flag), 0 = network 1st, 1 = flash 1st)<br /> |-<br /> | 0x48C01 || 1 || sys.dbgcard.hostpc (force standalone mode related) <br /> |-<br /> | 0x48C02 || 1 || Network Device Mode (sys.dbgcard.dgbe / debug interface (select_net_device) (-1: Ethernet 2, 0: IFB, 1: CP, 2: SB UART, 3: CP ch4, 5: invalid &lt;!-- used on retail consoles --&gt;))<br /> |-<br /> | 0x48C03 || 1 || sys.dbgcard.dgbe.index (select_dgbe_device) <br /> |-<br /> | 0x48C04 || 1 || used to reset dgbe_config (only &lt;= 0.85)<br /> |-<br /> | 0x48C05 || 1 || force update flag (update_flag for consoles with flash_format 0)<br /> |-<br /> | 0x48C06 || 1 || FSELF Control Flag / toggles release mode (fself_ctrl used by lv0 for failsafe mode and by lv2 to bypass protection checks)<br /> |-<br /> | 0x48C07 || 1 || Product Mode (UM allows to read this offset, it can be also written but only when already in product mode)<br /> |-<br /> | 0x48C08 || 1 || lv0 passes this to lv1ldr (not used on &gt;= 0.82, maybe only CEB) <br /> |-<br /> | 0x48C09 || 1 || boot_fir_config (lv0ldr, bit 1/2, delays setting of BE fault-iso-regs/SB params to lv0)<br /> |-<br /> | 0x48C0A || 1 || QA Flag exist flag<br /> |-<br /> | 0x48C0B || 1 || mode_auth_flag / gx enable<br /> |-<br /> | 0x48C0C || 1 || Memory Diag Flag (bootrom diagnostic mode and parameter (bootrom_diag))<br /> |-<br /> | 0x48C0D || 1 || Memory Diag Status (lv0ldr related)<br /> |-<br /> | 0x48C0E || 1 || XDR_Link_Init failure flag<br /> |-<br /> | 0x48C0F || 2 || cell os flags (loader parameter)<br /> |-<br /> | 0x48C11 || 1 || bootrom trace level (0x00: fatal errors, 0x01: errors, 0x02: information messages, 0x03: debug messages)<br /> |-<br /> | 0x48C12 || 1 || ?<br /> |-<br /> | 0x48C13 || 1 || flash ext flag (Device Type (flash_ext_format))<br /> |-<br /> | 0x48C14 || 4 || cellos_spu_configure<br /> |-<br /> | 0x48C18 || 4 || Safe Mode System Language [[XRegistry.sys#Settings]] ( /setting/system/language )<br /> |-<br /> | 0x48C1C || 4 || Safe Mode VSH Target (seems it can be 0xFFFFFFFE, 0xFFFFFFFF, 0x00000001 default: 0x00000000 /maybe QA,Debug,Retail,Kiosk?)<br /> |-{{cellcolors|lightgrey}}<br /> | colspan=&quot;2&quot; | 0x48C1F || - || (lv0 NVS region 2 end)<br /> |-{{cellcolors|lightgrey}}<br /> <br /> <br /> | colspan=&quot;2&quot; | 0x48C22 || 0x03 || (lv0 NVS region 3 start)<br /> |-<br /> | rowspan=&quot;3&quot; | &lt;abbr title=&quot;lv0 NVS region 3: 0x48C22-0x48C24&quot;&gt;&lt;small&gt;3&lt;/small&gt;&lt;/abbr&gt; || 0x48C22 || 1 || be nclk (be_nclck_flag1)<br /> |-<br /> | 0x48C23 || 1 || be ref clk (be_nclck_flag2)<br /> |-<br /> | 0x48C24 || 1 || Bank #0 OS-Flag (ros0 if 0xFF else ros1, for NOR consoles only) (os_bank_indicator)<br /> |-{{cellcolors|lightgrey}}<br /> | colspan=&quot;2&quot; | 0x48C24 || - || (lv0 NVS region 3 end)<br /> |-<br /> <br /> <br /> | colspan=&quot;2&quot; | 0x48C25 || 1 || Bank #0 rvkprg-Flag<br /> |-<br /> | colspan=&quot;2&quot; | 0x48C26 || 1 || Bank #0 rvkpkg-Flag<br /> |-<br /> | colspan=&quot;2&quot; | 0x48C27 || 1 || Bank #1 OS-Flag<br /> |-<br /> | colspan=&quot;2&quot; | 0x48C28 || 1 || Bank #1 rvkprg-Flag<br /> |-<br /> | colspan=&quot;2&quot; | 0x48C29 || 1 || Bank #1 rvkpkg-Flag<br /> |-{{cellcolors|lightgrey}}<br /> <br /> <br /> | colspan=&quot;2&quot; | 0x48C30 || 0x0D || (lv0 NVS region 4 start)<br /> |-<br /> | rowspan=&quot;3&quot; | &lt;abbr title=&quot;lv0 NVS region 4: 0x48C30-0x48C3C&quot;&gt;&lt;small&gt;4&lt;/small&gt;&lt;/abbr&gt; || 0x48C30 || 1 || SPU num - Usally 0x06(default), can be set to 0x07 to enable the 8 SPE (restrict_spu) or can be set to 0xFF(unlimit)<br /> |-<br /> | 0x48C31 || 4 || sata param<br /> |-<br /> | 0x48C35 || 8 || initial TB value (spr_tbuw_value (cellos_spu_configure))<br /> |-{{cellcolors|lightgrey}}<br /> | colspan=&quot;2&quot; | 0x48C3C || - || (lv0 NVS region 4 end)<br /> |-{{cellcolors|lightgrey}}<br /> <br /> <br /> | colspan=&quot;2&quot; | 0x48C40 || 0x10 || (lv0 NVS region 5 start)<br /> |-<br /> | rowspan=&quot;8&quot; | &lt;abbr title=&quot;lv0 NVS region 5: 0x48C40-0x48C4F&quot;&gt;&lt;small&gt;5&lt;/small&gt;&lt;/abbr&gt; || 0x48C42 || 1 || HDD Copy Mode<br /> |-<br /> | 0x48C43 || 4 || Hdd Ident Information<br /> |-<br /> | 0x48C47 || 1 || Analog Sunset Flag, will disable AACS video output without [[HDMI]] cable soon<br /> |-<br /> | 0x48C50 || 0x10 || Debug Support Flag<br /> |-<br /> | 0x48C60 || 1 || Update Status<br /> |-<br /> | 0x48C61 || 1 || Recover Mode Flag<br /> |-<br /> | 0x48C62 || 8 || boot param<br /> |-<br /> | 0x48C6A || 2 || factory process completion %<br /> |-{{cellcolors|lightgrey}}<br /> | colspan=&quot;2&quot; | 0x48C4F || - || (lv0 NVS region 5 end)<br /> |-{{cellcolors|lightgrey}}<br /> <br /> <br /> | colspan=&quot;2&quot; | 0x48C80 || 0x10 || (lv0 NVS region 6 start)<br /> |-<br /> | rowspan=&quot;2&quot; | &lt;abbr title=&quot;lv0 NVS region 6: 0x48C80-0x48C8F&quot;&gt;&lt;small&gt;6&lt;/small&gt;&lt;/abbr&gt; || 0x48C80 || 8 || (rsx.rdcy.0)<br /> |-<br /> | 0x48C88 || 8 || (rsx.rdcy.1)<br /> |-{{cellcolors|lightgrey}}<br /> | colspan=&quot;2&quot; | 0x48C8F || - || (lv0 NVS region 6 end)<br /> |-{{cellcolors|lightgrey}}<br /> <br /> <br /> | colspan=&quot;2&quot; | 0x48C90 || 0x30 || (lv0 NVS region 7 start)<br /> |-<br /> | rowspan=&quot;6&quot; | &lt;abbr title=&quot;lv0 NVS region 7: 0x48C90-0x48CBF&quot;&gt;&lt;small&gt;7&lt;/small&gt;&lt;/abbr&gt; || 0x48C90 || 8 || (rsx.rdcy.2)<br /> |-<br /> | 0x48C98 || 8 || (rsx.rdcy.3)<br /> |-<br /> | 0x48CA0 || 8 || (rsx.rdcy.4)<br /> |-<br /> | 0x48CA8 || 8 || (rsx.rdcy.5)<br /> |-<br /> | 0x48CB0 || 8 || (rsx.rdcy.6) / game_board_storage_read<br /> |-<br /> | 0x48CB8 || 8 || (rsx.rdcy.7) / game_board_storage_read<br /> |-{{cellcolors|lightgrey}}<br /> | colspan=&quot;2&quot; | 0x48CBF || - || (lv0 NVS region 7 end)<br /> |-<br /> <br /> | colspan=&quot;2&quot; | 0x48CCE || 1 || 0xFF / 0xFE / 0x00 (?)<br /> |-<br /> | colspan=&quot;2&quot; | 0x48CCF || 1 || pme_user debug printf flag ( &amp; 0x03 verbose level )<br /> |-{{cellcolors|lightgrey}}<br /> <br /> | colspan=&quot;2&quot; | 0x48CF0 || 0x10 || (NVS region start)<br /> |-<br /> | rowspan=&quot;16&quot; | &lt;abbr title=&quot;NVS region: 0x48CF0-0x48CFF&quot;&gt;&lt;small&gt;&lt;/small&gt;&lt;/abbr&gt; || 0x48CF0 || 1 || ss.common.printf.enabled<br /> |-<br /> | 0x48CF1 || 1 || ss.common.debug.level+ss.update.debug.level<br /> |-<br /> | 0x48CF2 || 1 || ss.updatefe.debug.level+ss.ss_init.debug.level<br /> |-<br /> | 0x48CF3 || 1 || ss.ss_proxy.debug.level+ss.spm.debug.level<br /> |-<br /> | 0x48CF4 || 1 || ss.spm.debug.policy+ss.ac_cntl.debug.level<br /> |-<br /> | 0x48CF5 || 1 || ss.ploader.debug.level+ss.gloader.debug.level<br /> |-<br /> | 0x48CF6 || 1 || ss.commlib.debug.level+ss.sc_mngr.debug.level<br /> |-<br /> | 0x48CF7 || 1 || ss.sc_iso.debug.level+ss.ii_mngr.debug.level<br /> |-<br /> | 0x48CF8 || 1 || ss.vtrm.debug.level+ss.sec_rtc.debug.level<br /> |-<br /> | 0x48CF9 || 1 || ss.sb_mngr.debug.level+ss.sb_iso.debug.level<br /> |-<br /> | 0x48CFA || 1 || ss.app_info.debug.level+ss.aim_iso.debug.level<br /> |-<br /> | 0x48CFB || 1 || ss.fdm.debug.level+ss.fdm_iso.debug.level<br /> |-<br /> | 0x48CFC || 1 || ss.fw.debug.level+ss.stricv.debug.level<br /> |-<br /> | 0x48CFD || 1 || ss.usbauth.debug.level+ss.dispatch.debug.level<br /> |-<br /> | 0x48CFE || 1 || ss.sc_test.debug.level+ss.sc_test.debug.spu<br /> |-<br /> | 0x48CFF || 1 || ss.token.debug.level<br /> |-{{cellcolors|lightgrey}}<br /> | colspan=&quot;2&quot; | 0x48CFF || - || (NVS region end)<br /> |-{{cellcolors|lightgrey}}<br /> <br /> <br /> | colspan=&quot;2&quot; | 0x48D00 || 0x0C || (lv0 NVS region 8 start)<br /> |-<br /> | rowspan=&quot;3&quot; | &lt;abbr title=&quot;lv0 NVS region 8: 0x48D00-0x48D0B&quot;&gt;&lt;small&gt;8&lt;/small&gt;&lt;/abbr&gt; || 0x48D00 || 4 || ip_addr (dgbe_config)<br /> |-<br /> | 0x48D04 || 4 || ip_netmask<br /> |-<br /> | 0x48D08 || 4 || ip_gateway<br /> |-{{cellcolors|lightgrey}}<br /> | colspan=&quot;2&quot; | 0x48D0B || - || (lv0 NVS region 8 end)<br /> |-{{cellcolors|lightgrey}}<br /> <br /> <br /> <br /> | colspan=&quot;2&quot; | 0x48D20 || 0x08|| (lv0 NVS region 9 start)<br /> |-<br /> | &lt;abbr title=&quot;lv0 NVS region 9: 0x48D20-0x48D27&quot;&gt;&lt;small&gt;9&lt;/small&gt;&lt;/abbr&gt; || 0x48D20 || 8 || spider.gbe0.macaddr.0 (&lt;code&gt;0xFFFFFFFFFFFFFFFF&lt;/code&gt; if unused/nonpresent)<br /> |-{{cellcolors|lightgrey}}<br /> | colspan=&quot;2&quot; | 0x48D27 || - || (lv0 NVS region 9 end)<br /> |-{{cellcolors|lightgrey}}<br /> <br /> <br /> | colspan=&quot;2&quot; | 0x48D28 || 0x18 || (lv0 NVS region B start)<br /> |-<br /> | rowspan=&quot;3&quot; | &lt;abbr title=&quot;lv0 NVS region B: 0x48D28-0x48D3F&quot;&gt;&lt;small&gt;B&lt;/small&gt;&lt;/abbr&gt; || 0x48D28 || 8 || spider.gbe0.macaddr.1 (&lt;code&gt;FFFFFFFFFFFFFFFF&lt;/code&gt; if unused/nonpresent)<br /> |-<br /> | 0x48D30 || 8 || spider.gbe0.macaddr.2 (&lt;code&gt;FFFFFFFFFFFFFFFF&lt;/code&gt; if unused/nonpresent)<br /> |-<br /> | 0x48D38 || 8 || spider.gbe0.macaddr.3 (&lt;code&gt;FFFFFFFFFFFFFFFF&lt;/code&gt; if unused/nonpresent)<br /> |-{{cellcolors|lightgrey}}<br /> | colspan=&quot;2&quot; | 0x48D3F || - || (lv0 NVS region B end)<br /> |-{{cellcolors|lightgrey}}<br /> <br /> <br /> <br /> | colspan=&quot;2&quot; | 0x48D3E || 0x50 || (lv0 NVS region A start)<br /> |-<br /> | &lt;abbr title=&quot;lv0 NVS region A: 0x48D3E-0x48D8D&quot;&gt;&lt;small&gt;A&lt;/small&gt;&lt;/abbr&gt; || 0x48D3E || 0x50 || QA Token - UM doesn't allow access to this offset but SC Manager can read/write it (qa_token)<br /> |-{{cellcolors|lightgrey}}<br /> | colspan=&quot;2&quot; | 0x48D8D || - || (lv0 NVS region A end)<br /> |-<br /> <br /> <br /> | colspan=&quot;2&quot; | 0x48D8E || 0x50 || mode_auth_data (read/cleared by ss_sc_init_pu, checked by spu_mode_auth)<br /> |-<br /> |}<br /> <br /> In a standard mostly untouched ps3 the common value for this flags is 0xFF wich means not active, anything else means active (e.g. 0xFE)<br /> <br /> To change this to an active status you have to write 0x00 to turn on the flag<br /> <br /> Debug support flag is tied to EID which is supposed to be hashed and saves in SC EEPROM<br /> <br /> QA flag is tied to QA token that is also saved in this part of the SC EEPROM<br /> <br /> QA Token ECDSA Signature is stored in 0x48013 offset (starting from 3.60 firmwares)<br /> <br /> == Undocumented config ==<br /> <br /> There is an unknown syscon response of 0x100 bytes when using NVS service with such params: BlockID=1, Offset=0, Size=0.<br /> &lt;pre&gt;<br /> 0000h: FF 02 FF FE FF 02 FF FF 19 FB E1 16 00 00 00 00 ÿ.ÿþÿ.ÿÿ.ûá..... <br /> 0010h: 17 74 B8 54 00 00 E1 18 00 04 00 00 0C 03 00 00 .t¸T..á......... <br /> 0020h: 3C 02 02 00 00 00 00 10 00 00 00 00 55 55 55 55 &lt;...........UUUU <br /> 0030h: 00 00 00 00 00 00 00 00 17 E0 C8 52 00 00 E2 18 .........àÈR..â. <br /> 0040h: 01 50 00 35 40 01 03 00 00 00 00 10 1D 30 00 B3 .P.5@........0.³ <br /> 0050h: 00 07 01 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ <br /> 0060h: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ <br /> 0070h: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ <br /> 0080h: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ <br /> 0090h: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ <br /> 00A0h: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ <br /> 00B0h: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ <br /> 00C0h: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ <br /> 00D0h: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ <br /> 00E0h: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ <br /> 00F0h: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ <br /> &lt;/pre&gt;<br /> <br /> This is 0x48800 on EEPROM<br /> <br /> cech-c (NO BD Drive): http://pastie.org/private/grl0dc0dxajisa36chgm7w<br /> <br /> == lv0 SC EEPROM usage ==<br /> &lt;pre&gt;<br /> [*] lv0 NVS regions:<br /> # start_offset end_offset block size<br /> 0 0x00 0x12 0x48000 0x13<br /> 1 0x00 0x0B 0x48800 0x0C<br /> 2 0x00 0x1F 0x48C00 0x20<br /> 3 0x22 0x24 0x48C00 0x03<br /> 4 0x30 0x3C 0x48C00 0x0D<br /> 5 0x40 0x4F 0x48C00 0x10<br /> 6 0x80 0x8F 0x48C00 0x10<br /> 7 0x90 0xBF 0x48C00 0x30<br /> 8 0x00 0x0B 0x48D00 0x0C<br /> 9 0x20 0x27 0x48D00 0x08<br /> A 0x3E 0x8D 0x48D00 0x50<br /> B 0x28 0x3F 0x48D00 0x18<br /> <br /> [*] Example region data (taken from region cache):<br /> 2:<br /> 01 FF 05 FF FF FF FF FF FF FF 00 FF FF FF FF FF<br /> FF FF FF FE FF FF FF FF 00 00 00 01 00 00 00 00<br /> 3:<br /> FF FF 00<br /> 4:<br /> 06 18 18 17 18 FF FF FF FF FF FF FF FF<br /> 5:<br /> FF FF 0D 02 0A 02 FF FF FF FF FF FF FF FF FF FF<br /> 9:<br /> FF FF FF FF FF FF FF FF<br /> <br /> [*] lv0 SC EEPROM usage:<br /> name addr size structure<br /> UNKNOWN 0x48804 0x04 [0x04 value]<br /> os_boot_order_flag 0x48C00 0x01 [0x01 flag]<br /> select_net_device 0x48C02 0x01 [0x01 index]<br /> select_dgbe_device 0x48C03 0x01 [0x01 index]<br /> fself_ctrl 0x48C06 0x01 [0x01 flag]<br /> UNKNOWN (debug?) 0x48C08 0x01 [0x01 flag]<br /> qaf_enable 0x48C0A 0x01 [0x01 flag]<br /> cellos_flags 0x48C0F 0x02 [0x02 flags]<br /> bootrom_trace_level 0x48C11 0x01 [0x01 level]<br /> flash_ext_format 0x48C13 0x01 [0x01 flag]<br /> be_nclck_flag1 0x48C22 0x01 [0x01 flag]<br /> be_nclck_flag2 0x48C23 0x01 [0x01 flag]<br /> os_bank_indicator 0x48C24 0x01 [0x01 flag]<br /> restrict_spu 0x48C30 0x01 [0x01 flag]<br /> sata_param 0x48C31 0x04 [0x04 flag]<br /> cellos_spu_configure 0x48C33 0x04 [0x04 config]<br /> spr_tbuw_value 0x48C35 0x08 [0x08 value]<br /> rsx.rdcy.0 0x48C80 0x08 [0x08 value]<br /> rsx.rdcy.1 0x48C88 0x08 [0x08 value]<br /> rsx.rdcy.2 0x48C90 0x08 [0x08 value]<br /> rsx.rdcy.3 0x48C98 0x08 [0x08 value]<br /> rsx.rdcy.4 0x48CA0 0x08 [0x08 value]<br /> rsx.rdcy.5 0x48CA8 0x08 [0x08 value]<br /> rsx.rdcy.6 0x48CB0 0x08 [0x08 value]<br /> rsx.rdcy.7 0x48CB8 0x08 [0x08 value]<br /> dgbe_config 0x48D00 0x0C [0x04 ip_addr, 0x04 ip_netmask, 0x04 ip_gateway]<br /> qa_token 0x48D3E 0x50 [0x50 token]<br /> UNKNOWN 0x48D20 0x08 [0x08 value]<br /> &lt;/pre&gt;<br /> <br /> == System Data From EEPROM ==<br /> <br /> Here is the list of possible EEPROM offsets: <br /> <br /> {|class=&quot;wikitable&quot;<br /> |-<br /> ! Index !! SC EEPROM Offset !! Size Of Data !! Description<br /> |-<br /> | 0 || 0x48D20 || 6 ||?<br /> |-<br /> | 1 || 0x48D28 || 6 ||?<br /> |-<br /> | 2 || 0x48D30 || 6 ||?<br /> |-<br /> | 3 || 0x48D38 || 6 ||?<br /> |-<br /> | 4 || 0x48D00 || 4 ||?<br /> |-<br /> | 5 || 0x48D04 || 4 ||?<br /> |-<br /> | 6 || 0x48D08 || 4 ||?<br /> |}<br /> <br /> == Dumpable EEPROM Offset - Block ID and Block Offset Mapping Table (NVS Service) ==<br /> <br /> Right now we only have read access to some portions of the eeprom to have access to this regions DM needs to be patched, see section dumping eeprom<br /> <br /> {|class=&quot;wikitable&quot;<br /> |-<br /> ! EEPROM Offset !! Block ID !! Block Offset !! Description !! Physical Offset<br /> |-<br /> | 0x48000 - 0x480FF || 0x00 || 0x48000 - 0x480FF || ? || 0x7000<br /> |-<br /> | 0x48800 - 0x488FF || 0x01 || 0x48800 - 0x488FF || Hypervisor Area || 0x7100<br /> |-<br /> | 0x48C00 - 0x48CFF || 0x02 || 0x48C00 - 0x48CFF || Contains flags and tokens/ see above || 0x7200<br /> |-<br /> | 0x48D00 - 0x48DFF || 0x03 || 0x48D00 - 0x48DFF || System Data Region || 0x7300<br /> |-<br /> | 0x2F00 - 0x2FFF || 0x10 || 0x2F00 - 0x2FFF || &quot;Industry Area&quot; aka OS Version Area || 0x2F00<br /> |-<br /> | 0x3000 - 0x30FF || 0x20 || 0x3000 - 0x30FF || &quot;Customer Service Area&quot; || 0x3000<br /> |-<br /> | N/A || 0xFF || N/A || ? sys_boot_gos flag is there || No eeprom activity<br /> |-<br /> | All other offsets || Invalid || Invalid || ? ||<br /> |}<br /> <br /> == Dumpable only with HW flasher EEPROM Offsets - Full Mapping Table (NAND Only) ==<br /> <br /> {|class=&quot;wikitable&quot;<br /> |-<br /> ! Physical Offset !! Description !! Samples<br /> |-<br /> | 0x0-0xF || magic0 (static bytes) || &lt;pre&gt;99D9662BB3D761546B9C3F9ED140EDB0&lt;/pre&gt;<br /> |-<br /> | 0x10-0x29F(0x290) || eEID1 (probably encrypted) ||<br /> |-<br /> | 0x2A0-0x4FF(0x260) || Unknown ||<br /> |- <br /> | 0x500-0x55F || magic1(static bytes) ||<br /> |-<br /> | 0x560-0x95F || Authenticated Data Region 0 (snvs region 0), not used ||<br /> |-<br /> | 0x960-0xD5F || Authenticated Data Region 1 (snvs region 1), contains ss-service version, secure_product_mode flag,&lt;BR&gt; vtrm cipher/hasher keys, versions/hashes of installed update packages, etc... ||<br /> |-<br /> | 0xD60-0x115F || Authenticated Data Region 2 (snvs region 2), not used ||<br /> |-<br /> | 0x1160-0x155F || Authenticated Data Region 3 (snvs region 3), not used ||<br /> |-<br /> | 0x1560-0x195F || Authenticated Data Region 4 (snvs region 4), not used ||<br /> |-<br /> | 0x1960-0x1D5F || Authenticated Data Region 5 (snvs region 5), not used ||<br /> |-<br /> | 0x1D60-0x215F || Authenticated Data Region 6 (snvs region 6), not used ||<br /> |-<br /> | 0x2160-0x255F || Authenticated Data Region 7 (snvs region 7), not used ||<br /> |-<br /> | 0x2560-0x26AF || FF Region ||<br /> |-<br /> | 0x26B0-(0x26CF/0x26EF) || Unknown (0x20 byte on TMU, 0x40 byte on retail boards) || <br /> |-<br /> | 0x26F0-0x26FF || FF Region || <br /> |-<br /> | 0x2700 - 0x270F || magic2 (static bytes) (does not exist in TMU dump) || &lt;pre&gt;857C4DE5BFAFD6A4A361CB5BFDD72D26&lt;/pre&gt;<br /> |-<br /> | 0x2710-0x27FF || FF Region || <br /> |-<br /> | 0x2800 - 0x2BFF || Syscon Patch Content Top-Half ||<br /> |-<br /> | 0x2C00 - 0x2EFF || FF Region ||<br /> |-<br /> | 0x2F00-0x2FFF || Industry Area (nvs region 0x20) ||<br /> |-<br /> | 0x3000-0x30FF || Costumer Service Area (nvs region 0x30) ||<br /> |-<br /> | 0x3700-0x37FF || Serial Num (DECR only) || 2M010001207K<br /> |-<br /> | 0x7000-0x70FF OR 0x4000-0x40FF || Bluray Drive Area ?? (nvs region 0) ||<br /> |-<br /> | 0x7100-0x71FF OR 0x4100-0x41FF || HyperVisor Area (nvs region 1) ||<br /> |-<br /> | 0x7200-0x72FF OR 0x4200-0x42FF || Token Area (nvs region 2) ||<br /> |-<br /> | 0x7300-0x73FF OR 0x4300-0x43FF || System Data Area (nvs region 3) ||<br /> |-<br /> | 0x7400 - 0x7FFF OR 0x4400 - 0x4FFF || Syscon Patch Content Bottom-Half ||<br /> |-<br /> | 0x5000-0x6FFF || FF Region ||<br /> |-<br /> |}<br /> <br /> == Authenticated Data Regions Crypto Analysis ==<br /> <br /> === Tests ===<br /> <br /> * http://i.imgur.com/A8g00bD.png &lt;- aes 128 cbc with fixed key and incremented iv (by 1 each time)<br /> * http://i.imgur.com/HZDWGSk.png &lt;- results<br /> * http://i.imgur.com/2mtrtdm.png region 0 encrypted vs http://i.imgur.com/7bSdQni.png decrypted<br /> * http://i.imgur.com/FGJKkuz.png region 7 encrypted vs http://i.imgur.com/7TSeHWK.png decrypted<br /> <br /> === Conclusion ===<br /> <br /> * different key for a different authenticated region.<br /> * sony uses either aes 128-cbc or aes 256-cbc (most likely 128-cbc)<br /> * sony does this weird cbc crypto in which they only decrypt portions of 0x10 bytes of the region, then increment or decrement (most likely increment) iv, and then decrypt again. i've decided to call it ctr-cbc<br /> * most likely the keys used are &lt;strike&gt;session&lt;/strike&gt; perconsole keys.<br /> * most likely the iv used starts with 00, then gets incremented by 1 for each 0x10 bytes<br /> <br /> === Acknowledgements ===<br /> <br /> * Zer0Tolerance for the crypto findings<br /> * flatz for his awesome syscon tool<br /> <br /> =Dumping your SC EEPROM=<br /> <br /> ==Linux==<br /> <br /> First you need graf_chokolo kernel ps3dm-utils and linux_hv_scripts.<br /> <br /> If you are ready.<br /> <br /> Patch DM using linux_hv_scripts<br /> <br /> &lt;pre&gt;<br /> dmpatch.sh<br /> &lt;/pre&gt;<br /> <br /> Read the data from the region you want for example (see tables above)<br /> <br /> &lt;pre&gt;<br /> ps3dm_scm /dev/ps3dmproxy 0x48000 0xFF<br /> &lt;/pre&gt;<br /> <br /> You can see some coolstuff that containing dumps<br /> <br /> =Hashes=<br /> <br /> Where exactly the hashes are stored is still a secret, it is said that those hashes are stored in SC EEPROM<br /> <br /> To retrieve the information about the packages you have installed you can also use ps3d_utils<br /> <br /> ==Linux==<br /> <br /> ===Installed Package info===<br /> <br /> &lt;pre&gt;<br /> ps3dm_um /dev/ps3dmproxy get_pkg_info TYPE<br /> &lt;/pre&gt;<br /> <br /> Examples<br /> ----<br /> <br /> get_pkg_info 1 - Core OS package<br /> <br /> &lt;pre&gt; <br /> 0003004100000000<br /> &lt;/pre&gt; <br /> <br /> get_pkg_info 2 - Revoke List for program<br /> <br /> &lt;pre&gt; <br /> 0003004100000000<br /> &lt;/pre&gt;<br /> <br /> get_pkg_info 3 - Revoke list for package<br /> <br /> &lt;pre&gt;<br /> 0002003000000000<br /> &lt;/pre&gt;<br /> <br /> get_pkg_info 4<br /> <br /> &lt;pre&gt;<br /> deadbeaffacebabe<br /> &lt;/pre&gt;<br /> <br /> get_pkg_info 5<br /> <br /> &lt;pre&gt;<br /> deadbeaffacebabe<br /> &lt;/pre&gt;<br /> <br /> get_pkg_info 6 - Firmware Package<br /> <br /> &lt;pre&gt;<br /> 0003005000000000<br /> &lt;/pre&gt; <br /> <br /> <br /> You can find more information about this in [[Hypervisor Reverse Engineering]] <br /> <br /> <br /> ===Hashes===<br /> <br /> What algorithm is used and what exactly is hashed is still unknown (seems that the content of files is hashed by the SHA-1).<br /> <br /> &lt;pre&gt;<br /> ps3dm_scm /dev/ps3dmproxy get_region_data ID<br /> &lt;/pre&gt;<br /> <br /> These hashes are checked by lv1 to make sure that the data has not been altered through [[SC_Manager|SC Manager]]: '''scm_get_region_data: get_result: ret[X]: 0x%x'''<br /> <br /> Examples<br /> ----<br /> <br /> <br /> region_data 0 - ROS0<br /> <br /> &lt;pre&gt;<br /> 00 03 00 41 00 00 00 00 00 c3 eb 01 96 24 d0 1c 26 14 f3 1c a4 a2 ff ce 81 77 3a 4c f8 42 86 04 ee 34 bb db be 1c a7 51 e5 59 f1 95 61 07 a5 eb<br /> <br /> --------<br /> &lt;---------------------------lv0---------------------------&gt; &lt;---------------------------lv1---------------------------&gt;<br /> 00 03 00 15 00 00 00 00 39 8F 56 3B D3 C3 19 27 42 F5 0B 2A 06 0D 31 64 18 F3 E3 8A 0A AB D0 BE F0 D7 47 7A A7 F4 A7 5B 2D 09 78 48 E9 46 40 62 <br /> &lt;/pre&gt;<br /> <br /> region_data 1 - ROS1<br /> <br /> &lt;pre&gt; <br /> ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff <br /> <br /> --------<br /> &lt;----------------------------lv0--------------------------&gt; &lt;--------------------------lv1----------------------------&gt;<br /> 00 03 00 15 00 00 00 00 39 8F 56 3B D3 C3 19 27 42 F5 0B 2A 06 0D 31 64 18 F3 E3 8A 05 D4 15 79 F7 68 8A DF AD 9E CD 34 B4 C7 9F A8 C6 99 82 EE<br /> &lt;/pre&gt;<br /> <br /> region_data 2 - RL_FOR_PROGRAM.img 0<br /> <br /> &lt;pre&gt; <br /> ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff <br /> <br /> --------<br /> &lt;-------------------RL_FOR_PROGRAM.img--------------------&gt;<br /> 00 03 00 15 00 00 00 00 04 C2 14 37 09 90 C3 3B 24 E0 8C 2C D8 93 14 A5 79 58 90 51 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF<br /> &lt;/pre&gt;<br /> <br /> region_data 3 - RL_FOR_PROGRAM.img 1<br /> <br /> &lt;pre&gt; <br /> 00 03 00 41 00 00 00 00 80 41 f6 b8 f2 d5 30 60 59 35 49 d7 f0 3d 58 57 87 00 88 11 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff <br /> <br /> --------<br /> &lt;-------------------RL_FOR_PROGRAM.img--------------------&gt;<br /> 00 03 00 15 00 00 00 00 04 C2 14 37 09 90 C3 3B 24 E0 8C 2C D8 93 14 A5 79 58 90 51 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF<br /> &lt;/pre&gt;<br /> <br /> region_data 4 - RL_FOR_PACKAGE.img 0<br /> <br /> &lt;pre&gt; <br /> ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff <br /> <br /> --------<br /> &lt;-------------------RL_FOR_PACKAGE.img--------------------&gt;<br /> 00 01 00 00 00 00 00 00 33 B2 94 A4 6B E1 49 74 CC 5F EE 48 19 AE 3C 76 CD D2 7D DB FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF<br /> &lt;/pre&gt;<br /> <br /> region_data 5 - RL_FOR_PACKAGE.img 1<br /> <br /> &lt;pre&gt; <br /> 00 02 00 30 00 00 00 00 ba 6e 1c d5 5f 48 5b 8b 3f cc c8 60 75 ce f6 83 b2 20 dc f4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <br /> <br /> --------<br /> &lt;-------------------RL_FOR_PACKAGE.img--------------------&gt;<br /> 00 01 00 00 00 00 00 00 33 B2 94 A4 6B E1 49 74 CC 5F EE 48 19 AE 3C 76 CD D2 7D DB FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF<br /> &lt;/pre&gt;<br /> <br /> region_data 6<br /> <br /> &lt;pre&gt; <br /> de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be <br /> <br /> --------<br /> <br /> DE AD BE AF FA CE BA BE 00 00 00 00 00 00 00 00 19 38 98 8F 93 C3 2F A9 C6 51 23 CF 12 CA 69 36 3E 59 7E 41 1F 56 D4 03 F4 C3 D2 6B 5D 51 E4 F4<br /> &lt;/pre&gt;<br /> <br /> region_data 7<br /> <br /> &lt;pre&gt;<br /> de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be <br /> <br /> --------<br /> <br /> 00 01 00 00 06 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00<br /> &lt;/pre&gt;<br /> <br /> region_data 8 - BD Firmware Package<br /> <br /> &lt;pre&gt; <br /> 00 03 00 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00<br /> <br /> --------<br /> <br /> 00 03 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <br /> &lt;/pre&gt;<br /> <br /> region_data 9<br /> <br /> &lt;pre&gt;<br /> de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be <br /> <br /> --------<br /> <br /> DE AD BE AF FA CE BA BE 00 00 00 00 00 00 00 00 5F FB 4E 0B A7 FF 63 F4 F7 0A 22 D4 1B 3D F4 7D 24 32 71 B1 F9 84 B0 CD D7 42 7E FF 0C 77 C7 06<br /> &lt;/pre&gt;<br /> <br /> region_data 10<br /> <br /> &lt;pre&gt; <br /> de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be <br /> <br /> --------<br /> <br /> DE AD BE AF FA CE BA BE 00 00 00 00 00 00 00 00 B9 F1 DA 9F 01 A0 BA A3 3F CE EE 46 41 F6 40 F4 79 10 F6 1C C8 3E F3 55 8D 2C D0 4D 7E FA 27 81<br /> &lt;/pre&gt;<br /> <br /> region_data 11<br /> <br /> &lt;pre&gt;<br /> de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be <br /> <br /> --------<br /> <br /> DE AD BE AF FA CE BA BE 00 00 00 00 00 00 00 00 A9 5A 92 EA 64 A6 64 C5 A2 06 93 38 B0 39 45 AD F3 AD 9D FF 90 17 88 26 B1 D3 6A D6 20 A5 73 2D<br /> &lt;/pre&gt;<br /> <br /> region_data 12<br /> <br /> &lt;pre&gt;<br /> de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be <br /> <br /> --------<br /> <br /> DE AD BE AF FA CE BA BE 00 00 00 00 00 00 00 00 31 D9 71 84 3D BC 44 B0 2C 7A 64 F3 C6 C2 8C D1 4D 70 8E F0 58 8F 96 2A 82 90 EA D2 F4 1F E6 A9<br /> &lt;/pre&gt;<br /> <br /> region_data 13<br /> <br /> &lt;pre&gt;<br /> de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be <br /> <br /> --------<br /> <br /> DE AD BE AF FA CE BA BE 00 00 00 00 00 00 00 00 40 0B 6D 1D FB 4F CE D2 DA 8C B2 E2 27 21 96 27 76 51 CF C8 1E A3 AD ED 7A 8D 9E 9E A7 82 C1 B3<br /> &lt;/pre&gt;<br /> <br /> region_data 14<br /> <br /> &lt;pre&gt;<br /> de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be <br /> <br /> --------<br /> <br /> DE AD BE AF FA CE BA BE 00 00 00 00 00 00 00 00 D1 9B DB DA 69 32 00 5E 09 2F D4 8E 22 09 97 03 01 AB 1B D6 0E 19 41 3C 00 B6 2C 40 07 E4 FF 45<br /> &lt;/pre&gt;<br /> <br /> region_data 15<br /> <br /> &lt;pre&gt;<br /> de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be <br /> <br /> --------<br /> <br /> DE AD BE AF FA CE BA BE 00 00 00 00 00 00 00 00 06 71 09 15 89 7E 7D FA B9 38 1A E0 99 CB 02 33 44 9B D6 40 90 AF 01 B9 89 B4 C0 1D 25 AF 4F 84<br /> &lt;/pre&gt;<br /> <br /> region_data 16 - 47?<br /> <br /> = Dumped data =<br /> <br /> Here is an example of data (partition 1) from syscon which stores VTRM block key, SRK/SRH, region data, etc.<br /> &lt;br&gt;<br /> RETAIL TSOP:<br /> &lt;pre&gt;<br /> 0x0000: 00 00 00 03 C0 00 00 FF 00 00 00 00 00 00 00 00 ................ &lt;- version/mode <br /> 0x0010: 01 A2 F6 6C 26 54 1A 54 CE A3 F9 71 50 2B A8 20 ...l&amp;T.T...qP+. &lt;- vtrm block key<br /> 0x0020: 33 0E F4 5F 77 19 96 A6 7A 84 5D C9 AE B9 50 73 3.._w...z.]...Ps &lt;- SRK<br /> 0x0030: AE 45 5D 8E 6C BB 80 4D 7E C5 BF A4 AC 8E E1 E5 .E].l..M~....... &lt;- SRK/SRH<br /> 0x0040: 82 9B 0A 57 9A 40 D9 0C 00 00 00 00 00 00 00 00 ...W.@.......... &lt;- SRH<br /> 0x0050: 7F 03 00 94 B4 7C B6 50 51 E5 84 30 4D 51 77 7C .....|.PQ..0MQw| <br /> 0x0060: 7C 03 00 94 B4 7C B6 50 51 E5 84 30 4D 51 77 7C |....|.PQ..0MQw| <br /> 0x0070: 7D 03 00 94 B4 7C B6 50 51 E5 84 30 4D 51 77 7C }....|.PQ..0MQw| <br /> 0x0080: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ &lt;- region data 0<br /> 0x0090: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ &lt;- region data 0<br /> 0x00A0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ &lt;- region data 0<br /> 0x00B0: 00 03 00 55 00 00 00 00 50 12 F0 AD 3A 4F 9F 1B ...U....P...:O.. &lt;- region data 1<br /> 0x00C0: F9 F1 E1 D3 64 85 D4 01 19 9D 76 9E 5C 33 8D FE ....d.....v.\3.. &lt;- region data 1<br /> 0x00D0: 39 75 10 9B 73 43 69 89 2B F6 EE 53 15 4A 3B 06 9u..sCi.+..S.J;. &lt;- region data 1<br /> 0x00E0: 00 03 00 55 00 00 00 00 7B C9 65 97 CF 0D 20 4B ...U....{.e... K &lt;- region data 2<br /> 0x00F0: BB 6A B1 B9 B0 71 83 27 79 6F 16 08 FF FF FF FF .j...q.'yo...... &lt;- region data 2<br /> 0x0100: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ &lt;- region data 2<br /> 0x0110: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ &lt;- region data 3<br /> 0x0120: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ &lt;- region data 3<br /> 0x0130: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ &lt;- region data 3<br /> 0x0140: 00 01 00 00 00 00 00 00 B0 64 53 92 7F 5E 29 47 .........dS.^)G &lt;- region data 4<br /> 0x0150: 9C BC 84 58 4A F2 ED 0B 50 E1 BE F3 FF FF FF FF ...XJ...P....... &lt;- region data 4<br /> 0x0160: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ &lt;- region data 4<br /> 0x0170: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ &lt;- region data 5<br /> 0x0180: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ &lt;- region data 5<br /> 0x0190: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ &lt;- region data 5<br /> 0x01A0: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 6<br /> 0x01B0: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 6<br /> 0x01C0: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 6<br /> 0x01D0: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 7<br /> 0x01E0: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 7<br /> 0x01F0: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 7<br /> 0x0200: 00 03 00 50 00 00 00 00 00 00 00 00 00 00 00 00 ...P............ &lt;- region data 8<br /> 0x0210: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ &lt;- region data 8<br /> 0x0220: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ &lt;- region data 8<br /> 0x0230: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 9<br /> 0x0240: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 9<br /> 0x0250: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 9<br /> 0x0260: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 10<br /> 0x0270: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 10<br /> 0x0280: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 10<br /> 0x0290: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 11<br /> 0x02A0: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 11<br /> 0x02B0: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 11<br /> 0x02C0: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 12<br /> 0x02D0: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 12<br /> 0x02E0: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 12<br /> 0x02F0: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 13<br /> 0x0300: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 13<br /> 0x0310: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 13<br /> 0x0320: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 14<br /> 0x0330: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 14<br /> 0x0340: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 14<br /> 0x0350: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 15<br /> 0x0360: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 15<br /> 0x0370: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 15<br /> 0x0380: 42 03 00 94 B4 7C B6 50 51 E5 84 30 4D 51 77 7C B....|.PQ..0MQw| <br /> 0x0390: 43 03 00 94 B4 7C B6 50 51 E5 84 30 4D 51 77 7C C....|.PQ..0MQw| <br /> 0x03A0: 40 03 00 94 B4 7C B6 50 51 E5 84 30 4D 51 77 7C @....|.PQ..0MQw| <br /> 0x03B0: 41 03 00 94 B4 7C B6 50 51 E5 84 30 4D 51 77 7C A....|.PQ..0MQw| <br /> 0x03C0: 46 03 00 94 B4 7C B6 50 51 E5 84 30 4D 51 77 7C F....|.PQ..0MQw| <br /> 0x03D0: 47 03 00 94 B4 7C B6 50 51 E5 84 30 4D 51 77 7C G....|.PQ..0MQw| <br /> 0x03E0: 44 03 00 94 B4 7C B6 50 51 E5 84 30 4D 51 77 7C D....|.PQ..0MQw| <br /> 0x03F0: 45 03 00 94 B4 7C B6 50 51 E5 84 30 4D 51 77 7C E....|.PQ..0MQw| <br /> &lt;/pre&gt;<br /> <br /> &lt;br&gt; PROTO BGA(DECR):<br /> <br /> &lt;pre&gt;<br /> <br /> 00000000: 00 00 00 02 c0 00 00 ff - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000010: eb 49 35 4a c3 26 51 7a - 1e 88 c9 5d 52 03 f1 54 .I5J..Qz ....R..T<br /> 00000020: 7c d0 77 88 d1 1b 13 a2 - 43 dd c7 24 a4 79 5c d1 ..w..... C....y..<br /> 00000030: 3f b9 f3 c1 e9 0a 28 43 - 30 d8 e0 82 20 6e 06 29 .......C 0....n..<br /> 00000040: ee aa 4c d0 ac 44 dd 7e - 00 00 00 00 00 00 00 00 ..L..D.. ........<br /> 00000050: 9d 57 cf 03 e0 eb 89 7a - 8f 82 3b d6 83 f5 fb 1d .W.....z ........<br /> 00000060: f5 b6 36 d3 48 d5 56 20 - 87 b9 3a fd 3b 49 ab 71 ..6.H.V. .....I.q<br /> 00000070: 08 40 33 b5 40 07 84 b8 - 73 3f d1 91 04 3e 1b e8 ..3..... s.......<br /> 00000080: 00 03 00 15 00 00 00 00 - 39 8f 56 3b d3 c3 19 27 ........ 9.V..... &lt;- this was refurbished<br /> 00000090: 42 f5 0b 2a 06 0d 31 64 - 18 f3 e3 8a 0a ab d0 be B.....1d ........ &lt;- this was refurbished<br /> 000000a0: f0 d7 47 7a a7 f4 a7 5b - 2d 09 78 48 e9 46 40 62 ..Gz.... ..xH.F.b &lt;- this was refurbished<br /> 000000b0: 00 04 00 78 00 00 00 00 - 9f 00 c1 b7 ba 85 9b f0 ...x.... ........<br /> 000000c0: 54 2f b8 07 3a 2e b7 c4 - 48 d0 4b 6d c8 10 4b 99 T....... H.Km..K.<br /> 000000d0: ec 1e b0 9d e9 a3 b4 04 - ef 9d 7d b0 83 24 69 73 ........ ......is<br /> 000000e0: 00 03 00 55 00 00 00 00 - e9 02 a0 49 ca 20 5d 49 ...U.... ...I...I<br /> 000000f0: 46 65 fe 86 cf b4 3b 1e - 45 00 6e 04 ff ff ff ff Fe...... E.n.....<br /> 00000100: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........<br /> 00000110: 00 03 00 15 00 00 00 00 - 04 c2 14 37 09 90 c3 3b ........ ...7.... &lt;- this was refurbished<br /> 00000120: 24 e0 8c 2c d8 93 14 a5 - 79 58 90 51 ff ff ff ff ........ yX.Q.... &lt;- this was refurbished<br /> 00000130: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........ &lt;- this was refurbished<br /> 00000140: 00 01 00 00 00 00 00 00 - 0f 02 32 f0 4c 09 59 bc ........ ..2.L.Y.<br /> 00000150: 01 c1 1c 76 77 2e e0 a4 - 80 c1 eb 2f ff ff ff ff ...vw... ........<br /> 00000160: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........<br /> 00000170: 00 01 00 00 00 00 00 00 - 33 b2 94 a4 6b e1 49 74 ........ 3...k.It &lt;- this was refurbished<br /> 00000180: cc 5f ee 48 19 ae 3c 76 - cd d2 7d db ff ff ff ff ...H...v ........ &lt;- this was refurbished<br /> 00000190: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........ &lt;- this was refurbished<br /> 000001a0: de ad be af fa ce ba be - 00 00 00 00 00 00 00 00 ........ ........<br /> 000001b0: 1f b0 c8 f2 55 e5 1a 44 - 3a eb 77 51 15 f4 2f 25 ....U..D ..wQ....<br /> 000001c0: 91 b0 3a 2b 43 79 c8 ca - 59 5e 3c 8c b9 f5 95 54 ....Cy.. Y......T<br /> 000001d0: 00 01 00 00 06 01 00 00 - 00 00 00 00 00 00 00 00 ........ ........<br /> 000001e0: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ........ ........<br /> 000001f0: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000200: 00 03 00 10 00 00 00 00 - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000210: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000220: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000230: de ad be af fa ce ba be - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000240: d5 5b f0 81 49 fa 71 0b - 99 58 d3 ed d5 3e 30 96 ....I.q. .X....0.<br /> 00000250: 59 97 b2 bf 29 62 e7 86 - de 6f 67 1c 8e 19 e1 87 Y....b.. .og.....<br /> 00000260: de ad be af fa ce ba be - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000270: c7 2b 3f 31 5d 3b 60 b7 - a0 c6 f5 38 40 d7 a0 04 ...1.... ...8....<br /> 00000280: 2c 56 df 01 6f ad 35 26 - ac 9e b1 52 97 4e 4d e8 .V..o.5. ...R.NM.<br /> 00000290: de ad be af fa ce ba be - 00 00 00 00 00 00 00 00 ........ ........<br /> 000002a0: f0 84 7f e0 42 de 21 af - 58 b9 a4 11 03 d0 ff a8 ....B... X.......<br /> 000002b0: e3 9d 54 25 28 dd 7d 46 - 20 24 43 ef 3a a3 9e aa ..T....F ..C.....<br /> 000002c0: de ad be af fa ce ba be - 00 00 00 00 00 00 00 00 ........ ........<br /> 000002d0: ff 6e f8 37 55 2f 7a e0 - 62 53 d4 be d1 d0 e1 38 .n.7U.z. bS.....8<br /> 000002e0: 35 82 2d de a6 d7 ed d4 - a7 f6 7d 95 4f b8 41 a6 5....... ....O.A.<br /> 000002f0: de ad be af fa ce ba be - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000300: 7f 01 3c 78 0b 9a 98 df - 7d 13 ce ef ef c4 34 e9 ...x.... ......4.<br /> 00000310: 7c 13 d5 e3 ff 85 0b a9 - 1d b8 b3 0e f4 63 d9 48 ........ .....c.H<br /> 00000320: de ad be af fa ce ba be - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000330: 8e 4f c0 e7 c9 a9 da 14 - 2b 2d ad 2d 4e 48 f5 5b .O...... ....NH..<br /> 00000340: 06 ca 5a e6 7b 45 e1 45 - a5 c6 b1 a6 a5 8e d5 49 ..Z..E.E .......I<br /> 00000350: de ad be af fa ce ba be - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000360: c4 e9 a3 9a ec 7c 36 97 - 25 4f e4 3d ea 73 98 63 ......6. .O...s.c<br /> 00000370: 7c 17 0a 57 ed 44 70 08 - 6a b0 9e 3a c4 f2 cc b5 ...W.Dp. j.......<br /> 00000380: 49 7c 5c 74 45 75 66 c5 - 07 74 4b 66 58 84 42 d8 I..tEuf. .tKfX.B.<br /> 00000390: cb 71 a4 a8 7e 55 e7 64 - b3 24 4f 47 aa 61 31 32 .q...U.d ..OG.a12<br /> 000003a0: 50 f8 c1 ed 64 7a 3b 0a - 40 f6 90 a1 8e 53 65 71 P...dz.. .....Seq<br /> 000003b0: 14 87 74 95 ef 14 48 40 - e7 28 51 74 42 d2 37 82 ..t...H. ..QtB.7.<br /> 000003c0: 78 f2 d8 9e 06 64 71 49 - 20 65 68 f9 e0 79 f7 38 x....dqI .eh..y.8<br /> 000003d0: 6f 1b 9e 6d bc 58 eb ae - 3f 43 83 49 b0 0b 13 f4 o..m.X.. .C.I....<br /> 000003e0: 1d 7b 48 9a f1 a3 fb 22 - 6e 00 7a 75 d8 e3 c7 47 ..H..... n.zu...G<br /> 000003f0: 0e 0e 8a ec 43 53 4a 65 - 19 8b 85 49 e0 9b 15 fe ....CSJe ...I....<br /> &lt;/pre&gt;<br /> <br /> &lt;pre&gt;<br /> 00000000: 00 00 00 02 c0 00 00 ff - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000010: b4 68 3b 7f ad 57 3f 0f - 23 a2 a1 e8 11 49 f4 f5 .h...W.. .....I..<br /> 00000020: 28 c9 3e 9f 14 f8 2e f9 - c1 49 cd 46 6c a0 0e af ........ .I.Fl...<br /> 00000030: 74 19 b8 b2 11 92 d0 f6 - 69 0c a6 5a e0 36 15 18 t....... i..Z.6..<br /> 00000040: 27 52 89 5f cf 59 42 28 - 00 00 00 00 00 00 00 00 .R...YB. ........<br /> 00000050: 14 9d 2f 1e c8 07 f8 77 - 92 e9 e4 ce 00 12 a0 9a .......w ........<br /> 00000060: ad cf 41 99 f9 d3 ec 83 - 2c 8f 26 80 d4 c0 fb 0e ..A..... ........<br /> 00000070: b3 a3 61 ea 9a 41 17 cf - e8 50 15 d2 59 a3 51 dc ..a..A.. .P..Y.Q.<br /> 00000080: 00 03 00 15 00 00 00 00 - 39 8f 56 3b d3 c3 19 27 ........ 9.V.....<br /> 00000090: 42 f5 0b 2a 06 0d 31 64 - 18 f3 e3 8a 0a ab d0 be B.....1d ........<br /> 000000a0: f0 d7 47 7a a7 f4 a7 5b - 2d 09 78 48 e9 46 40 62 ..Gz.... ..xH.F.b<br /> 000000b0: 00 03 00 15 00 00 00 00 - 39 8f 56 3b d3 c3 19 27 ........ 9.V.....<br /> 000000c0: 42 f5 0b 2a 06 0d 31 64 - 18 f3 e3 8a 05 d4 15 79 B.....1d .......y<br /> 000000d0: f7 68 8a df ad 9e cd 34 - b4 c7 9f a8 c6 99 82 ee .h.....4 ........<br /> 000000e0: 00 03 00 15 00 00 00 00 - 04 c2 14 37 09 90 c3 3b ........ ...7....<br /> 000000f0: 24 e0 8c 2c d8 93 14 a5 - 79 58 90 51 ff ff ff ff ........ yX.Q....<br /> 00000100: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........<br /> 00000110: 00 03 00 15 00 00 00 00 - 04 c2 14 37 09 90 c3 3b ........ ...7....<br /> 00000120: 24 e0 8c 2c d8 93 14 a5 - 79 58 90 51 ff ff ff ff ........ yX.Q....<br /> 00000130: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........<br /> 00000140: 00 01 00 00 00 00 00 00 - 33 b2 94 a4 6b e1 49 74 ........ 3...k.It<br /> 00000150: cc 5f ee 48 19 ae 3c 76 - cd d2 7d db ff ff ff ff ...H...v ........<br /> 00000160: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........<br /> 00000170: 00 01 00 00 00 00 00 00 - 33 b2 94 a4 6b e1 49 74 ........ 3...k.It<br /> 00000180: cc 5f ee 48 19 ae 3c 76 - cd d2 7d db ff ff ff ff ...H...v ........<br /> 00000190: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........<br /> 000001a0: de ad be af fa ce ba be - 00 00 00 00 00 00 00 00 ........ ........<br /> 000001b0: 19 38 98 8f 93 c3 2f a9 - c6 51 23 cf 12 ca 69 36 .8...... .Q....i6<br /> 000001c0: 3e 59 7e 41 1f 56 d4 03 - f4 c3 d2 6b 5d 51 e4 f4 .Y.A.V.. ...k.Q..<br /> 000001d0: 00 01 00 00 06 01 00 00 - 00 00 00 00 00 00 00 00 ........ ........<br /> 000001e0: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ........ ........<br /> 000001f0: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000200: 00 03 00 10 00 00 00 00 - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000210: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000220: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000230: de ad be af fa ce ba be - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000240: 5f fb 4e 0b a7 ff 63 f4 - f7 0a 22 d4 1b 3d f4 7d ..N...c. ........<br /> 00000250: 24 32 71 b1 f9 84 b0 cd - d7 42 7e ff 0c 77 c7 06 .2q..... .B...w..<br /> 00000260: de ad be af fa ce ba be - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000270: b9 f1 da 9f 01 a0 ba a3 - 3f ce ee 46 41 f6 40 f4 ........ ...FA...<br /> 00000280: 79 10 f6 1c c8 3e f3 55 - 8d 2c d0 4d 7e fa 27 81 y......U ...M....<br /> 00000290: de ad be af fa ce ba be - 00 00 00 00 00 00 00 00 ........ ........<br /> 000002a0: a9 5a 92 ea 64 a6 64 c5 - a2 06 93 38 b0 39 45 ad .Z..d.d. ...8.9E.<br /> 000002b0: f3 ad 9d ff 90 17 88 26 - b1 d3 6a d6 20 a5 73 2d ........ ..j...s.<br /> 000002c0: de ad be af fa ce ba be - 00 00 00 00 00 00 00 00 ........ ........<br /> 000002d0: 31 d9 71 84 3d bc 44 b0 - 2c 7a 64 f3 c6 c2 8c d1 1.q...D. .zd.....<br /> 000002e0: 4d 70 8e f0 58 8f 96 2a - 82 90 ea d2 f4 1f e6 a9 Mp..X... ........<br /> 000002f0: de ad be af fa ce ba be - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000300: 40 0b 6d 1d fb 4f ce d2 - da 8c b2 e2 27 21 96 27 ..m..O.. ........<br /> 00000310: 76 51 cf c8 1e a3 ad ed - 7a 8d 9e 9e a7 82 c1 b3 vQ...... z.......<br /> 00000320: de ad be af fa ce ba be - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000330: d1 9b db da 69 32 00 5e - 09 2f d4 8e 22 09 97 03 ....i2.. ........<br /> 00000340: 01 ab 1b d6 0e 19 41 3c - 00 b6 2c 40 07 e4 ff 45 ......A. .......E<br /> 00000350: de ad be af fa ce ba be - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000360: 06 71 09 15 89 7e 7d fa - b9 38 1a e0 99 cb 02 33 .q...... .8.....3<br /> 00000370: 44 9b d6 40 90 af 01 b9 - 89 b4 c0 1d 25 af 4f 84 D....... ......O.<br /> 00000380: 81 91 1f e2 fc 59 b4 fb - 43 dd 31 0f 00 96 b6 4e .....Y.. C.1....N<br /> 00000390: 41 5e 91 78 d2 4f 5c 04 - 13 71 5d 09 2f 95 4f af A..x.O.. .q....O.<br /> 000003a0: 43 fe b6 1c 0b 6c 4d 1c - 13 0b a0 42 a9 47 2d bc C....lM. ...B.G..<br /> 000003b0: 54 f4 f5 80 b2 57 5b a2 - 34 3e 76 0b a0 3f a8 41 T....W.. 4.v....A<br /> 000003c0: c9 9f 96 8f 9b b1 f8 bc - 3b 5d 44 a0 6a 00 38 23 ........ ..D.j.8.<br /> 000003d0: a0 b8 53 24 f8 fd 34 5e - b9 64 f0 af 6e 28 4e 23 ..S...4. .d..n.N.<br /> 000003e0: 6b eb 86 db b2 72 80 ad - bc cd 9d d5 bc 42 9d d2 k....r.. .....B..<br /> 000003f0: af 77 6c ab 06 08 d8 c9 - 91 2f f3 8d 45 fd df 39 .wl..... ....E..9<br /> &lt;/pre&gt;<br /> <br /> &lt;br&gt;<br /> <br /> RETAIL BGA:<br /> <br /> &lt;pre&gt;<br /> <br /> 00000000: 00 00 00 02 c0 00 00 ff - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000010: 37 24 90 70 31 f5 64 48 - 12 7c a5 bc 37 6f 26 8d 7..p1.dH ....7o..<br /> 00000020: 31 80 62 8d 16 56 ba 7c - b0 6a c8 65 ad 36 c1 e1 1.b..V.. .j.e.6..<br /> 00000030: 54 61 e2 08 cd 58 a7 d9 - 3d 22 bd 1b d7 c8 f6 97 Ta...X.. ........<br /> 00000040: 5d be bc 55 4e ae 0c dc - 00 00 00 00 00 00 00 00 ...UN... ........<br /> 00000050: f3 1f f5 81 d2 58 e6 b4 - ac f0 7a b4 e7 be 75 61 .....X.. ..z...ua<br /> 00000060: de 13 f1 17 35 29 5a 09 - 11 a8 ae 25 c3 f4 2f 6a ....5.Z. .......j<br /> 00000070: 74 1d ed 93 a0 17 06 63 - 61 ef dd fb 98 9e 07 3e t......c a.......<br /> 00000080: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........<br /> 00000090: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........<br /> 000000a0: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........<br /> 000000b0: 00 03 00 55 00 00 00 00 - 66 1c 5d 52 ad 85 c0 22 ...U.... f..R....<br /> 000000c0: 12 3f 8c 38 1f f8 e0 34 - c8 76 f0 42 dd d9 ca 89 ...8...4 .v.B....<br /> 000000d0: 88 c9 db 93 8c 1a 4d 77 - 1f 98 23 a1 1e f7 d0 bd ......Mw ........<br /> 000000e0: 00 03 00 55 00 00 00 00 - 7b c9 65 97 cf 0d 20 4b ...U.... ..e....K<br /> 000000f0: bb 6a b1 b9 b0 71 83 27 - 79 6f 16 08 ff ff ff ff .j...q.. yo......<br /> 00000100: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........<br /> 00000110: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........<br /> 00000120: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........<br /> 00000130: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........<br /> 00000140: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........<br /> 00000150: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........<br /> 00000160: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........<br /> 00000170: 00 01 00 00 00 00 00 00 - b0 64 53 92 7f 5e 29 47 ........ .dS....G<br /> 00000180: 9c bc 84 58 4a f2 ed 0b - 50 e1 be f3 ff ff ff ff ...XJ... P.......<br /> 00000190: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........<br /> 000001a0: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 000001b0: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 000001c0: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 000001d0: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 000001e0: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 000001f0: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 00000200: 00 03 00 10 00 00 00 00 - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000210: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000220: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000230: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 00000240: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 00000250: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 00000260: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 00000270: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 00000280: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 00000290: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 000002a0: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 000002b0: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 000002c0: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 000002d0: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 000002e0: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 000002f0: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 00000300: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 00000310: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 00000320: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 00000330: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 00000340: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 00000350: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 00000360: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 00000370: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 00000380: 23 78 00 8b 80 be 94 c3 - aa 63 7e 87 c8 dc 32 5b .x...... .c....2.<br /> 00000390: 65 30 16 c7 31 b5 54 d7 - 8c 42 88 08 1c 52 6a 90 e0..1.T. .B...Rj.<br /> 000003a0: f1 f3 41 44 66 11 4f 8a - 7f 63 81 16 e0 f6 fa 94 ..ADf.O. .c......<br /> 000003b0: 0a 2f 92 e5 c3 43 49 90 - 90 4d b8 c1 81 e4 dc 31 .....CI. .M.....1<br /> 000003c0: 1a 37 3a c8 a0 f8 7f 5d - 90 f1 74 6f 3d f9 c5 e4 .7...... ..to....<br /> 000003d0: 5f 44 e7 67 81 22 2a 7d - 72 97 c5 ed 99 76 92 ee .D.g.... r....v..<br /> 000003e0: 52 24 8e 52 05 cb 4c 72 - 8c 5d 3d 4c f0 a2 38 00 R..R..Lr ...L..8.<br /> 000003f0: 17 40 27 9f 99 f0 3c ea - 26 7c f0 df d0 da 72 23 ........ ......r.<br /> &lt;/pre&gt;<br /> <br /> == More samples ==<br /> <br /> * https://dl.dropboxusercontent.com/u/35197530/bin/eeprom.bin<br /> <br /> =Tokens=<br /> <br /> Here we will document the different types off tokens known in the PS3<br /> All tokens are tied? encrypted? using EID0.<br /> They enable additional repository nodes.<br /> <br /> ==List==<br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Token !! Location !! Size !! SPU module !!Description<br /> |-<br /> | qa_token || sc_eeprom - 0x48D3E || 0x50 || spu_token_processor.self || <br /> |-<br /> | user_token || ? || ? || spu_utoken_processor.self || Encrypted/Signed<br /> |-<br /> | token_seed || ? || ? || ? || This is used to create the token with EID0<br /> |}<br /> <br /> ==Token Seed==<br /> <br /> Unencrypted form of QA-token<br /> <br /> ==Structure==<br /> <br /> This section has to be corrected, is only based on debug strings, we need to decrypt the tokens<br /> <br /> ===Token Seed===<br /> <br /> ?<br /> <br /> ===QA Token===<br /> <br /> <br /> <br /> ===User Token===<br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Address !! Size !! Description<br /> |-<br /> | ? || ? || m_magic<br /> |-<br /> | ? || ? || m_format_version<br /> |-<br /> | ? || ? || m_size<br /> |-<br /> | ? || ? || m_capability<br /> |-<br /> | ? || ? || m_expire_date<br /> |-<br /> | ? || ? || m_idps?<br /> |-<br /> | ? || ? || m_attribute<br /> |-<br /> | ? || ? || m_digest<br /> |}<br /> <br /> For every atribute in the token<br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Address !! Size !! Description<br /> |-<br /> | ? || ? || attr:m_type<br /> |-<br /> | ? || ? || attr:m_size<br /> |-<br /> | ? || ? || attr:m_data<br /> |}<br /> <br /> = Dumping SC EEPROM - hardware way =<br /> <br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |-<br /> ! style=&quot;background-color:red;&quot; | &lt;span style=&quot;background-color:lightred; color:white; font-size:200%; &quot;&gt;Warning&lt;/span&gt;<br /> |-<br /> | style=&quot;background-color:white;&quot; | &lt;span style=&quot;white; color:red; font-size:150%; text-align:center; &quot;&gt;You can use this method at your own risk. Author is not responsible for any hardware damages and failures. <br /> |}<br /> == Bus Pirate 3 Solderless method ==<br /> <br /> === You need ===<br /> 1) PS3 motherboard with BGA syscon chip (COK001, COK002, SEM001, DIA001, etc)<br /> <br /> 2) Bus Pirate v3.6 with connectors.<br /> <br /> 3) Wires (I used AWG32 150mm with tinned ends, see below)<br /> <br /> 4) PC with OS Windows7 (Should work on other windows systems, but not tested).<br /> <br /> 5) A sharp pencil.<br /> <br /> 6) Fingers ;)<br /> <br /> === Hardware Part ===<br /> <br /> Find the syscon on your PS3 motherboard.<br /> [[File:CXR713120 on SEM-001.JPG|thumbnail|none]]<br /> <br /> Look at the EEPROM Pins location and Draw serifs on the upper surface of the chip, strictly on these pins using pencil.<br /> [[File:CXR713120_EEPROM_PINS.JPG||thumbnail|none]]<br /> <br /> Draw the Pinout for convenience.<br /> [[File:CXR713120 EEPROM PINOUT.JPG|thumbnail|none]]<br /> <br /> Connect Bus-Pirate and AWG32 wires using probe Kit<br /> [[File:Bus-Pirate-3 with Wires.jpg|thumbnail|none]]<br /> <br /> Connect Bus-Pirate to the EEPROM Pins using the folowing table:<br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Bus Pirate pin !! EEPROM pin<br /> |-<br /> | CLK || SKB<br /> |-<br /> | CS || CSB<br /> |-<br /> | MOSI || DI<br /> |-<br /> | MISO || DO<br /> |-<br /> | 3V3 || RBB<br /> |-<br /> | GND || Any Ground Point<br /> |}<br /> Use 1 finger to hold the wires. The wires should be well connected with the eeprom pins.<br /> [[File:CXR713120 EEPROM FingerTrick.JPG|thumbnail|none]]<br /> Connect Bus-Pirate to you PC with Windows7 by USB.<br /> <br /> === Software Part ===<br /> <br /> Big thanks to '''Dasanko''' for the hard work and for the Syscon Flasher GUI Tool!!!<br /> <br /> Download and Install the driver for Bus-Pirate.<br /> <br /> Download link: http://www.ftdichip.com/Drivers/CDM/CDM%20v2.12.00%20WHQL%20Certified.exe<br /> <br /> Open the Device Manager and find the port number of your USB Serial Port.<br /> [[File:USB Serial Port.jpg|thumbnail|none]]<br /> <br /> Download and Run Syscon Flasher.exe<br /> <br /> Download link: https://www.sendspace.com/file/7jq6ka<br /> <br /> MD5=D59A8AA9E7BB1AEB753D7C6391CE17B1<br /> <br /> [[File:Syscon Flasher GUI.jpg|thumbnail|none]]<br /> <br /> There are 6 simple steps to obtain the dump.<br /> <br /> 1) Select the correct USB Serial Port for Bus-Pirate.<br /> <br /> 2) Press &quot;Send settings to device&quot; button. If done correctly, then &quot;Mode&quot; Led on the Bus Pirate will be Green.<br /> <br /> 3) Press &quot;Power on&quot; button. If done correctly, then &quot;VREG&quot; Led on the Bus Pirate will be Red.<br /> <br /> 4) Press &quot;Browse&quot; button and specify location and file name for your syscon eeprom dump.<br /> <br /> 5) Specify Offset and Length. Offset=0 Length=0x8000 for full dump the eeprom.<br /> <br /> 6) Press &quot;Fast Read&quot; button and wait about 15sec.<br /> <br /> Enjoy:<br /> <br /> My dump, for example:<br /> <br /> https://mega.co.nz/#!E1kHgSZJ!4e7TdNLdkQQzinwlnRO2KmaBd0GeBliHuHFe2tkmBgQ<br /> <br /> == Bus Pirate 3 method by: ([[User_talk:Zer0Tolerance|Zer0Tolerance]]) ==<br /> <br /> === You need ===<br /> 1) PS3 motherboard. I am using '''DIA-001'''. may be we can dump it from another boards, but it is unknown yet.<br /> <br /> 2) Device that can work with SPI interface and send any commands. I am using a Bus Pirate v3.6 with connectors.<br /> <br /> 3) Soldering station.<br /> <br /> 4) Wires (see below).<br /> <br /> 5) Personal conputer with installed HxD, Putty (or other terminal supporting serial port connections, e.g.:Tera Term) , Notepad++<br /> <br /> 6) /dev/Hands ;)<br /> <br /> === Preparation ===<br /> <br /> Find the test points on the motherboard using this picture. (for DIA-001 Users)<br /> [[File:DIA-001 SysCon EPROM Interface.png|thumbnail|none]]<br /> <br /> or this one, if you own a DECR-1400<br /> <br /> [[File:DEB-001 SC EEPROM.png|thumbnail|none]]<br /> <br /> All points are covered with varnish. You need to carefully remove the varnish to the copper and solder the wires to it.<br /> <br /> Attach a Bus Pirate to the wires using the following table:<br /> <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Bus Pirate pin !! Test Point<br /> |-<br /> | CLK || SKB<br /> |-<br /> | CS || CSB<br /> |-<br /> | MOSI || DI<br /> |-<br /> | MISO || DO<br /> |-<br /> | 3V3 || WCB, RBB<br /> |-<br /> | GND || Any Ground Point<br /> |}<br /> <br /> Make sure that the battery is attached to the motherboard.<br /> <br /> Plug your Bus pirate to the USB port on your PC using mini_USB_to_USB cable. (I am using the cable from the ps3 gamepad)<br /> <br /> It should be done like this, see the following picture:<br /> <br /> [[File:Dumping SC EEPROM using Bus Pirate v3.6.JPG|thumbnail|none]]<br /> <br /> === Setup software ===<br /> <br /> 1) Install the driver for the Bus Pirate and setup your virtual COM port for it using following table:<br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Parameter !! Value<br /> |-<br /> | Bits per second || 115200<br /> |-<br /> | Data bits || 8<br /> |-<br /> | Parity || None<br /> |-<br /> | Stop bits || 1<br /> |-<br /> | Flow control || None<br /> |}<br /> <br /> Open Putty and set it up:<br /> <br /> session params:<br /> <br /> connection type: Serial<br /> <br /> Serial line: COM3 (choose your virtual COM port)<br /> <br /> Speed (baud rate): 115200<br /> <br /> Logging params:<br /> <br /> Session logging: All session output<br /> <br /> Log file name: click Browse button and specify your logfile, for example: C:\PS3\Logs\logfile.log<br /> <br /> Now click Open button and setup mode for bus pirate using following commands:<br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Command !! Description<br /> |-<br /> | m || (mode)<br /> |-<br /> | 5 || (SPI)<br /> |-<br /> | 4 || (Set speed: 1MHz)<br /> |-<br /> | 2 || (Clock polarity: Idle high)<br /> |-<br /> | 1 || (Output clock edge: Idle to active<br /> |-<br /> | 1 || (Input sample phase: Middle *default)<br /> |-<br /> | 2 || (CS: /CS)<br /> |-<br /> | 2 || (Select output type: Normal (H=3.3V, L=GND))<br /> |}<br /> <br /> Enable 3.3V: Just type: W (big leter) and press Enter.<br /> <br /> === Obtain the dump ===<br /> <br /> Type: [0xa8 0x00 0x00 r:32768] and press Enter.<br /> <br /> Wait until dumping process will be completed and close Putty.<br /> <br /> Thats all. The dump must be into your logfile.log<br /> <br /> You can use Notepad++ and Hex Editor like HxD to convert the dump to binary format.<br /> <br /> &lt;small&gt;Read Command is 0xA8 0xXX 0xXX, XX XX is a block id to be read, the full EEPROM is 32768 bytes lenght (0x8000), [r:] are syntax command of the Bus Pirate for start, read byte and end&lt;/small&gt;<br /> <br /> == Arduino Mega method by: ([[User_talk:Abkarino|Abkarino]]) == <br /> <br /> I had build my own Syscon EEPROM flasher based on open source hardware &quot;'''Arduino Mega'''&quot; and some resistors.<br /> This flasher will allow you fully read/write to your Syscon EEPROM (FAT consoles only till now).<br /> <br /> === You need ===<br /> 1) PS3 motherboard. I had used '''SEM-0001''' board by desoldering Syscon chip form it but you can use, '''DIA-001''' for example without desoldering Syscon chip since all eeprom pins had a test points in the board it self.<br /> <br /> 2) Arduino Mega or any Arduino board.<br /> <br /> 3) 6 x 3.6 KOHM resistors + 6 x 1.8 KOHM resistors (work together as a voltage dividers since Arduino IO logic is 5.0v and Syscon EEPROM IO Logic is 3.3v).<br /> <br /> 4) Soldering station.<br /> <br /> 5) Wires &amp; Bread board (Optional).<br /> <br /> 6) Any PC that have terminal software like Putty, RealTerm and so on to access serial port, and any Hex Editor like HxD.<br /> <br /> === Preparation ===<br /> <br /> Find the test points on the motherboard using this picture.<br /> [[File:DIA-001 SysCon EPROM Interface.png|thumbnail|none]]<br /> Or if you have a very good soldering skills and tools to desolder your SysCon then you can desolder your SysCon and solder your wires to it directly. <br /> <br /> All points are covered with varnish. You need to carefully remove the varnish to the copper and solder the wires to it.<br /> <br /> Attach a Arduino Mega to the wires using the following table:<br /> <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Arduino Mega pin !! Test Point !! Syscon Pin<br /> |-<br /> | SCL (52) || SKB || E16<br /> |-<br /> | SS (53) || CSB || F16<br /> |-<br /> | MOSI (51) || DI || G16<br /> |-<br /> | MISO (50) || DO || H16<br /> |-<br /> | WP (48) || WCB || J15<br /> |-<br /> | RB (49) || RBB || J16<br /> |-<br /> | VCC (3.3v) || Not needed if you used battery power || G11<br /> |-<br /> | GND || Any Ground Point || C15<br /> |}<br /> <br /> *Make sure that the battery is attached to the motherboard if you will dump/flash SysCon EEPROM in board.<br /> <br /> *Make sure the pins are compatible or edited if using other arduino Board.<br /> <br /> **Arduino Mega: MISO is 50, MOSI is 51, SCK is 52 and SS is usually 53<br /> **Arduino Leonardo: the SPI pins are on the ICSP header pins.<br /> **Arduino Duemilanove/Uno: SS is digital 10, MOSI is 11, MISO is 12, SCK is (usually) 13<br /> <br /> === Wiring Diagram &amp; Photos ===<br /> <br /> [[File:PS3 SysCon EEPROM Flasher.jpg|thumbnail|none|PS3 SysCon EEPROM Flasher]]<br /> [[File:Fat SysCon Desoldered And Attached To Arduino.jpg|thumbnail|none|Fat SysCon Desoldered And Attached To Arduino]]<br /> [[File:SysCon EEPROM Dumping Process.jpg|thumbnail|none|SysCon EEPROM Dumping Process]]<br /> <br /> === Arduino Sketch Source Code ===<br /> Here is my Arduino Mega sketch source code to allow you to read/write/erase PS3 Syscon EEPROM.<br /> http://pastie.org/10004682#8,19<br /> <br /> <br /> <br /> {{Reverse engineering}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=Program_Vender_Id&diff=53891 Program Vender Id 2019-06-28T00:05:47Z <p>Mysis: </p> <hr /> <div>Located at SELF offset 0x78.<br /> <br /> For some reason it was named [[SELF_File_Format_and_Decryption#App_Info|vendor_id]] there.<br /> <br /> In geohot's makeself it was used as: &lt;code&gt;set_u32(&amp;(output_self_info_header.i_magic), 0x01000002);&lt;/code&gt;.<br /> <br /> Not directly related to [[Authority ID]], but seems to have many simularities with it (vendorid=2nd-9th bytes of authid), seems also related to [[Hypervisor_Reverse_Engineering#Active_System_Managers_in_HV_dump_3.15|SM ; LPAR's]] and their order suggests hierarchy/permission from high (can do everything) to low (lesser abilities).<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! VendorID !! count !! filetype<br /> |-<br /> | 0x00000000 || ? || lv0 / lv1 only before SDK 060<br /> |-<br /> | 0x33000077 || ? || *ldr / lv0 / lv1 only on SDK 060<br /> |-<br /> | 0xFF000000 || 16 || lv1.self's<br /> |-<br /> | 0x07000001 || 180 || iso spu self's<br /> |-<br /> | 0x05000002 || 17 || lv2_kernel.self's<br /> |-<br /> | 0x02000003 || 45 || ps2_emu self's <br /> |-<br /> | 0x01000002 || 6147 || CoreOs / dev_flash files / Games<br /> |-<br /> |}<br /> <br /> Note: first byte is territory value, last byte is guest_os_id.<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Guest OS ID !! Description<br /> |-<br /> | 0x0000 || None<br /> |-<br /> | 0x0001 || PME<br /> |-<br /> | 0x0002 || Lv2<br /> |-<br /> | 0x0003 || PS2Emu<br /> |-<br /> | 0x0004 || Linux<br /> |-<br /> |}<br /> <br /> {{Development}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=SELF_-_SPRX&diff=53890 SELF - SPRX 2019-06-28T00:02:37Z <p>Mysis: /* Table */</p> <hr /> <div>{{Wikify}}<br /> <br /> SELF stands for Signed Executable and Linkable Format.<br /> <br /> [[File:Self.png|thumb|alt=A screenshot of f0f's presentation at CCC2010.]] <br /> [[File:Self_hdr.png|thumb]]<br /> <br /> = Introduction =<br /> <br /> It is the format used by the executables on the PS3.<br /> It has a specific header here called SCE header where it stores all the parameters for this process.<br /> <br /> *SCE Header<br /> It consist on information regarding the structure and offsets of the self. The first part is in plaintext until you reach Metadata Info. <br /> <br /> *Metadata Info<br /> Metadata Info is itself under AES 256 CBC. This part contains KEY + IV to further decrypt the header using AES 128 CTR.<br /> <br /> *Metadata <br /> The metadata header, Metadata Section Headers, Section Hash, Capabilities and Signature are under this AES 128 CTR layer and is decrypted with the key above. <br /> <br /> *Metadata Header<br /> Metadata header contains the info required to authenticate the header and the structure of the metadata. The signature is ECDSA of the SHA1 hash of the self file starting at 0x0 and ending at 0x0+signatureInputLength<br /> <br /> *Data Sections<br /> The data sections might be encrypted using AES 128 CTR and/or compressed. HMAC-SHA1 is used to authenticate they have not been modified.<br /> <br /> Note: not only ELF/PRX files can be signed with this format, other known files with SCE header are : <br /> * revoke (e.g. RL_FOR_PACKAGE.img/RL_FOR_PROGRAM.img and pkg.srvk/prog.srvk)<br /> * spp (e.g. default.spp)<br /> * system software package (e.g. .pkg/.spkg_hdr.X)<br /> * edat<br /> <br /> ----<br /> <br /> = Cryptography =<br /> <br /> Here is a small summary on how the self cryptography works. <br /> <br /> Basically here are the steps being involved by the loaders: <br /> <br /> Loaders all have a static key and iv called respectively &lt;abbr title=&quot;ERK - 256bit Encryption Round Key&quot;&gt;erk&lt;/abbr&gt; and &lt;abbr title=&quot;RIV - 128bit Reset Initialization Vector&quot;&gt;riv&lt;/abbr&gt;, those are keys for the first decryption step which are used to decrypt the very first 0x40 bytes of the self's metadata using &lt;abbr title=&quot;AES256CBC - Advanced Encryption Standard - 256 bit - Cipher-block chaining&quot;&gt;AES256CBC&lt;/abbr&gt;<br /> <br /> Then the result is used as a key and iv to decrypt the rest of the metadata using &lt;abbr title=&quot;AESCTR - Advanced Encryption Standard - Counter Mode&quot;&gt;AESCTR&lt;/abbr&gt;, finally the decrypted metadata contains the keys and iv for each data sections which are still decrypted through AES128CTR. This security model is based on the fact that the first 0x40 bytes of the self's metadata once decrypted by the static AES256CBC key in the loader should never be the same from one binary to the other. The same goes for any other value used as an AES128CTR key or iv. <br /> <br /> Loaders are also involved with inflating the binaries using zlib. <br /> <br /> The self authenticity is based on other independent steps, &lt;abbr title=&quot;HMAC-SHA1 - Hash-based Message Authentication Code - Secure Hash Algorithm 1&quot;&gt;HMAC-SHA1&lt;/abbr&gt; of the data sections and &lt;abbr title=&quot;ECDSA - Elliptic Curve Digital Signature Algorithm&quot;&gt;ECDSA&lt;/abbr&gt; for the actual signature in the header.<br /> <br /> == Short references ==<br /> <br /> *[http://en.wikipedia.org/wiki/Advanced_Encryption_Standard AES]<br /> *[http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation Block cipher modes of operation]<br /> *[http://en.wikipedia.org/wiki/HMAC HMAC]-[http://en.wikipedia.org/wiki/SHA-1 SHA1]<br /> *[http://en.wikipedia.org/wiki/Elliptic_Curve_DSA ECDSA]<br /> <br /> More indepth Online course about encryption in generic (also AES/ECDSA): [https://engineering.purdue.edu/kak/compsec/Lectures.html Lecture Notes on Computer and Network Security by Avinash Kak]<br /> <br /> = File Format =<br /> <br /> Notes:<br /> *Numbers are stored in big endian format.<br /> <br /> == SCE Header ==<br /> <br /> === Struct ===<br /> <br /> typedef struct {<br /> uint32_t magic; /* 53434500 = SCE\0 */<br /> uint32_t header_version; /* header version, 2 for PS3, 3 for PSVita */<br /> uint16_t key_revision; /* [[Revision versus Version|key_revision]] */ // official name is attribute<br /> /* 0x0 retail (type 0)<br /> * 0x1 retail (0.92-3.30)<br /> * 0x2 retail (type 1)<br /> * 0x3 unknown (npdrm1?)<br /> * 0x4 retail (3.40-3.42)<br /> * 0x5 unknown (npdrm1?)<br /> * 0x6 unknown (npdrm2?)<br /> * 0x7 retail (3.50)<br /> * 0x8 unknown (npdrm1?)<br /> * 0x9 unknown (npdrm2?)<br /> * 0xA retail (3.55)<br /> * 0xB unknown (npdrm1?)<br /> * 0xC unknown (npdrm2?)<br /> * 0xD retail (3.56)<br /> * 0xE unknown (npdrm1?)<br /> * 0xF unknown (npdrm2?)<br /> * 0x10 retail (3.60-3.61)<br /> * 0x11 unknown (npdrm1?)<br /> * 0x12 unknown (npdrm2?)<br /> * 0x13 retail (3.65)<br /> * 0x14 unknown (npdrm1?)<br /> * 0x15 unknown (npdrm2?)<br /> * 0x16 retail (3.70-3.74)<br /> * 0x17 unknown (npdrm1?)<br /> * 0x18 unknown (npdrm2?)<br /> * 0x19 retail (4.00-4.11)<br /> * 0x1A unknown (npdrm1?)<br /> * 0x1B unknown (npdrm2?)<br /> * 0x1C retail (4.20-)<br /> * 0x1D unknown (npdrm1?)<br /> * 0x1E unknown (npdrm2?)<br /> * 0x8000 DEBUG (devkit) // Fake certified file<br /> */<br /> uint16_t cf_category; /* [[SCE_File_Types|Certified File category]] */<br /> uint32_t metadata_offset; /* metadata offset */ // Official name is extended header size<br /> uint64_t header_length; /* SCE file header length */ // Official name is file offset<br /> uint64_t data_length; /* length of encapsulated data */ // Official name is file size<br /> } __attribute__((packed)) SCE_HDR; // Official name is Certified File Header (CF_HEADER)<br /> <br /> == SELF Header ==<br /> <br /> === Struct ===<br /> <br /> typedef struct {<br /> uint64_t header_type; /* 3 - SELF */<br /> uint64_t appinfo_offset; /* app info offset */ // official name is program_identification_header<br /> uint64_t elf_offset; /* ELF #1 offset */<br /> uint64_t phdr_offset; /* program header offset */<br /> uint64_t shdr_offset; /* section header offset */<br /> uint64_t section_info_offset; /* section info offset */<br /> uint64_t sceversion_offset; /* version offset */<br /> uint64_t controlinfo_offset; /* control info offset */ // official name is supplemental_header<br /> uint64_t controlinfo_length; /* control length */<br /> uint64_t padding; /* padding */<br /> } __attribute__((packed)) SELF_HDR;<br /> <br /> === Comments ===<br /> <br /> The real ELF data is located after the SCE header (see header size). It is encrypted, unless the flags are 0x8000. unfself works by cutting the SCE header from the (fake)SELF.<br /> <br /> == App Info ==<br /> <br /> === Struct ===<br /> <br /> typedef struct {<br /> uint64_t authority_id; /* [[Authority ID]] */<br /> uint32_t vendor_id; /* [[Vendor ID]] */<br /> uint32_t self_type; /* [[SELF Types|SELF type]] */<br /> uint32_t version; /* [[Revision versus Version|version]] */<br /> uint8_t padding[0xC];<br /> } __attribute__((packed)) APP_INFO;<br /> <br /> === Table === <br /> <br /> {| class=&quot;wikitable&quot;<br /> ! field !! offset !! type !! notes<br /> |-<br /> | [[Authority ID|authority_id]] || 0x00 || u64 ||<br /> |-<br /> | [[Vendor_ID|vendor_id]] || 0x08 || u32 || (u16 Territory, u16 GOSid (1=PME,2=LV2,3=PS2EMU,4=Linux))<br /> |-<br /> | [[SELF_Types|Program Type]] || 0x0C || u32 ||<br /> |-<br /> | version || 0x10 || u32 || ex: 01.02 is translated by make_fself.exe to 02 01 00 00<br /> |-<br /> | padding || 0x14 || uint8_t[0xC] ||<br /> |}<br /> <br /> === Comments ===<br /> <br /> Aligned to 0x10 bytes.<br /> <br /> == ELF Header ==<br /> <br /> === Struct ===<br /> <br /> typedef struct {<br /> uint8_t e_ident[16]; /* ELF identification */<br /> uint16_t e_type; /* object file type */<br /> uint16_t e_machine; /* machine type */<br /> uint32_t e_version; /* object file version */<br /> uint64_t e_entry; /* entry point address */<br /> uint64_t e_phoff; /* program header offset */<br /> uint64_t e_shoff; /* section header offset */<br /> uint16_t e_flags; /* processor-specific flags */<br /> uint32_t e_ehsize; /* ELF header size */<br /> uint16_t e_phentsize; /* size of program header entry */<br /> uint16_t e_phnum; /* number of program header entries */<br /> uint16_t e_shentsize; /* size of section header entry */<br /> uint16_t e_shnum; /* number of section header entries */<br /> uint16_t e_shstrndx; /* section name string table index */<br /> } __attribute__((packed)) ELF;<br /> <br /> === Comments ===<br /> <br /> See Specifications here:<br /> [http://www.sco.com/developers/gabi/latest/ch4.eheader.html ELF Header]<br /> [http://www.openwatcom.com/ftp/devel/docs/elf-64-gen.pdf ELF-64 Object File Format]<br /> <br /> Processor specific elf types (e_type): <br /> *ET_SCE_IOPRELEXEC = 0xFF80<br /> *ET_SCE_IOPRELEXEC2= 0xFF81<br /> *ET_SCE_EERELEXEC = 0xFF90<br /> *ET_SCE_EERELEXEC2 = 0xFF91<br /> *ET_SCE_PSPRELEXEC = 0xFFA0<br /> *ET_SCE_PPURELEXEC = 0xFFA4 <br /> *ET_SCE_PSPOVERLAY = 0xFFA8<br /> <br /> EI_OSABI: <br /> *ELFOSABI_CELL_LV2=0x66<br /> <br /> == ELF Program Headers ==<br /> <br /> === Struct ===<br /> <br /> typedef struct {<br /> uint32_t p_type; /* type of segment */<br /> uint32_t p_flags; /* segment attributes */<br /> uint64_t p_offset; /* offset in file */<br /> uint64_t p_vaddr; /* virtual address in memory */<br /> uint64_t p_paddr; /* reserved */<br /> uint64_t p_filesz; /* size of segment in file */<br /> uint64_t p_memsz; /* size of segment in memory */<br /> uint64_t p_align; /* alignment of segment */<br /> } __attribute__((packed)) ELF_PHDR;<br /> <br /> === Comments ===<br /> <br /> See Spec here: [http://www.sco.com/developers/gabi/latest/ch5.pheader.html ELF Program Headers] <br /> <br /> Processor specific segment types (p_type):<br /> *PT_SCE_IOPMOD = 0x70000080<br /> *PT_SCE_EEMOD = 0x70000090<br /> *PT_SCE_PSPREL = 0x700000A0<br /> *PT_SCE_PPURELA= 0x700000A4<br /> *PT_SCE_SEGSYM = 0x700000A8<br /> <br /> Processor specific segment flags (p_flags):<br /> *PF_SPU_X = 0x00100000<br /> *PF_SPU_W = 0x00200000<br /> *PF_SPU_R = 0x00400000<br /> *PF_RSX_X = 0x01000000<br /> *PF_RSX_W = 0x02000000<br /> *PF_RSX_R = 0x04000000<br /> <br /> <br /> == ELF Section Headers ==<br /> <br /> === Struct ===<br /> <br /> typedef struct {<br /> uint32_t sh_name; /* section name */<br /> uint32_t sh_type; /* section type */<br /> uint64_t sh_flags; /* section attributes */<br /> uint64_t sh_addr; /* virtual address in memory */<br /> uint64_t sh_offset; /* offset in file */<br /> uint64_t sh_size; /* size of section */<br /> uint32_t sh_link; /* link to other section */<br /> uint32_t sh_info; /* miscellaneous information */<br /> uint64_t sh_addralign; /* address alignment boundary */<br /> uint64_t sh_entsize; /* size of entries, if section has table */<br /> } __attribute__((packed)) ELF_SHDR;<br /> <br /> === Comments ===<br /> <br /> Processor specific section types (sh_type):<br /> *SHT_SCE_IOPMOD = 0x70000080<br /> *SHT_SCE_EEMOD = 0x70000090<br /> *SHT_SCE_PSPREL = 0x700000a0<br /> *SHT_SCE_PPURELA = 0x700000a4<br /> <br /> == Segment Information (program header) ==<br /> <br /> === Struct ===<br /> <br /> typedef struct {<br /> uint64_t offset;<br /> uint64_t size;<br /> uint32_t compressed;<br /> uint32_t unknown1;<br /> uint32_t unknown2;<br /> uint32_t encrypted;<br /> } __attribute__((packed)) SECTION_INFO;<br /> <br /> === Table ===<br /> <br /> {| class=&quot;wikitable&quot;<br /> ! field !! offset !! type !! notes<br /> |-<br /> | Encrypted Data Offset || 0x00 ||u64 ||<br /> |-<br /> | Encrypted Data Size || 0x08 || u64 || <br /> |- <br /> | Compression || 0x10 || u32 || 1 = uncompressed, 2 = compressed<br /> |-<br /> | unknown || 0x14 || u32 || Always 0, as far as I know.<br /> |- <br /> | unknown || 0x18 || u32 || Always 0, as far as I know.<br /> |- <br /> | Encryption || 0x1c || u32 || 1 = encrypted, 2 = unencrypted<br /> |}<br /> <br /> === Comments ===<br /> <br /> There is one of these entries for each phdr entry in the elf file so that the ps3 knows where to decrypt the data from. (because it might also be compressed.)<br /> <br /> Notes: <br /> *There is one Segment Information for each ELF Program Header.&lt;br&gt;<br /> <br /> == SCE Version Info ==<br /> <br /> === Struct ===<br /> <br /> typedef struct {<br /> uint32_t subheader_type; // 1 - sceversion<br /> uint32_t present; // 0 - FALSE / 1 - TRUE<br /> uint32_t size;<br /> uint32_t unknown4;<br /> } __attribute__((packed)) SCEVERSION_INFO;<br /> <br /> === Data Struct ===<br /> <br /> typedef struct {<br /> uint16 unknown_1;<br /> uint16 unknown_2; // 0x1<br /> uint32 unknown_3;<br /> uint32 unknown_4; // ?Number of sections?<br /> uint32 unknown_5;<br /> ////<br /> uint64 offset; // Data offset<br /> uint64 size; // Data size<br /> //// &lt;- these are supposed to be sections<br /> } SCE_VERSION_DATA_30;<br /> <br /> === Comments ===<br /> <br /> == Control Information ==<br /> <br /> === Struct ===<br /> <br /> typedef struct {<br /> uint32_t type; // 1==PS3 control flags; 2==PS3 ELF digest info; 3==PS3 NPDRM info<br /> uint32_t size;<br /> uint64_t next; // 1 if another Control Info structure follows else 0<br /> <br /> union {<br /> // type 1, 0x30 bytes<br /> struct { // 0x20 bytes of data<br /> uint32_t ctrl_flag1; // [[Control Flags|ctrl_flag]] 0x80000000(all?); 0x40000000(root); 0x20000000(dbg); 0x00000000(normal?) <br /> uint32_t unknown2;<br /> uint32_t unknown3;<br /> uint32_t unknown4;<br /> uint32_t unknown5;<br /> uint32_t unknown6;<br /> uint32_t unknown7; // ex: 0;8;9;0xC<br /> uint32_t unknown8; // ex: 0;1;2;4<br /> } PS3_control_flags;<br /> <br /> // type 2, 0x40 bytes<br /> struct { // 0x30 bytes of data<br /> uint8_t constant[0x14]; // same for every PSVita/PS3 SELF, hardcoded in make_fself.exe: 627CB1808AB938E32C8C091708726A579E2586E4<br /> uint8_t elf_digest[0x14]; // on PSVita: SHA-256 of source ELF file, on PS3: SHA-1. Hash F2C552BF716ED24759CBE8A0A9A6DB9965F3811C is blackisted by appldr<br /> uint64_t required_system_version; // filled on Sony auth server, contains decimal PS3_SYSTEM_VER value from PARAM.SFO<br /> } PS3_elf_digest_40;<br /> <br /> // type 2, 0x30 bytes<br /> struct { // 0x20 bytes of data<br /> uint8_t constant_or_elf_digest[0x14];<br /> uint8_t padding[0xC];<br /> } PS3_elf_digest_30;<br /> <br /> // type 3, 0x90 bytes<br /> struct { // 0x80 bytes of data<br /> uint32_t magic; // 4E 50 44 00 (&quot;NPD.&quot;)<br /> uint32_t license_version;<br /> uint32_t drm_type; // [[License Types|license_type]]<br /> uint32_t app_type; // [[App Types|app_type]]<br /> uint8_t content_id[0x30];<br /> uint8_t digest[0x10]; // sha-1 hash of debug self/sprx created with make_fself_npdrm<br /> uint8_t inv_digest[0x10]; // hash_cid_fname<br /> uint8_t xor_digest[0x10]; // hash_cid<br /> uint8_t padding[0x10];<br /> } PS3_npdrm_info;<br /> };<br /> } __attribute__((packed)) PS3_CONTROL_INFO;<br /> <br /> === Table ===<br /> <br /> === Comments ===<br /> <br /> Notes: <br /> *self_control_flags also known as plaintext_capability.<br /> *official name is supplemental_header.<br /> *loader used supplemental_header_table to handle the data.<br /> <br /> typedef struct {<br /> uint256_t control_flags; /* self_control_flags */<br /> uint8[0x14] elf_digest; /* sha1 hash of the ELF file */<br /> uint32_t unknown_0; /* seems to be padding */<br /> uint64_t PS3_SYSTEM_VER; /* required_system_vesion, decimal format */<br /> } SUPPLEMENTAL_HEADER_TABLE;<br /> <br /> == Metadata Information ==<br /> <br /> === Struct ===<br /> <br /> typedef struct {<br /> uint8_t key[16];<br /> uint8_t key_pad[16];<br /> uint8_t iv[16];<br /> uint8_t iv_pad[16];<br /> } __attribute__((packed)) METADATA_INFO;<br /> <br /> <br /> === Comments ===<br /> <br /> Notes: <br /> *The key and ivec fields are encrypted using AES256CBC. <br /> *This is not present if it is a fSELF.<br /> *Official name is encryption_root_header.<br /> <br /> == Metadata Header ==<br /> <br /> === Struct ===<br /> <br /> typedef struct {<br /> uint64_t signatureInputLength;<br /> uint32_t unknown02; //Should be signature algorithm. It always = 1(ECDSA)<br /> uint32_t sectionCount;<br /> uint32_t keyCount;<br /> uint32_t optHeaderSize;<br /> uint64_t unknown06;<br /> } __attribute__((packed)) METADATA_HEADER;<br /> <br /> === Comments ===<br /> <br /> Notes:<br /> *The metadata header is located after the metadata info in the SELF file. <br /> *It is decrypted using AES128CTR with the key and ivec entries from the Metadata Information. <br /> *The signature input length is the number of bytes which are used to generate the SHA-1 which is used to generate the ECDSA signature. The length should be eveything from the beginning until the signature itself. The decrypted version of the input data is used. <br /> *This is only present if the Metadata Information is present.<br /> *Official name is certification_header.<br /> <br /> == Metadata Section Headers ==<br /> <br /> === Struct ===<br /> <br /> typedef struct {<br /> uint64_t data_offset;<br /> uint64_t data_size;<br /> uint32_t type; // 1 = shdr, 2 = phdr, 3 = sceversion<br /> uint32_t program_idx; // 0,1,2,3,etc for phdr, always 3 for shdrs, sceversion shdr number for sceversion<br /> uint32_t hash_algorithm; // 2 = sha1_hmac, 3 = sha1<br /> uint32_t hash_idx;<br /> uint32_t encrypted; // 3 = yes; 1 = no<br /> uint32_t key_idx;<br /> uint32_t iv_idx;<br /> uint32_t compressed; // 2 = yes; 1 = no<br /> } __attribute__((packed)) METADATA_SECTION_HEADER;<br /> <br /> === Comments ===<br /> <br /> Notes: <br /> *The metadata section headers are located after the metadata header in the SELF file. <br /> *The number of sections is indicated by the sectionCount entry in the metadata header. <br /> *They are decrypted using AES128CTR with the key and ivec entries from the metadata information. <br /> *Section data is decrypted using AES128CTR&amp;nbsp;with the key and ivec from the metadata keys specified by keyIndex and ivecIndex. <br /> *Section data will also need to be uncompressed using zlib. <br /> *The dataOffsets of the metadata section headers match in general the segment information dataOffsets. <br /> *This is only present if the Metadata Header is present.<br /> *Official name is segment_certification_header.<br /> <br /> == Section Hash ==<br /> <br /> === Struct ===<br /> <br /> typedef struct {<br /> uint8_t sha1[20];<br /> uint8_t padding[12];<br /> uint8_t hmac_key[64];<br /> } __attribute__((packed)) SECTION_HASH;<br /> <br /> === Comments ===<br /> <br /> Notes: <br /> *The metadata keys (section hash) are located after the metadata section headers in the SELF file. <br /> *The number of keys is indicated by the keyCount entry in the metadata header. <br /> *They are decrypted using AES128CTR with the key and ivec entries from the metadata information. <br /> *If the sha1Index points to a key, then key[sha1Index] and key[sha1Index+1] form the 160-bit hash. key[sha1Index+2] to key[key[sha1Index+6] form the 512-bit key for the HMAC-SHA1. The HMAC-SHA1 is calculated on the decrypted data and before the decompression.<br /> <br /> == Capabilities Info ==<br /> <br /> === Struct ===<br /> <br /> typedef struct {<br /> uint32_t type; // ex: 1, 2<br /> uint32_t capabilities_size; // [[Capability Flags|capabilities]] Type 1 0x30, Type 2 0x100<br /> uint32_t next; // 1 if there is another optional header structure after this, else 0<br /> uint32_t unknown2;<br /> uint64_t unknown3;<br /> uint64_t unknown4;<br /> uint64_t flags;<br /> uint32_t unknown6;<br /> uint32_t unknown7;<br /> } __attribute__((packed)) CAPABILITIES_INFO;<br /> <br /> === Comments ===<br /> <br /> Notes: <br /> *This struct is some optional_header.<br /> *It contains capability flags aslo known as encrypted_capability.<br /> <br /> == Signature ==<br /> <br /> === Struct ===<br /> <br /> typedef struct {<br /> uint8_t r[21];<br /> uint8_t s[21];<br /> uint8_t padding[6];<br /> } __attribute__((packed)) SIGNATURE;<br /> <br /> === Comments ===<br /> <br /> Notes:<br /> *The signature is located after the the signature information in the SELF file. <br /> *It is even present if the signature information is not present. <br /> *It is decrypted using AES128CTR with the key and ivec entries from the Metadata Information.<br /> <br /> == SELF Section Info ==<br /> <br /> === Struct ===<br /> <br /> typedef struct {<br /> uint8_t *data;<br /> uint64_t size;<br /> uint64_t offset;<br /> } SELF_SECTION;<br /> <br /> === Comments ===<br /> <br /> Notes: <br /> *Official name is segment_ext_header.<br /> <br /> = Extracting an ELF&lt;br&gt; =<br /> <br /> === ELF Header ===<br /> <br /> Elf64_Ehdr elfHeader;<br /> <br /> fseek ( selfFile, fix64 ( selfHeader.elfHeaderOffset ), SEEK_SET );<br /> fread ( &amp;amp;elfHeader, sizeof ( Elf64_Ehdr ), 1, selfFile );<br /> <br /> fseek ( elfFile, 0, SEEK_SET );<br /> fwrite ( &amp;amp;elfHeader, sizeof ( Elf64_Ehdr ), 1, elfFile );<br /> <br /> === Section Headers ===<br /> <br /> Elf64_Shdr elfSectionHeaders[100];<br /> <br /> fseek ( selfFile, fix64 ( selfHeader.elfSectionHeadersOffset ), SEEK_SET );<br /> fread ( elfSectionHeaders, sizeof ( Elf64_Shdr ), fix16 ( elfHeader.e_shnum ), selfFile );<br /> <br /> fseek ( elfFile, fix64 ( elfHeader.e_shoff ), SEEK_SET );<br /> fwrite ( elfSectionHeaders, sizeof ( Elf64_Shdr ), fix16 ( elfHeader.e_shnum ), elfFile );<br /> <br /> === Section Data ===<br /> <br /> Notes: <br /> *Unknown, manually copying the data over works for now. <br /> *There should be a section data offset somewhere.<br /> <br /> === Program Headers ===<br /> <br /> Elf64_Phdr elfProgramHeaders[100];<br /> <br /> fseek ( selfFile, fix64 ( selfHeader.elfProgramHeadersOffset ), SEEK_SET );<br /> fread ( elfProgramHeaders, sizeof ( Elf64_Phdr ), fix16 ( elfHeader.e_phnum ), selfFile );<br /> <br /> fseek ( elfFile, fix64 ( elfHeader.e_phoff ), SEEK_SET );<br /> fwrite ( elfProgramHeaders, sizeof ( Elf64_Phdr ), fix16 ( elfHeader.e_phnum ), elfFile );<br /> <br /> === Program Data ===<br /> <br /> Notes:<br /> *Load the metadata information and decrypt the key and ivec entries using AES256CBC using erk and riv. <br /> *Load the metadata header and decrypt it using AES128CTR with the key and ivec entries from the metadata information. <br /> *Load sectionCount metadata section headers and decrypt them using AES128CTR with the key and ivec entries from the metadata information. <br /> *Load keyCount metadata keys and decrypt them using AES128CTR with the key and ivec entries from the metadata information. <br /> *For each metadata section: <br /> **In the SELF file, fseek to dataOffset and read in dataSize bytes. <br /> **Decrypt the data using AES128CTR with the key and ivec from the metadata keys specified by keyIndex and ivecIndex from the metadata section header. <br /> **Uncompress the data using zlib. <br /> **Write it to the ELF file as the program section specified by section Index in the metadata section header.<br /> <br /> === Meta Checksums ===<br /> <br /> There are 3 checksums at the offset specified by meta_offset.<br /> <br /> *The first is the sha1 checksum of the entire self file. <br /> *The 2nd checksum is the inverse of the first checksum. <br /> *The 3rd checksum is the first checksum XORed with 0xAAAAAA..AAAAAB <br /> <br /> The PSJailbreak payload ignores the actual checksums, but checks that the 3rd checksum is the 2nd checksum XORed with 0xAAAAAA..AAAAAB<br /> <br /> === Capabilities Flags ===<br /> -----------------------<br /> appldr <br /> 0x17 = 0x78<br /> xsetting <br /> 0x17 = 0x3B<br /> 0x1B = 0x01<br /> 0x1D = 0x02<br /> ps3swu <br /> 0x17 = 0x7B<br /> 0x1B = 0x01<br /> 0x1D = 0x11<br /> 0x1E = 0x60<br /> lv2<br /> 0x17 = 0x7B<br /> 0x1B = 0x01<br /> lv1<br /> 0x17 = 0x7B<br /> 0x1B = 0x01<br /> libfs<br /> 0x17 = 0x7B<br /> 0x1B = 0x01<br /> icolaunch<br /> 0x17 = 0x3B<br /> 0x1B = 0x01<br /> 0x1D = 0x04<br /> hddcopy<br /> 0x17 = 0x7B<br /> 0x1B = 0x01<br /> 0x1D = 0x08<br /> flowers<br /> 0x17 = 0x3B<br /> 0x1B = 0x01<br /> 0x1E = 0x20<br /> fdm_spu<br /> 0x17 = 0x38<br /> emu_drm <br /> 0x17 = 0x3B<br /> 0x1D = 0x02<br /> bdj <br /> 0x0F = 0x01 //qa-bdp type1<br /> 0x17 = 0x27<br /> 0x1D = 0x02<br /> swagner<br /> 0x0F = 0x02 //qa-bdp type2<br /> 0x17 = 0x3F<br /> 0x1D = 0x02<br /> <br /> ---------------------<br /> 0x0C = 0x00000001 / 0x00000002 // qa_bdp_type_flags&lt;br&gt;<br /> 0x14 = 0x00000038 / 0x0000003B / 0x00000078 / 0x0000007B / 0x00000027&lt;br&gt;<br /> 0x18 = 0x00000001 &lt;br&gt;<br /> 0x1C = 0x00002000 / 0x00020000 / 0x00040000 / 0x00080000 / 0x00116000&lt;br&gt;<br /> <br /> 0x14:<br /> #define CAP_FLAG_REFTOOL 0x08 // DEH<br /> #define CAP_FLAG_DEBUG 0x10 // DEX<br /> #define CAP_FLAG_RETAIL 0x20 // CEX<br /> #define CAP_FLAG_SYSDBG 0x40 // ARCADE<br /> <br /> Some more cap flags: http://pastie.org/3090973 and http://pastie.org/3090976 (appldr 356 white(?)list)<br /> abbr title=&quot;ECDSA - Elliptic Curve Digital Signature Algorithm&quot;&gt;ECDSA<br /> <br /> <br /> {{File Formats}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=SC_EEPROM&diff=53888 SC EEPROM 2019-06-27T21:38:10Z <p>Mysis: /* EEPROM Offset Table - Flags and Tokens */</p> <hr /> <div>Most of the information we have about the sc eeprom comes from graf_chokolo reverse engineering of the HV see [[Hypervisor Reverse Engineering]] <br /> <br /> Here is where system flags, tokens and hashes are stored.<br /> <br /> Right now most of the communication we have with the sc eeprom is through Linux using graf_chokolo ps3dm-utils and/or using his payloads.<br /> <br /> See also {{talk}} page and [[User_talk:Zer0Tolerance|Zer0Tolerance]]<br /> <br /> = SC EEPROM Info =<br /> SC EEPROM from fat consoles is a custom/proprietary EEPROM chip that uses a special non standard commands to read/write from EEPROM.<br /> We are so lucky that Sony had exposed EEROM chip legs out of Syscon, so we have a physical access to it and we could attach devices like &quot;'''Logic Analyzer'''&quot;, &quot;'''Protocol Analyzer'''&quot;, &quot;'''Custom made MCU boards'''&quot; to capture traffic between console and Syscon EEPROM.<br /> <br /> For FAT console Syscon EEPROM consists of: 0x4000 blocks, and every block is consists of 2 bytes of data.<br /> So the total EEPROM size is: 0x8000 byte length.<br /> <br /> And since the pin-out of Syscon chip for Slim &amp; Super Slim consoles is not known till now, we can not be sure if the Syscon EEPROM pins are exposed outside or not so we can access it like in FAT console without handling Syscon it self.<br /> <br /> == SC EEPROM Commands ==<br /> <br /> FAT console's SC EEPROM used a standard SPI protocol with a proprietary commands as flow:<br /> <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Description!! Command !! Note<br /> |-<br /> | Unlock Command || 0xA3 0x00 0x00 || This command must be send first before write command.<br /> |-<br /> | Write Command || 0xA4 0xXX 0xXX || XX XX is a block id to be written (value 0x0000 to 0x3FFF), the maximum data to be written in one command cycle is 32 byte length (16 blocks).<br /> |-<br /> | Read Command || 0xA8 0xXX 0xXX || XX XX is a block id to be read (value 0x0000 to 0x3FFF), there is no maximum limit for read command so we can send it once with block id 0x00 0x00 then read the full EEPROM at once without sending read command again.<br /> |-<br /> | Check Status Command || 0xA9 0x00 0x00 0x00 || The response of this command is 0xFFFFFFFF if there is no error, or any other value if there is error happened or EEPROM still busy doing something.<br /> |}<br /> <br /> = SC EEPROM dumps =<br /> * https://mega.co.nz/#!Bt8klAhQ!-t5YVetoL9gz6iZucpqQB9Vl9chCkbhFiMfqjbmotoc {{MD5|B0E0551116B718A4921757B2B074693F}}<br /> * https://mega.co.nz/#!B51wWJYA!zg8O-vCvRBOgK5mpzTQ1H2hgBZmykglmbksB5w1Mlfg {{MD5|3E0E73DACF7E10F2369624EA439C661B}} (partial: {{MD5|7E2BAD4DFDEE485494C8749B1C3E5676}} / {{MD5|05D9ED4B545C709C9C4564F047028DE8}})<br /> * https://mega.co.nz/#!t50DCIiL!RYLvjm35nmH3JVfhsGIXFWVHxmCr07ERsFBWhAOxD_Q {{MD5|95DDFB21D65E38F20CD66517B67EAE7F}}<br /> * https://mega.co.nz/#!x4V0XBgJ!inxGYA5s8lfAF5Pe-naKCzTa1r5pY8Pn18js3D7QlnI<br /> <br /> * https://mega.nz/#!iV0nGY4I!94ByAd-sourgK8_l_4s-6BX_V7iVOrysQd55bI0N6ws {{MD5|1DB1CAA8E3D54256A59D08B6AF2B9BC5}} (Dumped by Syscon EEPROM Flasher done by me &quot;'''Abkarino'''&quot; using Arduino Mega).<br /> <br /> * https://mega.nz/#!AwF1jIaB!5qei9JOCzisgUHARcjARCw0zvQENkkvtAdd_O0dRUfI DECR eeprom dump from lv2 um_manager, needs documentation.<br /> <br /> different consoles, same initial 16 bytes. maybe key/iv?<br /> <br /> =Important Offsets=<br /> <br /> == EEPROM Offset Table - Flags and Tokens ==<br /> <br /> Here is the table of EEPROM offsets that can be accessed through Update Manager (3.15): <br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Offset !! Size !! Description<br /> |-<br /> | 0x02F00 || 8 || Manufacturing Update Release Version String<br /> |-<br /> | 0x02F08 || 0x10 || Manufacturing Update Build Version + Build Date String<br /> |-<br /> | 0x02F20 || 8 || Manufacturing Update Build Target ID (Can be 0x83(CEX-ww), 0x82(DEX-ww), 0x81(DevelopmentTool) or 0xDEAD. Written during the &lt;br&gt;manufacturing fw update process according to target string inside /dev_flash/vsh/etc/version.txt)<br /> |-<br /> | 0x02F28 || 0xD0 || Padding/undocumented<br /> &lt;pre&gt;00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <br /> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <br /> FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF <br /> FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF <br /> FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF <br /> FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF <br /> FF FF FF FF FF FF FF FF FF FF FF FF FF FF xx xx <br /> xx xx xx FF FF xx xx xx xx xx xx xx xx xx xx xx <br /> xx xx 00 00 00 00 FF xx 00 xx xx FF FF FF FF FF <br /> FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF <br /> FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF <br /> FF FF FF FF FF FF FF FF FF FF FF xx xx xx 00 00 <br /> xx xx xx xx xx FF FF FF xx xx xx FF FF FF xx 00 &lt;/pre&gt;<br /> |-<br /> | 0x02FF8 || 1 || Factory Bit (0 = ?, 1 = reset, 2 = ?, 3 = (on retails))<br /> |-<br /> | 0x02FF9 || 0x7 || Padding/undocumented<br /> &lt;pre&gt;00 00 00 00 xx xx xx &lt;/pre&gt;<br /> |-<br /> |}<br /> <br /> <br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! colspan=&quot;2&quot; | Offset !! Size !! Description<br /> |-{{cellcolors|lightgrey}}<br /> | colspan=&quot;2&quot; | 0x48000 || 0x13 || (lv0 NVS region 0 start) <br /> |-<br /> | &lt;abbr title=&quot;lv0 NVS region 0: 0x48000-0x48012&quot;&gt;&lt;small&gt;0&lt;/small&gt;&lt;/abbr&gt; || 0x48000 || 0x13 || (lv0 NVS region 0)<br /> |-{{cellcolors|lightgrey}}<br /> | colspan=&quot;2&quot; | 0x48012 || - || (lv0 NVS region 0 end)<br /> |-<br /> <br /> <br /> | colspan=&quot;2&quot; | 0x48013 || 0x2A || QA Token ECDSA Signature (=&amp;gt; 3.60 firmwares)<br /> |-{{cellcolors|lightgrey}}<br /> <br /> <br /> | colspan=&quot;2&quot; | 0x48800 || 0x0F || (lv0 NVS region 1 start) <br /> |-<br /> | rowspan=&quot;6&quot; | &lt;abbr title=&quot;lv0 NVS region 1: 0x48800-0x4880F&quot;&gt;&lt;small&gt;1&lt;/small&gt;&lt;/abbr&gt; || 0x48800 || 1 || ?<br /> |-<br /> | 0x48801 || 1 || - hv log settings/infos? -<br /> |-<br /> | 0x48802 || 2 || ? (lv0/lv1 CodeVerifier::spu_interrupt_handler_class2 related)<br /> |-<br /> | 0x48804 || 4 || bootrom failure code <br /> |-<br /> | 0x48808 || 4 || bootrom failure timestamp <br /> |-<br /> | 0x4880C || 4 || ?<br /> |-{{cellcolors|lightgrey}}<br /> | colspan=&quot;2&quot; | 0x4880B || - || (lv0 NVS region 1 end)<br /> |-{{cellcolors|lightgrey}}<br /> <br /> <br /> | colspan=&quot;2&quot; | 0x48C00 || 0x20 || (lv0 NVS region 2 start) <br /> |-<br /> | rowspan=&quot;22&quot; | &lt;abbr title=&quot;lv0 NVS region 2: 0x48C00-0x48C1F&quot;&gt;&lt;small&gt;2&lt;/small&gt;&lt;/abbr&gt; || 0x48C00 || 1 || load_image_in_rom flag (os_boot_order_flag) <br /> |-<br /> | 0x48C01 || 1 || sys.dbgcard.hostpc (force standalone mode related) <br /> |-<br /> | 0x48C02 || 1 || Network Device Mode (sys.dbgcard.dgbe / debug interface (select_net_device) (-1: Ethernet 2, 0: IFB, 1: CP, 2: SB UART, 3: CP ch4, 5: invalid &lt;!-- used on retail consoles --&gt;))<br /> |-<br /> | 0x48C03 || 1 || sys.dbgcard.dgbe.index (select_dgbe_device) <br /> |-<br /> | 0x48C04 || 1 || used to reset dgbe_config (only &lt;= 0.85)<br /> |-<br /> | 0x48C05 || 1 || update_flag for consoles with flash_format 0<br /> |-<br /> | 0x48C06 || 1 || FSELF Control Flag / toggles release mode (fself_ctrl used by lv0 for failsafe mode and by lv2 to bypass protection checks)<br /> |-<br /> | 0x48C07 || 1 || Product Mode (UM allows to read this offset, it can be also written but only when already in product mode)<br /> |-<br /> | 0x48C08 || 1 || lv0 passes this to lv1ldr (not used on &gt;= 0.82, maybe only CEB) <br /> |-<br /> | 0x48C09 || 1 || boot_fir_config (lv0ldr, bit 1/2, delays setting of BE fault-iso-regs/SB params to lv0)<br /> |-<br /> | 0x48C0A || 1 || QA Flag exist flag<br /> |-<br /> | 0x48C0B || 1 || mode_auth_flag / gx enable<br /> |-<br /> | 0x48C0C || 1 || Memory Diag Flag (bootrom diagnostic mode and parameter (bootrom_diag))<br /> |-<br /> | 0x48C0D || 1 || Memory Diag Status (lv0ldr related)<br /> |-<br /> | 0x48C0E || 1 || XDR_Link_Init failure flag<br /> |-<br /> | 0x48C0F || 2 || cell os flags (loader parameter)<br /> |-<br /> | 0x48C11 || 1 || bootrom trace level (0x00: fatal errors, 0x01: errors, 0x02: information messages, 0x03: debug messages)<br /> |-<br /> | 0x48C12 || 1 || ?<br /> |-<br /> | 0x48C13 || 1 || Device Type (flash_ext_format)<br /> |-<br /> | 0x48C14 || 4 || cellos_spu_configure<br /> |-<br /> | 0x48C18 || 4 || Safe Mode System Language [[XRegistry.sys#Settings]] ( /setting/system/language )<br /> |-<br /> | 0x48C1C || 4 || Safe Mode VSH Target (seems it can be 0xFFFFFFFE, 0xFFFFFFFF, 0x00000001 default: 0x00000000 /maybe QA,Debug,Retail,Kiosk?)<br /> |-{{cellcolors|lightgrey}}<br /> | colspan=&quot;2&quot; | 0x48C1F || - || (lv0 NVS region 2 end)<br /> |-{{cellcolors|lightgrey}}<br /> <br /> <br /> | colspan=&quot;2&quot; | 0x48C22 || 0x03 || (lv0 NVS region 3 start)<br /> |-<br /> | rowspan=&quot;3&quot; | &lt;abbr title=&quot;lv0 NVS region 3: 0x48C22-0x48C24&quot;&gt;&lt;small&gt;3&lt;/small&gt;&lt;/abbr&gt; || 0x48C22 || 1 || be nclk (be_nclck_flag1)<br /> |-<br /> | 0x48C23 || 1 || be ref clk (be_nclck_flag2)<br /> |-<br /> | 0x48C24 || 1 || Bank #0 OS-Flag (ros0 if 0xFF else ros1, for NOR consoles only) (os_bank_indicator)<br /> |-{{cellcolors|lightgrey}}<br /> | colspan=&quot;2&quot; | 0x48C24 || - || (lv0 NVS region 3 end)<br /> |-<br /> <br /> <br /> | colspan=&quot;2&quot; | 0x48C25 || 1 || Bank #0 rvkprg-Flag<br /> |-<br /> | colspan=&quot;2&quot; | 0x48C26 || 1 || Bank #0 rvkpkg-Flag<br /> |-<br /> | colspan=&quot;2&quot; | 0x48C27 || 1 || Bank #1 OS-Flag<br /> |-<br /> | colspan=&quot;2&quot; | 0x48C28 || 1 || Bank #1 rvkprg-Flag<br /> |-<br /> | colspan=&quot;2&quot; | 0x48C29 || 1 || Bank #1 rvkpkg-Flag<br /> |-{{cellcolors|lightgrey}}<br /> <br /> <br /> | colspan=&quot;2&quot; | 0x48C30 || 0x0D || (lv0 NVS region 4 start)<br /> |-<br /> | rowspan=&quot;3&quot; | &lt;abbr title=&quot;lv0 NVS region 4: 0x48C30-0x48C3C&quot;&gt;&lt;small&gt;4&lt;/small&gt;&lt;/abbr&gt; || 0x48C30 || 1 || SPE limit Usally 0x06(default), can be set to 0x07 to enable the 8 SPE (restrict_spu) or can be set to 0xFF(unlimit)<br /> |-<br /> | 0x48C31 || 4 || sata_param<br /> |-<br /> | 0x48C35 || 8 || TB value (spr_tbuw_value (cellos_spu_configure))<br /> |-{{cellcolors|lightgrey}}<br /> | colspan=&quot;2&quot; | 0x48C3C || - || (lv0 NVS region 4 end)<br /> |-{{cellcolors|lightgrey}}<br /> <br /> <br /> | colspan=&quot;2&quot; | 0x48C40 || 0x10 || (lv0 NVS region 5 start)<br /> |-<br /> | rowspan=&quot;8&quot; | &lt;abbr title=&quot;lv0 NVS region 5: 0x48C40-0x48C4F&quot;&gt;&lt;small&gt;5&lt;/small&gt;&lt;/abbr&gt; || 0x48C42 || 1 || HDD Copy Mode<br /> |-<br /> | 0x48C43 || 4 || Hdd Id Information<br /> |-<br /> | 0x48C47 || 1 || Analog Sunset Flag, will disable AACS video output without [[HDMI]] cable soon<br /> |-<br /> | 0x48C50 || 0x10 || Debug Support Flag<br /> |-<br /> | 0x48C60 || 1 || Update Status<br /> |-<br /> | 0x48C61 || 1 || Recover Mode Flag<br /> |-<br /> | 0x48C62 || 8 || boot param<br /> |-<br /> | 0x48C6A || 2 || factory process completion %<br /> |-{{cellcolors|lightgrey}}<br /> | colspan=&quot;2&quot; | 0x48C4F || - || (lv0 NVS region 5 end)<br /> |-{{cellcolors|lightgrey}}<br /> <br /> <br /> | colspan=&quot;2&quot; | 0x48C80 || 0x10 || (lv0 NVS region 6 start)<br /> |-<br /> | rowspan=&quot;2&quot; | &lt;abbr title=&quot;lv0 NVS region 6: 0x48C80-0x48C8F&quot;&gt;&lt;small&gt;6&lt;/small&gt;&lt;/abbr&gt; || 0x48C80 || 8 || (rsx.rdcy.0)<br /> |-<br /> | 0x48C88 || 8 || (rsx.rdcy.1)<br /> |-{{cellcolors|lightgrey}}<br /> | colspan=&quot;2&quot; | 0x48C8F || - || (lv0 NVS region 6 end)<br /> |-{{cellcolors|lightgrey}}<br /> <br /> <br /> | colspan=&quot;2&quot; | 0x48C90 || 0x30 || (lv0 NVS region 7 start)<br /> |-<br /> | rowspan=&quot;6&quot; | &lt;abbr title=&quot;lv0 NVS region 7: 0x48C90-0x48CBF&quot;&gt;&lt;small&gt;7&lt;/small&gt;&lt;/abbr&gt; || 0x48C90 || 8 || (rsx.rdcy.2)<br /> |-<br /> | 0x48C98 || 8 || (rsx.rdcy.3)<br /> |-<br /> | 0x48CA0 || 8 || (rsx.rdcy.4)<br /> |-<br /> | 0x48CA8 || 8 || (rsx.rdcy.5)<br /> |-<br /> | 0x48CB0 || 8 || (rsx.rdcy.6) / game_board_storage_read<br /> |-<br /> | 0x48CB8 || 8 || (rsx.rdcy.7) / game_board_storage_read<br /> |-{{cellcolors|lightgrey}}<br /> | colspan=&quot;2&quot; | 0x48CBF || - || (lv0 NVS region 7 end)<br /> |-<br /> <br /> | colspan=&quot;2&quot; | 0x48CCE || 1 || 0xFF / 0xFE / 0x00 (?)<br /> |-<br /> | colspan=&quot;2&quot; | 0x48CCF || 1 || pme_user debug printf flag ( &amp; 0x03 verbose level )<br /> |-{{cellcolors|lightgrey}}<br /> <br /> | colspan=&quot;2&quot; | 0x48CF0 || 0x10 || (NVS region start)<br /> |-<br /> | rowspan=&quot;16&quot; | &lt;abbr title=&quot;NVS region: 0x48CF0-0x48CFF&quot;&gt;&lt;small&gt;&lt;/small&gt;&lt;/abbr&gt; || 0x48CF0 || 1 || ss.common.printf.enabled<br /> |-<br /> | 0x48CF1 || 1 || ss.common.debug.level+ss.update.debug.level<br /> |-<br /> | 0x48CF2 || 1 || ss.updatefe.debug.level+ss.ss_init.debug.level<br /> |-<br /> | 0x48CF3 || 1 || ss.ss_proxy.debug.level+ss.spm.debug.level<br /> |-<br /> | 0x48CF4 || 1 || ss.spm.debug.policy+ss.ac_cntl.debug.level<br /> |-<br /> | 0x48CF5 || 1 || ss.ploader.debug.level+ss.gloader.debug.level<br /> |-<br /> | 0x48CF6 || 1 || ss.commlib.debug.level+ss.sc_mngr.debug.level<br /> |-<br /> | 0x48CF7 || 1 || ss.sc_iso.debug.level+ss.ii_mngr.debug.level<br /> |-<br /> | 0x48CF8 || 1 || ss.vtrm.debug.level+ss.sec_rtc.debug.level<br /> |-<br /> | 0x48CF9 || 1 || ss.sb_mngr.debug.level+ss.sb_iso.debug.level<br /> |-<br /> | 0x48CFA || 1 || ss.app_info.debug.level+ss.aim_iso.debug.level<br /> |-<br /> | 0x48CFB || 1 || ss.fdm.debug.level+ss.fdm_iso.debug.level<br /> |-<br /> | 0x48CFC || 1 || ss.fw.debug.level+ss.stricv.debug.level<br /> |-<br /> | 0x48CFD || 1 || ss.usbauth.debug.level+ss.dispatch.debug.level<br /> |-<br /> | 0x48CFE || 1 || ss.sc_test.debug.level+ss.sc_test.debug.spu<br /> |-<br /> | 0x48CFF || 1 || ss.token.debug.level<br /> |-{{cellcolors|lightgrey}}<br /> | colspan=&quot;2&quot; | 0x48CFF || - || (NVS region end)<br /> |-{{cellcolors|lightgrey}}<br /> <br /> <br /> | colspan=&quot;2&quot; | 0x48D00 || 0x0C || (lv0 NVS region 8 start)<br /> |-<br /> | rowspan=&quot;3&quot; | &lt;abbr title=&quot;lv0 NVS region 8: 0x48D00-0x48D0B&quot;&gt;&lt;small&gt;8&lt;/small&gt;&lt;/abbr&gt; || 0x48D00 || 4 || ip_addr (dgbe_config)<br /> |-<br /> | 0x48D04 || 4 || ip_netmask<br /> |-<br /> | 0x48D08 || 4 || ip_gateway<br /> |-{{cellcolors|lightgrey}}<br /> | colspan=&quot;2&quot; | 0x48D0B || - || (lv0 NVS region 8 end)<br /> |-{{cellcolors|lightgrey}}<br /> <br /> <br /> <br /> | colspan=&quot;2&quot; | 0x48D20 || 0x08|| (lv0 NVS region 9 start)<br /> |-<br /> | &lt;abbr title=&quot;lv0 NVS region 9: 0x48D20-0x48D27&quot;&gt;&lt;small&gt;9&lt;/small&gt;&lt;/abbr&gt; || 0x48D20 || 8 || spider.gbe0.macaddr.0 (&lt;code&gt;0xFFFFFFFFFFFFFFFF&lt;/code&gt; if unused/nonpresent)<br /> |-{{cellcolors|lightgrey}}<br /> | colspan=&quot;2&quot; | 0x48D27 || - || (lv0 NVS region 9 end)<br /> |-{{cellcolors|lightgrey}}<br /> <br /> <br /> | colspan=&quot;2&quot; | 0x48D28 || 0x18 || (lv0 NVS region B start)<br /> |-<br /> | rowspan=&quot;3&quot; | &lt;abbr title=&quot;lv0 NVS region B: 0x48D28-0x48D3F&quot;&gt;&lt;small&gt;B&lt;/small&gt;&lt;/abbr&gt; || 0x48D28 || 8 || spider.gbe0.macaddr.1 (&lt;code&gt;FFFFFFFFFFFFFFFF&lt;/code&gt; if unused/nonpresent)<br /> |-<br /> | 0x48D30 || 8 || spider.gbe0.macaddr.2 (&lt;code&gt;FFFFFFFFFFFFFFFF&lt;/code&gt; if unused/nonpresent)<br /> |-<br /> | 0x48D38 || 8 || spider.gbe0.macaddr.3 (&lt;code&gt;FFFFFFFFFFFFFFFF&lt;/code&gt; if unused/nonpresent)<br /> |-{{cellcolors|lightgrey}}<br /> | colspan=&quot;2&quot; | 0x48D3F || - || (lv0 NVS region B end)<br /> |-{{cellcolors|lightgrey}}<br /> <br /> <br /> <br /> | colspan=&quot;2&quot; | 0x48D3E || 0x50 || (lv0 NVS region A start)<br /> |-<br /> | &lt;abbr title=&quot;lv0 NVS region A: 0x48D3E-0x48D8D&quot;&gt;&lt;small&gt;A&lt;/small&gt;&lt;/abbr&gt; || 0x48D3E || 0x50 || QA Token - UM doesn't allow access to this offset but SC Manager can read/write it (qa_token)<br /> |-{{cellcolors|lightgrey}}<br /> | colspan=&quot;2&quot; | 0x48D8D || - || (lv0 NVS region A end)<br /> |-<br /> <br /> <br /> | colspan=&quot;2&quot; | 0x48D8E || 0x50 || mode_auth_data (read/cleared by ss_sc_init_pu, checked by spu_mode_auth)<br /> |-<br /> |}<br /> <br /> In a standard mostly untouched ps3 the common value for this flags is 0xFF wich means not active, anything else means active (e.g. 0xFE)<br /> <br /> To change this to an active status you have to write 0x00 to turn on the flag<br /> <br /> Debug support flag is tied to EID which is supposed to be hashed and saves in SC EEPROM<br /> <br /> QA flag is tied to QA token that is also saved in this part of the SC EEPROM<br /> <br /> QA Token ECDSA Signature is stored in 0x48013 offset (starting from 3.60 firmwares)<br /> <br /> == Undocumented config ==<br /> <br /> There is an unknown syscon response of 0x100 bytes when using NVS service with such params: BlockID=1, Offset=0, Size=0.<br /> &lt;pre&gt;<br /> 0000h: FF 02 FF FE FF 02 FF FF 19 FB E1 16 00 00 00 00 ÿ.ÿþÿ.ÿÿ.ûá..... <br /> 0010h: 17 74 B8 54 00 00 E1 18 00 04 00 00 0C 03 00 00 .t¸T..á......... <br /> 0020h: 3C 02 02 00 00 00 00 10 00 00 00 00 55 55 55 55 &lt;...........UUUU <br /> 0030h: 00 00 00 00 00 00 00 00 17 E0 C8 52 00 00 E2 18 .........àÈR..â. <br /> 0040h: 01 50 00 35 40 01 03 00 00 00 00 10 1D 30 00 B3 .P.5@........0.³ <br /> 0050h: 00 07 01 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ <br /> 0060h: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ <br /> 0070h: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ <br /> 0080h: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ <br /> 0090h: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ <br /> 00A0h: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ <br /> 00B0h: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ <br /> 00C0h: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ <br /> 00D0h: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ <br /> 00E0h: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ <br /> 00F0h: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ <br /> &lt;/pre&gt;<br /> <br /> This is 0x48800 on EEPROM<br /> <br /> cech-c (NO BD Drive): http://pastie.org/private/grl0dc0dxajisa36chgm7w<br /> <br /> == lv0 SC EEPROM usage ==<br /> &lt;pre&gt;<br /> [*] lv0 NVS regions:<br /> # start_offset end_offset block size<br /> 0 0x00 0x12 0x48000 0x13<br /> 1 0x00 0x0B 0x48800 0x0C<br /> 2 0x00 0x1F 0x48C00 0x20<br /> 3 0x22 0x24 0x48C00 0x03<br /> 4 0x30 0x3C 0x48C00 0x0D<br /> 5 0x40 0x4F 0x48C00 0x10<br /> 6 0x80 0x8F 0x48C00 0x10<br /> 7 0x90 0xBF 0x48C00 0x30<br /> 8 0x00 0x0B 0x48D00 0x0C<br /> 9 0x20 0x27 0x48D00 0x08<br /> A 0x3E 0x8D 0x48D00 0x50<br /> B 0x28 0x3F 0x48D00 0x18<br /> <br /> [*] Example region data (taken from region cache):<br /> 2:<br /> 01 FF 05 FF FF FF FF FF FF FF 00 FF FF FF FF FF<br /> FF FF FF FE FF FF FF FF 00 00 00 01 00 00 00 00<br /> 3:<br /> FF FF 00<br /> 4:<br /> 06 18 18 17 18 FF FF FF FF FF FF FF FF<br /> 5:<br /> FF FF 0D 02 0A 02 FF FF FF FF FF FF FF FF FF FF<br /> 9:<br /> FF FF FF FF FF FF FF FF<br /> <br /> [*] lv0 SC EEPROM usage:<br /> name addr size structure<br /> UNKNOWN 0x48804 0x04 [0x04 value]<br /> os_boot_order_flag 0x48C00 0x01 [0x01 flag]<br /> select_net_device 0x48C02 0x01 [0x01 index]<br /> select_dgbe_device 0x48C03 0x01 [0x01 index]<br /> fself_ctrl 0x48C06 0x01 [0x01 flag]<br /> UNKNOWN (debug?) 0x48C08 0x01 [0x01 flag]<br /> qaf_enable 0x48C0A 0x01 [0x01 flag]<br /> cellos_flags 0x48C0F 0x02 [0x02 flags]<br /> bootrom_trace_level 0x48C11 0x01 [0x01 level]<br /> flash_ext_format 0x48C13 0x01 [0x01 flag]<br /> be_nclck_flag1 0x48C22 0x01 [0x01 flag]<br /> be_nclck_flag2 0x48C23 0x01 [0x01 flag]<br /> os_bank_indicator 0x48C24 0x01 [0x01 flag]<br /> restrict_spu 0x48C30 0x01 [0x01 flag]<br /> sata_param 0x48C31 0x04 [0x04 flag]<br /> cellos_spu_configure 0x48C33 0x04 [0x04 config]<br /> spr_tbuw_value 0x48C35 0x08 [0x08 value]<br /> rsx.rdcy.0 0x48C80 0x08 [0x08 value]<br /> rsx.rdcy.1 0x48C88 0x08 [0x08 value]<br /> rsx.rdcy.2 0x48C90 0x08 [0x08 value]<br /> rsx.rdcy.3 0x48C98 0x08 [0x08 value]<br /> rsx.rdcy.4 0x48CA0 0x08 [0x08 value]<br /> rsx.rdcy.5 0x48CA8 0x08 [0x08 value]<br /> rsx.rdcy.6 0x48CB0 0x08 [0x08 value]<br /> rsx.rdcy.7 0x48CB8 0x08 [0x08 value]<br /> dgbe_config 0x48D00 0x0C [0x04 ip_addr, 0x04 ip_netmask, 0x04 ip_gateway]<br /> qa_token 0x48D3E 0x50 [0x50 token]<br /> UNKNOWN 0x48D20 0x08 [0x08 value]<br /> &lt;/pre&gt;<br /> <br /> == System Data From EEPROM ==<br /> <br /> Here is the list of possible EEPROM offsets: <br /> <br /> {|class=&quot;wikitable&quot;<br /> |-<br /> ! Index !! SC EEPROM Offset !! Size Of Data !! Description<br /> |-<br /> | 0 || 0x48D20 || 6 ||?<br /> |-<br /> | 1 || 0x48D28 || 6 ||?<br /> |-<br /> | 2 || 0x48D30 || 6 ||?<br /> |-<br /> | 3 || 0x48D38 || 6 ||?<br /> |-<br /> | 4 || 0x48D00 || 4 ||?<br /> |-<br /> | 5 || 0x48D04 || 4 ||?<br /> |-<br /> | 6 || 0x48D08 || 4 ||?<br /> |}<br /> <br /> == Dumpable EEPROM Offset - Block ID and Block Offset Mapping Table (NVS Service) ==<br /> <br /> Right now we only have read access to some portions of the eeprom to have access to this regions DM needs to be patched, see section dumping eeprom<br /> <br /> {|class=&quot;wikitable&quot;<br /> |-<br /> ! EEPROM Offset !! Block ID !! Block Offset !! Description !! Physical Offset<br /> |-<br /> | 0x48000 - 0x480FF || 0x00 || 0x48000 - 0x480FF || ? || 0x7000<br /> |-<br /> | 0x48800 - 0x488FF || 0x01 || 0x48800 - 0x488FF || Hypervisor Area || 0x7100<br /> |-<br /> | 0x48C00 - 0x48CFF || 0x02 || 0x48C00 - 0x48CFF || Contains flags and tokens/ see above || 0x7200<br /> |-<br /> | 0x48D00 - 0x48DFF || 0x03 || 0x48D00 - 0x48DFF || System Data Region || 0x7300<br /> |-<br /> | 0x2F00 - 0x2FFF || 0x10 || 0x2F00 - 0x2FFF || &quot;Industry Area&quot; aka OS Version Area || 0x2F00<br /> |-<br /> | 0x3000 - 0x30FF || 0x20 || 0x3000 - 0x30FF || &quot;Customer Service Area&quot; || 0x3000<br /> |-<br /> | N/A || 0xFF || N/A || ? sys_boot_gos flag is there || No eeprom activity<br /> |-<br /> | All other offsets || Invalid || Invalid || ? ||<br /> |}<br /> <br /> == Dumpable only with HW flasher EEPROM Offsets - Full Mapping Table (NAND Only) ==<br /> <br /> {|class=&quot;wikitable&quot;<br /> |-<br /> ! Physical Offset !! Description !! Samples<br /> |-<br /> | 0x0-0xF || magic0 (static bytes) || &lt;pre&gt;99D9662BB3D761546B9C3F9ED140EDB0&lt;/pre&gt;<br /> |-<br /> | 0x10-0x29F(0x290) || eEID1 (probably encrypted) ||<br /> |-<br /> | 0x2A0-0x4FF(0x260) || Unknown ||<br /> |- <br /> | 0x500-0x55F || magic1(static bytes) ||<br /> |-<br /> | 0x560-0x95F || Authenticated Data Region 0 (snvs region 0), not used ||<br /> |-<br /> | 0x960-0xD5F || Authenticated Data Region 1 (snvs region 1), contains ss-service version, secure_product_mode flag,&lt;BR&gt; vtrm cipher/hasher keys, versions/hashes of installed update packages, etc... ||<br /> |-<br /> | 0xD60-0x115F || Authenticated Data Region 2 (snvs region 2), not used ||<br /> |-<br /> | 0x1160-0x155F || Authenticated Data Region 3 (snvs region 3), not used ||<br /> |-<br /> | 0x1560-0x195F || Authenticated Data Region 4 (snvs region 4), not used ||<br /> |-<br /> | 0x1960-0x1D5F || Authenticated Data Region 5 (snvs region 5), not used ||<br /> |-<br /> | 0x1D60-0x215F || Authenticated Data Region 6 (snvs region 6), not used ||<br /> |-<br /> | 0x2160-0x255F || Authenticated Data Region 7 (snvs region 7), not used ||<br /> |-<br /> | 0x2560-0x26AF || FF Region ||<br /> |-<br /> | 0x26B0-(0x26CF/0x26EF) || Unknown (0x20 byte on TMU, 0x40 byte on retail boards) || <br /> |-<br /> | 0x26F0-0x26FF || FF Region || <br /> |-<br /> | 0x2700 - 0x270F || magic2 (static bytes) (does not exist in TMU dump) || &lt;pre&gt;857C4DE5BFAFD6A4A361CB5BFDD72D26&lt;/pre&gt;<br /> |-<br /> | 0x2710-0x27FF || FF Region || <br /> |-<br /> | 0x2800 - 0x2BFF || Syscon Patch Content Top-Half ||<br /> |-<br /> | 0x2C00 - 0x2EFF || FF Region ||<br /> |-<br /> | 0x2F00-0x2FFF || Industry Area (nvs region 0x20) ||<br /> |-<br /> | 0x3000-0x30FF || Costumer Service Area (nvs region 0x30) ||<br /> |-<br /> | 0x3700-0x37FF || Serial Num (DECR only) || 2M010001207K<br /> |-<br /> | 0x7000-0x70FF OR 0x4000-0x40FF || Bluray Drive Area ?? (nvs region 0) ||<br /> |-<br /> | 0x7100-0x71FF OR 0x4100-0x41FF || HyperVisor Area (nvs region 1) ||<br /> |-<br /> | 0x7200-0x72FF OR 0x4200-0x42FF || Token Area (nvs region 2) ||<br /> |-<br /> | 0x7300-0x73FF OR 0x4300-0x43FF || System Data Area (nvs region 3) ||<br /> |-<br /> | 0x7400 - 0x7FFF OR 0x4400 - 0x4FFF || Syscon Patch Content Bottom-Half ||<br /> |-<br /> | 0x5000-0x6FFF || FF Region ||<br /> |-<br /> |}<br /> <br /> == Authenticated Data Regions Crypto Analysis ==<br /> <br /> === Tests ===<br /> <br /> * http://i.imgur.com/A8g00bD.png &lt;- aes 128 cbc with fixed key and incremented iv (by 1 each time)<br /> * http://i.imgur.com/HZDWGSk.png &lt;- results<br /> * http://i.imgur.com/2mtrtdm.png region 0 encrypted vs http://i.imgur.com/7bSdQni.png decrypted<br /> * http://i.imgur.com/FGJKkuz.png region 7 encrypted vs http://i.imgur.com/7TSeHWK.png decrypted<br /> <br /> === Conclusion ===<br /> <br /> * different key for a different authenticated region.<br /> * sony uses either aes 128-cbc or aes 256-cbc (most likely 128-cbc)<br /> * sony does this weird cbc crypto in which they only decrypt portions of 0x10 bytes of the region, then increment or decrement (most likely increment) iv, and then decrypt again. i've decided to call it ctr-cbc<br /> * most likely the keys used are &lt;strike&gt;session&lt;/strike&gt; perconsole keys.<br /> * most likely the iv used starts with 00, then gets incremented by 1 for each 0x10 bytes<br /> <br /> === Acknowledgements ===<br /> <br /> * Zer0Tolerance for the crypto findings<br /> * flatz for his awesome syscon tool<br /> <br /> =Dumping your SC EEPROM=<br /> <br /> ==Linux==<br /> <br /> First you need graf_chokolo kernel ps3dm-utils and linux_hv_scripts.<br /> <br /> If you are ready.<br /> <br /> Patch DM using linux_hv_scripts<br /> <br /> &lt;pre&gt;<br /> dmpatch.sh<br /> &lt;/pre&gt;<br /> <br /> Read the data from the region you want for example (see tables above)<br /> <br /> &lt;pre&gt;<br /> ps3dm_scm /dev/ps3dmproxy 0x48000 0xFF<br /> &lt;/pre&gt;<br /> <br /> You can see some coolstuff that containing dumps<br /> <br /> =Hashes=<br /> <br /> Where exactly the hashes are stored is still a secret, it is said that those hashes are stored in SC EEPROM<br /> <br /> To retrieve the information about the packages you have installed you can also use ps3d_utils<br /> <br /> ==Linux==<br /> <br /> ===Installed Package info===<br /> <br /> &lt;pre&gt;<br /> ps3dm_um /dev/ps3dmproxy get_pkg_info TYPE<br /> &lt;/pre&gt;<br /> <br /> Examples<br /> ----<br /> <br /> get_pkg_info 1 - Core OS package<br /> <br /> &lt;pre&gt; <br /> 0003004100000000<br /> &lt;/pre&gt; <br /> <br /> get_pkg_info 2 - Revoke List for program<br /> <br /> &lt;pre&gt; <br /> 0003004100000000<br /> &lt;/pre&gt;<br /> <br /> get_pkg_info 3 - Revoke list for package<br /> <br /> &lt;pre&gt;<br /> 0002003000000000<br /> &lt;/pre&gt;<br /> <br /> get_pkg_info 4<br /> <br /> &lt;pre&gt;<br /> deadbeaffacebabe<br /> &lt;/pre&gt;<br /> <br /> get_pkg_info 5<br /> <br /> &lt;pre&gt;<br /> deadbeaffacebabe<br /> &lt;/pre&gt;<br /> <br /> get_pkg_info 6 - Firmware Package<br /> <br /> &lt;pre&gt;<br /> 0003005000000000<br /> &lt;/pre&gt; <br /> <br /> <br /> You can find more information about this in [[Hypervisor Reverse Engineering]] <br /> <br /> <br /> ===Hashes===<br /> <br /> What algorithm is used and what exactly is hashed is still unknown (seems that the content of files is hashed by the SHA-1).<br /> <br /> &lt;pre&gt;<br /> ps3dm_scm /dev/ps3dmproxy get_region_data ID<br /> &lt;/pre&gt;<br /> <br /> These hashes are checked by lv1 to make sure that the data has not been altered through [[SC_Manager|SC Manager]]: '''scm_get_region_data: get_result: ret[X]: 0x%x'''<br /> <br /> Examples<br /> ----<br /> <br /> <br /> region_data 0 - ROS0<br /> <br /> &lt;pre&gt;<br /> 00 03 00 41 00 00 00 00 00 c3 eb 01 96 24 d0 1c 26 14 f3 1c a4 a2 ff ce 81 77 3a 4c f8 42 86 04 ee 34 bb db be 1c a7 51 e5 59 f1 95 61 07 a5 eb<br /> <br /> --------<br /> &lt;---------------------------lv0---------------------------&gt; &lt;---------------------------lv1---------------------------&gt;<br /> 00 03 00 15 00 00 00 00 39 8F 56 3B D3 C3 19 27 42 F5 0B 2A 06 0D 31 64 18 F3 E3 8A 0A AB D0 BE F0 D7 47 7A A7 F4 A7 5B 2D 09 78 48 E9 46 40 62 <br /> &lt;/pre&gt;<br /> <br /> region_data 1 - ROS1<br /> <br /> &lt;pre&gt; <br /> ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff <br /> <br /> --------<br /> &lt;----------------------------lv0--------------------------&gt; &lt;--------------------------lv1----------------------------&gt;<br /> 00 03 00 15 00 00 00 00 39 8F 56 3B D3 C3 19 27 42 F5 0B 2A 06 0D 31 64 18 F3 E3 8A 05 D4 15 79 F7 68 8A DF AD 9E CD 34 B4 C7 9F A8 C6 99 82 EE<br /> &lt;/pre&gt;<br /> <br /> region_data 2 - RL_FOR_PROGRAM.img 0<br /> <br /> &lt;pre&gt; <br /> ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff <br /> <br /> --------<br /> &lt;-------------------RL_FOR_PROGRAM.img--------------------&gt;<br /> 00 03 00 15 00 00 00 00 04 C2 14 37 09 90 C3 3B 24 E0 8C 2C D8 93 14 A5 79 58 90 51 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF<br /> &lt;/pre&gt;<br /> <br /> region_data 3 - RL_FOR_PROGRAM.img 1<br /> <br /> &lt;pre&gt; <br /> 00 03 00 41 00 00 00 00 80 41 f6 b8 f2 d5 30 60 59 35 49 d7 f0 3d 58 57 87 00 88 11 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff <br /> <br /> --------<br /> &lt;-------------------RL_FOR_PROGRAM.img--------------------&gt;<br /> 00 03 00 15 00 00 00 00 04 C2 14 37 09 90 C3 3B 24 E0 8C 2C D8 93 14 A5 79 58 90 51 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF<br /> &lt;/pre&gt;<br /> <br /> region_data 4 - RL_FOR_PACKAGE.img 0<br /> <br /> &lt;pre&gt; <br /> ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff <br /> <br /> --------<br /> &lt;-------------------RL_FOR_PACKAGE.img--------------------&gt;<br /> 00 01 00 00 00 00 00 00 33 B2 94 A4 6B E1 49 74 CC 5F EE 48 19 AE 3C 76 CD D2 7D DB FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF<br /> &lt;/pre&gt;<br /> <br /> region_data 5 - RL_FOR_PACKAGE.img 1<br /> <br /> &lt;pre&gt; <br /> 00 02 00 30 00 00 00 00 ba 6e 1c d5 5f 48 5b 8b 3f cc c8 60 75 ce f6 83 b2 20 dc f4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <br /> <br /> --------<br /> &lt;-------------------RL_FOR_PACKAGE.img--------------------&gt;<br /> 00 01 00 00 00 00 00 00 33 B2 94 A4 6B E1 49 74 CC 5F EE 48 19 AE 3C 76 CD D2 7D DB FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF<br /> &lt;/pre&gt;<br /> <br /> region_data 6<br /> <br /> &lt;pre&gt; <br /> de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be <br /> <br /> --------<br /> <br /> DE AD BE AF FA CE BA BE 00 00 00 00 00 00 00 00 19 38 98 8F 93 C3 2F A9 C6 51 23 CF 12 CA 69 36 3E 59 7E 41 1F 56 D4 03 F4 C3 D2 6B 5D 51 E4 F4<br /> &lt;/pre&gt;<br /> <br /> region_data 7<br /> <br /> &lt;pre&gt;<br /> de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be <br /> <br /> --------<br /> <br /> 00 01 00 00 06 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00<br /> &lt;/pre&gt;<br /> <br /> region_data 8 - BD Firmware Package<br /> <br /> &lt;pre&gt; <br /> 00 03 00 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00<br /> <br /> --------<br /> <br /> 00 03 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <br /> &lt;/pre&gt;<br /> <br /> region_data 9<br /> <br /> &lt;pre&gt;<br /> de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be <br /> <br /> --------<br /> <br /> DE AD BE AF FA CE BA BE 00 00 00 00 00 00 00 00 5F FB 4E 0B A7 FF 63 F4 F7 0A 22 D4 1B 3D F4 7D 24 32 71 B1 F9 84 B0 CD D7 42 7E FF 0C 77 C7 06<br /> &lt;/pre&gt;<br /> <br /> region_data 10<br /> <br /> &lt;pre&gt; <br /> de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be <br /> <br /> --------<br /> <br /> DE AD BE AF FA CE BA BE 00 00 00 00 00 00 00 00 B9 F1 DA 9F 01 A0 BA A3 3F CE EE 46 41 F6 40 F4 79 10 F6 1C C8 3E F3 55 8D 2C D0 4D 7E FA 27 81<br /> &lt;/pre&gt;<br /> <br /> region_data 11<br /> <br /> &lt;pre&gt;<br /> de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be <br /> <br /> --------<br /> <br /> DE AD BE AF FA CE BA BE 00 00 00 00 00 00 00 00 A9 5A 92 EA 64 A6 64 C5 A2 06 93 38 B0 39 45 AD F3 AD 9D FF 90 17 88 26 B1 D3 6A D6 20 A5 73 2D<br /> &lt;/pre&gt;<br /> <br /> region_data 12<br /> <br /> &lt;pre&gt;<br /> de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be <br /> <br /> --------<br /> <br /> DE AD BE AF FA CE BA BE 00 00 00 00 00 00 00 00 31 D9 71 84 3D BC 44 B0 2C 7A 64 F3 C6 C2 8C D1 4D 70 8E F0 58 8F 96 2A 82 90 EA D2 F4 1F E6 A9<br /> &lt;/pre&gt;<br /> <br /> region_data 13<br /> <br /> &lt;pre&gt;<br /> de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be <br /> <br /> --------<br /> <br /> DE AD BE AF FA CE BA BE 00 00 00 00 00 00 00 00 40 0B 6D 1D FB 4F CE D2 DA 8C B2 E2 27 21 96 27 76 51 CF C8 1E A3 AD ED 7A 8D 9E 9E A7 82 C1 B3<br /> &lt;/pre&gt;<br /> <br /> region_data 14<br /> <br /> &lt;pre&gt;<br /> de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be <br /> <br /> --------<br /> <br /> DE AD BE AF FA CE BA BE 00 00 00 00 00 00 00 00 D1 9B DB DA 69 32 00 5E 09 2F D4 8E 22 09 97 03 01 AB 1B D6 0E 19 41 3C 00 B6 2C 40 07 E4 FF 45<br /> &lt;/pre&gt;<br /> <br /> region_data 15<br /> <br /> &lt;pre&gt;<br /> de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be de ad be af fa ce ba be <br /> <br /> --------<br /> <br /> DE AD BE AF FA CE BA BE 00 00 00 00 00 00 00 00 06 71 09 15 89 7E 7D FA B9 38 1A E0 99 CB 02 33 44 9B D6 40 90 AF 01 B9 89 B4 C0 1D 25 AF 4F 84<br /> &lt;/pre&gt;<br /> <br /> region_data 16 - 47?<br /> <br /> = Dumped data =<br /> <br /> Here is an example of data (partition 1) from syscon which stores VTRM block key, SRK/SRH, region data, etc.<br /> &lt;br&gt;<br /> RETAIL TSOP:<br /> &lt;pre&gt;<br /> 0x0000: 00 00 00 03 C0 00 00 FF 00 00 00 00 00 00 00 00 ................ &lt;- version/mode <br /> 0x0010: 01 A2 F6 6C 26 54 1A 54 CE A3 F9 71 50 2B A8 20 ...l&amp;T.T...qP+. &lt;- vtrm block key<br /> 0x0020: 33 0E F4 5F 77 19 96 A6 7A 84 5D C9 AE B9 50 73 3.._w...z.]...Ps &lt;- SRK<br /> 0x0030: AE 45 5D 8E 6C BB 80 4D 7E C5 BF A4 AC 8E E1 E5 .E].l..M~....... &lt;- SRK/SRH<br /> 0x0040: 82 9B 0A 57 9A 40 D9 0C 00 00 00 00 00 00 00 00 ...W.@.......... &lt;- SRH<br /> 0x0050: 7F 03 00 94 B4 7C B6 50 51 E5 84 30 4D 51 77 7C .....|.PQ..0MQw| <br /> 0x0060: 7C 03 00 94 B4 7C B6 50 51 E5 84 30 4D 51 77 7C |....|.PQ..0MQw| <br /> 0x0070: 7D 03 00 94 B4 7C B6 50 51 E5 84 30 4D 51 77 7C }....|.PQ..0MQw| <br /> 0x0080: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ &lt;- region data 0<br /> 0x0090: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ &lt;- region data 0<br /> 0x00A0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ &lt;- region data 0<br /> 0x00B0: 00 03 00 55 00 00 00 00 50 12 F0 AD 3A 4F 9F 1B ...U....P...:O.. &lt;- region data 1<br /> 0x00C0: F9 F1 E1 D3 64 85 D4 01 19 9D 76 9E 5C 33 8D FE ....d.....v.\3.. &lt;- region data 1<br /> 0x00D0: 39 75 10 9B 73 43 69 89 2B F6 EE 53 15 4A 3B 06 9u..sCi.+..S.J;. &lt;- region data 1<br /> 0x00E0: 00 03 00 55 00 00 00 00 7B C9 65 97 CF 0D 20 4B ...U....{.e... K &lt;- region data 2<br /> 0x00F0: BB 6A B1 B9 B0 71 83 27 79 6F 16 08 FF FF FF FF .j...q.'yo...... &lt;- region data 2<br /> 0x0100: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ &lt;- region data 2<br /> 0x0110: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ &lt;- region data 3<br /> 0x0120: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ &lt;- region data 3<br /> 0x0130: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ &lt;- region data 3<br /> 0x0140: 00 01 00 00 00 00 00 00 B0 64 53 92 7F 5E 29 47 .........dS.^)G &lt;- region data 4<br /> 0x0150: 9C BC 84 58 4A F2 ED 0B 50 E1 BE F3 FF FF FF FF ...XJ...P....... &lt;- region data 4<br /> 0x0160: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ &lt;- region data 4<br /> 0x0170: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ &lt;- region data 5<br /> 0x0180: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ &lt;- region data 5<br /> 0x0190: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ &lt;- region data 5<br /> 0x01A0: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 6<br /> 0x01B0: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 6<br /> 0x01C0: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 6<br /> 0x01D0: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 7<br /> 0x01E0: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 7<br /> 0x01F0: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 7<br /> 0x0200: 00 03 00 50 00 00 00 00 00 00 00 00 00 00 00 00 ...P............ &lt;- region data 8<br /> 0x0210: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ &lt;- region data 8<br /> 0x0220: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ &lt;- region data 8<br /> 0x0230: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 9<br /> 0x0240: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 9<br /> 0x0250: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 9<br /> 0x0260: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 10<br /> 0x0270: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 10<br /> 0x0280: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 10<br /> 0x0290: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 11<br /> 0x02A0: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 11<br /> 0x02B0: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 11<br /> 0x02C0: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 12<br /> 0x02D0: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 12<br /> 0x02E0: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 12<br /> 0x02F0: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 13<br /> 0x0300: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 13<br /> 0x0310: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 13<br /> 0x0320: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 14<br /> 0x0330: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 14<br /> 0x0340: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 14<br /> 0x0350: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 15<br /> 0x0360: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 15<br /> 0x0370: DE AD BE AF FA CE BA BE DE AD BE AF FA CE BA BE ................ &lt;- region data 15<br /> 0x0380: 42 03 00 94 B4 7C B6 50 51 E5 84 30 4D 51 77 7C B....|.PQ..0MQw| <br /> 0x0390: 43 03 00 94 B4 7C B6 50 51 E5 84 30 4D 51 77 7C C....|.PQ..0MQw| <br /> 0x03A0: 40 03 00 94 B4 7C B6 50 51 E5 84 30 4D 51 77 7C @....|.PQ..0MQw| <br /> 0x03B0: 41 03 00 94 B4 7C B6 50 51 E5 84 30 4D 51 77 7C A....|.PQ..0MQw| <br /> 0x03C0: 46 03 00 94 B4 7C B6 50 51 E5 84 30 4D 51 77 7C F....|.PQ..0MQw| <br /> 0x03D0: 47 03 00 94 B4 7C B6 50 51 E5 84 30 4D 51 77 7C G....|.PQ..0MQw| <br /> 0x03E0: 44 03 00 94 B4 7C B6 50 51 E5 84 30 4D 51 77 7C D....|.PQ..0MQw| <br /> 0x03F0: 45 03 00 94 B4 7C B6 50 51 E5 84 30 4D 51 77 7C E....|.PQ..0MQw| <br /> &lt;/pre&gt;<br /> <br /> &lt;br&gt; PROTO BGA(DECR):<br /> <br /> &lt;pre&gt;<br /> <br /> 00000000: 00 00 00 02 c0 00 00 ff - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000010: eb 49 35 4a c3 26 51 7a - 1e 88 c9 5d 52 03 f1 54 .I5J..Qz ....R..T<br /> 00000020: 7c d0 77 88 d1 1b 13 a2 - 43 dd c7 24 a4 79 5c d1 ..w..... C....y..<br /> 00000030: 3f b9 f3 c1 e9 0a 28 43 - 30 d8 e0 82 20 6e 06 29 .......C 0....n..<br /> 00000040: ee aa 4c d0 ac 44 dd 7e - 00 00 00 00 00 00 00 00 ..L..D.. ........<br /> 00000050: 9d 57 cf 03 e0 eb 89 7a - 8f 82 3b d6 83 f5 fb 1d .W.....z ........<br /> 00000060: f5 b6 36 d3 48 d5 56 20 - 87 b9 3a fd 3b 49 ab 71 ..6.H.V. .....I.q<br /> 00000070: 08 40 33 b5 40 07 84 b8 - 73 3f d1 91 04 3e 1b e8 ..3..... s.......<br /> 00000080: 00 03 00 15 00 00 00 00 - 39 8f 56 3b d3 c3 19 27 ........ 9.V..... &lt;- this was refurbished<br /> 00000090: 42 f5 0b 2a 06 0d 31 64 - 18 f3 e3 8a 0a ab d0 be B.....1d ........ &lt;- this was refurbished<br /> 000000a0: f0 d7 47 7a a7 f4 a7 5b - 2d 09 78 48 e9 46 40 62 ..Gz.... ..xH.F.b &lt;- this was refurbished<br /> 000000b0: 00 04 00 78 00 00 00 00 - 9f 00 c1 b7 ba 85 9b f0 ...x.... ........<br /> 000000c0: 54 2f b8 07 3a 2e b7 c4 - 48 d0 4b 6d c8 10 4b 99 T....... H.Km..K.<br /> 000000d0: ec 1e b0 9d e9 a3 b4 04 - ef 9d 7d b0 83 24 69 73 ........ ......is<br /> 000000e0: 00 03 00 55 00 00 00 00 - e9 02 a0 49 ca 20 5d 49 ...U.... ...I...I<br /> 000000f0: 46 65 fe 86 cf b4 3b 1e - 45 00 6e 04 ff ff ff ff Fe...... E.n.....<br /> 00000100: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........<br /> 00000110: 00 03 00 15 00 00 00 00 - 04 c2 14 37 09 90 c3 3b ........ ...7.... &lt;- this was refurbished<br /> 00000120: 24 e0 8c 2c d8 93 14 a5 - 79 58 90 51 ff ff ff ff ........ yX.Q.... &lt;- this was refurbished<br /> 00000130: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........ &lt;- this was refurbished<br /> 00000140: 00 01 00 00 00 00 00 00 - 0f 02 32 f0 4c 09 59 bc ........ ..2.L.Y.<br /> 00000150: 01 c1 1c 76 77 2e e0 a4 - 80 c1 eb 2f ff ff ff ff ...vw... ........<br /> 00000160: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........<br /> 00000170: 00 01 00 00 00 00 00 00 - 33 b2 94 a4 6b e1 49 74 ........ 3...k.It &lt;- this was refurbished<br /> 00000180: cc 5f ee 48 19 ae 3c 76 - cd d2 7d db ff ff ff ff ...H...v ........ &lt;- this was refurbished<br /> 00000190: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........ &lt;- this was refurbished<br /> 000001a0: de ad be af fa ce ba be - 00 00 00 00 00 00 00 00 ........ ........<br /> 000001b0: 1f b0 c8 f2 55 e5 1a 44 - 3a eb 77 51 15 f4 2f 25 ....U..D ..wQ....<br /> 000001c0: 91 b0 3a 2b 43 79 c8 ca - 59 5e 3c 8c b9 f5 95 54 ....Cy.. Y......T<br /> 000001d0: 00 01 00 00 06 01 00 00 - 00 00 00 00 00 00 00 00 ........ ........<br /> 000001e0: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ........ ........<br /> 000001f0: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000200: 00 03 00 10 00 00 00 00 - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000210: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000220: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000230: de ad be af fa ce ba be - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000240: d5 5b f0 81 49 fa 71 0b - 99 58 d3 ed d5 3e 30 96 ....I.q. .X....0.<br /> 00000250: 59 97 b2 bf 29 62 e7 86 - de 6f 67 1c 8e 19 e1 87 Y....b.. .og.....<br /> 00000260: de ad be af fa ce ba be - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000270: c7 2b 3f 31 5d 3b 60 b7 - a0 c6 f5 38 40 d7 a0 04 ...1.... ...8....<br /> 00000280: 2c 56 df 01 6f ad 35 26 - ac 9e b1 52 97 4e 4d e8 .V..o.5. ...R.NM.<br /> 00000290: de ad be af fa ce ba be - 00 00 00 00 00 00 00 00 ........ ........<br /> 000002a0: f0 84 7f e0 42 de 21 af - 58 b9 a4 11 03 d0 ff a8 ....B... X.......<br /> 000002b0: e3 9d 54 25 28 dd 7d 46 - 20 24 43 ef 3a a3 9e aa ..T....F ..C.....<br /> 000002c0: de ad be af fa ce ba be - 00 00 00 00 00 00 00 00 ........ ........<br /> 000002d0: ff 6e f8 37 55 2f 7a e0 - 62 53 d4 be d1 d0 e1 38 .n.7U.z. bS.....8<br /> 000002e0: 35 82 2d de a6 d7 ed d4 - a7 f6 7d 95 4f b8 41 a6 5....... ....O.A.<br /> 000002f0: de ad be af fa ce ba be - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000300: 7f 01 3c 78 0b 9a 98 df - 7d 13 ce ef ef c4 34 e9 ...x.... ......4.<br /> 00000310: 7c 13 d5 e3 ff 85 0b a9 - 1d b8 b3 0e f4 63 d9 48 ........ .....c.H<br /> 00000320: de ad be af fa ce ba be - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000330: 8e 4f c0 e7 c9 a9 da 14 - 2b 2d ad 2d 4e 48 f5 5b .O...... ....NH..<br /> 00000340: 06 ca 5a e6 7b 45 e1 45 - a5 c6 b1 a6 a5 8e d5 49 ..Z..E.E .......I<br /> 00000350: de ad be af fa ce ba be - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000360: c4 e9 a3 9a ec 7c 36 97 - 25 4f e4 3d ea 73 98 63 ......6. .O...s.c<br /> 00000370: 7c 17 0a 57 ed 44 70 08 - 6a b0 9e 3a c4 f2 cc b5 ...W.Dp. j.......<br /> 00000380: 49 7c 5c 74 45 75 66 c5 - 07 74 4b 66 58 84 42 d8 I..tEuf. .tKfX.B.<br /> 00000390: cb 71 a4 a8 7e 55 e7 64 - b3 24 4f 47 aa 61 31 32 .q...U.d ..OG.a12<br /> 000003a0: 50 f8 c1 ed 64 7a 3b 0a - 40 f6 90 a1 8e 53 65 71 P...dz.. .....Seq<br /> 000003b0: 14 87 74 95 ef 14 48 40 - e7 28 51 74 42 d2 37 82 ..t...H. ..QtB.7.<br /> 000003c0: 78 f2 d8 9e 06 64 71 49 - 20 65 68 f9 e0 79 f7 38 x....dqI .eh..y.8<br /> 000003d0: 6f 1b 9e 6d bc 58 eb ae - 3f 43 83 49 b0 0b 13 f4 o..m.X.. .C.I....<br /> 000003e0: 1d 7b 48 9a f1 a3 fb 22 - 6e 00 7a 75 d8 e3 c7 47 ..H..... n.zu...G<br /> 000003f0: 0e 0e 8a ec 43 53 4a 65 - 19 8b 85 49 e0 9b 15 fe ....CSJe ...I....<br /> &lt;/pre&gt;<br /> <br /> &lt;pre&gt;<br /> 00000000: 00 00 00 02 c0 00 00 ff - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000010: b4 68 3b 7f ad 57 3f 0f - 23 a2 a1 e8 11 49 f4 f5 .h...W.. .....I..<br /> 00000020: 28 c9 3e 9f 14 f8 2e f9 - c1 49 cd 46 6c a0 0e af ........ .I.Fl...<br /> 00000030: 74 19 b8 b2 11 92 d0 f6 - 69 0c a6 5a e0 36 15 18 t....... i..Z.6..<br /> 00000040: 27 52 89 5f cf 59 42 28 - 00 00 00 00 00 00 00 00 .R...YB. ........<br /> 00000050: 14 9d 2f 1e c8 07 f8 77 - 92 e9 e4 ce 00 12 a0 9a .......w ........<br /> 00000060: ad cf 41 99 f9 d3 ec 83 - 2c 8f 26 80 d4 c0 fb 0e ..A..... ........<br /> 00000070: b3 a3 61 ea 9a 41 17 cf - e8 50 15 d2 59 a3 51 dc ..a..A.. .P..Y.Q.<br /> 00000080: 00 03 00 15 00 00 00 00 - 39 8f 56 3b d3 c3 19 27 ........ 9.V.....<br /> 00000090: 42 f5 0b 2a 06 0d 31 64 - 18 f3 e3 8a 0a ab d0 be B.....1d ........<br /> 000000a0: f0 d7 47 7a a7 f4 a7 5b - 2d 09 78 48 e9 46 40 62 ..Gz.... ..xH.F.b<br /> 000000b0: 00 03 00 15 00 00 00 00 - 39 8f 56 3b d3 c3 19 27 ........ 9.V.....<br /> 000000c0: 42 f5 0b 2a 06 0d 31 64 - 18 f3 e3 8a 05 d4 15 79 B.....1d .......y<br /> 000000d0: f7 68 8a df ad 9e cd 34 - b4 c7 9f a8 c6 99 82 ee .h.....4 ........<br /> 000000e0: 00 03 00 15 00 00 00 00 - 04 c2 14 37 09 90 c3 3b ........ ...7....<br /> 000000f0: 24 e0 8c 2c d8 93 14 a5 - 79 58 90 51 ff ff ff ff ........ yX.Q....<br /> 00000100: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........<br /> 00000110: 00 03 00 15 00 00 00 00 - 04 c2 14 37 09 90 c3 3b ........ ...7....<br /> 00000120: 24 e0 8c 2c d8 93 14 a5 - 79 58 90 51 ff ff ff ff ........ yX.Q....<br /> 00000130: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........<br /> 00000140: 00 01 00 00 00 00 00 00 - 33 b2 94 a4 6b e1 49 74 ........ 3...k.It<br /> 00000150: cc 5f ee 48 19 ae 3c 76 - cd d2 7d db ff ff ff ff ...H...v ........<br /> 00000160: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........<br /> 00000170: 00 01 00 00 00 00 00 00 - 33 b2 94 a4 6b e1 49 74 ........ 3...k.It<br /> 00000180: cc 5f ee 48 19 ae 3c 76 - cd d2 7d db ff ff ff ff ...H...v ........<br /> 00000190: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........<br /> 000001a0: de ad be af fa ce ba be - 00 00 00 00 00 00 00 00 ........ ........<br /> 000001b0: 19 38 98 8f 93 c3 2f a9 - c6 51 23 cf 12 ca 69 36 .8...... .Q....i6<br /> 000001c0: 3e 59 7e 41 1f 56 d4 03 - f4 c3 d2 6b 5d 51 e4 f4 .Y.A.V.. ...k.Q..<br /> 000001d0: 00 01 00 00 06 01 00 00 - 00 00 00 00 00 00 00 00 ........ ........<br /> 000001e0: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ........ ........<br /> 000001f0: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000200: 00 03 00 10 00 00 00 00 - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000210: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000220: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000230: de ad be af fa ce ba be - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000240: 5f fb 4e 0b a7 ff 63 f4 - f7 0a 22 d4 1b 3d f4 7d ..N...c. ........<br /> 00000250: 24 32 71 b1 f9 84 b0 cd - d7 42 7e ff 0c 77 c7 06 .2q..... .B...w..<br /> 00000260: de ad be af fa ce ba be - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000270: b9 f1 da 9f 01 a0 ba a3 - 3f ce ee 46 41 f6 40 f4 ........ ...FA...<br /> 00000280: 79 10 f6 1c c8 3e f3 55 - 8d 2c d0 4d 7e fa 27 81 y......U ...M....<br /> 00000290: de ad be af fa ce ba be - 00 00 00 00 00 00 00 00 ........ ........<br /> 000002a0: a9 5a 92 ea 64 a6 64 c5 - a2 06 93 38 b0 39 45 ad .Z..d.d. ...8.9E.<br /> 000002b0: f3 ad 9d ff 90 17 88 26 - b1 d3 6a d6 20 a5 73 2d ........ ..j...s.<br /> 000002c0: de ad be af fa ce ba be - 00 00 00 00 00 00 00 00 ........ ........<br /> 000002d0: 31 d9 71 84 3d bc 44 b0 - 2c 7a 64 f3 c6 c2 8c d1 1.q...D. .zd.....<br /> 000002e0: 4d 70 8e f0 58 8f 96 2a - 82 90 ea d2 f4 1f e6 a9 Mp..X... ........<br /> 000002f0: de ad be af fa ce ba be - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000300: 40 0b 6d 1d fb 4f ce d2 - da 8c b2 e2 27 21 96 27 ..m..O.. ........<br /> 00000310: 76 51 cf c8 1e a3 ad ed - 7a 8d 9e 9e a7 82 c1 b3 vQ...... z.......<br /> 00000320: de ad be af fa ce ba be - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000330: d1 9b db da 69 32 00 5e - 09 2f d4 8e 22 09 97 03 ....i2.. ........<br /> 00000340: 01 ab 1b d6 0e 19 41 3c - 00 b6 2c 40 07 e4 ff 45 ......A. .......E<br /> 00000350: de ad be af fa ce ba be - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000360: 06 71 09 15 89 7e 7d fa - b9 38 1a e0 99 cb 02 33 .q...... .8.....3<br /> 00000370: 44 9b d6 40 90 af 01 b9 - 89 b4 c0 1d 25 af 4f 84 D....... ......O.<br /> 00000380: 81 91 1f e2 fc 59 b4 fb - 43 dd 31 0f 00 96 b6 4e .....Y.. C.1....N<br /> 00000390: 41 5e 91 78 d2 4f 5c 04 - 13 71 5d 09 2f 95 4f af A..x.O.. .q....O.<br /> 000003a0: 43 fe b6 1c 0b 6c 4d 1c - 13 0b a0 42 a9 47 2d bc C....lM. ...B.G..<br /> 000003b0: 54 f4 f5 80 b2 57 5b a2 - 34 3e 76 0b a0 3f a8 41 T....W.. 4.v....A<br /> 000003c0: c9 9f 96 8f 9b b1 f8 bc - 3b 5d 44 a0 6a 00 38 23 ........ ..D.j.8.<br /> 000003d0: a0 b8 53 24 f8 fd 34 5e - b9 64 f0 af 6e 28 4e 23 ..S...4. .d..n.N.<br /> 000003e0: 6b eb 86 db b2 72 80 ad - bc cd 9d d5 bc 42 9d d2 k....r.. .....B..<br /> 000003f0: af 77 6c ab 06 08 d8 c9 - 91 2f f3 8d 45 fd df 39 .wl..... ....E..9<br /> &lt;/pre&gt;<br /> <br /> &lt;br&gt;<br /> <br /> RETAIL BGA:<br /> <br /> &lt;pre&gt;<br /> <br /> 00000000: 00 00 00 02 c0 00 00 ff - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000010: 37 24 90 70 31 f5 64 48 - 12 7c a5 bc 37 6f 26 8d 7..p1.dH ....7o..<br /> 00000020: 31 80 62 8d 16 56 ba 7c - b0 6a c8 65 ad 36 c1 e1 1.b..V.. .j.e.6..<br /> 00000030: 54 61 e2 08 cd 58 a7 d9 - 3d 22 bd 1b d7 c8 f6 97 Ta...X.. ........<br /> 00000040: 5d be bc 55 4e ae 0c dc - 00 00 00 00 00 00 00 00 ...UN... ........<br /> 00000050: f3 1f f5 81 d2 58 e6 b4 - ac f0 7a b4 e7 be 75 61 .....X.. ..z...ua<br /> 00000060: de 13 f1 17 35 29 5a 09 - 11 a8 ae 25 c3 f4 2f 6a ....5.Z. .......j<br /> 00000070: 74 1d ed 93 a0 17 06 63 - 61 ef dd fb 98 9e 07 3e t......c a.......<br /> 00000080: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........<br /> 00000090: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........<br /> 000000a0: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........<br /> 000000b0: 00 03 00 55 00 00 00 00 - 66 1c 5d 52 ad 85 c0 22 ...U.... f..R....<br /> 000000c0: 12 3f 8c 38 1f f8 e0 34 - c8 76 f0 42 dd d9 ca 89 ...8...4 .v.B....<br /> 000000d0: 88 c9 db 93 8c 1a 4d 77 - 1f 98 23 a1 1e f7 d0 bd ......Mw ........<br /> 000000e0: 00 03 00 55 00 00 00 00 - 7b c9 65 97 cf 0d 20 4b ...U.... ..e....K<br /> 000000f0: bb 6a b1 b9 b0 71 83 27 - 79 6f 16 08 ff ff ff ff .j...q.. yo......<br /> 00000100: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........<br /> 00000110: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........<br /> 00000120: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........<br /> 00000130: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........<br /> 00000140: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........<br /> 00000150: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........<br /> 00000160: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........<br /> 00000170: 00 01 00 00 00 00 00 00 - b0 64 53 92 7f 5e 29 47 ........ .dS....G<br /> 00000180: 9c bc 84 58 4a f2 ed 0b - 50 e1 be f3 ff ff ff ff ...XJ... P.......<br /> 00000190: ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff ........ ........<br /> 000001a0: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 000001b0: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 000001c0: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 000001d0: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 000001e0: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 000001f0: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 00000200: 00 03 00 10 00 00 00 00 - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000210: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000220: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ........ ........<br /> 00000230: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 00000240: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 00000250: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 00000260: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 00000270: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 00000280: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 00000290: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 000002a0: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 000002b0: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 000002c0: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 000002d0: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 000002e0: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 000002f0: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 00000300: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 00000310: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 00000320: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 00000330: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 00000340: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 00000350: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 00000360: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 00000370: de ad be af fa ce ba be - de ad be af fa ce ba be ........ ........<br /> 00000380: 23 78 00 8b 80 be 94 c3 - aa 63 7e 87 c8 dc 32 5b .x...... .c....2.<br /> 00000390: 65 30 16 c7 31 b5 54 d7 - 8c 42 88 08 1c 52 6a 90 e0..1.T. .B...Rj.<br /> 000003a0: f1 f3 41 44 66 11 4f 8a - 7f 63 81 16 e0 f6 fa 94 ..ADf.O. .c......<br /> 000003b0: 0a 2f 92 e5 c3 43 49 90 - 90 4d b8 c1 81 e4 dc 31 .....CI. .M.....1<br /> 000003c0: 1a 37 3a c8 a0 f8 7f 5d - 90 f1 74 6f 3d f9 c5 e4 .7...... ..to....<br /> 000003d0: 5f 44 e7 67 81 22 2a 7d - 72 97 c5 ed 99 76 92 ee .D.g.... r....v..<br /> 000003e0: 52 24 8e 52 05 cb 4c 72 - 8c 5d 3d 4c f0 a2 38 00 R..R..Lr ...L..8.<br /> 000003f0: 17 40 27 9f 99 f0 3c ea - 26 7c f0 df d0 da 72 23 ........ ......r.<br /> &lt;/pre&gt;<br /> <br /> == More samples ==<br /> <br /> * https://dl.dropboxusercontent.com/u/35197530/bin/eeprom.bin<br /> <br /> =Tokens=<br /> <br /> Here we will document the different types off tokens known in the PS3<br /> All tokens are tied? encrypted? using EID0.<br /> They enable additional repository nodes.<br /> <br /> ==List==<br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Token !! Location !! Size !! SPU module !!Description<br /> |-<br /> | qa_token || sc_eeprom - 0x48D3E || 0x50 || spu_token_processor.self || <br /> |-<br /> | user_token || ? || ? || spu_utoken_processor.self || Encrypted/Signed<br /> |-<br /> | token_seed || ? || ? || ? || This is used to create the token with EID0<br /> |}<br /> <br /> ==Token Seed==<br /> <br /> Unencrypted form of QA-token<br /> <br /> ==Structure==<br /> <br /> This section has to be corrected, is only based on debug strings, we need to decrypt the tokens<br /> <br /> ===Token Seed===<br /> <br /> ?<br /> <br /> ===QA Token===<br /> <br /> <br /> <br /> ===User Token===<br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Address !! Size !! Description<br /> |-<br /> | ? || ? || m_magic<br /> |-<br /> | ? || ? || m_format_version<br /> |-<br /> | ? || ? || m_size<br /> |-<br /> | ? || ? || m_capability<br /> |-<br /> | ? || ? || m_expire_date<br /> |-<br /> | ? || ? || m_idps?<br /> |-<br /> | ? || ? || m_attribute<br /> |-<br /> | ? || ? || m_digest<br /> |}<br /> <br /> For every atribute in the token<br /> <br /> {| class=&quot;wikitable FCK__ShowTableBorders&quot;<br /> |-<br /> ! Address !! Size !! Description<br /> |-<br /> | ? || ? || attr:m_type<br /> |-<br /> | ? || ? || attr:m_size<br /> |-<br /> | ? || ? || attr:m_data<br /> |}<br /> <br /> = Dumping SC EEPROM - hardware way =<br /> <br /> {| border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; border=&quot;#999&quot; class=&quot;wikitable&quot; style=&quot;border:1px solid #999; border-collapse: collapse;&quot; <br /> |-<br /> ! style=&quot;background-color:red;&quot; | &lt;span style=&quot;background-color:lightred; color:white; font-size:200%; &quot;&gt;Warning&lt;/span&gt;<br /> |-<br /> | style=&quot;background-color:white;&quot; | &lt;span style=&quot;white; color:red; font-size:150%; text-align:center; &quot;&gt;You can use this method at your own risk. Author is not responsible for any hardware damages and failures. <br /> |}<br /> == Bus Pirate 3 Solderless method ==<br /> <br /> === You need ===<br /> 1) PS3 motherboard with BGA syscon chip (COK001, COK002, SEM001, DIA001, etc)<br /> <br /> 2) Bus Pirate v3.6 with connectors.<br /> <br /> 3) Wires (I used AWG32 150mm with tinned ends, see below)<br /> <br /> 4) PC with OS Windows7 (Should work on other windows systems, but not tested).<br /> <br /> 5) A sharp pencil.<br /> <br /> 6) Fingers ;)<br /> <br /> === Hardware Part ===<br /> <br /> Find the syscon on your PS3 motherboard.<br /> [[File:CXR713120 on SEM-001.JPG|thumbnail|none]]<br /> <br /> Look at the EEPROM Pins location and Draw serifs on the upper surface of the chip, strictly on these pins using pencil.<br /> [[File:CXR713120_EEPROM_PINS.JPG||thumbnail|none]]<br /> <br /> Draw the Pinout for convenience.<br /> [[File:CXR713120 EEPROM PINOUT.JPG|thumbnail|none]]<br /> <br /> Connect Bus-Pirate and AWG32 wires using probe Kit<br /> [[File:Bus-Pirate-3 with Wires.jpg|thumbnail|none]]<br /> <br /> Connect Bus-Pirate to the EEPROM Pins using the folowing table:<br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Bus Pirate pin !! EEPROM pin<br /> |-<br /> | CLK || SKB<br /> |-<br /> | CS || CSB<br /> |-<br /> | MOSI || DI<br /> |-<br /> | MISO || DO<br /> |-<br /> | 3V3 || RBB<br /> |-<br /> | GND || Any Ground Point<br /> |}<br /> Use 1 finger to hold the wires. The wires should be well connected with the eeprom pins.<br /> [[File:CXR713120 EEPROM FingerTrick.JPG|thumbnail|none]]<br /> Connect Bus-Pirate to you PC with Windows7 by USB.<br /> <br /> === Software Part ===<br /> <br /> Big thanks to '''Dasanko''' for the hard work and for the Syscon Flasher GUI Tool!!!<br /> <br /> Download and Install the driver for Bus-Pirate.<br /> <br /> Download link: http://www.ftdichip.com/Drivers/CDM/CDM%20v2.12.00%20WHQL%20Certified.exe<br /> <br /> Open the Device Manager and find the port number of your USB Serial Port.<br /> [[File:USB Serial Port.jpg|thumbnail|none]]<br /> <br /> Download and Run Syscon Flasher.exe<br /> <br /> Download link: https://www.sendspace.com/file/7jq6ka<br /> <br /> MD5=D59A8AA9E7BB1AEB753D7C6391CE17B1<br /> <br /> [[File:Syscon Flasher GUI.jpg|thumbnail|none]]<br /> <br /> There are 6 simple steps to obtain the dump.<br /> <br /> 1) Select the correct USB Serial Port for Bus-Pirate.<br /> <br /> 2) Press &quot;Send settings to device&quot; button. If done correctly, then &quot;Mode&quot; Led on the Bus Pirate will be Green.<br /> <br /> 3) Press &quot;Power on&quot; button. If done correctly, then &quot;VREG&quot; Led on the Bus Pirate will be Red.<br /> <br /> 4) Press &quot;Browse&quot; button and specify location and file name for your syscon eeprom dump.<br /> <br /> 5) Specify Offset and Length. Offset=0 Length=0x8000 for full dump the eeprom.<br /> <br /> 6) Press &quot;Fast Read&quot; button and wait about 15sec.<br /> <br /> Enjoy:<br /> <br /> My dump, for example:<br /> <br /> https://mega.co.nz/#!E1kHgSZJ!4e7TdNLdkQQzinwlnRO2KmaBd0GeBliHuHFe2tkmBgQ<br /> <br /> == Bus Pirate 3 method by: ([[User_talk:Zer0Tolerance|Zer0Tolerance]]) ==<br /> <br /> === You need ===<br /> 1) PS3 motherboard. I am using '''DIA-001'''. may be we can dump it from another boards, but it is unknown yet.<br /> <br /> 2) Device that can work with SPI interface and send any commands. I am using a Bus Pirate v3.6 with connectors.<br /> <br /> 3) Soldering station.<br /> <br /> 4) Wires (see below).<br /> <br /> 5) Personal conputer with installed HxD, Putty (or other terminal supporting serial port connections, e.g.:Tera Term) , Notepad++<br /> <br /> 6) /dev/Hands ;)<br /> <br /> === Preparation ===<br /> <br /> Find the test points on the motherboard using this picture. (for DIA-001 Users)<br /> [[File:DIA-001 SysCon EPROM Interface.png|thumbnail|none]]<br /> <br /> or this one, if you own a DECR-1400<br /> <br /> [[File:DEB-001 SC EEPROM.png|thumbnail|none]]<br /> <br /> All points are covered with varnish. You need to carefully remove the varnish to the copper and solder the wires to it.<br /> <br /> Attach a Bus Pirate to the wires using the following table:<br /> <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Bus Pirate pin !! Test Point<br /> |-<br /> | CLK || SKB<br /> |-<br /> | CS || CSB<br /> |-<br /> | MOSI || DI<br /> |-<br /> | MISO || DO<br /> |-<br /> | 3V3 || WCB, RBB<br /> |-<br /> | GND || Any Ground Point<br /> |}<br /> <br /> Make sure that the battery is attached to the motherboard.<br /> <br /> Plug your Bus pirate to the USB port on your PC using mini_USB_to_USB cable. (I am using the cable from the ps3 gamepad)<br /> <br /> It should be done like this, see the following picture:<br /> <br /> [[File:Dumping SC EEPROM using Bus Pirate v3.6.JPG|thumbnail|none]]<br /> <br /> === Setup software ===<br /> <br /> 1) Install the driver for the Bus Pirate and setup your virtual COM port for it using following table:<br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Parameter !! Value<br /> |-<br /> | Bits per second || 115200<br /> |-<br /> | Data bits || 8<br /> |-<br /> | Parity || None<br /> |-<br /> | Stop bits || 1<br /> |-<br /> | Flow control || None<br /> |}<br /> <br /> Open Putty and set it up:<br /> <br /> session params:<br /> <br /> connection type: Serial<br /> <br /> Serial line: COM3 (choose your virtual COM port)<br /> <br /> Speed (baud rate): 115200<br /> <br /> Logging params:<br /> <br /> Session logging: All session output<br /> <br /> Log file name: click Browse button and specify your logfile, for example: C:\PS3\Logs\logfile.log<br /> <br /> Now click Open button and setup mode for bus pirate using following commands:<br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Command !! Description<br /> |-<br /> | m || (mode)<br /> |-<br /> | 5 || (SPI)<br /> |-<br /> | 4 || (Set speed: 1MHz)<br /> |-<br /> | 2 || (Clock polarity: Idle high)<br /> |-<br /> | 1 || (Output clock edge: Idle to active<br /> |-<br /> | 1 || (Input sample phase: Middle *default)<br /> |-<br /> | 2 || (CS: /CS)<br /> |-<br /> | 2 || (Select output type: Normal (H=3.3V, L=GND))<br /> |}<br /> <br /> Enable 3.3V: Just type: W (big leter) and press Enter.<br /> <br /> === Obtain the dump ===<br /> <br /> Type: [0xa8 0x00 0x00 r:32768] and press Enter.<br /> <br /> Wait until dumping process will be completed and close Putty.<br /> <br /> Thats all. The dump must be into your logfile.log<br /> <br /> You can use Notepad++ and Hex Editor like HxD to convert the dump to binary format.<br /> <br /> &lt;small&gt;Read Command is 0xA8 0xXX 0xXX, XX XX is a block id to be read, the full EEPROM is 32768 bytes lenght (0x8000), [r:] are syntax command of the Bus Pirate for start, read byte and end&lt;/small&gt;<br /> <br /> == Arduino Mega method by: ([[User_talk:Abkarino|Abkarino]]) == <br /> <br /> I had build my own Syscon EEPROM flasher based on open source hardware &quot;'''Arduino Mega'''&quot; and some resistors.<br /> This flasher will allow you fully read/write to your Syscon EEPROM (FAT consoles only till now).<br /> <br /> === You need ===<br /> 1) PS3 motherboard. I had used '''SEM-0001''' board by desoldering Syscon chip form it but you can use, '''DIA-001''' for example without desoldering Syscon chip since all eeprom pins had a test points in the board it self.<br /> <br /> 2) Arduino Mega or any Arduino board.<br /> <br /> 3) 6 x 3.6 KOHM resistors + 6 x 1.8 KOHM resistors (work together as a voltage dividers since Arduino IO logic is 5.0v and Syscon EEPROM IO Logic is 3.3v).<br /> <br /> 4) Soldering station.<br /> <br /> 5) Wires &amp; Bread board (Optional).<br /> <br /> 6) Any PC that have terminal software like Putty, RealTerm and so on to access serial port, and any Hex Editor like HxD.<br /> <br /> === Preparation ===<br /> <br /> Find the test points on the motherboard using this picture.<br /> [[File:DIA-001 SysCon EPROM Interface.png|thumbnail|none]]<br /> Or if you have a very good soldering skills and tools to desolder your SysCon then you can desolder your SysCon and solder your wires to it directly. <br /> <br /> All points are covered with varnish. You need to carefully remove the varnish to the copper and solder the wires to it.<br /> <br /> Attach a Arduino Mega to the wires using the following table:<br /> <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! Arduino Mega pin !! Test Point !! Syscon Pin<br /> |-<br /> | SCL (52) || SKB || E16<br /> |-<br /> | SS (53) || CSB || F16<br /> |-<br /> | MOSI (51) || DI || G16<br /> |-<br /> | MISO (50) || DO || H16<br /> |-<br /> | WP (48) || WCB || J15<br /> |-<br /> | RB (49) || RBB || J16<br /> |-<br /> | VCC (3.3v) || Not needed if you used battery power || G11<br /> |-<br /> | GND || Any Ground Point || C15<br /> |}<br /> <br /> *Make sure that the battery is attached to the motherboard if you will dump/flash SysCon EEPROM in board.<br /> <br /> *Make sure the pins are compatible or edited if using other arduino Board.<br /> <br /> **Arduino Mega: MISO is 50, MOSI is 51, SCK is 52 and SS is usually 53<br /> **Arduino Leonardo: the SPI pins are on the ICSP header pins.<br /> **Arduino Duemilanove/Uno: SS is digital 10, MOSI is 11, MISO is 12, SCK is (usually) 13<br /> <br /> === Wiring Diagram &amp; Photos ===<br /> <br /> [[File:PS3 SysCon EEPROM Flasher.jpg|thumbnail|none|PS3 SysCon EEPROM Flasher]]<br /> [[File:Fat SysCon Desoldered And Attached To Arduino.jpg|thumbnail|none|Fat SysCon Desoldered And Attached To Arduino]]<br /> [[File:SysCon EEPROM Dumping Process.jpg|thumbnail|none|SysCon EEPROM Dumping Process]]<br /> <br /> === Arduino Sketch Source Code ===<br /> Here is my Arduino Mega sketch source code to allow you to read/write/erase PS3 Syscon EEPROM.<br /> http://pastie.org/10004682#8,19<br /> <br /> <br /> <br /> {{Reverse engineering}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=Program_Type&diff=53886 Program Type 2019-06-26T18:00:01Z <p>Mysis: </p> <hr /> <div>Located in PS3 SELF header, at offset 0x7C.<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> ! Value !! Type !! Remarks<br /> |-<br /> | 1 || LV0 / level 0 || load by lv0ldr, auth by lv0ldr<br /> |-<br /> | 2 || LV1 / level 1 || load by lv0, auth by lv1ldr<br /> |-<br /> | 3 || LV2 / level 2 || load by lv1, auth by lv2ldr<br /> |-<br /> | 4 || APP / Application || load by lv1, auth by appldr<br /> |-<br /> | 5 || ISO / Isolated SPU Module || load by lv1, auth by isoldr<br /> |-<br /> | 6 || LDR / Secure Loader || load by lv0(for lv1ldr)/lv1(for appldr,isoldr,lv2ldr), auth by metldr<br /> |-<br /> | 7 || kernel-prx/ Format looks like a regular Application || load by lv1, auth by appldr<br /> |-<br /> | 8 || NPDRM / NPDRM Application || load by lv1, auth by appldr<br /> |}<br /> <br /> <br /> {{File Formats}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=PSP_Emulator_Compatibility_List&diff=53519 PSP Emulator Compatibility List 2019-05-18T11:32:04Z <p>Mysis: Patapon fix testcase for Danganronpa</p> <hr /> <div><br /> {| border=&quot;0&quot; style=&quot;border:1px solid #aaaaaa;background-color:#f2f2f2;padding:5px;&quot; align=center<br /> | '''Jump to letter:''' [[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]]<br /> |} __NOTOC__<br /> <br /> <br /> <br /> == # ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | 007 From Russia with Love || {{?}} || {{unplayable}} || Remaster. Stage title demo is very slow and the &quot;Original Games&quot; does not work.<br /> |-<br /> | 3,2,1 Supercrash Mini || NPUZ00189 || {{playable}} || <br /> |-<br /> | 300 - March to Glory || {{?}} || {{playable}} || Works as a Remaster. Mini not tested.<br /> |-<br /> | 4x4 Jam Mini || NPUZ00104 || {{playable}} || <br /> |-<br /> | 5-in-1 Arcade Hits || NPEZ00174 || {{playable}} || <br /> |-<br /> | 5-In-1 Solitaire || NPUZ00086 || {{playable}} || <br /> |-<br /> | 7 Wonders of the Ancient World || {{?}} || {{playable}} || <br /> |-<br /> | 7th Dragon 2020 || NPJH50459 || {{unplayable}} || Black screen as a Remaster &amp; mini.<br /> |-<br /> | 7th Dragon 2020-Ⅱ || NPJH50716 || {{unplayable}} || Black screen as a Remaster &amp; mini.<br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> == A ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | A Space Shooter for 2 Bucks Mini || NPUZ00190 || {{playable}} || Black Screen / Freeze.<br /> |-<br /> | Ace Armstrong vs Alien Scumbags Mini || NPEZ00218 || {{playable}} || Black Screen / Freeze.<br /> |-<br /> | Ace Combat X: Skies of Deception || ULUS10176 || {{minorissues}} || Subtitles are too fast during cutscenes, everything else is fine.<br /> |-<br /> | Ace Combat: Joint Assault || {{?}} || {{unplayable}} || Randomly Hangs During Some Missions.<br /> |-<br /> | Activision Hits Remixed || ULES00640 || {{minorissues}} || Missing graphics in game selection menu. Games play fine.<br /> |-<br /> | Aedis Eclipse Generations of Chaos || {{?}} || {{playable}} || Using default minis2 settings<br /> |-<br /> | After Burner: Black Falcon || ULUS10244 || {{playable}} || <br /> |-<br /> | Age Of Hammer Wars || NPUZ00178 || {{playable}} || <br /> |-<br /> | Age Of Zombies Mini || NPEZ00044 || {{playable}} || <br /> |-<br /> | Air Conflicts: Aces of World War 2 || ULUS10404 || {{playable}} || Remaster, no issues PS3 Minis 2.1.2 <br /> |-<br /> | Airu to Puzzle || {{?}} || {{playable}} || <br /> |-<br /> | Akiba's Trip || {{?}} || {{playable}} || <br /> |-<br /> | Akiba's Trip Plus || NPJH50563 || {{unplayable}} || Black Screen as a Remaster &amp; mini.<br /> |-<br /> | Akumajou Dracula X Chronicle || ULJM05287 || {{minorissues}} || <br /> |-<br /> | Alien Havoc Mini || NPUZ00008 || {{unplayable}} || <br /> |-<br /> | Alien Syndrome || {{?}} || {{playable}} || Works as a Remaster<br /> |-<br /> | Alien Zombie Death Mini || NPEZ00115 || {{playable}} || <br /> |-<br /> | Aliens vs Predator Requiem || ULUS10327 || {{minorissues}} || Works as a Remaster. There are reports of issues with vision mode.<br /> |-<br /> | Amnesia || ULJM05931 || {{playable}} || Works as a Remaster.<br /> |-<br /> | Amnesia Later || ULJM06044 || {{minorissues}} || Crispy sound as minis (eboot needs resign).<br /> |-<br /> | Angry Birds Mini || NPEZ00232 || {{playable}} || <br /> |-<br /> | Another Century's Episode Portable || {{?}} || {{unplayable}} || Black screen as Remaster. <br /> |- <br /> | Another Century's Episode Portable || ULJS00322 || {{playable}} || No problems as Remaster. Make your own EBOOT.PBP, Re-sign EBOOT.BIN &amp; 0-out ALLDATA.EBN (unneed install data)<br /> |- <br /> | Apache Overkill Mini || NPUZ00098 || {{unplayable}} || Black Screen / Freeze.<br /> |-<br /> | Ape Academy 2 || {{?}} || {{unplayable}} || Remaster and minis: black screen and freeze.<br /> |-<br /> | Ape Escape Academy || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Ape Escape P || ULUS00045 || {{playable}} || Works as Remaster, minis2 settings:<br /> ADDITIONAL_KEY_ASSIGN = 0000000047C6C544 remap camera to right analog stick<br /> |-<br /> | Ape Escape On the Loose || {{?}} || {{unplayable}} || starts and comes to a &quot;Loading...&quot; screen.. and freezes there.<br /> |-<br /> | Aqua Panik || {{?}} || {{playable}} || Works as Remaster and as mini. Remaster works better.<br /> |-<br /> | Aquattack || NPUZ00182 || {{unplayable}} || None<br /> |-<br /> | Arcade Air Hockey &amp; Bowling || NPUZ00103 || {{majorissues}} || Some do work / some do not (conversion issues with eboot.pbp).<br /> |-<br /> | Arcade Essentials Evolution || NPUZ00258 || {{playable}} || None<br /> |-<br /> | Arcade Pool || NPUZ00281 || {{playable}} || Works as a Remaster.<br /> |-<br /> | Archer Maclean's Mercury || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Archibalds Adventures || NPUZ00115 || {{majorissues}} || Some do work / some do not (Black Screen / Freeze).<br /> |-<br /> | Arctic Adventures: Polar's Puzzles || NPUZ00114 || {{playable}} || <br /> |-<br /> | Armored Core: Formula Front Extreme Battle || ULUS10034 || {{playable}} || No issues<br /> |-<br /> | Armored Core: Last Raven Portable || {{?}} || {{playable}} || Remaster method.<br /> |-<br /> | Army of Two - The 40th Day || ULUS10472 || {{majorissues}} || Crashes after starting new game on loading screen.<br /> |-<br /> | Asphalt || {{?}} || {{playable}} || Remaster method.<br /> |-<br /> | Assassins Creed Bloodlines (US &amp; EU] || {{?}} || {{majorissues}} || Starts and comes to a &quot;Loading...&quot; screen and freezes. Worked further as Remaster, but Desmond glitches and game has major framerate slowdowns.<br /> |-<br /> | Asterix &amp; Obelix XXL 2 || {{?}} || {{playable}} || Works as a Remaster, with resign boot.bin, not eboot.bin resign.<br /> |-<br /> | Astonishia Story || ULUS10083 || {{playable}} || <br /> |-<br /> | Astroboy || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | ATV Offroad Fury Blazin' Trails || UCUS98603 || {{unplayable}} || Black Screen After Minis Logo: No freeze.<br /> |-<br /> | ATV Offroad Fury Pro || UCUS98648 || {{majorissues}} || Works but missing textures.<br /> |-<br /> | Audition Portable || {{?}} || {{playable}} || <br /> |-<br /> | Auditorium Mini || NPUH10069 || {{unplayable}} || Black Screen / Freeze.<br /> |-<br /> | Avatar: The Last Airbender || ULUS10165 || {{playable}} || <br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> == B ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | B-Boy || {{?}} || {{minorissues}} || Works as a Remaster. Menus have flicker but ingame is fine.<br /> |-<br /> | Bakugan - Defenders of the Core || ULUS10536 || {{playable}} || <br /> |-<br /> | Batman Arkham Asylum The Road to Arkham Digital Comic || {{?}} || {{playable}} || <br /> |-<br /> | Battle Poker Mini || NPUZ00020 || {{playable}} || <br /> |-<br /> | Battle Robot Damashii || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | BattleZone || ULUS10156 || {{playable}} || <br /> |-<br /> | Beam 'em up Mini || NPEZ00081 || {{unplayable}} || Black Screen / Freeze.<br /> |-<br /> | Beaterator || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Beats || NPEG00001 || {{playable}} || <br /> |-<br /> | Bee Wars || NPEZ00034 || {{playable}} || None<br /> |-<br /> | Ben 10 Alien Force - Vilgax Attacks || ULES01358 || {{unplayable}} || Save Game problem; run as Remaster.<br /> |-<br /> | Ben 10 Alien Force || ULES01189 || {{playable}} || Works as Remaster<br /> |-<br /> | Ben 10 Protector of Earth || ULES00906 || {{majorissues}} || Works as a Remaster, very slow.<br /> |-<br /> | Ben 10 Ultimate - Alien Cosmic Destruction || ULES01471 || {{unplayable}} || Save Game problem, freezing as Remaster.<br /> |-<br /> | Beowulf || ULES00992 || {{unplayable}} || Freeze as mini or Remaster.<br /> |-<br /> | Best Of Solitaire Mini || NPEZ00188 || {{unplayable}} || Freezes after choosing &quot;New Game&quot; in the main menu, haven't tried loading a PSP save to see if it works. Freezes as remaster.<br /> |-<br /> | Beta Bloc || {{?}} || {{unplayable}} || Freeze after first logo.<br /> |-<br /> | Black Rock Shooter: The Game || {{?}} || {{unplayable}} || Freezes after choosing &quot;New Game&quot; in the main menu, haven't tried loading a PSP save to see if it works. Freezes as remaster.<br /> |-<br /> | Blade Dancer: Lineage of Light || ULUS10124 || {{playable}} || <br /> |-<br /> | Blast Off Mini || NPUZ00021 || {{playable}} || <br /> |-<br /> | Blazblue: Continuum Shift || {{?}} || {{unplayable}} || <br /> |-<br /> | Blazblue: Continuum Shift 2 || ULUS10579 || {{minorissues}} || Game runs faster than normal making combos hard to do.<br /> |-<br /> | Blazing Souls Accelate || {{?}} || {{playable}} || <br /> |-<br /> | Bleach: Heat the Soul || {{?}} || {{playable}} || <br /> |-<br /> | Bleach: Heat the Soul 2 || {{?}} || {{playable}} || <br /> |-<br /> | Bleach: Heat the Soul 6 || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | Bleach: Heat the Soul 7 || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Bleach: Soul Carnival 1 || NPJG00008 || {{playable}} || Minis2 settings:<br /> SAVEDATA_USE_PS3_SAVE = 1.<br /> |-<br /> | Bleach: Soul Carnival 2 || NPJG00070 || {{playable}} || <br /> |-<br /> | Bliss Island || {{?}} || {{unplayable}} || Freeze on load screen.<br /> |-<br /> | Blitz Overtime || ULUS10200 || {{playable}} || Works perfectly without using compression, game doesn't act right compressed.<br /> |-<br /> | Blokus Portable - Steambot Championship || ULUS10332 || {{playable}} || <br /> |-<br /> | Blood+ Final Piece || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | Bloons Mini || NPEZ00045 || {{playable}} || <br /> |-<br /> | Boku wa Tomodachi ga Sukunai (Haganai) Portable || ULJS00459 || {{playable}} || <br /> |-<br /> | Bomberman || ULES00469 || {{unplayable}} || <br /> |-<br /> | Bomberman Land || ULES00959 || {{playable}} || Works as Remaster.<br /> |-<br /> | Brainpipe Mini || NPUZ00009 || {{unplayable}} || Black Screen / Freeze.<br /> |-<br /> | Brave Story: New Traveler || ULUS10279 || {{playable}} || Remaster Minis2 settings:<br /> VOUT_RESOLUTION_MODE = 0<br /> DRAWN_IMAGE_SCALE = 4<br /> SAVEDATA_USE_PS3_SAVE = 1 fixs save problem<br /> VFPU_USE_FAST_VMMUL = 1 fixs little slowdowns<br /> |-<br /> | BreakQuest Mini || NPEZ00011 || {{unplayable}} || Black Screen / Freeze.<br /> |-<br /> | Breath of Fire III || ULES00193 || {{playable}} || Perfect as remaster. Minis2 settings:<br /> ADHOC.EMUPA_TITLE_ID = ULUS10567 <br /> AW.LINEAR_ADRS = 40<br /> AW.DISABLE_FB_TEX = 200<br /> |-<br /> | Breath of Fire III || ULJM05029 || {{unplayable}} || Nonstop blinking. Freezes at NOW LOADING screen.<br /> |-<br /> | Brothers in Arms D-Day || {{?}} || {{majorissues}} || Freezes at difficulty selection screen.<br /> |-<br /> | Bubble Bobble Evolution || {{?}} || {{minorissues}} || Works as a Remaster. A few minor graphical glitches but is totally playable.<br /> |-<br /> | Bubble Trubble Mini || NPUZ0007 || {{unplayable}} || Black Screen / Freeze.<br /> |-<br /> | Burnout Dominator || ULES00703 || {{majorissues}} || Some slowdown during loading. Freezes when loading profile with Minis and Remasters, runs when a new profile is created but default name must be used or game will freeze during name input. Autosave does not work but manual save does; loading a save freezes the game.<br /> |-<br /> | Burnout Legends || {{?}} || {{minorissues}} || Works as a Remaster. Few texture glitches but for the most part, plays fine. Cannot autosave but manual save works fine. Some tracks run slower than normal.<br /> |-<br /> | Buzz Brain_Bender || {{?}} || {{unplayable}} || Black screen after Minis logo.<br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> == C ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | Cabelas Dangerous Hunts || ULES00550 || {{unplayable}} || Black Screen as Remaster.<br /> |-<br /> | Call Of Duty Roads to Victory || {{?}} || {{unplayable}} || Black screen.<br /> |-<br /> | Capcom Classics Collection Reloaded || ULES00377 || {{unplayable}} || Black screen as Remaster.<br /> |-<br /> | Capcom Classics Collection Reloaded || ULUS10134 || {{unplayable}} || Black screen as either mini or remaster.<br /> |-<br /> | Capcom Classics Collection Remixed || ULES00347 || {{unplayable}} || Save Game problem as Remaster.<br /> |-<br /> | Capcom Puzzle World || ULES00647 || {{unplayable}} || Tested as as Remaster. Black Screen after Game Logo.<br /> |-<br /> | Carol Vorderman's Sudoku || ULES00647 || {{unplayable}} || Black screen as Remaster.<br /> |-<br /> | Cars || ULES00324 || {{unplayable}} || None.<br /> |-<br /> | Cars Race-o-Rama || {{?}} || {{unplayable}} || None.<br /> |-<br /> | Castlevania The Dracula X Chronicles || ULKS46155 || {{playable}} || Playable as Remasters. Slow in FMV SOTN does not load. You have to wait ~20 seconds at the beginning of each stage. The &quot;Original Games&quot; does not work (black screen).<br /> |-<br /> | Championship Manager || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Chili Con Carnage || ULES00629 || {{unplayable}} || Freezes as Remaster.<br /> |-<br /> | Cho Aniki Zero || NPUH10031 || {{unplayable}} || Black screen on load Remaster then reboots. <br /> |-<br /> | ClaDun x2 || NPUH10114 || {{playable}} || Works as a Remaster. Trying to take a screenshot freezes input.<br /> |-<br /> | ClaDun: This is an RPG! || NPUH10072 || {{playable}} || Works as a Remaster. Trying to take a screenshot freezes input.<br /> |-<br /> | Class of Heroes || {{?}} || {{playable}} || None<br /> |-<br /> | Class of Heroes 2 || {{?}} || {{playable}} || Worked as MINI. Must decrypt EBOOT.BIN and save a copy as BOOT.BIN, manually resign EBOOT.PBP, make replacement (zero-byte) OPNSSMP.BIN, and replace each of these three in the ISO in order to get it converted and running properly. As a Remaster, soft keyboard input (such as character naming) will only allow for numbers ( it is otherwise playable).<br /> |-<br /> | Code Lyoko Quest For Infinity || ULUS1035 || {{playable}} || None<br /> |-<br /> | Coded Arms || {{?}} || {{unplayable}} || Remaster method.<br /> |-<br /> | Colin McRae Dirt 2 || {{?}} || {{playable}} || Remaster method.<br /> |-<br /> | Colin McRae Rally 2005 || {{?}} || {{playable}} || Remaster method.<br /> |-<br /> | CONCEPTION &lt;br/&gt; &lt;small&gt;俺の子供を産んでくれ!&lt;/small&gt; || {{?}} || {{playable}} || Remaster; must decrypt EBOOT.BIN and save a copy as BOOT.BIN, manually resign EBOOT.PBP, make replacement (zero-byte) OPNSSMP.BIN, and replace each of these three in the ISO in order to get it converted and running properly.<br /> |-<br /> | Corpse Party || NPUH10117 || {{playable}} || Save fix = NO.<br /> |-<br /> | Corpse Party Book of Shadows || NPEH00143 || {{playable}} || Needs EBOOT.BIN resigned, else black screen after minis logo.<br /> |-<br /> | Corpse Party Book of Shadows || NPUH10187 || {{playable}} || Decrypt EBOOT.BIN and rename BOOT.BIN to EBOOT.BIN sign with SIGN_EBOOT and replace EBOOT.BIN and OPNSSMP.BIN (0kb) with WQSG_UMD_R31.exe.<br /> |-<br /> |rowspan=&quot;2&quot;|<br /> Crash of the Titans<br /> || ULES00915 || {{playable}} || Remastered is too slow. Runs flawlessly as minis. (Tested By CodedXtreme).<br /> |-<br /> || ULUS10304 || {{playable}} || Remastered is too slow. Runs flawlessly as minis. (Tested By CodedXtreme).<br /> |-<br /> | Crash: Mind Over Mutant || ULUS10377 || {{majorissues}} || Works as Mini without using compression. SAV temp Fix Applied: No. UI won't appear at all as well as loading screen, but the game is possibly completable from start to finish. (Play the PS2 version on PS3 for better compatibility and multiplayer feature). (Revised by CodedXtreme).<br /> |-<br /> | Crash Tag Team Racing || {{?}} || {{unplayable}} || Tested as a Remaster. Black Screen after game logo.<br /> |-<br /> | Crazy Taxi Fare Wars || ULUS10273 || {{playable}} || CT1.PRX need to be signed (for Crazy Taxi 2 you need to sign CT2.PRX) with SIGN_EBOOT and relinked to EBOOT.BIN so from this game you need to make 2 separate packages (one for CT1 and second for CT2). &lt;br/&gt; Tip: If you're converting only CT1 - files related to Crazy Taxi 2 can be dummied (and if you're converting CT2 files related to CT1 can be dummied too). &lt;br/&gt; Very little graphics glitches. Compression enabled.<br /> &lt;!-- HIDDEN: Is this duplicate of entry above? |- | Crazy Taxi: Fare Wars || {{unplayable}} || Black screen, forces hard reset. --&gt;<br /> |-<br /> | Criminal Girls || {{?}} || {{unplayable}} || Freezes after minis logo. Same with Remaster method.<br /> |-<br /> | Crimson Gem Saga || ULUS10400 || {{minorissues}} || Text missing on most menus including status and save loading, making the game difficult to play.<br /> |-<br /> |rowspan=&quot;6&quot;|<br /> Crisis Core: Final Fantasy VII<br /> || ULES01046 || {{playable}} || German release<br /> |-<br /> || ULUS10336 || {{playable}} || US release - Compression Used: No, SAV temp Fix Applied: No. Works as remaster or mini, save OK. Character shadows are grey (alpha bug).<br /> |-<br /> || ULES01045 || {{playable}} || French release<br /> |-<br /> || ULES01047 || {{playable}} || Italian release<br /> |-<br /> || ULJM05275 || {{playable}} || Japanese release<br /> |-<br /> || ULES01048 || {{playable}} || Spanish release<br /> |-<br /> <br /> | Crush || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | Crystal Defenders || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | Cube || ULUS10223 || {{playable}} || None<br /> |-<br /> | Cubixx Mini || NPEZ00101 || {{playable}} || <br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> == D ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | Danball Senki Boost || {{?}} || {{unplayable}} || Freezes as mini. Tried uncompressed and compressed. As remaster, stuck on loading screen.<br /> |-<br /> | Dangan Ronpa Kibou no Gakuen to Zetsubou no Koukousei || NPJH50372 || {{unplayable}} || Black screen.<br /> |-<br /> | Danganronpa 1 || NPJH50515 || {{majorissues}} || Game boots up as a remaster, but you can't interact with objects, which makes it impossible to continue past the starting point. Test:<br /> ALLEGREX_DELAY = 50<br /> |-<br /> | Danganronpa : Hope's Academy and Despair's Students (v2 English Translation) || NPJH50515 || {{majorissues}} || It's possible to get the game running with a resigned eboot as a remaster. However, it's impossible to interact with objects. Test:<br /> ALLEGREX_DELAY = 50<br /> |-<br /> | Darius Burst || ULJM05558 || {{unplayable}} || Stuck on &quot;loading&quot; screen.<br /> |-<br /> | Darkstalkers Chronicle: The Chaos Tower || ULES00016 || {{unplayable}} || Minis: Black screen after minis logo. &lt;br/&gt; Remasters: Only background is visible in battle, character/arena select screen only background is visible [default minis2.txt].<br /> |-<br /> | Dave Mirra BMX Challenge || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Daxter || UCUS98618 || {{majorissues}} || Work as Remaster. Tried few MINIS2 settings and floor is OK, but text near to NPCs doesn't show (&quot;??? text missing&quot;) and after talk with old guy (start of game) game freeze. <br /> |-<br /> | Dead Head Fred || {{?}} || {{playable}} || Zebula release is working flawless.<br /> |-<br /> | Dead or Alive Paradise || ULUS10521 || {{majorissues}} || Slow, graphics issues, and seems game scripts aren't working properly.<br /> |-<br /> | Dead to Rights Reckoning || {{?}} || {{unplayable}} || Black screen after player profile selection screen.<br /> |-<br /> | Death JR. 2 || {{?}} || {{unplayable}} || Tested as a Remaster. Goes through menus then black screen.<br /> |-<br /> | Def Jam FFNY: The Takeover || {{?}} || {{unplayable}} || Black screen, Tested as a Remaster.<br /> |-<br /> | Deflector Mini || NPEZ00127 || {{playable}} || None<br /> |-<br /> | Die Simpsons - Das spiel || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | Digi-Tiles Mini || NPUX80407 || {{playable}} || None <br /> |-<br /> | Digimon Adventure || {{?}} || {{playable}} || 1.74 now works, slow down.<br /> |-<br /> | Digimon Adventure (ENG Patched) || {{?}} || {{playable}} || Version 1.2 is a bit slow, but you can play perfectly.<br /> |-<br /> | Digimon World Re: Digitize (Eng Patched) || {{?}} || {{playable}} || Make your own EBOOT.PBP or you'll get the can't save error.<br /> |-<br /> | Diner Dash || ULES00755 || {{playable}} || Works as a Remaster. See notes for minis2.txt<br /> |-<br /> | Disgaea 2: Dark Hero Days || ULUS10461 || {{playable}} || Works without a hitch even using compression.<br /> |-<br /> | Disgaea Infinite || ULUS10522 || {{playable}} || Compression Used: No, SAV temp Fix Applied: No.<br /> |-<br /> | Disgaea: Afternoon of Darkness || ULUS10308 || {{playable}} || Remasters work fine. Minis works fine. Occasionally save data will display incorrect information (usually, Chapter 1. Playtime 0hrs) but will still save/load correctly. (Make your own EBOOT.PBP, or you'll get only a &quot;Now Loading&quot; screen)<br /> |-<br /> | Dissidia: Final Fantasy || ULUS10437 || {{playable}} || Game goes to white after completion of story branch. You must quit and restart, but does not affect gameplay. Also, very minor graphical glitches.<br /> |-<br /> | Dissidia: Final Fantasy Universal Tuning || {{?}} || {{minorissues}} || Works using minis mode, but has some minor graphical glitches.<br /> |-<br /> <br /> |rowspan=&quot;2&quot;|<br /> Dissidia 012 Duodecim Final Fantasy<br /> || ULUS10566 || {{unplayable}} || Tested: Freezes in either Remaster or Mini <br /> |-<br /> || ULES01505 || {{unplayable}} || Black screen after Minis screen, when converted to Remaster, save works but stuck after loading.<br /> |-<br /> <br /> | Dissidia 012 Prologus Final Fantasy || NPEH00108 || {{majorissues}} || Black screen as Remaster. Works fine until after setting up your profile and the first video clip starts up, then it black screens.<br /> |-<br /> | DJ MAX PORTABLE || ULKS46050 || {{playable}} || <br /> |-<br /> | DJ MAX PORTABLE 2 || {{?}} || {{minorissues}} || Works, but playing near dead graphical glitches and black screen.<br /> |-<br /> | DJ MAX PORTABLE 3 || {{?}} || {{playable}} || <br /> |-<br /> | DJ MAX PORTABLE BLACK SQUARE || ULKS46189 || {{playable}} || Save &amp; Load working. Includes English language.<br /> |-<br /> | DJ MAX PORTABLE CLAZZIQUAI EDITION || {{?}} || {{playable}} || Save &amp; Load working. Includes English language.<br /> |-<br /> | Donkey Xote || ULES00836 || {{playable}} || Freeze after first level as mini. Remaster works fine.<br /> |-<br /> | Doodle Fit || NPEZ00391 || {{playable}} || <br /> |-<br /> | Dr Maybee and the Adventures of Scarygirl || NPEZ00237 || {{playable}} || <br /> |-<br /> | Dracula: Undead Awakening Mini || NPEZ00124 || {{playable}} || <br /> |-<br /> <br /> |rowspan=&quot;2&quot;|<br /> Dragon Ball Z Shin Budokai<br /> || ULES00309 || {{majorissues}} || None<br /> |-<br /> || ULUS10081 || {{unplayable}} || Freezes at character selection.<br /> |-<br /> <br /> | Dragon Ball Z Shin Budokai Another Road || ULUS10234 || {{majorissues}} || Remaster with graphics glitches.<br /> |-<br /> | Dragon Ball Z Tenkaichi Tag Team || {{?}} || {{unplayable}} || Black screen, forces hard reset.<br /> |-<br /> | Dragon Ball Z Tenkaichi Tag Team || ULUS10537 || {{unplayable}} || Freezes.<br /> |-<br /> | Dragon's Lair || {{?}} || {{playable}} || <br /> |-<br /> | Dragoneer's Aria || ULUS10291 || {{playable}} || Works as Mini. Compression Used: No, SAV temp Fix Applied: No.<br /> |-<br /> | Driver 76 || {{?}} || {{unplayable}} || Music works, but black screen.<br /> |-<br /> | Dungeon Siege: Throne of Agony || ULUS10177 || {{unplayable}} || Remasters/Minis: Freezes on startup, soft resets [Default minis2.txt].<br /> |-<br /> | Dungeon Travelers 2 || NPJH50744 || {{unplayable}} || Black screen.<br /> |-<br /> | Dungeons &amp; Dragons: Tactics || ULUS10232 || {{playable}} || Works as a Remaster.<br /> |-<br /> | Durarara!! 3-way Standoff || ULJS00318 || {{playable}} || Tested as remaster with resigned eboot.<br /> |-<br /> | Dynasty Warriors || {{?}} || {{unplayable}} || Freezes as minis and Remaster.<br /> |-<br /> | Dynasty Warriors Vol. 2 || {{?}} || {{unplayable}} || Freezes as minis and Remaster.<br /> |-<br /> | DynoGems Mini || NPEZ00117 || {{playable}} || <br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · &lt;span style=&quot;color:#FF0000&quot;&gt;D&lt;/span&gt; · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> == E ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | Earth Defense Forces 2 Portable || ULJS00374 || {{playable}} || Tested eboot resigned and as Remaster.<br /> |-<br /> | Echochrome || {{?}} || {{unplayable}} ||<br /> |-<br /> | Echoes Mini || NPUZ00022 || {{playable}} || <br /> |-<br /> | Echoshift || {{?}} || {{playable}} || <br /> |-<br /> | Eragon || {{?}} || {{unplayable}} || Tested as a Remaster<br /> |-<br /> | Evangelion Jo || {{?}} || {{minorissues}} || Resign eboot with seboot, pack as minis + minis2.edat settings:<br /> ADDITIONAL_KEY_ASSIGN = 0000000047C6C544 r-analog stick <br /> AW.LINEAR_ADRS = 40 blur fix <br /> AW.DISABLE_FB_TEX = 200 blur fix <br /> SAVEDATA_USE_PS3_SAVE = 1 save fix <br /> |-<br /> | Evangelion Shin Gekijouban 3nd Impact || {{?}} || {{unplayable}} || Kicks you back to XMB.<br /> |-<br /> | Every Extend Extra || ULES00468 || {{playable}} || <br /> |-<br /> | Everybody's Golf || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Everybody's Stress Buster &lt;br/&gt; &lt;small&gt;Everybody's Sukkiri&lt;/small&gt; || UCAS40290 || {{playable}} || Works as a Remaster.<br /> |-<br /> | Everyday Shooter || NPUG80224 || {{playable}} || <br /> |-<br /> | Exit || ULES00285 || {{playable}} || <br /> |-<br /> | Exit 2 || ULES00620 || {{majorissues}} || Won't work past level 4.<br /> |-<br /> | Exit 2 Kanagaeru Exit || ULJM05161 || {{playable}} || <br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · &lt;span style=&quot;color:#FF0000&quot;&gt;E&lt;/span&gt; · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> <br /> <br /> == F ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | F1 Grand Prix || UCES00004 || {{playable}} || <br /> |-<br /> | Fading Shadows || {{?}} || {{playable}} || Needs save fix.<br /> |-<br /> | Fairy Tail || {{?}} || {{majorissues}} || Slow in game.<br /> |-<br /> | Fairy Tail 2 || {{?}} || {{unplayable}} || Black screen.<br /> |-<br /> | Fairy Tail 3 || {{?}} || {{unplayable}} || Black screen.<br /> |-<br /> | Family Guy || ULES00601 || {{playable}} || Mini works, Remaster does not work.<br /> |-<br /> | Fat Princess - Fistful of Cake || {{?}} || {{playable}} || Works as Remaster and as mini.<br /> |-<br /> | Fate/Extra || {{?}} || {{majorissues}} || Needs EBOOT fix. Has major shadow issues, hardly playable.<br /> |-<br /> | Fate/Extra CCC || {{?}} || {{playable}} || Freezes.<br /> |-<br /> | Fate/Unlimited Codes || {{?}} || {{playable}} || <br /> |-<br /> | Field Commander || {{?}} || {{playable}} || Works as Remaster.<br /> |-<br /> | Field Runners Mini || NPUZ00014 || {{playable}} || <br /> |-<br /> | FIFA Manager 2012 || {{?}} || {{unplayable}} || Black Screen / Freezes.<br /> |-<br /> | FIFA '07 || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | FIFA '09 || {{?}} || {{unplayable}} || <br /> |-<br /> | FIFA Street 2 || {{?}} || {{unplayable}} || tested as a Remaster.<br /> |-<br /> | Fight Night Round 3 || {{?}} || {{unplayable}} || <br /> |-<br /> | Final Armada || ULES00661 || {{playable}} || Menus flicker, otherwise fine.<br /> |-<br /> | Final Fantasy || {{?}} || {{playable}} || Minor graphical issues.<br /> |-<br /> | Final Fantasy I - 20th Anniversary Edition || ULUS10251 || {{minorissues}} || Work with remaster and mini, minor issues, save OK.<br /> |-<br /> | Final Fantasy II - 20th Anniversary Edition || ULUS10263 || {{minorissues}} || Work as a Remaster and mini, save OK. Minor graphical issues.<br /> |-<br /> | Final Fantasy III || NPJH50626 || {{playable}} || Works as a Remaster.<br /> |-<br /> | Final Fantasy III &lt;br/&gt; [English Patched ISO] || NPUH10125 || {{playable}} || Remaster, needs resigned eboot.<br /> |-<br /> | Final Fantasy III || NPUH10125 || {{playable}} || Work with remaster and mini, save OK.<br /> |-<br /> | Final Fantasy IV The Complete Collection || NPJH50414 || {{unplayable}} || Freezes on both discs. Default remaster didn't work.<br /> |-<br /> | Final Fantasy IV The Complete Collection || ULUS10560 || {{unplayable}} || Doesn't work with remaster or mini.<br /> |-<br /> | Final Fantasy Tactics: The War of the Lions || ULUS10297 || {{majorissues}} || Works with remaster or mini, action scenes too fast, can't save. Can't save even as Remaster. Gameplay fine.<br /> |-<br /> | Final Fantasy Tactics: The War of the Lions || ULES00850 || {{majorissues}} || (PS3minis 2.1.2 Remaster, &quot;add save_tmp fix&quot; enabled) This EU region has same issues as US (above entry). On gamesave screen, persistently says, &quot;Memory Stick Duo not found.&quot; <br /> |-<br /> | Final Fantasy Type-0 || NPJH50443 || {{minorissues}} || Resigned EBOOT. Shadow/lights issues.<br /> |-<br /> | Final Fantasy Type 0 v2 English Translation || NPJH50443 &lt;br/&gt; merged with &lt;br/&gt; NPJH50444 || {{playable}} || Works as iso in Remaster Launcher. Packages created as Remaster or Minis will work but certain movie files will be corrupted due to file size limitations, is possible to skip said movies. In theory this is fixable if certain assets are heavily down-sampled.<br /> |-<br /> | Final Fantasy Type-0 Jap || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Fired Up || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Fish Eyes Portable || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | FlatOut Head On || ULES00968 || {{playable}} || <br /> |-<br /> | Flying Hamster || NPEZ00151 || {{playable}} || <br /> |-<br /> | Ford Bold Moves Street Racing || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Formula 1 Grand Prix || {{?}} || {{unplayable}} || <br /> |-<br /> | Formula 1 2009 || {{?}} || {{playable}} || Remaster method. <br /> |-<br /> | Frantix || ULUS10039 || {{playable}} || <br /> |-<br /> | Free Running || ULES00704 || {{playable}} || <br /> |-<br /> | Freekscape - Escape From Hell || NPUZ00013 || {{minorissues}} || Some do work / Some do not (conversion issues with eboot.pbp).<br /> |-<br /> | Frogger Helmet Chaos || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Frontier Gate Boost Plus || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | FRONTIER GATE Boost+ || {{?}} || {{unplayable}} || Freezes, after creating character.<br /> |-<br /> | Full Metal Alchemist Brotherhood || {{?}} || {{playable}} || <br /> |-<br /> | Funky Punch Mini || NPEZ00004 || {{playable}} || <br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · &lt;span style=&quot;color:#FF0000&quot;&gt;F&lt;/span&gt; · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> <br /> <br /> == G ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | G-Force || ULUS10439 || {{playable}} || <br /> |-<br /> | Gachitora || NPJH50409 || {{minorissues}} || Errors about memory stick size.<br /> |-<br /> | Gangs of London || UCUS98617 || {{unplayable}} || <br /> |-<br /> | Generation of Chaos || {{?}} || {{playable}} || <br /> |-<br /> | Generation of Chaos: Pandora's Reflection || {{?}} || {{playable}} || Remaster method.<br /> |-<br /> | Genso Suikoden Tsumugareshi Hyakunen no Toki || NPJH50535 || {{unplayable}} || Freezes.<br /> |-<br /> | Ghost in the Shell || {{?}} || {{unplayable}} || Starts up fine &amp; you'll see logo, but freezes on a black screen.<br /> |-<br /> | Gitaroo Man Lives! || ULUS10207 || {{playable}} || Working/Saving correctly as iso in Remaster Launcher. If turned into a pkg using PSP2PS3 etc (even with save fix enabled) the game will freeze on attempting to save.<br /> |-<br /> | Gladiator Begins || ULUS10528 || {{playable}} || Works as a PSP Remaster, must create your own EBOOT.PBP or game will freeze console at black screen requiring reboot.<br /> |-<br /> | God of War: Chains of Olympus || {{?}} || {{minorissues}} || Graphical errors and text does not display.<br /> |-<br /> | God of War: Ghost of Sparta || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | God of War: Ghost of Sparta Demo || NPUG70125 || {{majorissues}} || Issues with shadow/lights.<br /> |-<br /> | Godfather Mob Wars || {{?}} || {{unplayable}} || <br /> |-<br /> | Gods Eater Burst || ULUS10563 || {{majorissues}} || Boots but freezes in-game. Won't load save data.<br /> |-<br /> | God Eater 2 || {{?}} || {{playable}} || No problems with remaster method. Suggested to map d-pad to right stick.<br /> |-<br /> | Goku Makaimura Kai || {{?}} || {{unplayable}} || Gets to the menu to choose Original or Remastered then freezes on loading screen after one is selected. Tried as mini and remastered. May need an eboot fix method similar to Power Stone Collection to get it to run.<br /> |-<br /> | Gradius Collection || ULUS10103 || {{playable}} || Mini runs with resigned EBOOT, but black screens after 4th intro. Playable as remasters.<br /> |-<br /> | Gradius Portable || ULJM05091 || {{minorissues}} || Stuck on &quot;loading&quot; screen. Playable as remasters, but little graphic and sound issues.<br /> |-<br /> | Gran Turismo || {{?}} || {{unplayable}} || <br /> |-<br /> | Grand Knight Chronicle || {{?}} || {{unplayable}} || Black screen.<br /> |-<br /> | Grand Knights History || {{?}} || {{majorissues}} || Needs Remaster method. Major graphical issues, freezes if enter &quot;Options&quot;.<br /> |-<br /> | Grand Theft Auto Liberty City Stories || ULES00151 || {{unplayable}} || Black screen, power button reset.<br /> |-<br /> <br /> |rowspan=&quot;2&quot;|<br /> Grand Theft Auto: Chinatown Wars<br /> || ULUS10490 || {{unplayable}} || Black screen.<br /> |-<br /> || ULES01347 || {{unplayable}} || Black screen.<br /> |-<br /> <br /> |rowspan=&quot;2&quot;|<br /> Grand Theft Auto: Vice City Stories<br /> || ULES00502 || {{unplayable}} || Black screen.<br /> |-<br /> || ULUS10160 || {{majorissues}} || The game boots up fine but you cannot see anything. Just the sounds and the pause menu.<br /> |-<br /> <br /> | GRAW 2 || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Gripshift || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Growlanser: Wayfarer of Time || {{?}} || {{playable}} || Needs EBOOT fix.<br /> |-<br /> | GTI Club Supermini Festa || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Guilty Gear XX || {{?}} || {{unplayable}} || tested as a Remaster.<br /> |-<br /> | Guilty Gear Judgment || ULES00574 || {{playable}} || PS3minis 2.1.2 Remaster - no issues<br /> |-<br /> | GUN || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Gundam Assault Survive || ULJS00281 || {{unplayable}} || PS3minis 2.1.2 Remaster - Won't boot and resets PS3.<br /> |-<br /> | Gundam Battle Assault || ULJS00145 || {{majorissues}} || Game plays fine but will not save.<br /> |-<br /> | Gundam Battle Royal || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Gundam Battle Tactics || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Gundam Battle Universe || ULJS00145 || {{playable}} || Remaster, no issues<br /> |-<br /> | Gundam Memories: Memories of Battle || {{?}} || {{playable}} || 1.74 now works, playable but save issues.<br /> |-<br /> | Gundam Seed: Rengou VS ZAFT Portable || ULJM05238 || {{playable}} || Remaster, no issues<br /> |-<br /> | Gundam Versus Gundam || ULJS00165 || {{playable}} || EBOOT resigned.<br /> |-<br /> | Gundam Versus Gundam Next Plus || NPJH50107 || {{playable}} || EBOOT resigned using PS3 Minis 2.1.2 -- also tested on English patch v1.5<br /> |-<br /> | Gungnir || ULUS10592 || {{unplayable}} || PS3minis 2.1.2 - tested as both Remaster and Minis: Fails to boot and restarts PS3 on PS button &gt; Quit Game<br /> |-<br /> | Gunhound EX || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> <br /> |rowspan=&quot;2&quot;|<br /> Gurumin: A Monstrous Adventure<br /> || NPJH50109 || {{playable}} || <br /> |-<br /> || ULUS10228 || {{playable}} || <br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · &lt;span style=&quot;color:#FF0000&quot;&gt;G&lt;/span&gt; · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> == H ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | Half-Minute Hero || ULUS10491 || {{playable}} || <br /> |-<br /> | Hammerin' Hero || ULUS10392 || {{unplayable}} || Not working as either Remasters or Minis. Black screen after minis logo.<br /> |-<br /> | Harry Potter and the Order of Phoenix || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Harvest Moon: Boy &amp; Girl || ULUS10142 || {{unplayable}} || Starts up, but when you select boy or girl it freezes at &quot;Now Loading&quot;.<br /> |-<br /> | Harvest Moon: Hero of Leaf Valley || ULUS10458 || {{unplayable}} || Freezes when 'new game' is selected.<br /> |-<br /> | Hatsune Miku: Project Diva || {{?}} || {{playable}} || <br /> |-<br /> | Hatsune Miku: Project Diva 2nd || {{?}} || {{playable}} || Black screen in normal mode, working in remaster.<br /> |-<br /> | Hatsune Miku: Project Diva Extend || {{?}} || {{playable}} ||<br /> |-<br /> | Hayarigami 3 || {{?}} || {{playable}} || <br /> |-<br /> | Heaven's Will || ULJM05186 || {{playable}} || <br /> |-<br /> | Hellboy - The Science of Evil || ULES00827 || {{playable}} || <br /> |-<br /> | Heracles Chariot Racing Mini || NPEZ00095 || {{playable}} || <br /> |-<br /> | Heroes VS || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | Hexyz Force || {{?}} || {{majorissues}} || Works with EBOOT resigned, but can't save. Also the mini-map is glitched-looking and there are some minor graphic glitches elsewhere. Same issues as default Remaster.<br /> |-<br /> | Hot Pixel || ULES00642 || {{playable}} || Works as Remaster.<br /> |-<br /> | Hot Shots Golf: Open Tee || UCUS98614 || {{unplayable}} || Black screen.<br /> |-<br /> | Hot Shots Golf: Open Tee 2 || UCUS98693 || {{playable}} || Works as a Remaster. Doesn't work as a Mini.<br /> |-<br /> | HotBrain || {{?}} || {{playable}} || Work as Remaster.<br /> |-<br /> | House || {{?}} || {{majorissues}} || Works as a Remaster, but framerate too slow to play.<br /> |-<br /> | Hunter x Hunter : Wonder Adventure || NPJH50624 || {{playable}} || Minis2 settings:<br /> AW.DISABLE_FB_TEX = 100 To fix gfx errors<br /> |-<br /> | Hysteria Project 2 || {{?}} || {{playable}} || <br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · &lt;span style=&quot;color:#FF0000&quot;&gt;H&lt;/span&gt; · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> <br /> <br /> == I ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | Ikki Tousen: Eloquent Fist || {{?}} || {{unplayable}} || Both Mini and Remaster: Freezes after choosing to start the game from the main menu.<br /> |-<br /> | Ikki Tousen: Xross Impact || NPJH50222 || {{playable}} || <br /> |-<br /> | IL2 Sturmovik Birds of Prey || {{?}} || {{playable}} || <br /> |-<br /> | Indiana Jones and Staff of King || {{?}} || {{unplayable}} || Black screen after minis logo.<br /> |-<br /> | Infected || ULUS10054 || {{playable}} || Some of the cutscenes won't show (sound only, random?). Otherwise perfect.<br /> |-<br /> | Initial D Street Stage || ULJM05093 || {{unplayable}} || Black screen after minis logo. Remaster black screen. Unhandled Exception while converting with b22.<br /> |-<br /> | Innocent Life: A Futuristic Harvest Moon || ULUS10219 || {{playable}} || Works as iso in Remaster Launcher. Can also be turned into a remaster package.<br /> |-<br /> | International Snooker Mini || NPEZ00104 || {{playable}} || <br /> |-<br /> | Iron Man|| {{?}} || {{unplayable}} || Black Screen. Freezes PS3 and must soft-reset it.<br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · &lt;span style=&quot;color:#FF0000&quot;&gt;I&lt;/span&gt; · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> == J ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | Jackass: The Game || ULUS10303 || {{unplayable}} || Black Screen as Remaster.<br /> |-<br /> | Jak and Daxter: The Lost Frontier || NPUG80330 || {{unplayable}} || Black screen after minis logo, crashes when exiting.<br /> |-<br /> | James Cameron's Avatar - The Game || ULUS10451 || {{unplayable}} || Black screen/unhandled exception in TargetManager log.<br /> |-<br /> | Jeanne D'Arc || UCUS98700 || {{playable}} || Compression Used: No; SAV temp Fix Applied: No;<br /> |-<br /> | Jikandia: The Timeless Land || {{?}} || {{unplayable}} || Freezes with Remaster method.<br /> |-<br /> | Jelly Pops || NPUZ00223 || {{playable}} || <br /> |-<br /> | Juiced 2: Hot Import Nights || ULUS10312 || {{unplayable}} || Works fine in the menus. Freezes during loading screens and/or gameplay. Tested as a remaster. <br /> |-<br /> | Jungle Party || {{?}} || {{unplayable}} || Black Screen during gameplay. as a Remaster.<br /> |-<br /> | Justice League Heroes || ULUS10214 || {{majorissues}} || Works as a Remaster, but most graphics are corrupted.<br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · &lt;span style=&quot;color:#FF0000&quot;&gt;J&lt;/span&gt; · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> <br /> <br /> == K ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | K-On Houkago Live || {{?}} || {{minorissues}} || Graphic texture issues, otherwise playable.<br /> |-<br /> | Kameleon || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Kamen Rider: Super Climax Heroes || {{?}} || {{playable}} || 1.74 sign eboot method; otherwise it freezes.<br /> |-<br /> | Kao Challengers || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Kazook || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Kenka Bancho 3 || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Kenka Bancho 4 || ULJS00268 || {{unplayable}} || White screens (minis+remaster).<br /> |-<br /> | Kenka Bancho: Badass Rumble || {{?}} || {{playable}} || Works as a Remaster. <br /> |-<br /> | Key of Heaven || {{?}} || {{unplayable}} || Tested as a Remaster<br /> |-<br /> | Killzone Liberation || {{?}} || {{unplayable}} || Freezes as minis or Remasters.<br /> |-<br /> | Kingdom Hearts Birth By Sleep (US) || {{?}} || {{unplayable}} || Black screen.<br /> |-<br /> | Kingdom Hearts Birth By Sleep Final Mix || ULJM05775 || {{unplayable}} || It gets to the copy right then black screen.<br /> |-<br /> | Kingdom of Paradise || {{?}} || {{majorissues}} || Memory Stick not accessible. Unable to start a new game or load. Leaving idle on the title screen will completely freeze the console after a while.<br /> |-<br /> | Kisouryouhei Gunhaund Ex || NPJH50723 || {{playable}} || 1.74 working.<br /> |-<br /> | Knights in the Nightmare || NPJH50230 || {{playable}} || 1.74 now works perfectly.<br /> |-<br /> | Kurohyou 2 - Ryu ga Gotoku Ashura Hen || NPJH50562 || {{unplayable}} || Save Game problem as Remaster.<br /> |-<br /> | Kurohyou 2 - Ryu ga Gotoku Ashura Hen || NPJH50562 || {{unplayable}} || Goes to main menu, then hard freezes when going ingame.<br /> |-<br /> | Kuroko no Basuke Kiseke no Game || {{?}} || {{playable}} || 1.74 now works well, little sound issues.<br /> |-<br /> | Kurulin Fusion Mini || NPUH10042 || {{playable}} || <br /> |-<br /> | Kyoukaisen-jou no Horizon || ULJS00543 || {{unplayable}} || Hard freeze as remaster, black screen as minis.<br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · &lt;span style=&quot;color:#FF0000&quot;&gt;K&lt;/span&gt; · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> <br /> <br /> == L ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | Le Parrain (The Godfather) || {{?}} || {{unplayable}} || Freeze.<br /> |-<br /> | Legend of Kunoichi Mini || NPUX80406 || {{playable}} || <br /> |-<br /> | LEGO Harry Potter - Years 1-4 || ULUS10500 || {{playable}} || Resigned EBOOT.<br /> |-<br /> | Lemmings || UCUS98647 || {{playable}} || <br /> |-<br /> | Let's Golf || NPEZ00032 || {{minorissues}} || Some do work / some do not. Black Screen / Freeze.<br /> |-<br /> | Little Britain || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | LittleBigPlanet || UCES01264 || {{unplayable}} || Black screen.<br /> |-<br /> | LocoRoco || UCUS98662 || {{playable}} || Works as a Remaster (default settings in MINIS2). <br /> |-<br /> | LocoRoco 2 || UCUS98731 || {{minorissues}} || Movies have only sound (no video).<br /> |-<br /> | LocoRoco Midnight Carnival || NPEG00024 || {{playable}} || Works good, even multiplayer via WiFi. EBOOT needs to be signed.<br /> |-<br /> | Lord of Arcana || ULUS10479 || {{playable}} || Needs save fix, decrypted EBOOT.BIN.<br /> |-<br /> | Lord of the Rings: Tactics || {{?}} || {{unplayable}} || Black screen as Remaster.<br /> |-<br /> | Lumines || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Lumines 2 || ULUS10183 || {{playable}} || <br /> |-<br /> | Lunar: Silver Star Harmony || ULUS10482 || {{minorissues}} || Works as Remaster. Freezes after first battle.<br /> |-<br /> | Lunar: Silver Star Harmony || ULUS10482 || {{playable}} || Converted this game with PSP2PS3 from an iso ripped from a real disc. Got several battles in as Remaster, no crashing, game is working fine. Rebug 4.82<br /> |-<br /> | Luxor || {{?}} || {{unplayable}} || Tested as a Remaster<br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · &lt;span style=&quot;color:#FF0000&quot;&gt;L&lt;/span&gt; · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> <br /> <br /> == M ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | Macross Ace Frontier || {{?}} || {{?}} || Untested<br /> |-<br /> | Macross Ultimate Frontier || NPJH50050 || {{minorissues}} || PS3minis 2.1.2 Remaster - JITTERY 3D models if on surface but in mid-air, models look OK. <br /> |-<br /> | Madden NFL '06 || {{?}} || {{unplayable}} || Tested as a Remaster<br /> |-<br /> | Magic Sudoku || UCAS40139 || {{playable}} || <br /> |-<br /> | Mahou Shojou Lyrical Nanoha As Portable: The Battle of Aces || ULJS00241 || {{unplayable}} || Black screen (1.74).<br /> |-<br /> | Mahjong Fight Club || {{?}} || {{unplayable}} || <br /> |-<br /> | Mahjong Fight Club: Zenkoku Taisen Ban || {{?}} || {{unplayable}} || <br /> |-<br /> | Mana Khemia 2 Portable+ || {{?}} || {{majorissues}} || Works as a Remaster, with all the problems it had on PSP (performance was bad on PSP and had random freezes).<br /> |-<br /> | Mana Khemia: Student Alliance || {{?}} || {{playable}} || Seems to work as a Remaster with default settings.<br /> |-<br /> <br /> |rowspan=&quot;2&quot;|<br /> Manhunt 2<br /> || ULES00756 || {{unplayable}} || Black Screen as Remaster.<br /> |-<br /> || ULUS10280 || {{unplayable}} || Black screen after the &quot;MINIS&quot; Logo. But you can hear a short &quot;Ding&quot; sound and see slightly HDD activity.<br /> |-<br /> <br /> | Marvel Super Hero Squad || {{?}} || {{playable}} || None. <br /> |-<br /> | Marvel Ultimate Alliance || {{?}} || {{unplayable}} || Tested as a Remaster<br /> |-<br /> | Me &amp; My Katamari || {{?}} || {{majorissues}} || Black screen after Minis logo. Loads as remaster, but most textures not showing up during gameplay.<br /> |-<br /> | Medal of Honor: Heroes || {{?}} || {{unplayable}} || Hear beep/sounds but nothing on screen, Home button wont respond, black screen.<br /> |-<br /> | Medal of Honor: Heroes 2 || {{?}} || {{unplayable}} || Hear beeps/sounds but nothing on screen, Home button wont respond, black screen.<br /> |-<br /> <br /> |rowspan=&quot;2&quot;|<br /> MediEvil Ressurrection<br /> || UCUS98620 || {{unplayable}} || Works as a Remaster. No video except HUD.<br /> |-<br /> || UCES00006 || {{unplayable}} || Works as a Remaster. No video except HUD.<br /> |-<br /> <br /> | Mega Man Powered Up || ULES00307 || {{playable}} || Works as a Remaster. Infinite loading if auto-saving is enabled.<br /> |-<br /> | Mega Man Maverick Hunter X || ULUS10068 || {{playable}} || Don't play anime scenes, works with remaster and mini. Has minor graphical issues with Sting Chameleon. Save OK. Mega Man Powered UP demo doesn't work.<br /> |-<br /> | Megamind - The Blue Defender || ULUS10520 || {{unplayable}} || Black screen/unhandled exception in TargetManager log.<br /> |-<br /> | Metal Gear AC!D || ULUS10006 || {{playable}} || Works as a Remaster.<br /> |-<br /> | Metal Gear AC!D 2 || ULUS10077 || {{majorissues}} || Works as a Remaster. MINIS2 settings in comment. Game will freeze when player wants to use weapon in 2nd mission.<br /> |-<br /> | Metal Gear Solid - Digital Graphic Novel || ULES00382 || {{playable}} || Works as a Remaster. <br /> |-<br /> | Metal Gear Solid: Peace Walker || ULUS10509 || {{unplayable}} || Black screen after Minis logo, crashes when exiting.<br /> |-<br /> | Metal Gear Solid: Portable Ops || {{?}} || {{majorissues}} || Remaster method freezes in first 5 minutes (x2).<br /> |-<br /> | Metal Gear Solid: Portable Ops + || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | Metal Slug Anthology || ULES00530 || {{unplayable}} || Freezes. As Remaster, when asked to enter name (new game) complains text is too short when it is not.<br /> |-<br /> | Metal Slug XX || {{?}} || {{playable}} || Works as a Remaster. PAL Copy works USA does not.<br /> |-<br /> | Miami Vice || {{?}} || {{unplayable}} || tested as a Remaster.<br /> |-<br /> | Micro Machines V4 || ULES00368 || {{playable}} || Works as a Remaster.<br /> |-<br /> | Midnight Club - L.A. Remix || ULES01144 || {{unplayable}} || Black screen as Remaster.<br /> |-<br /> | Midnight Club 3 - DUB Edition || ULES00108 || {{unplayable}} || Black screen as Remaster.<br /> |-<br /> | Military History Commander: Europe at War || ULES01179 || {{playable}} ||<br /> |-<br /> | Mimana Iyar Chronicle || ULUS10492 || {{playable}} || <br /> |-<br /> | Mind Quiz || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Mini Squadron || NPUZ00122 || {{playable}} || <br /> |-<br /> | Minna no Sukkiri || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | MLB 2K12 || {{?}} || {{unplayable}} || Black Screen/Freezes.<br /> |-<br /> | ModNation Racers || {{?}} || {{unplayable}} || <br /> |-<br /> | Moeru Mahjong - Moejong || {{?}} || {{unplayable}} || <br /> |-<br /> | Monopoly || {{?}} || {{playable}} || None.<br /> |-<br /> | Monster Hunter Freedom || {{?}} || {{unplayable}} || Can't add letters in name only numbers, game locks up after character creation.<br /> |-<br /> | Monster Hunter Freedom 2 || {{?}} || {{unplayable}} || Black screen / freeze.<br /> |-<br /> | Monster Hunter Freedom Unite || ULUS10391 || {{minorissues}} || Works as a Remaster. Europe Version Freeze at Begin Quest Screen. Freezes if you enter &quot;Options&quot;.<br /> |-<br /> | Monster Hunter Portable 3rd || ULJM05800 || {{playable}} || Works with save file injection. Otherwise, Black Screen/Freezes after character creation. Tested with English patch.<br /> |-<br /> | Monster Kingdom: Jewel Summoner || {{?}} || {{playable}} || <br /> |-<br /> | Monsters Probably Stole My Girlfriend || {{?}} || {{unplayable}} || Black screen after Minis logo, crashes when exiting.<br /> |-<br /> <br /> |rowspan=&quot;2&quot;|<br /> Mortal Kombat: Unchained<br /> || ULES00353 || {{minorissues}} || Works as a Remaster. Some stages will Freeze. &lt;br/&gt;<br /> As Minis: it boots up, works dandy until you try a match. Then it places an icon in the lower left of the screen with the text, &quot;UMD could not be read&quot;.<br /> |-<br /> || ULUS10102 || {{minorissues}} || Works as a Remaster, save OK. Some stages will freeze.<br /> |-<br /> <br /> | MOTO GP || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | MotorStorm Arctic Edge || {{?}} || {{majorissues}} || Loads fine but crashes during first race.<br /> |-<br /> | MX vs. ATV Reflex || {{?}} || {{unplayable}} || Can hear sound but there is no graphic.<br /> |-<br /> | MX vs. ATV Reflex || ULUS10429 || {{unplayable}} || After resigning eboot.bin freezes.<br /> |-<br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · &lt;span style=&quot;color:#FF0000&quot;&gt;M&lt;/span&gt; · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> == N ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | N+ || ULUS10340 || {{playable}} || <br /> |-<br /> | Namco Museum Battle Collection || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Naruto Shippuden - Kizuna Drive || ULUS10571 || {{playable}} || Resigned EBOOT.<br /> |-<br /> | Naruto Shippuden - Ultimate Ninja Heroes 3 || ULUS10518 || {{unplayable}} || Black screen/unhandled exception in TargetManager log.<br /> |-<br /> | Naruto Shippuden - Ultimate Ninja Impact || ULUS10582 || {{unplayable}} || Black screen, forces hard reset.<br /> |-<br /> | Nascar || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Nayuta no Kiseki || ULJM06113 || {{minorissues}} || Works, but menu graphical glitches.<br /> |-<br /> | NBA Live 08 || {{?}} || {{unplayable}} || Hangs on black bcreen as Remaster.<br /> |-<br /> | NBA Street Showdown || ULES00037 || {{unplayable}} || <br /> |-<br /> | Need For Speed - Carbon Own The City || ULES00577 || {{minorissues}} || Works as a Remaster. Missing some textures.<br /> |-<br /> <br /> |rowspan=&quot;2&quot;|<br /> Need For Speed - Most Wanted 5-1-0<br /> || ULES00196 || {{unplayable}} || Black screen, forces hard reset.<br /> |-<br /> || ULUS10036 || {{unplayable}} || Doesn't work after auto save.<br /> |-<br /> <br /> | Need For Speed - ProStreet || ULES01019 || {{minorissues}} || Works as a Remaster. Missing some textures.<br /> |-<br /> | Need For Speed - Shift || ULUS10462 || {{majorissues}} || Works as a Remaster, but the game is too slow.<br /> |-<br /> | Need For Speed - Undercover || ULES01145] || {{unplayable}} || Not working as Remaster. Freezes after game logo.<br /> |-<br /> | Need For Speed - Underground Rivals || ULES00025 || {{unplayable}} || Doesn't work after auto save.<br /> |-<br /> | Nendoroid Generation &lt;br/&gt; &lt;small&gt;ねんどろいど じぇねれ~しょん&lt;/small&gt; || ULJS00441 || {{playable}} || Run too fast, but is playable. Default MINIS2.txt settings. &lt;br/&gt; Does not work as Mini; stuck at first battle. Eboot resigned, update folder removed.<br /> |-<br /> | NFL Street 3 || ULUS10135] || {{playable}} || Works as a Remaster.<br /> |-<br /> | No Heroes Allowed! || NPUG80460 || {{unplayable}} || Stuck in blackscreen when switching to game proper.<br /> |-<br /> | Normal Tanks Mini || NPEZ00135 || {{playable}} || <br /> |-<br /> | Nova - Near Orbit Vanguard Alliance || NPEZ00222 || {{playable}} || <br /> |-<br /> | Numblast || NPEG00011 || {{playable}} || <br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · &lt;span style=&quot;color:#FF0000&quot;&gt;N&lt;/span&gt; · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> <br /> <br /> == O ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | Oben || ULESO1254 || {{minorissues}} || Remasters work slowly, has graphical glitches<br /> |-<br /> | Obscure Aftermath || {{?}} || {{playable}} ||<br /> |-<br /> | One Epic Game || NPEZ00344 || {{playable}} || Works flawlessly. Multiplayer works via WiFi. <br /> |-<br /> | One Piece ROMANCE DAWN || NPJH50679 || {{playable}} || Tested resigned EBOOT and as Remaster.<br /> |-<br /> | One Piece Romance Dawn Bouken no Yoake || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | One Two Boat Racing Mini || NPUX80431 || {{playable}} || <br /> |-<br /> | OneChanbara Special || {{?}} || {{majorissues}} || Errors about memory stick size.<br /> |-<br /> | OneChanbara Special ||ULJS00367 || {{unplayable}} || Black screen.<br /> |-<br /> | Open Season || {{?}} || {{unplayable}} || <br /> |-<br /> | Ore no shikabane wo koeteyuke || {{?}} || {{playable}} || Works as a Remaster, with minimal graphical glitches.<br /> |-<br /> | Outrun 2006: Coast 2 Coast || {{?}} || {{playable}} || <br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · &lt;span style=&quot;color:#FF0000&quot;&gt;O&lt;/span&gt; · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> <br /> <br /> == P ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | Pac-Man World 3 || ULUS10055 || {{unplayable}} || Black screen as Remaster.<br /> |-<br /> | Pachisi Mini || NPEZ00123 || {{playable}} || <br /> |-<br /> | Pangya: Fantasy Golf || ULUS10438 || {{unplayable}} || After Minis logo, hangs with a black screen. Remaster does not work either.<br /> |-<br /> | Parappa the Rapper || {{?}} || {{minorissues}} || Playable (using PSP minis placeholder PKG). Hard to play due to video lag or input lag.<br /> |-<br /> | Parodius Portable || ULJM05220 || {{playable}} || Playable as Remaster, but jikkyou parodius freezes after character select.<br /> |-<br /> | Passport to.. London || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Patapon || {{?}} || {{unplayable}} || As remaster or minis -- freezes on &quot;New game&quot; intro. Same issue on EU ver[UCES00995]<br /> After loading injected save game, &quot;Village&quot; works (runs a little fast) but freezes when starting a mission, so no play can ever be had.<br /> |-<br /> | Patapon 2 || {{?}} || {{unplayable}} || Remaster and Minis: Crashes to black screen.<br /> |-<br /> | Patapon 3 || UCES01421 || {{unplayable}} || Black screen Minis/Remaster.<br /> |-<br /> | Patchwork Heroes || NPEG00028 || {{playable}} || <br /> |-<br /> | Persona || NPEH00069 || {{playable}} || Works as iso in Remaster Launcher. Also works when turned into Remaster pkg.<br /> |-<br /> | Persona 2: Innocent Sin || ULES01557 || {{playable}} || Works as iso in Remaster Launcher. UNDUB works as PKG PSP2PS3 2.1.5.<br /> |-<br /> | Persona 2: Eternal Punishment || ULJM06081 || {{playable}} || Works as iso in Remaster Launcher. Also works when turned into Remaster pkg.<br /> |-<br /> | Petz My Baby Hamster || ULES01266 || {{playable}} || <br /> |-<br /> | Petz Puppy Family || ULES01267 || {{playable}} || Works as a Remaster.<br /> |-<br /> | Petz Saddle Club || ULUS10402 || {{playable}} || Works as a Remaster.<br /> |-<br /> <br /> |rowspan=&quot;2&quot;|<br /> Phantasy Star Portable<br /> || ULES01218 || {{majorissues}} || Remaster: Cannot save. Really speedy on menus, major random slowdowns during quests, NPC dialogues show no text. Compression or not is the same. Minis does not work as well.<br /> |-<br /> || ULUS10410 || {{majorissues}} || Remaster: Cannot save. Really speedy on menus, major random slowdowns during quests, NPC dialogues show no text. Compression or not is the same. Minis does not work as well.<br /> |-<br /> <br /> |rowspan=&quot;2&quot;|<br /> Phantasy Star Portable 2<br /> || ULES01439 || {{minorissues}} || Works as remaster. Included minis2.txt. EBOOT.PBP compressed. EBOOT.BIN signed with seboot with '-tn' switch. Saves work. Only problem is the major slowdowns when enemies, laser gates/fences, or other NPCs are on the area. Using PrxEncrypter will yield in black screen at startup. Infrastructure play mode will freeze the PS3, requiring hard reset.<br /> |-<br /> || ULUS10529 || {{playable}} || Remaster with modified prxencryptor (PrxEncryptor_mod2) with default mini2 settings:<br /> S3D.ENABLE = 0<br /> ADHOC_PARTY = 1<br /> VFPU_USE_FAST_VMMUL = 1<br /> - helps with some of the framerate drops.<br /> |-<br /> <br /> | Phantom Brave: The Hermuda Triangle || {{?}} || {{minorissues}} || Skill text doesn't show when used. Resigned EBOOT.<br /> |-<br /> | Pilot Academy || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Pimp My Ride || ULES00960 || {{unplayable}} || Black screen as a Remaster.<br /> |-<br /> | Pinball Dreams || NPEZ00021 || {{playable}} || Official minis title. ISO backup works as a Remaster.<br /> |-<br /> | Pinball Fantasies || NPEZ00022 || {{playable}} || Official minis title. ISO backup works as a Remaster.<br /> |-<br /> | Pipe Mania || ULES01094 || {{playable}} || Works as a Remaster.<br /> |-<br /> | PixelJunk Monsters Deluxe || {{?}} || {{minorissues}} || GFX glitches after tutorial<br /> |-<br /> | PixelJunk Monsters Mini || NPUG80248 || {{playable}} || <br /> |-<br /> | Pocket Pool || {{?}} || {{unplayable}} || <br /> |-<br /> | Pool Hall Pro (US) || {{?}} || {{unplayable}} || Remaster method, black screen.<br /> |-<br /> | PoPoloCrois || {{?}} || {{playable}} || <br /> |-<br /> | Powerstone Collection || {{?}} || {{playable}} || Works as a Remaster. Needs each game to be separated : in the iso, take out PWS1.PRX or PWS2.PRX, rename it to EBOOT.BIN, resign it with SIGN_EBOOT.BAT, and replace the original EBOOT.BIN in SYS_DIR using UMDGen.exe with the one of your game. Then enjoy it as a remaster :) or add minis2 : ELF_PATH = disc0:/PSP_GAME/SYSDIR/EBOOT.BIN to the path/ pwsX.prx you like..to run, easier and faster than always repacking.<br /> |-<br /> | PQ Practical Intelligence Quotient || {{?}} || {{unplayable}} || <br /> |-<br /> | Prince of Persia: Revelations || ULES00223 || {{unplayable}} || Loading screen freezes. Doesn't work as Remaster.<br /> |-<br /> | Prince of Persia: Rival Swords || {{?}} || {{playable}} || Gives a wlan error at startup and FMV doesn't work properly, but game runs fine.<br /> |-<br /> | Prince of Persia: The Forgotten Sands || ULUS10480] || {{unplayable}} || Freezes, even with resigned eboot.<br /> |-<br /> | Prinny 2 - Operation Panties Dood! || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> <br /> |rowspan=&quot;2&quot;|<br /> Prinny - Can I Really be the Hero<br /> || ULES01278 || {{playable}} || Works as a Remaster.<br /> |-<br /> || ULUS10407 || {{unplayable}} || PS3minis 2.1.2 Remaster - Won't boot but will not freeze PS3.<br /> |-<br /> <br /> | Pro Evolution Soccer 2007 || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Puella Magi Madoka Magica Portable || ULJS00430 || {{playable}} || Works as a Remaster. PSPtoPS3-b22<br /> |-<br /> | Pursuit Force || {{?}} || {{unplayable}} || <br /> |-<br /> | Pursuit Force: Extreme Justice || {{?}} || {{majorissues}} || Minis or Remaster: FMV not working properly (no freeze). Bad background when quicksaving. Crashes after the first cut-scene when you start a new game.<br /> |-<br /> | PuyoPuyo!! 20th Anniversary || NPJH50492 || {{playable}} || Remaster, Eboot manual resign, update folder removed, auto save/load is working.<br /> |-<br /> | Puzzle Bobble Pocket || {{?}} || {{playable}} || <br /> |-<br /> | Puzzle Quest: Challenge of the Warlords || {{?}} || {{unplayable}} || Locks up on memory card access as either Remastered or Mini.<br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · &lt;span style=&quot;color:#FF0000&quot;&gt;P&lt;/span&gt; · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> == Q ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | Queen's Blade || {{?}} || {{minorissues}} || FMVs are not working properly.<br /> |-<br /> | Queen's Gate: Spiral Chaos || {{?}} || {{minorissues}} || Works as a Remaster. Problem playing FMV sequences, though this doesn't cause game to freeze and background during quicksave is messed up<br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · &lt;span style=&quot;color:#FF0000&quot;&gt;Q&lt;/span&gt; · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> <br /> <br /> == R ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | R-Type Command || ULUS10343 || {{playable}} || Works as mini without using compression.<br /> |-<br /> | R-Type Tactics 2 Operation Bitter Chocolate || NPJH50119 || {{unplayable}} || <br /> |-<br /> | Ragnarok Tactics &lt;br/&gt; ''&lt;small&gt;Ragnarok - Hikari to Yami no Koujo&lt;/small&gt;'' || ULUS10594 || {{playable}} || <br /> |-<br /> | Ratatouille || {{?}} || {{unplayable}} || Tested as Remaster and Minis all 12 versions of the game in all languages, non of them works, all black screen. (CodedXtreme)<br /> |-<br /> | Ratchet &amp; Clank Size Matters || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Rebellions Secret Game 2nd Stage || ULJM06253 || {{playable}} || <br /> |-<br /> | Reel Fishing || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | RENGOKU The Tower of Purgatory || {{?}} || {{unplayable}} || Tested as a Remaster<br /> |-<br /> | Resistance Retribution || {{?}} || {{majorissues}} || With remaster everything works saves etc, until you actually get in game. The frame rate is so slow it's unplayable.<br /> |-<br /> | Retro Mini || NPEZ00141 || {{playable}} || <br /> |-<br /> | Ridge Racer || UCES00002 || {{unplayable}} || After mini game it black screens. Tested as Remaster.<br /> |-<br /> <br /> |rowspan=&quot;2&quot;|<br /> Ridge Racer 2<br /> || UCES00422 || {{playable}} || <br /> |-<br /> || ULJS00080 || {{playable}} || Works perfectly as minis. Frame rate is slow as remaster.<br /> |-<br /> <br /> | Riviera The Promised Land || {{?}} || {{majorissues}} || There are big graphical errors witch make it unplayable.<br /> |-<br /> | Rockband 2 (Alpha) || {{?}} || {{unplayable}} || Black screen as Remaster or Mini.<br /> |-<br /> | Rockband Unplugged || {{?}} || {{majorissues}} || Functional as Remaster but music is bugged.<br /> |-<br /> | Rocket Racing Mini || NPEZ00043 || {{unplayable}} || Black Screen / Freeze.<br /> |-<br /> | Rockman Dash 1 || {{?}} || {{majorissues}} || Game starts and menu shows, but scenario in stages is black. Enemies' shots are not visible.<br /> |-<br /> | Rockman Dash 2 || {{?}} || {{playable}} || Perfect as a Remaster.<br /> |-<br /> | Rockstar's Beaterator || {{?}} || {{minorissues}} || For the most part it is working, the samples tend to get glitchy on a number of setups, and sound really bad.<br /> |-<br /> | Rocky Balboa || {{?}} || {{unplayable}} || Black screen as Remaster.<br /> |-<br /> | Route 66 Mini || NPEZ00036 || {{unplayable}} || Black Screen / Freeze.<br /> |-<br /> | Rush || ULUS10174 || {{majorissues}} || Working, but the game is to slow as a Remaster.<br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · &lt;span style=&quot;color:#FF0000&quot;&gt;R&lt;/span&gt; · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> == S ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | Saint Seiya Omega Ultimate Cosmos || NPJH50699 || {{playable}} || 1.74 Working.<br /> |-<br /> | Salamander Portable || ULJM05219 || {{unplayable}} || Minis and Remaster get stuck on &quot;loading&quot; screen.<br /> |-<br /> | Samurai Warriors: State of War || {{?}} || {{playable}} || Works as Remaster.<br /> |-<br /> | Scarface || {{?}} || {{playable}} || Works as Remaster.<br /> |-<br /> | Scooby Doo Who's Watching Who || {{?}} || {{playable}} || Works as Remaster.<br /> |-<br /> | Scrabble || {{?}} || {{playable}} || Tested as ISO.<br /> |-<br /> | SD Gundam G Generation Portable || ULJS00065 || {{unplayable}} || Freezes.<br /> |-<br /> | Secret Agent Clank || {{?}} || {{unplayable}} || Black screen after loading a save or selecting new game.<br /> |-<br /> | Sega Mega Drive Collection || ULES00556 || {{unplayable}} || Error wlan doesn't work as a Remaster.<br /> |-<br /> | Sega Rally Revo || ULUS10311 || {{unplayable}} || PS3minis 2.1.2 Remaster - Boots fine but stuck past profile selection to game proper. <br /> |-<br /> | Senritsu no Stratus || {{?}} || {{unplayable}} || Tested as Minis and Remaster.<br /> |-<br /> | Shadow of Destiny || ULUS10459 || {{playable}} || Perfect as remaster, minis2 settings: <br /> ADHOC.EMUPA_TITLE_ID = ULUS10459 <br /> AW.LINEAR_ADRS = 40 <br /> AW.DISABLE_FB_TEX = 200<br /> |-<br /> | Shin Megami Tensei: Persona || ULUS10432 || {{playable}} || Remaster, minis2 settings <br /> SAVEDATA_USE_PS3_SAVE = 1 <br /> |-<br /> | Shin Megami Tensei: Persona 2 Innocent Sin || ULUS10584] || {{unplayable}} || Black screen.<br /> |-<br /> | Shin Megami Tensei: Persona 3 Portable || ULUS10512 || {{unplayable}} || Game starts and menu shows, but scenario in stages is black. Enemies' shots are not visible.<br /> |-<br /> | Shining Ark || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | Shining Blade || NPJH50530 || {{unplayable}} || Black screen.<br /> |-<br /> | Shrek The Third || {{?}} || {{majorissues}} || Tested as a Remaster &amp; Minis graphical and camera axis corruptions. Freezes PS3.<br /> |-<br /> | Sid Meier's Pirates! - Live the Life || ULUS10224 || {{playable}} || <br /> |-<br /> | Silent Hill Origins || ULUS10285 || {{minorissues}} || Compression used: No; SAV temp Fix applied: Yes;<br /> Use<br /> AW.LINEAR_ADRS = 40<br /> to fix unplayable issue but still leaves flashlight issue.<br /> |-<br /> | Silent Hill Shattered Memories || ULES01352 || {{unplayable}} || After game logo black screen as Remaster.<br /> |-<br /> | SOCOM - U.S. Navy SEALs - Fireteam Bravo || {{?}} || {{playable}} || Use default mini2 settings.<br /> |-<br /> | SOCOM - U.S. Navy SEALs - Fireteam Bravo 3 || UCUS98716 || {{unplayable}} || Detects update, black screen on start up<br /> |-<br /> | Sol Trigger || NPJH50619 || {{unplayable}} || Freezes. Used untouched iso and resigned eboot.. and no compression. Freezes as Remaster as well. Game starts, but black screen when going into 3D gameplay.<br /> |-<br /> | Sonic Rivals || ULES00622 || {{unplayable}} || <br /> |-<br /> | Sonic Rivals 2 || {{?}} || {{majorissues}} || Appears working up until you start a stage, where nothing but the HUD graphics display.<br /> |-<br /> | Sora wo Aogite Kumotakaku Portable || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | Soreyuke! Burunyan-Man Portable || NPJH50656 || {{playable}} || Works as a Remaster and mini.<br /> |-<br /> | SoulCalibur Broken Destiny || ULUS10457 || {{playable}} || Works as a Remaster.<br /> |-<br /> | Space Invaders Extreme || {{?}} || {{majorissues}} || None. Compression Used: No, SAV temp Fix Applied: No.<br /> |-<br /> | Space Invaders Extreme || ULES01078 || {{playable}} || <br /> |-<br /> | Space Invaders Extreme || ULJM05315 || {{playable}} || Works as a Remaster.<br /> |-<br /> | Spaceball Revolution Mini || NPEZ00120 || {{playable}} || <br /> |-<br /> | Spectral Souls: Resurrection of the Ethereal Empires || {{?}} || {{majorissues}} || FMVs are not visible. Cannot save.<br /> |-<br /> | Spectral VS Generation || ULES00757 || {{unplayable}} || PS3minis 2.1.2 Remaster - Won't boot and freezes PS3<br /> |-<br /> | Spiderman 2 || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Spiderman 3 || {{?}} || {{majorissues}} || Remaster: framerate too slow to be playable.<br /> |-<br /> | Split Second || ULUS10513 || {{majorissues}} || Resigned EBOOT. Performance issues, unplayable using &quot;3rd person view&quot; camera.<br /> |-<br /> | Spongebob Squarepants The Yellow Avenger || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | SSX On tour || {{?}} || {{unplayable}} || Freezes on loading screen.<br /> |-<br /> | Stand O'Food Mini || NPEZ00002 || {{unplayable}} || Black Screen / Freeze.<br /> |-<br /> | Star Ocean: First Departure || ULUS10374 || {{playable}} || Compression Used: No; SAV temp Fix Applied: No; -- Undub also works.<br /> |-<br /> | Star Ocean: Second Evolution || ULUS10375 || {{playable}} || Compression Used: No; SAV temp Fix Applied: No; -- Undub also works.<br /> |-<br /> | Star Trek - Tactical Assault || ULES00623 || {{playable}} || <br /> |-<br /> | Star Wars Battlefront - Renegade Squadron || ULES00861 || {{playable}} || <br /> |-<br /> | Star Wars Battlefront II || ULES00183 || {{playable}} || <br /> |-<br /> | Star Wars Battlefront: Elite Squadron || ULUS10390 || {{playable}} || Work with remaster or mini, save ok<br /> |-<br /> | Star Wars Battlefront: Renegade Squadron || ULUS10292 || {{playable}} || <br /> |-<br /> |rowspan=&quot;2&quot;|<br /> Star Wars Lethal Alliance<br /> || ULUS10188 ||{{unplayable}} || Tested as a Remaster.<br /> |-<br /> || ULES00599 || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> <br /> | Star Wars: The Clone Wars Republic Heroes || ULES01284 || {{playable}} || <br /> |-<br /> | Star Wars: The Force Unleashed || {{?}} || {{majorissues}} || Remaster method. Plays somewhat then slows to an unbearably slow speed.<br /> |-<br /> | State Shift || ULES00776 || {{playable}} || <br /> |-<br /> | Steambot Chronicles Battle Tournament || ULUS10470 || {{minorissues}} || PS3 Minis 2.1.2 - Remaster: audio slowdown and a few texture glitches.<br /> |-<br /> | Street Fighter Alpha 3 Max (US &amp; EU) || {{?}} || {{minorissues}} || Can't save game, &quot;no memory stick duo found&quot; message; needs a save present in order to overwrite it.<br /> |-<br /> | Street Fighter Zero 3 Double Upper || {{?}} || {{minorissues}} || This one doesn't freeze after a fight. Load/save still not working even with &quot;tmp&quot; fixes, you can load and save an injected game save.<br /> |-<br /> | Street Supremacy || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Strikers 1945 Plus || ULKS46198 || {{playable}} || <br /> |-<br /> |rowspan=&quot;2&quot;|<br /> Summon Night 5<br /> || NPJH50696 || {{majorissues}} || Works with EBOOT resigned (tested as remaster), but freezes on selecting &quot;1st stage&quot;.<br /> |-<br /> || ULUS10656G || {{minorissues}} || Works in Remaster Launcher. Game occasionally can crash in battle, sometimes the same battle on repeated occasions. Seems to be possible to eventually get past said problematic battles.<br /> |-<br /> <br /> | Sunday vs Magazine Shuuketsu || ULJM05450] || {{playable}} || PS3minis 2.1.2 Remaster - no issues<br /> |-<br /> | Super Collapse 3 || ULUS10287 || {{playable}} || Minor graphical issues.<br /> |-<br /> | Super Dangan Ronpa 2 || NPJH50631 || {{unplayable}} || Black screen.<br /> |-<br /> | Super Fruit Fall || ULES00639 || {{playable}} || <br /> |-<br /> | Super Monkey Ball Adventure || ULUS10132 || {{playable}} ||<br /> |-<br /> | Super Pocket Tennis || ULES00619 || {{playable}} || <br /> |-<br /> | Super Robot Taisen A Portable || {{?}} || {{playable}} || <br /> |-<br /> | Super Robot Taisen OG Saga: Masou Kishin - The Lord of Elemental || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Super Robot Taisen Z Saiseihen || {{?}} || {{unplayable}} || Remaster: Freeze at Bandai title<br /> |-<br /> | Super Robot Taisen Z2 Hakai Hen || NPJH50555 || {{playable}} || Works as a Remaster.<br /> |-<br /> | Super Robot Taisen Z2 Hakai Hen || ULJS00379 || {{unplayable}} || Black screen.<br /> |-<br /> | Super Robot Taisen Z2 Saisei Hen || NPJH50517 || {{playable}} || Works as a Remaster.<br /> |-<br /> | Super Robot Taisen Z2 Saisei Hen || ULJS00460 || {{unplayable}} || Black screen.<br /> |-<br /> <br /> |rowspan=&quot;2&quot;|<br /> SWAT: Target Liberty<br /> || ULES00927 || {{playable}} || Works if eboot is fixed.<br /> |-<br /> || ULUS10314 || {{unplayable}} || Black screen.<br /> |-<br /> <br /> | Sword Art Online Infinity Moment || {{?}} || {{unplayable}} || Freezes. Guess: This game requires data to be installed?<br /> |-<br /> | Syphon Filter: Dark Mirror || UCUS98641 || {{unplayable}} || Freezes.<br /> |-<br /> | Syphon Filter: Logan's Shadow || {{?}} || {{unplayable}} || Freezes.<br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · &lt;span style=&quot;color:#FF0000&quot;&gt;S&lt;/span&gt; · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> == T ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | T.N.K III || NPUZ00147 || {{playable}} || <br /> |-<br /> | Tactics Ogre: Let Us Cling Together || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | Tactics Ogre: Let Us Cling Together || ULES01500 || {{playable}} || Re-sign EBOOT.BIN &amp; add MINIS2 Settings<br /> VFPU_USE_FAST_VMMUL = 1<br /> AW.EXT_MODE = 3<br /> AW.EXT_CMD = 2<br /> AW.LINEAR_ADRS = 40<br /> AW.DISABLE_FB_TEX = 100<br /> |-<br /> | Taiko no Tatsujin Portable || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | Taiko no Tatsujin Portable 2 || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | Taiko no Tatsujin Portable DX || NPJH50426 || {{playable}} || Sometimes slowdown as Remaster. minis is no issues.<br /> |-<br /> | Taito Legends PowerUp || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Taitsujin Portable || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Tales of Destiny 2 || ULJS00097 || {{playable}} || Must load saves from in-game, it doesn't work from the title screen.<br /> |-<br /> | Tales of Eternia || ULES00176 || {{playable}} || Works perfect as ISO. Disgusting graphics on HDTV.<br /> |-<br /> | Tales of Phantasia Narikiri Dungeon X || {{?}} || {{minorissues}} || Works with resigned EBOOT, runs at halved speed outside of battles, and nearly double speed during battles, character sprites randomly disappear outside of battles. Tales of Phantasia X doesn't work.<br /> |-<br /> | Tales of Rebirth || ULJS00132 || {{unplayable}} || Black screen after the Minis logo.<br /> |-<br /> | Tales of the Heroes: Twin Brave || NPJH50501 || {{playable}} || Works as a Remaster. Double speed in menu some random minor speed up or slow down in-game.<br /> |-<br /> | Tales of the World: Radiant Mythology || ULUS10271 || {{playable}} || Minor graphical glitches. Playable with Remasters.<br /> |-<br /> | Tales of the World: Radiant Mythology || ULUS10271 || {{playable}} || Works as a Remaster.<br /> VOUT_RESOLUTION_MODE = 0<br /> DRAWN_IMAGE_SCALE = 4<br /> AW.LINEAR_ADRS = 40 - Fixes Minor graphical glitches before battles.<br /> |-<br /> | Tales of the World: Radiant Mythology 2 [Without English Patch] || {{?}} || {{unplayable}} || Black Screen after mini's logo.<br /> |-<br /> | Tales of the World: Radiant Mythology 2 [English Patch] || ULJS00175 || {{playable}} || Works as a Remaster, no problem at all. tested as ISO &amp; PKG.<br /> |-<br /> | Tales of the World: Radiant Mythology 3 || {{?}} || {{unplayable}} || <br /> |-<br /> | Tales of VS || {{?}} || {{unplayable}} || Game loads to menu, but freezes before the start of each fight.<br /> |-<br /> | Tekken 5: Dark Resurrection || {{?}} || {{minorissues}} || Texture issues.<br /> |-<br /> | Tekken 5: Dark Resurrection v2 || UCES00356] || {{unplayable}} || Freezes after game logo as Remaster.<br /> |-<br /> |rowspan=&quot;2&quot;|<br /> Tekken 6<br /> || ULES01376 || {{playable}} || Works as a Remaster.<br /> |-<br /> || ULUS10466 || {{playable}} || Works as a Remaster.<br /> |-<br /> <br /> | Telegraph Crosswords Mini || NPEZ00112 || {{unplayable}} || Black Screen / Freeze.<br /> |-<br /> | Telly Addicts || ULES00983 || {{playable}} || Works as a Remaster.<br /> |-<br /> | Tenchu: Time of the Assassins || ULES00277 || {{playable}} || <br /> |-<br /> | Test Drive Unlimited || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | The 3rd Birthday &lt;br/&gt; &lt;small&gt;''Parasite Eve: The 3rd Birthday''&lt;/small&gt; || ULES01513 || {{minorissues}} || Works as a Remaster. Minor glitches in the in-game menus. Runs very well, but displays a blue overlay throughout the game. When game boots a screen will ask you to press X but then disappears. Just press X to continue. Minis2 settings:<br /> ADDITIONAL_KEY_ASSIGN = 0000000047C6C544 to move camera with right stick <br /> AW.DISABLE_FB_TEX = 200 - reduces blue overlay a lot.<br /> |-<br /> | The Con || {{?}} || {{unplayable}} || <br /> |-<br /> | THE Eye of Judgment Legends || {{?}} || {{playable}} || <br /> |-<br /> | The Eye of Judgment Shintaku no Wizard || {{?}} || {{playable}} || <br /> |-<br /> | THE IDOLM@STER SP: MISSING MOON || {{?}} || {{playable}} || Tested the translated version.<br /> |-<br /> | THE IDOLM@STER SP: PERFECT SUN || {{?}} || {{playable}} || Tested the translated version.<br /> |-<br /> | The Impossible Game || {{?}} || {{unplayable}} || <br /> |-<br /> | The King of Fighters Collection - The Orochi Saga || ULUS10360 || {{majorissues}} || Needs Remaster method, hardly working with long load times. <br /> |-<br /> | The Legend of Heroes: A Tear of Vermillion || ULUS10022 || {{unplayable}} || Completely freezes after &quot;Falcom&quot; logo. Remasters and Minis. <br /> |-<br /> | The Legend of Heroes: Trails in the Sky || ULUS10540 || {{playable}} || Works as iso in Remaster Launcher. Needs resigned eboot to be turned into a working remaster package.<br /> |-<br /> | The Legend of Heroes: Trails in the Sky SC || NPUH10191 &lt;br/&gt; NPUH10197 || {{playable}} || Works as iso in Remaster Launcher. Needs resigned eboot to be turned into a working Remaster package.<br /> |-<br /> | The Red Star || NPUH10040 || {{playable}} || <br /> |-<br /> | The Secret Saturdays Beasts of the 5th Sun || ULES01363 || {{playable}} || Default minis2 settings, sign eboot -t4.<br /> |-<br /> | The Simpsons Game || {{?}} || {{unplayable}} || Freeze at first loading screen.<br /> |-<br /> | The Sims 2 || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | The Terminator Mini || NPEZ00140 || {{playable}} || <br /> |-<br /> | This Is Football Management Mini || {{?}} || {{unplayable}} || Some do work / some do not (conversion issues with eboot.pbp).<br /> |-<br /> | Thrillville || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Thrillville - Off the Rails || {{?}} || {{majorissues}} || Tested as a Remaster &amp; Minis, FMVs overlaps &amp; stutters, graphical vertices corruptions (gray pixelated lines all over the screen). (CodedXtreme).<br /> |-<br /> | Tiger Trouble Mini || NPEZ00129 || {{playable}} || <br /> |-<br /> | Tiger Woods Tour '07 || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Tiger Woods Tour '08 || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Time Soldiers || {{?}} || {{playable}} || <br /> |-<br /> | Time Travelers || {{?}} || {{unplayable}} || Black screen after warning notes as Remaster.<br /> |-<br /> | TMNT: Teenage Mutant Ninja Turtles || ULUS10243 || {{playable}} || Works as a Remaster.<br /> |-<br /> | Toaru kagaku no railgun || ULJS00354 || {{playable}} || Works as a Remaster.<br /> |-<br /> | Toaru majutsu to kagaku no ensemble || NPJH50700 || {{playable}} || Works as a Remaster.<br /> |-<br /> | Toaru Majyutsu No Index || {{?}} || {{playable}} || <br /> |-<br /> | Toca Race Driver 2 || {{?}} || {{unplayable}} || Black screen.<br /> |-<br /> | Toca Race Driver 3 || {{?}} || {{unplayable}} || Wlan error and freeze.<br /> |-<br /> | Tokobot || {{?}} || {{majorissues}} || Random freezes.<br /> |-<br /> | Tom Clancy's Ghost Recon Predator || ULUS10445 || {{unplayable}} || Black screen/unhandled exception in TargetManager log.<br /> |-<br /> | Tom Clancy's Rainbow Six Vegas || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Tom Clancys EndWar || ULUS10358 || {{playable}} || <br /> |-<br /> | Tomb Raider Anniversary || ULES00826 || {{majorissues}} || Works fine as Remaster, but have SAVEDATA corruption issue (can't save progress). (Play the Remastered Trilogy version for PS3, it includes Anniversary).<br /> |-<br /> | Tomb Raider Legend || ULES00283 || {{unplayable}} || After game logo Black Screen as Remaster. (Play the Remastered Trilogy version for PS3, it includes Legend).<br /> |-<br /> | Tony Hawk's Project 8 || {{?}} || {{majorissues}} || Bad graphic glitches.<br /> |-<br /> | Tony Hawks Underground 2 Remix || {{?}} || {{unplayable}} || <br /> |-<br /> | Toriko || {{?}} || {{unplayable}} || Black screen.<br /> |-<br /> | Toukiden || NPJH50789 || {{unplayable}} || Works fine as a Remaster, but can not save.<br /> |-<br /> | Toy Story 3 || {{?}} || {{unplayable}} || Black screen. (Play the PS2 version on PS3, it works fine).<br /> |-<br /> | Transformers - Revenge of the Fallen || ULUS10433 || {{playable}} || Works as a Remaster.<br /> |-<br /> | Transformers - The Game || {{?}} || {{playable}} || <br /> |-<br /> | Twinbee Portable || ULJM05221 || {{unplayable}} || Minis and remaster stuck on &quot;loading&quot; screen.<br /> |-<br /> | Twisted Metal Heads On || {{?}} || {{unplayable}} || Freezes.<br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · &lt;span style=&quot;color:#FF0000&quot;&gt;T&lt;/span&gt; · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> == U ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | Ultimate Ghost 'n Goblins || ULUS10105 || {{minorissues}} || Runs too fast as minis. Runs at normal speed as Remasters.<br /> |-<br /> | Ultraman Allstar Chronicle || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | Umihara Kawase Portable || ULJS00137 || {{playable}} || PS3minis 2.1.2 Remaster, no issues<br /> |-<br /> | Unchained Blades || {{?}} || {{playable}} || <br /> |-<br /> | Undead Knights || ULUS10453 || {{playable}} || PS3minis 2.1.2 Remaster, no issues<br /> |-<br /> | Untold Legends: The Warriors code || ULES00301 || {{unplayable}} || Mini or Remasters Freezes few minutes in game.<br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · &lt;span style=&quot;color:#FF0000&quot;&gt;U&lt;/span&gt; · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> <br /> <br /> == V ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | Valhalla Knights || ULUS10230 || {{minorissues}} || PS3minis 2.1.2 Remaster -- Mini map only shows location icons<br /> |-<br /> | Valhalla Knights 2 || ULUS10366 || {{playable}} || <br /> |-<br /> | Valkyria Chronicles II || ULES01417 || {{playable}} || Works as a Remaster. Creates faulty savegames.<br /> |-<br /> | Valkyria Chronicles III Extra Edition || ULJM05957 || {{unplayable}} || Freezes. Eboot fix applied.<br /> |-<br /> | Valkyrie Profile Lenneth || {{?}} || {{unplayable}} || System hangs, must reset power to exit as Mini or Remaster.<br /> |-<br /> | Vanguard || NPUZ00148 || {{playable}} || <br /> |-<br /> | Vanguard 2 || NPUZ00149 || {{playable}} || <br /> |-<br /> | Vantage Master Portable || ULJM05332 || {{playable}} || <br /> |-<br /> | Vector Mini || {{?}} || {{unplayable}} || Some do work / some do not (conversion issues with eboot.pbp).<br /> |-<br /> | Venus &amp; Braves || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Virtua Tennis 3 || {{?}} || {{unplayable}} || <br /> |-<br /> | Virtua Tennis World Tour || ULUS10037 || {{minorissues}} || Minor screen flickering when views/screens change.<br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · &lt;span style=&quot;color:#FF0000&quot;&gt;V&lt;/span&gt; · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> <br /> <br /> == W ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | Wall•E || ULES01072 || {{playable}} || Works as a Remaster.<br /> |-<br /> | Warhammer 40.000 - Squad Command || ULES00873 || {{minorissues}} || Works well, minor graphical glitches.<br /> |-<br /> | Warriors Orochi || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Warriors Orochi 2 || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | What Did I Do to Deserve This, My Lord?! || ULUS10456 || {{unplayable}} || PS3minis 2.1.2 Remaster - Freezes on boot<br /> |-<br /> | What Did I Do to Deserve This, My Lord! 2 || {{?}} || {{playable}} || Works as a Remaster. (default mini2 settings), sign eboot -t4.<br /> |-<br /> | White Knight Chronicles Origins || UCES01511 || {{unplayable}} || Black screen.<br /> |-<br /> | Who Wants to be a Millionare || {{?}} || {{unplayable}} || Tested as a Remaster.<br /> |-<br /> | Wild Arms XF || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | Williams Pinball Classics (v2) (Europe) ISO || {{?}} || {{playable}} || Works as a Remaster. Default mini2 settings, sign eboot -t4.<br /> |-<br /> | WipEout Pulse || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | WipEout Pure || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | World Poker Tour || ULES00296 || {{playable}} || <br /> |-<br /> | World Series of Poker Tournament of Champions || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | World Tour Soccer || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | Worms Open Warfare 2 || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | WTF: Work Time Fun || {{?}} || {{playable}} || Works as a Remaster.<br /> |-<br /> | WWE Smackdown vs RAW 2006 || {{?}} || {{unplayable}} || tested as a Remaster.<br /> |-<br /> | WWE SmackDown vs. Raw 2011 || ULUS10543 || {{unplayable}} || Black screen/unhandled exception in TargetManager log.<br /> |-<br /> | WWII Battle Over the Pacific || {{?}} || {{minorissues}} || Works as a Remaster. Slight graphical error<br /> |-<br /> | Warriors.The || {{?}} || {{unplayable}} || Black screen PSP Remastered<br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · &lt;span style=&quot;color:#FF0000&quot;&gt;W&lt;/span&gt; · [[#X|X]] · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> <br /> <br /> == X ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | X-Men Legends 2 (US) || {{?}} || {{unplayable}} || <br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · &lt;span style=&quot;color:#FF0000&quot;&gt;X&lt;/span&gt; · [[#Y|Y]] · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> <br /> <br /> == Y ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | Yggdra Union || {{?}} || {{playable}} || Remaster: No issues <br /> |-<br /> | Young Thor || {{?}} || {{playable}} || <br /> |-<br /> | Ys 6 The Ark of Napishtim || ULUS10051 || {{playable}} || Use ISO not CSO. Compression Used: No; SAV temp Fix applied: No;<br /> |-<br /> | Ys I and II Chronicles || ULUS10547 || {{playable}} || Need to manually resign ys1.bin and ys2.bin then relink either y1.bin to the eboot to play ys1 or relink ys2.bin to eboot to play ys2 use umd gen to relink.<br /> |-<br /> | Ys Oath in Felghana || ULUS10558 || {{playable}} || Works fine as Minis.<br /> |-<br /> | Ys Seven || ULUS10551 || {{playable}} || Works fine, prxencryptor (PrxEncrypter_mod2) used, default settings in mini2:<br /> S3D.ENABLE = 0<br /> SAVEDATA_USE_PS3_SAVE = 1<br /> (randomly freezes on changing screens).<br /> |-<br /> | Yu-Gi-Oh 5D's Tag Force 6 || {{?}} || {{unplayable}} || Freezes.<br /> |-<br /> | Yu-Gi-Oh! GX Tag Force 3 || ULES01183 || {{unplayable}} || <br /> |-<br /> | Yu-Gi-Oh! Tag Force 6 (no english patch) || {{?}} || {{unplayable}} || Few screens until it gets stuck on black screen for both mini and Remaster.<br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · &lt;span style=&quot;color:#FF0000&quot;&gt;Y&lt;/span&gt; · [[#Z|Z]] · [[#top|Back to Top]]&lt;/div&gt;&lt;/span&gt;<br /> <br /> <br /> <br /> == Z ==<br /> {| border=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;wikitable center mw-datatable&quot; style=&quot;font-size:85%; text-align:left&quot;<br /> ! style=&quot;width:30%&quot; | NAME !! style=&quot;width:6%&quot;| DISC ID !! style=&quot;width:7%&quot;| STATUS !! style=&quot;width:57%&quot;| NOTES &lt;small&gt;&lt;div style=&quot;float:right;&quot;&gt;[[PSP Emulator Compatibility List#top|Back to Top]]&lt;/div&gt;&lt;/small&gt;<br /> |-<br /> | Z.H.P. Unlosing Ranger VS Darkdeath Evilman || {{?}} || {{minorissues}} || Needs EBOOT fix. The game freezes if you enter the Options menu.<br /> |-<br /> | Zenonia || NPUZ00132 || {{playable}} || PS3minis 2.1.2 Remaster - no issues<br /> |-<br /> | Zettai Zetsumei Toshi 3 || {{?}} || {{unplayable}} || Hangs at character select screen as Remaster.<br /> |-<br /> | Zombie Tycoon || {{?}} || {{minorissues}} || Some versions work flawlessly. Graphical errors and text do not display.<br /> |-<br /> | Zuma || {{?}} || {{majorissues}} || Needs EBOOT fix. Says not enough space for save file but creates one anyway. Works, but then you can't load it again until you delete the save file in XMB.<br /> |}<br /> &lt;span style=&quot;font-size:85%&quot;&gt;&lt;div align=&quot;right&quot;&gt;[[##|#]] · [[#A|A]] · [[#B|B]] · [[#C|C]] · [[#D|D]] · [[#E|E]] · [[#F|F]] · [[#G|G]] · [[#H|H]] · [[#I|I]] · [[#J|J]] · [[#K|K]] · [[#L|L]] · [[#M|M]] · [[#N|N]] · [[#O|O]] · [[#P|P]] · [[#Q|Q]] · [[#R|R]] · [[#S|S]] · [[#T|T]] · [[#U|U]] · [[#V|V]] · [[#W|W]] · [[#X|X]] · [[#Y|Y]] · &lt;span style=&quot;color:#FF0000&quot;&gt;Z&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;<br /> <br /> &lt;br/&gt;<br /> &lt;br/&gt;<br /> &lt;br/&gt;<br /> &lt;br/&gt;<br /> == See Also ==<br /> &lt;span style=&quot;float:right&quot;&gt;[[#top|'''&lt;small&gt;Back to Top&lt;/small&gt;''']]&lt;/span&gt;<br /> * [[PS1 Classics Emulator Compatibility List]]<br /> * [[PS2 Classics Emulator Compatibility List]]<br /> * [[CFW2OFW Compatibility List]]<br /> <br /> &lt;br/&gt;<br /> &lt;br/&gt;<br /> &lt;br/&gt;<br /> &lt;br/&gt;<br /> {{Reverse engineering}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=4.84_CEX&diff=52675 4.84 CEX 2019-02-23T14:11:05Z <p>Mysis: /* Changes */</p> <hr /> <div>Released: {{date|14-02-2019}}<br /> <br /> = Changes =<br /> <br /> == Changed files compared to [[4.83_CEX|4.83 CEX]]==<br /> <br /> === CORE OS ===<br /> <br /> * lv0<br /> * lv1.self<br /> * lv2_kernel.self<br /> <br /> === dev_flash ===<br /> <br /> bdplayer\<br /> * AacsModule.spu.isoself<br /> * bdp_BDMV.self<br /> * bdp_BDVD.self<br /> <br /> ps1emu\<br /> * ps1_emu.self<br /> * ps1_netemu.self<br /> * ps1_newemu.self<br /> <br /> ps2emu\<br /> * ps2_emu.self<br /> <br /> pspemu\<br /> * psp_emulator.self<br /> * psp_translator.self<br /> <br /> pspemu\release\<br /> * PEmuCoreLib.sprx<br /> <br /> sys\external\<br /> * libadec.sprx<br /> * libadec2.sprx<br /> * libadec_internal.sprx<br /> * libfiber.sprx<br /> * libhttp.sprx<br /> * liblv2coredump.sprx<br /> * libmedi.sprx<br /> * libsail.sprx<br /> * libsail_rec.sprx<br /> * libspurs_jq.sprx<br /> * libsre.sprx<br /> * libsync2.sprx<br /> * libvdec.sprx<br /> <br /> sys\internal\<br /> * sys_audio.self<br /> * sys_init_osd.self<br /> <br /> vsh\module\<br /> * avc2_text_plugin.sprx<br /> * explore_category_friend.sprx<br /> * explore_plugin.sprx<br /> * explore_plugin_np.sprx<br /> * friendim_plugin.sprx<br /> * friendml_plugin.sprx<br /> * friendtrophy_plugin.sprx<br /> * hknw_plugin.sprx<br /> * msmw2.sprx<br /> * np_oauth.sprx<br /> * profile_plugin.sprx<br /> * rec_plugin.sprx<br /> * vsh.self<br /> * x3_mdimp10.sprx<br /> * x3_mdimp7.sprx<br /> <br /> = Download =<br /> * https://yadi.sk/d/dP77SvjdFYvJwQ<br /> * {{updates|ps3.update.playstation.net/update/ps3/image/eu/2019_0214_da485a99e39105b2ccffa5af59f82221}}<br /> <br /> = PUP hashes =<br /> 4.84 RETAIL/CEX | MD5:DA485A99E39105B2CCFFA5AF59F82221 | SHA1:8390B9F61198BDC4311B014865BB9BA23C427DE9 | CRC32:BBD4BDC2<br /> <br /> = PUP Information =<br /> &lt;pre&gt;PUP file information<br /> Package version: 1<br /> Image version: 67805<br /> File count: 9<br /> Header length: 656<br /> Data length: 206146060<br /> PUP file hash : 2A0A168E2E8CEB61F1BF420E0C9A347F7C353E57<br /> File 0<br /> Entry id: 0x100<br /> Filename : version.txt<br /> Data offset: 0x290<br /> Data length: 5<br /> File hash : 19888473D335BD867D742385B447A03F2243B7B7<br /> File 1<br /> Entry id: 0x101<br /> Filename : license.xml<br /> Data offset: 0x295<br /> Data length: 309599<br /> File hash : CC5B8370F2CB401FB9A7DD63749671C61C483823<br /> File 2<br /> Entry id: 0x103<br /> Filename : update_flags.txt<br /> Data offset: 0x4BBF4<br /> Data length: 5<br /> File hash : FD7C893936FDFC668922BE6D119A462111B2BBDB<br /> File 3<br /> Entry id: 0x200<br /> Filename : ps3swu.self<br /> Data offset: 0x4BBF9<br /> Data length: 5668944<br /> File hash : 52E2F561CAE4A6A46EFD08DCC9A07899F26C704F<br /> File 4<br /> Entry id: 0x201<br /> Filename : vsh.tar<br /> Data offset: 0x5B3C49<br /> Data length: 10240<br /> File hash : D9B66E0D2845D71A67D76E7907AB06368CE61E08<br /> File 5<br /> Entry id: 0x202<br /> Filename : dots.txt<br /> Data offset: 0x5B6449<br /> Data length: 3<br /> File hash : 1AA4749D0EE0D0AE937FBF73BC4B9ACD352F732A<br /> File 6<br /> Entry id: 0x300<br /> Filename : update_files.tar<br /> Data offset: 0x5B644C<br /> Data length: 194406400<br /> File hash : E83C39B45AFA4137810CB5E1BB46988BC16C1435<br /> File 7<br /> Entry id: 0x501<br /> Filename : spkg_hdr.tar<br /> Data offset: 0xBF1CC4C<br /> Data length: 81920<br /> File hash : 53728BE0612472089C49DEE2896F4EDFF639034C<br /> File 8<br /> Entry id: 0x601<br /> Filename : ps3swu2.self<br /> Data offset: 0xBF30C4C<br /> Data length: 5668944<br /> File hash : EEA1CEB3A78DC858BABDEA26201E8732FE4BEA2E&lt;/pre&gt;<br /> <br /> = CoreOS Filehashes =<br /> <br /> {{System Firmware}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis http://www.psdevwiki.com/ps3/index.php?title=LV2_Functions_and_Syscalls&diff=52342 LV2 Functions and Syscalls 2019-01-20T23:21:35Z <p>Mysis: </p> <hr /> <div>= Structures =<br /> &lt;source lang=&quot;cpp&quot;&gt;<br /> struct sys_process_info_t __attribute__ ((packed)) {<br /> process_id_t pid;<br /> uint32_t status;<br /> uint32_t ppu_thread_count;<br /> uint32_t spu_thread_count;<br /> uint32_t raw_spu_count;<br /> process_id_t parent_pid;<br /> char* image_file_name;<br /> uint32_t memory_size;<br /> uint8_t osabi_type;<br /> uint8_t pad[3];<br /> uint64_t interrupt_bitmap_mask;<br /> uint32_t dbg_trace_id;<br /> };<br /> <br /> <br /> struct sys_prx_load_module_option_t {<br /> uint64_t size; /* sizeof(this) */<br /> };<br /> <br /> struct sys_prx_dbg_get_module_list_t {<br /> uint64_t size; /* sizeof(this) *//* 8 */<br /> uint32_t unk0;<br /> uint32_t max;<br /> sys_prx_user_p_prx_id_t idlist;<br /> uint32_t count; <br /> sys_prx_user_p_stop_level_t levellist; <br /> uint32_t unk1;<br /> } sys_prx_dbg_get_module_list_t;<br /> <br /> struct sys_prx_start_t {<br /> uint64_t flag; // flag ?<br /> uint64_t mode; // mode ?<br /> uint64_t entry; //either first arg of pe_func or casted to sys_prx_entry_t (see sys/prx.h)<br /> int64_t modres;<br /> uint64_t pe_func; //casted to sys_prx_entry_pe_t (see sys/prx.h)<br /> };<br /> &lt;/source&gt;<br /> <br /> = Functions =<br /> <br /> === string.h ===<br /> {| class=&quot;wikitable&quot;<br /> |-<br /> !Function<br /> !Notes<br /> !Offset in 3.55<br /> !Offset in 3.41 <br /> !Offset in 3.15<br /> !Offset in 3.10<br /> !Offset in 3.01<br /> !Offset in 2.76<br /> |-<br /> |char *strcpy(char *dest, const char *src) <br /> |<br /> |0x4E684<br /> |0x4D2F0 <br /> |0x4CDAC<br /> |0X4CDA8<br /> |0x4AAC4<br /> |0x469B8<br /> |-<br /> |int strlen(char *str) <br /> |<br /> |0x4E6AC<br /> |0x4D318 <br /> |0X4CDD4<br /> |0X4CDD0<br /> |0x4AAEC<br /> |0x469E0<br /> |-<br /> |char *strcat(char *destination, const char *source)<br /> |<br /> |0x4E5B4<br /> |0x4D220<br /> |0x4CCDC<br /> |<br /> |<br /> |<br /> |-<br /> |char *strchr(const char* str, char chr)<br /> |<br /> |0x4E5EC<br /> |0x4D258<br /> |0x4CD14<br /> |<br /> |<br /> |<br /> |-<br /> |char *strrchr(const char* str, char chr)<br /> |<br /> |<br /> |<br /> |0x4CEE4<br /> |<br /> |<br /> |<br /> |-<br /> |int strcmp(const char *s1, const char *s2)<br /> |<br /> |0x4E630<br /> |0x4D29C<br /> |0x4CD58<br /> |<br /> |<br /> |<br /> |-<br /> |int strncmp(const char *s1, const char *s2, size_t n)<br /> | <br /> |0x4E6D8<br /> |0x4D344 <br /> |0X4CE00<br /> |0X4CDFC<br /> |0x4AB18<br /> |0x46A0C<br /> |-<br /> |char *strncpy(char *destination, const char *source, size_t num)<br /> |<br /> |0x4E74C<br /> |0x4D3B8<br /> |0x4CE74<br /> |<br /> |<br /> |<br /> |-<br /> |int memcmp(void *v1, void *v2, size_t n)<br /> | <br /> |0x4D7E8<br /> |0x4C454 <br /> |0x4BF10<br /> |<br /> |<br /> | <br /> |-<br /> |void *memchr(void *s, int c, size_t n) <br /> | <br /> |<br /> |<br /> |0x4BEC0<br /> | <br /> |<br /> |<br /> |-<br /> |void *memcpy(void *dest, const void *src, size_t n) <br /> | <br /> |0x7C3A4<br /> |0x7C01C<br /> |0X7BE9C<br /> |0X7BE98<br /> |0x77E84<br /> |0x7395C<br /> |-<br /> |void *memset(void *s, int c, size_t n)<br /> |<br /> |0x4E4D8<br /> |0x4D144 <br /> |0X4CC00<br /> |0X4CBFC<br /> |0x4A95C<br /> |0x46850<br /> |-<br /> |}<br /> <br /> === stdio.h ===<br /> {| class=&quot;wikitable&quot;<br /> !Function<br /> !Notes<br /> !Offset in 3.55<br /> !Offset in 3.41 <br /> !Offset in 3.15<br /> |-<br /> |int snprintf(char *str, size_t size, char *format, ...) <br /> | <br /> |0x4F86C<br /> |0x4E4D8<br /> |0x4DF94<br /> |-<br /> |int sprintf(char *str, char *format, ...) <br /> | <br /> |0x4F900<br /> |0x4E56C <br /> |0x4E028<br /> |-<br /> |int printf(char *format, ...) <br /> |This prints to the serial debug console. <br /> |0x29285C<br /> |0x28A654 <br /> |0x28A11C<br /> |-<br /> |}<br /> <br /> === lv2 ===<br /> {| class=&quot;wikitable&quot;<br /> |-<br /> !Function<br /> !Notes<br /> !Offset in 4.46<br /> !Offset in 3.55<br /> !Offset in 3.41 <br /> !Offset in 3.15<br /> !Offset in 3.10<br /> !Offset in 3.01<br /> !Offset in 2.76<br /> |-<br /> |void* alloc(size_t size, int unk)<br /> |unk is possibly pool? PSGroove uses 0x27.<br /> |0x62F78<br /> |0x60b78<br /> |0x62088 <br /> |0x61CF0 <br /> |0x61CEC <br /> |0x5DF4C <br /> |0x59D54<br /> |-<br /> |void dealloc(void* ptr, int unk)<br /> |unk is possibly pool? Should be the same value of unk given to alloc.<br /> |<br /> |0x60fb4<br /> |0x624C8 <br /> |0x62138 <br /> |0x62134 <br /> |0x5E38C <br /> |0x5A194<br /> |-<br /> |void process_utils::create_initial_system_process().<br /> |Called to start the first userspace process, which is normally &quot;sys_init_osd.self&quot; but it can also launch recovery mode or update mode.<br /> |<br /> |<br /> |0x287D50 <br /> |0x287858<br /> |<br /> |<br /> |<br /> |- <br /> |void Panic(int unk) <br /> |This function does not return.<br /> (It seems that the offset point to a location that will cause panic after, not the real panic function, use with caution)<br /> |<br /> |<br /> |0x288568<br /> |0x288070<br /> |<br /> |<br /> | <br /> |-<br /> |USBGetDeviceDescriptor<br /> |USB function<br /> |<br /> |<br /> |0xd2998<br /> |0xd3474<br /> |<br /> |<br /> |0xCCD2C<br /> |-<br /> |USBOpenEndpoint<br /> |<br /> |<br /> |<br /> |0xd29c4<br /> |0xd34ac<br /> |<br /> |<br /> |0xCCD58<br /> |-<br /> |USBControlTransfer<br /> |<br /> |<br /> |<br /> |0xd292c<br /> |0xd3408<br /> | <br /> |<br /> |0xCCCC0<br /> |-<br /> |USBRegisterDriver<br /> |<br /> |<br /> |<br /> |0xd22d8<br /> |0xd2978<br /> |<br /> |<br /> |0xCC6A0<br /> |-<br /> |}<br /> <br /> === Lv2 System Table Offset ===<br /> {| cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; border=&quot;1&quot; class=&quot;wikitable&quot; style=&quot;text-align: center;&quot;<br /> |-<br /> ! FW version !! Alloc !! Free !! Syscall&lt;br /&gt;Table !! Mem_base !! TOC !! Copy&lt;br /&gt;to&lt;br /&gt;User !! Notes<br /> |-<br /> | 4.82 Retail || || || 0x363BE0 || || 0x34FBB0 || || <br /> |-<br /> | 4.81 Retail || || || 0x363BE0 || || 0x34FBB0 || || <br /> |-<br /> | 3.56 Retail || 0x60b24 || 0x60f60 || 0x346570 || 0xef60 || 0x330540 || || <br /> |-<br /> | 3.55 Retail || 0x60b78 || 0x60fb4 || 0x346570 || 0x0ef48 || 0x330540 || 0xf6a4 || <br /> |-<br /> | 3.55 DEX || 0x64464 || 0x648a0 || 0x361578 || 0xf590 || 0x34ac80 || 0xfcec || <br /> |-<br /> | 3.50 Retail || || || || || || || <br /> |-<br /> | 3.42 Retail || || || || || || || <br /> |-<br /> | 3.41 Retail || 0x62088 || 0x624c8 || 0x2eb128 || 0x50b3c || 0x33e720 || 0xe050 || <br /> |-<br /> | 3.41 DEX || 0x65974 || 0x65db4 || 0x303130 || 0x54400 || 0x359320 || 0xe698 || <br /> |-<br /> | 3.41 KIOSK || 0x62084 || 0x624c4 || 0x2eb128 || 0x50b3c || || || <br /> |-<br /> | 3.40 Retail || 0x62084 || 0x624c4 || 0x2eb128 || 0x50b38 || || || <br /> |-<br /> | 3.30 Retail || 0x62080 || 0x624c0 || 0x2ea728 || || || 0xe04c || <br /> |-<br /> | 3.21 Retail || 0x61cf0 || 0x62138 || 0x2ea8a0 || || || 0xe0fc || <br /> |-<br /> | 3.15 Retail || 0x61cf0 || 0x62138 || 0x2ea820 || 0x50608 || 0x33da10 || 0xe0fc || <br /> |-<br /> | 3.15 DEX || 0x65704 || 0x65b4c || 0x302828 || 0x53ff4 || 0x3585f0 || 0xe748 || <br /> |-<br /> | 3.10 Retail || 0x61cec || 0x62134 || 0x2ea820 || || || || <br /> |-<br /> | 3.01 Retail || 0x5df4c || 0x5e38c || 0x2cfb40 || || || || <br /> |-<br /> | 3.00 Retail || || || || || || || <br /> |-<br /> | 2.85 Retail || 0x5daf4 || 0x5df34 || 0x2cbec0 || || || || <br /> |-<br /> | 2.80 Retail || || || || || || || <br /> |-<br /> | 2.76 Retail || 0x59d54 || 0x5a194 || 0x2c4318 || || || 0xe198 || <br /> |-<br /> | 2.70 Retail || 0x59d50 || 0x5a190 || 0x2c4318 || || || 0xe194 || <br /> |-<br /> | 2.60 Retail || 0x59040 || 0x5944c || 0x2b67c0 || || || 0xdfdc || <br /> |-<br /> | 2.53 Retail || 0x5903c || 0x59448 || 0x2b5bb8 || || || 0xdfe0 || <br /> |-<br /> | 2.43 Retail || 0x6c2e0 || 0x6c708 || 0x2d2b18 || || || 0x1e0e0 || <br /> |-<br /> | 2.43 JIG || || || 0x31ddb0 || || 0x371400 || || <br /> |-<br /> | 2.42 DEX || || || 0x2ed980 || || || || <br /> |-<br /> | 1.92 TOOL || || || 0x361e40 || || || || <br /> |-<br /> | 1.60 TOOL || || || 0x36c880 || || || || <br /> |-<br /> | 1.02 Retail || || || 0x322428 || || || || <br /> |-<br /> | 1.50 DEX || || || 0x3384A8 || || 0x392850 || || <br /> |-<br /> | 1.00 DEX || || || 0x3206e0 || || || || <br /> |-<br /> |}<br /> <br /> = Syscalls =<br /> <br /> === LV2 Syscalls ===<br /> {| class=&quot;wikitable sortable&quot;<br /> |-<br /> ! Dec<br /> ! Hex<br /> ! style=&quot;width:100px&quot; | &lt;abbr title=&quot;Firmware Type Specific (CEX,DEX,..)&quot;&gt;fw_type&lt;/abbr&gt;<br /> ! &lt;abbr title=&quot;Additional Settings/Flags required (Control Flags,Product Mode,..)&quot;&gt;needed_flags&lt;/abbr&gt;<br /> ! Name<br /> ! Notes<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_process Syscalls&quot;|[[#sys_process Syscalls]] (1-31) <br /> |-<br /> | 1<br /> | 0x001<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_process_getpid<br /> | sys_pid_t sys_process_getpid(void);<br /> |-<br /> | 2<br /> | 0x002<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_process_wait_for_child<br /> | 3 params: sys_pid_t, uint32_t *status, unk=0<br /> |-<br /> | 3<br /> | 0x003<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_process_exit<br /> | int sys_process_exit(int)<br /> |-<br /> | 4<br /> | 0x004<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Dbg}}<br /> | sys_process_get_status<br /> | int sys_process_get_status(sys_pid_t pid)<br /> |-<br /> | 5<br /> | 0x005<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Dbg}}<br /> | sys_process_detach_child<br /> | 1 param<br /> |-<br /> | 6<br /> | 0x006<br /> |<br /> |<br /> | (sys_process_create_program_segment)<br /> |<br /> |-<br /> | 7<br /> | 0x007<br /> |<br /> | <br /> | (sys_process_destroy_program_segment)<br /> |<br /> |-<br /> | 8<br /> | 0x008<br /> |<br /> |<br /> | (sys_process_authenticate_program_segment)<br /> |<br /> |-<br /> | 9<br /> | 0x009<br /> |<br /> |<br /> | (sys_process_load_program_segment)<br /> |<br /> |-<br /> | 10<br /> | 0x00A<br /> |<br /> |<br /> | (sys_process_unload_program_segment)<br /> |<br /> |-<br /> | 11<br /> | 0x00B<br /> |<br /> |<br /> | (sys_process_find_program_segment)<br /> |<br /> |-<br /> | 12<br /> | 0x00C<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_process_get_number_of_object<br /> | int sys_process_get_number_of_object(uint32_t object_type, uint32_t* count);<br /> |-<br /> | 13<br /> | 0x00D<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_process_get_id<br /> | int sys_process_get_id(uint32_t object, uint32_t * buff, size_t size, size_t * set_size);<br /> |-<br /> | 14<br /> | 0x00E<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_process_is_spu_lock_line_reservation_address<br /> | int sys_process_is_spu_lock_line_reservation_address(sys_addr_t addr, uint64_t flags);<br /> |-<br /> | 15<br /> | 0x00F<br /> |<br /> |<br /> | (sys_process_create)<br /> |<br /> |-<br /> | 17<br /> | 0x011<br /> |<br /> |<br /> | (sys_process_create_primary_ppu_thread)<br /> |<br /> |-<br /> | 18<br /> | 0x012<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_process_getppid<br /> | sys_pid_t sys_process_getppid(void);<br /> |-<br /> | 19<br /> | 0x013<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_process_kill<br /> | int sys_process_kill(sys_pid_t pid);<br /> |-<br /> | 20<br /> | 0x014<br /> |<br /> |<br /> | (sys_process_create_primary_ppu_thread_tls)<br /> |<br /> |-<br /> | 21<br /> | 0x015<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Dbg}}<br /> | _sys_process_spawn<br /> | int sys_process_spawn(int *pid, int prio, uint64_t flags, void *stack, int stack_size, int unk1, int unk2)<br /> |-<br /> | 22<br /> | 0x016<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_process_exit2<br /> | void sys_process_exit2(int error_code,0,0)<br /> |-<br /> | 23<br /> | 0x017<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Dbg}}<br /> | sys_process_wait_for_child2<br /> | 6 params<br /> |-<br /> | 24<br /> | 0x018<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Dbg}}<br /> |<br /> | 8 params, spawns a self<br /> |-<br /> | 25<br /> | 0x019<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_process_get_sdk_version<br /> | 2 params :sys_pid_t pid, uint8_t outbuf[4]<br /> |-<br /> | 26<br /> | 0x01A<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | _sys_process_exit as well<br /> | 4 params (calls sys_process_exit)<br /> |-<br /> | 27<br /> | 0x01B<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Dbg}}<br /> |<br /> | 8 params, spawns a self<br /> |-<br /> | 28<br /> | 0x01C<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | _sys_process_get_number_of_object as well kinda<br /> | int sys_process_get_number_of_object(uint32_t object)<br /> |-<br /> | 29<br /> | 0x01D<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_process_get_id as well<br /> | same as syscall13 just with root flag check, same input etc.<br /> |-<br /> | 30<br /> | 0x01E<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | _sys_process_get_paramsfo<br /> | int _sys_process_get_paramsfo(uint8_t buffer[0x40]); (more info: [[#sys_process_get_paramsfo]])<br /> |-<br /> | 31<br /> | 0x01F<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_process_get_ppu_guid<br /> | sys_addr_t sys_process_get_ppu_guid(void);<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_ppu_thread Syscalls&quot;|[[#sys_ppu_thread Syscalls]] (40-58)<br /> |-<br /> | 41<br /> | 0x029<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_ppu_thread_exit<br /> | int sys_ppu_thread_exit(int errorcode)<br /> |-<br /> | 42<br /> | 0x02A<br /> |<br /> |<br /> | (sys_ppu_thread_get_id)<br /> |<br /> |-<br /> | 43<br /> | 0x02B<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_ppu_thread_yield<br /> | void sys_ppu_thread_yield(void);<br /> |-<br /> | 44<br /> | 0x02C<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_ppu_thread_join<br /> | int sys_ppu_thread_join(sys_ppu_thread_t thread_id, uint64_t * vptr);<br /> |-<br /> | 45<br /> | 0x02D<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_ppu_thread_detach<br /> | int sys_ppu_thread_detach(sys_ppu_thread_t thread_id);<br /> |-<br /> | 46<br /> | 0x02E<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_ppu_thread_get_join_state<br /> | void sys_ppu_thread_get_join_state(int *isjoinable);<br /> |-<br /> | 47<br /> | 0x02F<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Dbg}}<br /> | sys_ppu_thread_set_priority<br /> | int sys_ppu_thread_set_priority(sys_ppu_thread_t thread_id, int prio); &lt;br&gt; Flags are checked when 3071 &gt; prio &lt; 3199<br /> |-<br /> | 48<br /> | 0x030<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_ppu_thread_get_priority<br /> | int sys_ppu_thread_get_priority(sys_ppu_thread_t thread_id, int *prio);<br /> |-<br /> | 49<br /> | 0x031<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_ppu_thread_get_stack_information<br /> | int sys_ppu_thread_get_stack_information(sys_ppu_thread_stack_t * info);<br /> |-<br /> | 50<br /> | 0x032<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_ppu_thread_stop<br /> | int sys_ppu_thread_stop(sys_ppu_thread_t thread_id);<br /> |-<br /> | 51<br /> | 0x033<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_ppu_thread_restart<br /> | int sys_ppu_thread_restart(void);<br /> |-<br /> | 52<br /> | 0x034<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Dbg}}<br /> | sys_ppu_thread_create<br /> | int sys_ppu_thread_create(sys_ppu_thread_t *thread_id, &amp; void (*entry)(uint64_t), uint64_t arg, 0, int prio, size_t stacksize, uint64_t flags, const char *threadname);<br /> |-<br /> | 53<br /> | 0x035<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_ppu_thread_start<br /> | int sys_ppu_thread_start(sys_ppu_thread_t thread_id);<br /> |-<br /> | 54<br /> | 0x036<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> |<br /> | syscall(0x036, 0x109/0x111, out: uint8[4]), pu_thread get (kernel) allocation information<br /> |-<br /> | 55<br /> | 0x037<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> |<br /> | syscall(0x037, 0x111, 0&gt; int &lt;0x100), pu_thread set (kernel) allocation? information<br /> |-<br /> | 56<br /> | 0x038<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_ppu_thread_rename<br /> | int sys_ppu_thread_rename(sys_ppu_thread_t thread_id, const char *name);<br /> |-<br /> | 57<br /> | 0x039<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_ppu_thread_recover_page_fault<br /> | int sys_ppu_thread_recover_page_fault(sys_ppu_thread_t thread_id);<br /> |-<br /> | 58<br /> | 0x03A<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_ppu_thread_get_page_fault_context<br /> | int sys_ppu_thread_get_page_fault_context(sys_ppu_thread_t thread_id, sys_ppu_thread_icontext_t * ctxp);<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_trace Syscalls&quot;|[[#sys_trace Syscalls]] (60-69+77)<br /> |-<br /> | 60<br /> | 0x03C<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_trace_create<br /> |<br /> |-<br /> | 61<br /> | 0x03D<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_trace_start<br /> |<br /> |-<br /> | 62<br /> | 0x03E<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_trace_stop<br /> |<br /> |-<br /> | 63<br /> | 0x03F<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_trace_update_top_index<br /> |<br /> |-<br /> | 64<br /> | 0x040<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_trace_destroy<br /> |<br /> |-<br /> | 65<br /> | 0x041<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_trace_drain<br /> |<br /> |-<br /> | 66<br /> | 0x042<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_trace_attach_process<br /> |<br /> |-<br /> | 67<br /> | 0x043<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_trace_allocate_buffer<br /> |<br /> |-<br /> | 68<br /> | 0x044<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_trace_free_buffer<br /> |<br /> |-<br /> | 69<br /> | 0x045<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_trace_create2<br /> |<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_timer Syscalls&quot;|[[#sys_timer Syscalls]] (70-76+141+142)<br /> |-<br /> | 70<br /> | 0x046<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_timer_create<br /> | int sys_timer_create(sys_timer_t * timer_id);<br /> |-<br /> | 71<br /> | 0x047<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_timer_destroy<br /> | int sys_timer_destroy(sys_timer_t timer_id);<br /> |-<br /> | 72<br /> | 0x048<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_timer_get_information<br /> | int sys_timer_get_information(sys_timer_t timer_id, sys_timer_information_t * info);<br /> |-<br /> | 73<br /> | 0x049<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_timer_start<br /> | int sys_timer_start(sys_timer_t timer_id, system_time_t base_time, usecond_t period);<br /> |-<br /> | 74<br /> | 0x04A<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_timer_stop<br /> | int sys_timer_stop(sys_timer_t timer_id);<br /> |-<br /> | 75<br /> | 0x04B<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_timer_connect_event_queue<br /> | int sys_timer_connect_event_queue(sys_timer_t timer_id, sys_event_queue_t queue_id, uint64_t name, uint64_t data1, uint64_t data2);<br /> |-<br /> | 76<br /> | 0x04C<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_timer_disconnect_event_queue<br /> | int sys_timer_disconnect_event_queue(sys_timer_t timer_id);<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_trace Syscalls&quot;|[[#sys_trace Syscalls]] (60-69+77)<br /> |-<br /> | 77<br /> | 0x04D<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_trace_create2_in_cbepm<br /> |<br /> |-<br /> | 78<br /> | 0x04E<br /> | {{DECR}}<br /> |<br /> | sys_trace_<br /> |<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_interrupt Syscalls&quot;|[[#sys_interrupt Syscalls]] (80+81+84+88+89)<br /> |-<br /> | 80<br /> | 0x050<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_interrupt_tag_create<br /> | int sys_interrupt_tag_create(sys_interrupt_tag_t * intrtag, sys_irqoutlet_id_t irq, sys_hw_thread_t hwthread);<br /> |-<br /> | 81<br /> | 0x051<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_interrupt_tag_destroy<br /> | int sys_interrupt_tag_destroy(sys_interrupt_tag_t intrtag);<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_event Syscalls&quot;|[[#sys_event Syscalls]] (82+83+85-87+118+128-140)<br /> |-<br /> | 82<br /> | 0x052<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_event_flag_create<br /> | int sys_event_flag_create(sys_event_flag_t * id, sys_event_flag_attribute_t * attr, uint64_t init);<br /> |-<br /> | 83<br /> | 0x053<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_event_flag_destroy<br /> | int sys_event_flag_destroy(sys_event_flag_t id);<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_interrupt Syscalls&quot;|[[#sys_interrupt Syscalls]] (80+81+84+88+89)<br /> |-<br /> | 84<br /> | 0x054<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_interrupt_thread_establish<br /> | int sys_interrupt_thread_establish(sys_interrupt_thread_handle_t * ih, sys_interrupt_tag_t intrtag, uint64_t intrthread, uint64_t arg1, uint64_t arg2);<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_event Syscalls&quot;|[[#sys_event Syscalls]] (82+83+85-87+118+128-140)<br /> |-<br /> | 85<br /> | 0x055<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_event_flag_wait<br /> | int sys_event_flag_wait(sys_event_flag_t id, uint64_t bitptn, uint32_t mode, uint64_t * result, usecond_t timeout);<br /> |-<br /> | 86<br /> | 0x056<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_event_flag_trywait<br /> | int sys_event_flag_trywait(sys_event_flag_t id, uint64_t bitptn, uint32_t mode, uint64_t * result);<br /> |-<br /> | 87<br /> | 0x057<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_event_flag_set<br /> | int sys_event_flag_set(sys_event_flag_t id, uint64_t bitptn);<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_interrupt Syscalls&quot;|[[#sys_interrupt Syscalls]] (80+81+84+88+89)<br /> |-<br /> | 88<br /> | 0x058<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_interrupt_thread_eoi<br /> | void sys_interrupt_thread_eoi(void);<br /> |-<br /> | 89<br /> | 0x059<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_interrupt_thread_disestablish<br /> | int sys_interrupt_thread_disestablish(sys_interrupt_thread_handle_t ih);<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_semaphore Syscalls&quot;|[[#sys_semaphore Syscalls]] (90-94+114)<br /> |-<br /> | 90<br /> | 0x05A<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_semaphore_create<br /> | int sys_semaphore_create(sys_semaphore_t * sem, sys_semaphore_attribute_t * attr, sys_semaphore_value_t initial_val, sys_semaphore_value_t max_val);<br /> |-<br /> | 91<br /> | 0x05B<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_semaphore_destroy<br /> | int sys_semaphore_destroy(sys_semaphore_t sem);<br /> |-<br /> | 92<br /> | 0x05C<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_semaphore_wait<br /> | int sys_semaphore_wait(sys_semaphore_t sem, usecond_t timeout);<br /> |-<br /> | 93<br /> | 0x05D<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_semaphore_trywait<br /> | int sys_semaphore_trywait(sys_semaphore_t sem);<br /> |-<br /> | 94<br /> | 0x05E<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_semaphore_post<br /> | int sys_semaphore_post(sys_semaphore_t sem, sys_semaphore_value_t val);<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_lwmutex Syscalls&quot;|[[#sys_lwmutex Syscalls]] (95-99)<br /> |-<br /> | 95<br /> | 0x05F<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_lwmutex_create<br /> | int sys_lwmutex_create(sys_lwmutex_t *lwmutex, sys_lwmutex_attribute_t *attr)<br /> |-<br /> | 96<br /> | 0x060<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_lwmutex_destroy<br /> | int sys_lwmutex_destroy(sys_lwmutex_t *lwmutex)<br /> |-<br /> | 97<br /> | 0x061<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_lwmutex_lock<br /> | int sys_lwmutex_lock(sys_lwmutex_t *lwmutex, usecond_t timeout)<br /> |-<br /> | 98<br /> | 0x062<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_lwmutex_unlock<br /> | int sys_lwmutex_unlock(sys_lwmutex_t *lwmutex)<br /> |-<br /> | 99<br /> | 0x063<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_lwmutex_trylock<br /> | int sys_lwmutex_trylock(sys_lwmutex_t *lwmutex)<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_mutex Syscalls&quot;|[[#sys_mutex Syscalls]] (100-104)<br /> |-<br /> | 100<br /> | 0x064<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_mutex_create<br /> | int sys_mutex_create(sys_mutex_t * mutex_id, sys_mutex_attribute_t * attr);<br /> |-<br /> | 101<br /> | 0x065<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_mutex_destroy<br /> | int sys_mutex_destroy(sys_mutex_t mutex_id);<br /> |-<br /> | 102<br /> | 0x066<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_mutex_lock<br /> | int sys_mutex_lock(sys_mutex_t mutex_id, usecond_t timeout);<br /> |-<br /> | 103<br /> | 0x067<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_mutex_trylock<br /> | int sys_mutex_trylock(sys_mutex_t mutex_id);<br /> |-<br /> | 104<br /> | 0x068<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_mutex_unlock<br /> | int sys_mutex_unlock(sys_mutex_t mutex_id);<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_cond Syscalls&quot;|[[#sys_cond Syscalls]] (105-110)<br /> |-<br /> | 105<br /> | 0x069<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_cond_create<br /> | int sys_cond_create(sys_cond_t * cond_id, sys_mutex_t mutex_id, sys_cond_attribute_t * attr);<br /> |-<br /> | 106<br /> | 0x06A<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_cond_destroy<br /> | int sys_cond_destroy(sys_cond_t cond_id);<br /> |-<br /> | 107<br /> | 0x06B<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_cond_wait<br /> | int sys_cond_wait(sys_cond_t cond_id, usecond_t timeout);<br /> |-<br /> | 108<br /> | 0x06C<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_cond_signal<br /> | int sys_cond_signal(sys_cond_t cond_id);<br /> |-<br /> | 109<br /> | 0x06D<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_cond_signal_all<br /> | int sys_cond_signal_all(sys_cond_t cond_id);<br /> |-<br /> | 110<br /> | 0x06E<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_cond_signal_to<br /> | int sys_cond_signal_to(sys_cond_t cond_id, sys_ppu_thread_t thread);<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_lwcond Syscalls&quot;|[[#sys_lwcond Syscalls]] (111+112)<br /> |-<br /> | 111<br /> | 0x06F<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_lwcond_create<br /> | int sys_lwcond_create(sys_lwcond_t *lwcond, sys_lwmutex_t *lwmutex, sys_lwcond_attribute_t *attr)<br /> |-<br /> | 112<br /> | 0x070<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_lwcond_destroy<br /> | int sys_lwcond_destroy(sys_lwcond_t *lwcond)<br /> |-<br /> | 113<br /> | 0x071<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_lwcond_queue_wait<br /> | int sys_lwcond_queue_wait(sys_lwcond_t lwcond, sys_lwmutex_t lwmutex, __int64 timeout)<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_semaphore Syscalls&quot;|[[#sys_semaphore Syscalls]] (90-94+114)<br /> |-<br /> | 114<br /> | 0x072<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_semaphore_get_value<br /> | int sys_semaphore_get_value(sys_semaphore_t sem, sys_semaphore_value_t * val);<br /> |-<br /> | 115<br /> | 0x073<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_lwcond_signal<br /> | 4 params<br /> |-<br /> | 116<br /> | 0x074<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_lwcond_signal_all<br /> | 3 params<br /> |-<br /> | 117<br /> | 0x075<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_lwmutex<br /> | 1 params : sys_lwmutex_t *lwmutex<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_event Syscalls&quot;|[[#sys_event Syscalls]] (82+83+85-87+118+128-140)<br /> |-<br /> | 118<br /> | 0x076<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_event_flag_clear<br /> | int sys_event_flag_clear(sys_event_flag_t id, uint64_t bitptn);<br /> |-<br /> | 119<br /> | 0x077<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_time_get_rtc<br /> | int syscall(119, uint64_t *real_time_clock); Gets ps3 real time clock value, hvsc232<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_rwlock Syscalls&quot;|[[#sys_rwlock Syscalls]] (120-127+148)<br /> |-<br /> | 120<br /> | 0x078<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_rwlock_create<br /> | int sys_rwlock_create(sys_rwlock_t * rw_lock_id, sys_rwlock_attribute_t * attr);<br /> |-<br /> | 121<br /> | 0x079<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_rwlock_destroy<br /> | int sys_rwlock_destroy(sys_rwlock_t rw_lock_id);<br /> |-<br /> | 122<br /> | 0x07A<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_rwlock_rlock<br /> | int sys_rwlock_rlock(sys_rwlock_t rw_lock_id, usecond_t timeout);<br /> |-<br /> | 123<br /> | 0x07B<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_rwlock_tryrlock<br /> | int sys_rwlock_tryrlock(sys_rwlock_t rw_lock_id);<br /> |-<br /> | 124<br /> | 0x07C<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_rwlock_runlock<br /> | int sys_rwlock_runlock(sys_rwlock_t rw_lock_id);<br /> |-<br /> | 125<br /> | 0x07D<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_rwlock_wlock<br /> | int sys_rwlock_wlock(sys_rwlock_t rw_lock_id, usecond_t timeout);<br /> |-<br /> | 126<br /> | 0x07E<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_rwlock_trywlock<br /> | int sys_rwlock_trywlock(sys_rwlock_t rw_lock_id);<br /> |-<br /> | 127<br /> | 0x07F<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_rwlock_wunlock<br /> | int sys_rwlock_wunlock(sys_rwlock_t rw_lock_id);<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_event Syscalls&quot;|[[#sys_event Syscalls]] (82+83+85-87+118+128-140)<br /> |-<br /> | 128<br /> | 0x080<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_event_queue_create<br /> | int sys_event_queue_create(sys_event_queue_t * equeue_id, sys_event_queue_attribute_t * attr, sys_ipc_key_t event_queue_key, int size);<br /> |-<br /> | 129<br /> | 0x081<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_event_queue_destroy<br /> | int sys_event_queue_destroy(sys_event_queue_t equeue_id, int mode);<br /> |-<br /> | 130<br /> | 0x082<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_event_queue_receive<br /> | int sys_event_queue_receive(sys_event_queue_t equeue_id, sys_event_t * event, usecond_t timeout);<br /> |-<br /> | 131<br /> | 0x083<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_event_queue_tryreceive<br /> | int sys_event_queue_tryreceive(sys_event_queue_t equeue_id, sys_event_t * event_array, int size, int *number);<br /> |-<br /> | 132<br /> | 0x084<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_event_flag_cancel<br /> | int sys_event_flag_cancel(sys_event_flag_t id, int *num);<br /> |-<br /> | 133<br /> | 0x085<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_event_queue_drain<br /> | int sys_event_queue_drain(sys_event_queue_t equeue_id);<br /> |-<br /> | 134<br /> | 0x086<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_event_port_create<br /> | int sys_event_port_create(sys_event_port_t * eport_id, int port_type, uint64_t name);<br /> |-<br /> | 135<br /> | 0x087<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_event_port_destroy<br /> | int sys_event_port_destroy(sys_event_port_t eport_id);<br /> |-<br /> | 136<br /> | 0x088<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_event_port_connect_local<br /> | int sys_event_port_connect_local(sys_event_port_t event_port_id, sys_event_queue_t event_queue_id);<br /> |-<br /> | 137<br /> | 0x089<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_event_port_disconnect<br /> | int sys_event_port_disconnect(sys_event_port_t event_port_id);<br /> |-<br /> | 138<br /> | 0x08A<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_event_port_send<br /> | int sys_event_port_send(sys_event_port_t eport_id, unint64_t data1, uint64_t data2, uint64_t data3);<br /> |-<br /> | 139<br /> | 0x08B<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_event_flag_get<br /> | int sys_event_flag_get(sys_event_flag_t id, uint64_t * bitptn);<br /> |-<br /> | 140<br /> | 0x08C<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_event_port_connect_ipc<br /> | int sys_event_port_connect_ipc(sys_event_port_t eport_id, sys_ipc_key_t event_queue_key);<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_timer Syscalls&quot;|[[#sys_timer Syscalls]] (70-76+141+142)<br /> |-<br /> | 141<br /> | 0x08D<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_timer_usleep<br /> | int sys_timer_usleep(usecond_t sleep_time);<br /> |-<br /> | 142<br /> | 0x08E<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_timer_sleep<br /> | int sys_timer_sleep(second_t sleep_time);<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_time Syscalls&quot;|[[#sys_time Syscalls]] (143-147)<br /> |-<br /> | 143<br /> | 0x08F<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_time_set_timezone<br /> | int sys_time_set_timezone(int timezone, int summertime)<br /> |-<br /> | 144<br /> | 0x090<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_time_get_timezone<br /> | int sys_time_get_timezone(int *timezone, int *summertime)<br /> |-<br /> | 145<br /> | 0x091<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_time_get_current_time<br /> | int sys_time_get_current_time(sys_time_sec_t * sec, sys_time_nsec_t * nsec);<br /> |-<br /> | 146<br /> | 0x092<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_time_set_current_time<br /> | int sys_time_set_current_time(uint64_t sec, uint64_t nsec);<br /> |-<br /> | 147<br /> | 0x093<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_time_get_timebase_frequency<br /> | uint64_t sys_time_get_timebase_frequency(void);<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_rwlock Syscalls&quot;|[[#sys_rwlock Syscalls]] (120-127+148)<br /> |-<br /> | 148<br /> | 0x094<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_rwlock_trywlock<br /> | int sys_rwlock_trywlock(sys_rwlock_t rw_lock_id);<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_spu/sys_raw_spu Syscalls&quot;|[[#sys_spu/sys_raw_spu Syscalls]] (150-260)<br /> |-<br /> | 150<br /> | 0x096<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_raw_spu_create_interrupt_tag<br /> | int sys_raw_spu_create_interrupt_tag(sys_raw_spu_t id,sys_class_id_t class_id, sys_hw_thread_t hwthread, sys_interrupt_tag_t *intrtag)<br /> |-<br /> | 151<br /> | 0x097<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_raw_spu_set_int_mask<br /> | int sys_raw_spu_set_int_mask(sys_raw_spu_t id, sys_class_id_t class_id, uint64_t mask)<br /> |-<br /> | 152<br /> | 0x098<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_raw_spu_get_int_mask<br /> | int sys_raw_spu_get_int_mask(sys_raw_spu_t id, sys_class_id_t class_id, uint64_t *mask)<br /> |-<br /> | 153<br /> | 0x099<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_raw_spu_set_int_stat<br /> | int sys_raw_spu_set_int_stat(sys_raw_spu_t id, sys_class_id_t class_id, uint64_t stat)<br /> |-<br /> | 154<br /> | 0x09A<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_raw_spu_get_int_stat<br /> | int sys_raw_spu_get_int_stat(sys_raw_spu_t id, sys_class_id_t class_id, uint64_t *stat)<br /> |-<br /> | 155<br /> | 0x09B<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_image_get_information?<br /> | int sys_spu_image_get_information?(sys_spu_image_t *img, out:uint[4],out:uint[4])<br /> |-<br /> | 156<br /> | 0x09C<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_image_open<br /> | int sys_spu_image_open(sys_spu_image_t *img, const char *path)<br /> |-<br /> | 157<br /> | 0x09D<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_image_import<br /> | int sys_spu_image_import(sys_spu_image_t *img, const void *src, uint32_t type)<br /> |-<br /> | 158<br /> | 0x09E<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_image_close<br /> | int sys_spu_image_close(sys_spu_image_t *img);<br /> |-<br /> | 159<br /> | 0x09F<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_raw_spu_load<br /> | 3 Params ( sys_spu_image_t * img, sys_addr_t alloc_addr, int size? ), needs much more proper information<br /> |-<br /> | 160<br /> | 0x0A0<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_raw_spu_create<br /> | int sys_raw_spu_create(sys_raw_spu_t *id, sys_raw_spu_attribute_t *attr)<br /> |-<br /> | 161<br /> | 0x0A1<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_raw_spu_destroy<br /> | int sys_raw_spu_destroy(sys_raw_spu_t id)<br /> |-<br /> | 163<br /> | 0x0A3<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_raw_spu_read_puint_mb<br /> | int sys_raw_spu_read_puint_mb(sys_raw_spu_t id, uint32_t *value)<br /> |-<br /> | 165<br /> | 0x0A5<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_thread_get_exit_status<br /> | int sys_spu_thread_get_exit_status(sys_spu_thread_t id, int *status)<br /> |-<br /> | 166<br /> | 0x0A6<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_thread_set_argument<br /> | int sys_spu_thread_set_argument(sys_spu_thread_t id, sys_spu_thread_argument_t *arg)<br /> |-<br /> | 167<br /> | 0x0A7<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_thread_group_start_on_exit<br /> |<br /> |-<br /> | 169<br /> | 0x0A9<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_initialize<br /> | int sys_spu_initialize(unsigned int max_usable_spu, unsigned int max_raw_spu)<br /> |-<br /> | 170<br /> | 0x0AA<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_thread_group_create<br /> | int sys_spu_thread_group_create(sys_spu_thread_group_t *id, unsigned int num, int prio, sys_spu_thread_group_attribute_t *attr)<br /> |-<br /> | 171<br /> | 0x0AB<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_thread_group_destroy<br /> | int sys_spu_thread_group_destroy(sys_spu_thread_group_t id)<br /> |-<br /> | 172<br /> | 0x0AC<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_thread_initialize<br /> | int sys_spu_thread_initialize(sys_spu_thread_t *thread,sys_spu_thread_group_t group,uint spu_num,sys_spu_image_t *img,sys_spu_thread_attribute_t *attr,sys_spu_thread_argument_t *arg)<br /> |-<br /> | 173<br /> | 0x0AD<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_thread_group_start<br /> | int sys_spu_thread_group_start(sys_spu_thread_group_t id)<br /> |-<br /> | 174<br /> | 0x0AE<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_thread_group_suspend<br /> | int sys_spu_thread_group_suspend(sys_spu_thread_group_t id)<br /> |-<br /> | 175<br /> | 0x0AF<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_thread_group_resume<br /> | int sys_spu_thread_group_resume(sys_spu_thread_group_t id)<br /> |-<br /> | 176<br /> | 0x0B0<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_thread_group_yield<br /> | int sys_spu_thread_group_yield(sys_spu_thread_group_t id)<br /> |-<br /> | 177<br /> | 0x0B1<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_thread_group_terminate<br /> | int sys_spu_thread_group_terminate(sys_spu_thread_group_t id, int value)<br /> |-<br /> | 178<br /> | 0x0B2<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_thread_group_join<br /> | int sys_spu_thread_group_join(sys_spu_thread_group_t gid, int *cause, int *status)<br /> |-<br /> | 179<br /> | 0x0B3<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_thread_group_set_priority<br /> | int sys_spu_thread_group_set_priority(sys_spu_thread_group_t id, int priority)<br /> |-<br /> | 180<br /> | 0x0B4<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_thread_group_get_priority<br /> | int sys_spu_thread_group_get_priority(sys_spu_thread_group_t id, int *priority)<br /> |-<br /> | 181<br /> | 0x0B5<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_thread_write_ls<br /> | int sys_spu_thread_write_ls(sys_spu_thread_t id, uint32_t address, uint64_t value, size_t type)<br /> |-<br /> | 182<br /> | 0x0B6<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_thread_read_ls<br /> | int sys_spu_thread_read_ls(sys_spu_thread_t id, uint32_t address, uint64_t *value, size_t type)<br /> |-<br /> | 183<br /> | 0x0B7<br /> |<br /> |<br /> | (sys_spu_thread_enqueue_dma)<br /> | <br /> |-<br /> | 184<br /> | 0x0B8<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_thread_write_snr<br /> | int sys_spu_thread_write_snr(sys_spu_thread_t id, int number, uint32_t value)<br /> |-<br /> | 185<br /> | 0x0B9<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_thread_group_connect_event<br /> | int sys_spu_thread_group_connect_event(sys_spu_thread_group_t id, sys_event_queue_t eq, sys_event_type_t et)<br /> |-<br /> | 186<br /> | 0x0BA<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_thread_group_disconnect_event<br /> | int sys_spu_thread_group_disconnect_event(sys_spu_thread_group_t id, sys_event_type_t et)<br /> |-<br /> | 187<br /> | 0x0BB<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_thread_set_spu_cfg<br /> | int sys_spu_thread_set_spu_cfg(sys_spu_thread_t id, uint64_t value)<br /> |-<br /> | 188<br /> | 0x0BC<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_thread_get_spu_cfg<br /> | int sys_spu_thread_get_spu_cfg(sys_spu_thread_t id, uint64_t *value)<br /> |-<br /> | 189<br /> | 0x0BD<br /> |<br /> |<br /> | (sys_spu_thread_read_pu_mb)<br /> | <br /> |-<br /> | 190<br /> | 0x0BE<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_thread_write_spu_mb<br /> | int sys_spu_thread_write_spu_mb(sys_spu_thread_t id, uint32_t value);<br /> |-<br /> | 191<br /> | 0x0BF<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_thread_connect_event<br /> | int sys_spu_thread_connect_event(sys_spu_thread_t id, sys_event_queue_t eq, sys_event_type_t et, uint8_t spup)<br /> |-<br /> | 192<br /> | 0x0C0<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_thread_disconnect_event<br /> | int sys_spu_thread_disconnect_event(sys_spu_thread_t id, sys_event_type_t et, uint8_t spup)<br /> |-<br /> | 193<br /> | 0x0C1<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_thread_bind_queue<br /> | int sys_spu_thread_bind_queue(sys_spu_thread_t id,sys_event_queue_t spuq,uint32_t spuq_num)<br /> |-<br /> | 194<br /> | 0x0C2<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_thread_unbind_queue<br /> | int sys_spu_thread_unbind_queue(sys_spu_thread_t id, uint32_t spuq_num)<br /> |-<br /> | 196<br /> | 0x0C4<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_raw_spu_set_spu_cfg<br /> | int sys_raw_spu_set_spu_cfg(sys_raw_spu_t id, uint32_t value)<br /> |-<br /> | 197<br /> | 0x0C5<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_raw_spu_get_spu_cfg<br /> | int sys_raw_spu_get_spu_cfg(sys_raw_spu_t id, uint32_t *value)<br /> |-<br /> | 198<br /> | 0x0C6<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_thread_recover_page_fault<br /> | int sys_spu_thread_recover_page_fault(sys_spu_thread_t id)<br /> |-<br /> | 199<br /> | 0x0C7<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_raw_spu_recover_page_fault<br /> | int sys_raw_spu_recover_page_fault(sys_raw_spu_t id)<br /> |-<br /> | 200<br /> | 0x0C8<br /> | <br /> |<br /> | (console_putc)<br /> | <br /> |-<br /> | 201<br /> | 0x0C9<br /> | <br /> |<br /> | (console_getc)<br /> | <br /> |-<br /> | 202<br /> | 0x0CA<br /> | <br /> |<br /> | (event_create_port)<br /> | <br /> |-<br /> | 203<br /> | 0x0CB<br /> | <br /> |<br /> | (event_send_locally)<br /> | <br /> |-<br /> | 209<br /> | 0x0D1<br /> | <br /> |<br /> | (sys_pseudo_fs_read)<br /> | <br /> |-<br /> | 210<br /> | 0x0D2<br /> | <br /> |<br /> | (sys_pseudo_fs_write)<br /> | <br /> |-<br /> | 211<br /> | 0x0D3<br /> | <br /> |<br /> | (sys_pseudo_fs_append)<br /> | <br /> |-<br /> | 212<br /> | 0x0D4<br /> | <br /> |<br /> | (start_debug)<br /> | <br /> |-<br /> | 213<br /> | 0x0D5<br /> | <br /> |<br /> | (console_write)<br /> | <br /> |-<br /> | 214<br /> | 0x0D6<br /> | <br /> |<br /> | (sys_pseudo_fs_get_file_size)<br /> | <br /> |-<br /> | 215<br /> | 0x0D7<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_mat_set_condition <br /> (logical_console_open)<br /> | int sys_dbg_mat_set_condition(sys_addr_t,int)<br /> |-<br /> | 216<br /> | 0x0D8<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_mat_get_condition<br /> (logical_console_close)<br /> | int sys_dbg_mat_get_condition(sys_addr_t,int*)<br /> |-<br /> | 217<br /> | 0x0D9<br /> | {{DECR}}<br /> | {{Dbg}}<br /> | (logical_console_getc)<br /> | <br /> |-<br /> | 218<br /> | 0x0DA<br /> | {{DECR}}<br /> | {{Dbg}}<br /> | (logical_console_putc)<br /> | <br /> |-<br /> | 219<br /> | 0x0DB<br /> | {{DECR}}<br /> | {{Dbg}}<br /> | (logical_console_flush)<br /> | <br /> |-<br /> | 226<br /> | 0x0E2<br /> | <br /> |<br /> | (get_logical_partition_id)<br /> | <br /> |-<br /> | 230<br /> | 0x0E6<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_isolated_spu_create<br /> | int sys_isolated_spu_create(sys_raw_spu_t *id, uint8_t *source_spe, in?: args?,0,0,0)<br /> |-<br /> | 231<br /> | 0x0E7<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_isolated_spu_destroy<br /> | int sys_isolated_spu_destroy(sys_raw_spu_t id)<br /> |-<br /> | 232<br /> | 0x0E8<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_isolated_spu_start<br /> | int sys_isolated_spu_start(sys_raw_spu_t id)<br /> |-<br /> | 233<br /> | 0x0E9<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_isolated_spu_create_interrupt_tag<br /> | int sys_isolated_spu_create_interrupt_tag(sys_raw_spu_t id, uint32_t class_id, uint32_t hwthread, sys_interrupt_tag_t *intrtag)<br /> |-<br /> | 234<br /> | 0x0EA<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_isolated_spu_set_int_mask<br /> | int sys_isolated_spu_set_int_mask(sys_raw_spu_t id, uint32_t class_id, uint64_t mask)<br /> |-<br /> | 235<br /> | 0x0EB<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_isolated_spu_get_int_mask<br /> | int sys_isolated_spu_get_int_mask(sys_raw_spu_t id, uint32_t class_id, uint64_t *mask)<br /> |-<br /> | 236<br /> | 0x0EC<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_isolated_spu_set_int_stat<br /> | int sys_isolated_spu_set_int_stat(sys_raw_spu_t id, uint32_t class_id, uint64_t stat)<br /> |-<br /> | 237<br /> | 0x0ED<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_isolated_spu_get_int_stat<br /> | int sys_isolated_spu_get_int_stat(sys_raw_spu_t id, uint32_t class_id, uint64_t * stat)<br /> |-<br /> | 238<br /> | 0x0EE<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_isolated_spu_set_spu_cfg<br /> | int sys_isolated_spu_set_spu_cfg(sys_spu_thread_t id, uint64_t value)<br /> |-<br /> | 239<br /> | 0x0EF<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_isolated_spu_get_spu_cfg<br /> | int sys_isolated_spu_get_spu_cfg(sys_spu_thread_t id, uint64_t * value)<br /> |-<br /> | 240<br /> | 0x0F0<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_isolated_spu_read_puint_mb<br /> | int sys_isolated_spu_read_puint_mb(sys_raw_spu_t id, uint32_t * value)<br /> |-<br /> | 244<br /> | 0x0F4<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_spu_thread_group_system_set_next_group<br /> | int sys_spu_thread_group_system_set_next_group(void)<br /> |-<br /> | 245<br /> | 0x0F5<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_spu_thread_group_system_unset_next_group<br /> | int sys_spu_thread_group_system_unset_next_group(void)<br /> |-<br /> | 246<br /> | 0x0F6<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_spu_thread_group_system_set_switch_group<br /> | int sys_spu_thread_group_system_set_switch_group(void)<br /> |-<br /> | 247<br /> | 0x0F7<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_spu_thread_group_system_unset_switch_group<br /> | int sys_spu_thread_group_system_unset_switch_group(void)<br /> |-<br /> | 248<br /> | 0x0F8<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_spu_thread_group....<br /> | 5 Params: sys_spu_thread_group_t group,.....<br /> |-<br /> | 249<br /> | 0x0F9<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_spu_thread_group....<br /> | int sc249(sys_spu_thread_group_t group)<br /> |-<br /> | 250<br /> | 0x0FA<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_thread_group_set_cooperative_victims<br /> | 2 Params<br /> |-<br /> | 251<br /> | 0x0FB<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_thread_group_connect_event_all_threads<br /> | int sys_spu_thread_group_connect_event_all_threads(sys_spu_thread_group_t id, sys_event_queue_t eq, uint64_t req, uint8_t *spup)<br /> |-<br /> | 252<br /> | 0x0FC<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_thread_group_disconnect_event_all_threads<br /> | int sys_spu_thread_group_disconnect_event_all_threads(sys_spu_thread_group_t id, uint8_t spup)<br /> |-<br /> | 253<br /> | 0x0FD<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_thread_group..<br /> | 2 Params( sys_spu_thread_group_t id, out:uint8[0x40])<br /> |-<br /> | 254<br /> | 0x0FE<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_thread_group_log<br /> | int sys_spu_thread_group_log(int command, int *stat)<br /> |-<br /> | 260<br /> | 0x104<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_spu_image_open_by_fd<br /> | int sys_spu_image_open_by_fd(sys_spu_image_t *img, int fd, off64_t offset)<br /> |-<br /> | 295<br /> | <br /> | <br /> |<br /> | (sys_pseudo_fs_truncate)<br /> | <br /> |-<br /> | 296<br /> | <br /> | <br /> |<br /> | (sys_pseudo_fs_get_dents)<br /> | <br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_vm/sys_memory/sys_mmapper Syscalls&quot;|[[#sys_vm/sys_memory/sys_mmapper Syscalls]] (300-352)<br /> |-<br /> | 300<br /> | 0x12C<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_vm_memory_map<br /> | int sys_vm_memory_map(size_t vsize, size_t psize, sys_memory_container_t container, uint64_t flag, uint64_t policy, sys_addr_t * addr);<br /> |-<br /> | 301<br /> | 0x12D<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_vm_unmap<br /> | int sys_vm_unmap(sys_addr_t addr);<br /> |-<br /> | 302<br /> | 0x12E<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_vm_append_memory<br /> | int sys_vm_append_memory(sys_addr_t addr, size_t size);<br /> |-<br /> | 303<br /> | 0x12F<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_vm_return_memory<br /> | int sys_vm_return_memory(sys_addr_t addr, size_t size);<br /> |-<br /> | 304<br /> | 0x130<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_vm_lock<br /> | int sys_vm_lock(sys_addr_t addr, size_t size);<br /> |-<br /> | 305<br /> | 0x131<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_vm_unlock<br /> | int sys_vm_unlock(sys_addr_t addr, size_t size);<br /> |-<br /> | 306<br /> | 0x132<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_vm_touch<br /> | int sys_vm_touch(sys_addr_t addr, size_t size);<br /> |-<br /> | 307<br /> | 0x133<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_vm_flush<br /> | int sys_vm_flush(sys_addr_t addr, size_t size);<br /> |-<br /> | 308<br /> | 0x134<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_vm_invalidate<br /> | int sys_vm_invalidate(sys_addr_t addr, size_t size);<br /> |-<br /> | 309<br /> | 0x135<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_vm_store<br /> | int sys_vm_store(sys_addr_t addr, size_t size);<br /> |-<br /> | 310<br /> | 0x136<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_vm_sync<br /> | int sys_vm_sync(sys_addr_t addr, size_t size);<br /> |-<br /> | 311<br /> | 0x137<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_vm_test<br /> | int sys_vm_test(sys_addr_t addr, size_t size, uint64_t * result);<br /> |-<br /> | 312<br /> | 0x138<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_vm_get_statistics<br /> | int sys_vm_get_statistics(sys_addr_t addr, sys_vm_statistics_t * stat);<br /> |-<br /> | 313<br /> | 0x139<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | diff sys_vm_memory_map<br /> | same Params (size_t vsize, size_t psize, sys_memory_container_t container, uint64_t flag, uint64_t policy, sys_addr_t * addr); apperently maps different vm memory area<br /> |-<br /> | 314<br /> | 0x13A<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> |<br /> | 2 Params<br /> |-<br /> | 315<br /> | 0x13B<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> |<br /> | 1 Param<br /> |-<br /> | 324<br /> | 0x144<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{dbg}}<br /> | sys_memory_container_create<br /> | int sys_memory_container_create(sys_memory_container_t * cid, size_t yield_size);<br /> |-<br /> | 325<br /> | 0x145<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{dbg}}<br /> | sys_memory_container_destroy<br /> | int sys_memory_container_destroy(sys_memory_container_t cid);<br /> |-<br /> | 326<br /> | 0x146<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_mmapper_allocate_fixed_address<br /> | int sys_mmapper_allocate_fixed_address(void);<br /> |-<br /> | 327<br /> | 0x147<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_mmapper_enable_page_fault_notification<br /> | int sys_mmapper_enable_page_fault_notification(sys_addr_t start_addr, sys_event_queue_t queue_id);<br /> |-<br /> | 328<br /> | 0x148<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> |sys_mmapper_allocate_shared_memory_ext <br /> | int sys_mmapper_allocate_shared_memory_ext(u64 shmem_key, u32 size, u64 pageSizeFlags, u32 memory_container_id, void *entries, u32 entry_count, u32 *mem_id)<br /> |-<br /> | 329<br /> | 0x149<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_mmapper_free_shared_memory<br /> | int sys_mmapper_free_shared_memory(sys_addr_t start_addr);<br /> |-<br /> | 330<br /> | 0x14A<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_mmapper_allocate_address<br /> | int sys_mmapper_allocate_address(size_t size, uint64_t flags, size_t alignment, sys_addr_t * alloc_addr);<br /> |-<br /> | 331<br /> | 0x14B<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_mmapper_free_address<br /> | int sys_mmapper_free_address(sys_addr_t start_addr);<br /> |-<br /> | 332<br /> | 0x14C<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_mmapper_allocate_shared_memory<br /> | 4 Params: (uint32_t id? ('UMEM'), size_t size, size_t alignment, sys_memory_t * mem_id) <br /> |-<br /> | 333<br /> | 0x14D<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_mmapper_set_shared_memory_flag<br /> | int sys_mmapper_set_shared_memory_flag(sys_addr_t, flags) ?;<br /> |-<br /> | 334<br /> | 0x14E<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_mmapper_map_shared_memory<br /> | 3 Params: (sys_addr_t start_addr, sys_memory_t mem_id, uint64_t flags) ?<br /> |-<br /> | 335<br /> | 0x14F<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_mmapper_unmap_shared_memory<br /> | 2 Params: (sys_addr_t start_addr,sys_memory_t *mem_id ) ?<br /> |-<br /> | 336<br /> | 0x150<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_mmapper_change_address_access_right<br /> | int sys_mmapper_change_address_access_right(sys_addr_t start_addr, uint64_t flags);<br /> |-<br /> | 337<br /> | 0x151<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_mmapper_search_and_map<br /> | int sys_mmapper_search_and_map(sys_addr_t start_addr, sys_memory_t mem_id, uint64_t flags, sys_addr_t * alloc_addr);<br /> |-<br /> | 338<br /> | 0x152<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_mmapper_get_shared_memory_attribute<br /> | 2 Params:<br /> |-<br /> | 339<br /> | 0x153<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> |<br /> | 5 Params<br /> |-<br /> | 340<br /> | 0x154<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> |<br /> | 2 Params<br /> |-<br /> | 341<br /> | 0x155<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | _sys_memory_container_create<br /> | int _sys_memory_container_create(sys_memory_container_t * cid, size_t yield_size);<br /> |-<br /> | 342<br /> | 0x156<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_memory_container_destroy<br /> | int sys_memory_container_destroy(sys_memory_container_t cid);<br /> |-<br /> | 343<br /> | 0x157<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_memory_container_get_size<br /> | int sys_memory_container_get_size(sys_memory_info_t * mem_info, sys_memory_container_t cid);<br /> |-<br /> | 344<br /> | 0x158<br /> | <br /> |<br /> | sys_memory_budget_set<br /> | <br /> |-<br /> | 345<br /> | 0x159<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> |<br /> | 3 Params, a variation of sys_memory_container_destroy (sys_memory_container_t cid, int, &amp;out)<br /> |-<br /> | 346<br /> | 0x15A<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> |<br /> |<br /> |-<br /> | 347<br /> | 0x15B<br /> |<br /> |<br /> | (sys_mmapper_map_mmio_area)<br /> |<br /> |-<br /> | 348<br /> | 0x15C<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_memory_allocate<br /> | int sys_memory_allocate(size_t size, uint64_t flags, sys_addr_t * alloc_addr);<br /> |-<br /> | 349<br /> | 0x15D<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_memory_free<br /> | int sys_memory_free(sys_addr_t start_addr);<br /> |-<br /> | 350<br /> | 0x15E<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_memory_allocate_from_container<br /> | int sys_memory_allocate_from_container(size_t size, sys_memory_container_t container, uint64_t flags, sys_addr_t * alloc_addr);<br /> |-<br /> | 351<br /> | 0x15F<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_memory_get_page_attribute<br /> | int sys_memory_get_page_attribute(sys_addr_t addr, sys_page_attr_t * attr);<br /> |-<br /> | 352<br /> | 0x160<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_memory_get_user_memory_size<br /> | int sys_memory_get_user_memory_size(sys_memory_info_t * mem_info);<br /> |-<br /> | 353<br /> | 0x161<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_memory_get_user_memory_stat<br /> | int sys_memory_get_user_memory_stat(out:uint8[0x1C])<br /> |-<br /> | 354<br /> | 0x162<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> |<br /> | 3 Params<br /> |-<br /> | 355<br /> | 0x163<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> |<br /> | 2 Param: uint32_t *, uint32_t * (set 0, reset memory stats?)<br /> |-<br /> | 356<br /> | 0x164<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_memory_allocate_colored<br /> | 4 Params<br /> |-<br /> | 357<br /> | 0x165<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> |<br /> | 2 Params<br /> |-<br /> | 358<br /> | 0x166<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> |<br /> | 5 Params<br /> |-<br /> | 359<br /> | 0x167<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | (sys_mmapper_unmap_mmio_area)<br /> | 2 Params<br /> |-<br /> | 360<br /> | 0x168<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> |<br /> | 7 Params<br /> |-<br /> | 361<br /> | 0x169<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_memory_allocate_from_container_colored<br /> | 5 Params<br /> |-<br /> | 362<br /> | 0x16A<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_mmapper_allocate_memory_from_container<br /> | sys_mmapper_allocate_memory_from_container(size_t size, sys_memory_container_t container, uint64_t flags, sys_memory_t *mem_id)<br /> |-<br /> | 363<br /> | 0x16B<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> |<br /> | 6 Params<br /> |-<br /> | 364<br /> | 0x16C<br /> | {{DECR}}<br /> |<br /> |<br /> | <br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_uart Syscalls&quot;|[[#sys_uart Syscalls]] (367-370)<br /> |-<br /> | 367<br /> | 0x16F<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_uart_initialize<br /> | syscall(367, void)<br /> |-<br /> | 368<br /> | 0x170<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_uart_receive<br /> | sys_uart_receive(out: uint8_t buffer[SizeToReceive], int SizeToReceive (0x400/0x800), 0/1)<br /> |-<br /> | 369<br /> | 0x171<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_uart_send<br /> | sys_uart_send(const void *buf, uint64_t size, uint64_t flags)&lt;!--///*<br /> * lv2_av_send<br /> */<br /> static inline int lv2_av_send(const void *buf, uint64_t size, uint64_t flags)<br /> {<br /> return Lv2Syscall3(369, (uint64_t) buf, size, flags);<br /> }//--&gt;<br /> |-<br /> | 370<br /> | 0x172<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_uart_get_params<br /> | int sys_uart_get_params(out:buffer[0x10])<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_game Syscalls&quot;|[[#sys_game Syscalls]] (372-376+410-412)<br /> |-<br /> | 372<br /> | 0x174<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_game_watchdog_start<br /> | 1 param: int time(r)<br /> |-<br /> | 373<br /> | 0x175<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_game_watchdog_stop<br /> | int sys_game_watchdog_stop(void)<br /> |-<br /> | 374<br /> | 0x176<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_game_watchdog_clear<br /> | int sys_game_watchdog_clear(void)<br /> |-<br /> | 375<br /> | 0x177<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_game_set_system_sw_version<br /> | int sys_game_set_system_sw_version(uint64_t version)<br /> |-<br /> | 376<br /> | 0x178<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_game_get_system_sw_version<br /> | int sys_game_get_system_sw_version(void)<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_sm/sys_ctrl Syscalls&quot;|[[#sys_sm/sys_ctrl Syscalls]] (378-396)<br /> |-<br /> | 377<br /> | 0x179<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_sm_set_shop_mode<br /> | int sys_sm_set_shop_mode(int mode (0/1)) ( HV System Manager access - ServiceID 39 (SET_SHOP_DEMO_MODE))<br /> |-<br /> | 378<br /> | 0x17A<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_sm_get_ext_event2<br /> | 4 Param, sc378(uint64_t * v1,uint64_t * v2, uint64_t * v3, 0=receive buffer/1=get queuing events), v1==7 -&gt; yesHOT<br /> |-<br /> | 379<br /> | 0x17B<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_sm_shutdown<br /> | int sys_sm_shutdown(uint16_t op, const void * lpar_parameter, uint64_t parameter_size )<br /> 0x1100/0x100 = turn off,<br /> 0x1200 = Lv2 Hard Reboot, <br /> 0x200 = Lv2 Soft Reboot,<br /> 0x8201 = load lpar id 1<br /> 0x8202 = load lpar id 2<br /> 0x8204 = load lpar id 3 (PS2_NETEMU)<br /> HV System Manager access - ServiceID 1 (REQUEST)+ 10 (DELIVER INTER LPAR PARAMETER)<br /> |-<br /> | 380<br /> | 0x17C<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Dbg}} <br /> | sys_sm_get_params<br /> | alias sys_get_system_parameter, 4 Params: uint64_t * unknown1, uint64_t * unknown2, uint64_t * unknown3, uint64_t * bootparam? (more info: [[#Boot_Parameter]])<br /> |-<br /> | 381<br /> | 0x17D<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}} <br /> | sys_sm_get_inter_lpar_parameter<br /> | 2Params: syscall(381,uint8_t lpar_parameter[param_size], int param_size (0x600));<br /> |-<br /> | 382<br /> | 0x17E<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_sm_initialize <br /> | int syscall(382, void); - prevents ps3 lpar shutdown ?<br /> |-<br /> | 383<br /> | 0x17F<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_game_get_temperature<br /> | int sys_game_get_temperature(0=CELL/1=RSX,uint32_t *temperature) ( HV System Manager access - ServiceID 13 (TEMPERATURE))<br /> 2nd Byte conversion: r.shift (second_byte * 0x64 ) by 8&lt;br&gt;<br /> Example: 195 = 0xC3 -&gt; 0xC3 * 0x64 -&gt; 0x4C2C -&gt;&gt; shift -&gt; 0x4C -&gt; XX.76°C<br /> |-<br /> | 384<br /> | 0x180<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_sm_get_tzpb<br /> | 1 Param: syscall(384,uint64_t *tzpb); (uint8_t [0x20]) Get TimeZone Presence &lt;br&gt; HV System Manager access - ServiceID 15<br /> |-<br /> | 385<br /> | 0x181<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_sm_request_led<br /> | int sys_sm_request_led( int led_id(1=power,2=status or 3=disk), out:uint8_t led_action[1] ) HV System Manager access - ServiceID 17<br /> |-<br /> | 386<br /> | 0x182<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_sm_control_led<br /> | int sys_sm_control_led(uint8_t led_id, uint8_t led_action)&lt;br&gt; led_id = 0,1 (STATUS),2 (POWER)(red, green, red+green combined: looks like yellow);&lt;br&gt; led_action = 0,1,2,3 (off,on,blink fast, blink slow)<br /> |-<br /> | 387<br /> | 0x183<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Dbg}}<br /> | sys_sm_get_system_info<br /> | syscall(387, uint8_t platform_info[0x18]) / OS Version, Revision, System Software Version? &lt;!--///*<br /> * lv2_get_platform_info<br /> */<br /> static inline int lv2_get_platform_info(struct platform_info *info)<br /> {<br /> return Lv2Syscall1(387, (uint64_t) info);<br /> }//--&gt;<br /> |-<br /> | 388<br /> | 0x184<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_sm_ring_buzzer_too<br /> | 2 Params,HV System Manager access - ServiceID 21 (RING_BUZZER)<br /> |-<br /> | 389<br /> | 0x185<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Productmode}}<br /> | sys_sm_set_fan_policy<br /> | int sys_sm_set_fan_policy (in:uint8, in:uint8, in:uint8)&lt;!--// int sys_sm_set_fan_policy(u8 arg0, u8 arg1, u8 arg2) //--&gt;<br /> |-<br /> | 390<br /> | 0x186<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_sm_request_error_log<br /> | 4 Params, uint8_t offset (0-0x20), uint8_t *, uint32_t *, uint32_t * <br /> HV System Manager access - ServiceID 26 (REQUEST_ERROR_LOG)<br /> |-<br /> | 391<br /> | 0x187<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_sm_request_be_count<br /> | 4 Params<br /> uint8_t *,<br /> uint32_t* total_time_in_seconds,<br /> uint32_t* power_on_counter,<br /> uint32_t* power_off_counter <br /> <br /> HV System Manager access - ServiceID 28 (REQUEST_BE_COUNT): <br /> |-<br /> | 392<br /> | 0x188<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_sm_ring_buzzer<br /> | 3 Params: PacketID=0x1004, field2, field4 [[Hypervisor_Reverse_Engineering#Parameters_6 Parameters]]&lt;!--///*<br /> * lv2_sm_ring_buzzer<br /> */<br /> static inline int lv2_sm_ring_buzzer(uint64_t unknown1, uint8_t unknown2, uint32_t unknown3)<br /> {<br /> return Lv2Syscall3(392, unknown1, unknown2, unknown3);<br /> }//--&gt;<br /> |-<br /> | 393<br /> | 0x189<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_sm_get_hw_config<br /> | gets hardware configuration: syscall(393,uint8_t * res, uint64_t * hw_config) &lt;!--///*<br /> * lv2_get_sys_hw_config<br /> */<br /> static inline int lv2_get_sys_hw_config(uint8_t *res, uint64_t *val)<br /> {<br /> return Lv2Syscall2(393, (uint64_t) res, (uint64_t) val);<br /> }//--&gt;<br /> |-<br /> | 394<br /> | 0x18A<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_sm_request_scversion<br /> | uint8_t SoftID[8],old_PatchID[8],new_PatchID[8]; lv2syscall3(394, (uint64_t)SoftID, (uint64_t)old_PatchID, (uint64_t)new_PatchID);&lt;br /&gt;HV System Manager access - ServiceID 30 (REQUEST_SC_VERSION) [[System_Controller_Firmware#.27info0.27 SC Firmware]]<br /> |-<br /> | 395<br /> | 0x18B<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Productmode}}<br /> | sys_sm_request_system_event_log<br /> | int sys_sm_request_system_event_log(int offset(0 - 5),uint64_t *out,uint64_t *out,uint64_t *out,uint8_t buf[0x20], int flag ), 6 Params, HV System Manager access - ServiceID 32 (REQUEST_SYSTEM_EVENT_LOG)<br /> |-<br /> | 396<br /> | 0x18C<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_sm_set_rtc_alarm<br /> | int sys_sm_set_rtc_alarm(CellRtcTick *pTick), HV System Manager access - ServiceID 34+38 (RTC_ALARM)<br /> |-<br /> | 397<br /> | 0x18D<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_sm_get_rtc_alarm<br /> | 1 Param, HV System Manager access - ServiceID 36<br /> |-<br /> | 398<br /> | 0x18E<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_console_write<br /> | int sys_console_write(const char *s, unsigned int len)(lv2,lv1::console::write_async &lt;!--///*<br /> * lv2_lv1_log_write<br /> */<br /> static inline int lv2_lv1_log_write(const char *s, unsigned int len)<br /> {<br /> return Lv2Syscall2(398, (uint64_t) s, len);<br /> }//--&gt;<br /> |-<br /> | 399<br /> | 0x18F<br /> |<br /> |<br /> | (sys_kernel_test)<br /> |<br /> |-<br /> | 400<br /> | 0x190<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Productmode}}<br /> | <br /> | int sys_request_system_event_log(int offset(0 - 5),uint64_t *out, int flag ) , HV System Manager access - ServiceID 32 (REQUEST_SYSTEM_EVENT_LOG) &lt;br&gt; sys_sm_request_system_event_log too<br /> |-<br /> | 401<br /> | 0x191<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> |<br /> | 2 Params: uint64_t param,uint8_t * st (status?/state?)<br /> HV System Manager access - ServiceID 40 (BOOT_PARAMETER)<br /> also sends the param to syscon<br /> related to 404<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_tty Syscalls&quot;|[[#sys_tty Syscalls]] (402-403)<br /> |-<br /> | 402<br /> | 0x192<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_tty_read<br /> | int sys_tty_read(unsigned int ch, void *buf, unsigned int len, unsigned int *preadlen);<br /> |-<br /> | 403<br /> | 0x193<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_tty_write<br /> | int sys_tty_write(unsigned int ch, const void *buf, unsigned int len, unsigned int *pwritelen);<br /> |-<br /> | 404<br /> | 0x194<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> |<br /> | 2 Params: uint64_t * param, uint8_t * st<br /> HV System Manager access - ServiceID 42 (BOOT_PARAMETER)<br /> [Network Settings for Debug] related, returns single/dual setting flag?<br /> |-<br /> | 405<br /> | 0x195<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Productmode}}<br /> |<br /> | 2 Params: uint16_t * comp?, uint8_t * st (status?/state?)<br /> HV System Manager access - ServiceID 44 <br /> factory_process_comp (0,0), dbg_printf comp value<br /> |-<br /> | 406<br /> | 0x196<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Productmode}}<br /> |<br /> | 2 Params: uint32_t comp? ,uint8_t * st<br /> comp? = 0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x100<br /> HV System Manager access - ServiceID 46 <br /> factory_process_comp (1,x) -&gt; OR-Operation with comp<br /> |-<br /> | 407<br /> | 0x197<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Productmode}}<br /> |<br /> | 1 Param: uint8_t * st<br /> HV System Manager access - ServiceID 48<br /> factory_process_comp (2,0) -&gt; ANDC-Operation with comp=0<br /> |-<br /> | 408<br /> | 0x198<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Productmode}}<br /> | sys_sm_get_tzpb too<br /> | 1 Param: out:uint8_t [0x20] &lt;br&gt; same as 384 just requires PM<br /> |-<br /> | 409<br /> | 0x199<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Productmode}}<br /> | sys_sm_get_fan_policy<br /> | int sys_sm_get_fan_policy(uint8_t id, uint8_t *st (status? state?), uint8_t *policy (mode), uint8_t * mode (speed), uint8_t *duty)<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_game Syscalls&quot;|[[#sys_game Syscalls]] (372-376+410-412)<br /> |-<br /> | 410<br /> | 0x19A<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_game_board_storage_read<br /> | 2 Params,out:uint8_t[0x10], uint8_t[1], HV System Manager access - ServiceID 54<br /> |-<br /> | 411<br /> | 0x19B<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_game_board_storage_write<br /> | 2 Params,in:uint8_t[0x10],uint8_t[1], HV System Manager access - ServiceID 52<br /> |-<br /> | 412<br /> | 0x19C<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_game_get_rtc_status<br /> |<br /> |-<br /> | 413<br /> | 0x19D<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> |<br /> | 3 Params, HV System Manager access - ServiceID 56: out:uint8_t[1],out:uint8_t[1],out:uint8_t[1]<br /> |-<br /> | 414<br /> | 0x19E<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> |<br /> | 3 Params,in:packetid ,in:uint8_t[0x20],out:uint8_t[1], HV System Manager access - ServiceID 58<br /> |-<br /> | 415<br /> | 0x19F<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> |<br /> | 3 Params,in:packetid,out:uint8_t[0x20],out:uint8_t[1], HV System Manager access - ServiceID 60<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_overlay Syscalls&quot;|[[#sys_overlay Syscalls]] (450-457)<br /> |-<br /> | 450<br /> | 0x1C2<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_overlay_load_module<br /> | int sys_overlay_load_module(sys_overlay_t * ovlmid, const char *path, uint64_t flags, sys_addr_t * entry)<br /> |-<br /> | 451<br /> | 0x1C3<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_overlay_unload_module<br /> | int sys_overlay_unload_module(sys_overlay_t ovlmid)<br /> |-<br /> | 452<br /> | 0x1C4<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_overlay_get_module_list<br /> | int sys_overlay_get_module_list(sys_pid_t pid, size_t ovlmids_num, sys_overlay_t * ovlmids, size_t * num_of_modules)<br /> |-<br /> | 453<br /> | 0x1C5<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_overlay_get_module_info<br /> | int sys_overlay_get_module_info(sys_pid_t pid,sys_overlay_t ovlmid, sys_overlay_module_info_t * info)<br /> |-<br /> | 454<br /> | 0x1C6<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_overlay_load_module_by_fd<br /> | int sys_overlay_load_module_by_fd(sys_overlay_t * ovlmid, int fd, off64_t offset, uint64_t flags, sys_addr_t * entry)<br /> |-<br /> | 455<br /> | 0x1C7<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_overlay_get_module_info2<br /> | int sys_overlay_get_module_info2(sys_pid_t pid, sys_overlay_t ovlmid, sys_overlay_module_info2_t * info)<br /> |-<br /> | 456<br /> | 0x1C8<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_overlay_get_sdk_version<br /> | 2 Params<br /> |-<br /> | 457<br /> | 0x1C9<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_overlay_get_module_dbg_info<br /> | 3 Params: (sys_pid_t pid, sys_overlay_t ovlmid, sys_overlay_module_dbg_t * info) ?<br /> |-<br /> | 458<br /> | 0x1CA<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_overlay_get_module_dbg_info too<br /> | 3 Params:<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_prx Syscalls&quot;|[[#sys_prx Syscalls]] (460-499)<br /> |-<br /> | 460<br /> | 0x1CC<br /> | {{DECR}} {{DEX}}<br /> | {{Root}}<br /> | sys_prx_dbg_get_module_id_list<br /> | sys_prx_dbg_get_module_id_list(sys_pid_t pid, sys_prx_dbg_get_module_list_t *pInfo)<br /> |-<br /> | 461<br /> | 0x1CD<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_prx_get_module_id_by_address<br /> | sys_prx_id_t sys_prx_get_module_id_by_address(void* addr)<br /> |-<br /> | 462<br /> | 0x1CE<br /> | {{DECR}} {{DEX}}<br /> |<br /> |<br /> | 1 Param: uint8_t [0x50]<br /> |-<br /> | 463<br /> | 0x1CF<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_prx_load_module_by_fd<br /> | sys_prx_id_t sys_prx_load_module_by_fd(int fd, off64_t offset, sys_prx_flags_t flags, sys_prx_load_module_option_t pOpt)<br /> |-<br /> | 464<br /> | 0x1D0<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_prx_load_module_on_memcontainer_by_fd<br /> | sys_prx_id_t sys_prx_load_module_on_memcontainer_by_fd(int fd,off64_t offset,sys_memory_container_t mem_container,sys_prx_flags_t flags,sys_prx_load_module_option_t pOpt)<br /> |-<br /> | 465<br /> | 0x1D1<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_prx_load_module_list<br /> | int sys_prx_load_module_list(int n, const char **path_list, uint64_t flags, sys_prx_load_module_list_option_t * pOpt, sys_prx_id_t * idlist)<br /> |-<br /> | 466<br /> | 0x1D2<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_prx_load_module_list_on_memcontainer<br /> | sys_prx_id_t sys_prx_load_module_by_fd(int fd, off64_t offset, uint64_t flags, sys_prx_load_module_option_t * pOpt)<br /> |-<br /> | 467<br /> | 0x1D3<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_prx_get_ppu_guid<br /> | sys_addr_t sys_prx_get_ppu_guid(sys_prx_id_t id)<br /> |-<br /> | 468<br /> | 0x1D4<br /> | {{DECR}} {{DEX}}<br /> | {{Root}}<br /> | <br /> | <br /> |-<br /> | 470<br /> | 0x1D6<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_npdrm_check_ekc<br /> | int syscall 470 (uint32_t type?, void* npd? [0x60])<br /> |-<br /> | 471<br /> | 0x1D7<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_npdrm_regist_ekc<br /> | int syscall_471(uint32_t type, char* titleID, void* klicensee, uint8_t* actdat, uint8_t* rif, int32_t licenseType, uint8_t* magicVersion);&lt;!--//The function has different parameters depending if the content is debug, free or paid:<br /> FREE: syscall471(npd.type, &amp;npd.titleID, freeklicensee, NULL, NULL, npd.license, &amp;npd);<br /> PAID: syscall471(npd.type, &amp;npd.titleID, NULL, &amp;actdat.keyTable[rif.actDatIndex], &amp;rif.key, npd.license, &amp;npd);//--&gt;<br /> |-<br /> | 472<br /> | 0x1D8<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> |<br /> | 2 Params:<br /> |-<br /> | 473<br /> | 0x1D9<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> |<br /> |<br /> |-<br /> | 474<br /> | 0x1DA<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> |<br /> |<br /> |-<br /> | 475<br /> | 0x1DB<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> |<br /> | int syscall_475(uint32_t type, void* npd?, void* klicensee, uint8_t* actdat, uint8_t* rif, uint8_t magicVersion)<br /> |-<br /> | 476<br /> | 0x1DC<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> |<br /> | can only be either syscall476 (1,0) or syscall476 (0,1)<br /> |-<br /> | 480<br /> | 0x1E0<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_prx_load_module<br /> | sys_prx_id_t sys_prx_load_module(const char* path, sys_prx_flags_t flags, sys_prx_load_module_option_t* pOpt)<br /> |-<br /> | 481<br /> | 0x1E1<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_prx_start_module<br /> | int sys_prx_start_module(sys_prx_id_t id, sys_prx_flags_t flags, sys_prx_start_t* pOpt)<br /> |-<br /> | 482<br /> | 0x1E2<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_prx_stop_module<br /> | int sys_prx_stop_module(sys_prx_id_t id, size_t args, void *argp, int *modres, sys_prx_flags_t flags, sys_prx_stop_module_option_t pOpt)<br /> |-<br /> | 483<br /> | 0x1E3<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_prx_unload_module<br /> | int sys_prx_unload_module(sys_prx_id_t id, sys_prx_flags_t flags, sys_prx_unload_module_option_t pOpt);<br /> |-<br /> | 484<br /> | 0x1E4<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_prx_register_module<br /> | int sys_prx_register_module(char * name, const sys_prx_register_module_option_t * pOpt)<br /> |-<br /> | 485<br /> | 0x1E5<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_prx_query_module<br /> | int sys_prx_query_module(void) // only returns 0<br /> |-<br /> | 486<br /> | 0x1E6<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_prx_register_library<br /> | int sys_prx_register_library(void* library)<br /> |-<br /> | 487<br /> | 0x1E7<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_prx_unregister_library<br /> | int sys_prx_unregister_library(void* library) // only returns 0<br /> |-<br /> | 488<br /> | 0x1E8<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_prx_link_library<br /> | int sys_prx_link_library(void) // only returns 0<br /> |-<br /> | 489<br /> | 0x1E9<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_prx_unlink_library<br /> | int sys_prx_unlink_library(void) // only returns 0<br /> |-<br /> | 490<br /> | 0x1EA<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_prx_query_library<br /> | int sys_prx_query_library(void) // only returns 0<br /> |-<br /> | 492<br /> | 0x1EC<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Dbg}}<br /> | sys_prx_dbg_get_module_list<br /> | 4 Params:<br /> |-<br /> | 493<br /> | 0x1ED<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Dbg}}<br /> | sys_prx_dbg_get_module_info<br /> | int sys_prx_dbg_get_module_info(sys_pid_t pid, sys_prx_id_t id, sys_prx_dbg_module_info* info)<br /> |-<br /> | 494<br /> | 0x1EE<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_prx_get_module_list<br /> | int sys_prx_get_module_list(sys_prx_flags_t flags, sys_prx_get_module_list_t *pInfo);<br /> |-<br /> | 495<br /> | 0x1EF<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_prx_get_module_info<br /> | int sys_prx_get_module_info(sys_prx_id_t id, sys_prx_flags_t flags, sys_prx_module_info_t *pInfo)<br /> |-<br /> | 496<br /> | 0x1F0<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_prx_get_module_id_by_name<br /> | sys_prx_id_t sys_prx_get_module_id_by_name(const char* name, sys_prx_flags_t flags, sys_prx_get_module_id_by_name_option_t *pOpt)<br /> |-<br /> | 497<br /> | 0x1F1<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_prx_load_module_on_memcontainer<br /> | sys_prx_id_t sys_prx_load_module_on_memcontainer(const char* path, sys_memory_container_t mem_container, sys_prx_flags_t flags, sys_prx_load_module_option_t pOpt)<br /> |-<br /> | 498<br /> | 0x1F2<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_prx_start<br /> | int sys_prx_start (void) // only returns 0<br /> |-<br /> | 499<br /> | 0x1F3<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_prx_stop<br /> | int sys_prx_stop(void)<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_hid_manager Syscalls&quot;|[[#sys_hid_manager Syscalls]]<br /> |-<br /> | 500<br /> | 0x1F4<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_hid_manager_open<br /> | 2 Params<br /> |-<br /> | 501<br /> | 0x1F5<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_hid_manager_close<br /> | 1 Param: uint32_t port_no<br /> |-<br /> | 502<br /> | 0x1F6<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_hid_manager_read<br /> | 4 Params: uint32_t port_no,uint32_t packet_id, uint8_t[size], uint32_t size<br /> |-<br /> | 503<br /> | 0x1F7<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_hid_manager_ioctl<br /> | 4 Params: uint32_t port_no,uint32_t packet_id, uint8_t[size], uint32_t size<br /> |-<br /> | 504<br /> | 0x1F8<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_hid_manager_map_logical_id_to_port_id <br /> | param 1: device_type, 1 = pad, 2 = kb, 3 = mouse<br /> int sc(int device_type, int device_no, int port_no)<br /> |-<br /> | 505<br /> | 0x1F9<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_hid_manager_unmap_logical_id_to_port_id<br /> | int sc(int device_type, int device_no, int port_no)<br /> |-<br /> | 506<br /> | 0x1FA<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_hid_manager_add_hot_key_observer<br /> | 2 Params<br /> |-<br /> | 507<br /> | 0x1FB<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_hid_manager_remove_hot_key_observer<br /> | 2 Params<br /> |-<br /> | 508<br /> | 0x1FC<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_hid_manager_grab_focus<br /> | 1 Param: sys_pid_t pid (for example current pid)<br /> |-<br /> | 509<br /> | 0x1FD<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_hid_manager_release_focus<br /> | 1 Param<br /> |-<br /> | 510<br /> | 0x1FE<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_hid_manager_check_focus<br /> | int syscall(510, void);<br /> |-<br /> | 511<br /> | 0x1FF<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_hid_manager_set_master_process<br /> | 1 Param<br /> |-<br /> | 512<br /> | 0x200<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> |<br /> | 1 Param : int syscall(512,sys_pid_t pid), simple root-flag check?;<br /> |-<br /> | 513<br /> | 0x201<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_hid_manager_...<br /> | 4 Params<br /> |-<br /> | 514<br /> | 0x202<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_hid_manager_...<br /> | 3 Params<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_config Syscalls&quot;|[[#sys_config Syscalls]]<br /> |-<br /> | 516<br /> | 0x204<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_config_open<br /> | 2 Params : (sys_event_queue_t * equeue_id, uint64_t *conf_id (out))<br /> |-<br /> | 517<br /> | 0x205<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_config_close<br /> | sys_config_close(sys_event_queue_t * equeue_id);<br /> |-<br /> | 518<br /> | 0x206<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_config_get_service_event<br /> | 4 Params:<br /> |-<br /> | 519<br /> | 0x207<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_config_add_service_listener<br /> | 6 Params (u32 conf_id, ?, ?, ?, ?, ?)<br /> |-<br /> | 520<br /> | 0x208<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_config_remove_service_listener<br /> | 2 Params<br /> |-<br /> | 521<br /> | 0x209<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_config_register_service<br /> | 7 Params<br /> |-<br /> | 522<br /> | 0x20A<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_config_unregister_service<br /> | 2 Params<br /> |-<br /> | 523<br /> | 0x20B<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_config_io_event<br /> |<br /> |-<br /> | 524<br /> | 0x20C<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_config_register_io_error_listener<br /> |<br /> |-<br /> | 525<br /> | 0x20D<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_config_unregister_io_error_listener<br /> |<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_usbd Syscalls&quot;|[[#sys_usbd Syscalls]]<br /> |-<br /> | 530<br /> | 0x212<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_usbd_initialize<br /> | 1 Param, out: *uint32_t<br /> |-<br /> | 531<br /> | 0x213<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_usbd_finalize<br /> | 1 Param, in: handle/id<br /> |-<br /> | 532<br /> | 0x214<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_usbd_get_device_list<br /> | 3 Params<br /> |-<br /> | 533<br /> | 0x215<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_usbd_get_descriptor_size<br /> | 2 Params<br /> |-<br /> | 534<br /> | 0x216<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_usbd_get_descriptor<br /> | 4 Params<br /> |-<br /> | 535<br /> | 0x217<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_usbd_register_ldd<br /> | 3 Params<br /> |-<br /> | 536<br /> | 0x218<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_usbd_unregister_ldd<br /> | 3 Params<br /> |-<br /> | 537<br /> | 0x219<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_usbd_open_pipe<br /> | 7 Params<br /> |-<br /> | 538<br /> | 0x21A<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_usbd_open_default_pipe<br /> | 2 Params<br /> |-<br /> | 539<br /> | 0x21B<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_usbd_close_pipe<br /> | 2 Params<br /> |-<br /> | 540<br /> | 0x21C<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_usbd_receive_event<br /> | 4 Params<br /> |-<br /> | 541<br /> | 0x21D<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_usbd_detect_event<br /> | void<br /> |-<br /> | 542<br /> | 0x21E<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_usbd_attach<br /> | 4 Params<br /> |-<br /> | 543<br /> | 0x21F<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_usbd_transfer_data<br /> | 6 Params<br /> |-<br /> | 544<br /> | 0x220<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_usbd_isochronous_transfer_data<br /> | 3 Params<br /> |-<br /> | 545<br /> | 0x221<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_usbd_get_transfer_status<br /> | 5 Params<br /> |-<br /> | 546<br /> | 0x222<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_usbd_get_isochronous_transfer_status<br /> | 5 Params<br /> |-<br /> | 547<br /> | 0x223<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_usbd_get_device_location<br /> | 3 Params<br /> |-<br /> | 548<br /> | 0x224<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_usbd_send_event<br /> | 2 Params<br /> |-<br /> | 549<br /> | 0x225<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_usbd_event_port_send<br /> | int sys_usbd_event_port_send(uint64_t usb_id?, uint64_t data1, uint64_t data2, uint64_t data3);<br /> |-<br /> | 550<br /> | 0x226<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_usbd_allocate_memory<br /> | 3 Params<br /> |-<br /> | 551<br /> | 0x227<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_usbd_free_memory<br /> | 2 Params<br /> |-<br /> | 552<br /> | 0x228<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_usbd_enable_wake_on?<br /> | 1 Param<br /> |-<br /> | 553<br /> | 0x229<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> |<br /> | void<br /> |-<br /> | 554<br /> | 0x22A<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> |<br /> | void<br /> |-<br /> | 555<br /> | 0x22B<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> |<br /> | void<br /> |-<br /> | 556<br /> | 0x22C<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_usbd_get_device_speed<br /> | 3 Params, , , out:uint8_t[1]<br /> |-<br /> | 557<br /> | 0x22D<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> |<br /> | 5 Params<br /> |-<br /> | 558<br /> | 0x22E<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> |<br /> | 3 Params<br /> |-<br /> | 559<br /> | 0x22F<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_usbd_register_extra_ldd<br /> | 6 Params<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_gl819 Syscalls&quot;|[[#sys_gl819 Syscalls]] Cardcontroller cf/sd/mmc/sm/ms<br /> |-<br /> | 560<br /> | 0x230<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | (sys_usbmass_ioctl)<br /> |<br /> |-<br /> | 561<br /> | 0x231<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> |<br /> | 1 Param: out:uint8_t [4] (cf/sd/mmc/sm/ms flag availability from hw config)<br /> |-<br /> | 562<br /> | 0x232<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> |<br /> | gets MultiCardReader Firmware Version: syscall(0x232, out:uint8_t [2])<br /> |-<br /> | 563<br /> | 0x233<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> |<br /> |<br /> |-<br /> | 564<br /> | 0x234<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> |<br /> |<br /> |-<br /> | 565<br /> | 0x235<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> |<br /> |<br /> |-<br /> | 566<br /> | 0x236<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> |<br /> |<br /> |-<br /> | 567<br /> | 0x237<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> |<br /> |<br /> |-<br /> | 568<br /> | 0x238<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> |<br /> |<br /> |-<br /> | 569<br /> | 0x239<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> |<br /> |<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;PAD Manager Syscalls&quot;|[[#PAD Manager Syscalls]] PAD related<br /> |-<br /> | 570<br /> | 0x23A<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | <br /> | sys_pad_ldd_register_controller<br /> |<br /> |-<br /> | 571<br /> | 0x23B<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_pad_ldd_unregister_controller <br /> | int sys_pad_ldd_unregister_controller ( int32_t handle)<br /> |-<br /> | 572<br /> | 0x23C<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_pad_ldd_data_insert <br /> | int sys_pad_ldd_data_insert (int32_t handle, cellpaddata* data /* uint8_t[0x84] */)<br /> |-<br /> | 573<br /> | 0x23D<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_pad_dbg_ldd_set_data_insert_mode <br /> | int sys_pad_dbg_ldd_set_data_insert_mode ( int32_t handle, 0x100, uint32_t* mode , 4)<br /> |-<br /> | 574<br /> | 0x23E<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_pad_ldd_register_controller<br /> | int sys_pad_ldd_register_controller/sys_pad_dbg_ldd_register_controller ( uint8_t[0x114] /* struct */, int32_t* out, 5, uint32_t device_capability&lt;&lt;1)<br /> |-<br /> | 575<br /> | 0x23F<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_pad_ldd_get_port_no <br /> | int sys_pad_ldd_get_port_no (int32_t handle)<br /> |-<br /> | 577<br /> | 0x241<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}} {{Productmode}}<br /> | sys_pad_manager_....<br /> | int sys_pad_manager_.... (int8_t device_number?)<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_bluetooth Syscalls&quot;|[[#sys_bluetooth Syscalls]]<br /> |-<br /> | 578<br /> | 0x242<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> |<br /> |<br /> |-<br /> | 579<br /> | 0x243<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | <br /> | sys_bluetooth_aud_serial_unk1(0x243,0,unk1*,aud_serial*,unk2*,unk3*,unk4*)<br /> |0xD0044D40 00 00 00 00 / 0xD0044D44 00 82 8E 18 --&gt; 00 7D 39 A0 --&gt; 0x007D39A0 5F 61 75 64 5F 53 45 52 49 41 4C 00 00 00 00 00 _aud_SERIAL..... / 0xD0044D48 00 00 00 00 / 0xD0044D4C 00 00 00 00<br /> |-<br /> | 580<br /> | 0x244<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> |<br /> |<br /> |-<br /> | 581<br /> | 0x245<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> |<br /> |<br /> |-<br /> | 582<br /> | 0x246<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> |<br /> |<br /> |-<br /> | 583<br /> | 0x247<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_bt_read_firmware_version<br /> | gets Bluetooth Firmware Version: syscall(0x247, out:uint8_t [2])<br /> |-<br /> | 584<br /> | 0x248<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_bt_complete_wake_on_host<br /> |<br /> |-<br /> | 585<br /> | 0x249<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | <br /> | sys_bt_disable_bluetooth<br /> |<br /> |-<br /> | 586<br /> | 0x24A<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | <br /> | sys_bt_enable_bluetooth<br /> | return 0x80010003<br /> |-<br /> | 587<br /> | 0x24B<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_bt_bccmd<br /> |<br /> |-<br /> | 588<br /> | 0x24C<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | <br /> | sys_bt_read_hq<br /> | return 0x80010003<br /> |-<br /> | 589<br /> | 0x24D<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | <br /> | sys_bt_hid_get_remote_status<br /> | return 0x80010003<br /> |-<br /> | 590<br /> | 0x24E<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_bt_register_controller<br /> | bt_set_device_info()<br /> |-<br /> | 591<br /> | 0x24F<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | <br /> | sys_bt_clear_registered_contoller<br /> | return 0<br /> |-<br /> | 592<br /> | 0x250<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_bt_connect_accept_controller<br /> | return 0<br /> |-<br /> | 593<br /> | 0x251<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_bt_get_local_bdaddress<br /> | getting bluetooth address<br /> |-<br /> | 594<br /> | 0x252<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_bt_hid_get_data<br /> | return 0x80010003<br /> |-<br /> | 595<br /> | 0x253<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_bt_hid_set_report<br /> | return 0x80010003<br /> |-<br /> | 596<br /> | 0x254<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_bt_sched_log<br /> | return 0x80010003<br /> |-<br /> | 597<br /> | 0x255<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_bt_cancel_connect_accept_controller<br /> | syscall(597,void) | bt_cancel_connect_accept_controller(),deprecated<br /> |-<br /> | 598<br /> | 0x256<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> |<br /> | 0 Param<br /> |-<br /> | 599<br /> | 0x257<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> |<br /> | 2 Params: out:uint8_t[2], out:uint8_t[2]<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_storage Syscalls&quot;|[[#sys_storage Syscalls]] (600-623+837+838)<br /> |-<br /> | 600<br /> | 0x258<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_storage_open<br /> | int sys_storage_open(uint64_t id, int mode, int *fd, int flags) mode=0,flags=0 [[DeviceID#DeviceIDs_used_in_GameOS|DeviceIDs]]<br /> |-<br /> | 601<br /> | 0x259<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_storage_close<br /> | int sys_storage_close(int fd)<br /> |-<br /> | 602<br /> | 0x25A<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_storage_read<br /> | int sys_storage_read(int fd, int mode?, uint32_t start_sector, uint32_t sectors, uint8_t *bounce_buf, uint32_t *sectors_read, uint64_t flags) mode?=0<br /> |-<br /> | 603<br /> | 0x25B<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_storage_write<br /> | &lt;!--///*<br /> * lv2_storage_write<br /> */<br /> static inline int lv2_storage_write(uint32_t dev_handle, uint64_t unknown1, uint64_t start_sector, uint64_t sector_count,<br /> const void *buf, uint32_t *unknown2, uint64_t flags)<br /> {<br /> return Lv2Syscall7(603, dev_handle, unknown1, start_sector, sector_count,<br /> (uint64_t ) buf, (uint64_t) unknown2, flags);<br /> }//--&gt;<br /> |-<br /> | 604<br /> | 0x25C<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_storage_send_device_command<br /> | int sys_storage_send_device_command(uint32_t device_handle, unsigned int command, void *indata, uint64_t inlen, void *outdata, uint64_t outlen)<br /> <br /> |-<br /> | 605<br /> | 0x25D<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_storage_async_configure<br /> | int sys_storage_async_configure(uint32_t fd, sys_io_buffer_t io_buffer, sys_event_queue_t equeue_id, int *unknown)<br /> |-<br /> | 606<br /> | 0x25E<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_storage_async_read<br /> | int sys_storage_async_read(int fd, int unknown_1, uint32_t start_sector, uint32_t sectors, sys_io_block_t bounce_buf, uint64_t user_data, int unknown_2) unknown_1=0, unknown_2=0<br /> |-<br /> | 607<br /> | 0x25F<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_storage_async_write<br /> | 7 Params:<br /> |-<br /> | 608<br /> | 0x260<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_storage_async_cancel<br /> | 2 Params<br /> |-<br /> | 609<br /> | 0x261<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_storage_get_device_info<br /> | int sys_storage_get_device_info(uint64_t device, uint8_t *buffer), buffer[40]=total sectors,buffer[48]=sector size,buffer[53]=writable<br /> |-<br /> | 610<br /> | 0x262<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_storage_get_device_config<br /> | 2 Params: int sys_storage_get_device_config(uint64_t device, uint8_t *config) ?<br /> |-<br /> | 611<br /> | 0x263<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_storage_report_devices<br /> | 4 Params:<br /> |-<br /> | 612<br /> | 0x264<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_storage_configure_medium_event<br /> | 3 Params<br /> |-<br /> | 613<br /> | 0x265<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_storage_set_medium_polling_interval<br /> | 2 Params<br /> |-<br /> | 614<br /> | 0x266<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_storage_create_region<br /> | &lt;!--///*<br /> * lv2_storage_create_region<br /> */<br /> static inline int lv2_storage_create_region(uint32_t dev_handle, uint64_t start_sector,<br /> uint64_t sector_count, uint64_t unknown, uint64_t laid, uint64_t *region_id)<br /> {<br /> return Lv2Syscall6(614, dev_handle, start_sector, sector_count, unknown, laid, (uint64_t) region_id);<br /> }//--&gt;<br /> |-<br /> | 615<br /> | 0x267<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_storage_delete_region<br /> | int sys_storage_delete_region(uint32_t dev_id,uint64_t index);&lt;!--///*<br /> * lv2_storage_delete_region<br /> */<br /> static inline int lv2_storage_delete_region(uint32_t dev_handle, uint64_t region_id)<br /> {<br /> return Lv2Syscall2(615, dev_handle, region_id);<br /> }//--&gt;<br /> |-<br /> | 616<br /> | 0x268<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_storage_execute_device_command<br /> | sys_storage_execute_device_command(uint32_t dev_handle, uint64_t cmd, const void *cmdbuf, uint64_t cmdbuf_size, void *databuf, uint64_t databuf_size, uint64_t *unknown)&lt;!--//<br /> /*<br /> * lv2_storage_execute_device_command<br /> */<br /> static inline int lv2_storage_execute_device_command(uint32_t dev_handle, uint64_t cmd,<br /> const void *cmdbuf, uint64_t cmdbuf_size, void *databuf, uint64_t databuf_size,<br /> uint64_t *unknown)<br /> {<br /> return Lv2Syscall7(616, dev_handle, cmd, (uint64_t) cmdbuf, cmdbuf_size,<br /> (uint64_t) databuf, databuf_size, (uint64_t) unknown);<br /> }//--&gt;<br /> |-<br /> | 617<br /> | 0x269<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_storage_check_region_acl<br /> | alias int sys_storage_get_region_acl(device_id, region_id, index, authority, mask);<br /> |-<br /> | 618<br /> | 0x26A<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_storage_set_region_acl<br /> | int sys_storage_set_region_acl(device_id, region_id, authority, permission);<br /> |-<br /> | 619<br /> | 0x26B<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_storage_async_send_device_command<br /> | sys_storage_async_send_device_command(uint32_t dev_handle, uint64_t cmd, const void *cmdbuf, uint64_t cmdbuf_size, void *databuf, uint64_t databuf_size, uint64_t *unknown)<br /> |-<br /> | 620<br /> | 0x26C<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> |<br /> | hid ldd if, kb/mouse/pad.... (param1: ?,0,1,2 or 3;param2;param3;param4;param5)<br /> |-<br /> | 621<br /> | 0x26D<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_gamepad_ycon_if<br /> | syscall(621,packet_id,uint8_t *in,uint8_t *out) [[Talk:LV2_Functions_and_Syscalls#Syscall_621_.280x26D.29 gamepad_if usage]]<br /> |-<br /> | 622<br /> | 0x26E<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_storage_get_region_offset<br /> |<br /> |-<br /> | 623<br /> | 0x26F<br /> | {{DECR}}<br /> |<br /> | sys_storage_set_emulated_speed<br /> |<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_io Syscalls&quot;|[[#sys_io Syscalls]] (624-627)<br /> |-<br /> | 624<br /> | 0x270<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_io_buffer_create<br /> | int sys_io_buffer_create(int io_block_count, int block_size, int blocks, int unknown_3, sys_io_buffer_t *io_buffer)<br /> |-<br /> | 625<br /> | 0x271<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_io_buffer_destroy<br /> | int sys_io_buffer_destroy(sys_io_buffer_t io_buffer)<br /> |-<br /> | 626<br /> | 0x272<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_io_buffer_allocate<br /> | int sys_io_buffer_allocate(sys_io_buffer_t io_buffer, sys_io_block_t *block)<br /> |-<br /> | 627<br /> | 0x273<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_io_buffer_free<br /> | int sys_io_buffer_free(sys_io_buffer_t io_buffer, sys_io_block_t block)<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_gpio Syscalls&quot;|[[#sys_gpio Syscalls]] (630-631)<br /> |-<br /> | 630<br /> | 0x276<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_gpio_set<br /> | int sys_gpio_set (uint64_t device_id, uint64_t mask, uint64_t value)<br /> |-<br /> | 631<br /> | 0x277<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_gpio_get<br /> | int sys_gpio_get (uint64_t device_id, uint64_t *value)<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_fsw Syscalls&quot;|[[#sys_fsw Syscalls]] (633-634)<br /> |-<br /> | 633<br /> | 0x279<br /> | {{DECR}}<br /> |<br /> | sys_fsw_connect_event<br /> | int sys_fsw_connect_event(sys_event_queue_t eq_id)<br /> |-<br /> | 634<br /> | 0x27A<br /> | {{DECR}}<br /> |<br /> | sys_fsw_disconnect_event<br /> | int sys_fsw_disconnect_event(void)<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;Bluetooth Syscalls&quot;|[[#Bluetooth Syscalls]]<br /> |-<br /> | 635<br /> | 0x27B<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_btsetting_if?<br /> | 2 Params: uint64_t packet_id (0=init,1=finalize,....27) , uint8_t buffer<br /> |-<br /> | 636<br /> | 0x27C<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> |<br /> | (BT Database Lookup)<br /> |-<br /> | 637<br /> | 0x27D<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> |<br /> | BT dev list related, syscall(0x27d, out:uint8_t[0x100])<br /> |-<br /> | 638<br /> | 0x27E<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> |<br /> | BT related, 3 Params: packet_id (&lt;7), input, output?<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;Bluetooth USB Audio Syscalls&quot;|[[#USB Bluetooth Audio Syscalls]] (639-649)<br /> |-<br /> | 639<br /> | 0x27F<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> |<br /> | &quot;deprecated!&quot; (seems Sony doesnt want/like USB Bluetooth Audio transmitter/receiver)<br /> |-<br /> | 640<br /> | 0x280<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_usbbtaudio_initialize<br /> | &quot;deprecated!&quot;<br /> |-<br /> | 641<br /> | 0x281<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_usbbtaudio_finalize<br /> | &quot;deprecated!&quot;<br /> |-<br /> | 642<br /> | 0x282<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_usbbtaudio_discovery<br /> | &quot;deprecated!&quot;<br /> |-<br /> | 643<br /> | 0x283<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_usbbtaudio_cancel_discovery<br /> | &quot;deprecated!&quot;<br /> |-<br /> | 644<br /> | 0x284<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_usbbtaudio_pairing<br /> | &quot;deprecated!&quot;<br /> |-<br /> | 645<br /> | 0x285<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_usbbtaudio_set_passkey<br /> | &quot;deprecated!&quot;<br /> |-<br /> | 646<br /> | 0x286<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_usbbtaudio_connect<br /> | &quot;deprecated!&quot;<br /> |-<br /> | 647<br /> | 0x287<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_usbbtaudio_disconnect<br /> | &quot;deprecated!&quot;<br /> |-<br /> | 648<br /> | 0x288<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> |<br /> | &quot;deprecated!&quot;<br /> |-<br /> | 649<br /> | 0x289<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> |<br /> | &quot;deprecated!&quot;<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;RSX Audio Syscalls&quot;|[[#RSX Audio Syscalls]] (650-x)<br /> |-<br /> | 650<br /> | 0x28A<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_rsxaudio_initialize<br /> | int sys_rsxaudio_initialize(out:uint8[4])<br /> |-<br /> | 651<br /> | 0x28B<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_rsxaudio_finalize<br /> | 1 Params<br /> |-<br /> | 652<br /> | 0x28C<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_rsxaudio_import_shared_memory<br /> | 2 Params<br /> |-<br /> | 653<br /> | 0x28D<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_rsxaudio_unimport_shared_memory<br /> | 2 Params<br /> |-<br /> | 654<br /> | 0x28E<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_rsxaudio_create_connection<br /> | 1 Params<br /> |-<br /> | 655<br /> | 0x28F<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_rsxaudio_close_connection<br /> | 1 Params<br /> |-<br /> | 656<br /> | 0x290<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_rsxaudio_prepare_process<br /> | 1 Params<br /> |-<br /> | 657<br /> | 0x291<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_rsxaudio_start_process<br /> | 1 Params<br /> |-<br /> | 658<br /> | 0x292<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_rsxaudio_stop_process<br /> | 1 Params<br /> |-<br /> | 659<br /> | 0x293<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_rsxaudio_<br /> | 3 Params<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_rsx Syscalls&quot;|[[#sys_rsx Syscalls]] (666-677)<br /> |-<br /> | 666<br /> | 0x29A<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_rsx_device_open<br /> | 1 Param (uint64_t arg_1);<br /> |-<br /> | 667<br /> | 0x29B<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_rsx_device_close<br /> | (void);<br /> |-<br /> | 668<br /> | 0x29C<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_rsx_memory_allocate<br /> | (uint32_t *mem_ctx_id, uint32_t *local_addr, uint64_t arg_4, uint64_t arg_5, uint64_t arg_6, uint64_t arg_7);<br /> |-<br /> | 669<br /> | 0x29D<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_rsx_memory_free<br /> | (uint32_t mem_ctx_id);<br /> |-<br /> | 670<br /> | 0x29E<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_rsx_context_allocate<br /> | (uint32_t *rsx_ctx_id, uint64_t *dma_control_lpar, uint64_t *driver_info_lpar, uint64_t *reports_lpar, uint32_t mem_ctx_id, uint64_t system_mode);<br /> |-<br /> | 671<br /> | 0x29F<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_rsx_context_free<br /> | (uint32_t rsx_ctx_id);<br /> |-<br /> | 672<br /> | 0x2A0<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_rsx_context_iomap<br /> | (uint32_t rsx_ctx_id, uint32_t local_offset, uint32_t main_mem_ea, uint32_t size, uint64_t flags);<br /> |-<br /> | 673<br /> | 0x2A1<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_rsx_context_iounmap<br /> | (uint32_t rsx_ctx_id, uint64_t arg_2, uint64_t arg_3);<br /> |-<br /> | 674<br /> | 0x2A2<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_rsx_context_attribute<br /> | (uint32_t rsx_ctx_id, uint32_t pkg_id, uint64_t arg_1, uint64_t arg_2, uint64_t arg_3, uint64_t arg_4);<br /> |-<br /> | 675<br /> | 0x2A3<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_rsx_device_map<br /> | (uint64_t *semaphore, uint64_t arg_2, uint64_t device_id);<br /> |-<br /> | 676<br /> | 0x2A4<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_rsx_device_unmap<br /> | (uint64_t device_id);<br /> |-<br /> | 677<br /> | 0x2A5<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_rsx_attribute<br /> (sys_rsx_audio_setup)<br /> | (uint64_t pkg_id, uint64_t arg_1, uint64_t arg_2, uint64_t arg_3, uint64_t arg_4);<br /> |-<br /> | 678<br /> | 0x2A6<br /> | {{DECR}} {{DEX}}<br /> |<br /> | <br /> (sys_rsx_audio_queue)<br /> |<br /> |-<br /> | 679<br /> | 0x2A7<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | <br /> (sys_rsx_audio_iomap)<br /> | (uint32_t arg_1, uint32_t arg_2, uint64_t *out_1, uint64_t *out_2, uint64_t *out_3, uint64_t *out_4);<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;Bluetooth USB Audio Syscalls&quot;|[[#Bluetooth USB Audio Syscalls]] (680-696)<br /> |-<br /> | 680<br /> | 0x2A8<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | <br /> (sys_rsx_audio_iounmap?)<br /> |<br /> |-<br /> | 681<br /> | 0x2A9<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | <br /> |<br /> |-<br /> | 682<br /> | 0x2AA<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | <br /> |<br /> |-<br /> | 683<br /> | 0x2AB<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | <br /> |<br /> |-<br /> | 684<br /> | 0x2AC<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | <br /> |<br /> |-<br /> | 685<br /> | 0x2AD<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | <br /> |<br /> |-<br /> | 686<br /> | 0x2AE<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | <br /> |<br /> |-<br /> | 687<br /> | 0x2AF<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | <br /> |<br /> |-<br /> | 688<br /> | 0x2B0<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | <br /> |<br /> |-<br /> | 689<br /> | 0x2B1<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | <br /> |<br /> |-<br /> | 690<br /> | 0x2B2<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | <br /> |<br /> |-<br /> | 691<br /> | 0x2B3<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | <br /> |<br /> |-<br /> | 692<br /> | 0x2B4<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | <br /> |<br /> |-<br /> | 693<br /> | 0x2B5<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | <br /> |<br /> |-<br /> | 694<br /> | 0x2B6<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> |<br /> | &quot;deprecated!&quot; (usbbtaudio)<br /> |-<br /> | 695<br /> | 0x2B7<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> |<br /> | &quot;deprecated!&quot; (usbbtaudio)<br /> |-<br /> | 696<br /> | 0x2B8<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> |<br /> | bt audio interface, packetid 0-4 (0= GetSinkConfig)<br /> |-<br /> | 697<br /> | 0x2B9<br /> | <br /> | <br /> | <br /> (sys_iosys_infra_test_open)<br /> | <br /> |-<br /> | 698<br /> | 0x2BA<br /> | <br /> | <br /> | <br /> (sys_iosys_infra_test_execute)<br /> | <br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_bdemu Syscalls&quot;|[[#sys_bdemu Syscalls]] (699)<br /> |-<br /> | 699<br /> | 0x2BB<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_bdemu_send_command<br /> | sys_bdemu_send_command(cmd, unused, unk1, result_buffer, result_buffer_len) &lt;br&gt; cmd 0: returns BDemu usb [[DeviceID]]&lt;br&gt; cmd 1: eject image (unk1 and result_buffer must be 0)&lt;br&gt; cmd 2: format bdemu hdd?<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_net Syscalls&quot;|[[#sys_net Syscalls]] (700-726)<br /> |-<br /> | 700<br /> | 0x2BC<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_net_bnet_accept<br /> | int sys_net_bnet_accept (int s, struct sockaddr *addr, socklen_t *paddrlen ) // s = socket descriptor<br /> |-<br /> | 701<br /> | 0x2BD<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_net_bnet_bind<br /> | int sys_net_bnet_bind ( int s, const struct sockaddr *addr, socklen_t addrlen )<br /> |-<br /> | 702<br /> | 0x2BE<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_net_bnet_connect<br /> | int sys_net_bnet_connect ( int s, const struct sockaddr *addr, socklen_t addrlen )<br /> |-<br /> | 703<br /> | 0x2BF<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_net_bnet_getpeername<br /> | int sys_net_bnet_getpeername ( int s, struct sockaddr *addr, socklen_t *paddrlen )<br /> |-<br /> | 704<br /> | 0x2C0<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_net_bnet_getsockname<br /> | int sys_net_bnet_getsockname ( int s, struct sockaddr *addr, socklen_t *paddrlen )<br /> |-<br /> | 705<br /> | 0x2C1<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_net_bnet_getsockopt<br /> | int sys_net_bnet_getsockopt ( int s, int level, int optname, void *optval, socklen_t *optlen )<br /> |-<br /> | 706<br /> | 0x2C2<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_net_bnet_listen<br /> | int sys_net_bnet_listen ( int s, int backlog )<br /> |-<br /> | 707<br /> | 0x2C3<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_net_bnet_recvfrom<br /> | int sys_net_bnet_recvfrom ( int s, void *buf, size_t len, int flags, struct sockaddr *addr, socklen_t *paddrlen )<br /> |-<br /> | 708<br /> | 0x2C4<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_net_bnet_recvmsg<br /> | int sys_net_bnet_recvmsg ( int s, struct msghdr *msg, int flags )<br /> |-<br /> | 709<br /> | 0x2C5<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_net_bnet_sendmsg<br /> | int sys_net_bnet_sendmsg ( int s, const struct msghdr *msg, int flags )<br /> |-<br /> | 710<br /> | 0x2C6<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_net_bnet_sendto<br /> | int sys_net_bnet_sendto ( int s, const void *buf, size_t len, int flags, const struct sockaddr *addr, socklen_t addrlen )<br /> |-<br /> | 711<br /> | 0x2C7<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_net_bnet_setsockop<br /> | int sys_net_bnet_setsockop ( int s, int level, int optname, const void *optval, socklen_t optlen )<br /> |-<br /> | 712<br /> | 0x2C8<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_net_bnet_shutdown<br /> | int sys_net_bnet_shutdown ( int s, int how )<br /> |-<br /> | 713<br /> | 0x2C9<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_net_bnet_socket<br /> | int sys_net_bnet_socket ( int family, int type, int protocol )<br /> |-<br /> | 714<br /> | 0x2CA<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_net_bnet_close<br /> | int sys_net_bnet_close ( int fd )<br /> |-<br /> | 715<br /> | 0x2CB<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_net_bnet_poll<br /> |<br /> |-<br /> | 716<br /> | 0x2CC<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_net_bnet_select<br /> |<br /> |-<br /> | 717<br /> | 0x2CD<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_net_open_dump<br /> | int sys_net_open_dump ( int len, int flags )<br /> |-<br /> | 718<br /> | 0x2CE<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_net_read_dump<br /> | int sys_net_read_dump ( int id, void *buf, int len, int *pflags )<br /> |-<br /> | 719<br /> | 0x2CF<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_net_close_dump<br /> | int sys_net_close_dump ( int id, int *pflags )<br /> |-<br /> | 720<br /> | 0x2D0<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_net_write_dump<br /> | int sys_net_write_dump ( char *buf )<br /> |-<br /> | 721<br /> | 0x2D1<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_net_abort<br /> | int sys_net_abort (packet id &lt;5: 0=abort socket,1=abort resolver ), sys_net_thread_id_t tid/int socket_descriptor, int flags )<br /> |-<br /> | 722<br /> | 0x2D2<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_net_infoctl<br /> |<br /> |-<br /> | 723<br /> | 0x2D3<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_net_control<br /> |<br /> |-<br /> | 724<br /> | 0x2D4<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_net_bnet_ioctl<br /> |<br /> |-<br /> | 725<br /> | 0x2D5<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_net_bnet_sysctl<br /> |<br /> |-<br /> | 726<br /> | 0x2D6<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_net_eurus_post_command<br /> | int sys_net_eurus_post_command(uint16_t cmd, uint8_t *cmdbuf, uint64_t cmdbuf_size) [[Hypervisor_Reverse_Engineering#Commands_2 Commands]] &lt;!--///*<br /> * lv2_gelic_eurus_control<br /> */<br /> static inline int lv2_gelic_eurus_control(uint16_t cmd, uint8_t *cmdbuf, uint64_t cmdbuf_size)<br /> {<br /> return Lv2Syscall3(726, cmd, (uint64_t) cmdbuf, cmdbuf_size);<br /> }//--&gt;<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;lv2Fs Syscalls&quot;|[[#lv2Fs Syscalls]] (801-834)<br /> |-<br /> | 800<br /> | 0x320<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_test<br /> | int sys_fs_test(packetid &lt; 7 (6 tests) ,0,*deviceid,4,uint8* out[0x420],0x420)<br /> |-<br /> | 801<br /> | 0x321<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_open<br /> | CellFsErrno sys_fs_open(const char *path, int flags, int *fd, uint64_t mode, const void *arg, uint64_t size); <br /> |-<br /> | 802<br /> | 0x322<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_read<br /> | CellFsErrno sys_fs_read(int fd, void *buf, uint64_t nbytes, uint64_t *nread);<br /> |-<br /> | 803<br /> | 0x323<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_write<br /> | CellFsErrno sys_fs_write(int fd, const void *buf, uint64_t nbytes, uint64_t *nwrite);<br /> |-<br /> | 804<br /> | 0x324<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_close<br /> | CellFsErrno sys_fs_close(int fd);<br /> |-<br /> | 805<br /> | 0x325<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_opendir<br /> | CellFsErrno sys_fs_opendir(const char *path, int *fd);<br /> |-<br /> | 806<br /> | 0x326<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_readdir<br /> | CellFsErrno sys_fs_readdir(int fd, CellFsDirent *dir, uint64_t *nread);<br /> |-<br /> | 807<br /> | 0x327<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_closedir<br /> | CellFsErrno sys_fs_closedir(int fd);<br /> |-<br /> | 808<br /> | 0x328<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_stat<br /> | CellFsErrno sys_fs_stat(const char *path, CellFsStat *sb);<br /> |-<br /> | 809<br /> | 0x329<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_fstat<br /> | CellFsErrno sys_fs_fstat(int fd, CellFsStat *sb);<br /> |-<br /> | 810<br /> | 0x32A<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_link<br /> | int sys_fs_link(char const*, char const*)<br /> |-<br /> | 811<br /> | 0x32B<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_mkdir<br /> | CellFsErrno sys_fs_mkdir(const char *path, CellFsMode mode);<br /> |-<br /> | 812<br /> | 0x32C<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_rename<br /> | CellFsErrno sys_fs_rename(const char *from, const char *to);<br /> |-<br /> | 813<br /> | 0x32D<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_rmdir<br /> | CellFsErrno sys_fs_rmdir(const char *path);<br /> |-<br /> | 814<br /> | 0x32E<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_unlink<br /> | CellFsErrno sys_fs_unlink(const char *path);<br /> |-<br /> | 815<br /> | 0x32F<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_utime<br /> | CellFsErrno sys_fs_utime(const char *path, const CellFsUtimbuf *timep);<br /> |-<br /> | 816<br /> | 0x330<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_access<br /> | int sys_fs_access(char cont*, int)<br /> |-<br /> | 817<br /> | 0x331<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_fcntl<br /> | int sys_fs_fcntl(int, int, void *, unsigned long)<br /> |-<br /> | 818<br /> | 0x332<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_lseek<br /> | CellFsErrno sys_fs_lseek(int fd, int64_t offset, int whence, uint64_t *pos);<br /> |-<br /> | 819<br /> | 0x333<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_fdatasync<br /> | int sys_fs_datasync(int)<br /> |-<br /> | 820<br /> | 0x334<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_fsync<br /> | CellFsErrno sys_fs_fsync(int fd);<br /> |-<br /> | 821<br /> | 0x335<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_fget_block_size<br /> | int sys_fs_fget_block_size(int, unsigned long *, unsigned long *, unsigned long *, int *)<br /> |-<br /> | 822<br /> | 0x336<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_get_block_size<br /> | int sys_fs_get_block_size(char const*, unsigned long *, unsigned long *, unsigned long *)<br /> |-<br /> | 823<br /> | 0x337<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_acl_read<br /> | int sys_fs_acl_read(char const*, CellFsAcl *)<br /> |-<br /> | 824<br /> | 0x338<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_acl_write<br /> | int sys_fs_acl_read(char const*, CellFsAcl *)<br /> |-<br /> | 825<br /> | 0x339<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_lsn_get_cda_size<br /> | int sys_fs_lsn_get_cda_size(int, unsigned long *)<br /> |-<br /> | 826<br /> | 0x33A<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_lsn_get_cda<br /> | int sys_fs_lsn_get_cda(int, CellFsCda *, unsigned long, unsigned long *)<br /> |-<br /> | 827<br /> | 0x33B<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_lsn_lock<br /> | int sys_fs_lsn_lock(int)<br /> |-<br /> | 828<br /> | 0x33C<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_lsn_unlock<br /> | int sys_fs_lsn_unlock(int)<br /> |-<br /> | 829<br /> | 0x33D<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_lsn_read<br /> | int sys_fs_lsn_read(int, CellFsCda const*, unsigned long)<br /> |-<br /> | 830<br /> | 0x33E<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_lsn_write<br /> | int sys_fs_lsn_write(int, CellFsCda const*, unsigned long)<br /> |-<br /> | 831<br /> | 0x33F<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_truncate<br /> | CellFsErrno sys_fs_truncate(const char *path, uint64_t size);<br /> |-<br /> | 832<br /> | 0x340<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_ftruncate<br /> | CellFsErrno sys_fs_ftruncate(int fd, uint64_t size);<br /> |-<br /> | 833<br /> | 0x341<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_symbolic_link<br /> | int sys_fs_symbolic_link(char const*, char const*)<br /> |-<br /> | 834<br /> | 0x342<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_chmod<br /> | CellFsErrno sys_fs_chmod(const char *path, CellFsMode mode);<br /> |-<br /> | 835<br /> | 0x343<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_chown<br /> | int sys_fs_chown(char const*, int, int)<br /> |-<br /> | 836<br /> | 0x344<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_newfs<br /> | int sys_fs_newfs(char const* deviceName, char const*, int, char const**) <br /> |-<br /> | 837<br /> | 0x345<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_mount<br /> | int sys_fs_mount(char const* deviceName, char const*, char const*, int, int, int, char const**) &lt;br&gt;Example: Device Name (e.g CELL_FS_IOS:BUILTIN_FLSH1), Device File System (e.g CELL_FS_FAT), Device Path (e.g. /dev_flash), 0, Write Protection (0 or 1), 0, 0, 0<br /> |-<br /> | 838<br /> | 0x346<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_unmount<br /> | int sys_fs_unmount(char const*, int, int)&lt;br&gt;Parameters: Device Path (e.g. /dev_flash)<br /> |-<br /> | 839<br /> | 0x347<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_sync<br /> | int sys_fs_sync(const char *dir) &lt;!--///*<br /> * lv2_cell_fs_util_sync<br /> */<br /> static inline int lv2_cell_fs_util_sync(const char *dir)<br /> {<br /> return Lv2Syscall1(839, (uint64_t) dir);<br /> }//--&gt; Parameter: Device Path (e.g. /dev_hdd0)<br /> |-<br /> | 840<br /> | 0x348<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_disk_free<br /> | int sys_fs_disk_free(char const*, unsigned long *, unsigned long *)<br /> |-<br /> | 841<br /> | 0x349<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_get_mount_info_size<br /> | int sys_fs_get_mount_info_size(unsigned long *)<br /> |-<br /> | 842<br /> | 0x34A<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_get_mount_info<br /> | int sys_fs_get_mount_info(CellFsMountInformation *, unsigned long, unsigned long *)<br /> |-<br /> | 843<br /> | 0x34B<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_get_fs_info_size<br /> | int sys_fs_get_fs_info_size(unsigned long *)<br /> |-<br /> | 844<br /> | 0x34C<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_get_fs_info<br /> | int sys_fs_get_fs_info(ulong, ulong*, CellFsInfo *)<br /> |-<br /> | 845<br /> | 0x34D<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_mapped_allocate<br /> | int sys_fs_mapped_allocate(int, unsigned long, void **)<br /> |-<br /> | 846<br /> | 0x34E<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_mapped_free<br /> | int sys_fs_mapped_free(int, void *)<br /> |-<br /> | 847<br /> | 0x34F<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_fs_truncate2<br /> | int sys_fs_ftruncate2(int fd, uint64_t size);<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;process socket service syscalls&quot;|[[#process socket service syscalls]] (861-864)<br /> |-<br /> | 860<br /> | 0x35C<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Authid}}<br /> | syscall_sys_ss_get_cache_of_analog_sunset_flag<br /> | int syscall_sys_ss_get_cache_of_analog_sunset_flag(out:uint8_t[1])<br /> |-<br /> | 861<br /> | 0x35D<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_ss_protected_file_db<br /> | gamesave_storage_manager_if(uint32_t packetid (0-0x13), uint8_t buf[0xB8], const char* path, int32_t len, int32_t unk2, int32_t unk3, 0, 0);<br /> |-<br /> | 862<br /> | 0x35E<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_ss_virtual_trm_manager<br /> | [[Virtual_TRM_Manager|vtrm_manager_if (Interface)]] &lt;!--///*<br /> * lv2_ss_vtrm_mgr_if<br /> */<br /> static inline int lv2_ss_vtrm_mgr_if(uint32_t packet_id, uint64_t arg1, uint64_t arg2,<br /> uint64_t arg3, uint64_t arg4)<br /> {<br /> return Lv2Syscall5(862, packet_id, arg1, arg2, arg3, arg4);<br /> }<br /> lv2_ss_vtrm_mgr_if(0x2005=retrieve,uint64_t *outbuff, 0x40,0,0);<br /> //--&gt;<br /> |-<br /> | 863<br /> | 0x35F<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_ss_update_manager<br /> | [[Update_Manager|update_manager_if (Interface)]]&lt;!--///*<br /> * lv2_ss_update_mgr_if<br /> */<br /> static inline int lv2_ss_update_mgr_if(uint32_t packet_id, uint64_t arg1, uint64_t arg2,<br /> uint64_t arg3, uint64_t arg4, uint64_t arg5, uint64_t arg6)<br /> {<br /> return Lv2Syscall7(863, packet_id, arg1, arg2, arg3, arg4, arg5, arg6);<br /> }//--&gt;<br /> |-<br /> | 864<br /> | 0x360<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Dbg}}<br /> | sys_ss_sec_hw_framework<br /> | [[Storage_Manager|storage_manager_if (Interface)]] &lt;!--///*<br /> * lv2_ss_stor_mgr_if<br /> */<br /> static inline int lv2_ss_stor_mgr_if(uint32_t packet_id, uint64_t arg1)<br /> {<br /> return Lv2Syscall2(864, packet_id, arg1);<br /> }//--&gt;<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_ss/sys_get Syscalls&quot;|[[#sys_ss/sys_get Syscalls]] (865-879)<br /> |-<br /> | 865<br /> | 0x361<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}} {{Authid}}<br /> | sys_ss_random_number_generator<br /> | int sys_ss_random_number_generator(id,buffer,size), alias sys_get_random_number &lt;!--///*<br /> * random_number<br /> */<br /> int sys_get_random_number(<br /> void* addr,<br /> uint64_t size<br /> );<br /> //--&gt;<br /> |-<br /> | 866<br /> | 0x362<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_ss_secure_rtc<br /> | [[Secure_RTC_Manager|secure_rtc_manager_if (Interface)]] &lt;!--///*<br /> * lv2_ss_secure_rtc_if<br /> */<br /> static inline int lv2_ss_secure_rtc_if(uint32_t packet_id, uint64_t arg1, uint64_t arg2, uint64_t arg3)<br /> {<br /> return Lv2Syscall4(866, packet_id, arg1, arg2, arg3);<br /> }//--&gt;<br /> |-<br /> | 867<br /> | 0x363<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_ss_appliance_info_manager<br /> | [[AIM_Manager|aim_manager_if (Interface)]] &lt;!--///*<br /> * lv2_ss_aim_if<br /> */<br /> static inline int lv2_ss_aim_if(uint32_t packet_id, uint64_t arg1)<br /> {<br /> return Lv2Syscall2(867, packet_id, arg1);<br /> }//--&gt;<br /> |-<br /> | 868<br /> | 0x364<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}} / {{Dbg}} {{Authid}}<br /> | sys_ss_individual_info_manager<br /> | [[Indi_Info_Manager|indi_info_manager_if (Interface)]] &lt;!--///*<br /> * lv2_ss_indi_info_mgr_if<br /> */<br /> static inline int lv2_ss_indi_info_mgr_if(uint32_t packet_id, uint64_t arg1, uint64_t arg2,<br /> uint64_t arg3, uint64_t arg4)<br /> {<br /> return Lv2Syscall5(868, packet_id, arg1, arg2, arg3, arg4);<br /> }<br /> Lv2Syscall5(868, 0x17015, outbuff, 0, 0, 0); /* Read cISD Size*/<br /> //--&gt;<br /> |-<br /> | 869<br /> | 0x365<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_ss_factory_data_manager<br /> | [[Factory_Data_Manager|factory_data_manager_if (Interface)]] <br /> |-<br /> | 870<br /> | 0x366<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_ss_get_console_id<br /> | int sys_ss_get_console_id(uint8_t *buf) //returns [[IDPS]] in buf<br /> |-<br /> | 871<br /> | 0x367<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{dbg}}<br /> | sys_ss_access_control_engine<br /> | 3 params<br /> (1,sys_pid_t,out:uint8_t [8]) <br /> (2,out:uint8_t [8],0) // returns [[Authentication_IDs]]<br /> (3,out:uint8_t [8],0)<br /> |-<br /> | 872<br /> | 0x368<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_ss_get_open_psid<br /> | int sys_ss_get_open_psid(CellSsOpenPSID *ptr) ; typedef struct CellSsOpenPSID { uint64_t high; uint64_t low;}<br /> |-<br /> | 873<br /> | 0x369<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_ss_get_cache_of_product_mode<br /> | int sys_ss_get_cache_of_product_mode(uint8_t *ptr [1]);<br /> |-<br /> | 874<br /> | 0x36A<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_ss_get_cache_of_flash_ext_flag<br /> | int sys_ss_get_cache_of_flash_ext_flag(uint8_t *flag [1]) &lt;!--///*<br /> * lv2_ss_get_cache_of_flash_ext_flag<br /> */<br /> static inline int lv2_ss_get_cache_of_flash_ext_flag(uint8_t *flag)<br /> {<br /> return Lv2Syscall1(874, (uint64_t) flag);<br /> }//--&gt;<br /> |-<br /> | 875<br /> | 0x36B<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_ss_get_boot_device<br /> | int sys_ss_get_boot_device(uint8_t * buf [8]);<br /> |-<br /> | 876<br /> | 0x36C<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_ss_disc_access_control<br /> | 2Params: 0x20000(=get_disc_access_control),uint32_t * disc_access / 0x20001(=set_disc_access_control),1 <br /> |-<br /> | 877<br /> | 0x36D<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_ss_~utoken_if<br /> | syscall(877,0x25003=Decrypt or 0x25004 or 0x25005=Encrypt or 0x25006=(copy syscall table to user), uint8_t *token, 0xC50 (size)), [[User_Token_Manager|user_token_manager_if]]<br /> |-<br /> | 878<br /> | 0x36E<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_ss_ad_sign<br /> | syscall(878, 0x26001, in_buffer[0x14], out_buffer[0x80])<br /> |-<br /> | 879<br /> | 0x36F<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_ss_media_id<br /> | syscall(879, 0x10001, out_buffer[0x10])<br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_deci3 Syscalls&quot;|[[#sys_deci3 Syscalls]] (880-884)<br /> |-<br /> | 880<br /> | 0x370<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_deci3_open<br /> | int sys_deci3_open(sys_deci3_protocol_t protocol, sys_deci3_port_t port, void *option, sys_deci3_session_t * session_id);<br /> |-<br /> | 881<br /> | 0x371<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_deci3_create_event_path<br /> | int sys_deci3_create_event_path(sys_deci3_session_t session_id, size_t bufsize, sys_event_queue_t event_queue_id);<br /> |-<br /> | 882<br /> | 0x372<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_deci3_close<br /> | int sys_deci3_close(sys_deci3_session_t session_id);<br /> |-<br /> | 883<br /> | 0x373<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_deci3_send<br /> | int sys_deci3_send(sys_deci3_session_t session_id, uint8_t * buf, __CSTD size_t size);<br /> |-<br /> | 884<br /> | 0x374<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_deci3_receive<br /> | int sys_deci3_receive(sys_deci3_session_t session_id, uint8_t * buf, __CSTD size_t size);<br /> |-<br /> | 885<br /> | 0x375<br /> | {{DECR}}<br /> |<br /> | sys_deci3_open2<br /> | <br /> |-<br /> | 889<br /> | 0x379<br /> | {{DECR}}<br /> | {{Root}}<br /> | sys_<br /> | <br /> |-<br /> | 890<br /> | 0x37A<br /> |<br /> |<br /> | sys_deci3_initialize<br /> | <br /> |-<br /> | 891<br /> | 0x37B<br /> |<br /> |<br /> | sys_deci3_terminate<br /> | <br /> |-<br /> | 892<br /> | 0x37C<br /> |<br /> |<br /> | sys_deci3_debug_mode<br /> | <br /> |-<br /> | 893<br /> | 0x37D<br /> |<br /> |<br /> | sys_deci3_show_status<br /> | <br /> |-<br /> | 894<br /> | 0x37E<br /> |<br /> |<br /> | sys_deci3_echo_test<br /> | <br /> |-<br /> | 895<br /> | 0x37F<br /> |<br /> |<br /> | sys_deci3_send_dcmp_packet<br /> | <br /> |-<br /> | 896<br /> | 0x380<br /> |<br /> |<br /> | sys_deci3_dump_cp_register<br /> | <br /> |-<br /> | 897<br /> | 0x381<br /> |<br /> |<br /> | sys_deci3_dump_cp_buffer<br /> | <br /> |-<br /> | 899<br /> | 0x383<br /> |<br /> |<br /> | sys_deci3_test<br /> | <br /> |-<br /> ! colspan=&quot;6&quot; id=&quot;sys_dbg Syscalls&quot;|[[#sys_dbg Syscalls]] (900-970)<br /> |-<br /> | 900<br /> | 0x384<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_dbg_stop_processes<br /> | 2 params: sys_pid_t pid, 1<br /> |-<br /> | 901<br /> | 0x385<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_continue_processes<br /> | <br /> |-<br /> | 902<br /> | 0x386<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_dbg_stop_threads<br /> | 2 params: in/out, len<br /> |-<br /> | 903<br /> | 0x387<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_dbg_continue_threads<br /> | 2 params: uint64_t *inbuff, int length(0 or ... or 8)<br /> |-<br /> | 904<br /> | 0x388<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_read_process_memory<br /> | int sys_dbg_read_process_memory(sys_pid_t pid, uint64_t process_ea, uint32_t size, void* data)<br /> |-<br /> | 905<br /> | 0x389<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_write_process_memory<br /> | int sys_dbg_write_process_memory(sys_pid_t pid, uint64_t process_ea, uint32_t size, const void* data)<br /> |-<br /> | 906<br /> | 0x38A<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_dbg_read_thread_register<br /> | 3 Params: uint8_t [0x10], uint64_t *, uint8_t[0x10]<br /> |-<br /> | 907<br /> | 0x38B<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_write_thread_register<br /> | <br /> |-<br /> | 908<br /> | 0x38C<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_get_process_list<br /> | int sys_dbg_get_process_list(sys_pid_t* pids, uint64_t* max, uint64_t* count)<br /> |-<br /> | 909<br /> | 0x38D<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_dbg_get_thread_list<br /> | int sys_dbg_get_thread_list( sys_pid_t pid, sys_ppu_thread_t* ids, uint64_t* ids_num, uint64_t* all_ids_num)<br /> |-<br /> | 910<br /> | 0x38E<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_dbg_get_thread_info<br /> | 2 Params: uint8_t * [0x10] {type,thread id?}, uint8_t [0x80]<br /> 1 spu_thread<br /> 2 spu_thread_group<br /> 0 ppu_thread<br /> |-<br /> | 911<br /> | 0x38F<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_dbg_spu_thread_read_from_ls<br /> | 4 Params: spu thread id,, size, uint8_t[size]<br /> |-<br /> | 912<br /> | 0x390<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_spu_thread_write_to_ls<br /> | <br /> |-<br /> | 913<br /> | 0x391<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_kill_process<br /> | int sys_dbg_kill_process(sys_pid_t pid)<br /> |-<br /> | 914<br /> | 0x392<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_dbg_get_process_info<br /> | int sys_dbg_get_process_info(sys_pid_t pid, sys_process_info_t* info)<br /> |-<br /> | 915<br /> | 0x393<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_set_run_control_bit_to_spu<br /> | <br /> |-<br /> | 916<br /> | 0x394<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_spu_thread_get_exception_cause<br /> | <br /> |-<br /> | 917<br /> | 0x395<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_create_kernel_event_queue<br /> | <br /> |-<br /> | 918<br /> | 0x396<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_read_kernel_event_queue<br /> |<br /> |-<br /> | 919<br /> | 0x397<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_destroy_kernel_event_queue<br /> | <br /> |-<br /> | 920<br /> | 0x398<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_get_process_event_ctrl_flag<br /> | <br /> |-<br /> | 921<br /> | 0x399<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_set_process_event_cntl_flag<br /> |<br /> |-<br /> | 922<br /> | 0x39A<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_get_spu_thread_group_event_cntl_flag<br /> | <br /> |-<br /> | 923<br /> | 0x39B<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_set_spu_thread_group_event_cntl_flag<br /> |<br /> |-<br /> | 924<br /> | 0x39C<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_get_module_list<br /> |<br /> |-<br /> | 925<br /> | 0x39D<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_get_raw_spu_list<br /> |<br /> |-<br /> | 926<br /> | 0x39E<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_initialize_scratch_executable_area<br /> |<br /> |-<br /> | 927<br /> | 0x3A0<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_terminate_scratch_executable_area<br /> |<br /> |-<br /> | 928<br /> | 0x3A1<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_initialize_scratch_data_area<br /> |<br /> |-<br /> | 929<br /> | 0x3A2<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_terminate_scratch_data_area<br /> |<br /> |-<br /> | 930<br /> | 0x3A3<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_get_user_memory_stat<br /> |<br /> |-<br /> | 931<br /> | 0x3A4<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_get_shared_memory_attribute_list<br /> |<br /> |-<br /> | 932<br /> | 0x3A4<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_get_mutex_list<br /> |<br /> |-<br /> | 933<br /> | 0x3A5<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_dbg_get_mutex_information<br /> | int sys_dbg_get_mutex_information(sys_pid_t id, sys_mutex_t id, sys_dbg_mutex_information_t* info )<br /> |-<br /> | 934<br /> | 0x3A6<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_get_cond_list<br /> |<br /> |-<br /> | 935<br /> | 0x3A7<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_dbg_get_cond_information <br /> | int sys_dbg_get_cond_information ( sys_pid_t id, sys_cond_t id, sys_dbg_cond_information_t* info )<br /> |-<br /> | 936<br /> | 0x3A8<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_get_rwlock_list<br /> |<br /> |-<br /> | 937<br /> | 0x3A9<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_dbg_get_rwlock_information <br /> | int sys_dbg_get_rwlock_information ( sys_pid_t id, sys_rwlock_t id, sys_dbg_rwlock_information_t* info )<br /> |-<br /> | 938<br /> | 0x3AA<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_get_lwmutex_list<br /> |<br /> |-<br /> | 939<br /> | 0x3AB<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_get_address_from_dabr<br /> | int sys_dbg_get_address_from_dabr ( sys_pid_t id, uint64_t* addr, uint64_t* ctrl_flag )<br /> |-<br /> | 940<br /> | 0x3AC<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_set_address_to_dabr<br /> | int sys_dbg_set_address_to_dabr ( sys_pid_t id, uint64_t addr, uint64_t ctrl_flag )<br /> |-<br /> | 941<br /> | 0x3AD<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_dbg_get_lwmutex_information<br /> | int sys_dbg_get_lwmutex_information ( sys_pid_t id, sys_lwmutex_pseudo_id_t id, sys_dbg_lwmutex_information_t* info )<br /> |-<br /> | 942<br /> | 0x3AE<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_get_event_queue_list<br /> |<br /> |-<br /> | 943<br /> | 0x3AF<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_dbg_get_event_queue_information <br /> | int sys_dbg_get_event_queue_information ( sys_pid_t id, sys_event_queue_t id, sys_dbg_event_queue_information_t* info )<br /> |-<br /> | 944<br /> | 0x3B0<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | <br /> | sys_dbg_initialize_ppu_exception_handler<br /> | int sys_dbg_initialize_ppu_exception_handler( sys_event_queue_t * equeue_id) <br /> |-<br /> | 945<br /> | 0x3B1<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Dbg}}<br /> | sys_dbg_finalize_ppu_exception_handler<br /> | int sys_dbg_finalize_ppu_exception_handler ( sys_event_queue_t equeue_id )<br /> |-<br /> | 946<br /> | 0x3B2<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_get_semaphore_list<br /> |<br /> |-<br /> | 947<br /> | 0x3B3<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_dbg_get_semaphore_information<br /> | int sys_dbg_get_semaphore_information (sys_pid_t id, sys_semaphore_t id, sys_dbg_semaphore_information_t* info )<br /> |-<br /> | 948<br /> | 0x3B4<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_get_kernel_thread_list<br /> |<br /> |-<br /> | 949<br /> | 0x3B5<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_get_kernel_thread_info<br /> |<br /> |-<br /> | 950<br /> | 0x3B6<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_get_lwcond_list<br /> |<br /> |-<br /> | 951<br /> | 0x3B7<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_dbg_get_lwcond_information<br /> | int sys_dbg_get_lwcond_information (sys_pid_t id, sys_lwcond_pseudo_id_t id, sys_dbg_lwcond_information_t* info )<br /> |-<br /> | 952<br /> | 0x3B8<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_create_scratch_data_area_ext<br /> |<br /> |-<br /> | 953<br /> | 0x3B9<br /> | {{DECR}} {{DEX}}<br /> | <br /> | sys_dbg_vm_get_page_information <br /> | int sys_dbg_vm_get_page_information (sys_pid_t id, sys_addr_t addr, unsigned int num, sys_vm_page_information_t *pageinfo )<br /> |-<br /> | 954<br /> | 0x3BA<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_vm_get_info<br /> |<br /> |-<br /> | 955<br /> | 0x3BB<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_enable_floating_point_enabled_exception<br /> | int sys_dbg_enable_floating_point_enabled_exception ( sys_ppu_thread_t id )<br /> |-<br /> | 956<br /> | 0x3BC<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_disable_floating_point_enabled_exception<br /> | int sys_dbg_disable_floating_point_enabled_exception ( sys_ppu_thread_t id )<br /> |-<br /> | 957<br /> | 0x3BD<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_dbg_get_process_memory_container_information<br /> | (u32 proc_id, dbg_mc_info *mc_info[count], u32 *count)<br /> |-<br /> | 959<br /> | 0x3BF<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_dbg_(send event flags?)<br /> | 4 Params: id, uint64_t,uint64_t,uint64_t<br /> |-<br /> | 960<br /> | 0x3C0<br /> | {{DECR}}<br /> |<br /> | sys_control_performance_monitor<br /> | int sys_control_performance_monitor? (int id, 0 / *out ) - Controls Performance Monitor on the Cell Broadband Engine syscall<br /> |-<br /> | 961<br /> | 0x3C1<br /> | {{DECR}}<br /> |<br /> | sys_performance_monitor_hidden<br /> |<br /> |-<br /> | 962<br /> | 0x3C2<br /> | {{DECR}}<br /> |<br /> | sys_performance_monitor_bookmark<br /> |<br /> |-<br /> | 963<br /> | 0x3C3<br /> | {{DECR}}<br /> |<br /> | sys_lv1_pc_trace_create<br /> |<br /> |-<br /> | 964<br /> | 0x3C4<br /> | {{DECR}}<br /> |<br /> | sys_lv1_pc_trace_start<br /> |<br /> |-<br /> | 965<br /> | 0x3C5<br /> | {{DECR}}<br /> |<br /> | sys_lv1_pc_trace_stop<br /> |<br /> |-<br /> | 966<br /> | 0x3C6<br /> | {{DECR}}<br /> |<br /> | sys_lv1_pc_trace_get_status<br /> |<br /> |-<br /> | 967<br /> | 0x3C7<br /> | {{DECR}}<br /> |<br /> | sys_lv1_pc_trace_destroy<br /> |<br /> |-<br /> | 968<br /> | 0x3C8<br /> | {{DECR}}<br /> |<br /> | ys_rsx_trace_ioctl<br /> |<br /> |-<br /> | 969<br /> | 0x3C9<br /> | {{DECR}}<br /> |<br /> |<br /> |<br /> |-<br /> | 970<br /> | 0x3CA<br /> | {{DECR}} {{DEX}}<br /> |<br /> | sys_dbg_get_event_flag_list<br /> |<br /> |-<br /> | 971<br /> | 0x3CB<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_dbg_get_event_flag_information<br /> | int sys_dbg_get_event_flag_information ( sys_pid_t id, sys_event_flag_t id, sys_dbg_event_flag_information_t* info )<br /> |-<br /> | 972<br /> | 0x3CC<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_dbg_(send event flags?)<br /> | 1 Param: uint8_t [0x48]<br /> |-<br /> | 973<br /> | 0x3CD<br /> | {{DECR}} {{DEX}}<br /> |<br /> |<br /> |<br /> |-<br /> | 974<br /> | 0x3CE<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> |<br /> | sc(0x3CE, in:(ppu)thread_id, out:uint8_t[0x440])<br /> |-<br /> | 975<br /> | 0x3CF<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_dbg_read_spu_thread_context2<br /> | int sys_dbg_read_spu_thread_context2( sys_spu_thread_t id, sys_dbg_spu_thread_context2_t* spu_context )<br /> |-<br /> | 976<br /> | 0x3D0<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_crypto_engine_create<br /> | int sys_crypto_engine_create(sys_pid_t* id);<br /> |-<br /> | 977<br /> | 0x3D1<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_crypto_engine_destroy<br /> | int sys_crypto_engine_destroy(sys_pid_t id);<br /> |-<br /> | 978<br /> | 0x3D2<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_crypto_engine_hasher_prepare<br /> | int sys_crypto_engine_hasher_prepare(sys_pid_t id, int32_t hash_key_index); /* uses HMAC-SHA1 with key size of 0x14 bytes, keys are generated by VTRM (master) */<br /> |-<br /> | 979<br /> | 0x3D3<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_crypto_engine_hasher_run<br /> | int sys_crypto_engine_hasher_run(sys_pid_t id, const void* data, uint32_t data size); /* splits data by chunks of 0x400 bytes max */<br /> |-<br /> | 980<br /> | 0x3D4<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_crypto_engine_hasher_get_hash<br /> | int sys_crypto_engine_hasher_get_hash(sys_pid_t id, void* buffer, uint32_t max_buffer_size /* &gt;= 0x14 */);<br /> |-<br /> | 981<br /> | 0x3D5<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_crypto_engine_cipher_prepare<br /> | int sys_crypto_engine_cipher_prepare(sys_pid_t id, int32_t hash_key_index, int32_t mode /* 1:encrypt, 2:decrypt */, int32_t cipher_key_index, const void* iv, uint32_t iv_size); /* uses AES-CBC-128, keys are generated by VTRM (master) */<br /> |-<br /> | 982<br /> | 0x3D6<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_crypto_engine_cipher_run<br /> | int sys_crypto_engine_cipher_run(sys_pid_t id, const void* input, void* output, uint32_t data_size); /* splits data by chunks of 0x400 bytes max */<br /> |-<br /> | 983<br /> | 0x3D7<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_crypto_engine_cipher_get_hash<br /> | int sys_crypto_engine_cipher_get_hash(sys_pid_t id, void* buffer, uint32_t max_buffer_size /* &gt;= 0x14 */);<br /> |-<br /> | 984<br /> | 0x3D8<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> | sys_crypto_engine_random_generate<br /> | int sys_crypto_engine_random_generate(void* buffer, uint32_t max_buffer_size /* &gt;= 0x10 */);<br /> |-<br /> | 985<br /> | 0x3D9<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> | sys_dbg_get_console_type?<br /> | returns Console Type, syscall(985,uint64_t * type)<br /> 1=CEX<br /> 2=DEX<br /> 3=TOOL<br /> |-<br /> | 986<br /> | 0x3DA<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}} {{Dbg}}<br /> |<br /> | seems to return Game Application Title ID , syscall(986,out:uint8[0x40])<br /> |-<br /> | 987<br /> | 0x3DB<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> | {{Root}}<br /> |<br /> | syscall(987,0 or 1, uint64_t data), example: 0, 0x8000100000020000 (no root flags required) &lt;br&gt; example: 1, uint64_t data (requires root flags AND QA-Enabled, sends data to vsh process)<br /> |-<br /> | 988<br /> | 0x3DC<br /> | {{CEX}} <br /> |<br /> | sys_dbg_(something)_ppu_exception_handler<br /> | 2 Params: syscall(988,int i,0) , i &lt;0x10 (1 or 2 or 4 or 8 or 0x10)<br /> |-<br /> | 989<br /> | 0x3DD<br /> | {{DECR}} {{DEX}} {{CEX}}<br /> |<br /> |<br /> | 2 Params: syscall(989, (spu) thread_id ,out:uint8[0x20])<br /> |-<br /> |}<br /> <br /> ==== _sys_process_get_paramsfo ====<br /> 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F<br /> 00000000 01 &lt; -------Title ID------- &gt; 00 00 00 00 00 00 �BLES80608......<br /> 00000010 &lt; ---ExtraLoadFlag--- &gt; &lt; load HUDRSX libProf &gt; ................<br /> 00000020 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ................<br /> 00000030 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ................<br /> <br /> @0x18 can load libgpad.sprx from app_home<br /> <br /> =====ExtraLoadFlag=====<br /> {| class=&quot;wikitable&quot;<br /> !Name<br /> !Value<br /> |-<br /> |EnableAccForRemotePlay<br /> |0x20L<br /> |-<br /> |EnableCoreDump<br /> |0x10L<br /> |-<br /> |EnableGCMDebug<br /> |0x04L<br /> |-<br /> |EnableHUDRSXTools<br /> |0x40L<br /> |-<br /> |EnableLv2ExceptionHandler<br /> |0x01L<br /> |-<br /> |EnableMAT<br /> |0x80L<br /> |-<br /> |EnableMiscSettings<br /> |0x8000000000000000L<br /> |-<br /> |EnableRemotePlay<br /> |0x02L<br /> |-<br /> |GameAttributeCustomMessage<br /> |0x200L<br /> |-<br /> |GameAttributeInviteMessage<br /> |0x100L<br /> |-<br /> |LoadingPatch<br /> |0x1000L<br /> |-<br /> |LoadLibprofSPRXAutomatically<br /> |0x08L<br /> |-<br /> |}<br /> <br /> ==== Boot Parameter ====<br /> {| class=&quot;wikitable&quot;<br /> !Name<br /> !Value<br /> |-<br /> |BluRayEmuOff<br /> |0x04L<br /> |-<br /> |BluRayEmuUSB<br /> |0x20L<br /> |-<br /> |DebugMode<br /> |0x10L<br /> |-<br /> |Default<br /> |0x00L<br /> |-<br /> |DualNIC<br /> |0x80L<br /> |-<br /> |HDDSpeedBluRayEmu<br /> |0x08L<br /> |-<br /> |HostFSTarget<br /> |0x40L<br /> |-<br /> |MemSizeConsole<br /> |0x02L<br /> |-<br /> |ReleaseMode<br /> |0x01L<br /> |-<br /> |SystemMode<br /> |0x11L<br /> |-<br /> |}<br /> <br /> === Network Syscalls ===<br /> Networking uses [[LV2_Functions_and_Syscalls#sys_net_Syscalls|syscalls 700-726]]<br /> <br /> === File Syscalls ===<br /> <br /> ==== OFLAGS ====<br /> {| class=&quot;wikitable&quot;<br /> !Name<br /> !Value<br /> |-<br /> |CELL_FS_O_RDONLY<br /> |000000<br /> |-<br /> |CELL_FS_O_WRONLY<br /> |000001<br /> |-<br /> |CELL_FS_O_RDWR<br /> |000002<br /> |-<br /> |CELL_FS_O_ACCMODE<br /> |000003<br /> |-<br /> |CELL_FS_O_CREAT<br /> |000100<br /> |-<br /> |CELL_FS_O_EXCL<br /> |000200<br /> |-<br /> |CELL_FS_O_TRUNC<br /> |001000<br /> |-<br /> |CELL_FS_O_APPEND<br /> |002000<br /> |-<br /> |CELL_FS_O_MSELF<br /> |010000<br /> |-<br /> |}<br /> <br /> ==== Classes ====<br /> {| class=&quot;wikitable&quot;<br /> !Name<br /> !Structure<br /> !Packed<br /> |-<br /> |cellFsStat<br /> |s32 st_mode; s32 st_uid; s32 st_gid; u64 st_access_time; u64 st_modify_time; u64 st_create_time; u64 st_size; u64 st_blksize;<br /> |yes<br /> |-<br /> |cellFsUtimbuf<br /> |u64 access_time; u64 modify_time;<br /> |no<br /> |-<br /> |cellFsDirent<br /> |u8 d_type; u8 d_namlen; char d_name[256];<br /> |no<br /> |-<br /> |}<br /> <br /> ==== FNCTL ====<br /> {| class=&quot;wikitable&quot;<br /> !IOCTL ID<br /> !Notes<br /> |-<br /> |0x80000000<br /> |<br /> |-<br /> |0x80000004<br /> |(SetCharacterSet?)<br /> |-<br /> |0x80000005<br /> |(FsAllocateFileAreaByFd)<br /> |-<br /> |0x80000006<br /> |(FsAllocateFileAreaByFd)<br /> |-<br /> |0x80000007<br /> |(FsAllocateFileAreaByFd)<br /> |-<br /> |0x80000008<br /> |(FsAllocateFileAreaByFd)<br /> |-<br /> |0x80000009<br /> |(SdataOpenByFd)<br /> |-<br /> |0x8000000A<br /> |(ReadWithOffset)<br /> |-<br /> |0x8000000B<br /> |(WriteWithOffset)<br /> |-<br /> |0xC0000001<br /> |()<br /> |-<br /> |0xC0000002<br /> |(GetFreeSize)<br /> |-<br /> |0xC0000003<br /> |(SetFakeSize)<br /> |-<br /> |0xC0000004<br /> |(GetFakeSize)<br /> |-<br /> |0xC0000005<br /> |(GetSystemMergin)<br /> |-<br /> |0xC0000006<br /> |()<br /> |-<br /> |0xC0000007<br /> |(get hdd serial)<br /> |-<br /> |0xC0000008<br /> |(FsSetIoBuffer)<br /> |-<br /> |0xC0000009<br /> |()<br /> |-<br /> |0xC000000A<br /> |()<br /> |-<br /> |0xC000000B<br /> |()<br /> |-<br /> |0xC000000C<br /> |()<br /> |-<br /> |0xC000000D<br /> |()<br /> |-<br /> |0xC000000E<br /> |()<br /> |-<br /> |0xC000000F<br /> |()<br /> |-<br /> |0xC0000010<br /> |()<br /> |-<br /> |0xC0000011<br /> |()<br /> |-<br /> |0xC0000012<br /> |()<br /> |-<br /> |0xC0000013<br /> |()<br /> |-<br /> |0xC0000014<br /> |()<br /> |-<br /> |0xC0000015<br /> |(get_usb_mass_serial_number?)<br /> |-<br /> |0xC0000016<br /> |(ChangePs2discLayer)<br /> |-<br /> |0xC0000017<br /> |(open_dummy_files)<br /> |-<br /> |0xC0000018<br /> |(close_dummy_cfs_files)<br /> |-<br /> |0xC0000019<br /> |()<br /> |-<br /> |0xC000001A<br /> |(SetDiscReadRetrySetting)<br /> |-<br /> |0xC000001B<br /> |()<br /> |-<br /> |0xC000001C<br /> |(get_usb_mass_serial_number?)<br /> |-<br /> |0xC000001D<br /> |(set_psp_emu_title_id_path)<br /> |-<br /> |0xC000001E<br /> |(memset title id path)<br /> |-<br /> |0xC000001F<br /> |(process_request_set_redirected_full_path)<br /> |-<br /> |0xC0000020<br /> |()<br /> |-<br /> |0xE0000000<br /> |()<br /> |-<br /> |0xE0000001<br /> |()<br /> |-<br /> |0xE0000003<br /> |()<br /> |-<br /> |0xE0000004<br /> |()<br /> |-<br /> |0xE0000005<br /> |(FsMkdir)<br /> |-<br /> |0xE0000006<br /> |()<br /> |-<br /> |0xE0000007<br /> |(FsRmDir)<br /> |-<br /> |0xE0000008<br /> |(FsAclRead)<br /> |-<br /> |0xE0000009<br /> |(FsAccess)<br /> |-<br /> |0xE000000A<br /> |()<br /> |-<br /> |0xE000000B<br /> |()<br /> |-<br /> |0xE000000C<br /> |(FsTruncate)<br /> |-<br /> |0xE000000D<br /> |(FsUtime?)<br /> |-<br /> |0xE000000E<br /> |(FsAclWrite)<br /> |-<br /> |0xE000000F<br /> |(Chmod?)<br /> |-<br /> |0xE0000010<br /> |(FsChown)<br /> |-<br /> |0xE0000011<br /> |(error 0x80010037)<br /> |-<br /> |0xE0000012<br /> |(FsGetDirectoryEntries)<br /> |-<br /> |0xE0000013<br /> |()<br /> |-<br /> |0xE0000014<br /> |(FsSymbolicLink)<br /> |-<br /> |0xE0000015<br /> |(abort?)<br /> |-<br /> |0xE0000016<br /> |(FsAllocateFileAreaWithInitialData)<br /> |-<br /> |0xE0000017<br /> |(FsAllocateFileAreaWithoutZeroFill)<br /> |-<br /> |0xE0000018<br /> |(FsChangeFileSizeWithoutAllocation)<br /> |-<br /> |0xE000001A<br /> |()<br /> |-<br /> |0xE000001D<br /> |()<br /> |-<br /> |0xE000001E<br /> |()<br /> |-<br /> |0xE000001F<br /> |()<br /> |-<br /> |0xE0000020<br /> |()<br /> |-<br /> |0xE0000024<br /> |()<br /> |-<br /> |0xE0000025<br /> |(FsSdataOpenWithVersion)<br /> |-<br /> |}<br /> <br /> ==== Filesystem Syscalls ====<br /> Filesystem uses [[LV2_Functions_and_Syscalls#lv2Fs_Syscalls syscalls 700-726]]<br /> <br /> === Unofficial Syscalls added ===<br /> See also : [http://tortuga-cove.com/forums/viewtopic.php?t=89#p155 Syscalls, what they mean for you and for multiMAN]<br /> <br /> since 3.55 Sony fixed memory region restrictions and Write and Execute access permissions so that's why '''lv1 peek''' (lv2_lv1_peek - graf_chokolo) and '''lv1 poke''' (lv2_lv1_poke - graf_chokolo) were created.<br /> <br /> {| class=&quot;wikitable sortable&quot;<br /> !Number <br /> !Function - Added by<br /> !Notes<br /> |-<br /> | 6<br /> | lv2_peek - PL3-DEV, PSGroove v1.1, Payloader3 / (4.2x peek)<br /> | r3 is a 64 bit address to read. A 64 bit value will be returned in r3<br /> |- <br /> | 7<br /> | lv2_poke - PL3-DEV, PSGroove v1.1, Payloader3 / (4.2x poke)<br /> | r4 is a 64 bit value. r3 is the address to write that value to.<br /> |- <br /> | 8<br /> | lv2_lv1_peek - graf_chokolo / (4.3x peek)<br /> | r3 is a 64 bit address to read. A 64 bit value will be returned in r3<br /> |- <br /> | 8<br /> | Peek - ps3cobra<br /> | r3 is a 64 bit address to read. A 64 bit value will be returned in r3<br /> |- <br /> | 8<br /> | Remapper - Hermes4<br /> | redirections of any paths, including /dev_usb for AVCHD HDD<br /> |- <br /> | 9<br /> | lv2_lv1_poke - graf_chokolo / (4.3x poke)<br /> | r4 is a 64 bit value. r3 is the address to write that value to.<br /> |-<br /> | 10<br /> | lv2_lv1_peek - jfw 'bad idea'<br /> | r3 is a 64 bit address to read. A 64 bit value will be returned in r3<br /> |- <br /> | 10<br /> | lv2_lv1_call - rebug<br /> | r10 is the lv1 syscall number. The registers r3 - r9 are arguments.<br /> |- <br /> | 11<br /> | lv2_lv1_poke - jfw 'bad idea'<br /> | r4 is a 64 bit value. r3 is the address to write that value to.<br /> |-<br /> <br /> | 11<br /> | for sc_ctrl - 'Starsucks MFW 4.75 V1.00'<br /> | int sc_ctrl(int sc_num, int mode, uint64_t addr)<br /> &lt;!--//<br /> to disable syscall(e.g 7)<br /> sc_ctrl(7, 0, 0);<br /> <br /> to redirect a syscall(e.g 7)<br /> sc_ctrl(7, 1, 0x8000000000001798ULL);<br /> last paramater should just redirect to tail address to your syscall<br /> //--&gt;<br /> |-<br /> | 15<br /> | lv2_func_call - habib<br /> | r10 is the address to the lv2 function. The registers r3 - r9 are arguments.<br /> |- <br /> | 35<br /> | Remapper - PL3, PSGroove, PSFreedom<br /> | syscall_35 (char *old_path, char *new_path);<br /> |-<br /> | 36<br /> | Remapper - Hermes, PSJailbreak / (4.2x BD-Emulator)<br /> | hardcoded /dev_bdvd &amp; /app_home remapping<br /> |-<br /> | 200<br /> | Run_Payload - Payloader3<br /> | <br /> |-<br /> | 201<br /> | Alloc - Payloader3<br /> | <br /> |-<br /> | 200<br /> | sys_dbg_read_process_memory - [[CCAPI]]<br /> | <br /> |-<br /> | 201<br /> | sys_dbg_write_process_memory - [[CCAPI]]<br /> | <br /> |-<br /> | 202<br /> | Free - Payloader3<br /> | <br /> |-<br /> | 203<br /> | lv2_peek - [[CCAPI]]<br /> | <br /> |-<br /> | 204<br /> | lv2_poke - [[CCAPI]]<br /> | <br /> |-<br /> | 1022<br /> | load_prx_module - PRXLoader<br /> | system_call_6(PRX_SYSCALL, PRX_SYSCALL_LOAD, process_obj, slot, path, arg, arg_size);<br /> |-<br /> |}<br /> <br /> '''Note:''' LV1: Peek and Poke support uses unused LV1 call 182 and 183<br /> <br /> ----<br /> <br /> '''See also:''' <br /> *[http://psl1ght.net/wiki/Syscalls psl1ght::Syscalls]<br /> <br /> *Tutorial How to call a Syscall By deroad: http://www.ps3hax.net/2012/02/tutorial-how-to-call-a-syscall-by-deroad/<br /> <br /> <br /> <br /> {{Development}}&lt;noinclude&gt;[[Category:Main]]&lt;/noinclude&gt;</div> Mysis