• Noticias Geek
Noticias geek
Warajevo, el emulador de ZX Spectrum programado entre bombas y francotiradores

Warajevo, el emulador de ZX Spectrum programado entre bombas y francotiradores

  • 30 de diciembre de 2020

A finales de la década de 1980 se encontraban en auge los primeros ordenadores personales de 8 bits, con modelos como el Commodore 64 conquistando rápidamente el mercado. Uno de los ordenadores de más éxito fue el ZX Spectrum de Sinclair, cuyo emulador Warajevo fue desarrollado durante la guerra de Bosnia por dos jóvenes programadores de Sarajevo. Los programadores, Sarajevesi y Samir Ribiá, lo programaron entre bombardeos y sufriendo constantes cortes eléctricos.

"Estamos conectados sentimentalmente a este ordenador, que conocimos en la escuela secundaria", recordaron los dos a finales de la década de 1990 en el foro de la web de World of Spectrum. "El Spectrum nos recuerda a la época en la que nuestra ciudad era hermosa y normal". En junio de 1991, Sarajevesi y Samir probaron un emulador para Spectrum, probablemente de Eslovenia, pero que no les gustó. "Cuando comenzó la guerra, queríamos eliminar los pensamientos negativos tanto como fuera posible. Así, en abril de 1993, comenzamos a desarrollar nuestro emulador de Spectrum, simbólicamente llamado Warajevo".

El emulador fue desarrollado en condiciones terribles. Las granadas caían por toda la ciudad y nos quedábamos sin electricidad durante dos o tres horas por noche. "Utilizamos cada momento en que había electricidad para desarrollar el programa". Eljko estaba trabajando desde casa con su disquete 80286/12 MHz, 1.44", disco duro de 40Mb, tarjeta Hercules e impresora Citizen 180D. Usó el ensamblador TASM. Samir trabajó principalmente desde el cuartel con un disquete 80286/16 MHz, 5.25" y 1.44", módem de 2400 bps, monitor VGA mono y sin disco duro.

La electricidad en el cuartel era proporcionada por un generador improvisado, un motor de automóvil conectado al gasoducto que suministraba 30 kilovatios por cada 100 cámaras, con una tensión que oscilaba entre 150 y 300 voltios. Cuando otro soldado encendió la máquina de café, el ordenador de Samir se estaba reiniciando por su cuenta... en tales condiciones, no es difícil imaginar cómo se estropeaban los discos duros.

Eljko se encargó de escribir el código del núcleo del emulador, mientras que Samir preparaba la conversión y las utilidades usando Turbo Pascal 5.5. "Decidimos que nuestro formato de archivo de cinta estaría comprimido, ya que no teníamos suficientes disquetes, ni creíamos que alguna vez tendríamos dinero para comprar un disco duro más grande".

Durante los períodos de liberación, Samir visitó al único distribuidor pirata de Spectrum en Sarajevo para pedir prestados casetes. Pero el pirata estaba en uno de los lugares más peligrosos de la ciudad, prácticamente en primera línea. Para llegar había que esconderse del fuego de los francotiradores.

"El verano de 1993 fue el peor momento de toda la guerra en Bosnia, un kilo de azúcar llegó a costar 60 marcos y en la ciudad cayó 3000-4000 granadas por día. Sólo un milagro salvó a Sarajevo de la caída. Sin embargo, habíamos avanzado muy bien con el programa...". Samir no dejó los cuarteles durante más de un mes, mientras esperaba nuevas órdenes de batalla, desarrollando el algoritmo de compresión sobre hojas de papel, en ausencia de electricidad, agua y alimentos. "Perdíamos alrededor de un kilo a la semana."

En noviembre de 1993, leyendo periódicos del territorio enemigo, Sarajevesi y Samir se enteraron del emulador Z80, programado por Gerton Lunter. "Nunca habíamos oído hablar del emulador Z80 de Lunter antes, de conocerlo seguramente no hubiéramos iniciado el proyecto de desarrollar un emulador de Spectrum de buena calidad. Pero, en peores condiciones invernales, continuamos el desarrollo (en las habitaciones donde dormíamos el agua estaba congelada), con la esperanza de que pronto pudiéramos comparar los dos programas".

La primavera siguiente, con la guerra en curso, la Fundación Soros abrió la primera bandeja de entrada en Sarajevo. "Enviamos una solicitud y en junio de 1994 recibimos el emulador Lunter. También aprendimos sobre muchos otros emuladores de Spectrum desarrollados en toda Europa, pero el nuestro fue definitivamente el mejor, segundo tal vez por detrás de Z80 de Gerton Lunter. Dadas las condiciones en las que desarrollamos Warajevo y la calidad del trabajo de Lunter, creemos que es un gran éxito".

La primera versión del emulador Warajevo fue lanzada a finales de 1994. Con la paz de Dayton, la versión 1.2 se completó en diciembre de 1995. Samir decidió seguir mejorando el emulador como su tesis, que fue lanzada como versión 1.5 en julio de 1996. Entre abril de 1995 y diciembre de 1997, Samir y Eljko recibieron correos electrónicos de 28 países de todo el mundo con saludos, preguntas, nuevas ideas e informes de errores.

En la posguerra el proyecto fue continuado por Ieljko Juriá y Samir Ribiá, en condiciones mucho mejores a pesar de la escasez de alimentos. Warajevo 2.0, febrero de 1998, se desarrolló en un Pentium 133 MHz. La última versión 2.51. "Seguimos pensando que Warajevo 2.51 es el mejor emulador para DOS puro, con un montón de características que lo hacen único."