랭킹으로 돌아가기

dosbox-staging/dosbox-staging

C++dosbox-staging.org

DOSBox Staging is a modern continuation of DOSBox with advanced features and current development practices.

dosboxdosgamesemulatordosbox-stagingx86linuxwindowscarmmacoscpp
스타 성장
스타
1.7k
포크
230
주간 성장
이슈
185
5001k1.5k
2023년 1월2024년 3월2025년 5월2026년 7월
README

DOSBox Staging

GPL-2.0-or-later Chat

DOSBox Staging is a modern continuation of DOSBox with advanced features and current development practices.

It is a (mostly) drop-in replacement for older DOSBox versions—your existing configurations will continue to work, and you will have access to many advanced features.

For a detailed description of the project's scope please refer to the About page on our website.

Donations

If you enjoy using DOSBox Staging, please consider a donation to the project.

If you want to help but can't afford a donation, check out the Get involved page of our website for other ways to contribute.

Project website

https://www.dosbox-staging.org/

First-time users and people migrating from other DOSBox variants should start by reading the Getting started guide.

Build status

Windows (VisualStudio) build status macOS build status Linux x86_64 build status

Stable release builds

Regular users should use our stable release builds available on our project website:

Development builds

Development builds are automatically created on every commit merged to the main branch. You need to be logged in to GitHub to download the development builds.

Development builds

Key features for developers

Feature Status
Version control Git
Language C++23
Logging Loguru for C++3
Build system CMake + Ninja or Visual Studio 2022
Dependency manager vcpkg
CI Yes
Static analysis Yes1,2
Dynamic analysis Yes
clang-format Yes
Development builds Yes
Unit tests Yes4

Source code analysis tools

Dependencies

DOSBox Staging has the following library dependencies:

Dependency Provides feature vcpkg package name vcpkg version Optional?
FluidSynth General MIDI playback fluidsynth 2.5.1 no :red_circle:
GoogleTest Unit testing (development) gtest 1.70.0#2 yes :green_circle:
IIR Audio filtering iir1 1.10.0 no :red_circle:
libmt32emu Roland MT-32 and CM-32L emulation libmt32emu 2.7.1 yes :green_circle:
libpng PNG encoding of screen captures libpng 1.6.53 no :red_circle:
libslirp General purpose TCP-IP emulator libslirp 4.9.0 yes :green_circle:
Opus File CD Audio playback for Opus-encoded audio tracks opusfile 0.12+20221121#1 no :red_circle:
SDL 3 OS-agnostic API for video, audio, and eventing sdl3 3.4.10 no :red_circle:
SDL_image 3 Image decoding for many popular formats sdl3-image 3.4.4 no :red_circle:
Asio Network API for emulated serial and IPX asio 1.30.2 no :red_circle:
SpeexDSP Audio resampling speexdsp 1.2.1#1 no :red_circle:
zlib-ng ZMBV video capture zlib-ng 2.3.2 yes¹ :green_circle:

¹ You can use plain old zlib instead.

Dynamically loaded dependencies

Slirp is built separately as a dynamic library (via vcpkg) and is loaded on-demand at runtime if available. Please refer to the dosbox-staging-ext project for further details. To check the version of this dependency included in our stable and dev build packages, check out the comments of the releases packages of the dosbox-staging-ext project.

For information on the optional Nuked SC-55 CLAP audio plugin, check out the plugin's GitHub repository (note Nuked SC-55 CLAP is not a DOSBox Staging project).

Build instructions

Please refer to the platform specific build instructions:

Imported branches, community patches, old forks

Upstream commits are imported to this repo in a timely manner, see branch svn/trunk.

  • svn/* - branches from SVN
  • forks/* - code for various abandoned DOSBox forks
  • vogons/* - community patches posted on the Vogons forum

Git tags matching pattern svn/* are pointing to the commits referenced by SVN "tag" paths at the time of creation.

Additionally, we attach some optional metadata to the commits in the form of Git notes. To fetch them, run:

git fetch origin "refs/notes/*:refs/notes/*"

Website & documentation

Please refer to the documentation guide before making changes to the website or the documentation.