Olá a todos os leitores!
Continuo o tema do emulador de software para o PlayStation 2 e o PlayStation Portable - Omega Red. Mais detalhes:
Eu escrevi esta publicação em conexão com a adição de um emulador de software para o PlayStation 1.
Bem-vindo à Kat.
Como o título indica, este artigo apresenta o resultado de minha pesquisa sobre a integração do emulador de PlayStation 1. Reloaded para PCSX. A idéia de adicionar suporte para emular a primeira linha de console de videogame PlayStation é lógica, mas quando tentei implementá-lo, houve um problema - a versão OpenSource tem cerca de 15 anos e deixou de ser suportada pela comunidade e A integração no projeto com as tecnologias DirectX11 e WPF apresentou um problema real. A versão do renderizador de vídeo é apresentada na forma de uma implementação de software e, após a criação da imagem final na memória do sistema, esse resultado é copiado na memória de vídeo do DirectX11. À primeira vista, essa solução não parece eficaz, mas permite que você use o código já depurado do renderizador de software e, para a primeira versão, é mais do que uma solução adequada.
Além disso, adicionei várias funções para compatibilidade com o PCSX-Reloaded:
- Vibração visual - o controlador de jogo "Dualshock" para os consoles da linha PlayStation possui a funcionalidade "feedback de retorno" para uma imersão mais profunda no processo do jogo. O emulador Omega Red suporta uma função semelhante para um controlador de jogo externo, mas o "retorno de retorno" para a tela de toque ainda está fora do domínio da ficção. No entanto, ao examinar o código PCSX-Reloaded, deparei-me com um ponteiro para uma função de retorno de chamada do emulador de controlador de jogo para o renderizador gráfico. A idéia de exibir "feedback retroativo" por meio da transformação visual da imagem é divertida, e decidi implementá-la em meu projeto.
- Cartão de memória compartilhado - o projeto Omega Red original cria um cartão de memória para o jogo com base no número de série exclusivo do disco do jogo, o que ajuda a impedir a substituição de um jogo da sessão de outro jogo. Essa técnica funciona para jogos PlayStation 2 que ocupam um DVD, mas no caso de jogos PlayStation 1, há um problema de transferir o salvamento de uma sessão de jogo em um disco para uma sessão em outro disco - os jogos no PlayStation 1 podem ocupar dois ou mais discos. Para resolver esse problema, adicionei um cartão de memória compartilhado.
Além dos requisitos de compatibilidade, adicionei várias melhorias gerais, entre elas:
- Seleção da taxa de bits do vídeo para gravação de vídeo da jogabilidade:
Selecionando o tamanho do arquivo de gravação de vídeo de destino:
- Separação do BIOS e dos discos de jogos em grupos para PlayStation 1, PlayStation 2 e PlayStation Portable.
- Exiba o nome do BIOS atual e do disco do jogo no nome das seções correspondentes.
A demonstração dos jogos para as três plataformas pode ser vista na demonstração:
Atualmente, o programa está disponível em:
Omega Red e é apresentado no GitHub:
OmegaRed .