2 PCSX-ReARMed - yet another PCSX fork, ARM special
4 http://notaz.gp2x.de/pcsx_rearmed.php
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, PlayBook versions are also available).
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.
25 This version features a framebuffer driven menu that can be used to run
26 games and configure the emulator.
28 Supported CD image formats:
35 - .ZNX/.ZNX.table (partial)
36 - EBOOT.PBP (PSP, partial)
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.
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.
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.
59 GPU (graphics) and SPU (sound) plugins can be selected in
62 builtin_gpu - this is either Exophase's ARM NEON GPU (accurate and fast,
63 available if platform supports NEON, like on pandoa),
64 gpu_peops or gpu_unai (depends on compile options).
65 gpu_peops.so - P.E.Op.S. soft GPU, reasonably accurate but slow
66 (also found with older emulators on PC)
67 gpu_unai.so - Unai's plugin from PCSX4ALL project. Faster than P.E.Op.S.
68 but has some glitches.
69 gpu_gles.so - experimental port of P.E.Op.S. MesaGL plugin to OpenGL ES.
70 Occasionally faster but has lots of glitches and seems to
71 be rather unstable (may crash the driver/system).
72 builtin_spu - P.E.Op.S. SPU plugin, optimized for ARM.
73 spunull.so - NULL plugin, i.e. no sound emulation.
74 May cause compatibility problems.
80 PCSX 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
82 loaded from cheatpops.db file, if one is present in emulator's directory and
83 has any cheats for the loaded game in it.
84 If any of those files are successfully loaded, 'cheats' option will appear in
85 the main menu where it is possible to enable/disable individual cheats.
92 * various compatibility fixes
93 * attempts to fix various SPU issues
94 * Exophase fixed blending issue in his NEON GPU
95 * fixed some potential crashes
96 * gpu_unai: merged range fix from Franxis
98 + menu: pressing a key in file list now seeks to a file
99 + new code, fixes and refactoring to improve portability:
100 support RAM offset, translation cache in data segment,
101 SDL support, multiple sound output methods, configure script
102 * unified plugin names for all ports
103 + initial libretro support
106 * GLES GPU: implemented frameskip
107 * GLES GPU: merged some changes from schtruck/FPSE
108 * Caanoo: potential workaround for save corruption
109 (always exit emulator cleanly before turning off the console
110 to reduce chance of corruption)
111 * Caanoo: fixed a bug in GTE code (graphic glitches in some games)
112 * Caanoo: reworked vibration support, should support more games
113 * various refactoring/minor tweaks
116 * yet more fixes for regressions from earlier versions
117 * various fixes for NEON GPU (in collaboration with Exophase)
118 + NEON GPU supports interlace mode now, but it's not always
119 enabled due to frameskip glithes (can be changed in the menu)
120 * cdda should resume on savestate load now
121 * fixed date display in menus to honour locale
122 + pandora: added support for minimizing the emulator (while ingame only)
125 + new ARM NEON GPU rasterizer from Exophase (NEON hardware required)
126 + new GPU emulation code
127 + new analog controller configurator
128 * changed frameskip handling (again..), higher values supported
129 * fixed several more regressions from earlier versions
130 * changed cdrom code with hope for better compatibility
131 * sprite optimization for PCSX4ALL plugin
132 + Caanoo: added vibration support
136 * Caanoo: fixed tv-out
137 + Caanoo/Wiz: added scaling (16bpp only)
138 + Caanoo/Wiz: added touchscreen-as-buttons input (4 sections)
139 + added .cbin support
140 + added multidisk eboot support (use "next multidisk CD" in exras menu)
141 * some GTE related optimizations
142 * various other optimizations
143 + added some speed hack options for slower devices
144 (get more speed at stability and correctness loss)
145 * fixed several compatibility issues
146 * fixed a few crash situations
147 * various minor adjustments
148 * maemo: merged some code from Bonapart
149 * maemo: fixed BIOS issue (hopefully)
153 + completely rewrote memory handlers
154 + added fixed frameskip option
155 + added ability to change PSX clock
156 + implemented GTE dead flag detection
157 * switched to larger timeslices for better performance
158 * fixed some cases of flickering
159 * fixed a crash in PCSX4ALL GPU plugin
160 * fixed several dynarec compatibility related issues (hopefully)
161 * fixed multiple SPU regressions from r9 and earlier
162 * fixed frame limiter issue that sometimes caused stuttering
163 * fixed some minor GUI issues
166 * fixed various dynarec integration issues that were causing instability
167 * merged latest Ari64 dynarec code for some performance improvement
168 * changed frameskip handling in builtin and PCSX4ALL plugins,
169 fixes some cases where it would not work
170 * merged PCSX4ALL 2.2 GPU code to it's plugin
171 * fixed PCSX4ALL GPU inline asm, was miscompiling for ARMv7.
172 + added CDDA handling for eboot format
173 * improved CDDA handling for all image formats that support it
174 * various compatibility/accuracy improvements
175 * optimized PEOPS SPU core
176 * various menu adjustments
177 * changed scaling options a bit, there are now two 4:3 options:
178 integer and fractional
179 + added some basic memory card manager, which allows to change
180 or remove cards (remove needed for Tenka)
181 + added GunCon support
182 + added gpuPEOPS2 plugin (peops rendering + new emulation code)
185 * improved recompiler performance for some games
186 * fixed a few recompiler related compatibility issues
187 (also fixes broken memcard support in some games)
188 * fixed some graphics problems caused by frameskip.
189 Note that not all problems were fixed, so if you see graphics
190 glitches try turning off frameskip or using different GPU plugin.
191 + added screenshot function
192 + added some code to attempt to sync with pandora's LCD better
193 * merged a few compatibility fixes from PCSX-Reloaded
194 * fixed and issue with external controllers
195 * added experimental ability to use nubs as buttons
198 + implemented most used GTE operations in NEON
199 * merged latest Ari64's recompiler patches
200 * removed some code from the recompiler that is unneeded for R3k
201 * added some special handlers for constant reads
202 * some moderate builtin GPU and SPU optimizations
203 + added redump.org SBI support
204 * tuned frameskip code again
205 * fixed one 'analog controller not working' issue
206 * fixed a crash in builtin gpu code
207 * fixed cdrom slowdown issue
208 * fixed my stupid bug in the recompiler that slowed down
210 * some other refactoring
213 + added analog controller support using nubs (disabled by default)
214 + added control config saving
215 + added support for ingame actions (eg. savestate load)
216 + added 'auto' region option and made it default
217 + added cd swap functionality
218 + added maemo frontend from Bonapart
219 (with some tuning, source code only)
220 * reworked key configuration to be less confusing
221 * fixed 'SPU IRQ wait' option sometimes causing noise
222 and turned it on by default
223 * fixed mono xa masking (was causing noise)
224 * fixed word access macros in dfxvideo (darkness problem)
225 * changed GPU DMA timing back to 1.92 levels
226 * backported more fixes from PCSX-Reloaded project
227 (mostly shalma's work, see GIT)
228 * fixed a few more recompiler issues
229 + fixed frameskip in builtin plugin
232 + added support for .bz format, also partial support for
233 .znx and eboot.pbp formats
234 + merged latest cdrom code from PCSX-Reloaded project
235 * fixed remaining savestate incompatibilities between PCSX4ALL
236 and P.E.Op.S. GPU plugins
237 * fixed channel disable preventing irqs in P.E.Op.S. SPU plugin
238 * fixed some alignment issues
239 + added handling for branches in delay slots
240 + fixed some unexpected drops to menu
241 * fixed lots of recompiler related issues (see GIT)
242 + added watchdog thread to detect emulator lockups
243 * minor frontend adjustments
246 + added real BIOS support (and various things for it to work)
247 * fixed various recompiler issues
248 + added interpreter option (useful to overcome dynarec bugs)
249 * fixed some memory card related issues with HLE bios
250 * rewrote frame limiter (old was sometimes sleeping needlessly)
253 + added Pickle's port of gpu-gles from psx4m project
254 + added PCSX4ALL gpu as a plugin
255 * improved gpu plugin support
256 + added savestate preview
257 * various frontend fixes
260 * fixed memcard paths
261 * fixed a keybind copy-paste bug
262 * properly implemented pad handling
263 (inputs no longer control both emulated pads at once)
264 * fixed a crash caused by framebuffer out of range access
265 * fixed SWL/SWR handling (usually resulted in graphic glitches)
266 * fixed BxxZAL (Medal of Honor)
267 * fixed alignment crash in color space conversion code (Lunar)
268 * fixed SWC2 occasional use of wrong address register (Parasite Eve)
269 * fixed firstfile() handling in HLE BIOS (broken memory cards in some games)
270 + added per-game configs (controls still not saved though)
271 + added simple plugin select interface to the menu
282 (C) 1999-2003 PCSX Team
283 (c) 1998 Vision Thing
284 Linuzappz <linuzappz@pcsx.net>
285 Shadow <shadow@pcsx.net>
286 Pete Bernett <psswitch@online.de>
287 NoComp <NoComp@mailcity.com>
289 Akumax <akumax@pcsx.net>
291 (C) 2005-2009 PCSX-df Team
292 (c) Ryan Schultz <schultz.ryan@gmail.com>
293 (c) Andrew Burton <adb@iinet.net.au>
294 (c) Stephen Chao <schao@myrealbox.com>
295 (c) Marcus Comstedt <marcus@mc.pp.se>
296 Stefan Sikora <hoshy@schrauberstube.de>
298 (C) 2009-2011 PCSX-Reloaded Team
299 edgbla (Root counters, various core/plugin fixes)
300 shalma (GTE Divider, many core improvements, sound plugin fixes)
301 Firnis (GTE code from PCSX-Revolution Project)
302 Gabriele Gorla (MDEC decoder)
303 Peter Collingbourne (Various core/psxbios fixes)
304 Dario, NeToU, siveritas (Various bugfixes)
305 Wei Mingzhi (Maintainer, input plugin, iso/cheat support, misc stuff)
308 (C) 2011-2012 Exophase
312 (C) 2010 PCSX4ALL Team
314 Franxis <franxism@gmail.com>
315 Chui <sdl_gp32@yahoo.es>
317 GLES plugin (psx4m project):
318 (C) 1999-2009 by Pete Bernert
324 P.E.Op.S. GPU plugin:
325 (C) Pete Bernert and the P.E.Op.S. team
327 P.E.Op.S. SPU plugin:
328 (C) Pete Bernert and the P.E.Op.S. team
329 (C) SPU2-X, gigaherz, Pcsx2 Development Team
333 MIPS->ARM recompiler:
336 integration, optimization and frontend:
339 Special thanks to Mednafen author, shalma/gretar and Rokas for
340 various help while developing this emulator.
342 Some implementation ideas (and maybe code?) likely originated from
343 MAME/smf/pSXauthor and were integrated by various people to PCSX.
345 Source code is released under GNU GPL license, version 2 or later.
346 See COPYING included in the archive (pandora version's .pnd can be
347 extracted using unsquashfs).
349 The source code is available in a GIT repository at:
351 git://notaz.gp2x.de/~notaz/pcsx_rearmed.git