Sobre o projeto

DuckStation é um emulador de PlayStation 1 (PSX) focado em jogabilidade, velocidade e manutenibilidade de longo prazo. Ele visa ser o mais preciso possível, mantendo desempenho adequado para dispositivos de baixo custo. A configuração padrão suporta todos os jogos jogáveis, com apenas alguns aprimoramentos tendo problemas de compatibilidade. Uma imagem de BIOS de PS1 ou PS2 é necessária para iniciar o emulador e jogar. Os usuários devem extrair a BIOS de seu próprio console; nenhuma ROM é fornecida por razões legais. ## Recursos - Recompilador de CPU/JIT para x86-64, armv7/AArch32, AArch64 e RISC-V/RV64. - Renderizadores de hardware suportando D3D11, D3D12, OpenGL, Vulkan e Metal. - Upscaling, filtragem de textura e cor verdadeira (24 bits) em renderizadores de hardware. - PGXP para precisão geométrica, correção de textura e emulação de buffer de profundidade. - Mistura precisa via Rasterizer Order Views/Fragment Shader Interlock. - Sistema de substituição de texturas em renderizadores de hardware. - Renderizador de software vetorizado e multithread. - Desentrelaçamento adaptativo de movimento e filtro de redução de amostragem adaptativo. - Rotação de tela para jogos verticais (TATE). - Cadeias de shaders de pós-processamento (GLSL, Reshade FX, Slang Presets). - Overlays/bordas. - Inicialização rápida para pular a tela de abertura da BIOS. - Save states com runahead e rewind. - Suporta formatos CD, bin/cue, MAME CHD, ECM de trilha única, MDS/MDF, CCD e PBP não criptografado. - Pré-carregamento de imagens de disco na RAM. - Mesclagem de jogos multi-disco com memory cards compartilhados. - Carregamento automático de patches PPF. - Inicialização direta de executáveis homebrew e arquivos PSF. - Áudio com alongamento de tempo. - Controladores digitais/analógicos, lightguns (GunCon, Justifier), NeGcon, multitap (até 8 dispositivos). - Predefinições de controlador e configuração por jogo. - Interface Qt e Big Picture. - Atualizações automáticas (canais Stable/Preview). - Varredura automática de conteúdo com títulos em inglês e nativos. - Editor de memory card e importador de saves. - Overclocking de CPU emulada. - Banco de dados de cheats (mais de 4000 jogos) e banco de patches. - Varredura/edição de memória ao vivo. - Navegação e extração de arquivos ISO. - Depuração integrada e remota. - RetroAchievements e Discord Rich Presence. - Captura de vídeo via Media Foundation (Windows) e FFmpeg (todas as plataformas). - Função de câmera livre. - Emulação de cartucho de porta paralela. ## Requisitos de Sistema - CPU: x86_64, AArch32/armv7, AArch64/ARMv8 ou RISC-V/RV64. - GPU: OpenGL 3.1/OpenGL ES 3.1/Direct3D 11 Feature Level 10.0/Vulkan 1.0 (basicamente qualquer coisa dos últimos 10 anos). - Controlador: compatível com SDL, XInput ou DInput (ex.: controladores Xbox). ## Download e Execução Binários pré-compilados estão disponíveis para Windows (x64/ARM64), Linux (AppImage x64/ARM32/ARM64) e macOS (Universal). As versões mais recentes estão em GitHub Releases. O atualizador automático tem canais Stable e Preview. Windows requer Windows 10/11 versão 1809 ou mais recente. AppImages Linux requerem uma distribuição equivalente ao Ubuntu 22.04 ou mais recente. macOS requer Ventura 13.3 ou mais recente. Builds Android estão disponíveis no Google Play, mas não são oficialmente suportados. Para jogos PAL protegidos por LibCrypt, coloque o arquivo .sbi ao lado da imagem de CD com o mesmo nome. Imagens CHD com informações de subcanal integradas também são suportadas. ## Compilação Instruções são fornecidas para Windows (Visual Studio), Linux (CMake/Ninja) e macOS (CMake/Xcode). Pacotes de dependências estão disponíveis no repositório duckstation/dependencies. ## Diretórios de Usuário Dados de usuário (BIOS, configurações, memory cards, save states) são armazenados em diretórios específicos da plataforma. Um modo portátil pode ser ativado criando um arquivo `portable.txt` ao lado do executável. ## Contribuição e Forks A redistribuição de versões não modificadas é permitida sob CC-BY-NC-ND. Versões modificadas não são permitidas. Contribuições são aceitas via e-mail ou Discord; pull requests são restritos a contribuidores anteriores. ## Avisos PlayStation e PSX são marcas registradas da Sony Interactive Entertainment. Este projeto não é afiliado à Sony.