Hola a todos los lectores!
Contin煤o con el tema del emulador de software para PlayStation 2 y PlayStation Portable - Omega Red. M谩s detalles:
Escrib铆 esta publicaci贸n en relaci贸n con la adici贸n de un emulador de software para PlayStation 1.
Bienvenido a Kat
Como el t铆tulo lo indica, este art铆culo presenta el resultado de mi investigaci贸n sobre la integraci贸n del emulador PCSX-Reloaded PlayStation 1. La idea de agregar soporte para emular la primera l铆nea de consola de juegos PlayStation es l贸gica, pero cuando trat茅 de implementarla, hubo un problema: la versi贸n OpenSource ten铆a aproximadamente 15 a帽os, y la comunidad dej贸 de ser compatible. La integraci贸n en el proyecto con las tecnolog铆as DirectX11 y WPF present贸 un problema real. La versi贸n del renderizador de video se presenta en forma de una implementaci贸n de software, y despu茅s de crear la imagen final en la memoria del sistema, este resultado se copia en la memoria de video DirectX11. A primera vista, dicha soluci贸n no parece efectiva, pero le permite usar el c贸digo ya depurado del procesador de software, y para la primera versi贸n es m谩s que una soluci贸n adecuada.
Adem谩s, agregu茅 varias funciones para compatibilidad con PCSX-Reloaded:
- Vibraci贸n visual: el controlador de juego "Dualshock" para la l铆nea de consolas de juegos PlayStation tiene una funcionalidad de "retroalimentaci贸n" para una inmersi贸n m谩s profunda del proceso del juego. El emulador Omega Red admite una funci贸n similar para un controlador de juego externo, pero la "respuesta de retorno" para la pantalla t谩ctil todav铆a est谩 fuera del 谩mbito de la ficci贸n. Sin embargo, mientras investigaba el c贸digo PCSX-Reloaded, me encontr茅 con un puntero a una funci贸n de devoluci贸n de llamada desde el emulador del controlador del juego hasta el renderizador gr谩fico. La idea de mostrar "retroalimentaci贸n hacia atr谩s" a trav茅s de la transformaci贸n visual de la imagen es entretenida, y decid铆 implementarla en mi proyecto.
- Tarjeta de memoria compartida: el proyecto original de Omega Red crea una tarjeta de memoria para el juego basada en el n煤mero de serie 煤nico del disco del juego, lo que ayuda a evitar la sobrescritura de un juego de la sesi贸n de otro juego. Esta t茅cnica funciona para juegos de PlayStation 2 que ocupan un DVD, pero en el caso de los juegos de PlayStation 1, existe el problema de transferir el guardado de una sesi贸n de juego en un disco a una sesi贸n de juego en otro disco de juego: los juegos en PlayStation 1 pueden ocupar dos o m谩s discos. Para resolver este problema, agregu茅 una tarjeta de memoria compartida.
Adem谩s de los requisitos de compatibilidad, agregu茅 varias mejoras generales, entre ellas:
- Selecci贸n de bitrate de video para grabaci贸n de video de la jugabilidad:
Selecci贸n del tama帽o del archivo de grabaci贸n de video de destino:
- Separaci贸n de BIOS y discos de juego en grupos para PlayStation 1, PlayStation 2 y PlayStation Portable.
- Muestra el nombre del BIOS actual y el disco del juego en el nombre de las secciones correspondientes.
La demostraci贸n de los juegos para las tres plataformas se puede ver en la demostraci贸n:
Actualmente, el programa est谩 disponible en:
Omega Red y se presenta en GitHub:
OmegaRed .