Home Forums PS2X PlayStation 2 Controller Library Support Forum Mad Catz Lynx wireless question


Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
  • #2943

    Hello to all here. Bill, love the site, the info, and your philanthropic efforts.

    As full disclaimer, I’m not using an Arduino, and have created my own PSX controller code for a PIC based on information found on various websites. But, I’m hoping someone has some experience that might help.

    I can run PSX and PS2 original Sony controllers with great success. I get the controllers initialized and locked into analog mode (red mode), and am running two motors through PWM output of the PIC. All seems well, and all control circuitry is 3.3V. I even have controller disconnect sensing working. My poll cycle gets the analog stick data and all of the button digital data with no problems, at 500kHz down to at least 125kHz SPI clock speeds.

    My problem comes when I try to use a Mad Catz Lynx wireless PSX controller. The controller itself works and will toggle into red analog mode when connected to a PS2, but it won’t initialize on my circuit. I even tried to simulate the entire initialization cycle per some of the data I’ve seen online for reverse-engineering. The Sony sticks continued to work normally, but no love from the Mad Catz aside from a single vibration, once, for a second.

    Does anyone have any experience with this controller? Do you think the vibration motor power line needs to be powered to get the wireless transceiver to work correctly?

    Thank you in advance for any information you might have! I’m happy to share code or hardware connection, but I felt it probably wouldn’t be very helpful.


    I can’t help you much. Did you read through the reverse engineering blog at curious inventor? http://store.curiousinventor.com/guides/PS2

    I can say that I agree with CI, uniformity around the different 3rd party vendors is horrible from what I’ve seen in comments from users over the years. They read the the bus at different times of the clock cycle, want different speeds, it’s ridiculous. It’s a wonder how they all worked on a PS2 to begin with.


    Thanks for the reply!

    I built my code based in large part on the tables at the bottom of that page detailing the instructions and expected responses. I also tried to do a full initialization based on the excel sheet that curious inventor linked to.

    I will probably borrow a scope from work and try to figure out what’s going on with the communication. I don’t have any debug outputs set up, and running the in-circuit debugger is only so effective for items like this since breaking the program to read memory values will cause communication problems (as you know, since you added the code to ensure the controller is pinged often enough.)

    If I ever do find the issue I’ll report back here (and to curious inventor). The PS2 must be quite flexible. I wonder if Sony ever released the interface specification to 3rd party vendors, or if they just hacked the protocol and went with what worked.

Viewing 3 posts - 1 through 3 (of 3 total)
  • You must be logged in to reply to this topic.