Here's what I've done, including some false starts - someone else might learn from my mistakes too.
The first socket is the "main" joystick port, into which I plug my trusty Thrustmaster FCS. I'll detail the wiring in a second, but for the most part this port is wired straight into the game port.
The second socket I built a small box with two DB-15 female sockets and a SPDT toggle switch. A few feet of flat ribbon cable come out of the box, connected to a male DB15 plug, which goes to the computer's joystick port.
The first socket is the "main" joystick port, into which I plug my trusty Thrustmaster FCS. I'll detail the wiring in a second, but for the most part this port is wired straight into the game port.
The second socket is the "auxiliary" joystick port, which maps X1 on the connected joystick (rudder pedals) to X2 of the game port, Y1 (throttle) to Y2 of the game port, and B1 & B2 (in case I ever plug in a basic joystick instead) to B3 & B4 of the port.
Since the FCS "hat" switch uses the Y2 axis, the toggle switch lets me select whether main-Y2 or aux-Y1 is connected to the Y2 game port input. The FCS supports all four buttons, but since they are normally open, there's no harm in leaving both the main B3 and B4, and the aux B1 and B2, connected to the game port's B3 and B4 at the same time. (Unless you had a 2-player game and wanted to use an FCS and a normal joystick, and keep the FCS user from hitting the other guys buttons... nothing to stop you from putting in a toggle switch in that case).
Rather than draw a schematic, here are the connections. "G1" means "game port pin 1", "M2" means "main pin 2", "A3" means "aux pin 3", etc.
G1 through G10, G12, G14, and G15 go to corresponding M pins.
G1, G4, G5, G8, G9, G12, and G15 go to corresponding A pins.
G10 to A2, G11 to A3.
Finally, the switch: center to G13, one side to M13, other side to A6.
I might add another switch option to run the aux Y1 to the game port's X2, if there's something that can use a throttle control plus the FCS hat (Descent, maybe). That would simply be another SPDT toggle connecting G11 to either A3 (as currently wired) or A6.
Here is a program (joy.com - also I have provided the source code: joy.c) for reading the PC joystick port, and a test program useful for checking out joystick connections.
(()) <- 4" length of 1/2" diam sprinkler pipe || side view: || <- metal "plumbers tape" covered with || electrical tape --------------------- <- thin wood scrap, about 4"wide x | || | 10" long | ( ) | <- pot | | | | --------------------- <- wood base, about 4x10 alsoThe top wood piece is mounted on blocks at a proper height above the base. A circular saw made a slot for the throttle handle. The pot has a suitably long shaft with a flat spot. Mounting the handle to the shaft was a little tricky; I scrounged up some metal rings with setscrews and put one on each side of the handle:
|| ------- || | | _ || _ | | ____| |||| |__| | |____|*||||*|__| (pot) | | |||| | | | - - | | | | --------and a couple pins (on opposite sides of the shaft) through the handle, held in place by the rings. The next trick was getting a proper amount of resistance to movement. I found a wide rubber band and wrapped it tightly around the pot shaft between the pot body and the first ring - it squeaks a little, but works okay.
The pedals and throttle a wired to a DB15 connector which goes into a homemade switch box, along with the FCS. The box lets me select between the FCS hat and the throttle, and plugs into the joystick port on the computer. By the way, I have a little test program to read all four joystick axes and buttons, which is very handy for testing these hookups.
I thought about getting a nice car seat from the auto wrecker's, but it sounded like that might run into some bucks. I now think that might be worth it anyway, but I ended up building my own from plywood, foam, fabric and staples. I took dimensions off the seat that's (still ;) in my car. Then I added a platform for the joystick. The first try was a shelf that came out between my legs, angled left so my right arm rested comfortably on my leg and my wrist wasn't bent to the side. You know, just like on the space shuttle. A little preflight testing turned up a problem - pulling the stick back and keeping a thumb on the hat switch meant digging my arm down onto my leg and flexing my wrist upward. Aha, just raise the stick up higher, right? Well, the idea here was to build a tight little cockpit, and having a joystick way up in my face wasn't going to work (nor did I want to climb in off a ladder from above...). Anyway, I ended up making a platform on the right side, bolting it to the seat for stability. The FCS is held down securely with (what else?) rubber bands. This also gives me a place for the mouse that some games use (I wish I'd provided a bit more room for the mouse, though. And a little more padding on the seat bottom - after a few hours of flying the backside can get kind of numb.)
Here's a top view, call it "computer on the half-shelf":
+--------+ +--------+ | shelf | | shelf | | | | | | | | | | | | | | | +-----------+ | | | | | pedals | | | | | +-----------+ | | | | | | |+-------------------------------+| || +-----+ +---------+ || || | CPU | | monitor | || || | | | | || || +-----+ +---------+ || ||_______________________________+| +--------+ | keyboard | +--------+ |spkr| +-----------+ |spkr| +----+ +----+ +-+-------------+----+ throttle-> |=| | joy| +-| |stick | seat | | <-mouse | |----+ +-------------+ \ / \ / ---------- ^- woofer
Jack Morrison