djcouchycouch wrote:But it seems to me the suggested solution is using a Serial-to-USB UART plugged into the joystick port?
I personally think using a micro-controller with native USB device support like the Teensy or an appropriate PIC makes more sense. You can do a lot more with it and it will probably be faster than using the FTDI bit-bang mode (you can run the handshake logic on the micro-controller so you don't need to round-trip over USB, just send a packet with a reasonably sized chunk of data). That said, using the FTDI is a little simpler as you don't need to write a program to run on the micro-controller.
djcouchycouh wrote:Would the whole chain of the solution look something like:
1. genesis software sends data to the joystick port
2. serial-to-usb uart sends it to the PC's USB port
3. some software (a terminal program?) is used to read and show the data
As has already been mentioned, the serial on the joystick ports is painfully slow, but otherwise that's the basic gist. If you're using a 4-bit parallel + 2-bit handshake, it might look something like this:
1. 68K program writes nibble + toggled handshake bit to joystick port
2. Micro-controller (or pc using FTDI+bitbang mode) notices the handhsake bit has changed and reads a nibble. It toggles its handshake bit to acknowledge receipt of the nibble.
2a. If using a micro-controller and we've accumulated enough data, send a packet to PC.
3. 68K program reads joystick port to wait for handshake bit from micro-controller/PC
4. Repeat
djcouchycouch wrote:
Is 1 possible? I wasn't aware you could send data to the joystick port instead of just reading it.
As TmEE.co says, the ports are bi-directional. This feature is actually used by all games to multi-plex the input pins. One pin is set as an output and is toggled to switch between two sets of inputs (that's for 3-button controllers, it's a little more complicated for other controller types).
djcouchycouch wrote:As for 2, the hardware suggestions seem to have some assembly required. Are there any solutions that would already have everything assembled?
There are no zero-assembly options currently available, but using an FTDI breakout board or Teensy is just a matter of soldering 6-wires from a breakout board to a DB-9 connector. If you get one with headers, you can even hook it up without soldering.