Skip navigation.

exploreopera

| Help

Sign up | Help

Romhacker's Guide to the Galaxy

Życie, wszechświat i cała reszta ;)

Posts tagged with "emulacja"

... i po świętach

, , , ...

Już po świętach, czas więc nadrobić zaległości. A wyszło przez ten czas parę nowości:

games-emulation/bsnes
Zdążyła wyjść nowa wersja z paroma istotnymi zmianami pod maską. Bumped.

games-emulation/sdlmame
Nowa wersja sdlmame, na razie bez patchy wolfmame, bo te jeszcze nie zdążyły wyjść dla 0.124. Kiedy się pojawią, na pewno dorzucę.

games-emulation/sdlmess
Podobna historia jak wyżej, odjąć wolfmame P:

Jeszcze ciepłe ebuildy do pobrania z Roslin Uberlay.

Emulatory, emulatory...

, ,

Dzisiaj tylko dwa bumpy do nowszych wersji:

games-emulation/bsnes
Nowa wersja emulatora bsnes z paroma istotnymi zmianami pod maską. I wszystko jasne :smile:

games-emulation/yabause
Nowa wersja emulatora konsoli Sega Saturn. Trochę przy tym się naużerałem, bo autor coś namieszał z autotools. Kompilowało się ładnie z palca, z ebuilda już nie. Winowajcą okazał się argument --host przekazywany przez econf. Moje rozwiązanie nie jest eleganckie, ale działa :smile: Wydaje mi się, że nowa wersja chodzi dużo lepiej, szczególnie dźwięk. Jest też mocno eksperymentalny port na QT, ale bez WIELU zabiegów się nie kompiluje, a stabilność działania pozostawia wiele do życzenia. Ebuild wymusza więc stary, dobry port na GTK.

PCSX2

, , ,

Kolejny dzień, kolejne zmiany w ebuildach:

games-emulation/pcsx2
James Le Curiot odkrył co psuło wykrywanie MMX przy custom-cflags. Okazuje się, że ten kawałek kodu głupieje, jeśli nie jest skompilowany z -finline-functions. Tak się składa, że pcsx2 bez łatki używa -O3, które zawiera tę flagę. Cóż, kolejna zagadka rozwiązana. Z nowym patchem już nie ma tego problemu. Usunąłem więc flagę custom-cflags, a patch jest zawsze aplikowany.

games-emulation/ps2emu-cdvdisoefp, games-emulation/ps2emu-fwlinuz, games-emulation/ps2emu-zerospu2
Parę nowych pluginów na wypadek, gdyby komuś ich brakowało. Uwaga, fwlinuz i zerospu2 są dość leciwe i wymagają gtk1.x.

Nowe ebuildy

, , , ...

W dzisiejszym odcinku sagi "Opowieści z krainy ebuildów":

games-emulation/pcsx2
Za sprawą pewnej osoby z bugzilli Gentoo zaistniał w końcu porządny ebuild do pcsx2. Nowy ebuild jest modularny (na b.g.o. są też ebuildy do większości dostępnych wtyczek) i napisany dużo sprytniej od starej, monolitycznej kluchy. Oprócz tego zawiera elegancki i prostszy wrapper do odpalania binarki. Czego chcieć więcej?

Nie byłbym jednak sobą, gdybym w tej nowej zabawce trochę nie podłubał. Przede wszystkim usunąłem flagę recompiler, która robiła więcej złego niż było z niej pożytku. Moje dochodzenie wykazało, że w configure nie istnieje możliwość włączenia/wyłączenia SSE2. Istnieje za to możliwość włączenia sse3. Wyrzuciłem więc flagę sse2, a w zamian wrzuciłem flagę sse3. Idąc dalej, łatka od CFLAGS psuła u mnie wykrywanie MMX, więc teraz jest nakładana tylko przy włączonej fladze custom-cflags. Podobno nie jest to problem na architekturze amd64, ale nie miałem szansy tego sprawdzić. Poza tym naniosłem kosmetyczne zmiany w ebuildach do wtyczek peopsspu2, cdvdlinuz i cdvdiso, żeby używały systemowych CFLAGS, a później zrobiłem ebuilda do dość leciwej (używającej gtk1.x, brrr) wtyczki usblinuz.

Nie przestałem jednak na tym. Pomyślałem "Hmm, mam komplet ebuildów do wersji stable... Może by tak dorobić ebuildy do svn?" No i po jednym wieczorze kombinowania udało mi się. Nowy ebuild do emulatora jest dużo mądrzejszy od starego monolitu. Krótko mówiąc, stary pobierał całe repo, zajmujące ponad 90MB. Nowy ebuild pobiera tylko niezbędne dwa katalogi (a eclass svn starał się jak mógł, żeby mi to utrudnić). Łącznie (emulator + wszystkie wtyczki) nie jest pobierane więcej niż 30MB - bagatelka 3 razy mniej. Mmm :yes:

games-emulation/sdlmess
SDLMESS to brat-bliźniak SDLMAME zajmujący się różnej maści konsolami i komputerami. Między obydwoma projektami istnieje wiele podobieństw, w tym dużo współdzielonego kodu i identyczny sposób kompilacji. Co to oznacza w praktyce? Wziąłem ebuild do sdlmame, zmieniłem nazwę, usunąłem obsługę wolfmame, dopisałem dwie linijki i... działa :D Nawet patch od ścieżek nałożył się ładnie (po uprzednim s/mame/mess/g). Szkoda, że wszystko nie jest tak proste :D

<kryptoreklama>Ebuildy do pobrania z Roslin Uberlay</kryptoreklama>

Ebuilds: The Saga Continues

, , , ...

Wczoraj chciałem jeszcze krótko napisać o kilku zmianach w ebuildach, ale coś mnie powstrzymało (o tym później). Czas nadrobić zaległości, póki pamiętam co zmieniłem :smile:

app-emulation/e-uae - Nowa wersja emulatora Amigi. Autor oprócz wersji RC wydaje też co jakiś czas testowe snapshoty. Bumpnąłem ebuilda do najnowszego snapshotu z 13 stycznia. Bagatelka 11 miesięcy nowsze niż rc4 z portage :D Szkopuł w tym, że portage uważa wersję z oficjalnego drzewa za nowszą (bo niby rc jest lepsze od pre). Jako rozwiązanie polecam dopisać =app-emulation/e-uae-0.8.29_rc4-r1 do package.mask.

games-emulation/sdlmame - Poprzedni ebuild, który popełniłem, był do wersji testowej 0.123.2 bez flagi wolfmame, bo patche te nie bardzo chciały się nakładać ze względu na pewne zmiany w kodzie. Okazuje się, że ten build nie lubi też flagi minimal, więc ją też usunąłem. Dorzuciłem za to ebuild do wersji stabilnej 0.123. Ten dla odmiany ma najnowsze patche wolfmame. Poprawiłem też niechcący skopaną flagę minimal.

games-emulation/zsnes - Raczej nikt nie zauważył, ale flaga experimental nie działa przy włączonych custom-cflags w USE. Naprawione. Nie robiłem revbumpa, bo zmiany są naprawdę niewielkie.

Spodziewam się, że te nowości będzie można pobrać pod wieczór z Roslin Uberlay.

Emerald Dragon

, ,

Ostatnio było mi dane przejść kolejnego klasycznego jRPGa zatytułowanego Emerald Dragon. Wszystko za sprawą grupy Translation Corporation, która niespełna miesiąc temu wydała kompletne tłumaczenie tej gry na angielski.
Tytułem wstępu: Gra opowiada o losach młodego smoka o imieniu Atrushan, który chcąc wybawić ukochaną z opresji, przybiera ludzką postać i rusza stawić czoła hordom demonów. I właściwie tyle mogę powiedzieć, jeśli nie mam wam popsuć zabawy :smile:

Ten post w zamierzeniu nie ma być tyle recenzją, co krótką listą moich obserwacji na temat gry.

Oto i one:
  • Sterujemy tylko główną postacią. Resztą postaci kieruje AI, które było na tyle sprytne, że jego obecność mi nie przeszkadzała.
  • Tylko dwie (główne) postaci zdobywają doświadczenie. Reszta awansuje skokowo po ważniejszych wydarzeniach w grze.
  • Gdy ktoś odchodzi z drużyny, odzyskujemy całość jego ekwipunku. Bardzo uczciwe :D
  • Namiotu można użyć wszędzie poza walką. Zdziwiło mnie to o tyle, że większości jRPG można to uczynić tylko na mapie świata.
  • Atakujemy nie naciskając w kółko odpowiedni przycisk, a chodząc po mapce i napierając na wroga.
  • Zamiast tradycyjnych tur wprowadzono pasek energii. Póki nie ulegnie on opróżnieniu możemy do woli atakować i chodzić po rzeczonej mapce.
  • Postaci mają avatary, prawdziwa rzadkość w snesowych grach. Fakt, trochę wyblakłe kolory, ale liczy się myśl. Oprócz tego co jakiś czas pojawiają się cieszące oko cutscenki. Nie jest źle jak na takiego starocia.
  • Kilka genialnych motywów muzycznych, które chodzą mi od tamtego czasu po głowie.



Another day in ebuild land

, , , ...

Dzisiaj trochę skromnie, bo tylko dwie ebuildowe nowości.

games-emulation/sdlmame:
W międzyczasie zdążyła wyjść nowa wersja, więc bumpnąłem ebuilda. Tymczasowo(?) musiałem wyrzucić łatki wolfmame. Nie bardzo chciały się nakładać. Może jeszcze w nich podłubię w wolnej chwili. Ktoś w ogóle tego używa? :D
Korzystając z okazji usunąłem nieeleganckie obejście na ściąganie źródła (autor blokuje wgeta, więc ebuild udawał FF). Zamiast tego dałem RESTRICT="fetch". Mmm, dużo ładniej.

games-emulation/zsnes
Ebuild z oficjalnego drzewa portage + pewna istotna modyfikacja. Stary ebuild podawał configure parametr --enable-release, który wyłącza kompilację eksperymentalnego kodu i... włącza coś zwane "crazy optimizations". Jak bardzo szalone są te optymalizacje? Assembler dostaje we flagach -O99999999 :yikes:

Co to oznacza w praktyce? Oto, co miał do powiedzenia genlop u lazy_buma (stary ebuild vs. nowy):
     Fri Jul 13 21:25:07 2007 >>> games-emulation/zsnes-1.51
       merge time: 1 hour, 3 minutes and 44 seconds.

     Mon Feb 25 20:30:18 2008 >>> games-emulation/zsnes-1.51-r2
       merge time: 3 minutes and 2 seconds.


Tak, dobrze czytacie. Na starym ebuildzie było ~20 razy wolniej. Nie wiem ile dają te "szalone optymalizacje", ale raczej nie tyle, żeby warto było tyle czekać :smile: Zamieniłem więc -O99999999 na o wiele rozsądniejsze -O1. Jako bonus dodałem flagę "experimental", która włącza eksperymentalne ficzery. Domyślnie jest wyłączona.

Garść nowych ebuildów czyli mziab się nudził

, ,

Zgodnie z obietnicą czas na pierwszy właściwy post. Tym razem odrobina fachowej chińszczyzny. Otóż, w ostatnim czasie dłubałem trochę w ebuildach. Trochę z nudów, trochę z chęci ułatwienia sobie życia w przyszłości. Moim zdaniem znajdzie się tu kilka przydatnych rzeczy (choć przyznaję, że niektóre są dość niszowe). Oto i one:

app-portage/portage-bashrc-ng - Zestaw bardzo przydatnych modułów zwiększających możliwości portage (autopatch, automatyczny localepurge, indywidualne ld/cxx/cflags dla pakietów itd.). Stary ebuild, który znalazłem nie instalował jednego z plików, przez co moduł perpackage nie działał. Rzeczony moduł miał też niefortunną kolizję nazw funkcji, która wyszła przy okazji niedawnej aktualizacji portage. Naprawiłem ebuilda i dołączyłem odpowiedniego patcha.

games-emulation/bsnes - Bardzo dokładny i bardzo wymagający emulator Super Nintendo. Rozsądne prędkości osiąga dopiero na procku pokroju Core 2 Duo. Wstępnego ebuilda napisałem ja, lazy_bum poprawiał.

games-emulation/gens - Live ebuild do najlepszego emulatora Segi Genesis/Megadrive.

games-emulation/pcsx2 - Live ebuild do emulatora ps2 na podstawie ebuilda z bugzilli. Poprawiłem parę rzeczy, m.in. zależności. Wrapper odpalający emulator pozostawia trochę do życzenia, ale działa.

games-emulation/qmc2 - Nareszcie frontend do sdlmame, który daje się normalnie używać. Bumpnąłem ebuilda z bugzilli i usunąłem niepotrzebne śmieci.

games-emulation/sdlmame - Bumpnięty i nieznacznie przerobiony ebuild z bugzilli. Poprawiłem optymalizacje. Wynikowa binarka robi się krócej i jest mniejsza.

games-emulation/vbam - Live ebuild do forka emulatora VisualBoyAdvance. Dodano parę nowych ficzerów, naprawiono błąd z trzeszczącym dźwiękiem, który doprowadzał mnie do szewskiej pasji... ale i tak już zdążyłem się przerzucić na mednafena :smile: Niemniej jednak brawa dla śmiałków, którzy zaopiekowali się kodem.

games-engines/onscripter-en - Opensource'owy port silnika do gier z gatunku tzw. "visual novel". Chodzi pod tym m.in. Tsukihime i Kagetsu Tohya, a także wiele innych niszowych produkcji. Eksperymentalna flaga "scale" jako bonus.

Wszystko, co wymieniłem, a także wiele, wiele więcej możecie pobrać z zaprzyjaźnionego roslin uberlay. Enjoy!