Looks promising, maybe a purchase in my future.
gr8npwrfl has posted some exceedingly interesting news:
Well here is the proof of concept you have been waiting for
This is the prototype USB Host to serial interface
This is a AT90USB1287 chip from Atmel. IT has not only a
standard USB device interface but it has the USB Host
interface.
This is their prototype board that sells for $34.00 and
is ready to run as it comes from Digikey, Mouser, or
Arrow.
I placed it in a box to make it easier to handle as the
entire proto board is only 3 inches by 1 inch.
The two connectors on the front of the board allow me to
plug in cables. One to the PSP and another to a RS232
converter so I can send data to the PC.
I currently have completed the USB mouse driver and a
USB Keyboard driver. I am currently debugging the gamepad
drivers for the XBOX 360 wireless gamepad, the PS2/PS3
wireless gamepad, and the Logitech Wingman wireless gamepad.
All of the interfaces require the installation of Pikey
onto your PSP.
THERE ARE NO HARDWARE MODS TO THE PSP AT ALL!
IT works on both the Phat and the Slim
Here is a picture of the cables that I have made up to
work with the PSP Phat.
Again there are no hardware mods to anything. The keyboard,
mouse, joysticks are stock USB devices. That means when you are
not using them with your PSP you can use them other places.
I am working on the Pikey software to make the key mapping work
with my system. The external keyboard or gamepads will be able
to map to ANY PSP internal button or joystick. You will be able
to have multiple mapping files, one for each game of your choice
and map the buttons/sticks any way you want.
Enough talk, here is a video showing the system in action. The
final design will not have a battery, I am putting together a
2.5/1.8 volt to 5 volt converter so everything is powered from
the PSP.
If you want a real leg up with working with the AT90USB familly processors then you need to go to MyUSB. It gives you a fully functional USB host stack for these processors.
All my code is built on these as a base. There are fully functional demos of several HID devices as well as mass storage devices. They also have a software development board to help you with developing your own USB applications.
Between this board and the standard documentation on USB device drivers you can start writing your own drivers for USB devices.
Another hint, if you want to write a device driver for something there is not a driver for then check out to see if there is a driver for it in the linux community. You can use it as a template to develop your own driver around and make your life much simpler.
With these resources, even if you have never written a device driver you are well on your way.
MyUSB support list:
http://groups.google.com/group/myusb-support-list
AT90USB developers forum:
http://www.avrfreaks.net/
There are two approaches to using an external processor through the serial port.
1. Interface to the USB device and send the raw data in the serial port
and interface to the data on the PSP side.
2. Interface to the USB device, process and configure the data and send
only the results to the PSP.
Since I am sending my keyboard data to Pikey on the PSP side, I did not want to modify that software and put more overhead on the PSP which can cause other side effects and problems.
My keyboard interface reads the USB scan codes from the keyboard and then in flash memory I maintain the translation table to Ascii. The only app that I am writing for the PSP is to be able to send custom translation
tables to be stored in the remote cpu flash.
Also like remotejoy that allowed the gamepad to be mapped to keyboard keys, I am interfacing the external gamepads to the keyboard translation table so you can have button reassignment to your hearts content.
All the burden and overhead does not consume resources on the PSP and does not slow down the system.
After the keyboard and gamepad is done, I have so much more power left in the external cpu I was thinking about taking two of the A/D converters and building a frequency discriminator so I can build a micro based sub woofer amp for the speaker output that is already being sent to my interface.
Awesome news
Looks promising, maybe a purchase in my future.
That is fantastic! As soon as I can nab one of these on mouser, I will hit this guy's usergroup up for instructions on how to build the interface cable to the remote port.. Is he planning on publicly releasing the drivers soon?
I have been waiting for this for a long time! IRkeyboard was neat to mess with, but the latency time makes it too slow for gaming. But this will be amazing to use with DOSbox!
Conceivably, drivers could be written for all kinds of input devices - PSX controllers (via usb adapter), motion sensing controllers, trackballs, joysticks, etc. Possibly even one of those dual keyboard/mouse adapters, so you could use both a keyboard and mouse at the same time to play a first person shooter? :-D
Looking forward it. But It would nice that could have the possibility of an AC adaptor.
You can use any wall mount transformer from 6.5 to 10 volts dc 500 ma and use that in place of the battery if you want.
I am building a 2.5/1.85 volt to 5 volt converter so the entire system runs from the power of the PSP.
The one restriction with this chip is that it is USB OTG host. So you can only support one USB device at a time and you can not use a USB hub.
What do you want for a $10 chip LOL ?
A very complex driver will only take up about 1 to 1.5k because you do not have the OS system overhead to deal with.
All gamepads output a switch mapping table, my driver only has to recognize what device is plugged
in and then build that table in memory. When a value in that table changes I go to a cross map that determines the ascii value to send down the line. So that way any button on the gamepad can map to any button on the keyboard that is mapped to any internal PSP button ( This includes the joysticks )
Fairly straight forward, just takes a little time to work out all the mapping. That is what I am debugging right now.
I am going to setup a repository for drivers on this platform at sourceforge.net so we can keep building a library of devices we can interface to.
By the way with all the extra A/D converters on the chip we can take the left and right audio
and feed it into the cpu and do frequency descrimination to create a cpu based sub woofer. This can be fed into an amp and used to trigger the rumble mode of the controllers.
Do you know I have the driver done to talk to a usb cell phone ? The PSP can make phone calls LOL.
It is just another serial device.
Last edited by gr8npwrfl; September 19th, 2008 at 06:59. Reason: Add items
This raises the potential of the PSP so
far that it's a mystery why Sony
never put something similar on the motherboard.
good luck with the project gr8npwrfl
Does this mean that USB memsticks can be accessed ?
This looks to be an inherently not-simple process.. You have to buy the microcontroller, put it in a project box (if you want it to look pretty and not get damaged), manually flash the drivers to it (which in the video he says can be done via USB, which will make this A LOT more accessible for the average user), and then most likely solder your own cable to connect the microcontroller to the PSP's remote port. Still, it shouldn't be too hard as long as gr8npwrfl can post some tutorials/readme's along with the driver releases.
And of course, if he was enterprising enough, I'm sure he could sell pre-flashed pre-cabled ones to willing buyers who are not tech savy enough or too lazy to make their own.![]()
Proof of concept my ass.
This thing is good to go as is for some apps.
Things like this is why I say that the PSP homebrew scene is above and beyond most of the other scenes.
Why not replace simple laptop functions such as word processing and email with a PSP? A fraction of the size, power and weight, I'll be leaving my laptop at home next time I go to class. well as soon as a better text editor is worked on.
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks