Home » EMULADORES » Dossier mejoras del emulador Dolphin desde la 4.0 – Parte 6 –

Dossier mejoras del emulador Dolphin desde la 4.0 – Parte 6 –

Hace ya mucho tiempo que la version 4.0 vio la luz y numerosas cosas han ido cambiando en el emulador. Estos dossiers (por si sois nuevos y no habéis leído anteriormente ninguno) tratan de recopilar los cambios más importantes de las ultimas versiones de los desarrolladores para que entendáis los cambios que se han ido haciendo al código fuente del emulador, así como todo aquello que corrige de una forma en la que quede más o menos entendible bien mediante imágenes o vídeos para que lo podáis apreciar con detalle.

A partir de la revision 9059 y gracias a Fog_TAS se han conseguido por fin arreglar los bugs de los save states. Anteriormente cuando guardábamos un save state aparentemente no había ningún problema, volvías y podías seguir usándolo normalmente, pero si cambiábamos de juego, a veces (no siempre) al querer regresar al anterior de repente nos encontrábamos con que el save state ya no funcionaba consiguiendo que el usuario tuviese un cabreo monumental, imagínate que estas a falta del ultimo boss y no te funciona la partida (vamos un EPIC FAIL de toda la vida).  Estos fallos provienen de la configuración de los controles del emulador (quien lo hubiera pensado) ya que si cambiamos el dispositivo de control el emulador cuando carga el save state no reconoce la misma configuración y crashea el emulador.

Dolphin como ya sabéis no solo tiene version de windows sino que tiene en el punto de mira de sus releases diferentes sistemas operativos que pueden o no tener diferentes fallos que las versiones de los otros S.O. Uno de los más acusados eran los fallos gráficos presentes en los sistemas operativos OS X con gráficas intel. El cambio de los EFBs (vistos en anteriores entradas) no funcionaban bien cuando dolphin se ejecutaba en este S.O. dando algunos bugs que en teoría no debían de aparecer. Helios747 descubrió que estos bugs no provenían del emulador sino que provenían de los propios drivers de las gráficas Intel. Afortunadamente el código fuente de Dolphin permite arreglos a los diferentes drivers de forma sencilla (para los programadores, otro cualquiera no sabria ni empezar), así que este problema esta solucionado en la revision 9158.

 

dossierdolphin61 dossierdolphin62
 

No obstante, este arreglo causo otros glitches en drivers de AMD bajo el mismo OS, así que otro colaborador (stenzek) pudo solventarlo en la revision 9179

 

dossierdolphin63 dossierdolphin64
 

Como veis en la imagen lo que sucede es que el personaje jugable se desvanece permaciendo en pantalla pero de forma invisible.Esto sucede debido a los cambios que tiempo atrás llevo a cabo phire con los EFB para prevenir que las texturas se mostrasen incorrectamente.

Por suerte, mimimi encontró una solución para poder renderizar al personaje en pantalla pese a que seguia produciendo flickering (aparecer y desaparecer varias veces). Este problema atendía a un bug del código de D3D que stencek ha podido solucionar y que veréis comentado más abajo

Otro problema que lleva algún tiempo en Dophin es el referente al manejo del tiempo de algunos juegos, los cuales están mal fijados. Por ejemplo en el juego Pokemon Puzzle League de Gamecube el tiempo se congela cuando llega a una cifra menor del minuto

EJEMPLO
En ese gif podéis ver perfectamente el fallo que os comento.

No solo existen fallos de tiempo en este juego sino que otros juegos de las consolas virtuales también ocurre.

JMC47 estuvo dándole vueltas mucho tiempo a este problema y logró averiguar (a saber la de testeos que tuvo que hacer) que los juegos funcionaban normalmente con algunas opciones especificas relativas a la sincronización de la GPU. Cambiando los valores del SyncGPU a 100/-100 se resuelven los problemas de estos juegos. Este arreglo de JMC47 fue encontrado por casualidad realizando pruebas pero que en realidad es muy efectivo ya que en teoría en un hack de emulacion (teóricamente esos valores no deberían de ser esos). Phire estudió el porque los juegos de la consola virtual de N64 producían estos bugs y el porque no sucedían con estas nuevas opciones y encontró que con ellas la emulacion de la CPU se interrumpe cada 100 ciclos.

Los juegos beneficiados de este ‘encontronazo’ son muchos The Legend of Zelda: Ocarina of Time (VC), Pokémon Puzzle League (VC), The Legend of Zelda: Majora’s Mask (VC), Super Smash Bros. (VC), Ed, Edd n Eddy: The Mis -Edventures (GC) y Overlord Dark Legend (Wii) y arregla algunos FMV en Metroid Prime 1, 2 y Trilogy. Sin embargo, influye negativamente en Metroid Other M.

Este curioso bug y su solución han sido aplicados en la revision 9154

Durante este tiempo atrás y mayormente tras las averiguaciones de lo explicado anteriormente con el juego Donkey Kong Country Returns con el tema de las copias EFB se han corregido unos bugs en varios juegos de Sonic donde el efecto de blur que se producia cuando Sonic iba rápido se generase en negro ya que Dolphin no estaba usando bien las copias EFB que se tendrian que producir en esos momentos

Los juegos que se aprovechan de esta mejora son ,Sonic Riders,Sonic Riders: Zero Gravity,Dave Mirra BMX Challengue y ATUV Quad Racing 2.

Otra de las mejoras derivadas de este tema de los EFB es la mejora de las texturas en el juego Mario Superstar Baseball, las cuales no se renderizaban bien hasta que mimimi arreglo el código de las funciones que llamaba a las copias EFB

 

dossierdolphin67 dossierdolphin68
 

La consola Gamecube tiene muchos títulos en los que el funcionamiento es muy enrevesado y por eso se tira de muchos hacks de programación, pero esto puede en algunas situaciones dar problemas en otros juegos.

En el caso del juego ATV Quad Racing 2 hay un hack de programación del emulador que se usa para activar el Direct Memory Access (DMA) y como la programacion de los juegos de Gamecube es a veces un tanto insólita en este juego hay archivos gráficos que se guardar en la RAM de Audio del juego y como consecuencia estos no se renderizan bien en pantalla (en la imagen veis al ‘conductor fantasma’)

 

dossierdolphin69
 

Como este fallo afecta a muchos otros juegos se ha decidido que el timing que phire arreglo tiempo atrás se volviese a resetear de nuevo,  arreglando los problemas derivados sin tener que hacer regresión del código fuente afectado.Activo desde la revision 9209

Arreglos menores al renderer Direct3D harán posible que si estamos usando el filtro MSAA podamos usar el visor en el juego Metroid Prime 2 que antes de estos cambios era imposible hacerlo y además el problema del flickering de Donkey Kong Country Return también ha sido solucionado. Esto está activo desde la revision 9233 gracias a stenzek

Dentro de poco el equipo de desarrolladores de Dolphin planean sacar una version 5.0 estable, asi que muchos de los cambios que ponen en riesgo el funcionamiento de muchos juegos se están dejando en el tintero para no perjudicar la release, pero se pondrán manos a ello en cuanto no exista peligro de perjudicar la nueva version.

 

DOLPHIN 4.0-9308

Mira también

MedGUI Reborn 0.082

Nueva actualización para la GUI de Mednafen que nos permitirá configurar la mayoría de opciones …

Killing Floor ¡GRATIS! por tiempo limitado

Aquí tenemos otro juego gratuito, en este caso gracias a Humble Store, la tienda de …

4 Comentarios

  1. Jimmy tenés idea por qué al tratar de instalar el emulador en el Samsung J7 (que es 64bits), me dice “Aplicación no instalada”?

    • Por lo que acabo de leer en el FAQ de Dolphin. No cumplo con alguno de los 4 requisitos.
      Al parecer, por más que el procesador sea de 64bits, el dispositivo tiene que ser compatible con aplicaciones de 64bits también u.u

  2. Gran Emulador. Lástima que aun no se ha podido emular Star Wars The Clone Wars, por lo demás todo genial.

  3. Wow, no sabía que Dolphin estaba siendo desarrollado (y ya lanzado) para Android.
    Excelente.
    Casualmente en estas semanas me compraré un celular con procesador de 64bits. Veremos qué tal funciona.
    Gracias por las noticias como siempre 😉

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *