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
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
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/
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),
}
static void keys_write_all(FILE *f);
+static char *mystrip(char *str);
static int menu_write_config(int is_game)
{
{
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);
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)
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;
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";
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,
};
# 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 "$@"
./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
{ 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 },
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
}
}
+void vout_blank(void)
+{
+}
+
+void vout_set_config(const struct rearmed_cbs *cbs)
+{
+}
+
static struct rearmed_cbs *cbs;
long GPUopen(void **dpy)
iVRamSize = cbs->gpu_peopsgl.iVRamSize;
}
-void vout_set_config(const struct rearmed_cbs *cbs)
-{
-}
-
void SetAspectRatio(void)
{
if (cbs->pl_get_layer_pos)
-PCSX-ReARMed - yet another PCSX fork
+PCSX-ReARMed - yet another PCSX fork, ARM special
http://notaz.gp2x.de/pcsx_rearmed.php
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
[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
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