wtorek, 24 września 2013

EX11 - Konfigurujemy stary komputer: DOS (cz. 2)

Grzebania w DOSowym necronomiconie ciąg dalszy. Przykro mi - jeżeli zacząłeś pierwszą część, to już nie ma dla ciebie nadziei i odwrotu, siedzisz w tym bagnie po uszy. A ostrzegam, będzie jeszcze trudniej! Dziś obalimy despotyczne rządy Windows'a w bootowaniu, jak i stworzymy sobie własne boot menu, z kilkunastoma możliwymi opcjami.

Tym oto optymistycznym akcentem rozpoczynamy drugą część poradnika na temat konfiguracji systemu DOS na starej machinie. W poprzedniej części nauczyliśmy się edytować pliki config.sys oraz autoexec.bat, jak i dowiedzieliśmy się jak ładować sterowniki/aplikacje, używane przez system, by ten był jak najbardziej kompletny, pod względem używalności. Dziś zagłębimy się jeszcze bardziej w pradawnych, DOSkonałych technikach komputerowych, by wykorzystać maksymalny potencjał, drzemiący już w wybitnie prehistorycznym systemie.

Tak jak wspomniałem ostatnio - nawet jeżeli zrestartujesz komputer w trybie MS-DOS, to i tak Windows, jako niezwykle życzliwy i miły system, dołoży swoje 3 grosze, jeżeli chodzi o zupełnie nikomu niepotrzebne aplikacje, które pożerają zasoby systemowe. Nie wierzysz mi? Normalnie uruchomiony DOS na mojej machinie posiadał ledwo ponad 550 wolnych kilobajtów pamięci konwencjonalnej, co już przekreślało kilkanaście wymagających gierek (a te potrafiły żądać nawet i 575-580 KB). Po kilkunastu edycjach plików systemowych, DOS nadal posiadał taką samą funkcjonalność, a ilość wolnej pamięci wzrosła do 608 KB, co praktycznie eliminuje jakiekolwiek problemy z pamięcią wśród gier i aplikacji DOSowych - i to bez użycia jakieś QEMMów, czy innych tego typu programiów. Tak więc jak widzicie - naprawdę warto się troszkę w tym pobabrać, aby mieć takie zadowalające wyniki.

Ok, tyle słowa na niedzielę, teraz przechodzimy do konkretów. Pierwsze co - ściągnij z internetu dwa pliki: HIMEMX.EXE oraz JEMM.EXE. Oba znajdziesz tutaj. Nie pytaj po co, po prostu ściągnij, a następnie wrzuć do katalogu z pozostałymi DOSowymi sterownikami, później się przydadzą. Restartuj machinę do trybu MS-DOS, wracaj na dysk (cd\), a następnie zdejmij z pliku msdos.sys wszelkie atrybuty go chroniące poleceniem

attrib msdos.sys -s -h -r

Następnie zajmij się edycją tegoż pliku poprzez

edit msdos.sys

Zobaczysz znajomy widok:


Najbardziej interesuje nas tutaj linijka BootGUI, która odpowiedzialna jest za ładowanie powłoki. Powiedzmy stanowcze NIE takim procederom, poprzez zmodyfikowanie jej na

BootGUI=0

Zapisz, wyłącz i udawaj, że nigdy tam cię nie było. Dla niepoznaki także przywróć oryginalne atrybuty plikowi:

attrib msdos.sys +s +h +r

Pierwsza część już za nami, możesz odetchnąć z ulgą. Ale z nie za dużą, gdyż przygotuj się teraz na edycję w najmocniejszym tego słowa znaczeniu. Odpal edycję pliku config.sys (edit config.sys).

Teraz mały tutorial - do stworzenia boot menu będziemy używać sekcji. Będą one rozdzielone poprzez identyfikator, poprzedzony kwadratowym nawiasem, np. [tojestsekcja]. Używać ich będziemy do identyfikowania poszczególnych konfiguracji systemowych, które chcemy posiadać w menu bootowania. Wiem, że najlepszą nauką są przykłady i analogia, tak też przed kombinowaniem u siebie, zerknij na zawartość mojego pliku CONFIG.SYS, aby mieć lepsze pojęcie jak wszystko wygląda:


Zacznijmy od pierwszej sekcji - na samym początku, przed jakimikolwiek linijkami, wpisz [common]. Ta sekcja zawiera w sobie elementy wspólne dla każdej konfiguracji - tj. zawsze będą załadowane. Jak zauważyłeś na przykładzie, to właśnie tutaj powinny się znaleźć wszelkie elementy początkowe, znaczy się DOS, FILES, BUFFERS, STACS, LASTDRIVE, FCBS itd.

Kolejna  sekcja nosi nazwę [menu], i to właśnie ona odpowiada za wygląd boot menu, jak i ilość opcji w nim dostępnych. Składnia jest następująca:
  • MENUITEM dla dostępnej opcji, gdzie MENUITEM=etykieta,nazwa np.
MENUITEM=dos,System MS-DOS
  • MENUDEFAULT dla domyślnie podświetlonej opcji, która po określonej ilości czasu zostanie sama uruchomiona, MENUDEFAULT = etykieta,czas uruchomienia (w sekundach) np.
MENUDEFAULT=win98,15 - po 15 sekundach bezczynności automatycznie zostanie uruchomiona konfiguracja etykiety "win98"

Dodaj tyle elementów do menu, ile uznasz za stosowne. Zapamiętaj tylko nazwy etykiet, gdyż z tych będziemy korzystać i w configu, ale także i w autoexec'u! A pro po korzystania z nich w configu - właśnie na to przyszedł czas - kolejne sekcje będą nosić nazwy etykiet, które stworzyłeś w sekcji [menu]. I tutaj właśnie przychodzą nam na pomoc pliki HIMEMX.EXE i JEMM.EXE - są to odpowiedniki sterowników HIMEM.SYS oraz EMM386.EXE, które działają o wiele lepiej, niż Microsoftowe oryginały, posiadają większą funkcjonalność, jak i pracują nieco szybciej. Wspaniałe rozwiązanie dla DOSa, jednak mała uwaga - oba sterowniki nie współpracują z Windowsem (innymi słowy Win'a nie odpalisz na combosie HIMEMX i JEMM, gdyż ten zacznie się pluć o dostęp do pamięci rozszerzonej - dla niego trzeba zostać przy HIMEM i EMM386).

Tak więc mając wszystkie te wskazówki na uwadze, warto stworzyć sobie sekcję dla Windowsów, posiadającą HIMEMa i EMM386 na pokładzie, np.

[win98]
DEVICE=C:\WINDOWS\HIMEM.SYS
DEVICE=C:\WINDOWS\EMM386.EXE
DEVICEHIGH /L:1 =C:\WINDOWS\COMMAND\display.sys con=(ega,,1)
 
ale także i sekcję dla DOSa typowo gierkowego, gdzie skorzystamy z HIMEMXa oraz JEMMa, z odpowiednimi sterownikami:
 
[dos]
DEVICE=C:\DOSDRV\HIMEMX.EXE
DEVICEHIGH=C:\DOSDRV\JEMM\JEMM386.EXE
DEVICEHIGH /L:1 =C:\DOSDRV\Xgcdrom.sys /D:MSCD001
DEVICEHIGH /L:1 =C:\WINDOWS\COMMAND\display.sys con=(ega,,1)
 
 
Innymi słowy - kombinuj z możliwymi konfiguracjami! Ale pamiętaj, że przyda ci się także kilka innych opcji - dokładniej to DOS ze zwykłym HIMEMem czy EMM386 (gdyby gierka się wykrzaczała na odpowiednikach), DOS z HIMEMem, ale bez EMMa/JEMMa (co niektóre gry posiadały wbudowane w siebie menadżery pamięci poszerzonej [notabene Ultima VII], co powodowało komunikat z błędem przy próbie uruchomienia z (J)EMMem), jak i DOSowy tryb awaryjny (z minimalnym kompletem sterowników), gdyby cokolwiek złego stało się z kompem i potrzebna by była nagła interwencja w trybie tekstowym.
 
I tak właśnie wygląda edycja pliku config.sys. Ale chwila! Zmiany w konfiguracji są, należy wiwatować. Ale nie możemy zapomnieć także o edycji pliku autoexec.bat, by i w nim odzwierciedlić zmiany, które wprowadziliśmy do configa. Podobnie jak wcześniej:
 
(zawartość ta odzwierciedla konfigurację powyższego pliku CONFIG.SYS) 

Teraz właśnie nauczymy się tzw. instrukcji skoku (goto), z której będziemy korzystać przy edycji pliku autoexec.bat. Jak zauważysz na przykładzie powyżej, początek niewiele będzie się różnić z twoją wersją. Dopiero po ustawieniu zmiennych systemowych zauważysz oto taką sympatyczną linijkę:

GOTO %CONFIG%
 
Ta instrukcja skoku wskazuje, że system winien teraz udać się do pliku CONFIG.SYS, i odpalić nasze wcześniej przygotowane boot menu. Po załadowaniu sterowników z configu akcja przeniesie się z powrotem do autoexec'a, który rozpocznie skakanie po kolejnych linijkach skryptu, w celu dostania się do docelowej konfiguracji. Tutaj także korzysta się z sekcji, jednak nieco inaczej, niż w przypadku CONFIG.SYS. Tam sekcje były oznaczane przez etykietę z kwadratowymi nawiasami, tutaj widnieć będą jako nazwa etykiety, poprzedzona dwukropkiem:
 
:nazwa_etykiety
tutaj ładuj poszczególne sterowniki
goto end 
 
Pamiętaj tylko, by nazwy etykiet były takie same, jak w CONFIG.SYS! Tak więc jeżeli etykieta odpowiedzialna za ładowanie Windows'a w configu była nazwana 'win98', tak też i w autoexecu musisz stworzyć odpowiednią sekcję, poprzedzoną linijką :win98. Aby rozpocząć ładowanie Windows'a poprzez autoexec'a, wystarczy jedynie komenda win, np.
 
:win98
win
goto end
 
Oczywiście trzeba też tutaj wrzucić pozostałe konfiguracje (tyle samo, ile różnych opcji stworzonych było w configu), np. dla DOSa, z obsługą CD-ROMu, myszki i karty dźwiękowej:
 
:dos
LOADHIGH /L:2 =C:\DOSDRV\CTMOUSE.EXE
LOADHIGH /L:2 =C:\DOSDRV\SHCDX33F.COM /D:MSCD001
c:\progra~1\yamaha\yamaha~1\SETUPSA.EXE /S
goto end
 
I tak dalej, i tak dalej, aż ostatecznie pokryjesz wszystkie etykiety z CONFIG.SYS. Nie zapomnij tylko na samym końcu pliku (po wszystkich konfiguracjach) napisać 
 
:end
 
jak i goto end przy końcu każdej z sekcji, bo w przeciwnym wypadku instrukcja skoku nie zadziała!

Zapisz zmiany i uruchom ponownie komputer. Jeżeli nic się nie popieprzyło, to przed wystartowaniem Windows'a zobaczysz swoje boot menu, na ten przykład:


I to już wszystko! Po takich oto zabiegach śmigać zarówno będzie Windows, jak i DOS, już z maksymalną ilością wolnej pamięci, jak i bez zbędnych śmieci w tejże. Jeżeli doczytałeś się aż tutaj - i wszystko u siebie wykonałeś poprawnie - to należy ci się solidne poklepanie po plecach, jak i najbardziej epickie piwo świata. Przebrnąłeś przez dwie części prawdopodobnie najtrudniejszego tutoriala, jaki kiedykolwiek się pojawił (tudzież się jeszcze pojawi) na HPZ. Gratuluję!

Brak komentarzy:

Prześlij komentarz

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