travis: add dependencies
[pcsx_rearmed.git] / readme.txt
index c793c7c..435a682 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,16 +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 version is also available).
+adjustments (N900, GPH Wiz/Caanoo, PlayBook versions are also available).
 
-PCSX ReARMed features GPU plugin from PCSX4ALL project.
+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
@@ -32,6 +55,7 @@ Supported CD image formats:
 - .bz/.bz.table
 - .ZNX/.ZNX.table (partial)
 - EBOOT.PBP (PSP, partial)
+- .cbn
 
 CDDA (CD audio) only supported when .cue/.toc/.ccd/.mds files are present.
 There is support for redump.org .sbi files, which can be used instead of
@@ -40,12 +64,16 @@ 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.
 
-Analog controllers are supported using nubs, but this is disabled by
-default and needs to be enabled in 'Controls' 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.
 There is also touchscreen based GunCon support, which also requires
 appropriate controller selected in controls configuration.
 
@@ -56,18 +84,153 @@ Plugins
 GPU (graphics) and SPU (sound) plugins can be selected in
 [BIOS/Plugins] menu:
 
-builtin_gpu    - the P.E.Op.S. GPU plugin, most accurate but slow.
-gpuPCSX4ALL.so - plugin from PCSX4ALL project. Faster but has some glitches.
-gpuGLES.so     - experimental port of P.E.Op.S. MesaGL plugin to OpenGL ES.
+builtin_gpu    - this is either Exophase's ARM NEON GPU (accurate and fast,
+                 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.
+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).
-builtin_spu    - P.E.Op.S. SPU plugin.
+                 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
 ---------
 
+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
++ new analog controller configurator
+* changed frameskip handling (again..), higher values supported
+* fixed several more regressions from earlier versions
+* changed cdrom code with hope for better compatibility
+* sprite optimization for PCSX4ALL plugin
++ Caanoo: added vibration support
+
+r11 (2011-10-31)
++ added Wiz support
+* Caanoo: fixed tv-out
++ Caanoo/Wiz: added scaling (16bpp only)
++ Caanoo/Wiz: added touchscreen-as-buttons input (4 sections)
++ added .cbin support
++ added multidisk eboot support (use "next multidisk CD" in exras menu)
+* some GTE related optimizations
+* various other optimizations
++ added some speed hack options for slower devices
+  (get more speed at stability and correctness loss)
+* fixed several compatibility issues
+* fixed a few crash situations
+* various minor adjustments
+* maemo: merged some code from Bonapart
+* maemo: fixed BIOS issue (hopefully)
+
 r10 (2011-10-10)
 + added Caanoo port
 + completely rewrote memory handlers
@@ -224,6 +387,10 @@ Emulator core:
        Dario, NeToU, siveritas (Various bugfixes)
        Wei Mingzhi (Maintainer, input plugin, iso/cheat support, misc stuff)
 
+NEON GPU plugin:
+       (C) 2011-2012 Exophase
+       (C) 2011-2012 notaz
+
 PCSX4ALL GPU plugin:
        (C) 2010 PCSX4ALL Team
        (C) 2010 Unai
@@ -237,25 +404,31 @@ GLES plugin (psx4m project):
        Proger
        Pickle
 
-builtin GPU/SPU plugin:
+P.E.Op.S. GPU plugin:
        (C) Pete Bernert and the P.E.Op.S. team
 
-builtin SPU plugin:
+P.E.Op.S. SPU plugin:
        (C) Pete Bernert and the P.E.Op.S. team
        (C) SPU2-X, gigaherz, Pcsx2 Development Team
        shalma
+       notaz
 
 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