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ł.
























Blog coś mi się długo ładował. Jakieś kłopoty z serwerem ? Zapewne jest to tymczasowe oraz na darmo wpadam w panikę.
To były tylko prawdopodobnie chwilowe problemy.