FS2004 N1 setting

Hello Experts,

By any chance, do you know the use of the KEY_AP_N1_DEC and KEY_AP_N1_INC events in FS2004?
In FSX, these events act on the "AUTOPILOT RPM HOLD VAR" variable, it works perfect, as shown in the FSX 737-800 for example.
But in FS2004, the events exist but it seems they act on no variable. I tried to read the "ENGINE_RPM_HOLD" variable, which is described as "Specifies rpm hold variable" but it doesn't work, its value is always 0.
I also tried to read the XML variable A:AUTOPILOT RPM HOLD VAR but it also 0 all the time.

I can accept this works in FSX only, in which case I can implement it by myself, but why did they include these 2 events if they are useless?
Maybe I missed something here...

Thanks for any help !!


Resource contributor
I think there is no AP_N1_DEC/INC but only AP_N1_REF_DEC/INC, in both FS9 and FSX. Also, A: AUTOPILOT RPM HOLD VAR exists in FS9, while A: AUTOPILOT RPM HOLD is a FSX-only variable.
Yes, you're right, the events are KEY_AP_N1_REF_DEC and KEY_AP_N1_REF_INC in fs9.
In fact, my question was not accurate enough. I am trying to know on what variables these events act, I couldn't find it...
And on the other hand, even if A: AUTOPILOT RPM HOLD exists in FSX only (again you're right), I wonder what is the "ENGINE_RPM_HOLD" variable in fs9?

In other words, we have in fs9 2 events that look useless because they modify no variable, and we have a variable that looks not modifiable by any event.
Any clue?


Resource contributor
If it can't be done with default events and variables, why not try a workaround (provided you've got access to the AP panel source)`, as in: Set up a simple controller to move the throttle lever until a desired N1 value is attained.
Yes, that's exactly what I was thinking of when I said I can implement it by myself, I already did this for several projects (CRJ 2004, Airbus Series, ...)
I just asked the question because I would like to have my code working for fs9 and FSX. I will create the controller by myself and I wanted to know if I have to create custom variables for fs9 or if I can use existing ones, controlled by existing events. It appears I will have to create my own ones, no problem.


Resource contributor
Well, with a custom controller, you can simply use the FS9 variable for N1 as input, which will also be read by FSX. This is also much easier than using the N1 hold events, whose names are different and therefor would require a sim version detection routine beforehand.
As I code my gauges in C++, detecting he sim version is not a problem. I have created a N1 target variable and I use my own controller, it works perfect. I even think it works better than the standard N1 hold mode provided in FSX :)