PCSX2 Documentation
This page is an attempt to clearly document the PCSX2 code, to make life easier for those who wish to join the project. 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.
Github and CMake
The first thing you'll need to do is download and compile the PCSX2 source code.
- Compiling on Windows Update in progress
- Compiling on Linux
- PCSX2 Build Scripts
- Git Survival Guide
- Chroot and 64-bit Linux
- GNU Debugger Tips
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 pcsx2/gui.
General Threading
- Passing Settings Between Threads
- Threading Basics
- Threading Advanced
- Thread Synchronization: Oct '09
- Thread Counting: Oct '09
PCSX2 Core
- Virtual Memory: Jul '06
- Nightmare on Floating-Point Street: Aug '06
- 64-bit Recompilation: Oct '06
- PCSX2 Optimization: Jan '07
- So maybe it's about time we explained VTLB: Feb '09
- Events o' Plenty: Jun '09
- Recompilers: All 'dems buzzwords?: Jun '09
- 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