aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornotaz2012-08-02 01:33:02 +0300
committernotaz2012-08-02 01:43:04 +0300
commit4ea086f6049c3f2c286f1a4e1e23b5763629067a (patch)
tree45bf94324383bb5900262bed6fe37225c8888ebd
parent9ed4ca47610027e8a0448d61389df5a583bd659b (diff)
downloadpcsx_rearmed-4ea086f6049c3f2c286f1a4e1e23b5763629067a.tar.gz
pcsx_rearmed-4ea086f6049c3f2c286f1a4e1e23b5763629067a.tar.bz2
pcsx_rearmed-4ea086f6049c3f2c286f1a4e1e23b5763629067a.zip
release r15
-rw-r--r--Makefile7
-rw-r--r--frontend/menu.c30
-rwxr-xr-xfrontend/pandora/pcsx.sh6
-rw-r--r--frontend/plat_pandora.c2
-rw-r--r--plugins/gpu-gles/Makefile1
-rw-r--r--plugins/gpu-gles/gpulib_if.c12
-rw-r--r--readme.txt32
7 files changed, 51 insertions, 39 deletions
diff --git a/Makefile b/Makefile
index 8b7d83c..b544250 100644
--- 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/
diff --git a/frontend/menu.c b/frontend/menu.c
index 6a50d16..3756c1a 100644
--- a/frontend/menu.c
+++ b/frontend/menu.c
@@ -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,
};
diff --git a/frontend/pandora/pcsx.sh b/frontend/pandora/pcsx.sh
index 2077a29..0957b94 100755
--- a/frontend/pandora/pcsx.sh
+++ b/frontend/pandora/pcsx.sh
@@ -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
diff --git a/frontend/plat_pandora.c b/frontend/plat_pandora.c
index fb33056..9ec747d 100644
--- a/frontend/plat_pandora.c
+++ b/frontend/plat_pandora.c
@@ -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 },
diff --git a/plugins/gpu-gles/Makefile b/plugins/gpu-gles/Makefile
index 894daec..421a6e7 100644
--- a/plugins/gpu-gles/Makefile
+++ b/plugins/gpu-gles/Makefile
@@ -6,6 +6,7 @@ SRC_STANDALONE += gpuDraw.c gpuFps.c gpuPlugin.c gpuPrim.c gpuTexture.c
SRC_GPULIB += gpulib_if.c
CFLAGS += -I$(PREFIX)include
+LDFLAGS += -Wl,--allow-multiple-definition
LDLIBS += -L$(PREFIX)lib
ifeq "$(PLATFORM)" "caanoo"
CFLAGS += -DFAKE_WINDOW
diff --git a/plugins/gpu-gles/gpulib_if.c b/plugins/gpu-gles/gpulib_if.c
index ce7f00d..c25ad8b 100644
--- a/plugins/gpu-gles/gpulib_if.c
+++ b/plugins/gpu-gles/gpulib_if.c
@@ -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)
diff --git a/readme.txt b/readme.txt
index ff36929..ad90b45 100644
--- a/readme.txt
+++ b/readme.txt
@@ -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