summaryrefslogtreecommitdiffstats
path: root/games/pcsxr/patches
diff options
context:
space:
mode:
Diffstat (limited to 'games/pcsxr/patches')
-rw-r--r--games/pcsxr/patches/pcsxr-fix-uncompress2.patch21
-rw-r--r--games/pcsxr/patches/pcsxr-fix-undefined-operations.patch193
-rw-r--r--games/pcsxr/patches/pcsxr-remove-assertion-64bit.patch12
3 files changed, 226 insertions, 0 deletions
diff --git a/games/pcsxr/patches/pcsxr-fix-uncompress2.patch b/games/pcsxr/patches/pcsxr-fix-uncompress2.patch
new file mode 100644
index 0000000000..17a69f9249
--- /dev/null
+++ b/games/pcsxr/patches/pcsxr-fix-uncompress2.patch
@@ -0,0 +1,21 @@
+diff -up a/pcsxr/libpcsxcore/cdriso.c.orig pcsxr/libpcsxcore/cdriso.c
+--- a/pcsxr/libpcsxcore/cdriso.c.orig 2019-06-30 19:54:58.013320015 -0500
++++ a/pcsxr/libpcsxcore/cdriso.c 2019-06-30 19:56:05.351320015 -0500
+@@ -913,7 +913,7 @@ static int cdread_sub_mixed(FILE *f, uns
+ return ret;
+ }
+
+-static int uncompress2(void *out, unsigned long *out_size, void *in, unsigned long in_size)
++static int uncompress2_internal(void *out, unsigned long *out_size, void *in, unsigned long in_size)
+ {
+ static z_stream z;
+ int ret = 0;
+@@ -992,7 +992,7 @@ static int cdread_compressed(FILE *f, un
+ if (is_compressed) {
+ cdbuffer_size_expect = sizeof(compr_img->buff_raw[0]) << compr_img->block_shift;
+ cdbuffer_size = cdbuffer_size_expect;
+- ret = uncompress2(compr_img->buff_raw[0], &cdbuffer_size, compr_img->buff_compressed, size);
++ ret = uncompress2_internal(compr_img->buff_raw[0], &cdbuffer_size, compr_img->buff_compressed, size);
+ if (ret != 0) {
+ SysPrintf("uncompress failed with %d for block %d, sector %d\n",
+ ret, block, sector);
diff --git a/games/pcsxr/patches/pcsxr-fix-undefined-operations.patch b/games/pcsxr/patches/pcsxr-fix-undefined-operations.patch
new file mode 100644
index 0000000000..229bf3d91f
--- /dev/null
+++ b/games/pcsxr/patches/pcsxr-fix-undefined-operations.patch
@@ -0,0 +1,193 @@
+diff --git a/pcsxr/plugins/peopsxgl/texture.c b/pcsxr/plugins/peopsxgl/texture.c
+index 8d8fb41b..0d313b97 100644
+--- a/pcsxr/plugins/peopsxgl/texture.c
++++ b/pcsxr/plugins/peopsxgl/texture.c
+@@ -1002,7 +1002,10 @@ void LoadStretchPackedWndTexturePage(int pageid, int mode, short cx, short cy)
+ if(ldy)
+ {ldy--;
+ for(TXU=g_x1;TXU<=g_x2;TXU++)
+- *ta++=*(ta-(g_x2-g_x1));
++ {
++ *ta=*(ta-(g_x2-g_x1));
++ ta++;
++ }
+ }
+ }
+
+@@ -1079,7 +1082,10 @@ void LoadStretchPackedWndTexturePage(int pageid, int mode, short cx, short cy)
+ if(ldy)
+ {ldy--;
+ for(TXU=g_x1;TXU<=g_x2;TXU++)
+- *ta++=*(ta-(g_x2-g_x1));
++ {
++ *ta=*(ta-(g_x2-g_x1));
++ ta++;
++ }
+ }
+
+ }
+@@ -1204,7 +1210,10 @@ void LoadStretchWndTexturePage(int pageid, int mode, short cx, short cy)
+ if(ldy)
+ {ldy--;
+ for(TXU=g_x1;TXU<=g_x2;TXU++)
+- *ta++=*(ta-(g_x2-g_x1));
++ {
++ *ta=*(ta-(g_x2-g_x1));
++ ta++;
++ }
+ }
+ }
+
+@@ -1288,7 +1297,10 @@ void LoadStretchWndTexturePage(int pageid, int mode, short cx, short cy)
+ if(ldy)
+ {ldy--;
+ for(TXU=g_x1;TXU<=g_x2;TXU++)
+- *ta++=*(ta-(g_x2-g_x1));
++ {
++ *ta=*(ta-(g_x2-g_x1));
++ ta++;
++ }
+ }
+
+ }
+@@ -2247,14 +2259,19 @@ GLuint LoadTextureMovie(void)
+ lu=*((uint32_t *)pD);pD+=3;
+ *ta++=XMBLUE(lu)|XMGREEN(lu)|XMRED(lu)|1;
+ }
+- *ta++=*(ta-1);
++ *ta=*(ta-1);
++ ta++;
+ }
+ if(b_Y)
+ {
+ dx=xrMovieArea.x1-xrMovieArea.x0+1;
+ for(row=xrMovieArea.x0;row<xrMovieArea.x1;row++)
+- *ta++=*(ta-dx);
+- *ta++=*(ta-1);
++ {
++ *ta=*(ta-dx);
++ ta++;
++ }
++ *ta=*(ta-1);
++ ta++;
+ }
+ }
+ else
+@@ -2273,7 +2290,10 @@ GLuint LoadTextureMovie(void)
+ {
+ dx=xrMovieArea.x1-xrMovieArea.x0;
+ for(row=xrMovieArea.x0;row<xrMovieArea.x1;row++)
+- *ta++=*(ta-dx);
++ {
++ *ta=*(ta-dx);
++ ta++;
++ }
+ }
+ }
+ }
+@@ -2296,14 +2316,19 @@ GLuint LoadTextureMovie(void)
+ *ta++=((c&0x1f)<<11)|((c&0x3e0)<<1)|((c&0x7c00)>>9)|1;
+ }
+
+- *ta++=*(ta-1);
++ *ta=*(ta-1);
++ ta++;
+ }
+ if(b_Y)
+ {
+ dx=xrMovieArea.x1-xrMovieArea.x0+1;
+ for(row=xrMovieArea.x0;row<xrMovieArea.x1;row++)
+- *ta++=*(ta-dx);
+- *ta++=*(ta-1);
++ {
++ *ta=*(ta-dx);
++ ta++;
++ }
++ *ta=*(ta-1);
++ ta++;
+ }
+ }
+ else
+@@ -2321,7 +2346,10 @@ GLuint LoadTextureMovie(void)
+ {
+ dx=xrMovieArea.x1-xrMovieArea.x0;
+ for(row=xrMovieArea.x0;row<xrMovieArea.x1;row++)
+- *ta++=*(ta-dx);
++ {
++ *ta=*(ta-dx);
++ ta++;
++ }
+ }
+ }
+ }
+@@ -2347,14 +2375,19 @@ GLuint LoadTextureMovie(void)
+ *ta++=*((uint32_t *)pD)|0xff000000;
+ pD+=3;
+ }
+- *ta++=*(ta-1);
++ *ta=*(ta-1);
++ ta++;
+ }
+ if(b_Y)
+ {
+ dx=xrMovieArea.x1-xrMovieArea.x0+1;
+ for(row=xrMovieArea.x0;row<xrMovieArea.x1;row++)
+- *ta++=*(ta-dx);
+- *ta++=*(ta-1);
++ {
++ *ta=*(ta-dx);
++ ta++;
++ }
++ *ta=*(ta-1);
++ ta++;
+ }
+ }
+ else
+@@ -2373,7 +2406,10 @@ GLuint LoadTextureMovie(void)
+ {
+ dx=xrMovieArea.x1-xrMovieArea.x0;
+ for(row=xrMovieArea.x0;row<xrMovieArea.x1;row++)
+- *ta++=*(ta-dx);
++ {
++ *ta=*(ta-dx);
++ ta++;
++ }
+ }
+ }
+ }
+@@ -2394,15 +2430,20 @@ GLuint LoadTextureMovie(void)
+ startxy=((1024)*column)+xrMovieArea.x0;
+ for(row=xrMovieArea.x0;row<xrMovieArea.x1;row++)
+ *ta++=LTCOL(psxVuw[startxy++]|0x8000);
+- *ta++=*(ta-1);
++ *ta=*(ta-1);
++ ta++;
+ }
+
+ if(b_Y)
+ {
+ dx=xrMovieArea.x1-xrMovieArea.x0+1;
+ for(row=xrMovieArea.x0;row<xrMovieArea.x1;row++)
+- *ta++=*(ta-dx);
+- *ta++=*(ta-1);
++ {
++ *ta=*(ta-dx);
++ ta++;
++ }
++ *ta=*(ta-1);
++ ta++;
+ }
+ }
+ else
+@@ -2418,7 +2459,10 @@ GLuint LoadTextureMovie(void)
+ {
+ dx=xrMovieArea.x1-xrMovieArea.x0;
+ for(row=xrMovieArea.x0;row<xrMovieArea.x1;row++)
+- *ta++=*(ta-dx);
++ {
++ *ta=*(ta-dx);
++ ta++;
++ }
+ }
+ }
+ }
diff --git a/games/pcsxr/patches/pcsxr-remove-assertion-64bit.patch b/games/pcsxr/patches/pcsxr-remove-assertion-64bit.patch
new file mode 100644
index 0000000000..352c8036c2
--- /dev/null
+++ b/games/pcsxr/patches/pcsxr-remove-assertion-64bit.patch
@@ -0,0 +1,12 @@
+diff --git a/pcsxr/libpcsxcore/ix86_64/ix86-64.c b/pcsxr/libpcsxcore/ix86_64/ix86-64.c
+index f48b742e..c69192e0 100644
+--- a/pcsxr/libpcsxcore/ix86_64/ix86-64.c
++++ b/pcsxr/libpcsxcore/ix86_64/ix86-64.c
+@@ -231,7 +231,6 @@ void x86SetJ8( u8* j8 )
+
+ if ( jump > 0x7f ) {
+ SysPrintf( "j8 greater than 0x7f!!\n" );
+- assert(0);
+ }
+ *j8 = (u8)jump;
+ }