diff --git a/common/build/Utilities/Utilities.cbp b/common/build/Utilities/Utilities.cbp
index 55793bc2b9..1182781392 100644
--- a/common/build/Utilities/Utilities.cbp
+++ b/common/build/Utilities/Utilities.cbp
@@ -1,84 +1,84 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/common/build/Utilities/utilities.vcproj b/common/build/Utilities/utilities.vcproj
index 140df4fbe7..eca9d95698 100644
--- a/common/build/Utilities/utilities.vcproj
+++ b/common/build/Utilities/utilities.vcproj
@@ -227,11 +227,11 @@
>
#include
diff --git a/common/src/Utilities/LnxThreads.cpp b/common/src/Utilities/Linux/LnxThreads.cpp
similarity index 98%
rename from common/src/Utilities/LnxThreads.cpp
rename to common/src/Utilities/Linux/LnxThreads.cpp
index 09f8a6f816..fa40b4f83f 100644
--- a/common/src/Utilities/LnxThreads.cpp
+++ b/common/src/Utilities/Linux/LnxThreads.cpp
@@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
-#include "PrecompiledHeader.h"
+#include "../PrecompiledHeader.h"
#include "Threading.h"
#include "x86emitter/tools.h"
diff --git a/common/src/Utilities/ThreadTools.cpp b/common/src/Utilities/ThreadTools.cpp
index bfc76225bf..33d031ca7f 100644
--- a/common/src/Utilities/ThreadTools.cpp
+++ b/common/src/Utilities/ThreadTools.cpp
@@ -38,6 +38,7 @@ namespace Threading
void Thread::Start()
{
+ m_terminated = false;
if( pthread_create( &m_thread, NULL, _internal_callback, this ) != 0 )
throw Exception::ThreadCreationError();
}
@@ -135,6 +136,26 @@ namespace Threading
err = pthread_mutex_init( &mutex, NULL );
}
+ MutexLock::MutexLock( bool isRecursive )
+ {
+ if( isRecursive )
+ {
+ pthread_mutexattr_t mutexAttribute;
+ int status = pthread_mutexattr_init( &mutexAttribute );
+ if (status != 0) { /* ... */ }
+ status = pthread_mutexattr_settype( &mutexAttribute, PTHREAD_MUTEX_RECURSIVE);
+ if (status != 0) { /* ... */}
+
+ int err = 0;
+ err = pthread_mutex_init( &mutex, &mutexAttribute );
+ }
+ else
+ {
+ int err = 0;
+ err = pthread_mutex_init( &mutex, NULL );
+ }
+ }
+
MutexLock::~MutexLock()
{
pthread_mutex_destroy( &mutex );
diff --git a/common/src/Utilities/WinMisc.cpp b/common/src/Utilities/Windows/WinMisc.cpp
similarity index 96%
rename from common/src/Utilities/WinMisc.cpp
rename to common/src/Utilities/Windows/WinMisc.cpp
index 285aeca4dc..94dd790220 100644
--- a/common/src/Utilities/WinMisc.cpp
+++ b/common/src/Utilities/Windows/WinMisc.cpp
@@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
-#include "PrecompiledHeader.h"
+#include "../PrecompiledHeader.h"
#include "RedtapeWindows.h"
static LARGE_INTEGER lfreq;
diff --git a/common/src/Utilities/WinThreads.cpp b/common/src/Utilities/Windows/WinThreads.cpp
similarity index 98%
rename from common/src/Utilities/WinThreads.cpp
rename to common/src/Utilities/Windows/WinThreads.cpp
index dbadceaa98..c606ea1e73 100644
--- a/common/src/Utilities/WinThreads.cpp
+++ b/common/src/Utilities/Windows/WinThreads.cpp
@@ -17,7 +17,7 @@
*/
-#include "PrecompiledHeader.h"
+#include "../PrecompiledHeader.h"
#include "RedtapeWindows.h"
#include "x86emitter/tools.h"
#include "Threading.h"
diff --git a/pcsx2/Docs/PCSX2 FAQ 0.9.4.rtf b/pcsx2/Docs/PCSX2 FAQ 0.9.4.rtf
deleted file mode 100644
index 50c55e0d7d..0000000000
--- a/pcsx2/Docs/PCSX2 FAQ 0.9.4.rtf
+++ /dev/null
@@ -1,172 +0,0 @@
-{\rtf1\ansi\ansicpg1253\deff0\deflang1032{\fonttbl{\f0\froman\fprq2\fcharset161{\*\fname Times New Roman;}Times New Roman Greek;}{\f1\froman\fprq2\fcharset2 Symbol;}{\f2\fswiss\fcharset161{\*\fname Arial;}Arial Greek;}}
-{\colortbl ;\red0\green0\blue255;}
-{\*\generator Msftedit 5.41.15.1515;}\viewkind4\uc1\pard\b\f0\fs44 PCSX2 0.9.4 FAQ\par
-\par
-\b0\fs28 In this document we will try to answer the most common questions our end users have. This is mostly a copy/paste from the Emuforums thread created by CKemu with some updates and corrections.\par
-\b\fs44\par
-\par
-\par
-Can I 'Play' Games?\b0\par
-\fs28 \par
-If by 'playing' a game, you mean: at full speed with sound, perfect graphics, etc, then \b NO\b0 . Come back next year.\par
- \par
-Since this release (PCSX2 0.9.4) compatibility has increased greatly. Many games will now go 'in-game' or at least to some form of menu. Whilst games may get 'in-game', they will not run at 'playable' speeds, due to the complex nature of PS2 emulation, and the lack of modern hardware that is powerful enough to emulate such a console.\par
- \par
-Speed has recently increased significantly, for near 'fullspeed' games, we recommend you examine the {\field{\*\fldinst{HYPERLINK "http://forums.ngemu.com/pcsx2-official-forum/95668-post-your-pcsx2-0-9-4-screenshots-here.html"}}{\fldrslt{\cf1\ul screenshots thread}}}\cf0\ulnone\f0\fs28 for speeds.\par
- \par
-\b\fs44 Is game 'X' Working?\b0\fs28\par
- \par
-Before posting this, check the {\field{\*\fldinst{HYPERLINK "http://www.pcsx2.net/compat.php?p=1&c=$&s1=1&s2=1&s3=1&s4=1&s5=1" }}{\fldrslt{\cf1\ul compatibility list}}}\cf0\ulnone\f0\fs28 you will be able to see how far your game goes, if you can't get it as far as we can, check your configuration against the {\field{\*\fldinst{HYPERLINK "http://www.pcsx2.net/guide.php" }}{\fldrslt{\cf1\ul Configuration Guide}}}\cf0\ulnone\f0\fs28 , if you still have no luck, you may post the question. If your game is not in the compatibility list then I\rquote m afraid you are on your own, we cannot guarantee it working either way so it is impossible to tell if we can help you at all.\par
- \par
-\b\fs44 Does PCSX2 play PlayStation 1 (PSOne / PSX / PS1) Games?\b0\fs28\par
- \par
-\b No\b0 , simple as that. PCSX2's primary goal is to emulate the PS2, which would eventually include PlayStation 1 games, however at this time the key focus is to make PlayStation 2 games 'run' with a high degree of compatibility, including support for such features as USB device support (EyeToy, Special Controllers), DEV9 (Network, HDD) etc.\par
- \par
-If you wish to play PlayStation 1 games, there are extremely compatible, fast and stable emulators already in existance, and I recommend:\par
- \par
-{\field{\*\fldinst{HYPERLINK "http://psxemulator.gazaxian.com/" }}{\fldrslt{\cf1\ul pSX}}}\cf0\ulnone\f0\fs28 - New emulator, with a growing level of compatibility and is very simple to use.\par
-{\field{\*\fldinst{HYPERLINK "http://epsxe.com/" }}{\fldrslt{\cf1\ul ePSXe}}}\cf0\ulnone\f0\fs28 - The famous and widely supported PS1 emulator, use this if you love features, and plugins!\par
-{\field{\*\fldinst{HYPERLINK "http://batard.psxfanatics.com/" }}{\fldrslt{\cf1\ul PSXeven}}}\cf0\ulnone\f0\fs28 - Created by Xeven, supports the PSEmu Pro plugin system, and often has increased compatibilty over ePSXe with some specific games.\par
- \par
-\par
-\b\fs44 My game worked in 0.9.2 but not in 0.9.4 why?\b0\fs28\par
- \par
-Due to changes in the emulator some games may not work as well as they did in the previous release, as you will find with most emulation projects, you fix one game, you break another somewhere. So the best solution to this is, play your game on the version it worked best for you.\par
- \par
-\b\fs44 PCSX2 doesn't work on my Athlon XP (or other non SSE2 chips)\b0\fs28\par
- \par
-Due to the nature of the VM (pcsx2.exe), which heavily uses SSE2, this version of the emulator will \b NOT\b0 work for you, however the TLB (pcsx2t.exe) build should work for you. Note when using a \b non\b0 SSE2 cpu to run PCSX2, make sure you select the \b non\b0 SSE2 versions of the plugins.\par
- \par
-\par
-\b\fs44 ZeroGS looks REALLY ugly!! - What gives?\par
-\b0\fs28 \par
-\par
-ZeroGS renders to native PS2 resolution, that\rquote s it's default render target, when you set the window size to say 1024x768, ZeroGS still renders to native PS2 resolution, but stretches that resolution to fit the window size. What you are used to is setting your window size to x*y and the target resolution also changes accordingly.\par
- \par
-The so called 'AA' ZeroGS uses, isn't actually anti aliasing, it simply ups the render target size, so you end up with a higher resolution image, thus increasing it's quality (albeit blocky).\par
- \par
-So you're thinking, well what gives? To be honest, you do, the forum user, so many people whine about speed (oh no my aging rig..or general abuse thrown at the mods / developers), it was decided that in order to maintain speed, the render target and window resolution would remain unlinked, despite the obvious fuglyness of it.\par
- \par
-\b\fs44 Where is the BIOS?\par
-\b0\fs28 \par
-It is Illegal to ask for a BIOS, as the BIOS is copyright of SONY. If you wish to use a REAL BIOS with PCSX2, you can dump it from your own PS2 (there are guides {\field{\*\fldinst{HYPERLINK "http://forums.ngemu.com/pcsx2-official-forum/83608-rfs-guide-dumping-your-ps2-bios-over-lan.html" }}{\fldrslt{\cf1\ul here}}}\cf0\ulnone\f0\fs28 and {\field{\*\fldinst{HYPERLINK "http://forums.ngemu.com/pcsx2-official-forum/84994-guide-dump-bios-through-usb.html" }}{\fldrslt{\cf1\ul here}}}\cf0\ulnone\f0\fs28 . Or find it by yourself.\par
- \par
-\b\fs44 No SCPH10,000 Support?!\par
-\b0\fs28 \par
-The SCPH10,000 BIOS doesn't have all the libraries many games need to load, thus for better results, use a more modern BIOS version.\par
- \par
-\b\fs44 Do I need ROM1, ROM2, EROM?\par
-\b0\fs28 \par
-If the console is warning you about not having these files, do not panic, all you need is the main ROM0 (the 4,096kb main BIOS file). You can dump the ROM1, ROM2, EROM from your own PS2 console, again guides and tools are on the internet, use {\field{\*\fldinst{HYPERLINK "http://www.google.com" }}{\fldrslt{\cf1\ul Google}}}\cf0\ulnone\f0\fs28\par
-\par
-\b\fs44 Is PCSX2 finally using the new .p2b BIOS format?\par
-\par
-\b0\fs28 Unfortunately, florin the team member responsible for this feature got held back and it did not make it in the release. Nevertheless, you can extract the contents of your .p2b BIOS file using 7zip, so you are still able to use your own complete BIOS files\par
-\par
- \par
-\b\fs44 Where can I get games?\b0\fs28\par
- \par
-From your local computer game shop, where else?\par
- \par
-This forum does not support warez or piracy, helping someone get links to such files, asking for such files, or linking to illegal material will be warned then banned if the violation is repeated. There are \b MANY\b0 great games out there, and you owe it to the talented creators to buy their games, and many you can get very cheaply, in platinum editions or second hand.\par
- \par
-\b\fs44 Can I be a betatester?\b0\fs28\par
- \par
-Ask this and the answer will always be \b NO\b0 . Keep asking it and you'll find yourself with a big fat ban.\par
- \par
-\b\fs44 What are the system requirements?\b0\fs28\par
- \par
-We recommend the following:\par
- \par
-\b Minimal Specs:\par
-\b0 AMD XP/64 or Intel Pentium 4 (VM Built will not work with [B]non[/B] SSE2 CPU's)\par
-512MB of RAM\par
-Pixel Shader 1.4 supporting card (GSdx Graphics Plugin Only)\par
- \par
-\b Recommended Specs:\b0 (For reasonable performance in many games, but not all)\par
-AMD64 X2 or Intel Conroe E6600+ (Multi Threading is supported in PCSX2)\par
-512-1024MB of RAM (more RAM allows for VM mode to be stable)\par
-Pixel Shader 2.0 supporting card (recommended GeForce 6600-8800 or equivalent ATi card)\par
- \par
-\b Possible Ideal Specs:\b0\par
-64bit OS such as Vista or winXP64, to allow for future support of 64bit recompilers.\par
-Future AMD or Intel Quad Core maybe needed, but currently the support of 4 threads is not handled by PCSX2, and the effect of threading out EE / VU is not yet known.\par
-We don't forsee you requiring a GPU more powerful than the current generation of cards, up to and including the nVidia GeForce 8800.\par
- \par
-A more in-depth guide to system specifications can be found {\field{\*\fldinst{HYPERLINK "http://forums.ngemu.com/pcsx2-official-forum/84457-will-emulator-run-fast-my-computer.html" }}{\fldrslt{\cf1\ul here}}}\cf0\ulnone\f0\fs28 .\par
- \par
-\b\fs44 How do I compile the SVN source?\par
-\b0\fs28 \par
-We do not support SVN builds on this forum. Only official builds are permitted to be discussed. This is mainly to stop confusion, people 'handing out' betas, n00b questions when dealing with errors, as it's hard to keep track of multiple 0.x.x versions.\par
- \par
-Besides, if you need to ask that question, then trust me, you don't want to be bothered. It's very very hard.\par
- \par
-\b\fs44 What is going on with PCSX2?\par
-\b0\fs28\par
-\i Why aren't we getting lots of info, or is PCSX2 dead?\i0\par
-\pard\fi-360\li720\tx720\lang2057\f1\'b7\tab\lang1032\f0 When something 'special' happens, one of the beta-testers will post shots and information.\par
-\pard\lang2057\f1\'b7\tab\lang1032\f0 When something super-dupa mega super hyper turbo mega mega happens, shots will be posted like \i super mega\i0 lightning fast on the main {\field{\*\fldinst{HYPERLINK "http://www.pcsx2.net/"}}{\fldrslt{\cf1\ul news page}}}\cf0\ulnone\f0\fs28 .\par
-\lang2057\f1\'b7\tab\lang1032\f0 If no shots are being posted, assume that the progress is slow but steady, and whilst stuff is happening, it doesn't result in anything that you'd be able to see (eg techy nerd stuff).\par
-\lang2057\f1\'b7\tab\lang1032\f0 If nothing is being posted whatsoever, assume that \b A:\b0 The developers have lives (yeah I didn't believe that either), \b B:\b0 The developers are taking a rest.\par
-\lang2057\f1\'b7\tab\lang1032\f0 What if \b SHOCK HORROR\b0 no news has been posted for ages???!!!!!! Assume any of the above or most of the team was killed.\par
-\lang2057\f1\'b7\tab\lang1032\f0 What if I have programming knowledge, and could understand the technical changes being made? Well then go browse to the SVN, and aquire the \b changelog.txt\b0 .\par
-\par
-\b\fs44 When will the next version be released?\par
-\b0\fs28 \par
-The authors are writing this in there spare time. If they knew, they would inform you, normally a release is made when significant progress and a big difference in 'output' is shown, eg, when you the end user will be able to see more stuff running.\par
- \par
-\b\fs44 Why bother making releases when it is not finished?\b0\fs28\par
- \par
-In a nutshell, it keeps the "Gimme the next release \b NOW!\b0 " crowd from getting too annoying. More importantly it alls folks to see how things are progressing first hand.\par
- \par
-\b\fs44 How do I make a patch?\par
-\b0\fs28 \par
-Making a patch will \b not\b0 make a game 'playable' but may allow you further into it. Patches can be used to skip videos that don't play, or other simple bugs, they will not make '3D' perfect or make sound super duppa!\par
- \par
-{\field{\*\fldinst{HYPERLINK "http://www.pcsx2.net/nachbrenner/" }}{\fldrslt{\cf1\ul Nachbrenner's Site for making Patches}}}\cf0\ulnone\f0\fs28\par
-{\field{\*\fldinst{HYPERLINK "http://www.ngemu.com/forums/showthread.php?t=62837" }}{\fldrslt{\cf1\ul Simple Guide for Video Skip Patches}}}\cf0\ulnone\f0\fs28\par
- \par
-\b\fs44 My Sprites have black borders!\b0\fs28\par
- \par
-This happens when you have \b Linear Texture Filtering\b0 (LTF) turned on in GSdx, to solve this, turn off LTF. This is most often the cause of black squares or borders around sprites in 2D and 2.5D fighting games.\par
- \par
-\b\fs44 Every Game I run crashes the emulator instantly!\par
-\b0\fs28 \par
-This is often caused by people having the \b NLOOP0\b0 hack enabled in the GS plugin (ZeroGS KOSMOS / GSdx), and using the Run>Execute menu. By using Run>Execute the emulator first boots the BIOS, which will crash when you have NLOOP0 enabled. Simply use File>RunCD menu to avoid crashes, and this is the recommended option for anygame.\par
- \par
-If you wish to run the BIOS, simply \b DISABLE\b0 NLOOP0 in your GS plugin first!\par
- \par
-\b\fs44 Useful Links\par
-\b0\fs28 \par
-BIOS Guides:\par
- \par
-{\field{\*\fldinst{HYPERLINK "http://www.ngemu.com/forums/showthread.php?t=65015" }}{\fldrslt{\cf1\ul CKemu's guide to using the PS2 BIOS}}}\cf0\ulnone\f0\fs28 \par
-{\field{\*\fldinst{HYPERLINK "http://forums.ngemu.com/pcsx2-official-forum/84994-guide-dump-bios-through-usb.html" }}{\fldrslt{\cf1\ul RealOne's Guide to USB BIOS Dumping}}}\cf0\ulnone\f0\fs28\par
-{\field{\*\fldinst{HYPERLINK "http://forums.ngemu.com/pcsx2-official-forum/83608-rfs-guide-dumping-your-ps2-bios-over-lan.html" }}{\fldrslt{\cf1\ul Reichfuher's guide to dumping your Playstation 2 BIOS}}}\cf0\ulnone\f0\fs28\par
-\par
-Error/Problem Guides:\par
- \par
-{\field{\*\fldinst{HYPERLINK "http://forums.ngemu.com/pcsx2-official-forum/67512-common-problems-solutions-guide.html" \\\\l "post912874" }}{\fldrslt{\cf1\ul Refraction's guide to common problems and errors.}}}\cf0\ulnone\f0\fs28\par
-{\field{\*\fldinst{HYPERLINK "http://forums.ngemu.com/pcsx2-official-forum/84457-will-emulator-run-fast-my-computer.html" }}{\fldrslt{\cf1\ul Will the emulator run fast on my computer?}}}\cf0\ulnone\f0\fs28\par
-{\field{\*\fldinst{HYPERLINK "http://forums.ngemu.com/pcsx2-official-forum/70174-why-pcsx2-slow.html" }}{\fldrslt{\cf1\ul Why is PCSX2 Slow?}}}\cf0\ulnone\f0\fs28\par
-\par
-Memory Card Guides:\par
- \par
-{\field{\*\fldinst{HYPERLINK "http://www.ngemu.com/forums/showthread.php?t=64482" }}{\fldrslt{\cf1\ul Convert GameFAQ saves to PCSX2 memorycard}}}\cf0\ulnone\f0\fs28 {\field{\*\fldinst{HYPERLINK "http://forums.ngemu.com/pcsx2-official-forum/69844-load-us-ntsc-final-fantasy-x-gamesaves-any-ffx-version.html" }}{\fldrslt{\cf1\ul Load US memcard saves on any region version of FFX and FFX-2}}}\cf0\ulnone\f0\fs28\par
- \par
-Plugins/Patch Guides:\par
- \par
-{\field{\*\fldinst{HYPERLINK "http://www.ngemu.com/forums/showthread.php?t=62837" }}{\fldrslt{\cf1\ul Guide to making patches for PCSX2}}}\cf0\ulnone\f0\fs28\par
-{\field{\*\fldinst{HYPERLINK "http://forums.ngemu.com/1065199-post74.html" }}{\fldrslt{\cf1\ul TwinPad Keyboard Plugin Latest Version}}}\cf0\ulnone\f0\fs28\par
-{\field{\*\fldinst{HYPERLINK "http://forums.ngemu.com/ps2-plugin-questions-troubleshooting/87274-lilypad-new-pad-plugin-lame-name.html" }}{\fldrslt{\cf1\ul Lilypad plugin}}}\cf0\ulnone\f0\fs28\par
-{\field{\*\fldinst{HYPERLINK "http://forums.ngemu.com/ps2-plugin-questions-troubleshooting/94273-megapad-plugin.html" }}{\fldrslt{\cf1\ul MegaPad plugin}}}\cf0\ulnone\f0\fs28\par
- \par
-Reviews:\par
- \par
-{\field{\*\fldinst{HYPERLINK "http://forums.ngemu.com/pcsx2-official-forum/76251-pcsx2-review-cpu-power-does-matter.html" }}{\fldrslt{\cf1\ul PCSX2 Review Part 1: CPU Power Matters}}}\cf0\ulnone\f0\fs28\par
-{\field{\*\fldinst{HYPERLINK "http://forums.ngemu.com/pcsx2-official-forum/80417-pcsx2-review-part2-gpu-power-also-matter.html" }}{\fldrslt{\cf1\ul PCSX2 Review Part 2: GPU Power Also Matters}}}\cf0\ulnone\f0\fs28\par
-\par
-\par
-\f2\fs20\par
-}
-
\ No newline at end of file
diff --git a/pcsx2/Docs/PCSX2 FAQ 0.9.6.rtf b/pcsx2/Docs/PCSX2 FAQ 0.9.6.rtf
new file mode 100644
index 0000000000..5fa4ce054a
--- /dev/null
+++ b/pcsx2/Docs/PCSX2 FAQ 0.9.6.rtf
@@ -0,0 +1,468 @@
+{\rtf1\adeflang1025\ansi\ansicpg1253\uc1\adeff0\deff0\stshfdbch37\stshfloch37\stshfhich37\stshfbi0\deflang1032\deflangfe1032\themelang1032\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset161\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fbidi \fswiss\fcharset161\fprq2{\*\panose 020b0604020202020204}Arial;}
+{\f34\fbidi \froman\fcharset161\fprq2{\*\panose 02040503050406030204}Cambria Math;}{\f37\fbidi \fswiss\fcharset161\fprq2{\*\panose 020f0502020204030204}Calibri;}
+{\flomajor\f31500\fbidi \froman\fcharset161\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbmajor\f31501\fbidi \froman\fcharset161\fprq2{\*\panose 02020603050405020304}Times New Roman;}
+{\fhimajor\f31502\fbidi \froman\fcharset161\fprq2{\*\panose 02040503050406030204}Cambria;}{\fbimajor\f31503\fbidi \froman\fcharset161\fprq2{\*\panose 02020603050405020304}Times New Roman;}
+{\flominor\f31504\fbidi \froman\fcharset161\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbminor\f31505\fbidi \froman\fcharset161\fprq2{\*\panose 02020603050405020304}Times New Roman;}
+{\fhiminor\f31506\fbidi \fswiss\fcharset161\fprq2{\*\panose 020f0502020204030204}Calibri;}{\fbiminor\f31507\fbidi \froman\fcharset161\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f41\fbidi \froman\fcharset0\fprq2 Times New Roman;}
+{\f39\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f40\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f43\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f44\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
+{\f45\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f46\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f47\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f51\fbidi \fswiss\fcharset0\fprq2 Arial;}
+{\f49\fbidi \fswiss\fcharset238\fprq2 Arial CE;}{\f50\fbidi \fswiss\fcharset204\fprq2 Arial Cyr;}{\f53\fbidi \fswiss\fcharset162\fprq2 Arial Tur;}{\f54\fbidi \fswiss\fcharset177\fprq2 Arial (Hebrew);}{\f55\fbidi \fswiss\fcharset178\fprq2 Arial (Arabic);}
+{\f56\fbidi \fswiss\fcharset186\fprq2 Arial Baltic;}{\f57\fbidi \fswiss\fcharset163\fprq2 Arial (Vietnamese);}{\f381\fbidi \froman\fcharset0\fprq2 Cambria Math;}{\f379\fbidi \froman\fcharset238\fprq2 Cambria Math CE;}
+{\f380\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}{\f383\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f386\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;}{\f411\fbidi \fswiss\fcharset0\fprq2 Calibri;}
+{\f409\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\f410\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\f413\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\f416\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}
+{\flomajor\f31510\fbidi \froman\fcharset0\fprq2 Times New Roman;}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
+{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
+{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31520\fbidi \froman\fcharset0\fprq2 Times New Roman;}
+{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
+{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
+{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhimajor\f31530\fbidi \froman\fcharset0\fprq2 Cambria;}{\fhimajor\f31528\fbidi \froman\fcharset238\fprq2 Cambria CE;}
+{\fhimajor\f31529\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}{\fhimajor\f31532\fbidi \froman\fcharset162\fprq2 Cambria Tur;}{\fhimajor\f31535\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}
+{\fbimajor\f31540\fbidi \froman\fcharset0\fprq2 Times New Roman;}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
+{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
+{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\flominor\f31550\fbidi \froman\fcharset0\fprq2 Times New Roman;}
+{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
+{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
+{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbminor\f31560\fbidi \froman\fcharset0\fprq2 Times New Roman;}{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
+{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
+{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
+{\fhiminor\f31570\fbidi \fswiss\fcharset0\fprq2 Calibri;}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}
+{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\fbiminor\f31580\fbidi \froman\fcharset0\fprq2 Times New Roman;}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
+{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
+{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}
+{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;
+\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\red84\green141\blue212;}{\*\defchp \loch\af37\hich\af37\dbch\af37 }{\*\defpap
+\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025
+\ltrch\fcs0 \fs22\lang1032\langfe1033\loch\f37\hich\af37\dbch\af37\cgrid\langnp1032\langfenp1033 \snext0 \sqformat \spriority0 \styrsid10827347 Normal;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\*
+\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv
+\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1032\langfe1032\loch\f37\hich\af37\dbch\af37\cgrid\langnp1032\langfenp1032
+\snext11 \ssemihidden \sunhideused \sqformat Normal Table;}{\*\cs15 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \ul\cf2 \sbasedon10 \sunhideused \styrsid8465558 Hyperlink;}{\*\cs16 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \ul\cf12
+\sbasedon10 \ssemihidden \sunhideused \styrsid8929062 FollowedHyperlink;}{\s17\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\tqc\tx4153\tqr\tx8306\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0
+\fs22\lang1032\langfe1033\loch\f37\hich\af37\dbch\af37\cgrid\langnp1032\langfenp1033 \sbasedon0 \snext17 \slink18 \ssemihidden \sunhideused \styrsid11618959 header;}{\*\cs18 \additive \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \fs22\lang0\langfe1033\langfenp1033
+\sbasedon10 \slink17 \slocked \ssemihidden \styrsid11618959 Header Char;}{\s19\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\tqc\tx4153\tqr\tx8306\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0
+\fs22\lang1032\langfe1033\loch\f37\hich\af37\dbch\af37\cgrid\langnp1032\langfenp1033 \sbasedon0 \snext19 \slink20 \sunhideused \styrsid11618959 footer;}{\*\cs20 \additive \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \fs22\lang0\langfe1033\langfenp1033
+\sbasedon10 \slink19 \slocked \styrsid11618959 Footer Char;}}{\*\rsidtbl \rsid276287\rsid1463223\rsid3022359\rsid4022471\rsid5513725\rsid6170542\rsid8465558\rsid8848631\rsid8929062\rsid10827347\rsid11618959\rsid13963138\rsid14898486}{\mmathPr\mmathFont34
+\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\title PCSX2 0.9.6 FAQ}{\author bositman}{\operator bositman}{\creatim\yr2009\mo7\dy2\hr2\min59}{\revtim\yr2009\mo7\dy2\hr2\min59}
+{\printim\yr2009\mo2\dy27\hr13\min27}{\version2}{\edmins1}{\nofpages10}{\nofwords1153}{\nofchars6232}{\nofcharsws7371}{\vern32771}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}
+\paperw11906\paperh16838\margl1800\margr1800\margt1440\margb1440\gutter0\ltrsect
+\widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont1\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\noxlattoyen
+\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1800\dgvorigin1440\dghshow1\dgvshow1
+\jexpand\viewkind1\viewscale90\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct
+\asianbrkrule\rsidroot6170542\newtblstyruls\nogrowautofit\utinl \fet0{\*\wgrffmtfilter 2450}\ilfomacatclnup0{\*\ftnsep \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid11618959
+\rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang1032\langfe1033\loch\af37\hich\af37\dbch\af37\cgrid\langnp1032\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5513725 \chftnsep
+\par }}{\*\ftnsepc \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid11618959 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0
+\fs22\lang1032\langfe1033\loch\af37\hich\af37\dbch\af37\cgrid\langnp1032\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5513725 \chftnsepc
+\par }}{\*\aftnsep \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid11618959 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0
+\fs22\lang1032\langfe1033\loch\af37\hich\af37\dbch\af37\cgrid\langnp1032\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5513725 \chftnsep
+\par }}{\*\aftnsepc \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid11618959 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0
+\fs22\lang1032\langfe1033\loch\af37\hich\af37\dbch\af37\cgrid\langnp1032\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5513725 \chftnsepc
+\par }}\ltrpar \sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sectrsid10827347\sftnbj {\footerr \ltrpar \pard\plain \ltrpar\s19\qc \li0\ri0\sa200\sl276\slmult1\widctlpar
+\tqc\tx4153\tqr\tx8306\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang1032\langfe1033\loch\af37\hich\af37\dbch\af37\cgrid\langnp1032\langfenp1033 {\field{\*\fldinst {\rtlch\fcs1 \af0
+\ltrch\fcs0 \insrsid11618959 \hich\af37\dbch\af37\loch\f37 PAGE \\* MERGEFORMAT }}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid13963138 \hich\af37\dbch\af37\loch\f37 10}}}\sectd \ltrsect
+\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11618959
+\par }\pard \ltrpar\s19\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\tqc\tx4153\tqr\tx8306\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11618959
+\par }}{\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}
+{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8
+\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\qc \li0\ri0\sa200\sl276\slmult1
+\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8929062 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang1032\langfe1033\loch\af37\hich\af37\dbch\af37\cgrid\langnp1032\langfenp1033 {\rtlch\fcs1 \af1\afs36
+\ltrch\fcs0 \b\f1\fs36\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid8929062 \hich\af1\dbch\af37\loch\f1 PCSX2 0.9.6 FAQ
+\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid6170542 {\rtlch\fcs1 \af1\afs30 \ltrch\fcs0 \f1\fs30\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par
+\par }{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \b\i\f1\fs36\cf17\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid8929062 \hich\af1\dbch\af37\loch\f1 Section I: General questions about the project
+\par }{\rtlch\fcs1 \af1\afs30 \ltrch\fcs0 \f1\fs30\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542 \hich\af1\dbch\af37\loch\f1 What is the aim of this project?
+\par }{\rtlch\fcs1 \af1\afs30 \ltrch\fcs0 \f1\fs30\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542 \hich\af1\dbch\af37\loch\f1
+The aim of this project is to emulate the Playstation 2, allowing people to play their Ps2 games on their pc. This requires having an original Playstation \hich\af1\dbch\af37\loch\f1
+2 console (for the BIOS) and of course having the original games as well.
+\par }{\rtlch\fcs1 \af1\afs30 \ltrch\fcs0 \f1\fs30\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542 \hich\af1\dbch\af37\loch\f1 Is the project open source?}{\rtlch\fcs1 \af1\afs30 \ltrch\fcs0
+\f1\fs30\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par
+\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542 \hich\af1\dbch\af37\loch\f1 Yes, the project is open source, and it is licensed under the GNU General Public License v2.
+\par }{\rtlch\fcs1 \af1\afs30 \ltrch\fcs0 \f1\fs30\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542 \hich\af1\dbch\af37\loch\f1 Can I help the project?
+\par }{\rtlch\fcs1 \af1\afs30 \ltrch\fcs0 \f1\fs30\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par \hich\af1\dbch\af37\loch\f1 Sure you can, refer to this threa\hich\af1\dbch\af37\loch\f1 d }{\field{\*\fldinst {\rtlch\fcs1 \af1\afs30 \ltrch\fcs0 \f1\fs30\lang1033\langfe1033\langnp1033\insrsid8465558 \hich\af1\dbch\af37\loch\f1
+ HYPERLINK "http://forums.pcsx2.net/thread-2319.html" }{\rtlch\fcs1 \af1\afs30 \ltrch\fcs0 \f1\fs30\lang1033\langfe1033\langnp1033\insrsid8465558 {\*\datafield
+00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b6a00000068007400740070003a002f002f0066006f00720075006d0073002e00700063007300780032002e006e00650074002f007400680072006500610064002d0032003300310039002e00680074006d006c000000
+795881f43b1d7f48af2c825dc485276300000000a5ab0000}}}{\fldrslt {\rtlch\fcs1 \af1\afs30 \ltrch\fcs0 \cs15\f1\fs30\ul\cf2\lang1033\langfe1033\langnp1033\insrsid8465558\charrsid8465558 \hich\af1\dbch\af37\loch\f1 HERE}}}\sectd \ltrsect
+\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sectrsid10827347\sftnbj {\rtlch\fcs1 \af1\afs30 \ltrch\fcs0 \f1\fs30\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid8929062
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542 \hich\af1\dbch\af37\loch\f1 Is the release package complete? Can I play out of the box?
+\par }{\rtlch\fcs1 \af1\afs30 \ltrch\fcs0 \f1\fs30\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542 \hich\af1\dbch\af37\loch\f1 No, the release package is not complete. You need to do at least 3 things before you can play.
+\par \hich\af1\dbch\af37\loch\f1 First, you need to put in your o\hich\af1\dbch\af37\loch\f1 wn BIOS. Dump your Playstation 2 BIOS from your own console. You can find the BIOS dumper }{\field{\*\fldinst {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0
+\f1\fs28\lang1033\langfe1033\langnp1033\insrsid8465558 \hich\af1\dbch\af37\loch\f1 HYPERLINK "http://www.pcsx2.net/downloads.php?p=tool" }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid8465558 {\*\datafield
+00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b6c00000068007400740070003a002f002f007700770077002e00700063007300780032002e006e00650074002f0064006f0077006e006c006f006100640073002e007000680070003f0070003d0074006f006f006c00
+0000795881f43b1d7f48af2c825dc485276300000000a5ab0000}}}{\fldrslt {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \cs15\f1\fs28\ul\cf2\lang1033\langfe1033\langnp1033\insrsid8465558\charrsid8465558 \hich\af1\dbch\af37\loch\f1 HERE}}}\sectd \ltrsect
+\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sectrsid10827347\sftnbj {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par \hich\af1\dbch\af37\loch\f1 Second, you need to configure the plugins in the emulator. You can use the official guide found }{\field{\*\fldinst {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid8465558
+\hich\af1\dbch\af37\loch\f1 HYPE\hich\af1\dbch\af37\loch\f1 RLINK "http://forums.pcsx2.net/forum-23.html" }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid8465558 {\*\datafield
+00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b6400000068007400740070003a002f002f0066006f00720075006d0073002e00700063007300780032002e006e00650074002f0066006f00720075006d002d00320033002e00680074006d006c000000795881f43b1d
+7f48af2c825dc485276300000000a5ab0000}}}{\fldrslt {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \cs15\f1\fs28\ul\cf2\lang1033\langfe1033\langnp1033\insrsid8465558\charrsid8465558 \hich\af1\dbch\af37\loch\f1 HERE}}}\sectd \ltrsect
+\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sectrsid10827347\sftnbj {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par \hich\af1\dbch\af37\loch\f1 And third, you need to update your directx in order for gsdx to work (important!) . Gsdx is our suggested graphics plugin. Update directx with the web installer }{\field{\*\fldinst {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0
+\f1\fs28\lang1033\langfe1033\langnp1033\insrsid8465558 \hich\af1\dbch\af37\loch\f1 HYPERLINK "http://www.microsoft.com/dow\hich\af1\dbch\af37\loch\f1 nloads/details.aspx?FamilyId=2DA43D38-DB71-4C1B-BC6A-9B6652CD92A3&displaylang=en" }{\rtlch\fcs1
+\af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid8465558 {\*\datafield
+00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90bf200000068007400740070003a002f002f007700770077002e006d006900630072006f0073006f00660074002e0063006f006d002f0064006f0077006e006c006f006100640073002f00640065007400610069006c00
+73002e0061007300700078003f00460061006d0069006c007900490064003d00320044004100340033004400330038002d0044004200370031002d0034004300310042002d0042004300360041002d00390042003600360035003200430044003900320041003300260064006900730070006c00610079006c0061006e0067
+003d0065006e000000795881f43b1d7f48af2c825dc485276300000000a5ab0000}}}{\fldrslt {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \cs15\f1\fs28\ul\cf2\lang1033\langfe1033\langnp1033\insrsid8465558\charrsid8465558 \hich\af1\dbch\af37\loch\f1 HERE}}}\sectd \ltrsect
+\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sectrsid10827347\sftnbj {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par
+\par
+\par }{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \b\i\f1\fs36\cf17\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid8929062 \hich\af1\dbch\af37\loch\f1 Section 2: General questions about the emulator
+\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223 \hich\af1\dbch\af37\loch\f1 What are the require}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0
+\b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid1463223\charrsid1463223 \hich\af1\dbch\af37\loch\f1 ments for using this emulator?}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223
+\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par \hich\af1\dbch\af37\loch\f1 Minimum
+\par \hich\af1\dbch\af37\loch\f1 * Windows/Linux OS
+\par \hich\af1\dbch\af37\loch\f1 * CPU that supports SSE2 (P\hich\af1\dbch\af37\loch\f1 entium 4 and up, Athlon64 and up)
+\par \hich\af1\dbch\af37\loch\f1 * GPU that supports Pixel Shaders 2.0
+\par \hich\af1\dbch\af37\loch\f1 * 512mb RAM
+\par
+\par \hich\af1\dbch\af37\loch\f1 Recommended
+\par \hich\af1\dbch\af37\loch\f1 * Windows Vista 32bit/64bit
+\par \hich\af1\dbch\af37\loch\f1 * CPU: Intel Core 2 Duo @ 3.2ghz or better
+\par \hich\af1\dbch\af37\loch\f1 * GPU: 8600gt or better
+\par \hich\af1\dbch\af37\loch\f1 * 1gb RAM (2gb if on Vista)
+\par
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223 \hich\af1\dbch\af37\loch\f1 Does the \hich\af1\dbch\af37\loch\f1 emulator support 4 }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0
+\b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid1463223\charrsid1463223 \hich\af1\dbch\af37\loch\f1 cores?}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223
+\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par \hich\af1\dbch\af37\loch\f1
+No, currently only 2 cores are supported. To make Pcsx2 efficiently use 3 or more cores will require major code changes. So don't ask when quad-core support will be available, since it won't be anytime soon! However, pcsx2 will r
+\hich\af1\dbch\af37\loch\f1 un fine on your quadcore cpu. It just won't benefit from the extra 2 cores
+\par
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223 \hich\af1\dbch\af37\loch\f1 Why }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid1463223\charrsid1463223
+\hich\af1\dbch\af37\loch\f1 is my CPU load less than 100%?}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223
+\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par \hich\af1\dbch\af37\loch\f1 As said above,}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid8465558 \hich\af1\dbch\af37\loch\f1 }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0
+\f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542 \hich\af1\dbch\af37\loch\f1 PCSX2 only uses 2 cores,}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid8465558 \hich\af1\dbch\af37\loch\f1 }{
+\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542 \hich\af1\dbch\af37\loch\f1 so if you have more the CPU usage will be way less 100%. Even if you have exactly 2 cores,}{\rtlch\fcs1 \af1\afs28
+\ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid8465558 \hich\af1\dbch\af37\loch\f1 }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542 \hich\af1\dbch\af37\loch\f1 the emulator
+\hich\af1\dbch\af37\loch\f1 will not cause 100% CPU usage because of the way threading works. This does NOT mean PCSX2 isn't using the full power of your CPU,}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid8465558
+\hich\af1\dbch\af37\loch\f1 }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542 \hich\af1\dbch\af37\loch\f1 it is normal.
+\par
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid1463223\charrsid1463223 \hich\af1\dbch\af37\loch\f1 Is SLI/Crossfire useful?}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0
+\b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223
+\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par \hich\af1\dbch\af37\loch\f1 By itself, no. Pcsx2 is not programmed to use more than one GPU.
+\par
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid8929062
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223 \hich\af1\dbch\af37\loch\f1 Why not u}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0
+\b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid1463223\charrsid1463223 \hich\af1\dbch\af37\loch\f1 se CUDA \hich\af1\dbch\af37\loch\f1 to make things faster?}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0
+\b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223
+\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par \hich\af1\dbch\af37\loch\f1 CUDA works best with many parallel threads, something pcsx2 does not use.
+\par \hich\af1\dbch\af37\loch\f1 So even if we got CUDA support, it would probably run very slow.
+\par
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid1463223\charrsid1463223 \hich\af1\dbch\af37\loch\f1 Is game X playable?}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0
+\b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223
+\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par \hich\af1\dbch\af37\loch\f1 There is a compatibility list on the site, }{\field{\*\fldinst {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid8465558 \hich\af1\dbch\af37\loch\f1 HYPERLINK "http://www.pcs
+\hich\af1\dbch\af37\loch\f1 x2.net/compat.php?c=key" }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid8465558 {\*\datafield
+00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b6400000068007400740070003a002f002f007700770077002e00700063007300780032002e006e00650074002f0063006f006d007000610074002e007000680070003f0063003d006b00650079000000795881f43b1d
+7f48af2c825dc485276300000000a5ab0000}}}{\fldrslt {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \cs15\f1\fs28\ul\cf2\lang1033\langfe1033\langnp1033\insrsid8465558\charrsid8465558 \hich\af1\dbch\af37\loch\f1 HERE}}}\sectd \ltrsect
+\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sectrsid10827347\sftnbj {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par \hich\af1\dbch\af37\loch\f1 For now it is outdated, so you are better off just trying the game
+\par
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223 \hich\af1\dbch\af37\loch\f1 Do ps1 games work with this e}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0
+\b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid1463223\charrsid1463223 \hich\af1\dbch\af37\loch\f1 mulator?}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223
+\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par \hich\af1\dbch\af37\loch\f1 No, this emulator only works with playstation 2 games. In order to play Ps1 games, you will need a ps1 emulator
+\par
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223 \hich\af1\dbch\af37\loch\f1 My \hich\af1\dbch\af37\loch\f1 game worked in an earlier vers}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0
+\b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid1463223\charrsid1463223 \hich\af1\dbch\af37\loch\f1 ion, and now it does not, why?}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223
+\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par \hich\af1\dbch\af37\loch\f1 Due to changes in the emulator some games may not work as well as they did in the previous release, as you will find with most emulation projects, you fix one game, you break another somewhere.
+\par
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid8929062
+\par
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid1463223\charrsid1463223 \hich\af1\dbch\af37\loch\f1 Why is the emulator so slow?}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0
+\b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223
+\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par \hich\af1\dbch\af37\loch\f1 Because the Playstation 2 is a complex console, with a lot of parts which must be emulated at the same time. For a better explanation,}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid8929062
+\hich\af1\dbch\af37\loch\f1 }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542 \hich\af1\dbch\af37\loch\f1 refer }{\field{\*\fldinst {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0
+\f1\fs28\lang1033\langfe1033\langnp1033\insrsid8465558 \hich\af1\dbch\af37\loch\f1 HYPERLINK "http://forums.pcsx2.net/thread-2330.html" }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid8465558 {\*\datafield
+00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b6a00000068007400740070003a002f002f0066006f00720075006d0073002e00700063007300780032002e006e00650074002f007400680072006500610064002d0032003300330030002e00680074006d006c000000
+795881f43b1d7f48af2c825dc485276300000000a5ab0000}}}{\fldrslt {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \cs15\f1\fs28\ul\cf2\lang1033\langfe1033\langnp1033\insrsid8465558\charrsid8465558 \hich\af1\dbch\af37\loch\f1 to this thread}}}\sectd \ltrsect
+\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sectrsid10827347\sftnbj {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par
+\par
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223 \hich\af1\dbch\af37\loch\f1 W}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid1463223\charrsid1463223
+\hich\af1\dbch\af37\loch\f1 here c\hich\af1\dbch\af37\loch\f1 an I get BIOS and Games?}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223
+\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par \hich\af1\dbch\af37\loch\f1 You can get your own BIOS from your own ps2.
+\par \hich\af1\dbch\af37\loch\f1 You can use games from your own collection, or acquire them from a game store. Any other way is illegal and we have a strict policy about warez.
+\par \hich\af1\dbch\af37\loch\f1 Case closed.
+\par
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid8929062
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223 \hich\af1\dbch\af37\loch\f1 Where did the old VM and \hich\af1\dbch\af37\loch\f1 TLB versions go?
+\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par \hich\af1\dbch\af37\loch\f1 They were replaced by a different system which allows us to code better. It is still under development, but it will allow us to develop a better emulator.
+\par
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid8929062
+\par
+\par
+\par
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid1463223\charrsid1463223 \hich\af1\dbch\af37\loch\f1 How do I play a game?}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0
+\b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223
+\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par \hich\af1\dbch\af37\loch\f1 1) Dump your own BIOS and put it into the BIOS folder
+\par \hich\af1\dbch\af37\loch\f1 2\hich\af1\dbch\af37\loch\f1 ) Configure the emulator (read section 3 below)
+\par \hich\af1\dbch\af37\loch\f1 3) Get your Ps2 game discs ready, or make an ISO of them for faster access
+\par \hich\af1\dbch\af37\loch\f1 4) Configure the cdvdrom plugin to point to those ISO/discs
+\par \hich\af1\dbch\af37\loch\f1 5) File->Run CD/DVD
+\par
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223 \hich\af1\dbch\af37\loch\f1 H}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid1463223\charrsid1463223
+\hich\af1\dbch\af37\loch\f1 ow do I compile the SVN source?}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223
+\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par \hich\af1\dbch\af37\loch\f1 Read the compile g\hich\af1\dbch\af37\loch\f1 uide }{\field{\*\fldinst {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid8465558 \hich\af1\dbch\af37\loch\f1
+ HYPERLINK "http://forums.pcsx2.net/thread-2373.html" }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid8465558 {\*\datafield
+00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b6a00000068007400740070003a002f002f0066006f00720075006d0073002e00700063007300780032002e006e00650074002f007400680072006500610064002d0032003300370033002e00680074006d006c000000
+795881f43b1d7f48af2c825dc485276300000000a5ab0000}}}{\fldrslt {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \cs15\f1\fs28\ul\cf2\lang1033\langfe1033\langnp1033\insrsid8465558\charrsid8465558 \hich\af1\dbch\af37\loch\f1 HERE}}}\sectd \ltrsect
+\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sectrsid10827347\sftnbj {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par \hich\af1\dbch\af37\loch\f1 Keep in mind that while you can post bugs about your own compiled svn revisions, we do not offer support for them.
+\par
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223 \hich\af1\dbch\af37\loch\f1 When will the next version be rel}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0
+\b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid1463223\charrsid1463223 \hich\af1\dbch\af37\loch\f1 eased?}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223
+\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par \hich\af1\dbch\af37\loch\f1 It will be released when it is \hich\af1\dbch\af37\loch\f1 ready.}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid1463223 \hich\af1\dbch\af37\loch\f1 Don\hich\f1 \rquote \loch\f1
+t waste your time and ours asking about that.}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par
+\par
+\par }{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \i\f1\fs36\cf17\lang1033\langfe1033\langnp1033\insrsid8929062
+\par
+\par
+\par }{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \b\i\f1\fs36\cf17\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid8929062 \hich\af1\dbch\af37\loch\f1 Section 3: Configuration questions
+\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223 \hich\af1\dbch\af37\loch\f1 How}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid1463223\charrsid1463223
+\hich\af1\dbch\af37\loch\f1 can I configure the emulator?}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223
+\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par \hich\af1\dbch\af37\loch\f1 Please refer to the official PCSX2 guide }{\field{\*\fldinst {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid8465558 \hich\af1\dbch\af37\loch\f1
+ HYPERLINK "http://forums.pcsx2.net/forum-23.html" }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid8465558 {\*\datafield
+00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b6400000068007400740070003a002f002f0066006f00720075006d0073002e00700063007300780032002e006e00650074002f0066006f00720075006d002d00320033002e00680074006d006c000000795881f43b1d
+7f48af2c825dc485276300000000a5ab0000}}}{\fldrslt {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \cs15\f1\fs28\ul\cf2\lang1033\langfe1033\langnp1033\insrsid8465558\charrsid8465558 \hich\af1\dbch\af37\loch\f1 HERE}}}\sectd \ltrsect
+\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sectrsid10827347\sftnbj {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid1463223\charrsid1463223 \hich\af1\dbch\af37\loch\f1 Where did the DC opt\hich\af1\dbch\af37\loch\f1 ion go?}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0
+\b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223
+\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par \hich\af1\dbch\af37\loch\f1 That option is no longer necessary, so it has been removed.
+\par
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223 \hich\af1\dbch\af37\loch\f1 What abo}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0
+\b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid1463223\charrsid1463223 \hich\af1\dbch\af37\loch\f1 ut the frame limiting options?}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223
+\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par \hich\af1\dbch\af37\loch\f1 The frame limiting options are often necessary for an enjoyable experience. Read out the explanation in the configuration dialogue, it's very deta\hich\af1\dbch\af37\loch\f1 iled.
+\par
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223 \hich\af1\dbch\af37\loch\f1 What is the normal }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0
+\b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid1463223\charrsid1463223 \hich\af1\dbch\af37\loch\f1 speed for Playstation 2 games?}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223
+\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par \hich\af1\dbch\af37\loch\f1 NTSC games have a normal speed of 60 frames per second.
+\par \hich\af1\dbch\af37\loch\f1 PAL games have a normal speed of 50 frames per second.
+\par \hich\af1\dbch\af37\loch\f1 Note that these speed}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid8465558 \hich\af1\dbch\af37\loch\f1 s}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0
+\f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542 \hich\af1\dbch\af37\loch\f1 are unlike what happens in normal PC games. Sound, graphic, ever\hich\af1\dbch\af37\loch\f1
+ything is clocked at that speed. A NTSC game running at 30 frames per second is truly going at half the speed it should be.
+\par
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid1463223\charrsid1463223 \hich\af1\dbch\af37\loch\f1 Are patches necessary?}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0
+\b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223
+\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par \hich\af1\dbch\af37\loch\f1 Often they are not. In a few cases, they allow you to go further ingame compared to without, but by default\hich\af1\dbch\af37\loch\f1 you should leave them off. They can also be used for cheats.
+\par
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid1463223
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid1463223\charrsid1463223 \hich\af1\dbch\af37\loch\f1 What about gamefixes?}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0
+\b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223
+\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par \hich\af1\dbch\af37\loch\f1 Gamefixes are, like the name says, special fixes for certain games. Enable them only for those games, they might cause problems in others.
+\par
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid1463223\charrsid1463223 \hich\af1\dbch\af37\loch\f1 Are speedhacks safe?}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0
+\b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223
+\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par \hich\af1\dbch\af37\loch\f1 Speed \hich\af1\dbch\af37\loch\f1 hacks are, like the name says, hacks that make games go faster.
+\par \hich\af1\dbch\af37\loch\f1 Use speedhacks at your own risk, they }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \b\f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid8465558 \hich\af1\dbch\af37\loch\f1 will break}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0
+\f1\fs28\lang1033\langfe1033\langnp1033\insrsid8465558 \hich\af1\dbch\af37\loch\f1 }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542 \hich\af1\dbch\af37\loch\f1 many games.
+\par \hich\af1\dbch\af37\loch\f1 NOTE: Do NOT report bugs unless you also tried the game with "Nothing" selected.
+\par
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223 \hich\af1\dbch\af37\loch\f1 Wh}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid1463223\charrsid1463223
+\hich\af1\dbch\af37\loch\f1 at about the advanced options?}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223
+\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par \hich\af1\dbch\af37\loch\f1 Advanced optio\hich\af1\dbch\af37\loch\f1 ns should be only changed knowing you can break up games spectacularly sometimes. The help included in the configuration dialogue is very detailed, read it.
+\par
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid1463223\charrsid1463223 \hich\af1\dbch\af37\loch\f1 What about the plugins?}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0
+\b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223
+\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par \hich\af1\dbch\af37\loch\f1 We included the latest stable versions of the best plugins out there in t\hich\af1\dbch\af37\loch\f1 he package. You will need to configure them. Refer to the guide
+\par
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid1463223
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid1463223\charrsid1463223 \hich\af1\dbch\af37\loch\f1 Why is the sound bad?}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0
+\b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid1463223
+\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par \hich\af1\dbch\af37\loch\f1 We made SPU2-X the default plugin, as it has become a very nice choice by now.
+\par \hich\af1\dbch\af37\loch\f1 Some games don't work very well with it though (especially squaresoft games). If you hav\hich\af1\dbch\af37\loch\f1 e trouble with the plugin, try Zerospu2 as well (also included).
+\par
+\par
+\par }{\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \b\i\f1\fs36\cf17\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid8929062 \hich\af1\dbch\af37\loch\f1 Section IV: Useful links
+\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid4022471\charrsid6170542
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid8465558\charrsid8465558 \hich\af1\dbch\af37\loch\f1 BIOS Guides:}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0
+\b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid8465558
+\par }{\field{\*\fldinst {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid8465558 \hich\af1\dbch\af37\loch\f1 HYPERLINK "http://forums.pcsx2.net/thread-2329.html" }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0
+\f1\fs28\lang1033\langfe1033\langnp1033\insrsid8465558 {\*\datafield
+00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b6a00000068007400740070003a002f002f0066006f00720075006d0073002e00700063007300780032002e006e00650074002f007400680072006500610064002d0032003300320039002e00680074006d006c000000
+795881f43b1d7f48af2c825dc485276300000000a5ab0000}}}{\fldrslt {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \cs15\f1\fs28\ul\cf2\lang1033\langfe1033\langnp1033\insrsid8465558\charrsid8465558 \hich\af1\dbch\af37\loch\f1
+Reichfuher's guide to dumping your Playstation 2 BIOS}}}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sectrsid10827347\sftnbj {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0
+\f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542
+\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid8465558\charrsid6170542
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid8465558\charrsid8465558 \hich\af1\dbch\af37\loch\f1 Error/Problem Guides:}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0
+\b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid8465558
+\par }{\field{\*\fldinst {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid8465558 \hich\af1\dbch\af37\loch\f1 HYPERLINK "ht\hich\af1\dbch\af37\loch\f1 tp://forums.pcsx2.net/thread-2331.html" }{\rtlch\fcs1 \af1\afs28
+\ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid8465558 {\*\datafield
+00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b6a00000068007400740070003a002f002f0066006f00720075006d0073002e00700063007300780032002e006e00650074002f007400680072006500610064002d0032003300330031002e00680074006d006c000000
+795881f43b1d7f48af2c825dc485276300000000a5ab0000}}}{\fldrslt {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \cs15\f1\fs28\ul\cf2\lang1033\langfe1033\langnp1033\insrsid8465558\charrsid8465558 \hich\af1\dbch\af37\loch\f1 Will PCSX2 run fast on my computer?}}}
+\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sectrsid10827347\sftnbj {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542
+\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid8465558\charrsid6170542
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid8465558\charrsid8465558 \hich\af1\dbch\af37\loch\f1 Memory Card Guides:}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0
+\b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid8465558
+\par }{\field{\*\fldinst {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid8465558 \hich\af1\dbch\af37\loch\f1 HYPERLINK "http://forums.pcsx2.net/thread-2332.html" }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0
+\f1\fs28\lang1033\langfe1033\langnp1033\insrsid8465558 {\*\datafield
+00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b6a00000068007400740070003a002f002f0066006f00720075006d0073002e00700063007300780032002e006e00650074002f007400680072006500610064002d0032003300330032002e00680074006d006c000000
+795881f43b1d7f48af2c825dc485276300000000a5ab0000}}}{\fldrslt {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \cs15\f1\fs28\ul\cf2\lang1033\langfe1033\langnp1033\insrsid8465558\charrsid8465558 \hich\af1\dbch\af37\loch\f1 Convert GameFAQ saves to PCSX2 memorycard}}}
+\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sectrsid10827347\sftnbj {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542
+\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid8465558\charrsid6170542
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid8465558 \hich\af1\dbch\af37\loch\f1 How d}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid8465558\charrsid8465558
+\hich\af1\dbch\af37\loch\f1 o I make a skip video patch?}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid8465558
+\par }{\field{\*\fldinst {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid8848631 \hich\af1\dbch\af37\loch\f1 HYPERLINK "http://f\hich\af1\dbch\af37\loch\f1 orums.pcsx2.net/thread-4067.html" }{\rtlch\fcs1 \af1\afs28
+\ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid8848631 {\*\datafield
+00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b6a00000068007400740070003a002f002f0066006f00720075006d0073002e00700063007300780032002e006e00650074002f007400680072006500610064002d0034003000360037002e00680074006d006c000000
+795881f43b1d7f48af2c825dc485276300000000a5ab0000}}}{\fldrslt {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \cs15\f1\fs28\ul\cf2\lang1033\langfe1033\langnp1033\insrsid8848631\charrsid8848631 \hich\af1\dbch\af37\loch\f1 Patch Making For Dummies}}}\sectd \ltrsect
+\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sectrsid10827347\sftnbj {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid8848631
+\par \hich\af1\dbch\af37\loch\f1 }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par }{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid8465558\charrsid8465558 \hich\af1\dbch\af37\loch\f1 How do I play online?}{\rtlch\fcs1 \af1\afs32 \ltrch\fcs0
+\b\f1\fs32\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid8465558
+\par }{\field{\*\fldinst {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid8929062 \hich\af1\dbch\af37\loch\f1 HYPERLINK "http://forums.pcsx2.net/thread-4066.html" }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0
+\f1\fs28\lang1033\langfe1033\langnp1033\insrsid8929062 {\*\datafield
+00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b6a00000068007400740070003a002f002f0066006f00720075006d0073002e00700063007300780032002e006e00650074002f007400680072006500610064002d0034003000360036002e00680074006d006c000000
+795881f43b1d7f48af2c825dc485276300000000a5ab0000}}}{\fldrslt {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \cs15\f1\fs28\ul\cf2\lang1033\langfe1033\langnp1033\insrsid8929062\charrsid8929062 \hich\af1\dbch\af37\loch\f1 How to play online guide}}}\sectd \ltrsect
+\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sectrsid10827347\sftnbj {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid6170542\charrsid6170542
+\par
+\par }\pard \ltrpar\qr \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8929062 {\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid276287
+\par
+\par
+\par }{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid8929062 \hich\af1\dbch\af37\loch\f1 Crea}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid11618959 \hich\af1\dbch\af37\loch\f1 t}{
+\rtlch\fcs1 \af1\afs28 \ltrch\fcs0 \f1\fs28\lang1033\langfe1033\langnp1033\insrsid8929062 \hich\af1\dbch\af37\loch\f1 ed by Krakatos and bositman for v0.9.6}{\rtlch\fcs1 \af1\afs28 \ltrch\fcs0
+\f1\fs28\lang1033\langfe1033\langnp1033\insrsid10827347\charrsid6170542
+\par }{\*\themedata 504b030414000600080000002100828abc13fa0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb6ac3301045f785fe83d0b6d8
+72ba28a5d8cea249777d2cd20f18e4b12d6a8f843409c9df77ecb850ba082d74231062ce997b55ae8fe3a00e1893f354e9555e6885647de3a8abf4fbee29bbd7
+2a3150038327acf409935ed7d757e5ee14302999a654e99e393c18936c8f23a4dc072479697d1c81e51a3b13c07e4087e6b628ee8cf5c4489cf1c4d075f92a0b
+44d7a07a83c82f308ac7b0a0f0fbf90c2480980b58abc733615aa2d210c2e02cb04430076a7ee833dfb6ce62e3ed7e14693e8317d8cd0433bf5c60f53fea2fe7
+065bd80facb647e9e25c7fc421fd2ddb526b2e9373fed4bb902e182e97b7b461e6bfad3f010000ffff0300504b030414000600080000002100a5d6a7e7c00000
+00360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4fc7060abb08
+84a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b63095120f88d94fbc
+52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462a1a82fe353
+bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f7468656d652f7468
+656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b4b0d592c9c
+070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b4757e8d3f7
+29e245eb2b260a0238fd010000ffff0300504b03041400060008000000210096b5ade296060000501b0000160000007468656d652f7468656d652f7468656d65
+312e786d6cec594f6fdb3614bf0fd87720746f6327761a07758ad8b19b2d4d1bc46e871e698996d850a240d2497d1bdae38001c3ba618715d86d87615b8116d8
+a5fb34d93a6c1dd0afb0475292c5585e9236d88aad3e2412f9e3fbff1e1fa9abd7eec70c1d1221294fda5efd72cd4324f1794093b0eddd1ef62fad79482a9c04
+98f184b4bd2991deb58df7dfbb8ad755446282607d22d771db8b944ad79796a40fc3585ee62949606ecc458c15bc8a702910f808e8c66c69b9565b5d8a314d3c
+94e018c8de1a8fa94fd05093f43672e23d06af89927ac06762a049136785c10607758d9053d965021d62d6f6804fc08f86e4bef210c352c144dbab999fb7b471
+7509af678b985ab0b6b4ae6f7ed9ba6c4170b06c788a705430adf71bad2b5b057d03606a1ed7ebf5babd7a41cf00b0ef83a6569632cd467faddec9699640f671
+9e76b7d6ac355c7c89feca9cccad4ea7d36c65b258a206641f1b73f8b5da6a6373d9c11b90c537e7f08dce66b7bbeae00dc8e257e7f0fd2badd5868b37a088d1
+e4600ead1ddaef67d40bc898b3ed4af81ac0d76a197c86826828a24bb318f3442d8ab518dfe3a20f000d6458d104a9694ac6d88728eee2782428d60cf03ac1a5
+193be4cbb921cd0b495fd054b5bd0f530c1931a3f7eaf9f7af9e3f45c70f9e1d3ff8e9f8e1c3e3073f5a42ceaa6d9c84e5552fbffdeccfc71fa33f9e7ef3f2d1
+17d57859c6fffac327bffcfc793510d26726ce8b2f9ffcf6ecc98baf3efdfdbb4715f04d814765f890c644a29be408edf3181433567125272371be15c308d3f2
+8acd249438c19a4b05fd9e8a1cf4cd296699771c393ac4b5e01d01e5a30a787d72cf1178108989a2159c77a2d801ee72ce3a5c545a6147f32a99793849c26ae6
+6252c6ed637c58c5bb8b13c7bfbd490a75330f4b47f16e441c31f7184e140e494214d273fc80900aedee52ead87597fa824b3e56e82e451d4c2b4d32a423279a
+668bb6690c7e9956e90cfe766cb37b077538abd27a8b1cba48c80acc2a841f12e698f13a9e281c57911ce298950d7e03aba84ac8c154f8655c4f2af074481847
+bd804859b5e696007d4b4edfc150b12addbecba6b18b148a1e54d1bc81392f23b7f84137c2715a851dd0242a633f900710a218ed715505dfe56e86e877f0034e
+16bafb0e258ebb4faf06b769e888340b103d3311da9750aa9d0a1cd3e4efca31a3508f6d0c5c5c398602f8e2ebc71591f5b616e24dd893aa3261fb44f95d843b
+5974bb5c04f4edafb95b7892ec1108f3f98de75dc97d5772bdff7cc95d94cf672db4b3da0a6557f70db629362d72bcb0431e53c6066acac80d699a6409fb44d0
+8741bdce9c0e4971624a2378cceaba830b05366b90e0ea23aaa241845368b0eb9e2612ca8c742851ca251ceccc70256d8d87265dd96361531f186c3d9058edf2
+c00eafe8e1fc5c509031bb4d680e9f39a3154de0accc56ae644441edd76156d7429d995bdd88664a9dc3ad50197c38af1a0c16d684060441db02565e85f3b966
+0d0713cc48a0ed6ef7dedc2dc60b17e92219e180643ed27acffba86e9c94c78ab90980d8a9f0913ee49d62b512b79626fb06dccee2a432bbc60276b9f7dec44b
+7904cfbca4f3f6443ab2a49c9c2c41476dafd55c6e7ac8c769db1bc399161ee314bc2e75cf8759081743be1236ec4f4d6693e5336fb672c5dc24a8c33585b5fb
+9cc24e1d4885545b58463634cc5416022cd19cacfccb4d30eb45296023fd35a458598360f8d7a4003bbaae25e331f155d9d9a5116d3bfb9a95523e51440ca2e0
+088dd844ec6370bf0e55d027a012ae264c45d02f708fa6ad6da6dce29c255df9f6cae0ec38666984b372ab5334cf640b37795cc860de4ae2816e95b21be5ceaf
+8a49f90b52a51cc6ff3355f47e0237052b81f6800fd7b802239daf6d8f0b1571a8426944fdbe80c6c1d40e8816b88b8569082ab84c36ff0539d4ff6dce591a26
+ade1c0a7f669880485fd484582903d284b26fa4e2156cff62e4b9265844c4495c495a9157b440e091bea1ab8aaf7760f4510eaa69a6465c0e04ec69ffb9e65d0
+28d44d4e39df9c1a52ecbd3607fee9cec7263328e5d661d3d0e4f62f44acd855ed7ab33cdf7bcb8ae889599bd5c8b3029895b6825696f6af29c239b75a5bb1e6
+345e6ee6c28117e73586c1a2214ae1be07e93fb0ff51e133fb65426fa843be0fb515c187064d0cc206a2fa926d3c902e907670048d931db4c1a44959d366ad93
+b65abe595f70a75bf03d616c2dd959fc7d4e6317cd99cbcec9c58b34766661c7d6766ca1a9c1b327531486c6f941c638c67cd22a7f75e2a37be0e82db8df9f30
+254d30c1372581a1f51c983c80e4b71ccdd28dbf000000ffff0300504b0304140006000800000021000dd1909fb60000001b010000270000007468656d652f74
+68656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e4350d363f24
+51eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d262452282e3198
+720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe514173d9850528
+a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100828abc13fa0000001c0200001300000000000000000000000000
+000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b000000000000000000000000
+002b0100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c00000000000000000000000000140200007468
+656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d001400060008000000210096b5ade296060000501b000016000000000000000000
+00000000d10200007468656d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b010000270000000000
+00000000000000009b0900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000960a00000000}
+{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d
+617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169
+6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363
+656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e}
+{\*\latentstyles\lsdstimax267\lsdlockeddef0\lsdsemihiddendef1\lsdunhideuseddef1\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;
+\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 1;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 2;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 3;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4;
+\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 9;
+\lsdpriority39 \lsdlocked0 toc 1;\lsdpriority39 \lsdlocked0 toc 2;\lsdpriority39 \lsdlocked0 toc 3;\lsdpriority39 \lsdlocked0 toc 4;\lsdpriority39 \lsdlocked0 toc 5;\lsdpriority39 \lsdlocked0 toc 6;\lsdpriority39 \lsdlocked0 toc 7;
+\lsdpriority39 \lsdlocked0 toc 8;\lsdpriority39 \lsdlocked0 toc 9;\lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdpriority1 \lsdlocked0 Default Paragraph Font;
+\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority59 \lsdlocked0 Table Grid;\lsdunhideused0 \lsdlocked0 Placeholder Text;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 1;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;\lsdunhideused0 \lsdlocked0 Revision;
+\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 1;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 2;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 2;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 2;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 3;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 3;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 4;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 4;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 5;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 5;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 5;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 6;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 6;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;
+\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis;
+\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;
+\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdpriority37 \lsdlocked0 Bibliography;\lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;}}{\*\datastore 010500000200000018000000
+4d73786d6c322e534158584d4c5265616465722e352e3000000000000000000000060000
+d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffffec69d9888b8b3d4c859eaf6cd158be0f000000000000000000000000f044
+37fda7fac901feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000105000000000000}}
\ No newline at end of file
diff --git a/pcsx2/Docs/PCSX2 readme 0.9.6.rtf b/pcsx2/Docs/PCSX2 readme 0.9.6.rtf
new file mode 100644
index 0000000000..7a500622db
--- /dev/null
+++ b/pcsx2/Docs/PCSX2 readme 0.9.6.rtf
@@ -0,0 +1,750 @@
+{\rtf1\adeflang1025\ansi\ansicpg1253\uc1\adeff0\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1032\deflangfe1032\themelang1032\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset161\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fbidi \fswiss\fcharset161\fprq2{\*\panose 020b0604020202020204}Arial;}
+{\f2\fbidi \fmodern\fcharset161\fprq1{\*\panose 02070309020205020404}Courier New;}{\f3\fbidi \froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f10\fbidi \fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}
+{\f34\fbidi \froman\fcharset161\fprq2{\*\panose 02040503050406030204}Cambria Math;}{\f38\fbidi \fswiss\fcharset161\fprq2{\*\panose 020b0604030504040204}Tahoma;}
+{\flomajor\f31500\fbidi \froman\fcharset161\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbmajor\f31501\fbidi \froman\fcharset161\fprq2{\*\panose 02020603050405020304}Times New Roman;}
+{\fhimajor\f31502\fbidi \froman\fcharset161\fprq2{\*\panose 02040503050406030204}Cambria;}{\fbimajor\f31503\fbidi \froman\fcharset161\fprq2{\*\panose 02020603050405020304}Times New Roman;}
+{\flominor\f31504\fbidi \froman\fcharset161\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbminor\f31505\fbidi \froman\fcharset161\fprq2{\*\panose 02020603050405020304}Times New Roman;}
+{\fhiminor\f31506\fbidi \fswiss\fcharset161\fprq2{\*\panose 020f0502020204030204}Calibri;}{\fbiminor\f31507\fbidi \froman\fcharset161\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f41\fbidi \froman\fcharset0\fprq2 Times New Roman;}
+{\f39\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f40\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f43\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f44\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
+{\f45\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f46\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f47\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f51\fbidi \fswiss\fcharset0\fprq2 Arial;}
+{\f49\fbidi \fswiss\fcharset238\fprq2 Arial CE;}{\f50\fbidi \fswiss\fcharset204\fprq2 Arial Cyr;}{\f53\fbidi \fswiss\fcharset162\fprq2 Arial Tur;}{\f54\fbidi \fswiss\fcharset177\fprq2 Arial (Hebrew);}{\f55\fbidi \fswiss\fcharset178\fprq2 Arial (Arabic);}
+{\f56\fbidi \fswiss\fcharset186\fprq2 Arial Baltic;}{\f57\fbidi \fswiss\fcharset163\fprq2 Arial (Vietnamese);}{\f61\fbidi \fmodern\fcharset0\fprq1 Courier New;}{\f59\fbidi \fmodern\fcharset238\fprq1 Courier New CE;}
+{\f60\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr;}{\f63\fbidi \fmodern\fcharset162\fprq1 Courier New Tur;}{\f64\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}{\f65\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}
+{\f66\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic;}{\f67\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f381\fbidi \froman\fcharset0\fprq2 Cambria Math;}{\f379\fbidi \froman\fcharset238\fprq2 Cambria Math CE;}
+{\f380\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}{\f383\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f386\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;}{\f421\fbidi \fswiss\fcharset0\fprq2 Tahoma;}
+{\f419\fbidi \fswiss\fcharset238\fprq2 Tahoma CE;}{\f420\fbidi \fswiss\fcharset204\fprq2 Tahoma Cyr;}{\f423\fbidi \fswiss\fcharset162\fprq2 Tahoma Tur;}{\f424\fbidi \fswiss\fcharset177\fprq2 Tahoma (Hebrew);}
+{\f425\fbidi \fswiss\fcharset178\fprq2 Tahoma (Arabic);}{\f426\fbidi \fswiss\fcharset186\fprq2 Tahoma Baltic;}{\f427\fbidi \fswiss\fcharset163\fprq2 Tahoma (Vietnamese);}{\f428\fbidi \fswiss\fcharset222\fprq2 Tahoma (Thai);}
+{\flomajor\f31510\fbidi \froman\fcharset0\fprq2 Times New Roman;}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
+{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
+{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31520\fbidi \froman\fcharset0\fprq2 Times New Roman;}
+{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
+{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
+{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhimajor\f31530\fbidi \froman\fcharset0\fprq2 Cambria;}{\fhimajor\f31528\fbidi \froman\fcharset238\fprq2 Cambria CE;}
+{\fhimajor\f31529\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}{\fhimajor\f31532\fbidi \froman\fcharset162\fprq2 Cambria Tur;}{\fhimajor\f31535\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}
+{\fbimajor\f31540\fbidi \froman\fcharset0\fprq2 Times New Roman;}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
+{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
+{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\flominor\f31550\fbidi \froman\fcharset0\fprq2 Times New Roman;}
+{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
+{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
+{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbminor\f31560\fbidi \froman\fcharset0\fprq2 Times New Roman;}{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
+{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
+{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
+{\fhiminor\f31570\fbidi \fswiss\fcharset0\fprq2 Calibri;}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}
+{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\fbiminor\f31580\fbidi \froman\fcharset0\fprq2 Times New Roman;}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
+{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
+{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}
+{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;
+\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\*\defchp }{\*\defpap \ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{
+\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1032\langfe1032\cgrid\langnp1032\langfenp1032 \snext0 \sqformat \spriority0 \styrsid12323803 Normal;}{\*\cs10
+\additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\*
+\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv
+\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1032\langfe1032\cgrid\langnp1032\langfenp1032 \snext11 \ssemihidden \sunhideused \sqformat Normal Table;}{\*\cs15
+\additive \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \sbasedon10 \sqformat \spriority22 \styrsid14581459 Strong;}{\*\cs16 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \ul\cf2 \sbasedon10 \styrsid14581459 Hyperlink;}{\*\cs17 \additive \rtlch\fcs1 \af0 \ltrch\fcs0
+\ul\cf12 \sbasedon10 \styrsid222077 FollowedHyperlink;}{\s18\ql \li0\ri0\widctlpar
+\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af2\afs20\alang1025 \ltrch\fcs0
+\f2\fs20\lang1032\langfe1032\cgrid\langnp1032\langfenp1032 \sbasedon0 \snext18 \slink19 \sunhideused \styrsid417554 HTML Preformatted;}{\*\cs19 \additive \rtlch\fcs1 \af2 \ltrch\fcs0 \f2 \sbasedon10 \slink18 \slocked \styrsid417554
+HTML Preformatted Char;}{\s20\ql \li0\ri0\widctlpar\tqc\tx4153\tqr\tx8306\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1032\langfe1032\cgrid\langnp1032\langfenp1032
+\sbasedon0 \snext20 \slink21 \styrsid8610414 header;}{\*\cs21 \additive \rtlch\fcs1 \af0\afs24 \ltrch\fcs0 \fs24 \sbasedon10 \slink20 \slocked \styrsid8610414 Header Char;}{\s22\ql \li0\ri0\widctlpar
+\tqc\tx4153\tqr\tx8306\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1032\langfe1032\cgrid\langnp1032\langfenp1032 \sbasedon0 \snext22 \slink23 \styrsid8610414 footer;}{\*\cs23
+\additive \rtlch\fcs1 \af0\afs24 \ltrch\fcs0 \fs24 \sbasedon10 \slink22 \slocked \styrsid8610414 Footer Char;}{\s24\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af38\afs16\alang1025 \ltrch\fcs0
+\f38\fs16\lang1032\langfe1032\cgrid\langnp1032\langfenp1032 \sbasedon0 \snext24 \slink25 \styrsid11677673 Balloon Text;}{\*\cs25 \additive \rtlch\fcs1 \af38\afs16 \ltrch\fcs0 \f38\fs16 \sbasedon10 \slink24 \slocked \styrsid11677673 Balloon Text Char;}}
+{\*\listtable{\list\listtemplateid1774759798\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67633153\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0
+\fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67633155\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li1440
+\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67633157\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li2160
+\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67633153\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li2880
+\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67633155\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li3600
+\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67633157\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li4320
+\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67633153\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li5040
+\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67633155\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li5760
+\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67633157\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li6480
+\jclisttab\tx6480\lin6480 }{\listname ;}\listid243488514}{\list\listtemplateid2063525058{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}
+\f3\fs20\fbias0\hres0\chhres0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\fs20\fbias0\hres0\chhres0
+\fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0\hres0\chhres0 \fi-360\li2160
+\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0\hres0\chhres0 \fi-360\li2880
+\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0\hres0\chhres0 \fi-360\li3600
+\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0\hres0\chhres0 \fi-360\li4320
+\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0\hres0\chhres0 \fi-360\li5040
+\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0\hres0\chhres0 \fi-360\li5760
+\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0\hres0\chhres0 \fi-360\li6480
+\jclisttab\tx6480\lin6480 }{\listname ;}\listid463814724}{\list\listtemplateid-722973088\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67633153
+\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67633155
+\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67633157
+\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67633153
+\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67633155
+\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67633157
+\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67633153
+\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67633155
+\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67633157
+\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid570427154}{\list\listtemplateid-1895026182\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1
+\levelspace0\levelindent0{\leveltext\leveltemplateid67633153\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative
+\levelspace0\levelindent0{\leveltext\leveltemplateid67633155\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0
+\levelindent0{\leveltext\leveltemplateid67633157\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0
+\levelindent0{\leveltext\leveltemplateid67633153\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0
+\levelindent0{\leveltext\leveltemplateid67633155\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0
+{\leveltext\leveltemplateid67633157\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0
+{\leveltext\leveltemplateid67633153\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0
+{\leveltext\leveltemplateid67633155\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
+\leveltemplateid67633157\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid1573277112}}{\*\listoverridetable{\listoverride\listid243488514\listoverridecount0\ls1}
+{\listoverride\listid1573277112\listoverridecount0\ls2}{\listoverride\listid570427154\listoverridecount0\ls3}{\listoverride\listid463814724\listoverridecount0\ls4}}{\*\pgptbl {\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0
+\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}}{\*\rsidtbl \rsid82861
+\rsid222077\rsid227916\rsid417554\rsid933385\rsid1124666\rsid2581528\rsid3160083\rsid3611072\rsid3804384\rsid3876361\rsid4198422\rsid4271791\rsid5601099\rsid5655082\rsid5852811\rsid5901880\rsid6313325\rsid6448706\rsid6846868\rsid7020513\rsid7162114
+\rsid7739776\rsid7742541\rsid7864568\rsid8610414\rsid9319045\rsid9838469\rsid9909128\rsid10425902\rsid10444408\rsid10813592\rsid10845340\rsid10967750\rsid10977128\rsid11496440\rsid11608519\rsid11677673\rsid12283771\rsid12323803\rsid12588127\rsid13045890
+\rsid14290941\rsid14581459\rsid14693038\rsid14961767\rsid15075321\rsid15157205\rsid15490329\rsid15820360\rsid15927270\rsid16076372\rsid16211124\rsid16330193\rsid16453112}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0
+\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\title PCSX2 0.9.6 readme}{\author bositman}{\operator bositman}{\creatim\yr2009\mo2\dy27\hr14\min21}{\revtim\yr2009\mo2\dy27\hr14\min24}{\version4}{\edmins1}{\nofpages6}{\nofwords1345}{\nofchars7264}
+{\*\company PCSX2 team}{\nofcharsws8592}{\vern32895}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}{\xmlns2 urn:schemas-microsoft-com:office:smarttags}}
+\paperw11906\paperh16838\margl1800\margr1800\margt1440\margb1440\gutter0\ltrsect
+\widowctrl\ftnbj\aenddoc\trackmoves1\trackformatting1\donotembedsysfont1\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\noxlattoyen
+\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1800\dgvorigin1440\dghshow1\dgvshow1
+\jexpand\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct
+\asianbrkrule\rsidroot14581459\newtblstyruls\nogrowautofit\usenormstyforlist\noindnmbrts\felnbrelev\nocxsptable\indrlsweleven\noafcnsttbl\afelev\utinl\hwelev\spltpgpar\notcvasp\notbrkcnstfrctbl\notvatxbx\krnprsnet\cachedcolbal \nouicompat \fet0
+{\*\wgrffmtfilter 013f}\nofeaturethrottle1\ilfomacatclnup0{\*\ftnsep \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8610414 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0
+\fs24\lang1032\langfe1032\cgrid\langnp1032\langfenp1032 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10967750 \chftnsep
+\par }}{\*\ftnsepc \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8610414 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1032\langfe1032\cgrid\langnp1032\langfenp1032 {
+\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10967750 \chftnsepc
+\par }}{\*\aftnsep \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8610414 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1032\langfe1032\cgrid\langnp1032\langfenp1032 {
+\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10967750 \chftnsep
+\par }}{\*\aftnsepc \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8610414 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1032\langfe1032\cgrid\langnp1032\langfenp1032 {
+\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10967750 \chftnsepc
+\par }}\ltrpar \sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sectrsid12323803\sftnbj {\footerr \ltrpar \pard\plain \ltrpar\s22\qc \li0\ri0\widctlpar
+\tqc\tx4153\tqr\tx8306\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1032\langfe1032\cgrid\langnp1032\langfenp1032 {\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid933385
+ PAGE \\* MERGEFORMAT }}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid15927270 1}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8610414
+\par }\pard \ltrpar\s22\ql \li0\ri0\widctlpar\tqc\tx4153\tqr\tx8306\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8610414
+\par }}{\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}
+{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8
+\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar
+\qc \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid15927270 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1032\langfe1032\cgrid\langnp1032\langfenp1032 {\rtlch\fcs1 \af0\afs36 \ltrch\fcs0
+\b\fs36\lang1024\langfe1024\noproof\langnp1033\insrsid15927270 PCSX2 readme}{\rtlch\fcs1 \af0\afs36 \ltrch\fcs0 \b\fs36\lang1024\langfe1024\noproof\langnp1033\insrsid14290941\charrsid15927270
+\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid14290941 {\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1024\langfe1024\noproof\langnp1033\insrsid15927270
+\par }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \cs15\b\lang1033\langfe1032\langnp1033\insrsid15927270\charrsid15927270
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \cs15\b\lang2057\langfe1032\langnp2057\insrsid12588127
+\par }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \cs15\b\lang2057\langfe1032\langnp2057\insrsid14581459\charrsid14581459 PCSX2}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid14581459\charrsid14581459
+ is a PlayStation 2 emulator for Windows and Linux, started by the same team that brought you }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1032\langnp1033\insrsid933385\charrsid5601099 HYPERLINK "http://www.pcsx.net/"}{
+\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1032\langnp1033\insrsid227916\charrsid5601099 {\*\datafield
+00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b4200000068007400740070003a002f002f007700770077002e0070006300730078002e006e00650074002f000000795881f43b1d7f48af2c825dc485276300000000a5ab0000}}}{\fldrslt {\rtlch\fcs1 \af0
+\ltrch\fcs0 \cs16\ul\cf2\lang2057\langfe1032\langnp2057\insrsid14581459\charrsid14581459 PCSX}}}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sectrsid12323803\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid14581459\charrsid14581459 (a Sony PlayStation 1 emulator).\line \line The }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \cs15\b\lang2057\langfe1032\langnp2057\insrsid14581459\charrsid14581459 PCSX2}{\rtlch\fcs1 \af0
+\ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid14581459\charrsid14581459 project attempts to allow PS2 code to be executed on your computer, thus meaning you can put a PS2 DVD or CD into your computers drive, and boot it up!\line }{\rtlch\fcs1 \af0
+\ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid14581459
+\par
+\par }{\rtlch\fcs1 \af0\afs36 \ltrch\fcs0 \b\i\fs36\lang2057\langfe1032\langnp2057\insrsid14581459\charrsid14290941 Overview
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid14581459\charrsid14581459 \line The project has been running for }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid10845340 more than five}{\rtlch\fcs1 \af0
+\ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid14581459\charrsid14581459
+ years now, and since it's initial release has grown in compatibility. From initially just being able to run a few public domain demos, it's current state enables many games to boot and actually go in game, such as the 'famous' }{\rtlch\fcs1 \ab\af0
+\ltrch\fcs0 \cs15\b\lang2057\langfe1032\langnp2057\insrsid14581459\charrsid14581459 Final Fantasy X}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid14581459\charrsid14581459 or }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0
+\cs15\b\lang2057\langfe1032\langnp2057\insrsid14581459\charrsid14581459 Devil May Cry 3}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid14581459\charrsid14581459 .}{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid10845340 You can always visit the }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1032\langnp1033\insrsid933385\charrsid5601099 HYPERLINK "http://www.pcsx2.net/"}{\rtlch\fcs1 \af0
+\ltrch\fcs0 \lang1033\langfe1032\langnp1033\insrsid227916\charrsid5601099 {\*\datafield
+00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b4400000068007400740070003a002f002f007700770077002e00700063007300780032002e006e00650074002f000000795881f43b1d7f48af2c825dc485276300000000a5ab0000}}}{\fldrslt {\rtlch\fcs1
+\af0 \ltrch\fcs0 \cs16\ul\cf2\lang2057\langfe1032\langnp2057\insrsid10845340\charrsid10845340 PCSX2 homepage}}}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sectrsid12323803\sftnbj {\rtlch\fcs1 \af0
+\ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid10845340 to check the latest compatibility s}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid6313325 tatus of games with more than 18}{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid10845340 00 titles tested.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid14581459
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid8610414
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid10813592
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid10813592 {\rtlch\fcs1 \af0\afs36 \ltrch\fcs0 \b\i\fs36\lang2057\langfe1032\langnp2057\insrsid10813592 What\rquote s new in 0.9.6?
+\par
+\par {\*\bkmkstart Added_Features_and_Improvements}{\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \f3\fs20\lang2057\langfe1032\langnp2057\insrsid10813592 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar
+\ql \fi-360\li720\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls4\adjustright\rin0\lin720\itap0\pararsid10813592 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid10813592
+Huge rewrite, mainly from the new members of the Playground branch!}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1032\langnp1033\insrsid10813592\charrsid10813592
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \f3\fs20\lang2057\langfe1032\langnp2057\insrsid10813592 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid10813592
+Dropped VM build replaced by the all new Vtlb, meaning no more \lquote Cannot allocate memory\rquote errors at start}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid10444408 }{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid10813592 up,}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid10444408 more accurate emulation, slightly lower speeds but with many optimizations to come}{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang1033\langfe1032\langnp1033\insrsid10813592\charrsid11677673
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \f3\fs20\lang1033\langfe1032\langnp1033\insrsid11677673 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1032\langnp1033\insrsid11677673
+Full memcard support, working in all games}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1032\langnp1033\insrsid11677673\charrsid10813592
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \f3\fs20\lang1033\langfe1032\langnp1033\insrsid10813592\charrsid10813592 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang1033\langfe1032\langnp1033\insrsid10813592\charrsid10813592 Improved Frameskip/VU-skip
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \f3\fs20\insrsid10813592 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10813592 Special Game Fixes Section
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \f3\fs20\lang1033\langfe1032\langnp1033\insrsid10813592\charrsid10813592 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang1033\langfe1032\langnp1033\insrsid10813592\charrsid10813592 Advanced Options Section for custom tweaking VU/FPU behavior.
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \f3\fs20\lang1033\langfe1032\langnp1033\insrsid10813592\charrsid10813592 \loch\af3\dbch\af0\hich\f3 \'b7\tab}Rewritten Multithreaded GS (MTGS) mode, with a
+s much as 15% speedup for HT machines (only 3-5% for Dual Core), and fixes many instabilities.
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \f3\fs20\lang1033\langfe1032\langnp1033\insrsid10813592\charrsid10813592 \loch\af3\dbch\af0\hich\f3 \'b7\tab}
+Improved VU/FPU Flags and Clamping support (helps fix odd behaviors and SPS in some games)
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \f3\fs20\lang1033\langfe1032\langnp1033\insrsid10813592\charrsid10813592 \loch\af3\dbch\af0\hich\f3 \'b7\tab}Improved EE/IOP synchronization (fixes many freeze-ups and vmhacks).
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \f3\fs20\insrsid10813592 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10813592 Improved CDVD support. {\*\bkmkend Added_Features_and_Improvements}
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid10813592 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid10813592\charrsid10813592
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid10813592
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid14581459
+\par }{\rtlch\fcs1 \af0\afs36 \ltrch\fcs0 \b\i\fs36\lang2057\langfe1032\langnp2057\insrsid12588127
+\par }{\rtlch\fcs1 \af0\afs36 \ltrch\fcs0 \b\i\fs36\lang2057\langfe1032\langnp2057\insrsid14581459\charrsid14290941 Configuration
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid14581459
+\par A very detailed guide is available on the PCSX2 homepage which is already translated in several languages!
+\par You can consult it }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1032\langnp1033\insrsid933385\charrsid5601099 HYPERLINK "http://forums.pcsx2.net/forum-23.html"}{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang1033\langfe1032\langnp1033\insrsid227916\charrsid5601099 {\*\datafield
+00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b6400000068007400740070003a002f002f0066006f00720075006d0073002e00700063007300780032002e006e00650074002f0066006f00720075006d002d00320033002e00680074006d006c000000795881f43b1d
+7f48af2c825dc485276300000000a5ab0000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs16\ul\cf2\lang2057\langfe1032\langnp2057\insrsid14581459\charrsid14581459 here}}}\sectd \ltrsect
+\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sectrsid12323803\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid14581459
+\par
+\par }{\rtlch\fcs1 \af0\afs36 \ltrch\fcs0 \b\i\fs36\lang2057\langfe1032\langnp2057\insrsid12588127
+\par }{\rtlch\fcs1 \af0\afs36 \ltrch\fcs0 \b\i\fs36\lang2057\langfe1032\langnp2057\insrsid14581459\charrsid14290941 Status
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid14581459
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid13045890 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid13045890 PCSX2 has come a long way since its\rquote
+ starting point back at 2002.Current features include:}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid14581459
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid13045890
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \f3\lang2057\langfe1032\langnp2057\insrsid13045890 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
+\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin720\itap0\pararsid13045890 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid13045890
+Separate recompilers for Emotion Engine (EE) , Vector Unit 0 (VU0) and Vector Unit 1 (VU1).
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \f3\lang2057\langfe1032\langnp2057\insrsid13045890 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
+\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid13045890 Dual core support, with the Graphics Synthesizer (GS) running on a second thread.
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \f3\lang2057\langfe1032\langnp2057\insrsid13045890 \loch\af3\dbch\af0\hich\f3 \'b7\tab}Usage of}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid5901880 }{\rtlch\fcs1 \af0
+\ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid16453112 MMX,SSE1,SSE2,}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid13045890 SS}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid8610414 S}{\rtlch\fcs1 \af0
+\ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid13045890 E3}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid16453112 and SSE4}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid13045890 extensions
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \f3\lang2057\langfe1032\langnp2057\insrsid13045890 \loch\af3\dbch\af0\hich\f3 \'b7\tab}Proper SPU2 emulation featuring Auto DMA and Time Scaling
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \f3\lang2057\langfe1032\langnp2057\insrsid13045890 \loch\af3\dbch\af0\hich\f3 \'b7\tab}Full }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid7020513
+gamepad support featuring Dual Shock 2,analog controls and even supporting analog movement over keyboard}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid6313325 (using some external plugins)}{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid13045890
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \f3\lang2057\langfe1032\langnp2057\insrsid7020513 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid7020513
+Patch system for creating cheats and for workarounds on games
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid7020513 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid7020513
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid222077 Sections}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid7020513 that still need work:
+\par
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \f3\lang2057\langfe1032\langnp2057\insrsid7020513 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
+\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls3\adjustright\rin0\lin720\itap0\pararsid7020513 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid7020513 Dev9 functions, such as HDD and Ethernet (partially implemented) support
+
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \f3\lang2057\langfe1032\langnp2057\insrsid7020513 \loch\af3\dbch\af0\hich\f3 \'b7\tab}Firewire emulation}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid9838469
+ (quite low on the list though)}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid7020513
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \f3\lang2057\langfe1032\langnp2057\insrsid7020513 \loch\af3\dbch\af0\hich\f3 \'b7\tab}USB emulation (very partially implemented)
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \f3\lang2057\langfe1032\langnp2057\insrsid222077 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid222077
+Image Processing Unit (IPU) emulation which is responsible for the FMV playback.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid11677673 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid222077
+It has been implemented but it is buggy and slow
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \f3\lang2057\langfe1032\langnp2057\insrsid11608519 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid11608519 MIPS cache needs to be prop
+erly implemented (barely works at this time)
+\par }\pard \ltrpar\ql \li360\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid7020513 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid7020513
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid14581459
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14581459 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid14581459\charrsid14581459
+\par }{\rtlch\fcs1 \af0\afs36 \ltrch\fcs0 \b\i\fs36\lang2057\langfe1032\langnp2057\insrsid12588127
+\par }{\rtlch\fcs1 \af0\afs36 \ltrch\fcs0 \b\i\fs36\lang2057\langfe1032\langnp2057\insrsid7020513 How can you }{\rtlch\fcs1 \af0\afs36 \ltrch\fcs0 \b\i\fs36\lang2057\langfe1032\langnp2057\insrsid7162114 help}{\rtlch\fcs1 \af0\afs36 \ltrch\fcs0
+\b\i\fs36\lang2057\langfe1032\langnp2057\insrsid14581459\charrsid14290941
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid14581459
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid7020513 As most of you are aware, the PCSX2 team is working on this project at the expense of their free time and provide }{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid6313325 it}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid7020513 without charging the program\rquote s use.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid14581459
+
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15157205 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid7020513
+If you want to show your appreciation to these people and motivate them, you can donate any amount of money you feel is right to the team\rquote s paypal account }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15157205
+found in the official site}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang2057\langfe1032\langnp2057\insrsid12283771 .}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang2057\langfe1032\langnp2057\insrsid14290941
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14581459 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid12283771
+These funds will be used so the team members can get more modern and new hardware in order to test and debug more efficiently and even implement new features (just like dual core support for example).
+\par
+\par If you are a programmer and you are interested in helping the PCSX2 team by making additions or corrections to the code, you are free to browse through the public }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid2581528 Google Code}{
+\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid12283771 repository }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1032\langnp1033\insrsid933385\charrsid5601099 HYPERLINK "http://code.google.com/p/pcsx2/"}{
+\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1032\langnp1033\insrsid227916\charrsid5601099 {\*\datafield
+00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b5800000068007400740070003a002f002f0063006f00640065002e0067006f006f0067006c0065002e0063006f006d002f0070002f00700063007300780032002f000000795881f43b1d7f48af2c825dc48527630000
+0000a5ab0000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs16\ul\cf2\lang2057\langfe1032\langnp2057\insrsid12283771\charrsid12283771 here}}}\sectd \ltrsect
+\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sectrsid12323803\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid12283771 after taking into account PCSX2 is under the }{\rtlch\fcs1 \af0
+\ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid12283771\charrsid12283771 GNU G}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid12283771 eneral}{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid12283771\charrsid12283771 P}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid12283771 ublic}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid12283771\charrsid12283771 L}{
+\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid12283771 icence (GPL) v2.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid12283771\charrsid12283771
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid14290941
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12283771 {\rtlch\fcs1 \af0\afs36 \ltrch\fcs0 \b\i\fs36\lang2057\langfe1032\langnp2057\insrsid4271791
+\par
+\par }{\rtlch\fcs1 \af0\afs36 \ltrch\fcs0 \b\i\fs36\lang2057\langfe1032\langnp2057\insrsid12283771\charrsid12283771 The}{\rtlch\fcs1 \af0\afs36 \ltrch\fcs0 \b\i\fs36\lang2057\langfe1032\langnp2057\insrsid4198422 Coding}{\rtlch\fcs1 \af0\afs36 \ltrch\fcs0
+\b\i\fs36\lang2057\langfe1032\langnp2057\insrsid12283771\charrsid12283771 Team}{\rtlch\fcs1 \af0\afs36 \ltrch\fcs0 \b\i\fs36\lang2057\langfe1032\langnp2057\insrsid12283771
+\par
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid12283771
+Below you can see 3 tables, showing the current team members who are actively coding at the present time, the current team members who have been inactive for some time and the older team members who for some reason quit along the way, which include the pr
+evious project leader Linuzappz to whom we send our best regards }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid12283771\charrsid12283771 {\field{\*\fldinst SYMBOL 74 \\f "Wingdings" \\s 12}{\fldrslt\f10\fs24}}}{\rtlch\fcs1 \af0
+\ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid12283771 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid12283771\charrsid12283771
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid4271791 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid12283771
+\par }\pard \ltrpar\qc \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14290941 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid12283771
+\par
+\par
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360
+\par }{\rtlch\fcs1 \af0\afs28 \ltrch\fcs0 \b\i\fs28\lang2057\langfe1032\langnp2057\insrsid14581459\charrsid12283771 Current active team members:
+\par \ltrrow}\trowd \irow0\irowband0\ltrrow\ts11\trgaph108\trrh255\trleft-1008\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
+\trftsWidth3\trwWidth9683\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid11677673\tblind-900\tblindtype3 \clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clNoWrap\clftsWidth3\clwWidth1484\clshdrawnil \cellx476\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1651\clshdrawnil \cellx2127\clvertalb\clbrdrt
+\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth708\clshdrawnil \cellx3111\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clNoWrap\clftsWidth3\clwWidth5840\clshdrawnil \cellx8951\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid11677673 Nickname \cell
+Real Name \cell Place\cell Comments \cell }\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11677673 \trowd \irow0\irowband0\ltrrow
+\ts11\trgaph108\trrh255\trleft-1008\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
+\trftsWidth3\trwWidth9683\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid11677673\tblind-900\tblindtype3 \clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clNoWrap\clftsWidth3\clwWidth1484\clshdrawnil \cellx476\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1651\clshdrawnil \cellx2127\clvertalb\clbrdrt
+\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth708\clshdrawnil \cellx3111\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clNoWrap\clftsWidth3\clwWidth5840\clshdrawnil \cellx8951\row \ltrrow}\trowd \irow1\irowband1\ltrrow\ts11\trgaph108\trrh255\trleft-1008\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh
+\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth3\trwWidth9683\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid11677673\tblind-900\tblindtype3 \clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb
+\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1484\clshdrawnil \cellx476\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clNoWrap\clftsWidth3\clwWidth1651\clshdrawnil \cellx2127\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth708\clshdrawnil \cellx3111\clvertalb\clbrdrt
+\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth5840\clshdrawnil \cellx8951\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1
+\af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid11677673 saqib\cell \cell Pakistan\cell }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\lang2057\langfe1032\langnp2057\insrsid11677673 Project leader, f}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0
+\f1\fs20\lang2057\langfe1032\langnp2057\insrsid11677673\charrsid14581459 ixing bugs }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\lang2057\langfe1032\langnp2057\insrsid11677673 around (FPU, Interpreter, VUs..}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0
+\f1\fs20\lang2057\langfe1032\langnp2057\insrsid11677673\charrsid14581459 )\cell }\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang1033\langfe1032\langnp1033\insrsid11677673\charrsid5601099 \trowd \irow1\irowband1\ltrrow\ts11\trgaph108\trrh255\trleft-1008\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv
+\brdrs\brdrw10 \trftsWidth3\trwWidth9683\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid11677673\tblind-900\tblindtype3 \clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr
+\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1484\clshdrawnil \cellx476\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1651\clshdrawnil \cellx2127
+\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth708\clshdrawnil \cellx3111\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr
+\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth5840\clshdrawnil \cellx8951\row \ltrrow}\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid11677673 refraction
+\cell Alex Brown \cell England\cell }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\lang2057\langfe1032\langnp2057\insrsid11677673\charrsid14581459 General Coding DMA/VIF etc\cell }\pard \ltrpar
+\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1032\langnp1033\insrsid11677673\charrsid5601099 \trowd \irow2\irowband2\ltrrow\ts11\trgaph108\trrh255\trleft-1008\trbrdrt
+\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
+\trftsWidth3\trwWidth9683\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid11677673\tblind-900\tblindtype3 \clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clNoWrap\clftsWidth3\clwWidth1484\clshdrawnil \cellx476\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1651\clshdrawnil \cellx2127\clvertalb\clbrdrt
+\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth708\clshdrawnil \cellx3111\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clftsWidth3\clwWidth5840\clshdrawnil \cellx8951\row \ltrrow}\pard\plain \ltrpar\s18\ql \li0\ri0\widctlpar\intbl
+\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\pararsid417554 \rtlch\fcs1 \af2\afs20\alang1025 \ltrch\fcs0
+\f2\fs20\lang1032\langfe1032\cgrid\langnp1032\langfenp1032 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid11677673\charrsid417554 arcum42\tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\lang1033\langfe1032\langnp1033\insrsid11677673\charrsid417554 \cell
+}\pard\plain \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1032\langfe1032\cgrid\langnp1032\langfenp1032 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0
+\f1\fs20\insrsid11677673 \cell \cell }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\lang2057\langfe1032\langnp2057\insrsid11677673 Linux compatibility and porting}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0
+\f1\fs20\lang2057\langfe1032\langnp2057\insrsid11677673\charrsid14581459 \cell }\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11677673\charrsid14581459
+\trowd \irow3\irowband3\ltrrow\ts11\trgaph108\trrh255\trleft-1008\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
+\trftsWidth3\trwWidth9683\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid11677673\tblind-900\tblindtype3 \clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clNoWrap\clftsWidth3\clwWidth1484\clshdrawnil \cellx476\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1651\clshdrawnil \cellx2127\clvertalb\clbrdrt
+\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth708\clshdrawnil \cellx3111\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clftsWidth3\clwWidth5840\clshdrawnil \cellx8951\row \ltrrow}\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0
+\f1\fs20\lang1033\langfe1032\langnp1033\insrsid11677673 cottonvibes}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\lang1033\langfe1032\langnp1033\insrsid11677673\charrsid417554 \cell }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid11677673 \cell \cell
+}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\lang2057\langfe1032\langnp2057\insrsid11677673 FPU and VU recompilers, general coding}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\lang2057\langfe1032\langnp2057\insrsid11677673\charrsid14581459 \cell
+}\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1032\langnp1033\insrsid11677673\charrsid5601099 \trowd \irow4\irowband4\ltrrow
+\ts11\trgaph108\trrh255\trleft-1008\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
+\trftsWidth3\trwWidth9683\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid11677673\tblind-900\tblindtype3 \clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clNoWrap\clftsWidth3\clwWidth1484\clshdrawnil \cellx476\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1651\clshdrawnil \cellx2127\clvertalb\clbrdrt
+\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth708\clshdrawnil \cellx3111\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clftsWidth3\clwWidth5840\clshdrawnil \cellx8951\row \ltrrow}\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0
+\f1\fs20\lang1033\langfe1032\langnp1033\insrsid11677673 drkIIRaziel}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\lang1033\langfe1032\langnp1033\insrsid11677673\charrsid417554 \cell }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid11677673 \cell }{
+\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\lang1033\langfe1032\langnp1033\insrsid11677673 Greece}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\lang1033\langfe1032\langnp1033\insrsid11677673\charrsid4271791 \cell }\pard\plain \ltrpar
+\s18\ql \li0\ri0\widctlpar\intbl\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\pararsid5852811 \rtlch\fcs1
+\af2\afs20\alang1025 \ltrch\fcs0 \f2\fs20\lang1032\langfe1032\cgrid\langnp1032\langfenp1032 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\lang1033\langfe1032\langnp1033\insrsid11677673\charrsid5852811 Memory managemen}{\rtlch\fcs1 \af1 \ltrch\fcs0
+\f1\lang1033\langfe1032\langnp1033\insrsid11677673 t, emulation theory/principals, }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\lang1033\langfe1032\langnp1033\insrsid11677673\charrsid5852811 recompiler design.
+\par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1032\langfe1032\cgrid\langnp1032\langfenp1032 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0
+\f1\fs20\lang1033\langfe1032\langnp1033\insrsid11677673\charrsid5852811 \cell }\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang1033\langfe1032\langnp1033\insrsid11677673\charrsid5601099 \trowd \irow5\irowband5\ltrrow\ts11\trgaph108\trrh255\trleft-1008\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv
+\brdrs\brdrw10 \trftsWidth3\trwWidth9683\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid11677673\tblind-900\tblindtype3 \clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr
+\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1484\clshdrawnil \cellx476\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1651\clshdrawnil \cellx2127
+\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth708\clshdrawnil \cellx3111\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr
+\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth5840\clshdrawnil \cellx8951\row \ltrrow}\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0
+\f1\fs20\lang1033\langfe1032\langnp1033\insrsid11677673 gigaherz}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\lang1033\langfe1032\langnp1033\insrsid11677673\charrsid417554 \cell }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid11677673 \cell \cell }{
+\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\lang2057\langfe1032\langnp2057\insrsid11677673\charrsid5852811 General coding, spu2ghz, cdvdGigaherz}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\lang2057\langfe1032\langnp2057\insrsid11677673\charrsid14581459
+\cell }\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11677673\charrsid14581459 \trowd \irow6\irowband6\ltrrow\ts11\trgaph108\trrh255\trleft-1008\trbrdrt
+\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
+\trftsWidth3\trwWidth9683\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid11677673\tblind-900\tblindtype3 \clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clNoWrap\clftsWidth3\clwWidth1484\clshdrawnil \cellx476\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1651\clshdrawnil \cellx2127\clvertalb\clbrdrt
+\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth708\clshdrawnil \cellx3111\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clftsWidth3\clwWidth5840\clshdrawnil \cellx8951\row \ltrrow}\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0
+\f1\fs20\lang1033\langfe1032\langnp1033\insrsid11677673 Jake Stine-Air}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\lang1033\langfe1032\langnp1033\insrsid11677673\charrsid417554 \cell }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0
+\f1\fs20\lang1033\langfe1032\langnp1033\insrsid11677673\charrsid4271791 \cell }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\lang1033\langfe1032\langnp1033\insrsid11677673 USA}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0
+\f1\fs20\lang1033\langfe1032\langnp1033\insrsid11677673\charrsid4271791 \cell }\pard\plain \ltrpar\s18\ql \li0\ri0\widctlpar\intbl
+\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\pararsid5852811 \rtlch\fcs1 \af2\afs20\alang1025 \ltrch\fcs0
+\f2\fs20\lang1032\langfe1032\cgrid\langnp1032\langfenp1032 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\lang2057\langfe1032\langnp2057\insrsid11677673 MTGS,}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\lang1033\langfe1032\langnp1033\insrsid11677673\charrsid5852811
+counters, timing/syncing, general coding}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\lang1033\langfe1032\langnp1033\insrsid11677673 ,SPU2-X}{\rtlch\fcs1 \af2 \ltrch\fcs0 \lang1033\langfe1032\langnp1033\insrsid11677673\charrsid5852811 \cell }\pard\plain \ltrpar
+\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1032\langfe1032\cgrid\langnp1032\langfenp1032 {\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang1033\langfe1032\langnp1033\insrsid11677673\charrsid5601099 \trowd \irow7\irowband7\ltrrow\ts11\trgaph108\trrh255\trleft-1008\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv
+\brdrs\brdrw10 \trftsWidth3\trwWidth9683\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid11677673\tblind-900\tblindtype3 \clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr
+\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1484\clshdrawnil \cellx476\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1651\clshdrawnil \cellx2127
+\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth708\clshdrawnil \cellx3111\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr
+\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth5840\clshdrawnil \cellx8951\row \ltrrow}\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0
+\f1\fs20\lang1033\langfe1032\langnp1033\insrsid11677673 rama\cell }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid11677673 \cell \cell }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\lang2057\langfe1032\langnp2057\insrsid11677673
+Resident hacker, uses random values until they fix something, then figures out why :P}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\lang2057\langfe1032\langnp2057\insrsid11677673\charrsid14581459 \cell }\pard \ltrpar
+\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1032\langnp1033\insrsid11677673\charrsid5601099 \trowd \irow8\irowband8\ltrrow\ts11\trgaph108\trrh255\trleft-1008\trbrdrt
+\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
+\trftsWidth3\trwWidth9683\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid11677673\tblind-900\tblindtype3 \clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clNoWrap\clftsWidth3\clwWidth1484\clshdrawnil \cellx476\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1651\clshdrawnil \cellx2127\clvertalb\clbrdrt
+\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth708\clshdrawnil \cellx3111\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clftsWidth3\clwWidth5840\clshdrawnil \cellx8951\row \ltrrow}\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0
+\f1\fs20\lang1033\langfe1032\langnp1033\insrsid11677673 tmkk\cell }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid11677673 \cell \cell }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\lang2057\langfe1032\langnp2057\insrsid11677673 VUs, recompilers, }{
+\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\lang2057\langfe1032\langnp2057\insrsid11677673\charrsid4271791 x86asm}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\lang2057\langfe1032\langnp2057\insrsid11677673\charrsid14581459 \cell }\pard \ltrpar
+\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11677673\charrsid14581459 \trowd \irow9\irowband9\lastrow \ltrrow\ts11\trgaph108\trrh255\trleft-1008\trbrdrt\brdrs\brdrw10 \trbrdrl
+\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
+\trftsWidth3\trwWidth9683\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid11677673\tblind-900\tblindtype3 \clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clNoWrap\clftsWidth3\clwWidth1484\clshdrawnil \cellx476\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1651\clshdrawnil \cellx2127\clvertalb\clbrdrt
+\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth708\clshdrawnil \cellx3111\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clftsWidth3\clwWidth5840\clshdrawnil \cellx8951\row }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14581459 {\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid14581459
+\par }\pard \ltrpar\qc \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14290941 {\rtlch\fcs1 \af0\afs28 \ltrch\fcs0 \b\i\fs28\lang2057\langfe1032\langnp2057\insrsid14581459\charrsid12283771
+Current inactive team members:
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14581459 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid14581459
+\par \ltrrow}\trowd \irow0\irowband0\ltrrow\ts11\trgaph108\trrh273\trleft-1080\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
+\trftsWidth3\trwWidth9878\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid11677673\tblind-972\tblindtype3 \clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clNoWrap\clftsWidth3\clwWidth1484\clshdrawnil \cellx404\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1723\clshdrawnil \cellx2127\clvertalb\clbrdrt
+\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1039\clshdrawnil \cellx3166\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clNoWrap\clftsWidth3\clwWidth5632\clshdrawnil \cellx8798\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid11677673 Nickname \cell
+Real Name \cell Place\cell Comments \cell }\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11677673 \trowd \irow0\irowband0\ltrrow
+\ts11\trgaph108\trrh273\trleft-1080\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
+\trftsWidth3\trwWidth9878\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid11677673\tblind-972\tblindtype3 \clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clNoWrap\clftsWidth3\clwWidth1484\clshdrawnil \cellx404\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1723\clshdrawnil \cellx2127\clvertalb\clbrdrt
+\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1039\clshdrawnil \cellx3166\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clNoWrap\clftsWidth3\clwWidth5632\clshdrawnil \cellx8798\row \ltrrow}\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\pararsid7162114 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid11677673
+florin\cell }\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid11677673 Florin Sasu\cell Romania\cell }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0
+\f1\fs20\lang2057\langfe1032\langnp2057\insrsid11677673\charrsid14581459 Master of HLE. Master of cd code and bios HLE..\cell }\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af0
+\ltrch\fcs0 \lang1033\langfe1032\langnp1033\insrsid11677673\charrsid5601099 \trowd \irow1\irowband1\ltrrow\ts11\trgaph108\trrh273\trleft-1080\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh
+\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth3\trwWidth9878\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid11677673\tblind-972\tblindtype3 \clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb
+\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1484\clshdrawnil \cellx404\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clNoWrap\clftsWidth3\clwWidth1723\clshdrawnil \cellx2127\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1039\clshdrawnil \cellx3166\clvertalb\clbrdrt
+\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth5632\clshdrawnil \cellx8798\row \ltrrow}\pard \ltrpar
+\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid11677673 Nachnbrenner\cell \cell Germany\cell patch freak :P}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0
+\f1\fs20\lang2057\langfe1032\langnp2057\insrsid11677673\charrsid14581459 \cell }\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11677673\charrsid14581459
+\trowd \irow2\irowband2\ltrrow\ts11\trgaph108\trrh273\trleft-1080\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
+\trftsWidth3\trwWidth9878\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid11677673\tblind-972\tblindtype3 \clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clNoWrap\clftsWidth3\clwWidth1484\clshdrawnil \cellx404\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1723\clshdrawnil \cellx2127\clvertalb\clbrdrt
+\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1039\clshdrawnil \cellx3166\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clNoWrap\clftsWidth3\clwWidth5632\clshdrawnil \cellx8798\row \ltrrow}\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid11677673 aumatt\cell
+\cell }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\lang1033\langfe1032\langnp1033\insrsid11677673 Australia}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\lang1033\langfe1032\langnp1033\insrsid11677673\charrsid16453112 \cell }{\rtlch\fcs1 \af1\afs20
+\ltrch\fcs0 \f1\fs20\lang2057\langfe1032\langnp2057\insrsid11677673\charrsid14581459 a bit of everything mostly handles CDVD cmds}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\lang1033\langfe1032\langnp1033\insrsid11677673\charrsid16453112 \cell
+}\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1032\langnp1033\insrsid11677673\charrsid5601099 \trowd \irow3\irowband3\ltrrow
+\ts11\trgaph108\trrh273\trleft-1080\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
+\trftsWidth3\trwWidth9878\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid11677673\tblind-972\tblindtype3 \clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clNoWrap\clftsWidth3\clwWidth1484\clshdrawnil \cellx404\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1723\clshdrawnil \cellx2127\clvertalb\clbrdrt
+\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1039\clshdrawnil \cellx3166\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clNoWrap\clftsWidth3\clwWidth5632\clshdrawnil \cellx8798\row \ltrrow}\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid11677673 Shadow\cell
+George Moralis \cell Greece\cell }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\lang2057\langfe1032\langnp2057\insrsid11677673 Project founder, m}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0
+\f1\fs20\lang2057\langfe1032\langnp2057\insrsid11677673\charrsid14581459 aster of cpu, master of bugs, general coding\'85\cell }\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af0
+\ltrch\fcs0 \lang1033\langfe1032\langnp1033\insrsid11677673\charrsid5601099 \trowd \irow4\irowband4\ltrrow\ts11\trgaph108\trrh273\trleft-1080\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh
+\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth3\trwWidth9878\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid11677673\tblind-972\tblindtype3 \clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb
+\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1484\clshdrawnil \cellx404\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clNoWrap\clftsWidth3\clwWidth1723\clshdrawnil \cellx2127\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1039\clshdrawnil \cellx3166\clvertalb\clbrdrt
+\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth5632\clshdrawnil \cellx8798\row \ltrrow}\trowd \irow5\irowband5\ltrrow\ts11\trgaph108\trrh273\trleft-1080\trbrdrt\brdrs\brdrw10
+\trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
+\trftsWidth3\trwWidth9878\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid11677673\tblind-972\tblindtype3 \clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clNoWrap\clftsWidth3\clwWidth1484\clshdrawnil \cellx404\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1723\clshdrawnil \cellx2127\clvertalb\clbrdrt
+\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1039\clshdrawnil \cellx3166\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clftsWidth3\clwWidth5632\clshdrawnil \cellx8798\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid11677673 Goldfinger\cell \cell Brazil\cell }{
+\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\lang2057\langfe1032\langnp2057\insrsid11677673\charrsid14581459 MMI,FPU and general stuff\cell }\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1
+\af0 \ltrch\fcs0 \lang1033\langfe1032\langnp1033\insrsid11677673\charrsid5601099 \trowd \irow5\irowband5\ltrrow\ts11\trgaph108\trrh273\trleft-1080\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh
+\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth3\trwWidth9878\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid11677673\tblind-972\tblindtype3 \clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb
+\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1484\clshdrawnil \cellx404\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clNoWrap\clftsWidth3\clwWidth1723\clshdrawnil \cellx2127\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1039\clshdrawnil \cellx3166\clvertalb\clbrdrt
+\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth5632\clshdrawnil \cellx8798\row \ltrrow}\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {
+\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid11677673 loser\cell \cell Australia\cell obscure cdvd related stuff\cell }\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af0 \ltrch\fcs0
+\insrsid11677673 \trowd \irow6\irowband6\ltrrow\ts11\trgaph108\trrh273\trleft-1080\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
+\trftsWidth3\trwWidth9878\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid11677673\tblind-972\tblindtype3 \clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clNoWrap\clftsWidth3\clwWidth1484\clshdrawnil \cellx404\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1723\clshdrawnil \cellx2127\clvertalb\clbrdrt
+\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1039\clshdrawnil \cellx3166\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clftsWidth3\clwWidth5632\clshdrawnil \cellx8798\row \ltrrow}\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0
+\f1\fs20\lang2057\langfe1032\langnp2057\insrsid11677673 zerofrog}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\lang2057\langfe1032\langnp2057\insrsid11677673\charrsid16453112 \cell }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0
+\f1\fs20\lang1033\langfe1032\langnp1033\insrsid11677673\charrsid16453112 \cell }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\lang1033\langfe1032\langnp1033\insrsid11677673 USA}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0
+\f1\fs20\lang1033\langfe1032\langnp1033\insrsid11677673\charrsid16453112 \cell }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid11677673 R}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid11677673\charrsid9909128
+ecompilers, ZeroGS, x86-64, linux, optimizations, general fixes and new features}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\lang1033\langfe1032\langnp1033\insrsid11677673\charrsid16453112 \cell }\pard \ltrpar
+\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1032\langnp1033\insrsid11677673\charrsid5601099 \trowd \irow7\irowband7\lastrow \ltrrow\ts11\trgaph108\trrh273\trleft-1080
+\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
+\trftsWidth3\trwWidth9878\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid11677673\tblind-972\tblindtype3 \clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clNoWrap\clftsWidth3\clwWidth1484\clshdrawnil \cellx404\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1723\clshdrawnil \cellx2127\clvertalb\clbrdrt
+\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1039\clshdrawnil \cellx3166\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clftsWidth3\clwWidth5632\clshdrawnil \cellx8798\row }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14581459 {\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid14290941
+\par }\pard \ltrpar\qc \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14290941 {\rtlch\fcs1 \af0\afs28 \ltrch\fcs0 \b\i\fs28\lang2057\langfe1032\langnp2057\insrsid4271791
+\par
+\par }{\rtlch\fcs1 \af0\afs28 \ltrch\fcs0 \b\i\fs28\lang2057\langfe1032\langnp2057\insrsid14581459\charrsid12283771 Ex team members:
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14581459 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid14581459
+\par \ltrrow}\trowd \irow0\irowband0\ltrrow\ts11\trgaph108\trrh273\trleft-1003\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
+\trftsWidth3\trwWidth10075\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid11677673\tblind-895\tblindtype3 \clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clNoWrap\clftsWidth3\clwWidth1184\clshdrawnil \cellx181\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1610\clshdrawnil \cellx1791\clvertalb\clbrdrt
+\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1073\clshdrawnil \cellx2864\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clNoWrap\clftsWidth3\clwWidth6208\clshdrawnil \cellx9072\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid11677673 Nickname \cell
+Real Name \cell Place\cell Comments \cell }\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11677673 \trowd \irow0\irowband0\ltrrow
+\ts11\trgaph108\trrh273\trleft-1003\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
+\trftsWidth3\trwWidth10075\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid11677673\tblind-895\tblindtype3 \clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clNoWrap\clftsWidth3\clwWidth1184\clshdrawnil \cellx181\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1610\clshdrawnil \cellx1791\clvertalb\clbrdrt
+\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1073\clshdrawnil \cellx2864\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clNoWrap\clftsWidth3\clwWidth6208\clshdrawnil \cellx9072\row \ltrrow}\trowd \irow1\irowband1\ltrrow\ts11\trgaph108\trrh273\trleft-1003\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh
+\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth3\trwWidth10075\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid11677673\tblind-895\tblindtype3 \clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb
+\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1184\clshdrawnil \cellx181\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clNoWrap\clftsWidth3\clwWidth1610\clshdrawnil \cellx1791\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1073\clshdrawnil \cellx2864\clvertalb\clbrdrt
+\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth6208\clshdrawnil \cellx9072\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1
+\af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid11677673 Linuzappz \cell \cell Argentina\cell }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\lang2057\langfe1032\langnp2057\insrsid11677673 Project founder, m}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0
+\f1\fs20\lang2057\langfe1032\langnp2057\insrsid11677673\charrsid14581459 aster of The GS emulation and so many others..\cell }\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang1033\langfe1032\langnp1033\insrsid11677673\charrsid5601099 \trowd \irow1\irowband1\ltrrow\ts11\trgaph108\trrh273\trleft-1003\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv
+\brdrs\brdrw10 \trftsWidth3\trwWidth10075\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid11677673\tblind-895\tblindtype3 \clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr
+\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1184\clshdrawnil \cellx181\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1610\clshdrawnil \cellx1791
+\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1073\clshdrawnil \cellx2864\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr
+\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth6208\clshdrawnil \cellx9072\row \ltrrow}\trowd \irow2\irowband2\ltrrow\ts11\trgaph108\trrh273\trleft-1003\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh
+\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth3\trwWidth10075\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid11677673\tblind-895\tblindtype3 \clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb
+\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1184\clshdrawnil \cellx181\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clNoWrap\clftsWidth3\clwWidth1610\clshdrawnil \cellx1791\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1073\clshdrawnil \cellx2864\clvertalb\clbrdrt
+\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth6208\clshdrawnil \cellx9072\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {
+\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid11677673 basara\cell \cell \cell Recompiler programmer. general coding\cell }\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af0
+\ltrch\fcs0 \insrsid11677673 \trowd \irow2\irowband2\ltrrow\ts11\trgaph108\trrh273\trleft-1003\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
+\trftsWidth3\trwWidth10075\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid11677673\tblind-895\tblindtype3 \clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clNoWrap\clftsWidth3\clwWidth1184\clshdrawnil \cellx181\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1610\clshdrawnil \cellx1791\clvertalb\clbrdrt
+\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1073\clshdrawnil \cellx2864\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clNoWrap\clftsWidth3\clwWidth6208\clshdrawnil \cellx9072\row \ltrrow}\trowd \irow3\irowband3\ltrrow\ts11\trgaph108\trrh273\trleft-1003\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh
+\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth3\trwWidth10075\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid11677673\tblind-895\tblindtype3 \clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb
+\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1184\clshdrawnil \cellx181\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clNoWrap\clftsWidth3\clwWidth1610\clshdrawnil \cellx1791\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1073\clshdrawnil \cellx2864\clvertalb\clbrdrt
+\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth6208\clshdrawnil \cellx9072\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1
+\af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid11677673 [TyRaNiD]\cell \cell \cell GS programmer.General coding\cell }\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af0 \ltrch\fcs0
+\insrsid11677673 \trowd \irow3\irowband3\ltrrow\ts11\trgaph108\trrh273\trleft-1003\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
+\trftsWidth3\trwWidth10075\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid11677673\tblind-895\tblindtype3 \clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clNoWrap\clftsWidth3\clwWidth1184\clshdrawnil \cellx181\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1610\clshdrawnil \cellx1791\clvertalb\clbrdrt
+\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1073\clshdrawnil \cellx2864\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clftsWidth3\clwWidth6208\clshdrawnil \cellx9072\row \ltrrow}\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid11677673 Roor\cell \cell \cell
+General coding\cell }\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11677673 \trowd \irow4\irowband4\lastrow \ltrrow\ts11\trgaph108\trrh273\trleft-1003\trbrdrt
+\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
+\trftsWidth3\trwWidth10075\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid11677673\tblind-895\tblindtype3 \clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clNoWrap\clftsWidth3\clwWidth1184\clshdrawnil \cellx181\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1610\clshdrawnil \cellx1791\clvertalb\clbrdrt
+\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clNoWrap\clftsWidth3\clwWidth1073\clshdrawnil \cellx2864\clvertalb\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
+\cltxlrtb\clftsWidth3\clwWidth6208\clshdrawnil \cellx9072\row }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12588127 {\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid12588127
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid16453112 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid16453112
+\par }\pard \ltrpar\ql \li-900\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin-900\itap0\pararsid5655082 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid16453112
+\par
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid12588127\charrsid12588127 Additional coding: }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid5655082
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid12588127\charrsid12588127 F|RES}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid4198422 ,}{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid6313325 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid4198422 Pofis,}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid6313325 }{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid12588127\charrsid12588127 Gigaherz}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid4198422 ,}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid6313325 }{\rtlch\fcs1 \af0
+\ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid12588127\charrsid12588127 Nocomp}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid1124666 ,}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid6313325 }{\rtlch\fcs1
+\af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid1124666 _Riff_,}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid6313325 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid1124666 fumofumo}{\rtlch\fcs1 \af0
+\ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid3876361 , pseudonym, }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1032\langnp1033\insrsid3876361 Nneeve}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1032\langnp1033\insrsid15820360\charrsid3876361
+
+\par }\pard \ltrpar\ql \li-900\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin-900\itap0\pararsid1124666 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360 }{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid1124666
+\par }{\rtlch\fcs1 \af0\afs36 \ltrch\fcs0 \b\i\fs36\lang2057\langfe1032\langnp2057\insrsid4198422\charrsid12283771 The}{\rtlch\fcs1 \af0\afs36 \ltrch\fcs0 \b\i\fs36\lang2057\langfe1032\langnp2057\insrsid4198422 Beta Tester}{\rtlch\fcs1 \af0\afs36 \ltrch\fcs0
+\b\i\fs36\lang2057\langfe1032\langnp2057\insrsid4198422\charrsid12283771 Team}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid4198422\charrsid4198422
+\par }\pard \ltrpar\ql \li-900\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin-900\itap0\pararsid12588127 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid4198422
+\par Beta testers are people (slaves/mindless grunts :P) who constantly test new PCSX2 beta builds to report any new bugs, regressions or improvements. While this might sound simple to most, what many people do not know is that }{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid1124666 testers also debug with the coders, maintain th}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid3804384 e huge game compatibility list, }{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid1124666 create dumps and logs for the coders and so much more. As above,}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid6313325 }{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid1124666 active,}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid6313325 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid1124666
+inactive and ex members are listed alphabetically}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid12588127
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid4198422
+\par }\pard \ltrpar\qc \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid1124666 {\rtlch\fcs1 \af0\afs28 \ltrch\fcs0 \b\i\fs28\lang2057\langfe1032\langnp2057\insrsid2581528
+\par
+\par }{\rtlch\fcs1 \af0\afs28 \ltrch\fcs0 \b\i\fs28\lang2057\langfe1032\langnp2057\insrsid1124666\charrsid12283771 Current active members:
+\par }\pard \ltrpar\ql \li-900\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin-900\itap0\pararsid12588127 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid4198422
+\par }\pard \ltrpar\qc \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid1124666 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid1124666\charrsid12588127 Bositman}{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid1124666 ,}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid6313325 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid1124666 Crushtest,}{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid3611072 Falcon4Ever,}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid6313325 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid1124666 GeneralPlot}{\rtlch\fcs1 \af0
+\ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid16330193 ,}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid2581528 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid16330193 Krakatos}{\rtlch\fcs1 \af0
+\ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid2581528 , Prafull}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid1124666
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid1124666 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid1124666
+\par }\pard \ltrpar\qc \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid1124666 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid1124666 \tab }{\rtlch\fcs1 \af0\afs28 \ltrch\fcs0
+\b\i\fs28\lang2057\langfe1032\langnp2057\insrsid1124666\charrsid12283771 Current inactive team members:}{\rtlch\fcs1 \af0\afs28 \ltrch\fcs0 \b\i\fs28\lang2057\langfe1032\langnp2057\insrsid1124666
+\par }{\rtlch\fcs1 \af0\afs28 \ltrch\fcs0 \b\i\fs28\lang2057\langfe1032\langnp2057\insrsid15820360\charrsid12283771
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1032\langnp1033\insrsid1124666 Belmont,}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1032\langnp1033\insrsid7162114 }{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid3804384\charrsid12588127 CKemu}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1032\langnp1033\insrsid3804384 ,}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1032\langnp1033\insrsid7162114 }{\rtlch\fcs1 \af0
+\ltrch\fcs0 \lang1033\langfe1032\langnp1033\insrsid1124666 Knuckles,}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1032\langnp1033\insrsid6313325 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1032\langnp1033\insrsid1124666 Raziel}{\rtlch\fcs1 \af0
+\ltrch\fcs0 \lang1033\langfe1032\langnp1033\insrsid14693038 , }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid16330193 RudyX,}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid16330193\charrsid1124666 }{
+\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid16330193 P}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid16330193\charrsid12588127 arotaku}{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid1124666\charrsid7162114
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1032\langnp1033\insrsid1124666
+\par }\pard \ltrpar\qc \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5655082 {\rtlch\fcs1 \af0\afs28 \ltrch\fcs0 \b\i\fs28\lang2057\langfe1032\langnp2057\insrsid1124666\charrsid12283771 Ex team members:}{\rtlch\fcs1
+\af0\afs28 \ltrch\fcs0 \b\i\fs28\lang2057\langfe1032\langnp2057\insrsid15820360
+\par }{\rtlch\fcs1 \af0\afs28 \ltrch\fcs0 \b\i\fs28\lang2057\langfe1032\langnp2057\insrsid7864568
+\par }\pard \ltrpar\qc \li-900\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin-900\itap0\pararsid7742541 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid7742541 Chaoscode, }{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid7742541\charrsid15820360 CpUMasteR}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid7742541 , EFX ,}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid7742541\charrsid7742541 }{
+\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid7742541 Elly, JegHegy, Razorblade,}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid14693038 RPGWizard,}{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid7742541 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid1124666 Seta San,}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 Snake875}{\rtlch\fcs1
+\af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid417554
+\par }\pard \ltrpar\ql \li-900\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin-900\itap0\pararsid15820360 {\rtlch\fcs1 \af0\afs36 \ltrch\fcs0 \b\i\fs36\lang2057\langfe1032\langnp2057\insrsid4271791
+\par
+\par
+\par
+\par
+\par
+\par }{\rtlch\fcs1 \af0\afs36 \ltrch\fcs0 \b\i\fs36\lang2057\langfe1032\langnp2057\insrsid2581528
+\par }{\rtlch\fcs1 \af0\afs36 \ltrch\fcs0 \b\i\fs36\lang2057\langfe1032\langnp2057\insrsid3611072 Release date chart
+\par
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid227916 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1032\langnp1033\insrsid2581528\charrsid227916
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3611072 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid3611072
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2581528 {\rtlch\fcs1 \af0\afs36 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid3611072
+\par }\pard \ltrpar\ql \li-900\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin-900\itap0\pararsid3611072 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid3611072
+And here are the actual release dates for those of you who are curious:}{\rtlch\fcs1 \af0\afs36 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid3611072\charrsid3611072
+\par
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid3611072\charrsid10425902 0.026}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid10425902 :}{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid3611072\charrsid10425902 \tab \tab 23 March 2002
+\par 0.031}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid10425902 :}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid3611072\charrsid10425902 \tab \tab 14 }{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid7162114 A}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid3611072\charrsid10425902 pril 2002
+\par 0.036}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid10425902 :}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid3611072\charrsid10425902 \tab \tab 17 June 2002
+\par 0.038}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid10425902 :}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid3611072\charrsid10425902 \tab \tab 7 July 2002
+\par 0.042}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid10425902 :}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid3611072\charrsid10425902 \tab \tab 11 September 2002
+\par 0.1}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid10425902 :}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid3611072\charrsid10425902 \tab \tab 20 December 2002
+\par 0.2}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid10425902 :}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid3611072\charrsid10425902 \tab \tab 19 February 2003\tab
+\par 0.3}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid10425902 :}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid3611072\charrsid10425902 \tab \tab 2 may\tab 2003
+\par 0.4}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid10425902 :}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid3611072\charrsid10425902 \tab \tab 31 July 2003
+\par 0.41}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid10425902 :}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid3611072\charrsid10425902 \tab \tab 7 August 2003
+\par 0.5}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid10425902 :}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid3611072\charrsid10425902 \tab \tab 25 November 2003
+\par 0.6}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid10425902 :}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid3611072\charrsid10425902 \tab \tab 24 March 2004
+\par 0.7}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid10425902 :}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid3611072\charrsid10425902 \tab \tab 17 December 2004
+\par 0.8}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid10425902 :}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid3611072\charrsid10425902 \tab \tab 16 May 2005
+\par 0.81}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid10425902 :}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid3611072\charrsid10425902 \tab \tab 17 May 2005
+\par 0.9}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid10425902 :}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid3611072\charrsid10425902 \tab \tab 3 April 2006
+\par 0.9.1}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid10425902 :}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid3611072\charrsid10425902 \tab \tab 3 July 2006
+\par 0.9.2}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid10425902 :}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid3611072\charrsid10425902 \tab \tab 18 November 2006
+\par 0.9.3 Linux only}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid10425902 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid3611072\charrsid10425902 1 April 2007
+\par }\pard \ltrpar\ql \li-900\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin-900\itap0\pararsid10425902 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid3611072\charrsid10425902 0.9.4}{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid10425902 :}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid3611072\charrsid10425902 \tab \tab 11 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid10425902 November}{
+\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid3611072\charrsid10425902 2007}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid10425902
+\par }\pard \ltrpar\ql \li-900\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin-900\itap0\pararsid2581528 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid7864568 0.9.6:}{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid8610414 1 March 2009}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid2581528
+\par }{\rtlch\fcs1 \af0\afs36 \ltrch\fcs0 \b\i\fs36\lang2057\langfe1032\langnp2057\insrsid15820360 Additional thanks and credits}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid10425902
+\par }\pard \ltrpar\ql \li-900\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin-900\itap0\pararsid15820360 {\rtlch\fcs1 \af0\afs36 \ltrch\fcs0 \b\i\fs36\lang2057\langfe1032\langnp2057\insrsid15820360
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360 Duke of NAPALM: \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid7742541 }{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid15820360 For the 3d stars demo.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid7742541 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360
+The first demo that worked in pcsx2 :)}{\rtlch\fcs1 \af0\afs36 \ltrch\fcs0 \b\i\fs36\lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid7742541 Tony Saveski (dreamtime): }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360 F}{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 or his great ps2tutorials!!
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360 F|res: \tab \tab \tab Author of dolphin,}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid7742541 }{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 a big thanks from shadow..
+\par Now3d}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360 :\tab \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 The guy that helped }{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid15820360 shadow}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 at }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360 his}{\rtlch\fcs1 \af0
+\ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 first steps..
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360 Keith:\tab \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 Who believed in us..
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360 Bobbi & }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 Thorgal: }{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid15820360 \tab F}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 or hosting us, for }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360
+the old page }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 design }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360 and so}{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 many other}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360 things}{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360 Sjeep:\tab \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 Help and info
+\par BGnome}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360 : }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 }{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid15820360 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 Help testing stuff
+\par {\*\xmlopen\xmlns2{\factoidname City}}{\*\xmlopen\xmlns2{\factoidname place}}Dixon}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360 {\*\xmlclose}{\*\xmlclose}: }{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 Design }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360 of the old}{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 pcsx2 page, and the pcsx2.net domain
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360 Bositman:\tab \tab PCSX2}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360
+ beta tester :) (gia sou bositman pare ta credits sou )
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360 No-Reccess:}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 }{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid15820360 \tab N}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 ice guy and great demo coder :)
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360 NSX}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 2 team}{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid15820360 : }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360 \tab \tab F}{
+\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 or }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360 their help with VU}{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 ;)
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360 Razorblade: F}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 or the }{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid15820360 old PCSX2 logo & }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 icon.
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360 S}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 nake}{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid15820360 : \tab H}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 e knows what for :P
+\par Ector}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360 : }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 }{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid15820360 \tab \tab A}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 wesome emu :)
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360 Zezu: \tab \tab A good guy. G}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 ood luck with your emu }{\rtlch\fcs1
+\af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 :P}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360
+\par Hiryu & Sjeep:\tab \tab F}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 or their libcdvd (iso parsing and filesystem driver code)
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid7742541 Sjeep: }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 }{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid15820360 \tab \tab \tab F}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 or }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360 the }{
+\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 SjDATA filesystem driver
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid7742541 F|res:\tab \tab \tab F}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 or the original DECI2 implementation
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid7742541 libmpeg2: }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 }{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid7742541 \tab \tab F}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 or }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid7742541 the }{
+\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 mpeg2 decoding routines
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid7742541 Aumatt: }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 }{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid7742541 \tab \tab F}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 or applying fixes to pcsx2
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid7742541 Microsoft: }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 }{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid7742541 \tab \tab For VC.N}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 et 2003}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid7742541
+ (and now 2005)}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 (really faster than vc6) :P
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid7742541 NASM team: }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 }{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid7742541 F}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 or nasm
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid7742541 CKemu: }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 }{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid7742541 \tab \tab L}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360\charrsid15820360 ogos/design}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid15820360
+
+\par }\pard \ltrpar\ql \li-900\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin-900\itap0\pararsid7742541 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid7742541\charrsid7742541
+\par and probably to a few more..
+\par
+\par Special Shadow's thanks go to...}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid7742541
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid7742541\charrsid7742541
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid6313325 My friends}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid7742541 : Dimitris, James, Thodoris, T}{\rtlch\fcs1 \af0 \ltrch\fcs0
+\lang2057\langfe1032\langnp2057\insrsid7742541\charrsid7742541 hanasis and probably to a few more..and of course to a lady somewhere out there....}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang2057\langfe1032\langnp2057\insrsid7742541
+\par
+\par
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang2057\langfe1032\langnp2057\insrsid7864568 Created for v0.9.6}{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang2057\langfe1032\langnp2057\insrsid7742541 by bositman.}{\rtlch\fcs1 \af0 \ltrch\fcs0
+\i\lang2057\langfe1032\langnp2057\insrsid7742541\charrsid7742541
+\par }{\rtlch\fcs1 \af0\afs36 \ltrch\fcs0 \i\fs36\lang2057\langfe1032\langnp2057\insrsid7742541
+\par }\pard \ltrpar\qr \li-900\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin-900\itap0\pararsid7742541 {\rtlch\fcs1 \af0\afs36 \ltrch\fcs0 \i\fs36\lang2057\langfe1032\langnp2057\insrsid7742541
+\par
+\par
+\par }\pard \ltrpar\qr \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2581528 {\rtlch\fcs1 \af0\afs36 \ltrch\fcs0 \i\fs36\lang2057\langfe1032\langnp2057\insrsid7742541\charrsid7742541
+The PCSX2 Coding and Beta testing team}{\rtlch\fcs1 \af0\afs36 \ltrch\fcs0 \i\fs36\lang2057\langfe1032\langnp2057\insrsid9319045\charrsid14693038
+\par }{\*\themedata 504b030414000600080000002100828abc13fa0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb6ac3301045f785fe83d0b6d8
+72ba28a5d8cea249777d2cd20f18e4b12d6a8f843409c9df77ecb850ba082d74231062ce997b55ae8fe3a00e1893f354e9555e6885647de3a8abf4fbee29bbd7
+2a3150038327acf409935ed7d757e5ee14302999a654e99e393c18936c8f23a4dc072479697d1c81e51a3b13c07e4087e6b628ee8cf5c4489cf1c4d075f92a0b
+44d7a07a83c82f308ac7b0a0f0fbf90c2480980b58abc733615aa2d210c2e02cb04430076a7ee833dfb6ce62e3ed7e14693e8317d8cd0433bf5c60f53fea2fe7
+065bd80facb647e9e25c7fc421fd2ddb526b2e9373fed4bb902e182e97b7b461e6bfad3f010000ffff0300504b030414000600080000002100a5d6a7e7c00000
+00360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4fc7060abb08
+84a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b63095120f88d94fbc
+52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462a1a82fe353
+bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f7468656d652f7468
+656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b4b0d592c9c
+070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b4757e8d3f7
+29e245eb2b260a0238fd010000ffff0300504b03041400060008000000210096b5ade296060000501b0000160000007468656d652f7468656d652f7468656d65
+312e786d6cec594f6fdb3614bf0fd87720746f6327761a07758ad8b19b2d4d1bc46e871e698996d850a240d2497d1bdae38001c3ba618715d86d87615b8116d8
+a5fb34d93a6c1dd0afb0475292c5585e9236d88aad3e2412f9e3fbff1e1fa9abd7eec70c1d1221294fda5efd72cd4324f1794093b0eddd1ef62fad79482a9c04
+98f184b4bd2991deb58df7dfbb8ad755446282607d22d771db8b944ad79796a40fc3585ee62949606ecc458c15bc8a702910f808e8c66c69b9565b5d8a314d3c
+94e018c8de1a8fa94fd05093f43672e23d06af89927ac06762a049136785c10607758d9053d965021d62d6f6804fc08f86e4bef210c352c144dbab999fb7b471
+7509af678b985ab0b6b4ae6f7ed9ba6c4170b06c788a705430adf71bad2b5b057d03606a1ed7ebf5babd7a41cf00b0ef83a6569632cd467faddec9699640f671
+9e76b7d6ac355c7c89feca9cccad4ea7d36c65b258a206641f1b73f8b5da6a6373d9c11b90c537e7f08dce66b7bbeae00dc8e257e7f0fd2badd5868b37a088d1
+e4600ead1ddaef67d40bc898b3ed4af81ac0d76a197c86826828a24bb318f3442d8ab518dfe3a20f000d6458d104a9694ac6d88728eee2782428d60cf03ac1a5
+193be4cbb921cd0b495fd054b5bd0f530c1931a3f7eaf9f7af9e3f45c70f9e1d3ff8e9f8e1c3e3073f5a42ceaa6d9c84e5552fbffdeccfc71fa33f9e7ef3f2d1
+17d57859c6fffac327bffcfc793510d26726ce8b2f9ffcf6ecc98baf3efdfdbb4715f04d814765f890c644a29be408edf3181433567125272371be15c308d3f2
+8acd249438c19a4b05fd9e8a1cf4cd296699771c393ac4b5e01d01e5a30a787d72cf1178108989a2159c77a2d801ee72ce3a5c545a6147f32a99793849c26ae6
+6252c6ed637c58c5bb8b13c7bfbd490a75330f4b47f16e441c31f7184e140e494214d273fc80900aedee52ead87597fa824b3e56e82e451d4c2b4d32a423279a
+668bb6690c7e9956e90cfe766cb37b077538abd27a8b1cba48c80acc2a841f12e698f13a9e281c57911ce298950d7e03aba84ac8c154f8655c4f2af074481847
+bd804859b5e696007d4b4edfc150b12addbecba6b18b148a1e54d1bc81392f23b7f84137c2715a851dd0242a633f900710a218ed715505dfe56e86e877f0034e
+16bafb0e258ebb4faf06b769e888340b103d3311da9750aa9d0a1cd3e4efca31a3508f6d0c5c5c398602f8e2ebc71591f5b616e24dd893aa3261fb44f95d843b
+5974bb5c04f4edafb95b7892ec1108f3f98de75dc97d5772bdff7cc95d94cf672db4b3da0a6557f70db629362d72bcb0431e53c6066acac80d699a6409fb44d0
+8741bdce9c0e4971624a2378cceaba830b05366b90e0ea23aaa241845368b0eb9e2612ca8c742851ca251ceccc70256d8d87265dd96361531f186c3d9058edf2
+c00eafe8e1fc5c509031bb4d680e9f39a3154de0accc56ae644441edd76156d7429d995bdd88664a9dc3ad50197c38af1a0c16d684060441db02565e85f3b966
+0d0713cc48a0ed6ef7dedc2dc60b17e92219e180643ed27acffba86e9c94c78ab90980d8a9f0913ee49d62b512b79626fb06dccee2a432bbc60276b9f7dec44b
+7904cfbca4f3f6443ab2a49c9c2c41476dafd55c6e7ac8c769db1bc399161ee314bc2e75cf8759081743be1236ec4f4d6693e5336fb672c5dc24a8c33585b5fb
+9cc24e1d4885545b58463634cc5416022cd19cacfccb4d30eb45296023fd35a458598360f8d7a4003bbaae25e331f155d9d9a5116d3bfb9a95523e51440ca2e0
+088dd844ec6370bf0e55d027a012ae264c45d02f708fa6ad6da6dce29c255df9f6cae0ec38666984b372ab5334cf640b37795cc860de4ae2816e95b21be5ceaf
+8a49f90b52a51cc6ff3355f47e0237052b81f6800fd7b802239daf6d8f0b1571a8426944fdbe80c6c1d40e8816b88b8569082ab84c36ff0539d4ff6dce591a26
+ade1c0a7f669880485fd484582903d284b26fa4e2156cff62e4b9265844c4495c495a9157b440e091bea1ab8aaf7760f4510eaa69a6465c0e04ec69ffb9e65d0
+28d44d4e39df9c1a52ecbd3607fee9cec7263328e5d661d3d0e4f62f44acd855ed7ab33cdf7bcb8ae889599bd5c8b3029895b6825696f6af29c239b75a5bb1e6
+345e6ee6c28117e73586c1a2214ae1be07e93fb0ff51e133fb65426fa843be0fb515c187064d0cc206a2fa926d3c902e907670048d931db4c1a44959d366ad93
+b65abe595f70a75bf03d616c2dd959fc7d4e6317cd99cbcec9c58b34766661c7d6766ca1a9c1b327531486c6f941c638c67cd22a7f75e2a37be0e82db8df9f30
+254d30c1372581a1f51c983c80e4b71ccdd28dbf000000ffff0300504b0304140006000800000021000dd1909fb60000001b010000270000007468656d652f74
+68656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e4350d363f24
+51eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d262452282e3198
+720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe514173d9850528
+a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100828abc13fa0000001c0200001300000000000000000000000000
+000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b000000000000000000000000
+002b0100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c00000000000000000000000000140200007468
+656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d001400060008000000210096b5ade296060000501b000016000000000000000000
+00000000d10200007468656d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b010000270000000000
+00000000000000009b0900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000960a00000000}
+{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d
+617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169
+6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363
+656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e}
+{\*\latentstyles\lsdstimax267\lsdlockeddef0\lsdsemihiddendef0\lsdunhideuseddef0\lsdqformatdef0\lsdprioritydef0{\lsdlockedexcept \lsdqformat1 \lsdlocked0 Normal;\lsdqformat1 \lsdlocked0 heading 1;
+\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 2;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 3;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 4;
+\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 5;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 6;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 7;
+\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 8;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 heading 9;\lsdpriority99 \lsdlocked0 footer;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 caption;
+\lsdqformat1 \lsdlocked0 Title;\lsdqformat1 \lsdlocked0 Subtitle;\lsdqformat1 \lsdlocked0 Strong;\lsdqformat1 \lsdlocked0 Emphasis;\lsdpriority99 \lsdlocked0 HTML Preformatted;\lsdsemihidden1 \lsdpriority99 \lsdlocked0 Placeholder Text;
+\lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;\lsdpriority60 \lsdlocked0 Light Shading;\lsdpriority61 \lsdlocked0 Light List;\lsdpriority62 \lsdlocked0 Light Grid;\lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdpriority64 \lsdlocked0 Medium Shading 2;
+\lsdpriority65 \lsdlocked0 Medium List 1;\lsdpriority66 \lsdlocked0 Medium List 2;\lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdpriority68 \lsdlocked0 Medium Grid 2;\lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdpriority70 \lsdlocked0 Dark List;
+\lsdpriority71 \lsdlocked0 Colorful Shading;\lsdpriority72 \lsdlocked0 Colorful List;\lsdpriority73 \lsdlocked0 Colorful Grid;\lsdpriority60 \lsdlocked0 Light Shading Accent 1;\lsdpriority61 \lsdlocked0 Light List Accent 1;
+\lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;\lsdsemihidden1 \lsdpriority99 \lsdlocked0 Revision;
+\lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;
+\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 1;\lsdpriority72 \lsdlocked0 Colorful List Accent 1;
+\lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdpriority60 \lsdlocked0 Light Shading Accent 2;\lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdpriority62 \lsdlocked0 Light Grid Accent 2;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;
+\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 2;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;
+\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;\lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;\lsdpriority72 \lsdlocked0 Colorful List Accent 2;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;
+\lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdpriority61 \lsdlocked0 Light List Accent 3;\lsdpriority62 \lsdlocked0 Light Grid Accent 3;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;
+\lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;
+\lsdpriority70 \lsdlocked0 Dark List Accent 3;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;\lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;\lsdpriority60 \lsdlocked0 Light Shading Accent 4;
+\lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdpriority62 \lsdlocked0 Light Grid Accent 4;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;
+\lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdpriority70 \lsdlocked0 Dark List Accent 4;
+\lsdpriority71 \lsdlocked0 Colorful Shading Accent 4;\lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdpriority60 \lsdlocked0 Light Shading Accent 5;\lsdpriority61 \lsdlocked0 Light List Accent 5;
+\lsdpriority62 \lsdlocked0 Light Grid Accent 5;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 5;
+\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;\lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;
+\lsdpriority72 \lsdlocked0 Colorful List Accent 5;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdpriority61 \lsdlocked0 Light List Accent 6;\lsdpriority62 \lsdlocked0 Light Grid Accent 6;
+\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;
+\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdpriority70 \lsdlocked0 Dark List Accent 6;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;
+\lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;\lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis;
+\lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;\lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdsemihidden1 \lsdunhideused1 \lsdpriority37 \lsdlocked0 Bibliography;
+\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;}}{\*\datastore 0105000002000000180000004d73786d6c322e534158584d4c5265616465722e352e30000000000000000000000e0000
+d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff0900060000000000000000000000010000000100000000000000001000000200000001000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+fffffffffffffffffdffffff04000000feffffff05000000fefffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffff01000000ec69d9888b8b3d4c859eaf6cd158be0f00000000000000000000000000e0
+1363d698c9010300000080020000000000004d0073006f004400610074006100530074006f0072006500000000000000000000000000000000000000000000000000000000000000000000000000000000001a000101ffffffffffffffff02000000000000000000000000000000000000000000000000e01363d698c901
+00e01363d698c9010000000000000000000000004100580045003100d300cb005a0055005100d4005300d600c7004b00c900c900ca00db00da003300d600d0003d003d000000000000000000000000000000000032000101ffffffffffffffff03000000000000000000000000000000000000000000000000e01363d698
+c90100e01363d698c9010000000000000000000000004900740065006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000201ffffffff04000000ffffffff000000000000000000000000000000000000000000000000
+00000000000000000000000000000000cd00000000000000010000000200000003000000feffffff0500000006000000070000000800000009000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3c623a536f757263657320786d6c6e733a623d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f6f6666696365446f63756d656e742f323030362f6269626c696f6772617068792220786d6c6e733d
+22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f6f6666696365446f63756d656e742f323030362f6269626c696f677261706879222053656c65637465645374796c653d225c4150412e58534c22205374796c654e616d653d22415041222f3e006e00650073006500200045006e00
+760065006c006f007000650020004b0061006b00750020002300320000004100360000003c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d226e6f223f3e0d0a3c64733a6461746173746f72654974656d2064733a6974656d49443d227b43453142
+373130312d353442362d343434332d423639432d4141363941424245394444427d2220786d6c6e733a64733d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f6f6666696365446f63756d656e742f323030362f637573746f6d586d6c223e3c64733a736368656d61526566733e3c
+64733a736368656d615265662064733a7572693d22687474703a2f2f736368656d61732e6f70656e500072006f007000650072007400690065007300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000200ffffffffffffffffffffffff000000000000
+0000000000000000000000000000000000000000000000000000000000000400000055010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000786d6c666f726d6174732e6f72672f6f6666696365446f63756d656e742f323030362f6269626c696f677261706879222f3e3c2f64733a736368656d61526566733e3c2f64733a6461746173746f
+72654974656d3e007000650020004d006f006e006100720063006800000045006e00760065006c006f0070006500000045006e00760065006c006f0070006500200042003600000045006e00760065006c006f0070006500200042003500000045006e00760065006c006f0070006500200042003400000045006e007600
+65006c006f00700065002000430036003500000045006e00760065006c006f0070006500200043003600000045006e00760065006c006f0070006500200043003400000045006e00760065006c006f0070006500200043003300000045006e00760065006c006f0070006500200043003500000045006e00760065006c00
+6f0070006500200044004c00000045002000730069007a006500200073006800650065007400000044002000730069007a006500200073006800650065007400000043002000730069007a006500200073006800650065007400000045006e00760065006c006f00700065002000230031003400000045006e0076006500
+6c006f00700065002000230031003200000045006e00760065006c006f00700065002000230031003100000045006e00760065006c006f000105000000000000}}
\ No newline at end of file
diff --git a/pcsx2/Docs/PS2Edefs.txt b/pcsx2/Docs/PS2Edefs.txt
deleted file mode 100644
index 5442da8297..0000000000
--- a/pcsx2/Docs/PS2Edefs.txt
+++ /dev/null
@@ -1,443 +0,0 @@
- PS2E Definitions v0.3.0 (beta)
- ------------------------------
-
- Author: linuzappz@pcsx.net
-
-Note: Refer to PS2Edefs.h for more info.
-
-1) API Funcs
-2) FAQs
-3) Notes
-
-1) API Funcs:
- ---------
-
- Common stuff:
- ------------
-
-// u32 CALLBACK PS2EgetLibType(void);
-
-Gets the plugin type, from the following defines:
-
-#define PS2E_LT_GS 0x01
-#define PS2E_LT_PAD 0x02
-#define PS2E_LT_SPU2 0x04
-#define PS2E_LT_CDVD 0x08
-#define PS2E_LT_DEV9 0x10
-#define PS2E_LT_USB 0x20
-#define PS2E_LT_FIREWIRE 0x40
-
-Note that the types can be ORed so you can make an
-ie. GS/PAD plugin in one dll.
-
-// u32 CALLBACK PS2EgetLibVersion(void);
-
-Will get the plugin version:
-
-const unsigned char version = 1; // GS library v1
-const unsigned char revision = VERSION;
-const unsigned char build = BUILD; // increase that with each version
-
-return version<<16|revision<<8|build;
-
-'version' is the GS plugin API version, as this is beta,
-it should be 1.
-'revision' and 'build' are plugin defined values.
-
-// char* CALLBACK PS2EgetLibName(void);
-
-Get the LibName, ie. "GSsoftdx Driver";
-
-
-
- GS plugin API:
- -------------
-
-Basic funcs
------------
-
-// s32 CALLBACK GSinit();
-
-Inits the plugin, return 0 on success, else -1.
-
-// s32 CALLBACK GSopen(void *pDsp, char *Title);
-
-Opens the plugin, return 0 on success, else -1.
-The plugin must fill the 'pDsp' arg (32bit) that'll be
-passed to other plugins (*1), this is OS dependant (*2).
-
-On Win32: pass a HWND value, ie:
- *(long*)pDsp = (long)GShwnd;
-On Linux: pass a Display value, ie:
- *(long*)pDsp = (long)display;
-
-*1 Even if this value is passed to every plugin, this
-may not be used by the plugins.
-
-*2 This could change anyways, ie. maybe you can code a
-GS/PAD plugin for a speacial library, so the pDsp
-will be a value that you need to communicate between
-them (if you need to do this).
-
-// void CALLBACK GSclose();
-
-Close the plugin.
-
-// void CALLBACK GSshutdown();
-
-Shutdown the plugin.
-
-// void CALLBACK GSvsync();
-
-Called on every VSync.
-
-// void CALLBACK GSgifTransfer(u32 *pMem, u32 size);
-
-Transfer 'size' qwords (128bit) from 'pMem' to the Gif.
-
-// void CALLBACK GSgifTransfer2(u32 *pMem);
-
-Transfer a qwords (128bit) block from 'pMem' to the Gif.
-
-// void CALLBACK GSwrite32(u32 mem, u32 value);
-
-Writes to address 'mem' data 'value', 32bit.
-Addresses can range from 0x12000000 to 0x14000000.
-
-// void CALLBACK GSwrite64(u32 mem, u64 value);
-
-Writes to address 'mem' data 'value', 64bit.
-Addresses can range from 0x12000000 to 0x14000000.
-
-// u32 CALLBACK GSread32(u32 mem);
-
-Returns 32bit from address 'mem'.
-Addresses can range from 0x12000000 to 0x14000000.
-
-// u64 CALLBACK GSread64(u32 mem);
-
-Returns 64bit from address 'mem'.
-Addresses can range from 0x12000000 to 0x14000000.
-
-Extended funcs
---------------
-
-// void CALLBACK GSkeyEvent(keyEvent *ev);
-
-Gets called when there is a keyEvent from the PAD plugin
-
-// void CALLBACK GSmakeSnapshot(char *path);
-
-Makes an snapshot of the vRam, can be a with the full
-vRam or just the view area (as you prefer), to the dir
-'path'.
-
-
-// #ifdef __WIN32__
-// s32 CALLBACK GSsetWindowInfo(winInfo *info);
-// #endif
-
-Windows only function, will pass the info struct to the
-GS plugin, if the plugin will use this info it should
-return 1 (TRUE), else the emu will destroy the window
-handle and let the plugin take care of that.
-This function must be called before the GSopen.
-Note that the emu should hide the hMenu and the hStatusWnd
-if it they are set.
-The position and size of the window is not specified and
-should be reset by the plugin, but the window passed should
-be in a normal state, not maximized nor minimized.
-After a GSclose the emu must destroy the window and
-recreate it.
-
-// void CALLBACK GSconfigure();
-
-Configure the plugin.
-
-// void CALLBACK GSabout();
-
-Shows an About Dialog of the plugin.
-
-// s32 CALLBACK GStest();
-
-Returns 0 if the plugin should work ok, else -1.
-
-
-
- PAD plugin API: -=[ OBSOLETE ]=-
- --------------
-
-Basic funcs
------------
-
-// s32 CALLBACK PADinit(u32 flags);
-
-Inits the plugin, return 0 on success, else -1.
-
-// s32 CALLBACK PADopen(void *pDsp);
-
-Opens the plugin, return 0 on success, else -1.
-The 'pDsp' is a value from the GS plugin (refer to
-GSopen).
-
-// void CALLBACK PADclose();
-
-Close the plugin.
-
-// void CALLBACK PADshutdown();
-
-Shutdown the plugin.
-
-// keyEvent* CALLBACK PADkeyEvent();
-
-Called every vsync, return NULL if no event happened.
-
-// u8 CALLBACK PADstartPoll(int pad);
-
-Starts polling data from the PAD, 'pad' can be 1 (pad1)
-or 2 (pad2).
-Returns first byte from buffer;
-
-// u8 CALLBACK PADpoll(u8 value);
-
-Returns next byte from buffer;
-Refer to "pad and mem card data.txt" or "padmem.txt",
-for info about value/buffer data.
-
-// u32 CALLBACK PADquery();
-
-returns: 1 if supported pad1
- 2 if supported pad2
- 3 if both are supported
-
-Extended funcs
---------------
-
-// void CALLBACK PADconfigure();
-
-Configure the plugin.
-
-// void CALLBACK PADabout();
-
-Shows an About Dialog of the plugin.
-
-// s32 CALLBACK PADtest();
-
-Returns 0 if the plugin should work ok, else -1.
-
-
-
- SIO plugin API:
- --------------
-
-Basic funcs
------------
-
-// s32 CALLBACK SIOinit(u32 port, u32 slot, SIOchangeSlotCB f);
-
-Inits the plugin, return 0 on success, else -1.
-port/slot combination will be used to load the corresponding
- configuration data from ini. It's like an id for the instance.
-'f' is a callback function that is used by SIO_TYPE_MTAP capable
- plugins to change active slot in emulator (since sio is emu-controled).
-
-// s32 CALLBACK SIOopen(void *pDsp);
-
-Opens the plugin, return 0 on success, else -1.
-The 'pDsp' is a value from the GS plugin (refer to
-GSopen).
-
-// void CALLBACK SIOclose();
-
-Close the plugin.
-
-// void CALLBACK SIOshutdown();
-
-Shutdown the plugin.
-
-// u8 CALLBACK SIOstartPoll(u8 value);
-
-Starts polling data from the SIO, 'value' is
- 0x01, 0x21, 0x61 and 0x81 corresponding to pad, mtap, rm and mc.
-Returns first byte from buffer;
-
-// u8 CALLBACK SIOpoll(u8 value);
-
-Returns next byte from buffer;
-Refer to "pad and mem card data.txt", "padmem.txt" or
- "padspecs.txt" (http://ps2dev.ps2-scene.org/padspecs.txt),
-for info about value/buffer data.
-
-// u32 CALLBACK SIOquery();
-
-#define SIO_TYPE_PAD 0x00000001
-#define SIO_TYPE_MTAP 0x00000004
-#define SIO_TYPE_RM 0x00000040
-#define SIO_TYPE_MC 0x00000100
-
-returns: ORed value of SIO_TYPE_xxxx - the capabilities of the plugin
-eg. a remote control plugin will return SIO_TYPE_PAD | SIO_TYPE_RM
-
-Extended funcs
---------------
-
-// void CALLBACK SIOconfigure();
-
-Configure the plugin.
-
-// void CALLBACK SIOabout();
-
-Shows an About Dialog of the plugin.
-
-// s32 CALLBACK SIOtest();
-
-Returns 0 if the plugin should work ok, else -1.
-
-
-
- SPU2 plugin API:
- ---------------
-
-TODO :)
-
-Basic funcs
------------
-
-// s32 CALLBACK SPU2init();
-// s32 CALLBACK SPU2open(void *pDsp);
-// void CALLBACK SPU2close();
-// void CALLBACK SPU2shutdown();
-// void CALLBACK SPU2update();
-// void CALLBACK SPU2dma(u32 *dmaAddr, char *pRam);
-// void CALLBACK SPU2write(u32 mem, u16 value);
-// u16 CALLBACK SPU2read(u32 mem);
-
-Extended funcs
---------------
-
-// void CALLBACK SPU2configure();
-// void CALLBACK SPU2about();
-// s32 CALLBACK SPU2test();
-
-
-
- CDVD plugin API:
- ---------------
-
-Basic funcs
------------
-
-// s32 CALLBACK CDVDinit();
-
-Inits the plugin, return 0 on success, else -1.
-
-// s32 CALLBACK CDVDopen();
-
-Opens the plugin, return 0 on success, else -1.
-
-// void CALLBACK CDVDclose();
-
-Close the plugin.
-
-// void CALLBACK CDVDshutdown();
-
-Shutdown the plugin.
-
-// s32 CALLBACK CDVDreadTrack(u32 lsn, int mode);
-
-Starts reading from the specified 'lsn' sector location,
-return 0 on success, else -1.
-
-// u8* CALLBACK CDVDgetBuffer();
-
-Gets a pointer to the buffer with the sector data
-readed by a previously CDVDreadTrack call.
-The buffer size depends on the mode used for readTrack.
-
-note: return can be NULL (for async modes)
-
-// s32 CALLBACK CDVDreadSubQ(u32 lsn, cdvdSubQ* subq);
-
-Read subq data from disc at 'lsn' location (only cds have subq data),
-return 0 on success, else -1.
-
-// s32 CALLBACK CDVDgetTN(cdvdTN *Buffer);
-
-Get the the cdvdTN data for the currect CdRom,
-return 0 on success, else -1.
-
-// s32 CALLBACK CDVDgetTD(u8 Track, cdvdLoc *Buffer);
-
-Get the the cdvdTD data for the 'Track' track in the current CdRom,
-return 0 on success, else -1.
-
-// s32 CALLBACK CDVDgetTOC(void* toc);
-
-Get ps2 style toc from disc, return 0 on success, else -1.
-(ps2 toc isnt quite the same as a normal disc toc,
-especially for dvds)
-
-// s32 CALLBACK CDVDgetDiskType();
-
-Returns disktype in the format CDVD_TYPE_xxxx
-
-// s32 CALLBACK CDVDgetTrayStatus();
-
-Returns tray status in the format CDVD_TRAY_xxxx
-
-// s32 CALLBACK CDVDctrlTrayOpen();
-
-Opens disc tray, return 0 on success, else -1.
-
-// s32 CALLBACK CDVDctrlTrayClose();
-
-Closes disc tray, return 0 on success, else -1.
-
-
-Extended funcs
---------------
-
-// void CALLBACK CDVDconfigure();
-
-Configure the plugin.
-
-// void CALLBACK CDVDabout();
-
-Shows an About Dialog of the plugin.
-
-// s32 CALLBACK CDVDtest();
-
-Returns 0 if the plugin should work ok, else -1.
-
-
-2) FAQs
-
- * What's the right open/close sequence?
- 1. CDVD
- 2. GS
- 3. PAD1/2
- 4. SPU2
-
- * Where to start coding a plugin?
- Get an open source plugin, mine are all open source,
- so you can freely base on them.
-
- * Why GSgifTransfer2 exists?
- GSgifTransfer2 is used by the XGKICK VU1 opcode, and
- it doesn't has a size, the GSgifTransfer is used by he GIF
- and the VIF dmas, and it has a size, so that's why :).
-
-3) Notes
-
- * CDVDgetBuffer should be used after CDVDreadTrack,
- like this:
- CDVDreadTrack(time);
- ptr = CDVDgetBuffer();
-
- but not like this;
- ptr = CDVDgetBuffer();
- CDVDreadTrack(time);
-
- * Errors should be checked for both CDVDreadTrack and CDVDgetBuffer,
- and not only CDVDreadTrack.
-
diff --git a/pcsx2/Docs/RemoteDebugging.txt b/pcsx2/Docs/RemoteDebugging.txt
deleted file mode 100644
index 339b400b48..0000000000
--- a/pcsx2/Docs/RemoteDebugging.txt
+++ /dev/null
@@ -1,105 +0,0 @@
-ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
-ºNOTE: 1. this is an internal pcsx2 team document, for developers ONLYº
-º 2. lamers/gamers are excluded º
-º 3. DECI2 will not run your games:P º
-ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
-
-RemoteDebugging
-===============
-
-This is a new feature available for debugging applications within pcsx2 emu.
- Using a remote debugger is not wellcomed unless it is more featured.
- Fortunately, there are such debuggers. Currently added support is for win32
- target only; also, only TCP/IP remote connection and only for Sony's DECI2
- app-level protocol. Future addition could be GNU debugger remote support.
-
-Anyway, pcsx2 has a new menu item that allows one to start a debugging session
- by specifying the listen port [default for DECI2 is 8510]. Pcsx2 will act like
- a server for the remote debugger. It is set to accept connections on any IP.
- For local debugging sessions, use IP=127.0.0.1 aka IP=localhost. On the
- other hand, if a pcsx2 would be listening on an active IP in the Internet,
- anyone could connect to it;) Only one connection is supported. After the
- connection is closed by the client/remote tool, the only thing to do is to
- "admire" the log window and then close it/restart the emu.
-
-So, to start a debug session:
- - first start the emu [quite reasonable; because it will be the server]. There
- are some issues if you start the client first or if you didn't close ALL the
- client subprograms in the last debugging session.
- - choose from the menu, Debug->Remote Debugging. A dialog will pop asking for
- the port to use. Also, if you have a non-HLE bios selected in the Config box,
- ie. a true bios, there will be also an option weather to debug the bios. You
- have 2 choices:
- -not checked=Run Bios
- before any debug is performed a bios run. ie. the emu
- will run the bios up to the shell loading or a bit
- further, to the moment when all the iop modules are
- loaded. You will have then a full environment loaded.
- -checked=Debug Bios
- nothing is done further and the PC=0xBFC00000.
- - after that a connection log window will be shown and you can follow the
- connection data exchange. First, the emu is placed in a wait state.
- - this is the moment you have to run the client. It will open the connection.
- The emu accepts the connection and the DECI2 protocol is on;)
- You'll see how the client queries for registers values & memory areas.
- - the situation gets complicated since you can do many things from now on:
-
-Debug bios:
- - start with a bios selected and the check box checked (see above).
- - PC=0xBFC00000 and you can trace the bios now. Anyway, there is no breakpoints
- support for the bios as the client "thinks" you are debugging the real PS2,
- so you cannot write to bios area. BTW: the breakpoints are implemented by
- patching the code with a BREAK instruction. Since you cannot write such instr
- you cannot put a breakpoint on the bios, cannot run to address and so on...
-Run bios:
- - start with a bios selected and the check box not checked (see above).
- - wait till the emu runs the bios...it will take some time. After THAT the
- connection log window will be displayed.
- - PC=0x82000 or smth like that...you can check the environment set up while
- running the bios. The modules window for instance. And various memory
- structures. Also, this is the entrypoint of the shell loading. Try to trace
- it;)
-Debug an application:
- - start with HLEbios selected (see above)
- - since the debugger (the client) does debug whatever you want to. You can
- load the elf to debug with pcsx2 loader (ie. with File->Load ELF file or
- from the CDVD). But you will need to know the entrypoint to force it in
- remote debugger (set PC to cursor or to address). This way is not recomended.
- I like to use the loader of the debugger since it knows to load the source
- also if available and does not cause troubles with setting the PC. Also, if
- the ELF has symbols, it can run it to main;)
- - now, you're on your own. Use step by step, step over, breakpoints, run to
- cursor, run to address etc. HAPPY DEBUGGING!
-
-KNOWN ISSUES and NOTES
-======================
- - use CDVDnull or another plugin as you like to have or not a src for cdvd
- loading;)
- - pcsx2 does not have support to debug the IOP. You can do this now but it is
- a hard job. That is due to the fact that PS2 can run every processor
- independently (ie. one can be stopped) and pcsx2 cannot. The emu runs either
- all the procs or nothing. So, in the debugger, the debugged processor is on
- stop and others are "running". When there will be added support for debugging
- the IOP, also only one processor will run.
- - do not step through the program very fast. Because of the communication speed
- and a reentrancy issue, this will get the debugger in a FALSE run state. That
- means that the debugger "thinks" that the PS2 (ie. pcsx2;)) is running,
- although it is not. The simple solution to this is to press STOP/BREAK button
- in the debugger. Notice also that some run states might be also true! When
- you are stepping over a big loop...that might take some time, so if you stop
- the emu you will get in the middle of the loop:P
- - you can also notice the low speed that can also be met in the pcsx2 debugger.
- That's because Cpu->Step() is used.
- - also, notice that you cannot debug in recompiler mode! ONLY interpreter mode
- works!
- - IOP modules loading is not supported and the files loaded from host directory
- are also loaded in pcsx2 way, ie. from host\ directory; not through remote
- debugger.
- - if you try to debug the bios and the code is not displayed...scroll down
- in order to have only valid addresses on the screen; ie. the top address
- to be 0xBFC00000 and in emu communication log there will be no ADDRESS ERROR.
-
-
-===============================
-Florin (florinsasu@yahoo.com)
-2003/04/17
diff --git a/pcsx2/Docs/Translating.txt b/pcsx2/Docs/Translating.txt
deleted file mode 100644
index 9fb98e10a2..0000000000
--- a/pcsx2/Docs/Translating.txt
+++ /dev/null
@@ -1,41 +0,0 @@
- Translating PCSX2
- -----------------
-
-Just some small notes for translators.
-
-First download the translator package from the download section of http://www.pcsx2.net
-
-PCSX2 translations are based on the gettext library:
-http://www.gnu.org/software/gettext.
-
-The main file to translate is pcsx2.po which cames in the package you downloaded,
-note that you must place the translated
-strings over the msgstr and leave untouched the msgid.
-
-Example:
-
-msgid "Memory Card 1"
-msgstr "Your Translation goes here"
-
-To test the translation use the msgfmt.exe utility to
-convert the translated pcsx2.po file to a pcsx2.mo file
-with this command: 'msgfmt pcsx2.po -o pcsx2.mo -v', after translating
-the file please send us the .po and .mo file and please ask before
-translating it, maybe someone has already started it
-for your language.
-
-Version update for 0.9.2/3:
-
-I have rewritten the contents of the Translation doc to ease reading
-and brung it up to date with the current GUI. Translations will work in 0.9.2
-but some Menu options may still show as their original names (fixed in 0.9.3).
-
-
-
-If you have any problems contact us and we'll try to
-help you.
-
-Regards
-linuzappz,shadow,refraction
-
-Contact me at : refraction@gmail.com or visit us on efnet #pcsx2
\ No newline at end of file
diff --git a/pcsx2/Docs/readme 0.9.4.txt b/pcsx2/Docs/readme 0.9.4.txt
deleted file mode 100644
index 2048b28cb2..0000000000
--- a/pcsx2/Docs/readme 0.9.4.txt
+++ /dev/null
@@ -1,146 +0,0 @@
-PCSX2 is a PlayStation 2 emulator for Windows and Linux, started by the same team that brought you PCSX (a Sony PlayStation 1 emulator).
-
-The PCSX2 project attempts to allow PS2 code to be executed on your computer, thus meaning you can put a PS2 DVD or CD into your computers drive, and boot it up!
-
-
-Overview
-
-The project has been running for more than five years now, and since it's initial release has grown in compatibility. From initially just being able to run a few public domain demos, it's current state enables many games to boot and actually go in game, such as the 'famous' Final Fantasy X or Devil May Cry 3. You can always visit the PCSX2 homepage (http://www.pcsx2.net) to check the latest compatibility status of games with more than 1800 titles tested.
-
-
-Configuration
-
-A very detailed guide is available on the PCSX2 homepage which is already translated in several languages!
-You can consult it here: http://www.pcsx2.net/guide.php
-
-
-Status
-
-PCSX2 has come a long way since its’ starting point back at 2002.Current features include:
-
-•Separate recompilers for Emotion Engine (EE) , Vector Unit 0 (VU0) and Vector Unit 1 (VU1).
-•Dual core support, with the Graphics Synthesizer (GS) running on a second thread.
-•Usage of MMX,SSE1,SSE2 and limited SSE3 extensions
-•Proper SPU2 emulation featuring Auto DMA and Time Scaling
-•Full gamepad support featuring Dual Shock 2,analog controls and even supporting analog movement over keyboard (using some external plugins)
-•Patch system for creating cheats and for workarounds on games
-
-Sections that still need work:
-
-•Dev9 functions, such as HDD and Ethernet (partially implemented) support
-•Firewire emulation (quite low on the list though)
-•USB emulation (very partially implemented)
-•Image Processing Unit (IPU) emulation which is responsible for the FMV playback.It has been implemented but it is buggy and slow
-•MIPS cache needs to be properly implemented (barely works at this time)
-
-
-
-
-How can you help
-
-As most of you are aware, the PCSX2 team is working on this project at the expense of their free time and provide it without charging the program’s use.
-If you want to show your appreciation to these people and motivate them, you can donate any amount of money you feel is right to the team’s paypal account found in the official site.
-These funds will be used so the team members can get more modern and new hardware in order to test and debug more efficiently and even implement new features (just like dual core support for example).
-
-If you are a programmer and you are interested in helping the PCSX2 team by making additions or corrections to the code, you are free to browse through the public SVN repository here (http://sourceforge.net/projects/pcsx2) after taking into account PCSX2 is under the GNU General Public Licence (GPL) v2.
-
-
-
-The Coding Team
-
-Below you can see 3 tables, showing the current team members who are actively coding at the present time, the current team members who have been inactive for some time and the older team members who for some reason quit along the way, which include the previous project leader Linuzappz to whom we send our best regards :)
-
-
-Current active team members:
-
-Nickname Real Name Place Occupation Comments
-
-florin Florin Sasu Romania co-coder Master of HLE. Master of cd code and bios HLE..
-saqib - Pakistan Main Coder Fixing bugs around (FPU, Interpreter, VUs...)
-Nachnbrenner - Germany co-coder patch freak :P
-aumatt Australia co-coder a bit of everything mostly handles CDVD cmds
-refraction Alex Brown England co-coder General Coding DMA/VIF etc
-zerofrog - USA co-coder Recompilers, ZeroGS, x86-64, linux, optimizations, general fixes and new features
-
-Current inactive team members:
-
-Nickname Real Name Place Occupation Comments
-
-Shadow George Moralis Greece co-coder Master of cpu, master of bugs, general coding…
-Goldfinger - Brazil co-coder MMI,FPU and general stuff
-loser - Australia co-coder obscure cdvd related stuff
-
-Ex team members:
-
-Nickname Real Name Place Occupation Comments
-
-Linuzappz - Argentina Main Coder Master of The GS emulation and so many others..
-basara - - co-coder Recompiler programmer. general coding
-[TyRaNiD] - - co-coder GS programmer.General coding
-Roor - - co-coder General coding
-
-Additional coding:
-F|RES, Pofis, Gigaherz, Nocomp, _Riff_, fumofumo
-
-The Beta Tester Team
-
-Beta testers are people (slaves/mindless grunts :P) who constantly test new PCSX2 beta builds to report any new bugs, regressions or improvements. While this might sound simple to most, what many people do not know is that testers also debug with the coders, maintain the huge game compatibility list, create dumps and logs for the coders and so much more. As above, active, inactive and ex members are listed alphabetically
-
-Current active members:
-
-Bositman, CKemu, Crushtest, Falcon4Ever, GeneralPlot, Prafull, RPGWizard, RudyX, Parotaku
-
-
-Current inactive team members:
-
-Belmont, Knuckles, Raziel
-
-
-Ex team members:
-Chaoscode, CpUMasteR, EFX , Elly, JegHegy, Razorblade, Seta San, Snake875
-
-
-Additional thanks and credits
-
-Duke of NAPALM: For the 3d stars demo. The first demo that worked in pcsx2 :)
-Tony Saveski (dreamtime): For his great ps2tutorials!!
-F|res: Author of dolphin, a big thanks from shadow..
-Now3d: The guy that helped shadow at his first steps..
-Keith: Who believed in us..
-Bobbi & Thorgal: For hosting us, for the old page design and so many other things
-Sjeep: Help and info
-BGnome: Help testing stuff
-Dixon: Design of the old pcsx2 page, and the pcsx2.net domain
-Bositman: PCSX2 beta tester :) (gia sou bositman pare ta credits sou )
-No-Reccess: Nice guy and great demo coder :)
-NSX2 team: For their help with VU ;)
-Razorblade: For the old PCSX2 logo & icon.
-Snake: He knows what for :P
-Ector: Awesome emu :)
-Zezu: A good guy. Good luck with your emu :P
-Hiryu & Sjeep: For their libcdvd (iso parsing and filesystem driver code)
-Sjeep: For the SjDATA filesystem driver
-F|res: For the original DECI2 implementation
-libmpeg2: For the mpeg2 decoding routines
-Aumatt: For applying fixes to pcsx2
-Microsoft: For VC.Net 2003 (and now 2005) (really faster than vc6) :P
-NASM team: For nasm
-CKemu: Logos/design
-
-and probably to a few more..
-
-Special Shadow's thanks go to...
-
-My friends: Dimitris, James, Thodoris, Thanasis and probably to a few more..and of course to a lady somewhere out there....
-
-
-Created for v0.9.4 by bositman.
-
-
-
-
-
-
-
-The PCSX2 Coding and Beta testing team
-
diff --git a/pcsx2/Docs/readme Playground.txt b/pcsx2/Docs/readme Playground.txt
deleted file mode 100644
index b50fea69ff..0000000000
--- a/pcsx2/Docs/readme Playground.txt
+++ /dev/null
@@ -1,70 +0,0 @@
-About PCSX2 Playground:
-
-pcsx2-playground is originally based off the c/c++ official pcsx2 trunk code. It has since been modified heavily in an on-going attempt to clean up the code, fix bugs, and improve overall emulation ability.
-
-
-Devs (alphabetically) - Comments/Specialty
-
-arcum42 - Linux compatibility and porting.
-cottonvibes - FPU and VU recompilers, general coding.
-drkIIRaziel - Memory management, emulation theory/principals, recompiler design.
-gigaherz - General coding, spu2ghz, cdvdGigaherz, works on stuff until he gets 'bored' :p
-Jake.Stine - MTGS, counters, timing/syncing, general coding.
-ramapcsx2 - pcsx2 tweaker, always finds those magic values that make the game work. :p
-
-Beta Testers (alphabetically):
-
-Bositman - Setup our Playground forums and helps moderate them. Also beta tests for us and actively contributes in Playground discussion.
-Crushtest - Helps with Playground beta testing and discussion.
-Krakatos - Project Management and Playground forums moderation. Devotes several hours of his day to playground beta-testing and discussion.
-
-Additional Credits:
-
-Special thanks to the official pcsx2 team for making ps2 emulation a reality!
-Also a big special-thanks to the pcsx2 team for hosting our Playground forums and builds!
-More info about the official pcsx2 team can be found in "readme 0.9.4.txt"
-
-
-Added Features and Improvements:
-
- * Improved Frameskip/VU-skip
- * Special Game Fixes Section
- * Advanced Options Section for custom tweaking VU/FPU behavior.
- * Rewritten Multithreaded GS (MTGS) mode, with 15% speedup and fixes many instabilities.
- * Improved VU/FPU Flags and Clamping support (helps fix odd behaviors and SPS in some games)
- * Improved EE/IOP synchronization (fixes many freeze-ups and vmhacks).
- * Improved CDVD support.
-
-
-Performance:
-
-Emulation speeds when using Playground's default settings will be slower than the official 0.9.4 or 0.9.5 builds because pcsx2-playground is doing more work to provide your games with a more correct emulated environment. Properly emulating all of the VU clamping and flags is very time-consuming in particular. So various speedhacks were made so people can disable some of these slower emulation features for games that do not need them. When set-up properly, pcsx2-playground is usually faster than the official build.
-
-The speed hacks offered are still a work-in-progress, and so for now there isn't much documentation on how to use them. Every game is different and so you'll just have to play around and see what works best. You can also try visiting the Pcsx2 forums, where members of the Playground team and other knowledgeable contributors should be able to help you get the most out of the emulator.
-
-
-The Future of Pcsx2 Playground
-
-There is still alot of room for improvement, but we're trying hard to fix stuff as best we can. Our todo/wish lists are extensive but we're optimistic that the emulator can continue to improve. :)
-
-Visit our forums at Pcsx2.net, or come to the #pcsx2 IRC channel on efnet if you want to contribute!
-
-
-System Requirements:
-
-Minimum
-
- * Windows/Linux OS
- * CPU that supports SSE2 (Pentium 4 and up, Athlon64 and up)
- * GPU that supports Pixel Shaders 2.0
- * 512mb RAM
-
-Recommended
-
- * Windows Vista 32bit/64bit
- * CPU: Intel Core 2 Duo @ 3.2ghz or better
- * GPU: 8600gt or better
- * 1gb RAM (2gb if on Vista)
-
-Note: pcsx2 only takes advantage of 2 cores so far; so a quad-core processor will not help with speed.
-
diff --git a/pcsx2/Docs/specs.tex b/pcsx2/Docs/specs.tex
deleted file mode 100644
index aca2581945..0000000000
--- a/pcsx2/Docs/specs.tex
+++ /dev/null
@@ -1,159 +0,0 @@
-\documentclass[10pt]{article}
-
-\begin{document}
-\section{...stuff...}
--order the plugins are started\\
--platform dependent stuff, calling convention\\
-
-\section{Generic functions}
-The following three functions will be present in all the plugin libraries,
- in order to be recognized as valid PS2E plugins. They will help
- the emulator to find a plugin capabilities.
-
-\subsection{PS2EgetLibType}
-\begin{quote}\texttt{unsigned int} PS2EgetLibType(\texttt{void});\end{quote}
-
-\begin{description}
-\item[PS2EgetLibType] returns the type of the plugin.
- In fact it indicates the APIs supported by the dynamic library.
- The returned value can be one of:
-\begin{itemize}
-\item PS2E\_LT\_GS 0x01
-\item PS2E\_LT\_PAD 0x02
-\item PS2E\_LT\_SPU2 0x04
-\item PS2E\_LT\_CDVD 0x08
-\item PS2E\_LT\_DEV9 0x10
-\end{itemize}
-Currently, these are the only plugin types supported. Note that the values
- can be ORed.
-\end{description}
-
-
-
-\subsection{PS2EgetLibVersion2}
-\begin{quote}\texttt{unsigned int} PS2EgetLibVersion2(\texttt{unsigned int}
- type);\end{quote}
-
-\begin{description}
-\item[PS2EgetLibVersion2] returns a combination of version numbers.
-Parameter \emph{type} is used to select the functions set for which
- the emulator requests version information. See \texttt{PS2EgetLibType}
- for the values of this parameter.
-
-The 5 APIs and their corresponding specs have changed over time.
- In order to prevent crashes and incompatibilities, a spec version have
- been introduced as the highest 16 bits of the returned value.
-\begin{itemize}
-\item PS2E\_GS\_VERSION 0x0002
-\item PS2E\_PAD\_VERSION 0x0002
-\item PS2E\_SPU2\_VERSION 0x0002
-\item PS2E\_CDVD\_VERSION 0x0003
-\item PS2E\_DEV9\_VERSION 0x0001
-\end{itemize}
-Notice that when the specs do change \texttt{and} the compatibility is broken,
- this version number is increased. The emulator loading code will support
- only one version for a certain library type at a time. If the internal
- version and plugin API version does not match, the plugin
- will not be loaded nor used.
-
-The low half of the returned value reflects the version of the plugin itself.
- A major.minor versioning scheme is used on the two bytes like this:
-\begin{verbatim}
-...//code
-return (PS2E_CDVD_VERSION<<16) | (0<<8) | (67); //version 0.67
-\end{verbatim}
-\end{description}
-
-
-
-\subsection{PS2EgetLibName}
-\begin{quote}\texttt{char*} PS2EgetLibName(\texttt{void});\end{quote}
-
-\begin{description}
-\item[PS2EgetLibName] returns a string that contains a short\footnote{
-less then 30 chars in one line} name. The string is stored
- in the plugin and will be used to represent the plugin in a config dialog.
-\end{description}
-
-
-
-
-
-\section{CDVD functions}
-This section describes the functions that corresponds to CDVD\footnote{short for CD/DVD}
-API - type PS2E\_LT\_CDVD(0x08).
- These specs are for PS2E\_CDVD\_VERSION(0x0003).
-
-\subsection{CDVDinit}
-\begin{quote}\texttt{int} CDVDinit(\texttt{void});\end{quote}
-
-\begin{description}
-\item[CDVDinit] does the initialization of the CDVD interface.
- It is the first function called; so, it can be used to do all the
- init stuff such as reading saved configuration, one-time hardware init and
- preparing the internal structures, tables, etc\ldots
- If an error is found the function will return -1, otherwise 0.
-\end{description}
-
-
-
-\subsection{CDVDshutdown}
-\begin{quote}\texttt{void} CDVDshutdown(\texttt{void});\end{quote}
-
-\begin{description}
-\item[CDVDshutdown] is called when the emulator is closed. Do now the freeing
- operations. DO NOT FORGET TO FREE the resources used. The OS will probably
- free the garbage left, but some pieces of hardware might need a
- ``deinitialization'' procedure in order to work next time the emulator
- is run. Imagine that the user will choose another plugin to run with
- next time instead of yours, do not cause troubles.
-\end{description}
-
-
-
-\subsection{CDVDopen}
-\begin{quote}\texttt{int} CDVDopen(\texttt{void});\end{quote}
-
-\begin{description}
-\item[CDVDopen] is called when the emulation starts.
- It is recommended that functions called from now on (until
- \texttt{CDVDclose} is met) to spend few processing time. Avoid calling
- blocking functions and if you do, the user should be notified visualy.
- Report errors by return value and warrings using a log.
- If an error is found the function will return -1 and the emulation stops,
- otherwise 0.
-
-Do not report errors using message boxes while the emu runs, the GS plugin
- might use a display mode that can cause troubles to windowing system
- in showing your message.
-\end{description}
-
-
-
-\subsection{CDVDclose}
-\begin{quote}\texttt{void} CDVDclose(\texttt{void});\end{quote}
-
-\begin{description}
-\item[CDVDclose] is called when the emulation is stopped. Some of the
- resources that you aquired with \texttt{CDVDstart} have to be released now
- in order that other programs to use them. If you locked the CD/DVD tray,
- unlock it so the user can change the disc.
-\end{description}
-
-
-
-\subsection{CDVDreadTrack}
-\begin{quote}\texttt{int} CDVDreadTrack(\texttt{unsigned int}
- lsn, \texttt{int} mode);\end{quote}
-
-\begin{description}
-\item[CDVDreadTrack] is the function that performs the read of \texttt{a}
- sector from the CD/DVD. Parameter \emph{lsn} specifies the absolute value
- of the sector number in linear addressing mode without \emph{lead-in}\footnote{i.e.\
-without leading 150 sectors == 2 seconds}. Usualy, the plugin will read
- a full sector of 2352 bytes in its internal buffer.
- The second parameter tells what port of ...
-\end{description}
-
-\end{document}
-
diff --git a/pcsx2/FiFo.cpp b/pcsx2/FiFo.cpp
index 2b0a022404..1523702820 100644
--- a/pcsx2/FiFo.cpp
+++ b/pcsx2/FiFo.cpp
@@ -173,6 +173,7 @@ void __fastcall WriteFIFO_page_6(u32 mem, const mem128_t *value)
psHu64(0x6000) = value[0];
psHu64(0x6008) = value[1];
+ FreezeRegs(1);
if( mtgsThread != NULL )
{
const uint count = mtgsThread->PrepDataPacket( GIF_PATH_3, value, 1 );
@@ -184,10 +185,9 @@ void __fastcall WriteFIFO_page_6(u32 mem, const mem128_t *value)
}
else
{
- FreezeRegs(1);
GSGIFTRANSFER3((u32*)value, 1);
- FreezeRegs(0);
}
+ FreezeRegs(0);
}
void __fastcall WriteFIFO_page_7(u32 mem, const mem128_t *value)
diff --git a/pcsx2/GS.h b/pcsx2/GS.h
index a15a8c1977..a591767146 100644
--- a/pcsx2/GS.h
+++ b/pcsx2/GS.h
@@ -175,9 +175,14 @@ protected:
uint m_RingPos; // cur pos gs is reading from
uint m_WritePos; // cur pos ee thread is writing to
- Threading::Semaphore m_post_InitDone; // used to regulate thread startup and gsInit
- Threading::MutexLock m_lock_RingRestart;
+ // used to regulate thread startup and gsInit
+ Threading::Semaphore m_post_InitDone;
+ Threading::MutexLock m_lock_RingRestart;
+
+ // used to keep multiple threads from sending packets to the ringbuffer concurrently.
+ Threading::MutexLock m_PacketLocker;
+
// Used to delay the sending of events. Performance is better if the ringbuffer
// has more than one command in it when the thread is kicked.
int m_CopyCommandTally;
diff --git a/pcsx2/MTGS.cpp b/pcsx2/MTGS.cpp
index 89b7516c61..6820eb5610 100644
--- a/pcsx2/MTGS.cpp
+++ b/pcsx2/MTGS.cpp
@@ -197,6 +197,7 @@ mtgsThreadObject::mtgsThreadObject() :
, m_post_InitDone()
, m_lock_RingRestart()
+, m_PacketLocker( true ) // true - makes it a recursive lock
, m_CopyCommandTally( 0 )
, m_CopyDataTally( 0 )
@@ -712,14 +713,12 @@ int mtgsThreadObject::Callback()
void mtgsThreadObject::WaitGS()
{
// Freeze registers because some kernel code likes to destroy them
- FreezeRegs(1);
SetEvent();
while( volatize(m_RingPos) != volatize(m_WritePos) )
{
Timeslice();
//SpinWait();
}
- FreezeRegs(0);
}
// Sets the gsEvent flag and releases a timeslice.
@@ -733,8 +732,6 @@ void mtgsThreadObject::SetEvent()
void mtgsThreadObject::PrepEventWait()
{
- // Freeze registers because some kernel code likes to destroy them
- FreezeRegs(1);
//Console::Notice( "MTGS Stall! EE waits for nothing! ... except your GPU sometimes." );
SetEvent();
Timeslice();
@@ -742,7 +739,6 @@ void mtgsThreadObject::PrepEventWait()
void mtgsThreadObject::PostEventWait() const
{
- FreezeRegs(0);
}
u8* mtgsThreadObject::GetDataPacketPtr() const
@@ -784,29 +780,29 @@ void mtgsThreadObject::SendDataPacket()
m_packet_size = 0;
- if( m_RingBufferIsBusy ) return;
-
- // The ringbuffer is current in a resting state, so if enough copies have
- // queued up then go ahead and initiate the GS thread..
-
- // Optimization notes: What we're doing here is initiating a "burst" mode on
- // the thread, which improves its cache hit performance and makes it more friendly
- // to other threads in Pcsx2 and such. Primary is the Command Tally, and then a
- // secondary data size threshold for games that do lots of texture swizzling.
-
- // 16 was the best value I found so far.
- // tested values:
- // 24 - very slow on HT machines (+5% drop in fps)
- // 8 - roughly 2% slower on HT machines.
-
- m_CopyDataTally += m_packet_size;
- if( ( m_CopyDataTally > 0x8000 ) || ( ++m_CopyCommandTally > 16 ) )
+ if( !m_RingBufferIsBusy )
{
- FreezeRegs(1);
- //Console::Status( "MTGS Kick! DataSize : 0x%5.8x, CommandTally : %d", m_CopyDataTally, m_CopyCommandTally );
- SetEvent();
- FreezeRegs(0);
+ // The ringbuffer is current in a resting state, so if enough copies have
+ // queued up then go ahead and initiate the GS thread..
+
+ // Optimization notes: What we're doing here is initiating a "burst" mode on
+ // the thread, which improves its cache hit performance and makes it more friendly
+ // to other threads in Pcsx2 and such. Primary is the Command Tally, and then a
+ // secondary data size threshold for games that do lots of texture swizzling.
+
+ // 16 was the best value I found so far.
+ // tested values:
+ // 24 - very slow on HT machines (+5% drop in fps)
+ // 8 - roughly 2% slower on HT machines.
+
+ m_CopyDataTally += m_packet_size;
+ if( ( m_CopyDataTally > 0x8000 ) || ( ++m_CopyCommandTally > 16 ) )
+ {
+ //Console::Status( "MTGS Kick! DataSize : 0x%5.8x, CommandTally : %d", m_CopyDataTally, m_CopyCommandTally );
+ SetEvent();
+ }
}
+ //m_PacketLocker.Unlock();
}
int mtgsThreadObject::PrepDataPacket( GIF_PATH pathidx, const u64* srcdata, u32 size )
@@ -840,6 +836,8 @@ static u32 GSRingBufCopySz = 0;
// size - size of the packet data, in smd128's
int mtgsThreadObject::PrepDataPacket( GIF_PATH pathidx, const u8* srcdata, u32 size )
{
+ //m_PacketLocker.Lock();
+
#ifdef PCSX2_GSRING_TX_STATS
ringtx_s += size;
ringtx_s_ulg += size&0x7F;
@@ -1064,6 +1062,8 @@ __forceinline void mtgsThreadObject::_FinishSimplePacket( uint future_writepos )
void mtgsThreadObject::SendSimplePacket( GS_RINGTYPE type, int data0, int data1, int data2 )
{
+ //ScopedLock locker( m_PacketLocker );
+
const uint thefuture = _PrepForSimplePacket();
PacketTagType& tag = (PacketTagType&)m_RingBuffer[m_WritePos];
@@ -1072,11 +1072,13 @@ void mtgsThreadObject::SendSimplePacket( GS_RINGTYPE type, int data0, int data1,
tag.data[1] = data1;
tag.data[2] = data2;
- _FinishSimplePacket( thefuture );
+ _FinishSimplePacket( thefuture );
}
void mtgsThreadObject::SendPointerPacket( GS_RINGTYPE type, u32 data0, void* data1 )
{
+ //ScopedLock locker( m_PacketLocker );
+
const uint thefuture = _PrepForSimplePacket();
PacketTagType& tag = (PacketTagType&)m_RingBuffer[m_WritePos];
diff --git a/pcsx2/NewGUI/LogOptionsDialog.cpp b/pcsx2/NewGUI/LogOptionsDialog.cpp
index d078140aa9..da5083e728 100644
--- a/pcsx2/NewGUI/LogOptionsDialog.cpp
+++ b/pcsx2/NewGUI/LogOptionsDialog.cpp
@@ -1,163 +1,163 @@
-/* Pcsx2 - Pc Ps2 Emulator
- * Copyright (C) 2002-2009 Pcsx2 Team
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#include "PrecompiledHeader.h"
-#include "DebugTools/Debug.h"
-#include "LogOptionsDialog.h"
-
-#include
-
-using namespace wxHelpers;
-
-void ConnectChildrenRecurse( wxWindow* parent, int eventType, wxObjectEventFunction handler )
-{
- wxWindowList& list = parent->GetChildren();
- for( wxWindowList::iterator iter = list.begin(); iter != list.end(); ++iter)
- {
- wxWindow *current = *iter;
- ConnectChildrenRecurse( current, eventType, handler );
- parent->Connect( current->GetId(), eventType, handler );
- }
-}
-
-namespace Dialogs
-{
-//////////////////////////////////////////////////////////////////////////////////////////
-//
-LogOptionsDialog::eeLogOptionsPanel::eeLogOptionsPanel( wxWindow* parent ) :
- CheckedStaticBox( parent, wxHORIZONTAL, L"EE Logs", LogID_EEBox )
-{
- wxBoxSizer& eeMisc = *new wxBoxSizer( wxVERTICAL );
-
- AddCheckBoxTo( this, eeMisc, L"Memory", LogID_Memory );
- AddCheckBoxTo( this, eeMisc, L"Bios", LogID_Bios );
- AddCheckBoxTo( this, eeMisc, L"Elf", LogID_ELF );
-
- wxBoxSizer& eeStack = *new wxBoxSizer( wxVERTICAL );
- eeStack.Add( new DisasmPanel( this ), stdSpacingFlags );
- eeStack.Add( &eeMisc );
-
- ThisSizer.Add( new HwPanel( this ), stdSpacingFlags );
- ThisSizer.Add( &eeStack );
-
- SetValue( true );
- Fit();
-}
-
-LogOptionsDialog::eeLogOptionsPanel::DisasmPanel::DisasmPanel( wxWindow* parent ) :
- CheckedStaticBox( parent, wxVERTICAL, L"Disasm" , LogID_Disasm )
-{
- AddCheckBox( L"Core", LogID_CPU );
- AddCheckBox( L"Fpu", LogID_FPU );
- AddCheckBox( L"VU0", LogID_VU0 );
- AddCheckBox( L"Cop0", LogID_COP0 );
- AddCheckBox( L"VU Macro",LogID_VU_Macro );
-
- SetValue( false );
- Fit();
-}
-
-LogOptionsDialog::eeLogOptionsPanel::HwPanel::HwPanel( wxWindow* parent ) :
- CheckedStaticBox( parent, wxVERTICAL, L"Hardware", LogID_Hardware )
-{
- AddCheckBox( L"Registers", LogID_Registers );
- AddCheckBox( L"Dma", LogID_DMA );
- AddCheckBox( L"Vif", LogID_VIF );
- AddCheckBox( L"SPR", LogID_SPR );
- AddCheckBox( L"GIF", LogID_GIF );
- AddCheckBox( L"Sif", LogID_SIF );
- AddCheckBox( L"IPU", LogID_IPU );
- AddCheckBox( L"RPC", LogID_RPC );
-
- SetValue( false );
- Fit();
-}
-
-void LogOptionsDialog::eeLogOptionsPanel::OnLogChecked(wxCommandEvent &event)
-{
- //LogChecks checkId = (LogChecks)(int)event.m_callbackUserData;
- //ToggleLogOption( checkId );
- event.Skip();
-}
-
-//////////////////////////////////////////////////////////////////////////////////////////
-//
-LogOptionsDialog::iopLogOptionsPanel::iopLogOptionsPanel( wxWindow* parent ) :
- CheckedStaticBox( parent, wxVERTICAL, L"IOP Logs", LogID_IopBox )
-{
- AddCheckBox( L"Disasm", LogID_Disasm);
- AddCheckBox( L"Memory", LogID_Memory );
- AddCheckBox( L"Bios", LogID_Bios );
- AddCheckBox( L"Registers", LogID_Hardware );
- AddCheckBox( L"Dma", LogID_DMA );
- AddCheckBox( L"Pad", LogID_Pad );
- AddCheckBox( L"Cdrom", LogID_Cdrom );
- AddCheckBox( L"GPU (PSX)", LogID_GPU );
-
- SetValue( true );
- Fit();
-};
-
-//////////////////////////////////////////////////////////////////////////////////////////
-//
-LogOptionsDialog::LogOptionsDialog(wxWindow* parent, int id, const wxPoint& pos, const wxSize& size):
- wxDialogWithHelpers( parent, id, L"Logging", true, pos, size )
-{
- eeLogOptionsPanel& eeBox = *new eeLogOptionsPanel( this );
- iopLogOptionsPanel& iopSizer = *new iopLogOptionsPanel( this );
-
- wxStaticBoxSizer& miscSizer = *new wxStaticBoxSizer( wxHORIZONTAL, this, _T("Misc") );
- AddCheckBox( miscSizer, L"Log to STDOUT", LogID_StdOut );
- AddCheckBox( miscSizer, L"SYMs Log", LogID_Symbols );
-
- wxBoxSizer& mainsizer = *new wxBoxSizer( wxVERTICAL );
- wxBoxSizer& topSizer = *new wxBoxSizer( wxHORIZONTAL );
-
- // Expand comments below are form an attempt of mine to make the dialog box resiable, but it
- // only wanted to work right for the miscSizer and I couldn't figure out why the CheckStaticBox
- // panel wouldn't also resize to fit the window.. :( -- air
-
- topSizer.Add( &eeBox, stdSpacingFlags ); //.Expand() );
- topSizer.Add( &iopSizer, stdSpacingFlags ); //.Expand() );
-
- mainsizer.Add( &topSizer ); //, wxSizerFlags().Expand() ); // topsizer has it's own padding.
- mainsizer.Add( &miscSizer, stdSpacingFlags ); //.Expand() );
-
- AddOkCancel( mainsizer );
-
- SetSizerAndFit( &mainsizer, true );
-
- ConnectChildrenRecurse( this, wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(LogOptionsDialog::LogChecked) );
-}
-
-
-void LogOptionsDialog::LogChecked(wxCommandEvent &evt)
-{
- // Anything going here should be a checkbox, unless non-checkbox controls send CheckBox_Clicked commands
- // (which would seem bad).
- wxCheckBox* checker = wxStaticCast( evt.GetEventObject(), wxCheckBox );
-
- switch( checker->GetId() )
- {
- // [TODO] : Implement me!
- }
-
- evt.Skip();
-}
-
+/* Pcsx2 - Pc Ps2 Emulator
+ * Copyright (C) 2002-2009 Pcsx2 Team
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#include "PrecompiledHeader.h"
+#include "DebugTools/Debug.h"
+#include "LogOptionsDialog.h"
+
+#include
+
+using namespace wxHelpers;
+
+void ConnectChildrenRecurse( wxWindow* parent, int eventType, wxObjectEventFunction handler )
+{
+ wxWindowList& list = parent->GetChildren();
+ for( wxWindowList::iterator iter = list.begin(); iter != list.end(); ++iter)
+ {
+ wxWindow *current = *iter;
+ ConnectChildrenRecurse( current, eventType, handler );
+ parent->Connect( current->GetId(), eventType, handler );
+ }
+}
+
+namespace Dialogs
+{
+//////////////////////////////////////////////////////////////////////////////////////////
+//
+LogOptionsDialog::eeLogOptionsPanel::eeLogOptionsPanel( wxWindow* parent ) :
+ CheckedStaticBox( parent, wxHORIZONTAL, L"EE Logs", LogID_EEBox )
+{
+ wxBoxSizer& eeMisc = *new wxBoxSizer( wxVERTICAL );
+
+ AddCheckBoxTo( this, eeMisc, L"Memory", LogID_Memory );
+ AddCheckBoxTo( this, eeMisc, L"Bios", LogID_Bios );
+ AddCheckBoxTo( this, eeMisc, L"Elf", LogID_ELF );
+
+ wxBoxSizer& eeStack = *new wxBoxSizer( wxVERTICAL );
+ eeStack.Add( new DisasmPanel( this ), stdSpacingFlags );
+ eeStack.Add( &eeMisc );
+
+ ThisSizer.Add( new HwPanel( this ), stdSpacingFlags );
+ ThisSizer.Add( &eeStack );
+
+ SetValue( true );
+ Fit();
+}
+
+LogOptionsDialog::eeLogOptionsPanel::DisasmPanel::DisasmPanel( wxWindow* parent ) :
+ CheckedStaticBox( parent, wxVERTICAL, L"Disasm" , LogID_Disasm )
+{
+ AddCheckBox( L"Core", LogID_CPU );
+ AddCheckBox( L"Fpu", LogID_FPU );
+ AddCheckBox( L"VU0", LogID_VU0 );
+ AddCheckBox( L"Cop0", LogID_COP0 );
+ AddCheckBox( L"VU Macro",LogID_VU_Macro );
+
+ SetValue( false );
+ Fit();
+}
+
+LogOptionsDialog::eeLogOptionsPanel::HwPanel::HwPanel( wxWindow* parent ) :
+ CheckedStaticBox( parent, wxVERTICAL, L"Hardware", LogID_Hardware )
+{
+ AddCheckBox( L"Registers", LogID_Registers );
+ AddCheckBox( L"Dma", LogID_DMA );
+ AddCheckBox( L"Vif", LogID_VIF );
+ AddCheckBox( L"SPR", LogID_SPR );
+ AddCheckBox( L"GIF", LogID_GIF );
+ AddCheckBox( L"Sif", LogID_SIF );
+ AddCheckBox( L"IPU", LogID_IPU );
+ AddCheckBox( L"RPC", LogID_RPC );
+
+ SetValue( false );
+ Fit();
+}
+
+void LogOptionsDialog::eeLogOptionsPanel::OnLogChecked(wxCommandEvent &event)
+{
+ //LogChecks checkId = (LogChecks)(int)event.m_callbackUserData;
+ //ToggleLogOption( checkId );
+ event.Skip();
+}
+
+//////////////////////////////////////////////////////////////////////////////////////////
+//
+LogOptionsDialog::iopLogOptionsPanel::iopLogOptionsPanel( wxWindow* parent ) :
+ CheckedStaticBox( parent, wxVERTICAL, L"IOP Logs", LogID_IopBox )
+{
+ AddCheckBox( L"Disasm", LogID_Disasm);
+ AddCheckBox( L"Memory", LogID_Memory );
+ AddCheckBox( L"Bios", LogID_Bios );
+ AddCheckBox( L"Registers", LogID_Hardware );
+ AddCheckBox( L"Dma", LogID_DMA );
+ AddCheckBox( L"Pad", LogID_Pad );
+ AddCheckBox( L"Cdrom", LogID_Cdrom );
+ AddCheckBox( L"GPU (PSX)", LogID_GPU );
+
+ SetValue( true );
+ Fit();
+};
+
+//////////////////////////////////////////////////////////////////////////////////////////
+//
+LogOptionsDialog::LogOptionsDialog(wxWindow* parent, int id, const wxPoint& pos, const wxSize& size):
+ wxDialogWithHelpers( parent, id, L"Logging", true, pos, size )
+{
+ eeLogOptionsPanel& eeBox = *new eeLogOptionsPanel( this );
+ iopLogOptionsPanel& iopSizer = *new iopLogOptionsPanel( this );
+
+ wxStaticBoxSizer& miscSizer = *new wxStaticBoxSizer( wxHORIZONTAL, this, _T("Misc") );
+ AddCheckBox( miscSizer, L"Log to STDOUT", LogID_StdOut );
+ AddCheckBox( miscSizer, L"SYMs Log", LogID_Symbols );
+
+ wxBoxSizer& mainsizer = *new wxBoxSizer( wxVERTICAL );
+ wxBoxSizer& topSizer = *new wxBoxSizer( wxHORIZONTAL );
+
+ // Expand comments below are form an attempt of mine to make the dialog box resiable, but it
+ // only wanted to work right for the miscSizer and I couldn't figure out why the CheckStaticBox
+ // panel wouldn't also resize to fit the window.. :( -- air
+
+ topSizer.Add( &eeBox, stdSpacingFlags ); //.Expand() );
+ topSizer.Add( &iopSizer, stdSpacingFlags ); //.Expand() );
+
+ mainsizer.Add( &topSizer ); //, wxSizerFlags().Expand() ); // topsizer has it's own padding.
+ mainsizer.Add( &miscSizer, stdSpacingFlags ); //.Expand() );
+
+ AddOkCancel( mainsizer );
+
+ SetSizerAndFit( &mainsizer, true );
+
+ ConnectChildrenRecurse( this, wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(LogOptionsDialog::LogChecked) );
+}
+
+
+void LogOptionsDialog::LogChecked(wxCommandEvent &evt)
+{
+ // Anything going here should be a checkbox, unless non-checkbox controls send CheckBox_Clicked commands
+ // (which would seem bad).
+ wxCheckBox* checker = wxStaticCast( evt.GetEventObject(), wxCheckBox );
+
+ switch( checker->GetId() )
+ {
+ // [TODO] : Implement me!
+ }
+
+ evt.Skip();
+}
+
} // End Namespace Dialogs
diff --git a/pcsx2/VU0.cpp b/pcsx2/VU0.cpp
index a017527406..823d4827a2 100644
--- a/pcsx2/VU0.cpp
+++ b/pcsx2/VU0.cpp
@@ -178,8 +178,7 @@ void CTC2() {
break;
case REG_CMSAR1: // REG_CMSAR1
if (!(VU0.VI[REG_VPU_STAT].UL & 0x100) ) {
- VU1.VI[REG_TPC].UL = cpuRegs.GPR.r[_Rt_].US[0];
- vu1ExecMicro(VU1.VI[REG_TPC].UL); // Execute VU1 Micro SubRoutine
+ vu1ExecMicro(cpuRegs.GPR.r[_Rt_].US[0]); // Execute VU1 Micro SubRoutine
}
break;
default:
diff --git a/pcsx2/Vif.cpp b/pcsx2/Vif.cpp
index f16a8e2cda..714560e814 100644
--- a/pcsx2/Vif.cpp
+++ b/pcsx2/Vif.cpp
@@ -37,7 +37,6 @@ PCSX2_ALIGNED16(u32 g_vifRow1[4]);
PCSX2_ALIGNED16(u32 g_vifCol1[4]);
extern int g_vifCycles;
-bool mfifodmairq = false;
enum UnpackOffset
{
@@ -449,8 +448,6 @@ void mfifoVIF1transfer(int qwc)
return;
}
- mfifodmairq = false; //Clear any previous TIE interrupt
-
if (vif1ch->qwc == 0 && vifqwc > 0)
{
ptag = (u32*)dmaGetAddr(vif1ch->tadr);
@@ -520,7 +517,6 @@ void mfifoVIF1transfer(int qwc)
{
VIF_LOG("dmaIrq Set");
vif1.done = true;
- mfifodmairq = true; //Let the handler know we have prematurely ended MFIFO
}
}
@@ -609,10 +605,6 @@ void vifMFIFOInterrupt()
hwDmacIrq(DMAC_14);
}*/
- //On a TIE break we do not clear the MFIFO (Art of Fighting)
- //If we dont clear it on MFIFO end, Tekken Tag breaks, understandably (Refraction)
- if (!mfifodmairq) vifqwc = 0;
-
vif1.done = 1;
g_vifCycles = 0;
vif1ch->chcr &= ~0x100;
diff --git a/pcsx2/VifDma.cpp b/pcsx2/VifDma.cpp
index 7552899a5e..797be0c452 100644
--- a/pcsx2/VifDma.cpp
+++ b/pcsx2/VifDma.cpp
@@ -1896,6 +1896,7 @@ static int __fastcall Vif1TransDirectHL(u32 *data)
}
}
+ FreezeRegs(1);
if (mtgsThread != NULL)
{
// copy 16 bytes the fast way:
@@ -1910,10 +1911,9 @@ static int __fastcall Vif1TransDirectHL(u32 *data)
}
else
{
- FreezeRegs(1);
GSGIFTRANSFER2((u32*)splittransfer[0], 1);
- FreezeRegs(0);
}
+ FreezeRegs(0);
if (vif1.tag.size == 0) vif1.cmd = 0;
splitptr = 0;
@@ -1945,6 +1945,7 @@ static int __fastcall Vif1TransDirectHL(u32 *data)
//TODO: ret is guaranteed to be qword aligned ?
+ FreezeRegs(1);
if (mtgsThread != NULL)
{
//unaligned copy.VIF handling is -very- messy, so i'l use this code til i fix it :)
@@ -1955,10 +1956,9 @@ static int __fastcall Vif1TransDirectHL(u32 *data)
}
else
{
- FreezeRegs(1);
GSGIFTRANSFER2(data, (ret >> 2));
- FreezeRegs(0);
}
+ FreezeRegs(0);
return ret;
}
@@ -2569,14 +2569,14 @@ __forceinline void vif1Interrupt()
}
}
- if (vif1.inprogress)
+ if (vif1.inprogress & 0x1)
{
_VIF1chain();
CPU_INT(1, g_vifCycles);
return;
}
- if ((!vif1.done) || (vif1.inprogress & 0x1))
+ if (!vif1.done)
{
if (!(psHu32(DMAC_CTRL) & 0x1))
diff --git a/pcsx2/vtlb.cpp b/pcsx2/vtlb.cpp
index 3b58228151..05e6c25ef7 100644
--- a/pcsx2/vtlb.cpp
+++ b/pcsx2/vtlb.cpp
@@ -90,6 +90,8 @@ __forceinline DataType __fastcall MemOp_r0(u32 addr)
jNO_DEFAULT;
}
+
+ return 0; // technically unreachable, but suppresses warnings.
}
// ------------------------------------------------------------------------
diff --git a/pcsx2/windows/VCprojects/pcsx2_2008.vcproj b/pcsx2/windows/VCprojects/pcsx2_2008.vcproj
index fbbc6438d4..181694750f 100644
--- a/pcsx2/windows/VCprojects/pcsx2_2008.vcproj
+++ b/pcsx2/windows/VCprojects/pcsx2_2008.vcproj
@@ -1,7 +1,7 @@
-
-
-
-
diff --git a/pcsx2/x86/microVU.cpp b/pcsx2/x86/microVU.cpp
index 7cf5f92994..d53bbe4f36 100644
--- a/pcsx2/x86/microVU.cpp
+++ b/pcsx2/x86/microVU.cpp
@@ -48,11 +48,19 @@ microVUt(void) mVUinit(VURegs* vuRegsPtr, int vuIndex) {
mVU->cache = NULL;
mVU->cacheSize = mVUcacheSize;
mVU->prog.max = mMaxProg - 1;
+ mVU->prog.prog = (microProgram*)_aligned_malloc(sizeof(microProgram)*(mVU->prog.max+1), 64);
mVUprint((vuIndex) ? "microVU1: init" : "microVU0: init");
mVU->cache = SysMmapEx((vuIndex ? 0x5f240000 : 0x5e240000), mVU->cacheSize + 0x1000, 0, (vuIndex ? "Micro VU1" : "Micro VU0"));
if (!mVU->cache) throw Exception::OutOfMemory(L"microVU Error: Failed to allocate recompiler memory!");
-
+
+ memset(mVU->cache, 0xcc, mVU->cacheSize + 0x1000);
+ memset(mVU->prog.prog, 0, sizeof(microProgram)*(mVU->prog.max+1));
+
+ // Setup Entrance/Exit Points
+ x86SetPtr(mVU->cache);
+ mVUdispatcherA(mVU);
+ mVUdispatcherB(mVU);
mVUemitSearch();
mVUreset(mVU);
}
@@ -63,16 +71,8 @@ microVUt(void) mVUreset(mV) {
mVUprint((mVU->index) ? "microVU1: reset" : "microVU0: reset");
mVUclose(mVU, 1);
- // Dynarec Cache
- memset(mVU->cache, 0xcc, mVU->cacheSize + 0x1000);
-
- // Setup Entrance/Exit Points
- x86SetPtr(mVU->cache);
- mVUdispatcherA(mVU);
- mVUdispatcherB(mVU);
-
// Clear All Program Data
- memset(&mVU->prog, 0, sizeof(mVU->prog));
+ //memset(&mVU->prog, 0, sizeof(mVU->prog));
memset(&mVU->prog.lpState, 0, sizeof(mVU->prog.lpState));
// Program Variables
@@ -81,15 +81,14 @@ microVUt(void) mVUreset(mV) {
mVU->prog.cur = -1;
mVU->prog.total = -1;
mVU->prog.max = mMaxProg - 1;
- mVU->prog.prog = (microProgram*)_aligned_malloc(sizeof(microProgram)*(mVU->prog.max+1), 64);
// Setup Dynarec Cache Limits for Each Program
u8* z = (mVU->cache + 0x1000); // Dispatcher Code is in first page of cache
+ mVU->prog.x86start = z;
+ mVU->prog.x86ptr = z;
+ mVU->prog.x86end = (u8*)((uptr)z + (uptr)(mVU->cacheSize - (mVU->cacheSize*.05)));
+
for (int i = 0; i <= mVU->prog.max; i++) {
- mVU->prog.prog[i].x86start = z;
- mVU->prog.prog[i].x86ptr = z;
- z += (mVU->cacheSize / (mVU->prog.max + 1));
- mVU->prog.prog[i].x86end = z;
for (int j = 0; j <= mVU->prog.prog[i].ranges.max; j++) {
mVU->prog.prog[i].ranges.range[j][0] = -1; // Set range to
mVU->prog.prog[i].ranges.range[j][1] = -1; // indeterminable status
@@ -112,7 +111,7 @@ microVUt(void) mVUclose(mV, bool isReset) {
microBlockManager::Delete(mVU->prog.prog[i].block[j]);
}
}
- if (!isReset) { _aligned_free(mVU->prog.prog); }
+ if (!isReset) safe_aligned_free(mVU->prog.prog);
}
}
@@ -133,14 +132,14 @@ microVUf(void) mVUclearProg(int progIndex) {
microVU* mVU = mVUx;
mVUprogI.used = 1;
mVUprogI.last_used = 3;
- mVUprogI.x86ptr = mVUprogI.x86start;
for (int j = 0; j <= mVUprogI.ranges.max; j++) {
mVUprogI.ranges.range[j][0] = -1; // Set range to
mVUprogI.ranges.range[j][1] = -1; // indeterminable status
mVUprogI.ranges.total = -1;
}
for (u32 i = 0; i < (mVU->progSize / 2); i++) {
- if (mVUprogI.block[i]) mVUprogI.block[i]->reset();
+ //if (mVUprogI.block[i]) { mVUprogI.block[i]->reset(); }
+ microBlockManager::Delete(mVUprogI.block[i]);
}
}
@@ -151,6 +150,7 @@ microVUf(void) mVUcacheProg(int progIndex) {
mVUdumpProg(progIndex);
}
+#define aWrap(x, nMax) ((x > nMax) ? 0 : x)
// Finds the least used program, (if program list full clears and returns an old program; if not-full, returns free program)
microVUf(int) mVUfindLeastUsedProg() {
microVU* mVU = mVUx;
@@ -163,22 +163,48 @@ microVUf(int) mVUfindLeastUsedProg() {
return mVU->prog.total;
}
else {
-
- const int pMax = mVU->prog.max;
- int smallidx = (mVU->prog.cur+1)&pMax;
- u64 smallval = mVU->prog.prog[smallidx].used;
+/*
+ const int pMax = mVU->prog.max;
+ int smallidx = aWrap((mVU->prog.cur+1), pMax);
+ u64 smallval = mVU->prog.prog[smallidx].used;
- for (int i = 1, j = (smallidx+1)&pMax; i <= pMax; i++, j=(j+1)&pMax) {
+ for (int i = 1, j = aWrap((smallidx+1), pMax); i <= pMax; i++, aWrap((j+1), pMax)) {
if (smallval > mVU->prog.prog[j].used) {
smallval = mVU->prog.prog[j].used;
smallidx = j;
}
}
-
+ //smallidx = rand() % 200;
mVUclearProg(smallidx); // Clear old data if overwriting old program
mVUcacheProg(smallidx); // Cache Micro Program
//Console::Notice("microVU%d: Overwriting existing program in slot %d [%d times used]", params vuIndex, smallidx, smallval);
+
return smallidx;
+*/
+
+/*
+ static int smallidx = 0;
+ const int pMax = mVU->prog.max;
+ smallidx = aWrap((smallidx+1), pMax);
+ mVUclearProg(smallidx); // Clear old data if overwriting old program
+ mVUcacheProg(smallidx); // Cache Micro Program
+ //Console::Notice("microVU%d: Overwriting existing program in slot %d [%d times used]", params vuIndex, smallidx, smallval);
+ return smallidx;
+*/
+
+ //mVUreset(mVU);
+ mVU->prog.x86ptr = mVU->prog.x86start;
+ for (int z = 0; z <= mVU->prog.max; z++) {
+ mVUclearProg(z);
+ mVU->prog.prog[z].used = 0;
+ mVU->prog.prog[z].last_used = 0;
+ }
+ mVU->prog.total = 0;
+ mVUcacheProg(mVU->prog.total); // Cache Micro Program
+ mVU->prog.prog[mVU->prog.total].used = 1;
+ mVU->prog.prog[mVU->prog.total].last_used = 3;
+ Console::Notice("microVU%d: Cached MicroPrograms = %d", params vuIndex, mVU->prog.total+1);
+ return mVU->prog.total;
}
}
@@ -208,6 +234,8 @@ microVUt(void) mVUvsyncUpdate(mV) {
microVUf(bool) mVUcmpPartial(int progIndex) {
microVU* mVU = mVUx;
for (int i = 0; i <= mVUprogI.ranges.total; i++) {
+ if ((mVUprogI.ranges.range[i][0] < 0)
+ || (mVUprogI.ranges.range[i][1] < 0)) { DevCon::Error("microVU%d: Negative Range![%d][%d]", params mVU->index, i, mVUprogI.ranges.total); }
if (memcmp_mmx(cmpOffset(mVUprogI.data), cmpOffset(mVU->regs->Micro), ((mVUprogI.ranges.range[i][1] + 8) - mVUprogI.ranges.range[i][0]))) {
return 0;
}
diff --git a/pcsx2/x86/microVU.h b/pcsx2/x86/microVU.h
index cb23137b94..3228bd1d3d 100644
--- a/pcsx2/x86/microVU.h
+++ b/pcsx2/x86/microVU.h
@@ -27,57 +27,75 @@
#include "microVU_IR.h"
#include "microVU_Misc.h"
+struct microBlockLink {
+ microBlock* block;
+ microBlockLink* next;
+};
-#define mMaxBlocks 32 // Max Blocks With Different Pipeline States (For n = 1, 2, 4, 8, 16, etc...)
class microBlockManager {
private:
- static const int MaxBlocks = mMaxBlocks - 1;
- microBlock blockList[mMaxBlocks]; // Should always be first in the class to ensure 16-byte alignment
- int listSize; // Total Items - 1
- int listI; // Index to Add new block
+ microBlockLink blockList;
+ microBlockLink* blockEnd;
+ int listI;
public:
- // Aligned replacement for 'new'
- static microBlockManager* AlignedNew() {
- microBlockManager* alloc = (microBlockManager*)_aligned_malloc(sizeof(microBlockManager), 16);
- new (alloc) microBlockManager();
- return alloc;
- }
// Use instead of normal 'delete'
- static void Delete(microBlockManager* dead) {
- if (dead == NULL) return;
+ static void Delete(microBlockManager* &dead) {
+ if (!dead) return;
dead->~microBlockManager();
- _aligned_free(dead);
+ safe_delete(dead);
}
-
- microBlockManager() { reset(); }
- ~microBlockManager() {}
- void reset() { listSize = -1; listI = -1; };
+ microBlockManager() {
+ listI = -1;
+ blockList.block = NULL;
+ blockList.next = NULL;
+ blockEnd = &blockList;
+ }
+ ~microBlockManager() { reset(); }
+ void reset() {
+ if (listI >= 0) {
+ microBlockLink* linkI = &blockList;
+ microBlockLink* linkD = NULL;
+ for (int i = 0; i <= listI; i++) {
+ safe_aligned_free(linkI->block);
+ linkI = linkI->next;
+ safe_delete(linkD);
+ linkD = linkI;
+ }
+ safe_delete(linkI);
+ }
+ listI = -1;
+ blockEnd = &blockList;
+ };
microBlock* add(microBlock* pBlock) {
microBlock* thisBlock = search(&pBlock->pState);
if (!thisBlock) {
listI++;
- if (listSize < MaxBlocks) { listSize++; }
- if (listI > MaxBlocks) { Console::Error("microVU Warning: Block List Overflow"); listI = 0; }
- memcpy_fast(&blockList[listI], pBlock, sizeof(microBlock));
- thisBlock = &blockList[listI];
+ blockEnd->block = (microBlock*)_aligned_malloc(sizeof(microBlock), 16);
+ blockEnd->next = new microBlockLink;
+ memcpy_fast(blockEnd->block, pBlock, sizeof(microBlock));
+ thisBlock = blockEnd->block;
+ blockEnd = blockEnd->next;
}
return thisBlock;
}
- __forceinline microBlock* search(microRegInfo* pState) {
- if (listSize < 0) return NULL;
+ __releaseinline microBlock* search(microRegInfo* pState) {
+ microBlockLink* linkI = &blockList;
if (pState->needExactMatch) { // Needs Detailed Search (Exact Match of Pipeline State)
- for (int i = 0; i <= listSize; i++) {
- if (mVUquickSearch((void*)pState, (void*)&blockList[i].pState, sizeof(microRegInfo))) return &blockList[i];
+ for (int i = 0; i <= listI; i++) {
+ if (mVUquickSearch((void*)pState, (void*)&linkI->block->pState, sizeof(microRegInfo))) return linkI->block;
+ linkI = linkI->next;
}
}
else { // Can do Simple Search (Only Matches the Important Pipeline Stuff)
- for (int i = 0; i <= listSize; i++) {
- if ((blockList[i].pState.q == pState->q)
- && (blockList[i].pState.p == pState->p)
- && (blockList[i].pState.xgkick == pState->xgkick)
- && (blockList[i].pState.flags == pState->flags)
- && !(blockList[i].pState.needExactMatch & 0xf0f)) { return &blockList[i]; }
+ for (int i = 0; i <= listI; i++) {
+ if ((linkI->block->pState.q == pState->q)
+ && (linkI->block->pState.p == pState->p)
+ && (linkI->block->pState.vi15 == pState->vi15)
+ && (linkI->block->pState.flags == pState->flags)
+ && (linkI->block->pState.xgkick == pState->xgkick)
+ && !(linkI->block->pState.needExactMatch & 0xf0f)) { return linkI->block; }
+ linkI = linkI->next;
}
}
return NULL;
@@ -95,27 +113,27 @@ struct microRange {
struct microProgram {
u32 data [mProgSize]; // Holds a copy of the VU microProgram
microBlockManager* block[mProgSize/2]; // Array of Block Managers
- microIR allocInfo; // IR information
microRange ranges; // The ranges of the microProgram that have already been recompiled
u64 used; // Number of times its been used
u32 last_used; // Counters # of frames since last use (starts at 3 and counts backwards to 0 for each 30fps vSync)
- u8* x86ptr; // Pointer to program's recompilation code
- u8* x86start; // Start of program's rec-cache
- u8* x86end; // Limit of program's rec-cache
};
-#define mMaxProg ((mVU->index)?64:8) // The amount of Micro Programs Recs will 'remember' (For n = 1, 2, 4, 8, 16, etc...)
+#define mMaxProg ((mVU->index)?400:8) // The amount of Micro Programs Recs will 'remember' (For n = 1, 2, 4, 8, 16, etc...)
struct microProgManager {
- microProgram* prog; // Store MicroPrograms in memory
- int max; // Max Number of MicroPrograms minus 1
- int total; // Total Number of valid MicroPrograms minus 1
- int cur; // Index to Current MicroProgram thats running (-1 = uncached)
- int isSame; // Current cached microProgram is Exact Same program as mVU->regs->Micro (-1 = unknown, 0 = No, 1 = Yes)
- int cleared; // Micro Program is Indeterminate so must be searched for (and if no matches are found then recompile a new one)
- microRegInfo lpState; // Pipeline state from where program left off (useful for continuing execution)
+ microIR allocInfo; // IR information
+ microProgram* prog; // Store MicroPrograms in memory
+ int max; // Max Number of MicroPrograms minus 1
+ int total; // Total Number of valid MicroPrograms minus 1
+ int cur; // Index to Current MicroProgram thats running (-1 = uncached)
+ int isSame; // Current cached microProgram is Exact Same program as mVU->regs->Micro (-1 = unknown, 0 = No, 1 = Yes)
+ int cleared; // Micro Program is Indeterminate so must be searched for (and if no matches are found then recompile a new one)
+ u8* x86ptr; // Pointer to program's recompilation code
+ u8* x86start; // Start of program's rec-cache
+ u8* x86end; // Limit of program's rec-cache
+ microRegInfo lpState; // Pipeline state from where program left off (useful for continuing execution)
};
-#define mVUcacheSize (mMaxProg * 0xCCCCC) // 0.8mb per program
+#define mVUcacheSize (mMaxProg * (0x100000 * 0.5)) // 0.5mb per program
struct microVU {
PCSX2_ALIGNED16(u32 macFlag[4]); // 4 instances of mac flag (used in execution)
diff --git a/pcsx2/x86/microVU_Analyze.inl b/pcsx2/x86/microVU_Analyze.inl
index cd9d47b659..4349b9fdf7 100644
--- a/pcsx2/x86/microVU_Analyze.inl
+++ b/pcsx2/x86/microVU_Analyze.inl
@@ -102,6 +102,7 @@
// Writing to a VI reg
#define analyzeVIreg2(xReg, viWrite, aCycles) { \
if (xReg) { \
+ mVUconstReg[xReg].isValid = 0; \
mVUregsTemp.VIreg = xReg; \
mVUregsTemp.VI = aCycles; \
viWrite.reg = xReg; \
@@ -114,6 +115,7 @@
#define analyzeRreg() { mVUregsTemp.r = 1; }
#define analyzeXGkick1() { mVUstall = aMax(mVUstall, mVUregs.xgkick); }
#define analyzeXGkick2(x) { mVUregsTemp.xgkick = x; }
+#define setConstReg(x, v) { if (x) { mVUconstReg[x].isValid = 1; mVUconstReg[x].regValue = v; } }
//------------------------------------------------------------------
// FMAC1 - Normal FMAC Opcodes
@@ -173,6 +175,11 @@ microVUt(void) mVUanalyzeIALU2(mV, int Is, int It) {
analyzeVIreg2(It, mVUlow.VI_write, 1);
}
+microVUt(void) mVUanalyzeIADDI(mV, int Is, int It, s16 imm) {
+ mVUanalyzeIALU2(mVU, Is, It);
+ if (!Is) { setConstReg(It, imm); }
+}
+
//------------------------------------------------------------------
// MR32 - MR32 Opcode
//------------------------------------------------------------------
@@ -386,3 +393,16 @@ microVUt(void) mVUanalyzeBranch2(mV, int Is, int It) {
analyzeBranchVI(mVU, It, mVUlow.memReadIt);
}
}
+
+microVUt(void) mVUanalyzeJump(mV, int Is, int It, bool isJALR) {
+ if (mVUconstReg[Is].isValid && !CHECK_VU_CONSTHACK) {
+ mVUlow.constJump.isValid = 1;
+ mVUlow.constJump.regValue = mVUconstReg[Is].regValue;
+ //DevCon::Status("microVU%d: Constant JR/JALR Address Optimization", params mVU->index);
+ }
+ analyzeVIreg1(Is, mVUlow.VI_read[0]);
+ if (isJALR) {
+ analyzeVIreg2(It, mVUlow.VI_write, 1);
+ setConstReg(It, bSaveAddr);
+ }
+}
diff --git a/pcsx2/x86/microVU_Compile.inl b/pcsx2/x86/microVU_Compile.inl
index 4a01c6a31b..cac735f8de 100644
--- a/pcsx2/x86/microVU_Compile.inl
+++ b/pcsx2/x86/microVU_Compile.inl
@@ -62,6 +62,7 @@
}
#define calcCycles(reg, x) { reg = ((reg > x) ? (reg - x) : 0); }
+#define optimizeReg(rState) { rState = (rState==1) ? 0 : rState; }
#define tCycles(dest, src) { dest = aMax(dest, src); }
#define incP() { mVU->p = (mVU->p+1) & 1; }
#define incQ() { mVU->q = (mVU->q+1) & 1; }
@@ -69,7 +70,7 @@
#define doLowerOp() { incPC(-1); mVUopL(mVU, 1); incPC(1); }
#define doSwapOp() { doBackupVF1(); mVUopL(mVU, 1); doBackupVF2(); incPC(1); doUpperOp(); doBackupVF3(); }
#define doIbit() { if (mVUup.iBit) { incPC(-1); MOV32ItoM((uptr)&mVU->regs->VI[REG_I].UL, curI); incPC(1); } }
-#define blockCreate(addr) { if (!mVUblocks[addr]) mVUblocks[addr] = microBlockManager::AlignedNew(); }
+#define blockCreate(addr) { if (!mVUblocks[addr]) mVUblocks[addr] = new microBlockManager();/*microBlockManager::AlignedNew();*/ }
//------------------------------------------------------------------
// Helper Functions
@@ -91,9 +92,11 @@ microVUt(void) mVUcheckIsSame(mV) {
// Sets up microProgram PC ranges based on whats been recompiled
microVUt(void) mVUsetupRange(mV, s32 pc, bool isStartPC) {
- for (int i = 0; i <= mVUcurProg.ranges.total; i++) {
- if ((pc >= mVUcurProg.ranges.range[i][0])
- && (pc <= mVUcurProg.ranges.range[i][1])) { return; }
+ if (isStartPC || !(mVUrange[1] == -1)) {
+ for (int i = 0; i <= mVUcurProg.ranges.total; i++) {
+ if ((pc >= mVUcurProg.ranges.range[i][0])
+ && (pc <= mVUcurProg.ranges.range[i][1])) { return; }
+ }
}
mVUcheckIsSame(mVU);
@@ -113,18 +116,22 @@ microVUt(void) mVUsetupRange(mV, s32 pc, bool isStartPC) {
else {
if (mVUrange[0] <= pc) {
mVUrange[1] = pc;
+ bool mergedRange = 0;
for (int i = 0; i <= (mVUcurProg.ranges.total-1); i++) {
int rStart = (mVUrange[0] < 8) ? 0 : (mVUrange[0] - 8);
int rEnd = pc;
if((mVUcurProg.ranges.range[i][1] >= rStart)
&& (mVUcurProg.ranges.range[i][1] <= rEnd)){
mVUcurProg.ranges.range[i][1] = pc;
- mVUrange[0] = -1;
- mVUrange[1] = -1;
- mVUcurProg.ranges.total--;
+ mergedRange = 1;
//DevCon::Status("microVU%d: Prog Range Merging", params mVU->index);
}
}
+ if (mergedRange) {
+ mVUrange[0] = -1;
+ mVUrange[1] = -1;
+ mVUcurProg.ranges.total--;
+ }
}
else {
DevCon::Status("microVU%d: Prog Range Wrap [%04x] [%d]", params mVU->index, mVUrange[0], mVUrange[1]);
@@ -144,6 +151,20 @@ microVUt(void) mVUsetupRange(mV, s32 pc, bool isStartPC) {
}
}
+// Optimizes the End Pipeline State Removing Unnecessary Info
+microVUt(void) mVUoptimizePipeState(mV) {
+ for (int i = 0; i < 32; i++) {
+ optimizeReg(mVUregs.VF[i].x);
+ optimizeReg(mVUregs.VF[i].y);
+ optimizeReg(mVUregs.VF[i].z);
+ optimizeReg(mVUregs.VF[i].w);
+ }
+ for (int i = 0; i < 16; i++) {
+ optimizeReg(mVUregs.VI[i]);
+ }
+ mVUregs.r = 0;
+}
+
// Recompiles Code for Proper Flags and Q/P regs on Block Linkings
microVUt(void) mVUsetupBranch(mV, int* xStatus, int* xMac, int* xClip, int xCycles) {
mVUprint("mVUsetupBranch");
@@ -324,6 +345,15 @@ microVUt(void) mVUtestCycles(mV) {
x86SetJ32(jmp32);
}
+microVUt(void) mVUinitConstValues(mV) {
+ for (int i = 0; i < 16; i++) {
+ mVUconstReg[i].isValid = 0;
+ mVUconstReg[i].regValue = 0;
+ }
+ mVUconstReg[15].isValid = mVUregs.vi15 >> 31;
+ mVUconstReg[15].regValue = mVUconstReg[15].isValid ? (mVUregs.vi15&0xffff) : 0;
+}
+
//------------------------------------------------------------------
// Recompiler
//------------------------------------------------------------------
@@ -349,12 +379,14 @@ microVUr(void*) mVUcompile(microVU* mVU, u32 startPC, uptr pState) {
mVU->q = 0; // All blocks start at q index #0
memcpy_fast(&mVUregs, (microRegInfo*)pState, sizeof(microRegInfo)); // Loads up Pipeline State Info
mVUblock.x86ptrStart = thisPtr;
- pBlock = mVUblocks[startPC/8]->add(&mVUblock); // Add this block to block manager
+ pBlock = mVUblocks[startPC/8]->add(&mVUblock); // Add this block to block manager
mVUpBlock = pBlock;
mVUregs.flags = 0;
mVUflagInfo = 0;
mVUsFlagHack = CHECK_VU_FLAGHACK;
+ mVUinitConstValues(mVU);
+
for (int branch = 0; mVUcount < endCount; mVUcount++) {
incPC(1);
startLoop();
@@ -381,6 +413,12 @@ microVUr(void*) mVUcompile(microVU* mVU, u32 startPC, uptr pState) {
int xCycles = mVUsetFlags(mVU, xStatus, xMac, xClip);
mVUtestCycles(mVU);
+ // Fix up vi15 const info for propagation through blocks
+ mVUregs.vi15 = (mVUconstReg[15].isValid && !CHECK_VU_CONSTHACK) ? ((1<<31) | (mVUconstReg[15].regValue&0xffff)) : 0;
+
+ // Optimize the End Pipeline State for nicer Block Linking
+ mVUoptimizePipeState(mVU);
+
// Second Pass
iPC = mVUstartPC;
setCode();
@@ -419,14 +457,31 @@ microVUr(void*) mVUcompile(microVU* mVU, u32 startPC, uptr pState) {
// Check if branch-block has already been compiled
blockCreate(branchAddr/8);
pBlock = mVUblocks[branchAddr/8]->search((microRegInfo*)&mVUregs);
- if (pBlock) { xJMP(pBlock->x86ptrStart); }
- else { mVUcompile(mVU, branchAddr, (uptr)&mVUregs); }
+ if (pBlock) { xJMP(pBlock->x86ptrStart); }
+ else { mVUcompile(mVU, branchAddr, (uptr)&mVUregs); }
return thisPtr;
case 9: case 10: // JR/JALR
mVUprint("mVUcompile JR/JALR");
incPC(-3); // Go back to jump opcode
+ if (mVUlow.constJump.isValid) {
+ if (mVUup.eBit) { // E-bit Jump
+ iPC = (mVUlow.constJump.regValue*2)&(mVU->progSize-1);
+ mVUendProgram(mVU, 1, xStatus, xMac, xClip);
+ }
+ else {
+ int jumpAddr = (mVUlow.constJump.regValue*8)&(mVU->microMemSize-8);
+ mVUsetupBranch(mVU, xStatus, xMac, xClip, xCycles);
+ // Check if jump-to-block has already been compiled
+ blockCreate(jumpAddr/8);
+ pBlock = mVUblocks[jumpAddr/8]->search((microRegInfo*)&mVUregs);
+ if (pBlock) { xJMP(pBlock->x86ptrStart); }
+ else { mVUcompile(mVU, jumpAddr, (uptr)&mVUregs); }
+ }
+ return thisPtr;
+ }
+
if (mVUup.eBit) { // E-bit Jump
mVUendProgram(mVU, 2, xStatus, xMac, xClip);
MOV32MtoR(gprT1, (uptr)&mVU->branch);
diff --git a/pcsx2/x86/microVU_Execute.inl b/pcsx2/x86/microVU_Execute.inl
index 9a8e4b28b1..f9463dee9f 100644
--- a/pcsx2/x86/microVU_Execute.inl
+++ b/pcsx2/x86/microVU_Execute.inl
@@ -127,7 +127,7 @@ microVUx(void*) __fastcall mVUexecute(u32 startPC, u32 cycles) {
mVU->cycles = cycles;
mVU->totalCycles = cycles;
- x86SetPtr(mVUcurProg.x86ptr); // Set x86ptr to where program left off
+ x86SetPtr(mVU->prog.x86ptr); // Set x86ptr to where last program left off
return mVUblockFetch(mVU, startPC, (uptr)&mVU->prog.lpState);
}
@@ -140,8 +140,8 @@ microVUx(void) mVUcleanUp() {
//mVUprint("microVU: Program exited successfully!");
//mVUprint("microVU: VF0 = {%x,%x,%x,%x}", params mVU->regs->VF[0].UL[0], mVU->regs->VF[0].UL[1], mVU->regs->VF[0].UL[2], mVU->regs->VF[0].UL[3]);
//mVUprint("microVU: VI0 = %x", params mVU->regs->VI[0].UL);
- mVUcurProg.x86ptr = x86Ptr;
- mVUcacheCheck(x86Ptr, mVUcurProg.x86start, (uptr)(mVUcurProg.x86end - mVUcurProg.x86start));
+ mVU->prog.x86ptr = x86Ptr;
+ mVUcacheCheck(x86Ptr, mVU->prog.x86start, (uptr)(mVU->prog.x86end - mVU->prog.x86start));
mVU->cycles = mVU->totalCycles - mVU->cycles;
mVU->regs->cycle += mVU->cycles;
cpuRegs.cycle += ((mVU->cycles < 3000) ? mVU->cycles : 3000) * Config.Hacks.VUCycleSteal;
diff --git a/pcsx2/x86/microVU_Flags.inl b/pcsx2/x86/microVU_Flags.inl
index 57f35cca54..b0387a71ff 100644
--- a/pcsx2/x86/microVU_Flags.inl
+++ b/pcsx2/x86/microVU_Flags.inl
@@ -265,7 +265,10 @@ void mVUflagPass(mV, u32 startPC, u32 xCount) {
// Checks if the first 4 instructions of a block will read flags
microVUt(void) mVUsetFlagInfo(mV) {
branchType1 { incPC(-1); mVUflagPass(mVU, branchAddr, 4); incPC(1); }
- branchType2 { mVUflagInfo |= 0xfff; }
+ branchType2 {
+ if (!mVUlow.constJump.isValid) { mVUflagInfo |= 0xfff; }
+ else { mVUflagPass(mVU, mVUlow.constJump.regValue, 4); }
+ }
branchType3 {
incPC(-1);
mVUflagPass(mVU, branchAddr, 4);
diff --git a/pcsx2/x86/microVU_IR.h b/pcsx2/x86/microVU_IR.h
index 08a794100f..2d1beaf49c 100644
--- a/pcsx2/x86/microVU_IR.h
+++ b/pcsx2/x86/microVU_IR.h
@@ -35,6 +35,7 @@ union regInfo {
__declspec(align(16)) struct microRegInfo { // Ordered for Faster Compares
u32 needExactMatch; // If set, block needs an exact match of pipeline state
+ u32 vi15; // Constant Prop Info for vi15 (only valid if sign-bit set)
u8 q;
u8 p;
u8 r;
@@ -42,7 +43,7 @@ __declspec(align(16)) struct microRegInfo { // Ordered for Faster Compares
u8 VI[16];
regInfo VF[32];
u8 flags; // clip x2 :: status x2
- u8 padding[7]; // 160 bytes
+ u8 padding[3]; // 160 bytes
#if defined(_MSC_VER)
};
#else
@@ -84,6 +85,11 @@ struct microVIreg {
u8 used; // Reg is Used? (Read/Written)
};
+struct microConstInfo {
+ u8 isValid; // Is the constant in regValue valid?
+ u32 regValue; // Constant Value
+};
+
struct microUpperOp {
bool eBit; // Has E-bit set
bool iBit; // Has I-bit set
@@ -93,10 +99,11 @@ struct microUpperOp {
};
struct microLowerOp {
- microVFreg VF_write; // VF Vectors written to by this instruction
- microVFreg VF_read[2]; // VF Vectors read by this instruction
- microVIreg VI_write; // VI reg written to by this instruction
- microVIreg VI_read[2]; // VI regs read by this instruction
+ microVFreg VF_write; // VF Vectors written to by this instruction
+ microVFreg VF_read[2]; // VF Vectors read by this instruction
+ microVIreg VI_write; // VI reg written to by this instruction
+ microVIreg VI_read[2]; // VI regs read by this instruction
+ microConstInfo constJump; // Constant Reg Info for JR/JARL instructions
u32 branch; // Branch Type (0 = Not a Branch, 1 = B. 2 = BAL, 3~8 = Conditional Branches, 9 = JALR, 10 = JR)
bool isNOP; // This instruction is a NOP
bool isFSSET; // This instruction is a FSSET
@@ -137,10 +144,11 @@ struct microOp {
template
struct microIR {
- microBlock block; // Block/Pipeline info
- microBlock* pBlock; // Pointer to a block in mVUblocks
- microTempRegInfo regsTemp; // Temp Pipeline info (used so that new pipeline info isn't conflicting between upper and lower instructions in the same cycle)
+ microBlock block; // Block/Pipeline info
+ microBlock* pBlock; // Pointer to a block in mVUblocks
+ microTempRegInfo regsTemp; // Temp Pipeline info (used so that new pipeline info isn't conflicting between upper and lower instructions in the same cycle)
microOp info[pSize/2]; // Info for Instructions in current block
+ microConstInfo constReg[16]; // Simple Const Propagation Info for VI regs within blocks
u8 branch;
u32 cycles; // Cycles for current block
u32 count; // Number of VU 64bit instructions ran (starts at 0 for each block)
diff --git a/pcsx2/x86/microVU_Lower.inl b/pcsx2/x86/microVU_Lower.inl
index 8c82889596..0249729754 100644
--- a/pcsx2/x86/microVU_Lower.inl
+++ b/pcsx2/x86/microVU_Lower.inl
@@ -612,7 +612,7 @@ mVUop(mVU_IADD) {
}
mVUop(mVU_IADDI) {
- pass1 { mVUanalyzeIALU2(mVU, _Is_, _It_); }
+ pass1 { mVUanalyzeIADDI(mVU, _Is_, _It_, _Imm5_); }
pass2 {
mVUallocVIa(mVU, gprT1, _Is_);
ADD16ItoR(gprT1, _Imm5_);
@@ -622,7 +622,7 @@ mVUop(mVU_IADDI) {
}
mVUop(mVU_IADDIU) {
- pass1 { mVUanalyzeIALU2(mVU, _Is_, _It_); }
+ pass1 { mVUanalyzeIADDI(mVU, _Is_, _It_, _Imm15_); }
pass2 {
mVUallocVIa(mVU, gprT1, _Is_);
ADD16ItoR(gprT1, _Imm15_);
@@ -1127,7 +1127,7 @@ mVUop(mVU_B) {
mVUop(mVU_BAL) {
setBranchA(2, _It_);
- pass1 { analyzeVIreg2(_It_, mVUlow.VI_write, 1); }
+ pass1 { analyzeVIreg2(_It_, mVUlow.VI_write, 1); setConstReg(_It_, bSaveAddr); }
pass2 {
MOV32ItoR(gprT1, bSaveAddr);
mVUallocVIb(mVU, gprT1, _It_);
@@ -1207,24 +1207,28 @@ mVUop(mVU_IBNE) {
mVUop(mVU_JR) {
mVUbranch = 9;
- pass1 { analyzeVIreg1(_Is_, mVUlow.VI_read[0]); }
+ pass1 { mVUanalyzeJump(mVU, _Is_, 0, 0); }
pass2 {
- mVUallocVIa(mVU, gprT1, _Is_);
- SHL32ItoR(gprT1, 3);
- AND32ItoR(gprT1, isVU1 ? 0x3ff8 : 0xff8);
- MOV32RtoM((uptr)&mVU->branch, gprT1);
+ if (!mVUlow.constJump.isValid) {
+ mVUallocVIa(mVU, gprT1, _Is_);
+ SHL32ItoR(gprT1, 3);
+ AND32ItoR(gprT1, mVU->microMemSize - 8);
+ MOV32RtoM((uptr)&mVU->branch, gprT1);
+ }
}
pass3 { mVUlog("JR [vi%02d]", _Fs_); }
}
mVUop(mVU_JALR) {
mVUbranch = 10;
- pass1 { analyzeVIreg1(_Is_, mVUlow.VI_read[0]); analyzeVIreg2(_It_, mVUlow.VI_write, 1); }
+ pass1 { mVUanalyzeJump(mVU, _Is_, _It_, 1); }
pass2 {
- mVUallocVIa(mVU, gprT1, _Is_);
- SHL32ItoR(gprT1, 3);
- AND32ItoR(gprT1, isVU1 ? 0x3ff8 : 0xff8);
- MOV32RtoM((uptr)&mVU->branch, gprT1);
+ if (!mVUlow.constJump.isValid) {
+ mVUallocVIa(mVU, gprT1, _Is_);
+ SHL32ItoR(gprT1, 3);
+ AND32ItoR(gprT1, mVU->microMemSize - 8);
+ MOV32RtoM((uptr)&mVU->branch, gprT1);
+ }
MOV32ItoR(gprT1, bSaveAddr);
mVUallocVIb(mVU, gprT1, _It_);
}
diff --git a/pcsx2/x86/microVU_Misc.h b/pcsx2/x86/microVU_Misc.h
index 5f4d22bcf0..7b13a0dc3c 100644
--- a/pcsx2/x86/microVU_Misc.h
+++ b/pcsx2/x86/microVU_Misc.h
@@ -187,7 +187,7 @@ typedef u32 (__fastcall *mVUCall)(void*, void*);
#define mVUprogI mVU->prog.prog[progIndex]
#define mVUcurProg mVU->prog.prog[mVU->prog.cur]
#define mVUblocks mVU->prog.prog[mVU->prog.cur].block
-#define mVUallocInfo mVU->prog.prog[mVU->prog.cur].allocInfo
+#define mVUallocInfo mVU->prog.allocInfo
#define mVUbranch mVUallocInfo.branch
#define mVUcycles mVUallocInfo.cycles
#define mVUcount mVUallocInfo.count
@@ -198,6 +198,7 @@ typedef u32 (__fastcall *mVUCall)(void*, void*);
#define iPC mVUallocInfo.curPC
#define mVUsFlagHack mVUallocInfo.sFlagHack
#define mVUinfo mVUallocInfo.info[iPC / 2]
+#define mVUconstReg mVUallocInfo.constReg
#define mVUstall mVUinfo.stall
#define mVUup mVUinfo.uOp
#define mVUlow mVUinfo.lOp
@@ -212,7 +213,7 @@ typedef u32 (__fastcall *mVUCall)(void*, void*);
#define setCode() { mVU->code = curI; }
#define incPC(x) { iPC = ((iPC + x) & (mVU->progSize-1)); setCode(); }
#define incPC2(x) { iPC = ((iPC + x) & (mVU->progSize-1)); }
-#define bSaveAddr (((xPC + (2 * 8)) & ((isVU1) ? 0x3ff8:0xff8)) / 8)
+#define bSaveAddr (((xPC + 16) & (mVU->microMemSize-8)) / 8)
#define branchAddr ((xPC + 8 + (_Imm11_ * 8)) & (mVU->microMemSize-8))
#define shufflePQ (((mVU->p) ? 0xb0 : 0xe0) | ((mVU->q) ? 0x01 : 0x04))
#define cmpOffset(x) ((u8*)&(((u8*)x)[mVUprogI.ranges.range[i][0]]))
@@ -272,6 +273,7 @@ typedef u32 (__fastcall *mVUCall)(void*, void*);
#endif
// Speed Hacks
+#define CHECK_VU_CONSTHACK 0 // Only use for GoW (will be slower on other games)
#define CHECK_VU_FLAGHACK (u32)Config.Hacks.vuFlagHack // (Can cause Infinite loops, SPS, etc...)
#define CHECK_VU_MINMAXHACK (u32)Config.Hacks.vuMinMax // (Can cause SPS, Black Screens, etc...)
@@ -282,12 +284,12 @@ typedef u32 (__fastcall *mVUCall)(void*, void*);
// Cache Limit Check
-#define mVUcacheCheck(ptr, start, limit) { \
- uptr diff = ptr - start; \
- if (diff >= limit) { \
- Console::Error("microVU Error: Program went over its cache limit. Size = 0x%x", params diff); \
- mVUreset(mVU); \
- } \
+#define mVUcacheCheck(ptr, start, limit) { \
+ uptr diff = ptr - start; \
+ if (diff >= limit) { \
+ Console::Status("microVU%d: Program cache limit reached. Size = 0x%x", params mVU->index, diff); \
+ mVUreset(mVU); \
+ } \
}
#define mVUdebugNOW(isEndPC) { \
diff --git a/plugins/GSdx/GSCrc.cpp b/plugins/GSdx/GSCrc.cpp
index 00fa942582..f21c3799c4 100644
--- a/plugins/GSdx/GSCrc.cpp
+++ b/plugins/GSdx/GSCrc.cpp
@@ -32,6 +32,7 @@ CRC::Game CRC::m_games[] =
{0xDDB59F46, KyuuketsuKitanMoonties, JP, PointListPalette},
{0xC8EE2562, PiaCarroteYoukosoGPGakuenPrincess, JP, PointListPalette},
{0x6CF94A43, KazokuKeikakuKokoroNoKizuna, JP, PointListPalette},
+ {0xEDAF602D, DuelSaviorDestiny, JP, PointListPalette},
{0xa39517ab, FFX, EU, 0},
{0xa39517ae, FFX, FR, 0},
{0x941bb7d9, FFX, DE, 0},
@@ -133,12 +134,16 @@ CRC::Game CRC::m_games[] =
{0x6BF11378, Onimusha3, US, 0},
{0xF442260C, MajokkoALaMode2, JP, 0},
{0x14FE77F7, TalesOfAbyss, US, 0},
- {0x045D77E9, TalesOfAbyss, US, 0}, // undub
+ {0x045D77E9, TalesOfAbyss, JPUNDUB, 0},
{0xAA5EC3A3, TalesOfAbyss, JP, 0},
{0xFB236A46, SonicUnleashed, US, 0},
{0x4C7BB3C8, SimpsonsGame, Unknown, 0},
{0x4C94B32C, SimpsonsGame, Unknown, 0},
{0xD71B57F4, Genji, Unknown, 0},
+ {0x23A97857, StarOcean3, JPUNDUB, 0},
+ {0xCC96CE93, ValkyrieProfile2, US, 0},
+ {0x774DE8E2, ValkyrieProfile2, JP, 0},
+ {0x47B9B2FD, RadiataStories, US, 0},
};
hash_map CRC::m_map;
diff --git a/plugins/GSdx/GSCrc.h b/plugins/GSdx/GSCrc.h
index 06f6698d55..8247e4fec0 100644
--- a/plugins/GSdx/GSCrc.h
+++ b/plugins/GSdx/GSCrc.h
@@ -34,6 +34,7 @@ public:
KyuuketsuKitanMoonties,
PiaCarroteYoukosoGPGakuenPrincess,
KazokuKeikakuKokoroNoKizuna,
+ DuelSaviorDestiny,
FFX,
FFX2,
FFXII,
@@ -70,6 +71,9 @@ public:
SonicUnleashed,
SimpsonsGame,
Genji,
+ StarOcean3,
+ ValkyrieProfile2,
+ RadiataStories,
TitleCount,
};
diff --git a/plugins/GSdx/GSDevice9.cpp b/plugins/GSdx/GSDevice9.cpp
index 37ef14415c..5aa0363098 100644
--- a/plugins/GSdx/GSDevice9.cpp
+++ b/plugins/GSdx/GSDevice9.cpp
@@ -502,7 +502,6 @@ GSTexture* GSDevice9::CreateRenderTarget(int w, int h, int format)
GSTexture* GSDevice9::CreateDepthStencil(int w, int h, int format)
{
return __super::CreateDepthStencil(w, h, format ? format : D3DFMT_D24S8);
- // return __super::CreateDepthStencil(w, h, format ? format : D3DFMT_D32F_LOCKABLE);
}
GSTexture* GSDevice9::CreateTexture(int w, int h, int format)
diff --git a/plugins/GSdx/GSRendererDX.h b/plugins/GSdx/GSRendererDX.h
index 14a6fde4e0..96bfe7fe40 100644
--- a/plugins/GSdx/GSRendererDX.h
+++ b/plugins/GSdx/GSRendererDX.h
@@ -193,20 +193,25 @@ public:
GSTextureFX::PSConstantBuffer ps_cb;
- ps_cb.FogColor_AREF = GSVector4((int)env.FOGCOL.FCR, (int)env.FOGCOL.FCG, (int)env.FOGCOL.FCB, (int)context->TEST.AREF) / 255;
+ ps_cb.FogColor_AREF = GSVector4((int)env.FOGCOL.FCR, (int)env.FOGCOL.FCG, (int)env.FOGCOL.FCB, 0) / 255;
- if(ps_sel.atst == 2 || ps_sel.atst == 5)
+ switch(ps_sel.atst)
{
- ps_cb.FogColor_AREF.a -= 0.9f / 255;
- }
- else if(ps_sel.atst == 3 || ps_sel.atst == 6)
- {
- ps_cb.FogColor_AREF.a += 0.9f / 255;
+ case ATST_LESS:
+ ps_cb.FogColor_AREF.a = (float)((int)context->TEST.AREF - 1);
+ break;
+ case ATST_GREATER:
+ ps_cb.FogColor_AREF.a = (float)((int)context->TEST.AREF + 1);
+ break;
+ default:
+ ps_cb.FogColor_AREF.a = (float)(int)context->TEST.AREF;
+ break;
}
if(tex)
{
ps_sel.bpp = tex->m_bpp;
+ ps_sel.rt = tex->m_target;
int w = tex->m_texture->GetWidth();
int h = tex->m_texture->GetHeight();
@@ -300,6 +305,19 @@ public:
ps_sel.atst = iatst[ps_sel.atst];
+ switch(ps_sel.atst)
+ {
+ case ATST_LESS:
+ ps_cb.FogColor_AREF.a = (float)((int)context->TEST.AREF - 1);
+ break;
+ case ATST_GREATER:
+ ps_cb.FogColor_AREF.a = (float)((int)context->TEST.AREF + 1);
+ break;
+ default:
+ ps_cb.FogColor_AREF.a = (float)(int)context->TEST.AREF;
+ break;
+ }
+
m_tfx->UpdatePS(ps_sel, &ps_cb, ps_ssel);
bool z = om_dssel.zwe;
diff --git a/plugins/GSdx/GSState.cpp b/plugins/GSdx/GSState.cpp
index 197f12d81e..d7de1efd3b 100644
--- a/plugins/GSdx/GSState.cpp
+++ b/plugins/GSdx/GSState.cpp
@@ -890,7 +890,7 @@ void GSState::GIFRegHandlerHWREG(GIFReg* r)
{
ASSERT(m_env.TRXDIR.XDIR == 0); // host => local
- Write((uint8*)r, 8); // hunting ground
+ Write((uint8*)r, 8); // haunting ground
}
void GSState::GIFRegHandlerSIGNAL(GIFReg* r)
@@ -2211,6 +2211,66 @@ bool GSC_Genji(const GSFrameInfo& fi, int& skip)
return true;
}
+bool GSC_StarOcean3(const GSFrameInfo& fi, int& skip)
+{
+ if(skip == 0)
+ {
+ if(fi.TME && fi.FBP == fi.TBP0 && fi.FPSM == PSM_PSMCT32 && fi.TPSM == PSM_PSMT4HH)
+ {
+ skip = 1000; //
+ }
+ }
+ else
+ {
+ if(!(fi.TME && fi.FBP == fi.TBP0 && fi.FPSM == PSM_PSMCT32 && fi.TPSM == PSM_PSMT4HH))
+ {
+ skip = 0;
+ }
+ }
+
+ return true;
+}
+
+bool GSC_ValkyrieProfile2(const GSFrameInfo& fi, int& skip)
+{
+ if(skip == 0)
+ {
+ if(fi.TME && fi.FBP == fi.TBP0 && fi.FPSM == PSM_PSMCT32 && fi.TPSM == PSM_PSMT4HH)
+ {
+ skip = 1000; //
+ }
+ }
+ else
+ {
+ if(!(fi.TME && fi.FBP == fi.TBP0 && fi.FPSM == PSM_PSMCT32 && fi.TPSM == PSM_PSMT4HH))
+ {
+ skip = 0;
+ }
+ }
+
+ return true;
+}
+
+bool GSC_RadiataStories(const GSFrameInfo& fi, int& skip)
+{
+ if(skip == 0)
+ {
+ if(fi.TME && fi.FBP == fi.TBP0 && fi.FPSM == PSM_PSMCT32 && fi.TPSM == PSM_PSMT4HH)
+ {
+ skip = 1000; //
+ }
+ }
+ else
+ {
+ if(!(fi.TME && fi.FBP == fi.TBP0 && fi.FPSM == PSM_PSMCT32 && fi.TPSM == PSM_PSMT4HH))
+ {
+ skip = 0;
+ }
+ }
+
+ return true;
+}
+
bool GSState::IsBadFrame(int& skip)
{
GSFrameInfo fi;
@@ -2258,6 +2318,9 @@ bool GSState::IsBadFrame(int& skip)
map[CRC::TalesOfAbyss] = GSC_TalesOfAbyss;
map[CRC::SonicUnleashed] = GSC_SonicUnleashed;
map[CRC::Genji] = GSC_Genji;
+ map[CRC::StarOcean3] = GSC_StarOcean3;
+ map[CRC::ValkyrieProfile2] = GSC_ValkyrieProfile2;
+ map[CRC::RadiataStories] = GSC_RadiataStories;
}
// TODO: just set gsc in SetGameCRC once
diff --git a/plugins/GSdx/GSTextureCache.cpp b/plugins/GSdx/GSTextureCache.cpp
index 897f6be043..b7e7ebf06d 100644
--- a/plugins/GSdx/GSTextureCache.cpp
+++ b/plugins/GSdx/GSTextureCache.cpp
@@ -54,9 +54,9 @@ GSTextureCache::Source* GSTextureCache::LookupSource(const GIFRegTEX0& TEX0, con
Source* src = NULL;
- const hash_map