PPSSPP 0.5

Dzisiejszą wiadomość, chciałbym dedykować wszystkim osobom zastanawiającym się nad zakupem drogiego telefonu, jak również wszystkim zainteresowanym: jak, skąd i dlaczego na psemu.pl pojawiają się materiały związane z HTC OneX. Tak więc, w gwoli wyjaśnienia, informuję, że kwestia jest bardzo prosta, lubię androida, cenię rozwiązania nVidii, a mój telefon najzwyklej w świecie, nie wyrabia. Niniejszy stan rzeczy boli niebywale, już w przypadku obserwacji skoków na ukochanym ePSXe, toteż możecie sobie wyobrazić moje rozgoryczenie, gdy światło dzienne ujrzały pierwsze wersje…

… PPSSPP, będącego emulatorem przenośnego PlayStation, dostępnym dla systemów Windows, Linux, oraz rozwiązań mobilnych spod znaku BlackBerry oraz Android. Pierwsze odsłony aplikacji dało się jakoś przeżyć, w sumie i tak nie pozwalały na uruchomienie czegokolwiek. Z czasem i każdą kolejną wersją jest coraz gorzej – już dziś emulator pozwala uruchamiać całkiem sporą liczbę komercyjnych tytułów, a kilka z nich, z czystym sumieniem określić można jako grywalne.
Program nie pozbawiony jest wad – do prawidłowego działania wymaga drugiej wersji opengl es i smarfona o niezgorszych parametrach, co z definicji eliminuje z grona odbiorców osoby z urządzeniami podobnymi mojemu [no co? chcieć, a nie móc, to jest spora wada! :] Na kompatybilnych urządzeniach z kolei, potrafi "zwariować" przy zmianie orientacji ekranu, nie poraża mnogością opcji, szybkością reakcji przycisków i ergonomią wykonania interfejsu (nawet na ok. 5-calowym ekranie nawigacja potrafi sprawić problemy).
Niemniej nie należy zapominać, że aplikacja jest wciąż we wczesnym stadium i opisywane błędy mają prawo wystąpić, co więcej jak na tym etapie (v0.5) zdecydowanie można je wybaczyć biorąc pod uwagę, ze na takiej Tegrze3, gry działają naprawdę szybko. Osobiście spodziewałem się ślimaka w tempie 5-10fpsów, a na HTC OneX, można spokojnie odpalić Lumines czy Dragon Ball: Evolution i mrużąc zmysły na źle wyświetlane napisy oraz niekompletną oprawę audio, można defacto pograć. Z braku licznika klatek nie jestem w stanie określić dokładnie z jaką prędkością pracują gry, jeśli jednak miałbym strzelać to obstawiałbym 45-75% w przypadku pierwszego tytułu i 30-60% w przypadku drugiego. Najciekawszy jest w tym fakt, że program wciąż nie ma napisanego dynamicznego rekompilatora dla urządzeń ARM, więc jeśli autorowi uda się spełnić obietnicę wprowadzenia tej opcji w kolejnym wydaniu, to już niedługo otrzymamy pracujący kilkukrotnie szybciej emulator. Czego sobie i Wam życzę, a w międzyczasie gorąco zapraszam do odwiedzenia witryny domowej projektu oraz stosownej strony w Google Play.

——-

Jak poprzednio – wydajność i kompatybilność oprogramowania sprawdzona na smartfonie
HTC OneX, dzięki uprzejmości firmy HTC, która udostępniła w/w urządzenie do testów

JPCSP SVN r2911

Planowałem co prawda, poczęstwać Was w grudniu serią informacji dotyczących mobilnej emulacji na platformie Android, niemniej z powodów ode mnie niezależnych jestem zmuszony przesunąć niniejsze na bliżej nieokreśloną przyszłość. Tym samym, w dniu dzisiejszym, przyjrzymy się nowej wersji rozwojowe, najprężniej rozwijającego się emulatora przenośnego PSP – czyli Jpcsp.


Tu z kolei, zmian sporo, jakby nie spojrzeć – sześć miesięcy to okres, w którym wydarzyć się może wiele, a w przypadku tytułowego projektu – lista najistotniejszych zmian zawiera:
  • wprowadzenie możliwości eksportu całych scen 3D oraz tekstur,
  • dodanie wsparcie dla PSP Lamb, co z kolei umożliwia, modyfikowanie gry przez podmianę domyślnych tekstur na własne,
  • implementacje obsługi sieci PRO Online, w tym mapowania portów, konfiguracji PnP i chatu,
  • usprawnioną obsługę domyślnej sieci Adhoc emulatora,
  • dodaną obsługę nożnego kontrolera PSP-LFH2210/00,
  • usprawnioną emulację koprocesora VFPU, w tym funkcji MMUL, VMSCL, VMMOV, VMIDT, VMZERO, VMONE, VI2F, VLOG2, VEXP2, VF2H,
  • wprowadzenie szeregu usprawnień do emulacji GE (Graphics Engine), w tym obsługi pamięci, tekstur, parametrów VTYPE i polecenia VAP,
  • poprawioną obsługę wykonywalnych ELF-ów, z szczególnym naciskiem położonym na aplikacje hemebrew,
  • usprawnioną obsługę dźwięku, modułu mpeg i funkcji odpowiedzialnej za wyświetlanie obrazów jpeg,
  • wprowadzono obsługę wirtualnego systemu plików wykorzystywanego przy deszyfrowaniu plików PGD,
  • usprawnienie operacji na shaderach oraz poprawki pod kątem urządzeń ATI/AMD,
  • poprawki w funkcjach odpowiedzialnych za wyświetlanie czcionek, ikon w menu oraz odtwarzanie UMDvideo i dźwięku Atrac3,
  • kilkukrotne przepisanie i zoptymalizowanie kod emulatora, zwiększające wydajność oraz kompatybilność programu.
Można by tak, jeszcze długo mnożyć punkty z kilkustronicowej listy zmian, niemniej każdy zainteresowany może bezproblemowo przejrzeć ogólne informacje na stronie domowej projektu, znaleźć pliki i szczegóły techniczne w automatycznym repozytorium SVN, a ewentualne wątpliwości w temacie obsługi danej gry, rozwiać z pomocą oficjalnej listy kompatybilności.

JPCSP SVN r2570

Emulacja przenośnego PlayStation, zdecydowanie odstaje od sceny poświęconej pozostałym konsolom Sony. Mamy świeży, prężnie rozwijający się projekt w postaci opisywanego ostatnio Soywiz’s Psp Emulator. Mamy PSPE4All, rodzone w mękach z popiołów PCSP. Wreszcie, mamy tytułowy JPCPS, który dzielnie dzierży palmę pierwszeństwa wśród emulatorów PSP i z każdym kolejnym miesiącem, każdą zmianą wprowadzoną w kodzie ugruntowuje pozycję lidera na scenie.


Opisany powyżej trend, odnieść można bezpośrednio do zmian wprowadzonych w najnowszej wersji rozwojowej programu. Zmian, które może nie zwiastują rewolucji i nie powodują opadu szczęki, bo przecież…
  • usprawnione mapowanie tekstur w tytułach 2D
  • poprawione przetwarzanie plików wykonywalnych ELF
  • masa poprawek związanych z przetwarzaniem obrazu przez bibliotekę Xuggle
  • usprawniona rekompilacja instrukcji MIPS obarczonych opóźnieniami
  • zmodyfikowane GUI dla systemów MacOS
  • zwiększona kompatybilność dla przetwarzania asynchronicznego
  • poprawione teksturowanie z wykorzystaniem pamięci podręcznej werteksów
  • obsługa sieci w trybie adhoc
  • zoptymalizowany kod emulujący działanie czytnika UMD
  • poprawiona emulacja funkcji: sceFontOpenUserMemory, sceCtrlPeekXXX, sceMd5, sceAtrac3, sceMpeg, sceNetSetDropRate
To nic innego jak długa lista poprawek do istniejącego już kodu (za wyjątkiem obsługi adhoc), niemniej to właśnie ciągłe ulepszania sprawiły, że program działa coraz szybciej, emuluje coraz dokłądniej, coraz większą liczbę gier – krótko mówiąc, JPCPS jest obecnie najlepszym emulatorem Playstation Portable. Nie przeciągając dalej wywodów, zapraszam na stronę domową emulatora oraz do automatycznego repozytorium projektu po najnowszą wersję rozwojową.

Soywiz’s Psp Emulator

Dobra konkurencja nie jest zła… i choć w pierwszej chwili liczyłem na nową wersję PCSP, to nie mam zamiaru ukrywać swojego zadowolenia z okazji zmian jakie nastąpiły w przypadku projektu D PSP Emulator. Szanowni Panowie, drogie Panie, z nieukrywaną przyjemnością przedstawiam Wam aplikacje Soywiz’s Psp Emulator, będącą napisanym w C# rozwinięciem w/w programu, która względem swego protoplasty wprowadza następującą listę zmian:


  • napisany od podstaw dynamiczny rekompilator,
  • dodana podstawowa obsługa SAS i DXT3,
  • wprowadzono wsparcie pętli AT3+ i poprawne strumieniuje dźwięku,
  • poprawiono obsługę buforu szablonowego oraz sczytywania czcionek,
  • rozbudowano GUI o przyjemne dla oka, okno ustawień sterowania…
  • … oraz listą ostatnio uruchamianych gier,
  • zaimplementowano ładowanie modułów (LUA Player,PRX Decrypter), oraz deszyfrowanie EBOOTa w locie,
  • wprowadzono kilka nowych opcji (skinning, morphing) oraz sporo poprawek do obsługi GPU…
  • oraz masę (bo w sumie 256) usprawnień w całym kodzie emulatora
Przejście na inny język programowania, zmiana nazwy aplikacji i powyższy changelog to nie wszytko, czym autor tytułowego programu może się poszczycić – najistotniejsze zostawiłem sobie na koniec, choć niektórzy już pewnie wydedukowali po screenie, że Soywiz’s Psp Emulator jest w stanie uruchomić komercyjne gry :] Tym oto sposobem, rośnie nam konkurencja względem JPCPS, a jak wspomniałem na początku… dobra konkurencja nie jest zła.

JPCSP SVN r2457

Ostatnim razem, poruszając temat emulacji przenośnego PlayStation, informowałem Was o postępach w pracach nad nową wersją PCSP 1.0.0, która z założenia stać ma się godnym rywalem dla wiodącego prym na scenie JPCPS. Dziś, dla zachowania równowagi we wszechświecie, pokoju na niebieskiej planecie i ku zaspokojeniu głodu informacji, jaki niewątpliwie dręczy niejednego miłośnika emulacji, słów kilka na temat w/w przodownika, monopolisty, lub mówiąc wprost i najprościej, aplikacji umożliwiającej względnie komfortowe uruchamianie na blaszaku, gier z PlayStation Portable – JPCPS…


… która w najnowszej r2457 wersji rozwojowej doczekała się następującej listy zmian:
  • znacznie usprawniono generowanie obrazu w trybie programowym
  • poprawiono generowanie dźwięku,
  • usprawniono obsługę czcionek,
  • dodano opcję "Disable optimized VertexInfo reading" do konfiguracji wideo,
  • zaimplementowano opcje sceNetAdhocMatching oraz sceNetAdhocDiscover
  • usprawniono emulację pamięci,
  • wyczyszczono i zoptymalizowano kod programu,
  • poprawiono wyświetlanie wstawek filmowych,
  • usprawniono operacje odczytu danych oraz zapisu stanu gry
Na pierwszy rzut oka wygląda to jałowo i mało interesująco, przekłada się jednak na dużo ciekawszą praktykę, pozwalającą uruchomić na względnie nowym komputerze gry takie jak: Crisis Core Final Fantasy 7 (screen z niusa), Dissidia 012 Duodecim Final Fantasy, Wildarms XF, Tekken 6, The 3rd Birthday, czy God of War: Ghost of Sparta. Brzmi zachęcająco nie sądzicie? Zatem odsyłam Was na stronę domową emulatora oraz do automatycznego repozytorium projektu po najnowszą wersję rozwojową.

PCSP 1.0.0 preview

Tegoroczny maraton aktualności zaczniemy nietypowo. Nietypowo, bo tematyka dzisiejszego niusa, choć gości czasami na łamach serwisu, to nie należy do głównego nurtu poruszanych zagadnień. Nietypowo, bo dzisiejsza wiadomość bezpośrednio nawiązuje do wątku rozpoczętego pod koniec października ub.r. Nietypowo, bo w zasadzie niniejszy nius pod względem merytorycznym nie przedstawia większej wartości. Mimo to (i nie bez przyczyny) w dniu dzisiejszym, po raz kolejny przyjrzymy się projektowi PCSP


… który zgodnie z ubiegłorocznymi zapowiedziami powoli ewoluuje w kierunku nowej odsłony oznaczonej numerkiem 1.0.0. Nie powiem, już sam ten fakt zbudził moją sympatię, nie będę jednak również krył, że nowy (widoczny na powyższym obrazku) interfejs także przypadł mi do gustu. Najistotniejsza w temacie jest jednak zapowiadana od kilku dobrych miesięcy rewolucja w kodzie – napisana praktycznie na nowo aplikacja, ma wyjść z cienia błędów swego poprzednika i stanąć w pełnym świetle zalet i nowych możliwości. Na chwilę obecną, ogranicza się to co prawda, jedynie do obietnic i praktycznego wykładnika w postaci możliwości uruchamiania homebrew (niekomercyjnego oprogramowania, zwanych również potocznie aplikacjami/grami domowej roboty), nie zmienia to jednak faktu, że warto trzymać rękę na pulsie i oczy na stronie domowej projektu bo kto wie, może autorom uda się zaskoczyć nie tylko fanów emulacji, ale również konkurencyjne projekty… a to, sami przyznacie, może być już coś. Wszak przełamanie monopolu programów takich jak ePSXe, PCSX2 czy JPCSP to nie lada sztuka.

PCSP 0.5.4 Released

Choć z każdym (nieoficjalnym) wydaniem JPCSP coraz lepiej radzi sobie z emulacją przenośnego PlayStation, zarówno pod względem prędkości jak i kompatybilności względem obsługiwanych tytułów, cieszy fakt, że nie jest to jedyny rozwijany emulator tego systemu. Wiadomo, zdrowa konkurencja ożywia rynek, a w tym przypadku emu-scenę, a że autorzy tytułowego PCSP zapowiadają wydanie w najbliższym czasie, nowego, napisanego od podstaw, szybszego i bardziej kompatybilnego emulatora względem wydawanej dotychczas wersji programu udającego PSP, nie ma żadnych przeciwwskazań by zacierać ręce i suszyć zęby w grymasie zadowolenia.


Nim jednak nastąpi premiera szumnie zapowiadanej aplikacji, udostępniona została ostatnia wersja bazująca na starej wersji kodu źródłowego, w której znalazło się grono zmian obejmujących między innymi: eksperymentalne wykorzystanie dynamicznych shaderówm, poprawiona obsługa VEH, HLE oraz wątków dla funkcji KernelVsync, naprawione błędy w funcjach KernelEventFlag, sceKernelLibcTime, sceRtcGetCurrentTick, implementacja funkcji sceRtcSetDosTime, sceRtcIsLeapYear, sceRtcCompareTick, sceKernelPollSema, sceKernelLoadExec i kilka innych szmerów, których rozpiska przeciętnym użytkownikom i tak niewiele powie :] Dlatego też, pozwolę sobie na jedyny sensowny ruch w niniejszej sytuacji i wszystkich zainteresowanych odeślę na stronę domową projektu, gdzie znaleźć można pełną listą zmian oraz sam PCSP w wersji 0.5.4 do pobrania.

Tekken 6 Ingame

Może jakaś aktualizacja jednak się pojawi – szczególnie gdy dotyczy ona projektu rzadko goszczącego na łamach serwisu, takiego jak na przykład JPCSP – napisany w javie emulator PlayStation Portable… szczególnie, gdy najnowsza wersja tego projektu jest w stanie uruchomić najnowszą wersję Tekkena (screen poniżej).


Wszystko to dzięki zmianą jakie zaszły ostatnio ww wspomnianym powyżej emulatorze i obejmujące między innymi: wielu poprawek dot. obsługi wyświetlania obrazu, szczególnie w trybie pełnoekranowym, wyświetlanie wstawek wideo, czy obsługi pamięci. Efekt widać powyżej, a jeśli to za mało – serdecznie zapraszam po więcej informacji na stronę domową projektu, oraz do automatycznego repozytorium wersji SVN.

Jpcsp v. 03 + Revision 1180

Zapewne część z Was pamięta jeszcze pierwszy (i jak do tej pory jedyny) emulator PSP, tworzony za pomocą języka Java, o którym pierwszy raz wspomnieliśmy w grudniu zeszłego roku? I zapewne kojarzycie, że projekt ten nie za bardzo radził sobie z tym, do czego był stworzony? Cóż… nie będę oszukiwać – niewiele się od tamtej pory zmieniło. Co prawda, ominęła nas całkiem głośna premiera v. 0.3 (w ramach przypomnienia, ostatnia przez nas omawiana nosiła oznaczenie 0.1), a coraz to nowsze wersje beta pojawiają się na oficjalnym forum, ale niestety większych postępów brak. I nie żebym krytykował czy miał coś złego na myśli (bo projektowi osobiście życzę jak najlepiej), raczej chcę wyeliminować wielkich entuzjastów i optymistów typu „Dlaczemu gra XYZ nie działa” ;]


No dobra, przejdźmy do konkretów. Na chwilę obecną ponad 27 tytułów posiada status „full playable”, drugie tyle – „ingame”, a jeszcze więcej – „loadable”. Większość z nich (jak łatwo się domyśleć) to nie jakieś super produkcje, chociaż parę osób pewnie zna takie gry jak Breath Of Fire III, Bust a Move, czy Tales of Eternit . Emulator sam w sobie również się nie zmienił. Wygląd pozostał ten sam, dodano natomiast parę przydatnych opcji (chociażby robienie screenshot’ów) oraz poprawiono nieco stabilność (swego czasu przy przesuwaniu okienka potrafił wyskoczyć error). Dodatkowo autorzy zaczęli pracować nad portem Jpcsp, pisanym w C++. Nie jest on jeszcze w tak zaawansowanym stadium jak jego starszy brat, ale wygląda na to, że w przyszłości będzie mógł go zastąpić m.in. ze względu na większą prędkość emulacji.
I to by był na tyle. Zapraszam wszystkich do download’u.

Download: JPCSP v. 0.3 (rev1105), JPCSP rev1180
Uwaga: Jpcsp można uruchomić wyłącznie poprzez plik .jar. Aby to zrobić, należy zainstalować najnowszą wersję programu Java (Link)