Environment
- MSFS 2024, Project Editor / EX1 SDK
- Custom aircraft: WWI biplane, single Mercedes D.IIIa-style inline 6-cylinder piston engine (fictional recreation), fully custom
[FUEL_SYSTEM], magneto ignition, manual hand-crank starter
Symptom
A:GENERAL ENG COMBUSTION:1 stays at 0.0% in every test, across dozens of attempts, despite the engine physically turning (RPM climbs to 400-470 via starter torque) and every prerequisite I can find documented appearing satisfied. The engine only ever “starts” via the generic Ctrl+E autostart routine, and even then I cannot confirm real combustion vs. starter torque alone.
What’s confirmed working (verified with debug spies reading the actual A:/L: values, not just assuming the code ran)
[Attach: forum_img1_fuel_system_pressure_no_flow.png — Debug Aircraft Engines + Fuel System side by side: positive pressure (2-5 PSI) all the way up to JunctionPumpsToEngine, but Flow: 0.0 Gal/H on that specific line, Combustion: 0.0%]
- Magnetos:
K:MAGNETO1_SETwired to a cabin switch, confirmed toggling (0/3) - Mixture: forced to
16384viaK:MIXTURE1_SETevery frame, confirmed stable at 100% in Debug Aircraft Engines - Throttle: wired to
K:THROTTLE1_SET(0-16384 range), confirmed tracking the lever position in the debug window - Fuel pressure/plumbing:
[FUEL_SYSTEM]with tanks, manual pump, engine-driven pump (#Index:1#PressureCurve:1), valves — Fuel System Debug shows correct topology, positive pressure (2-5 PSI) all the way to theJunctionPumpsToEngineline - Legacy engine fuel valve: found
A:GENERAL ENG FUEL VALVE:1was closed by default; wiredK:TOGGLE_FUEL_VALVE_ENG1to force it open every frame — confirmed open via spy, no change in Combustion - Priming:
requires_priming = 1. WiredK:TOGGLE_PRIMER1(perASOBO_ENGINE_Primer_SubTemplate) to fire once per full hand-crank rotation. Confirmed via spy thatA:RECIP ENG PRIMER:1climbs to 85-90%+ with repeated cranking — no change in Combustion - Starter: custom logic firing
K:STARTER1_SETwhen 5 conditions are met (priming ≥7 turns, spark retard lever at position, magnetos on, on ground, hand-crank spinning fast). Confirmed engaging via spy (XMLVAR_Starter_Engaged=1) min_required_rpm = 350(not left at default 700) — RPM does exceed this during starter engagement
What’s been ruled out with direct evidence (not just “should be fine”)
| Hypothesis | Test | Result |
|---|---|---|
starter_type Manual vs Electric |
Swapped 1→0 | No change |
DisablePropellerControls |
Swapped 1→0 | No change |
requires_priming itself |
Swapped 1→0 (bypass) | No change — still 0% even with priming requirement disabled entirely |
Legacy A:GENERAL ENG FUEL VALVE |
Forced open via K:TOGGLE_FUEL_VALVE_ENG1 |
No change |
min_required_rpm at default 700 |
Already explicitly set to 350 | N/A, ruled out by config |
min_fuel_press_for_combustion_psf |
Default (0.01 psf) vs. our measured pressure (hundreds of mbar) | Default is far below what we have, ruled out |
master_ignition_switch = 0 blocking ignition |
Compared against a working reference aircraft (Sikorsky S-16 addon, confirmed to combust) which also has master_ignition_switch = 0 |
Ruled out — matching value on a working aircraft |
Electrical circuit dependency (#Circuit:N on FUEL_SYSTEM valves + proper bus/battery/circuit.N declaration in systems.cfg, matching the working reference aircraft’s syntax exactly) |
Implemented, confirmed via Instance/Bus debug window that the circuit was declared and “Connected: True”, but Bus Voltage read 0.0V and circuit showed Missing(-1.00W) despite the battery showing 12.5V |
Voltage never actually propagated from battery to bus — inconclusive, but tying valves to this half-broken circuit also broke basic valve responsiveness (Toggle button in Fuel System Debug stopped doing anything), so this was reverted rather than debugged further |
[Attach: forum_img2_electrical_bus_0V.png — Instance/Components Overview: Main_Battery shows 12.5V but Fuel_System_Circuit shows Voltage: 0.0V, Missing(-1.00W)]
[Attach: forum_img3_bus_connections_detail.png — Bus Connections tab: Main_BUS shows Voltage: 0.0V, MISSING(-1.00W), SUPPLIED(-1.00W) despite both the battery and circuit showing “Connected: True”]
Fields I can’t find documentation for
InletCover: 1in the Debug Aircraft Engines panel — appears fixed at1in every single reading regardless of engine state. Could not find this documented anywhere. Is this relevant to piston engines at all, or a leftover field from another engine type’s debug template?
Specific question
Given fuel pressure, mixture, magnetos, throttle, priming level, and starter engagement are all individually confirmed correct via debug spies (not assumptions), what else does MSFS 2024’s piston engine combustion calculation require before GENERAL ENG COMBUSTION can go non-zero? Is there a definitive, ordered checklist of every precondition (beyond what’s in the Piston Engines tuning tutorial page) that’s known to gate this specifically?
Any pointer — a config parameter, a required SimVar write we’re missing, or a known interaction between [FUEL_SYSTEM] and the piston combustion calc — would be hugely appreciated after a full day of systematic elimination.


