Chi ha iniziato ad usare un PC almeno una quindicina di anni fa non può non provare una certa nostalgia nei confronti del proprio primo sistema operativo, che per molti è stato il Dos. Ci sono alcuni programmi a cui siamo affezionati che inevitabilmente non abbiamo più la possibilità di utilizzare perché non più supportati dai moderni sistemi operativi.
Rientrano certamente in questa categoria alcuni videogiochi, in un periodo in cui era una novità questo tipo di intrattenimento. Appassionati di Super Mario, Lemmings, Pacman, saranno contenti di sapere che esiste un progetto che ha lo scopo di emulare, anche su Linux, un PC e offrire agli utenti un sistema operativo completamente compatibile con Dos.
Si tratta di DOSBox, un progetto basato su DOSEMU, studiato esplicitamente per render possibile l'esecuzione di vecchi videogiochi che sono rimasti orfani di questo sistema operativo. Una caratteristica molto interessante di questo programma è quella di essere in grado di poter essere eseguito sui più diffusi Sistemi operativi: Windows, MacOSX, Linux, FreeBSD e persino BeOS e l'ormai andato in pensione OS/2.
I requisiti di sistema sono relativamente alti, è infatti consigliato avere un processore ad almeno 1 Ghz di velocità di clock, per quanto alcuni giochi funzioneranno anche con hardware meno performante. Una volta lanciato l'eseguibile avremo, in una finestra, una sessione di Dos, con tanto di boot, e di inizializzazione delle periferiche, come ad esempio la scheda audio.
Il prompt sarà esattamente uguale a quello utilizzato dal Dos e sarà possibile utilizzare alcuni comandi propri di DOSBox per interagire con il sistema operativo che lo ha lanciato (GNU/Linux nel nostro caso), in modo tale ad esempio da associare una particolare directory a un identificativo di unità.
Personalmente ho trovato molto utile DOSBox anche per un vasto insieme di applicazioni, non ludiche, che ero costretto a dover eseguire sotto Linux. Ultimamente ad esempio l'ho trovato molto utile per provare un vecchio assemblatore, e tutta una serie di programmi che non vengono più sviluppati ma che può essere utile ogni tanto avere la possibilità di usare. Potrebbe tornare molto utile ad esempio per quei laboratori di informatica che sono vincolati all'utilizzo di alcuni software che funzionano sotto Dos. Se questa a prima vista può sembrare una scusa valida per tenersi alla larga da GNU/Linux, ora, con DOSBox (e DOSEMU, da cui deriva) non lo è più.
Vedremo nella prossima parte dell'articolo come fare a configurare questo programma e prenderemo in esame i comandi che la sua interfaccia ci offre.
Nella prima parte dell'articolo abbiamo preso in esame le potenzialità offerte da DOSBox. Ora è giunta l'ora di vederlo all'azione. Iniziamo con l'installazione: è molto probabile che la vostra distribuzione disponga già, sui propri supporti, dei pacchetti precompilati ufficiali. Con Debian e Ubuntu basterà dare (come al solito) da utente root:
apt-get update
apt-get install dosbox
DOSBox, pur avendo molte cose in comune con DOSEMU, è molto più semplice da configurare e da utilizzare ed è già predisposto per poter essere impiegato in ambito "ludico". È al tempo stesso più complesso perché provvede anche all'emulazione della CPU e non solo a emulare un sistema operativo DOS.
Procediamo quindi con la configurazione. È possibile agire sulle impostazioni di DOSBox attraverso un file di configurazione. Questa operazione non è necessaria perché comunque le impostazioni predefinite andranno bene nella stragrande maggioranza dei casi. Quello che cercheremo di analizzare sono le opzioni che è possibile dare in fase di esecuzione.
Apriamo quindi un terminale e lanciamo dosbox
, senza nessun parametro. Verrà effettuato il boot e ci verrà presentato un prompt come lettera z:
. Sotto Dos siamo abituati a vedere c e non z. Il motivo è semplice, e ha a che fare con la sicurezza dei vostri dati. z: sta ad indicare che non si tratta dei vostri file presenti nella partizione principale (basta un semplice dir
per accorgersene), ma di file di sistema.
A questo punto sarà compito dell'utente quale directory rendere visibili all'interno di DOSBox, ma è da tenere ben presente che stiamo dando libero accesso ai nostri file alle applicazioni Dos che lanceremo. Qualcosa può sempre andare storto, un errore (è brutto dirlo) ma può sempre essere in agguato e i nostri file potrebbero fare una brutta fine. Cercate quindi di scegliere attentamente quello che volete rendere disponibile, magari mettendo tutto sotto una directory creata appositamente.
A questo punto vorremmo pur fare qualcosa, eseguire qualche programma. Poniamo di avere dei file all'interno della directory /home/utente/DOS
e di voler rendere visibile questa directory come unità C. Dal prompt di Dos che ci viene mostrato da DOSBox lanciamo:
mount C "/home/utente/DOS"
A questo punto saremo in grado di accedere all'unità C con il classico c:
, ed eseguire il nostro comando Dos. Ho notato però una certa incompatibilità tra DOSBox e la tastiera italiana (a dire il vero con tutte le tastiere che non siano americane). Questo non offre la possibilità di visualizzare caratteri speciali come i due punti (:) o lo slash (/). Il problema è risolvibile in diversi modi: il più semplice e meno elegante è quello di cambiare la tastiera sotto X, lanciando setxkbmap us
da terminale prima di avviare DOSBox. A questo punto il layout sarà quello di una tastiera americana, che viene correttamente riconosciuta.
In alternativa, all'avvio di dosbox possiamo, utilizzando i tasti CTRL+F1, avviare il keymapper, un'utility per il cambio del layout di tastiera. Un'ulteriore possibilità è data dall'utilizzo di Keyb del progetto FreeDOS, programma per DOS per il cambio del layout della tastiera.
Una opzione molto comoda di DOSBox è -c comando
: con questa è possibile avviarlo lanciando subito dopo un comando. Ad esempio se lanciassimo da terminale:
dosbox -c "MOUNT C /home/utente/DOS"
Questo produrrà l'effetto di eseguire il nostro programma e di avere associata come unità C la directory /home/utente/DOS
.
A questo punto non mi resta altro che lasciarvi rispolverare qualche vecchio floppy alla ricerca di qualche gioco lasciato lì abbandonato in un cassetto per troppo tempo.