DOSBox Staging — новый взгляд на классический эмулятор DOS
Помните те времена, когда для запуска любимой DOS-игры приходилось часами настраивать конфиги, подбирать параметры эмуляции и мириться с тормозами? DOSBox Staging решает эти проблемы, предлагая современный подход к эмуляции DOS с акцентом на удобство и производительность.
Что такое DOSBox Staging?
DOSBox Staging — это форк классического эмулятора DOSBox, который продолжает развиваться с использованием современных практик разработки. Проект сохраняет совместимость с оригиналом, но при этом предлагает:
- Поддержку новых технологий (C++20, современные системы сборки)
- Улучшенную производительность
- Расширенные возможности настройки
- Активное сообщество и регулярные обновления
Проще говоря, это DOSBox, каким он должен быть в 2024 году.
Ключевые возможности для разработчиков и пользователей
1. Современный стек технологий
Проект использует:
- C++20 как основной язык
- CMake + Ninja для сборки
- vcpkg для управления зависимостями
- Полноценный CI/CD с автоматическим тестированием
# Пример сборки на Linux
meson setup build
meson compile -C build
2. Расширенные возможности аудио
В отличие от оригинала, DOSBox Staging поддерживает:
- Эмуляцию Roland MT-32 и CM-32L через библиотеку Munt
- Продвинутую фильтрацию звука (IIR)
- Современные форматы сжатия (Opus)
3. Кроссплатформенность
Проект собирается на:
- Windows (Visual Studio 2022+, MSYS2)
- macOS (x86_64 и arm64)
- Linux (различные дистрибутивы)
- И даже Haiku и NixOS!
4. Профессиональный подход к качеству кода
Команда использует:
- Статический анализ (PVS-Studio, Pylint)
- Динамический анализ
- Автоматическое форматирование кода (clang-format)
- Юнит-тесты (Google Test)
Как это использовать на практике?
- Для игр: Лучшая совместимость с классикой вроде Doom или Duke Nukem 3D
- Для разработки: Отладка старых DOS-программ с современными инструментами
- Для обучения: Изучение архитектуры x86 и ретропрограммирования
Технические особенности
Проект активно использует:
- SDL2 для графики и ввода
- SpeexDSP для обработки звука
- Tracy Profiler для оптимизации производительности
Полный список зависимостей:
| Библиотека | Назначение | |------------------|--------------------------| | libpng | Скриншоты в PNG | | zlib-ng | Сжатие видео | | SDL_net | Сетевая эмуляция | | FluidSynth | Синтезатор MIDI |
Стоит ли пробовать?
Да, если вы:
- Ностальгируете по DOS-играм
- Разрабатываете ретро-софт
- Хотите современный DOSBox с активной поддержкой
Проект активно развивается — только за последний год было более 1000 коммитов. Присоединяйтесь к сообществу в Discord или попробуйте готовые сборки.
DOSBox Staging — это не просто форк, а эволюция легендарного эмулятора. С ним ретро-игры и программы работают лучше, а разработчики получают современные инструменты. Отличный пример того, как open-source может дышать новую жизнь в классические проекты.
