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.