Join Us and become a Member for a Verified Badge to access private areas with the latest PS4 PKGs.
PS4 CFW and Hacks       Thread starter PSXHAX       Start date Jan 20, 2017 at 12:13 AM       39      
Status
Not open for further replies.
A few years back we saw some PS4 BD-J Homebrew ports followed more recently by PS4 Webkit Emulators, a BDLive Bug and a PS4 JavaScript Emulator demonstration video with some answers to common questions recently by musician and coder Mr_lou. :cool:

To quote: Hello all. Just signed up here, and thought I'd introduce myself (in this thread because BD-J dev is the main reason I signed up, and I don't actually own any PlayStations).

Been working on a BD-J project for 5 years now. Info at www.8bitmemoirs.com

Got the HDCookBook for my birthday, and have studied BD-J a lot. Very little info online about it indeed. Some Japaneese sites are rather good, but requires Google Translate. :)

Is anyone here still interested in BD-J? I think I can answer a few questions from this thread (although it's old), so here goes:

From Lucif3r: Would make more sense if the PS4 supported such a thing from a USB stick or similar... Wasting a blueray disc for a java app? No ty... o.o

Yea, Sony blocked the possibility of booting a Blu-ray Disc from USB, as we all know. But I believe it's still possible to run BD-J stuff from a USB - if you boot from a disc.

So yea, you will still need to burn a disc - but you can settle for having this one disc for booting, and then run whatever Xlets you have on your USB.

I admit I haven't tried this myself yet (because I'm using a Dune HD Smart D1 for testing which lets me run my stuff from harddisk), but from what I've read in HDCookBook it should be possible, because:
  • Xlets can start other Xlets
  • The disc filesystem gets merged with the USB filesystem (for BD-Live).
So, you could (theoretically) "waste" this one boot disc, and then just use USB sticks for various homebrew. But yes, using a re-writable disc is also an option. It'll have a looong life due to the very small size of JAR files.

And of course, while developing, you can use a software player like PowerDVD from Cyberlink. (Other software media-players are also getting BD-J support these days, like VLC and Kodi).

From FreePlay: There's no audio. But I think we already knew that.

I don't think this is because you can't have audio with BD-J. I think it's more a question of the developers didn't bother to port the audio-system to a BD-J compatible one.

From what I've read, the whole Java Media Framework (JMF) should be available in BD-J. I admit I don't have any experience with JMF myself, but a quick look at the docs tells me that it supports playback of Linear PCM WAV, which as far as know, is a RAW format.

The dynamic audio generators usually uses raw format (I think), so it should "just" be a matter of finding a way to feed dynamically generated audio into JMF.

Not claiming this is possible. Just saying I think it can be done, somehow. I'm a musician, and a coder, but I have never experimented with dynamic audio generation yet. But this whole dynamic audio generation is only interesting for emulators.

When we're talking homebrew games, you can always add audio in the form of video-playback. This is what I'm doing in my own project. Plenty of audio there.

From FreePlay: Something else I forgot to mention that you might have noticed in the video: emulators run REALLY FAST on this. Like, around 400% speed. I don't know why.

Without having tried the NES emulator, my guess is that it was created for PS3 with a "dumb" timing setting, which is the easiest way of doing it. The PS4 obviously having a faster CPU will result in a faster execution.

I suppose you could say that the emulator should just have been coded slightly differently.

From incognita: May be you can't hack the PS4 but I think you can do a lot of interesting hombrews.

Absolutely I think so too. My project "8-bit Memoirs" has been a very interesting one so far. Learning a lot of what's possible.

I admit I'm not as much focused on the PS3 as such, but rather Blu-ray Players in genereal (which is why my project has been tested on A LOT of different players).

If you only target PS3, you'll have it easy. Because getting stuff to run on all players requires a lot of patience and work. Blu-ray Players are just as different and buggy as JavaME enabled cellphones.

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:

Finally, from GregoryRasputin comes the following summary and related BD-J files:

Download: Blu Ray Java

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.
Cheers to @GregoryRasputin for the update and @raedoob for the heads-up in the PSXHAX Shoutbox! (y)
PlayStation 4 BD-J (PS4 Blu-ray Java) Homebrew Answers by Mr_lou.jpg
 

Comments

How people are curious about this ??? 0% We wait for a real Jailbreak not this crapping news... Ah i forgot that... a site that work for this emulator... and for these people...:bananaman13:
Like i said, you have a severe inability to read, this method is a great alternative to a 'real Jailbreak' as there is no 'Jailbreak' this will do and it also helps people gain further knowledge of Blu Ray Java.

So if you have nothing decent to contribute or if you have no exploits or a 'Jailbreak' of your own, kindly STFU and let the adults talk.
 
Hello people.

Had to sign up here to reply this thread. As you may have figured out, I am mr_lou. Couldn't use the underscore at signup, so "misthalu" it is.

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 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? :)
 
No disrespect to Mr_Iou or anyone else but i read this at 5am but i thought he kept referring to BJs lol... until i read it again now
 
Im keen to try this and think itll be a good learning curve to learn java coding. If it does indeed work... using a bdr with code on to allow using a usb for experiments, id like a boot disc to do this if they can be created? I just looked at ext burners... £75 ish in uk
 
Im keen to try this and think itll be a good learning curve to learn java coding. If it does indeed work... using a bdr with code on to allow using a usb for experiments, id like a boot disc to do this if they can be created? I just looked at ext burners... £75 ish in uk
I'm fairly certain it's possible to create such a boot disc. Not sure I can find the time to create one though. Gotta finish 8-bit Memoirs first, before I look into new projects.

But you don't need to think about it yet anyway. Use a software media player like PowerDVD at first, to run your code. No need to put it on a disc before you're done.
The only drawback of this is that PowerDVD isn't free. In fact, all the software media players that supports BD-J are commercial.

Free software players are getting BD-J support these days, like VLC and Kodi, but progress is very slow. At present time I strongly recommend using PowerDVD.

Other hardware devices can also be used though, like Dune HD Smart D1 or Popcorn Hour C-200. They should be able to play blu-ray folders or ISO files from harddisk with BD-J support. The price for such a device is probably about the same as the price for one of the commercial software media players, so....

"Learn Java coding".... well yes and no. This is essentially Java 1.3, which is rather old. To "learn Java" today one would typically learn the new API's instead.

With BD-J a lot of classes aren't available. (Presents a bigger challenge, which is part of what I personally like: What can you do with limited resources? Well, according to the "Funky Fresh" demo - a lot!). :)
 
Heeee heheeee... from next year i will able to play Super Mario Bros on Display of Coffee Machine.... It's great i have used my 8bit console to expel mice from my garden... But we don't forget that i am more expensive and pay my neighbour 50$ a Coffee to play Super Mario... Good people happy people with my DEV friend.... AHAHAHAHAH
 
Heeee heheeee... from next year i will able to play Super Mario Bros on Display of Coffee Machine.... It's great i have used my 8bit console to expel mice from my garden... But we don't forget that i am more expensive and pay my neighbour 50$ a Coffee to play Super Mario... Good people happy people with my DEV friend.... AHAHAHAHAH
You have mental issues.
 
Heeee heheeee... from next year i will able to play Super Mario Bros on Display of Coffee Machine.... It's great i have used my 8bit console to expel mice from my garden... But we don't forget that i am more expensive and pay my neighbour 50$ a Coffee to play Super Mario... Good people happy people with my DEV friend.... AHAHAHAHAH
Actually you're not that far off. Something very similar to the API's running on Blu-ray Players actually exists on a lot of other devices, like e.g. company printers: It's both JavaME Xlets, albeit slightly different.

It wouldn't surprise me a bit to someday see a video of SMB running on a printer-machine display - and other devices running JavaME. Targeting Blu-ray players is just a bit more practical, when they have fast CPU's and D-pad controllers. ;)

EDIT: Oh and, don't think it won't happen. Sceners can't resist coding demos on whatever weird platform they can - just because they can.

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

Erik Duijs said:
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 registered 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 around 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.
 
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. :)
 
Status
Not open for further replies.
Back
Top