Warajevo, programmare sotto l’assedio
Nel pieno dell’assedio di Sarajevo due programmatori hanno trovato la forza per sviluppare il programma emulatore Warajevo
(Pubblicato originariamente da East Journal l’8 luglio 2020)
I tardi anni ’80 segnarono il boom dei primi personal computer a 8 bit, con modelli come il Commodore 64 che conquistarono velocemente il mercato. Uno dei prodotti concorrenti era lo XS Spectrum della britannica Sinclair (poi Amstrad) il cui programma emulatore Warajevo, come può suggerire il nome, fu sviluppato durante la guerra e l’assedio da due giovani programmatori sarajevesi, Željko Jurić e Samir Ribić, tra bombardamenti e interruzioni d’elettricità.
"Siamo sentimentalmente legati a questo computer, che abbiamo conosciuto alle superiori", ricordano i due a fine anni ’90 sul sito World of Spectrum. "Lo Spectrum ci ricordava il tempo in cui, nei nostri quartieri, la vita era bella e normale". Nel giugno 1991 Željko e Samir – già allora conosciuti come bravi programmatori – ottengono un emulatore per Spectrum, di probabile provenienza slovena, che non li soddisfa. "Quando è iniziata la guerra, volevamo rimuovere il più possibile i pensieri negativi. Quindi, nell’aprile 1993, abbiamo iniziato lo sviluppo del nostro emulatore per Spectrum, chiamato simbolicamente Warajevo".
Il programma, ricordano Jurić e Ribić, venne sviluppato in condizioni terribili. Le granate cadevano su tutta la città e la corrente elettrica era razionata, per un massimo di due o tre ore per notte. "Abbiamo sfruttato ogni momento in cui c’era elettricità per sviluppare il programma". Željko lavorava da casa con il suo 80286/12 MHz, floppy da 1,44″, hard disk da 40 Mb, scheda Hercules e stampante Citizen 180D. Usava l’assemblatore TASM. Samir lavorava principalmente dalla caserma con un 80286/16 MHz, floppy da 5,25″ e 1,44″, modem 2400 bps, monitor VGA mono, e senza disco fisso.
L’elettricità presso le caserme era prodotta da un generatore improvvisato, un motore per auto collegato alla conduttura del gas che forniva 30 kilowatt per 100 camere, con una tensione che variava da 150 a 300 volt. Quando qualche altro soldato accendeva la macchinetta del caffè, il computer di Samir si riavviava da solo… in tali condizioni, non è difficile immaginare come si sia bruciato il disco fisso.
Željko era incaricato di scrivere il codice kernel dell’emulatore, mentre Samir si occupava di preparare conversione e utilità tramite Turbo Pascal 5.5. "Abbiamo deciso che il nostro formato di file su nastro sarebbe stato compresso, poiché non avevamo abbastanza dischetti, né credevamo che avremmo mai avuto soldi per comprare un disco rigido più grande".
Durante i periodi di libera uscita, Samir faceva visita all’unico distributore pirata di Spectrum di Sarajevo per prendere in prestito cassette di registrazione. Ma il pirata si trovava in uno dei luoghi più pericolosi della città, praticamente in prima linea. Per arrivarci sfuggendo al fuoco dei cecchini, Samir si muoveva lungo il letto del torrente Miljacka, sperando di restare coperto dagli argini.
"L’estate del 1993 fu il momento peggiore dell’intera guerra in Bosnia, un chilo di zucchero arrivava a costare 60 marchi e sulla città cadevano 3000-4000 granate al giorno. Solo un miracolo ha salvato Sarajevo dalla caduta. Tuttavia, abbiamo avanzato molto bene col programma…". Samir non lasciò la caserma per più di un mese, durante l’attesa di nuovi ordini di battaglia, sviluppando l’algoritmo di compressione a mano su fogli di carta, in mancanza di energia elettrica, acqua e cibo. "Perdevamo circa un chilo alla settimana".
Nel novembre 1993, leggendo alcuni giornali che provenivano dal territorio nemico, Željko e Samir vennero a conoscenza dell’emulatore Z80, programmato da Gerton Lunter. "Il fatto di non aver sentito parlare prima dello Z80 di Lunter è una fortuna per gli utenti di Warajevo di oggi, perché molto probabilmente non avremmo nemmeno avviato questo progetto se avessimo saputo che esisteva già un emulatore Spectrum di buona qualità. Ma, in condizioni invernali ancora peggiori, abbiamo continuato lo sviluppo (nelle stanze in cui dormivamo l’acqua era congelata), sperando di poter presto confrontare i due programmi".
La primavera successiva, a guerra ancora in corso, la fondazione Soros aprì la prima casella di posta elettronica a Sarajevo. "Inviammo una richiesta e a giugno 1994 ricevemmo l’emulatore di Lunter. Venimmo a sapere anche di molti altri emulatori Spectrum sviluppati in tutta Europa, ma il nostro era sicuramente il migliore, secondo forse solo allo Z80 di Gerton Lunter. Considerate le condizioni in cui abbiamo sviluppato Warajevo e la qualità del lavoro di Lunter, pensiamo sia un grande successo. Quando abbiamo contattato Gerton, la pensava allo stesso modo".
La prima versione pubblica dell’emulatore Warajevo è stata pubblicata alla fine del 1994. Con la pace di Dayton, una release 1.2 venne terminata nel dicembre 1995. Samir decise di continuare a migliorare l’emulatore come sua tesi di laurea, che venne quindi rilasciata come versione 1.5 nel luglio 1996. Tra aprile 1995 e dicembre 1997 Samir e Željko ricevono email da 28 paesi di tutto il mondo con saluti, domande, nuove idee e segnalazioni di bug.
Il lavoro di Željko Jurić e Samir Ribić continua nel dopoguerra, in condizioni molto migliori nonostante gli stipendi da fame. Warajevo 2.0, del febbraio 1998, è sviluppato su Pentium 133 MHz. L’ultima versione rilasciata è la 2.51. "Pensiamo ancora che Warajevo 2.51 sia il miglior emulatore per DOS puro, con molte funzionalità che lo rendono unico".