refactor gpu plugins and Makefiles
[pcsx_rearmed.git] / readme.txt
303ee308 1
2PCSX-ReARMed - yet another PCSX fork
c9dbba7f 4
303ee308 6
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
25This version features a framebuffer driven menu that can be used to run
26games and configure the emulator.
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 .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.
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
59GPU (graphics) and SPU (sound) plugins can be selected in
60[BIOS/Plugins] menu:
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). - plugin from PCSX4ALL project. Faster than P.E.Op.S.
66 but has some glitches.
ee78346e - 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 - P.E.Op.S. soft GPU (in case builtin one is NEON)
71builtin_spu - P.E.Op.S. SPU plugin, optimized for ARM.
ee78346e - NULL plugin, i.e. no sound emulation.
9af2e936 75Changelog
3ce7adeb 78r13 (2012-01-09)
79* yet more fixes for regressions from earlier versions
80* various fixes for NEON GPU (in collaboration with Exophase)
81+ NEON GPU supports interlace mode now, but it's not always
82 enabled due to frameskip glithes (can be changed in the menu)
83* cdda should resume on savestate load now
84* fixed date display in menus to honour locale
85+ pandora: added support for minimizing the emulator (while ingame only)
c069dc1b 87r12 (2011-12-24)
88+ new ARM NEON GPU rasterizer from Exophase (NEON hardware required)
89+ new GPU emulation code
90+ new analog controller configurator
91* changed frameskip handling (again..), higher values supported
92* fixed several more regressions from earlier versions
93* changed cdrom code with hope for better compatibility
94* sprite optimization for PCSX4ALL plugin
95+ Caanoo: added vibration support
b0c8d18b 97r11 (2011-10-31)
98+ added Wiz support
99* Caanoo: fixed tv-out
100+ Caanoo/Wiz: added scaling (16bpp only)
101+ Caanoo/Wiz: added touchscreen-as-buttons input (4 sections)
102+ added .cbin support
103+ added multidisk eboot support (use "next multidisk CD" in exras menu)
104* some GTE related optimizations
105* various other optimizations
106+ added some speed hack options for slower devices
107 (get more speed at stability and correctness loss)
108* fixed several compatibility issues
109* fixed a few crash situations
110* various minor adjustments
111* maemo: merged some code from Bonapart
112* maemo: fixed BIOS issue (hopefully)
cbd45cda 114r10 (2011-10-10)
115+ added Caanoo port
116+ completely rewrote memory handlers
aaac9c7e 117+ added fixed frameskip option
cbd45cda 118+ added ability to change PSX clock
119+ implemented GTE dead flag detection
120* switched to larger timeslices for better performance
121* fixed some cases of flickering
aaac9c7e 122* fixed a crash in PCSX4ALL GPU plugin
123* fixed several dynarec compatibility related issues (hopefully)
cbd45cda 124* fixed multiple SPU regressions from r9 and earlier
aaac9c7e 125* fixed frame limiter issue that sometimes caused stuttering
126* fixed some minor GUI issues
7ca0ce80 128r9 (2011-08-13)
129* fixed various dynarec integration issues that were causing instability
130* merged latest Ari64 dynarec code for some performance improvement
131* changed frameskip handling in builtin and PCSX4ALL plugins,
132 fixes some cases where it would not work
133* merged PCSX4ALL 2.2 GPU code to it's plugin
134* fixed PCSX4ALL GPU inline asm, was miscompiling for ARMv7.
135+ added CDDA handling for eboot format
136* improved CDDA handling for all image formats that support it
137* various compatibility/accuracy improvements
138* optimized PEOPS SPU core
139* various menu adjustments
140* changed scaling options a bit, there are now two 4:3 options:
141 integer and fractional
142+ added some basic memory card manager, which allows to change
143 or remove cards (remove needed for Tenka)
144+ added GunCon support
145+ added gpuPEOPS2 plugin (peops rendering + new emulation code)
3938f69a 147r8 (2011-03-22)
148* improved recompiler performance for some games
149* fixed a few recompiler related compatibility issues
150 (also fixes broken memcard support in some games)
151* fixed some graphics problems caused by frameskip.
152 Note that not all problems were fixed, so if you see graphics
153 glitches try turning off frameskip or using different GPU plugin.
154+ added screenshot function
155+ added some code to attempt to sync with pandora's LCD better
156* merged a few compatibility fixes from PCSX-Reloaded
157* fixed and issue with external controllers
158* added experimental ability to use nubs as buttons
900acfae 160r7 (2011-03-02)
161+ implemented most used GTE operations in NEON
162* merged latest Ari64's recompiler patches
163* removed some code from the recompiler that is unneeded for R3k
164* added some special handlers for constant reads
165* some moderate builtin GPU and SPU optimizations
166+ added SBI support
167* tuned frameskip code again
168* fixed one 'analog controller not working' issue
169* fixed a crash in builtin gpu code
170* fixed cdrom slowdown issue
171* fixed my stupid bug in the recompiler that slowed down
172 recompilation a lot
173* some other refactoring
acb57d8d 175r6 (2011-02-10)
176+ added analog controller support using nubs (disabled by default)
177+ added control config saving
178+ added support for ingame actions (eg. savestate load)
179+ added 'auto' region option and made it default
180+ added cd swap functionality
181+ added maemo frontend from Bonapart
182 (with some tuning, source code only)
183* reworked key configuration to be less confusing
184* fixed 'SPU IRQ wait' option sometimes causing noise
185 and turned it on by default
186* fixed mono xa masking (was causing noise)
187* fixed word access macros in dfxvideo (darkness problem)
188* changed GPU DMA timing back to 1.92 levels
189* backported more fixes from PCSX-Reloaded project
190 (mostly shalma's work, see GIT)
191* fixed a few more recompiler issues
192+ fixed frameskip in builtin plugin
5b09a334 194r5 (2011-01-31)
195+ added support for .bz format, also partial support for
196 .znx and eboot.pbp formats
197+ merged latest cdrom code from PCSX-Reloaded project
198* fixed remaining savestate incompatibilities between PCSX4ALL
199 and P.E.Op.S. GPU plugins
200* fixed channel disable preventing irqs in P.E.Op.S. SPU plugin
201* fixed some alignment issues
202+ added handling for branches in delay slots
203+ fixed some unexpected drops to menu
204* fixed lots of recompiler related issues (see GIT)
205+ added watchdog thread to detect emulator lockups
206* minor frontend adjustments
c9dbba7f 208r4 (2011-01-15)
209+ added real BIOS support (and various things for it to work)
210* fixed various recompiler issues
211+ added interpreter option (useful to overcome dynarec bugs)
212* fixed some memory card related issues with HLE bios
213* rewrote frame limiter (old was sometimes sleeping needlessly)
ee78346e 215r3 (2011-01-05):
216+ added Pickle's port of gpu-gles from psx4m project
217+ added PCSX4ALL gpu as a plugin
218* improved gpu plugin support
219+ added savestate preview
220* various frontend fixes
222r2 (2010-12-29):
9af2e936 223* fixed memcard paths
224* fixed a keybind copy-paste bug
225* properly implemented pad handling
ee78346e 226 (inputs no longer control both emulated pads at once)
9af2e936 227* fixed a crash caused by framebuffer out of range access
228* fixed SWL/SWR handling (usually resulted in graphic glitches)
229* fixed BxxZAL (Medal of Honor)
230* fixed alignment crash in color space conversion code (Lunar)
231* fixed SWC2 occasional use of wrong address register (Parasite Eve)
232* fixed firstfile() handling in HLE BIOS (broken memory cards in some games)
233+ added per-game configs (controls still not saved though)
234+ added simple plugin select interface to the menu
ee78346e 236r1 (2010-12-25):
9af2e936 237* initial release
303ee308 240Credits / License
f932e54b 243Emulator core:
303ee308 245(C) 1999-2003 PCSX Team
6b8a7b88 246 (c) 1998 Vision Thing
247 Linuzappz <>
248 Shadow <>
249 Pete Bernett <>
250 NoComp <>
251 Nik3d
252 Akumax <>
303ee308 254(C) 2005-2009 PCSX-df Team
6b8a7b88 255 (c) Ryan Schultz <>
256 (c) Andrew Burton <>
257 (c) Stephen Chao <>
258 (c) Marcus Comstedt <>
259 Stefan Sikora <>
900acfae 261(C) 2009-2011 PCSX-Reloaded Team
6b8a7b88 262 edgbla (Root counters, various core/plugin fixes)
900acfae 263 shalma (GTE Divider, many core improvements, sound plugin fixes)
6b8a7b88 264 Firnis (GTE code from PCSX-Revolution Project)
265 Gabriele Gorla (MDEC decoder)
6b8a7b88 266 Peter Collingbourne (Various core/psxbios fixes)
ee78346e 267 Dario, NeToU, siveritas (Various bugfixes)
6b8a7b88 268 Wei Mingzhi (Maintainer, input plugin, iso/cheat support, misc stuff)
c069dc1b 270NEON GPU plugin:
3ce7adeb 271 (C) 2011-2012 Exophase
272 (C) 2011-2012 notaz
c069dc1b 273
ee78346e 274PCSX4ALL GPU plugin:
275 (C) 2010 PCSX4ALL Team
276 (C) 2010 Unai
277 Franxis <>
278 Chui <>
280GLES plugin (psx4m project):
f932e54b 281 (C) 1999-2009 by Pete Bernert
282 EQ
283 Olli Hinkka
284 Proger
285 Pickle
c069dc1b 287P.E.Op.S. GPU plugin:
1775933a 288 (C) Pete Bernert and the P.E.Op.S. team
c069dc1b 290P.E.Op.S. SPU plugin:
1775933a 291 (C) Pete Bernert and the P.E.Op.S. team
292 (C) SPU2-X, gigaherz, Pcsx2 Development Team
293 shalma
c069dc1b 294 notaz
f932e54b 295
296MIPS->ARM recompiler:
1775933a 297 (C) 2009-2011 Ari64
6b8a7b88 298
f932e54b 299integration, optimization and frontend:
3ce7adeb 300 (C) 2010-2012 notaz
302Special thanks to Mednafen author, shalma/gretar and Rokas for
303various help while developing this emulator.
303ee308 304
3ce7adeb 305Some implementation ideas (and maybe code?) likely originated from
22d3b349 306MAME/smf/pSXauthor and were integrated by various people to PCSX.
303ee308 308Source code is released under GNU GPL license, version 2 or later.
3ce7adeb 309See COPYING included in the archive (pandora version's .pnd can be
310extracted using unsquashfs).
303ee308 312The source code is available in a GIT repository at: