[PSP] Dev Diary: A year of progress and bringing the PSP into the next decade!

This year, the PSP turns 16 years old. Indeed, the PSP was a landmark in handheld gaming; it was the first handheld console that was capable of a truly console-quality 3D experience, one which Nintendo couldn't match for years to come. The PSP wields a mighty 333MHz CPU with a 166MHz GPU and 32MB RAM (64MB on some models!); while powerful at the time, this forces our homebrew development scene to think differently. It's not like PC, where you can write code that you'll "get away with", or code that focuses on slow accuracy over speed, hoping that stronger PCs will be able to brute-force your program. You have a capable, but limited, hardware setup, one that you can use many tricks to get the most out of. It's a fixed setup, so you can use some tricks that use the quirks and unique parts of the system to get more out of it, too.
So with that refresher out of the way, what has the PSP scene brought us recently?

DaedalusX64 - Nintendo 64 emulator

A long-time favourite, DaedalusX64 is one of the most impressive and ambitious homebrew projects in PSP history. It is, fortunately, still alive and kicking! While some members have shifted their focus to a PS Vita port, some have stayed behind and worked on the PSP version. One member in particular has been particularly diligent - z2442, one of the instigators of the revived Daedalus project, has recently completed an experiment that completely changes the way the emulator works!
The PSP has two CPUs; the main CPU, Allegrex, is a MIPS CPU @ 333MHz with a floating-point unit (FPU) and a vector unit (VFPU). The other CPU, the Media Engine, is also a 333MHz MIPS CPU, which also has an FPU! It lacks a VFPU, but that's the only glaring difference.
Daedalus generally runs all of its main emulation code on the main CPU, which is what you'd expect - and its asynchronous audio mode passes audio jobs to the Media Engine, which is usually used for audio anyway. Sounds sensible, right? Well, since the Media Engine isn't quite like running a second core, there are often timing issues associated with it. Jobs have to be sent to it, processed, and sent back in time; if the CPU doesn't send the job quickly enough, that's another issue as well. z2442 has done great work recently, not just in eliminating these timing issues, but in reversing the roles!
Recently, z2442 has put the main emulation on the Media Engine, and the audio processing on the main CPU. Why, you might wonder? It makes a lot of sense; with less work to do, the CPU - which is better suited to managing the system - can more efficiently hand out jobs, manage the running tasks and hopefully improve stability and performance. This is not quite release ready yet, but it does work - stay tuned!

IMG_20200101_103609.jpg

Daedalus running on a PSP-3000. Image courtesy of TheRaindeerHead on Discord.

In other Daedalus-related news, in late October, the team released DaedalusX64 v1.1.8 for PSP. This includes z's fixes to improve Media Engine performance and stability, an all-new speedhack, updates to the latest coding standards and convention for better performance and PS Vita detection. Performance is damn near full speed in many of the big-hitter titles; Mario 64, Ocarina of Time and Majora's Mask all run very well, to name a few, and some lesser known games such as Aerogauge run even better!
image0.jpg

A picture of z2442's battle station, complete with a modded PSP-3000 and a real, working PSP development station in action!

ADQuake

Quake is the dominant engine on PSP for any action games, and while a lot of deviations exist from the incredible Kurok engine to the lightweight Insomnia ProQuake, one has remained in active development thanks largely to a user called st1x51. ADQuake has been under active maintenance with irregular updates to the GitHub repository, and some of the improvements have brought big speedups. One of the most inspired commits in recent memory has been the addition of VFPU math; using the PSP's vector unit to perform specialised maths calculations faster. The CPU is often the bigger constraint in Quake on PSP, and this is an excellent example of tapping more power from the PSP.
An example from 2018 of how this flexible engine has produced some very impressive projects is st1x51's own Counter Strike project, CSDM, for PSP; running smoothly, with support for bots and online multiplayer with robust physics, CSDM is a faithful recreation of Counter Strike 1.6 for PSP. Another example is STALKER Portable (see below), but take this video as a demo of the engine by the main developer himself:


STALKER Portable

Recently, a Russian team led by st1x51 and D. NeyRin have been hard at work remaking classic PC game STALKER: Shadow of Chernobyl (2008) for PSP. They've worked incredibly hard and their work is paying off. Recently, they published a new release on their ModDB page, a day after the Discord server tested it and gave it the OK. The game is incredibly ambitious, trying to deliver a convincing replica of the grandiose 2008 PC game on a 2004 handheld using a heavily modified 1998 engine - but the end result is very promising. The most recent release improves the scripting, graphics, implements VFPU math from ADQuake, fixes a number of issues and added a new map with updates to existing ones. The game is under active development by a few enthusiastic developers and we look forward to seeing more from the project!

zluKkD0Ri9s.jpg

lTHCayNHw8U.jpg


Project Enigma

Despite periods of inactivity, Project Enigma is alive! Enigma is a realistic multiplayer first-person shooter designed with the PSP as priority number one, while also looking to get a release on PC among other platforms such as 3DS and Vita. The game's original focus on WW2 is still in mind, but the team is experimenting a bit, with parts of American Civil War and Rainbow Six Siege coming in as inspiration. Below is a picture of a map in the making, my "Mansion" map, which is being optimised to guarantee a silky smooth 60FPS on a real PSP - so the PSP can remain competitive against other platforms! Also below are pictures of a few other maps from this year - in order, BCDeshiG's "Dungeon" map, and Diema's "Moravia" map. All run on a real PSP!

unknown.png

unknown.png

unknown.png


Fury (previously Project Frost)

Project Fury is a working-title project that has been worked on intermittently by one man called Diema over the past few years. While initially targeting PS2 and PC, with the aim of improving the software Quake for PS2 into a game-ready hardware-accelerated port, Diema decided to move to PSP after I talked to him around two years ago about the idea of moving to PSP, which coincidentally had an established Quake engine with many projects and support for both handheld and TV mode - in other words, a "better" PS2 in this context. Taking inspiration from DOOM, Quake, Painkiller and the like, Fury's main objective is to provide a frenetic and fast first person shooter with less regard for story than pure shooting mayhem. As he is doing all of the work himself, and has just one PSP-1000, work is slow but it gets done when it gets done. A few playable demos have been released to the public, and while the project has been silent at the moment, Diema has been quick to reassure everyone that the project is still in the works, saying that he's "trying to push the PSP to its absolute limit, and I'm just one guy doing all this... in Trenchbroom, Blender and GIMP".
More will come with time!

unknown.png

unknown.png

unknown.png


Minecraft PSP

Minecraft PSP has been an established homebrew for a while now, but this year marks one of the biggest shake-ups in its history. Developer Iridescence has been remaking the game from the ground up to allow for infinite worlds and support for original Minecraft assets! The core gameplay is not there just yet, but chunk generation (infinite worlds), the sky system and rendering is all complete! Here's a look at the remade Minecraft in action:

Before then - up until July this year - Iridescence had previously been working on improving the established Minecraft homebrew by Woolio. He reduced memory consumption significantly and upgraded to new code standards. Until the remade Minecraft is ready for use, this version is still a very good version of Minecraft comparable to MCPE and running at an unwavering 60FPS.


Other Projects

The PSP scene has had other projects that I have forgotten to mention, or were not big enough to warrant their own section in this already lengthy article. One is "Jump IT" by mrneo240; a Dreamcast developer primarily, Neo originally designed Jump IT as a Dreamcast Game Jam demo. While looking to experiment with his cross-platform coding, neo ported the game to PSP and expanded upon it. It is now a short, playable platforming demo that runs on PC, PSP and Dreamcast!
20191112_221917.jpg

20191112_222236.jpg

Another cool extra is showing off how easy PSP development can be in 2020. Mrneo has an automated build system where, with one click, he can build his program and PPSSPP will automatically launch the newly compiled program! Check the video out here because GBAtemp won't embed Discord video links.

Developer zdohdds has also been doing some random experimentation with the PSP. After reading that the PSP supported hardware texture compression, he set to work to figure out how to use it. Sure enough, he wrote a fully working example! With the limited memory available on PSP, his working implementation of hardware DXT1 texture compression may serve to improve many projects that decide to implement it. Here's a GIF of a spinning Paper Mario cube with DXT1 compression on the texture.
example.gif


Also worth mentioning is the all-new game engine Simulant, described as "Unity for old consoles". While primarily designed for Dreamcast and PC, a PSP branch does exist and is in the works. Eventually, we will be able to make optimized 3D games of any kind and quickly and easily test across Dreamcast, PSP and PC! Check out the website here.
screenshot4.png


Where do we go from here?

The PSP scene has a lot of exciting things coming for 2020 and the rest of the decade. It's a great time to get into the PSP!
For starters, DaedalusX64 has revamped the way it runs as mentioned before - and this could bring some newfound stability and performance boosts to what is already quite an impressive technical feat of an emulator.
Project Fury and Project Enigma are in the pipeline and soon, the PSP will have two new (very different) multiplayer shooters on their hands!
STALKER Portable is making great strides and has some playable builds already.
Jump IT is an example of how easy it is to bring code to the PSP in the modern era. It's very promising and we hope it encourages more developers to get stuck into PSP development!
So while the Vita may be taking the interest of some people, spare some time for the PSP - which is undergoing a second wave of homebrew and is the most active it has been in a very long time!

If you are interested, join the main Discord server where you can stay up to date on the latest homebrew projects and talk to the devs and other PSP users. We won't bite! https://discord.gg/bePrj9W
Thanks for reading, and here's to another decade of development for this cool little handheld. :yaypsp:
  • Like
Reactions: 10 people

Comments

What's wrong with Discord? It's the easiest way to communicate stuff to a large group of people from my experience. 1,300 people is a bit too big for a Skype group!
But yeah, the scene is arguably even stronger than the Vita one right now. It's great.
 
  • Like
Reactions: 4 people
It is a proprietary service you can't run your own server for, the owners of said servers have a history of playing censor, can't be/probably won't be found from the surface web... just bad news all around really other than a minor convenience for some people.
 
It's a huge convenience when dealing with over 1,000 people in one scene. Worth the questionable proprietary concerns - their data transparency is actually quite good since you can request your data at any time too.
 
  • Like
Reactions: 1 person
While this is cool, I have to question the long term viability of making things for PSP at this point with batteries for the system biting the dust left and right.

I've been considering getting a PSP GO lately as I'm tired of having nothing to do on my hour lunch breaks at work lately, and don't want to bring something as expensive as my dual IPS New 3DS XL or either of my Switches. Basically, I want something pocketable. How easy are they to hack nowadays, and is the battery situation as dire?
 
Most PSPs have huge battery mods very easily with standard batteries. It's not an uncommon mod to rip out the UMD drive altogether for a double-sized battery compartment that lasts well over 12 hours at full clock speed, brightness and volume!
Hacking it is an absolute joke and it couldn't be easier. You copy the softmod installer to your memory stick over your USB cable and you run it; it's signed software since the PSP software signature keys were found, so homebrew can appear official.

The PSP Go and Street do not have removable batteries, officially, however mods do exist for both.
 
  • Like
Reactions: 3 people

Blog entry information

Author
TheMrIron2
Views
873
Comments
20
Last update

More entries in Personal Blogs

More entries from TheMrIron2

General chit-chat
Help Users
  • No one is chatting at the moment.
    SylverReZ @ SylverReZ: @K3Nv2 https://www.youtube.com/watch?v=9yWIobzBdKc