A diez años de libertad…

Aunque la fecha ya no está clara en nuestras memorias, sí la razón de ésta, y es que un día de mayo como hoy, hace 10 años, llegó la BSA a la institución educativa donde “estudiaba” un grupo de jóvenes su secundaria, aquellos, la BSA, siendo una entidad dedicada a “proteger” el software de garfios sucios de pirata, amenazan a los tacaños directores de dicho establecimiento, con que, o compran las licencias para su güindous, o las quitan de sus máquinas.

Afortunadamente era un colegio pobretón, y tacaño; quizas hubieran podido pagar la licencia, pero no lo harían.  la señora maniática y usurera, dueña del establecimiento sólo quería lucrar, jamás pagarles a esos “desgraciados” algo que a ella le había costado piratear…  Trabajo del “equipo” de computación será entonces eliminar todo rastro de esos “güindous” y “ofis” de las máquinas.  Quitarlos les fue fácil, encontrar sustituto no tanto.

De pronto llega el encargado del departamento de computación, con un extraño disco compacto que lucía un sombrero rojo en la portada, prometió que con eso salvaría la academia del oscurantismo digital.  Un extraño sistema llamado “Lainux” que nadie podía instalar, ni siquiera ellos.  Tocará aprovechar los recursos gratuitos del estudiantado de Bachillerato en Computación y probar, probar, y probar.

TTY, Root, anaconda, mount, bash, y entre otras extrañas palabras comienzan a aparecer, y tan solo un manual a medias era nuestro recurso.  La internet en ese tiempo se usaba más para la pornografía y no se tenía la disciplina RTFM.   Solo nos quedaba probar, y probar, usar nuestros conocimientos de windows, y seguir probando…

Entre tanta prueba y error, se logró por fin ver ese “prompt” de login, nuestra previa experiencia en windows 2000 nos dictaba que ese tal “rut” era un super usuario, casi dios, y que con ése podríamos hacer lo que quisiéramos.  así fue… luego de ingresar como “rut” a alguien se le ocurrió seguir una instrucción de ese pseudo manual y adiós instalación… primer lección aprendida, usar “rut” es peligroso.

Luego de respetar la omnipotencia de root en nuestra máquina pivote, era momento de hacer correr el “modo gráfico”, un intuitivo “startx” y listo, el bello escritorio de gnome default del “red hat lainux” se despliega en ese viejo crt marcado con huellas digitales de infinidad de pre adolescentes.

La cosa no va solo así, aunque el escritorio era bastante superior y más presentable, aún faltaba evaluar “herramientas de productividad” y ofimática, .  Se probó “staroffice”, consumía muchos recursos (tomando en cuenta que el escritorio default no andaba bien con menos de 96 MiB de RAM, algo lujoso para la época)  y colapsaba constantemente.  Koffice viene al rescate, una suite ofimática no tan completa como la de “maycrosoft” pero que al final cumplia su cometido. y que junto a KDE 2,  dejó claro que esas herramientas marcianas eran bastamente superiores, y lo mejor, gratis. Aunque no se contaba  la curva de aprendizaje marcada que iba a tener para los usuarios “normales” (y sus constantes comparativas y reprobaciones respecto al ya no existente windows), no les quedó de otra que usarlos para ganar sus cursos de “computación”, era lo que ibamos a usar, y punto.

Entra un cuestionamiento entre unos pocos de nosotros… cómo es posible que KDE o Gnome sean tan “sexies” y a la vez gratis, corriendo sobre un sistema que parecía lo suficientemente robusto, la respuesta, aunque no tan intuitiva en ese tiempo fue, la libertad.  Libertad de usar, estudiar, modificar y distribuir el software.  Una nueva dimensión se ha abierto para nosotros,  ahora ya no se trata solo de compartir software, se tratará de compartir conocimiento… Y es solo el comienzo, mayo de 2002.

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.