Об этом проекте

DuckStation — это эмулятор PlayStation 1 (PSX), ориентированный на играбельность, скорость и долгосрочную поддерживаемость. Он стремится быть максимально точным, сохраняя производительность, подходящую для слабых устройств. Конфигурация по умолчанию поддерживает все играбельные игры, лишь некоторые улучшения могут вызывать проблемы совместимости. Для запуска эмулятора и игр требуется образ BIOS PS1 или PS2. Пользователи должны снять BIOS с собственной консоли; по юридическим причинам ROM не предоставляется. ## Возможности - Реперекомпилятор/JIT для x86-64, armv7/AArch32, AArch64 и RISC-V/RV64. - Аппаратные рендереры с поддержкой D3D11, D3D12, OpenGL, Vulkan и Metal. - Масштабирование, фильтрация текстур и true color (24-бит) в аппаратных рендерерах. - PGXP для точности геометрии, коррекции текстур и эмуляции буфера глубины. - Точное смешивание через Rasterizer Order Views/Fragment Shader Interlock. - Система замены текстур в аппаратных рендерерах. - Векторизованный и многопоточный программный рендерер. - Адаптивный деинтерлейсинг и адаптивный фильтр понижения разрешения. - Поворот экрана для вертикальных (TATE) игр. - Цепочки постобработки шейдеров (GLSL, Reshade FX, Slang Presets). - Наложения/рамки границ. - Быстрая загрузка для пропуска заставки BIOS. - Сохранения с runahead и rewind. - Поддержка CD, bin/cue, MAME CHD, однодорожечных ECM, MDS/MDF, CCD и незашифрованных PBP. - Предзагрузка образов дисков в RAM. - Объединение многодисковых игр с общими картами памяти. - Автоматическая загрузка PPF-патчей. - Прямой запуск homebrew-исполняемых файлов и PSF-файлов. - Аудио с растяжением времени. - Цифровые/аналоговые контроллеры, световые пистолеты (GunCon, Justifier), NeGcon, multitap (до 8 устройств). - Пресеты контроллеров и конфигурация для каждой игры. - Интерфейсы Qt и Big Picture. - Автоматические обновления (каналы Stable/Preview). - Автоматическое сканирование контента с английскими и родными названиями. - Редактор карт памяти и импорт сохранений. - Разгон эмулируемого CPU. - База читов (4000+ игр) и база патчей. - Живое сканирование/редактирование памяти. - Просмотр ISO и извлечение файлов. - Интегрированная и удалённая отладка. - RetroAchievements и Discord Rich Presence. - Запись видео через Media Foundation (Windows) и FFmpeg (все платформы). - Функция свободной камеры. - Эмуляция картриджа параллельного порта. ## Системные требования - CPU: x86_64, AArch32/armv7, AArch64/ARMv8 или RISC-V/RV64. - GPU: OpenGL 3.1/OpenGL ES 3.1/Direct3D 11 Feature Level 10.0/Vulkan 1.0 (практически всё за последние 10 лет). - Контроллер: совместимый с SDL, XInput или DInput (например, контроллеры Xbox). ## Загрузка и запуск Готовые бинарные файлы доступны для Windows (x64/ARM64), Linux (AppImage x64/ARM32/ARM64) и macOS (Universal). Последние сборки — на GitHub Releases. Автоматический обновлятор имеет каналы Stable и Preview. Windows требует версию 1809 или новее (Windows 10/11). Linux AppImage требуют дистрибутив, эквивалентный Ubuntu 22.04 или новее. macOS требует Ventura 13.3 или новее. Сборки для Android доступны в Google Play, но официально не поддерживаются. Для PAL-игр с защитой LibCrypt поместите файл .sbi рядом с образом CD с тем же именем. CHD-образы со встроенной информацией о подканалах также поддерживаются. ## Сборка Инструкции предоставлены для Windows (Visual Studio), Linux (CMake/Ninja) и macOS (CMake/Xcode). Пакеты зависимостей доступны в репозитории duckstation/dependencies. ## Пользовательские каталоги Пользовательские данные (BIOS, настройки, карты памяти, сохранения) хранятся в каталогах, специфичных для платформы. Портативный режим можно включить, создав файл `portable.txt` рядом с исполняемым файлом. ## Вклад и форки Распространение немодифицированных версий разрешено по лицензии CC-BY-NC-ND. Модифицированные версии запрещены. Вклад принимается по электронной почте или через Discord; pull request'ы ограничены для предыдущих участников. ## Отказ от ответственности PlayStation и PSX являются товарными знаками Sony Interactive Entertainment. Этот проект не связан с Sony.