To see your stuff show here, enable Compatibility Server Reports in PPSSPP.
Click on a version, game, or report message to show similar entries. Hover over version to see platform info, and hover over a game title to see region and version info.
Game title |
Version |
Latest Report |
Message |
クロヒョウ2 龍が如く 阿修羅編 |
v1.16.2 |
2023-11-28 |
sceDmacMemcpy(dest=04156400, src=09a20a60, size=3040): overlapping read |
プロ野球スピリッツ2014 |
v1.16.2 |
2023-11-28 |
sceGeBreak(mode=0, unknown=08ce04ac): unknown ptr (valid) |
eFootball 2024 ISO ATGXGAMING PRO V1.0 |
v1.16.6 |
2023-11-28 |
ReadFromHardware: Invalid address 00000000 near PC 08a47880 LR 08a3fbb0 |
Dragon Ball Z: Tenkaichi Tag Team |
v1.16.2 |
2023-11-26 |
Jump to invalid address: 06046620 |
Dragon Ball Z: Tenkaichi Tag Team |
v1.16.2 |
2023-11-26 |
Jump to invalid address: 07b3a000 |
プロ野球スピリッツ2014 |
v1.16.2 |
2023-11-25 |
Unusual bezier/spline vtype: 12011383, morph: 0, bones: 5 |
プロ野球スピリッツ2014 |
v1.16.2 |
2023-11-25 |
Unusual bezier/spline vtype: 12005383, morph: 0, bones: 2 |
God of War™: Ghost of Sparta |
v1.16.2 |
2023-11-24 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r10p0-00rel0 [Revision 96995].
01f34444:00010b29 HWX C T N LM TexProjPos UVMtx Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:1 3: c:0 t:1 MatUp:3 Cull
#version 100
// Driver: Mali-400 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01f34444:00010b29 HWX C T N LM TexProjPos UVMtx Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:1 3: c:0 t:1 MatUp:3 Cull
attribute vec3 position;
attribute mediump vec3 normal;
attribute vec2 texcoord;
attribute lowp vec4 color0;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform mediump mat4 u_texmtx;
uniform vec4 u_uvscaleoffset;
uniform vec3 u_lightpos0;
uniform mediump vec3 u_lightatt0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform vec3 u_lightpos1;
uniform mediump vec3 u_lightatt1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform vec3 u_lightpos2;
uniform mediump vec3 u_lightatt2;
uniform lowp vec3 u_lightambient2;
uniform lowp vec3 u_lightdiffuse2;
uniform vec3 u_lightpos3;
uniform mediump vec3 u_lightatt3;
uniform lowp vec3 u_lightambient3;
uniform lowp vec3 u_lightdiffuse3;
uniform lowp vec4 u_ambient;
uniform lowp vec4 u_matspecular;
uniform lowp vec3 u_matemissive;
uniform lowp vec4 u_matambientalpha;
uniform highp vec2 u_fogcoef;
uniform highp vec4 u_depthRange;
uniform highp vec4 u_cullRangeMin;
uniform highp vec4 u_cullRangeMax;
varying lowp vec4 v_color0;
varying lowp vec3 v_color1;
varying mediump vec3 v_texcoord;
varying mediump float v_fogdepth;
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
void main() {
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
vec4 ambientColor = color0;
vec3 diffuseColor = color0.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient1 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse2 * diffuseColor) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient2 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos3 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt3, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse3 * diffuseColor) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient3 * ambientColor.rgb + diffuse) * lightScale;
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_color1 = splat3(0.0);
v_texcoord = mul(vec4(position, 1.0), u_texmtx).xyz * vec3(u_uvscaleoffset.xy, 1.0);
v_fogd |
God of War™: Ghost of Sparta |
v1.16.2 |
2023-11-24 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r10p0-00rel0 [Revision 96995].
01f34151:00000b29 HWX C T N LM Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:0 3: c:0 t:1 MatUp:3 Cull
#version 100
// Driver: Mali-400 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01f34151:00000b29 HWX C T N LM Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:0 3: c:0 t:1 MatUp:3 Cull
attribute vec3 position;
attribute mediump vec3 normal;
attribute vec2 texcoord;
attribute lowp vec4 color0;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
uniform vec3 u_lightpos0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform lowp vec3 u_lightspecular0;
uniform vec3 u_lightpos1;
uniform mediump vec3 u_lightatt1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform lowp vec3 u_lightspecular1;
uniform vec3 u_lightpos2;
uniform lowp vec3 u_lightambient2;
uniform lowp vec3 u_lightdiffuse2;
uniform lowp vec3 u_lightspecular2;
uniform vec3 u_lightpos3;
uniform mediump vec3 u_lightatt3;
uniform lowp vec3 u_lightambient3;
uniform lowp vec3 u_lightdiffuse3;
uniform lowp vec4 u_ambient;
uniform lowp vec4 u_matspecular;
uniform lowp vec3 u_matemissive;
uniform lowp vec4 u_matambientalpha;
uniform highp vec2 u_fogcoef;
uniform highp vec4 u_depthRange;
uniform highp vec4 u_cullRangeMin;
uniform highp vec4 u_cullRangeMax;
varying lowp vec4 v_color0;
varying lowp vec3 v_color1;
varying mediump vec3 v_texcoord;
varying mediump float v_fogdepth;
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
void main() {
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
vec4 ambientColor = color0;
vec3 diffuseColor = color0.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * specularColor * ldot ;
}
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * specularColor * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos2;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse2 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular2 * specularColor * ldot ;
}
lightSum0.rg |
God of War™: Ghost of Sparta |
v1.16.2 |
2023-11-24 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r10p0-00rel0 [Revision 96995].
01f34154:00000b29 HWX C T N LM Light: 0: c:0 t:1 1: c:1 t:1 2: c:1 t:0 3: c:0 t:1 MatUp:3 Cull
#version 100
// Driver: Mali-400 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01f34154:00000b29 HWX C T N LM Light: 0: c:0 t:1 1: c:1 t:1 2: c:1 t:0 3: c:0 t:1 MatUp:3 Cull
attribute vec3 position;
attribute mediump vec3 normal;
attribute vec2 texcoord;
attribute lowp vec4 color0;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
uniform vec3 u_lightpos0;
uniform mediump vec3 u_lightatt0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform vec3 u_lightpos1;
uniform mediump vec3 u_lightatt1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform lowp vec3 u_lightspecular1;
uniform vec3 u_lightpos2;
uniform lowp vec3 u_lightambient2;
uniform lowp vec3 u_lightdiffuse2;
uniform lowp vec3 u_lightspecular2;
uniform vec3 u_lightpos3;
uniform mediump vec3 u_lightatt3;
uniform lowp vec3 u_lightambient3;
uniform lowp vec3 u_lightdiffuse3;
uniform lowp vec4 u_ambient;
uniform lowp vec4 u_matspecular;
uniform lowp vec3 u_matemissive;
uniform lowp vec4 u_matambientalpha;
uniform highp vec2 u_fogcoef;
uniform highp vec4 u_depthRange;
uniform highp vec4 u_cullRangeMin;
uniform highp vec4 u_cullRangeMax;
varying lowp vec4 v_color0;
varying lowp vec3 v_color1;
varying mediump vec3 v_texcoord;
varying mediump float v_fogdepth;
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
void main() {
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
vec4 ambientColor = color0;
vec3 diffuseColor = color0.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * specularColor * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos2;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse2 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular2 * specularColor * ldot ;
}
lightSum0.rgb += (u_lightambient2 * ambientColor.rgb + diffuse);
toLight = u_lightpos3 - worldpos;
distance = length(toLight);
toLight |
God of War™: Ghost of Sparta |
v1.16.2 |
2023-11-24 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r10p0-00rel0 [Revision 96995].
01f34151:00000f29 HWX C T N LM RevN Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:0 3: c:0 t:1 MatUp:3 Cull
#version 100
// Driver: Mali-400 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01f34151:00000f29 HWX C T N LM RevN Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:0 3: c:0 t:1 MatUp:3 Cull
attribute vec3 position;
attribute mediump vec3 normal;
attribute vec2 texcoord;
attribute lowp vec4 color0;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
uniform vec3 u_lightpos0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform lowp vec3 u_lightspecular0;
uniform vec3 u_lightpos1;
uniform mediump vec3 u_lightatt1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform lowp vec3 u_lightspecular1;
uniform vec3 u_lightpos2;
uniform lowp vec3 u_lightambient2;
uniform lowp vec3 u_lightdiffuse2;
uniform lowp vec3 u_lightspecular2;
uniform vec3 u_lightpos3;
uniform mediump vec3 u_lightatt3;
uniform lowp vec3 u_lightambient3;
uniform lowp vec3 u_lightdiffuse3;
uniform lowp vec4 u_ambient;
uniform lowp vec4 u_matspecular;
uniform lowp vec3 u_matemissive;
uniform lowp vec4 u_matambientalpha;
uniform highp vec2 u_fogcoef;
uniform highp vec4 u_depthRange;
uniform highp vec4 u_cullRangeMin;
uniform highp vec4 u_cullRangeMax;
varying lowp vec4 v_color0;
varying lowp vec3 v_color1;
varying mediump vec3 v_texcoord;
varying mediump float v_fogdepth;
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
void main() {
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(-normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
vec4 ambientColor = color0;
vec3 diffuseColor = color0.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * specularColor * ldot ;
}
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * specularColor * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos2;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse2 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular2 * specularColor * ldot ;
}
l |
God of War™: Ghost of Sparta |
v1.16.2 |
2023-11-24 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r10p0-00rel0 [Revision 96995].
01730544:00000b29 HWX C T N LM Light: 0: c:0 t:1 1: c:0 t:1 2: c:1 t:1 MatUp:3 Cull
#version 100
// Driver: Mali-400 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01730544:00000b29 HWX C T N LM Light: 0: c:0 t:1 1: c:0 t:1 2: c:1 t:1 MatUp:3 Cull
attribute vec3 position;
attribute mediump vec3 normal;
attribute vec2 texcoord;
attribute lowp vec4 color0;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
uniform vec3 u_lightpos0;
uniform mediump vec3 u_lightatt0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform vec3 u_lightpos1;
uniform mediump vec3 u_lightatt1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform vec3 u_lightpos2;
uniform mediump vec3 u_lightatt2;
uniform lowp vec3 u_lightambient2;
uniform lowp vec3 u_lightdiffuse2;
uniform lowp vec3 u_lightspecular2;
uniform lowp vec4 u_ambient;
uniform lowp vec4 u_matspecular;
uniform lowp vec3 u_matemissive;
uniform lowp vec4 u_matambientalpha;
uniform highp vec2 u_fogcoef;
uniform highp vec4 u_depthRange;
uniform highp vec4 u_cullRangeMin;
uniform highp vec4 u_cullRangeMax;
varying lowp vec4 v_color0;
varying lowp vec3 v_color1;
varying mediump vec3 v_texcoord;
varying mediump float v_fogdepth;
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
void main() {
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
vec4 ambientColor = color0;
vec3 diffuseColor = color0.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient1 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse2 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular2 * specularColor * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient2 * ambientColor.rgb + diffuse) * lightScale;
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_color1 = clamp(lightSum1, 0.0, 1.0);
v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0);
v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y;
vec3 projPos = outPos.xyz / outPos.w;
float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w;
if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -out |
クロヒョウ 龍が如く新章 |
v1.16.2 |
2023-11-24 |
sceDmacMemcpy(dest=04176400, src=09afa7e0, size=1376): overlapping read |
クロヒョウ2 龍が如く 阿修羅編 |
v1.16.2 |
2023-11-24 |
sceDmacMemcpy(dest=04176400, src=09b9d9a0, size=1568): overlapping read |
GOD EATER 2 |
v1.16.2 |
2023-11-23 |
ReadFromHardware: Invalid address 0000000f near PC 08840110 LR 088710e0 |
Prince of Persia - Revelations |
v1.16.2 |
2023-11-23 |
80630006=sceAtracSetDataAndGetID(0993fa00, 00000800): invalid RIFF header |
Prince of Persia - Revelations |
v1.16.2 |
2023-11-23 |
80630006=sceAtracSetDataAndGetID(0985a440, 00000800): invalid RIFF header |
Prince of Persia - Revelations |
v1.16.2 |
2023-11-23 |
80630006=sceAtracSetDataAndGetID(09a20a80, 00000800): invalid RIFF header |
Lego Star Wars II: The Original Trilogy |
v1.16.2 |
2023-11-17 |
Unaligned icache invalidation of 08602138 (08602138 + 0) at PC=088454a0 |
EFOOTBALL 2023 PSP FINAL UPDATE |
v1.16.2 |
2023-11-16 |
sceKernelLoadModuleByID: unsupported options size=00000014, flags=089a5164, pos=0, access=1, data=2, text=2 |
Dragon Ball Z: Tenkaichi Tag Team |
v1.16.2 |
2023-11-14 |
MIPSCompileOp: Invalid instruction 7b9f48de |
Dragon Ball Z: Tenkaichi Tag Team |
v1.16.2 |
2023-11-14 |
MIPSCompileOp: Invalid instruction b619bdf7 |
Dragon Ball Z: Tenkaichi Tag Team |
v1.16.2 |
2023-11-14 |
MIPSCompileOp: Invalid instruction eccb8cd2 |
Dragon Ball Z: Tenkaichi Tag Team |
v1.16.2 |
2023-11-14 |
Jump to invalid address: 0194a3ec |
Dragon Ball Z: Tenkaichi Tag Team |
v1.16.2 |
2023-11-14 |
MIPSCompileOp: Invalid instruction 7bfdeb97 |
Dragon Ball Z: Tenkaichi Tag Team |
v1.16.2 |
2023-11-10 |
ReadFromHardware: Invalid address 3f800000 near PC 089ba5f8 LR 08886df4 |
ナルティメットアクセル3 |
v1.16.5 |
2023-11-14 |
00000400=sceGeEdramSetAddrTranslation(00000800) |
Twisted Metal: Head-On |
v1.16.2 |
2023-11-09 |
__KernelStopThread: thread 851 does not exist (helper deleted) |
Midnight Club 3: DUB Edition |
v1.16.2 |
2023-11-08 |
Jump to invalid address: 06826e40 |
Midnight Club 3: DUB Edition |
v1.16.2 |
2023-11-08 |
Branch in Jump delay slot at 08c7e910 in block starting at 08c7e8e4 |
Midnight Club 3: DUB Edition |
v1.16.2 |
2023-11-08 |
Jump to invalid address: 06826ac0 |
Midnight Club 3: DUB Edition |
v1.16.2 |
2023-11-08 |
Branch in Jump delay slot at 08c7e900 in block starting at 08c7e8e4 |
Midnight Club 3: DUB Edition |
v1.16.2 |
2023-11-08 |
Branch in Jump delay slot at 08c7e8fc in block starting at 08c7e8e4 |
Midnight Club 3: DUB Edition |
v1.16.2 |
2023-11-08 |
Jump to invalid address: 064b89c0 |
Midnight Club 3: DUB Edition |
v1.16.2 |
2023-11-08 |
Branch in Jump delay slot at 08c7e8f8 in block starting at 08c7e8e4 |
Midnight Club 3: DUB Edition |
v1.16.2 |
2023-11-08 |
Jump to invalid address: 064989c0 |
Midnight Club 3: DUB Edition |
v1.16.2 |
2023-11-08 |
Branch in Jump delay slot at 08c7e8f4 in block starting at 08c7e8e4 |
Midnight Club 3: DUB Edition |
v1.16.2 |
2023-11-08 |
Jump to invalid address: 0648d580 |
MONSTER HUNTER PORTABLE 2nd G |
v1.16.2 |
2023-11-08 |
__KernelStopThread: thread 352 does not exist (ApctlThread deleted) |
eFootball 2024 Beta By Tutoriales Bendezu |
v1.16.2 |
2023-11-22 |
sceDmacMemcpy(dest=04154000, src=0948f230, size=557056): overlapping read |
Tomb Raider : Legend |
v1.16.2 |
2023-11-05 |
sceDmacMemcpy(dest=041fac00, src=096f4990, size=5120): overlapping read |
実況パワフルプロ野球ポータブル4 |
v1.16.2 |
2023-11-02 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09eada50, 4, 00000000, 0) |
実況パワフルプロ野球ポータブル4 |
v1.16.2 |
2023-11-02 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09eada50, 4, 00000000, 0) |
実況パワフルプロ野球ポータブル4 |
v1.16.2 |
2023-11-02 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09ea7e60, 4, 00000000, 0) |
実況パワフルプロ野球ポータブル4 |
v1.16.2 |
2023-11-02 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09ea7e60, 4, 00000000, 0) |
NARUTO Shippuden: Ultimate Ninja Heroes 3 |
v1.16.2 |
2023-11-02 |
00000000=sceUtilityScreenshotInitStart(09a8eaa8) |
Patapon™3 |
v1.16.2 |
2023-11-02 |
WriteToHardware: Invalid address 3f805630 near PC 08000000 LR 08000000 |
The King Of Fighters - The Orochi Saga |
v1.16.2 |
2023-11-02 |
UNTESTED sceNetAdhocctlCreateEnterGameMode(TRIe3d3, 3, 2, 09fff8d0, 20000000, 0) at 0888c598 |
BLEACH ~HEAT・THE・SOUL 7~ |
v1.16.2 |
2023-10-29 |
sceKernelLoadModule: unsupported options size=00000014, flags=00000021, pos=0, access=1, data=2, text=2 |
METAL SLUG XX |
v1.16.2 |
2023-10-29 |
Unknown GE command : 11ffffff |
METAL SLUG Anthology |
v1.16.2 |
2023-11-02 |
UNTESTED sceNetAdhocctlCreateEnterGameMode(TRIe3d3, 1, 2, 09fff8c0, 20000000, 0) at 08829184 |
The King Of Fighters - The Orochi Saga |
v1.16.2 |
2023-10-28 |
UNTESTED sceNetAdhocctlJoinEnterGameMode(TRI66d0, a4:be:30:bf:66:d0, 20000000, 0) at 0888c6c0 |
METAL SLUG Anthology |
v1.16.2 |
2023-10-28 |
UNTESTED sceNetAdhocctlJoinEnterGameMode(TRI66d0, a4:be:30:bf:66:d0, 20000000, 0) at 088e45b8 |
METAL SLUG Anthology |
v1.16.2 |
2023-11-19 |
UNTESTED sceNetAdhocctlCreateEnterGameMode(TRIe3d3, 1, 2, 09ffe9d0, 20000000, 0) at 088e4450 |
METAL SLUG Anthology |
v1.16.2 |
2023-10-29 |
UNTESTED sceNetAdhocctlJoinEnterGameMode(TRI66d0, a4:be:30:bf:66:d0, 20000000, 0) at 08829208 |
DRAGON BALL BUDOKAI TENKAICHI 3 VLATINO |
v1.6.3 |
2023-11-28 |
avcodec_decode_audio4: Error decoding audio -1094995529 / bebbb1b7 |
DRAGON BALL BUDOKAI TENKAICHI 3 VLATINO |
v1.16.6-222-g1e6142d99 |
2023-11-28 |
00000400=sceGeEdramSetAddrTranslation(00000800) |
eFootball Chelito 19 |
v1.16.2 |
2023-10-27 |
Unknown GetPointer 00000020 PC 08844a98 LR 08844aac |
eFootball Chelito 19 |
v1.16.2 |
2023-10-27 |
Unknown GetPointerWrite 00000000 PC 08815fc0 LR 08815fd4 |
MONSTER HUNTER PORTABLE 3rd HD Ver. |
v1.16.2 |
2023-10-24 |
sceDmacMemcpy(dest=04101800, src=09ea0720, size=12144): overlapping read |
Tomb Raider : Legend |
v1.16.2 |
2023-10-24 |
sceDmacMemcpy(dest=041de000, src=09371200, size=5120): overlapping read |
eFootball 2024 ISO ATGXGAMING PRO V1.0 |
v1.16.6 |
2023-11-28 |
Savedata version requested: 3 |
Silent Hill: Shattered Memories |
v1.16.2 |
2023-10-23 |
__KernelStopThread: thread 758 does not exist (helper deleted) |
Twisted Metal: Head-On |
v1.16.2 |
2023-10-22 |
__KernelStopThread: thread 457 does not exist (helper deleted) |
METAL SLUG Anthology |
v1.16.2 |
2023-10-22 |
UNTESTED sceNetAdhocctlCreateEnterGameMode(TRI5ab4, 1, 2, 09ffe9d0, 20000000, 0) at 088e66d4 |
eFootball Japan 2024 |
v1.16.2 |
2023-10-24 |
Unknown GetPointerWrite 00000000 PC 088287f0 LR 08828800 |
ELITE CWC INDIA 2023 |
v1.16.6 |
2023-11-16 |
Video out requested, not supported: mode=0 size=0,0 |
CODED ARMS |
v1.16.2 |
2023-10-21 |
sceKernelLoadModule: unsupported options size=00000014, flags=00000001, pos=0, access=1, data=2, text=2 |
TEKKEN DARK RESURRECTION |
v1.16.2 |
2023-10-21 |
__KernelStopThread: thread 860 does not exist (ApctlThread deleted) |
eFootball Japan 2024 |
v1.16.6 |
2023-11-18 |
Savedata version requested: 3 |
PES 2014 |
v1.16.2 |
2023-10-18 |
Unexpected mpeg first timestamp: fff000fffff / 17587892125695 |
Innocent Life: A Futuristic Harvest Moon® |
v1.16.2 |
2023-10-18 |
sceKernelLoadModule: unsupported options size=00000014, flags=09fffad0, pos=0, access=1, data=2, text=2 |
Silent Hill: Shattered Memories |
v1.16.2 |
2023-10-19 |
__KernelStopThread: thread 3661 does not exist (helper deleted) |
SBK®09 Superbike World Championship |
v1.16.2 |
2023-10-21 |
sceKernelRegisterSubIntrHandler(30, 0, 08a22378, 090874a0): duplicate handler |
Silent Hill: Shattered Memories |
v1.16.2 |
2023-10-15 |
__KernelStopThread: thread 1002 does not exist (helper deleted) |
Lego Star Wars II: The Original Trilogy |
v1.16.6 |
2023-11-02 |
Unaligned icache invalidation of 087050f8 (087050f8 + 0) at PC=088454a0 |
LEGO® Batman™: The Videogame |
v1.16.2 |
2023-10-21 |
Unaligned icache invalidation of 086d19b8 (086d19b8 + 0) at PC=089741fc |
LEGO® Batman™: The Videogame |
v1.16.2 |
2023-10-13 |
Unaligned icache invalidation of 086c79b8 (086c79b8 + 0) at PC=089741fc |
LEGO® Batman™: The Videogame |
v1.16.6 |
2023-11-24 |
Unaligned icache invalidation of 086c79f8 (086c79f8 + 0) at PC=089741fc |
WWE SmackDown vs. RAW 2K23 |
v1.8.0 |
2023-11-11 |
80630007=sceAtracSetData(2, 08d4b180, 0000d7d8): atracID uses different codec type than data |
LEGO® Batman™: The Videogame |
v1.16.6 |
2023-11-05 |
Unaligned icache invalidation of 086c7838 (086c7838 + 0) at PC=089741fc |
LEGO® Batman™: The Videogame |
v1.16.2 |
2023-10-12 |
Unaligned icache invalidation of 086c80f8 (086c80f8 + 0) at PC=089741fc |
SBK®09 Superbike World Championship |
v1.16.2 |
2023-10-12 |
sceKernelRegisterSubIntrHandler(30, 0, 08a22378, 08eb80b0): duplicate handler |
SBK®09 Superbike World Championship |
v1.16.2 |
2023-10-12 |
sceKernelRegisterSubIntrHandler(30, 0, 08a22378, 0912eea0): duplicate handler |
B-Boy™ |
v1.16.2 |
2023-10-11 |
sceKernelLoadModule: unsupported options size=00000014, flags=09c0edc0, pos=0, access=1, data=2, text=2 |
B-Boy™ |
v1.16.2 |
2023-10-11 |
Unexpected mpeg first timestamp: 81963090500 / 8905128740096 |
EFOOTBALL NEW PATCH SEASON 2024 |
v1.9.4 |
2023-11-29 |
Savedata version requested: 3 |
Patapon™3 |
v1.16.2 |
2023-10-10 |
Branch in Jump delay slot at 096eacfc in block starting at 096eacb4 |
Patapon™3 |
v1.16.2 |
2023-10-10 |
Branch in JumpReg delay slot at 096eacf8 in block starting at 096eacb4 |
Patapon™3 |
v1.16.2 |
2023-10-10 |
Jump to invalid address: 02a0b270 PC 096eacf8 LR 088bc780 |
Patapon™3 |
v1.16.2 |
2023-10-10 |
Jump to invalid address: 05cf3140 PC 096eacec LR 088bc780 |
Patapon™3 |
v1.16.2 |
2023-10-10 |
Branch in Jump delay slot at 096eace8 in block starting at 096eacb4 |
Patapon™3 |
v1.16.2 |
2023-10-10 |
Jump to invalid address: 05cf6140 PC 096eace8 LR 088bc780 |
Patapon™3 |
v1.16.2 |
2023-10-10 |
Branch in Jump delay slot at 096eace4 in block starting at 096eacb4 |
Patapon™3 |
v1.16.2 |
2023-10-10 |
Jump to invalid address: 05b5dcc0 PC 096eace4 LR 088bc780 |
Patapon™3 |
v1.16.2 |
2023-10-10 |
Branch in Jump delay slot at 096eace0 in block starting at 096eacb4 |
Patapon™3 |
v1.16.2 |
2023-10-10 |
Jump to invalid address: 02a0e390 PC 096eace0 LR 088bc780 |
Patapon™3 |
v1.16.2 |
2023-10-10 |
Branch in Jump delay slot at 096eacdc in block starting at 096eacb4 |
Patapon™3 |
v1.16.2 |
2023-10-10 |
Jump to invalid address: 05b5dd20 PC 096eacdc LR 088bc780 |
Patapon™3 |
v1.16.2 |
2023-10-10 |
Branch in Jump delay slot at 096eacd8 in block starting at 096eacb4 |