WiFiController v0.4
Copyright (c)2006 David Rudie (d.rudie@gmail.com)
http://imk.cx/psp/wificontroller/


READ ME.  READ ALL OF ME!


LICENSE
 This application uses the BSD license and a copy of the included Copyright
 LICENSE file can be found in the root of the zip file.


ABOUT THIS PROJECT
 Mikko Monone wrote the original controller program for the PSP and the server
 for the PC. After using his program on the PSP it seemed it was missing some
 things. The start button exited the program and select didn't work. It had a
 display for the buttons you would press, and while it was functional, I like
 a little more detail to be displayed. I then wrote my own controller from
 scratch and only borrowed a small portion of his code (the packet creation).
 Here is a link to the thread that started this all in a way for me.


AFFILIATION NOTE
 I don't know Mikko Monone or the authors of PPJoy. There is no affiliation
 with them at all. I thank them for their programs.


WHAT THIS IS AND WHAT THIS DOES
 This basically turns your PSP into a controller for your PC (running
 Windows). How it works is that PPJoy provides a way to create a virtual
 joystick. We can then communicate with this virtual joystick as though it
 were a real joystick. This is accomplished by running a server in Microsoft
 Windows. The server just runs in the background waiting for a connection.
 When you start the WiFiController program on your Sony PSP it will establish
 a network connection over wireless using infrastructure mode. Once it
 establishes a connection and obtains an IP address it will connect to the
 server running on your PC. Once it has connected to your PC it will act just
 like a regular joystick.


NOTES
 Although I have not comfirmed this myself, I have heard that this works on
 v2.60 PSP's as well. I originally wrote this program for v1.00 and v1.50 only
 so future versions may not work on v2.60.


INSTALLATION
 I'm going to attempt to explain how to get this working. These steps are all
 necessary and you should pay close attention to them.

 1) Open the PSP directory and edit the proper wifi.cfg for your PSP version
    and set the IP of the computer you are going to use this on. If you don't
    know your IP address. Go to your "Start" menu. Click on "Run..." When the
    box opens up type "cmd.exe" without the quotes. When the command prompt
    opens type "ipconfig" without the quotes. It will report your IP address.

 2) Copy the correct director(y|ies) to your PSP depending on whether you have
    a v1.00 or v1.50 PSP. If you use a custom firmware mod that allows the use
    of a single EBOOT.PBP files on a v1.50 PSP then you can use the v1.00
    directory.

 3) Download and install PPJoy.
    http://www.geocities.com/deonvdw/Docs/PPJoyMain.htm

 4) After it is installed open up your "Control Panel" and click on "Parallel
    Port Joysticks".

 5) When the window comes up click "Add..." at the bottom. On the next screen
    change "Parallel port" to "Virtual joysticks" and then click "Add."

 6) It will want to install some drivers so either have it scan automatically
    or point it to the directory you installed PPJoy to.

 7) After it is done installing, click the "PPJoy Virtual joystick 1" in the
    menu and click "Mapping..."

 8) Choose "Set a custom mapping for this controller" and click "Next."

 9) Set these options for best results.
    Axes = 2 (X Axis and Y Axis)
    Buttons = 9
    POV hats = 1

 10) X Axis = Analog 0
     Y Axis = Analog 1

 11) These buttons are up to you to set. You should leave "Button 1" set to
     "nothing" otherwise you may have problems using the Triangle button on
     your PSP later.
     Button 1 = nothing
     Button 2 = Digital 0
     Button 3 = Digital 1
     Button 4 = Digital 2
     Button 5 = Digital 3
     Button 6 = Digital 4
     Button 7 = Digital 5
     Button 8 = Digital 11
     Button 9 = Digital 10

 12) Directional button POV
     North = Digital 6
     East = Digital 7
     West = Digital 9
     South = Digital 8

 13) Run the SocketText.exe program. It will open a Command Prompt window.
     Just minimize it. You need to have SocketText.exe running at all times in
     order to use the PSP as a joystick. When you are done using it you can
     safely exit the program. If the window opens and closes then something
     went wrong beyond my control. All I can say is retry all the steps. Read
     PPJoy's website as well for help in getting that setup because that is
     most likely where the problem lies.

 14) Now start the program on your PSP and it should connect to your computer
     and basically be working. You'll find out in the next step.

 15) Go back to your Control Panel and go to Game Controllers. Click on "PPJoy
     Virtual joystick 1" and choose Properties. On the screen that comes up
     you should be able to press buttons on the PSP and have them show as
     working on the screen. I recommend calibrating the Analog Stick too.

 16) Enjoy!
