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. I beg any PCSX2 developers to please populate this guide as much as possible.
Github and CMake
Contributing Guidelines
The wxWidgets Framework
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.
General Threading
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