UAE FAQ
najczęściej zadawane pytania
Spis treści:
Illegal instruction: 4e7b
".
Dlaczego?Podczas startu UAE wypisuje "Illegal instruction: 00f8
" (wielokrotnie).
Dlaczego?
Ponieważ Twój ROM kompilowany był dla procesora 68020 (zdarza się to również
w przypadku błędu UAE).
Gdy ładuję <tu wstaw nazwę swojej ulubionej gry>, UAE wypisuje
"Non-standard sync
".
Twoja ulubiona gra jest zabezpieczona przed kopiowaniem. Są sposoby na
przenoszenie danych z takich dysków, ale jest to skomplikowane i nie miejsce
tu na wyliczanie wszystkich rodzajów zabezpieczeń. Mam nadzieję, że pewnego
dnia pojawi się ogólne rozwiązanie wszystkich tego typu problemów, na razie
jednak nie mogę ci pomóc.
Podczas kompilacji otrzymuję komunikat "xxx illegals
generated
" lub "16 mismatches
". Czy to
oznacza problem?
Nie. Informacja ta służy do określenia, czy problem zaistniał. W tym przypadku
nie zaistniał.
Jak mogę uzyskać symbol @ (lub jakiś inny znak)? Na pecetowskiej
klawiaturze uzyskuję go klawiszami Alt+Q, ale w przypadku UAE to nie działa.
Zerknij na klawiaturę Amigi. Użyj tej samej kombinacji klawiszy, jaką
zastosowałbyś na prawdziwej Amidze. Kombinacje te różnią się na różnych
układach językowych klawiatury. Upewnij się, że załadowana jest obsługa
właściwego układu językowego klawiatury (np. dla układu niemieckiego, w pliku
startup-sequence powinna znajdować się komenda 'setmap de'). Znak @
najprawdopodobniej możesz uzyskać klawiszami Alt+2 lub Shift+2.
UAE nie działa z imagem Kickstartu 1.2!
Musisz wyłączyć emulację twardego dysku i pamięci typu Fast parametrem '-a'.
Kickstart 1.2 nie ma wbudowanych pewnych procedur potrzebnych do inicjowania
systemu z emulowanego twardego dysku. Możesz być pewien, że o to właśnie chodzi,
jeśli UAE daje komunikat "filesys_bput called
".
Co mam zrobić, jeśli gra/demo/program nie działa?
Spróbuj uaktywnić SlowRAM i uruchomić emulator ponownie. Część starszego
oprogramowania ma pewne problemy ze zgodnością; czasem SlowRAM może im zaradzić.
Jeśli jest to program, upewnij się co do rzeczy oczywistych, takich jak wymagana
wersja Kickstartu, ilość RAMu, itd. Sprawdź także, czy oprogramowanie, które
usiłujesz uruchomić nie jest stworzone dla komputerów z kością AGA.
Jakiego typu oprogramowania nie da się uruchomić na UAE?
Chociaż UAE jest już na etapie, na którym emuluje większość sprzętowych cech prawdziwej Amigi, wciąż jest kilka rzeczy, których nie może wykonać. Po pierwsze, w UAE nie ma MMU (Memory Management Unit = Jednostka Zarządzania Pamięcią), a co za tym idzie, oprogramowanie go wymagające (jak na przykład programy używające pamięci wirtualnej czy Linux) po prostu nie działa. MMU będzie emulowany w przyszłych wersjach.
UAE nie może także uruchamiać oprogramowania wymagającego kości AGA (znajdujących się w A 1200 i 4000), ponieważ na razie te kości nie są emulowane. Być może będą w przyszłych wersjach, w tej chwili trwają próby.
Istnieje także niewielka liczba aplikacji wymagających do poprawnego
działania procesora 68020 *i* koprocesora 68881 (są to głownie programy
graficzne posługujące się techniką raytracingu). W takiej sytuacji musisz
po prostu uruchomić wersję emulatora dla procesora 68020.
Dlaczego niektóre dema, umieszczone na liście kompatybilnych jako
działające, zawieszają się?
Spróbuj użyć parametru -s 4. Wtedy spójrz co wypisze emulator. Jeśli nie
będziesz wiedział, co zrobić z tą informacją, napisz do autora programu.
>> spis treści
Czy możliwe jest odczytanie na pececie amigowskich dyskietek?
Zadaj to pytanie na grupie
comp.emulators.misc :-) Odpowiedź brzmi:
NIE! Przynajmniej dopóki sam nie zaprojektujesz i nie zbudujesz urządzenia do
tego służącego (a nikt tego jeszcze nie zrobił). Oprócz tego potrzebny byłby
również programowy kontroler; całość wyglądałaby podobnie do przenoszenia
danych ze stacji Commodore 64. Podobno istnieje kontroler stacji dysków
"Catweasl", który może czytać na pececie wszystkie rodzaje dysków,
w tym amigowskie. Nie pytaj jednak o szczegóły; nie mam go i nie wiem, czy
rzeczywiście działa.
Czy mogę do swojego peceta podłączyć amigowską stację dysków i w ten
sposób czytać amigowskie dyskietki?
Możesz podłączyć amigowską stację dysków o małej gęstości zapisu, bo nie
różni się ona niczym od pecetowskiej. Nic Ci to nie da, bo problemem jest
nie stacja, ale kontroler. Musisz się nauczyć z tym żyć.
Ale pecet może czytać 11-sektorowe formaty!
Tak, ale te sektory wyglądają trochę inaczej.
Ale Amiga może czytać pecetowskie dyskietki!
I co z tego?
Ale pecet może czytać dyskietki Atari ST!
I co z tego?
Ale...
Nie da rady. Jeśli wciąż jesteś przekonany, że to musi być możliwe, sam napisz
program czytający amigowskie dyskietki za pomocą standardowego pecetowskiego
kontrolera. Wtedy publicznie odwołam wszystko, co powiedziałem.
Jak mogę używać plików DMS (image dyskietki spakowany na Amidze programem
DMS)?
Uruchom pod emulatorem program UAE tak jak na zwykłej Amidze. Rozpakowanie
image'u DMS do df0: po prostu zastąpi zawartość pliku .adf używanego w danej
chwili w df0:
Czy pliki z image dysku musza nazywać się df0.adf?
Nie. Po prostu umieść nazwę pliku po parametrze -0 (dla df0:, dla df1: będzie to
-1 i tak dalej).
Jak mam przenieść na peceta zawartość dyskietek o niedosowym formacie,
używanym przez większość dem?
Programem transdisk. To, że dysków nie czyta Amiga DOS nie znaczy, że nie czyta
ich transdisk. Wyjaśnienie dłuższe: Mówiąc o formacie dysku, należy rozważyć
dwie sprawy. Po pierwsze: format niskiego poziomu dzielący w określony sposób
ścieżki na sektory. Większość amigowskich dyskietek używa standardowego
amigowskiego formatu: każda ścieżka ma po 11 sektorów po 512 bajtów, co daje
razem 880 kilobajtów na dyskietce. Na dyskietce znajduje się także dodatkowa
informacja umożliwiająca kontrolerowi znalezienie sektorów. Dyski pecetowskie
używają innego formatu, dlatego właśnie PC nie może czytać amigowskich dyskietek.
Jeśli dyskietka jest sformatowana w ten sposób, że ze skopiowaniem jej poradzi
sobie zwykły program kopiujący diskcopy z Workbencha to zrobi to też transdisk.
Dyski zabezpieczone przed kopiowaniem miewają inny układ ścieżek (które czasem
w ogóle nie są podzielone na sektory, czasami sektorów jest więcej, lub zapisane
są pomiędzy nimi inne informacje) - z takim czymś nie poradzi sobie diskcopy ani
transdisk. Innym zagadnieniem związanym z formatem jest system plików.
Umieszczając na dyskietce pliki i katalogi, musisz zapisać na niektórych
sektorach informację zawierającą nazwę dysku (np. Workbench1.3) i plików.
Informacja ta zwana jest 'systemem plików'. Amiga rozpoznaje kilka takich
systemów, m.in. oryginalny (tzw. OFS), oraz nowszy i szybszy FFS (wprowadzony
z Kickstartem 1.3). Jeśli nie zamieścisz na dysku systemu plików, dane z
sektorów i tak będą mogły być odczytane przez transdisk czy diskcopy, choć dane
te są dla nich bezsensowne. Sęk jednak w tym, że wcale sensowne dla nich być nie
muszą. Muszą być sensowne dla Workbencha próbującego zorientować się, jakie
pliki znajdują się na dyskietce. Jeśli Workbench nie znajduje systemu plików
na dyskietce, to oznaczy ją jako niedosową (w przeciwieństwie do 'unreadable'
- nie dającej się odczytać dyskietki, na której zastosowano niestandardowy
format).
Jak mogę zmieniać image dyskietek w emulowanych stacjach?
DosUAE: wyjęcie dyskietki = End+F1, włożenie = Home+F1
WinUAE: wyjęcie dyskietki = Shift+End+F1, włożenie = End+F1
Oprócz tego można użyć amigowskiego programu 'uaectrl', znajdującego się w
podkatalogu 'amiga'.
Dlaczego odczyt z image'ów dyskietek jest tak powolny, przecież pliki te
znajdują się na twardym dysku?
Ponieważ emulowane jest wirowanie dyskietki. Jest to konieczne. Kiedy tylko
możesz, używaj emulacji twardego dysku.
<tu wstaw swój problem z emulacją twardego dysku za pomocą pliku
'hardfile'>
Nie używaj tego rodzaju emulacji. Lepiej używać oryginalnego systemu plików
(parametr -m w linii komend)
Czy można odczytywać amigowskie CD-ROMy?
Tak. W linii komend podaj parametr '-m CD:D:\', jeśli literą Twojego CD-ROMu
jest D:.
Czy na pececie można odczytywać amigowskie twarde dyski?
Tak. Linux 2.0 ma amigowski system plików, który, jak wieść niesie, umożliwia
odczytywanie amigowskich twardych dysków. Nie pytaj jednak o szczegóły. Nie ja
jestem autorem programu i nie używam go (na razie). Choć użyłem go do oczytania
plików .adf.
Kiedy pojawi się wersja 1.0, i co w niej będzie?
Mam nadzieję, że raczej szybko. Zrobiłem już prawie wszystko, co planowałem dla
wersji 0.6.x i 0.7.x Chcę tylko jeszcze ulepszyć i przyspieszyć emulację Coppera.
Wtedy przyjdzie czas na wersję 1.0.
Czy w przyszłości pojawi się wersja shareware? Czy będą wymagane jakieś
opłaty za używanie UAE?
Nie.
Co myślisz o dodaniu obsługi CyberGFX (albo jakiegoś innego standardu),
żeby móc uruchamiać Workbencha w wyższych rozdzielczościach? Czy nie mógłbyś
użyć emulacji procesora ARDI do przyspieszenia UAE?
UAE jest oprogramowaniem darmowym. Dołączony jest kod źródłowy. ARDI's Executor,
i, o ile się orientuję, wszystkie 'standardy' kart graficznych Amigi są
sprzedawane komercyjnie. Firmy, które stworzyły te programy, nie mają powodu do
rozdawania za darmo swoich produktów. Jedynym sposobem na poprawienie emulacji
grafiki byłoby zastąpienie graficznej biblioteki Amigi biblioteką oryginalnej
karty graficznej. Oznaczałoby to ogromną ilość pracy (tak, naprawdę zadano mi
takie pytanie! Nie wiem, skąd ludzie biorą takie pomysły).
Czy są w planach jakieś wyższe rozdzielczości (np. Workbench w 1024x768)?
Jeszcze nie wiem. Mam nadzieję, ale jest kilka technicznych problemów. Jest na to
kilka sposobów:
- częściowe lub całkowite przepisanie Amiga OS: mocno kłopotliwe.
- emulacja hardware'u karty graficznej: powinno to być raczej łatwe, jeśli
miałoby się dokumentację kości (można by podkraść tę z Linuksa/68k, mają chyba
obsługę kart graficznych na X). I tak jednak potrzebny byłby pewien rodzaj
komercyjnego oprogramowania, np. CyberGFX lub driver do EGS, lub coś innego
dla emulowanego modelu karty graficznej.
Czy byłoby możliwe przyspieszenie emulacji za pomocą graficznych 'dopalaczy', np. przy użyciu blittera z kości S3?
Wątpię. Nie jestem ekspertem od kart graficznych, ale prawdopodobnie jedyną wspólną cechą blittera z kart S3 i blittera z Amigi jest siedem tych samych liter. A nawet, gdyby były podobne, to i tak trzeba by przechowywać cały RAM Amigi w pamięci graficznej, co byłoby potwornie powolne.
A może by dodać obsługę GUSa lub innych podobnych kart i użyć ich sprzętowych możliwości do przyspieszenia emulacji dźwięku?
Podobnie jak w przypadku poprzedniego pytania, z powodu różnic sprzętowych peceta (w tym przypadku GUSa) i Amigi nie jest to możliwe. Być może coś takiego sprawdziłoby się w kilku szczególnych przypadkach (np. moduły Protrackera), ale nie wydaje mi się, że można napisać coś emulującego cały amigowski sprzęt grający. Chodzi o to, że po prostu sprawdzając wartości wysyłane przez program do rejestrów sprzętu dźwiękowego, trudno jest zorientować się, co program próbuje zrobić i co zrobi za chwilę. W przeciwieństwie do tej sytuacji, łatwo jest napisać odgrywaczkę modułów Protrackera dla GUSa, ponieważ wiadomo dokładnie, co robisz z dźwiękiem i jak to zrobić. (Nie oznacza to, że nie można używać Gravisa do uzyskania dźwięku; po prostu nie można go użyć do PRZYSPIESZENIA emulacji dźwięku)
Emulacja całego sprzętu to zły pomysł. Dlaczego po prostu nie emulować systemu operacyjnego? W końcu to on właśnie czyni Amigę Amigą.
Odpowiedź krótka: Nie zgadzam się z tym.
Odpowiedź długa: System operacyjny to tylko połowa tego, co czyni Amigę Amigą. Jest to na pewno bardzo miły system, ma możliwości, których brakuje mi w innych systemach, z drugiej strony jednak ma poważne niedociągnięcia w zakresie (na przykład) zabezpieczeń pamięci i działania systemu plików. Inną istotną cechą wyróżniającą Amigę w latach osiemdziesiątych z grona innych komputerów jest jej unikalna architektura kości. Jeśli zerkniesz do starych magazynów komputerowych, zobaczysz, że możliwości systemu operacyjnego Amigi są zaledwie wspomniane gdzieś na uboczu. Ludzie nie zdawali sobie sprawy z jego rewolucyjności jak na system komputera domowego. Zdawali sobie za to sprawę, że Amiga może wyświetlić na raz 4096 kolorów, że ma blittera i coppera z wszystkimi ich możliwościami. I sądzę, że to właśnie ta przewaga możliwości sprzętowych była źródłem sukcesu Amigi. Mam koncepcję UAE jako programu podobnego do różnych emulatorów Commodore 64: pozwoli ci na uruchomienie kilku starych gierek i programów, dla których nie możesz znaleźć nowszych i lepszych odpowiedników na pececie. Jako tego rodzaju program, UAE już może uruchomić gry bardziej statyczne (np. Monkey Island lub Bard's Tale) z zadowalającą prędkością. Szybsze procesory pozwolą w końcu na uruchamianie także gier akcji, podobnie jak szybsze procesory umożliwiły emulację Commodore 64 z pełną prędkością. UAE nie był (początkowo) pisany z myślą o Superużytkowniku używającym skomplikowanego oprogramowania na Amidze 4000 z procesorem 68060, ale raczej dla ludzi takich jak ja, którzy przesiedli się kilka lat temu z powodów zawodowych na peceta. Poza tym, emulacja systemu operacyjnego jest o wiele trudniejsza, szczególnie, jeśli komputer, na którym jest on emulowany jest całkowicie inny niż komputer, dla którego system ów stworzono. Trzeba by męczyć się z ciągłymi konwersjami i innymi koszmarami. Przy tworzeniu systemu operacyjnego Amigi nie myślano o umożliwieniu jego implementacji na inne komputery.
Jak szybka jest emulacja?
To jest najtrudniejsze pytanie. Najłatwiej byłoby odpowiedzieć "To zależy", spróbuję jednak odpowiedzieć szerzej. Wszystkie pomiary, które podaję, wykonane były na moim komputerze, P90, z kartą SVGAlib, i włączonymi opcjami 'szybszy procesor' i 'bez dźwięku'. Zwróć uwagę, że różne wersje UAE chodzą z różną prędkością, nie traktuj więc moich pomiarów jako ostatecznych i niezmiennych. Emulowany procesor 68000 jest dwukrotnie szybszy niż w A500. Zmierzyłem to każąc PowerPackerowi kompresować samego siebie (a był już skompresowany). UAE zabrało to 6 min., Amidze 500 około 15 min. W przypadku takich nie wymagających zbyt dużej graficznej aktywności programów można osiągnąć dwukrotną szybkość A500, przy ustawieniu odświeżania ekranu na co którąś-tam ramkę (duże wartości). W przypadku gier i dem prędkość procesora nie jest istotna, w przeciwieństwie do ustawień odświeżania ekranu. UAE może to automatycznie policzyć. Wersja SVGAlib automatycznie podaje wartość przy wychodzeniu z trybu emulacji. Prawdziwej Amidze wyświetlenie ramki zajmuje 20ms (50Hz). W przypadku dem/gier wymagających dużej aktywności blittera, coppera, wielu sprite'ów, przewijania ekranu, itd. nic się nie da zrobić. Na szczęście takie przypadki są bardzo rzadkie. Normalne gry mające zwykłą ilość blitterowskich obiektów, przewijanie ekranu i kilka sprite'ów działają w najgorszym razie z 1/3 lub 1/4 prędkości Amigi. Zmniejszenie ilości wyświetlanych ramek w jednostce czasu znacznie polepsza sytuację. Przy ustawieniu odświeżania ekranu na co piątą ramkę w zasadzie wszystko chodzi z od 50 do 100% prędkości A500. To wciąż jeszcze nie daje pełnego obrazu sytuacji (już pewnie zorientowałeś się, jak trudno odpowiedzieć na to pytanie). Prawdziwa Amiga 500 bez pamięci fast zwalnia o połowę przy 16 kolorach w trybie wysokiej rozdzielczości. Zwalnia wtedy także UAE, z tym, że już nie tak drastycznie, więc w tym trybie emulator może być kilka razy szybszy niż prawdziwa Amiga.
Jak mogę przyspieszyć emulację?
Uruchom emulator w najniższej rozdzielczości (320x200), 256 kolorach, upewnij się, ze opcja poprawnych proporcji wyświetlania jest wyłączona i ustaw odświeżanie ekranu na co trzecia ramkę. Wyłącz dźwięk Nie będzie to wyglądało zbyt ładnie, ale będzie chodzić tak szybko, jak tylko Twój sprzęt na to pozwala.
Czy do użycia tego programu potrzebna jest prawdziwa Amiga?
Tak.
Skąd mogę ściągnąć Kickstart ROM i gry na Amigę?
Przeczytaj ponownie dokumentację. Nie możesz. Nielegalne byłoby umieszczenie w
sieci zapisu ROMu lub innego chronionego prawami autorskimi oprogramowania (tak,
nawet, jeśli kiedyś kupiłeś Amigowską grę i sprzedałeś ją razem z komputerem to
teraz ściągnięcie jej z sieci byłoby nielegalne. Przykro mi.)
Dlaczego z lewej strony ekranu jest puste miejsce?
Amiga może tam wyświetlić grafikę, ale zazwyczaj tego nie robi, bo wyłączyłoby
to część sprite'ów. Miejsce to wykorzystywane jest tylko przez kilka
pełnoekranowych dem. Normalnie obraz nie znajduje się w centrum. Nic z tym nie
zamierzam robić. Jeśli nie możesz tego znieść, użyj rozdzielczości 320x200 lub
640x400, która próbuje wycentrować obraz. Prawie niemożliwe jest jednak
ustawienie tego poprawnie dla wszystkich programów. Jednak w tak niskich
rozdzielczościach cały obraz może się nie zmieścić na ekranie. Użyj wtedy
rozdzielczości 800x600.
Gdzie znajdę najważniejsze parametry linii poleceń?
W plikach czytajto i readme. Możesz także sam stworzyć plik z
opisem tych parametrów, wydajac polecenieuae -h > uae-help.txt
Jak mogę używać plików z image dysku dostępnych w sieci?
Pliki z rozszerzeniem .gz lub .gz.bin są spakowanie programem GZip.
Program ten jest dostępny na serwerze
ftp://oak.oakland.edu. Po zdobyciu programu
rozpakuj swoje pliki komendą gzip -d <nazwa_pliku>
Program testujący <tu wstaw nazwę swojego programu testującego>
daje dziwne rezultaty.
Uruchamiane pod emulatorem amigowskie programy w naturalny sposób chcą używać
amigowskich zegarów do pomiaru czasu rzeczywistego. Jednak w rzeczywistości,
zegary te podają tylko "czas emulowany". Na przykład Sysinfo daje te
same rezultaty na wszystkich komputerach. Nie uruchamiaj więc programów
testujących, aby sprawdzić szybkość emulatora. Niektóre programy testujące
używają zapętlonych instrukcji DIV lub MUL do pomiaru szybkości procesora,
jednak pod emulatorem te instrukcje zabierają tyle samo czasu, co wszystkie
inne - w efekcie otrzymasz o wiele za wysokie wartości. Uruchamianie programów
testujących ma trochę sensu jedynie jeśli uaktywnisz RTDCS. Jednak tylko trochę
sensu, gdyż istnieje graniczna dolna wartość podawana przez program testujący na
wszystkich komputerach. Im komputer jest szybszy, tym dokładniejsze będą te
wyniki.
Czy UAE nie jest skrótem od Unusuable Amiga Emulator
(tzn. Bezużyteczny Emulator Amigi)?
Tak, ale to było kiedyś. Nazwa ta dotyczyła tylko wersji 0. 1, która nie mogła
nawet bootować.
>> spis treści
B) W tej chwili tylko DosUAE pozwala na użycie plików adf skompresowanych programem GZIP
Co mam zrobić, jeśli nie chcę w kółko wpisywać tych samych parametrów w
wierszu poleceń?
Umieść te parametry w pliku 'uae.rc'. Zwróć uwagę na fakt, ze konfiguracja nie
jest już zgrywana do pliku 'uae.cfg'. Jeśli użyjesz parametru -o, będzie ona
zgrana do pliku 'uae.rc'.
Właśnie włożyłem nowy image dysku, ale UAE nie widzi go!
Bo musisz najpierw wyjąć poprzedni (klawiszami END+F1, F2, itd.)
Nie mogę uruchomić rozdzielczości 640x480 ani 800x600!
Te rozdzielczości wymagają karty graficznej z VBE. Możesz uzyskać UniVBE (cześć
pakietu oprogramowania Display Doctor) ze Scitech-u
(http://www.scitech.com), lub poprosić o
sterownik sprzedawcę swojej karty graficznej.
UAE nie działa! Dlaczego?
Plik image dysku lub plik z ROM-em mogą być uszkodzone. Twoja konfiguracja może
powodować problemy. Spróbuj przygotować dysk startowy (boot disk) zawierający
tylko sterowniki VESA i myszy.
Co powinienem zrobić, jeśli znajdę błąd?
Jeśli napotkasz coś, co może być błędem, proszę o skontaktowanie się z autorem
dosowej wersji UAE. Im więcej dostarczysz informacji o danym problemie, tym większe
prawdopodobieństwo, że zostanie on rozwiązany.
>> Powrot do spisu treści
>> Powrót do strony głównej polskiej dokumentacji UAE
Copyright for the translation: © 1998
Tomasz 'tsca'
Sienicki, tsca@cryogen.com
$Id: pytania.html,v 1.3 2002/06/26 11:15:25 tsca Exp $
[page hosted by geocities]