hubbabubba
Charter Member
Many "workarounds" were offered, but I think that what aproblem_asolution (very apt name btw...) has found can only be described as a genuine fix;
The original thread at FlightSim is HERE.
I took the liberty of re-posting here as I think that this fix is of general interest to anyone interested in flying CFS1. I tested the HEX editing procedure myself but, not having a Windows 7 machine, I would appreciate any feedback from people who do.
Ok the problem is very simple!
Explanations:
-------------
In Windows 95 To XP, the game search 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):
------------------------------------------------------------
01) Download Hexadecimal editor (example freeware: http://mh-nexus.de/en/downloads.php?product=HxD)
02) Optional: Backup the EXE Game file Default = "C:\Program Files (x86)\Microsoft Games\Combat Flight Simulator\COMBATFS.EXE"
03) Optional: Backup the Config game file (if exists) Default = "C:\Program Files (x86)\Microsoft Games\Combat Flight Simulator\COMBATFS.CFG"
04) Open the EXE Game file "COMBATFS.EXE" with the hexadecimal editor
05) Search for hexadecimal values an enter "6802000080" (CTRL+F -> Hexadecimal Values -> 6802000080, F3 To search next)
06) Normally you have 3 results (Me at offsets: 1141, C60F, C6BD) (Don't Select And Change The 1st result)
07) Select the 2nd result (Me at offset C60F) and replace "6802000080" by "6801000080" [Just replace 02 by 01]
08) Select the 3rd result (Me at offset C6BD) and replace "6802000080" by "6801000080" [Just replace 02 by 01]
09) Save the EXE game file "COMBATFS.EXE" (in hexadecimal editor)
10) Delete the config game file "COMBATFS.CFG" (if exists)
11) Start the Game...
12) Joystick And Configuration Menu Works Fine NOW
(If you have some problems just replace "COMBATFS.EXE" [steps 02] To restore original file)
Enjoy
The original thread at FlightSim is HERE.
I took the liberty of re-posting here as I think that this fix is of general interest to anyone interested in flying CFS1. I tested the HEX editing procedure myself but, not having a Windows 7 machine, I would appreciate any feedback from people who do.