PCSX2 Documentation: Difference between revisions

From PCSX2 Wiki
Jump to navigation Jump to search
(Add a link to the ipc protocol)
 
(46 intermediate revisions by 5 users not shown)
Line 1: Line 1:
This page is an attempt to clearly document the PCSX2 code, to make life easier for those who wish to join the project. I beg any PCSX2 developers to please populate this guide as much as possible.
==Building and Compiling PCSX2==
*[[PCSX2 Documentation/Compiling on Windows|Compiling on Windows]]
*[[PCSX2 Documentation/Compiling on Linux|Compiling on Linux]]
*[[PCSX2 Documentation/PCSX2 Build Scripts|PCSX2 Build Scripts]]
*[[PCSX2 Documentation/Chroot and 64-bit Linux|Chroot and 64-bit Linux]]
*[[PCSX2 Documentation/GNU Debugger Tips|GNU Debugger Tips]]
*[[PCSX2 Documentation/Git Survival Guide|Git Survival Guide]]
*[[PCSX2 Documentation/How to Create Useful and Valid Issues|How to Create Useful and Valid Issues]]
*[[PCSX2 Documentation/Commenting Etiquette|Commenting Etiquette]]
*[[PCSX2 Documentation/Code Formatting Guidelines|Code Formatting Guidelines]]
*[[PCSX2 Documentation/Contributing To-Do List|Contributing To-Do List]]
*[[PCSX2 Documentation/Google Code svn repository comments archive|Google Code svn repository comments archive]]


==Github and CMake==
==WxWidgets Framework==
*[[Compiling on Windows]] ''Should be updated - We have since moved to Github''
*[[PCSX2 Documentation/Measuring the Benefits of wxWidgets|Measuring the Benefits of wxWidgets]]
*[[Compiling on Linux]]
*[[PCSX2 Documentation/WxWidgets Coding Strategies|WxWidgets Coding Strategies]]
*[[PCSX2 Build Scripts]]
*[[PCSX2 Documentation/The PCSX2 Program Flow|The PCSX2 Program Flow]]
*[[Git Survival Guide]]
*[[Chroot and 64-bit Linux]]
*[[GNU Debugger Tips]]


==Contributing Guidelines==
==Threading==
*[[How to Create Useful and Valid Issues]]
*[[PCSX2 Documentation/Passing Settings Between Threads|Passing Settings Between Threads]]
*[[Commenting Etiquette]]
*[[PCSX2 Documentation/Threading Basics|Threading Basics]]
*[[Code Formatting Guidelines]]
*[[PCSX2 Documentation/Threading Advanced|Threading Advanced]]
*[[Contributing To-Do List]]
*[[PCSX2 Documentation/Thread Synchronization|Thread Synchronization]]
*[[PCSX2 Documentation/Thread Counting|Thread Counting]]
*[[PCSX2 Documentation/Benchmarking Multithreaded PCSX2|Benchmarking Multithreaded PCSX2]]
*[[PCSX2 Documentation/Threading VU1|Threading VU1]]


==The wxWidgets Framework==
==PCSX2 Core==
The first thing to understand about PCSX2 is that it is powered by wxWidgets. wxWidgets is a GUI framework, which means it follows the hollywood principle (Don't call us, we'll call you!). That means that wxWidgets is in charge of the general program flow and threading of PCSX2.
*[[PCSX2 Documentation/PCSX2 Optimization|PCSX2 Optimization]]
*[[Measuring the Benefits of wxWidgets]]
*[[PCSX2 Documentation/So maybe it's about time we explained VTLB|So maybe it's about time we explained VTLB]]
*[[WxWidgets Coding Strategies]]
*[[PCSX2 Documentation/Events o' Plenty|Events o' Plenty]]
*[[PCSX2 Documentation/Recompilers: All 'dems buzzwords?|Recompilers: All 'dems buzzwords?]]
*[[PCSX2 Documentation/C++ exceptions can be an optimization|C++ exceptions can be an optimization]]
*[[PCSX2 Documentation/What's clamping? And why do we need it?|What's clamping? And why do we need it?]]
*[[PCSX2 Documentation/PS2 VU (Vector Unit) Documentation Part 1|PS2 VU (Vector Unit) Documentation Part 1]]
*[[PCSX2 Documentation/A new kind of fullscreen!|A new kind of fullscreen!]]
*[[PCSX2 Documentation/Introduction to Dynamic Recompilation|Introduction to Dynamic Recompilation]]
*[[PCSX2 Documentation/The return of the Commandline!|The return of the Commandline!]]
*[[PCSX2 Documentation/Advanced memory management|Advanced memory management]]
*[[PCSX2 Documentation/VirtualAlloc on Linux|VirtualAlloc on Linux]]
*[[PCSX2 Documentation/PS2's Programmable DMA|PS2's Programmable DMA]]
*[[PCSX2 Documentation/MSVC 2008 optimizer fail|MSVC 2008 optimizer fail]]
*[[PCSX2 Documentation/Path 3 Masking / Geometry Syncing|Path 3 Masking / Geometry Syncing]]
*[[PCSX2 Documentation/MMU mini-series|MMU mini-series]]
*[[PCSX2 Documentation/Virtual Memory|Virtual Memory]]
*[[PCSX2 Documentation/Nightmare on Floating-Point Street|Nightmare on Floating-Point Street]]
*[[PCSX2 Documentation/64-bit Recompilation|64-bit Recompilation]]
*[[PCSX2_Documentation/PCSX2_EE_Recompiler|EE Recompiler Internal]]
*[[PCSX2_Documentation/IPC_Protocol|IPC Protocol]]


==General Threading==
==PCSX2 Plugins==
*[[Passing Settings Between Threads]]
*[[PCSX2 Documentation/PCSX2 Plugin Interface|PCSX2 Plugin Interface]]
*[[Threading Basics]]
*[[Threading Advanced]]
*[[Thread Synchronization]]: Oct '09
*[[Thread Counting]]: Oct '09


==PCSX2 Core==
===Graphics Synthesizer===
*[[Virtual Memory]]: Jul '06
*[[PCSX2 Documentation/Graphics Synthesizer, GPUs and Dual Cores|Graphics Synthesizer, GPUs and Dual Cores]]
*[[Nightmare on Floating-Point Street]]: Aug '06
*[[PCSX2 Documentation/GSdx Demystified|GSdx Demystified]]
*[[64-bit Recompilation]]: Oct '06
*[[PCSX2 Documentation/GSdx Debug|GSdx Debug]]
*[[PCSX2 Optimization]]: Jan '07
 
*[[So maybe it's about time we explained VTLB]]: Feb '09
===Sound===
*[[Events o' Plenty]]: Jun '09
*[[PCSX2 Documentation/SPU2 is more than just sound!|SPU2 is more than just sound!]]
*[[Recompilers: All 'dems buzzwords?]]: Jun '09
*[[PCSX2 Documentation/Reverb Engine|Reverb Engine]]
*[[C++ exceptions can be an optimization]]: Aug '09
*[[What's clamping? And why do we need it?]]: Aug '09
*[[PS2 VU (Vector Unit) Documentation Part 1]]: Sep '09
*[[A new kind of fullscreen!]]: Jan '10
*[[Introduction to Dynamic Recompilation]]: Mar '10
*[[The return of the Commandline!]]: Jun '10
*[[Advanced memory management]]: Aug '10
*[[VirtualAlloc on Linux]]: Aug '10
*[[PS2's Programmable DMA]]: Aug '10
*[[MSVC 2008 optimizer fail]]: Sep '10
*[[Benchmarking Multithreaded PCSX2]]: Oct '10
*[[Threading VU1]]: Aug '11
*[[Path 3 Masking / Geometry Syncing]]: Sep '11
*[[MMU mini-series]]: Nov '14


==Graphics Synthesizer & GSdx==
==Translation Info==
*[[Graphics Synthesizer, GPUs and Dual Cores]]: Aug '07
*[[PCSX2 Documentation/Supported Languages|Supported Languages]]
*[[PCSX2 Documentation/Translation Guide|Translation Guide]]
*[[PCSX2 Documentation/Using Poedit|Using Poedit]]


==SPU and Sound==
*[[SPU2 is more than just sound!]]
*[[Reverb Engine]]


==Language and Translation==
{{PCSX2 Documentation Navbox}}
*[[Supported Languages]]
*[[Translation Guide]]
*[[Using Poedit]]

Latest revision as of 09:04, 1 September 2020

Building and Compiling PCSX2

WxWidgets Framework

Threading

PCSX2 Core

PCSX2 Plugins

Graphics Synthesizer

Sound

Translation Info