Microsoft changed the hardware addresses for joysticks during one of their OS changes - I think Vista. I found an explanation and fix that you can do if you have a hex editor:
Explanations:
In Windows 95 To XP, the game searches for joystick name in regedit at key "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\MediaProperties\PrivateProperties\Joystick\OEM\..."
but in Windows XP (or 64 bits systems) (Example: Windows 7 - 64 bits) The key is not in "HKEY_LOCAL_MACHINE" but in "HKEY_CURRENT_USER"
"HKEY_CURRENT_USER\System\CurrentControlSet\Control\MediaProperties\PrivateProperties\Joystick\OEM\..."
Then just patch the EXE file game to read in "HKEY_CURRENT_USER" and not in "HKEY_LOCAL_MACHINE"
The ASM instruction is "push 80000002" to request on "HKEY_LOCAL_MACHINE" (hexadecimal values=6802000080)
and "push 80000001" to request on "HKEY_CURRENT_USER" (hexadecimal values=6801000080)
Follow Simple Steps to patch properly (Change Only 2octets):
Download Hexadecimal editor (example freeware: http://mh-nexus.de/en/downloads.php?product=HxD)
Open the EXE Game file "COMBATFS.EXE" with the hexadecimal editor
Search for hexadecimal values and enter "6802000080" (CTRL+F -> Hexadecimal Values -> 6802000080, F3 To search next)
Normally you have 3 results (Me at offsets: 1141, C60F, C6BD) (Don't Select And Change The 1st result)
Select the 2nd result (Me at offset C60F) and replace "6802000080" by "6801000080" [Just replace 02 by 01]
Select the 3rd result (Me at offset C6BD) and replace "6802000080" by "6801000080" [Just replace 02 by 01]
Save the EXE game file "COMBATFS.EXE" (in hexadecimal editor)
Delete the config game file "COMBATFS.CFG" (if exists)
Start the Game...
Joystick And Configuration Menu Works Fine NOW