Porady - Pamięć |
Pamięć konwencjonalna to pierwsze 640 kB twojego komputera. Pamięć od 640 kB do 1MB nazywana jest gornym obszarem pamięci (upper memory). Pamięć powyżej 1MB to Pamięć rozszerzona. Większość programów i sterowników ładowanych w autoexec.bat i config.sys wczytuje się do pamięci konwencjonalnej. Niestety, większość starszych gier ma dość duże wymagania odnośnie wolnej pamięci konwencjonalnej (są takie, które nie uruchomią się , jeżeli nie będziemy mieli przynajmniej 610 kB wolnej pamięci) i stąd właśnie problemy. Jak sobie poradzić w takiej sytuacji? Należy jak najwięcej programów i sterowników załadować do pamięci górnej, zwalniając w ten sposób Pamięć konwencjonalną. (Problem w tym, że nie wszystkie programy da się załadowac do pamięci górnej...) W pliku autoexec.bat ładujemy więc programy komendą lh (wpisujac ją przed nazwą programu), zaś w config.sys używamy komendy devicehigh (zamiast standardowego device). Jeżli używasz polskiej wersji Windows 98, to odwiedź również stronę http://windows.online.pl/, z której zgraj specjalny patch poprawiający uszkodzony plik io.sys.
Oto przykładowe pliki autoexec.bat i config.sys, wraz z komentarzami:
CONFIG.SYS
rem a) Ładujemy manager obsługi pamięci rozszerzonej
DEVICE=C:\DOS\HIMEM.SYS /TESTMEM:OFF
rem b) Udostepniamy pamięć górną oraz obsługe pamięci typu EMS
DEVICE=C:\DOS\EMM386.EXE NOEMS
rem Parametr noems jak sama nazwa wskazuje nie daje EMS.
rem Sa w zasadzie 3 mozliwosci:
rem emm386 bez żadnych parametrów - tylko EMS
rem emm386 noems - tylko UMB
rem emm386 ram - EMS i UMB
DEVICEHIGH=C:\CDROM\TOSHV215.SYS /D:MSCD000 /C:A
rem d) Chcemy żeby DOS zajął się obsługą pamięci górnej (UMB) i chcemy
rem żeby załadował się tam przynajmniej czesciowo (HIGH)
DOS=HIGH,UMB
rem e) Jeszcze małe zmiany kosmetyczne (szybsze ladowanie)
SWITCHES=/F/N
rem f) Polska strona kodowa
DEVICEHIGH=C:\DOS\DISPLAY.SYS CON=(EGA,,1)
COUNTRY=048,852,C:\DOS\COUNTRY.SYS
rem g) Ilość buforów dyskowych i jednocześnie otwartych plików (po
rem dokladniejsze info zapraszam do dokumentacji DOSa)
BUFFERS=30
FILES=50
rem h) Maksymalna ilość dysków , do ktorych bedziemy mieć dostęp
rem Mniejsza liczba = troszkę więcej pamięci...
LASTDRIVE=L
Uwagi:
- W przypadku Win9x komendy odpowiadające tym ze starego DOSa beda się znajdowaly w katalogu C:\WINDOWS\COMMAND. Należy odpowiednio pozmieniac scieżki.
- W Win9x EMM386.EXE i HIMEM.SYS znajdują się w katalogu C:\WINDOWS\
- Podając mniejsze wartości dla BUFFERS, FILES i LASTDRIVE możemy uzyskać odrobine więcej pamięci (64 bajty zostają zarezerwowane dla każdej wartości FILES, i 80 bajtów dla każdej wartości LASTDRIVE). Musimy jednak uważać, aby nie przydzielić tym zmiennym zbyt małych wartości (np. jeśli podamy za małą wartość FILES, niektóre gry i programy mogą się zacząć wieszać, lub nie bedą się chciały uruchomić)
- W przypadku Win9x zamiast FILES I BUFFERS możemy stosować FILESHIGH i BUFFERSHIGH - wtedy pamięć dla buforów i plików będzie przydzielana w górnym obszarze.
AUTOEXEC.BAT
rem a) Nie chcemy, żeby wykonywane w tym pliku komendy ukazywały się na
rem ekranie
@ECHO OFF
rem b) Standardowy znaczek zachęty
PROMPT $P$G
rem c) Ustawienie scieżki dostępu
SET PATH=C:\DOS;C:\DN
rem d) Ustawienie zmiennych systemowych (jak np. katalog tymczasowy
rem charakterystyka karty dzwiekowej...)
SET TEMP=C:\TRASH
SET BLASTER=A220 I5 D1 T4
SET TERM=ibmpc-color
rem e) Załadowanie programu smartdrv (szybszy dostęp do dysku)
LH SMARTDRV.EXE >NUL
rem f) Załadowanie sterownika CD-Romu
LH C:\DOS\MSCDEX.EXE /D:MSCD000 /L:J
rem g) Polska strona kodowa
MODE CON CODEPAGE PREPARE=((852) C:\DOS\EGA.CPI)
MODE CON CODEPAGE SELECT=852
KEYB PL,,C:\DOS\KEYBRD2.SYS
rem h) Załadowanie pozostalych programów
LH C:\MOUSE\MOUSE.COM >NUL
LH C:\DN\DN.EXEUwagi:
- Te same co poprzednio
- W przypadku Win9x punktu e nie stosuje się
- Stosując powyższe pliki konfiguracyjne, pod DOSem 6.22 udało nam się uzyskać 616K wolnej pamięci konwencjonalnej (przy użyciu standardowych sterowników). Należy zauważyć, że spora część gier obejdzie się bez sterownika CD-ROM.
2. Pamięć rozszerzona (EMS/XMS)
EMS to pamięć typu Expanded, zas XMS to pamięć typu Extended. Te dwa pojęcia oznaczają różny sposób obsługi pamięci przez nasz komputer. Standardowo rozszerzona pamięć w naszych komputerach rozpoznawana jest jako XMS. Emulację pamięci EMS umożliwia nam program EMM386. Jeżeli całą naszą pamięć rozszerzoną chcemy zadeklarować jako XMS, wtedy w config.sys należy napisać:
DEVICE=C:\DOS\EMM386.EXE NOEMS
Jeżeli chcemy, żeby system operacyjny widział całą naszą pamięć jako EMS, wtedy w config.sys należy napisać:
DEVICE=C:\DOS\EMM386.EXE RAM
Jeżeli chcemy tylko niewielką ilość pamięci (np. 4Mb) zadeklarowac jako EMS, zaś pozostałą zostawić jako XMS, należy napisać:
DEVICE=C:\DOS\EMM386.EXE 4096
Uwagi:
Wszystkie ścieżki są napisane dla standardowego katalogu DOS. Jeżeli masz zainstalowany Windows 9x, to plik EMM386 znajduje się w katalogu z Windows 9x.