Uniwersytet Gracza Nr 50

uniwersytetO PAMIĘCI

Pecety są jednymi z najgorszych komputerów, jakie można w tej chwili kupić – przynajmniej jeśli weźmie się pod uwagę wygodę obsługi. Nawarstwiające się przez lata nakładki i dodatki do systemu operacyjnego, a także konieczność zachowania zgodności nowszych modeli pecetów ze starszymi spowodowało, iż poprawne skonfigurowanie i używanie tego rodzaju komputera to niemała sztuka. Potwierdzają to zresztą wyrastające jak grzyby po deszczu kursy, uczące rzeczy, które kupujący komputer powinien poznać z instrukcji obsługi.

Nie mam zamiaru wygłaszać tu peanów na cześć komputerów takich jak Macintosh. Napiszę za to kilka słów o problemie z jakim najczęściej styka się gracz, któremu nie zdarzyło się uczęszczać na żaden z wyżej wspomnianych kursów. Jest to problem pamięci…

Pamięć w pecetach nie stanowi jednego kawałka, lecz podzielona jest na różne obszary. Co gorsza ich wielkość możemy zmieniać, możemy je włączać i wyłączać – zaś gry potrafią domagać się najdziwniejszych konfiguracji pamięci. Zobaczmy zatem, co robić, gdy gra stwierdzi iż:

  1. Brakuje pamięci Extended (lub XMS)

Jeżeli posiadamy komputer XT lub AT, to niestety musimy zaprzestać usiłowań uruchomienia tej gry – na komputerach tych nie jest bowiem możliwe „utworzenie” pamięci XMS.

Nawet jeśli nasz komputer jest co najmniej maszyną klasy 386, to i tak może się okazać, że zainstalowano w nim zbyt mało kości pamięci. Całkowita ilość zainstalowanej pamięci wyświetlana jest przez komputer po włączeniu i zwykle podawana w kilobajtach (KB). Warto przy tym wiedzieć, iż 1024 kilobajty to jeden megabajt.

Aby dowiedzieć się ile możemy otrzymać pamięci XMS, wystarczy odjąć od powyższej wielkości 1024 kilobajty. Jeśli nasza gra wymaga więcej, to, niestety, nie uruchomimy jej i jeśli w dalszym ciągu chcemy w nią grać, powinniśmy udać się do sklepu po nowe moduły pamięci.

Co jednak, jeśli pamięci wystarcza, gra zaś dalej odmawia współpracy? Przede wszystkim należy sprawdzić, czy w pliku CONFIG.SYS ładowany jest sterownik HIMEM.SYS: DEVICE=C:\WINDOWS\HIMEM.SYS. Jeśli jest i dalej nie osiągnęliśmy sukcesu, powinniśmy wydać polecenie MEM, aby sprawdzić czy przypadkiem część pamięci XMS nie została „zjedzona” przez inne programy. Zwykle „przyspieszacz” dysku twardego SMARTDRV wykorzystuje na swoje potrzeby 1-2 megabajty. Może też zdarzyć się, że część pamięci XMS została wykorzystana do emulacji pamięci EMS, co może się zdarzyć w starszych wersjach DOS (poniżej 5.0). Jeśli tak jest, to powinniśmy dopisać w linii DEVICE=C:\WIN-DOWS\EMM386.EXE komendę NOEMS (chyba że gra potrzebuje zarówno EMS i XMS – wtedy w tej linii należy wpisać liczbę oznaczającą potrzebną ilość pamięci EMS np. DEVICE=C:\WIN-DOWS\EMM386.EXE 1024 i modlić się o to, by wystarczyło nam pamięci fizycznej).

2.Brakuje pamięci Expanded (lub EMS)

Nowe gry rzadko korzystają z pamięci EMS, ale cóż, takie też czasem się zdarzają. Aby „włączyć” pamięć EMS, należy w pliku CONFIG.SYS dopisać linię : DEVICE=C:\WIN-DOWS\EMM386.EXE RAM Dzięki temu cały obszar pamięci XMS będzie mógł być także w razie potrzeby wykorzystany jako pamięć EMS. Warto tu zwrócić uwagę, że w tym przypadku polecenie MEM może dawać mylące informacje o ilości pamięci – wydawać się będzie, iż jest jej dwa razy więcej.

Niestety, jeśli jesteśmy posiadaczem starszej wersji DOS, to możemy jedynie wydzielić część pamięci przeznaczając ją wyłącznie do wykorzystania jako EMS. Wpisanie powyższej linii spowoduje zatem, iż cała dostępna nam pamięć zamieni się w EMS. Należy zatem dopisać po słowie RAM liczbę kilobajtów EMS, jakiej naprawdę potrzebujemy.

Rozważania z części pierwszej dotyczące ilości pamięci także mają tutaj zastosowanie.

3.Brakuje pamięci konwencjonalnej (lub pamięci DOS, pamięci dolnej)

Oj, fatalnie. Walka o dodatkowe kilobajty tej pamięci nie jest prosta. Poza naszą grą korzystać z niej muszą dodatkowe programy – przede wszystkim sterownik myszki, a często i CD-ROM-u.

Najlepiej zdać się tutaj na specjalne programy, które zanalizują nasze pliki AUTOEXEC.BAT i CONFIG.SYS, po czym postarają się tak je zmodyfikować, byśmy otrzymali jak najwięcej wolnych kilobajtów. W DOS 6.0 i wyższych mamy całkiem niezły program MEMMAKER, możemy także skorzystać z QEMM – aczkolwiek tego drugiego nie polecam.

Jeśli zaś chcemy bawić się sami – cóż, oto kilka porad:

– utwórzmy pamięć UMB, dodając sterownik EMM386 z komendą RAM

– wszystkie polecenia DEVICE zamieniamy na DEVICEHIGH (poza pierwszym, ładującym HIMEM.SYS)

– w AUTOEXEC.BAT wszystkie programy rezydentne ładujemy komendą LOADHIGH

– dopisujemy do CONFIG.SYS linię DOS=HIGH, UMB

– zmniejszamy liczby występujące po komendach BUFFERS, FILES tak długo, dopóki to możliwe (czyli dopóki dają się uruchamiać potrzebne nam programy)

– w CONFIG.SYS dopisujemy linię FCBS=1, o ile nie powoduje to niepoprawnego działania używanych przez nas programów.

– jeśli mamy Windows95, to zamieniamy polecenia : STACKS na STACKSHIGH, BUFFERS na BUFFERSHIGH, FILES na FILESHIGH

– eksperymentujemy zmieniając kolejność ładowania sterowników i programów rezydentnych

– wyrzucamy niepotrzebne nam do grania programy rezydentne – jak na przykład DOSKEY, SETVER, SCROLLIT i temu podobne (przed liniami je zawierającymi wystarczy dopisać komendę „rem”).

Uff. Strasznie wygląda to wszystko skomplikowanie – i, niestety, nie będę Was pocieszał, JEST skomplikowane. Warto spojrzeć na zamieszczoną obok przykładową konfigurację — kilka zawartych w nie objaśnień powinno trochę pomóc w walce z pamięcią.

Mam tylko nadzieję, że Windows95 szybko się rozpowszechni i powstawać będzie coraz więcej gier dla tego systemu. One nie mają takich kłopotów z pamięcią (mają inne – ale to chyba temat na inny wykład)

Gawron

plik CONFIG.SYS
DEVICE=C:\WINDOHS\HIGHMEM.SYS
REM dzięki temu mamy pamięć XMS
DEVICEHIGH-C:\WINDOWS\EMM386.EXE RAM
REM Teraz pamięć EMS. Komenda RAM włącza REM nam obsługę
REM pamięci UMB, do której można „schować’ sterownik
REM myszy czy CDROM.
REM Komenda DEVICEHIGH będzie starać się REM załadować
REM sterownik do pamięci innej niż „dolna”

D£VICEHIGH-C:\TOOLS\CDROM\ATAP1_CD.SYS /S:3 /D:MSCD001
REM A to sterownik CDROM. Znaczenie DEVICEHIGH już znamy
DOS=HIGH.UMB
REM Staramy się załadować niezbędne do pracy komputera
REM części systemu operacyjnego a pamięci innej niż .dolna”
FILESHIGH=8
BUFFERSHIGH=5,0
STACKSHIGH=8,32
REM Ograniczamy zbędne elementy systemu.
REM Korzystamy przy tym z poleceń Windows?:

plik AUTOEXEC.BAT LOAOHIGH C:\TOOLS\MOUSE.COM
REM sterownik myszki ładujemy do pamięci REM innej niż „dolna”
LOADHIGH MSCDEX.EXE /D:MSCD001 /V/E
REM podobnie drugą część sterownika CDROM

A oto efekt, czyli raport podawany przez komendę MEM

Przy 16 MB RAM-u mamy zatem 609 kilobajtów pamięci „dolnej” i 15 megabajtów pamięci, które będą przydzielane programom jako pamięć EMS bądź XMS, w zależności od potrzeb.

MemoryType Total Used Free
Conventional 640K 31K 609K
Upper 27K 25K 2K
Reserved 384K 384K OK
Extended (XMS)* 15.333K 501K 14.832K
Total memory 16.384K 941K 15.443K
Total under 1 MB 667K 56K 611K

Totał Expanded (EMS)       15M  (16,039.936 bytes)
Free Expanded (EMS)*      15M  (15.417,344 bytes)
EMM386 is using XMS memory to simulate EMS memory as needed. Free EMS memory may change as free XMS memory changes.
Largest executable program size         609K (623,296 bytes)
Largest free upper memory błock         2K (1,616 bytes)
MS-DOS is resident in the high memory area.

 

<- Uniwersytet Gracza 49 Uniwersytet Gracza 51 ->

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *


2 × = osiemnaście

*