Buenas.
Coño, parece que el foro funciona con retardo: cuelgo la versión 1.5 y apenas hay un par de comentarios. Cuelgo la 1.5B y cuando uno espera que va a pasar completamente desapercibida, pues el hilo lo encuentro en la segunda pagina y solo pude editar la respuesta anterior, entráis en tromba, cuando uno menos se lo espera
. Ya solo falta que jiXo dedida dar la noticia para acabar de flipar
.
Bueno, yendo un poco al grano, en mi opinión existe tres niveles de implicación, a la hora de desarrollar emuladores:
- Nivel 1: Un tío posee una maquina que quiere emular y la conoce perfectamente, así como la máquina donde se llevará a cabo la emulación y se pone manos a la obra.
- Nivel 2: Un tío no conoce o conoce poco la maquina a emular y toma un trabajo ya realizado en otra máquina para portarlo en una máquina que si conoce, para añadirle ideas propias con el fin de mejorar el uso del emulador y añadirle una serie de comodidades que estima necesarias.
-Nivel 3: Un tío no conoce o conoce poco la maquina a emular y simplemente, porta otro trabajo ya realizado, adaptandolo a la nueva maquina.
Como se puede deducir, la mayoría de la gente al portar emuladores, se quedan en el Nivel 3 y es por eso por lo que esos emuladores suelen ser un tanto insatisfactorios, pues carecen de ese plus que tienes en el Nivel 2, que es lo que realmente (en mi opinión), justifica portar un emulador desde su origen en PC, a la Wii en este caso: les falta la vision propia del nuevo autor.
El PCengine yo lo conocí gracias a un emulador de gp32, uno que por desgracia, era de código cerrado ( a pesar de que decía que estaba basado en Hugo, que es un código GPL, pero hay mucha gente que no respeta las licencias...) y me encantó la maquina, aunque solo tuviera soporte de ROMS.
En gp2x yo fuí uno de los primeros en agarrar el toro por los cuernos y puesto que no parecia haber emulador alguno de PCengine
me puse manos a la obra, pero claro: yo no me quería limitar a hacer un emulador de Nivel 3, si no que quería darle mi propia visión sobre como debía ser un emulador.
El emulador de partida no fue Hugo: Hugo es licencia GPL y eso trae implicaciones y problemas variopintos, asi que partí de otros fuentes/emuladores anteriores (que podeis ver en la pantalla de presentacion del emulador) e hice un emulador con la simple idea de ejecutar las ROMS de siempre, en mi nueva maquina, aportando la sencillez y versatilidad que vosotros conoceis.
En principio el emulador era de código cerrado, pero yo no tengo inconveniente en abrír el código fuente: lo que me molesta es que una licencia me obligue a publicar el código fuente incluso para pasaros un simple test, cuando el programa todavía queda mucho por evolucionar y que encima se pueda dar el caso de que otra persona interfiera en el proyecto en un momento no adecuado.
Así que una vez que el emulador estaba montado, cuando alguien me sugirió poner soporte de isos, me sentí intrigado, pues en principio,
yo no sabía que esa maquina soportaba juegos en formato CD y ahí empezó una lucha feroz aunque tuviera a Hugo como referencia para poder implementarlo (ya no importaba que el fuente fuera GPL, con mi emulador armado) pues el emulador tenía problemas con la velocidad y primero traté de portar la CPU, con mal resultado de velocidad y al final, decidí mantener toda la base de mi emulador, pero añadirle lo necesario ya no solo para ejecutar juegos en formato ISO, si no para reproducir pistas en formato WAV (puesto que en la maquina de origen, ejecutar Ogg o MP3, era literalmente incompatible con que el emulador se moviera decentemente)
Yo no tengo ni las herramientas, ni el conocimiento de la máquina PCengine para poder hacer un emulador por mi cuenta y alcanzar el Nivel 1, pero si que os puedo decir que en muchas cosas, he tenido que estar a caballo entre los Niveles 1 y 2 y eso se nota cuando se puede ver que el propio Hu-go PC, tiene carencias en la emulación que este emulador no tiene.
Pero ya no puedo dar un paso adelante en la emulación porque me encuentro con muchas barreras, entre otras, que el emulador está basado en fuentes que no cubren esa emulación y que si me basara en otro emulador mas completo (hay un multiemulador llamado 'mednafen' que es Open Source, un tanto complejo de utilizar porque requiere hacerlo desde la línea de comandos, pero muy bueno en la emulacion de PCengine y ademas, emula otras maquinas...) tendría que romper con todo lo ya hecho, partir de cero de nuevo y eso es algo que no voy a hacer, solo por tener la posibilidad de soportar un puñado de juegos extras, que yo ni siquiera voy a utilizar.
Llega un momento en que uno tiene que ser práctico y ver que merece mas la pena hacer alguna cosa nueva, que perder muchas horas en averiguar, por ejemplo: la razón por la que el juego 1941 se queda con la pantalla en negro, por que el Airk-Zone se queda mudo, por que en el shapeshifter a veces falla la paleta de colores, por que algunas voces ADPCM no trabajan bien, que es lo que falla con las voces de sonido algunas veces, que se quedan conectadas (quiza lo mismo pero a la inversa que con el Airk-Zone) o por que carajo los juegos que requieren la Arcade Card petan, cuando estoy usando el mismo metodo que usa mednafen y ahí si funciona (seguramente, sea por otra cosa)
Por desgracia éste emulador se construyó sobre una base que no emulaba al 100% ni el procesador, pues tuve que arreglar algunas cosas (y me costó mucho tiempo averiguar el fallo
) y partiendo desde ahí, lo que tenemos hoy día es un emulador muy superior, no solo a los fuentes de partida, si no a mi propia pretensión al portarlo no solo a gp2x, si no a Wii. Y dar palos de ciego es perder el tiempo...
Solo queda pues, disfrutarlo, sabiendo de sus carencias y por mi parte, centrarme en otra cosa
(estoy trabajando en un programa 'raro' que si me queda bien, puede que sea una de esas pequeñas joyas exclusivas de Wii, pero no voy a dar ni un solo detalle más
asi que os dejaré devanando vuestros sesos sobre que puede ser)