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