Skip to content

DCS-Skunkworks/dcs-bios

Contributors Issues MIT License Discord Release Downloads


Logo

DCS-BIOS

a DCS data exporting tool
Explore the docs »

Ask a Question · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Modules
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

DCS-BIOS is an Export.lua script for use with DCS: World, enabling external hardware and software to interact with the clickable cockpit of a DCS aircraft.

Note

DCS-Skunkworks DCS-BIOS is a continuation of the original DCS-BIOS, which is no longer updated.

Getting Started

Getting started with DCS-BIOS is easy! Just follow these simple steps.

Prerequisites

Find your DCS Scripts folder

Start by finding your DCS Saved Games folder. On Windows, this is likely either:

  • C:\Users\USERNAME\Saved Games\DCS
  • C:\Users\USERNAME\Saved Games\DCS.openbeta

Within that folder, you find the folder called Scripts. Create one if it does not exist. The final path should look like:

  • C:\Users\USERNAME\Saved Games\DCS\Scripts
  • C:\Users\USERNAME\Saved Games\DCS.openbeta\Scripts

Installation

Note

The process for updating DCS-BIOS is exactly the same as installing it.

  1. Go to the latest release
  2. Download DCS-BIOS_x.y.z.zip
  3. Extract the zip file
  4. Within the extracted folder, copy the DCS-BIOS folder into the previously mentioned scripts folder.
  5. If your Scripts folder does not have an Export.lua file, copy the Export.lua file over
  6. If your scripts folder does have an Export.lua file, add the following line to the end dofile(lfs.writedir() .. [[Scripts\DCS-BIOS\BIOS.lua]])

Tip

Still having trouble? Check out our wiki, ask a question in Discussions or get in touch on Discord.

Usage

Panel Builders

Arduino Users should download the Source code (zip) on the Release page to get all needed files.

You don't need to be a programmer or electrical engineer to build your own panels. The DCS-BIOS User Guide includes step-by-step instructions on how to connect your panel to DCS using DCS-BIOS and the beginner-friendly Arduino microcontroller platform. You don't have to write any code yourself.

Connect DCS-BIOS stream to your serial ports

Both socat and DCSBIOSBridge can be used to connect to your device.

Important

If using socat, the files in the .zip file must be unzipped directly in the socat folder. The path must be /socat/socat.exe

Debugging

If you are working a lot with hardware, it may come in handy to log and replay dcs-bios data. There are two scripts in Programs/tools that allow you to do so.

python connect-logger.py will log all dcs-bios data to dcsbios_data.json. Ensure that you start the logger before loading a mission in order to capture the mission-start message properly.

python replay-log.py will ask for a serial port like connect-serial-port.cmd and replay the data to that com-port. When it reaches the end of the file, it will loop forever until you close it. The first message will not be repeated as this is usualy the mission-start message and should only be sent once.

dcsbios_data.json This file contains the logged data in hex format. If you are familiar with the format of dcs-bios messages, you may modify the file by hand if needed. The included sample file is a recording of the A-10C with a blinking Master Caution light.

Software Developers

The Developer Guide explains how to connect to and interpret the DCS-BIOS export data stream and how to send commands to DCS-BIOS in order to operate controls inside the cockpit.

There are also a variety of client libraries available, including (but not limited to):

Language Library
C# DCS-BIOS Communicator

Modules

Note

Aircraft with multiple variants (e.g. A-10C/A-10C II, F-14A/B, etc.) are considered single modules.

Currently, DCS-BIOS supports the following aircraft modules:

Official

Module Status Contributors
A-10C/A10C-II FSF-Ian, WarLord
AH-64D WarLord
AJS-37 pdmarsh, WarLord, ArturDCS, Matchstick
AV-8B N/A WarLord, Matchstick
Bf-109-K-4 ArturDCS
C-101CC/EB WarLord, cdpkobra
Christen Eagle II WarLord, cdpkobra
F-14A/B WarLord, ArturDCS, Bullitt
F-15E WarLord, Maverick87Shaka
F-16C WarLord, cdpkobra, Matchstick, BuzzKillington
F-4E
F-5E-3 geebeer2, WarLord
F-86F ArturDCS
F/A-18C AndrewW
Fw 190 A-8 WarLord, MD44
Fw 190 D-9 ArturDCS
I-16 WarLord, NightStalker
JF-17 WarLord, cdpkobra
Ka-50/Ka-50 3 airtom, WarLord
L-39ZA/C kadda11, WarLord
M-2000C Exo7, ArturDCS, Matchstick
MB-339 WarLord
Mi-8MTV2 ArturDCS, WarLord
Mi-24P WarLord, BaD CrC
MiG-15bis WarLord, Steve Gee
MiG-19P WarLord
MiG-21Bis wraith444
Mirage F1 WarLord
Mosquito FB Mk.VI WarLord
OH-58D
P-47D WarLord, Donators
P-51D/TF-51D pdmarsh
Spitfire LF Mk. IX WarLord
SA342
UH-1H FSF-Ian
Yak-52 WarLord, cdpkobra
Flaming Cliffs (all modules) danvac, WarLord

Full-Fidelity Mods

Module Status Contributors Link
A-4E-C Dehuman, WarLord GitHub
A-29B WarLord GitHub
AH-6J WarLord DCS Forums
Alphajet WarLord Developer
Edge-540/Extra-330SR WarLord Developer
F-18E/F/G DCS Forums
F-22A WarLord Developer
T-45 WarLord DCS Forums

Flaming Cliffs Mods

  • AC-130
  • Civil Aircraft mod
  • MIG-23UB Project
  • Mirage F.1
  • PAK-FA Project
  • SU-30 FAMILY PROJECT
  • Upuaut's Bell-47G
  • Virtual Cockpits
  • VSN-Mods

Adding a Mod

DCS-BIOS supports many community mods out-of-the-box.

In order to a Flaming-Cliffs-based mod which is not supported by DCS-BIOS, add the following to the bottom of DCS-BIOS/lib/AircraftList.lua:

add("PlaneName", false)

Tip

To get the correct plane name, open the DCS-BIOS Reference Tool (MetadataStart) while you fly that plane and look what value _ACFT_NAME has.

Important

Please consider submitting a pull request to add support for the module to DCS-BIOS for all users!

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You may also simply open an issue.

Please see Contributing.md for more information.

Important

If you plan on submitting a pull request, please read the Contributing Guide first.

License

Distributed under the GPL 3.0 license. See LICENSE for more information.

The original DCS-BIOS was created by [FSF]Ian under the SimPL 2.0 license.

The copy of socat that comes with DCS-BIOS is licensed under GPL 2.0 (see Programs/socat/COPYING).

Contact

For questions, consider asking in our Discussions page, or reach out to us on Discord.

Acknowledgments

Related Projects