spu: finish offload code to TI C64x DSP
[pcsx_rearmed.git] / readme.txt
index ab46551..c523f60 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,18 +12,39 @@ 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
 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
@@ -43,9 +64,13 @@ extension). This is required for Libcrypt copy protected game support.
 
 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.
@@ -60,21 +85,116 @@ 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 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
 ---------
 
+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
@@ -259,8 +379,8 @@ Emulator core:
        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
@@ -288,13 +408,18 @@ MIPS->ARM recompiler:
        (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