JPCSP SVN 3516

W temacie emulacji PSP – jak zapewne wielu z Was zauważyło – zdecydowanie faworyzuje PPSSPP. Nie należy jednak zapominać, że to nie jedyny program dobrze radzący sobie z emulacją PlayStation Portable. W związku z powyższym, chciałbym Wam przypomnieć tytułową aplikację…


… w której od czasu ostatniego niusa wprowadzono kilka istotnych zmian:
  • wprowadzono obsługę zewnętrznych wtyczek wideo
  • takich jak XBRZ4JPCSP od shenweip
  • czy własnych pluginów generujących obraz programowo, z optymalizacją dla instrukcji SSE2, SSE3, SSE41, AVX i AVX2
  • wraz z zaawansowaną obsługą tekstur
  • skalowaniem obrazu
  • oraz usprawnionym renderowaniem w trybie wielowątkowym,
  • zmodyfikowano interfejs programu na potrzeby powyższych zmian
  • zaimplementowano natywne dekodowanie dźwięku Atrac3+,
  • poprawiono obsługę szyfrowania save-ów i algorytmów AMCTRL.
JPCSP może nie jest najszybszym emulatorem PSP, z pewnością nie grzeszy również intuicyjnością, niemniej nie da się powiedzieć, że to kiepski program. Wręcz przeciwnie, pod względem innowacyjności, możliwości oraz specyfiki tworzenia kodu, od pojawienia się na scenie JPCSP pozostawił daleko w tyle konkurencję. Co bardziej istotne, dzięki ciągłemu rozwojowi, identyczne określenia można skierować względem najnowszej, rozwojowej wersji SVN, za co autorowi należą się gromkie brawa. Osobiście mam również nadzieję, że opisany wyżej, kawał świetnej roboty, nie tylko znajdzie uznanie wśród fanów emulacji, ale zmotywuje również deweloperów do cięższej pracy nad konkurencyjnymi projektami.

JPCSP SVN 3314

Co prawda od dobrego miesiąca – w moim skromnym przekonaniu – palmę pierwszeństwa wśród najlepszych emulatorów PSP dzierży inny projekt (już niebawem nius na ten temat). Nie znaczy to jednak, że o JPCPS należy zapomnieć. Wręcz przeciwnie, tytułowemu emulatorowi należy się szacunek, czy to z uwagi na fakt, że był prekursorem bezproblemowego uruchamiania gier z PSP, czy też listę usprawnień, jakie na bieżąco wprowadzane są do kodu programu.



Doskonale obrazuje to porcja 250+ zmian jakie poczyniono w projekcie od ostatniego niusa. Wymienienie wszystkich zajęłoby 2 str A4, toteż pozwolę sobie przytoczyć jedynie wybrane:
  • usprawniono generowanie dźwięku (w tym sygnału mono) za pomocą narzędzi atrac3plus2wav.exe, at3tool.exe i HIMDRender.exe
  • poprawiono działanie funkcji: sceIoIoctl, sceKernelLoadModule, sceUtilityLoadNetModule, sceUtilityLoadAvModule, sceUtilityLoadUsbModule, sceUtilityLoadModule, sceAtracSetData
  • zwiększono osiągi programu przy wykonywaniu operacji FastMemory
  • dopracowano obsługę kryptograficzną CryptoEngine: naprawiono algorytmy BBMac, ulepszono szyfrowanie PGD, zaimplementowano algorytmy DLC/EDAT, dodano częściowe wsparcie dla licencji DLC (NPDRM).
  • usprawniono obsługę wstawek filmowych, względnie funkcji: sceMp4, mpegRingbufferAddr, sceMpegAvcDecodeFlush, sceMpegAvcConvertToYuv420, sceJpegCsc, sceVaudio
  • naprawiono dwuliniową interpolację dekodowania CLUT, oraz obsługę shaderów dla wspomnianej funkcji
  • dodano wsparcie dla prawego analoga (emulacja PSP na PS3)
  • wprowadzono obsługę 64MB memorek, dla reedycji gier w wysokiej rozdzielczości,
  • usprawniono obsługę dynamicznie modyfikowanego oraz dużych porcji kodu
  • dodano możliwość przekazywania wielu adresów w sieci
  • naprawiono odczyt wstawek wideo z plików PDG, obsługę shadera geometrii dla generowania obrazu 2D, obsługę skompresowanych tekstur
  • do interfejsu dodano opcje odpowiedzialne za manipulację przerwaniami pamięci, eksport logów , wyświetlanie i manipulację rejestrami
  • zemulowano sceUsbCam, umożliwiając emulację kamery USB konsoli za pomocą standardowych kamerek sieciowych dla PC
  • zwiększono bufor tekstur, usprawniono działanie funkcji TRXKICK i wyczyszczono kod silnika graficznego
  • poprawiono błędy w tłumaczeniach programu.
Natomiast, wszystkich zainteresowanych odsyłam do automatycznygo repozytorium SVN, gdzie znaleźć można pełną listę zmian oraz najnowsze binarki do pobrania. Kończąc, standardowo zachęcam do komentowania niniejszej wiadomości.

JPCSP SVN r3067

Liczba zmian w tytułowym projekcie, od czasu ostatniego niusa, przekroczyła magiczną liczbę 150-ciu, wypada więc zerknąć, cóż też dzieje się na dzielni najbardziej rozbudowanego emulatora przenośnej konsoli PSP. W zasadzie popsułem całą zabawę, wspominając na samym początku liczbę zmian w projekcie, postaram się więc, nie torturować Was pełną litanią, miast tego, przedstawić skrócona wersję najistotniejszych modyfikacji emulatora, zaimplementowanych od grudnia ubiegłego roku.


Oto i one:
  • małe poprawki w funkcjach odpowiedzialnych za obsługę: czcionek, UMD, odczytu danych z obrazów ISO/CSO, zrzutu ekranu oraz emulacyjnego "prędkościomierza" :]
  • natomiast znaczącą poprawę odnotowano w obsłudze: OpenGL, wstawek filmowych, teksturowania obiektów, jednostki VFPU, kart pamięci oraz funkcji sieciowych,
  • dodano możliwość zmiany zegara konsoli, co umożliwia przyspieszenie lub zwolnienie działania emulatora
  • opcja "użyj shaderów" przestała mieć status eksperymentalnej, a jej obsługa została znacznie usprawniona w przypadku sprzętu ze stajni ATI/AMD oraz Intel
  • zaktualizowano kod zgodnie z bieżącymi zmianami w środowisku Java
  • oraz zoptymalizowano go, na szeroką skalę pod kątem wykorzystania pamięci
  • dodano greckie oraz poprawiono japońskie tłumaczenie programu
  • do emulatora załączono wtyczkę JpcspTrace, umożliwiającą szczegółowe śledzenie zapytań systemowych.
Bardzo "z grubsza" to byłoby na tyle, gdyby ktoś jednak odczuwał niedosyt, to standardowo odsyłam do automatycznygo repozytorium SVN emulatora, gdzie znaleźć można kompleksową listę zmian i najnowsze wersje programu do pobrania.

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ą.

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ą.

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)