release r15 r15
authornotaz <notasas@gmail.com>
Wed, 1 Aug 2012 22:33:02 +0000 (01:33 +0300)
committernotaz <notasas@gmail.com>
Wed, 1 Aug 2012 22:43:04 +0000 (01:43 +0300)
Makefile
frontend/menu.c
frontend/pandora/pcsx.sh
frontend/plat_pandora.c
plugins/gpu-gles/Makefile
plugins/gpu-gles/gpulib_if.c
readme.txt

index 8b7d83c..b544250 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -117,7 +117,7 @@ OBJS += plugins/gpu_unai/gpulib_if.o
 ifeq "$(ARCH)" "arm"
 OBJS += plugins/gpu_unai/gpu_arm.o
 endif
 ifeq "$(ARCH)" "arm"
 OBJS += plugins/gpu_unai/gpu_arm.o
 endif
-plugins/gpu_unai/gpulib_if.o: CFLAGS += -DREARMED
+plugins/gpu_unai/gpulib_if.o: CFLAGS += -DREARMED -O3
 CC_LINK = $(CXX)
 endif
 
 CC_LINK = $(CXX)
 endif
 
@@ -241,9 +241,6 @@ rel: pcsx $(PLUGINS) \
        sed -e 's/%PR%/$(VER)/g' out/pcsx.pxml.templ > out/pcsx.pxml
        rm out/pcsx.pxml.templ
        mv out/*.so out/plugins/
        sed -e 's/%PR%/$(VER)/g' out/pcsx.pxml.templ > out/pcsx.pxml
        rm out/pcsx.pxml.templ
        mv out/*.so out/plugins/
-       mv out/plugins/gpu_unai.so out/plugins/gpuPCSX4ALL.so
-       mv out/plugins/gpu_gles.so out/plugins/gpuGLES.so
-       mv out/plugins/gpu_peops.so out/plugins/gpuPEOPS.so
        $(PND_MAKE) -p pcsx_rearmed_$(VER).pnd -d out -x out/pcsx.pxml -i frontend/pandora/pcsx.png -c
 endif
 
        $(PND_MAKE) -p pcsx_rearmed_$(VER).pnd -d out -x out/pcsx.pxml -i frontend/pandora/pcsx.png -c
 endif
 
@@ -263,8 +260,6 @@ rel: pcsx $(PLUGINS) \
        rm -rf out
        mkdir -p out/pcsx_rearmed/plugins
        cp -r $^ out/pcsx_rearmed/
        rm -rf out
        mkdir -p out/pcsx_rearmed/plugins
        cp -r $^ out/pcsx_rearmed/
-       mv out/pcsx_rearmed/gpu_unai.so out/pcsx_rearmed/gpuPCSX4ALL.so
-       mv out/pcsx_rearmed/gpu_gles.so out/pcsx_rearmed/gpuGLES.so
        mv out/pcsx_rearmed/*.so out/pcsx_rearmed/plugins/
        mv out/pcsx_rearmed/caanoo.gpe out/pcsx_rearmed/pcsx.gpe
        mv out/pcsx_rearmed/pcsx_rearmed.ini out/
        mv out/pcsx_rearmed/*.so out/pcsx_rearmed/plugins/
        mv out/pcsx_rearmed/caanoo.gpe out/pcsx_rearmed/pcsx.gpe
        mv out/pcsx_rearmed/pcsx_rearmed.ini out/
index 6a50d16..3756c1a 100644 (file)
@@ -261,7 +261,7 @@ static const struct {
        void *val;
 } config_data[] = {
        CE_CONFIG_STR(Bios),
        void *val;
 } config_data[] = {
        CE_CONFIG_STR(Bios),
-       CE_CONFIG_STR_V(Gpu, 2),
+       CE_CONFIG_STR_V(Gpu, 3),
        CE_CONFIG_STR(Spu),
 //     CE_CONFIG_STR(Cdr),
        CE_CONFIG_VAL(Xa),
        CE_CONFIG_STR(Spu),
 //     CE_CONFIG_STR(Cdr),
        CE_CONFIG_VAL(Xa),
@@ -340,6 +340,7 @@ static void make_cfg_fname(char *buf, size_t size, int is_game)
 }
 
 static void keys_write_all(FILE *f);
 }
 
 static void keys_write_all(FILE *f);
+static char *mystrip(char *str);
 
 static int menu_write_config(int is_game)
 {
 
 static int menu_write_config(int is_game)
 {
@@ -386,14 +387,18 @@ static int menu_do_last_cd_img(int is_get)
 {
        char path[256];
        FILE *f;
 {
        char path[256];
        FILE *f;
+       int ret;
 
        snprintf(path, sizeof(path), "." PCSX_DOT_DIR "lastcdimg.txt");
        f = fopen(path, is_get ? "r" : "w");
        if (f == NULL)
                return -1;
 
 
        snprintf(path, sizeof(path), "." PCSX_DOT_DIR "lastcdimg.txt");
        f = fopen(path, is_get ? "r" : "w");
        if (f == NULL)
                return -1;
 
-       if (is_get)
-               fscanf(f, "%255s", last_selected_fname);
+       if (is_get) {
+               ret = fread(last_selected_fname, 1, sizeof(last_selected_fname) - 1, f);
+               last_selected_fname[ret] = 0;
+               mystrip(last_selected_fname);
+       }
        else
                fprintf(f, "%s\n", last_selected_fname);
        fclose(f);
        else
                fprintf(f, "%s\n", last_selected_fname);
        fclose(f);
@@ -505,10 +510,6 @@ fail:
 
        menu_sync_config();
 
 
        menu_sync_config();
 
-       // caanoo old config compat hack
-       if (strcmp(Config.Gpu, "gpuPCSX4ALL.so") == 0)
-               strcpy(Config.Gpu, "gpu_unai.so");
-
        // sync plugins
        for (i = bios_sel = 0; bioses[i] != NULL; i++)
                if (strcmp(Config.Bios, bioses[i]) == 0)
        // sync plugins
        for (i = bios_sel = 0; bioses[i] != NULL; i++)
                if (strcmp(Config.Bios, bioses[i]) == 0)
@@ -694,7 +695,7 @@ static char *mystrip(char *str)
 
        len = strlen(str);
        for (i = len - 1; i >= 0; i--)
 
        len = strlen(str);
        for (i = len - 1; i >= 0; i--)
-               if (str[i] != ' ') break;
+               if (str[i] != ' ' && str[i] != '\r' && str[i] != '\n') break;
        str[i+1] = 0;
 
        return str;
        str[i+1] = 0;
 
        return str;
@@ -1254,13 +1255,10 @@ static const char h_bios[]       = "HLE is simulated BIOS. BIOS selection is sav
 static const char h_plugin_gpu[] = 
 #ifdef __ARM_NEON__
                                   "builtin_gpu is the NEON GPU, very fast and accurate\n"
 static const char h_plugin_gpu[] = 
 #ifdef __ARM_NEON__
                                   "builtin_gpu is the NEON GPU, very fast and accurate\n"
-                                  "gpuPEOPS "
-#else
-                                  "builtin_gpu "
 #endif
 #endif
-                                               "is Pete's soft GPU, slow but accurate\n"
-                                  "gpuPCSX4ALL is GPU from PCSX4ALL, fast but glitchy\n"
-                                  "gpuGLES Pete's hw GPU, uses 3D chip but is glitchy\n"
+                                  "gpu_peops is Pete's soft GPU, slow but accurate\n"
+                                  "gpu_unai is GPU from PCSX4ALL, fast but glitchy\n"
+                                  "gpu_gles Pete's hw GPU, uses 3D chip but is glitchy\n"
                                   "must save config and reload the game if changed";
 static const char h_plugin_spu[] = "spunull effectively disables sound\n"
                                   "must save config and reload the game if changed";
                                   "must save config and reload the game if changed";
 static const char h_plugin_spu[] = "spunull effectively disables sound\n"
                                   "must save config and reload the game if changed";
@@ -1278,8 +1276,8 @@ static menu_entry e_menu_plugin_options[] =
        mee_handler_h ("Configure built-in GPU plugin", menu_loop_plugin_gpu_neon, h_gpu_neon),
 #endif
        mee_handler_h ("Configure gpu_peops plugin",    menu_loop_plugin_gpu_peops, h_gpu_peops),
        mee_handler_h ("Configure built-in GPU plugin", menu_loop_plugin_gpu_neon, h_gpu_neon),
 #endif
        mee_handler_h ("Configure gpu_peops plugin",    menu_loop_plugin_gpu_peops, h_gpu_peops),
-       mee_handler_h ("Configure PCSX4ALL GPU plugin", menu_loop_plugin_gpu_unai, h_gpu_unai),
-       mee_handler_h ("Configure GLES GPU plugin",     menu_loop_plugin_gpu_peopsgl, h_gpu_peopsgl),
+       mee_handler_h ("Configure gpu_unai GPU plugin", menu_loop_plugin_gpu_unai, h_gpu_unai),
+       mee_handler_h ("Configure gpu_gles GPU plugin", menu_loop_plugin_gpu_peopsgl, h_gpu_peopsgl),
        mee_handler_h ("Configure built-in SPU plugin", menu_loop_plugin_spu, h_spu),
        mee_end,
 };
        mee_handler_h ("Configure built-in SPU plugin", menu_loop_plugin_spu, h_spu),
        mee_end,
 };
index 2077a29..0957b94 100755 (executable)
@@ -3,8 +3,7 @@
 # stupid nub mode thing
 nub0mode=`cat /proc/pandora/nub0/mode`
 nub1mode=`cat /proc/pandora/nub1/mode`
 # stupid nub mode thing
 nub0mode=`cat /proc/pandora/nub0/mode`
 nub1mode=`cat /proc/pandora/nub1/mode`
-echo absolute > /proc/pandora/nub0/mode
-echo absolute > /proc/pandora/nub1/mode
+/usr/pandora/scripts/op_nubchange.sh absolute absolute
 
 ./pcsx "$@"
 
 
 ./pcsx "$@"
 
@@ -12,5 +11,4 @@ echo absolute > /proc/pandora/nub1/mode
 ./picorestore
 sudo -n /usr/pandora/scripts/op_lcdrate.sh 60
 
 ./picorestore
 sudo -n /usr/pandora/scripts/op_lcdrate.sh 60
 
-echo "$nub0mode" > /proc/pandora/nub0/mode
-echo "$nub1mode" > /proc/pandora/nub1/mode
+/usr/pandora/scripts/op_nubchange.sh $nub0mode $nub1mode
index fb33056..9ec747d 100644 (file)
@@ -57,7 +57,7 @@ static const struct in_default_bind in_evdev_defbinds[] = {
        { KEY_RIGHTCTRL, IN_BINDTYPE_PLAYER12, DKEY_R1 },
        { KEY_Q,        IN_BINDTYPE_PLAYER12, DKEY_L2 },
        { KEY_P,        IN_BINDTYPE_PLAYER12, DKEY_R2 },
        { KEY_RIGHTCTRL, IN_BINDTYPE_PLAYER12, DKEY_R1 },
        { KEY_Q,        IN_BINDTYPE_PLAYER12, DKEY_L2 },
        { KEY_P,        IN_BINDTYPE_PLAYER12, DKEY_R2 },
-       { KEY_TAB,      IN_BINDTYPE_EMU, SACTION_MINIMIZE },
+       { KEY_MENU,     IN_BINDTYPE_EMU, SACTION_MINIMIZE },
        { KEY_SPACE,    IN_BINDTYPE_EMU, SACTION_ENTER_MENU },
        { KEY_1,        IN_BINDTYPE_EMU, SACTION_SAVE_STATE },
        { KEY_2,        IN_BINDTYPE_EMU, SACTION_LOAD_STATE },
        { KEY_SPACE,    IN_BINDTYPE_EMU, SACTION_ENTER_MENU },
        { KEY_1,        IN_BINDTYPE_EMU, SACTION_SAVE_STATE },
        { KEY_2,        IN_BINDTYPE_EMU, SACTION_LOAD_STATE },
index 894daec..421a6e7 100644 (file)
@@ -6,6 +6,7 @@ SRC_STANDALONE += gpuDraw.c gpuFps.c gpuPlugin.c gpuPrim.c gpuTexture.c
 SRC_GPULIB += gpulib_if.c\r
 \r
 CFLAGS += -I$(PREFIX)include\r
 SRC_GPULIB += gpulib_if.c\r
 \r
 CFLAGS += -I$(PREFIX)include\r
+LDFLAGS += -Wl,--allow-multiple-definition\r
 LDLIBS += -L$(PREFIX)lib\r
 ifeq "$(PLATFORM)" "caanoo"\r
 CFLAGS += -DFAKE_WINDOW\r
 LDLIBS += -L$(PREFIX)lib\r
 ifeq "$(PLATFORM)" "caanoo"\r
 CFLAGS += -DFAKE_WINDOW\r
index ce7f00d..c25ad8b 100644 (file)
@@ -640,6 +640,14 @@ void vout_update(void)
  }
 }
 
  }
 }
 
+void vout_blank(void)
+{
+}
+
+void vout_set_config(const struct rearmed_cbs *cbs)
+{
+}
+
 static struct rearmed_cbs *cbs;
 
 long GPUopen(void **dpy)
 static struct rearmed_cbs *cbs;
 
 long GPUopen(void **dpy)
@@ -696,10 +704,6 @@ void renderer_set_config(const struct rearmed_cbs *cbs_)
  iVRamSize = cbs->gpu_peopsgl.iVRamSize;
 }
 
  iVRamSize = cbs->gpu_peopsgl.iVRamSize;
 }
 
-void vout_set_config(const struct rearmed_cbs *cbs)
-{
-}
-
 void SetAspectRatio(void)
 {
  if (cbs->pl_get_layer_pos)
 void SetAspectRatio(void)
 {
  if (cbs->pl_get_layer_pos)
index ff36929..ad90b45 100644 (file)
@@ -1,5 +1,5 @@
 
 
-PCSX-ReARMed - yet another PCSX fork
+PCSX-ReARMed - yet another PCSX fork, ARM special
 
 http://notaz.gp2x.de/pcsx_rearmed.php
 
 
 http://notaz.gp2x.de/pcsx_rearmed.php
 
@@ -12,7 +12,7 @@ which itself contains code from PCSX, PCSX-df and PCSX-Revolution. This
 version is ARM architecture oriented and features MIPS->ARM recompiler by
 Ari64, NEON GTE code and more performance improvements. It was created for
 Pandora handheld, but should be usable on other devices after some code
 version is ARM architecture oriented and features MIPS->ARM recompiler by
 Ari64, NEON GTE code and more performance improvements. It was created for
 Pandora handheld, but should be usable on other devices after some code
-adjustments (N900, GPH Wiz/Caanoo versions are also available).
+adjustments (N900, GPH Wiz/Caanoo, PlayBook versions are also available).
 
 PCSX ReARMed features ARM NEON GPU by Exophase, that in many cases produces
 pixel perfect graphics at very high performance. There is also Una-i's GPU
 
 PCSX ReARMed features ARM NEON GPU by Exophase, that in many cases produces
 pixel perfect graphics at very high performance. There is also Una-i's GPU
@@ -60,16 +60,18 @@ GPU (graphics) and SPU (sound) plugins can be selected in
 [BIOS/Plugins] menu:
 
 builtin_gpu    - this is either Exophase's ARM NEON GPU (accurate and fast,
 [BIOS/Plugins] menu:
 
 builtin_gpu    - this is either Exophase's ARM NEON GPU (accurate and fast,
-                 available if platform supports NEON), else it's P.E.Op.S.
-                 soft GPU (accurate but slow).
-gpuPCSX4ALL.so - plugin from PCSX4ALL project. Faster than P.E.Op.S.
+                 available if platform supports NEON, like on pandoa),
+                 gpu_peops or gpu_unai (depends on compile options).
+gpu_peops.so   - P.E.Op.S. soft GPU, reasonably accurate but slow
+                 (also found with older emulators on PC)
+gpu_unai.so    - Unai's plugin from PCSX4ALL project. Faster than P.E.Op.S.
                  but has some glitches.
                  but has some glitches.
-gpuGLES.so     - experimental port of P.E.Op.S. MesaGL plugin to OpenGL ES.
+gpu_gles.so    - experimental port of P.E.Op.S. MesaGL plugin to OpenGL ES.
                  Occasionally faster but has lots of glitches and seems to
                  Occasionally faster but has lots of glitches and seems to
-                 be rather unstable (may crash the system).
-gpuPEOPS.so    - P.E.Op.S. soft GPU (in case builtin one is NEON)
+                 be rather unstable (may crash the driver/system).
 builtin_spu    - P.E.Op.S. SPU plugin, optimized for ARM.
 spunull.so     - NULL plugin, i.e. no sound emulation.
 builtin_spu    - P.E.Op.S. SPU plugin, optimized for ARM.
 spunull.so     - NULL plugin, i.e. no sound emulation.
+                 May cause compatibility problems.
 
 
 Cheats
 
 
 Cheats
@@ -86,6 +88,20 @@ the main menu where it is possible to enable/disable individual cheats.
 Changelog
 ---------
 
 Changelog
 ---------
 
+r15 (2012-08-02)
+* various compatibility fixes
+* attempts to fix various SPU issues
+* Exophase fixed blending issue in his NEON GPU
+* fixed some potential crashes
+* gpu_unai: merged range fix from Franxis
++ added cheat support
++ menu: pressing a key in file list now seeks to a file
++ new code, fixes and refactoring to improve portability:
+  support RAM offset, translation cache in data segment,
+  SDL support, multiple sound output methods, configure script
+* unified plugin names for all ports
++ initial libretro support
+
 r14 (2012-03-04)
 * GLES GPU: implemented frameskip
 * GLES GPU: merged some changes from schtruck/FPSE
 r14 (2012-03-04)
 * GLES GPU: implemented frameskip
 * GLES GPU: merged some changes from schtruck/FPSE