Powrót do przeszłości – DOSBox

ikona

Chcąc odpalić tytuły z MS-DOS na Windowsie napotkamy sporo problemów związanych z całą masą zmian, która zaszła w systemie Microsoftu w ciągu tych wszystkich lat. Nawet jeśli dana gra już się uruchomi, to będzie chodziła za szybko albo nie będzie można sterować ze względu na klawiaturę i myszkę USB. Na szczęście jednak istnieją emulatory rozwiązujące te problemy. Jednym z nich jest DOSBox.

Program emuluję nie tylko system MS-DOS, ale także cały komputer z tamtych czasów. Dzięki temu powstały wersję tego programu na inne platformy niż PC. My skupimy się jednak na wersji na blaszaki, a konkretniej pod system Windows. Wersję na inne systemy jak Linuks albo MacOSX obsługuje się w taki sam sposób, a jedyna różnica polega na katalogu, w którym znajduje się plik konfiguracyjny emulatora.

Zmiana ustawień polega na ręcznym edytowaniu pliku dosbox.conf znajdującym się w katalogu, w którym zainstalowany został program. Plik należy edytować Notatnikiem lub innym podobnym programem (Word nie nadaję się do tego). Domyślna konfiguracja będzie odpowiednia dla większości osób, ale w tekście zostaną omówione sytuacje, gdy warto coś w niej zmienić.

ZACZYNAMY

Najpierw należy przygotować folder, w którym będą przechowywane nasze gry. Nie kombinujmy z jakimiś długimi ścieżkami, bo adres folderu będzie trzeba ręcznie wpisać do programu (przynajmniej na początku). Najlepiej od razu na dysku C utwórzmy folder DOS i skopiujmy do niego swoje gry. Nadawanie długich nazw folderom też nie ma sensu, bo system MS-DOS obsługiwał nazwy do 8 znaków (potem zostają skrócone do znaku „~”).

Jeśli używasz systemu Windows Vista lub 7, to upewnij się, że masz prawa do zapisu w tym folderze jako zwykły użytkownik. W przeciwnym razie nie będzie możliwe zapisywanie stanu gry.

Teraz możemy zainstalować program DOSBox. Wersję instalacyjną bardzo łatwo znaleźć w Google, a sama instalacja wygląda tak jak każdego innego programu (kilka razy wciskasz NEXT). Po uruchomieniu przywita cię takie okno:

PODSTAWY OBSŁUGI

Niektórzy mogą się przerazić, ale spokojnie. Wbrew pozorom całość jest dość prosta. Do poruszania się w systemie MS-DOS używano specjalnych komend, które z klawiatury wpisywało się do terminala podobnego do tego z DOSBox’a. Oczywiście nie musimy uczyć się wszystkich poleceń tego systemu – nam wystarczy tylko kilka podstawowych:

  • dir – wyświetla zawartość katalogu, w którym się obecnie znajdujemy;
  • cd <nazwa folderu> – pozwala przejść do folderu o podanej przez nas nazwie;
  • cd.. – cofa nas do nadrzędnego folderu;
  • mount – pozwala zamontować dany folder jako dysk (dokładnie opiszę to, w dalszej części tekstu).

Sam zobaczysz, że po kilku wpisaniach automatycznie zapamiętasz te komendy.

DOSBox posiada również kilka przydatnych skrótów klawiszowych:

  • ALT+ENTER – tryb pełnoekranowy;
  • CTRL+F4 – aktualizuję listę plików w folderze podmontowanym pod DOSBox (dzięki temu nie musimy uruchamiać za każdym razem ponownie emulatora, gdy coś zmienimy);
  • CTRL+ALT+F5 – start/stop nagrywania gameplay’a;
  • CTRL+F5 – wykonanie screenshota;
  • CTRL+F6 – nagrywanie samego dźwięku;
  • CTRL+F9 – przymusowe zamknięcie programu (przydatne, gdy jakaś gra nam się zawiesi);
  • CTRL+F10 – przywrócenie myszy (przydatne gdy na chwile chcecie zminimalizować grę/program korzystający z myszki);
  • CTRL+F11 – zwolnienie emulacji;
  • CTRL+F12 – przyspieszenie emulacji.

Wystarczy, że kilka razy ich użyjecie i same wejdą wam w pamięć.

PIERWSZA GRA

Czas uruchomić w końcu jakąś grę. Na początek musimy zamontować nasz katalog z grami jako dysk C. Robimy to tak:

mount <litera pod którą będzie emulowany dysk> <ścieżka do folderu z grami>

Po zamontowaniu aby przejść na dysk wpisujemy po prostu c:

Całość wyglądała tak:

Po przejściu na nasz wyemulowany dysk C warto zapoznać się z jego zawartością, a więc wpisujemy dir. U mnie lista plików wygląda następująco:

Mam tu kilka gier. Widzicie tu także skracanie długich nazw plików do znaku „~”, o którym mówiłem.

Zdecydowałem się na uruchomienie gry Star Wars: Dark Forces. Aby przejść do folderu z nią wpisuję:

cd DARKFO~1

Przy okazji – nie musicie wpisywać całych nazw plików i folderów. Wystarczy, że wpiszecie sam początek i naciśniecie klawisz TAB, a program sam uzupełnij resztę nazwy. MS-DOS nie rozróżniał liter dużych od małych, więc wszystko jedno jakimi będziecie się posługiwać w programie.

Podczas sprawdzania listy plików w folderze z grą, możecie napotkać na mały problem w postaci długiej listy, która nie mieści się na ekranie. Aby sobie z tym poradzić wpisujecie dir /p. Wówczas lista plików będzie podawana w częściach.

Poszukujemy pliku w formacie *.EXE, aby uruchomić grę. Niestety nie ma lekko i w folderze z grą, może być kilka takich plików, więc który wybrać? Poszukiwany plik będzie prawdopodobnie miał w nazwie pierwsze słowo tytułu, albo jakiś jego skrót. Niestety, ale do każdej gry trzeba podejść trochę intuicyjnie. Kiedy już znajdziemy kandydata, po prostu wpisujemy jego nazwę z rozszerzeniem (albo używamy klawisza TAB) i naciskamy klawisz ENTER. W moim przypadku ten plik to DARK.EXE

Na tym właściwie można by było zakończyć ten artykuł, ale chciałbym jeszcze przedstawić kilka aspektów związanych z odpalaniem starych gier.

GDY NIE MA DŹWIĘKU

Taka sytuacja ma miejsce, gdy w ustawianiach danej gry źle zostały podane parametry emulowanej karty dźwiękowej. Otóż dzisiejsze systemy operacyjne mają swoje mechanizmy, które same wykryją te dane, ale MS-DOS nie posiadał czegoś takiego i użytkownik chcący w coś zagrać musiał znać te parametry, bo inaczej nie było szans na usłyszenie dźwięku.

Większość gier abandonware, jakie można znaleźć w internecie jest już skonfigurowana pod emulator, więc nie potrzeba nic zmieniać, ale czasami może trafić się jakiś tytuł bez ustawień dźwięku.

W domyślnej konfiguracji DOSBox emuluję kartę Sound Blaster 16 o następujących parametrach:

  • Adres 220,
  • IRQ 7,
  • DMA 1,
  • HDMA 5,
  • Częstotliwość próbkowania 44100Hz.

Większość gier posiadała specjalny program, w którym podawało się te dane. Przeważnie nazywał się SETUP.EXE albo CONFIG.EXE. Część z nich potrafiła sama rozpoznać te parametry, ale my zajmiemy się najgorszym możliwym przypadkiem, czyli musimy ręcznie podać te dane. Niestety taki konfigurator w każdej grze wyglądał trochę inaczej, więc tutaj również trzeba kierować się intuicją (i znajomością języka angielskiego). Nam za przykład posłuży gra Blood. Po uruchomieniu konfiguratora z listy wybieramy „Sound Setup”. Jak widać obecnie nie mamy nic ustawione:

Lecimy po kolei. Po wybraniu Choose Sound FX Card ustawiamy Sound Blaster. Teraz otworzy nam się nowe okno, w którym ustawiamy podane wcześniej parametry. W Interrupt wybieramy nasz IRQ, 8-bit DMA Channel to po prostu DMA, a 16-bit DMA Channel to HDMA. Powinno to wyglądać tak:

Use These Setting and Continue aby zatwierdzić te ustawienia. Zostaniemy dalej zapytani o takie parametry jak częstotliwość próbkowania, czy dźwięk ma być stereo, itp. Tutaj nie musimy się krępować i ustawiamy wszystko na maksymalne wartości.

Teraz wciskamy Choose Music Card i wybieramy znowu Sound Blaster.

Na koniec przetestujmy nasze ustawienia. Jeżeli wszystko poszło dobrze to z głośników powinien popłynąć dźwięk. Pozostaje tylko zapisać zmiany i cieszyć się grą.

UŁATWIAMY SOBIE PRACĘ

Trudno się nie zgodzić, iż ciągłe wpisywanie poleceń do konsoli jest na dłuższą metę niewygodne. Aby ułatwić pracę pod systemem MS-DOS tworzono różne nakładki, które w pewien sposób zastępowały konsolę, „klikanym” interfejsem.

Jednym z takich programów jest obecnie darmowy DOS Navigator, który bardzo łatwo znajdziecie w zbiorach wujka Google. Program wrzucamy do folderu z naszymi grami (uruchamiamy go przez DN.COM).

Interfejs programu przypomina ten znany z Total Commander albo innych podobnych menadżerów. Teraz, aby otworzyć program/folder należy wykonać na nim dwuklik. Pod kwadracikiem w lewym górnym rogu kryją się dodatkowe opcje, które warto chociaż przejrzeć.

Jeden problem już rozwiązaliśmy, ale pomimo posiadania DN nadal musimy wpisywać przy starcie emulatora polecenia, aby zamontować dysk i i uruchomić naszą nakładkę. Z tym również możemy sobie dość łatwo poradzić. Otóż w systemie MS-DOS istniał plik tekstowy AUTOEXEC.BAT, w którym była lista poleceń mających się wykonać przy starcie systemu.

DOSBox posiada swój odpowiednik tego pliku w formie odpowiedniej sekcji w konfiguracji. Otwórz plik dosbox.conf i zjedź na sam jego dół. Powinna tam być wspomniana sekcja autoexec. Na samym końcu wpisujemy polecenia jakie mają się wykonać przy starcie emulatora, a więc zamontowanie dysku, a następnie uruchomienie DOS Navigatora. U mnie wygląda to tak:

Od teraz przy po starcie emulatora możecie od razu przejść do uruchamiania gry.

DOSBOX I FRAPS 

Wbudowana w program funkcja nagrywania filmów może niektórym nie odpowiadać ze względu na trochę egzotyczny kodek (ZMBV) albo brak pewnych, dodatkowych opcji związanych z nagrywaniem. Można wtedy użyć programu Fraps, ale po uruchomieniu emulatora czeka was mała niespodzianka. Otóż Fraps nie wykrywa DB. Jest to spowodowane tym, iż w domyślnej konfiguracji do generowania grafiki program używa SDL, które z kolei nie jest obsługiwane przez Fraps. Na nasze szczęście DB potrafi także generować grafikę za pomocą OpenGL, wystarczy tylko zmienić opcję output z surface na opengl.

Teraz nie powinno być żadnych problemów z nagrywaniem filmów przy pomocy Fraps albo innego podobnego programu.

MULTIPLAYER 

W czasach MS-DOS zaczęło wychodzić coraz więcej gier umożliwiających zabawę ze znajomymi poprzez sieć. Niestety ze względu na cenę sprzętu i ówczesny fatalny stan internetu w Polsce niewielu szczęśliwców miało okazję zagrać w sieciowego multiplayera. Na szczęście DOSBox emuluję również zaplecze sieciowe, dzięki czemu dzisiaj możemy nadrobić zaległości.

DOSowe tytuły umożliwiały rozgrywkę multiplayer na trzy sposoby:

  • przez modem,
  • przez połączenie dwóch komputerów kablem szeregowym,
  • przez sieć LAN bazującą na protokole IPX (dzisiejsze sieci korzystają z TCP/IP).

My zajmiemy się tym ostatnim wariantem.

Po pierwsze, potrzebujemy działającej sieci lokalnej, w której komputery mogą łączyć się ze sobą (jeśli masz problemy z konfiguracją, to odsyłam do Google). Gdy już to osiągniemy, możemy zabrać się za konfigurację sieci w DB. Na wszystkich komputerach, które mają działać w sieci należy w ustawieniach DB włączyć emulację IPX poprzez zmianę parametru ipx z false na true.

Na komputerze, który będzie pełnił rolę serwera, wpisujemy ipxnet startserver. Jeśli wszystko poszło OK, to powinniśmy dostać taki komunikat:

Na pozostałych komputerach wpisujemy ipxnet connect <adres IP serwera>. W moim przypadku tak to wygląda:

Kiedy już zestawiliśmy sieć, musimy uruchomić jakąś grę. Ja wykorzystałem pierwszą część WarCraft. Po uruchomieniu zaczynamy nową grę i wybieramy Network Game. W następnym oknie podajemy numer węzła (Node). Musi on być taki sam dla klienta i serwera, aby doszło do zestawienia połączenia.

Kiedy już do tego dojdzie, kontrolę przejmuję serwer, w którym gracz ustawia parametry rozgrywki. Po ich wybraniu, klient na chwilę przejmuję połączenie, w celu ich zatwierdzenia (lub odrzucenia).

Teraz pora na to co tygryski lubią najbardziej, czyli gra. Na pamiątkę wykonałem screenshoty z gry sieciowej:

KILKA SŁÓW O ZABEZPIECZENIACH 

Z piractwem walczono odkąd tylko pojawiło się komercyjne oprogramowanie. Producenci gier dla systemu MS-DOS wymyślili proste zabezpieczenie polegające na wpisaniu odpowiedniego słowa przy starcie programu. Co to było za słowo? Było to przeważnie coś związanego z instrukcją obsługi dołączaną do legalnego egzemplarza, np. ostatnie słowo z którejś strony albo numer strony z jakimś obrazkiem. Poniżej macie screen z polskiej gry Polanie, która stosowała ten rodzaj zabezpieczenia.

Było to bardzo prymitywne zabezpieczenie, ale system MS-DOS nie pozwalał na użycie czegoś bardziej zaawansowanego. Jak każde zabezpieczenie i to było strasznie upierdliwe dla uczciwego gracza, który musiał mieć zawsze pod ręką instrukcję obsługi, a piraci mieli na to lekarstwo, które umożliwiało pominięcie wpisywania słowa-klucza. Dzisiaj większość starych gier abandonware po ściągnięciu już ma to lekarstwo w zestawie, ale nadal może trafić się nieruszona gra. W takim przypadku do archiwum z grą powinien być dołączony plik tekstowy z listą możliwych słów-kluczy (wiecie co z nim zrobić).

PODSUMOWANIE 

W końcu dobrnęliśmy do końca tego wpisu. Omówiłem tutaj chyba najważniejsze aspekty i sztuczki związane z programem DOSBox. Jeśli coś dla ciebie jest niejasne albo interesuję cię jakaś sytuacja nieomówiona w tekście, to daj znać w komentarzu. Być może twój problem będzie na tyle duży, że powstanie z tego kolejny artykuł.



Zobacz również:

  1. Max Payne 3 – powrót króla?
  2. Zagrajmy w…
  3. Battlefield 3 – hit czy kit?
  4. League of Legends: Dominion – jest dobrze, ale nie dla mnie
  5. DOOM po latach

PRZEKAŻ DALEJ

  • Facebook
  • Twitter
  • Myspace
  • Google Buzz
  • Reddit
  • Delicious
  • Digg
  • Technorati
Autor: BigBen Wyświetl wszystkie teksty autorstwa
Zatwardziały pecetowiec (no dobra… miał kiedyś Pegasusa…), którego pasja do komputerów zaczęła się od gier. Pomimo, iż dzisiaj nie ma tyle wolnego czasu to kiedyś, to lubi czasem zagrać i podpatrywać nowe rozwiązanie techniczne stosowane w grach.

2 komentarzy do "Powrót do przeszłości – DOSBox"

  1. Pozycjonowanie 30 listopada 2011 o 18:18 - Odpowiedz

    Blog coś mi się długo ładował. Jakieś kłopoty z serwerem ? Zapewne jest to tymczasowe oraz na darmo wpadam w panikę.

    • Goods 1 grudnia 2011 o 22:13 - Odpowiedz

      To były tylko prawdopodobnie chwilowe problemy. :)

Zostaw odpowiedź

Przeczytaj poprzedni wpis:
heavyrain [800x600]
Smutne gry

Czy żeby gra była dobra, musi być smutna? Przeglądając następne strony pewnego pisma o grach, jestem w stanie stwierdzić, że...

Zamknij