Ano niestety, nieco was oszukałem - czwarty tutorial DosBox'owy miał być ostatnim, jednak patrząc na statystyki bloga naprawdę nie mogłem się powstrzymać. Nawet nie wiecie ile zbłąkanych duszyczek trafiało tutaj poprzez świętego Gugla, z zapytaniami typu "jak zmienić jakość grafiki w dosboxie" czy "dosbox plik konfiguracyjny".
Dlatego właśnie teraz ucinamy zbędne pierdolenie i bierzemy się od razu do roboty - podobnie jak wcześniejsze poradniki, wszystko tu będzie podane na tacy, z opisem i możliwymi wartościami do wyboru. Jak zawsze - będzie wybitnie beginner friendly. Więc jeżeli nieco lepiej niż dobrze znasz DosBox'a, jak i wszelkie jego opcje do pomieszania, to tylko się będziesz nudził podczas lektury tego wpisu, idź haratnij w gałę czy co. :) A całą resztę szanownej parafii - jak najbardziej zapraszam!
Po pierwsze - nie szkodzić. A po drugie - przypominam, że do pliku konfiguracyjnego dobierzesz się poprzez opcję "DosBox [wersja] Options" z menu Start (domyślnie to DosBox 0.74 Options). Możesz także bardziej przyszpanić laskom w parku, i odpalić to samo poprzez plik wsadowy DOSBox 0.74 Options.bat, który znajduje się w głównym katalogu programu.
Odpalone? No to walimy kielona lub solidny łyk piwa (co tam masz pod ręką) i bierzemy się za zmiany. Przede wszystkim - nas interesują sekcje oraz opcje do zmian, reszta (poprzedzona znakiem hasha, tj. #) to komentarze twórców, które nieco objaśniają co dana opcja robi i jakie wartości może przyjmować. I jedna uwaga - nie zmieniaj nic w nazwach opcji, czyli w tym, co jest po lewej znaku równości - zmiany wprowadzaj jedynie po prawej!
Tekstu jest w trzy dupcie, więc proponuję Ctrl+F i wyszukiwanie interesującej ciebie sekcji (np. sdl, mixer, dosbox) czy konkretnej opcji (np. cputype, oplrate, ipx). Aby było jak najprościej (i żeby ludzie nie zjedli mnie na surowo) - wszystko jest ułożone tak, jak w pliku konfiguracyjnym programu. To do dzieła!
Tekstu jest w trzy dupcie, więc proponuję Ctrl+F i wyszukiwanie interesującej ciebie sekcji (np. sdl, mixer, dosbox) czy konkretnej opcji (np. cputype, oplrate, ipx). Aby było jak najprościej (i żeby ludzie nie zjedli mnie na surowo) - wszystko jest ułożone tak, jak w pliku konfiguracyjnym programu. To do dzieła!
******
Sekcja [sdl]
******
******
fullscreen - chcemy pełnego ekranu przy starcie DosBox'a czy nie? true jeżeli tak, false jeżeli nie. Można to manualnie zmienić w czasie działania programu, za pomocą kombinacji Alt + Enter, oczywiście
fulldouble - włącza podwójne buforowanie (trzymanie dwóch, identycznych buforów graficznych w pamięci komputera, gdzie zawartość pierwszego jest rzucana na ekran, a w drugim natychmiastowo smażona jest kolejna klatka) dla pełnego ekranu w programie. Domyślnie nie jest to wymagane, gdyż może nieźle spowolnić co niektóre gry - używać wyłącznie, gdy aplikacje pełnoekranowe powodują te denerwujące migotanie ekranu, przekłamania graficzne lub sypią artefaktami. true albo false
fullresolution - rozdzielczość trybu pełnoekranowego, auto dopasuje ją do aktualnie używanej, ale można tutaj także wpisać własną, np. 800x600 czy 1024x768
windowresolution - jak wyżej, tylko dotyczące okienka. Mała uwaga - rozmiar okna można zmienić tylko, gdy urządzenie, które ustawiliśmy na output (poniżej) obsługuje sprzętowe reskalowanie (domyślny surface tego nie obsługuje)
output - ach, słynny wybór urządzenia, które rzyga grafiką na ekran. Innymi słowy - tutaj można zmienić metodę rysowania grafiki na ekranie, w zależności od waszych potrzeb:
- surface - domyślna wartość, najbardziej kompatybilna, ale nie wspierająca skalowania okienka,
- overlay - nie za bardzo różni się od tej powyższej, ale wspiera skalowanie. Może powodować błędy graficzne w co niektórych grach,
- ddraw - korzysta z interfejsu DirectDraw, wspiera skalowanie, dodatkowo może ciutkę zwiększyć prędkość w co niektórych, wymagających grach, lecz jest zupełnie niekompatybilne z paroma gierkami,
- opengl - korzysta z biblioteki openGL, wspiera skalowanie, wszystko cud i miód. Przy tej wartości domyślnie jest załączane filtrowanie dwuliniowe, co powoduje wygładzanie tekstur (choć co niektóre mogą być zbyt rozmazane),
- openglnb - jak wyżej, ale bez filtrowania dwuliniowego.
Jakkolwiek wszystko brzmi cudnie, to jednak zostałbym przy surface albo overlay - pozostałe, korzystające już z wyspecjalizowanych interfejsów mogą powodować najróżniejsze i najdziwniejsze skutki w wyświetlaniu grafiki. Tym niemniej - eksperymentować warto, czyż nie?
autolock - przy ustawieniu na true DosBox automatycznie zablokuje kursor w oknie programu, byś przypadkiem nie wyjechał poza nie (aby uwolnić mychę użyj kombinacji Ctrl+F10, lub klawisza Windows). Jak się domyślasz, false kursora nie zablokuje
sensitivity - czułość myszki w programie, od 1 do 100. Jako że domyślna stówa spisuje się całkiem nieźle, tak też nie ma za bardzo potrzeby na zmianę tej wartości
waitonerror - jeżeli coś się spieprzy to DosBox może wybrnąć z tej sytuacji na dwa wyjścia - przy wartości true program poinformuje nas o napotkanym błędzie i będzie czekał na manualne zamknięcie. Ustaw false, a program przy błędzie wywali się od razu
priority - priorytet programu, ma się rozumieć - czyli ile dostępnej pamięci RAM i czasu procesora może zeżreć DosBox. Wartość podawana tutaj jest dwuargumentowa - pierwsza to priorytet, kiedy okno DB jest aktywne, po przecinku to priorytet, kiedy jest zminimalizowane. Domyślny higher,normal jak najbardziej odpowiada większości gierek, gdyż jest najstabilniejszy. Jeżeli chcesz pobawić się w zmiany - możliwe wartości to lowest, lower, normal, higher, highest, pause. Odradzam używania highest, gdyż wszelkie inne aplikacje w tle mogą zacząć nieźle zamulać
mapperfile - pamiętacie zabawy z mapperem z trzeciej części poradnika? Tutaj właśnie możemy wskazać którego pliku mapującego (czyli obsługi klawiatury i joysticka/gamepada, gdzie można robić swoje własne kombinacje klawiszowe czy np. przypisywać działanie jednego klawisza pod drugi) DosBox ma użyć. Domyślny znajduje się w katalogu lokalnym DosBox'a (tj. w AppData), ale można tutaj podać ścieżkę do innego, własnego
usescancodes - jeżeli twoja klawiatura ma coś takiego, jak sym key, to tutaj możesz wyłączyć jego działanie, by przypadkiem nie przeszkodziło ci to w zabawie (np. nagłe "zawieszenia" klawiatury czy niedziałające kursory). true albo false
******
Sekcja [dosbox]
******
******
language - angielski obraża twoje uczucia religijne i nie wyznajesz go? Spoko, ściągnij sobie plik z innym językiem, wypakuj, wpisz tutaj ścieżkę do niego i gitara - już masz DosBox'a w swoim wymarzonym lengłydżu!
machine - przydałoby się emulować jakąś kartę graficzną, lub w ogóle cały komputer, nieprawdaż? Tutaj można ustawić jakiego modelu chcemy używać w gierkach. Jest tu deko do namieszania:
- hercules - standard z 1982 roku, oferujący wysokorozdzielczościowy tryb tekstowy (720x348). Grafikę, owszem, potrafi jakąś wyświetlić - ale tylko czarno-białą,
- cga - skrót od Color Graphics Adapter, pochodzącego z 1984. Poza wyświetlaniem tekstu, CGA potrafi pracować w dwóch trybach - 320x200 i 4 kolorami na raz, z palety 16 możliwych, oraz 640x200, lecz czarno-białego,
- tandy - czyli poczciwy TGA (Tandy Graphics Array) lub dla przyjaciół - komputer Tandy 1000. W pełni zgodny ze standardem CGA, był prawdopodobnie najlepszą machiną do giercowania w DOSowe gry z lat 80,
- pcjr - Pc Junior od IBMa z 1984, który niestety rynku nie zawojował, ale wprowadził parę innowacji. Możliwe wyświetlanie maksymalnie 16 kolorów, z palety także 16,
- ega - czyli bardziej przyjazna nam prehistoria. Enhanced Graphics Adapter z 1984 oferował dwa tryby - 16 kolorowy w rozdzielczości 320x200, lub niesamowicie niesamowity 640x350 z 64 kolorami!
- vgaonly - używanie wyłącznie standardu VGA (Video Graphics Array), czyli korzystanie albo z trybu 320x200 z 256 kolorami, lub 640x480 z 16 kolorami. vgaonly jest kompatybilne z cga i ega,
- svga_s3 - domyślna wartość, emulacja karty Super VGA, opartej o chipset S3. Dobra kompatybilność, także z grami 3D, dodatkowo także wsparcie dla standardu VESA VBE w wersji 2.0. Wspiera 256 kolorów z rozdzielczościach aż do 1600x1200!
- svga_paradise - emulacja karty z rodziny PVGAXXX, oferującej rozdzielczość 640x480 w 256 kolorach, lub 800x600 w 16,
- svga_et3000 - emulacja karty ET3000, wspierającej tryby 800x600 z 256 kolorami lub 1027x768 z 16 kolorami,
- svga_et4000 - emulacja karty ET4000, w pełni kompatybilna z poprzedniczką, jednak rozdzielczość 1024x768 może być obsłużona w 256 kolorach,
- vesa_oldvbe - karta zgodna ze standaedem VESA (Video Electronics Standards Association), obsługująca VBE (Vesa Bios Extensions) w wersji 1.2, a nie 2.0,
- vesa_nolfb - jeżeli zachodzi potrzeba wyłączenia LFB (linearnego bufora ramki, coś takiego było dostępne w staaarych sterownikach i BIOSach) to tutaj można tego dokonać, reszta zachowuje się jak standardowa karta VESA z VBE 2.0.
captures - katalog, w którym DosBox będzie trzymał twoje cenne zrzuty ekranu i nagrane filmiki. Można sprecyzować pełną ścieżkę, lub samą nazwę katalogu - w tym ostatnim przypadku owy folder zostanie zapisany w katalogu lokalnym
memsize - o tym było sporo w trzeciej części poradnika - ilość pamięci RAM, którą DosBox udostępni grom. Tylko pamiętaj, jeżeli nie czytałeś trzeciego tutoriala - DOS nie widzi więcej niż 64 MB pamięci, a pierwszy megabajt zawsze jest rezerwowany na pamięć konwencjonalną (tzw. pamięć niską) i blok pamięci wyższej (Upper Memory Block, UMB)
******
Sekcja [render]
(tak, to tutaj są te słynne zmiany jakości grafiki!)
******
******
frameskip - czyli przeskakiwanie klatek - tutaj można wpisać ile klatek DB ma pominąć, przed procesem rysowania kolejnej. Pomaga to nieco przyspieszyć mulące gry, jednak od wartości 4 w górę mogą jeszcze bardziej rżnąć. Od 0 do 9, domyślnie to 0
aspect - czyli trzymanie proporcji ekranu - bowiem wiadomo, że kiedyś standardem był 4:3, a dzisiaj wszyscy szaleją w ful ha de i 16:9, nieprawdaż? Pamiętaj tylko, by to, co wybrałeś w output (sekcja [sdl]) wspierało skalowanie, jeżeli chcesz dokonać korekcji proporcji. true albo false. Niektóre gry z korekcją proporcji wyglądają o wiele ładniej, np. Doom lub Quake
scaler - czyli to, na co wszyscy czekali - w DosBox'ie możemy użyć najróżniejszych scalerów, które mogą poprawić obraz na ekranie (lub pogorszyć, co kto woli). Nie ma sensu tutaj o tym pisać, jeżeli jest to wybitnie graficzna opcja. Jako że "seeing is beliving", tak też kliknij na obrazek na dole, aby wybrać najlepszy skalak dla siebie: (klikklik, aby przybliżyć)
Link bezpośredni - gdyby blogspot nie chciał pokazać screena w oryginalnej rozdzielczości.
Szczerze powiem, że scaler hq2x/hq3x jest, przynajmniej dla mnie, najlepszym wyborem, jeżeli idzie o poprawę grafiki, gdyż wszystko ładnie wygładza, jednak nie do przesady - przy innych skalakach pikselowate fonty potrafią się nieźle zlewać. Bo tak między nami, to rzadko kiedy używam scalerów, domyślnie jadę na normal3x. Numerki przy nazwach scalerów, tj. 2x czy 3x nic nie zmieniają w jakości, jedynie skalują rozmiar okienka DosBox'owego - odpowiednio razy dwa i razy trzy.
Możliwe scalery do wyboru: none, normal2x, normal3x, advmame2x, advmame3x, advinterp2x, advinterp3x, hq2x, hq3x, 2xsai, super2xsai, supereagle, tv2x, tv3x, rgb2x, rgb3x, scan2x, scan3x
******
Sekcja [cpu]
******
******
core - tutaj ustalamy jaki tryb wykonywania instrukcji ma przyjąć emulowany procesor. Osobiście nie radzę zmieniać jeżeli do końca nie wiesz co właściwie robisz:
- normal - instrukcje DosBox'a są interpretowane po kolei, jak Pan Bóg przykazał. Zapewnia to najbardziej kompatybilny tryb działania, jednak nie jest polecany dla słabszych komputerów - interpretowalne podejście wymaga dodatkowej cysterny z mocą procesora,
- simple - to samo co wyżej, jednak tryb ten jest optymalizowany dla aplikacji, które korzystają z trybu rzeczywistego. Nie lękaj się jednak, jeżeli masz jakąś gierkę, która wymaga trybu chronionego, DB automatycznie na ten moment zmieni tryb wykonywania na normal,
- dynamic - wartość, która gwarantuje najlepsze jajca - całość oparta jest na dynamicznej translacji, tudzież kompilacji just-in-time. Osochoźźi? Blok z instrukcjami z DosBox'a jest tłumaczony na kod maszynowy procesora, który znajduje się w komputerze i tam bezpośrednio wykonywany. Metoda o wiele bardziej wydajna niż interpretowanie, jednak może być czasami ciutkę niestabilna.
- auto - wartość domyślna, której powinno się trzymać - DosBox automatycznie skacze z wartości normal na dynamic, w zależności od danej gierki - czy jest w trybie rzeczywistym, czy chronionym.
cputype - jaki typ procesora chcemy emulować. Podobnie jak poprzednia opcja - nie warto tutaj za mocno mieszać. Zazwyczaj wystarcza tutaj wartość domyślna, czyli auto, dostosowująca się do konkretnej gry. Wtedy wybór głównie jest oparty na procesorze 486DX, z odpowiednim zachowaniem rejestrów CR. Obsługuje takie instrukcje jak BSWAP, XADD, INVD czy WBINVD. Do bardziej wymagających gier (lub tych, które się wieszają/działają niestabilnie) można ją zmienić na pentium_slow, które emuluje rodzinę Pentiumów, gwarantuje zgodność z poprzednimi instrukcjami, a także udostępnia dostęp do rejestru TSC (Time Stamp Counter). Możliwe wartości: auto, 386, 386_slow, 486_slow, pentium_slow, 386_prefetch
cycles - goł goł pałer rendżers, czyli ilość cykli, jaką przekazujemy DosBox'owi, gdy ten męczy się z jakąś gierką (1000 cykli to około 1 MIPSa, tak zwanego Million Instructions Per Second). Można tutaj ustawić wartość na auto (DB sam stara się domyśleć, ile cykli wymaga dana gierka, zazwyczaj działa, choć czasami wartość może być za mała/za duża, co powoduje, że sama gra jest zbyt szybka/za wolna), max (program zawsze przydzieli maksymalną wartość cykli), oraz fixed NNNN, gdzie NNNN to ilość cykli, którą chcemy, by DB przydzielał, np. fixed 4000
Dodatkowo można tutaj kombinować w opcjonalnymi switchami - % oraz limit:
cycles - goł goł pałer rendżers, czyli ilość cykli, jaką przekazujemy DosBox'owi, gdy ten męczy się z jakąś gierką (1000 cykli to około 1 MIPSa, tak zwanego Million Instructions Per Second). Można tutaj ustawić wartość na auto (DB sam stara się domyśleć, ile cykli wymaga dana gierka, zazwyczaj działa, choć czasami wartość może być za mała/za duża, co powoduje, że sama gra jest zbyt szybka/za wolna), max (program zawsze przydzieli maksymalną wartość cykli), oraz fixed NNNN, gdzie NNNN to ilość cykli, którą chcemy, by DB przydzielał, np. fixed 4000
Dodatkowo można tutaj kombinować w opcjonalnymi switchami - % oraz limit:
- % to procentowe przyznanie ilości cykli, np. cycles = max 50% oznacza, że przeznaczamy 50% mocy procesora dla DosBox'a,
- limit oznacza limitowanie mocy, nawet przy maksymalnym obciążeniu - na ten przykład cycles=max limit 50000 oznacza, że program będzie napierniczał z pełną mocą, lecz nie będzie mógł przekroczyć górnego limitu 50 tysięcy cykli.
cycleup i cycledown - traktowane razem, gdyż jedno jest przeciwieństwem drugiego, ale działa tak samo - to pierwsze służy do specyfikowania wartości cykli, które mają być zwiększone po manualnym wciśnięciu Ctrl+F12, zaś druga - do zmniejszania, za pomocą Ctrl+F11. Wartości od 0 do 100 oznaczają wartość procentową, zaś od 101 w górę - ilość samych cykli, np. wpisanie 10 będzie obniżać/zwiększać ilość cykli o 10% wartości startowej, zaś wartość 1000 zwiększy/zmniejszy ilość cykli o 1000
******
Sekcja [mixer]
******
nosound - jak sama nazwa wskazuje, jeżeli masz zły dzień i z jakiegoś powodu nie chcesz słuchać żadnych dźwięków z gier - wpisz tutaj true, w przeciwnym wypadku zostaw na false
rate - częstotliwość próbkowania, z jaką program dziarsko wypluwa z siebie wszelkie brzdąkania. Wartość ta wpływa na ogólną jakość dźwięku. Największa/najlepsza to 49716 kHz. Pamiętaj, by analogicznie taką samą wartość ustawić w sekcji [sblaster], ewentualnie także i [gus] (jeżeli korzystasz). Możliwe wartości: 49716, 48000, 44100, 32000, 22050, 16000, 11025, 8000
blocksize - rozmiar bloku wykonywalnego, w którym przetrzymywane są dane dźwiękowe, które przetrawia DosBox. Mniejsze wartości powodują zacięcia i zniekształcenia dźwięku, większe skutkują desynchronizacją warstwy audio z obrazem. Domyślna wartość to 1024, a możliwe - 256, 512, 1024, 2048, 4096, 8192
prebuffer - tutaj ustawia się wielkość bufora początkowego bloku dźwiękowego, innymi słowy - ile milisekund danych dźwiękowych ma być trzymanych w ww. bloku. Domyślnie to 20
******
Sekcja [midi]
******
mpu401 - dla tych gier, które potrafią korzystać z interfejsu MIDI (tj. nie tylko z AdLib'a/OPL) tutaj można wskazać tryb pracy jednostki przetwarzającej muzyczki MIDowe. A interfejs MPU-401 może pracować w dwóch trybach:
- intelligent - czyli Albert Einstein wśród MIDów. Tryb inteligentny dostarcza do domyślnego odtwarzania sekwencji nutowych dodatkowo 8-bitowy sequencer, obsługę wyjść MIDI Clock oraz SYNC24 oraz elektroniczny traktomierz,
- uart - tryb ten najnormalniej w świecie stwierdza "pieprzyć te wszystkie bajery" i puszcza sekwencje MIDowe wyłącznie w oparciu o MIDowy strumień bitowy wejścia/wyjścia,
- none - to nie tyle tryb, co dodatkowa opcja - takie nic, zero, null, pustka, nie posłuchamy muzyczek MIDowych.
mididevice - tryb pracy wybrany, ale chwila - trzeba też wybrać samo urządzenie, które odwali za nas brudną robotę:
- default - używanie domyślnego urządzenia systemowego do odtwarzania sekwencji MIDI,
- win32 - używanie interfejsu Windows'owego (win32) do odtwarzania sekwencji MIDI,
- alsa - używanie biblioteki Linux'owej Advanced Linux Sound Architecture do odtwarzania sekwencji MIDI,
- oss - używanie biblioteki Linux'owej Open Sound System do odtwarzania sekwencji MIDI,
- coreaudio - używanie frameworka MacOS X-owego do puszczenia danych MIDI przez wbudowany w OSX domyślny syntezator
- coremidi - przekierowanie strumienia danych MIDI do urządzenia, które zostało skonfigurowane w Ustawieniach MIDI w MacOS X.
- none - cisza :(
midiconfig - dodatkowa konfiguracja, gdy chcemy skorzystać np. z prawdziwego, fizycznego interfejsu MIDI. Tutaj wystarczy podać ID urządzenia, aby móc z niego skorzystać. Domyślnie zostawiona jest pusta. Jeżeli siedzisz na Windozie to możesz tutaj wpisać 0, gdyż ten identyfikator jest zajęty przez standardowy Microsoft GS Wavetable Synth.
******
Sekcja [sblaster]
******
sbtype - nie oszukujmy się, w większości gier będziesz korzystać z dobrodziejstw Sound Blaster'a. A tutaj możesz ustawić jaki właściwie typ chcesz emulować. Polecam osobiście sb16:
- sb1 - Sound Blaster 1.0, tylko mono 8-bitowe, maksymalna częstotliwość próbkowania: 22 kHz, dane puszczane przez syntezator CMS lub chip OPL-2
- sb2 - Sound Blaster 2.0, tylko mono 8-bitowe, maksymalna częstotliwość próbkowania: 44.1 kHz, dane puszczane przez chip OPL-2
- sbpro1 - Sound Blaster Pro 1.0, 8-bitowe stereo, maksymalna częstotliwość próbkowania: 44.1 kHz, dane puszczane przez podwójny chip OPL-2
- sbpro2 - Sound Blaster Pro 2.0, 8-bitowe stereo, maksymalna częstotliwość próbkowania: 44.1 kHz, dane puszczane przez chip OPL-3
- sb16 - Sound Blaster 16, 16-bitowe stereo, maksymalna częstotliwość próbkowania: 44.1 kHz, dane puszczane przez chip OPL-3
sbbase - adres emulowanej karty (pamiętasz z pierwszej części poradnika?), który należy ustawić w konfiguracji dźwiękowej każdej gry. Domyślna wartość to 220. A możliwe? 220, 240, 260, 280, 2a0, 2c0, 2e0, 300
irq - poziom żądania przerwań (IRQ, Interrupt Request) dla emulowanej karty, też do podania w configu gry. Domyślna wartość - 7, można zamienić na 3, 5, 7, 9, 10, 11, 12
dma - 8-bitowy (niski) kanał bezpośredniego dostępu do pamięci (DMA, Direct Memory Access) emulowanej karty, także trzeba ustawić w setupie dźwiękowym gier. Domyślnie: 1, możliwe: 0, 1, 3, 6, 7 (pamiętaj, że niski i wysoki DMA musi być różny!)
hdma - 16-bitowy (wysoki) kanał bezpośredniego dostępu do pamięci emulowanej karty. Domyślnie: 5, możliwe: 0, 1, 3, 6, 7 (pamiętaj, że niski i wysoki DMA musi być różny!)
(jeżeli korzystasz z emulacji Gravisa, to upewnij się, że dane o adresie, IRQ i DMA się różnią w sekcji [gus] oraz [sblaster], bo możesz niechcący spowodować niemały konflikt)
sbmixer - ustawiamy, czy soundblasterowy mikser głośności będzie oddziaływał na mikser głośności DosBox'a, true albo false
oplmode - dane dźwiękowe na kartach z rodziny Blasterów leciały przez specjalny chip Operatora FM, typ-L, w skrócie OPL, oryginalnie stworzony przez Yamahę. Tutaj można ustawić którego konkretnie chipa chcemy emulować. Najlepiej, aby urządzonko się zgadzało z wybraną kartą w opcji sbtype. auto domyślnie, gdyż pasuje to do większości rozwiązań. Można to zmienić na cms, opl2, dualopl2, opl3 lub none. (CMS jest niekompatybilny z muzyczkami AdLib'owymi, więc uważaj)
oplemu - tryb emulacji danego chipa OPL, może przyjąć wartość default (DosBox robi co chce), compat (największa kompatybilność) lub old (tryb kompatybilności wstecznej)
oplrate - częstotliwość próbkowania danych dźwiękowych, wypluwanych przez OPLa. Największa/najlepsza to 49716 kHz. Podobnie jak w mikserze - możliwe wartości to 49716, 48000, 44100, 32000, 22050, 16000, 11025, 8000. Ustaw tutaj to samo, co w analogicznej opcji w sekcji [mixer]
irq - poziom żądania przerwań (IRQ, Interrupt Request) dla emulowanej karty, też do podania w configu gry. Domyślna wartość - 7, można zamienić na 3, 5, 7, 9, 10, 11, 12
dma - 8-bitowy (niski) kanał bezpośredniego dostępu do pamięci (DMA, Direct Memory Access) emulowanej karty, także trzeba ustawić w setupie dźwiękowym gier. Domyślnie: 1, możliwe: 0, 1, 3, 6, 7 (pamiętaj, że niski i wysoki DMA musi być różny!)
hdma - 16-bitowy (wysoki) kanał bezpośredniego dostępu do pamięci emulowanej karty. Domyślnie: 5, możliwe: 0, 1, 3, 6, 7 (pamiętaj, że niski i wysoki DMA musi być różny!)
(jeżeli korzystasz z emulacji Gravisa, to upewnij się, że dane o adresie, IRQ i DMA się różnią w sekcji [gus] oraz [sblaster], bo możesz niechcący spowodować niemały konflikt)
sbmixer - ustawiamy, czy soundblasterowy mikser głośności będzie oddziaływał na mikser głośności DosBox'a, true albo false
oplmode - dane dźwiękowe na kartach z rodziny Blasterów leciały przez specjalny chip Operatora FM, typ-L, w skrócie OPL, oryginalnie stworzony przez Yamahę. Tutaj można ustawić którego konkretnie chipa chcemy emulować. Najlepiej, aby urządzonko się zgadzało z wybraną kartą w opcji sbtype. auto domyślnie, gdyż pasuje to do większości rozwiązań. Można to zmienić na cms, opl2, dualopl2, opl3 lub none. (CMS jest niekompatybilny z muzyczkami AdLib'owymi, więc uważaj)
oplemu - tryb emulacji danego chipa OPL, może przyjąć wartość default (DosBox robi co chce), compat (największa kompatybilność) lub old (tryb kompatybilności wstecznej)
oplrate - częstotliwość próbkowania danych dźwiękowych, wypluwanych przez OPLa. Największa/najlepsza to 49716 kHz. Podobnie jak w mikserze - możliwe wartości to 49716, 48000, 44100, 32000, 22050, 16000, 11025, 8000. Ustaw tutaj to samo, co w analogicznej opcji w sekcji [mixer]
******
Sekcja [gus]
(dotyczy tylko emulacji karty Gravis Ultrasound)
******
gus - niech lud przemówi - towarzysze, chcemy emulacji karty Gravis Ultrasound czy nie? true albo false
gusrate - częstotliwość próbkowania zacnego GUSciocha. Największa/najlepsza to 49716 kHz. Po raz kolejny - podobnie jak w [mixer] oraz [sblaster], możliwe wartości: 49716, 48000, 44100, 32000, 22050, 16000, 11025, 8000. Jeżeli chcesz korzystać z GUSa, to ustaw tutaj taką samą wartość, jak w [mixer]
gusbase - adres emulowanego GUSa, który należy ustawić w konfiguracji dźwiękowej każdej gry. Domyślna wartość - 240. Do wyboru 220, 240, 260, 280, 2a0, 2c0, 2e0, 300
gusirq - poziom żądania przerwań (IRQ, Interrupt Request) dla emulowanego GUSa, też do podania w configu gry. Domyślna wartość - 5, można zamienić na 3, 5, 7, 9, 10, 11, 12
gusdma - kanał bezpośredniego dostępu do pamięci (DMA, Direct Memory Access) emulowanego GUSa, także trzeba ustawić w setupie dźwiękowym gier. Domyślnie: 3, możliwe: 0, 1, 3, 6, 7
(jeżeli korzystasz z emulacji Gravisa, to upewnij się, że dane o adresie, IRQ i DMA się różnią w sekcji [gus] oraz [sblaster], bo możesz niechcący spowodować niemały konflikt)
******
Sekcja [speaker]
******
pcspeaker - chciałbyś, aby towarzyszyły ci te cudne brzdąkania z głośnika systemowego? true lub false
pcrate - częstotliwość próbkowania danych dźwiękowych z emulowanego głośnika systemowego. Największa/najlepsza to 49716 kHz. Możliwe wartości: 49716, 48000, 44100, 32000, 22050, 16000, 11025, 8000. Ustaw tutaj to samo, co w [mixer]
tandy - opcja bardziej dla koneserów, gdyż tutaj można załączyć obsługę Tandy Sound System (model 3-Voice Generation). true, false albo auto. Że jak, dodatkowo tu jest auto? Tak, ale przy tej opcji dźwięk z TSS zadziała wyłącznie, gdy w sekcji [dosbox] opcja machine została ustawiona na tandy
tandyrate - częstotliwość próbkowania danych dźwiękowych z emulowanego TSSa. Największa/najlepsza to 49716 kHz. Możliwe wartości: 49716, 48000, 44100, 32000, 22050, 16000, 11025, 8000. Ustaw tutaj to samo, co w [mixer]
disney - to dla największych fanów - możliwość emulacji przetwornika Disney Sound Source, lub kompatybilnego (Covox Voice Master lub Covox Speech Thing). Ktoś jeszcze pamięta te urządzonka, wtykane w port równoległy LPT1? true lub false
******
Sekcja [joystick]
(kopia z trzeciego poradnika, jako że było to już omawiane)
******
joysticktype - określa z jakiego typu joysticka/gamepada będziemy korzystać i ile ich ma być:
- none - nie pogramy na drążku uciechy
- auto - DosBox sam rozgryzie jakiego właściwie joysticka/gamepada chcesz używać
- 2axis - dwa joysticki, 2-osiowe
- 4axis - obsługa dwóch joysticków, ale używany jest wyłącznie pierwszy
- 4axis_2 - obsługa dwóch joysticków, ale używany jest wyłącznie drugi
- fcs - obsługa Thrustmaster'a
- ch - obsługa CH Flightstick'a
timed - ustala czasowe przerwy dla używanych osi joysticka/gamepada - domyślnie jest włączona, ale należy ją ustawić na false, gdy zauważymy w grze drgania/delikatne ruchy bohatera, nawet gdy w ogóle nie dotykamy żadnej gałki analogowej/przycisku
autofire - chyba nie wymaga komentarza - znane jeszcze z nieśmiertelnych Pegazusów emulowanie ciągłego, gwałtownego wciskania przycisku, kiedy ten jest naciśnięty i przytrzymany. true lub false
swap34 - (nie mylić z zasadą 34) podmienia 3 oś urządzenia z 4. Teoretycznie jest to przydatne dla niektórych typów joysticków (niestety, widać nie dla mojego), domyślnie false
buttonwrap - pozwala na opakowanie ilości przycisków na joysticku/gamepadzie z korespondującymi przyciskami emulowanymi, domyślnie na true
******
Sekcja [serial]
******
Cała sekcja [serial] używana jest do tworzenia wirtualnych modemów, znajdujących się w porcie szeregowym, lub też korzystania z prawdziwego, fizycznego modemu:
- disabled - port wyłączony
- dummy - pusto, oj pusto...
- nullmodem - sposób połączenia dwóch maszyn poprzez interfejs szeregowy, dla dołączającego się do gry wymaga przynajmniej podania serwera (server), portu (port) oraz opóźnienia, gdy interfejs nie jest gotowy na podjęcie akcji. Dodatkowo można tutaj ustawić obsługę Telnetu (telnet), wysyłanie tylko danych szeregowych (transparent) czy działanie tylko, gdy flaga DTR (Data Terminal Ready) została ustawiona (usedtr). Przykład nullmodemu dla klienta: serial1=nullmodem server:192.150.30.1 port:5000 rxdelay:100 transparent:1 zaś przykład nullmodemu dla serwera - jedynie serial1=nullmodem
- modem -podobnie jak w przypadku nullmodemu, jednak tutaj możemy dodatkowo włączyć nasłuch konkretnego postu (listenport). Pamiętaj, że wybieranie numeru odbywa się poprzez standardową komendę Hayesa, tj. ATDT - przy czym musisz podać nazwę hosta lub jego IP, np. ATDT255.255.255.255 lub ATDTfajnyhost
- directserial - szeregowe połączenie bezpośrednie, wymaga podania portu jako realport (np. realport:COM2) oraz opcjonalnie wartości opóźnienia, kiedy interfejs nie jest gotowy - rxdelay, oraz opóźnienie przed wysłaniem kolejnego pakietu - txdelay. Przykładowo skonfigurowany port to serial1=directserial realport:COM2 rxdelay:100 txdelay:12
******
Sekcja [dos]
******
ems - włącza lub wyłącza obsługę pamięci poszerzonej w programie (EMS, Expanded Memory Specification), true lub false, może być obsługiwane bezpośrednio z programu komendą ems=true/false,
umb - włącza lub wyłącza dostęp do bloku pamięci wyższej (UMB, Upper Memory Block), true lub false, może być obsługiwane bezpośrednio z programu komendą umb=true/false,
(więcej o pamięciach w DosBox'ie w trzeciej części poradnika)
keyboardlayout - absolutne fantastico, pozwala na zmianę rozmieszczenia klawiszy w programie, bez żadnej ingerencji systemowej. Domyślnie na auto (DosBox sam się domyśla jakiej klawiatury używasz), none (fuck the system) lub też można wklepać kod klawiatury w formacie xy - np. dla polskiej to pl. Analogicznie to działa dla innych krajów, np. gr - niemiecka (German), fr - francuska (French) itd.
******
Sekcja [ipx]
******
W żołnierskim skrócie - po ustawieniu wartości true w pliku konfiguracyjnym można stawiać serwery, lub łączyć się do nich, odpowiednio poprzez komendy:
ipxnet startserver portUDP
np. ipxnet startserver 9999 (port jest opcjonalny, jeżeli nie zostanie podany, to zostanie użyty domyślny 213)
Zaś łączenie:
ipxnet connect IP portUDP
np. ipxnet connect 192.168.9.155 (podobnie, port jest opcjonalny)
Jeżeli podasz port UDP to pamiętaj, by ten był przekierowywany na zewnątrz sieci! A jeżeli wszystko pójdzie ok, to będziesz mógł rozpierniczać swoich kolegów po LANie w co niektórych DOSowych grach.
Dodatki do komendy ipxnet to m.in. status, ping, disconnect czy stopserver.
******
Sekcja [autoexec]
******
mount c c:\dos
c:
dir c: /p
Więcej o sekcji autoexec było pomarudzone w czwartej części poradnika DosBox'owego.
******
Ufff, no i to by było na tyle. Mam nadzieję, że plik konfiguracyjny już nie jest żadną tajemnicą dla nikogo i każdy będzie obtrzaskany w temacie. Jeżeli, mimo to, nadal masz jakieś pytania, lub też zauważyłeś, że gdzieś jebłem głupotę - pisz śmiało i daj znać!
Witaj, cześć
OdpowiedzUsuńKorzystam z DosBoxa - fajnie tu jest opisane. Ale mam jeden problem.
Wysypuje się program DOS-owy, który nie jest grą ale to chyba nie ma znaczenia.
Czy można jakoś podać/ograniczyć wielkość pamięci RAM dla procesu DB? Nie znalazłem takiego parametru a memsize to co innego zdaje się?
Czy możesz się ze mną skontaktować na krzyskk88@poczta.onet.pl ?
pozdr Kris