czwartek, 28 lutego 2013

EX4 - DosBox podstawy, partie quatre

Rany, tutorial codziennie, ale się rozkręciłem. Ale i tak witam was, dzielnych Skywalkerów świata DOSowego. Jako że już jesteście oraczami DosBox'a, znacie go lepiej niż twórcy i śmiało możecie pisać doktorat na temat programu, tak też to już będzie ostatnia część poradnika poświęconego tej aplikacji. A dziś na spokojnie omówimy wszelkie inne dobrodziejstwa w pliku konfiguracyjnym, tworzenie spreparowanych skrótów, które niezwykle ułatwią życie, jak i pogadam chwilkę na temat emulacji karty dźwiękowej Gravis Ultrasound w DosBox'ie.

Na pierwszy ogień weźmy plik konfiguracyjny, bowiem jest tam całe mnóstwo ciekawostek. Jak pamiętasz z poprzedniej części - znajdują się tutaj różne sekcje i różnorakie opcje do zmiany. Sporo rzeczy można ustawić już tutaj, bez konieczności wklepywania ich przy każdym uruchomieniu programu. Jako że wierzę, że twoja wiedza o języku angielskim jest w miarę wystarczająca do zrozumienia dokumentacji, tak też śmiało sam spróbuj zedytować różnorakie opcje, w komentarzach danej sekcji wszystko pięknie masz wyjaśnione, zazwyczaj z wypisanym wartościami, które odpowiadają danej opcji. Przykład? Ot chociażby sekcja [cpu]:

cycles=auto
cycleup=10
cycledown=20
Opcja cycle pozwala na sztywne ustawienie ilości cykli procesora - o ile domyślna wartość auto odpowiednio zgaduje jak wymagająca jest dana gierka, tak, jeżeli używasz DosBox'a tylko do wymagających gier, możesz ustawić ją na wartość max, lub wpisać swoją własną liczbę, używając wartości fixed wartość, np. fixed 5000. Dwie pozostałe linijki odpowiadają za zwiększanie i zmniejszanie ilości cykli z palca, w tym przypadku każde zwiększenie wartości doda 10% do ilości cyklów, zaś zmniejszenie odejmie 20% (dlatego też wpisane są cyfry 10 i 20). 

Śmiało kombinujcie z innymi opcjami. Równie dobrze można np. wymusić pełny ekran przy uruchomieniu (fullscreen=false lub true, sekcja [sdl]) lub ustawić ilość pomijanych klatek przy wyświetlaniu grafiki, gdy nasza machina dostaje zadyszki podczas grania w dany tytuł (frameskip=wartość [od 0 do, najlepiej, maksymalnie 4-5], sekcja [render]).

Wszystko to piękne i cudne, ale zapewne teraz złapie was pewne zwątpienie - ok, można się bawić plikiem konfiguracyjnym, ale każda gra wymaga różnych ustawień - jedna potrzebuje więcej cykli, druga mniej, w inną chcemy od razu grać na pełnym ekranie, a w jeszcze inną w oknie, bo obok wyrywamy laski na GG. A takie ciągłe otwieranie tego samego pliku i edytowanie wartości co raz może być nieźle męczące. Dlatego teraz porozmawiamy o tworzeniu spersonalizowanych skrótów, nawet i osobnych dla każdej gry. Wiązać się to będzie właśnie z wyżej wspomnianym plikiem konfiguracyjnym, dlatego wprowadzenie było takie, a nie inne.

Pierwsze co powinno się wiedzieć - na końcu pliku configa znajduje się sekcja [autoexec]. To właśnie tam można wklepać komendy, które będą automatycznie wykonane przy każdym uruchomieniu programu. Powiedzmy, że przy każdym uruchomieniu DosBox'a chcę, aby automatycznie został zamontowany dysk C: jako katalog C:\DOS i nastąpiło przejście na zamontowany dysk. Nic prostszego, wystarczy do sekcji [autoexec] dopisać

[autoexec]
mount c c:\dos
c:
Zapisujesz i to wszystko! Od teraz DosBox przy uruchomieniu posłusznie wykona kolejne polecenia (po jednym w linijce), które zostały tutaj wpisane:


Istna magia. Oczywiście w tej sekcji możesz wypisać najróżniejsze komendy, które chcesz, by zostały uruchomione przy odpaleniu. Nic zatem nie stoi na przeszkodzie by np. napisać tutaj

[autoexec]
mount c c:\dos
c:

dir
mem
ems=off
A wszystko to zostanie spokojnie wykonane. Ba, możesz nawet od razu uruchamiać tutaj gry:
 
[autoexec]
mount c c:\dos
c:
ems=off
cd ultima7
ultima7

Program w tym wypadku na początku zamontuje katalog C:\DOS jako dysk C:, przejdzie na owy dysk, wyłączy pamięć EMS, przejdzie do katalogu ultima7 i uruchomi grę. I tu właśnie dochodzimy do owych skrótów - możesz tak naprawdę mieć kilka(naście) plików konfiguracyjnych, a przy uruchomieniu DosBox'a wskazać ten, którego chcesz użyć. Innymi słowy - możesz mieć konfigurację, powiedzmy, nadrzędną oraz kilka mniejszych, spersonalizowanych do każdej gry. Już jedziemy z opisem co i jak.

Powiedzmy, że plik konfiguracyjny masz gotowy, wpisałeś poprawny autoexec, pobawiłeś się innymi opcjami, całość jest przygotowana na uruchomienie giery. Plik należy zapisać jako nazwa.conf. W tym przykładzie nadal będę się posiłkował ustawieniami z Ultimy VII - configa warto zapisać w łatwej do zapamiętania lokacji i z podobną, łatwą nazwą (o tym za chwilę), należy też pamiętać by zapisać go z poprawnym rozszerzeniem. Dla nieco mniej kumatych - w notatnikowym oknie „Zapisz jako...” wybierz z listy „Zapisz jako typ” opcję  „Wszystkie pliki”. Na moim przykładzie z siódmą Ultimą:


Mamy przepiękny i unikatowy config zapisany, hurra. Tylko co teraz? Stwórz na pulpicie skrót do DosBox'a. Ja na ten przykład nazwałem go bardzo chytrą nazwą „Ultima VII”, ot tak dla niepoznaki.  Teraz musimy dopisać jeden parametr do linii komend. Brzmi strasznie, ale już śpieszę z wyjaśnieniami: kliknij prawym na stworzonym skrócie i wybierz „Właściwości”. Słynna linia komend to „Element docelowy” - to właśnie tam należy dodać nasz własny config. Jak? Dopisać do elementu docelowego kawałek

"%ścieżka do DosBox'a%\DOSBox.exe" -conf "%ścieżka do osobnego pliku config%\nazwa.conf"
Groźne? Niekoniecznie - w moim przypadku, gdy zapisałem plik konfiguracyjny w katalogu C:\DOS, pod nazwą „ultima7.conf”, linia komend wygląda następująco:

"C:\Program Files\DOSBox-0.74\DOSBox.exe" -conf "C:\DOS\ultima7.conf"
Nie modyfikuj początku, po prostu do istniejącej nazwy dopisz człon, zaczynający się od -conf:


Kliknij zastosuj - i tyle, skrót już jest gotowy do gry. Nie musisz już montować dysku czy przechodzić na dysk C: za każdym odpaleniem programu, gdyż DosBox sam za ciebie zrobi wszystko i od razu odpali gierę. Oczywiście w sekcji [autoexec] możesz także od razu montować zarówno twarde dyski, jak i płyty czy obrazy płyt jako napędy CD - wszystko to, co można zadziałać normalnie w programie można też i wykonać od razu, przy uruchomieniu.

Skróty ogarnięte, możesz czuć się już jak DosBox'owy Einstein. Ostatni punkt poradnika raczej traktuję jako ciekawostkę, zwłaszcza dla melomanów czy innych muzykofilów wszelakiej maści - zajmiemy się emulacją karty Gravis Ultrasound - urządzonka z 1993 roku, które oferowało (jak na tamte czasy) nieziemską jakość dźwięku i po prostu zjadało wszelkie Sound Blaster'y na śniadanie. Lata dziewięćdziesiąte jednak już minęły i do piachy poszły wszelkie DOSy, smutni generałowie, inne wrony i gawrony - oraz wspomniany GUS, głównie poprzez spore problemy z kompatybilnością - mimo to warto skorzystać z emulacji GUSa w DosBox'ie, zwłaszcza że domyślny Sound Blaster, emulowany przez program, zapewnia, delikatnie powiedzmy, dyskusyjną jakość odtwarzanego dźwięku i sekwencji MIDI. Co niektórych może naprawdę wpienić fakt, jak SB szlachtuje MIDowe melodie - zwłaszcza tych, którzy pamiętają kompozycje z dzieciństwa. Różnica pomiędzy GUSem a SB, zwłaszcza w odtwarzaniu plików MIDI, jest ogromna. Więc jeżeli jesteś zainteresowany - cieszę się niezmiernie, jedziemy!

Pierwsze, czego potrzebujemy to zestaw fabrycznych sterowników GUSa. O ile DosBox jak najbardziej wspiera emulację karty, tak owych driverów domyślnie do zestawu się nie dodaje, ze względów moralno-licencyjnych. W innym przypadku trzeba by było zdobyć program instalacyjny i z poziomu DosBox'a zainstalować drivery oraz stworzyć odpowiednie pliki autoexec.bat - jednak znajcie me dobre serce, po cichu podzielę się już zainstalowanymi, gotowymi do użycia sterownikami. Nie jest to może do końca legalne - ale też produkcja GUSa już dawno się zakończyła, zdobycie takowego dzisiaj (zwłaszcza w Polsce) graniczy z cudem, a szkodliwość społeczna jest niezwykle mała - zatem proszę, łapcie.

Jak zauważycie, w archiwum rar znajdują się dwa katalogi - ULTRASND oraz ULTRASNDPPL161 - ten pierwszy to sterownik fabryczny, drugi to wersja Pro Patches Lite 1.61. Użyj dowolnego, ja akurat personalnie (jak i w tym poradniku) korzystam z wersji fabrycznej.

Teraz będą największe jajca, więc skup się - aby było jak najprościej i bez problemów, wybrany katalog musisz wrzucić do lokacji, jaką domyślnie montujesz jako dysk C:. Dlaczego tak - zaraz się dowiesz. Powiedzmy, że słuchasz się tych poradników, wszystkie gry masz w katalogu C:\DOS i montujesz ten w programie jako dysk C: - dlatego też wrzuć do katalogu DOS wybrane sterowniki. Na moim przykładzie - wszystko sobie siedzi w folderze C:\DOS\ULTRASND.

Drugi krok za nami, niczym napalony chłop - powoli gdzieś dochodzimy. Teraz z powrotem wracamy do głównego pliku konfiguracyjnego. Na sam początek przechodzimy do sekcji [gus] i włączamy emulację Gravisa.

gus=true
Następnie modyfikujemy ścieżkę dostępu do sterowników. I tutaj uwaga - ścieżka ta musi być widoczna dla gier w DosBox'ie, dlatego ta lokacja musi być widoczna jako zamontowana w programie. Troszkę namieszałem, więc na przykładzie - wrzucam katalog ULTRASND do folderu C:\DOS. W programie montuję katalog C:\DOS jako dysk C:. Wtedy w DosBox'ie katalog ULTRASND jest widoczny w lokacji C:\ULTRASND - i właśnie taką należy podać w pliku konfiguracyjnym:

ultradir=C:\ULTRASND
Należy o tym pamiętać i uważać, gdyż ten krok jest przyczyną 99% problemów, związanych z niedziałającą emulacją. Katalog ze sterownikami musi być widoczny w DosBox'ie z poziomu zamontowanego dysku, z taką samą lokacją wpisaną w pliku konfiguracyjnym - nie zapomnijcie. 

I jeszcze jedno - jeżeli korzystacie z kilku różnych configów do skrótów, to naturalnie w każdym z nich osobno musicie ustawić te dwie wartości (o ile planujecie używać GUSa, oczywiście - jest to niewymagane, gdy wybraliście Sound Blastera).

Jeżeli wszystko poszło fantastycznie i niesamowicie to nie pozostaje nic innego jak odpalenie programu konfigurującego kartę dźwiękową i ustawienie tej na kartę Gravis Ultrasound (czasami z końcówką 512k). Config tejże karty jest następujący:
  • Adres - 240/240h
  • IRQ/Interrupt Request Level - 5
  • DMA/Direct Memory Access Channel - 3

Ale uwaga, wytężcie swe zmysły - GUS nie był kompatybilny z każdą gierką, ze względu właśnie na konflikty sprzętowe. O ile większe produkcje wspierały kartę, tak mniejsze gierki za bardzo nie zawracały sobie nim głowy. Jeżeli w programie, przy wyborze karty, nie widnieje żaden Gravis Ultrasound to pozostają dwie opcje - poszperanie w necie czy przypadkiem do danej gierki nie wyszedł patch dodający obsługę GUSa (jak było w przypadku np. BioForge) lub przeskanowanie katalogu z gierą, czy nie ma tam osobnego pliku wykonywalnego, stworzonego pod GUSa (zazwyczaj ma nazwę gry + człon GUS w nazwie). Gwarancją, że dana gra obsługuje kartę jest obecność pliku LOADPATS.EXE w folderze z grą - to ten właśnie ładuje sterowniki z podanej przez nas lokacji przy starcie giery. Jeżeli zaś nie ma LOADPATSa, żadnych patchów ani wyboru GUSa w konfiguratorze - przykro mi, pozostaje ci Sound Blaster.

Na deserek po tak długim poradniku - różnica w jakości odtwarzanych MIDów pomiędzy GUSem a SB (nie musicie oglądać całości, wystarczy, że posłuchacie melodii otwierającej)

Sound Blaster:

 

Gravis Ultrasound:


Słychać różnicę, nieprawdaż?

Ja nie mogę, to nam się zebrał cudny textwall. Gratuluję każdemu, który dotrwał aż tutaj. Co prawda to już ostatnia część poradnika o DosBox'ie (chyba że pomęczycie mnie o opisanie jakiegoś konkretnego zagadnienia), jednak nie będzie to koniec serii tutoriali - w najbliższej przyszłości zostaną omówione sposoby emulacji starszych wersji Windowsa (3.1/95/98) oraz starego akceleratora firmy 3dfx, aby można było pogiercować w jak największą ilość opisywanych tutaj tytułów. A póki co - to do napisania!

Brak komentarzy:

Prześlij komentarz

Komentarze, sugestie, przemyślenia? Wal śmiało!