Amiga MinusEskarina
<<  Spis treści  >>
WYWIAD: BERND MEYER
Z Berndem Meyerem, współautorem Amithlona, rozmawia Sławomir Wilk:

Skąd wziął się pomysł na stworzenie Amithlona? Czy był to od początku projekt komercyjny?

Amithlon wystartował około roku temu jako pomysł Haralda Franka, noszący wtedy nazwę "Emulation Box" lub "Emubox". Harald napisał mi o tym pomyśle (który to pomysł różnił się znacznie od Amithlona w obecnej postaci), proponując honorarium za zrobienie mojej części. Pomysł z wielu różnych przyczyn nie doczekał finału, jednak zamiast porzucić projekt - zebrałem to co miałem już zrobione i zacząłem nad tym pracować. Dało mi to pełną swobodę tworzenia w zakresie podejmowania decyzji o kształcie Amithlona i uczyniło pracę całkiem przyjemną. W pewnym sensie robiłem coś dla samego poczucia dobrze spełnionego obowiązku. Z tego powodu jestem zadowolony z wyników pracy.

Jak długo trwały prace nad Amithlonem, kiedy się rozpoczęły i kiedy zostały zakończone?

Pierwsze elementy zostały stworzone około roku temu. Oczywiście całość bazuje na moim UAE-JIT, którego stworzenie zajęło mi kilka dobrych miesięcy przed zabraniem się za tworzenie Amithlona.

Ile osób tworzyło Amithlona i kto miał w tym największy udział?

Byłem odpowiedzialny za główną część: emulator i wszystko co jest bezpośrednio związane ze stroną sprzętową x86, na przykład obsługa akcelerowanej grafiki. Harald Frank zajął się obsługą sterowników widzianych od strony Amigi. Poza tym rozmawialiśmy z deweloperami, zespołem P96 i Thorstenem Hansenem, który napisał nam sterownik AHI do obsługi dźwięku.

Czy według Ciebie Amithlon to emulator czy raczej AmigaOS?

To oczywiście emulator, ponieważ emuluje kod procesora 68k. Amithlon tylko uruchamia AmigaOS, nie jest więc odrębnym systemem. Zwykło się mówić "to tylko emulator", jednak jest to coś więcej niż sam emulator. Oprócz emulacji procesora - która według mnie działa doskonale i jest najlepszym z obecnie istniejących rozwiązań - w pakiecie znajduje się zestaw sterowników dla AmigaOS, umożliwiający korzystanie z wielu składników pecetowego sprzętu. Pierwotnym zamiarem było wyposażenie Amithlona w emulację procesora Amigi i nic ponadto. Bez obsługi amigowych układów graficznych (Amithlon poprzez sterowniki zapewnia dynamiczną i efektywną obsługę kart graficznych), bez dźwięku wydobywanego z układu Paula (sterowniki do kart muzycznych), bez jakichkolwiek interfejsów twardych dysków (w miejscu scsi.device dostęp do wszystkich urządzeń EIDE i SCSI podłączanych do peceta). Z początku kilka urządzeń wydawało się nie do obsłużenia od strony AmigaOS, ale w końcu ich obsługa okazała się prosta.

W jakiej części Amithlon bazuje na kodzie UAE?

Wykorzystano elementy emulatora UAE-JIT zajmujące się emulacją procesora i koprocesora. Przed rozpoczęciem prac dostaliśmy pozwolenie od właścicieli praw do tych części UAE w postaci licencji na stworzenie jednolitego produktu opartego na tym kodzie. Oczywiście część JIT emulacji była moją własnością, więc nie stanowiło to problemu. Amithlon jest więc produktem komercyjnym. Nigdy nie zgodziłbym się na napisanie jednej linijki kodu mając świadomości, że nie otrzymaliśmy zgody od właścicieli praw wykorzystywanego kodu. Osobiście lubię darmowe oprogramowanie rozpowszechniane na takich czy innych zasadach i zrobiłem już kilka takich programów, np. kompilator JIT dla UAE. Gdybym tylko mógł, Amithlon byłby oczywiście darmowym produktem, jednak muszę się z czegoś utrzymywać, mieć za co kupić jedzenie czy kwiaty dla dziewczyny. Z drugiej strony tworzenie komercyjnego produktu nie jest łatwe. Ponieważ Amithlon nie jest rozprowadzany na licencji GPL, nie mogliśmy użyć żadnego kodu GPL bez zgody jego autorów. Dla przykładu byłoby dobrym pomysłem, by Amithlon odczytywał filesystem Linuksa i NT. W UAE istnieje fragment kodu, który "tłumaczy" dany filesystem na system plików widziany przez AmigaOS. Ale ten kod ma wielu współautorów rozrzuconych po całym świecie, więc nie mogliśmy go użyć.

W czym Amithlon jest lepszy od UAE? Czy zapewnia lepszą kompatybilność z oprogramowaniem pod AmigaOS? A może jest bardziej stabilny?

Amithlon nie zapewnia lepszej współpracy w kontakcie ze starym amigowym oprogramowaniem, pisanym "niesystemowo" i ściśle pod amigowy sprzęt. Nie to było jego założeniem. To co potrafi Amithlon to zamiana peceta w Amigę. To co potrafi UAE to uruchomienie AmigaOS przy pomocy pecetowego systemu. W rezultacie Amithlon szybciej emuluje procesor Amigi, bez zawracania sobie głowy emulacją układów ECS/AGA, która zajmowała sporą część pracy kompilatora JIT. Amithlon ma również przewagę w tych przypadkach, kiedy AmigaOS poprzez sterowniki odwołuje się bezpośrednio do pecetowego sprzętu, takiego jak mysz, klawiatura, karta sieciowa, muzyczna czy graficzna. Tymczasem AmigaOS uruchomiony pod UAE odwołuje się poprzez amigowe sterowniki najpierw do emulatora, który następnie kontaktując się z systemem nadrzędnym dopiero wtedy zleca mu obsługę wskazanych urządzeń. Trzymanie emulowanego systemu Amigi blisko sprzętu, co zapewnia Amithlon, przynosi inne efekty. Dla przykładu użytkownik może wykorzystywać amigowe dyski twarde IDE lub SCSI sformatowane przy użyciu któregokolwiek amigowego filesystemu: FFS, PFS czy SFS. Oznacza to, że sterowniki AmigaOS mogą się odwoływać bezpośrednio do sprzętu, dla przykładu Warp3D może pod Amithlonem bezpośrednio korzystać ze sprzętowej akceleracji grafiki. Na końcu warto wspomnieć fakt, że Amithlon posiada szybki interfejs umożliwiający uruchamianie "natywnych" procedur x86 jako fragmentów programów pisanych pod 68k.

Jaką część czasu procesora x86 procentowo zużywa Amithlon na proces emulacji, a ile z tego zostaje na obsługę uruchamianych programów?

To pytanie obowiązuje jedynie w przypadku UAE. Amithlon zużywa cały czas procesora na uruchamianie i obsługę amigowego oprogramowania. Jak już wcześniej wspomniałem, emulowany jest tylko procesor. Całą resztą, czyli obsługą urządzeń zewnętrznych, zajmują się sterowniki AmigaOS.

Ile miejsca na twardym dysku zajmuje Amithlon po zainstalowaniu?

Jeśli ktoś sobie tego życzy - może w ogóle nie zajmować miejsca. Amithlon jest sprzedawany w postaci samouruchamialnej płyty CD. Po włożeniu płyty do pecetowego czytnika można już korzystać z Workbencha. Oczywiście wielu użytkowników będzie chciało korzystać z już posiadanego AmigaOS i zainstalowanego oprogramowania. Wystarczy wtedy podłączyć amigowy dysk do peceta lub stworzyć miejsce na amigową partycję na dysku peceta. Oczywiście można zainstalować Amithlona by uruchamiać instalację prosto z twardego dysku. To rozwiązanie zajmuje mniej niż 10 MB, ale nie jest konieczne.

Czy jest szansa, by Amithlon rozwinął się w "natywny" AmigaOS? Co sądzisz o projekcie AROS?

Wydaje mi się że Amithlon i AROS mogłyby się wzajemnie uzupełniać z doskonałym skutkiem. AROS to w chwili obecnej świetny zestaw oprogramowania, ale borykający się z odwiecznym problemem wielkich projektów - aby sprawdzić czy napisana jego część działa prawidłowo potrzebna jest obecność innych fragmentów, które nie zostały jeszcze zrobione. Miło jest stworzyć nawet najmniejszy kawałek kodu i przetestować go w kontekście znanego środowiska. W ten sposób stworzyłem kompilator JIT dla UAE oraz Amithlona. Zaczyna się od czegoś co powinno być wykorzystane, zastępuje jego część docelowym kodem i sprawdza się, czy całość działa tak samo. Jeśli nie - należy prześledzić kod by znaleźć różnicę i wpaść na pomysł, jak ją zlikwidować. Amithlon oprócz tego że emuluje kod 68k potrafi uruchamiać "natywny" kod x86, miksując go w dowolny sposób z kodem 68k. AROS posiada już przepisany kod C dla wielu procedur AmigaOS, który może zostać zastąpiony "natywnym" kodem. Być może autorzy AROSa wykorzystają Amithlona do przetestowania swojego kodu w już działającym środowisku, być może torując sobie drogę ku stworzeniu "natywnego" systemu Amigi na pecetowej platformie sprzętowej.

Przeciwnicy Amithlona jako jego wadę wskazują brak możliwości uruchamiania programów napisanych pod PPC. Czy Amithlon zapewni w przyszłości swoim użytkownikom możliwość korzystania z programów napisanych specjalnie pod procesor PPC? A może nie jest to według Ciebie dobry pomysł, skoro i tak programy pisane pod m680x0 działają wielokrotnie szybciej niż na oryginalnej Amidze?

Mówiąc szczerze mam wrażenie, że wyposażenie Amithlona w emulację PPC byłoby zmarnowaniem środków. Gdy ostatnim razem zadano mi podobne pytanie, określiłem czas potrzebny na stworzenie emulacji PPC na trzy miesiące pracy w pełnym wymiarze godzin. Stworzenie Amithlona zajęło mi dziesięć miesięcy, a koszty tej pracy się nie zwrócą. Amithlon jest dobrym produktem i użytecznym narzędziem dla użytkowników. Ale nie mogę tego powiedzieć o emulacji PPC. Prędkość uruchamianego oprogramowania PPC byłaby taka sama jak programów w wersji 68k, a przecież większość programów PPC wychodzi również w wersji na 68k. Część z tych programów posiada zablokowane niektóre funkcje w wersjach 68k, jednak wraz z pojawieniem się Amithlona spodziewam się stopniowego spadku ukazywania się zubożonych wersji oprogramowania. Obecnie producenci programów mają wybór między tworzeniem tylko i wyłącznie wersji PPC, ograniczając rynek do posiadaczy kart procesorowych PPC, lub jednoczesnym wydawaniem obu wersji pod 68k, PPC oraz Amithlona. Poza tym można się spodziewać, że legalni użytkownicy Amithlona, skoro postanowili zainwestować pieniądze w emulator Amigi będą skłonni wydać pieniądze na każdy dobry i interesujący ich program które będzie można uruchomić właśnie przy pomocy Amithlona.

W jakim tempie będzie poszerzana lista kart graficznych, muzycznych i innych, obsługiwanych przez Amithlona?

Trudno powiedzieć. Nie widzę siebie zbytnio jako autora sterowników, chociaż podczas tworzenia Amithlona przyszło mi to robić. Jeśli ktoś zdecyduje się napisać odpowiedni sterownik, ten sterownik będzie dostępny. Harald Frank jest bliski opublikowania materiałów traktujących o poprawnym wykorzystywaniu powerpci.library, co powinno znacznie ułatwić pracę tym programistom, którzy zdecydują się na stworzenie sterownika do wybranego sprzętu.

Czy będzie możliwa obsługa tunerów TV z poziomu amithlonowego AmigaOS?

W katalogu testprogs znajduje się mały program o nazwie bt848. Pozwala on znaleźć kartę opartą na układzie BT878 i przygotować do wyświetlania obrazu wideo na ekranie systemu Amigi. Brakuje jednak oprogramowania do obsługi tunerów. Istnieją jednak linuksowe sterowniki do układu BT878 i jest okazja, by ktoś zapewnił obsługę tunerów telewizyjnych, zdobywając przy okazji wiedzę jak obsługiwać sprzęt z poziomu Amithlona.

Czym różni się Amithlon od AmigaOS XL? Która z tych dwóch wersji zapewnią lepszą, bo szybszą i bardziej stabilną emulację AmigaOS?

AmigaOS XL jest ogólnym pakietem, który zawiera dwa produkty: AmigaXL (UAE-JIT dla QNX) oraz Amithlona. AmigaXL jest wersją UAE-JIT uruchamianą z poziomu systemu QNX, podobnie jak WinUAE jest uruchamiany z poziomu systemu Windows. Programiści Haage&Partner uzupełnili wersję AmigaXL o kilka dodatków, jednak w gruncie rzeczy jest to ten sam stary UAE. Amithlon jest natomiast zestawem oprogramowania zamieniającym peceta w Amigę i nieźle mu to wychodzi. Oprócz emulacji procesora 68k nie zawiera żadnego kodu UAE, nawet emulacja koprocesora została napisana od podstaw. Oznacza to, że jeśli ktoś chce zachować kompatybilność z oprogramowaniem korzystającym ze starych układów graficznych Amigi czy Pauli lub z programami zapisanymi w postaci plików ADF ściąganych z Internetu, powinien wybrać AmigaXL. Jeśli natomiast zależy mu na szybszej emulacji procesora, pełnej kompatybilności z amigowymi dyskami twardymi i postawieniu jednego kroku naprzód - powinien wybrać Amithlona, ponieważ właśnie do tego został on stworzony. Moja opinia będzie co prawda stronnicza, jednak odpowiadając na pytanie muszę powiedzieć, że lepszą, szybszą i bardziej stabilną emulację zapewnia Amithlon.

Wierzysz że pojawienie się Amithlona spowoduje powrót byłych użytkowników Amigi, obecnie posiadaczy pecetów, do korzystania z AmigaOS?

Otrzymałem listy od kilku użytkowników mieszczących się w tej kategorii, więc będzie to miało na pewno miejsce, oczywiście nie w dużym stopniu. Zgodnie z tym co czytam w otrzymywanych listach, Amithlon głównie powstrzymuje obecnych użytkowników Amigi od opuszczenia okrętu. Większość kontaktujących się ze mną użytkowników jest zawiedziona stanem Amigi od strony sprzętowej, część z nich w ogóle przestała korzystać z tego komputera na przykład z powodu awarii sprzętu, którego naprawa kosztuje zdecydowanie za dużo.

Czy jesteś zadowolony z popularności Amithlona wśród użytkowników oraz ze wskaźnika jego sprzedaży?

Wygląda na to że projekt cieszy się popularnością, zwłaszcza że dla użytkowników nie stanowi większego problemu brak dołączonej dokumentacji, co i tak jest błędem H&P, na szczęście złagodzonym poprzez opublikowanie najczęstszych pytań i odpowiedzi na stronach internetowych poświęconych Amithlonowi. Wskaźnik sprzedaży jest niższy od spodziewanego, jednak znacznie wyższy od zakładanego w pesymistycznych wersjach.

Czy zgadzasz się z krążącą opinią, że pojawienie się na rynku Amithlona spowoduje odejście użytkowników od sprzętowej platformy Amigi, a tym samym pogorszenie kondycji takich firm jak Elbox, BPlan czy Eyetech? Czy Amithlon może stać się przeszkodą na drodze do realizacji takich projektów jak Pegasos czy AmigaOne?

Po pierwsze, mamy wolny rynek. Jeśli użytkownicy chcą kupić Amithlona, to po prostu chcą go kupić. Jeżeli natomiast chcą kupić AmigaOne, to znaczy że chcą kupić AmigaOne. Nie wierzę w tą całą ideę istnienia bezmyślnych użytkowników, którym trzeba pokazywać co mają robić, jak korzystać z Amigi i którzy muszą być chronieni przed wszelkimi niebezpieczeństwami. Są ludzie którzy podejmą własną, przemyślaną decyzję: kupić Amithlona czy też nie, być może część z nich postanowi wydać ciężko zarobione pieniądze właśnie na nasz produkt. Jeśli część z nich stwierdzi, że Amithlon jest lepszym rozwiązaniem od przykładowo Pegasosa, to jakim prawem ktoś ma im tego zabronić? Mają zmienić swoją decyzję tylko dlatego, że ktoś inny uważa że powinni zrobić coś innego? Jeśli środowisko Amigi uznałoby, że Amithlon jest złym rozwiązaniem, nikt by go nie kupił (co osobiście by mnie nie ucieszyło, zwłaszcza po tym jak Hyperion stracił w moich oczach wskutek naiwnie prowadzonej polityki reklamowej). Po drugie, Amithlon już istnieje. Jeśli jest to w danym miejscu możliwe, można zgłosić się do lokalnego sklepu amigowego i kupić dokonać zakupu. Można także zamówić Amithlona u lokalnego dystrybutora i otrzymać go w dosyć krótkim czasie. Te zasady nie obowiązują na razie w przypadku Pegasosa czy AmigaOne. Z tego co widzę AmigaOne nigdy nie została uruchomiona. Pegasos był demonstrowany na ostatnich targach, ale z tego co wyczytałem w raportach - nikt nie mógł dotknąć tej maszyny, a demonstracja ograniczyła się do pokazu okrojonych możliwości. Obawiam się że nie jest to jeszcze gotowy produkt, lecz egzemplarz do przeprowadzania testów. Wracając do tematu - w maju 2001 zaprezentowałem Amithlona grupie użytkowników z poleceniem: uruchomcie, wypróbujcie i powiedzcie co o tym sądzicie. Fakt, emulowany system zawiesił się kilka razy, jednak rzadziej niż spodziewali się tego użytkownicy. Oznaczało to że produkt jest w końcowej fazie produkcji. Dziś siedzę i słucham kolejnych optymistycznych zapowiedzi o przekładanym z tygodnia na tydzień terminie skierowania do sprzedaży nowej Amigi i zastanawiam się, ile kopii Amithlona nie sprzedało się w tym czasie, ponieważ ktoś, gdzieś po raz kolejny zapowiedział coś wielkiego, obiecując że to coś pojawi się naprawdę już za niedługo. Podziwiam firmę bPlan za to co już zrobiła w tak krótkim czasie i życzę jej pełnego sukcesu. Potrzeba wielkiej odwagi by zaprojektować zupełnie nową płytę główną PPC, zwłaszcza dla tak małego rynku, jaki stanowi Amiga i jej użytkownicy. Wolałbym jednak by firma przestała mówić o tym że jej produkt jest najlepszy i że głupotą jest skłanianie się ku produktowi konkurencji, a zamiast tego by pokazano to co już stworzyli (włącznie z pozwoleniem użytkownikom na uruchomienie na nowej Amidze dowolnego oprogramowania i podsumowania wydajności sprzętu) lub wzięto się do pracy by chociaż dotrzeć do miejsca, w którym będzie można coś konkretnego pokazać.

Wielu użytkowników UAE jest sceptycznie nastawionych do Amithlona. Czy jesteś w stanie przekonać ich, że korzystanie z Amithlona jest korzystniejszym rozwiązaniem niż używanie UAE?

Gdybym mógł, posadziłbym ich przy Amithlonie zainstalowanym na dobrze skonfigurowanym sprzęcie. To zwykle działa. Liczba osób które nabyły Amithlona pośród mojej lokalnej grupy użytkowników jest imponująca.

Jaką konkretną konfigurację sprzętową osobiście polecasz przyszłym użytkownikom Amithlona?

Polecam Athlona osadzonego w płycie głównej obsługującej pamięć DDR, z kartą graficzną GeForce2 (uwaga, nie GeForce3!), kartą muzyczną SB128 i kartą sieciową opartą o układ RT8029 10Mb (wkrótce obsługiwane będą inne modele kart sieciowych).

Czy jesteś zadowolony z Amithlona w obecnej postaci? A może brakuje mu jeszcze sporo do ideału?

Ubolewam z powodu braku sterowników, ale ich brak odczuwa się zawsze. Szkoda że mimo fazy testów w końcowym produkcie znalazło się kilka niedociągnięć. Ale wiedząc że nic nie jest doskonałe wyposażyłem Amithlona w możliwość usuwania błędów, więc istnieje już kilka łatek likwidujących znane błędy. Ogólnie jestem zadowolony z tego, czym obecnie jest Amithlon i cieszę się że moje nazwisko figuruje na tym produkcie.

Rozmawiał Sławomir Wilk
<<  Spis treści  >>