Can you also add port type? (joystick, serial etc?) Makes reverse-engineering easier
I guess most are joystick port but for example B.A.T.II dongle is connected to serial port.
B.A.T.II dongle operation (from disassembly):
Set DTR high
Check CTS. Must be one.
Wait a little (short cpu timing loop..)
Check CTS again. Must be zero.