OK-I've finally finished! Sorry about the lack of photos-I'll make up for it with a video that'll come out someday.
I ran into some case issues. Mainly:
- I made the posts for the button PCBs too short, so I had to use some nylon washers, long screws, and hot glue to hack it together.
- I made some tolerances too tight, so buttons didn't fit well, etc. Sanding helped.
- I didn't account for the height of some screwheads or the height of the analog stick, so I had to trim the analog stick's shaft and glue the cap in place. I also had two button PCBs shorting, so I glued over some contacts to prevent one of the buttons from always returning "pushed".
(Okay, that was a mean place to put a "read more" break.)
The USB jack kept coming off, so I re-glued that multiple times. Also, the headphone jack (which also contains composite video) would cause the internal LCD to shut off when headphones were connected. I fixed this by clipping the composite video pin, which disables the composite video output. Oh, well. We still have HDMI!
Other than that, it went relatively smoothly.
Of course, Linux was sometimes a pain in the <insert body part of choice here>. In particular, calibrating joysticks is NOT FUN. I ended up having to globally set the default SDL joystick and use jscal to set a calibration upon startup. (I used the emulationstation shell script as a "carrier" for my "payload".) Also, for whatever reason, libretro refused to let me control volume from a USB joystick. Weird.
The composite LCD worked well due to the addition of a 10 uF decoupling capacitor on the 5v line. Without it, the cheap Chinese driver board would keep losing sync with the Pi's output.
Well, this was fun! It's too bad I can't keep this unit-it's the first portable I've actually completed, case and all. Oh, well. At least I know my client will be quite happy with this. There's still some tweaks I would add if I had time, but I'm racing the clock (not the beam-sorry, Atari! :) and I need this done by tomorrow.