Jump to content
GregoryRasputin

Homebrew Is Totally Possible On The PS4

Recommended Posts

For those of you who don't care about piracy and love Homebrew, you should know that Homebrew is possible on the PS4, the console doesn't even need to be hacked.

 

2tnPUZ2.jpg

 

What is needed is a stable Blu Ray Java SDK for the PS3/PS4 and someone who knows how to use it, the PS4 has the ability to run Blu Ray Java games quite well, a simple Blu Ray player can do it, so the PS4 should be able to do it far better, the problem is not a lot of people seem to be interested in putting in the work or helping out.

 

Back in September 2014 @zecoxao created this thread trying to get people interested in creating BDJ Homebrew for the PS4, the thread even had the 'Minimal BDJ SDK' developer @FreePlay take part, with links to his software and a modified version by @SKFU, several people participated but sadly nothing seemed to come from it :(

 

Over the past couple of days BDJ developer @mr_lou has been talking on IRC about developing BDJ Homebrew, he even created a post in the above linked article:

You can also check this thread by @MistyVermin:

Here are some facts:

  • This is NOT a hack.
  • This is NOT anything major and will not lead to anything major.
  • This will NOT let you run PS4 “backups”.
  • This will NOT give you any access to the PS4’s OS system files.
  • This is NOT illegal.
  • This does NOT void your warranty.
  • This will NOT let you run PC games on your PS4.
  • This will ONLY let you run Java software.

 

  • This WILL give you Homebrew.
  • This IS totally doable.

 

 

Here are some files you can download that may help you

Share this post


Link to post
Share on other sites

I would like to add the following.

 

Some people say that Blu-ray Disc Java (BD-J) obviously isn't as powerful as native coding on the Playstation - and they're of course absolutely right.

You shouldn't expect to be able to code full-blown 3D shooters. BD-J was created for simple menu stuff for Blu-ray movies.

That being said, you shouldn't underestimate what you can do with BD-J either.

Take a look at this BD-J demo for example:

 

 

 

Share this post


Link to post
Share on other sites

Does that video say TRSi at 3:02 into the video? what the hell Straying off topic here. already my apologies.\

 

EDIT: this whole video is a promo for TRSi. lol my mistake.

Edited by B7U3C50SS

Share this post


Link to post
Share on other sites

The above demo is created by the demogroup TRSI. The demogroups always promote themselves in their demos. ;-)

Demos are essentially a "Hey! Look what we can do!" statement.

Share this post


Link to post
Share on other sites

Here's why I find BD-J homebrew awesome:
You code your homebrew game once - and then you run it (using the same disc) on both PS3 + PS4 + X-box One (and I'm pretty sure also future gaming consoles - because they'll all support Blu-ray Disc playback). How's that for über-geekness?

As pointed out, this is not a hack or exploit. It's fully "legal" and in compliance with blu-ray specs. So whatever you code with BD-J will run on any blu-ray player. My own project has been tested - and runs fine - on even very old Blu-ray players. (I have more than 10 older players solely for testing purposes). The modern gaming consoles are just obviously more fun, because of their fast CPUs. The "Funky Fresh" demo will never run on an older player. (I tried, and it did start, but had like half a frame per. second or so).
This is homebrew that will run on PS3/PS4/X-Box One without any hacks/exploits/proxies. It will even run on your parent's livingroom blu-ray player (only with a much lower framerate).

So, if you know a little about Java coding and is intrigued about making amateurish homebrew stuff, then this is definitely for you. All you need is the minimal SDK which has been linked to in this thread already. Look at the code examples, and you'll see that it's very simple to get running.
Get your hands on a software media player that supports BD-J, like e.g. PowerDVD from Cyberlink, for testing purposes. And you're off.

Any takers? :):shy:

Share this post


Link to post
Share on other sites

Are there any limited capacities in regards to the controller? 

Share this post


Link to post
Share on other sites
34 minutes ago, thezander said:

Are there any limited capacities in regards to the controller? 

 

Sadly yes. Haven't looked into it too much, but I can say for sure that you can't use all the buttons. The L and R buttons are off limits for example.

You should be able to use at least all directions + 2-3 other buttons though, which should be enough for any game in my humble opinion.

 

If you've ever seen a blu-ray movie on your Playstation, then any button you can use on your controller to control the movie with, can also be used in your BD-J homebrew game.

 

The only controller-wise annoyance I can spot is that you can only use 1 controller, which rules out any 2-player games.

Share this post


Link to post
Share on other sites

Found an interesting (old) testimony here:
http://jemu2.blogspot.dk/2008/09/bdj-on-ps3-impressions.html



JEmu2 on BDJ is now largely working on PS3.
It was really quite a hassle to get things going, but to be honest I'm not really sure it was worth it after all.

The problems with JEmu2 on PS3 are this:
* No sound
* Bad performance
* No VSync
* 60fps are drawn in JEmu2 but less are actually rendered
* Only one directional button gets registered at a time
* Only 2 action buttons available on PS3 controller

The sound problem might be solvable, but the rest is not as far as I can see; they seem to be limitations of the BDJ implementation on PS3. And from what I've read, the BDJ implementation on PS3 is actually the fastest and most complete of all Bluray players, so things don't look good.

The controller problems seem to be the worst to seriously consider BDJ as a gaming platform. "Only one directional button at a time" basically means that it's impossible to do diagonal movement, for example by pressing UP and RIGHT at the same time. This means most action games are out of the window.
The PS3 controller just acts as a Bluray remote here. So the analog sticks and triggers are not registered.

The JVM performance problem follows after the controller problem. The JVM seems to be an old fashioned interpreter, which is only helped by the PS3's CELL performance. A very wild guess would be that performance is comparable to a Sun HotSpot JVM on a 200-300MHz pentium (at the very most, but probably even less!).
The result is that JEmu2 struggles with many games. Don't even think about doing multi-CPU 16 bit games...

No VSync, and not having the ability to actually display 60fps don't help things either.

All is not lost though. BDJ might be a bad platform for emulation, it might still have some use for many game genres.
Considering all the above, it will be well suited for things like Chess and other board games, card games, some adventure games (point-and-click and such), any game that doesn't require fast animation or moving diagonally.
On the plus side, blitting images seems quite fast. Scaling small images to 1080p comes with no perceivable performance cost.

 

The one issue I'm noticing the most is the "Only one directional button gets registrered at a time". This does sound annoying, but also logical of course, at least for a remote-control.
If we can't work around this somehow, the number of game-genres we can do will be limited.
I do have a small hope that a work arround will work on the PS3 (and PS4), but I am unable to test it any time soon. The idea is to store the direction of the player in a variable and then register KEY_PRESSED and KEY_RELEASED events to update that variable. This doesn't work for a remote control, but it might work for a PS3 controller. Will get back later with my results, but it'll take a while.


As for the other problems he lists:
No sound? It's true that creating dynamic audio requires some effort, if even possible. But this is only needed for emulation. For your homebrew stuff you should be able to get all the sound you want, by using LPCM WAV files for sound-effects and a background video for music.
Bad performance? Well, depends on what you're trying to run. The "Funky Fresh" demo runs nicely I think.
No Vsync? Absolutely true, of course there's no Vsync.
Only 2 action buttons? I think we can catch 3 of them. But again I'll have to get back later.

Edited by mr_lou

Share this post


Link to post
Share on other sites

So I went to visit a mate today to test a few theories on this PS3 and PS4.

Sadly, for some reason my disc doesn't run on the PS3 anymore. Not sure what I've changed since last I visited him, because it ran fine last time.

But it ran fine on his PS4, so I could test my theories on that one.

 

The "Only one button at a time" claim is not true. I managed to hold down 3 buttons at the same time, and - unlike a remote control - the PS4 remembers which ones are currently pressed, and registers when each of them are released. Click and hold O, then click and hold X. The PS4 registers KEY_PRESSED on each. Now release O and release X. PS4 registers KEY_RELEASED on each. This is great news.

The "Only 2 action buttons" claim is also not true. I managed to catch X and O and the square button, and also R1 and R2 and L1 and L2, and of course also the digital directional buttons. So that's the D-pad + 7 action buttons. You should not expect to be able to catch the analog joysticks. If it's possible, it'll be in digital form.

 

The above results so far applies to PS4 only. I haven't been able to test on PS3 yet (but will definitely look into why my disc suddenly doesn't run on that one anymore). I can say for sure that no remote control for any standard blu-ray player can do these things though. So this is a Playstation (and I assume also X-Box One) only "feature", which makes homebrew really attractive in my opinion. :shy:

Share this post


Link to post
Share on other sites

Alright, I managed to find the bug that caused the PS3 to refuse to run my Xlet.

So now I can report the following for the PS3:

 

There's a difference between PS3 and PS4. I'm pretty sure the PS4 allowed for 2-directional buttons to be pressed at the same time - but the PS3 does not. So Erik is right about that: Only one directional button at a time possible on PS3.

The "only 2 action buttons" is not true though. Unless R1, R2, L1 and L2 doesn't qualify as action buttons? Because with PS3 you can catch X and square - but not O like you can with the PS4. So I guess that's what Erik means with "only 2 action buttons". But you can catch R1, R2, L1 and L2 on the PS3 too.

And finally, the best part: The PS3 does, like the PS4, register multiple buttons at the same time. So there's no problem pressing many buttons at the same time. (Like e.g. a direction + L1 + R2 + X).

 

The biggest downside is that with the PS3 you're apparently limited to creating games where your hero character only moves from side to side or up and down. You can't move right/up or left/down at the same time. This is somewhat disappointing, but for me personally not a huge deal-breaker.

On the PS4 though, this doesn't seem to be a problem. So you can always put: "For PS4 only!" on your commercial version if you really need your hero-character to move in those directions. ;-)

But of course it will be more fun to target both platforms.

Edited by mr_lou

Share this post


Link to post
Share on other sites

Technology

Native Development

Blu-ray Disc Java

Web

Language

C/C++

JavaME BD-J

HTML5 Javascript

Platforms

reached

Playstation 3

Yes

Playstation 3

Yes

Playstation 3

No

Playstation 4

No

Playstation 4

Yes

Playstation 4

Yes

Xbox One

No

Xbox One

Yes

Xbox One

Yes

WiiU

Yes

WiiU

No

WiiU

Yes

Other

platforms

 

Any platform with a software media player that supports BD-J.

Any platform with a modern browser.

Special user-requirements

Must jailbreak their PS3

Must own a blu-ray disc burner to create a disc from the ISO file.

 

Developer pros

Native development will always be superior in regards of speed.

Large group of users.

Largest group of users.

Wide available well-documented technology.

Developer cons

Very small group of users.

Limited amount of information available.

Limited platform-ressources.

Must own and maintain a webhotel.

Edited by mr_lou
Updated table

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


Play-Asia.com - Play-Asia.com: Online Shopping for Digital Codes, Video Games, Toys, Music, Electronics & morePlay-Asia.com - Play-Asia.com: Online Shopping for Digital Codes, Video Games, Toys, Music, Electronics & more

×