Hola!, antes que nada quiero agradecer a auqellos que confiaron en mí y en mi proyecto.
Desgraciadamente a otras personas no les bastó con solo no confiar en el. Tomándose atribuciones que tal vez no debieron tomarse (por respeto a quienes si me dieron una posibilidad), dedicaron gran parte de su tiempo no solo a desprestigiarme sino también a borrar y eliminar toda posibilidad de descarga, lo cual fue determinante para dar por concluida la continuación, al menos pública de mi proyecto.
Seguramente seguiré trabajando en el, no solo por hacer realidad el deseo de que muchos que como yo que no poseen una PC muy potente puedan disfrutar de mas y mejores juegos de Nintendo64, sino también y principalmente por todos los días y noches de duro trabajo que para el he dedicado. Todos aquellos quienes realmente amamos y disfrutamos de este arte que es la programación, sabemos lo difícil y complicado que es tomar el source code de otro, analizarlo, interpretarlo y si da la posibilidad, poder al fin retomar su desarrollo para hacerlo aun mejor.
Si tuviera que explicar como y porque tome la decisión de continuar el desarrollo de este gran... como definirlo, mitad emulador, mitad "romplayer", la verdad es que es una historia que comenzó exactamente el cuarto día en que la versión publica 1.0.0 del UltraHLE salio a la luz. Recuerdo que lo descargue sin saber absolutamente nada en lo que a emuladores y todo eso respecta, y no paso mucho tiempo para que se convirtiera en mi emulador preferido. Inmediatamente me vi en la obligación de descargarme al menos tres títulos: Super Mario64, Starfox64, y por ultimo el Zelda OoT, el cual termino por convencerme que el UltraHLE no era otro fracaso mas como si lo fue el viejo ProjectUnreality (al cual sin embargo no le quito meritos, ya que fue uno de los que le dio inicio al difícil trabajo de emulación de esta consola). Inmediatamente después vino la parte mas complicada, averiguar como fue posible el desarrollo de este gran emulador y que se había utilizado para ello... Recuerdo que fueron muchas tardes colgado a una muy baja conexión a Internet hasta que pude al fin averiguar que herramientas se habían usado y, posteriormente, proceder a descargarme todas y cada una de ellas... Desgraciadamente hubo un punto que no tuve en cuenta en medio de mi entusiasmo y era que me faltaba lo más importante: el source code!.
Sinceramente hubo muchos momentos en los que pensé y me plantee el hecho de eliminar todo lo que con mucho esfuerzo había descargado, debido a que pasaban los meses y el código nunca salia a la luz, pero por suerte en vez de hacer eso, en cuanto tuve la posibilidad grabe todo en un CD. Obviamente este estuvo guardado (y hasta casi olvidado) hasta el día en que por fin, alguien libero el leaked source code. Desde ese momento todo cambio, enseguida quise ponerme a trabajar en el y me tope con varias sorpresas: por un lado el hecho de que el source code liberado no era exactamente igual al utilizado para la versión final; por el otro, que varias de las herramientas que habían sido utilizadas seguramente funcionaron perfecto por aquellos años, pero fue bastante difícil hacer que funcionaran de la misma manera en mi Windows XP, una traba que no me esperaba...
Obviamente (y como me lo esperaba), al momento de compilarlo tiro muchos mas errores de los que me hubiese imaginando (ni recuerdo cuantos), y hacer que ellos desaparecieran fue un muy duro trabajo, y ni hablar en cuanto a las modificaciones posteriores que hice... Enumerarlas seria demasiado largo y aburrido, pero voy a resumirlas en pocas palabras: primero corregir la función de carga del rom para que soportase nombres con espacios; luego corregir algunas rutinas y sobre todos valores en muchas funciones que hacen a los gráficos (ya que algunas de ellas producían extraños delays bajo Win XP) y al sonido (el mas complicado), y por ultimo varias modificaciones al núcleo del emulador (por llamarlo de alguna manera) que hicieron posible entre otras cosas el soporte del Expansion Pack. En medio de esto hubo mucho trabajo de debug, corrección y eliminación de código que si bien en un principio era importante, fue quedando redundante y obsoleto con los distintos cambios que fui haciendo. Obviamente también hubo cambios en el GUI pero esos son los menos importantes.
En resumen, todo este trabajo de análisis, verificación, chequeo y corrección da como resultado algo absolutamente lógico: aun después de todos los cambios de funciones y PRINCIPALMENTE de valores realizados, el 98% del código sigue siendo igual al del UltraHLE original, y es lógico, mi intención por el momento no es reescribir de cero el código fuente del emulador, sino hacer de este mas rápido y mas estable, algo que ese pequeño pero muy importante 2% modificado si pudo aportar.
Desgraciadamente a otras personas no les bastó con solo no confiar en el. Tomándose atribuciones que tal vez no debieron tomarse (por respeto a quienes si me dieron una posibilidad), dedicaron gran parte de su tiempo no solo a desprestigiarme sino también a borrar y eliminar toda posibilidad de descarga, lo cual fue determinante para dar por concluida la continuación, al menos pública de mi proyecto.
Seguramente seguiré trabajando en el, no solo por hacer realidad el deseo de que muchos que como yo que no poseen una PC muy potente puedan disfrutar de mas y mejores juegos de Nintendo64, sino también y principalmente por todos los días y noches de duro trabajo que para el he dedicado. Todos aquellos quienes realmente amamos y disfrutamos de este arte que es la programación, sabemos lo difícil y complicado que es tomar el source code de otro, analizarlo, interpretarlo y si da la posibilidad, poder al fin retomar su desarrollo para hacerlo aun mejor.
Si tuviera que explicar como y porque tome la decisión de continuar el desarrollo de este gran... como definirlo, mitad emulador, mitad "romplayer", la verdad es que es una historia que comenzó exactamente el cuarto día en que la versión publica 1.0.0 del UltraHLE salio a la luz. Recuerdo que lo descargue sin saber absolutamente nada en lo que a emuladores y todo eso respecta, y no paso mucho tiempo para que se convirtiera en mi emulador preferido. Inmediatamente me vi en la obligación de descargarme al menos tres títulos: Super Mario64, Starfox64, y por ultimo el Zelda OoT, el cual termino por convencerme que el UltraHLE no era otro fracaso mas como si lo fue el viejo ProjectUnreality (al cual sin embargo no le quito meritos, ya que fue uno de los que le dio inicio al difícil trabajo de emulación de esta consola). Inmediatamente después vino la parte mas complicada, averiguar como fue posible el desarrollo de este gran emulador y que se había utilizado para ello... Recuerdo que fueron muchas tardes colgado a una muy baja conexión a Internet hasta que pude al fin averiguar que herramientas se habían usado y, posteriormente, proceder a descargarme todas y cada una de ellas... Desgraciadamente hubo un punto que no tuve en cuenta en medio de mi entusiasmo y era que me faltaba lo más importante: el source code!.
Sinceramente hubo muchos momentos en los que pensé y me plantee el hecho de eliminar todo lo que con mucho esfuerzo había descargado, debido a que pasaban los meses y el código nunca salia a la luz, pero por suerte en vez de hacer eso, en cuanto tuve la posibilidad grabe todo en un CD. Obviamente este estuvo guardado (y hasta casi olvidado) hasta el día en que por fin, alguien libero el leaked source code. Desde ese momento todo cambio, enseguida quise ponerme a trabajar en el y me tope con varias sorpresas: por un lado el hecho de que el source code liberado no era exactamente igual al utilizado para la versión final; por el otro, que varias de las herramientas que habían sido utilizadas seguramente funcionaron perfecto por aquellos años, pero fue bastante difícil hacer que funcionaran de la misma manera en mi Windows XP, una traba que no me esperaba...
Obviamente (y como me lo esperaba), al momento de compilarlo tiro muchos mas errores de los que me hubiese imaginando (ni recuerdo cuantos), y hacer que ellos desaparecieran fue un muy duro trabajo, y ni hablar en cuanto a las modificaciones posteriores que hice... Enumerarlas seria demasiado largo y aburrido, pero voy a resumirlas en pocas palabras: primero corregir la función de carga del rom para que soportase nombres con espacios; luego corregir algunas rutinas y sobre todos valores en muchas funciones que hacen a los gráficos (ya que algunas de ellas producían extraños delays bajo Win XP) y al sonido (el mas complicado), y por ultimo varias modificaciones al núcleo del emulador (por llamarlo de alguna manera) que hicieron posible entre otras cosas el soporte del Expansion Pack. En medio de esto hubo mucho trabajo de debug, corrección y eliminación de código que si bien en un principio era importante, fue quedando redundante y obsoleto con los distintos cambios que fui haciendo. Obviamente también hubo cambios en el GUI pero esos son los menos importantes.
En resumen, todo este trabajo de análisis, verificación, chequeo y corrección da como resultado algo absolutamente lógico: aun después de todos los cambios de funciones y PRINCIPALMENTE de valores realizados, el 98% del código sigue siendo igual al del UltraHLE original, y es lógico, mi intención por el momento no es reescribir de cero el código fuente del emulador, sino hacer de este mas rápido y mas estable, algo que ese pequeño pero muy importante 2% modificado si pudo aportar.