-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
plugin from PCSX4ALL project, and traditional P.E.Op.S. one.
+Compiling
+---------
+
+For libretro build, just doing "make -f Makefile.libretro" is recommended as
+it's the way libretro team is building the core and only Makefile.libretro is
+maintained by them.
+
+For standalone build, './configure && make' should work for the most part.
+
+When compiling for ARM, it's advisable to tell configure script the CPU, FPU
+and ABI that matches your target system to get best performance, like this:
+
+CFLAGS='-mcpu=cortex-a8 -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp' ./configure
+
+Cross compilation should also work if kernel-style CROSS_COMPILE variable
+is set:
+CROSS_COMPILE='arm-none-linux-gnueabi-' ./configure
+
+
Usage
-----
-This version features a framebuffer driven menu that can be used to run
-games and configure the emulator.
+There are several different frontends that can be built from source (one
+generic and several platform specific), so usage slightly differs depending
+on that. Most of them have a menu that can be used to run games and configure
+the emulator.
Supported CD image formats:
- .bin/.cue
The emulator can simulate BIOS, which means BIOS files are not required,
however implementation is not complete and some games still need real BIOS
-to work. To use real BIOS, copy uncompressed BIOS files to
+to work. To use real BIOS, copy uncompressed BIOS files to bios/ directory
+which itself should be in main emulator directory.
+
+For pandora, it should be:
[sd card]/pandora/appdata/pcsx_rearmed/bios/
-then select the BIOS you want to use in Options->BIOS/Plugins menu.
+
+When the file is copied, BIOS should be selected in Options->BIOS/Plugins menu.
On pandora, analog controllers are supported using nubs, but this is
disabled by default and needs to be enabled in 'Controls' menu.
[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 pandora),
+ 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
+------
+
+PCSX and cwcheat cheat formats are supported. PCSX .cht file can be loaded from
+"extra stuff" menu after game is loaded, while cwcheat cheats are automatically
+loaded from cheatpops.db file, if one is present in emulator's directory and
+has any cheats for the loaded game in it.
+If any of those files are successfully loaded, 'cheats' option will appear in
+the main menu where it is possible to enable/disable individual cheats.
Changelog
---------
+r23 (2022-03-14)
+* many fixes from various contributors on github and from the libretro fork
+* dynarec related slowdowns have been greatly reduced
+* many dynarec bug fixes
++ added chd disk image support
+
+r22 (2015-02-05)
+* general: fixed a race condition/crash in threaded SPU mode
+* pandora: C64x: fixed compatibility with newer c64_tools, enabled L2 cache
+* frontend: fixed control config corruption on load for devices that are
+ disconnected on startup
+* some dma accuracy improvements, might fix occasional glitches in ff7
+* ARMv6 build and the dynarec now make use of available instructions (gizmo98)
+
+r21 (2015-01-12)
++ general: added ability to run SPU emulation on a separate thread, enabled it
+ by default when multicore CPU is detected. Significant effort was made to
+ avoid any compatibility problems which the old P.E.Op.S. implementation had.
++ pandora: added ability to run SPU emulation on TI C64x DSP by using bsp's
+ c64_tools.
+* libretro: fixed win32 build (mingw only)
+* some tweaks for the scanline effect and other things
+
+r20 (2014-12-25)
+* fixed various sound accuracy issues, like effects in ff7-ff9
+ for standalone build, audio will no longer slow down when emu is not fast
+ enough and stutter instead, as the former behavior causes accuracy issues.
+ Old mode can be restored in SPU plugin config options, but is not recommended.
+* savestates now save small parts of dynarec state to reduce dynarec related
+ slowdowns after savestate load
+* menu: fixed file browser issues with filesystems like exfat-fuse
+* menu: memcard manager: selected card is saved in config now
+* standalone: added some basic scanline efect
+* some CD image loading fixes
+* converted asm code to be compatible with more assemblers, like Apple's gas
++ libretro: added Makefile.libretro and support for various platforms like
+ iOS and QNX. Makefile.libretro is recommended way to do libretro builds
+ (patches from CatalystG, squarepusher, notaz and others, see git).
+* some other minor fixes
+
+r19 (2013-03-17)
++ libretro: added region, multidisk support
+* more work on cdrom code
+* changed sound sync code
+* fixed masking bugs in NEON GPU (in collaboration with Exophase)
+* fixed some compatibility issues
+* various other tweaks and fixes
+
+r18 (2013-01-06)
+* cdrom code greatly cleaned up
++ new GLES output mode for ARM Linux/R-Pi
+* various libretro improvements
+* fixed several compatibility regressions
+* various other tweaks and fixes
+
+r17 (2012-11-24)
++ added overlay support for generic Linux build
+* attempted to fix sound breakage with PulseAudio
+* fixed some regressions caused by hires mode code
+* fixed some sound issues introduced in r9
+* various other tweaks
+
+r16 (2012-11-10)
++ gpu_neon now has new hires rendering mode
+ (sometimes slow and occasionally glitchy)
++ integrated M-HT's scale2x and eagle2x filters
+ (works for 512x256 or lower resolution games)
++ pandora: added gamma/brightness control (requires SZ 1.52)
+* pandora: some improvements for nub support
++ added fast forward support
+* fixed some glitches after loading savestates from r14 or earlier
+
+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
+* Caanoo: potential workaround for save corruption
+ (always exit emulator cleanly before turning off the console
+ to reduce chance of corruption)
+* Caanoo: fixed a bug in GTE code (graphic glitches in some games)
+* Caanoo: reworked vibration support, should support more games
+* various refactoring/minor tweaks
+
+r13 (2012-01-09)
+* yet more fixes for regressions from earlier versions
+* various fixes for NEON GPU (in collaboration with Exophase)
++ NEON GPU supports interlace mode now, but it's not always
+ enabled due to frameskip glithes (can be changed in the menu)
+* cdda should resume on savestate load now
+* fixed date display in menus to honour locale
++ pandora: added support for minimizing the emulator (while ingame only)
+
r12 (2011-12-24)
+ new ARM NEON GPU rasterizer from Exophase (NEON hardware required)
+ new GPU emulation code
Wei Mingzhi (Maintainer, input plugin, iso/cheat support, misc stuff)
NEON GPU plugin:
- (C) 2011 Exophase
- (C) 2011 notaz
+ (C) 2011-2012 Exophase
+ (C) 2011-2012 notaz
PCSX4ALL GPU plugin:
(C) 2010 PCSX4ALL Team
(C) 2009-2011 Ari64
integration, optimization and frontend:
- (C) 2010-2011 notaz
+ (C) 2010-2012 notaz
-some implementation ideas (and maybe code?) likely originated from
+Special thanks to Mednafen author, shalma/gretar and Rokas for
+various help while developing this emulator.
+
+Some implementation ideas (and maybe code?) likely originated from
MAME/smf/pSXauthor and were integrated by various people to PCSX.
Source code is released under GNU GPL license, version 2 or later.
-See COPYING included in the archive (.pnd can be extracted using unsquashfs).
+See COPYING included in the archive (pandora version's .pnd can be
+extracted using unsquashfs).
+
The source code is available in a GIT repository at:
git://notaz.gp2x.de/~notaz/pcsx_rearmed.git