Emulación: Retrospectiva (I)

Visitando el sitio de Pete Bernert –Brillante coder de plugins para emuladores de psx–  al ver sus “Fairy Tales” vinieron a mí memorias de una época dorada, nostálgico quizas, recordé, al menos, lo fue para mí, los “Años Maravillosos” de la emulación de consolas en la PC; por allí por finales de los 1990s e inicios de los 2000s.  Aquellos tiempos que, ya sea por nostalgia, por falta de oportunidades, o por retarse a uno mismo se pasaba horas esperando para que, a través de nuestro modem de 33.3 K conectado por puerto COM1, terminara de bajar el bendito ROM de super nintendo de 6 MiB/48mbit (no te olvido  Tales of Phantasia), y luego, justificarlo en fin de mes al venir la carísima factura de teléfono.

Gracias a las extraterrenales habilidades de  ingeniosos hackers, muchos pudimos conocer, terminar y disfrutar varios títulos que nunca pudimos jugar en la consola original, ya sea por que nunca encontramos quien nos los “traficaran”, o no los encontramos en la tienda por inventario agotado, o simplemente a las “brillantes” gerencias de –inserte aquí su compañía favorita de videojuegos– no se les antojaba traerlos a América.  En fin, muchas pueden ser las causas, y la solución mas sencilla, irse a buscar el ROM, de ser necesario ver si había algún parche para traducirlo, y a jugar.

Pero muchas veces no era solo así, qué aburrido hubiera sido para muchos de nosotros sólo colocar el ROM, darle “play”  y jugar.  Habíamos muchos, que teníamos máquinas ultra limitadas y con bajo poder de procesamiento respecto a la tecnología de la época, en donde, con las configuraciones default; o no corría bien el juego, o simplemente no corría.  Había que tener el tiempo y las ganas para poder “jugar” con las configuraciones y/o parámetros del emulador en cuestión para que, con nuestros modestos equipos al menos funcionaran los ROMs que deseábamos jugar,  qué mejor si eran de SNES…

Sí el SNES, esa maquinita gris con tan buenos juegos de la era de 16 bits, y para 1999 ya casi obsoleta en el mercado, pero muy bien emulada gracias al esfuerzo de los hackers anteriormente mencionados, que la tenían como de sus favoritas.  Aunque ya no viví la era de los emuladores mas primitivos como ESNES o NLKE, tuve que probar varios otros derivados y/o más mosdernos para ver cual se adecuaba al bajo poder de procesamiento y escasa memoria de ordenador que poseía en esa época (12mb de RAM WTF!). Las más factibles soluciones eran SNEMUL, Snes9x o ZSNES,  el cual SNEMUL tenía una bonita GUI, pero los juegos corrían lento y era algo incompatible.  Snes9x era bueno, y con excelente compatibilidad, aunque también era demasiado lento para mi vieja máquina, tambien por alguna extraña razón no me permitia usar el modo VESA de mi tarjeta gráfica XGA2, además que por la escasa memoria que tenía no me permitía cargar ROMs mayores a 2 MiB/16mbit.

ZSNES, era la salvación, el más rápido para los roms (gracias a que estaba hecho en una “cosa rara” para mí en ese tiempo llamada “Assembler”), consumía poca memoria y además funcionaba de maravilla el modo VESA, con lo que ya tenía mis 15 bit de color y transparencia en mis jueguitos.  Aunque tuve problemas de emulación por no contar con tarjeta de audio en la vieja PC, había un excelente chapuz para emular la salida de audio.  El emulador mejoró, se portó para múltiples plataformas como BSD, Linux y Windows, le agregaron bonitos efectos gráficos de post procesados, etc. Por todo esto, es y será el emulador que siempre instale por defecto en cualquier máquina basada en  intel x86, aunque ya no haya un Release oficial desde hace años –que no creo que necesiten pues la compatibilidad es casi perfecta.

Pasaron los años, actualmente el ZSNES sigue en el eterno desarrollo por hacerlo más portable a otras arquitecturas no x86, y gracias a la portabilidad inicial de SNES9x, éste otro sí fue portado a diferentes plataformas, que van desde x86-64 nativo hasta arquitecturas PowerPC como PS3 o el Wii, MIPS como el PSP o ARM como los “ifonos” y “droides”.

Cabe mencionar que nomás liberaron el código fuente de ZSNES y lo descargué para curiosear “las tripas” de dicho emulador, me pareció (y me sigue pareciendo) bastante complejo, eran cientos de archivos escritos en assembler, unos otros escritos en c, makefiles hechos a mano, etc.  Y gracias a revisar esas “tripas”  estudié cómo interactuaba ese monton de archivos de assembler, sus macros y llamadas a funciones de C, aprendí qué era un Makefile, cómo compilar con éstos en entornos windows usando DJGPP  (que era el compilador de c que recomenadaban para ese port) y NASM,  y mínimas modificaciones a los “strings” en los archivos .asm para hacer una version semi traducida que nunca fue publicada. Aunque ahora casi solo uso Snes9x en mis gadgets para jugar… mucho de lo que aprendí en mi “juventud” se lo debo a ZsKnight y su fantásticamente caóticos asm de zsnes.

Anuncios

Reviviendo un clásico: Super Metroid Redesign

Furulando por internet en mis extensas horas de ocio que he tenido en mi trabajo ultimamente, me encontre con un sitio bastante interesante llamado Vintage Computing, en busqueda de algo que hacer, y navegando por la seccion de Emuladores creo, me encontre con tres palabras que captaron mi atencion instantaneamente: Super Metroid Redesign.

Revisando, me tope con que un equipo de talentosos hackers, habian creado un mod para el original Metroid 3 llamado Super Metroid Redesign, anunciaba de que era una version bastante extensa, cambiada y difícil del juego original, rediseñando completamente todo el mapa del juego.

Me pareció fascinante el saber que hace dos años este equipo habia sacado dicho parche para el que considero EL MEJOR VIDEOJUEGO DE LA HISTORIA en mi ranking. no solo por la excelente atmósfera, música y horas de sano entretenimiento que este juego logró hace mas de una década en mi, sino que a la vez, de tanto el trauma, que, literalmente, soñaba con encontrar nuevos mundos vastos y diferentes en el mismo juego para ver si al final Samus Aran salia en pelota al final del juego( me refiero a cuando se hace bolita). pero esa es otra historia…

Pues tecnicamente este mod es como un sueño hecho realidad, hace apenas 3 dias que lo inicie, y todavia, con mi escaso tiempo que tengo para jugarlo, puedo decir que es el mejor hack de cualquier videojuego que he visto, el ambiente del mismo se conserva de una manera muy buena, y, a la vez, este parche agrega una dificultad bastante grande, a un juego, que por naturaleza ya era dificil, extendiendo los vastos mundos de Zebes, convirtiendo el planeta en un laberinto infernalmente difícil (tanto que ya me quede atascado una vez y decidi reiniciar la partida).

A continuacion dejo el link para que podais bajar el parche de esta excelente expansion, Según indicaciones oficiales este deberá aplicarse al rom llamado “Super Metroid (JU) !” usando la utilidad Lunar IPS. Además, deberá usarse la version 1.36 de ZSnes, pues no logre que me funcionara en la mas actual.

Mi historia digital pt III: Emulando lo básico

Luego, en 1999 tuve mi primer ordenador, un vejestorio que tenía instalado Windows 95, y que, gracias a la misma revista previamente mencionada y otra que se llamaba CompuData, logré aprender lo que se convertiría en mi primer lenguaje formal y plataforma de desarrollo: HTML + JavaScript sobre Notepad y debugeado sobre IE 3.0, con esto logré aprender a hacer páginas HTML dinámicas a nivel cliente desde 0 literalmente, amarrándome implícitamente a tomar la informática como una carrera, pues me comentaban que aprender un lenguaje de programación era algo difícil, y que sin embargo yo lo había aprendido con facilidad en muy poco tiempo y con muy pocas referencias, debido a que el internet era bastante caro en ese entonces, al menos para mí.

zsnesLuego, en el 2000 seguí leyendo y practicando tecnología, aprendiendo otros lenguajes como Visual Basic y Pascal, Sin embargo mi pasión por la creación de videojuegos había terminado, ya que inspirado en emuladores como ZSnes, UltraHLE, etc, tomé otro objetivo en mi vida, aprender a hacer emuladores de consolas, ésto fortalecía cada vez más mis deseos de estudiar una carrera relacionada con la computación digital, pues los emuladores eran y son una maravilla, y entonces supe que existía una carrera que podrá satisfacer mis ansias de programar, además de que era muy lucrativa si se tiene la vocacion: Ingeniería en Sistemas en la universidad, pero aún estaba muy joven y todavía no habia terminado la secundaria y que para poder estudiar ésto debía seguir en una disciplina corta a nivel medio y relacionada con la informática: Bachillerato en computación.

Continuara…