Za mało pamięci pod DOS'em
Brak pamięci w DOS jest jednym z najczęstszych problemów w pracy w tym
środowisku. Nie ma to nic do rzeczy z rzeczywistą ilością pamięci komputera,
ponieważ chodzi tutaj o tzw. "pamięć konwencjonalną". Mamy różne rodzaje
pamięci:
PAMIĘĆ KONWENCJONALNA - to jest ta podstawowa
pamięć, z której korzysta większość aplikacji. Ilość tej pamięci wynosi 640 kb.
Jedyna pamięć nie wymagająca w DOS'ie żadnych dodatkowych sterowników.
PAMIĘĆ WYSOKA (UMB) - Pamięć powyżej pierwszych 640
kb, ale poniżej 1 MB. Czyli ok. 360 kb.
PAMIĘĆ XMS - Pamięć powyżej 1 MB. Np. jeżeli masz
64 MB RAM, XMS = 63 MB.
PAMIĘĆ EMS - Nieużywany już dzisiaj standard
(został wyparty przez XMS, gdyż obsługiwał max. 32 MB)
Aby zwolnić sobie trochę pamięci konwencjonalnej (bo o tą właśnie nam chodzi),
należy w pierwszej kolejności wyrzucić z AUTOEXEC.BAT
i CONFIG.SYS wszelkie niepotrzebne nam
sterowniki. Np. sterownik CD-ROM, jeżeli nie korzystamy z niego w DOS.
Pozostałe sterowniki należy umieścić w UMB.
Zacznijmy od samego DOS'a - aby umieścić go w UMB wystarczy tylko w CONFIG.SYS
dodać linijkę "DOS=HIGH,UMB". Trzeba jednak pamiętać, że aby mieć dostęp do
pamięci UMB niezbędny jest nam sterownik EMM386.EXE, a żeby ten z kolei działał,
niezbędny jest sterownik HIMEM.SYS. Obydwa umieszczamy w CONFIG.SYS. Kolejną
"sztuczką" jest zamiana wszystkich komend "DEVICE" w CONFIG.SYS na "DEVICEHIGH".
W AUTOEXEC.BAT natomiast możemy skorzystać z komendy "LOADHIGH".
Przykładowe pliki:
AUTOEXEC.BAT
SET PATH=C:\WINDOWS\COMAND;C:\WINDOWS
SET TEMP=C:\WINDOWS\TEMP
SET BLASTER=A220 I7 D1 T1 P330 {ustawienie dla mojej karty - u ciebie moze sie
roznic}
SET PROMPT=$p$g
LOADHIGH C:\SYSTEM\SB64\APINIT {jak wyzej...}
CONFIG.SYS
DOS=HIGH,UMB
DEVICE=C:\WINDOWS\HIMEM.SYS /TESTMEM:OFF /NUMHANDLES=64 /V
DEVICEHIGH=C:\WINDOWS\EMM386.EXE RAM /VERBOSE
SHELL=C:\COMMAND.COM C:\ /E:128 /P
STACKSHIGH=0,0
BREAK=OFF
FILESHIGH=50
FCBSHIGH=5
BUFFERSHIGH=10,0
LASTDRIVEHIGH=x {za x podstaw najwysza litere napedu w twoim PC}
Wyłączenie automatycznego startu Windows
Wszystko zależy od wersji Windows'a jaką posiadasz:
dla Windows 3.10 i 3.11 należy usunąć z pliku "C:\AUTOEXEC.BAT" linijkę "win"
Natomiast dla Windows 95/98 należy otworzyć plik msdos.sys poleceniami (w DOS)
ATTRIB C:\MSDOS.SYS -S -H -R +A
EDIT C:\MSDOS.SYS
i sprawdzić czy istnieje linijka "BOOTGUI=x" gdzie x bedzie miało wartość 1 lub
0. Jeśli taka linijka istnieje, i wartość x wynosi 1, należy zmienić 1 na 0.
Jeśli natomiast linijki takiej w ogóle nie ma, to wystarczy dopisać ją na samym
końcu pliku: BOOTGUI=0 ...i plik zapisać. Dla pewności warto sprawdzić czy w
pliku C:\AUTOEXEC.BAT nie widnieje linijka "win", a jeśli jest - usunąć ją.
Tylda (znak: ~) nie działa. - jak ją wstukać?
Problem pojawia się przy sterowniku Microsoftu, odpowiedzialnym za polską
klawiaturę. Wszechwiedzący Microsoft po prostu zapomniał o obsłudze tyldy... Jak
ważny jest to znak wie każdy, kto kiedykolwiek próbował uzyskać dostęp do
długiego katalogu/pliku w trybie DOS (Nazwy są skracane, a na koniec dodawana
jest tylda z liczbą porządkową).
Najskuteczniejszym sposobem jest oczywiście pozbycie się sterownika klawiatury,
i korzystanie z innego - z obsługą tyldy (np. keybpl).
Jest jednak drugi sposób - znacznie prostszy. Otóż polega on na małym triku:
Najpierw, włącz klawiaturę numeryczną (musi świecić się dioda "NumLock"),
następnie wciśnij lewy ALT.
Trzymając go, wstukaj z klawiatury numerycznej (po prawej stronie klawiatury)
kolejno liczby: 126 i puść ALT. Działa to na każdym komputerze.
Na czym polega ten sposób?
Otóż jest to "skrót klawiaturowy", który umożliwia wysłanie jakiegokolwiek znaku
ASCII za pomocą jego kodu. Kod ASCII tyldy to 126. Tym sposobem można wstukać
każdy dostępny symbol.
Jak zapisać BIOS karty graficznej do pliku?
Aby zapisać BIOS z karty graficznej do pliku, użyjemy programu DEBUG (dostępny
domyślnie w każdej wersji DOS):
1. Uruchomić DEBUG
(Poleceniem DEBUG w linii poleceń)
2. d c000:0 l 3
Ostatni wyświetlony bajt jest rozmiarem w jednostkach 0.5k, np. 40 hex =
64
3. h 40 40
Sumuje wartość do samej siebie, wynikiem jest np. 80, dzięki temu
otrzymamy rozmiar w jednostkach 256 bajtów
3. rcx 8000
Powiadamia DEBUG o rozmiarze w jedostkach bajtowych (8000 jest ??00, z
powyższego ??=80)
4. m c000:0 l 8000 cs:100
Kopiuje BIOS (8000 to rozmiar: ??00 jak powyżej) do pamięci podręcznej
5. nvgabios.bin
Nadaje zbiorowi jakąś nazwę (n+nazwapliku - w tym przykładzie to "vgabios.bin")
6. w
Zapisuje plik na dysk
7. q
Wychodzimy z DEBUG
Autorem tego tricku jest Eric Auer (współtwórca projektu FreeDOS)
Drukujemy w DOS-ie
Jak drukować dokumenty ze starego programu pracującego w okienku DOS-owym gdy
do komputera jest podłączona tylko drukarka sieciowa, a aplikacja ta wymaga
portu lokalnego?
Drukowanie w sieci z poziomu DOS-u wymaga przyporządkowania drukarce własnego
portu. W Windows 95/98/Me najlepiej jest skonfigurować port już w momencie
instalowania drukarki sieciowej. W tym celu przywołaj menu Start | Ustawienia |
Drukarki, a następnie kliknij dwukrotnie ikonę Dodaj drukarkę.
Zaznacz opcję Drukarka sieciowa, a w kolejnym oknie podaj ścieżkę dostępu do
drukarki. Zaznacz opcję Tak pod pytaniem Czy drukujesz z programów systemu
MS-DOS?. Następnie potwierdź przyciskiem Dalej i kliknij przycisk Przechwyć port
drukarki. Po wybraniu z listy portu LPT1, programy DOS-u będą mogły korzystać z
drukarki sieciowej.
W Windows 2000 i XP kliknij prawym przyciskiem myszy ikonę zainstalowanej
drukarki sieciowej i z menu podręcznego wybierz polecenie Właściwości. Wybierz
kartę Porty i zaznacz pole wyboru Włącz buforowanie drukarek. Następnie wybierz
z listy portu LPT1 i gotowe.
Porada dotyczy systemów: Windows 95, 98, Me, 2000, XP, (Vista ??)
D.F.
|