# DOSBox

DOSBox è un emulatore del sistema operativo MS-DOS, che consente l'utilizzo di applicazioni DOS su sistemi operativi moderni, anche non IBM PC compatibili, come ad esempio Macintosh.
La prima versione è datata 22 luglio 2002.

## Caratteristiche

DOSBox è un completo emulatore di CPU e non un semplice compatibility layer come DOSEMU, wine, le librerie VDM di Windows o OS/2: è quindi indipendente rispetto alla CPU che lo esegue. DOSBox non necessita infatti né di una CPU 286/386 né di una copia di MS-DOS e supporta programmi che lavorano in modalità reale o modalità protetta.
È dotato di una interfaccia a riga di comando e può essere configurato tramite opportune modifiche ad un file di testo o grazie ad un front end. All'apertura, DOSBox si presenta con un prompt a riga di comando molto simile a quella del DOS. Sono implementati solo alcuni dei comandi, ma sufficienti per lanciare un programma.
Supporta anche la possibilità di utilizzare files immagine di floppy disk di giochi originariamente concepiti per essere lanciati senza il supporto di un sistema operativo particolare.

### Configurazione

Le impostazioni di configurazione del programma sono contenute nel file dosbox-0.74.conf che si trova:
* in windows nella directory dell'utente, sita nel percorso:
* in linux nel file nascosto .dosbox-0.74.conf situato a sua volta nella directory nascosta .dosbox nella home directory dell'utente.
All'interno del file di configurazione, sotto il campo [autoexec], possono essere inseriti i comandi che dosbox eseguirà all'avvio, ad esempio impostazioni della tastiera, montaggio delle directories, ecc.

### Hardware emulato

Dal punto di vista tecnico, riesce ad emulare le seguenti componenti hardware:
* CPU: emulazione quasi completa di 80286, 80386, 80387.
* Grafica: modalità testuale; interfacce Hercules, CGA, EGA, VGA, VESA, Tandy. Inoltre è in grado di emulare la scheda grafica S3 Trio 64.
* Sonoro: emula le schede AdLib, Tandy, Sound Blaster, Creative CMS/GameBlaster, Disney Sound Source, Gravis Ultrasound, MPU-401 e PC speaker.
* Networking: emulazione di un modem e dei protocolli TCP/IP. Tuneling IPX. La versione Win32 consente un accesso diretto alle porte seriali del PC ospite.
* Accelerazione grafica 3dfx: solo alcune versioni modificate tramite wrappers per librerie GLide.

### Emulazione del sistema operativo

DOSBox fornisce un'emulazione di alto livello degli interrupt DOS e BIOS e contiene la propria shell interna di tipo DOS. Ciò significa che può essere utilizzato senza possedere una licenza per qualsiasi sistema operativo DOS reale. La maggior parte dei comandi che vengono in genere utilizzati nei file di installazione sono supportati, ma molti dei comandi più avanzati delle versioni DOS successive (ad esempio le shell post-Windows 98DOS) non lo sono. Oltre alla sua shell interna, supporta anche l'esecuzione di file di immagini di giochi e software originariamente destinati ad avviarsi senza alcun sistema operativo. L'emulazione DOS consente a DOSBox di montare cartelle del sistema operativo host come unità virtuali.
Può anche avviare le immagini del disco con ambienti DOS reali (es. MS-DOS, DOS PC, DR-DOS o FreeDOS) così come altri sistemi operativi, inclusi CP / M-86, Windows 3.1xe Windows 95. Poiché DOSBox è non ottimizzato per questa modalità operativa, l'avvio di qualsiasi SO reale all'interno di DOSBox comporta la perdita dell'uso di dischi rigidi virtuali basati su directory e alcuni altri miglioramenti non direttamente compatibili con il modo in cui i sistemi operativi reali accedono all'hardware. Per i tipi di hardware (come controller di unità disco e mouse per computer) a cui si accede quasi sempre da giochi basati su DOS tramite DOS e / o attraverso il BIOS e / o attraverso un driver software, piuttosto che attraverso l'accesso diretto ai registri hardware, DOSBox generalmente non fornisce emulazione a livello di hardware. Ciò significa che l'uso diretto di supporti fisici protetti da copia o di floppy disk in formati non standard non è generalmente possibile da DOSBox.

### Conversioni

DOSBox utilizza la libreria SDL ed è stato portato su molti sistemi operativi, tra cui AmigaOS, Microsoft Windows, Mac OS X v10.3 e successivi (ad esempio, Boxer), Linux, KolibriOS, eComStation, RISC OS, BeOS, FreeBSD, OpenBSD e altri. Un port per Microsoft Xbox (chiamata DosXbox) è stato pubblicato nel 2004. Usando l'HX DOS Extender, può anche essere eseguito in DOS. Il codice sorgente è stato anche biforcato per fornire compatibilità su un numero di piattaforme di computer non x86PC, incluso il Palm OS, PlayStation Portable, Android, iOS, Symbian, Maemo, BlackBerry PlayBook, Wii e GP2X, su varie architetture di calcolo tra cui PowerPC, SPARC, MIPS e ARM. DOSBox è incluso nei repository software di molte distribuzioni Linux come Fedora, Debian e Ubuntu. Esiste anche un port per Google Native Client chiamato NaClBox, un port per gli applet Java chiamato jDosbox e un port di jDosBox per GWT (usando l'elemento Canvas) chiamato jsDOSBox.

### Piattaforme supportate

DOSBox è software libero, ed è disponibile per le console portatili GP2X e PlayStation Portable nonché per diversi sistemi operativi:
* BeOS;
* BlackBerry OS;
* FreeBSD;
* OpenBSD;
* GNU/Linux;
* macOS;
* OS/2;
* Windows.
A partire dalla versione 1.3.12, gli sviluppatori del livello di compatibilità Wine hanno avviato il processo di integrazione di DOSBox in Wine per facilitare l'esecuzione di programmi DOS non supportati in modo nativo dalla macchina DOS Virtual Wine (winevdm).

## Utilizzo

DOSBox è stato incluso in diverse riedizioni di videogiochi per DOS distribuiti digitalmente su Steam oppure GOG.com. La id software lo ha incluso nelle versioni scaricabili da Steam di Wolfenstein 3D e Commander Keen; la casa texana è stata al centro di una piccola polemica dato che non ha rispettato (a causa di una apparente svista) i termini della licenza GNU GPL, aggiunta solo in un secondo momento.
Altre aziende che lo hanno utilizzato sono Activision Blizzard, per alcuni titoli della Sierra Entertainment, e 2K Games per la serie strategica X-COM. Anche diversi titoli commercializzati da GOG.com utilizzano DOSBox, mentre Bethesda Softworks lo raccomanda per i primi due capitoli della serie The Elder Scrolls, liberamente scaricabili dal loro sito ufficiale: Arena e Daggerfall.
Electronic Arts usa DOSBox per alcuni dei suoi giochi classici sul suo client Origin come Wing Commander III, Crusader: No Remorse e SimCity 2000.
dBase LLC utilizza DOSBox nel loro prodotto dbDOS dal 2012.
Dal 23 dicembre 2014, Internet Archive ospita una versione di DOSBox basata su browser (convertita in JavaScript usando Emscripten) con migliaia di giochi per PC giocabili. La raccolta è fornita solo per "borse di studio e scopi di ricerca".