(na przykładzie pakietu Warp3D z kartą Voodoo3, slotami PCI Mediator w Amidze 1200)
Postanowiłem uruchomić sprzętowy dopalacz grafiki 3D w mojej Amidze 1200. Od dawna cieszę się doskonałym obrazem generowanym przez kartę Voodoo3 w moim komputerze. Jednak wszystkie programy działały w świecie 2D. Układ 3D wbudowany w kartę graficzną odciąży procesor komputera od obliczeń związanych z trójwymiarową grafiką. Co mnie skłoniło do wypróbowania 3D? Oto główne powody:
Przede wszystkim gry korzystające lub wymagające procesora 3D stanowią smakowity kąsek, np. Wipeout 2097, Shogo, Heretic II, Quake. Wspomaganie sprzętowe grafiki 3D to nowa jakość w świecie Amigi. Oczywiście nie nowa w sensie chronologicznym, bo wspomaganie 3D istnieje już od wielu lat dla naszej platformy.
W dokumentacji do Warp3D przeczytamy, że:
Czynność ta jest ważna, gdyż musimy uświadomić sobie stan faktyczny naszych plików na dysku. Przez "System Mediator" rozumiem wszelkie pliki umożliwiające działanie mostka PCI Mediator oraz wszelkich obsługiwanych przez niego kart. Nadmienię, że użytkownik slotów PCI Mediator może w firmie Elbox zarejestrować się przy pomocy maila i otrzymywać uaktualnienia plików systemu Mediator. Szczegóły rejestracji opisane są w pliku ReadMe, który znajduje się w katalogu głównym płyty "Mediator Multimedia". Co jakiś czas pocztą elektroniczną otrzymujemy dwa archiwa MediatorUP_x.x.lha i MM_CD_x.x.lha. Gdzie x.x jest numerem kolejnego uaktualnienia.
Oto moje wersje plików systemu Mediator (stan na 19 lipca 2005 r.), na których uruchomiłem wspomaganie 3D. Zatem sprawdźmy pliki zawarte m.in. w paczce MediatorUP_3.9.lha (moja aktualna wersja):
Nazwa pliku | Wersja | Data wersji | Lokalizacja |
pci.library | 6.2 | 12 grudnia 2003 | Libs: |
pciinfo | 1.2 | 30 kwietnia 2001 | C: |
Voodoo.card | 4.23 | 17 listopada 2003 | Libs:Picasso96 |
Vendors.txt | - | 13 lutego 2003 | S: |
Elementy najbardziej nas interesujące przy instalacji Warp3D.
Nazwa pliku | Wersja | Data wersji | Lokalizacja |
Warp3D.library | 4.2 | 13 lipca 2001 | Libs: |
Warp3DPPC.library | 4.2 | 3 września 2001 | Libs: |
sterowniki GFX dla A1200 | |||
W3D_Picasso96M.library | 4.2 | 17 lutego 2002 | Libs:Warp3D/GFXdrivers |
W3D_Picasso96M_PPC.library | 1.0 | 17 lutego 2002 | Libs:Warp3D/GFXdrivers |
W3D_Picasso96MU_PPC.library | 4.2 | 17 lutego 2002 | Libs:Warp3D/GFXdrivers |
sterowniki HW dla A1200 | |||
W3D_AvengerBEM.library | 4.2 | 17 lutego 2002 | Libs:Warp3D/HWdrivers |
W3D_AvengerBEM_PPC.library | 4.2 | 5 lutego 2002 | Libs:Warp3D/HWdrivers |
W3D_AvengerBEMU.library | 4.2 | 17 lutego 2002 | Libs:Warp3D/HWdrivers |
W3D_AvengerLEM.library | 4.2 | 17 lutego 2002 | Libs:Warp3D/HWdrivers |
W3D_AvengerLEM_PPC.library | 4.2 | 17 lutego 2002 | Libs:Warp3D/HWdrivers |
W3D_AvengerLEMU.library | 4.2 | 17 lutego 2002 | Libs:Warp3D/HWdrivers |
W uaktualnieniach płyty "Mediator Multimedia" MM_CD_x.x.lha znajdują się nowsze pliki sterowników do kart PCI. Powyższe zestawienie zaczerpnąłem ze strony firmy Elbox. Tam właśnie znajduje się aktalna lista plików.
Od 15 lipca 2005 r. niektóre zbiory zmieniły się. Ukazało się następne uaktualnienie plików systemu Mediator (MediatorUP_3.10). Dokładnie są to: pci.library v6.5, voodoo.card v4.26 oraz nie mające dla Warp3D istotnego znaczenia Virge.card i MedConfig v1.4. Nie zdążyłem jeszcze przetestować nowej pci.library v6.5 i i voodoo.card v4.26.
W jaki sposób sprawdzić wersje plików, które mamy na dysku? Jest kilka sposobów by się przekonać jaką wersją pliku dysponujemy. Po pierwsze za pomocą systemowego polecenia version z poziomu shella, przykładowo:
version Libs:Picasso96/Voodoo.card
Po drugie z poziomu programu do zarządzania plikami. Dwuklik na pliku w DiskMasterze 2 czy DOpusie 4 automatycznie wywoła podgląd pliku. Zazwyczaj pod koniec lub na począteku biblioteki odczytamy jej wersję. Po trzecie wykorzystując program (skrypt systemowego instalera) MedConfig v1.4, który można pobrać bezpośrednio ze strony firmy Elbox. Potrafi on nie tylko podejrzeć ale i zmienić wartości zmiennych systemowych (o czym będzie
jeszcze wzmianka w dalszej cześci tekstu).
Moglibyśmy od razu przejść do tego punktu i pominąć wcześniejsze akapity traktujące o Warp3D, lecz naprawdę warto mieć świadomość co robimy i z czym mamy do czynienia. Zaczynamy więc teraz właściwą instalację sterowników 3D.
Z katalogu Warp3D, płyty "Mediator Multimedia" uruchamiamy ikonę Install_Warp3D.
Instalator przywita nas komunikatem "Welcome to Warp3D OEM for Mediator". |
Wybierzmy Install. Zostawiamy zaznaczoną opcję Expert User i standardowo klikamy na Log File. Zostanie założony katalog Warp3D w Libs:
Na pytanie: "Do you want to install the PPC libraries, too?" odpowiadamy Yes, jeśli na pokładzie naszej maszyny działa procesor PowerPC. Następnie instalator poprosi o kolejną odpowiedź: "Do you want to install the demos?". Chodzi tu o programy, które pokażą możliwości i w ogóle działanie wspomagania 3D. Odpowiadamy twierdząco gdyż przy pomocy tych programów będziemy testować świeżo zainstalowany Warp3D. Z drugiej strony można je uruchomić bezpośrednio z CD, ale ja chciałem mieć je pod ręką na dysku. Wskazałem jeszcze katalog Work:Grafika jako miejsce instalacji programów demo. Ostatnie pytanie "Do you want to install the user's guide?" dotyczy instalacji dokumentacji do Warp3D. Polecam wrzucenie tych kilku plików na dysk. Zawsze będą pod ręką w razie potrzeby.
Jak zwykle zachęcam do zachowania logu z instalacji, czyli pliku Install_log_file. U mnie znalazł się on w katalogu głównym partycji Work: Instalator na końcu procesu instalacji danego programu informuje gdzie został zapisany log. Zmieniłem mu nazwę na Warp3D_V4.install_log_file i przeniosłem do Help:install_log/
Sprawdźmy czy wybrane zmienne środowiskowe są ustawione zgodnie z dokumentem Elboxu Warp3D_install_note zawartym w archiwum MediatorUP39.lha. W pozostałych uaktualnieniach zapewne też odszukamy ów plik z uwagami. Pragnę przypomnieć, że zmienne środowiskowe, to nic innego jak zwykłe pliki tekstowe, zawierające parametry dla programów lub systemu operacyjnego komputera. I tak dokonałem następujących zmian:
Envarc:PowerPC/force na 1 (było 0),
Envarc:PowerPC/gfxaddr na $200000 (było 0),
Envarc:PowerPC/terminator 2 (było 2),
Envarc:Mediator/MMU No (było No),
Envarc:Mediator/Warp3D 15MB (było 15MB dla Voodoo3, 31MB jest dla
Voodoo4/5),
Envarc:Mediator/MemSize 7 (było 7, to wartość dla karty Voodoo3 przy
zworce Memory Window w Mediatorze ustawionej na 8MB; sprawdź w pliku
Warp3D_install_note pozostałe wartości przy różnych ustawieniach
zworki Memory Window).
Naturalnie nie ma potrzeby rozkręcać obudowy komputera by się
przekonać w jaki sposób ustawiona jest zworka Memory Window w
Mediatorze. Systemowy program ShowConfig z szuflady Tools poda
odpowiedź. Poniższy wiersz z sekcji BOARDS dotyczy mojej konfiguracji:
Board (unidentified): Prod=2206/160($89E/$A0) (@$200000 8meg)
A więc 8MB i widzimy przy okazji, że adres $200000, zmiennej gfxaddr
nie wziął się z rękawa.
Wartości zmiennych systemowych możemy ustawić systemowym edytorem.
Obiecałem, że wspomnę o MedConfig. To bardzo pomocne narzędzie. Oprócz
raportowania o wersjach plików systemu Mediator, potrafi ustawić
zmienne zgodnie z posiadaną konfiguracją.
Na początku wybieramy czy chcemy uzyskać jedynie raport o stanie wersji biblitek i zmiennych czy może pragniemy je odpowiednio ustawić.
Potem pojawia się pytanie o naszą konfigurację sprzętową. Następnie dokonujemy wyboru karty graficznej. Zostaniemy także zapytani czy używamy karty PCMCIA oraz czy nasz Mediator wyposażony jest w CD Mediator Multimedia.
Teraz sugestia, że powinniśmy się upewnić czy zworka Memory Window ustawiona jest na 8MB. Sprawdzamy to programem ShowConfig. Następnie pytanie czy używamy karty turbo PowerPC.
Pierwsze pytanie o zmienną środowiskową. Tutaj zmienna MMU. Mamy możliwość ustawić ją na wartość zalecaną "No". Kolejno wymieniane są inne zmienne wraz z ich zalecanymi wartościami.
Oto ważne (ale nie wszystkie) przy instalacji Warp3D zmienne gfxaddr i memsize, które zostały określone na wartości będące konsekwencją ustawienia zworki Memory Window.
Później wybieramy karty PCI włożone do Mediatora. Mamy także możliwość ustawienia pozostałych zmiennych. Będzie także pokazane podsumowanie wartości zmiennych. Z podaniem starych i nowych (zmienionych) wartości. Jak wspomniałem wcześniej MedConfig podaje numery wersji plików systemu Mediator, co możemy zobaczyć dokładnie w następnych okienkach. Wszystkie wyżej wymienione informacje możemy na spokojnie przejrzeć w zapisanym do RAM: logu MedConfig.
Nadszedł moment by ożywić nasz procesor 3D na karcie graficznej!
1. Z katalogu W3DDemo z dysku twardego lub z katalogu Warp3D/Demo płyty Mediator Multimedia jako pierwszy uruchomiłem WarpTest. Program prosi o wybranie rozdzielczości. Zatem należy wybrać ekran 16bit (PC), gdyż wspomaganie 3D działa na 16 bitowych ekranach. Zmiana efektów 3D w WarpTest następuje przy pomocy myszki i klawiszy opisanych na ekranie.
Pierwszy test wspomagania 3D - program WarpTest |
2. Program gears_ppc-window, czyli obracająca się zębatka w okienku na Workbenchu. Z dema wychodzimy przez klawisz Esc.
Obracające się kolo zębate |
3. Porównamy teraz wydajność procesorów serii 68k z PowerPC. Program gears_68k-window jest odpowiednikiem uruchamianego przed chwilą gears_ppc-window. Z tym, że wykorzystuje procesor 68k. Prawda, że widać dużą różnice w prędkości obracania się koła?
4. Czas na nieco poważniejszy test. Uruchomimy pierwszą grę ze
wspomaganiem 3D. W katalogu z demami znajduje się podkatalog
glSokoban - klasyczna logiczna gierka. Stara jak komputery. Z poziomu shella uruchomiłem ją w tle przez:
run glsokoban
Istnieje też wersja dla procesorów 68k - glsokoban68k. Klawisze w, a, d, x powodują zmianę perspektywy planszy z grą, zaś klawisze 4, 8, 6 , 2 pozwalają się poruszać.
Gra Sokoban |
5. Zwieńczeniem testów 3D w Amidze niech będzie demo gry WipeOut 2097. Zawarte jest ono w archiwum Aminetu pod nazwą WipeOut_2097_Demo.lha. Po rozpakowaniu z poziomu shella przez:
lha x WipeOut_2097_Demo.lha
uruchamiamy ją z ikonki WipeOut2097_demo. Na początkowym ekranie
konfiguracyjnym gry wybrałem Graphics Mode - Window. Następnie
nacisnąłem Play i gra uruchomiła się.
Gra ze wspomaganiem 3D - WipeOut 2097 na ekranie Workbencha. |
Ten przydługi wywód na temat instalacji 3D w klasycznej Amidze można byłoby sprowadzić do instalacji pakietu sterowników Warp3D. Chciałem jednak sprawić by w razie wątpliwości czy problemów można było nieco rozejrzeć się po najbliższych okolicach systemu AmigaOS. Dzięki temu mamy duże szanse, że ewentualne trudności będziemy mogli przezwyciężyć samodzielnie.