Final Assault gamepad controls
------------------------------


Disclaimer: You won't find detailed step by step guid with accurate measurments or precise schematics here. 
This is more of a general idea for a fun HW project that requires mostly basic skills and tools and some improvisation.

Warning: Two of gamepads suggested in this text were a good fit for this project because their PCBs allowed for easy soldering of extra wires needed.
Not every gamepad is like that so if you pick some different brand/model try to make sure it's fit for the purpose first.



Why gamepad?

Joystick controls for FPS game are a bit awkward, one hand on stick, other on on keyboard is doable, but it still didn't feel right for me
so I took a break from coding, made a gamepad that uses both joystick ports and crammed all the player controls on it.

I didn't want this to be a controler for one specific game so I made it reconfigurable on the hardware side in a simple way using pin headers.
Joystick cables use female pin headers while gamepad cable has male ones so you can attach any joystick direction or trigger pin to any gamepad switch.

Besides this being usefull for special ocasions the gamepad can be used for normal games or enhanced ones made for 2+ button joysticks 
( with minimal extra parts, some info + enhanced games: https://github.com/ascrnet/Joy2Bplus , and the thread on AtariAge that started it all: https://atariage.com/forums/topic/278884-2-button-joystick/#comments )
For maximum usefullness you can add paddles and have a all-in-one controller.


How?

'Basic' version
----------------

I chose to rewire a cheap PC USB gamepad so I don't have to make my own PCBs and enclosures.
I picked Gembird JPD-UB-01, it costs roughly 3 Euro around here. https://gamepady.heureka.sk/gembird-jpd-ub-01/#
Desoldered the USB cable, cut the button conections to gamepad controler IC and made sure all the buttons and d-pad switches are connected on one side (that wire will be connected to ATARI Joystick ground)
Then soldered a wire to each available button, ending with a male pin header.
 
For joystic cables you can use ones from old joysticks, shop around or make own with gutted Canon 9 pin female Dsub connectors 
(they don't fit with the metal 'enclosure' but once you get that off they'll fit nicely)
solder female pinheaderss on the other side of the cables and you're done.


Important: label your gamepad pins and joystick wires or else you're going to spend a long time matching them up.


All that's left to do is connect the female pins on the joystick cable to gamepad male pins.

For Final Assult I used this control scheme:

Gamepad	D-pad Up 	-	Joystick 1 Up			- move forward
Gamepad	D-pad Down 	- 	Joystick 1 Down			- move backward
Gamepad	D-pad Left 	- 	Joystick 1 Left			- turn left
Gamepad	D-pad Right	- 	Joystick 1 Right		- turn right

Gamepad R2		-	Joystick 1 Trigger		- fire weapon

Gamepad L1		- 	Joystick 2 Left			- strafe left
Gamepad R1		- 	Joystick 2 Right		- strafe right 

Gamepad L2		-	Joystick 2 Up			- map (hold button)
Gamepad Button 2	-   	Joystick 2 Down			- use switch / terminal / check barrel

Gamepad Button 1	- 	Joystick 2 Trigger		- switch weapon

So now the whole game can be played on gamepad and there's still room for some more controls if necessary since we have 2 potentiometer inputs per joystick port available.

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

'Deluxe' version
----------------

After a while I decided to go for a bit more expensive but much more user friendly experience because matching cables, even labeled ones is a pain in the ass.
This versioun is build using two small prototyping PCB boards, male pin headers and short connection cables with female pinheaders on both side, some jumpers, four 330ohm resistors for Joy2b+ capabilities, couple
of linear potentiometers for paddle controls (one 1M ohm, other one 470K ohms), two joystick cables and one LPT cable (there's 25 cables inside so a perfect candidate for wiring up whole gamepad)
This time I used Omega Defender gamepad which is roughly 2 Euro more expensive but has 2 analog sticks that can be removed and replaced with potentiometers https://gamepady.heureka.sk/defender-omega/#

Gamepad rewiring process was very similar to the previous one, once the USB cable, twin analog stick and one led was desoldered and connections to controller IC cut, I drilled some holes into gampepad PCB
there were conveniently placed large areas near each button where a connection cable could be soldered, used GND from desoldered twin stick connection for ground connection and existing 
holes in small shoulder button PCBs (there's also one more 'reusable' GND soldering point where the USB cable was attached).

Next step was affixing of potentiometers. As I wrote earlier I used two kinds, first was 1M ohm the 'standard one' used for ATARI paddles and secod one was 470K ohm. According to multiple sources
majority of games didn't use whole range of pots suggested using 500K ones for more precise control. I did some BASIC testing before soldering the smaller one in and came up with Paddle(0) values from 0 to 130.
The holes from removed analog sticks were too large so I had to fill them first with some round piece of plastic with a hole in the middle for pot.
Found out that 'vitamine tube' bottom was a perfect fit https://duckduckgo.com/?q=vitamine+efervescent+tube&t=newext&atb=v246-4__&iar=images&iax=images&ia=images
Had a couple of empty tubes usually used for storage of small screws, nails etc. lying around so I murdered four of them, made holes for the pots, glued together two tube bottoms (one was too thin) and glued it 
all in where the analog stick was. (plastic caps from pet bottles are also a great alternative although they were a bit bigger and needed more work to fit properly).

Before mounting pots into gamepad housing shorten pot shafts to desired length, screw them in and attach paddle knobs.
There's a wide variet to choose from, just remember that if you want to use big knobs similar to ones used in original paddle controlers, you'll have to detach them after use because they'd cover d-pad or buttons otherwise.


Cosmetics (pot hole masking) and housing for pin header PCBs are left as an exercise for the reader (don't forget to add ATARI stickers:)



Summary
-------

For relatively cheap you can make your own gamepad with only minimal equipment and basic soldering skills.

Pros
----
+cheap
+relatively easy to make - only basic soldering skills required + a bit of work with plastics, danger of heavy or fatal injuries minimal:)
+easily and quickly reconfigurable - set your triggers on shoulder buttons instead of face ones, switch controls and triggers for left-handers, switch between Joy2B+ and paddle controls 
+all-in-one controler - normal joystick replacemt with Joy2B+ enhancement and paddle controls
+since it's just a rewired joystick all software will work without need for patched controls
+you can play Final Assault on a gamepad:)

Cons
----
-it's a gamepad
-smaller paddle knobs if you want to have them attached permanently without blocking d-pad or gamepad face buttons (alternative would be removable larger knobs)

2021 - Globe/GMG 