czwartek, 19 września 2013

EX10 - Konfigurujemy stary komputer: DOS (cz. 1)

KONFIGURUJĘ DOSA NA STAREJ MASZYNIE STOP
DZWONICIE DO PSYCHIATRYKA STOP
CAŁUSKI STOP


(wybaczcie za sporą zwłokę z artykułem, jednak nadmiar pracy, jak i choróbsko, które zaciągnęło mnie do łóżka skuteczniej, niż niejedna panna o ponętnych kształtach, nie pomógło w pisaniu tegoż)

Nie będę owijał w bawełnę ani nic zbędnie kombinował - konfiguracja DOSa stricte pod gry jest dość ciężka i nieprzyjemna, a dodatkowo jeszcze gorsza pod Windowsami 95/98 z pewnych powodów, o których wkrótce się dowiesz. Gdyby ten proces był obrazem w Rayman Legends, to z pewnością pod nim znajdowałoby się minimum 5 czaszek. Ale jaka frajda z prawidłowego ustawienia wszystkiego, i pocinania w klasyki w, nomen omen, dziewiczej formie! Tak więc już zawczasu przygotuj pół litra (herbaty, na ukojenie nerwów i rozgrzanie użytkownika, jakby kto się pytał), bo jedziemy z prawdopodobnie najtrudniejszym tematem, jaki poruszałem na łamach tego bloga!

Przede wszystkim po kolei - naszymi głównymi arenami działań będą pliki config.sys oraz autoexec.bat. Ten pierwszy jest głównym plikiem konfiguracyjnym, który jest ładowany tuż przy starcie systemu, i zawiera wszelkie opcje systemowe (wielkość buforów, sposób ładowania DOSa) oraz ścieżki do sterowników, z kolei drugi jest skrótem od 'auto executable', czyli pliku automatycznie wykonywalnego - pamiętasz te czarne literki i białe tło, które pojawiało się po planszy z chmurkami i logiem Win 95/98, podczas ładowania systemu? To właśnie była zawartość pliku autoexec.bat - otóż wszelkie komendy, zawarte w tym pliku, są szeregowo wykonywane podczas ładowania jakiegokolwiek systemu (czy to DOSa, czy Windows'a), co niezwykle ułatwia sprawę np. z załadowaniem programów czy sterowników, które chcemy mieć już na początku przesiadywania przed kompem, bez zbędnego uruchamiania ich manualnie - ot taki autostart Windowsowy, można by powiedzieć.

Jeżeli chcesz skorzystać z Windowsów do odpalania gier DOSowych, to owszem, może i uda ci się odpalić większość z nich, jednak szybko zobaczysz, że tak naprawdę lwia część z nich będzie zachowywać się niestabilnie, złapie co raz zawieszenie, lub też jej części odmówią współpracy. Kiepskie zarządzanie pamięcią konwencjonalną, brak sterowników CD-Romu czy myszki, brak optymalizacji ustawień - oto jedne z głównych grzechów domyślnych wersji config.sys/autoexec.bat, które są dostarczane z Windowsem. Nie brzmi zbyt optymistycznie, nieprawdaż? Cóż, najwyższy czas to zmienić. Przy czym jedna uwaga - wszystkich zmian będziemy dokonywać w samym DOSie, więc w Windowsowym menu 'Zamknij system' zawsze wybieraj 'Uruchom ponownie w trybie MS-DOS'. I właśnie to uczyń teraz. DOS już uruchomiony? No to jedziemy!

Pliki, do których będziemy się dobierać, znajdują się na dysku C:. Więc jeżeli nie jesteś pewien gdzie jesteś, to wróć do katalogu głównego poleceniem

cd\

A teraz grzecznie wklep

edit config.sys

Panie i panowie - witamy w DOSowym odpowiedniku Notatnika! Cóż, może nie wygląda jakoś specjalnie porażająco, ale uwierz mi - jest równie funkcjonalny, co Windowsowy braciszek. (jeżeli po wpisaniu tejże komendy nie widzisz nic w oknie Edytora, to czym prędzej go zamknij - bo po prostu na 100% waln(ą/ę)łaś buraka przy wpisywaniu nazwy pliku - a ten otworzy puste okno, gdy plik o wskazanej nazwie nie będzie istniał)


Wygląda cudnie, czyż nie? Przyzwyczaj się do tego widoku, gdyż będziesz go widywał dosyć często. Samo sterowanie kursorem nie powinno przysporzyć ci wiele problemów, z kolei jeżeli chodzi o górną belkę - do niej dostaniesz się przy użyciu lewego Alta. Tyle jeżeli chodzi o wstęp, przyprzyjmy się teraz poszczególnym linijkom, gdyż jedna z nich będzie dla nas niezwykle ważna.

Mianowicie ta, która rozpoczyna się od słowa device. Bo to właśnie dzięki niemu będziemy ładować sterowniki i aplikacje zarządzające, które niezwykle umilą nam życie. Tak więc lecimy z takim standardowym config'iem, analizując urządzenia w kolejnych linijkach:

  • HIMEM.SYS - sterownik HIMEM.SYS umożliwia DOSowi adresowanie pamięci powyżej pierwszego megabajta - czyli pamięci rozszerzonej (XMS). Jest on także wymagany do prawidłowego działania systemów Win9X.
  • dos=high,umb - tu z kolei mówimy naszemu komputerkowi gdzie ma zostać załadowany system DOS. Jako, że linijka powyżej umożliwia korzystanie z pamięci rozszerzonej, tak też nic nie stoi na przeszkodzie, by wypieprzyć system z pamięci niskiej (oszczędzając dzięki temu cenne kilobajty), i wrzucić go do bloku pamięci wyższej.
  • EMM386.EXE - programik EMM386.EXE z kolei ściśle współpracuje ze sterownikiem HIMEM.SYS - ta sympatyczna aplikacja pozwala na swobodny dostęp i korzystanie z pamięci poszerzonej (EMS). Bo jak się bawić, to już na maksa, czyż nie?
  • DISPLAY.SYS - jak zapewne się domyślasz - sterownik ekranowy, umożliwiający wyświetlanie znaków zarówno w standardzie EGA/VGA lub LCD. Domyślnie jest ustawiony na EGA (z automatu także współpracuje z VGA, więc spokojnie)
  • country/COUNTRY.SYS - sterownik związany zarówno z klawiaturą, jak i wyświetlanymi znakami - początek linijki zawiera kod kraju (z którego mają zostać załadowane dodatkowe literały, np. dla polskiego takie jak ą,ę,ł,ź itd.), drugi zaś ładuje faktyczny sterownik, który umożliwi wyświetlanie ich, jak i wpisywanie poprzez klawiaturę

Aj, paluszki zapewne cię korcą, by coś tutaj powpisywać i pomieszać, co? Nie, nie, na razie się uczymy, więc grzecznie wyłącz edytor (Plik -> Wyjdź), nie zapisując żadnych zmian, i wpisz

edit autoexec.bat

I tak oto dobierzesz się do wnętrza pliku autowykonywalnego:


Tutaj jest jeszcze biednej, gdyż tak naprawdę tylko ustawiamy stronę kodową (wyświetlającą znaki danego kraju), oraz ładujemy odpowiedni sterownik klawiatury (w tym przypadku polskiego układu znaków). Brak obsługi myszki, CD-ROMu, karty dźwiękowej, nic. Czas to zmienić.Właśnie w tym miejscu zaczynamy edycję i kombinowania, tak jakby co. Od razu ostrzegam - nie, nie będziemy korzystać z oficjalnych sterowników Microsoftu (MSCDEX, MOUSE), jako że one owszem, działają, jednak okupują zbyt wiele pamięci w porównaniu z alternatywami, które działają tak samo, jak oficjalne wersje, ale są o wiele lepiej napisane i zoptymalizowane. Gotowi? No to jedziemy!

edit config.sys

Na samym początku, jeszcze przed jakimikolwiek device'ami, wpisz:

FILES=50
BUFFERS=10,0
LASTDRIVE=J
STACKS=9,256

Zapisz. I tak oto wprowadziliśmy pierwsze ulepszenia! A teraz wyjaśniamy:

  • FILES określa ile plików na raz może być załadowanych do pamięci przez grę/aplikację. Zbyt mała ilość (zazwyczaj poniżej 20) może powodować zawieszenia, jak i wywalania się gier (z błędami typu "game can no longer run" lub "segmentation fault").
  • BUFFERS określa ile otwartych buforów dyskowych będzie używanych podczas wprowadzania danych. Z kolei druga cyfra określa ile sektorów będzie odczytywanych z wyprzedzeniem, podczas ww. czynności. 
  • LASTDRIVE to innymi słowy ostatnia litera, która będzie przypisywana do wszelkich dysków i stacji nośników wymiennych, używanych w DOSie. Po co przygotowywać adresację aż do litery Z, skoro nie będziesz miał aż tylu dysków?
  • STACKS mocno wiążę się z FILES - to z kolei określa ilość używanych stosów, jak i ich rozmiar, co ma spore znaczenie, zarówno w grach, jak i zdarzeniach związanych ze sprzętem. Zbyt niska ilość, podobnie jak w FILES, może skutkować w upierdliwych błędach i zawieszeniach.
(pamiętaj o zasadzie złotego środka - zbyt małe ilości są złe, ale zbyt duże także, gdyż będziesz marnował cenne kilobajty pamięci konwencjonalnej na zbyt wyśrubowane ustawienia)

*** CD-ROM ***

I tak oto konfiguracja wstępna jest gotowa. Minimalne zmiany, ale dość ważne. Teraz zajmijmy się obsługą CD-ROMu. Aby móc korzystać z wirujących krążków w DOSie potrzebujemy dwóch plików sterownika - SHCDX33F.COM oraz XGCDROM.SYS. Google twoim przyjacielem, ale jako, że chcę być jak najbardziej przyjazny dla użytkownika, takież proszę - pierwszy plik oraz drugi plik. Przede wszystkim - mała rada. Wszelkie drivery DOSowe trzymaj w katalogu, do którego łatwo się dobrać, a który także ma maks. 8 liter w nazwie (konwencja nazewnictwa plików/katalogów, przypominam!) Już zdobył(e/a)ś upragnione pliki? Świetnie, wypakuj je zatem gdzieś na dysku C (ja, w poniższych przykładach, będę je trzymał w katalogu C:\DOSDRV). Wracamy do pliku config.sys, i gdzieś w środku (tj. po konfiguracji wstępnej i linijce DOS=high,umb, między device'ami) wpisujemy

DEVICEHIGH /L:1 = C:\DOSDRV\XGCDROM.SYS /D:MSCD001

Zapisujemy. O cholercia, co właściwie teraz się stało? Wyjaśniam - słówko DEVICEHIGH oznacza, że dany sterownik ładować będziemy do pamięci wyższej (jak mówiłem - nie będziemy zagracać konwencjonalnej), switch /L:1 dodatkowo oznacza, że driver będzie siedzieć w pamięci pierwszego poziomu (gdyż co jak co, ale miło, gdyby sterownik CD-ROMu miał jak najszybszy dostęp do danych). Ścieżka do pliku sterownika raczej nie wymaga wyjaśnień, zaś switch końcowy, tj /D:MSCD001 określa z jakiej litery korzystać będzie nowowidoczny CD (tutaj domyślnie, z D: ), zaś MSCD001 to jego nazwa, której za chwilę użyjemy. Gdzie? Ano, w autoexecu. Gdyż póki co sprawiliśmy, że CD-ROM jest widoczny w DOSie, ale potrzebujemy też czegoś, aby umożliwić nam korzystanie ze stacji dysków. Zamknij edycję config.sys i poleceniem

edit autoexec.bat

dobierz się do pliku autowykonywalnego. Tam, zaraz po ustawianiu strony kodowej, wpisz

LOADHIGH /L:2 = C:\DOSDRV\SHCDX33F.COM /D:MSCD001

Zapisz. I zapewne domyślasz się co tu się stało, eh? LOADHIGH jest odpowiednikiem DEVICEHIGH dla autoexecu - to słówko pozwala na ładowanie sterowników/aplikacji do pamięci wyższej z poziomu pliku auto executable, pierwszy switch określa poziom pamięci, zaś ostatni - literę i nazwę stacji dysków, której ma używać. Po wprowadzeniu takich zmian, i zapisaniu pliku autoexec, po kolejnym restarcie w trybie MS-DOS zauważysz nieco więcej białych literek na czarnym tle, a CD-ROM będzie już poprawnie działał w systemie DOS.

*** Myszka ***

CD-ROMek działa, pora na myszkę. I tutaj skorzystamy z innego sterownika, niż standardowy MOUSE.COM od Microsoftu - mianowicie chodzi o Cute Mouse (CTMOUSE.EXE), dzięki któremu działają i myszki na port COM, jak i PS/2. Znajdziesz go ot chociażby tutaj. Będzie o wiele prościej, jako że jedynie trzeba załadować aplikację, która zarządzi poczynaniami myszki. Wracaj do autoexeca i wpisz

LOADHIGH /L:2 = C:\DOSDRV\CTMOUSE.EXE

Uwierzcie mi, prościej chyba nie da rady. Po kolejnym restarcie zauważysz, że i myszka działa w przeróżnych aplikacjach i grach DOSowych. No no, już jesteśmy powoli w stanie pełnej używalności! Ostatnie, co niezwykle by ubarwiło nam życie, to obsługa karty dźwiękowej, czyż nie? Tutaj będzie nieco jajec, ale spokojnie, co to dla nas!

*** Karta dźwiękowa *** 

Jest o tyle prosto, gdyż zazwyczaj, nawet dla starych kart, istnieją sterowniki Windowsowe, które są tak miłe, że dodatkowo mają w sobie także i sterowniki DOSowe (zwłaszcza karty ISA, vide Yamaha OPL3-SAx) i same automatycznie dodają odpowiednie linijki do config'a/autoexec'a. Ale wiadomo, musimy być pewni, że takie coś się zdarzyło - zatem po instalacji sterownika Windowsowego (i upewnieniu się, że działa), wracamy do DOSa i autoexec'a. Pierwsze co powinieneś zauważyć, to linijka na początku

SET BLASTER = A220 I5 D1 T4 (lub podobna)

Słówko SET służy do ustawiania tzw. zmiennych środowiskowych, które są później używane przez aplikacje/programy DOSowe, do identyfikacji ustawień, tudzież szybkiego dostawania się do miejsc przeznaczenia (SET PATH itd.) Tutaj ustawiana jest zmienna BLASTER, która przyjmuje parametry A220 I5 D1 T4. A oznacza adres karty, czyli 220 (0x220), I to poziom obsługi przerwań (IRQ - 1), D to kanał DMA, T oznacza rodzaj karty (lub też emulację takowej) - ręki uciąć nie dam, bo nie mam już manuali oryginalnych - ale 4 oznaczała chyba SoundBlaster'a Pro. Pojawić się tutaj mogą też takie parametry, jak H5 (wysoki kanał DMA), lub P330 (adres portu MIDI), jednak te często już są ustawiane same przez program konfiguracyjny.

Super, zmienna ustawiona, jednak potrzebujemy także jakiegoś programu, który skonfiguruje kartę, i pozwoli na jej używanie! I tutaj się robi już śmieszniej, gdyż w zależności od producenta, linijki te będą się mocno różnić. Zacznijmy od kart Yamaha. W tym wypadku jest bardzo prosto, gdyż w pliku autoexec wystarczy jedynie wykonać program (wykonać, nie ładować do pamięci!) 

C:\PROGRA~1\YAMAHA\YAMAHA~1\SETUPSA.EXE /S

(ścieżka oczywiście może się różnić - w tym wypadku jest to domyślna, proponowana przez instalator sterowników)

Nie zapomnijcie tylko o switchu /S! Uruchomienie programu bez tegoż odpali jedynie mikser głośności karty, który nie skonfiguruje nic, a pozwoli wyłącznie na zmianę poziomów dźwięku poszczególnych kanałów karty (lewy, prawy, dźwięk CD-DA, MIDI itd.) Switch /S określa, że wykonywana będzie wstępna konfiguracja, która pobierze dane ze zmiennej BLASTER, jak i skonfiguruje resztę ustawień (port MIDI, port Joystickowy, baza AdLib itd.) I to wszystko, wasza Yamaha, po takich zabiegach, śmigać będzie jako SoundBlaster Pro 2.0 w grach DOSowych.

Jeżeli chodzi o karty ze stajni Creative'a, to jest tutaj nieco inaczej. Co prawda zmienna BLASTER się nie zmienia, jednak nad nią/pod nią powinieneś zauważyć dodatkowo jeszcze linijkę

SET SOUND=C:\SB16\CTSND lub SET SOUND=C:\PROGRA~1\CREATIVE\CTSND

Naprawdę, konfiguracja karty zależy wyłącznie od producenta, a jak zapewne się domyślacie - tych było wielu. Przedstawiłem tutaj tylko dwa najpopularniejsze przykłady - ale oczywiście w innych przypadkach może to się znacząco różnić. Google nie gryzie! W wielu miejscach są przykładowe pliki autoexec/config, które zawierają w sobie linijki, wymagane do konfiguracji, co z pewnością wam pomoże i naprowadzi na dobry trop.

I na tym zakończymy początkową zabawę z konfiguracją DOSa. Po tych operacjach będziesz mógł się cieszyć gierkami DOSowymi, ale już z obsługą dźwięku, myszki i CD-ROMu. Wszystko ładnie i piękne - jednak pamiętasz, że wspomniałem coś o Windowsowych trzech groszach? Niestety tak jest - dlatego w kolejnej części nauczymy się jak zrobić własne boot menu, z kilkunastoma opcjami, poznamy alternatywy dla HIMEM/EMM386, jak i ostatecznie wyzwolimy DOSa spod Windowsowej tyranii. Do następnego zatem!

Brak komentarzy:

Prześlij komentarz

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