Getting started

How it is checked

The goal is that the aircraft behaves exactly as Zibo's does. This is proven by comparison with Zibo's original code, not by eye.

The oracle#

Zibo's original plugin and Lua scripts run, unmodified, inside a small headless test program that imitates X-Plane (xphost/). It is called the oracle. It is never part of the aircraft, only of the tests.

1. ScenarioA power-up, a takeoff, an ILS approach, converging traffic, a sink rate. It is flown in the oracle.
2. RecordEvery value of Zibo's code is recorded on each frame.
3. ReplayThe same frames go through the translation in this project.
4. CompareEvery value is compared. "Identical" means no value differs on any frame.

After that, systems tests fly the same situations through the whole aircraft module, with MSFS's inputs as they would arrive. Finally the owner checks it in MSFS.

What has been compared#

Area Result
TCAS Identical on all 2,543 samples (1,010 with an RA, 282 with a TA)
GPWS and the stall band Identical on all 13,785 samples (PULL UP 1,168, GLIDESLOPE 770, SINK RATE 288, TERRAIN 240, WINDSHEAR 46)
ILS approach and autoland The oracle flies the approach in a closed loop on Zibo's own flight director: LOC and G/S capture, dual channel, FLARE, RETARD, rollout
Autopilot and autothrottle modes LVL CHG, V/S, ALT HLD, HDG SEL, VOR/LOC, APP, CWS, FMA, speed window, SPD INTV, ALT INTV
LNAV, VNAV Path calculation, roll commands, climb, cruise, descent path, arrival with restrictions, DES NOW
Systems Pressurisation, hydraulics, flaps, gear, brakes, autobrake, speedbrake, stabiliser trim, yaw damper, reversers, fuel
CFM56 engine tables N1, N2, EGT, fuel flow and start, compared value by value

What cannot be identical#

  • Flight physics. The control laws and gains are Zibo's, but MSFS's aircraft responds differently from X-Plane's. The servo that moves MSFS's controls is tuned for MSFS.
  • Navigation data. It comes from MSFS's database, which is another provider and cycle than X-Plane's.
  • Traffic, weather and terrain. They are MSFS's.
  • Sound. Not in this phase.

The full list of differences is on Real 737 vs Zibo vs this. The method is described in the Rewrite plan §4, and the in-sim checks are in the Test plan.