Home » EMULADORES » SISTEMAS 128 BITS » Nintendo Gamecube » Dossier mejoras del emulador Dolphin desde la versión 4.0 – PARTE 3 –

Dossier mejoras del emulador Dolphin desde la versión 4.0 – PARTE 3 –

Cada cierto tiempo os voy realizando una serie de entradas en las que os comento cual es la evolución del emulador Dolphin con las mejoras o correcciones que se van implementando en diversas revisiones del emulador ya que muchas de ellas pasan desapercibidas bien por que arreglan fallos de programación internos o bien porque la puesta en escena no revela los cambios a simple vista

Comenzamos esta entrada con los arreglos que se han implementado en el audio de los 19 juegos que usan el denominado (por los desarrolladores de dolphin) ‘Zelda µcode’. Para explicarlo un poco por encima diremos que el 99% de los juegos de Wii utilizan el sonido con el estandar AX µcode que siempre ha sido el prioritario a la hora de la emulación puesto que su cantidad de juegos es brutal en comparación al anterior. El Zelda µcode sin embargo, es usado por juegos muy importantes en el sistema ya que casi todos han sido juegos de primera línea de la consola y desarrollados por Nintendo.

avancesdolphinnov1
 

 

Desde la release 4.0 el AX µcode fue muy perfeccionado, pero sin embargo los juegos que usaban el otro formato presentaban una muy mala emulación de sonido. Magumagu tuvo que eliminar la sincronía del audio para empezar a trabajar en un nuevo modelo de HLE para el Zelda µcode. Sin embargo una vez realizado este primer paso fue delroth el cual realizando una ingeniería inversa del código de sonido de Zelda Wind Waker fue poco a poco (un trabajo de varios meses) desengranando como funcionaba este código e implementandolo en Dolphin pasando por varias fases en las cuales el juego iba mejorando revisión tras revisión. Gracias a este trabajo también se averiguó que este Zelda µcode tenía diferentes versiones, las cuales diferían de una u otra forma con la versión que llevaba Zelda the Wind Waker (algunas doblaban el volumen del audio posicional por ejemplo). Una vez visto esto se implementaron diversos códigos para este Zelda µcode en los juegos en los que difería, e incluso se han mejorado aspectos de la emulación de sonido de Gamecube ya que hay juegos anteriores a Super Mario Sunshine que utilizan parte de este Zelda µcode apodado Zelda µcode ‘light’

Actualmente este HLE audio se puede decir que esta casi a la altura del LLE audio y digo casi porque siguen existiendo después de este trabajo bugs en el HLE (por ejemplo en juegos como Mario Kart Double Dash, Star Wars Rogue Squadron,PacMan World Rally). Todo esto está disponible desde la revisión 4.0-7286

Siguiendo con el tema del sonido, la nueva implementación de estos códigos han mejorado la emulación del sonido en varios juegos de Gamecube que tienen el sonido a 48KHz en vez del estándar del sistema que es 32 KHz ya que ahora es necesario indicar en el código los ms de respuesta a las llamadas (Donkey Kong Country Returns, Little King’s Story, The Last Story…). Estos cambios pueden verse desde la revision 4.0-7359

Sonicadvance1 por su parte ha trabajado para que el juego Star Wars Rogue Squadron III :Rebel Strike sufra menos fallos derivados a la falta de capacidad para alojar shaders de mas de 16Kib en Dolphin. Los desarrolladores de Dolphin creían que no se podría sobrepasar este límite para la consola, pero ha quedado demostrado que este juego si que los sobrepasa apoyandose en el per-pixel lightning por lo que se ha optado por duplicarlo. Con esto algunos efectos en el agua, animaciones y gráficos deberían de mostrarse de una manera más fiel al juego original. Activo desde la revision 4.0-7396

Otro nuevo bug solucionado es el de las franjas negras en la saga Metroid Prime gracias a booto el cual ha cambiado la forma en que se procesa el field timing (que es el espacio de tiempo en que se procesa la imagen al televisor o monitor). Como todos sabemos los juegos PAL a diferencia de los USA y JAP  se mueven a 50Hz a menos que lleven el selector incorporado. En Gamecube y Wii este proceso se realiza sin shaders (de hecho no existe este concepto en Wii y Gamecube al parecer) pero los sistemas modernos funcionan a base de ellos para mostrar las imágenes. La creación de un sistema de shaders que no existe en las consolas originales generan un lapso de tiempo para generar la imagen que normalmente en la mayoría de juegos es de milisegundos y no es apreciable. Sin embargo en Metroid Prime y juegos de alta demanda gráfica los shaders son tan complejos que requieren de más tiempo de proceso generando el llamado stuttering (parones) que pueden llegar a ser de 1 segundo en algún caso, lo cual molesta bastante (en las últimas versiones de Demul sucede y he tenido montones de preguntas sobre ello en los vídeos de youtube). Esto desincroniza la CPU y la GPU por lo que en muchas ocasiones aparecen bugs gráficos y la mencionada barra negra que ensombrece parte de la emulación del juego. Ahora gracias a booto y sus mejoras se puede usar la opcion Virtual XFB o Real XFB para eliminar este problema de la emulación. Activo desde la revision 4.0-7517

avancesdolphinnov2 avancesdolphinnov3
 

Asimismo booto ha corregido un monton de fallos de perspectiva en la cual los juegos PAL presentaban errores de puesta en escena mientras que los NTSC funcionaban correctamente (un ejemplo lo podeis ver en esta foto)

avancesdolphinnov4 avancesdolphinnov5
 

El juego Zelda The Wind Waker presentaba un cuelgue en el modo de 50Hz cuando se jugaba en el modo new game plus.AdmiralCurtiss’ ha realizado algunos cambios y ahora a partir de la revision 4.0-7517 es posible jugarlo a 60Hz

A nivel gráfico también se han introducido varias mejoras en lo que respecta a los filtros antialiasing ya que se han añadido los filtros MSAA y SSAA para Direct3D y OpenGL aunque en algunas versiones del emulador la UI presenta problemas al mostrar las opciones. Activo desde la 4.0-7818

avancesdolphinnov6 avancesdolphinnov7
 

En el caso de las texturas los desarrolladores han avanzado con importantes arreglos a las versiones anteriores ya que se ha conseguido corregir algunos bugs.

Phire ha conseguido que Dolphin ‘sea consciente’ de los cambios en este apartado dibujando en pantalla la textura correcta y no alguna que tuviese guardada en la memoria, lo cual provocaba fallos en bastantes juegos de Wii y Gamecube

avancesdolphinnov8 avancesdolphinnov9
 

Otra de las cosas molestas en Dolphin era emular la consola N64 ya que nuestro ordenador directamente ocupaba una cantidad de VRAM descomunal y el problema estaba derivado de este manejo de texturas ya que se iban almacenando una tras otra en la VRAM de nuestra GPU.

Mickdermack por fin ha solucionado el remapeo de algunas de las teclas esenciales para muchos a la hora de configurar sus controles. Teclas como espacio,intro,escape… están predefinidas para la UI del sistema con lo que al presionarlas esta realizaba la opción pertinente. Se ha optado por bloquear estas opciones cuando esta activa la configuración de teclas por lo que ahora será posible asignarlas sin problemas.

 avancesdolphinnov10
 

En el mes pasado Dolphin cambio a Visual Studio 2015 gracias al cual se ha logrado un avance en velocidad ya que permite procesos más complejos de optimización pero como todo en informática no es tan bonito o tan fácil como parece ya que este cambio también trajo consigo errores que anteriormente no existían.

avancesdolphinnov11
 

Todos estos errores se corregirán con un parche que tiene planeado Microsoft, el tema es que se esta demorando mucho y no dan una pista de cuando podrá ver la luz, así que el desarrollador shuffle2 ha empezado a parchear estos fallos que por ejemplo en The Legend of Zelda The wind Waker son crashes y cuelgues frecuentes. A día de hoy este usuario ha parcheado estos fallos en Windows 7 SP1 y Windows 10, pero en Windows 8 y 8.1 estos fallos siguen presentes en las últimas revisiones. Estas correciones están presentes desde la revision 4.0-8026

La emulación de muchos apartados de Gamecube esta realizada a base de usar hacks los cuales mejoran la emulación pero no la hacen igual que la máquina original. En la revision 4.0-834 phire ha conseguido emular uno de los apartados que mas quebraderos de cabeza ha dado en directx9, la implementacion correcta del zcomploc el cual ha sido revertido en numerosas ocasiones por no conseguir los resultados deseados. Phire ha cambiado la extensión con la que se trabaja este apartado logrando avances en la emulación.

avancesdolphinnov12 avancesdolphinnov13
 

Por último y aunque esto no tiene que ver con ningún avance relativo al emulador, si que merece la pena mencionarlo porque puede servir a mejorar la emulación de Dolphin en un futuro gracias a que los desarrolladores han aumentado sus equipos de pruebas gracias a las donaciones recibidas para su emulador adquiriendo un nuevo equipo, un INTEL NUC con CPU Broadwell i3-5010U y GPU Intel HD5500 GPU con los cuales realizarán pruebas de los cambios en Dolphin con los drivers Linux de Intel.

Mira también

Speccy 4.6

Speccy es un emulador escrito en el lenguaje de programación C que es capaz de …

fMSX 5.2

Nueva versión de este emulador de los ordenadores MSX,MSX2 y MSX2+ de 8 bits que …

5 Comentarios

  1. Vale parece que he encontrado la web definitiva:
    https://dolphin-emu.org

    Saludos
    Gus

  2. ¿Donde se pueden descargar estas últimas versiones?

    He mirado en la página de dolphin:
    http://www.dolphin-emulator.com/download.html
    Y la última versión (4,0) es de hace dos años y 3 meses.

    ¿Cual es la diferencia entre la versión 4 de wii y la 3.5-367 de Wii y Gamecube?
    ¿Solo que esta última incorpora el emulador de Gamecube?

    Saludos y gracias.

  3. Muchas gracias por la info, esta pagina es lo mejor en cuento a la información y la actualidad de los emuladores. 🙂 Saludos ¡¡

  4. Muy buena info, te felicito. Sin duda la mejor web en español sobre emulación.

  5. Como siempre, excelentes explicaciones, se agradece muchísimo 🙂

Deja un comentario

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