PCSX2 Documentation: Difference between revisions

From PCSX2 Wiki
Jump to navigation Jump to search
(Add a link to the ipc protocol)
 
(36 intermediate revisions by 4 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.
==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]]


NOTE TO DEVELOPERS: Please feel free to rearrange the articles in a way that makes more sense, or matches the structure of the PCSX2 code.
==WxWidgets Framework==
*[[PCSX2 Documentation/Measuring the Benefits of wxWidgets|Measuring the Benefits of wxWidgets]]
*[[PCSX2 Documentation/WxWidgets Coding Strategies|WxWidgets Coding Strategies]]
*[[PCSX2 Documentation/The PCSX2 Program Flow|The PCSX2 Program Flow]]


==Github and CMake==
==Threading==
The first thing you'll need to do is download and compile the PCSX2 source code.
*[[PCSX2 Documentation/Passing Settings Between Threads|Passing Settings Between Threads]]
*[[Compiling on Windows]] ''Update in progress''
*[[PCSX2 Documentation/Threading Basics|Threading Basics]]
*[[Compiling on Linux]]
*[[PCSX2 Documentation/Threading Advanced|Threading Advanced]]
*[[PCSX2 Build Scripts]]
*[[PCSX2 Documentation/Thread Synchronization|Thread Synchronization]]
*[[Git Survival Guide]]
*[[PCSX2 Documentation/Thread Counting|Thread Counting]]
*[[Chroot and 64-bit Linux]]
*[[PCSX2 Documentation/Benchmarking Multithreaded PCSX2|Benchmarking Multithreaded PCSX2]]
*[[GNU Debugger Tips]]
*[[PCSX2 Documentation/Threading VU1|Threading VU1]]
 
==Contributing Guidelines==
*[[How to Create Useful and Valid Issues]]
*[[Commenting Etiquette]]
*[[Code Formatting Guidelines]]
*[[Contributing To-Do List]]
 
==The wxWidgets Framework==
PCSX2 runs on wxWidgets, a powerful GUI framework that is in charge of the general program flow and threading. The GUI code is located in the folder [https://github.com/PCSX2/pcsx2/tree/master/pcsx2/gui pcsx2/gui].
*[[Measuring the Benefits of wxWidgets]]
*[[The PCSX2 Program Flow]]
*[[WxWidgets Coding Strategies]]
 
==General Threading==
*[[Passing Settings Between Threads]]
*[[Threading Basics]]
*[[Threading Advanced]]
*[[Thread Synchronization]]: Oct '09
*[[Thread Counting]]: Oct '09


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


==PCSX2 Plugins==
==PCSX2 Plugins==
*[[PCSX2 Documentation/PCSX2 Plugin Interface|PCSX2 Plugin Interface]]
===Graphics Synthesizer===
*[[PCSX2 Documentation/Graphics Synthesizer, GPUs and Dual Cores|Graphics Synthesizer, GPUs and Dual Cores]]
*[[PCSX2 Documentation/GSdx Demystified|GSdx Demystified]]
*[[PCSX2 Documentation/GSdx Debug|GSdx Debug]]


*[[The PCSX2 Plugin API]]
===Sound===
*[[PCSX2 Documentation/SPU2 is more than just sound!|SPU2 is more than just sound!]]
*[[PCSX2 Documentation/Reverb Engine|Reverb Engine]]


===Graphics Synthesizer & GSdx===
==Translation Info==
*[[Graphics Synthesizer, GPUs and Dual Cores]]: Aug '07
*[[PCSX2 Documentation/Supported Languages|Supported Languages]]
*[[GSdx Demystified]]
*[[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