# Opis emulatora systemu operacyjnego DOS

## Autor: Mike Deisher
Uaktualnione przez Uwe Bonnes dla dosemu-0.64.4, 15 Marca 1997
Uaktualnione przez Davida Hodgesa davidhodges@altavista.iname.com
Dla dosemu-0.98.6, 24 Kwietnia 1999
Wersja polska: Bartosz Maruszewski B.Maruszewski@jtz.org.pl
v2.0, 14 Sierpnia 1999

Jest to dokument opisujący dosemu i zawierający Często Zadawane Pytania na jego temat. Najbardziej aktualna wersja oryginału tego dokumentu znajduje się po adresem www.dosemu.org. Wersji oryginalnej możesz też poszukać w Polsce pod adresem ftp.icm.edu.pl. Dokument ten został napisany w standardzie ISO-8859-2.

## 1. Wstęp.

## 1.1 Co to w ogóle jest DOSEMU?

Cytując podręcznik, dosemu jest programem dla wszystkich użytkowników danego serwera, który korzysta z pewnych specjalnych cech jądra Linuksa oraz procesora 80386, aby uruchomić system MS-DOS/FreeDOS/DR-DOS. Emulator tego systemu, kombinacja sprzętowych i programowych trick-ów, ma następujące właściwości:

- zdolność naśladowania wszystkich instrukcji procesora i operacji wejścia/wyjścia.
- pozwala na wykorzystanie 16-bitowego adresowania trybu rzeczywistego rodziny procesorów iAPX86, podczas gdy sam działa w trybie chronionym
- jeśli zachodzi taka potrzeba, ze względu na właściwe funkcjonowanie czy też jakośc działania, istnieje możliwość zablokowania wszystkich odwołań systemowych DOS-a i BIOS-a oraz ich emulacja.
- możliwość symulowania sprzętowego środowiska, nad którymi programy DOS-owe mają mieć kontrolę.
- zapewnia usługi systemu DOS korzystając w tym celu z usług Linux-a, na przykład dosemu pozwala na używanie dysku wirtualnego, który w rzeczywistości jest jednym z katalogów Linux-a.

W tym miejscu chciałbym podziękować Piotrowi Tęczyńskiemu oraz Wojtkowi Gałązce za pomoc w przetłumaczeniu powyższych pięciu punktów.

## 1.2 Na jakich systemach operacyjnych działa DOSEMU ?

DOSEMU zostało pierwotnie napisane dla Linuksa. Działa także w NetBSD i możliwe, że także w FreeBSD, jednak emulacje graficzne racej nie będą działać w NetBSD. Co oznacza, że wszystkie programy DOS-owe używające trybu graficznego (większość programów) nie będą działały.

## 1.3 Na jakich procesorach działa DOSEMU ?

Działa tylko na rodzinie Intel 80x86, czyli 80386, 80486, Pentium itp.

## 1.4 Co jeśli mam procesor Alpha/Sparc/Motorola/inny nie-Intel ?

DOSEMU działa tylko na rodzinie procesorów x86, ale są wyjścia alternatywne: Bochs (http://www.bochs.com) jest shareware'owym emulatorem komputera PC z dostępem do kodu źródłowego, który to emulator działa na większości Uniksów (jak również na MS-Windows). A są jeszcze inne opcje (non-free) - poczytaj FAQ grupy comp.emulators.misc dostępne w Polsce pod adresem ftp.icm.edu.pl/pub/doc/usenet/comp/emulators/misc/

## 1.5 Czy potrzebuję MS-DOS-a, aby używać DOSEMU ?

Nie. Potrzebujesz jakiejś wersji DOS-a, ale nie musi to być koniecznie MS-DOS. Przeczytaj rozdział "Jakie wersje DOS-a działają z DOSEMU ?".

## 1.6 Czy mogę uruchamiać programy dla Microsoft Windows w DOSEMU ?

Nie jest to rozsądne. Lepiej żebyś użył emulatorra Windows -- Wine (http://www.winehq.com). Jeśli upierasz się, aby uruchomić Windows w DOSEMU, to poczytaj rozdział 8 -- DOSEMU i MS-Windows 3.1.

## 1.7 Chcę uruchomić coś co nie działa w DOSEMU czy WINE.

Przeczytaj punkt 1.4.

## 1.8 Nazwy i liczby.

> `(xx/yy/zz) oznacza dzień xx, miesiąc yy, rok zz (9/2/97).`

> `winemu oznacza uruchomienie WinOS/2 w dosemu (10/2/97).`

## 1.9 Jakiej wersji dosemu powinienem używać?

Dosemu używa tego samego schematu numerowania wersji co jądro. Drugie liczby nieparzyste oznaczają wersję rozwojową, czyli niestabilną, drugie parzyste liczby oznaczają wersję uznaną za stabilną. Podczas pisania tego dokumentu, v0.98.6 jest najnowszą stabilną wersją, podczas gdy v0.99.10 jest najnowszą wersją rozwojową. Tak więc jeśli chcesz używać dosemu, zdobądź najnowszą stabilną wersję.

## 1.10 Jaka jest najnowsza wersja dosemu i skąd ją mogę wziąć?

Najnowszą wersją dosemu na dzień dzisiejszy (9/4/99) jest dosemu0.98.6 i można ją znaleźć na:

> `SUNSite Polska`

> `ftp.dosemu.org`

[Od tłum.]
Lepiej używać adresu w Polsce, bo z zagranicy czas ściągania może się znacznie wydłużyć.

Pamiętaj, że to jest kod ALPHA: mogą być tam poważne błędy i mało dokumentacji na temat nowości. W wersji testowej znajdują się błędy. Używaj jej tylko jeśli chcesz się aktywnie włączyć w jej rozwój. Nie zgłaszaj błędów w wersji rozwojowej - napraw je.

## 1.11 Gdzie mogę zadawać pytania?

Jeśli masz problemy związane z instalacją i uruchamianiem dosemu po przeczytaniu dokumentacji, najpierw spróbuj sobie sam pomóc: Twoje pytanie zostało już pewnie zadane i odpowiedź udzielona. Spróbuj poszukać tej informacji w Internecie. Np. możesz zajrzeć do

> `DejaNews - największego zbioru artykułów z grup dyskusyjnych z całego świata.`

aby znaleźć wszystkie artykuły, które zawierają podane przez ciebie słowo. W ten sposób pomożesz sobie prędzej niż zadawaniem dobrze znanego pytania na jakiejś liście. To także uwalnia programistów od odpowiadania na trywialne pytania i przyczynia się do tego, aby nowsze wersje oprogramowania powstawały szybciej.

[Od tłumacza] Istnieje także polska grupa dyskusyjna na temat Linuksa, gdzie możesz pytać o dosemu pod warunkiem, że instalujesz je na Linuksie. Jej nazwa to pl.comp.os.linux, można się także na nią zapisać listownie pod adresem listserv@ict.pwr.wroc.pl.

## 1.12 Gdzie mogę zgłaszać zauważone błędy i zadawać pytania?

Jeśli chcesz zadać pytanie lub zgłosić błąd w dosemu, powinieneś rozważyć zapisanie się na listę dyskusyjną linux-msdos. Aby zapisać się na nią, wyślij list na adres Majordomo@vger.rutgers.edu o treści

        subscribe linux-msdos imię_nazwisko@twoj.adres.pocztowy

Jeśli będziesz chciał się kiedyś wypisać z tej listy, to wyślij pocztę o treści

        unsubscribe linux-msdos imię_nazwisko@twoj.adres.pocztowy

pod ten sam adres co powyżej(11/8/95). Kiedy jesteś zapisany na tę listę możesz na nią wysyłać listy kierując pocztę na adres linux-msdos@vger.rutgers.edu. Istnieje bramka pomiędzy tą listą a grupą dyskusyjną linux.dev.msdos. Jeśli twój dostawca Internetu nie prowadzi tej grupy, to poproś go o dodanie jej(10/2/97). Zanim zadasz pytanie powinieneś przeczytać dokładnie całą dokumentację, włącznie z tym HOWTO i sprawdzić jedno z archiwów listy dyskusyjnej wymienione na www.dosemu.org i sprawdzić czy twoje pytanie zostało już zadane i czy ktoś na nie odpowiedział.

## 1.13 Jaka dokumentacja jest dostępna dla dosemu?

Dokumentacja jest zawarta w pakiecie DOSEMU. Główne pliki z dokumentacją (README.txt i README-tech.txt) pokrywają ogólnie wszystkie aspekty DOSEMU i mogą być bardziej aktualne niż to HOWTO.

Podręcznik pod nazwą "dosemu Novice's Altering Guide", albo w skrócie DANG stanowi mapę wewnętrznego sposobu działania dosemu. Jest on przeznaczony dla żądnych przygody, dla tych którzy chcą modyfikować kod źródłowy. DANG jest pod opieką Alistair MacDonald ( alistair@slitesys.demon.co.uk) i można go znaleźć w katalogu doc w drzewie katalogów dosemu.

Lista niepowodzeń EMU (EMUfailure.txt) jest listą programów, o których wiadomo, że NIE działają DOSEMU.

No i oczywiście jest dosemu FAQ/HOWTO. Ale o tym już wiesz, nie? Jest ono wysyłane raz na jakiś czas na listę dyskusyjną i znajduje się też w katalogu doc w drzewie katalogów dosemu. Najnowsza wersja oryginału znajduje się pod adresem www.dosemu.org.

## 1.14 Mam program, który nie działa i nie jest w EMUfailure.txt.

Najpierw sprawdź czy powodem nie jest coś co wiadomo, że nie działa w DOSEMU, wymienione w EMUfailure.txt. Jeśli uważasz, że znalazłeś coś nowego, to zgłoś to do linux-msdos@vger.rutgers.edu. Możliwe, że uda się to uruchomić z pomocą innych. Podaj szczegółowe informacje na temat twojej konfiguracji, wersję jądra, DOSEMU itp. No i podaj też zaobserwowane błędy. Możesz użyć xdos, żeby przekleić myszką błędy, ale postaraj się utrzymać czytelność raportu. Znamy też zawartość pliku ../etc/config.dist więc wyślij tylko te linijki z dosemu.conf, które mają jakieś znaczenie. Spróbuj uruchomić DOSEMU z trybem śledzenia (debug mode) i przyślij nam najpierw tylko te części, które wydają się mieć związem z problem. Naprawdę mało ludzi ma ochotę wczytywać się w czyjeś długie załączniki, żeby wyśledzić co jest nie tak. Ale trzymaj te logi pod ręką w razie gdyby się ktoś dopytywał szczegółów.

## 1.15 Jak mam informować o zmianach lub dodatkach w HOWTO?

Preferowaną metodą jest edycja pliku dosemu-HOWTO-xx.x.sgml, żeby nanieść zmiany, stworzenie pliku z różnicami przez napisanie czegoś takiego:

> `diff -uw plik-oryginalny plik-nowy > zmiany`

i wysłanie pliku zmiany na adres davidhodges@altavista.iname.com.
Jeśli nie znasz SGML-a, to nie szkodzi. Zmiany będą akceptowane w jakiejkolwiek formie. Stworzenie pliku "zmiany", to po prostu ułatwienie życia opiekunowi HOWTO. :-)

## 1.16 Wiadomości od Grega...

O ile nie stwierdza się inaczej, dokumenty HOWTO są chronione prawami autorskimi ich autorów. Mogą one być rozprowadzane w całości lub w części, w jakiejkolwiek postaci fizycznej czy elektronicznej tak długo, dopóki znajduje się w nich ta wzmianka. Dystrybucja komercyjna jest dozwolona, a nawet zachęca się do niej; chociaż autor chciałby być poinformowany o takowej.

Wszelkie tłumaczenia, prace pochodne, prace zebrane zawierające dokumenty HOWTO muszą zawierać tę notatkę o prawach autorskich. Oznacza to, że nie możesz stworzyć pracy pochodzącej z HOWTO i nałożyć na jej dystrybucję dodatkowych ograniczeń. Wyjątki od tej zasady mogą być uczynione pod pewnymi warunkami; skontaktuj się z koordynatorem programu Linux HOWTO pod niżej podanym adresem.

Krótko mówiąc, chcemy promować szerzenie tych dokumentów przez wszelkie dostępne kanały. Chcielibyśmy także utrzymać prawa autorskie nałożone na te dokumenty, i być powiadomieni o planach dotyczących redystrybucji HOWTO.

Jeśli masz pytania skontaktuj się z Gregiem Hankisem, koordynatorem programu Linux HOWTO pod adresem gregh@sunsite.unc.edu(11/8/95).

## 2. Kompilacja i instalacja dosemu.

## 2.1 Gdzie są instrukcje instalacyjne?

Znajdują się one w pliku "QuickStart" dołączonym do dystrybucji.

## 2.2 Dziesięć najczęściej spotykanych problemów podczas instalacji dosemu.

1. Zapomniałeś przeczytać podręcznika QuickStart.
2. Próbujesz skompilować jakąś starą wersję dosemu.
3. Próbujesz kompilować z jądrem starszym niż 2.0.28 lub 2.1.15.
4. Masz złą wersję źródeł jądra w /usr/src/linux albo nie masz pliku /usr/src/linux/include/version.h
5. Używasz dosemu z jądrem, które nie ma wkompilowanej obsługi IPC.
6. Kompilujesz przy pomocy gcc starszego niż 2.7.2 albo z biblioteką libc starszą niż 5.x.x
7. Zapomniałeś zmodyfikować plików /etc/dosemu.conf, /etc/dosemu.users i /var/lib/dosemu/global.conf.
8. Uruchamiasz DOSEMU z dostępem do partycji podczas gdy są one już zamontowane.
9. Nie instalujesz dosemu zalogowany jako root.

## 2.3 Jak mam zrobić binaria a.out?

Poczynając od wersji 0.64.4 nie ma już obsługi formatu a.out. Jeśli koniecznie jej potrzebujesz, musisz użyć wersji 0.64.3.1. Skrypt konfiguracyjny powinien się tym zając jeśli masz standardową konfigurację.

## 2.4 Jak mam skompilować dosemu na maszynie z małą ilością RAM-u?

Marty Leisner (leisner@sdsp.mc.xerox.com) zgłosił (8/4/95)

"Jeśli masz problemy z pamięcią, np. kończy się swap, to możesz dodać wyrażenie `CFLAGS+=-fno-inline` za definicją `CFLAGS` w pliku dpmi/Makefile. Bądź ostrożny i sprawdź czy masz swap. Przekonałem się, że Linux często pada jeśli nie ma swap-u."

## 2.5 Kompilacja przerywa się na jakichś dziwnych błędach dotyczących "slang".

Przypuszczalnie zainstalowałeś swoją wersję biblioteki Slang i podczas kompilacji miałeś ustawienie slangforce off w pliku Makefile. Musisz to zmienić na slangforce on.

## 2.6 Jakie są dostępne opcje podczas kompilacji, które mogę zmieniać ?

W pliku compiletime-settings.help znajdziesz opis takich opcji. W README.txt znajdziesz opis opcji, które możesz zmieniać po kompilacji.

## 2.7 Czy muszę uruchamiać dosemu jako root?

Nie. Chociaż DOSEMU porzuca przywileje root-a gdzie tylko jest to możliwe. Bezpieczniej jest nie uruchamiać DOSEMU jako root, szczególnie jeśli uruchamiasz w nim programy korzystające z DPMI. Większość programów nie potrzebuje, żeby DOSEMU działało z przywilejami root-a, szczególnie jeśli uruchamiasz DOSEMU pod X-ami. Nie powinieneś pozwalać użytkownikom na uruchamianie wersji suid root jeśli to tylko możliwe, a tylko wersję bez uprawnień root-a. Można to skonfigurować dla każdego użytkownika osobno w pliku /etc/dosemu.users.

Programy, które wymagają bezpośredniego dostępu do portów sprzętu (np. jeśli jakiś program musi komunikować się ze sprzętem nie obsługiwanym przez Linuksa i DOSEMU) wymagają, aby DOSEMU działało z prawami root-a. Ale drukarki, porty szeregowe, myszy i karty graficzne (i w małym zakresie dżwiękowe) są emulowane przez DOSEMU i nie potrzeba bezpośredniego dostępu do sprzętu. Nie potrzeba wtedy także praw root-a, aby to działało.

## 2.8 Jak mam łatać dosemu.

Jeśli łatasz dosemu z jednej wersji do drugiej, napisz "make pristine;./configure; make". Jeśli nie napiszesz "make pristine", przynajmniej nowa wersja wykonywalna będzie zła jeśli całość się w ogóle skompiluje(9/2/97).

## 2.9 Jakie wersje DOS-a działają z dosemu.

Wszystkie wersje DOS-a powinny działać z DOSEMU, jednak z pewnymi kruczkami:

FreeDOS nie ma jeszcze działającego przekierowywania, więc nie będziesz mógł mieć dostępu do partycji Linuksa czy do Novella. Pamiętaj też, że FreeDOS to wersja bardzo beta i może się wywalić kiedykolwiek psując system plików itp., itd.

DOS 4.01 miał problemy sam w sobie więc także w DOSEMU nie będzie działał.

MsDos-7 czyli Win 95 także działa, ale zakładając, że nie masz włączonego logo startowego i nie wystartujesz środowiska graficznego. Jeśli uczynisz obraz dysku startowym tak zwaną "dyskietką ratunkową", która jest ci oferowana podczas instalacji Windows-ów, będziesz miał dobre ustawienia. Jeśli użyjesz normalnej instalacji Win95, aby przenieść pliki systemowe, to zajrzyj do pliku msdos.sys zapisanym na obrazie dysku i zmień ustawienia w sekcji [Options] na takie:

    [Options]
    Logo=0
    BootGUI=0

(7/3/97)

## 3. Ustawienia twardego dysku.

## 3.1 Jak mam używać swojego dysku z dosemu?

Po pierwsze zamontuj parytcję DOS-ową jako podkatalog w drzewie Linux-a. Na przykład stwórz katalog "/dos" w Linux-ie (mkdir -m 755 /dos) i dodaj taką linię

       /dev/hda1       /dos     msdos   umask=022

do pliku /etc/fstab. (W tym przykładzie, partycja jest zamontowana w trybie tylko-do-odczytu. Możesz go zamontować w trybie odczyt-zapis zamieniając "022" na "000" i używając w poleceniu mkdir opcji -m 777). Teraz mount /dos.

W README.txt czytamy:

> można mieć jakiś katalog Linuksa z całą zawartością jako C:. Skopiuj IO.SYS, MSDOS.SYS czy co tam trzeba do tego katalogu (np. /var/lib/dosemu/bootdir), do pliku /etc/dosemu.conf wpisz:

> $_hdimage = "bootdir"

> i już. DOSEMU zrobi z tego przekierowany napęd i będzie mogło wystartować z niego. Przed wystartowaniem DOSEMU możesz zmodyfikować config.sys i autoexec.bat w tym katalogu. Idąc dalej; można mieć bardziej wyrafinowaną konfigurację. Zakładając, że chcesz mieć ten sam napęd co wtedy kiedy startujesz prawdziwego DOS-a, musisz poprostu zamontować tę partycję w Linuksie (np: /dos) i umieścić linki do podkatalogów w katalogu, z którego DOSEMU startuje. W ten sposób decydujesz które katalogi/pliki są widzialne w DOSEMU a które nie. Oto mały i niekompletny przykład takiej konfiguracji:

> config.sys autoexec.bat command.com -> /dos/command.com io.sys -> /dos/io.sys msdos.sys -> /dos/msdos.sys dos -> /dos/dos bc -> /dos/bc windows -> /dos/windows

> Jest jednak jedna wada; nie można używać w tej konfiguracji jądra DosC (FreeDOS), ponieważ nie posiada ono jeszcze działającego przekierowania (przypuszczalnie będzie kiedyś w przyszłości).

## 3.2 Jak mogę się dostać do obrazu dysku z Linux-a?

Użyj mtools. Do pliku `/etc/mtools.conf` dopisz linię:

       drive n:  file="/var/lib/dosemu/hdimage" MTOOLS_SKIP_CHECK=1 \
       MTOOLS_LOWER_CASE=1 MTOOLS_NO_VFAT=1 partition=1 offset=128

Potem możesz już używać mtools, np. "mdir n:". "mcopy n:/config.emu /tmp" skopiuje plik config.emu z obrazu dysku DOS-owego do katalogu /tmp na Linuksie. Możesz go tam zmodyfikować i skopiować z powrotem. Użyj takiej litery dla dysku jaką chcesz, N: jest tylko przykładem.

## 3.3 Czy mogę używać dysku spakowanego (stacked/double-spaced/super-stored)?

W tej chwili standardowe jądro nie potrafi obsłużyć takich dysków przy pomocy programów "lredir" czy "emufs". Jest jednak łata, przy pomocy której można zamontować skompresowane pliki. Nazywa się "dmsdosfs". Można ją znaleźć w Polsce na

> `SUNSite Polska, albo w USA pod adresem sunsite.unc.edu.`

Dobrym pomysłem jest też zaglądanie do katalogu incoming w poszukiwaniu nowszej wersji. Oryginalna zawartość jest pod adresem sunsite.unc.edu. Opcja "wholedisk" ze starszych wersji DOSEMU nie działa w nowszych wersjach, chociaż linia:

       $_hdimage = "/dev/hda1"

może działać. Jednak ryzykujesz utratę danych na tej partycji w przypadku wywalenia się DOSEMU.

Jeśli twoja partycja DOS-owa jest już zamontowana z dostępem dla zapisu i próbujesz uruchomić dosemu z dostępem do parytcji, to wyświetli ono komunikat o błędzie i przerwie działanie. Takie zachowanie zapobiega robieniu przez Linuksa i DOS-a niezależnych zapisów na twojej partycji, co w konsekwencji zaśmieciłoby ci tylko dysk(11/8/95).

---------------------

Jeśli masz zainstalowane LILO, to powyższe nie będzie działać. Chociaż...

Thomas Mockridge (thomas@aztec.co.za) zgłosił (5/8/94)

Aby wystartować (boot) dosemu z LILO i Stacker-em 4.0 robisz małe obejście...

1. przy pomocy polecenia dd przenieś MBR do pliku (czy Norton Utilities, w każdym bądź razie pierwsze 512 bajtów).
2. wystartuj DOS-a (rzeczywisty DOS - nie dosemu), potem wykonaj polecenie fdisk /mbr i uczyń partycję DOS-ową aktywną (DOS-owym fdisk-iem).
3. skopiuj nowy MBR do pliku.
4. zamień na oryginalny MBR.
5. skopiuj ten drugi MBR do /var/lib/dosemu/partition.hda? (gdziekolwiek tam masz parytcję DOS-ową).
6. ustaw w dosemu.conf

                      disk {partition "/dev/hda? ?"}

7. Wystartuj dosemu i voila! Nie ma LILO.

W nowszych wersjach DOSEMU musisz zmienić linię

       disk {partition "/dev/hda? ?"}

na

       $_hdimage = "/dev/hda1"

Holger Schemel (q99492@pbhrzx.uni-paderborn.de) zgłosił (10/2/97), że

Działa nawet dobrze pod dosemu z MS-DOS-em 6.0. Jeśli masz jakieś kłopoty, to musisz ręcznie zmodyfikować plik "DBLSPACE.INI" i zmienić literę dysku na taką jaką twój dysk otrzymuje pod dosemu.

Darren J Moffat (moffatd@dcs.gla.ac.uk) zgłosił także (27/3/94)

"...jeśli tylko możesz to używaj 6.2! Tylko upewnij się, że masz dyskietkę startową z LILO pod ręką ponieważ DOS 6{.2} zmieni MBR."

## 3.4 Tworzenie własnych plików hdimage.

Najłatwiej użyć programu mkdexe - szczegóły znajdziesz w plik README.txt. Starym sposobem (nie wiem po co ktokolwiek miałby to robić w ten sposób, no ale tak na wszelki wypadek podaję) robi się to tak:

Jest dodatkowy program mkfatimage16, który pozwala na tworzenie nagłówków plików hdimage. Pełna informacja na ten temat znajduje się na stronie podręcznika systemowego (man/mkfatimage16.1) dołączonej do twojej dystrybucji.

Aby stworzyć obraz dysku z geometrią odpowiadającą prawdziwemu dyskowi o pojemności 32 MB wykonaj polecenie:

       mkfatimage16 -k 32768 > hdimage

W większości przypadków będzie to za dużo; jeśli potrzbujesz tak dużo miejsca, to pomyśl nad wykorzystaniem przekierowania.

Zwykle dobrym pomysłem jest sformatowanie napędu po takiej operacji.

## 4. Porty równoległe, szeregowe i myszy.

## 4.1 Dostęp do portów działał w starszych wersjach, a teraz nie chce!

Przeczytaj README.txt i sekcję na temat portów w ../etc/config.dist

## 4.2 Dostęp do portów był szybszy w starszych wersjach!

Aby móc logować każdy dostęp do portu, każdy taki dostęp wywołuje przerwanie z poza trybu vm86. To zabiera trochę czasu. Jeśli nie chcesz, żeby dostęp do portów był logowany, użyj klucza "fast" w odpowiedniej sekcji.

## 4.3 Gdzie są (kompatybilne z microsoftem) sterowniki mysz?

Tom Kimball (tk@pssparc2.oc.com) zgłosił(24/11/93)

Kilku ludzi mówiło, aby używać różnych sterowników i zasugerowało niektóre. Znalazłem parę, które wydają się działać.

       oak.oakland.edu:/pub/msdos/mouse/mouse701.zip   (mscmouse)
       oak.oakland.edu:/pub/msdos/mouse/gmous102.zip   (gmouse)

Normalnie możesz używać wewnętrznego sterownika z dosemu, więc nie potrzebujesz żadnego dodatkowego sterownika do myszy w dosemu poza winemu(10/2/97).

## 4.4 Dlaczego nie działa sterownik myszy?

Mark Rejhon (mdrejhon@magi.com) zgłosił(7/4/95)

Jeśli uruchomisz sterownik do myszy, a on się po prostu zawiesi (może to trwać około 30-60 sekund), ale jeśli czekasz dłużej niż minutę, aby sterownik zaczął działać, spróbuj podać w linii poleceń port COM, na którym jest mysz.

## 4.5 Dlaczego dosemu blokuje COM4?

Rob Janssen (rob@pe1chl.ampr.org) zgłosił(24/3/94)

Według jmorriso@bogomips.ee.ubc.ca, "dosemu wciąż blokuje COM4 (0x2e8, IRQ 5). Portu 0x2e8 nie ma w tablicy ports{} w pliku konfiguracyjnym. Muszę uruchamiać setserial /dev/cua3 irq 5 po zakończeniu dosemu."

Jest to spowodowane BIOS-em karty VGA. Stwierdziłem to włączając śledzenie portu i wypatrzyłem kiedy się to dzieje.

Wyłącz opcję "`allowvideoportaccess`" w pliku konfiguracyjnym i będzie dobrze. Jeśli będziesz miał wtedy problemy z wizją, to spróbuj bardziej ograniczyć zasięgi portów IO (np. 40-43).

## 4.6 Jak mam używać dosemu z portami szeregowymi?

## 4.7 Jak mogę przełączać kontrolę linii szeregowej pomiędzy dosemu a powłoką?

John Taylor (taylor@pollux.cs.uga.edu) zgłosił(25/5/94)

Mam Linux-a 1.1.13 i chcę wskazać dużą zaletę, którą należy chronić i należy uniknąć jej zniknięcia (moim skromnym zdaniem). Wraz z wersją 52 mogę uruchomić program "screen". Ze screen-a, mogę wywołać DOS-a -D-a. To co jest najlepsze, to to, że polecenia screen-a (polecenia z CTRL-A) wciąż działają. Oznacza to, że mogę wcisnąć CTRL-A C i otworzyć nowe okno z powłoką unix-ową i przełączać się pomiędzy nimi (DOS/UNIX). Pozwala mi to kontrolować linię szeregową poprzez dosemu bardzo efektywnie, ponieważ przełączanie się jest bardzo proste.

## 4.8 Jak mogę zmusić do działania porty szeregowe?

W pliku konfiguracyjnym dosemu.conf znajdują się linie, które przekierowują wyjście drukarki do programu lpr albo do pliku. Jeśli chcesz mieć bezpośredni dostęp do gołego żelastwa, to wykomentuj te linie i dodaj taką:

> `$_ports { device /dev/lp0 fast range 0x3bc 0x3bf } # lpt0`

dla portu drukarki z kartą kontrolną (odpowiada to /dev/lp0), albo

> `$_ports { device /dev/lp1 fast range 0x378 0x37f } # lpt1`

lub

> `$_ports { device /dev/lp1 fast range 0x278 0x27f } # lpt2`

odpowiednio dla LPT1 (/dev/lp1) i LPT2 (/dev/lp2)(9/2/97).

Hans Lermen (lermen@dosemu.org) pisze:

Ale UWAGA: Linii tych nie należy po prostu _dodawać_, łańcuchy te powinny być łączone, o tak:

       $_ports = "...."  $_ports = $_ports, " device /dev/lp0 fast range
       0x3bc 0x3bf" = Puste miejsce jest ważne.

## 5. Wieloużytkownikowość i nieinteraktywne sesje.

## 5.1 Czy mogę używać dosemu na systemie wieloużytkownikowym?

Tak. Można skonfigurować DOSEMU dla każdego użytkownika osobno. Szczegóły znajdziesz w README.txt.

## 5.2 Jak mogę uruchamiać polecenia DOS-a nieinteraktywnie?

Możesz zrobić to w jeden z następujących sposobów: 1. przekieruj plik do standardowego wejścia DOSEMU, 2. użyj opcji konfiguracyjnej keystroke i opcji -I podczas uruchamiania jak to jest opisane w README.txt, aby podać znaki, które mają być zinterpretowane tak jakby były wpisane z klawiatury podczas działania DOSEMU. 3. użyj programu mkdexe, aby zrobić plik DEXE - mały system plików DOS-a zawierający tylko program do uruchomienia - szczegóły znajdziesz w README.txt.

Oto kilka dodatkowych alternatyw:

Daniel T. Schwager (danny@dragon.s.bawue.de) zgłosił(2/7/94), że

Możesz użyć różnych plików konfiguracyjnych (i różnych obrazów startowych z różnymi plikami autoexec.bat) i wywoływać dosemu w ten sposób:

    $ dos -F mój_zrobiony_dosemu.conf

---------------------

Dietmar Braun (braun@math20.mathematik.uni-bielefeld.de) zgłosił(4/7/94), że

Nie ma żadnego problemu jeśli użyjesz przekierowania z dosemu. Jest możliwe przekierowania litery dysku na katalog Linux-owy podany w zmiennej środowiskowej.

Tak więc ja mam skrypt w powłoce nazwany "DOS", który robi coś takiego:

     mkdir /tmp/dos.$$
     DOSTMP=/tmp/dos.$$; export DOSTMP

a potem mały trick, żeby "echo $* > $DOSTMP/startup.bat" rzeczywiście zadziałało (właściwie mały programik w C, który zamienia '/' na '\' i poprawnie oznacza końce linii, i dodaje ^Z na końcu pliku), tworzy pliki startowe, dołączenia itd. w tym katalogu, a potem uruchamia dosemu. W pliku "autoexec.bat" dysk C: jest odwzorowany z obrazu dysku na ten katalog tymczasowy, który ma dołączenia dla $HOME i $PWD.

Tak więc jeśli chcę zobaczyć nazwy moich plików skróconych do wersji 8.3, mogę napisać "DOS dir" i mam zawartość mojego bierzącego katalogu. Tak więc mam pełno-wieloużytkownikowego DOS-a (nie mam żadnej partycji DOS-owej a odwzorowanie na Linux-a zachowuje odpowiednie prawa dostępu dla użytkownika) i wielozadaniowego (sesje dosemu są zupełnie niezależne). Zrobiłem tak raz, żeby móc używać sterownika do drukarki pod DOS-a. Pole df z mojego printcap-a wskazuje właściwie na program DOS-owy. Tak więc możesz nawet robić programy DOS-owe, które będą działać jako filtry dl lpr-a.

## 6. dosemu i Netware.

## 6.1 Jak dostać się do Netware z DOSEMU ?

Jak zwykle preferowany jest dostęp z systemu plików Linux-a. Zamontuj dyski z Netware'a przy pomocy narzędzi Caldera's Netware albo darmowego narzędzia Volker-a Lendecke - ncpfs ( ftp.icm.edu.pl a adres macierzysty to ftp://ftp.gwdg.de:/pub/linux/misc/ncpfs). Jeśli potrzebujesz rzeczywistego dostępu do IPX-a np. aby uruchomić program "syscon" z Novell-a, przeczytaj plik ../doc/NOVELL-HOWTO.txt. W tej chwili najprawdopodobniej nie można się dostać do Netware przy pomocy FreeDOS.

## 7. dosemu i X-y(9/2/97).

## 7.1 Czy mogę uruchomić dosemu na konsoli podczas działania X-ów?

Ronald Schalk (R.Schalk@uci.kun.nl) zgłosił (17/1/94), że

Tak, nie ma problemu. Tylko pamietaj, aby używać CTRL-ALT-`<`Fn`>` do poruszania się pomiędzy wirtualnymi konsolami i możesz uruchamiać jakiekolwiek aplikacje pod Linux-a (dosemu to też aplikacja pod Linux-a). Prawie zawsze mam uruchomionego WP5.1 w sesji dosemu.

`[`Uwaga: Użyj CTRL-ALT-F7, aby przełączyć się z powrotem do X-ów jeśli X-y uruchomione są na 7 virtualnej konsoli.]

## 7.2 Czy możliwe jest uruchamianie dosemu w oknie w X-ach?

Jeśli masz zainstalowane X-y i udało ci się skompilować dosemu oraz uruchomić go w trybie tekstowym, to powinieneś móc uruchomić "`xdos`" lub "`dos -X`", żeby uruchomić je w oknie w X-ach. Jeśli to nie działa, to sprawdź następujące punkty.

1. Wkompilowana obsługa X-ów w dosemu. Jest to opcja domyślna, chociaż jeśli w pliku z opcjami kompilacji podałeś "x off", to nie masz obsługi X-ów. Tak więc zmień "x off" na "x on", napisz "make pristine; make; make install" i powinieneś otrzymać skompilowane dosemu z obsługą X-ów jeśli masz zainstalowane biblioteki X-ów w /usr/X11R6.
2. Ustaw mapę klawiatury w X-ach. W xterm-ie napisz:

            xmodmap -e "keycode 22 = 0xff08"
            xmodmap -e "keycode 107 = 0xffff"

   Linie te ustawiają poprawną obsługę klawiszy odpowiednio backspace i delete.
3. Konfiguracja opcji w pliku /etc/dosemu.conf związanych z X-ami.

Możesz też uruchomić dosemu w kolorowym xterm-ie, co nie jest zalecane ponieważ większość kolorowych xterm-ów źle obsługuje złożone metody wyświetlania tekstu w dosemu. To nie wymaga włączonej obsługi X-ów w dosemu. Chociaż jeśli naprawdę chcesz to zrobić, to postępuj według poniższych kroków:

1. Zaistaluj ansi_xterm. Zalecany pakiet można znaleźć na ftp,icm.edu.pl.
2. Ustaw mapę klawiatury w X-ach. W xterm-ie napisz:

            xmodmap -e "keycode 22 = 0xff08"
            xmodmap -e "keycode 107 = 0xffff"

   Linie te ustawiają poprawną obsługę klawiszy odpowiednio backspace i delete.
3. Skonfiguruj w pliku /etc/dosemu.conf opcje związane z terminalem (nie X-ami).

Marty Leisner (leisner@sdsp.mc.xerox.com) zgłosił (31/3/95)

W bazie danych xrdb mam następujące zasoby:

    dosxterm*Font:  vga
    dosxterm*geometry:      80x25
    dosxterm*saveLines: 25

albo mam alias-a"`dosxterm=term -fn vga -title dosxterm -geometry 80x25 -sl 25`"

Jeśli używasz metody z xrdb, to wszystko co musisz zrobić to napisać "`xterm -name dosxterm`".

## 7.3 Xdos nie działa na odległym ekranie X-ów!

W tej chwili, dosemu używa rozszerzeń MIT do pamięci dzielonej. Rozszerzenia te działają tylko na lokalnym ekranie. Jeśli chcesz uruchomić dosemu na odległym ekranie, to skompiluj dosemu z ustawieniem "mitshm off" w pliku z opcjami do kompilacji po poleceniu "make pristine" albo na czystym drzewie ze źródłami.(9/2/97).

## 7.4 Xdos nie znajduje czcionek VGA.

Sprawdź czy czcionki VGA, które zainstalowałeś są na liście font.dir w katalogu, w którym je instalowałeś:

> `

>     hertz:~> grep misc /usr/X11R6/lib/X11/XF86Config
>         FontPath    "/usr/X11R6/lib/X11/fonts/misc/"
>     hertz:~> grep vga /usr/X11R6/lib/X11/fonts/misc/fonts.dir
>     vga.pcf vga
>     vga11x19.pcf vga11x19
>     hertz:~> ls /usr/X11R6/lib/X11/fonts/misc/vga*
>     /usr/X11R6/lib/X11/fonts/misc/vga.pcf
>     /usr/X11R6/lib/X11/fonts/misc/vga11x19.bdf
>     /usr/X11R6/lib/X11/fonts/misc/vga11x19.pcf

> `

Jeśli zainstalowałeś jakieś czcionki pod X-y, tak jak wtedy kiedy pierwszy raz instalowałeś dosemu z obsługą X-ów, musisz uruchomić programy "mkfontdir" a potem "xset fp rehash". Instalacja dosemu powinna się zająć poleceniem "mkfontdir" i poinformuje cię o "xset fp rehash". Powiedz nam jeśli ci to nie działa.

## 7.5 Czcionki VGA są bardzo małe w mojej dużej rozdzielczości.

Poszukaj czcionek vga11x19. (13/2/97).

## 7.6 Kompilacja dosemu przerywa się na jakichś dziwnych błędach dotyczących X-ów.

Jak już to zostało powiedziane wcześniej dosemu domyślnie używa rozszerzeń MIT do pamięci dzielonej. W XFree86 są one dostępne tylko w wersji 3.1.2 i nowszej. Jeśli masz starszą wersję, to zastanów się nad uaktualnieniem lub skonfiguruj dosemu tak, aby nie używało tych rozszerzeń (zobacz ostatnią sekcję)(9/2/97).

## 7.7 Czy emulacja ansi działa poprawnie?

Marty Leisner (leisner@sdsp.mc.xerox.com) zgłosił(31/3/95), że

Tak. Używam `nnansi.com` pod X-ami. tryby 25-, 43- i 50-liniowe działają poprawnie, chociaż tryb 50-liniowy jest trudny w użyciu przy rozdzielczości 1024x768 (o ile nie użyjesz mniejszych czcionek albo większego monitora). Tryb 43-liniowy zmieni rozmiar `xterm-a` tak, aby zawierał on 43 linie.

## 8. dosemu i MS-Windows 3.1.

## 8.1 Czy możliwe jest uruchomienie MS-Windows 3.1 w dosemu?

W pliku ../doc/README.Windows czytamy:

    ***************************************************************
    *    UWAGA!!! UWAGA!!! UWAGA!!! UWAGA!!! UWAGA!!! UWAGA!!!    *
    *                                                             *
    *  Uwaga! Nie jest to jeszcze w pełni obsługiwane i jest      *
    *  wiele znanych błędów! Wielkie programy prawie na pewno     *
    *  NIE BĘDĄ DZIAŁAĆ!!! BĄDŹ PRZYGOTOWANY NA PADY SYSTEMU      *
    *  JEŚLI TEGO SPRÓBUJESZ!!!                                   *
    *                                                             *
    *    UWAGA!!! UWAGA!!! UWAGA!!! UWAGA!!! UWAGA!!! UWAGA!!!    *
    ***************************************************************

No dobra, możliwe jest wystartowanie WINOS2 (zmodyfikowanej wersji Windows 3.1, której używa OS/2) pod dosemu. Wielkie dzięki dla Lutz-a & Dong-a!

Ale, POTRZEBUJESZ OBU LICENCJI, dla WINDOWS 3.1 oraz OS/2 !!!

Jest wiele znanych problemów. Windows-y bardzo często się wywalają i mogą za sobą pociągnąć dane. Wielkie programy nie będą się ładować itp., itd.

Innymi słowy nie jest to jeszcze gotowe do codziennego użytku. Wiele kart graficznych ma problemy (możesz zobaczyć miły biały ekran, chociaż poszukaj dalej win31-in-xdos). Twoje grupy programów będą znikać... Po prostu - fatalnie.

Więcej szczegółów znajdziesz w README.txt.

## 8.2 Czy mogę uruchamiać 32-bitowe programy z winemu

Przykro mi, nie. Win32 musi działać na najniższym poziomie, a to jest niewykonalne w Linuksie. (27/04/97)

## 8.3 Komunikat o błędzie: Cannot find the vdtapi.386 file when starting dosemu.

Jak to już zostało wyjaśnione wcześniej winemu nie umie obsłużyć 32-bitowych programów. Wszystkie sterowniki kończące się na 386 są 32-bitowe. Aby uruchomić winemu musisz wyrzucić z pliku win.ini wszystkie odwołania do sterowników .386 (27/04/97)

## 8.4 Windows 3.x w xdos.

Jeśli chodzi o wersję 0.64.3, to jest ona w stanie uruchomić Windows-y w xdos. Oczywiście nie jest to wcale zalecane, ale jeśli rzeczywiście chcesz spróbować, jest to bezpieczniejsze niż uruchamianie Windows 3.1 na konsoli, ponieważ _kiedy_ padnie, nie zablokuje ci klawiatury czy ekranu.

Wskazówki:

1. Zdobądź żródła dosemu i Linux-a.
2. Rozpakuj dosemu.
3. Uruchom ./configure", żeby skonfigurować dosemu (skrypt ten włączy domyślnie vm86plus).
4. Napisz "make", aby skompilować pakiet.
5. Zdobądź sterowniki Trident SVGA dla Windows-a. Pliki te to tvgaw31a.zip i/lub tvgaw31b.zip. Są one dostępne pod adresm garbo.uwasa.fi. (jakieś mirror-y?).
6. Rozpakuj sterowniki Trident.
7. W instalacji Windows-a, zainstaluj sterownik Trident "800x600 256 color for 512K boards".
8. Zrób wszystko co opisano powyżej, żeby zaistalować OS2WIN31.
9. Uruchom xdos.
10. W dosemu, przejdź do katalogu Windows-ów i uruchom winemu.
11. Trzymaj kciuki.

## 8.5 Czy mogę zainstalować Windows-y z wewnątrz dosemu?

Nie, nie możesz. DOS powie ci coś w stylu:

> `The XMS driver you have on your system is not compatible with Windows...`

Musisz zainstalować Windows-y z DOS-a. Możesz skopiować drzewo z Windows-ami gdzieś do Linux-a i użyć lredir, aby zamontować ten katalog w tym samym miejscu, w którym jest pod dosem. Na przykład:

> `Masz Windows-y w d:\windows Katalog ten jest zamontowany pod Linux-em na /dosc Kopiujesz drzewo z Windows-ami na Linux-a, np: "cp -a /dosd/windows/ /usr/share" W dosemu przekierowujesz skopiowane drzewo w ten sposób: lredir d: linux\fs\dosd`

Teraz dosemu nie może mieszać w twoim katalogu z Windows-ami, ale także zmiany w tym katalogu nie są widoczne przez dosemu. Jeśli chcesz zrobić to samo z Windows-ami na C:, to zobacz w FAQ jak przekierować C:.

Ale możesz też użyć "setup-u" z katalogu Windows-ów, żeby zainstalować jakieś sterowniki lub pozmieniać jakieś ustawienia.(14/2/97)

## 8.6 Uwagi na temat myszy w Windows 3.1 w xdosemu.(win31-in-xdos)

1. Użyj sterownika myszy "mouse.drv" z WinOS2.
2. Aby mysz działała poprawnie musisz wpisać nastepujące linie do pliku wini.ini:

            [windows]
            MouseThreshold1=0
            MouseThreshold2=0
            MouseSpeed=0

3. Kursor myszy nie jest rysowany przez X-y, ale przez Windows-y, tak więc zależy on od częstości odświeżania (refresh rate), ale zmiany położenia myszy nie będą opóźniane.
   (Właściwie masz dwa kursory, ale kursorowi z X-ów nadawany jest "niewidzialny kształt" podczas gdy znajduje się on wewnątrz okienka z DOS-em.)
4. Ponieważ położenie przekazywane do Windows-ów jest interpretowane względnie, musimy wyskalować kursor. Jest to robione autoamtycznie za każdym razem kiedy znajdziesz się w obszarze okna z DOS-em: Kursorowi nadawane są współrzędne (0,0) a potem otrzymuje on z powrotem swoje położenie względem okna X-owego. Więc jeśli chcesz wyskalować kursor, po prostu przesuń go poza okno z DOS-em i z powrotem do wewnątrz.

(10/2/97)

## 8.7 Czemu moja ikona zniknęła z Program Manager-a?

MS-Windows i WinOS2 różnie obsługują grupę "Program Manager". MS-Win zapisuje ustawienia w "progman.ini", WINOS2 zapisuje zawartość "progman.ini" w "system.ini". Oto wskazówka od (friest@acm.org (Todda T. Friesa)):

> `cat progman.ini >> system.ini`

Pamiętaj żebyś użył ">>" :-)

## 9. Grafika i dźwięk.

## 9.1 Czy mogę uruchamiać pod dosemu gry z 32-bitową grafiką?

Mark Rejhon (mdrejhon@magi.com) zgłosił(8/4/95)

Biorąc pod uwagę ostatnie poprawki w implementacji DPMI, które pojawiły się w wersji 0.60 można teraz w dosemu uruchamiać niektóre gry z 32-bitową grafiką. Jeśli gra jest kompatybilna z sesją DOS-ową w OS/2, to są spore szanse, że zadziała także w dosemu. (Przykładami takich gier są Descent, Dark Forces, Mortal Kombat 2,Rise of The Triad, Wszystkie zostały uruchomione z pozytywnym skutkiem w dosemu.)

Zanim uruchomisz jakąś grę z grafiką, klawiaturę musisz mieć skonfigurowaną na tryb surowy (raw mode) i włączone tryby graficzne VGA w pliku /etc/dosemu.conf.

Zauważ jednak, że będziesz musiał wyłączyć dźwięk w grze. (Ktoś będzie musiał zaprogramować emulację karty dźwiękowej zanim będziemy mogli tego uniknąć). Zauważ też, że odświeżanie w grze może być trochę wolne, z powodu wielozadaniowości Linux-a i braku obsługi dużej częstotliwości odświeżania.. Tak więc gry mogą działać w prędkości od 5 do 100 procent swojej mocy. Typowa prędkość, to ok. 50 procent w ostatnich wersjach dosemu i ma ostatecznie wzrosnąć.

Kto wie, może to nawet będzie działać. Jeśli nie chce ci to działać, sprawdź listę "EMUfailure" czy program tam nie występuje, albo czy nie jest w kategorii programów, które teraz ani przupuszcalnie w ogóle nie będą działać w dosemu. Jeśli sądzisz, że powinno się go wymienić na liście "EMUfailrue", to zgłoś to do linux-msdos@vger.rutgers.edu.

Jeśli włączysz DPMI i dosemu uruchamiane jest z prawem "suid root", to automatycznie robisz sobie dziurę w systemie (szczególnie jeśli używasz gier bazujących na dos4gw), klient jest w stanie dostać się do całej przestrzeni użytkownika, więc może także modyfikować kod dosemu. Włączenie opcji "secure" w pliku /etc/dosemu.conf

    $_secure = "ngd" # opcja secure dla: n (zwykłych użytkowników), g (guest), d (dexe)

blokuje to. W każdym razie w X-ach lepiej jest uruchamiać DOSEMU jako zwykły użytkownik niż jako root.

## 9.2 Podczas wychodzenia z dosemu mam zaśmiecony cały ekran.

(8/4/95)

Problem jest w tym, że informacje o czcionce dla tekstowego ekranu nie są zachowywane. Zdobądź pakiet "svgalib". Bieżące źródła są w SUNSite Polska.

Może też znajdować się w twojej dystrybucji Linux-a jako prekompilowany pakiet. Użyj programu `savetextmode`, aby zachować bieżący tryb tekstowy i czcionki w pliku w katalogu /tmp zanim uruchomisz dosemu. Potem, po wyjściu z dosemu uruchom `textmode`, żeby odzyskać stan sprzed uruchomienia.

Dodatek od (lermen@elserv.ffm.fgan.de(11/2/97)):

Spójrz także do src/arch/linux/debugger/README.recover i README.dosdebug, dosdebug może ci pomóc w naprawie.

## 9.3 Dlaczego moje programy dźwiękowe nie działają w DOSEMU?

W DOSEMU znajduje się szczątkowy emulator SoundBlaster (SBemu) - dokumentacja do niego znajduje się pod adresem www.slitesys.demon.co.uk/a.macdonald/dosemu/sound/. Całość jest dopiero na etapie tworzenia więc większość programów DOS-owych korzystających z dżwięku nie będzie działać poprawnie.

## 10. Gry.

## 10.1 Duke3d nie działa.

Hans Lermen <lermen@elserv.ffm.fgan.de> napisał:(16/2/97)

Duke3d musi być skonfigurowany przez setup. Musisz tam wybrać 'keyboard + mouse', w przeciwnym wypadku nie będzie działać.

## 11. Problemy i rozwiązania.

## 11.1 Sprawa dotycząca bezpieczeństwa.

Aby dosemu mogło być w pełni wykorzystane musi być "suid root". Większość programów DOS-owych tego nie potrzebuje. Działając pod X-ami raczej nie potrzebujesz uprawnień root-a. DOSEMU działa z takimi uprawnieniami tylko tam gdzie jest to konieczne, i jak najszybciej się takich uprawnień pozbywa. Ale w przypadku DPMI, program dos-owy ma dostęp do całego obszaru użytkownika, a więc może tez modyfikować kod dosemu. Użycie opcji 'secure on' w pliku /etc/dosemu.conf blokuje tę możliwość. Jest jeszcze kilka innych ważnych aspektów związanych z bezpieczeństwem omówionych w README.txt.

## 11.2 Kiedy uruchamiam niektóre programy pojawia się "ERROR: general protection" i DOSEMU kończy działanie.

Zdarza się to wtedy kiedy program używam DPMI, a ty nie włączyłeś obsługi DPMI. Spróbuj zmienić w /etc/dosemu.conf linię:

    $_dpmi = (off)

na

    $_dpmi = (nnnn)

gdzie nnn jest liczbą określającą pamięć w kB, którą chcesz przeznaczyć na programy DOS-owe (Np. DOOM wymaga około 4000 kB). Jeśli to zrobisz, nie powinieneś uruchamiać DOSEMU z prawami root-a (zobacz punkt o bezpieczeństwie) - zawsze lepiej jest nie uruchamiać DOSEMU z prawami root-a jeśli to tylko możliwe.

Innym możliwym powodem jest fakt, że program taki używa VCPI (przeczytaj EMUfailure.txt), albo w inny sposób przełącza się w tryb chroniony (inaczej niż przez DPMI). W takim przypadku nigdy nie będzie działać w DOSEMU.

Jeśli żadne z powyższych nie odpowiada twojemu przypadkowi, to przeczytaj punkt 1.14 "Mam program, który nie działa i nie jest w EMUfailure.txt"

## 11.3 Dosemu pada podczas startu. Mam zainstalowane Win95.

Dosemu zakłada, że wersje DOS-u na obrazie dysku oraz na napędzie, który odwzorowujesz są takie same. Jeśli nie, to dosemu padnie wcześniej czy później. Podczas wyboru jaki daje Win95 po wciśnięciu klawiszy F4, F5 lub F8 po tekście "Uruchamianie systemu Win95" wersje na dysku Win95 mogą się zamienić. Miej szczególnie na uwadze command.com. Niech zmienna "shell" w config.emu wskazuje na poprawną statyczną wersję command.com-a, np: shell=c:\win95\command.com c:\ /P /E:1024 (97/02/28)

## 11.4 Dosemu się zawiesza! Jak mogę je zakończyć?

Przełącz się na inną konsolę i uruchom program dosdebug, potem wpisz `kill` - może to potrwać chwilę, ale zadziała.

## 11.5 Dosemu padło i nie mogę nic pisać.

Daniel Barlow(jo95004@sable.ox.ac.uk) zgłosił(8/4/95)

Jeśli nie masz terminala, ani dostępu poprzez sieć, żeby się zalogować, możliwe, że będziesz musiał wcisnąć przycisk "RESET". Jeśli jednak możesz w jakiś sposób dostać się do używalnej powłoki, to uruchom "`kbd_mode -a`", aby przełączyć klawiaturę w tryb ASCII, i/lub "`stty sane`", na konsoli żebyś widział co piszesz.

Mądrą rzeczą jest uruchamianie dosemu poprzez skrypt, w którym polecenie "`kbd_mode -a`" byłoby wykonywane zaraz po zakończeniu dosemu. Kiedy dosemu padnie, skrypt powinien wykonać polecenie kbd_mode.

## 11.6 Włączyłem pamięć EMS w /etc/dosemu.conf, ale to nie pomaga.

Rob Janssen (rob@pe1chl.ampr.org) zgłosił(11/7/94)

Nie zapomnij załadować dostarczanego ems.sys z pliku config.sys.

## 11.7 Jak się pozbyć tych denerwujących komunikatów "disk change"?

(11/8/94)

Zdobądź i zainstaluj `klogd` (sysklogd). Powinieneś znaleźć ten program na SUNSite Polska.

## 11.8 Dlaczego dosemu nie chce się uruchomić drugi raz po wyjściu w trybie konsoli?

Aldy Hernandez (aldy@sauron.cc.andrews.edu) zgłosił(8/7/94), że

Powinieneś wyłączyć cache grafiki i/lub BIOS-u.

## 11.9 Dlaczego dosemu uruchamia się na terminalu, a nie chce na konsoli?

JyiJiin Luo (jjluo@casbah.acns.nwu.edu)(19/4/94) zgłosił

Przedtem miałem dokładnie ten sam problem. Stwierdziłem, że muszę wyłączyć całkowicie przesłanianie (shadow) grafiki w BIOS-ie. Od tej pory dosemu działa dobrze na moim systemie.

## 11.10 Jak mogę przyśpieszyć dosemu?

W niektórych przypadkach ciekawe efekty można uzyskać poprzez próbowanie różnych wartości zmiennej `HogThreshold` w pliku `dosemu.conf`.

Daniel Barlow(jo95004@sable.ox.ac.uk) zgłosił(8/4/95)

Zmienna HogThreshold powinna być teraz ustawiana na conajmniej połowę wartości BogoMips jaką wskazuje system podczas ładowania.

## 11.11 Mój CDROM ma problemy podczas odczytu niektórych plików pod dosemu.

Vinod G Kulkarni (vinod@cse.iitb.ernet.in)(7/4/94) zgłosił, że

Kiedy CDROM jest montowany spod Linux-a i używany pod dosemu (napęd odwzorowany), mogą wystąpić problemy. Sterownik do CDROM-u (iso9660) umieszczony w jądrze próbuje zgadnąć typ pliku (tj. binarny czy tekstowy). Jeśli nie zgadnie, to próbuje dalej używając heurystyki. Metoda ta zawodzi w pewnych okolicznościach kiedy (prawie) tekstowy plik ma być potraktowany jako binarny. (Nie wiem czy to jest błąd czy zaleta.)

Wynikiem tego jest to, że jeśli skopiujesz taki plik z CDROM-u (z Linux-a - niekoniecznie z dosemu), to plik wynikowy będzie większy niż plik oryginalny. (Puste znaki sa dodawane przed `^J` i `^M`.) Więc program uruchamiany w dosemu podaje komunikat o błędzie lub się zawiesza, co może dawać mylne wrażenie o problemach z dosemu.

Rob Janssen (pe1chl@rabo.nl) zgłosił(10/8/94), że

Sposobem na rozwiązanie tego problemu jest wyłączenie konwersji. Podczas montowania CDROM-u dodaj opcję "-o conv=binary" do polecenia mount, albo użyj takiego wpisu w /etc/fstab:

    /dev/cdrom      /cdrom          iso9660 conv=binary,ro

Nie są potrzebne łaty do jądra.

## 11.12 Jak mam zobaczyć wyniki śledzenia?

Co do wersji 0.60 wyniki te są przekierowywane do pliku podanego w linii poleceń. Użyj polecenia "dos -D+a -o /tmp/debug", aby zapisać wszystkie wyniki śledzenia w pliku /tmp/debug. Nie powinno być już potrzeby przekierowywania `stderr`.

## 11.13 Dlaczego litery na ekranie są wyświetlane ddwwaa razy?

Nick Holloway (alfie@dcs.warwick.ac.uk) zgłosił(22/2/94), że

Zdarza się to tylko jeśli uruchamiasz DOS-a na konsoli z ustawionym "istrip". Sądze, że jest to spowodowane tym, że surowe kody klawiszy są powielane przez "istrip, tak że puszczenie klawisza widziane jest jako jego wciśnięcie.

Tak, że obsługa wejściowa musi być wyłączona jeśli używasz kodów klawiszy na konsoli (nie byłoby to dobrym pomysłem na terminalu).

## 11.14 Dosemu psuje mi ekran?

Przy kartach nie do końca obsługiwanych w dosemu, z włączonym dostepem do grafiki na konsoli pad dosemu może pozostawić konsolę w prawie nieużywalnym stanie. Aby przygotować się na taką sytuację, Spudgun <spudgun@earthlight.co.nz> wysłał następujące rozwiązanie. Najpierw zapisz swoje rejestry z konsoli

    ~> cat /usr/bin/savetextmode
    ~> restoretextmode -w /etc/textregs
    ~> restorefont -w /etc/fontdata

Potem, kiedy dosemu padnie, uruchom następujący skrypt:

    restoretextmode -r /etc/textregs
    restorefont -r /etc/fontdata
    restorepalette

Jeśli to nie pomoże, to nic nie pomoże.
Przekonałem się także, że uruchomiony Xserwer ustawiał moją kartę graficzną w dziwny stan, a ten skrypt tylko pogarszał sprawę. Myślę, że pomogła zmiana Xserwer-a i/lub uruchamianie savetextmode na vt podczas działania X-ów.(08/04/97)

## 11.15 MS FoxPro 2.6 nie chce działać.

FoxPro 2.6 nie chce działać na napędach sieciowych. Alexey Naidyonov <growler@growler.tsu.tula.ru> stwierdza:
Sądzę, że twoje pliki są na przekierowanym dysku, tak? Problem w tym, że FoxPro nie działa na takich dyskach, ale kiedy ustawiłem disk { partition ... } w /etc/dosemu.conf, to działał.

## 12. Wkład w projekt dosemu.

## 12.1 Kto jest odpowiedzialny za dosemu?

Dosemu tworzone jest na podstawie pracy Matthiasa Lautnera i Roberta Sandersa. Hans Lermen (lermen@elserv.ffm.fgan.de) jest odpowiedzialny za organizację najnowszej wersji dosemu.

                           Historia DOSEMU

              Wersja           Data             Osoba
             -------------------------------------------------
              0.1        3 Września 1992   Matthias Lautner
              0.2        13 Września 1992  Matthias Lautner
              0.3        ???                 Matthias Lautner
              0.4        26 Listopada 1992   Matthias Lautner
              0.47       27 Stycznia 1993    Robert Sanders
              0.47.7     5 Lutego 1993    Robert Sanders
              0.48       16 Lutego 1993   Robert Sanders
              0.48pl1    18 Lutego 1993   Robert Sanders
              0.49       20 Maja 1993        Robert Sanders
              0.49pl2    18 Listopada 1993   James MacLean
              0.49pl3    30 Listopada 1993   James MacLean
              0.49pl3.3  3 Grudnia 1993    James MacLean
              0.50       4 Marca 1994       James MacLean
              0.50pl1    18 Marca 1994      James MacLean
              0.52       16 Czerwca 1994       James MacLean
              0.60       9 Kwietnia 1995       James MacLean
              0.64.4     9 Lutego 1997       Hans Lermen
              0.66.3     20 Kwietnia 1997      Hans Lermen
              0.98.1     9 Grudnia 1998    Hans Lermen
              0.98.6     21 Marca 1999      Hans Lermen

## 12.2 Chcę pomóc. Z kim mam się skontaktować?

Projekt dosemu jest rezultatem wysiłku drużynowego. Jeśli chcesz wnieść jakiś wkład, to przeczytaj DPR (dosemu Project Register). Aktualną kopię możesz znaleźć w doc/DANG.

## 12.3 Od tłumacza.

Tłumaczenie to jest chronione prawami autorskimi © Bartosza Maruszewskiego. Dozwolone jest rozprowadzanie i dystrybucja na prawach takich samych jak dokument oryginalny.

Jeśli znalazłeś jakieś rażące błędy ortograficzne, gramatyczne, składniowe, techniczne to pisz do mnie:

B.Maruszewski@jtz.org.pl

Oficjalną stroną tłumaczeń HOWTO jest http://www.jtz.org.pl/

Aktualne wersje przetłumaczonych dokumentów znajdują się na tejże stronie. Dostępne są także poprzez anonimowe ftp pod adresem ftp.jtz.org.pl w katalogu `/HOWTO/`.

Przetłumaczone przeze mnie dokumenty znajdują się także na mojej stronie WWW. Są tam też odwołania do Polskiej Strony Tłumaczeniowej.

Kontakt z naszą grupą, grupą tłumaczy możesz uzyskać poprzez listę dyskusyjną jtz@ippt.gov.pl. Jeśli chcesz sie na nią zapisać, to wyślij list o treści `subscribe jtz Imię Nazwisko` na adres `majordomo@ippt.gov.pl`

Zmiany w tym dokumencie wprowadzone przez tłumacza to:

- - informacja o polskiej liście dyskusyjnej,
- - przekierowanie wyjścia polecenia "diff" do pliku
- - informacja o kerneld
- - a także odnośniki do polskich serwerów ftp i WWW