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