Progress Report: January 2017

A lot of things happened in January, specifically the second half of the month. As you all know, veteran RPCS3 developer Nekotekina had the opportunity to launch a Patreon with the goal of working on RPCS3 full time, and right now he is doing so.

At the time of this post and since the 1st of January, Nekotekina has made 54 commits on GitHub with various changes and improvements. In total, for the past 31 days, there were 82 commits with 6,726 lines of code added and 4,867 deleted by 11 authors. For example:

  • O1L made several improvements to graphics emulation, fixing bugs and implementing new things. This has made, among many games, Vanquish go ingame (with a lot of issues) and the PS3 version of GTA: San Andreas is now almost playable.

  • al0xf (a.k.a ssshadow) made a basic implementation of the PS3 on screen keyboard, therefore it is now possible to enter character names and such in several games like .hack//Versus and Terraria which takes these from menus to ingame and maybe even to a playable status.

  • Kirbyfan64 fixed a bug related to how RPCS3 measures time which should improve performance in general, especially in scenarios that were already close to 60 fps. For example Hatsune Miku: Project Diva Dreamy Theater is playable at a stable 60 fps now.

  • Cornytrace has started the important task of automatic decryption of encrypted .sprx files. This will fix a lot of games silently failing to boot if one is not very observant of the log file.

  • AniLeo did a lot of maintenance work such as updating the build scripts for AppVeyor and registering a few missing functions.

  • ikki84 stubbed cellMusic which made for example .hack//Versus and JoJo’s Bizarre Adventure All-Star Battle go ingame (they are maybe even playable now).

  • Shadow made a small improvement to cellSaveData which fixes a crash in Bomberman when it tries to load a non existing save file.

  • Talented graphics developer kd-11 has not yet committed anything to the master branch, but has made a lot of progress with several reported bugs.

So what was Nekotekina up to? An almost innumerable amount of things:

  • Fixed countless bugs in several games, some went from nothing to playable, other crash a few seconds later instead…

  • The AoT PPU LLVM recompiler now shows a progress window instead of seemingly hanging the emulator when compiling. What does AoT PPU LLVM recompiler mean? Maybe a topic for a future post.

  • A bug in the PKG installer was fixed, every homebrew should now be installable.

  • IdManager which issues numeric identifiers for PS3 kernel objects has been improved.

  • Small fixes in the video decoder has fixed cut-scenes in Catherine (and several other games as well) sometimes hanging or crashing. Additionally Steins;Gate 0 and a few other Visual Novels went from only showing the intro to being playable thanks to this.

  • Some Linux specific crashes were fixed. It’s not perfect yet, but work is ongoing.

  • Several thousand lines of code related to synchronization primitives was refactored. These are used in multi-threaded software to ensure that different threads do not conflict with each other, for example by modifying the same piece of data at the same time. Some bugs were also fixed in the process, and a few games now run better. This was important to simplify further development on RPCS3.

Miscellaneous

Let’s of course not forget the other big things that happened in January. Talented web designer DAGINATSUKO made an entire new website for rpcs3, including styling this blog.

  • AniLeo made a compatibility database, also spending countless hours checking recent and old test reports (some dating back to 2014) and filling it in. At this point in time over 500 games are listed, with 62 being playable, and an amazing 247 going ingame!

  • ssshadow and BlackDaemon tested a lot of games and made videos of them, some which are quite popular on YouTube. They also spent a lot of time answering questions on Discord and on the forums, getting some new games running in the process.

  • Youtubers like John GodGames and Rain Kikyou also tested several games and made popular youtube videos of them.

Game Compatibility

This is by no means a complete list, but here are some more notable games that either started working, or now work better than before. Countless more have also been retested on the forums, and found to be improved in one way or another.

World first [redacted] ingame in RPCS3 by al0xf

[redacted] now goes ingame (with a hack)! Sadly it only runs at 1 fps and hangs after a few seconds.

Jojo’s Bizarre Adventure: All Star Battle is now almost playable, although it’s a little too slow even on a fast computer.

Rainbow Moon performs extremely well, 60 fps at 1920×1080!

Naruto Shippuden: Ultimate Ninja Storm 2 has gone from nothing to ingame.

Devil May Cry 4 is slowly starting to run.

The PS3 version of Minecraft is very slow but in theory playable. (Still runs better than the Java version)

Battle Fantasia is almost playable at 60 fps.

Initial D Extreme Stage is going ingame with bugs and low performance.

Lastly .hack//Versus went from nothing to ingame.

Upcoming

A roadmap was also written by Nekotekina listing a few of the changes that will be done in the future. A lot of work is still ahead. Right now Nekotekina has started working on the priority based thread scheduler. This may fix a lot of random hanging and crashes in some games.

San Andreas HD with a buggy main characterGTA San Andreas now goes ingame but seems like the main character can’t walk very well yet.


On Ar Tonelico Qoga: KoAC, the steeplejack master was found to be very fond of spinning endlessly.

And of course, we’d like to thank everyone above, our patrons and the community which helped making the Patreon a success!

We’ll see you in the next monthly report!
Feel free to hop into our Discord server and Forums to keep in touch.