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
-plugins/gpu_unai/gpulib_if.o: CFLAGS += -DREARMED
+plugins/gpu_unai/gpulib_if.o: CFLAGS += -DREARMED -O3
 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/
-       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
 
@@ -263,8 +260,6 @@ rel: pcsx $(PLUGINS) \
        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/
index 6a50d16..3756c1a 100644 (file)
@@ -261,7 +261,7 @@ static const struct {
        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),
@@ -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 char *mystrip(char *str);
 
 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;
+       int ret;
 
        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);
@@ -505,10 +510,6 @@ fail:
 
        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)
@@ -694,7 +695,7 @@ static char *mystrip(char *str)
 
        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;
@@ -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"
-                                  "gpuPEOPS "
-#else
-                                  "builtin_gpu "
 #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";
@@ -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 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,
 };
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`
-echo absolute > /proc/pandora/nub0/mode
-echo absolute > /proc/pandora/nub1/mode
+/usr/pandora/scripts/op_nubchange.sh absolute absolute
 
 ./pcsx "$@"
 
@@ -12,5 +11,4 @@ echo absolute > /proc/pandora/nub1/mode
 ./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_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 },
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
+LDFLAGS += -Wl,--allow-multiple-definition\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)
@@ -696,10 +704,6 @@ void renderer_set_config(const struct rearmed_cbs *cbs_)
  iVRamSize = cbs->gpu_peopsgl.iVRamSize;
 }
 
-void vout_set_config(const struct rearmed_cbs *cbs)
-{
-}
-
 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
 
@@ -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
-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
@@ -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,
-                 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.
-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
-                 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.
+                 May cause compatibility problems.
 
 
 Cheats
@@ -86,6 +88,20 @@ the main menu where it is possible to enable/disable individual cheats.
 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