DOSbox je emulátorem PC plaformy Intel x86 s operačním systémem DOS (MS DOS, DR-DOS apod.). Nejde tedy o „runtime“ emulátor PC jako např. dosemu nebo VMware, který vyžaduje následnou instalaci operačního systému, ale o komplexní emulátor, který má svoji verzi DOSu zahrnutou přímo v sobě. Jeho vývoj je zaměřen právě na ty vlastnosti, které potřebuje hráč počítačových her. Proto je v něm obsažená emulace DOSu vybavena fungujícími ovladači zvukové karty, grafické karty, myši, modemu, jednotky CD-ROM atd. Licencí DOSBoxu je GPL a lze jej používat nejen pod Linuxem, ale též pod Windows 2000/XP, Mac OS X (petit dosbox) a FreeBSD.
Některé vlastnosti DOSBoxu tradičního uživatele MS DOSu nepříjemně překvapí. Například spouštění programů ze souborového manageru (např. Mikromanager) v něm nefunguje. Programy jsou totiž spouštěny v jistém smyslu odděleně a navzájem se neovlivňují. Soubory autoexec.bat a config.sys nejsou přímo v emulátoru editovatelné. Jejich obsah je možné ovlivnit pouze v konfiguračním souboru DOSBoxu. Sada příkazů DOSu obsažená v DOSBoxu k tomu obsahuje jen nejnutnější základní příkazy. To podstatné z pohledu uživatele je ale v pořádku. Navzdory nízké verzi 0.63.1 se emulátor chová velice stabilně a spustíte v něm naprostou většinu „dosových“ her.
Editace souborů autoexec.bat a config.sys patřila u hráčů počítačových her k velice častým úkonům. Její nutnost byla nejvíce způsobena rozdělení paměti v MS DOSu na konvenční paměť (low memory area) do 640 kB, horní paměť nad 640 kB, přičemž dostatek konvenční paměti byl požadován většinou programů (her). Obvyklým řešením bylo přestěhování ovladačů nebo i samotného DOSu do oblasti horní paměti. Emulátor sice musí respektovat rozdělení paměti z důvodu kompatibility, ale emulovaná oblast konvenční paměti je u něj celá k dispozici spouštěným programům. Tohoto ideálu se s původním DOSem dalo dosáhnout jen velice obtížně.
Kdo dokázal dosáhnout 620 kB (někdy i trochu více) volné základní paměti za přítomnosti všech potřebných ovladačů, byl považován za machra. Zvláštností byl ještě prostor mezi 640 kB a 1 MB, kam se daly přesunout pouze některé ovladače. Vyladěný config.sys byl předpokladem pro úspěšný systém – záleželo na každém kilobajtu. Dnes je to k smíchu. Pozn. red.
Instalace a první testy
Instalace DOSBoxu byla na mojí Mandrivě 2006 snadná. Z internetové adresy http://www.math.leidenuniv.nl/~wpalenst/dosbox/ jsem stáhnul rpm balíček a nainstaloval ho pomocí příkazu
rpm -i dosbox-0.63-1_fc3.i386.rpm
Pro spuštění emulátoru stačilo napsat do konzoly dosbox a už se na mém desktopu otevřelo tradiční černé okno doplněné několika základními instrukcemi.
Pro základní vyzkoušení několika her je postačilo zkopírovat do adresáře /home/cevela/dosprog a tento adresář připojit jako jednotku C: pomocí příkazu:
mount c /home/cevela/dosprog
Po spuštění první hry, kterou byla sharewarová verze 3D střílečky Wolfstein 3D nastalo první příjemné překvapení. Nastavení emulace zvukové karty na úvodní obrazovce SET BLASTER A220 I7 D1 H5 T6 nelhalo a hra byla plně funkční včetně zvuku a podpory myši. Postupně jsem zkoušel funkčnost dalších her, např. Heretic, Terminal Velocity, Doom, Keen4e atd. Všechny běžely stabilně a u všech byla podpora myši a zvukové karty bez problému. U her, které mají větší nároky na výkon (Doom, Hexen), jsem ale narazil na problém. Na mém současném stroji s procesorem Pentium 4 2,4 GHz a grafickou kartou GeForce 4 se hry hýbaly stejně „svižně“ asi jako na staré „třiosmšestce“. Nezbylo než se podívat do dokumentace na konfigurační možnosti emulátoru. Svoje zkušenosti získané při pokusech o zrychlení líného emulátoru se pokusím shrnout v následující krátké instruktáži.
Základy konfigurace DOSBoxu pro hraní her
Nejprve je nutné vygenerovat konfigurační soubory. To je možné provést přímo v DOSBoxu pomocí příkazu:
config -writeconf "/cesta/k/dosbox.conf"
Editaci konfiguračního souboru začneme nastavením virtuální grafické karty. V sekci sdl jsem nastavil fullscreen=true, ale v tomto nastavení mi na moderním monitoru s vysokým rozlišením připadaly staré hry „příšerně kostičkované“ a tak doporučuji doplnit nastavení o fullfixed=true, což hru opět zmenší do odpovídajícího okna uprostřed černé obrazovky. Tento problém asi nemá u tohoto druhu her s nízkým rozlišením uspokojivé řešení. V sekci cpu se osvědčilo nastavení core=dynamic a cycles=15000. Dynamické nastavení virtuálního procesoru sice může vést k nestabilitě spouštěných her, ale nesporně zvýší výkon. Stejně tak předvolených 3000 cyklů je pro Doom málo a pro procesor 2,4 GHz se osvědčilo právě zmíněných 15000. Při něm Doom a hry postavené na jeho enginu běžel uspokojivě plynule a zároveň nedocházelo k výpadkům zvuku, které signalizují přetížení emulace zvukové karty, potažmo počítače.
Abyste nemuseli neustále ručně připojovat svůj adresář s „dosovskými“ aplikacemi pomocí příkazu mount v emulátoru, doporučuji editovat sekci autoexec následujícím způsobem:
[autoexec] # Lines in this section will be run at startup. echo Pripojuji adresar /home/váš_domovský_adresář/dosprog jako disk C: mount c /home/váš_domovský_adresář/dosprog c:
Při spuštění DOSBox hledá konfigurační soubor v aktuálním adresáři terminálového okna, ze kterého byl spuštěn nebo mu můžete pomoci přepínačem -conf /cesta/k/dosbox.conf. Po provedení těchto nastavení nabyl emulátor výkonu odpovídajícího počítači s procesorem řady 486. To možná z dnešního pohledu vypadá směšně, ale pro většinu her běžících pod „dosem“ je tento výkon dostatečný. Ovšem na špičkové hry z „dosové éry“, např. Quake, výkon emulátoru na počítači s procesorem P4 2,4 GHz nestačil.
Účetnictví
Druhým úkolem, kterého se měl DOSBox zhostit, bylo účetnictví. Testoval jsem funkčnost demoverze programu MRP od společnosti MRP-Informatics, s.r.o. Instalace jednotlivých částí programu proběhla podle návodu a zcela bez problémů.
Dle očekávání nastaly potíže s podporou české diakritiky. DOSBox sice podporuje externí jazykové soubory, ale ty řeší pouze překlad interních textů. Českou lokalizovanou verzi jsem našel na stránkách lightninggroup.org, ovšem výhradně pro Windows. Program MRP naštěstí může bez problémů fungovat s vypnutou diakritikou. Při dalším zkoušení jsem narazil na opravdu závažný problém. To, že v DOSBoxu chybí podpora USB portu, asi nikoho nepřekvapí. Tato technologie je mnohem mladší než DOS. Ovšem kvůli chybějící podpoře paralelního portu tisk v DOSBoxu nerozchodíte a bez možnosti komfortního tisku dokladů je emulátor pro práci s účetnictvím nepoužitelný.
Hry pro DOSBox
Současná verze DOSBoxu je tedy vhodná především pro provoz her určených pro operační systém MS DOS. Tyto staré hry bývají ke koupení na mnoha CD výběrech a také je dobré se porozhlédnout po internetu. Jako první stojí za návštěvu stránky s tzv. abadonware. Jde o programy, které byly původně pod komerční licencí a které jejich tvůrci z nějakého důvodu uvolnili jako freeware. Jeden z nejznámějších serverů je www.abandonia.com a jeho hlavní výhodou je velice přehledné roztřídění programů. Spustitelnost her pod DOSBoxem deklarují provozovatelé Abandonie ikonkou u každé hry. Přehledné je též zobrazení licencí jednotlivých her a právě z licenčních důvodů nejsou všechny hry uvedené na Abandonii k dispozici ke stažení.
Velice podobným projektem jako www.abadonia.com je český web 486games.net. Popisy programů jsou na rozdíl od anglofonní Abandonie v češtině, uživatelské rozhraní je přívětivé a ani na podporu DOSBoxu u jednotlivých her provozovatelé webu nezapomněli. Je ale zarážející, že jsem na serveru narazil na programy, které bych mezi abadonware určitě nezařadil – např. MS DOS 6.22. Proto si dejte pozor na skutečné licence programů. Budete-li chvilku „googlovat“, jistě najdete další zdroje her. Vzhledem k množství a kvalitě starších herních titulů pro platformu DOS jsem toho názoru, že se instalace emulátoru vyplatí i příležitostným hráčům.
Užitečné ovládací příkazy: [Alt + Enter] – fullscreen on/off [Ctrl + F1] – aktivuje mapovač klávesnice [Ctrl + F5] – screenshot obrazovky [Ctrl + F7] – zpomalení běhu programu (přeskočení snímků) [Ctrl + F8] – zrychlení běhu programu (přeskočení snímků) [Ctrl + F11] – zpomalení hry (snížení taktu virtuálního procesoru) [Ctrl + F12] – zrychlení hry (zvýšení taktu virtuálního procesoru)