Urg... So I hit my first major road bump today almost immediately after I closed this up...... I thought I had things with the controller 100% sorted out, but it turns out not so much.
Anyone who ever owned a PS2 will know that a limited (50% maybe?) number of PS2 games work fine with a PS1 Dual Shock controller. The other 50% give you a nice message at the boot of the game and ask you to plug in a DS2 if a DS1 is present.
Long story short, I used a DS2 controller board in my portable, BUT, I used a DS1 faceplate to solder my button contacts onto. Apparently, this negates the fact that the actual controller board is a DS2. All this time I'd been testing with God of War, which I was Dang near 100% sure was one of those games that require the Dual Shock 2 and all was going well. Well, apparently God of War DOESN'T require the DS2. But the first game I booted up to do an extended playtest today (FFXII) does, of course. :/
Now, after some close(r) inspection of both controllers, I think I understand why this is happening, and how I can fix it. Pictured below is the DS1 faceplate (top) I mentioned previously that I used in this portable, nice old carbon contacts for the win. Also pictured is a DS2 faceplate (bottom). You can see why I didn't/couldn't use the DS2 faceplate in the portable, as its just a flimsy thin plastic piece of crap, with some carbon contacts printed onto it (not good at all for cutting apart and soldering to).
If you look closely at the DS2 faceplate you can see that all of the carbon contacts for the buttons (except start, select and analog) all connect one trace to the common trace with the resistive carbon contacts in between. And this is why the DS1 faceplate doesn't work with the DS2, in short the DS2 expects those resistances to be there.
So, I have 2 options. I can go and install a resistor between every button in my portable and the common for those buttons or I can leave that stuff as it is and install a new controller board with the flimsy faceplate still attached, folded up and out of the way. I think I'm going to go with the latter, as its the easier option of the 2 at this point...
Other than that, this was fully
(almost) functioning and closed up today.
*sigh*