Introduzione
Come vi ho raccontato nel post precedente (se non lo avete letto, vi invito a farlo prima di iniziare a questo articolo!!) con l'evoluzione dei sistemi operativi di mamma Microsoft, la compatibilità con il buon vecchio MS-DOS è andata via via sciamando rendendo di fatto impossibile giocare alle vecchie glorie del passato. Per poter godere del fine gameplay di Alley Cat, gli appassionati di retrogaming su PC erano costretti a conservare gelosamente un vecchio computer (equipaggiato al massimo con Windows 95/98) oppure a barcamerasi nel complesso mondo del multi-boot per poter avviare diversi sistemi operativi (soluzione funzionale che però obbliga a riavviare il computer ogni qual volta si desidera gustare un po' di passato videoludico oltre che, ad esporsi al rischio di vedere schizzare i giochi a velocità inaudita).
Insomma, grattacapi a non finire fino al 22 Luglio 2002 quando, da una geniale intuizione di Peter Veenstra, inizia a circolare su internet il DosBox, primo (e probabilmente unico), emulatore di PC MS-DOS basato sull'architettura x86. A differenza di altri software a prima vista simili, come ad esempio il DosEmu, il DosBox non si limita a fornire un layer di compatibilità basato sulle capacità di virtualizzazione del processore e del sistema operativo "ospitante" ma, è un vero e proprio emulatore della CPU caratteristica che rende il programma indipendente dal sistema su cui viene eseguito (infatti il DosBox è disponibile, oltre che per Windows, per Mac OS X, Linux, OS/2 su architettura x86 e su architetture differenti come PowerPC, SPARC, MIPS e ARM).
Oltre ad emulare quasi alla perfezione le CPU 80286, 80386 ed il coprecessore matematico 80387 , il DosBox emula con buona qualità:
- gli adattatori grafici: Hercules (adattatore grafico monocromatico), CGA (compresa la modalità composita 160x200x16 colori), EGA, VGA (compresi i suoi tweked mode), VESA e SVGA (di questi standard vi parlerò prossimamente)
- le schede audio: AdLib, Creative Music System (CMS), Sound Blaster (dalla 1.x alla 16), Gravis Ultrasound, MPU-401 e perfino il mitico PC Speaker
- i vecchi protocolli (IPX) e device (modem e schede di rete) di networking per permettere il gioco su internet
Utilizzo del DoxBox
Bene, dopo questo ampio ma inevitabile preambolo tecnico, passiamo alla ciccia ... dopo aver scaricato ed installato il software, lanciamo il programma secondo le modalità previste dalla versione acquisita (nel caso di Windows, cliccando due volte sull'icona, apparsa come per magia, sul desktop). Ci troveremo a questo punto davanti ad una finestra desolantemente nera, in cui spicca la sequenza di caratteri:
Z:\>
seguita dal cursore lampeggiante. Signori e signori ecco a voi il prompt, ovvero la famigerata linea di comando che utilizzeremo per interagire con il sistema operativo (una versione personalizzata e semplificata del buon vecchio MS-DOS).
La "paurosa" schermata iniziale del DosBox
Il prompt oltre che permettere l'inserimento dei comandi ci da alcune informazioni: la prima lettera identifica il drive su cui siamo posizionati, mentre la sequenza di caratteri dopo il ':' e prima del '>' visualizzano il percorso della cartella corrente (all'inizio siamo posizionati sulla cartella radice, identificata dal carattere '/'). Come ho accennato in precedenza il DoxBox integra una versione semplificata dell'MS-DOS da cui "eredita" una ventina di comandi (digitare HELP /ALL e premere enter per la lista completa). Se venti comandi possono sembrare tanti da padroneggiare, sappiate che nella maggior parte dei casi ve ne basteranno due per sfruttare con soddisfazione questo gran bel pezzo di software:
- DIR (directory): visualizza il contenuto della cartella corrente. Sono particolarmente utili i due modificatori /P e /W, da posporre al comando separati da spazio, per ottenere, rispettivamente, la lista paginata e su più colonne. L'output del comando DIR, proposto in figura, visualizza nell'ordine: il nome del file, la sua estensione, la dimensione in byte e la data e l'ora di creazione. L'estensione dei file è molto importante, in quanto i file eseguibili (quelli che fanno partire un gioco, tanto per capirci) sono identificati dalla estensioni: EXE, COM e BAT (fate tesoro di questa informazione!!). Se il nome è seguito da <DIR>,si tratta in realtà di una cartella all'interno della quale potremo entrare grazie al comando successivo ...
Esempio di output del comando DIR
- CD (change directory): cambia la cartella corrente. Se sul disco, ad esempio, è presente la cartella DOOM, il comando CD DOOM, seguito da invio sposta il prompt nella directory specificata.
MOUNT lettera_drive percorso_cartella_locale
Quindi, se sul nostro computer creiamo la cartella Games (ad esempio sul disco C:), l'esecuzione del comando
MOUNT C C:\GAMES
farà apparire, come per magia, un nuovo disco (C), all'interno del quale potremmo accedere a tutti i file e alle directory contenuti nella cartella locale. Per accedere al nuovo disco sarà sufficiente digitare C:, seguito da invio, per atterrare sul nuovo disco ed iniziare a smanettare (in generale per accedere ad un drive, è sufficiente digitare la lettera del disco, seguita da ':' e quindi invio). Il fatto di poter utilizzare come disco virtuale una cartella locale, permette di gestirne il contenuto tramite gli strumenti visuali messi a disposizione dai moderni sistemi operativi (l'unico consiglio che vi do e di non creare file e cartelle, con nomi più lunghi di 8 caratteri ... gamer avvisato mezzo salvato). Sarà quindi sufficiente copiare i file, nella cartella "condivisa" e quindi, tramite la shell, andare a lanciare il gioco.
Visto che mi sento buono, facciamo un esempio completo:
- Andate sul sito Abandonia (simpatico sito da cui scaricare giochi rilasciati come abandonware) e scaricate Alley Cat
- In C:\GAMES create la cartella ALLEY e scompatte il contenuto dell'archivio al suo interno
- Avviate il DosBox
- utilizzate il comando mount c c:\Games per creare il drive virtuale
- digita C: per accedere al nuovo disco
- utilizzate il comando CD ALLEY per accedere alla cartella
- tramite il comando DIR, visualizzate il contenuto della cartella
- e per finire, digitate CAT.EXE per avviare il gioco
Prima di passare al paragrafo successivo, vi ricordo che il DosBox esegue il caching dei contenuti del disco, di conseguenza se eseguite operazioni simili a quelle appena descritte, utilizzate il comando RESCAN per sincronizzare il contenuto della cache.
dosbox.conf
I settaggi di default del DosBox garantiscono buona compatibilità con maggior parte dei giochi. In alcuni casi però potrebbe essere necessario modificare il file di configurazione per ottenere il massimo dal titolo che ci apprestiamo a giocare. L'accesso al file di configurazione avviene tramite l'apposita icona presente all'interno della cartella DosBox nel menù di avvio (sui sistemi non Windows, potrebbe essere necessario accedere manualmente al file ... ma poco cambia). Il file si presenta come una serie di coppie chiave/valore, ognuna delle quali regola una delle caratteristiche dell'emulatore. Le chiavi sono veramente tante ma per ognuna di esse è presente, nello stesso file di configurazione, una breve descrizione comprensiva dei valori che essa può assumere. In questa sede mi limiterò a parlarvi di quelle che io reputo più interessanti.
- output: permette di configurare la modalità di rendering. Il valore di default (surface) è quello che garantisce la maggior compatibilità ma non supporta l'applicazione di filtri ed il rescaling. Su Windows, funzionano con la maggior parte delle schede grafiche moderne sia opengl che ddraw (DirectX, Direct Draw).
- windowresolution: permette di definire la risoluzione delle finestra in cui gira il DosBox in modalità windowed. Il valore di default (original) utilizza la risoluzione originale del gioco che si sta utilizzando, in alternativa si può specificare una risoluzione differente nel formato larghezza x altezza (ad esempio, 1024x768). Il valore impostato viene ignorato se output=surface.
- fullresolution: come la chiave precedente, ma utilizzata nella modalità full-screen.
- scaler: permette di selezionare l'algoritmo utilizzato per "scalare" l'immagine dalla risoluzione originale a quella specificata nelle due chiavi precedenti. I valori possibili sono quasi venti ed ognuno di essi fornisce una diversa resa dell'immagine ... a voi giochicchiare e scegliere quello che più si adatta al vostro gusto (occhio che più il filtro è complesso e maggiori saranno le risorse drenata dal DosBox al vostro computer)
- machine: permette di definire l'hardware grafico emulato. Nella maggior parte dei casi il valore di default funziona egregiamente ma, per godere dello splendore del CGA Composite Video Mode dovrete impostare tale chiave al valore cga.
- cycles: permette di definire il numero di istruzioni che la CPU emulata esegue ogni millisecondo. Variando questo valore è possibile rallentare il processore per adeguarlo alle esigenze di alcuni vecchi giochi che non sono in grado di adattarsi alla potenza smodata degli attuali processori. Il valore di default (auto), fa si che il DosBox cerchi automaticamente di adattarsi alle esigenze del software in esecuzione. Qualora il programma risulti troppo veloce è possibile specificare un valore fisso con la notazione fixed #numero, dove #numero è appunto il numero di istruzioni eseguite ogni millesimo di secondo. Tale valore è visualizzato nella barra del titolo della finestra.
- frameskip: permette di definire il numero di frame che il programma salta prima di disegnare il successivo. Il valore di default (0) non salta alcun frame, un valore differente può essere impostato per aumentare le prestazioni.
Per altre delucidazioni sul file dosbox.conf, sui comandi e sui segreti del DosBox vi invito a leggere la documentazione ufficiale (putroppo solo in inglese) che potete trovare al seguente indirizzo.
Tips & Tricks
Prima di passare alle doverose conclusioni, vi riporto alcune combinazioni di tasti che potrete utilizzare per sfruttare al meglio questo fantastico emulatore:
- ALT+ENTER: passa dalla modalità windowed a quella full-screen e viceversa
- CTRL+F5: cattura uno snapshot in formato PNG (quanto catturato viene memorizzato in una cartella raggiungibile dalla cartella del DosBox nel menu di avvio)
- CTRL+ALT+F5: alla prima pressione inizia ad acquisire il video, alla seconda si interrompe. Il file memorizzato necessita di un codec apposot per essere visualizzato (presente anch'esso nella solita cartelle nel menu di avvio). Il formato è supportato da YouTube e quindi potrete divertirvi a "filmare" le vostre sessioni di gioco per poi condividerle in rete (io stesso utilizzo questa funzionalità per acquisire il video che poi inserisco nelle retro review).
- CTRL+F6: alla prima pressione inizia ad acquisire l'audio digitale, alla seconda si interrompe.
- CTRL+ALT+F7: come sopra ma per acquisire l'audio sintetizzato (OPL)
- CTRL+ALT+F8: come sopra ma per acquisire l'audio MIDI
- CTRL+F7 / CTRL+F8: Decrementa/incrementa il frameskip
- CTRL+F11 / CTRL+F12: Decrementa/incrementa il numero di istruzioni per millisecondo, permettendo di regolare al volo le prestazioni del sistema emulato
Conclusioni
Bene, siamo giunti alla fine di questo specialone che spero possa servirvi da viatico per iniziare a godere delle gioie e dei piaceri del DosBox. Lo so, i puristi potrebbero storcere un po' il naso perchè giudicano "indegno" utilizzare una macchina emulata rispetto ad una reale ma il DosBox permette a tutti di iniziare ad apprezzare questo mondo per molti sconosciuto e misterioso. Inoltre facendo un giro su eBay vedrete che è molto più facile acquistare un Commodore 64 rispetto ad un vecchio 386.
Per dovere di cronaca vi informo che esistono diversi front-end che semplificano l'uso del DosBox ma, vi invito ad utilizzarlo nella sua modalità "nativa", per gustare almeno in parte i bei tempi passati.
Buon retrogaming ...
PS
Tutto ciò che vi ho raccontato fa riferimento all'ultima versione disponibile del DosBox, ossia la 0.74.
Buonasera,vorrei un'informazione,ho un vecchio gioco dos,ho provato ad avviarlo con dosbox,ma quando avvio il file exe mi esce il seguente errore : shutting down allegro exiting due to signal sigsegv page fault ecc....c'è una soluzione?'
RispondiElimina