There's lots more info in the
VFD thread in Projects, and more pictures
here...
The short version is that I have a Basic Stamp that reads inputs from the joystick and buttons on its I/O pins and sends out serial characters to the Empeg.. Some simple software runs on the player to read the commands coming in on the serial and send the appropriate button code to Hijack for it to inject to the Player.
There's a bunch of components on the board to convert the joystick's interface into 7 separate signals, and the rest of the board is a switching power supply to regulate car voltage to +5 for the display and circuitry.
The display is just connected to the serial out of the player, a different app sends drawing commands to replicate the Empeg's bitmap. The display I chose is relatively slow (38.4kbps) so some software optimization (beyond "send whatever pixels have changed") is needed to get it to run fast, but it hasn't really bothered me using it in the current state for a several weeks.
I picked this display because it has 4 Empeg screens worth of pixels (to say run 4 apps at once in separate virtual displays), but there are several different size & resolution choices, all of which are faster or at least the same "speed" (baudrate/pixel count). foxtrot_xray chose the tiny one, I also have a medium sized (a little smaller than the Empeg's IIRC) fast (115.2kbps) 140x32 one around here somewhere. There's other ones too, and maybe LCDs.. any graphic module driven by serial can potentially be used.
The joystick is from
Grayhill.. It's neat and perfect for this use, but quite expensive (something like $80, and you have to buy many, or annoy them into selling you a sample).
Regarding the second FAQ link above, at least my software is all userland (and gets starved for a couple seconds whenever the player feels like spinning up the drives... need to do something about that). There's still some software to be improved, but it all basically works at an acceptable level for my daily use right now, so I think I'm well beyond preliminary
.