so while Linux for the PS3 is now being regulated to consumer choice if the want to keep it, while sony completely remove it from the slim PS3's. one HomeBrew path is near to closeing, not to say completely gone, I am sure some will keep Linux. but what other form of Homebrew?
well one that work's on both the PS3 phat and PS3 slim.
Blu-ray Disc Application Development with Java ME, Part 1: Creating Your First Application
By Bruce Hopkins, September 2008
Java technology is a critical part of the new high-definition video standard, the Blu-ray Disc standard. In this two-part series, we're going to cover several aspects of using the Java language to create applications for your Blu-ray disc player, which includes the very popular PlayStation 3 gaming console.
This is a great time to be Java developer. According to the latest statistics provided at the JavaOne 2008 conference, there are over 6 billion Java-enabled devices deployed worldwide. These devices can range from large-scale enterprise class servers down to a tiny smart card that fits in your wallet. Java technology is embedded into billions of phones, as well as countless other devices including the traditional desktop computer: Figure 1 shows the various Java platforms that exist today).
The Java platform for Blue-ray disc players is called BD-J. In the first part of this series, I'm going to cover the following topics:
- Basic Requirements for BD-J Development
- What the BD-J Platform Can Do
- BD-J Specification and APIs
- Understanding the Blu-ray Profiles
- Xlets and Xlet Lifecycles
- Creating Your First BD-J Application
I'm going to assume that you have absolutely no Java ME or video-content creation experience whatsoever. Having that said, let's get started.
Basic Requirements for BD-J DevelopmentNow you might be surprised to learn that although the BD-J standard is a part of the Java ME platform, you're going to need a somewhat more powerful machine in order to play BD-J applications on your PC. Here's a list of the physical requirements that you're going to need to create, burn, and play BD-J applications on your PC:
- A desktop or laptop computer that runs Windows Vista or XP. Sadly, at the time of this writing, there haven't been many tools and hardware for the Mac OS or Linux for BD-J development. If you're a Mac user, then you are better off using Bootcamp with Windows compared to using some virtualization software, due to the intense requirements on the video driver and display.
- A graphics card with at least 256MB of memory. This is an important requirement since a lot of the heavy lifting needed to render the HD video will be done by the GPU on your graphics card instead of the CPU on your motherboard.
- A video display capable of rendering HD video. Full HD video resolution is at 1920x1080 pixels.
- A Blu-ray burning drive, obviously. Fortunately, some drives come with a rewritable Blue-ray disc (also known as BD-RE) so that you can use the disc over and over to create your applications or movies.
In other words, a typical $500 desktop PC or a $1000 laptop may be able to create BD-J applications and burn Blu-ray discs, but neither would be able to play Blu-ray discs due to the intense video requirements that are necessitated by high definition (HD) video. Fortunately, CyberLink Corporation makes a handy diagnosis tool to determine if your machine is capable of Blu-ray playback. Figure 2 below shows a screenshot of the tool running on one of my laptops.
So, what exactly can you do with the BD-J platform? I'm glad that you've asked. However, before we cover the capabilities of the BD-J platform, it would be prudent to cover the terminology that is frequently used when creating BD-J applications:
- Disc: A disc is the physical media that contains the HD video content and the BD-J jar files.
- Title: A disc can have one or more titles. In layman's terms, a title is a movie. However, if you want to create a Blu-ray disc that has 10 episodes of a cooking show, you really can't call each episode a movie. Therefore, an organized unit of video content on a disc is called a title.
- Menu: The menu is the interactive portion of the BD-J application that responds to input from the handheld remote control. By interacting with the menu, you are able to select a title, initiate playback of a title, as well activate or deactivate advanced options on the disc.
Now that we've covered the terminology used when creating BD-J applications and authoring content, let's examine the capabilities of the BD-J platform. Using the BD-J APIs, you have the ability to draw any text, images, or animation on the display. This enables you to create applications that can do the following:
- Draw simple text on the screen that's triggered by the current frame being displayed. As you can imagine, this would be useful for rendering subtitles.
- Draw shapes or images on the display on top of the video content that's currently displayed.
- Draw and animate images on the display for an interactive game.
- Create animated buttons with effects like fades and transitions.
- Create highly interactive menus that allow the user to select a title, a chapter, or any other advanced options like bonus content. In fact. Figure 3 shows the menu rendered from the example code provided in the HDcookbook project (an excellent resource for BD-J developers).
All right, so we are now at the point where we have a complete working example. We have a simple foundational application that can receive and respond to user input. This basic application can be extended to receive user input for any Blu-ray movie, game, or application that you want.
So how do you create an actual Blu-ray disc with the code from this article? The good news is that the process is extremely simple, thanks to the Java ME SDK 3.0. If you have a PC-based Blu-ray burner, all you need to do is copy the entire contents of your project's deploy folder to an empty Blu-ray disc and start the burning process. (You need to be sure that the file format is UDF 2.5)
In this two-part series, you were introduced to the capabilities of the Blu-ray Disc Java (BD-J) APIs and became familiar with Java ME SDK, which allow you to create BD-J applications that can be burned to actual Blu-ray discs.
The BD-J applications can be used for several purposes, including interactive menus, subtitles, PiP (picture-in-picture) and games. Note that although the PS3 is a gaming console as well as a Blu-ray player, the BD-J applications that you create will be confined to the limitations of the BD-J API for graphics rendering. This means that you'll be able to create some games using the BD-J graphics API — a good example is the Java version of Dragon's Lair. However, you don't get access to the 3D graphics engine, so you can't create games that render in 3D.
What's next? Well, there is definitely a lot of ground that we haven't covered with the BD-J APIs, such as
- Creating subtitles in your application
- Signing your code to use protected APIs on commercial Blu-ray players
- Inter-Xlet communication
- Accessing resources over the network
- Using the Virtual File System
- Initiating video playback of a video stream
As I stated in the previous article, it's a great time to be a Java developer!
http://java.sun.com/developer/technicalArticles/javame/bluray/part2/

I AM BOLO
100% lover "nothing else matter's" after that...
ps:
Proud psOne/2/3/p owner. I survived Aplcalyps3 and all I got was this lousy Signature.












