A PS2 controller emulator for PIC16F microcontroller. Thank you to mcranford13/Matthew for the initial code base as this is a fork of his project with continuation. I've debugged the PS2 protocol and increased the compatibility across PS2 games. More testing will be done to see if there are any remaining bugs.
You will need a pickit3, MPLAB (free), and XC8 compiler to flash this. To build from source, open the firmware project in MPLAB and click 'run'. This will compile the project and then initiate the transfer to the mcu.
- Press Select, L1, and L2 to enter configuration mode. The PS2 should say that there is no controller connected (if you are in a game).
- Move the analog sticks slowly in a circle.
- Press Select, L1, and R1 to exit. The PS2 should now recognize the controller.
- Reboot the controller (rebooting the ps2 works too). Analog sticks should now be working.
To set the analog sticks back to the default values:
- Press Select, L1, and L2 to enter configuration mode.
- Press L2, R2, Select, Start.
- Reboot controller (or ps2).
A new pcb with new pin mapping will be uploaded soon.
This project has only moved forward due to these individuals and sites (in no particular order):
- Curious Inventor - documentation of the PS2 controller Protocol
- Scanlime - documentation of the PS2 controller protocol
- Aurelio Manara - for answering countless questions and advice.
- Gman - for initial interest in this project and countless contributions to it.
- PS2Dev Team - for all the hard and amazing work on homebrew for the PS2.