frontend: update description
[pcsx_rearmed.git] / readme.txt
1
2 PCSX-ReARMed - yet another PCSX fork
3
4 http://notaz.gp2x.de/pcsx_rearmed.php
5
6
7 About
8 -----
9
10 PCSX ReARMed is yet another PCSX fork based on the PCSX-Reloaded project,
11 which itself contains code from PCSX, PCSX-df and PCSX-Revolution. This
12 version is ARM architecture oriented and features MIPS->ARM recompiler by
13 Ari64, NEON GTE code and more performance improvements. It was created for
14 Pandora handheld, but should be usable on other devices after some code
15 adjustments (N900, GPH Wiz/Caanoo versions are also available).
16
17 PCSX ReARMed features ARM NEON GPU by Exophase, that in many cases produces
18 pixel perfect graphics at very high performance. There is also Una-i's GPU
19 plugin from PCSX4ALL project, and traditional P.E.Op.S. one.
20
21
22 Usage
23 -----
24
25 This version features a framebuffer driven menu that can be used to run
26 games and configure the emulator.
27
28 Supported CD image formats:
29 - .bin/.cue
30 - .bin/.toc
31 - .img/.ccd/.sub
32 - .mdf/.mds
33 - .Z/.Z.table
34 - .bz/.bz.table
35 - .ZNX/.ZNX.table (partial)
36 - EBOOT.PBP (PSP, partial)
37 - .cbn
38
39 CDDA (CD audio) only supported when .cue/.toc/.ccd/.mds files are present.
40 There is support for redump.org .sbi files, which can be used instead of
41 .sub files to save space (name it the same as .cue/.bin, just use .sbi
42 extension). This is required for Libcrypt copy protected game support.
43
44 The emulator can simulate BIOS, which means BIOS files are not required,
45 however implementation is not complete and some games still need real BIOS
46 to work. To use real BIOS, copy uncompressed BIOS files to
47 [sd card]/pandora/appdata/pcsx_rearmed/bios/
48 then select the BIOS you want to use in Options->BIOS/Plugins menu.
49
50 On pandora, analog controllers are supported using nubs, but this is
51 disabled by default and needs to be enabled in 'Controls' menu.
52 There is also touchscreen based GunCon support, which also requires
53 appropriate controller selected in controls configuration.
54
55
56 Plugins
57 -------
58
59 GPU (graphics) and SPU (sound) plugins can be selected in
60 [BIOS/Plugins] menu:
61
62 builtin_gpu    - this is either Exophase's ARM NEON GPU (accurate and fast,
63                  available if platform supports NEON), else it's P.E.Op.S.
64                  soft GPU (accurate but slow).
65 gpuPCSX4ALL.so - plugin from PCSX4ALL project. Faster than P.E.Op.S.
66                  but has some glitches.
67 gpuGLES.so     - experimental port of P.E.Op.S. MesaGL plugin to OpenGL ES.
68                  Occasionally faster but has lots of glitches and seems to
69                  be rather unstable (may crash the system).
70 gpuPEOPS.so    - P.E.Op.S. soft GPU (in case builtin one is NEON)
71 builtin_spu    - P.E.Op.S. SPU plugin, optimized for ARM.
72 spunull.so     - NULL plugin, i.e. no sound emulation.
73
74
75 Changelog
76 ---------
77
78 r12 (2011-12-24)
79 + new ARM NEON GPU rasterizer from Exophase (NEON hardware required)
80 + new GPU emulation code
81 + new analog controller configurator
82 * changed frameskip handling (again..), higher values supported
83 * fixed several more regressions from earlier versions
84 * changed cdrom code with hope for better compatibility
85 * sprite optimization for PCSX4ALL plugin
86 + Caanoo: added vibration support
87
88 r11 (2011-10-31)
89 + added Wiz support
90 * Caanoo: fixed tv-out
91 + Caanoo/Wiz: added scaling (16bpp only)
92 + Caanoo/Wiz: added touchscreen-as-buttons input (4 sections)
93 + added .cbin support
94 + added multidisk eboot support (use "next multidisk CD" in exras menu)
95 * some GTE related optimizations
96 * various other optimizations
97 + added some speed hack options for slower devices
98   (get more speed at stability and correctness loss)
99 * fixed several compatibility issues
100 * fixed a few crash situations
101 * various minor adjustments
102 * maemo: merged some code from Bonapart
103 * maemo: fixed BIOS issue (hopefully)
104
105 r10 (2011-10-10)
106 + added Caanoo port
107 + completely rewrote memory handlers
108 + added fixed frameskip option
109 + added ability to change PSX clock
110 + implemented GTE dead flag detection
111 * switched to larger timeslices for better performance
112 * fixed some cases of flickering
113 * fixed a crash in PCSX4ALL GPU plugin
114 * fixed several dynarec compatibility related issues (hopefully)
115 * fixed multiple SPU regressions from r9 and earlier
116 * fixed frame limiter issue that sometimes caused stuttering
117 * fixed some minor GUI issues
118
119 r9 (2011-08-13)
120 * fixed various dynarec integration issues that were causing instability
121 * merged latest Ari64 dynarec code for some performance improvement
122 * changed frameskip handling in builtin and PCSX4ALL plugins,
123   fixes some cases where it would not work
124 * merged PCSX4ALL 2.2 GPU code to it's plugin
125 * fixed PCSX4ALL GPU inline asm, was miscompiling for ARMv7.
126 + added CDDA handling for eboot format
127 * improved CDDA handling for all image formats that support it
128 * various compatibility/accuracy improvements
129 * optimized PEOPS SPU core
130 * various menu adjustments
131 * changed scaling options a bit, there are now two 4:3 options:
132   integer and fractional
133 + added some basic memory card manager, which allows to change
134   or remove cards (remove needed for Tenka)
135 + added GunCon support
136 + added gpuPEOPS2 plugin (peops rendering + new emulation code)
137
138 r8 (2011-03-22)
139 * improved recompiler performance for some games
140 * fixed a few recompiler related compatibility issues
141   (also fixes broken memcard support in some games)
142 * fixed some graphics problems caused by frameskip.
143   Note that not all problems were fixed, so if you see graphics
144   glitches try turning off frameskip or using different GPU plugin.
145 + added screenshot function
146 + added some code to attempt to sync with pandora's LCD better
147 * merged a few compatibility fixes from PCSX-Reloaded
148 * fixed and issue with external controllers
149 * added experimental ability to use nubs as buttons
150
151 r7 (2011-03-02)
152 + implemented most used GTE operations in NEON
153 * merged latest Ari64's recompiler patches
154 * removed some code from the recompiler that is unneeded for R3k
155 * added some special handlers for constant reads
156 * some moderate builtin GPU and SPU optimizations
157 + added redump.org SBI support
158 * tuned frameskip code again
159 * fixed one 'analog controller not working' issue
160 * fixed a crash in builtin gpu code
161 * fixed cdrom slowdown issue
162 * fixed my stupid bug in the recompiler that slowed down
163   recompilation a lot
164 * some other refactoring
165
166 r6 (2011-02-10)
167 + added analog controller support using nubs (disabled by default)
168 + added control config saving
169 + added support for ingame actions (eg. savestate load)
170 + added 'auto' region option and made it default
171 + added cd swap functionality
172 + added maemo frontend from Bonapart
173   (with some tuning, source code only)
174 * reworked key configuration to be less confusing
175 * fixed 'SPU IRQ wait' option sometimes causing noise
176   and turned it on by default
177 * fixed mono xa masking (was causing noise)
178 * fixed word access macros in dfxvideo (darkness problem)
179 * changed GPU DMA timing back to 1.92 levels
180 * backported more fixes from PCSX-Reloaded project
181   (mostly shalma's work, see GIT)
182 * fixed a few more recompiler issues
183 + fixed frameskip in builtin plugin
184
185 r5 (2011-01-31)
186 + added support for .bz format, also partial support for
187   .znx and eboot.pbp formats
188 + merged latest cdrom code from PCSX-Reloaded project
189 * fixed remaining savestate incompatibilities between PCSX4ALL
190   and P.E.Op.S. GPU plugins
191 * fixed channel disable preventing irqs in P.E.Op.S. SPU plugin
192 * fixed some alignment issues
193 + added handling for branches in delay slots
194 + fixed some unexpected drops to menu
195 * fixed lots of recompiler related issues (see GIT)
196 + added watchdog thread to detect emulator lockups
197 * minor frontend adjustments
198
199 r4 (2011-01-15)
200 + added real BIOS support (and various things for it to work)
201 * fixed various recompiler issues
202 + added interpreter option (useful to overcome dynarec bugs)
203 * fixed some memory card related issues with HLE bios
204 * rewrote frame limiter (old was sometimes sleeping needlessly)
205
206 r3 (2011-01-05):
207 + added Pickle's port of gpu-gles from psx4m project
208 + added PCSX4ALL gpu as a plugin
209 * improved gpu plugin support
210 + added savestate preview
211 * various frontend fixes
212
213 r2 (2010-12-29):
214 * fixed memcard paths
215 * fixed a keybind copy-paste bug
216 * properly implemented pad handling
217   (inputs no longer control both emulated pads at once)
218 * fixed a crash caused by framebuffer out of range access
219 * fixed SWL/SWR handling (usually resulted in graphic glitches)
220 * fixed BxxZAL (Medal of Honor)
221 * fixed alignment crash in color space conversion code (Lunar)
222 * fixed SWC2 occasional use of wrong address register (Parasite Eve)
223 * fixed firstfile() handling in HLE BIOS (broken memory cards in some games)
224 + added per-game configs (controls still not saved though)
225 + added simple plugin select interface to the menu
226
227 r1 (2010-12-25):
228 * initial release
229
230
231 Credits / License
232 -----------------
233
234 Emulator core:
235
236 (C) 1999-2003 PCSX Team
237         (c) 1998 Vision Thing
238         Linuzappz     <linuzappz@pcsx.net>
239         Shadow        <shadow@pcsx.net>
240         Pete Bernett  <psswitch@online.de>
241         NoComp        <NoComp@mailcity.com>
242         Nik3d
243         Akumax        <akumax@pcsx.net>
244
245 (C) 2005-2009 PCSX-df Team
246         (c) Ryan Schultz <schultz.ryan@gmail.com>
247         (c) Andrew Burton <adb@iinet.net.au>
248         (c) Stephen Chao <schao@myrealbox.com>
249         (c) Marcus Comstedt <marcus@mc.pp.se>
250         Stefan Sikora <hoshy@schrauberstube.de>
251
252 (C) 2009-2011 PCSX-Reloaded Team
253         edgbla (Root counters, various core/plugin fixes)
254         shalma (GTE Divider, many core improvements, sound plugin fixes)
255         Firnis (GTE code from PCSX-Revolution Project)
256         Gabriele Gorla (MDEC decoder)
257         Peter Collingbourne (Various core/psxbios fixes)
258         Dario, NeToU, siveritas (Various bugfixes)
259         Wei Mingzhi (Maintainer, input plugin, iso/cheat support, misc stuff)
260
261 NEON GPU plugin:
262         (C) 2011 Exophase
263         (C) 2011 notaz
264
265 PCSX4ALL GPU plugin:
266         (C) 2010 PCSX4ALL Team
267         (C) 2010 Unai
268         Franxis <franxism@gmail.com>
269         Chui <sdl_gp32@yahoo.es>
270
271 GLES plugin (psx4m project):
272         (C) 1999-2009 by Pete Bernert
273         EQ
274         Olli Hinkka
275         Proger
276         Pickle
277
278 P.E.Op.S. GPU plugin:
279         (C) Pete Bernert and the P.E.Op.S. team
280
281 P.E.Op.S. SPU plugin:
282         (C) Pete Bernert and the P.E.Op.S. team
283         (C) SPU2-X, gigaherz, Pcsx2 Development Team
284         shalma
285         notaz
286
287 MIPS->ARM recompiler:
288         (C) 2009-2011 Ari64
289
290 integration, optimization and frontend:
291         (C) 2010-2011 notaz
292
293 some implementation ideas (and maybe code?) likely originated from
294 MAME/smf/pSXauthor and were integrated by various people to PCSX.
295
296 Source code is released under GNU GPL license, version 2 or later.
297 See COPYING included in the archive (.pnd can be extracted using unsquashfs).
298 The source code is available in a GIT repository at:
299
300 git://notaz.gp2x.de/~notaz/pcsx_rearmed.git
301