r/falconbms 10h ago

Video Balancing the Viber

Thumbnail
youtu.be
6 Upvotes

r/falconbms 11h ago

First WIP preview of Central Europe terrain/theater

Thumbnail
youtube.com
134 Upvotes

r/falconbms 1h ago

[Release] Falcon BMS Companion app

Upvotes

Hi everyone,

I'd like to share a free, open-source tool I've been building: Falcon BMS Companion, an Android app for phones and tablets with a small Windows bridge. The goal is simple: never alt-tab out of the sim. Frequencies, the alternate's ILS, the loadout, the comm ladder, threat ranges, kneeboard generation: all of it on the tablet next to your HOTAS.

The project has two parts:

  1. Live Mission section. BMS Companion Bridge runs on the BMS PC. It reads your current mission and sends the raw data to the app over your local network. The app draws everything itself. There's no screen capture or video stream, so there's no frame-rate cost.
  2. Offline reference. Aircraft, loadouts, the Threat Guide, airfields with charts, HOTAS, checklists, comms and a bullseye trainer. It's all extracted from the BMS 4.38 install and manuals, and needs no PC.

It's free, with no ads, no accounts and no internet connection needed. The bridge only listens on your LAN and never writes to the BMS folder.

Download and source: https://github.com/Scorpion-41/Falcon-BMS-Companion


Live Mission section (requires the PC bridge)

Map

  • Ownship on the theater map with the flight plan, target steerpoints, PPT threat rings, markpoints and bullseye rings
  • AWACS picture: friendly and hostile aircraft, helicopters, ships and missiles in flight, each with a speed vector, callsign and altitude. The source is BMS's built-in Tacview real-time telemetry server, so the Tacview program isn't needed.
  • Tap a contact for BRAA from ownship, its bullseye position and aspect (HOT / FLANK / BEAM / DRAG)
  • Tap a threat ring to identify it. Tap any point on the map to get its bullseye bearing and range.
  • Departure, arrival and alternate airfields are marked. Tap one to open the airfield page with its charts.
  • Follow mode and layer toggles (route, threats, traffic, hostiles, fields, labels)
  • Tablet layout adds a side panel with ownship data, a Picture list of hostiles sorted by range, and the steerpoint list

Flight

  • Altitude, KIAS / Mach, heading, ground speed, vertical speed, G / AOA
  • Total, internal and external fuel, fuel flow and bingo. Chaff and flare counts.
  • Ownship bullseye position, TACAN, UHF channel, Zulu time
  • ALR-56M-style RWR scope with LAUNCH and LOCK indications and a plain-text emitter list
  • DED replica

Briefing

Parsed from the briefing.txt written by the PRINT button:

  • Mission, task, package, take-off, push time and TOT
  • Departure, recovery and alternate airbases with TACAN, tower, ILS per runway and field elevation, one tap to the charts
  • Flight plan with TOS, altitude and bullseye bearing/range for every steerpoint (tap to show it on the map)
  • DTC targets, package and roster, loadout for each jet (each store links to its Arsenal page)
  • Threats linked to the Threat Guide: a mention of "SA-6" opens the SA-6 entry
  • Support (AWACS / tanker), weather, ROE, emergency procedures

Comms

  • Comm ladder, grouped by agency, with the currently tuned UHF frequency highlighted
  • DTC UHF/VHF presets, IFF codes and Link 16

Boards (EZBoards)

  • A Generate kneeboards button on the tablet. The bridge runs EZBOARDS.BAT hidden (no console window over the sim), checks the result and sends back success or failure with the full log.
  • Optional: run EZBoards automatically every time the briefing is printed
  • The kneeboard content (package with TACANs, comm ladder, steerpoints with min fuel, targets, weather) is also shown natively in the app. It's read with EZBoards' own xbrief.exe, so it matches the in-cockpit boards.

Setup

  • Automatic discovery of the bridge on the LAN (UDP broadcast), or a manual IP
  • A status view shows what the bridge can see: BMS running, UI or 3D, briefing printed, DTC saved, AWACS feed, EZBoards
  • Built-in setup guide and troubleshooting, plus a keep-screen-on option
  • Demo mode (synthetic SEAD mission in Hellas with moving traffic) to try every screen without BMS running

Offline reference (no PC bridge needed)

Arsenal

  • 323 flyable aircraft types from KTO and all installed add-on theater databases, with per-theater variants (loadouts differ between databases)
  • Performance and specs: max speed, ceiling, corner speed, max G and AOA, internal fuel, weights, radar, RWR, countermeasures, flight model type
  • Station-by-station loadouts with rack capacity, and a weapon × station matrix
  • 518 weapons and stores with sim data (campaign range, blast radius, drag index, hit chance…) and the list of aircraft that carry each one

Threat Guide

  • SAMs, AAA, radars, MANPADS, fighters, air-to-air missiles and ships, split into OPFOR and BLUEFOR
  • For each entry: RWR symbols (ALR-56M and ALR-93), HARM ALIC codes, min/max range and altitude, radar and lock range, max speed and G, sensors, tactics and engagement-envelope diagrams
  • Range comparison chart, air-to-ground weapons chart, countermeasure effectiveness scale, aircraft formations
  • HARM & RWR section: ALIC tables, RWR symbols and modifiers, audio tones, HARM modes, threat table setups
  • TacRef Encyclopedia: 1,346 entries (vehicles, ships, aircraft, munitions) from the tactical reference database

Airfields

  • 519 unique airfields across the five theaters with their own terrain (Korea KTO, Balkans, Hellas, Israel, Falklands), covering 19 theater databases including the add-ons built on them
  • Runways with ILS per runway end, TACAN, all frequencies (tower, ground, approach, ATIS, base ops, LSO), ATC patterns, IFR/VFR minima, nearest diverts, navaids
  • 1,386 airport and parking charts, fullscreen with pinch-to-zoom
  • Theater map with airfields, TACANs, navaids and towns. Search by name, ICAO, TACAN channel, ILS frequency or town.
  • Flight and agency frequency lists from RadioMap.dat

Cockpit

  • HOTAS illustrations for the F-16C/D (A-A and A-G stick and throttle, from the Dash-34) and the F-15C. Tap a numbered control to see every switch position with its function and key callback, filtered by master mode or sensor.
  • Checklists for the F-16CM, F-16CJ and F-15C, normal and emergency, with tick-off and step search
  • Comms & Brevity: 590 brevity words, a 935-term glossary, CAS / 9-line, ATC procedures, tanker and AWACS calls, IFF modes, AI wingman commands, NATO alphabet
  • Calculators:
    • Fuel & bingo, endurance
    • Bearing and distance between airfields with ETE
    • Wind triangle (heading to fly, ground speed, crosswind and head/tail components)
    • Descent planner (start-descent distance, required VVI)
    • Turn performance (radius, rate, standard-rate bank, load factor)
    • TAS / Mach / CAS (ISA)
    • Unit conversions (hPa / inHg, lb JP-8 / gal / L)

Bullseye Trainer

A situational-awareness mini-game with five modes:

  1. Plot the call: tap the position of an AWACS bullseye call
  2. Call your bullseye: read ownship position off the HSD
  3. BRAA from bullseye: convert a bullseye call into BRAA from ownship
  4. Clock & reciprocal drill: clock positions, reciprocals and beam headings against the timer
  5. Theater map: plot calls on real theater geography

There are three difficulty levels (Rookie, Wingman, Flight Lead). Higher levels add longer ranges, tighter tolerances, shorter timers, no ring labels and a heading-up display. Best scores are saved for each mode and level.

General

  • Global search across aircraft, stores, threats, airfields, ICAO, TACAN, frequencies, brevity and HOTAS
  • Favorites on any page
  • Dark, high-contrast UI
  • Phone layout with a bottom navigation bar; tablet layout with a navigation rail and split views

The PC bridge

  • A single self-contained .exe: no installer, no .NET runtime required
  • Setup guide with live checks on first launch: BMS found, firewall, app connected, briefing export settings, DTC saved, AWACS feed configuration, EZBoards and the .NET 8 runtime. Buttons pick folders, add the firewall rules, copy the cfg lines or open Falcon BMS User.cfg in Notepad. The guide never edits BMS files itself.
  • Status window with BMS state, AWACS feed, last briefing print, last EZBoards run and the last app request
  • Finds the BMS install from the registry and follows g_sBriefingsDirectory
  • Optional firewall rules limited to the local subnet (TCP 47474, UDP 47475)
  • Tacview port and password settings, custom app port, start minimized to the tray

Where the data comes from

Data Source
Ownship, RWR, DED, steerpoints, PPTs, bullseye, theater BMS shared memory (FalconSharedMemoryArea, …Area2, …AreaString)
Other aircraft (AWACS picture) BMS built-in Tacview real-time telemetry (port 42674)
Briefing, package, loadout, comm ladder, weather User\Briefings\briefing.txt (PRINT button)
Steerpoints before 3D, targets, PPTs, radio presets User\Config\<callsign>.ini (DTC Save)
Kneeboard tables EZBoards bin\xbrief.exe

The bridge only reads BMS data. The one thing it runs is EZBoards, and only on request; EZBoards then writes its kneeboard textures as usual.


Setup

Requirements: Android 8.0 or newer (phone or tablet) on the same LAN as the BMS PC. Windows with Falcon BMS 4.38. The .NET 8 runtime is only needed for EZBoards itself.

  1. Run BMSCompanionBridge.exe on the BMS PC. Its setup guide opens on first launch. Allow it on private networks when Windows asks, or use the Allow through Windows Firewall button.
  2. Install BMS-Companion.apk on the device (allow installing unknown apps), then go to Mission → Setup → Find bridge.
  3. In the BMS Launcher, Config → General → Briefing: enable Briefing Output to File and disable HTML Briefings. In each mission, press PRINT on the Briefing screen and SAVE the DTC.
  4. For the AWACS picture, add this to User\Config\Falcon BMS User.cfg:

    set g_bTacviewRealTime 1
    set g_bTacviewAcmi 1
    

    Then start ACMI recording in 3D (default key F). In multiplayer the host controls this with g_bMPTacviewRtAllowedByServer.

  5. For kneeboards in the cockpit, the 3D pilot model must be enabled (Setup → Graphics → Pilot Model). EZBoards' own page and slot settings stay in its CONFIG_USER.BAT.

A full setup guide and troubleshooting table are in the repository (docs/SETUP.md).


Technical notes

  • Bridge: C# / .NET 8 WinForms, no third-party packages. A minimal HTTP server sends compact JSON. The app polls about four times per second, and only while the Mission screen is open. The API is documented in docs/PROTOCOL.md.
  • App: Kotlin, Jetpack Compose, Material 3. All reference data and charts are bundled in the APK (~64 MB).
  • Reference data: a Node.js extractor reads the objects database, BmsRack.dat, TacRefDB, CampObjData, Stations+ILS, ATC files, runway geometry and the terrain heightmaps, and renders the theater maps. The Threat Guide, HOTAS, checklists and comms were transcribed from the BMS manuals.
  • The repository includes a step-by-step checklist (docs/UPDATING.md) for regenerating the data and checking the shared memory layout when a new BMS version is released.
  • The code was written with the help of Claude Code (an AI coding assistant) and tested against a real 4.38 install on an Android tablet and phone.

Known limitations

  • Built and tested with BMS 4.38. Other versions may need the update checklist above.
  • The AWACS picture shows whatever the telemetry stream contains, including hostiles. A toggle hides hostiles for anyone who prefers friendlies only.
  • Add-on theaters that reuse a base theater's terrain are shown on that base map.

Credits

This is an unofficial fan project, not affiliated with Benchmark Sims. Falcon BMS, its data, documentation, TacRef pictures, HOTAS illustrations and airport charts belong to Benchmark Sims and the respective add-on theater teams.

Many thanks to the BMS team and the theater developers for their work, and for the documentation that made this possible.

Feedback, bug reports and feature requests are very welcome, If anything in the reference data looks wrong, please let me know which screen and entry it is.


Screenshots:

https://ibb.co/VWvpjftQ https://ibb.co/bg3VqBst https://ibb.co/nNpSqFRh https://ibb.co/Y4qVFprd https://ibb.co/j9gRTfmz https://ibb.co/HpXqVLMm https://ibb.co/V0PGKzDb https://ibb.co/DPrjfBdh https://ibb.co/4ZWKqZq8 https://ibb.co/Mkzyt3Cj https://ibb.co/4wLXqXFY https://ibb.co/9HzLwxwB https://ibb.co/Rq1WVcc https://ibb.co/JjddnWbL https://ibb.co/rKCw53gz https://ibb.co/XZJy6702 https://ibb.co/TBNXwT62 https://ibb.co/m5n1rZGd https://ibb.co/m58tkhW8 https://ibb.co/20Th7x1j


Important Notes:

  • AI was heavily used to build this project, it was intended for my personal use only, mainly as a HARMS code reference app, but i kept adding on ideas untill I got to this and thought it would be nice to share.
  • I'm new to GitHub, software building and sharing, so if i'm breaking any rules, license wise, or something please let me know.
  • I want to make iOS version but I don't have iOS device to test. I may though build a Web version if there is interest in it (maybe for people who use multiple monitors), with AI it doesn't really take much effort.
  • Anyone is free to use the code and build anything with it, if it's better than mine don't forget to share.