I've got a few questions regarding the PSP's SIO port. I've done a LOT of research on hardware mods for the PSP as of late and I've got a few ideas for a mod of my own.
Before anyone asks, I do think I am up to all the work I'm getting into; I'm an electrical engineering undergrad and I'm currently working a holistic job in embedded systems (including plenty of fun with the RS232 features of a PIC 18). I figured that since the PSP's SIO interface practically is RS232, I won't have much trouble with that.
I want to make a circuit that performs several functions in one: Keyboard input, mouse input, and composite video output. That's the plan at least.
Keyboard should be easy. I've seen a lot of mods that involve PS/2 keyboards, but PS/2 keyboards are mostly less portable and need to be under 50mA to be up to spec (so I assume they draw somewhere near 50mA). I have a better idea. I've got a fried laptop lying around and it's got a very nice keyboard. The ribbon cable coming out of it is connected directly to the keyboard's matrix circuit, so I figure I could use a MCU to parse the keyboard directly instead of using one to communicate with a keyboard containing a MCU of its own. That should take less current and hopefully eliminate the need to step up the SIO's 2.5v to TTL logic levels (supposedly the PIC18F4520 that I might buy can run on voltage as low as 2v). If that won't work, I might look into getting some kind of CMOS MCU instead of a PIC.
I might look into connecting that laptop's nub joystick as well, depending on if I can figure out how it works. I'd try to control that with the same PIC as the keyboard (there are more than two ADC modules in this MCU, which facilitates this)
The composite video thing is low priority, but I'd still like to ask about that feasibility of that. I've heard that the composite video cables that plug into the SIO won't work while playing games, but perhaps the FUSA plugin might fix that?
http://foosa.do.am/From this page:
http://mc.pp.se/psp/phones.xhtmlI can see that there's no magic video pin on the SIO, so there must be some kind of chip in the cable that gets video from the PSP via RS232 and does interleaving crap to it and sends it out. I'm wondering if anything about this cable is public knowledge like with the audio remote. If not, then I probably won't attempt this part, maybe I'll just buy the damn thing (I'll probably want a nice, factory made SIO connector anyway.)
Some modders seem to have had problems with not getting enough current from the SIO port and have gone with external power. I want to avoid this, but I'll go with external power if I must. Somebody was apparently able to get around 40mA out of it, so I hope I can run a PIC and everything else on that.
I'd probably program the PIC in C, but I could do ASM if I have to. I doubt that doing this with C will slow things down too much though. I'll definitely be using interrupts for the keyboard and mouse and running the video handler in the main (should I decide to do that).
Perhaps if I buy a composite cable part, I'll figure out how it works and post my findings.
The only thing I'm expecting to have a hard time with is the PSP software side of things -- if I could take a look at the source code to pikey, I might be able to add support for the nub as well. Hopefully that's available.
Oh, and if anyone needs to see the rest of the sources I've dug up, I'll post them.
Thanks for reading!
EDIT: I want to make this for the PSP 1000 if anyone wants to know (that's why I posted in this section of course.)
EDIT2: The keyboard works just as I thought it would, though I haven't looked at the matrix circuit itself, I'll probably be doing that soon to figure out the mapping. At least I know that it's an 11 x 8 matrix with 85 keys.
Also, now that I look at it, I realize that this laptop has one of those little nub joysticks for a mouse instead of a touchpad, so things might be a little different (easier) than I thought (four leads come out of it, so I assume it's a normal joystick with two potentiometers).